From 2c5d83fab3c7e0472ac9f6e51c4ece21a445af4d Mon Sep 17 00:00:00 2001 From: rhysd Date: Sun, 30 Apr 2023 00:32:40 +0900 Subject: [PATCH 001/789] Add `suppressErrorRendering` option to avoid inserting 'Syntax error' message in diagram --- packages/mermaid/src/config.type.ts | 1 + packages/mermaid/src/defaultConfig.ts | 8 ++++++++ packages/mermaid/src/mermaidAPI.ts | 5 ++++- 3 files changed, 13 insertions(+), 1 deletion(-) diff --git a/packages/mermaid/src/config.type.ts b/packages/mermaid/src/config.type.ts index 545fdbbfb5..207ca60d80 100644 --- a/packages/mermaid/src/config.type.ts +++ b/packages/mermaid/src/config.type.ts @@ -34,6 +34,7 @@ export interface MermaidConfig { dompurifyConfig?: DOMPurify.Config; wrap?: boolean; fontSize?: number; + suppressErrorRendering?: boolean; } // TODO: More configs needs to be moved in here diff --git a/packages/mermaid/src/defaultConfig.ts b/packages/mermaid/src/defaultConfig.ts index 9c6d6f46e3..00c054358e 100644 --- a/packages/mermaid/src/defaultConfig.ts +++ b/packages/mermaid/src/defaultConfig.ts @@ -152,6 +152,14 @@ const config: Partial = { */ deterministicIDSeed: undefined, + /** + * This option suppresses inserting 'Syntax error' message in diagram. This option is useful when + * you want to control how to handle syntax error in your application. + * + * Default value: false + */ + suppressErrorRendering: false, + /** The object containing configurations specific for flowcharts */ flowchart: { /** diff --git a/packages/mermaid/src/mermaidAPI.ts b/packages/mermaid/src/mermaidAPI.ts index 5e9d0ead6d..b31378ce6d 100644 --- a/packages/mermaid/src/mermaidAPI.ts +++ b/packages/mermaid/src/mermaidAPI.ts @@ -511,7 +511,9 @@ const render = async function ( try { await diag.renderer.draw(text, id, version, diag); } catch (e) { - errorRenderer.draw(text, id, version); + if (!config.suppressErrorRendering) { + errorRenderer.draw(text, id, version); + } throw e; } @@ -617,6 +619,7 @@ function addA11yInfo( * securityLevel: 'strict', * startOnLoad: true, * arrowMarkerAbsolute: false, + * suppressErrorRendering: false, * * er: { * diagramPadding: 20, From b4618f9ba1442d077caa7d99ae46466b40d65887 Mon Sep 17 00:00:00 2001 From: rhysd Date: Sun, 30 Apr 2023 22:29:53 +0900 Subject: [PATCH 002/789] Throw error when detecting diagram type failed and `suppressErrorRendering` is set --- packages/mermaid/src/mermaidAPI.ts | 3 +++ 1 file changed, 3 insertions(+) diff --git a/packages/mermaid/src/mermaidAPI.ts b/packages/mermaid/src/mermaidAPI.ts index b31378ce6d..16421ba9b0 100644 --- a/packages/mermaid/src/mermaidAPI.ts +++ b/packages/mermaid/src/mermaidAPI.ts @@ -476,6 +476,9 @@ const render = async function ( try { diag = await getDiagramFromText(text); } catch (error) { + if (config.suppressErrorRendering) { + throw error; + } diag = new Diagram('error'); parseEncounteredException = error; } From da7ff777d184d885a82188ebd42b72ee9d00ed35 Mon Sep 17 00:00:00 2001 From: Sidharth Vinod Date: Sun, 13 Aug 2023 18:33:41 +0530 Subject: [PATCH 003/789] chore: Add esbuild (Breaking change) mermaid.min.js and mermaid.js will now be IIFE instead of UMD. --- .build/common.ts | 20 + {.vite => .build}/jisonTransformer.ts | 0 .build/jsonSchema.ts | 122 +++ .esbuild/build.ts | 34 + .esbuild/jisonPlugin.ts | 15 + .esbuild/jsonSchemaPlugin.ts | 35 + .esbuild/server.ts | 38 + .esbuild/util.ts | 81 ++ .vite/build.ts | 48 +- .vite/jisonPlugin.ts | 4 +- .vite/jsonSchemaPlugin.ts | 138 +-- cSpell.json | 1 + cypress/integration/other/iife.spec.js | 11 + .../integration/other/webpackUsage.spec.js | 16 - cypress/platform/e2e.html | 2 +- .../external-diagrams-example-diagram.html | 3 +- cypress/platform/iife.html | 29 + cypress/platform/interaction.html | 22 +- cypress/platform/viewer.js | 33 +- cypress/platform/webpackUsage.html | 19 - cypress/platform/xss.html | 9 +- demos/pie.html | 2 +- docs/config/usage.md | 4 +- docs/intro/index.md | 4 +- docs/intro/n00b-gettingStarted.md | 4 +- docs/syntax/mindmap.md | 2 +- docs/syntax/timeline.md | 2 +- package.json | 19 +- packages/mermaid-example-diagram/package.json | 3 +- packages/mermaid/package.json | 10 +- pnpm-lock.yaml | 861 ++++++++++++++---- 31 files changed, 1121 insertions(+), 470 deletions(-) create mode 100644 .build/common.ts rename {.vite => .build}/jisonTransformer.ts (100%) create mode 100644 .build/jsonSchema.ts create mode 100644 .esbuild/build.ts create mode 100644 .esbuild/jisonPlugin.ts create mode 100644 .esbuild/jsonSchemaPlugin.ts create mode 100644 .esbuild/server.ts create mode 100644 .esbuild/util.ts create mode 100644 cypress/integration/other/iife.spec.js delete mode 100644 cypress/integration/other/webpackUsage.spec.js create mode 100644 cypress/platform/iife.html delete mode 100644 cypress/platform/webpackUsage.html diff --git a/.build/common.ts b/.build/common.ts new file mode 100644 index 0000000000..94bb26082b --- /dev/null +++ b/.build/common.ts @@ -0,0 +1,20 @@ +/** + * Shared common options for both ESBuild and Vite + */ +export const packageOptions = { + mermaid: { + name: 'mermaid', + packageName: 'mermaid', + file: 'mermaid.ts', + }, + 'mermaid-example-diagram': { + name: 'mermaid-example-diagram', + packageName: 'mermaid-example-diagram', + file: 'detector.ts', + }, + 'mermaid-zenuml': { + name: 'mermaid-zenuml', + packageName: 'mermaid-zenuml', + file: 'detector.ts', + }, +} as const; diff --git a/.vite/jisonTransformer.ts b/.build/jisonTransformer.ts similarity index 100% rename from .vite/jisonTransformer.ts rename to .build/jisonTransformer.ts diff --git a/.build/jsonSchema.ts b/.build/jsonSchema.ts new file mode 100644 index 0000000000..51b1184fc3 --- /dev/null +++ b/.build/jsonSchema.ts @@ -0,0 +1,122 @@ +import { load, JSON_SCHEMA } from 'js-yaml'; +import assert from 'node:assert'; +import Ajv2019, { type JSONSchemaType } from 'ajv/dist/2019.js'; + +import type { MermaidConfig, BaseDiagramConfig } from '../packages/mermaid/src/config.type.js'; + +/** + * All of the keys in the mermaid config that have a mermaid diagram config. + */ +const MERMAID_CONFIG_DIAGRAM_KEYS = [ + 'flowchart', + 'sequence', + 'gantt', + 'journey', + 'class', + 'state', + 'er', + 'pie', + 'quadrantChart', + 'requirement', + 'mindmap', + 'timeline', + 'gitGraph', + 'c4', + 'sankey', +] as const; + +/** + * Generate default values from the JSON Schema. + * + * AJV does not support nested default values yet (or default values with $ref), + * so we need to manually find them (this may be fixed in ajv v9). + * + * @param mermaidConfigSchema - The Mermaid JSON Schema to use. + * @returns The default mermaid config object. + */ +export function generateDefaults(mermaidConfigSchema: JSONSchemaType) { + const ajv = new Ajv2019({ + useDefaults: true, + allowUnionTypes: true, + strict: true, + }); + + ajv.addKeyword({ + keyword: 'meta:enum', // used by jsonschema2md + errors: false, + }); + ajv.addKeyword({ + keyword: 'tsType', // used by json-schema-to-typescript + errors: false, + }); + + // ajv currently doesn't support nested default values, see https://github.com/ajv-validator/ajv/issues/1718 + // (may be fixed in v9) so we need to manually use sub-schemas + const mermaidDefaultConfig = {}; + + assert.ok(mermaidConfigSchema.$defs); + const baseDiagramConfig = mermaidConfigSchema.$defs.BaseDiagramConfig; + + for (const key of MERMAID_CONFIG_DIAGRAM_KEYS) { + const subSchemaRef = mermaidConfigSchema.properties[key].$ref; + const [root, defs, defName] = subSchemaRef.split('/'); + assert.strictEqual(root, '#'); + assert.strictEqual(defs, '$defs'); + const subSchema = { + $schema: mermaidConfigSchema.$schema, + $defs: mermaidConfigSchema.$defs, + ...mermaidConfigSchema.$defs[defName], + } as JSONSchemaType; + + const validate = ajv.compile(subSchema); + + mermaidDefaultConfig[key] = {}; + + for (const required of subSchema.required ?? []) { + if (subSchema.properties[required] === undefined && baseDiagramConfig.properties[required]) { + mermaidDefaultConfig[key][required] = baseDiagramConfig.properties[required].default; + } + } + if (!validate(mermaidDefaultConfig[key])) { + throw new Error( + `schema for subconfig ${key} does not have valid defaults! Errors were ${JSON.stringify( + validate.errors, + undefined, + 2 + )}` + ); + } + } + + const validate = ajv.compile(mermaidConfigSchema); + + if (!validate(mermaidDefaultConfig)) { + throw new Error( + `Mermaid config JSON Schema does not have valid defaults! Errors were ${JSON.stringify( + validate.errors, + undefined, + 2 + )}` + ); + } + + return mermaidDefaultConfig; +} + +export const loadSchema = (src: string, filename: string): JSONSchemaType => { + const jsonSchema = load(src, { + filename, + // only allow JSON types in our YAML doc (will probably be default in YAML 1.3) + // e.g. `true` will be parsed a boolean `true`, `True` will be parsed as string `"True"`. + schema: JSON_SCHEMA, + }) as JSONSchemaType; + return jsonSchema; +}; + +export const getDefaults = (schema: JSONSchemaType) => { + return `export default ${JSON.stringify(generateDefaults(schema), undefined, 2)};`; +}; + +export const getSchema = (schema: JSONSchemaType) => { + return `export default ${JSON.stringify(schema, undefined, 2)};`; +}; diff --git a/.esbuild/build.ts b/.esbuild/build.ts new file mode 100644 index 0000000000..bee13af512 --- /dev/null +++ b/.esbuild/build.ts @@ -0,0 +1,34 @@ +import { build } from 'esbuild'; +import { mkdir, writeFile } from 'node:fs/promises'; +import { getBuildConfig } from './util.js'; +import { packageOptions } from '../.build/common.js'; + +const shouldVisualize = process.argv.includes('--visualize'); + +const buildPackage = async (entryName: keyof typeof packageOptions) => { + await build(getBuildConfig({ entryName, minify: false })); + const { metafile } = await build( + getBuildConfig({ entryName, minify: true, metafile: shouldVisualize }) + ); + if (metafile) { + // Upload metafile into https://esbuild.github.io/analyze/ + await writeFile(`stats/meta-${entryName}.json`, JSON.stringify(metafile)); + } + await build(getBuildConfig({ entryName, minify: false, core: true })); + await build(getBuildConfig({ entryName, minify: true, format: 'iife' })); +}; + +const handler = (e) => { + console.error(e); + process.exit(1); +}; + +const main = async () => { + await mkdir('stats').catch(() => {}); + const packageNames = Object.keys(packageOptions) as (keyof typeof packageOptions)[]; + for (const pkg of packageNames) { + await buildPackage(pkg).catch(handler); + } +}; + +void main(); diff --git a/.esbuild/jisonPlugin.ts b/.esbuild/jisonPlugin.ts new file mode 100644 index 0000000000..de801ea9f3 --- /dev/null +++ b/.esbuild/jisonPlugin.ts @@ -0,0 +1,15 @@ +import { readFile } from 'node:fs/promises'; +import { transformJison } from '../.build/jisonTransformer.js'; +import { Plugin } from 'esbuild'; + +export const jisonPlugin: Plugin = { + name: 'jison', + setup(build) { + build.onLoad({ filter: /\.jison$/ }, async (args) => { + // Load the file from the file system + const source = await readFile(args.path, 'utf8'); + const contents = transformJison(source); + return { contents, warnings: [] }; + }); + }, +}; diff --git a/.esbuild/jsonSchemaPlugin.ts b/.esbuild/jsonSchemaPlugin.ts new file mode 100644 index 0000000000..e90c185abb --- /dev/null +++ b/.esbuild/jsonSchemaPlugin.ts @@ -0,0 +1,35 @@ +import type { JSONSchemaType } from 'ajv/dist/2019.js'; +import type { MermaidConfig } from '../packages/mermaid/src/config.type.js'; +import { readFile } from 'node:fs/promises'; +import { getDefaults, getSchema, loadSchema } from '../.build/jsonSchema.js'; + +/** + * ESBuild plugin that handles JSON Schemas saved as a `.schema.yaml` file. + * + * Use `my-example.schema.yaml?only-defaults=true` to only load the default values. + */ + +export const jsonSchemaPlugin = { + name: 'json-schema-plugin', + setup(build) { + let schema: JSONSchemaType | undefined = undefined; + let content = ''; + + build.onLoad({ filter: /config\.schema\.yaml$/ }, async (args) => { + // Load the file from the file system + const source = await readFile(args.path, 'utf8'); + const resolvedSchema: JSONSchemaType = + content === source && schema ? schema : loadSchema(source, args.path); + if (content !== source) { + content = source; + schema = resolvedSchema; + } + const contents = args.suffix.includes('only-defaults') + ? getDefaults(resolvedSchema) + : getSchema(resolvedSchema); + return { contents, warnings: [] }; + }); + }, +}; + +export default jsonSchemaPlugin; diff --git a/.esbuild/server.ts b/.esbuild/server.ts new file mode 100644 index 0000000000..c93b4bbda9 --- /dev/null +++ b/.esbuild/server.ts @@ -0,0 +1,38 @@ +import express from 'express'; +import cors from 'cors'; +import { getBuildConfig } from './util.js'; +import { context } from 'esbuild'; + +async function createServer() { + const app = express(); + const mermaidCtx = await context( + getBuildConfig({ minify: false, core: false, entryName: 'mermaid' }) + ); + const mermaidIIFECtx = await context( + getBuildConfig({ minify: false, core: false, entryName: 'mermaid', format: 'iife' }) + ); + const externalCtx = await context( + getBuildConfig({ minify: false, core: false, entryName: 'mermaid-example-diagram' }) + ); + const zenuml = await context( + getBuildConfig({ minify: false, core: false, entryName: 'mermaid-zenuml' }) + ); + + mermaidCtx.watch(); + mermaidIIFECtx.watch(); + externalCtx.watch(); + zenuml.watch(); + + app.use(cors()); + app.use(express.static('./packages/mermaid/dist')); + app.use(express.static('./packages/mermaid-zenuml/dist')); + app.use(express.static('./packages/mermaid-example-diagram/dist')); + app.use(express.static('demos')); + app.use(express.static('cypress/platform')); + + app.listen(9000, () => { + console.log(`Listening on http://localhost:9000`); + }); +} + +createServer(); diff --git a/.esbuild/util.ts b/.esbuild/util.ts new file mode 100644 index 0000000000..bdb48f37af --- /dev/null +++ b/.esbuild/util.ts @@ -0,0 +1,81 @@ +import { resolve } from 'path'; +import { fileURLToPath } from 'url'; +import type { BuildOptions } from 'esbuild'; +import { readFileSync } from 'fs'; +import jsonSchemaPlugin from './jsonSchemaPlugin.js'; +import { packageOptions } from '../.build/common.js'; +import { jisonPlugin } from './jisonPlugin.js'; + +const __dirname = fileURLToPath(new URL('.', import.meta.url)); + +interface MermaidBuildOptions { + minify: boolean; + core?: boolean; + metafile?: boolean; + format?: 'esm' | 'iife'; + entryName: keyof typeof packageOptions; +} + +const buildOptions = (override: BuildOptions): BuildOptions => { + return { + bundle: true, + minify: true, + keepNames: true, + platform: 'browser', + tsconfig: 'tsconfig.json', + resolveExtensions: ['.ts', '.js', '.json', '.jison', '.yaml'], + external: ['require', 'fs', 'path'], + outdir: 'dist', + plugins: [jisonPlugin, jsonSchemaPlugin], + sourcemap: 'external', + ...override, + }; +}; + +export const getBuildConfig = ({ + minify, + core, + entryName, + metafile, + format, +}: MermaidBuildOptions): BuildOptions => { + const external: string[] = ['require', 'fs', 'path']; + const { name, file, packageName } = packageOptions[entryName]; + let output: BuildOptions = buildOptions({ + absWorkingDir: resolve(__dirname, `../packages/${packageName}`), + entryPoints: { + [`${name}${core ? '.core' : format === 'iife' ? '' : '.esm'}${ + minify ? '.min' : '' + }`]: `src/${file}`, + }, + metafile, + logLevel: 'info', + }); + + if (core) { + const { dependencies } = JSON.parse( + readFileSync(resolve(__dirname, `../packages/${packageName}/package.json`), 'utf-8') + ); + // Core build is used to generate file without bundled dependencies. + // This is used by downstream projects to bundle dependencies themselves. + // Ignore dependencies and any dependencies of dependencies + external.push(...Object.keys(dependencies)); + output.external = external; + } + + if (format === 'iife') { + output.format = 'iife'; + output.splitting = false; + output.globalName = '__esbuild_esm_mermaid'; + output.footer = { + js: 'globalThis.mermaid = globalThis.__esbuild_esm_mermaid.default;', + }; + output.outExtension = { '.js': '.js' }; + } else { + output.format = 'esm'; + output.splitting = true; + output.outExtension = { '.js': '.mjs' }; + } + + return output; +}; diff --git a/.vite/build.ts b/.vite/build.ts index b89df9e310..a03bdeec20 100644 --- a/.vite/build.ts +++ b/.vite/build.ts @@ -3,11 +3,11 @@ import { resolve } from 'path'; import { fileURLToPath } from 'url'; import jisonPlugin from './jisonPlugin.js'; import jsonSchemaPlugin from './jsonSchemaPlugin.js'; -import { readFileSync } from 'fs'; import typescript from '@rollup/plugin-typescript'; import { visualizer } from 'rollup-plugin-visualizer'; import type { TemplateType } from 'rollup-plugin-visualizer/dist/plugin/template-types.js'; import istanbul from 'vite-plugin-istanbul'; +import { packageOptions } from '../.build/common.js'; const visualize = process.argv.includes('--visualize'); const watch = process.argv.includes('--watch'); @@ -36,24 +36,6 @@ const visualizerOptions = (packageName: string, core = false): PluginOption[] => ); }; -const packageOptions = { - mermaid: { - name: 'mermaid', - packageName: 'mermaid', - file: 'mermaid.ts', - }, - 'mermaid-example-diagram': { - name: 'mermaid-example-diagram', - packageName: 'mermaid-example-diagram', - file: 'detector.ts', - }, - 'mermaid-zenuml': { - name: 'mermaid-zenuml', - packageName: 'mermaid-zenuml', - file: 'detector.ts', - }, -}; - interface BuildOptions { minify: boolean | 'esbuild'; core?: boolean; @@ -72,34 +54,8 @@ export const getBuildConfig = ({ minify, core, watch, entryName }: BuildOptions) sourcemap, entryFileNames: `${name}.esm${minify ? '.min' : ''}.mjs`, }, - { - name, - format: 'umd', - sourcemap, - entryFileNames: `${name}${minify ? '.min' : ''}.js`, - }, ]; - if (core) { - const { dependencies } = JSON.parse( - readFileSync(resolve(__dirname, `../packages/${packageName}/package.json`), 'utf-8') - ); - // Core build is used to generate file without bundled dependencies. - // This is used by downstream projects to bundle dependencies themselves. - // Ignore dependencies and any dependencies of dependencies - // Adapted from the RegEx used by `rollup-plugin-node` - external.push(new RegExp('^(?:' + Object.keys(dependencies).join('|') + ')(?:/.+)?$')); - // This needs to be an array. Otherwise vite will build esm & umd with same name and overwrite esm with umd. - output = [ - { - name, - format: 'esm', - sourcemap, - entryFileNames: `${name}.core.mjs`, - }, - ]; - } - const config: InlineConfig = { configFile: false, build: { @@ -146,8 +102,6 @@ export const getBuildConfig = ({ minify, core, watch, entryName }: BuildOptions) const buildPackage = async (entryName: keyof typeof packageOptions) => { await build(getBuildConfig({ minify: false, entryName })); - await build(getBuildConfig({ minify: 'esbuild', entryName })); - await build(getBuildConfig({ minify: false, core: true, entryName })); }; const main = async () => { diff --git a/.vite/jisonPlugin.ts b/.vite/jisonPlugin.ts index c211907841..32e5677978 100644 --- a/.vite/jisonPlugin.ts +++ b/.vite/jisonPlugin.ts @@ -1,10 +1,10 @@ -import { transformJison } from './jisonTransformer.js'; +import { transformJison } from '../.build/jisonTransformer.js'; + const fileRegex = /\.(jison)$/; export default function jison() { return { name: 'jison', - transform(src: string, id: string) { if (fileRegex.test(id)) { return { diff --git a/.vite/jsonSchemaPlugin.ts b/.vite/jsonSchemaPlugin.ts index 671a9612e8..2e5b5cc0b5 100644 --- a/.vite/jsonSchemaPlugin.ts +++ b/.vite/jsonSchemaPlugin.ts @@ -1,108 +1,5 @@ -import { load, JSON_SCHEMA } from 'js-yaml'; -import assert from 'node:assert'; -import Ajv2019, { type JSONSchemaType } from 'ajv/dist/2019.js'; import { PluginOption } from 'vite'; - -import type { MermaidConfig, BaseDiagramConfig } from '../packages/mermaid/src/config.type.js'; - -/** - * All of the keys in the mermaid config that have a mermaid diagram config. - */ -const MERMAID_CONFIG_DIAGRAM_KEYS = [ - 'flowchart', - 'sequence', - 'gantt', - 'journey', - 'class', - 'state', - 'er', - 'pie', - 'quadrantChart', - 'requirement', - 'mindmap', - 'timeline', - 'gitGraph', - 'c4', - 'sankey', -] as const; - -/** - * Generate default values from the JSON Schema. - * - * AJV does not support nested default values yet (or default values with $ref), - * so we need to manually find them (this may be fixed in ajv v9). - * - * @param mermaidConfigSchema - The Mermaid JSON Schema to use. - * @returns The default mermaid config object. - */ -function generateDefaults(mermaidConfigSchema: JSONSchemaType) { - const ajv = new Ajv2019({ - useDefaults: true, - allowUnionTypes: true, - strict: true, - }); - - ajv.addKeyword({ - keyword: 'meta:enum', // used by jsonschema2md - errors: false, - }); - ajv.addKeyword({ - keyword: 'tsType', // used by json-schema-to-typescript - errors: false, - }); - - // ajv currently doesn't support nested default values, see https://github.com/ajv-validator/ajv/issues/1718 - // (may be fixed in v9) so we need to manually use sub-schemas - const mermaidDefaultConfig = {}; - - assert.ok(mermaidConfigSchema.$defs); - const baseDiagramConfig = mermaidConfigSchema.$defs.BaseDiagramConfig; - - for (const key of MERMAID_CONFIG_DIAGRAM_KEYS) { - const subSchemaRef = mermaidConfigSchema.properties[key].$ref; - const [root, defs, defName] = subSchemaRef.split('/'); - assert.strictEqual(root, '#'); - assert.strictEqual(defs, '$defs'); - const subSchema = { - $schema: mermaidConfigSchema.$schema, - $defs: mermaidConfigSchema.$defs, - ...mermaidConfigSchema.$defs[defName], - } as JSONSchemaType; - - const validate = ajv.compile(subSchema); - - mermaidDefaultConfig[key] = {}; - - for (const required of subSchema.required ?? []) { - if (subSchema.properties[required] === undefined && baseDiagramConfig.properties[required]) { - mermaidDefaultConfig[key][required] = baseDiagramConfig.properties[required].default; - } - } - if (!validate(mermaidDefaultConfig[key])) { - throw new Error( - `schema for subconfig ${key} does not have valid defaults! Errors were ${JSON.stringify( - validate.errors, - undefined, - 2 - )}` - ); - } - } - - const validate = ajv.compile(mermaidConfigSchema); - - if (!validate(mermaidDefaultConfig)) { - throw new Error( - `Mermaid config JSON Schema does not have valid defaults! Errors were ${JSON.stringify( - validate.errors, - undefined, - 2 - )}` - ); - } - - return mermaidDefaultConfig; -} +import { getDefaults, getSchema, loadSchema } from '../.build/jsonSchema.js'; /** * Vite plugin that handles JSON Schemas saved as a `.schema.yaml` file. @@ -119,32 +16,13 @@ export default function jsonSchemaPlugin(): PluginOption { return; } - if (idAsUrl.searchParams.get('only-defaults')) { - const jsonSchema = load(src, { - filename: idAsUrl.pathname, - // only allow JSON types in our YAML doc (will probably be default in YAML 1.3) - // e.g. `true` will be parsed a boolean `true`, `True` will be parsed as string `"True"`. - schema: JSON_SCHEMA, - }) as JSONSchemaType; - return { - code: `export default ${JSON.stringify(generateDefaults(jsonSchema), undefined, 2)};`, - map: null, // no source map - }; - } else { - return { - code: `export default ${JSON.stringify( - load(src, { - filename: idAsUrl.pathname, - // only allow JSON types in our YAML doc (will probably be default in YAML 1.3) - // e.g. `true` will be parsed a boolean `true`, `True` will be parsed as string `"True"`. - schema: JSON_SCHEMA, - }), - undefined, - 2 - )};`, - map: null, // provide source map if available - }; - } + const jsonSchema = loadSchema(src, idAsUrl.pathname); + return { + code: idAsUrl.searchParams.get('only-defaults') + ? getDefaults(jsonSchema) + : getSchema(jsonSchema), + map: null, // no source map + }; }, }; } diff --git a/cSpell.json b/cSpell.json index af7a9ca46f..81ac90dc42 100644 --- a/cSpell.json +++ b/cSpell.json @@ -80,6 +80,7 @@ "mdbook", "mermaidjs", "mermerd", + "metafile", "mindaugas", "mindmap", "mindmaps", diff --git a/cypress/integration/other/iife.spec.js b/cypress/integration/other/iife.spec.js new file mode 100644 index 0000000000..4eb8601467 --- /dev/null +++ b/cypress/integration/other/iife.spec.js @@ -0,0 +1,11 @@ +describe('IIFE', () => { + beforeEach(() => { + cy.visit('http://localhost:9000/iife.html'); + }); + + it('should render when using mermaid.min.js', () => { + cy.window().should('have.property', 'rendered', true); + cy.get('svg').should('be.visible'); + cy.get('#d2').should('contain', 'Hello'); + }); +}); diff --git a/cypress/integration/other/webpackUsage.spec.js b/cypress/integration/other/webpackUsage.spec.js deleted file mode 100644 index 727fb5ac74..0000000000 --- a/cypress/integration/other/webpackUsage.spec.js +++ /dev/null @@ -1,16 +0,0 @@ -describe('Sequencediagram', () => { - it('should render a simple sequence diagrams', () => { - const url = 'http://localhost:9000/webpackUsage.html'; - - cy.visit(url); - cy.get('body').find('svg').should('have.length', 1); - }); - it('should handle html escapings properly', () => { - const url = 'http://localhost:9000/webpackUsage.html?test-html-escaping=true'; - - cy.visit(url); - cy.get('body').find('svg').should('have.length', 1); - - cy.get('g.label > foreignobject > div').should('not.contain.text', ''); - }); -}); diff --git a/cypress/platform/e2e.html b/cypress/platform/e2e.html index 949fa57986..d80caf7a46 100644 --- a/cypress/platform/e2e.html +++ b/cypress/platform/e2e.html @@ -1,7 +1,7 @@ - + Should correctly load a third-party diagram using registerDiagram + + + diff --git a/cypress/platform/interaction.html b/cypress/platform/interaction.html index 59aadcbbb4..a9fe7266b0 100644 --- a/cypress/platform/interaction.html +++ b/cypress/platform/interaction.html @@ -17,20 +17,20 @@ graph TB Function-->URL click Function clickByFlow "Add a div" - click URL "http://localhost:9000/webpackUsage.html" "Visit mermaid docs" + click URL "http://localhost:9000/info.html" "Visit mermaid docs"
   graph TB
     1Function-->2URL
     click 1Function clickByFlow "Add a div"
-    click 2URL "http://localhost:9000/webpackUsage.html" "Visit mermaid docs"
+    click 2URL "http://localhost:9000/info.html" "Visit mermaid docs"
       
   classDiagram
     class Test
     class ShapeLink
-    link ShapeLink "http://localhost:9000/webpackUsage.html" "This is a tooltip for a link"
+    link ShapeLink "http://localhost:9000/info.html" "This is a tooltip for a link"
     class ShapeCallback
     callback ShapeCallback "clickByClass" "This is a tooltip for a callback"
       
@@ -42,7 +42,7 @@
   classDiagram-v2
     class ShapeLink
-    link ShapeLink "http://localhost:9000/webpackUsage.html" "This is a tooltip for a link"
+    link ShapeLink "http://localhost:9000/info.html" "This is a tooltip for a link"
       
@@ -77,7 +77,7 @@ Calling a Callback (look at the console log) :cl2, after cl1, 3d Calling a Callback with args :cl3, after cl1, 3d - click cl1 href "http://localhost:9000/webpackUsage.html" + click cl1 href "http://localhost:9000/info.html" click cl2 call clickByGantt() click cl3 call clickByGantt("test1", test2, test3) @@ -102,9 +102,15 @@ div.className = 'created-by-gant-click'; div.style = 'padding: 20px; background: green; color: white;'; div.innerText = 'Clicked By Gant'; - if (arg1) div.innerText += ' ' + arg1; - if (arg2) div.innerText += ' ' + arg2; - if (arg3) div.innerText += ' ' + arg3; + if (arg1) { + div.innerText += ' ' + arg1; + } + if (arg2) { + div.innerText += ' ' + arg2; + } + if (arg3) { + div.innerText += ' ' + arg3; + } document.getElementsByTagName('body')[0].appendChild(div); } diff --git a/cypress/platform/viewer.js b/cypress/platform/viewer.js index 0b566e329c..39f456c230 100644 --- a/cypress/platform/viewer.js +++ b/cypress/platform/viewer.js @@ -1,6 +1,6 @@ -import mermaid2 from './mermaid.esm.mjs'; -import externalExample from '../../packages/mermaid-example-diagram/dist/mermaid-example-diagram.core.mjs'; -import zenUml from '../../packages/mermaid-zenuml/dist/mermaid-zenuml.core.mjs'; +import mermaid from './mermaid.esm.mjs'; +import externalExample from './mermaid-example-diagram.esm.mjs'; +import zenUml from './mermaid-zenuml.esm.mjs'; function b64ToUtf8(str) { return decodeURIComponent(escape(window.atob(str))); @@ -45,9 +45,9 @@ const contentLoaded = async function () { document.getElementsByTagName('body')[0].appendChild(div); } - await mermaid2.registerExternalDiagrams([externalExample, zenUml]); - mermaid2.initialize(graphObj.mermaid); - await mermaid2.run(); + await mermaid.registerExternalDiagrams([externalExample, zenUml]); + mermaid.initialize(graphObj.mermaid); + await mermaid.run(); } }; @@ -95,18 +95,14 @@ const contentLoadedApi = async function () { divs[i] = div; } - const defaultE2eCnf = { theme: 'forest' }; + const defaultE2eCnf = { theme: 'forest', startOnLoad: false }; const cnf = merge(defaultE2eCnf, graphObj.mermaid); - mermaid2.initialize(cnf); + mermaid.initialize(cnf); for (let i = 0; i < numCodes; i++) { - const { svg, bindFunctions } = await mermaid2.render( - 'newid' + i, - graphObj.code[i], - divs[i] - ); + const { svg, bindFunctions } = await mermaid.render('newid' + i, graphObj.code[i], divs[i]); div.innerHTML = svg; bindFunctions(div); } @@ -114,18 +110,21 @@ const contentLoadedApi = async function () { const div = document.createElement('div'); div.id = 'block'; div.className = 'mermaid'; - console.warn('graphObj.mermaid', graphObj.mermaid); + console.warn('graphObj', graphObj); document.getElementsByTagName('body')[0].appendChild(div); - mermaid2.initialize(graphObj.mermaid); - - const { svg, bindFunctions } = await mermaid2.render('newid', graphObj.code, div); + mermaid.initialize(graphObj.mermaid); + const { svg, bindFunctions } = await mermaid.render('newid', graphObj.code, div); div.innerHTML = svg; + console.log(div.innerHTML); bindFunctions(div); } } }; if (typeof document !== 'undefined') { + mermaid.initialize({ + startOnLoad: false, + }); /*! * Wait for document loaded before starting the execution */ diff --git a/cypress/platform/webpackUsage.html b/cypress/platform/webpackUsage.html deleted file mode 100644 index 23df19f49e..0000000000 --- a/cypress/platform/webpackUsage.html +++ /dev/null @@ -1,19 +0,0 @@ - - - - - - -
- - - diff --git a/cypress/platform/xss.html b/cypress/platform/xss.html index fd42a55924..38cb9bab12 100644 --- a/cypress/platform/xss.html +++ b/cypress/platform/xss.html @@ -1,6 +1,5 @@ - + + + +

Packet diagram demo

+
+      packet-beta
+        0-15: "Source Port"
+        16-31: "Destination Port"
+        32-63: "Sequence Number"
+        64-95: "Acknowledgment Number"
+        96-99: "Data Offset"
+        100-105: "Reserved"
+        106: "URG"
+        107: "ACK"
+        108: "PSH"
+        109: "RST"
+        110: "SYN"
+        111: "FIN"
+        112-127: "Window"
+        128-143: "Checksum"
+        144-159: "Urgent Pointer"
+        160-191: "(Options and Padding)"
+        192-223: "data"
+    
+ + + + diff --git a/docs/config/setup/modules/defaultConfig.md b/docs/config/setup/modules/defaultConfig.md index effaec7b13..d3495bc0c3 100644 --- a/docs/config/setup/modules/defaultConfig.md +++ b/docs/config/setup/modules/defaultConfig.md @@ -14,7 +14,7 @@ #### Defined in -[defaultConfig.ts:268](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/defaultConfig.ts#L268) +[defaultConfig.ts:275](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/defaultConfig.ts#L275) --- diff --git a/packages/mermaid/src/config.type.ts b/packages/mermaid/src/config.type.ts index bed6d8b9e8..0f8ed7ce06 100644 --- a/packages/mermaid/src/config.type.ts +++ b/packages/mermaid/src/config.type.ts @@ -140,10 +140,43 @@ export interface MermaidConfig { gitGraph?: GitGraphDiagramConfig; c4?: C4DiagramConfig; sankey?: SankeyDiagramConfig; + packet?: PacketDiagramConfig; dompurifyConfig?: DOMPurifyConfiguration; wrap?: boolean; fontSize?: number; } +/** + * The object containing configurations specific for packet diagrams. + * + * This interface was referenced by `MermaidConfig`'s JSON-Schema + * via the `definition` "PacketDiagramConfig". + */ +export interface PacketDiagramConfig extends BaseDiagramConfig { + /** + * The height of each row in the packet diagram. + */ + rowHeight?: number; + /** + * The width of each bit in the packet diagram. + */ + bitWidth?: number; + /** + * The number of bits to display per row. + */ + bitsPerRow?: number; + /** + * Toggle to display or hide bit numbers. + */ + showBits?: boolean; + /** + * The horizontal padding between the blocks in a row. + */ + paddingX?: number; + /** + * The vertical padding between the rows. + */ + paddingY?: number; +} /** * This interface was referenced by `MermaidConfig`'s JSON-Schema * via the `definition` "BaseDiagramConfig". diff --git a/packages/mermaid/src/defaultConfig.ts b/packages/mermaid/src/defaultConfig.ts index f8bd9b0b53..06f47e110c 100644 --- a/packages/mermaid/src/defaultConfig.ts +++ b/packages/mermaid/src/defaultConfig.ts @@ -253,6 +253,13 @@ const config: RequiredDeep = { // TODO: can we make this default to `true` instead? useMaxWidth: false, }, + packet: { + ...defaultConfigJson.packet, + useWidth: undefined, + // this is false, unlike every other diagram (other than gitGraph) + // TODO: can we make this default to `true` instead? + useMaxWidth: false, + }, }; const keyify = (obj: any, prefix = ''): string[] => diff --git a/packages/mermaid/src/diagram-api/diagram-orchestration.ts b/packages/mermaid/src/diagram-api/diagram-orchestration.ts index 624b0286ee..d382a93c11 100644 --- a/packages/mermaid/src/diagram-api/diagram-orchestration.ts +++ b/packages/mermaid/src/diagram-api/diagram-orchestration.ts @@ -19,6 +19,7 @@ import flowchartElk from '../diagrams/flowchart/elk/detector.js'; import timeline from '../diagrams/timeline/detector.js'; import mindmap from '../diagrams/mindmap/detector.js'; import sankey from '../diagrams/sankey/sankeyDetector.js'; +import { packet } from '../diagrams/packet/detector.js'; import { registerLazyLoadedDiagrams } from './detectType.js'; import { registerDiagram } from './diagramAPI.js'; @@ -84,6 +85,7 @@ export const addDiagrams = () => { state, journey, quadrantChart, - sankey + sankey, + packet ); }; diff --git a/packages/mermaid/src/diagrams/packet/db.ts b/packages/mermaid/src/diagrams/packet/db.ts new file mode 100644 index 0000000000..a36fdcaf15 --- /dev/null +++ b/packages/mermaid/src/diagrams/packet/db.ts @@ -0,0 +1,101 @@ +import type { Block, PacketDB, Word } from './types.js'; +import { log } from '../../logger.js'; +import type { PacketDiagramConfig } from '../../config.type.js'; +import DEFAULT_CONFIG from '../../defaultConfig.js'; +import { getConfig as commonGetConfig } from '../../config.js'; + +interface PacketData { + packet: Word[]; +} + +const defaultPacketData: PacketData = { + packet: [], +}; + +let data: PacketData = structuredClone(defaultPacketData); +export const DEFAULT_PACKET_CONFIG: Required = DEFAULT_CONFIG.packet; + +export const getConfig = (): Required => { + return structuredClone({ + ...DEFAULT_PACKET_CONFIG, + ...commonGetConfig().packet, + }); +}; + +export const getPacket = (): Word[] => data.packet; + +export const getNextFittingBlock = ( + block: Block, + row: number, + bitsPerRow: number +): [Block, Block | undefined] => { + block.end = block.end ?? block.start; + + if (block.start > block.end) { + throw new Error(`Block start ${block.start} is greater than block end ${block.end}.`); + } + + if (block.end + 1 <= row * bitsPerRow) { + return [block, undefined]; + } + + return [ + { + start: block.start, + end: row * bitsPerRow - 1, + label: block.label, + }, + { + start: row * bitsPerRow, + end: block.end, + label: block.label, + }, + ]; +}; + +export const populate = ({ blocks }: { blocks: Block[] }) => { + let lastByte = -1; + let word: Block[] = []; + data.packet = []; + let row = 1; + const { bitsPerRow } = getConfig(); + for (let { start, end, label } of blocks) { + if (end < start) { + throw new Error(`Packet block ${start} - ${end} is invalid. End must be greater than start.`); + } + if (start != lastByte + 1) { + throw new Error( + `Packet block ${start} - ${end} is not contiguous. It should start from ${lastByte + 1}.` + ); + } + lastByte = end ?? start; + log.debug(`Packet block ${start} - ${lastByte} with label ${label}`); + + while (word.length <= bitsPerRow + 1 && data.packet.length < 10_000) { + const [block, nextBlock] = getNextFittingBlock({ start, end, label }, row, bitsPerRow); + word.push(block); + if (block.end + 1 === row * bitsPerRow) { + data.packet.push(word); + word = []; + row++; + } + if (!nextBlock) { + break; + } + ({ start, end, label } = nextBlock); + } + } + if (word.length > 0) { + data.packet.push(word); + } + log.debug(data); +}; + +export const clear = () => { + data = structuredClone(defaultPacketData); +}; + +export const db: PacketDB = { + getPacket, + getConfig, +}; diff --git a/packages/mermaid/src/diagrams/packet/detector.ts b/packages/mermaid/src/diagrams/packet/detector.ts new file mode 100644 index 0000000000..5aca92e6cf --- /dev/null +++ b/packages/mermaid/src/diagrams/packet/detector.ts @@ -0,0 +1,22 @@ +import type { + DiagramDetector, + DiagramLoader, + ExternalDiagramDefinition, +} from '../../diagram-api/types.js'; + +const id = 'packet'; + +const detector: DiagramDetector = (txt) => { + return /^\s*packet-beta/.test(txt); +}; + +const loader: DiagramLoader = async () => { + const { diagram } = await import('./diagram.js'); + return { id, diagram }; +}; + +export const packet: ExternalDiagramDefinition = { + id, + detector, + loader, +}; diff --git a/packages/mermaid/src/diagrams/packet/diagram.ts b/packages/mermaid/src/diagrams/packet/diagram.ts new file mode 100644 index 0000000000..ae9cad4524 --- /dev/null +++ b/packages/mermaid/src/diagrams/packet/diagram.ts @@ -0,0 +1,12 @@ +import type { DiagramDefinition } from '../../diagram-api/types.js'; +import { parser } from './parser.js'; +import { db } from './db.js'; +import { renderer } from './renderer.js'; +import { styles } from './styles.js'; + +export const diagram: DiagramDefinition = { + parser, + db, + renderer, + styles, +}; diff --git a/packages/mermaid/src/diagrams/packet/packet.spec.ts b/packages/mermaid/src/diagrams/packet/packet.spec.ts new file mode 100644 index 0000000000..ea115e02ed --- /dev/null +++ b/packages/mermaid/src/diagrams/packet/packet.spec.ts @@ -0,0 +1,31 @@ +import { parser } from './parser.js'; + +describe('info', () => { + it('should handle an info definition', () => { + const str = `info`; + expect(() => { + parser.parse(str); + }).not.toThrow(); + }); + + it('should handle an info definition with showInfo', () => { + const str = `info showInfo`; + expect(() => { + parser.parse(str); + }).not.toThrow(); + }); + + it('should throw because of unsupported info grammar', () => { + const str = `info unsupported`; + expect(() => { + parser.parse(str); + }).toThrow('Parsing failed: unexpected character: ->u<- at offset: 5, skipped 11 characters.'); + }); + + it('should throw because of unsupported info grammar', () => { + const str = `info unsupported`; + expect(() => { + parser.parse(str); + }).toThrow('Parsing failed: unexpected character: ->u<- at offset: 5, skipped 11 characters.'); + }); +}); diff --git a/packages/mermaid/src/diagrams/packet/parser.ts b/packages/mermaid/src/diagrams/packet/parser.ts new file mode 100644 index 0000000000..0a1334faad --- /dev/null +++ b/packages/mermaid/src/diagrams/packet/parser.ts @@ -0,0 +1,14 @@ +import type { Packet } from 'mermaid-parser'; +import type { ParserDefinition } from '../../diagram-api/types.js'; + +import { parse } from 'mermaid-parser'; +import { log } from '../../logger.js'; +import { populate } from './db.js'; + +export const parser: ParserDefinition = { + parse: (input: string): void => { + const ast: Packet = parse('packet', input); + log.debug(ast); + populate(ast); + }, +}; diff --git a/packages/mermaid/src/diagrams/packet/renderer.ts b/packages/mermaid/src/diagrams/packet/renderer.ts new file mode 100644 index 0000000000..640c2e870c --- /dev/null +++ b/packages/mermaid/src/diagrams/packet/renderer.ts @@ -0,0 +1,81 @@ +import { configureSvgSize } from '../../setupGraphViewbox.js'; +import type { DrawDefinition, Group, SVG } from '../../diagram-api/types.js'; +import { selectSvgElement } from '../../rendering-util/selectSvgElement.js'; +import type { PacketDB, Word } from './types.js'; +import type { PacketDiagramConfig } from '../../config.type.js'; +import type { Diagram } from '../../Diagram.js'; + +// eslint-disable-next-line @typescript-eslint/no-unused-vars +const draw: DrawDefinition = (_text, id, _version, diagram: Diagram) => { + const db = diagram.db as PacketDB; + const config = db.getConfig?.() as Required; + const { rowHeight, paddingY, bitWidth, bitsPerRow } = config; + const words = db.getPacket(); + const svgHeight = (rowHeight + paddingY) * words.length + paddingY; + const svgWidth = bitWidth * bitsPerRow + 2; + + const svg: SVG = selectSvgElement(id); + configureSvgSize(svg, svgHeight, svgWidth, true); + svg.attr('height', svgHeight + 'px'); + + for (const [row, packet] of words.entries()) { + drawWord(svg, packet, row, config); + } +}; + +const drawWord = ( + svg: SVG, + word: Word, + row: number, + { rowHeight, paddingX, paddingY, bitWidth, bitsPerRow }: Required +) => { + const group: Group = svg.append('g'); + const wordY = row * (rowHeight + paddingY) + paddingY; + for (const block of word) { + const blockX = (block.start % bitsPerRow) * bitWidth + 1; + const width = (block.end - block.start + 1) * bitWidth - paddingX; + // Block rectangle + group + .append('rect') + .attr('x', blockX) + .attr('y', wordY) + .attr('width', width) + .attr('height', rowHeight) + .attr('class', 'block'); + + // Block label + group + .append('text') + .attr('x', blockX + width / 2) + .attr('y', wordY + rowHeight / 2) + .attr('class', 'label') + .attr('dominant-baseline', 'middle') + .attr('text-anchor', 'middle') + .text(block.label); + + // Start byte count + const isSingleBlock = block.end === block.start; + const byteNumberY = wordY - 2; + group + .append('text') + .attr('x', blockX + (isSingleBlock ? width / 2 : 0)) + .attr('y', byteNumberY) + .attr('class', 'byte start') + .attr('dominant-baseline', 'auto') + .attr('text-anchor', isSingleBlock ? 'middle' : 'start') + .text(block.start); + + // Draw end byte count if it is not the same as start byte count + if (!isSingleBlock) { + group + .append('text') + .attr('x', blockX + width) + .attr('y', byteNumberY) + .attr('class', 'byte end') + .attr('dominant-baseline', 'auto') + .attr('text-anchor', 'end') + .text(block.end); + } + } +}; +export const renderer = { draw }; diff --git a/packages/mermaid/src/diagrams/packet/styles.ts b/packages/mermaid/src/diagrams/packet/styles.ts new file mode 100644 index 0000000000..d6f738a138 --- /dev/null +++ b/packages/mermaid/src/diagrams/packet/styles.ts @@ -0,0 +1,27 @@ +import { log } from '../../logger.js'; + +export const styles = (options: any = {}) => { + log.debug({ options }); + return ` + .byte { + font-size: ${options.packet?.byteFontSize ?? '10px'}; + } + .byte.start { + fill: ${options.packet?.startByteColor ?? 'black'}; + } + .byte.end { + fill: ${options.packet?.endByteColor ?? 'black'}; + } + .label { + fill: ${options.packet?.labelColor ?? 'black'}; + font-size: ${options.packet?.labelFontSize ?? '12px'}; + } + .block { + stroke: ${options.packet?.blockStrokeColor ?? 'black'}; + stroke-width: ${options.packet?.blockStrokeWidth ?? '1'}; + fill: ${options.packet?.blockFillColor ?? '#efefef'}; + } + `; +}; + +export default styles; diff --git a/packages/mermaid/src/diagrams/packet/types.ts b/packages/mermaid/src/diagrams/packet/types.ts new file mode 100644 index 0000000000..9100558eb2 --- /dev/null +++ b/packages/mermaid/src/diagrams/packet/types.ts @@ -0,0 +1,10 @@ +import type { Packet } from 'mermaid-parser'; +import type { DiagramDB } from '../../diagram-api/types.js'; + +export type ArrayElement = A extends readonly (infer T)[] ? T : never; +export type Block = Pick, 'start' | 'end' | 'label'>; +export type Word = Block[]; + +export interface PacketDB extends DiagramDB { + getPacket: () => Word[]; +} diff --git a/packages/mermaid/src/schemas/config.schema.yaml b/packages/mermaid/src/schemas/config.schema.yaml index 81592d146b..a929e84a95 100644 --- a/packages/mermaid/src/schemas/config.schema.yaml +++ b/packages/mermaid/src/schemas/config.schema.yaml @@ -48,6 +48,7 @@ required: - gitGraph - c4 - sankey + - packet properties: theme: description: | @@ -201,6 +202,8 @@ properties: $ref: '#/$defs/C4DiagramConfig' sankey: $ref: '#/$defs/SankeyDiagramConfig' + packet: + $ref: '#/$defs/PacketDiagramConfig' dompurifyConfig: title: DOM Purify Configuration description: Configuration options to pass to the `dompurify` library. @@ -1853,6 +1856,32 @@ $defs: # JSON Schema definition (maybe we should move these to a seperate file) type: string default: '' + PacketDiagramConfig: + title: Packet Diagram Config + allOf: [{ $ref: '#/$defs/BaseDiagramConfig' }] + description: The object containing configurations specific for packet diagrams. + type: object + unevaluatedProperties: false + properties: + rowHeight: + description: The height of each row in the packet diagram. + default: 32 + bitWidth: + description: The width of each bit in the packet diagram. + default: 32 + bitsPerRow: + description: The number of bits to display per row. + default: 32 + showBits: + description: Toggle to display or hide bit numbers. + default: true + paddingX: + description: The horizontal padding between the blocks in a row. + default: 5 + paddingY: + description: The vertical padding between the rows. + default: 15 + FontCalculator: title: Font Calculator description: | diff --git a/packages/mermaid/src/styles.spec.ts b/packages/mermaid/src/styles.spec.ts index 420ee9757b..be04286d00 100644 --- a/packages/mermaid/src/styles.spec.ts +++ b/packages/mermaid/src/styles.spec.ts @@ -28,6 +28,7 @@ import state from './diagrams/state/styles.js'; import journey from './diagrams/user-journey/styles.js'; import timeline from './diagrams/timeline/styles.js'; import mindmap from './diagrams/mindmap/styles.js'; +import packet from './diagrams/packet/styles.js'; import themes from './themes/index.js'; async function checkValidStylisCSSStyleSheet(stylisString: string) { @@ -96,6 +97,7 @@ describe('styles', () => { sequence, state, timeline, + packet, })) { test(`should return a valid style for diagram ${diagramId} and theme ${themeId}`, async () => { const { default: getStyles, addStylesForDiagram } = await import('./styles.js'); diff --git a/packages/parser/langium-config.json b/packages/parser/langium-config.json index 4ffaaf372f..6daa551c17 100644 --- a/packages/parser/langium-config.json +++ b/packages/parser/langium-config.json @@ -5,6 +5,11 @@ "id": "info", "grammar": "src/language/info/info.langium", "fileExtensions": [".mmd", ".mermaid"] + }, + { + "id": "packet", + "grammar": "src/language/packet/packet.langium", + "fileExtensions": [".mmd", ".mermaid"] } ], "mode": "production", diff --git a/packages/parser/src/index.ts b/packages/parser/src/index.ts index 9dded54fa2..9ec6b4e9b9 100644 --- a/packages/parser/src/index.ts +++ b/packages/parser/src/index.ts @@ -1,3 +1,3 @@ -export type { Info } from './language/index.js'; +export type { Info, Packet } from './language/index.js'; export type { DiagramAST } from './parse.js'; export { parse, MermaidParseError } from './parse.js'; diff --git a/packages/parser/src/language/index.ts b/packages/parser/src/language/index.ts index b6685a07f6..a1c3dfd8d3 100644 --- a/packages/parser/src/language/index.ts +++ b/packages/parser/src/language/index.ts @@ -4,3 +4,4 @@ export * from './generated/module.js'; export * from './common/index.js'; export * from './info/index.js'; +export * from './packet/index.js'; diff --git a/packages/parser/src/language/packet/index.ts b/packages/parser/src/language/packet/index.ts new file mode 100644 index 0000000000..fd3c604b08 --- /dev/null +++ b/packages/parser/src/language/packet/index.ts @@ -0,0 +1 @@ +export * from './module.js'; diff --git a/packages/parser/src/language/packet/module.ts b/packages/parser/src/language/packet/module.ts new file mode 100644 index 0000000000..db9ff4722a --- /dev/null +++ b/packages/parser/src/language/packet/module.ts @@ -0,0 +1,72 @@ +import type { + DefaultSharedModuleContext, + LangiumServices, + LangiumSharedServices, + Module, + PartialLangiumServices, +} from 'langium'; +import { EmptyFileSystem, createDefaultModule, createDefaultSharedModule, inject } from 'langium'; + +import { CommonLexer } from '../common/lexer.js'; +import { MermaidGeneratedSharedModule, PacketGeneratedModule } from '../generated/module.js'; +import { PacketTokenBuilder } from './tokenBuilder.js'; +import { CommonValueConverter } from '../common/valueConverter.js'; + +/** + * Declaration of `Packet` services. + */ +type PacketAddedServices = { + parser: { + Lexer: CommonLexer; + TokenBuilder: PacketTokenBuilder; + ValueConverter: CommonValueConverter; + }; +}; + +/** + * Union of Langium default services and `Packet` services. + */ +export type PacketServices = LangiumServices & PacketAddedServices; + +/** + * Dependency injection module that overrides Langium default services and + * contributes the declared `Packet` services. + */ +export const PacketModule: Module = { + parser: { + Lexer: (services: PacketServices) => new CommonLexer(services), + TokenBuilder: () => new PacketTokenBuilder(), + ValueConverter: () => new CommonValueConverter(), + }, +}; + +/** + * Create the full set of services required by Langium. + * + * First inject the shared services by merging two modules: + * - Langium default shared services + * - Services generated by langium-cli + * + * Then inject the language-specific services by merging three modules: + * - Langium default language-specific services + * - Services generated by langium-cli + * - Services specified in this file + * @param context - Optional module context with the LSP connection + * @returns An object wrapping the shared services and the language-specific services + */ +export function createPacketServices(context: DefaultSharedModuleContext = EmptyFileSystem): { + shared: LangiumSharedServices; + Packet: PacketServices; +} { + const shared: LangiumSharedServices = inject( + createDefaultSharedModule(context), + MermaidGeneratedSharedModule + ); + const Packet: PacketServices = inject( + createDefaultModule({ shared }), + PacketGeneratedModule, + PacketModule + ); + shared.ServiceRegistry.register(Packet); + return { shared, Packet }; +} diff --git a/packages/parser/src/language/packet/packet.langium b/packages/parser/src/language/packet/packet.langium new file mode 100644 index 0000000000..33adf49327 --- /dev/null +++ b/packages/parser/src/language/packet/packet.langium @@ -0,0 +1,14 @@ +grammar Packet +import "../common/common"; + +entry Packet: + "packet-beta" NEWLINE* + TitleAndAccessibilities? + (blocks+=Block)*; + +Block: + start=INT ('-' end=INT)? ':' label=STRING; + +hidden terminal WS: /\s+/; +terminal INT returns number: /[0-9]+/; +terminal STRING: /"[^"]*"|'[^']*'/; diff --git a/packages/parser/src/language/packet/tokenBuilder.ts b/packages/parser/src/language/packet/tokenBuilder.ts new file mode 100644 index 0000000000..3317f85496 --- /dev/null +++ b/packages/parser/src/language/packet/tokenBuilder.ts @@ -0,0 +1,7 @@ +import { MermaidTokenBuilder } from '../common/index.js'; + +export class PacketTokenBuilder extends MermaidTokenBuilder { + public constructor() { + super(['packet-beta']); + } +} diff --git a/packages/parser/src/parse.ts b/packages/parser/src/parse.ts index 90358bbf16..eba118e417 100644 --- a/packages/parser/src/parse.ts +++ b/packages/parser/src/parse.ts @@ -1,8 +1,8 @@ import type { LangiumParser, ParseResult } from 'langium'; -import type { Info } from './index.js'; -import { createInfoServices } from './language/index.js'; +import type { Info, Packet } from './index.js'; +import { createInfoServices, createPacketServices } from './language/index.js'; -export type DiagramAST = Info; +export type DiagramAST = Info | Packet; const parsers: Record = {}; @@ -13,8 +13,13 @@ const initializers = { const parser = createInfoServices().Info.parser.LangiumParser; parsers['info'] = parser; }, + packet: () => { + const parser = createPacketServices().Packet.parser.LangiumParser; + parsers['packet'] = parser; + }, } as const; export function parse(diagramType: 'info', text: string): Info; +export function parse(diagramType: 'packet', text: string): Packet; export function parse( diagramType: keyof typeof initializers, text: string From afd7cf51cf651180707886467f945f2022500782 Mon Sep 17 00:00:00 2001 From: Sidharth Vinod Date: Thu, 14 Sep 2023 22:46:43 +0530 Subject: [PATCH 066/789] fix: Types and nomenclature --- packages/mermaid/src/diagrams/packet/db.ts | 18 ++++++++++-------- .../mermaid/src/diagrams/packet/renderer.ts | 10 +++++----- packages/mermaid/src/diagrams/packet/types.ts | 4 ++-- 3 files changed, 17 insertions(+), 15 deletions(-) diff --git a/packages/mermaid/src/diagrams/packet/db.ts b/packages/mermaid/src/diagrams/packet/db.ts index a36fdcaf15..0773a2c0e7 100644 --- a/packages/mermaid/src/diagrams/packet/db.ts +++ b/packages/mermaid/src/diagrams/packet/db.ts @@ -1,11 +1,11 @@ -import type { Block, PacketDB, Word } from './types.js'; +import type { Block, PacketDB, Row } from './types.js'; import { log } from '../../logger.js'; import type { PacketDiagramConfig } from '../../config.type.js'; import DEFAULT_CONFIG from '../../defaultConfig.js'; import { getConfig as commonGetConfig } from '../../config.js'; interface PacketData { - packet: Word[]; + packet: Row[]; } const defaultPacketData: PacketData = { @@ -22,21 +22,23 @@ export const getConfig = (): Required => { }); }; -export const getPacket = (): Word[] => data.packet; +export const getPacket = (): Row[] => data.packet; export const getNextFittingBlock = ( block: Block, row: number, bitsPerRow: number -): [Block, Block | undefined] => { - block.end = block.end ?? block.start; +): [Required, Block | undefined] => { + if (block.end === undefined) { + block.end = block.start; + } if (block.start > block.end) { throw new Error(`Block start ${block.start} is greater than block end ${block.end}.`); } if (block.end + 1 <= row * bitsPerRow) { - return [block, undefined]; + return [block as Required, undefined]; } return [ @@ -55,12 +57,12 @@ export const getNextFittingBlock = ( export const populate = ({ blocks }: { blocks: Block[] }) => { let lastByte = -1; - let word: Block[] = []; + let word: Row = []; data.packet = []; let row = 1; const { bitsPerRow } = getConfig(); for (let { start, end, label } of blocks) { - if (end < start) { + if (end && end < start) { throw new Error(`Packet block ${start} - ${end} is invalid. End must be greater than start.`); } if (start != lastByte + 1) { diff --git a/packages/mermaid/src/diagrams/packet/renderer.ts b/packages/mermaid/src/diagrams/packet/renderer.ts index 640c2e870c..d6d2a3d2e2 100644 --- a/packages/mermaid/src/diagrams/packet/renderer.ts +++ b/packages/mermaid/src/diagrams/packet/renderer.ts @@ -1,7 +1,7 @@ import { configureSvgSize } from '../../setupGraphViewbox.js'; import type { DrawDefinition, Group, SVG } from '../../diagram-api/types.js'; import { selectSvgElement } from '../../rendering-util/selectSvgElement.js'; -import type { PacketDB, Word } from './types.js'; +import type { PacketDB, Row } from './types.js'; import type { PacketDiagramConfig } from '../../config.type.js'; import type { Diagram } from '../../Diagram.js'; @@ -25,13 +25,13 @@ const draw: DrawDefinition = (_text, id, _version, diagram: Diagram) => { const drawWord = ( svg: SVG, - word: Word, - row: number, + row: Row, + rowNumber: number, { rowHeight, paddingX, paddingY, bitWidth, bitsPerRow }: Required ) => { const group: Group = svg.append('g'); - const wordY = row * (rowHeight + paddingY) + paddingY; - for (const block of word) { + const wordY = rowNumber * (rowHeight + paddingY) + paddingY; + for (const block of row) { const blockX = (block.start % bitsPerRow) * bitWidth + 1; const width = (block.end - block.start + 1) * bitWidth - paddingX; // Block rectangle diff --git a/packages/mermaid/src/diagrams/packet/types.ts b/packages/mermaid/src/diagrams/packet/types.ts index 9100558eb2..5492d40044 100644 --- a/packages/mermaid/src/diagrams/packet/types.ts +++ b/packages/mermaid/src/diagrams/packet/types.ts @@ -3,8 +3,8 @@ import type { DiagramDB } from '../../diagram-api/types.js'; export type ArrayElement = A extends readonly (infer T)[] ? T : never; export type Block = Pick, 'start' | 'end' | 'label'>; -export type Word = Block[]; +export type Row = Required[]; export interface PacketDB extends DiagramDB { - getPacket: () => Word[]; + getPacket: () => Row[]; } From 38d9c6d26b71cb82ad364f3a5d30b8477487ba61 Mon Sep 17 00:00:00 2001 From: Sidharth Vinod Date: Thu, 14 Sep 2023 23:00:59 +0530 Subject: [PATCH 067/789] test: Add unit tests --- packages/mermaid/src/diagrams/packet/db.ts | 4 +- .../src/diagrams/packet/packet.spec.ts | 174 ++++++++++++++++-- 2 files changed, 166 insertions(+), 12 deletions(-) diff --git a/packages/mermaid/src/diagrams/packet/db.ts b/packages/mermaid/src/diagrams/packet/db.ts index 0773a2c0e7..b964b88dc2 100644 --- a/packages/mermaid/src/diagrams/packet/db.ts +++ b/packages/mermaid/src/diagrams/packet/db.ts @@ -67,7 +67,9 @@ export const populate = ({ blocks }: { blocks: Block[] }) => { } if (start != lastByte + 1) { throw new Error( - `Packet block ${start} - ${end} is not contiguous. It should start from ${lastByte + 1}.` + `Packet block ${start} - ${end ?? start} is not contiguous. It should start from ${ + lastByte + 1 + }.` ); } lastByte = end ?? start; diff --git a/packages/mermaid/src/diagrams/packet/packet.spec.ts b/packages/mermaid/src/diagrams/packet/packet.spec.ts index ea115e02ed..c4ccdba742 100644 --- a/packages/mermaid/src/diagrams/packet/packet.spec.ts +++ b/packages/mermaid/src/diagrams/packet/packet.spec.ts @@ -1,31 +1,183 @@ import { parser } from './parser.js'; +import { clear, getPacket } from './db.js'; +describe('packet diagrams', () => { + beforeEach(() => { + clear(); + }); + + it('should handle a packet-beta definition', () => { + const str = `packet-beta`; + expect(() => { + parser.parse(str); + }).not.toThrow(); + expect(getPacket()).toMatchInlineSnapshot('[]'); + }); + + it('should handle diagram with data', () => { + const str = `packet-beta + 0-10: "test" + `; + expect(() => { + parser.parse(str); + }).not.toThrow(); + expect(getPacket()).toMatchInlineSnapshot(` + [ + [ + { + "end": 10, + "label": "test", + "start": 0, + }, + ], + ] + `); + }); + + it('should handle single bits', () => { + const str = `packet-beta + 0-10: "test" + 11: "single" + `; + expect(() => { + parser.parse(str); + }).not.toThrow(); + expect(getPacket()).toMatchInlineSnapshot(` + [ + [ + { + "end": 10, + "label": "test", + "start": 0, + }, + { + "end": 11, + "label": "single", + "start": 11, + }, + ], + ] + `); + }); -describe('info', () => { - it('should handle an info definition', () => { - const str = `info`; + it('should split into multiple rows', () => { + const str = `packet-beta + 0-10: "test" + 11-90: "multiple" + `; expect(() => { parser.parse(str); }).not.toThrow(); + expect(getPacket()).toMatchInlineSnapshot(` + [ + [ + { + "end": 10, + "label": "test", + "start": 0, + }, + { + "end": 31, + "label": "multiple", + "start": 11, + }, + ], + [ + { + "end": 63, + "label": "multiple", + "start": 32, + }, + ], + [ + { + "end": 90, + "label": "multiple", + "start": 64, + }, + ], + ] + `); }); - it('should handle an info definition with showInfo', () => { - const str = `info showInfo`; + it('should split into multiple rows when cut at exact length', () => { + const str = `packet-beta + 0-16: "test" + 17-63: "multiple" + `; expect(() => { parser.parse(str); }).not.toThrow(); + expect(getPacket()).toMatchInlineSnapshot(` + [ + [ + { + "end": 16, + "label": "test", + "start": 0, + }, + { + "end": 31, + "label": "multiple", + "start": 17, + }, + ], + [ + { + "end": 63, + "label": "multiple", + "start": 32, + }, + ], + ] + `); + }); + + it('should throw error if numbers are not continuous', () => { + const str = `packet-beta + 0-16: "test" + 18-20: "error" + `; + expect(() => { + parser.parse(str); + }).toThrowErrorMatchingInlineSnapshot( + '"Packet block 18 - 20 is not contiguous. It should start from 17."' + ); + }); + + it('should throw error if numbers are not continuous for single packets', () => { + const str = `packet-beta + 0-16: "test" + 18: "error" + `; + expect(() => { + parser.parse(str); + }).toThrowErrorMatchingInlineSnapshot( + '"Packet block 18 - 18 is not contiguous. It should start from 17."' + ); }); - it('should throw because of unsupported info grammar', () => { - const str = `info unsupported`; + it('should throw error if numbers are not continuous for single packets - 2', () => { + const str = `packet-beta + 0-16: "test" + 17: "good" + 19: "error" + `; expect(() => { parser.parse(str); - }).toThrow('Parsing failed: unexpected character: ->u<- at offset: 5, skipped 11 characters.'); + }).toThrowErrorMatchingInlineSnapshot( + '"Packet block 19 - 19 is not contiguous. It should start from 18."' + ); }); - it('should throw because of unsupported info grammar', () => { - const str = `info unsupported`; + it('should throw error if end is less than start', () => { + const str = `packet-beta + 0-16: "test" + 25-20: "error" + `; expect(() => { parser.parse(str); - }).toThrow('Parsing failed: unexpected character: ->u<- at offset: 5, skipped 11 characters.'); + }).toThrowErrorMatchingInlineSnapshot( + '"Packet block 25 - 20 is invalid. End must be greater than start."' + ); }); }); From 75f1f9228d1265e575541a40558a8aa3759866f8 Mon Sep 17 00:00:00 2001 From: Sidharth Vinod Date: Thu, 14 Sep 2023 23:12:06 +0530 Subject: [PATCH 068/789] test: Add rendering tests --- cypress/integration/rendering/packet.spec.ts | 65 ++++++++++++++++++++ 1 file changed, 65 insertions(+) create mode 100644 cypress/integration/rendering/packet.spec.ts diff --git a/cypress/integration/rendering/packet.spec.ts b/cypress/integration/rendering/packet.spec.ts new file mode 100644 index 0000000000..990ce092c9 --- /dev/null +++ b/cypress/integration/rendering/packet.spec.ts @@ -0,0 +1,65 @@ +import { imgSnapshotTest, renderGraph } from '../../helpers/util'; + +describe('packet structure', () => { + it('should render a simple packet diagram', () => { + imgSnapshotTest( + `packet-beta + 0-10: "hello" +` + ); + }); + + it('should render a complex packet diagram', () => { + imgSnapshotTest( + `packet-beta + 0-15: "Source Port" + 16-31: "Destination Port" + 32-63: "Sequence Number" + 64-95: "Acknowledgment Number" + 96-99: "Data Offset" + 100-105: "Reserved" + 106: "URG" + 107: "ACK" + 108: "PSH" + 109: "RST" + 110: "SYN" + 111: "FIN" + 112-127: "Window" + 128-143: "Checksum" + 144-159: "Urgent Pointer" + 160-191: "(Options and Padding)" + 192-223: "data" + ` + ); + }); + + it('should render a complex packet diagram with showBits false', () => { + imgSnapshotTest( + ` + --- + config: + packet: + showBits: false + --- + packet-beta + 0-15: "Source Port" + 16-31: "Destination Port" + 32-63: "Sequence Number" + 64-95: "Acknowledgment Number" + 96-99: "Data Offset" + 100-105: "Reserved" + 106: "URG" + 107: "ACK" + 108: "PSH" + 109: "RST" + 110: "SYN" + 111: "FIN" + 112-127: "Window" + 128-143: "Checksum" + 144-159: "Urgent Pointer" + 160-191: "(Options and Padding)" + 192-223: "data" + ` + ); + }); +}); From 043729f557f8eb335d1ef842b8fa3bfe0ddaa5cd Mon Sep 17 00:00:00 2001 From: Sidharth Vinod Date: Thu, 14 Sep 2023 23:12:42 +0530 Subject: [PATCH 069/789] feat: Support showBits --- demos/packet.html | 26 +++++++++++++++++++ packages/mermaid/src/diagrams/packet/db.ts | 6 ++++- .../mermaid/src/diagrams/packet/renderer.ts | 11 +++++--- .../mermaid/src/schemas/config.schema.yaml | 2 +- 4 files changed, 39 insertions(+), 6 deletions(-) diff --git a/demos/packet.html b/demos/packet.html index 3e51de0ded..3e53f60dba 100644 --- a/demos/packet.html +++ b/demos/packet.html @@ -35,6 +35,32 @@

Packet diagram demo

192-223: "data" +
+      ---
+      config:
+        packet:
+          showBits: false
+      ---
+      packet-beta
+        0-15: "Source Port"
+        16-31: "Destination Port"
+        32-63: "Sequence Number"
+        64-95: "Acknowledgment Number"
+        96-99: "Data Offset"
+        100-105: "Reserved"
+        106: "URG"
+        107: "ACK"
+        108: "PSH"
+        109: "RST"
+        110: "SYN"
+        111: "FIN"
+        112-127: "Window"
+        128-143: "Checksum"
+        144-159: "Urgent Pointer"
+        160-191: "(Options and Padding)"
+        192-223: "data"
+    
+ From 577f0ca5629af574712944d68be49ae5d901f970 Mon Sep 17 00:00:00 2001 From: Sidharth Vinod Date: Sat, 16 Sep 2023 13:54:43 +0530 Subject: [PATCH 075/789] fix: Cypress test for Suppress Error --- .../integration/other/configuration.spec.js | 28 +++++++++++++------ cypress/platform/suppressError.html | 9 ++++-- 2 files changed, 25 insertions(+), 12 deletions(-) diff --git a/cypress/integration/other/configuration.spec.js b/cypress/integration/other/configuration.spec.js index 3b6e12cf20..7f47b57e8b 100644 --- a/cypress/integration/other/configuration.spec.js +++ b/cypress/integration/other/configuration.spec.js @@ -128,20 +128,24 @@ describe('Configuration', () => { }); describe('suppressErrorRendering', () => { + beforeEach(() => { + cy.on('uncaught:exception', (err, runnable) => { + return !err.message.includes('Parse error on line'); + }); + cy.viewport(1440, 1024); + }); + it('should not render error diagram if suppressErrorRendering is set', () => { const url = 'http://localhost:9000/suppressError.html?suppressErrorRendering=true'; - cy.viewport(1440, 1024); cy.visit(url); cy.window().should('have.property', 'rendered', true); cy.get('#test') .find('svg') .should(($svg) => { - expect($svg).to.have.length(2); // all failing diagrams should not appear! - $svg.each((_index, svg) => { - expect(cy.$$(svg)).to.be.visible(); - // none of the diagrams should be error diagrams - expect($svg).to.not.contain('Syntax error'); - }); + // all failing diagrams should not appear! + expect($svg).to.have.length(2); + // none of the diagrams should be error diagrams + expect($svg).to.not.contain('Syntax error'); }); cy.matchImageSnapshot( 'configuration.spec-should-not-render-error-diagram-if-suppressErrorRendering-is-set' @@ -150,10 +154,16 @@ describe('Configuration', () => { it('should render error diagram if suppressErrorRendering is not set', () => { const url = 'http://localhost:9000/suppressError.html'; - cy.viewport(1440, 1024); cy.visit(url); cy.window().should('have.property', 'rendered', true); - cy.get('#test'); + cy.get('#test') + .find('svg') + .should(($svg) => { + // all five diagrams should be rendered + expect($svg).to.have.length(5); + // some of the diagrams should be error diagrams + expect($svg).to.contain('Syntax error'); + }); cy.matchImageSnapshot( 'configuration.spec-should-render-error-diagram-if-suppressErrorRendering-is-not-set' ); diff --git a/cypress/platform/suppressError.html b/cypress/platform/suppressError.html index 02591ce705..347a82c79c 100644 --- a/cypress/platform/suppressError.html +++ b/cypress/platform/suppressError.html @@ -47,9 +47,12 @@ const shouldSuppress = new URLSearchParams(window.location.search).get('suppressErrorRendering') === 'true'; mermaid.initialize({ startOnLoad: false, suppressErrorRendering: shouldSuppress }); - await mermaid.run(); - if (window.Cypress) { - window.rendered = true; + try { + await mermaid.run(); + } catch { + if (window.Cypress) { + window.rendered = true; + } } From 43885e6d0bdc0717c7f3a05e9d49ef06941cc177 Mon Sep 17 00:00:00 2001 From: Hans Blankenhaus Date: Mon, 18 Sep 2023 15:58:57 +0200 Subject: [PATCH 076/789] make auto wrapping in markdown optional --- packages/mermaid/src/config.type.ts | 1 + .../mermaid/src/rendering-util/handle-markdown-text.ts | 8 +++++++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/packages/mermaid/src/config.type.ts b/packages/mermaid/src/config.type.ts index ca55d9af47..017410dce7 100644 --- a/packages/mermaid/src/config.type.ts +++ b/packages/mermaid/src/config.type.ts @@ -139,6 +139,7 @@ export interface MermaidConfig { * You can set this attribute to base the seed on a static string. * */ + markdownAutoWrap?: boolean; deterministicIDSeed?: string; flowchart?: FlowchartDiagramConfig; sequence?: SequenceDiagramConfig; diff --git a/packages/mermaid/src/rendering-util/handle-markdown-text.ts b/packages/mermaid/src/rendering-util/handle-markdown-text.ts index ce694edcda..e5e1712851 100644 --- a/packages/mermaid/src/rendering-util/handle-markdown-text.ts +++ b/packages/mermaid/src/rendering-util/handle-markdown-text.ts @@ -2,6 +2,7 @@ import type { Content } from 'mdast'; import { fromMarkdown } from 'mdast-util-from-markdown'; import { dedent } from 'ts-dedent'; import type { MarkdownLine, MarkdownWordType } from './types.js'; +import { getConfig } from '../config.js'; /** * @param markdown - markdown to process @@ -58,10 +59,15 @@ export function markdownToLines(markdown: string): MarkdownLine[] { export function markdownToHTML(markdown: string) { const { children } = fromMarkdown(markdown); + const markdownAutoWrap = getConfig().markdownAutoWrap; function output(node: Content): string { if (node.type === 'text') { - return node.value.replace(/\n/g, '
'); + if (!markdownAutoWrap) { + return node.value.replace(/\n/g, '
').replace(/ /g, ' '); + } else { + return node.value.replace(/\n/g, '
'); + } } else if (node.type === 'strong') { return `${node.children.map(output).join('')}`; } else if (node.type === 'emphasis') { From 0ff3ba30b7a2cc79f04e631a8b50a1132e4111b0 Mon Sep 17 00:00:00 2001 From: Sidharth Vinod Date: Mon, 18 Sep 2023 23:29:27 +0530 Subject: [PATCH 077/789] Add mini-live editing to example.html --- demos/dev/example.html | 48 ++++++++++++++++++++++++++++++++---------- 1 file changed, 37 insertions(+), 11 deletions(-) diff --git a/demos/dev/example.html b/demos/dev/example.html index adb6da331d..eff5881635 100644 --- a/demos/dev/example.html +++ b/demos/dev/example.html @@ -3,10 +3,23 @@ Mermaid development page + -
info
-
 graph TB
       a --> b
@@ -15,22 +28,35 @@
       c --> d
     
-
+
+ Type code to view diagram: +
+ +
+
+
info
From 566150977a489bdd69cca5f679235ac0d1d417fc Mon Sep 17 00:00:00 2001 From: Sidharth Vinod Date: Mon, 18 Sep 2023 23:31:23 +0530 Subject: [PATCH 078/789] Add mini-live editing to example.html --- demos/dev/example.html | 1 + 1 file changed, 1 insertion(+) diff --git a/demos/dev/example.html b/demos/dev/example.html index eff5881635..4ece7efa8b 100644 --- a/demos/dev/example.html +++ b/demos/dev/example.html @@ -15,6 +15,7 @@ } #dynamicDiagram { + padding-left: 2em; flex: 1; } From 3e3519e8ec59b949b4fb331659d92e1df5f7ee07 Mon Sep 17 00:00:00 2001 From: Sidharth Vinod Date: Tue, 19 Sep 2023 16:51:42 +0530 Subject: [PATCH 079/789] docs: Add packet to index --- demos/index.html | 3 +++ 1 file changed, 3 insertions(+) diff --git a/demos/index.html b/demos/index.html index 24c4fbf3b0..68981aa8d5 100644 --- a/demos/index.html +++ b/demos/index.html @@ -78,6 +78,9 @@

ZenUML

  • Sankey

  • +
  • +

    Packet

    +
  • From bca39e8081b51a05674c5a76e9759cdbb00104dc Mon Sep 17 00:00:00 2001 From: Hans Blankenhaus Date: Tue, 19 Sep 2023 15:38:17 +0200 Subject: [PATCH 080/789] optional wrap and test --- .../src/rendering-util/handle-markdown-text.spec.ts | 9 +++++++++ .../mermaid/src/rendering-util/handle-markdown-text.ts | 2 +- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/packages/mermaid/src/rendering-util/handle-markdown-text.spec.ts b/packages/mermaid/src/rendering-util/handle-markdown-text.spec.ts index 3ca7a3d7a6..55c40127f4 100644 --- a/packages/mermaid/src/rendering-util/handle-markdown-text.spec.ts +++ b/packages/mermaid/src/rendering-util/handle-markdown-text.spec.ts @@ -1,5 +1,6 @@ import { markdownToLines, markdownToHTML } from './handle-markdown-text.js'; import { test, expect } from 'vitest'; +import { setConfig } from '../config.js'; test('markdownToLines - Basic test', () => { const input = `This is regular text @@ -262,3 +263,11 @@ test('markdownToHTML - Unsupported formatting', () => { - l3`) ).toMatchInlineSnapshot('"

    Hello

    Unsupported markdown: list"'); }); + +test('markdownToHTML - no auto wrapping', () => { + setConfig({ markdownAutoWrap: false }); + expect( + markdownToHTML(`Hello, how do + you do?`) + ).toMatchInlineSnapshot('"

    Hello, how do
    you do?

    "'); +}); diff --git a/packages/mermaid/src/rendering-util/handle-markdown-text.ts b/packages/mermaid/src/rendering-util/handle-markdown-text.ts index e5e1712851..160be86da4 100644 --- a/packages/mermaid/src/rendering-util/handle-markdown-text.ts +++ b/packages/mermaid/src/rendering-util/handle-markdown-text.ts @@ -63,7 +63,7 @@ export function markdownToHTML(markdown: string) { function output(node: Content): string { if (node.type === 'text') { - if (!markdownAutoWrap) { + if (markdownAutoWrap === false) { return node.value.replace(/\n/g, '
    ').replace(/ /g, ' '); } else { return node.value.replace(/\n/g, '
    '); From a75d14f5d0ebb2f026080dfe5f73e2fc7a431c1e Mon Sep 17 00:00:00 2001 From: Hans Blankenhaus Date: Tue, 19 Sep 2023 17:03:47 +0200 Subject: [PATCH 081/789] removed commented out code --- packages/mermaid/src/rendering-util/createText.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/mermaid/src/rendering-util/createText.ts b/packages/mermaid/src/rendering-util/createText.ts index a0aaa66bad..a55f097235 100644 --- a/packages/mermaid/src/rendering-util/createText.ts +++ b/packages/mermaid/src/rendering-util/createText.ts @@ -169,9 +169,9 @@ export const createText = ( log.info('createText', text, style, isTitle, classes, useHtmlLabels, isNode, addSvgBackground); if (useHtmlLabels) { // TODO: addHtmlLabel accepts a labelStyle. Do we possibly have that? - // text = text.replace(/\\n|\n/g, '
    '); + const htmlText = markdownToHTML(text); - // log.info('markdo wnToHTML' + text, markdownToHTML(text)); + const node = { isNode, label: decodeEntities(htmlText).replace( From 0af77a3c2caedd54da9540abd3006b80a81a2f3d Mon Sep 17 00:00:00 2001 From: Hans Blankenhaus Date: Tue, 19 Sep 2023 17:57:59 +0200 Subject: [PATCH 082/789] optional auto wrapping for markdownToLines --- packages/mermaid/src/rendering-util/handle-markdown-text.ts | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/packages/mermaid/src/rendering-util/handle-markdown-text.ts b/packages/mermaid/src/rendering-util/handle-markdown-text.ts index 160be86da4..572b28c996 100644 --- a/packages/mermaid/src/rendering-util/handle-markdown-text.ts +++ b/packages/mermaid/src/rendering-util/handle-markdown-text.ts @@ -9,10 +9,16 @@ import { getConfig } from '../config.js'; * @returns processed markdown */ function preprocessMarkdown(markdown: string): string { + const markdownAutoWrap = getConfig().markdownAutoWrap; // Replace multiple newlines with a single newline const withoutMultipleNewlines = markdown.replace(/\n{2,}/g, '\n'); // Remove extra spaces at the beginning of each line const withoutExtraSpaces = dedent(withoutMultipleNewlines); + /* + if (markdownAutoWrap === false) { + return withoutExtraSpaces.replace(/ /g, ' '); + } + */ return withoutExtraSpaces; } From a5cb58ca96df639da35ad5646579ff83c9f34fdf Mon Sep 17 00:00:00 2001 From: Hans Blankenhaus Date: Tue, 19 Sep 2023 17:59:35 +0200 Subject: [PATCH 083/789] add flowchart documentation --- docs/syntax/flowchart.md | 10 ++++++++++ packages/mermaid/src/docs/syntax/flowchart.md | 6 ++++++ 2 files changed, 16 insertions(+) diff --git a/docs/syntax/flowchart.md b/docs/syntax/flowchart.md index 23b05af7f4..ca10589896 100644 --- a/docs/syntax/flowchart.md +++ b/docs/syntax/flowchart.md @@ -828,6 +828,16 @@ Formatting: This feature is applicable to node labels, edge labels, and subgraph labels. +The auto wrapping can be disabled by using + +```mermaid-example +%%{init: {"markdownAutoWrap": false} }%% +``` + +```mermaid +%%{init: {"markdownAutoWrap": false} }%% +``` + ## Interaction It is possible to bind a click event to a node, the click can lead to either a javascript callback or to a link which will be opened in a new browser tab. diff --git a/packages/mermaid/src/docs/syntax/flowchart.md b/packages/mermaid/src/docs/syntax/flowchart.md index 7946d57251..fbfdd9fada 100644 --- a/packages/mermaid/src/docs/syntax/flowchart.md +++ b/packages/mermaid/src/docs/syntax/flowchart.md @@ -519,6 +519,12 @@ Formatting: This feature is applicable to node labels, edge labels, and subgraph labels. +The auto wrapping can be disabled by using + +```mermaid-example +%%{init: {"markdownAutoWrap": false} }%% +``` + ## Interaction It is possible to bind a click event to a node, the click can lead to either a javascript callback or to a link which will be opened in a new browser tab. From b561d5ad9a5d925bf2a4578cec5bdfd7f14f2dee Mon Sep 17 00:00:00 2001 From: Hans Blankenhaus Date: Tue, 19 Sep 2023 18:00:48 +0200 Subject: [PATCH 084/789] removed commented out code --- packages/mermaid/src/rendering-util/handle-markdown-text.ts | 2 -- 1 file changed, 2 deletions(-) diff --git a/packages/mermaid/src/rendering-util/handle-markdown-text.ts b/packages/mermaid/src/rendering-util/handle-markdown-text.ts index 572b28c996..cde16bc11b 100644 --- a/packages/mermaid/src/rendering-util/handle-markdown-text.ts +++ b/packages/mermaid/src/rendering-util/handle-markdown-text.ts @@ -14,11 +14,9 @@ function preprocessMarkdown(markdown: string): string { const withoutMultipleNewlines = markdown.replace(/\n{2,}/g, '\n'); // Remove extra spaces at the beginning of each line const withoutExtraSpaces = dedent(withoutMultipleNewlines); - /* if (markdownAutoWrap === false) { return withoutExtraSpaces.replace(/ /g, ' '); } - */ return withoutExtraSpaces; } From 1102bf271db11f924fa8e1b167369a796d3b2b9a Mon Sep 17 00:00:00 2001 From: Hans Blankenhaus Date: Tue, 19 Sep 2023 18:12:57 +0200 Subject: [PATCH 085/789] corrected documentation --- docs/syntax/flowchart.md | 2 ++ packages/mermaid/src/docs/syntax/flowchart.md | 1 + 2 files changed, 3 insertions(+) diff --git a/docs/syntax/flowchart.md b/docs/syntax/flowchart.md index ca10589896..c06819519d 100644 --- a/docs/syntax/flowchart.md +++ b/docs/syntax/flowchart.md @@ -832,10 +832,12 @@ The auto wrapping can be disabled by using ```mermaid-example %%{init: {"markdownAutoWrap": false} }%% +graph LR ``` ```mermaid %%{init: {"markdownAutoWrap": false} }%% +graph LR ``` ## Interaction diff --git a/packages/mermaid/src/docs/syntax/flowchart.md b/packages/mermaid/src/docs/syntax/flowchart.md index fbfdd9fada..5680266b79 100644 --- a/packages/mermaid/src/docs/syntax/flowchart.md +++ b/packages/mermaid/src/docs/syntax/flowchart.md @@ -523,6 +523,7 @@ The auto wrapping can be disabled by using ```mermaid-example %%{init: {"markdownAutoWrap": false} }%% +graph LR ``` ## Interaction From f256a57f273b9b74b99b6a191ef74fb3ca02d15d Mon Sep 17 00:00:00 2001 From: Hans Blankenhaus Date: Tue, 19 Sep 2023 18:16:23 +0200 Subject: [PATCH 086/789] again correction to documentation --- docs/syntax/flowchart.md | 11 ++--------- packages/mermaid/src/docs/syntax/flowchart.md | 2 +- 2 files changed, 3 insertions(+), 10 deletions(-) diff --git a/docs/syntax/flowchart.md b/docs/syntax/flowchart.md index c06819519d..fbf751e746 100644 --- a/docs/syntax/flowchart.md +++ b/docs/syntax/flowchart.md @@ -830,15 +830,8 @@ This feature is applicable to node labels, edge labels, and subgraph labels. The auto wrapping can be disabled by using -```mermaid-example -%%{init: {"markdownAutoWrap": false} }%% -graph LR -``` - -```mermaid -%%{init: {"markdownAutoWrap": false} }%% -graph LR -``` + %%{init: {"markdownAutoWrap": false} }%% + graph LR ## Interaction diff --git a/packages/mermaid/src/docs/syntax/flowchart.md b/packages/mermaid/src/docs/syntax/flowchart.md index 5680266b79..dfafac9b92 100644 --- a/packages/mermaid/src/docs/syntax/flowchart.md +++ b/packages/mermaid/src/docs/syntax/flowchart.md @@ -521,7 +521,7 @@ This feature is applicable to node labels, edge labels, and subgraph labels. The auto wrapping can be disabled by using -```mermaid-example +``` %%{init: {"markdownAutoWrap": false} }%% graph LR ``` From 589f90762a2969a28c3f25083e4eef15ed093850 Mon Sep 17 00:00:00 2001 From: Hans Blankenhaus Date: Tue, 19 Sep 2023 19:24:16 +0200 Subject: [PATCH 087/789] change congig.schema.yaml for consistency --- packages/mermaid/src/config.type.ts | 2 +- packages/mermaid/src/schemas/config.schema.yaml | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/packages/mermaid/src/config.type.ts b/packages/mermaid/src/config.type.ts index 017410dce7..b72364c29d 100644 --- a/packages/mermaid/src/config.type.ts +++ b/packages/mermaid/src/config.type.ts @@ -139,7 +139,6 @@ export interface MermaidConfig { * You can set this attribute to base the seed on a static string. * */ - markdownAutoWrap?: boolean; deterministicIDSeed?: string; flowchart?: FlowchartDiagramConfig; sequence?: SequenceDiagramConfig; @@ -159,6 +158,7 @@ export interface MermaidConfig { dompurifyConfig?: DOMPurifyConfiguration; wrap?: boolean; fontSize?: number; + markdownAutoWrap?: boolean; } /** * This interface was referenced by `MermaidConfig`'s JSON-Schema diff --git a/packages/mermaid/src/schemas/config.schema.yaml b/packages/mermaid/src/schemas/config.schema.yaml index 6f01d57154..eea5d295d0 100644 --- a/packages/mermaid/src/schemas/config.schema.yaml +++ b/packages/mermaid/src/schemas/config.schema.yaml @@ -217,6 +217,8 @@ properties: fontSize: type: number default: 16 + markdownAutoWrap: + type: boolean $defs: # JSON Schema definition (maybe we should move these to a seperate file) BaseDiagramConfig: From 49a197eaa82aa31460e549a03c85473fd4635324 Mon Sep 17 00:00:00 2001 From: Sidharth Vinod Date: Fri, 6 Oct 2023 11:12:50 +0530 Subject: [PATCH 088/789] chore: Update pnpm-lock --- pnpm-lock.yaml | 6401 ++++++++++++++++++++++++------------------------ 1 file changed, 3230 insertions(+), 3171 deletions(-) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 7aa7222644..73c19d3cb0 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -1,5 +1,9 @@ lockfileVersion: '6.0' +settings: + autoInstallPeers: true + excludeLinksFromLockfile: false + importers: .: @@ -18,7 +22,7 @@ importers: version: 6.31.1 '@cypress/code-coverage': specifier: ^3.10.7 - version: 3.10.7(@babel/core@7.22.10)(@babel/preset-env@7.22.10)(babel-loader@9.1.3)(cypress@12.10.0)(webpack@5.88.2) + version: 3.10.7(@babel/core@7.12.3)(@babel/preset-env@7.20.2)(babel-loader@9.1.2)(cypress@12.10.0)(webpack@5.88.2) '@rollup/plugin-typescript': specifier: ^11.1.1 version: 11.1.1(typescript@5.1.3) @@ -54,10 +58,10 @@ importers: version: 4.2.1 '@typescript-eslint/eslint-plugin': specifier: ^6.7.2 - version: 6.7.2(@typescript-eslint/parser@6.7.2)(eslint@8.39.0)(typescript@5.1.3) + version: 6.7.4(@typescript-eslint/parser@6.7.4)(eslint@8.39.0)(typescript@5.1.3) '@typescript-eslint/parser': specifier: ^6.7.2 - version: 6.7.2(eslint@8.39.0)(typescript@5.1.3) + version: 6.7.4(eslint@8.39.0)(typescript@5.1.3) '@vitest/coverage-v8': specifier: ^0.34.0 version: 0.34.0(vitest@0.34.0) @@ -102,7 +106,7 @@ importers: version: 7.1.0 eslint-plugin-jest: specifier: ^27.2.1 - version: 27.2.1(@typescript-eslint/eslint-plugin@6.7.2)(eslint@8.39.0)(jest@29.5.0)(typescript@5.1.3) + version: 27.2.1(@typescript-eslint/eslint-plugin@6.7.4)(eslint@8.39.0)(jest@29.5.0)(typescript@5.1.3) eslint-plugin-jsdoc: specifier: ^46.0.0 version: 46.0.0(eslint@8.39.0) @@ -207,7 +211,7 @@ importers: version: 2.1.0(cytoscape@3.23.0) d3: specifier: ^7.4.0 - version: 7.4.0 + version: 7.8.2 d3-sankey: specifier: ^0.12.3 version: 0.12.3 @@ -292,10 +296,10 @@ importers: version: 9.0.1 '@typescript-eslint/eslint-plugin': specifier: ^5.59.0 - version: 5.59.0(@typescript-eslint/parser@5.59.0)(eslint@8.47.0)(typescript@5.1.3) + version: 5.59.0(@typescript-eslint/parser@5.59.0)(eslint@8.39.0)(typescript@5.0.4) '@typescript-eslint/parser': specifier: ^5.59.0 - version: 5.59.0(eslint@8.47.0)(typescript@5.1.3) + version: 5.59.0(eslint@8.39.0)(typescript@5.0.4) ajv: specifier: ^8.11.2 version: 8.12.0 @@ -358,13 +362,13 @@ importers: version: 4.1.0 typedoc: specifier: ^0.25.0 - version: 0.25.0(typescript@5.1.3) + version: 0.25.0(typescript@5.0.4) typedoc-plugin-markdown: specifier: ^3.15.2 version: 3.15.2(typedoc@0.25.0) typescript: specifier: ^5.0.4 - version: 5.1.3 + version: 5.0.4 unist-util-flatmap: specifier: ^1.0.0 version: 1.0.0 @@ -373,10 +377,10 @@ importers: version: 4.1.2 vitepress: specifier: ^1.0.0-alpha.72 - version: 1.0.0-rc.10(@algolia/client-search@4.19.1)(@types/node@18.16.0)(search-insights@2.7.0) + version: 1.0.0-alpha.72(@algolia/client-search@4.19.1)(@types/node@18.16.0) vitepress-plugin-search: specifier: ^1.0.4-alpha.20 - version: 1.0.4-alpha.20(flexsearch@0.7.31)(vitepress@1.0.0-rc.10)(vue@3.3.4) + version: 1.0.4-alpha.20(flexsearch@0.7.31)(vitepress@1.0.0-alpha.72)(vue@3.3.4) packages/mermaid-example-diagram: dependencies: @@ -394,7 +398,7 @@ importers: version: 2.1.0(cytoscape@3.23.0) d3: specifier: ^7.0.0 - version: 7.4.0 + version: 7.8.2 khroma: specifier: ^2.0.0 version: 2.0.0 @@ -426,7 +430,7 @@ importers: dependencies: '@vueuse/core': specifier: ^10.1.0 - version: 10.1.0(vue@3.3.0) + version: 10.1.0(vue@3.3.4) jiti: specifier: ^1.18.2 version: 1.18.2 @@ -435,20 +439,20 @@ importers: version: link:../.. vue: specifier: ^3.3 - version: 3.3.0 + version: 3.3.4 devDependencies: '@iconify-json/carbon': specifier: ^1.1.16 version: 1.1.16 '@unocss/reset': specifier: ^0.56.0 - version: 0.56.1 + version: 0.56.5 '@vite-pwa/vitepress': specifier: ^0.2.0 version: 0.2.0(vite-plugin-pwa@0.16.0) '@vitejs/plugin-vue': specifier: ^4.2.1 - version: 4.2.1(vite@4.3.9)(vue@3.3.0) + version: 4.2.1(vite@4.3.9)(vue@3.3.4) fast-glob: specifier: ^3.2.12 version: 3.2.12 @@ -460,10 +464,10 @@ importers: version: 1.1.0 unocss: specifier: ^0.56.0 - version: 0.56.1(postcss@8.4.27)(rollup@2.79.1)(vite@4.3.9) + version: 0.56.5(postcss@8.4.27)(rollup@2.79.1)(vite@4.3.9) unplugin-vue-components: specifier: ^0.25.0 - version: 0.25.0(rollup@2.79.1)(vue@3.3.0) + version: 0.25.0(rollup@2.79.1)(vue@3.3.4) vite: specifier: ^4.3.9 version: 4.3.9(@types/node@18.16.0) @@ -477,6 +481,61 @@ importers: specifier: ^7.0.0 version: 7.0.0 + packages/mermaid/src/vitepress: + dependencies: + '@vueuse/core': + specifier: ^10.1.0 + version: 10.1.0(vue@3.3.4) + jiti: + specifier: ^1.18.2 + version: 1.18.2 + mermaid: + specifier: workspace:^ + version: link:../.. + vue: + specifier: ^3.3 + version: 3.3.4 + devDependencies: + '@iconify-json/carbon': + specifier: ^1.1.16 + version: 1.1.16 + '@unocss/reset': + specifier: ^0.55.2 + version: 0.55.2 + '@vite-pwa/vitepress': + specifier: ^0.2.0 + version: 0.2.0(vite-plugin-pwa@0.16.0) + '@vitejs/plugin-vue': + specifier: ^4.2.1 + version: 4.2.1(vite@4.3.9)(vue@3.3.4) + fast-glob: + specifier: ^3.2.12 + version: 3.2.12 + https-localhost: + specifier: ^4.7.1 + version: 4.7.1 + pathe: + specifier: ^1.1.0 + version: 1.1.0 + unocss: + specifier: ^0.55.2 + version: 0.55.2(postcss@8.4.27)(rollup@2.79.1)(vite@4.3.9) + unplugin-vue-components: + specifier: ^0.25.0 + version: 0.25.0(rollup@2.79.1)(vue@3.3.4) + vite: + specifier: ^4.3.9 + version: 4.3.9(@types/node@18.16.0) + vite-plugin-pwa: + specifier: ^0.16.0 + version: 0.16.0(vite@4.3.9)(workbox-build@7.0.0)(workbox-window@7.0.0) + vitepress: + specifier: 1.0.0-rc.12 + version: 1.0.0-rc.12(@algolia/client-search@4.19.1)(@types/node@18.16.0)(search-insights@2.6.0) + workbox-window: + specifier: ^7.0.0 + version: 7.0.0 + packages/parser: dependencies: langium: @@ -508,11 +567,6 @@ importers: packages: - /@aashutoshrathi/word-wrap@1.2.6: - resolution: {integrity: sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==} - engines: {node: '>=0.10.0'} - dev: true - /@adobe/helix-log@6.0.0: resolution: {integrity: sha512-+9gpf49sFDmZLV3gtjY+RmEUistqYJdVWpiqlRYpxE59x5bHFzYf93dZ7fljSTBtZdVq8lm97HxrTUloh5HvRg==} dependencies: @@ -529,8 +583,8 @@ packages: hasBin: true dependencies: '@adobe/helix-log': 6.0.0 - '@types/json-schema': 7.0.12 - '@types/mdast': 3.0.12 + '@types/json-schema': 7.0.11 + '@types/mdast': 3.0.11 es2015-i18n-tag: 1.6.1 ferrum: 1.9.4 fs-extra: 11.0.0 @@ -550,10 +604,16 @@ packages: - supports-color dev: true - /@algolia/autocomplete-core@1.9.3(@algolia/client-search@4.19.1)(algoliasearch@4.19.1)(search-insights@2.7.0): + /@algolia/autocomplete-core@1.8.2: + resolution: {integrity: sha512-mTeshsyFhAqw/ebqNsQpMtbnjr+qVOSKXArEj4K0d7sqc8It1XD0gkASwecm9mF/jlOQ4Z9RNg1HbdA8JPdRwQ==} + dependencies: + '@algolia/autocomplete-shared': 1.8.2 + dev: true + + /@algolia/autocomplete-core@1.9.3(@algolia/client-search@4.19.1)(algoliasearch@4.19.1)(search-insights@2.6.0): resolution: {integrity: sha512-009HdfugtGCdC4JdXUbVJClA0q0zh24yyePn+KUGk3rP7j8FEe/m5Yo/z65gn6nP/cM39PxpzqKrL7A6fP6PPw==} dependencies: - '@algolia/autocomplete-plugin-algolia-insights': 1.9.3(@algolia/client-search@4.19.1)(algoliasearch@4.19.1)(search-insights@2.7.0) + '@algolia/autocomplete-plugin-algolia-insights': 1.9.3(@algolia/client-search@4.19.1)(algoliasearch@4.19.1)(search-insights@2.6.0) '@algolia/autocomplete-shared': 1.9.3(@algolia/client-search@4.19.1)(algoliasearch@4.19.1) transitivePeerDependencies: - '@algolia/client-search' @@ -561,18 +621,29 @@ packages: - search-insights dev: true - /@algolia/autocomplete-plugin-algolia-insights@1.9.3(@algolia/client-search@4.19.1)(algoliasearch@4.19.1)(search-insights@2.7.0): + /@algolia/autocomplete-plugin-algolia-insights@1.9.3(@algolia/client-search@4.19.1)(algoliasearch@4.19.1)(search-insights@2.6.0): resolution: {integrity: sha512-a/yTUkcO/Vyy+JffmAnTWbr4/90cLzw+CC3bRbhnULr/EM0fGNvM13oQQ14f2moLMcVDyAx/leczLlAOovhSZg==} peerDependencies: search-insights: '>= 1 < 3' dependencies: '@algolia/autocomplete-shared': 1.9.3(@algolia/client-search@4.19.1)(algoliasearch@4.19.1) - search-insights: 2.7.0 + search-insights: 2.6.0 transitivePeerDependencies: - '@algolia/client-search' - algoliasearch dev: true + /@algolia/autocomplete-preset-algolia@1.8.2(@algolia/client-search@4.19.1)(algoliasearch@4.14.2): + resolution: {integrity: sha512-J0oTx4me6ZM9kIKPuL3lyU3aB8DEvpVvR6xWmHVROx5rOYJGQcZsdG4ozxwcOyiiu3qxMkIbzntnV1S1VWD8yA==} + peerDependencies: + '@algolia/client-search': '>= 4.9.1 < 6' + algoliasearch: '>= 4.9.1 < 6' + dependencies: + '@algolia/autocomplete-shared': 1.8.2 + '@algolia/client-search': 4.19.1 + algoliasearch: 4.14.2 + dev: true + /@algolia/autocomplete-preset-algolia@1.9.3(@algolia/client-search@4.19.1)(algoliasearch@4.19.1): resolution: {integrity: sha512-d4qlt6YmrLMYy95n5TB52wtNDr6EgAIPH81dvvvW8UmuWRgxEtY0NJiPwl/h95JtG2vmRM804M0DSwMCNZlzRA==} peerDependencies: @@ -584,6 +655,10 @@ packages: algoliasearch: 4.19.1 dev: true + /@algolia/autocomplete-shared@1.8.2: + resolution: {integrity: sha512-b6Z/X4MczChMcfhk6kfRmBzPgjoPzuS9KGR4AFsiLulLNRAAqhP+xZTKtMnZGhLuc61I20d5WqlId02AZvcO6g==} + dev: true + /@algolia/autocomplete-shared@1.9.3(@algolia/client-search@4.19.1)(algoliasearch@4.19.1): resolution: {integrity: sha512-Wnm9E4Ye6Rl6sTTqjoymD+l8DjSTHsHboVRYrKgEt8Q7UHm9nYbqhN/i0fhUYA3OAEH7WA8x3jfpnmJm3rKvaQ==} peerDependencies: @@ -594,22 +669,46 @@ packages: algoliasearch: 4.19.1 dev: true + /@algolia/cache-browser-local-storage@4.14.2: + resolution: {integrity: sha512-FRweBkK/ywO+GKYfAWbrepewQsPTIEirhi1BdykX9mxvBPtGNKccYAxvGdDCumU1jL4r3cayio4psfzKMejBlA==} + dependencies: + '@algolia/cache-common': 4.14.2 + dev: true + /@algolia/cache-browser-local-storage@4.19.1: resolution: {integrity: sha512-FYAZWcGsFTTaSAwj9Std8UML3Bu8dyWDncM7Ls8g+58UOe4XYdlgzXWbrIgjaguP63pCCbMoExKr61B+ztK3tw==} dependencies: '@algolia/cache-common': 4.19.1 dev: true + /@algolia/cache-common@4.14.2: + resolution: {integrity: sha512-SbvAlG9VqNanCErr44q6lEKD2qoK4XtFNx9Qn8FK26ePCI8I9yU7pYB+eM/cZdS9SzQCRJBbHUumVr4bsQ4uxg==} + dev: true + /@algolia/cache-common@4.19.1: resolution: {integrity: sha512-XGghi3l0qA38HiqdoUY+wvGyBsGvKZ6U3vTiMBT4hArhP3fOGLXpIINgMiiGjTe4FVlTa5a/7Zf2bwlIHfRqqg==} dev: true + /@algolia/cache-in-memory@4.14.2: + resolution: {integrity: sha512-HrOukWoop9XB/VFojPv1R5SVXowgI56T9pmezd/djh2JnVN/vXswhXV51RKy4nCpqxyHt/aGFSq2qkDvj6KiuQ==} + dependencies: + '@algolia/cache-common': 4.14.2 + dev: true + /@algolia/cache-in-memory@4.19.1: resolution: {integrity: sha512-+PDWL+XALGvIginigzu8oU6eWw+o76Z8zHbBovWYcrtWOEtinbl7a7UTt3x3lthv+wNuFr/YD1Gf+B+A9V8n5w==} dependencies: '@algolia/cache-common': 4.19.1 dev: true + /@algolia/client-account@4.14.2: + resolution: {integrity: sha512-WHtriQqGyibbb/Rx71YY43T0cXqyelEU0lB2QMBRXvD2X0iyeGl4qMxocgEIcbHyK7uqE7hKgjT8aBrHqhgc1w==} + dependencies: + '@algolia/client-common': 4.14.2 + '@algolia/client-search': 4.14.2 + '@algolia/transporter': 4.14.2 + dev: true + /@algolia/client-account@4.19.1: resolution: {integrity: sha512-Oy0ritA2k7AMxQ2JwNpfaEcgXEDgeyKu0V7E7xt/ZJRdXfEpZcwp9TOg4TJHC7Ia62gIeT2Y/ynzsxccPw92GA==} dependencies: @@ -618,6 +717,15 @@ packages: '@algolia/transporter': 4.19.1 dev: true + /@algolia/client-analytics@4.14.2: + resolution: {integrity: sha512-yBvBv2mw+HX5a+aeR0dkvUbFZsiC4FKSnfqk9rrfX+QrlNOKEhCG0tJzjiOggRW4EcNqRmaTULIYvIzQVL2KYQ==} + dependencies: + '@algolia/client-common': 4.14.2 + '@algolia/client-search': 4.14.2 + '@algolia/requester-common': 4.14.2 + '@algolia/transporter': 4.14.2 + dev: true + /@algolia/client-analytics@4.19.1: resolution: {integrity: sha512-5QCq2zmgdZLIQhHqwl55ZvKVpLM3DNWjFI4T+bHr3rGu23ew2bLO4YtyxaZeChmDb85jUdPDouDlCumGfk6wOg==} dependencies: @@ -627,6 +735,13 @@ packages: '@algolia/transporter': 4.19.1 dev: true + /@algolia/client-common@4.14.2: + resolution: {integrity: sha512-43o4fslNLcktgtDMVaT5XwlzsDPzlqvqesRi4MjQz2x4/Sxm7zYg5LRYFol1BIhG6EwxKvSUq8HcC/KxJu3J0Q==} + dependencies: + '@algolia/requester-common': 4.14.2 + '@algolia/transporter': 4.14.2 + dev: true + /@algolia/client-common@4.19.1: resolution: {integrity: sha512-3kAIVqTcPrjfS389KQvKzliC559x+BDRxtWamVJt8IVp7LGnjq+aVAXg4Xogkur1MUrScTZ59/AaUd5EdpyXgA==} dependencies: @@ -634,6 +749,14 @@ packages: '@algolia/transporter': 4.19.1 dev: true + /@algolia/client-personalization@4.14.2: + resolution: {integrity: sha512-ACCoLi0cL8CBZ1W/2juehSltrw2iqsQBnfiu/Rbl9W2yE6o2ZUb97+sqN/jBqYNQBS+o0ekTMKNkQjHHAcEXNw==} + dependencies: + '@algolia/client-common': 4.14.2 + '@algolia/requester-common': 4.14.2 + '@algolia/transporter': 4.14.2 + dev: true + /@algolia/client-personalization@4.19.1: resolution: {integrity: sha512-8CWz4/H5FA+krm9HMw2HUQenizC/DxUtsI5oYC0Jxxyce1vsr8cb1aEiSJArQT6IzMynrERif1RVWLac1m36xw==} dependencies: @@ -642,6 +765,14 @@ packages: '@algolia/transporter': 4.19.1 dev: true + /@algolia/client-search@4.14.2: + resolution: {integrity: sha512-L5zScdOmcZ6NGiVbLKTvP02UbxZ0njd5Vq9nJAmPFtjffUSOGEp11BmD2oMJ5QvARgx2XbX4KzTTNS5ECYIMWw==} + dependencies: + '@algolia/client-common': 4.14.2 + '@algolia/requester-common': 4.14.2 + '@algolia/transporter': 4.14.2 + dev: true + /@algolia/client-search@4.19.1: resolution: {integrity: sha512-mBecfMFS4N+yK/p0ZbK53vrZbL6OtWMk8YmnOv1i0LXx4pelY8TFhqKoTit3NPVPwoSNN0vdSN9dTu1xr1XOVw==} dependencies: @@ -650,32 +781,66 @@ packages: '@algolia/transporter': 4.19.1 dev: true + /@algolia/logger-common@4.14.2: + resolution: {integrity: sha512-/JGlYvdV++IcMHBnVFsqEisTiOeEr6cUJtpjz8zc0A9c31JrtLm318Njc72p14Pnkw3A/5lHHh+QxpJ6WFTmsA==} + dev: true + /@algolia/logger-common@4.19.1: resolution: {integrity: sha512-i6pLPZW/+/YXKis8gpmSiNk1lOmYCmRI6+x6d2Qk1OdfvX051nRVdalRbEcVTpSQX6FQAoyeaui0cUfLYW5Elw==} dev: true + /@algolia/logger-console@4.14.2: + resolution: {integrity: sha512-8S2PlpdshbkwlLCSAB5f8c91xyc84VM9Ar9EdfE9UmX+NrKNYnWR1maXXVDQQoto07G1Ol/tYFnFVhUZq0xV/g==} + dependencies: + '@algolia/logger-common': 4.14.2 + dev: true + /@algolia/logger-console@4.19.1: resolution: {integrity: sha512-jj72k9GKb9W0c7TyC3cuZtTr0CngLBLmc8trzZlXdfvQiigpUdvTi1KoWIb2ZMcRBG7Tl8hSb81zEY3zI2RlXg==} dependencies: '@algolia/logger-common': 4.19.1 dev: true + /@algolia/requester-browser-xhr@4.14.2: + resolution: {integrity: sha512-CEh//xYz/WfxHFh7pcMjQNWgpl4wFB85lUMRyVwaDPibNzQRVcV33YS+63fShFWc2+42YEipFGH2iPzlpszmDw==} + dependencies: + '@algolia/requester-common': 4.14.2 + dev: true + /@algolia/requester-browser-xhr@4.19.1: resolution: {integrity: sha512-09K/+t7lptsweRTueHnSnmPqIxbHMowejAkn9XIcJMLdseS3zl8ObnS5GWea86mu3vy4+8H+ZBKkUN82Zsq/zg==} dependencies: '@algolia/requester-common': 4.19.1 dev: true + /@algolia/requester-common@4.14.2: + resolution: {integrity: sha512-73YQsBOKa5fvVV3My7iZHu1sUqmjjfs9TteFWwPwDmnad7T0VTCopttcsM3OjLxZFtBnX61Xxl2T2gmG2O4ehg==} + dev: true + /@algolia/requester-common@4.19.1: resolution: {integrity: sha512-BisRkcWVxrDzF1YPhAckmi2CFYK+jdMT60q10d7z3PX+w6fPPukxHRnZwooiTUrzFe50UBmLItGizWHP5bDzVQ==} dev: true + /@algolia/requester-node-http@4.14.2: + resolution: {integrity: sha512-oDbb02kd1o5GTEld4pETlPZLY0e+gOSWjWMJHWTgDXbv9rm/o2cF7japO6Vj1ENnrqWvLBmW1OzV9g6FUFhFXg==} + dependencies: + '@algolia/requester-common': 4.14.2 + dev: true + /@algolia/requester-node-http@4.19.1: resolution: {integrity: sha512-6DK52DHviBHTG2BK/Vv2GIlEw7i+vxm7ypZW0Z7vybGCNDeWzADx+/TmxjkES2h15+FZOqVf/Ja677gePsVItA==} dependencies: '@algolia/requester-common': 4.19.1 dev: true + /@algolia/transporter@4.14.2: + resolution: {integrity: sha512-t89dfQb2T9MFQHidjHcfhh6iGMNwvuKUvojAj+JsrHAGbuSy7yE4BylhLX6R0Q1xYRoC4Vvv+O5qIw/LdnQfsQ==} + dependencies: + '@algolia/cache-common': 4.14.2 + '@algolia/logger-common': 4.14.2 + '@algolia/requester-common': 4.14.2 + dev: true + /@algolia/transporter@4.19.1: resolution: {integrity: sha512-nkpvPWbpuzxo1flEYqNIbGz7xhfhGOKGAZS7tzC+TELgEmi7z99qRyTfNSUlW7LZmB3ACdnqAo+9A9KFBENviQ==} dependencies: @@ -693,8 +858,8 @@ packages: resolution: {integrity: sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==} engines: {node: '>=6.0.0'} dependencies: - '@jridgewell/gen-mapping': 0.3.3 - '@jridgewell/trace-mapping': 0.3.19 + '@jridgewell/gen-mapping': 0.3.2 + '@jridgewell/trace-mapping': 0.3.17 dev: true /@antfu/install-pkg@0.1.1: @@ -704,8 +869,8 @@ packages: find-up: 5.0.0 dev: true - /@antfu/utils@0.7.6: - resolution: {integrity: sha512-pvFiLP2BeOKA/ZOS6jxx4XhKzdVLHDhGlFEaZ2flWWYf2xOqVniqpk38I04DFRyz+L0ASggl7SkItTc+ZLju4w==} + /@antfu/utils@0.7.5: + resolution: {integrity: sha512-dlR6LdS+0SzOAPx/TPRhnoi7hE251OVeT2Snw0RguNbBSbjUHdWr0l3vcUUDg26rEysT89kCbtw1lVorBXLLCg==} dev: true /@apideck/better-ajv-errors@0.3.6(ajv@8.12.0): @@ -756,7 +921,7 @@ packages: '@types/ws': 8.5.4 abort-controller: 3.0.0 chalk: 4.1.2 - node-fetch: 2.6.7(encoding@0.1.13) + node-fetch: 2.6.7 webdriver: 7.30.0(typescript@5.1.3) ws: 8.12.0 yargs: 17.6.2 @@ -849,15 +1014,15 @@ packages: dependencies: '@applitools/eg-frpc': 1.0.3 '@applitools/eg-socks5-proxy-server': 0.5.4 - '@applitools/logger': 1.1.53 - dotenv: 16.3.1 + '@applitools/logger': 1.1.48 + dotenv: 16.0.3 encoding: 0.1.13 fastify: 3.29.5 fastify-plugin: 3.0.1 find-process: 1.4.7 ini: 3.0.1 node-cleanup: 2.1.2 - node-fetch: 2.6.7(encoding@0.1.13) + node-fetch: 2.6.9(encoding@0.1.13) p-retry: 4.6.2 teen_process: 1.16.0 transitivePeerDependencies: @@ -929,24 +1094,24 @@ packages: data-urls: 3.0.2 decimal.js: 10.4.3 domexception: 4.0.0 - escodegen: 2.1.0 + escodegen: 2.0.0 form-data: 4.0.0 html-encoding-sniffer: 3.0.0 http-proxy-agent: 5.0.0 https-proxy-agent: 5.0.1 is-potential-custom-element-name: 1.0.1 - nwsapi: 2.2.7 + nwsapi: 2.2.5 parse5: 6.0.1 saxes: 5.0.1 symbol-tree: 3.2.4 - tough-cookie: 4.1.3 + tough-cookie: 4.1.2 w3c-hr-time: 1.0.2 w3c-xmlserializer: 3.0.0 webidl-conversions: 7.0.0 whatwg-encoding: 2.0.0 whatwg-mimetype: 3.0.0 whatwg-url: 10.0.0 - ws: 8.12.0 + ws: 8.13.0 xml-name-validator: 4.0.0 transitivePeerDependencies: - bufferutil @@ -954,11 +1119,11 @@ packages: - utf-8-validate dev: true - /@applitools/logger@1.1.53: - resolution: {integrity: sha512-4mlzYxc0MgM3WIxEwKqIjn9W7G7kMtQc2bFRxozViKOXypTfr72j8iODs88wcetP0GsXtplhZQ5/6aZN5WY9ug==} + /@applitools/logger@1.1.48: + resolution: {integrity: sha512-A/8Q9p2INPDOMGE8Hqodpw5UxXLGdW4z2w8gOzEJ3zi0MyLOY3lBZiaPKEP0nmOs29q4r/yr0srYY5j9FVAmCg==} engines: {node: '>=12.13.0'} dependencies: - '@applitools/utils': 1.3.36 + '@applitools/utils': 1.3.32 chalk: 4.1.2 debug: 4.3.3 transitivePeerDependencies: @@ -1061,8 +1226,8 @@ packages: - utf-8-validate dev: true - /@applitools/utils@1.3.36: - resolution: {integrity: sha512-eROEssh7wIW+V87PvLiHI2hUPxqoBxXFMRx3+z5qOZqXUPSR1Uz7EMFwxZcDDR7T6C3O3UDckB2aVB5fJAg5JA==} + /@applitools/utils@1.3.32: + resolution: {integrity: sha512-GSMSf1NNW6fEm0u1ANGrQY+ESs8UgDYAZnaVrgjpFJ8ONL8eVDXn3tiIDdhmj/HKthAHqiYOYdRESmpuru/zrQ==} engines: {node: '>=12.13.0'} dev: true @@ -1076,1136 +1241,1153 @@ packages: engines: {node: '>=4'} dev: true - /@babel/code-frame@7.22.10: - resolution: {integrity: sha512-/KKIMG4UEL35WmI9OlvMhurwtytjvXoFcGNrOvyG9zIzA8YmPjVtIZUf7b05+TPO7G7/GEmLHDaoCgACHl9hhA==} + /@babel/code-frame@7.18.6: + resolution: {integrity: sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==} engines: {node: '>=6.9.0'} dependencies: - '@babel/highlight': 7.22.10 - chalk: 2.4.2 + '@babel/highlight': 7.18.6 dev: true - /@babel/compat-data@7.22.9: - resolution: {integrity: sha512-5UamI7xkUcJ3i9qVDS+KFDEK8/7oJ55/sJMB1Ge7IEapr7KfdfV/HErR+koZwOfd+SgtFKOKRhRakdg++DcJpQ==} + /@babel/compat-data@7.21.0: + resolution: {integrity: sha512-gMuZsmsgxk/ENC3O/fRw5QY8A9/uxQbbCEypnLIiYYc/qVJtEV7ouxC3EllIIwNzMqAQee5tanFabWsUOutS7g==} engines: {node: '>=6.9.0'} dev: true - /@babel/core@7.22.10: - resolution: {integrity: sha512-fTmqbbUBAwCcre6zPzNngvsI0aNrPZe77AeqvDxWM9Nm+04RrJ3CAmGHA9f7lJQY6ZMhRztNemy4uslDxTX4Qw==} + /@babel/core@7.12.3: + resolution: {integrity: sha512-0qXcZYKZp3/6N2jKYVxZv0aNCsxTSVCiK72DTiTYZAu7sjg73W0/aynWjMbiGd87EQL4WyA8reiJVh92AVla9g==} engines: {node: '>=6.9.0'} dependencies: - '@ampproject/remapping': 2.2.1 - '@babel/code-frame': 7.22.10 - '@babel/generator': 7.22.10 - '@babel/helper-compilation-targets': 7.22.10 - '@babel/helper-module-transforms': 7.22.9(@babel/core@7.22.10) - '@babel/helpers': 7.22.10 - '@babel/parser': 7.22.10 - '@babel/template': 7.22.5 - '@babel/traverse': 7.22.10 - '@babel/types': 7.22.10 - convert-source-map: 1.9.0 + '@babel/code-frame': 7.18.6 + '@babel/generator': 7.21.1 + '@babel/helper-module-transforms': 7.21.2 + '@babel/helpers': 7.19.0 + '@babel/parser': 7.21.8 + '@babel/template': 7.20.7 + '@babel/traverse': 7.21.2 + '@babel/types': 7.21.2 + convert-source-map: 1.8.0 debug: 4.3.4(supports-color@8.1.1) gensync: 1.0.0-beta.2 json5: 2.2.3 - semver: 6.3.1 + lodash: 4.17.21 + resolve: 1.22.2 + semver: 5.7.1 + source-map: 0.5.7 transitivePeerDependencies: - supports-color dev: true - /@babel/generator@7.22.10: - resolution: {integrity: sha512-79KIf7YiWjjdZ81JnLujDRApWtl7BxTqWD88+FFdQEIOG8LJ0etDOM7CXuIgGJa55sGOwZVwuEsaLEm0PJ5/+A==} + /@babel/generator@7.21.1: + resolution: {integrity: sha512-1lT45bAYlQhFn/BHivJs43AiW2rg3/UbLyShGfF3C0KmHvO5fSghWd5kBJy30kpRRucGzXStvnnCFniCR2kXAA==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.22.10 - '@jridgewell/gen-mapping': 0.3.3 - '@jridgewell/trace-mapping': 0.3.19 + '@babel/types': 7.21.2 + '@jridgewell/gen-mapping': 0.3.2 + '@jridgewell/trace-mapping': 0.3.17 jsesc: 2.5.2 dev: true - /@babel/helper-annotate-as-pure@7.22.5: - resolution: {integrity: sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg==} + /@babel/helper-annotate-as-pure@7.18.6: + resolution: {integrity: sha512-duORpUiYrEpzKIop6iNbjnwKLAKnJ47csTyRACyEmWj0QdUrm5aqNJGHSSEQSUAvNW0ojX0dOmK9dZduvkfeXA==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.22.10 + '@babel/types': 7.21.2 dev: true - /@babel/helper-builder-binary-assignment-operator-visitor@7.22.10: - resolution: {integrity: sha512-Av0qubwDQxC56DoUReVDeLfMEjYYSN1nZrTUrWkXd7hpU73ymRANkbuDm3yni9npkn+RXy9nNbEJZEzXr7xrfQ==} + /@babel/helper-builder-binary-assignment-operator-visitor@7.18.9: + resolution: {integrity: sha512-yFQ0YCHoIqarl8BCRwBL8ulYUaZpz3bNsA7oFepAzee+8/+ImtADXNOmO5vJvsPff3qi+hvpkY/NYBTrBQgdNw==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.22.10 + '@babel/helper-explode-assignable-expression': 7.18.6 + '@babel/types': 7.21.2 dev: true - /@babel/helper-compilation-targets@7.22.10: - resolution: {integrity: sha512-JMSwHD4J7SLod0idLq5PKgI+6g/hLD/iuWBq08ZX49xE14VpVEojJ5rHWptpirV2j020MvypRLAXAO50igCJ5Q==} + /@babel/helper-compilation-targets@7.20.7(@babel/core@7.12.3): + resolution: {integrity: sha512-4tGORmfQcrc+bvrjb5y3dG9Mx1IOZjsHqQVUz7XCNHO+iTmqxWnVg3KRygjGmpRLJGdQSKuvFinbIb0CnZwHAQ==} engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 dependencies: - '@babel/compat-data': 7.22.9 - '@babel/helper-validator-option': 7.22.5 - browserslist: 4.21.10 + '@babel/compat-data': 7.21.0 + '@babel/core': 7.12.3 + '@babel/helper-validator-option': 7.21.0 + browserslist: 4.21.5 lru-cache: 5.1.1 - semver: 6.3.1 + semver: 6.3.0 dev: true - /@babel/helper-create-class-features-plugin@7.22.10(@babel/core@7.22.10): - resolution: {integrity: sha512-5IBb77txKYQPpOEdUdIhBx8VrZyDCQ+H82H0+5dX1TmuscP5vJKEE3cKurjtIw/vFwzbVH48VweE78kVDBrqjA==} + /@babel/helper-create-class-features-plugin@7.21.0(@babel/core@7.12.3): + resolution: {integrity: sha512-Q8wNiMIdwsv5la5SPxNYzzkPnjgC0Sy0i7jLkVOCdllu/xcVNkr3TeZzbHBJrj+XXRqzX5uCyCoV9eu6xUG7KQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.22.10 - '@babel/helper-annotate-as-pure': 7.22.5 - '@babel/helper-environment-visitor': 7.22.5 - '@babel/helper-function-name': 7.22.5 - '@babel/helper-member-expression-to-functions': 7.22.5 - '@babel/helper-optimise-call-expression': 7.22.5 - '@babel/helper-replace-supers': 7.22.9(@babel/core@7.22.10) - '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 - '@babel/helper-split-export-declaration': 7.22.6 - semver: 6.3.1 + '@babel/core': 7.12.3 + '@babel/helper-annotate-as-pure': 7.18.6 + '@babel/helper-environment-visitor': 7.18.9 + '@babel/helper-function-name': 7.21.0 + '@babel/helper-member-expression-to-functions': 7.21.0 + '@babel/helper-optimise-call-expression': 7.18.6 + '@babel/helper-replace-supers': 7.20.7 + '@babel/helper-skip-transparent-expression-wrappers': 7.20.0 + '@babel/helper-split-export-declaration': 7.18.6 + transitivePeerDependencies: + - supports-color dev: true - /@babel/helper-create-regexp-features-plugin@7.22.9(@babel/core@7.22.10): - resolution: {integrity: sha512-+svjVa/tFwsNSG4NEy1h85+HQ5imbT92Q5/bgtS7P0GTQlP8WuFdqsiABmQouhiFGyV66oGxZFpeYHza1rNsKw==} + /@babel/helper-create-regexp-features-plugin@7.21.0(@babel/core@7.12.3): + resolution: {integrity: sha512-N+LaFW/auRSWdx7SHD/HiARwXQju1vXTW4fKr4u5SgBUTm51OKEjKgj+cs00ggW3kEvNqwErnlwuq7Y3xBe4eg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.22.10 - '@babel/helper-annotate-as-pure': 7.22.5 - regexpu-core: 5.3.2 - semver: 6.3.1 + '@babel/core': 7.12.3 + '@babel/helper-annotate-as-pure': 7.18.6 + regexpu-core: 5.3.1 dev: true - /@babel/helper-define-polyfill-provider@0.4.2(@babel/core@7.22.10): - resolution: {integrity: sha512-k0qnnOqHn5dK9pZpfD5XXZ9SojAITdCKRn2Lp6rnDGzIbaP0rHyMPk/4wsSxVBVz4RfN0q6VpXWP2pDGIoQ7hw==} + /@babel/helper-define-polyfill-provider@0.3.3(@babel/core@7.12.3): + resolution: {integrity: sha512-z5aQKU4IzbqCC1XH0nAqfsFLMVSo22SBKUc0BxGrLkolTdPTructy0ToNnlO2zA4j9Q/7pjMZf0DSY+DSTYzww==} peerDependencies: - '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 + '@babel/core': ^7.4.0-0 dependencies: - '@babel/core': 7.22.10 - '@babel/helper-compilation-targets': 7.22.10 - '@babel/helper-plugin-utils': 7.22.5 + '@babel/core': 7.12.3 + '@babel/helper-compilation-targets': 7.20.7(@babel/core@7.12.3) + '@babel/helper-plugin-utils': 7.20.2 debug: 4.3.4(supports-color@8.1.1) lodash.debounce: 4.0.8 - resolve: 1.22.4 + resolve: 1.22.2 + semver: 6.3.0 transitivePeerDependencies: - supports-color dev: true - /@babel/helper-environment-visitor@7.22.5: - resolution: {integrity: sha512-XGmhECfVA/5sAt+H+xpSg0mfrHq6FzNr9Oxh7PSEBBRUb/mL7Kz3NICXb194rCqAEdxkhPT1a88teizAFyvk8Q==} + /@babel/helper-environment-visitor@7.18.9: + resolution: {integrity: sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg==} engines: {node: '>=6.9.0'} dev: true - /@babel/helper-function-name@7.22.5: - resolution: {integrity: sha512-wtHSq6jMRE3uF2otvfuD3DIvVhOsSNshQl0Qrd7qC9oQJzHvOL4qQXlQn2916+CXGywIjpGuIkoyZRRxHPiNQQ==} + /@babel/helper-explode-assignable-expression@7.18.6: + resolution: {integrity: sha512-eyAYAsQmB80jNfg4baAtLeWAQHfHFiR483rzFK+BhETlGZaQC9bsfrugfXDCbRHLQbIA7U5NxhhOxN7p/dWIcg==} engines: {node: '>=6.9.0'} dependencies: - '@babel/template': 7.22.5 - '@babel/types': 7.22.10 + '@babel/types': 7.21.2 dev: true - /@babel/helper-hoist-variables@7.22.5: - resolution: {integrity: sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==} + /@babel/helper-function-name@7.21.0: + resolution: {integrity: sha512-HfK1aMRanKHpxemaY2gqBmL04iAPOPRj7DxtNbiDOrJK+gdwkiNRVpCpUJYbUT+aZyemKN8brqTOxzCaG6ExRg==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.22.10 + '@babel/template': 7.20.7 + '@babel/types': 7.21.2 dev: true - /@babel/helper-member-expression-to-functions@7.22.5: - resolution: {integrity: sha512-aBiH1NKMG0H2cGZqspNvsaBe6wNGjbJjuLy29aU+eDZjSbbN53BaxlpB02xm9v34pLTZ1nIQPFYn2qMZoa5BQQ==} + /@babel/helper-hoist-variables@7.18.6: + resolution: {integrity: sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.22.10 + '@babel/types': 7.21.2 dev: true - /@babel/helper-module-imports@7.22.5: - resolution: {integrity: sha512-8Dl6+HD/cKifutF5qGd/8ZJi84QeAKh+CEe1sBzz8UayBBGg1dAIJrdHOcOM5b2MpzWL2yuotJTtGjETq0qjXg==} + /@babel/helper-member-expression-to-functions@7.21.0: + resolution: {integrity: sha512-Muu8cdZwNN6mRRNG6lAYErJ5X3bRevgYR2O8wN0yn7jJSnGDu6eG59RfT29JHxGUovyfrh6Pj0XzmR7drNVL3Q==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.22.10 + '@babel/types': 7.21.2 dev: true - /@babel/helper-module-transforms@7.22.9(@babel/core@7.22.10): - resolution: {integrity: sha512-t+WA2Xn5K+rTeGtC8jCsdAH52bjggG5TKRuRrAGNM/mjIbO4GxvlLMFOEz9wXY5I2XQ60PMFsAG2WIcG82dQMQ==} + /@babel/helper-module-imports@7.18.6: + resolution: {integrity: sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA==} engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.22.10 - '@babel/helper-environment-visitor': 7.22.5 - '@babel/helper-module-imports': 7.22.5 - '@babel/helper-simple-access': 7.22.5 - '@babel/helper-split-export-declaration': 7.22.6 - '@babel/helper-validator-identifier': 7.22.5 + '@babel/types': 7.21.2 + dev: true + + /@babel/helper-module-transforms@7.21.2: + resolution: {integrity: sha512-79yj2AR4U/Oqq/WOV7Lx6hUjau1Zfo4cI+JLAVYeMV5XIlbOhmjEk5ulbTc9fMpmlojzZHkUUxAiK+UKn+hNQQ==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/helper-environment-visitor': 7.18.9 + '@babel/helper-module-imports': 7.18.6 + '@babel/helper-simple-access': 7.20.2 + '@babel/helper-split-export-declaration': 7.18.6 + '@babel/helper-validator-identifier': 7.19.1 + '@babel/template': 7.20.7 + '@babel/traverse': 7.21.2 + '@babel/types': 7.21.2 + transitivePeerDependencies: + - supports-color dev: true - /@babel/helper-optimise-call-expression@7.22.5: - resolution: {integrity: sha512-HBwaojN0xFRx4yIvpwGqxiV2tUfl7401jlok564NgB9EHS1y6QT17FmKWm4ztqjeVdXLuC4fSvHc5ePpQjoTbw==} + /@babel/helper-optimise-call-expression@7.18.6: + resolution: {integrity: sha512-HP59oD9/fEHQkdcbgFCnbmgH5vIQTJbxh2yf+CdM89/glUNnuzr87Q8GIjGEnOktTROemO0Pe0iPAYbqZuOUiA==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.22.10 + '@babel/types': 7.21.2 dev: true - /@babel/helper-plugin-utils@7.22.5: - resolution: {integrity: sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg==} + /@babel/helper-plugin-utils@7.20.2: + resolution: {integrity: sha512-8RvlJG2mj4huQ4pZ+rU9lqKi9ZKiRmuvGuM2HlWmkmgOhbs6zEAw6IEiJ5cQqGbDzGZOhwuOQNtZMi/ENLjZoQ==} engines: {node: '>=6.9.0'} dev: true - /@babel/helper-remap-async-to-generator@7.22.9(@babel/core@7.22.10): - resolution: {integrity: sha512-8WWC4oR4Px+tr+Fp0X3RHDVfINGpF3ad1HIbrc8A77epiR6eMMc6jsgozkzT2uDiOOdoS9cLIQ+XD2XvI2WSmQ==} + /@babel/helper-remap-async-to-generator@7.18.9(@babel/core@7.12.3): + resolution: {integrity: sha512-dI7q50YKd8BAv3VEfgg7PS7yD3Rtbi2J1XMXaalXO0W0164hYLnh8zpjRS0mte9MfVp/tltvr/cfdXPvJr1opA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.22.10 - '@babel/helper-annotate-as-pure': 7.22.5 - '@babel/helper-environment-visitor': 7.22.5 - '@babel/helper-wrap-function': 7.22.10 + '@babel/core': 7.12.3 + '@babel/helper-annotate-as-pure': 7.18.6 + '@babel/helper-environment-visitor': 7.18.9 + '@babel/helper-wrap-function': 7.20.5 + '@babel/types': 7.21.2 + transitivePeerDependencies: + - supports-color dev: true - /@babel/helper-replace-supers@7.22.9(@babel/core@7.22.10): - resolution: {integrity: sha512-LJIKvvpgPOPUThdYqcX6IXRuIcTkcAub0IaDRGCZH0p5GPUp7PhRU9QVgFcDDd51BaPkk77ZjqFwh6DZTAEmGg==} + /@babel/helper-replace-supers@7.20.7: + resolution: {integrity: sha512-vujDMtB6LVfNW13jhlCrp48QNslK6JXi7lQG736HVbHz/mbf4Dc7tIRh1Xf5C0rF7BP8iiSxGMCmY6Ci1ven3A==} engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.22.10 - '@babel/helper-environment-visitor': 7.22.5 - '@babel/helper-member-expression-to-functions': 7.22.5 - '@babel/helper-optimise-call-expression': 7.22.5 + '@babel/helper-environment-visitor': 7.18.9 + '@babel/helper-member-expression-to-functions': 7.21.0 + '@babel/helper-optimise-call-expression': 7.18.6 + '@babel/template': 7.20.7 + '@babel/traverse': 7.21.2 + '@babel/types': 7.21.2 + transitivePeerDependencies: + - supports-color dev: true - /@babel/helper-simple-access@7.22.5: - resolution: {integrity: sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==} + /@babel/helper-simple-access@7.20.2: + resolution: {integrity: sha512-+0woI/WPq59IrqDYbVGfshjT5Dmk/nnbdpcF8SnMhhXObpTq2KNBdLFRFrkVdbDOyUmHBCxzm5FHV1rACIkIbA==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.22.10 + '@babel/types': 7.21.2 dev: true - /@babel/helper-skip-transparent-expression-wrappers@7.22.5: - resolution: {integrity: sha512-tK14r66JZKiC43p8Ki33yLBVJKlQDFoA8GYN67lWCDCqoL6EMMSuM9b+Iff2jHaM/RRFYl7K+iiru7hbRqNx8Q==} + /@babel/helper-skip-transparent-expression-wrappers@7.20.0: + resolution: {integrity: sha512-5y1JYeNKfvnT8sZcK9DVRtpTbGiomYIHviSP3OQWmDPU3DeH4a1ZlT/N2lyQ5P8egjcRaT/Y9aNqUxK0WsnIIg==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.22.10 + '@babel/types': 7.21.2 dev: true - /@babel/helper-split-export-declaration@7.22.6: - resolution: {integrity: sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==} + /@babel/helper-split-export-declaration@7.18.6: + resolution: {integrity: sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.22.10 + '@babel/types': 7.21.2 dev: true - /@babel/helper-string-parser@7.22.5: - resolution: {integrity: sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw==} + /@babel/helper-string-parser@7.19.4: + resolution: {integrity: sha512-nHtDoQcuqFmwYNYPz3Rah5ph2p8PFeFCsZk9A/48dPc/rGocJ5J3hAAZ7pb76VWX3fZKu+uEr/FhH5jLx7umrw==} engines: {node: '>=6.9.0'} - /@babel/helper-validator-identifier@7.22.5: - resolution: {integrity: sha512-aJXu+6lErq8ltp+JhkJUfk1MTGyuA4v7f3pA+BJ5HLfNC6nAQ0Cpi9uOquUj8Hehg0aUiHzWQbOVJGao6ztBAQ==} + /@babel/helper-validator-identifier@7.19.1: + resolution: {integrity: sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==} engines: {node: '>=6.9.0'} - /@babel/helper-validator-option@7.22.5: - resolution: {integrity: sha512-R3oB6xlIVKUnxNUxbmgq7pKjxpru24zlimpE8WK47fACIlM0II/Hm1RS8IaOI7NgCr6LNS+jl5l75m20npAziw==} + /@babel/helper-validator-option@7.21.0: + resolution: {integrity: sha512-rmL/B8/f0mKS2baE9ZpyTcTavvEuWhTTW8amjzXNvYG4AwBsqTLikfXsEofsJEfKHf+HQVQbFOHy6o+4cnC/fQ==} engines: {node: '>=6.9.0'} dev: true - /@babel/helper-wrap-function@7.22.10: - resolution: {integrity: sha512-OnMhjWjuGYtdoO3FmsEFWvBStBAe2QOgwOLsLNDjN+aaiMD8InJk1/O3HSD8lkqTjCgg5YI34Tz15KNNA3p+nQ==} + /@babel/helper-wrap-function@7.20.5: + resolution: {integrity: sha512-bYMxIWK5mh+TgXGVqAtnu5Yn1un+v8DDZtqyzKRLUzrh70Eal2O3aZ7aPYiMADO4uKlkzOiRiZ6GX5q3qxvW9Q==} engines: {node: '>=6.9.0'} dependencies: - '@babel/helper-function-name': 7.22.5 - '@babel/template': 7.22.5 - '@babel/types': 7.22.10 + '@babel/helper-function-name': 7.21.0 + '@babel/template': 7.20.7 + '@babel/traverse': 7.21.2 + '@babel/types': 7.21.2 + transitivePeerDependencies: + - supports-color dev: true - /@babel/helpers@7.22.10: - resolution: {integrity: sha512-a41J4NW8HyZa1I1vAndrraTlPZ/eZoga2ZgS7fEr0tZJGVU4xqdE80CEm0CcNjha5EZ8fTBYLKHF0kqDUuAwQw==} + /@babel/helpers@7.19.0: + resolution: {integrity: sha512-DRBCKGwIEdqY3+rPJgG/dKfQy9+08rHIAJx8q2p+HSWP87s2HCrQmaAMMyMll2kIXKCW0cO1RdQskx15Xakftg==} engines: {node: '>=6.9.0'} dependencies: - '@babel/template': 7.22.5 - '@babel/traverse': 7.22.10 - '@babel/types': 7.22.10 + '@babel/template': 7.20.7 + '@babel/traverse': 7.21.2 + '@babel/types': 7.21.2 transitivePeerDependencies: - supports-color dev: true - /@babel/highlight@7.22.10: - resolution: {integrity: sha512-78aUtVcT7MUscr0K5mIEnkwxPE0MaxkR5RxRwuHaQ+JuU5AmTPhY+do2mdzVTnIJJpyBglql2pehuBIWHug+WQ==} + /@babel/highlight@7.18.6: + resolution: {integrity: sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==} engines: {node: '>=6.9.0'} dependencies: - '@babel/helper-validator-identifier': 7.22.5 + '@babel/helper-validator-identifier': 7.19.1 chalk: 2.4.2 js-tokens: 4.0.0 dev: true - /@babel/parser@7.22.10: - resolution: {integrity: sha512-lNbdGsQb9ekfsnjFGhEiF4hfFqGgfOP3H3d27re3n+CGhNuTSUEQdfWk556sTLNTloczcdM5TYF2LhzmDQKyvQ==} + /@babel/parser@7.21.8: + resolution: {integrity: sha512-6zavDGdzG3gUqAdWvlLFfk+36RilI+Pwyuuh7HItyeScCWP3k6i8vKclAQ0bM/0y/Kz/xiwvxhMv9MgTJP5gmA==} engines: {node: '>=6.0.0'} hasBin: true dependencies: - '@babel/types': 7.22.10 + '@babel/types': 7.21.2 - /@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.22.5(@babel/core@7.22.10): - resolution: {integrity: sha512-NP1M5Rf+u2Gw9qfSO4ihjcTGW5zXTi36ITLd4/EoAcEhIZ0yjMqmftDNl3QC19CX7olhrjpyU454g/2W7X0jvQ==} + /@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.18.6(@babel/core@7.12.3): + resolution: {integrity: sha512-Dgxsyg54Fx1d4Nge8UnvTrED63vrwOdPmyvPzlNN/boaliRP54pm3pGzZD1SJUwrBA+Cs/xdG8kXX6Mn/RfISQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.22.10 - '@babel/helper-plugin-utils': 7.22.5 + '@babel/core': 7.12.3 + '@babel/helper-plugin-utils': 7.20.2 dev: true - /@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.22.5(@babel/core@7.22.10): - resolution: {integrity: sha512-31Bb65aZaUwqCbWMnZPduIZxCBngHFlzyN6Dq6KAJjtx+lx6ohKHubc61OomYi7XwVD4Ol0XCVz4h+pYFR048g==} + /@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.20.7(@babel/core@7.12.3): + resolution: {integrity: sha512-sbr9+wNE5aXMBBFBICk01tt7sBf2Oc9ikRFEcem/ZORup9IMUdNhW7/wVLEbbtlWOsEubJet46mHAL2C8+2jKQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.13.0 dependencies: - '@babel/core': 7.22.10 - '@babel/helper-plugin-utils': 7.22.5 - '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 - '@babel/plugin-transform-optional-chaining': 7.22.10(@babel/core@7.22.10) + '@babel/core': 7.12.3 + '@babel/helper-plugin-utils': 7.20.2 + '@babel/helper-skip-transparent-expression-wrappers': 7.20.0 + '@babel/plugin-proposal-optional-chaining': 7.21.0(@babel/core@7.12.3) dev: true - /@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2(@babel/core@7.22.10): - resolution: {integrity: sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==} + /@babel/plugin-proposal-async-generator-functions@7.20.7(@babel/core@7.12.3): + resolution: {integrity: sha512-xMbiLsn/8RK7Wq7VeVytytS2L6qE69bXPB10YCmMdDZbKF4okCqY74pI/jJQ/8U0b/F6NrT2+14b8/P9/3AMGA==} engines: {node: '>=6.9.0'} + deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-async-generator-functions instead. peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.10 + '@babel/core': 7.12.3 + '@babel/helper-environment-visitor': 7.18.9 + '@babel/helper-plugin-utils': 7.20.2 + '@babel/helper-remap-async-to-generator': 7.18.9(@babel/core@7.12.3) + '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.12.3) + transitivePeerDependencies: + - supports-color dev: true - /@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.22.10): - resolution: {integrity: sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==} + /@babel/plugin-proposal-class-properties@7.18.6(@babel/core@7.12.3): + resolution: {integrity: sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ==} + engines: {node: '>=6.9.0'} + deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-class-properties instead. peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.10 - '@babel/helper-plugin-utils': 7.22.5 + '@babel/core': 7.12.3 + '@babel/helper-create-class-features-plugin': 7.21.0(@babel/core@7.12.3) + '@babel/helper-plugin-utils': 7.20.2 + transitivePeerDependencies: + - supports-color dev: true - /@babel/plugin-syntax-bigint@7.8.3(@babel/core@7.22.10): - resolution: {integrity: sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==} + /@babel/plugin-proposal-class-static-block@7.21.0(@babel/core@7.12.3): + resolution: {integrity: sha512-XP5G9MWNUskFuP30IfFSEFB0Z6HzLIUcjYM4bYOPHXl7eiJ9HFv8tWj6TXTN5QODiEhDZAeI4hLok2iHFFV4hw==} + engines: {node: '>=6.9.0'} + deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-class-static-block instead. peerDependencies: - '@babel/core': ^7.0.0-0 + '@babel/core': ^7.12.0 dependencies: - '@babel/core': 7.22.10 - '@babel/helper-plugin-utils': 7.22.5 + '@babel/core': 7.12.3 + '@babel/helper-create-class-features-plugin': 7.21.0(@babel/core@7.12.3) + '@babel/helper-plugin-utils': 7.20.2 + '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.12.3) + transitivePeerDependencies: + - supports-color dev: true - /@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.22.10): - resolution: {integrity: sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==} + /@babel/plugin-proposal-dynamic-import@7.18.6(@babel/core@7.12.3): + resolution: {integrity: sha512-1auuwmK+Rz13SJj36R+jqFPMJWyKEDd7lLSdOj4oJK0UTgGueSAtkrCvz9ewmgyU/P941Rv2fQwZJN8s6QruXw==} + engines: {node: '>=6.9.0'} + deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-dynamic-import instead. peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.10 - '@babel/helper-plugin-utils': 7.22.5 + '@babel/core': 7.12.3 + '@babel/helper-plugin-utils': 7.20.2 + '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.12.3) dev: true - /@babel/plugin-syntax-class-static-block@7.14.5(@babel/core@7.22.10): - resolution: {integrity: sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==} + /@babel/plugin-proposal-export-namespace-from@7.18.9(@babel/core@7.12.3): + resolution: {integrity: sha512-k1NtHyOMvlDDFeb9G5PhUXuGj8m/wiwojgQVEhJ/fsVsMCpLyOP4h0uGEjYJKrRI+EVPlb5Jk+Gt9P97lOGwtA==} engines: {node: '>=6.9.0'} + deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-export-namespace-from instead. peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.10 - '@babel/helper-plugin-utils': 7.22.5 + '@babel/core': 7.12.3 + '@babel/helper-plugin-utils': 7.20.2 + '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.12.3) dev: true - /@babel/plugin-syntax-dynamic-import@7.8.3(@babel/core@7.22.10): - resolution: {integrity: sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==} + /@babel/plugin-proposal-json-strings@7.18.6(@babel/core@7.12.3): + resolution: {integrity: sha512-lr1peyn9kOdbYc0xr0OdHTZ5FMqS6Di+H0Fz2I/JwMzGmzJETNeOFq2pBySw6X/KFL5EWDjlJuMsUGRFb8fQgQ==} + engines: {node: '>=6.9.0'} + deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-json-strings instead. peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.10 - '@babel/helper-plugin-utils': 7.22.5 + '@babel/core': 7.12.3 + '@babel/helper-plugin-utils': 7.20.2 + '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.12.3) dev: true - /@babel/plugin-syntax-export-namespace-from@7.8.3(@babel/core@7.22.10): - resolution: {integrity: sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==} + /@babel/plugin-proposal-logical-assignment-operators@7.20.7(@babel/core@7.12.3): + resolution: {integrity: sha512-y7C7cZgpMIjWlKE5T7eJwp+tnRYM89HmRvWM5EQuB5BoHEONjmQ8lSNmBUwOyy/GFRsohJED51YBF79hE1djug==} + engines: {node: '>=6.9.0'} + deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-logical-assignment-operators instead. peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.10 - '@babel/helper-plugin-utils': 7.22.5 + '@babel/core': 7.12.3 + '@babel/helper-plugin-utils': 7.20.2 + '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.12.3) dev: true - /@babel/plugin-syntax-import-assertions@7.22.5(@babel/core@7.22.10): - resolution: {integrity: sha512-rdV97N7KqsRzeNGoWUOK6yUsWarLjE5Su/Snk9IYPU9CwkWHs4t+rTGOvffTR8XGkJMTAdLfO0xVnXm8wugIJg==} + /@babel/plugin-proposal-nullish-coalescing-operator@7.18.6(@babel/core@7.12.3): + resolution: {integrity: sha512-wQxQzxYeJqHcfppzBDnm1yAY0jSRkUXR2z8RePZYrKwMKgMlE8+Z6LUno+bd6LvbGh8Gltvy74+9pIYkr+XkKA==} engines: {node: '>=6.9.0'} + deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-nullish-coalescing-operator instead. peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.10 - '@babel/helper-plugin-utils': 7.22.5 + '@babel/core': 7.12.3 + '@babel/helper-plugin-utils': 7.20.2 + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.12.3) dev: true - /@babel/plugin-syntax-import-attributes@7.22.5(@babel/core@7.22.10): - resolution: {integrity: sha512-KwvoWDeNKPETmozyFE0P2rOLqh39EoQHNjqizrI5B8Vt0ZNS7M56s7dAiAqbYfiAYOuIzIh96z3iR2ktgu3tEg==} + /@babel/plugin-proposal-numeric-separator@7.18.6(@babel/core@7.12.3): + resolution: {integrity: sha512-ozlZFogPqoLm8WBr5Z8UckIoE4YQ5KESVcNudyXOR8uqIkliTEgJ3RoketfG6pmzLdeZF0H/wjE9/cCEitBl7Q==} engines: {node: '>=6.9.0'} + deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-numeric-separator instead. peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.10 - '@babel/helper-plugin-utils': 7.22.5 + '@babel/core': 7.12.3 + '@babel/helper-plugin-utils': 7.20.2 + '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.12.3) dev: true - /@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.22.10): - resolution: {integrity: sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==} + /@babel/plugin-proposal-object-rest-spread@7.20.7(@babel/core@7.12.3): + resolution: {integrity: sha512-d2S98yCiLxDVmBmE8UjGcfPvNEUbA1U5q5WxaWFUGRzJSVAZqm5W6MbPct0jxnegUZ0niLeNX+IOzEs7wYg9Dg==} + engines: {node: '>=6.9.0'} + deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-object-rest-spread instead. peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.10 - '@babel/helper-plugin-utils': 7.22.5 + '@babel/compat-data': 7.21.0 + '@babel/core': 7.12.3 + '@babel/helper-compilation-targets': 7.20.7(@babel/core@7.12.3) + '@babel/helper-plugin-utils': 7.20.2 + '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.12.3) + '@babel/plugin-transform-parameters': 7.20.7(@babel/core@7.12.3) dev: true - /@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.22.10): - resolution: {integrity: sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==} + /@babel/plugin-proposal-optional-catch-binding@7.18.6(@babel/core@7.12.3): + resolution: {integrity: sha512-Q40HEhs9DJQyaZfUjjn6vE8Cv4GmMHCYuMGIWUnlxH6400VGxOuwWsPt4FxXxJkC/5eOzgn0z21M9gMT4MOhbw==} + engines: {node: '>=6.9.0'} + deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-optional-catch-binding instead. peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.10 - '@babel/helper-plugin-utils': 7.22.5 + '@babel/core': 7.12.3 + '@babel/helper-plugin-utils': 7.20.2 + '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.12.3) dev: true - /@babel/plugin-syntax-jsx@7.22.5(@babel/core@7.22.10): - resolution: {integrity: sha512-gvyP4hZrgrs/wWMaocvxZ44Hw0b3W8Pe+cMxc8V1ULQ07oh8VNbIRaoD1LRZVTvD+0nieDKjfgKg89sD7rrKrg==} + /@babel/plugin-proposal-optional-chaining@7.21.0(@babel/core@7.12.3): + resolution: {integrity: sha512-p4zeefM72gpmEe2fkUr/OnOXpWEf8nAgk7ZYVqqfFiyIG7oFfVZcCrU64hWn5xp4tQ9LkV4bTIa5rD0KANpKNA==} engines: {node: '>=6.9.0'} + deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-optional-chaining instead. peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.10 - '@babel/helper-plugin-utils': 7.22.5 + '@babel/core': 7.12.3 + '@babel/helper-plugin-utils': 7.20.2 + '@babel/helper-skip-transparent-expression-wrappers': 7.20.0 + '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.12.3) dev: true - /@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.22.10): - resolution: {integrity: sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==} + /@babel/plugin-proposal-private-methods@7.18.6(@babel/core@7.12.3): + resolution: {integrity: sha512-nutsvktDItsNn4rpGItSNV2sz1XwS+nfU0Rg8aCx3W3NOKVzdMjJRu0O5OkgDp3ZGICSTbgRpxZoWsxoKRvbeA==} + engines: {node: '>=6.9.0'} + deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-private-methods instead. peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.10 - '@babel/helper-plugin-utils': 7.22.5 + '@babel/core': 7.12.3 + '@babel/helper-create-class-features-plugin': 7.21.0(@babel/core@7.12.3) + '@babel/helper-plugin-utils': 7.20.2 + transitivePeerDependencies: + - supports-color dev: true - /@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.22.10): - resolution: {integrity: sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==} + /@babel/plugin-proposal-private-property-in-object@7.21.0(@babel/core@7.12.3): + resolution: {integrity: sha512-ha4zfehbJjc5MmXBlHec1igel5TJXXLDDRbuJ4+XT2TJcyD9/V1919BA8gMvsdHcNMBy4WBUBiRb3nw/EQUtBw==} + engines: {node: '>=6.9.0'} + deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-private-property-in-object instead. peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.10 - '@babel/helper-plugin-utils': 7.22.5 + '@babel/core': 7.12.3 + '@babel/helper-annotate-as-pure': 7.18.6 + '@babel/helper-create-class-features-plugin': 7.21.0(@babel/core@7.12.3) + '@babel/helper-plugin-utils': 7.20.2 + '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.12.3) + transitivePeerDependencies: + - supports-color dev: true - /@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.22.10): - resolution: {integrity: sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==} + /@babel/plugin-proposal-unicode-property-regex@7.18.6(@babel/core@7.12.3): + resolution: {integrity: sha512-2BShG/d5yoZyXZfVePH91urL5wTG6ASZU9M4o03lKK8u8UW1y08OMttBSOADTcJrnPMpvDXRG3G8fyLh4ovs8w==} + engines: {node: '>=4'} + deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-unicode-property-regex instead. peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.10 - '@babel/helper-plugin-utils': 7.22.5 + '@babel/core': 7.12.3 + '@babel/helper-create-regexp-features-plugin': 7.21.0(@babel/core@7.12.3) + '@babel/helper-plugin-utils': 7.20.2 dev: true - /@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.22.10): - resolution: {integrity: sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==} + /@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.12.3): + resolution: {integrity: sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.10 - '@babel/helper-plugin-utils': 7.22.5 + '@babel/core': 7.12.3 + '@babel/helper-plugin-utils': 7.20.2 dev: true - /@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.22.10): - resolution: {integrity: sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==} + /@babel/plugin-syntax-bigint@7.8.3(@babel/core@7.12.3): + resolution: {integrity: sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.10 - '@babel/helper-plugin-utils': 7.22.5 + '@babel/core': 7.12.3 + '@babel/helper-plugin-utils': 7.20.2 dev: true - /@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.22.10): - resolution: {integrity: sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==} + /@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.12.3): + resolution: {integrity: sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.10 - '@babel/helper-plugin-utils': 7.22.5 + '@babel/core': 7.12.3 + '@babel/helper-plugin-utils': 7.20.2 dev: true - /@babel/plugin-syntax-private-property-in-object@7.14.5(@babel/core@7.22.10): - resolution: {integrity: sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==} + /@babel/plugin-syntax-class-static-block@7.14.5(@babel/core@7.12.3): + resolution: {integrity: sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.10 - '@babel/helper-plugin-utils': 7.22.5 + '@babel/core': 7.12.3 + '@babel/helper-plugin-utils': 7.20.2 dev: true - /@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.22.10): - resolution: {integrity: sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==} - engines: {node: '>=6.9.0'} + /@babel/plugin-syntax-dynamic-import@7.8.3(@babel/core@7.12.3): + resolution: {integrity: sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.10 - '@babel/helper-plugin-utils': 7.22.5 + '@babel/core': 7.12.3 + '@babel/helper-plugin-utils': 7.20.2 dev: true - /@babel/plugin-syntax-typescript@7.22.5(@babel/core@7.22.10): - resolution: {integrity: sha512-1mS2o03i7t1c6VzH6fdQ3OA8tcEIxwG18zIPRp+UY1Ihv6W+XZzBCVxExF9upussPXJ0xE9XRHwMoNs1ep/nRQ==} - engines: {node: '>=6.9.0'} + /@babel/plugin-syntax-export-namespace-from@7.8.3(@babel/core@7.12.3): + resolution: {integrity: sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.10 - '@babel/helper-plugin-utils': 7.22.5 - dev: true - - /@babel/plugin-syntax-unicode-sets-regex@7.18.6(@babel/core@7.22.10): - resolution: {integrity: sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 - dependencies: - '@babel/core': 7.22.10 - '@babel/helper-create-regexp-features-plugin': 7.22.9(@babel/core@7.22.10) - '@babel/helper-plugin-utils': 7.22.5 + '@babel/core': 7.12.3 + '@babel/helper-plugin-utils': 7.20.2 dev: true - /@babel/plugin-transform-arrow-functions@7.22.5(@babel/core@7.22.10): - resolution: {integrity: sha512-26lTNXoVRdAnsaDXPpvCNUq+OVWEVC6bx7Vvz9rC53F2bagUWW4u4ii2+h8Fejfh7RYqPxn+libeFBBck9muEw==} + /@babel/plugin-syntax-import-assertions@7.20.0(@babel/core@7.12.3): + resolution: {integrity: sha512-IUh1vakzNoWalR8ch/areW7qFopR2AEw03JlG7BbrDqmQ4X3q9uuipQwSGrUn7oGiemKjtSLDhNtQHzMHr1JdQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.10 - '@babel/helper-plugin-utils': 7.22.5 + '@babel/core': 7.12.3 + '@babel/helper-plugin-utils': 7.20.2 dev: true - /@babel/plugin-transform-async-generator-functions@7.22.10(@babel/core@7.22.10): - resolution: {integrity: sha512-eueE8lvKVzq5wIObKK/7dvoeKJ+xc6TvRn6aysIjS6pSCeLy7S/eVi7pEQknZqyqvzaNKdDtem8nUNTBgDVR2g==} - engines: {node: '>=6.9.0'} + /@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.12.3): + resolution: {integrity: sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.10 - '@babel/helper-environment-visitor': 7.22.5 - '@babel/helper-plugin-utils': 7.22.5 - '@babel/helper-remap-async-to-generator': 7.22.9(@babel/core@7.22.10) - '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.22.10) + '@babel/core': 7.12.3 + '@babel/helper-plugin-utils': 7.20.2 dev: true - /@babel/plugin-transform-async-to-generator@7.22.5(@babel/core@7.22.10): - resolution: {integrity: sha512-b1A8D8ZzE/VhNDoV1MSJTnpKkCG5bJo+19R4o4oy03zM7ws8yEMK755j61Dc3EyvdysbqH5BOOTquJ7ZX9C6vQ==} - engines: {node: '>=6.9.0'} + /@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.12.3): + resolution: {integrity: sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.10 - '@babel/helper-module-imports': 7.22.5 - '@babel/helper-plugin-utils': 7.22.5 - '@babel/helper-remap-async-to-generator': 7.22.9(@babel/core@7.22.10) + '@babel/core': 7.12.3 + '@babel/helper-plugin-utils': 7.20.2 dev: true - /@babel/plugin-transform-block-scoped-functions@7.22.5(@babel/core@7.22.10): - resolution: {integrity: sha512-tdXZ2UdknEKQWKJP1KMNmuF5Lx3MymtMN/pvA+p/VEkhK8jVcQ1fzSy8KM9qRYhAf2/lV33hoMPKI/xaI9sADA==} + /@babel/plugin-syntax-jsx@7.18.6(@babel/core@7.12.3): + resolution: {integrity: sha512-6mmljtAedFGTWu2p/8WIORGwy+61PLgOMPOdazc7YoJ9ZCWUyFy3A6CpPkRKLKD1ToAesxX8KGEViAiLo9N+7Q==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.10 - '@babel/helper-plugin-utils': 7.22.5 + '@babel/core': 7.12.3 + '@babel/helper-plugin-utils': 7.20.2 dev: true - /@babel/plugin-transform-block-scoping@7.22.10(@babel/core@7.22.10): - resolution: {integrity: sha512-1+kVpGAOOI1Albt6Vse7c8pHzcZQdQKW+wJH+g8mCaszOdDVwRXa/slHPqIw+oJAJANTKDMuM2cBdV0Dg618Vg==} - engines: {node: '>=6.9.0'} + /@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.12.3): + resolution: {integrity: sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.10 - '@babel/helper-plugin-utils': 7.22.5 + '@babel/core': 7.12.3 + '@babel/helper-plugin-utils': 7.20.2 dev: true - /@babel/plugin-transform-class-properties@7.22.5(@babel/core@7.22.10): - resolution: {integrity: sha512-nDkQ0NfkOhPTq8YCLiWNxp1+f9fCobEjCb0n8WdbNUBc4IB5V7P1QnX9IjpSoquKrXF5SKojHleVNs2vGeHCHQ==} - engines: {node: '>=6.9.0'} + /@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.12.3): + resolution: {integrity: sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.10 - '@babel/helper-create-class-features-plugin': 7.22.10(@babel/core@7.22.10) - '@babel/helper-plugin-utils': 7.22.5 + '@babel/core': 7.12.3 + '@babel/helper-plugin-utils': 7.20.2 dev: true - /@babel/plugin-transform-class-static-block@7.22.5(@babel/core@7.22.10): - resolution: {integrity: sha512-SPToJ5eYZLxlnp1UzdARpOGeC2GbHvr9d/UV0EukuVx8atktg194oe+C5BqQ8jRTkgLRVOPYeXRSBg1IlMoVRA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.12.0 - dependencies: - '@babel/core': 7.22.10 - '@babel/helper-create-class-features-plugin': 7.22.10(@babel/core@7.22.10) - '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.22.10) - dev: true - - /@babel/plugin-transform-classes@7.22.6(@babel/core@7.22.10): - resolution: {integrity: sha512-58EgM6nuPNG6Py4Z3zSuu0xWu2VfodiMi72Jt5Kj2FECmaYk1RrTXA45z6KBFsu9tRgwQDwIiY4FXTt+YsSFAQ==} - engines: {node: '>=6.9.0'} + /@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.12.3): + resolution: {integrity: sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.10 - '@babel/helper-annotate-as-pure': 7.22.5 - '@babel/helper-compilation-targets': 7.22.10 - '@babel/helper-environment-visitor': 7.22.5 - '@babel/helper-function-name': 7.22.5 - '@babel/helper-optimise-call-expression': 7.22.5 - '@babel/helper-plugin-utils': 7.22.5 - '@babel/helper-replace-supers': 7.22.9(@babel/core@7.22.10) - '@babel/helper-split-export-declaration': 7.22.6 - globals: 11.12.0 + '@babel/core': 7.12.3 + '@babel/helper-plugin-utils': 7.20.2 dev: true - /@babel/plugin-transform-computed-properties@7.22.5(@babel/core@7.22.10): - resolution: {integrity: sha512-4GHWBgRf0krxPX+AaPtgBAlTgTeZmqDynokHOX7aqqAB4tHs3U2Y02zH6ETFdLZGcg9UQSD1WCmkVrE9ErHeOg==} - engines: {node: '>=6.9.0'} + /@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.12.3): + resolution: {integrity: sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.10 - '@babel/helper-plugin-utils': 7.22.5 - '@babel/template': 7.22.5 + '@babel/core': 7.12.3 + '@babel/helper-plugin-utils': 7.20.2 dev: true - /@babel/plugin-transform-destructuring@7.22.10(@babel/core@7.22.10): - resolution: {integrity: sha512-dPJrL0VOyxqLM9sritNbMSGx/teueHF/htMKrPT7DNxccXxRDPYqlgPFFdr8u+F+qUZOkZoXue/6rL5O5GduEw==} - engines: {node: '>=6.9.0'} + /@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.12.3): + resolution: {integrity: sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.10 - '@babel/helper-plugin-utils': 7.22.5 + '@babel/core': 7.12.3 + '@babel/helper-plugin-utils': 7.20.2 dev: true - /@babel/plugin-transform-dotall-regex@7.22.5(@babel/core@7.22.10): - resolution: {integrity: sha512-5/Yk9QxCQCl+sOIB1WelKnVRxTJDSAIxtJLL2/pqL14ZVlbH0fUQUZa/T5/UnQtBNgghR7mfB8ERBKyKPCi7Vw==} - engines: {node: '>=6.9.0'} + /@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.12.3): + resolution: {integrity: sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.10 - '@babel/helper-create-regexp-features-plugin': 7.22.9(@babel/core@7.22.10) - '@babel/helper-plugin-utils': 7.22.5 + '@babel/core': 7.12.3 + '@babel/helper-plugin-utils': 7.20.2 dev: true - /@babel/plugin-transform-duplicate-keys@7.22.5(@babel/core@7.22.10): - resolution: {integrity: sha512-dEnYD+9BBgld5VBXHnF/DbYGp3fqGMsyxKbtD1mDyIA7AkTSpKXFhCVuj/oQVOoALfBs77DudA0BE4d5mcpmqw==} + /@babel/plugin-syntax-private-property-in-object@7.14.5(@babel/core@7.12.3): + resolution: {integrity: sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.10 - '@babel/helper-plugin-utils': 7.22.5 + '@babel/core': 7.12.3 + '@babel/helper-plugin-utils': 7.20.2 dev: true - /@babel/plugin-transform-dynamic-import@7.22.5(@babel/core@7.22.10): - resolution: {integrity: sha512-0MC3ppTB1AMxd8fXjSrbPa7LT9hrImt+/fcj+Pg5YMD7UQyWp/02+JWpdnCymmsXwIx5Z+sYn1bwCn4ZJNvhqQ==} + /@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.12.3): + resolution: {integrity: sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.10 - '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.22.10) + '@babel/core': 7.12.3 + '@babel/helper-plugin-utils': 7.20.2 dev: true - /@babel/plugin-transform-exponentiation-operator@7.22.5(@babel/core@7.22.10): - resolution: {integrity: sha512-vIpJFNM/FjZ4rh1myqIya9jXwrwwgFRHPjT3DkUA9ZLHuzox8jiXkOLvwm1H+PQIP3CqfC++WPKeuDi0Sjdj1g==} + /@babel/plugin-syntax-typescript@7.18.6(@babel/core@7.12.3): + resolution: {integrity: sha512-mAWAuq4rvOepWCBid55JuRNvpTNf2UGVgoz4JV0fXEKolsVZDzsa4NqCef758WZJj/GDu0gVGItjKFiClTAmZA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.10 - '@babel/helper-builder-binary-assignment-operator-visitor': 7.22.10 - '@babel/helper-plugin-utils': 7.22.5 + '@babel/core': 7.12.3 + '@babel/helper-plugin-utils': 7.20.2 dev: true - /@babel/plugin-transform-export-namespace-from@7.22.5(@babel/core@7.22.10): - resolution: {integrity: sha512-X4hhm7FRnPgd4nDA4b/5V280xCx6oL7Oob5+9qVS5C13Zq4bh1qq7LU0GgRU6b5dBWBvhGaXYVB4AcN6+ol6vg==} + /@babel/plugin-transform-arrow-functions@7.20.7(@babel/core@7.12.3): + resolution: {integrity: sha512-3poA5E7dzDomxj9WXWwuD6A5F3kc7VXwIJO+E+J8qtDtS+pXPAhrgEyh+9GBwBgPq1Z+bB+/JD60lp5jsN7JPQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.10 - '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.22.10) + '@babel/core': 7.12.3 + '@babel/helper-plugin-utils': 7.20.2 dev: true - /@babel/plugin-transform-for-of@7.22.5(@babel/core@7.22.10): - resolution: {integrity: sha512-3kxQjX1dU9uudwSshyLeEipvrLjBCVthCgeTp6CzE/9JYrlAIaeekVxRpCWsDDfYTfRZRoCeZatCQvwo+wvK8A==} + /@babel/plugin-transform-async-to-generator@7.20.7(@babel/core@7.12.3): + resolution: {integrity: sha512-Uo5gwHPT9vgnSXQxqGtpdufUiWp96gk7yiP4Mp5bm1QMkEmLXBO7PAGYbKoJ6DhAwiNkcHFBol/x5zZZkL/t0Q==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.10 - '@babel/helper-plugin-utils': 7.22.5 + '@babel/core': 7.12.3 + '@babel/helper-module-imports': 7.18.6 + '@babel/helper-plugin-utils': 7.20.2 + '@babel/helper-remap-async-to-generator': 7.18.9(@babel/core@7.12.3) + transitivePeerDependencies: + - supports-color dev: true - /@babel/plugin-transform-function-name@7.22.5(@babel/core@7.22.10): - resolution: {integrity: sha512-UIzQNMS0p0HHiQm3oelztj+ECwFnj+ZRV4KnguvlsD2of1whUeM6o7wGNj6oLwcDoAXQ8gEqfgC24D+VdIcevg==} + /@babel/plugin-transform-block-scoped-functions@7.18.6(@babel/core@7.12.3): + resolution: {integrity: sha512-ExUcOqpPWnliRcPqves5HJcJOvHvIIWfuS4sroBUenPuMdmW+SMHDakmtS7qOo13sVppmUijqeTv7qqGsvURpQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.10 - '@babel/helper-compilation-targets': 7.22.10 - '@babel/helper-function-name': 7.22.5 - '@babel/helper-plugin-utils': 7.22.5 + '@babel/core': 7.12.3 + '@babel/helper-plugin-utils': 7.20.2 dev: true - /@babel/plugin-transform-json-strings@7.22.5(@babel/core@7.22.10): - resolution: {integrity: sha512-DuCRB7fu8MyTLbEQd1ew3R85nx/88yMoqo2uPSjevMj3yoN7CDM8jkgrY0wmVxfJZyJ/B9fE1iq7EQppWQmR5A==} + /@babel/plugin-transform-block-scoping@7.21.0(@babel/core@7.12.3): + resolution: {integrity: sha512-Mdrbunoh9SxwFZapeHVrwFmri16+oYotcZysSzhNIVDwIAb1UV+kvnxULSYq9J3/q5MDG+4X6w8QVgD1zhBXNQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.10 - '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.22.10) + '@babel/core': 7.12.3 + '@babel/helper-plugin-utils': 7.20.2 dev: true - /@babel/plugin-transform-literals@7.22.5(@babel/core@7.22.10): - resolution: {integrity: sha512-fTLj4D79M+mepcw3dgFBTIDYpbcB9Sm0bpm4ppXPaO+U+PKFFyV9MGRvS0gvGw62sd10kT5lRMKXAADb9pWy8g==} + /@babel/plugin-transform-classes@7.21.0(@babel/core@7.12.3): + resolution: {integrity: sha512-RZhbYTCEUAe6ntPehC4hlslPWosNHDox+vAs4On/mCLRLfoDVHf6hVEd7kuxr1RnHwJmxFfUM3cZiZRmPxJPXQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.10 - '@babel/helper-plugin-utils': 7.22.5 + '@babel/core': 7.12.3 + '@babel/helper-annotate-as-pure': 7.18.6 + '@babel/helper-compilation-targets': 7.20.7(@babel/core@7.12.3) + '@babel/helper-environment-visitor': 7.18.9 + '@babel/helper-function-name': 7.21.0 + '@babel/helper-optimise-call-expression': 7.18.6 + '@babel/helper-plugin-utils': 7.20.2 + '@babel/helper-replace-supers': 7.20.7 + '@babel/helper-split-export-declaration': 7.18.6 + globals: 11.12.0 + transitivePeerDependencies: + - supports-color dev: true - /@babel/plugin-transform-logical-assignment-operators@7.22.5(@babel/core@7.22.10): - resolution: {integrity: sha512-MQQOUW1KL8X0cDWfbwYP+TbVbZm16QmQXJQ+vndPtH/BoO0lOKpVoEDMI7+PskYxH+IiE0tS8xZye0qr1lGzSA==} + /@babel/plugin-transform-computed-properties@7.20.7(@babel/core@7.12.3): + resolution: {integrity: sha512-Lz7MvBK6DTjElHAmfu6bfANzKcxpyNPeYBGEafyA6E5HtRpjpZwU+u7Qrgz/2OR0z+5TvKYbPdphfSaAcZBrYQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.10 - '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.22.10) + '@babel/core': 7.12.3 + '@babel/helper-plugin-utils': 7.20.2 + '@babel/template': 7.20.7 dev: true - /@babel/plugin-transform-member-expression-literals@7.22.5(@babel/core@7.22.10): - resolution: {integrity: sha512-RZEdkNtzzYCFl9SE9ATaUMTj2hqMb4StarOJLrZRbqqU4HSBE7UlBw9WBWQiDzrJZJdUWiMTVDI6Gv/8DPvfew==} + /@babel/plugin-transform-destructuring@7.20.7(@babel/core@7.12.3): + resolution: {integrity: sha512-Xwg403sRrZb81IVB79ZPqNQME23yhugYVqgTxAhT99h485F4f+GMELFhhOsscDUB7HCswepKeCKLn/GZvUKoBA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.10 - '@babel/helper-plugin-utils': 7.22.5 + '@babel/core': 7.12.3 + '@babel/helper-plugin-utils': 7.20.2 dev: true - /@babel/plugin-transform-modules-amd@7.22.5(@babel/core@7.22.10): - resolution: {integrity: sha512-R+PTfLTcYEmb1+kK7FNkhQ1gP4KgjpSO6HfH9+f8/yfp2Nt3ggBjiVpRwmwTlfqZLafYKJACy36yDXlEmI9HjQ==} + /@babel/plugin-transform-dotall-regex@7.18.6(@babel/core@7.12.3): + resolution: {integrity: sha512-6S3jpun1eEbAxq7TdjLotAsl4WpQI9DxfkycRcKrjhQYzU87qpXdknpBg/e+TdcMehqGnLFi7tnFUBR02Vq6wg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.10 - '@babel/helper-module-transforms': 7.22.9(@babel/core@7.22.10) - '@babel/helper-plugin-utils': 7.22.5 + '@babel/core': 7.12.3 + '@babel/helper-create-regexp-features-plugin': 7.21.0(@babel/core@7.12.3) + '@babel/helper-plugin-utils': 7.20.2 dev: true - /@babel/plugin-transform-modules-commonjs@7.22.5(@babel/core@7.22.10): - resolution: {integrity: sha512-B4pzOXj+ONRmuaQTg05b3y/4DuFz3WcCNAXPLb2Q0GT0TrGKGxNKV4jwsXts+StaM0LQczZbOpj8o1DLPDJIiA==} + /@babel/plugin-transform-duplicate-keys@7.18.9(@babel/core@7.12.3): + resolution: {integrity: sha512-d2bmXCtZXYc59/0SanQKbiWINadaJXqtvIQIzd4+hNwkWBgyCd5F/2t1kXoUdvPMrxzPvhK6EMQRROxsue+mfw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.10 - '@babel/helper-module-transforms': 7.22.9(@babel/core@7.22.10) - '@babel/helper-plugin-utils': 7.22.5 - '@babel/helper-simple-access': 7.22.5 + '@babel/core': 7.12.3 + '@babel/helper-plugin-utils': 7.20.2 dev: true - /@babel/plugin-transform-modules-systemjs@7.22.5(@babel/core@7.22.10): - resolution: {integrity: sha512-emtEpoaTMsOs6Tzz+nbmcePl6AKVtS1yC4YNAeMun9U8YCsgadPNxnOPQ8GhHFB2qdx+LZu9LgoC0Lthuu05DQ==} + /@babel/plugin-transform-exponentiation-operator@7.18.6(@babel/core@7.12.3): + resolution: {integrity: sha512-wzEtc0+2c88FVR34aQmiz56dxEkxr2g8DQb/KfaFa1JYXOFVsbhvAonFN6PwVWj++fKmku8NP80plJ5Et4wqHw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.10 - '@babel/helper-hoist-variables': 7.22.5 - '@babel/helper-module-transforms': 7.22.9(@babel/core@7.22.10) - '@babel/helper-plugin-utils': 7.22.5 - '@babel/helper-validator-identifier': 7.22.5 + '@babel/core': 7.12.3 + '@babel/helper-builder-binary-assignment-operator-visitor': 7.18.9 + '@babel/helper-plugin-utils': 7.20.2 dev: true - /@babel/plugin-transform-modules-umd@7.22.5(@babel/core@7.22.10): - resolution: {integrity: sha512-+S6kzefN/E1vkSsKx8kmQuqeQsvCKCd1fraCM7zXm4SFoggI099Tr4G8U81+5gtMdUeMQ4ipdQffbKLX0/7dBQ==} + /@babel/plugin-transform-for-of@7.21.0(@babel/core@7.12.3): + resolution: {integrity: sha512-LlUYlydgDkKpIY7mcBWvyPPmMcOphEyYA27Ef4xpbh1IiDNLr0kZsos2nf92vz3IccvJI25QUwp86Eo5s6HmBQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.10 - '@babel/helper-module-transforms': 7.22.9(@babel/core@7.22.10) - '@babel/helper-plugin-utils': 7.22.5 + '@babel/core': 7.12.3 + '@babel/helper-plugin-utils': 7.20.2 dev: true - /@babel/plugin-transform-named-capturing-groups-regex@7.22.5(@babel/core@7.22.10): - resolution: {integrity: sha512-YgLLKmS3aUBhHaxp5hi1WJTgOUb/NCuDHzGT9z9WTt3YG+CPRhJs6nprbStx6DnWM4dh6gt7SU3sZodbZ08adQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 - dependencies: - '@babel/core': 7.22.10 - '@babel/helper-create-regexp-features-plugin': 7.22.9(@babel/core@7.22.10) - '@babel/helper-plugin-utils': 7.22.5 - dev: true - - /@babel/plugin-transform-new-target@7.22.5(@babel/core@7.22.10): - resolution: {integrity: sha512-AsF7K0Fx/cNKVyk3a+DW0JLo+Ua598/NxMRvxDnkpCIGFh43+h/v2xyhRUYf6oD8gE4QtL83C7zZVghMjHd+iw==} + /@babel/plugin-transform-function-name@7.18.9(@babel/core@7.12.3): + resolution: {integrity: sha512-WvIBoRPaJQ5yVHzcnJFor7oS5Ls0PYixlTYE63lCj2RtdQEl15M68FXQlxnG6wdraJIXRdR7KI+hQ7q/9QjrCQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.10 - '@babel/helper-plugin-utils': 7.22.5 + '@babel/core': 7.12.3 + '@babel/helper-compilation-targets': 7.20.7(@babel/core@7.12.3) + '@babel/helper-function-name': 7.21.0 + '@babel/helper-plugin-utils': 7.20.2 dev: true - /@babel/plugin-transform-nullish-coalescing-operator@7.22.5(@babel/core@7.22.10): - resolution: {integrity: sha512-6CF8g6z1dNYZ/VXok5uYkkBBICHZPiGEl7oDnAx2Mt1hlHVHOSIKWJaXHjQJA5VB43KZnXZDIexMchY4y2PGdA==} + /@babel/plugin-transform-literals@7.18.9(@babel/core@7.12.3): + resolution: {integrity: sha512-IFQDSRoTPnrAIrI5zoZv73IFeZu2dhu6irxQjY9rNjTT53VmKg9fenjvoiOWOkJ6mm4jKVPtdMzBY98Fp4Z4cg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.10 - '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.22.10) + '@babel/core': 7.12.3 + '@babel/helper-plugin-utils': 7.20.2 dev: true - /@babel/plugin-transform-numeric-separator@7.22.5(@babel/core@7.22.10): - resolution: {integrity: sha512-NbslED1/6M+sXiwwtcAB/nieypGw02Ejf4KtDeMkCEpP6gWFMX1wI9WKYua+4oBneCCEmulOkRpwywypVZzs/g==} + /@babel/plugin-transform-member-expression-literals@7.18.6(@babel/core@7.12.3): + resolution: {integrity: sha512-qSF1ihLGO3q+/g48k85tUjD033C29TNTVB2paCwZPVmOsjn9pClvYYrM2VeJpBY2bcNkuny0YUyTNRyRxJ54KA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.10 - '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.22.10) + '@babel/core': 7.12.3 + '@babel/helper-plugin-utils': 7.20.2 dev: true - /@babel/plugin-transform-object-rest-spread@7.22.5(@babel/core@7.22.10): - resolution: {integrity: sha512-Kk3lyDmEslH9DnvCDA1s1kkd3YWQITiBOHngOtDL9Pt6BZjzqb6hiOlb8VfjiiQJ2unmegBqZu0rx5RxJb5vmQ==} + /@babel/plugin-transform-modules-amd@7.20.11(@babel/core@7.12.3): + resolution: {integrity: sha512-NuzCt5IIYOW0O30UvqktzHYR2ud5bOWbY0yaxWZ6G+aFzOMJvrs5YHNikrbdaT15+KNO31nPOy5Fim3ku6Zb5g==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/compat-data': 7.22.9 - '@babel/core': 7.22.10 - '@babel/helper-compilation-targets': 7.22.10 - '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.22.10) - '@babel/plugin-transform-parameters': 7.22.5(@babel/core@7.22.10) + '@babel/core': 7.12.3 + '@babel/helper-module-transforms': 7.21.2 + '@babel/helper-plugin-utils': 7.20.2 + transitivePeerDependencies: + - supports-color dev: true - /@babel/plugin-transform-object-super@7.22.5(@babel/core@7.22.10): - resolution: {integrity: sha512-klXqyaT9trSjIUrcsYIfETAzmOEZL3cBYqOYLJxBHfMFFggmXOv+NYSX/Jbs9mzMVESw/WycLFPRx8ba/b2Ipw==} + /@babel/plugin-transform-modules-commonjs@7.21.2(@babel/core@7.12.3): + resolution: {integrity: sha512-Cln+Yy04Gxua7iPdj6nOV96smLGjpElir5YwzF0LBPKoPlLDNJePNlrGGaybAJkd0zKRnOVXOgizSqPYMNYkzA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.10 - '@babel/helper-plugin-utils': 7.22.5 - '@babel/helper-replace-supers': 7.22.9(@babel/core@7.22.10) + '@babel/core': 7.12.3 + '@babel/helper-module-transforms': 7.21.2 + '@babel/helper-plugin-utils': 7.20.2 + '@babel/helper-simple-access': 7.20.2 + transitivePeerDependencies: + - supports-color dev: true - /@babel/plugin-transform-optional-catch-binding@7.22.5(@babel/core@7.22.10): - resolution: {integrity: sha512-pH8orJahy+hzZje5b8e2QIlBWQvGpelS76C63Z+jhZKsmzfNaPQ+LaW6dcJ9bxTpo1mtXbgHwy765Ro3jftmUg==} + /@babel/plugin-transform-modules-systemjs@7.20.11(@babel/core@7.12.3): + resolution: {integrity: sha512-vVu5g9BPQKSFEmvt2TA4Da5N+QVS66EX21d8uoOihC+OCpUoGvzVsXeqFdtAEfVa5BILAeFt+U7yVmLbQnAJmw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.10 - '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.22.10) + '@babel/core': 7.12.3 + '@babel/helper-hoist-variables': 7.18.6 + '@babel/helper-module-transforms': 7.21.2 + '@babel/helper-plugin-utils': 7.20.2 + '@babel/helper-validator-identifier': 7.19.1 + transitivePeerDependencies: + - supports-color dev: true - /@babel/plugin-transform-optional-chaining@7.22.10(@babel/core@7.22.10): - resolution: {integrity: sha512-MMkQqZAZ+MGj+jGTG3OTuhKeBpNcO+0oCEbrGNEaOmiEn+1MzRyQlYsruGiU8RTK3zV6XwrVJTmwiDOyYK6J9g==} + /@babel/plugin-transform-modules-umd@7.18.6(@babel/core@7.12.3): + resolution: {integrity: sha512-dcegErExVeXcRqNtkRU/z8WlBLnvD4MRnHgNs3MytRO1Mn1sHRyhbcpYbVMGclAqOjdW+9cfkdZno9dFdfKLfQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.10 - '@babel/helper-plugin-utils': 7.22.5 - '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 - '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.22.10) + '@babel/core': 7.12.3 + '@babel/helper-module-transforms': 7.21.2 + '@babel/helper-plugin-utils': 7.20.2 + transitivePeerDependencies: + - supports-color dev: true - /@babel/plugin-transform-parameters@7.22.5(@babel/core@7.22.10): - resolution: {integrity: sha512-AVkFUBurORBREOmHRKo06FjHYgjrabpdqRSwq6+C7R5iTCZOsM4QbcB27St0a4U6fffyAOqh3s/qEfybAhfivg==} + /@babel/plugin-transform-named-capturing-groups-regex@7.20.5(@babel/core@7.12.3): + resolution: {integrity: sha512-mOW4tTzi5iTLnw+78iEq3gr8Aoq4WNRGpmSlrogqaiCBoR1HFhpU4JkpQFOHfeYx3ReVIFWOQJS4aZBRvuZ6mA==} engines: {node: '>=6.9.0'} peerDependencies: - '@babel/core': ^7.0.0-0 + '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.22.10 - '@babel/helper-plugin-utils': 7.22.5 + '@babel/core': 7.12.3 + '@babel/helper-create-regexp-features-plugin': 7.21.0(@babel/core@7.12.3) + '@babel/helper-plugin-utils': 7.20.2 dev: true - /@babel/plugin-transform-private-methods@7.22.5(@babel/core@7.22.10): - resolution: {integrity: sha512-PPjh4gyrQnGe97JTalgRGMuU4icsZFnWkzicB/fUtzlKUqvsWBKEpPPfr5a2JiyirZkHxnAqkQMO5Z5B2kK3fA==} + /@babel/plugin-transform-new-target@7.18.6(@babel/core@7.12.3): + resolution: {integrity: sha512-DjwFA/9Iu3Z+vrAn+8pBUGcjhxKguSMlsFqeCKbhb9BAV756v0krzVK04CRDi/4aqmk8BsHb4a/gFcaA5joXRw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.10 - '@babel/helper-create-class-features-plugin': 7.22.10(@babel/core@7.22.10) - '@babel/helper-plugin-utils': 7.22.5 + '@babel/core': 7.12.3 + '@babel/helper-plugin-utils': 7.20.2 dev: true - /@babel/plugin-transform-private-property-in-object@7.22.5(@babel/core@7.22.10): - resolution: {integrity: sha512-/9xnaTTJcVoBtSSmrVyhtSvO3kbqS2ODoh2juEU72c3aYonNF0OMGiaz2gjukyKM2wBBYJP38S4JiE0Wfb5VMQ==} + /@babel/plugin-transform-object-super@7.18.6(@babel/core@7.12.3): + resolution: {integrity: sha512-uvGz6zk+pZoS1aTZrOvrbj6Pp/kK2mp45t2B+bTDre2UgsZZ8EZLSJtUg7m/no0zOJUWgFONpB7Zv9W2tSaFlA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.10 - '@babel/helper-annotate-as-pure': 7.22.5 - '@babel/helper-create-class-features-plugin': 7.22.10(@babel/core@7.22.10) - '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.22.10) + '@babel/core': 7.12.3 + '@babel/helper-plugin-utils': 7.20.2 + '@babel/helper-replace-supers': 7.20.7 + transitivePeerDependencies: + - supports-color dev: true - /@babel/plugin-transform-property-literals@7.22.5(@babel/core@7.22.10): - resolution: {integrity: sha512-TiOArgddK3mK/x1Qwf5hay2pxI6wCZnvQqrFSqbtg1GLl2JcNMitVH/YnqjP+M31pLUeTfzY1HAXFDnUBV30rQ==} + /@babel/plugin-transform-parameters@7.20.7(@babel/core@7.12.3): + resolution: {integrity: sha512-WiWBIkeHKVOSYPO0pWkxGPfKeWrCJyD3NJ53+Lrp/QMSZbsVPovrVl2aWZ19D/LTVnaDv5Ap7GJ/B2CTOZdrfA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.10 - '@babel/helper-plugin-utils': 7.22.5 + '@babel/core': 7.12.3 + '@babel/helper-plugin-utils': 7.20.2 dev: true - /@babel/plugin-transform-regenerator@7.22.10(@babel/core@7.22.10): - resolution: {integrity: sha512-F28b1mDt8KcT5bUyJc/U9nwzw6cV+UmTeRlXYIl2TNqMMJif0Jeey9/RQ3C4NOd2zp0/TRsDns9ttj2L523rsw==} + /@babel/plugin-transform-property-literals@7.18.6(@babel/core@7.12.3): + resolution: {integrity: sha512-cYcs6qlgafTud3PAzrrRNbQtfpQ8+y/+M5tKmksS9+M1ckbH6kzY8MrexEM9mcA6JDsukE19iIRvAyYl463sMg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.10 - '@babel/helper-plugin-utils': 7.22.5 - regenerator-transform: 0.15.2 + '@babel/core': 7.12.3 + '@babel/helper-plugin-utils': 7.20.2 dev: true - /@babel/plugin-transform-reserved-words@7.22.5(@babel/core@7.22.10): - resolution: {integrity: sha512-DTtGKFRQUDm8svigJzZHzb/2xatPc6TzNvAIJ5GqOKDsGFYgAskjRulbR/vGsPKq3OPqtexnz327qYpP57RFyA==} + /@babel/plugin-transform-regenerator@7.20.5(@babel/core@7.12.3): + resolution: {integrity: sha512-kW/oO7HPBtntbsahzQ0qSE3tFvkFwnbozz3NWFhLGqH75vLEg+sCGngLlhVkePlCs3Jv0dBBHDzCHxNiFAQKCQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.10 - '@babel/helper-plugin-utils': 7.22.5 + '@babel/core': 7.12.3 + '@babel/helper-plugin-utils': 7.20.2 + regenerator-transform: 0.15.1 dev: true - /@babel/plugin-transform-shorthand-properties@7.22.5(@babel/core@7.22.10): - resolution: {integrity: sha512-vM4fq9IXHscXVKzDv5itkO1X52SmdFBFcMIBZ2FRn2nqVYqw6dBexUgMvAjHW+KXpPPViD/Yo3GrDEBaRC0QYA==} + /@babel/plugin-transform-reserved-words@7.18.6(@babel/core@7.12.3): + resolution: {integrity: sha512-oX/4MyMoypzHjFrT1CdivfKZ+XvIPMFXwwxHp/r0Ddy2Vuomt4HDFGmft1TAY2yiTKiNSsh3kjBAzcM8kSdsjA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.10 - '@babel/helper-plugin-utils': 7.22.5 + '@babel/core': 7.12.3 + '@babel/helper-plugin-utils': 7.20.2 dev: true - /@babel/plugin-transform-spread@7.22.5(@babel/core@7.22.10): - resolution: {integrity: sha512-5ZzDQIGyvN4w8+dMmpohL6MBo+l2G7tfC/O2Dg7/hjpgeWvUx8FzfeOKxGog9IimPa4YekaQ9PlDqTLOljkcxg==} + /@babel/plugin-transform-shorthand-properties@7.18.6(@babel/core@7.12.3): + resolution: {integrity: sha512-eCLXXJqv8okzg86ywZJbRn19YJHU4XUa55oz2wbHhaQVn/MM+XhukiT7SYqp/7o00dg52Rj51Ny+Ecw4oyoygw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.10 - '@babel/helper-plugin-utils': 7.22.5 - '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 + '@babel/core': 7.12.3 + '@babel/helper-plugin-utils': 7.20.2 dev: true - /@babel/plugin-transform-sticky-regex@7.22.5(@babel/core@7.22.10): - resolution: {integrity: sha512-zf7LuNpHG0iEeiyCNwX4j3gDg1jgt1k3ZdXBKbZSoA3BbGQGvMiSvfbZRR3Dr3aeJe3ooWFZxOOG3IRStYp2Bw==} + /@babel/plugin-transform-spread@7.20.7(@babel/core@7.12.3): + resolution: {integrity: sha512-ewBbHQ+1U/VnH1fxltbJqDeWBU1oNLG8Dj11uIv3xVf7nrQu0bPGe5Rf716r7K5Qz+SqtAOVswoVunoiBtGhxw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.10 - '@babel/helper-plugin-utils': 7.22.5 + '@babel/core': 7.12.3 + '@babel/helper-plugin-utils': 7.20.2 + '@babel/helper-skip-transparent-expression-wrappers': 7.20.0 dev: true - /@babel/plugin-transform-template-literals@7.22.5(@babel/core@7.22.10): - resolution: {integrity: sha512-5ciOehRNf+EyUeewo8NkbQiUs4d6ZxiHo6BcBcnFlgiJfu16q0bQUw9Jvo0b0gBKFG1SMhDSjeKXSYuJLeFSMA==} + /@babel/plugin-transform-sticky-regex@7.18.6(@babel/core@7.12.3): + resolution: {integrity: sha512-kfiDrDQ+PBsQDO85yj1icueWMfGfJFKN1KCkndygtu/C9+XUfydLC8Iv5UYJqRwy4zk8EcplRxEOeLyjq1gm6Q==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.10 - '@babel/helper-plugin-utils': 7.22.5 + '@babel/core': 7.12.3 + '@babel/helper-plugin-utils': 7.20.2 dev: true - /@babel/plugin-transform-typeof-symbol@7.22.5(@babel/core@7.22.10): - resolution: {integrity: sha512-bYkI5lMzL4kPii4HHEEChkD0rkc+nvnlR6+o/qdqR6zrm0Sv/nodmyLhlq2DO0YKLUNd2VePmPRjJXSBh9OIdA==} + /@babel/plugin-transform-template-literals@7.18.9(@babel/core@7.12.3): + resolution: {integrity: sha512-S8cOWfT82gTezpYOiVaGHrCbhlHgKhQt8XH5ES46P2XWmX92yisoZywf5km75wv5sYcXDUCLMmMxOLCtthDgMA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.10 - '@babel/helper-plugin-utils': 7.22.5 + '@babel/core': 7.12.3 + '@babel/helper-plugin-utils': 7.20.2 dev: true - /@babel/plugin-transform-unicode-escapes@7.22.10(@babel/core@7.22.10): - resolution: {integrity: sha512-lRfaRKGZCBqDlRU3UIFovdp9c9mEvlylmpod0/OatICsSfuQ9YFthRo1tpTkGsklEefZdqlEFdY4A2dwTb6ohg==} + /@babel/plugin-transform-typeof-symbol@7.18.9(@babel/core@7.12.3): + resolution: {integrity: sha512-SRfwTtF11G2aemAZWivL7PD+C9z52v9EvMqH9BuYbabyPuKUvSWks3oCg6041pT925L4zVFqaVBeECwsmlguEw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.10 - '@babel/helper-plugin-utils': 7.22.5 + '@babel/core': 7.12.3 + '@babel/helper-plugin-utils': 7.20.2 dev: true - /@babel/plugin-transform-unicode-property-regex@7.22.5(@babel/core@7.22.10): - resolution: {integrity: sha512-HCCIb+CbJIAE6sXn5CjFQXMwkCClcOfPCzTlilJ8cUatfzwHlWQkbtV0zD338u9dZskwvuOYTuuaMaA8J5EI5A==} + /@babel/plugin-transform-unicode-escapes@7.18.10(@babel/core@7.12.3): + resolution: {integrity: sha512-kKAdAI+YzPgGY/ftStBFXTI1LZFju38rYThnfMykS+IXy8BVx+res7s2fxf1l8I35DV2T97ezo6+SGrXz6B3iQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.10 - '@babel/helper-create-regexp-features-plugin': 7.22.9(@babel/core@7.22.10) - '@babel/helper-plugin-utils': 7.22.5 + '@babel/core': 7.12.3 + '@babel/helper-plugin-utils': 7.20.2 dev: true - /@babel/plugin-transform-unicode-regex@7.22.5(@babel/core@7.22.10): - resolution: {integrity: sha512-028laaOKptN5vHJf9/Arr/HiJekMd41hOEZYvNsrsXqJ7YPYuX2bQxh31fkZzGmq3YqHRJzYFFAVYvKfMPKqyg==} + /@babel/plugin-transform-unicode-regex@7.18.6(@babel/core@7.12.3): + resolution: {integrity: sha512-gE7A6Lt7YLnNOL3Pb9BNeZvi+d8l7tcRrG4+pwJjK9hD2xX4mEvjlQW60G9EEmfXVYRPv9VRQcyegIVHCql/AA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.10 - '@babel/helper-create-regexp-features-plugin': 7.22.9(@babel/core@7.22.10) - '@babel/helper-plugin-utils': 7.22.5 - dev: true - - /@babel/plugin-transform-unicode-sets-regex@7.22.5(@babel/core@7.22.10): - resolution: {integrity: sha512-lhMfi4FC15j13eKrh3DnYHjpGj6UKQHtNKTbtc1igvAhRy4+kLhV07OpLcsN0VgDEw/MjAvJO4BdMJsHwMhzCg==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 - dependencies: - '@babel/core': 7.22.10 - '@babel/helper-create-regexp-features-plugin': 7.22.9(@babel/core@7.22.10) - '@babel/helper-plugin-utils': 7.22.5 + '@babel/core': 7.12.3 + '@babel/helper-create-regexp-features-plugin': 7.21.0(@babel/core@7.12.3) + '@babel/helper-plugin-utils': 7.20.2 dev: true - /@babel/preset-env@7.22.10(@babel/core@7.22.10): - resolution: {integrity: sha512-riHpLb1drNkpLlocmSyEg4oYJIQFeXAK/d7rI6mbD0XsvoTOOweXDmQPG/ErxsEhWk3rl3Q/3F6RFQlVFS8m0A==} + /@babel/preset-env@7.20.2(@babel/core@7.12.3): + resolution: {integrity: sha512-1G0efQEWR1EHkKvKHqbG+IN/QdgwfByUpM5V5QroDzGV2t3S/WXNQd693cHiHTlCFMpr9B6FkPFXDA2lQcKoDg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/compat-data': 7.22.9 - '@babel/core': 7.22.10 - '@babel/helper-compilation-targets': 7.22.10 - '@babel/helper-plugin-utils': 7.22.5 - '@babel/helper-validator-option': 7.22.5 - '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression': 7.22.5(@babel/core@7.22.10) - '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.22.5(@babel/core@7.22.10) - '@babel/plugin-proposal-private-property-in-object': 7.21.0-placeholder-for-preset-env.2(@babel/core@7.22.10) - '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.22.10) - '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.22.10) - '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.22.10) - '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.22.10) - '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.22.10) - '@babel/plugin-syntax-import-assertions': 7.22.5(@babel/core@7.22.10) - '@babel/plugin-syntax-import-attributes': 7.22.5(@babel/core@7.22.10) - '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.22.10) - '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.22.10) - '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.22.10) - '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.22.10) - '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.22.10) - '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.22.10) - '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.22.10) - '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.22.10) - '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.22.10) - '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.22.10) - '@babel/plugin-syntax-unicode-sets-regex': 7.18.6(@babel/core@7.22.10) - '@babel/plugin-transform-arrow-functions': 7.22.5(@babel/core@7.22.10) - '@babel/plugin-transform-async-generator-functions': 7.22.10(@babel/core@7.22.10) - '@babel/plugin-transform-async-to-generator': 7.22.5(@babel/core@7.22.10) - '@babel/plugin-transform-block-scoped-functions': 7.22.5(@babel/core@7.22.10) - '@babel/plugin-transform-block-scoping': 7.22.10(@babel/core@7.22.10) - '@babel/plugin-transform-class-properties': 7.22.5(@babel/core@7.22.10) - '@babel/plugin-transform-class-static-block': 7.22.5(@babel/core@7.22.10) - '@babel/plugin-transform-classes': 7.22.6(@babel/core@7.22.10) - '@babel/plugin-transform-computed-properties': 7.22.5(@babel/core@7.22.10) - '@babel/plugin-transform-destructuring': 7.22.10(@babel/core@7.22.10) - '@babel/plugin-transform-dotall-regex': 7.22.5(@babel/core@7.22.10) - '@babel/plugin-transform-duplicate-keys': 7.22.5(@babel/core@7.22.10) - '@babel/plugin-transform-dynamic-import': 7.22.5(@babel/core@7.22.10) - '@babel/plugin-transform-exponentiation-operator': 7.22.5(@babel/core@7.22.10) - '@babel/plugin-transform-export-namespace-from': 7.22.5(@babel/core@7.22.10) - '@babel/plugin-transform-for-of': 7.22.5(@babel/core@7.22.10) - '@babel/plugin-transform-function-name': 7.22.5(@babel/core@7.22.10) - '@babel/plugin-transform-json-strings': 7.22.5(@babel/core@7.22.10) - '@babel/plugin-transform-literals': 7.22.5(@babel/core@7.22.10) - '@babel/plugin-transform-logical-assignment-operators': 7.22.5(@babel/core@7.22.10) - '@babel/plugin-transform-member-expression-literals': 7.22.5(@babel/core@7.22.10) - '@babel/plugin-transform-modules-amd': 7.22.5(@babel/core@7.22.10) - '@babel/plugin-transform-modules-commonjs': 7.22.5(@babel/core@7.22.10) - '@babel/plugin-transform-modules-systemjs': 7.22.5(@babel/core@7.22.10) - '@babel/plugin-transform-modules-umd': 7.22.5(@babel/core@7.22.10) - '@babel/plugin-transform-named-capturing-groups-regex': 7.22.5(@babel/core@7.22.10) - '@babel/plugin-transform-new-target': 7.22.5(@babel/core@7.22.10) - '@babel/plugin-transform-nullish-coalescing-operator': 7.22.5(@babel/core@7.22.10) - '@babel/plugin-transform-numeric-separator': 7.22.5(@babel/core@7.22.10) - '@babel/plugin-transform-object-rest-spread': 7.22.5(@babel/core@7.22.10) - '@babel/plugin-transform-object-super': 7.22.5(@babel/core@7.22.10) - '@babel/plugin-transform-optional-catch-binding': 7.22.5(@babel/core@7.22.10) - '@babel/plugin-transform-optional-chaining': 7.22.10(@babel/core@7.22.10) - '@babel/plugin-transform-parameters': 7.22.5(@babel/core@7.22.10) - '@babel/plugin-transform-private-methods': 7.22.5(@babel/core@7.22.10) - '@babel/plugin-transform-private-property-in-object': 7.22.5(@babel/core@7.22.10) - '@babel/plugin-transform-property-literals': 7.22.5(@babel/core@7.22.10) - '@babel/plugin-transform-regenerator': 7.22.10(@babel/core@7.22.10) - '@babel/plugin-transform-reserved-words': 7.22.5(@babel/core@7.22.10) - '@babel/plugin-transform-shorthand-properties': 7.22.5(@babel/core@7.22.10) - '@babel/plugin-transform-spread': 7.22.5(@babel/core@7.22.10) - '@babel/plugin-transform-sticky-regex': 7.22.5(@babel/core@7.22.10) - '@babel/plugin-transform-template-literals': 7.22.5(@babel/core@7.22.10) - '@babel/plugin-transform-typeof-symbol': 7.22.5(@babel/core@7.22.10) - '@babel/plugin-transform-unicode-escapes': 7.22.10(@babel/core@7.22.10) - '@babel/plugin-transform-unicode-property-regex': 7.22.5(@babel/core@7.22.10) - '@babel/plugin-transform-unicode-regex': 7.22.5(@babel/core@7.22.10) - '@babel/plugin-transform-unicode-sets-regex': 7.22.5(@babel/core@7.22.10) - '@babel/preset-modules': 0.1.6-no-external-plugins(@babel/core@7.22.10) - '@babel/types': 7.22.10 - babel-plugin-polyfill-corejs2: 0.4.5(@babel/core@7.22.10) - babel-plugin-polyfill-corejs3: 0.8.3(@babel/core@7.22.10) - babel-plugin-polyfill-regenerator: 0.5.2(@babel/core@7.22.10) - core-js-compat: 3.32.1 - semver: 6.3.1 + '@babel/compat-data': 7.21.0 + '@babel/core': 7.12.3 + '@babel/helper-compilation-targets': 7.20.7(@babel/core@7.12.3) + '@babel/helper-plugin-utils': 7.20.2 + '@babel/helper-validator-option': 7.21.0 + '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression': 7.18.6(@babel/core@7.12.3) + '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.20.7(@babel/core@7.12.3) + '@babel/plugin-proposal-async-generator-functions': 7.20.7(@babel/core@7.12.3) + '@babel/plugin-proposal-class-properties': 7.18.6(@babel/core@7.12.3) + '@babel/plugin-proposal-class-static-block': 7.21.0(@babel/core@7.12.3) + '@babel/plugin-proposal-dynamic-import': 7.18.6(@babel/core@7.12.3) + '@babel/plugin-proposal-export-namespace-from': 7.18.9(@babel/core@7.12.3) + '@babel/plugin-proposal-json-strings': 7.18.6(@babel/core@7.12.3) + '@babel/plugin-proposal-logical-assignment-operators': 7.20.7(@babel/core@7.12.3) + '@babel/plugin-proposal-nullish-coalescing-operator': 7.18.6(@babel/core@7.12.3) + '@babel/plugin-proposal-numeric-separator': 7.18.6(@babel/core@7.12.3) + '@babel/plugin-proposal-object-rest-spread': 7.20.7(@babel/core@7.12.3) + '@babel/plugin-proposal-optional-catch-binding': 7.18.6(@babel/core@7.12.3) + '@babel/plugin-proposal-optional-chaining': 7.21.0(@babel/core@7.12.3) + '@babel/plugin-proposal-private-methods': 7.18.6(@babel/core@7.12.3) + '@babel/plugin-proposal-private-property-in-object': 7.21.0(@babel/core@7.12.3) + '@babel/plugin-proposal-unicode-property-regex': 7.18.6(@babel/core@7.12.3) + '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.12.3) + '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.12.3) + '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.12.3) + '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.12.3) + '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.12.3) + '@babel/plugin-syntax-import-assertions': 7.20.0(@babel/core@7.12.3) + '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.12.3) + '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.12.3) + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.12.3) + '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.12.3) + '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.12.3) + '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.12.3) + '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.12.3) + '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.12.3) + '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.12.3) + '@babel/plugin-transform-arrow-functions': 7.20.7(@babel/core@7.12.3) + '@babel/plugin-transform-async-to-generator': 7.20.7(@babel/core@7.12.3) + '@babel/plugin-transform-block-scoped-functions': 7.18.6(@babel/core@7.12.3) + '@babel/plugin-transform-block-scoping': 7.21.0(@babel/core@7.12.3) + '@babel/plugin-transform-classes': 7.21.0(@babel/core@7.12.3) + '@babel/plugin-transform-computed-properties': 7.20.7(@babel/core@7.12.3) + '@babel/plugin-transform-destructuring': 7.20.7(@babel/core@7.12.3) + '@babel/plugin-transform-dotall-regex': 7.18.6(@babel/core@7.12.3) + '@babel/plugin-transform-duplicate-keys': 7.18.9(@babel/core@7.12.3) + '@babel/plugin-transform-exponentiation-operator': 7.18.6(@babel/core@7.12.3) + '@babel/plugin-transform-for-of': 7.21.0(@babel/core@7.12.3) + '@babel/plugin-transform-function-name': 7.18.9(@babel/core@7.12.3) + '@babel/plugin-transform-literals': 7.18.9(@babel/core@7.12.3) + '@babel/plugin-transform-member-expression-literals': 7.18.6(@babel/core@7.12.3) + '@babel/plugin-transform-modules-amd': 7.20.11(@babel/core@7.12.3) + '@babel/plugin-transform-modules-commonjs': 7.21.2(@babel/core@7.12.3) + '@babel/plugin-transform-modules-systemjs': 7.20.11(@babel/core@7.12.3) + '@babel/plugin-transform-modules-umd': 7.18.6(@babel/core@7.12.3) + '@babel/plugin-transform-named-capturing-groups-regex': 7.20.5(@babel/core@7.12.3) + '@babel/plugin-transform-new-target': 7.18.6(@babel/core@7.12.3) + '@babel/plugin-transform-object-super': 7.18.6(@babel/core@7.12.3) + '@babel/plugin-transform-parameters': 7.20.7(@babel/core@7.12.3) + '@babel/plugin-transform-property-literals': 7.18.6(@babel/core@7.12.3) + '@babel/plugin-transform-regenerator': 7.20.5(@babel/core@7.12.3) + '@babel/plugin-transform-reserved-words': 7.18.6(@babel/core@7.12.3) + '@babel/plugin-transform-shorthand-properties': 7.18.6(@babel/core@7.12.3) + '@babel/plugin-transform-spread': 7.20.7(@babel/core@7.12.3) + '@babel/plugin-transform-sticky-regex': 7.18.6(@babel/core@7.12.3) + '@babel/plugin-transform-template-literals': 7.18.9(@babel/core@7.12.3) + '@babel/plugin-transform-typeof-symbol': 7.18.9(@babel/core@7.12.3) + '@babel/plugin-transform-unicode-escapes': 7.18.10(@babel/core@7.12.3) + '@babel/plugin-transform-unicode-regex': 7.18.6(@babel/core@7.12.3) + '@babel/preset-modules': 0.1.5(@babel/core@7.12.3) + '@babel/types': 7.21.2 + babel-plugin-polyfill-corejs2: 0.3.3(@babel/core@7.12.3) + babel-plugin-polyfill-corejs3: 0.6.0(@babel/core@7.12.3) + babel-plugin-polyfill-regenerator: 0.4.1(@babel/core@7.12.3) + core-js-compat: 3.28.0 + semver: 6.3.0 transitivePeerDependencies: - supports-color dev: true - /@babel/preset-modules@0.1.6-no-external-plugins(@babel/core@7.22.10): - resolution: {integrity: sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA==} + /@babel/preset-modules@0.1.5(@babel/core@7.12.3): + resolution: {integrity: sha512-A57th6YRG7oR3cq/yt/Y84MvGgE0eJG2F1JLhKuyG+jFxEgrd/HAMJatiFtmOiZurz+0DkrvbheCLaV5f2JfjA==} peerDependencies: - '@babel/core': ^7.0.0-0 || ^8.0.0-0 <8.0.0 + '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.10 - '@babel/helper-plugin-utils': 7.22.5 - '@babel/types': 7.22.10 + '@babel/core': 7.12.3 + '@babel/helper-plugin-utils': 7.20.2 + '@babel/plugin-proposal-unicode-property-regex': 7.18.6(@babel/core@7.12.3) + '@babel/plugin-transform-dotall-regex': 7.18.6(@babel/core@7.12.3) + '@babel/types': 7.21.2 esutils: 2.0.3 dev: true @@ -2213,53 +2395,53 @@ packages: resolution: {integrity: sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA==} dev: true - /@babel/runtime@7.22.10: - resolution: {integrity: sha512-21t/fkKLMZI4pqP2wlmsQAWnYW1PDyKyyUV4vCi+B25ydmdaYTKXPwCj0BzSUnZf4seIiYvSA3jcZ3gdsMFkLQ==} + /@babel/runtime@7.21.0: + resolution: {integrity: sha512-xwII0//EObnq89Ji5AKYQaRYiW/nZ3llSv29d49IuxPhKbtJoLP+9QUUZ4nVragQVtaVGeZrpB+ZtG/Pdy/POw==} engines: {node: '>=6.9.0'} dependencies: - regenerator-runtime: 0.14.0 + regenerator-runtime: 0.13.11 dev: true - /@babel/template@7.22.5: - resolution: {integrity: sha512-X7yV7eiwAxdj9k94NEylvbVHLiVG1nvzCV2EAowhxLTwODV1jl9UzZ48leOC0sH7OnuHrIkllaBgneUykIcZaw==} + /@babel/template@7.20.7: + resolution: {integrity: sha512-8SegXApWe6VoNw0r9JHpSteLKTpTiLZ4rMlGIm9JQ18KiCtyQiAMEazujAHrUS5flrcqYZa75ukev3P6QmUwUw==} engines: {node: '>=6.9.0'} dependencies: - '@babel/code-frame': 7.22.10 - '@babel/parser': 7.22.10 - '@babel/types': 7.22.10 + '@babel/code-frame': 7.18.6 + '@babel/parser': 7.21.8 + '@babel/types': 7.21.2 dev: true - /@babel/traverse@7.22.10: - resolution: {integrity: sha512-Q/urqV4pRByiNNpb/f5OSv28ZlGJiFiiTh+GAHktbIrkPhPbl90+uW6SmpoLyZqutrg9AEaEf3Q/ZBRHBXgxig==} + /@babel/traverse@7.21.2: + resolution: {integrity: sha512-ts5FFU/dSUPS13tv8XiEObDu9K+iagEKME9kAbaP7r0Y9KtZJZ+NGndDvWoRAYNpeWafbpFeki3q9QoMD6gxyw==} engines: {node: '>=6.9.0'} dependencies: - '@babel/code-frame': 7.22.10 - '@babel/generator': 7.22.10 - '@babel/helper-environment-visitor': 7.22.5 - '@babel/helper-function-name': 7.22.5 - '@babel/helper-hoist-variables': 7.22.5 - '@babel/helper-split-export-declaration': 7.22.6 - '@babel/parser': 7.22.10 - '@babel/types': 7.22.10 + '@babel/code-frame': 7.18.6 + '@babel/generator': 7.21.1 + '@babel/helper-environment-visitor': 7.18.9 + '@babel/helper-function-name': 7.21.0 + '@babel/helper-hoist-variables': 7.18.6 + '@babel/helper-split-export-declaration': 7.18.6 + '@babel/parser': 7.21.8 + '@babel/types': 7.21.2 debug: 4.3.4(supports-color@8.1.1) globals: 11.12.0 transitivePeerDependencies: - supports-color dev: true - /@babel/types@7.22.10: - resolution: {integrity: sha512-obaoigiLrlDZ7TUQln/8m4mSqIW2QFeOrCQc9r+xsaHGNoplVNYlRVpsfE8Vj35GEm2ZH4ZhrNYogs/3fj85kg==} + /@babel/types@7.21.2: + resolution: {integrity: sha512-3wRZSs7jiFaB8AjxiiD+VqN5DTG2iRvJGQ+qYFrs/654lg6kGTQWIOFjlBo5RaXuAZjBmP3+OQH4dmhqiiyYxw==} engines: {node: '>=6.9.0'} dependencies: - '@babel/helper-string-parser': 7.22.5 - '@babel/helper-validator-identifier': 7.22.5 + '@babel/helper-string-parser': 7.19.4 + '@babel/helper-validator-identifier': 7.19.1 to-fast-properties: 2.0.0 /@bcherny/json-schema-ref-parser@9.0.9: resolution: {integrity: sha512-vmEmnJCfpkLdas++9OYg6riIezTYqTHpqUTODJzHLzs5UnXujbOJW9VwcVCnyo1mVRt32FRr23iXBx/sX8YbeQ==} dependencies: '@jsdevtools/ono': 7.1.3 - '@types/json-schema': 7.0.12 + '@types/json-schema': 7.0.11 call-me-maybe: 1.0.2 js-yaml: 4.1.0 dev: true @@ -2307,8 +2489,8 @@ packages: hasBin: true dependencies: '@commitlint/format': 17.4.4 - '@commitlint/lint': 17.7.0 - '@commitlint/load': 17.7.1 + '@commitlint/lint': 17.6.1 + '@commitlint/load': 17.5.0 '@commitlint/read': 17.5.1 '@commitlint/types': 17.4.4 execa: 5.1.1 @@ -2328,16 +2510,16 @@ packages: conventional-changelog-conventionalcommits: 5.0.0 dev: true - /@commitlint/config-validator@17.6.7: - resolution: {integrity: sha512-vJSncmnzwMvpr3lIcm0I8YVVDJTzyjy7NZAeXbTXy+MPUdAr9pKyyg7Tx/ebOQ9kqzE6O9WT6jg2164br5UdsQ==} + /@commitlint/config-validator@17.4.4: + resolution: {integrity: sha512-bi0+TstqMiqoBAQDvdEP4AFh0GaKyLFlPPEObgI29utoKEYoPQTvF0EYqIwYYLEoJYhj5GfMIhPHJkTJhagfeg==} engines: {node: '>=v14'} dependencies: '@commitlint/types': 17.4.4 ajv: 8.12.0 dev: true - /@commitlint/ensure@17.6.7: - resolution: {integrity: sha512-mfDJOd1/O/eIb/h4qwXzUxkmskXDL9vNPnZ4AKYKiZALz4vHzwMxBSYtyL2mUIDeU9DRSpEUins8SeKtFkYHSw==} + /@commitlint/ensure@17.4.4: + resolution: {integrity: sha512-AHsFCNh8hbhJiuZ2qHv/m59W/GRE9UeOXbkOqxYMNNg9pJ7qELnFcwj5oYpa6vzTSHtPGKf3C2yUFNy1GGHq6g==} engines: {node: '>=v14'} dependencies: '@commitlint/types': 17.4.4 @@ -2361,41 +2543,41 @@ packages: chalk: 4.1.2 dev: true - /@commitlint/is-ignored@17.7.0: - resolution: {integrity: sha512-043rA7m45tyEfW7Zv2vZHF++176MLHH9h70fnPoYlB1slKBeKl8BwNIlnPg4xBdRBVNPaCqvXxWswx2GR4c9Hw==} + /@commitlint/is-ignored@17.4.4: + resolution: {integrity: sha512-Y3eo1SFJ2JQDik4rWkBC4tlRIxlXEFrRWxcyrzb1PUT2k3kZ/XGNuCDfk/u0bU2/yS0tOA/mTjFsV+C4qyACHw==} engines: {node: '>=v14'} dependencies: '@commitlint/types': 17.4.4 - semver: 7.5.4 + semver: 7.3.8 dev: true - /@commitlint/lint@17.7.0: - resolution: {integrity: sha512-TCQihm7/uszA5z1Ux1vw+Nf3yHTgicus/+9HiUQk+kRSQawByxZNESeQoX9ujfVd3r4Sa+3fn0JQAguG4xvvbA==} + /@commitlint/lint@17.6.1: + resolution: {integrity: sha512-VARJ9kxH64isgwVnC+ABPafCYzqxpsWJIpDaTuI0gh8aX4GQ0i7cn9tvxtFNfJj4ER2BAJeWJ0vURdNYjK2RQQ==} engines: {node: '>=v14'} dependencies: - '@commitlint/is-ignored': 17.7.0 - '@commitlint/parse': 17.7.0 - '@commitlint/rules': 17.7.0 + '@commitlint/is-ignored': 17.4.4 + '@commitlint/parse': 17.4.4 + '@commitlint/rules': 17.6.1 '@commitlint/types': 17.4.4 dev: true - /@commitlint/load@17.7.1: - resolution: {integrity: sha512-S/QSOjE1ztdogYj61p6n3UbkUvweR17FQ0zDbNtoTLc+Hz7vvfS7ehoTMQ27hPSjVBpp7SzEcOQu081RLjKHJQ==} + /@commitlint/load@17.5.0: + resolution: {integrity: sha512-l+4W8Sx4CD5rYFsrhHH8HP01/8jEP7kKf33Xlx2Uk2out/UKoKPYMOIRcDH5ppT8UXLMV+x6Wm5osdRKKgaD1Q==} engines: {node: '>=v14'} dependencies: - '@commitlint/config-validator': 17.6.7 + '@commitlint/config-validator': 17.4.4 '@commitlint/execute-rule': 17.4.0 - '@commitlint/resolve-extends': 17.6.7 + '@commitlint/resolve-extends': 17.4.4 '@commitlint/types': 17.4.4 - '@types/node': 20.4.7 + '@types/node': 18.16.0 chalk: 4.1.2 - cosmiconfig: 8.2.0 - cosmiconfig-typescript-loader: 4.4.0(@types/node@20.4.7)(cosmiconfig@8.2.0)(ts-node@10.9.1)(typescript@5.1.3) + cosmiconfig: 8.0.0 + cosmiconfig-typescript-loader: 4.1.0(@types/node@18.16.0)(cosmiconfig@8.0.0)(ts-node@10.9.1)(typescript@5.1.3) lodash.isplainobject: 4.0.6 lodash.merge: 4.6.2 lodash.uniq: 4.5.0 resolve-from: 5.0.0 - ts-node: 10.9.1(@types/node@20.4.7)(typescript@5.1.3) + ts-node: 10.9.1(@types/node@18.16.0)(typescript@5.1.3) typescript: 5.1.3 transitivePeerDependencies: - '@swc/core' @@ -2407,13 +2589,13 @@ packages: engines: {node: '>=v14'} dev: true - /@commitlint/parse@17.7.0: - resolution: {integrity: sha512-dIvFNUMCUHqq5Abv80mIEjLVfw8QNuA4DS7OWip4pcK/3h5wggmjVnlwGCDvDChkw2TjK1K6O+tAEV78oxjxag==} + /@commitlint/parse@17.4.4: + resolution: {integrity: sha512-EKzz4f49d3/OU0Fplog7nwz/lAfXMaDxtriidyGF9PtR+SRbgv4FhsfF310tKxs6EPj8Y+aWWuX3beN5s+yqGg==} engines: {node: '>=v14'} dependencies: '@commitlint/types': 17.4.4 - conventional-changelog-angular: 6.0.0 - conventional-commits-parser: 4.0.0 + conventional-changelog-angular: 5.0.13 + conventional-commits-parser: 3.2.4 dev: true /@commitlint/read@17.5.1: @@ -2427,11 +2609,11 @@ packages: minimist: 1.2.8 dev: true - /@commitlint/resolve-extends@17.6.7: - resolution: {integrity: sha512-PfeoAwLHtbOaC9bGn/FADN156CqkFz6ZKiVDMjuC2N5N0740Ke56rKU7Wxdwya8R8xzLK9vZzHgNbuGhaOVKIg==} + /@commitlint/resolve-extends@17.4.4: + resolution: {integrity: sha512-znXr1S0Rr8adInptHw0JeLgumS11lWbk5xAWFVno+HUFVN45875kUtqjrI6AppmD3JI+4s0uZlqqlkepjJd99A==} engines: {node: '>=v14'} dependencies: - '@commitlint/config-validator': 17.6.7 + '@commitlint/config-validator': 17.4.4 '@commitlint/types': 17.4.4 import-fresh: 3.3.0 lodash.mergewith: 4.6.2 @@ -2439,11 +2621,11 @@ packages: resolve-global: 1.0.0 dev: true - /@commitlint/rules@17.7.0: - resolution: {integrity: sha512-J3qTh0+ilUE5folSaoK91ByOb8XeQjiGcdIdiB/8UT1/Rd1itKo0ju/eQVGyFzgTMYt8HrDJnGTmNWwcMR1rmA==} + /@commitlint/rules@17.6.1: + resolution: {integrity: sha512-lUdHw6lYQ1RywExXDdLOKxhpp6857/4c95Dc/1BikrHgdysVUXz26yV0vp1GL7Gv+avx9WqZWTIVB7pNouxlfw==} engines: {node: '>=v14'} dependencies: - '@commitlint/ensure': 17.6.7 + '@commitlint/ensure': 17.4.4 '@commitlint/message': 17.4.2 '@commitlint/to-lines': 17.4.0 '@commitlint/types': 17.4.4 @@ -2473,28 +2655,28 @@ packages: resolution: {integrity: sha512-rsIev+dk1Vd8H1OKZhNhXycIVsMfeWJaeW3QUi1l4oIoGwQfJVbs1ZPZPHE5cglzyHOW1jQNStXf34UKaC6siA==} engines: {node: '>=14'} dependencies: - '@cspell/dict-ada': 4.0.2 + '@cspell/dict-ada': 4.0.1 '@cspell/dict-aws': 3.0.0 '@cspell/dict-bash': 4.1.1 - '@cspell/dict-companies': 3.0.19 - '@cspell/dict-cpp': 5.0.4 + '@cspell/dict-companies': 3.0.10 + '@cspell/dict-cpp': 5.0.3 '@cspell/dict-cryptocurrencies': 3.0.1 '@cspell/dict-csharp': 4.0.2 '@cspell/dict-css': 4.0.6 - '@cspell/dict-dart': 2.0.3 - '@cspell/dict-django': 4.1.0 - '@cspell/dict-docker': 1.1.7 + '@cspell/dict-dart': 2.0.2 + '@cspell/dict-django': 4.0.2 + '@cspell/dict-docker': 1.1.6 '@cspell/dict-dotnet': 5.0.0 '@cspell/dict-elixir': 4.0.3 '@cspell/dict-en-common-misspellings': 1.0.2 '@cspell/dict-en-gb': 1.1.33 - '@cspell/dict-en_us': 4.3.6 - '@cspell/dict-filetypes': 3.0.1 + '@cspell/dict-en_us': 4.3.2 + '@cspell/dict-filetypes': 3.0.0 '@cspell/dict-fonts': 3.0.2 '@cspell/dict-fullstack': 3.1.5 '@cspell/dict-gaming-terms': 1.0.4 '@cspell/dict-git': 2.0.0 - '@cspell/dict-golang': 6.0.2 + '@cspell/dict-golang': 6.0.1 '@cspell/dict-haskell': 4.0.1 '@cspell/dict-html': 4.0.3 '@cspell/dict-html-symbol-entities': 4.0.0 @@ -2504,17 +2686,17 @@ packages: '@cspell/dict-lorem-ipsum': 3.0.0 '@cspell/dict-lua': 4.0.1 '@cspell/dict-node': 4.0.2 - '@cspell/dict-npm': 5.0.8 + '@cspell/dict-npm': 5.0.5 '@cspell/dict-php': 4.0.1 - '@cspell/dict-powershell': 5.0.2 - '@cspell/dict-public-licenses': 2.0.3 - '@cspell/dict-python': 4.1.5 + '@cspell/dict-powershell': 5.0.1 + '@cspell/dict-public-licenses': 2.0.2 + '@cspell/dict-python': 4.0.4 '@cspell/dict-r': 2.0.1 '@cspell/dict-ruby': 5.0.0 '@cspell/dict-rust': 4.0.1 '@cspell/dict-scala': 5.0.0 - '@cspell/dict-software-terms': 3.2.1 - '@cspell/dict-sql': 2.1.1 + '@cspell/dict-software-terms': 3.1.8 + '@cspell/dict-sql': 2.1.0 '@cspell/dict-svelte': 1.0.2 '@cspell/dict-swift': 2.0.1 '@cspell/dict-typescript': 3.1.1 @@ -2536,8 +2718,8 @@ packages: engines: {node: '>=14'} dev: true - /@cspell/dict-ada@4.0.2: - resolution: {integrity: sha512-0kENOWQeHjUlfyId/aCM/mKXtkEgV0Zu2RhUXCBr4hHo9F9vph+Uu8Ww2b0i5a4ZixoIkudGA+eJvyxrG1jUpA==} + /@cspell/dict-ada@4.0.1: + resolution: {integrity: sha512-/E9o3nHrXOhYmQE43deKbxZcR3MIJAsa+66IzP9TXGHheKEx8b9dVMVVqydDDH8oom1H0U20NRPtu6KRVbT9xw==} dev: true /@cspell/dict-aws@3.0.0: @@ -2548,12 +2730,12 @@ packages: resolution: {integrity: sha512-8czAa/Mh96wu2xr0RXQEGMTBUGkTvYn/Pb0o+gqOO1YW+poXGQc3gx0YPqILDryP/KCERrNvkWUJz3iGbvwC2A==} dev: true - /@cspell/dict-companies@3.0.19: - resolution: {integrity: sha512-hO7rS4DhFA333qyvf89wIVoclCtXe/2sftY6aS0oMIH1bMZLjLx2B2sQJj6dCiu6gG/By1S9YZ0fXabiPk2Tkg==} + /@cspell/dict-companies@3.0.10: + resolution: {integrity: sha512-LgPi7t9cMc2gBL63jkx/H3LAAtM/DjgZEsnmYmGqrCPWYVmKY1Y4sH2PBaV2ocE9CypV83M0DellGiUNb0kmug==} dev: true - /@cspell/dict-cpp@5.0.4: - resolution: {integrity: sha512-Vmz/CCb2d91ES5juaO8+CFWeTa2AFsbpR8bkCPJq+P8cRP16+37tY0zNXEBSK/1ur4MakaRf76jeQBijpZxw0Q==} + /@cspell/dict-cpp@5.0.3: + resolution: {integrity: sha512-7sx/RFsf0hB3q8chx8OHYl9Kd+g0pqA1laphwaAQ+/jPwoAreYT3kNQWbJ3bIt/rMoORetFSQxckSbaJXwwqpw==} dev: true /@cspell/dict-cryptocurrencies@3.0.1: @@ -2568,20 +2750,16 @@ packages: resolution: {integrity: sha512-2Lo8W2ezHmGgY8cWFr4RUwnjbndna5mokpCK/DuxGILQnuajR0J31ANQOXj/8iZM2phFB93ZzMNk/0c04TDfSQ==} dev: true - /@cspell/dict-dart@2.0.3: - resolution: {integrity: sha512-cLkwo1KT5CJY5N5RJVHks2genFkNCl/WLfj+0fFjqNR+tk3tBI1LY7ldr9piCtSFSm4x9pO1x6IV3kRUY1lLiw==} + /@cspell/dict-dart@2.0.2: + resolution: {integrity: sha512-jigcODm7Z4IFZ4vParwwP3IT0fIgRq/9VoxkXfrxBMsLBGGM2QltHBj7pl+joX+c4cOHxfyZktGJK1B1wFtR4Q==} dev: true - /@cspell/dict-data-science@1.0.10: - resolution: {integrity: sha512-7ZsRCnW0f4Bdo6Cqq8V4gHr8K58h+MP8majcDeMNhpMFUPiiSnvKsDuG9V5jciI/0t+lptPrZwGGIVEDF4Kqtg==} + /@cspell/dict-django@4.0.2: + resolution: {integrity: sha512-L0Yw6+Yh2bE9/FAMG4gy9m752G4V8HEBjEAGeRIQ9qvxDLR9yD6dPOtgEFTjv7SWlKSrLb9wA/W3Q2GKCOusSg==} dev: true - /@cspell/dict-django@4.1.0: - resolution: {integrity: sha512-bKJ4gPyrf+1c78Z0Oc4trEB9MuhcB+Yg+uTTWsvhY6O2ncFYbB/LbEZfqhfmmuK/XJJixXfI1laF2zicyf+l0w==} - dev: true - - /@cspell/dict-docker@1.1.7: - resolution: {integrity: sha512-XlXHAr822euV36GGsl2J1CkBIVg3fZ6879ZOg5dxTIssuhUOCiV2BuzKZmt6aIFmcdPmR14+9i9Xq+3zuxeX0A==} + /@cspell/dict-docker@1.1.6: + resolution: {integrity: sha512-zCCiRTZ6EOQpBnSOm0/3rnKW1kCcAUDUA7SxJG3SuH6iZvKi3I8FEg8+O83WQUeXg0SyPNerD9F40JLnnJjJig==} dev: true /@cspell/dict-dotnet@5.0.0: @@ -2600,12 +2778,12 @@ packages: resolution: {integrity: sha512-tKSSUf9BJEV+GJQAYGw5e+ouhEe2ZXE620S7BLKe3ZmpnjlNG9JqlnaBhkIMxKnNFkLY2BP/EARzw31AZnOv4g==} dev: true - /@cspell/dict-en_us@4.3.6: - resolution: {integrity: sha512-odhgsjNZI9BtEOJdvqfAuv/3yz5aB1ngfBNaph7WSnYVt//9e3fhrElZ6/pIIkoyuGgeQPwz1fXt+tMgcnLSEQ==} + /@cspell/dict-en_us@4.3.2: + resolution: {integrity: sha512-o8xtHDLPNzW6hK5b1TaDTWt25vVi9lWlL6/dZ9YoS+ZMj+Dy/yuXatqfOgeGyU3a9+2gxC0kbr4oufMUQXI2mQ==} dev: true - /@cspell/dict-filetypes@3.0.1: - resolution: {integrity: sha512-8z8mY1IbrTyTRumx2vvD9yzRhNMk9SajM/GtI5hdMM2pPpNSp25bnuauzjRf300eqlqPY2MNb5MmhBFO014DJw==} + /@cspell/dict-filetypes@3.0.0: + resolution: {integrity: sha512-Fiyp0z5uWaK0d2TfR9GMUGDKmUMAsOhGD5A0kHoqnNGswL2iw0KB0mFBONEquxU65fEnQv4R+jdM2d9oucujuA==} dev: true /@cspell/dict-fonts@3.0.2: @@ -2624,8 +2802,8 @@ packages: resolution: {integrity: sha512-n1AxyX5Kgxij/sZFkxFJlzn3K9y/sCcgVPg/vz4WNJ4K9YeTsUmyGLA2OQI7d10GJeiuAo2AP1iZf2A8j9aj2w==} dev: true - /@cspell/dict-golang@6.0.2: - resolution: {integrity: sha512-5pyZn4AAiYukAW+gVMIMVmUSkIERFrDX2vtPDjg8PLQUhAHWiVeQSDjuOhq9/C5GCCEZU/zWSONkGiwLBBvV9A==} + /@cspell/dict-golang@6.0.1: + resolution: {integrity: sha512-Z19FN6wgg2M/A+3i1O8qhrGaxUUGOW8S2ySN0g7vp4HTHeFmockEPwYx7gArfssNIruw60JorZv+iLJ6ilTeow==} dev: true /@cspell/dict-haskell@4.0.1: @@ -2664,26 +2842,24 @@ packages: resolution: {integrity: sha512-FEQJ4TnMcXEFslqBQkXa5HposMoCGsiBv2ux4IZuIXgadXeHKHUHk60iarWpjhzNzQLyN2GD7NoRMd12bK3Llw==} dev: true - /@cspell/dict-npm@5.0.8: - resolution: {integrity: sha512-KuqH8tEsFD6DPKqKwIfWr9E+admE3yghaC0AKXG8jPaf77N0lkctKaS3dm0oxWUXkYKA/eXj6LCtz3VcTyxFPg==} + /@cspell/dict-npm@5.0.5: + resolution: {integrity: sha512-eirZm4XpJNEcbmLGIwI2qXdRRlCKwEsH9mT3qCUytmbj6S6yn63F+8bShMW/yQBedV7+GXq9Td+cJdqiVutOiA==} dev: true /@cspell/dict-php@4.0.1: resolution: {integrity: sha512-XaQ/JkSyq2c07MfRG54DjLi2CV+HHwS99DDCAao9Fq2JfkWroTQsUeek7wYZXJATrJVOULoV3HKih12x905AtQ==} dev: true - /@cspell/dict-powershell@5.0.2: - resolution: {integrity: sha512-IHfWLme3FXE7vnOmMncSBxOsMTdNWd1Vcyhag03WS8oANSgX8IZ+4lMI00mF0ptlgchf16/OU8WsV4pZfikEFw==} + /@cspell/dict-powershell@5.0.1: + resolution: {integrity: sha512-lLl+syWFgfv2xdsoxHfPIB2FGkn//XahCIKcRaf52AOlm1/aXeaJN579B9HCpvM7wawHzMqJ33VJuL/vb6Lc4g==} dev: true - /@cspell/dict-public-licenses@2.0.3: - resolution: {integrity: sha512-JSLEdpEYufQ1H+93UHi+axlqQm1fhgK6kpdLHp6uPHu//CsvETcqNVawjB+qOdI/g38JTMw5fBqSd0aGNxa6Dw==} + /@cspell/dict-public-licenses@2.0.2: + resolution: {integrity: sha512-baKkbs/WGEV2lCWZoL0KBPh3uiPcul5GSDwmXEBAsR5McEW52LF94/b7xWM0EmSAc/y8ODc5LnPYC7RDRLi6LQ==} dev: true - /@cspell/dict-python@4.1.5: - resolution: {integrity: sha512-wWUWyHdyJtx5iG6Fz9rBQ17BtdpEsB17vmutao+gixQD28Jzb6XoLgDQ6606M0RnFjBSFhs5iT4CJBzlD2Kq6g==} - dependencies: - '@cspell/dict-data-science': 1.0.10 + /@cspell/dict-python@4.0.4: + resolution: {integrity: sha512-whCrxsALD66PxSbxZ++xV1HQzxpRZMiX6LXEkZlj4gWuptrzyZUdTMiI8EqVEVfyf5G4EW7HNCTz35kNL5Zl+w==} dev: true /@cspell/dict-r@2.0.1: @@ -2702,12 +2878,12 @@ packages: resolution: {integrity: sha512-ph0twaRoV+ylui022clEO1dZ35QbeEQaKTaV2sPOsdwIokABPIiK09oWwGK9qg7jRGQwVaRPEq0Vp+IG1GpqSQ==} dev: true - /@cspell/dict-software-terms@3.2.1: - resolution: {integrity: sha512-+QXmyoONVc/3aNgKW+0F0u3XUCRTfNRkWKLZQA78i+9fOfde8ZT4JmROmZgRveH/MxD4n6pNFceIRcYI6C8WuQ==} + /@cspell/dict-software-terms@3.1.8: + resolution: {integrity: sha512-gXJWSqnr8U50wHo/tpplLaZUQBQQGOwaJFHyMhN+DVNO92setoApHQ0zSqy4KSSkfvdbgYP0nPAj0MAo9/TvOw==} dev: true - /@cspell/dict-sql@2.1.1: - resolution: {integrity: sha512-v1mswi9NF40+UDUMuI148YQPEQvWjac72P6ZsjlRdLjEiQEEMEsTQ+zlkIdnzC9QCNyJaqD5Liq9Mn78/8Zxtw==} + /@cspell/dict-sql@2.1.0: + resolution: {integrity: sha512-Bb+TNWUrTNNABO0bmfcYXiTlSt0RD6sB2MIY+rNlaMyIwug43jUjeYmkLz2tPkn3+2uvySeFEOMVYhMVfcuDKg==} dev: true /@cspell/dict-svelte@1.0.2: @@ -2755,12 +2931,12 @@ packages: dependencies: '@jridgewell/trace-mapping': 0.3.9 - /@cypress/code-coverage@3.10.7(@babel/core@7.22.10)(@babel/preset-env@7.22.10)(babel-loader@9.1.3)(cypress@12.10.0)(webpack@5.88.2): + /@cypress/code-coverage@3.10.7(@babel/core@7.12.3)(@babel/preset-env@7.20.2)(babel-loader@9.1.2)(cypress@12.10.0)(webpack@5.88.2): resolution: {integrity: sha512-kQFB8GemDAAk6JBINsR9MLEgCw2AKb3FcdHQjIJ3KV4ZER6ZF0NGdO8SRj5oTVp28oqfOab4cgoBdecRiOE3qA==} peerDependencies: cypress: '*' dependencies: - '@cypress/webpack-preprocessor': 5.17.1(@babel/core@7.22.10)(@babel/preset-env@7.22.10)(babel-loader@9.1.3)(webpack@5.88.2) + '@cypress/webpack-preprocessor': 5.17.1(@babel/core@7.12.3)(@babel/preset-env@7.20.2)(babel-loader@9.1.2)(webpack@5.88.2) chalk: 4.1.2 cypress: 12.10.0 dayjs: 1.10.7 @@ -2778,12 +2954,12 @@ packages: - webpack dev: true - /@cypress/request@2.88.12: - resolution: {integrity: sha512-tOn+0mDZxASFM+cuAP9szGUGPI1HwWVSvdzm7V4cCsPdFTx6qMj29CwaQmRAMIEhORIUBFBsYROYJcveK4uOjA==} + /@cypress/request@2.88.10: + resolution: {integrity: sha512-Zp7F+R93N0yZyG34GutyTNr+okam7s/Fzc1+i3kcqOP8vk6OuajuE9qZJ6Rs+10/1JFtXFYMdyarnU1rZuJesg==} engines: {node: '>= 6'} dependencies: aws-sign2: 0.7.0 - aws4: 1.12.0 + aws4: 1.11.0 caseless: 0.12.0 combined-stream: 1.0.8 extend: 3.0.2 @@ -2795,14 +2971,14 @@ packages: json-stringify-safe: 5.0.1 mime-types: 2.1.35 performance-now: 2.1.0 - qs: 6.10.4 + qs: 6.5.3 safe-buffer: 5.2.1 - tough-cookie: 4.1.3 + tough-cookie: 2.5.0 tunnel-agent: 0.6.0 uuid: 8.3.2 dev: true - /@cypress/webpack-preprocessor@5.17.1(@babel/core@7.22.10)(@babel/preset-env@7.22.10)(babel-loader@9.1.3)(webpack@5.88.2): + /@cypress/webpack-preprocessor@5.17.1(@babel/core@7.12.3)(@babel/preset-env@7.20.2)(babel-loader@9.1.2)(webpack@5.88.2): resolution: {integrity: sha512-FE/e8ikPc8z4EVopJCaior3RGy0jd2q9Xcp5NtiwNG4XnLfEnUFTZlAGwXe75sEh4fNMPrBJW1KIz77PX5vGAw==} peerDependencies: '@babel/core': ^7.0.1 @@ -2810,9 +2986,9 @@ packages: babel-loader: ^8.0.2 || ^9 webpack: ^4 || ^5 dependencies: - '@babel/core': 7.22.10 - '@babel/preset-env': 7.22.10(@babel/core@7.22.10) - babel-loader: 9.1.3(@babel/core@7.22.10)(webpack@5.88.2) + '@babel/core': 7.12.3 + '@babel/preset-env': 7.20.2(@babel/core@7.12.3) + babel-loader: 9.1.2(@babel/core@7.12.3)(webpack@5.88.2) bluebird: 3.7.1 debug: 4.3.4(supports-color@8.1.1) lodash: 4.17.21 @@ -2835,15 +3011,35 @@ packages: engines: {node: '>=10.0.0'} dev: true + /@docsearch/css@3.3.3: + resolution: {integrity: sha512-6SCwI7P8ao+se1TUsdZ7B4XzL+gqeQZnBc+2EONZlcVa0dVrk0NjETxozFKgMv0eEGH8QzP1fkN+A1rH61l4eg==} + dev: true + + /@docsearch/css@3.3.5: + resolution: {integrity: sha512-NaXVp3I8LdmJ54fn038KHgG7HmbIzZlKS2FkVf6mKcW5bYMJovkx4947joQyZk5yubxOZ+ddHSh79y39Aevufg==} + dev: true + /@docsearch/css@3.5.2: resolution: {integrity: sha512-SPiDHaWKQZpwR2siD0KQUwlStvIAnEyK6tAE2h2Wuoq8ue9skzhlyVQ1ddzOxX6khULnAALDiR/isSF3bnuciA==} dev: true - /@docsearch/js@3.5.2(@algolia/client-search@4.19.1)(search-insights@2.7.0): + /@docsearch/js@3.3.5(@algolia/client-search@4.19.1): + resolution: {integrity: sha512-nZi074OCryZnzva2LNcbQkwBJIND6cvuFI4s1FIe6Ygf6n9g6B/IYUULXNx05rpoCZ+KEoEt3taROpsHBliuSw==} + dependencies: + '@docsearch/react': 3.3.5(@algolia/client-search@4.19.1) + preact: 10.11.0 + transitivePeerDependencies: + - '@algolia/client-search' + - '@types/react' + - react + - react-dom + dev: true + + /@docsearch/js@3.5.2(@algolia/client-search@4.19.1)(search-insights@2.6.0): resolution: {integrity: sha512-p1YFTCDflk8ieHgFJYfmyHBki1D61+U9idwrLh+GQQMrBSP3DLGKpy0XUJtPjAOPltcVbqsTjiPFfH7JImjUNg==} dependencies: - '@docsearch/react': 3.5.2(@algolia/client-search@4.19.1)(search-insights@2.7.0) - preact: 10.17.1 + '@docsearch/react': 3.5.2(@algolia/client-search@4.19.1)(search-insights@2.6.0) + preact: 10.11.0 transitivePeerDependencies: - '@algolia/client-search' - '@types/react' @@ -2852,7 +3048,29 @@ packages: - search-insights dev: true - /@docsearch/react@3.5.2(@algolia/client-search@4.19.1)(search-insights@2.7.0): + /@docsearch/react@3.3.5(@algolia/client-search@4.19.1): + resolution: {integrity: sha512-Zuxf4z5PZ9eIQkVCNu76v1H+KAztKItNn3rLzZa7kpBS+++TgNARITnZeUS7C1DKoAhJZFr6T/H+Lvc6h/iiYg==} + peerDependencies: + '@types/react': '>= 16.8.0 < 19.0.0' + react: '>= 16.8.0 < 19.0.0' + react-dom: '>= 16.8.0 < 19.0.0' + peerDependenciesMeta: + '@types/react': + optional: true + react: + optional: true + react-dom: + optional: true + dependencies: + '@algolia/autocomplete-core': 1.8.2 + '@algolia/autocomplete-preset-algolia': 1.8.2(@algolia/client-search@4.19.1)(algoliasearch@4.14.2) + '@docsearch/css': 3.3.5 + algoliasearch: 4.14.2 + transitivePeerDependencies: + - '@algolia/client-search' + dev: true + + /@docsearch/react@3.5.2(@algolia/client-search@4.19.1)(search-insights@2.6.0): resolution: {integrity: sha512-9Ahcrs5z2jq/DcAvYtvlqEBHImbm4YJI8M9y0x6Tqg598P40HTEkX7hsMcIuThI+hTFxRGZ9hll0Wygm2yEjng==} peerDependencies: '@types/react': '>= 16.8.0 < 19.0.0' @@ -2869,11 +3087,11 @@ packages: search-insights: optional: true dependencies: - '@algolia/autocomplete-core': 1.9.3(@algolia/client-search@4.19.1)(algoliasearch@4.19.1)(search-insights@2.7.0) + '@algolia/autocomplete-core': 1.9.3(@algolia/client-search@4.19.1)(algoliasearch@4.19.1)(search-insights@2.6.0) '@algolia/autocomplete-preset-algolia': 1.9.3(@algolia/client-search@4.19.1)(algoliasearch@4.19.1) '@docsearch/css': 3.5.2 algoliasearch: 4.19.1 - search-insights: 2.7.0 + search-insights: 2.6.0 transitivePeerDependencies: - '@algolia/client-search' dev: true @@ -2887,8 +3105,8 @@ packages: jsdoc-type-pratt-parser: 4.0.0 dev: true - /@esbuild/android-arm64@0.17.19: - resolution: {integrity: sha512-KBMWvEZooR7+kzY0BtbTQn0OAYY7CsiydT63pVEaPtVYF0hXbUaOyZog37DKxK7NF3XacBJOpYT4adIJh+avxA==} + /@esbuild/android-arm64@0.17.18: + resolution: {integrity: sha512-/iq0aK0eeHgSC3z55ucMAHO05OIqmQehiGay8eP5l/5l+iEr4EIbh4/MI8xD9qRFjqzgkc0JkX0LculNC9mXBw==} engines: {node: '>=12'} cpu: [arm64] os: [android] @@ -2896,8 +3114,8 @@ packages: dev: true optional: true - /@esbuild/android-arm64@0.18.20: - resolution: {integrity: sha512-Nz4rJcchGDtENV0eMKUNa6L12zz2zBDXuhj/Vjh18zGqB44Bi7MBMSXjgunJgjRhCmKOjnPuZp4Mb6OKqtMHLQ==} + /@esbuild/android-arm64@0.18.11: + resolution: {integrity: sha512-snieiq75Z1z5LJX9cduSAjUr7vEI1OdlzFPMw0HH5YI7qQHDd3qs+WZoMrWYDsfRJSq36lIA6mfZBkvL46KoIw==} engines: {node: '>=12'} cpu: [arm64] os: [android] @@ -2914,8 +3132,8 @@ packages: dev: true optional: true - /@esbuild/android-arm@0.17.19: - resolution: {integrity: sha512-rIKddzqhmav7MSmoFCmDIb6e2W57geRsM94gV2l38fzhXMwq7hZoClug9USI2pFRGL06f4IOPHHpFNOkWieR8A==} + /@esbuild/android-arm@0.17.18: + resolution: {integrity: sha512-EmwL+vUBZJ7mhFCs5lA4ZimpUH3WMAoqvOIYhVQwdIgSpHC8ImHdsRyhHAVxpDYUSm0lWvd63z0XH1IlImS2Qw==} engines: {node: '>=12'} cpu: [arm] os: [android] @@ -2923,8 +3141,8 @@ packages: dev: true optional: true - /@esbuild/android-arm@0.18.20: - resolution: {integrity: sha512-fyi7TDI/ijKKNZTUJAQqiG5T7YjJXgnzkURqmGj13C6dCqckZBLdl4h7bkhHt/t0WP+zO9/zwroDvANaOqO5Sw==} + /@esbuild/android-arm@0.18.11: + resolution: {integrity: sha512-q4qlUf5ucwbUJZXF5tEQ8LF7y0Nk4P58hOsGk3ucY0oCwgQqAnqXVbUuahCddVHfrxmpyewRpiTHwVHIETYu7Q==} engines: {node: '>=12'} cpu: [arm] os: [android] @@ -2941,8 +3159,8 @@ packages: dev: true optional: true - /@esbuild/android-x64@0.17.19: - resolution: {integrity: sha512-uUTTc4xGNDT7YSArp/zbtmbhO0uEEK9/ETW29Wk1thYUJBz3IVnvgEiEwEa9IeLyvnpKrWK64Utw2bgUmDveww==} + /@esbuild/android-x64@0.17.18: + resolution: {integrity: sha512-x+0efYNBF3NPW2Xc5bFOSFW7tTXdAcpfEg2nXmxegm4mJuVeS+i109m/7HMiOQ6M12aVGGFlqJX3RhNdYM2lWg==} engines: {node: '>=12'} cpu: [x64] os: [android] @@ -2950,8 +3168,8 @@ packages: dev: true optional: true - /@esbuild/android-x64@0.18.20: - resolution: {integrity: sha512-8GDdlePJA8D6zlZYJV/jnrRAi6rOiNaCC/JclcXpB+KIuvfBN4owLtgzY2bsxnx666XjJx2kDPUmnTtR8qKQUg==} + /@esbuild/android-x64@0.18.11: + resolution: {integrity: sha512-iPuoxQEV34+hTF6FT7om+Qwziv1U519lEOvekXO9zaMMlT9+XneAhKL32DW3H7okrCOBQ44BMihE8dclbZtTuw==} engines: {node: '>=12'} cpu: [x64] os: [android] @@ -2968,8 +3186,8 @@ packages: dev: true optional: true - /@esbuild/darwin-arm64@0.17.19: - resolution: {integrity: sha512-80wEoCfF/hFKM6WE1FyBHc9SfUblloAWx6FJkFWTWiCoht9Mc0ARGEM47e67W9rI09YoUxJL68WHfDRYEAvOhg==} + /@esbuild/darwin-arm64@0.17.18: + resolution: {integrity: sha512-6tY+djEAdF48M1ONWnQb1C+6LiXrKjmqjzPNPWXhu/GzOHTHX2nh8Mo2ZAmBFg0kIodHhciEgUBtcYCAIjGbjQ==} engines: {node: '>=12'} cpu: [arm64] os: [darwin] @@ -2977,8 +3195,8 @@ packages: dev: true optional: true - /@esbuild/darwin-arm64@0.18.20: - resolution: {integrity: sha512-bxRHW5kHU38zS2lPTPOyuyTm+S+eobPUnTNkdJEfAddYgEcll4xkT8DB9d2008DtTbl7uJag2HuE5NZAZgnNEA==} + /@esbuild/darwin-arm64@0.18.11: + resolution: {integrity: sha512-Gm0QkI3k402OpfMKyQEEMG0RuW2LQsSmI6OeO4El2ojJMoF5NLYb3qMIjvbG/lbMeLOGiW6ooU8xqc+S0fgz2w==} engines: {node: '>=12'} cpu: [arm64] os: [darwin] @@ -2995,8 +3213,8 @@ packages: dev: true optional: true - /@esbuild/darwin-x64@0.17.19: - resolution: {integrity: sha512-IJM4JJsLhRYr9xdtLytPLSH9k/oxR3boaUIYiHkAawtwNOXKE8KoU8tMvryogdcT8AU+Bflmh81Xn6Q0vTZbQw==} + /@esbuild/darwin-x64@0.17.18: + resolution: {integrity: sha512-Qq84ykvLvya3dO49wVC9FFCNUfSrQJLbxhoQk/TE1r6MjHo3sFF2tlJCwMjhkBVq3/ahUisj7+EpRSz0/+8+9A==} engines: {node: '>=12'} cpu: [x64] os: [darwin] @@ -3004,8 +3222,8 @@ packages: dev: true optional: true - /@esbuild/darwin-x64@0.18.20: - resolution: {integrity: sha512-pc5gxlMDxzm513qPGbCbDukOdsGtKhfxD1zJKXjCCcU7ju50O7MeAZ8c4krSJcOIJGFR+qx21yMMVYwiQvyTyQ==} + /@esbuild/darwin-x64@0.18.11: + resolution: {integrity: sha512-N15Vzy0YNHu6cfyDOjiyfJlRJCB/ngKOAvoBf1qybG3eOq0SL2Lutzz9N7DYUbb7Q23XtHPn6lMDF6uWbGv9Fw==} engines: {node: '>=12'} cpu: [x64] os: [darwin] @@ -3022,8 +3240,8 @@ packages: dev: true optional: true - /@esbuild/freebsd-arm64@0.17.19: - resolution: {integrity: sha512-pBwbc7DufluUeGdjSU5Si+P3SoMF5DQ/F/UmTSb8HXO80ZEAJmrykPyzo1IfNbAoaqw48YRpv8shwd1NoI0jcQ==} + /@esbuild/freebsd-arm64@0.17.18: + resolution: {integrity: sha512-fw/ZfxfAzuHfaQeMDhbzxp9mc+mHn1Y94VDHFHjGvt2Uxl10mT4CDavHm+/L9KG441t1QdABqkVYwakMUeyLRA==} engines: {node: '>=12'} cpu: [arm64] os: [freebsd] @@ -3031,8 +3249,8 @@ packages: dev: true optional: true - /@esbuild/freebsd-arm64@0.18.20: - resolution: {integrity: sha512-yqDQHy4QHevpMAaxhhIwYPMv1NECwOvIpGCZkECn8w2WFHXjEwrBn3CeNIYsibZ/iZEUemj++M26W3cNR5h+Tw==} + /@esbuild/freebsd-arm64@0.18.11: + resolution: {integrity: sha512-atEyuq6a3omEY5qAh5jIORWk8MzFnCpSTUruBgeyN9jZq1K/QI9uke0ATi3MHu4L8c59CnIi4+1jDKMuqmR71A==} engines: {node: '>=12'} cpu: [arm64] os: [freebsd] @@ -3049,8 +3267,8 @@ packages: dev: true optional: true - /@esbuild/freebsd-x64@0.17.19: - resolution: {integrity: sha512-4lu+n8Wk0XlajEhbEffdy2xy53dpR06SlzvhGByyg36qJw6Kpfk7cp45DR/62aPH9mtJRmIyrXAS5UWBrJT6TQ==} + /@esbuild/freebsd-x64@0.17.18: + resolution: {integrity: sha512-FQFbRtTaEi8ZBi/A6kxOC0V0E9B/97vPdYjY9NdawyLd4Qk5VD5g2pbWN2VR1c0xhzcJm74HWpObPszWC+qTew==} engines: {node: '>=12'} cpu: [x64] os: [freebsd] @@ -3058,8 +3276,8 @@ packages: dev: true optional: true - /@esbuild/freebsd-x64@0.18.20: - resolution: {integrity: sha512-tgWRPPuQsd3RmBZwarGVHZQvtzfEBOreNuxEMKFcd5DaDn2PbBxfwLcj4+aenoh7ctXcbXmOQIn8HI6mCSw5MQ==} + /@esbuild/freebsd-x64@0.18.11: + resolution: {integrity: sha512-XtuPrEfBj/YYYnAAB7KcorzzpGTvOr/dTtXPGesRfmflqhA4LMF0Gh/n5+a9JBzPuJ+CGk17CA++Hmr1F/gI0Q==} engines: {node: '>=12'} cpu: [x64] os: [freebsd] @@ -3076,8 +3294,8 @@ packages: dev: true optional: true - /@esbuild/linux-arm64@0.17.19: - resolution: {integrity: sha512-ct1Tg3WGwd3P+oZYqic+YZF4snNl2bsnMKRkb3ozHmnM0dGWuxcPTTntAF6bOP0Sp4x0PjSF+4uHQ1xvxfRKqg==} + /@esbuild/linux-arm64@0.17.18: + resolution: {integrity: sha512-R7pZvQZFOY2sxUG8P6A21eq6q+eBv7JPQYIybHVf1XkQYC+lT7nDBdC7wWKTrbvMXKRaGudp/dzZCwL/863mZQ==} engines: {node: '>=12'} cpu: [arm64] os: [linux] @@ -3085,8 +3303,8 @@ packages: dev: true optional: true - /@esbuild/linux-arm64@0.18.20: - resolution: {integrity: sha512-2YbscF+UL7SQAVIpnWvYwM+3LskyDmPhe31pE7/aoTMFKKzIc9lLbyGUpmmb8a8AixOL61sQ/mFh3jEjHYFvdA==} + /@esbuild/linux-arm64@0.18.11: + resolution: {integrity: sha512-c6Vh2WS9VFKxKZ2TvJdA7gdy0n6eSy+yunBvv4aqNCEhSWVor1TU43wNRp2YLO9Vng2G+W94aRz+ILDSwAiYog==} engines: {node: '>=12'} cpu: [arm64] os: [linux] @@ -3103,8 +3321,8 @@ packages: dev: true optional: true - /@esbuild/linux-arm@0.17.19: - resolution: {integrity: sha512-cdmT3KxjlOQ/gZ2cjfrQOtmhG4HJs6hhvm3mWSRDPtZ/lP5oe8FWceS10JaSJC13GBd4eH/haHnqf7hhGNLerA==} + /@esbuild/linux-arm@0.17.18: + resolution: {integrity: sha512-jW+UCM40LzHcouIaqv3e/oRs0JM76JfhHjCavPxMUti7VAPh8CaGSlS7cmyrdpzSk7A+8f0hiedHqr/LMnfijg==} engines: {node: '>=12'} cpu: [arm] os: [linux] @@ -3112,8 +3330,8 @@ packages: dev: true optional: true - /@esbuild/linux-arm@0.18.20: - resolution: {integrity: sha512-/5bHkMWnq1EgKr1V+Ybz3s1hWXok7mDFUMQ4cG10AfW3wL02PSZi5kFpYKrptDsgb2WAJIvRcDm+qIvXf/apvg==} + /@esbuild/linux-arm@0.18.11: + resolution: {integrity: sha512-Idipz+Taso/toi2ETugShXjQ3S59b6m62KmLHkJlSq/cBejixmIydqrtM2XTvNCywFl3VC7SreSf6NV0i6sRyg==} engines: {node: '>=12'} cpu: [arm] os: [linux] @@ -3130,8 +3348,8 @@ packages: dev: true optional: true - /@esbuild/linux-ia32@0.17.19: - resolution: {integrity: sha512-w4IRhSy1VbsNxHRQpeGCHEmibqdTUx61Vc38APcsRbuVgK0OPEnQ0YD39Brymn96mOx48Y2laBQGqgZ0j9w6SQ==} + /@esbuild/linux-ia32@0.17.18: + resolution: {integrity: sha512-ygIMc3I7wxgXIxk6j3V00VlABIjq260i967Cp9BNAk5pOOpIXmd1RFQJQX9Io7KRsthDrQYrtcx7QCof4o3ZoQ==} engines: {node: '>=12'} cpu: [ia32] os: [linux] @@ -3139,8 +3357,8 @@ packages: dev: true optional: true - /@esbuild/linux-ia32@0.18.20: - resolution: {integrity: sha512-P4etWwq6IsReT0E1KHU40bOnzMHoH73aXp96Fs8TIT6z9Hu8G6+0SHSw9i2isWrD2nbx2qo5yUqACgdfVGx7TA==} + /@esbuild/linux-ia32@0.18.11: + resolution: {integrity: sha512-S3hkIF6KUqRh9n1Q0dSyYcWmcVa9Cg+mSoZEfFuzoYXXsk6196qndrM+ZiHNwpZKi3XOXpShZZ+9dfN5ykqjjw==} engines: {node: '>=12'} cpu: [ia32] os: [linux] @@ -3157,8 +3375,8 @@ packages: dev: true optional: true - /@esbuild/linux-loong64@0.17.19: - resolution: {integrity: sha512-2iAngUbBPMq439a+z//gE+9WBldoMp1s5GWsUSgqHLzLJ9WoZLZhpwWuym0u0u/4XmZ3gpHmzV84PonE+9IIdQ==} + /@esbuild/linux-loong64@0.17.18: + resolution: {integrity: sha512-bvPG+MyFs5ZlwYclCG1D744oHk1Pv7j8psF5TfYx7otCVmcJsEXgFEhQkbhNW8otDHL1a2KDINW20cfCgnzgMQ==} engines: {node: '>=12'} cpu: [loong64] os: [linux] @@ -3166,8 +3384,8 @@ packages: dev: true optional: true - /@esbuild/linux-loong64@0.18.20: - resolution: {integrity: sha512-nXW8nqBTrOpDLPgPY9uV+/1DjxoQ7DoB2N8eocyq8I9XuqJ7BiAMDMf9n1xZM9TgW0J8zrquIb/A7s3BJv7rjg==} + /@esbuild/linux-loong64@0.18.11: + resolution: {integrity: sha512-MRESANOoObQINBA+RMZW+Z0TJWpibtE7cPFnahzyQHDCA9X9LOmGh68MVimZlM9J8n5Ia8lU773te6O3ILW8kw==} engines: {node: '>=12'} cpu: [loong64] os: [linux] @@ -3184,8 +3402,8 @@ packages: dev: true optional: true - /@esbuild/linux-mips64el@0.17.19: - resolution: {integrity: sha512-LKJltc4LVdMKHsrFe4MGNPp0hqDFA1Wpt3jE1gEyM3nKUvOiO//9PheZZHfYRfYl6AwdTH4aTcXSqBerX0ml4A==} + /@esbuild/linux-mips64el@0.17.18: + resolution: {integrity: sha512-oVqckATOAGuiUOa6wr8TXaVPSa+6IwVJrGidmNZS1cZVx0HqkTMkqFGD2HIx9H1RvOwFeWYdaYbdY6B89KUMxA==} engines: {node: '>=12'} cpu: [mips64el] os: [linux] @@ -3193,8 +3411,8 @@ packages: dev: true optional: true - /@esbuild/linux-mips64el@0.18.20: - resolution: {integrity: sha512-d5NeaXZcHp8PzYy5VnXV3VSd2D328Zb+9dEq5HE6bw6+N86JVPExrA6O68OPwobntbNJ0pzCpUFZTo3w0GyetQ==} + /@esbuild/linux-mips64el@0.18.11: + resolution: {integrity: sha512-qVyPIZrXNMOLYegtD1u8EBccCrBVshxMrn5MkuFc3mEVsw7CCQHaqZ4jm9hbn4gWY95XFnb7i4SsT3eflxZsUg==} engines: {node: '>=12'} cpu: [mips64el] os: [linux] @@ -3211,8 +3429,8 @@ packages: dev: true optional: true - /@esbuild/linux-ppc64@0.17.19: - resolution: {integrity: sha512-/c/DGybs95WXNS8y3Ti/ytqETiW7EU44MEKuCAcpPto3YjQbyK3IQVKfF6nbghD7EcLUGl0NbiL5Rt5DMhn5tg==} + /@esbuild/linux-ppc64@0.17.18: + resolution: {integrity: sha512-3dLlQO+b/LnQNxgH4l9rqa2/IwRJVN9u/bK63FhOPB4xqiRqlQAU0qDU3JJuf0BmaH0yytTBdoSBHrb2jqc5qQ==} engines: {node: '>=12'} cpu: [ppc64] os: [linux] @@ -3220,8 +3438,8 @@ packages: dev: true optional: true - /@esbuild/linux-ppc64@0.18.20: - resolution: {integrity: sha512-WHPyeScRNcmANnLQkq6AfyXRFr5D6N2sKgkFo2FqguP44Nw2eyDlbTdZwd9GYk98DZG9QItIiTlFLHJHjxP3FA==} + /@esbuild/linux-ppc64@0.18.11: + resolution: {integrity: sha512-T3yd8vJXfPirZaUOoA9D2ZjxZX4Gr3QuC3GztBJA6PklLotc/7sXTOuuRkhE9W/5JvJP/K9b99ayPNAD+R+4qQ==} engines: {node: '>=12'} cpu: [ppc64] os: [linux] @@ -3238,8 +3456,8 @@ packages: dev: true optional: true - /@esbuild/linux-riscv64@0.17.19: - resolution: {integrity: sha512-FC3nUAWhvFoutlhAkgHf8f5HwFWUL6bYdvLc/TTuxKlvLi3+pPzdZiFKSWz/PF30TB1K19SuCxDTI5KcqASJqA==} + /@esbuild/linux-riscv64@0.17.18: + resolution: {integrity: sha512-/x7leOyDPjZV3TcsdfrSI107zItVnsX1q2nho7hbbQoKnmoeUWjs+08rKKt4AUXju7+3aRZSsKrJtaRmsdL1xA==} engines: {node: '>=12'} cpu: [riscv64] os: [linux] @@ -3247,8 +3465,8 @@ packages: dev: true optional: true - /@esbuild/linux-riscv64@0.18.20: - resolution: {integrity: sha512-WSxo6h5ecI5XH34KC7w5veNnKkju3zBRLEQNY7mv5mtBmrP/MjNBCAlsM2u5hDBlS3NGcTQpoBvRzqBcRtpq1A==} + /@esbuild/linux-riscv64@0.18.11: + resolution: {integrity: sha512-evUoRPWiwuFk++snjH9e2cAjF5VVSTj+Dnf+rkO/Q20tRqv+644279TZlPK8nUGunjPAtQRCj1jQkDAvL6rm2w==} engines: {node: '>=12'} cpu: [riscv64] os: [linux] @@ -3265,8 +3483,8 @@ packages: dev: true optional: true - /@esbuild/linux-s390x@0.17.19: - resolution: {integrity: sha512-IbFsFbxMWLuKEbH+7sTkKzL6NJmG2vRyy6K7JJo55w+8xDk7RElYn6xvXtDW8HCfoKBFK69f3pgBJSUSQPr+4Q==} + /@esbuild/linux-s390x@0.17.18: + resolution: {integrity: sha512-cX0I8Q9xQkL/6F5zWdYmVf5JSQt+ZfZD2bJudZrWD+4mnUvoZ3TDDXtDX2mUaq6upMFv9FlfIh4Gfun0tbGzuw==} engines: {node: '>=12'} cpu: [s390x] os: [linux] @@ -3274,8 +3492,8 @@ packages: dev: true optional: true - /@esbuild/linux-s390x@0.18.20: - resolution: {integrity: sha512-+8231GMs3mAEth6Ja1iK0a1sQ3ohfcpzpRLH8uuc5/KVDFneH6jtAJLFGafpzpMRO6DzJ6AvXKze9LfFMrIHVQ==} + /@esbuild/linux-s390x@0.18.11: + resolution: {integrity: sha512-/SlRJ15XR6i93gRWquRxYCfhTeC5PdqEapKoLbX63PLCmAkXZHY2uQm2l9bN0oPHBsOw2IswRZctMYS0MijFcg==} engines: {node: '>=12'} cpu: [s390x] os: [linux] @@ -3292,8 +3510,8 @@ packages: dev: true optional: true - /@esbuild/linux-x64@0.17.19: - resolution: {integrity: sha512-68ngA9lg2H6zkZcyp22tsVt38mlhWde8l3eJLWkyLrp4HwMUr3c1s/M2t7+kHIhvMjglIBrFpncX1SzMckomGw==} + /@esbuild/linux-x64@0.17.18: + resolution: {integrity: sha512-66RmRsPlYy4jFl0vG80GcNRdirx4nVWAzJmXkevgphP1qf4dsLQCpSKGM3DUQCojwU1hnepI63gNZdrr02wHUA==} engines: {node: '>=12'} cpu: [x64] os: [linux] @@ -3301,8 +3519,8 @@ packages: dev: true optional: true - /@esbuild/linux-x64@0.18.20: - resolution: {integrity: sha512-UYqiqemphJcNsFEskc73jQ7B9jgwjWrSayxawS6UVFZGWrAAtkzjxSqnoclCXxWtfwLdzU+vTpcNYhpn43uP1w==} + /@esbuild/linux-x64@0.18.11: + resolution: {integrity: sha512-xcncej+wF16WEmIwPtCHi0qmx1FweBqgsRtEL1mSHLFR6/mb3GEZfLQnx+pUDfRDEM4DQF8dpXIW7eDOZl1IbA==} engines: {node: '>=12'} cpu: [x64] os: [linux] @@ -3319,8 +3537,8 @@ packages: dev: true optional: true - /@esbuild/netbsd-x64@0.17.19: - resolution: {integrity: sha512-CwFq42rXCR8TYIjIfpXCbRX0rp1jo6cPIUPSaWwzbVI4aOfX96OXY8M6KNmtPcg7QjYeDmN+DD0Wp3LaBOLf4Q==} + /@esbuild/netbsd-x64@0.17.18: + resolution: {integrity: sha512-95IRY7mI2yrkLlTLb1gpDxdC5WLC5mZDi+kA9dmM5XAGxCME0F8i4bYH4jZreaJ6lIZ0B8hTrweqG1fUyW7jbg==} engines: {node: '>=12'} cpu: [x64] os: [netbsd] @@ -3328,8 +3546,8 @@ packages: dev: true optional: true - /@esbuild/netbsd-x64@0.18.20: - resolution: {integrity: sha512-iO1c++VP6xUBUmltHZoMtCUdPlnPGdBom6IrO4gyKPFFVBKioIImVooR5I83nTew5UOYrk3gIJhbZh8X44y06A==} + /@esbuild/netbsd-x64@0.18.11: + resolution: {integrity: sha512-aSjMHj/F7BuS1CptSXNg6S3M4F3bLp5wfFPIJM+Km2NfIVfFKhdmfHF9frhiCLIGVzDziggqWll0B+9AUbud/Q==} engines: {node: '>=12'} cpu: [x64] os: [netbsd] @@ -3346,8 +3564,8 @@ packages: dev: true optional: true - /@esbuild/openbsd-x64@0.17.19: - resolution: {integrity: sha512-cnq5brJYrSZ2CF6c35eCmviIN3k3RczmHz8eYaVlNasVqsNY+JKohZU5MKmaOI+KkllCdzOKKdPs762VCPC20g==} + /@esbuild/openbsd-x64@0.17.18: + resolution: {integrity: sha512-WevVOgcng+8hSZ4Q3BKL3n1xTv5H6Nb53cBrtzzEjDbbnOmucEVcZeGCsCOi9bAOcDYEeBZbD2SJNBxlfP3qiA==} engines: {node: '>=12'} cpu: [x64] os: [openbsd] @@ -3355,8 +3573,8 @@ packages: dev: true optional: true - /@esbuild/openbsd-x64@0.18.20: - resolution: {integrity: sha512-e5e4YSsuQfX4cxcygw/UCPIEP6wbIL+se3sxPdCiMbFLBWu0eiZOJ7WoD+ptCLrmjZBK1Wk7I6D/I3NglUGOxg==} + /@esbuild/openbsd-x64@0.18.11: + resolution: {integrity: sha512-tNBq+6XIBZtht0xJGv7IBB5XaSyvYPCm1PxJ33zLQONdZoLVM0bgGqUrXnJyiEguD9LU4AHiu+GCXy/Hm9LsdQ==} engines: {node: '>=12'} cpu: [x64] os: [openbsd] @@ -3373,8 +3591,8 @@ packages: dev: true optional: true - /@esbuild/sunos-x64@0.17.19: - resolution: {integrity: sha512-vCRT7yP3zX+bKWFeP/zdS6SqdWB8OIpaRq/mbXQxTGHnIxspRtigpkUcDMlSCOejlHowLqII7K2JKevwyRP2rg==} + /@esbuild/sunos-x64@0.17.18: + resolution: {integrity: sha512-Rzf4QfQagnwhQXVBS3BYUlxmEbcV7MY+BH5vfDZekU5eYpcffHSyjU8T0xucKVuOcdCsMo+Ur5wmgQJH2GfNrg==} engines: {node: '>=12'} cpu: [x64] os: [sunos] @@ -3382,8 +3600,8 @@ packages: dev: true optional: true - /@esbuild/sunos-x64@0.18.20: - resolution: {integrity: sha512-kDbFRFp0YpTQVVrqUd5FTYmWo45zGaXe0X8E1G/LKFC0v8x0vWrhOWSLITcCn63lmZIxfOMXtCfti/RxN/0wnQ==} + /@esbuild/sunos-x64@0.18.11: + resolution: {integrity: sha512-kxfbDOrH4dHuAAOhr7D7EqaYf+W45LsAOOhAet99EyuxxQmjbk8M9N4ezHcEiCYPaiW8Dj3K26Z2V17Gt6p3ng==} engines: {node: '>=12'} cpu: [x64] os: [sunos] @@ -3400,8 +3618,8 @@ packages: dev: true optional: true - /@esbuild/win32-arm64@0.17.19: - resolution: {integrity: sha512-yYx+8jwowUstVdorcMdNlzklLYhPxjniHWFKgRqH7IFlUEa0Umu3KuYplf1HUZZ422e3NU9F4LGb+4O0Kdcaag==} + /@esbuild/win32-arm64@0.17.18: + resolution: {integrity: sha512-Kb3Ko/KKaWhjeAm2YoT/cNZaHaD1Yk/pa3FTsmqo9uFh1D1Rfco7BBLIPdDOozrObj2sahslFuAQGvWbgWldAg==} engines: {node: '>=12'} cpu: [arm64] os: [win32] @@ -3409,8 +3627,8 @@ packages: dev: true optional: true - /@esbuild/win32-arm64@0.18.20: - resolution: {integrity: sha512-ddYFR6ItYgoaq4v4JmQQaAI5s7npztfV4Ag6NrhiaW0RrnOXqBkgwZLofVTlq1daVTQNhtI5oieTvkRPfZrePg==} + /@esbuild/win32-arm64@0.18.11: + resolution: {integrity: sha512-Sh0dDRyk1Xi348idbal7lZyfSkjhJsdFeuC13zqdipsvMetlGiFQNdO+Yfp6f6B4FbyQm7qsk16yaZk25LChzg==} engines: {node: '>=12'} cpu: [arm64] os: [win32] @@ -3427,8 +3645,8 @@ packages: dev: true optional: true - /@esbuild/win32-ia32@0.17.19: - resolution: {integrity: sha512-eggDKanJszUtCdlVs0RB+h35wNlb5v4TWEkq4vZcmVt5u/HiDZrTXe2bWFQUez3RgNHwx/x4sk5++4NSSicKkw==} + /@esbuild/win32-ia32@0.17.18: + resolution: {integrity: sha512-0/xUMIdkVHwkvxfbd5+lfG7mHOf2FRrxNbPiKWg9C4fFrB8H0guClmaM3BFiRUYrznVoyxTIyC/Ou2B7QQSwmw==} engines: {node: '>=12'} cpu: [ia32] os: [win32] @@ -3436,8 +3654,8 @@ packages: dev: true optional: true - /@esbuild/win32-ia32@0.18.20: - resolution: {integrity: sha512-Wv7QBi3ID/rROT08SABTS7eV4hX26sVduqDOTe1MvGMjNd3EjOz4b7zeexIR62GTIEKrfJXKL9LFxTYgkyeu7g==} + /@esbuild/win32-ia32@0.18.11: + resolution: {integrity: sha512-o9JUIKF1j0rqJTFbIoF4bXj6rvrTZYOrfRcGyL0Vm5uJ/j5CkBD/51tpdxe9lXEDouhRgdr/BYzUrDOvrWwJpg==} engines: {node: '>=12'} cpu: [ia32] os: [win32] @@ -3454,8 +3672,8 @@ packages: dev: true optional: true - /@esbuild/win32-x64@0.17.19: - resolution: {integrity: sha512-lAhycmKnVOuRYNtRtatQR1LPQf2oYCkRGkSFnseDAKPl8lu5SOsK/e1sXe5a0Pc5kHIHe6P2I/ilntNv2xf3cA==} + /@esbuild/win32-x64@0.17.18: + resolution: {integrity: sha512-qU25Ma1I3NqTSHJUOKi9sAH1/Mzuvlke0ioMJRthLXKm7JiSKVwFghlGbDLOO2sARECGhja4xYfRAZNPAkooYg==} engines: {node: '>=12'} cpu: [x64] os: [win32] @@ -3463,8 +3681,8 @@ packages: dev: true optional: true - /@esbuild/win32-x64@0.18.20: - resolution: {integrity: sha512-kTdfRcSiDfQca/y9QIkng02avJ+NCaQvrMejlsB3RRv5sE9rRoeBPISaZpKxHELzRxZyLvNts1P27W3wV+8geQ==} + /@esbuild/win32-x64@0.18.11: + resolution: {integrity: sha512-rQI4cjLHd2hGsM1LqgDI7oOCYbQ6IBOVsX9ejuRMSze0GqXUG2ekwiKkiBU1pRGSeCqFFHxTrcEydB2Hyoz9CA==} engines: {node: '>=12'} cpu: [x64] os: [win32] @@ -3488,26 +3706,16 @@ packages: eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 dependencies: eslint: 8.39.0 - eslint-visitor-keys: 3.4.3 + eslint-visitor-keys: 3.4.0 dev: true - /@eslint-community/eslint-utils@4.4.0(eslint@8.47.0): - resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - peerDependencies: - eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 - dependencies: - eslint: 8.47.0 - eslint-visitor-keys: 3.4.3 - dev: true - - /@eslint-community/regexpp@4.6.2: - resolution: {integrity: sha512-pPTNuaAG3QMH+buKyBIGJs3g/S5y0caxw0ygM3YyE6yJFySwiGGSzA+mM3KJ8QQvzeLh3blwgSonkFjgQdxzMw==} + /@eslint-community/regexpp@4.5.0: + resolution: {integrity: sha512-vITaYzIcNmjn5tF5uxcZ/ft7/RXGrMUIS9HalWckEOF6ESiwXKoMzAQf2UW0aVd6rnOeExTJVd5hmWXucBKGXQ==} engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} dev: true - /@eslint-community/regexpp@4.8.1: - resolution: {integrity: sha512-PWiOzLIUAjN/w5K17PoF4n6sKBw0gqLHPhywmYHP4t1VFQQVYeb1yWsJwnMVEMl3tUHME7X/SJPZLmtG7XBDxQ==} + /@eslint-community/regexpp@4.9.1: + resolution: {integrity: sha512-Y27x+MBLjXa+0JWDhykM3+JE+il3kHKAEqabfEWq3SDhZjLYb6/BHL/JKFnH3fe207JaXkyDo685Oc2Glt6ifA==} engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} dev: true @@ -3517,9 +3725,9 @@ packages: dependencies: ajv: 6.12.6 debug: 4.3.4(supports-color@8.1.1) - espree: 9.6.1 - globals: 13.21.0 - ignore: 5.2.4 + espree: 9.5.1 + globals: 13.19.0 + ignore: 5.2.0 import-fresh: 3.3.0 js-yaml: 4.1.0 minimatch: 3.1.2 @@ -3533,11 +3741,6 @@ packages: engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dev: true - /@eslint/js@8.47.0: - resolution: {integrity: sha512-P6omY1zv5MItm93kLM8s2vr1HICJH8v0dvddDhysbIuZ+vcjOHg5Zbkf1mTkcmi2JA9oBG2anOkRnW8WJTS8Og==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - dev: true - /@fastify/ajv-compiler@1.1.0: resolution: {integrity: sha512-gvCOUNpXsWrIQ3A4aXCLIdblL0tDq42BG/2Xw7oxbil9h11uow10ztS2GuFazNBfjbrsZ5nl+nPl5jDSjj5TSg==} dependencies: @@ -3558,8 +3761,8 @@ packages: '@hapi/hoek': 9.3.0 dev: true - /@humanwhocodes/config-array@0.11.10: - resolution: {integrity: sha512-KVVjQmNUepDVGXNuoRRdmmEjruj0KfiGSbS8LVc12LMsWDQzRXJ0qdhN8L8uUigKpfEHRhlaQFY0ib1tnUbNeQ==} + /@humanwhocodes/config-array@0.11.8: + resolution: {integrity: sha512-UybHIJzJnR5Qc/MsD9Kr+RpO2h+/P1GhOwdiLPXK5TWk5sgTdu88bTD9UP+CKbPPh5Rni1u0GjAdYQLemG8g+g==} engines: {node: '>=10.10.0'} dependencies: '@humanwhocodes/object-schema': 1.2.1 @@ -3588,11 +3791,11 @@ packages: resolution: {integrity: sha512-+wluvCrRhXrhyOmRDJ3q8mux9JkKy5SJ/v8ol2tu4FVjyYvtEzkc/3pK15ET6RKg4b4w4BmTk1+gsCUhf21Ykg==} dev: true - /@iconify/utils@2.1.10: - resolution: {integrity: sha512-0/+5hxjzCZ9RoYpqxnOzbnpQyMdZRuHcMxPJeuX+x/aZkAAD/N4TajDjAPT7LpX+M0bfLExj/p0bbDkUfp0lrg==} + /@iconify/utils@2.1.11: + resolution: {integrity: sha512-M/w3PkN8zQYXi8N6qK/KhnYMfEbbb6Sk8RZVn8g+Pmmu5ybw177RpsaGwpziyHeUsu4etrexYSWq3rwnIqzYCg==} dependencies: '@antfu/install-pkg': 0.1.1 - '@antfu/utils': 0.7.6 + '@antfu/utils': 0.7.5 '@iconify/types': 2.0.0 debug: 4.3.4(supports-color@8.1.1) kolorist: 1.8.0 @@ -3601,16 +3804,17 @@ packages: - supports-color dev: true - /@isaacs/cliui@8.0.2: - resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==} - engines: {node: '>=12'} + /@iconify/utils@2.1.7: + resolution: {integrity: sha512-P8S3z/L1LcV4Qem9AoCfVAaTFGySEMzFEY4CHZLkfRj0Fv9LiR+AwjDgrDrzyI93U2L2mg9JHsbTJ52mF8suNw==} dependencies: - string-width: 5.1.2 - string-width-cjs: /string-width@4.2.3 - strip-ansi: 7.1.0 - strip-ansi-cjs: /strip-ansi@6.0.1 - wrap-ansi: 8.1.0 - wrap-ansi-cjs: /wrap-ansi@7.0.0 + '@antfu/install-pkg': 0.1.1 + '@antfu/utils': 0.7.5 + '@iconify/types': 2.0.0 + debug: 4.3.4(supports-color@8.1.1) + kolorist: 1.8.0 + local-pkg: 0.4.3 + transitivePeerDependencies: + - supports-color dev: true /@istanbuljs/load-nyc-config@1.1.0: @@ -3629,20 +3833,20 @@ packages: engines: {node: '>=8'} dev: true - /@jest/console@29.6.2: - resolution: {integrity: sha512-0N0yZof5hi44HAR2pPS+ikJ3nzKNoZdVu8FffRf3wy47I7Dm7etk/3KetMdRUqzVd16V4O2m2ISpNTbnIuqy1w==} + /@jest/console@29.5.0: + resolution: {integrity: sha512-NEpkObxPwyw/XxZVLPmAGKE89IQRp4puc6IQRPru6JKd1M3fW9v1xM1AnzIJE65hbCkzQAdnL8P47e9hzhiYLQ==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@jest/types': 29.6.1 - '@types/node': 18.17.6 + '@jest/types': 29.5.0 + '@types/node': 18.16.0 chalk: 4.1.2 - jest-message-util: 29.6.2 - jest-util: 29.6.2 + jest-message-util: 29.5.0 + jest-util: 29.5.0 slash: 3.0.0 dev: true - /@jest/core@29.6.2(ts-node@10.9.1): - resolution: {integrity: sha512-Oj+5B+sDMiMWLhPFF+4/DvHOf+U10rgvCLGPHP8Xlsy/7QxS51aU/eBngudHlJXnaWD5EohAgJ4js+T6pa+zOg==} + /@jest/core@29.5.0(ts-node@10.9.1): + resolution: {integrity: sha512-28UzQc7ulUrOQw1IsN/kv1QES3q2kkbl/wGslyhAclqZ/8cMdB5M68BffkIdSJgKBUt50d3hbwJ92XESlE7LiQ==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} peerDependencies: node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 @@ -3650,93 +3854,92 @@ packages: node-notifier: optional: true dependencies: - '@jest/console': 29.6.2 - '@jest/reporters': 29.6.2 - '@jest/test-result': 29.6.2 - '@jest/transform': 29.6.2 - '@jest/types': 29.6.1 - '@types/node': 18.17.6 + '@jest/console': 29.5.0 + '@jest/reporters': 29.5.0 + '@jest/test-result': 29.5.0 + '@jest/transform': 29.5.0 + '@jest/types': 29.5.0 + '@types/node': 18.16.0 ansi-escapes: 4.3.2 chalk: 4.1.2 ci-info: 3.8.0 exit: 0.1.2 - graceful-fs: 4.2.11 + graceful-fs: 4.2.10 jest-changed-files: 29.5.0 - jest-config: 29.6.2(@types/node@18.17.6)(ts-node@10.9.1) - jest-haste-map: 29.6.2 - jest-message-util: 29.6.2 + jest-config: 29.5.0(@types/node@18.16.0)(ts-node@10.9.1) + jest-haste-map: 29.5.0 + jest-message-util: 29.5.0 jest-regex-util: 29.4.3 - jest-resolve: 29.6.2 - jest-resolve-dependencies: 29.6.2 - jest-runner: 29.6.2 - jest-runtime: 29.6.2 - jest-snapshot: 29.6.2 - jest-util: 29.6.2 - jest-validate: 29.6.2 - jest-watcher: 29.6.2 + jest-resolve: 29.5.0 + jest-resolve-dependencies: 29.5.0 + jest-runner: 29.5.0 + jest-runtime: 29.5.0 + jest-snapshot: 29.5.0 + jest-util: 29.5.0 + jest-validate: 29.5.0 + jest-watcher: 29.5.0 micromatch: 4.0.5 - pretty-format: 29.6.2 + pretty-format: 29.5.0 slash: 3.0.0 strip-ansi: 6.0.1 transitivePeerDependencies: - - babel-plugin-macros - supports-color - ts-node dev: true - /@jest/environment@29.6.2: - resolution: {integrity: sha512-AEcW43C7huGd/vogTddNNTDRpO6vQ2zaQNrttvWV18ArBx9Z56h7BIsXkNFJVOO4/kblWEQz30ckw0+L3izc+Q==} + /@jest/environment@29.5.0: + resolution: {integrity: sha512-5FXw2+wD29YU1d4I2htpRX7jYnAyTRjP2CsXQdo9SAM8g3ifxWPSV0HnClSn71xwctr0U3oZIIH+dtbfmnbXVQ==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@jest/fake-timers': 29.6.2 - '@jest/types': 29.6.1 - '@types/node': 18.17.6 - jest-mock: 29.6.2 + '@jest/fake-timers': 29.5.0 + '@jest/types': 29.5.0 + '@types/node': 18.16.0 + jest-mock: 29.5.0 dev: true - /@jest/expect-utils@29.6.2: - resolution: {integrity: sha512-6zIhM8go3RV2IG4aIZaZbxwpOzz3ZiM23oxAlkquOIole+G6TrbeXnykxWYlqF7kz2HlBjdKtca20x9atkEQYg==} + /@jest/expect-utils@29.5.0: + resolution: {integrity: sha512-fmKzsidoXQT2KwnrwE0SQq3uj8Z763vzR8LnLBwC2qYWEFpjX8daRsk6rHUM1QvNlEW/UJXNXm59ztmJJWs2Mg==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: jest-get-type: 29.4.3 dev: true - /@jest/expect@29.6.2: - resolution: {integrity: sha512-m6DrEJxVKjkELTVAztTLyS/7C92Y2b0VYqmDROYKLLALHn8T/04yPs70NADUYPrV3ruI+H3J0iUIuhkjp7vkfg==} + /@jest/expect@29.5.0: + resolution: {integrity: sha512-PueDR2HGihN3ciUNGr4uelropW7rqUfTiOn+8u0leg/42UhblPxHkfoh0Ruu3I9Y1962P3u2DY4+h7GVTSVU6g==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - expect: 29.6.2 - jest-snapshot: 29.6.2 + expect: 29.5.0 + jest-snapshot: 29.5.0 transitivePeerDependencies: - supports-color dev: true - /@jest/fake-timers@29.6.2: - resolution: {integrity: sha512-euZDmIlWjm1Z0lJ1D0f7a0/y5Kh/koLFMUBE5SUYWrmy8oNhJpbTBDAP6CxKnadcMLDoDf4waRYCe35cH6G6PA==} + /@jest/fake-timers@29.5.0: + resolution: {integrity: sha512-9ARvuAAQcBwDAqOnglWq2zwNIRUDtk/SCkp/ToGEhFv5r86K21l+VEs0qNTaXtyiY0lEePl3kylijSYJQqdbDg==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@jest/types': 29.6.1 - '@sinonjs/fake-timers': 10.3.0 - '@types/node': 18.17.6 - jest-message-util: 29.6.2 - jest-mock: 29.6.2 - jest-util: 29.6.2 + '@jest/types': 29.5.0 + '@sinonjs/fake-timers': 10.0.2 + '@types/node': 18.16.0 + jest-message-util: 29.5.0 + jest-mock: 29.5.0 + jest-util: 29.5.0 dev: true - /@jest/globals@29.6.2: - resolution: {integrity: sha512-cjuJmNDjs6aMijCmSa1g2TNG4Lby/AeU7/02VtpW+SLcZXzOLK2GpN2nLqcFjmhy3B3AoPeQVx7BnyOf681bAw==} + /@jest/globals@29.5.0: + resolution: {integrity: sha512-S02y0qMWGihdzNbUiqSAiKSpSozSuHX5UYc7QbnHP+D9Lyw8DgGGCinrN9uSuHPeKgSSzvPom2q1nAtBvUsvPQ==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@jest/environment': 29.6.2 - '@jest/expect': 29.6.2 - '@jest/types': 29.6.1 - jest-mock: 29.6.2 + '@jest/environment': 29.5.0 + '@jest/expect': 29.5.0 + '@jest/types': 29.5.0 + jest-mock: 29.5.0 transitivePeerDependencies: - supports-color dev: true - /@jest/reporters@29.6.2: - resolution: {integrity: sha512-sWtijrvIav8LgfJZlrGCdN0nP2EWbakglJY49J1Y5QihcQLfy7ovyxxjJBRXMNltgt4uPtEcFmIMbVshEDfFWw==} + /@jest/reporters@29.5.0: + resolution: {integrity: sha512-D05STXqj/M8bP9hQNSICtPqz97u7ffGzZu+9XLucXhkOFBqKcXe04JLZOgIekOxdb73MAoBUFnqvf7MCpKk5OA==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} peerDependencies: node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 @@ -3745,25 +3948,25 @@ packages: optional: true dependencies: '@bcoe/v8-coverage': 0.2.3 - '@jest/console': 29.6.2 - '@jest/test-result': 29.6.2 - '@jest/transform': 29.6.2 - '@jest/types': 29.6.1 - '@jridgewell/trace-mapping': 0.3.19 - '@types/node': 18.17.6 + '@jest/console': 29.5.0 + '@jest/test-result': 29.5.0 + '@jest/transform': 29.5.0 + '@jest/types': 29.5.0 + '@jridgewell/trace-mapping': 0.3.17 + '@types/node': 18.16.0 chalk: 4.1.2 - collect-v8-coverage: 1.0.2 + collect-v8-coverage: 1.0.1 exit: 0.1.2 glob: 7.2.3 - graceful-fs: 4.2.11 + graceful-fs: 4.2.10 istanbul-lib-coverage: 3.2.0 istanbul-lib-instrument: 5.2.1 - istanbul-lib-report: 3.0.1 + istanbul-lib-report: 3.0.0 istanbul-lib-source-maps: 4.0.1 - istanbul-reports: 3.1.6 - jest-message-util: 29.6.2 - jest-util: 29.6.2 - jest-worker: 29.6.2 + istanbul-reports: 3.1.5 + jest-message-util: 29.5.0 + jest-util: 29.5.0 + jest-worker: 29.5.0 slash: 3.0.0 string-length: 4.0.2 strip-ansi: 6.0.1 @@ -3772,87 +3975,87 @@ packages: - supports-color dev: true - /@jest/schemas@29.6.0: - resolution: {integrity: sha512-rxLjXyJBTL4LQeJW3aKo0M/+GkCOXsO+8i9Iu7eDb6KwtP65ayoDsitrdPBtujxQ88k4wI2FNYfa6TOGwSn6cQ==} + /@jest/schemas@29.4.3: + resolution: {integrity: sha512-VLYKXQmtmuEz6IxJsrZwzG9NvtkQsWNnWMsKxqWNu3+CnfzJQhp0WDDKWLVV9hLKr0l3SLLFRqcYHjhtyuDVxg==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@sinclair/typebox': 0.27.8 + '@sinclair/typebox': 0.25.24 dev: true - /@jest/source-map@29.6.0: - resolution: {integrity: sha512-oA+I2SHHQGxDCZpbrsCQSoMLb3Bz547JnM+jUr9qEbuw0vQlWZfpPS7CO9J7XiwKicEz9OFn/IYoLkkiUD7bzA==} + /@jest/source-map@29.4.3: + resolution: {integrity: sha512-qyt/mb6rLyd9j1jUts4EQncvS6Yy3PM9HghnNv86QBlV+zdL2inCdK1tuVlL+J+lpiw2BI67qXOrX3UurBqQ1w==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@jridgewell/trace-mapping': 0.3.19 + '@jridgewell/trace-mapping': 0.3.17 callsites: 3.1.0 - graceful-fs: 4.2.11 + graceful-fs: 4.2.10 dev: true - /@jest/test-result@29.6.2: - resolution: {integrity: sha512-3VKFXzcV42EYhMCsJQURptSqnyjqCGbtLuX5Xxb6Pm6gUf1wIRIl+mandIRGJyWKgNKYF9cnstti6Ls5ekduqw==} + /@jest/test-result@29.5.0: + resolution: {integrity: sha512-fGl4rfitnbfLsrfx1uUpDEESS7zM8JdgZgOCQuxQvL1Sn/I6ijeAVQWGfXI9zb1i9Mzo495cIpVZhA0yr60PkQ==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@jest/console': 29.6.2 - '@jest/types': 29.6.1 + '@jest/console': 29.5.0 + '@jest/types': 29.5.0 '@types/istanbul-lib-coverage': 2.0.4 - collect-v8-coverage: 1.0.2 + collect-v8-coverage: 1.0.1 dev: true - /@jest/test-sequencer@29.6.2: - resolution: {integrity: sha512-GVYi6PfPwVejO7slw6IDO0qKVum5jtrJ3KoLGbgBWyr2qr4GaxFV6su+ZAjdTX75Sr1DkMFRk09r2ZVa+wtCGw==} + /@jest/test-sequencer@29.5.0: + resolution: {integrity: sha512-yPafQEcKjkSfDXyvtgiV4pevSeyuA6MQr6ZIdVkWJly9vkqjnFfcfhRQqpD5whjoU8EORki752xQmjaqoFjzMQ==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@jest/test-result': 29.6.2 - graceful-fs: 4.2.11 - jest-haste-map: 29.6.2 + '@jest/test-result': 29.5.0 + graceful-fs: 4.2.10 + jest-haste-map: 29.5.0 slash: 3.0.0 dev: true - /@jest/transform@29.6.2: - resolution: {integrity: sha512-ZqCqEISr58Ce3U+buNFJYUktLJZOggfyvR+bZMaiV1e8B1SIvJbwZMrYz3gx/KAPn9EXmOmN+uB08yLCjWkQQg==} + /@jest/transform@29.5.0: + resolution: {integrity: sha512-8vbeZWqLJOvHaDfeMuoHITGKSz5qWc9u04lnWrQE3VyuSw604PzQM824ZeX9XSjUCeDiE3GuxZe5UKa8J61NQw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@babel/core': 7.22.10 - '@jest/types': 29.6.1 - '@jridgewell/trace-mapping': 0.3.19 + '@babel/core': 7.12.3 + '@jest/types': 29.5.0 + '@jridgewell/trace-mapping': 0.3.17 babel-plugin-istanbul: 6.1.1 chalk: 4.1.2 convert-source-map: 2.0.0 fast-json-stable-stringify: 2.1.0 - graceful-fs: 4.2.11 - jest-haste-map: 29.6.2 + graceful-fs: 4.2.10 + jest-haste-map: 29.5.0 jest-regex-util: 29.4.3 - jest-util: 29.6.2 + jest-util: 29.5.0 micromatch: 4.0.5 - pirates: 4.0.6 + pirates: 4.0.5 slash: 3.0.0 write-file-atomic: 4.0.2 transitivePeerDependencies: - supports-color dev: true - /@jest/types@29.6.1: - resolution: {integrity: sha512-tPKQNMPuXgvdOn2/Lg9HNfUvjYVGolt04Hp03f5hAk878uwOLikN+JzeLY0HcVgKgFl9Hs3EIqpu3WX27XNhnw==} + /@jest/types@29.5.0: + resolution: {integrity: sha512-qbu7kN6czmVRc3xWFQcAN03RAUamgppVUdXrvl1Wr3jlNF93o9mJbGcDWrwGB6ht44u7efB1qCFgVQmca24Uog==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@jest/schemas': 29.6.0 + '@jest/schemas': 29.4.3 '@types/istanbul-lib-coverage': 2.0.4 '@types/istanbul-reports': 3.0.1 - '@types/node': 18.17.6 - '@types/yargs': 17.0.24 + '@types/node': 18.16.0 + '@types/yargs': 17.0.13 chalk: 4.1.2 dev: true - /@jridgewell/gen-mapping@0.3.3: - resolution: {integrity: sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==} + /@jridgewell/gen-mapping@0.3.2: + resolution: {integrity: sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==} engines: {node: '>=6.0.0'} dependencies: '@jridgewell/set-array': 1.1.2 '@jridgewell/sourcemap-codec': 1.4.15 - '@jridgewell/trace-mapping': 0.3.19 + '@jridgewell/trace-mapping': 0.3.17 - /@jridgewell/resolve-uri@3.1.1: - resolution: {integrity: sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==} + /@jridgewell/resolve-uri@3.1.0: + resolution: {integrity: sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==} engines: {node: '>=6.0.0'} /@jridgewell/set-array@1.1.2: @@ -3862,23 +4065,26 @@ packages: /@jridgewell/source-map@0.3.5: resolution: {integrity: sha512-UTYAUj/wviwdsMfzoSJspJxbkH5o1snzwX0//0ENX1u/55kkZZkcTZP6u9bwKGkv+dkk9at4m1Cpt0uY80kcpQ==} dependencies: - '@jridgewell/gen-mapping': 0.3.3 - '@jridgewell/trace-mapping': 0.3.19 + '@jridgewell/gen-mapping': 0.3.2 + '@jridgewell/trace-mapping': 0.3.17 dev: true + /@jridgewell/sourcemap-codec@1.4.14: + resolution: {integrity: sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==} + /@jridgewell/sourcemap-codec@1.4.15: resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==} - /@jridgewell/trace-mapping@0.3.19: - resolution: {integrity: sha512-kf37QtfW+Hwx/buWGMPcR60iF9ziHa6r/CZJIHbmcm4+0qrXiVdxegAH0F6yddEVQ7zdkjcGCgCzUu+BcbhQxw==} + /@jridgewell/trace-mapping@0.3.17: + resolution: {integrity: sha512-MCNzAp77qzKca9+W/+I0+sEpaUnZoeasnghNeVc41VZCEKaCH73Vq3BZZ/SzWIgrqE4H4ceI+p+b6C0mHf9T4g==} dependencies: - '@jridgewell/resolve-uri': 3.1.1 - '@jridgewell/sourcemap-codec': 1.4.15 + '@jridgewell/resolve-uri': 3.1.0 + '@jridgewell/sourcemap-codec': 1.4.14 /@jridgewell/trace-mapping@0.3.9: resolution: {integrity: sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==} dependencies: - '@jridgewell/resolve-uri': 3.1.1 + '@jridgewell/resolve-uri': 3.1.0 '@jridgewell/sourcemap-codec': 1.4.15 /@jsdevtools/ono@7.1.3: @@ -3918,7 +4124,7 @@ packages: engines: {node: '>= 8'} dependencies: '@nodelib/fs.scandir': 2.1.5 - fastq: 1.15.0 + fastq: 1.13.0 /@pkgjs/parseargs@0.11.0: resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==} @@ -3927,16 +4133,16 @@ packages: dev: true optional: true - /@pkgr/utils@2.4.2: - resolution: {integrity: sha512-POgTXhjrTfbTV63DiFXav4lBHiICLKKwDeaKn9Nphwj7WH6m0hMMCaJkMyRWjgtPFyRKRVoMXXjczsTQRDEhYw==} + /@pkgr/utils@2.3.1: + resolution: {integrity: sha512-wfzX8kc1PMyUILA+1Z/EqoE4UCXGy0iRGMhPwdfae1+f0OXlLqCk+By+aMzgJBzR9AzS4CDizioG6Ss1gvAFJw==} engines: {node: ^12.20.0 || ^14.18.0 || >=16.0.0} dependencies: cross-spawn: 7.0.3 - fast-glob: 3.3.1 is-glob: 4.0.3 - open: 9.1.0 + open: 8.4.0 picocolors: 1.0.0 - tslib: 2.6.2 + tiny-glob: 0.2.9 + tslib: 2.5.0 dev: true /@polka/url@0.5.0: @@ -3947,7 +4153,7 @@ packages: resolution: {integrity: sha512-a5Sab1C4/icpTZVzZc5Ghpz88yQtGOyNqYXcZgOssB2uuAr+wF/MvN6bgtW32q7HHrvBki+BsZ0OuNv6EV3K9g==} dev: true - /@rollup/plugin-babel@5.3.1(@babel/core@7.22.10)(rollup@2.79.1): + /@rollup/plugin-babel@5.3.1(@babel/core@7.12.3)(rollup@2.79.1): resolution: {integrity: sha512-WFfdLWU/xVWKeRQnKmIAQULUI7Il0gZnBIH/ZFO069wYIfPu+8zrfp/KMW0atmELoRDq8FbiP3VCss9MhCut7Q==} engines: {node: '>= 10.0.0'} peerDependencies: @@ -3958,8 +4164,8 @@ packages: '@types/babel__core': optional: true dependencies: - '@babel/core': 7.22.10 - '@babel/helper-module-imports': 7.22.5 + '@babel/core': 7.12.3 + '@babel/helper-module-imports': 7.18.6 '@rollup/pluginutils': 3.1.0(rollup@2.79.1) rollup: 2.79.1 dev: true @@ -3973,9 +4179,9 @@ packages: '@rollup/pluginutils': 3.1.0(rollup@2.79.1) '@types/resolve': 1.17.1 builtin-modules: 3.3.0 - deepmerge: 4.3.1 + deepmerge: 4.2.2 is-module: 1.0.0 - resolve: 1.22.4 + resolve: 1.22.2 rollup: 2.79.1 dev: true @@ -4002,8 +4208,8 @@ packages: tslib: optional: true dependencies: - '@rollup/pluginutils': 5.0.3(rollup@2.79.1) - resolve: 1.22.4 + '@rollup/pluginutils': 5.0.2 + resolve: 1.22.2 typescript: 5.1.3 dev: true @@ -4019,6 +4225,20 @@ packages: rollup: 2.79.1 dev: true + /@rollup/pluginutils@5.0.2: + resolution: {integrity: sha512-pTd9rIsP92h+B6wWwFbW8RkZv4hiR/xKsqre4SIuAOaOEQRxi0lqLke9k2/7WegC85GgUs9pjmOjCUi3In4vwA==} + engines: {node: '>=14.0.0'} + peerDependencies: + rollup: ^1.20.0||^2.0.0||^3.0.0 + peerDependenciesMeta: + rollup: + optional: true + dependencies: + '@types/estree': 1.0.0 + estree-walker: 2.0.2 + picomatch: 2.3.1 + dev: true + /@rollup/pluginutils@5.0.3(rollup@2.79.1): resolution: {integrity: sha512-hfllNN4a80rwNQ9QCxhxuHCGHMAvabXqxNdaChUSSadMre7t4iEUI6fFAhBOn/eIYTgYVhBv7vCLsAJ4u3lf3g==} engines: {node: '>=14.0.0'} @@ -4028,17 +4248,17 @@ packages: rollup: optional: true dependencies: - '@types/estree': 1.0.1 + '@types/estree': 1.0.0 estree-walker: 2.0.2 picomatch: 2.3.1 rollup: 2.79.1 dev: true - /@rollup/pluginutils@5.0.4(rollup@2.79.1): - resolution: {integrity: sha512-0KJnIoRI8A+a1dqOYLxH8vBf8bphDmty5QvIm2hqm7oFCFYKCAZWWd2hXgMibaPsNDhI0AtpYfQZJG47pt/k4g==} + /@rollup/pluginutils@5.0.5(rollup@2.79.1): + resolution: {integrity: sha512-6aEYR910NyP73oHiJglti74iRyOwgFU4x3meH/H8OJx6Ry0j6cOVZ5X/wTvub7G7Ao6qaHBEaNsV3GLJkSsF+Q==} engines: {node: '>=14.0.0'} peerDependencies: - rollup: ^1.20.0||^2.0.0||^3.0.0 + rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0 peerDependenciesMeta: rollup: optional: true @@ -4063,8 +4283,8 @@ packages: resolution: {integrity: sha512-RNiOoTPkptFtSVzQevY/yWtZwf/RxyVnPy/OcA9HBM3MlGDnBEYL5B41H0MTn0Uec8Hi+2qUtTfG2WWZBmMejQ==} dev: true - /@sinclair/typebox@0.27.8: - resolution: {integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==} + /@sinclair/typebox@0.25.24: + resolution: {integrity: sha512-XJfwUVUKDHF5ugKwIcxEgc9k8b7HbznCp6eUfWgu710hMPNIO4aw4/zB5RogDQz8nd6gyCDpU9O/m6qYEWY6yQ==} dev: true /@sindresorhus/is@4.6.0: @@ -4072,22 +4292,22 @@ packages: engines: {node: '>=10'} dev: true - /@sinonjs/commons@3.0.0: - resolution: {integrity: sha512-jXBtWAF4vmdNmZgD5FoKsVLv3rPgDnLgPbU84LIJ3otV44vJlDRokVng5v8NFJdCf/da9legHcKaRuZs4L7faA==} + /@sinonjs/commons@2.0.0: + resolution: {integrity: sha512-uLa0j859mMrg2slwQYdO/AkrOfmH+X6LTVmNTS9CqexuE2IvVORIkSpJLqePAbEnKJ77aMmCwr1NUZ57120Xcg==} dependencies: type-detect: 4.0.8 dev: true - /@sinonjs/fake-timers@10.3.0: - resolution: {integrity: sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA==} + /@sinonjs/fake-timers@10.0.2: + resolution: {integrity: sha512-SwUDyjWnah1AaNl7kxsa7cfLhlTYoiyhDAIgyh+El30YvXs/o7OLXpYH88Zdhyx9JExKrmHDJ+10bwIcY80Jmw==} dependencies: - '@sinonjs/commons': 3.0.0 + '@sinonjs/commons': 2.0.0 dev: true /@surma/rollup-plugin-off-main-thread@2.2.3: resolution: {integrity: sha512-lR8q/9W7hZpMWweNiAKU7NQerBnzQQLvi8qnTDU/fxItPhtZVMbPV3lbCwjhIlNBe9Bbr5V+KHshvWmVSG9cxQ==} dependencies: - ejs: 3.1.9 + ejs: 3.1.8 json5: 2.2.3 magic-string: 0.25.9 string.prototype.matchall: 4.0.8 @@ -4114,40 +4334,40 @@ packages: /@tsconfig/node14@1.0.3: resolution: {integrity: sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==} - /@tsconfig/node16@1.0.4: - resolution: {integrity: sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==} + /@tsconfig/node16@1.0.3: + resolution: {integrity: sha512-yOlFc+7UtL/89t2ZhjPvvB/DeAr3r+Dq58IgzsFkOAvVC6NMJXmCGjbptdXdR9qsX7pKcTL+s87FtYREi2dEEQ==} /@types/assert@1.5.6: resolution: {integrity: sha512-Y7gDJiIqb9qKUHfBQYOWGngUpLORtirAVPuj/CWJrU2C6ZM4/y3XLwuwfGMF8s7QzW746LQZx23m0+1FSgjfug==} dev: false - /@types/babel__core@7.20.1: - resolution: {integrity: sha512-aACu/U/omhdk15O4Nfb+fHgH/z3QsfQzpnvRZhYhThms83ZnAOZz7zZAWO7mn2yyNQaA4xTO8GLK3uqFU4bYYw==} + /@types/babel__core@7.1.19: + resolution: {integrity: sha512-WEOTgRsbYkvA/KCsDwVEGkd7WAr1e3g31VHQ8zy5gul/V1qKullU/BU5I68X5v7V3GnB9eotmom4v5a5gjxorw==} dependencies: - '@babel/parser': 7.22.10 - '@babel/types': 7.22.10 + '@babel/parser': 7.21.8 + '@babel/types': 7.21.2 '@types/babel__generator': 7.6.4 '@types/babel__template': 7.4.1 - '@types/babel__traverse': 7.20.1 + '@types/babel__traverse': 7.18.2 dev: true /@types/babel__generator@7.6.4: resolution: {integrity: sha512-tFkciB9j2K755yrTALxD44McOrk+gfpIpvC3sxHjRawj6PfnQxrse4Clq5y/Rq+G3mrBurMax/lG8Qn2t9mSsg==} dependencies: - '@babel/types': 7.22.10 + '@babel/types': 7.21.2 dev: true /@types/babel__template@7.4.1: resolution: {integrity: sha512-azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g==} dependencies: - '@babel/parser': 7.22.10 - '@babel/types': 7.22.10 + '@babel/parser': 7.21.8 + '@babel/types': 7.21.2 dev: true - /@types/babel__traverse@7.20.1: - resolution: {integrity: sha512-MitHFXnhtgwsGZWtT68URpOvLN4EREih1u3QtQiN4VdAxWKRVvGCSvw/Qth0M0Qq3pJpnGOu5JaM/ydK7OGbqg==} + /@types/babel__traverse@7.18.2: + resolution: {integrity: sha512-FcFaxOr2V5KZCviw1TnutEMVUVsGt4D2hP1TAfXZAMKuHYW3xQhe3jTxNPWutgCJ3/X1c5yX8ZoGVEItxKbwBg==} dependencies: - '@babel/types': 7.22.10 + '@babel/types': 7.21.2 dev: true /@types/body-parser@1.19.2: @@ -4160,19 +4380,19 @@ packages: /@types/bonjour@3.5.10: resolution: {integrity: sha512-p7ienRMiS41Nu2/igbJxxLDWrSZ0WxM8UQgCeO9KhoVF7cOVFkrKsiDr1EsJIla8vV3oEEjGcz11jc5yimhzZw==} dependencies: - '@types/node': 18.17.6 + '@types/node': 18.16.0 dev: true - /@types/braces@3.0.2: - resolution: {integrity: sha512-U5tlMYa0U/2eFTmJgKcPWQOEICP173sJDa6OjHbj5Tv+NVaYcrq2xmdWpNXOwWYGwJu+jER/pfTLdoQ31q8PzA==} + /@types/braces@3.0.1: + resolution: {integrity: sha512-+euflG6ygo4bn0JHtn4pYqcXwRtLvElQ7/nnjDu7iYG56H0+OhCd7d6Ug0IE3WcFpZozBKW2+80FUbv5QGk5AQ==} dev: true - /@types/cacheable-request@6.0.3: - resolution: {integrity: sha512-IQ3EbTzGxIigb1I3qPZc1rWJnH0BmSKv5QYTalEwweFvyBDLSAe24zP0le/hyi7ecGfZVlIVAg4BZqb8WBwKqw==} + /@types/cacheable-request@6.0.2: + resolution: {integrity: sha512-B3xVo+dlKM6nnKTcmm5ZtY/OL8bOAOd2Olee9M1zft65ox50OzjEHW91sDiU9j6cvW8Ejg1/Qkf4xd2kugApUA==} dependencies: '@types/http-cache-semantics': 4.0.1 '@types/keyv': 3.1.4 - '@types/node': 18.17.6 + '@types/node': 18.16.0 '@types/responselike': 1.0.0 dev: true @@ -4186,17 +4406,17 @@ packages: resolution: {integrity: sha512-mEo1sAde+UCE6b2hxn332f1g1E8WfYRu6p5SvTKr2ZKC1f7gFJXk4h5PyGP9Dt6gCaG8y8XhwnXWC6Iy2cmBng==} dev: true - /@types/connect-history-api-fallback@1.5.0: - resolution: {integrity: sha512-4x5FkPpLipqwthjPsF7ZRbOv3uoLUFkTA9G9v583qi4pACvq0uTELrB8OLUzPWUI4IJIyvM85vzkV1nyiI2Lig==} + /@types/connect-history-api-fallback@1.3.5: + resolution: {integrity: sha512-h8QJa8xSb1WD4fpKBDcATDNGXghFj6/3GRWG6dhmRcu0RX1Ubasur2Uvx5aeEwlf0MwblEC2bMzzMQntxnw/Cw==} dependencies: - '@types/express-serve-static-core': 4.17.35 - '@types/node': 18.17.6 + '@types/express-serve-static-core': 4.17.31 + '@types/node': 18.16.0 dev: true /@types/connect@3.4.35: resolution: {integrity: sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ==} dependencies: - '@types/node': 18.17.6 + '@types/node': 18.16.0 dev: true /@types/cors@2.8.13: @@ -4209,34 +4429,34 @@ packages: resolution: {integrity: sha512-oqCx0ZGiBO0UESbjgq052vjDAy2X53lZpMrWqiweMpvVwKw/2IiYDdzPFK6+f4tMfdv9YKEM9raO5bAZc3UYBg==} dev: true - /@types/d3-array@3.0.5: - resolution: {integrity: sha512-Qk7fpJ6qFp+26VeQ47WY0mkwXaiq8+76RJcncDEfMc2ocRzXLO67bLFRNI4OX1aGBoPzsM5Y2T+/m1pldOgD+A==} + /@types/d3-array@3.0.3: + resolution: {integrity: sha512-Reoy+pKnvsksN0lQUlcH6dOGjRZ/3WRwXR//m+/8lt1BXeI4xyaUZoqULNjyXXRuh0Mj4LNpkCvhUpQlY3X5xQ==} dev: true - /@types/d3-axis@3.0.2: - resolution: {integrity: sha512-uGC7DBh0TZrU/LY43Fd8Qr+2ja1FKmH07q2FoZFHo1eYl8aj87GhfVoY1saJVJiq24rp1+wpI6BvQJMKgQm8oA==} + /@types/d3-axis@3.0.1: + resolution: {integrity: sha512-zji/iIbdd49g9WN0aIsGcwcTBUkgLsCSwB+uH+LPVDAiKWENMtI3cJEWt+7/YYwelMoZmbBfzA3qCdrZ2XFNnw==} dependencies: '@types/d3-selection': 3.0.5 dev: true - /@types/d3-brush@3.0.2: - resolution: {integrity: sha512-2TEm8KzUG3N7z0TrSKPmbxByBx54M+S9lHoP2J55QuLU0VSQ9mE96EJSAOVNEqd1bbynMjeTS9VHmz8/bSw8rA==} + /@types/d3-brush@3.0.1: + resolution: {integrity: sha512-B532DozsiTuQMHu2YChdZU0qsFJSio3Q6jmBYGYNp3gMDzBmuFFgPt9qKA4VYuLZMp4qc6eX7IUFUEsvHiXZAw==} dependencies: '@types/d3-selection': 3.0.5 dev: true - /@types/d3-chord@3.0.2: - resolution: {integrity: sha512-abT/iLHD3sGZwqMTX1TYCMEulr+wBd0SzyOQnjYNLp7sngdOHYtNkMRI5v3w5thoN+BWtlHVDx2Osvq6fxhZWw==} + /@types/d3-chord@3.0.1: + resolution: {integrity: sha512-eQfcxIHrg7V++W8Qxn6QkqBNBokyhdWSAS73AbkbMzvLQmVVBviknoz2SRS/ZJdIOmhcmmdCRE/NFOm28Z1AMw==} dev: true /@types/d3-color@3.1.0: resolution: {integrity: sha512-HKuicPHJuvPgCD+np6Se9MQvS6OCbJmOjGvylzMJRlDwUXjKTTXs6Pwgk79O09Vj/ho3u1ofXnhFOaEWWPrlwA==} dev: true - /@types/d3-contour@3.0.2: - resolution: {integrity: sha512-k6/bGDoAGJZnZWaKzeB+9glgXCYGvh6YlluxzBREiVo8f/X2vpTEdgPy9DN7Z2i42PZOZ4JDhVdlTSTSkLDPlQ==} + /@types/d3-contour@3.0.1: + resolution: {integrity: sha512-C3zfBrhHZvrpAAK3YXqLWVAGo87A4SvJ83Q/zVJ8rFWJdKejUnDYaWZPkA8K84kb2vDA/g90LTQAz7etXcgoQQ==} dependencies: - '@types/d3-array': 3.0.5 + '@types/d3-array': 3.0.3 '@types/geojson': 7946.0.10 dev: true @@ -4244,46 +4464,46 @@ packages: resolution: {integrity: sha512-tLxQ2sfT0p6sxdG75c6f/ekqxjyYR0+LwPrsO1mbC9YDBzPJhs2HbJJRrn8Ez1DBoHRo2yx7YEATI+8V1nGMnQ==} dev: true - /@types/d3-dispatch@3.0.2: - resolution: {integrity: sha512-rxN6sHUXEZYCKV05MEh4z4WpPSqIw+aP7n9ZN6WYAAvZoEAghEK1WeVZMZcHRBwyaKflU43PCUAJNjFxCzPDjg==} + /@types/d3-dispatch@3.0.1: + resolution: {integrity: sha512-NhxMn3bAkqhjoxabVJWKryhnZXXYYVQxaBnbANu0O94+O/nX9qSjrA1P1jbAQJxJf+VC72TxDX/YJcKue5bRqw==} dev: true - /@types/d3-drag@3.0.2: - resolution: {integrity: sha512-qmODKEDvyKWVHcWWCOVcuVcOwikLVsyc4q4EBJMREsoQnR2Qoc2cZQUyFUPgO9q4S3qdSqJKBsuefv+h0Qy+tw==} + /@types/d3-drag@3.0.1: + resolution: {integrity: sha512-o1Va7bLwwk6h03+nSM8dpaGEYnoIG19P0lKqlic8Un36ymh9NSkNFX1yiXMKNMx8rJ0Kfnn2eovuFaL6Jvj0zA==} dependencies: '@types/d3-selection': 3.0.5 dev: true - /@types/d3-dsv@3.0.1: - resolution: {integrity: sha512-76pBHCMTvPLt44wFOieouXcGXWOF0AJCceUvaFkxSZEu4VDUdv93JfpMa6VGNFs01FHfuP4a5Ou68eRG1KBfTw==} + /@types/d3-dsv@3.0.0: + resolution: {integrity: sha512-o0/7RlMl9p5n6FQDptuJVMxDf/7EDEv2SYEO/CwdG2tr1hTfUVi0Iavkk2ax+VpaQ/1jVhpnj5rq1nj8vwhn2A==} dev: true /@types/d3-ease@3.0.0: resolution: {integrity: sha512-aMo4eaAOijJjA6uU+GIeW018dvy9+oH5Y2VPPzjjfxevvGQ/oRDs+tfYC9b50Q4BygRR8yE2QCLsrT0WtAVseA==} dev: true - /@types/d3-fetch@3.0.2: - resolution: {integrity: sha512-gllwYWozWfbep16N9fByNBDTkJW/SyhH6SGRlXloR7WdtAaBui4plTP+gbUgiEot7vGw/ZZop1yDZlgXXSuzjA==} + /@types/d3-fetch@3.0.1: + resolution: {integrity: sha512-toZJNOwrOIqz7Oh6Q7l2zkaNfXkfR7mFSJvGvlD/Ciq/+SQ39d5gynHJZ/0fjt83ec3WL7+u3ssqIijQtBISsw==} dependencies: - '@types/d3-dsv': 3.0.1 + '@types/d3-dsv': 3.0.0 dev: true - /@types/d3-force@3.0.4: - resolution: {integrity: sha512-q7xbVLrWcXvSBBEoadowIUJ7sRpS1yvgMWnzHJggFy5cUZBq2HZL5k/pBSm0GdYWS1vs5/EDwMjSKF55PDY4Aw==} + /@types/d3-force@3.0.3: + resolution: {integrity: sha512-z8GteGVfkWJMKsx6hwC3SiTSLspL98VNpmvLpEFJQpZPq6xpA1I8HNBDNSpukfK0Vb0l64zGFhzunLgEAcBWSA==} dev: true /@types/d3-format@3.0.1: resolution: {integrity: sha512-5KY70ifCCzorkLuIkDe0Z9YTf9RR2CjBX1iaJG+rgM/cPP+sO+q9YdQ9WdhQcgPj1EQiJ2/0+yUkkziTG6Lubg==} dev: true - /@types/d3-geo@3.0.3: - resolution: {integrity: sha512-bK9uZJS3vuDCNeeXQ4z3u0E7OeJZXjUgzFdSOtNtMCJCLvDtWDwfpRVWlyt3y8EvRzI0ccOu9xlMVirawolSCw==} + /@types/d3-geo@3.0.2: + resolution: {integrity: sha512-DbqK7MLYA8LpyHQfv6Klz0426bQEf7bRTvhMy44sNGVyZoWn//B0c+Qbeg8Osi2Obdc9BLLXYAKpyWege2/7LQ==} dependencies: '@types/geojson': 7946.0.10 dev: true - /@types/d3-hierarchy@3.1.2: - resolution: {integrity: sha512-9hjRTVoZjRFR6xo8igAJyNXQyPX6Aq++Nhb5ebrUF414dv4jr2MitM2fWiOY475wa3Za7TOS2Gh9fmqEhLTt0A==} + /@types/d3-hierarchy@3.1.0: + resolution: {integrity: sha512-g+sey7qrCa3UbsQlMZZBOHROkFqx7KZKvUpRzI/tAp/8erZWpYq7FgNKvYwebi2LaEiVs1klhUfd3WCThxmmWQ==} dev: true /@types/d3-interpolate@3.0.1: @@ -4356,14 +4576,14 @@ packages: resolution: {integrity: sha512-HNB/9GHqu7Fo8AQiugyJbv6ZxYz58wef0esl4Mv828w1ZKpAshw/uFWVDUcIB9KKFeFKoxS3cHY07FFgtTRZ1g==} dev: true - /@types/d3-transition@3.0.3: - resolution: {integrity: sha512-/S90Od8Id1wgQNvIA8iFv9jRhCiZcGhPd2qX0bKF/PS+y0W5CrXKgIiELd2CvG1mlQrWK/qlYh3VxicqG1ZvgA==} + /@types/d3-transition@3.0.2: + resolution: {integrity: sha512-jo5o/Rf+/u6uerJ/963Dc39NI16FQzqwOc54bwvksGAdVfvDrqDpVeq95bEvPtBwLCVZutAEyAtmSyEMxN7vxQ==} dependencies: '@types/d3-selection': 3.0.5 dev: true - /@types/d3-zoom@3.0.3: - resolution: {integrity: sha512-OWk1yYIIWcZ07+igN6BeoG6rqhnJ/pYe+R1qWFM2DtW49zsoSjgb9G5xB0ZXA8hh2jAzey1XuRmMSoXdKw8MDA==} + /@types/d3-zoom@3.0.1: + resolution: {integrity: sha512-7s5L9TjfqIYQmQQEUcpMAcBOahem7TRoSO/+Gkz02GbMVuULiZzjF2BOdw291dbO2aNon4m2OdFsRGaCq2caLQ==} dependencies: '@types/d3-interpolate': 3.0.1 '@types/d3-selection': 3.0.5 @@ -4372,22 +4592,22 @@ packages: /@types/d3@7.4.0: resolution: {integrity: sha512-jIfNVK0ZlxcuRDKtRS/SypEyOQ6UHaFQBKv032X45VvxSJ6Yi5G9behy9h6tNTHTDGh5Vq+KbmBjUWLgY4meCA==} dependencies: - '@types/d3-array': 3.0.5 - '@types/d3-axis': 3.0.2 - '@types/d3-brush': 3.0.2 - '@types/d3-chord': 3.0.2 + '@types/d3-array': 3.0.3 + '@types/d3-axis': 3.0.1 + '@types/d3-brush': 3.0.1 + '@types/d3-chord': 3.0.1 '@types/d3-color': 3.1.0 - '@types/d3-contour': 3.0.2 + '@types/d3-contour': 3.0.1 '@types/d3-delaunay': 6.0.1 - '@types/d3-dispatch': 3.0.2 - '@types/d3-drag': 3.0.2 - '@types/d3-dsv': 3.0.1 + '@types/d3-dispatch': 3.0.1 + '@types/d3-drag': 3.0.1 + '@types/d3-dsv': 3.0.0 '@types/d3-ease': 3.0.0 - '@types/d3-fetch': 3.0.2 - '@types/d3-force': 3.0.4 + '@types/d3-fetch': 3.0.1 + '@types/d3-force': 3.0.3 '@types/d3-format': 3.0.1 - '@types/d3-geo': 3.0.3 - '@types/d3-hierarchy': 3.1.2 + '@types/d3-geo': 3.0.2 + '@types/d3-hierarchy': 3.1.0 '@types/d3-interpolate': 3.0.1 '@types/d3-path': 3.0.0 '@types/d3-polygon': 3.0.0 @@ -4400,66 +4620,75 @@ packages: '@types/d3-time': 3.0.0 '@types/d3-time-format': 4.0.0 '@types/d3-timer': 3.0.0 - '@types/d3-transition': 3.0.3 - '@types/d3-zoom': 3.0.3 + '@types/d3-transition': 3.0.2 + '@types/d3-zoom': 3.0.1 dev: true - /@types/debug@4.1.8: - resolution: {integrity: sha512-/vPO1EPOs306Cvhwv7KfVfYvOJqA/S/AXjaHQiJboCZzcNDb+TIJFN9/2C9DZ//ijSKWioNyUxD792QmDJ+HKQ==} + /@types/debug@4.1.7: + resolution: {integrity: sha512-9AonUzyTjXXhEOa0DnqpzZi6VHlqKMswga9EXjpXnnqxwLtdvPPtlO8evrI5D9S6asFRCQ6v+wpiUKbw+vKqyg==} dependencies: '@types/ms': 0.7.31 /@types/dompurify@3.0.2: resolution: {integrity: sha512-YBL4ziFebbbfQfH5mlC+QTJsvh0oJUrWbmxKMyEdL7emlHJqGR2Qb34TEFKj+VCayBvjKy3xczMFNhugThUsfQ==} dependencies: - '@types/trusted-types': 2.0.3 + '@types/trusted-types': 2.0.2 dev: true /@types/eslint-scope@3.7.4: resolution: {integrity: sha512-9K4zoImiZc3HlIp6AVUDE4CWYx22a+lhSZMYNpbjW04+YF0KWj4pJXnEMjdnFTiQibFFmElcsasJXDbdI/EPhA==} dependencies: - '@types/eslint': 8.44.2 - '@types/estree': 1.0.1 + '@types/eslint': 8.37.0 + '@types/estree': 1.0.0 dev: true /@types/eslint@8.37.0: resolution: {integrity: sha512-Piet7dG2JBuDIfohBngQ3rCt7MgO9xCO4xIMKxBThCq5PNRB91IjlJ10eJVwfoNtvTErmxLzwBZ7rHZtbOMmFQ==} dependencies: - '@types/estree': 1.0.1 - '@types/json-schema': 7.0.12 - dev: true - - /@types/eslint@8.44.2: - resolution: {integrity: sha512-sdPRb9K6iL5XZOmBubg8yiFp5yS/JdUDQsq5e6h95km91MCYMuvp7mh1fjPEYUhvHepKpZOjnEaMBR4PxjWDzg==} - dependencies: - '@types/estree': 1.0.1 - '@types/json-schema': 7.0.12 + '@types/estree': 1.0.0 + '@types/json-schema': 7.0.11 dev: true /@types/estree@0.0.39: resolution: {integrity: sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==} dev: true - /@types/estree@1.0.1: - resolution: {integrity: sha512-LG4opVs2ANWZ1TJoKc937iMmNstM/d0ae1vNbnBvBhqCSezgVUOzcLCqbI5elV8Vy6WKwKjaqR+zO9VKirBBCA==} + /@types/estree@1.0.0: + resolution: {integrity: sha512-WulqXMDUTYAXCjZnk6JtIHPigp55cVtDgDrO2gHRwhyJto21+1zbVCtOYB2L1F9w4qCQ0rOGWBnBe0FNTiEJIQ==} dev: true - /@types/express-serve-static-core@4.17.35: - resolution: {integrity: sha512-wALWQwrgiB2AWTT91CB62b6Yt0sNHpznUXeZEcnPU3DRdlDIz74x8Qg1UUYKSVFi+va5vKOLYRBI1bRKiLLKIg==} + /@types/express-serve-static-core@4.17.31: + resolution: {integrity: sha512-DxMhY+NAsTwMMFHBTtJFNp5qiHKJ7TeqOo23zVEM9alT1Ml27Q3xcTH0xwxn7Q0BbMcVEJOs/7aQtUWupUQN3Q==} dependencies: '@types/node': 18.16.0 '@types/qs': 6.9.7 '@types/range-parser': 1.2.4 - '@types/send': 0.17.1 + dev: true + + /@types/express-serve-static-core@4.17.33: + resolution: {integrity: sha512-TPBqmR/HRYI3eC2E5hmiivIzv+bidAfXofM+sbonAGvyDhySGw9/PQZFt2BLOrjUUR++4eJVpx6KnLQK1Fk9tA==} + dependencies: + '@types/node': 18.16.0 + '@types/qs': 6.9.7 + '@types/range-parser': 1.2.4 + dev: true + + /@types/express@4.17.14: + resolution: {integrity: sha512-TEbt+vaPFQ+xpxFLFssxUDXj5cWCxZJjIcB7Yg0k0GMHGtgtQgpvx/MUQUeAkNbA9AAGrwkAsoeItdTgS7FMyg==} + dependencies: + '@types/body-parser': 1.19.2 + '@types/express-serve-static-core': 4.17.31 + '@types/qs': 6.9.7 + '@types/serve-static': 1.15.0 dev: true /@types/express@4.17.17: resolution: {integrity: sha512-Q4FmmuLGBG58btUnfS1c1r/NQdlp3DMfGDGig8WhfpA2YRUtEkxAjkZb0yvplJGYdF1fsQ81iMDcH24sSCNC/Q==} dependencies: '@types/body-parser': 1.19.2 - '@types/express-serve-static-core': 4.17.35 + '@types/express-serve-static-core': 4.17.33 '@types/qs': 6.9.7 - '@types/serve-static': 1.15.2 + '@types/serve-static': 1.15.0 dev: true /@types/flexsearch@0.7.3: @@ -4474,27 +4703,23 @@ packages: resolution: {integrity: sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA==} dependencies: '@types/minimatch': 5.1.2 - '@types/node': 18.17.6 + '@types/node': 18.16.0 dev: true - /@types/graceful-fs@4.1.6: - resolution: {integrity: sha512-Sig0SNORX9fdW+bQuTEovKj3uHcUL6LQKbCrrqb1X7J6/ReAbhCXRAhc+SMejhLELFj2QcyuxmUooZ4bt5ReSw==} + /@types/graceful-fs@4.1.5: + resolution: {integrity: sha512-anKkLmZZ+xm4p8JWBf4hElkM4XR+EZeA2M9BAkkTldmcyDY4mbdIJnRghDJH3Ov5ooY7/UAoENtmdMSkaAd7Cw==} dependencies: - '@types/node': 18.17.6 + '@types/node': 18.16.0 dev: true /@types/http-cache-semantics@4.0.1: resolution: {integrity: sha512-SZs7ekbP8CN0txVG2xVRH6EgKmEm31BOxA07vkFaETzZz1xh+cbt8BcI0slpymvwhx5dlFnQG2rTlPVQn+iRPQ==} dev: true - /@types/http-errors@2.0.1: - resolution: {integrity: sha512-/K3ds8TRAfBvi5vfjuz8y6+GiAYBZ0x4tXv1Av6CWBWn0IlADc+ZX9pMq7oU0fNQPnBwIZl3rmeLp6SBApbxSQ==} - dev: true - - /@types/http-proxy@1.17.11: - resolution: {integrity: sha512-HC8G7c1WmaF2ekqpnFq626xd3Zz0uvaqFmBJNRZCGEZCXkvSdJoNFn/8Ygbd9fKNQj8UzLdCETaI0UWPAjK7IA==} + /@types/http-proxy@1.17.9: + resolution: {integrity: sha512-QsbSjA/fSk7xB+UXlCT3wHBy5ai9wOcNDWwZAtud+jXhwOM3l+EYZh8Lng4+/6n8uar0J7xILzqftJdJ/Wdfkw==} dependencies: - '@types/node': 18.17.6 + '@types/node': 18.16.0 dev: true /@types/istanbul-lib-coverage@2.0.4: @@ -4520,13 +4745,13 @@ packages: /@types/jsdom@21.1.1: resolution: {integrity: sha512-cZFuoVLtzKP3gmq9eNosUL1R50U+USkbLtUQ1bYVgl/lKp0FZM7Cq4aIHAL8oIvQ17uSHi7jXPtfDOdjPwBE7A==} dependencies: - '@types/node': 18.17.6 + '@types/node': 18.16.0 '@types/tough-cookie': 4.0.2 - parse5: 7.1.2 + parse5: 7.1.1 dev: true - /@types/json-schema@7.0.12: - resolution: {integrity: sha512-Hr5Jfhc9eYOQNPYO5WLDq/n4jqijdHNlDXjuAQkkt+mWdQR+XJToOHrsD4cPaMXpn6KO7y2+wM8AZEs8VpBLVA==} + /@types/json-schema@7.0.11: + resolution: {integrity: sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==} dev: true /@types/json-schema@7.0.13: @@ -4536,7 +4761,7 @@ packages: /@types/keyv@3.1.4: resolution: {integrity: sha512-BQ5aZNSCpj7D6K2ksrRCTmKRLEpnPvWDiLPfoGyhZ++8YtiK9d/3DBKPJgry359X/P1PfruyYwvnvwFjuEiEIg==} dependencies: - '@types/node': 18.17.6 + '@types/node': 18.16.0 dev: true /@types/linkify-it@3.0.2: @@ -4546,17 +4771,13 @@ packages: /@types/lodash-es@4.17.7: resolution: {integrity: sha512-z0ptr6UI10VlU6l5MYhGwS4mC8DZyYer2mCoyysZtSF7p26zOX8UpbrV0YpNYLGS8K4PUFIyEr62IMFFjveSiQ==} dependencies: - '@types/lodash': 4.14.197 + '@types/lodash': 4.14.194 dev: true /@types/lodash@4.14.194: resolution: {integrity: sha512-r22s9tAS7imvBt2lyHC9B8AGwWnXaYb1tY09oyLkXDs4vArpYJzw09nj8MLx5VfciBPGIb+ZwG0ssYnEPJxn/g==} dev: true - /@types/lodash@4.14.197: - resolution: {integrity: sha512-BMVOiWs0uNxHVlHBgzTIqJYmj+PgCo4euloGF+5m4okL3rEYzM2EEv78mw8zWSMM57dM7kVIgJ2QDvwHSoCI5g==} - dev: true - /@types/markdown-it@12.2.3: resolution: {integrity: sha512-GKMHFfv3458yYy+v/N8gjufHO6MSZKCOXpZc5GXIWWy8uldwfmPn98vp81gZ5f9SVw8YYBctgfJ22a2d7AOMeQ==} dependencies: @@ -4564,8 +4785,8 @@ packages: '@types/mdurl': 1.0.2 dev: true - /@types/markdown-it@13.0.1: - resolution: {integrity: sha512-SUEb8Frsxs3D5Gg9xek6i6EG6XQ5s+O+ZdQzIPESZVZw3Pv3CPQfjCJBI+RgqZd1IBeu18S0Rn600qpPnEK37w==} + /@types/markdown-it@13.0.2: + resolution: {integrity: sha512-Tla7hH9oeXHOlJyBFdoqV61xWE9FZf/y2g+gFVwQ2vE1/eBzjUno5JCd3Hdb5oATve5OF6xNjZ/4VIZhVVx+hA==} dependencies: '@types/linkify-it': 3.0.2 '@types/mdurl': 1.0.2 @@ -4580,13 +4801,7 @@ packages: /@types/mdast@3.0.11: resolution: {integrity: sha512-Y/uImid8aAwrEA24/1tcRZwpxX3pIFTSilcNDKSPn+Y2iDywSEachzRuvgAYYLR3wpGXAsMbv5lvKLDZLeYPAw==} dependencies: - '@types/unist': 3.0.0 - dev: true - - /@types/mdast@3.0.12: - resolution: {integrity: sha512-DT+iNIRNX884cx0/Q1ja7NyUPpZuv0KPyL5rGNxm1WC1OtHstl7n4Jb7nk+xacNShQMbczJjt8uFzznpp6kYBg==} - dependencies: - '@types/unist': 2.0.7 + '@types/unist': 2.0.6 /@types/mdurl@1.0.2: resolution: {integrity: sha512-eC4U9MlIcu2q0KQmXszyn5Akca/0jrQmwDRgpAMJai7qBWq4amIQhZyNau4VYGtCeALvW1/NtjzJJ567aZxfKA==} @@ -4595,11 +4810,7 @@ packages: /@types/micromatch@4.0.2: resolution: {integrity: sha512-oqXqVb0ci19GtH0vOA/U2TmHTcRY9kuZl4mqUxe0QmJAlIW13kzhuK5pi1i9+ngav8FjpSb9FVS/GE00GLX1VA==} dependencies: - '@types/braces': 3.0.2 - dev: true - - /@types/mime@1.3.2: - resolution: {integrity: sha512-YATxVxgRqNH6nHEIsvg6k2Boc1JHI9ZbH5iWFFv/MTkchz3b1ieGDa5T0a9RznNdI0KhVbdbWSN+KWWrQZRxTw==} + '@types/braces': 3.0.1 dev: true /@types/mime@3.0.1: @@ -4617,21 +4828,13 @@ packages: /@types/ms@0.7.31: resolution: {integrity: sha512-iiUgKzV9AuaEkZqkOLDIvlQiL6ltuZd9tGcW3gwpnX8JbuiuhFlEGmmFXEXkN50Cvq7Os88IY2v0dkDqXYWVgA==} - /@types/node@14.18.54: - resolution: {integrity: sha512-uq7O52wvo2Lggsx1x21tKZgqkJpvwCseBBPtX/nKQfpVlEsLOb11zZ1CRsWUKvJF0+lzuA9jwvA7Pr2Wt7i3xw==} + /@types/node@14.18.29: + resolution: {integrity: sha512-LhF+9fbIX4iPzhsRLpK5H7iPdvW8L4IwGciXQIOEcuF62+9nw/VQVsOViAOOGxY3OlOKGLFv0sWwJXdwQeTn6A==} dev: true /@types/node@18.16.0: resolution: {integrity: sha512-BsAaKhB+7X+H4GnSjGhJG9Qi8Tw+inU9nJDwmD5CgOmBLEI6ArdhikpLX7DjbjDRDTbqZzU2LSQNZg8WGPiSZQ==} - /@types/node@18.17.6: - resolution: {integrity: sha512-fGmT/P7z7ecA6bv/ia5DlaWCH4YeZvAQMNpUhrJjtAhOhZfoxS1VLUgU2pdk63efSjQaOJWdXMuAJsws+8I6dg==} - dev: true - - /@types/node@20.4.7: - resolution: {integrity: sha512-bUBrPjEry2QUTsnuEjzjbS7voGWCc30W0qzgMf90GPeDGFRakvrz47ju+oqDAKCXLUCe39u57/ORMl/O/04/9g==} - dev: true - /@types/normalize-package-data@2.4.1: resolution: {integrity: sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw==} dev: true @@ -4657,13 +4860,13 @@ packages: /@types/resolve@1.17.1: resolution: {integrity: sha512-yy7HuzQhj0dhGpD8RLXSZWEkLsV9ibvxvi6EiJ3bkqLAO1RGo0WbkWQiwpRlSFymTJRz0d3k5LM3kkx8ArDbLw==} dependencies: - '@types/node': 18.17.6 + '@types/node': 18.16.0 dev: true /@types/responselike@1.0.0: resolution: {integrity: sha512-85Y2BjiufFzaMIlvJDvTTB8Fxl2xfLo4HgmHzVBz08w4wDePCTjYw66PdrolO0kzli3yam/YCgRufyo1DdQVTA==} dependencies: - '@types/node': 18.17.6 + '@types/node': 18.16.0 dev: true /@types/retry@0.12.0: @@ -4677,33 +4880,25 @@ packages: rollup: 2.79.1 dev: true - /@types/semver@7.5.0: - resolution: {integrity: sha512-G8hZ6XJiHnuhQKR7ZmysCeJWE08o8T0AXtk5darsCaTVsYZhhgUrq53jizaR2FvsoeCwJhlmwTjkXBY5Pn/ZHw==} + /@types/semver@7.3.12: + resolution: {integrity: sha512-WwA1MW0++RfXmCr12xeYOOC5baSC9mSb0ZqCquFzKhcoF4TvHu5MKOuXsncgZcpVFhB1pXd5hZmM0ryAoCp12A==} dev: true - /@types/send@0.17.1: - resolution: {integrity: sha512-Cwo8LE/0rnvX7kIIa3QHCkcuF21c05Ayb0ZfxPiv0W8VRiZiNW/WuRupHKpqqGVGf7SUA44QSOUKaEd9lIrd/Q==} - dependencies: - '@types/mime': 1.3.2 - '@types/node': 18.17.6 - dev: true - - /@types/semver@7.5.2: - resolution: {integrity: sha512-7aqorHYgdNO4DM36stTiGO3DvKoex9TQRwsJU6vMaFGyqpBA1MNZkz+PG3gaNUPpTAOYhT1WR7M1JyA3fbS9Cw==} + /@types/semver@7.5.3: + resolution: {integrity: sha512-OxepLK9EuNEIPxWNME+C6WwbRAOOI2o2BaQEGzz5Lu2e4Z5eDnEo+/aVEDMIXywoJitJ7xWd641wrGLZdtwRyw==} dev: true /@types/serve-index@1.9.1: resolution: {integrity: sha512-d/Hs3nWDxNL2xAczmOVZNj92YZCS6RGxfBPjKzuu/XirCgXdpKEb88dYNbrYGint6IVWLNP+yonwVAuRC0T2Dg==} dependencies: - '@types/express': 4.17.17 + '@types/express': 4.17.14 dev: true - /@types/serve-static@1.15.2: - resolution: {integrity: sha512-J2LqtvFYCzaj8pVYKw8klQXrLLk7TBZmQ4ShlcdkELFKGwGMfevMLneMMRkMgZxotOD9wg497LpC7O8PcvAmfw==} + /@types/serve-static@1.15.0: + resolution: {integrity: sha512-z5xyF6uh8CbjAu9760KDKsH2FcDxZ2tFCsA4HIMWE6IkiYMXfVoa+4f9KX+FN0ZLsaMw1WNG2ETLA6N+/YA+cg==} dependencies: - '@types/http-errors': 2.0.1 '@types/mime': 3.0.1 - '@types/node': 18.17.6 + '@types/node': 18.16.0 dev: true /@types/sinonjs__fake-timers@8.1.1: @@ -4717,7 +4912,7 @@ packages: /@types/sockjs@0.3.33: resolution: {integrity: sha512-f0KEEe05NvUnat+boPTZ0dgaLZ4SfSouXUgv5noUiefG2ajgKjmETo9ZJyuqsl7dfl2aHlLJUiki6B4ZYldiiw==} dependencies: - '@types/node': 18.17.6 + '@types/node': 18.16.0 dev: true /@types/stack-utils@2.0.1: @@ -4732,16 +4927,12 @@ packages: resolution: {integrity: sha512-Q5vtl1W5ue16D+nIaW8JWebSSraJVlK+EthKn7e7UcD4KWsaSJ8BqGPXNaPghgtcn/fhvrN17Tv8ksUsQpiplw==} dev: true - /@types/trusted-types@2.0.3: - resolution: {integrity: sha512-NfQ4gyz38SL8sDNrSixxU2Os1a5xcdFxipAFxYEuLUlvU2uDwS4NUpsImcf1//SlWItCVMMLiylsxbmNMToV/g==} + /@types/trusted-types@2.0.2: + resolution: {integrity: sha512-F5DIZ36YVLE+PN+Zwws4kJogq47hNgX3Nx6WyDJ3kcplxyke3XIzB8uK5n/Lpm1HBsbGzd6nmGehL8cPekP+Tg==} dev: true - /@types/unist@2.0.7: - resolution: {integrity: sha512-cputDpIbFgLUaGQn6Vqg3/YsJwxUwHLO13v3i5ouxT4lat0khip9AEWxtERujXV9wxIB1EyF97BSJFt6vpdI8g==} - - /@types/unist@3.0.0: - resolution: {integrity: sha512-MFETx3tbTjE7Uk6vvnWINA/1iJ7LuMdO4fcq8UfF0pRbj01aGLduVvQcRyswuACJdpnHgg8E3rQLhaRdNEJS0w==} - dev: true + /@types/unist@2.0.6: + resolution: {integrity: sha512-PBjIUxZHOuj0R15/xuwJYjFi+KZdNFrehocChv4g5hu6aFroHue8m0lBP0POdK2nKzbw0cgV1mws8+V/JAcEkQ==} /@types/uuid@9.0.1: resolution: {integrity: sha512-rFT3ak0/2trgvp4yYZo5iKFEPsET7vKydKF+VRCxlQ9bpheehyAJH89dAkaLEq/j/RZXJIqcgsmPJKUP1Z28HA==} @@ -4755,24 +4946,24 @@ packages: resolution: {integrity: sha512-4p9vcSmxAayx72yn70joFoL44c9MO/0+iVEBIQXe3v2h2SiAsEIo/G5v6ObFWvNKRFjbrVadNf9LqEEZeQPzdA==} dev: true - /@types/ws@8.5.4: - resolution: {integrity: sha512-zdQDHKUgcX/zBc4GrwsE/7dVdAD8JR4EuiAXiiUhhfyIJXXb2+PrGshFyeXWQPMmmZ2XxgaqclgpIC7eTXc1mg==} + /@types/ws@8.5.3: + resolution: {integrity: sha512-6YOoWjruKj1uLf3INHH7D3qTXwFfEsg1kf3c0uDdSBJwfa/llkwIjrAGV7j7mVgGNbzTQ3HiHKKDXl6bJPD97w==} dependencies: - '@types/node': 18.17.6 + '@types/node': 18.16.0 dev: true - /@types/ws@8.5.5: - resolution: {integrity: sha512-lwhs8hktwxSjf9UaZ9tG5M03PGogvFaH8gUgLNbN9HKIg0dvv6q+gkSuJ8HN4/VbyxkuLzCjlN7GquQ0gUJfIg==} + /@types/ws@8.5.4: + resolution: {integrity: sha512-zdQDHKUgcX/zBc4GrwsE/7dVdAD8JR4EuiAXiiUhhfyIJXXb2+PrGshFyeXWQPMmmZ2XxgaqclgpIC7eTXc1mg==} dependencies: - '@types/node': 18.17.6 + '@types/node': 18.16.0 dev: true /@types/yargs-parser@21.0.0: resolution: {integrity: sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA==} dev: true - /@types/yargs@17.0.24: - resolution: {integrity: sha512-6i0aC7jV6QzQB8ne1joVZ0eSFIstHsCrobmOtghM11yGlH0j43FKL2UhWdELkyps0zuf7qVTUVCCR+tgSlyLLw==} + /@types/yargs@17.0.13: + resolution: {integrity: sha512-9sWaruZk2JGxIQU+IhI1fhPYRcQ0UuTNuKuCW9bR5fp7qi2Llf7WDzNa17Cy7TKnh3cdxDOiyTu6gaLS0eDatg==} dependencies: '@types/yargs-parser': 21.0.0 dev: true @@ -4781,7 +4972,7 @@ packages: resolution: {integrity: sha512-Cn6WYCm0tXv8p6k+A8PvbDG763EDpBoTzHdA+Q/MF6H3sapGjCm9NzoaJncJS9tUKSuCoDs9XHxYYsQDgxR6kw==} requiresBuild: true dependencies: - '@types/node': 18.17.6 + '@types/node': 18.16.0 dev: true optional: true @@ -4813,8 +5004,8 @@ packages: - supports-color dev: true - /@typescript-eslint/eslint-plugin@6.7.2(@typescript-eslint/parser@6.7.2)(eslint@8.39.0)(typescript@5.1.3): - resolution: {integrity: sha512-ooaHxlmSgZTM6CHYAFRlifqh1OAr3PAQEwi7lhYhaegbnXrnh7CDcHmc3+ihhbQC7H0i4JF0psI5ehzkF6Yl6Q==} + /@typescript-eslint/eslint-plugin@6.7.4(@typescript-eslint/parser@6.7.4)(eslint@8.39.0)(typescript@5.1.3): + resolution: {integrity: sha512-DAbgDXwtX+pDkAHwiGhqP3zWUGpW49B7eqmgpPtg+BKJXwdct79ut9+ifqOFPJGClGKSHXn2PTBatCnldJRUoA==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: '@typescript-eslint/parser': ^6.0.0 || ^6.0.0-alpha @@ -4824,12 +5015,12 @@ packages: typescript: optional: true dependencies: - '@eslint-community/regexpp': 4.8.1 - '@typescript-eslint/parser': 6.7.2(eslint@8.39.0)(typescript@5.1.3) - '@typescript-eslint/scope-manager': 6.7.2 - '@typescript-eslint/type-utils': 6.7.2(eslint@8.39.0)(typescript@5.1.3) - '@typescript-eslint/utils': 6.7.2(eslint@8.39.0)(typescript@5.1.3) - '@typescript-eslint/visitor-keys': 6.7.2 + '@eslint-community/regexpp': 4.9.1 + '@typescript-eslint/parser': 6.7.4(eslint@8.39.0)(typescript@5.1.3) + '@typescript-eslint/scope-manager': 6.7.4 + '@typescript-eslint/type-utils': 6.7.4(eslint@8.39.0)(typescript@5.1.3) + '@typescript-eslint/utils': 6.7.4(eslint@8.39.0)(typescript@5.1.3) + '@typescript-eslint/visitor-keys': 6.7.4 debug: 4.3.4(supports-color@8.1.1) eslint: 8.39.0 graphemer: 1.4.0 @@ -4842,36 +5033,28 @@ packages: - supports-color dev: true - /@typescript-eslint/eslint-plugin@5.59.0(@typescript-eslint/parser@5.59.0)(eslint@8.47.0)(typescript@5.1.3): - resolution: {integrity: sha512-p0QgrEyrxAWBecR56gyn3wkG15TJdI//eetInP3zYRewDh0XS+DhB3VUAd3QqvziFsfaQIoIuZMxZRB7vXYaYw==} + /@typescript-eslint/parser@5.59.0(eslint@8.39.0)(typescript@5.0.4): + resolution: {integrity: sha512-qK9TZ70eJtjojSUMrrEwA9ZDQ4N0e/AuoOIgXuNBorXYcBDk397D2r5MIe1B3cok/oCtdNC5j+lUUpVB+Dpb+w==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: - '@typescript-eslint/parser': ^5.0.0 eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 typescript: '*' peerDependenciesMeta: typescript: optional: true dependencies: - '@eslint-community/regexpp': 4.6.2 - '@typescript-eslint/parser': 5.59.0(eslint@8.47.0)(typescript@5.1.3) '@typescript-eslint/scope-manager': 5.59.0 - '@typescript-eslint/type-utils': 5.59.0(eslint@8.47.0)(typescript@5.1.3) - '@typescript-eslint/utils': 5.59.0(eslint@8.47.0)(typescript@5.1.3) + '@typescript-eslint/types': 5.59.0 + '@typescript-eslint/typescript-estree': 5.59.0(typescript@5.0.4) debug: 4.3.4(supports-color@8.1.1) - eslint: 8.47.0 - grapheme-splitter: 1.0.4 - ignore: 5.2.4 - natural-compare-lite: 1.4.0 - semver: 7.5.4 - tsutils: 3.21.0(typescript@5.1.3) - typescript: 5.1.3 + eslint: 8.39.0 + typescript: 5.0.4 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/parser@6.7.2(eslint@8.39.0)(typescript@5.1.3): - resolution: {integrity: sha512-KA3E4ox0ws+SPyxQf9iSI25R6b4Ne78ORhNHeVKrPQnoYsb9UhieoiRoJgrzgEeKGOXhcY1i8YtOeCHHTDa6Fw==} + /@typescript-eslint/parser@6.7.4(eslint@8.39.0)(typescript@5.1.3): + resolution: {integrity: sha512-I5zVZFY+cw4IMZUeNCU7Sh2PO5O57F7Lr0uyhgCJmhN/BuTlnc55KxPonR4+EM3GBdfiCyGZye6DgMjtubQkmA==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: eslint: ^7.0.0 || ^8.0.0 @@ -4880,10 +5063,10 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/scope-manager': 6.7.2 - '@typescript-eslint/types': 6.7.2 - '@typescript-eslint/typescript-estree': 6.7.2(typescript@5.1.3) - '@typescript-eslint/visitor-keys': 6.7.2 + '@typescript-eslint/scope-manager': 6.7.4 + '@typescript-eslint/types': 6.7.4 + '@typescript-eslint/typescript-estree': 6.7.4(typescript@5.1.3) + '@typescript-eslint/visitor-keys': 6.7.4 debug: 4.3.4(supports-color@8.1.1) eslint: 8.39.0 typescript: 5.1.3 @@ -4891,26 +5074,6 @@ packages: - supports-color dev: true - /@typescript-eslint/parser@5.59.0(eslint@8.47.0)(typescript@5.1.3): - resolution: {integrity: sha512-qK9TZ70eJtjojSUMrrEwA9ZDQ4N0e/AuoOIgXuNBorXYcBDk397D2r5MIe1B3cok/oCtdNC5j+lUUpVB+Dpb+w==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - peerDependencies: - eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true - dependencies: - '@typescript-eslint/scope-manager': 5.59.0 - '@typescript-eslint/types': 5.59.0 - '@typescript-eslint/typescript-estree': 5.59.0(typescript@5.1.3) - debug: 4.3.4(supports-color@8.1.1) - eslint: 8.47.0 - typescript: 5.1.3 - transitivePeerDependencies: - - supports-color - dev: true - /@typescript-eslint/scope-manager@5.59.0: resolution: {integrity: sha512-tsoldKaMh7izN6BvkK6zRMINj4Z2d6gGhO2UsI8zGZY3XhLq1DndP3Ycjhi1JwdwPRwtLMW4EFPgpuKhbCGOvQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} @@ -4919,24 +5082,36 @@ packages: '@typescript-eslint/visitor-keys': 5.59.0 dev: true - /@typescript-eslint/scope-manager@6.7.2: - resolution: {integrity: sha512-bgi6plgyZjEqapr7u2mhxGR6E8WCzKNUFWNh6fkpVe9+yzRZeYtDTbsIBzKbcxI+r1qVWt6VIoMSNZ4r2A+6Yw==} + /@typescript-eslint/scope-manager@6.7.4: + resolution: {integrity: sha512-SdGqSLUPTXAXi7c3Ob7peAGVnmMoGzZ361VswK2Mqf8UOYcODiYvs8rs5ILqEdfvX1lE7wEZbLyELCW+Yrql1A==} engines: {node: ^16.0.0 || >=18.0.0} dependencies: - '@typescript-eslint/types': 6.7.2 - '@typescript-eslint/visitor-keys': 6.7.2 + '@typescript-eslint/types': 6.7.4 + '@typescript-eslint/visitor-keys': 6.7.4 dev: true /@typescript-eslint/type-utils@5.59.0(eslint@8.39.0)(typescript@5.0.4): resolution: {integrity: sha512-d/B6VSWnZwu70kcKQSCqjcXpVH+7ABKH8P1KNn4K7j5PXXuycZTPXF44Nui0TEm6rbWGi8kc78xRgOC4n7xFgA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: '*' + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true dependencies: - '@typescript-eslint/types': 5.62.0 - '@typescript-eslint/visitor-keys': 5.62.0 + '@typescript-eslint/typescript-estree': 5.59.0(typescript@5.0.4) + '@typescript-eslint/utils': 5.59.0(eslint@8.39.0)(typescript@5.0.4) + debug: 4.3.4(supports-color@8.1.1) + eslint: 8.39.0 + tsutils: 3.21.0(typescript@5.0.4) + typescript: 5.0.4 + transitivePeerDependencies: + - supports-color dev: true - /@typescript-eslint/type-utils@6.7.2(eslint@8.39.0)(typescript@5.1.3): - resolution: {integrity: sha512-36F4fOYIROYRl0qj95dYKx6kybddLtsbmPIYNK0OBeXv2j9L5nZ17j9jmfy+bIDHKQgn2EZX+cofsqi8NPATBQ==} + /@typescript-eslint/type-utils@6.7.4(eslint@8.39.0)(typescript@5.1.3): + resolution: {integrity: sha512-n+g3zi1QzpcAdHFP9KQF+rEFxMb2KxtnJGID3teA/nxKHOVi3ylKovaqEzGBbVY2pBttU6z85gp0D00ufLzViQ==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: eslint: ^7.0.0 || ^8.0.0 @@ -4945,8 +5120,8 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/typescript-estree': 6.7.2(typescript@5.1.3) - '@typescript-eslint/utils': 6.7.2(eslint@8.39.0)(typescript@5.1.3) + '@typescript-eslint/typescript-estree': 6.7.4(typescript@5.1.3) + '@typescript-eslint/utils': 6.7.4(eslint@8.39.0)(typescript@5.1.3) debug: 4.3.4(supports-color@8.1.1) eslint: 8.39.0 ts-api-utils: 1.0.3(typescript@5.1.3) @@ -4960,8 +5135,8 @@ packages: engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dev: true - /@typescript-eslint/types@6.7.2: - resolution: {integrity: sha512-flJYwMYgnUNDAN9/GAI3l8+wTmvTYdv64fcH8aoJK76Y+1FCZ08RtI5zDerM/FYT5DMkAc+19E4aLmd5KqdFyg==} + /@typescript-eslint/types@6.7.4: + resolution: {integrity: sha512-o9XWK2FLW6eSS/0r/tgjAGsYasLAnOWg7hvZ/dGYSSNjCh+49k5ocPN8OmG5aZcSJ8pclSOyVKP2x03Sj+RrCA==} engines: {node: ^16.0.0 || >=18.0.0} dev: true @@ -4969,32 +5144,23 @@ packages: resolution: {integrity: sha512-sUNnktjmI8DyGzPdZ8dRwW741zopGxltGs/SAPgGL/AAgDpiLsCFLcMNSpbfXfmnNeHmK9h3wGmCkGRGAoUZAg==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: - eslint: '*' typescript: '*' peerDependenciesMeta: typescript: optional: true dependencies: - '@typescript-eslint/typescript-estree': 5.59.0(typescript@5.1.3) - '@typescript-eslint/utils': 5.59.0(eslint@8.47.0)(typescript@5.1.3) + '@typescript-eslint/types': 5.59.0 + '@typescript-eslint/visitor-keys': 5.59.0 debug: 4.3.4(supports-color@8.1.1) - eslint: 8.47.0 - tsutils: 3.21.0(typescript@5.1.3) - typescript: 5.1.3 + globby: 11.1.0 + is-glob: 4.0.3 + semver: 7.5.0 + tsutils: 3.21.0(typescript@5.0.4) + typescript: 5.0.4 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/types@5.59.0: - resolution: {integrity: sha512-yR2h1NotF23xFFYKHZs17QJnB51J/s+ud4PYU4MqdZbzeNxpgUr05+dNeCN/bb6raslHvGdd6BFCkVhpPk/ZeA==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - dev: true - - /@typescript-eslint/types@5.62.0: - resolution: {integrity: sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - dev: true - /@typescript-eslint/typescript-estree@5.59.0(typescript@5.1.3): resolution: {integrity: sha512-sUNnktjmI8DyGzPdZ8dRwW741zopGxltGs/SAPgGL/AAgDpiLsCFLcMNSpbfXfmnNeHmK9h3wGmCkGRGAoUZAg==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} @@ -5009,15 +5175,15 @@ packages: debug: 4.3.4(supports-color@8.1.1) globby: 11.1.0 is-glob: 4.0.3 - semver: 7.5.4 + semver: 7.5.0 tsutils: 3.21.0(typescript@5.1.3) typescript: 5.1.3 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/typescript-estree@6.7.2(typescript@5.1.3): - resolution: {integrity: sha512-kiJKVMLkoSciGyFU0TOY0fRxnp9qq1AzVOHNeN1+B9erKFCJ4Z8WdjAkKQPP+b1pWStGFqezMLltxO+308dJTQ==} + /@typescript-eslint/typescript-estree@6.7.4(typescript@5.1.3): + resolution: {integrity: sha512-ty8b5qHKatlNYd9vmpHooQz3Vki3gG+3PchmtsA4TgrZBKWHNjWfkQid7K7xQogBqqc7/BhGazxMD5vr6Ha+iQ==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: typescript: '*' @@ -5025,8 +5191,8 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/types': 6.7.2 - '@typescript-eslint/visitor-keys': 6.7.2 + '@typescript-eslint/types': 6.7.4 + '@typescript-eslint/visitor-keys': 6.7.4 debug: 4.3.4(supports-color@8.1.1) globby: 11.1.0 is-glob: 4.0.3 @@ -5038,98 +5204,57 @@ packages: dev: true /@typescript-eslint/utils@5.59.0(eslint@8.39.0)(typescript@5.0.4): - resolution: {integrity: sha512-GGLFd+86drlHSvPgN/el6dRQNYYGOvRSDVydsUaQluwIW3HvbXuxyuD5JETvBt/9qGYe+lOrDk6gRrWOHb/FvA==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - peerDependencies: - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true - dependencies: - '@typescript-eslint/types': 5.62.0 - '@typescript-eslint/visitor-keys': 5.62.0 - debug: 4.3.4(supports-color@8.1.1) - globby: 11.1.0 - is-glob: 4.0.3 - semver: 7.5.4 - tsutils: 3.21.0(typescript@5.1.3) - typescript: 5.1.3 - transitivePeerDependencies: - - supports-color - dev: true - - /@typescript-eslint/utils@5.59.0(eslint@8.39.0)(typescript@5.1.3): resolution: {integrity: sha512-GGLFd+86drlHSvPgN/el6dRQNYYGOvRSDVydsUaQluwIW3HvbXuxyuD5JETvBt/9qGYe+lOrDk6gRrWOHb/FvA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 dependencies: '@eslint-community/eslint-utils': 4.4.0(eslint@8.39.0) - '@types/json-schema': 7.0.12 - '@types/semver': 7.5.0 + '@types/json-schema': 7.0.11 + '@types/semver': 7.3.12 '@typescript-eslint/scope-manager': 5.59.0 '@typescript-eslint/types': 5.59.0 - '@typescript-eslint/typescript-estree': 5.59.0(typescript@5.1.3) + '@typescript-eslint/typescript-estree': 5.59.0(typescript@5.0.4) eslint: 8.39.0 eslint-scope: 5.1.1 - semver: 7.5.4 + semver: 7.5.3 transitivePeerDependencies: - supports-color - typescript dev: true - /@typescript-eslint/utils@5.59.0(eslint@8.47.0)(typescript@5.1.3): + /@typescript-eslint/utils@5.59.0(eslint@8.39.0)(typescript@5.1.3): resolution: {integrity: sha512-GGLFd+86drlHSvPgN/el6dRQNYYGOvRSDVydsUaQluwIW3HvbXuxyuD5JETvBt/9qGYe+lOrDk6gRrWOHb/FvA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.47.0) - '@types/json-schema': 7.0.12 - '@types/semver': 7.5.0 + '@eslint-community/eslint-utils': 4.4.0(eslint@8.39.0) + '@types/json-schema': 7.0.11 + '@types/semver': 7.3.12 '@typescript-eslint/scope-manager': 5.59.0 '@typescript-eslint/types': 5.59.0 '@typescript-eslint/typescript-estree': 5.59.0(typescript@5.1.3) - eslint: 8.47.0 - eslint-scope: 5.1.1 - semver: 7.5.4 - transitivePeerDependencies: - - supports-color - - typescript - dev: true - - /@typescript-eslint/utils@5.62.0(eslint@8.39.0)(typescript@5.1.3): - resolution: {integrity: sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - peerDependencies: - eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 - dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.39.0) - '@types/json-schema': 7.0.12 - '@types/semver': 7.5.0 - '@typescript-eslint/scope-manager': 5.62.0 - '@typescript-eslint/types': 5.62.0 - '@typescript-eslint/typescript-estree': 5.62.0(typescript@5.1.3) eslint: 8.39.0 eslint-scope: 5.1.1 - semver: 7.5.4 + semver: 7.5.3 transitivePeerDependencies: - supports-color - typescript dev: true - /@typescript-eslint/utils@6.7.2(eslint@8.39.0)(typescript@5.1.3): - resolution: {integrity: sha512-ZCcBJug/TS6fXRTsoTkgnsvyWSiXwMNiPzBUani7hDidBdj1779qwM1FIAmpH4lvlOZNF3EScsxxuGifjpLSWQ==} + /@typescript-eslint/utils@6.7.4(eslint@8.39.0)(typescript@5.1.3): + resolution: {integrity: sha512-PRQAs+HUn85Qdk+khAxsVV+oULy3VkbH3hQ8hxLRJXWBEd7iI+GbQxH5SEUSH7kbEoTp6oT1bOwyga24ELALTA==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: eslint: ^7.0.0 || ^8.0.0 dependencies: '@eslint-community/eslint-utils': 4.4.0(eslint@8.39.0) '@types/json-schema': 7.0.13 - '@types/semver': 7.5.2 - '@typescript-eslint/scope-manager': 6.7.2 - '@typescript-eslint/types': 6.7.2 - '@typescript-eslint/typescript-estree': 6.7.2(typescript@5.1.3) + '@types/semver': 7.5.3 + '@typescript-eslint/scope-manager': 6.7.4 + '@typescript-eslint/types': 6.7.4 + '@typescript-eslint/typescript-estree': 6.7.4(typescript@5.1.3) eslint: 8.39.0 semver: 7.5.4 transitivePeerDependencies: @@ -5142,227 +5267,413 @@ packages: engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: '@typescript-eslint/types': 5.59.0 - eslint-visitor-keys: 3.4.3 + eslint-visitor-keys: 3.4.0 dev: true - /@typescript-eslint/visitor-keys@5.62.0: - resolution: {integrity: sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + /@typescript-eslint/visitor-keys@6.7.4: + resolution: {integrity: sha512-pOW37DUhlTZbvph50x5zZCkFn3xzwkGtNoJHzIM3svpiSkJzwOYr/kVBaXmf+RAQiUDs1AHEZVNPg6UJCJpwRA==} + engines: {node: ^16.0.0 || >=18.0.0} dependencies: - '@typescript-eslint/types': 5.62.0 + '@typescript-eslint/types': 6.7.4 eslint-visitor-keys: 3.4.3 dev: true - /@typescript-eslint/visitor-keys@6.7.2: - resolution: {integrity: sha512-uVw9VIMFBUTz8rIeaUT3fFe8xIUx8r4ywAdlQv1ifH+6acn/XF8Y6rwJ7XNmkNMDrTW+7+vxFFPIF40nJCVsMQ==} - engines: {node: ^16.0.0 || >=18.0.0} + /@unocss/astro@0.55.2(rollup@2.79.1)(vite@4.3.9): + resolution: {integrity: sha512-cSzBKPEveZZQDZp5bq0UlL8CVvzB/1LsgZmZufxi9oMMjMJYqzfTkKg5z65GcP82Xp5c0N3KKkl/R6I+/7Iwvw==} + peerDependencies: + vite: ^2.9.0 || ^3.0.0-0 || ^4.0.0 + peerDependenciesMeta: + vite: + optional: true dependencies: - '@typescript-eslint/types': 6.7.2 - eslint-visitor-keys: 3.4.3 + '@unocss/core': 0.55.2 + '@unocss/reset': 0.55.2 + '@unocss/vite': 0.55.2(rollup@2.79.1)(vite@4.3.9) + vite: 4.3.9(@types/node@18.16.0) + transitivePeerDependencies: + - rollup dev: true - /@unocss/astro@0.56.1(rollup@2.79.1)(vite@4.3.9): - resolution: {integrity: sha512-ivWm69J76DRwCiEFM75qR4WPMCC6nyOrUM5iQDTypwKbBX26XlXcYYCN3DLoQTmWdp5f2BubZXAg3KIdgVxrYg==} + /@unocss/astro@0.56.5(rollup@2.79.1)(vite@4.3.9): + resolution: {integrity: sha512-nkxyGV9mA7DZ5LEr4Gap/SggM60MFNUfn56ngpxCqjQHJOMRJrAcR99hCVn+78vZ9xuZl9HxdIwgZLzn41thMw==} peerDependencies: vite: ^2.9.0 || ^3.0.0-0 || ^4.0.0 peerDependenciesMeta: vite: optional: true dependencies: - '@unocss/core': 0.56.1 - '@unocss/reset': 0.56.1 - '@unocss/vite': 0.56.1(rollup@2.79.1)(vite@4.3.9) + '@unocss/core': 0.56.5 + '@unocss/reset': 0.56.5 + '@unocss/vite': 0.56.5(rollup@2.79.1)(vite@4.3.9) vite: 4.3.9(@types/node@18.16.0) transitivePeerDependencies: - rollup dev: true - /@unocss/cli@0.56.1(rollup@2.79.1): - resolution: {integrity: sha512-s7lRtPkNw7GXdej3uYKFgfyal3Bq0Ux9oJKQ3rV7ysvY5AMfHs+ayc1EC6vXsAunziJ39dloPrRY5cx1H7abkQ==} + /@unocss/cli@0.55.2(rollup@2.79.1): + resolution: {integrity: sha512-ZJ8aBhm+3WjGCA5HcOQ4C3mbtJwkgMX2gpjjJ0MPh/iZOz3+/zmHlrXJCS3jIFouRYSwxxanWdrGUuLIQLqPhQ==} + engines: {node: '>=14'} + hasBin: true + dependencies: + '@ampproject/remapping': 2.2.1 + '@rollup/pluginutils': 5.0.3(rollup@2.79.1) + '@unocss/config': 0.55.2 + '@unocss/core': 0.55.2 + '@unocss/preset-uno': 0.55.2 + cac: 6.7.14 + chokidar: 3.5.3 + colorette: 2.0.20 + consola: 3.2.3 + fast-glob: 3.3.1 + magic-string: 0.30.2 + pathe: 1.1.1 + perfect-debounce: 1.0.0 + transitivePeerDependencies: + - rollup + dev: true + + /@unocss/cli@0.56.5(rollup@2.79.1): + resolution: {integrity: sha512-VYaqu7Dr1n9ebFFdQM+9Jyg/o9BVKRShlV8bQsBS58gkXiWsA/uAl1Uy2vzpLSrT0F6uGyDmYUF6p4DaUnUO+w==} engines: {node: '>=14'} hasBin: true dependencies: '@ampproject/remapping': 2.2.1 - '@rollup/pluginutils': 5.0.4(rollup@2.79.1) - '@unocss/config': 0.56.1 - '@unocss/core': 0.56.1 - '@unocss/preset-uno': 0.56.1 + '@rollup/pluginutils': 5.0.5(rollup@2.79.1) + '@unocss/config': 0.56.5 + '@unocss/core': 0.56.5 + '@unocss/preset-uno': 0.56.5 cac: 6.7.14 chokidar: 3.5.3 colorette: 2.0.20 consola: 3.2.3 fast-glob: 3.3.1 - magic-string: 0.30.3 + magic-string: 0.30.4 pathe: 1.1.1 perfect-debounce: 1.0.0 transitivePeerDependencies: - rollup dev: true - /@unocss/config@0.56.1: - resolution: {integrity: sha512-ZwKWtbMfg38laUNwjERkiTo3JKCgpw+hZMBqbbr2N4Rhc1ZaT4EJyQmcc/+P05JoNNr+ueYMoCMOCOtn/wuheQ==} + /@unocss/config@0.55.2: + resolution: {integrity: sha512-RYDv9QzhUeBz9BY+Pty0xc9vk/m4LGBNMiBghcItW6zXN554JbSuoPD55DmnvO2iXrIYujBZdB/Kob6GLCZpqw==} + engines: {node: '>=14'} + dependencies: + '@unocss/core': 0.55.2 + unconfig: 0.3.10 + dev: true + + /@unocss/config@0.56.5: + resolution: {integrity: sha512-rscnFIYgUlN/0hXHdhANyjFcDjDutt3JO0ZRITdNLzoglh7GVNiDTURBJwUZejF/vGJ7IkMd3qOdNhPFuRY1Bg==} engines: {node: '>=14'} dependencies: - '@unocss/core': 0.56.1 + '@unocss/core': 0.56.5 unconfig: 0.3.10 dev: true - /@unocss/core@0.56.1: - resolution: {integrity: sha512-2qmb/+hQ2CXmIgSqaeL6Pw2reO2MxsZlLMFuu71J8T3+UKrkI9NAwkZ4sdb38EoOisVIr2lvE48uc44XBfaOdg==} + /@unocss/core@0.55.2: + resolution: {integrity: sha512-ZLEES8RDgWoK/vttUzl3PM2bZqL3HvhLgj8xdDa09Xw+JiTlR4c66s+hLn52oCoJTnT9lGsD2j7tTGN9ToSiTA==} + dev: true + + /@unocss/core@0.56.5: + resolution: {integrity: sha512-fx5VhOjSHn0HdV2D34pEwFMAHJcJQRTCp1xEE4GzxY1irXzaa+m2aYf5PZjmDxehiOC16IH7TO9FOWANXk1E0w==} + dev: true + + /@unocss/extractor-arbitrary-variants@0.55.2: + resolution: {integrity: sha512-mHEoFx+ITe3OgFoIUhkCQxRgUjvOJeHtI1Z3Sm8NDMy2vTqOlkSf7NLWEyFfQsSFYqpWGTkaW1XiMZujGMoB/g==} + dependencies: + '@unocss/core': 0.55.2 + dev: true + + /@unocss/extractor-arbitrary-variants@0.56.5: + resolution: {integrity: sha512-p2pyzz/ONvc5CGcaB9OZvWE8qkRSgyuhaQqFQLdBFeUhveHC0CGP0iSnXwBgAFHWM7DJo4/JpWeZ+mBt0ogVLA==} + dependencies: + '@unocss/core': 0.56.5 dev: true - /@unocss/extractor-arbitrary-variants@0.56.1: - resolution: {integrity: sha512-2vEcVwUTpC0yROjvKGjR3HSE8jaf1cwQqL+Ba5oP+Y4Vrjlf8hqvoSowgVT+wp/ecPH8z82xFNhS+XMOdgXpGA==} + /@unocss/inspector@0.55.2: + resolution: {integrity: sha512-AMNZ7FsBFhQCMuAQugCk7d+3uoHDN2VFwCzSxk0ITgG51J90jfVgAo9mJf28W/AM4g0qVHScveJDPKzA+2o+Vg==} dependencies: - '@unocss/core': 0.56.1 + gzip-size: 6.0.0 + sirv: 2.0.3 dev: true - /@unocss/inspector@0.56.1: - resolution: {integrity: sha512-PJ3MEwOvUjLaiySPQQKlw0XgwpReNK7c+nDX0D8ZBmUyw3swSn8wSar2cCOLsKLRtKRRp4kz1brM/BaleyYyeg==} + /@unocss/inspector@0.56.5: + resolution: {integrity: sha512-UK/X2JyqxB1uueIFlffFsBioxMptanBbJYjrmOoLPdAFoOPp9o8IIFkFs3OKWc8imvyl3w+F0opncmdJnDMllw==} dependencies: - '@unocss/rule-utils': 0.56.1 + '@unocss/rule-utils': 0.56.5 gzip-size: 6.0.0 sirv: 2.0.3 dev: true - /@unocss/postcss@0.56.1(postcss@8.4.27): - resolution: {integrity: sha512-8jUS5ynopvMbZmdUQhGv+lvKziuAPHHl9LaZzCJ4uHgPOwITNXWTi4dmNbytdYC3iYPQ++8eOph93VPCxdqVsw==} + /@unocss/postcss@0.55.2(postcss@8.4.27): + resolution: {integrity: sha512-HJLGINNlQ3DGL9zRGuctX+mOVW2w7o8Wj89v3/2qTcqXBDpwfn1+KlxSjU9rsEPdE4Ur3MIcVXcJC0wz4+EwEA==} + engines: {node: '>=14'} + peerDependencies: + postcss: ^8.4.21 + dependencies: + '@unocss/config': 0.55.2 + '@unocss/core': 0.55.2 + css-tree: 2.3.1 + fast-glob: 3.3.1 + magic-string: 0.30.2 + postcss: 8.4.27 + dev: true + + /@unocss/postcss@0.56.5(postcss@8.4.27): + resolution: {integrity: sha512-oDY1vCdrCQZx/oxDkq3z77a0RoO+WVQT090oDZzLFO/cPWH3elSOHwnoJU/KzrpJLbUFpyTQKZ/k3VbBaEdGTA==} engines: {node: '>=14'} peerDependencies: postcss: ^8.4.21 dependencies: - '@unocss/config': 0.56.1 - '@unocss/core': 0.56.1 - '@unocss/rule-utils': 0.56.1 + '@unocss/config': 0.56.5 + '@unocss/core': 0.56.5 + '@unocss/rule-utils': 0.56.5 css-tree: 2.3.1 fast-glob: 3.3.1 - magic-string: 0.30.3 + magic-string: 0.30.4 postcss: 8.4.27 dev: true - /@unocss/preset-attributify@0.56.1: - resolution: {integrity: sha512-z+riyM9Fl+aYReg3cgxDRrI52teOL6ebj1UkMOje5sXuhneEQobUkg3k4Oi9NGTdalO5PU/jwcYCNfVksMPWZg==} + /@unocss/preset-attributify@0.55.2: + resolution: {integrity: sha512-jn5ulsKpAipsX3Gf2/iSZydgI0eP1ENeoS6rrNBL8zl1mRihnZYFegS75rGYjO6sEfEHrhkBiSHOw7Uv5KtLbw==} + dependencies: + '@unocss/core': 0.55.2 + dev: true + + /@unocss/preset-attributify@0.56.5: + resolution: {integrity: sha512-476NVv1kUmiD0ObtJceUB1ldiQvGStEUlwoHFOFl8srZbRuRlwq8Uz4sxCePf3sn2FP8UHw+By+nxwxMQuHpww==} + dependencies: + '@unocss/core': 0.56.5 + dev: true + + /@unocss/preset-icons@0.55.2: + resolution: {integrity: sha512-NK9LcTlBZv6zO8Qbu+VA9HblzYc5ebuFwaQMfQcYj2Z6dBOT27Ki41LY1qjEXzzMPXb44Q14Rlk0tJc8LtJIpQ==} dependencies: - '@unocss/core': 0.56.1 + '@iconify/utils': 2.1.7 + '@unocss/core': 0.55.2 + ofetch: 1.1.1 + transitivePeerDependencies: + - supports-color dev: true - /@unocss/preset-icons@0.56.1: - resolution: {integrity: sha512-Jwyy7i39Hvt4gf+/vtlIcKucNP2y7IV5nF9KPuDnikho4xS/D24z3lbUclrscbH8XGfRcsUzGHI/y+8gD7zZjQ==} + /@unocss/preset-icons@0.56.5: + resolution: {integrity: sha512-Pc973z/M7+TsIPRli9xSE+rjzQnX9r0PppTOD5lrD8PqvNSGIrSWZUFDc5NqL09hKHkIdVrDLC+2ouLYqTI7iA==} dependencies: - '@iconify/utils': 2.1.10 - '@unocss/core': 0.56.1 + '@iconify/utils': 2.1.11 + '@unocss/core': 0.56.5 ofetch: 1.3.3 transitivePeerDependencies: - supports-color dev: true - /@unocss/preset-mini@0.56.1: - resolution: {integrity: sha512-hOujmUN5kiA7KCkH1mUFf3cStsa3WZTi3g/I91VQ8EM4S6R7aRvME7LBXlb38z68+pckoDLhOhbN7gSg2iZTjA==} + /@unocss/preset-mini@0.55.2: + resolution: {integrity: sha512-jwUsrwtPwMvFVJUP+FVFjq+sp+xQPyFLRPSb89ZI34F1a3EwJ2wioDICLqWjOjY7zei9UgtSY0owBM9vwxw/kg==} + dependencies: + '@unocss/core': 0.55.2 + '@unocss/extractor-arbitrary-variants': 0.55.2 + dev: true + + /@unocss/preset-mini@0.56.5: + resolution: {integrity: sha512-/KhlThhs1ilauM7MwRSpahLbIPZ5VGeGvaUsU8+ZlNT3sis4yoVYkPtR14tL2IT6jhOU05N/uu3aBj+1bP8GjQ==} + dependencies: + '@unocss/core': 0.56.5 + '@unocss/extractor-arbitrary-variants': 0.56.5 + '@unocss/rule-utils': 0.56.5 + dev: true + + /@unocss/preset-tagify@0.55.2: + resolution: {integrity: sha512-m8/9wBtUQSwnwsLANhUOc7sukF8ReHJ7ZC6fCfTozRMOhwu+bDcf9G7pguXdNC4DdZXI15cvbZzkYF2l733qUw==} + dependencies: + '@unocss/core': 0.55.2 + dev: true + + /@unocss/preset-tagify@0.56.5: + resolution: {integrity: sha512-ANtI7E92fuzF40MD/3V72myNqrcGNXAD3TjXHIxAPQP2F+DcYIl2TBPHVsGUt2Rc5Kid2kvvsWan6sRAQVGPng==} + dependencies: + '@unocss/core': 0.56.5 + dev: true + + /@unocss/preset-typography@0.55.2: + resolution: {integrity: sha512-Y4JEihpKPDlXWXxnnMZbQclqZ4+DUD8RVFk46ERe9CLNEYkFObd4LG7yfSurr/C01zuU/GhEMyOWqSGsSyCxKg==} dependencies: - '@unocss/core': 0.56.1 - '@unocss/extractor-arbitrary-variants': 0.56.1 - '@unocss/rule-utils': 0.56.1 + '@unocss/core': 0.55.2 + '@unocss/preset-mini': 0.55.2 dev: true - /@unocss/preset-tagify@0.56.1: - resolution: {integrity: sha512-cd1McbaEpoerduOt8dA6MOkVZQIutuF3dHyjrI/pXbDtoyzBWjT9MLEeV77Hlz3S09+9cqGZddBBkqo0WGsM0w==} + /@unocss/preset-typography@0.56.5: + resolution: {integrity: sha512-fA/q5S+s7BV3TRWRvXqG7xpa8WNfG19uaZx288FcKauMR0TX4jUM0EkkngpwrTgeXXohh5awx4OEW3E1s1Q2oA==} dependencies: - '@unocss/core': 0.56.1 + '@unocss/core': 0.56.5 + '@unocss/preset-mini': 0.56.5 dev: true - /@unocss/preset-typography@0.56.1: - resolution: {integrity: sha512-3p+dWEtMDe8MSPbUZseS94OpdYbv/pMTs2K1NBysE5BjIEVlyxRNWcZ8FC6risAJ1U0Ouctb6BqP6IA8r9BiWQ==} + /@unocss/preset-uno@0.55.2: + resolution: {integrity: sha512-8VJXC6+f5YBjUaTkf+EGAembDYMleb0zjkb4hwXxjPIsO+mXixdZC2icCiN/12DLlwH4FzEvObLKns3CGEAZZw==} dependencies: - '@unocss/core': 0.56.1 - '@unocss/preset-mini': 0.56.1 + '@unocss/core': 0.55.2 + '@unocss/preset-mini': 0.55.2 + '@unocss/preset-wind': 0.55.2 dev: true - /@unocss/preset-uno@0.56.1: - resolution: {integrity: sha512-rNnjpmnfrP/1P462dyELBQHe5NDlFSrJevwjCpAOeFXdO0XCCULpHokuaovZYwesNvzzWu+cZequya38n5hkSw==} + /@unocss/preset-uno@0.56.5: + resolution: {integrity: sha512-3hzE0X1oxMbHLvWyTj/4BrJQ7OAL428BpzEJos0RsxifM04vOJX4GC4khIbmTl8KIMECMtATK3ren3JqzD2bFw==} dependencies: - '@unocss/core': 0.56.1 - '@unocss/preset-mini': 0.56.1 - '@unocss/preset-wind': 0.56.1 - '@unocss/rule-utils': 0.56.1 + '@unocss/core': 0.56.5 + '@unocss/preset-mini': 0.56.5 + '@unocss/preset-wind': 0.56.5 + '@unocss/rule-utils': 0.56.5 dev: true - /@unocss/preset-web-fonts@0.56.1: - resolution: {integrity: sha512-SO2ZjrcFSi02QgQT3UVUtIlZE59A92gB1pzmYTMGZhjhmxqq6aghvBKEC00LfnQ200MRtAawgiZ+5Xysi/XsGg==} + /@unocss/preset-web-fonts@0.55.2: + resolution: {integrity: sha512-kRnrfZPDkU2r9tp507rsh4kwhUzZ76XBTZLmElYm8tlP6HZzIHcFF8fdW15J4nh81b/IGw8ZOS7aQmqtHu3A8A==} dependencies: - '@unocss/core': 0.56.1 + '@unocss/core': 0.55.2 + ofetch: 1.1.1 + dev: true + + /@unocss/preset-web-fonts@0.56.5: + resolution: {integrity: sha512-1YPbqpHK6NaXWHceNJTl2A+dNbliB6FeU5Tvkox1KOLTTwvzUF80uWHAE/l05Oc9EZyolZ8OsM37p2eJAb0wpw==} + dependencies: + '@unocss/core': 0.56.5 ofetch: 1.3.3 dev: true - /@unocss/preset-wind@0.56.1: - resolution: {integrity: sha512-/fR0eYlmezu6R3wWvN5zVNAfOE6rcC1CsEZKH0SdwchMvNDjJNd0rmAechI2BnVBaa3++H2Cz+0AfCDEP8tsjg==} + /@unocss/preset-wind@0.55.2: + resolution: {integrity: sha512-th/aOokb10ApaiVLNI093mvko4XryJ70oEhzz4tHdSuhnQWf5eY7+k7y9EEYFz8i1OOrKuer0HzUV27llZaufw==} + dependencies: + '@unocss/core': 0.55.2 + '@unocss/preset-mini': 0.55.2 + dev: true + + /@unocss/preset-wind@0.56.5: + resolution: {integrity: sha512-iyMPvCEZkrGLHFXXlcqxDo/UcSK7KWw4x7/QUz7irrvc78cxYVuPm98QZgpCRcCwKerKVyFLjGOtwQ0kmVSVsQ==} dependencies: - '@unocss/core': 0.56.1 - '@unocss/preset-mini': 0.56.1 - '@unocss/rule-utils': 0.56.1 + '@unocss/core': 0.56.5 + '@unocss/preset-mini': 0.56.5 + '@unocss/rule-utils': 0.56.5 + dev: true + + /@unocss/reset@0.55.2: + resolution: {integrity: sha512-paInTGIhtI96fcJGZWbkPLW/7qiTlHxSbEIs1HGHcbf3WbwNuKrJUvKlQAhUs2HILNKhvsTXQl05Os8gtinLEA==} dev: true - /@unocss/reset@0.56.1: - resolution: {integrity: sha512-nfzLKv2W9Y3fZLny6lYTroa/YExczGYHsVPCBPGkVt0TrM0yDA+ZKOHbN93b5myY9hzJ3pHTEQmYFsFwzzr6Kg==} + /@unocss/reset@0.56.5: + resolution: {integrity: sha512-//Pv2ITAdnpWB9FIr0JiQVl1rL1XgISR8mu3OikhCfi6d/4OH+o6/WyE7evF1pOmk1JjsQlznOABIZXQlcpbHQ==} dev: true - /@unocss/rule-utils@0.56.1: - resolution: {integrity: sha512-mmmbx10eELAyhYZqBWlQFPOafnL1hHp2fo18rUbZLedvMJWds3Z23Q/u3VKEpJnCszNkr03BXVwscR5+ZdF4uw==} + /@unocss/rule-utils@0.56.5: + resolution: {integrity: sha512-CXIGHCIC9B8WUl9KbbFMSZHcsIgfmI/+X0bjBv6xrgBVC1EQ2Acq4PYnJIbaRGBRAhl9wYjNL7Zq2UWOdowHAw==} engines: {node: '>=14'} dependencies: - '@unocss/core': 0.56.1 + '@unocss/core': 0.56.5 + dev: true + + /@unocss/scope@0.55.2: + resolution: {integrity: sha512-o1b86ejgaFDqfC712mUZqZDQNf6o1xDzm6+bgHySdiltR8Quo6l8RcoZjZrCvEogtPbko4/XJ374t1NQMUQf4g==} + dev: true + + /@unocss/scope@0.56.5: + resolution: {integrity: sha512-q2eHYLuqF7RZEVGti205X2JOKSH6lBJGoQIjPtWgodNTg3S7qmUinHG0XzikI30L3EF3VljIh5TbtwGPcvbNsA==} + dev: true + + /@unocss/transformer-attributify-jsx-babel@0.55.2: + resolution: {integrity: sha512-pmfF546i8pKfMNeYZOJz2UzbuUwj0v7GqcoP5fClyRUzBMUfXdJwBSdFaYkdWR5Q/O1sv+pI0S8r/G9T7QuldA==} + dependencies: + '@unocss/core': 0.55.2 + dev: true + + /@unocss/transformer-attributify-jsx-babel@0.56.5: + resolution: {integrity: sha512-QUlbmWpdfzdgEXNcOJwSvKDHB/ID/X3zlpK+fXyCKTkqiYgCwMFmLXll2HtNhIgH2E1gWo/lDlwpiW/QjQb/rw==} + dependencies: + '@unocss/core': 0.56.5 + dev: true + + /@unocss/transformer-attributify-jsx@0.55.2: + resolution: {integrity: sha512-WerdaNagorTtYDvbhlZEmeuBrQ5lmPE0vG9r20bPR/vLy9UmbIFPpzt6b/hSLqOUnZnaEfbrpNUlpBZgUXpvsg==} + dependencies: + '@unocss/core': 0.55.2 dev: true - /@unocss/scope@0.56.1: - resolution: {integrity: sha512-qIq/JuibrVOAJw/TCUm54XwHRcDImgrb1abZVuaicFh6fjmpdOi/iglYxoFqXS5gusp0m2vNnOLbaBB4LrPf5Q==} + /@unocss/transformer-attributify-jsx@0.56.5: + resolution: {integrity: sha512-SQW7t58s26qHYuD8v3covXtWoXlflw3FV5dlBCw/2iOfNo3OTVUWReAB5y0XQIT3828nHnPqeQq4IhmnuOENdw==} + dependencies: + '@unocss/core': 0.56.5 dev: true - /@unocss/transformer-attributify-jsx-babel@0.56.1: - resolution: {integrity: sha512-8+l4tfifHiSnga3iaxqXfAMgEJG7yLphKPDSm6DHEMUqKeia9rn3V/bABx5KZxpMmnH6FoiYboJL4uf5W58a5Q==} + /@unocss/transformer-compile-class@0.55.2: + resolution: {integrity: sha512-zKeJtAirFrgj8TheKplgdKrPV9hPN3i2gEy/aQ+CrHHImcQtxZ1FJzmJT1yV77MOXOdeRJOhiePNOe2TE1A4tw==} dependencies: - '@unocss/core': 0.56.1 + '@unocss/core': 0.55.2 dev: true - /@unocss/transformer-attributify-jsx@0.56.1: - resolution: {integrity: sha512-2dQ7immRBnZJQ9aU+VIiAbcFCycXq8yXG2RPd82Pl0tAV8f5DtLbbuTC5mzo5lGOhuXJ+/u+IpuL9xchjOV7WQ==} + /@unocss/transformer-compile-class@0.56.5: + resolution: {integrity: sha512-uT/+bVDN26hJ4a5FtbOT4PxAVDUTxwZCEVCesPAE5RnGd7f+KYUnk3XdDa77xyklPQsxPhr4MEjA0HGPHtSH8Q==} dependencies: - '@unocss/core': 0.56.1 + '@unocss/core': 0.56.5 dev: true - /@unocss/transformer-compile-class@0.56.1: - resolution: {integrity: sha512-v3ICzTWj3oQ1S6qkGzg/oyzrk05ZgdcvjYFSZlgBIu2iUJldBhO0+7ZMuDpniaT21GjJvukLwiWrOF4mYyJCyg==} + /@unocss/transformer-directives@0.55.2: + resolution: {integrity: sha512-IJKL5clOiv2RjvHYr4xumS4eFScPsi3Vg4vGugsmn43PZ1FsApp8UElHfhuhBsEEiffnsgTD+N5u/EiPpyI0Gw==} dependencies: - '@unocss/core': 0.56.1 + '@unocss/core': 0.55.2 + css-tree: 2.3.1 dev: true - /@unocss/transformer-directives@0.56.1: - resolution: {integrity: sha512-Pwh+JUxxn8ECqpEWETeD38OON5Y2oYAOC1CFKAyXoK22J7f51THoS07z2rZpDNdQA2T/szxenNCdRt72/NJ/pg==} + /@unocss/transformer-directives@0.56.5: + resolution: {integrity: sha512-ykXbvG1LbqTqlYImMtkJUeH8BtuiE+8T/txUVyooUoVgr2qSELUu2FxC6rTX2EUx+F5BZhaQd6GsdzgaDwXgIg==} dependencies: - '@unocss/core': 0.56.1 - '@unocss/rule-utils': 0.56.1 + '@unocss/core': 0.56.5 + '@unocss/rule-utils': 0.56.5 css-tree: 2.3.1 dev: true - /@unocss/transformer-variant-group@0.56.1: - resolution: {integrity: sha512-UwXNcW00R6MjHZajy8lmSfwWDwhnvd+rF9eRGfcJTEzWr+LtEmgw8SJBr7STCB4ZwRE37NIp4oLLl1jF8omGNg==} + /@unocss/transformer-variant-group@0.55.2: + resolution: {integrity: sha512-BIAigftn+mfUeQT7sPzJNgvvbrmLj0gmYmeK4U7/8NxUuOuC0ROTNSw+MKU7yDiPYHqb1kxVZ47LZ3GdUcNPRA==} + dependencies: + '@unocss/core': 0.55.2 + dev: true + + /@unocss/transformer-variant-group@0.56.5: + resolution: {integrity: sha512-e+7XtICuOtcOgGyxI06i0LK6R446KLFvzv+lw3WbwhD8OcsSFUAtCaAw0l+cyyiiZ/k2tLdUR0O4hYwQVa8f1A==} + dependencies: + '@unocss/core': 0.56.5 + dev: true + + /@unocss/vite@0.55.2(rollup@2.79.1)(vite@4.3.9): + resolution: {integrity: sha512-JEyEaJt8D+Ed3Z8GDQ0hMWqKsB47/DoS+aPzDoXSIVozgi8seHtfSChBOBUSgcCrozfBVp42YHbYYyloDkb2Yw==} + peerDependencies: + vite: ^2.9.0 || ^3.0.0-0 || ^4.0.0 dependencies: - '@unocss/core': 0.56.1 + '@ampproject/remapping': 2.2.1 + '@rollup/pluginutils': 5.0.3(rollup@2.79.1) + '@unocss/config': 0.55.2 + '@unocss/core': 0.55.2 + '@unocss/inspector': 0.55.2 + '@unocss/scope': 0.55.2 + '@unocss/transformer-directives': 0.55.2 + chokidar: 3.5.3 + fast-glob: 3.3.1 + magic-string: 0.30.2 + vite: 4.3.9(@types/node@18.16.0) + transitivePeerDependencies: + - rollup dev: true - /@unocss/vite@0.56.1(rollup@2.79.1)(vite@4.3.9): - resolution: {integrity: sha512-IztLc304zP2LYQMsP3yVHmLwXlLUgCY3q6Nkqw6Hpds7l5JXBsE7Q19DtNW+4nDOp9wvWhw7CjQLmoh8d+V0lQ==} + /@unocss/vite@0.56.5(rollup@2.79.1)(vite@4.3.9): + resolution: {integrity: sha512-X4nvIukXTH//d+Oc97nJogK04sVGw4fc5LhVV1DjHQVmAOAmhTJCG6SxWGoSeqqUMx5X3gI9fVILK+5O8yl5EA==} peerDependencies: vite: ^2.9.0 || ^3.0.0-0 || ^4.0.0 dependencies: '@ampproject/remapping': 2.2.1 - '@rollup/pluginutils': 5.0.4(rollup@2.79.1) - '@unocss/config': 0.56.1 - '@unocss/core': 0.56.1 - '@unocss/inspector': 0.56.1 - '@unocss/scope': 0.56.1 - '@unocss/transformer-directives': 0.56.1 + '@rollup/pluginutils': 5.0.5(rollup@2.79.1) + '@unocss/config': 0.56.5 + '@unocss/core': 0.56.5 + '@unocss/inspector': 0.56.5 + '@unocss/scope': 0.56.5 + '@unocss/transformer-directives': 0.56.5 chokidar: 3.5.3 fast-glob: 3.3.1 - magic-string: 0.30.3 + magic-string: 0.30.4 vite: 4.3.9(@types/node@18.16.0) transitivePeerDependencies: - rollup @@ -5376,7 +5687,7 @@ packages: vite-plugin-pwa: 0.16.0(vite@4.3.9)(workbox-build@7.0.0)(workbox-window@7.0.0) dev: true - /@vitejs/plugin-vue@4.2.1(vite@4.3.9)(vue@3.3.0): + /@vitejs/plugin-vue@4.2.1(vite@4.3.9)(vue@3.3.4): resolution: {integrity: sha512-ZTZjzo7bmxTRTkb8GSTwkPOYDIP7pwuyV+RV53c9PYUouwcbkIZIvWvNWlX2b1dYZqtOv7D6iUAnJLVNGcLrSw==} engines: {node: ^14.18.0 || >=16.0.0} peerDependencies: @@ -5384,7 +5695,18 @@ packages: vue: ^3.2.25 dependencies: vite: 4.3.9(@types/node@18.16.0) - vue: 3.3.0 + vue: 3.3.4 + dev: true + + /@vitejs/plugin-vue@4.2.3(vite@4.4.9)(vue@3.3.4): + resolution: {integrity: sha512-R6JDUfiZbJA9cMiguQ7jxALsgiprjBeHL5ikpXfJCH62pPHtI+JdJ5xWj6Ev73yXSlYl86+blXn1kZHQ7uElxw==} + engines: {node: ^14.18.0 || >=16.0.0} + peerDependencies: + vite: ^4.0.0 + vue: ^3.2.25 + dependencies: + vite: 4.4.9(@types/node@18.16.0) + vue: 3.3.4 dev: true /@vitest/coverage-v8@0.34.0(vitest@0.34.0): @@ -5397,10 +5719,10 @@ packages: istanbul-lib-coverage: 3.2.0 istanbul-lib-report: 3.0.1 istanbul-lib-source-maps: 4.0.1 - istanbul-reports: 3.1.6 - magic-string: 0.30.2 + istanbul-reports: 3.1.5 + magic-string: 0.30.1 picocolors: 1.0.0 - std-env: 3.4.0 + std-env: 3.3.3 test-exclude: 6.0.0 v8-to-istanbul: 9.1.0 vitest: 0.34.0(@vitest/ui@0.34.0)(jsdom@22.0.0) @@ -5429,7 +5751,7 @@ packages: dependencies: magic-string: 0.30.2 pathe: 1.1.1 - pretty-format: 29.6.2 + pretty-format: 29.5.0 dev: true /@vitest/spy@0.34.0: @@ -5458,7 +5780,7 @@ packages: dependencies: diff-sequences: 29.4.3 loupe: 2.3.6 - pretty-format: 29.6.2 + pretty-format: 29.5.0 dev: true /@vue/compat@3.3.4(vue@3.3.4): @@ -5466,58 +5788,30 @@ packages: peerDependencies: vue: 3.3.4 dependencies: - '@babel/parser': 7.22.10 + '@babel/parser': 7.21.8 estree-walker: 2.0.2 source-map-js: 1.0.2 vue: 3.3.4 dev: false - /@vue/compiler-core@3.3.0: - resolution: {integrity: sha512-iYvUFe9/tIXNI1FyDCQYhkwJI5M9htqeCGfdZ2LiR+ZqVQE6KAH2+qUPdXixjMPUL36LdpVIBTNhxstx5RRhEw==} - dependencies: - '@babel/parser': 7.22.10 - '@vue/shared': 3.3.0 - estree-walker: 2.0.2 - source-map-js: 1.0.2 - /@vue/compiler-core@3.3.4: resolution: {integrity: sha512-cquyDNvZ6jTbf/+x+AgM2Arrp6G4Dzbb0R64jiG804HRMfRiFXWI6kqUVqZ6ZR0bQhIoQjB4+2bhNtVwndW15g==} dependencies: - '@babel/parser': 7.22.10 + '@babel/parser': 7.21.8 '@vue/shared': 3.3.4 estree-walker: 2.0.2 source-map-js: 1.0.2 - /@vue/compiler-dom@3.3.0: - resolution: {integrity: sha512-oxWgWpY+2FOQMZxdXgVaslu7z/KSmk9pO90MrYdxfiOW3/0HkqR6nuDjukiwaz5rN/kUioNXBfAkDcNwIr1JOA==} - dependencies: - '@vue/compiler-core': 3.3.0 - '@vue/shared': 3.3.0 - /@vue/compiler-dom@3.3.4: resolution: {integrity: sha512-wyM+OjOVpuUukIq6p5+nwHYtj9cFroz9cwkfmP9O1nzH68BenTTv0u7/ndggT8cIQlnBeOo6sUT/gvHcIkLA5w==} dependencies: '@vue/compiler-core': 3.3.4 '@vue/shared': 3.3.4 - /@vue/compiler-sfc@3.3.0: - resolution: {integrity: sha512-g8j35REOBMN0oRnJ4eEO3RMLj8ebEehQk6JkH6Q9df+M1Sb8eLeX0Zb7GBBPrrjfmyKzGvp/TE3fyOLUq/H5ow==} - dependencies: - '@babel/parser': 7.22.10 - '@vue/compiler-core': 3.3.0 - '@vue/compiler-dom': 3.3.0 - '@vue/compiler-ssr': 3.3.0 - '@vue/reactivity-transform': 3.3.0 - '@vue/shared': 3.3.0 - estree-walker: 2.0.2 - magic-string: 0.30.2 - postcss: 8.4.28 - source-map-js: 1.0.2 - /@vue/compiler-sfc@3.3.4: resolution: {integrity: sha512-6y/d8uw+5TkCuzBkgLS0v3lSM3hJDntFEiUORM11pQ/hKvkhSKZrXW6i69UyXlJQisJxuUEJKAWEqWbWsLeNKQ==} dependencies: - '@babel/parser': 7.22.10 + '@babel/parser': 7.21.8 '@vue/compiler-core': 3.3.4 '@vue/compiler-dom': 3.3.4 '@vue/compiler-ssr': 3.3.4 @@ -5525,15 +5819,9 @@ packages: '@vue/shared': 3.3.4 estree-walker: 2.0.2 magic-string: 0.30.2 - postcss: 8.4.28 + postcss: 8.4.27 source-map-js: 1.0.2 - /@vue/compiler-ssr@3.3.0: - resolution: {integrity: sha512-G39cqKLtSvlHM4L+P7vav9mh+ruks156VsXtzKya/FLMAWkSco6ye4SdaD6vJHMbtCypTOkMU7R6NMrCr19vpg==} - dependencies: - '@vue/compiler-dom': 3.3.0 - '@vue/shared': 3.3.0 - /@vue/compiler-ssr@3.3.4: resolution: {integrity: sha512-m0v6oKpup2nMSehwA6Uuu+j+wEwcy7QmwMkVNVfrV9P2qE5KshC6RwOCq8fjGS/Eak/uNb8AaWekfiXxbBB6gQ==} dependencies: @@ -5543,53 +5831,26 @@ packages: /@vue/devtools-api@6.5.0: resolution: {integrity: sha512-o9KfBeaBmCKl10usN4crU53fYtC1r7jJwdGKjPT24t348rHxgfpZ0xL3Xm/gLUYnc0oTp8LAmrxOeLyu6tbk2Q==} - /@vue/reactivity-transform@3.3.0: - resolution: {integrity: sha512-Pli2ClOXOEMG2AExCfUwiPQQo7U7zcRlnZLb6FI9ns/nEiQ9KLJJYD3wAuJHSx0VXLhACaINd/1VbMeKfa8GhQ==} - dependencies: - '@babel/parser': 7.22.10 - '@vue/compiler-core': 3.3.0 - '@vue/shared': 3.3.0 - estree-walker: 2.0.2 - magic-string: 0.30.2 - /@vue/reactivity-transform@3.3.4: resolution: {integrity: sha512-MXgwjako4nu5WFLAjpBnCj/ieqcjE2aJBINUNQzkZQfzIZA4xn+0fV1tIYBJvvva3N3OvKGofRLvQIwEQPpaXw==} dependencies: - '@babel/parser': 7.22.10 + '@babel/parser': 7.21.8 '@vue/compiler-core': 3.3.4 '@vue/shared': 3.3.4 estree-walker: 2.0.2 magic-string: 0.30.2 - /@vue/reactivity@3.3.0: - resolution: {integrity: sha512-CyVK/UDaGVK9ARd6HDh+RnvSY65rItjkNvxz7yTcbsGole6KaywdLIzLhWeaO5y7LnYE4MNGxzwZxmsnd+gNmQ==} - dependencies: - '@vue/shared': 3.3.0 - /@vue/reactivity@3.3.4: resolution: {integrity: sha512-kLTDLwd0B1jG08NBF3R5rqULtv/f8x3rOFByTDz4J53ttIQEDmALqKqXY0J+XQeN0aV2FBxY8nJDf88yvOPAqQ==} dependencies: '@vue/shared': 3.3.4 - /@vue/runtime-core@3.3.0: - resolution: {integrity: sha512-PJ6EYidRqsG0p0kijogSjA9dmJk6AhGGX387UWjbk2Y1z7t9VI0vTMLwBXf7H7QkKSAufiPRMET7qmexcOae1g==} - dependencies: - '@vue/reactivity': 3.3.0 - '@vue/shared': 3.3.0 - /@vue/runtime-core@3.3.4: resolution: {integrity: sha512-R+bqxMN6pWO7zGI4OMlmvePOdP2c93GsHFM/siJI7O2nxFRzj55pLwkpCedEY+bTMgp5miZ8CxfIZo3S+gFqvA==} dependencies: '@vue/reactivity': 3.3.4 '@vue/shared': 3.3.4 - /@vue/runtime-dom@3.3.0: - resolution: {integrity: sha512-e2VwfvU6xk/BdXpFvh1UXo4mcOrKCAkPrCy/vFas9GkkYzW3nx3uJ7Jm2Zl08dRoCMP7Oy9FegT9JkJ5kU8C+g==} - dependencies: - '@vue/runtime-core': 3.3.0 - '@vue/shared': 3.3.0 - csstype: 3.1.2 - /@vue/runtime-dom@3.3.4: resolution: {integrity: sha512-Aj5bTJ3u5sFsUckRghsNjVTtxZQ1OyMWCr5dZRAPijF/0Vy4xEoRCwLyHXcj4D0UFbJ4lbx3gPTgg06K/GnPnQ==} dependencies: @@ -5597,15 +5858,6 @@ packages: '@vue/shared': 3.3.4 csstype: 3.1.2 - /@vue/server-renderer@3.3.0(vue@3.3.0): - resolution: {integrity: sha512-U8coTPJMym4U6kJ2sDQuO5BmYjfIn26f66rtCk+cS1hoSxOtxFtUJuFXAOTIHvFWeelk4qeh9Ub5ZbfVRCHQBg==} - peerDependencies: - vue: 3.3.0 - dependencies: - '@vue/compiler-ssr': 3.3.0 - '@vue/shared': 3.3.0 - vue: 3.3.0 - /@vue/server-renderer@3.3.4(vue@3.3.4): resolution: {integrity: sha512-Q6jDDzR23ViIb67v+vM1Dqntu+HUexQcsWKhhQa4ARVzxOY2HbC7QRW/ggkDBd5BU+uM1sV6XOAP0b216o34JQ==} peerDependencies: @@ -5615,19 +5867,16 @@ packages: '@vue/shared': 3.3.4 vue: 3.3.4 - /@vue/shared@3.3.0: - resolution: {integrity: sha512-U4LUNs+xkcncuiWSyYlZJPl4l8zAKs67OuLM2L91QsaYZAEylj41pGHaLPHkO0ULGTpxTMETEBXkn6QFP9/X+Q==} - /@vue/shared@3.3.4: resolution: {integrity: sha512-7OjdcV8vQ74eiz1TZLzZP4JwqM5fA94K6yntPS5Z25r9HDuGNzaGdgvwKYq6S+MxwF0TFRwe50fIR/MYnakdkQ==} - /@vueuse/core@10.1.0(vue@3.3.0): + /@vueuse/core@10.1.0(vue@3.3.4): resolution: {integrity: sha512-3Znoa5m5RO+z4/C9w6DRaKTR3wCVJvD5rav8HTDGsr+7rOZRHtcgFJ8NcCs0ZvIpmev2kExTa311ns5j2RbzDQ==} dependencies: '@types/web-bluetooth': 0.0.16 '@vueuse/metadata': 10.1.0 - '@vueuse/shared': 10.1.0(vue@3.3.0) - vue-demi: 0.14.5(vue@3.3.0) + '@vueuse/shared': 10.1.0(vue@3.3.4) + vue-demi: 0.14.5(vue@3.3.4) transitivePeerDependencies: - '@vue/composition-api' - vue @@ -5703,10 +5952,10 @@ packages: resolution: {integrity: sha512-2Sc8X+iVzeuMGHr6O2j4gv/zxvQGGOYETYXEc41h0iZXIRnRbJZGmY/QP8dvzqUelf8vg0p/yEA5VpCEu+WpZg==} dev: true - /@vueuse/shared@10.1.0(vue@3.3.0): + /@vueuse/shared@10.1.0(vue@3.3.4): resolution: {integrity: sha512-2X52ogu12i9DkKOQ01yeb/BKg9UO87RNnpm5sXkQvyORlbq8ONS5l39MYkjkeVWWjdT0teJru7a2S41dmHmqjQ==} dependencies: - vue-demi: 0.14.5(vue@3.3.0) + vue-demi: 0.14.5(vue@3.3.4) transitivePeerDependencies: - '@vue/composition-api' - vue @@ -5728,8 +5977,8 @@ packages: '@wdio/logger': 7.26.0 '@wdio/types': 7.26.0(typescript@5.1.3) '@wdio/utils': 7.26.0(typescript@5.1.3) - deepmerge: 4.3.1 - glob: 8.1.0 + deepmerge: 4.2.2 + glob: 8.0.3 transitivePeerDependencies: - typescript dev: true @@ -5739,7 +5988,7 @@ packages: engines: {node: '>=12.0.0'} dependencies: chalk: 4.1.2 - loglevel: 1.8.1 + loglevel: 1.8.0 loglevel-plugin-prefix: 0.8.4 strip-ansi: 6.0.1 dev: true @@ -5758,8 +6007,8 @@ packages: typescript: optional: true dependencies: - '@types/node': 18.17.6 - got: 11.8.6 + '@types/node': 18.16.0 + got: 11.8.5 typescript: 5.1.3 dev: true @@ -5895,7 +6144,7 @@ packages: peerDependencies: webpack-cli: 4.x.x dependencies: - envinfo: 7.10.0 + envinfo: 7.8.1 webpack-cli: 4.10.0(webpack-dev-server@4.11.1)(webpack@5.88.2) dev: true @@ -5912,11 +6161,6 @@ packages: webpack-dev-server: 4.11.1(webpack-cli@4.10.0)(webpack@5.88.2) dev: true - /@xmldom/xmldom@0.8.10: - resolution: {integrity: sha512-2WALfTl4xo2SkGCYRt6rDTFfk9R1czmBvUQy12gK2KuRKIpWEhcbbzy8EZXtz/jkRqHX8bFEc6FC1HjX4TUWYw==} - engines: {node: '>=10.0.0'} - dev: true - /@xtuc/ieee754@1.2.0: resolution: {integrity: sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==} dev: true @@ -5940,10 +6184,10 @@ packages: html-to-image: 1.11.11 lodash: 4.17.21 marked: 4.3.0 - pino: 8.15.0 - postcss: 8.4.28 + pino: 8.14.1 + postcss: 8.4.27 ramda: 0.28.0 - tailwindcss: 3.3.3(ts-node@10.9.1) + tailwindcss: 3.3.2(ts-node@10.9.1) vue: 3.3.4 vuex: 4.1.0(vue@3.3.4) transitivePeerDependencies: @@ -6031,6 +6275,12 @@ packages: resolution: {integrity: sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==} engines: {node: '>=0.4.0'} hasBin: true + dev: true + + /acorn@8.8.2: + resolution: {integrity: sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==} + engines: {node: '>=0.4.0'} + hasBin: true /agent-base@6.0.2: resolution: {integrity: sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==} @@ -6103,6 +6353,25 @@ packages: uri-js: 4.4.1 dev: true + /algoliasearch@4.14.2: + resolution: {integrity: sha512-ngbEQonGEmf8dyEh5f+uOIihv4176dgbuOZspiuhmTTBRBuzWu3KCGHre6uHj5YyuC7pNvQGzB6ZNJyZi0z+Sg==} + dependencies: + '@algolia/cache-browser-local-storage': 4.14.2 + '@algolia/cache-common': 4.14.2 + '@algolia/cache-in-memory': 4.14.2 + '@algolia/client-account': 4.14.2 + '@algolia/client-analytics': 4.14.2 + '@algolia/client-common': 4.14.2 + '@algolia/client-personalization': 4.14.2 + '@algolia/client-search': 4.14.2 + '@algolia/logger-common': 4.14.2 + '@algolia/logger-console': 4.14.2 + '@algolia/requester-browser-xhr': 4.14.2 + '@algolia/requester-common': 4.14.2 + '@algolia/requester-node-http': 4.14.2 + '@algolia/transporter': 4.14.2 + dev: true + /algoliasearch@4.19.1: resolution: {integrity: sha512-IJF5b93b2MgAzcE/tuzW0yOPnuUyRgGAtaPv5UUywXM8kzqfdwZTO4sPJBzoGz1eOy6H9uEchsJsBFTELZSu+g==} dependencies: @@ -6168,8 +6437,8 @@ packages: engines: {node: '>=12'} dev: true - /ansi-sequence-parser@1.1.1: - resolution: {integrity: sha512-vJXt3yiaUL4UU546s3rPXlsry/RnM730G1+HkpKE012AN0sx1eOrxSu95oKDIonskeLTijMgqWZ3uDEe3NFvyg==} + /ansi-sequence-parser@1.1.0: + resolution: {integrity: sha512-lEm8mt52to2fT8GhciPCGeCXACSz2UwIN4X2e2LJSnZ5uAbn2/dsYdOmUXq0AtWS5cpAupysIneExOgH0Vd2TQ==} dev: true /ansi-styles@2.2.1: @@ -6196,8 +6465,8 @@ packages: engines: {node: '>=10'} dev: true - /ansi-styles@6.2.1: - resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==} + /ansi-styles@6.1.1: + resolution: {integrity: sha512-qDOv24WjnYuL+wbwHdlsYZFy+cgPtrYw0Tn7GLORicQp9BkQLzrgI3Pm4VyR9ERZ41YTn7KlMPuL1n05WdZvmg==} engines: {node: '>=12'} dev: true @@ -6209,8 +6478,8 @@ packages: /any-promise@1.3.0: resolution: {integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==} - /anymatch@3.1.3: - resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} + /anymatch@3.1.2: + resolution: {integrity: sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==} engines: {node: '>= 8'} dependencies: normalize-path: 3.0.0 @@ -6263,13 +6532,6 @@ packages: resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} dev: true - /array-buffer-byte-length@1.0.0: - resolution: {integrity: sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A==} - dependencies: - call-bind: 1.0.2 - is-array-buffer: 3.0.2 - dev: true - /array-flatten@1.1.1: resolution: {integrity: sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==} dev: true @@ -6291,18 +6553,6 @@ packages: engines: {node: '>=8'} dev: true - /arraybuffer.prototype.slice@1.0.1: - resolution: {integrity: sha512-09x0ZWFEjj4WD8PDbykUwo3t9arLn8NIzmmYEJFpYekOAQjpkGSyrQhNoRTcwwcFRu+ycWF78QZ63oWTqSjBcw==} - engines: {node: '>= 0.4'} - dependencies: - array-buffer-byte-length: 1.0.0 - call-bind: 1.0.2 - define-properties: 1.2.0 - get-intrinsic: 1.2.1 - is-array-buffer: 3.0.2 - is-shared-array-buffer: 1.0.2 - dev: true - /arrify@1.0.1: resolution: {integrity: sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA==} engines: {node: '>=0.10.0'} @@ -6360,7 +6610,7 @@ packages: dependencies: archy: 1.0.0 debug: 4.3.4(supports-color@8.1.1) - fastq: 1.15.0 + fastq: 1.13.0 queue-microtask: 1.2.3 transitivePeerDependencies: - supports-color @@ -6370,8 +6620,8 @@ packages: resolution: {integrity: sha512-08kcGqnYf/YmjoRhfxyu+CLxBjUtHLXLXX/vUfx9l2LYzG3c1m61nrpyFUZI6zeS+Li/wWMMidD9KgrqtGq3mA==} dev: true - /aws4@1.12.0: - resolution: {integrity: sha512-NmWvPnx0F1SfrQbYwOi7OeaNGokp9XhzNioJ/CSBs8Qa4vxug81mhJEAVZwxXuBmYB5KDRfMq/F3RR0BIU7sWg==} + /aws4@1.11.0: + resolution: {integrity: sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==} dev: true /axios@0.27.2(debug@4.3.4): @@ -6383,34 +6633,34 @@ packages: - debug dev: true - /babel-jest@29.6.2(@babel/core@7.22.10): - resolution: {integrity: sha512-BYCzImLos6J3BH/+HvUCHG1dTf2MzmAB4jaVxHV+29RZLjR29XuYTmsf2sdDwkrb+FczkGo3kOhE7ga6sI0P4A==} + /babel-jest@29.5.0(@babel/core@7.12.3): + resolution: {integrity: sha512-mA4eCDh5mSo2EcA9xQjVTpmbbNk32Zb3Q3QFQsNhaK56Q+yoXowzFodLux30HRgyOho5rsQ6B0P9QpMkvvnJ0Q==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} peerDependencies: '@babel/core': ^7.8.0 dependencies: - '@babel/core': 7.22.10 - '@jest/transform': 29.6.2 - '@types/babel__core': 7.20.1 + '@babel/core': 7.12.3 + '@jest/transform': 29.5.0 + '@types/babel__core': 7.1.19 babel-plugin-istanbul: 6.1.1 - babel-preset-jest: 29.5.0(@babel/core@7.22.10) + babel-preset-jest: 29.5.0(@babel/core@7.12.3) chalk: 4.1.2 - graceful-fs: 4.2.11 + graceful-fs: 4.2.10 slash: 3.0.0 transitivePeerDependencies: - supports-color dev: true - /babel-loader@9.1.3(@babel/core@7.22.10)(webpack@5.88.2): - resolution: {integrity: sha512-xG3ST4DglodGf8qSwv0MdeWLhrDsw/32QMdTO5T1ZIp9gQur0HkCyFs7Awskr10JKXFXwpAhiCuYX5oGXnRGbw==} + /babel-loader@9.1.2(@babel/core@7.12.3)(webpack@5.88.2): + resolution: {integrity: sha512-mN14niXW43tddohGl8HPu5yfQq70iUThvFL/4QzESA7GcZoC0eVOhvWdQ8+3UlSjaDE9MVtsW9mxDY07W7VpVA==} engines: {node: '>= 14.15.0'} peerDependencies: '@babel/core': ^7.12.0 webpack: '>=5' dependencies: - '@babel/core': 7.22.10 - find-cache-dir: 4.0.0 - schema-utils: 4.2.0 + '@babel/core': 7.12.3 + find-cache-dir: 3.3.2 + schema-utils: 4.0.0 webpack: 5.88.2(esbuild@0.19.0)(webpack-cli@4.10.0) dev: true @@ -6418,7 +6668,7 @@ packages: resolution: {integrity: sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==} engines: {node: '>=8'} dependencies: - '@babel/helper-plugin-utils': 7.22.5 + '@babel/helper-plugin-utils': 7.20.2 '@istanbuljs/load-nyc-config': 1.1.0 '@istanbuljs/schema': 0.1.3 istanbul-lib-instrument: 5.2.1 @@ -6431,77 +6681,77 @@ packages: resolution: {integrity: sha512-zSuuuAlTMT4mzLj2nPnUm6fsE6270vdOfnpbJ+RmruU75UhLFvL0N2NgI7xpeS7NaB6hGqmd5pVpGTDYvi4Q3w==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@babel/template': 7.22.5 - '@babel/types': 7.22.10 - '@types/babel__core': 7.20.1 - '@types/babel__traverse': 7.20.1 + '@babel/template': 7.20.7 + '@babel/types': 7.21.2 + '@types/babel__core': 7.1.19 + '@types/babel__traverse': 7.18.2 dev: true - /babel-plugin-polyfill-corejs2@0.4.5(@babel/core@7.22.10): - resolution: {integrity: sha512-19hwUH5FKl49JEsvyTcoHakh6BE0wgXLLptIyKZ3PijHc/Ci521wygORCUCCred+E/twuqRyAkE02BAWPmsHOg==} + /babel-plugin-polyfill-corejs2@0.3.3(@babel/core@7.12.3): + resolution: {integrity: sha512-8hOdmFYFSZhqg2C/JgLUQ+t52o5nirNwaWM2B9LWteozwIvM14VSwdsCAUET10qT+kmySAlseadmfeeSWFCy+Q==} peerDependencies: - '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 + '@babel/core': ^7.0.0-0 dependencies: - '@babel/compat-data': 7.22.9 - '@babel/core': 7.22.10 - '@babel/helper-define-polyfill-provider': 0.4.2(@babel/core@7.22.10) - semver: 6.3.1 + '@babel/compat-data': 7.21.0 + '@babel/core': 7.12.3 + '@babel/helper-define-polyfill-provider': 0.3.3(@babel/core@7.12.3) + semver: 6.3.0 transitivePeerDependencies: - supports-color dev: true - /babel-plugin-polyfill-corejs3@0.8.3(@babel/core@7.22.10): - resolution: {integrity: sha512-z41XaniZL26WLrvjy7soabMXrfPWARN25PZoriDEiLMxAp50AUW3t35BGQUMg5xK3UrpVTtagIDklxYa+MhiNA==} + /babel-plugin-polyfill-corejs3@0.6.0(@babel/core@7.12.3): + resolution: {integrity: sha512-+eHqR6OPcBhJOGgsIar7xoAB1GcSwVUA3XjAd7HJNzOXT4wv6/H7KIdA/Nc60cvUlDbKApmqNvD1B1bzOt4nyA==} peerDependencies: - '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 + '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.10 - '@babel/helper-define-polyfill-provider': 0.4.2(@babel/core@7.22.10) - core-js-compat: 3.32.1 + '@babel/core': 7.12.3 + '@babel/helper-define-polyfill-provider': 0.3.3(@babel/core@7.12.3) + core-js-compat: 3.28.0 transitivePeerDependencies: - supports-color dev: true - /babel-plugin-polyfill-regenerator@0.5.2(@babel/core@7.22.10): - resolution: {integrity: sha512-tAlOptU0Xj34V1Y2PNTL4Y0FOJMDB6bZmoW39FeCQIhigGLkqu3Fj6uiXpxIf6Ij274ENdYx64y6Au+ZKlb1IA==} + /babel-plugin-polyfill-regenerator@0.4.1(@babel/core@7.12.3): + resolution: {integrity: sha512-NtQGmyQDXjQqQ+IzRkBVwEOz9lQ4zxAQZgoAYEtU9dJjnl1Oc98qnN7jcp+bE7O7aYzVpavXE3/VKXNzUbh7aw==} peerDependencies: - '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 + '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.10 - '@babel/helper-define-polyfill-provider': 0.4.2(@babel/core@7.22.10) + '@babel/core': 7.12.3 + '@babel/helper-define-polyfill-provider': 0.3.3(@babel/core@7.12.3) transitivePeerDependencies: - supports-color dev: true - /babel-preset-current-node-syntax@1.0.1(@babel/core@7.22.10): + /babel-preset-current-node-syntax@1.0.1(@babel/core@7.12.3): resolution: {integrity: sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.22.10 - '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.22.10) - '@babel/plugin-syntax-bigint': 7.8.3(@babel/core@7.22.10) - '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.22.10) - '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.22.10) - '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.22.10) - '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.22.10) - '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.22.10) - '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.22.10) - '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.22.10) - '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.22.10) - '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.22.10) - '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.22.10) - dev: true - - /babel-preset-jest@29.5.0(@babel/core@7.22.10): + '@babel/core': 7.12.3 + '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.12.3) + '@babel/plugin-syntax-bigint': 7.8.3(@babel/core@7.12.3) + '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.12.3) + '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.12.3) + '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.12.3) + '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.12.3) + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.12.3) + '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.12.3) + '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.12.3) + '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.12.3) + '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.12.3) + '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.12.3) + dev: true + + /babel-preset-jest@29.5.0(@babel/core@7.12.3): resolution: {integrity: sha512-JOMloxOqdiBSxMAzjRaH023/vvcaSaec49zvg+2LmNsktC7ei39LTJGw02J+9uUtTZUq6xbLyJ4dxe9sSmIuAg==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.22.10 + '@babel/core': 7.12.3 babel-plugin-jest-hoist: 29.5.0 - babel-preset-current-node-syntax: 1.0.1(@babel/core@7.22.10) + babel-preset-current-node-syntax: 1.0.1(@babel/core@7.12.3) dev: true /bail@2.0.2: @@ -6524,11 +6774,6 @@ packages: tweetnacl: 0.14.5 dev: true - /big-integer@1.6.51: - resolution: {integrity: sha512-GPEid2Y9QU1Exl1rpO9B2IPJGHPSupF5GnVIP0blYvNOMer2bTvSWs1jGOUg04hTmu67nmLsQ9TBo1puaotBHg==} - engines: {node: '>=0.6'} - dev: true - /big.js@6.2.1: resolution: {integrity: sha512-bCtHMwL9LeDIozFn+oNhhFoq+yQ3BNdnsLSASUxLciOb1vgvpHsIO1dsENiGMgbb4SkP5TrzWzRiLddn8ahVOQ==} dev: true @@ -6569,7 +6814,7 @@ packages: engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} dependencies: bytes: 3.1.2 - content-type: 1.0.5 + content-type: 1.0.4 debug: 2.6.9 depd: 2.0.0 destroy: 1.2.0 @@ -6584,8 +6829,12 @@ packages: - supports-color dev: true - /bonjour-service@1.1.1: - resolution: {integrity: sha512-Z/5lQRMOG9k7W+FkeGTNjh7htqn/2LMnfOvBZ8pynNZCM9MwkQkI3zeI4oz09uWdcgmgHugVvBqxGg4VQJ5PCg==} + /body-scroll-lock@4.0.0-beta.0: + resolution: {integrity: sha512-a7tP5+0Mw3YlUJcGAKUqIBkYYGlYxk2fnCasq/FUph1hadxlTRjF+gAcZksxANnaMnALjxEddmSi/H3OR8ugcQ==} + dev: true + + /bonjour-service@1.0.14: + resolution: {integrity: sha512-HIMbgLnk1Vqvs6B4Wq5ep7mxvj9sGz5d1JJyDNSGNIdA/w2MCz6GTjWTdjqOJV1bEPj+6IkxDvWNFKEBxNt4kQ==} dependencies: array-flatten: 2.1.2 dns-equal: 1.0.0 @@ -6607,13 +6856,6 @@ packages: wrap-ansi: 7.0.0 dev: true - /bplist-parser@0.2.0: - resolution: {integrity: sha512-z0M+byMThzQmD9NILRniCUXYsYpjwnlO8N5uCFaCqIOpqRsJCrQL9NK3JsD67CN5a08nF5oIL2bD6loTdHOuKw==} - engines: {node: '>= 5.10.0'} - dependencies: - big-integer: 1.6.51 - dev: true - /brace-expansion@1.1.11: resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} dependencies: @@ -6636,15 +6878,15 @@ packages: resolution: {integrity: sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow==} dev: true - /browserslist@4.21.10: - resolution: {integrity: sha512-bipEBdZfVH5/pwrvqc+Ub0kUPVfGUhlKxbvfD+z1BDnPEO/X98ruXGA1WP5ASpAFKan7Qr6j736IacbZQuAlKQ==} + /browserslist@4.21.5: + resolution: {integrity: sha512-tUkiguQGW7S3IhB7N+c2MV/HZPSCPAAiYBZXLsBhFB/PCy6ZKKsZrmBayHV9fdGV/ARIfJ14NkxKzRDjvp7L6w==} engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} hasBin: true dependencies: - caniuse-lite: 1.0.30001521 - electron-to-chromium: 1.4.496 - node-releases: 2.0.13 - update-browserslist-db: 1.0.11(browserslist@4.21.10) + caniuse-lite: 1.0.30001457 + electron-to-chromium: 1.4.284 + node-releases: 2.0.10 + update-browserslist-db: 1.0.10(browserslist@4.21.5) dev: true /bser@2.1.1: @@ -6685,13 +6927,6 @@ packages: engines: {node: '>=6'} dev: true - /bundle-name@3.0.0: - resolution: {integrity: sha512-PKA4BeSvBpQKQ8iPOGCSiell+N8P+Tf1DlwqmYhpe2gAhKPHn8EYOxVT+ShuGmhg8lN8XiSlS80yiExKXrURlw==} - engines: {node: '>=12'} - dependencies: - run-applescript: 5.0.0 - dev: true - /bytes@3.0.0: resolution: {integrity: sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw==} engines: {node: '>= 0.8'} @@ -6712,21 +6947,21 @@ packages: engines: {node: '>=10.6.0'} dev: true - /cacheable-request@7.0.4: - resolution: {integrity: sha512-v+p6ongsrp0yTGbJXjgxPow2+DL93DASP4kXCDKb8/bwRtt9OEF3whggkkDkGNzgcWy2XaF4a8nZglC7uElscg==} + /cacheable-request@7.0.2: + resolution: {integrity: sha512-pouW8/FmiPQbuGpkXQ9BAPv/Mo5xDGANgSNXzTzJ8DrKGuXOssM4wIQRjfanNRh3Yu5cfYPvcorqbhg2KIJtew==} engines: {node: '>=8'} dependencies: clone-response: 1.0.3 get-stream: 5.2.0 - http-cache-semantics: 4.1.1 - keyv: 4.5.3 + http-cache-semantics: 4.1.0 + keyv: 4.5.0 lowercase-keys: 2.0.0 normalize-url: 6.1.0 responselike: 2.0.1 dev: true - /cachedir@2.4.0: - resolution: {integrity: sha512-9EtFOZR8g22CL7BWjJ9BUx1+A/djkofnyW3aOXZORNW2kxoUpx2h+uN2cOqwPmFhnpVmxg+KW2OjOSgChTEvsQ==} + /cachedir@2.3.0: + resolution: {integrity: sha512-A+Fezp4zxnit6FanDmv9EqXNAi3vt9DWp51/71UEhXukb7QUuvtv9344h91dyAxuTLoSYJFU299qzR3tzwPAhw==} engines: {node: '>=6'} dev: true @@ -6744,7 +6979,7 @@ packages: resolution: {integrity: sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==} dependencies: function-bind: 1.1.1 - get-intrinsic: 1.2.1 + get-intrinsic: 1.2.0 dev: true /call-me-maybe@1.0.2: @@ -6790,8 +7025,8 @@ packages: engines: {node: '>=10'} dev: true - /caniuse-lite@1.0.30001521: - resolution: {integrity: sha512-fnx1grfpEOvDGH+V17eccmNjucGUnCbP6KL+l5KqBIerp26WK/+RQ7CIDE37KGJjaPyqWXXlFUyKiWmvdNNKmQ==} + /caniuse-lite@1.0.30001457: + resolution: {integrity: sha512-SDIV6bgE1aVbK6XyxdURbUE89zY7+k1BBBaOwYwkNCglXlel/E7mELiHC64HQ+W0xSKlqWhV9Wh7iHxUjMs4fA==} dev: true /caseless@0.12.0: @@ -6900,8 +7135,8 @@ packages: engines: {node: '>= 0.8.0'} dev: true - /chevrotain-allstar@0.3.0(chevrotain@11.0.3): - resolution: {integrity: sha512-ZlkKZb97Jga/2619A5KET+CmvkhvoLlGVpJ7IXd5pHTZweGhr+apCuKHUvlwFeIVxk3A8o9DMjf+DXJKQxUQ/A==} + /chevrotain-allstar@0.3.1(chevrotain@11.0.3): + resolution: {integrity: sha512-b7g+y9A0v4mxCW1qUhf3BSVPg+/NvGErk/dOkrDaHA0nQIQGAtrOjlX//9OQtRlSCy+x9rfB5N8yC71lH1nvMw==} peerDependencies: chevrotain: ^11.0.0 dependencies: @@ -6922,7 +7157,7 @@ packages: resolution: {integrity: sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==} engines: {node: '>= 8.10.0'} dependencies: - anymatch: 3.1.3 + anymatch: 3.1.2 braces: 3.0.2 glob-parent: 5.1.2 is-binary-path: 2.1.0 @@ -6942,8 +7177,8 @@ packages: engines: {node: '>=8'} dev: true - /cjs-module-lexer@1.2.3: - resolution: {integrity: sha512-0TNiGstbQmCFwt4akjjBg5pLRTSyj/PkWQ1ZoO2zntmg9yLqSRxwEa4iCfQLGjqhiqBfOJa7W/E8wfGrTDmlZQ==} + /cjs-module-lexer@1.2.2: + resolution: {integrity: sha512-cOU9usZw8/dXIXKtwa8pM0OTJQuJkxMN6w30csNRUerHfeQ5R6U3kkU/FtJeIf3M202OHfY2U8ccInBG7/xogA==} dev: true /cjson@0.3.0: @@ -7072,8 +7307,8 @@ packages: engines: {iojs: '>= 1.0.0', node: '>= 0.12.0'} dev: true - /collect-v8-coverage@1.0.2: - resolution: {integrity: sha512-lHl4d5/ONEbLlJvaJNtsF/Lz+WvB07u2ycqTYbdrq7UypDXailES4valYb2eWiJFxZlVmpGekfqoxQhzyFdT4Q==} + /collect-v8-coverage@1.0.1: + resolution: {integrity: sha512-iBPtljfCNcTKNAto0KEtDfZ3qzjJvqE3aTGZsbhjSBlorqpXJlaWWtPO35D+ZImoC3KWejX64o+yPGxhWSTzfg==} dev: true /color-convert@1.9.3: @@ -7103,6 +7338,10 @@ packages: simple-swizzle: 0.2.2 dev: false + /colorette@2.0.19: + resolution: {integrity: sha512-3tlv/dIP7FWvj3BsbHrGLJ6l/oKh1O3TcgBqMn+yyCagOxc23fyzDS6HypQbgxWbkpDnf52p1LuR4eWDQ/K9WQ==} + dev: true + /colorette@2.0.20: resolution: {integrity: sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==} dev: true @@ -7163,15 +7402,6 @@ packages: engines: {node: '>= 12.0.0'} dev: true - /comment-parser@1.4.0: - resolution: {integrity: sha512-QLyTNiZ2KDOibvFPlZ6ZngVsZ/0gYnE6uTXi5aoDg8ed3AkJAz4sEje3Y8a29hQ1s6A99MZXe47fLAXQ1rTqaw==} - engines: {node: '>= 12.0.0'} - dev: true - - /common-path-prefix@3.0.0: - resolution: {integrity: sha512-QE33hToZseCH3jS0qN96O/bSh3kaw/h+Tq7ngyY9eWDUnTlTNUyqfqvCXioLe5Na5jFsL78ra/wuBU4iuEgd4w==} - dev: true - /common-tags@1.8.2: resolution: {integrity: sha512-gk/Z852D2Wtb//0I+kRFNKKE9dIIVirjoqPoA1wJU+XePVXZfGeBpk45+A1rKO4Q43prqWBNY/MiIeRLbPWUaA==} engines: {node: '>=4.0.0'} @@ -7219,9 +7449,9 @@ packages: hasBin: true dependencies: chalk: 4.1.2 - date-fns: 2.30.0 + date-fns: 2.29.3 lodash: 4.17.21 - rxjs: 7.8.1 + rxjs: 7.8.0 shell-quote: 1.8.1 spawn-command: 0.0.2-1 supports-color: 8.1.1 @@ -7234,7 +7464,7 @@ packages: engines: {node: '>=8'} dependencies: dot-prop: 5.3.0 - graceful-fs: 4.2.11 + graceful-fs: 4.2.10 make-dir: 3.1.0 unique-string: 2.0.0 write-file-atomic: 3.0.3 @@ -7258,16 +7488,17 @@ packages: safe-buffer: 5.2.1 dev: true - /content-type@1.0.5: - resolution: {integrity: sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==} + /content-type@1.0.4: + resolution: {integrity: sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==} engines: {node: '>= 0.6'} dev: true - /conventional-changelog-angular@6.0.0: - resolution: {integrity: sha512-6qLgrBF4gueoC7AFVHu51nHL9pF9FRjXrH+ceVf7WmAfH3gs+gEYOkvxhjMPjZu57I4AGUGoNTY8V7Hrgf1uqg==} - engines: {node: '>=14'} + /conventional-changelog-angular@5.0.13: + resolution: {integrity: sha512-i/gipMxs7s8L/QeuavPF2hLnJgH6pEZAttySB6aiQLWcX3puWDL3ACVmvBhJGxnAy52Qc15ua26BufY6KpmrVA==} + engines: {node: '>=10'} dependencies: compare-func: 2.0.0 + q: 1.5.1 dev: true /conventional-changelog-conventionalcommits@5.0.0: @@ -7279,19 +7510,23 @@ packages: q: 1.5.1 dev: true - /conventional-commits-parser@4.0.0: - resolution: {integrity: sha512-WRv5j1FsVM5FISJkoYMR6tPk07fkKT0UodruX4je86V4owk451yjXAKzKAPOs9l7y59E2viHUS9eQ+dfUA9NSg==} - engines: {node: '>=14'} + /conventional-commits-parser@3.2.4: + resolution: {integrity: sha512-nK7sAtfi+QXbxHCYfhpZsfRtaitZLIA6889kFIouLvz6repszQDgxBu7wf2WbU+Dco7sAnNCJYERCwt54WPC2Q==} + engines: {node: '>=10'} hasBin: true dependencies: JSONStream: 1.3.5 is-text-path: 1.0.1 + lodash: 4.17.21 meow: 8.1.2 split2: 3.2.2 + through2: 4.0.2 dev: true - /convert-source-map@1.9.0: - resolution: {integrity: sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==} + /convert-source-map@1.8.0: + resolution: {integrity: sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA==} + dependencies: + safe-buffer: 5.1.2 dev: true /convert-source-map@2.0.0: @@ -7307,10 +7542,10 @@ packages: engines: {node: '>= 0.6'} dev: true - /core-js-compat@3.32.1: - resolution: {integrity: sha512-GSvKDv4wE0bPnQtjklV101juQ85g6H3rm5PDP20mqlS5j0kXF3pP97YvAu5hl+uFHqMictp3b2VxOHljWMAtuA==} + /core-js-compat@3.28.0: + resolution: {integrity: sha512-myzPgE7QodMg4nnd3K1TDoES/nADRStM8Gpz0D6nhkwbmwEnE0ZGJgoWsvQ722FR8D7xS0n0LV556RcEicjTyg==} dependencies: - browserslist: 4.21.10 + browserslist: 4.21.5 dev: true /core-util-is@1.0.2: @@ -7335,24 +7570,24 @@ packages: layout-base: 1.0.2 dev: false - /cose-base@2.2.0: - resolution: {integrity: sha512-AzlgcsCbUMymkADOJtQm3wO9S3ltPfYOFD5033keQn9NJzIbtnZj+UdBJe7DYml/8TdbtHJW3j58SOnKhWY/5g==} + /cose-base@2.1.0: + resolution: {integrity: sha512-HTMm07dhxq1dIPGWwpiVrIk9n+DH7KYmqWA786mLe8jDS+1ZjGtJGIIsJVKoseZXS6/FxiUWCJ2B7XzqUCuhPw==} dependencies: layout-base: 2.0.1 dev: false - /cosmiconfig-typescript-loader@4.4.0(@types/node@20.4.7)(cosmiconfig@8.2.0)(ts-node@10.9.1)(typescript@5.1.3): - resolution: {integrity: sha512-BabizFdC3wBHhbI4kJh0VkQP9GkBfoHPydD0COMce1nJ1kJAB3F2TmJ/I7diULBKtmEWSwEbuN/KDtgnmUUVmw==} - engines: {node: '>=v14.21.3'} + /cosmiconfig-typescript-loader@4.1.0(@types/node@18.16.0)(cosmiconfig@8.0.0)(ts-node@10.9.1)(typescript@5.1.3): + resolution: {integrity: sha512-HbWIuR5O+XO5Oj9SZ5bzgrD4nN+rfhrm2PMb0FVx+t+XIvC45n8F0oTNnztXtspWGw0i2IzHaUWFD5LzV1JB4A==} + engines: {node: '>=12', npm: '>=6'} peerDependencies: '@types/node': '*' cosmiconfig: '>=7' ts-node: '>=10' - typescript: '>=4' + typescript: '>=3' dependencies: - '@types/node': 20.4.7 - cosmiconfig: 8.2.0 - ts-node: 10.9.1(@types/node@20.4.7)(typescript@5.1.3) + '@types/node': 18.16.0 + cosmiconfig: 8.0.0 + ts-node: 10.9.1(@types/node@18.16.0)(typescript@5.1.3) typescript: 5.1.3 dev: true @@ -7366,21 +7601,11 @@ packages: path-type: 4.0.0 dev: true - /cosmiconfig@8.2.0: - resolution: {integrity: sha512-3rTMnFJA1tCOPwRxtgF4wd7Ab2qvDbL8jX+3smjIbS4HlZBagTlpERbdN7iAbWlrfxE3M8c27kTwTawQ7st+OQ==} - engines: {node: '>=14'} - dependencies: - import-fresh: 3.3.0 - js-yaml: 4.1.0 - parse-json: 5.2.0 - path-type: 4.0.0 - dev: true - /cp-file@9.1.0: resolution: {integrity: sha512-3scnzFj/94eb7y4wyXRWwvzLFaQp87yyfTnChIjlfYrVqp5lVO3E2hIJMeQIltUT0K2ZAB3An1qXcBmwGyvuwA==} engines: {node: '>=10'} dependencies: - graceful-fs: 4.2.11 + graceful-fs: 4.2.10 make-dir: 3.1.0 nested-error-stacks: 2.1.1 p-event: 4.2.0 @@ -7402,7 +7627,7 @@ packages: arrify: 3.0.0 cp-file: 9.1.0 globby: 13.1.4 - junk: 4.0.1 + junk: 4.0.0 micromatch: 4.0.5 nested-error-stacks: 2.1.1 p-filter: 3.0.0 @@ -7418,7 +7643,7 @@ packages: dependencies: nice-try: 1.0.5 path-key: 2.0.1 - semver: 5.7.2 + semver: 5.7.1 shebang-command: 1.2.0 which: 1.3.1 dev: true @@ -7478,7 +7703,7 @@ packages: engines: {node: '>=14'} dependencies: '@cspell/cspell-service-bus': 6.31.1 - node-fetch: 2.6.13 + node-fetch: 2.6.9(encoding@0.1.13) transitivePeerDependencies: - encoding dev: true @@ -7539,7 +7764,7 @@ packages: file-entry-cache: 6.0.1 get-stdin: 8.0.0 imurmurhash: 0.1.4 - semver: 7.5.4 + semver: 7.3.8 strip-ansi: 6.0.1 vscode-uri: 3.0.7 transitivePeerDependencies: @@ -7589,7 +7814,7 @@ packages: dependencies: clap: 3.1.1 css-tree: 2.3.1 - resolve: 1.22.4 + resolve: 1.22.1 dev: true /csstype@3.1.2: @@ -7622,25 +7847,25 @@ packages: hasBin: true requiresBuild: true dependencies: - '@cypress/request': 2.88.12 + '@cypress/request': 2.88.10 '@cypress/xvfb': 1.2.4(supports-color@8.1.1) - '@types/node': 14.18.54 + '@types/node': 14.18.29 '@types/sinonjs__fake-timers': 8.1.1 '@types/sizzle': 2.3.3 arch: 2.2.0 blob-util: 2.0.2 bluebird: 3.7.2 buffer: 5.7.1 - cachedir: 2.4.0 + cachedir: 2.3.0 chalk: 4.1.2 check-more-types: 2.24.0 cli-cursor: 3.1.0 cli-table3: 0.6.3 commander: 6.2.1 common-tags: 1.8.2 - dayjs: 1.11.9 + dayjs: 1.11.7 debug: 4.3.4(supports-color@8.1.1) - enquirer: 2.4.1 + enquirer: 2.3.6 eventemitter2: 6.4.7 execa: 4.1.0 executable: 4.1.1 @@ -7651,7 +7876,7 @@ packages: is-ci: 3.0.1 is-installed-globally: 0.4.0 lazy-ass: 1.6.0 - listr2: 3.14.0(enquirer@2.4.1) + listr2: 3.14.0(enquirer@2.3.6) lodash: 4.17.21 log-symbols: 4.1.0 minimist: 1.2.8 @@ -7659,7 +7884,7 @@ packages: pretty-bytes: 5.6.0 proxy-from-env: 1.0.0 request-progress: 3.0.0 - semver: 7.5.4 + semver: 7.3.8 supports-color: 8.1.1 tmp: 0.2.1 untildify: 4.0.0 @@ -7680,7 +7905,7 @@ packages: peerDependencies: cytoscape: ^3.2.0 dependencies: - cose-base: 2.2.0 + cose-base: 2.1.0 cytoscape: 3.23.0 dev: false @@ -7698,8 +7923,8 @@ packages: internmap: 1.0.1 dev: false - /d3-array@3.2.4: - resolution: {integrity: sha512-tdQAmyA18i4J7wprpYq8ClcxZy3SC31QMeByyCFyRt7BVHdREQZ5lpzoe5mFEYZUWe+oq8HBvk9JjpibyEV4Jg==} + /d3-array@3.2.0: + resolution: {integrity: sha512-3yXFQo0oG3QCxbF06rMPFyGRMGJNS7NvsV1+2joOjbBE+9xvWQ8+GcMJAjRCzw06zQ3/arXeJgbPYcjUCuC+3g==} engines: {node: '>=12'} dependencies: internmap: 2.0.3 @@ -7725,7 +7950,7 @@ packages: resolution: {integrity: sha512-VE5S6TNa+j8msksl7HwjxMHDM2yNK3XCkusIlpX5kwauBfXuyLAtNg9jCp/iHH61tgI4sb6R/EIMWCqEIdjT/g==} engines: {node: '>=12'} dependencies: - d3-path: 3.1.0 + d3-path: 3.0.1 dev: false /d3-color@3.1.0: @@ -7733,22 +7958,15 @@ packages: engines: {node: '>=12'} dev: false - /d3-contour@3.1.0: - resolution: {integrity: sha512-vV3xtwrYK5p1J4vyukr70m57mtFTEQYqoaDC1ylBfht/hkdUF0nfWZ1b3V2EPBUVkUkoqq5/fbRoBImBWJgOsg==} + /d3-contour@4.0.0: + resolution: {integrity: sha512-7aQo0QHUTu/Ko3cP9YK9yUTxtoDEiDGwnBHyLxG5M4vqlBkO/uixMRele3nfsfj6UXOcuReVpVXzAboGraYIJw==} engines: {node: '>=12'} dependencies: - d3-array: 3.2.4 + d3-array: 3.2.0 dev: false - /d3-contour@4.0.2: - resolution: {integrity: sha512-4EzFTRIikzs47RGmdxbeUvLWtGedDUNkTcmzoeyg4sP/dvCexO47AaQL7VKy/gul85TOxw+IBgA8US2xwbToNA==} - engines: {node: '>=12'} - dependencies: - d3-array: 3.2.4 - dev: false - - /d3-delaunay@6.0.4: - resolution: {integrity: sha512-mdjtIZ1XLAM8bm/hx3WwjfHt6Sggek7qH043O8KEjDXN40xi3vx/6pYSVTwLjEgiXQTbvaouWKynLBiUZ6SK6A==} + /d3-delaunay@6.0.2: + resolution: {integrity: sha512-IMLNldruDQScrcfT+MWnazhHbDJhcRJyOEBAJfwQnHle1RPh6WDuLvxNArUju2VSMSUuKlY5BGHRJ2cYyoFLQQ==} engines: {node: '>=12'} dependencies: delaunator: 5.0.0 @@ -7803,11 +8021,11 @@ packages: engines: {node: '>=12'} dev: false - /d3-geo@3.1.0: - resolution: {integrity: sha512-JEo5HxXDdDYXCaWdwLRt79y7giK8SbhZJbFWXqbRTolCHFI5jRqteLzCsq51NKbUoX0PjBVSohxrx+NoOUujYA==} + /d3-geo@3.0.1: + resolution: {integrity: sha512-Wt23xBych5tSy9IYAM1FR2rWIBFWa52B/oF/GYe5zbdHrg08FU8+BuI6X4PvTwPDdqdAdq04fuWJpELtsaEjeA==} engines: {node: '>=12'} dependencies: - d3-array: 3.2.4 + d3-array: 3.2.0 dev: false /d3-hierarchy@3.1.2: @@ -7826,8 +8044,8 @@ packages: resolution: {integrity: sha512-VLaYcn81dtHVTjEHd8B+pbe9yHWpXKZUC87PzoFmsFrJqgFwDe/qxfp5MlfsfM1V5E/iVt0MmEbWQ7FVIXh/bg==} dev: false - /d3-path@3.1.0: - resolution: {integrity: sha512-p3KP5HCf/bvjBSSKuXid6Zqijx7wIfNW+J/maPs+iwR35at5JCbLUT0LzF1cnjbCHWhqzQTIN2Jpe8pRebIEFQ==} + /d3-path@3.0.1: + resolution: {integrity: sha512-gq6gZom9AFZby0YLduxT1qmrp4xpBA1YZr19OI717WIdKE2OM5ETq5qrHLb301IgxhLwcuxvGZVLeeWc/k1I6w==} engines: {node: '>=12'} dev: false @@ -7865,10 +8083,10 @@ packages: resolution: {integrity: sha512-GZW464g1SH7ag3Y7hXjf8RoUuAFIqklOAq3MRl4OaWabTFJY9PN/E1YklhXLh+OQ3fM9yS2nOkCoS+WLZ6kvxQ==} engines: {node: '>=12'} dependencies: - d3-array: 3.2.4 + d3-array: 3.2.0 d3-format: 3.1.0 d3-interpolate: 3.0.1 - d3-time: 3.1.0 + d3-time: 3.0.0 d3-time-format: 4.1.0 dev: false @@ -7883,25 +8101,25 @@ packages: d3-path: 1.0.9 dev: false - /d3-shape@3.2.0: - resolution: {integrity: sha512-SaLBuwGm3MOViRq2ABk3eLoxwZELpH6zhl3FbAoJ7Vm1gofKx6El1Ib5z23NUEhF9AsGl7y+dzLe5Cw2AArGTA==} + /d3-shape@3.1.0: + resolution: {integrity: sha512-tGDh1Muf8kWjEDT/LswZJ8WF85yDZLvVJpYU9Nq+8+yW1Z5enxrmXOhTArlkaElU+CTn0OTVNli+/i+HP45QEQ==} engines: {node: '>=12'} dependencies: - d3-path: 3.1.0 + d3-path: 3.0.1 dev: false /d3-time-format@4.1.0: resolution: {integrity: sha512-dJxPBlzC7NugB2PDLwo9Q8JiTR3M3e4/XANkreKSUxF8vvXKqm1Yfq4Q5dl8budlunRVlUUaDUgFt7eA8D6NLg==} engines: {node: '>=12'} dependencies: - d3-time: 3.1.0 + d3-time: 3.0.0 dev: false - /d3-time@3.1.0: - resolution: {integrity: sha512-VqKjzBLejbSMT4IgbmVgDjpkYrNWUYJnbCGo874u7MMKIWsILRX+OpX/gTk8MqjpT1A/c6HY2dCA77ZN0lkQ2Q==} + /d3-time@3.0.0: + resolution: {integrity: sha512-zmV3lRnlaLI08y9IMRXSDshQb5Nj77smnfpnd2LrBa/2K281Jijactokeak14QacHs/kKq0AQ121nidNYlarbQ==} engines: {node: '>=12'} dependencies: - d3-array: 3.2.4 + d3-array: 3.2.0 dev: false /d3-timer@3.0.1: @@ -7934,53 +8152,17 @@ packages: d3-transition: 3.0.1(d3-selection@3.0.0) dev: false - /d3@7.4.0: - resolution: {integrity: sha512-/xKyIYpKzd+I2DhiS2ANYJtEfHkE9lHKBFwqsplKsazPcXy2N1KIJSMTJsRk42jHbHCH0KPJGd0RnBt6NBJ1MA==} - engines: {node: '>=12'} - dependencies: - d3-array: 3.2.4 - d3-axis: 3.0.0 - d3-brush: 3.0.0 - d3-chord: 3.0.1 - d3-color: 3.1.0 - d3-contour: 3.1.0 - d3-delaunay: 6.0.4 - d3-dispatch: 3.0.1 - d3-drag: 3.0.0 - d3-dsv: 3.0.1 - d3-ease: 3.0.1 - d3-fetch: 3.0.1 - d3-force: 3.0.0 - d3-format: 3.1.0 - d3-geo: 3.1.0 - d3-hierarchy: 3.1.2 - d3-interpolate: 3.0.1 - d3-path: 3.1.0 - d3-polygon: 3.0.1 - d3-quadtree: 3.0.1 - d3-random: 3.0.1 - d3-scale: 4.0.2 - d3-scale-chromatic: 3.0.0 - d3-selection: 3.0.0 - d3-shape: 3.2.0 - d3-time: 3.1.0 - d3-time-format: 4.1.0 - d3-timer: 3.0.1 - d3-transition: 3.0.1(d3-selection@3.0.0) - d3-zoom: 3.0.0 - dev: false - - /d3@7.8.5: - resolution: {integrity: sha512-JgoahDG51ncUfJu6wX/1vWQEqOflgXyl4MaHqlcSruTez7yhaRKR9i8VjjcQGeS2en/jnFivXuaIMnseMMt0XA==} + /d3@7.8.2: + resolution: {integrity: sha512-WXty7qOGSHb7HR7CfOzwN1Gw04MUOzN8qh9ZUsvwycIMb4DYMpY9xczZ6jUorGtO6bR9BPMPaueIKwiDxu9uiQ==} engines: {node: '>=12'} dependencies: - d3-array: 3.2.4 + d3-array: 3.2.0 d3-axis: 3.0.0 d3-brush: 3.0.0 d3-chord: 3.0.1 d3-color: 3.1.0 - d3-contour: 4.0.2 - d3-delaunay: 6.0.4 + d3-contour: 4.0.0 + d3-delaunay: 6.0.2 d3-dispatch: 3.0.1 d3-drag: 3.0.0 d3-dsv: 3.0.1 @@ -7988,18 +8170,18 @@ packages: d3-fetch: 3.0.1 d3-force: 3.0.0 d3-format: 3.1.0 - d3-geo: 3.1.0 + d3-geo: 3.0.1 d3-hierarchy: 3.1.2 d3-interpolate: 3.0.1 - d3-path: 3.1.0 + d3-path: 3.0.1 d3-polygon: 3.0.1 d3-quadtree: 3.0.1 d3-random: 3.0.1 d3-scale: 4.0.2 d3-scale-chromatic: 3.0.0 d3-selection: 3.0.0 - d3-shape: 3.2.0 - d3-time: 3.1.0 + d3-shape: 3.1.0 + d3-time: 3.0.0 d3-time-format: 4.1.0 d3-timer: 3.0.1 d3-transition: 3.0.1(d3-selection@3.0.0) @@ -8016,7 +8198,7 @@ packages: /dagre-d3-es@7.0.10: resolution: {integrity: sha512-qTCQmEhcynucuaZgY5/+ti3X/rnszKZhEQH/ZdWdtP1tA/y3VoHJzcVrO9pjjJCNpigfscAtoUB5ONcd2wNn0A==} dependencies: - d3: 7.8.5 + d3: 7.8.2 lodash-es: 4.17.21 dev: false @@ -8055,11 +8237,9 @@ packages: whatwg-url: 12.0.1 dev: true - /date-fns@2.30.0: - resolution: {integrity: sha512-fnULvOpxnC5/Vg3NCiWelDsLiUc9bRwAPs/+LfTLNvetFCtCTN+yQz15C/fs4AwX1R9K5GLtLfn8QW+dWisaAw==} + /date-fns@2.29.3: + resolution: {integrity: sha512-dDCnyH2WnnKusqvZZ6+jA1O51Ibt8ZMRNkDZdyAyK4YfbDwa/cEmuztzG5pk6hqlp9aSBPYcjOlktquahGwGeA==} engines: {node: '>=0.11'} - dependencies: - '@babel/runtime': 7.22.10 dev: true /dayjs@1.10.7: @@ -8068,11 +8248,6 @@ packages: /dayjs@1.11.7: resolution: {integrity: sha512-+Yw9U6YO5TQohxLcIkrXBeY73WP3ejHWVvx8XCk3gxvQDCTEmS48ZrSZCKciI7Bhl/uCMyxYtE9UqRILmFphkQ==} - dev: false - - /dayjs@1.11.9: - resolution: {integrity: sha512-QvzAURSbQ0pKdIye2txOzNaHmxtUBXerpY0FJsFXUMKbIZeFm5ht1LS/jFsrncjnmtv8HsG0W2g6c0zUjZWmpA==} - dev: true /debug@2.6.9: resolution: {integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==} @@ -8121,8 +8296,8 @@ packages: ms: 2.1.2 supports-color: 8.1.1 - /decamelize-keys@1.1.1: - resolution: {integrity: sha512-WiPxgEirIV0/eIOMcnFBA3/IJZAZqKnwAwWyvvdi4lsr1WCN22nhdf/3db3DoZcUjTV2SqfzIwNyp6y2xs3nmg==} + /decamelize-keys@1.1.0: + resolution: {integrity: sha512-ocLWuYzRPoS9bfiSdDd3cxvrzovVMZnRDVEzAs+hWIVXGDbHxWMECij2OBuyB/An0FFW/nLuq6Kv1i/YC5Qfzg==} engines: {node: '>=0.10.0'} dependencies: decamelize: 1.2.0 @@ -8155,15 +8330,10 @@ packages: mimic-response: 3.1.0 dev: true - /dedent@1.5.1: - resolution: {integrity: sha512-+LxW+KLWxu3HW3M2w2ympwtqPrqYRzU8fqi6Fhd18fBALe15blJPI/I4+UHveMVG6lJqB4JNd4UG0S5cnVHwIg==} - peerDependencies: - babel-plugin-macros: ^3.1.0 - peerDependenciesMeta: - babel-plugin-macros: - optional: true - dev: true - + /dedent@0.7.0: + resolution: {integrity: sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA==} + dev: true + /deep-eql@4.1.3: resolution: {integrity: sha512-WaEtAOpRA1MQ0eohqZjpGD8zdI0Ovsm8mmFhaDN8dvDZzyoUMcYDnf5Y6iu7HTXxf8JDS23qWa4a+hKCDyOPzw==} engines: {node: '>=6'} @@ -8175,29 +8345,11 @@ packages: resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} dev: true - /deepmerge@4.3.1: - resolution: {integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==} + /deepmerge@4.2.2: + resolution: {integrity: sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==} engines: {node: '>=0.10.0'} dev: true - /default-browser-id@3.0.0: - resolution: {integrity: sha512-OZ1y3y0SqSICtE8DE4S8YOE9UZOJ8wO16fKWVP5J1Qz42kV9jcnMVFrEE/noXb/ss3Q4pZIH79kxofzyNNtUNA==} - engines: {node: '>=12'} - dependencies: - bplist-parser: 0.2.0 - untildify: 4.0.0 - dev: true - - /default-browser@4.0.0: - resolution: {integrity: sha512-wX5pXO1+BrhMkSbROFsyxUm0i/cJEScyNhA4PPxc41ICuv05ZZB/MX28s8aZx6xjmatvebIapF6hLEKEcpneUA==} - engines: {node: '>=14.16'} - dependencies: - bundle-name: 3.0.0 - default-browser-id: 3.0.0 - execa: 7.2.0 - titleize: 3.0.0 - dev: true - /default-gateway@6.0.3: resolution: {integrity: sha512-fwSOJsbbNzZ/CUFpqFBqYfYNLj1NbMPm8MMCIzHjC83iSJRBEGmDUxU+WP661BaBQImeC2yHwXtz+P/O9o+XEg==} engines: {node: '>= 10'} @@ -8222,11 +8374,6 @@ packages: engines: {node: '>=8'} dev: true - /define-lazy-prop@3.0.0: - resolution: {integrity: sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg==} - engines: {node: '>=12'} - dev: true - /define-properties@1.2.0: resolution: {integrity: sha512-xvqAVKGfT1+UAvPwKTVw/njhdQ8ZhXK4lI0bCIuCMrp2up9nPnaDftrLtmpTazqd1o+UY4zgzU+avtMbDP+ldA==} engines: {node: '>= 0.4'} @@ -8242,7 +8389,7 @@ packages: /delaunator@5.0.0: resolution: {integrity: sha512-AyLvtyJdbv/U1GkiS6gUUzclRoAY4Gs75qkMygJJhU75LW4DNuSF2RMzpxs9jw9Oz1BobHjTdkG3zdP55VxAqw==} dependencies: - robust-predicates: 3.0.2 + robust-predicates: 3.0.1 dev: false /delayed-stream@1.0.0: @@ -8264,6 +8411,10 @@ packages: resolution: {integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==} engines: {node: '>=6'} + /destr@2.0.0: + resolution: {integrity: sha512-FJ9RDpf3GicEBvzI3jxc2XhHzbqD8p4ANw/1kPsFBfTvP1b7Gn/Lg1vO7R9J4IVgoMbyUmFrFGZafJ1hPZpvlg==} + dev: true + /destr@2.0.1: resolution: {integrity: sha512-M1Ob1zPSIvlARiJUkKqvAZ3VAqQY6Jcuth/pBKQ2b1dX/Qx0OnJ8Vux6J2H5PTMQeRzWrrbTu70VxBfv/OPDJA==} dev: true @@ -8314,8 +8465,8 @@ packages: resolution: {integrity: sha512-z+paD6YUQsk+AbGCEM4PrOXSss5gd66QfcVBFTKR/HpFL9jCqikS94HYwKww6fQyO7IxrIIyUu+g0Ka9tUS2Cg==} dev: true - /dns-packet@5.6.0: - resolution: {integrity: sha512-rza3UH1LwdHh9qyPXp8lkwpjSNk/AMD3dPytUoRoqnypDUhY0xvbdmVhWOfxO68frEfV9BU8V12Ez7ZsHGZpCQ==} + /dns-packet@5.4.0: + resolution: {integrity: sha512-EgqGeaBB8hLiHLZtp/IbaDQTL8pZ0+IvwzSHA6d7VyMDM+B9hgddEMa9xjK5oYnw0ci0JQ6g2XCD7/f6cafU6g==} engines: {node: '>=6'} dependencies: '@leichtgewicht/ip-codec': 2.0.4 @@ -8333,7 +8484,7 @@ packages: dependencies: domelementtype: 2.3.0 domhandler: 5.0.3 - entities: 4.5.0 + entities: 4.4.0 dev: true /dom-to-image-more@2.16.0: @@ -8362,8 +8513,8 @@ packages: resolution: {integrity: sha512-F9e6wPGtY+8KNMRAVfxeCOHU0/NPWMSENNq4pQctuXRqqdEPW7q3CrLbR5Nse044WwacyjHGOMlvNsBe1y6z9A==} dev: false - /domutils@3.1.0: - resolution: {integrity: sha512-H78uMmQtI2AhgDJjWeQmHwJJ2bLPD3GMmO7Zja/ZZh84wkm+4ut+IUnUdRa8uCGX88DiVx1j6FRe1XfxEgjEZA==} + /domutils@3.0.1: + resolution: {integrity: sha512-z08c1l761iKhDFtfXO04C7kTdPBLi41zwOZl00WS8b5eiaebNpY00HKbztwBq+e3vyqWNwWF3mP9YLUeqIrF+Q==} dependencies: dom-serializer: 2.0.0 domelementtype: 2.3.0 @@ -8377,8 +8528,8 @@ packages: is-obj: 2.0.0 dev: true - /dotenv@16.3.1: - resolution: {integrity: sha512-IPzF4w4/Rd94bA9imS68tZBaYyBWSCE47V1RGuMrB94iyTOIEwRmVL2x/4An+6mETpLrKJ5hQkB8W4kFAadeIQ==} + /dotenv@16.0.3: + resolution: {integrity: sha512-7GO6HghkA5fYG9TYnNxi14/7K9f5occMlp3zXAuSxn7CKCxt9xbNWG7yF8hTCSUchlfWSe3uLmlPfigevRItzQ==} engines: {node: '>=12'} dev: true @@ -8405,16 +8556,16 @@ packages: resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==} dev: true - /ejs@3.1.9: - resolution: {integrity: sha512-rC+QVNMJWv+MtPgkt0y+0rVEIdbtxVADApW9JXrUVlzHetgcyczP/E7DJmWJ4fJCZF2cPcBk0laWO9ZHMG3DmQ==} + /ejs@3.1.8: + resolution: {integrity: sha512-/sXZeMlhS0ArkfX2Aw780gJzXSMPnKjtspYZv+f3NiKLlubezAHDU5+9xz6gd3/NhG3txQCo6xlglmTS+oTGEQ==} engines: {node: '>=0.10.0'} hasBin: true dependencies: - jake: 10.8.7 + jake: 10.8.5 dev: true - /electron-to-chromium@1.4.496: - resolution: {integrity: sha512-qeXC3Zbykq44RCrBa4kr8v/dWzYJA8rAwpyh9Qd+NKWoJfjG5vvJqy9XOJ9H4P/lqulZBCgUWAYi+FeK5AuJ8g==} + /electron-to-chromium@1.4.284: + resolution: {integrity: sha512-M8WEXFuKXMYMVr45fo8mq0wUrrJHheiKZf6BArTKk9ZBYCKJEOU5H8cdWgDT+qCVZf7Na4lVUaZsA+h6uA9+PA==} dev: true /elkjs@0.8.2: @@ -8455,16 +8606,15 @@ packages: resolution: {integrity: sha512-LXYT42KJ7lpIKECr2mAXIaMldcNCh/7E0KBKOu4KSfkHmP+mZmSs+8V5gBAqisWBy0OO4W5Oyys0GO1Y8KtdKg==} engines: {node: '>=10.13.0'} dependencies: - graceful-fs: 4.2.11 + graceful-fs: 4.2.10 tapable: 2.2.1 dev: true - /enquirer@2.4.1: - resolution: {integrity: sha512-rRqJg/6gd538VHvR3PSrdRBb/1Vy2YfzHqzvbhGIQpDRKIa4FgV/54b5Q1xYSxOOwKvjXweS26E0Q+nAMwp2pQ==} + /enquirer@2.3.6: + resolution: {integrity: sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==} engines: {node: '>=8.6'} dependencies: ansi-colors: 4.1.3 - strip-ansi: 6.0.1 dev: true /entities@3.0.1: @@ -8472,13 +8622,13 @@ packages: engines: {node: '>=0.12'} dev: true - /entities@4.5.0: - resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==} + /entities@4.4.0: + resolution: {integrity: sha512-oYp7156SP8LkeGD0GF85ad1X9Ai79WtRsZ2gxJqtBuzH+98YUV6jkHEKlZkMbcrjJjIVJNIDP/3WL9wQkoPbWA==} engines: {node: '>=0.12'} dev: true - /envinfo@7.10.0: - resolution: {integrity: sha512-ZtUjZO6l5mwTHvc1L9+1q5p/R3wTopcfqMW8r5t8SJSKqeVI/LtajORwRFEKpEFuekjD0VBjwu1HMxL4UalIRw==} + /envinfo@7.8.1: + resolution: {integrity: sha512-/o+BXHmB7ocbHEAs6F2EnG0ogybVVUdkRunTT2glZU9XAaGmhqskrvKwqXuDfNjEO0LZKWdejEEpnq8aM0tOaw==} engines: {node: '>=4'} hasBin: true dev: true @@ -8489,18 +8639,17 @@ packages: is-arrayish: 0.2.1 dev: true - /es-abstract@1.22.1: - resolution: {integrity: sha512-ioRRcXMO6OFyRpyzV3kE1IIBd4WG5/kltnzdxSCqoP8CMGs/Li+M1uF5o7lOkZVFjDs+NLesthnF66Pg/0q0Lw==} + /es-abstract@1.21.1: + resolution: {integrity: sha512-QudMsPOz86xYz/1dG1OuGBKOELjCh99IIWHLzy5znUB6j8xG2yMA7bfTV86VSqKF+Y/H08vQPR+9jyXpuC6hfg==} engines: {node: '>= 0.4'} dependencies: - array-buffer-byte-length: 1.0.0 - arraybuffer.prototype.slice: 1.0.1 available-typed-arrays: 1.0.5 call-bind: 1.0.2 es-set-tostringtag: 2.0.1 es-to-primitive: 1.2.1 + function-bind: 1.1.1 function.prototype.name: 1.1.5 - get-intrinsic: 1.2.1 + get-intrinsic: 1.2.0 get-symbol-description: 1.0.0 globalthis: 1.0.3 gopd: 1.0.1 @@ -8509,29 +8658,24 @@ packages: has-proto: 1.0.1 has-symbols: 1.0.3 internal-slot: 1.0.5 - is-array-buffer: 3.0.2 + is-array-buffer: 3.0.1 is-callable: 1.2.7 is-negative-zero: 2.0.2 is-regex: 1.1.4 is-shared-array-buffer: 1.0.2 is-string: 1.0.7 - is-typed-array: 1.1.12 + is-typed-array: 1.1.10 is-weakref: 1.0.2 object-inspect: 1.12.3 object-keys: 1.1.1 object.assign: 4.1.4 - regexp.prototype.flags: 1.5.0 - safe-array-concat: 1.0.0 + regexp.prototype.flags: 1.4.3 safe-regex-test: 1.0.0 - string.prototype.trim: 1.2.7 string.prototype.trimend: 1.0.6 string.prototype.trimstart: 1.0.6 - typed-array-buffer: 1.0.0 - typed-array-byte-length: 1.0.0 - typed-array-byte-offset: 1.0.0 typed-array-length: 1.0.4 unbox-primitive: 1.0.2 - which-typed-array: 1.1.11 + which-typed-array: 1.1.9 dev: true /es-module-lexer@1.3.0: @@ -8542,7 +8686,7 @@ packages: resolution: {integrity: sha512-g3OMbtlwY3QewlqAiMLI47KywjWZoEytKr8pf6iTC8uJq5bIAH52Z9pnQ8pVL6whrCto53JZDuUIsifGeLorTg==} engines: {node: '>= 0.4'} dependencies: - get-intrinsic: 1.2.1 + get-intrinsic: 1.2.0 has: 1.0.3 has-tostringtag: 1.0.0 dev: true @@ -8599,64 +8743,64 @@ packages: es6-symbol: 3.1.3 dev: true - /esbuild@0.17.19: - resolution: {integrity: sha512-XQ0jAPFkK/u3LcVRcvVHQcTIqD6E2H1fvZMA5dQPSOWb3suUbWbfbRf94pjc0bNzRYLfIrDRQXr7X+LHIm5oHw==} + /esbuild@0.17.18: + resolution: {integrity: sha512-z1lix43jBs6UKjcZVKOw2xx69ffE2aG0PygLL5qJ9OS/gy0Ewd1gW/PUQIOIQGXBHWNywSc0floSKoMFF8aK2w==} engines: {node: '>=12'} hasBin: true requiresBuild: true optionalDependencies: - '@esbuild/android-arm': 0.17.19 - '@esbuild/android-arm64': 0.17.19 - '@esbuild/android-x64': 0.17.19 - '@esbuild/darwin-arm64': 0.17.19 - '@esbuild/darwin-x64': 0.17.19 - '@esbuild/freebsd-arm64': 0.17.19 - '@esbuild/freebsd-x64': 0.17.19 - '@esbuild/linux-arm': 0.17.19 - '@esbuild/linux-arm64': 0.17.19 - '@esbuild/linux-ia32': 0.17.19 - '@esbuild/linux-loong64': 0.17.19 - '@esbuild/linux-mips64el': 0.17.19 - '@esbuild/linux-ppc64': 0.17.19 - '@esbuild/linux-riscv64': 0.17.19 - '@esbuild/linux-s390x': 0.17.19 - '@esbuild/linux-x64': 0.17.19 - '@esbuild/netbsd-x64': 0.17.19 - '@esbuild/openbsd-x64': 0.17.19 - '@esbuild/sunos-x64': 0.17.19 - '@esbuild/win32-arm64': 0.17.19 - '@esbuild/win32-ia32': 0.17.19 - '@esbuild/win32-x64': 0.17.19 - dev: true - - /esbuild@0.18.20: - resolution: {integrity: sha512-ceqxoedUrcayh7Y7ZX6NdbbDzGROiyVBgC4PriJThBKSVPWnnFHZAkfI1lJT8QFkOwH4qOS2SJkS4wvpGl8BpA==} + '@esbuild/android-arm': 0.17.18 + '@esbuild/android-arm64': 0.17.18 + '@esbuild/android-x64': 0.17.18 + '@esbuild/darwin-arm64': 0.17.18 + '@esbuild/darwin-x64': 0.17.18 + '@esbuild/freebsd-arm64': 0.17.18 + '@esbuild/freebsd-x64': 0.17.18 + '@esbuild/linux-arm': 0.17.18 + '@esbuild/linux-arm64': 0.17.18 + '@esbuild/linux-ia32': 0.17.18 + '@esbuild/linux-loong64': 0.17.18 + '@esbuild/linux-mips64el': 0.17.18 + '@esbuild/linux-ppc64': 0.17.18 + '@esbuild/linux-riscv64': 0.17.18 + '@esbuild/linux-s390x': 0.17.18 + '@esbuild/linux-x64': 0.17.18 + '@esbuild/netbsd-x64': 0.17.18 + '@esbuild/openbsd-x64': 0.17.18 + '@esbuild/sunos-x64': 0.17.18 + '@esbuild/win32-arm64': 0.17.18 + '@esbuild/win32-ia32': 0.17.18 + '@esbuild/win32-x64': 0.17.18 + dev: true + + /esbuild@0.18.11: + resolution: {integrity: sha512-i8u6mQF0JKJUlGR3OdFLKldJQMMs8OqM9Cc3UCi9XXziJ9WERM5bfkHaEAy0YAvPRMgqSW55W7xYn84XtEFTtA==} engines: {node: '>=12'} hasBin: true requiresBuild: true optionalDependencies: - '@esbuild/android-arm': 0.18.20 - '@esbuild/android-arm64': 0.18.20 - '@esbuild/android-x64': 0.18.20 - '@esbuild/darwin-arm64': 0.18.20 - '@esbuild/darwin-x64': 0.18.20 - '@esbuild/freebsd-arm64': 0.18.20 - '@esbuild/freebsd-x64': 0.18.20 - '@esbuild/linux-arm': 0.18.20 - '@esbuild/linux-arm64': 0.18.20 - '@esbuild/linux-ia32': 0.18.20 - '@esbuild/linux-loong64': 0.18.20 - '@esbuild/linux-mips64el': 0.18.20 - '@esbuild/linux-ppc64': 0.18.20 - '@esbuild/linux-riscv64': 0.18.20 - '@esbuild/linux-s390x': 0.18.20 - '@esbuild/linux-x64': 0.18.20 - '@esbuild/netbsd-x64': 0.18.20 - '@esbuild/openbsd-x64': 0.18.20 - '@esbuild/sunos-x64': 0.18.20 - '@esbuild/win32-arm64': 0.18.20 - '@esbuild/win32-ia32': 0.18.20 - '@esbuild/win32-x64': 0.18.20 + '@esbuild/android-arm': 0.18.11 + '@esbuild/android-arm64': 0.18.11 + '@esbuild/android-x64': 0.18.11 + '@esbuild/darwin-arm64': 0.18.11 + '@esbuild/darwin-x64': 0.18.11 + '@esbuild/freebsd-arm64': 0.18.11 + '@esbuild/freebsd-x64': 0.18.11 + '@esbuild/linux-arm': 0.18.11 + '@esbuild/linux-arm64': 0.18.11 + '@esbuild/linux-ia32': 0.18.11 + '@esbuild/linux-loong64': 0.18.11 + '@esbuild/linux-mips64el': 0.18.11 + '@esbuild/linux-ppc64': 0.18.11 + '@esbuild/linux-riscv64': 0.18.11 + '@esbuild/linux-s390x': 0.18.11 + '@esbuild/linux-x64': 0.18.11 + '@esbuild/netbsd-x64': 0.18.11 + '@esbuild/openbsd-x64': 0.18.11 + '@esbuild/sunos-x64': 0.18.11 + '@esbuild/win32-arm64': 0.18.11 + '@esbuild/win32-ia32': 0.18.11 + '@esbuild/win32-x64': 0.18.11 dev: true /esbuild@0.19.0: @@ -8730,14 +8874,15 @@ packages: source-map: 0.1.43 dev: true - /escodegen@2.1.0: - resolution: {integrity: sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w==} + /escodegen@2.0.0: + resolution: {integrity: sha512-mmHKys/C8BFUGI+MAWNcSYoORYLMdPzjrknd2Vc+bUsjN5bXcr8EhrNB+UTqfL1y3I9c4fw2ihgtMPQLBRiQxw==} engines: {node: '>=6.0'} hasBin: true dependencies: esprima: 4.0.1 estraverse: 5.3.0 esutils: 2.0.3 + optionator: 0.8.3 optionalDependencies: source-map: 0.6.1 dev: true @@ -8763,10 +8908,10 @@ packages: /eslint-plugin-html@7.1.0: resolution: {integrity: sha512-fNLRraV/e6j8e3XYOC9xgND4j+U7b1Rq+OygMlLcMg+wI/IpVbF+ubQa3R78EjKB9njT6TQOlcK5rFKBVVtdfg==} dependencies: - htmlparser2: 8.0.2 + htmlparser2: 8.0.1 dev: true - /eslint-plugin-jest@27.2.1(@typescript-eslint/eslint-plugin@6.7.2)(eslint@8.39.0)(jest@29.5.0)(typescript@5.1.3): + /eslint-plugin-jest@27.2.1(@typescript-eslint/eslint-plugin@6.7.4)(eslint@8.39.0)(jest@29.5.0)(typescript@5.1.3): resolution: {integrity: sha512-l067Uxx7ZT8cO9NJuf+eJHvt6bqJyz2Z29wykyEdz/OtmcELQl2MQGQLX8J94O1cSJWAwUSEvCjwjA7KEK3Hmg==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} peerDependencies: @@ -8779,7 +8924,7 @@ packages: jest: optional: true dependencies: - '@typescript-eslint/eslint-plugin': 6.7.2(@typescript-eslint/parser@6.7.2)(eslint@8.39.0)(typescript@5.1.3) + '@typescript-eslint/eslint-plugin': 6.7.4(@typescript-eslint/parser@6.7.4)(eslint@8.39.0)(typescript@5.1.3) '@typescript-eslint/utils': 5.59.0(eslint@8.39.0)(typescript@5.1.3) eslint: 8.39.0 jest: 29.5.0(@types/node@18.16.0)(ts-node@10.9.1) @@ -8801,7 +8946,7 @@ packages: escape-string-regexp: 4.0.0 eslint: 8.39.0 esquery: 1.5.0 - semver: 7.5.4 + semver: 7.5.3 spdx-expression-parse: 3.0.1 transitivePeerDependencies: - supports-color @@ -8855,7 +9000,7 @@ packages: peerDependencies: eslint: '>=8.38.0' dependencies: - '@babel/helper-validator-identifier': 7.22.5 + '@babel/helper-validator-identifier': 7.19.1 '@eslint-community/eslint-utils': 4.4.0(eslint@8.39.0) ci-info: 3.8.0 clean-regexp: 1.0.0 @@ -8867,10 +9012,10 @@ packages: lodash: 4.17.21 pluralize: 8.0.0 read-pkg-up: 7.0.1 - regexp-tree: 0.1.27 + regexp-tree: 0.1.24 regjsparser: 0.10.0 safe-regex: 2.1.1 - semver: 7.5.4 + semver: 7.5.3 strip-indent: 3.0.0 dev: true @@ -8882,16 +9027,16 @@ packages: estraverse: 4.3.0 dev: true - /eslint-scope@7.2.2: - resolution: {integrity: sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==} + /eslint-scope@7.2.0: + resolution: {integrity: sha512-DYj5deGlHBfMt15J7rdtyKNq/Nqlv5KfU4iodrQ019XESsRnwXH9KAE0y3cwtUHDo2ob7CypAnCqefh6vioWRw==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: esrecurse: 4.3.0 estraverse: 5.3.0 dev: true - /eslint-visitor-keys@3.4.3: - resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==} + /eslint-visitor-keys@3.4.0: + resolution: {integrity: sha512-HPpKPUBQcAsZOsHAFwTtIKcYlCje62XB7SEAcxjtmW6TD1WVpkS6i6/hOVtTZIl4zGj/mBqpFVGvaDneik+VoQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dev: true @@ -8906,10 +9051,10 @@ packages: hasBin: true dependencies: '@eslint-community/eslint-utils': 4.4.0(eslint@8.39.0) - '@eslint-community/regexpp': 4.6.2 - '@eslint/eslintrc': 2.1.2 + '@eslint-community/regexpp': 4.5.0 + '@eslint/eslintrc': 2.0.2 '@eslint/js': 8.39.0 - '@humanwhocodes/config-array': 0.11.10 + '@humanwhocodes/config-array': 0.11.8 '@humanwhocodes/module-importer': 1.0.1 '@nodelib/fs.walk': 1.2.8 ajv: 6.12.6 @@ -8918,30 +9063,30 @@ packages: debug: 4.3.4(supports-color@8.1.1) doctrine: 3.0.0 escape-string-regexp: 4.0.0 - eslint-scope: 7.2.2 - eslint-visitor-keys: 3.4.3 - espree: 9.6.1 + eslint-scope: 7.2.0 + eslint-visitor-keys: 3.4.0 + espree: 9.5.1 esquery: 1.5.0 esutils: 2.0.3 fast-deep-equal: 3.1.3 file-entry-cache: 6.0.1 find-up: 5.0.0 glob-parent: 6.0.2 - globals: 13.21.0 + globals: 13.19.0 grapheme-splitter: 1.0.4 - ignore: 5.2.4 + ignore: 5.2.0 import-fresh: 3.3.0 imurmurhash: 0.1.4 is-glob: 4.0.3 is-path-inside: 3.0.3 - js-sdsl: 4.4.2 + js-sdsl: 4.1.4 js-yaml: 4.1.0 json-stable-stringify-without-jsonify: 1.0.1 levn: 0.4.1 lodash.merge: 4.6.2 minimatch: 3.1.2 natural-compare: 1.4.0 - optionator: 0.9.3 + optionator: 0.9.1 strip-ansi: 6.0.1 strip-json-comments: 3.1.1 text-table: 0.2.0 @@ -8949,59 +9094,13 @@ packages: - supports-color dev: true - /eslint@8.47.0: - resolution: {integrity: sha512-spUQWrdPt+pRVP1TTJLmfRNJJHHZryFmptzcafwSvHsceV81djHOdnEeDmkdotZyLNjDhrOasNK8nikkoG1O8Q==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - hasBin: true - dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.47.0) - '@eslint-community/regexpp': 4.6.2 - '@eslint/eslintrc': 2.1.2 - '@eslint/js': 8.47.0 - '@humanwhocodes/config-array': 0.11.10 - '@humanwhocodes/module-importer': 1.0.1 - '@nodelib/fs.walk': 1.2.8 - ajv: 6.12.6 - chalk: 4.1.2 - cross-spawn: 7.0.3 - debug: 4.3.4(supports-color@8.1.1) - doctrine: 3.0.0 - escape-string-regexp: 4.0.0 - eslint-scope: 7.2.2 - eslint-visitor-keys: 3.4.3 - espree: 9.6.1 - esquery: 1.5.0 - esutils: 2.0.3 - fast-deep-equal: 3.1.3 - file-entry-cache: 6.0.1 - find-up: 5.0.0 - glob-parent: 6.0.2 - globals: 13.21.0 - graphemer: 1.4.0 - ignore: 5.2.4 - imurmurhash: 0.1.4 - is-glob: 4.0.3 - is-path-inside: 3.0.3 - js-yaml: 4.1.0 - json-stable-stringify-without-jsonify: 1.0.1 - levn: 0.4.1 - lodash.merge: 4.6.2 - minimatch: 3.1.2 - natural-compare: 1.4.0 - optionator: 0.9.3 - strip-ansi: 6.0.1 - text-table: 0.2.0 - transitivePeerDependencies: - - supports-color - dev: true - - /espree@9.6.1: - resolution: {integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==} + /espree@9.5.1: + resolution: {integrity: sha512-5yxtHSZXRSW5pvv3hAlXM5+/Oswi1AUFqBmbibKb5s6bp3rGIDkyXU6xCoyuuLhijr4SFwPrXRoZjz0AZDN9tg==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: acorn: 8.10.0 acorn-jsx: 5.3.2(acorn@8.10.0) - eslint-visitor-keys: 3.4.3 + eslint-visitor-keys: 3.4.0 dev: true /esprima@1.1.1: @@ -9055,7 +9154,7 @@ packages: /estree-walker@3.0.3: resolution: {integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==} dependencies: - '@types/estree': 1.0.1 + '@types/estree': 1.0.0 dev: true /esutils@1.0.0: @@ -9151,8 +9250,8 @@ packages: strip-final-newline: 2.0.0 dev: true - /execa@7.2.0: - resolution: {integrity: sha512-UduyVP7TLB5IcAQl+OzLyLcS/l32W/GLg+AhHJ+ow40FOk2U3SAllPwR44v4vmdFwIWqpdwxxpQbF1n5ta9seA==} + /execa@7.1.1: + resolution: {integrity: sha512-wH0eMf/UXckdUYnO21+HDztteVv05rq2GXksxT4fCGeHkBhw1DROXh40wcjMcRqDOWE7iPJ4n3M7e2+YFP+76Q==} engines: {node: ^14.18.0 || ^16.14.0 || >=18.0.0} dependencies: cross-spawn: 7.0.3 @@ -9178,16 +9277,15 @@ packages: engines: {node: '>= 0.8.0'} dev: true - /expect@29.6.2: - resolution: {integrity: sha512-iAErsLxJ8C+S02QbLAwgSGSezLQK+XXRDt8IuFXFpwCNw2ECmzZSmjKcCaFVp5VRMk+WAvz6h6jokzEzBFZEuA==} + /expect@29.5.0: + resolution: {integrity: sha512-yM7xqUrCO2JdpFo4XpM82t+PJBFybdqoQuJLDGeDX2ij8NZzqRHyu3Hp188/JX7SWqud+7t4MUdvcgGBICMHZg==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@jest/expect-utils': 29.6.2 - '@types/node': 18.17.6 + '@jest/expect-utils': 29.5.0 jest-get-type: 29.4.3 - jest-matcher-utils: 29.6.2 - jest-message-util: 29.6.2 - jest-util: 29.6.2 + jest-matcher-utils: 29.5.0 + jest-message-util: 29.5.0 + jest-util: 29.5.0 dev: true /express@4.18.2: @@ -9198,7 +9296,7 @@ packages: array-flatten: 1.1.1 body-parser: 1.20.1 content-disposition: 0.5.4 - content-type: 1.0.5 + content-type: 1.0.4 cookie: 0.5.0 cookie-signature: 1.0.6 debug: 2.6.9 @@ -9304,7 +9402,7 @@ packages: engines: {node: '>= 10.0.0'} dependencies: ajv: 6.12.6 - deepmerge: 4.3.1 + deepmerge: 4.2.2 rfdc: 1.3.0 string-similarity: 4.0.4 dev: true @@ -9313,8 +9411,8 @@ packages: resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==} dev: true - /fast-redact@3.3.0: - resolution: {integrity: sha512-6T5V1QK1u4oF+ATxs1lWUmlEk6P2T9HqJG3e2DnHOdVgZy2rFJBoEnrIedcTXlkAHU/zKC+7KETJ+KGGKwxgMQ==} + /fast-redact@3.1.2: + resolution: {integrity: sha512-+0em+Iya9fKGfEQGcd62Yv6onjBmmhV1uh86XVfOU8VwAe6kaFdQCWI9s0/Nnugx5Vd9tdbZ7e6gE2tR9dzXdw==} engines: {node: '>=6'} /fast-safe-stringify@2.1.1: @@ -9351,14 +9449,14 @@ packages: proxy-addr: 2.0.7 rfdc: 1.3.0 secure-json-parse: 2.7.0 - semver: 7.3.8 + semver: 7.5.3 tiny-lru: 8.0.2 transitivePeerDependencies: - supports-color dev: true - /fastq@1.15.0: - resolution: {integrity: sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==} + /fastq@1.13.0: + resolution: {integrity: sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==} dependencies: reusify: 1.0.4 @@ -9461,14 +9559,6 @@ packages: pkg-dir: 4.2.0 dev: true - /find-cache-dir@4.0.0: - resolution: {integrity: sha512-9ZonPT4ZAK4a+1pUPVPZJapbi7O5qbbJPdYw/NOQWZZbVLdDTYM3A4R9z/DpAM08IDaFGsvPgiGZ82WEwUDWjg==} - engines: {node: '>=14.16'} - dependencies: - common-path-prefix: 3.0.0 - pkg-dir: 7.0.0 - dev: true - /find-my-way@4.5.1: resolution: {integrity: sha512-kE0u7sGoUFbMXcOG/xpkmz4sRLCklERnBcg7Ftuu1iAxsfEt2S46RLJ3Sq7vshsEy2wJT2hZxE58XZK27qa8kg==} engines: {node: '>=10'} @@ -9513,14 +9603,6 @@ packages: path-exists: 4.0.0 dev: true - /find-up@6.3.0: - resolution: {integrity: sha512-v2ZsoEuVHYy8ZIlYqwPe/39Cy+cFDzp4dXPaxNvkEuouymu+2Jbz0PxpKarJHYJTmv2HWT3O382qY8l4jMWthw==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - dependencies: - locate-path: 7.2.0 - path-exists: 5.0.0 - dev: true - /flat-cache@3.0.4: resolution: {integrity: sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==} engines: {node: ^10.12.0 || >=12.0.0} @@ -9578,7 +9660,7 @@ packages: engines: {node: '>=14'} dependencies: cross-spawn: 7.0.3 - signal-exit: 4.1.0 + signal-exit: 4.0.1 dev: true /forever-agent@0.6.1: @@ -9637,7 +9719,7 @@ packages: resolution: {integrity: sha512-4YxRvMi4P5C3WQTvdRfrv5UVqbISpqjORFQAW5QPiKAauaxNCwrEdIi6pG3tDFhKKpMen+enEhHIzB/tvIO+/w==} engines: {node: '>=14.14'} dependencies: - graceful-fs: 4.2.11 + graceful-fs: 4.2.10 jsonfile: 6.1.0 universalify: 2.0.0 dev: true @@ -9646,7 +9728,7 @@ packages: resolution: {integrity: sha512-MGIE4HOvQCeUCzmlHs0vXpih4ysz4wg9qiSAu6cd42lVwPbTM1TjV7RusoyQqMmk/95gdQZX72u+YW+c3eEpFQ==} engines: {node: '>=14.14'} dependencies: - graceful-fs: 4.2.11 + graceful-fs: 4.2.10 jsonfile: 6.1.0 universalify: 2.0.0 dev: true @@ -9655,7 +9737,7 @@ packages: resolution: {integrity: sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==} engines: {node: '>=6 <7 || >=8'} dependencies: - graceful-fs: 4.2.11 + graceful-fs: 4.2.10 jsonfile: 4.0.0 universalify: 0.1.2 dev: true @@ -9665,13 +9747,13 @@ packages: engines: {node: '>=10'} dependencies: at-least-node: 1.0.0 - graceful-fs: 4.2.11 + graceful-fs: 4.2.10 jsonfile: 6.1.0 universalify: 2.0.0 dev: true - /fs-monkey@1.0.4: - resolution: {integrity: sha512-INM/fWAxMICjttnD0DX1rBvinKskj5G1w+oy/pnm9u/tSlnBrzFonJMcalKJ30P8RRsPzKcCG7Q8l0jx5Fh9YQ==} + /fs-monkey@1.0.3: + resolution: {integrity: sha512-cybjIfiiE+pTWicSCLFHSrXZ6EilF30oh91FDP9S2B051prEa7QWfrVTQm10/dDpswBDXZugPa1Ogu8Yh+HV0Q==} dev: true /fs.realpath@1.0.0: @@ -9693,7 +9775,7 @@ packages: dependencies: call-bind: 1.0.2 define-properties: 1.2.0 - es-abstract: 1.22.1 + es-abstract: 1.21.1 functions-have-names: 1.2.3 dev: true @@ -9720,12 +9802,11 @@ packages: resolution: {integrity: sha512-Hm0ixYtaSZ/V7C8FJrtZIuBBI+iSgL+1Aq82zSu8VQNB4S3Gk8e7Qs3VwBDJAhmRZcFqkl3tQu36g/Foh5I5ig==} dev: true - /get-intrinsic@1.2.1: - resolution: {integrity: sha512-2DcsyfABl+gVHEfCOaTrWgyt+tb6MSEGmKq+kI5HwLbIYgjgmMcV8KQ41uaKz1xxUcn9tJtgFbQUEVcEbd0FYw==} + /get-intrinsic@1.2.0: + resolution: {integrity: sha512-L049y6nFOuom5wGyRc3/gdTLO94dySVKRACj1RmJZBQXlbTMhtNIgkWkUHq+jYmZvKf14EW1EoJnnjbmoHij0Q==} dependencies: function-bind: 1.1.1 has: 1.0.3 - has-proto: 1.0.1 has-symbols: 1.0.3 dev: true @@ -9772,7 +9853,7 @@ packages: engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.2 - get-intrinsic: 1.2.1 + get-intrinsic: 1.2.0 dev: true /getos@3.2.1: @@ -9829,16 +9910,16 @@ packages: resolution: {integrity: sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==} dev: true - /glob@10.3.3: - resolution: {integrity: sha512-92vPiMb/iqpmEgsOoIDvTjc50wf9CCCvMzsi6W0JLPeUKE8TWP1a73PgqSrqy7iAZxaSD1YdzU7QZR5LF51MJw==} + /glob@10.2.2: + resolution: {integrity: sha512-Xsa0BcxIC6th9UwNjZkhrMtNo/MnyRL8jGCP+uEwhA5oFOCY1f2s1/oNKY47xQ0Bg5nkjsfAEIej1VeH62bDDQ==} engines: {node: '>=16 || 14 >=14.17'} hasBin: true dependencies: foreground-child: 3.1.1 - jackspeak: 2.3.0 + jackspeak: 2.1.1 minimatch: 9.0.3 - minipass: 7.0.3 - path-scurry: 1.10.1 + minipass: 5.0.0 + path-scurry: 1.7.0 dev: true /glob@7.1.6: @@ -9863,8 +9944,8 @@ packages: path-is-absolute: 1.0.1 dev: true - /glob@8.1.0: - resolution: {integrity: sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==} + /glob@8.0.3: + resolution: {integrity: sha512-ull455NHSHI/Y1FqGaaYFaLGkNMMJbavMrEGFXG/PGrg6y7sutWHUHrz6gy6WEBH6akM1M414dWKCNs+IhKdiQ==} engines: {node: '>=12'} dependencies: fs.realpath: 1.0.0 @@ -9881,8 +9962,8 @@ packages: ini: 1.3.8 dev: true - /global-dirs@3.0.1: - resolution: {integrity: sha512-NBcGGFbBA9s1VzD41QXDG+3++t9Mn5t1FpLdhESY6oKY4gYTFpX4wO3sqGUa0Srjtbfj3szX0RnemmrVRUdULA==} + /global-dirs@3.0.0: + resolution: {integrity: sha512-v8ho2DS5RiCjftj1nD9NmnfaOzTdud7RRnVd9kFNOjqZbISlx5DQ+OrTkywgd0dIt7oFCvKetZSHoHcP3sDdiA==} engines: {node: '>=10'} dependencies: ini: 2.0.0 @@ -9893,8 +9974,8 @@ packages: engines: {node: '>=4'} dev: true - /globals@13.21.0: - resolution: {integrity: sha512-ybyme3s4yy/t/3s35bewwXKOf7cvzfreG2lH0lZl0JB7I4GxRP2ghxOK/Nb9EkRXdbBXZLfq/p/0W2JUONB/Gg==} + /globals@13.19.0: + resolution: {integrity: sha512-dkQ957uSRWHw7CFXLUtUHQI3g3aWApYhfNR2O6jn/907riyTYKVBmxYVROkBcY614FSSeSJh7Xm7SrUWCxvJMQ==} engines: {node: '>=8'} dependencies: type-fest: 0.20.2 @@ -9907,6 +9988,10 @@ packages: define-properties: 1.2.0 dev: true + /globalyzer@0.1.0: + resolution: {integrity: sha512-40oNTM9UfG6aBmuKxk/giHn5nQ8RVz/SS4Ir6zgzOv9/qC3kKZ9v4etGTcJbEl/NyVQH7FGU7d+X1egr57Md2Q==} + dev: true + /globby@11.0.4: resolution: {integrity: sha512-9O4MVG9ioZJ08ffbcyVYyLOJLk5JQ688pJ4eMGLpdWLHq/Wr1D9BlriLQyL0E+jbkuePVZXYFj47QM/v093wHg==} engines: {node: '>=10'} @@ -9914,7 +9999,7 @@ packages: array-union: 2.1.0 dir-glob: 3.0.1 fast-glob: 3.3.1 - ignore: 5.2.4 + ignore: 5.2.0 merge2: 1.4.1 slash: 3.0.0 dev: true @@ -9926,7 +10011,7 @@ packages: array-union: 2.1.0 dir-glob: 3.0.1 fast-glob: 3.3.1 - ignore: 5.2.4 + ignore: 5.2.0 merge2: 1.4.1 slash: 3.0.0 dev: true @@ -9937,11 +10022,15 @@ packages: dependencies: dir-glob: 3.0.1 fast-glob: 3.3.1 - ignore: 5.2.4 + ignore: 5.2.0 merge2: 1.4.1 slash: 4.0.0 dev: true + /globrex@0.1.2: + resolution: {integrity: sha512-uHJgbwAMwNFf5mLst7IWLNg14x1CkeqglJb/K3doi4dw6q2IvAAmM/Y81kevy83wP+Sst+nutFTYOGg3d1lsxg==} + dev: true + /glur@1.1.2: resolution: {integrity: sha512-l+8esYHTKOx2G/Aao4lEQ0bnHWg4fWtJbVoZZT9Knxi01pB8C80BR85nONLFwkkQoFRCmXY+BUcGZN3yZ2QsRA==} dev: true @@ -9949,19 +10038,19 @@ packages: /gopd@1.0.1: resolution: {integrity: sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==} dependencies: - get-intrinsic: 1.2.1 + get-intrinsic: 1.2.0 dev: true - /got@11.8.6: - resolution: {integrity: sha512-6tfZ91bOr7bOXnK7PRDCGBLa1H4U080YHNaAQ2KsMGlLEzRbk44nsZF2E1IeRc3vtJHPVbKCYgdFbaGO2ljd8g==} + /got@11.8.5: + resolution: {integrity: sha512-o0Je4NvQObAuZPHLFoRSkdG2lTgtcynqymzg2Vupdx6PorhaT5MCbIyXG6d4D94kk8ZG57QeosgdiqfJWhEhlQ==} engines: {node: '>=10.19.0'} dependencies: '@sindresorhus/is': 4.6.0 '@szmarczak/http-timer': 4.0.6 - '@types/cacheable-request': 6.0.3 + '@types/cacheable-request': 6.0.2 '@types/responselike': 1.0.0 cacheable-lookup: 5.0.4 - cacheable-request: 7.0.4 + cacheable-request: 7.0.2 decompress-response: 6.0.0 http2-wrapper: 1.0.3 lowercase-keys: 2.0.0 @@ -9969,8 +10058,8 @@ packages: responselike: 2.0.1 dev: true - /graceful-fs@4.2.11: - resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} + /graceful-fs@4.2.10: + resolution: {integrity: sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==} dev: true /grapheme-splitter@1.0.4: @@ -9992,8 +10081,8 @@ packages: resolution: {integrity: sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg==} dev: true - /handlebars@4.7.8: - resolution: {integrity: sha512-vafaFqs8MZkRrSX7sFVUdo3ap/eNiLnb4IakshzvP56X5Nr1iGKAIqdX6tMlm6HcNRIkr6AxO5jFEoJzzpT8aQ==} + /handlebars@4.7.7: + resolution: {integrity: sha512-aAcXm5OAfE/8IXkcZvCepKU3VzW1/39Fb5ZuqMtgI/hT8X2YgoMvBY5dLhq/cpOvw7Lk1nK/UF71aLG/ZnVYRA==} engines: {node: '>=0.4.7'} hasBin: true dependencies: @@ -10002,7 +10091,7 @@ packages: source-map: 0.6.1 wordwrap: 1.0.0 optionalDependencies: - uglify-js: 3.17.4 + uglify-js: 3.17.3 dev: true /hard-rejection@2.1.0: @@ -10038,7 +10127,7 @@ packages: /has-property-descriptors@1.0.0: resolution: {integrity: sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==} dependencies: - get-intrinsic: 1.2.1 + get-intrinsic: 1.2.0 dev: true /has-proto@1.0.1: @@ -10096,7 +10185,7 @@ packages: dependencies: inherits: 2.0.4 obuf: 1.1.2 - readable-stream: 2.3.8 + readable-stream: 2.3.7 wbuf: 1.7.3 dev: true @@ -10107,8 +10196,8 @@ packages: whatwg-encoding: 2.0.0 dev: true - /html-entities@2.4.0: - resolution: {integrity: sha512-igBTJcNNNhvZFRtm8uA6xMY6xYleeDwn3PeBCkDz7tHttv4F2hsDI2aPgNERWzvRcNYHNT3ymRaQzllmXj4YsQ==} + /html-entities@2.3.3: + resolution: {integrity: sha512-DV5Ln36z34NNTDgnz0EWGBLZENelNAtkiFA4kyNOG2tDI6Mz1uSWiq1wAKdyjnJwyDiDO7Fa2SO1CTxPXL8VxA==} dev: true /html-escaper@2.0.2: @@ -10119,17 +10208,17 @@ packages: resolution: {integrity: sha512-9gux8QhvjRO/erSnDPv28noDZcPZmYE7e1vFsBLKLlRlKDSqNJYebj6Qz1TGd5lsRV+X+xYyjCKjuZdABinWjA==} dev: false - /htmlparser2@8.0.2: - resolution: {integrity: sha512-GYdjWKDkbRLkZ5geuHs5NY1puJ+PXwP7+fHPRz06Eirsb9ugf6d8kkXav6ADhcODhFFPMIXyxkxSuMf3D6NCFA==} + /htmlparser2@8.0.1: + resolution: {integrity: sha512-4lVbmc1diZC7GUJQtRQ5yBAeUCL1exyMwmForWkRLnwyzWBFxN633SALPMGYaWZvKe9j1pRZJpauvmxENSp/EA==} dependencies: domelementtype: 2.3.0 domhandler: 5.0.3 - domutils: 3.1.0 - entities: 4.5.0 + domutils: 3.0.1 + entities: 4.4.0 dev: true - /http-cache-semantics@4.1.1: - resolution: {integrity: sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==} + /http-cache-semantics@4.1.0: + resolution: {integrity: sha512-carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ==} dev: true /http-deceiver@1.2.7: @@ -10172,7 +10261,7 @@ packages: - supports-color dev: true - /http-proxy-middleware@2.0.6(@types/express@4.17.17): + /http-proxy-middleware@2.0.6(@types/express@4.17.14): resolution: {integrity: sha512-ya/UeJ6HVBYxrgYotAZo1KvPWlgB48kUJLDePFeneHsVujFaW5WNj2NgWCAE//B1Dl02BIfYlpNgBy8Kf8Rjmw==} engines: {node: '>=12.0.0'} peerDependencies: @@ -10181,8 +10270,8 @@ packages: '@types/express': optional: true dependencies: - '@types/express': 4.17.17 - '@types/http-proxy': 1.17.11 + '@types/express': 4.17.14 + '@types/http-proxy': 1.17.9 http-proxy: 1.18.1 is-glob: 4.0.3 is-plain-obj: 3.0.0 @@ -10228,7 +10317,7 @@ packages: cors: 2.8.5 express: 4.18.2 spdy: 4.0.2 - uglify-js: 3.17.4 + uglify-js: 3.17.3 transitivePeerDependencies: - supports-color dev: true @@ -10284,8 +10373,8 @@ packages: /ieee754@1.2.1: resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==} - /ignore@5.2.4: - resolution: {integrity: sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==} + /ignore@5.2.0: + resolution: {integrity: sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==} engines: {node: '>= 4'} dev: true @@ -10361,7 +10450,7 @@ packages: resolution: {integrity: sha512-Y+R5hJrzs52QCG2laLn4udYVnxsfny9CpOhNhUvk/SSSVyF6T27FzRbF0sroPidSu3X8oEAkOn2K804mjpt6UQ==} engines: {node: '>= 0.4'} dependencies: - get-intrinsic: 1.2.1 + get-intrinsic: 1.2.0 has: 1.0.3 side-channel: 1.0.4 dev: true @@ -10385,8 +10474,8 @@ packages: engines: {node: '>= 0.10'} dev: true - /ipaddr.js@2.1.0: - resolution: {integrity: sha512-LlbxQ7xKzfBusov6UMi4MFpEg0m+mAm9xyNGEduwXMEDuf4WfzB/RZwMVYEd7IKGvh4IUkEXYxtAVu9T3OelJQ==} + /ipaddr.js@2.0.1: + resolution: {integrity: sha512-1qTgH9NG+IIJ4yfKs2e6Pp1bZg8wbDbKHT21HrLIeYBTRLgMYKnMTPAuI3Lcs61nfx5h1xlXnbJtH1kX5/d/ng==} engines: {node: '>= 10'} dev: true @@ -10401,12 +10490,12 @@ packages: is-decimal: 1.0.4 dev: true - /is-array-buffer@3.0.2: - resolution: {integrity: sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w==} + /is-array-buffer@3.0.1: + resolution: {integrity: sha512-ASfLknmY8Xa2XtB4wmbz13Wu202baeA18cJBCeCy0wXUHZF0IPyVEXqKEcd+t2fNSLLL1vC6k7lxZEojNbISXQ==} dependencies: call-bind: 1.0.2 - get-intrinsic: 1.2.1 - is-typed-array: 1.1.12 + get-intrinsic: 1.2.0 + is-typed-array: 1.1.10 dev: true /is-arrayish@0.2.1: @@ -10461,8 +10550,14 @@ packages: ci-info: 3.8.0 dev: true - /is-core-module@2.13.0: - resolution: {integrity: sha512-Z7dk6Qo8pOCp3l4tsX2C5ZVas4V+UxwQodwZhLopL91TX8UyyHEXafPcyoeeWuLrwzHcr3igO78wNLwHJHsMCQ==} + /is-core-module@2.10.0: + resolution: {integrity: sha512-Erxj2n/LDAZ7H8WNJXd9tw38GYM3dv8rk8Zcs+jJuxYTW7sozH+SS8NtrSjVL1/vpLvWi1hxy96IzjJ3EHTJJg==} + dependencies: + has: 1.0.3 + dev: true + + /is-core-module@2.12.1: + resolution: {integrity: sha512-Q4ZuBAe2FUsKtyQJoQHlvP8OvBERxO3jEmy1I7hcRXcJBGGHFh/aJBswbXuS9sgrDH2QUO8ilkwNPHvHMd8clg==} dependencies: has: 1.0.3 @@ -10483,12 +10578,6 @@ packages: hasBin: true dev: true - /is-docker@3.0.0: - resolution: {integrity: sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - hasBin: true - dev: true - /is-extglob@2.1.1: resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} engines: {node: '>=0.10.0'} @@ -10518,19 +10607,11 @@ packages: resolution: {integrity: sha512-gyPJuv83bHMpocVYoqof5VDiZveEoGoFL8m3BXNb2VW8Xs+rz9kqO8LOQ5DH6EsuvilT1ApazU0pyl+ytbPtlw==} dev: true - /is-inside-container@1.0.0: - resolution: {integrity: sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA==} - engines: {node: '>=14.16'} - hasBin: true - dependencies: - is-docker: 3.0.0 - dev: true - /is-installed-globally@0.4.0: resolution: {integrity: sha512-iwGqO3J21aaSkC7jWnHP/difazwS7SFeIqxv6wEtLU8Y5KlzFTjyqcSIT0d8s4+dDhKytsk9PJZ2BkS5eZwQRQ==} engines: {node: '>=10'} dependencies: - global-dirs: 3.0.1 + global-dirs: 3.0.0 is-path-inside: 3.0.3 dev: true @@ -10659,11 +10740,15 @@ packages: text-extensions: 1.9.0 dev: true - /is-typed-array@1.1.12: - resolution: {integrity: sha512-Z14TF2JNG8Lss5/HMqt0//T9JeHXttXy5pH/DBU4vi98ozO2btxzq9MwYDZYnKwU8nRsz/+GVFVRDq3DkVuSPg==} + /is-typed-array@1.1.10: + resolution: {integrity: sha512-PJqgEHiWZvMpaFZ3uTc8kHPM4+4ADTlDniuQL7cU/UDA0Ql7F70yGfHph3cLNe+c9toaigv+DFzTJKhc2CtO6A==} engines: {node: '>= 0.4'} dependencies: - which-typed-array: 1.1.11 + available-typed-arrays: 1.0.5 + call-bind: 1.0.2 + for-each: 0.3.3 + gopd: 1.0.1 + has-tostringtag: 1.0.0 dev: true /is-typedarray@1.0.0: @@ -10697,10 +10782,6 @@ packages: resolution: {integrity: sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==} dev: true - /isarray@2.0.5: - resolution: {integrity: sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==} - dev: true - /isexe@2.0.0: resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} dev: true @@ -10735,10 +10816,23 @@ packages: resolution: {integrity: sha512-BXgQl9kf4WTCPCCpmFGoJkz/+uhvm7h7PFKUYxh7qarQd3ER33vHG//qaE8eN25l07YqZPpHXU9I09l/RD5aGQ==} engines: {node: '>=8'} dependencies: - '@babel/core': 7.22.10 + '@babel/core': 7.12.3 + '@istanbuljs/schema': 0.1.3 + istanbul-lib-coverage: 3.2.0 + semver: 6.3.0 + transitivePeerDependencies: + - supports-color + dev: true + + /istanbul-lib-instrument@5.2.0: + resolution: {integrity: sha512-6Lthe1hqXHBNsqvgDzGO6l03XNeu3CrG4RqQ1KM9+l5+jNGpEJfIELx1NS3SEHmJQA8np/u+E4EPRKRiu6m19A==} + engines: {node: '>=8'} + dependencies: + '@babel/core': 7.12.3 + '@babel/parser': 7.21.8 '@istanbuljs/schema': 0.1.3 istanbul-lib-coverage: 3.2.0 - semver: 6.3.1 + semver: 6.3.0 transitivePeerDependencies: - supports-color dev: true @@ -10747,11 +10841,11 @@ packages: resolution: {integrity: sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==} engines: {node: '>=8'} dependencies: - '@babel/core': 7.22.10 - '@babel/parser': 7.22.10 + '@babel/core': 7.12.3 + '@babel/parser': 7.21.8 '@istanbuljs/schema': 0.1.3 istanbul-lib-coverage: 3.2.0 - semver: 6.3.1 + semver: 6.3.0 transitivePeerDependencies: - supports-color dev: true @@ -10768,6 +10862,15 @@ packages: uuid: 8.3.2 dev: true + /istanbul-lib-report@3.0.0: + resolution: {integrity: sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw==} + engines: {node: '>=8'} + dependencies: + istanbul-lib-coverage: 3.2.0 + make-dir: 3.1.0 + supports-color: 7.2.0 + dev: true + /istanbul-lib-report@3.0.1: resolution: {integrity: sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==} engines: {node: '>=10'} @@ -10788,12 +10891,12 @@ packages: - supports-color dev: true - /istanbul-reports@3.1.6: - resolution: {integrity: sha512-TLgnMkKg3iTDsQ9PbPTdpfAK2DzjF9mqUG7RMgcQl8oFjad8ob4laGxv5XV5U9MAfx8D6tSJiUyuAwzLicaxlg==} + /istanbul-reports@3.1.5: + resolution: {integrity: sha512-nUsEMa9pBt/NOHqbcbeJEgqIlY/K7rVWUX6Lql2orY5e9roQOthbR3vtY4zzf2orPELg80fnxxk9zUyPlgwD1w==} engines: {node: '>=8'} dependencies: html-escaper: 2.0.2 - istanbul-lib-report: 3.0.1 + istanbul-lib-report: 3.0.0 dev: true /iterm2-version@4.2.0: @@ -10801,20 +10904,20 @@ packages: engines: {node: '>=8'} dependencies: app-path: 3.3.0 - plist: 3.1.0 + plist: 3.0.6 dev: true - /jackspeak@2.3.0: - resolution: {integrity: sha512-uKmsITSsF4rUWQHzqaRUuyAir3fZfW3f202Ee34lz/gZCi970CPZwyQXLGNgWJvvZbvFyzeyGq0+4fcG/mBKZg==} + /jackspeak@2.1.1: + resolution: {integrity: sha512-juf9stUEwUaILepraGOWIJTLwg48bUnBmRqd2ln2Os1sW987zeoj/hzhbvRB95oMuS2ZTpjULmdwHNX4rzZIZw==} engines: {node: '>=14'} dependencies: - '@isaacs/cliui': 8.0.2 + cliui: 8.0.1 optionalDependencies: '@pkgjs/parseargs': 0.11.0 dev: true - /jake@10.8.7: - resolution: {integrity: sha512-ZDi3aP+fG/LchyBzUM804VjddnwfSfsdeYkwt8NcbKRvo4rFkjhs456iLFn3k2ZUWvNe4i48WACDbza8fhq2+w==} + /jake@10.8.5: + resolution: {integrity: sha512-sVpxYeuAhWt0OTWITwT98oyV0GsXyMlXCF+3L1SuafBVUIr/uILGRB+NqwkzhgXKvoJpDIpQvqkUALgdmQsQxw==} engines: {node: '>=10'} hasBin: true dependencies: @@ -10832,37 +10935,36 @@ packages: p-limit: 3.1.0 dev: true - /jest-circus@29.6.2: - resolution: {integrity: sha512-G9mN+KOYIUe2sB9kpJkO9Bk18J4dTDArNFPwoZ7WKHKel55eKIS/u2bLthxgojwlf9NLCVQfgzM/WsOVvoC6Fw==} + /jest-circus@29.5.0: + resolution: {integrity: sha512-gq/ongqeQKAplVxqJmbeUOJJKkW3dDNPY8PjhJ5G0lBRvu0e3EWGxGy5cI4LAGA7gV2UHCtWBI4EMXK8c9nQKA==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@jest/environment': 29.6.2 - '@jest/expect': 29.6.2 - '@jest/test-result': 29.6.2 - '@jest/types': 29.6.1 - '@types/node': 18.17.6 + '@jest/environment': 29.5.0 + '@jest/expect': 29.5.0 + '@jest/test-result': 29.5.0 + '@jest/types': 29.5.0 + '@types/node': 18.16.0 chalk: 4.1.2 co: 4.6.0 - dedent: 1.5.1 + dedent: 0.7.0 is-generator-fn: 2.1.0 - jest-each: 29.6.2 - jest-matcher-utils: 29.6.2 - jest-message-util: 29.6.2 - jest-runtime: 29.6.2 - jest-snapshot: 29.6.2 - jest-util: 29.6.2 + jest-each: 29.5.0 + jest-matcher-utils: 29.5.0 + jest-message-util: 29.5.0 + jest-runtime: 29.5.0 + jest-snapshot: 29.5.0 + jest-util: 29.5.0 p-limit: 3.1.0 - pretty-format: 29.6.2 + pretty-format: 29.5.0 pure-rand: 6.0.2 slash: 3.0.0 - stack-utils: 2.0.6 + stack-utils: 2.0.5 transitivePeerDependencies: - - babel-plugin-macros - supports-color dev: true - /jest-cli@29.6.2(@types/node@18.16.0)(ts-node@10.9.1): - resolution: {integrity: sha512-TT6O247v6dCEX2UGHGyflMpxhnrL0DNqP2fRTKYm3nJJpCTfXX3GCMQPGFjXDoj0i5/Blp3jriKXFgdfmbYB6Q==} + /jest-cli@29.5.0(@types/node@18.16.0)(ts-node@10.9.1): + resolution: {integrity: sha512-L1KcP1l4HtfwdxXNFCL5bmUbLQiKrakMUriBEcc1Vfz6gx31ORKdreuWvmQVBit+1ss9NNR3yxjwfwzZNdQXJw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} hasBin: true peerDependencies: @@ -10871,27 +10973,26 @@ packages: node-notifier: optional: true dependencies: - '@jest/core': 29.6.2(ts-node@10.9.1) - '@jest/test-result': 29.6.2 - '@jest/types': 29.6.1 + '@jest/core': 29.5.0(ts-node@10.9.1) + '@jest/test-result': 29.5.0 + '@jest/types': 29.5.0 chalk: 4.1.2 exit: 0.1.2 - graceful-fs: 4.2.11 + graceful-fs: 4.2.10 import-local: 3.1.0 - jest-config: 29.6.2(@types/node@18.16.0)(ts-node@10.9.1) - jest-util: 29.6.2 - jest-validate: 29.6.2 + jest-config: 29.5.0(@types/node@18.16.0)(ts-node@10.9.1) + jest-util: 29.5.0 + jest-validate: 29.5.0 prompts: 2.4.2 yargs: 17.7.2 transitivePeerDependencies: - '@types/node' - - babel-plugin-macros - supports-color - ts-node dev: true - /jest-config@29.6.2(@types/node@18.16.0)(ts-node@10.9.1): - resolution: {integrity: sha512-VxwFOC8gkiJbuodG9CPtMRjBUNZEHxwfQXmIudSTzFWxaci3Qub1ddTRbFNQlD/zUeaifLndh/eDccFX4wCMQw==} + /jest-config@29.5.0(@types/node@18.16.0)(ts-node@10.9.1): + resolution: {integrity: sha512-kvDUKBnNJPNBmFFOhDbm59iu1Fii1Q6SxyhXfvylq3UTHbg6o7j/g8k2dZyXWLvfdKB1vAPxNZnMgtKJcmu3kA==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} peerDependencies: '@types/node': '*' @@ -10902,84 +11003,42 @@ packages: ts-node: optional: true dependencies: - '@babel/core': 7.22.10 - '@jest/test-sequencer': 29.6.2 - '@jest/types': 29.6.1 + '@babel/core': 7.12.3 + '@jest/test-sequencer': 29.5.0 + '@jest/types': 29.5.0 '@types/node': 18.16.0 - babel-jest: 29.6.2(@babel/core@7.22.10) - chalk: 4.1.2 - ci-info: 3.8.0 - deepmerge: 4.3.1 - glob: 7.2.3 - graceful-fs: 4.2.11 - jest-circus: 29.6.2 - jest-environment-node: 29.6.2 - jest-get-type: 29.4.3 - jest-regex-util: 29.4.3 - jest-resolve: 29.6.2 - jest-runner: 29.6.2 - jest-util: 29.6.2 - jest-validate: 29.6.2 - micromatch: 4.0.5 - parse-json: 5.2.0 - pretty-format: 29.6.2 - slash: 3.0.0 - strip-json-comments: 3.1.1 - ts-node: 10.9.1(@types/node@18.16.0)(typescript@5.1.3) - transitivePeerDependencies: - - babel-plugin-macros - - supports-color - dev: true - - /jest-config@29.6.2(@types/node@18.17.6)(ts-node@10.9.1): - resolution: {integrity: sha512-VxwFOC8gkiJbuodG9CPtMRjBUNZEHxwfQXmIudSTzFWxaci3Qub1ddTRbFNQlD/zUeaifLndh/eDccFX4wCMQw==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - peerDependencies: - '@types/node': '*' - ts-node: '>=9.0.0' - peerDependenciesMeta: - '@types/node': - optional: true - ts-node: - optional: true - dependencies: - '@babel/core': 7.22.10 - '@jest/test-sequencer': 29.6.2 - '@jest/types': 29.6.1 - '@types/node': 18.17.6 - babel-jest: 29.6.2(@babel/core@7.22.10) + babel-jest: 29.5.0(@babel/core@7.12.3) chalk: 4.1.2 ci-info: 3.8.0 - deepmerge: 4.3.1 + deepmerge: 4.2.2 glob: 7.2.3 - graceful-fs: 4.2.11 - jest-circus: 29.6.2 - jest-environment-node: 29.6.2 + graceful-fs: 4.2.10 + jest-circus: 29.5.0 + jest-environment-node: 29.5.0 jest-get-type: 29.4.3 jest-regex-util: 29.4.3 - jest-resolve: 29.6.2 - jest-runner: 29.6.2 - jest-util: 29.6.2 - jest-validate: 29.6.2 + jest-resolve: 29.5.0 + jest-runner: 29.5.0 + jest-util: 29.5.0 + jest-validate: 29.5.0 micromatch: 4.0.5 parse-json: 5.2.0 - pretty-format: 29.6.2 + pretty-format: 29.5.0 slash: 3.0.0 strip-json-comments: 3.1.1 ts-node: 10.9.1(@types/node@18.16.0)(typescript@5.1.3) transitivePeerDependencies: - - babel-plugin-macros - supports-color dev: true - /jest-diff@29.6.2: - resolution: {integrity: sha512-t+ST7CB9GX5F2xKwhwCf0TAR17uNDiaPTZnVymP9lw0lssa9vG+AFyDZoeIHStU3WowFFwT+ky+er0WVl2yGhA==} + /jest-diff@29.5.0: + resolution: {integrity: sha512-LtxijLLZBduXnHSniy0WMdaHjmQnt3g5sa16W4p0HqukYTTsyTW3GD1q41TyGl5YFXj/5B2U6dlh5FM1LIMgxw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: chalk: 4.1.2 diff-sequences: 29.4.3 jest-get-type: 29.4.3 - pretty-format: 29.6.2 + pretty-format: 29.5.0 dev: true /jest-docblock@29.4.3: @@ -10989,27 +11048,27 @@ packages: detect-newline: 3.1.0 dev: true - /jest-each@29.6.2: - resolution: {integrity: sha512-MsrsqA0Ia99cIpABBc3izS1ZYoYfhIy0NNWqPSE0YXbQjwchyt6B1HD2khzyPe1WiJA7hbxXy77ZoUQxn8UlSw==} + /jest-each@29.5.0: + resolution: {integrity: sha512-HM5kIJ1BTnVt+DQZ2ALp3rzXEl+g726csObrW/jpEGl+CDSSQpOJJX2KE/vEg8cxcMXdyEPu6U4QX5eruQv5hA==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@jest/types': 29.6.1 + '@jest/types': 29.5.0 chalk: 4.1.2 jest-get-type: 29.4.3 - jest-util: 29.6.2 - pretty-format: 29.6.2 + jest-util: 29.5.0 + pretty-format: 29.5.0 dev: true - /jest-environment-node@29.6.2: - resolution: {integrity: sha512-YGdFeZ3T9a+/612c5mTQIllvWkddPbYcN2v95ZH24oWMbGA4GGS2XdIF92QMhUhvrjjuQWYgUGW2zawOyH63MQ==} + /jest-environment-node@29.5.0: + resolution: {integrity: sha512-ExxuIK/+yQ+6PRGaHkKewYtg6hto2uGCgvKdb2nfJfKXgZ17DfXjvbZ+jA1Qt9A8EQSfPnt5FKIfnOO3u1h9qw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@jest/environment': 29.6.2 - '@jest/fake-timers': 29.6.2 - '@jest/types': 29.6.1 - '@types/node': 18.17.6 - jest-mock: 29.6.2 - jest-util: 29.6.2 + '@jest/environment': 29.5.0 + '@jest/fake-timers': 29.5.0 + '@jest/types': 29.5.0 + '@types/node': 18.16.0 + jest-mock: 29.5.0 + jest-util: 29.5.0 dev: true /jest-get-type@29.4.3: @@ -11017,19 +11076,19 @@ packages: engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dev: true - /jest-haste-map@29.6.2: - resolution: {integrity: sha512-+51XleTDAAysvU8rT6AnS1ZJ+WHVNqhj1k6nTvN2PYP+HjU3kqlaKQ1Lnw3NYW3bm2r8vq82X0Z1nDDHZMzHVA==} + /jest-haste-map@29.5.0: + resolution: {integrity: sha512-IspOPnnBro8YfVYSw6yDRKh/TiCdRngjxeacCps1cQ9cgVN6+10JUcuJ1EabrgYLOATsIAigxA0rLR9x/YlrSA==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@jest/types': 29.6.1 - '@types/graceful-fs': 4.1.6 - '@types/node': 18.17.6 - anymatch: 3.1.3 + '@jest/types': 29.5.0 + '@types/graceful-fs': 4.1.5 + '@types/node': 18.16.0 + anymatch: 3.1.2 fb-watchman: 2.0.2 - graceful-fs: 4.2.11 + graceful-fs: 4.2.10 jest-regex-util: 29.4.3 - jest-util: 29.6.2 - jest-worker: 29.6.2 + jest-util: 29.5.0 + jest-worker: 29.5.0 micromatch: 4.0.5 walker: 1.0.8 optionalDependencies: @@ -11054,50 +11113,50 @@ packages: ssim.js: 3.5.0 dev: true - /jest-leak-detector@29.6.2: - resolution: {integrity: sha512-aNqYhfp5uYEO3tdWMb2bfWv6f0b4I0LOxVRpnRLAeque2uqOVVMLh6khnTcE2qJ5wAKop0HcreM1btoysD6bPQ==} + /jest-leak-detector@29.5.0: + resolution: {integrity: sha512-u9YdeeVnghBUtpN5mVxjID7KbkKE1QU4f6uUwuxiY0vYRi9BUCLKlPEZfDGR67ofdFmDz9oPAy2G92Ujrntmow==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: jest-get-type: 29.4.3 - pretty-format: 29.6.2 + pretty-format: 29.5.0 dev: true - /jest-matcher-utils@29.6.2: - resolution: {integrity: sha512-4LiAk3hSSobtomeIAzFTe+N8kL6z0JtF3n6I4fg29iIW7tt99R7ZcIFW34QkX+DuVrf+CUe6wuVOpm7ZKFJzZQ==} + /jest-matcher-utils@29.5.0: + resolution: {integrity: sha512-lecRtgm/rjIK0CQ7LPQwzCs2VwW6WAahA55YBuI+xqmhm7LAaxokSB8C97yJeYyT+HvQkH741StzpU41wohhWw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: chalk: 4.1.2 - jest-diff: 29.6.2 + jest-diff: 29.5.0 jest-get-type: 29.4.3 - pretty-format: 29.6.2 + pretty-format: 29.5.0 dev: true - /jest-message-util@29.6.2: - resolution: {integrity: sha512-vnIGYEjoPSuRqV8W9t+Wow95SDp6KPX2Uf7EoeG9G99J2OVh7OSwpS4B6J0NfpEIpfkBNHlBZpA2rblEuEFhZQ==} + /jest-message-util@29.5.0: + resolution: {integrity: sha512-Kijeg9Dag6CKtIDA7O21zNTACqD5MD/8HfIV8pdD94vFyFuer52SigdC3IQMhab3vACxXMiFk+yMHNdbqtyTGA==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@babel/code-frame': 7.22.10 - '@jest/types': 29.6.1 + '@babel/code-frame': 7.18.6 + '@jest/types': 29.5.0 '@types/stack-utils': 2.0.1 chalk: 4.1.2 - graceful-fs: 4.2.11 + graceful-fs: 4.2.10 micromatch: 4.0.5 - pretty-format: 29.6.2 + pretty-format: 29.5.0 slash: 3.0.0 - stack-utils: 2.0.6 + stack-utils: 2.0.5 dev: true - /jest-mock@29.6.2: - resolution: {integrity: sha512-hoSv3lb3byzdKfwqCuT6uTscan471GUECqgNYykg6ob0yiAw3zYc7OrPnI9Qv8Wwoa4lC7AZ9hyS4AiIx5U2zg==} + /jest-mock@29.5.0: + resolution: {integrity: sha512-GqOzvdWDE4fAV2bWQLQCkujxYWL7RxjCnj71b5VhDAGOevB3qj3Ovg26A5NI84ZpODxyzaozXLOh2NCgkbvyaw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@jest/types': 29.6.1 - '@types/node': 18.17.6 - jest-util: 29.6.2 + '@jest/types': 29.5.0 + '@types/node': 18.16.0 + jest-util: 29.5.0 dev: true - /jest-pnp-resolver@1.2.3(jest-resolve@29.6.2): - resolution: {integrity: sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==} + /jest-pnp-resolver@1.2.2(jest-resolve@29.5.0): + resolution: {integrity: sha512-olV41bKSMm8BdnuMsewT4jqlZ8+3TCARAXjZGT9jcoSnrfUnRCqnMoF9XEeoWjbzObpqF9dRhHQj0Xb9QdF6/w==} engines: {node: '>=6'} peerDependencies: jest-resolve: '*' @@ -11105,7 +11164,7 @@ packages: jest-resolve: optional: true dependencies: - jest-resolve: 29.6.2 + jest-resolve: 29.5.0 dev: true /jest-regex-util@29.4.3: @@ -11113,153 +11172,156 @@ packages: engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dev: true - /jest-resolve-dependencies@29.6.2: - resolution: {integrity: sha512-LGqjDWxg2fuQQm7ypDxduLu/m4+4Lb4gczc13v51VMZbVP5tSBILqVx8qfWcsdP8f0G7aIqByIALDB0R93yL+w==} + /jest-resolve-dependencies@29.5.0: + resolution: {integrity: sha512-sjV3GFr0hDJMBpYeUuGduP+YeCRbd7S/ck6IvL3kQ9cpySYKqcqhdLLC2rFwrcL7tz5vYibomBrsFYWkIGGjOg==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: jest-regex-util: 29.4.3 - jest-snapshot: 29.6.2 + jest-snapshot: 29.5.0 transitivePeerDependencies: - supports-color dev: true - /jest-resolve@29.6.2: - resolution: {integrity: sha512-G/iQUvZWI5e3SMFssc4ug4dH0aZiZpsDq9o1PtXTV1210Ztyb2+w+ZgQkB3iOiC5SmAEzJBOHWz6Hvrd+QnNPw==} + /jest-resolve@29.5.0: + resolution: {integrity: sha512-1TzxJ37FQq7J10jPtQjcc+MkCkE3GBpBecsSUWJ0qZNJpmg6m0D9/7II03yJulm3H/fvVjgqLh/k2eYg+ui52w==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: chalk: 4.1.2 - graceful-fs: 4.2.11 - jest-haste-map: 29.6.2 - jest-pnp-resolver: 1.2.3(jest-resolve@29.6.2) - jest-util: 29.6.2 - jest-validate: 29.6.2 - resolve: 1.22.4 + graceful-fs: 4.2.10 + jest-haste-map: 29.5.0 + jest-pnp-resolver: 1.2.2(jest-resolve@29.5.0) + jest-util: 29.5.0 + jest-validate: 29.5.0 + resolve: 1.22.2 resolve.exports: 2.0.2 slash: 3.0.0 dev: true - /jest-runner@29.6.2: - resolution: {integrity: sha512-wXOT/a0EspYgfMiYHxwGLPCZfC0c38MivAlb2lMEAlwHINKemrttu1uSbcGbfDV31sFaPWnWJPmb2qXM8pqZ4w==} + /jest-runner@29.5.0: + resolution: {integrity: sha512-m7b6ypERhFghJsslMLhydaXBiLf7+jXy8FwGRHO3BGV1mcQpPbwiqiKUR2zU2NJuNeMenJmlFZCsIqzJCTeGLQ==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@jest/console': 29.6.2 - '@jest/environment': 29.6.2 - '@jest/test-result': 29.6.2 - '@jest/transform': 29.6.2 - '@jest/types': 29.6.1 - '@types/node': 18.17.6 + '@jest/console': 29.5.0 + '@jest/environment': 29.5.0 + '@jest/test-result': 29.5.0 + '@jest/transform': 29.5.0 + '@jest/types': 29.5.0 + '@types/node': 18.16.0 chalk: 4.1.2 emittery: 0.13.1 - graceful-fs: 4.2.11 + graceful-fs: 4.2.10 jest-docblock: 29.4.3 - jest-environment-node: 29.6.2 - jest-haste-map: 29.6.2 - jest-leak-detector: 29.6.2 - jest-message-util: 29.6.2 - jest-resolve: 29.6.2 - jest-runtime: 29.6.2 - jest-util: 29.6.2 - jest-watcher: 29.6.2 - jest-worker: 29.6.2 + jest-environment-node: 29.5.0 + jest-haste-map: 29.5.0 + jest-leak-detector: 29.5.0 + jest-message-util: 29.5.0 + jest-resolve: 29.5.0 + jest-runtime: 29.5.0 + jest-util: 29.5.0 + jest-watcher: 29.5.0 + jest-worker: 29.5.0 p-limit: 3.1.0 source-map-support: 0.5.13 transitivePeerDependencies: - supports-color dev: true - /jest-runtime@29.6.2: - resolution: {integrity: sha512-2X9dqK768KufGJyIeLmIzToDmsN0m7Iek8QNxRSI/2+iPFYHF0jTwlO3ftn7gdKd98G/VQw9XJCk77rbTGZnJg==} + /jest-runtime@29.5.0: + resolution: {integrity: sha512-1Hr6Hh7bAgXQP+pln3homOiEZtCDZFqwmle7Ew2j8OlbkIu6uE3Y/etJQG8MLQs3Zy90xrp2C0BRrtPHG4zryw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@jest/environment': 29.6.2 - '@jest/fake-timers': 29.6.2 - '@jest/globals': 29.6.2 - '@jest/source-map': 29.6.0 - '@jest/test-result': 29.6.2 - '@jest/transform': 29.6.2 - '@jest/types': 29.6.1 - '@types/node': 18.17.6 + '@jest/environment': 29.5.0 + '@jest/fake-timers': 29.5.0 + '@jest/globals': 29.5.0 + '@jest/source-map': 29.4.3 + '@jest/test-result': 29.5.0 + '@jest/transform': 29.5.0 + '@jest/types': 29.5.0 + '@types/node': 18.16.0 chalk: 4.1.2 - cjs-module-lexer: 1.2.3 - collect-v8-coverage: 1.0.2 + cjs-module-lexer: 1.2.2 + collect-v8-coverage: 1.0.1 glob: 7.2.3 - graceful-fs: 4.2.11 - jest-haste-map: 29.6.2 - jest-message-util: 29.6.2 - jest-mock: 29.6.2 + graceful-fs: 4.2.10 + jest-haste-map: 29.5.0 + jest-message-util: 29.5.0 + jest-mock: 29.5.0 jest-regex-util: 29.4.3 - jest-resolve: 29.6.2 - jest-snapshot: 29.6.2 - jest-util: 29.6.2 + jest-resolve: 29.5.0 + jest-snapshot: 29.5.0 + jest-util: 29.5.0 slash: 3.0.0 strip-bom: 4.0.0 transitivePeerDependencies: - supports-color dev: true - /jest-snapshot@29.6.2: - resolution: {integrity: sha512-1OdjqvqmRdGNvWXr/YZHuyhh5DeaLp1p/F8Tht/MrMw4Kr1Uu/j4lRG+iKl1DAqUJDWxtQBMk41Lnf/JETYBRA==} + /jest-snapshot@29.5.0: + resolution: {integrity: sha512-x7Wolra5V0tt3wRs3/ts3S6ciSQVypgGQlJpz2rsdQYoUKxMxPNaoHMGJN6qAuPJqS+2iQ1ZUn5kl7HCyls84g==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@babel/core': 7.22.10 - '@babel/generator': 7.22.10 - '@babel/plugin-syntax-jsx': 7.22.5(@babel/core@7.22.10) - '@babel/plugin-syntax-typescript': 7.22.5(@babel/core@7.22.10) - '@babel/types': 7.22.10 - '@jest/expect-utils': 29.6.2 - '@jest/transform': 29.6.2 - '@jest/types': 29.6.1 - babel-preset-current-node-syntax: 1.0.1(@babel/core@7.22.10) + '@babel/core': 7.12.3 + '@babel/generator': 7.21.1 + '@babel/plugin-syntax-jsx': 7.18.6(@babel/core@7.12.3) + '@babel/plugin-syntax-typescript': 7.18.6(@babel/core@7.12.3) + '@babel/traverse': 7.21.2 + '@babel/types': 7.21.2 + '@jest/expect-utils': 29.5.0 + '@jest/transform': 29.5.0 + '@jest/types': 29.5.0 + '@types/babel__traverse': 7.18.2 + '@types/prettier': 2.7.2 + babel-preset-current-node-syntax: 1.0.1(@babel/core@7.12.3) chalk: 4.1.2 - expect: 29.6.2 - graceful-fs: 4.2.11 - jest-diff: 29.6.2 + expect: 29.5.0 + graceful-fs: 4.2.10 + jest-diff: 29.5.0 jest-get-type: 29.4.3 - jest-matcher-utils: 29.6.2 - jest-message-util: 29.6.2 - jest-util: 29.6.2 + jest-matcher-utils: 29.5.0 + jest-message-util: 29.5.0 + jest-util: 29.5.0 natural-compare: 1.4.0 - pretty-format: 29.6.2 - semver: 7.5.4 + pretty-format: 29.5.0 + semver: 7.5.3 transitivePeerDependencies: - supports-color dev: true - /jest-util@29.6.2: - resolution: {integrity: sha512-3eX1qb6L88lJNCFlEADKOkjpXJQyZRiavX1INZ4tRnrBVr2COd3RgcTLyUiEXMNBlDU/cgYq6taUS0fExrWW4w==} + /jest-util@29.5.0: + resolution: {integrity: sha512-RYMgG/MTadOr5t8KdhejfvUU82MxsCu5MF6KuDUHl+NuwzUt+Sm6jJWxTJVrDR1j5M/gJVCPKQEpWXY+yIQ6lQ==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@jest/types': 29.6.1 - '@types/node': 18.17.6 + '@jest/types': 29.5.0 + '@types/node': 18.16.0 chalk: 4.1.2 ci-info: 3.8.0 - graceful-fs: 4.2.11 + graceful-fs: 4.2.10 picomatch: 2.3.1 dev: true - /jest-validate@29.6.2: - resolution: {integrity: sha512-vGz0yMN5fUFRRbpJDPwxMpgSXW1LDKROHfBopAvDcmD6s+B/s8WJrwi+4bfH4SdInBA5C3P3BI19dBtKzx1Arg==} + /jest-validate@29.5.0: + resolution: {integrity: sha512-pC26etNIi+y3HV8A+tUGr/lph9B18GnzSRAkPaaZJIE1eFdiYm6/CewuiJQ8/RlfHd1u/8Ioi8/sJ+CmbA+zAQ==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@jest/types': 29.6.1 + '@jest/types': 29.5.0 camelcase: 6.3.0 chalk: 4.1.2 jest-get-type: 29.4.3 leven: 3.1.0 - pretty-format: 29.6.2 + pretty-format: 29.5.0 dev: true - /jest-watcher@29.6.2: - resolution: {integrity: sha512-GZitlqkMkhkefjfN/p3SJjrDaxPflqxEAv3/ik10OirZqJGYH5rPiIsgVcfof0Tdqg3shQGdEIxDBx+B4tuLzA==} + /jest-watcher@29.5.0: + resolution: {integrity: sha512-KmTojKcapuqYrKDpRwfqcQ3zjMlwu27SYext9pt4GlF5FUgB+7XE1mcCnSm6a4uUpFyQIkb6ZhzZvHl+jiBCiA==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@jest/test-result': 29.6.2 - '@jest/types': 29.6.1 - '@types/node': 18.17.6 + '@jest/test-result': 29.5.0 + '@jest/types': 29.5.0 + '@types/node': 18.16.0 ansi-escapes: 4.3.2 chalk: 4.1.2 emittery: 0.13.1 - jest-util: 29.6.2 + jest-util: 29.5.0 string-length: 4.0.2 dev: true @@ -11267,7 +11329,7 @@ packages: resolution: {integrity: sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ==} engines: {node: '>= 10.13.0'} dependencies: - '@types/node': 18.17.6 + '@types/node': 18.16.0 merge-stream: 2.0.0 supports-color: 7.2.0 dev: true @@ -11276,17 +11338,17 @@ packages: resolution: {integrity: sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==} engines: {node: '>= 10.13.0'} dependencies: - '@types/node': 18.17.6 + '@types/node': 18.16.0 merge-stream: 2.0.0 supports-color: 8.1.1 dev: true - /jest-worker@29.6.2: - resolution: {integrity: sha512-l3ccBOabTdkng8I/ORCkADz4eSMKejTYv1vB/Z83UiubqhC1oQ5Li6dWCyqOIvSifGjUBxuvxvlm6KGK2DtuAQ==} + /jest-worker@29.5.0: + resolution: {integrity: sha512-NcrQnevGoSp4b5kg+akIpthoAFHxPBcb5P6mYPY0fUNT+sSvmtu6jlkEle3anczUKIKEbMxFimk9oTP/tpIPgA==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@types/node': 18.17.6 - jest-util: 29.6.2 + '@types/node': 18.16.0 + jest-util: 29.5.0 merge-stream: 2.0.0 supports-color: 8.1.1 dev: true @@ -11301,13 +11363,12 @@ packages: node-notifier: optional: true dependencies: - '@jest/core': 29.6.2(ts-node@10.9.1) - '@jest/types': 29.6.1 + '@jest/core': 29.5.0(ts-node@10.9.1) + '@jest/types': 29.5.0 import-local: 3.1.0 - jest-cli: 29.6.2(@types/node@18.16.0)(ts-node@10.9.1) + jest-cli: 29.5.0(@types/node@18.16.0)(ts-node@10.9.1) transitivePeerDependencies: - '@types/node' - - babel-plugin-macros - supports-color - ts-node dev: true @@ -11341,16 +11402,16 @@ packages: hasBin: true dev: false - /jiti@1.19.3: - resolution: {integrity: sha512-5eEbBDQT/jF1xg6l36P+mWGGoH9Spuy0PCdSr2dtWRDGC6ph/w9ZCL4lmESW8f8F7MwT3XKescfP0wnZWAKL9w==} + /jiti@1.19.1: + resolution: {integrity: sha512-oVhqoRDaBXf7sjkll95LHVS6Myyyb1zaunVwk4Z0+WPSW4gjS0pl01zYKHScTuyEhQsFxV5L4DR5r+YqSyqyyg==} hasBin: true /jju@1.4.0: resolution: {integrity: sha512-8wb9Yw966OSxApiCt0K3yNJL8pnNeIv+OEq2YMidz4FKP6nonSRoOXc80iXY4JaN2FC11B9qsNmDsm+ZOfMROA==} dev: true - /joi@17.9.2: - resolution: {integrity: sha512-Itk/r+V4Dx0V3c7RLFdRh12IOjySm2/WGPMubBT92cQvRfYZhPM2W0hZlctjj72iES8jsRCwp7S/cRmWBnJ4nw==} + /joi@17.7.1: + resolution: {integrity: sha512-teoLhIvWE298R6AeJywcjR4sX2hHjB3/xJX4qPjg+gTg+c0mzUDsziYlqPmLomq9gVsfaMcgPaGc7VxtD/9StA==} dependencies: '@hapi/hoek': 9.3.0 '@hapi/topo': 5.1.0 @@ -11367,8 +11428,8 @@ packages: resolution: {integrity: sha512-3MEt5DTINKqfScXKfJFrRbxkrnk2AxPWGBL/ycjz4dK8iqiSJ06UxD8jh8xuh6p10TX4t2+7FsBYVxxQbMg+qA==} dev: true - /js-sdsl@4.4.2: - resolution: {integrity: sha512-dwXFwByc/ajSV6m5bcKAPwe4yDDF6D614pxmIi5odytzxRlwqF6nwoiCek80Ixc7Cvma5awClxrzFtxCQvcM8w==} + /js-sdsl@4.1.4: + resolution: {integrity: sha512-Y2/yD55y5jteOAmY50JbUZYwk3CP3wnLPEZnlR1w9oKhITrBEtAxwuWKebFf8hMrPMgbYwFoWK/lH2sBkErELw==} dev: true /js-tokens@4.0.0: @@ -11418,12 +11479,12 @@ packages: http-proxy-agent: 5.0.0 https-proxy-agent: 5.0.1 is-potential-custom-element-name: 1.0.1 - nwsapi: 2.2.7 + nwsapi: 2.2.5 parse5: 7.1.2 rrweb-cssom: 0.6.0 saxes: 6.0.0 symbol-tree: 3.2.4 - tough-cookie: 4.1.3 + tough-cookie: 4.1.2 w3c-xmlserializer: 4.0.0 webidl-conversions: 7.0.0 whatwg-encoding: 2.0.0 @@ -11468,8 +11529,8 @@ packages: hasBin: true dependencies: '@bcherny/json-schema-ref-parser': 9.0.9 - '@types/json-schema': 7.0.12 - '@types/lodash': 4.14.197 + '@types/json-schema': 7.0.11 + '@types/lodash': 4.14.194 '@types/prettier': 2.7.2 cli-color: 2.0.3 get-stdin: 8.0.0 @@ -11516,7 +11577,7 @@ packages: /jsonfile@4.0.0: resolution: {integrity: sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==} optionalDependencies: - graceful-fs: 4.2.11 + graceful-fs: 4.2.10 dev: true /jsonfile@6.1.0: @@ -11524,7 +11585,7 @@ packages: dependencies: universalify: 2.0.0 optionalDependencies: - graceful-fs: 4.2.11 + graceful-fs: 4.2.10 dev: true /jsonlint@1.6.0: @@ -11560,13 +11621,13 @@ packages: verror: 1.10.0 dev: true - /junk@4.0.1: - resolution: {integrity: sha512-Qush0uP+G8ZScpGMZvHUiRfI0YBWuB3gVBYlI0v0vvOJt5FLicco+IkP0a50LqTTQhmts/m6tP5SWE+USyIvcQ==} + /junk@4.0.0: + resolution: {integrity: sha512-ojtSU++zLJ3jQG9bAYjg94w+/DOJtRyD7nPaerMFrBhmdVmiV5/exYH5t4uHga4G/95nT6hr1OJoKIFbYbrW5w==} engines: {node: '>=12.20'} dev: true - /keyv@4.5.3: - resolution: {integrity: sha512-QCiSav9WaX1PgETJ+SpNnx2PRRapJ/oRSXM4VO5OGYGSjrxbKPVFVhB3l2OCbLCk329N8qyAtsJjSjvVBWzEug==} + /keyv@4.5.0: + resolution: {integrity: sha512-2YvuMsA+jnFGtBareKqgANOEKe1mk3HKiXu2fRmAfyxG0MJAywNhi5ttWA3PMjl4NmpyjZNbFifR2vNjW1znfA==} dependencies: json-buffer: 3.0.1 dev: true @@ -11624,7 +11685,7 @@ packages: engines: {node: '>=16.0.0'} dependencies: chevrotain: 11.0.3 - chevrotain-allstar: 0.3.0(chevrotain@11.0.3) + chevrotain-allstar: 0.3.1(chevrotain@11.0.3) vscode-languageserver: 8.0.2 vscode-languageserver-textdocument: 1.0.8 vscode-uri: 3.0.7 @@ -11647,6 +11708,14 @@ packages: engines: {node: '>=6'} dev: true + /levn@0.3.0: + resolution: {integrity: sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA==} + engines: {node: '>= 0.8.0'} + dependencies: + prelude-ls: 1.1.2 + type-check: 0.3.2 + dev: true + /levn@0.4.1: resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} engines: {node: '>= 0.8.0'} @@ -11690,21 +11759,21 @@ packages: cli-truncate: 3.1.0 commander: 10.0.1 debug: 4.3.4(supports-color@8.1.1) - execa: 7.2.0 + execa: 7.1.1 lilconfig: 2.1.0 listr2: 5.0.8 micromatch: 4.0.5 normalize-path: 3.0.0 object-inspect: 1.12.3 pidtree: 0.6.0 - string-argv: 0.3.2 - yaml: 2.3.1 + string-argv: 0.3.1 + yaml: 2.2.2 transitivePeerDependencies: - enquirer - supports-color dev: true - /listr2@3.14.0(enquirer@2.4.1): + /listr2@3.14.0(enquirer@2.3.6): resolution: {integrity: sha512-TyWI8G99GX9GjE54cJ+RrNMcIFBfwMPxc3XTFiAYGN4s10hWROGtOg7+O6u6LE3mNkyld7RSLE6nrKBvTfcs3g==} engines: {node: '>=10.0.0'} peerDependencies: @@ -11715,11 +11784,11 @@ packages: dependencies: cli-truncate: 2.1.0 colorette: 2.0.20 - enquirer: 2.4.1 + enquirer: 2.3.6 log-update: 4.0.0 p-map: 4.0.0 rfdc: 1.3.0 - rxjs: 7.8.1 + rxjs: 7.8.0 through: 2.3.8 wrap-ansi: 7.0.0 dev: true @@ -11738,7 +11807,7 @@ packages: log-update: 4.0.0 p-map: 4.0.0 rfdc: 1.3.0 - rxjs: 7.8.1 + rxjs: 7.8.0 through: 2.3.8 wrap-ansi: 7.0.0 dev: true @@ -11775,13 +11844,6 @@ packages: p-locate: 5.0.0 dev: true - /locate-path@7.2.0: - resolution: {integrity: sha512-gvVijfZvn7R+2qyPX8mAuKcFGDf6Nc61GdvGafQsHL0sBIxfKzA+usWn4GFC/bk+QdwPUD4kWFJLhElipq+0VA==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - dependencies: - p-locate: 6.0.0 - dev: true - /lodash-es@4.17.21: resolution: {integrity: sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==} @@ -11866,13 +11928,13 @@ packages: resolution: {integrity: sha512-WpG9CcFAOjz/FtNht+QJeGpvVl/cdR6P0z6OcXSkr8wFJOsV2GRj2j10JLfjuA4aYkcKCNIEqRGCyTife9R8/g==} dev: true - /loglevel@1.8.1: - resolution: {integrity: sha512-tCRIJM51SHjAayKwC+QAg8hT8vg6z7GSgLJKGvzuPb1Wc+hLzqtuVLxp6/HzSPOozuK+8ErAhy7U/sVzw8Dgfg==} + /loglevel@1.8.0: + resolution: {integrity: sha512-G6A/nJLRgWOuuwdNuA6koovfEV1YpqqAG4pRUlFaz3jj2QNZ8M4vBqnVA+HBTmU/AMNUtlOsMmSpF6NyOjztbA==} engines: {node: '>= 0.6.0'} dev: true - /longest-streak@3.1.0: - resolution: {integrity: sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g==} + /longest-streak@3.0.1: + resolution: {integrity: sha512-cHlYSUpL2s7Fb3394mYxwTYj8niTaNHUCLr0qdiCXQfSjfuA7CKofpX2uSwEfFDQ0EB7JcnMnm+GjbqqoinYYg==} dev: true /loupe@2.3.6: @@ -11886,11 +11948,6 @@ packages: engines: {node: '>=8'} dev: true - /lru-cache@10.0.1: - resolution: {integrity: sha512-IJ4uwUTi2qCccrioU6g9g/5rvvVl13bsdczUUcqbciD9iLr095yj8DQKdObriEvuNSx325N1rV1O0sJFszx75g==} - engines: {node: 14 || >=16.14} - dev: true - /lru-cache@5.1.1: resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==} dependencies: @@ -11904,6 +11961,11 @@ packages: yallist: 4.0.0 dev: true + /lru-cache@9.1.1: + resolution: {integrity: sha512-65/Jky17UwSb0BuB9V+MyDpsOtXKmYwzhyl+cOa9XUiI4uV2Ouy/2voFP3+al0BjZbJgMBD8FojMpAf+Z+qn4A==} + engines: {node: 14 || >=16.14} + dev: true + /lru-queue@0.1.0: resolution: {integrity: sha512-BpdYkt9EvGl8OfWHDQPISVpcl5xZthb+XPsbELj5AQXxIC8IriDZIQYjBJPEm5rS420sjZ0TLEzRcq5KdBhYrQ==} dependencies: @@ -11920,14 +11982,21 @@ packages: sourcemap-codec: 1.4.8 dev: true + /magic-string@0.30.1: + resolution: {integrity: sha512-mbVKXPmS0z0G4XqFDCTllmDQ6coZzn94aMlb0o/A4HEHJCKcanlDZwYJgwnkmgD3jyWhUgj9VsPrfd972yPffA==} + engines: {node: '>=12'} + dependencies: + '@jridgewell/sourcemap-codec': 1.4.15 + dev: true + /magic-string@0.30.2: resolution: {integrity: sha512-lNZdu7pewtq/ZvWUp9Wpf/x7WzMTsR26TWV03BRZrXFsv+BI6dy8RAiKgm1uM/kyR0rCfUcqvOlXKG66KhIGug==} engines: {node: '>=12'} dependencies: '@jridgewell/sourcemap-codec': 1.4.15 - /magic-string@0.30.3: - resolution: {integrity: sha512-B7xGbll2fG/VjP+SWg4sX3JynwIU0mjoTc6MPpKNuIvftk6u6vqhDnk1R80b8C2GBR6ywqy+1DcKBrevBg+bmw==} + /magic-string@0.30.4: + resolution: {integrity: sha512-Q/TKtsC5BPm0kGqgBIF9oXAs/xEf2vRKiIB4wCRQTJOQIByZ1d+NnUOotvJOvNpi5RNIgVOMC3pOuaP1ZTDlVg==} engines: {node: '>=12'} dependencies: '@jridgewell/sourcemap-codec': 1.4.15 @@ -11937,14 +12006,14 @@ packages: resolution: {integrity: sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==} engines: {node: '>=8'} dependencies: - semver: 6.3.1 + semver: 6.3.0 dev: true /make-dir@4.0.0: resolution: {integrity: sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==} engines: {node: '>=10'} dependencies: - semver: 7.5.4 + semver: 7.5.3 dev: true /make-error@1.3.6: @@ -12004,16 +12073,15 @@ packages: /mdast-builder@1.1.1: resolution: {integrity: sha512-a3KBk/LmYD6wKsWi8WJrGU/rXR4yuF4Men0JO0z6dSZCm5FrXXWTRDjqK0vGSqa+1M6p9edeuypZAZAzSehTUw==} dependencies: - '@types/unist': 2.0.7 + '@types/unist': 2.0.6 dev: true - /mdast-util-find-and-replace@2.2.2: - resolution: {integrity: sha512-MTtdFRz/eMDHXzeK6W3dO7mXUlF82Gom4y0oOgvHhh/HXZAGvIQDUvQ0SuUx+j2tv44b8xTHOm8K/9OoRFnXKw==} + /mdast-util-find-and-replace@2.2.1: + resolution: {integrity: sha512-SobxkQXFAdd4b5WmEakmkVoh18icjQRxGy5OWTCzgsLRm1Fu/KCtwD1HIQSsmq5ZRjVH0Ehwg6/Fn3xIUk+nKw==} dependencies: - '@types/mdast': 3.0.12 escape-string-regexp: 5.0.0 - unist-util-is: 5.2.1 - unist-util-visit-parents: 5.1.3 + unist-util-is: 5.1.1 + unist-util-visit-parents: 5.1.1 dev: true /mdast-util-from-markdown@0.8.5: @@ -12030,123 +12098,94 @@ packages: /mdast-util-from-markdown@1.3.0: resolution: {integrity: sha512-HN3W1gRIuN/ZW295c7zi7g9lVBllMgZE40RxCX37wrTPWXCWtpvOZdfnuK+1WNpvZje6XuJeI3Wnb4TJEUem+g==} - dependencies: - '@types/mdast': 3.0.12 - '@types/unist': 2.0.7 - decode-named-character-reference: 1.0.2 - mdast-util-to-string: 3.2.0 - micromark: 3.2.0 - micromark-util-decode-numeric-character-reference: 1.1.0 - micromark-util-decode-string: 1.1.0 - micromark-util-normalize-identifier: 1.1.0 - micromark-util-symbol: 1.1.0 - micromark-util-types: 1.1.0 - unist-util-stringify-position: 3.0.3 - uvu: 0.5.6 - transitivePeerDependencies: - - supports-color - - /mdast-util-from-markdown@1.3.1: - resolution: {integrity: sha512-4xTO/M8c82qBcnQc1tgpNtubGUW/Y1tBQ1B0i5CtSoelOLKFYlElIr3bvgREYYO5iRqbMY1YuqZng0GVOI8Qww==} dependencies: '@types/mdast': 3.0.11 - '@types/unist': 2.0.7 + '@types/unist': 2.0.6 decode-named-character-reference: 1.0.2 - mdast-util-to-string: 3.2.0 - micromark: 3.2.0 - micromark-util-decode-numeric-character-reference: 1.1.0 - micromark-util-decode-string: 1.1.0 - micromark-util-normalize-identifier: 1.1.0 - micromark-util-symbol: 1.1.0 - micromark-util-types: 1.1.0 - unist-util-stringify-position: 3.0.3 + mdast-util-to-string: 3.1.0 + micromark: 3.0.10 + micromark-util-decode-numeric-character-reference: 1.0.0 + micromark-util-decode-string: 1.0.2 + micromark-util-normalize-identifier: 1.0.0 + micromark-util-symbol: 1.0.1 + micromark-util-types: 1.0.2 + unist-util-stringify-position: 3.0.2 uvu: 0.5.6 transitivePeerDependencies: - supports-color - dev: true - /mdast-util-frontmatter@1.0.1: - resolution: {integrity: sha512-JjA2OjxRqAa8wEG8hloD0uTU0kdn8kbtOWpPP94NBkfAlbxn4S8gCGf/9DwFtEeGPXrDcNXdiDjVaRdUFqYokw==} + /mdast-util-frontmatter@1.0.0: + resolution: {integrity: sha512-7itKvp0arEVNpCktOET/eLFAYaZ+0cNjVtFtIPxgQ5tV+3i+D4SDDTjTzPWl44LT59PC+xdx+glNTawBdF98Mw==} dependencies: - '@types/mdast': 3.0.12 - mdast-util-to-markdown: 1.5.0 - micromark-extension-frontmatter: 1.1.1 + micromark-extension-frontmatter: 1.0.0 dev: true - /mdast-util-gfm-autolink-literal@1.0.3: - resolution: {integrity: sha512-My8KJ57FYEy2W2LyNom4n3E7hKTuQk/0SES0u16tjA9Z3oFkF4RrC/hPAPgjlSpezsOvI8ObcXcElo92wn5IGA==} + /mdast-util-gfm-autolink-literal@1.0.2: + resolution: {integrity: sha512-FzopkOd4xTTBeGXhXSBU0OCDDh5lUj2rd+HQqG92Ld+jL4lpUfgX2AT2OHAVP9aEeDKp7G92fuooSZcYJA3cRg==} dependencies: - '@types/mdast': 3.0.12 + '@types/mdast': 3.0.11 ccount: 2.0.1 - mdast-util-find-and-replace: 2.2.2 - micromark-util-character: 1.2.0 + mdast-util-find-and-replace: 2.2.1 + micromark-util-character: 1.1.0 dev: true - /mdast-util-gfm-footnote@1.0.2: - resolution: {integrity: sha512-56D19KOGbE00uKVj3sgIykpwKL179QsVFwx/DCW0u/0+URsryacI4MAdNJl0dh+u2PSsD9FtxPFbHCzJ78qJFQ==} + /mdast-util-gfm-footnote@1.0.1: + resolution: {integrity: sha512-p+PrYlkw9DeCRkTVw1duWqPRHX6Ywh2BNKJQcZbCwAuP/59B0Lk9kakuAd7KbQprVO4GzdW8eS5++A9PUSqIyw==} dependencies: - '@types/mdast': 3.0.12 - mdast-util-to-markdown: 1.5.0 - micromark-util-normalize-identifier: 1.1.0 + '@types/mdast': 3.0.11 + mdast-util-to-markdown: 1.3.0 + micromark-util-normalize-identifier: 1.0.0 dev: true - /mdast-util-gfm-strikethrough@1.0.3: - resolution: {integrity: sha512-DAPhYzTYrRcXdMjUtUjKvW9z/FNAMTdU0ORyMcbmkwYNbKocDpdk+PX1L1dQgOID/+vVs1uBQ7ElrBQfZ0cuiQ==} + /mdast-util-gfm-strikethrough@1.0.2: + resolution: {integrity: sha512-T/4DVHXcujH6jx1yqpcAYYwd+z5lAYMw4Ls6yhTfbMMtCt0PHY4gEfhW9+lKsLBtyhUGKRIzcUA2FATVqnvPDA==} dependencies: - '@types/mdast': 3.0.12 - mdast-util-to-markdown: 1.5.0 + '@types/mdast': 3.0.11 + mdast-util-to-markdown: 1.3.0 dev: true - /mdast-util-gfm-table@1.0.7: - resolution: {integrity: sha512-jjcpmNnQvrmN5Vx7y7lEc2iIOEytYv7rTvu+MeyAsSHTASGCCRA79Igg2uKssgOs1i1po8s3plW0sTu1wkkLGg==} + /mdast-util-gfm-table@1.0.6: + resolution: {integrity: sha512-uHR+fqFq3IvB3Rd4+kzXW8dmpxUhvgCQZep6KdjsLK4O6meK5dYZEayLtIxNus1XO3gfjfcIFe8a7L0HZRGgag==} dependencies: - '@types/mdast': 3.0.12 + '@types/mdast': 3.0.11 markdown-table: 3.0.3 mdast-util-from-markdown: 1.3.0 - mdast-util-to-markdown: 1.5.0 + mdast-util-to-markdown: 1.3.0 transitivePeerDependencies: - supports-color dev: true - /mdast-util-gfm-task-list-item@1.0.2: - resolution: {integrity: sha512-PFTA1gzfp1B1UaiJVyhJZA1rm0+Tzn690frc/L8vNX1Jop4STZgOE6bxUhnzdVSB+vm2GU1tIsuQcA9bxTQpMQ==} + /mdast-util-gfm-task-list-item@1.0.1: + resolution: {integrity: sha512-KZ4KLmPdABXOsfnM6JHUIjxEvcx2ulk656Z/4Balw071/5qgnhz+H1uGtf2zIGnrnvDC8xR4Fj9uKbjAFGNIeA==} dependencies: - '@types/mdast': 3.0.12 - mdast-util-to-markdown: 1.5.0 + '@types/mdast': 3.0.11 + mdast-util-to-markdown: 1.3.0 dev: true - /mdast-util-gfm@2.0.2: - resolution: {integrity: sha512-qvZ608nBppZ4icQlhQQIAdc6S3Ffj9RGmzwUKUWuEICFnd1LVkN3EktF7ZHAgfcEdvZB5owU9tQgt99e2TlLjg==} + /mdast-util-gfm@2.0.1: + resolution: {integrity: sha512-42yHBbfWIFisaAfV1eixlabbsa6q7vHeSPY+cg+BBjX51M8xhgMacqH9g6TftB/9+YkcI0ooV4ncfrJslzm/RQ==} dependencies: mdast-util-from-markdown: 1.3.0 - mdast-util-gfm-autolink-literal: 1.0.3 - mdast-util-gfm-footnote: 1.0.2 - mdast-util-gfm-strikethrough: 1.0.3 - mdast-util-gfm-table: 1.0.7 - mdast-util-gfm-task-list-item: 1.0.2 - mdast-util-to-markdown: 1.5.0 + mdast-util-gfm-autolink-literal: 1.0.2 + mdast-util-gfm-footnote: 1.0.1 + mdast-util-gfm-strikethrough: 1.0.2 + mdast-util-gfm-table: 1.0.6 + mdast-util-gfm-task-list-item: 1.0.1 + mdast-util-to-markdown: 1.3.0 transitivePeerDependencies: - supports-color dev: true - /mdast-util-phrasing@3.0.1: - resolution: {integrity: sha512-WmI1gTXUBJo4/ZmSk79Wcb2HcjPJBzM1nlI/OUWA8yk2X9ik3ffNbBGsU+09BFmXaL1IBb9fiuvq6/KMiNycSg==} - dependencies: - '@types/mdast': 3.0.12 - unist-util-is: 5.2.1 - dev: true - - /mdast-util-to-markdown@1.5.0: - resolution: {integrity: sha512-bbv7TPv/WC49thZPg3jXuqzuvI45IL2EVAr/KxF0BSdHsU0ceFHOmwQn6evxAh1GaoK/6GQ1wp4R4oW2+LFL/A==} + /mdast-util-to-markdown@1.3.0: + resolution: {integrity: sha512-6tUSs4r+KK4JGTTiQ7FfHmVOaDrLQJPmpjD6wPMlHGUVXoG9Vjc3jIeP+uyBWRf8clwB2blM+W7+KrlMYQnftA==} dependencies: - '@types/mdast': 3.0.12 - '@types/unist': 2.0.7 - longest-streak: 3.1.0 - mdast-util-phrasing: 3.0.1 + '@types/mdast': 3.0.11 + '@types/unist': 2.0.6 + longest-streak: 3.0.1 mdast-util-to-string: 3.1.0 - micromark-util-decode-string: 1.1.0 + micromark-util-decode-string: 1.0.2 unist-util-visit: 4.1.2 - zwitch: 2.0.4 + zwitch: 2.0.2 dev: true /mdast-util-to-string@2.0.0: @@ -12155,12 +12194,6 @@ packages: /mdast-util-to-string@3.1.0: resolution: {integrity: sha512-n4Vypz/DZgwo0iMHLQL49dJzlp7YtAJP+N07MZHpjPf/5XJuHUWstviF4Mn2jEiR/GNmtnRRqnwsXExk3igfFA==} - dev: true - - /mdast-util-to-string@3.2.0: - resolution: {integrity: sha512-V4Zn/ncyN1QNSqSBxTrMOLpjr+IKdHl2v3KVLoWmDPscP4r9GcCi71gjgvUV1SFSKh92AjAG4peFuBl2/YgCJg==} - dependencies: - '@types/mdast': 3.0.12 /mdn-data@2.0.30: resolution: {integrity: sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==} @@ -12175,11 +12208,11 @@ packages: engines: {node: '>= 0.6'} dev: true - /memfs@3.5.3: - resolution: {integrity: sha512-UERzLsxzllchadvbPs5aolHh65ISpKpM+ccLbOJ8/vvpBKmAWf+la7dXFy7Mr0ySHbdHrFv5kGFCUHHe6GFEmw==} + /memfs@3.4.11: + resolution: {integrity: sha512-GvsCITGAyDCxxsJ+X6prJexFQEhOCJaIlUbsAvjzSI5o5O7j2dle3jWvz5Z5aOdpOxW6ol3vI1+0ut+641F1+w==} engines: {node: '>= 4.0.0'} dependencies: - fs-monkey: 1.0.4 + fs-monkey: 1.0.3 dev: true /memoizee@0.4.15: @@ -12202,13 +12235,13 @@ packages: '@types/minimist': 1.2.2 camelcase-keys: 7.0.2 decamelize: 5.0.1 - decamelize-keys: 1.1.1 + decamelize-keys: 1.1.0 hard-rejection: 2.1.0 minimist-options: 4.1.0 normalize-package-data: 3.0.3 read-pkg-up: 8.0.0 redent: 4.0.0 - trim-newlines: 4.1.1 + trim-newlines: 4.0.2 type-fest: 1.4.0 yargs-parser: 20.2.9 dev: true @@ -12219,7 +12252,7 @@ packages: dependencies: '@types/minimist': 1.2.2 camelcase-keys: 6.2.2 - decamelize-keys: 1.1.1 + decamelize-keys: 1.1.0 hard-rejection: 2.1.0 minimist-options: 4.1.0 normalize-package-data: 3.0.3 @@ -12247,217 +12280,218 @@ packages: engines: {node: '>= 0.6'} dev: true - /micromark-core-commonmark@1.1.0: - resolution: {integrity: sha512-BgHO1aRbolh2hcrzL2d1La37V0Aoz73ymF8rAcKnohLy93titmv62E0gP8Hrx9PKcKrqCZ1BbLGbP3bEhoXYlw==} + /micromark-core-commonmark@1.0.6: + resolution: {integrity: sha512-K+PkJTxqjFfSNkfAhp4GB+cZPfQd6dxtTXnf+RjZOV7T4EEXnvgzOcnp+eSTmpGk9d1S9sL6/lqrgSNn/s0HZA==} dependencies: decode-named-character-reference: 1.0.2 - micromark-factory-destination: 1.1.0 - micromark-factory-label: 1.1.0 - micromark-factory-space: 1.1.0 - micromark-factory-title: 1.1.0 - micromark-factory-whitespace: 1.1.0 - micromark-util-character: 1.2.0 - micromark-util-chunked: 1.1.0 - micromark-util-classify-character: 1.1.0 - micromark-util-html-tag-name: 1.2.0 - micromark-util-normalize-identifier: 1.1.0 - micromark-util-resolve-all: 1.1.0 - micromark-util-subtokenize: 1.1.0 - micromark-util-symbol: 1.1.0 - micromark-util-types: 1.1.0 + micromark-factory-destination: 1.0.0 + micromark-factory-label: 1.0.2 + micromark-factory-space: 1.0.0 + micromark-factory-title: 1.0.2 + micromark-factory-whitespace: 1.0.0 + micromark-util-character: 1.1.0 + micromark-util-chunked: 1.0.0 + micromark-util-classify-character: 1.0.0 + micromark-util-html-tag-name: 1.1.0 + micromark-util-normalize-identifier: 1.0.0 + micromark-util-resolve-all: 1.0.0 + micromark-util-subtokenize: 1.0.2 + micromark-util-symbol: 1.0.1 + micromark-util-types: 1.0.2 uvu: 0.5.6 - /micromark-extension-frontmatter@1.1.1: - resolution: {integrity: sha512-m2UH9a7n3W8VAH9JO9y01APpPKmNNNs71P0RbknEmYSaZU5Ghogv38BYO94AI5Xw6OYfxZRdHZZ2nYjs/Z+SZQ==} + /micromark-extension-frontmatter@1.0.0: + resolution: {integrity: sha512-EXjmRnupoX6yYuUJSQhrQ9ggK0iQtQlpi6xeJzVD5xscyAI+giqco5fdymayZhJMbIFecjnE2yz85S9NzIgQpg==} dependencies: fault: 2.0.1 - micromark-util-character: 1.2.0 - micromark-util-symbol: 1.1.0 - micromark-util-types: 1.1.0 + micromark-util-character: 1.1.0 + micromark-util-symbol: 1.0.1 dev: true - /micromark-extension-gfm-autolink-literal@1.0.5: - resolution: {integrity: sha512-z3wJSLrDf8kRDOh2qBtoTRD53vJ+CWIyo7uyZuxf/JAbNJjiHsOpG1y5wxk8drtv3ETAHutCu6N3thkOOgueWg==} + /micromark-extension-gfm-autolink-literal@1.0.3: + resolution: {integrity: sha512-i3dmvU0htawfWED8aHMMAzAVp/F0Z+0bPh3YrbTPPL1v4YAlCZpy5rBO5p0LPYiZo0zFVkoYh7vDU7yQSiCMjg==} dependencies: - micromark-util-character: 1.2.0 - micromark-util-sanitize-uri: 1.2.0 - micromark-util-symbol: 1.1.0 - micromark-util-types: 1.1.0 + micromark-util-character: 1.1.0 + micromark-util-sanitize-uri: 1.0.0 + micromark-util-symbol: 1.0.1 + micromark-util-types: 1.0.2 + uvu: 0.5.6 dev: true - /micromark-extension-gfm-footnote@1.1.2: - resolution: {integrity: sha512-Yxn7z7SxgyGWRNa4wzf8AhYYWNrwl5q1Z8ii+CSTTIqVkmGZF1CElX2JI8g5yGoM3GAman9/PVCUFUSJ0kB/8Q==} + /micromark-extension-gfm-footnote@1.0.4: + resolution: {integrity: sha512-E/fmPmDqLiMUP8mLJ8NbJWJ4bTw6tS+FEQS8CcuDtZpILuOb2kjLqPEeAePF1djXROHXChM/wPJw0iS4kHCcIg==} dependencies: - micromark-core-commonmark: 1.1.0 - micromark-factory-space: 1.1.0 - micromark-util-character: 1.2.0 - micromark-util-normalize-identifier: 1.1.0 - micromark-util-sanitize-uri: 1.2.0 - micromark-util-symbol: 1.1.0 - micromark-util-types: 1.1.0 + micromark-core-commonmark: 1.0.6 + micromark-factory-space: 1.0.0 + micromark-util-character: 1.1.0 + micromark-util-normalize-identifier: 1.0.0 + micromark-util-sanitize-uri: 1.0.0 + micromark-util-symbol: 1.0.1 + micromark-util-types: 1.0.2 uvu: 0.5.6 dev: true - /micromark-extension-gfm-strikethrough@1.0.7: - resolution: {integrity: sha512-sX0FawVE1o3abGk3vRjOH50L5TTLr3b5XMqnP9YDRb34M0v5OoZhG+OHFz1OffZ9dlwgpTBKaT4XW/AsUVnSDw==} + /micromark-extension-gfm-strikethrough@1.0.4: + resolution: {integrity: sha512-/vjHU/lalmjZCT5xt7CcHVJGq8sYRm80z24qAKXzaHzem/xsDYb2yLL+NNVbYvmpLx3O7SYPuGL5pzusL9CLIQ==} dependencies: - micromark-util-chunked: 1.1.0 - micromark-util-classify-character: 1.1.0 - micromark-util-resolve-all: 1.1.0 - micromark-util-symbol: 1.1.0 - micromark-util-types: 1.1.0 + micromark-util-chunked: 1.0.0 + micromark-util-classify-character: 1.0.0 + micromark-util-resolve-all: 1.0.0 + micromark-util-symbol: 1.0.1 + micromark-util-types: 1.0.2 uvu: 0.5.6 dev: true - /micromark-extension-gfm-table@1.0.7: - resolution: {integrity: sha512-3ZORTHtcSnMQEKtAOsBQ9/oHp9096pI/UvdPtN7ehKvrmZZ2+bbWhi0ln+I9drmwXMt5boocn6OlwQzNXeVeqw==} + /micromark-extension-gfm-table@1.0.5: + resolution: {integrity: sha512-xAZ8J1X9W9K3JTJTUL7G6wSKhp2ZYHrFk5qJgY/4B33scJzE2kpfRL6oiw/veJTbt7jiM/1rngLlOKPWr1G+vg==} dependencies: - micromark-factory-space: 1.1.0 - micromark-util-character: 1.2.0 - micromark-util-symbol: 1.1.0 - micromark-util-types: 1.1.0 + micromark-factory-space: 1.0.0 + micromark-util-character: 1.1.0 + micromark-util-symbol: 1.0.1 + micromark-util-types: 1.0.2 uvu: 0.5.6 dev: true - /micromark-extension-gfm-tagfilter@1.0.2: - resolution: {integrity: sha512-5XWB9GbAUSHTn8VPU8/1DBXMuKYT5uOgEjJb8gN3mW0PNW5OPHpSdojoqf+iq1xo7vWzw/P8bAHY0n6ijpXF7g==} + /micromark-extension-gfm-tagfilter@1.0.1: + resolution: {integrity: sha512-Ty6psLAcAjboRa/UKUbbUcwjVAv5plxmpUTy2XC/3nJFL37eHej8jrHrRzkqcpipJliuBH30DTs7+3wqNcQUVA==} dependencies: - micromark-util-types: 1.1.0 + micromark-util-types: 1.0.2 dev: true - /micromark-extension-gfm-task-list-item@1.0.5: - resolution: {integrity: sha512-RMFXl2uQ0pNQy6Lun2YBYT9g9INXtWJULgbt01D/x8/6yJ2qpKyzdZD3pi6UIkzF++Da49xAelVKUeUMqd5eIQ==} + /micromark-extension-gfm-task-list-item@1.0.3: + resolution: {integrity: sha512-PpysK2S1Q/5VXi72IIapbi/jliaiOFzv7THH4amwXeYXLq3l1uo8/2Be0Ac1rEwK20MQEsGH2ltAZLNY2KI/0Q==} dependencies: - micromark-factory-space: 1.1.0 - micromark-util-character: 1.2.0 - micromark-util-symbol: 1.1.0 - micromark-util-types: 1.1.0 + micromark-factory-space: 1.0.0 + micromark-util-character: 1.1.0 + micromark-util-symbol: 1.0.1 + micromark-util-types: 1.0.2 uvu: 0.5.6 dev: true - /micromark-extension-gfm@2.0.3: - resolution: {integrity: sha512-vb9OoHqrhCmbRidQv/2+Bc6pkP0FrtlhurxZofvOEy5o8RtuuvTq+RQ1Vw5ZDNrVraQZu3HixESqbG+0iKk/MQ==} + /micromark-extension-gfm@2.0.1: + resolution: {integrity: sha512-p2sGjajLa0iYiGQdT0oelahRYtMWvLjy8J9LOCxzIQsllMCGLbsLW+Nc+N4vi02jcRJvedVJ68cjelKIO6bpDA==} dependencies: - micromark-extension-gfm-autolink-literal: 1.0.5 - micromark-extension-gfm-footnote: 1.1.2 - micromark-extension-gfm-strikethrough: 1.0.7 - micromark-extension-gfm-table: 1.0.7 - micromark-extension-gfm-tagfilter: 1.0.2 - micromark-extension-gfm-task-list-item: 1.0.5 - micromark-util-combine-extensions: 1.1.0 - micromark-util-types: 1.1.0 + micromark-extension-gfm-autolink-literal: 1.0.3 + micromark-extension-gfm-footnote: 1.0.4 + micromark-extension-gfm-strikethrough: 1.0.4 + micromark-extension-gfm-table: 1.0.5 + micromark-extension-gfm-tagfilter: 1.0.1 + micromark-extension-gfm-task-list-item: 1.0.3 + micromark-util-combine-extensions: 1.0.0 + micromark-util-types: 1.0.2 dev: true - /micromark-factory-destination@1.1.0: - resolution: {integrity: sha512-XaNDROBgx9SgSChd69pjiGKbV+nfHGDPVYFs5dOoDd7ZnMAE+Cuu91BCpsY8RT2NP9vo/B8pds2VQNCLiu0zhg==} + /micromark-factory-destination@1.0.0: + resolution: {integrity: sha512-eUBA7Rs1/xtTVun9TmV3gjfPz2wEwgK5R5xcbIM5ZYAtvGF6JkyaDsj0agx8urXnO31tEO6Ug83iVH3tdedLnw==} dependencies: - micromark-util-character: 1.2.0 - micromark-util-symbol: 1.1.0 - micromark-util-types: 1.1.0 + micromark-util-character: 1.1.0 + micromark-util-symbol: 1.0.1 + micromark-util-types: 1.0.2 - /micromark-factory-label@1.1.0: - resolution: {integrity: sha512-OLtyez4vZo/1NjxGhcpDSbHQ+m0IIGnT8BoPamh+7jVlzLJBH98zzuCoUeMxvM6WsNeh8wx8cKvqLiPHEACn0w==} + /micromark-factory-label@1.0.2: + resolution: {integrity: sha512-CTIwxlOnU7dEshXDQ+dsr2n+yxpP0+fn271pu0bwDIS8uqfFcumXpj5mLn3hSC8iw2MUr6Gx8EcKng1dD7i6hg==} dependencies: - micromark-util-character: 1.2.0 - micromark-util-symbol: 1.1.0 - micromark-util-types: 1.1.0 + micromark-util-character: 1.1.0 + micromark-util-symbol: 1.0.1 + micromark-util-types: 1.0.2 uvu: 0.5.6 - /micromark-factory-space@1.1.0: - resolution: {integrity: sha512-cRzEj7c0OL4Mw2v6nwzttyOZe8XY/Z8G0rzmWQZTBi/jjwyw/U4uqKtUORXQrR5bAZZnbTI/feRV/R7hc4jQYQ==} + /micromark-factory-space@1.0.0: + resolution: {integrity: sha512-qUmqs4kj9a5yBnk3JMLyjtWYN6Mzfcx8uJfi5XAveBniDevmZasdGBba5b4QsvRcAkmvGo5ACmSUmyGiKTLZew==} dependencies: - micromark-util-character: 1.2.0 - micromark-util-types: 1.1.0 + micromark-util-character: 1.1.0 + micromark-util-types: 1.0.2 - /micromark-factory-title@1.1.0: - resolution: {integrity: sha512-J7n9R3vMmgjDOCY8NPw55jiyaQnH5kBdV2/UXCtZIpnHH3P6nHUKaH7XXEYuWwx/xUJcawa8plLBEjMPU24HzQ==} + /micromark-factory-title@1.0.2: + resolution: {integrity: sha512-zily+Nr4yFqgMGRKLpTVsNl5L4PMu485fGFDOQJQBl2NFpjGte1e86zC0da93wf97jrc4+2G2GQudFMHn3IX+A==} dependencies: - micromark-factory-space: 1.1.0 - micromark-util-character: 1.2.0 - micromark-util-symbol: 1.1.0 - micromark-util-types: 1.1.0 + micromark-factory-space: 1.0.0 + micromark-util-character: 1.1.0 + micromark-util-symbol: 1.0.1 + micromark-util-types: 1.0.2 + uvu: 0.5.6 - /micromark-factory-whitespace@1.1.0: - resolution: {integrity: sha512-v2WlmiymVSp5oMg+1Q0N1Lxmt6pMhIHD457whWM7/GUlEks1hI9xj5w3zbc4uuMKXGisksZk8DzP2UyGbGqNsQ==} + /micromark-factory-whitespace@1.0.0: + resolution: {integrity: sha512-Qx7uEyahU1lt1RnsECBiuEbfr9INjQTGa6Err+gF3g0Tx4YEviPbqqGKNv/NrBaE7dVHdn1bVZKM/n5I/Bak7A==} dependencies: - micromark-factory-space: 1.1.0 - micromark-util-character: 1.2.0 - micromark-util-symbol: 1.1.0 - micromark-util-types: 1.1.0 + micromark-factory-space: 1.0.0 + micromark-util-character: 1.1.0 + micromark-util-symbol: 1.0.1 + micromark-util-types: 1.0.2 - /micromark-util-character@1.2.0: - resolution: {integrity: sha512-lXraTwcX3yH/vMDaFWCQJP1uIszLVebzUa3ZHdrgxr7KEU/9mL4mVgCpGbyhvNLNlauROiNUq7WN5u7ndbY6xg==} + /micromark-util-character@1.1.0: + resolution: {integrity: sha512-agJ5B3unGNJ9rJvADMJ5ZiYjBRyDpzKAOk01Kpi1TKhlT1APx3XZk6eN7RtSz1erbWHC2L8T3xLZ81wdtGRZzg==} dependencies: - micromark-util-symbol: 1.1.0 - micromark-util-types: 1.1.0 + micromark-util-symbol: 1.0.1 + micromark-util-types: 1.0.2 - /micromark-util-chunked@1.1.0: - resolution: {integrity: sha512-Ye01HXpkZPNcV6FiyoW2fGZDUw4Yc7vT0E9Sad83+bEDiCJ1uXu0S3mr8WLpsz3HaG3x2q0HM6CTuPdcZcluFQ==} + /micromark-util-chunked@1.0.0: + resolution: {integrity: sha512-5e8xTis5tEZKgesfbQMKRCyzvffRRUX+lK/y+DvsMFdabAicPkkZV6gO+FEWi9RfuKKoxxPwNL+dFF0SMImc1g==} dependencies: - micromark-util-symbol: 1.1.0 + micromark-util-symbol: 1.0.1 - /micromark-util-classify-character@1.1.0: - resolution: {integrity: sha512-SL0wLxtKSnklKSUplok1WQFoGhUdWYKggKUiqhX+Swala+BtptGCu5iPRc+xvzJ4PXE/hwM3FNXsfEVgoZsWbw==} + /micromark-util-classify-character@1.0.0: + resolution: {integrity: sha512-F8oW2KKrQRb3vS5ud5HIqBVkCqQi224Nm55o5wYLzY/9PwHGXC01tr3d7+TqHHz6zrKQ72Okwtvm/xQm6OVNZA==} dependencies: - micromark-util-character: 1.2.0 - micromark-util-symbol: 1.1.0 - micromark-util-types: 1.1.0 + micromark-util-character: 1.1.0 + micromark-util-symbol: 1.0.1 + micromark-util-types: 1.0.2 - /micromark-util-combine-extensions@1.1.0: - resolution: {integrity: sha512-Q20sp4mfNf9yEqDL50WwuWZHUrCO4fEyeDCnMGmG5Pr0Cz15Uo7KBs6jq+dq0EgX4DPwwrh9m0X+zPV1ypFvUA==} + /micromark-util-combine-extensions@1.0.0: + resolution: {integrity: sha512-J8H058vFBdo/6+AsjHp2NF7AJ02SZtWaVUjsayNFeAiydTxUwViQPxN0Hf8dp4FmCQi0UUFovFsEyRSUmFH3MA==} dependencies: - micromark-util-chunked: 1.1.0 - micromark-util-types: 1.1.0 + micromark-util-chunked: 1.0.0 + micromark-util-types: 1.0.2 - /micromark-util-decode-numeric-character-reference@1.1.0: - resolution: {integrity: sha512-m9V0ExGv0jB1OT21mrWcuf4QhP46pH1KkfWy9ZEezqHKAxkj4mPCy3nIH1rkbdMlChLHX531eOrymlwyZIf2iw==} + /micromark-util-decode-numeric-character-reference@1.0.0: + resolution: {integrity: sha512-OzO9AI5VUtrTD7KSdagf4MWgHMtET17Ua1fIpXTpuhclCqD8egFWo85GxSGvxgkGS74bEahvtM0WP0HjvV0e4w==} dependencies: - micromark-util-symbol: 1.1.0 + micromark-util-symbol: 1.0.1 - /micromark-util-decode-string@1.1.0: - resolution: {integrity: sha512-YphLGCK8gM1tG1bd54azwyrQRjCFcmgj2S2GoJDNnh4vYtnL38JS8M4gpxzOPNyHdNEpheyWXCTnnTDY3N+NVQ==} + /micromark-util-decode-string@1.0.2: + resolution: {integrity: sha512-DLT5Ho02qr6QWVNYbRZ3RYOSSWWFuH3tJexd3dgN1odEuPNxCngTCXJum7+ViRAd9BbdxCvMToPOD/IvVhzG6Q==} dependencies: decode-named-character-reference: 1.0.2 - micromark-util-character: 1.2.0 - micromark-util-decode-numeric-character-reference: 1.1.0 - micromark-util-symbol: 1.1.0 + micromark-util-character: 1.1.0 + micromark-util-decode-numeric-character-reference: 1.0.0 + micromark-util-symbol: 1.0.1 - /micromark-util-encode@1.1.0: - resolution: {integrity: sha512-EuEzTWSTAj9PA5GOAs992GzNh2dGQO52UvAbtSOMvXTxv3Criqb6IOzJUBCmEqrrXSblJIJBbFFv6zPxpreiJw==} + /micromark-util-encode@1.0.1: + resolution: {integrity: sha512-U2s5YdnAYexjKDel31SVMPbfi+eF8y1U4pfiRW/Y8EFVCy/vgxk/2wWTxzcqE71LHtCuCzlBDRU2a5CQ5j+mQA==} - /micromark-util-html-tag-name@1.2.0: - resolution: {integrity: sha512-VTQzcuQgFUD7yYztuQFKXT49KghjtETQ+Wv/zUjGSGBioZnkA4P1XXZPT1FHeJA6RwRXSF47yvJ1tsJdoxwO+Q==} + /micromark-util-html-tag-name@1.1.0: + resolution: {integrity: sha512-BKlClMmYROy9UiV03SwNmckkjn8QHVaWkqoAqzivabvdGcwNGMMMH/5szAnywmsTBUzDsU57/mFi0sp4BQO6dA==} - /micromark-util-normalize-identifier@1.1.0: - resolution: {integrity: sha512-N+w5vhqrBihhjdpM8+5Xsxy71QWqGn7HYNUvch71iV2PM7+E3uWGox1Qp90loa1ephtCxG2ftRV/Conitc6P2Q==} + /micromark-util-normalize-identifier@1.0.0: + resolution: {integrity: sha512-yg+zrL14bBTFrQ7n35CmByWUTFsgst5JhA4gJYoty4Dqzj4Z4Fr/DHekSS5aLfH9bdlfnSvKAWsAgJhIbogyBg==} dependencies: - micromark-util-symbol: 1.1.0 + micromark-util-symbol: 1.0.1 - /micromark-util-resolve-all@1.1.0: - resolution: {integrity: sha512-b/G6BTMSg+bX+xVCshPTPyAu2tmA0E4X98NSR7eIbeC6ycCqCeE7wjfDIgzEbkzdEVJXRtOG4FbEm/uGbCRouA==} + /micromark-util-resolve-all@1.0.0: + resolution: {integrity: sha512-CB/AGk98u50k42kvgaMM94wzBqozSzDDaonKU7P7jwQIuH2RU0TeBqGYJz2WY1UdihhjweivStrJ2JdkdEmcfw==} dependencies: - micromark-util-types: 1.1.0 + micromark-util-types: 1.0.2 - /micromark-util-sanitize-uri@1.2.0: - resolution: {integrity: sha512-QO4GXv0XZfWey4pYFndLUKEAktKkG5kZTdUNaTAkzbuJxn2tNBOr+QtxR2XpWaMhbImT2dPzyLrPXLlPhph34A==} + /micromark-util-sanitize-uri@1.0.0: + resolution: {integrity: sha512-cCxvBKlmac4rxCGx6ejlIviRaMKZc0fWm5HdCHEeDWRSkn44l6NdYVRyU+0nT1XC72EQJMZV8IPHF+jTr56lAg==} dependencies: - micromark-util-character: 1.2.0 - micromark-util-encode: 1.1.0 - micromark-util-symbol: 1.1.0 + micromark-util-character: 1.1.0 + micromark-util-encode: 1.0.1 + micromark-util-symbol: 1.0.1 - /micromark-util-subtokenize@1.1.0: - resolution: {integrity: sha512-kUQHyzRoxvZO2PuLzMt2P/dwVsTiivCK8icYTeR+3WgbuPqfHgPPy7nFKbeqRivBvn/3N3GBiNC+JRTMSxEC7A==} + /micromark-util-subtokenize@1.0.2: + resolution: {integrity: sha512-d90uqCnXp/cy4G881Ub4psE57Sf8YD0pim9QdjCRNjfas2M1u6Lbt+XZK9gnHL2XFhnozZiEdCa9CNfXSfQ6xA==} dependencies: - micromark-util-chunked: 1.1.0 - micromark-util-symbol: 1.1.0 - micromark-util-types: 1.1.0 + micromark-util-chunked: 1.0.0 + micromark-util-symbol: 1.0.1 + micromark-util-types: 1.0.2 uvu: 0.5.6 - /micromark-util-symbol@1.1.0: - resolution: {integrity: sha512-uEjpEYY6KMs1g7QfJ2eX1SQEV+ZT4rUD3UcF6l57acZvLNK7PBZL+ty82Z1qhK1/yXIY4bdx04FKMgR0g4IAag==} + /micromark-util-symbol@1.0.1: + resolution: {integrity: sha512-oKDEMK2u5qqAptasDAwWDXq0tG9AssVwAx3E9bBF3t/shRIGsWIRG+cGafs2p/SnDSOecnt6hZPCE2o6lHfFmQ==} - /micromark-util-types@1.1.0: - resolution: {integrity: sha512-ukRBgie8TIAcacscVHSiddHjO4k/q3pnedmzMQ4iwDcK0FtFCohKOlFbaOL/mPgfnPsL3C1ZyxJa4sbWrBl3jg==} + /micromark-util-types@1.0.2: + resolution: {integrity: sha512-DCfg/T8fcrhrRKTPjRrw/5LLvdGV7BHySf/1LOZx7TzWZdYRjogNtyNq885z3nNallwr3QUKARjqvHqX1/7t+w==} /micromark@2.11.4: resolution: {integrity: sha512-+WoovN/ppKolQOFIAajxi7Lu9kInbPxFuTBVEavFcL8eAfVstoc5MocPmqBeAdBOJV00uaVjegzH4+MA0DN/uA==} @@ -12468,25 +12502,25 @@ packages: - supports-color dev: true - /micromark@3.2.0: - resolution: {integrity: sha512-uD66tJj54JLYq0De10AhWycZWGQNUvDI55xPgk2sQM5kn1JYlhbCMTtEeT27+vAhW2FBQxLlOmS3pmA7/2z4aA==} + /micromark@3.0.10: + resolution: {integrity: sha512-ryTDy6UUunOXy2HPjelppgJ2sNfcPz1pLlMdA6Rz9jPzhLikWXv/irpWV/I2jd68Uhmny7hHxAlAhk4+vWggpg==} dependencies: - '@types/debug': 4.1.8 + '@types/debug': 4.1.7 debug: 4.3.4(supports-color@8.1.1) decode-named-character-reference: 1.0.2 - micromark-core-commonmark: 1.1.0 - micromark-factory-space: 1.1.0 - micromark-util-character: 1.2.0 - micromark-util-chunked: 1.1.0 - micromark-util-combine-extensions: 1.1.0 - micromark-util-decode-numeric-character-reference: 1.1.0 - micromark-util-encode: 1.1.0 - micromark-util-normalize-identifier: 1.1.0 - micromark-util-resolve-all: 1.1.0 - micromark-util-sanitize-uri: 1.2.0 - micromark-util-subtokenize: 1.1.0 - micromark-util-symbol: 1.1.0 - micromark-util-types: 1.1.0 + micromark-core-commonmark: 1.0.6 + micromark-factory-space: 1.0.0 + micromark-util-character: 1.1.0 + micromark-util-chunked: 1.0.0 + micromark-util-combine-extensions: 1.0.0 + micromark-util-decode-numeric-character-reference: 1.0.0 + micromark-util-encode: 1.0.1 + micromark-util-normalize-identifier: 1.0.0 + micromark-util-resolve-all: 1.0.0 + micromark-util-sanitize-uri: 1.0.0 + micromark-util-subtokenize: 1.0.2 + micromark-util-symbol: 1.0.1 + micromark-util-types: 1.0.2 uvu: 0.5.6 transitivePeerDependencies: - supports-color @@ -12577,9 +12611,13 @@ packages: resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} dev: true - /minipass@7.0.3: - resolution: {integrity: sha512-LhbbwCfz3vsb12j/WkWQPZfKTsgqIe1Nf/ti1pKjYESGLHIVjWU96G9/ljLH4F9mWNVhlQOm0VySdAWzf05dpg==} - engines: {node: '>=16 || 14 >=14.17'} + /minipass@5.0.0: + resolution: {integrity: sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==} + engines: {node: '>=8'} + dev: true + + /minisearch@6.0.1: + resolution: {integrity: sha512-Ly1w0nHKnlhAAh6/BF/+9NgzXfoJxaJ8nhopFhQ3NcvFJrFIL+iCg9gw9e9UMBD+XIsp/RyznJ/o5UIe5Kw+kg==} dev: true /minisearch@6.1.0: @@ -12605,7 +12643,7 @@ packages: acorn: 8.10.0 pathe: 1.1.1 pkg-types: 1.0.3 - ufo: 1.2.0 + ufo: 1.1.2 dev: true /mri@1.2.0: @@ -12632,7 +12670,7 @@ packages: resolution: {integrity: sha512-2eznPJP8z2BFLX50tf0LuODrpINqP1RVIm/CObbTcBRITQgmC/TjcREF1NeTBzIcR5XO/ukWo+YHOjBbFwIupg==} hasBin: true dependencies: - dns-packet: 5.6.0 + dns-packet: 5.4.0 thunky: 1.1.0 dev: true @@ -12686,12 +12724,16 @@ packages: engines: {node: '>=10.5.0'} dev: true + /node-fetch-native@1.2.0: + resolution: {integrity: sha512-5IAMBTl9p6PaAjYCnMv5FmqIF6GcZnawAVnzaCG0rX2aYZJ4CxEkZNtVPuTRug7fL7wyM5BQYTlAzcyMPi6oTQ==} + dev: true + /node-fetch-native@1.4.0: resolution: {integrity: sha512-F5kfEj95kX8tkDhUCYdV8dg3/8Olx/94zB8+ZNthFs6Bz31UpUi8Xh40TN3thLwXgrwXry1pEg9lJ++tLWTcqA==} dev: true - /node-fetch@2.6.13: - resolution: {integrity: sha512-StxNAxh15zr77QvvkmveSQ8uCQ4+v5FkvNTj0OESmiHu+VRi/gXArXtkWMElOsOUNLtUEvI4yS+rdtOHZTwlQA==} + /node-fetch@2.6.7: + resolution: {integrity: sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==} engines: {node: 4.x || >=6.0.0} peerDependencies: encoding: ^0.1.0 @@ -12702,8 +12744,8 @@ packages: whatwg-url: 5.0.0 dev: true - /node-fetch@2.6.7(encoding@0.1.13): - resolution: {integrity: sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==} + /node-fetch@2.6.9(encoding@0.1.13): + resolution: {integrity: sha512-DJm/CJkZkRjKKj4Zi4BsKVZh3ValV5IR5s7LVZnW+6YMh0W1BfNA8XSs6DLMGYlId5F3KnA70uu2qepcR08Qqg==} engines: {node: 4.x || >=6.0.0} peerDependencies: encoding: ^0.1.0 @@ -12740,8 +12782,8 @@ packages: process-on-spawn: 1.0.0 dev: true - /node-releases@2.0.13: - resolution: {integrity: sha512-uYr7J37ae/ORWdZeQ1xxMJe3NtdmqMC/JZK+geofDrkLUApKRHPd18/TxtBOJ4A0/+uUIliorNrfYV6s1b02eQ==} + /node-releases@2.0.10: + resolution: {integrity: sha512-5GFldHPXVG/YZmFzJvKK2zDSzPKhEp0+ZR5SVaoSag9fsL5YgHbUHDfnG5494ISANDcK4KwPXAx2xqVEydmd7w==} dev: true /nomnom@1.5.2: @@ -12756,8 +12798,8 @@ packages: resolution: {integrity: sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==} dependencies: hosted-git-info: 2.8.9 - resolve: 1.22.4 - semver: 5.7.2 + resolve: 1.22.2 + semver: 5.7.1 validate-npm-package-license: 3.0.4 dev: true @@ -12766,8 +12808,8 @@ packages: engines: {node: '>=10'} dependencies: hosted-git-info: 4.1.0 - is-core-module: 2.13.0 - semver: 7.5.4 + is-core-module: 2.12.1 + semver: 7.5.3 validate-npm-package-license: 3.0.4 dev: true @@ -12801,8 +12843,8 @@ packages: path-key: 4.0.0 dev: true - /nwsapi@2.2.7: - resolution: {integrity: sha512-ub5E4+FBPKwAZx0UwIQOjYWGHTEq5sPqHQNRN8Z9e4A7u3Tj1weLJsL59yH9vmvqEtBHaOmT6cYQKIZOxp35FQ==} + /nwsapi@2.2.5: + resolution: {integrity: sha512-6xpotnECFy/og7tKSBVmUNft7J3jyXAka4XvG6AUhFWRz+Q/Ljus7znJAA3bxColfQLdS+XsjoodtJfCgeTEFQ==} dev: true /nyc@15.1.0: @@ -12813,7 +12855,7 @@ packages: '@istanbuljs/load-nyc-config': 1.1.0 '@istanbuljs/schema': 0.1.3 caching-transform: 4.0.0 - convert-source-map: 1.9.0 + convert-source-map: 1.8.0 decamelize: 1.2.0 find-cache-dir: 3.3.2 find-up: 4.1.0 @@ -12824,9 +12866,9 @@ packages: istanbul-lib-hook: 3.0.0 istanbul-lib-instrument: 4.0.3 istanbul-lib-processinfo: 2.0.3 - istanbul-lib-report: 3.0.1 + istanbul-lib-report: 3.0.0 istanbul-lib-source-maps: 4.0.1 - istanbul-reports: 3.1.6 + istanbul-reports: 3.1.5 make-dir: 3.1.0 node-preload: 0.2.1 p-map: 3.0.0 @@ -12873,12 +12915,20 @@ packages: resolution: {integrity: sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==} dev: true + /ofetch@1.1.1: + resolution: {integrity: sha512-SSMoktrp9SNLi20BWfB/BnnKcL0RDigXThD/mZBeQxkIRv1xrd9183MtLdsqRYLYSqW0eTr5t8w8MqjNhvoOQQ==} + dependencies: + destr: 2.0.0 + node-fetch-native: 1.2.0 + ufo: 1.1.2 + dev: true + /ofetch@1.3.3: resolution: {integrity: sha512-s1ZCMmQWXy4b5K/TW9i/DtiN8Ku+xCiHcjQ6/J/nDdssirrQNOoB165Zu8EqLMA2lln1JUth9a0aW9Ap2ctrUg==} dependencies: destr: 2.0.1 node-fetch-native: 1.4.0 - ufo: 1.3.0 + ufo: 1.3.1 dev: true /on-exit-leak-free@2.1.0: @@ -12916,8 +12966,8 @@ packages: mimic-fn: 4.0.0 dev: true - /open@8.4.2: - resolution: {integrity: sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==} + /open@8.4.0: + resolution: {integrity: sha512-XgFPPM+B28FtCCgSb9I+s9szOC1vZRSwgWsRUA5ylIxRTgKozqjOCrVOqGsYABPYK5qnfqClxZTFBa8PKt2v6Q==} engines: {node: '>=12'} dependencies: define-lazy-prop: 2.0.0 @@ -12925,26 +12975,28 @@ packages: is-wsl: 2.2.0 dev: true - /open@9.1.0: - resolution: {integrity: sha512-OS+QTnw1/4vrf+9hh1jc1jnYjzSG4ttTBB8UxOwAnInG3Uo4ssetzC1ihqaIHjLJnA5GGlRl6QlZXOTQhRBUvg==} - engines: {node: '>=14.16'} + /optionator@0.8.3: + resolution: {integrity: sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==} + engines: {node: '>= 0.8.0'} dependencies: - default-browser: 4.0.0 - define-lazy-prop: 3.0.0 - is-inside-container: 1.0.0 - is-wsl: 2.2.0 + deep-is: 0.1.4 + fast-levenshtein: 2.0.6 + levn: 0.3.0 + prelude-ls: 1.1.2 + type-check: 0.3.2 + word-wrap: 1.2.4 dev: true - /optionator@0.9.3: - resolution: {integrity: sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==} + /optionator@0.9.1: + resolution: {integrity: sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==} engines: {node: '>= 0.8.0'} dependencies: - '@aashutoshrathi/word-wrap': 1.2.6 deep-is: 0.1.4 fast-levenshtein: 2.0.6 levn: 0.4.1 prelude-ls: 1.2.1 type-check: 0.4.0 + word-wrap: 1.2.4 dev: true /ospath@1.2.2: @@ -13022,13 +13074,6 @@ packages: p-limit: 3.1.0 dev: true - /p-locate@6.0.0: - resolution: {integrity: sha512-wPrq66Llhl7/4AGC6I+cqxT07LhXvWL08LNXz1fENOw0Ap4sRZZ/gZpTTJ5jpurzzzfS2W/Ge9BY3LgLjCShcw==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - dependencies: - p-limit: 4.0.0 - dev: true - /p-map@3.0.0: resolution: {integrity: sha512-d3qXVTF/s+W+CdJ5A29wywV2n8CQQYahlgz2bFiA+4eVNJbHJodPZ+/gXwPGh0bOqA+j8S+6+ckmvLGPk1QpxQ==} engines: {node: '>=8'} @@ -13074,7 +13119,7 @@ packages: resolution: {integrity: sha512-whdkPIooSu/bASggZ96BWVvZTRMOFxnyUG5PnTSGKoJE2gd5mbVNmR2Nj20QFzxYYgAXpoqC+AiXzl+UMRh7zQ==} engines: {node: '>=8'} dependencies: - graceful-fs: 4.2.11 + graceful-fs: 4.2.10 hasha: 5.2.2 lodash.flattendeep: 4.4.0 release-zalgo: 1.0.0 @@ -13113,7 +13158,7 @@ packages: resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==} engines: {node: '>=8'} dependencies: - '@babel/code-frame': 7.22.10 + '@babel/code-frame': 7.18.6 error-ex: 1.3.2 json-parse-even-better-errors: 2.3.1 lines-and-columns: 1.2.4 @@ -13123,10 +13168,16 @@ packages: resolution: {integrity: sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==} dev: true + /parse5@7.1.1: + resolution: {integrity: sha512-kwpuwzB+px5WUg9pyK0IcK/shltJN5/OVhQagxhCQNtT9Y9QRZqNY2e1cmbu/paRh5LMnz/oVTVLBpjFmMZhSg==} + dependencies: + entities: 4.4.0 + dev: true + /parse5@7.1.2: resolution: {integrity: sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==} dependencies: - entities: 4.5.0 + entities: 4.4.0 dev: true /parseurl@1.3.3: @@ -13148,11 +13199,6 @@ packages: engines: {node: '>=8'} dev: true - /path-exists@5.0.0: - resolution: {integrity: sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - dev: true - /path-is-absolute@1.0.1: resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} engines: {node: '>=0.10.0'} @@ -13175,12 +13221,12 @@ packages: /path-parse@1.0.7: resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} - /path-scurry@1.10.1: - resolution: {integrity: sha512-MkhCqzzBEpPvxxQ71Md0b1Kk51W01lrYvlMzSUaIzNsODdd7mqhiimSZlr+VegAz5Z6Vzt9Xg2ttE//XBhH3EQ==} + /path-scurry@1.7.0: + resolution: {integrity: sha512-UkZUeDjczjYRE495+9thsgcVgsaCPkaw80slmfVFgllxY+IO8ubTsOpFVjDPROBqJdHfVPUFRHPBV/WciOVfWg==} engines: {node: '>=16 || 14 >=14.17'} dependencies: - lru-cache: 10.0.1 - minipass: 7.0.3 + lru-cache: 9.1.1 + minipass: 5.0.0 dev: true /path-to-regexp@0.1.7: @@ -13249,7 +13295,7 @@ packages: /pino-abstract-transport@1.0.0: resolution: {integrity: sha512-c7vo5OpW4wIS42hUVcT5REsL8ZljsUfBjqV/e2sFxmFEFZiq1XLUp5EYLtuDH6PEHq9W1egWqRbnLUP5FuZmOA==} dependencies: - readable-stream: 4.4.2 + readable-stream: 4.4.0 split2: 4.2.0 dev: false @@ -13257,15 +13303,15 @@ packages: resolution: {integrity: sha512-EqX4pwDPrt3MuOAAUBMU0Tk5kR/YcCM5fNPEzgCO2zJ5HfX0vbiH9HbJglnyeQsN96Kznae6MWD47pZB5avTrg==} dev: true - /pino-std-serializers@6.2.2: - resolution: {integrity: sha512-cHjPPsE+vhj/tnhCy/wiMh3M3z3h/j15zHQX+S9GkTBgqJuTuJzYJ4gUyACLhDaJ7kk9ba9iRDmbH2tJU03OiA==} + /pino-std-serializers@6.2.1: + resolution: {integrity: sha512-wHuWB+CvSVb2XqXM0W/WOYUkVSPbiJb9S5fNB7TBhd8s892Xq910bRxwHtC4l71hgztObTjXL6ZheZXFjhDrDQ==} dev: false /pino@6.14.0: resolution: {integrity: sha512-iuhEDel3Z3hF9Jfe44DPXR8l07bhjuFY3GMHIXbjnY9XcafbyDDwl2sN2vw2GjMPf5Nkoe+OFao7ffn9SXaKDg==} hasBin: true dependencies: - fast-redact: 3.3.0 + fast-redact: 3.1.2 fast-safe-stringify: 2.1.1 flatstr: 1.0.12 pino-std-serializers: 3.2.0 @@ -13274,25 +13320,25 @@ packages: sonic-boom: 1.4.1 dev: true - /pino@8.15.0: - resolution: {integrity: sha512-olUADJByk4twxccmAxb1RiGKOSvddHugCV3wkqjyv+3Sooa2KLrmXrKEWOKi0XPCLasRR5jBXxioE1jxUa4KzQ==} + /pino@8.14.1: + resolution: {integrity: sha512-8LYNv7BKWXSfS+k6oEc6occy5La+q2sPwU3q2ljTX5AZk7v+5kND2o5W794FyRaqha6DJajmkNRsWtPpFyMUdw==} hasBin: true dependencies: atomic-sleep: 1.0.0 - fast-redact: 3.3.0 + fast-redact: 3.1.2 on-exit-leak-free: 2.1.0 pino-abstract-transport: 1.0.0 - pino-std-serializers: 6.2.2 + pino-std-serializers: 6.2.1 process-warning: 2.2.0 quick-format-unescaped: 4.0.4 real-require: 0.2.0 safe-stable-stringify: 2.4.3 sonic-boom: 3.3.0 - thread-stream: 2.4.0 + thread-stream: 2.3.0 dev: false - /pirates@4.0.6: - resolution: {integrity: sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==} + /pirates@4.0.5: + resolution: {integrity: sha512-8V9+HQPupnaXMA23c5hvl69zXvTwTzyAYasnkb0Tts4XvO4CliqONMOnvlq26rkhLC3nWDFBJf73LU1e1VZLaQ==} engines: {node: '>= 6'} /pixelmatch@5.3.0: @@ -13316,13 +13362,6 @@ packages: find-up: 4.1.0 dev: true - /pkg-dir@7.0.0: - resolution: {integrity: sha512-Ie9z/WINcxxLp27BKOCHGde4ITq9UklYKDzVo1nhk5sqGEXU3FpkwP5GM2voTGJkGd9B3Otl+Q4uwSOeSUtOBA==} - engines: {node: '>=14.16'} - dependencies: - find-up: 6.3.0 - dev: true - /pkg-types@1.0.3: resolution: {integrity: sha512-nN7pYi0AQqJnoLPC9eHFQ8AcyaixBUOwvqc5TDnIKCMEE6I0y8P7OKA7fPexsXGCGxQDl/cmrLAp26LhcwxZ4A==} dependencies: @@ -13331,11 +13370,10 @@ packages: pathe: 1.1.1 dev: true - /plist@3.1.0: - resolution: {integrity: sha512-uysumyrvkUX0rX/dEVqt8gC3sTBzd4zoWfLeS29nb53imdaXVvLINYXTI2GNqzaMuvacNx4uJQ8+b3zXR0pkgQ==} - engines: {node: '>=10.4.0'} + /plist@3.0.6: + resolution: {integrity: sha512-WiIVYyrp8TD4w8yCvyeIr+lkmrGRd5u0VbRnU+tP/aRLxP/YadJUYOMZJ/6hIa3oUyVCsycXvtNRgd5XBJIbiA==} + engines: {node: '>=6'} dependencies: - '@xmldom/xmldom': 0.8.10 base64-js: 1.5.1 xmlbuilder: 15.1.1 dev: true @@ -13372,29 +13410,29 @@ packages: trouter: 2.0.1 dev: true - /postcss-import@15.1.0(postcss@8.4.28): + /postcss-import@15.1.0(postcss@8.4.27): resolution: {integrity: sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==} engines: {node: '>=14.0.0'} peerDependencies: postcss: ^8.0.0 dependencies: - postcss: 8.4.28 + postcss: 8.4.27 postcss-value-parser: 4.2.0 read-cache: 1.0.0 - resolve: 1.22.4 + resolve: 1.22.2 dev: false - /postcss-js@4.0.1(postcss@8.4.28): + /postcss-js@4.0.1(postcss@8.4.27): resolution: {integrity: sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==} engines: {node: ^12 || ^14 || >= 16} peerDependencies: postcss: ^8.4.21 dependencies: camelcase-css: 2.0.1 - postcss: 8.4.28 + postcss: 8.4.27 dev: false - /postcss-load-config@4.0.1(postcss@8.4.28)(ts-node@10.9.1): + /postcss-load-config@4.0.1(postcss@8.4.27)(ts-node@10.9.1): resolution: {integrity: sha512-vEJIc8RdiBRu3oRAI0ymerOn+7rPuMvRXslTvZUKZonDHFIczxztIyJ1urxM1x9JXEikvpWWTUUqal5j/8QgvA==} engines: {node: '>= 14'} peerDependencies: @@ -13407,18 +13445,18 @@ packages: optional: true dependencies: lilconfig: 2.1.0 - postcss: 8.4.28 + postcss: 8.4.27 ts-node: 10.9.1(@types/node@18.16.0)(typescript@5.1.3) - yaml: 2.3.1 + yaml: 2.2.2 dev: false - /postcss-nested@6.0.1(postcss@8.4.28): + /postcss-nested@6.0.1(postcss@8.4.27): resolution: {integrity: sha512-mEp4xPMi5bSWiMbsgoPfcP74lsWLHkQbZc3sY+jWYd65CUwXrUaTp0fmNpa01ZcETKlIgUdFN/MpS2xZtqL9dQ==} engines: {node: '>=12.0'} peerDependencies: postcss: ^8.2.14 dependencies: - postcss: 8.4.28 + postcss: 8.4.27 postcss-selector-parser: 6.0.13 dev: false @@ -13434,16 +13472,21 @@ packages: resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==} dev: false - /postcss@8.4.28: - resolution: {integrity: sha512-Z7V5j0cq8oEKyejIKfpD8b4eBy9cwW2JWPk0+fB1HOAMsfHbnAXLLS+PfVWlzMSLQaWttKDt607I0XHmpE67Vw==} + /postcss@8.4.27: + resolution: {integrity: sha512-gY/ACJtJPSmUFPDCHtX78+01fHa64FaU4zaaWfuh1MhGJISufJAH4cun6k/8fwsHYeK4UQmENQK+tRLCFJE8JQ==} engines: {node: ^10 || ^12 || >=14} dependencies: nanoid: 3.3.6 picocolors: 1.0.0 source-map-js: 1.0.2 - /preact@10.17.1: - resolution: {integrity: sha512-X9BODrvQ4Ekwv9GURm9AKAGaomqXmip7NQTZgY7gcNmr7XE83adOMJvd3N42id1tMFU7ojiynRsYnY6/BRFxLA==} + /preact@10.11.0: + resolution: {integrity: sha512-Fk6+vB2kb6mSJfDgODq0YDhMfl0HNtK5+Uc9QqECO4nlyPAQwCI+BKyWO//idA7ikV7o+0Fm6LQmNuQi1wXI1w==} + dev: true + + /prelude-ls@1.1.2: + resolution: {integrity: sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w==} + engines: {node: '>= 0.8.0'} dev: true /prelude-ls@1.2.1: @@ -13458,8 +13501,8 @@ packages: prettier: '>=2.1.2' dependencies: binary-searching: 2.0.5 - comment-parser: 1.4.0 - mdast-util-from-markdown: 1.3.1 + comment-parser: 1.3.1 + mdast-util-from-markdown: 1.3.0 prettier: 2.8.8 transitivePeerDependencies: - supports-color @@ -13476,16 +13519,16 @@ packages: engines: {node: '>=6'} dev: true - /pretty-bytes@6.1.1: - resolution: {integrity: sha512-mQUvGU6aUFQ+rNvTIAcZuWGRT9a6f6Yrg9bHs4ImKF+HZCEK+plBvnAZYSIQztknZF2qnzNtr6F8s0+IuptdlQ==} + /pretty-bytes@6.1.0: + resolution: {integrity: sha512-Rk753HI8f4uivXi4ZCIYdhmG1V+WKzvRMg/X+M42a6t7D07RcmopXJMDNk6N++7Bl75URRGsb40ruvg7Hcp2wQ==} engines: {node: ^14.13.1 || >=16.0.0} dev: true - /pretty-format@29.6.2: - resolution: {integrity: sha512-1q0oC8eRveTg5nnBEWMXAU2qpv65Gnuf2eCQzSjxpWFkPaPARwqZZDGuNE0zPAZfTCHzIk3A8dIjwlQKKLphyg==} + /pretty-format@29.5.0: + resolution: {integrity: sha512-V2mGkI31qdttvTFX7Mt4efOqHXqJWMu4/r66Xh3Z3BwZaPfPJgp6/gbwoujRpPUtfEF6AUUWx3Jim3GCw5g/Qw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@jest/schemas': 29.6.0 + '@jest/schemas': 29.4.3 ansi-styles: 5.2.0 react-is: 18.2.0 dev: true @@ -13563,15 +13606,8 @@ packages: dev: true /q@1.5.1: - resolution: {integrity: sha512-kV/CThkXo6xyFEZUugw/+pIOywXcDbFYgSct5cT3gqlbkBE1SJdwy6UQoZvodiWF/ckQLZyDE/Bu1M6gVu5lVw==} - engines: {node: '>=0.6.0', teleport: '>=0.2.0'} - dev: true - - /qs@6.10.4: - resolution: {integrity: sha512-OQiU+C+Ds5qiH91qh/mg0w+8nwQuLjM4F4M/PbmhDOoYehPh+Fb0bDjtR1sOvy7YKxvj28Y/M0PhP5uVX0kB+g==} - engines: {node: '>=0.6'} - dependencies: - side-channel: 1.0.4 + resolution: {integrity: sha512-kV/CThkXo6xyFEZUugw/+pIOywXcDbFYgSct5cT3gqlbkBE1SJdwy6UQoZvodiWF/ckQLZyDE/Bu1M6gVu5lVw==} + engines: {node: '>=0.6.0', teleport: '>=0.2.0'} dev: true /qs@6.11.0: @@ -13581,6 +13617,11 @@ packages: side-channel: 1.0.4 dev: true + /qs@6.5.3: + resolution: {integrity: sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA==} + engines: {node: '>=0.6'} + dev: true + /querystringify@2.2.0: resolution: {integrity: sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==} dev: true @@ -13678,8 +13719,8 @@ packages: type-fest: 1.4.0 dev: true - /readable-stream@2.3.8: - resolution: {integrity: sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==} + /readable-stream@2.3.7: + resolution: {integrity: sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==} dependencies: core-util-is: 1.0.3 inherits: 2.0.4 @@ -13690,8 +13731,8 @@ packages: util-deprecate: 1.0.2 dev: true - /readable-stream@3.6.2: - resolution: {integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==} + /readable-stream@3.6.0: + resolution: {integrity: sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==} engines: {node: '>= 6'} dependencies: inherits: 2.0.4 @@ -13699,15 +13740,14 @@ packages: util-deprecate: 1.0.2 dev: true - /readable-stream@4.4.2: - resolution: {integrity: sha512-Lk/fICSyIhodxy1IDK2HazkeGjSmezAWX2egdtJnYhtzKEsBPJowlI6F6LPb5tqIQILrMbx22S5o3GuJavPusA==} + /readable-stream@4.4.0: + resolution: {integrity: sha512-kDMOq0qLtxV9f/SQv522h8cxZBqNZXuXNyjyezmfAAuribMyVXziljpQ/uQhfE1XLg2/TLTW2DsnoE4VAi/krg==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: abort-controller: 3.0.0 buffer: 6.0.3 events: 3.3.0 process: 0.11.10 - string_decoder: 1.3.0 dev: false /readdirp@3.6.0: @@ -13725,7 +13765,7 @@ packages: resolution: {integrity: sha512-/njmZ8s1wVeR6pjTZ+0nCnv8SpZNRMT2D1RLOJQESlYFDBvwpTA4KWJpZ+sBJ4+vhjILRcK7JIFdGCdxEAAitg==} engines: {node: '>= 0.10'} dependencies: - resolve: 1.22.4 + resolve: 1.22.2 dev: true /redent@3.0.0: @@ -13755,23 +13795,23 @@ packages: resolution: {integrity: sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==} dev: true - /regenerator-runtime@0.14.0: - resolution: {integrity: sha512-srw17NI0TUWHuGa5CFGGmhfNIeja30WMBfbslPNhf6JrqQlLN5gcrvig1oqPxiVaXb0oW0XRKtH6Nngs5lKCIA==} + /regenerator-runtime@0.13.11: + resolution: {integrity: sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==} dev: true - /regenerator-transform@0.15.2: - resolution: {integrity: sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg==} + /regenerator-transform@0.15.1: + resolution: {integrity: sha512-knzmNAcuyxV+gQCufkYcvOqX/qIIfHLv0u5x79kRxuGojfYVky1f15TzZEu2Avte8QGepvUNTnLskf8E6X6Vyg==} dependencies: - '@babel/runtime': 7.22.10 + '@babel/runtime': 7.21.0 dev: true - /regexp-tree@0.1.27: - resolution: {integrity: sha512-iETxpjK6YoRWJG5o6hXLwvjYAoW+FEZn9os0PD/b6AP6xQwsa/Y7lCVgIixBbUPMfhu+i2LtdeAqVTgGlQarfA==} + /regexp-tree@0.1.24: + resolution: {integrity: sha512-s2aEVuLhvnVJW6s/iPgEGK6R+/xngd2jNQ+xy4bXNDKxZKJH6jpPHY6kVeVv1IeLCHgswRj+Kl3ELaDjG6V1iw==} hasBin: true dev: true - /regexp.prototype.flags@1.5.0: - resolution: {integrity: sha512-0SutC3pNudRKgquxGoRGIz946MZVHqbNfPjBdxeOhBrdgDKlRoXmYLQN9xRbrR09ZXWeGAdPuif7egofn6v5LA==} + /regexp.prototype.flags@1.4.3: + resolution: {integrity: sha512-fjggEOO3slI6Wvgjwflkc4NFRCTZAu5CnNfBd5qOMYhWdn67nJBBu34/TkD++eeFmd8C9r9jfXJ27+nSiRkSUA==} engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.2 @@ -13779,8 +13819,8 @@ packages: functions-have-names: 1.2.3 dev: true - /regexpu-core@5.3.2: - resolution: {integrity: sha512-RAM5FlZz+Lhmo7db9L298p2vHP5ZywrVXmVXpmAD9GuL5MPH6t9ROw1iA/wfHkQ76Qe7AaPF0nGuim96/IrQMQ==} + /regexpu-core@5.3.1: + resolution: {integrity: sha512-nCOzW2V/X15XpLsK2rlgdwrysrBq+AauCn+omItIz4R1pIcmeot5zvjdmOBRLzEH/CkC6IxMJVmxDe3QcMuNVQ==} engines: {node: '>=4'} dependencies: '@babel/regjsgen': 0.8.0 @@ -13815,18 +13855,18 @@ packages: /remark-frontmatter@4.0.1: resolution: {integrity: sha512-38fJrB0KnmD3E33a5jZC/5+gGAC2WKNiPw1/fdXJvijBlhA7RCsvJklrYJakS0HedninvaCYW8lQGf9C918GfA==} dependencies: - '@types/mdast': 3.0.12 - mdast-util-frontmatter: 1.0.1 - micromark-extension-frontmatter: 1.1.1 + '@types/mdast': 3.0.10 + mdast-util-frontmatter: 1.0.0 + micromark-extension-frontmatter: 1.0.0 unified: 10.1.2 dev: true /remark-gfm@3.0.1: resolution: {integrity: sha512-lEFDoi2PICJyNrACFOfDD3JlLkuSbOa5Wd8EPt06HUdptv8Gn0bxYTdbU/XXQ3swAPkEaGxxPN9cbnMHvVu1Ig==} dependencies: - '@types/mdast': 3.0.12 - mdast-util-gfm: 2.0.2 - micromark-extension-gfm: 2.0.3 + '@types/mdast': 3.0.10 + mdast-util-gfm: 2.0.1 + micromark-extension-gfm: 2.0.1 unified: 10.1.2 transitivePeerDependencies: - supports-color @@ -13835,17 +13875,7 @@ packages: /remark-parse@10.0.1: resolution: {integrity: sha512-1fUyHr2jLsVOkhbvPRBJ5zTKZZyD6yZzYaWCS6BPBdQ8vEMBCH+9zNCDA6tET/zHCi/jLqjCWtlJZUPk+DbnFw==} dependencies: - '@types/mdast': 3.0.12 - mdast-util-from-markdown: 1.3.0 - unified: 10.1.2 - transitivePeerDependencies: - - supports-color - dev: true - - /remark-parse@10.0.2: - resolution: {integrity: sha512-3ydxgHa/ZQzG8LvC7jTXccARYDcRld3VfcgIIFs7bI6vbRSxJJmzgLEIIoYKyrfhaY+ujuWaf/PJiMZXoiCXgw==} - dependencies: - '@types/mdast': 3.0.12 + '@types/mdast': 3.0.11 mdast-util-from-markdown: 1.3.0 unified: 10.1.2 transitivePeerDependencies: @@ -13855,25 +13885,17 @@ packages: /remark-stringify@10.0.2: resolution: {integrity: sha512-6wV3pvbPvHkbNnWB0wdDvVFHOe1hBRAx1Q/5g/EpH4RppAII6J8Gnwe7VbHuXaoKIF6LAg6ExTel/+kNqSQ7lw==} dependencies: - '@types/mdast': 3.0.12 - mdast-util-to-markdown: 1.5.0 - unified: 10.1.2 - dev: true - - /remark-stringify@10.0.3: - resolution: {integrity: sha512-koyOzCMYoUHudypbj4XpnAKFbkddRMYZHwghnxd7ue5210WzGw6kOBwauJTRUMq16jsovXx8dYNvSSWP89kZ3A==} - dependencies: - '@types/mdast': 3.0.12 - mdast-util-to-markdown: 1.5.0 + '@types/mdast': 3.0.11 + mdast-util-to-markdown: 1.3.0 unified: 10.1.2 dev: true /remark@14.0.2: resolution: {integrity: sha512-A3ARm2V4BgiRXaUo5K0dRvJ1lbogrbXnhkJRmD0yw092/Yl0kOCZt1k9ZeElEwkZsWGsMumz6qL5MfNJH9nOBA==} dependencies: - '@types/mdast': 3.0.12 - remark-parse: 10.0.2 - remark-stringify: 10.0.3 + '@types/mdast': 3.0.10 + remark-parse: 10.0.1 + remark-stringify: 10.0.2 unified: 10.1.2 transitivePeerDependencies: - supports-color @@ -13944,15 +13966,24 @@ packages: /resolve@1.19.0: resolution: {integrity: sha512-rArEXAgsBG4UgRGcynxWIWKFvh/XZCcS8UJdHhwy91zwAvCZIbcs+vAbflgBnNjYMs/i/i+/Ux6IZhML1yPvxg==} dependencies: - is-core-module: 2.13.0 + is-core-module: 2.12.1 + path-parse: 1.0.7 + dev: true + + /resolve@1.22.1: + resolution: {integrity: sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==} + hasBin: true + dependencies: + is-core-module: 2.10.0 path-parse: 1.0.7 + supports-preserve-symlinks-flag: 1.0.0 dev: true - /resolve@1.22.4: - resolution: {integrity: sha512-PXNdCiPqDqeUou+w1C2eTQbNfxKSuMxqTCuvlmmMsk1NWHL5fRrhY6Pl0qEYYc6+QqGClco1Qj8XnjPego4wfg==} + /resolve@1.22.2: + resolution: {integrity: sha512-Sb+mjNHOULsBv818T40qSPeRiuWLyaGMa5ewydRLFimneixmVy2zdivRl+AF6jaYPC8ERxGDmFSiqui6SfPd+g==} hasBin: true dependencies: - is-core-module: 2.13.0 + is-core-module: 2.12.1 path-parse: 1.0.7 supports-preserve-symlinks-flag: 1.0.0 @@ -14007,11 +14038,11 @@ packages: engines: {node: '>=14'} hasBin: true dependencies: - glob: 10.3.3 + glob: 10.2.2 dev: true - /robust-predicates@3.0.2: - resolution: {integrity: sha512-IXgzBWvWQwE6PrDI05OvmXUIruQTcoMDzRsOd5CDvHCVLcLHMTSYvOK5Cm46kWqlV3yAbuSpBZdJ5oP5OUoStg==} + /robust-predicates@3.0.1: + resolution: {integrity: sha512-ndEIpszUHiG4HtDsQLeIuMvRsDnn8c8rYStabochtUeCvfuvNptb5TUbVD68LRAILPX7p9nqQGh4xJgn3EHS/g==} dev: false /rollup-plugin-terser@7.0.2(rollup@2.79.1): @@ -14020,7 +14051,7 @@ packages: peerDependencies: rollup: ^2.0.0 dependencies: - '@babel/code-frame': 7.22.10 + '@babel/code-frame': 7.18.6 jest-worker: 26.6.2 rollup: 2.79.1 serialize-javascript: 4.0.0 @@ -14037,7 +14068,7 @@ packages: rollup: optional: true dependencies: - open: 8.4.2 + open: 8.4.0 picomatch: 2.3.1 source-map: 0.7.4 yargs: 17.7.2 @@ -14063,13 +14094,6 @@ packages: resolution: {integrity: sha512-APM0Gt1KoXBz0iIkkdB/kfvGOwC4UuJFeG/c+yV7wSc7q96cG/kJ0HiYCnzivD9SB53cLV1MlHFNfOuPaadYSw==} dev: true - /run-applescript@5.0.0: - resolution: {integrity: sha512-XcT5rBksx1QdIhlFOCtgZkB99ZEouFZ1E2Kc2LHqNW13U3/74YGdkQRmThTwxy4QIyookibDKYZOPqX//6BlAg==} - engines: {node: '>=12'} - dependencies: - execa: 5.1.1 - dev: true - /run-parallel@1.2.0: resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} dependencies: @@ -14079,10 +14103,10 @@ packages: resolution: {integrity: sha512-PdhdWy89SiZogBLaw42zdeqtRJ//zFd2PgQavcICDUgJT5oW10QCRKbJ6bg4r0/UY2M6BWd5tkxuGFRvCkgfHQ==} dev: false - /rxjs@7.8.1: - resolution: {integrity: sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==} + /rxjs@7.8.0: + resolution: {integrity: sha512-F2+gxDshqmIub1KdvZkaEfGDwLNpPvk9Fs6LD/MyQxNgMds/WH9OdDDXOmxUZpME+iSK3rQCctkL0DYyytUqMg==} dependencies: - tslib: 2.6.2 + tslib: 2.4.0 dev: true /sade@1.8.1: @@ -14091,28 +14115,19 @@ packages: dependencies: mri: 1.2.0 - /safe-array-concat@1.0.0: - resolution: {integrity: sha512-9dVEFruWIsnie89yym+xWTAYASdpw3CJV7Li/6zBewGf9z2i1j31rP6jnY0pHEO4QZh6N0K11bFjWmdR8UGdPQ==} - engines: {node: '>=0.4'} - dependencies: - call-bind: 1.0.2 - get-intrinsic: 1.2.1 - has-symbols: 1.0.3 - isarray: 2.0.5 - dev: true - /safe-buffer@5.1.2: resolution: {integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==} dev: true /safe-buffer@5.2.1: resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} + dev: true /safe-regex-test@1.0.0: resolution: {integrity: sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==} dependencies: call-bind: 1.0.2 - get-intrinsic: 1.2.1 + get-intrinsic: 1.2.0 is-regex: 1.1.4 dev: true @@ -14125,7 +14140,7 @@ packages: /safe-regex@2.1.1: resolution: {integrity: sha512-rx+x8AMzKb5Q5lQ95Zoi6ZbJqwCLkqi3XuJXp5P3rT8OEc6sZCJG5AE5dU3lsgRr/F4Bs31jSlVN+j5KrsGu9A==} dependencies: - regexp-tree: 0.1.27 + regexp-tree: 0.1.24 dev: true /safe-stable-stringify@2.4.3: @@ -14154,23 +14169,23 @@ packages: resolution: {integrity: sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==} engines: {node: '>= 10.13.0'} dependencies: - '@types/json-schema': 7.0.12 + '@types/json-schema': 7.0.11 ajv: 6.12.6 ajv-keywords: 3.5.2(ajv@6.12.6) dev: true - /schema-utils@4.2.0: - resolution: {integrity: sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw==} + /schema-utils@4.0.0: + resolution: {integrity: sha512-1edyXKgh6XnJsJSQ8mKWXnN/BVaIbFMLpouRUrXgVq7WYne5kw3MW7UPhO44uRXQSIpTSXoJbmrR2X0w9kUTyg==} engines: {node: '>= 12.13.0'} dependencies: - '@types/json-schema': 7.0.12 + '@types/json-schema': 7.0.11 ajv: 8.12.0 ajv-formats: 2.1.1(ajv@8.12.0) ajv-keywords: 5.1.0(ajv@8.12.0) dev: true - /search-insights@2.7.0: - resolution: {integrity: sha512-GLbVaGgzYEKMvuJbHRhLi1qoBFnjXZGZ6l4LxOYPCp4lI2jDRB3jPU9/XNhMwv6kvnA9slTreq6pvK+b3o3aqg==} + /search-insights@2.6.0: + resolution: {integrity: sha512-vU2/fJ+h/Mkm/DJOe+EaM5cafJv/1rRTZpGJTuFPf/Q5LjzgMDsqPdSaZsAe+GAWHHsfsu+rQSAn6c8IGtBEVw==} engines: {node: '>=8.16.0'} dev: true @@ -14193,13 +14208,13 @@ packages: resolution: {integrity: sha512-TcZvGMMy9vodEFSse30lWinkj+JgOBvPn8wRItpQRSayhc+4ssDs335uklkfvQQJgL/WvmHLVj4Ycv2s7QCQMg==} dev: true - /semver@5.7.2: - resolution: {integrity: sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==} + /semver@5.7.1: + resolution: {integrity: sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==} hasBin: true dev: true - /semver@6.3.1: - resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} + /semver@6.3.0: + resolution: {integrity: sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==} hasBin: true dev: true @@ -14219,8 +14234,16 @@ packages: lru-cache: 6.0.0 dev: true - /semver@7.5.4: - resolution: {integrity: sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==} + /semver@7.5.0: + resolution: {integrity: sha512-+XC0AD/R7Q2mPSRuy2Id0+CGTZ98+8f+KvwirxOKIEyid+XSx6HbC63p+O4IndTHuX5Z+JxQ0TghCkO5Cg/2HA==} + engines: {node: '>=10'} + hasBin: true + dependencies: + lru-cache: 6.0.0 + dev: true + + /semver@7.5.3: + resolution: {integrity: sha512-QBlUtyVk/5EeHbi7X0fw6liDZc7BBmEaSYn01fMU1OUYbf6GPsbTtd8WmnqbI20SeycoHSeiybkE/q1Q+qlThQ==} engines: {node: '>=10'} hasBin: true dependencies: @@ -14346,10 +14369,19 @@ packages: resolution: {integrity: sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA==} dev: true + /shiki@0.14.1: + resolution: {integrity: sha512-+Jz4nBkCBe0mEDqo1eKRcCdjRtrCjozmcbTUjbPTX7OOJfEbTZzlUWlZtGe3Gb5oV1/jnojhG//YZc3rs9zSEw==} + dependencies: + ansi-sequence-parser: 1.1.0 + jsonc-parser: 3.2.0 + vscode-oniguruma: 1.7.0 + vscode-textmate: 8.0.0 + dev: true + /shiki@0.14.3: resolution: {integrity: sha512-U3S/a+b0KS+UkTyMjoNojvTgrBHjgp7L6ovhFVZsXmBGnVdQ4K4U9oK0z63w538S91ATngv1vXigHCSWOwnr+g==} dependencies: - ansi-sequence-parser: 1.1.1 + ansi-sequence-parser: 1.1.0 jsonc-parser: 3.2.0 vscode-oniguruma: 1.7.0 vscode-textmate: 8.0.0 @@ -14358,7 +14390,7 @@ packages: /shiki@0.14.4: resolution: {integrity: sha512-IXCRip2IQzKwxArNNq1S+On4KPML3Yyn8Zzs/xRgcgOWIr8ntIK3IKzjFPfjy/7kt9ZMjc+FItfqHRBg8b6tNQ==} dependencies: - ansi-sequence-parser: 1.1.1 + ansi-sequence-parser: 1.1.0 jsonc-parser: 3.2.0 vscode-oniguruma: 1.7.0 vscode-textmate: 8.0.0 @@ -14380,8 +14412,8 @@ packages: resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} dev: true - /signal-exit@4.1.0: - resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} + /signal-exit@4.0.1: + resolution: {integrity: sha512-uUWsN4aOxJAS8KOuf3QMyFtgm1pkb6I+KRZbRF/ghdf5T7sM+B1lLLzPDxswUjkmHyxQAVzEgG35E3NzDM9GVw==} engines: {node: '>=14'} dev: true @@ -14397,7 +14429,7 @@ packages: dependencies: '@polka/url': 1.0.0-next.21 mrmime: 1.0.1 - totalist: 3.0.1 + totalist: 3.0.0 dev: true /sisteransi@1.0.5: @@ -14436,7 +14468,7 @@ packages: resolution: {integrity: sha512-FC+lgizVPfie0kkhqUScwRu1O/lF6NOgJmlCgK+/LYxDCTk8sGelYaHDhFcDN+Sn3Cv+3VSa4Byeo+IMCzpMgQ==} engines: {node: '>=12'} dependencies: - ansi-styles: 6.2.1 + ansi-styles: 6.1.1 is-fullwidth-code-point: 4.0.0 dev: true @@ -14488,6 +14520,11 @@ packages: dev: true optional: true + /source-map@0.5.7: + resolution: {integrity: sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==} + engines: {node: '>=0.10.0'} + dev: true + /source-map@0.6.1: resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} engines: {node: '>=0.10.0'} @@ -14526,11 +14563,11 @@ packages: which: 2.0.2 dev: true - /spdx-correct@3.2.0: - resolution: {integrity: sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==} + /spdx-correct@3.1.1: + resolution: {integrity: sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==} dependencies: spdx-expression-parse: 3.0.1 - spdx-license-ids: 3.0.13 + spdx-license-ids: 3.0.12 dev: true /spdx-exceptions@2.3.0: @@ -14541,11 +14578,11 @@ packages: resolution: {integrity: sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==} dependencies: spdx-exceptions: 2.3.0 - spdx-license-ids: 3.0.13 + spdx-license-ids: 3.0.12 dev: true - /spdx-license-ids@3.0.13: - resolution: {integrity: sha512-XkD+zwiqXHikFZm4AX/7JSCXA98U5Db4AFd5XUg/+9UNtnH75+Z9KxtpYiJZx36mUDVOwH83pl7yvCer6ewM3w==} + /spdx-license-ids@3.0.12: + resolution: {integrity: sha512-rr+VVSXtRhO4OHbXUiAF7xW3Bo9DuuF6C5jH+q/x15j2jniycgKbxU09Hr0WqlSLUs4i4ltHGXqTe7VHclYWyA==} dev: true /spdy-transport@3.0.0: @@ -14555,7 +14592,7 @@ packages: detect-node: 2.1.0 hpack.js: 2.1.6 obuf: 1.1.2 - readable-stream: 3.6.2 + readable-stream: 3.6.0 wbuf: 1.7.3 transitivePeerDependencies: - supports-color @@ -14577,7 +14614,7 @@ packages: /split2@3.2.2: resolution: {integrity: sha512-9NThjpgZnifTkJpzTZ7Eue85S49QwpNhZTq6GRJwObb6jnLFNGB7Qm73V5HewTROPyxD0C29xqmaI68bQtV+hg==} dependencies: - readable-stream: 3.6.2 + readable-stream: 3.6.0 dev: true /split2@4.2.0: @@ -14615,8 +14652,8 @@ packages: resolution: {integrity: sha512-Aj6Jl2z6oDmgYFFbQqK7fght19bXdOxY7Tj03nF+03M9gCBAjeIiO8/PlEGMfKDwYpw4q6iBqVq2YuREorGg/g==} dev: true - /stack-utils@2.0.6: - resolution: {integrity: sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==} + /stack-utils@2.0.5: + resolution: {integrity: sha512-xrQcmYhOsn/1kX+Vraq+7j4oE2j/6BFscZ0etmYg81xuM8Gq0022Pxb8+IqgOFUIaxHs0KaSb7T1+OegiNrNFA==} engines: {node: '>=10'} dependencies: escape-string-regexp: 2.0.0 @@ -14653,8 +14690,8 @@ packages: engines: {node: '>= 0.8'} dev: true - /std-env@3.4.0: - resolution: {integrity: sha512-YqHeQIIQ8r1VtUZOTOyjsAXAsjr369SplZ5rlQaiJTBsvodvPSCME7vuz8pnQltbQ0Cw0lyFo5Q8uyNwYQ58Xw==} + /std-env@3.3.3: + resolution: {integrity: sha512-Rz6yejtVyWnVjC1RFvNmYL10kgjC49EOghxWn0RFqlCHGFpQx+Xe7yW3I4ceK1SGrWIGMjD5Kbue8W/udkbMJg==} dev: true /stream-combiner@0.0.4: @@ -14663,8 +14700,8 @@ packages: duplexer: 0.1.2 dev: true - /string-argv@0.3.2: - resolution: {integrity: sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q==} + /string-argv@0.3.1: + resolution: {integrity: sha512-a1uQGz7IyVy9YwhqjZIZu1c8JO8dNIe20xBmSS6qu9kv++k3JGzCVmprbNN5Kn+BgzD5E7YYwg1CcjuJMRNsvg==} engines: {node: '>=0.6.19'} dev: true @@ -14696,7 +14733,7 @@ packages: dependencies: eastasianwidth: 0.2.0 emoji-regex: 9.2.2 - strip-ansi: 7.1.0 + strip-ansi: 7.0.1 dev: true /string.prototype.matchall@4.0.8: @@ -14704,29 +14741,20 @@ packages: dependencies: call-bind: 1.0.2 define-properties: 1.2.0 - es-abstract: 1.22.1 - get-intrinsic: 1.2.1 + es-abstract: 1.21.1 + get-intrinsic: 1.2.0 has-symbols: 1.0.3 internal-slot: 1.0.5 - regexp.prototype.flags: 1.5.0 + regexp.prototype.flags: 1.4.3 side-channel: 1.0.4 dev: true - /string.prototype.trim@1.2.7: - resolution: {integrity: sha512-p6TmeT1T3411M8Cgg9wBTMRtY2q9+PNy9EV1i2lIXUN/btt763oIfxwN3RR8VU6wHX8j/1CFy0L+YuThm6bgOg==} - engines: {node: '>= 0.4'} - dependencies: - call-bind: 1.0.2 - define-properties: 1.2.0 - es-abstract: 1.22.1 - dev: true - /string.prototype.trimend@1.0.6: resolution: {integrity: sha512-JySq+4mrPf9EsDBEDYMOb/lM7XQLulwg5R/m1r0PXEFqrV0qHvl58sdTilSXtKOflCsK2E8jxf+GKC0T07RWwQ==} dependencies: call-bind: 1.0.2 define-properties: 1.2.0 - es-abstract: 1.22.1 + es-abstract: 1.21.1 dev: true /string.prototype.trimstart@1.0.6: @@ -14734,7 +14762,7 @@ packages: dependencies: call-bind: 1.0.2 define-properties: 1.2.0 - es-abstract: 1.22.1 + es-abstract: 1.21.1 dev: true /string_decoder@1.1.1: @@ -14747,6 +14775,7 @@ packages: resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==} dependencies: safe-buffer: 5.2.1 + dev: true /stringify-object@3.3.0: resolution: {integrity: sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw==} @@ -14771,8 +14800,8 @@ packages: ansi-regex: 5.0.1 dev: true - /strip-ansi@7.1.0: - resolution: {integrity: sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==} + /strip-ansi@7.0.1: + resolution: {integrity: sha512-cXNxvT8dFNRVfhVME3JAe98mkXDYN2O1l7jmcwMnOslDeESg1rF/OZMtK0nRAhiari1unG5cD4jG3rapUAkLbw==} engines: {node: '>=12'} dependencies: ansi-regex: 6.0.1 @@ -14822,8 +14851,8 @@ packages: engines: {node: '>=8'} dev: true - /strip-literal@1.3.0: - resolution: {integrity: sha512-PugKzOsyXpArk0yWmUwqOZecSO0GH0bPoctLcqNDH9J04pVW3lflYE0ujElBGTloevcxF5MofAOZ7C5l2b+wLg==} + /strip-literal@1.0.1: + resolution: {integrity: sha512-QZTsipNpa2Ppr6v1AmJHESqJ3Uz247MUS0OjrnnZjFAvEoWqxuyFuXn2xLgMtRnijJShAa1HL0gtJyUs7u7n3Q==} dependencies: acorn: 8.10.0 dev: true @@ -14832,17 +14861,17 @@ packages: resolution: {integrity: sha512-GP6WDNWf+o403jrEp9c5jibKavrtLW+/qYGhFxFrG8maXhwTBI7gLLhiBb0o7uFccWN+EOS9aMO6cGHWAO07OA==} dev: false - /sucrase@3.34.0: - resolution: {integrity: sha512-70/LQEZ07TEcxiU2dz51FKaE6hCTWC6vr7FOk3Gr0U60C3shtAN+H+BFr9XlYe5xqf3RA8nrc+VIwzCfnxuXJw==} + /sucrase@3.32.0: + resolution: {integrity: sha512-ydQOU34rpSyj2TGyz4D2p8rbktIOZ8QY9s+DGLvFU1i5pWJE8vkpruCjGCMHsdXwnD7JDcS+noSwM/a7zyNFDQ==} engines: {node: '>=8'} hasBin: true dependencies: - '@jridgewell/gen-mapping': 0.3.3 + '@jridgewell/gen-mapping': 0.3.2 commander: 4.1.1 glob: 7.1.6 lines-and-columns: 1.2.4 mz: 2.7.0 - pirates: 4.0.6 + pirates: 4.0.5 ts-interface-checker: 0.1.13 dev: false @@ -14883,16 +14912,16 @@ packages: resolution: {integrity: sha512-L1dapNV6vu2s/4Sputv8xGsCdAVlb5nRDMFU/E27D44l5U6cw1g0dGd45uLc+OXjNMmF4ntiMdCimzcjFKQI8Q==} engines: {node: ^14.18.0 || >=16.0.0} dependencies: - '@pkgr/utils': 2.4.2 - tslib: 2.6.2 + '@pkgr/utils': 2.3.1 + tslib: 2.5.0 dev: true /tabbable@6.2.0: resolution: {integrity: sha512-Cat63mxsVJlzYvN51JmVXIgNoUokrIaT2zLclCXjRd8boZ0004U4KCs/sToJ75C6sdlByWxpYnb5Boif1VSFew==} dev: true - /tailwindcss@3.3.3(ts-node@10.9.1): - resolution: {integrity: sha512-A0KgSkef7eE4Mf+nKJ83i75TMyq8HqY3qmFIJSWy8bNt0v1lG7jUcpGpoTFxAwYcWOphcTBLPPJg+bDfhDf52w==} + /tailwindcss@3.3.2(ts-node@10.9.1): + resolution: {integrity: sha512-9jPkMiIBXvPc2KywkraqsUfbfj+dHDb+JPWtSJa9MLFdrPyazI7q6WX2sUrm7R9eVR7qqv3Pas7EvQFzxKnI6w==} engines: {node: '>=14.0.0'} hasBin: true dependencies: @@ -14904,20 +14933,21 @@ packages: fast-glob: 3.3.1 glob-parent: 6.0.2 is-glob: 4.0.3 - jiti: 1.19.3 + jiti: 1.19.1 lilconfig: 2.1.0 micromatch: 4.0.5 normalize-path: 3.0.0 object-hash: 3.0.0 picocolors: 1.0.0 - postcss: 8.4.28 - postcss-import: 15.1.0(postcss@8.4.28) - postcss-js: 4.0.1(postcss@8.4.28) - postcss-load-config: 4.0.1(postcss@8.4.28)(ts-node@10.9.1) - postcss-nested: 6.0.1(postcss@8.4.28) + postcss: 8.4.27 + postcss-import: 15.1.0(postcss@8.4.27) + postcss-js: 4.0.1(postcss@8.4.27) + postcss-load-config: 4.0.1(postcss@8.4.27)(ts-node@10.9.1) + postcss-nested: 6.0.1(postcss@8.4.27) postcss-selector-parser: 6.0.13 - resolve: 1.22.4 - sucrase: 3.34.0 + postcss-value-parser: 4.2.0 + resolve: 1.22.2 + sucrase: 3.32.0 transitivePeerDependencies: - ts-node dev: false @@ -14931,7 +14961,7 @@ packages: resolution: {integrity: sha512-RnW7HHZD1XuhSTzD3djYOdIl1adE3oNEprE3HOFFxWs5m4FZsqYRhKJ4mDU2udtNGMLUS7jV7l8vVRLWAvmPDw==} engines: {'0': node} dependencies: - '@babel/runtime': 7.22.10 + '@babel/runtime': 7.21.0 bluebird: 3.7.2 lodash: 4.17.21 shell-quote: 1.8.1 @@ -14978,7 +15008,7 @@ packages: uglify-js: optional: true dependencies: - '@jridgewell/trace-mapping': 0.3.19 + '@jridgewell/trace-mapping': 0.3.17 esbuild: 0.19.0 jest-worker: 27.5.1 schema-utils: 3.3.0 @@ -15027,8 +15057,8 @@ packages: dependencies: any-promise: 1.3.0 - /thread-stream@2.4.0: - resolution: {integrity: sha512-xZYtOtmnA63zj04Q+F9bdEay5r47bvpo1CaNqsKi7TpoJHcotUez8Fkfo2RJWpW91lnnaApdpRbVwCWsy+ifcw==} + /thread-stream@2.3.0: + resolution: {integrity: sha512-kaDqm1DET9pp3NXwR8382WHbnpXnRkN9xGN9dQt3B2+dmXiW8X1SOwmFOxAErEQ47ObhZ96J6yhZNXuyCOL7KA==} dependencies: real-require: 0.2.0 dev: false @@ -15048,7 +15078,7 @@ packages: /through2@4.0.2: resolution: {integrity: sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw==} dependencies: - readable-stream: 3.6.2 + readable-stream: 3.6.0 dev: true /through@2.3.8: @@ -15066,6 +15096,13 @@ packages: next-tick: 1.1.0 dev: true + /tiny-glob@0.2.9: + resolution: {integrity: sha512-g/55ssRPUjShh+xkfx9UPDXqhckHEsHr4Vd9zX55oSdGZc/MD0m3sferOkwWtp98bv+kcVfEHtRJgBVJzelrzg==} + dependencies: + globalyzer: 0.1.0 + globrex: 0.1.2 + dev: true + /tiny-lru@8.0.2: resolution: {integrity: sha512-ApGvZ6vVvTNdsmt676grvCkUCGwzG9IqXma5Z07xJgiC5L7akUMof5U8G2JTI9Rz/ovtVhJBlY6mNhEvtjzOIg==} engines: {node: '>=6'} @@ -15085,11 +15122,6 @@ packages: engines: {node: '>=14.0.0'} dev: true - /titleize@3.0.0: - resolution: {integrity: sha512-KxVu8EYHDPBdUYdKZdKtU2aj2XfEx9AfjXxE/Aj0vT06w2icA09Vus1rh6eSu1y01akYg6BjIK/hxyLJINoMLQ==} - engines: {node: '>=12'} - dev: true - /tmp@0.2.1: resolution: {integrity: sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ==} engines: {node: '>=8.17.0'} @@ -15116,13 +15148,21 @@ packages: engines: {node: '>=0.6'} dev: true - /totalist@3.0.1: - resolution: {integrity: sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ==} + /totalist@3.0.0: + resolution: {integrity: sha512-eM+pCBxXO/njtF7vdFsHuqb+ElbxqtI4r5EAvk6grfAFyJ6IvWlSkfZ5T9ozC6xWw3Fj1fGoSmrl0gUs46JVIw==} engines: {node: '>=6'} dev: true - /tough-cookie@4.1.3: - resolution: {integrity: sha512-aX/y5pVRkfRnfmuX+OdbSdXvPe6ieKX/G2s7e98f4poJHnqH3281gDPm/metm6E/WRamfx7WC4HUqkWHfQHprw==} + /tough-cookie@2.5.0: + resolution: {integrity: sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==} + engines: {node: '>=0.8'} + dependencies: + psl: 1.9.0 + punycode: 2.3.0 + dev: true + + /tough-cookie@4.1.2: + resolution: {integrity: sha512-G9fqXWoYFZgTc2z8Q5zaHy/vJMjm+WV0AkAeHxVCQiEB1b+dGvWzFW6QV07cY5jQ5gRkeid2qIkzkxUnmoQZUQ==} engines: {node: '>=6'} dependencies: psl: 1.9.0 @@ -15169,8 +15209,8 @@ packages: engines: {node: '>=8'} dev: true - /trim-newlines@4.1.1: - resolution: {integrity: sha512-jRKj0n0jXWo6kh62nA5TEh3+4igKDXLvzBJcPpiizP7oOolUrYIxmVBG9TOtHYFHoddUk6YvAkGeGoSVTXfQXQ==} + /trim-newlines@4.0.2: + resolution: {integrity: sha512-GJtWyq9InR/2HRiLZgpIKv+ufIKrVrvjQWEj7PxAXNc5dwbNJkqhAUoAGgzRmULAnoOM5EIpveYd3J2VeSAIew==} engines: {node: '>=12'} dev: true @@ -15221,39 +15261,9 @@ packages: '@tsconfig/node10': 1.0.9 '@tsconfig/node12': 1.0.11 '@tsconfig/node14': 1.0.3 - '@tsconfig/node16': 1.0.4 + '@tsconfig/node16': 1.0.3 '@types/node': 18.16.0 - acorn: 8.10.0 - acorn-walk: 8.2.0 - arg: 4.1.3 - create-require: 1.1.1 - diff: 4.0.2 - make-error: 1.3.6 - typescript: 5.1.3 - v8-compile-cache-lib: 3.0.1 - yn: 3.1.1 - - /ts-node@10.9.1(@types/node@20.4.7)(typescript@5.1.3): - resolution: {integrity: sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==} - hasBin: true - peerDependencies: - '@swc/core': '>=1.2.50' - '@swc/wasm': '>=1.2.50' - '@types/node': '*' - typescript: '>=2.7' - peerDependenciesMeta: - '@swc/core': - optional: true - '@swc/wasm': - optional: true - dependencies: - '@cspotcode/source-map-support': 0.8.1 - '@tsconfig/node10': 1.0.9 - '@tsconfig/node12': 1.0.11 - '@tsconfig/node14': 1.0.3 - '@tsconfig/node16': 1.0.4 - '@types/node': 20.4.7 - acorn: 8.10.0 + acorn: 8.8.2 acorn-walk: 8.2.0 arg: 4.1.3 create-require: 1.1.1 @@ -15262,7 +15272,6 @@ packages: typescript: 5.1.3 v8-compile-cache-lib: 3.0.1 yn: 3.1.1 - dev: true /ts-toolbelt@6.15.5: resolution: {integrity: sha512-FZIXf1ksVyLcfr7M317jbB67XFJhOO1YqdTcuGaq9q5jLUoTikukZ+98TPjKiP2jC5CgmYdWWYs0s2nLSU0/1A==} @@ -15272,8 +15281,22 @@ packages: resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==} dev: true - /tslib@2.6.2: - resolution: {integrity: sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==} + /tslib@2.4.0: + resolution: {integrity: sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==} + dev: true + + /tslib@2.5.0: + resolution: {integrity: sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==} + dev: true + + /tsutils@3.21.0(typescript@5.0.4): + resolution: {integrity: sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==} + engines: {node: '>= 6'} + peerDependencies: + typescript: '>=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta' + dependencies: + tslib: 1.14.1 + typescript: 5.0.4 dev: true /tsutils@3.21.0(typescript@5.1.3): @@ -15296,6 +15319,13 @@ packages: resolution: {integrity: sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==} dev: true + /type-check@0.3.2: + resolution: {integrity: sha512-ZCmOJdvOWDBYJlzAoFkC+Q0+bUyEOS1ltgp1MGU03fqHG+dbi9tBFU2Rd9QKiDZFAYrhPh2JUf7rZRIuHRKtOg==} + engines: {node: '>= 0.8.0'} + dependencies: + prelude-ls: 1.1.2 + dev: true + /type-check@0.4.0: resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} engines: {node: '>= 0.8.0'} @@ -15364,42 +15394,12 @@ packages: resolution: {integrity: sha512-dzlvlNlt6AXU7EBSfpAscydQ7gXB+pPGsPnfJnZpiNJBDj7IaJzQlBZYGdEi4R9HmPdBv2XmWJ6YUtoTa7lmCw==} dev: true - /typed-array-buffer@1.0.0: - resolution: {integrity: sha512-Y8KTSIglk9OZEr8zywiIHG/kmQ7KWyjseXs1CbSo8vC42w7hg2HgYTxSWwP0+is7bWDc1H+Fo026CpHFwm8tkw==} - engines: {node: '>= 0.4'} - dependencies: - call-bind: 1.0.2 - get-intrinsic: 1.2.1 - is-typed-array: 1.1.12 - dev: true - - /typed-array-byte-length@1.0.0: - resolution: {integrity: sha512-Or/+kvLxNpeQ9DtSydonMxCx+9ZXOswtwJn17SNLvhptaXYDJvkFFP5zbfU/uLmvnBJlI4yrnXRxpdWH/M5tNA==} - engines: {node: '>= 0.4'} - dependencies: - call-bind: 1.0.2 - for-each: 0.3.3 - has-proto: 1.0.1 - is-typed-array: 1.1.12 - dev: true - - /typed-array-byte-offset@1.0.0: - resolution: {integrity: sha512-RD97prjEt9EL8YgAgpOkf3O4IF9lhJFr9g0htQkm0rchFp/Vx7LW5Q8fSXXub7BXAODyUQohRMyOc3faCPd0hg==} - engines: {node: '>= 0.4'} - dependencies: - available-typed-arrays: 1.0.5 - call-bind: 1.0.2 - for-each: 0.3.3 - has-proto: 1.0.1 - is-typed-array: 1.1.12 - dev: true - /typed-array-length@1.0.4: resolution: {integrity: sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng==} dependencies: call-bind: 1.0.2 for-each: 0.3.3 - is-typed-array: 1.1.12 + is-typed-array: 1.1.10 dev: true /typedarray-to-buffer@3.1.5: @@ -15413,8 +15413,8 @@ packages: peerDependencies: typedoc: '>=0.24.0' dependencies: - handlebars: 4.7.8 - typedoc: 0.25.0(typescript@5.1.3) + handlebars: 4.7.7 + typedoc: 0.25.0(typescript@5.0.4) typedoc-plugin-mdn-links: 3.0.3(typedoc@0.25.0) dev: true @@ -15423,10 +15423,10 @@ packages: peerDependencies: typedoc: '>= 0.23.14 || 0.24.x' dependencies: - typedoc: 0.25.0(typescript@5.1.3) + typedoc: 0.25.0(typescript@5.0.4) dev: true - /typedoc@0.25.0(typescript@5.1.3): + /typedoc@0.25.0(typescript@5.0.4): resolution: {integrity: sha512-FvCYWhO1n5jACE0C32qg6b3dSfQ8f2VzExnnRboowHtqUD6ARzM2r8YJeZFYXhcm2hI4C2oCRDgNPk/yaQUN9g==} engines: {node: '>= 16'} hasBin: true @@ -15437,7 +15437,13 @@ packages: marked: 4.3.0 minimatch: 9.0.3 shiki: 0.14.3 - typescript: 5.1.3 + typescript: 5.0.4 + dev: true + + /typescript@5.0.4: + resolution: {integrity: sha512-cW9T5W9xY37cc+jfEnaUvX91foxtHkza3Nw3wkoF4sSlKn0MONdkdEndig/qPBWXNkmplh3NzayQzCiHM4/hqw==} + engines: {node: '>=12.20'} + hasBin: true dev: true /typescript@5.1.3: @@ -15449,18 +15455,19 @@ packages: resolution: {integrity: sha512-8Y75pvTYkLJW2hWQHXxoqRgV7qb9B+9vFEtidML+7koHUFapnVJAZ6cKs+Qjz5Aw3aZWHMC6u0wJE3At+nSGwA==} dev: true - /ufo@1.2.0: - resolution: {integrity: sha512-RsPyTbqORDNDxqAdQPQBpgqhWle1VcTSou/FraClYlHf6TZnQcGslpLcAphNR+sQW4q5lLWLbOsRlh9j24baQg==} + /ufo@1.1.2: + resolution: {integrity: sha512-TrY6DsjTQQgyS3E3dBaOXf0TpPD8u9FVrVYmKVegJuFw51n/YB9XPt+U6ydzFG5ZIN7+DIjPbNmXoBj9esYhgQ==} dev: true - /ufo@1.3.0: - resolution: {integrity: sha512-bRn3CsoojyNStCZe0BG0Mt4Nr/4KF+rhFlnNXybgqt5pXHNFRlqinSoQaTrGyzE4X8aHplSb+TorH+COin9Yxw==} + /ufo@1.3.1: + resolution: {integrity: sha512-uY/99gMLIOlJPwATcMVYfqDSxUR9//AUcgZMzwfSTJPDKzA1S8mX4VLqa+fiAtveraQUBCz4FFcwVZBGbwBXIw==} dev: true /uglify-js@3.17.3: resolution: {integrity: sha512-JmMFDME3iufZnBpyKL+uS78LRiC+mK55zWfM5f/pWBJfpOttXAqYfdDGRukYhJuyRinvPVAtUhvy7rlDybNtFg==} engines: {node: '>=0.8.0'} hasBin: true + requiresBuild: true dev: true /unbox-primitive@1.0.2: @@ -15475,9 +15482,9 @@ packages: /unconfig@0.3.10: resolution: {integrity: sha512-tj317lhIq2iZF/NXrJnU1t2UaGUKKz1eL1sK2t63Oq66V9BxqvZV12m55fp/fpQJ+DDmVlLgo7cnLVOZkhlO/A==} dependencies: - '@antfu/utils': 0.7.6 + '@antfu/utils': 0.7.5 defu: 6.1.2 - jiti: 1.19.3 + jiti: 1.19.1 mlly: 1.4.0 dev: true @@ -15511,13 +15518,13 @@ packages: /unified@10.1.2: resolution: {integrity: sha512-pUSWAi/RAnVy1Pif2kAoeWNBa3JVrx0MId2LASj8G+7AiHWoKZNTomq6LG326T68U7/e263X6fTdcXIy7XnF7Q==} dependencies: - '@types/unist': 2.0.7 + '@types/unist': 2.0.6 bail: 2.0.2 extend: 3.0.2 is-buffer: 2.0.5 is-plain-obj: 4.1.0 trough: 2.1.0 - vfile: 5.3.7 + vfile: 5.3.5 dev: true /unique-string@2.0.0: @@ -15534,39 +15541,37 @@ packages: /unist-util-inspect@7.0.1: resolution: {integrity: sha512-gEPeSrsYXus8012VJ00p9uZC8D0iogtLLiHlBgvS61hU22KNKduQhMKezJm83viHlLf3TYS2y9SDEFglWPDMKw==} dependencies: - '@types/unist': 2.0.7 + '@types/unist': 2.0.6 dev: true - /unist-util-is@5.2.1: - resolution: {integrity: sha512-u9njyyfEh43npf1M+yGKDGVPbY/JWEemg5nH05ncKPfi+kBbKBJoTdsogMu33uhytuLlv9y0O7GH7fEdwLdLQw==} - dependencies: - '@types/unist': 2.0.7 + /unist-util-is@5.1.1: + resolution: {integrity: sha512-F5CZ68eYzuSvJjGhCLPL3cYx45IxkqXSetCcRgUXtbcm50X2L9oOWQlfUfDdAf+6Pd27YDblBfdtmsThXmwpbQ==} dev: true /unist-util-stringify-position@2.0.3: resolution: {integrity: sha512-3faScn5I+hy9VleOq/qNbAd6pAx7iH5jYBMS9I1HgQVijz/4mv5Bvw5iw1sC/90CODiKo81G/ps8AJrISn687g==} dependencies: - '@types/unist': 2.0.7 + '@types/unist': 2.0.6 dev: true - /unist-util-stringify-position@3.0.3: - resolution: {integrity: sha512-k5GzIBZ/QatR8N5X2y+drfpWG8IDBzdnVj6OInRNWm1oXrzydiaAT2OQiA8DPRRZyAKb9b6I2a6PxYklZD0gKg==} + /unist-util-stringify-position@3.0.2: + resolution: {integrity: sha512-7A6eiDCs9UtjcwZOcCpM4aPII3bAAGv13E96IkawkOAW0OhH+yRxtY0lzo8KiHpzEMfH7Q+FizUmwp8Iqy5EWg==} dependencies: - '@types/unist': 2.0.7 + '@types/unist': 2.0.6 - /unist-util-visit-parents@5.1.3: - resolution: {integrity: sha512-x6+y8g7wWMyQhL1iZfhIPhDAs7Xwbn9nRosDXl7qoPTSCy0yNxnKc+hWokFifWQIDGi154rdUqKvbCa4+1kLhg==} + /unist-util-visit-parents@5.1.1: + resolution: {integrity: sha512-gks4baapT/kNRaWxuGkl5BIhoanZo7sC/cUT/JToSRNL1dYoXRFl75d++NkjYk4TAu2uv2Px+l8guMajogeuiw==} dependencies: - '@types/unist': 2.0.7 - unist-util-is: 5.2.1 + '@types/unist': 2.0.6 + unist-util-is: 5.1.1 dev: true /unist-util-visit@4.1.2: resolution: {integrity: sha512-MSd8OUGISqHdVvfY9TPhyK2VdUrPgxkUtWSuMHF6XAAFuL4LokseigBnZtPnJMu+FbynTkFNnFlyjxpVKujMRg==} dependencies: - '@types/unist': 2.0.7 - unist-util-is: 5.2.1 - unist-util-visit-parents: 5.1.3 + '@types/unist': 2.0.6 + unist-util-is: 5.1.1 + unist-util-visit-parents: 5.1.1 dev: true /universalify@0.1.2: @@ -15584,11 +15589,50 @@ packages: engines: {node: '>= 10.0.0'} dev: true - /unocss@0.56.1(postcss@8.4.27)(rollup@2.79.1)(vite@4.3.9): - resolution: {integrity: sha512-jjkcyXfW90CUjN4tBV6SrHX9ifi5GQgcwAQlMRB0copJEW3ejM/nyZnRgNexaV7hi7Ao76XMVqCKbOC5B+IuOA==} + /unocss@0.55.2(postcss@8.4.27)(rollup@2.79.1)(vite@4.3.9): + resolution: {integrity: sha512-+C8tFUFIEv40DpEhjA/Yv+RB5HZumkWiON2OlPyrbzapQ8x60F9TUwUS3pw7MlpxI6GfTCYwXKEE6DTGCm1SLA==} + engines: {node: '>=14'} + peerDependencies: + '@unocss/webpack': 0.55.2 + vite: ^2.9.0 || ^3.0.0-0 || ^4.0.0 + peerDependenciesMeta: + '@unocss/webpack': + optional: true + vite: + optional: true + dependencies: + '@unocss/astro': 0.55.2(rollup@2.79.1)(vite@4.3.9) + '@unocss/cli': 0.55.2(rollup@2.79.1) + '@unocss/core': 0.55.2 + '@unocss/extractor-arbitrary-variants': 0.55.2 + '@unocss/postcss': 0.55.2(postcss@8.4.27) + '@unocss/preset-attributify': 0.55.2 + '@unocss/preset-icons': 0.55.2 + '@unocss/preset-mini': 0.55.2 + '@unocss/preset-tagify': 0.55.2 + '@unocss/preset-typography': 0.55.2 + '@unocss/preset-uno': 0.55.2 + '@unocss/preset-web-fonts': 0.55.2 + '@unocss/preset-wind': 0.55.2 + '@unocss/reset': 0.55.2 + '@unocss/transformer-attributify-jsx': 0.55.2 + '@unocss/transformer-attributify-jsx-babel': 0.55.2 + '@unocss/transformer-compile-class': 0.55.2 + '@unocss/transformer-directives': 0.55.2 + '@unocss/transformer-variant-group': 0.55.2 + '@unocss/vite': 0.55.2(rollup@2.79.1)(vite@4.3.9) + vite: 4.3.9(@types/node@18.16.0) + transitivePeerDependencies: + - postcss + - rollup + - supports-color + dev: true + + /unocss@0.56.5(postcss@8.4.27)(rollup@2.79.1)(vite@4.3.9): + resolution: {integrity: sha512-tO+9St4CntSjHpLXZqBo0/etS06MtvFF1NEny/qFJCL9sCopWwmDKuzW6/LIb4wfqZLdMpVFoEACMNv8nP849A==} engines: {node: '>=14'} peerDependencies: - '@unocss/webpack': 0.56.1 + '@unocss/webpack': 0.56.5 vite: ^2.9.0 || ^3.0.0-0 || ^4.0.0 peerDependenciesMeta: '@unocss/webpack': @@ -15596,26 +15640,26 @@ packages: vite: optional: true dependencies: - '@unocss/astro': 0.56.1(rollup@2.79.1)(vite@4.3.9) - '@unocss/cli': 0.56.1(rollup@2.79.1) - '@unocss/core': 0.56.1 - '@unocss/extractor-arbitrary-variants': 0.56.1 - '@unocss/postcss': 0.56.1(postcss@8.4.27) - '@unocss/preset-attributify': 0.56.1 - '@unocss/preset-icons': 0.56.1 - '@unocss/preset-mini': 0.56.1 - '@unocss/preset-tagify': 0.56.1 - '@unocss/preset-typography': 0.56.1 - '@unocss/preset-uno': 0.56.1 - '@unocss/preset-web-fonts': 0.56.1 - '@unocss/preset-wind': 0.56.1 - '@unocss/reset': 0.56.1 - '@unocss/transformer-attributify-jsx': 0.56.1 - '@unocss/transformer-attributify-jsx-babel': 0.56.1 - '@unocss/transformer-compile-class': 0.56.1 - '@unocss/transformer-directives': 0.56.1 - '@unocss/transformer-variant-group': 0.56.1 - '@unocss/vite': 0.56.1(rollup@2.79.1)(vite@4.3.9) + '@unocss/astro': 0.56.5(rollup@2.79.1)(vite@4.3.9) + '@unocss/cli': 0.56.5(rollup@2.79.1) + '@unocss/core': 0.56.5 + '@unocss/extractor-arbitrary-variants': 0.56.5 + '@unocss/postcss': 0.56.5(postcss@8.4.27) + '@unocss/preset-attributify': 0.56.5 + '@unocss/preset-icons': 0.56.5 + '@unocss/preset-mini': 0.56.5 + '@unocss/preset-tagify': 0.56.5 + '@unocss/preset-typography': 0.56.5 + '@unocss/preset-uno': 0.56.5 + '@unocss/preset-web-fonts': 0.56.5 + '@unocss/preset-wind': 0.56.5 + '@unocss/reset': 0.56.5 + '@unocss/transformer-attributify-jsx': 0.56.5 + '@unocss/transformer-attributify-jsx-babel': 0.56.5 + '@unocss/transformer-compile-class': 0.56.5 + '@unocss/transformer-directives': 0.56.5 + '@unocss/transformer-variant-group': 0.56.5 + '@unocss/vite': 0.56.5(rollup@2.79.1)(vite@4.3.9) vite: 4.3.9(@types/node@18.16.0) transitivePeerDependencies: - postcss @@ -15628,7 +15672,7 @@ packages: engines: {node: '>= 0.8'} dev: true - /unplugin-vue-components@0.25.0(rollup@2.79.1)(vue@3.3.0): + /unplugin-vue-components@0.25.0(rollup@2.79.1)(vue@3.3.4): resolution: {integrity: sha512-HxrQ4GMSS1RwVww2av3a42cABo/v5AmTRN9iARv6e/xwkrfTyHhLh84kFwXxKkXK61vxDHxaryn694mQmkiVBg==} engines: {node: '>=14'} peerDependencies: @@ -15641,7 +15685,7 @@ packages: '@nuxt/kit': optional: true dependencies: - '@antfu/utils': 0.7.6 + '@antfu/utils': 0.7.5 '@rollup/pluginutils': 5.0.3(rollup@2.79.1) chokidar: 3.5.3 debug: 4.3.4(supports-color@8.1.1) @@ -15649,16 +15693,16 @@ packages: local-pkg: 0.4.3 magic-string: 0.30.2 minimatch: 9.0.3 - resolve: 1.22.4 - unplugin: 1.4.0 - vue: 3.3.0 + resolve: 1.22.2 + unplugin: 1.3.1 + vue: 3.3.4 transitivePeerDependencies: - rollup - supports-color dev: true - /unplugin@1.4.0: - resolution: {integrity: sha512-5x4eIEL6WgbzqGtF9UV8VEC/ehKptPXDS6L2b0mv4FRMkJxRtjaJfOWDd6a8+kYbqsjklix7yWP0N3SUepjXcg==} + /unplugin@1.3.1: + resolution: {integrity: sha512-h4uUTIvFBQRxUKS2Wjys6ivoeofGhxzTe2sRWlooyjHXVttcVfV/JiavNd3d4+jty0SVV0dxGw9AkY9MwiaCEw==} dependencies: acorn: 8.10.0 chokidar: 3.5.3 @@ -15676,13 +15720,13 @@ packages: engines: {node: '>=4'} dev: true - /update-browserslist-db@1.0.11(browserslist@4.21.10): - resolution: {integrity: sha512-dCwEFf0/oT85M1fHBg4F0jtLwJrutGoHSQXCh7u4o2t1drG+c0a9Flnqww6XUKSfQMPpJBRjU8d4RXB09qtvaA==} + /update-browserslist-db@1.0.10(browserslist@4.21.5): + resolution: {integrity: sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ==} hasBin: true peerDependencies: browserslist: '>= 4.21.0' dependencies: - browserslist: 4.21.10 + browserslist: 4.21.5 escalade: 3.1.1 picocolors: 1.0.0 dev: true @@ -15735,15 +15779,15 @@ packages: resolution: {integrity: sha512-6z3GW9x8G1gd+JIIgQQQxXuiJtCXeAjp6RaPEPLv62mH3iPHPxV6W3robxtCzNErRo6ZwTmzWhsbNvjyEBKzKA==} engines: {node: '>=10.12.0'} dependencies: - '@jridgewell/trace-mapping': 0.3.19 + '@jridgewell/trace-mapping': 0.3.17 '@types/istanbul-lib-coverage': 2.0.4 - convert-source-map: 1.9.0 + convert-source-map: 1.8.0 dev: true /validate-npm-package-license@3.0.4: resolution: {integrity: sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==} dependencies: - spdx-correct: 3.2.0 + spdx-correct: 3.1.1 spdx-expression-parse: 3.0.1 dev: true @@ -15761,20 +15805,20 @@ packages: extsprintf: 1.3.0 dev: true - /vfile-message@3.1.4: - resolution: {integrity: sha512-fa0Z6P8HUrQN4BZaX05SIVXic+7kE3b05PWAtPuYP9QLHsLKYR7/AlLW3NtOrpXRLeawpDLMsVkmk5DG0NXgWw==} + /vfile-message@3.1.2: + resolution: {integrity: sha512-QjSNP6Yxzyycd4SVOtmKKyTsSvClqBPJcd00Z0zuPj3hOIjg0rUPG6DbFGPvUKRgYyaIWLPKpuEclcuvb3H8qA==} dependencies: - '@types/unist': 2.0.7 - unist-util-stringify-position: 3.0.3 + '@types/unist': 2.0.6 + unist-util-stringify-position: 3.0.2 dev: true - /vfile@5.3.7: - resolution: {integrity: sha512-r7qlzkgErKjobAmyNIkkSpizsFPYiUPuJb5pNW1RB4JcYVZhs4lIbVqk8XPk033CV/1z8ss5pkax8SuhGpcG8g==} + /vfile@5.3.5: + resolution: {integrity: sha512-U1ho2ga33eZ8y8pkbQLH54uKqGhFJ6GYIHnnG5AhRpAh3OWjkrRHKa/KogbmQn8We+c0KVV3rTOgR9V/WowbXQ==} dependencies: - '@types/unist': 2.0.7 + '@types/unist': 2.0.6 is-buffer: 2.0.5 - unist-util-stringify-position: 3.0.3 - vfile-message: 3.1.4 + unist-util-stringify-position: 3.0.2 + vfile-message: 3.1.2 dev: true /vite-node@0.34.0(@types/node@18.16.0): @@ -15805,7 +15849,7 @@ packages: vite: '>=2.9.1 <= 5' dependencies: '@istanbuljs/load-nyc-config': 1.1.0 - istanbul-lib-instrument: 5.2.1 + istanbul-lib-instrument: 5.2.0 picocolors: 1.0.0 test-exclude: 6.0.0 vite: 4.3.9(@types/node@18.16.0) @@ -15823,7 +15867,7 @@ packages: dependencies: debug: 4.3.4(supports-color@8.1.1) fast-glob: 3.3.1 - pretty-bytes: 6.1.1 + pretty-bytes: 6.1.0 vite: 4.3.9(@types/node@18.16.0) workbox-build: 7.0.0 workbox-window: 7.0.0 @@ -15857,8 +15901,8 @@ packages: optional: true dependencies: '@types/node': 18.16.0 - esbuild: 0.17.19 - postcss: 8.4.28 + esbuild: 0.17.18 + postcss: 8.4.27 rollup: 3.28.0 optionalDependencies: fsevents: 2.3.2 @@ -15893,14 +15937,14 @@ packages: optional: true dependencies: '@types/node': 18.16.0 - esbuild: 0.18.20 - postcss: 8.4.28 + esbuild: 0.18.11 + postcss: 8.4.27 rollup: 3.28.0 optionalDependencies: fsevents: 2.3.2 dev: true - /vitepress-plugin-search@1.0.4-alpha.20(flexsearch@0.7.31)(vitepress@1.0.0-rc.10)(vue@3.3.4): + /vitepress-plugin-search@1.0.4-alpha.20(flexsearch@0.7.31)(vitepress@1.0.0-alpha.72)(vue@3.3.4): resolution: {integrity: sha512-zG+ev9pw1Mg7htABlFCNXb8XwnKN+qfTKw+vU0Ers6RIrABx+45EAAFBoaL1mEpl1FRFn1o/dQ7F4b8GP6HdGQ==} engines: {node: ^14.13.1 || ^16.7.0 || >=18} peerDependencies: @@ -15913,16 +15957,46 @@ packages: flexsearch: 0.7.31 glob-to-regexp: 0.4.1 markdown-it: 13.0.1 - vitepress: 1.0.0-rc.10(@algolia/client-search@4.19.1)(@types/node@18.16.0)(search-insights@2.7.0) + vitepress: 1.0.0-alpha.72(@algolia/client-search@4.19.1)(@types/node@18.16.0) + vue: 3.3.4 + dev: true + + /vitepress@1.0.0-alpha.72(@algolia/client-search@4.19.1)(@types/node@18.16.0): + resolution: {integrity: sha512-Ou7fNE/OVYLrKGQMHSTVG6AcNsdv7tm4ACrdhx93SPMzEDj8UgIb4RFa5CTTowaYf3jeDGi2EAJlzXVC+IE3dg==} + hasBin: true + dependencies: + '@docsearch/css': 3.3.3 + '@docsearch/js': 3.3.5(@algolia/client-search@4.19.1) + '@vitejs/plugin-vue': 4.2.3(vite@4.4.9)(vue@3.3.4) + '@vue/devtools-api': 6.5.0 + '@vueuse/core': 10.4.1(vue@3.3.4) + body-scroll-lock: 4.0.0-beta.0 + mark.js: 8.11.1 + minisearch: 6.0.1 + shiki: 0.14.1 + vite: 4.4.9(@types/node@18.16.0) vue: 3.3.4 + transitivePeerDependencies: + - '@algolia/client-search' + - '@types/node' + - '@types/react' + - '@vue/composition-api' + - less + - lightningcss + - react + - react-dom + - sass + - stylus + - sugarss + - terser dev: true - /vitepress@1.0.0-rc.10(@algolia/client-search@4.19.1)(@types/node@18.16.0)(search-insights@2.7.0): - resolution: {integrity: sha512-+MsahIWqq5WUEmj6MR4obcKYbT7im07jZPCQPdNJExkeOSbOAJ4xypSLx88x7rvtzWHhHc5aXbOhCRvGEGjFrw==} + /vitepress@1.0.0-rc.12(@algolia/client-search@4.19.1)(@types/node@18.16.0)(search-insights@2.6.0): + resolution: {integrity: sha512-mZknN5l9lgbBjXwumwdOQQDM+gPivswFEykEQeenY0tv7eocS+bb801IpFZT3mFV6YRhSddmbutHlFgPPADjEg==} hasBin: true dependencies: '@docsearch/css': 3.5.2 - '@docsearch/js': 3.5.2(@algolia/client-search@4.19.1)(search-insights@2.7.0) + '@docsearch/js': 3.5.2(@algolia/client-search@4.19.1)(search-insights@2.6.0) '@vue/devtools-api': 6.5.0 '@vueuse/core': 10.4.1(vue@3.3.4) '@vueuse/integrations': 10.4.1(focus-trap@7.5.2)(vue@3.3.4) @@ -15973,7 +16047,7 @@ packages: dependencies: '@docsearch/css': 3.5.2 '@docsearch/js': 3.5.2(@algolia/client-search@4.19.1)(search-insights@2.6.0) - '@types/markdown-it': 13.0.1 + '@types/markdown-it': 13.0.2 '@vue/devtools-api': 6.5.0 '@vueuse/core': 10.4.1(vue@3.3.4) '@vueuse/integrations': 10.4.1(focus-trap@7.5.2)(vue@3.3.4) @@ -16058,11 +16132,11 @@ packages: debug: 4.3.4(supports-color@8.1.1) jsdom: 22.0.0 local-pkg: 0.4.3 - magic-string: 0.30.2 + magic-string: 0.30.1 pathe: 1.1.1 picocolors: 1.0.0 - std-env: 3.4.0 - strip-literal: 1.3.0 + std-env: 3.3.3 + strip-literal: 1.0.1 tinybench: 2.5.0 tinypool: 0.7.0 vite: 4.4.9(@types/node@18.16.0) @@ -16082,10 +16156,10 @@ packages: resolution: {integrity: sha512-xGmv9QIWs2H8obGbWg+sIPI/3/pFgj/5OWBhNzs00BkYQ9UaB2F6JJaGB/2/YOZJ3BvLXQTC4Q7muqU25QgAhA==} dependencies: jsonc-parser: 3.2.0 - vscode-languageserver-textdocument: 1.0.8 - vscode-languageserver-types: 3.17.3 + vscode-languageserver-textdocument: 1.0.7 + vscode-languageserver-types: 3.17.2 vscode-nls: 5.2.0 - vscode-uri: 3.0.7 + vscode-uri: 3.0.6 dev: true /vscode-jsonrpc@8.0.2: @@ -16098,16 +16172,16 @@ packages: vscode-jsonrpc: 8.0.2 vscode-languageserver-types: 3.17.2 + /vscode-languageserver-textdocument@1.0.7: + resolution: {integrity: sha512-bFJH7UQxlXT8kKeyiyu41r22jCZXG8kuuVVA33OEJn1diWOZK5n8zBSPZFHVBOu8kXZ6h0LIRhf5UnCo61J4Hg==} + dev: true + /vscode-languageserver-textdocument@1.0.8: resolution: {integrity: sha512-1bonkGqQs5/fxGT5UchTgjGVnfysL0O8v1AYMBjqTbWQTFn721zaPGDYFkOKtfDgFiSgXM3KwaG3FMGfW4Ed9Q==} /vscode-languageserver-types@3.17.2: resolution: {integrity: sha512-zHhCWatviizPIq9B7Vh9uvrH6x3sK8itC84HkamnBWoDFJtzBf7SWlpLCZUit72b3os45h6RWQNC9xHRDF8dRA==} - /vscode-languageserver-types@3.17.3: - resolution: {integrity: sha512-SYU4z1dL0PyIMd4Vj8YOqFvHu7Hz/enbWtpfnVbJHU4Nd1YNYx8u0ennumc6h48GQNeOLxmwySmnADouT/AuZA==} - dev: true - /vscode-languageserver@8.0.2: resolution: {integrity: sha512-bpEt2ggPxKzsAOZlXmCJ50bV7VrxwCS5BI4+egUmure/oI/t4OlFzi/YNtVvY24A2UDOZAgwFGgnZPwqSJubkA==} hasBin: true @@ -16126,24 +16200,13 @@ packages: resolution: {integrity: sha512-AFbieoL7a5LMqcnOF04ji+rpXadgOXnZsxQr//r83kLPr7biP7am3g9zbaZIaBGwBRWeSvoMD4mgPdX3e4NWBg==} dev: true + /vscode-uri@3.0.6: + resolution: {integrity: sha512-fmL7V1eiDBFRRnu+gfRWTzyPpNIHJTc4mWnFkwBUmO9U3KPgJAmTx7oxi2bl/Rh6HLdU7+4C9wlj0k2E4AdKFQ==} + dev: true + /vscode-uri@3.0.7: resolution: {integrity: sha512-eOpPHogvorZRobNqJGhapa0JdwaxpjVvyBp0QIUMRMSf8ZAlqOdEquKuRmw9Qwu0qXtJIWqFtMkmvJjUZmMjVA==} - /vue-demi@0.14.5(vue@3.3.0): - resolution: {integrity: sha512-o9NUVpl/YlsGJ7t+xuqJKx8EBGf1quRhCiT6D/J0pfwmk9zUwYkC7yrF4SZCe6fETvSM3UNL2edcbYrSyc4QHA==} - engines: {node: '>=12'} - hasBin: true - requiresBuild: true - peerDependencies: - '@vue/composition-api': ^1.0.0-rc.1 - vue: ^3.0.0-0 || ^2.6.0 - peerDependenciesMeta: - '@vue/composition-api': - optional: true - dependencies: - vue: 3.3.0 - dev: false - /vue-demi@0.14.5(vue@3.3.4): resolution: {integrity: sha512-o9NUVpl/YlsGJ7t+xuqJKx8EBGf1quRhCiT6D/J0pfwmk9zUwYkC7yrF4SZCe6fETvSM3UNL2edcbYrSyc4QHA==} engines: {node: '>=12'} @@ -16157,16 +16220,6 @@ packages: optional: true dependencies: vue: 3.3.4 - dev: true - - /vue@3.3.0: - resolution: {integrity: sha512-cyyuVeFKvQy5eGIwN7VQlNKFu09DQSyTtunzpURRjPJwl6B2T7zo41oE1Nr/nacCsZVpnkE6FlWN0YfbY2SB2w==} - dependencies: - '@vue/compiler-dom': 3.3.0 - '@vue/compiler-sfc': 3.3.0 - '@vue/runtime-dom': 3.3.0 - '@vue/server-renderer': 3.3.0(vue@3.3.0) - '@vue/shared': 3.3.0 /vue@3.3.4: resolution: {integrity: sha512-VTyEYn3yvIeY1Py0WaYGZsXnz3y5UnGi62GjVEqvEGPl6nxbOrCXbVOTQWBEJUqAyTUk2uJ5JLVnYJ6ZzGbrSw==} @@ -16213,10 +16266,10 @@ packages: hasBin: true dependencies: axios: 0.27.2(debug@4.3.4) - joi: 17.9.2 + joi: 17.7.1 lodash: 4.17.21 minimist: 1.2.8 - rxjs: 7.8.1 + rxjs: 7.8.0 transitivePeerDependencies: - debug dev: true @@ -16232,7 +16285,7 @@ packages: engines: {node: '>=10.13.0'} dependencies: glob-to-regexp: 0.4.1 - graceful-fs: 4.2.11 + graceful-fs: 4.2.10 dev: true /wbuf@1.7.3: @@ -16250,13 +16303,13 @@ packages: resolution: {integrity: sha512-bQE4oVgjjg5sb3VkCD+Eb8mscEvf3TioP0mnEZK0f5OJUNI045gMCJgpX8X4J8ScGyEhzlhn1KvlAn3yzxjxog==} engines: {node: '>=12.0.0'} dependencies: - '@types/node': 18.17.6 + '@types/node': 18.16.0 '@wdio/config': 7.30.0(typescript@5.1.3) '@wdio/logger': 7.26.0 '@wdio/protocols': 7.27.0 '@wdio/types': 7.26.0(typescript@5.1.3) '@wdio/utils': 7.26.0(typescript@5.1.3) - got: 11.8.6 + got: 11.8.5 ky: 0.30.0 lodash.merge: 4.6.2 transitivePeerDependencies: @@ -16300,7 +16353,7 @@ packages: '@webpack-cli/configtest': 1.2.0(webpack-cli@4.10.0)(webpack@5.88.2) '@webpack-cli/info': 1.5.0(webpack-cli@4.10.0) '@webpack-cli/serve': 1.7.0(webpack-cli@4.10.0)(webpack-dev-server@4.11.1) - colorette: 2.0.20 + colorette: 2.0.19 commander: 7.2.0 cross-spawn: 7.0.3 fastest-levenshtein: 1.0.16 @@ -16309,7 +16362,7 @@ packages: rechoir: 0.7.1 webpack: 5.88.2(esbuild@0.19.0)(webpack-cli@4.10.0) webpack-dev-server: 4.11.1(webpack-cli@4.10.0)(webpack@5.88.2) - webpack-merge: 5.9.0 + webpack-merge: 5.8.0 dev: true /webpack-dev-middleware@5.3.3(webpack@5.88.2): @@ -16319,10 +16372,10 @@ packages: webpack: ^4.0.0 || ^5.0.0 dependencies: colorette: 2.0.20 - memfs: 3.5.3 + memfs: 3.4.11 mime-types: 2.1.35 range-parser: 1.2.1 - schema-utils: 4.2.0 + schema-utils: 4.0.0 webpack: 5.88.2(esbuild@0.19.0)(webpack-cli@4.10.0) dev: true @@ -16338,28 +16391,28 @@ packages: optional: true dependencies: '@types/bonjour': 3.5.10 - '@types/connect-history-api-fallback': 1.5.0 - '@types/express': 4.17.17 + '@types/connect-history-api-fallback': 1.3.5 + '@types/express': 4.17.14 '@types/serve-index': 1.9.1 - '@types/serve-static': 1.15.2 + '@types/serve-static': 1.15.0 '@types/sockjs': 0.3.33 - '@types/ws': 8.5.5 + '@types/ws': 8.5.3 ansi-html-community: 0.0.8 - bonjour-service: 1.1.1 + bonjour-service: 1.0.14 chokidar: 3.5.3 - colorette: 2.0.20 + colorette: 2.0.19 compression: 1.7.4 connect-history-api-fallback: 2.0.0 default-gateway: 6.0.3 express: 4.18.2 - graceful-fs: 4.2.11 - html-entities: 2.4.0 - http-proxy-middleware: 2.0.6(@types/express@4.17.17) - ipaddr.js: 2.1.0 - open: 8.4.2 + graceful-fs: 4.2.10 + html-entities: 2.3.3 + http-proxy-middleware: 2.0.6(@types/express@4.17.14) + ipaddr.js: 2.0.1 + open: 8.4.0 p-retry: 4.6.2 rimraf: 3.0.2 - schema-utils: 4.2.0 + schema-utils: 4.0.0 selfsigned: 2.1.1 serve-index: 1.9.1 sockjs: 0.3.24 @@ -16367,7 +16420,7 @@ packages: webpack: 5.88.2(esbuild@0.19.0)(webpack-cli@4.10.0) webpack-cli: 4.10.0(webpack-dev-server@4.11.1)(webpack@5.88.2) webpack-dev-middleware: 5.3.3(webpack@5.88.2) - ws: 8.13.0 + ws: 8.9.0 transitivePeerDependencies: - bufferutil - debug @@ -16375,12 +16428,12 @@ packages: - utf-8-validate dev: true - /webpack-merge@5.9.0: - resolution: {integrity: sha512-6NbRQw4+Sy50vYNTw7EyOn41OZItPiXB8GNv3INSoe3PSFaHJEz3SHTrYVaRm2LilNGnFUzh0FAwqPEmU/CwDg==} + /webpack-merge@5.8.0: + resolution: {integrity: sha512-/SaI7xY0831XwP6kzuwhKWVKDP9t1QY1h65lAFLbZqMPIuYcD9QAW4u9STIbU9kaJbPBB/geU/gLr1wDjOhQ+Q==} engines: {node: '>=10.0.0'} dependencies: clone-deep: 4.0.1 - wildcard: 2.0.1 + wildcard: 2.0.0 dev: true /webpack-sources@3.2.3: @@ -16403,20 +16456,20 @@ packages: optional: true dependencies: '@types/eslint-scope': 3.7.4 - '@types/estree': 1.0.1 + '@types/estree': 1.0.0 '@webassemblyjs/ast': 1.11.6 '@webassemblyjs/wasm-edit': 1.11.6 '@webassemblyjs/wasm-parser': 1.11.6 acorn: 8.10.0 acorn-import-assertions: 1.9.0(acorn@8.10.0) - browserslist: 4.21.10 + browserslist: 4.21.5 chrome-trace-event: 1.0.3 enhanced-resolve: 5.15.0 es-module-lexer: 1.3.0 eslint-scope: 5.1.1 events: 3.3.0 glob-to-regexp: 0.4.1 - graceful-fs: 4.2.11 + graceful-fs: 4.2.10 json-parse-even-better-errors: 2.3.1 loader-runner: 4.3.0 mime-types: 2.1.35 @@ -16512,8 +16565,8 @@ packages: resolution: {integrity: sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ==} dev: true - /which-typed-array@1.1.11: - resolution: {integrity: sha512-qe9UWWpkeG5yzZ0tNYxDmd7vo58HDBc39mZ0xWWpolAGADdFOzkfamWLDxkOWcvHQKVmdTyQdLD4NOfjLWTKew==} + /which-typed-array@1.1.9: + resolution: {integrity: sha512-w9c4xkx6mPidwp7180ckYWfMmvxpjlZuIudNtDf4N/tTAUB8VJbX25qZoAsrtGuYNnGw3pa0AXgbGKRB8/EceA==} engines: {node: '>= 0.4'} dependencies: available-typed-arrays: 1.0.5 @@ -16521,6 +16574,7 @@ packages: for-each: 0.3.3 gopd: 1.0.1 has-tostringtag: 1.0.0 + is-typed-array: 1.1.10 dev: true /which@1.3.1: @@ -16554,8 +16608,13 @@ packages: string-width: 4.2.3 dev: true - /wildcard@2.0.1: - resolution: {integrity: sha512-CC1bOL87PIWSBhDcTrdeLo6eGT7mCFtrg0uIJtqJUFyK+eJnzl8A1niH56uu7KMa5XFrtiV+AQuHO3n7DsHnLQ==} + /wildcard@2.0.0: + resolution: {integrity: sha512-JcKqAHLPxcdb9KM49dufGXn2x3ssnfjbcaQdLlfZsL9rH9wgDQjUtDxbo8NE0F6SFvydeu1VhZe7hZuHsB2/pw==} + dev: true + + /word-wrap@1.2.4: + resolution: {integrity: sha512-2V81OA4ugVo5pRo46hAoD2ivUJx8jXmWXfUkY4KFNw0hEptvN0QfH3K4nHiwzGeKl5rFKedV48QVoqYavy4YpA==} + engines: {node: '>=0.10.0'} dev: true /wordwrap@1.0.0: @@ -16580,10 +16639,10 @@ packages: engines: {node: '>=16.0.0'} dependencies: '@apideck/better-ajv-errors': 0.3.6(ajv@8.12.0) - '@babel/core': 7.22.10 - '@babel/preset-env': 7.22.10(@babel/core@7.22.10) - '@babel/runtime': 7.22.10 - '@rollup/plugin-babel': 5.3.1(@babel/core@7.22.10)(rollup@2.79.1) + '@babel/core': 7.12.3 + '@babel/preset-env': 7.20.2(@babel/core@7.12.3) + '@babel/runtime': 7.21.0 + '@rollup/plugin-babel': 5.3.1(@babel/core@7.12.3)(rollup@2.79.1) '@rollup/plugin-node-resolve': 11.2.1(rollup@2.79.1) '@rollup/plugin-replace': 2.4.2(rollup@2.79.1) '@surma/rollup-plugin-off-main-thread': 2.2.3 @@ -16704,7 +16763,7 @@ packages: /workbox-window@7.0.0: resolution: {integrity: sha512-j7P/bsAWE/a7sxqTzXo3P2ALb1reTfZdvVp6OJ/uLr/C2kZAMvjeWGm8V4htQhor7DOvYg0sSbFN2+flT5U0qA==} dependencies: - '@types/trusted-types': 2.0.3 + '@types/trusted-types': 2.0.2 workbox-core: 7.0.0 dev: true @@ -16726,15 +16785,6 @@ packages: strip-ansi: 6.0.1 dev: true - /wrap-ansi@8.1.0: - resolution: {integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==} - engines: {node: '>=12'} - dependencies: - ansi-styles: 6.2.1 - string-width: 5.1.2 - strip-ansi: 7.1.0 - dev: true - /wrappy@1.0.2: resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} @@ -16794,6 +16844,19 @@ packages: optional: true dev: true + /ws@8.9.0: + resolution: {integrity: sha512-Ja7nszREasGaYUYCI2k4lCKIRTt+y7XuqVoHR44YpI49TtryyqbqvDMn5eqfW7e6HzTukDRIsXqzVHScqRcafg==} + engines: {node: '>=10.0.0'} + peerDependencies: + bufferutil: ^4.0.1 + utf-8-validate: ^5.0.2 + peerDependenciesMeta: + bufferutil: + optional: true + utf-8-validate: + optional: true + dev: true + /xdg-basedir@4.0.0: resolution: {integrity: sha512-PSNhEJDejZYV7h50BohL09Er9VaIefr2LMAf3OEmpCkjOi34eYyQYAXUTjEQtZJTKcF0E2UKTh+osDLsgNim9Q==} engines: {node: '>=8'} @@ -16836,8 +16899,8 @@ packages: resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} dev: true - /yaml@2.3.1: - resolution: {integrity: sha512-2eHWfjaoXgTBC2jNM1LRef62VQa0umtvRiDSk6HSzW7RvS5YtkabJrwYLLEKWBc8a5U2PTSCs+dJjUTJdlHsWQ==} + /yaml@2.2.2: + resolution: {integrity: sha512-CBKFWExMn46Foo4cldiChEzn7S7SRV+wqiluAb6xmueD/fGyRHIhX8m14vVGgeFWjN540nKCNVj6P21eQjgTuA==} engines: {node: '>= 14'} /yargs-parser@18.1.3: @@ -16922,10 +16985,6 @@ packages: engines: {node: '>=12.20'} dev: true - /zwitch@2.0.4: - resolution: {integrity: sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==} + /zwitch@2.0.2: + resolution: {integrity: sha512-JZxotl7SxAJH0j7dN4pxsTV6ZLXoLdGME+PsjkL/DaBrVryK9kTGq06GfKrwcSOqypP+fdXGoCHE36b99fWVoA==} dev: true - -settings: - autoInstallPeers: true - excludeLinksFromLockfile: false From c08f927d603139f2619e71df47eda2801cf7164d Mon Sep 17 00:00:00 2001 From: itsalam Date: Fri, 15 Sep 2023 13:17:13 -0700 Subject: [PATCH 089/789] Fixed styling for lines for ELK flowchart --- .../rendering/flowchart-elk.spec.js | 40 +++++++++++++++++++ .../flowchart/elk/flowRenderer-elk.js | 13 ++++-- .../flowchart/elk/flowchart-elk-definition.ts | 2 +- 3 files changed, 51 insertions(+), 4 deletions(-) diff --git a/cypress/integration/rendering/flowchart-elk.spec.js b/cypress/integration/rendering/flowchart-elk.spec.js index 221806b073..be60735d45 100644 --- a/cypress/integration/rendering/flowchart-elk.spec.js +++ b/cypress/integration/rendering/flowchart-elk.spec.js @@ -844,3 +844,43 @@ end }); }); }); + +describe('Title and arrow styling #4813', () => { + + it('should render a flowchart with title', () => { + const titleString = 'Test Title'; + renderGraph( + `--- + title: ${titleString} + --- + flowchart LR + A-->B`, + { flowchart: { defaultRenderer: "elk" } } + ); + cy.get('svg').should((svg) => { + + const title = svg[0].querySelector('text'); + expect(title.textContent).to.contain(titleString); + }); + }); + + it('Render with stylized arrows', () => { + const titleString = 'Test Title'; + renderGraph( + ` + flowchart LR + A-->B + B-.-oC + C==xD + D ~~~ A`, + { flowchart: { defaultRenderer: "elk" } } + ); + cy.get('svg').should((svg) => { + const edges = svg[0].querySelectorAll('.edges path'); + expect(edges[0]).to.have.attr('pattern', 'solid'); + expect(edges[1]).to.have.attr('pattern', 'dotted'); + expect(edges[2]).to.have.css('stroke-width', '3.5px'); + expect(edges[3]).to.have.css('stroke-width', '1.5px'); + }); + }); +}) diff --git a/packages/mermaid/src/diagrams/flowchart/elk/flowRenderer-elk.js b/packages/mermaid/src/diagrams/flowchart/elk/flowRenderer-elk.js index e45739524e..10cf860722 100644 --- a/packages/mermaid/src/diagrams/flowchart/elk/flowRenderer-elk.js +++ b/packages/mermaid/src/diagrams/flowchart/elk/flowRenderer-elk.js @@ -4,6 +4,7 @@ import insertMarkers from '../../../dagre-wrapper/markers.js'; import { insertEdgeLabel } from '../../../dagre-wrapper/edges.js'; import { findCommonAncestor } from './render-utils.js'; import { labelHelper } from '../../../dagre-wrapper/shapes/util.js'; +import utils from '../../../utils.js'; import { getConfig } from '../../../config.js'; import { log } from '../../../logger.js'; import { setupGraphViewbox } from '../../../setupGraphViewbox.js'; @@ -756,6 +757,12 @@ const insertEdge = function (edgesEl, edge, edgeData, diagObj, parentLookupDb, i .attr('d', curve(points)) .attr('class', 'path ' + edgeData.classes) .attr('fill', 'none'); + Object.entries(edgeData).forEach(([key, value]) => { + if (key !== 'classes'){ + edgePath.attr(key, value); + } + }); + log.info(edgePath); const edgeG = edgesEl.insert('g').attr('class', 'edgeLabel'); const edgeWithLabel = select(edgeG.node().appendChild(edge.labelEl)); const box = edgeWithLabel.node().firstChild.getBoundingClientRect(); @@ -805,6 +812,7 @@ const insertChildren = (nodeArray, parentLookupDb) => { export const draw = async function (text, id, _version, diagObj) { // Add temporary render element diagObj.db.clear(); + const { securityLevel, flowchart: conf } = getConfig(); nodeDb = {}; portPos = {}; diagObj.db.setGen('gen-2'); @@ -816,8 +824,7 @@ export const draw = async function (text, id, _version, diagObj) { id: 'root', layoutOptions: { 'elk.hierarchyHandling': 'INCLUDE_CHILDREN', - 'org.eclipse.elk.padding': '[top=100, left=100, bottom=110, right=110]', - 'elk.layered.spacing.edgeNodeBetweenLayers': '30', + 'elk.layered.spacing.edgeNodeBetweenLayers': conf?.nodeSpacing ? `${conf.nodeSpacing}` : '30', // 'elk.layered.mergeEdges': 'true', 'elk.direction': 'DOWN', // 'elk.ports.sameLayerEdges': true, @@ -845,7 +852,6 @@ export const draw = async function (text, id, _version, diagObj) { graph.layoutOptions['elk.direction'] = 'LEFT'; break; } - const { securityLevel, flowchart: conf } = getConfig(); // Find the root dom node to ne used in rendering // Handle root and document for when rendering in sandbox mode @@ -861,6 +867,7 @@ export const draw = async function (text, id, _version, diagObj) { const svg = root.select(`[id="${id}"]`); + utils.insertTitle(svg, 'flowchartTitleText', conf.titleTopMargin, diagObj.db.getDiagramTitle()); // Define the supported markers for the diagram const markers = ['point', 'circle', 'cross']; diff --git a/packages/mermaid/src/diagrams/flowchart/elk/flowchart-elk-definition.ts b/packages/mermaid/src/diagrams/flowchart/elk/flowchart-elk-definition.ts index 9855c73899..4e907c18af 100644 --- a/packages/mermaid/src/diagrams/flowchart/elk/flowchart-elk-definition.ts +++ b/packages/mermaid/src/diagrams/flowchart/elk/flowchart-elk-definition.ts @@ -1,7 +1,7 @@ // @ts-ignore: JISON typing missing import parser from '../parser/flow.jison'; -import * as db from '../flowDb.js'; +import db from '../flowDb.js'; import renderer from './flowRenderer-elk.js'; import styles from './styles.js'; From 5e966d60b07fc01a59b4d104b3e8aa16815d8092 Mon Sep 17 00:00:00 2001 From: itsalam Date: Tue, 19 Sep 2023 10:10:27 -0700 Subject: [PATCH 090/789] Centered Title function and changed rendering order for Elk flowchart to find Boundingbox --- packages/mermaid/src/diagrams/flowchart/elk/flowRenderer-elk.js | 1 + packages/mermaid/src/utils.ts | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/packages/mermaid/src/diagrams/flowchart/elk/flowRenderer-elk.js b/packages/mermaid/src/diagrams/flowchart/elk/flowRenderer-elk.js index 10cf860722..ec9ae6af0b 100644 --- a/packages/mermaid/src/diagrams/flowchart/elk/flowRenderer-elk.js +++ b/packages/mermaid/src/diagrams/flowchart/elk/flowRenderer-elk.js @@ -949,6 +949,7 @@ export const draw = async function (text, id, _version, diagObj) { log.info('after layout', JSON.stringify(graph, null, 2)); const g = await elk.layout(graph); drawNodes(0, 0, g.children, svg, subGraphsEl, diagObj, 0); + utils.insertTitle(svg, 'flowchartTitleText', conf.titleTopMargin, diagObj.db.getDiagramTitle()); log.info('after layout', g); g.edges?.map((edge) => { insertEdge(edgesEl, edge, edge.edgeData, diagObj, parentLookupDb, id); diff --git a/packages/mermaid/src/utils.ts b/packages/mermaid/src/utils.ts index e706ef1227..d6f16a08aa 100644 --- a/packages/mermaid/src/utils.ts +++ b/packages/mermaid/src/utils.ts @@ -829,7 +829,7 @@ export const insertTitle = ( parent .append('text') .text(title) - .attr('x', bounds.x + bounds.width / 2) + .attr('x', '50%') .attr('y', -titleTopMargin) .attr('class', cssClass); }; From 55fac29b3e2eb5bdccedee4a79510a4a875c30f5 Mon Sep 17 00:00:00 2001 From: itsalam Date: Tue, 19 Sep 2023 10:40:14 -0700 Subject: [PATCH 091/789] fixed title bounds calculation, removed extra title from merging issues --- packages/mermaid/src/diagrams/flowchart/elk/flowRenderer-elk.js | 2 -- packages/mermaid/src/utils.ts | 2 +- 2 files changed, 1 insertion(+), 3 deletions(-) diff --git a/packages/mermaid/src/diagrams/flowchart/elk/flowRenderer-elk.js b/packages/mermaid/src/diagrams/flowchart/elk/flowRenderer-elk.js index ec9ae6af0b..c049786958 100644 --- a/packages/mermaid/src/diagrams/flowchart/elk/flowRenderer-elk.js +++ b/packages/mermaid/src/diagrams/flowchart/elk/flowRenderer-elk.js @@ -866,8 +866,6 @@ export const draw = async function (text, id, _version, diagObj) { const doc = securityLevel === 'sandbox' ? sandboxElement.nodes()[0].contentDocument : document; const svg = root.select(`[id="${id}"]`); - - utils.insertTitle(svg, 'flowchartTitleText', conf.titleTopMargin, diagObj.db.getDiagramTitle()); // Define the supported markers for the diagram const markers = ['point', 'circle', 'cross']; diff --git a/packages/mermaid/src/utils.ts b/packages/mermaid/src/utils.ts index d6f16a08aa..e706ef1227 100644 --- a/packages/mermaid/src/utils.ts +++ b/packages/mermaid/src/utils.ts @@ -829,7 +829,7 @@ export const insertTitle = ( parent .append('text') .text(title) - .attr('x', '50%') + .attr('x', bounds.x + bounds.width / 2) .attr('y', -titleTopMargin) .attr('class', cssClass); }; From 6d2904cff16adff66bd1a995a7ff43a01b671dcc Mon Sep 17 00:00:00 2001 From: Vincent Lam Date: Tue, 24 Oct 2023 16:52:44 -0700 Subject: [PATCH 092/789] Added linting --- cypress/integration/rendering/flowchart-elk.spec.js | 8 +++----- .../src/diagrams/flowchart/elk/flowRenderer-elk.js | 2 +- 2 files changed, 4 insertions(+), 6 deletions(-) diff --git a/cypress/integration/rendering/flowchart-elk.spec.js b/cypress/integration/rendering/flowchart-elk.spec.js index be60735d45..b18690441b 100644 --- a/cypress/integration/rendering/flowchart-elk.spec.js +++ b/cypress/integration/rendering/flowchart-elk.spec.js @@ -846,7 +846,6 @@ end }); describe('Title and arrow styling #4813', () => { - it('should render a flowchart with title', () => { const titleString = 'Test Title'; renderGraph( @@ -855,10 +854,9 @@ describe('Title and arrow styling #4813', () => { --- flowchart LR A-->B`, - { flowchart: { defaultRenderer: "elk" } } + { flowchart: { defaultRenderer: 'elk' } } ); cy.get('svg').should((svg) => { - const title = svg[0].querySelector('text'); expect(title.textContent).to.contain(titleString); }); @@ -873,7 +871,7 @@ describe('Title and arrow styling #4813', () => { B-.-oC C==xD D ~~~ A`, - { flowchart: { defaultRenderer: "elk" } } + { flowchart: { defaultRenderer: 'elk' } } ); cy.get('svg').should((svg) => { const edges = svg[0].querySelectorAll('.edges path'); @@ -883,4 +881,4 @@ describe('Title and arrow styling #4813', () => { expect(edges[3]).to.have.css('stroke-width', '1.5px'); }); }); -}) +}); diff --git a/packages/mermaid/src/diagrams/flowchart/elk/flowRenderer-elk.js b/packages/mermaid/src/diagrams/flowchart/elk/flowRenderer-elk.js index c049786958..45eaadcb00 100644 --- a/packages/mermaid/src/diagrams/flowchart/elk/flowRenderer-elk.js +++ b/packages/mermaid/src/diagrams/flowchart/elk/flowRenderer-elk.js @@ -758,7 +758,7 @@ const insertEdge = function (edgesEl, edge, edgeData, diagObj, parentLookupDb, i .attr('class', 'path ' + edgeData.classes) .attr('fill', 'none'); Object.entries(edgeData).forEach(([key, value]) => { - if (key !== 'classes'){ + if (key !== 'classes') { edgePath.attr(key, value); } }); From 018440354f30eddee05f4a67219b15926a41fc0d Mon Sep 17 00:00:00 2001 From: Reda Al Sulais Date: Fri, 3 Nov 2023 22:06:56 +0300 Subject: [PATCH 093/789] build(deps): remove `langium-cli` from `packages/parser` to use the one in root --- .build/langium-cli.d.ts | 9 --------- packages/parser/package.json | 3 --- pnpm-lock.yaml | 8 ++------ 3 files changed, 2 insertions(+), 18 deletions(-) delete mode 100644 .build/langium-cli.d.ts diff --git a/.build/langium-cli.d.ts b/.build/langium-cli.d.ts deleted file mode 100644 index a1cfe25f89..0000000000 --- a/.build/langium-cli.d.ts +++ /dev/null @@ -1,9 +0,0 @@ -declare module 'langium-cli' { - export interface GenerateOptions { - file?: string; - mode?: 'development' | 'production'; - watch?: boolean; - } - - export function generate(options: GenerateOptions): Promise; -} diff --git a/packages/parser/package.json b/packages/parser/package.json index 8528fcf0ea..181ac12eaa 100644 --- a/packages/parser/package.json +++ b/packages/parser/package.json @@ -36,9 +36,6 @@ "dependencies": { "langium": "2.0.1" }, - "devDependencies": { - "langium-cli": "2.0.1" - }, "files": [ "dist/" ], diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index e9e542291e..ece77d4d38 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -476,7 +476,7 @@ importers: version: 0.16.0(vite@4.3.9)(workbox-build@7.0.0)(workbox-window@7.0.0) vitepress: specifier: 1.0.0-rc.14 - version: 1.0.0-rc.14(@algolia/client-search@4.19.1)(@types/node@18.16.0)(search-insights@2.6.0) + version: 1.0.0-rc.14(@algolia/client-search@4.19.1)(@types/node@18.16.0)(search-insights@2.7.0) workbox-window: specifier: ^7.0.0 version: 7.0.0 @@ -486,10 +486,6 @@ importers: langium: specifier: 2.0.1 version: 2.0.1 - devDependencies: - langium-cli: - specifier: 2.0.1 - version: 2.0.1 tests/webpack: dependencies: @@ -15775,7 +15771,7 @@ packages: - universal-cookie dev: true - /vitepress@1.0.0-rc.14(@algolia/client-search@4.19.1)(@types/node@18.16.0)(search-insights@2.6.0): + /vitepress@1.0.0-rc.14(@algolia/client-search@4.19.1)(@types/node@18.16.0)(search-insights@2.7.0): resolution: {integrity: sha512-yChIeXOAcNvVnSVjhziH1vte0uhKb00PuZf7KdIMfx3ixTMAz73Nn+6gREvCv0SdH+anteGUKz5eljv0ygcgGQ==} hasBin: true peerDependencies: From 6a4ad8af069c4d0dca77b12dd6eff160f10476a2 Mon Sep 17 00:00:00 2001 From: Reda Al Sulais Date: Fri, 3 Nov 2023 22:09:36 +0300 Subject: [PATCH 094/789] build(deps): update `langium` and `langium-cli` to `v2.1.0` --- package.json | 2 +- packages/parser/package.json | 2 +- pnpm-lock.yaml | 71 +++++++++++++++++++++--------------- 3 files changed, 44 insertions(+), 31 deletions(-) diff --git a/package.json b/package.json index f551fc5d81..bec3aca3e7 100644 --- a/package.json +++ b/package.json @@ -108,7 +108,7 @@ "jison": "^0.4.18", "js-yaml": "^4.1.0", "jsdom": "^22.0.0", - "langium-cli": "2.0.1", + "langium-cli": "2.1.0", "lint-staged": "^13.2.1", "nyc": "^15.1.0", "path-browserify": "^1.0.1", diff --git a/packages/parser/package.json b/packages/parser/package.json index 181ac12eaa..ce66a9a40e 100644 --- a/packages/parser/package.json +++ b/packages/parser/package.json @@ -34,7 +34,7 @@ "ast" ], "dependencies": { - "langium": "2.0.1" + "langium": "2.1.0" }, "files": [ "dist/" diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index ece77d4d38..cc8c5879de 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -150,8 +150,8 @@ importers: specifier: ^22.0.0 version: 22.0.0 langium-cli: - specifier: 2.0.1 - version: 2.0.1 + specifier: 2.1.0 + version: 2.1.0 lint-staged: specifier: ^13.2.1 version: 13.2.1 @@ -484,8 +484,8 @@ importers: packages/parser: dependencies: langium: - specifier: 2.0.1 - version: 2.0.1 + specifier: 2.1.0 + version: 2.1.0 tests/webpack: dependencies: @@ -6974,6 +6974,11 @@ packages: engines: {node: '>=14'} dev: true + /commander@11.0.0: + resolution: {integrity: sha512-9HMlXtt/BNoYr8ooyjjNRdIilOTkVJXB+GhxMTtOKwk0R4j4lS4NpjuqmRxroBfnfTSHQIHQB7wryHhXarNjmQ==} + engines: {node: '>=16'} + dev: true + /commander@2.20.3: resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==} dev: true @@ -11438,36 +11443,36 @@ packages: engines: {node: '>=12'} dev: true - /langium-cli@2.0.1: - resolution: {integrity: sha512-dPPaHimIoCgELED4tvRGdU3i26tjWuyVwexXgPtTtTzp1MBdGCBLppLADXHkL8yFVdWM/PWlCq06YyqAT4eV3A==} + /langium-cli@2.1.0: + resolution: {integrity: sha512-Gbj4CvfAc1gP/6ihxikd2Je95j1FWjXZu8bbji2/t2vQ6kEP+vs9Fx7kSGOM0AbU/hjZfy6E35bJPOdwsiyqTA==} engines: {node: '>=16.0.0'} hasBin: true dependencies: chalk: 5.3.0 - commander: 10.0.1 + commander: 11.0.0 fs-extra: 11.1.1 jsonschema: 1.4.1 - langium: 2.0.1 - langium-railroad: 2.0.0 + langium: 2.1.0 + langium-railroad: 2.1.0 lodash: 4.17.21 dev: true - /langium-railroad@2.0.0: - resolution: {integrity: sha512-g6y8vPh4i7ll/Q4D9aFrjk4UgtkuzkE6WGfiTHJHTFlDwHoiKrPSIIBZO4wjEb3XUF9P5vIt7aRjerTy7Jgm0g==} + /langium-railroad@2.1.0: + resolution: {integrity: sha512-2IeAIUSTQzbDjNnJA+0ql8tyN/mhCSN4FS50Mo9LOtLj523qUEBwHflDmCiOGZzW9iZdni6NXJgh8nLqjhTlDw==} dependencies: - langium: 2.0.1 + langium: 2.1.0 railroad-diagrams: 1.0.0 dev: true - /langium@2.0.1: - resolution: {integrity: sha512-EGi8NNN/5zxcUL//sA4kqpV9YVOZfDngwkkSxsZ/zfx4Wjdg9von71rWIMCV6kW1M40kPOKF6e8oMTyWeX92fg==} + /langium@2.1.0: + resolution: {integrity: sha512-VDJNyJHfFkamwX+IGp2cLiVIsdOqeVwEZ7b95DWs1jcJmf5e47NGLsfb4aLb0mVrCTU4mvfghfoiTkOMVSdpqA==} engines: {node: '>=16.0.0'} dependencies: chevrotain: 11.0.3 chevrotain-allstar: 0.3.0(chevrotain@11.0.3) - vscode-languageserver: 8.0.2 - vscode-languageserver-textdocument: 1.0.8 - vscode-uri: 3.0.7 + vscode-languageserver: 9.0.1 + vscode-languageserver-textdocument: 1.0.11 + vscode-uri: 3.0.8 /layout-base@1.0.2: resolution: {integrity: sha512-8h2oVEZNktL4BH2JCOI90iD1yXwL6iNW7KcCKT2QZgQJR2vbqDsldCTPRU9NifTCqHZci57XvQQ15YTu+sTYPg==} @@ -15895,31 +15900,35 @@ packages: vscode-uri: 3.0.7 dev: true - /vscode-jsonrpc@8.0.2: - resolution: {integrity: sha512-RY7HwI/ydoC1Wwg4gJ3y6LpU9FJRZAUnTYMXthqhFXXu77ErDd/xkREpGuk4MyYkk4a+XDWAMqe0S3KkelYQEQ==} + /vscode-jsonrpc@8.2.0: + resolution: {integrity: sha512-C+r0eKJUIfiDIfwJhria30+TYWPtuHJXHtI7J0YlOmKAo7ogxP20T0zxB7HZQIFhIyvoBPwWskjxrvAtfjyZfA==} engines: {node: '>=14.0.0'} - /vscode-languageserver-protocol@3.17.2: - resolution: {integrity: sha512-8kYisQ3z/SQ2kyjlNeQxbkkTNmVFoQCqkmGrzLH6A9ecPlgTbp3wDTnUNqaUxYr4vlAcloxx8zwy7G5WdguYNg==} + /vscode-languageserver-protocol@3.17.5: + resolution: {integrity: sha512-mb1bvRJN8SVznADSGWM9u/b07H7Ecg0I3OgXDuLdn307rl/J3A9YD6/eYOssqhecL27hK1IPZAsaqh00i/Jljg==} dependencies: - vscode-jsonrpc: 8.0.2 - vscode-languageserver-types: 3.17.2 + vscode-jsonrpc: 8.2.0 + vscode-languageserver-types: 3.17.5 + + /vscode-languageserver-textdocument@1.0.11: + resolution: {integrity: sha512-X+8T3GoiwTVlJbicx/sIAF+yuJAqz8VvwJyoMVhwEMoEKE/fkDmrqUgDMyBECcM2A2frVZIUj5HI/ErRXCfOeA==} /vscode-languageserver-textdocument@1.0.8: resolution: {integrity: sha512-1bonkGqQs5/fxGT5UchTgjGVnfysL0O8v1AYMBjqTbWQTFn721zaPGDYFkOKtfDgFiSgXM3KwaG3FMGfW4Ed9Q==} - - /vscode-languageserver-types@3.17.2: - resolution: {integrity: sha512-zHhCWatviizPIq9B7Vh9uvrH6x3sK8itC84HkamnBWoDFJtzBf7SWlpLCZUit72b3os45h6RWQNC9xHRDF8dRA==} + dev: true /vscode-languageserver-types@3.17.3: resolution: {integrity: sha512-SYU4z1dL0PyIMd4Vj8YOqFvHu7Hz/enbWtpfnVbJHU4Nd1YNYx8u0ennumc6h48GQNeOLxmwySmnADouT/AuZA==} dev: true - /vscode-languageserver@8.0.2: - resolution: {integrity: sha512-bpEt2ggPxKzsAOZlXmCJ50bV7VrxwCS5BI4+egUmure/oI/t4OlFzi/YNtVvY24A2UDOZAgwFGgnZPwqSJubkA==} + /vscode-languageserver-types@3.17.5: + resolution: {integrity: sha512-Ld1VelNuX9pdF39h2Hgaeb5hEZM2Z3jUrrMgWQAu82jMtZp7p3vJT3BzToKtZI7NgQssZje5o0zryOrhQvzQAg==} + + /vscode-languageserver@9.0.1: + resolution: {integrity: sha512-woByF3PDpkHFUreUa7Hos7+pUWdeWMXRd26+ZX2A8cFx6v/JPTtd4/uN0/jB6XQHYaOlHbio03NTHCqrgG5n7g==} hasBin: true dependencies: - vscode-languageserver-protocol: 3.17.2 + vscode-languageserver-protocol: 3.17.5 /vscode-nls@5.2.0: resolution: {integrity: sha512-RAaHx7B14ZU04EU31pT+rKz2/zSl7xMsfIZuo8pd+KZO6PXtQmpevpq3vxvWNcrGbdmhM/rr5Uw5Mz+NBfhVng==} @@ -15935,6 +15944,10 @@ packages: /vscode-uri@3.0.7: resolution: {integrity: sha512-eOpPHogvorZRobNqJGhapa0JdwaxpjVvyBp0QIUMRMSf8ZAlqOdEquKuRmw9Qwu0qXtJIWqFtMkmvJjUZmMjVA==} + dev: true + + /vscode-uri@3.0.8: + resolution: {integrity: sha512-AyFQ0EVmsOZOlAnxoFOGOq1SQDWAB7C6aqMGS23svWAllfOaxbuFvcT8D1i8z3Gyn8fraVeZNNmN6e9bxxXkKw==} /vue-demi@0.14.5(vue@3.3.0): resolution: {integrity: sha512-o9NUVpl/YlsGJ7t+xuqJKx8EBGf1quRhCiT6D/J0pfwmk9zUwYkC7yrF4SZCe6fETvSM3UNL2edcbYrSyc4QHA==} From 55d7e9ec614d342f6d5d1f85d8509d2e8c1d5859 Mon Sep 17 00:00:00 2001 From: Reda Al Sulais Date: Fri, 3 Nov 2023 22:12:09 +0300 Subject: [PATCH 095/789] pref: remove `CommonLexer` and use `EOF` --- packages/parser/src/language/common/common.langium | 10 +++++++--- packages/parser/src/language/common/index.ts | 1 - packages/parser/src/language/common/lexer.ts | 8 -------- packages/parser/src/language/info/module.ts | 3 --- packages/parser/src/language/pie/module.ts | 3 --- packages/parser/src/language/pie/pie.langium | 2 +- 6 files changed, 8 insertions(+), 19 deletions(-) delete mode 100644 packages/parser/src/language/common/lexer.ts diff --git a/packages/parser/src/language/common/common.langium b/packages/parser/src/language/common/common.langium index f1a695e49f..baf933e0fc 100644 --- a/packages/parser/src/language/common/common.langium +++ b/packages/parser/src/language/common/common.langium @@ -5,7 +5,11 @@ interface Common { } fragment TitleAndAccessibilities: - ((accDescr=ACC_DESCR | accTitle=ACC_TITLE | title=TITLE) NEWLINE+)+ + ((accDescr=ACC_DESCR | accTitle=ACC_TITLE | title=TITLE) EOL)+ +; + +fragment EOL returns string: + NEWLINE+ | EOF ; terminal NEWLINE: /\r?\n/; @@ -14,6 +18,6 @@ terminal ACC_TITLE: /accTitle[\t ]*:[^\n\r]*(?=%%)|accTitle[\t ]*:[^\n\r]*/; terminal TITLE: /title([\t ][^\n\r]*|)(?=%%)|title([\t ][^\n\r]*|)/; hidden terminal WHITESPACE: /[\t ]+/; -hidden terminal YAML: /---[\t ]*\r?\n[\S\s]*?---[\t ]*(?!.)/; -hidden terminal DIRECTIVE: /[\t ]*%%{[\S\s]*?}%%\s*/; +hidden terminal YAML: /---[\t ]*\r?\n(?:[\S\s]*?\r?\n)?---(?:\r?\n|(?!\S))/; +hidden terminal DIRECTIVE: /[\t ]*%%{[\S\s]*?}%%(?:\r?\n|(?!\S))/; hidden terminal SINGLE_LINE_COMMENT: /[\t ]*%%[^\n\r]*/; diff --git a/packages/parser/src/language/common/index.ts b/packages/parser/src/language/common/index.ts index 2ab5ebcd40..e06a3a8ebd 100644 --- a/packages/parser/src/language/common/index.ts +++ b/packages/parser/src/language/common/index.ts @@ -1,3 +1,2 @@ -export * from './lexer.js'; export * from './tokenBuilder.js'; export { MermaidValueConverter } from './valueConverter.js'; diff --git a/packages/parser/src/language/common/lexer.ts b/packages/parser/src/language/common/lexer.ts deleted file mode 100644 index e4f1272b2f..0000000000 --- a/packages/parser/src/language/common/lexer.ts +++ /dev/null @@ -1,8 +0,0 @@ -import type { LexerResult } from 'langium'; -import { DefaultLexer } from 'langium'; - -export class CommonLexer extends DefaultLexer { - public override tokenize(text: string): LexerResult { - return super.tokenize(text + '\n'); - } -} diff --git a/packages/parser/src/language/info/module.ts b/packages/parser/src/language/info/module.ts index 5d6b74e108..c25deb3771 100644 --- a/packages/parser/src/language/info/module.ts +++ b/packages/parser/src/language/info/module.ts @@ -7,7 +7,6 @@ import type { } from 'langium'; import { EmptyFileSystem, createDefaultModule, createDefaultSharedModule, inject } from 'langium'; -import { CommonLexer } from '../common/lexer.js'; import { CommonValueConverter } from '../common/valueConverter.js'; import { InfoGeneratedModule, MermaidGeneratedSharedModule } from '../generated/module.js'; import { InfoTokenBuilder } from './tokenBuilder.js'; @@ -17,7 +16,6 @@ import { InfoTokenBuilder } from './tokenBuilder.js'; */ type InfoAddedServices = { parser: { - Lexer: CommonLexer; TokenBuilder: InfoTokenBuilder; ValueConverter: CommonValueConverter; }; @@ -34,7 +32,6 @@ export type InfoServices = LangiumServices & InfoAddedServices; */ export const InfoModule: Module = { parser: { - Lexer: (services: InfoServices) => new CommonLexer(services), TokenBuilder: () => new InfoTokenBuilder(), ValueConverter: () => new CommonValueConverter(), }, diff --git a/packages/parser/src/language/pie/module.ts b/packages/parser/src/language/pie/module.ts index f22a1e5481..8777abc866 100644 --- a/packages/parser/src/language/pie/module.ts +++ b/packages/parser/src/language/pie/module.ts @@ -7,7 +7,6 @@ import type { } from 'langium'; import { EmptyFileSystem, createDefaultModule, createDefaultSharedModule, inject } from 'langium'; -import { CommonLexer } from '../common/lexer.js'; import { MermaidGeneratedSharedModule, PieGeneratedModule } from '../generated/module.js'; import { PieTokenBuilder } from './tokenBuilder.js'; import { PieValueConverter } from './valueConverter.js'; @@ -17,7 +16,6 @@ import { PieValueConverter } from './valueConverter.js'; */ type PieAddedServices = { parser: { - Lexer: CommonLexer; TokenBuilder: PieTokenBuilder; ValueConverter: PieValueConverter; }; @@ -34,7 +32,6 @@ export type PieServices = LangiumServices & PieAddedServices; */ export const PieModule: Module = { parser: { - Lexer: (services: PieServices) => new CommonLexer(services), TokenBuilder: () => new PieTokenBuilder(), ValueConverter: () => new PieValueConverter(), }, diff --git a/packages/parser/src/language/pie/pie.langium b/packages/parser/src/language/pie/pie.langium index a71e7f8523..c1219722cc 100644 --- a/packages/parser/src/language/pie/pie.langium +++ b/packages/parser/src/language/pie/pie.langium @@ -12,7 +12,7 @@ entry Pie: ; PieSection: - label=PIE_SECTION_LABEL ":" value=PIE_SECTION_VALUE NEWLINE+ + label=PIE_SECTION_LABEL ":" value=PIE_SECTION_VALUE EOF ; terminal PIE_SECTION_LABEL: /"[^"]+"/; From 7765afa7da5e78b7dd590682ed6c4d6aac503053 Mon Sep 17 00:00:00 2001 From: Reda Al Sulais Date: Fri, 3 Nov 2023 22:15:13 +0300 Subject: [PATCH 096/789] chore: allow comments to adjust keywords --- packages/parser/src/language/common/tokenBuilder.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/parser/src/language/common/tokenBuilder.ts b/packages/parser/src/language/common/tokenBuilder.ts index 5a94d5d594..7e63efca39 100644 --- a/packages/parser/src/language/common/tokenBuilder.ts +++ b/packages/parser/src/language/common/tokenBuilder.ts @@ -20,7 +20,7 @@ export abstract class MermaidTokenBuilder extends DefaultTokenBuilder { // to restrict users, they mustn't have any non-whitespace characters after the keyword. tokenTypes.forEach((tokenType: TokenType): void => { if (this.keywords.has(tokenType.name) && tokenType.PATTERN !== undefined) { - tokenType.PATTERN = new RegExp(tokenType.PATTERN.toString() + '(?!\\S)'); + tokenType.PATTERN = new RegExp(tokenType.PATTERN.toString() + '(?:(?=%%)|(?!\\S))'); } }); return tokenTypes; From fe2e46fe600c70b1f686bed66feada3ce82b359a Mon Sep 17 00:00:00 2001 From: Reda Al Sulais Date: Fri, 3 Nov 2023 22:24:54 +0300 Subject: [PATCH 097/789] build(dev-deps): add `chevrotain` as a `devDependencies` --- packages/parser/package.json | 3 ++ .../parser/src/language/chevrotainWrapper.ts | 51 ------------------- .../src/language/common/tokenBuilder.ts | 2 +- pnpm-lock.yaml | 4 ++ 4 files changed, 8 insertions(+), 52 deletions(-) delete mode 100644 packages/parser/src/language/chevrotainWrapper.ts diff --git a/packages/parser/package.json b/packages/parser/package.json index ce66a9a40e..6affa2ce69 100644 --- a/packages/parser/package.json +++ b/packages/parser/package.json @@ -41,5 +41,8 @@ ], "publishConfig": { "access": "public" + }, + "devDependencies": { + "chevrotain": "^11.0.3" } } diff --git a/packages/parser/src/language/chevrotainWrapper.ts b/packages/parser/src/language/chevrotainWrapper.ts deleted file mode 100644 index bde44a22ef..0000000000 --- a/packages/parser/src/language/chevrotainWrapper.ts +++ /dev/null @@ -1,51 +0,0 @@ -/* eslint-disable @typescript-eslint/no-explicit-any */ - -type CustomPatternMatcherReturn = [string] & { payload?: any }; - -export type CustomPatternMatcherFunc = ( - text: string, - offset: number, - tokens: IToken[], - groups: { - [groupName: string]: IToken[]; - } -) => CustomPatternMatcherReturn | RegExpExecArray | null; - -interface ICustomPattern { - exec: CustomPatternMatcherFunc; -} - -type TokenPattern = RegExp | string | CustomPatternMatcherFunc | ICustomPattern; - -export interface IToken { - image: string; - startOffset: number; - startLine?: number; - startColumn?: number; - endOffset?: number; - endLine?: number; - endColumn?: number; - isInsertedInRecovery?: boolean; - tokenTypeIdx: number; - tokenType: TokenType; - payload?: any; -} - -export interface TokenType { - name: string; - GROUP?: string; - PATTERN?: TokenPattern; - LABEL?: string; - LONGER_ALT?: TokenType | TokenType[]; - POP_MODE?: boolean; - PUSH_MODE?: string; - LINE_BREAKS?: boolean; - CATEGORIES?: TokenType[]; - tokenTypeIdx?: number; - categoryMatches?: number[]; - categoryMatchesMap?: { - [tokType: number]: boolean; - }; - isParent?: boolean; - START_CHARS_HINT?: (string | number)[]; -} diff --git a/packages/parser/src/language/common/tokenBuilder.ts b/packages/parser/src/language/common/tokenBuilder.ts index 7e63efca39..c57cb0ec55 100644 --- a/packages/parser/src/language/common/tokenBuilder.ts +++ b/packages/parser/src/language/common/tokenBuilder.ts @@ -1,5 +1,5 @@ import type { GrammarAST, Stream, TokenBuilderOptions } from 'langium'; -import type { TokenType } from '../chevrotainWrapper.js'; +import type { TokenType } from 'chevrotain'; import { DefaultTokenBuilder } from 'langium'; diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index cc8c5879de..79908ad61e 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -486,6 +486,10 @@ importers: langium: specifier: 2.1.0 version: 2.1.0 + devDependencies: + chevrotain: + specifier: ^11.0.3 + version: 11.0.3 tests/webpack: dependencies: From 1cda37659e869929aa0c7a35a36d772886afca84 Mon Sep 17 00:00:00 2001 From: Reda Al Sulais Date: Fri, 3 Nov 2023 22:28:33 +0300 Subject: [PATCH 098/789] chore(parser): rearrange rules to make imported rules at the beginning --- .../parser/src/language/common/tokenBuilder.ts | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/packages/parser/src/language/common/tokenBuilder.ts b/packages/parser/src/language/common/tokenBuilder.ts index c57cb0ec55..f64063d56b 100644 --- a/packages/parser/src/language/common/tokenBuilder.ts +++ b/packages/parser/src/language/common/tokenBuilder.ts @@ -1,5 +1,5 @@ import type { GrammarAST, Stream, TokenBuilderOptions } from 'langium'; -import type { TokenType } from 'chevrotain'; +import type { TokenType, TokenVocabulary } from 'chevrotain'; import { DefaultTokenBuilder } from 'langium'; @@ -11,6 +11,14 @@ export abstract class MermaidTokenBuilder extends DefaultTokenBuilder { this.keywords = new Set(keywords); } + public override buildTokens( + grammar: GrammarAST.Grammar, + options?: TokenBuilderOptions | undefined + ): TokenVocabulary { + this.rearrangeRules(grammar.rules); + return super.buildTokens(grammar, options); + } + protected override buildKeywordTokens( rules: Stream, terminalTokens: TokenType[], @@ -25,4 +33,12 @@ export abstract class MermaidTokenBuilder extends DefaultTokenBuilder { }); return tokenTypes; } + + private rearrangeRules(rules: GrammarAST.AbstractRule[]): GrammarAST.AbstractRule[] { + const pivotIndex = rules.findIndex((rule) => rule.name === 'TitleAndAccessibilities'); + if (pivotIndex === -1) { + return rules; + } + return [...rules.slice(pivotIndex), ...rules.slice(0, pivotIndex)]; + } } From 922bb1452f9e0c63d0fa2323d849f150c3ea2461 Mon Sep 17 00:00:00 2001 From: Reda Al Sulais Date: Fri, 3 Nov 2023 22:35:01 +0300 Subject: [PATCH 099/789] test: update all parser test cases --- packages/parser/tests/info.test.ts | 37 ++--- packages/parser/tests/pie.test.ts | 211 ++++++++++------------------- packages/parser/tests/test-util.ts | 28 +++- 3 files changed, 113 insertions(+), 163 deletions(-) diff --git a/packages/parser/tests/info.test.ts b/packages/parser/tests/info.test.ts index f2d2093d5f..09fc79c9af 100644 --- a/packages/parser/tests/info.test.ts +++ b/packages/parser/tests/info.test.ts @@ -1,26 +1,9 @@ -import type { LangiumParser, ParseResult } from 'langium'; import { describe, expect, it } from 'vitest'; -import type { InfoServices } from '../src/language/index.js'; -import { Info, createInfoServices } from '../src/language/index.js'; -import { noErrorsOrAlternatives } from './test-util.js'; - -const services: InfoServices = createInfoServices().Info; -const parser: LangiumParser = services.parser.LangiumParser; -function createInfoTestServices(): { - services: InfoServices; - parse: (input: string) => ParseResult; -} { - const parse = (input: string) => { - return parser.parse(input); - }; - - return { services, parse }; -} +import { Info } from '../src/language/index.js'; +import { expectNoErrorsOrAlternatives, infoParse as parse } from './test-util.js'; describe('info', () => { - const { parse } = createInfoTestServices(); - it.each([ `info`, ` @@ -32,26 +15,34 @@ describe('info', () => { `, ])('should handle empty info', (context: string) => { const result = parse(context); - noErrorsOrAlternatives(result); - + expectNoErrorsOrAlternatives(result); expect(result.value.$type).toBe(Info); }); it.each([ `info showInfo`, + `info showInfo + `, ` info showInfo`, `info + showInfo`, + `info showInfo `, ` info showInfo `, + ` + info + showInfo`, + ` + info showInfo + `, ])('should handle showInfo', (context: string) => { const result = parse(context); - noErrorsOrAlternatives(result); - + expectNoErrorsOrAlternatives(result); expect(result.value.$type).toBe(Info); }); }); diff --git a/packages/parser/tests/pie.test.ts b/packages/parser/tests/pie.test.ts index 4b6ba6aaea..04f83c933b 100644 --- a/packages/parser/tests/pie.test.ts +++ b/packages/parser/tests/pie.test.ts @@ -1,25 +1,9 @@ -import type { LangiumParser, ParseResult } from 'langium'; import { describe, expect, it } from 'vitest'; -import type { PieServices } from '../src/language/index.js'; -import { Pie, createPieServices } from '../src/language/index.js'; - -const services: PieServices = createPieServices().Pie; -const parser: LangiumParser = services.parser.LangiumParser; -export function createPieTestServices(): { - services: PieServices; - parse: (input: string) => ParseResult; -} { - const parse = (input: string) => { - return parser.parse(input); - }; - - return { services, parse }; -} +import { Pie } from '../src/language/index.js'; +import { expectNoErrorsOrAlternatives, pieParse as parse } from './test-util.js'; describe('pie', () => { - const { parse } = createPieTestServices(); - it.each([ `pie`, ` pie `, @@ -29,11 +13,8 @@ describe('pie', () => { `, ])('should handle regular pie', (context: string) => { const result = parse(context); - expect(result.parserErrors).toHaveLength(0); - expect(result.lexerErrors).toHaveLength(0); - - const value = result.value; - expect(value.$type).toBe(Pie); + expectNoErrorsOrAlternatives(result); + expect(result.value.$type).toBe(Pie); }); it.each([ @@ -45,12 +26,11 @@ describe('pie', () => { `, ])('should handle regular showData', (context: string) => { const result = parse(context); - expect(result.parserErrors).toHaveLength(0); - expect(result.lexerErrors).toHaveLength(0); + expectNoErrorsOrAlternatives(result); + expect(result.value.$type).toBe(Pie); - const value = result.value; - expect(value.$type).toBe(Pie); - expect(value.showData).toBeTruthy(); + const { showData } = result.value; + expect(showData).toBeTruthy(); }); it.each([ @@ -62,12 +42,11 @@ describe('pie', () => { `, ])('should handle regular pie + title in same line', (context: string) => { const result = parse(context); - expect(result.parserErrors).toHaveLength(0); - expect(result.lexerErrors).toHaveLength(0); + expectNoErrorsOrAlternatives(result); + expect(result.value.$type).toBe(Pie); - const value = result.value; - expect(value.$type).toBe(Pie); - expect(value.title).toBe('sample title'); + const { title } = result.value; + expect(title).toBe('sample title'); }); it.each([ @@ -83,12 +62,11 @@ describe('pie', () => { `, ])('should handle regular pie + title in different line', (context: string) => { const result = parse(context); - expect(result.parserErrors).toHaveLength(0); - expect(result.lexerErrors).toHaveLength(0); + expectNoErrorsOrAlternatives(result); + expect(result.value.$type).toBe(Pie); - const value = result.value; - expect(value.$type).toBe(Pie); - expect(value.title).toBe('sample title'); + const { title } = result.value; + expect(title).toBe('sample title'); }); it.each([ @@ -97,13 +75,12 @@ describe('pie', () => { `, ])('should handle regular pie + showData + title', (context: string) => { const result = parse(context); - expect(result.parserErrors).toHaveLength(0); - expect(result.lexerErrors).toHaveLength(0); + expectNoErrorsOrAlternatives(result); + expect(result.value.$type).toBe(Pie); - const value = result.value; - expect(value.$type).toBe(Pie); - expect(value.showData).toBeTruthy(); - expect(value.title).toBe('sample title'); + const { showData, title } = result.value; + expect(showData).toBeTruthy(); + expect(title).toBe('sample title'); }); it.each([ @@ -119,13 +96,12 @@ describe('pie', () => { `, ])('should handle regular showData + title in different line', (context: string) => { const result = parse(context); - expect(result.parserErrors).toHaveLength(0); - expect(result.lexerErrors).toHaveLength(0); + expectNoErrorsOrAlternatives(result); + expect(result.value.$type).toBe(Pie); - const value = result.value; - expect(value.$type).toBe(Pie); - expect(value.showData).toBeTruthy(); - expect(value.title).toBe('sample title'); + const { showData, title } = result.value; + expect(showData).toBeTruthy(); + expect(title).toBe('sample title'); }); describe('sections', () => { @@ -146,19 +122,15 @@ describe('pie', () => { `, ])('should handle regular secions', (context: string) => { const result = parse(context); - expect(result.parserErrors).toHaveLength(0); - expect(result.lexerErrors).toHaveLength(0); + expectNoErrorsOrAlternatives(result); + expect(result.value.$type).toBe(Pie); - const value = result.value; - expect(value.$type).toBe(Pie); + const { sections } = result.value; + expect(sections[0].label).toBe('GitHub'); + expect(sections[0].value).toBe(100); - const section0 = value.sections[0]; - expect(section0?.label).toBe('GitHub'); - expect(section0?.value).toBe(100); - - const section1 = value.sections[1]; - expect(section1?.label).toBe('GitLab'); - expect(section1?.value).toBe(50); + expect(sections[1].label).toBe('GitLab'); + expect(sections[1].value).toBe(50); }); it('should handle sections with showData', () => { @@ -166,20 +138,17 @@ describe('pie', () => { "GitHub": 100 "GitLab": 50`; const result = parse(context); - expect(result.parserErrors).toHaveLength(0); - expect(result.lexerErrors).toHaveLength(0); + expectNoErrorsOrAlternatives(result); + expect(result.value.$type).toBe(Pie); - const value = result.value; - expect(value.$type).toBe(Pie); - expect(value.showData).toBeTruthy(); + const { showData, sections } = result.value; + expect(showData).toBeTruthy(); - const section0 = value.sections[0]; - expect(section0?.label).toBe('GitHub'); - expect(section0?.value).toBe(100); + expect(sections[0].label).toBe('GitHub'); + expect(sections[0].value).toBe(100); - const section1 = value.sections[1]; - expect(section1?.label).toBe('GitLab'); - expect(section1?.value).toBe(50); + expect(sections[1].label).toBe('GitLab'); + expect(sections[1].value).toBe(50); }); it('should handle sections with title', () => { @@ -187,20 +156,17 @@ describe('pie', () => { "GitHub": 100 "GitLab": 50`; const result = parse(context); - expect(result.parserErrors).toHaveLength(0); - expect(result.lexerErrors).toHaveLength(0); + expectNoErrorsOrAlternatives(result); + expect(result.value.$type).toBe(Pie); - const value = result.value; - expect(value.$type).toBe(Pie); - expect(value.title).toBe('sample wow'); + const { title, sections } = result.value; + expect(title).toBe('sample wow'); - const section0 = value.sections[0]; - expect(section0?.label).toBe('GitHub'); - expect(section0?.value).toBe(100); + expect(sections[0].label).toBe('GitHub'); + expect(sections[0].value).toBe(100); - const section1 = value.sections[1]; - expect(section1?.label).toBe('GitLab'); - expect(section1?.value).toBe(50); + expect(sections[1].label).toBe('GitLab'); + expect(sections[1].value).toBe(50); }); it('should handle sections with accTitle', () => { @@ -208,20 +174,17 @@ describe('pie', () => { "GitHub": 100 "GitLab": 50`; const result = parse(context); - expect(result.parserErrors).toHaveLength(0); - expect(result.lexerErrors).toHaveLength(0); + expectNoErrorsOrAlternatives(result); + expect(result.value.$type).toBe(Pie); - const value = result.value; - expect(value.$type).toBe(Pie); - expect(value.accTitle).toBe('sample wow'); + const { accTitle, sections } = result.value; + expect(accTitle).toBe('sample wow'); - const section0 = value.sections[0]; - expect(section0?.label).toBe('GitHub'); - expect(section0?.value).toBe(100); + expect(sections[0].label).toBe('GitHub'); + expect(sections[0].value).toBe(100); - const section1 = value.sections[1]; - expect(section1?.label).toBe('GitLab'); - expect(section1?.value).toBe(50); + expect(sections[1].label).toBe('GitLab'); + expect(sections[1].value).toBe(50); }); it('should handle sections with single line accDescr', () => { @@ -229,20 +192,17 @@ describe('pie', () => { "GitHub": 100 "GitLab": 50`; const result = parse(context); - expect(result.parserErrors).toHaveLength(0); - expect(result.lexerErrors).toHaveLength(0); + expectNoErrorsOrAlternatives(result); + expect(result.value.$type).toBe(Pie); - const value = result.value; - expect(value.$type).toBe(Pie); - expect(value.accDescr).toBe('sample wow'); + const { accDescr, sections } = result.value; + expect(accDescr).toBe('sample wow'); - const section0 = value.sections[0]; - expect(section0?.label).toBe('GitHub'); - expect(section0?.value).toBe(100); + expect(sections[0].label).toBe('GitHub'); + expect(sections[0].value).toBe(100); - const section1 = value.sections[1]; - expect(section1?.label).toBe('GitLab'); - expect(section1?.value).toBe(50); + expect(sections[1].label).toBe('GitLab'); + expect(sections[1].value).toBe(50); }); it('should handle sections with multi line accDescr', () => { @@ -252,42 +212,17 @@ describe('pie', () => { "GitHub": 100 "GitLab": 50`; const result = parse(context); - expect(result.parserErrors).toHaveLength(0); - expect(result.lexerErrors).toHaveLength(0); - - const value = result.value; - expect(value.$type).toBe(Pie); - expect(value.accDescr).toBe('sample wow'); - - const section0 = value.sections[0]; - expect(section0?.label).toBe('GitHub'); - expect(section0?.value).toBe(100); - - const section1 = value.sections[1]; - expect(section1?.label).toBe('GitLab'); - expect(section1?.value).toBe(50); - }); - }); - - describe('duplicate', () => { - it('should handle duplicate sections', () => { - const context = `pie - "GitHub": 100 - "GitHub": 50`; - const result = parse(context); - expect(result.parserErrors).toHaveLength(0); - expect(result.lexerErrors).toHaveLength(0); + expectNoErrorsOrAlternatives(result); + expect(result.value.$type).toBe(Pie); - const value = result.value; - expect(value.$type).toBe(Pie); + const { accDescr, sections } = result.value; + expect(accDescr).toBe('sample wow'); - const section0 = value.sections[0]; - expect(section0?.label).toBe('GitHub'); - expect(section0?.value).toBe(100); + expect(sections[0].label).toBe('GitHub'); + expect(sections[0].value).toBe(100); - const section1 = value.sections[1]; - expect(section1?.label).toBe('GitHub'); - expect(section1?.value).toBe(50); + expect(sections[1].label).toBe('GitLab'); + expect(sections[1].value).toBe(50); }); }); }); diff --git a/packages/parser/tests/test-util.ts b/packages/parser/tests/test-util.ts index 33d3191126..9bdec348a1 100644 --- a/packages/parser/tests/test-util.ts +++ b/packages/parser/tests/test-util.ts @@ -1,5 +1,7 @@ -import type { ParseResult } from 'langium'; +import type { LangiumParser, ParseResult } from 'langium'; import { expect, vi } from 'vitest'; +import type { Info, InfoServices, Pie, PieServices } from '../src/language/index.js'; +import { createInfoServices, createPieServices } from '../src/language/index.js'; const consoleMock = vi.spyOn(console, 'log').mockImplementation(() => undefined); @@ -9,10 +11,32 @@ const consoleMock = vi.spyOn(console, 'log').mockImplementation(() => undefined) * * @param result - the result `parse` function. */ -export function noErrorsOrAlternatives(result: ParseResult) { +export function expectNoErrorsOrAlternatives(result: ParseResult) { expect(result.lexerErrors).toHaveLength(0); expect(result.parserErrors).toHaveLength(0); expect(consoleMock).not.toHaveBeenCalled(); consoleMock.mockReset(); } + +const infoServices: InfoServices = createInfoServices().Info; +const infoParser: LangiumParser = infoServices.parser.LangiumParser; +export function createInfoTestServices() { + const parse = (input: string) => { + return infoParser.parse(input); + }; + + return { services: infoServices, parse }; +} +export const infoParse = createInfoTestServices().parse; + +const pieServices: PieServices = createPieServices().Pie; +const pieParser: LangiumParser = pieServices.parser.LangiumParser; +export function createPieTestServices() { + const parse = (input: string) => { + return pieParser.parse(input); + }; + + return { services: pieServices, parse }; +} +export const pieParse = createPieTestServices().parse; From 0a626917f8bb21655e1b4949a456daab8238f0e9 Mon Sep 17 00:00:00 2001 From: Reda Al Sulais Date: Fri, 3 Nov 2023 22:39:11 +0300 Subject: [PATCH 100/789] remove unnecessary lines --- packages/parser/src/index.ts | 3 +-- packages/parser/src/parse.ts | 7 ++----- 2 files changed, 3 insertions(+), 7 deletions(-) diff --git a/packages/parser/src/index.ts b/packages/parser/src/index.ts index 149e7a21dc..c4aa6c821a 100644 --- a/packages/parser/src/index.ts +++ b/packages/parser/src/index.ts @@ -1,3 +1,2 @@ export type { Info, Pie, PieSection } from './language/index.js'; -export type { DiagramAST } from './parse.js'; -export { parse, MermaidParseError } from './parse.js'; +export * from './parse.js'; diff --git a/packages/parser/src/parse.ts b/packages/parser/src/parse.ts index 7f743a7f3c..aeec983daa 100644 --- a/packages/parser/src/parse.ts +++ b/packages/parser/src/parse.ts @@ -6,17 +6,14 @@ import { createInfoServices, createPieServices } from './language/index.js'; export type DiagramAST = Info | Pie; const parsers: Record = {}; - const initializers = { info: () => { // Will have to make parse async to use this. Can try later... // const { createInfoServices } = await import('./language/info/index.js'); - const parser = createInfoServices().Info.parser.LangiumParser; - parsers['info'] = parser; + parsers['info'] = createInfoServices().Info.parser.LangiumParser; }, pie: () => { - const parser = createPieServices().Pie.parser.LangiumParser; - parsers['pie'] = parser; + parsers['pie'] = createPieServices().Pie.parser.LangiumParser; }, } as const; From 58c7934dd85d12ac264a387c1a0bfbc003ef31bd Mon Sep 17 00:00:00 2001 From: Reda Al Sulais Date: Fri, 3 Nov 2023 22:45:23 +0300 Subject: [PATCH 101/789] export necessary objects and types from `packages/parser` --- packages/parser/src/index.ts | 2 +- packages/parser/src/language/index.ts | 9 ++++++--- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/packages/parser/src/index.ts b/packages/parser/src/index.ts index c4aa6c821a..d966ef8979 100644 --- a/packages/parser/src/index.ts +++ b/packages/parser/src/index.ts @@ -1,2 +1,2 @@ -export type { Info, Pie, PieSection } from './language/index.js'; +export * from './language/index.js'; export * from './parse.js'; diff --git a/packages/parser/src/language/index.ts b/packages/parser/src/language/index.ts index 4af6091dee..2eea343e22 100644 --- a/packages/parser/src/language/index.ts +++ b/packages/parser/src/language/index.ts @@ -1,6 +1,9 @@ -export * from './generated/ast.js'; -export * from './generated/grammar.js'; -export * from './generated/module.js'; +export { Info, MermaidAstType, Pie, PieSection } from './generated/ast.js'; +export { + InfoGeneratedModule, + MermaidGeneratedSharedModule, + PieGeneratedModule, +} from './generated/module.js'; export * from './common/index.js'; export * from './info/index.js'; From 53ef5c51cca37c0e9182a3887a23b6865d97fd42 Mon Sep 17 00:00:00 2001 From: Reda Al Sulais Date: Fri, 3 Nov 2023 23:09:58 +0300 Subject: [PATCH 102/789] create `CommonTokenBuilder` --- packages/parser/src/language/common/index.ts | 2 +- packages/parser/src/language/common/tokenBuilder.ts | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/packages/parser/src/language/common/index.ts b/packages/parser/src/language/common/index.ts index e06a3a8ebd..62fcad3dd2 100644 --- a/packages/parser/src/language/common/index.ts +++ b/packages/parser/src/language/common/index.ts @@ -1,2 +1,2 @@ -export * from './tokenBuilder.js'; +export { MermaidTokenBuilder } from './tokenBuilder.js'; export { MermaidValueConverter } from './valueConverter.js'; diff --git a/packages/parser/src/language/common/tokenBuilder.ts b/packages/parser/src/language/common/tokenBuilder.ts index f64063d56b..fe48fe4fbb 100644 --- a/packages/parser/src/language/common/tokenBuilder.ts +++ b/packages/parser/src/language/common/tokenBuilder.ts @@ -42,3 +42,5 @@ export abstract class MermaidTokenBuilder extends DefaultTokenBuilder { return [...rules.slice(pivotIndex), ...rules.slice(0, pivotIndex)]; } } + +export class CommonTokenBuilder extends MermaidTokenBuilder {} From 5ef0527ebc55758e61e8b40c30054bf699137e83 Mon Sep 17 00:00:00 2001 From: Reda Al Sulais Date: Fri, 3 Nov 2023 23:12:24 +0300 Subject: [PATCH 103/789] export all common `ValueConverter` and `TokenBuilder` and update imports --- packages/parser/src/language/common/index.ts | 4 ++-- packages/parser/src/language/info/module.ts | 2 +- packages/parser/src/language/pie/valueConverter.ts | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/packages/parser/src/language/common/index.ts b/packages/parser/src/language/common/index.ts index 62fcad3dd2..92b69489ef 100644 --- a/packages/parser/src/language/common/index.ts +++ b/packages/parser/src/language/common/index.ts @@ -1,2 +1,2 @@ -export { MermaidTokenBuilder } from './tokenBuilder.js'; -export { MermaidValueConverter } from './valueConverter.js'; +export * from './tokenBuilder.js'; +export * from './valueConverter.js'; diff --git a/packages/parser/src/language/info/module.ts b/packages/parser/src/language/info/module.ts index c25deb3771..17f1fb4eb1 100644 --- a/packages/parser/src/language/info/module.ts +++ b/packages/parser/src/language/info/module.ts @@ -7,7 +7,7 @@ import type { } from 'langium'; import { EmptyFileSystem, createDefaultModule, createDefaultSharedModule, inject } from 'langium'; -import { CommonValueConverter } from '../common/valueConverter.js'; +import { CommonValueConverter } from '../common/index.js'; import { InfoGeneratedModule, MermaidGeneratedSharedModule } from '../generated/module.js'; import { InfoTokenBuilder } from './tokenBuilder.js'; diff --git a/packages/parser/src/language/pie/valueConverter.ts b/packages/parser/src/language/pie/valueConverter.ts index 10b932f985..9215ef43c0 100644 --- a/packages/parser/src/language/pie/valueConverter.ts +++ b/packages/parser/src/language/pie/valueConverter.ts @@ -1,6 +1,6 @@ import type { CstNode, GrammarAST, ValueType } from 'langium'; -import { MermaidValueConverter } from '../common/valueConverter.js'; +import { MermaidValueConverter } from '../common/index.js'; export class PieValueConverter extends MermaidValueConverter { protected runCustomConverter( From cf1880343bc9527d024a5c8e731163d13c2d7892 Mon Sep 17 00:00:00 2001 From: Reda Al Sulais Date: Sun, 5 Nov 2023 02:03:58 +0300 Subject: [PATCH 104/789] fix: make `rearrangeRules` update the array itself --- .../src/language/common/tokenBuilder.ts | 24 +++++++++++++++---- 1 file changed, 19 insertions(+), 5 deletions(-) diff --git a/packages/parser/src/language/common/tokenBuilder.ts b/packages/parser/src/language/common/tokenBuilder.ts index fe48fe4fbb..df1c3864a3 100644 --- a/packages/parser/src/language/common/tokenBuilder.ts +++ b/packages/parser/src/language/common/tokenBuilder.ts @@ -34,12 +34,26 @@ export abstract class MermaidTokenBuilder extends DefaultTokenBuilder { return tokenTypes; } - private rearrangeRules(rules: GrammarAST.AbstractRule[]): GrammarAST.AbstractRule[] { - const pivotIndex = rules.findIndex((rule) => rule.name === 'TitleAndAccessibilities'); - if (pivotIndex === -1) { - return rules; + /** + * Reorders rules using a pivot rule. + * + * We use this function to reorder rules because imported rules are + * inserted at the end of the array. + * + * @param rules - the grammar rules. + */ + private rearrangeRules(rules: GrammarAST.AbstractRule[]): void { + const index = rules.findIndex((rule) => rule.name === 'TitleAndAccessibilities'); + if (index === -1) { + return; } - return [...rules.slice(pivotIndex), ...rules.slice(0, pivotIndex)]; + + const [item] = rules.splice(index, 1); + + rules.unshift(item); + + const itemsToMove = rules.splice(1, index); + rules.push(...itemsToMove); } } From c62be1bb4526b91729c78efb512e23aad1dfac88 Mon Sep 17 00:00:00 2001 From: Reda Al Sulais Date: Sun, 5 Nov 2023 02:08:36 +0300 Subject: [PATCH 105/789] export necessary functions and types from `packages/parser` --- packages/parser/src/language/index.ts | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/packages/parser/src/language/index.ts b/packages/parser/src/language/index.ts index 2eea343e22..087bdb6b8d 100644 --- a/packages/parser/src/language/index.ts +++ b/packages/parser/src/language/index.ts @@ -1,4 +1,13 @@ -export { Info, MermaidAstType, Pie, PieSection } from './generated/ast.js'; +export { + Info, + MermaidAstType, + Pie, + PieSection, + isCommon, + isInfo, + isPie, + isPieSection, +} from './generated/ast.js'; export { InfoGeneratedModule, MermaidGeneratedSharedModule, From f01971b67c0d549bdc3d336ff2cebd49c0110e3d Mon Sep 17 00:00:00 2001 From: Reda Al Sulais Date: Sun, 5 Nov 2023 02:11:04 +0300 Subject: [PATCH 106/789] switch to `NEWLINE+` instead of `EOF` until next release of `langium` --- packages/parser/src/language/common/common.langium | 2 +- packages/parser/src/language/pie/pie.langium | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/parser/src/language/common/common.langium b/packages/parser/src/language/common/common.langium index baf933e0fc..0bf9666b8b 100644 --- a/packages/parser/src/language/common/common.langium +++ b/packages/parser/src/language/common/common.langium @@ -5,7 +5,7 @@ interface Common { } fragment TitleAndAccessibilities: - ((accDescr=ACC_DESCR | accTitle=ACC_TITLE | title=TITLE) EOL)+ + ((accDescr=ACC_DESCR | accTitle=ACC_TITLE | title=TITLE) NEWLINE)+ ; fragment EOL returns string: diff --git a/packages/parser/src/language/pie/pie.langium b/packages/parser/src/language/pie/pie.langium index c1219722cc..a71e7f8523 100644 --- a/packages/parser/src/language/pie/pie.langium +++ b/packages/parser/src/language/pie/pie.langium @@ -12,7 +12,7 @@ entry Pie: ; PieSection: - label=PIE_SECTION_LABEL ":" value=PIE_SECTION_VALUE EOF + label=PIE_SECTION_LABEL ":" value=PIE_SECTION_VALUE NEWLINE+ ; terminal PIE_SECTION_LABEL: /"[^"]+"/; From cf22e3023722f2066719c2b708e2050f3820d104 Mon Sep 17 00:00:00 2001 From: Reda Al Sulais Date: Sun, 5 Nov 2023 13:07:08 +0300 Subject: [PATCH 107/789] rename abstract rules in common parser files --- packages/parser/src/language/common/tokenBuilder.ts | 4 ++-- packages/parser/src/language/common/valueConverter.ts | 6 +++--- packages/parser/src/language/info/tokenBuilder.ts | 4 ++-- packages/parser/src/language/pie/tokenBuilder.ts | 4 ++-- packages/parser/src/language/pie/valueConverter.ts | 4 ++-- 5 files changed, 11 insertions(+), 11 deletions(-) diff --git a/packages/parser/src/language/common/tokenBuilder.ts b/packages/parser/src/language/common/tokenBuilder.ts index df1c3864a3..d59249e197 100644 --- a/packages/parser/src/language/common/tokenBuilder.ts +++ b/packages/parser/src/language/common/tokenBuilder.ts @@ -3,7 +3,7 @@ import type { TokenType, TokenVocabulary } from 'chevrotain'; import { DefaultTokenBuilder } from 'langium'; -export abstract class MermaidTokenBuilder extends DefaultTokenBuilder { +export abstract class AbstractMermaidTokenBuilder extends DefaultTokenBuilder { private keywords: Set; public constructor(keywords: string[]) { @@ -57,4 +57,4 @@ export abstract class MermaidTokenBuilder extends DefaultTokenBuilder { } } -export class CommonTokenBuilder extends MermaidTokenBuilder {} +export class CommonTokenBuilder extends AbstractMermaidTokenBuilder {} diff --git a/packages/parser/src/language/common/valueConverter.ts b/packages/parser/src/language/common/valueConverter.ts index bc31ba7144..624cc67a5e 100644 --- a/packages/parser/src/language/common/valueConverter.ts +++ b/packages/parser/src/language/common/valueConverter.ts @@ -10,7 +10,7 @@ const rulesRegexes: Record = { TITLE: titleRegex, }; -export abstract class MermaidValueConverter extends DefaultValueConverter { +export abstract class AbstractMermaidValueConverter extends DefaultValueConverter { /** * A method contains convert logic to be used by class. * @@ -71,8 +71,8 @@ export abstract class MermaidValueConverter extends DefaultValueConverter { } } -export class CommonValueConverter extends MermaidValueConverter { - protected runCustomConverter( +export class CommonValueConverter extends AbstractMermaidValueConverter { + protected override runCustomConverter( _rule: GrammarAST.AbstractRule, _input: string, _cstNode: CstNode diff --git a/packages/parser/src/language/info/tokenBuilder.ts b/packages/parser/src/language/info/tokenBuilder.ts index 311d372e46..69ad0e689d 100644 --- a/packages/parser/src/language/info/tokenBuilder.ts +++ b/packages/parser/src/language/info/tokenBuilder.ts @@ -1,6 +1,6 @@ -import { MermaidTokenBuilder } from '../common/index.js'; +import { AbstractMermaidTokenBuilder } from '../common/index.js'; -export class InfoTokenBuilder extends MermaidTokenBuilder { +export class InfoTokenBuilder extends AbstractMermaidTokenBuilder { public constructor() { super(['info', 'showInfo']); } diff --git a/packages/parser/src/language/pie/tokenBuilder.ts b/packages/parser/src/language/pie/tokenBuilder.ts index b75cde187e..85aecf96a0 100644 --- a/packages/parser/src/language/pie/tokenBuilder.ts +++ b/packages/parser/src/language/pie/tokenBuilder.ts @@ -1,6 +1,6 @@ -import { MermaidTokenBuilder } from '../common/index.js'; +import { AbstractMermaidTokenBuilder } from '../common/index.js'; -export class PieTokenBuilder extends MermaidTokenBuilder { +export class PieTokenBuilder extends AbstractMermaidTokenBuilder { public constructor() { super(['pie', 'showData']); } diff --git a/packages/parser/src/language/pie/valueConverter.ts b/packages/parser/src/language/pie/valueConverter.ts index 9215ef43c0..b0ae18c0ba 100644 --- a/packages/parser/src/language/pie/valueConverter.ts +++ b/packages/parser/src/language/pie/valueConverter.ts @@ -1,8 +1,8 @@ import type { CstNode, GrammarAST, ValueType } from 'langium'; -import { MermaidValueConverter } from '../common/index.js'; +import { AbstractMermaidValueConverter } from '../common/index.js'; -export class PieValueConverter extends MermaidValueConverter { +export class PieValueConverter extends AbstractMermaidValueConverter { protected runCustomConverter( rule: GrammarAST.AbstractRule, input: string, From b83603488c27879085b8debb8f9b258180219d95 Mon Sep 17 00:00:00 2001 From: Reda Al Sulais Date: Mon, 6 Nov 2023 19:00:31 +0300 Subject: [PATCH 108/789] build(deps): update `langium` to `v2.1.1` --- packages/parser/package.json | 8 ++++---- pnpm-lock.yaml | 22 +++++++++------------- 2 files changed, 13 insertions(+), 17 deletions(-) diff --git a/packages/parser/package.json b/packages/parser/package.json index 6affa2ce69..dd228e5297 100644 --- a/packages/parser/package.json +++ b/packages/parser/package.json @@ -34,15 +34,15 @@ "ast" ], "dependencies": { - "langium": "2.1.0" + "langium": "2.1.2" + }, + "devDependencies": { + "chevrotain": "^11.0.3" }, "files": [ "dist/" ], "publishConfig": { "access": "public" - }, - "devDependencies": { - "chevrotain": "^11.0.3" } } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 0250374005..89b489988a 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -484,8 +484,8 @@ importers: packages/parser: dependencies: langium: - specifier: 2.1.0 - version: 2.1.0 + specifier: 2.1.2 + version: 2.1.2 devDependencies: chevrotain: specifier: ^11.0.3 @@ -11534,7 +11534,7 @@ packages: commander: 11.0.0 fs-extra: 11.1.1 jsonschema: 1.4.1 - langium: 2.1.0 + langium: 2.1.2 langium-railroad: 2.1.0 lodash: 4.17.21 dev: true @@ -11542,12 +11542,12 @@ packages: /langium-railroad@2.1.0: resolution: {integrity: sha512-2IeAIUSTQzbDjNnJA+0ql8tyN/mhCSN4FS50Mo9LOtLj523qUEBwHflDmCiOGZzW9iZdni6NXJgh8nLqjhTlDw==} dependencies: - langium: 2.1.0 + langium: 2.1.2 railroad-diagrams: 1.0.0 dev: true - /langium@2.1.0: - resolution: {integrity: sha512-VDJNyJHfFkamwX+IGp2cLiVIsdOqeVwEZ7b95DWs1jcJmf5e47NGLsfb4aLb0mVrCTU4mvfghfoiTkOMVSdpqA==} + /langium@2.1.2: + resolution: {integrity: sha512-1NDUmhm111xs6NLh1DzQ9YPrOhL6JqJryY9igPIGrG0AbKKGmGf3fahAiY1MUChwIYSec6Fvoj+igwKzvGXQog==} engines: {node: '>=16.0.0'} dependencies: chevrotain: 11.0.3 @@ -16001,10 +16001,10 @@ packages: resolution: {integrity: sha512-xGmv9QIWs2H8obGbWg+sIPI/3/pFgj/5OWBhNzs00BkYQ9UaB2F6JJaGB/2/YOZJ3BvLXQTC4Q7muqU25QgAhA==} dependencies: jsonc-parser: 3.2.0 - vscode-languageserver-textdocument: 1.0.8 - vscode-languageserver-types: 3.17.3 + vscode-languageserver-textdocument: 1.0.11 + vscode-languageserver-types: 3.17.5 vscode-nls: 5.2.0 - vscode-uri: 3.0.7 + vscode-uri: 3.0.8 dev: true /vscode-jsonrpc@8.2.0: @@ -16024,10 +16024,6 @@ packages: resolution: {integrity: sha512-1bonkGqQs5/fxGT5UchTgjGVnfysL0O8v1AYMBjqTbWQTFn721zaPGDYFkOKtfDgFiSgXM3KwaG3FMGfW4Ed9Q==} dev: true - /vscode-languageserver-types@3.17.3: - resolution: {integrity: sha512-SYU4z1dL0PyIMd4Vj8YOqFvHu7Hz/enbWtpfnVbJHU4Nd1YNYx8u0ennumc6h48GQNeOLxmwySmnADouT/AuZA==} - dev: true - /vscode-languageserver-types@3.17.5: resolution: {integrity: sha512-Ld1VelNuX9pdF39h2Hgaeb5hEZM2Z3jUrrMgWQAu82jMtZp7p3vJT3BzToKtZI7NgQssZje5o0zryOrhQvzQAg==} From 6102285577d0c83ceee03f580f9214f8124dcdfc Mon Sep 17 00:00:00 2001 From: Reda Al Sulais Date: Mon, 6 Nov 2023 19:01:22 +0300 Subject: [PATCH 109/789] full switch to EOF --- packages/parser/src/language/common/common.langium | 2 +- packages/parser/src/language/pie/pie.langium | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/parser/src/language/common/common.langium b/packages/parser/src/language/common/common.langium index 0bf9666b8b..baf933e0fc 100644 --- a/packages/parser/src/language/common/common.langium +++ b/packages/parser/src/language/common/common.langium @@ -5,7 +5,7 @@ interface Common { } fragment TitleAndAccessibilities: - ((accDescr=ACC_DESCR | accTitle=ACC_TITLE | title=TITLE) NEWLINE)+ + ((accDescr=ACC_DESCR | accTitle=ACC_TITLE | title=TITLE) EOL)+ ; fragment EOL returns string: diff --git a/packages/parser/src/language/pie/pie.langium b/packages/parser/src/language/pie/pie.langium index a71e7f8523..2bbf967e1d 100644 --- a/packages/parser/src/language/pie/pie.langium +++ b/packages/parser/src/language/pie/pie.langium @@ -12,7 +12,7 @@ entry Pie: ; PieSection: - label=PIE_SECTION_LABEL ":" value=PIE_SECTION_VALUE NEWLINE+ + label=PIE_SECTION_LABEL ":" value=PIE_SECTION_VALUE EOL ; terminal PIE_SECTION_LABEL: /"[^"]+"/; From 1d88ac43cfed8a30fb81bf65640b2757aac5ddb8 Mon Sep 17 00:00:00 2001 From: Reda Al Sulais Date: Mon, 6 Nov 2023 19:02:39 +0300 Subject: [PATCH 110/789] enhance `title`, `accTitle`, and `accDescr` regexes --- packages/parser/src/language/common/common.langium | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/parser/src/language/common/common.langium b/packages/parser/src/language/common/common.langium index baf933e0fc..7989de1931 100644 --- a/packages/parser/src/language/common/common.langium +++ b/packages/parser/src/language/common/common.langium @@ -13,9 +13,9 @@ fragment EOL returns string: ; terminal NEWLINE: /\r?\n/; -terminal ACC_DESCR: /accDescr([\t ]*:[^\n\r]*(?=%%)|\s*{[^}]*})|accDescr([\t ]*:[^\n\r]*|\s*{[^}]*})/; -terminal ACC_TITLE: /accTitle[\t ]*:[^\n\r]*(?=%%)|accTitle[\t ]*:[^\n\r]*/; -terminal TITLE: /title([\t ][^\n\r]*|)(?=%%)|title([\t ][^\n\r]*|)/; +terminal ACC_DESCR: /[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/; +terminal ACC_TITLE: /[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/; +terminal TITLE: /[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/; hidden terminal WHITESPACE: /[\t ]+/; hidden terminal YAML: /---[\t ]*\r?\n(?:[\S\s]*?\r?\n)?---(?:\r?\n|(?!\S))/; From 7c79bbd6b0c0c518665a6233ab535f1b33a05bef Mon Sep 17 00:00:00 2001 From: Sidharth Vinod Date: Tue, 14 Nov 2023 11:48:11 +0530 Subject: [PATCH 111/789] refactor: Address review comments Moved some types around Removed unnecessary params Co-authored-by: Reda Al Sulais Co-authored-by: Alois Klink --- cypress/integration/rendering/packet.spec.ts | 2 +- docs/config/setup/modules/defaultConfig.md | 2 +- packages/mermaid/src/defaultConfig.ts | 4 ---- packages/mermaid/src/diagrams/packet/db.ts | 14 +++++--------- packages/mermaid/src/diagrams/packet/styles.ts | 4 +++- packages/mermaid/src/diagrams/packet/types.ts | 16 ++++++++++++++++ .../parser/src/language/packet/packet.langium | 18 ++++++++++++------ 7 files changed, 38 insertions(+), 22 deletions(-) diff --git a/cypress/integration/rendering/packet.spec.ts b/cypress/integration/rendering/packet.spec.ts index 990ce092c9..89dce609bd 100644 --- a/cypress/integration/rendering/packet.spec.ts +++ b/cypress/integration/rendering/packet.spec.ts @@ -1,4 +1,4 @@ -import { imgSnapshotTest, renderGraph } from '../../helpers/util'; +import { imgSnapshotTest } from '../../helpers/util'; describe('packet structure', () => { it('should render a simple packet diagram', () => { diff --git a/docs/config/setup/modules/defaultConfig.md b/docs/config/setup/modules/defaultConfig.md index 7a9b891c43..d3495bc0c3 100644 --- a/docs/config/setup/modules/defaultConfig.md +++ b/docs/config/setup/modules/defaultConfig.md @@ -14,7 +14,7 @@ #### Defined in -[defaultConfig.ts:272](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/defaultConfig.ts#L272) +[defaultConfig.ts:275](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/defaultConfig.ts#L275) --- diff --git a/packages/mermaid/src/defaultConfig.ts b/packages/mermaid/src/defaultConfig.ts index 343d667af0..76a8152b7a 100644 --- a/packages/mermaid/src/defaultConfig.ts +++ b/packages/mermaid/src/defaultConfig.ts @@ -259,10 +259,6 @@ const config: RequiredDeep = { }, packet: { ...defaultConfigJson.packet, - useWidth: undefined, - // this is false, unlike every other diagram (other than gitGraph) - // TODO: can we make this default to `true` instead? - useMaxWidth: false, }, }; diff --git a/packages/mermaid/src/diagrams/packet/db.ts b/packages/mermaid/src/diagrams/packet/db.ts index d766765fc1..385246d7ad 100644 --- a/packages/mermaid/src/diagrams/packet/db.ts +++ b/packages/mermaid/src/diagrams/packet/db.ts @@ -1,13 +1,9 @@ -import type { Block, PacketDB, Row } from './types.js'; +import type { Block, PacketDB, PacketData, Row } from './types.js'; import type { PacketDiagramConfig } from '../../config.type.js'; - import { log } from '../../logger.js'; import DEFAULT_CONFIG from '../../defaultConfig.js'; import { getConfig as commonGetConfig } from '../../config.js'; - -interface PacketData { - packet: Row[]; -} +import { cleanAndMerge } from '../../utils.js'; const defaultPacketData: PacketData = { packet: [], @@ -17,7 +13,7 @@ let data: PacketData = structuredClone(defaultPacketData); export const DEFAULT_PACKET_CONFIG: Required = DEFAULT_CONFIG.packet; export const getConfig = (): Required => { - const config = structuredClone({ + const config = cleanAndMerge({ ...DEFAULT_PACKET_CONFIG, ...commonGetConfig().packet, }); @@ -61,9 +57,9 @@ export const getNextFittingBlock = ( }; export const populate = ({ blocks }: { blocks: Block[] }) => { + clear(); let lastByte = -1; let word: Row = []; - data.packet = []; let row = 1; const { bitsPerRow } = getConfig(); for (let { start, end, label } of blocks) { @@ -97,7 +93,6 @@ export const populate = ({ blocks }: { blocks: Block[] }) => { if (word.length > 0) { data.packet.push(word); } - log.debug(data); }; export const clear = () => { @@ -107,4 +102,5 @@ export const clear = () => { export const db: PacketDB = { getPacket, getConfig, + clear, }; diff --git a/packages/mermaid/src/diagrams/packet/styles.ts b/packages/mermaid/src/diagrams/packet/styles.ts index d6f738a138..28292a0275 100644 --- a/packages/mermaid/src/diagrams/packet/styles.ts +++ b/packages/mermaid/src/diagrams/packet/styles.ts @@ -1,6 +1,8 @@ +import type { DiagramStylesProvider } from '../../diagram-api/types.js'; import { log } from '../../logger.js'; +import type { PacketStyleOptions } from './types.js'; -export const styles = (options: any = {}) => { +export const styles: DiagramStylesProvider = (options: { packet?: PacketStyleOptions } = {}) => { log.debug({ options }); return ` .byte { diff --git a/packages/mermaid/src/diagrams/packet/types.ts b/packages/mermaid/src/diagrams/packet/types.ts index 1ec25c0406..6dc92215a8 100644 --- a/packages/mermaid/src/diagrams/packet/types.ts +++ b/packages/mermaid/src/diagrams/packet/types.ts @@ -9,4 +9,20 @@ export type Row = Required[]; export interface PacketDB extends DiagramDB { getPacket: () => Row[]; getConfig: () => Required; + clear: () => void; +} + +export interface PacketStyleOptions { + byteFontSize?: string; + startByteColor?: string; + endByteColor?: string; + labelColor?: string; + labelFontSize?: string; + blockStrokeColor?: string; + blockStrokeWidth?: string; + blockFillColor?: string; +} + +export interface PacketData { + packet: Row[]; } diff --git a/packages/parser/src/language/packet/packet.langium b/packages/parser/src/language/packet/packet.langium index 33adf49327..6565578dd7 100644 --- a/packages/parser/src/language/packet/packet.langium +++ b/packages/parser/src/language/packet/packet.langium @@ -2,13 +2,19 @@ grammar Packet import "../common/common"; entry Packet: - "packet-beta" NEWLINE* - TitleAndAccessibilities? - (blocks+=Block)*; + NEWLINE* + "packet-beta" + ( + NEWLINE* TitleAndAccessibilities blocks+=PacketBlock* + | NEWLINE+ blocks+=PacketBlock+ + | NEWLINE* + ) +; -Block: - start=INT ('-' end=INT)? ':' label=STRING; +PacketBlock: + start=INT('-' end=INT)? ':' label=STRING NEWLINE+ +; hidden terminal WS: /\s+/; -terminal INT returns number: /[0-9]+/; +terminal INT returns number: /0|[1-9][0-9]*/; terminal STRING: /"[^"]*"|'[^']*'/; From b88d1dfaa95ef71314ac1c7a6642a69567823b45 Mon Sep 17 00:00:00 2001 From: Sidharth Vinod Date: Tue, 14 Nov 2023 11:59:58 +0530 Subject: [PATCH 112/789] fix(packet): Grammar whitespace Move populate into parser Co-authored-by: Reda Al Sulais --- packages/mermaid/src/diagrams/packet/db.ts | 68 +----------------- .../mermaid/src/diagrams/packet/parser.ts | 72 ++++++++++++++++++- .../parser/src/language/packet/packet.langium | 1 - 3 files changed, 72 insertions(+), 69 deletions(-) diff --git a/packages/mermaid/src/diagrams/packet/db.ts b/packages/mermaid/src/diagrams/packet/db.ts index 385246d7ad..96648be5f5 100644 --- a/packages/mermaid/src/diagrams/packet/db.ts +++ b/packages/mermaid/src/diagrams/packet/db.ts @@ -1,6 +1,5 @@ import type { Block, PacketDB, PacketData, Row } from './types.js'; import type { PacketDiagramConfig } from '../../config.type.js'; -import { log } from '../../logger.js'; import DEFAULT_CONFIG from '../../defaultConfig.js'; import { getConfig as commonGetConfig } from '../../config.js'; import { cleanAndMerge } from '../../utils.js'; @@ -10,6 +9,7 @@ const defaultPacketData: PacketData = { }; let data: PacketData = structuredClone(defaultPacketData); + export const DEFAULT_PACKET_CONFIG: Required = DEFAULT_CONFIG.packet; export const getConfig = (): Required => { @@ -25,71 +25,7 @@ export const getConfig = (): Required => { export const getPacket = (): Row[] => data.packet; -export const getNextFittingBlock = ( - block: Block, - row: number, - bitsPerRow: number -): [Required, Block | undefined] => { - if (block.end === undefined) { - block.end = block.start; - } - - if (block.start > block.end) { - throw new Error(`Block start ${block.start} is greater than block end ${block.end}.`); - } - - if (block.end + 1 <= row * bitsPerRow) { - return [block as Required, undefined]; - } - - return [ - { - start: block.start, - end: row * bitsPerRow - 1, - label: block.label, - }, - { - start: row * bitsPerRow, - end: block.end, - label: block.label, - }, - ]; -}; - -export const populate = ({ blocks }: { blocks: Block[] }) => { - clear(); - let lastByte = -1; - let word: Row = []; - let row = 1; - const { bitsPerRow } = getConfig(); - for (let { start, end, label } of blocks) { - if (end && end < start) { - throw new Error(`Packet block ${start} - ${end} is invalid. End must be greater than start.`); - } - if (start != lastByte + 1) { - throw new Error( - `Packet block ${start} - ${end ?? start} is not contiguous. It should start from ${ - lastByte + 1 - }.` - ); - } - lastByte = end ?? start; - log.debug(`Packet block ${start} - ${lastByte} with label ${label}`); - - while (word.length <= bitsPerRow + 1 && data.packet.length < 10_000) { - const [block, nextBlock] = getNextFittingBlock({ start, end, label }, row, bitsPerRow); - word.push(block); - if (block.end + 1 === row * bitsPerRow) { - data.packet.push(word); - word = []; - row++; - } - if (!nextBlock) { - break; - } - ({ start, end, label } = nextBlock); - } - } +export const pushWord = (word: Row) => { if (word.length > 0) { data.packet.push(word); } diff --git a/packages/mermaid/src/diagrams/packet/parser.ts b/packages/mermaid/src/diagrams/packet/parser.ts index 0a1334faad..91f0a87065 100644 --- a/packages/mermaid/src/diagrams/packet/parser.ts +++ b/packages/mermaid/src/diagrams/packet/parser.ts @@ -1,9 +1,77 @@ import type { Packet } from 'mermaid-parser'; import type { ParserDefinition } from '../../diagram-api/types.js'; - import { parse } from 'mermaid-parser'; import { log } from '../../logger.js'; -import { populate } from './db.js'; +import type { Block, Row } from './types.js'; +import { clear, getConfig, getPacket, pushWord } from './db.js'; + +const populate = ({ blocks }: { blocks: Block[] }) => { + clear(); + let lastByte = -1; + let word: Row = []; + let row = 1; + const { bitsPerRow } = getConfig(); + for (let { start, end, label } of blocks) { + if (end && end < start) { + throw new Error(`Packet block ${start} - ${end} is invalid. End must be greater than start.`); + } + if (start != lastByte + 1) { + throw new Error( + `Packet block ${start} - ${end ?? start} is not contiguous. It should start from ${ + lastByte + 1 + }.` + ); + } + lastByte = end ?? start; + log.debug(`Packet block ${start} - ${lastByte} with label ${label}`); + + while (word.length <= bitsPerRow + 1 && getPacket().length < 10_000) { + const [block, nextBlock] = getNextFittingBlock({ start, end, label }, row, bitsPerRow); + word.push(block); + if (block.end + 1 === row * bitsPerRow) { + pushWord(word); + word = []; + row++; + } + if (!nextBlock) { + break; + } + ({ start, end, label } = nextBlock); + } + } + pushWord(word); +}; + +const getNextFittingBlock = ( + block: Block, + row: number, + bitsPerRow: number +): [Required, Block | undefined] => { + if (block.end === undefined) { + block.end = block.start; + } + + if (block.start > block.end) { + throw new Error(`Block start ${block.start} is greater than block end ${block.end}.`); + } + + if (block.end + 1 <= row * bitsPerRow) { + return [block as Required, undefined]; + } + + return [ + { + start: block.start, + end: row * bitsPerRow - 1, + label: block.label, + }, + { + start: row * bitsPerRow, + end: block.end, + label: block.label, + }, + ]; +}; export const parser: ParserDefinition = { parse: (input: string): void => { diff --git a/packages/parser/src/language/packet/packet.langium b/packages/parser/src/language/packet/packet.langium index 6565578dd7..d14dfdd68a 100644 --- a/packages/parser/src/language/packet/packet.langium +++ b/packages/parser/src/language/packet/packet.langium @@ -15,6 +15,5 @@ PacketBlock: start=INT('-' end=INT)? ':' label=STRING NEWLINE+ ; -hidden terminal WS: /\s+/; terminal INT returns number: /0|[1-9][0-9]*/; terminal STRING: /"[^"]*"|'[^']*'/; From 659db9f04b50dd216c6da8e99b402247870f7389 Mon Sep 17 00:00:00 2001 From: Sidharth Vinod Date: Tue, 14 Nov 2023 19:44:09 +0530 Subject: [PATCH 113/789] chore: Add types and minimums for packet config --- packages/mermaid/src/schemas/config.schema.yaml | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/packages/mermaid/src/schemas/config.schema.yaml b/packages/mermaid/src/schemas/config.schema.yaml index a720163130..ce6219eb87 100644 --- a/packages/mermaid/src/schemas/config.schema.yaml +++ b/packages/mermaid/src/schemas/config.schema.yaml @@ -1994,21 +1994,32 @@ $defs: # JSON Schema definition (maybe we should move these to a separate file) properties: rowHeight: description: The height of each row in the packet diagram. + type: number + minimum: 1 default: 32 bitWidth: description: The width of each bit in the packet diagram. + type: number + minimum: 1 default: 32 bitsPerRow: description: The number of bits to display per row. + type: number + minimum: 1 default: 32 showBits: description: Toggle to display or hide bit numbers. + type: boolean default: true paddingX: description: The horizontal padding between the blocks in a row. + type: number + minimum: 0 default: 5 paddingY: description: The vertical padding between the rows. + type: number + minimum: 0 default: 5 FontCalculator: From 9925b9b455bcf930a7dcbb209bf7c4448c0c9ccb Mon Sep 17 00:00:00 2001 From: Sidharth Vinod Date: Wed, 15 Nov 2023 00:47:03 +0530 Subject: [PATCH 114/789] feat: Add title support to packetDiagram --- packages/mermaid/src/diagram-api/types.ts | 21 +++++++++++-- packages/mermaid/src/diagrams/packet/db.ts | 31 ++++++++++++++----- .../mermaid/src/diagrams/packet/diagram.ts | 2 +- .../src/diagrams/packet/packet.spec.ts | 5 ++- .../mermaid/src/diagrams/packet/parser.ts | 19 ++++++------ .../mermaid/src/diagrams/packet/renderer.ts | 29 +++++++++++------ .../mermaid/src/diagrams/packet/styles.ts | 14 ++++++--- packages/mermaid/src/diagrams/packet/types.ts | 9 +++--- 8 files changed, 92 insertions(+), 38 deletions(-) diff --git a/packages/mermaid/src/diagram-api/types.ts b/packages/mermaid/src/diagram-api/types.ts index d4f34de702..88957b5fb8 100644 --- a/packages/mermaid/src/diagram-api/types.ts +++ b/packages/mermaid/src/diagram-api/types.ts @@ -1,7 +1,8 @@ /* eslint-disable @typescript-eslint/no-explicit-any */ +import type * as d3 from 'd3'; +import type { SetRequired } from 'type-fest'; import type { Diagram } from '../Diagram.js'; import type { BaseDiagramConfig, MermaidConfig } from '../config.type.js'; -import type * as d3 from 'd3'; export interface DiagramMetadata { title?: string; @@ -32,13 +33,29 @@ export interface DiagramDB { getDiagramTitle?: () => string; setAccTitle?: (title: string) => void; getAccTitle?: () => string; - setAccDescription?: (describetion: string) => void; + setAccDescription?: (description: string) => void; getAccDescription?: () => string; setDisplayMode?: (title: string) => void; bindFunctions?: (element: Element) => void; } +/** + * DiagramDB with fields that is required for all new diagrams. + */ +export type DiagramDBBase = { + getConfig: () => Required; +} & SetRequired< + DiagramDB, + | 'clear' + | 'getAccTitle' + | 'getDiagramTitle' + | 'getAccDescription' + | 'setAccDescription' + | 'setAccTitle' + | 'setDiagramTitle' +>; + // This is what is returned from getClasses(...) methods. // It is slightly renamed to ..StyleClassDef instead of just ClassDef because "class" is a greatly ambiguous and overloaded word. // It makes it clear we're working with a style class definition, even though defining the type is currently difficult. diff --git a/packages/mermaid/src/diagrams/packet/db.ts b/packages/mermaid/src/diagrams/packet/db.ts index 96648be5f5..a40b71724d 100644 --- a/packages/mermaid/src/diagrams/packet/db.ts +++ b/packages/mermaid/src/diagrams/packet/db.ts @@ -1,8 +1,17 @@ -import type { Block, PacketDB, PacketData, Row } from './types.js'; +import { getConfig as commonGetConfig } from '../../config.js'; import type { PacketDiagramConfig } from '../../config.type.js'; import DEFAULT_CONFIG from '../../defaultConfig.js'; -import { getConfig as commonGetConfig } from '../../config.js'; import { cleanAndMerge } from '../../utils.js'; +import { + clear as commonClear, + getAccDescription, + getAccTitle, + getDiagramTitle, + setAccDescription, + setAccTitle, + setDiagramTitle, +} from '../common/commonDb.js'; +import type { PacketDB, PacketData, Row } from './types.js'; const defaultPacketData: PacketData = { packet: [], @@ -10,9 +19,9 @@ const defaultPacketData: PacketData = { let data: PacketData = structuredClone(defaultPacketData); -export const DEFAULT_PACKET_CONFIG: Required = DEFAULT_CONFIG.packet; +const DEFAULT_PACKET_CONFIG: Required = DEFAULT_CONFIG.packet; -export const getConfig = (): Required => { +const getConfig = (): Required => { const config = cleanAndMerge({ ...DEFAULT_PACKET_CONFIG, ...commonGetConfig().packet, @@ -23,20 +32,28 @@ export const getConfig = (): Required => { return config; }; -export const getPacket = (): Row[] => data.packet; +const getPacket = (): Row[] => data.packet; -export const pushWord = (word: Row) => { +const pushWord = (word: Row) => { if (word.length > 0) { data.packet.push(word); } }; -export const clear = () => { +const clear = () => { + commonClear(); data = structuredClone(defaultPacketData); }; export const db: PacketDB = { + pushWord, getPacket, getConfig, clear, + setAccTitle, + getAccTitle, + setDiagramTitle, + getDiagramTitle, + getAccDescription, + setAccDescription, }; diff --git a/packages/mermaid/src/diagrams/packet/diagram.ts b/packages/mermaid/src/diagrams/packet/diagram.ts index ae9cad4524..a73a77c052 100644 --- a/packages/mermaid/src/diagrams/packet/diagram.ts +++ b/packages/mermaid/src/diagrams/packet/diagram.ts @@ -1,6 +1,6 @@ import type { DiagramDefinition } from '../../diagram-api/types.js'; -import { parser } from './parser.js'; import { db } from './db.js'; +import { parser } from './parser.js'; import { renderer } from './renderer.js'; import { styles } from './styles.js'; diff --git a/packages/mermaid/src/diagrams/packet/packet.spec.ts b/packages/mermaid/src/diagrams/packet/packet.spec.ts index c4ccdba742..6ad24b75e9 100644 --- a/packages/mermaid/src/diagrams/packet/packet.spec.ts +++ b/packages/mermaid/src/diagrams/packet/packet.spec.ts @@ -1,5 +1,8 @@ +import { db } from './db.js'; import { parser } from './parser.js'; -import { clear, getPacket } from './db.js'; + +const { clear, getPacket } = db; + describe('packet diagrams', () => { beforeEach(() => { clear(); diff --git a/packages/mermaid/src/diagrams/packet/parser.ts b/packages/mermaid/src/diagrams/packet/parser.ts index 91f0a87065..db1dcde09b 100644 --- a/packages/mermaid/src/diagrams/packet/parser.ts +++ b/packages/mermaid/src/diagrams/packet/parser.ts @@ -1,17 +1,18 @@ import type { Packet } from 'mermaid-parser'; -import type { ParserDefinition } from '../../diagram-api/types.js'; import { parse } from 'mermaid-parser'; +import type { ParserDefinition } from '../../diagram-api/types.js'; import { log } from '../../logger.js'; +import { populateCommonDb } from '../common/populateCommonDb.js'; +import { db } from './db.js'; import type { Block, Row } from './types.js'; -import { clear, getConfig, getPacket, pushWord } from './db.js'; -const populate = ({ blocks }: { blocks: Block[] }) => { - clear(); +const populate = (ast: Packet) => { + populateCommonDb(ast, db); let lastByte = -1; let word: Row = []; let row = 1; - const { bitsPerRow } = getConfig(); - for (let { start, end, label } of blocks) { + const { bitsPerRow } = db.getConfig(); + for (let { start, end, label } of ast.blocks) { if (end && end < start) { throw new Error(`Packet block ${start} - ${end} is invalid. End must be greater than start.`); } @@ -25,11 +26,11 @@ const populate = ({ blocks }: { blocks: Block[] }) => { lastByte = end ?? start; log.debug(`Packet block ${start} - ${lastByte} with label ${label}`); - while (word.length <= bitsPerRow + 1 && getPacket().length < 10_000) { + while (word.length <= bitsPerRow + 1 && db.getPacket().length < 10_000) { const [block, nextBlock] = getNextFittingBlock({ start, end, label }, row, bitsPerRow); word.push(block); if (block.end + 1 === row * bitsPerRow) { - pushWord(word); + db.pushWord(word); word = []; row++; } @@ -39,7 +40,7 @@ const populate = ({ blocks }: { blocks: Block[] }) => { ({ start, end, label } = nextBlock); } } - pushWord(word); + db.pushWord(word); }; const getNextFittingBlock = ( diff --git a/packages/mermaid/src/diagrams/packet/renderer.ts b/packages/mermaid/src/diagrams/packet/renderer.ts index 172f4a202e..d846de9e73 100644 --- a/packages/mermaid/src/diagrams/packet/renderer.ts +++ b/packages/mermaid/src/diagrams/packet/renderer.ts @@ -1,9 +1,9 @@ -import { configureSvgSize } from '../../setupGraphViewbox.js'; +import type { Diagram } from '../../Diagram.js'; +import type { PacketDiagramConfig } from '../../config.type.js'; import type { DrawDefinition, Group, SVG } from '../../diagram-api/types.js'; import { selectSvgElement } from '../../rendering-util/selectSvgElement.js'; +import { configureSvgSize } from '../../setupGraphViewbox.js'; import type { PacketDB, Row } from './types.js'; -import type { PacketDiagramConfig } from '../../config.type.js'; -import type { Diagram } from '../../Diagram.js'; // eslint-disable-next-line @typescript-eslint/no-unused-vars const draw: DrawDefinition = (_text, id, _version, diagram: Diagram) => { @@ -11,16 +11,27 @@ const draw: DrawDefinition = (_text, id, _version, diagram: Diagram) => { const config = db.getConfig(); const { rowHeight, paddingY, bitWidth, bitsPerRow } = config; const words = db.getPacket(); - const svgHeight = (rowHeight + paddingY) * words.length + paddingY; + const title = db.getDiagramTitle(); + const totalRowHeight = rowHeight + paddingY; + const svgHeight = totalRowHeight * (words.length + 1) - (title ? 0 : rowHeight); const svgWidth = bitWidth * bitsPerRow + 2; - const svg: SVG = selectSvgElement(id); + configureSvgSize(svg, svgHeight, svgWidth, true); svg.attr('height', svgHeight + 'px'); for (const [row, packet] of words.entries()) { drawWord(svg, packet, row, config); } + + svg + .append('text') + .text(title) + .attr('x', svgWidth / 2) + .attr('y', svgHeight - rowHeight) + .attr('dominant-baseline', 'middle') + .attr('text-anchor', 'middle') + .attr('class', 'packetTitle'); }; const drawWord = ( @@ -41,14 +52,14 @@ const drawWord = ( .attr('y', wordY) .attr('width', width) .attr('height', rowHeight) - .attr('class', 'block'); + .attr('class', 'packetBlock'); // Block label group .append('text') .attr('x', blockX + width / 2) .attr('y', wordY + rowHeight / 2) - .attr('class', 'label') + .attr('class', 'packetLabel') .attr('dominant-baseline', 'middle') .attr('text-anchor', 'middle') .text(block.label); @@ -63,7 +74,7 @@ const drawWord = ( .append('text') .attr('x', blockX + (isSingleBlock ? width / 2 : 0)) .attr('y', bitNumberY) - .attr('class', 'byte start') + .attr('class', 'packetByte start') .attr('dominant-baseline', 'auto') .attr('text-anchor', isSingleBlock ? 'middle' : 'start') .text(block.start); @@ -74,7 +85,7 @@ const drawWord = ( .append('text') .attr('x', blockX + width) .attr('y', bitNumberY) - .attr('class', 'byte end') + .attr('class', 'packetByte end') .attr('dominant-baseline', 'auto') .attr('text-anchor', 'end') .text(block.end); diff --git a/packages/mermaid/src/diagrams/packet/styles.ts b/packages/mermaid/src/diagrams/packet/styles.ts index 28292a0275..101328da7f 100644 --- a/packages/mermaid/src/diagrams/packet/styles.ts +++ b/packages/mermaid/src/diagrams/packet/styles.ts @@ -5,20 +5,24 @@ import type { PacketStyleOptions } from './types.js'; export const styles: DiagramStylesProvider = (options: { packet?: PacketStyleOptions } = {}) => { log.debug({ options }); return ` - .byte { + .packetByte { font-size: ${options.packet?.byteFontSize ?? '10px'}; } - .byte.start { + .packetByte.start { fill: ${options.packet?.startByteColor ?? 'black'}; } - .byte.end { + .packetByte.end { fill: ${options.packet?.endByteColor ?? 'black'}; } - .label { + .packetLabel { fill: ${options.packet?.labelColor ?? 'black'}; font-size: ${options.packet?.labelFontSize ?? '12px'}; } - .block { + .packetTitle { + fill: ${options.packet?.titleColor ?? 'black'}; + font-size: ${options.packet?.titleFontSize ?? '14px'}; + } + .packetBlock { stroke: ${options.packet?.blockStrokeColor ?? 'black'}; stroke-width: ${options.packet?.blockStrokeWidth ?? '1'}; fill: ${options.packet?.blockFillColor ?? '#efefef'}; diff --git a/packages/mermaid/src/diagrams/packet/types.ts b/packages/mermaid/src/diagrams/packet/types.ts index 6dc92215a8..0a4507076d 100644 --- a/packages/mermaid/src/diagrams/packet/types.ts +++ b/packages/mermaid/src/diagrams/packet/types.ts @@ -1,15 +1,14 @@ import type { Packet } from 'mermaid-parser'; -import type { DiagramDB } from '../../diagram-api/types.js'; import type { PacketDiagramConfig } from '../../config.type.js'; +import type { DiagramDBBase } from '../../diagram-api/types.js'; export type ArrayElement = A extends readonly (infer T)[] ? T : never; export type Block = Pick, 'start' | 'end' | 'label'>; export type Row = Required[]; -export interface PacketDB extends DiagramDB { +export interface PacketDB extends DiagramDBBase { + pushWord: (word: Row) => void; getPacket: () => Row[]; - getConfig: () => Required; - clear: () => void; } export interface PacketStyleOptions { @@ -21,6 +20,8 @@ export interface PacketStyleOptions { blockStrokeColor?: string; blockStrokeWidth?: string; blockFillColor?: string; + titleColor?: string; + titleFontSize?: string; } export interface PacketData { From 1a8743ec118d9c8d1563456bc6ccc4bd20f09518 Mon Sep 17 00:00:00 2001 From: Sidharth Vinod Date: Wed, 15 Nov 2023 00:52:56 +0530 Subject: [PATCH 115/789] refactor: Separate default options in styles --- .../mermaid/src/diagrams/packet/styles.ts | 40 +++++++++++++------ 1 file changed, 27 insertions(+), 13 deletions(-) diff --git a/packages/mermaid/src/diagrams/packet/styles.ts b/packages/mermaid/src/diagrams/packet/styles.ts index 101328da7f..ff940d0e63 100644 --- a/packages/mermaid/src/diagrams/packet/styles.ts +++ b/packages/mermaid/src/diagrams/packet/styles.ts @@ -1,31 +1,45 @@ import type { DiagramStylesProvider } from '../../diagram-api/types.js'; -import { log } from '../../logger.js'; +import { cleanAndMerge } from '../../utils.js'; import type { PacketStyleOptions } from './types.js'; -export const styles: DiagramStylesProvider = (options: { packet?: PacketStyleOptions } = {}) => { - log.debug({ options }); +const defaultPacketStyleOptions: PacketStyleOptions = { + byteFontSize: '10px', + startByteColor: 'black', + endByteColor: 'black', + labelColor: 'black', + labelFontSize: '12px', + titleColor: 'black', + titleFontSize: '14px', + blockStrokeColor: 'black', + blockStrokeWidth: '1', + blockFillColor: '#efefef', +}; + +export const styles: DiagramStylesProvider = ({ packet }: { packet?: PacketStyleOptions } = {}) => { + const options = cleanAndMerge(defaultPacketStyleOptions, packet); + return ` .packetByte { - font-size: ${options.packet?.byteFontSize ?? '10px'}; + font-size: ${options.byteFontSize}; } .packetByte.start { - fill: ${options.packet?.startByteColor ?? 'black'}; + fill: ${options.startByteColor}; } .packetByte.end { - fill: ${options.packet?.endByteColor ?? 'black'}; + fill: ${options.endByteColor}; } .packetLabel { - fill: ${options.packet?.labelColor ?? 'black'}; - font-size: ${options.packet?.labelFontSize ?? '12px'}; + fill: ${options.labelColor}; + font-size: ${options.labelFontSize}; } .packetTitle { - fill: ${options.packet?.titleColor ?? 'black'}; - font-size: ${options.packet?.titleFontSize ?? '14px'}; + fill: ${options.titleColor}; + font-size: ${options.titleFontSize}; } .packetBlock { - stroke: ${options.packet?.blockStrokeColor ?? 'black'}; - stroke-width: ${options.packet?.blockStrokeWidth ?? '1'}; - fill: ${options.packet?.blockFillColor ?? '#efefef'}; + stroke: ${options.blockStrokeColor}; + stroke-width: ${options.blockStrokeWidth}; + fill: ${options.blockFillColor}; } `; }; From 068a74adeb35f5e0e872f2e974e0b65b6a037c7e Mon Sep 17 00:00:00 2001 From: Sidharth Vinod Date: Wed, 15 Nov 2023 00:55:02 +0530 Subject: [PATCH 116/789] chore: Fix magic number Co-authored-by: Reda Al Sulais --- packages/mermaid/src/diagrams/packet/parser.ts | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/packages/mermaid/src/diagrams/packet/parser.ts b/packages/mermaid/src/diagrams/packet/parser.ts index db1dcde09b..c0e9e12a08 100644 --- a/packages/mermaid/src/diagrams/packet/parser.ts +++ b/packages/mermaid/src/diagrams/packet/parser.ts @@ -6,6 +6,8 @@ import { populateCommonDb } from '../common/populateCommonDb.js'; import { db } from './db.js'; import type { Block, Row } from './types.js'; +const maxPacketSize = 10_000; + const populate = (ast: Packet) => { populateCommonDb(ast, db); let lastByte = -1; @@ -16,7 +18,7 @@ const populate = (ast: Packet) => { if (end && end < start) { throw new Error(`Packet block ${start} - ${end} is invalid. End must be greater than start.`); } - if (start != lastByte + 1) { + if (start !== lastByte + 1) { throw new Error( `Packet block ${start} - ${end ?? start} is not contiguous. It should start from ${ lastByte + 1 @@ -26,7 +28,7 @@ const populate = (ast: Packet) => { lastByte = end ?? start; log.debug(`Packet block ${start} - ${lastByte} with label ${label}`); - while (word.length <= bitsPerRow + 1 && db.getPacket().length < 10_000) { + while (word.length <= bitsPerRow + 1 && db.getPacket().length < maxPacketSize) { const [block, nextBlock] = getNextFittingBlock({ start, end, label }, row, bitsPerRow); word.push(block); if (block.end + 1 === row * bitsPerRow) { From fc400ea57b8f1feacb269a08a18ea7a4e7ced5a4 Mon Sep 17 00:00:00 2001 From: Sidharth Vinod Date: Wed, 15 Nov 2023 00:57:39 +0530 Subject: [PATCH 117/789] fix: Langium formatting Co-authored-by: Reda Al Sulais --- packages/parser/src/language/packet/packet.langium | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/parser/src/language/packet/packet.langium b/packages/parser/src/language/packet/packet.langium index d14dfdd68a..dce1c1ef86 100644 --- a/packages/parser/src/language/packet/packet.langium +++ b/packages/parser/src/language/packet/packet.langium @@ -3,7 +3,7 @@ import "../common/common"; entry Packet: NEWLINE* - "packet-beta" + "packet-beta" ( NEWLINE* TitleAndAccessibilities blocks+=PacketBlock* | NEWLINE+ blocks+=PacketBlock+ @@ -12,7 +12,7 @@ entry Packet: ; PacketBlock: - start=INT('-' end=INT)? ':' label=STRING NEWLINE+ + start=INT('-' end=INT)? ':' label=STRING NEWLINE+ ; terminal INT returns number: /0|[1-9][0-9]*/; From b6983e4b21f64f1bb12bf1f5579177bffbe9401f Mon Sep 17 00:00:00 2001 From: Sidharth Vinod Date: Wed, 15 Nov 2023 00:59:34 +0530 Subject: [PATCH 118/789] Add title to tests --- cypress/integration/rendering/packet.spec.ts | 2 ++ 1 file changed, 2 insertions(+) diff --git a/cypress/integration/rendering/packet.spec.ts b/cypress/integration/rendering/packet.spec.ts index 89dce609bd..61555ea530 100644 --- a/cypress/integration/rendering/packet.spec.ts +++ b/cypress/integration/rendering/packet.spec.ts @@ -4,6 +4,7 @@ describe('packet structure', () => { it('should render a simple packet diagram', () => { imgSnapshotTest( `packet-beta + title Hello world 0-10: "hello" ` ); @@ -37,6 +38,7 @@ describe('packet structure', () => { imgSnapshotTest( ` --- + title: "Packet Diagram" config: packet: showBits: false From 113a4009522abeaddc3919b846c6323656098ad6 Mon Sep 17 00:00:00 2001 From: Sidharth Vinod Date: Wed, 15 Nov 2023 01:02:20 +0530 Subject: [PATCH 119/789] Add DiagramRenderer type Co-authored-by: Reda Al Sulais --- packages/mermaid/src/diagrams/packet/renderer.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/mermaid/src/diagrams/packet/renderer.ts b/packages/mermaid/src/diagrams/packet/renderer.ts index d846de9e73..c4547fd80d 100644 --- a/packages/mermaid/src/diagrams/packet/renderer.ts +++ b/packages/mermaid/src/diagrams/packet/renderer.ts @@ -1,6 +1,6 @@ import type { Diagram } from '../../Diagram.js'; import type { PacketDiagramConfig } from '../../config.type.js'; -import type { DrawDefinition, Group, SVG } from '../../diagram-api/types.js'; +import type { DiagramRenderer, DrawDefinition, Group, SVG } from '../../diagram-api/types.js'; import { selectSvgElement } from '../../rendering-util/selectSvgElement.js'; import { configureSvgSize } from '../../setupGraphViewbox.js'; import type { PacketDB, Row } from './types.js'; @@ -92,4 +92,4 @@ const drawWord = ( } } }; -export const renderer = { draw }; +export const renderer: DiagramRenderer = { draw }; From f9df193b7b175bc5eaa66adef0663e2d87745fc7 Mon Sep 17 00:00:00 2001 From: Sidharth Vinod Date: Wed, 15 Nov 2023 01:04:07 +0530 Subject: [PATCH 120/789] chore: Fix imports --- packages/parser/src/language/packet/module.ts | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/packages/parser/src/language/packet/module.ts b/packages/parser/src/language/packet/module.ts index db9ff4722a..183ec0ff83 100644 --- a/packages/parser/src/language/packet/module.ts +++ b/packages/parser/src/language/packet/module.ts @@ -6,11 +6,10 @@ import type { PartialLangiumServices, } from 'langium'; import { EmptyFileSystem, createDefaultModule, createDefaultSharedModule, inject } from 'langium'; - import { CommonLexer } from '../common/lexer.js'; +import { CommonValueConverter } from '../common/valueConverter.js'; import { MermaidGeneratedSharedModule, PacketGeneratedModule } from '../generated/module.js'; import { PacketTokenBuilder } from './tokenBuilder.js'; -import { CommonValueConverter } from '../common/valueConverter.js'; /** * Declaration of `Packet` services. From 99313fe1628599ce05c5707b9c438d3370d3bfe7 Mon Sep 17 00:00:00 2001 From: Sidharth Vinod Date: Wed, 15 Nov 2023 09:09:48 +0530 Subject: [PATCH 121/789] fix editor build --- scripts/editor.bash | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/editor.bash b/scripts/editor.bash index fd9b415825..421fdec747 100755 --- a/scripts/editor.bash +++ b/scripts/editor.bash @@ -13,8 +13,8 @@ mv package.tmp.json package.json popd pnpm run -r clean +pnpm build:esbuild pnpm build:types -pnpm build:mermaid # Clone the Mermaid Live Editor repository rm -rf mermaid-live-editor From 0d7644c7821630c14be27376f724fadeb0fe1bda Mon Sep 17 00:00:00 2001 From: Sidharth Vinod Date: Wed, 15 Nov 2023 09:25:49 +0530 Subject: [PATCH 122/789] refactor: Fix types --- .esbuild/build.ts | 4 ++-- packages/mermaid/src/diagrams/packet/db.ts | 6 +++--- packages/mermaid/src/diagrams/packet/parser.ts | 10 +++++----- packages/mermaid/src/diagrams/packet/renderer.ts | 6 +++--- packages/mermaid/src/diagrams/packet/types.ts | 14 +++++++------- packages/mermaid/src/types.ts | 2 ++ packages/parser/src/index.ts | 11 ++++++++++- 7 files changed, 32 insertions(+), 21 deletions(-) diff --git a/.esbuild/build.ts b/.esbuild/build.ts index 3e829d7193..3c87f9d621 100644 --- a/.esbuild/build.ts +++ b/.esbuild/build.ts @@ -1,8 +1,8 @@ import { build } from 'esbuild'; import { mkdir, writeFile } from 'node:fs/promises'; -import { MermaidBuildOptions, defaultOptions, getBuildConfig } from './util.js'; import { packageOptions } from '../.build/common.js'; import { generateLangium } from '../.build/generateLangium.js'; +import { MermaidBuildOptions, defaultOptions, getBuildConfig } from './util.js'; const shouldVisualize = process.argv.includes('--visualize'); @@ -56,7 +56,7 @@ const main = async () => { await generateLangium(); await mkdir('stats').catch(() => {}); const packageNames = Object.keys(packageOptions) as (keyof typeof packageOptions)[]; - // it should build `parser` before `mermaid` because it's a dependecy + // it should build `parser` before `mermaid` because it's a dependency for (const pkg of packageNames) { await buildPackage(pkg).catch(handler); } diff --git a/packages/mermaid/src/diagrams/packet/db.ts b/packages/mermaid/src/diagrams/packet/db.ts index a40b71724d..d7b5504723 100644 --- a/packages/mermaid/src/diagrams/packet/db.ts +++ b/packages/mermaid/src/diagrams/packet/db.ts @@ -11,7 +11,7 @@ import { setAccTitle, setDiagramTitle, } from '../common/commonDb.js'; -import type { PacketDB, PacketData, Row } from './types.js'; +import type { PacketDB, PacketData, PacketWord } from './types.js'; const defaultPacketData: PacketData = { packet: [], @@ -32,9 +32,9 @@ const getConfig = (): Required => { return config; }; -const getPacket = (): Row[] => data.packet; +const getPacket = (): PacketWord[] => data.packet; -const pushWord = (word: Row) => { +const pushWord = (word: PacketWord) => { if (word.length > 0) { data.packet.push(word); } diff --git a/packages/mermaid/src/diagrams/packet/parser.ts b/packages/mermaid/src/diagrams/packet/parser.ts index c0e9e12a08..fa90444df2 100644 --- a/packages/mermaid/src/diagrams/packet/parser.ts +++ b/packages/mermaid/src/diagrams/packet/parser.ts @@ -4,14 +4,14 @@ import type { ParserDefinition } from '../../diagram-api/types.js'; import { log } from '../../logger.js'; import { populateCommonDb } from '../common/populateCommonDb.js'; import { db } from './db.js'; -import type { Block, Row } from './types.js'; +import type { PacketBlock, PacketWord } from './types.js'; const maxPacketSize = 10_000; const populate = (ast: Packet) => { populateCommonDb(ast, db); let lastByte = -1; - let word: Row = []; + let word: PacketWord = []; let row = 1; const { bitsPerRow } = db.getConfig(); for (let { start, end, label } of ast.blocks) { @@ -46,10 +46,10 @@ const populate = (ast: Packet) => { }; const getNextFittingBlock = ( - block: Block, + block: PacketBlock, row: number, bitsPerRow: number -): [Required, Block | undefined] => { +): [Required, PacketBlock | undefined] => { if (block.end === undefined) { block.end = block.start; } @@ -59,7 +59,7 @@ const getNextFittingBlock = ( } if (block.end + 1 <= row * bitsPerRow) { - return [block as Required, undefined]; + return [block as Required, undefined]; } return [ diff --git a/packages/mermaid/src/diagrams/packet/renderer.ts b/packages/mermaid/src/diagrams/packet/renderer.ts index c4547fd80d..21b941a172 100644 --- a/packages/mermaid/src/diagrams/packet/renderer.ts +++ b/packages/mermaid/src/diagrams/packet/renderer.ts @@ -3,7 +3,7 @@ import type { PacketDiagramConfig } from '../../config.type.js'; import type { DiagramRenderer, DrawDefinition, Group, SVG } from '../../diagram-api/types.js'; import { selectSvgElement } from '../../rendering-util/selectSvgElement.js'; import { configureSvgSize } from '../../setupGraphViewbox.js'; -import type { PacketDB, Row } from './types.js'; +import type { PacketDB, PacketWord } from './types.js'; // eslint-disable-next-line @typescript-eslint/no-unused-vars const draw: DrawDefinition = (_text, id, _version, diagram: Diagram) => { @@ -36,13 +36,13 @@ const draw: DrawDefinition = (_text, id, _version, diagram: Diagram) => { const drawWord = ( svg: SVG, - row: Row, + word: PacketWord, rowNumber: number, { rowHeight, paddingX, paddingY, bitWidth, bitsPerRow, showBits }: Required ) => { const group: Group = svg.append('g'); const wordY = rowNumber * (rowHeight + paddingY) + paddingY; - for (const block of row) { + for (const block of word) { const blockX = (block.start % bitsPerRow) * bitWidth + 1; const width = (block.end - block.start + 1) * bitWidth - paddingX; // Block rectangle diff --git a/packages/mermaid/src/diagrams/packet/types.ts b/packages/mermaid/src/diagrams/packet/types.ts index 0a4507076d..bbb87db698 100644 --- a/packages/mermaid/src/diagrams/packet/types.ts +++ b/packages/mermaid/src/diagrams/packet/types.ts @@ -1,14 +1,14 @@ -import type { Packet } from 'mermaid-parser'; +import type { Packet, RecursiveAstOmit } from 'mermaid-parser'; import type { PacketDiagramConfig } from '../../config.type.js'; import type { DiagramDBBase } from '../../diagram-api/types.js'; +import type { ArrayElement } from '../../types.js'; -export type ArrayElement = A extends readonly (infer T)[] ? T : never; -export type Block = Pick, 'start' | 'end' | 'label'>; -export type Row = Required[]; +export type PacketBlock = RecursiveAstOmit>; +export type PacketWord = Required[]; export interface PacketDB extends DiagramDBBase { - pushWord: (word: Row) => void; - getPacket: () => Row[]; + pushWord: (word: PacketWord) => void; + getPacket: () => PacketWord[]; } export interface PacketStyleOptions { @@ -25,5 +25,5 @@ export interface PacketStyleOptions { } export interface PacketData { - packet: Row[]; + packet: PacketWord[]; } diff --git a/packages/mermaid/src/types.ts b/packages/mermaid/src/types.ts index 13da885033..487e089dce 100644 --- a/packages/mermaid/src/types.ts +++ b/packages/mermaid/src/types.ts @@ -32,3 +32,5 @@ export interface EdgeData { labelStyle: string; curve: any; } + +export type ArrayElement = A extends readonly (infer T)[] ? T : never; diff --git a/packages/parser/src/index.ts b/packages/parser/src/index.ts index 9ec6b4e9b9..c72b4fcb6e 100644 --- a/packages/parser/src/index.ts +++ b/packages/parser/src/index.ts @@ -1,3 +1,12 @@ +import type { AstNode } from 'langium'; + export type { Info, Packet } from './language/index.js'; +export { MermaidParseError, parse } from './parse.js'; export type { DiagramAST } from './parse.js'; -export { parse, MermaidParseError } from './parse.js'; + +/** + * Exclude/omit all `AstNode` attributes recursively. + */ +export type RecursiveAstOmit = T extends object + ? { [P in keyof T as Exclude]: RecursiveAstOmit } + : T; From 088fc392abc0c49503b8b0b1c9113442f6be93a1 Mon Sep 17 00:00:00 2001 From: Sidharth Vinod Date: Wed, 15 Nov 2023 09:42:35 +0530 Subject: [PATCH 123/789] Fix SVG width --- packages/mermaid/src/diagrams/packet/renderer.ts | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/packages/mermaid/src/diagrams/packet/renderer.ts b/packages/mermaid/src/diagrams/packet/renderer.ts index 21b941a172..2ef4ab7cd6 100644 --- a/packages/mermaid/src/diagrams/packet/renderer.ts +++ b/packages/mermaid/src/diagrams/packet/renderer.ts @@ -2,7 +2,6 @@ import type { Diagram } from '../../Diagram.js'; import type { PacketDiagramConfig } from '../../config.type.js'; import type { DiagramRenderer, DrawDefinition, Group, SVG } from '../../diagram-api/types.js'; import { selectSvgElement } from '../../rendering-util/selectSvgElement.js'; -import { configureSvgSize } from '../../setupGraphViewbox.js'; import type { PacketDB, PacketWord } from './types.js'; // eslint-disable-next-line @typescript-eslint/no-unused-vars @@ -17,8 +16,8 @@ const draw: DrawDefinition = (_text, id, _version, diagram: Diagram) => { const svgWidth = bitWidth * bitsPerRow + 2; const svg: SVG = selectSvgElement(id); - configureSvgSize(svg, svgHeight, svgWidth, true); - svg.attr('height', svgHeight + 'px'); + svg.attr('width', '100%'); + svg.attr('viewbox', `0 0 ${svgWidth} ${svgHeight}`); for (const [row, packet] of words.entries()) { drawWord(svg, packet, row, config); From 784a853ec7bdf17febcfa668e4142553f66b1988 Mon Sep 17 00:00:00 2001 From: Sidharth Vinod Date: Wed, 15 Nov 2023 12:20:28 +0530 Subject: [PATCH 124/789] feat: Add theming to packet --- .github/pull_request_template.md | 2 +- demos/packet.html | 78 ++++- docs/syntax/packet.md | 139 ++++++++ .../mermaid/src/diagrams/packet/renderer.ts | 2 +- .../mermaid/src/docs/.vitepress/config.ts | 11 +- packages/mermaid/src/docs/syntax/packet.md | 101 ++++++ packages/mermaid/src/themes/theme-dark.js | 11 +- packages/mermaid/src/themes/theme-forest.js | 13 +- pnpm-lock.yaml | 309 +++--------------- 9 files changed, 396 insertions(+), 270 deletions(-) create mode 100644 docs/syntax/packet.md create mode 100644 packages/mermaid/src/docs/syntax/packet.md diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md index ff34d24fd0..9847c25232 100644 --- a/.github/pull_request_template.md +++ b/.github/pull_request_template.md @@ -14,5 +14,5 @@ Make sure you - [ ] :book: have read the [contribution guidelines](https://github.com/mermaid-js/mermaid/blob/develop/CONTRIBUTING.md) - [ ] :computer: have added necessary unit/e2e tests. -- [ ] :notebook: have added documentation. Make sure [`MERMAID_RELEASE_VERSION`](https://github.com/mermaid-js/mermaid/blob/develop/packages/mermaid/src/docs/community/development.md#3-update-documentation) is used for all new features. +- [ ] :notebook: have added documentation. Make sure [`MERMAID_RELEASE_VERSION`](https://github.com/mermaid-js/mermaid/blob/develop/packages/mermaid/src/docs/community/code.md#3-update-documentation) is used for all new features. - [ ] :bookmark: targeted `develop` branch diff --git a/demos/packet.html b/demos/packet.html index 3e53f60dba..f332dcf8cf 100644 --- a/demos/packet.html +++ b/demos/packet.html @@ -14,7 +14,9 @@

    Packet diagram demo

    -
    +
    +    
    +
           packet-beta
             0-15: "Source Port"
             16-31: "Destination Port"
    @@ -33,9 +35,10 @@ 

    Packet diagram demo

    144-159: "Urgent Pointer" 160-191: "(Options and Padding)" 192-223: "data" -
    +
    -
    +      
           ---
           config:
             packet:
    @@ -59,15 +62,80 @@ 

    Packet diagram demo

    144-159: "Urgent Pointer" 160-191: "(Options and Padding)" 192-223: "data" -
    +
    +
    +      ---
    +      config:
    +        theme: forest
    +      ---
    +      packet-beta
    +        title Forest theme
    +        0-15: "Source Port"
    +        16-31: "Destination Port"
    +        32-63: "Sequence Number"
    +        64-95: "Acknowledgment Number"
    +        96-99: "Data Offset"
    +        100-105: "Reserved"
    +        106: "URG"
    +        107: "ACK"
    +        108: "PSH"
    +        109: "RST"
    +        110: "SYN"
    +        111: "FIN"
    +        112-127: "Window"
    +        128-143: "Checksum"
    +        144-159: "Urgent Pointer"
    +        160-191: "(Options and Padding)"
    +        192-223: "data"
    +    
    + +
    +      ---
    +      config:
    +        theme: dark
    +      ---
    +      packet-beta
    +        title Dark theme
    +        0-15: "Source Port"
    +        16-31: "Destination Port"
    +        32-63: "Sequence Number"
    +        64-95: "Acknowledgment Number"
    +        96-99: "Data Offset"
    +        100-105: "Reserved"
    +        106: "URG"
    +        107: "ACK"
    +        108: "PSH"
    +        109: "RST"
    +        110: "SYN"
    +        111: "FIN"
    +        112-127: "Window"
    +        128-143: "Checksum"
    +        144-159: "Urgent Pointer"
    +        160-191: "(Options and Padding)"
    +        192-223: "data"
    +    
    + + + diff --git a/docs/syntax/packet.md b/docs/syntax/packet.md new file mode 100644 index 0000000000..1792daf4c2 --- /dev/null +++ b/docs/syntax/packet.md @@ -0,0 +1,139 @@ +> **Warning** +> +> ## THIS IS AN AUTOGENERATED FILE. DO NOT EDIT. +> +> ## Please edit the corresponding file in [/packages/mermaid/src/docs/syntax/packet.md](../../packages/mermaid/src/docs/syntax/packet.md). + +# Packet Diagram (v\+) + +## Introduction + +A packet diagram is a visual representation used to illustrate the structure and contents of a network packet. Network packets are the fundamental units of data transferred over a network. + +## Usage + +This diagram type is particularly useful for network engineers, educators, and students who require a clear and concise way to represent the structure of network packets. + +## Syntax + + packet-beta + start: "Block name" %% Single-bit block + start-end: "Block name" %% Multi-bit blocks + ... More Fields ... + +## Examples + +```mermaid-example +--- +title: "TCP Packet" +--- +packet-beta +0-15: "Source Port" +16-31: "Destination Port" +32-63: "Sequence Number" +64-95: "Acknowledgment Number" +96-99: "Data Offset" +100-105: "Reserved" +106: "URG" +107: "ACK" +108: "PSH" +109: "RST" +110: "SYN" +111: "FIN" +112-127: "Window" +128-143: "Checksum" +144-159: "Urgent Pointer" +160-191: "(Options and Padding)" +192-255: "Data (variable length)" +``` + +```mermaid +--- +title: "TCP Packet" +--- +packet-beta +0-15: "Source Port" +16-31: "Destination Port" +32-63: "Sequence Number" +64-95: "Acknowledgment Number" +96-99: "Data Offset" +100-105: "Reserved" +106: "URG" +107: "ACK" +108: "PSH" +109: "RST" +110: "SYN" +111: "FIN" +112-127: "Window" +128-143: "Checksum" +144-159: "Urgent Pointer" +160-191: "(Options and Padding)" +192-255: "Data (variable length)" +``` + +```mermaid-example +packet-beta +title UDP Packet +0-15: "Source Port" +16-31: "Destination Port" +32-47: "Length" +48-63: "Checksum" +64-95: "Data (variable length)" +``` + +```mermaid +packet-beta +title UDP Packet +0-15: "Source Port" +16-31: "Destination Port" +32-47: "Length" +48-63: "Checksum" +64-95: "Data (variable length)" +``` + +## Details of Syntax + +- **Ranges**: Each line after the title represents a different field in the packet. The range (e.g., `0-15`) indicates the bit positions in the packet. +- **Field Description**: A brief description of what the field represents, enclosed in quotes. + +## Configuration + +Please refer to the [configuration](/config/schema-docs/config-defs-packet-diagram-config.html) guide for details. + + diff --git a/packages/mermaid/src/diagrams/packet/renderer.ts b/packages/mermaid/src/diagrams/packet/renderer.ts index 2ef4ab7cd6..27f20cc0da 100644 --- a/packages/mermaid/src/diagrams/packet/renderer.ts +++ b/packages/mermaid/src/diagrams/packet/renderer.ts @@ -27,7 +27,7 @@ const draw: DrawDefinition = (_text, id, _version, diagram: Diagram) => { .append('text') .text(title) .attr('x', svgWidth / 2) - .attr('y', svgHeight - rowHeight) + .attr('y', svgHeight - totalRowHeight / 2) .attr('dominant-baseline', 'middle') .attr('text-anchor', 'middle') .attr('class', 'packetTitle'); diff --git a/packages/mermaid/src/docs/.vitepress/config.ts b/packages/mermaid/src/docs/.vitepress/config.ts index 691ca05651..41fd8a09be 100644 --- a/packages/mermaid/src/docs/.vitepress/config.ts +++ b/packages/mermaid/src/docs/.vitepress/config.ts @@ -1,6 +1,6 @@ +import { defineConfig, MarkdownOptions } from 'vitepress'; import { version } from '../../../package.json'; import MermaidExample from './mermaid-markdown-all.js'; -import { defineConfig, MarkdownOptions } from 'vitepress'; const allMarkdownTransformers: MarkdownOptions = { // the shiki theme to highlight code blocks @@ -144,13 +144,14 @@ function sidebarSyntax() { { text: 'Pie Chart', link: '/syntax/pie' }, { text: 'Quadrant Chart', link: '/syntax/quadrantChart' }, { text: 'Requirement Diagram', link: '/syntax/requirementDiagram' }, - { text: 'Gitgraph (Git) Diagram 🔥', link: '/syntax/gitgraph' }, + { text: 'Gitgraph (Git) Diagram', link: '/syntax/gitgraph' }, { text: 'C4 Diagram 🦺⚠️', link: '/syntax/c4' }, - { text: 'Mindmaps 🔥', link: '/syntax/mindmap' }, - { text: 'Timeline 🔥', link: '/syntax/timeline' }, - { text: 'Zenuml 🔥', link: '/syntax/zenuml' }, + { text: 'Mindmaps', link: '/syntax/mindmap' }, + { text: 'Timeline', link: '/syntax/timeline' }, + { text: 'Zenuml', link: '/syntax/zenuml' }, { text: 'Sankey 🔥', link: '/syntax/sankey' }, { text: 'XYChart 🔥', link: '/syntax/xyChart' }, + { text: 'Packet 🔥', link: '/syntax/packet' }, { text: 'Other Examples', link: '/syntax/examples' }, ], }, diff --git a/packages/mermaid/src/docs/syntax/packet.md b/packages/mermaid/src/docs/syntax/packet.md new file mode 100644 index 0000000000..99e449e6b1 --- /dev/null +++ b/packages/mermaid/src/docs/syntax/packet.md @@ -0,0 +1,101 @@ +# Packet Diagram (v+) + +## Introduction + +A packet diagram is a visual representation used to illustrate the structure and contents of a network packet. Network packets are the fundamental units of data transferred over a network. + +## Usage + +This diagram type is particularly useful for network engineers, educators, and students who require a clear and concise way to represent the structure of network packets. + +## Syntax + +``` +packet-beta +start: "Block name" %% Single-bit block +start-end: "Block name" %% Multi-bit blocks +... More Fields ... +``` + +## Examples + +```mermaid-example +--- +title: "TCP Packet" +--- +packet-beta +0-15: "Source Port" +16-31: "Destination Port" +32-63: "Sequence Number" +64-95: "Acknowledgment Number" +96-99: "Data Offset" +100-105: "Reserved" +106: "URG" +107: "ACK" +108: "PSH" +109: "RST" +110: "SYN" +111: "FIN" +112-127: "Window" +128-143: "Checksum" +144-159: "Urgent Pointer" +160-191: "(Options and Padding)" +192-255: "Data (variable length)" +``` + +```mermaid-example +packet-beta +title UDP Packet +0-15: "Source Port" +16-31: "Destination Port" +32-47: "Length" +48-63: "Checksum" +64-95: "Data (variable length)" +``` + +## Details of Syntax + +- **Ranges**: Each line after the title represents a different field in the packet. The range (e.g., `0-15`) indicates the bit positions in the packet. +- **Field Description**: A brief description of what the field represents, enclosed in quotes. + +## Configuration + +Please refer to the [configuration](/config/schema-docs/config-defs-packet-diagram-config.html) guide for details. + + diff --git a/packages/mermaid/src/themes/theme-dark.js b/packages/mermaid/src/themes/theme-dark.js index c566251090..dc7a600098 100644 --- a/packages/mermaid/src/themes/theme-dark.js +++ b/packages/mermaid/src/themes/theme-dark.js @@ -1,4 +1,4 @@ -import { invert, lighten, darken, rgba, adjust, isDark } from 'khroma'; +import { adjust, darken, invert, isDark, lighten, rgba } from 'khroma'; import { mkBorder } from './theme-helpers.js'; class Theme { @@ -268,6 +268,15 @@ class Theme { '#3498db,#2ecc71,#e74c3c,#f1c40f,#bdc3c7,#ffffff,#34495e,#9b59b6,#1abc9c,#e67e22', }; + this.packet = { + startByteColor: this.primaryTextColor, + endByteColor: this.primaryTextColor, + labelColor: this.primaryTextColor, + titleColor: this.primaryTextColor, + blockStrokeColor: this.primaryTextColor, + blockFillColor: this.background, + }; + /* class */ this.classText = this.primaryTextColor; diff --git a/packages/mermaid/src/themes/theme-forest.js b/packages/mermaid/src/themes/theme-forest.js index 0270f51ff9..eda905c661 100644 --- a/packages/mermaid/src/themes/theme-forest.js +++ b/packages/mermaid/src/themes/theme-forest.js @@ -1,9 +1,9 @@ -import { darken, lighten, adjust, invert, isDark } from 'khroma'; -import { mkBorder } from './theme-helpers.js'; +import { adjust, darken, invert, isDark, lighten } from 'khroma'; import { oldAttributeBackgroundColorEven, oldAttributeBackgroundColorOdd, } from './erDiagram-oldHardcodedValues.js'; +import { mkBorder } from './theme-helpers.js'; class Theme { constructor() { @@ -240,6 +240,15 @@ class Theme { this.quadrantExternalBorderStrokeFill || this.primaryBorderColor; this.quadrantTitleFill = this.quadrantTitleFill || this.primaryTextColor; + this.packet = { + startByteColor: this.primaryTextColor, + endByteColor: this.primaryTextColor, + labelColor: this.primaryTextColor, + titleColor: this.primaryTextColor, + blockStrokeColor: this.primaryTextColor, + blockFillColor: this.mainBkg, + }; + /* xychart */ this.xyChart = { backgroundColor: this.xyChart?.backgroundColor || this.background, diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 3e5d16f4cc..a667516d4e 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -500,8 +500,8 @@ importers: specifier: ^1.1.16 version: 1.1.16 '@unocss/reset': - specifier: ^0.55.2 - version: 0.55.7 + specifier: ^0.57.0 + version: 0.57.1 '@vite-pwa/vitepress': specifier: ^0.2.0 version: 0.2.0(vite-plugin-pwa@0.16.0) @@ -518,8 +518,8 @@ importers: specifier: ^1.1.0 version: 1.1.1 unocss: - specifier: ^0.55.2 - version: 0.55.7(postcss@8.4.31)(rollup@2.79.1)(vite@4.5.0) + specifier: ^0.57.0 + version: 0.57.1(postcss@8.4.31)(rollup@2.79.1)(vite@4.5.0) unplugin-vue-components: specifier: ^0.25.0 version: 0.25.0(rollup@2.79.1)(vue@3.3.7) @@ -530,8 +530,8 @@ importers: specifier: ^0.16.0 version: 0.16.0(vite@4.5.0)(workbox-build@7.0.0)(workbox-window@7.0.0) vitepress: - specifier: 1.0.0-rc.12 - version: 1.0.0-rc.12(@algolia/client-search@4.19.1)(@types/node@18.17.5)(search-insights@2.7.0)(typescript@5.1.6) + specifier: 1.0.0-rc.25 + version: 1.0.0-rc.25(@algolia/client-search@4.19.1)(@types/node@18.17.5)(postcss@8.4.31)(search-insights@2.7.0)(typescript@5.1.6) workbox-window: specifier: ^7.0.0 version: 7.0.0 @@ -5059,23 +5059,23 @@ packages: eslint-visitor-keys: 3.4.3 dev: true - /@unocss/astro@0.55.7(rollup@2.79.1)(vite@4.5.0): - resolution: {integrity: sha512-mw8r14ArxUQBVCCisAJlF/WsZb650iBsduD/lXMk56N/nQ3MMArCcn62kcAxgZSb5tfIOQGQu/tbR8hEcD8y2g==} + /@unocss/astro@0.57.1(rollup@2.79.1)(vite@4.4.9): + resolution: {integrity: sha512-KNaqN/SGM/uz1QitajIkzNEw0jy9Zx9Wp8fl4GhfGYEMAN2+M4cuvBZRmlb6cLctSXmSAJQDG91ivbD1JijGnw==} peerDependencies: vite: ^2.9.0 || ^3.0.0-0 || ^4.0.0 peerDependenciesMeta: vite: optional: true dependencies: - '@unocss/core': 0.55.7 - '@unocss/reset': 0.55.7 - '@unocss/vite': 0.55.7(rollup@2.79.1)(vite@4.5.0) - vite: 4.5.0(@types/node@18.17.5) + '@unocss/core': 0.57.1 + '@unocss/reset': 0.57.1 + '@unocss/vite': 0.57.1(rollup@2.79.1)(vite@4.4.9) + vite: 4.4.9(@types/node@18.17.5) transitivePeerDependencies: - rollup dev: true - /@unocss/astro@0.57.1(rollup@2.79.1)(vite@4.4.9): + /@unocss/astro@0.57.1(rollup@2.79.1)(vite@4.5.0): resolution: {integrity: sha512-KNaqN/SGM/uz1QitajIkzNEw0jy9Zx9Wp8fl4GhfGYEMAN2+M4cuvBZRmlb6cLctSXmSAJQDG91ivbD1JijGnw==} peerDependencies: vite: ^2.9.0 || ^3.0.0-0 || ^4.0.0 @@ -5085,30 +5085,8 @@ packages: dependencies: '@unocss/core': 0.57.1 '@unocss/reset': 0.57.1 - '@unocss/vite': 0.57.1(rollup@2.79.1)(vite@4.4.9) - vite: 4.4.9(@types/node@18.17.5) - transitivePeerDependencies: - - rollup - dev: true - - /@unocss/cli@0.55.7(rollup@2.79.1): - resolution: {integrity: sha512-ZHX2SR2WQbKfcmgOOHjBLB3V57Ct76Zb76YULzBj2EVX43lX/YDCVG87n6ePDY7rOcjCAthjrFQYCLV5KVLKHg==} - engines: {node: '>=14'} - hasBin: true - dependencies: - '@ampproject/remapping': 2.2.1 - '@rollup/pluginutils': 5.0.5(rollup@2.79.1) - '@unocss/config': 0.55.7 - '@unocss/core': 0.55.7 - '@unocss/preset-uno': 0.55.7 - cac: 6.7.14 - chokidar: 3.5.3 - colorette: 2.0.20 - consola: 3.2.3 - fast-glob: 3.3.1 - magic-string: 0.30.5 - pathe: 1.1.1 - perfect-debounce: 1.0.0 + '@unocss/vite': 0.57.1(rollup@2.79.1)(vite@4.5.0) + vite: 4.5.0(@types/node@18.17.5) transitivePeerDependencies: - rollup dev: true @@ -5135,14 +5113,6 @@ packages: - rollup dev: true - /@unocss/config@0.55.7: - resolution: {integrity: sha512-+X6rPScyFEWbkZyCyM+HfoJhJNN+CEl2n2izWkm0kuDj3w9fY9B3f/0dsk+jmx/gJEI5Y797q9zspNMNDib1AA==} - engines: {node: '>=14'} - dependencies: - '@unocss/core': 0.55.7 - unconfig: 0.3.11 - dev: true - /@unocss/config@0.57.1: resolution: {integrity: sha512-mbuVO0mH1PX7rEkViMNWb3jG1ji7TUydo2DdnMHhJE+dOrGtnQzhzXGlAd4qqel1fnt/VWuOyZKwJA3QO6VCtg==} engines: {node: '>=14'} @@ -5151,33 +5121,16 @@ packages: unconfig: 0.3.11 dev: true - /@unocss/core@0.55.7: - resolution: {integrity: sha512-c+bWe844Xjlwc1EPwHj0+n3LpntJG7ELPbEOOxNIG+CQdcEX0l1G0rkM8+nKstJ9WJmgpf1HdJQLVMF62HXvhw==} - dev: true - /@unocss/core@0.57.1: resolution: {integrity: sha512-cqQW/4gCuk+bFMPg9lBanuRNQ9Lx1l4PpMN/6uKxI5WROpq7ce/Xb4uGvAxKLh3ITtFSpXs2cLfsy7QD6cVD/Q==} dev: true - /@unocss/extractor-arbitrary-variants@0.55.7: - resolution: {integrity: sha512-imK2g/frlo5Ag0uVB+C/Psyo5+9AnqhoRAgYa6gyrQ/TJnrnwf+M3jFngU9evIMHw92vig1DGfPa2ZId901DwQ==} - dependencies: - '@unocss/core': 0.55.7 - dev: true - /@unocss/extractor-arbitrary-variants@0.57.1: resolution: {integrity: sha512-9s+azHhBnwjxm46TsD1RY0krDAwOR8tcw58Vtl3emd6C0VQsAOdoprt7UHE7GEXMvDVq7nMf8lAT0BM0LteW3w==} dependencies: '@unocss/core': 0.57.1 dev: true - /@unocss/inspector@0.55.7: - resolution: {integrity: sha512-N0mjZozDDyqx8Mh6C/ZlMTlDzGiq22sXY/hPRX55Cf44WZI4W/ZWajqAAp42B+lw2MN0k1FYEMIAwn9n+xgq/g==} - dependencies: - gzip-size: 6.0.0 - sirv: 2.0.3 - dev: true - /@unocss/inspector@0.57.1: resolution: {integrity: sha512-qV7ta7iHGX2EpZJ4IWY/05kgyhKFeWlvVJbrOnGsaH8gVt33T/43YAhB/8K5GIXBXIwkhwk13iB13nlg2gSheg==} dependencies: @@ -5186,20 +5139,6 @@ packages: sirv: 2.0.3 dev: true - /@unocss/postcss@0.55.7(postcss@8.4.31): - resolution: {integrity: sha512-53Z/yv/CNdlTqKZQ9gpYRoLZSuzQ28J0SDrGCdzwjLcvHG/FD7/x1S7yxE7cUp/4sjvLL15HSzkWq8vNy6SkwQ==} - engines: {node: '>=14'} - peerDependencies: - postcss: ^8.4.21 - dependencies: - '@unocss/config': 0.55.7 - '@unocss/core': 0.55.7 - css-tree: 2.3.1 - fast-glob: 3.3.1 - magic-string: 0.30.5 - postcss: 8.4.31 - dev: true - /@unocss/postcss@0.57.1(postcss@8.4.31): resolution: {integrity: sha512-DexrV+v/qkVh6t660rXigNr2Y6lON8jxD1z2KVk2bjHKhFflF6q6seps6d/MquyLJI1mXF2uANTeFAeL2q6evw==} engines: {node: '>=14'} @@ -5215,28 +5154,12 @@ packages: postcss: 8.4.31 dev: true - /@unocss/preset-attributify@0.55.7: - resolution: {integrity: sha512-L1sNw3DyM4mymIm4DBTTTOllk8LmhYlWMgDlaAW2MYWygjqDCsp99wRKT2175Ya5xHYBA6XetMoBryZD23qJYQ==} - dependencies: - '@unocss/core': 0.55.7 - dev: true - /@unocss/preset-attributify@0.57.1: resolution: {integrity: sha512-pvGQHaqBlB0jQysWhNbcKLOGrkj8b53k0sAa9LYxQjD1fa8t/dwbuMpZv4twX+gysF0vBhxRoWBPLH1/S6zRZg==} dependencies: '@unocss/core': 0.57.1 dev: true - /@unocss/preset-icons@0.55.7: - resolution: {integrity: sha512-JXLOHkyEKKAjLTqjAxYfhwln05WXilGg3jctkZWKpMNawPaonrGt3kZT12YMuMmOryxk7UcyKB0dtYc+p3QYvw==} - dependencies: - '@iconify/utils': 2.1.11 - '@unocss/core': 0.55.7 - ofetch: 1.3.3 - transitivePeerDependencies: - - supports-color - dev: true - /@unocss/preset-icons@0.57.1: resolution: {integrity: sha512-ve4jC6yREfS0mv97DCld9xLjMuiSCcsQPKucdtpUfCjLMqtGd1ZGGdFv02Q+92NkW7HDfgj+izEw1SKh9695Ow==} dependencies: @@ -5247,13 +5170,6 @@ packages: - supports-color dev: true - /@unocss/preset-mini@0.55.7: - resolution: {integrity: sha512-ZCskE2uprjGkpQezEPM6KPMf84rIZEUNc1p2DxWVHaFUPRV24/JSNsO4PsKrQgNIb2dLQxzPNlMzQJI7ssdBXQ==} - dependencies: - '@unocss/core': 0.55.7 - '@unocss/extractor-arbitrary-variants': 0.55.7 - dev: true - /@unocss/preset-mini@0.57.1: resolution: {integrity: sha512-v9ZsIUGDfZNXbIrOc7zrBp+RFbFFGSQN/vKIf761js4fJ31j6lan4pPQPGcY17xHConkI1HJT/+yb/UVJaAcHw==} dependencies: @@ -5262,25 +5178,12 @@ packages: '@unocss/rule-utils': 0.57.1 dev: true - /@unocss/preset-tagify@0.55.7: - resolution: {integrity: sha512-aDsuN3a/ZirbCDKpFsue9tc8MHs3l0Rl81n2ZOdIrJoZW4YWyydMVl++cz/HERZW81ZySK8EJKwGBaMJMgsnHA==} - dependencies: - '@unocss/core': 0.55.7 - dev: true - /@unocss/preset-tagify@0.57.1: resolution: {integrity: sha512-GV8knxnsOVH/XiG2KB+mVZeEJqr0PZvvkSTPftGPbjttoKVZ+28Y5q9/qezH7p4W6RYVAAK+3qHHy5wWZosiMw==} dependencies: '@unocss/core': 0.57.1 dev: true - /@unocss/preset-typography@0.55.7: - resolution: {integrity: sha512-hLV4nsgsDIk66pt7Ej4NYUmaGtI2EfGb1h2yl5FmBtdtACrgPq+Skr2Br9Iq+Bj1QFhbsMOWLDdbojFQwBdH6A==} - dependencies: - '@unocss/core': 0.55.7 - '@unocss/preset-mini': 0.55.7 - dev: true - /@unocss/preset-typography@0.57.1: resolution: {integrity: sha512-C4cqCiGW0OSoSXsVQKgfLulYxY5C8M40f+a8VtBlAaEaN6eSlEt+catXb0chF9T2mvz/b87b0PahPvPwJdDf1Q==} dependencies: @@ -5288,14 +5191,6 @@ packages: '@unocss/preset-mini': 0.57.1 dev: true - /@unocss/preset-uno@0.55.7: - resolution: {integrity: sha512-z4pCxOv/OU1ARo++cvbijWNW2zy/EVTMqJXa+SEep9b99wFXPQE3gaPvLdURp/e5f1PoxVyPZ6JiBknbClSDuA==} - dependencies: - '@unocss/core': 0.55.7 - '@unocss/preset-mini': 0.55.7 - '@unocss/preset-wind': 0.55.7 - dev: true - /@unocss/preset-uno@0.57.1: resolution: {integrity: sha512-0+DKZiowYjYzq2swJzQA2dhqDvLJdm0Y437ITzc2GzZMKGUUuNi+w2v3/SzwkpkRd9zTB9/YaOIJVfdrx6ZOXQ==} dependencies: @@ -5305,13 +5200,6 @@ packages: '@unocss/rule-utils': 0.57.1 dev: true - /@unocss/preset-web-fonts@0.55.7: - resolution: {integrity: sha512-ygAz0540kdBapErW2BcObWfQT/6g0SpVUPYg92PPiZD57CZAvuNXiYTfFMRXd88QrBL1zIrZ6NrzY0NZ645H+w==} - dependencies: - '@unocss/core': 0.55.7 - ofetch: 1.3.3 - dev: true - /@unocss/preset-web-fonts@0.57.1: resolution: {integrity: sha512-9DCIMlBRaGrljLmeciH4WqP+uRx2z2nLxvrvEmGbpJJpMn2H4higR5Zu5tDyKYGr9QBl9vXdWgib+43OSswkqA==} dependencies: @@ -5319,13 +5207,6 @@ packages: ofetch: 1.3.3 dev: true - /@unocss/preset-wind@0.55.7: - resolution: {integrity: sha512-vLi0mtYDnvx3uYtBR4fSCR52T59drTUp3XVAAqQTbhvRctnSWm65MWE4G+gqdt2qQ9fM4SVCsxLLaXuJkI2eqw==} - dependencies: - '@unocss/core': 0.55.7 - '@unocss/preset-mini': 0.55.7 - dev: true - /@unocss/preset-wind@0.57.1: resolution: {integrity: sha512-5UairNahUXNDe9AggPtTCodyPjl6NgPCsiEB22LVgN20UjBXjaqzN5wUe1OgtpLoAUaSk0KI7eLWhnWbTbST3A==} dependencies: @@ -5334,10 +5215,6 @@ packages: '@unocss/rule-utils': 0.57.1 dev: true - /@unocss/reset@0.55.7: - resolution: {integrity: sha512-yvmLhxqUNgf6wue7IvhV/FdrQW9H9LF1Bmmhwwaiz2aV0E74aN4pbuYPZwNq3YafsQvNQ0UdtuXjddY4QMRCPw==} - dev: true - /@unocss/reset@0.57.1: resolution: {integrity: sha512-f/ofoudjFN/HMtv1XV5phP58pOmNruBhr0GbVdBNylyieMQkFHowA7iSemChnC/fTbCcY6oSOAcFl4n9AefjdA==} dev: true @@ -5350,57 +5227,28 @@ packages: magic-string: 0.30.5 dev: true - /@unocss/scope@0.55.7: - resolution: {integrity: sha512-r0CaS1aSpcC37ztqOJ3qaWIzM6zwdlX8r0rib2vTvWTckw1J0ocVhjNkWRBM9kRWte006JhecdiZzXNHA40akg==} - dev: true - /@unocss/scope@0.57.1: resolution: {integrity: sha512-ZAzg6lLGwKNQGCvJXEie3TvGztkAyajEFqygu0mjtHb+CmDql4iAjoygs+3dnRI5hSDwfMYFrJ2azX26+2CsoA==} dev: true - /@unocss/transformer-attributify-jsx-babel@0.55.7: - resolution: {integrity: sha512-xl5K/Zg7tLyI6Oee+xHgvBm0gSEviYdBDwaGC4O6cP9VXTBm6waz9NUU6CmmVYKh4dSeLQ1PKNboMeg2nFuJMw==} - dependencies: - '@unocss/core': 0.55.7 - dev: true - /@unocss/transformer-attributify-jsx-babel@0.57.1: resolution: {integrity: sha512-EOCPB8OGmhroAuFU0i0W5p6GmJpx6mAkP4KmsqVLd4QMgw+8aXkG7SKyLnxQZnekM0/dSo0TcpVGeGrZaUNgvQ==} dependencies: '@unocss/core': 0.57.1 dev: true - /@unocss/transformer-attributify-jsx@0.55.7: - resolution: {integrity: sha512-ZyUBc0wguBhd+nbIlcrSYpmzKtqBi+8BII8SK4lIB/Ol1wBboByPTjBENsQkxRyffp5K9VTuZZ/LamFgPGOWDg==} - dependencies: - '@unocss/core': 0.55.7 - dev: true - /@unocss/transformer-attributify-jsx@0.57.1: resolution: {integrity: sha512-ohgSEwm2j98ltPWl1zRPvZhRjQPpd7qZtgoROTQh6n2W7wEO1SlnYjgBBz+pGuo2dkfBN5NjuZJ93AEjS10Ysw==} dependencies: '@unocss/core': 0.57.1 dev: true - /@unocss/transformer-compile-class@0.55.7: - resolution: {integrity: sha512-tiYiT9EG4ucSBvMo+9Hv43GY0YvXQjfQCXDhDm3tcJyreMg6BRMO412eir54RBS+JAdNU0DUoITVYu+PkF7hLg==} - dependencies: - '@unocss/core': 0.55.7 - dev: true - /@unocss/transformer-compile-class@0.57.1: resolution: {integrity: sha512-z0WZN6hbgpyBm2xqIrojqEjpQMhiyzHRbaBjWzI/6ieHWoFo5ajIwnReaFUEfJRNruLTd7/9hFDZdRXRPhttFw==} dependencies: '@unocss/core': 0.57.1 dev: true - /@unocss/transformer-directives@0.55.7: - resolution: {integrity: sha512-xNmR40FssHWYJSmJv/9TQC2IdTyZPV8U3Iv/PIuke1zndMwMciclghEFiw0wSeRmhoRI7iFZck5EI/Bokyo7CQ==} - dependencies: - '@unocss/core': 0.55.7 - css-tree: 2.3.1 - dev: true - /@unocss/transformer-directives@0.57.1: resolution: {integrity: sha512-rIk3XEU2NywEJUOkngBSmJfvS3IVgxkkqgMvuIqz8ZDbwWhepuMxsiI0QR3ypkipGr/eKK5DJ7eK0OVlo6FPFA==} dependencies: @@ -5409,39 +5257,33 @@ packages: css-tree: 2.3.1 dev: true - /@unocss/transformer-variant-group@0.55.7: - resolution: {integrity: sha512-uLyZ08XXVriUDenZCTGA3xGgMD3B9GVr6mSz002pDlLpQDi8FcMQTOGg8X4ViCGzS3l03S/+r+JY7kJTpMFa9w==} - dependencies: - '@unocss/core': 0.55.7 - dev: true - /@unocss/transformer-variant-group@0.57.1: resolution: {integrity: sha512-qwydzn2Lqz/8zW6UUXdORaUl8humsG8ll74LN/z8cjEsqtXZkVdkV0l6Brpp9Xp/XPbKwO+II+KH3/1LGwXSzQ==} dependencies: '@unocss/core': 0.57.1 dev: true - /@unocss/vite@0.55.7(rollup@2.79.1)(vite@4.5.0): - resolution: {integrity: sha512-xmdyDnt9Ag4o7DGl22/P6MaB+HSjWOQw9qYYzIefSv3SVUvn3cEhIX/PCWqFp8Kts2HyvAoJLbZmygSf1XdZNQ==} + /@unocss/vite@0.57.1(rollup@2.79.1)(vite@4.4.9): + resolution: {integrity: sha512-kEBDvGgQNkX2n87S6Ao5seyFb1kuWZ5p96dGOS7VFpD7HvR5xholkJXaVhUK9/exCldjLExbo5UtVlbxFLUFYg==} peerDependencies: vite: ^2.9.0 || ^3.0.0-0 || ^4.0.0 dependencies: '@ampproject/remapping': 2.2.1 '@rollup/pluginutils': 5.0.5(rollup@2.79.1) - '@unocss/config': 0.55.7 - '@unocss/core': 0.55.7 - '@unocss/inspector': 0.55.7 - '@unocss/scope': 0.55.7 - '@unocss/transformer-directives': 0.55.7 + '@unocss/config': 0.57.1 + '@unocss/core': 0.57.1 + '@unocss/inspector': 0.57.1 + '@unocss/scope': 0.57.1 + '@unocss/transformer-directives': 0.57.1 chokidar: 3.5.3 fast-glob: 3.3.1 magic-string: 0.30.5 - vite: 4.5.0(@types/node@18.17.5) + vite: 4.4.9(@types/node@18.17.5) transitivePeerDependencies: - rollup dev: true - /@unocss/vite@0.57.1(rollup@2.79.1)(vite@4.4.9): + /@unocss/vite@0.57.1(rollup@2.79.1)(vite@4.5.0): resolution: {integrity: sha512-kEBDvGgQNkX2n87S6Ao5seyFb1kuWZ5p96dGOS7VFpD7HvR5xholkJXaVhUK9/exCldjLExbo5UtVlbxFLUFYg==} peerDependencies: vite: ^2.9.0 || ^3.0.0-0 || ^4.0.0 @@ -5456,7 +5298,7 @@ packages: chokidar: 3.5.3 fast-glob: 3.3.1 magic-string: 0.30.5 - vite: 4.4.9(@types/node@18.17.5) + vite: 4.5.0(@types/node@18.17.5) transitivePeerDependencies: - rollup dev: true @@ -5466,7 +5308,7 @@ packages: peerDependencies: vite-plugin-pwa: '>=0.16.3 <1' dependencies: - vite-plugin-pwa: 0.16.0(vite@4.4.9)(workbox-build@7.0.0)(workbox-window@7.0.0) + vite-plugin-pwa: 0.16.0(vite@4.5.0)(workbox-build@7.0.0)(workbox-window@7.0.0) dev: true /@vitejs/plugin-vue@4.2.1(vite@4.4.9)(vue@3.3.4): @@ -15784,11 +15626,11 @@ packages: engines: {node: '>= 10.0.0'} dev: true - /unocss@0.55.7(postcss@8.4.31)(rollup@2.79.1)(vite@4.5.0): - resolution: {integrity: sha512-3W9P7vj2EhSk/4oPCHBS0VgrwSf5zZL6Az1/XARVOpBnRJtCM2szFInYxHkMgt9pkZTsW8SFCuk/g+QIJ6A8tg==} + /unocss@0.57.1(postcss@8.4.31)(rollup@2.79.1)(vite@4.4.9): + resolution: {integrity: sha512-xLsyJ8+T1/Ux93yrqOvuQy268wF5rSzydlsbqZ5EVfi01PxYyydez3nycPqbyPZientkJ0Yohzd5aBqmZgku3A==} engines: {node: '>=14'} peerDependencies: - '@unocss/webpack': 0.55.7 + '@unocss/webpack': 0.57.1 vite: ^2.9.0 || ^3.0.0-0 || ^4.0.0 peerDependenciesMeta: '@unocss/webpack': @@ -15796,34 +15638,34 @@ packages: vite: optional: true dependencies: - '@unocss/astro': 0.55.7(rollup@2.79.1)(vite@4.5.0) - '@unocss/cli': 0.55.7(rollup@2.79.1) - '@unocss/core': 0.55.7 - '@unocss/extractor-arbitrary-variants': 0.55.7 - '@unocss/postcss': 0.55.7(postcss@8.4.31) - '@unocss/preset-attributify': 0.55.7 - '@unocss/preset-icons': 0.55.7 - '@unocss/preset-mini': 0.55.7 - '@unocss/preset-tagify': 0.55.7 - '@unocss/preset-typography': 0.55.7 - '@unocss/preset-uno': 0.55.7 - '@unocss/preset-web-fonts': 0.55.7 - '@unocss/preset-wind': 0.55.7 - '@unocss/reset': 0.55.7 - '@unocss/transformer-attributify-jsx': 0.55.7 - '@unocss/transformer-attributify-jsx-babel': 0.55.7 - '@unocss/transformer-compile-class': 0.55.7 - '@unocss/transformer-directives': 0.55.7 - '@unocss/transformer-variant-group': 0.55.7 - '@unocss/vite': 0.55.7(rollup@2.79.1)(vite@4.5.0) - vite: 4.5.0(@types/node@18.17.5) + '@unocss/astro': 0.57.1(rollup@2.79.1)(vite@4.4.9) + '@unocss/cli': 0.57.1(rollup@2.79.1) + '@unocss/core': 0.57.1 + '@unocss/extractor-arbitrary-variants': 0.57.1 + '@unocss/postcss': 0.57.1(postcss@8.4.31) + '@unocss/preset-attributify': 0.57.1 + '@unocss/preset-icons': 0.57.1 + '@unocss/preset-mini': 0.57.1 + '@unocss/preset-tagify': 0.57.1 + '@unocss/preset-typography': 0.57.1 + '@unocss/preset-uno': 0.57.1 + '@unocss/preset-web-fonts': 0.57.1 + '@unocss/preset-wind': 0.57.1 + '@unocss/reset': 0.57.1 + '@unocss/transformer-attributify-jsx': 0.57.1 + '@unocss/transformer-attributify-jsx-babel': 0.57.1 + '@unocss/transformer-compile-class': 0.57.1 + '@unocss/transformer-directives': 0.57.1 + '@unocss/transformer-variant-group': 0.57.1 + '@unocss/vite': 0.57.1(rollup@2.79.1)(vite@4.4.9) + vite: 4.4.9(@types/node@18.17.5) transitivePeerDependencies: - postcss - rollup - supports-color dev: true - /unocss@0.57.1(postcss@8.4.31)(rollup@2.79.1)(vite@4.4.9): + /unocss@0.57.1(postcss@8.4.31)(rollup@2.79.1)(vite@4.5.0): resolution: {integrity: sha512-xLsyJ8+T1/Ux93yrqOvuQy268wF5rSzydlsbqZ5EVfi01PxYyydez3nycPqbyPZientkJ0Yohzd5aBqmZgku3A==} engines: {node: '>=14'} peerDependencies: @@ -15835,7 +15677,7 @@ packages: vite: optional: true dependencies: - '@unocss/astro': 0.57.1(rollup@2.79.1)(vite@4.4.9) + '@unocss/astro': 0.57.1(rollup@2.79.1)(vite@4.5.0) '@unocss/cli': 0.57.1(rollup@2.79.1) '@unocss/core': 0.57.1 '@unocss/extractor-arbitrary-variants': 0.57.1 @@ -15854,8 +15696,8 @@ packages: '@unocss/transformer-compile-class': 0.57.1 '@unocss/transformer-directives': 0.57.1 '@unocss/transformer-variant-group': 0.57.1 - '@unocss/vite': 0.57.1(rollup@2.79.1)(vite@4.4.9) - vite: 4.4.9(@types/node@18.17.5) + '@unocss/vite': 0.57.1(rollup@2.79.1)(vite@4.5.0) + vite: 4.5.0(@types/node@18.17.5) transitivePeerDependencies: - postcss - rollup @@ -16237,49 +16079,6 @@ packages: - terser dev: true - /vitepress@1.0.0-rc.12(@algolia/client-search@4.19.1)(@types/node@18.17.5)(search-insights@2.7.0)(typescript@5.1.6): - resolution: {integrity: sha512-mZknN5l9lgbBjXwumwdOQQDM+gPivswFEykEQeenY0tv7eocS+bb801IpFZT3mFV6YRhSddmbutHlFgPPADjEg==} - hasBin: true - dependencies: - '@docsearch/css': 3.5.2 - '@docsearch/js': 3.5.2(@algolia/client-search@4.19.1)(search-insights@2.7.0) - '@vue/devtools-api': 6.5.1 - '@vueuse/core': 10.5.0(vue@3.3.7) - '@vueuse/integrations': 10.5.0(focus-trap@7.5.4)(vue@3.3.7) - focus-trap: 7.5.4 - mark.js: 8.11.1 - minisearch: 6.1.0 - shiki: 0.14.5 - vite: 4.5.0(@types/node@18.17.5) - vue: 3.3.7(typescript@5.1.6) - transitivePeerDependencies: - - '@algolia/client-search' - - '@types/node' - - '@types/react' - - '@vue/composition-api' - - async-validator - - axios - - change-case - - drauu - - fuse.js - - idb-keyval - - jwt-decode - - less - - lightningcss - - nprogress - - qrcode - - react - - react-dom - - sass - - search-insights - - sortablejs - - stylus - - sugarss - - terser - - typescript - - universal-cookie - dev: true - /vitepress@1.0.0-rc.25(@algolia/client-search@4.19.1)(@types/node@18.17.5)(postcss@8.4.31)(search-insights@2.7.0)(typescript@5.1.6): resolution: {integrity: sha512-1dqWiHNThNrVZ08ixmfEDBEH+764KOgnev9oXga/x6cN++Vb9pnuu8p3K6DQP+KZrYcG+WiX7jxal0iSNpAWuQ==} hasBin: true From 480645d22f7e8cdbb3a399636d3cc5537fd4d804 Mon Sep 17 00:00:00 2001 From: Sidharth Vinod Date: Wed, 15 Nov 2023 12:26:24 +0530 Subject: [PATCH 125/789] fix: Add language to codeblock --- docs/syntax/packet.md | 10 ++++++---- packages/mermaid/src/docs/syntax/packet.md | 2 +- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/docs/syntax/packet.md b/docs/syntax/packet.md index 1792daf4c2..5cd0b5638a 100644 --- a/docs/syntax/packet.md +++ b/docs/syntax/packet.md @@ -16,10 +16,12 @@ This diagram type is particularly useful for network engineers, educators, and s ## Syntax - packet-beta - start: "Block name" %% Single-bit block - start-end: "Block name" %% Multi-bit blocks - ... More Fields ... +```md +packet-beta +start: "Block name" %% Single-bit block +start-end: "Block name" %% Multi-bit blocks +... More Fields ... +``` ## Examples diff --git a/packages/mermaid/src/docs/syntax/packet.md b/packages/mermaid/src/docs/syntax/packet.md index 99e449e6b1..b509cf130f 100644 --- a/packages/mermaid/src/docs/syntax/packet.md +++ b/packages/mermaid/src/docs/syntax/packet.md @@ -10,7 +10,7 @@ This diagram type is particularly useful for network engineers, educators, and s ## Syntax -``` +```md packet-beta start: "Block name" %% Single-bit block start-end: "Block name" %% Multi-bit blocks From 692a7471c1f22d2642fe329287c773a59b91b640 Mon Sep 17 00:00:00 2001 From: Reda Al Sulais Date: Wed, 15 Nov 2023 12:46:58 +0300 Subject: [PATCH 126/789] chore: apply review changes --- packages/mermaid/src/diagrams/pie/pieParser.ts | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/packages/mermaid/src/diagrams/pie/pieParser.ts b/packages/mermaid/src/diagrams/pie/pieParser.ts index ac978a5a97..2acae4f1c4 100644 --- a/packages/mermaid/src/diagrams/pie/pieParser.ts +++ b/packages/mermaid/src/diagrams/pie/pieParser.ts @@ -1,4 +1,4 @@ -import type { Pie, PieSection } from 'mermaid-parser'; +import type { Pie } from 'mermaid-parser'; import { parse } from 'mermaid-parser'; import { log } from '../../logger.js'; @@ -10,9 +10,7 @@ import { db } from './pieDb.js'; function populateDb(ast: Pie, db: PieDB) { populateCommonDb(ast, db); db.setShowData(ast.showData); - ast.sections.map((section: PieSection) => { - db.addSection(section); - }); + ast.sections.map(db.addSection); } export const parser: ParserDefinition = { From e86f09aaedce59af5c4edc890fcd1a11dc04432f Mon Sep 17 00:00:00 2001 From: Reda Al Sulais Date: Wed, 15 Nov 2023 12:48:16 +0300 Subject: [PATCH 127/789] Apply suggested style from code review Co-authored-by: Sidharth Vinod --- packages/mermaid/src/diagrams/pie/pieParser.ts | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/packages/mermaid/src/diagrams/pie/pieParser.ts b/packages/mermaid/src/diagrams/pie/pieParser.ts index 2acae4f1c4..5935c1346a 100644 --- a/packages/mermaid/src/diagrams/pie/pieParser.ts +++ b/packages/mermaid/src/diagrams/pie/pieParser.ts @@ -1,17 +1,16 @@ import type { Pie } from 'mermaid-parser'; import { parse } from 'mermaid-parser'; - import { log } from '../../logger.js'; import type { ParserDefinition } from '../../diagram-api/types.js'; import { populateCommonDb } from '../common/populateCommonDb.js'; import type { PieDB } from './pieTypes.js'; import { db } from './pieDb.js'; -function populateDb(ast: Pie, db: PieDB) { +const populateDb = (ast: Pie, db: PieDB) => { populateCommonDb(ast, db); db.setShowData(ast.showData); ast.sections.map(db.addSection); -} +}; export const parser: ParserDefinition = { parse: (input: string): void => { From a8105f084ef06f7ebcbb856b428673384053022a Mon Sep 17 00:00:00 2001 From: Sidharth Vinod Date: Thu, 16 Nov 2023 10:42:41 +0530 Subject: [PATCH 128/789] fix: Use configureSvgSize Co-authored-by: Reda Al Sulais --- packages/mermaid/src/diagrams/packet/renderer.ts | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/packages/mermaid/src/diagrams/packet/renderer.ts b/packages/mermaid/src/diagrams/packet/renderer.ts index 27f20cc0da..84feb8c439 100644 --- a/packages/mermaid/src/diagrams/packet/renderer.ts +++ b/packages/mermaid/src/diagrams/packet/renderer.ts @@ -2,6 +2,7 @@ import type { Diagram } from '../../Diagram.js'; import type { PacketDiagramConfig } from '../../config.type.js'; import type { DiagramRenderer, DrawDefinition, Group, SVG } from '../../diagram-api/types.js'; import { selectSvgElement } from '../../rendering-util/selectSvgElement.js'; +import { configureSvgSize } from '../../setupGraphViewbox.js'; import type { PacketDB, PacketWord } from './types.js'; // eslint-disable-next-line @typescript-eslint/no-unused-vars @@ -16,11 +17,11 @@ const draw: DrawDefinition = (_text, id, _version, diagram: Diagram) => { const svgWidth = bitWidth * bitsPerRow + 2; const svg: SVG = selectSvgElement(id); - svg.attr('width', '100%'); svg.attr('viewbox', `0 0 ${svgWidth} ${svgHeight}`); + configureSvgSize(svg, svgHeight, svgWidth, config.useMaxWidth); - for (const [row, packet] of words.entries()) { - drawWord(svg, packet, row, config); + for (const [word, packet] of words.entries()) { + drawWord(svg, packet, word, config); } svg From bca645f63dbda0993b6792b0014ecbe56e39f10a Mon Sep 17 00:00:00 2001 From: Sidharth Vinod Date: Thu, 16 Nov 2023 10:48:25 +0530 Subject: [PATCH 129/789] test: Add packet and xychart into mermaidAPI test --- packages/mermaid/src/mermaidAPI.spec.ts | 21 ++++++++++++--------- 1 file changed, 12 insertions(+), 9 deletions(-) diff --git a/packages/mermaid/src/mermaidAPI.spec.ts b/packages/mermaid/src/mermaidAPI.spec.ts index 4a64e9c03f..c4db60fffa 100644 --- a/packages/mermaid/src/mermaidAPI.spec.ts +++ b/packages/mermaid/src/mermaidAPI.spec.ts @@ -1,4 +1,3 @@ -'use strict'; import { vi } from 'vitest'; // ------------------------------------- @@ -27,26 +26,26 @@ vi.mock('./diagrams/git/gitGraphRenderer.js'); vi.mock('./diagrams/gantt/ganttRenderer.js'); vi.mock('./diagrams/user-journey/journeyRenderer.js'); vi.mock('./diagrams/pie/pieRenderer.js'); +vi.mock('./diagrams/packet/renderer.js'); +vi.mock('./diagrams/xychart/xychartRenderer.js'); vi.mock('./diagrams/requirement/requirementRenderer.js'); vi.mock('./diagrams/sequence/sequenceRenderer.js'); vi.mock('./diagrams/state/stateRenderer-v2.js'); // ------------------------------------- -import mermaid from './mermaid.js'; +import assignWithDepth from './assignWithDepth.js'; import type { MermaidConfig } from './config.type.js'; - -import mermaidAPI, { removeExistingElements } from './mermaidAPI.js'; -import { - createCssStyles, - createUserStyles, +import mermaid from './mermaid.js'; +import mermaidAPI, { appendDivSvgG, cleanUpSvgCode, + createCssStyles, + createUserStyles, putIntoIFrame, + removeExistingElements, } from './mermaidAPI.js'; -import assignWithDepth from './assignWithDepth.js'; - // -------------- // Mocks // To mock a module, first define a mock for it, then (if used explicitly in the tests) import it. Be sure the path points to exactly the same file as is imported in mermaidAPI (the module being tested) @@ -56,6 +55,7 @@ vi.mock('./styles.js', () => { default: vi.fn().mockReturnValue(' .userStyle { font-weight:bold; }'), }; }); + import getStyles from './styles.js'; vi.mock('stylis', () => { @@ -65,6 +65,7 @@ vi.mock('stylis', () => { serialize: vi.fn().mockReturnValue('stylis serialized css'), }; }); + import { compile, serialize } from 'stylis'; import { decodeEntities, encodeEntities } from './utils.js'; @@ -714,6 +715,8 @@ describe('mermaidAPI', () => { { textDiagramType: 'gantt', expectedType: 'gantt' }, { textDiagramType: 'journey', expectedType: 'journey' }, { textDiagramType: 'pie', expectedType: 'pie' }, + { textDiagramType: 'packet-beta', expectedType: 'packet' }, + { textDiagramType: 'xychart-beta', expectedType: 'xychart' }, { textDiagramType: 'requirementDiagram', expectedType: 'requirement' }, { textDiagramType: 'sequenceDiagram', expectedType: 'sequence' }, { textDiagramType: 'stateDiagram-v2', expectedType: 'stateDiagram' }, From 96ae4a596776092dadd4f018f3673008270a4671 Mon Sep 17 00:00:00 2001 From: Sidharth Vinod Date: Thu, 16 Nov 2023 10:49:26 +0530 Subject: [PATCH 130/789] chore: Remove unnecessary(?) mocks. --- __mocks__/c4Renderer.js | 21 --------------------- __mocks__/classRenderer-v2.js | 16 ---------------- __mocks__/classRenderer.js | 13 ------------- __mocks__/dagre-d3.ts | 1 - __mocks__/entity-decode/browser.ts | 3 --- __mocks__/erRenderer.js | 16 ---------------- __mocks__/flowRenderer-v2.js | 24 ------------------------ __mocks__/ganttRenderer.js | 16 ---------------- __mocks__/gitGraphRenderer.js | 13 ------------- __mocks__/journeyRenderer.js | 15 --------------- __mocks__/pieRenderer.ts | 8 -------- __mocks__/requirementRenderer.js | 13 ------------- __mocks__/sankeyRenderer.js | 13 ------------- __mocks__/sequenceRenderer.js | 23 ----------------------- __mocks__/stateRenderer-v2.js | 22 ---------------------- 15 files changed, 217 deletions(-) delete mode 100644 __mocks__/c4Renderer.js delete mode 100644 __mocks__/classRenderer-v2.js delete mode 100644 __mocks__/classRenderer.js delete mode 100644 __mocks__/dagre-d3.ts delete mode 100644 __mocks__/entity-decode/browser.ts delete mode 100644 __mocks__/erRenderer.js delete mode 100644 __mocks__/flowRenderer-v2.js delete mode 100644 __mocks__/ganttRenderer.js delete mode 100644 __mocks__/gitGraphRenderer.js delete mode 100644 __mocks__/journeyRenderer.js delete mode 100644 __mocks__/pieRenderer.ts delete mode 100644 __mocks__/requirementRenderer.js delete mode 100644 __mocks__/sankeyRenderer.js delete mode 100644 __mocks__/sequenceRenderer.js delete mode 100644 __mocks__/stateRenderer-v2.js diff --git a/__mocks__/c4Renderer.js b/__mocks__/c4Renderer.js deleted file mode 100644 index 576d5d8634..0000000000 --- a/__mocks__/c4Renderer.js +++ /dev/null @@ -1,21 +0,0 @@ -/** - * Mocked C4Context diagram renderer - */ - -import { vi } from 'vitest'; - -export const drawPersonOrSystemArray = vi.fn(); -export const drawBoundary = vi.fn(); - -export const setConf = vi.fn(); - -export const draw = vi.fn().mockImplementation(() => { - return ''; -}); - -export default { - drawPersonOrSystemArray, - drawBoundary, - setConf, - draw, -}; diff --git a/__mocks__/classRenderer-v2.js b/__mocks__/classRenderer-v2.js deleted file mode 100644 index 1ad95806fc..0000000000 --- a/__mocks__/classRenderer-v2.js +++ /dev/null @@ -1,16 +0,0 @@ -/** - * Mocked class diagram v2 renderer - */ - -import { vi } from 'vitest'; - -export const setConf = vi.fn(); - -export const draw = vi.fn().mockImplementation(() => { - return ''; -}); - -export default { - setConf, - draw, -}; diff --git a/__mocks__/classRenderer.js b/__mocks__/classRenderer.js deleted file mode 100644 index 1c20de4b18..0000000000 --- a/__mocks__/classRenderer.js +++ /dev/null @@ -1,13 +0,0 @@ -/** - * Mocked class diagram renderer - */ - -import { vi } from 'vitest'; - -export const draw = vi.fn().mockImplementation(() => { - return ''; -}); - -export default { - draw, -}; diff --git a/__mocks__/dagre-d3.ts b/__mocks__/dagre-d3.ts deleted file mode 100644 index bf6d341dc5..0000000000 --- a/__mocks__/dagre-d3.ts +++ /dev/null @@ -1 +0,0 @@ -// DO NOT delete this file. It is used by vitest to mock the dagre-d3 module. diff --git a/__mocks__/entity-decode/browser.ts b/__mocks__/entity-decode/browser.ts deleted file mode 100644 index bd82d79fd9..0000000000 --- a/__mocks__/entity-decode/browser.ts +++ /dev/null @@ -1,3 +0,0 @@ -module.exports = function (txt: string) { - return txt; -}; diff --git a/__mocks__/erRenderer.js b/__mocks__/erRenderer.js deleted file mode 100644 index 845d641f75..0000000000 --- a/__mocks__/erRenderer.js +++ /dev/null @@ -1,16 +0,0 @@ -/** - * Mocked er diagram renderer - */ - -import { vi } from 'vitest'; - -export const setConf = vi.fn(); - -export const draw = vi.fn().mockImplementation(() => { - return ''; -}); - -export default { - setConf, - draw, -}; diff --git a/__mocks__/flowRenderer-v2.js b/__mocks__/flowRenderer-v2.js deleted file mode 100644 index 89cc86031e..0000000000 --- a/__mocks__/flowRenderer-v2.js +++ /dev/null @@ -1,24 +0,0 @@ -/** - * Mocked flow (flowchart) diagram v2 renderer - */ - -import { vi } from 'vitest'; - -export const setConf = vi.fn(); -export const addVertices = vi.fn(); -export const addEdges = vi.fn(); -export const getClasses = vi.fn().mockImplementation(() => { - return {}; -}); - -export const draw = vi.fn().mockImplementation(() => { - return ''; -}); - -export default { - setConf, - addVertices, - addEdges, - getClasses, - draw, -}; diff --git a/__mocks__/ganttRenderer.js b/__mocks__/ganttRenderer.js deleted file mode 100644 index 9572498321..0000000000 --- a/__mocks__/ganttRenderer.js +++ /dev/null @@ -1,16 +0,0 @@ -/** - * Mocked gantt diagram renderer - */ - -import { vi } from 'vitest'; - -export const setConf = vi.fn(); - -export const draw = vi.fn().mockImplementation(() => { - return ''; -}); - -export default { - setConf, - draw, -}; diff --git a/__mocks__/gitGraphRenderer.js b/__mocks__/gitGraphRenderer.js deleted file mode 100644 index 1daa82ca4c..0000000000 --- a/__mocks__/gitGraphRenderer.js +++ /dev/null @@ -1,13 +0,0 @@ -/** - * Mocked git (graph) diagram renderer - */ - -import { vi } from 'vitest'; - -export const draw = vi.fn().mockImplementation(() => { - return ''; -}); - -export default { - draw, -}; diff --git a/__mocks__/journeyRenderer.js b/__mocks__/journeyRenderer.js deleted file mode 100644 index 2bc77c0b10..0000000000 --- a/__mocks__/journeyRenderer.js +++ /dev/null @@ -1,15 +0,0 @@ -/** - * Mocked pie (picChart) diagram renderer - */ - -import { vi } from 'vitest'; -export const setConf = vi.fn(); - -export const draw = vi.fn().mockImplementation(() => { - return ''; -}); - -export default { - setConf, - draw, -}; diff --git a/__mocks__/pieRenderer.ts b/__mocks__/pieRenderer.ts deleted file mode 100644 index 439800f8c5..0000000000 --- a/__mocks__/pieRenderer.ts +++ /dev/null @@ -1,8 +0,0 @@ -/** - * Mocked pie (picChart) diagram renderer - */ -import { vi } from 'vitest'; - -const draw = vi.fn().mockImplementation(() => ''); - -export const renderer = { draw }; diff --git a/__mocks__/requirementRenderer.js b/__mocks__/requirementRenderer.js deleted file mode 100644 index 48d8997ac1..0000000000 --- a/__mocks__/requirementRenderer.js +++ /dev/null @@ -1,13 +0,0 @@ -/** - * Mocked requirement diagram renderer - */ - -import { vi } from 'vitest'; - -export const draw = vi.fn().mockImplementation(() => { - return ''; -}); - -export default { - draw, -}; diff --git a/__mocks__/sankeyRenderer.js b/__mocks__/sankeyRenderer.js deleted file mode 100644 index 76324c93f1..0000000000 --- a/__mocks__/sankeyRenderer.js +++ /dev/null @@ -1,13 +0,0 @@ -/** - * Mocked Sankey diagram renderer - */ - -import { vi } from 'vitest'; - -export const draw = vi.fn().mockImplementation(() => { - return ''; -}); - -export default { - draw, -}; diff --git a/__mocks__/sequenceRenderer.js b/__mocks__/sequenceRenderer.js deleted file mode 100644 index 11080c6bbf..0000000000 --- a/__mocks__/sequenceRenderer.js +++ /dev/null @@ -1,23 +0,0 @@ -/** - * Mocked sequence diagram renderer - */ - -import { vi } from 'vitest'; - -export const bounds = vi.fn(); -export const drawActors = vi.fn(); -export const drawActorsPopup = vi.fn(); - -export const setConf = vi.fn(); - -export const draw = vi.fn().mockImplementation(() => { - return ''; -}); - -export default { - bounds, - drawActors, - drawActorsPopup, - setConf, - draw, -}; diff --git a/__mocks__/stateRenderer-v2.js b/__mocks__/stateRenderer-v2.js deleted file mode 100644 index a2d103b50e..0000000000 --- a/__mocks__/stateRenderer-v2.js +++ /dev/null @@ -1,22 +0,0 @@ -/** - * Mocked state diagram v2 renderer - */ - -import { vi } from 'vitest'; - -export const setConf = vi.fn(); -export const getClasses = vi.fn().mockImplementation(() => { - return {}; -}); -export const stateDomId = vi.fn().mockImplementation(() => { - return 'mocked-stateDiagram-stateDomId'; -}); -export const draw = vi.fn().mockImplementation(() => { - return ''; -}); - -export default { - setConf, - getClasses, - draw, -}; From 7ef61d58fd736964c56ffd808cf369e297ee0193 Mon Sep 17 00:00:00 2001 From: Sidharth Vinod Date: Thu, 16 Nov 2023 10:58:25 +0530 Subject: [PATCH 131/789] test: Add packet test for title, accTitle, accDescr --- packages/mermaid/src/diagrams/packet/packet.spec.ts | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/packages/mermaid/src/diagrams/packet/packet.spec.ts b/packages/mermaid/src/diagrams/packet/packet.spec.ts index 6ad24b75e9..87432f4891 100644 --- a/packages/mermaid/src/diagrams/packet/packet.spec.ts +++ b/packages/mermaid/src/diagrams/packet/packet.spec.ts @@ -1,7 +1,7 @@ import { db } from './db.js'; import { parser } from './parser.js'; -const { clear, getPacket } = db; +const { clear, getPacket, getDiagramTitle, getAccTitle, getAccDescription } = db; describe('packet diagrams', () => { beforeEach(() => { @@ -16,13 +16,19 @@ describe('packet diagrams', () => { expect(getPacket()).toMatchInlineSnapshot('[]'); }); - it('should handle diagram with data', () => { + it('should handle diagram with data and title', () => { const str = `packet-beta + title Packet diagram + accTitle: Packet accTitle + accDescr: Packet accDescription 0-10: "test" `; expect(() => { parser.parse(str); }).not.toThrow(); + expect(getDiagramTitle()).toMatchInlineSnapshot('"Packet diagram"'); + expect(getAccTitle()).toMatchInlineSnapshot('"Packet accTitle"'); + expect(getAccDescription()).toMatchInlineSnapshot('"Packet accDescription"'); expect(getPacket()).toMatchInlineSnapshot(` [ [ From f0d6789722ecb67ee671e3e1346395ce8e8ae386 Mon Sep 17 00:00:00 2001 From: Sidharth Vinod Date: Thu, 16 Nov 2023 11:03:55 +0530 Subject: [PATCH 132/789] fix: Netlify build --- scripts/editor.bash | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/scripts/editor.bash b/scripts/editor.bash index cb09845832..421fdec747 100755 --- a/scripts/editor.bash +++ b/scripts/editor.bash @@ -13,8 +13,8 @@ mv package.tmp.json package.json popd pnpm run -r clean +pnpm build:esbuild pnpm build:types -pnpm build:mermaid # Clone the Mermaid Live Editor repository rm -rf mermaid-live-editor @@ -27,7 +27,8 @@ cd mermaid-live-editor npm install # Link local mermaid to live editor -npm link ../packages/mermaid +npm link ../packages/mermaid # Force Build the site npm run build -- --force + From 0fec0ef624b0833bd3adea34a1616213fe41f06c Mon Sep 17 00:00:00 2001 From: Sidharth Vinod Date: Sun, 19 Nov 2023 00:44:44 +0530 Subject: [PATCH 133/789] 5043 Move ELK to standalone package --- .build/common.ts | 5 + .esbuild/server.ts | 8 +- demos/flowchart-elk.html | 35 ++ package.json | 2 +- packages/mermaid-flowchart-elk/package.json | 55 +++ .../src}/detector.spec.ts | 0 .../mermaid-flowchart-elk/src/detector.ts | 32 ++ .../src/diagram-definition.ts | 12 + .../src}/flowRenderer-elk.js | 22 +- .../src}/render-utils.spec.ts | 0 .../src}/render-utils.ts | 0 .../src}/styles.ts | 0 packages/mermaid-flowchart-elk/tsconfig.json | 9 + packages/mermaid/package.json | 1 - .../src/diagrams/flowchart/elk/detector.ts | 11 +- .../flowchart/elk/flowchart-elk-definition.ts | 13 - packages/mermaid/src/styles.spec.ts | 2 - pnpm-lock.yaml | 335 ++++-------------- 18 files changed, 252 insertions(+), 290 deletions(-) create mode 100644 demos/flowchart-elk.html create mode 100644 packages/mermaid-flowchart-elk/package.json rename packages/{mermaid/src/diagrams/flowchart/elk => mermaid-flowchart-elk/src}/detector.spec.ts (100%) create mode 100644 packages/mermaid-flowchart-elk/src/detector.ts create mode 100644 packages/mermaid-flowchart-elk/src/diagram-definition.ts rename packages/{mermaid/src/diagrams/flowchart/elk => mermaid-flowchart-elk/src}/flowRenderer-elk.js (97%) rename packages/{mermaid/src/diagrams/flowchart/elk => mermaid-flowchart-elk/src}/render-utils.spec.ts (100%) rename packages/{mermaid/src/diagrams/flowchart/elk => mermaid-flowchart-elk/src}/render-utils.ts (100%) rename packages/{mermaid/src/diagrams/flowchart/elk => mermaid-flowchart-elk/src}/styles.ts (100%) create mode 100644 packages/mermaid-flowchart-elk/tsconfig.json delete mode 100644 packages/mermaid/src/diagrams/flowchart/elk/flowchart-elk-definition.ts diff --git a/.build/common.ts b/.build/common.ts index e9d0ebfa69..274977fa26 100644 --- a/.build/common.ts +++ b/.build/common.ts @@ -22,4 +22,9 @@ export const packageOptions = { packageName: 'mermaid-zenuml', file: 'detector.ts', }, + 'mermaid-flowchart-elk': { + name: 'mermaid-flowchart-elk', + packageName: 'mermaid-flowchart-elk', + file: 'detector.ts', + }, } as const; diff --git a/.esbuild/server.ts b/.esbuild/server.ts index 63d981b99d..fb3f236e2d 100644 --- a/.esbuild/server.ts +++ b/.esbuild/server.ts @@ -5,6 +5,7 @@ import { getBuildConfig, defaultOptions } from './util.js'; import { context } from 'esbuild'; import chokidar from 'chokidar'; import { generateLangium } from '../.build/generateLangium.js'; +import { packageOptions } from '../.build/common.js'; const parserCtx = await context( getBuildConfig({ ...defaultOptions, minify: false, core: false, entryName: 'parser' }) @@ -101,10 +102,9 @@ async function createServer() { app.use(cors()); app.get('/events', eventsHandler); - app.use(express.static('./packages/parser/dist')); - app.use(express.static('./packages/mermaid/dist')); - app.use(express.static('./packages/mermaid-zenuml/dist')); - app.use(express.static('./packages/mermaid-example-diagram/dist')); + for (const { packageName } of Object.values(packageOptions)) { + app.use(express.static(`./packages/${packageName}/dist`)); + } app.use(express.static('demos')); app.use(express.static('cypress/platform')); diff --git a/demos/flowchart-elk.html b/demos/flowchart-elk.html new file mode 100644 index 0000000000..69ac2d2bc6 --- /dev/null +++ b/demos/flowchart-elk.html @@ -0,0 +1,35 @@ + + + + + + Mermaid Flowchart ELK Test Page + + + +

    Flowchart ELK

    +
    +		flowchart-elk TD
    +      A([Start]) ==> B[Step 1]
    +      B ==> C{Flow 1}
    +      C -- Choice 1.1 --> D[Step 2.1]
    +      C -- Choice 1.3 --> I[Step 2.3]
    +      C == Choice 1.2 ==> E[Step 2.2]
    +      D --> F{Flow 2}
    +      E ==> F{Flow 2}
    +      F{Flow 2} == Choice 2.1 ==> H[Feedback node]
    +      H[Feedback node] ==> B[Step 1]
    +      F{Flow 2} == Choice 2.2 ==> G((Finish))
    +      
    +    
    + + + + diff --git a/package.json b/package.json index 51645c6a2b..28d4f9592a 100644 --- a/package.json +++ b/package.json @@ -19,7 +19,7 @@ "build:esbuild": "pnpm run -r clean && ts-node-esm --transpileOnly .esbuild/build.ts", "build:mermaid": "pnpm build:esbuild --mermaid", "build:viz": "pnpm build:esbuild --visualize", - "build:types": "tsc -p ./packages/parser/tsconfig.json --emitDeclarationOnly && tsc -p ./packages/mermaid/tsconfig.json --emitDeclarationOnly && tsc -p ./packages/mermaid-zenuml/tsconfig.json --emitDeclarationOnly && tsc -p ./packages/mermaid-example-diagram/tsconfig.json --emitDeclarationOnly", + "build:types": "tsc -p ./packages/parser/tsconfig.json --emitDeclarationOnly && tsc -p ./packages/mermaid/tsconfig.json --emitDeclarationOnly && tsc -p ./packages/mermaid-zenuml/tsconfig.json --emitDeclarationOnly && tsc -p ./packages/mermaid-example-diagram/tsconfig.json --emitDeclarationOnly && tsc -p ./packages/mermaid-flowchart-elk/tsconfig.json --emitDeclarationOnly", "build:types:watch": "tsc -p ./packages/mermaid/tsconfig.json --emitDeclarationOnly --watch", "dev": "ts-node-esm --transpileOnly .esbuild/server.ts", "dev:vite": "ts-node-esm --transpileOnly .vite/server.ts", diff --git a/packages/mermaid-flowchart-elk/package.json b/packages/mermaid-flowchart-elk/package.json new file mode 100644 index 0000000000..8a68891aa7 --- /dev/null +++ b/packages/mermaid-flowchart-elk/package.json @@ -0,0 +1,55 @@ +{ + "name": "@mermaid-js/flowchart-elk", + "version": "1.0.0", + "description": "Flowchart plugin for mermaid with ELK layout", + "module": "dist/mermaid-flowchart-elk.core.mjs", + "types": "dist/packages/mermaid-flowchart-elk/src/detector.d.ts", + "type": "module", + "exports": { + ".": { + "import": "./dist/mermaid-flowchart-elk.core.mjs", + "types": "./dist/packages/mermaid-flowchart-elk/src/detector.d.ts" + }, + "./*": "./*" + }, + "keywords": [ + "diagram", + "markdown", + "flowchart", + "elk", + "mermaid" + ], + "scripts": { + "prepublishOnly": "pnpm -w run build" + }, + "repository": { + "type": "git", + "url": "https://github.com/mermaid-js/mermaid" + }, + "author": "Knut Sveidqvist", + "license": "MIT", + "standard": { + "ignore": [ + "**/parser/*.js", + "dist/**/*.js", + "cypress/**/*.js" + ], + "globals": [ + "page" + ] + }, + "dependencies": { + "d3": "^7.4.0", + "dagre-d3-es": "7.0.10", + "khroma": "^2.0.0", + "elkjs": "^0.8.2" + }, + "devDependencies": { + "concurrently": "^8.0.0", + "rimraf": "^5.0.0", + "mermaid": "workspace:*" + }, + "files": [ + "dist" + ] +} diff --git a/packages/mermaid/src/diagrams/flowchart/elk/detector.spec.ts b/packages/mermaid-flowchart-elk/src/detector.spec.ts similarity index 100% rename from packages/mermaid/src/diagrams/flowchart/elk/detector.spec.ts rename to packages/mermaid-flowchart-elk/src/detector.spec.ts diff --git a/packages/mermaid-flowchart-elk/src/detector.ts b/packages/mermaid-flowchart-elk/src/detector.ts new file mode 100644 index 0000000000..52fb355a55 --- /dev/null +++ b/packages/mermaid-flowchart-elk/src/detector.ts @@ -0,0 +1,32 @@ +import type { + ExternalDiagramDefinition, + DiagramDetector, + DiagramLoader, +} from '../../mermaid/src/diagram-api/types.js'; + +const id = 'flowchart-elk'; + +const detector: DiagramDetector = (txt, config): boolean => { + if ( + // If diagram explicitly states flowchart-elk + /^\s*flowchart-elk/.test(txt) || + // If a flowchart/graph diagram has their default renderer set to elk + (/^\s*flowchart|graph/.test(txt) && config?.flowchart?.defaultRenderer === 'elk') + ) { + return true; + } + return false; +}; + +const loader: DiagramLoader = async () => { + const { diagram } = await import('./diagram-definition.js'); + return { id, diagram }; +}; + +const plugin: ExternalDiagramDefinition = { + id, + detector, + loader, +}; + +export default plugin; diff --git a/packages/mermaid-flowchart-elk/src/diagram-definition.ts b/packages/mermaid-flowchart-elk/src/diagram-definition.ts new file mode 100644 index 0000000000..a4e678dcc3 --- /dev/null +++ b/packages/mermaid-flowchart-elk/src/diagram-definition.ts @@ -0,0 +1,12 @@ +// @ts-ignore: JISON typing missing +import parser from '../../mermaid/src/diagrams/flowchart/parser/flow.jison'; +import * as db from '../../mermaid/src/diagrams/flowchart/flowDb.js'; +import styles from '../../mermaid/src/diagrams/flowchart/styles.js'; +import renderer from './flowRenderer-elk.js'; + +export const diagram = { + db, + renderer, + parser, + styles, +}; diff --git a/packages/mermaid/src/diagrams/flowchart/elk/flowRenderer-elk.js b/packages/mermaid-flowchart-elk/src/flowRenderer-elk.js similarity index 97% rename from packages/mermaid/src/diagrams/flowchart/elk/flowRenderer-elk.js rename to packages/mermaid-flowchart-elk/src/flowRenderer-elk.js index e45739524e..da4f339d5c 100644 --- a/packages/mermaid/src/diagrams/flowchart/elk/flowRenderer-elk.js +++ b/packages/mermaid-flowchart-elk/src/flowRenderer-elk.js @@ -1,16 +1,16 @@ import { select, line, curveLinear } from 'd3'; -import { insertNode } from '../../../dagre-wrapper/nodes.js'; -import insertMarkers from '../../../dagre-wrapper/markers.js'; -import { insertEdgeLabel } from '../../../dagre-wrapper/edges.js'; +import { insertNode } from '../../mermaid/src/dagre-wrapper/nodes.js'; +import insertMarkers from '../../mermaid/src/dagre-wrapper/markers.js'; +import { insertEdgeLabel } from '../../mermaid/src/dagre-wrapper/edges.js'; import { findCommonAncestor } from './render-utils.js'; -import { labelHelper } from '../../../dagre-wrapper/shapes/util.js'; -import { getConfig } from '../../../config.js'; -import { log } from '../../../logger.js'; -import { setupGraphViewbox } from '../../../setupGraphViewbox.js'; -import common from '../../common/common.js'; -import { interpolateToCurve, getStylesFromArray } from '../../../utils.js'; +import { labelHelper } from '../../mermaid/src/dagre-wrapper/shapes/util.js'; +import { getConfig } from '../../mermaid/src/config.js'; +import { log } from '../../mermaid/src/logger.js'; +import { setupGraphViewbox } from '../../mermaid/src/setupGraphViewbox.js'; +import common from '../../mermaid/src/diagrams/common/common.js'; +import { interpolateToCurve, getStylesFromArray } from '../../mermaid/src/utils.js'; import ELK from 'elkjs/lib/elk.bundled.js'; -import { getLineFunctionsWithOffset } from '../../../utils/lineWithOffset.js'; +import { getLineFunctionsWithOffset } from '../../mermaid/src/utils/lineWithOffset.js'; const elk = new ELK(); @@ -695,7 +695,7 @@ const addMarkersToEdge = function (svgPath, edgeData, diagramType, arrowMarkerAb * * @param text * @param diagObj - * @returns {Record} ClassDef styles + * @returns {Record} ClassDef styles */ export const getClasses = function (text, diagObj) { log.info('Extracting classes'); diff --git a/packages/mermaid/src/diagrams/flowchart/elk/render-utils.spec.ts b/packages/mermaid-flowchart-elk/src/render-utils.spec.ts similarity index 100% rename from packages/mermaid/src/diagrams/flowchart/elk/render-utils.spec.ts rename to packages/mermaid-flowchart-elk/src/render-utils.spec.ts diff --git a/packages/mermaid/src/diagrams/flowchart/elk/render-utils.ts b/packages/mermaid-flowchart-elk/src/render-utils.ts similarity index 100% rename from packages/mermaid/src/diagrams/flowchart/elk/render-utils.ts rename to packages/mermaid-flowchart-elk/src/render-utils.ts diff --git a/packages/mermaid/src/diagrams/flowchart/elk/styles.ts b/packages/mermaid-flowchart-elk/src/styles.ts similarity index 100% rename from packages/mermaid/src/diagrams/flowchart/elk/styles.ts rename to packages/mermaid-flowchart-elk/src/styles.ts diff --git a/packages/mermaid-flowchart-elk/tsconfig.json b/packages/mermaid-flowchart-elk/tsconfig.json new file mode 100644 index 0000000000..e7ca78fe48 --- /dev/null +++ b/packages/mermaid-flowchart-elk/tsconfig.json @@ -0,0 +1,9 @@ +{ + "extends": "../../tsconfig.json", + "compilerOptions": { + "rootDir": "../..", + "outDir": "./dist" + }, + "include": ["./src/**/*.ts"], + "typeRoots": ["./src/types"] +} diff --git a/packages/mermaid/package.json b/packages/mermaid/package.json index 4ac0b70464..eaf2f0c70b 100644 --- a/packages/mermaid/package.json +++ b/packages/mermaid/package.json @@ -68,7 +68,6 @@ "dagre-d3-es": "7.0.10", "dayjs": "^1.11.7", "dompurify": "^3.0.5", - "elkjs": "^0.8.2", "khroma": "^2.0.0", "lodash-es": "^4.17.21", "mdast-util-from-markdown": "^1.3.0", diff --git a/packages/mermaid/src/diagrams/flowchart/elk/detector.ts b/packages/mermaid/src/diagrams/flowchart/elk/detector.ts index 6cfcf26194..b476ff11ba 100644 --- a/packages/mermaid/src/diagrams/flowchart/elk/detector.ts +++ b/packages/mermaid/src/diagrams/flowchart/elk/detector.ts @@ -3,6 +3,7 @@ import type { DiagramDetector, DiagramLoader, } from '../../../diagram-api/types.js'; +import { log } from '../../../logger.js'; const id = 'flowchart-elk'; @@ -13,13 +14,21 @@ const detector: DiagramDetector = (txt, config): boolean => { // If a flowchart/graph diagram has their default renderer set to elk (/^\s*flowchart|graph/.test(txt) && config?.flowchart?.defaultRenderer === 'elk') ) { + // This will log at the end, hopefully. + setTimeout( + () => + log.warn( + 'flowchart-elk was moved to an external package in Mermaid v11. Please refer [release notes](link) for more details. This diagram will be rendered using `dagre` layout as a fallback.' + ), + 500 + ); return true; } return false; }; const loader: DiagramLoader = async () => { - const { diagram } = await import('./flowchart-elk-definition.js'); + const { diagram } = await import('../flowDiagram-v2.js'); return { id, diagram }; }; diff --git a/packages/mermaid/src/diagrams/flowchart/elk/flowchart-elk-definition.ts b/packages/mermaid/src/diagrams/flowchart/elk/flowchart-elk-definition.ts deleted file mode 100644 index 9855c73899..0000000000 --- a/packages/mermaid/src/diagrams/flowchart/elk/flowchart-elk-definition.ts +++ /dev/null @@ -1,13 +0,0 @@ -// @ts-ignore: JISON typing missing -import parser from '../parser/flow.jison'; - -import * as db from '../flowDb.js'; -import renderer from './flowRenderer-elk.js'; -import styles from './styles.js'; - -export const diagram = { - db, - renderer, - parser, - styles, -}; diff --git a/packages/mermaid/src/styles.spec.ts b/packages/mermaid/src/styles.spec.ts index 420ee9757b..d22b0f2ee3 100644 --- a/packages/mermaid/src/styles.spec.ts +++ b/packages/mermaid/src/styles.spec.ts @@ -17,7 +17,6 @@ import theme from './themes/index.js'; import c4 from './diagrams/c4/styles.js'; import classDiagram from './diagrams/class/styles.js'; import flowchart from './diagrams/flowchart/styles.js'; -import flowchartElk from './diagrams/flowchart/elk/styles.js'; import er from './diagrams/er/styles.js'; import git from './diagrams/git/styles.js'; import gantt from './diagrams/gantt/styles.js'; @@ -86,7 +85,6 @@ describe('styles', () => { classDiagram, er, flowchart, - flowchartElk, gantt, git, journey, diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 3e5d16f4cc..c67f93f25a 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -224,9 +224,6 @@ importers: dompurify: specifier: ^3.0.5 version: 3.0.5 - elkjs: - specifier: ^0.8.2 - version: 0.8.2 khroma: specifier: ^2.0.0 version: 2.0.0 @@ -416,6 +413,31 @@ importers: specifier: ^5.0.0 version: 5.0.0 + packages/mermaid-flowchart-elk: + dependencies: + d3: + specifier: ^7.4.0 + version: 7.8.5 + dagre-d3-es: + specifier: 7.0.10 + version: 7.0.10 + elkjs: + specifier: ^0.8.2 + version: 0.8.2 + khroma: + specifier: ^2.0.0 + version: 2.0.0 + devDependencies: + concurrently: + specifier: ^8.0.0 + version: 8.0.1 + mermaid: + specifier: workspace:* + version: link:../mermaid + rimraf: + specifier: ^5.0.0 + version: 5.0.0 + packages/mermaid-zenuml: dependencies: '@zenuml/core': @@ -500,8 +522,8 @@ importers: specifier: ^1.1.16 version: 1.1.16 '@unocss/reset': - specifier: ^0.55.2 - version: 0.55.7 + specifier: ^0.57.0 + version: 0.57.1 '@vite-pwa/vitepress': specifier: ^0.2.0 version: 0.2.0(vite-plugin-pwa@0.16.0) @@ -518,8 +540,8 @@ importers: specifier: ^1.1.0 version: 1.1.1 unocss: - specifier: ^0.55.2 - version: 0.55.7(postcss@8.4.31)(rollup@2.79.1)(vite@4.5.0) + specifier: ^0.57.0 + version: 0.57.1(postcss@8.4.31)(rollup@2.79.1)(vite@4.5.0) unplugin-vue-components: specifier: ^0.25.0 version: 0.25.0(rollup@2.79.1)(vue@3.3.7) @@ -530,8 +552,8 @@ importers: specifier: ^0.16.0 version: 0.16.0(vite@4.5.0)(workbox-build@7.0.0)(workbox-window@7.0.0) vitepress: - specifier: 1.0.0-rc.12 - version: 1.0.0-rc.12(@algolia/client-search@4.19.1)(@types/node@18.17.5)(search-insights@2.7.0)(typescript@5.1.6) + specifier: 1.0.0-rc.25 + version: 1.0.0-rc.25(@algolia/client-search@4.19.1)(@types/node@18.17.5)(postcss@8.4.31)(search-insights@2.7.0)(typescript@5.1.6) workbox-window: specifier: ^7.0.0 version: 7.0.0 @@ -5059,23 +5081,23 @@ packages: eslint-visitor-keys: 3.4.3 dev: true - /@unocss/astro@0.55.7(rollup@2.79.1)(vite@4.5.0): - resolution: {integrity: sha512-mw8r14ArxUQBVCCisAJlF/WsZb650iBsduD/lXMk56N/nQ3MMArCcn62kcAxgZSb5tfIOQGQu/tbR8hEcD8y2g==} + /@unocss/astro@0.57.1(rollup@2.79.1)(vite@4.4.9): + resolution: {integrity: sha512-KNaqN/SGM/uz1QitajIkzNEw0jy9Zx9Wp8fl4GhfGYEMAN2+M4cuvBZRmlb6cLctSXmSAJQDG91ivbD1JijGnw==} peerDependencies: vite: ^2.9.0 || ^3.0.0-0 || ^4.0.0 peerDependenciesMeta: vite: optional: true dependencies: - '@unocss/core': 0.55.7 - '@unocss/reset': 0.55.7 - '@unocss/vite': 0.55.7(rollup@2.79.1)(vite@4.5.0) - vite: 4.5.0(@types/node@18.17.5) + '@unocss/core': 0.57.1 + '@unocss/reset': 0.57.1 + '@unocss/vite': 0.57.1(rollup@2.79.1)(vite@4.4.9) + vite: 4.4.9(@types/node@18.17.5) transitivePeerDependencies: - rollup dev: true - /@unocss/astro@0.57.1(rollup@2.79.1)(vite@4.4.9): + /@unocss/astro@0.57.1(rollup@2.79.1)(vite@4.5.0): resolution: {integrity: sha512-KNaqN/SGM/uz1QitajIkzNEw0jy9Zx9Wp8fl4GhfGYEMAN2+M4cuvBZRmlb6cLctSXmSAJQDG91ivbD1JijGnw==} peerDependencies: vite: ^2.9.0 || ^3.0.0-0 || ^4.0.0 @@ -5085,30 +5107,8 @@ packages: dependencies: '@unocss/core': 0.57.1 '@unocss/reset': 0.57.1 - '@unocss/vite': 0.57.1(rollup@2.79.1)(vite@4.4.9) - vite: 4.4.9(@types/node@18.17.5) - transitivePeerDependencies: - - rollup - dev: true - - /@unocss/cli@0.55.7(rollup@2.79.1): - resolution: {integrity: sha512-ZHX2SR2WQbKfcmgOOHjBLB3V57Ct76Zb76YULzBj2EVX43lX/YDCVG87n6ePDY7rOcjCAthjrFQYCLV5KVLKHg==} - engines: {node: '>=14'} - hasBin: true - dependencies: - '@ampproject/remapping': 2.2.1 - '@rollup/pluginutils': 5.0.5(rollup@2.79.1) - '@unocss/config': 0.55.7 - '@unocss/core': 0.55.7 - '@unocss/preset-uno': 0.55.7 - cac: 6.7.14 - chokidar: 3.5.3 - colorette: 2.0.20 - consola: 3.2.3 - fast-glob: 3.3.1 - magic-string: 0.30.5 - pathe: 1.1.1 - perfect-debounce: 1.0.0 + '@unocss/vite': 0.57.1(rollup@2.79.1)(vite@4.5.0) + vite: 4.5.0(@types/node@18.17.5) transitivePeerDependencies: - rollup dev: true @@ -5135,14 +5135,6 @@ packages: - rollup dev: true - /@unocss/config@0.55.7: - resolution: {integrity: sha512-+X6rPScyFEWbkZyCyM+HfoJhJNN+CEl2n2izWkm0kuDj3w9fY9B3f/0dsk+jmx/gJEI5Y797q9zspNMNDib1AA==} - engines: {node: '>=14'} - dependencies: - '@unocss/core': 0.55.7 - unconfig: 0.3.11 - dev: true - /@unocss/config@0.57.1: resolution: {integrity: sha512-mbuVO0mH1PX7rEkViMNWb3jG1ji7TUydo2DdnMHhJE+dOrGtnQzhzXGlAd4qqel1fnt/VWuOyZKwJA3QO6VCtg==} engines: {node: '>=14'} @@ -5151,33 +5143,16 @@ packages: unconfig: 0.3.11 dev: true - /@unocss/core@0.55.7: - resolution: {integrity: sha512-c+bWe844Xjlwc1EPwHj0+n3LpntJG7ELPbEOOxNIG+CQdcEX0l1G0rkM8+nKstJ9WJmgpf1HdJQLVMF62HXvhw==} - dev: true - /@unocss/core@0.57.1: resolution: {integrity: sha512-cqQW/4gCuk+bFMPg9lBanuRNQ9Lx1l4PpMN/6uKxI5WROpq7ce/Xb4uGvAxKLh3ITtFSpXs2cLfsy7QD6cVD/Q==} dev: true - /@unocss/extractor-arbitrary-variants@0.55.7: - resolution: {integrity: sha512-imK2g/frlo5Ag0uVB+C/Psyo5+9AnqhoRAgYa6gyrQ/TJnrnwf+M3jFngU9evIMHw92vig1DGfPa2ZId901DwQ==} - dependencies: - '@unocss/core': 0.55.7 - dev: true - /@unocss/extractor-arbitrary-variants@0.57.1: resolution: {integrity: sha512-9s+azHhBnwjxm46TsD1RY0krDAwOR8tcw58Vtl3emd6C0VQsAOdoprt7UHE7GEXMvDVq7nMf8lAT0BM0LteW3w==} dependencies: '@unocss/core': 0.57.1 dev: true - /@unocss/inspector@0.55.7: - resolution: {integrity: sha512-N0mjZozDDyqx8Mh6C/ZlMTlDzGiq22sXY/hPRX55Cf44WZI4W/ZWajqAAp42B+lw2MN0k1FYEMIAwn9n+xgq/g==} - dependencies: - gzip-size: 6.0.0 - sirv: 2.0.3 - dev: true - /@unocss/inspector@0.57.1: resolution: {integrity: sha512-qV7ta7iHGX2EpZJ4IWY/05kgyhKFeWlvVJbrOnGsaH8gVt33T/43YAhB/8K5GIXBXIwkhwk13iB13nlg2gSheg==} dependencies: @@ -5186,20 +5161,6 @@ packages: sirv: 2.0.3 dev: true - /@unocss/postcss@0.55.7(postcss@8.4.31): - resolution: {integrity: sha512-53Z/yv/CNdlTqKZQ9gpYRoLZSuzQ28J0SDrGCdzwjLcvHG/FD7/x1S7yxE7cUp/4sjvLL15HSzkWq8vNy6SkwQ==} - engines: {node: '>=14'} - peerDependencies: - postcss: ^8.4.21 - dependencies: - '@unocss/config': 0.55.7 - '@unocss/core': 0.55.7 - css-tree: 2.3.1 - fast-glob: 3.3.1 - magic-string: 0.30.5 - postcss: 8.4.31 - dev: true - /@unocss/postcss@0.57.1(postcss@8.4.31): resolution: {integrity: sha512-DexrV+v/qkVh6t660rXigNr2Y6lON8jxD1z2KVk2bjHKhFflF6q6seps6d/MquyLJI1mXF2uANTeFAeL2q6evw==} engines: {node: '>=14'} @@ -5215,28 +5176,12 @@ packages: postcss: 8.4.31 dev: true - /@unocss/preset-attributify@0.55.7: - resolution: {integrity: sha512-L1sNw3DyM4mymIm4DBTTTOllk8LmhYlWMgDlaAW2MYWygjqDCsp99wRKT2175Ya5xHYBA6XetMoBryZD23qJYQ==} - dependencies: - '@unocss/core': 0.55.7 - dev: true - /@unocss/preset-attributify@0.57.1: resolution: {integrity: sha512-pvGQHaqBlB0jQysWhNbcKLOGrkj8b53k0sAa9LYxQjD1fa8t/dwbuMpZv4twX+gysF0vBhxRoWBPLH1/S6zRZg==} dependencies: '@unocss/core': 0.57.1 dev: true - /@unocss/preset-icons@0.55.7: - resolution: {integrity: sha512-JXLOHkyEKKAjLTqjAxYfhwln05WXilGg3jctkZWKpMNawPaonrGt3kZT12YMuMmOryxk7UcyKB0dtYc+p3QYvw==} - dependencies: - '@iconify/utils': 2.1.11 - '@unocss/core': 0.55.7 - ofetch: 1.3.3 - transitivePeerDependencies: - - supports-color - dev: true - /@unocss/preset-icons@0.57.1: resolution: {integrity: sha512-ve4jC6yREfS0mv97DCld9xLjMuiSCcsQPKucdtpUfCjLMqtGd1ZGGdFv02Q+92NkW7HDfgj+izEw1SKh9695Ow==} dependencies: @@ -5247,13 +5192,6 @@ packages: - supports-color dev: true - /@unocss/preset-mini@0.55.7: - resolution: {integrity: sha512-ZCskE2uprjGkpQezEPM6KPMf84rIZEUNc1p2DxWVHaFUPRV24/JSNsO4PsKrQgNIb2dLQxzPNlMzQJI7ssdBXQ==} - dependencies: - '@unocss/core': 0.55.7 - '@unocss/extractor-arbitrary-variants': 0.55.7 - dev: true - /@unocss/preset-mini@0.57.1: resolution: {integrity: sha512-v9ZsIUGDfZNXbIrOc7zrBp+RFbFFGSQN/vKIf761js4fJ31j6lan4pPQPGcY17xHConkI1HJT/+yb/UVJaAcHw==} dependencies: @@ -5262,25 +5200,12 @@ packages: '@unocss/rule-utils': 0.57.1 dev: true - /@unocss/preset-tagify@0.55.7: - resolution: {integrity: sha512-aDsuN3a/ZirbCDKpFsue9tc8MHs3l0Rl81n2ZOdIrJoZW4YWyydMVl++cz/HERZW81ZySK8EJKwGBaMJMgsnHA==} - dependencies: - '@unocss/core': 0.55.7 - dev: true - /@unocss/preset-tagify@0.57.1: resolution: {integrity: sha512-GV8knxnsOVH/XiG2KB+mVZeEJqr0PZvvkSTPftGPbjttoKVZ+28Y5q9/qezH7p4W6RYVAAK+3qHHy5wWZosiMw==} dependencies: '@unocss/core': 0.57.1 dev: true - /@unocss/preset-typography@0.55.7: - resolution: {integrity: sha512-hLV4nsgsDIk66pt7Ej4NYUmaGtI2EfGb1h2yl5FmBtdtACrgPq+Skr2Br9Iq+Bj1QFhbsMOWLDdbojFQwBdH6A==} - dependencies: - '@unocss/core': 0.55.7 - '@unocss/preset-mini': 0.55.7 - dev: true - /@unocss/preset-typography@0.57.1: resolution: {integrity: sha512-C4cqCiGW0OSoSXsVQKgfLulYxY5C8M40f+a8VtBlAaEaN6eSlEt+catXb0chF9T2mvz/b87b0PahPvPwJdDf1Q==} dependencies: @@ -5288,14 +5213,6 @@ packages: '@unocss/preset-mini': 0.57.1 dev: true - /@unocss/preset-uno@0.55.7: - resolution: {integrity: sha512-z4pCxOv/OU1ARo++cvbijWNW2zy/EVTMqJXa+SEep9b99wFXPQE3gaPvLdURp/e5f1PoxVyPZ6JiBknbClSDuA==} - dependencies: - '@unocss/core': 0.55.7 - '@unocss/preset-mini': 0.55.7 - '@unocss/preset-wind': 0.55.7 - dev: true - /@unocss/preset-uno@0.57.1: resolution: {integrity: sha512-0+DKZiowYjYzq2swJzQA2dhqDvLJdm0Y437ITzc2GzZMKGUUuNi+w2v3/SzwkpkRd9zTB9/YaOIJVfdrx6ZOXQ==} dependencies: @@ -5305,13 +5222,6 @@ packages: '@unocss/rule-utils': 0.57.1 dev: true - /@unocss/preset-web-fonts@0.55.7: - resolution: {integrity: sha512-ygAz0540kdBapErW2BcObWfQT/6g0SpVUPYg92PPiZD57CZAvuNXiYTfFMRXd88QrBL1zIrZ6NrzY0NZ645H+w==} - dependencies: - '@unocss/core': 0.55.7 - ofetch: 1.3.3 - dev: true - /@unocss/preset-web-fonts@0.57.1: resolution: {integrity: sha512-9DCIMlBRaGrljLmeciH4WqP+uRx2z2nLxvrvEmGbpJJpMn2H4higR5Zu5tDyKYGr9QBl9vXdWgib+43OSswkqA==} dependencies: @@ -5319,13 +5229,6 @@ packages: ofetch: 1.3.3 dev: true - /@unocss/preset-wind@0.55.7: - resolution: {integrity: sha512-vLi0mtYDnvx3uYtBR4fSCR52T59drTUp3XVAAqQTbhvRctnSWm65MWE4G+gqdt2qQ9fM4SVCsxLLaXuJkI2eqw==} - dependencies: - '@unocss/core': 0.55.7 - '@unocss/preset-mini': 0.55.7 - dev: true - /@unocss/preset-wind@0.57.1: resolution: {integrity: sha512-5UairNahUXNDe9AggPtTCodyPjl6NgPCsiEB22LVgN20UjBXjaqzN5wUe1OgtpLoAUaSk0KI7eLWhnWbTbST3A==} dependencies: @@ -5334,10 +5237,6 @@ packages: '@unocss/rule-utils': 0.57.1 dev: true - /@unocss/reset@0.55.7: - resolution: {integrity: sha512-yvmLhxqUNgf6wue7IvhV/FdrQW9H9LF1Bmmhwwaiz2aV0E74aN4pbuYPZwNq3YafsQvNQ0UdtuXjddY4QMRCPw==} - dev: true - /@unocss/reset@0.57.1: resolution: {integrity: sha512-f/ofoudjFN/HMtv1XV5phP58pOmNruBhr0GbVdBNylyieMQkFHowA7iSemChnC/fTbCcY6oSOAcFl4n9AefjdA==} dev: true @@ -5350,57 +5249,28 @@ packages: magic-string: 0.30.5 dev: true - /@unocss/scope@0.55.7: - resolution: {integrity: sha512-r0CaS1aSpcC37ztqOJ3qaWIzM6zwdlX8r0rib2vTvWTckw1J0ocVhjNkWRBM9kRWte006JhecdiZzXNHA40akg==} - dev: true - /@unocss/scope@0.57.1: resolution: {integrity: sha512-ZAzg6lLGwKNQGCvJXEie3TvGztkAyajEFqygu0mjtHb+CmDql4iAjoygs+3dnRI5hSDwfMYFrJ2azX26+2CsoA==} dev: true - /@unocss/transformer-attributify-jsx-babel@0.55.7: - resolution: {integrity: sha512-xl5K/Zg7tLyI6Oee+xHgvBm0gSEviYdBDwaGC4O6cP9VXTBm6waz9NUU6CmmVYKh4dSeLQ1PKNboMeg2nFuJMw==} - dependencies: - '@unocss/core': 0.55.7 - dev: true - /@unocss/transformer-attributify-jsx-babel@0.57.1: resolution: {integrity: sha512-EOCPB8OGmhroAuFU0i0W5p6GmJpx6mAkP4KmsqVLd4QMgw+8aXkG7SKyLnxQZnekM0/dSo0TcpVGeGrZaUNgvQ==} dependencies: '@unocss/core': 0.57.1 dev: true - /@unocss/transformer-attributify-jsx@0.55.7: - resolution: {integrity: sha512-ZyUBc0wguBhd+nbIlcrSYpmzKtqBi+8BII8SK4lIB/Ol1wBboByPTjBENsQkxRyffp5K9VTuZZ/LamFgPGOWDg==} - dependencies: - '@unocss/core': 0.55.7 - dev: true - /@unocss/transformer-attributify-jsx@0.57.1: resolution: {integrity: sha512-ohgSEwm2j98ltPWl1zRPvZhRjQPpd7qZtgoROTQh6n2W7wEO1SlnYjgBBz+pGuo2dkfBN5NjuZJ93AEjS10Ysw==} dependencies: '@unocss/core': 0.57.1 dev: true - /@unocss/transformer-compile-class@0.55.7: - resolution: {integrity: sha512-tiYiT9EG4ucSBvMo+9Hv43GY0YvXQjfQCXDhDm3tcJyreMg6BRMO412eir54RBS+JAdNU0DUoITVYu+PkF7hLg==} - dependencies: - '@unocss/core': 0.55.7 - dev: true - /@unocss/transformer-compile-class@0.57.1: resolution: {integrity: sha512-z0WZN6hbgpyBm2xqIrojqEjpQMhiyzHRbaBjWzI/6ieHWoFo5ajIwnReaFUEfJRNruLTd7/9hFDZdRXRPhttFw==} dependencies: '@unocss/core': 0.57.1 dev: true - /@unocss/transformer-directives@0.55.7: - resolution: {integrity: sha512-xNmR40FssHWYJSmJv/9TQC2IdTyZPV8U3Iv/PIuke1zndMwMciclghEFiw0wSeRmhoRI7iFZck5EI/Bokyo7CQ==} - dependencies: - '@unocss/core': 0.55.7 - css-tree: 2.3.1 - dev: true - /@unocss/transformer-directives@0.57.1: resolution: {integrity: sha512-rIk3XEU2NywEJUOkngBSmJfvS3IVgxkkqgMvuIqz8ZDbwWhepuMxsiI0QR3ypkipGr/eKK5DJ7eK0OVlo6FPFA==} dependencies: @@ -5409,39 +5279,33 @@ packages: css-tree: 2.3.1 dev: true - /@unocss/transformer-variant-group@0.55.7: - resolution: {integrity: sha512-uLyZ08XXVriUDenZCTGA3xGgMD3B9GVr6mSz002pDlLpQDi8FcMQTOGg8X4ViCGzS3l03S/+r+JY7kJTpMFa9w==} - dependencies: - '@unocss/core': 0.55.7 - dev: true - /@unocss/transformer-variant-group@0.57.1: resolution: {integrity: sha512-qwydzn2Lqz/8zW6UUXdORaUl8humsG8ll74LN/z8cjEsqtXZkVdkV0l6Brpp9Xp/XPbKwO+II+KH3/1LGwXSzQ==} dependencies: '@unocss/core': 0.57.1 dev: true - /@unocss/vite@0.55.7(rollup@2.79.1)(vite@4.5.0): - resolution: {integrity: sha512-xmdyDnt9Ag4o7DGl22/P6MaB+HSjWOQw9qYYzIefSv3SVUvn3cEhIX/PCWqFp8Kts2HyvAoJLbZmygSf1XdZNQ==} + /@unocss/vite@0.57.1(rollup@2.79.1)(vite@4.4.9): + resolution: {integrity: sha512-kEBDvGgQNkX2n87S6Ao5seyFb1kuWZ5p96dGOS7VFpD7HvR5xholkJXaVhUK9/exCldjLExbo5UtVlbxFLUFYg==} peerDependencies: vite: ^2.9.0 || ^3.0.0-0 || ^4.0.0 dependencies: '@ampproject/remapping': 2.2.1 '@rollup/pluginutils': 5.0.5(rollup@2.79.1) - '@unocss/config': 0.55.7 - '@unocss/core': 0.55.7 - '@unocss/inspector': 0.55.7 - '@unocss/scope': 0.55.7 - '@unocss/transformer-directives': 0.55.7 + '@unocss/config': 0.57.1 + '@unocss/core': 0.57.1 + '@unocss/inspector': 0.57.1 + '@unocss/scope': 0.57.1 + '@unocss/transformer-directives': 0.57.1 chokidar: 3.5.3 fast-glob: 3.3.1 magic-string: 0.30.5 - vite: 4.5.0(@types/node@18.17.5) + vite: 4.4.9(@types/node@18.17.5) transitivePeerDependencies: - rollup dev: true - /@unocss/vite@0.57.1(rollup@2.79.1)(vite@4.4.9): + /@unocss/vite@0.57.1(rollup@2.79.1)(vite@4.5.0): resolution: {integrity: sha512-kEBDvGgQNkX2n87S6Ao5seyFb1kuWZ5p96dGOS7VFpD7HvR5xholkJXaVhUK9/exCldjLExbo5UtVlbxFLUFYg==} peerDependencies: vite: ^2.9.0 || ^3.0.0-0 || ^4.0.0 @@ -5456,7 +5320,7 @@ packages: chokidar: 3.5.3 fast-glob: 3.3.1 magic-string: 0.30.5 - vite: 4.4.9(@types/node@18.17.5) + vite: 4.5.0(@types/node@18.17.5) transitivePeerDependencies: - rollup dev: true @@ -15784,11 +15648,11 @@ packages: engines: {node: '>= 10.0.0'} dev: true - /unocss@0.55.7(postcss@8.4.31)(rollup@2.79.1)(vite@4.5.0): - resolution: {integrity: sha512-3W9P7vj2EhSk/4oPCHBS0VgrwSf5zZL6Az1/XARVOpBnRJtCM2szFInYxHkMgt9pkZTsW8SFCuk/g+QIJ6A8tg==} + /unocss@0.57.1(postcss@8.4.31)(rollup@2.79.1)(vite@4.4.9): + resolution: {integrity: sha512-xLsyJ8+T1/Ux93yrqOvuQy268wF5rSzydlsbqZ5EVfi01PxYyydez3nycPqbyPZientkJ0Yohzd5aBqmZgku3A==} engines: {node: '>=14'} peerDependencies: - '@unocss/webpack': 0.55.7 + '@unocss/webpack': 0.57.1 vite: ^2.9.0 || ^3.0.0-0 || ^4.0.0 peerDependenciesMeta: '@unocss/webpack': @@ -15796,34 +15660,34 @@ packages: vite: optional: true dependencies: - '@unocss/astro': 0.55.7(rollup@2.79.1)(vite@4.5.0) - '@unocss/cli': 0.55.7(rollup@2.79.1) - '@unocss/core': 0.55.7 - '@unocss/extractor-arbitrary-variants': 0.55.7 - '@unocss/postcss': 0.55.7(postcss@8.4.31) - '@unocss/preset-attributify': 0.55.7 - '@unocss/preset-icons': 0.55.7 - '@unocss/preset-mini': 0.55.7 - '@unocss/preset-tagify': 0.55.7 - '@unocss/preset-typography': 0.55.7 - '@unocss/preset-uno': 0.55.7 - '@unocss/preset-web-fonts': 0.55.7 - '@unocss/preset-wind': 0.55.7 - '@unocss/reset': 0.55.7 - '@unocss/transformer-attributify-jsx': 0.55.7 - '@unocss/transformer-attributify-jsx-babel': 0.55.7 - '@unocss/transformer-compile-class': 0.55.7 - '@unocss/transformer-directives': 0.55.7 - '@unocss/transformer-variant-group': 0.55.7 - '@unocss/vite': 0.55.7(rollup@2.79.1)(vite@4.5.0) - vite: 4.5.0(@types/node@18.17.5) + '@unocss/astro': 0.57.1(rollup@2.79.1)(vite@4.4.9) + '@unocss/cli': 0.57.1(rollup@2.79.1) + '@unocss/core': 0.57.1 + '@unocss/extractor-arbitrary-variants': 0.57.1 + '@unocss/postcss': 0.57.1(postcss@8.4.31) + '@unocss/preset-attributify': 0.57.1 + '@unocss/preset-icons': 0.57.1 + '@unocss/preset-mini': 0.57.1 + '@unocss/preset-tagify': 0.57.1 + '@unocss/preset-typography': 0.57.1 + '@unocss/preset-uno': 0.57.1 + '@unocss/preset-web-fonts': 0.57.1 + '@unocss/preset-wind': 0.57.1 + '@unocss/reset': 0.57.1 + '@unocss/transformer-attributify-jsx': 0.57.1 + '@unocss/transformer-attributify-jsx-babel': 0.57.1 + '@unocss/transformer-compile-class': 0.57.1 + '@unocss/transformer-directives': 0.57.1 + '@unocss/transformer-variant-group': 0.57.1 + '@unocss/vite': 0.57.1(rollup@2.79.1)(vite@4.4.9) + vite: 4.4.9(@types/node@18.17.5) transitivePeerDependencies: - postcss - rollup - supports-color dev: true - /unocss@0.57.1(postcss@8.4.31)(rollup@2.79.1)(vite@4.4.9): + /unocss@0.57.1(postcss@8.4.31)(rollup@2.79.1)(vite@4.5.0): resolution: {integrity: sha512-xLsyJ8+T1/Ux93yrqOvuQy268wF5rSzydlsbqZ5EVfi01PxYyydez3nycPqbyPZientkJ0Yohzd5aBqmZgku3A==} engines: {node: '>=14'} peerDependencies: @@ -15835,7 +15699,7 @@ packages: vite: optional: true dependencies: - '@unocss/astro': 0.57.1(rollup@2.79.1)(vite@4.4.9) + '@unocss/astro': 0.57.1(rollup@2.79.1)(vite@4.5.0) '@unocss/cli': 0.57.1(rollup@2.79.1) '@unocss/core': 0.57.1 '@unocss/extractor-arbitrary-variants': 0.57.1 @@ -15854,8 +15718,8 @@ packages: '@unocss/transformer-compile-class': 0.57.1 '@unocss/transformer-directives': 0.57.1 '@unocss/transformer-variant-group': 0.57.1 - '@unocss/vite': 0.57.1(rollup@2.79.1)(vite@4.4.9) - vite: 4.4.9(@types/node@18.17.5) + '@unocss/vite': 0.57.1(rollup@2.79.1)(vite@4.5.0) + vite: 4.5.0(@types/node@18.17.5) transitivePeerDependencies: - postcss - rollup @@ -16237,49 +16101,6 @@ packages: - terser dev: true - /vitepress@1.0.0-rc.12(@algolia/client-search@4.19.1)(@types/node@18.17.5)(search-insights@2.7.0)(typescript@5.1.6): - resolution: {integrity: sha512-mZknN5l9lgbBjXwumwdOQQDM+gPivswFEykEQeenY0tv7eocS+bb801IpFZT3mFV6YRhSddmbutHlFgPPADjEg==} - hasBin: true - dependencies: - '@docsearch/css': 3.5.2 - '@docsearch/js': 3.5.2(@algolia/client-search@4.19.1)(search-insights@2.7.0) - '@vue/devtools-api': 6.5.1 - '@vueuse/core': 10.5.0(vue@3.3.7) - '@vueuse/integrations': 10.5.0(focus-trap@7.5.4)(vue@3.3.7) - focus-trap: 7.5.4 - mark.js: 8.11.1 - minisearch: 6.1.0 - shiki: 0.14.5 - vite: 4.5.0(@types/node@18.17.5) - vue: 3.3.7(typescript@5.1.6) - transitivePeerDependencies: - - '@algolia/client-search' - - '@types/node' - - '@types/react' - - '@vue/composition-api' - - async-validator - - axios - - change-case - - drauu - - fuse.js - - idb-keyval - - jwt-decode - - less - - lightningcss - - nprogress - - qrcode - - react - - react-dom - - sass - - search-insights - - sortablejs - - stylus - - sugarss - - terser - - typescript - - universal-cookie - dev: true - /vitepress@1.0.0-rc.25(@algolia/client-search@4.19.1)(@types/node@18.17.5)(postcss@8.4.31)(search-insights@2.7.0)(typescript@5.1.6): resolution: {integrity: sha512-1dqWiHNThNrVZ08ixmfEDBEH+764KOgnev9oXga/x6cN++Vb9pnuu8p3K6DQP+KZrYcG+WiX7jxal0iSNpAWuQ==} hasBin: true From 38b3a2080b836872c067842cd6f3b5449112a1bb Mon Sep 17 00:00:00 2001 From: Sidharth Vinod Date: Mon, 20 Nov 2023 00:29:13 +0530 Subject: [PATCH 134/789] 5043 Allow registered diagrams to be overridden. --- .../mermaid/src/diagram-api/detectType.ts | 5 +- .../mermaid/src/diagram-api/diagramAPI.ts | 2 +- packages/mermaid/src/diagram.spec.ts | 56 ++++++++++++------- packages/mermaid/src/mermaid.ts | 2 + 4 files changed, 42 insertions(+), 23 deletions(-) diff --git a/packages/mermaid/src/diagram-api/detectType.ts b/packages/mermaid/src/diagram-api/detectType.ts index ba78dbe55e..aed8ca964e 100644 --- a/packages/mermaid/src/diagram-api/detectType.ts +++ b/packages/mermaid/src/diagram-api/detectType.ts @@ -71,10 +71,9 @@ export const registerLazyLoadedDiagrams = (...diagrams: ExternalDiagramDefinitio export const addDetector = (key: string, detector: DiagramDetector, loader?: DiagramLoader) => { if (detectors[key]) { - log.error(`Detector with key ${key} already exists`); - } else { - detectors[key] = { detector, loader }; + log.warn(`Detector with key ${key} already exists. Overwriting.`); } + detectors[key] = { detector, loader }; log.debug(`Detector with key ${key} added${loader ? ' with loader' : ''}`); }; diff --git a/packages/mermaid/src/diagram-api/diagramAPI.ts b/packages/mermaid/src/diagram-api/diagramAPI.ts index 7ca9d58043..5ea3825ef5 100644 --- a/packages/mermaid/src/diagram-api/diagramAPI.ts +++ b/packages/mermaid/src/diagram-api/diagramAPI.ts @@ -49,7 +49,7 @@ export const registerDiagram = ( detector?: DiagramDetector ) => { if (diagrams[id]) { - throw new Error(`Diagram ${id} already registered.`); + log.warn(`Diagram with id ${id} already registered. Overwriting.`); } diagrams[id] = diagram; if (detector) { diff --git a/packages/mermaid/src/diagram.spec.ts b/packages/mermaid/src/diagram.spec.ts index d116399ac1..c73fb0a3b0 100644 --- a/packages/mermaid/src/diagram.spec.ts +++ b/packages/mermaid/src/diagram.spec.ts @@ -2,9 +2,32 @@ import { describe, test, expect } from 'vitest'; import { Diagram, getDiagramFromText } from './Diagram.js'; import { addDetector } from './diagram-api/detectType.js'; import { addDiagrams } from './diagram-api/diagram-orchestration.js'; +import type { DiagramLoader } from './diagram-api/types.js'; addDiagrams(); +const getDummyDiagram = (id: string, title?: string): Awaited> => { + return { + id, + diagram: { + db: { + getDiagramTitle: () => title ?? id, + }, + parser: { + parse: () => { + // no-op + }, + }, + renderer: { + draw: () => { + // no-op + }, + }, + styles: {}, + }, + }; +}; + describe('diagram detection', () => { test('should detect inbuilt diagrams', async () => { const graph = (await getDiagramFromText('graph TD; A-->B')) as Diagram; @@ -21,30 +44,25 @@ describe('diagram detection', () => { addDetector( 'loki', (str) => str.startsWith('loki'), - () => - Promise.resolve({ - id: 'loki', - diagram: { - db: {}, - parser: { - parse: () => { - // no-op - }, - }, - renderer: { - draw: () => { - // no-op - }, - }, - styles: {}, - }, - }) + () => Promise.resolve(getDummyDiagram('loki')) ); - const diagram = (await getDiagramFromText('loki TD; A-->B')) as Diagram; + const diagram = await getDiagramFromText('loki TD; A-->B'); expect(diagram).toBeInstanceOf(Diagram); expect(diagram.type).toBe('loki'); }); + test('should allow external diagrams to override internal ones with same ID', async () => { + const title = 'overridden'; + addDetector( + 'flowchart-elk', + (str) => str.startsWith('flowchart-elk'), + () => Promise.resolve(getDummyDiagram('flowchart-elk', title)) + ); + const diagram = await getDiagramFromText('flowchart-elk TD; A-->B'); + expect(diagram).toBeInstanceOf(Diagram); + expect(diagram.db.getDiagramTitle?.()).toBe(title); + }); + test('should throw the right error for incorrect diagram', async () => { await expect(getDiagramFromText('graph TD; A-->')).rejects.toThrowErrorMatchingInlineSnapshot(` "Parse error on line 2: diff --git a/packages/mermaid/src/mermaid.ts b/packages/mermaid/src/mermaid.ts index a6d4954714..99c3b7491b 100644 --- a/packages/mermaid/src/mermaid.ts +++ b/packages/mermaid/src/mermaid.ts @@ -15,6 +15,7 @@ import { isDetailedError } from './utils.js'; import type { DetailedError } from './utils.js'; import type { ExternalDiagramDefinition } from './diagram-api/types.js'; import type { UnknownDiagramError } from './errors.js'; +import { addDiagrams } from './diagram-api/diagram-orchestration.js'; export type { MermaidConfig, @@ -243,6 +244,7 @@ const registerExternalDiagrams = async ( lazyLoad?: boolean; } = {} ) => { + addDiagrams(); registerLazyLoadedDiagrams(...diagrams); if (lazyLoad === false) { await loadRegisteredDiagrams(); From ac99eb59d22bdf26eb91851417078d256f7b6939 Mon Sep 17 00:00:00 2001 From: Sidharth Vinod Date: Thu, 23 Nov 2023 22:15:04 +0530 Subject: [PATCH 135/789] Cleanup package.json Co-authored-by: Alois Klink --- packages/mermaid-flowchart-elk/package.json | 12 +----------- 1 file changed, 1 insertion(+), 11 deletions(-) diff --git a/packages/mermaid-flowchart-elk/package.json b/packages/mermaid-flowchart-elk/package.json index 8a68891aa7..e02dba8970 100644 --- a/packages/mermaid-flowchart-elk/package.json +++ b/packages/mermaid-flowchart-elk/package.json @@ -28,16 +28,6 @@ }, "author": "Knut Sveidqvist", "license": "MIT", - "standard": { - "ignore": [ - "**/parser/*.js", - "dist/**/*.js", - "cypress/**/*.js" - ], - "globals": [ - "page" - ] - }, "dependencies": { "d3": "^7.4.0", "dagre-d3-es": "7.0.10", @@ -47,7 +37,7 @@ "devDependencies": { "concurrently": "^8.0.0", "rimraf": "^5.0.0", - "mermaid": "workspace:*" + "mermaid": "workspace:^" }, "files": [ "dist" From 4ec57836d8cca4327f4d54955444f8c1ed01af89 Mon Sep 17 00:00:00 2001 From: Sidharth Vinod Date: Thu, 23 Nov 2023 22:31:11 +0530 Subject: [PATCH 136/789] chore: Optimize build:types --- .build/types.ts | 16 ++++++++++++++++ package.json | 2 +- 2 files changed, 17 insertions(+), 1 deletion(-) create mode 100644 .build/types.ts diff --git a/.build/types.ts b/.build/types.ts new file mode 100644 index 0000000000..d9f10d21ae --- /dev/null +++ b/.build/types.ts @@ -0,0 +1,16 @@ +import { packageOptions } from './common.js'; +import { execSync } from 'child_process'; + +const buildType = (packageName: string) => { + console.log(`Building types for ${packageName}`); + try { + const out = execSync(`tsc -p ./packages/${packageName}/tsconfig.json --emitDeclarationOnly`); + out.length > 0 && console.log(out.toString()); + } catch (e) { + console.error(e); + } +}; + +for (const { packageName } of Object.values(packageOptions)) { + buildType(packageName); +} diff --git a/package.json b/package.json index 28d4f9592a..b53231ee35 100644 --- a/package.json +++ b/package.json @@ -19,7 +19,7 @@ "build:esbuild": "pnpm run -r clean && ts-node-esm --transpileOnly .esbuild/build.ts", "build:mermaid": "pnpm build:esbuild --mermaid", "build:viz": "pnpm build:esbuild --visualize", - "build:types": "tsc -p ./packages/parser/tsconfig.json --emitDeclarationOnly && tsc -p ./packages/mermaid/tsconfig.json --emitDeclarationOnly && tsc -p ./packages/mermaid-zenuml/tsconfig.json --emitDeclarationOnly && tsc -p ./packages/mermaid-example-diagram/tsconfig.json --emitDeclarationOnly && tsc -p ./packages/mermaid-flowchart-elk/tsconfig.json --emitDeclarationOnly", + "build:types": "ts-node-esm --transpileOnly .build/types.ts", "build:types:watch": "tsc -p ./packages/mermaid/tsconfig.json --emitDeclarationOnly --watch", "dev": "ts-node-esm --transpileOnly .esbuild/server.ts", "dev:vite": "ts-node-esm --transpileOnly .vite/server.ts", From 30fe363b571d544fcd66a83513184519de80f4ce Mon Sep 17 00:00:00 2001 From: Sidharth Vinod Date: Thu, 23 Nov 2023 22:32:32 +0530 Subject: [PATCH 137/789] chore: Update pnpm-lock --- pnpm-lock.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index c67f93f25a..b0c734b2a7 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -432,7 +432,7 @@ importers: specifier: ^8.0.0 version: 8.0.1 mermaid: - specifier: workspace:* + specifier: workspace:^ version: link:../mermaid rimraf: specifier: ^5.0.0 From c294a0a9acdeae3f3377a6b98eaa01e35b5db9f9 Mon Sep 17 00:00:00 2001 From: Sidharth Vinod Date: Thu, 23 Nov 2023 22:41:22 +0530 Subject: [PATCH 138/789] test: Add flowchart-elk overriding test --- .../integration/other/flowchart-elk.spec.js | 14 +++++++++++ cypress/platform/flow-elk.html | 23 +++++++++++++++++++ 2 files changed, 37 insertions(+) create mode 100644 cypress/integration/other/flowchart-elk.spec.js create mode 100644 cypress/platform/flow-elk.html diff --git a/cypress/integration/other/flowchart-elk.spec.js b/cypress/integration/other/flowchart-elk.spec.js new file mode 100644 index 0000000000..22a6efc0f5 --- /dev/null +++ b/cypress/integration/other/flowchart-elk.spec.js @@ -0,0 +1,14 @@ +import { urlSnapshotTest, openURLAndVerifyRendering } from '../../helpers/util.ts'; + +describe('Flowchart elk', () => { + it('should use dagre as fallback', () => { + urlSnapshotTest('http://localhost:9000/flow-elk.html', { + name: 'flow-elk fallback to dagre', + }); + }); + it('should allow overriding with external package', () => { + urlSnapshotTest('http://localhost:9000/flow-elk.html?elk=true', { + name: 'flow-elk overriding dagre with elk', + }); + }); +}); diff --git a/cypress/platform/flow-elk.html b/cypress/platform/flow-elk.html new file mode 100644 index 0000000000..149e939519 --- /dev/null +++ b/cypress/platform/flow-elk.html @@ -0,0 +1,23 @@ + + +
    +      flowchart-elk
    +      a[hello] --> b[world]
    +      b --> c{test}
    +      c --> one
    +      c --> two
    +      c --> three
    +    
    + + + + From fe7da97c5c2d14f3c2a94a98a001b14bd77c6da4 Mon Sep 17 00:00:00 2001 From: Sidharth Vinod Date: Thu, 23 Nov 2023 22:51:08 +0530 Subject: [PATCH 139/789] fix flow elk test --- cypress/platform/flow-elk.html | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/cypress/platform/flow-elk.html b/cypress/platform/flow-elk.html index 149e939519..4c3dea3352 100644 --- a/cypress/platform/flow-elk.html +++ b/cypress/platform/flow-elk.html @@ -17,7 +17,12 @@ } mermaid.initialize({ logLevel: 3, + startOnLoad: false, }); + await mermaid.run(); + if (window.Cypress) { + window.rendered = true; + } From cbcd2cce9bffbddd8e80f6b6370e91c5cdd602cf Mon Sep 17 00:00:00 2001 From: Sidharth Vinod Date: Fri, 24 Nov 2023 10:38:32 +0530 Subject: [PATCH 140/789] chore: Optimize dev server --- .esbuild/server.ts | 40 +++++++++++++--------------------------- 1 file changed, 13 insertions(+), 27 deletions(-) diff --git a/.esbuild/server.ts b/.esbuild/server.ts index fb3f236e2d..9102c7de83 100644 --- a/.esbuild/server.ts +++ b/.esbuild/server.ts @@ -7,37 +7,23 @@ import chokidar from 'chokidar'; import { generateLangium } from '../.build/generateLangium.js'; import { packageOptions } from '../.build/common.js'; -const parserCtx = await context( - getBuildConfig({ ...defaultOptions, minify: false, core: false, entryName: 'parser' }) +const configs = Object.values(packageOptions).map(({ packageName }) => + getBuildConfig({ ...defaultOptions, minify: false, core: false, entryName: packageName }) ); -const mermaidCtx = await context( - getBuildConfig({ ...defaultOptions, minify: false, core: false, entryName: 'mermaid' }) -); -const mermaidIIFECtx = await context( - getBuildConfig({ - ...defaultOptions, - minify: false, - core: false, - entryName: 'mermaid', - format: 'iife', - }) -); -const externalCtx = await context( - getBuildConfig({ - ...defaultOptions, - minify: false, - core: false, - entryName: 'mermaid-example-diagram', - }) -); -const zenumlCtx = await context( - getBuildConfig({ ...defaultOptions, minify: false, core: false, entryName: 'mermaid-zenuml' }) -); -const contexts = [parserCtx, mermaidCtx, mermaidIIFECtx, externalCtx, zenumlCtx]; +const mermaidIIFEConfig = getBuildConfig({ + ...defaultOptions, + minify: false, + core: false, + entryName: 'mermaid', + format: 'iife', +}); +configs.push(mermaidIIFEConfig); + +const contexts = await Promise.all(configs.map((config) => context(config))); const rebuildAll = async () => { console.time('Rebuild time'); - await Promise.all(contexts.map((ctx) => ctx.rebuild())); + await Promise.all(contexts.map((ctx) => ctx.rebuild())).catch((e) => console.error(e)); console.timeEnd('Rebuild time'); }; From bcdd1c56bff86f81843143583b8db0300c386410 Mon Sep 17 00:00:00 2001 From: Sidharth Vinod Date: Fri, 24 Nov 2023 10:54:43 +0530 Subject: [PATCH 141/789] chore: Optimize dev server --- .vite/server.ts | 8 ++++---- cypress/platform/flow-elk.html | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/.vite/server.ts b/.vite/server.ts index 838d711910..99d16f6f24 100644 --- a/.vite/server.ts +++ b/.vite/server.ts @@ -1,6 +1,7 @@ import express from 'express'; import cors from 'cors'; import { createServer as createViteServer } from 'vite'; +import { packageOptions } from '../.build/common.js'; async function createServer() { const app = express(); @@ -14,10 +15,9 @@ async function createServer() { }); app.use(cors()); - app.use(express.static('./packages/parser/dist')); - app.use(express.static('./packages/mermaid/dist')); - app.use(express.static('./packages/mermaid-zenuml/dist')); - app.use(express.static('./packages/mermaid-example-diagram/dist')); + for (const { packageName } of Object.values(packageOptions)) { + app.use(express.static(`./packages/${packageName}/dist`)); + } app.use(vite.middlewares); app.use(express.static('demos')); app.use(express.static('cypress/platform')); diff --git a/cypress/platform/flow-elk.html b/cypress/platform/flow-elk.html index 4c3dea3352..f319f62e28 100644 --- a/cypress/platform/flow-elk.html +++ b/cypress/platform/flow-elk.html @@ -11,7 +11,7 @@ From 94874ddbbe8d0c7099d0d0faa5feca360b3924e6 Mon Sep 17 00:00:00 2001 From: Sidharth Vinod Date: Sat, 23 Mar 2024 16:35:47 +0530 Subject: [PATCH 278/789] Add visual test --- cypress/integration/rendering/flowchart-v2.spec.js | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/cypress/integration/rendering/flowchart-v2.spec.js b/cypress/integration/rendering/flowchart-v2.spec.js index 857d395be7..5b358e051f 100644 --- a/cypress/integration/rendering/flowchart-v2.spec.js +++ b/cypress/integration/rendering/flowchart-v2.spec.js @@ -904,6 +904,18 @@ end ); }); }); + + it('should not auto wrap when markdownAutoWrap is false', () => { + imgSnapshotTest( + `flowchart TD + angular_velocity["\`**angular_velocity** + *angular_displacement / duration* + [rad/s, 1/s] + {vector}\`"] + frequency["frequency\n(1 / period_duration)\n[Hz, 1/s]"]`, + { markdownAutoWrap: false } + ); + }); }); describe('Subgraph title margins', () => { it('Should render subgraphs with title margins set (LR)', () => { From dbb69ad7cd0d14c9b2f1d97caf7ce535286ffd63 Mon Sep 17 00:00:00 2001 From: Sidharth Vinod Date: Sat, 23 Mar 2024 17:37:45 +0530 Subject: [PATCH 279/789] Add extra test --- .../rendering/flowchart-v2.spec.js | 25 ++++++++++++++++++- 1 file changed, 24 insertions(+), 1 deletion(-) diff --git a/cypress/integration/rendering/flowchart-v2.spec.js b/cypress/integration/rendering/flowchart-v2.spec.js index 1318e59649..3eb2a0432a 100644 --- a/cypress/integration/rendering/flowchart-v2.spec.js +++ b/cypress/integration/rendering/flowchart-v2.spec.js @@ -773,7 +773,6 @@ A ~~~ B C end subgraph Y - direction LR B D end @@ -782,6 +781,30 @@ A ~~~ B ); }); + it('3258: Should render subgraphs with large nodeSpacing and rankSpacing', () => { + imgSnapshotTest( + `--- + title: Subgraph nodeSpacing and rankSpacing example + config: + flowchart: + nodeSpacing: 250 + rankSpacing: 250 + --- + flowchart LR + X --> Y + subgraph X + direction LR + A + C + end + subgraph Y + B + D + end + ` + ); + }); + describe('Markdown strings flowchart (#4220)', () => { describe('html labels', () => { it('With styling and classes', () => { From 562d10809ceb1c6579214d6bb4d595c10a51aaf3 Mon Sep 17 00:00:00 2001 From: Sidharth Vinod Date: Sat, 23 Mar 2024 18:53:26 +0530 Subject: [PATCH 280/789] v11.0.0-alpha.7 --- packages/mermaid/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/mermaid/package.json b/packages/mermaid/package.json index a92a86ce9b..5f0500a6fa 100644 --- a/packages/mermaid/package.json +++ b/packages/mermaid/package.json @@ -1,6 +1,6 @@ { "name": "mermaid", - "version": "11.0.0-alpha.6", + "version": "11.0.0-alpha.7", "description": "Markdown-ish syntax for generating flowcharts, mindmaps, sequence diagrams, class diagrams, gantt charts, git graphs and more.", "type": "module", "module": "./dist/mermaid.core.mjs", From 29ec8cbd0a31e11d24e04375d3d84ccb6eebf000 Mon Sep 17 00:00:00 2001 From: ilyes-ced Date: Sun, 24 Mar 2024 18:48:57 +0000 Subject: [PATCH 281/789] small fixes --- .../mermaid/src/diagrams/quadrant-chart/quadrantDb.ts | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/packages/mermaid/src/diagrams/quadrant-chart/quadrantDb.ts b/packages/mermaid/src/diagrams/quadrant-chart/quadrantDb.ts index 4d0198f46a..babcca7199 100644 --- a/packages/mermaid/src/diagrams/quadrant-chart/quadrantDb.ts +++ b/packages/mermaid/src/diagrams/quadrant-chart/quadrantDb.ts @@ -64,28 +64,28 @@ function parseStyles(styles: string[]): StylesObject { const stylesObject: StylesObject = {}; for (const style of styles) { const [key, value] = style.trim().split(/\s*:\s*/); - if (key == 'radius') { + if (key === 'radius') { if (validateNumber(value)) { throw new InvalidStyleError(key, value, 'number'); } stylesObject.radius = parseInt(value); - } else if (key == 'color') { + } else if (key === 'color') { if (validateHexCode(value)) { throw new InvalidStyleError(key, value, 'hex code'); } stylesObject.color = value; - } else if (key == 'stroke-color') { + } else if (key === 'stroke-color') { if (validateHexCode(value)) { throw new InvalidStyleError(key, value, 'hex code'); } stylesObject.strokeColor = value; - } else if (key == 'stroke-width') { + } else if (key === 'stroke-width') { if (validateSizeInPixels(value)) { throw new InvalidStyleError(key, value, 'number of pixels (eg. 10px)'); } stylesObject.strokeWidth = value; } else { - throw new Error(`style named ${key} is unacceptable`); + throw new Error(`style named ${key} is not supported.`); } } return stylesObject; From 3b8e6ecc42a232f4262e9a707270848390658058 Mon Sep 17 00:00:00 2001 From: ilyes-ced Date: Sun, 24 Mar 2024 18:55:56 +0000 Subject: [PATCH 282/789] small fix (follow) --- .../mermaid/src/diagrams/quadrant-chart/quadrantDb.spec.ts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/mermaid/src/diagrams/quadrant-chart/quadrantDb.spec.ts b/packages/mermaid/src/diagrams/quadrant-chart/quadrantDb.spec.ts index 2d191a26ad..2a604304ad 100644 --- a/packages/mermaid/src/diagrams/quadrant-chart/quadrantDb.spec.ts +++ b/packages/mermaid/src/diagrams/quadrant-chart/quadrantDb.spec.ts @@ -13,10 +13,10 @@ describe('quadrant unit tests', () => { }); }); - it('should throw an error for unacceptable style name', () => { + it('should throw an error for non supported style name', () => { const styles: string[] = ['test_name: value']; expect(() => quadrantDb.parseStyles(styles)).toThrowError( - 'style named test_name is unacceptable' + 'style named test_name is not supported.' ); }); @@ -26,7 +26,7 @@ describe('quadrant unit tests', () => { expect(result).toEqual({}); }); - it('should throw an error for unacceptable style value', () => { + it('should throw an error for non supported style value', () => { let styles: string[] = ['radius: f']; expect(() => quadrantDb.parseStyles(styles)).toThrowError( 'value for radius f is invalid, please use a valid number' From 153f31966619c36c04877e185e0e28e7fdea200b Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 25 Mar 2024 00:34:55 +0000 Subject: [PATCH 283/789] chore(deps): update dependency type-fest to v4.14.0 --- pnpm-lock.yaml | 983 +++++++++++++++++++++++++++++++------------------ 1 file changed, 628 insertions(+), 355 deletions(-) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 6589bbdb24..9397eeba9e 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -21,7 +21,7 @@ importers: version: 8.6.0 '@cypress/code-coverage': specifier: ^3.12.30 - version: 3.12.30(@babel/core@7.24.0)(@babel/preset-env@7.24.0)(babel-loader@9.1.3)(cypress@13.7.1)(webpack@5.91.0) + version: 3.12.30(@babel/core@7.24.3)(@babel/preset-env@7.24.3)(babel-loader@9.1.3)(cypress@13.7.1)(webpack@5.91.0) '@rollup/plugin-typescript': specifier: ^11.1.6 version: 11.1.6(typescript@5.4.3) @@ -364,7 +364,7 @@ importers: version: 2.0.3 type-fest: specifier: ^4.13.1 - version: 4.13.1 + version: 4.14.0 typedoc: specifier: ^0.25.12 version: 0.25.12(typescript@5.4.3) @@ -488,7 +488,7 @@ importers: version: 1.1.2 unocss: specifier: ^0.58.6 - version: 0.58.6(postcss@8.4.36)(rollup@2.79.1)(vite@4.5.2) + version: 0.58.6(postcss@8.4.38)(rollup@2.79.1)(vite@4.5.2) unplugin-vue-components: specifier: ^0.26.0 version: 0.26.0(rollup@2.79.1)(vue@3.4.21) @@ -500,7 +500,7 @@ importers: version: 0.19.7(vite@4.5.2)(workbox-build@7.0.0)(workbox-window@7.0.0) vitepress: specifier: 1.0.0-rc.45 - version: 1.0.0-rc.45(@algolia/client-search@4.22.1)(@types/node@20.11.30)(postcss@8.4.36)(search-insights@2.13.0)(typescript@5.4.3) + version: 1.0.0-rc.45(@algolia/client-search@4.22.1)(@types/node@20.11.30)(postcss@8.4.38)(search-insights@2.13.0)(typescript@5.4.3) workbox-window: specifier: ^7.0.0 version: 7.0.0 @@ -1105,6 +1105,14 @@ packages: chalk: 2.4.2 dev: true + /@babel/code-frame@7.24.2: + resolution: {integrity: sha512-y5+tLQyV8pg3fsiln67BVLD1P13Eg4lh5RW9mF0zUuvLrv9uIQ4MCL+CRT+FTsBlBjcIan6PGsLcBN0m3ClUyQ==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/highlight': 7.24.2 + picocolors: 1.0.0 + dev: true + /@babel/compat-data@7.22.9: resolution: {integrity: sha512-5UamI7xkUcJ3i9qVDS+KFDEK8/7oJ55/sJMB1Ge7IEapr7KfdfV/HErR+koZwOfd+SgtFKOKRhRakdg++DcJpQ==} engines: {node: '>=6.9.0'} @@ -1115,6 +1123,11 @@ packages: engines: {node: '>=6.9.0'} dev: true + /@babel/compat-data@7.24.1: + resolution: {integrity: sha512-Pc65opHDliVpRHuKfzI+gSA4zcgr65O4cl64fFJIWEEh8JoHIHh0Oez1Eo8Arz8zq/JhgKodQaxEwUPRtZylVA==} + engines: {node: '>=6.9.0'} + dev: true + /@babel/core@7.22.10: resolution: {integrity: sha512-fTmqbbUBAwCcre6zPzNngvsI0aNrPZe77AeqvDxWM9Nm+04RrJ3CAmGHA9f7lJQY6ZMhRztNemy4uslDxTX4Qw==} engines: {node: '>=6.9.0'} @@ -1161,6 +1174,29 @@ packages: - supports-color dev: true + /@babel/core@7.24.3: + resolution: {integrity: sha512-5FcvN1JHw2sHJChotgx8Ek0lyuh4kCKelgMTTqhYJJtloNvUfpAFMeNQUtdlIaktwrSV9LtCdqwk48wL2wBacQ==} + engines: {node: '>=6.9.0'} + dependencies: + '@ampproject/remapping': 2.3.0 + '@babel/code-frame': 7.24.2 + '@babel/generator': 7.24.1 + '@babel/helper-compilation-targets': 7.23.6 + '@babel/helper-module-transforms': 7.23.3(@babel/core@7.24.3) + '@babel/helpers': 7.24.1 + '@babel/parser': 7.24.1 + '@babel/template': 7.24.0 + '@babel/traverse': 7.24.1 + '@babel/types': 7.24.0 + convert-source-map: 2.0.0 + debug: 4.3.4(supports-color@8.1.1) + gensync: 1.0.0-beta.2 + json5: 2.2.3 + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + dev: true + /@babel/generator@7.22.10: resolution: {integrity: sha512-79KIf7YiWjjdZ81JnLujDRApWtl7BxTqWD88+FFdQEIOG8LJ0etDOM7CXuIgGJa55sGOwZVwuEsaLEm0PJ5/+A==} engines: {node: '>=6.9.0'} @@ -1181,6 +1217,16 @@ packages: jsesc: 2.5.2 dev: true + /@babel/generator@7.24.1: + resolution: {integrity: sha512-DfCRfZsBcrPEHUfuBMgbJ1Ut01Y/itOs+hY2nFLgqsqXd52/iSiVq5TITtUasIUgm+IIKdY2/1I7auiQOEeC9A==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.24.0 + '@jridgewell/gen-mapping': 0.3.5 + '@jridgewell/trace-mapping': 0.3.25 + jsesc: 2.5.2 + dev: true + /@babel/helper-annotate-as-pure@7.22.5: resolution: {integrity: sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg==} engines: {node: '>=6.9.0'} @@ -1235,39 +1281,42 @@ packages: semver: 6.3.1 dev: true - /@babel/helper-create-regexp-features-plugin@7.22.15(@babel/core@7.24.0): - resolution: {integrity: sha512-29FkPLFjn4TPEa3RE7GpW+qbE8tlsu3jntNYNfcGsc49LphF1PQIiD+vMZ1z1xVOKt+93khA9tc2JBs3kBjA7w==} + /@babel/helper-create-class-features-plugin@7.24.1(@babel/core@7.24.3): + resolution: {integrity: sha512-1yJa9dX9g//V6fDebXoEfEsxkZHk3Hcbm+zLhyu6qVgYFLvmTALTeV+jNU9e5RnYtioBrGEOdoI2joMSNQ/+aA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.3 '@babel/helper-annotate-as-pure': 7.22.5 - regexpu-core: 5.3.2 + '@babel/helper-environment-visitor': 7.22.20 + '@babel/helper-function-name': 7.23.0 + '@babel/helper-member-expression-to-functions': 7.23.0 + '@babel/helper-optimise-call-expression': 7.22.5 + '@babel/helper-replace-supers': 7.24.1(@babel/core@7.24.3) + '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 + '@babel/helper-split-export-declaration': 7.22.6 semver: 6.3.1 dev: true - /@babel/helper-define-polyfill-provider@0.5.0(@babel/core@7.24.0): - resolution: {integrity: sha512-NovQquuQLAQ5HuyjCz7WQP9MjRj7dx++yspwiyUiGl9ZyadHRSql1HZh5ogRd8W8w6YM6EQ/NTB8rgjLt5W65Q==} + /@babel/helper-create-regexp-features-plugin@7.22.15(@babel/core@7.24.3): + resolution: {integrity: sha512-29FkPLFjn4TPEa3RE7GpW+qbE8tlsu3jntNYNfcGsc49LphF1PQIiD+vMZ1z1xVOKt+93khA9tc2JBs3kBjA7w==} + engines: {node: '>=6.9.0'} peerDependencies: - '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 + '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.24.0 - '@babel/helper-compilation-targets': 7.23.6 - '@babel/helper-plugin-utils': 7.24.0 - debug: 4.3.4(supports-color@8.1.1) - lodash.debounce: 4.0.8 - resolve: 1.22.8 - transitivePeerDependencies: - - supports-color + '@babel/core': 7.24.3 + '@babel/helper-annotate-as-pure': 7.22.5 + regexpu-core: 5.3.2 + semver: 6.3.1 dev: true - /@babel/helper-define-polyfill-provider@0.6.1(@babel/core@7.24.0): + /@babel/helper-define-polyfill-provider@0.6.1(@babel/core@7.24.3): resolution: {integrity: sha512-o7SDgTJuvx5vLKD6SFvkydkSMBvahDKGiNJzG22IZYXhiqoe9efY7zocICBgzHV4IRg5wdgl2nEL/tulKIEIbA==} peerDependencies: '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.3 '@babel/helper-compilation-targets': 7.23.6 '@babel/helper-plugin-utils': 7.24.0 debug: 4.3.4(supports-color@8.1.1) @@ -1318,6 +1367,13 @@ packages: '@babel/types': 7.24.0 dev: true + /@babel/helper-module-imports@7.24.3: + resolution: {integrity: sha512-viKb0F9f2s0BCS22QSF308z/+1YWKV/76mwt61NBzS5izMzDPwdq1pTrzf+Li3npBWX9KdQbkeCt1jSAM7lZqg==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.24.0 + dev: true + /@babel/helper-module-transforms@7.22.9(@babel/core@7.22.10): resolution: {integrity: sha512-t+WA2Xn5K+rTeGtC8jCsdAH52bjggG5TKRuRrAGNM/mjIbO4GxvlLMFOEz9wXY5I2XQ60PMFsAG2WIcG82dQMQ==} engines: {node: '>=6.9.0'} @@ -1346,6 +1402,20 @@ packages: '@babel/helper-validator-identifier': 7.22.20 dev: true + /@babel/helper-module-transforms@7.23.3(@babel/core@7.24.3): + resolution: {integrity: sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.24.3 + '@babel/helper-environment-visitor': 7.22.20 + '@babel/helper-module-imports': 7.22.15 + '@babel/helper-simple-access': 7.22.5 + '@babel/helper-split-export-declaration': 7.22.6 + '@babel/helper-validator-identifier': 7.22.20 + dev: true + /@babel/helper-optimise-call-expression@7.22.5: resolution: {integrity: sha512-HBwaojN0xFRx4yIvpwGqxiV2tUfl7401jlok564NgB9EHS1y6QT17FmKWm4ztqjeVdXLuC4fSvHc5ePpQjoTbw==} engines: {node: '>=6.9.0'} @@ -1358,13 +1428,13 @@ packages: engines: {node: '>=6.9.0'} dev: true - /@babel/helper-remap-async-to-generator@7.22.20(@babel/core@7.24.0): + /@babel/helper-remap-async-to-generator@7.22.20(@babel/core@7.24.3): resolution: {integrity: sha512-pBGyV4uBqOns+0UvhsTO8qgl8hO89PmiDYv+/COyp1aeMcmfrfruz+/nCMFiYyFF/Knn0yfrC85ZzNFjembFTw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.3 '@babel/helper-annotate-as-pure': 7.22.5 '@babel/helper-environment-visitor': 7.22.20 '@babel/helper-wrap-function': 7.22.20 @@ -1382,6 +1452,18 @@ packages: '@babel/helper-optimise-call-expression': 7.22.5 dev: true + /@babel/helper-replace-supers@7.24.1(@babel/core@7.24.3): + resolution: {integrity: sha512-QCR1UqC9BzG5vZl8BMicmZ28RuUBnHhAMddD8yHFHDRH9lLTZ9uUPehX8ctVPT8l0TKblJidqcgUUKGVrePleQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.24.3 + '@babel/helper-environment-visitor': 7.22.20 + '@babel/helper-member-expression-to-functions': 7.23.0 + '@babel/helper-optimise-call-expression': 7.22.5 + dev: true + /@babel/helper-simple-access@7.22.5: resolution: {integrity: sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==} engines: {node: '>=6.9.0'} @@ -1447,6 +1529,17 @@ packages: - supports-color dev: true + /@babel/helpers@7.24.1: + resolution: {integrity: sha512-BpU09QqEe6ZCHuIHFphEFgvNSrubve1FtyMton26ekZ85gRGi6LrTF7zArARp2YvyFxloeiRmtSCq5sjh1WqIg==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/template': 7.24.0 + '@babel/traverse': 7.24.1 + '@babel/types': 7.24.0 + transitivePeerDependencies: + - supports-color + dev: true + /@babel/highlight@7.22.20: resolution: {integrity: sha512-dkdMCN3py0+ksCgYmGG8jKeGA/8Tk+gJwSYYlFGxG5lmhfKNoAy004YpLxpS1W2J8m/EK2Ew+yOs9pVRwO89mg==} engines: {node: '>=6.9.0'} @@ -1465,6 +1558,16 @@ packages: js-tokens: 4.0.0 dev: true + /@babel/highlight@7.24.2: + resolution: {integrity: sha512-Yac1ao4flkTxTteCDZLEvdxg2fZfz1v8M4QpaGypq/WPDqg3ijHYbDfs+LG5hvzSoqaSZ9/Z9lKSP3CjZjv+pA==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/helper-validator-identifier': 7.22.20 + chalk: 2.4.2 + js-tokens: 4.0.0 + picocolors: 1.0.0 + dev: true + /@babel/parser@7.24.0: resolution: {integrity: sha512-QuP/FxEAzMSjXygs8v4N9dvdXzEHN4W1oF3PxuWAtPo08UdM17u89RDMgjLn/mlc56iM0HlLmVkO/wgR+rDgHg==} engines: {node: '>=6.0.0'} @@ -1472,46 +1575,54 @@ packages: dependencies: '@babel/types': 7.24.0 - /@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.23.3(@babel/core@7.24.0): - resolution: {integrity: sha512-iRkKcCqb7iGnq9+3G6rZ+Ciz5VywC4XNRHe57lKM+jOeYAoR0lVqdeeDRfh0tQcTfw/+vBhHn926FmQhLtlFLQ==} + /@babel/parser@7.24.1: + resolution: {integrity: sha512-Zo9c7N3xdOIQrNip7Lc9wvRPzlRtovHVE4lkz8WEDr7uYh/GMQhSiIgFxGIArRHYdJE5kxtZjAf8rT0xhdLCzg==} + engines: {node: '>=6.0.0'} + hasBin: true + dependencies: + '@babel/types': 7.24.0 + dev: true + + /@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.24.1(@babel/core@7.24.3): + resolution: {integrity: sha512-y4HqEnkelJIOQGd+3g1bTeKsA5c6qM7eOn7VggGVbBc0y8MLSKHacwcIE2PplNlQSj0PqS9rrXL/nkPVK+kUNg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.3 '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.23.3(@babel/core@7.24.0): - resolution: {integrity: sha512-WwlxbfMNdVEpQjZmK5mhm7oSwD3dS6eU+Iwsi4Knl9wAletWem7kaRsGOG+8UEbRyqxY4SS5zvtfXwX+jMxUwQ==} + /@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.24.1(@babel/core@7.24.3): + resolution: {integrity: sha512-Hj791Ii4ci8HqnaKHAlLNs+zaLXb0EzSDhiAWp5VNlyvCNymYfacs64pxTxbH1znW/NcArSmwpmG9IKE/TUVVQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.13.0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.3 '@babel/helper-plugin-utils': 7.24.0 '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 - '@babel/plugin-transform-optional-chaining': 7.23.4(@babel/core@7.24.0) + '@babel/plugin-transform-optional-chaining': 7.24.1(@babel/core@7.24.3) dev: true - /@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.23.7(@babel/core@7.24.0): - resolution: {integrity: sha512-LlRT7HgaifEpQA1ZgLVOIJZZFVPWN5iReq/7/JixwBtwcoeVGDBD53ZV28rrsLYOZs1Y/EHhA8N/Z6aazHR8cw==} + /@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.24.1(@babel/core@7.24.3): + resolution: {integrity: sha512-m9m/fXsXLiHfwdgydIFnpk+7jlVbnvlK5B2EKiPdLUb6WX654ZaaEWJUjk8TftRbZpK0XibovlLWX4KIZhV6jw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.3 '@babel/helper-environment-visitor': 7.22.20 '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2(@babel/core@7.24.0): + /@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2(@babel/core@7.24.3): resolution: {integrity: sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.3 dev: true /@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.24.0): @@ -1523,6 +1634,15 @@ packages: '@babel/helper-plugin-utils': 7.24.0 dev: true + /@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.24.3): + resolution: {integrity: sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.3 + '@babel/helper-plugin-utils': 7.24.0 + dev: true + /@babel/plugin-syntax-bigint@7.8.3(@babel/core@7.24.0): resolution: {integrity: sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==} peerDependencies: @@ -1541,51 +1661,60 @@ packages: '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-syntax-class-static-block@7.14.5(@babel/core@7.24.0): + /@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.24.3): + resolution: {integrity: sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.3 + '@babel/helper-plugin-utils': 7.24.0 + dev: true + + /@babel/plugin-syntax-class-static-block@7.14.5(@babel/core@7.24.3): resolution: {integrity: sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.3 '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-syntax-dynamic-import@7.8.3(@babel/core@7.24.0): + /@babel/plugin-syntax-dynamic-import@7.8.3(@babel/core@7.24.3): resolution: {integrity: sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.3 '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-syntax-export-namespace-from@7.8.3(@babel/core@7.24.0): + /@babel/plugin-syntax-export-namespace-from@7.8.3(@babel/core@7.24.3): resolution: {integrity: sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.3 '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-syntax-import-assertions@7.23.3(@babel/core@7.24.0): - resolution: {integrity: sha512-lPgDSU+SJLK3xmFDTV2ZRQAiM7UuUjGidwBywFavObCiZc1BeAAcMtHJKUya92hPHO+at63JJPLygilZard8jw==} + /@babel/plugin-syntax-import-assertions@7.24.1(@babel/core@7.24.3): + resolution: {integrity: sha512-IuwnI5XnuF189t91XbxmXeCDz3qs6iDRO7GJ++wcfgeXNs/8FmIlKcpDSXNVyuLQxlwvskmI3Ct73wUODkJBlQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.3 '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-syntax-import-attributes@7.23.3(@babel/core@7.24.0): - resolution: {integrity: sha512-pawnE0P9g10xgoP7yKr6CK63K2FMsTE+FZidZO/1PwRdzmAPVs+HS1mAURUsgaoxammTJvULUdIkEK0gOcU2tA==} + /@babel/plugin-syntax-import-attributes@7.24.1(@babel/core@7.24.3): + resolution: {integrity: sha512-zhQTMH0X2nVLnb04tz+s7AMuasX8U0FnpE+nHTOhSOINjWMnopoZTxtIKsd45n4GQ/HIZLyfIpoul8e2m0DnRA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.3 '@babel/helper-plugin-utils': 7.24.0 dev: true @@ -1598,6 +1727,15 @@ packages: '@babel/helper-plugin-utils': 7.24.0 dev: true + /@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.24.3): + resolution: {integrity: sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.3 + '@babel/helper-plugin-utils': 7.24.0 + dev: true + /@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.24.0): resolution: {integrity: sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==} peerDependencies: @@ -1607,6 +1745,15 @@ packages: '@babel/helper-plugin-utils': 7.24.0 dev: true + /@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.24.3): + resolution: {integrity: sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.3 + '@babel/helper-plugin-utils': 7.24.0 + dev: true + /@babel/plugin-syntax-jsx@7.23.3(@babel/core@7.24.0): resolution: {integrity: sha512-EB2MELswq55OHUoRZLGg/zC7QWUKfNLpE57m/S2yr1uEneIgsTgrSzXP3NXEsMkVn76OlaVVnzN+ugObuYGwhg==} engines: {node: '>=6.9.0'} @@ -1626,6 +1773,15 @@ packages: '@babel/helper-plugin-utils': 7.24.0 dev: true + /@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.24.3): + resolution: {integrity: sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.3 + '@babel/helper-plugin-utils': 7.24.0 + dev: true + /@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.24.0): resolution: {integrity: sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==} peerDependencies: @@ -1635,6 +1791,15 @@ packages: '@babel/helper-plugin-utils': 7.24.0 dev: true + /@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.24.3): + resolution: {integrity: sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.3 + '@babel/helper-plugin-utils': 7.24.0 + dev: true + /@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.24.0): resolution: {integrity: sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==} peerDependencies: @@ -1644,6 +1809,15 @@ packages: '@babel/helper-plugin-utils': 7.24.0 dev: true + /@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.24.3): + resolution: {integrity: sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.3 + '@babel/helper-plugin-utils': 7.24.0 + dev: true + /@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.24.0): resolution: {integrity: sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==} peerDependencies: @@ -1653,6 +1827,15 @@ packages: '@babel/helper-plugin-utils': 7.24.0 dev: true + /@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.24.3): + resolution: {integrity: sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.3 + '@babel/helper-plugin-utils': 7.24.0 + dev: true + /@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.24.0): resolution: {integrity: sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==} peerDependencies: @@ -1662,6 +1845,15 @@ packages: '@babel/helper-plugin-utils': 7.24.0 dev: true + /@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.24.3): + resolution: {integrity: sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.3 + '@babel/helper-plugin-utils': 7.24.0 + dev: true + /@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.24.0): resolution: {integrity: sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==} peerDependencies: @@ -1671,13 +1863,22 @@ packages: '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-syntax-private-property-in-object@7.14.5(@babel/core@7.24.0): + /@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.24.3): + resolution: {integrity: sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.3 + '@babel/helper-plugin-utils': 7.24.0 + dev: true + + /@babel/plugin-syntax-private-property-in-object@7.14.5(@babel/core@7.24.3): resolution: {integrity: sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.3 '@babel/helper-plugin-utils': 7.24.0 dev: true @@ -1691,6 +1892,16 @@ packages: '@babel/helper-plugin-utils': 7.24.0 dev: true + /@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.24.3): + resolution: {integrity: sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.3 + '@babel/helper-plugin-utils': 7.24.0 + dev: true + /@babel/plugin-syntax-typescript@7.23.3(@babel/core@7.24.0): resolution: {integrity: sha512-9EiNjVJOMwCO+43TqoTrgQ8jMwcAd0sWyXi9RPfIsLTj4R2MADDDQXELhffaUx/uJv2AYcxBgPwH6j4TIA4ytQ==} engines: {node: '>=6.9.0'} @@ -1701,260 +1912,260 @@ packages: '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-syntax-unicode-sets-regex@7.18.6(@babel/core@7.24.0): + /@babel/plugin-syntax-unicode-sets-regex@7.18.6(@babel/core@7.24.3): resolution: {integrity: sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.24.0 - '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.24.0) + '@babel/core': 7.24.3 + '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.24.3) '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-transform-arrow-functions@7.23.3(@babel/core@7.24.0): - resolution: {integrity: sha512-NzQcQrzaQPkaEwoTm4Mhyl8jI1huEL/WWIEvudjTCMJ9aBZNpsJbMASx7EQECtQQPS/DcnFpo0FIh3LvEO9cxQ==} + /@babel/plugin-transform-arrow-functions@7.24.1(@babel/core@7.24.3): + resolution: {integrity: sha512-ngT/3NkRhsaep9ck9uj2Xhv9+xB1zShY3tM3g6om4xxCELwCDN4g4Aq5dRn48+0hasAql7s2hdBOysCfNpr4fw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.3 '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-transform-async-generator-functions@7.23.9(@babel/core@7.24.0): - resolution: {integrity: sha512-8Q3veQEDGe14dTYuwagbRtwxQDnytyg1JFu4/HwEMETeofocrB0U0ejBJIXoeG/t2oXZ8kzCyI0ZZfbT80VFNQ==} + /@babel/plugin-transform-async-generator-functions@7.24.3(@babel/core@7.24.3): + resolution: {integrity: sha512-Qe26CMYVjpQxJ8zxM1340JFNjZaF+ISWpr1Kt/jGo+ZTUzKkfw/pphEWbRCb+lmSM6k/TOgfYLvmbHkUQ0asIg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.3 '@babel/helper-environment-visitor': 7.22.20 '@babel/helper-plugin-utils': 7.24.0 - '@babel/helper-remap-async-to-generator': 7.22.20(@babel/core@7.24.0) - '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.24.0) + '@babel/helper-remap-async-to-generator': 7.22.20(@babel/core@7.24.3) + '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.24.3) dev: true - /@babel/plugin-transform-async-to-generator@7.23.3(@babel/core@7.24.0): - resolution: {integrity: sha512-A7LFsKi4U4fomjqXJlZg/u0ft/n8/7n7lpffUP/ZULx/DtV9SGlNKZolHH6PE8Xl1ngCc0M11OaeZptXVkfKSw==} + /@babel/plugin-transform-async-to-generator@7.24.1(@babel/core@7.24.3): + resolution: {integrity: sha512-AawPptitRXp1y0n4ilKcGbRYWfbbzFWz2NqNu7dacYDtFtz0CMjG64b3LQsb3KIgnf4/obcUL78hfaOS7iCUfw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 - '@babel/helper-module-imports': 7.22.15 + '@babel/core': 7.24.3 + '@babel/helper-module-imports': 7.24.3 '@babel/helper-plugin-utils': 7.24.0 - '@babel/helper-remap-async-to-generator': 7.22.20(@babel/core@7.24.0) + '@babel/helper-remap-async-to-generator': 7.22.20(@babel/core@7.24.3) dev: true - /@babel/plugin-transform-block-scoped-functions@7.23.3(@babel/core@7.24.0): - resolution: {integrity: sha512-vI+0sIaPIO6CNuM9Kk5VmXcMVRiOpDh7w2zZt9GXzmE/9KD70CUEVhvPR/etAeNK/FAEkhxQtXOzVF3EuRL41A==} + /@babel/plugin-transform-block-scoped-functions@7.24.1(@babel/core@7.24.3): + resolution: {integrity: sha512-TWWC18OShZutrv9C6mye1xwtam+uNi2bnTOCBUd5sZxyHOiWbU6ztSROofIMrK84uweEZC219POICK/sTYwfgg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.3 '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-transform-block-scoping@7.23.4(@babel/core@7.24.0): - resolution: {integrity: sha512-0QqbP6B6HOh7/8iNR4CQU2Th/bbRtBp4KS9vcaZd1fZ0wSh5Fyssg0UCIHwxh+ka+pNDREbVLQnHCMHKZfPwfw==} + /@babel/plugin-transform-block-scoping@7.24.1(@babel/core@7.24.3): + resolution: {integrity: sha512-h71T2QQvDgM2SmT29UYU6ozjMlAt7s7CSs5Hvy8f8cf/GM/Z4a2zMfN+fjVGaieeCrXR3EdQl6C4gQG+OgmbKw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.3 '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-transform-class-properties@7.23.3(@babel/core@7.24.0): - resolution: {integrity: sha512-uM+AN8yCIjDPccsKGlw271xjJtGii+xQIF/uMPS8H15L12jZTsLfF4o5vNO7d/oUguOyfdikHGc/yi9ge4SGIg==} + /@babel/plugin-transform-class-properties@7.24.1(@babel/core@7.24.3): + resolution: {integrity: sha512-OMLCXi0NqvJfORTaPQBwqLXHhb93wkBKZ4aNwMl6WtehO7ar+cmp+89iPEQPqxAnxsOKTaMcs3POz3rKayJ72g==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 - '@babel/helper-create-class-features-plugin': 7.24.0(@babel/core@7.24.0) + '@babel/core': 7.24.3 + '@babel/helper-create-class-features-plugin': 7.24.1(@babel/core@7.24.3) '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-transform-class-static-block@7.23.4(@babel/core@7.24.0): - resolution: {integrity: sha512-nsWu/1M+ggti1SOALj3hfx5FXzAY06fwPJsUZD4/A5e1bWi46VUIWtD+kOX6/IdhXGsXBWllLFDSnqSCdUNydQ==} + /@babel/plugin-transform-class-static-block@7.24.1(@babel/core@7.24.3): + resolution: {integrity: sha512-FUHlKCn6J3ERiu8Dv+4eoz7w8+kFLSyeVG4vDAikwADGjUCoHw/JHokyGtr8OR4UjpwPVivyF+h8Q5iv/JmrtA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.12.0 dependencies: - '@babel/core': 7.24.0 - '@babel/helper-create-class-features-plugin': 7.24.0(@babel/core@7.24.0) + '@babel/core': 7.24.3 + '@babel/helper-create-class-features-plugin': 7.24.1(@babel/core@7.24.3) '@babel/helper-plugin-utils': 7.24.0 - '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.24.0) + '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.24.3) dev: true - /@babel/plugin-transform-classes@7.23.8(@babel/core@7.24.0): - resolution: {integrity: sha512-yAYslGsY1bX6Knmg46RjiCiNSwJKv2IUC8qOdYKqMMr0491SXFhcHqOdRDeCRohOOIzwN/90C6mQ9qAKgrP7dg==} + /@babel/plugin-transform-classes@7.24.1(@babel/core@7.24.3): + resolution: {integrity: sha512-ZTIe3W7UejJd3/3R4p7ScyyOoafetUShSf4kCqV0O7F/RiHxVj/wRaRnQlrGwflvcehNA8M42HkAiEDYZu2F1Q==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.3 '@babel/helper-annotate-as-pure': 7.22.5 '@babel/helper-compilation-targets': 7.23.6 '@babel/helper-environment-visitor': 7.22.20 '@babel/helper-function-name': 7.23.0 '@babel/helper-plugin-utils': 7.24.0 - '@babel/helper-replace-supers': 7.22.20(@babel/core@7.24.0) + '@babel/helper-replace-supers': 7.24.1(@babel/core@7.24.3) '@babel/helper-split-export-declaration': 7.22.6 globals: 11.12.0 dev: true - /@babel/plugin-transform-computed-properties@7.23.3(@babel/core@7.24.0): - resolution: {integrity: sha512-dTj83UVTLw/+nbiHqQSFdwO9CbTtwq1DsDqm3CUEtDrZNET5rT5E6bIdTlOftDTDLMYxvxHNEYO4B9SLl8SLZw==} + /@babel/plugin-transform-computed-properties@7.24.1(@babel/core@7.24.3): + resolution: {integrity: sha512-5pJGVIUfJpOS+pAqBQd+QMaTD2vCL/HcePooON6pDpHgRp4gNRmzyHTPIkXntwKsq3ayUFVfJaIKPw2pOkOcTw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.3 '@babel/helper-plugin-utils': 7.24.0 '@babel/template': 7.24.0 dev: true - /@babel/plugin-transform-destructuring@7.23.3(@babel/core@7.24.0): - resolution: {integrity: sha512-n225npDqjDIr967cMScVKHXJs7rout1q+tt50inyBCPkyZ8KxeI6d+GIbSBTT/w/9WdlWDOej3V9HE5Lgk57gw==} + /@babel/plugin-transform-destructuring@7.24.1(@babel/core@7.24.3): + resolution: {integrity: sha512-ow8jciWqNxR3RYbSNVuF4U2Jx130nwnBnhRw6N6h1bOejNkABmcI5X5oz29K4alWX7vf1C+o6gtKXikzRKkVdw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.3 '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-transform-dotall-regex@7.23.3(@babel/core@7.24.0): - resolution: {integrity: sha512-vgnFYDHAKzFaTVp+mneDsIEbnJ2Np/9ng9iviHw3P/KVcgONxpNULEW/51Z/BaFojG2GI2GwwXck5uV1+1NOYQ==} + /@babel/plugin-transform-dotall-regex@7.24.1(@babel/core@7.24.3): + resolution: {integrity: sha512-p7uUxgSoZwZ2lPNMzUkqCts3xlp8n+o05ikjy7gbtFJSt9gdU88jAmtfmOxHM14noQXBxfgzf2yRWECiNVhTCw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 - '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.24.0) + '@babel/core': 7.24.3 + '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.24.3) '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-transform-duplicate-keys@7.23.3(@babel/core@7.24.0): - resolution: {integrity: sha512-RrqQ+BQmU3Oyav3J+7/myfvRCq7Tbz+kKLLshUmMwNlDHExbGL7ARhajvoBJEvc+fCguPPu887N+3RRXBVKZUA==} + /@babel/plugin-transform-duplicate-keys@7.24.1(@babel/core@7.24.3): + resolution: {integrity: sha512-msyzuUnvsjsaSaocV6L7ErfNsa5nDWL1XKNnDePLgmz+WdU4w/J8+AxBMrWfi9m4IxfL5sZQKUPQKDQeeAT6lA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.3 '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-transform-dynamic-import@7.23.4(@babel/core@7.24.0): - resolution: {integrity: sha512-V6jIbLhdJK86MaLh4Jpghi8ho5fGzt3imHOBu/x0jlBaPYqDoWz4RDXjmMOfnh+JWNaQleEAByZLV0QzBT4YQQ==} + /@babel/plugin-transform-dynamic-import@7.24.1(@babel/core@7.24.3): + resolution: {integrity: sha512-av2gdSTyXcJVdI+8aFZsCAtR29xJt0S5tas+Ef8NvBNmD1a+N/3ecMLeMBgfcK+xzsjdLDT6oHt+DFPyeqUbDA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.3 '@babel/helper-plugin-utils': 7.24.0 - '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.24.0) + '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.24.3) dev: true - /@babel/plugin-transform-exponentiation-operator@7.23.3(@babel/core@7.24.0): - resolution: {integrity: sha512-5fhCsl1odX96u7ILKHBj4/Y8vipoqwsJMh4csSA8qFfxrZDEA4Ssku2DyNvMJSmZNOEBT750LfFPbtrnTP90BQ==} + /@babel/plugin-transform-exponentiation-operator@7.24.1(@babel/core@7.24.3): + resolution: {integrity: sha512-U1yX13dVBSwS23DEAqU+Z/PkwE9/m7QQy8Y9/+Tdb8UWYaGNDYwTLi19wqIAiROr8sXVum9A/rtiH5H0boUcTw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.3 '@babel/helper-builder-binary-assignment-operator-visitor': 7.22.15 '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-transform-export-namespace-from@7.23.4(@babel/core@7.24.0): - resolution: {integrity: sha512-GzuSBcKkx62dGzZI1WVgTWvkkz84FZO5TC5T8dl/Tht/rAla6Dg/Mz9Yhypg+ezVACf/rgDuQt3kbWEv7LdUDQ==} + /@babel/plugin-transform-export-namespace-from@7.24.1(@babel/core@7.24.3): + resolution: {integrity: sha512-Ft38m/KFOyzKw2UaJFkWG9QnHPG/Q/2SkOrRk4pNBPg5IPZ+dOxcmkK5IyuBcxiNPyyYowPGUReyBvrvZs7IlQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.3 '@babel/helper-plugin-utils': 7.24.0 - '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.24.0) + '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.24.3) dev: true - /@babel/plugin-transform-for-of@7.23.6(@babel/core@7.24.0): - resolution: {integrity: sha512-aYH4ytZ0qSuBbpfhuofbg/e96oQ7U2w1Aw/UQmKT+1l39uEhUPoFS3fHevDc1G0OvewyDudfMKY1OulczHzWIw==} + /@babel/plugin-transform-for-of@7.24.1(@babel/core@7.24.3): + resolution: {integrity: sha512-OxBdcnF04bpdQdR3i4giHZNZQn7cm8RQKcSwA17wAAqEELo1ZOwp5FFgeptWUQXFyT9kwHo10aqqauYkRZPCAg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.3 '@babel/helper-plugin-utils': 7.24.0 '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 dev: true - /@babel/plugin-transform-function-name@7.23.3(@babel/core@7.24.0): - resolution: {integrity: sha512-I1QXp1LxIvt8yLaib49dRW5Okt7Q4oaxao6tFVKS/anCdEOMtYwWVKoiOA1p34GOWIZjUK0E+zCp7+l1pfQyiw==} + /@babel/plugin-transform-function-name@7.24.1(@babel/core@7.24.3): + resolution: {integrity: sha512-BXmDZpPlh7jwicKArQASrj8n22/w6iymRnvHYYd2zO30DbE277JO20/7yXJT3QxDPtiQiOxQBbZH4TpivNXIxA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.3 '@babel/helper-compilation-targets': 7.23.6 '@babel/helper-function-name': 7.23.0 '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-transform-json-strings@7.23.4(@babel/core@7.24.0): - resolution: {integrity: sha512-81nTOqM1dMwZ/aRXQ59zVubN9wHGqk6UtqRK+/q+ciXmRy8fSolhGVvG09HHRGo4l6fr/c4ZhXUQH0uFW7PZbg==} + /@babel/plugin-transform-json-strings@7.24.1(@babel/core@7.24.3): + resolution: {integrity: sha512-U7RMFmRvoasscrIFy5xA4gIp8iWnWubnKkKuUGJjsuOH7GfbMkB+XZzeslx2kLdEGdOJDamEmCqOks6e8nv8DQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.3 '@babel/helper-plugin-utils': 7.24.0 - '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.24.0) + '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.24.3) dev: true - /@babel/plugin-transform-literals@7.23.3(@babel/core@7.24.0): - resolution: {integrity: sha512-wZ0PIXRxnwZvl9AYpqNUxpZ5BiTGrYt7kueGQ+N5FiQ7RCOD4cm8iShd6S6ggfVIWaJf2EMk8eRzAh52RfP4rQ==} + /@babel/plugin-transform-literals@7.24.1(@babel/core@7.24.3): + resolution: {integrity: sha512-zn9pwz8U7nCqOYIiBaOxoQOtYmMODXTJnkxG4AtX8fPmnCRYWBOHD0qcpwS9e2VDSp1zNJYpdnFMIKb8jmwu6g==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.3 '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-transform-logical-assignment-operators@7.23.4(@babel/core@7.24.0): - resolution: {integrity: sha512-Mc/ALf1rmZTP4JKKEhUwiORU+vcfarFVLfcFiolKUo6sewoxSEgl36ak5t+4WamRsNr6nzjZXQjM35WsU+9vbg==} + /@babel/plugin-transform-logical-assignment-operators@7.24.1(@babel/core@7.24.3): + resolution: {integrity: sha512-OhN6J4Bpz+hIBqItTeWJujDOfNP+unqv/NJgyhlpSqgBTPm37KkMmZV6SYcOj+pnDbdcl1qRGV/ZiIjX9Iy34w==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.3 '@babel/helper-plugin-utils': 7.24.0 - '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.24.0) + '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.24.3) dev: true - /@babel/plugin-transform-member-expression-literals@7.23.3(@babel/core@7.24.0): - resolution: {integrity: sha512-sC3LdDBDi5x96LA+Ytekz2ZPk8i/Ck+DEuDbRAll5rknJ5XRTSaPKEYwomLcs1AA8wg9b3KjIQRsnApj+q51Ag==} + /@babel/plugin-transform-member-expression-literals@7.24.1(@babel/core@7.24.3): + resolution: {integrity: sha512-4ojai0KysTWXzHseJKa1XPNXKRbuUrhkOPY4rEGeR+7ChlJVKxFa3H3Bz+7tWaGKgJAXUWKOGmltN+u9B3+CVg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.3 '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-transform-modules-amd@7.23.3(@babel/core@7.24.0): - resolution: {integrity: sha512-vJYQGxeKM4t8hYCKVBlZX/gtIY2I7mRGFNcm85sgXGMTBcoV3QdVtdpbcWEbzbfUIUZKwvgFT82mRvaQIebZzw==} + /@babel/plugin-transform-modules-amd@7.24.1(@babel/core@7.24.3): + resolution: {integrity: sha512-lAxNHi4HVtjnHd5Rxg3D5t99Xm6H7b04hUS7EHIXcUl2EV4yl1gWdqZrNzXnSrHveL9qMdbODlLF55mvgjAfaQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 - '@babel/helper-module-transforms': 7.23.3(@babel/core@7.24.0) + '@babel/core': 7.24.3 + '@babel/helper-module-transforms': 7.23.3(@babel/core@7.24.3) '@babel/helper-plugin-utils': 7.24.0 dev: true @@ -1970,234 +2181,245 @@ packages: '@babel/helper-simple-access': 7.22.5 dev: true - /@babel/plugin-transform-modules-systemjs@7.23.9(@babel/core@7.24.0): - resolution: {integrity: sha512-KDlPRM6sLo4o1FkiSlXoAa8edLXFsKKIda779fbLrvmeuc3itnjCtaO6RrtoaANsIJANj+Vk1zqbZIMhkCAHVw==} + /@babel/plugin-transform-modules-commonjs@7.24.1(@babel/core@7.24.3): + resolution: {integrity: sha512-szog8fFTUxBfw0b98gEWPaEqF42ZUD/T3bkynW/wtgx2p/XCP55WEsb+VosKceRSd6njipdZvNogqdtI4Q0chw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.3 + '@babel/helper-module-transforms': 7.23.3(@babel/core@7.24.3) + '@babel/helper-plugin-utils': 7.24.0 + '@babel/helper-simple-access': 7.22.5 + dev: true + + /@babel/plugin-transform-modules-systemjs@7.24.1(@babel/core@7.24.3): + resolution: {integrity: sha512-mqQ3Zh9vFO1Tpmlt8QPnbwGHzNz3lpNEMxQb1kAemn/erstyqw1r9KeOlOfo3y6xAnFEcOv2tSyrXfmMk+/YZA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.3 '@babel/helper-hoist-variables': 7.22.5 - '@babel/helper-module-transforms': 7.23.3(@babel/core@7.24.0) + '@babel/helper-module-transforms': 7.23.3(@babel/core@7.24.3) '@babel/helper-plugin-utils': 7.24.0 '@babel/helper-validator-identifier': 7.22.20 dev: true - /@babel/plugin-transform-modules-umd@7.23.3(@babel/core@7.24.0): - resolution: {integrity: sha512-zHsy9iXX2nIsCBFPud3jKn1IRPWg3Ing1qOZgeKV39m1ZgIdpJqvlWVeiHBZC6ITRG0MfskhYe9cLgntfSFPIg==} + /@babel/plugin-transform-modules-umd@7.24.1(@babel/core@7.24.3): + resolution: {integrity: sha512-tuA3lpPj+5ITfcCluy6nWonSL7RvaG0AOTeAuvXqEKS34lnLzXpDb0dcP6K8jD0zWZFNDVly90AGFJPnm4fOYg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 - '@babel/helper-module-transforms': 7.23.3(@babel/core@7.24.0) + '@babel/core': 7.24.3 + '@babel/helper-module-transforms': 7.23.3(@babel/core@7.24.3) '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-transform-named-capturing-groups-regex@7.22.5(@babel/core@7.24.0): + /@babel/plugin-transform-named-capturing-groups-regex@7.22.5(@babel/core@7.24.3): resolution: {integrity: sha512-YgLLKmS3aUBhHaxp5hi1WJTgOUb/NCuDHzGT9z9WTt3YG+CPRhJs6nprbStx6DnWM4dh6gt7SU3sZodbZ08adQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.24.0 - '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.24.0) + '@babel/core': 7.24.3 + '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.24.3) '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-transform-new-target@7.23.3(@babel/core@7.24.0): - resolution: {integrity: sha512-YJ3xKqtJMAT5/TIZnpAR3I+K+WaDowYbN3xyxI8zxx/Gsypwf9B9h0VB+1Nh6ACAAPRS5NSRje0uVv5i79HYGQ==} + /@babel/plugin-transform-new-target@7.24.1(@babel/core@7.24.3): + resolution: {integrity: sha512-/rurytBM34hYy0HKZQyA0nHbQgQNFm4Q/BOc9Hflxi2X3twRof7NaE5W46j4kQitm7SvACVRXsa6N/tSZxvPug==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.3 '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-transform-nullish-coalescing-operator@7.23.4(@babel/core@7.24.0): - resolution: {integrity: sha512-jHE9EVVqHKAQx+VePv5LLGHjmHSJR76vawFPTdlxR/LVJPfOEGxREQwQfjuZEOPTwG92X3LINSh3M40Rv4zpVA==} + /@babel/plugin-transform-nullish-coalescing-operator@7.24.1(@babel/core@7.24.3): + resolution: {integrity: sha512-iQ+caew8wRrhCikO5DrUYx0mrmdhkaELgFa+7baMcVuhxIkN7oxt06CZ51D65ugIb1UWRQ8oQe+HXAVM6qHFjw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.3 '@babel/helper-plugin-utils': 7.24.0 - '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.24.0) + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.24.3) dev: true - /@babel/plugin-transform-numeric-separator@7.23.4(@babel/core@7.24.0): - resolution: {integrity: sha512-mps6auzgwjRrwKEZA05cOwuDc9FAzoyFS4ZsG/8F43bTLf/TgkJg7QXOrPO1JO599iA3qgK9MXdMGOEC8O1h6Q==} + /@babel/plugin-transform-numeric-separator@7.24.1(@babel/core@7.24.3): + resolution: {integrity: sha512-7GAsGlK4cNL2OExJH1DzmDeKnRv/LXq0eLUSvudrehVA5Rgg4bIrqEUW29FbKMBRT0ztSqisv7kjP+XIC4ZMNw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.3 '@babel/helper-plugin-utils': 7.24.0 - '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.24.0) + '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.24.3) dev: true - /@babel/plugin-transform-object-rest-spread@7.24.0(@babel/core@7.24.0): - resolution: {integrity: sha512-y/yKMm7buHpFFXfxVFS4Vk1ToRJDilIa6fKRioB9Vjichv58TDGXTvqV0dN7plobAmTW5eSEGXDngE+Mm+uO+w==} + /@babel/plugin-transform-object-rest-spread@7.24.1(@babel/core@7.24.3): + resolution: {integrity: sha512-XjD5f0YqOtebto4HGISLNfiNMTTs6tbkFf2TOqJlYKYmbo+mN9Dnpl4SRoofiziuOWMIyq3sZEUqLo3hLITFEA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/compat-data': 7.23.5 - '@babel/core': 7.24.0 + '@babel/core': 7.24.3 '@babel/helper-compilation-targets': 7.23.6 '@babel/helper-plugin-utils': 7.24.0 - '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.24.0) - '@babel/plugin-transform-parameters': 7.23.3(@babel/core@7.24.0) + '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.24.3) + '@babel/plugin-transform-parameters': 7.24.1(@babel/core@7.24.3) dev: true - /@babel/plugin-transform-object-super@7.23.3(@babel/core@7.24.0): - resolution: {integrity: sha512-BwQ8q0x2JG+3lxCVFohg+KbQM7plfpBwThdW9A6TMtWwLsbDA01Ek2Zb/AgDN39BiZsExm4qrXxjk+P1/fzGrA==} + /@babel/plugin-transform-object-super@7.24.1(@babel/core@7.24.3): + resolution: {integrity: sha512-oKJqR3TeI5hSLRxudMjFQ9re9fBVUU0GICqM3J1mi8MqlhVr6hC/ZN4ttAyMuQR6EZZIY6h/exe5swqGNNIkWQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.3 '@babel/helper-plugin-utils': 7.24.0 - '@babel/helper-replace-supers': 7.22.20(@babel/core@7.24.0) + '@babel/helper-replace-supers': 7.24.1(@babel/core@7.24.3) dev: true - /@babel/plugin-transform-optional-catch-binding@7.23.4(@babel/core@7.24.0): - resolution: {integrity: sha512-XIq8t0rJPHf6Wvmbn9nFxU6ao4c7WhghTR5WyV8SrJfUFzyxhCm4nhC+iAp3HFhbAKLfYpgzhJ6t4XCtVwqO5A==} + /@babel/plugin-transform-optional-catch-binding@7.24.1(@babel/core@7.24.3): + resolution: {integrity: sha512-oBTH7oURV4Y+3EUrf6cWn1OHio3qG/PVwO5J03iSJmBg6m2EhKjkAu/xuaXaYwWW9miYtvbWv4LNf0AmR43LUA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.3 '@babel/helper-plugin-utils': 7.24.0 - '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.24.0) + '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.24.3) dev: true - /@babel/plugin-transform-optional-chaining@7.23.4(@babel/core@7.24.0): - resolution: {integrity: sha512-ZU8y5zWOfjM5vZ+asjgAPwDaBjJzgufjES89Rs4Lpq63O300R/kOz30WCLo6BxxX6QVEilwSlpClnG5cZaikTA==} + /@babel/plugin-transform-optional-chaining@7.24.1(@babel/core@7.24.3): + resolution: {integrity: sha512-n03wmDt+987qXwAgcBlnUUivrZBPZ8z1plL0YvgQalLm+ZE5BMhGm94jhxXtA1wzv1Cu2aaOv1BM9vbVttrzSg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.3 '@babel/helper-plugin-utils': 7.24.0 '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 - '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.24.0) + '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.24.3) dev: true - /@babel/plugin-transform-parameters@7.23.3(@babel/core@7.24.0): - resolution: {integrity: sha512-09lMt6UsUb3/34BbECKVbVwrT9bO6lILWln237z7sLaWnMsTi7Yc9fhX5DLpkJzAGfaReXI22wP41SZmnAA3Vw==} + /@babel/plugin-transform-parameters@7.24.1(@babel/core@7.24.3): + resolution: {integrity: sha512-8Jl6V24g+Uw5OGPeWNKrKqXPDw2YDjLc53ojwfMcKwlEoETKU9rU0mHUtcg9JntWI/QYzGAXNWEcVHZ+fR+XXg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.3 '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-transform-private-methods@7.23.3(@babel/core@7.24.0): - resolution: {integrity: sha512-UzqRcRtWsDMTLrRWFvUBDwmw06tCQH9Rl1uAjfh6ijMSmGYQ+fpdB+cnqRC8EMh5tuuxSv0/TejGL+7vyj+50g==} + /@babel/plugin-transform-private-methods@7.24.1(@babel/core@7.24.3): + resolution: {integrity: sha512-tGvisebwBO5em4PaYNqt4fkw56K2VALsAbAakY0FjTYqJp7gfdrgr7YX76Or8/cpik0W6+tj3rZ0uHU9Oil4tw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 - '@babel/helper-create-class-features-plugin': 7.24.0(@babel/core@7.24.0) + '@babel/core': 7.24.3 + '@babel/helper-create-class-features-plugin': 7.24.1(@babel/core@7.24.3) '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-transform-private-property-in-object@7.23.4(@babel/core@7.24.0): - resolution: {integrity: sha512-9G3K1YqTq3F4Vt88Djx1UZ79PDyj+yKRnUy7cZGSMe+a7jkwD259uKKuUzQlPkGam7R+8RJwh5z4xO27fA1o2A==} + /@babel/plugin-transform-private-property-in-object@7.24.1(@babel/core@7.24.3): + resolution: {integrity: sha512-pTHxDVa0BpUbvAgX3Gat+7cSciXqUcY9j2VZKTbSB6+VQGpNgNO9ailxTGHSXlqOnX1Hcx1Enme2+yv7VqP9bg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.3 '@babel/helper-annotate-as-pure': 7.22.5 - '@babel/helper-create-class-features-plugin': 7.24.0(@babel/core@7.24.0) + '@babel/helper-create-class-features-plugin': 7.24.1(@babel/core@7.24.3) '@babel/helper-plugin-utils': 7.24.0 - '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.24.0) + '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.24.3) dev: true - /@babel/plugin-transform-property-literals@7.23.3(@babel/core@7.24.0): - resolution: {integrity: sha512-jR3Jn3y7cZp4oEWPFAlRsSWjxKe4PZILGBSd4nis1TsC5qeSpb+nrtihJuDhNI7QHiVbUaiXa0X2RZY3/TI6Nw==} + /@babel/plugin-transform-property-literals@7.24.1(@babel/core@7.24.3): + resolution: {integrity: sha512-LetvD7CrHmEx0G442gOomRr66d7q8HzzGGr4PMHGr+5YIm6++Yke+jxj246rpvsbyhJwCLxcTn6zW1P1BSenqA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.3 '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-transform-regenerator@7.23.3(@babel/core@7.24.0): - resolution: {integrity: sha512-KP+75h0KghBMcVpuKisx3XTu9Ncut8Q8TuvGO4IhY+9D5DFEckQefOuIsB/gQ2tG71lCke4NMrtIPS8pOj18BQ==} + /@babel/plugin-transform-regenerator@7.24.1(@babel/core@7.24.3): + resolution: {integrity: sha512-sJwZBCzIBE4t+5Q4IGLaaun5ExVMRY0lYwos/jNecjMrVCygCdph3IKv0tkP5Fc87e/1+bebAmEAGBfnRD+cnw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.3 '@babel/helper-plugin-utils': 7.24.0 regenerator-transform: 0.15.2 dev: true - /@babel/plugin-transform-reserved-words@7.23.3(@babel/core@7.24.0): - resolution: {integrity: sha512-QnNTazY54YqgGxwIexMZva9gqbPa15t/x9VS+0fsEFWplwVpXYZivtgl43Z1vMpc1bdPP2PP8siFeVcnFvA3Cg==} + /@babel/plugin-transform-reserved-words@7.24.1(@babel/core@7.24.3): + resolution: {integrity: sha512-JAclqStUfIwKN15HrsQADFgeZt+wexNQ0uLhuqvqAUFoqPMjEcFCYZBhq0LUdz6dZK/mD+rErhW71fbx8RYElg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.3 '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-transform-shorthand-properties@7.23.3(@babel/core@7.24.0): - resolution: {integrity: sha512-ED2fgqZLmexWiN+YNFX26fx4gh5qHDhn1O2gvEhreLW2iI63Sqm4llRLCXALKrCnbN4Jy0VcMQZl/SAzqug/jg==} + /@babel/plugin-transform-shorthand-properties@7.24.1(@babel/core@7.24.3): + resolution: {integrity: sha512-LyjVB1nsJ6gTTUKRjRWx9C1s9hE7dLfP/knKdrfeH9UPtAGjYGgxIbFfx7xyLIEWs7Xe1Gnf8EWiUqfjLhInZA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.3 '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-transform-spread@7.23.3(@babel/core@7.24.0): - resolution: {integrity: sha512-VvfVYlrlBVu+77xVTOAoxQ6mZbnIq5FM0aGBSFEcIh03qHf+zNqA4DC/3XMUozTg7bZV3e3mZQ0i13VB6v5yUg==} + /@babel/plugin-transform-spread@7.24.1(@babel/core@7.24.3): + resolution: {integrity: sha512-KjmcIM+fxgY+KxPVbjelJC6hrH1CgtPmTvdXAfn3/a9CnWGSTY7nH4zm5+cjmWJybdcPSsD0++QssDsjcpe47g==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.3 '@babel/helper-plugin-utils': 7.24.0 '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 dev: true - /@babel/plugin-transform-sticky-regex@7.23.3(@babel/core@7.24.0): - resolution: {integrity: sha512-HZOyN9g+rtvnOU3Yh7kSxXrKbzgrm5X4GncPY1QOquu7epga5MxKHVpYu2hvQnry/H+JjckSYRb93iNfsioAGg==} + /@babel/plugin-transform-sticky-regex@7.24.1(@babel/core@7.24.3): + resolution: {integrity: sha512-9v0f1bRXgPVcPrngOQvLXeGNNVLc8UjMVfebo9ka0WF3/7+aVUHmaJVT3sa0XCzEFioPfPHZiOcYG9qOsH63cw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.3 '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-transform-template-literals@7.23.3(@babel/core@7.24.0): - resolution: {integrity: sha512-Flok06AYNp7GV2oJPZZcP9vZdszev6vPBkHLwxwSpaIqx75wn6mUd3UFWsSsA0l8nXAKkyCmL/sR02m8RYGeHg==} + /@babel/plugin-transform-template-literals@7.24.1(@babel/core@7.24.3): + resolution: {integrity: sha512-WRkhROsNzriarqECASCNu/nojeXCDTE/F2HmRgOzi7NGvyfYGq1NEjKBK3ckLfRgGc6/lPAqP0vDOSw3YtG34g==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.3 '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-transform-typeof-symbol@7.23.3(@babel/core@7.24.0): - resolution: {integrity: sha512-4t15ViVnaFdrPC74be1gXBSMzXk3B4Us9lP7uLRQHTFpV5Dvt33pn+2MyyNxmN3VTTm3oTrZVMUmuw3oBnQ2oQ==} + /@babel/plugin-transform-typeof-symbol@7.24.1(@babel/core@7.24.3): + resolution: {integrity: sha512-CBfU4l/A+KruSUoW+vTQthwcAdwuqbpRNB8HQKlZABwHRhsdHZ9fezp4Sn18PeAlYxTNiLMlx4xUBV3AWfg1BA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.3 '@babel/helper-plugin-utils': 7.24.0 dev: true @@ -2214,146 +2436,146 @@ packages: '@babel/plugin-syntax-typescript': 7.23.3(@babel/core@7.24.0) dev: true - /@babel/plugin-transform-unicode-escapes@7.23.3(@babel/core@7.24.0): - resolution: {integrity: sha512-OMCUx/bU6ChE3r4+ZdylEqAjaQgHAgipgW8nsCfu5pGqDcFytVd91AwRvUJSBZDz0exPGgnjoqhgRYLRjFZc9Q==} + /@babel/plugin-transform-unicode-escapes@7.24.1(@babel/core@7.24.3): + resolution: {integrity: sha512-RlkVIcWT4TLI96zM660S877E7beKlQw7Ig+wqkKBiWfj0zH5Q4h50q6er4wzZKRNSYpfo6ILJ+hrJAGSX2qcNw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.3 '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-transform-unicode-property-regex@7.23.3(@babel/core@7.24.0): - resolution: {integrity: sha512-KcLIm+pDZkWZQAFJ9pdfmh89EwVfmNovFBcXko8szpBeF8z68kWIPeKlmSOkT9BXJxs2C0uk+5LxoxIv62MROA==} + /@babel/plugin-transform-unicode-property-regex@7.24.1(@babel/core@7.24.3): + resolution: {integrity: sha512-Ss4VvlfYV5huWApFsF8/Sq0oXnGO+jB+rijFEFugTd3cwSObUSnUi88djgR5528Csl0uKlrI331kRqe56Ov2Ng==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 - '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.24.0) + '@babel/core': 7.24.3 + '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.24.3) '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-transform-unicode-regex@7.23.3(@babel/core@7.24.0): - resolution: {integrity: sha512-wMHpNA4x2cIA32b/ci3AfwNgheiva2W0WUKWTK7vBHBhDKfPsc5cFGNWm69WBqpwd86u1qwZ9PWevKqm1A3yAw==} + /@babel/plugin-transform-unicode-regex@7.24.1(@babel/core@7.24.3): + resolution: {integrity: sha512-2A/94wgZgxfTsiLaQ2E36XAOdcZmGAaEEgVmxQWwZXWkGhvoHbaqXcKnU8zny4ycpu3vNqg0L/PcCiYtHtA13g==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 - '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.24.0) + '@babel/core': 7.24.3 + '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.24.3) '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-transform-unicode-sets-regex@7.23.3(@babel/core@7.24.0): - resolution: {integrity: sha512-W7lliA/v9bNR83Qc3q1ip9CQMZ09CcHDbHfbLRDNuAhn1Mvkr1ZNF7hPmztMQvtTGVLJ9m8IZqWsTkXOml8dbw==} + /@babel/plugin-transform-unicode-sets-regex@7.24.1(@babel/core@7.24.3): + resolution: {integrity: sha512-fqj4WuzzS+ukpgerpAoOnMfQXwUHFxXUZUE84oL2Kao2N8uSlvcpnAidKASgsNgzZHBsHWvcm8s9FPWUhAb8fA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.24.0 - '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.24.0) + '@babel/core': 7.24.3 + '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.24.3) '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/preset-env@7.24.0(@babel/core@7.24.0): - resolution: {integrity: sha512-ZxPEzV9IgvGn73iK0E6VB9/95Nd7aMFpbE0l8KQFDG70cOV9IxRP7Y2FUPmlK0v6ImlLqYX50iuZ3ZTVhOF2lA==} + /@babel/preset-env@7.24.3(@babel/core@7.24.3): + resolution: {integrity: sha512-fSk430k5c2ff8536JcPvPWK4tZDwehWLGlBp0wrsBUjZVdeQV6lePbwKWZaZfK2vnh/1kQX1PzAJWsnBmVgGJA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/compat-data': 7.23.5 - '@babel/core': 7.24.0 + '@babel/compat-data': 7.24.1 + '@babel/core': 7.24.3 '@babel/helper-compilation-targets': 7.23.6 '@babel/helper-plugin-utils': 7.24.0 '@babel/helper-validator-option': 7.23.5 - '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression': 7.23.3(@babel/core@7.24.0) - '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.23.3(@babel/core@7.24.0) - '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly': 7.23.7(@babel/core@7.24.0) - '@babel/plugin-proposal-private-property-in-object': 7.21.0-placeholder-for-preset-env.2(@babel/core@7.24.0) - '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.24.0) - '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.24.0) - '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.24.0) - '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.24.0) - '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.24.0) - '@babel/plugin-syntax-import-assertions': 7.23.3(@babel/core@7.24.0) - '@babel/plugin-syntax-import-attributes': 7.23.3(@babel/core@7.24.0) - '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.24.0) - '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.24.0) - '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.24.0) - '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.24.0) - '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.24.0) - '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.24.0) - '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.24.0) - '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.24.0) - '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.24.0) - '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.24.0) - '@babel/plugin-syntax-unicode-sets-regex': 7.18.6(@babel/core@7.24.0) - '@babel/plugin-transform-arrow-functions': 7.23.3(@babel/core@7.24.0) - '@babel/plugin-transform-async-generator-functions': 7.23.9(@babel/core@7.24.0) - '@babel/plugin-transform-async-to-generator': 7.23.3(@babel/core@7.24.0) - '@babel/plugin-transform-block-scoped-functions': 7.23.3(@babel/core@7.24.0) - '@babel/plugin-transform-block-scoping': 7.23.4(@babel/core@7.24.0) - '@babel/plugin-transform-class-properties': 7.23.3(@babel/core@7.24.0) - '@babel/plugin-transform-class-static-block': 7.23.4(@babel/core@7.24.0) - '@babel/plugin-transform-classes': 7.23.8(@babel/core@7.24.0) - '@babel/plugin-transform-computed-properties': 7.23.3(@babel/core@7.24.0) - '@babel/plugin-transform-destructuring': 7.23.3(@babel/core@7.24.0) - '@babel/plugin-transform-dotall-regex': 7.23.3(@babel/core@7.24.0) - '@babel/plugin-transform-duplicate-keys': 7.23.3(@babel/core@7.24.0) - '@babel/plugin-transform-dynamic-import': 7.23.4(@babel/core@7.24.0) - '@babel/plugin-transform-exponentiation-operator': 7.23.3(@babel/core@7.24.0) - '@babel/plugin-transform-export-namespace-from': 7.23.4(@babel/core@7.24.0) - '@babel/plugin-transform-for-of': 7.23.6(@babel/core@7.24.0) - '@babel/plugin-transform-function-name': 7.23.3(@babel/core@7.24.0) - '@babel/plugin-transform-json-strings': 7.23.4(@babel/core@7.24.0) - '@babel/plugin-transform-literals': 7.23.3(@babel/core@7.24.0) - '@babel/plugin-transform-logical-assignment-operators': 7.23.4(@babel/core@7.24.0) - '@babel/plugin-transform-member-expression-literals': 7.23.3(@babel/core@7.24.0) - '@babel/plugin-transform-modules-amd': 7.23.3(@babel/core@7.24.0) - '@babel/plugin-transform-modules-commonjs': 7.23.3(@babel/core@7.24.0) - '@babel/plugin-transform-modules-systemjs': 7.23.9(@babel/core@7.24.0) - '@babel/plugin-transform-modules-umd': 7.23.3(@babel/core@7.24.0) - '@babel/plugin-transform-named-capturing-groups-regex': 7.22.5(@babel/core@7.24.0) - '@babel/plugin-transform-new-target': 7.23.3(@babel/core@7.24.0) - '@babel/plugin-transform-nullish-coalescing-operator': 7.23.4(@babel/core@7.24.0) - '@babel/plugin-transform-numeric-separator': 7.23.4(@babel/core@7.24.0) - '@babel/plugin-transform-object-rest-spread': 7.24.0(@babel/core@7.24.0) - '@babel/plugin-transform-object-super': 7.23.3(@babel/core@7.24.0) - '@babel/plugin-transform-optional-catch-binding': 7.23.4(@babel/core@7.24.0) - '@babel/plugin-transform-optional-chaining': 7.23.4(@babel/core@7.24.0) - '@babel/plugin-transform-parameters': 7.23.3(@babel/core@7.24.0) - '@babel/plugin-transform-private-methods': 7.23.3(@babel/core@7.24.0) - '@babel/plugin-transform-private-property-in-object': 7.23.4(@babel/core@7.24.0) - '@babel/plugin-transform-property-literals': 7.23.3(@babel/core@7.24.0) - '@babel/plugin-transform-regenerator': 7.23.3(@babel/core@7.24.0) - '@babel/plugin-transform-reserved-words': 7.23.3(@babel/core@7.24.0) - '@babel/plugin-transform-shorthand-properties': 7.23.3(@babel/core@7.24.0) - '@babel/plugin-transform-spread': 7.23.3(@babel/core@7.24.0) - '@babel/plugin-transform-sticky-regex': 7.23.3(@babel/core@7.24.0) - '@babel/plugin-transform-template-literals': 7.23.3(@babel/core@7.24.0) - '@babel/plugin-transform-typeof-symbol': 7.23.3(@babel/core@7.24.0) - '@babel/plugin-transform-unicode-escapes': 7.23.3(@babel/core@7.24.0) - '@babel/plugin-transform-unicode-property-regex': 7.23.3(@babel/core@7.24.0) - '@babel/plugin-transform-unicode-regex': 7.23.3(@babel/core@7.24.0) - '@babel/plugin-transform-unicode-sets-regex': 7.23.3(@babel/core@7.24.0) - '@babel/preset-modules': 0.1.6-no-external-plugins(@babel/core@7.24.0) - babel-plugin-polyfill-corejs2: 0.4.10(@babel/core@7.24.0) - babel-plugin-polyfill-corejs3: 0.9.0(@babel/core@7.24.0) - babel-plugin-polyfill-regenerator: 0.5.5(@babel/core@7.24.0) - core-js-compat: 3.36.0 + '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression': 7.24.1(@babel/core@7.24.3) + '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.24.1(@babel/core@7.24.3) + '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly': 7.24.1(@babel/core@7.24.3) + '@babel/plugin-proposal-private-property-in-object': 7.21.0-placeholder-for-preset-env.2(@babel/core@7.24.3) + '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.24.3) + '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.24.3) + '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.24.3) + '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.24.3) + '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.24.3) + '@babel/plugin-syntax-import-assertions': 7.24.1(@babel/core@7.24.3) + '@babel/plugin-syntax-import-attributes': 7.24.1(@babel/core@7.24.3) + '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.24.3) + '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.24.3) + '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.24.3) + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.24.3) + '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.24.3) + '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.24.3) + '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.24.3) + '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.24.3) + '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.24.3) + '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.24.3) + '@babel/plugin-syntax-unicode-sets-regex': 7.18.6(@babel/core@7.24.3) + '@babel/plugin-transform-arrow-functions': 7.24.1(@babel/core@7.24.3) + '@babel/plugin-transform-async-generator-functions': 7.24.3(@babel/core@7.24.3) + '@babel/plugin-transform-async-to-generator': 7.24.1(@babel/core@7.24.3) + '@babel/plugin-transform-block-scoped-functions': 7.24.1(@babel/core@7.24.3) + '@babel/plugin-transform-block-scoping': 7.24.1(@babel/core@7.24.3) + '@babel/plugin-transform-class-properties': 7.24.1(@babel/core@7.24.3) + '@babel/plugin-transform-class-static-block': 7.24.1(@babel/core@7.24.3) + '@babel/plugin-transform-classes': 7.24.1(@babel/core@7.24.3) + '@babel/plugin-transform-computed-properties': 7.24.1(@babel/core@7.24.3) + '@babel/plugin-transform-destructuring': 7.24.1(@babel/core@7.24.3) + '@babel/plugin-transform-dotall-regex': 7.24.1(@babel/core@7.24.3) + '@babel/plugin-transform-duplicate-keys': 7.24.1(@babel/core@7.24.3) + '@babel/plugin-transform-dynamic-import': 7.24.1(@babel/core@7.24.3) + '@babel/plugin-transform-exponentiation-operator': 7.24.1(@babel/core@7.24.3) + '@babel/plugin-transform-export-namespace-from': 7.24.1(@babel/core@7.24.3) + '@babel/plugin-transform-for-of': 7.24.1(@babel/core@7.24.3) + '@babel/plugin-transform-function-name': 7.24.1(@babel/core@7.24.3) + '@babel/plugin-transform-json-strings': 7.24.1(@babel/core@7.24.3) + '@babel/plugin-transform-literals': 7.24.1(@babel/core@7.24.3) + '@babel/plugin-transform-logical-assignment-operators': 7.24.1(@babel/core@7.24.3) + '@babel/plugin-transform-member-expression-literals': 7.24.1(@babel/core@7.24.3) + '@babel/plugin-transform-modules-amd': 7.24.1(@babel/core@7.24.3) + '@babel/plugin-transform-modules-commonjs': 7.24.1(@babel/core@7.24.3) + '@babel/plugin-transform-modules-systemjs': 7.24.1(@babel/core@7.24.3) + '@babel/plugin-transform-modules-umd': 7.24.1(@babel/core@7.24.3) + '@babel/plugin-transform-named-capturing-groups-regex': 7.22.5(@babel/core@7.24.3) + '@babel/plugin-transform-new-target': 7.24.1(@babel/core@7.24.3) + '@babel/plugin-transform-nullish-coalescing-operator': 7.24.1(@babel/core@7.24.3) + '@babel/plugin-transform-numeric-separator': 7.24.1(@babel/core@7.24.3) + '@babel/plugin-transform-object-rest-spread': 7.24.1(@babel/core@7.24.3) + '@babel/plugin-transform-object-super': 7.24.1(@babel/core@7.24.3) + '@babel/plugin-transform-optional-catch-binding': 7.24.1(@babel/core@7.24.3) + '@babel/plugin-transform-optional-chaining': 7.24.1(@babel/core@7.24.3) + '@babel/plugin-transform-parameters': 7.24.1(@babel/core@7.24.3) + '@babel/plugin-transform-private-methods': 7.24.1(@babel/core@7.24.3) + '@babel/plugin-transform-private-property-in-object': 7.24.1(@babel/core@7.24.3) + '@babel/plugin-transform-property-literals': 7.24.1(@babel/core@7.24.3) + '@babel/plugin-transform-regenerator': 7.24.1(@babel/core@7.24.3) + '@babel/plugin-transform-reserved-words': 7.24.1(@babel/core@7.24.3) + '@babel/plugin-transform-shorthand-properties': 7.24.1(@babel/core@7.24.3) + '@babel/plugin-transform-spread': 7.24.1(@babel/core@7.24.3) + '@babel/plugin-transform-sticky-regex': 7.24.1(@babel/core@7.24.3) + '@babel/plugin-transform-template-literals': 7.24.1(@babel/core@7.24.3) + '@babel/plugin-transform-typeof-symbol': 7.24.1(@babel/core@7.24.3) + '@babel/plugin-transform-unicode-escapes': 7.24.1(@babel/core@7.24.3) + '@babel/plugin-transform-unicode-property-regex': 7.24.1(@babel/core@7.24.3) + '@babel/plugin-transform-unicode-regex': 7.24.1(@babel/core@7.24.3) + '@babel/plugin-transform-unicode-sets-regex': 7.24.1(@babel/core@7.24.3) + '@babel/preset-modules': 0.1.6-no-external-plugins(@babel/core@7.24.3) + babel-plugin-polyfill-corejs2: 0.4.10(@babel/core@7.24.3) + babel-plugin-polyfill-corejs3: 0.10.4(@babel/core@7.24.3) + babel-plugin-polyfill-regenerator: 0.6.1(@babel/core@7.24.3) + core-js-compat: 3.36.1 semver: 6.3.1 transitivePeerDependencies: - supports-color dev: true - /@babel/preset-modules@0.1.6-no-external-plugins(@babel/core@7.24.0): + /@babel/preset-modules@0.1.6-no-external-plugins(@babel/core@7.24.3): resolution: {integrity: sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA==} peerDependencies: '@babel/core': ^7.0.0-0 || ^8.0.0-0 <8.0.0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.3 '@babel/helper-plugin-utils': 7.24.0 '@babel/types': 7.24.0 esutils: 2.0.3 @@ -2384,6 +2606,13 @@ packages: regenerator-runtime: 0.14.1 dev: true + /@babel/runtime@7.24.1: + resolution: {integrity: sha512-+BIznRzyqBf+2wCTxcKE3wDjfGeCoVE61KSHGpkzqrLi8qxqFwBeUFyId2cxkTmm55fzDGnm0+yCxaxygrLUnQ==} + engines: {node: '>=6.9.0'} + dependencies: + regenerator-runtime: 0.14.1 + dev: true + /@babel/template@7.22.5: resolution: {integrity: sha512-X7yV7eiwAxdj9k94NEylvbVHLiVG1nvzCV2EAowhxLTwODV1jl9UzZ48leOC0sH7OnuHrIkllaBgneUykIcZaw==} engines: {node: '>=6.9.0'} @@ -2438,6 +2667,24 @@ packages: - supports-color dev: true + /@babel/traverse@7.24.1: + resolution: {integrity: sha512-xuU6o9m68KeqZbQuDt2TcKSxUw/mrsvavlEqQ1leZ/B+C9tk6E4sRWy97WaXgvq5E+nU3cXMxv3WKOCanVMCmQ==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/code-frame': 7.24.2 + '@babel/generator': 7.24.1 + '@babel/helper-environment-visitor': 7.22.20 + '@babel/helper-function-name': 7.23.0 + '@babel/helper-hoist-variables': 7.22.5 + '@babel/helper-split-export-declaration': 7.22.6 + '@babel/parser': 7.24.1 + '@babel/types': 7.24.0 + debug: 4.3.4(supports-color@8.1.1) + globals: 11.12.0 + transitivePeerDependencies: + - supports-color + dev: true + /@babel/types@7.24.0: resolution: {integrity: sha512-+j7a5c253RfKh8iABBhywc8NSfP5LURe7Uh4qpsh6jc+aLJguvmIUBdjSdEMQv2bENrCR5MfRdjGo7vzS/ob7w==} engines: {node: '>=6.9.0'} @@ -2800,7 +3047,7 @@ packages: engines: {node: '>=18'} dev: true - /@cypress/code-coverage@3.12.30(@babel/core@7.24.0)(@babel/preset-env@7.24.0)(babel-loader@9.1.3)(cypress@13.7.1)(webpack@5.91.0): + /@cypress/code-coverage@3.12.30(@babel/core@7.24.3)(@babel/preset-env@7.24.3)(babel-loader@9.1.3)(cypress@13.7.1)(webpack@5.91.0): resolution: {integrity: sha512-3pE2NgAIHPw92MCzgXAtJJe6Z0z4HUJuorWBSh9Ly0s/BpLf9lZKRI8WhMIDA35oFjAmNCsChiXHFy47evasfw==} peerDependencies: '@babel/core': ^7.0.1 @@ -2809,10 +3056,10 @@ packages: cypress: '*' webpack: ^4 || ^5 dependencies: - '@babel/core': 7.24.0 - '@babel/preset-env': 7.24.0(@babel/core@7.24.0) - '@cypress/webpack-preprocessor': 6.0.1(@babel/core@7.24.0)(@babel/preset-env@7.24.0)(babel-loader@9.1.3)(webpack@5.91.0) - babel-loader: 9.1.3(@babel/core@7.24.0)(webpack@5.91.0) + '@babel/core': 7.24.3 + '@babel/preset-env': 7.24.3(@babel/core@7.24.3) + '@cypress/webpack-preprocessor': 6.0.1(@babel/core@7.24.3)(@babel/preset-env@7.24.3)(babel-loader@9.1.3)(webpack@5.91.0) + babel-loader: 9.1.3(@babel/core@7.24.3)(webpack@5.91.0) chalk: 4.1.2 cypress: 13.7.1 dayjs: 1.11.10 @@ -2851,7 +3098,7 @@ packages: uuid: 8.3.2 dev: true - /@cypress/webpack-preprocessor@6.0.1(@babel/core@7.24.0)(@babel/preset-env@7.24.0)(babel-loader@9.1.3)(webpack@5.91.0): + /@cypress/webpack-preprocessor@6.0.1(@babel/core@7.24.3)(@babel/preset-env@7.24.3)(babel-loader@9.1.3)(webpack@5.91.0): resolution: {integrity: sha512-WVNeFVSnFKxE3WZNRIriduTgqJRpevaiJIPlfqYTTzfXRD7X1Pv4woDE+G4caPV9bJqVKmVFiwzrXMRNeJxpxA==} peerDependencies: '@babel/core': ^7.0.1 @@ -2859,9 +3106,9 @@ packages: babel-loader: ^8.3 || ^9 webpack: ^4 || ^5 dependencies: - '@babel/core': 7.24.0 - '@babel/preset-env': 7.24.0(@babel/core@7.24.0) - babel-loader: 9.1.3(@babel/core@7.24.0)(webpack@5.91.0) + '@babel/core': 7.24.3 + '@babel/preset-env': 7.24.3(@babel/core@7.24.3) + babel-loader: 9.1.3(@babel/core@7.24.3)(webpack@5.91.0) bluebird: 3.7.1 debug: 4.3.4(supports-color@8.1.1) lodash: 4.17.21 @@ -4047,7 +4294,7 @@ packages: resolution: {integrity: sha512-2LuNTFBIO0m7kKIQvvPHN6UE63VjpmL9rnEEaOOaiSPbZK+zUOYIzBAWcED+3XYzhYsd/0mD57VdxAEqqV52CQ==} dev: true - /@rollup/plugin-babel@5.3.1(@babel/core@7.24.0)(rollup@2.79.1): + /@rollup/plugin-babel@5.3.1(@babel/core@7.24.3)(rollup@2.79.1): resolution: {integrity: sha512-WFfdLWU/xVWKeRQnKmIAQULUI7Il0gZnBIH/ZFO069wYIfPu+8zrfp/KMW0atmELoRDq8FbiP3VCss9MhCut7Q==} engines: {node: '>= 10.0.0'} peerDependencies: @@ -4058,8 +4305,8 @@ packages: '@types/babel__core': optional: true dependencies: - '@babel/core': 7.24.0 - '@babel/helper-module-imports': 7.22.15 + '@babel/core': 7.24.3 + '@babel/helper-module-imports': 7.24.3 '@rollup/pluginutils': 3.1.0(rollup@2.79.1) rollup: 2.79.1 dev: true @@ -4408,7 +4655,7 @@ packages: ejs: 3.1.9 json5: 2.2.3 magic-string: 0.25.9 - string.prototype.matchall: 4.0.10 + string.prototype.matchall: 4.0.11 dev: true /@szmarczak/http-timer@4.0.6: @@ -5334,7 +5581,7 @@ packages: sirv: 2.0.4 dev: true - /@unocss/postcss@0.58.6(postcss@8.4.36): + /@unocss/postcss@0.58.6(postcss@8.4.38): resolution: {integrity: sha512-jTwu7llhRm7luscsk0JekCeo6RS2W98CXiCJRE1H6IDQnjGQQ/9uRAqW4wuLsv7OQ1ThF8m9NKEj0wFJv7ePNg==} engines: {node: '>=14'} peerDependencies: @@ -5346,7 +5593,7 @@ packages: css-tree: 2.3.1 fast-glob: 3.3.2 magic-string: 0.30.8 - postcss: 8.4.36 + postcss: 8.4.38 dev: true /@unocss/preset-attributify@0.58.6: @@ -6448,14 +6695,14 @@ packages: - supports-color dev: true - /babel-loader@9.1.3(@babel/core@7.24.0)(webpack@5.91.0): + /babel-loader@9.1.3(@babel/core@7.24.3)(webpack@5.91.0): resolution: {integrity: sha512-xG3ST4DglodGf8qSwv0MdeWLhrDsw/32QMdTO5T1ZIp9gQur0HkCyFs7Awskr10JKXFXwpAhiCuYX5oGXnRGbw==} engines: {node: '>= 14.15.0'} peerDependencies: '@babel/core': ^7.12.0 webpack: '>=5' dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.3 find-cache-dir: 4.0.0 schema-utils: 4.2.0 webpack: 5.91.0(esbuild@0.20.2)(webpack-cli@4.10.0) @@ -6484,38 +6731,38 @@ packages: '@types/babel__traverse': 7.20.5 dev: true - /babel-plugin-polyfill-corejs2@0.4.10(@babel/core@7.24.0): + /babel-plugin-polyfill-corejs2@0.4.10(@babel/core@7.24.3): resolution: {integrity: sha512-rpIuu//y5OX6jVU+a5BCn1R5RSZYWAl2Nar76iwaOdycqb6JPxediskWFMMl7stfwNJR4b7eiQvh5fB5TEQJTQ==} peerDependencies: '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 dependencies: - '@babel/compat-data': 7.23.5 - '@babel/core': 7.24.0 - '@babel/helper-define-polyfill-provider': 0.6.1(@babel/core@7.24.0) + '@babel/compat-data': 7.24.1 + '@babel/core': 7.24.3 + '@babel/helper-define-polyfill-provider': 0.6.1(@babel/core@7.24.3) semver: 6.3.1 transitivePeerDependencies: - supports-color dev: true - /babel-plugin-polyfill-corejs3@0.9.0(@babel/core@7.24.0): - resolution: {integrity: sha512-7nZPG1uzK2Ymhy/NbaOWTg3uibM2BmGASS4vHS4szRZAIR8R6GwA/xAujpdrXU5iyklrimWnLWU+BLF9suPTqg==} + /babel-plugin-polyfill-corejs3@0.10.4(@babel/core@7.24.3): + resolution: {integrity: sha512-25J6I8NGfa5YkCDogHRID3fVCadIR8/pGl1/spvCkzb6lVn6SR3ojpx9nOn9iEBcUsjY24AmdKm5khcfKdylcg==} peerDependencies: '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 dependencies: - '@babel/core': 7.24.0 - '@babel/helper-define-polyfill-provider': 0.5.0(@babel/core@7.24.0) - core-js-compat: 3.36.0 + '@babel/core': 7.24.3 + '@babel/helper-define-polyfill-provider': 0.6.1(@babel/core@7.24.3) + core-js-compat: 3.36.1 transitivePeerDependencies: - supports-color dev: true - /babel-plugin-polyfill-regenerator@0.5.5(@babel/core@7.24.0): - resolution: {integrity: sha512-OJGYZlhLqBh2DDHeqAxWB1XIvr49CxiJ2gIt61/PU55CQK4Z58OzMqjDe1zwQdQk+rBYsRc+1rJmdajM3gimHg==} + /babel-plugin-polyfill-regenerator@0.6.1(@babel/core@7.24.3): + resolution: {integrity: sha512-JfTApdE++cgcTWjsiCQlLyFBMbTUft9ja17saCc93lgV33h4tuCVj7tlvu//qpLwaG+3yEz7/KhahGrUMkVq9g==} peerDependencies: '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 dependencies: - '@babel/core': 7.24.0 - '@babel/helper-define-polyfill-provider': 0.5.0(@babel/core@7.24.0) + '@babel/core': 7.24.3 + '@babel/helper-define-polyfill-provider': 0.6.1(@babel/core@7.24.3) transitivePeerDependencies: - supports-color dev: true @@ -7346,6 +7593,12 @@ packages: browserslist: 4.23.0 dev: true + /core-js-compat@3.36.1: + resolution: {integrity: sha512-Dk997v9ZCt3X/npqzyGdTlq6t7lDBhZwGvV94PKzDArjp7BTRm7WlDAXYd/OWdeFHO8OChQYRJNJvUCqCbrtKA==} + dependencies: + browserslist: 4.23.0 + dev: true + /core-util-is@1.0.2: resolution: {integrity: sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==} dev: true @@ -8464,11 +8717,11 @@ packages: safe-regex-test: 1.0.3 string.prototype.trim: 1.2.9 string.prototype.trimend: 1.0.8 - string.prototype.trimstart: 1.0.7 + string.prototype.trimstart: 1.0.8 typed-array-buffer: 1.0.2 typed-array-byte-length: 1.0.1 typed-array-byte-offset: 1.0.2 - typed-array-length: 1.0.5 + typed-array-length: 1.0.6 unbox-primitive: 1.0.2 which-typed-array: 1.1.15 dev: true @@ -13737,6 +13990,15 @@ packages: picocolors: 1.0.0 source-map-js: 1.1.0 + /postcss@8.4.38: + resolution: {integrity: sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A==} + engines: {node: ^10 || ^12 || >=14} + dependencies: + nanoid: 3.3.7 + picocolors: 1.0.0 + source-map-js: 1.2.0 + dev: true + /preact@10.19.6: resolution: {integrity: sha512-gympg+T2Z1fG1unB8NH29yHJwnEaCH37Z32diPDku316OTnRPeMbiRV9kTrfZpocXjdfnWuFUl/Mj4BHaf6gnw==} dev: true @@ -14031,7 +14293,7 @@ packages: /regenerator-transform@0.15.2: resolution: {integrity: sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg==} dependencies: - '@babel/runtime': 7.24.0 + '@babel/runtime': 7.24.1 dev: true /regexp-tree@0.1.27: @@ -14320,7 +14582,7 @@ packages: peerDependencies: rollup: ^2.0.0 dependencies: - '@babel/code-frame': 7.23.5 + '@babel/code-frame': 7.24.2 jest-worker: 26.6.2 rollup: 2.79.1 serialize-javascript: 4.0.0 @@ -14831,6 +15093,11 @@ packages: resolution: {integrity: sha512-9vC2SfsJzlej6MAaMPLu8HiBSHGdRAJ9hVFYN1ibZoNkeanmDmLUcIrj6G9DGL7XMJ54AKg/G75akXl1/izTOw==} engines: {node: '>=0.10.0'} + /source-map-js@1.2.0: + resolution: {integrity: sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==} + engines: {node: '>=0.10.0'} + dev: true + /source-map-support@0.5.13: resolution: {integrity: sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==} dependencies: @@ -15078,13 +15345,17 @@ packages: strip-ansi: 7.1.0 dev: true - /string.prototype.matchall@4.0.10: - resolution: {integrity: sha512-rGXbGmOEosIQi6Qva94HUjgPs9vKW+dkG7Y8Q5O2OYkWL6wFaTRZO8zM4mhP94uX55wgyrXzfS2aGtGzUL7EJQ==} + /string.prototype.matchall@4.0.11: + resolution: {integrity: sha512-NUdh0aDavY2og7IbBPenWqR9exH+E26Sv8e0/eTe1tltDGZL+GtBkDAnnyBtmekfK6/Dq3MkcGtzXFEd1LQrtg==} + engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.7 define-properties: 1.2.1 es-abstract: 1.23.2 + es-errors: 1.3.0 + es-object-atoms: 1.0.0 get-intrinsic: 1.2.4 + gopd: 1.0.1 has-symbols: 1.0.3 internal-slot: 1.0.7 regexp.prototype.flags: 1.5.2 @@ -15110,12 +15381,13 @@ packages: es-object-atoms: 1.0.0 dev: true - /string.prototype.trimstart@1.0.7: - resolution: {integrity: sha512-NGhtDFu3jCEm7B4Fy0DpLewdJQOZcQ0rGbwQ/+stjnrp2i+rlKeCvos9hOIeCmqwratM47OBxY7uFZzjxHXmrg==} + /string.prototype.trimstart@1.0.8: + resolution: {integrity: sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==} + engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.7 define-properties: 1.2.1 - es-abstract: 1.23.2 + es-object-atoms: 1.0.0 dev: true /string_decoder@1.1.1: @@ -15628,8 +15900,8 @@ packages: engines: {node: '>=14.16'} dev: true - /type-fest@4.13.1: - resolution: {integrity: sha512-ASMgM+Vf2cLwDMt1KXSkMUDSYCxtckDJs8zsaVF/mYteIsiARKCVtyXtcK38mIKbLTctZP8v6GMqdNaeI3fo7g==} + /type-fest@4.14.0: + resolution: {integrity: sha512-on5/Cw89wwqGZQu+yWO0gGMGu8VNxsaW9SB2HE8yJjllEk7IDTwnSN1dUVldYILhYPN5HzD7WAaw2cc/jBfn0Q==} engines: {node: '>=16'} dev: true @@ -15677,8 +15949,8 @@ packages: is-typed-array: 1.1.13 dev: true - /typed-array-length@1.0.5: - resolution: {integrity: sha512-yMi0PlwuznKHxKmcpoOdeLwxBoVPkqZxd7q2FgMkmD3bNwvF5VW0+UlUQ1k1vmktTu4Yu13Q0RIxEP8+B+wloA==} + /typed-array-length@1.0.6: + resolution: {integrity: sha512-/OxDN6OtAk5KBpGb28T+HZc2M+ADtvRxXrKKbUwtsLgdoxgX13hyy7ek6bFRl5+aBs2yZzB0c4CnQfAtVypW/g==} engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.7 @@ -15913,7 +16185,7 @@ packages: engines: {node: '>= 10.0.0'} dev: true - /unocss@0.58.6(postcss@8.4.36)(rollup@2.79.1)(vite@4.5.2): + /unocss@0.58.6(postcss@8.4.38)(rollup@2.79.1)(vite@4.5.2): resolution: {integrity: sha512-HBstDtC6KKD5yCYh5hHpPdHGZai0B/iLlDwkOIK+xfQYrvl8tNBvKfRz3xgiaI5MJ+fLmEOxbfXQIjleU1A0iA==} engines: {node: '>=14'} peerDependencies: @@ -15929,7 +16201,7 @@ packages: '@unocss/cli': 0.58.6(rollup@2.79.1) '@unocss/core': 0.58.6 '@unocss/extractor-arbitrary-variants': 0.58.6 - '@unocss/postcss': 0.58.6(postcss@8.4.36) + '@unocss/postcss': 0.58.6(postcss@8.4.38) '@unocss/preset-attributify': 0.58.6 '@unocss/preset-icons': 0.58.6 '@unocss/preset-mini': 0.58.6 @@ -16303,7 +16575,7 @@ packages: vue: 3.4.21(typescript@5.4.3) dev: true - /vitepress@1.0.0-rc.45(@algolia/client-search@4.22.1)(@types/node@20.11.30)(postcss@8.4.36)(search-insights@2.13.0)(typescript@5.4.3): + /vitepress@1.0.0-rc.45(@algolia/client-search@4.22.1)(@types/node@20.11.30)(postcss@8.4.38)(search-insights@2.13.0)(typescript@5.4.3): resolution: {integrity: sha512-/OiYsu5UKpQKA2c0BAZkfyywjfauDjvXyv6Mo4Ra57m5n4Bxg1HgUGoth1CLH2vwUbR/BHvDA9zOM0RDvgeSVQ==} hasBin: true peerDependencies: @@ -16327,7 +16599,7 @@ packages: focus-trap: 7.5.4 mark.js: 8.11.1 minisearch: 6.3.0 - postcss: 8.4.36 + postcss: 8.4.38 shiki: 1.1.7 vite: 5.1.5(@types/node@20.11.30) vue: 3.4.21(typescript@5.4.3) @@ -16942,10 +17214,10 @@ packages: engines: {node: '>=16.0.0'} dependencies: '@apideck/better-ajv-errors': 0.3.6(ajv@8.12.0) - '@babel/core': 7.24.0 - '@babel/preset-env': 7.24.0(@babel/core@7.24.0) - '@babel/runtime': 7.24.0 - '@rollup/plugin-babel': 5.3.1(@babel/core@7.24.0)(rollup@2.79.1) + '@babel/core': 7.24.3 + '@babel/preset-env': 7.24.3(@babel/core@7.24.3) + '@babel/runtime': 7.24.1 + '@rollup/plugin-babel': 5.3.1(@babel/core@7.24.3)(rollup@2.79.1) '@rollup/plugin-node-resolve': 11.2.1(rollup@2.79.1) '@rollup/plugin-replace': 2.4.2(rollup@2.79.1) '@surma/rollup-plugin-off-main-thread': 2.2.3 @@ -17002,6 +17274,7 @@ packages: /workbox-google-analytics@7.0.0: resolution: {integrity: sha512-MEYM1JTn/qiC3DbpvP2BVhyIH+dV/5BjHk756u9VbwuAhu0QHyKscTnisQuz21lfRpOwiS9z4XdqeVAKol0bzg==} + deprecated: It is not compatible with newer versions of GA starting with v4, as long as you are using GAv3 it should be ok, but the package is not longer being maintained dependencies: workbox-background-sync: 7.0.0 workbox-core: 7.0.0 From 43e183b658b472855513b5a5d54bd1eab06c7fc2 Mon Sep 17 00:00:00 2001 From: anlai46 <76227777+anlai46@users.noreply.github.com> Date: Sun, 24 Mar 2024 21:32:57 -0400 Subject: [PATCH 284/789] Update entityRelationshipDiagram.md - Added Wikipedia link - Removed comma "," at the end of a bullet point - Removed additional period "." --- .../mermaid/src/docs/syntax/entityRelationshipDiagram.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/mermaid/src/docs/syntax/entityRelationshipDiagram.md b/packages/mermaid/src/docs/syntax/entityRelationshipDiagram.md index 763b1aef31..ca7cb79c35 100644 --- a/packages/mermaid/src/docs/syntax/entityRelationshipDiagram.md +++ b/packages/mermaid/src/docs/syntax/entityRelationshipDiagram.md @@ -1,6 +1,6 @@ # Entity Relationship Diagrams -> An entity–relationship model (or ER model) describes interrelated things of interest in a specific domain of knowledge. A basic ER model is composed of entity types (which classify the things of interest) and specifies relationships that can exist between entities (instances of those entity types). Wikipedia. +> An entity–relationship model (or ER model) describes interrelated things of interest in a specific domain of knowledge. A basic ER model is composed of entity types (which classify the things of interest) and specifies relationships that can exist between entities (instances of those entity types) [Wikipedia](https://en.wikipedia.org/wiki/Entity%E2%80%93relationship_model). Note that practitioners of ER modelling almost always refer to _entity types_ simply as _entities_. For example the `CUSTOMER` entity _type_ would be referred to simply as the `CUSTOMER` entity. This is so common it would be inadvisable to do anything else, but technically an entity is an abstract _instance_ of an entity type, and this is what an ER diagram shows - abstract instances, and the relationships between them. This is why entities are always named using singular nouns. @@ -75,7 +75,7 @@ Only the `first-entity` part of a statement is mandatory. This makes it possible The `relationship` part of each statement can be broken down into three sub-components: -- the cardinality of the first entity with respect to the second, +- the cardinality of the first entity with respect to the second - whether the relationship confers identity on a 'child' entity - the cardinality of the second entity with respect to the first @@ -162,7 +162,7 @@ erDiagram #### Attribute Keys and Comments -Attributes may also have a `key` or comment defined. Keys can be `PK`, `FK` or `UK`, for Primary Key, Foreign Key or Unique Key. To specify multiple key constraints on a single attribute, separate them with a comma (e.g., `PK, FK`).. A `comment` is defined by double quotes at the end of an attribute. Comments themselves cannot have double-quote characters in them. +Attributes may also have a `key` or comment defined. Keys can be `PK`, `FK` or `UK`, for Primary Key, Foreign Key or Unique Key. To specify multiple key constraints on a single attribute, separate them with a comma (e.g., `PK, FK`). A `comment` is defined by double quotes at the end of an attribute. Comments themselves cannot have double-quote characters in them. ```mermaid-example erDiagram From 69c7cb9f6fe3ed991f524f2ff27babb2725c6a6a Mon Sep 17 00:00:00 2001 From: Sidharth Vinod Date: Mon, 25 Mar 2024 12:02:28 +0530 Subject: [PATCH 285/789] Update docs --- docs/syntax/entityRelationshipDiagram.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/syntax/entityRelationshipDiagram.md b/docs/syntax/entityRelationshipDiagram.md index 82fcf8d68f..c609029854 100644 --- a/docs/syntax/entityRelationshipDiagram.md +++ b/docs/syntax/entityRelationshipDiagram.md @@ -6,7 +6,7 @@ # Entity Relationship Diagrams -> An entity–relationship model (or ER model) describes interrelated things of interest in a specific domain of knowledge. A basic ER model is composed of entity types (which classify the things of interest) and specifies relationships that can exist between entities (instances of those entity types). Wikipedia. +> An entity–relationship model (or ER model) describes interrelated things of interest in a specific domain of knowledge. A basic ER model is composed of entity types (which classify the things of interest) and specifies relationships that can exist between entities (instances of those entity types) [Wikipedia](https://en.wikipedia.org/wiki/Entity%E2%80%93relationship_model). Note that practitioners of ER modelling almost always refer to _entity types_ simply as _entities_. For example the `CUSTOMER` entity _type_ would be referred to simply as the `CUSTOMER` entity. This is so common it would be inadvisable to do anything else, but technically an entity is an abstract _instance_ of an entity type, and this is what an ER diagram shows - abstract instances, and the relationships between them. This is why entities are always named using singular nouns. @@ -111,7 +111,7 @@ Only the `first-entity` part of a statement is mandatory. This makes it possible The `relationship` part of each statement can be broken down into three sub-components: -- the cardinality of the first entity with respect to the second, +- the cardinality of the first entity with respect to the second - whether the relationship confers identity on a 'child' entity - the cardinality of the second entity with respect to the first @@ -232,7 +232,7 @@ erDiagram #### Attribute Keys and Comments -Attributes may also have a `key` or comment defined. Keys can be `PK`, `FK` or `UK`, for Primary Key, Foreign Key or Unique Key. To specify multiple key constraints on a single attribute, separate them with a comma (e.g., `PK, FK`).. A `comment` is defined by double quotes at the end of an attribute. Comments themselves cannot have double-quote characters in them. +Attributes may also have a `key` or comment defined. Keys can be `PK`, `FK` or `UK`, for Primary Key, Foreign Key or Unique Key. To specify multiple key constraints on a single attribute, separate them with a comma (e.g., `PK, FK`). A `comment` is defined by double quotes at the end of an attribute. Comments themselves cannot have double-quote characters in them. ```mermaid-example erDiagram From 07bd9825a17682f9394432c13dc61691445dc0f5 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 25 Mar 2024 11:50:29 +0000 Subject: [PATCH 286/789] chore(deps): update all patch dependencies --- pnpm-lock.yaml | 464 +++++++++++++++++-------------------------------- 1 file changed, 160 insertions(+), 304 deletions(-) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 9397eeba9e..5f7e068c7d 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -18,7 +18,7 @@ importers: version: 3.42.3(typescript@5.4.3) '@cspell/eslint-plugin': specifier: ^8.6.0 - version: 8.6.0 + version: 8.6.1 '@cypress/code-coverage': specifier: ^3.12.30 version: 3.12.30(@babel/core@7.24.3)(@babel/preset-env@7.24.3)(babel-loader@9.1.3)(cypress@13.7.1)(webpack@5.91.0) @@ -84,7 +84,7 @@ importers: version: 7.0.3 cspell: specifier: ^8.6.0 - version: 8.6.0 + version: 8.6.1 cypress: specifier: ^13.7.1 version: 13.7.1 @@ -192,10 +192,10 @@ importers: version: 5.4.3 vite: specifier: ^5.2.3 - version: 5.2.3(@types/node@20.11.30) + version: 4.5.3(@types/node@20.11.30) vite-plugin-istanbul: specifier: ^6.0.0 - version: 6.0.0(vite@5.2.3) + version: 6.0.0(vite@4.5.3) vitest: specifier: ^1.4.0 version: 1.4.0(@types/node@20.11.30)(@vitest/ui@1.4.0)(jsdom@24.0.0) @@ -234,7 +234,7 @@ importers: version: 0.9.2 katex: specifier: ^0.16.9 - version: 0.16.9 + version: 0.16.10 khroma: specifier: ^2.1.0 version: 2.1.0 @@ -256,7 +256,7 @@ importers: devDependencies: '@adobe/jsonschema2md': specifier: ^7.1.5 - version: 7.1.5 + version: 7.1.6 '@types/cytoscape': specifier: ^3.19.16 version: 3.19.16 @@ -476,7 +476,7 @@ importers: version: 0.4.0(vite-plugin-pwa@0.19.7) '@vitejs/plugin-vue': specifier: ^4.6.2 - version: 4.6.2(vite@4.5.2)(vue@3.4.21) + version: 4.6.2(vite@4.5.3)(vue@3.4.21) fast-glob: specifier: ^3.3.2 version: 3.3.2 @@ -488,16 +488,16 @@ importers: version: 1.1.2 unocss: specifier: ^0.58.6 - version: 0.58.6(postcss@8.4.38)(rollup@2.79.1)(vite@4.5.2) + version: 0.58.6(postcss@8.4.38)(rollup@2.79.1)(vite@4.5.3) unplugin-vue-components: specifier: ^0.26.0 version: 0.26.0(rollup@2.79.1)(vue@3.4.21) vite: specifier: ^4.5.2 - version: 4.5.2(@types/node@20.11.30) + version: 4.5.3(@types/node@20.11.30) vite-plugin-pwa: specifier: ^0.19.7 - version: 0.19.7(vite@4.5.2)(workbox-build@7.0.0)(workbox-window@7.0.0) + version: 0.19.7(vite@4.5.3)(workbox-build@7.0.0)(workbox-window@7.0.0) vitepress: specifier: 1.0.0-rc.45 version: 1.0.0-rc.45(@algolia/client-search@4.22.1)(@types/node@20.11.30)(postcss@8.4.38)(search-insights@2.13.0)(typescript@5.4.3) @@ -541,8 +541,8 @@ packages: engines: {node: '>=0.10.0'} dev: true - /@adobe/helix-log@6.0.0: - resolution: {integrity: sha512-+9gpf49sFDmZLV3gtjY+RmEUistqYJdVWpiqlRYpxE59x5bHFzYf93dZ7fljSTBtZdVq8lm97HxrTUloh5HvRg==} + /@adobe/helix-log@6.0.1: + resolution: {integrity: sha512-yobBoOVJy9SJ8T29v41ZDLUcvSzhKBUG0eqmlyDsT304BH7aQZdF1IYz6PIID/2HKPYp/Ny2mC4Hz1fEnErbNw==} dependencies: big.js: 6.2.1 colorette: 2.0.20 @@ -551,29 +551,29 @@ packages: polka: 0.5.2 dev: true - /@adobe/jsonschema2md@7.1.5: - resolution: {integrity: sha512-uybF3Ryn0xz5lzGz6sb6Th5nkX9H60zOnKVYCUXunUtWENGb7Ut+8CYPzPA9sjY8+gLK8pQq3rbmsKprcjkN0A==} + /@adobe/jsonschema2md@7.1.6: + resolution: {integrity: sha512-i+E6pr8rH2B0ujustAhniyUPxk2I0IE5K0K9bb+4knEFSVSYuc6MY3YekWNbzJ+KhgDa3gaq4UORqrHhLPxwIA==} engines: {node: '>= 14.0.0'} hasBin: true dependencies: - '@adobe/helix-log': 6.0.0 + '@adobe/helix-log': 6.0.1 '@types/json-schema': 7.0.15 - '@types/mdast': 3.0.15 + '@types/mdast': 4.0.3 es2015-i18n-tag: 1.6.1 ferrum: 1.9.4 - fs-extra: 11.1.0 + fs-extra: 11.2.0 github-slugger: 2.0.0 js-yaml: 4.1.0 json-schema: 0.4.0 mdast-builder: 1.1.1 - mdast-util-to-string: 3.1.0 + mdast-util-to-string: 4.0.0 readdirp: 3.6.0 remark-gfm: 3.0.1 - remark-parse: 10.0.1 - remark-stringify: 10.0.2 + remark-parse: 10.0.2 + remark-stringify: 10.0.3 unified: 10.1.2 - unist-util-inspect: 7.0.1 - yargs: 17.6.2 + unist-util-inspect: 8.0.0 + yargs: 17.7.2 transitivePeerDependencies: - supports-color dev: true @@ -2744,8 +2744,8 @@ packages: dev: true optional: true - /@cspell/cspell-bundled-dicts@8.6.0: - resolution: {integrity: sha512-hRVvir4G4276Kz/Cru34AJg1FObIw5MrzezAwHkD3obNMwZkof8aX3MEN6AzWusJSVG2ZxZxZAEnYbgqvGr2Fg==} + /@cspell/cspell-bundled-dicts@8.6.1: + resolution: {integrity: sha512-s6Av1xIgctYLuUiazKZjQ2WRUXc9dU38BOZXwM/lb7y8grQMEuTjST1c+8MOkZkppx48/sO7GHIF3k9rEzD3fg==} engines: {node: '>=18'} dependencies: '@cspell/dict-ada': 4.0.2 @@ -2775,6 +2775,7 @@ packages: '@cspell/dict-html': 4.0.5 '@cspell/dict-html-symbol-entities': 4.0.0 '@cspell/dict-java': 5.0.6 + '@cspell/dict-julia': 1.0.1 '@cspell/dict-k8s': 1.0.2 '@cspell/dict-latex': 4.0.0 '@cspell/dict-lorem-ipsum': 4.0.0 @@ -2794,36 +2795,37 @@ packages: '@cspell/dict-sql': 2.1.3 '@cspell/dict-svelte': 1.0.2 '@cspell/dict-swift': 2.0.1 + '@cspell/dict-terraform': 1.0.0 '@cspell/dict-typescript': 3.1.2 '@cspell/dict-vue': 3.0.0 dev: true - /@cspell/cspell-json-reporter@8.6.0: - resolution: {integrity: sha512-fPpE4a3zpdfwgTyfLgCmxZn4owkZ4IP6A/oL4XLW22IxW5xBIbXEveOSY+uiWAnVfEnqfrMNRLAGj7JoXnJ1Vg==} + /@cspell/cspell-json-reporter@8.6.1: + resolution: {integrity: sha512-75cmJgU9iQgrDnLFIUyvgybySJJi29BPw71z+8ZO9WhNofufxoSjaWepZeYV2nK0nHXM+MbdQG5Mmj/Lv6J1FA==} engines: {node: '>=18'} dependencies: - '@cspell/cspell-types': 8.6.0 + '@cspell/cspell-types': 8.6.1 dev: true - /@cspell/cspell-pipe@8.6.0: - resolution: {integrity: sha512-gbAZksz38OHaN8s4fOmmgtgQfie1K8dRGlo9z/uxSx5FIELV48GWTbHn9t1TY2yBXBwJ7+4NF2+r624rtlPoHQ==} + /@cspell/cspell-pipe@8.6.1: + resolution: {integrity: sha512-guIlGhhOLQwfqevBSgp26b+SX4I1hCH+puAksWAk93bybKkcGtGpcavAQSN9qvamox4zcHnvGutEPF+UcXuceQ==} engines: {node: '>=18'} dev: true - /@cspell/cspell-resolver@8.6.0: - resolution: {integrity: sha512-ARwO6TWKy8fLHNhC/ls5Wo/AK86E1oLVChwWtHdq7eVyEUIykQaXGLqoRThkIT2jyLfGDrhSvaU+yqcXVLE48Q==} + /@cspell/cspell-resolver@8.6.1: + resolution: {integrity: sha512-ZUbYcvEhfokHG9qfUlIylUqEobG84PiDozCkE8U4h/rTSmYkf/nAD+M6yg+jQ0F2aTFGNbvpKKGFlfXFXveX7A==} engines: {node: '>=18'} dependencies: global-directory: 4.0.1 dev: true - /@cspell/cspell-service-bus@8.6.0: - resolution: {integrity: sha512-veCGlhlNGmYMgzX/rMiDp8j7ndLxFHIZq3h6DNlIsIoSjP1v5Rk6UcCwEoWYexwKmNXo7c2VooB0GM9LSBcPAQ==} + /@cspell/cspell-service-bus@8.6.1: + resolution: {integrity: sha512-WpI3fSW8t00UMetfd6tS8f9+xE3+ElIUO/bQ1YKK95TMIRdEUcH+QDxcHM66pJXEm4WiaN3H/MfWk1fIhGlJ8g==} engines: {node: '>=18'} dev: true - /@cspell/cspell-types@8.6.0: - resolution: {integrity: sha512-+CU/nuFOpswJAA3IS2TcKGskfM/o/4aNG1IMUVaOEQi1Sc5qZQ4Wj1qDIWJArSHFYW1Q4XFa4U8K1jnVHkAhZQ==} + /@cspell/cspell-types@8.6.1: + resolution: {integrity: sha512-MXa9v6sXbbwyiNno7v7vczNph6AsMNWnpMRCcW3h/siXNQYRuMssdxqT5sQJ8Kurh3M/Wo7DlKX4n74elKL3iQ==} engines: {node: '>=18'} dev: true @@ -2939,6 +2941,10 @@ packages: resolution: {integrity: sha512-kdE4AHHHrixyZ5p6zyms1SLoYpaJarPxrz8Tveo6gddszBVVwIUZ+JkQE1bWNLK740GWzIXdkznpUfw1hP9nXw==} dev: true + /@cspell/dict-julia@1.0.1: + resolution: {integrity: sha512-4JsCLCRhhLMLiaHpmR7zHFjj1qOauzDI5ZzCNQS31TUMfsOo26jAKDfo0jljFAKgw5M2fEG7sKr8IlPpQAYrmQ==} + dev: true + /@cspell/dict-k8s@1.0.2: resolution: {integrity: sha512-tLT7gZpNPnGa+IIFvK9SP1LrSpPpJ94a/DulzAPOb1Q2UBFwdpFd82UWhio0RNShduvKG/WiMZf/wGl98pn+VQ==} dev: true @@ -3017,6 +3023,10 @@ packages: resolution: {integrity: sha512-gxrCMUOndOk7xZFmXNtkCEeroZRnS2VbeaIPiymGRHj5H+qfTAzAKxtv7jJbVA3YYvEzWcVE2oKDP4wcbhIERw==} dev: true + /@cspell/dict-terraform@1.0.0: + resolution: {integrity: sha512-Ak+vy4HP/bOgzf06BAMC30+ZvL9mzv21xLM2XtfnBLTDJGdxlk/nK0U6QT8VfFLqJ0ZZSpyOxGsUebWDCTr/zQ==} + dev: true + /@cspell/dict-typescript@3.1.2: resolution: {integrity: sha512-lcNOYWjLUvDZdLa0UMNd/LwfVdxhE9rKA+agZBGjL3lTA3uNvH7IUqSJM/IXhJoBpLLMVEOk8v1N9xi+vDuCdA==} dev: true @@ -3025,25 +3035,25 @@ packages: resolution: {integrity: sha512-niiEMPWPV9IeRBRzZ0TBZmNnkK3olkOPYxC1Ny2AX4TGlYRajcW0WUtoSHmvvjZNfWLSg2L6ruiBeuPSbjnG6A==} dev: true - /@cspell/dynamic-import@8.6.0: - resolution: {integrity: sha512-yDJZ/uXCpZcAkXwaWa0JcCZHZFxnF3qtiFiq2WG5cEw8tiJiNdawjSCd8/D35dT3QFNaInMP+H3sOf68dNueew==} + /@cspell/dynamic-import@8.6.1: + resolution: {integrity: sha512-Fjvkcb5umIAcHfw/iiciYWgO2mXVuRZzQAWPSub6UFCxxcJlRz39YPXa+3O/m3lnXCeo8ChoaEN8qnuV4ogk6g==} engines: {node: '>=18.0'} dependencies: import-meta-resolve: 4.0.0 dev: true - /@cspell/eslint-plugin@8.6.0: - resolution: {integrity: sha512-l32es7hfqx90+HQc07rANbRS1g0sHTee7LsI7mpMqj+G/CKHXfPVeTj1iOJK4NPo/rlpv2CFLS3pr6UvpfJroA==} + /@cspell/eslint-plugin@8.6.1: + resolution: {integrity: sha512-PIY7lyaVFd1CuLpnuCtXD07Qlod1mLGcUy2NI6ghgXku34oyTrbU4NYC5lNNM1tUxNSGwz2NQOdoTWnEOacllw==} engines: {node: '>=18'} dependencies: - '@cspell/cspell-types': 8.6.0 - cspell-lib: 8.6.0 + '@cspell/cspell-types': 8.6.1 + cspell-lib: 8.6.1 estree-walker: 3.0.3 synckit: 0.9.0 dev: true - /@cspell/strong-weak-map@8.6.0: - resolution: {integrity: sha512-QenBOdIT1zRa0kF3Z1mwObcvmdhxn+rzQDdmkxwSyRB/9KsNnib6XXTUo8P+Z/ZKXOYbP9Wmf4FX+vKd3yVX0Q==} + /@cspell/strong-weak-map@8.6.1: + resolution: {integrity: sha512-X6/7cy+GGVJFXsfrZapxVKn5mtehNTr7hTlg0bVj3iFoNYEPW9zq9l6WIcI4psmaU8G4DSrNsBK7pp87W3u16A==} engines: {node: '>=18'} dev: true @@ -4290,8 +4300,8 @@ packages: resolution: {integrity: sha512-oZLYFEAzUKyi3SKnXvj32ZCEGH6RDnao7COuCVhDydMS9NrCSVXhM79VaKyP5+Zc33m0QXEd2DN3UkU7OsHcfw==} dev: true - /@polka/url@1.0.0-next.24: - resolution: {integrity: sha512-2LuNTFBIO0m7kKIQvvPHN6UE63VjpmL9rnEEaOOaiSPbZK+zUOYIzBAWcED+3XYzhYsd/0mD57VdxAEqqV52CQ==} + /@polka/url@1.0.0-next.25: + resolution: {integrity: sha512-j7P6Rgr3mmtdkeDGTe0E/aYyWEWVtc5yFXtHCRHs28/jptDEWfaVOc5T7cblqy1XKPPfCxJc/8DwQ5YgLOZOVQ==} dev: true /@rollup/plugin-babel@5.3.1(@babel/core@7.24.3)(rollup@2.79.1): @@ -4381,14 +4391,6 @@ packages: rollup: 2.79.1 dev: true - /@rollup/rollup-android-arm-eabi@4.12.1: - resolution: {integrity: sha512-iU2Sya8hNn1LhsYyf0N+L4Gf9Qc+9eBTJJJsaOGUp+7x4n2M9dxTt8UvhJl3oeftSjblSlpCfvjA/IfP3g5VjQ==} - cpu: [arm] - os: [android] - requiresBuild: true - dev: true - optional: true - /@rollup/rollup-android-arm-eabi@4.13.0: resolution: {integrity: sha512-5ZYPOuaAqEH/W3gYsRkxQATBW3Ii1MfaT4EQstTnLKViLi2gLSQmlmtTpGucNP3sXEpOiI5tdGhjdE111ekyEg==} cpu: [arm] @@ -4397,14 +4399,6 @@ packages: dev: true optional: true - /@rollup/rollup-android-arm64@4.12.1: - resolution: {integrity: sha512-wlzcWiH2Ir7rdMELxFE5vuM7D6TsOcJ2Yw0c3vaBR3VOsJFVTx9xvwnAvhgU5Ii8Gd6+I11qNHwndDscIm0HXg==} - cpu: [arm64] - os: [android] - requiresBuild: true - dev: true - optional: true - /@rollup/rollup-android-arm64@4.13.0: resolution: {integrity: sha512-BSbaCmn8ZadK3UAQdlauSvtaJjhlDEjS5hEVVIN3A4bbl3X+otyf/kOJV08bYiRxfejP3DXFzO2jz3G20107+Q==} cpu: [arm64] @@ -4413,14 +4407,6 @@ packages: dev: true optional: true - /@rollup/rollup-darwin-arm64@4.12.1: - resolution: {integrity: sha512-YRXa1+aZIFN5BaImK+84B3uNK8C6+ynKLPgvn29X9s0LTVCByp54TB7tdSMHDR7GTV39bz1lOmlLDuedgTwwHg==} - cpu: [arm64] - os: [darwin] - requiresBuild: true - dev: true - optional: true - /@rollup/rollup-darwin-arm64@4.13.0: resolution: {integrity: sha512-Ovf2evVaP6sW5Ut0GHyUSOqA6tVKfrTHddtmxGQc1CTQa1Cw3/KMCDEEICZBbyppcwnhMwcDce9ZRxdWRpVd6g==} cpu: [arm64] @@ -4429,14 +4415,6 @@ packages: dev: true optional: true - /@rollup/rollup-darwin-x64@4.12.1: - resolution: {integrity: sha512-opjWJ4MevxeA8FhlngQWPBOvVWYNPFkq6/25rGgG+KOy0r8clYwL1CFd+PGwRqqMFVQ4/Qd3sQu5t7ucP7C/Uw==} - cpu: [x64] - os: [darwin] - requiresBuild: true - dev: true - optional: true - /@rollup/rollup-darwin-x64@4.13.0: resolution: {integrity: sha512-U+Jcxm89UTK592vZ2J9st9ajRv/hrwHdnvyuJpa5A2ngGSVHypigidkQJP+YiGL6JODiUeMzkqQzbCG3At81Gg==} cpu: [x64] @@ -4445,14 +4423,6 @@ packages: dev: true optional: true - /@rollup/rollup-linux-arm-gnueabihf@4.12.1: - resolution: {integrity: sha512-uBkwaI+gBUlIe+EfbNnY5xNyXuhZbDSx2nzzW8tRMjUmpScd6lCQYKY2V9BATHtv5Ef2OBq6SChEP8h+/cxifQ==} - cpu: [arm] - os: [linux] - requiresBuild: true - dev: true - optional: true - /@rollup/rollup-linux-arm-gnueabihf@4.13.0: resolution: {integrity: sha512-8wZidaUJUTIR5T4vRS22VkSMOVooG0F4N+JSwQXWSRiC6yfEsFMLTYRFHvby5mFFuExHa/yAp9juSphQQJAijQ==} cpu: [arm] @@ -4461,14 +4431,6 @@ packages: dev: true optional: true - /@rollup/rollup-linux-arm64-gnu@4.12.1: - resolution: {integrity: sha512-0bK9aG1kIg0Su7OcFTlexkVeNZ5IzEsnz1ept87a0TUgZ6HplSgkJAnFpEVRW7GRcikT4GlPV0pbtVedOaXHQQ==} - cpu: [arm64] - os: [linux] - requiresBuild: true - dev: true - optional: true - /@rollup/rollup-linux-arm64-gnu@4.13.0: resolution: {integrity: sha512-Iu0Kno1vrD7zHQDxOmvweqLkAzjxEVqNhUIXBsZ8hu8Oak7/5VTPrxOEZXYC1nmrBVJp0ZcL2E7lSuuOVaE3+w==} cpu: [arm64] @@ -4477,14 +4439,6 @@ packages: dev: true optional: true - /@rollup/rollup-linux-arm64-musl@4.12.1: - resolution: {integrity: sha512-qB6AFRXuP8bdkBI4D7UPUbE7OQf7u5OL+R94JE42Z2Qjmyj74FtDdLGeriRyBDhm4rQSvqAGCGC01b8Fu2LthQ==} - cpu: [arm64] - os: [linux] - requiresBuild: true - dev: true - optional: true - /@rollup/rollup-linux-arm64-musl@4.13.0: resolution: {integrity: sha512-C31QrW47llgVyrRjIwiOwsHFcaIwmkKi3PCroQY5aVq4H0A5v/vVVAtFsI1nfBngtoRpeREvZOkIhmRwUKkAdw==} cpu: [arm64] @@ -4493,14 +4447,6 @@ packages: dev: true optional: true - /@rollup/rollup-linux-riscv64-gnu@4.12.1: - resolution: {integrity: sha512-sHig3LaGlpNgDj5o8uPEoGs98RII8HpNIqFtAI8/pYABO8i0nb1QzT0JDoXF/pxzqO+FkxvwkHZo9k0NJYDedg==} - cpu: [riscv64] - os: [linux] - requiresBuild: true - dev: true - optional: true - /@rollup/rollup-linux-riscv64-gnu@4.13.0: resolution: {integrity: sha512-Oq90dtMHvthFOPMl7pt7KmxzX7E71AfyIhh+cPhLY9oko97Zf2C9tt/XJD4RgxhaGeAraAXDtqxvKE1y/j35lA==} cpu: [riscv64] @@ -4509,14 +4455,6 @@ packages: dev: true optional: true - /@rollup/rollup-linux-x64-gnu@4.12.1: - resolution: {integrity: sha512-nD3YcUv6jBJbBNFvSbp0IV66+ba/1teuBcu+fBBPZ33sidxitc6ErhON3JNavaH8HlswhWMC3s5rgZpM4MtPqQ==} - cpu: [x64] - os: [linux] - requiresBuild: true - dev: true - optional: true - /@rollup/rollup-linux-x64-gnu@4.13.0: resolution: {integrity: sha512-yUD/8wMffnTKuiIsl6xU+4IA8UNhQ/f1sAnQebmE/lyQ8abjsVyDkyRkWop0kdMhKMprpNIhPmYlCxgHrPoXoA==} cpu: [x64] @@ -4525,14 +4463,6 @@ packages: dev: true optional: true - /@rollup/rollup-linux-x64-musl@4.12.1: - resolution: {integrity: sha512-7/XVZqgBby2qp/cO0TQ8uJK+9xnSdJ9ct6gSDdEr4MfABrjTyrW6Bau7HQ73a2a5tPB7hno49A0y1jhWGDN9OQ==} - cpu: [x64] - os: [linux] - requiresBuild: true - dev: true - optional: true - /@rollup/rollup-linux-x64-musl@4.13.0: resolution: {integrity: sha512-9RyNqoFNdF0vu/qqX63fKotBh43fJQeYC98hCaf89DYQpv+xu0D8QFSOS0biA7cGuqJFOc1bJ+m2rhhsKcw1hw==} cpu: [x64] @@ -4541,14 +4471,6 @@ packages: dev: true optional: true - /@rollup/rollup-win32-arm64-msvc@4.12.1: - resolution: {integrity: sha512-CYc64bnICG42UPL7TrhIwsJW4QcKkIt9gGlj21gq3VV0LL6XNb1yAdHVp1pIi9gkts9gGcT3OfUYHjGP7ETAiw==} - cpu: [arm64] - os: [win32] - requiresBuild: true - dev: true - optional: true - /@rollup/rollup-win32-arm64-msvc@4.13.0: resolution: {integrity: sha512-46ue8ymtm/5PUU6pCvjlic0z82qWkxv54GTJZgHrQUuZnVH+tvvSP0LsozIDsCBFO4VjJ13N68wqrKSeScUKdA==} cpu: [arm64] @@ -4557,14 +4479,6 @@ packages: dev: true optional: true - /@rollup/rollup-win32-ia32-msvc@4.12.1: - resolution: {integrity: sha512-LN+vnlZ9g0qlHGlS920GR4zFCqAwbv2lULrR29yGaWP9u7wF5L7GqWu9Ah6/kFZPXPUkpdZwd//TNR+9XC9hvA==} - cpu: [ia32] - os: [win32] - requiresBuild: true - dev: true - optional: true - /@rollup/rollup-win32-ia32-msvc@4.13.0: resolution: {integrity: sha512-P5/MqLdLSlqxbeuJ3YDeX37srC8mCflSyTrUsgbU1c/U9j6l2g2GiIdYaGD9QjdMQPMSgYm7hgg0551wHyIluw==} cpu: [ia32] @@ -4573,14 +4487,6 @@ packages: dev: true optional: true - /@rollup/rollup-win32-x64-msvc@4.12.1: - resolution: {integrity: sha512-n+vkrSyphvmU0qkQ6QBNXCGr2mKjhP08mPRM/Xp5Ck2FV4NrHU+y6axzDeixUrCBHVUS51TZhjqrKBBsHLKb2Q==} - cpu: [x64] - os: [win32] - requiresBuild: true - dev: true - optional: true - /@rollup/rollup-win32-x64-msvc@4.13.0: resolution: {integrity: sha512-UKXUQNbO3DOhzLRwHSpa0HnhhCgNODvfoPWv2FCXme8N/ANFfhIPMGuOT+QuKd16+B5yxZ0HdpNlqPvTMS1qfw==} cpu: [x64] @@ -5516,7 +5422,7 @@ packages: resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==} dev: true - /@unocss/astro@0.58.6(rollup@2.79.1)(vite@4.5.2): + /@unocss/astro@0.58.6(rollup@2.79.1)(vite@4.5.3): resolution: {integrity: sha512-0BvbhEp5Ln6wFNnhISusB2hcfycWkdgnjlFMcLT69efvj4G39MzB6JYT/1qiidLfpj35HcqkpBz7TfZ4bUmOAw==} peerDependencies: vite: ^2.9.0 || ^3.0.0-0 || ^4.0.0 || ^5.0.0-0 @@ -5526,8 +5432,8 @@ packages: dependencies: '@unocss/core': 0.58.6 '@unocss/reset': 0.58.6 - '@unocss/vite': 0.58.6(rollup@2.79.1)(vite@4.5.2) - vite: 4.5.2(@types/node@20.11.30) + '@unocss/vite': 0.58.6(rollup@2.79.1)(vite@4.5.3) + vite: 4.5.3(@types/node@20.11.30) transitivePeerDependencies: - rollup dev: true @@ -5710,7 +5616,7 @@ packages: '@unocss/core': 0.58.6 dev: true - /@unocss/vite@0.58.6(rollup@2.79.1)(vite@4.5.2): + /@unocss/vite@0.58.6(rollup@2.79.1)(vite@4.5.3): resolution: {integrity: sha512-DPXCoYU/Ozqc/Jeptd41XvtW8MSgVxmtTyhpMAsm/hJuBfwIV7Fy3TZquf4V9BpaTb4ao1LVXzgXmVUmj2HXpA==} peerDependencies: vite: ^2.9.0 || ^3.0.0-0 || ^4.0.0 || ^5.0.0-0 @@ -5725,7 +5631,7 @@ packages: chokidar: 3.6.0 fast-glob: 3.3.2 magic-string: 0.30.8 - vite: 4.5.2(@types/node@20.11.30) + vite: 4.5.3(@types/node@20.11.30) transitivePeerDependencies: - rollup dev: true @@ -5739,39 +5645,39 @@ packages: '@vite-pwa/assets-generator': optional: true dependencies: - vite-plugin-pwa: 0.19.7(vite@4.5.2)(workbox-build@7.0.0)(workbox-window@7.0.0) + vite-plugin-pwa: 0.19.7(vite@4.5.3)(workbox-build@7.0.0)(workbox-window@7.0.0) dev: true - /@vitejs/plugin-vue@4.6.2(vite@4.5.2)(vue@3.4.21): + /@vitejs/plugin-vue@4.6.2(vite@4.5.3)(vue@3.4.21): resolution: {integrity: sha512-kqf7SGFoG+80aZG6Pf+gsZIVvGSCKE98JbiWqcCV9cThtg91Jav0yvYFC9Zb+jKetNGF6ZKeoaxgZfND21fWKw==} engines: {node: ^14.18.0 || >=16.0.0} peerDependencies: vite: ^4.0.0 || ^5.0.0 vue: ^3.2.25 dependencies: - vite: 4.5.2(@types/node@20.11.30) + vite: 4.5.3(@types/node@20.11.30) vue: 3.4.21(typescript@5.4.3) dev: true - /@vitejs/plugin-vue@5.0.4(vite@5.1.5)(vue@3.4.21): + /@vitejs/plugin-vue@5.0.4(vite@5.2.3)(vue@3.4.21): resolution: {integrity: sha512-WS3hevEszI6CEVEx28F8RjTX97k3KsrcY6kvTg7+Whm5y3oYvcqzVeGCU3hxSAn4uY2CLCkeokkGKpoctccilQ==} engines: {node: ^18.0.0 || >=20.0.0} peerDependencies: vite: ^5.0.0 vue: ^3.2.25 dependencies: - vite: 5.1.5(@types/node@20.11.30) + vite: 5.2.3(@types/node@20.11.30) vue: 3.4.21(typescript@5.4.3) dev: true - /@vitejs/plugin-vue@5.0.4(vite@5.2.3)(vue@3.4.21): + /@vitejs/plugin-vue@5.0.4(vite@5.2.6)(vue@3.4.21): resolution: {integrity: sha512-WS3hevEszI6CEVEx28F8RjTX97k3KsrcY6kvTg7+Whm5y3oYvcqzVeGCU3hxSAn4uY2CLCkeokkGKpoctccilQ==} engines: {node: ^18.0.0 || >=20.0.0} peerDependencies: vite: ^5.0.0 vue: ^3.2.25 dependencies: - vite: 5.2.3(@types/node@20.11.30) + vite: 5.2.6(@types/node@20.11.30) vue: 3.4.21(typescript@5.4.3) dev: true @@ -5860,7 +5766,7 @@ packages: dependencies: '@babel/parser': 7.24.0 estree-walker: 2.0.2 - source-map-js: 1.1.0 + source-map-js: 1.2.0 vue: 3.4.21(typescript@5.4.3) dev: false @@ -7711,77 +7617,77 @@ packages: type-fest: 1.4.0 dev: true - /cspell-config-lib@8.6.0: - resolution: {integrity: sha512-Q1rvQFUDJTu4hUtxwL6+q83Hjx/a5grEjMS5axxFJzjJuFRbRsXCagncdSCx/YBqLkNM5noBbRP/0rVh7ufqxw==} + /cspell-config-lib@8.6.1: + resolution: {integrity: sha512-I6LatgXJb8mxKFzIywO81TlUD/qWnUDrhB6yTUPdP90bwZcXMmGoCsZxhd2Rvl9fz5fWne0T839I1coShfm86g==} engines: {node: '>=18'} dependencies: - '@cspell/cspell-types': 8.6.0 + '@cspell/cspell-types': 8.6.1 comment-json: 4.2.3 yaml: 2.4.1 dev: true - /cspell-dictionary@8.6.0: - resolution: {integrity: sha512-ohToeOQznIrb2/z7RfKxX3NID0WiO4sXK3IxKdnbn2viGgdn17tQ8Z2f4Xuy9egjSGRKyr6N25Z5AOes1C8R3w==} + /cspell-dictionary@8.6.1: + resolution: {integrity: sha512-0SfKPi1QoWbGpZ/rWMR7Jn0+GaQT9PAMLWjVOu66PUNUXI5f4oCTHpnZE1Xts+5VX8shZC3TAMHEgtgKuQn4RQ==} engines: {node: '>=18'} dependencies: - '@cspell/cspell-pipe': 8.6.0 - '@cspell/cspell-types': 8.6.0 - cspell-trie-lib: 8.6.0 + '@cspell/cspell-pipe': 8.6.1 + '@cspell/cspell-types': 8.6.1 + cspell-trie-lib: 8.6.1 fast-equals: 5.0.1 gensequence: 7.0.0 dev: true - /cspell-gitignore@8.6.0: - resolution: {integrity: sha512-6INRlNb17iKtQH7NmDM/EsX5OZOD2TzIwHiJnnWci0Y5l10V/zN9WGLDegTjMh9HU3TS6uUuN4I/ffkCs9m+LA==} + /cspell-gitignore@8.6.1: + resolution: {integrity: sha512-3gtt351sSDfN826aMXTqGHVLz2lz9ZHr8uemImUc24Q+676sXkJM9lXzqP8PUqwGhLyt5qSf+9pt0ieNwQy/cA==} engines: {node: '>=18'} hasBin: true dependencies: - cspell-glob: 8.6.0 + cspell-glob: 8.6.1 find-up-simple: 1.0.0 dev: true - /cspell-glob@8.6.0: - resolution: {integrity: sha512-AyuExc34F8JsEYNl4inx1m1v5VoSRA/cTptREq/AoNTcMTyG5s+wt5J+VWBfvJjEDEEpd9Cb2it0j8TMo/Tpjw==} + /cspell-glob@8.6.1: + resolution: {integrity: sha512-QjtngIR0XsUQLmHHDO86hps/JR5sRxSBwCvcsNCEmSdpdofLFc8cuxi3o33JWge7UAPBCQOLGfpA7/Wx31srmw==} engines: {node: '>=18'} dependencies: micromatch: 4.0.5 dev: true - /cspell-grammar@8.6.0: - resolution: {integrity: sha512-wVpZ4pPOqRoOmzLUc34wyOQnBi/6RsV3Y1KiPn8BNSkObb9XSohb1xJJMJ69unEmgE0snQDMHIeUaLTQH414MA==} + /cspell-grammar@8.6.1: + resolution: {integrity: sha512-MaG0e/F0b2FnIRULCZ61JxEiJgTP/6rsbUoR5nG9X+WmJYItYmxC1F/FPPrVeTu+jJr/8O4pdnslE20pimHaCw==} engines: {node: '>=18'} hasBin: true dependencies: - '@cspell/cspell-pipe': 8.6.0 - '@cspell/cspell-types': 8.6.0 + '@cspell/cspell-pipe': 8.6.1 + '@cspell/cspell-types': 8.6.1 dev: true - /cspell-io@8.6.0: - resolution: {integrity: sha512-jx7ccRpcshqxN6xnOiGnX4VycaqTpmatRjHITn4vLoDmQNfxQeU69YT62bhyjogCBuJsZS9ksjo7GQIsrYBekA==} + /cspell-io@8.6.1: + resolution: {integrity: sha512-ofxBB8QtUPvh/bOwKLYsqU1hwQCet8E98jkn/5f4jtG+/x5Zd80I0Ez+tlbjiBmrrQfOKh+i8ipfzHD8JtoreQ==} engines: {node: '>=18'} dependencies: - '@cspell/cspell-service-bus': 8.6.0 + '@cspell/cspell-service-bus': 8.6.1 dev: true - /cspell-lib@8.6.0: - resolution: {integrity: sha512-l1bBxBz8noPOxEIIu1Ahvd4e/j6Re1PNDD9FwZgaRmvMyIPZbupTxzCM0MZWvYz1VymBmrrVEKRwtZ34VocaCw==} + /cspell-lib@8.6.1: + resolution: {integrity: sha512-kGeDUypRtThFT81IdUK7yU8eUwO5MYWj8pGQ0N8WFsqbCahJrUdcocceVSpnCX48W3CXu12DkqYG9kv5Umn7Xw==} engines: {node: '>=18'} dependencies: - '@cspell/cspell-bundled-dicts': 8.6.0 - '@cspell/cspell-pipe': 8.6.0 - '@cspell/cspell-resolver': 8.6.0 - '@cspell/cspell-types': 8.6.0 - '@cspell/dynamic-import': 8.6.0 - '@cspell/strong-weak-map': 8.6.0 + '@cspell/cspell-bundled-dicts': 8.6.1 + '@cspell/cspell-pipe': 8.6.1 + '@cspell/cspell-resolver': 8.6.1 + '@cspell/cspell-types': 8.6.1 + '@cspell/dynamic-import': 8.6.1 + '@cspell/strong-weak-map': 8.6.1 clear-module: 4.1.2 comment-json: 4.2.3 configstore: 6.0.0 - cspell-config-lib: 8.6.0 - cspell-dictionary: 8.6.0 - cspell-glob: 8.6.0 - cspell-grammar: 8.6.0 - cspell-io: 8.6.0 - cspell-trie-lib: 8.6.0 + cspell-config-lib: 8.6.1 + cspell-dictionary: 8.6.1 + cspell-glob: 8.6.1 + cspell-grammar: 8.6.1 + cspell-io: 8.6.1 + cspell-trie-lib: 8.6.1 fast-equals: 5.0.1 gensequence: 7.0.0 import-fresh: 3.3.0 @@ -7790,31 +7696,31 @@ packages: vscode-uri: 3.0.8 dev: true - /cspell-trie-lib@8.6.0: - resolution: {integrity: sha512-S8nGCnEJBL1maiKPd3FhI54QG+OgtOkcJ/yUDXGXGrokSruWFdNocioPirlFAHf959ax1GBUVEYNIgnu/EIWNg==} + /cspell-trie-lib@8.6.1: + resolution: {integrity: sha512-iuJuAyWoqTH/TpFAR/ISJGQQoW3oiw54GyvXIucPoCJt/jgQONDuzqPW+skiLvcgcTbXCN9dutZTb2gImIkmpw==} engines: {node: '>=18'} dependencies: - '@cspell/cspell-pipe': 8.6.0 - '@cspell/cspell-types': 8.6.0 + '@cspell/cspell-pipe': 8.6.1 + '@cspell/cspell-types': 8.6.1 gensequence: 7.0.0 dev: true - /cspell@8.6.0: - resolution: {integrity: sha512-aAaVD3v1105OQePCpcdYkHnHxxkxKxxQzFcfJ4tKsH06dlW04Sp1oQLlsjgWDa3y6cdYTpSYj1eSenavBvfOFg==} + /cspell@8.6.1: + resolution: {integrity: sha512-/Qle15v4IQe7tViSWX0+RCZJ2HJ4HUCZV9Z4uOVasNUz+DWCrxysNR+pfCRYuLX/6lQdqCM9QCR9GZc7a2KIVA==} engines: {node: '>=18'} hasBin: true dependencies: - '@cspell/cspell-json-reporter': 8.6.0 - '@cspell/cspell-pipe': 8.6.0 - '@cspell/cspell-types': 8.6.0 - '@cspell/dynamic-import': 8.6.0 + '@cspell/cspell-json-reporter': 8.6.1 + '@cspell/cspell-pipe': 8.6.1 + '@cspell/cspell-types': 8.6.1 + '@cspell/dynamic-import': 8.6.1 chalk: 5.3.0 chalk-template: 1.1.0 commander: 12.0.0 - cspell-gitignore: 8.6.0 - cspell-glob: 8.6.0 - cspell-io: 8.6.0 - cspell-lib: 8.6.0 + cspell-gitignore: 8.6.1 + cspell-glob: 8.6.1 + cspell-io: 8.6.1 + cspell-lib: 8.6.1 fast-glob: 3.3.2 fast-json-stable-stringify: 2.1.0 file-entry-cache: 8.0.0 @@ -8486,8 +8392,8 @@ packages: engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dev: true - /diff@5.1.0: - resolution: {integrity: sha512-D+mk+qE8VC/PAUrlAU34N+VfXev0ghe5ywmpqrawphmVZc1bEfn56uo9qpyGp1p4xpzOHkSW4ztBd6L7Xx4ACw==} + /diff@5.2.0: + resolution: {integrity: sha512-uIFDxqpRZGZ6ThOk84hEfqWoHx2devRFvpTZcTHur85vImfaxUbTW9Ryh4CpCuDnToOP1CEtXKIgytHBPVff5A==} engines: {node: '>=0.3.1'} dev: true @@ -9561,7 +9467,7 @@ packages: proxy-addr: 2.0.7 rfdc: 1.3.1 secure-json-parse: 2.7.0 - semver: 7.6.0 + semver: 7.5.4 tiny-lru: 8.0.2 transitivePeerDependencies: - supports-color @@ -9868,8 +9774,8 @@ packages: resolution: {integrity: sha512-cHEpEQHUg0f8XdtZCc2ZAhrHzKzT0MrFUTcvx+hfxYu7rGMDc5SKoXFh+n4YigxsHXRzc6OrCshdR1bWH6HHyg==} dev: true - /fs-extra@11.1.0: - resolution: {integrity: sha512-0rcTq621PD5jM/e0a3EJoGC/1TC5ZBCERW82LQuwfGnCa1V8w7dpYH1yNu+SLb6E5dkeCBzKEyLGlFrnr+dUyw==} + /fs-extra@11.1.1: + resolution: {integrity: sha512-MGIE4HOvQCeUCzmlHs0vXpih4ysz4wg9qiSAu6cd42lVwPbTM1TjV7RusoyQqMmk/95gdQZX72u+YW+c3eEpFQ==} engines: {node: '>=14.14'} dependencies: graceful-fs: 4.2.11 @@ -9877,8 +9783,8 @@ packages: universalify: 2.0.1 dev: true - /fs-extra@11.1.1: - resolution: {integrity: sha512-MGIE4HOvQCeUCzmlHs0vXpih4ysz4wg9qiSAu6cd42lVwPbTM1TjV7RusoyQqMmk/95gdQZX72u+YW+c3eEpFQ==} + /fs-extra@11.2.0: + resolution: {integrity: sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw==} engines: {node: '>=14.14'} dependencies: graceful-fs: 4.2.11 @@ -11802,8 +11708,8 @@ packages: engines: {node: '>=12.20'} dev: true - /katex@0.16.9: - resolution: {integrity: sha512-fsSYjWS0EEOwvy81j3vRA8TEAhQhKiqO+FQaKWp0m39qwOzHVBgAUBIXWj1pB+O2W3fIpNa6Y9KSKCVbfPhyAQ==} + /katex@0.16.10: + resolution: {integrity: sha512-ZiqaC04tp2O5utMsl2TEZTXxa6WSC4yo0fv5ML++D3QZv/vx2Mct0mTlRx3O+uUkjfuAgOkzsCmq5MiUEsDDdA==} hasBin: true dependencies: commander: 8.3.0 @@ -12485,10 +12391,6 @@ packages: resolution: {integrity: sha512-AW4DRS3QbBayY/jJmD8437V1Gombjf8RSOUCMFBuo5iHi58AGEgVCKQ+ezHkZZDpAQS75hcBMpLqjpJTjtUL7w==} dev: true - /mdast-util-to-string@3.1.0: - resolution: {integrity: sha512-n4Vypz/DZgwo0iMHLQL49dJzlp7YtAJP+N07MZHpjPf/5XJuHUWstviF4Mn2jEiR/GNmtnRRqnwsXExk3igfFA==} - dev: true - /mdast-util-to-string@3.2.0: resolution: {integrity: sha512-V4Zn/ncyN1QNSqSBxTrMOLpjr+IKdHl2v3KVLoWmDPscP4r9GcCi71gjgvUV1SFSKh92AjAG4peFuBl2/YgCJg==} dependencies: @@ -13973,22 +13875,13 @@ packages: resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==} dev: false - /postcss@8.4.33: - resolution: {integrity: sha512-Kkpbhhdjw2qQs2O2DGX+8m5OVqEcbB9HRBvuYM9pgrjEFUg30A9LmXNlTAUj4S9kgtGyrMbTzVjH7E+s5Re2yg==} - engines: {node: ^10 || ^12 || >=14} - dependencies: - nanoid: 3.3.7 - picocolors: 1.0.0 - source-map-js: 1.0.2 - dev: true - /postcss@8.4.36: resolution: {integrity: sha512-/n7eumA6ZjFHAsbX30yhHup/IMkOmlmvtEi7P+6RMYf+bGJSUHc3geH4a0NSZxAz/RJfiS9tooCTs9LAVYUZKw==} engines: {node: ^10 || ^12 || >=14} dependencies: nanoid: 3.3.7 picocolors: 1.0.0 - source-map-js: 1.1.0 + source-map-js: 1.2.0 /postcss@8.4.38: resolution: {integrity: sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A==} @@ -14379,8 +14272,8 @@ packages: - supports-color dev: true - /remark-parse@10.0.1: - resolution: {integrity: sha512-1fUyHr2jLsVOkhbvPRBJ5zTKZZyD6yZzYaWCS6BPBdQ8vEMBCH+9zNCDA6tET/zHCi/jLqjCWtlJZUPk+DbnFw==} + /remark-parse@10.0.2: + resolution: {integrity: sha512-3ydxgHa/ZQzG8LvC7jTXccARYDcRld3VfcgIIFs7bI6vbRSxJJmzgLEIIoYKyrfhaY+ujuWaf/PJiMZXoiCXgw==} dependencies: '@types/mdast': 3.0.15 mdast-util-from-markdown: 1.3.1 @@ -14400,8 +14293,8 @@ packages: - supports-color dev: true - /remark-stringify@10.0.2: - resolution: {integrity: sha512-6wV3pvbPvHkbNnWB0wdDvVFHOe1hBRAx1Q/5g/EpH4RppAII6J8Gnwe7VbHuXaoKIF6LAg6ExTel/+kNqSQ7lw==} + /remark-stringify@10.0.3: + resolution: {integrity: sha512-koyOzCMYoUHudypbj4XpnAKFbkddRMYZHwghnxd7ue5210WzGw6kOBwauJTRUMq16jsovXx8dYNvSSWP89kZ3A==} dependencies: '@types/mdast': 3.0.15 mdast-util-to-markdown: 1.5.0 @@ -14613,37 +14506,14 @@ packages: fsevents: 2.3.3 dev: true - /rollup@3.28.0: - resolution: {integrity: sha512-d7zhvo1OUY2SXSM6pfNjgD5+d0Nz87CUp4mt8l/GgVP3oBsPwzNvSzyu1me6BSG9JIgWNTVcafIXBIyM8yQ3yw==} + /rollup@3.29.4: + resolution: {integrity: sha512-oWzmBZwvYrU0iJHtDmhsm662rC15FRXmcjCk1xD771dFDx5jJ02ufAQQTn0etB2emNk4J9EZg/yWKpsn9BWGRw==} engines: {node: '>=14.18.0', npm: '>=8.0.0'} hasBin: true optionalDependencies: fsevents: 2.3.3 dev: true - /rollup@4.12.1: - resolution: {integrity: sha512-ggqQKvx/PsB0FaWXhIvVkSWh7a/PCLQAsMjBc+nA2M8Rv2/HG0X6zvixAB7KyZBRtifBUhy5k8voQX/mRnABPg==} - engines: {node: '>=18.0.0', npm: '>=8.0.0'} - hasBin: true - dependencies: - '@types/estree': 1.0.5 - optionalDependencies: - '@rollup/rollup-android-arm-eabi': 4.12.1 - '@rollup/rollup-android-arm64': 4.12.1 - '@rollup/rollup-darwin-arm64': 4.12.1 - '@rollup/rollup-darwin-x64': 4.12.1 - '@rollup/rollup-linux-arm-gnueabihf': 4.12.1 - '@rollup/rollup-linux-arm64-gnu': 4.12.1 - '@rollup/rollup-linux-arm64-musl': 4.12.1 - '@rollup/rollup-linux-riscv64-gnu': 4.12.1 - '@rollup/rollup-linux-x64-gnu': 4.12.1 - '@rollup/rollup-linux-x64-musl': 4.12.1 - '@rollup/rollup-win32-arm64-msvc': 4.12.1 - '@rollup/rollup-win32-ia32-msvc': 4.12.1 - '@rollup/rollup-win32-x64-msvc': 4.12.1 - fsevents: 2.3.3 - dev: true - /rollup@4.13.0: resolution: {integrity: sha512-3YegKemjoQnYKmsBlOHfMLVPPA5xLkQ8MHLLSw/fBrFaVkEayL51DilPpNNLq1exr98F2B1TzrV0FUlN3gWRPg==} engines: {node: '>=18.0.0', npm: '>=8.0.0'} @@ -15000,7 +14870,7 @@ packages: resolution: {integrity: sha512-94Bdh3cC2PKrbgSOUqTiGPWVZeSiXfKOVZNJniWoqrWrRkB1CJzBU3NEbiTsPcYy1lDsANA/THzS+9WBiy5nfQ==} engines: {node: '>= 10'} dependencies: - '@polka/url': 1.0.0-next.24 + '@polka/url': 1.0.0-next.25 mrmime: 2.0.0 totalist: 3.0.1 dev: true @@ -15096,7 +14966,6 @@ packages: /source-map-js@1.2.0: resolution: {integrity: sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==} engines: {node: '>=0.10.0'} - dev: true /source-map-support@0.5.13: resolution: {integrity: sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==} @@ -16105,10 +15974,10 @@ packages: resolution: {integrity: sha512-IG32jcKJlhARCYT2LsYPJWdoXYkzz3ESAdl1aa2hn9Auh+cgUmU6wgkII4yCc/1GgeWibRdELdCZh/p3QKQ1dQ==} dev: true - /unist-util-inspect@7.0.1: - resolution: {integrity: sha512-gEPeSrsYXus8012VJ00p9uZC8D0iogtLLiHlBgvS61hU22KNKduQhMKezJm83viHlLf3TYS2y9SDEFglWPDMKw==} + /unist-util-inspect@8.0.0: + resolution: {integrity: sha512-/3Wn/wU6/H6UEo4FoYUeo8KUePN8ERiZpQYFWYoihOsr1DoDuv80PeB0hobVZyYSvALa2e556bG1A1/AbwU4yg==} dependencies: - '@types/unist': 2.0.10 + '@types/unist': 3.0.2 dev: true /unist-util-is@5.2.1: @@ -16185,7 +16054,7 @@ packages: engines: {node: '>= 10.0.0'} dev: true - /unocss@0.58.6(postcss@8.4.38)(rollup@2.79.1)(vite@4.5.2): + /unocss@0.58.6(postcss@8.4.38)(rollup@2.79.1)(vite@4.5.3): resolution: {integrity: sha512-HBstDtC6KKD5yCYh5hHpPdHGZai0B/iLlDwkOIK+xfQYrvl8tNBvKfRz3xgiaI5MJ+fLmEOxbfXQIjleU1A0iA==} engines: {node: '>=14'} peerDependencies: @@ -16197,7 +16066,7 @@ packages: vite: optional: true dependencies: - '@unocss/astro': 0.58.6(rollup@2.79.1)(vite@4.5.2) + '@unocss/astro': 0.58.6(rollup@2.79.1)(vite@4.5.3) '@unocss/cli': 0.58.6(rollup@2.79.1) '@unocss/core': 0.58.6 '@unocss/extractor-arbitrary-variants': 0.58.6 @@ -16216,8 +16085,8 @@ packages: '@unocss/transformer-compile-class': 0.58.6 '@unocss/transformer-directives': 0.58.6 '@unocss/transformer-variant-group': 0.58.6 - '@unocss/vite': 0.58.6(rollup@2.79.1)(vite@4.5.2) - vite: 4.5.2(@types/node@20.11.30) + '@unocss/vite': 0.58.6(rollup@2.79.1)(vite@4.5.3) + vite: 4.5.3(@types/node@20.11.30) transitivePeerDependencies: - postcss - rollup @@ -16325,7 +16194,7 @@ packages: hasBin: true dependencies: dequal: 2.0.3 - diff: 5.1.0 + diff: 5.2.0 kleur: 4.1.5 sade: 1.8.1 dev: true @@ -16400,7 +16269,7 @@ packages: debug: 4.3.4(supports-color@8.1.1) pathe: 1.1.2 picocolors: 1.0.0 - vite: 5.2.3(@types/node@20.11.30) + vite: 5.2.6(@types/node@20.11.30) transitivePeerDependencies: - '@types/node' - less @@ -16412,7 +16281,7 @@ packages: - terser dev: true - /vite-plugin-istanbul@6.0.0(vite@5.2.3): + /vite-plugin-istanbul@6.0.0(vite@4.5.3): resolution: {integrity: sha512-Vwh2XdesjcLwaPbHSOiWHh+0s7CNovQTPEjUCTkqmJUe0FN2TKsOp0qpoaklOuwrKlL9elhD5fPFxi5lmG62zA==} peerDependencies: vite: '>=4 <=6' @@ -16423,12 +16292,12 @@ packages: picocolors: 1.0.0 source-map: 0.7.4 test-exclude: 6.0.0 - vite: 5.2.3(@types/node@20.11.30) + vite: 4.5.3(@types/node@20.11.30) transitivePeerDependencies: - supports-color dev: true - /vite-plugin-pwa@0.19.7(vite@4.5.2)(workbox-build@7.0.0)(workbox-window@7.0.0): + /vite-plugin-pwa@0.19.7(vite@4.5.3)(workbox-build@7.0.0)(workbox-window@7.0.0): resolution: {integrity: sha512-18TECxoGPQE7tVZzKxbf5Icrl5688n1JGMPSgGotTsh89vLDxevY7ICfD3CFVfonZXh8ckuyJXg0NXE5+FAl2A==} engines: {node: '>=16.0.0'} peerDependencies: @@ -16443,15 +16312,15 @@ packages: debug: 4.3.4(supports-color@8.1.1) fast-glob: 3.3.2 pretty-bytes: 6.1.1 - vite: 4.5.2(@types/node@20.11.30) + vite: 4.5.3(@types/node@20.11.30) workbox-build: 7.0.0 workbox-window: 7.0.0 transitivePeerDependencies: - supports-color dev: true - /vite@4.5.2(@types/node@20.11.30): - resolution: {integrity: sha512-tBCZBNSBbHQkaGyhGCDUGqeo2ph8Fstyp6FMSvTtsXeZSPpSMGlviAOav2hxVTqFcx8Hj/twtWKsMJXNY0xI8w==} + /vite@4.5.3(@types/node@20.11.30): + resolution: {integrity: sha512-kQL23kMeX92v3ph7IauVkXkikdDRsYMGTVl5KY2E9OY4ONLvkHf04MDTbnfo6NKxZiDLWzVpP5oTa8hQD8U3dg==} engines: {node: ^14.18.0 || >=16.0.0} hasBin: true peerDependencies: @@ -16480,14 +16349,14 @@ packages: dependencies: '@types/node': 20.11.30 esbuild: 0.18.20 - postcss: 8.4.33 - rollup: 3.28.0 + postcss: 8.4.38 + rollup: 3.29.4 optionalDependencies: fsevents: 2.3.3 dev: true - /vite@5.1.5(@types/node@20.11.30): - resolution: {integrity: sha512-BdN1xh0Of/oQafhU+FvopafUp6WaYenLU/NFoL5WyJL++GxkNfieKzBhM24H3HVsPQrlAqB7iJYTHabzaRed5Q==} + /vite@5.2.3(@types/node@20.11.30): + resolution: {integrity: sha512-+i1oagbvkVIhEy9TnEV+fgXsng13nZM90JQbrcPrf6DvW2mXARlz+DK7DLiDP+qeKoD1FCVx/1SpFL1CLq9Mhw==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true peerDependencies: @@ -16515,15 +16384,15 @@ packages: optional: true dependencies: '@types/node': 20.11.30 - esbuild: 0.19.12 - postcss: 8.4.36 - rollup: 4.12.1 + esbuild: 0.20.2 + postcss: 8.4.38 + rollup: 4.13.0 optionalDependencies: fsevents: 2.3.3 dev: true - /vite@5.2.3(@types/node@20.11.30): - resolution: {integrity: sha512-+i1oagbvkVIhEy9TnEV+fgXsng13nZM90JQbrcPrf6DvW2mXARlz+DK7DLiDP+qeKoD1FCVx/1SpFL1CLq9Mhw==} + /vite@5.2.6(@types/node@20.11.30): + resolution: {integrity: sha512-FPtnxFlSIKYjZ2eosBQamz4CbyrTizbZ3hnGJlh/wMtCrlp1Hah6AzBLjGI5I2urTfNnpovpHdrL6YRuBOPnCA==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true peerDependencies: @@ -16592,7 +16461,7 @@ packages: '@shikijs/core': 1.1.7 '@shikijs/transformers': 1.1.7 '@types/markdown-it': 13.0.7 - '@vitejs/plugin-vue': 5.0.4(vite@5.1.5)(vue@3.4.21) + '@vitejs/plugin-vue': 5.0.4(vite@5.2.6)(vue@3.4.21) '@vue/devtools-api': 7.0.16(vue@3.4.21) '@vueuse/core': 10.9.0(vue@3.4.21) '@vueuse/integrations': 10.9.0(focus-trap@7.5.4)(vue@3.4.21) @@ -16601,7 +16470,7 @@ packages: minisearch: 6.3.0 postcss: 8.4.38 shiki: 1.1.7 - vite: 5.1.5(@types/node@20.11.30) + vite: 5.2.6(@types/node@20.11.30) vue: 3.4.21(typescript@5.4.3) transitivePeerDependencies: - '@algolia/client-search' @@ -16731,7 +16600,7 @@ packages: strip-literal: 2.0.0 tinybench: 2.6.0 tinypool: 0.8.2 - vite: 5.2.3(@types/node@20.11.30) + vite: 5.2.6(@types/node@20.11.30) vite-node: 1.4.0(@types/node@20.11.30) why-is-node-running: 2.2.2 transitivePeerDependencies: @@ -17519,19 +17388,6 @@ packages: yargs-parser: 18.1.3 dev: true - /yargs@17.6.2: - resolution: {integrity: sha512-1/9UrdHjDZc0eOU0HxOHoS78C69UD3JRMvzlJ7S79S2nTaWRA/whGCTV8o9e/N/1Va9YIV7Q4sOxD8VV4pCWOw==} - engines: {node: '>=12'} - dependencies: - cliui: 8.0.1 - escalade: 3.1.2 - get-caller-file: 2.0.5 - require-directory: 2.1.1 - string-width: 4.2.3 - y18n: 5.0.8 - yargs-parser: 21.1.1 - dev: true - /yargs@17.7.2: resolution: {integrity: sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==} engines: {node: '>=12'} From f476a7566c14dec4f95234a333c121f57105b6ef Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 25 Mar 2024 13:46:41 +0000 Subject: [PATCH 287/789] chore(deps): update all major dependencies --- .github/workflows/build.yml | 4 +- .github/workflows/codeql.yml | 6 +- .github/workflows/dependency-review.yml | 2 +- .github/workflows/e2e.yml | 6 +- .github/workflows/link-checker.yml | 2 +- .github/workflows/pr-labeler.yml | 2 +- .github/workflows/publish-docs.yml | 6 +- .github/workflows/release-draft.yml | 2 +- .github/workflows/test.yml | 2 +- .github/workflows/update-browserlist.yml | 2 +- cypress/platform/ashish2.html | 2 +- cypress/platform/class.html | 2 +- cypress/platform/current.html | 2 +- cypress/platform/current2.html | 2 +- cypress/platform/ghsa3.html | 2 +- cypress/platform/git-graph.html | 2 +- cypress/platform/gitgraph.html | 2 +- cypress/platform/gitgraph2.html | 2 +- cypress/platform/knsv.html | 2 +- cypress/platform/knsv2.html | 2 +- cypress/platform/per.html | 2 +- cypress/platform/showcase_base.html | 2 +- cypress/platform/showcase_base_dark.html | 2 +- cypress/platform/showcase_dark.html | 2 +- cypress/platform/showcase_default.html | 2 +- cypress/platform/showcase_forest.html | 2 +- cypress/platform/showcase_neutral.html | 2 +- cypress/platform/xss10.html | 2 +- cypress/platform/xss11.html | 2 +- cypress/platform/xss12.html | 2 +- cypress/platform/xss13.html | 2 +- cypress/platform/xss14.html | 2 +- cypress/platform/xss15.html | 2 +- cypress/platform/xss16.html | 2 +- cypress/platform/xss17.html | 2 +- cypress/platform/xss18.html | 2 +- cypress/platform/xss19.html | 2 +- cypress/platform/xss20.html | 2 +- cypress/platform/xss21.html | 2 +- cypress/platform/xss23-css.html | 2 +- cypress/platform/xss24.html | 2 +- cypress/platform/xss4.html | 2 +- cypress/platform/xss5.html | 2 +- cypress/platform/xss6.html | 2 +- cypress/platform/xss7.html | 2 +- cypress/platform/xss8.html | 2 +- cypress/platform/xss9.html | 2 +- docker-compose.yml | 2 +- packages/mermaid-example-diagram/package.json | 2 +- packages/mermaid/package.json | 2 +- packages/mermaid/src/docs/package.json | 6 +- pnpm-lock.yaml | 871 ++---------------- 52 files changed, 112 insertions(+), 879 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index e0ab766079..bf54772bce 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -37,13 +37,13 @@ jobs: run: pnpm run build - name: Upload Mermaid Build as Artifact - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: name: mermaid-build path: packages/mermaid/dist - name: Upload Mermaid Mindmap Build as Artifact - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: name: mermaid-mindmap-build path: packages/mermaid-mindmap/dist diff --git a/.github/workflows/codeql.yml b/.github/workflows/codeql.yml index f8c50f47fa..764ec598cb 100644 --- a/.github/workflows/codeql.yml +++ b/.github/workflows/codeql.yml @@ -33,7 +33,7 @@ jobs: # Initializes the CodeQL tools for scanning. - name: Initialize CodeQL - uses: github/codeql-action/init@v2 + uses: github/codeql-action/init@v3 with: config-file: ./.github/codeql/codeql-config.yml languages: ${{ matrix.language }} @@ -45,7 +45,7 @@ jobs: # Autobuild attempts to build any compiled languages (C/C++, C#, or Java). # If this step fails, then you should remove it and run the build manually (see below) - name: Autobuild - uses: github/codeql-action/autobuild@v2 + uses: github/codeql-action/autobuild@v3 # ℹ️ Command-line programs to run using the OS shell. # 📚 See https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idstepsrun @@ -59,4 +59,4 @@ jobs: # make release - name: Perform CodeQL Analysis - uses: github/codeql-action/analyze@v2 + uses: github/codeql-action/analyze@v3 diff --git a/.github/workflows/dependency-review.yml b/.github/workflows/dependency-review.yml index 4e75197790..0d4a01360d 100644 --- a/.github/workflows/dependency-review.yml +++ b/.github/workflows/dependency-review.yml @@ -17,4 +17,4 @@ jobs: - name: 'Checkout Repository' uses: actions/checkout@v4 - name: 'Dependency Review' - uses: actions/dependency-review-action@v3 + uses: actions/dependency-review-action@v4 diff --git a/.github/workflows/e2e.yml b/.github/workflows/e2e.yml index 4d3152d533..6477c9eb5c 100644 --- a/.github/workflows/e2e.yml +++ b/.github/workflows/e2e.yml @@ -106,7 +106,7 @@ jobs: # These cached snapshots are downloaded, providing the reference snapshots. - name: Cache snapshots id: cache-snapshot - uses: actions/cache/restore@v3 + uses: actions/cache/restore@v4 with: path: ./cypress/snapshots key: ${{ runner.os }}-snapshots-${{ env.targetHash }} @@ -148,7 +148,7 @@ jobs: CYPRESS_COMMIT: ${{ github.sha }} - name: Upload Coverage to Codecov - uses: codecov/codecov-action@v3 + uses: codecov/codecov-action@v4 # Run step only pushes to develop and pull_requests if: ${{ steps.cypress.conclusion == 'success' && (github.event_name == 'pull_request' || github.ref == 'refs/heads/develop')}} with: @@ -185,7 +185,7 @@ jobs: - name: Save snapshots cache id: cache-upload if: ${{ github.event_name == 'push' && needs.e2e.result != 'failure' }} - uses: actions/cache/save@v3 + uses: actions/cache/save@v4 with: path: ./snapshots key: ${{ runner.os }}-snapshots-${{ github.event.after }} diff --git a/.github/workflows/link-checker.yml b/.github/workflows/link-checker.yml index 59d25b7c54..bf54d7df28 100644 --- a/.github/workflows/link-checker.yml +++ b/.github/workflows/link-checker.yml @@ -29,7 +29,7 @@ jobs: - uses: actions/checkout@v4 - name: Restore lychee cache - uses: actions/cache@v3 + uses: actions/cache@v4 with: path: .lycheecache key: cache-lychee-${{ github.sha }} diff --git a/.github/workflows/pr-labeler.yml b/.github/workflows/pr-labeler.yml index b2fc1cc26e..0965903467 100644 --- a/.github/workflows/pr-labeler.yml +++ b/.github/workflows/pr-labeler.yml @@ -22,7 +22,7 @@ jobs: pull-requests: write # write permission is required to label PRs steps: - name: Label PR - uses: release-drafter/release-drafter@v5 + uses: release-drafter/release-drafter@v6 with: config-name: pr-labeler.yml disable-autolabeler: false diff --git a/.github/workflows/publish-docs.yml b/.github/workflows/publish-docs.yml index 6efd90c7f7..fb70a90ecd 100644 --- a/.github/workflows/publish-docs.yml +++ b/.github/workflows/publish-docs.yml @@ -37,13 +37,13 @@ jobs: run: pnpm install --frozen-lockfile - name: Setup Pages - uses: actions/configure-pages@v3 + uses: actions/configure-pages@v4 - name: Run Build run: pnpm --filter mermaid run docs:build:vitepress - name: Upload artifact - uses: actions/upload-pages-artifact@v1 + uses: actions/upload-pages-artifact@v3 with: path: packages/mermaid/src/vitepress/.vitepress/dist @@ -56,4 +56,4 @@ jobs: steps: - name: Deploy to GitHub Pages id: deployment - uses: actions/deploy-pages@v2 + uses: actions/deploy-pages@v4 diff --git a/.github/workflows/release-draft.yml b/.github/workflows/release-draft.yml index 8e9c0da99e..657bc767a3 100644 --- a/.github/workflows/release-draft.yml +++ b/.github/workflows/release-draft.yml @@ -16,7 +16,7 @@ jobs: pull-requests: read # required to read PR titles/labels steps: - name: Draft Release - uses: release-drafter/release-drafter@v5 + uses: release-drafter/release-drafter@v6 with: disable-autolabeler: true env: diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 7160ecc5fe..a4bd264e05 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -39,7 +39,7 @@ jobs: pnpm exec vitest run ./packages/mermaid/src/diagrams/gantt/ganttDb.spec.ts --coverage - name: Upload Coverage to Codecov - uses: codecov/codecov-action@v3 + uses: codecov/codecov-action@v4 # Run step only pushes to develop and pull_requests if: ${{ github.event_name == 'pull_request' || github.ref == 'refs/heads/develop' }} with: diff --git a/.github/workflows/update-browserlist.yml b/.github/workflows/update-browserlist.yml index f4fa2a982f..9aac3d7b3b 100644 --- a/.github/workflows/update-browserlist.yml +++ b/.github/workflows/update-browserlist.yml @@ -19,7 +19,7 @@ jobs: message: 'chore: update browsers list' push: false - name: Create Pull Request - uses: peter-evans/create-pull-request@v5 + uses: peter-evans/create-pull-request@v6 with: branch: update-browserslist title: Update Browserslist diff --git a/cypress/platform/ashish2.html b/cypress/platform/ashish2.html index 34091d33d3..bb0aba27ed 100644 --- a/cypress/platform/ashish2.html +++ b/cypress/platform/ashish2.html @@ -4,7 +4,7 @@ = 14.0.0'} + /@adobe/jsonschema2md@8.0.1: + resolution: {integrity: sha512-dn5pRJQ7f2slIVmRwlNjRPEQuuAAsr883Ad136VnTUhuCCDe2fant1dEom/pXaN/CTgw5s4Mvvx+tRTuSNuICA==} + engines: {node: ^18.0.0 || >= 20.0.0} hasBin: true dependencies: '@adobe/helix-log': 6.0.1 @@ -568,10 +568,10 @@ packages: mdast-builder: 1.1.1 mdast-util-to-string: 4.0.0 readdirp: 3.6.0 - remark-gfm: 3.0.1 - remark-parse: 10.0.2 - remark-stringify: 10.0.3 - unified: 10.1.2 + remark-gfm: 4.0.0 + remark-parse: 11.0.0 + remark-stringify: 11.0.0 + unified: 11.0.4 unist-util-inspect: 8.0.0 yargs: 17.7.2 transitivePeerDependencies: @@ -2707,10 +2707,6 @@ packages: resolution: {integrity: sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==} dev: true - /@braintree/sanitize-url@6.0.4: - resolution: {integrity: sha512-s3jaWicZd0pkP0jf5ysyHUI/RE7MHos6qlToFcGWXVp+ykHOy77OUMrfbgJ9it2C5bow7OIQwYYaHjk9XlBQ2A==} - dev: false - /@braintree/sanitize-url@7.0.1: resolution: {integrity: sha512-URg8UM6lfC9ZYqFipItRSxYJdgpU5d2Z4KnjsJ+rj6tgAmGme7E+PQNCiud8g0HDaZKMovu2qjfa0f5Ge0Vlsg==} dev: false @@ -3211,15 +3207,6 @@ packages: dev: true optional: true - /@esbuild/android-arm64@0.18.20: - resolution: {integrity: sha512-Nz4rJcchGDtENV0eMKUNa6L12zz2zBDXuhj/Vjh18zGqB44Bi7MBMSXjgunJgjRhCmKOjnPuZp4Mb6OKqtMHLQ==} - engines: {node: '>=12'} - cpu: [arm64] - os: [android] - requiresBuild: true - dev: true - optional: true - /@esbuild/android-arm64@0.19.12: resolution: {integrity: sha512-P0UVNGIienjZv3f5zq0DP3Nt2IE/3plFzuaS96vihvD0Hd6H/q4WXUGpCxD/E8YrSXfNyRPbpTq+T8ZQioSuPA==} engines: {node: '>=12'} @@ -3238,15 +3225,6 @@ packages: dev: true optional: true - /@esbuild/android-arm@0.18.20: - resolution: {integrity: sha512-fyi7TDI/ijKKNZTUJAQqiG5T7YjJXgnzkURqmGj13C6dCqckZBLdl4h7bkhHt/t0WP+zO9/zwroDvANaOqO5Sw==} - engines: {node: '>=12'} - cpu: [arm] - os: [android] - requiresBuild: true - dev: true - optional: true - /@esbuild/android-arm@0.19.12: resolution: {integrity: sha512-qg/Lj1mu3CdQlDEEiWrlC4eaPZ1KztwGJ9B6J+/6G+/4ewxJg7gqj8eVYWvao1bXrqGiW2rsBZFSX3q2lcW05w==} engines: {node: '>=12'} @@ -3265,15 +3243,6 @@ packages: dev: true optional: true - /@esbuild/android-x64@0.18.20: - resolution: {integrity: sha512-8GDdlePJA8D6zlZYJV/jnrRAi6rOiNaCC/JclcXpB+KIuvfBN4owLtgzY2bsxnx666XjJx2kDPUmnTtR8qKQUg==} - engines: {node: '>=12'} - cpu: [x64] - os: [android] - requiresBuild: true - dev: true - optional: true - /@esbuild/android-x64@0.19.12: resolution: {integrity: sha512-3k7ZoUW6Q6YqhdhIaq/WZ7HwBpnFBlW905Fa4s4qWJyiNOgT1dOqDiVAQFwBH7gBRZr17gLrlFCRzF6jFh7Kew==} engines: {node: '>=12'} @@ -3292,15 +3261,6 @@ packages: dev: true optional: true - /@esbuild/darwin-arm64@0.18.20: - resolution: {integrity: sha512-bxRHW5kHU38zS2lPTPOyuyTm+S+eobPUnTNkdJEfAddYgEcll4xkT8DB9d2008DtTbl7uJag2HuE5NZAZgnNEA==} - engines: {node: '>=12'} - cpu: [arm64] - os: [darwin] - requiresBuild: true - dev: true - optional: true - /@esbuild/darwin-arm64@0.19.12: resolution: {integrity: sha512-B6IeSgZgtEzGC42jsI+YYu9Z3HKRxp8ZT3cqhvliEHovq8HSX2YX8lNocDn79gCKJXOSaEot9MVYky7AKjCs8g==} engines: {node: '>=12'} @@ -3319,15 +3279,6 @@ packages: dev: true optional: true - /@esbuild/darwin-x64@0.18.20: - resolution: {integrity: sha512-pc5gxlMDxzm513qPGbCbDukOdsGtKhfxD1zJKXjCCcU7ju50O7MeAZ8c4krSJcOIJGFR+qx21yMMVYwiQvyTyQ==} - engines: {node: '>=12'} - cpu: [x64] - os: [darwin] - requiresBuild: true - dev: true - optional: true - /@esbuild/darwin-x64@0.19.12: resolution: {integrity: sha512-hKoVkKzFiToTgn+41qGhsUJXFlIjxI/jSYeZf3ugemDYZldIXIxhvwN6erJGlX4t5h417iFuheZ7l+YVn05N3A==} engines: {node: '>=12'} @@ -3346,15 +3297,6 @@ packages: dev: true optional: true - /@esbuild/freebsd-arm64@0.18.20: - resolution: {integrity: sha512-yqDQHy4QHevpMAaxhhIwYPMv1NECwOvIpGCZkECn8w2WFHXjEwrBn3CeNIYsibZ/iZEUemj++M26W3cNR5h+Tw==} - engines: {node: '>=12'} - cpu: [arm64] - os: [freebsd] - requiresBuild: true - dev: true - optional: true - /@esbuild/freebsd-arm64@0.19.12: resolution: {integrity: sha512-4aRvFIXmwAcDBw9AueDQ2YnGmz5L6obe5kmPT8Vd+/+x/JMVKCgdcRwH6APrbpNXsPz+K653Qg8HB/oXvXVukA==} engines: {node: '>=12'} @@ -3373,15 +3315,6 @@ packages: dev: true optional: true - /@esbuild/freebsd-x64@0.18.20: - resolution: {integrity: sha512-tgWRPPuQsd3RmBZwarGVHZQvtzfEBOreNuxEMKFcd5DaDn2PbBxfwLcj4+aenoh7ctXcbXmOQIn8HI6mCSw5MQ==} - engines: {node: '>=12'} - cpu: [x64] - os: [freebsd] - requiresBuild: true - dev: true - optional: true - /@esbuild/freebsd-x64@0.19.12: resolution: {integrity: sha512-EYoXZ4d8xtBoVN7CEwWY2IN4ho76xjYXqSXMNccFSx2lgqOG/1TBPW0yPx1bJZk94qu3tX0fycJeeQsKovA8gg==} engines: {node: '>=12'} @@ -3400,15 +3333,6 @@ packages: dev: true optional: true - /@esbuild/linux-arm64@0.18.20: - resolution: {integrity: sha512-2YbscF+UL7SQAVIpnWvYwM+3LskyDmPhe31pE7/aoTMFKKzIc9lLbyGUpmmb8a8AixOL61sQ/mFh3jEjHYFvdA==} - engines: {node: '>=12'} - cpu: [arm64] - os: [linux] - requiresBuild: true - dev: true - optional: true - /@esbuild/linux-arm64@0.19.12: resolution: {integrity: sha512-EoTjyYyLuVPfdPLsGVVVC8a0p1BFFvtpQDB/YLEhaXyf/5bczaGeN15QkR+O4S5LeJ92Tqotve7i1jn35qwvdA==} engines: {node: '>=12'} @@ -3427,15 +3351,6 @@ packages: dev: true optional: true - /@esbuild/linux-arm@0.18.20: - resolution: {integrity: sha512-/5bHkMWnq1EgKr1V+Ybz3s1hWXok7mDFUMQ4cG10AfW3wL02PSZi5kFpYKrptDsgb2WAJIvRcDm+qIvXf/apvg==} - engines: {node: '>=12'} - cpu: [arm] - os: [linux] - requiresBuild: true - dev: true - optional: true - /@esbuild/linux-arm@0.19.12: resolution: {integrity: sha512-J5jPms//KhSNv+LO1S1TX1UWp1ucM6N6XuL6ITdKWElCu8wXP72l9MM0zDTzzeikVyqFE6U8YAV9/tFyj0ti+w==} engines: {node: '>=12'} @@ -3454,15 +3369,6 @@ packages: dev: true optional: true - /@esbuild/linux-ia32@0.18.20: - resolution: {integrity: sha512-P4etWwq6IsReT0E1KHU40bOnzMHoH73aXp96Fs8TIT6z9Hu8G6+0SHSw9i2isWrD2nbx2qo5yUqACgdfVGx7TA==} - engines: {node: '>=12'} - cpu: [ia32] - os: [linux] - requiresBuild: true - dev: true - optional: true - /@esbuild/linux-ia32@0.19.12: resolution: {integrity: sha512-Thsa42rrP1+UIGaWz47uydHSBOgTUnwBwNq59khgIwktK6x60Hivfbux9iNR0eHCHzOLjLMLfUMLCypBkZXMHA==} engines: {node: '>=12'} @@ -3481,15 +3387,6 @@ packages: dev: true optional: true - /@esbuild/linux-loong64@0.18.20: - resolution: {integrity: sha512-nXW8nqBTrOpDLPgPY9uV+/1DjxoQ7DoB2N8eocyq8I9XuqJ7BiAMDMf9n1xZM9TgW0J8zrquIb/A7s3BJv7rjg==} - engines: {node: '>=12'} - cpu: [loong64] - os: [linux] - requiresBuild: true - dev: true - optional: true - /@esbuild/linux-loong64@0.19.12: resolution: {integrity: sha512-LiXdXA0s3IqRRjm6rV6XaWATScKAXjI4R4LoDlvO7+yQqFdlr1Bax62sRwkVvRIrwXxvtYEHHI4dm50jAXkuAA==} engines: {node: '>=12'} @@ -3508,15 +3405,6 @@ packages: dev: true optional: true - /@esbuild/linux-mips64el@0.18.20: - resolution: {integrity: sha512-d5NeaXZcHp8PzYy5VnXV3VSd2D328Zb+9dEq5HE6bw6+N86JVPExrA6O68OPwobntbNJ0pzCpUFZTo3w0GyetQ==} - engines: {node: '>=12'} - cpu: [mips64el] - os: [linux] - requiresBuild: true - dev: true - optional: true - /@esbuild/linux-mips64el@0.19.12: resolution: {integrity: sha512-fEnAuj5VGTanfJ07ff0gOA6IPsvrVHLVb6Lyd1g2/ed67oU1eFzL0r9WL7ZzscD+/N6i3dWumGE1Un4f7Amf+w==} engines: {node: '>=12'} @@ -3535,15 +3423,6 @@ packages: dev: true optional: true - /@esbuild/linux-ppc64@0.18.20: - resolution: {integrity: sha512-WHPyeScRNcmANnLQkq6AfyXRFr5D6N2sKgkFo2FqguP44Nw2eyDlbTdZwd9GYk98DZG9QItIiTlFLHJHjxP3FA==} - engines: {node: '>=12'} - cpu: [ppc64] - os: [linux] - requiresBuild: true - dev: true - optional: true - /@esbuild/linux-ppc64@0.19.12: resolution: {integrity: sha512-nYJA2/QPimDQOh1rKWedNOe3Gfc8PabU7HT3iXWtNUbRzXS9+vgB0Fjaqr//XNbd82mCxHzik2qotuI89cfixg==} engines: {node: '>=12'} @@ -3562,15 +3441,6 @@ packages: dev: true optional: true - /@esbuild/linux-riscv64@0.18.20: - resolution: {integrity: sha512-WSxo6h5ecI5XH34KC7w5veNnKkju3zBRLEQNY7mv5mtBmrP/MjNBCAlsM2u5hDBlS3NGcTQpoBvRzqBcRtpq1A==} - engines: {node: '>=12'} - cpu: [riscv64] - os: [linux] - requiresBuild: true - dev: true - optional: true - /@esbuild/linux-riscv64@0.19.12: resolution: {integrity: sha512-2MueBrlPQCw5dVJJpQdUYgeqIzDQgw3QtiAHUC4RBz9FXPrskyyU3VI1hw7C0BSKB9OduwSJ79FTCqtGMWqJHg==} engines: {node: '>=12'} @@ -3589,15 +3459,6 @@ packages: dev: true optional: true - /@esbuild/linux-s390x@0.18.20: - resolution: {integrity: sha512-+8231GMs3mAEth6Ja1iK0a1sQ3ohfcpzpRLH8uuc5/KVDFneH6jtAJLFGafpzpMRO6DzJ6AvXKze9LfFMrIHVQ==} - engines: {node: '>=12'} - cpu: [s390x] - os: [linux] - requiresBuild: true - dev: true - optional: true - /@esbuild/linux-s390x@0.19.12: resolution: {integrity: sha512-+Pil1Nv3Umes4m3AZKqA2anfhJiVmNCYkPchwFJNEJN5QxmTs1uzyy4TvmDrCRNT2ApwSari7ZIgrPeUx4UZDg==} engines: {node: '>=12'} @@ -3616,15 +3477,6 @@ packages: dev: true optional: true - /@esbuild/linux-x64@0.18.20: - resolution: {integrity: sha512-UYqiqemphJcNsFEskc73jQ7B9jgwjWrSayxawS6UVFZGWrAAtkzjxSqnoclCXxWtfwLdzU+vTpcNYhpn43uP1w==} - engines: {node: '>=12'} - cpu: [x64] - os: [linux] - requiresBuild: true - dev: true - optional: true - /@esbuild/linux-x64@0.19.12: resolution: {integrity: sha512-B71g1QpxfwBvNrfyJdVDexenDIt1CiDN1TIXLbhOw0KhJzE78KIFGX6OJ9MrtC0oOqMWf+0xop4qEU8JrJTwCg==} engines: {node: '>=12'} @@ -3643,15 +3495,6 @@ packages: dev: true optional: true - /@esbuild/netbsd-x64@0.18.20: - resolution: {integrity: sha512-iO1c++VP6xUBUmltHZoMtCUdPlnPGdBom6IrO4gyKPFFVBKioIImVooR5I83nTew5UOYrk3gIJhbZh8X44y06A==} - engines: {node: '>=12'} - cpu: [x64] - os: [netbsd] - requiresBuild: true - dev: true - optional: true - /@esbuild/netbsd-x64@0.19.12: resolution: {integrity: sha512-3ltjQ7n1owJgFbuC61Oj++XhtzmymoCihNFgT84UAmJnxJfm4sYCiSLTXZtE00VWYpPMYc+ZQmB6xbSdVh0JWA==} engines: {node: '>=12'} @@ -3670,15 +3513,6 @@ packages: dev: true optional: true - /@esbuild/openbsd-x64@0.18.20: - resolution: {integrity: sha512-e5e4YSsuQfX4cxcygw/UCPIEP6wbIL+se3sxPdCiMbFLBWu0eiZOJ7WoD+ptCLrmjZBK1Wk7I6D/I3NglUGOxg==} - engines: {node: '>=12'} - cpu: [x64] - os: [openbsd] - requiresBuild: true - dev: true - optional: true - /@esbuild/openbsd-x64@0.19.12: resolution: {integrity: sha512-RbrfTB9SWsr0kWmb9srfF+L933uMDdu9BIzdA7os2t0TXhCRjrQyCeOt6wVxr79CKD4c+p+YhCj31HBkYcXebw==} engines: {node: '>=12'} @@ -3697,15 +3531,6 @@ packages: dev: true optional: true - /@esbuild/sunos-x64@0.18.20: - resolution: {integrity: sha512-kDbFRFp0YpTQVVrqUd5FTYmWo45zGaXe0X8E1G/LKFC0v8x0vWrhOWSLITcCn63lmZIxfOMXtCfti/RxN/0wnQ==} - engines: {node: '>=12'} - cpu: [x64] - os: [sunos] - requiresBuild: true - dev: true - optional: true - /@esbuild/sunos-x64@0.19.12: resolution: {integrity: sha512-HKjJwRrW8uWtCQnQOz9qcU3mUZhTUQvi56Q8DPTLLB+DawoiQdjsYq+j+D3s9I8VFtDr+F9CjgXKKC4ss89IeA==} engines: {node: '>=12'} @@ -3724,15 +3549,6 @@ packages: dev: true optional: true - /@esbuild/win32-arm64@0.18.20: - resolution: {integrity: sha512-ddYFR6ItYgoaq4v4JmQQaAI5s7npztfV4Ag6NrhiaW0RrnOXqBkgwZLofVTlq1daVTQNhtI5oieTvkRPfZrePg==} - engines: {node: '>=12'} - cpu: [arm64] - os: [win32] - requiresBuild: true - dev: true - optional: true - /@esbuild/win32-arm64@0.19.12: resolution: {integrity: sha512-URgtR1dJnmGvX864pn1B2YUYNzjmXkuJOIqG2HdU62MVS4EHpU2946OZoTMnRUHklGtJdJZ33QfzdjGACXhn1A==} engines: {node: '>=12'} @@ -3751,15 +3567,6 @@ packages: dev: true optional: true - /@esbuild/win32-ia32@0.18.20: - resolution: {integrity: sha512-Wv7QBi3ID/rROT08SABTS7eV4hX26sVduqDOTe1MvGMjNd3EjOz4b7zeexIR62GTIEKrfJXKL9LFxTYgkyeu7g==} - engines: {node: '>=12'} - cpu: [ia32] - os: [win32] - requiresBuild: true - dev: true - optional: true - /@esbuild/win32-ia32@0.19.12: resolution: {integrity: sha512-+ZOE6pUkMOJfmxmBZElNOx72NKpIa/HFOMGzu8fqzQJ5kgf6aTGrcJaFsNiVMH4JKpMipyK+7k0n2UXN7a8YKQ==} engines: {node: '>=12'} @@ -3778,15 +3585,6 @@ packages: dev: true optional: true - /@esbuild/win32-x64@0.18.20: - resolution: {integrity: sha512-kTdfRcSiDfQca/y9QIkng02avJ+NCaQvrMejlsB3RRv5sE9rRoeBPISaZpKxHELzRxZyLvNts1P27W3wV+8geQ==} - engines: {node: '>=12'} - cpu: [x64] - os: [win32] - requiresBuild: true - dev: true - optional: true - /@esbuild/win32-x64@0.19.12: resolution: {integrity: sha512-T1QyPSDCyMXaO3pzBkF96E8xMkiRYbUEZADd29SyPGabqxMViNoii+NcK7eWJAEoU6RZyEm5lVSIjTmcdoB9HA==} engines: {node: '>=12'} @@ -4250,8 +4048,8 @@ packages: resolution: {integrity: sha512-Hcv+nVC0kZnQ3tD9GVu5xSMR4VVYOteQIr/hwFPVEvPdlXqgGEuRjiheChHgdM+JyqdgNcmzZOX/tnl0JOiI7A==} dev: true - /@mdi/font@6.9.96: - resolution: {integrity: sha512-z3QVZStyHVwkDsFR7A7F2PIvZJPWgdSFw4BEEy2Gc9HUN5NfK9mGbjgaYClRcbMWiYEV45srmiYtczmBtCqR8w==} + /@mdi/font@7.4.47: + resolution: {integrity: sha512-43MtGpd585SNzHZPcYowu/84Vz2a2g31TvPMTm9uTiCSWzaheQySUcSyUH/46fPnuPQWof2yd0pGBtzee/IQWw==} dev: false /@microsoft/tsdoc-config@0.16.2: @@ -5422,7 +5220,7 @@ packages: resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==} dev: true - /@unocss/astro@0.58.6(rollup@2.79.1)(vite@4.5.3): + /@unocss/astro@0.58.6(rollup@2.79.1)(vite@5.2.6): resolution: {integrity: sha512-0BvbhEp5Ln6wFNnhISusB2hcfycWkdgnjlFMcLT69efvj4G39MzB6JYT/1qiidLfpj35HcqkpBz7TfZ4bUmOAw==} peerDependencies: vite: ^2.9.0 || ^3.0.0-0 || ^4.0.0 || ^5.0.0-0 @@ -5432,8 +5230,8 @@ packages: dependencies: '@unocss/core': 0.58.6 '@unocss/reset': 0.58.6 - '@unocss/vite': 0.58.6(rollup@2.79.1)(vite@4.5.3) - vite: 4.5.3(@types/node@20.11.30) + '@unocss/vite': 0.58.6(rollup@2.79.1)(vite@5.2.6) + vite: 5.2.6(@types/node@20.11.30) transitivePeerDependencies: - rollup dev: true @@ -5616,7 +5414,7 @@ packages: '@unocss/core': 0.58.6 dev: true - /@unocss/vite@0.58.6(rollup@2.79.1)(vite@4.5.3): + /@unocss/vite@0.58.6(rollup@2.79.1)(vite@5.2.6): resolution: {integrity: sha512-DPXCoYU/Ozqc/Jeptd41XvtW8MSgVxmtTyhpMAsm/hJuBfwIV7Fy3TZquf4V9BpaTb4ao1LVXzgXmVUmj2HXpA==} peerDependencies: vite: ^2.9.0 || ^3.0.0-0 || ^4.0.0 || ^5.0.0-0 @@ -5631,7 +5429,7 @@ packages: chokidar: 3.6.0 fast-glob: 3.3.2 magic-string: 0.30.8 - vite: 4.5.3(@types/node@20.11.30) + vite: 5.2.6(@types/node@20.11.30) transitivePeerDependencies: - rollup dev: true @@ -5645,18 +5443,7 @@ packages: '@vite-pwa/assets-generator': optional: true dependencies: - vite-plugin-pwa: 0.19.7(vite@4.5.3)(workbox-build@7.0.0)(workbox-window@7.0.0) - dev: true - - /@vitejs/plugin-vue@4.6.2(vite@4.5.3)(vue@3.4.21): - resolution: {integrity: sha512-kqf7SGFoG+80aZG6Pf+gsZIVvGSCKE98JbiWqcCV9cThtg91Jav0yvYFC9Zb+jKetNGF6ZKeoaxgZfND21fWKw==} - engines: {node: ^14.18.0 || >=16.0.0} - peerDependencies: - vite: ^4.0.0 || ^5.0.0 - vue: ^3.2.25 - dependencies: - vite: 4.5.3(@types/node@20.11.30) - vue: 3.4.21(typescript@5.4.3) + vite-plugin-pwa: 0.19.7(vite@5.2.6)(workbox-build@7.0.0)(workbox-window@7.0.0) dev: true /@vitejs/plugin-vue@5.0.4(vite@5.2.3)(vue@3.4.21): @@ -8392,11 +8179,6 @@ packages: engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dev: true - /diff@5.2.0: - resolution: {integrity: sha512-uIFDxqpRZGZ6ThOk84hEfqWoHx2devRFvpTZcTHur85vImfaxUbTW9Ryh4CpCuDnToOP1CEtXKIgytHBPVff5A==} - engines: {node: '>=0.3.1'} - dev: true - /dir-glob@3.0.1: resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} engines: {node: '>=8'} @@ -8718,36 +8500,6 @@ packages: es6-symbol: 3.1.4 dev: true - /esbuild@0.18.20: - resolution: {integrity: sha512-ceqxoedUrcayh7Y7ZX6NdbbDzGROiyVBgC4PriJThBKSVPWnnFHZAkfI1lJT8QFkOwH4qOS2SJkS4wvpGl8BpA==} - engines: {node: '>=12'} - hasBin: true - requiresBuild: true - optionalDependencies: - '@esbuild/android-arm': 0.18.20 - '@esbuild/android-arm64': 0.18.20 - '@esbuild/android-x64': 0.18.20 - '@esbuild/darwin-arm64': 0.18.20 - '@esbuild/darwin-x64': 0.18.20 - '@esbuild/freebsd-arm64': 0.18.20 - '@esbuild/freebsd-x64': 0.18.20 - '@esbuild/linux-arm': 0.18.20 - '@esbuild/linux-arm64': 0.18.20 - '@esbuild/linux-ia32': 0.18.20 - '@esbuild/linux-loong64': 0.18.20 - '@esbuild/linux-mips64el': 0.18.20 - '@esbuild/linux-ppc64': 0.18.20 - '@esbuild/linux-riscv64': 0.18.20 - '@esbuild/linux-s390x': 0.18.20 - '@esbuild/linux-x64': 0.18.20 - '@esbuild/netbsd-x64': 0.18.20 - '@esbuild/openbsd-x64': 0.18.20 - '@esbuild/sunos-x64': 0.18.20 - '@esbuild/win32-arm64': 0.18.20 - '@esbuild/win32-ia32': 0.18.20 - '@esbuild/win32-x64': 0.18.20 - dev: true - /esbuild@0.19.12: resolution: {integrity: sha512-aARqgq8roFBj054KvQr5f1sFu0D65G+miZRCuJyJ0G13Zwx7vRar5Zhn2tkQNzIXcBrNVsv/8stehpj+GAjgbg==} engines: {node: '>=12'} @@ -10610,11 +10362,6 @@ packages: has-tostringtag: 1.0.2 dev: true - /is-buffer@2.0.5: - resolution: {integrity: sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==} - engines: {node: '>=4'} - dev: true - /is-builtin-module@3.2.1: resolution: {integrity: sha512-BSLE3HnV2syZ0FK0iMA/yUGplUeMmNz4AW5fnTunbCIqZi4vG3WjJT9FHMy5D69xmAYBHXQhJdALdpwVxV501A==} engines: {node: '>=6'} @@ -11735,11 +11482,6 @@ packages: engines: {node: '>=6'} dev: true - /kleur@4.1.5: - resolution: {integrity: sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==} - engines: {node: '>=6'} - dev: true - /kolorist@1.8.0: resolution: {integrity: sha512-Y+60/zizpJ3HRH8DCss+q95yr6145JXZo46OTpFvDZWLfRCE4qChOyk1b26nMaNpfHHgxagk9dXT5OP0Tfe+dQ==} dev: true @@ -12078,7 +11820,7 @@ packages: dependencies: '@babel/parser': 7.24.0 '@babel/types': 7.24.0 - source-map-js: 1.1.0 + source-map-js: 1.2.0 dev: true /make-dir@3.1.0: @@ -12142,15 +11884,6 @@ packages: '@types/unist': 2.0.10 dev: true - /mdast-util-find-and-replace@2.2.2: - resolution: {integrity: sha512-MTtdFRz/eMDHXzeK6W3dO7mXUlF82Gom4y0oOgvHhh/HXZAGvIQDUvQ0SuUx+j2tv44b8xTHOm8K/9OoRFnXKw==} - dependencies: - '@types/mdast': 3.0.15 - escape-string-regexp: 5.0.0 - unist-util-is: 5.2.1 - unist-util-visit-parents: 5.1.3 - dev: true - /mdast-util-find-and-replace@3.0.1: resolution: {integrity: sha512-SG21kZHGC3XRTSUhtofZkBzZTJNM5ecCi0SK2IMKmSXR8vO3peL+kb1O0z7Zl83jKtutG4k5Wv/W7V3/YHvzPA==} dependencies: @@ -12172,25 +11905,6 @@ packages: - supports-color dev: true - /mdast-util-from-markdown@1.3.1: - resolution: {integrity: sha512-4xTO/M8c82qBcnQc1tgpNtubGUW/Y1tBQ1B0i5CtSoelOLKFYlElIr3bvgREYYO5iRqbMY1YuqZng0GVOI8Qww==} - dependencies: - '@types/mdast': 3.0.15 - '@types/unist': 2.0.10 - decode-named-character-reference: 1.0.2 - mdast-util-to-string: 3.2.0 - micromark: 3.2.0 - micromark-util-decode-numeric-character-reference: 1.1.0 - micromark-util-decode-string: 1.1.0 - micromark-util-normalize-identifier: 1.1.0 - micromark-util-symbol: 1.1.0 - micromark-util-types: 1.1.0 - unist-util-stringify-position: 3.0.3 - uvu: 0.5.6 - transitivePeerDependencies: - - supports-color - dev: true - /mdast-util-from-markdown@2.0.0: resolution: {integrity: sha512-n7MTOr/z+8NAX/wmhhDji8O3bRvPTV/U0oTCaZJkjhPSKTPhS3xufVhKGF8s1pJ7Ox4QgoIU7KHseh09S+9rTA==} dependencies: @@ -12222,15 +11936,6 @@ packages: - supports-color dev: true - /mdast-util-gfm-autolink-literal@1.0.3: - resolution: {integrity: sha512-My8KJ57FYEy2W2LyNom4n3E7hKTuQk/0SES0u16tjA9Z3oFkF4RrC/hPAPgjlSpezsOvI8ObcXcElo92wn5IGA==} - dependencies: - '@types/mdast': 3.0.15 - ccount: 2.0.1 - mdast-util-find-and-replace: 2.2.2 - micromark-util-character: 1.2.0 - dev: true - /mdast-util-gfm-autolink-literal@2.0.0: resolution: {integrity: sha512-FyzMsduZZHSc3i0Px3PQcBT4WJY/X/RCtEJKuybiC6sjPqLv7h1yqAkmILZtuxMSsUyaLUWNp71+vQH2zqp5cg==} dependencies: @@ -12241,14 +11946,6 @@ packages: micromark-util-character: 2.1.0 dev: true - /mdast-util-gfm-footnote@1.0.2: - resolution: {integrity: sha512-56D19KOGbE00uKVj3sgIykpwKL179QsVFwx/DCW0u/0+URsryacI4MAdNJl0dh+u2PSsD9FtxPFbHCzJ78qJFQ==} - dependencies: - '@types/mdast': 3.0.15 - mdast-util-to-markdown: 1.5.0 - micromark-util-normalize-identifier: 1.1.0 - dev: true - /mdast-util-gfm-footnote@2.0.0: resolution: {integrity: sha512-5jOT2boTSVkMnQ7LTrd6n/18kqwjmuYqo7JUPe+tRCY6O7dAuTFMtTPauYYrMPpox9hlN0uOx/FL8XvEfG9/mQ==} dependencies: @@ -12261,13 +11958,6 @@ packages: - supports-color dev: true - /mdast-util-gfm-strikethrough@1.0.3: - resolution: {integrity: sha512-DAPhYzTYrRcXdMjUtUjKvW9z/FNAMTdU0ORyMcbmkwYNbKocDpdk+PX1L1dQgOID/+vVs1uBQ7ElrBQfZ0cuiQ==} - dependencies: - '@types/mdast': 3.0.15 - mdast-util-to-markdown: 1.5.0 - dev: true - /mdast-util-gfm-strikethrough@2.0.0: resolution: {integrity: sha512-mKKb915TF+OC5ptj5bJ7WFRPdYtuHv0yTRxK2tJvi+BDqbkiG7h7u/9SI89nRAYcmap2xHQL9D+QG/6wSrTtXg==} dependencies: @@ -12278,17 +11968,6 @@ packages: - supports-color dev: true - /mdast-util-gfm-table@1.0.7: - resolution: {integrity: sha512-jjcpmNnQvrmN5Vx7y7lEc2iIOEytYv7rTvu+MeyAsSHTASGCCRA79Igg2uKssgOs1i1po8s3plW0sTu1wkkLGg==} - dependencies: - '@types/mdast': 3.0.15 - markdown-table: 3.0.3 - mdast-util-from-markdown: 1.3.1 - mdast-util-to-markdown: 1.5.0 - transitivePeerDependencies: - - supports-color - dev: true - /mdast-util-gfm-table@2.0.0: resolution: {integrity: sha512-78UEvebzz/rJIxLvE7ZtDd/vIQ0RHv+3Mh5DR96p7cS7HsBhYIICDBCu8csTNWNO6tBWfqXPWekRuj2FNOGOZg==} dependencies: @@ -12301,13 +11980,6 @@ packages: - supports-color dev: true - /mdast-util-gfm-task-list-item@1.0.2: - resolution: {integrity: sha512-PFTA1gzfp1B1UaiJVyhJZA1rm0+Tzn690frc/L8vNX1Jop4STZgOE6bxUhnzdVSB+vm2GU1tIsuQcA9bxTQpMQ==} - dependencies: - '@types/mdast': 3.0.15 - mdast-util-to-markdown: 1.5.0 - dev: true - /mdast-util-gfm-task-list-item@2.0.0: resolution: {integrity: sha512-IrtvNvjxC1o06taBAVJznEnkiHxLFTzgonUdy8hzFVeDun0uTjxxrRGVaNFqkU1wJR3RBPEfsxmU6jDWPofrTQ==} dependencies: @@ -12319,20 +11991,6 @@ packages: - supports-color dev: true - /mdast-util-gfm@2.0.2: - resolution: {integrity: sha512-qvZ608nBppZ4icQlhQQIAdc6S3Ffj9RGmzwUKUWuEICFnd1LVkN3EktF7ZHAgfcEdvZB5owU9tQgt99e2TlLjg==} - dependencies: - mdast-util-from-markdown: 1.3.1 - mdast-util-gfm-autolink-literal: 1.0.3 - mdast-util-gfm-footnote: 1.0.2 - mdast-util-gfm-strikethrough: 1.0.3 - mdast-util-gfm-table: 1.0.7 - mdast-util-gfm-task-list-item: 1.0.2 - mdast-util-to-markdown: 1.5.0 - transitivePeerDependencies: - - supports-color - dev: true - /mdast-util-gfm@3.0.0: resolution: {integrity: sha512-dgQEX5Amaq+DuUqf26jJqSK9qgixgd6rYDHAv4aTBuA92cTknZlKpPfa86Z/s8Dj8xsAQpFfBmPUHWJBWqS4Bw==} dependencies: @@ -12347,13 +12005,6 @@ packages: - supports-color dev: true - /mdast-util-phrasing@3.0.1: - resolution: {integrity: sha512-WmI1gTXUBJo4/ZmSk79Wcb2HcjPJBzM1nlI/OUWA8yk2X9ik3ffNbBGsU+09BFmXaL1IBb9fiuvq6/KMiNycSg==} - dependencies: - '@types/mdast': 3.0.15 - unist-util-is: 5.2.1 - dev: true - /mdast-util-phrasing@4.1.0: resolution: {integrity: sha512-TqICwyvJJpBwvGAMZjj4J2n0X8QWp21b9l0o7eXyVJ25YNWYbJDVIyD1bZXE6WtV6RmKJVYmQAKWa0zWOABz2w==} dependencies: @@ -12361,19 +12012,6 @@ packages: unist-util-is: 6.0.0 dev: true - /mdast-util-to-markdown@1.5.0: - resolution: {integrity: sha512-bbv7TPv/WC49thZPg3jXuqzuvI45IL2EVAr/KxF0BSdHsU0ceFHOmwQn6evxAh1GaoK/6GQ1wp4R4oW2+LFL/A==} - dependencies: - '@types/mdast': 3.0.15 - '@types/unist': 2.0.10 - longest-streak: 3.1.0 - mdast-util-phrasing: 3.0.1 - mdast-util-to-string: 3.2.0 - micromark-util-decode-string: 1.1.0 - unist-util-visit: 4.1.2 - zwitch: 2.0.4 - dev: true - /mdast-util-to-markdown@2.1.0: resolution: {integrity: sha512-SR2VnIEdVNCJbP6y7kVTJgPLifdr8WEU440fQec7qHoHOUz/oJ2jmNRqdDQ3rbiStOXb2mCDGTuwsK5OPUgYlQ==} dependencies: @@ -12391,12 +12029,6 @@ packages: resolution: {integrity: sha512-AW4DRS3QbBayY/jJmD8437V1Gombjf8RSOUCMFBuo5iHi58AGEgVCKQ+ezHkZZDpAQS75hcBMpLqjpJTjtUL7w==} dev: true - /mdast-util-to-string@3.2.0: - resolution: {integrity: sha512-V4Zn/ncyN1QNSqSBxTrMOLpjr+IKdHl2v3KVLoWmDPscP4r9GcCi71gjgvUV1SFSKh92AjAG4peFuBl2/YgCJg==} - dependencies: - '@types/mdast': 3.0.15 - dev: true - /mdast-util-to-string@4.0.0: resolution: {integrity: sha512-0H44vDimn51F0YwvxSJSm0eCDOJTRlmN0R1yBh4HLj9wiV1Dn0QoXGbvFAWj2hSItVTlCmBF1hqKlIyUBVFLPg==} dependencies: @@ -12461,27 +12093,6 @@ packages: engines: {node: '>= 0.6'} dev: true - /micromark-core-commonmark@1.1.0: - resolution: {integrity: sha512-BgHO1aRbolh2hcrzL2d1La37V0Aoz73ymF8rAcKnohLy93titmv62E0gP8Hrx9PKcKrqCZ1BbLGbP3bEhoXYlw==} - dependencies: - decode-named-character-reference: 1.0.2 - micromark-factory-destination: 1.1.0 - micromark-factory-label: 1.1.0 - micromark-factory-space: 1.1.0 - micromark-factory-title: 1.1.0 - micromark-factory-whitespace: 1.1.0 - micromark-util-character: 1.2.0 - micromark-util-chunked: 1.1.0 - micromark-util-classify-character: 1.1.0 - micromark-util-html-tag-name: 1.2.0 - micromark-util-normalize-identifier: 1.1.0 - micromark-util-resolve-all: 1.1.0 - micromark-util-subtokenize: 1.1.0 - micromark-util-symbol: 1.1.0 - micromark-util-types: 1.1.0 - uvu: 0.5.6 - dev: true - /micromark-core-commonmark@2.0.0: resolution: {integrity: sha512-jThOz/pVmAYUtkroV3D5c1osFXAMv9e0ypGDOIZuCeAe91/sD6BoE2Sjzt30yuXtwOYUmySOhMas/PVyh02itA==} dependencies: @@ -12511,15 +12122,6 @@ packages: micromark-util-types: 2.0.0 dev: true - /micromark-extension-gfm-autolink-literal@1.0.5: - resolution: {integrity: sha512-z3wJSLrDf8kRDOh2qBtoTRD53vJ+CWIyo7uyZuxf/JAbNJjiHsOpG1y5wxk8drtv3ETAHutCu6N3thkOOgueWg==} - dependencies: - micromark-util-character: 1.2.0 - micromark-util-sanitize-uri: 1.2.0 - micromark-util-symbol: 1.1.0 - micromark-util-types: 1.1.0 - dev: true - /micromark-extension-gfm-autolink-literal@2.0.0: resolution: {integrity: sha512-rTHfnpt/Q7dEAK1Y5ii0W8bhfJlVJFnJMHIPisfPK3gpVNuOP0VnRl96+YJ3RYWV/P4gFeQoGKNlT3RhuvpqAg==} dependencies: @@ -12529,19 +12131,6 @@ packages: micromark-util-types: 2.0.0 dev: true - /micromark-extension-gfm-footnote@1.1.2: - resolution: {integrity: sha512-Yxn7z7SxgyGWRNa4wzf8AhYYWNrwl5q1Z8ii+CSTTIqVkmGZF1CElX2JI8g5yGoM3GAman9/PVCUFUSJ0kB/8Q==} - dependencies: - micromark-core-commonmark: 1.1.0 - micromark-factory-space: 1.1.0 - micromark-util-character: 1.2.0 - micromark-util-normalize-identifier: 1.1.0 - micromark-util-sanitize-uri: 1.2.0 - micromark-util-symbol: 1.1.0 - micromark-util-types: 1.1.0 - uvu: 0.5.6 - dev: true - /micromark-extension-gfm-footnote@2.0.0: resolution: {integrity: sha512-6Rzu0CYRKDv3BfLAUnZsSlzx3ak6HAoI85KTiijuKIz5UxZxbUI+pD6oHgw+6UtQuiRwnGRhzMmPRv4smcz0fg==} dependencies: @@ -12555,17 +12144,6 @@ packages: micromark-util-types: 2.0.0 dev: true - /micromark-extension-gfm-strikethrough@1.0.7: - resolution: {integrity: sha512-sX0FawVE1o3abGk3vRjOH50L5TTLr3b5XMqnP9YDRb34M0v5OoZhG+OHFz1OffZ9dlwgpTBKaT4XW/AsUVnSDw==} - dependencies: - micromark-util-chunked: 1.1.0 - micromark-util-classify-character: 1.1.0 - micromark-util-resolve-all: 1.1.0 - micromark-util-symbol: 1.1.0 - micromark-util-types: 1.1.0 - uvu: 0.5.6 - dev: true - /micromark-extension-gfm-strikethrough@2.0.0: resolution: {integrity: sha512-c3BR1ClMp5fxxmwP6AoOY2fXO9U8uFMKs4ADD66ahLTNcwzSCyRVU4k7LPV5Nxo/VJiR4TdzxRQY2v3qIUceCw==} dependencies: @@ -12577,16 +12155,6 @@ packages: micromark-util-types: 2.0.0 dev: true - /micromark-extension-gfm-table@1.0.7: - resolution: {integrity: sha512-3ZORTHtcSnMQEKtAOsBQ9/oHp9096pI/UvdPtN7ehKvrmZZ2+bbWhi0ln+I9drmwXMt5boocn6OlwQzNXeVeqw==} - dependencies: - micromark-factory-space: 1.1.0 - micromark-util-character: 1.2.0 - micromark-util-symbol: 1.1.0 - micromark-util-types: 1.1.0 - uvu: 0.5.6 - dev: true - /micromark-extension-gfm-table@2.0.0: resolution: {integrity: sha512-PoHlhypg1ItIucOaHmKE8fbin3vTLpDOUg8KAr8gRCF1MOZI9Nquq2i/44wFvviM4WuxJzc3demT8Y3dkfvYrw==} dependencies: @@ -12597,28 +12165,12 @@ packages: micromark-util-types: 2.0.0 dev: true - /micromark-extension-gfm-tagfilter@1.0.2: - resolution: {integrity: sha512-5XWB9GbAUSHTn8VPU8/1DBXMuKYT5uOgEjJb8gN3mW0PNW5OPHpSdojoqf+iq1xo7vWzw/P8bAHY0n6ijpXF7g==} - dependencies: - micromark-util-types: 1.1.0 - dev: true - /micromark-extension-gfm-tagfilter@2.0.0: resolution: {integrity: sha512-xHlTOmuCSotIA8TW1mDIM6X2O1SiX5P9IuDtqGonFhEK0qgRI4yeC6vMxEV2dgyr2TiD+2PQ10o+cOhdVAcwfg==} dependencies: micromark-util-types: 2.0.0 dev: true - /micromark-extension-gfm-task-list-item@1.0.5: - resolution: {integrity: sha512-RMFXl2uQ0pNQy6Lun2YBYT9g9INXtWJULgbt01D/x8/6yJ2qpKyzdZD3pi6UIkzF++Da49xAelVKUeUMqd5eIQ==} - dependencies: - micromark-factory-space: 1.1.0 - micromark-util-character: 1.2.0 - micromark-util-symbol: 1.1.0 - micromark-util-types: 1.1.0 - uvu: 0.5.6 - dev: true - /micromark-extension-gfm-task-list-item@2.0.1: resolution: {integrity: sha512-cY5PzGcnULaN5O7T+cOzfMoHjBW7j+T9D2sucA5d/KbsBTPcYdebm9zUd9zzdgJGCwahV+/W78Z3nbulBYVbTw==} dependencies: @@ -12629,19 +12181,6 @@ packages: micromark-util-types: 2.0.0 dev: true - /micromark-extension-gfm@2.0.3: - resolution: {integrity: sha512-vb9OoHqrhCmbRidQv/2+Bc6pkP0FrtlhurxZofvOEy5o8RtuuvTq+RQ1Vw5ZDNrVraQZu3HixESqbG+0iKk/MQ==} - dependencies: - micromark-extension-gfm-autolink-literal: 1.0.5 - micromark-extension-gfm-footnote: 1.1.2 - micromark-extension-gfm-strikethrough: 1.0.7 - micromark-extension-gfm-table: 1.0.7 - micromark-extension-gfm-tagfilter: 1.0.2 - micromark-extension-gfm-task-list-item: 1.0.5 - micromark-util-combine-extensions: 1.1.0 - micromark-util-types: 1.1.0 - dev: true - /micromark-extension-gfm@3.0.0: resolution: {integrity: sha512-vsKArQsicm7t0z2GugkCKtZehqUm31oeGBV/KVSorWSy8ZlNAv7ytjFhvaryUiCUJYqs+NoE6AFhpQvBTM6Q4w==} dependencies: @@ -12655,14 +12194,6 @@ packages: micromark-util-types: 2.0.0 dev: true - /micromark-factory-destination@1.1.0: - resolution: {integrity: sha512-XaNDROBgx9SgSChd69pjiGKbV+nfHGDPVYFs5dOoDd7ZnMAE+Cuu91BCpsY8RT2NP9vo/B8pds2VQNCLiu0zhg==} - dependencies: - micromark-util-character: 1.2.0 - micromark-util-symbol: 1.1.0 - micromark-util-types: 1.1.0 - dev: true - /micromark-factory-destination@2.0.0: resolution: {integrity: sha512-j9DGrQLm/Uhl2tCzcbLhy5kXsgkHUrjJHg4fFAeoMRwJmJerT9aw4FEhIbZStWN8A3qMwOp1uzHr4UL8AInxtA==} dependencies: @@ -12670,15 +12201,6 @@ packages: micromark-util-symbol: 2.0.0 micromark-util-types: 2.0.0 - /micromark-factory-label@1.1.0: - resolution: {integrity: sha512-OLtyez4vZo/1NjxGhcpDSbHQ+m0IIGnT8BoPamh+7jVlzLJBH98zzuCoUeMxvM6WsNeh8wx8cKvqLiPHEACn0w==} - dependencies: - micromark-util-character: 1.2.0 - micromark-util-symbol: 1.1.0 - micromark-util-types: 1.1.0 - uvu: 0.5.6 - dev: true - /micromark-factory-label@2.0.0: resolution: {integrity: sha512-RR3i96ohZGde//4WSe/dJsxOX6vxIg9TimLAS3i4EhBAFx8Sm5SmqVfR8E87DPSR31nEAjZfbt91OMZWcNgdZw==} dependencies: @@ -12687,28 +12209,12 @@ packages: micromark-util-symbol: 2.0.0 micromark-util-types: 2.0.0 - /micromark-factory-space@1.1.0: - resolution: {integrity: sha512-cRzEj7c0OL4Mw2v6nwzttyOZe8XY/Z8G0rzmWQZTBi/jjwyw/U4uqKtUORXQrR5bAZZnbTI/feRV/R7hc4jQYQ==} - dependencies: - micromark-util-character: 1.2.0 - micromark-util-types: 1.1.0 - dev: true - /micromark-factory-space@2.0.0: resolution: {integrity: sha512-TKr+LIDX2pkBJXFLzpyPyljzYK3MtmllMUMODTQJIUfDGncESaqB90db9IAUcz4AZAJFdd8U9zOp9ty1458rxg==} dependencies: micromark-util-character: 2.1.0 micromark-util-types: 2.0.0 - /micromark-factory-title@1.1.0: - resolution: {integrity: sha512-J7n9R3vMmgjDOCY8NPw55jiyaQnH5kBdV2/UXCtZIpnHH3P6nHUKaH7XXEYuWwx/xUJcawa8plLBEjMPU24HzQ==} - dependencies: - micromark-factory-space: 1.1.0 - micromark-util-character: 1.2.0 - micromark-util-symbol: 1.1.0 - micromark-util-types: 1.1.0 - dev: true - /micromark-factory-title@2.0.0: resolution: {integrity: sha512-jY8CSxmpWLOxS+t8W+FG3Xigc0RDQA9bKMY/EwILvsesiRniiVMejYTE4wumNc2f4UbAa4WsHqe3J1QS1sli+A==} dependencies: @@ -12717,15 +12223,6 @@ packages: micromark-util-symbol: 2.0.0 micromark-util-types: 2.0.0 - /micromark-factory-whitespace@1.1.0: - resolution: {integrity: sha512-v2WlmiymVSp5oMg+1Q0N1Lxmt6pMhIHD457whWM7/GUlEks1hI9xj5w3zbc4uuMKXGisksZk8DzP2UyGbGqNsQ==} - dependencies: - micromark-factory-space: 1.1.0 - micromark-util-character: 1.2.0 - micromark-util-symbol: 1.1.0 - micromark-util-types: 1.1.0 - dev: true - /micromark-factory-whitespace@2.0.0: resolution: {integrity: sha512-28kbwaBjc5yAI1XadbdPYHX/eDnqaUFVikLwrO7FDnKG7lpgxnvk/XGRhX/PN0mOZ+dBSZ+LgunHS+6tYQAzhA==} dependencies: @@ -12734,38 +12231,17 @@ packages: micromark-util-symbol: 2.0.0 micromark-util-types: 2.0.0 - /micromark-util-character@1.2.0: - resolution: {integrity: sha512-lXraTwcX3yH/vMDaFWCQJP1uIszLVebzUa3ZHdrgxr7KEU/9mL4mVgCpGbyhvNLNlauROiNUq7WN5u7ndbY6xg==} - dependencies: - micromark-util-symbol: 1.1.0 - micromark-util-types: 1.1.0 - dev: true - /micromark-util-character@2.1.0: resolution: {integrity: sha512-KvOVV+X1yLBfs9dCBSopq/+G1PcgT3lAK07mC4BzXi5E7ahzMAF8oIupDDJ6mievI6F+lAATkbQQlQixJfT3aQ==} dependencies: micromark-util-symbol: 2.0.0 micromark-util-types: 2.0.0 - /micromark-util-chunked@1.1.0: - resolution: {integrity: sha512-Ye01HXpkZPNcV6FiyoW2fGZDUw4Yc7vT0E9Sad83+bEDiCJ1uXu0S3mr8WLpsz3HaG3x2q0HM6CTuPdcZcluFQ==} - dependencies: - micromark-util-symbol: 1.1.0 - dev: true - /micromark-util-chunked@2.0.0: resolution: {integrity: sha512-anK8SWmNphkXdaKgz5hJvGa7l00qmcaUQoMYsBwDlSKFKjc6gjGXPDw3FNL3Nbwq5L8gE+RCbGqTw49FK5Qyvg==} dependencies: micromark-util-symbol: 2.0.0 - /micromark-util-classify-character@1.1.0: - resolution: {integrity: sha512-SL0wLxtKSnklKSUplok1WQFoGhUdWYKggKUiqhX+Swala+BtptGCu5iPRc+xvzJ4PXE/hwM3FNXsfEVgoZsWbw==} - dependencies: - micromark-util-character: 1.2.0 - micromark-util-symbol: 1.1.0 - micromark-util-types: 1.1.0 - dev: true - /micromark-util-classify-character@2.0.0: resolution: {integrity: sha512-S0ze2R9GH+fu41FA7pbSqNWObo/kzwf8rN/+IGlW/4tC6oACOs8B++bh+i9bVyNnwCcuksbFwsBme5OCKXCwIw==} dependencies: @@ -12773,39 +12249,17 @@ packages: micromark-util-symbol: 2.0.0 micromark-util-types: 2.0.0 - /micromark-util-combine-extensions@1.1.0: - resolution: {integrity: sha512-Q20sp4mfNf9yEqDL50WwuWZHUrCO4fEyeDCnMGmG5Pr0Cz15Uo7KBs6jq+dq0EgX4DPwwrh9m0X+zPV1ypFvUA==} - dependencies: - micromark-util-chunked: 1.1.0 - micromark-util-types: 1.1.0 - dev: true - /micromark-util-combine-extensions@2.0.0: resolution: {integrity: sha512-vZZio48k7ON0fVS3CUgFatWHoKbbLTK/rT7pzpJ4Bjp5JjkZeasRfrS9wsBdDJK2cJLHMckXZdzPSSr1B8a4oQ==} dependencies: micromark-util-chunked: 2.0.0 micromark-util-types: 2.0.0 - /micromark-util-decode-numeric-character-reference@1.1.0: - resolution: {integrity: sha512-m9V0ExGv0jB1OT21mrWcuf4QhP46pH1KkfWy9ZEezqHKAxkj4mPCy3nIH1rkbdMlChLHX531eOrymlwyZIf2iw==} - dependencies: - micromark-util-symbol: 1.1.0 - dev: true - /micromark-util-decode-numeric-character-reference@2.0.1: resolution: {integrity: sha512-bmkNc7z8Wn6kgjZmVHOX3SowGmVdhYS7yBpMnuMnPzDq/6xwVA604DuOXMZTO1lvq01g+Adfa0pE2UKGlxL1XQ==} dependencies: micromark-util-symbol: 2.0.0 - /micromark-util-decode-string@1.1.0: - resolution: {integrity: sha512-YphLGCK8gM1tG1bd54azwyrQRjCFcmgj2S2GoJDNnh4vYtnL38JS8M4gpxzOPNyHdNEpheyWXCTnnTDY3N+NVQ==} - dependencies: - decode-named-character-reference: 1.0.2 - micromark-util-character: 1.2.0 - micromark-util-decode-numeric-character-reference: 1.1.0 - micromark-util-symbol: 1.1.0 - dev: true - /micromark-util-decode-string@2.0.0: resolution: {integrity: sha512-r4Sc6leeUTn3P6gk20aFMj2ntPwn6qpDZqWvYmAG6NgvFTIlj4WtrAudLi65qYoaGdXYViXYw2pkmn7QnIFasA==} dependencies: @@ -12814,50 +12268,22 @@ packages: micromark-util-decode-numeric-character-reference: 2.0.1 micromark-util-symbol: 2.0.0 - /micromark-util-encode@1.1.0: - resolution: {integrity: sha512-EuEzTWSTAj9PA5GOAs992GzNh2dGQO52UvAbtSOMvXTxv3Criqb6IOzJUBCmEqrrXSblJIJBbFFv6zPxpreiJw==} - dev: true - /micromark-util-encode@2.0.0: resolution: {integrity: sha512-pS+ROfCXAGLWCOc8egcBvT0kf27GoWMqtdarNfDcjb6YLuV5cM3ioG45Ys2qOVqeqSbjaKg72vU+Wby3eddPsA==} - /micromark-util-html-tag-name@1.2.0: - resolution: {integrity: sha512-VTQzcuQgFUD7yYztuQFKXT49KghjtETQ+Wv/zUjGSGBioZnkA4P1XXZPT1FHeJA6RwRXSF47yvJ1tsJdoxwO+Q==} - dev: true - /micromark-util-html-tag-name@2.0.0: resolution: {integrity: sha512-xNn4Pqkj2puRhKdKTm8t1YHC/BAjx6CEwRFXntTaRf/x16aqka6ouVoutm+QdkISTlT7e2zU7U4ZdlDLJd2Mcw==} - /micromark-util-normalize-identifier@1.1.0: - resolution: {integrity: sha512-N+w5vhqrBihhjdpM8+5Xsxy71QWqGn7HYNUvch71iV2PM7+E3uWGox1Qp90loa1ephtCxG2ftRV/Conitc6P2Q==} - dependencies: - micromark-util-symbol: 1.1.0 - dev: true - /micromark-util-normalize-identifier@2.0.0: resolution: {integrity: sha512-2xhYT0sfo85FMrUPtHcPo2rrp1lwbDEEzpx7jiH2xXJLqBuy4H0GgXk5ToU8IEwoROtXuL8ND0ttVa4rNqYK3w==} dependencies: micromark-util-symbol: 2.0.0 - /micromark-util-resolve-all@1.1.0: - resolution: {integrity: sha512-b/G6BTMSg+bX+xVCshPTPyAu2tmA0E4X98NSR7eIbeC6ycCqCeE7wjfDIgzEbkzdEVJXRtOG4FbEm/uGbCRouA==} - dependencies: - micromark-util-types: 1.1.0 - dev: true - /micromark-util-resolve-all@2.0.0: resolution: {integrity: sha512-6KU6qO7DZ7GJkaCgwBNtplXCvGkJToU86ybBAUdavvgsCiG8lSSvYxr9MhwmQ+udpzywHsl4RpGJsYWG1pDOcA==} dependencies: micromark-util-types: 2.0.0 - /micromark-util-sanitize-uri@1.2.0: - resolution: {integrity: sha512-QO4GXv0XZfWey4pYFndLUKEAktKkG5kZTdUNaTAkzbuJxn2tNBOr+QtxR2XpWaMhbImT2dPzyLrPXLlPhph34A==} - dependencies: - micromark-util-character: 1.2.0 - micromark-util-encode: 1.1.0 - micromark-util-symbol: 1.1.0 - dev: true - /micromark-util-sanitize-uri@2.0.0: resolution: {integrity: sha512-WhYv5UEcZrbAtlsnPuChHUAsu/iBPOVaEVsntLBIdpibO0ddy8OzavZz3iL2xVvBZOpolujSliP65Kq0/7KIYw==} dependencies: @@ -12865,15 +12291,6 @@ packages: micromark-util-encode: 2.0.0 micromark-util-symbol: 2.0.0 - /micromark-util-subtokenize@1.1.0: - resolution: {integrity: sha512-kUQHyzRoxvZO2PuLzMt2P/dwVsTiivCK8icYTeR+3WgbuPqfHgPPy7nFKbeqRivBvn/3N3GBiNC+JRTMSxEC7A==} - dependencies: - micromark-util-chunked: 1.1.0 - micromark-util-symbol: 1.1.0 - micromark-util-types: 1.1.0 - uvu: 0.5.6 - dev: true - /micromark-util-subtokenize@2.0.0: resolution: {integrity: sha512-vc93L1t+gpR3p8jxeVdaYlbV2jTYteDje19rNSS/H5dlhxUYll5Fy6vJ2cDwP8RnsXi818yGty1ayP55y3W6fg==} dependencies: @@ -12882,17 +12299,9 @@ packages: micromark-util-symbol: 2.0.0 micromark-util-types: 2.0.0 - /micromark-util-symbol@1.1.0: - resolution: {integrity: sha512-uEjpEYY6KMs1g7QfJ2eX1SQEV+ZT4rUD3UcF6l57acZvLNK7PBZL+ty82Z1qhK1/yXIY4bdx04FKMgR0g4IAag==} - dev: true - /micromark-util-symbol@2.0.0: resolution: {integrity: sha512-8JZt9ElZ5kyTnO94muPxIGS8oyElRJaiJO8EzV6ZSyGQ1Is8xwl4Q45qU5UOg+bGH4AikWziz0iN4sFLWs8PGw==} - /micromark-util-types@1.1.0: - resolution: {integrity: sha512-ukRBgie8TIAcacscVHSiddHjO4k/q3pnedmzMQ4iwDcK0FtFCohKOlFbaOL/mPgfnPsL3C1ZyxJa4sbWrBl3jg==} - dev: true - /micromark-util-types@2.0.0: resolution: {integrity: sha512-oNh6S2WMHWRZrmutsRmDDfkzKtxF+bc2VxLC9dvtrDIRFln627VsFP6fLMgTryGDljgLPjkrzQSDcPrjPyDJ5w==} @@ -12905,30 +12314,6 @@ packages: - supports-color dev: true - /micromark@3.2.0: - resolution: {integrity: sha512-uD66tJj54JLYq0De10AhWycZWGQNUvDI55xPgk2sQM5kn1JYlhbCMTtEeT27+vAhW2FBQxLlOmS3pmA7/2z4aA==} - dependencies: - '@types/debug': 4.1.12 - debug: 4.3.4(supports-color@8.1.1) - decode-named-character-reference: 1.0.2 - micromark-core-commonmark: 1.1.0 - micromark-factory-space: 1.1.0 - micromark-util-character: 1.2.0 - micromark-util-chunked: 1.1.0 - micromark-util-combine-extensions: 1.1.0 - micromark-util-decode-numeric-character-reference: 1.1.0 - micromark-util-encode: 1.1.0 - micromark-util-normalize-identifier: 1.1.0 - micromark-util-resolve-all: 1.1.0 - micromark-util-sanitize-uri: 1.2.0 - micromark-util-subtokenize: 1.1.0 - micromark-util-symbol: 1.1.0 - micromark-util-types: 1.1.0 - uvu: 0.5.6 - transitivePeerDependencies: - - supports-color - dev: true - /micromark@4.0.0: resolution: {integrity: sha512-o/sd0nMof8kYff+TqcDx3VSrgBTcZpSvYcAHIfHhv5VAuNmisCxjhx6YmxS8PFEpb9z5WKWKPdzf0jM23ro3RQ==} dependencies: @@ -13063,11 +12448,6 @@ packages: ufo: 1.4.0 dev: true - /mri@1.2.0: - resolution: {integrity: sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==} - engines: {node: '>=4'} - dev: true - /mrmime@2.0.0: resolution: {integrity: sha512-eu38+hdgojoyq63s+yTpN4XMBdt5l8HhMhc4VKLO9KM5caLIBvUm4thi7fFaxyTmCKeNnXZ5pAlBwCUnhA09uw==} engines: {node: '>=10'} @@ -13814,29 +13194,29 @@ packages: engines: {node: '>= 0.4'} dev: true - /postcss-import@15.1.0(postcss@8.4.36): + /postcss-import@15.1.0(postcss@8.4.38): resolution: {integrity: sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==} engines: {node: '>=14.0.0'} peerDependencies: postcss: ^8.0.0 dependencies: - postcss: 8.4.36 + postcss: 8.4.38 postcss-value-parser: 4.2.0 read-cache: 1.0.0 resolve: 1.22.8 dev: false - /postcss-js@4.0.1(postcss@8.4.36): + /postcss-js@4.0.1(postcss@8.4.38): resolution: {integrity: sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==} engines: {node: ^12 || ^14 || >= 16} peerDependencies: postcss: ^8.4.21 dependencies: camelcase-css: 2.0.1 - postcss: 8.4.36 + postcss: 8.4.38 dev: false - /postcss-load-config@4.0.2(postcss@8.4.36): + /postcss-load-config@4.0.2(postcss@8.4.38): resolution: {integrity: sha512-bSVhyJGL00wMVoPUzAVAnbEoWyqRxkjv64tUl427SKnPrENtq6hJwUojroMz2VB+Q1edmi4IfrAPpami5VVgMQ==} engines: {node: '>= 14'} peerDependencies: @@ -13849,17 +13229,17 @@ packages: optional: true dependencies: lilconfig: 3.1.1 - postcss: 8.4.36 + postcss: 8.4.38 yaml: 2.4.1 dev: false - /postcss-nested@6.0.1(postcss@8.4.36): + /postcss-nested@6.0.1(postcss@8.4.38): resolution: {integrity: sha512-mEp4xPMi5bSWiMbsgoPfcP74lsWLHkQbZc3sY+jWYd65CUwXrUaTp0fmNpa01ZcETKlIgUdFN/MpS2xZtqL9dQ==} engines: {node: '>=12.0'} peerDependencies: postcss: ^8.2.14 dependencies: - postcss: 8.4.36 + postcss: 8.4.38 postcss-selector-parser: 6.0.15 dev: false @@ -13890,7 +13270,6 @@ packages: nanoid: 3.3.7 picocolors: 1.0.0 source-map-js: 1.2.0 - dev: true /preact@10.19.6: resolution: {integrity: sha512-gympg+T2Z1fG1unB8NH29yHJwnEaCH37Z32diPDku316OTnRPeMbiRV9kTrfZpocXjdfnWuFUl/Mj4BHaf6gnw==} @@ -14248,17 +13627,6 @@ packages: - supports-color dev: true - /remark-gfm@3.0.1: - resolution: {integrity: sha512-lEFDoi2PICJyNrACFOfDD3JlLkuSbOa5Wd8EPt06HUdptv8Gn0bxYTdbU/XXQ3swAPkEaGxxPN9cbnMHvVu1Ig==} - dependencies: - '@types/mdast': 3.0.15 - mdast-util-gfm: 2.0.2 - micromark-extension-gfm: 2.0.3 - unified: 10.1.2 - transitivePeerDependencies: - - supports-color - dev: true - /remark-gfm@4.0.0: resolution: {integrity: sha512-U92vJgBPkbw4Zfu/IiW2oTZLSL3Zpv+uI7My2eq8JxKgqraFdU8YUGicEJCEgSbeaG+QDFqIcwwfMTOEelPxuA==} dependencies: @@ -14272,16 +13640,6 @@ packages: - supports-color dev: true - /remark-parse@10.0.2: - resolution: {integrity: sha512-3ydxgHa/ZQzG8LvC7jTXccARYDcRld3VfcgIIFs7bI6vbRSxJJmzgLEIIoYKyrfhaY+ujuWaf/PJiMZXoiCXgw==} - dependencies: - '@types/mdast': 3.0.15 - mdast-util-from-markdown: 1.3.1 - unified: 10.1.2 - transitivePeerDependencies: - - supports-color - dev: true - /remark-parse@11.0.0: resolution: {integrity: sha512-FCxlKLNGknS5ba/1lmpYijMUzX2esxW5xQqjWxw2eHFfS2MSdaHVINFmhjo+qN1WhZhNimq0dZATN9pH0IDrpA==} dependencies: @@ -14293,14 +13651,6 @@ packages: - supports-color dev: true - /remark-stringify@10.0.3: - resolution: {integrity: sha512-koyOzCMYoUHudypbj4XpnAKFbkddRMYZHwghnxd7ue5210WzGw6kOBwauJTRUMq16jsovXx8dYNvSSWP89kZ3A==} - dependencies: - '@types/mdast': 3.0.15 - mdast-util-to-markdown: 1.5.0 - unified: 10.1.2 - dev: true - /remark-stringify@11.0.0: resolution: {integrity: sha512-1OSmLd3awB/t8qdoEOMazZkNsfVTeY4fTsgzcQFdXNq8ToTN4ZGwrMnlda4K6smTFKD+GRV6O48i6Z4iKgPPpw==} dependencies: @@ -14506,14 +13856,6 @@ packages: fsevents: 2.3.3 dev: true - /rollup@3.29.4: - resolution: {integrity: sha512-oWzmBZwvYrU0iJHtDmhsm662rC15FRXmcjCk1xD771dFDx5jJ02ufAQQTn0etB2emNk4J9EZg/yWKpsn9BWGRw==} - engines: {node: '>=14.18.0', npm: '>=8.0.0'} - hasBin: true - optionalDependencies: - fsevents: 2.3.3 - dev: true - /rollup@4.13.0: resolution: {integrity: sha512-3YegKemjoQnYKmsBlOHfMLVPPA5xLkQ8MHLLSw/fBrFaVkEayL51DilPpNNLq1exr98F2B1TzrV0FUlN3gWRPg==} engines: {node: '>=18.0.0', npm: '>=8.0.0'} @@ -14556,13 +13898,6 @@ packages: tslib: 2.6.2 dev: true - /sade@1.8.1: - resolution: {integrity: sha512-xal3CZX1Xlo/k4ApwCFrHVACi9fBqJ7V+mwhBsuf/1IOKbBy098Fex+Wa/5QMubw09pSZ/u8EY8PWgevJsXp1A==} - engines: {node: '>=6'} - dependencies: - mri: 1.2.0 - dev: true - /safe-array-concat@1.1.2: resolution: {integrity: sha512-vj6RsCsWBCf19jIeHEfkRMw8DPiBb+DMXklQ/1SGDHOMlHdPUkZXFQ2YdplS23zESTijAcurb1aSgJA3AgMu1Q==} engines: {node: '>=0.4'} @@ -15423,11 +14758,11 @@ packages: normalize-path: 3.0.0 object-hash: 3.0.0 picocolors: 1.0.0 - postcss: 8.4.36 - postcss-import: 15.1.0(postcss@8.4.36) - postcss-js: 4.0.1(postcss@8.4.36) - postcss-load-config: 4.0.2(postcss@8.4.36) - postcss-nested: 6.0.1(postcss@8.4.36) + postcss: 8.4.38 + postcss-import: 15.1.0(postcss@8.4.38) + postcss-js: 4.0.1(postcss@8.4.38) + postcss-load-config: 4.0.2(postcss@8.4.38) + postcss-nested: 6.0.1(postcss@8.4.38) postcss-selector-parser: 6.0.15 resolve: 1.22.8 sucrase: 3.35.0 @@ -15932,18 +15267,6 @@ packages: engines: {node: '>=18'} dev: true - /unified@10.1.2: - resolution: {integrity: sha512-pUSWAi/RAnVy1Pif2kAoeWNBa3JVrx0MId2LASj8G+7AiHWoKZNTomq6LG326T68U7/e263X6fTdcXIy7XnF7Q==} - dependencies: - '@types/unist': 2.0.10 - bail: 2.0.2 - extend: 3.0.2 - is-buffer: 2.0.5 - is-plain-obj: 4.1.0 - trough: 2.2.0 - vfile: 5.3.7 - dev: true - /unified@11.0.4: resolution: {integrity: sha512-apMPnyLjAX+ty4OrNap7yumyVAMlKx5IWU2wlzzUdYJO9A8f1p9m/gywF/GM2ZDFcjQPrx59Mc90KwmxsoklxQ==} dependencies: @@ -15980,12 +15303,6 @@ packages: '@types/unist': 3.0.2 dev: true - /unist-util-is@5.2.1: - resolution: {integrity: sha512-u9njyyfEh43npf1M+yGKDGVPbY/JWEemg5nH05ncKPfi+kBbKBJoTdsogMu33uhytuLlv9y0O7GH7fEdwLdLQw==} - dependencies: - '@types/unist': 2.0.10 - dev: true - /unist-util-is@6.0.0: resolution: {integrity: sha512-2qCTHimwdxLfz+YzdGfkqNlH0tLi9xjTnHddPmJwtIG9MGsdbutfTc4P+haPD7l7Cjxf/WZj+we5qfVPvvxfYw==} dependencies: @@ -15998,24 +15315,11 @@ packages: '@types/unist': 2.0.10 dev: true - /unist-util-stringify-position@3.0.3: - resolution: {integrity: sha512-k5GzIBZ/QatR8N5X2y+drfpWG8IDBzdnVj6OInRNWm1oXrzydiaAT2OQiA8DPRRZyAKb9b6I2a6PxYklZD0gKg==} - dependencies: - '@types/unist': 2.0.10 - dev: true - /unist-util-stringify-position@4.0.0: resolution: {integrity: sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==} dependencies: '@types/unist': 3.0.2 - /unist-util-visit-parents@5.1.3: - resolution: {integrity: sha512-x6+y8g7wWMyQhL1iZfhIPhDAs7Xwbn9nRosDXl7qoPTSCy0yNxnKc+hWokFifWQIDGi154rdUqKvbCa4+1kLhg==} - dependencies: - '@types/unist': 2.0.10 - unist-util-is: 5.2.1 - dev: true - /unist-util-visit-parents@6.0.1: resolution: {integrity: sha512-L/PqWzfTP9lzzEa6CKs0k2nARxTdZduw3zyh8d2NVBnsyvHjSX4TWse388YrrQKbvI8w20fGjGlhgT96WwKykw==} dependencies: @@ -16023,14 +15327,6 @@ packages: unist-util-is: 6.0.0 dev: true - /unist-util-visit@4.1.2: - resolution: {integrity: sha512-MSd8OUGISqHdVvfY9TPhyK2VdUrPgxkUtWSuMHF6XAAFuL4LokseigBnZtPnJMu+FbynTkFNnFlyjxpVKujMRg==} - dependencies: - '@types/unist': 2.0.10 - unist-util-is: 5.2.1 - unist-util-visit-parents: 5.1.3 - dev: true - /unist-util-visit@5.0.0: resolution: {integrity: sha512-MR04uvD+07cwl/yhVuVWAtw+3GOR/knlL55Nd/wAdblk27GCVt3lqpTivy/tkJcZoNPzTwS1Y+KMojlLDhoTzg==} dependencies: @@ -16054,7 +15350,7 @@ packages: engines: {node: '>= 10.0.0'} dev: true - /unocss@0.58.6(postcss@8.4.38)(rollup@2.79.1)(vite@4.5.3): + /unocss@0.58.6(postcss@8.4.38)(rollup@2.79.1)(vite@5.2.6): resolution: {integrity: sha512-HBstDtC6KKD5yCYh5hHpPdHGZai0B/iLlDwkOIK+xfQYrvl8tNBvKfRz3xgiaI5MJ+fLmEOxbfXQIjleU1A0iA==} engines: {node: '>=14'} peerDependencies: @@ -16066,7 +15362,7 @@ packages: vite: optional: true dependencies: - '@unocss/astro': 0.58.6(rollup@2.79.1)(vite@4.5.3) + '@unocss/astro': 0.58.6(rollup@2.79.1)(vite@5.2.6) '@unocss/cli': 0.58.6(rollup@2.79.1) '@unocss/core': 0.58.6 '@unocss/extractor-arbitrary-variants': 0.58.6 @@ -16085,8 +15381,8 @@ packages: '@unocss/transformer-compile-class': 0.58.6 '@unocss/transformer-directives': 0.58.6 '@unocss/transformer-variant-group': 0.58.6 - '@unocss/vite': 0.58.6(rollup@2.79.1)(vite@4.5.3) - vite: 4.5.3(@types/node@20.11.30) + '@unocss/vite': 0.58.6(rollup@2.79.1)(vite@5.2.6) + vite: 5.2.6(@types/node@20.11.30) transitivePeerDependencies: - postcss - rollup @@ -16188,17 +15484,6 @@ packages: hasBin: true dev: false - /uvu@0.5.6: - resolution: {integrity: sha512-+g8ENReyr8YsOc6fv/NVJs2vFdHBnBNdfE49rshrTzDWOlUx4Gq7KOS2GD8eqhy2j+Ejq29+SbKH8yjkAqXqoA==} - engines: {node: '>=8'} - hasBin: true - dependencies: - dequal: 2.0.3 - diff: 5.2.0 - kleur: 4.1.5 - sade: 1.8.1 - dev: true - /v8-to-istanbul@9.2.0: resolution: {integrity: sha512-/EH/sDgxU2eGxajKdwLCDmQ4FWq+kpi3uCmBGpw1xJtnAxEjlD8j8PEiGWpCIMIs3ciNAgH0d3TTJiUkYzyZjA==} engines: {node: '>=10.12.0'} @@ -16229,13 +15514,6 @@ packages: extsprintf: 1.3.0 dev: true - /vfile-message@3.1.4: - resolution: {integrity: sha512-fa0Z6P8HUrQN4BZaX05SIVXic+7kE3b05PWAtPuYP9QLHsLKYR7/AlLW3NtOrpXRLeawpDLMsVkmk5DG0NXgWw==} - dependencies: - '@types/unist': 2.0.10 - unist-util-stringify-position: 3.0.3 - dev: true - /vfile-message@4.0.2: resolution: {integrity: sha512-jRDZ1IMLttGj41KcZvlrYAaI3CfqpLpfpf+Mfig13viT6NKvRzWZ+lXz0Y5D60w6uJIBAOGq9mSHf0gktF0duw==} dependencies: @@ -16243,15 +15521,6 @@ packages: unist-util-stringify-position: 4.0.0 dev: true - /vfile@5.3.7: - resolution: {integrity: sha512-r7qlzkgErKjobAmyNIkkSpizsFPYiUPuJb5pNW1RB4JcYVZhs4lIbVqk8XPk033CV/1z8ss5pkax8SuhGpcG8g==} - dependencies: - '@types/unist': 2.0.10 - is-buffer: 2.0.5 - unist-util-stringify-position: 3.0.3 - vfile-message: 3.1.4 - dev: true - /vfile@6.0.1: resolution: {integrity: sha512-1bYqc7pt6NIADBJ98UiG0Bn/CHIVOoZ/IyEkqIruLg0mE1BKzkOXY2D6CSqQIcKqgadppE5lrxgWXJmXd7zZJw==} dependencies: @@ -16281,7 +15550,7 @@ packages: - terser dev: true - /vite-plugin-istanbul@6.0.0(vite@4.5.3): + /vite-plugin-istanbul@6.0.0(vite@5.2.6): resolution: {integrity: sha512-Vwh2XdesjcLwaPbHSOiWHh+0s7CNovQTPEjUCTkqmJUe0FN2TKsOp0qpoaklOuwrKlL9elhD5fPFxi5lmG62zA==} peerDependencies: vite: '>=4 <=6' @@ -16292,12 +15561,12 @@ packages: picocolors: 1.0.0 source-map: 0.7.4 test-exclude: 6.0.0 - vite: 4.5.3(@types/node@20.11.30) + vite: 5.2.6(@types/node@20.11.30) transitivePeerDependencies: - supports-color dev: true - /vite-plugin-pwa@0.19.7(vite@4.5.3)(workbox-build@7.0.0)(workbox-window@7.0.0): + /vite-plugin-pwa@0.19.7(vite@5.2.6)(workbox-build@7.0.0)(workbox-window@7.0.0): resolution: {integrity: sha512-18TECxoGPQE7tVZzKxbf5Icrl5688n1JGMPSgGotTsh89vLDxevY7ICfD3CFVfonZXh8ckuyJXg0NXE5+FAl2A==} engines: {node: '>=16.0.0'} peerDependencies: @@ -16312,49 +15581,13 @@ packages: debug: 4.3.4(supports-color@8.1.1) fast-glob: 3.3.2 pretty-bytes: 6.1.1 - vite: 4.5.3(@types/node@20.11.30) + vite: 5.2.6(@types/node@20.11.30) workbox-build: 7.0.0 workbox-window: 7.0.0 transitivePeerDependencies: - supports-color dev: true - /vite@4.5.3(@types/node@20.11.30): - resolution: {integrity: sha512-kQL23kMeX92v3ph7IauVkXkikdDRsYMGTVl5KY2E9OY4ONLvkHf04MDTbnfo6NKxZiDLWzVpP5oTa8hQD8U3dg==} - engines: {node: ^14.18.0 || >=16.0.0} - hasBin: true - peerDependencies: - '@types/node': '>= 14' - less: '*' - lightningcss: ^1.21.0 - sass: '*' - stylus: '*' - sugarss: '*' - terser: ^5.4.0 - peerDependenciesMeta: - '@types/node': - optional: true - less: - optional: true - lightningcss: - optional: true - sass: - optional: true - stylus: - optional: true - sugarss: - optional: true - terser: - optional: true - dependencies: - '@types/node': 20.11.30 - esbuild: 0.18.20 - postcss: 8.4.38 - rollup: 3.29.4 - optionalDependencies: - fsevents: 2.3.3 - dev: true - /vite@5.2.3(@types/node@20.11.30): resolution: {integrity: sha512-+i1oagbvkVIhEy9TnEV+fgXsng13nZM90JQbrcPrf6DvW2mXARlz+DK7DLiDP+qeKoD1FCVx/1SpFL1CLq9Mhw==} engines: {node: ^18.0.0 || >=20.0.0} @@ -16421,7 +15654,7 @@ packages: dependencies: '@types/node': 20.11.30 esbuild: 0.20.2 - postcss: 8.4.36 + postcss: 8.4.38 rollup: 4.13.0 optionalDependencies: fsevents: 2.3.3 From 3f95c78428f581289838de6c393dbca21ff5f9e4 Mon Sep 17 00:00:00 2001 From: ilyes-ced Date: Tue, 26 Mar 2024 22:44:37 +0000 Subject: [PATCH 288/789] added styling docs --- docs/syntax/quadrantChart.md | 59 ++++++++++++++++++++++++++++++++++++ 1 file changed, 59 insertions(+) diff --git a/docs/syntax/quadrantChart.md b/docs/syntax/quadrantChart.md index fdf8667792..c41a12bc1b 100644 --- a/docs/syntax/quadrantChart.md +++ b/docs/syntax/quadrantChart.md @@ -102,6 +102,45 @@ Points are used to plot a circle inside the quadrantChart. The syntax is ` 1. `Point 1: [0.75, 0.80]` here the Point 1 will be drawn in the top right quadrant. 2. `Point 2: [0.35, 0.24]` here the Point 2 will be drawn in the bottom left quadrant. + + +### Point styling +Points cant either be styled directly or with defined shared classes +1. direct styling +```md +Point A: [0.9, 0.0] radius: 12 +Point B: [0.8, 0.1] color: #ff3300, radius: 10 +Point C: [0.7, 0.2] radius: 25, color: #00ff33, stroke-color: #10f0f0 +Point D: [0.6, 0.3] radius: 15, stroke-color: #00ff0f, stroke-width: 5px ,color: #ff33f0 +``` +2. classes styling +```md +Point A:::class1: [0.9, 0.0] +Point B:::class2: [0.8, 0.1] +Point C:::class3: [0.7, 0.2] +Point D:::class3: [0.7, 0.2] +classDef class1 color: #109060 +classDef class2 color: #908342, radius : 10, stroke-color: #310085, stroke-width: 10px +classDef class3 color: #f00fff, radius : 10 +``` + + +#### available styles: + +| Parameter | Description | +| -------------------------------- | ------------------------------------------------------------------------| +| color | Fill color of the point | +| radius | Radius of the point | +| stroke-width | Border width of the point | +| stroke-color | Border color of the point (useless when stroke-width is not specified) | + + +```note +class styles take priority over direct styles and direct styles take priority over theme styles +``` + + + ## Chart Configurations | Parameter | Description | Default value | @@ -168,3 +207,23 @@ quadrantChart quadrant-3 Delegate quadrant-4 Delete ``` +## Example on styling +```mermaid +quadrantChart + title Reach and engagement of campaigns + x-axis Low Reach --> High Reach + y-axis Low Engagement --> High Engagement + quadrant-1 We should expand + quadrant-2 Need to promote + quadrant-3 Re-evaluate + quadrant-4 May be improved + Campaign A: [0.9, 0.0] radius: 12 + Campaign B:::class1: [0.8, 0.1] color: #ff3300, radius: 10 + Campaign C: [0.7, 0.2] radius: 25, color: #00ff33, stroke-color: #10f0f0 + Campaign D: [0.6, 0.3] radius: 15, stroke-color: #00ff0f, stroke-width: 5px ,color: #ff33f0 + Campaign E:::class2: [0.5, 0.4] + Campaign F:::class3: [0.4, 0.5] color: #0000ff + classDef class1 color: #109060 + classDef class2 color: #908342, radius : 10, stroke-color: #310085, stroke-width: 10px + classDef class3 color: #f00fff, radius : 10 +``` \ No newline at end of file From 585609b9070af8112ad40958282d91e886339a8b Mon Sep 17 00:00:00 2001 From: ilyes-ced Date: Tue, 26 Mar 2024 22:50:27 +0000 Subject: [PATCH 289/789] lint fix --- docs/syntax/quadrantChart.md | 35 ++++++++++++++++++----------------- 1 file changed, 18 insertions(+), 17 deletions(-) diff --git a/docs/syntax/quadrantChart.md b/docs/syntax/quadrantChart.md index c41a12bc1b..3b1430dd88 100644 --- a/docs/syntax/quadrantChart.md +++ b/docs/syntax/quadrantChart.md @@ -102,18 +102,21 @@ Points are used to plot a circle inside the quadrantChart. The syntax is ` 1. `Point 1: [0.75, 0.80]` here the Point 1 will be drawn in the top right quadrant. 2. `Point 2: [0.35, 0.24]` here the Point 2 will be drawn in the bottom left quadrant. - - ### Point styling + Points cant either be styled directly or with defined shared classes + 1. direct styling + ```md Point A: [0.9, 0.0] radius: 12 Point B: [0.8, 0.1] color: #ff3300, radius: 10 -Point C: [0.7, 0.2] radius: 25, color: #00ff33, stroke-color: #10f0f0 -Point D: [0.6, 0.3] radius: 15, stroke-color: #00ff0f, stroke-width: 5px ,color: #ff33f0 +Point C: [0.7, 0.2] radius: 25, color: #00ff33, stroke-color: #10f0f0 +Point D: [0.6, 0.3] radius: 15, stroke-color: #00ff0f, stroke-width: 5px ,color: #ff33f0 ``` + 2. classes styling + ```md Point A:::class1: [0.9, 0.0] Point B:::class2: [0.8, 0.1] @@ -124,23 +127,19 @@ classDef class2 color: #908342, radius : 10, stroke-color: #310085, stroke-width classDef class3 color: #f00fff, radius : 10 ``` - #### available styles: -| Parameter | Description | -| -------------------------------- | ------------------------------------------------------------------------| -| color | Fill color of the point | -| radius | Radius of the point | -| stroke-width | Border width of the point | -| stroke-color | Border color of the point (useless when stroke-width is not specified) | - +| Parameter | Description | +| ------------ | ---------------------------------------------------------------------- | +| color | Fill color of the point | +| radius | Radius of the point | +| stroke-width | Border width of the point | +| stroke-color | Border color of the point (useless when stroke-width is not specified) | ```note class styles take priority over direct styles and direct styles take priority over theme styles ``` - - ## Chart Configurations | Parameter | Description | Default value | @@ -207,7 +206,9 @@ quadrantChart quadrant-3 Delegate quadrant-4 Delete ``` + ## Example on styling + ```mermaid quadrantChart title Reach and engagement of campaigns @@ -219,11 +220,11 @@ quadrantChart quadrant-4 May be improved Campaign A: [0.9, 0.0] radius: 12 Campaign B:::class1: [0.8, 0.1] color: #ff3300, radius: 10 - Campaign C: [0.7, 0.2] radius: 25, color: #00ff33, stroke-color: #10f0f0 - Campaign D: [0.6, 0.3] radius: 15, stroke-color: #00ff0f, stroke-width: 5px ,color: #ff33f0 + Campaign C: [0.7, 0.2] radius: 25, color: #00ff33, stroke-color: #10f0f0 + Campaign D: [0.6, 0.3] radius: 15, stroke-color: #00ff0f, stroke-width: 5px ,color: #ff33f0 Campaign E:::class2: [0.5, 0.4] Campaign F:::class3: [0.4, 0.5] color: #0000ff classDef class1 color: #109060 classDef class2 color: #908342, radius : 10, stroke-color: #310085, stroke-width: 10px classDef class3 color: #f00fff, radius : 10 -``` \ No newline at end of file +``` From 253adcb0eb29ea102cc738ea92d3a95c233fb0eb Mon Sep 17 00:00:00 2001 From: ilyes-ced Date: Tue, 26 Mar 2024 22:54:01 +0000 Subject: [PATCH 290/789] added docs build --- docs/syntax/quadrantChart.md | 60 ------------------------------------ 1 file changed, 60 deletions(-) diff --git a/docs/syntax/quadrantChart.md b/docs/syntax/quadrantChart.md index 3b1430dd88..fdf8667792 100644 --- a/docs/syntax/quadrantChart.md +++ b/docs/syntax/quadrantChart.md @@ -102,44 +102,6 @@ Points are used to plot a circle inside the quadrantChart. The syntax is ` 1. `Point 1: [0.75, 0.80]` here the Point 1 will be drawn in the top right quadrant. 2. `Point 2: [0.35, 0.24]` here the Point 2 will be drawn in the bottom left quadrant. -### Point styling - -Points cant either be styled directly or with defined shared classes - -1. direct styling - -```md -Point A: [0.9, 0.0] radius: 12 -Point B: [0.8, 0.1] color: #ff3300, radius: 10 -Point C: [0.7, 0.2] radius: 25, color: #00ff33, stroke-color: #10f0f0 -Point D: [0.6, 0.3] radius: 15, stroke-color: #00ff0f, stroke-width: 5px ,color: #ff33f0 -``` - -2. classes styling - -```md -Point A:::class1: [0.9, 0.0] -Point B:::class2: [0.8, 0.1] -Point C:::class3: [0.7, 0.2] -Point D:::class3: [0.7, 0.2] -classDef class1 color: #109060 -classDef class2 color: #908342, radius : 10, stroke-color: #310085, stroke-width: 10px -classDef class3 color: #f00fff, radius : 10 -``` - -#### available styles: - -| Parameter | Description | -| ------------ | ---------------------------------------------------------------------- | -| color | Fill color of the point | -| radius | Radius of the point | -| stroke-width | Border width of the point | -| stroke-color | Border color of the point (useless when stroke-width is not specified) | - -```note -class styles take priority over direct styles and direct styles take priority over theme styles -``` - ## Chart Configurations | Parameter | Description | Default value | @@ -206,25 +168,3 @@ quadrantChart quadrant-3 Delegate quadrant-4 Delete ``` - -## Example on styling - -```mermaid -quadrantChart - title Reach and engagement of campaigns - x-axis Low Reach --> High Reach - y-axis Low Engagement --> High Engagement - quadrant-1 We should expand - quadrant-2 Need to promote - quadrant-3 Re-evaluate - quadrant-4 May be improved - Campaign A: [0.9, 0.0] radius: 12 - Campaign B:::class1: [0.8, 0.1] color: #ff3300, radius: 10 - Campaign C: [0.7, 0.2] radius: 25, color: #00ff33, stroke-color: #10f0f0 - Campaign D: [0.6, 0.3] radius: 15, stroke-color: #00ff0f, stroke-width: 5px ,color: #ff33f0 - Campaign E:::class2: [0.5, 0.4] - Campaign F:::class3: [0.4, 0.5] color: #0000ff - classDef class1 color: #109060 - classDef class2 color: #908342, radius : 10, stroke-color: #310085, stroke-width: 10px - classDef class3 color: #f00fff, radius : 10 -``` From 4ee4555cbd04bd4baba6996adf94f530e89757db Mon Sep 17 00:00:00 2001 From: Aakansha Doshi Date: Wed, 27 Mar 2024 19:18:14 +0530 Subject: [PATCH 291/789] fix: remove unused import --- .../mermaid/src/diagrams/sequence/svgDraw.js | 1 - pnpm-lock.yaml | 1630 ++++++++--------- 2 files changed, 746 insertions(+), 885 deletions(-) diff --git a/packages/mermaid/src/diagrams/sequence/svgDraw.js b/packages/mermaid/src/diagrams/sequence/svgDraw.js index c70838c610..84351ea5ad 100644 --- a/packages/mermaid/src/diagrams/sequence/svgDraw.js +++ b/packages/mermaid/src/diagrams/sequence/svgDraw.js @@ -1,6 +1,5 @@ import common, { calculateMathMLDimensions, hasKatex, renderKatex } from '../common/common.js'; import * as svgDrawCommon from '../common/svgDrawCommon.js'; -import { addFunction } from '../../interactionDb.js'; import { ZERO_WIDTH_SPACE, parseFontSize } from '../../utils.js'; import { sanitizeUrl } from '@braintree/sanitize-url'; import * as configApi from '../../config.js'; diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 00b823b8b3..f39b8a43f8 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -21,7 +21,7 @@ importers: version: 8.6.1 '@cypress/code-coverage': specifier: ^3.12.30 - version: 3.12.30(@babel/core@7.24.3)(@babel/preset-env@7.24.3)(babel-loader@9.1.3)(cypress@13.7.1)(webpack@5.91.0) + version: 3.12.32(@babel/core@7.24.0)(@babel/preset-env@7.24.0)(babel-loader@9.1.3)(cypress@13.7.1)(webpack@5.91.0) '@rollup/plugin-typescript': specifier: ^11.1.6 version: 11.1.6(typescript@5.4.3) @@ -54,10 +54,10 @@ importers: version: 4.2.4 '@typescript-eslint/eslint-plugin': specifier: ^7.3.1 - version: 7.3.1(@typescript-eslint/parser@7.3.1)(eslint@8.57.0)(typescript@5.4.3) + version: 7.4.0(@typescript-eslint/parser@7.4.0)(eslint@8.57.0)(typescript@5.4.3) '@typescript-eslint/parser': specifier: ^7.3.1 - version: 7.3.1(eslint@8.57.0)(typescript@5.4.3) + version: 7.4.0(eslint@8.57.0)(typescript@5.4.3) '@vitest/coverage-v8': specifier: ^1.4.0 version: 1.4.0(vitest@1.4.0) @@ -108,7 +108,7 @@ importers: version: 8.0.0 eslint-plugin-jest: specifier: ^27.9.0 - version: 27.9.0(@typescript-eslint/eslint-plugin@7.3.1)(eslint@8.57.0)(jest@29.7.0)(typescript@5.4.3) + version: 27.9.0(@typescript-eslint/eslint-plugin@7.4.0)(eslint@8.57.0)(jest@29.7.0)(typescript@5.4.3) eslint-plugin-jsdoc: specifier: ^48.2.1 version: 48.2.1(eslint@8.57.0) @@ -132,7 +132,7 @@ importers: version: 51.0.1(eslint@8.57.0) express: specifier: ^4.19.1 - version: 4.19.1 + version: 4.19.2 globby: specifier: ^14.0.1 version: 14.0.1 @@ -234,7 +234,7 @@ importers: version: 0.9.2 katex: specifier: ^0.16.9 - version: 0.16.10 + version: 0.16.9 khroma: specifier: ^2.1.0 version: 2.1.0 @@ -304,10 +304,10 @@ importers: version: 9.0.8 '@typescript-eslint/eslint-plugin': specifier: ^7.3.1 - version: 7.3.1(@typescript-eslint/parser@7.3.1)(eslint@8.57.0)(typescript@5.4.3) + version: 7.4.0(@typescript-eslint/parser@7.4.0)(eslint@8.57.0)(typescript@5.4.3) '@typescript-eslint/parser': specifier: ^7.3.1 - version: 7.3.1(eslint@8.57.0)(typescript@5.4.3) + version: 7.4.0(eslint@8.57.0)(typescript@5.4.3) ajv: specifier: ^8.12.0 version: 8.12.0 @@ -470,7 +470,7 @@ importers: version: 1.1.31 '@unocss/reset': specifier: ^0.58.6 - version: 0.58.6 + version: 0.58.7 '@vite-pwa/vitepress': specifier: ^0.4.0 version: 0.4.0(vite-plugin-pwa@0.19.7) @@ -488,7 +488,7 @@ importers: version: 1.1.2 unocss: specifier: ^0.58.6 - version: 0.58.6(postcss@8.4.38)(rollup@2.79.1)(vite@5.2.6) + version: 0.58.7(postcss@8.4.35)(rollup@2.79.1)(vite@5.2.6) unplugin-vue-components: specifier: ^0.26.0 version: 0.26.0(rollup@2.79.1)(vue@3.4.21) @@ -500,7 +500,7 @@ importers: version: 0.19.7(vite@5.2.6)(workbox-build@7.0.0)(workbox-window@7.0.0) vitepress: specifier: 1.0.0-rc.45 - version: 1.0.0-rc.45(@algolia/client-search@4.22.1)(@types/node@20.11.30)(postcss@8.4.38)(search-insights@2.13.0)(typescript@5.4.3) + version: 1.0.0-rc.45(@algolia/client-search@4.22.1)(@types/node@20.11.30)(postcss@8.4.35)(search-insights@2.13.0)(typescript@5.4.3) workbox-window: specifier: ^7.0.0 version: 7.0.0 @@ -1123,11 +1123,6 @@ packages: engines: {node: '>=6.9.0'} dev: true - /@babel/compat-data@7.24.1: - resolution: {integrity: sha512-Pc65opHDliVpRHuKfzI+gSA4zcgr65O4cl64fFJIWEEh8JoHIHh0Oez1Eo8Arz8zq/JhgKodQaxEwUPRtZylVA==} - engines: {node: '>=6.9.0'} - dev: true - /@babel/core@7.22.10: resolution: {integrity: sha512-fTmqbbUBAwCcre6zPzNngvsI0aNrPZe77AeqvDxWM9Nm+04RrJ3CAmGHA9f7lJQY6ZMhRztNemy4uslDxTX4Qw==} engines: {node: '>=6.9.0'} @@ -1299,24 +1294,24 @@ packages: semver: 6.3.1 dev: true - /@babel/helper-create-regexp-features-plugin@7.22.15(@babel/core@7.24.3): + /@babel/helper-create-regexp-features-plugin@7.22.15(@babel/core@7.24.0): resolution: {integrity: sha512-29FkPLFjn4TPEa3RE7GpW+qbE8tlsu3jntNYNfcGsc49LphF1PQIiD+vMZ1z1xVOKt+93khA9tc2JBs3kBjA7w==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.0 '@babel/helper-annotate-as-pure': 7.22.5 regexpu-core: 5.3.2 semver: 6.3.1 dev: true - /@babel/helper-define-polyfill-provider@0.6.1(@babel/core@7.24.3): - resolution: {integrity: sha512-o7SDgTJuvx5vLKD6SFvkydkSMBvahDKGiNJzG22IZYXhiqoe9efY7zocICBgzHV4IRg5wdgl2nEL/tulKIEIbA==} + /@babel/helper-define-polyfill-provider@0.5.0(@babel/core@7.24.0): + resolution: {integrity: sha512-NovQquuQLAQ5HuyjCz7WQP9MjRj7dx++yspwiyUiGl9ZyadHRSql1HZh5ogRd8W8w6YM6EQ/NTB8rgjLt5W65Q==} peerDependencies: '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.0 '@babel/helper-compilation-targets': 7.23.6 '@babel/helper-plugin-utils': 7.24.0 debug: 4.3.4(supports-color@8.1.1) @@ -1367,13 +1362,6 @@ packages: '@babel/types': 7.24.0 dev: true - /@babel/helper-module-imports@7.24.3: - resolution: {integrity: sha512-viKb0F9f2s0BCS22QSF308z/+1YWKV/76mwt61NBzS5izMzDPwdq1pTrzf+Li3npBWX9KdQbkeCt1jSAM7lZqg==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/types': 7.24.0 - dev: true - /@babel/helper-module-transforms@7.22.9(@babel/core@7.22.10): resolution: {integrity: sha512-t+WA2Xn5K+rTeGtC8jCsdAH52bjggG5TKRuRrAGNM/mjIbO4GxvlLMFOEz9wXY5I2XQ60PMFsAG2WIcG82dQMQ==} engines: {node: '>=6.9.0'} @@ -1428,13 +1416,13 @@ packages: engines: {node: '>=6.9.0'} dev: true - /@babel/helper-remap-async-to-generator@7.22.20(@babel/core@7.24.3): + /@babel/helper-remap-async-to-generator@7.22.20(@babel/core@7.24.0): resolution: {integrity: sha512-pBGyV4uBqOns+0UvhsTO8qgl8hO89PmiDYv+/COyp1aeMcmfrfruz+/nCMFiYyFF/Knn0yfrC85ZzNFjembFTw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.0 '@babel/helper-annotate-as-pure': 7.22.5 '@babel/helper-environment-visitor': 7.22.20 '@babel/helper-wrap-function': 7.22.20 @@ -1583,46 +1571,46 @@ packages: '@babel/types': 7.24.0 dev: true - /@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.24.1(@babel/core@7.24.3): - resolution: {integrity: sha512-y4HqEnkelJIOQGd+3g1bTeKsA5c6qM7eOn7VggGVbBc0y8MLSKHacwcIE2PplNlQSj0PqS9rrXL/nkPVK+kUNg==} + /@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.23.3(@babel/core@7.24.0): + resolution: {integrity: sha512-iRkKcCqb7iGnq9+3G6rZ+Ciz5VywC4XNRHe57lKM+jOeYAoR0lVqdeeDRfh0tQcTfw/+vBhHn926FmQhLtlFLQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.0 '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.24.1(@babel/core@7.24.3): - resolution: {integrity: sha512-Hj791Ii4ci8HqnaKHAlLNs+zaLXb0EzSDhiAWp5VNlyvCNymYfacs64pxTxbH1znW/NcArSmwpmG9IKE/TUVVQ==} + /@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.23.3(@babel/core@7.24.0): + resolution: {integrity: sha512-WwlxbfMNdVEpQjZmK5mhm7oSwD3dS6eU+Iwsi4Knl9wAletWem7kaRsGOG+8UEbRyqxY4SS5zvtfXwX+jMxUwQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.13.0 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.0 '@babel/helper-plugin-utils': 7.24.0 '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 - '@babel/plugin-transform-optional-chaining': 7.24.1(@babel/core@7.24.3) + '@babel/plugin-transform-optional-chaining': 7.23.4(@babel/core@7.24.0) dev: true - /@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.24.1(@babel/core@7.24.3): - resolution: {integrity: sha512-m9m/fXsXLiHfwdgydIFnpk+7jlVbnvlK5B2EKiPdLUb6WX654ZaaEWJUjk8TftRbZpK0XibovlLWX4KIZhV6jw==} + /@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.23.7(@babel/core@7.24.0): + resolution: {integrity: sha512-LlRT7HgaifEpQA1ZgLVOIJZZFVPWN5iReq/7/JixwBtwcoeVGDBD53ZV28rrsLYOZs1Y/EHhA8N/Z6aazHR8cw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.0 '@babel/helper-environment-visitor': 7.22.20 '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2(@babel/core@7.24.3): + /@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2(@babel/core@7.24.0): resolution: {integrity: sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.0 dev: true /@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.24.0): @@ -1634,15 +1622,6 @@ packages: '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.24.3): - resolution: {integrity: sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.24.3 - '@babel/helper-plugin-utils': 7.24.0 - dev: true - /@babel/plugin-syntax-bigint@7.8.3(@babel/core@7.24.0): resolution: {integrity: sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==} peerDependencies: @@ -1661,60 +1640,51 @@ packages: '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.24.3): - resolution: {integrity: sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.24.3 - '@babel/helper-plugin-utils': 7.24.0 - dev: true - - /@babel/plugin-syntax-class-static-block@7.14.5(@babel/core@7.24.3): + /@babel/plugin-syntax-class-static-block@7.14.5(@babel/core@7.24.0): resolution: {integrity: sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.0 '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-syntax-dynamic-import@7.8.3(@babel/core@7.24.3): + /@babel/plugin-syntax-dynamic-import@7.8.3(@babel/core@7.24.0): resolution: {integrity: sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.0 '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-syntax-export-namespace-from@7.8.3(@babel/core@7.24.3): + /@babel/plugin-syntax-export-namespace-from@7.8.3(@babel/core@7.24.0): resolution: {integrity: sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.0 '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-syntax-import-assertions@7.24.1(@babel/core@7.24.3): - resolution: {integrity: sha512-IuwnI5XnuF189t91XbxmXeCDz3qs6iDRO7GJ++wcfgeXNs/8FmIlKcpDSXNVyuLQxlwvskmI3Ct73wUODkJBlQ==} + /@babel/plugin-syntax-import-assertions@7.23.3(@babel/core@7.24.0): + resolution: {integrity: sha512-lPgDSU+SJLK3xmFDTV2ZRQAiM7UuUjGidwBywFavObCiZc1BeAAcMtHJKUya92hPHO+at63JJPLygilZard8jw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.0 '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-syntax-import-attributes@7.24.1(@babel/core@7.24.3): - resolution: {integrity: sha512-zhQTMH0X2nVLnb04tz+s7AMuasX8U0FnpE+nHTOhSOINjWMnopoZTxtIKsd45n4GQ/HIZLyfIpoul8e2m0DnRA==} + /@babel/plugin-syntax-import-attributes@7.23.3(@babel/core@7.24.0): + resolution: {integrity: sha512-pawnE0P9g10xgoP7yKr6CK63K2FMsTE+FZidZO/1PwRdzmAPVs+HS1mAURUsgaoxammTJvULUdIkEK0gOcU2tA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.0 '@babel/helper-plugin-utils': 7.24.0 dev: true @@ -1727,15 +1697,6 @@ packages: '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.24.3): - resolution: {integrity: sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.24.3 - '@babel/helper-plugin-utils': 7.24.0 - dev: true - /@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.24.0): resolution: {integrity: sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==} peerDependencies: @@ -1745,15 +1706,6 @@ packages: '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.24.3): - resolution: {integrity: sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.24.3 - '@babel/helper-plugin-utils': 7.24.0 - dev: true - /@babel/plugin-syntax-jsx@7.23.3(@babel/core@7.24.0): resolution: {integrity: sha512-EB2MELswq55OHUoRZLGg/zC7QWUKfNLpE57m/S2yr1uEneIgsTgrSzXP3NXEsMkVn76OlaVVnzN+ugObuYGwhg==} engines: {node: '>=6.9.0'} @@ -1764,21 +1716,22 @@ packages: '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.24.0): - resolution: {integrity: sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==} + /@babel/plugin-syntax-jsx@7.24.1(@babel/core@7.24.3): + resolution: {integrity: sha512-2eCtxZXf+kbkMIsXS4poTvT4Yu5rXiRa+9xGVT56raghjmBTKMpFNc9R4IDiB4emao9eO22Ox7CxuJG7BgExqA==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.3 '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.24.3): + /@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.24.0): resolution: {integrity: sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.0 '@babel/helper-plugin-utils': 7.24.0 dev: true @@ -1791,15 +1744,6 @@ packages: '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.24.3): - resolution: {integrity: sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.24.3 - '@babel/helper-plugin-utils': 7.24.0 - dev: true - /@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.24.0): resolution: {integrity: sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==} peerDependencies: @@ -1809,15 +1753,6 @@ packages: '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.24.3): - resolution: {integrity: sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.24.3 - '@babel/helper-plugin-utils': 7.24.0 - dev: true - /@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.24.0): resolution: {integrity: sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==} peerDependencies: @@ -1827,15 +1762,6 @@ packages: '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.24.3): - resolution: {integrity: sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.24.3 - '@babel/helper-plugin-utils': 7.24.0 - dev: true - /@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.24.0): resolution: {integrity: sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==} peerDependencies: @@ -1845,15 +1771,6 @@ packages: '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.24.3): - resolution: {integrity: sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.24.3 - '@babel/helper-plugin-utils': 7.24.0 - dev: true - /@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.24.0): resolution: {integrity: sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==} peerDependencies: @@ -1863,22 +1780,13 @@ packages: '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.24.3): - resolution: {integrity: sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.24.3 - '@babel/helper-plugin-utils': 7.24.0 - dev: true - - /@babel/plugin-syntax-private-property-in-object@7.14.5(@babel/core@7.24.3): + /@babel/plugin-syntax-private-property-in-object@7.14.5(@babel/core@7.24.0): resolution: {integrity: sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.0 '@babel/helper-plugin-utils': 7.24.0 dev: true @@ -1892,280 +1800,280 @@ packages: '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.24.3): - resolution: {integrity: sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==} + /@babel/plugin-syntax-typescript@7.23.3(@babel/core@7.24.0): + resolution: {integrity: sha512-9EiNjVJOMwCO+43TqoTrgQ8jMwcAd0sWyXi9RPfIsLTj4R2MADDDQXELhffaUx/uJv2AYcxBgPwH6j4TIA4ytQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.0 '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-syntax-typescript@7.23.3(@babel/core@7.24.0): - resolution: {integrity: sha512-9EiNjVJOMwCO+43TqoTrgQ8jMwcAd0sWyXi9RPfIsLTj4R2MADDDQXELhffaUx/uJv2AYcxBgPwH6j4TIA4ytQ==} + /@babel/plugin-syntax-typescript@7.24.1(@babel/core@7.24.3): + resolution: {integrity: sha512-Yhnmvy5HZEnHUty6i++gcfH1/l68AHnItFHnaCv6hn9dNh0hQvvQJsxpi4BMBFN5DLeHBuucT/0DgzXif/OyRw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.3 '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-syntax-unicode-sets-regex@7.18.6(@babel/core@7.24.3): + /@babel/plugin-syntax-unicode-sets-regex@7.18.6(@babel/core@7.24.0): resolution: {integrity: sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.24.3 - '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.24.3) + '@babel/core': 7.24.0 + '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.24.0) '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-transform-arrow-functions@7.24.1(@babel/core@7.24.3): - resolution: {integrity: sha512-ngT/3NkRhsaep9ck9uj2Xhv9+xB1zShY3tM3g6om4xxCELwCDN4g4Aq5dRn48+0hasAql7s2hdBOysCfNpr4fw==} + /@babel/plugin-transform-arrow-functions@7.23.3(@babel/core@7.24.0): + resolution: {integrity: sha512-NzQcQrzaQPkaEwoTm4Mhyl8jI1huEL/WWIEvudjTCMJ9aBZNpsJbMASx7EQECtQQPS/DcnFpo0FIh3LvEO9cxQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.0 '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-transform-async-generator-functions@7.24.3(@babel/core@7.24.3): - resolution: {integrity: sha512-Qe26CMYVjpQxJ8zxM1340JFNjZaF+ISWpr1Kt/jGo+ZTUzKkfw/pphEWbRCb+lmSM6k/TOgfYLvmbHkUQ0asIg==} + /@babel/plugin-transform-async-generator-functions@7.23.9(@babel/core@7.24.0): + resolution: {integrity: sha512-8Q3veQEDGe14dTYuwagbRtwxQDnytyg1JFu4/HwEMETeofocrB0U0ejBJIXoeG/t2oXZ8kzCyI0ZZfbT80VFNQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.0 '@babel/helper-environment-visitor': 7.22.20 '@babel/helper-plugin-utils': 7.24.0 - '@babel/helper-remap-async-to-generator': 7.22.20(@babel/core@7.24.3) - '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.24.3) + '@babel/helper-remap-async-to-generator': 7.22.20(@babel/core@7.24.0) + '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.24.0) dev: true - /@babel/plugin-transform-async-to-generator@7.24.1(@babel/core@7.24.3): - resolution: {integrity: sha512-AawPptitRXp1y0n4ilKcGbRYWfbbzFWz2NqNu7dacYDtFtz0CMjG64b3LQsb3KIgnf4/obcUL78hfaOS7iCUfw==} + /@babel/plugin-transform-async-to-generator@7.23.3(@babel/core@7.24.0): + resolution: {integrity: sha512-A7LFsKi4U4fomjqXJlZg/u0ft/n8/7n7lpffUP/ZULx/DtV9SGlNKZolHH6PE8Xl1ngCc0M11OaeZptXVkfKSw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.3 - '@babel/helper-module-imports': 7.24.3 + '@babel/core': 7.24.0 + '@babel/helper-module-imports': 7.22.15 '@babel/helper-plugin-utils': 7.24.0 - '@babel/helper-remap-async-to-generator': 7.22.20(@babel/core@7.24.3) + '@babel/helper-remap-async-to-generator': 7.22.20(@babel/core@7.24.0) dev: true - /@babel/plugin-transform-block-scoped-functions@7.24.1(@babel/core@7.24.3): - resolution: {integrity: sha512-TWWC18OShZutrv9C6mye1xwtam+uNi2bnTOCBUd5sZxyHOiWbU6ztSROofIMrK84uweEZC219POICK/sTYwfgg==} + /@babel/plugin-transform-block-scoped-functions@7.23.3(@babel/core@7.24.0): + resolution: {integrity: sha512-vI+0sIaPIO6CNuM9Kk5VmXcMVRiOpDh7w2zZt9GXzmE/9KD70CUEVhvPR/etAeNK/FAEkhxQtXOzVF3EuRL41A==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.0 '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-transform-block-scoping@7.24.1(@babel/core@7.24.3): - resolution: {integrity: sha512-h71T2QQvDgM2SmT29UYU6ozjMlAt7s7CSs5Hvy8f8cf/GM/Z4a2zMfN+fjVGaieeCrXR3EdQl6C4gQG+OgmbKw==} + /@babel/plugin-transform-block-scoping@7.23.4(@babel/core@7.24.0): + resolution: {integrity: sha512-0QqbP6B6HOh7/8iNR4CQU2Th/bbRtBp4KS9vcaZd1fZ0wSh5Fyssg0UCIHwxh+ka+pNDREbVLQnHCMHKZfPwfw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.0 '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-transform-class-properties@7.24.1(@babel/core@7.24.3): - resolution: {integrity: sha512-OMLCXi0NqvJfORTaPQBwqLXHhb93wkBKZ4aNwMl6WtehO7ar+cmp+89iPEQPqxAnxsOKTaMcs3POz3rKayJ72g==} + /@babel/plugin-transform-class-properties@7.23.3(@babel/core@7.24.0): + resolution: {integrity: sha512-uM+AN8yCIjDPccsKGlw271xjJtGii+xQIF/uMPS8H15L12jZTsLfF4o5vNO7d/oUguOyfdikHGc/yi9ge4SGIg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.3 - '@babel/helper-create-class-features-plugin': 7.24.1(@babel/core@7.24.3) + '@babel/core': 7.24.0 + '@babel/helper-create-class-features-plugin': 7.24.0(@babel/core@7.24.0) '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-transform-class-static-block@7.24.1(@babel/core@7.24.3): - resolution: {integrity: sha512-FUHlKCn6J3ERiu8Dv+4eoz7w8+kFLSyeVG4vDAikwADGjUCoHw/JHokyGtr8OR4UjpwPVivyF+h8Q5iv/JmrtA==} + /@babel/plugin-transform-class-static-block@7.23.4(@babel/core@7.24.0): + resolution: {integrity: sha512-nsWu/1M+ggti1SOALj3hfx5FXzAY06fwPJsUZD4/A5e1bWi46VUIWtD+kOX6/IdhXGsXBWllLFDSnqSCdUNydQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.12.0 dependencies: - '@babel/core': 7.24.3 - '@babel/helper-create-class-features-plugin': 7.24.1(@babel/core@7.24.3) + '@babel/core': 7.24.0 + '@babel/helper-create-class-features-plugin': 7.24.0(@babel/core@7.24.0) '@babel/helper-plugin-utils': 7.24.0 - '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.24.3) + '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.24.0) dev: true - /@babel/plugin-transform-classes@7.24.1(@babel/core@7.24.3): - resolution: {integrity: sha512-ZTIe3W7UejJd3/3R4p7ScyyOoafetUShSf4kCqV0O7F/RiHxVj/wRaRnQlrGwflvcehNA8M42HkAiEDYZu2F1Q==} + /@babel/plugin-transform-classes@7.23.8(@babel/core@7.24.0): + resolution: {integrity: sha512-yAYslGsY1bX6Knmg46RjiCiNSwJKv2IUC8qOdYKqMMr0491SXFhcHqOdRDeCRohOOIzwN/90C6mQ9qAKgrP7dg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.0 '@babel/helper-annotate-as-pure': 7.22.5 '@babel/helper-compilation-targets': 7.23.6 '@babel/helper-environment-visitor': 7.22.20 '@babel/helper-function-name': 7.23.0 '@babel/helper-plugin-utils': 7.24.0 - '@babel/helper-replace-supers': 7.24.1(@babel/core@7.24.3) + '@babel/helper-replace-supers': 7.22.20(@babel/core@7.24.0) '@babel/helper-split-export-declaration': 7.22.6 globals: 11.12.0 dev: true - /@babel/plugin-transform-computed-properties@7.24.1(@babel/core@7.24.3): - resolution: {integrity: sha512-5pJGVIUfJpOS+pAqBQd+QMaTD2vCL/HcePooON6pDpHgRp4gNRmzyHTPIkXntwKsq3ayUFVfJaIKPw2pOkOcTw==} + /@babel/plugin-transform-computed-properties@7.23.3(@babel/core@7.24.0): + resolution: {integrity: sha512-dTj83UVTLw/+nbiHqQSFdwO9CbTtwq1DsDqm3CUEtDrZNET5rT5E6bIdTlOftDTDLMYxvxHNEYO4B9SLl8SLZw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.0 '@babel/helper-plugin-utils': 7.24.0 '@babel/template': 7.24.0 dev: true - /@babel/plugin-transform-destructuring@7.24.1(@babel/core@7.24.3): - resolution: {integrity: sha512-ow8jciWqNxR3RYbSNVuF4U2Jx130nwnBnhRw6N6h1bOejNkABmcI5X5oz29K4alWX7vf1C+o6gtKXikzRKkVdw==} + /@babel/plugin-transform-destructuring@7.23.3(@babel/core@7.24.0): + resolution: {integrity: sha512-n225npDqjDIr967cMScVKHXJs7rout1q+tt50inyBCPkyZ8KxeI6d+GIbSBTT/w/9WdlWDOej3V9HE5Lgk57gw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.0 '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-transform-dotall-regex@7.24.1(@babel/core@7.24.3): - resolution: {integrity: sha512-p7uUxgSoZwZ2lPNMzUkqCts3xlp8n+o05ikjy7gbtFJSt9gdU88jAmtfmOxHM14noQXBxfgzf2yRWECiNVhTCw==} + /@babel/plugin-transform-dotall-regex@7.23.3(@babel/core@7.24.0): + resolution: {integrity: sha512-vgnFYDHAKzFaTVp+mneDsIEbnJ2Np/9ng9iviHw3P/KVcgONxpNULEW/51Z/BaFojG2GI2GwwXck5uV1+1NOYQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.3 - '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.24.3) + '@babel/core': 7.24.0 + '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.24.0) '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-transform-duplicate-keys@7.24.1(@babel/core@7.24.3): - resolution: {integrity: sha512-msyzuUnvsjsaSaocV6L7ErfNsa5nDWL1XKNnDePLgmz+WdU4w/J8+AxBMrWfi9m4IxfL5sZQKUPQKDQeeAT6lA==} + /@babel/plugin-transform-duplicate-keys@7.23.3(@babel/core@7.24.0): + resolution: {integrity: sha512-RrqQ+BQmU3Oyav3J+7/myfvRCq7Tbz+kKLLshUmMwNlDHExbGL7ARhajvoBJEvc+fCguPPu887N+3RRXBVKZUA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.0 '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-transform-dynamic-import@7.24.1(@babel/core@7.24.3): - resolution: {integrity: sha512-av2gdSTyXcJVdI+8aFZsCAtR29xJt0S5tas+Ef8NvBNmD1a+N/3ecMLeMBgfcK+xzsjdLDT6oHt+DFPyeqUbDA==} + /@babel/plugin-transform-dynamic-import@7.23.4(@babel/core@7.24.0): + resolution: {integrity: sha512-V6jIbLhdJK86MaLh4Jpghi8ho5fGzt3imHOBu/x0jlBaPYqDoWz4RDXjmMOfnh+JWNaQleEAByZLV0QzBT4YQQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.0 '@babel/helper-plugin-utils': 7.24.0 - '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.24.3) + '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.24.0) dev: true - /@babel/plugin-transform-exponentiation-operator@7.24.1(@babel/core@7.24.3): - resolution: {integrity: sha512-U1yX13dVBSwS23DEAqU+Z/PkwE9/m7QQy8Y9/+Tdb8UWYaGNDYwTLi19wqIAiROr8sXVum9A/rtiH5H0boUcTw==} + /@babel/plugin-transform-exponentiation-operator@7.23.3(@babel/core@7.24.0): + resolution: {integrity: sha512-5fhCsl1odX96u7ILKHBj4/Y8vipoqwsJMh4csSA8qFfxrZDEA4Ssku2DyNvMJSmZNOEBT750LfFPbtrnTP90BQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.0 '@babel/helper-builder-binary-assignment-operator-visitor': 7.22.15 '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-transform-export-namespace-from@7.24.1(@babel/core@7.24.3): - resolution: {integrity: sha512-Ft38m/KFOyzKw2UaJFkWG9QnHPG/Q/2SkOrRk4pNBPg5IPZ+dOxcmkK5IyuBcxiNPyyYowPGUReyBvrvZs7IlQ==} + /@babel/plugin-transform-export-namespace-from@7.23.4(@babel/core@7.24.0): + resolution: {integrity: sha512-GzuSBcKkx62dGzZI1WVgTWvkkz84FZO5TC5T8dl/Tht/rAla6Dg/Mz9Yhypg+ezVACf/rgDuQt3kbWEv7LdUDQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.0 '@babel/helper-plugin-utils': 7.24.0 - '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.24.3) + '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.24.0) dev: true - /@babel/plugin-transform-for-of@7.24.1(@babel/core@7.24.3): - resolution: {integrity: sha512-OxBdcnF04bpdQdR3i4giHZNZQn7cm8RQKcSwA17wAAqEELo1ZOwp5FFgeptWUQXFyT9kwHo10aqqauYkRZPCAg==} + /@babel/plugin-transform-for-of@7.23.6(@babel/core@7.24.0): + resolution: {integrity: sha512-aYH4ytZ0qSuBbpfhuofbg/e96oQ7U2w1Aw/UQmKT+1l39uEhUPoFS3fHevDc1G0OvewyDudfMKY1OulczHzWIw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.0 '@babel/helper-plugin-utils': 7.24.0 '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 dev: true - /@babel/plugin-transform-function-name@7.24.1(@babel/core@7.24.3): - resolution: {integrity: sha512-BXmDZpPlh7jwicKArQASrj8n22/w6iymRnvHYYd2zO30DbE277JO20/7yXJT3QxDPtiQiOxQBbZH4TpivNXIxA==} + /@babel/plugin-transform-function-name@7.23.3(@babel/core@7.24.0): + resolution: {integrity: sha512-I1QXp1LxIvt8yLaib49dRW5Okt7Q4oaxao6tFVKS/anCdEOMtYwWVKoiOA1p34GOWIZjUK0E+zCp7+l1pfQyiw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.0 '@babel/helper-compilation-targets': 7.23.6 '@babel/helper-function-name': 7.23.0 '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-transform-json-strings@7.24.1(@babel/core@7.24.3): - resolution: {integrity: sha512-U7RMFmRvoasscrIFy5xA4gIp8iWnWubnKkKuUGJjsuOH7GfbMkB+XZzeslx2kLdEGdOJDamEmCqOks6e8nv8DQ==} + /@babel/plugin-transform-json-strings@7.23.4(@babel/core@7.24.0): + resolution: {integrity: sha512-81nTOqM1dMwZ/aRXQ59zVubN9wHGqk6UtqRK+/q+ciXmRy8fSolhGVvG09HHRGo4l6fr/c4ZhXUQH0uFW7PZbg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.0 '@babel/helper-plugin-utils': 7.24.0 - '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.24.3) + '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.24.0) dev: true - /@babel/plugin-transform-literals@7.24.1(@babel/core@7.24.3): - resolution: {integrity: sha512-zn9pwz8U7nCqOYIiBaOxoQOtYmMODXTJnkxG4AtX8fPmnCRYWBOHD0qcpwS9e2VDSp1zNJYpdnFMIKb8jmwu6g==} + /@babel/plugin-transform-literals@7.23.3(@babel/core@7.24.0): + resolution: {integrity: sha512-wZ0PIXRxnwZvl9AYpqNUxpZ5BiTGrYt7kueGQ+N5FiQ7RCOD4cm8iShd6S6ggfVIWaJf2EMk8eRzAh52RfP4rQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.0 '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-transform-logical-assignment-operators@7.24.1(@babel/core@7.24.3): - resolution: {integrity: sha512-OhN6J4Bpz+hIBqItTeWJujDOfNP+unqv/NJgyhlpSqgBTPm37KkMmZV6SYcOj+pnDbdcl1qRGV/ZiIjX9Iy34w==} + /@babel/plugin-transform-logical-assignment-operators@7.23.4(@babel/core@7.24.0): + resolution: {integrity: sha512-Mc/ALf1rmZTP4JKKEhUwiORU+vcfarFVLfcFiolKUo6sewoxSEgl36ak5t+4WamRsNr6nzjZXQjM35WsU+9vbg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.0 '@babel/helper-plugin-utils': 7.24.0 - '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.24.3) + '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.24.0) dev: true - /@babel/plugin-transform-member-expression-literals@7.24.1(@babel/core@7.24.3): - resolution: {integrity: sha512-4ojai0KysTWXzHseJKa1XPNXKRbuUrhkOPY4rEGeR+7ChlJVKxFa3H3Bz+7tWaGKgJAXUWKOGmltN+u9B3+CVg==} + /@babel/plugin-transform-member-expression-literals@7.23.3(@babel/core@7.24.0): + resolution: {integrity: sha512-sC3LdDBDi5x96LA+Ytekz2ZPk8i/Ck+DEuDbRAll5rknJ5XRTSaPKEYwomLcs1AA8wg9b3KjIQRsnApj+q51Ag==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.0 '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-transform-modules-amd@7.24.1(@babel/core@7.24.3): - resolution: {integrity: sha512-lAxNHi4HVtjnHd5Rxg3D5t99Xm6H7b04hUS7EHIXcUl2EV4yl1gWdqZrNzXnSrHveL9qMdbODlLF55mvgjAfaQ==} + /@babel/plugin-transform-modules-amd@7.23.3(@babel/core@7.24.0): + resolution: {integrity: sha512-vJYQGxeKM4t8hYCKVBlZX/gtIY2I7mRGFNcm85sgXGMTBcoV3QdVtdpbcWEbzbfUIUZKwvgFT82mRvaQIebZzw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.3 - '@babel/helper-module-transforms': 7.23.3(@babel/core@7.24.3) + '@babel/core': 7.24.0 + '@babel/helper-module-transforms': 7.23.3(@babel/core@7.24.0) '@babel/helper-plugin-utils': 7.24.0 dev: true @@ -2193,406 +2101,407 @@ packages: '@babel/helper-simple-access': 7.22.5 dev: true - /@babel/plugin-transform-modules-systemjs@7.24.1(@babel/core@7.24.3): - resolution: {integrity: sha512-mqQ3Zh9vFO1Tpmlt8QPnbwGHzNz3lpNEMxQb1kAemn/erstyqw1r9KeOlOfo3y6xAnFEcOv2tSyrXfmMk+/YZA==} + /@babel/plugin-transform-modules-systemjs@7.23.9(@babel/core@7.24.0): + resolution: {integrity: sha512-KDlPRM6sLo4o1FkiSlXoAa8edLXFsKKIda779fbLrvmeuc3itnjCtaO6RrtoaANsIJANj+Vk1zqbZIMhkCAHVw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.0 '@babel/helper-hoist-variables': 7.22.5 - '@babel/helper-module-transforms': 7.23.3(@babel/core@7.24.3) + '@babel/helper-module-transforms': 7.23.3(@babel/core@7.24.0) '@babel/helper-plugin-utils': 7.24.0 '@babel/helper-validator-identifier': 7.22.20 dev: true - /@babel/plugin-transform-modules-umd@7.24.1(@babel/core@7.24.3): - resolution: {integrity: sha512-tuA3lpPj+5ITfcCluy6nWonSL7RvaG0AOTeAuvXqEKS34lnLzXpDb0dcP6K8jD0zWZFNDVly90AGFJPnm4fOYg==} + /@babel/plugin-transform-modules-umd@7.23.3(@babel/core@7.24.0): + resolution: {integrity: sha512-zHsy9iXX2nIsCBFPud3jKn1IRPWg3Ing1qOZgeKV39m1ZgIdpJqvlWVeiHBZC6ITRG0MfskhYe9cLgntfSFPIg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.3 - '@babel/helper-module-transforms': 7.23.3(@babel/core@7.24.3) + '@babel/core': 7.24.0 + '@babel/helper-module-transforms': 7.23.3(@babel/core@7.24.0) '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-transform-named-capturing-groups-regex@7.22.5(@babel/core@7.24.3): + /@babel/plugin-transform-named-capturing-groups-regex@7.22.5(@babel/core@7.24.0): resolution: {integrity: sha512-YgLLKmS3aUBhHaxp5hi1WJTgOUb/NCuDHzGT9z9WTt3YG+CPRhJs6nprbStx6DnWM4dh6gt7SU3sZodbZ08adQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.24.3 - '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.24.3) + '@babel/core': 7.24.0 + '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.24.0) '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-transform-new-target@7.24.1(@babel/core@7.24.3): - resolution: {integrity: sha512-/rurytBM34hYy0HKZQyA0nHbQgQNFm4Q/BOc9Hflxi2X3twRof7NaE5W46j4kQitm7SvACVRXsa6N/tSZxvPug==} + /@babel/plugin-transform-new-target@7.23.3(@babel/core@7.24.0): + resolution: {integrity: sha512-YJ3xKqtJMAT5/TIZnpAR3I+K+WaDowYbN3xyxI8zxx/Gsypwf9B9h0VB+1Nh6ACAAPRS5NSRje0uVv5i79HYGQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.0 '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-transform-nullish-coalescing-operator@7.24.1(@babel/core@7.24.3): - resolution: {integrity: sha512-iQ+caew8wRrhCikO5DrUYx0mrmdhkaELgFa+7baMcVuhxIkN7oxt06CZ51D65ugIb1UWRQ8oQe+HXAVM6qHFjw==} + /@babel/plugin-transform-nullish-coalescing-operator@7.23.4(@babel/core@7.24.0): + resolution: {integrity: sha512-jHE9EVVqHKAQx+VePv5LLGHjmHSJR76vawFPTdlxR/LVJPfOEGxREQwQfjuZEOPTwG92X3LINSh3M40Rv4zpVA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.0 '@babel/helper-plugin-utils': 7.24.0 - '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.24.3) + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.24.0) dev: true - /@babel/plugin-transform-numeric-separator@7.24.1(@babel/core@7.24.3): - resolution: {integrity: sha512-7GAsGlK4cNL2OExJH1DzmDeKnRv/LXq0eLUSvudrehVA5Rgg4bIrqEUW29FbKMBRT0ztSqisv7kjP+XIC4ZMNw==} + /@babel/plugin-transform-numeric-separator@7.23.4(@babel/core@7.24.0): + resolution: {integrity: sha512-mps6auzgwjRrwKEZA05cOwuDc9FAzoyFS4ZsG/8F43bTLf/TgkJg7QXOrPO1JO599iA3qgK9MXdMGOEC8O1h6Q==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.0 '@babel/helper-plugin-utils': 7.24.0 - '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.24.3) + '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.24.0) dev: true - /@babel/plugin-transform-object-rest-spread@7.24.1(@babel/core@7.24.3): - resolution: {integrity: sha512-XjD5f0YqOtebto4HGISLNfiNMTTs6tbkFf2TOqJlYKYmbo+mN9Dnpl4SRoofiziuOWMIyq3sZEUqLo3hLITFEA==} + /@babel/plugin-transform-object-rest-spread@7.24.0(@babel/core@7.24.0): + resolution: {integrity: sha512-y/yKMm7buHpFFXfxVFS4Vk1ToRJDilIa6fKRioB9Vjichv58TDGXTvqV0dN7plobAmTW5eSEGXDngE+Mm+uO+w==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.3 + '@babel/compat-data': 7.23.5 + '@babel/core': 7.24.0 '@babel/helper-compilation-targets': 7.23.6 '@babel/helper-plugin-utils': 7.24.0 - '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.24.3) - '@babel/plugin-transform-parameters': 7.24.1(@babel/core@7.24.3) + '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.24.0) + '@babel/plugin-transform-parameters': 7.23.3(@babel/core@7.24.0) dev: true - /@babel/plugin-transform-object-super@7.24.1(@babel/core@7.24.3): - resolution: {integrity: sha512-oKJqR3TeI5hSLRxudMjFQ9re9fBVUU0GICqM3J1mi8MqlhVr6hC/ZN4ttAyMuQR6EZZIY6h/exe5swqGNNIkWQ==} + /@babel/plugin-transform-object-super@7.23.3(@babel/core@7.24.0): + resolution: {integrity: sha512-BwQ8q0x2JG+3lxCVFohg+KbQM7plfpBwThdW9A6TMtWwLsbDA01Ek2Zb/AgDN39BiZsExm4qrXxjk+P1/fzGrA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.0 '@babel/helper-plugin-utils': 7.24.0 - '@babel/helper-replace-supers': 7.24.1(@babel/core@7.24.3) + '@babel/helper-replace-supers': 7.22.20(@babel/core@7.24.0) dev: true - /@babel/plugin-transform-optional-catch-binding@7.24.1(@babel/core@7.24.3): - resolution: {integrity: sha512-oBTH7oURV4Y+3EUrf6cWn1OHio3qG/PVwO5J03iSJmBg6m2EhKjkAu/xuaXaYwWW9miYtvbWv4LNf0AmR43LUA==} + /@babel/plugin-transform-optional-catch-binding@7.23.4(@babel/core@7.24.0): + resolution: {integrity: sha512-XIq8t0rJPHf6Wvmbn9nFxU6ao4c7WhghTR5WyV8SrJfUFzyxhCm4nhC+iAp3HFhbAKLfYpgzhJ6t4XCtVwqO5A==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.0 '@babel/helper-plugin-utils': 7.24.0 - '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.24.3) + '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.24.0) dev: true - /@babel/plugin-transform-optional-chaining@7.24.1(@babel/core@7.24.3): - resolution: {integrity: sha512-n03wmDt+987qXwAgcBlnUUivrZBPZ8z1plL0YvgQalLm+ZE5BMhGm94jhxXtA1wzv1Cu2aaOv1BM9vbVttrzSg==} + /@babel/plugin-transform-optional-chaining@7.23.4(@babel/core@7.24.0): + resolution: {integrity: sha512-ZU8y5zWOfjM5vZ+asjgAPwDaBjJzgufjES89Rs4Lpq63O300R/kOz30WCLo6BxxX6QVEilwSlpClnG5cZaikTA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.0 '@babel/helper-plugin-utils': 7.24.0 '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 - '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.24.3) + '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.24.0) dev: true - /@babel/plugin-transform-parameters@7.24.1(@babel/core@7.24.3): - resolution: {integrity: sha512-8Jl6V24g+Uw5OGPeWNKrKqXPDw2YDjLc53ojwfMcKwlEoETKU9rU0mHUtcg9JntWI/QYzGAXNWEcVHZ+fR+XXg==} + /@babel/plugin-transform-parameters@7.23.3(@babel/core@7.24.0): + resolution: {integrity: sha512-09lMt6UsUb3/34BbECKVbVwrT9bO6lILWln237z7sLaWnMsTi7Yc9fhX5DLpkJzAGfaReXI22wP41SZmnAA3Vw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.0 '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-transform-private-methods@7.24.1(@babel/core@7.24.3): - resolution: {integrity: sha512-tGvisebwBO5em4PaYNqt4fkw56K2VALsAbAakY0FjTYqJp7gfdrgr7YX76Or8/cpik0W6+tj3rZ0uHU9Oil4tw==} + /@babel/plugin-transform-private-methods@7.23.3(@babel/core@7.24.0): + resolution: {integrity: sha512-UzqRcRtWsDMTLrRWFvUBDwmw06tCQH9Rl1uAjfh6ijMSmGYQ+fpdB+cnqRC8EMh5tuuxSv0/TejGL+7vyj+50g==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.3 - '@babel/helper-create-class-features-plugin': 7.24.1(@babel/core@7.24.3) + '@babel/core': 7.24.0 + '@babel/helper-create-class-features-plugin': 7.24.0(@babel/core@7.24.0) '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-transform-private-property-in-object@7.24.1(@babel/core@7.24.3): - resolution: {integrity: sha512-pTHxDVa0BpUbvAgX3Gat+7cSciXqUcY9j2VZKTbSB6+VQGpNgNO9ailxTGHSXlqOnX1Hcx1Enme2+yv7VqP9bg==} + /@babel/plugin-transform-private-property-in-object@7.23.4(@babel/core@7.24.0): + resolution: {integrity: sha512-9G3K1YqTq3F4Vt88Djx1UZ79PDyj+yKRnUy7cZGSMe+a7jkwD259uKKuUzQlPkGam7R+8RJwh5z4xO27fA1o2A==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.0 '@babel/helper-annotate-as-pure': 7.22.5 - '@babel/helper-create-class-features-plugin': 7.24.1(@babel/core@7.24.3) + '@babel/helper-create-class-features-plugin': 7.24.0(@babel/core@7.24.0) '@babel/helper-plugin-utils': 7.24.0 - '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.24.3) + '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.24.0) dev: true - /@babel/plugin-transform-property-literals@7.24.1(@babel/core@7.24.3): - resolution: {integrity: sha512-LetvD7CrHmEx0G442gOomRr66d7q8HzzGGr4PMHGr+5YIm6++Yke+jxj246rpvsbyhJwCLxcTn6zW1P1BSenqA==} + /@babel/plugin-transform-property-literals@7.23.3(@babel/core@7.24.0): + resolution: {integrity: sha512-jR3Jn3y7cZp4oEWPFAlRsSWjxKe4PZILGBSd4nis1TsC5qeSpb+nrtihJuDhNI7QHiVbUaiXa0X2RZY3/TI6Nw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.0 '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-transform-regenerator@7.24.1(@babel/core@7.24.3): - resolution: {integrity: sha512-sJwZBCzIBE4t+5Q4IGLaaun5ExVMRY0lYwos/jNecjMrVCygCdph3IKv0tkP5Fc87e/1+bebAmEAGBfnRD+cnw==} + /@babel/plugin-transform-regenerator@7.23.3(@babel/core@7.24.0): + resolution: {integrity: sha512-KP+75h0KghBMcVpuKisx3XTu9Ncut8Q8TuvGO4IhY+9D5DFEckQefOuIsB/gQ2tG71lCke4NMrtIPS8pOj18BQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.0 '@babel/helper-plugin-utils': 7.24.0 regenerator-transform: 0.15.2 dev: true - /@babel/plugin-transform-reserved-words@7.24.1(@babel/core@7.24.3): - resolution: {integrity: sha512-JAclqStUfIwKN15HrsQADFgeZt+wexNQ0uLhuqvqAUFoqPMjEcFCYZBhq0LUdz6dZK/mD+rErhW71fbx8RYElg==} + /@babel/plugin-transform-reserved-words@7.23.3(@babel/core@7.24.0): + resolution: {integrity: sha512-QnNTazY54YqgGxwIexMZva9gqbPa15t/x9VS+0fsEFWplwVpXYZivtgl43Z1vMpc1bdPP2PP8siFeVcnFvA3Cg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.0 '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-transform-shorthand-properties@7.24.1(@babel/core@7.24.3): - resolution: {integrity: sha512-LyjVB1nsJ6gTTUKRjRWx9C1s9hE7dLfP/knKdrfeH9UPtAGjYGgxIbFfx7xyLIEWs7Xe1Gnf8EWiUqfjLhInZA==} + /@babel/plugin-transform-shorthand-properties@7.23.3(@babel/core@7.24.0): + resolution: {integrity: sha512-ED2fgqZLmexWiN+YNFX26fx4gh5qHDhn1O2gvEhreLW2iI63Sqm4llRLCXALKrCnbN4Jy0VcMQZl/SAzqug/jg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.0 '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-transform-spread@7.24.1(@babel/core@7.24.3): - resolution: {integrity: sha512-KjmcIM+fxgY+KxPVbjelJC6hrH1CgtPmTvdXAfn3/a9CnWGSTY7nH4zm5+cjmWJybdcPSsD0++QssDsjcpe47g==} + /@babel/plugin-transform-spread@7.23.3(@babel/core@7.24.0): + resolution: {integrity: sha512-VvfVYlrlBVu+77xVTOAoxQ6mZbnIq5FM0aGBSFEcIh03qHf+zNqA4DC/3XMUozTg7bZV3e3mZQ0i13VB6v5yUg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.0 '@babel/helper-plugin-utils': 7.24.0 '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 dev: true - /@babel/plugin-transform-sticky-regex@7.24.1(@babel/core@7.24.3): - resolution: {integrity: sha512-9v0f1bRXgPVcPrngOQvLXeGNNVLc8UjMVfebo9ka0WF3/7+aVUHmaJVT3sa0XCzEFioPfPHZiOcYG9qOsH63cw==} + /@babel/plugin-transform-sticky-regex@7.23.3(@babel/core@7.24.0): + resolution: {integrity: sha512-HZOyN9g+rtvnOU3Yh7kSxXrKbzgrm5X4GncPY1QOquu7epga5MxKHVpYu2hvQnry/H+JjckSYRb93iNfsioAGg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.0 '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-transform-template-literals@7.24.1(@babel/core@7.24.3): - resolution: {integrity: sha512-WRkhROsNzriarqECASCNu/nojeXCDTE/F2HmRgOzi7NGvyfYGq1NEjKBK3ckLfRgGc6/lPAqP0vDOSw3YtG34g==} + /@babel/plugin-transform-template-literals@7.23.3(@babel/core@7.24.0): + resolution: {integrity: sha512-Flok06AYNp7GV2oJPZZcP9vZdszev6vPBkHLwxwSpaIqx75wn6mUd3UFWsSsA0l8nXAKkyCmL/sR02m8RYGeHg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.0 '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-transform-typeof-symbol@7.24.1(@babel/core@7.24.3): - resolution: {integrity: sha512-CBfU4l/A+KruSUoW+vTQthwcAdwuqbpRNB8HQKlZABwHRhsdHZ9fezp4Sn18PeAlYxTNiLMlx4xUBV3AWfg1BA==} + /@babel/plugin-transform-typeof-symbol@7.23.3(@babel/core@7.24.0): + resolution: {integrity: sha512-4t15ViVnaFdrPC74be1gXBSMzXk3B4Us9lP7uLRQHTFpV5Dvt33pn+2MyyNxmN3VTTm3oTrZVMUmuw3oBnQ2oQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.0 '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-transform-typescript@7.23.6(@babel/core@7.24.0): - resolution: {integrity: sha512-6cBG5mBvUu4VUD04OHKnYzbuHNP8huDsD3EDqqpIpsswTDoqHCjLoHb6+QgsV1WsT2nipRqCPgxD3LXnEO7XfA==} + /@babel/plugin-transform-typescript@7.24.1(@babel/core@7.24.3): + resolution: {integrity: sha512-liYSESjX2fZ7JyBFkYG78nfvHlMKE6IpNdTVnxmlYUR+j5ZLsitFbaAE+eJSK2zPPkNWNw4mXL51rQ8WrvdK0w==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.3 '@babel/helper-annotate-as-pure': 7.22.5 - '@babel/helper-create-class-features-plugin': 7.24.0(@babel/core@7.24.0) + '@babel/helper-create-class-features-plugin': 7.24.1(@babel/core@7.24.3) '@babel/helper-plugin-utils': 7.24.0 - '@babel/plugin-syntax-typescript': 7.23.3(@babel/core@7.24.0) + '@babel/plugin-syntax-typescript': 7.24.1(@babel/core@7.24.3) dev: true - /@babel/plugin-transform-unicode-escapes@7.24.1(@babel/core@7.24.3): - resolution: {integrity: sha512-RlkVIcWT4TLI96zM660S877E7beKlQw7Ig+wqkKBiWfj0zH5Q4h50q6er4wzZKRNSYpfo6ILJ+hrJAGSX2qcNw==} + /@babel/plugin-transform-unicode-escapes@7.23.3(@babel/core@7.24.0): + resolution: {integrity: sha512-OMCUx/bU6ChE3r4+ZdylEqAjaQgHAgipgW8nsCfu5pGqDcFytVd91AwRvUJSBZDz0exPGgnjoqhgRYLRjFZc9Q==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.0 '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-transform-unicode-property-regex@7.24.1(@babel/core@7.24.3): - resolution: {integrity: sha512-Ss4VvlfYV5huWApFsF8/Sq0oXnGO+jB+rijFEFugTd3cwSObUSnUi88djgR5528Csl0uKlrI331kRqe56Ov2Ng==} + /@babel/plugin-transform-unicode-property-regex@7.23.3(@babel/core@7.24.0): + resolution: {integrity: sha512-KcLIm+pDZkWZQAFJ9pdfmh89EwVfmNovFBcXko8szpBeF8z68kWIPeKlmSOkT9BXJxs2C0uk+5LxoxIv62MROA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.3 - '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.24.3) + '@babel/core': 7.24.0 + '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.24.0) '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-transform-unicode-regex@7.24.1(@babel/core@7.24.3): - resolution: {integrity: sha512-2A/94wgZgxfTsiLaQ2E36XAOdcZmGAaEEgVmxQWwZXWkGhvoHbaqXcKnU8zny4ycpu3vNqg0L/PcCiYtHtA13g==} + /@babel/plugin-transform-unicode-regex@7.23.3(@babel/core@7.24.0): + resolution: {integrity: sha512-wMHpNA4x2cIA32b/ci3AfwNgheiva2W0WUKWTK7vBHBhDKfPsc5cFGNWm69WBqpwd86u1qwZ9PWevKqm1A3yAw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.3 - '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.24.3) + '@babel/core': 7.24.0 + '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.24.0) '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-transform-unicode-sets-regex@7.24.1(@babel/core@7.24.3): - resolution: {integrity: sha512-fqj4WuzzS+ukpgerpAoOnMfQXwUHFxXUZUE84oL2Kao2N8uSlvcpnAidKASgsNgzZHBsHWvcm8s9FPWUhAb8fA==} + /@babel/plugin-transform-unicode-sets-regex@7.23.3(@babel/core@7.24.0): + resolution: {integrity: sha512-W7lliA/v9bNR83Qc3q1ip9CQMZ09CcHDbHfbLRDNuAhn1Mvkr1ZNF7hPmztMQvtTGVLJ9m8IZqWsTkXOml8dbw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.24.3 - '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.24.3) + '@babel/core': 7.24.0 + '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.24.0) '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/preset-env@7.24.3(@babel/core@7.24.3): - resolution: {integrity: sha512-fSk430k5c2ff8536JcPvPWK4tZDwehWLGlBp0wrsBUjZVdeQV6lePbwKWZaZfK2vnh/1kQX1PzAJWsnBmVgGJA==} + /@babel/preset-env@7.24.0(@babel/core@7.24.0): + resolution: {integrity: sha512-ZxPEzV9IgvGn73iK0E6VB9/95Nd7aMFpbE0l8KQFDG70cOV9IxRP7Y2FUPmlK0v6ImlLqYX50iuZ3ZTVhOF2lA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/compat-data': 7.24.1 - '@babel/core': 7.24.3 + '@babel/compat-data': 7.23.5 + '@babel/core': 7.24.0 '@babel/helper-compilation-targets': 7.23.6 '@babel/helper-plugin-utils': 7.24.0 '@babel/helper-validator-option': 7.23.5 - '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression': 7.24.1(@babel/core@7.24.3) - '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.24.1(@babel/core@7.24.3) - '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly': 7.24.1(@babel/core@7.24.3) - '@babel/plugin-proposal-private-property-in-object': 7.21.0-placeholder-for-preset-env.2(@babel/core@7.24.3) - '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.24.3) - '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.24.3) - '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.24.3) - '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.24.3) - '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.24.3) - '@babel/plugin-syntax-import-assertions': 7.24.1(@babel/core@7.24.3) - '@babel/plugin-syntax-import-attributes': 7.24.1(@babel/core@7.24.3) - '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.24.3) - '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.24.3) - '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.24.3) - '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.24.3) - '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.24.3) - '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.24.3) - '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.24.3) - '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.24.3) - '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.24.3) - '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.24.3) - '@babel/plugin-syntax-unicode-sets-regex': 7.18.6(@babel/core@7.24.3) - '@babel/plugin-transform-arrow-functions': 7.24.1(@babel/core@7.24.3) - '@babel/plugin-transform-async-generator-functions': 7.24.3(@babel/core@7.24.3) - '@babel/plugin-transform-async-to-generator': 7.24.1(@babel/core@7.24.3) - '@babel/plugin-transform-block-scoped-functions': 7.24.1(@babel/core@7.24.3) - '@babel/plugin-transform-block-scoping': 7.24.1(@babel/core@7.24.3) - '@babel/plugin-transform-class-properties': 7.24.1(@babel/core@7.24.3) - '@babel/plugin-transform-class-static-block': 7.24.1(@babel/core@7.24.3) - '@babel/plugin-transform-classes': 7.24.1(@babel/core@7.24.3) - '@babel/plugin-transform-computed-properties': 7.24.1(@babel/core@7.24.3) - '@babel/plugin-transform-destructuring': 7.24.1(@babel/core@7.24.3) - '@babel/plugin-transform-dotall-regex': 7.24.1(@babel/core@7.24.3) - '@babel/plugin-transform-duplicate-keys': 7.24.1(@babel/core@7.24.3) - '@babel/plugin-transform-dynamic-import': 7.24.1(@babel/core@7.24.3) - '@babel/plugin-transform-exponentiation-operator': 7.24.1(@babel/core@7.24.3) - '@babel/plugin-transform-export-namespace-from': 7.24.1(@babel/core@7.24.3) - '@babel/plugin-transform-for-of': 7.24.1(@babel/core@7.24.3) - '@babel/plugin-transform-function-name': 7.24.1(@babel/core@7.24.3) - '@babel/plugin-transform-json-strings': 7.24.1(@babel/core@7.24.3) - '@babel/plugin-transform-literals': 7.24.1(@babel/core@7.24.3) - '@babel/plugin-transform-logical-assignment-operators': 7.24.1(@babel/core@7.24.3) - '@babel/plugin-transform-member-expression-literals': 7.24.1(@babel/core@7.24.3) - '@babel/plugin-transform-modules-amd': 7.24.1(@babel/core@7.24.3) - '@babel/plugin-transform-modules-commonjs': 7.24.1(@babel/core@7.24.3) - '@babel/plugin-transform-modules-systemjs': 7.24.1(@babel/core@7.24.3) - '@babel/plugin-transform-modules-umd': 7.24.1(@babel/core@7.24.3) - '@babel/plugin-transform-named-capturing-groups-regex': 7.22.5(@babel/core@7.24.3) - '@babel/plugin-transform-new-target': 7.24.1(@babel/core@7.24.3) - '@babel/plugin-transform-nullish-coalescing-operator': 7.24.1(@babel/core@7.24.3) - '@babel/plugin-transform-numeric-separator': 7.24.1(@babel/core@7.24.3) - '@babel/plugin-transform-object-rest-spread': 7.24.1(@babel/core@7.24.3) - '@babel/plugin-transform-object-super': 7.24.1(@babel/core@7.24.3) - '@babel/plugin-transform-optional-catch-binding': 7.24.1(@babel/core@7.24.3) - '@babel/plugin-transform-optional-chaining': 7.24.1(@babel/core@7.24.3) - '@babel/plugin-transform-parameters': 7.24.1(@babel/core@7.24.3) - '@babel/plugin-transform-private-methods': 7.24.1(@babel/core@7.24.3) - '@babel/plugin-transform-private-property-in-object': 7.24.1(@babel/core@7.24.3) - '@babel/plugin-transform-property-literals': 7.24.1(@babel/core@7.24.3) - '@babel/plugin-transform-regenerator': 7.24.1(@babel/core@7.24.3) - '@babel/plugin-transform-reserved-words': 7.24.1(@babel/core@7.24.3) - '@babel/plugin-transform-shorthand-properties': 7.24.1(@babel/core@7.24.3) - '@babel/plugin-transform-spread': 7.24.1(@babel/core@7.24.3) - '@babel/plugin-transform-sticky-regex': 7.24.1(@babel/core@7.24.3) - '@babel/plugin-transform-template-literals': 7.24.1(@babel/core@7.24.3) - '@babel/plugin-transform-typeof-symbol': 7.24.1(@babel/core@7.24.3) - '@babel/plugin-transform-unicode-escapes': 7.24.1(@babel/core@7.24.3) - '@babel/plugin-transform-unicode-property-regex': 7.24.1(@babel/core@7.24.3) - '@babel/plugin-transform-unicode-regex': 7.24.1(@babel/core@7.24.3) - '@babel/plugin-transform-unicode-sets-regex': 7.24.1(@babel/core@7.24.3) - '@babel/preset-modules': 0.1.6-no-external-plugins(@babel/core@7.24.3) - babel-plugin-polyfill-corejs2: 0.4.10(@babel/core@7.24.3) - babel-plugin-polyfill-corejs3: 0.10.4(@babel/core@7.24.3) - babel-plugin-polyfill-regenerator: 0.6.1(@babel/core@7.24.3) - core-js-compat: 3.36.1 + '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression': 7.23.3(@babel/core@7.24.0) + '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.23.3(@babel/core@7.24.0) + '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly': 7.23.7(@babel/core@7.24.0) + '@babel/plugin-proposal-private-property-in-object': 7.21.0-placeholder-for-preset-env.2(@babel/core@7.24.0) + '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.24.0) + '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.24.0) + '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.24.0) + '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.24.0) + '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.24.0) + '@babel/plugin-syntax-import-assertions': 7.23.3(@babel/core@7.24.0) + '@babel/plugin-syntax-import-attributes': 7.23.3(@babel/core@7.24.0) + '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.24.0) + '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.24.0) + '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.24.0) + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.24.0) + '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.24.0) + '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.24.0) + '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.24.0) + '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.24.0) + '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.24.0) + '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.24.0) + '@babel/plugin-syntax-unicode-sets-regex': 7.18.6(@babel/core@7.24.0) + '@babel/plugin-transform-arrow-functions': 7.23.3(@babel/core@7.24.0) + '@babel/plugin-transform-async-generator-functions': 7.23.9(@babel/core@7.24.0) + '@babel/plugin-transform-async-to-generator': 7.23.3(@babel/core@7.24.0) + '@babel/plugin-transform-block-scoped-functions': 7.23.3(@babel/core@7.24.0) + '@babel/plugin-transform-block-scoping': 7.23.4(@babel/core@7.24.0) + '@babel/plugin-transform-class-properties': 7.23.3(@babel/core@7.24.0) + '@babel/plugin-transform-class-static-block': 7.23.4(@babel/core@7.24.0) + '@babel/plugin-transform-classes': 7.23.8(@babel/core@7.24.0) + '@babel/plugin-transform-computed-properties': 7.23.3(@babel/core@7.24.0) + '@babel/plugin-transform-destructuring': 7.23.3(@babel/core@7.24.0) + '@babel/plugin-transform-dotall-regex': 7.23.3(@babel/core@7.24.0) + '@babel/plugin-transform-duplicate-keys': 7.23.3(@babel/core@7.24.0) + '@babel/plugin-transform-dynamic-import': 7.23.4(@babel/core@7.24.0) + '@babel/plugin-transform-exponentiation-operator': 7.23.3(@babel/core@7.24.0) + '@babel/plugin-transform-export-namespace-from': 7.23.4(@babel/core@7.24.0) + '@babel/plugin-transform-for-of': 7.23.6(@babel/core@7.24.0) + '@babel/plugin-transform-function-name': 7.23.3(@babel/core@7.24.0) + '@babel/plugin-transform-json-strings': 7.23.4(@babel/core@7.24.0) + '@babel/plugin-transform-literals': 7.23.3(@babel/core@7.24.0) + '@babel/plugin-transform-logical-assignment-operators': 7.23.4(@babel/core@7.24.0) + '@babel/plugin-transform-member-expression-literals': 7.23.3(@babel/core@7.24.0) + '@babel/plugin-transform-modules-amd': 7.23.3(@babel/core@7.24.0) + '@babel/plugin-transform-modules-commonjs': 7.23.3(@babel/core@7.24.0) + '@babel/plugin-transform-modules-systemjs': 7.23.9(@babel/core@7.24.0) + '@babel/plugin-transform-modules-umd': 7.23.3(@babel/core@7.24.0) + '@babel/plugin-transform-named-capturing-groups-regex': 7.22.5(@babel/core@7.24.0) + '@babel/plugin-transform-new-target': 7.23.3(@babel/core@7.24.0) + '@babel/plugin-transform-nullish-coalescing-operator': 7.23.4(@babel/core@7.24.0) + '@babel/plugin-transform-numeric-separator': 7.23.4(@babel/core@7.24.0) + '@babel/plugin-transform-object-rest-spread': 7.24.0(@babel/core@7.24.0) + '@babel/plugin-transform-object-super': 7.23.3(@babel/core@7.24.0) + '@babel/plugin-transform-optional-catch-binding': 7.23.4(@babel/core@7.24.0) + '@babel/plugin-transform-optional-chaining': 7.23.4(@babel/core@7.24.0) + '@babel/plugin-transform-parameters': 7.23.3(@babel/core@7.24.0) + '@babel/plugin-transform-private-methods': 7.23.3(@babel/core@7.24.0) + '@babel/plugin-transform-private-property-in-object': 7.23.4(@babel/core@7.24.0) + '@babel/plugin-transform-property-literals': 7.23.3(@babel/core@7.24.0) + '@babel/plugin-transform-regenerator': 7.23.3(@babel/core@7.24.0) + '@babel/plugin-transform-reserved-words': 7.23.3(@babel/core@7.24.0) + '@babel/plugin-transform-shorthand-properties': 7.23.3(@babel/core@7.24.0) + '@babel/plugin-transform-spread': 7.23.3(@babel/core@7.24.0) + '@babel/plugin-transform-sticky-regex': 7.23.3(@babel/core@7.24.0) + '@babel/plugin-transform-template-literals': 7.23.3(@babel/core@7.24.0) + '@babel/plugin-transform-typeof-symbol': 7.23.3(@babel/core@7.24.0) + '@babel/plugin-transform-unicode-escapes': 7.23.3(@babel/core@7.24.0) + '@babel/plugin-transform-unicode-property-regex': 7.23.3(@babel/core@7.24.0) + '@babel/plugin-transform-unicode-regex': 7.23.3(@babel/core@7.24.0) + '@babel/plugin-transform-unicode-sets-regex': 7.23.3(@babel/core@7.24.0) + '@babel/preset-modules': 0.1.6-no-external-plugins(@babel/core@7.24.0) + babel-plugin-polyfill-corejs2: 0.4.8(@babel/core@7.24.0) + babel-plugin-polyfill-corejs3: 0.9.0(@babel/core@7.24.0) + babel-plugin-polyfill-regenerator: 0.5.5(@babel/core@7.24.0) + core-js-compat: 3.36.0 semver: 6.3.1 transitivePeerDependencies: - supports-color dev: true - /@babel/preset-modules@0.1.6-no-external-plugins(@babel/core@7.24.3): + /@babel/preset-modules@0.1.6-no-external-plugins(@babel/core@7.24.0): resolution: {integrity: sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA==} peerDependencies: '@babel/core': ^7.0.0-0 || ^8.0.0-0 <8.0.0 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.0 '@babel/helper-plugin-utils': 7.24.0 '@babel/types': 7.24.0 esutils: 2.0.3 dev: true - /@babel/preset-typescript@7.23.3(@babel/core@7.24.0): - resolution: {integrity: sha512-17oIGVlqz6CchO9RFYn5U6ZpWRZIngayYCtrPRSgANSwC2V1Jb+iP74nVxzzXJte8b8BYxrL1yY96xfhTBrNNQ==} + /@babel/preset-typescript@7.24.1(@babel/core@7.24.3): + resolution: {integrity: sha512-1DBaMmRDpuYQBPWD8Pf/WEwCrtgRHxsZnP4mIy9G/X+hFfbI47Q2G4t1Paakld84+qsk2fSsUPMKg71jkoOOaQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.3 '@babel/helper-plugin-utils': 7.24.0 '@babel/helper-validator-option': 7.23.5 - '@babel/plugin-syntax-jsx': 7.23.3(@babel/core@7.24.0) - '@babel/plugin-transform-modules-commonjs': 7.23.3(@babel/core@7.24.0) - '@babel/plugin-transform-typescript': 7.23.6(@babel/core@7.24.0) + '@babel/plugin-syntax-jsx': 7.24.1(@babel/core@7.24.3) + '@babel/plugin-transform-modules-commonjs': 7.24.1(@babel/core@7.24.3) + '@babel/plugin-transform-typescript': 7.24.1(@babel/core@7.24.3) dev: true /@babel/regjsgen@0.8.0: @@ -2606,13 +2515,6 @@ packages: regenerator-runtime: 0.14.1 dev: true - /@babel/runtime@7.24.1: - resolution: {integrity: sha512-+BIznRzyqBf+2wCTxcKE3wDjfGeCoVE61KSHGpkzqrLi8qxqFwBeUFyId2cxkTmm55fzDGnm0+yCxaxygrLUnQ==} - engines: {node: '>=6.9.0'} - dependencies: - regenerator-runtime: 0.14.1 - dev: true - /@babel/template@7.22.5: resolution: {integrity: sha512-X7yV7eiwAxdj9k94NEylvbVHLiVG1nvzCV2EAowhxLTwODV1jl9UzZ48leOC0sH7OnuHrIkllaBgneUykIcZaw==} engines: {node: '>=6.9.0'} @@ -3053,8 +2955,8 @@ packages: engines: {node: '>=18'} dev: true - /@cypress/code-coverage@3.12.30(@babel/core@7.24.3)(@babel/preset-env@7.24.3)(babel-loader@9.1.3)(cypress@13.7.1)(webpack@5.91.0): - resolution: {integrity: sha512-3pE2NgAIHPw92MCzgXAtJJe6Z0z4HUJuorWBSh9Ly0s/BpLf9lZKRI8WhMIDA35oFjAmNCsChiXHFy47evasfw==} + /@cypress/code-coverage@3.12.32(@babel/core@7.24.0)(@babel/preset-env@7.24.0)(babel-loader@9.1.3)(cypress@13.7.1)(webpack@5.91.0): + resolution: {integrity: sha512-wlUK79q1em5RnJ2HsSNOqDU0WvXMHCDyjpq2miWA0P0naG+IV+/aqQ3kJwmH6KlYu+41Gaam0FGW11SSxCmVJw==} peerDependencies: '@babel/core': ^7.0.1 '@babel/preset-env': ^7.0.0 @@ -3062,10 +2964,10 @@ packages: cypress: '*' webpack: ^4 || ^5 dependencies: - '@babel/core': 7.24.3 - '@babel/preset-env': 7.24.3(@babel/core@7.24.3) - '@cypress/webpack-preprocessor': 6.0.1(@babel/core@7.24.3)(@babel/preset-env@7.24.3)(babel-loader@9.1.3)(webpack@5.91.0) - babel-loader: 9.1.3(@babel/core@7.24.3)(webpack@5.91.0) + '@babel/core': 7.24.0 + '@babel/preset-env': 7.24.0(@babel/core@7.24.0) + '@cypress/webpack-preprocessor': 6.0.1(@babel/core@7.24.0)(@babel/preset-env@7.24.0)(babel-loader@9.1.3)(webpack@5.91.0) + babel-loader: 9.1.3(@babel/core@7.24.0)(webpack@5.91.0) chalk: 4.1.2 cypress: 13.7.1 dayjs: 1.11.10 @@ -3104,7 +3006,7 @@ packages: uuid: 8.3.2 dev: true - /@cypress/webpack-preprocessor@6.0.1(@babel/core@7.24.3)(@babel/preset-env@7.24.3)(babel-loader@9.1.3)(webpack@5.91.0): + /@cypress/webpack-preprocessor@6.0.1(@babel/core@7.24.0)(@babel/preset-env@7.24.0)(babel-loader@9.1.3)(webpack@5.91.0): resolution: {integrity: sha512-WVNeFVSnFKxE3WZNRIriduTgqJRpevaiJIPlfqYTTzfXRD7X1Pv4woDE+G4caPV9bJqVKmVFiwzrXMRNeJxpxA==} peerDependencies: '@babel/core': ^7.0.1 @@ -3112,9 +3014,9 @@ packages: babel-loader: ^8.3 || ^9 webpack: ^4 || ^5 dependencies: - '@babel/core': 7.24.3 - '@babel/preset-env': 7.24.3(@babel/core@7.24.3) - babel-loader: 9.1.3(@babel/core@7.24.3)(webpack@5.91.0) + '@babel/core': 7.24.0 + '@babel/preset-env': 7.24.0(@babel/core@7.24.0) + babel-loader: 9.1.3(@babel/core@7.24.0)(webpack@5.91.0) bluebird: 3.7.1 debug: 4.3.4(supports-color@8.1.1) lodash: 4.17.21 @@ -3137,10 +3039,27 @@ packages: engines: {node: '>=10.0.0'} dev: true + /@docsearch/css@3.5.2: + resolution: {integrity: sha512-SPiDHaWKQZpwR2siD0KQUwlStvIAnEyK6tAE2h2Wuoq8ue9skzhlyVQ1ddzOxX6khULnAALDiR/isSF3bnuciA==} + dev: true + /@docsearch/css@3.6.0: resolution: {integrity: sha512-+sbxb71sWre+PwDK7X2T8+bhS6clcVMLwBPznX45Qu6opJcgRjAp7gYSDzVFp187J+feSj5dNBN1mJoi6ckkUQ==} dev: true + /@docsearch/js@3.5.2(@algolia/client-search@4.22.1)(search-insights@2.13.0): + resolution: {integrity: sha512-p1YFTCDflk8ieHgFJYfmyHBki1D61+U9idwrLh+GQQMrBSP3DLGKpy0XUJtPjAOPltcVbqsTjiPFfH7JImjUNg==} + dependencies: + '@docsearch/react': 3.5.2(@algolia/client-search@4.22.1)(search-insights@2.13.0) + preact: 10.19.6 + transitivePeerDependencies: + - '@algolia/client-search' + - '@types/react' + - react + - react-dom + - search-insights + dev: true + /@docsearch/js@3.6.0(@algolia/client-search@4.22.1)(search-insights@2.13.0): resolution: {integrity: sha512-QujhqINEElrkIfKwyyyTfbsfMAYCkylInLYMRqHy7PHc8xTBQCow73tlo/Kc7oIwBrCLf0P3YhjlOeV4v8hevQ==} dependencies: @@ -3154,6 +3073,32 @@ packages: - search-insights dev: true + /@docsearch/react@3.5.2(@algolia/client-search@4.22.1)(search-insights@2.13.0): + resolution: {integrity: sha512-9Ahcrs5z2jq/DcAvYtvlqEBHImbm4YJI8M9y0x6Tqg598P40HTEkX7hsMcIuThI+hTFxRGZ9hll0Wygm2yEjng==} + peerDependencies: + '@types/react': '>= 16.8.0 < 19.0.0' + react: '>= 16.8.0 < 19.0.0' + react-dom: '>= 16.8.0 < 19.0.0' + search-insights: '>= 1 < 3' + peerDependenciesMeta: + '@types/react': + optional: true + react: + optional: true + react-dom: + optional: true + search-insights: + optional: true + dependencies: + '@algolia/autocomplete-core': 1.9.3(@algolia/client-search@4.22.1)(algoliasearch@4.22.1)(search-insights@2.13.0) + '@algolia/autocomplete-preset-algolia': 1.9.3(@algolia/client-search@4.22.1)(algoliasearch@4.22.1) + '@docsearch/css': 3.5.2 + algoliasearch: 4.22.1 + search-insights: 2.13.0 + transitivePeerDependencies: + - '@algolia/client-search' + dev: true + /@docsearch/react@3.6.0(@algolia/client-search@4.22.1)(search-insights@2.13.0): resolution: {integrity: sha512-HUFut4ztcVNmqy9gp/wxNbC7pTOHhgVVkHVGCACTuLhUKUhKAF9KYHJtMiLUJxEqiFLQiuri1fWF8zqwM/cu1w==} peerDependencies: @@ -4024,8 +3969,8 @@ packages: resolution: {integrity: sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==} engines: {node: '>=6.0.0'} - /@jridgewell/source-map@0.3.6: - resolution: {integrity: sha512-1ZJTZebgqllO79ue2bm3rIGud/bOe0pP5BjSRCRxxYkEZS8STV7zN84UBbiYu7jy+eCKSnVIUgoWWE/tt+shMQ==} + /@jridgewell/source-map@0.3.5: + resolution: {integrity: sha512-UTYAUj/wviwdsMfzoSJspJxbkH5o1snzwX0//0ENX1u/55kkZZkcTZP6u9bwKGkv+dkk9at4m1Cpt0uY80kcpQ==} dependencies: '@jridgewell/gen-mapping': 0.3.5 '@jridgewell/trace-mapping': 0.3.25 @@ -4098,11 +4043,11 @@ packages: resolution: {integrity: sha512-oZLYFEAzUKyi3SKnXvj32ZCEGH6RDnao7COuCVhDydMS9NrCSVXhM79VaKyP5+Zc33m0QXEd2DN3UkU7OsHcfw==} dev: true - /@polka/url@1.0.0-next.25: - resolution: {integrity: sha512-j7P6Rgr3mmtdkeDGTe0E/aYyWEWVtc5yFXtHCRHs28/jptDEWfaVOc5T7cblqy1XKPPfCxJc/8DwQ5YgLOZOVQ==} + /@polka/url@1.0.0-next.24: + resolution: {integrity: sha512-2LuNTFBIO0m7kKIQvvPHN6UE63VjpmL9rnEEaOOaiSPbZK+zUOYIzBAWcED+3XYzhYsd/0mD57VdxAEqqV52CQ==} dev: true - /@rollup/plugin-babel@5.3.1(@babel/core@7.24.3)(rollup@2.79.1): + /@rollup/plugin-babel@5.3.1(@babel/core@7.24.0)(rollup@2.79.1): resolution: {integrity: sha512-WFfdLWU/xVWKeRQnKmIAQULUI7Il0gZnBIH/ZFO069wYIfPu+8zrfp/KMW0atmELoRDq8FbiP3VCss9MhCut7Q==} engines: {node: '>= 10.0.0'} peerDependencies: @@ -4113,8 +4058,8 @@ packages: '@types/babel__core': optional: true dependencies: - '@babel/core': 7.24.3 - '@babel/helper-module-imports': 7.24.3 + '@babel/core': 7.24.0 + '@babel/helper-module-imports': 7.22.15 '@rollup/pluginutils': 3.1.0(rollup@2.79.1) rollup: 2.79.1 dev: true @@ -4189,104 +4134,112 @@ packages: rollup: 2.79.1 dev: true - /@rollup/rollup-android-arm-eabi@4.13.0: - resolution: {integrity: sha512-5ZYPOuaAqEH/W3gYsRkxQATBW3Ii1MfaT4EQstTnLKViLi2gLSQmlmtTpGucNP3sXEpOiI5tdGhjdE111ekyEg==} + /@rollup/rollup-android-arm-eabi@4.13.1: + resolution: {integrity: sha512-4C4UERETjXpC4WpBXDbkgNVgHyWfG3B/NKY46e7w5H134UDOFqUJKpsLm0UYmuupW+aJmRgeScrDNfvZ5WV80A==} cpu: [arm] os: [android] requiresBuild: true dev: true optional: true - /@rollup/rollup-android-arm64@4.13.0: - resolution: {integrity: sha512-BSbaCmn8ZadK3UAQdlauSvtaJjhlDEjS5hEVVIN3A4bbl3X+otyf/kOJV08bYiRxfejP3DXFzO2jz3G20107+Q==} + /@rollup/rollup-android-arm64@4.13.1: + resolution: {integrity: sha512-TrTaFJ9pXgfXEiJKQ3yQRelpQFqgRzVR9it8DbeRzG0RX7mKUy0bqhCFsgevwXLJepQKTnLl95TnPGf9T9AMOA==} cpu: [arm64] os: [android] requiresBuild: true dev: true optional: true - /@rollup/rollup-darwin-arm64@4.13.0: - resolution: {integrity: sha512-Ovf2evVaP6sW5Ut0GHyUSOqA6tVKfrTHddtmxGQc1CTQa1Cw3/KMCDEEICZBbyppcwnhMwcDce9ZRxdWRpVd6g==} + /@rollup/rollup-darwin-arm64@4.13.1: + resolution: {integrity: sha512-fz7jN6ahTI3cKzDO2otQuybts5cyu0feymg0bjvYCBrZQ8tSgE8pc0sSNEuGvifrQJWiwx9F05BowihmLxeQKw==} cpu: [arm64] os: [darwin] requiresBuild: true dev: true optional: true - /@rollup/rollup-darwin-x64@4.13.0: - resolution: {integrity: sha512-U+Jcxm89UTK592vZ2J9st9ajRv/hrwHdnvyuJpa5A2ngGSVHypigidkQJP+YiGL6JODiUeMzkqQzbCG3At81Gg==} + /@rollup/rollup-darwin-x64@4.13.1: + resolution: {integrity: sha512-WTvdz7SLMlJpektdrnWRUN9C0N2qNHwNbWpNo0a3Tod3gb9leX+yrYdCeB7VV36OtoyiPAivl7/xZ3G1z5h20g==} cpu: [x64] os: [darwin] requiresBuild: true dev: true optional: true - /@rollup/rollup-linux-arm-gnueabihf@4.13.0: - resolution: {integrity: sha512-8wZidaUJUTIR5T4vRS22VkSMOVooG0F4N+JSwQXWSRiC6yfEsFMLTYRFHvby5mFFuExHa/yAp9juSphQQJAijQ==} + /@rollup/rollup-linux-arm-gnueabihf@4.13.1: + resolution: {integrity: sha512-dBHQl+7wZzBYcIF6o4k2XkAfwP2ks1mYW2q/Gzv9n39uDcDiAGDqEyml08OdY0BIct0yLSPkDTqn4i6czpBLLw==} cpu: [arm] os: [linux] requiresBuild: true dev: true optional: true - /@rollup/rollup-linux-arm64-gnu@4.13.0: - resolution: {integrity: sha512-Iu0Kno1vrD7zHQDxOmvweqLkAzjxEVqNhUIXBsZ8hu8Oak7/5VTPrxOEZXYC1nmrBVJp0ZcL2E7lSuuOVaE3+w==} + /@rollup/rollup-linux-arm64-gnu@4.13.1: + resolution: {integrity: sha512-bur4JOxvYxfrAmocRJIW0SADs3QdEYK6TQ7dTNz6Z4/lySeu3Z1H/+tl0a4qDYv0bCdBpUYM0sYa/X+9ZqgfSQ==} cpu: [arm64] os: [linux] requiresBuild: true dev: true optional: true - /@rollup/rollup-linux-arm64-musl@4.13.0: - resolution: {integrity: sha512-C31QrW47llgVyrRjIwiOwsHFcaIwmkKi3PCroQY5aVq4H0A5v/vVVAtFsI1nfBngtoRpeREvZOkIhmRwUKkAdw==} + /@rollup/rollup-linux-arm64-musl@4.13.1: + resolution: {integrity: sha512-ssp77SjcDIUSoUyj7DU7/5iwM4ZEluY+N8umtCT9nBRs3u045t0KkW02LTyHouHDomnMXaXSZcCSr2bdMK63kA==} cpu: [arm64] os: [linux] requiresBuild: true dev: true optional: true - /@rollup/rollup-linux-riscv64-gnu@4.13.0: - resolution: {integrity: sha512-Oq90dtMHvthFOPMl7pt7KmxzX7E71AfyIhh+cPhLY9oko97Zf2C9tt/XJD4RgxhaGeAraAXDtqxvKE1y/j35lA==} + /@rollup/rollup-linux-riscv64-gnu@4.13.1: + resolution: {integrity: sha512-Jv1DkIvwEPAb+v25/Unrnnq9BO3F5cbFPT821n3S5litkz+O5NuXuNhqtPx5KtcwOTtaqkTsO+IVzJOsxd11aQ==} cpu: [riscv64] os: [linux] requiresBuild: true dev: true optional: true - /@rollup/rollup-linux-x64-gnu@4.13.0: - resolution: {integrity: sha512-yUD/8wMffnTKuiIsl6xU+4IA8UNhQ/f1sAnQebmE/lyQ8abjsVyDkyRkWop0kdMhKMprpNIhPmYlCxgHrPoXoA==} + /@rollup/rollup-linux-s390x-gnu@4.13.1: + resolution: {integrity: sha512-U564BrhEfaNChdATQaEODtquCC7Ez+8Hxz1h5MAdMYj0AqD0GA9rHCpElajb/sQcaFL6NXmHc5O+7FXpWMa73Q==} + cpu: [s390x] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-linux-x64-gnu@4.13.1: + resolution: {integrity: sha512-zGRDulLTeDemR8DFYyFIQ8kMP02xpUsX4IBikc7lwL9PrwR3gWmX2NopqiGlI2ZVWMl15qZeUjumTwpv18N7sQ==} cpu: [x64] os: [linux] requiresBuild: true dev: true optional: true - /@rollup/rollup-linux-x64-musl@4.13.0: - resolution: {integrity: sha512-9RyNqoFNdF0vu/qqX63fKotBh43fJQeYC98hCaf89DYQpv+xu0D8QFSOS0biA7cGuqJFOc1bJ+m2rhhsKcw1hw==} + /@rollup/rollup-linux-x64-musl@4.13.1: + resolution: {integrity: sha512-VTk/MveyPdMFkYJJPCkYBw07KcTkGU2hLEyqYMsU4NjiOfzoaDTW9PWGRsNwiOA3qI0k/JQPjkl/4FCK1smskQ==} cpu: [x64] os: [linux] requiresBuild: true dev: true optional: true - /@rollup/rollup-win32-arm64-msvc@4.13.0: - resolution: {integrity: sha512-46ue8ymtm/5PUU6pCvjlic0z82qWkxv54GTJZgHrQUuZnVH+tvvSP0LsozIDsCBFO4VjJ13N68wqrKSeScUKdA==} + /@rollup/rollup-win32-arm64-msvc@4.13.1: + resolution: {integrity: sha512-L+hX8Dtibb02r/OYCsp4sQQIi3ldZkFI0EUkMTDwRfFykXBPptoz/tuuGqEd3bThBSLRWPR6wsixDSgOx/U3Zw==} cpu: [arm64] os: [win32] requiresBuild: true dev: true optional: true - /@rollup/rollup-win32-ia32-msvc@4.13.0: - resolution: {integrity: sha512-P5/MqLdLSlqxbeuJ3YDeX37srC8mCflSyTrUsgbU1c/U9j6l2g2GiIdYaGD9QjdMQPMSgYm7hgg0551wHyIluw==} + /@rollup/rollup-win32-ia32-msvc@4.13.1: + resolution: {integrity: sha512-+dI2jVPfM5A8zme8riEoNC7UKk0Lzc7jCj/U89cQIrOjrZTCWZl/+IXUeRT2rEZ5j25lnSA9G9H1Ob9azaF/KQ==} cpu: [ia32] os: [win32] requiresBuild: true dev: true optional: true - /@rollup/rollup-win32-x64-msvc@4.13.0: - resolution: {integrity: sha512-UKXUQNbO3DOhzLRwHSpa0HnhhCgNODvfoPWv2FCXme8N/ANFfhIPMGuOT+QuKd16+B5yxZ0HdpNlqPvTMS1qfw==} + /@rollup/rollup-win32-x64-msvc@4.13.1: + resolution: {integrity: sha512-YY1Exxo2viZ/O2dMHuwQvimJ0SqvL+OAWQLLY6rvXavgQKjhQUzn7nc1Dd29gjB5Fqi00nrBWctJBOyfVMIVxw==} cpu: [x64] os: [win32] requiresBuild: true @@ -4297,8 +4250,8 @@ packages: resolution: {integrity: sha512-gTYLUIuD1UbZp/11qozD3fWpUTuMqPSf3svDMMrL0UmlGU7D9dPw/V1FonwAorCUJBltaaESxq90jrSjQyGixg==} dev: true - /@shikijs/core@1.2.0: - resolution: {integrity: sha512-OlFvx+nyr5C8zpcMBnSGir0YPD6K11uYhouqhNmm1qLiis4GA7SsGtu07r9gKS9omks8RtQqHrJL4S+lqWK01A==} + /@shikijs/core@1.2.1: + resolution: {integrity: sha512-KaIS0H4EQ3KI2d++TjYqRNgwp8E3M/68e9veR4QtInzA7kKFgcjeiJqb80fuXW+blDy5fmd11PN9g9soz/3ANQ==} dev: true /@shikijs/transformers@1.1.7: @@ -4307,10 +4260,10 @@ packages: shiki: 1.1.7 dev: true - /@shikijs/transformers@1.2.0: - resolution: {integrity: sha512-xKn7DtA65DQV4FOfYsrvqM80xOy2xuXnxWWKsZmHv1VII/IOuDUDsWDu3KnpeLH6wqNJWp1GRoNUsHR1aw/VhQ==} + /@shikijs/transformers@1.2.1: + resolution: {integrity: sha512-H7cVtrdv6BW2kx83t2IQgP5ri1IA50mE3QnzgJ0AvOKCGtCEieXu0JIP3245cgjNLrL+LBwb8DtTXdky1iQL9Q==} dependencies: - shiki: 1.2.0 + shiki: 1.2.1 dev: true /@sideway/address@4.1.5: @@ -4359,7 +4312,7 @@ packages: ejs: 3.1.9 json5: 2.2.3 magic-string: 0.25.9 - string.prototype.matchall: 4.0.11 + string.prototype.matchall: 4.0.10 dev: true /@szmarczak/http-timer@4.0.6: @@ -4863,8 +4816,8 @@ packages: /@types/ms@0.7.34: resolution: {integrity: sha512-nG96G3Wp6acyAgJqGasjODb+acrI7KltPiRxzHPXnP3NgI28bpQDRv53olbqGXbfcgF5aiiHmO3xpwEpS5Ld9g==} - /@types/node@18.19.22: - resolution: {integrity: sha512-p3pDIfuMg/aXBmhkyanPshdfJuX5c5+bQjYLIikPLXAUycEogij/c50n/C+8XOA5L93cU4ZRXtn+dNQGi0IZqQ==} + /@types/node@18.19.21: + resolution: {integrity: sha512-2Q2NeB6BmiTFQi4DHBzncSoq/cJMLDdhPaAoJFnFCyD9a8VPZRf7a1GAwp1Edb7ROaZc5Jz/tnZyL6EsWMRaqw==} dependencies: undici-types: 5.26.5 dev: true @@ -5022,8 +4975,8 @@ packages: dev: true optional: true - /@typescript-eslint/eslint-plugin@7.3.1(@typescript-eslint/parser@7.3.1)(eslint@8.57.0)(typescript@5.4.3): - resolution: {integrity: sha512-STEDMVQGww5lhCuNXVSQfbfuNII5E08QWkvAw5Qwf+bj2WT+JkG1uc+5/vXA3AOYMDHVOSpL+9rcbEUiHIm2dw==} + /@typescript-eslint/eslint-plugin@7.4.0(@typescript-eslint/parser@7.4.0)(eslint@8.57.0)(typescript@5.4.3): + resolution: {integrity: sha512-yHMQ/oFaM7HZdVrVm/M2WHaNPgyuJH4WelkSVEWSSsir34kxW2kDJCxlXRhhGWEsMN0WAW/vLpKfKVcm8k+MPw==} engines: {node: ^18.18.0 || >=20.0.0} peerDependencies: '@typescript-eslint/parser': ^7.0.0 @@ -5034,11 +4987,11 @@ packages: optional: true dependencies: '@eslint-community/regexpp': 4.10.0 - '@typescript-eslint/parser': 7.3.1(eslint@8.57.0)(typescript@5.4.3) - '@typescript-eslint/scope-manager': 7.3.1 - '@typescript-eslint/type-utils': 7.3.1(eslint@8.57.0)(typescript@5.4.3) - '@typescript-eslint/utils': 7.3.1(eslint@8.57.0)(typescript@5.4.3) - '@typescript-eslint/visitor-keys': 7.3.1 + '@typescript-eslint/parser': 7.4.0(eslint@8.57.0)(typescript@5.4.3) + '@typescript-eslint/scope-manager': 7.4.0 + '@typescript-eslint/type-utils': 7.4.0(eslint@8.57.0)(typescript@5.4.3) + '@typescript-eslint/utils': 7.4.0(eslint@8.57.0)(typescript@5.4.3) + '@typescript-eslint/visitor-keys': 7.4.0 debug: 4.3.4(supports-color@8.1.1) eslint: 8.57.0 graphemer: 1.4.0 @@ -5051,8 +5004,8 @@ packages: - supports-color dev: true - /@typescript-eslint/parser@7.3.1(eslint@8.57.0)(typescript@5.4.3): - resolution: {integrity: sha512-Rq49+pq7viTRCH48XAbTA+wdLRrB/3sRq4Lpk0oGDm0VmnjBrAOVXH/Laalmwsv2VpekiEfVFwJYVk6/e8uvQw==} + /@typescript-eslint/parser@7.4.0(eslint@8.57.0)(typescript@5.4.3): + resolution: {integrity: sha512-ZvKHxHLusweEUVwrGRXXUVzFgnWhigo4JurEj0dGF1tbcGh6buL+ejDdjxOQxv6ytcY1uhun1p2sm8iWStlgLQ==} engines: {node: ^18.18.0 || >=20.0.0} peerDependencies: eslint: ^8.56.0 @@ -5061,10 +5014,10 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/scope-manager': 7.3.1 - '@typescript-eslint/types': 7.3.1 - '@typescript-eslint/typescript-estree': 7.3.1(typescript@5.4.3) - '@typescript-eslint/visitor-keys': 7.3.1 + '@typescript-eslint/scope-manager': 7.4.0 + '@typescript-eslint/types': 7.4.0 + '@typescript-eslint/typescript-estree': 7.4.0(typescript@5.4.3) + '@typescript-eslint/visitor-keys': 7.4.0 debug: 4.3.4(supports-color@8.1.1) eslint: 8.57.0 typescript: 5.4.3 @@ -5080,16 +5033,16 @@ packages: '@typescript-eslint/visitor-keys': 5.62.0 dev: true - /@typescript-eslint/scope-manager@7.3.1: - resolution: {integrity: sha512-fVS6fPxldsKY2nFvyT7IP78UO1/I2huG+AYu5AMjCT9wtl6JFiDnsv4uad4jQ0GTFzcUV5HShVeN96/17bTBag==} + /@typescript-eslint/scope-manager@7.4.0: + resolution: {integrity: sha512-68VqENG5HK27ypafqLVs8qO+RkNc7TezCduYrx8YJpXq2QGZ30vmNZGJJJC48+MVn4G2dCV8m5ZTVnzRexTVtw==} engines: {node: ^18.18.0 || >=20.0.0} dependencies: - '@typescript-eslint/types': 7.3.1 - '@typescript-eslint/visitor-keys': 7.3.1 + '@typescript-eslint/types': 7.4.0 + '@typescript-eslint/visitor-keys': 7.4.0 dev: true - /@typescript-eslint/type-utils@7.3.1(eslint@8.57.0)(typescript@5.4.3): - resolution: {integrity: sha512-iFhaysxFsMDQlzJn+vr3OrxN8NmdQkHks4WaqD4QBnt5hsq234wcYdyQ9uquzJJIDAj5W4wQne3yEsYA6OmXGw==} + /@typescript-eslint/type-utils@7.4.0(eslint@8.57.0)(typescript@5.4.3): + resolution: {integrity: sha512-247ETeHgr9WTRMqHbbQdzwzhuyaJ8dPTuyuUEMANqzMRB1rj/9qFIuIXK7l0FX9i9FXbHeBQl/4uz6mYuCE7Aw==} engines: {node: ^18.18.0 || >=20.0.0} peerDependencies: eslint: ^8.56.0 @@ -5098,8 +5051,8 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/typescript-estree': 7.3.1(typescript@5.4.3) - '@typescript-eslint/utils': 7.3.1(eslint@8.57.0)(typescript@5.4.3) + '@typescript-eslint/typescript-estree': 7.4.0(typescript@5.4.3) + '@typescript-eslint/utils': 7.4.0(eslint@8.57.0)(typescript@5.4.3) debug: 4.3.4(supports-color@8.1.1) eslint: 8.57.0 ts-api-utils: 1.2.1(typescript@5.4.3) @@ -5113,8 +5066,8 @@ packages: engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dev: true - /@typescript-eslint/types@7.3.1: - resolution: {integrity: sha512-2tUf3uWggBDl4S4183nivWQ2HqceOZh1U4hhu4p1tPiIJoRRXrab7Y+Y0p+dozYwZVvLPRI6r5wKe9kToF9FIw==} + /@typescript-eslint/types@7.4.0: + resolution: {integrity: sha512-mjQopsbffzJskos5B4HmbsadSJQWaRK0UxqQ7GuNA9Ga4bEKeiO6b2DnB6cM6bpc8lemaPseh0H9B/wyg+J7rw==} engines: {node: ^18.18.0 || >=20.0.0} dev: true @@ -5139,8 +5092,8 @@ packages: - supports-color dev: true - /@typescript-eslint/typescript-estree@7.3.1(typescript@5.4.3): - resolution: {integrity: sha512-tLpuqM46LVkduWP7JO7yVoWshpJuJzxDOPYIVWUUZbW+4dBpgGeUdl/fQkhuV0A8eGnphYw3pp8d2EnvPOfxmQ==} + /@typescript-eslint/typescript-estree@7.4.0(typescript@5.4.3): + resolution: {integrity: sha512-A99j5AYoME/UBQ1ucEbbMEmGkN7SE0BvZFreSnTd1luq7yulcHdyGamZKizU7canpGDWGJ+Q6ZA9SyQobipePg==} engines: {node: ^18.18.0 || >=20.0.0} peerDependencies: typescript: '*' @@ -5148,8 +5101,8 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/types': 7.3.1 - '@typescript-eslint/visitor-keys': 7.3.1 + '@typescript-eslint/types': 7.4.0 + '@typescript-eslint/visitor-keys': 7.4.0 debug: 4.3.4(supports-color@8.1.1) globby: 11.1.0 is-glob: 4.0.3 @@ -5181,8 +5134,8 @@ packages: - typescript dev: true - /@typescript-eslint/utils@7.3.1(eslint@8.57.0)(typescript@5.4.3): - resolution: {integrity: sha512-jIERm/6bYQ9HkynYlNZvXpzmXWZGhMbrOvq3jJzOSOlKXsVjrrolzWBjDW6/TvT5Q3WqaN4EkmcfdQwi9tDjBQ==} + /@typescript-eslint/utils@7.4.0(eslint@8.57.0)(typescript@5.4.3): + resolution: {integrity: sha512-NQt9QLM4Tt8qrlBVY9lkMYzfYtNz8/6qwZg8pI3cMGlPnj6mOpRxxAm7BMJN9K0AiY+1BwJ5lVC650YJqYOuNg==} engines: {node: ^18.18.0 || >=20.0.0} peerDependencies: eslint: ^8.56.0 @@ -5190,9 +5143,9 @@ packages: '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) '@types/json-schema': 7.0.15 '@types/semver': 7.5.8 - '@typescript-eslint/scope-manager': 7.3.1 - '@typescript-eslint/types': 7.3.1 - '@typescript-eslint/typescript-estree': 7.3.1(typescript@5.4.3) + '@typescript-eslint/scope-manager': 7.4.0 + '@typescript-eslint/types': 7.4.0 + '@typescript-eslint/typescript-estree': 7.4.0(typescript@5.4.3) eslint: 8.57.0 semver: 7.6.0 transitivePeerDependencies: @@ -5208,11 +5161,11 @@ packages: eslint-visitor-keys: 3.4.3 dev: true - /@typescript-eslint/visitor-keys@7.3.1: - resolution: {integrity: sha512-9RMXwQF8knsZvfv9tdi+4D/j7dMG28X/wMJ8Jj6eOHyHWwDW4ngQJcqEczSsqIKKjFiLFr40Mnr7a5ulDD3vmw==} + /@typescript-eslint/visitor-keys@7.4.0: + resolution: {integrity: sha512-0zkC7YM0iX5Y41homUUeW1CHtZR01K3ybjM1l6QczoMuay0XKtrb93kv95AxUGwdjGr64nNqnOCwmEl616N8CA==} engines: {node: ^18.18.0 || >=20.0.0} dependencies: - '@typescript-eslint/types': 7.3.1 + '@typescript-eslint/types': 7.4.0 eslint-visitor-keys: 3.4.3 dev: true @@ -5220,32 +5173,32 @@ packages: resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==} dev: true - /@unocss/astro@0.58.6(rollup@2.79.1)(vite@5.2.6): - resolution: {integrity: sha512-0BvbhEp5Ln6wFNnhISusB2hcfycWkdgnjlFMcLT69efvj4G39MzB6JYT/1qiidLfpj35HcqkpBz7TfZ4bUmOAw==} + /@unocss/astro@0.58.7(rollup@2.79.1)(vite@5.2.6): + resolution: {integrity: sha512-htqhe+Qn9UUnND214LlwS8a9Ib0hzO+IxY79cz1GDYoDV+Z4ONXCkUxLLlnnBM/HupWKOu+bdBWWVGIOHAniig==} peerDependencies: vite: ^2.9.0 || ^3.0.0-0 || ^4.0.0 || ^5.0.0-0 peerDependenciesMeta: vite: optional: true dependencies: - '@unocss/core': 0.58.6 - '@unocss/reset': 0.58.6 - '@unocss/vite': 0.58.6(rollup@2.79.1)(vite@5.2.6) + '@unocss/core': 0.58.7 + '@unocss/reset': 0.58.7 + '@unocss/vite': 0.58.7(rollup@2.79.1)(vite@5.2.6) vite: 5.2.6(@types/node@20.11.30) transitivePeerDependencies: - rollup dev: true - /@unocss/cli@0.58.6(rollup@2.79.1): - resolution: {integrity: sha512-cfJBiEAKElo9vcA4ZU1WTXeUha5qVBtn3+ZjgdgOvveSX0oY0gOheG+DD2LaEjwWzjCstFU38lblUHWzHRv0sQ==} + /@unocss/cli@0.58.7(rollup@2.79.1): + resolution: {integrity: sha512-Vr5LABxFvZa8K71qVOnP7FkSA14/xEqhVOO+KZzcZafdW3TCvWa/dr3Lr5mDUufY82s5/5KGFosVQWQymA8HMg==} engines: {node: '>=14'} hasBin: true dependencies: '@ampproject/remapping': 2.3.0 '@rollup/pluginutils': 5.1.0(rollup@2.79.1) - '@unocss/config': 0.58.6 - '@unocss/core': 0.58.6 - '@unocss/preset-uno': 0.58.6 + '@unocss/config': 0.58.7 + '@unocss/core': 0.58.7 + '@unocss/preset-uno': 0.58.7 cac: 6.7.14 chokidar: 3.6.0 colorette: 2.0.20 @@ -5258,174 +5211,174 @@ packages: - rollup dev: true - /@unocss/config@0.58.6: - resolution: {integrity: sha512-YyywfigaEzGkDJ0ztp/tvruD+0xfdCcMZUvaGH4IElAwZDdcSsuaHdR1HW3EixCETOyFHBcuFk6sJwfLPIZLTw==} + /@unocss/config@0.58.7: + resolution: {integrity: sha512-ZMSFWJI8DfE/4HiIU+hkTSKUtEkennRn+raej5HCGTfy5xpdYCm9Zdrw/cYqkN2LPHM8o076Z2sD6H4MV5HrvA==} engines: {node: '>=14'} dependencies: - '@unocss/core': 0.58.6 + '@unocss/core': 0.58.7 unconfig: 0.3.11 dev: true - /@unocss/core@0.58.6: - resolution: {integrity: sha512-m87iuENM/PLqLKnfE2mJbpfzj7NQ99LP2go0r+x5X4kXKppyGRJNQg6RIW3AqTS22jup1YPgd62UNXvvRtHtww==} + /@unocss/core@0.58.7: + resolution: {integrity: sha512-Df5ytibV0MB7kWLggzLHsJUj08Of2oqXmPg7QjRUghMvCT3dl2LUIZXiztYPMH0F4x0cPebNoa/pavNt8xz9eQ==} dev: true - /@unocss/extractor-arbitrary-variants@0.58.6: - resolution: {integrity: sha512-iSrjLEM+dtcpCmJ8myttPZ/0Dg4HKYVYpM71rNTybrX1HB/cfRsGwIHobjsvvRnve+LAxC4Hmdi8EXRd8V1xPg==} + /@unocss/extractor-arbitrary-variants@0.58.7: + resolution: {integrity: sha512-wEuilON0u/e1milNp1UBWGps3Hdtm9qBfmc2YmsHN8KhpTSSCluzbrLSYfF++tU5iWmVWR2514Lc2waVDhuiwg==} dependencies: - '@unocss/core': 0.58.6 + '@unocss/core': 0.58.7 dev: true - /@unocss/inspector@0.58.6: - resolution: {integrity: sha512-JCcnIwSofdIdpR/GYTZ78d4dMZP8Z2oF/g9f9MlPG96LLLwqXSmYtR83vC34fUWm1hz7FZyTLK5OqTV7VfUb+w==} + /@unocss/inspector@0.58.7: + resolution: {integrity: sha512-5vYsAuOj4ODgCm2Hmfhgcih+MdjsOxAHpUUDcZKAuVkr5j4dmrQnjWmS0fafR5vcjQch6T1JTsPE9x/Ws51UIw==} dependencies: - '@unocss/core': 0.58.6 - '@unocss/rule-utils': 0.58.6 + '@unocss/core': 0.58.7 + '@unocss/rule-utils': 0.58.7 gzip-size: 6.0.0 sirv: 2.0.4 dev: true - /@unocss/postcss@0.58.6(postcss@8.4.38): - resolution: {integrity: sha512-jTwu7llhRm7luscsk0JekCeo6RS2W98CXiCJRE1H6IDQnjGQQ/9uRAqW4wuLsv7OQ1ThF8m9NKEj0wFJv7ePNg==} + /@unocss/postcss@0.58.7(postcss@8.4.35): + resolution: {integrity: sha512-4UhYTj7AaCDJKPEa9GX9L9dnH+6ci04i9ZYdNdu+Pvbki2Q2wAa2FwqLwH7+6WgWm10b9AXVacExw+4hC2reOg==} engines: {node: '>=14'} peerDependencies: postcss: ^8.4.21 dependencies: - '@unocss/config': 0.58.6 - '@unocss/core': 0.58.6 - '@unocss/rule-utils': 0.58.6 + '@unocss/config': 0.58.7 + '@unocss/core': 0.58.7 + '@unocss/rule-utils': 0.58.7 css-tree: 2.3.1 fast-glob: 3.3.2 magic-string: 0.30.8 - postcss: 8.4.38 + postcss: 8.4.35 dev: true - /@unocss/preset-attributify@0.58.6: - resolution: {integrity: sha512-IW2aIBH0RiYsP50VckgxXhMwjDk/XVZykUUklgko9aT+gNC2xDBm3936RWLVLmHdBHG1Vnnjc71BG6aUAqrtEA==} + /@unocss/preset-attributify@0.58.7: + resolution: {integrity: sha512-WmhrRSOAhbKn+q7A65Kg/49YDZOqfKxj+VZvngwjzDmSfZcr9BHhc67eg9IOF4OPHdKw/3rhSvA+FTMGre2Lpw==} dependencies: - '@unocss/core': 0.58.6 + '@unocss/core': 0.58.7 dev: true - /@unocss/preset-icons@0.58.6: - resolution: {integrity: sha512-20P1ISxEX2J5mhyNkMm0nKp2p0qJfmDArolC10Fjyl+GUTCsojDNFfonzQEkHeIIJwzgRcubdtNaotTgYSKSRg==} + /@unocss/preset-icons@0.58.7: + resolution: {integrity: sha512-GeFaWiWGDktRs9TKqT4gb78Cjo7qlatOTijfJ1Zoyd3QMfbg7mRJPZGgHnLtpwYju+QKxG618fwlGvzARKhNfg==} dependencies: '@iconify/utils': 2.1.22 - '@unocss/core': 0.58.6 - ofetch: 1.3.3 + '@unocss/core': 0.58.7 + ofetch: 1.3.4 transitivePeerDependencies: - supports-color dev: true - /@unocss/preset-mini@0.58.6: - resolution: {integrity: sha512-COaM/04Z6/gawzrFcCwoyD6t0FCpuKRyljKKs3VxitoGxsN9BHKiFE3U/cPSQarpG789rmZg8D/wmLHCChSXvg==} + /@unocss/preset-mini@0.58.7: + resolution: {integrity: sha512-ktfrMlOtnks9j1r1ZJFzPcmCbWRjOfXh7UwoGYhH7c3Fi9Zbn1HI9+wblroEBstvbGUZGyaH5Ht+0rCmRrg5HQ==} dependencies: - '@unocss/core': 0.58.6 - '@unocss/extractor-arbitrary-variants': 0.58.6 - '@unocss/rule-utils': 0.58.6 + '@unocss/core': 0.58.7 + '@unocss/extractor-arbitrary-variants': 0.58.7 + '@unocss/rule-utils': 0.58.7 dev: true - /@unocss/preset-tagify@0.58.6: - resolution: {integrity: sha512-xhpHMz8KLrFlLXaOCeShu0/yVpe6J8bd2WcOTd5VuU5W1uCsplcaagpfTRkBpaH1tJt/MTTU5e4cQLa20l0JZQ==} + /@unocss/preset-tagify@0.58.7: + resolution: {integrity: sha512-IDR9+QDgPjcANRIWzlmubPPtgYTXGxWFqrEfRyz7ZQ4YLiA2sSLpVyOwOBW5mP7Bl2hF5oGlTKYyprk4pRzyUA==} dependencies: - '@unocss/core': 0.58.6 + '@unocss/core': 0.58.7 dev: true - /@unocss/preset-typography@0.58.6: - resolution: {integrity: sha512-s4SSw3SK/JjAqYlga51XnxzPc7jF+TmkEkW09IkYYLPrmqJ76U4i5Po2N7HzyjpVGWnmIp1fQ5mCvbhj4tNyNQ==} + /@unocss/preset-typography@0.58.7: + resolution: {integrity: sha512-GCZGrFGBJO/k9widlpRvCKoouRaprgvNtt8mKpv38ToDSWexMZcaOTZHpKUPgljmjJ5As7ASwmDvjv6uiM5uYg==} dependencies: - '@unocss/core': 0.58.6 - '@unocss/preset-mini': 0.58.6 + '@unocss/core': 0.58.7 + '@unocss/preset-mini': 0.58.7 dev: true - /@unocss/preset-uno@0.58.6: - resolution: {integrity: sha512-QFbgvxCvTFqKIA/VGcPM+XcfPGDgbmaiXKbnh7hIbkER6TRxjt4DIGapPt150w/kQT+zC/jerWditSdyn+s3xQ==} + /@unocss/preset-uno@0.58.7: + resolution: {integrity: sha512-oirPRtIailoewLvim/VjcxHZrBotRzBNaFZFMD1GLwScAYrzS8DWJ3pozNn7+s2E80ZUBfgekRTgvUKAFMPSCw==} dependencies: - '@unocss/core': 0.58.6 - '@unocss/preset-mini': 0.58.6 - '@unocss/preset-wind': 0.58.6 - '@unocss/rule-utils': 0.58.6 + '@unocss/core': 0.58.7 + '@unocss/preset-mini': 0.58.7 + '@unocss/preset-wind': 0.58.7 + '@unocss/rule-utils': 0.58.7 dev: true - /@unocss/preset-web-fonts@0.58.6: - resolution: {integrity: sha512-W/8102vurABwfnb9QQyp9GBKP80kpy/IADSM7hbqLNaqmgxHASELXkjhqqt+et39Zn2tnXpIHNVWoqG6QNWBwQ==} + /@unocss/preset-web-fonts@0.58.7: + resolution: {integrity: sha512-97BhHYFudIVmMmLIZl3nA6puFLr2EEgG3xxR8Sa2Ox2sFL46D6oZrsxg9qr73QdJNOU3qk7HtnCn0+rozDrixg==} dependencies: - '@unocss/core': 0.58.6 - ofetch: 1.3.3 + '@unocss/core': 0.58.7 + ofetch: 1.3.4 dev: true - /@unocss/preset-wind@0.58.6: - resolution: {integrity: sha512-zs41CpFVvLB8CutroUeI1iqxzPsztiur9ei0QjRshxpYerPSsTSgdTkF+eul5D1q3BcsebLebzqtCSqnpFOuOA==} + /@unocss/preset-wind@0.58.7: + resolution: {integrity: sha512-rELMKcd/cwMnw6fPf/dmg63u41fRXJoXDO5rlO/+Fa8DF4/r8KJTUbjJbZfcOnh3n8jHz3NUz+QigdRBuDTEuw==} dependencies: - '@unocss/core': 0.58.6 - '@unocss/preset-mini': 0.58.6 - '@unocss/rule-utils': 0.58.6 + '@unocss/core': 0.58.7 + '@unocss/preset-mini': 0.58.7 + '@unocss/rule-utils': 0.58.7 dev: true - /@unocss/reset@0.58.6: - resolution: {integrity: sha512-mYyOe5QDRHc1BBRff+G97j3SGGC8s3Vk7cCcXc/l48FvPHKtLCphMZaBS+KkGkzWqwAtxv0QRbGhTixJCVDRug==} + /@unocss/reset@0.58.7: + resolution: {integrity: sha512-KiN5u5D4zJcU0Tg+wjgTWYIm8VEfHpi7t2a3YfNCLo9s/75Ty4tlYB9StEShYmVMCXBOu0mK1CwqQTNaFpfM1w==} dev: true - /@unocss/rule-utils@0.58.6: - resolution: {integrity: sha512-qbVDeyKzExFY/YeoIbMw/lu8PXEGJzSHrFXRumNHX5lvTu8ggAjH6p9xyvYa/YnuNU0+pFKuYxG8LNK2F8f1EQ==} + /@unocss/rule-utils@0.58.7: + resolution: {integrity: sha512-SbMwAUSgx5v4TXy+MXiWbqzoMjVHSeMaJpJOruU9PmtrOuZmqeajffMtI6pLtGlgrEL76frLRyMmSErxhyNelw==} engines: {node: '>=14'} dependencies: - '@unocss/core': 0.58.6 + '@unocss/core': 0.58.7 magic-string: 0.30.8 dev: true - /@unocss/scope@0.58.6: - resolution: {integrity: sha512-22BDrZPOkfEKuXY4NROhY+J25TAXN+GIxZpE4IbT1Wh+dkjnMXyC85VKGzOAuY/0v0zbaj12dYkmtndueQ/04w==} + /@unocss/scope@0.58.7: + resolution: {integrity: sha512-DaAHFT3azxq5eFiTRrDAqk8TSDlo6x5ImBowzdNO4B2QMt+o1X9uhbe8Qt+WlG3MOwhti87JT8ooNA1pzi3Iig==} dev: true - /@unocss/transformer-attributify-jsx-babel@0.58.6: - resolution: {integrity: sha512-IVU/ZozKTFhP9z1I9ZgSKiEx3WfDFDNXbTYTqwNW2SHPmAj5Qf99kn6o7br7Kd1dnxSjKFXOmNfNGkW9AMDraA==} + /@unocss/transformer-attributify-jsx-babel@0.58.7: + resolution: {integrity: sha512-IxEPQG7Kn+NgYEogOSKfqfGMQR7WU8X2DctaGBoQlizMiDr+q9DXM1dgGU0bXMxnSpRF8DYFHvgHefRnNUUVPg==} dependencies: - '@babel/core': 7.24.0 - '@babel/plugin-syntax-jsx': 7.23.3(@babel/core@7.24.0) - '@babel/preset-typescript': 7.23.3(@babel/core@7.24.0) - '@unocss/core': 0.58.6 + '@babel/core': 7.24.3 + '@babel/plugin-syntax-jsx': 7.24.1(@babel/core@7.24.3) + '@babel/preset-typescript': 7.24.1(@babel/core@7.24.3) + '@unocss/core': 0.58.7 transitivePeerDependencies: - supports-color dev: true - /@unocss/transformer-attributify-jsx@0.58.6: - resolution: {integrity: sha512-S+mTR5qwMsEaq8nYtqUgYdYIIRAA4oltxfGMYGj3Gxy9V0uteyo56QNp7IOjlYxAB8Dq9jQ8GLYEQe5JlffO1A==} + /@unocss/transformer-attributify-jsx@0.58.7: + resolution: {integrity: sha512-6kVTHvcTdlKpvXuXRgUPKFTTWFxJH0OL6N77x2WZgbDQc40mv95JIUCVBA8EnpRyGGTQi3yasiXIS7Ur2UmsbA==} dependencies: - '@unocss/core': 0.58.6 + '@unocss/core': 0.58.7 dev: true - /@unocss/transformer-compile-class@0.58.6: - resolution: {integrity: sha512-iung3cPA+IpBHoP6dTs9gkPN/wEVujqMZYxf6FQLjRH+v70rPxqTgaeGDyuQZAYikfDhdUZF8PJ4IUMOxEFsmw==} + /@unocss/transformer-compile-class@0.58.7: + resolution: {integrity: sha512-+IWWA9/hmaZIjxB4JY3fuWuK4fAMV/uoi0T3kANDOnK/HUmX5pUF9oTzC3LBa+1SwzZiMoTJgiQEGKv1qa2QjQ==} dependencies: - '@unocss/core': 0.58.6 + '@unocss/core': 0.58.7 dev: true - /@unocss/transformer-directives@0.58.6: - resolution: {integrity: sha512-8/+KGRmRnlkAJCRt4VqcYK16SnEr9wf1q7D9OCM2kZhk33Sx5SlsO6vjNZ1IH4c67/WviwNV6+KeS4elnQY8bA==} + /@unocss/transformer-directives@0.58.7: + resolution: {integrity: sha512-vMn86ARgrhCd+bZf1qvwBWhvQnOkAwOXbFGHM2cuuC0VVGJQcRE+dwTnUEJ5iqKGUNFWPJ/7NaV47kh58YITcg==} dependencies: - '@unocss/core': 0.58.6 - '@unocss/rule-utils': 0.58.6 + '@unocss/core': 0.58.7 + '@unocss/rule-utils': 0.58.7 css-tree: 2.3.1 dev: true - /@unocss/transformer-variant-group@0.58.6: - resolution: {integrity: sha512-6IFmfzketh4j+Mc/ik4nU+Oec0cptNR+aVfZZkGb4wd2h1lH+teAT2Y/Vz2xY8rDExOrbjY5y5FgRGd16LY2Rw==} + /@unocss/transformer-variant-group@0.58.7: + resolution: {integrity: sha512-9yGvrecxvY6wEc1tV4AsUDMNbj8xWk6aJ3LyZNzxOzmxmNUNAIK+y81/Hp7djn+w0ck6ss/uo6Ug7tGX+0bKUw==} dependencies: - '@unocss/core': 0.58.6 + '@unocss/core': 0.58.7 dev: true - /@unocss/vite@0.58.6(rollup@2.79.1)(vite@5.2.6): - resolution: {integrity: sha512-DPXCoYU/Ozqc/Jeptd41XvtW8MSgVxmtTyhpMAsm/hJuBfwIV7Fy3TZquf4V9BpaTb4ao1LVXzgXmVUmj2HXpA==} + /@unocss/vite@0.58.7(rollup@2.79.1)(vite@5.2.6): + resolution: {integrity: sha512-S8TJojR1/7O9Sfykj2k4yOq6gZOnjMNZq5ug/6edA11Q/gz2WrT/sx6aPcfIm3xVBnmLxaHfy3r06W+SiIbZcg==} peerDependencies: vite: ^2.9.0 || ^3.0.0-0 || ^4.0.0 || ^5.0.0-0 dependencies: '@ampproject/remapping': 2.3.0 '@rollup/pluginutils': 5.1.0(rollup@2.79.1) - '@unocss/config': 0.58.6 - '@unocss/core': 0.58.6 - '@unocss/inspector': 0.58.6 - '@unocss/scope': 0.58.6 - '@unocss/transformer-directives': 0.58.6 + '@unocss/config': 0.58.7 + '@unocss/core': 0.58.7 + '@unocss/inspector': 0.58.7 + '@unocss/scope': 0.58.7 + '@unocss/transformer-directives': 0.58.7 chokidar: 3.6.0 fast-glob: 3.3.2 magic-string: 0.30.8 @@ -5446,17 +5399,6 @@ packages: vite-plugin-pwa: 0.19.7(vite@5.2.6)(workbox-build@7.0.0)(workbox-window@7.0.0) dev: true - /@vitejs/plugin-vue@5.0.4(vite@5.2.3)(vue@3.4.21): - resolution: {integrity: sha512-WS3hevEszI6CEVEx28F8RjTX97k3KsrcY6kvTg7+Whm5y3oYvcqzVeGCU3hxSAn4uY2CLCkeokkGKpoctccilQ==} - engines: {node: ^18.0.0 || >=20.0.0} - peerDependencies: - vite: ^5.0.0 - vue: ^3.2.25 - dependencies: - vite: 5.2.3(@types/node@20.11.30) - vue: 3.4.21(typescript@5.4.3) - dev: true - /@vitejs/plugin-vue@5.0.4(vite@5.2.6)(vue@3.4.21): resolution: {integrity: sha512-WS3hevEszI6CEVEx28F8RjTX97k3KsrcY6kvTg7+Whm5y3oYvcqzVeGCU3hxSAn4uY2CLCkeokkGKpoctccilQ==} engines: {node: ^18.0.0 || >=20.0.0} @@ -5553,7 +5495,7 @@ packages: dependencies: '@babel/parser': 7.24.0 estree-walker: 2.0.2 - source-map-js: 1.2.0 + source-map-js: 1.0.2 vue: 3.4.21(typescript@5.4.3) dev: false @@ -5564,7 +5506,7 @@ packages: '@vue/shared': 3.4.21 entities: 4.5.0 estree-walker: 2.0.2 - source-map-js: 1.1.0 + source-map-js: 1.0.2 /@vue/compiler-dom@3.4.21: resolution: {integrity: sha512-IZC6FKowtT1sl0CR5DpXSiEB5ayw75oT2bma1BEhV7RRR1+cfwLrxc2Z8Zq/RGFzJ8w5r9QtCOvTjQgdn0IKmA==} @@ -5582,8 +5524,8 @@ packages: '@vue/shared': 3.4.21 estree-walker: 2.0.2 magic-string: 0.30.8 - postcss: 8.4.36 - source-map-js: 1.1.0 + postcss: 8.4.35 + source-map-js: 1.0.2 /@vue/compiler-ssr@3.4.21: resolution: {integrity: sha512-M5+9nI2lPpAsgXOGQobnIueVqc9sisBFexh5yMIMRAPYLa7+5wEJs8iqOZc1WAa9WQbx9GR2twgznU8LTIiZ4Q==} @@ -5762,7 +5704,7 @@ packages: typescript: optional: true dependencies: - '@types/node': 18.19.22 + '@types/node': 18.19.21 got: 11.8.6 typescript: 5.4.3 dev: true @@ -5948,7 +5890,7 @@ packages: lodash: 4.17.21 marked: 4.3.0 pino: 8.19.0 - postcss: 8.4.36 + postcss: 8.4.35 ramda: 0.28.0 tailwindcss: 3.4.1 vue: 3.4.21(typescript@5.4.3) @@ -6137,11 +6079,9 @@ packages: type-fest: 0.21.3 dev: true - /ansi-escapes@6.2.0: - resolution: {integrity: sha512-kzRaCqXnpzWs+3z5ABPQiVke+iq0KXkHo8xiWV4RPTi5Yli0l97BEQuhXV1s7+aSU/fu1kUuxgS4MsQ0fRuygw==} + /ansi-escapes@6.2.1: + resolution: {integrity: sha512-4nJ3yixlEthEJ9Rk4vPcdBRkZvQZlYyu8j4/Mqz5sgIkddmEnH2Yj2ZrnP9S3tQOvSNRUIgVNF/1yPpRAGNRig==} engines: {node: '>=14.16'} - dependencies: - type-fest: 3.13.1 dev: true /ansi-html-community@0.0.8: @@ -6285,7 +6225,7 @@ packages: array-buffer-byte-length: 1.0.1 call-bind: 1.0.7 define-properties: 1.2.1 - es-abstract: 1.23.2 + es-abstract: 1.22.5 es-errors: 1.3.0 get-intrinsic: 1.2.4 is-array-buffer: 3.0.4 @@ -6388,14 +6328,14 @@ packages: - supports-color dev: true - /babel-loader@9.1.3(@babel/core@7.24.3)(webpack@5.91.0): + /babel-loader@9.1.3(@babel/core@7.24.0)(webpack@5.91.0): resolution: {integrity: sha512-xG3ST4DglodGf8qSwv0MdeWLhrDsw/32QMdTO5T1ZIp9gQur0HkCyFs7Awskr10JKXFXwpAhiCuYX5oGXnRGbw==} engines: {node: '>= 14.15.0'} peerDependencies: '@babel/core': ^7.12.0 webpack: '>=5' dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.0 find-cache-dir: 4.0.0 schema-utils: 4.2.0 webpack: 5.91.0(esbuild@0.20.2)(webpack-cli@4.10.0) @@ -6424,38 +6364,38 @@ packages: '@types/babel__traverse': 7.20.5 dev: true - /babel-plugin-polyfill-corejs2@0.4.10(@babel/core@7.24.3): - resolution: {integrity: sha512-rpIuu//y5OX6jVU+a5BCn1R5RSZYWAl2Nar76iwaOdycqb6JPxediskWFMMl7stfwNJR4b7eiQvh5fB5TEQJTQ==} + /babel-plugin-polyfill-corejs2@0.4.8(@babel/core@7.24.0): + resolution: {integrity: sha512-OtIuQfafSzpo/LhnJaykc0R/MMnuLSSVjVYy9mHArIZ9qTCSZ6TpWCuEKZYVoN//t8HqBNScHrOtCrIK5IaGLg==} peerDependencies: '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 dependencies: - '@babel/compat-data': 7.24.1 - '@babel/core': 7.24.3 - '@babel/helper-define-polyfill-provider': 0.6.1(@babel/core@7.24.3) + '@babel/compat-data': 7.23.5 + '@babel/core': 7.24.0 + '@babel/helper-define-polyfill-provider': 0.5.0(@babel/core@7.24.0) semver: 6.3.1 transitivePeerDependencies: - supports-color dev: true - /babel-plugin-polyfill-corejs3@0.10.4(@babel/core@7.24.3): - resolution: {integrity: sha512-25J6I8NGfa5YkCDogHRID3fVCadIR8/pGl1/spvCkzb6lVn6SR3ojpx9nOn9iEBcUsjY24AmdKm5khcfKdylcg==} + /babel-plugin-polyfill-corejs3@0.9.0(@babel/core@7.24.0): + resolution: {integrity: sha512-7nZPG1uzK2Ymhy/NbaOWTg3uibM2BmGASS4vHS4szRZAIR8R6GwA/xAujpdrXU5iyklrimWnLWU+BLF9suPTqg==} peerDependencies: '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 dependencies: - '@babel/core': 7.24.3 - '@babel/helper-define-polyfill-provider': 0.6.1(@babel/core@7.24.3) - core-js-compat: 3.36.1 + '@babel/core': 7.24.0 + '@babel/helper-define-polyfill-provider': 0.5.0(@babel/core@7.24.0) + core-js-compat: 3.36.0 transitivePeerDependencies: - supports-color dev: true - /babel-plugin-polyfill-regenerator@0.6.1(@babel/core@7.24.3): - resolution: {integrity: sha512-JfTApdE++cgcTWjsiCQlLyFBMbTUft9ja17saCc93lgV33h4tuCVj7tlvu//qpLwaG+3yEz7/KhahGrUMkVq9g==} + /babel-plugin-polyfill-regenerator@0.5.5(@babel/core@7.24.0): + resolution: {integrity: sha512-OJGYZlhLqBh2DDHeqAxWB1XIvr49CxiJ2gIt61/PU55CQK4Z58OzMqjDe1zwQdQk+rBYsRc+1rJmdajM3gimHg==} peerDependencies: '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 dependencies: - '@babel/core': 7.24.3 - '@babel/helper-define-polyfill-provider': 0.6.1(@babel/core@7.24.3) + '@babel/core': 7.24.0 + '@babel/helper-define-polyfill-provider': 0.5.0(@babel/core@7.24.0) transitivePeerDependencies: - supports-color dev: true @@ -6739,7 +6679,7 @@ packages: es-errors: 1.3.0 function-bind: 1.1.2 get-intrinsic: 1.2.4 - set-function-length: 1.2.2 + set-function-length: 1.2.1 dev: true /call-me-maybe@1.0.2: @@ -7286,12 +7226,6 @@ packages: browserslist: 4.23.0 dev: true - /core-js-compat@3.36.1: - resolution: {integrity: sha512-Dk997v9ZCt3X/npqzyGdTlq6t7lDBhZwGvV94PKzDArjp7BTRm7WlDAXYd/OWdeFHO8OChQYRJNJvUCqCbrtKA==} - dependencies: - browserslist: 4.23.0 - dev: true - /core-util-is@1.0.2: resolution: {integrity: sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==} dev: true @@ -7946,33 +7880,6 @@ packages: whatwg-url: 14.0.0 dev: true - /data-view-buffer@1.0.1: - resolution: {integrity: sha512-0lht7OugA5x3iJLOWFhWK/5ehONdprk0ISXqVFn/NFrDu+cuc8iADFrGQz5BnRK7LLU3JmkbXSxaqX+/mXYtUA==} - engines: {node: '>= 0.4'} - dependencies: - call-bind: 1.0.7 - es-errors: 1.3.0 - is-data-view: 1.0.1 - dev: true - - /data-view-byte-length@1.0.1: - resolution: {integrity: sha512-4J7wRJD3ABAzr8wP+OcIcqq2dlUKp4DVflx++hs5h5ZKydWMI6/D/fAot+yh6g2tHh8fLFTvNOaVN357NvSrOQ==} - engines: {node: '>= 0.4'} - dependencies: - call-bind: 1.0.7 - es-errors: 1.3.0 - is-data-view: 1.0.1 - dev: true - - /data-view-byte-offset@1.0.0: - resolution: {integrity: sha512-t/Ygsytq+R995EJ5PZlD4Cu56sWa8InXySaViRzw9apusqsOO2bQP+SbYzAhR0pFKoB+43lYy8rWban9JSuXnA==} - engines: {node: '>= 0.4'} - dependencies: - call-bind: 1.0.7 - es-errors: 1.3.0 - is-data-view: 1.0.1 - dev: true - /date-fns@2.30.0: resolution: {integrity: sha512-fnULvOpxnC5/Vg3NCiWelDsLiUc9bRwAPs/+LfTLNvetFCtCTN+yQz15C/fs4AwX1R9K5GLtLfn8QW+dWisaAw==} engines: {node: '>=0.11'} @@ -8362,20 +8269,16 @@ packages: is-arrayish: 0.2.1 dev: true - /es-abstract@1.23.2: - resolution: {integrity: sha512-60s3Xv2T2p1ICykc7c+DNDPLDMm9t4QxCOUU0K9JxiLjM3C1zB9YVdN7tjxrFd4+AkZ8CdX1ovUga4P2+1e+/w==} + /es-abstract@1.22.5: + resolution: {integrity: sha512-oW69R+4q2wG+Hc3KZePPZxOiisRIqfKBVo/HLx94QcJeWGU/8sZhCvc829rd1kS366vlJbzBfXf9yWwf0+Ko7w==} engines: {node: '>= 0.4'} dependencies: array-buffer-byte-length: 1.0.1 arraybuffer.prototype.slice: 1.0.3 available-typed-arrays: 1.0.7 call-bind: 1.0.7 - data-view-buffer: 1.0.1 - data-view-byte-length: 1.0.1 - data-view-byte-offset: 1.0.0 es-define-property: 1.0.0 es-errors: 1.3.0 - es-object-atoms: 1.0.0 es-set-tostringtag: 2.0.3 es-to-primitive: 1.2.1 function.prototype.name: 1.1.6 @@ -8386,11 +8289,10 @@ packages: has-property-descriptors: 1.0.2 has-proto: 1.0.3 has-symbols: 1.0.3 - hasown: 2.0.2 + hasown: 2.0.1 internal-slot: 1.0.7 is-array-buffer: 3.0.4 is-callable: 1.2.7 - is-data-view: 1.0.1 is-negative-zero: 2.0.3 is-regex: 1.1.4 is-shared-array-buffer: 1.0.3 @@ -8401,17 +8303,17 @@ packages: object-keys: 1.1.1 object.assign: 4.1.5 regexp.prototype.flags: 1.5.2 - safe-array-concat: 1.1.2 + safe-array-concat: 1.1.0 safe-regex-test: 1.0.3 - string.prototype.trim: 1.2.9 - string.prototype.trimend: 1.0.8 - string.prototype.trimstart: 1.0.8 + string.prototype.trim: 1.2.8 + string.prototype.trimend: 1.0.7 + string.prototype.trimstart: 1.0.7 typed-array-buffer: 1.0.2 typed-array-byte-length: 1.0.1 typed-array-byte-offset: 1.0.2 - typed-array-length: 1.0.6 + typed-array-length: 1.0.5 unbox-primitive: 1.0.2 - which-typed-array: 1.1.15 + which-typed-array: 1.1.14 dev: true /es-define-property@1.0.0: @@ -8430,20 +8332,13 @@ packages: resolution: {integrity: sha512-cXLGjP0c4T3flZJKQSuziYoq7MlT+rnvfZjfp7h+I7K9BNX54kP9nyWvdbwjQ4u1iWbOL4u96fgeZLToQlZC7w==} dev: true - /es-object-atoms@1.0.0: - resolution: {integrity: sha512-MZ4iQ6JwHOBQjahnjwaC1ZtIBH+2ohjamzAO3oaHcXYup7qxjF2fixyH+Q71voWHeOkI2q/TnJao/KfXYIZWbw==} - engines: {node: '>= 0.4'} - dependencies: - es-errors: 1.3.0 - dev: true - /es-set-tostringtag@2.0.3: resolution: {integrity: sha512-3T8uNMC3OQTHkFUsFq8r/BwAXLHvU/9O9mE0fBc/MY5iq/8H7ncvO947LmYA6ldWw9Uh8Yhf25zu6n7nML5QWQ==} engines: {node: '>= 0.4'} dependencies: get-intrinsic: 1.2.4 has-tostringtag: 1.0.2 - hasown: 2.0.2 + hasown: 2.0.1 dev: true /es-to-primitive@1.2.1: @@ -8628,7 +8523,7 @@ packages: htmlparser2: 9.1.0 dev: true - /eslint-plugin-jest@27.9.0(@typescript-eslint/eslint-plugin@7.3.1)(eslint@8.57.0)(jest@29.7.0)(typescript@5.4.3): + /eslint-plugin-jest@27.9.0(@typescript-eslint/eslint-plugin@7.4.0)(eslint@8.57.0)(jest@29.7.0)(typescript@5.4.3): resolution: {integrity: sha512-QIT7FH7fNmd9n4se7FFKHbsLKGQiw885Ds6Y/sxKgCZ6natwCsXdgPOADnYVxN2QrRweF0FZWbJ6S7Rsn7llug==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} peerDependencies: @@ -8641,7 +8536,7 @@ packages: jest: optional: true dependencies: - '@typescript-eslint/eslint-plugin': 7.3.1(@typescript-eslint/parser@7.3.1)(eslint@8.57.0)(typescript@5.4.3) + '@typescript-eslint/eslint-plugin': 7.4.0(@typescript-eslint/parser@7.4.0)(eslint@8.57.0)(typescript@5.4.3) '@typescript-eslint/utils': 5.62.0(eslint@8.57.0)(typescript@5.4.3) eslint: 8.57.0 jest: 29.7.0(@types/node@20.11.30) @@ -9068,8 +8963,8 @@ packages: - supports-color dev: true - /express@4.19.1: - resolution: {integrity: sha512-K4w1/Bp7y8iSiVObmCrtq8Cs79XjJc/RU2YYkZQ7wpUu5ZyZ7MtPHkqoMz4pf+mgXfNvo2qft8D9OnrH2ABk9w==} + /express@4.19.2: + resolution: {integrity: sha512-5T6nhjsT+EOMzuck8JjBHARTHfMht0POzlA60WV2pMD3gyXw2LZnZ+ueGdNxG+0calOJcWKbpFcuzLZ91YWq9Q==} engines: {node: '>= 0.10.0'} dependencies: accepts: 1.3.8 @@ -9219,7 +9114,7 @@ packages: proxy-addr: 2.0.7 rfdc: 1.3.1 secure-json-parse: 2.7.0 - semver: 7.5.4 + semver: 7.6.0 tiny-lru: 8.0.2 transitivePeerDependencies: - supports-color @@ -9591,7 +9486,7 @@ packages: dependencies: call-bind: 1.0.7 define-properties: 1.2.1 - es-abstract: 1.23.2 + es-abstract: 1.22.5 functions-have-names: 1.2.3 dev: true @@ -9640,7 +9535,7 @@ packages: function-bind: 1.1.2 has-proto: 1.0.3 has-symbols: 1.0.3 - hasown: 2.0.2 + hasown: 2.0.1 dev: true /get-own-enumerable-property-symbols@3.0.2: @@ -9976,8 +9871,8 @@ packages: type-fest: 0.8.1 dev: true - /hasown@2.0.2: - resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==} + /hasown@2.0.1: + resolution: {integrity: sha512-1/th4MHjnwncwXsIW6QMzlvYL9kG5e/CpVvLRZe4XPa8TOUNbCELqmvhDmnkNsAjwaG4+I8gJJL0JBvTTLO9qA==} engines: {node: '>= 0.4'} dependencies: function-bind: 1.1.2 @@ -10287,7 +10182,7 @@ packages: engines: {node: '>= 0.4'} dependencies: es-errors: 1.3.0 - hasown: 2.0.2 + hasown: 2.0.1 side-channel: 1.0.6 dev: true @@ -10390,14 +10285,7 @@ packages: /is-core-module@2.13.1: resolution: {integrity: sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==} dependencies: - hasown: 2.0.2 - - /is-data-view@1.0.1: - resolution: {integrity: sha512-AHkaJrsUVW6wq6JS8y3JnM/GJF/9cf+k20+iDzlSaJrinEo5+7vRiteOSwBhHRiAyQATN1AmY4hwzxJKPmYf+w==} - engines: {node: '>= 0.4'} - dependencies: - is-typed-array: 1.1.13 - dev: true + hasown: 2.0.1 /is-date-object@1.0.5: resolution: {integrity: sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==} @@ -10577,7 +10465,7 @@ packages: resolution: {integrity: sha512-uZ25/bUAlUY5fR4OKT4rZQEBrzQWYV9ZJYGGsUmEJ6thodVJ1HX64ePQ6Z0qPWP+m+Uq6e9UugrE38jeYsDSMw==} engines: {node: '>= 0.4'} dependencies: - which-typed-array: 1.1.15 + which-typed-array: 1.1.14 dev: true /is-typedarray@1.0.0: @@ -11404,6 +11292,10 @@ packages: hasBin: true dev: true + /jsonc-parser@3.2.0: + resolution: {integrity: sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==} + dev: true + /jsonc-parser@3.2.1: resolution: {integrity: sha512-AilxAyFOAcK5wA1+LeaySVBrHsGQvUFCDWXKpZjzaL0PqW+xfBOttn8GNtWKFWqneyMZj41MWF9Kl6iPWLwgOA==} dev: true @@ -11455,8 +11347,8 @@ packages: engines: {node: '>=12.20'} dev: true - /katex@0.16.10: - resolution: {integrity: sha512-ZiqaC04tp2O5utMsl2TEZTXxa6WSC4yo0fv5ML++D3QZv/vx2Mct0mTlRx3O+uUkjfuAgOkzsCmq5MiUEsDDdA==} + /katex@0.16.9: + resolution: {integrity: sha512-fsSYjWS0EEOwvy81j3vRA8TEAhQhKiqO+FQaKWp0m39qwOzHVBgAUBIXWj1pB+O2W3fIpNa6Y9KSKCVbfPhyAQ==} hasBin: true dependencies: commander: 8.3.0 @@ -11738,7 +11630,7 @@ packages: resolution: {integrity: sha512-niTvB4gqvtof056rRIrTZvjNYE4rCUzO6X/X+kYjd7WFxXeJ0NwEFnRxX6ehkvv3jTwrXnNdtAak5XYZuIyPFw==} engines: {node: '>=18'} dependencies: - ansi-escapes: 6.2.0 + ansi-escapes: 6.2.1 cli-cursor: 4.0.0 slice-ansi: 7.1.0 strip-ansi: 7.1.0 @@ -11820,7 +11712,7 @@ packages: dependencies: '@babel/parser': 7.24.0 '@babel/types': 7.24.0 - source-map-js: 1.2.0 + source-map-js: 1.0.2 dev: true /make-dir@3.1.0: @@ -12518,8 +12410,8 @@ packages: engines: {node: '>=10.5.0'} dev: true - /node-fetch-native@1.6.2: - resolution: {integrity: sha512-69mtXOFZ6hSkYiXAVB5SqaRvrbITC/NPyqv7yuu/qw0nmgPyYbIMYYNIDhNtwPrzk0ptrimrLz/hhjvm4w5Z+w==} + /node-fetch-native@1.6.4: + resolution: {integrity: sha512-IhOigYzAKHd244OC0JIMIUrjzctirCmPkaIfhDeGcEETWof5zKYUW7e7MYvChGWh/4CJeXEgsRyGzuF334rOOQ==} dev: true /node-fetch@2.6.7(encoding@0.1.13): @@ -12687,12 +12579,12 @@ packages: resolution: {integrity: sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==} dev: true - /ofetch@1.3.3: - resolution: {integrity: sha512-s1ZCMmQWXy4b5K/TW9i/DtiN8Ku+xCiHcjQ6/J/nDdssirrQNOoB165Zu8EqLMA2lln1JUth9a0aW9Ap2ctrUg==} + /ofetch@1.3.4: + resolution: {integrity: sha512-KLIET85ik3vhEfS+3fDlc/BAZiAp+43QEC/yCo5zkNoY2YaKvNkOaFr/6wCFgFH1kuYQM5pMNi0Tg8koiIemtw==} dependencies: destr: 2.0.3 - node-fetch-native: 1.6.2 - ufo: 1.4.0 + node-fetch-native: 1.6.4 + ufo: 1.5.3 dev: true /omggif@1.0.10: @@ -13194,29 +13086,29 @@ packages: engines: {node: '>= 0.4'} dev: true - /postcss-import@15.1.0(postcss@8.4.38): + /postcss-import@15.1.0(postcss@8.4.35): resolution: {integrity: sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==} engines: {node: '>=14.0.0'} peerDependencies: postcss: ^8.0.0 dependencies: - postcss: 8.4.38 + postcss: 8.4.35 postcss-value-parser: 4.2.0 read-cache: 1.0.0 resolve: 1.22.8 dev: false - /postcss-js@4.0.1(postcss@8.4.38): + /postcss-js@4.0.1(postcss@8.4.35): resolution: {integrity: sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==} engines: {node: ^12 || ^14 || >= 16} peerDependencies: postcss: ^8.4.21 dependencies: camelcase-css: 2.0.1 - postcss: 8.4.38 + postcss: 8.4.35 dev: false - /postcss-load-config@4.0.2(postcss@8.4.38): + /postcss-load-config@4.0.2(postcss@8.4.35): resolution: {integrity: sha512-bSVhyJGL00wMVoPUzAVAnbEoWyqRxkjv64tUl427SKnPrENtq6hJwUojroMz2VB+Q1edmi4IfrAPpami5VVgMQ==} engines: {node: '>= 14'} peerDependencies: @@ -13229,17 +13121,17 @@ packages: optional: true dependencies: lilconfig: 3.1.1 - postcss: 8.4.38 - yaml: 2.4.1 + postcss: 8.4.35 + yaml: 2.4.0 dev: false - /postcss-nested@6.0.1(postcss@8.4.38): + /postcss-nested@6.0.1(postcss@8.4.35): resolution: {integrity: sha512-mEp4xPMi5bSWiMbsgoPfcP74lsWLHkQbZc3sY+jWYd65CUwXrUaTp0fmNpa01ZcETKlIgUdFN/MpS2xZtqL9dQ==} engines: {node: '>=12.0'} peerDependencies: postcss: ^8.2.14 dependencies: - postcss: 8.4.38 + postcss: 8.4.35 postcss-selector-parser: 6.0.15 dev: false @@ -13255,13 +13147,13 @@ packages: resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==} dev: false - /postcss@8.4.36: - resolution: {integrity: sha512-/n7eumA6ZjFHAsbX30yhHup/IMkOmlmvtEi7P+6RMYf+bGJSUHc3geH4a0NSZxAz/RJfiS9tooCTs9LAVYUZKw==} + /postcss@8.4.35: + resolution: {integrity: sha512-u5U8qYpBCpN13BsiEB0CbR1Hhh4Gc0zLFuedrHJKMctHCHAGrMdG0PRM/KErzAL3CU6/eckEtmHNB3x6e3c0vA==} engines: {node: ^10 || ^12 || >=14} dependencies: nanoid: 3.3.7 picocolors: 1.0.0 - source-map-js: 1.2.0 + source-map-js: 1.0.2 /postcss@8.4.38: resolution: {integrity: sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A==} @@ -13270,6 +13162,7 @@ packages: nanoid: 3.3.7 picocolors: 1.0.0 source-map-js: 1.2.0 + dev: true /preact@10.19.6: resolution: {integrity: sha512-gympg+T2Z1fG1unB8NH29yHJwnEaCH37Z32diPDku316OTnRPeMbiRV9kTrfZpocXjdfnWuFUl/Mj4BHaf6gnw==} @@ -13565,7 +13458,7 @@ packages: /regenerator-transform@0.15.2: resolution: {integrity: sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg==} dependencies: - '@babel/runtime': 7.24.1 + '@babel/runtime': 7.24.0 dev: true /regexp-tree@0.1.27: @@ -13825,11 +13718,11 @@ packages: peerDependencies: rollup: ^2.0.0 dependencies: - '@babel/code-frame': 7.24.2 + '@babel/code-frame': 7.23.5 jest-worker: 26.6.2 rollup: 2.79.1 serialize-javascript: 4.0.0 - terser: 5.29.2 + terser: 5.28.1 dev: true /rollup-plugin-visualizer@5.12.0: @@ -13856,26 +13749,27 @@ packages: fsevents: 2.3.3 dev: true - /rollup@4.13.0: - resolution: {integrity: sha512-3YegKemjoQnYKmsBlOHfMLVPPA5xLkQ8MHLLSw/fBrFaVkEayL51DilPpNNLq1exr98F2B1TzrV0FUlN3gWRPg==} + /rollup@4.13.1: + resolution: {integrity: sha512-hFi+fU132IvJ2ZuihN56dwgpltpmLZHZWsx27rMCTZ2sYwrqlgL5sECGy1eeV2lAihD8EzChBVVhsXci0wD4Tg==} engines: {node: '>=18.0.0', npm: '>=8.0.0'} hasBin: true dependencies: '@types/estree': 1.0.5 optionalDependencies: - '@rollup/rollup-android-arm-eabi': 4.13.0 - '@rollup/rollup-android-arm64': 4.13.0 - '@rollup/rollup-darwin-arm64': 4.13.0 - '@rollup/rollup-darwin-x64': 4.13.0 - '@rollup/rollup-linux-arm-gnueabihf': 4.13.0 - '@rollup/rollup-linux-arm64-gnu': 4.13.0 - '@rollup/rollup-linux-arm64-musl': 4.13.0 - '@rollup/rollup-linux-riscv64-gnu': 4.13.0 - '@rollup/rollup-linux-x64-gnu': 4.13.0 - '@rollup/rollup-linux-x64-musl': 4.13.0 - '@rollup/rollup-win32-arm64-msvc': 4.13.0 - '@rollup/rollup-win32-ia32-msvc': 4.13.0 - '@rollup/rollup-win32-x64-msvc': 4.13.0 + '@rollup/rollup-android-arm-eabi': 4.13.1 + '@rollup/rollup-android-arm64': 4.13.1 + '@rollup/rollup-darwin-arm64': 4.13.1 + '@rollup/rollup-darwin-x64': 4.13.1 + '@rollup/rollup-linux-arm-gnueabihf': 4.13.1 + '@rollup/rollup-linux-arm64-gnu': 4.13.1 + '@rollup/rollup-linux-arm64-musl': 4.13.1 + '@rollup/rollup-linux-riscv64-gnu': 4.13.1 + '@rollup/rollup-linux-s390x-gnu': 4.13.1 + '@rollup/rollup-linux-x64-gnu': 4.13.1 + '@rollup/rollup-linux-x64-musl': 4.13.1 + '@rollup/rollup-win32-arm64-msvc': 4.13.1 + '@rollup/rollup-win32-ia32-msvc': 4.13.1 + '@rollup/rollup-win32-x64-msvc': 4.13.1 fsevents: 2.3.3 dev: true @@ -13898,8 +13792,8 @@ packages: tslib: 2.6.2 dev: true - /safe-array-concat@1.1.2: - resolution: {integrity: sha512-vj6RsCsWBCf19jIeHEfkRMw8DPiBb+DMXklQ/1SGDHOMlHdPUkZXFQ2YdplS23zESTijAcurb1aSgJA3AgMu1Q==} + /safe-array-concat@1.1.0: + resolution: {integrity: sha512-ZdQ0Jeb9Ofti4hbt5lX3T2JcAamT9hfzYU1MNB+z/jaEbB6wfFfPIR/zEORmZqobkCCJhSjodobH6WHNmJ97dg==} engines: {node: '>=0.4'} dependencies: call-bind: 1.0.7 @@ -14081,8 +13975,8 @@ packages: resolution: {integrity: sha512-RVnVQxTXuerk653XfuliOxBP81Sf0+qfQE73LIYKcyMYHG94AuH0kgrQpRDuTZnSmjpysHmzxJXKNfa6PjFhyQ==} dev: true - /set-function-length@1.2.2: - resolution: {integrity: sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==} + /set-function-length@1.2.1: + resolution: {integrity: sha512-j4t6ccc+VsKwYHso+kElc5neZpjtq9EnRICFZtWyBsLojhmeF/ZBd/elqm22WJh/BziDe/SBiOeAt0m2mfLD0g==} engines: {node: '>= 0.4'} dependencies: define-data-property: 1.1.4 @@ -14159,10 +14053,10 @@ packages: '@shikijs/core': 1.1.7 dev: true - /shiki@1.2.0: - resolution: {integrity: sha512-xLhiTMOIUXCv5DqJ4I70GgQCtdlzsTqFLZWcMHHG3TAieBUbvEGthdrlPDlX4mL/Wszx9C6rEcxU6kMlg4YlxA==} + /shiki@1.2.1: + resolution: {integrity: sha512-u+XW6o0vCkUNlneZb914dLO+AayEIwK5tI62WeS//R5HIXBFiYaj/Hc5xcq27Yh83Grr4JbNtUBV8W6zyK4hWg==} dependencies: - '@shikijs/core': 1.2.0 + '@shikijs/core': 1.2.1 dev: true /side-channel@1.0.4: @@ -14205,7 +14099,7 @@ packages: resolution: {integrity: sha512-94Bdh3cC2PKrbgSOUqTiGPWVZeSiXfKOVZNJniWoqrWrRkB1CJzBU3NEbiTsPcYy1lDsANA/THzS+9WBiy5nfQ==} engines: {node: '>= 10'} dependencies: - '@polka/url': 1.0.0-next.25 + '@polka/url': 1.0.0-next.24 mrmime: 2.0.0 totalist: 3.0.1 dev: true @@ -14292,15 +14186,11 @@ packages: /source-map-js@1.0.2: resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==} engines: {node: '>=0.10.0'} - dev: true - - /source-map-js@1.1.0: - resolution: {integrity: sha512-9vC2SfsJzlej6MAaMPLu8HiBSHGdRAJ9hVFYN1ibZoNkeanmDmLUcIrj6G9DGL7XMJ54AKg/G75akXl1/izTOw==} - engines: {node: '>=0.10.0'} /source-map-js@1.2.0: resolution: {integrity: sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==} engines: {node: '>=0.10.0'} + dev: true /source-map-support@0.5.13: resolution: {integrity: sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==} @@ -14549,17 +14439,13 @@ packages: strip-ansi: 7.1.0 dev: true - /string.prototype.matchall@4.0.11: - resolution: {integrity: sha512-NUdh0aDavY2og7IbBPenWqR9exH+E26Sv8e0/eTe1tltDGZL+GtBkDAnnyBtmekfK6/Dq3MkcGtzXFEd1LQrtg==} - engines: {node: '>= 0.4'} + /string.prototype.matchall@4.0.10: + resolution: {integrity: sha512-rGXbGmOEosIQi6Qva94HUjgPs9vKW+dkG7Y8Q5O2OYkWL6wFaTRZO8zM4mhP94uX55wgyrXzfS2aGtGzUL7EJQ==} dependencies: call-bind: 1.0.7 define-properties: 1.2.1 - es-abstract: 1.23.2 - es-errors: 1.3.0 - es-object-atoms: 1.0.0 + es-abstract: 1.22.5 get-intrinsic: 1.2.4 - gopd: 1.0.1 has-symbols: 1.0.3 internal-slot: 1.0.7 regexp.prototype.flags: 1.5.2 @@ -14567,31 +14453,29 @@ packages: side-channel: 1.0.6 dev: true - /string.prototype.trim@1.2.9: - resolution: {integrity: sha512-klHuCNxiMZ8MlsOihJhJEBJAiMVqU3Z2nEXWfWnIqjN0gEFS9J9+IxKozWWtQGcgoa1WUZzLjKPTr4ZHNFTFxw==} + /string.prototype.trim@1.2.8: + resolution: {integrity: sha512-lfjY4HcixfQXOfaqCvcBuOIapyaroTXhbkfJN3gcB1OtyupngWK4sEET9Knd0cXd28kTUqu/kHoV4HKSJdnjiQ==} engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.7 define-properties: 1.2.1 - es-abstract: 1.23.2 - es-object-atoms: 1.0.0 + es-abstract: 1.22.5 dev: true - /string.prototype.trimend@1.0.8: - resolution: {integrity: sha512-p73uL5VCHCO2BZZ6krwwQE3kCzM7NKmis8S//xEC6fQonchbum4eP6kR4DLEjQFO3Wnj3Fuo8NM0kOSjVdHjZQ==} + /string.prototype.trimend@1.0.7: + resolution: {integrity: sha512-Ni79DqeB72ZFq1uH/L6zJ+DKZTkOtPIHovb3YZHQViE+HDouuU4mBrLOLDn5Dde3RF8qw5qVETEjhu9locMLvA==} dependencies: call-bind: 1.0.7 define-properties: 1.2.1 - es-object-atoms: 1.0.0 + es-abstract: 1.22.5 dev: true - /string.prototype.trimstart@1.0.8: - resolution: {integrity: sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==} - engines: {node: '>= 0.4'} + /string.prototype.trimstart@1.0.7: + resolution: {integrity: sha512-NGhtDFu3jCEm7B4Fy0DpLewdJQOZcQ0rGbwQ/+stjnrp2i+rlKeCvos9hOIeCmqwratM47OBxY7uFZzjxHXmrg==} dependencies: call-bind: 1.0.7 define-properties: 1.2.1 - es-object-atoms: 1.0.0 + es-abstract: 1.22.5 dev: true /string_decoder@1.1.1: @@ -14758,11 +14642,11 @@ packages: normalize-path: 3.0.0 object-hash: 3.0.0 picocolors: 1.0.0 - postcss: 8.4.38 - postcss-import: 15.1.0(postcss@8.4.38) - postcss-js: 4.0.1(postcss@8.4.38) - postcss-load-config: 4.0.2(postcss@8.4.38) - postcss-nested: 6.0.1(postcss@8.4.38) + postcss: 8.4.35 + postcss-import: 15.1.0(postcss@8.4.35) + postcss-js: 4.0.1(postcss@8.4.35) + postcss-load-config: 4.0.2(postcss@8.4.35) + postcss-nested: 6.0.1(postcss@8.4.35) postcss-selector-parser: 6.0.15 resolve: 1.22.8 sucrase: 3.35.0 @@ -14831,16 +14715,16 @@ packages: jest-worker: 27.5.1 schema-utils: 3.3.0 serialize-javascript: 6.0.2 - terser: 5.29.2 + terser: 5.28.1 webpack: 5.91.0(esbuild@0.20.2)(webpack-cli@4.10.0) dev: true - /terser@5.29.2: - resolution: {integrity: sha512-ZiGkhUBIM+7LwkNjXYJq8svgkd+QK3UUr0wJqY4MieaezBSAIPgbSPZyIx0idM6XWK5CMzSWa8MJIzmRcB8Caw==} + /terser@5.28.1: + resolution: {integrity: sha512-wM+bZp54v/E9eRRGXb5ZFDvinrJIOaTapx3WUokyVGZu5ucVCK55zEgGd5Dl2fSr3jUo5sDiERErUWLY6QPFyA==} engines: {node: '>=10'} hasBin: true dependencies: - '@jridgewell/source-map': 0.3.6 + '@jridgewell/source-map': 0.3.5 acorn: 8.11.3 commander: 2.20.3 source-map-support: 0.5.21 @@ -14908,8 +14792,8 @@ packages: resolution: {integrity: sha512-N8hW3PG/3aOoZAN5V/NSAEDz0ZixDSSt5b/a05iqtpgfLWMSVuCo7w0k2vVvEjdrIoeGqZzweX2WlyioNIHchA==} dev: true - /tinypool@0.8.2: - resolution: {integrity: sha512-SUszKYe5wgsxnNOVlBYO6IC+8VGWdVGZWAqUxp3UErNBtptZvWbwyUOyzNL59zigz2rCA92QiL3wvG+JDSdJdQ==} + /tinypool@0.8.3: + resolution: {integrity: sha512-Ud7uepAklqRH1bvwy22ynrliC7Dljz7Tm8M/0RBUW+YRa4YHhZ6e4PpgE+fu1zr/WqB1kbeuVrdfeuyIBpy4tw==} engines: {node: '>=14.0.0'} dev: true @@ -15099,11 +14983,6 @@ packages: engines: {node: '>=10'} dev: true - /type-fest@3.13.1: - resolution: {integrity: sha512-tLq3bSNx+xSpwvAJnzrK0Ep5CLNWjvFTOp71URMaAEWBfRb9nnJiBoUe0tF8bI4ZFO3omgBR6NvnbzVUT3Ly4g==} - engines: {node: '>=14.16'} - dev: true - /type-fest@4.14.0: resolution: {integrity: sha512-on5/Cw89wwqGZQu+yWO0gGMGu8VNxsaW9SB2HE8yJjllEk7IDTwnSN1dUVldYILhYPN5HzD7WAaw2cc/jBfn0Q==} engines: {node: '>=16'} @@ -15153,8 +15032,8 @@ packages: is-typed-array: 1.1.13 dev: true - /typed-array-length@1.0.6: - resolution: {integrity: sha512-/OxDN6OtAk5KBpGb28T+HZc2M+ADtvRxXrKKbUwtsLgdoxgX13hyy7ek6bFRl5+aBs2yZzB0c4CnQfAtVypW/g==} + /typed-array-length@1.0.5: + resolution: {integrity: sha512-yMi0PlwuznKHxKmcpoOdeLwxBoVPkqZxd7q2FgMkmD3bNwvF5VW0+UlUQ1k1vmktTu4Yu13Q0RIxEP8+B+wloA==} engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.7 @@ -15207,6 +15086,10 @@ packages: resolution: {integrity: sha512-Hhy+BhRBleFjpJ2vchUNN40qgkh0366FWJGqVLYBHev0vpHTrXSA0ryT+74UiW6KWsldNurQMKGqCm1M2zBciQ==} dev: true + /ufo@1.5.3: + resolution: {integrity: sha512-Y7HYmWaFwPUmkoQCUIAYpKqkOf+SbVj/2fJJZ4RJMCfZp0rTGwRbzQD+HghfnhKOjL9E01okqz+ncJskGYfBNw==} + dev: true + /uglify-js@3.17.4: resolution: {integrity: sha512-T9q82TJI9e/C1TAxYvfb16xO120tMVFZrGA3f9/P4424DNu6ypK103y0GPFVa17yotwSyZW5iYXgjYHkGrJW/g==} engines: {node: '>=0.8.0'} @@ -15350,11 +15233,11 @@ packages: engines: {node: '>= 10.0.0'} dev: true - /unocss@0.58.6(postcss@8.4.38)(rollup@2.79.1)(vite@5.2.6): - resolution: {integrity: sha512-HBstDtC6KKD5yCYh5hHpPdHGZai0B/iLlDwkOIK+xfQYrvl8tNBvKfRz3xgiaI5MJ+fLmEOxbfXQIjleU1A0iA==} + /unocss@0.58.7(postcss@8.4.35)(rollup@2.79.1)(vite@5.2.6): + resolution: {integrity: sha512-WZEG5+RWlMvuMX8qOpZI9PAwBlFpRMnGlOtQV3M6BHsUbEPvC7IPx1fr4I22XizctRfNftUG3MWe5l74CcoD7Q==} engines: {node: '>=14'} peerDependencies: - '@unocss/webpack': 0.58.6 + '@unocss/webpack': 0.58.7 vite: ^2.9.0 || ^3.0.0-0 || ^4.0.0 || ^5.0.0-0 peerDependenciesMeta: '@unocss/webpack': @@ -15362,26 +15245,26 @@ packages: vite: optional: true dependencies: - '@unocss/astro': 0.58.6(rollup@2.79.1)(vite@5.2.6) - '@unocss/cli': 0.58.6(rollup@2.79.1) - '@unocss/core': 0.58.6 - '@unocss/extractor-arbitrary-variants': 0.58.6 - '@unocss/postcss': 0.58.6(postcss@8.4.38) - '@unocss/preset-attributify': 0.58.6 - '@unocss/preset-icons': 0.58.6 - '@unocss/preset-mini': 0.58.6 - '@unocss/preset-tagify': 0.58.6 - '@unocss/preset-typography': 0.58.6 - '@unocss/preset-uno': 0.58.6 - '@unocss/preset-web-fonts': 0.58.6 - '@unocss/preset-wind': 0.58.6 - '@unocss/reset': 0.58.6 - '@unocss/transformer-attributify-jsx': 0.58.6 - '@unocss/transformer-attributify-jsx-babel': 0.58.6 - '@unocss/transformer-compile-class': 0.58.6 - '@unocss/transformer-directives': 0.58.6 - '@unocss/transformer-variant-group': 0.58.6 - '@unocss/vite': 0.58.6(rollup@2.79.1)(vite@5.2.6) + '@unocss/astro': 0.58.7(rollup@2.79.1)(vite@5.2.6) + '@unocss/cli': 0.58.7(rollup@2.79.1) + '@unocss/core': 0.58.7 + '@unocss/extractor-arbitrary-variants': 0.58.7 + '@unocss/postcss': 0.58.7(postcss@8.4.35) + '@unocss/preset-attributify': 0.58.7 + '@unocss/preset-icons': 0.58.7 + '@unocss/preset-mini': 0.58.7 + '@unocss/preset-tagify': 0.58.7 + '@unocss/preset-typography': 0.58.7 + '@unocss/preset-uno': 0.58.7 + '@unocss/preset-web-fonts': 0.58.7 + '@unocss/preset-wind': 0.58.7 + '@unocss/reset': 0.58.7 + '@unocss/transformer-attributify-jsx': 0.58.7 + '@unocss/transformer-attributify-jsx-babel': 0.58.7 + '@unocss/transformer-compile-class': 0.58.7 + '@unocss/transformer-directives': 0.58.7 + '@unocss/transformer-variant-group': 0.58.7 + '@unocss/vite': 0.58.7(rollup@2.79.1)(vite@5.2.6) vite: 5.2.6(@types/node@20.11.30) transitivePeerDependencies: - postcss @@ -15588,42 +15471,6 @@ packages: - supports-color dev: true - /vite@5.2.3(@types/node@20.11.30): - resolution: {integrity: sha512-+i1oagbvkVIhEy9TnEV+fgXsng13nZM90JQbrcPrf6DvW2mXARlz+DK7DLiDP+qeKoD1FCVx/1SpFL1CLq9Mhw==} - engines: {node: ^18.0.0 || >=20.0.0} - hasBin: true - peerDependencies: - '@types/node': ^18.0.0 || >=20.0.0 - less: '*' - lightningcss: ^1.21.0 - sass: '*' - stylus: '*' - sugarss: '*' - terser: ^5.4.0 - peerDependenciesMeta: - '@types/node': - optional: true - less: - optional: true - lightningcss: - optional: true - sass: - optional: true - stylus: - optional: true - sugarss: - optional: true - terser: - optional: true - dependencies: - '@types/node': 20.11.30 - esbuild: 0.20.2 - postcss: 8.4.38 - rollup: 4.13.0 - optionalDependencies: - fsevents: 2.3.3 - dev: true - /vite@5.2.6(@types/node@20.11.30): resolution: {integrity: sha512-FPtnxFlSIKYjZ2eosBQamz4CbyrTizbZ3hnGJlh/wMtCrlp1Hah6AzBLjGI5I2urTfNnpovpHdrL6YRuBOPnCA==} engines: {node: ^18.0.0 || >=20.0.0} @@ -15655,7 +15502,7 @@ packages: '@types/node': 20.11.30 esbuild: 0.20.2 postcss: 8.4.38 - rollup: 4.13.0 + rollup: 4.13.1 optionalDependencies: fsevents: 2.3.3 dev: true @@ -15677,7 +15524,7 @@ packages: vue: 3.4.21(typescript@5.4.3) dev: true - /vitepress@1.0.0-rc.45(@algolia/client-search@4.22.1)(@types/node@20.11.30)(postcss@8.4.38)(search-insights@2.13.0)(typescript@5.4.3): + /vitepress@1.0.0-rc.45(@algolia/client-search@4.22.1)(@types/node@20.11.30)(postcss@8.4.35)(search-insights@2.13.0)(typescript@5.4.3): resolution: {integrity: sha512-/OiYsu5UKpQKA2c0BAZkfyywjfauDjvXyv6Mo4Ra57m5n4Bxg1HgUGoth1CLH2vwUbR/BHvDA9zOM0RDvgeSVQ==} hasBin: true peerDependencies: @@ -15689,8 +15536,8 @@ packages: postcss: optional: true dependencies: - '@docsearch/css': 3.6.0 - '@docsearch/js': 3.6.0(@algolia/client-search@4.22.1)(search-insights@2.13.0) + '@docsearch/css': 3.5.2 + '@docsearch/js': 3.5.2(@algolia/client-search@4.22.1)(search-insights@2.13.0) '@shikijs/core': 1.1.7 '@shikijs/transformers': 1.1.7 '@types/markdown-it': 13.0.7 @@ -15701,7 +15548,7 @@ packages: focus-trap: 7.5.4 mark.js: 8.11.1 minisearch: 6.3.0 - postcss: 8.4.38 + postcss: 8.4.35 shiki: 1.1.7 vite: 5.2.6(@types/node@20.11.30) vue: 3.4.21(typescript@5.4.3) @@ -15747,18 +15594,18 @@ packages: dependencies: '@docsearch/css': 3.6.0 '@docsearch/js': 3.6.0(@algolia/client-search@4.22.1)(search-insights@2.13.0) - '@shikijs/core': 1.2.0 - '@shikijs/transformers': 1.2.0 + '@shikijs/core': 1.2.1 + '@shikijs/transformers': 1.2.1 '@types/markdown-it': 13.0.7 - '@vitejs/plugin-vue': 5.0.4(vite@5.2.3)(vue@3.4.21) + '@vitejs/plugin-vue': 5.0.4(vite@5.2.6)(vue@3.4.21) '@vue/devtools-api': 7.0.16(vue@3.4.21) '@vueuse/core': 10.9.0(vue@3.4.21) '@vueuse/integrations': 10.9.0(focus-trap@7.5.4)(vue@3.4.21) focus-trap: 7.5.4 mark.js: 8.11.1 minisearch: 6.3.0 - shiki: 1.2.0 - vite: 5.2.3(@types/node@20.11.30) + shiki: 1.2.1 + vite: 5.2.6(@types/node@20.11.30) vue: 3.4.21(typescript@5.4.3) transitivePeerDependencies: - '@algolia/client-search' @@ -15832,7 +15679,7 @@ packages: std-env: 3.7.0 strip-literal: 2.0.0 tinybench: 2.6.0 - tinypool: 0.8.2 + tinypool: 0.8.3 vite: 5.2.6(@types/node@20.11.30) vite-node: 1.4.0(@types/node@20.11.30) why-is-node-running: 2.2.2 @@ -15849,11 +15696,11 @@ packages: /vscode-json-languageservice@4.2.1: resolution: {integrity: sha512-xGmv9QIWs2H8obGbWg+sIPI/3/pFgj/5OWBhNzs00BkYQ9UaB2F6JJaGB/2/YOZJ3BvLXQTC4Q7muqU25QgAhA==} dependencies: - jsonc-parser: 3.2.1 - vscode-languageserver-textdocument: 1.0.11 + jsonc-parser: 3.2.0 + vscode-languageserver-textdocument: 1.0.8 vscode-languageserver-types: 3.17.3 vscode-nls: 5.2.0 - vscode-uri: 3.0.8 + vscode-uri: 3.0.7 dev: true /vscode-jsonrpc@8.2.0: @@ -15869,6 +15716,10 @@ packages: /vscode-languageserver-textdocument@1.0.11: resolution: {integrity: sha512-X+8T3GoiwTVlJbicx/sIAF+yuJAqz8VvwJyoMVhwEMoEKE/fkDmrqUgDMyBECcM2A2frVZIUj5HI/ErRXCfOeA==} + /vscode-languageserver-textdocument@1.0.8: + resolution: {integrity: sha512-1bonkGqQs5/fxGT5UchTgjGVnfysL0O8v1AYMBjqTbWQTFn721zaPGDYFkOKtfDgFiSgXM3KwaG3FMGfW4Ed9Q==} + dev: true + /vscode-languageserver-types@3.17.3: resolution: {integrity: sha512-SYU4z1dL0PyIMd4Vj8YOqFvHu7Hz/enbWtpfnVbJHU4Nd1YNYx8u0ennumc6h48GQNeOLxmwySmnADouT/AuZA==} dev: true @@ -15894,6 +15745,10 @@ packages: resolution: {integrity: sha512-AFbieoL7a5LMqcnOF04ji+rpXadgOXnZsxQr//r83kLPr7biP7am3g9zbaZIaBGwBRWeSvoMD4mgPdX3e4NWBg==} dev: true + /vscode-uri@3.0.7: + resolution: {integrity: sha512-eOpPHogvorZRobNqJGhapa0JdwaxpjVvyBp0QIUMRMSf8ZAlqOdEquKuRmw9Qwu0qXtJIWqFtMkmvJjUZmMjVA==} + dev: true + /vscode-uri@3.0.8: resolution: {integrity: sha512-AyFQ0EVmsOZOlAnxoFOGOq1SQDWAB7C6aqMGS23svWAllfOaxbuFvcT8D1i8z3Gyn8fraVeZNNmN6e9bxxXkKw==} @@ -16000,7 +15855,7 @@ packages: resolution: {integrity: sha512-nCdJLxRnYvOMFqTEX7sqQtF/hV/Jgov0Y6ICeOm1DMTlZSRRDaUsBMlEAPkEwif9uBJYdM0znv8qzfX358AGqQ==} engines: {node: '>=12.0.0'} dependencies: - '@types/node': 18.19.22 + '@types/node': 18.19.21 '@wdio/config': 7.31.1(typescript@5.4.3) '@wdio/logger': 7.26.0 '@wdio/protocols': 7.27.0 @@ -16103,7 +15958,7 @@ packages: compression: 1.7.4 connect-history-api-fallback: 2.0.0 default-gateway: 6.0.3 - express: 4.19.1 + express: 4.19.2 graceful-fs: 4.2.11 html-entities: 2.4.0 http-proxy-middleware: 2.0.6(@types/express@4.17.21) @@ -16249,8 +16104,8 @@ packages: resolution: {integrity: sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ==} dev: true - /which-typed-array@1.1.15: - resolution: {integrity: sha512-oV0jmFtUky6CXfkqehVvBP/LSWJ2sy4vWMioiENyJLePrBO/yKyV9OyJySfAKosh+RYkIl5zJCNZ8/4JncrpdA==} + /which-typed-array@1.1.14: + resolution: {integrity: sha512-VnXFiIW8yNn9kIHN88xvZ4yOWchftKDsRJ8fEPacX/wl1lOvBrhsJ/OeJCXq7B0AaijRuqgzSKalJoPk+D8MPg==} engines: {node: '>= 0.4'} dependencies: available-typed-arrays: 1.0.7 @@ -16316,10 +16171,10 @@ packages: engines: {node: '>=16.0.0'} dependencies: '@apideck/better-ajv-errors': 0.3.6(ajv@8.12.0) - '@babel/core': 7.24.3 - '@babel/preset-env': 7.24.3(@babel/core@7.24.3) - '@babel/runtime': 7.24.1 - '@rollup/plugin-babel': 5.3.1(@babel/core@7.24.3)(rollup@2.79.1) + '@babel/core': 7.24.0 + '@babel/preset-env': 7.24.0(@babel/core@7.24.0) + '@babel/runtime': 7.24.0 + '@rollup/plugin-babel': 5.3.1(@babel/core@7.24.0)(rollup@2.79.1) '@rollup/plugin-node-resolve': 11.2.1(rollup@2.79.1) '@rollup/plugin-replace': 2.4.2(rollup@2.79.1) '@surma/rollup-plugin-off-main-thread': 2.2.3 @@ -16586,10 +16441,17 @@ packages: engines: {node: '>= 14'} dev: true + /yaml@2.4.0: + resolution: {integrity: sha512-j9iR8g+/t0lArF4V6NE/QCfT+CO7iLqrXAHZbJdo+LfjqP1vR8Fg5bSiaq6Q2lOD1AUEVrEVIgABvBFYojJVYQ==} + engines: {node: '>= 14'} + hasBin: true + dev: false + /yaml@2.4.1: resolution: {integrity: sha512-pIXzoImaqmfOrL7teGUBt/T7ZDnyeGBWyXQBvOVhLkWLN37GXv8NMLK406UY6dS51JfcQHsmcW5cJ441bHg6Lg==} engines: {node: '>= 14'} hasBin: true + dev: true /yargs-parser@18.1.3: resolution: {integrity: sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==} From 3567308a221953b7ef0395a646cc3c3a2df21990 Mon Sep 17 00:00:00 2001 From: Aakansha Doshi Date: Fri, 29 Mar 2024 13:29:31 +0530 Subject: [PATCH 292/789] fix: make sequenceDB typesafe --- .../sequence/{sequenceDb.js => sequenceDb.ts} | 241 ++++++++++++------ 1 file changed, 169 insertions(+), 72 deletions(-) rename packages/mermaid/src/diagrams/sequence/{sequenceDb.js => sequenceDb.ts} (74%) diff --git a/packages/mermaid/src/diagrams/sequence/sequenceDb.js b/packages/mermaid/src/diagrams/sequence/sequenceDb.ts similarity index 74% rename from packages/mermaid/src/diagrams/sequence/sequenceDb.js rename to packages/mermaid/src/diagrams/sequence/sequenceDb.ts index 4ff1982275..7a2c3f730f 100644 --- a/packages/mermaid/src/diagrams/sequence/sequenceDb.js +++ b/packages/mermaid/src/diagrams/sequence/sequenceDb.ts @@ -12,7 +12,60 @@ import { } from '../common/commonDb.js'; import { ImperativeState } from '../../utils/imperativeState.js'; -const state = new ImperativeState(() => ({ +type Box = { + name: string; + wrap: boolean; + fill: string; + actorKeys: string[]; +}; + +type Actor = { + box?: Box; + name: string; + description: string; + wrap: boolean; + prevActor?: string; + nextActor?: string; + links: Record; + properties: Record; + actorCnt: number | null; + rectData: unknown; + type: string; +}; + +type Message = { + from?: { actor: string }; + to?: { actor: string }; + message?: + | string + | { + start: number; + step: number; + visible: boolean; + }; + wrap: boolean; + answer?: unknown; + type?: number; + activate?: boolean; + placement?: string; +}; + +type State = { + prevActor?: string; + actors: Record; + createdActors: Record; + destroyedActors: Record; + boxes: Box[]; + messages: Message[]; + notes: unknown[]; + sequenceNumbersEnabled: boolean; + wrapEnabled?: boolean; + currentBox?: Box; + lastCreated?: Actor; + lastDestroyed?: Actor; +}; + +const state = new ImperativeState(() => ({ prevActor: undefined, actors: {}, createdActors: {}, @@ -27,7 +80,7 @@ const state = new ImperativeState(() => ({ lastDestroyed: undefined, })); -export const addBox = function (data) { +export const addBox = function (data: { text: string; color: string; wrap: boolean }) { state.records.boxes.push({ name: data.text, wrap: (data.wrap === undefined && autoWrap()) || !!data.wrap, @@ -37,20 +90,19 @@ export const addBox = function (data) { state.records.currentBox = state.records.boxes.slice(-1)[0]; }; -export const addActor = function (id, name, description, type) { +export const addActor = function ( + id: string, + name: string, + description: { text: string; wrap?: boolean | null; type: string }, + type: string +) { let assignedBox = state.records.currentBox; const old = state.records.actors[id]; if (old) { // If already set and trying to set to a new one throw error if (state.records.currentBox && old.box && state.records.currentBox !== old.box) { throw new Error( - 'A same participant should only be defined in one Box: ' + - old.name + - " can't be in '" + - old.box.name + - "' and in '" + - state.records.currentBox.name + - "' at the same time." + `A same participant should only be defined in one Box: ${old.name} can't be in '${old.box.name}' and in '${state.records.currentBox.name}' at the same time.` ); } @@ -94,19 +146,19 @@ export const addActor = function (id, name, description, type) { state.records.prevActor = id; }; -const activationCount = (part) => { +const activationCount = (part?: string) => { let i; let count = 0; for (i = 0; i < state.records.messages.length; i++) { if ( state.records.messages[i].type === LINETYPE.ACTIVE_START && - state.records.messages[i].from.actor === part + state.records.messages[i].from?.actor === part ) { count++; } if ( state.records.messages[i].type === LINETYPE.ACTIVE_END && - state.records.messages[i].from.actor === part + state.records.messages[i].from?.actor === part ) { count--; } @@ -114,7 +166,12 @@ const activationCount = (part) => { return count; }; -export const addMessage = function (idFrom, idTo, message, answer) { +export const addMessage = function ( + idFrom: Message['from'], + idTo: Message['to'], + message: { text: string; wrap?: boolean }, + answer: Message['answer'] +) { state.records.messages.push({ from: idFrom, to: idTo, @@ -125,17 +182,21 @@ export const addMessage = function (idFrom, idTo, message, answer) { }; export const addSignal = function ( - idFrom, - idTo, - message = { text: undefined, wrap: undefined }, - messageType, - activate = false + idFrom?: Message['from'], + idTo?: Message['to'], + message?: { text: string; wrap?: boolean }, + messageType?: number, + activate: boolean = false ) { if (messageType === LINETYPE.ACTIVE_END) { - const cnt = activationCount(idFrom.actor); + const cnt = activationCount(idFrom?.actor); if (cnt < 1) { // Bail out as there is an activation signal from an inactive participant - let error = new Error('Trying to inactivate an inactive participant (' + idFrom.actor + ')'); + const error = new Error( + 'Trying to inactivate an inactive participant (' + idFrom?.actor + ')' + ); + + // @ts-ignore: we are passing hash param to the error object, however we should define our own custom error class to make it type safe error.hash = { text: '->>-', token: '->>-', @@ -149,8 +210,8 @@ export const addSignal = function ( state.records.messages.push({ from: idFrom, to: idTo, - message: message.text, - wrap: (message.wrap === undefined && autoWrap()) || !!message.wrap, + message: message?.text, + wrap: (message?.wrap === undefined && autoWrap()) || !!message?.wrap, type: messageType, activate, }); @@ -181,7 +242,7 @@ export const getCreatedActors = function () { export const getDestroyedActors = function () { return state.records.destroyedActors; }; -export const getActor = function (id) { +export const getActor = function (id: string) { return state.records.actors[id]; }; export const getActorKeys = function () { @@ -195,7 +256,7 @@ export const disableSequenceNumbers = function () { }; export const showSequenceNumbers = () => state.records.sequenceNumbersEnabled; -export const setWrap = function (wrapSetting) { +export const setWrap = function (wrapSetting: boolean) { state.records.wrapEnabled = wrapSetting; }; @@ -205,7 +266,7 @@ export const autoWrap = () => { if (state.records.wrapEnabled !== undefined) { return state.records.wrapEnabled; } - return getConfig().sequence.wrap; + return getConfig()?.sequence?.wrap; }; export const clear = function () { @@ -213,25 +274,25 @@ export const clear = function () { commonClear(); }; -export const parseMessage = function (str) { - const _str = str.trim(); +export const parseMessage = function (str: string) { + const trimmedStr = str.trim(); const message = { - text: _str.replace(/^:?(?:no)?wrap:/, '').trim(), + text: trimmedStr.replace(/^:?(?:no)?wrap:/, '').trim(), wrap: - _str.match(/^:?wrap:/) !== null + trimmedStr.match(/^:?wrap:/) !== null ? true - : _str.match(/^:?nowrap:/) !== null + : trimmedStr.match(/^:?nowrap:/) !== null ? false : undefined, }; - log.debug('parseMessage:', message); + log.debug(`parseMessage: ${message}`); return message; }; // We expect the box statement to be color first then description // The color can be rgb,rgba,hsl,hsla, or css code names #hex codes are not supported for now because of the way the char # is handled // We extract first segment as color, the rest of the line is considered as text -export const parseBoxData = function (str) { +export const parseBoxData = function (str: string) { const match = str.match(/^((?:rgba?|hsla?)\s*\(.*\)|\w*)(.*)$/); let color = match != null && match[1] ? match[1].trim() : 'transparent'; let title = match != null && match[2] ? match[2].trim() : undefined; @@ -312,7 +373,11 @@ export const PLACEMENT = { OVER: 2, }; -export const addNote = function (actor, placement, message) { +export const addNote = function ( + actor: { actor: string }, + placement: Message['placement'], + message: { text: string; wrap?: boolean } +) { const note = { actor: actor, placement: placement, @@ -322,7 +387,7 @@ export const addNote = function (actor, placement, message) { // Coerce actor into a [to, from, ...] array // eslint-disable-next-line unicorn/prefer-spread - const actors = [].concat(actor, actor); + const actors = [actor, actor]; state.records.notes.push(note); state.records.messages.push({ @@ -335,7 +400,7 @@ export const addNote = function (actor, placement, message) { }); }; -export const addLinks = function (actorId, text) { +export const addLinks = function (actorId: string, text: { text: string }) { // find the actor const actor = getActor(actorId); // JSON.parse the text @@ -351,17 +416,17 @@ export const addLinks = function (actorId, text) { } }; -export const addALink = function (actorId, text) { +export const addALink = function (actorId: string, text: { text: string }) { // find the actor const actor = getActor(actorId); try { - const links = {}; + const links: { [key: string]: string } = {}; let sanitizedText = sanitizeText(text.text, getConfig()); - var sep = sanitizedText.indexOf('@'); + const sep = sanitizedText.indexOf('@'); sanitizedText = sanitizedText.replace(/&/g, '&'); sanitizedText = sanitizedText.replace(/=/g, '='); - var label = sanitizedText.slice(0, sep - 1).trim(); - var link = sanitizedText.slice(sep + 1).trim(); + const label = sanitizedText.slice(0, sep - 1).trim(); + const link = sanitizedText.slice(sep + 1).trim(); links[label] = link; // add the deserialized text to the actor's links field. @@ -372,26 +437,26 @@ export const addALink = function (actorId, text) { }; /** - * @param {any} actor - * @param {any} links + * @param actor - the actor to add the links to + * @param links - the links to add to the actor */ -function insertLinks(actor, links) { +function insertLinks(actor: Actor, links: Record) { if (actor.links == null) { actor.links = links; } else { - for (let key in links) { + for (const key in links) { actor.links[key] = links[key]; } } } -export const addProperties = function (actorId, text) { +export const addProperties = function (actorId: string, text: { text: string }) { // find the actor const actor = getActor(actorId); // JSON.parse the text try { - let sanitizedText = sanitizeText(text.text, getConfig()); - const properties = JSON.parse(sanitizedText); + const sanitizedText = sanitizeText(text.text, getConfig()); + const properties: Record = JSON.parse(sanitizedText); // add the deserialized text to the actor's property field. insertProperties(actor, properties); } catch (e) { @@ -400,30 +465,27 @@ export const addProperties = function (actorId, text) { }; /** - * @param {any} actor - * @param {any} properties + * @param actor - the actor to add the properties to + * @param properties - the properties to add to the actor's properties */ -function insertProperties(actor, properties) { +function insertProperties(actor: Actor, properties: Record) { if (actor.properties == null) { actor.properties = properties; } else { - for (let key in properties) { + for (const key in properties) { actor.properties[key] = properties[key]; } } } -/** - * - */ function boxEnd() { state.records.currentBox = undefined; } -export const addDetails = function (actorId, text) { +export const addDetails = function (actorId: string, text: { text: string }) { // find the actor const actor = getActor(actorId); - const elem = document.getElementById(text.text); + const elem = document.getElementById(text.text)!; // JSON.parse the text try { @@ -442,7 +504,7 @@ export const addDetails = function (actorId, text) { } }; -export const getActorProperty = function (actor, key) { +export const getActorProperty = function (actor: Actor, key: string) { if (actor !== undefined && actor.properties !== undefined) { return actor.properties[key]; } @@ -450,20 +512,55 @@ export const getActorProperty = function (actor, key) { return undefined; }; -/** - * @typedef {object} AddMessageParams A message from one actor to another. - * @property {string} from - The id of the actor sending the message. - * @property {string} to - The id of the actor receiving the message. - * @property {string} msg - The message text. - * @property {number} signalType - The type of signal. - * @property {"addMessage"} type - Set to `"addMessage"` if this is an `AddMessageParams`. - * @property {boolean} [activate] - If `true`, this signal starts an activation. - */ - -/** - * @param {object | object[] | AddMessageParams} param - Object of parameters. - */ -export const apply = function (param) { +type AddMessageParams = { + from: string; + to: string; + msg: string; + signalType: number; + type: + | 'addMessage' + | 'sequenceIndex' + | 'addParticipant' + | 'createParticipant' + | 'destroyParticipant' + | 'activeStart' + | 'activeEnd' + | 'addNote' + | 'addLinks' + | 'addALink' + | 'addProperties' + | 'addDetails' + | 'boxStart' + | 'boxEnd' + | 'loopStart' + | 'loopEnd' + | 'rectStart' + | 'rectEnd' + | 'optStart' + | 'optEnd' + | 'altStart' + | 'else' + | 'altEnd' + | 'setAccTitle' + | 'parStart' + | 'parAnd' + | 'parEnd' + | 'and' + | 'criticalStart' + | 'criticalOption' + | 'option' + | 'criticalEnd' + | 'breakStart' + | 'breakEnd' + | 'parOverStart' + | 'parOverEnd' + | 'parOverAnd' + | 'parOverEnd'; + + activate: boolean; +}; + +export const apply = function (param: any | AddMessageParams | AddMessageParams[]) { if (Array.isArray(param)) { param.forEach(function (item) { apply(item); From b8e0bcee5b768c8f292a632f445bf1f68073599f Mon Sep 17 00:00:00 2001 From: Aakansha Doshi Date: Fri, 29 Mar 2024 14:27:51 +0530 Subject: [PATCH 293/789] fix type --- packages/mermaid/src/diagrams/sequence/sequenceDb.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/mermaid/src/diagrams/sequence/sequenceDb.ts b/packages/mermaid/src/diagrams/sequence/sequenceDb.ts index 7a2c3f730f..1520daf4ab 100644 --- a/packages/mermaid/src/diagrams/sequence/sequenceDb.ts +++ b/packages/mermaid/src/diagrams/sequence/sequenceDb.ts @@ -256,7 +256,7 @@ export const disableSequenceNumbers = function () { }; export const showSequenceNumbers = () => state.records.sequenceNumbersEnabled; -export const setWrap = function (wrapSetting: boolean) { +export const setWrap = function (wrapSetting?: boolean) { state.records.wrapEnabled = wrapSetting; }; From 799af4e550e05f7d2474b11539b9ae759987c660 Mon Sep 17 00:00:00 2001 From: Aakansha Doshi Date: Fri, 29 Mar 2024 15:05:03 +0530 Subject: [PATCH 294/789] fix test --- packages/mermaid/src/diagrams/sequence/sequenceDb.ts | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/packages/mermaid/src/diagrams/sequence/sequenceDb.ts b/packages/mermaid/src/diagrams/sequence/sequenceDb.ts index 1520daf4ab..8635bbb282 100644 --- a/packages/mermaid/src/diagrams/sequence/sequenceDb.ts +++ b/packages/mermaid/src/diagrams/sequence/sequenceDb.ts @@ -184,7 +184,7 @@ export const addMessage = function ( export const addSignal = function ( idFrom?: Message['from'], idTo?: Message['to'], - message?: { text: string; wrap?: boolean }, + message: { text?: string; wrap?: boolean } = { text: undefined, wrap: undefined }, messageType?: number, activate: boolean = false ) { @@ -385,10 +385,9 @@ export const addNote = function ( wrap: (message.wrap === undefined && autoWrap()) || !!message.wrap, }; - // Coerce actor into a [to, from, ...] array + //@ts-ignore: Coerce actor into a [to, from, ...] array // eslint-disable-next-line unicorn/prefer-spread - const actors = [actor, actor]; - + const actors = [].concat(actor, actor); state.records.notes.push(note); state.records.messages.push({ from: actors[0], From 2fd6de0af5cd0c04f5072d72ced4849483bf1de3 Mon Sep 17 00:00:00 2001 From: Aakansha Doshi Date: Fri, 29 Mar 2024 15:27:13 +0530 Subject: [PATCH 295/789] more type fixes --- .../mermaid/src/diagrams/sequence/sequenceDb.ts | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/packages/mermaid/src/diagrams/sequence/sequenceDb.ts b/packages/mermaid/src/diagrams/sequence/sequenceDb.ts index 8635bbb282..11a3250167 100644 --- a/packages/mermaid/src/diagrams/sequence/sequenceDb.ts +++ b/packages/mermaid/src/diagrams/sequence/sequenceDb.ts @@ -36,7 +36,7 @@ type Actor = { type Message = { from?: { actor: string }; to?: { actor: string }; - message?: + message: | string | { start: number; @@ -146,19 +146,23 @@ export const addActor = function ( state.records.prevActor = id; }; -const activationCount = (part?: string) => { +const activationCount = (part: string) => { let i; let count = 0; + if (!part) { + return 0; + } + for (i = 0; i < state.records.messages.length; i++) { if ( state.records.messages[i].type === LINETYPE.ACTIVE_START && - state.records.messages[i].from?.actor === part + state.records.messages[i].from!.actor === part ) { count++; } if ( state.records.messages[i].type === LINETYPE.ACTIVE_END && - state.records.messages[i].from?.actor === part + state.records.messages[i].from!.actor === part ) { count--; } @@ -189,7 +193,7 @@ export const addSignal = function ( activate: boolean = false ) { if (messageType === LINETYPE.ACTIVE_END) { - const cnt = activationCount(idFrom?.actor); + const cnt = activationCount(idFrom?.actor || ''); if (cnt < 1) { // Bail out as there is an activation signal from an inactive participant const error = new Error( @@ -210,7 +214,7 @@ export const addSignal = function ( state.records.messages.push({ from: idFrom, to: idTo, - message: message?.text, + message: message?.text ?? '', wrap: (message?.wrap === undefined && autoWrap()) || !!message?.wrap, type: messageType, activate, From 4daef2591d937181c5081e24ab01e24165a0eca0 Mon Sep 17 00:00:00 2001 From: jakobskrym Date: Sat, 30 Mar 2024 12:03:55 +0100 Subject: [PATCH 296/789] feat: add support for fa-kit icons --- packages/mermaid/src/diagrams/flowchart/flowRenderer.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/mermaid/src/diagrams/flowchart/flowRenderer.js b/packages/mermaid/src/diagrams/flowchart/flowRenderer.js index c9e152012d..9edfb6f471 100644 --- a/packages/mermaid/src/diagrams/flowchart/flowRenderer.js +++ b/packages/mermaid/src/diagrams/flowchart/flowRenderer.js @@ -59,7 +59,7 @@ export const addVertices = async function (vert, g, svgId, root, _doc, diagObj) const node = { label: await renderKatex( vertexText.replace( - /fa[blrs]?:fa-[\w-]+/g, // cspell:disable-line + /fa[bklrs]?:fa-[\w-]+/g, // cspell:disable-line (s) => `` ), getConfig() @@ -244,7 +244,7 @@ export const addEdges = async function (edges, g, diagObj) { edgeData.labelStyle }">${await renderKatex( edge.text.replace( - /fa[blrs]?:fa-[\w-]+/g, // cspell:disable-line + /fa[bklrs]?:fa-[\w-]+/g, // cspell:disable-line (s) => `` ), getConfig() From 0aa526d707a7dcbe139f7746c8c885d9422839f5 Mon Sep 17 00:00:00 2001 From: jakobskrym Date: Sat, 30 Mar 2024 12:08:16 +0100 Subject: [PATCH 297/789] feat: add in additional files --- packages/mermaid/src/dagre-wrapper/createLabel.js | 2 +- packages/mermaid/src/rendering-util/createText.ts | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/mermaid/src/dagre-wrapper/createLabel.js b/packages/mermaid/src/dagre-wrapper/createLabel.js index 22496a2509..ab0be63531 100644 --- a/packages/mermaid/src/dagre-wrapper/createLabel.js +++ b/packages/mermaid/src/dagre-wrapper/createLabel.js @@ -60,7 +60,7 @@ const createLabel = (_vertexText, style, isTitle, isNode) => { const node = { isNode, label: decodeEntities(vertexText).replace( - /fa[blrs]?:fa-[\w-]+/g, // cspell: disable-line + /fa[bklrs]?:fa-[\w-]+/g, // cspell: disable-line (s) => `` ), labelStyle: style.replace('fill:', 'color:'), diff --git a/packages/mermaid/src/rendering-util/createText.ts b/packages/mermaid/src/rendering-util/createText.ts index 725d65da66..c4cc2792c9 100644 --- a/packages/mermaid/src/rendering-util/createText.ts +++ b/packages/mermaid/src/rendering-util/createText.ts @@ -192,7 +192,7 @@ export const createText = ( const node = { isNode, label: decodeEntities(htmlText).replace( - /fa[blrs]?:fa-[\w-]+/g, // cspell: disable-line + /fa[bklrs]?:fa-[\w-]+/g, // cspell: disable-line (s) => `` ), labelStyle: style.replace('fill:', 'color:'), From 90b11113826aff6beb44dc142849cf914174f8d0 Mon Sep 17 00:00:00 2001 From: jakobskrym Date: Sat, 30 Mar 2024 12:21:01 +0100 Subject: [PATCH 298/789] docs: update docs with new info --- docs/syntax/flowchart.md | 10 ++++++++++ packages/mermaid/src/docs/syntax/flowchart.md | 10 ++++++++++ 2 files changed, 20 insertions(+) diff --git a/docs/syntax/flowchart.md b/docs/syntax/flowchart.md index 83676b0e41..e578af0796 100644 --- a/docs/syntax/flowchart.md +++ b/docs/syntax/flowchart.md @@ -1178,6 +1178,16 @@ Adding this snippet in the `` would add support for Font Awesome v6.5.1 /> ``` +It is possible to use custom icons served from Font Awesome as long as the website imports the corresponding kit. Note that this is currently a paid feature from Font Awesome. + +For custom icons, you need to use the `fak` prefix. + +``` +flowchart TD + B["fa:fa-twitter for peace"] + B-->E(fak:fa-custom-icon-name) %% this will try to find your kit's custom icon +``` + ## Graph declarations with spaces between vertices and link and without semicolon - In graph declarations, the statements also can now end without a semicolon. After release 0.2.16, ending a graph statement with semicolon is just optional. So the below graph declaration is also valid along with the old declarations of the graph. diff --git a/packages/mermaid/src/docs/syntax/flowchart.md b/packages/mermaid/src/docs/syntax/flowchart.md index 462a9aecc9..571e753532 100644 --- a/packages/mermaid/src/docs/syntax/flowchart.md +++ b/packages/mermaid/src/docs/syntax/flowchart.md @@ -799,6 +799,16 @@ Adding this snippet in the `` would add support for Font Awesome v6.5.1 /> ``` +It is possible to use custom icons served from Font Awesome as long as the website imports the corresponding kit. Note that this is currently a paid feature from Font Awesome. + +For custom icons, you need to use the `fak` prefix. + +``` +flowchart TD + B["fa:fa-twitter for peace"] + B-->E(fak:fa-custom-icon-name) %% this will try to find your kit's custom icon +``` + ## Graph declarations with spaces between vertices and link and without semicolon - In graph declarations, the statements also can now end without a semicolon. After release 0.2.16, ending a graph statement with semicolon is just optional. So the below graph declaration is also valid along with the old declarations of the graph. From 63f9d3e0b49c568df1c812589587a81207c7a83f Mon Sep 17 00:00:00 2001 From: jakobskrym Date: Sat, 30 Mar 2024 12:28:18 +0100 Subject: [PATCH 299/789] docs: finish docs --- docs/syntax/flowchart.md | 12 +++++++++--- packages/mermaid/src/docs/syntax/flowchart.md | 12 +++++++++--- 2 files changed, 18 insertions(+), 6 deletions(-) diff --git a/docs/syntax/flowchart.md b/docs/syntax/flowchart.md index e578af0796..1dd9fc22e2 100644 --- a/docs/syntax/flowchart.md +++ b/docs/syntax/flowchart.md @@ -1178,14 +1178,20 @@ Adding this snippet in the `` would add support for Font Awesome v6.5.1 /> ``` -It is possible to use custom icons served from Font Awesome as long as the website imports the corresponding kit. Note that this is currently a paid feature from Font Awesome. +### Custom icons + +It is possible to use custom icons served from Font Awesome as long as the website imports the corresponding kit. + +Note that this is currently a paid feature from Font Awesome. For custom icons, you need to use the `fak` prefix. +**Example** + ``` flowchart TD - B["fa:fa-twitter for peace"] - B-->E(fak:fa-custom-icon-name) %% this will try to find your kit's custom icon + B[fa:fa-twitter] %% standard icon + B-->E(fak:fa-custom-icon-name) %% custom icon ``` ## Graph declarations with spaces between vertices and link and without semicolon diff --git a/packages/mermaid/src/docs/syntax/flowchart.md b/packages/mermaid/src/docs/syntax/flowchart.md index 571e753532..86f7446a5a 100644 --- a/packages/mermaid/src/docs/syntax/flowchart.md +++ b/packages/mermaid/src/docs/syntax/flowchart.md @@ -799,14 +799,20 @@ Adding this snippet in the `` would add support for Font Awesome v6.5.1 /> ``` -It is possible to use custom icons served from Font Awesome as long as the website imports the corresponding kit. Note that this is currently a paid feature from Font Awesome. +### Custom icons + +It is possible to use custom icons served from Font Awesome as long as the website imports the corresponding kit. + +Note that this is currently a paid feature from Font Awesome. For custom icons, you need to use the `fak` prefix. +**Example** + ``` flowchart TD - B["fa:fa-twitter for peace"] - B-->E(fak:fa-custom-icon-name) %% this will try to find your kit's custom icon + B[fa:fa-twitter] %% standard icon + B-->E(fak:fa-custom-icon-name) %% custom icon ``` ## Graph declarations with spaces between vertices and link and without semicolon From 0051620840cd195efdfea84d408842ba17040636 Mon Sep 17 00:00:00 2001 From: jakobskrym Date: Mon, 1 Apr 2024 19:05:35 +0200 Subject: [PATCH 300/789] feat: create utils func + test cases --- docs/syntax/flowchart.md | 14 ++++++++ .../mermaid/src/dagre-wrapper/createLabel.js | 6 ++-- .../src/diagrams/flowchart/flowRenderer.js | 18 +++------- packages/mermaid/src/docs/syntax/flowchart.md | 8 +++++ .../src/rendering-util/createText.spec.ts | 34 +++++++++++++++++++ .../mermaid/src/rendering-util/createText.ts | 21 +++++++++--- 6 files changed, 79 insertions(+), 22 deletions(-) create mode 100644 packages/mermaid/src/rendering-util/createText.spec.ts diff --git a/docs/syntax/flowchart.md b/docs/syntax/flowchart.md index 1dd9fc22e2..8edb5e208d 100644 --- a/docs/syntax/flowchart.md +++ b/docs/syntax/flowchart.md @@ -1194,6 +1194,20 @@ flowchart TD B-->E(fak:fa-custom-icon-name) %% custom icon ``` +And trying to render it + +```mermaid-example +flowchart TD + B["fa:fa-twitter for peace"] + B-->C["fab:fa-truck-bold a custom icon"] +``` + +```mermaid +flowchart TD + B["fa:fa-twitter for peace"] + B-->C["fab:fa-truck-bold a custom icon"] +``` + ## Graph declarations with spaces between vertices and link and without semicolon - In graph declarations, the statements also can now end without a semicolon. After release 0.2.16, ending a graph statement with semicolon is just optional. So the below graph declaration is also valid along with the old declarations of the graph. diff --git a/packages/mermaid/src/dagre-wrapper/createLabel.js b/packages/mermaid/src/dagre-wrapper/createLabel.js index ab0be63531..f49d65f251 100644 --- a/packages/mermaid/src/dagre-wrapper/createLabel.js +++ b/packages/mermaid/src/dagre-wrapper/createLabel.js @@ -3,6 +3,7 @@ import { log } from '../logger.js'; import { getConfig } from '../diagram-api/diagramAPI.js'; import { evaluate } from '../diagrams/common/common.js'; import { decodeEntities } from '../utils.js'; +import { replaceIconSubstring } from '../rendering-util/createText.js'; /** * @param dom @@ -59,10 +60,7 @@ const createLabel = (_vertexText, style, isTitle, isNode) => { log.debug('vertexText' + vertexText); const node = { isNode, - label: decodeEntities(vertexText).replace( - /fa[bklrs]?:fa-[\w-]+/g, // cspell: disable-line - (s) => `` - ), + label: replaceIconSubstring(decodeEntities(vertexText)), labelStyle: style.replace('fill:', 'color:'), }; let vertexNode = addHtmlLabel(node); diff --git a/packages/mermaid/src/diagrams/flowchart/flowRenderer.js b/packages/mermaid/src/diagrams/flowchart/flowRenderer.js index 9edfb6f471..b2e6bcc9cb 100644 --- a/packages/mermaid/src/diagrams/flowchart/flowRenderer.js +++ b/packages/mermaid/src/diagrams/flowchart/flowRenderer.js @@ -9,6 +9,7 @@ import common, { evaluate, renderKatex } from '../common/common.js'; import { interpolateToCurve, getStylesFromArray } from '../../utils.js'; import { setupGraphViewbox } from '../../setupGraphViewbox.js'; import flowChartShapes from './flowChartShapes.js'; +import { replaceIconSubstring } from '../../rendering-util/createText.js'; const conf = {}; export const setConf = function (cnf) { @@ -56,14 +57,9 @@ export const addVertices = async function (vert, g, svgId, root, _doc, diagObj) let vertexNode; if (evaluate(getConfig().flowchart.htmlLabels)) { // TODO: addHtmlLabel accepts a labelStyle. Do we possibly have that? + const replacedVertexText = replaceIconSubstring(vertexText); const node = { - label: await renderKatex( - vertexText.replace( - /fa[bklrs]?:fa-[\w-]+/g, // cspell:disable-line - (s) => `` - ), - getConfig() - ), + label: await renderKatex(replacedVertexText, getConfig()), }; vertexNode = addHtmlLabel(svg, node).node(); vertexNode.parentNode.removeChild(vertexNode); @@ -242,13 +238,7 @@ export const addEdges = async function (edges, g, diagObj) { edgeData.labelType = 'html'; edgeData.label = `${await renderKatex( - edge.text.replace( - /fa[bklrs]?:fa-[\w-]+/g, // cspell:disable-line - (s) => `` - ), - getConfig() - )}`; + }">${await renderKatex(replaceIconSubstring(edge.text), getConfig())}`; } else { edgeData.labelType = 'text'; edgeData.label = edge.text.replace(common.lineBreakRegex, '\n'); diff --git a/packages/mermaid/src/docs/syntax/flowchart.md b/packages/mermaid/src/docs/syntax/flowchart.md index 86f7446a5a..ba0e9ce9e9 100644 --- a/packages/mermaid/src/docs/syntax/flowchart.md +++ b/packages/mermaid/src/docs/syntax/flowchart.md @@ -815,6 +815,14 @@ flowchart TD B-->E(fak:fa-custom-icon-name) %% custom icon ``` +And trying to render it + +```mermaid-example +flowchart TD + B["fa:fa-twitter for peace"] + B-->C["fab:fa-truck-bold a custom icon"] +``` + ## Graph declarations with spaces between vertices and link and without semicolon - In graph declarations, the statements also can now end without a semicolon. After release 0.2.16, ending a graph statement with semicolon is just optional. So the below graph declaration is also valid along with the old declarations of the graph. diff --git a/packages/mermaid/src/rendering-util/createText.spec.ts b/packages/mermaid/src/rendering-util/createText.spec.ts new file mode 100644 index 0000000000..da0505ad8d --- /dev/null +++ b/packages/mermaid/src/rendering-util/createText.spec.ts @@ -0,0 +1,34 @@ +import { describe, it, expect } from 'vitest'; +import { replaceIconSubstring } from './createText.js'; + +describe('replaceIconSubstring', () => { + it('converts FontAwesome icon notations to HTML tags', () => { + const input = 'This is an icon: fa:fa-user and fab:fa-github'; + const output = replaceIconSubstring(input); + const expected = + "This is an icon: and "; + expect(output).toEqual(expected); + }); + + it('handles strings without FontAwesome icon notations', () => { + const input = 'This string has no icons'; + const output = replaceIconSubstring(input); + expect(output).toEqual(input); // No change expected + }); + + it('correctly processes multiple FontAwesome icon notations in one string', () => { + const input = 'Icons galore: fa:fa-arrow-right, fak:fa-truck, fas:fa-home'; + const output = replaceIconSubstring(input); + const expected = + "Icons galore: , , "; + expect(output).toEqual(expected); + }); + + it('correctly replaces a very long icon name with the fak prefix', () => { + const input = 'Here is a long icon: fak:fa-truck-driving-long-winding-road in use'; + const output = replaceIconSubstring(input); + const expected = + "Here is a long icon: in use"; + expect(output).toEqual(expected); + }); +}); diff --git a/packages/mermaid/src/rendering-util/createText.ts b/packages/mermaid/src/rendering-util/createText.ts index c4cc2792c9..ba872ac76a 100644 --- a/packages/mermaid/src/rendering-util/createText.ts +++ b/packages/mermaid/src/rendering-util/createText.ts @@ -168,6 +168,21 @@ function updateTextContentAndStyles(tspan: any, wrappedLine: MarkdownWord[]) { }); } +/** + * + * @param text - The raw string to adjust + * @returns + */ + +// Used for converting substrings in node labels/edges/text into fontawesome icons by using a regex pattern +// The letters 'bklrs' stand for possible endings of the fontawesome prefix (e.g. 'fab' for brands, 'fak' for fa-kit) // cspell: disable-line +export function replaceIconSubstring(text: string) { + return text.replace( + /fa[bklrs]?:fa-[\w-]+/g, // cspell: disable-line + (s) => `` + ); +} + // Note when using from flowcharts converting the API isNode means classes should be set accordingly. When using htmlLabels => to sett classes to'nodeLabel' when isNode=true otherwise 'edgeLabel' // When not using htmlLabels => to set classes to 'title-row' when isTitle=true otherwise 'title-row' export const createText = ( @@ -189,12 +204,10 @@ export const createText = ( // TODO: addHtmlLabel accepts a labelStyle. Do we possibly have that? const htmlText = markdownToHTML(text, config); + const decodedReplacedText = replaceIconSubstring(decodeEntities(htmlText)); const node = { isNode, - label: decodeEntities(htmlText).replace( - /fa[bklrs]?:fa-[\w-]+/g, // cspell: disable-line - (s) => `` - ), + label: decodedReplacedText, labelStyle: style.replace('fill:', 'color:'), }; const vertexNode = addHtmlSpan(el, node, width, classes, addSvgBackground); From 6b7e1225dd81a4000c7255ad0fdc8ed9db6e7012 Mon Sep 17 00:00:00 2001 From: Knut Sveidqvist Date: Mon, 1 Apr 2024 19:46:06 +0200 Subject: [PATCH 301/789] #5237 Adding basic flow, WIP --- cypress/platform/knsv2.html | 14 +- packages/mermaid/src/dagre-wrapper/nodes.js | 5 + .../mermaid/src/dagre-wrapper/shapes/util.js | 4 + .../src/diagrams/flowchart/flowRenderer-v2.js | 3 + .../mermaid/src/diagrams/state/stateDb.js | 35 ++++ .../src/diagrams/state/stateDiagram-v2.ts | 3 +- .../state/stateRenderer-v3-unified.ts | 34 +--- .../mermaid/src/rendering-util/doLayout.ts | 14 ++ .../rendering-util/inserElementsForSize.js | 53 +++++ .../rendering-util/layout-algorithms/dagre.js | 187 ++++++++++++++++++ .../src/rendering-util/performRender.ts | 3 + .../mermaid/src/rendering-util/types.d.ts | 126 ++++++++++++ 12 files changed, 449 insertions(+), 32 deletions(-) create mode 100644 packages/mermaid/src/rendering-util/doLayout.ts create mode 100644 packages/mermaid/src/rendering-util/inserElementsForSize.js create mode 100644 packages/mermaid/src/rendering-util/layout-algorithms/dagre.js create mode 100644 packages/mermaid/src/rendering-util/performRender.ts diff --git a/cypress/platform/knsv2.html b/cypress/platform/knsv2.html index 020ea8b482..14b7bd98d2 100644 --- a/cypress/platform/knsv2.html +++ b/cypress/platform/knsv2.html @@ -58,15 +58,15 @@
    -flowchart TB
    -    C & D & E & F & G & H & I & J & K & L & M & N & O & P & Q & R & S & T & U & V & W & X & Y & Z & A1 & A2 & A3 & A4 & A5 & A6 & A7 & A8
    -      ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------->
    -    C & D & E & F & G & H & I & J & K & L & M & N & O & P & Q & R & S & T & U & V & W & X & Y & Z & A1 & A2 & A3 & A4 & A5 & A6 & A7 & A8
    -
    -    
    +stateDiagram-v2 + state First { + Second + }
         flowchart TB
    -      A & A & A & A & A & A & A & A --->  C & D & E & F & G & H & I & J & K & L & M & N & O & P & Q & R & S & T & U & V & W & X & Y & Z
    +      subgraph First
    +        Second
    +      end
         
         flowchart TB
    diff --git a/packages/mermaid/src/dagre-wrapper/nodes.js b/packages/mermaid/src/dagre-wrapper/nodes.js
    index f990db9cce..052bc88741 100644
    --- a/packages/mermaid/src/dagre-wrapper/nodes.js
    +++ b/packages/mermaid/src/dagre-wrapper/nodes.js
    @@ -372,10 +372,13 @@ const rect = async (parent, node) => {
       // add the rect
       const rect = shapeSvg.insert('rect', ':first-child');
     
    +
    +  // console.log('Rect node:', node, 'bbox:', bbox, 'halfPadding:', halfPadding, 'node.padding:', node.padding);
       // const totalWidth = bbox.width + node.padding * 2;
       // const totalHeight = bbox.height + node.padding * 2;
       const totalWidth = bbox.width + node.padding;
       const totalHeight = bbox.height + node.padding;
    +  console.log('Rect node:', node, rect.node(), 'bbox:', bbox, 'halfPadding:', halfPadding, 'node.padding:', node.padding, 'totalWidth:', totalWidth, 'totalHeight:', totalHeight);
       rect
         .attr('class', 'basic label-container')
         .attr('style', node.style)
    @@ -1062,6 +1065,8 @@ export const insertNode = async (elem, node, dir) => {
       let newEl;
       let el;
     
    +  console.log('insertNode element', elem, elem.node());
    +  // debugger;
       // Add link when appropriate
       if (node.link) {
         let target;
    diff --git a/packages/mermaid/src/dagre-wrapper/shapes/util.js b/packages/mermaid/src/dagre-wrapper/shapes/util.js
    index 97a1bef8d1..a5e696d342 100644
    --- a/packages/mermaid/src/dagre-wrapper/shapes/util.js
    +++ b/packages/mermaid/src/dagre-wrapper/shapes/util.js
    @@ -14,6 +14,8 @@ export const labelHelper = async (parent, node, _classes, isNode) => {
         classes = _classes;
       }
     
    +  console.log('parentY', parent.node());
    +
       // Add outer g element
       const shapeSvg = parent
         .insert('g')
    @@ -31,7 +33,9 @@ export const labelHelper = async (parent, node, _classes, isNode) => {
         labelText = typeof node.labelText === 'string' ? node.labelText : node.labelText[0];
       }
     
    +
       const textNode = label.node();
    +  console.log('parentX', parent, 'node',node,'labelText',labelText, textNode, node.labelType, 'label', label.node());
       let text;
       if (node.labelType === 'markdown') {
         // text = textNode;
    diff --git a/packages/mermaid/src/diagrams/flowchart/flowRenderer-v2.js b/packages/mermaid/src/diagrams/flowchart/flowRenderer-v2.js
    index 23d43da2b0..6182ea09b7 100644
    --- a/packages/mermaid/src/diagrams/flowchart/flowRenderer-v2.js
    +++ b/packages/mermaid/src/diagrams/flowchart/flowRenderer-v2.js
    @@ -29,6 +29,9 @@ export const setConf = function (cnf) {
      */
     export const addVertices = function (vert, g, svgId, root, doc, diagObj) {
       const svg = root.select(`[id="${svgId}"]`);
    +  console.log('SVG:', svg, svg.node(), 'root:', root, root.node());
    +
    +
       const keys = Object.keys(vert);
     
       // Iterate through each item in the vertex object (containing all the vertices found) in the graph definition
    diff --git a/packages/mermaid/src/diagrams/state/stateDb.js b/packages/mermaid/src/diagrams/state/stateDb.js
    index 7e5e72fe09..8fbe75f10e 100644
    --- a/packages/mermaid/src/diagrams/state/stateDb.js
    +++ b/packages/mermaid/src/diagrams/state/stateDb.js
    @@ -541,8 +541,43 @@ const setDirection = (dir) => {
     
     const trimColon = (str) => (str && str[0] === ':' ? str.substr(1).trim() : str.trim());
     
    +const dataFetcher = (parentId, doc, nodes, edges) => {
    +  doc.forEach((item) => {
    +    switch (item.stmt) {
    +      case STMT_STATE:
    +        if(parentId) {
    +          nodes.push({...item, labelText: item.id, labelType:'text', parentId});
    +        } else {
    +          nodes.push({...item, labelText: item.id, labelType:'text'});
    +        }
    +        if(item.doc) {
    +          dataFetcher(item.id, item.doc, nodes, edges);
    +        }
    +        break;
    +      case STMT_RELATION:
    +        edges.push(item);
    +        break;
    +    }
    +  });
    +}
    +export const getData = () => {
    +  const nodes = [];
    +  const edges = [];
    +
    +  // for (const key in currentDocument.states) {
    +  //   if (currentDocument.states.hasOwnProperty(key)) {
    +  //     nodes.push({...currentDocument.states[key]});
    +  //   }
    +  // }
    +  dataFetcher(undefined, rootDoc, nodes, edges);
    +
    +
    +  return {nodes, edges, other: {}};
    +}
    +
     export default {
       getConfig: () => getConfig().state,
    +  getData,
       addState,
       clear,
       getState,
    diff --git a/packages/mermaid/src/diagrams/state/stateDiagram-v2.ts b/packages/mermaid/src/diagrams/state/stateDiagram-v2.ts
    index 36fc95edd1..9d0a82a871 100644
    --- a/packages/mermaid/src/diagrams/state/stateDiagram-v2.ts
    +++ b/packages/mermaid/src/diagrams/state/stateDiagram-v2.ts
    @@ -3,7 +3,8 @@ import type { DiagramDefinition } from '../../diagram-api/types.js';
     import parser from './parser/stateDiagram.jison';
     import db from './stateDb.js';
     import styles from './styles.js';
    -import renderer from './stateRenderer-v2.js';
    +// import renderer from './stateRenderer-v2.js';
    +import renderer from './stateRenderer-v3-unified.js';
     
     export const diagram: DiagramDefinition = {
       parser,
    diff --git a/packages/mermaid/src/diagrams/state/stateRenderer-v3-unified.ts b/packages/mermaid/src/diagrams/state/stateRenderer-v3-unified.ts
    index 93fb9f6da4..ce129c1389 100644
    --- a/packages/mermaid/src/diagrams/state/stateRenderer-v3-unified.ts
    +++ b/packages/mermaid/src/diagrams/state/stateRenderer-v3-unified.ts
    @@ -1,28 +1,12 @@
     import { log } from '../../logger.js';
     import type { DiagramStyleClassDef } from '../../diagram-api/types.js';
    +import type { LayoutData, LayoutMethod } from '../../rendering-util/types';
    +import { getConfig } from '../../diagram-api/diagramAPI.js';
    +import doLayout from '../../rendering-util/doLayout';
    +import performRender from '../../rendering-util/performRender';
    +import insertElementsForSize, { getDiagramElements} from '../../rendering-util/inserElementsForSize.js';
     
    -interface LayoutData {}
    -interface RenderData {}
    -type LayoutMethod =
    -  | 'dagre'
    -  | 'dagre-wrapper'
    -  | 'elk'
    -  | 'neato'
    -  | 'dot'
    -  | 'circo'
    -  | 'fdp'
    -  | 'osage'
    -  | 'grid';
     
    -const performLayout = (
    -  layoutData: LayoutData,
    -  id: string,
    -  _version: string,
    -  layoutMethod: LayoutMethod
    -): RenderData => {
    -  return {};
    -};
    -const performRender = (data: RenderData) => {};
     
     // Configuration
     const conf: Record = {};
    @@ -44,6 +28,7 @@ export const getClasses = function (
     
     export const draw = async function (text: string, id: string, _version: string, diag: any) {
       log.info('Drawing state diagram (v2)', id);
    +  const { securityLevel, state: conf } = getConfig();
     
       // Extracting the data from the parsed structure into a more usable form
       // Not related to the refactoring, but this is the first step in the rendering process
    @@ -51,10 +36,11 @@ export const draw = async function (text: string, id: string, _version: string,
     
       // The getData method provided in all supported diagrams is used to extract the data from the parsed structure
       // into the Layout data format
    -  const data4Layout = diag.db.getData();
    -
    +  const data4Layout = diag.db.getData() as LayoutData;
    +  const { svg, element } = getDiagramElements(id, securityLevel);
       // For some diagrams this call is not needed, but in the state diagram it is
    -  const data4Rendering = performLayout(data4Layout, id, _version, 'dagre-wrapper');
    +  await insertElementsForSize(element, data4Layout);
    +  const data4Rendering = doLayout(data4Layout, id, _version, 'dagre-wrapper');
     
       // The performRender method provided in all supported diagrams is used to render the data
       performRender(data4Rendering);
    diff --git a/packages/mermaid/src/rendering-util/doLayout.ts b/packages/mermaid/src/rendering-util/doLayout.ts
    new file mode 100644
    index 0000000000..a1f6c456b1
    --- /dev/null
    +++ b/packages/mermaid/src/rendering-util/doLayout.ts
    @@ -0,0 +1,14 @@
    +import { LayoutData, LayoutMethod, RenderData } from './types';
    +
    +const layoutAlgorithms = {} as Record;
    +
    +const performLayout = (
    +  layoutData: LayoutData,
    +  id: string,
    +  _version: string,
    +  layoutMethod: LayoutMethod
    +): RenderData => {
    +  console.log('Performing layout', layoutData, id, _version, layoutMethod);
    +  return { items: [], otherDetails:{} };
    +};
    +export default performLayout;
    diff --git a/packages/mermaid/src/rendering-util/inserElementsForSize.js b/packages/mermaid/src/rendering-util/inserElementsForSize.js
    new file mode 100644
    index 0000000000..d9a965c506
    --- /dev/null
    +++ b/packages/mermaid/src/rendering-util/inserElementsForSize.js
    @@ -0,0 +1,53 @@
    +// import type { LayoutData } from './types';
    +import { select } from 'd3';
    +import { insertNode } from '../dagre-wrapper/nodes.js'
    +
    +// export const getDiagramElements = (id: string, securityLevel: any) => {
    +export const getDiagramElements = (id, securityLevel) => {
    +  let sandboxElement;
    +  if (securityLevel === 'sandbox') {
    +    sandboxElement = select('#i' + id);
    +  }
    +  const root =
    +    securityLevel === 'sandbox'
    +      ? select(sandboxElement.nodes()[0].contentDocument.body)
    +      : select('body');
    +
    +      const svg = root.select(`[id="${id}"]`);
    +      console.log('SVG:', svg, svg.node(), 'id:',id,'root:', root, root.node());
    +
    +  // console.log('SVG:', svg, svg.node(), 'root:', root, 'sandboxElement:', sandboxElement, 'id:', id, 'securityLevel:', securityLevel);
    +  // Run the renderer. This is what draws the final graph.
    +
    +  // @ts-ignore todo: fix this
    +  const element = root.select('#' + id + ' g');
    +  return { svg, element };
    +}
    +
    +// export function insertElementsForSize(el: SVGElement, data: LayoutData): void {
    +export function insertElementsForSize(el, data) {
    +  const nodesElem = el.insert('g').attr('class', 'nodes');
    +  const edgesElem = el.insert('g').attr('class', 'edges');
    +  console.log('Inserting elements for size:', data);
    +  data.nodes.forEach(async item => {
    +    item.shape = 'rect';
    +    console.log('Inserting node id:', item.id, 'shape:', item.shape);
    +    const e = await insertNode(nodesElem, {...item, class: 'default flowchart-label', labelStyle: '', x:0, y:0, width: 100,rx:0,ry:0, height: 100, shape: 'rect', padding:8});
    +    console.log('Inserted node:', e, e.node());
    +        // Create a new DOM element
    +        // const element = document.createElement('div');
    +
    +        // // Set the content of the element to the name of the item
    +        // element.textContent = item.name;
    +
    +        // // Set the size of the element to the size of the item
    +        // element.style.width = `${item.size}px`;
    +        // element.style.height = `${item.size}px`;
    +
    +        // Append the element to the body of the document
    +        // document.body.appendChild(element);
    +  });
    +  console.log('Element', el, 'data:',  data);
    +}
    +
    +export default insertElementsForSize;
    diff --git a/packages/mermaid/src/rendering-util/layout-algorithms/dagre.js b/packages/mermaid/src/rendering-util/layout-algorithms/dagre.js
    new file mode 100644
    index 0000000000..76685dd7b9
    --- /dev/null
    +++ b/packages/mermaid/src/rendering-util/layout-algorithms/dagre.js
    @@ -0,0 +1,187 @@
    +import { layout as dagreLayout } from 'dagre-d3-es/src/dagre/index.js';
    +import * as graphlibJson from 'dagre-d3-es/src/graphlib/json.js';
    +import insertMarkers from './markers.js';
    +import { updateNodeBounds } from './shapes/util.js';
    +import {
    +  clear as clearGraphlib,
    +  clusterDb,
    +  adjustClustersAndEdges,
    +  findNonClusterChild,
    +  sortNodesByHierarchy,
    +} from './mermaid-graphlib.js';
    +import { insertNode, positionNode, clear as clearNodes, setNodeElem } from './nodes.js';
    +import { insertCluster, clear as clearClusters } from './clusters.js';
    +import { insertEdgeLabel, positionEdgeLabel, insertEdge, clear as clearEdges } from './edges.js';
    +import { log } from '../logger.js';
    +import { getSubGraphTitleMargins } from '../utils/subGraphTitleMargins.js';
    +import { getConfig } from '../diagram-api/diagramAPI.js';
    +
    +const recursiveRender = async (_elem, graph, diagramtype, id, parentCluster, siteConfig) => {
    +  log.info('Graph in recursive render: XXX', graphlibJson.write(graph), parentCluster);
    +  const dir = graph.graph().rankdir;
    +  log.trace('Dir in recursive render - dir:', dir);
    +
    +  const elem = _elem.insert('g').attr('class', 'root');
    +  if (!graph.nodes()) {
    +    log.info('No nodes found for', graph);
    +  } else {
    +    log.info('Recursive render XXX', graph.nodes());
    +  }
    +  if (graph.edges().length > 0) {
    +    log.trace('Recursive edges', graph.edge(graph.edges()[0]));
    +  }
    +  const clusters = elem.insert('g').attr('class', 'clusters');
    +  const edgePaths = elem.insert('g').attr('class', 'edgePaths');
    +  const edgeLabels = elem.insert('g').attr('class', 'edgeLabels');
    +  const nodes = elem.insert('g').attr('class', 'nodes');
    +
    +  // Insert nodes, this will insert them into the dom and each node will get a size. The size is updated
    +  // to the abstract node and is later used by dagre for the layout
    +  await Promise.all(
    +    graph.nodes().map(async function (v) {
    +      const node = graph.node(v);
    +      if (parentCluster !== undefined) {
    +        const data = JSON.parse(JSON.stringify(parentCluster.clusterData));
    +        // data.clusterPositioning = true;
    +        log.info('Setting data for cluster XXX (', v, ') ', data, parentCluster);
    +        graph.setNode(parentCluster.id, data);
    +        if (!graph.parent(v)) {
    +          log.trace('Setting parent', v, parentCluster.id);
    +          graph.setParent(v, parentCluster.id, data);
    +        }
    +      }
    +      log.info('(Insert) Node XXX' + v + ': ' + JSON.stringify(graph.node(v)));
    +      if (node && node.clusterNode) {
    +        // const children = graph.children(v);
    +        log.info('Cluster identified', v, node.width, graph.node(v));
    +        const o = await recursiveRender(
    +          nodes,
    +          node.graph,
    +          diagramtype,
    +          id,
    +          graph.node(v),
    +          siteConfig
    +        );
    +        const newEl = o.elem;
    +        updateNodeBounds(node, newEl);
    +        node.diff = o.diff || 0;
    +        log.info('Node bounds (abc123)', v, node, node.width, node.x, node.y);
    +        setNodeElem(newEl, node);
    +
    +        log.warn('Recursive render complete ', newEl, node);
    +      } else {
    +        if (graph.children(v).length > 0) {
    +          // This is a cluster but not to be rendered recursively
    +          // Render as before
    +          log.info('Cluster - the non recursive path XXX', v, node.id, node, graph);
    +          log.info(findNonClusterChild(node.id, graph));
    +          clusterDb[node.id] = { id: findNonClusterChild(node.id, graph), node };
    +          // insertCluster(clusters, graph.node(v));
    +        } else {
    +          log.info('Node - the non recursive path', v, node.id, node);
    +          await insertNode(nodes, graph.node(v), dir);
    +        }
    +      }
    +    })
    +  );
    +
    +  // Insert labels, this will insert them into the dom so that the width can be calculated
    +  // Also figure out which edges point to/from clusters and adjust them accordingly
    +  // Edges from/to clusters really points to the first child in the cluster.
    +  // TODO: pick optimal child in the cluster to us as link anchor
    +  graph.edges().forEach(function (e) {
    +    const edge = graph.edge(e.v, e.w, e.name);
    +    log.info('Edge ' + e.v + ' -> ' + e.w + ': ' + JSON.stringify(e));
    +    log.info('Edge ' + e.v + ' -> ' + e.w + ': ', e, ' ', JSON.stringify(graph.edge(e)));
    +
    +    // Check if link is either from or to a cluster
    +    log.info('Fix', clusterDb, 'ids:', e.v, e.w, 'Translateing: ', clusterDb[e.v], clusterDb[e.w]);
    +    insertEdgeLabel(edgeLabels, edge);
    +  });
    +
    +  graph.edges().forEach(function (e) {
    +    log.info('Edge ' + e.v + ' -> ' + e.w + ': ' + JSON.stringify(e));
    +  });
    +  log.info('#############################################');
    +  log.info('###                Layout                 ###');
    +  log.info('#############################################');
    +  log.info(graph);
    +  dagreLayout(graph);
    +  log.info('Graph after layout:', graphlibJson.write(graph));
    +  // Move the nodes to the correct place
    +  let diff = 0;
    +  const { subGraphTitleTotalMargin } = getSubGraphTitleMargins(siteConfig);
    +  sortNodesByHierarchy(graph).forEach(function (v) {
    +    const node = graph.node(v);
    +    log.info('Position ' + v + ': ' + JSON.stringify(graph.node(v)));
    +    log.info(
    +      'Position ' + v + ': (' + node.x,
    +      ',' + node.y,
    +      ') width: ',
    +      node.width,
    +      ' height: ',
    +      node.height
    +    );
    +    if (node && node.clusterNode) {
    +      // clusterDb[node.id].node = node;
    +      node.y += subGraphTitleTotalMargin;
    +      positionNode(node);
    +    } else {
    +      // Non cluster node
    +      if (graph.children(v).length > 0) {
    +        // A cluster in the non-recursive way
    +        // positionCluster(node);
    +        node.height += subGraphTitleTotalMargin;
    +        insertCluster(clusters, node);
    +        clusterDb[node.id].node = node;
    +      } else {
    +        node.y += subGraphTitleTotalMargin / 2;
    +        positionNode(node);
    +      }
    +    }
    +  });
    +
    +  // Move the edge labels to the correct place after layout
    +  graph.edges().forEach(function (e) {
    +    const edge = graph.edge(e);
    +    log.info('Edge ' + e.v + ' -> ' + e.w + ': ' + JSON.stringify(edge), edge);
    +
    +    edge.points.forEach((point) => (point.y += subGraphTitleTotalMargin / 2));
    +    const paths = insertEdge(edgePaths, e, edge, clusterDb, diagramtype, graph, id);
    +    positionEdgeLabel(edge, paths);
    +  });
    +
    +  graph.nodes().forEach(function (v) {
    +    const n = graph.node(v);
    +    log.info(v, n.type, n.diff);
    +    if (n.type === 'group') {
    +      diff = n.diff;
    +    }
    +  });
    +  return { elem, diff };
    +};
    +
    +export const render = async (elem, graph, markers, diagramtype, id) => {
    +  insertMarkers(elem, markers, diagramtype, id);
    +  clearNodes();
    +  clearEdges();
    +  clearClusters();
    +  clearGraphlib();
    +
    +  log.warn('Graph at first:', JSON.stringify(graphlibJson.write(graph)));
    +  adjustClustersAndEdges(graph);
    +  log.warn('Graph after:', JSON.stringify(graphlibJson.write(graph)));
    +  // log.warn('Graph ever  after:', graphlibJson.write(graph.node('A').graph));
    +  const siteConfig = getConfig();
    +  await recursiveRender(elem, graph, diagramtype, id, undefined, siteConfig);
    +};
    +
    +// const shapeDefinitions = {};
    +// export const addShape = ({ shapeType: fun }) => {
    +//   shapeDefinitions[shapeType] = fun;
    +// };
    +
    +// const arrowDefinitions = {};
    +// export const addArrow = ({ arrowType: fun }) => {
    +//   arrowDefinitions[arrowType] = fun;
    +// };
    diff --git a/packages/mermaid/src/rendering-util/performRender.ts b/packages/mermaid/src/rendering-util/performRender.ts
    new file mode 100644
    index 0000000000..a862c6efb6
    --- /dev/null
    +++ b/packages/mermaid/src/rendering-util/performRender.ts
    @@ -0,0 +1,3 @@
    +import { RenderData } from './types';
    +const performRender = (data: RenderData) => { };
    +export default performRender;
    diff --git a/packages/mermaid/src/rendering-util/types.d.ts b/packages/mermaid/src/rendering-util/types.d.ts
    index 6dabb476d0..35fabe8d89 100644
    --- a/packages/mermaid/src/rendering-util/types.d.ts
    +++ b/packages/mermaid/src/rendering-util/types.d.ts
    @@ -6,3 +6,129 @@ export interface MarkdownWord {
     export type MarkdownLine = MarkdownWord[];
     /** Returns `true` if the line fits a constraint (e.g. it's under 𝑛 chars) */
     export type CheckFitFunction = (text: MarkdownLine) => boolean;
    +
    +// Common properties for any node in the system
    +interface Node {
    +    id: string;
    +    label?: string;
    +    parentId?: string;
    +    position?: string;
    +    styles?: string;
    +    classes?: string;
    +    // Flowchart specific properties
    +    labelType?: string;
    +    domId: string;
    +    // Rendering specific properties for both Flowchart and State Diagram nodes
    +    dir?: string;
    +    haveCallback?: boolean;
    +    labelStyle?: string;
    +    labelText?: string;
    +    link?: string;
    +    linkTarget?: string;
    +    padding?: number;
    +    props?: Record;
    +    rx?: number;
    +    ry?: number;
    +    shape?: string;
    +    tooltip?: string;
    +    type: string;
    +    width?: number;
    +}
    +
    +// Common properties for any edge in the system
    +interface Edge {
    +    id: string;
    +    label?: string;
    +    classes?: string;
    +    style?: string;
    +    // Properties common to both Flowchart and State Diagram edges
    +    arrowhead?: string;
    +    arrowheadStyle?: string;
    +    arrowTypeEnd?: string;
    +    arrowTypeStart?: string;
    +    // Flowchart specific properties
    +    defaultInterpolate?: string;
    +    end?: string;
    +    interpolate?: string;
    +    labelType?: string;
    +    length?: number;
    +    start?: string;
    +    stroke?: string;
    +    text?: string;
    +    type: string;
    +    // Rendering specific properties
    +    curve?: string;
    +    labelpos?: string;
    +    labelStyle?: string;
    +    minlen?: number;
    +    pattern?: string;
    +    thickness?: number;
    +}
    +
    +// Extending the Node interface for specific types if needed
    +interface ClassDiagramNode extends Node {
    +    memberData: any; // Specific property for class diagram nodes
    +}
    +
    +// Specific interfaces for layout and render data
    +export interface LayoutData {
    +    nodes: Node[];
    +    edges: Edge[];
    +    other: any; // Additional properties not yet defined
    +}
    +
    +export interface RenderData {
    +    items: (Node | Edge)[];
    +    otherDetails: any; // Placeholder for additional, undefined properties
    +}
    +
    +// This refactored approach ensures that common properties are included in the base `Node` and `Edge` interfaces, with specific types extending these bases with additional properties as needed. This maintains flexibility while ensuring type safety and reducing redundancy.
    +
    +
    +export type LayoutMethod =
    +  | 'dagre'
    +  | 'dagre-wrapper'
    +  | 'elk'
    +  | 'neato'
    +  | 'dot'
    +  | 'circo'
    +  | 'fdp'
    +  | 'osage'
    +  | 'grid';
    +
    +
    +export function createDomElement(node: Node): Node {
    +    // Create a new DOM element. Assuming we're creating a div as an example
    +    const element = document.createElement('div');
    +
    +    // Check if node.domId is set, if not generate a unique identifier for it
    +    if (!node.domId) {
    +        // This is a simplistic approach to generate a unique ID
    +        // In a real application, you might want to use a more robust method
    +        node.domId = `node-${Math.random().toString(36).substr(2, 9)}`;
    +    }
    +
    +    // Set the ID of the DOM element
    +    element.id = node.domId;
    +
    +    // Optional: Apply styles and classes to the element
    +    if (node.styles) {
    +        element.style.cssText = node.styles;
    +    }
    +    if (node.classes) {
    +        element.className = node.classes;
    +    }
    +
    +    // Optional: Add content or additional attributes to the element
    +    // This can be based on other properties of the node
    +    if (node.label) {
    +        element.textContent = node.label;
    +    }
    +
    +    // Append the newly created element to the document body or a specific container
    +    // This is just an example; in a real application, you might append it somewhere specific
    +    document.body.appendChild(element);
    +
    +    // Return the updated node with its domId set
    +    return node;
    +}
    
    From e27e56f7bfa9e229de17d486cdc2697455069a80 Mon Sep 17 00:00:00 2001
    From: Aakansha Doshi 
    Date: Tue, 2 Apr 2024 10:38:04 +0530
    Subject: [PATCH 302/789] use interfaces instead of types
    
    ---
     .../src/diagrams/sequence/sequenceDb.ts       | 114 +++++++++---------
     1 file changed, 57 insertions(+), 57 deletions(-)
    
    diff --git a/packages/mermaid/src/diagrams/sequence/sequenceDb.ts b/packages/mermaid/src/diagrams/sequence/sequenceDb.ts
    index 11a3250167..b40add8412 100644
    --- a/packages/mermaid/src/diagrams/sequence/sequenceDb.ts
    +++ b/packages/mermaid/src/diagrams/sequence/sequenceDb.ts
    @@ -12,14 +12,14 @@ import {
     } from '../common/commonDb.js';
     import { ImperativeState } from '../../utils/imperativeState.js';
     
    -type Box = {
    +interface Box {
       name: string;
       wrap: boolean;
       fill: string;
       actorKeys: string[];
    -};
    +}
     
    -type Actor = {
    +interface Actor {
       box?: Box;
       name: string;
       description: string;
    @@ -31,9 +31,9 @@ type Actor = {
       actorCnt: number | null;
       rectData: unknown;
       type: string;
    -};
    +}
     
    -type Message = {
    +interface Message {
       from?: { actor: string };
       to?: { actor: string };
       message:
    @@ -48,7 +48,55 @@ type Message = {
       type?: number;
       activate?: boolean;
       placement?: string;
    -};
    +}
    +
    +interface AddMessageParams {
    +  from: string;
    +  to: string;
    +  msg: string;
    +  signalType: number;
    +  type:
    +    | 'addMessage'
    +    | 'sequenceIndex'
    +    | 'addParticipant'
    +    | 'createParticipant'
    +    | 'destroyParticipant'
    +    | 'activeStart'
    +    | 'activeEnd'
    +    | 'addNote'
    +    | 'addLinks'
    +    | 'addALink'
    +    | 'addProperties'
    +    | 'addDetails'
    +    | 'boxStart'
    +    | 'boxEnd'
    +    | 'loopStart'
    +    | 'loopEnd'
    +    | 'rectStart'
    +    | 'rectEnd'
    +    | 'optStart'
    +    | 'optEnd'
    +    | 'altStart'
    +    | 'else'
    +    | 'altEnd'
    +    | 'setAccTitle'
    +    | 'parStart'
    +    | 'parAnd'
    +    | 'parEnd'
    +    | 'and'
    +    | 'criticalStart'
    +    | 'criticalOption'
    +    | 'option'
    +    | 'criticalEnd'
    +    | 'breakStart'
    +    | 'breakEnd'
    +    | 'parOverStart'
    +    | 'parOverEnd'
    +    | 'parOverAnd'
    +    | 'parOverEnd';
    +
    +  activate: boolean;
    +}
     
     type State = {
       prevActor?: string;
    @@ -134,7 +182,7 @@ export const addActor = function (
         properties: {},
         actorCnt: null,
         rectData: null,
    -    type: type || 'participant',
    +    type: type ?? 'participant',
       };
       if (state.records.prevActor && state.records.actors[state.records.prevActor]) {
         state.records.actors[state.records.prevActor].nextActor = id;
    @@ -188,7 +236,7 @@ export const addMessage = function (
     export const addSignal = function (
       idFrom?: Message['from'],
       idTo?: Message['to'],
    -  message: { text?: string; wrap?: boolean } = { text: undefined, wrap: undefined },
    +  message?: { text: string; wrap: boolean },
       messageType?: number,
       activate: boolean = false
     ) {
    @@ -423,7 +471,7 @@ export const addALink = function (actorId: string, text: { text: string }) {
       // find the actor
       const actor = getActor(actorId);
       try {
    -    const links: { [key: string]: string } = {};
    +    const links: Record = {};
         let sanitizedText = sanitizeText(text.text, getConfig());
         const sep = sanitizedText.indexOf('@');
         sanitizedText = sanitizedText.replace(/&/g, '&');
    @@ -515,54 +563,6 @@ export const getActorProperty = function (actor: Actor, key: string) {
       return undefined;
     };
     
    -type AddMessageParams = {
    -  from: string;
    -  to: string;
    -  msg: string;
    -  signalType: number;
    -  type:
    -    | 'addMessage'
    -    | 'sequenceIndex'
    -    | 'addParticipant'
    -    | 'createParticipant'
    -    | 'destroyParticipant'
    -    | 'activeStart'
    -    | 'activeEnd'
    -    | 'addNote'
    -    | 'addLinks'
    -    | 'addALink'
    -    | 'addProperties'
    -    | 'addDetails'
    -    | 'boxStart'
    -    | 'boxEnd'
    -    | 'loopStart'
    -    | 'loopEnd'
    -    | 'rectStart'
    -    | 'rectEnd'
    -    | 'optStart'
    -    | 'optEnd'
    -    | 'altStart'
    -    | 'else'
    -    | 'altEnd'
    -    | 'setAccTitle'
    -    | 'parStart'
    -    | 'parAnd'
    -    | 'parEnd'
    -    | 'and'
    -    | 'criticalStart'
    -    | 'criticalOption'
    -    | 'option'
    -    | 'criticalEnd'
    -    | 'breakStart'
    -    | 'breakEnd'
    -    | 'parOverStart'
    -    | 'parOverEnd'
    -    | 'parOverAnd'
    -    | 'parOverEnd';
    -
    -  activate: boolean;
    -};
    -
     export const apply = function (param: any | AddMessageParams | AddMessageParams[]) {
       if (Array.isArray(param)) {
         param.forEach(function (item) {
    
    From 8792e0a97871d69c0e1e68723cae5fef1508424f Mon Sep 17 00:00:00 2001
    From: Aakansha Doshi 
    Date: Tue, 2 Apr 2024 10:40:34 +0530
    Subject: [PATCH 303/789] move types to separate file
    
    ---
     .../mermaid/src/diagrams/sequence/types.ts    | 85 +++++++++++++++++++
     1 file changed, 85 insertions(+)
     create mode 100644 packages/mermaid/src/diagrams/sequence/types.ts
    
    diff --git a/packages/mermaid/src/diagrams/sequence/types.ts b/packages/mermaid/src/diagrams/sequence/types.ts
    new file mode 100644
    index 0000000000..83ef0fc67a
    --- /dev/null
    +++ b/packages/mermaid/src/diagrams/sequence/types.ts
    @@ -0,0 +1,85 @@
    +export interface Box {
    +  name: string;
    +  wrap: boolean;
    +  fill: string;
    +  actorKeys: string[];
    +}
    +
    +export interface Actor {
    +  box?: Box;
    +  name: string;
    +  description: string;
    +  wrap: boolean;
    +  prevActor?: string;
    +  nextActor?: string;
    +  links: Record;
    +  properties: Record;
    +  actorCnt: number | null;
    +  rectData: unknown;
    +  type: string;
    +}
    +
    +export interface Message {
    +  from?: { actor: string };
    +  to?: { actor: string };
    +  message:
    +    | string
    +    | {
    +        start: number;
    +        step: number;
    +        visible: boolean;
    +      };
    +  wrap: boolean;
    +  answer?: unknown;
    +  type?: number;
    +  activate?: boolean;
    +  placement?: string;
    +}
    +
    +export interface AddMessageParams {
    +  from: string;
    +  to: string;
    +  msg: string;
    +  signalType: number;
    +  type:
    +    | 'addMessage'
    +    | 'sequenceIndex'
    +    | 'addParticipant'
    +    | 'createParticipant'
    +    | 'destroyParticipant'
    +    | 'activeStart'
    +    | 'activeEnd'
    +    | 'addNote'
    +    | 'addLinks'
    +    | 'addALink'
    +    | 'addProperties'
    +    | 'addDetails'
    +    | 'boxStart'
    +    | 'boxEnd'
    +    | 'loopStart'
    +    | 'loopEnd'
    +    | 'rectStart'
    +    | 'rectEnd'
    +    | 'optStart'
    +    | 'optEnd'
    +    | 'altStart'
    +    | 'else'
    +    | 'altEnd'
    +    | 'setAccTitle'
    +    | 'parStart'
    +    | 'parAnd'
    +    | 'parEnd'
    +    | 'and'
    +    | 'criticalStart'
    +    | 'criticalOption'
    +    | 'option'
    +    | 'criticalEnd'
    +    | 'breakStart'
    +    | 'breakEnd'
    +    | 'parOverStart'
    +    | 'parOverEnd'
    +    | 'parOverAnd'
    +    | 'parOverEnd';
    +
    +  activate: boolean;
    +}
    
    From 0d00e885806d0c26024b27f3a7368306f24c65e5 Mon Sep 17 00:00:00 2001
    From: Aakansha Doshi 
    Date: Tue, 2 Apr 2024 11:40:11 +0530
    Subject: [PATCH 304/789] simplify message type from and to
    
    ---
     .../src/diagrams/sequence/sequenceDb.ts       | 97 +------------------
     .../mermaid/src/diagrams/sequence/types.ts    |  4 +-
     2 files changed, 7 insertions(+), 94 deletions(-)
    
    diff --git a/packages/mermaid/src/diagrams/sequence/sequenceDb.ts b/packages/mermaid/src/diagrams/sequence/sequenceDb.ts
    index b40add8412..80638e1807 100644
    --- a/packages/mermaid/src/diagrams/sequence/sequenceDb.ts
    +++ b/packages/mermaid/src/diagrams/sequence/sequenceDb.ts
    @@ -11,92 +11,7 @@ import {
       setDiagramTitle,
     } from '../common/commonDb.js';
     import { ImperativeState } from '../../utils/imperativeState.js';
    -
    -interface Box {
    -  name: string;
    -  wrap: boolean;
    -  fill: string;
    -  actorKeys: string[];
    -}
    -
    -interface Actor {
    -  box?: Box;
    -  name: string;
    -  description: string;
    -  wrap: boolean;
    -  prevActor?: string;
    -  nextActor?: string;
    -  links: Record;
    -  properties: Record;
    -  actorCnt: number | null;
    -  rectData: unknown;
    -  type: string;
    -}
    -
    -interface Message {
    -  from?: { actor: string };
    -  to?: { actor: string };
    -  message:
    -    | string
    -    | {
    -        start: number;
    -        step: number;
    -        visible: boolean;
    -      };
    -  wrap: boolean;
    -  answer?: unknown;
    -  type?: number;
    -  activate?: boolean;
    -  placement?: string;
    -}
    -
    -interface AddMessageParams {
    -  from: string;
    -  to: string;
    -  msg: string;
    -  signalType: number;
    -  type:
    -    | 'addMessage'
    -    | 'sequenceIndex'
    -    | 'addParticipant'
    -    | 'createParticipant'
    -    | 'destroyParticipant'
    -    | 'activeStart'
    -    | 'activeEnd'
    -    | 'addNote'
    -    | 'addLinks'
    -    | 'addALink'
    -    | 'addProperties'
    -    | 'addDetails'
    -    | 'boxStart'
    -    | 'boxEnd'
    -    | 'loopStart'
    -    | 'loopEnd'
    -    | 'rectStart'
    -    | 'rectEnd'
    -    | 'optStart'
    -    | 'optEnd'
    -    | 'altStart'
    -    | 'else'
    -    | 'altEnd'
    -    | 'setAccTitle'
    -    | 'parStart'
    -    | 'parAnd'
    -    | 'parEnd'
    -    | 'and'
    -    | 'criticalStart'
    -    | 'criticalOption'
    -    | 'option'
    -    | 'criticalEnd'
    -    | 'breakStart'
    -    | 'breakEnd'
    -    | 'parOverStart'
    -    | 'parOverEnd'
    -    | 'parOverAnd'
    -    | 'parOverEnd';
    -
    -  activate: boolean;
    -}
    +import type { Actor, AddMessageParams, Box, Message } from './types.js';
     
     type State = {
       prevActor?: string;
    @@ -204,13 +119,13 @@ const activationCount = (part: string) => {
       for (i = 0; i < state.records.messages.length; i++) {
         if (
           state.records.messages[i].type === LINETYPE.ACTIVE_START &&
    -      state.records.messages[i].from!.actor === part
    +      state.records.messages[i].from === part
         ) {
           count++;
         }
         if (
           state.records.messages[i].type === LINETYPE.ACTIVE_END &&
    -      state.records.messages[i].from!.actor === part
    +      state.records.messages[i].from === part
         ) {
           count--;
         }
    @@ -241,12 +156,10 @@ export const addSignal = function (
       activate: boolean = false
     ) {
       if (messageType === LINETYPE.ACTIVE_END) {
    -    const cnt = activationCount(idFrom?.actor || '');
    +    const cnt = activationCount(idFrom || '');
         if (cnt < 1) {
           // Bail out as there is an activation signal from an inactive participant
    -      const error = new Error(
    -        'Trying to inactivate an inactive participant (' + idFrom?.actor + ')'
    -      );
    +      const error = new Error('Trying to inactivate an inactive participant (' + idFrom + ')');
     
           // @ts-ignore: we are passing hash param to the error object, however we should define our own custom error class to make it type safe
           error.hash = {
    diff --git a/packages/mermaid/src/diagrams/sequence/types.ts b/packages/mermaid/src/diagrams/sequence/types.ts
    index 83ef0fc67a..b307751601 100644
    --- a/packages/mermaid/src/diagrams/sequence/types.ts
    +++ b/packages/mermaid/src/diagrams/sequence/types.ts
    @@ -20,8 +20,8 @@ export interface Actor {
     }
     
     export interface Message {
    -  from?: { actor: string };
    -  to?: { actor: string };
    +  from?: string;
    +  to?: string;
       message:
         | string
         | {
    
    From 8f40c1a77f3dfca561600d08fd7a0e9a6d005d1a Mon Sep 17 00:00:00 2001
    From: Aakansha Doshi 
    Date: Tue, 2 Apr 2024 15:08:27 +0530
    Subject: [PATCH 305/789] revert lock file
    
    ---
     pnpm-lock.yaml | 1630 ++++++++++++++++++++++++++----------------------
     1 file changed, 884 insertions(+), 746 deletions(-)
    
    diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
    index f39b8a43f8..00b823b8b3 100644
    --- a/pnpm-lock.yaml
    +++ b/pnpm-lock.yaml
    @@ -21,7 +21,7 @@ importers:
             version: 8.6.1
           '@cypress/code-coverage':
             specifier: ^3.12.30
    -        version: 3.12.32(@babel/core@7.24.0)(@babel/preset-env@7.24.0)(babel-loader@9.1.3)(cypress@13.7.1)(webpack@5.91.0)
    +        version: 3.12.30(@babel/core@7.24.3)(@babel/preset-env@7.24.3)(babel-loader@9.1.3)(cypress@13.7.1)(webpack@5.91.0)
           '@rollup/plugin-typescript':
             specifier: ^11.1.6
             version: 11.1.6(typescript@5.4.3)
    @@ -54,10 +54,10 @@ importers:
             version: 4.2.4
           '@typescript-eslint/eslint-plugin':
             specifier: ^7.3.1
    -        version: 7.4.0(@typescript-eslint/parser@7.4.0)(eslint@8.57.0)(typescript@5.4.3)
    +        version: 7.3.1(@typescript-eslint/parser@7.3.1)(eslint@8.57.0)(typescript@5.4.3)
           '@typescript-eslint/parser':
             specifier: ^7.3.1
    -        version: 7.4.0(eslint@8.57.0)(typescript@5.4.3)
    +        version: 7.3.1(eslint@8.57.0)(typescript@5.4.3)
           '@vitest/coverage-v8':
             specifier: ^1.4.0
             version: 1.4.0(vitest@1.4.0)
    @@ -108,7 +108,7 @@ importers:
             version: 8.0.0
           eslint-plugin-jest:
             specifier: ^27.9.0
    -        version: 27.9.0(@typescript-eslint/eslint-plugin@7.4.0)(eslint@8.57.0)(jest@29.7.0)(typescript@5.4.3)
    +        version: 27.9.0(@typescript-eslint/eslint-plugin@7.3.1)(eslint@8.57.0)(jest@29.7.0)(typescript@5.4.3)
           eslint-plugin-jsdoc:
             specifier: ^48.2.1
             version: 48.2.1(eslint@8.57.0)
    @@ -132,7 +132,7 @@ importers:
             version: 51.0.1(eslint@8.57.0)
           express:
             specifier: ^4.19.1
    -        version: 4.19.2
    +        version: 4.19.1
           globby:
             specifier: ^14.0.1
             version: 14.0.1
    @@ -234,7 +234,7 @@ importers:
             version: 0.9.2
           katex:
             specifier: ^0.16.9
    -        version: 0.16.9
    +        version: 0.16.10
           khroma:
             specifier: ^2.1.0
             version: 2.1.0
    @@ -304,10 +304,10 @@ importers:
             version: 9.0.8
           '@typescript-eslint/eslint-plugin':
             specifier: ^7.3.1
    -        version: 7.4.0(@typescript-eslint/parser@7.4.0)(eslint@8.57.0)(typescript@5.4.3)
    +        version: 7.3.1(@typescript-eslint/parser@7.3.1)(eslint@8.57.0)(typescript@5.4.3)
           '@typescript-eslint/parser':
             specifier: ^7.3.1
    -        version: 7.4.0(eslint@8.57.0)(typescript@5.4.3)
    +        version: 7.3.1(eslint@8.57.0)(typescript@5.4.3)
           ajv:
             specifier: ^8.12.0
             version: 8.12.0
    @@ -470,7 +470,7 @@ importers:
             version: 1.1.31
           '@unocss/reset':
             specifier: ^0.58.6
    -        version: 0.58.7
    +        version: 0.58.6
           '@vite-pwa/vitepress':
             specifier: ^0.4.0
             version: 0.4.0(vite-plugin-pwa@0.19.7)
    @@ -488,7 +488,7 @@ importers:
             version: 1.1.2
           unocss:
             specifier: ^0.58.6
    -        version: 0.58.7(postcss@8.4.35)(rollup@2.79.1)(vite@5.2.6)
    +        version: 0.58.6(postcss@8.4.38)(rollup@2.79.1)(vite@5.2.6)
           unplugin-vue-components:
             specifier: ^0.26.0
             version: 0.26.0(rollup@2.79.1)(vue@3.4.21)
    @@ -500,7 +500,7 @@ importers:
             version: 0.19.7(vite@5.2.6)(workbox-build@7.0.0)(workbox-window@7.0.0)
           vitepress:
             specifier: 1.0.0-rc.45
    -        version: 1.0.0-rc.45(@algolia/client-search@4.22.1)(@types/node@20.11.30)(postcss@8.4.35)(search-insights@2.13.0)(typescript@5.4.3)
    +        version: 1.0.0-rc.45(@algolia/client-search@4.22.1)(@types/node@20.11.30)(postcss@8.4.38)(search-insights@2.13.0)(typescript@5.4.3)
           workbox-window:
             specifier: ^7.0.0
             version: 7.0.0
    @@ -1123,6 +1123,11 @@ packages:
         engines: {node: '>=6.9.0'}
         dev: true
     
    +  /@babel/compat-data@7.24.1:
    +    resolution: {integrity: sha512-Pc65opHDliVpRHuKfzI+gSA4zcgr65O4cl64fFJIWEEh8JoHIHh0Oez1Eo8Arz8zq/JhgKodQaxEwUPRtZylVA==}
    +    engines: {node: '>=6.9.0'}
    +    dev: true
    +
       /@babel/core@7.22.10:
         resolution: {integrity: sha512-fTmqbbUBAwCcre6zPzNngvsI0aNrPZe77AeqvDxWM9Nm+04RrJ3CAmGHA9f7lJQY6ZMhRztNemy4uslDxTX4Qw==}
         engines: {node: '>=6.9.0'}
    @@ -1294,24 +1299,24 @@ packages:
           semver: 6.3.1
         dev: true
     
    -  /@babel/helper-create-regexp-features-plugin@7.22.15(@babel/core@7.24.0):
    +  /@babel/helper-create-regexp-features-plugin@7.22.15(@babel/core@7.24.3):
         resolution: {integrity: sha512-29FkPLFjn4TPEa3RE7GpW+qbE8tlsu3jntNYNfcGsc49LphF1PQIiD+vMZ1z1xVOKt+93khA9tc2JBs3kBjA7w==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0
         dependencies:
    -      '@babel/core': 7.24.0
    +      '@babel/core': 7.24.3
           '@babel/helper-annotate-as-pure': 7.22.5
           regexpu-core: 5.3.2
           semver: 6.3.1
         dev: true
     
    -  /@babel/helper-define-polyfill-provider@0.5.0(@babel/core@7.24.0):
    -    resolution: {integrity: sha512-NovQquuQLAQ5HuyjCz7WQP9MjRj7dx++yspwiyUiGl9ZyadHRSql1HZh5ogRd8W8w6YM6EQ/NTB8rgjLt5W65Q==}
    +  /@babel/helper-define-polyfill-provider@0.6.1(@babel/core@7.24.3):
    +    resolution: {integrity: sha512-o7SDgTJuvx5vLKD6SFvkydkSMBvahDKGiNJzG22IZYXhiqoe9efY7zocICBgzHV4IRg5wdgl2nEL/tulKIEIbA==}
         peerDependencies:
           '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0
         dependencies:
    -      '@babel/core': 7.24.0
    +      '@babel/core': 7.24.3
           '@babel/helper-compilation-targets': 7.23.6
           '@babel/helper-plugin-utils': 7.24.0
           debug: 4.3.4(supports-color@8.1.1)
    @@ -1362,6 +1367,13 @@ packages:
           '@babel/types': 7.24.0
         dev: true
     
    +  /@babel/helper-module-imports@7.24.3:
    +    resolution: {integrity: sha512-viKb0F9f2s0BCS22QSF308z/+1YWKV/76mwt61NBzS5izMzDPwdq1pTrzf+Li3npBWX9KdQbkeCt1jSAM7lZqg==}
    +    engines: {node: '>=6.9.0'}
    +    dependencies:
    +      '@babel/types': 7.24.0
    +    dev: true
    +
       /@babel/helper-module-transforms@7.22.9(@babel/core@7.22.10):
         resolution: {integrity: sha512-t+WA2Xn5K+rTeGtC8jCsdAH52bjggG5TKRuRrAGNM/mjIbO4GxvlLMFOEz9wXY5I2XQ60PMFsAG2WIcG82dQMQ==}
         engines: {node: '>=6.9.0'}
    @@ -1416,13 +1428,13 @@ packages:
         engines: {node: '>=6.9.0'}
         dev: true
     
    -  /@babel/helper-remap-async-to-generator@7.22.20(@babel/core@7.24.0):
    +  /@babel/helper-remap-async-to-generator@7.22.20(@babel/core@7.24.3):
         resolution: {integrity: sha512-pBGyV4uBqOns+0UvhsTO8qgl8hO89PmiDYv+/COyp1aeMcmfrfruz+/nCMFiYyFF/Knn0yfrC85ZzNFjembFTw==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0
         dependencies:
    -      '@babel/core': 7.24.0
    +      '@babel/core': 7.24.3
           '@babel/helper-annotate-as-pure': 7.22.5
           '@babel/helper-environment-visitor': 7.22.20
           '@babel/helper-wrap-function': 7.22.20
    @@ -1571,46 +1583,46 @@ packages:
           '@babel/types': 7.24.0
         dev: true
     
    -  /@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.23.3(@babel/core@7.24.0):
    -    resolution: {integrity: sha512-iRkKcCqb7iGnq9+3G6rZ+Ciz5VywC4XNRHe57lKM+jOeYAoR0lVqdeeDRfh0tQcTfw/+vBhHn926FmQhLtlFLQ==}
    +  /@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.24.1(@babel/core@7.24.3):
    +    resolution: {integrity: sha512-y4HqEnkelJIOQGd+3g1bTeKsA5c6qM7eOn7VggGVbBc0y8MLSKHacwcIE2PplNlQSj0PqS9rrXL/nkPVK+kUNg==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0
         dependencies:
    -      '@babel/core': 7.24.0
    +      '@babel/core': 7.24.3
           '@babel/helper-plugin-utils': 7.24.0
         dev: true
     
    -  /@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.23.3(@babel/core@7.24.0):
    -    resolution: {integrity: sha512-WwlxbfMNdVEpQjZmK5mhm7oSwD3dS6eU+Iwsi4Knl9wAletWem7kaRsGOG+8UEbRyqxY4SS5zvtfXwX+jMxUwQ==}
    +  /@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.24.1(@babel/core@7.24.3):
    +    resolution: {integrity: sha512-Hj791Ii4ci8HqnaKHAlLNs+zaLXb0EzSDhiAWp5VNlyvCNymYfacs64pxTxbH1znW/NcArSmwpmG9IKE/TUVVQ==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.13.0
         dependencies:
    -      '@babel/core': 7.24.0
    +      '@babel/core': 7.24.3
           '@babel/helper-plugin-utils': 7.24.0
           '@babel/helper-skip-transparent-expression-wrappers': 7.22.5
    -      '@babel/plugin-transform-optional-chaining': 7.23.4(@babel/core@7.24.0)
    +      '@babel/plugin-transform-optional-chaining': 7.24.1(@babel/core@7.24.3)
         dev: true
     
    -  /@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.23.7(@babel/core@7.24.0):
    -    resolution: {integrity: sha512-LlRT7HgaifEpQA1ZgLVOIJZZFVPWN5iReq/7/JixwBtwcoeVGDBD53ZV28rrsLYOZs1Y/EHhA8N/Z6aazHR8cw==}
    +  /@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.24.1(@babel/core@7.24.3):
    +    resolution: {integrity: sha512-m9m/fXsXLiHfwdgydIFnpk+7jlVbnvlK5B2EKiPdLUb6WX654ZaaEWJUjk8TftRbZpK0XibovlLWX4KIZhV6jw==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0
         dependencies:
    -      '@babel/core': 7.24.0
    +      '@babel/core': 7.24.3
           '@babel/helper-environment-visitor': 7.22.20
           '@babel/helper-plugin-utils': 7.24.0
         dev: true
     
    -  /@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2(@babel/core@7.24.0):
    +  /@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2(@babel/core@7.24.3):
         resolution: {integrity: sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
         dependencies:
    -      '@babel/core': 7.24.0
    +      '@babel/core': 7.24.3
         dev: true
     
       /@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.24.0):
    @@ -1622,6 +1634,15 @@ packages:
           '@babel/helper-plugin-utils': 7.24.0
         dev: true
     
    +  /@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.24.3):
    +    resolution: {integrity: sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==}
    +    peerDependencies:
    +      '@babel/core': ^7.0.0-0
    +    dependencies:
    +      '@babel/core': 7.24.3
    +      '@babel/helper-plugin-utils': 7.24.0
    +    dev: true
    +
       /@babel/plugin-syntax-bigint@7.8.3(@babel/core@7.24.0):
         resolution: {integrity: sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==}
         peerDependencies:
    @@ -1640,51 +1661,60 @@ packages:
           '@babel/helper-plugin-utils': 7.24.0
         dev: true
     
    -  /@babel/plugin-syntax-class-static-block@7.14.5(@babel/core@7.24.0):
    +  /@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.24.3):
    +    resolution: {integrity: sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==}
    +    peerDependencies:
    +      '@babel/core': ^7.0.0-0
    +    dependencies:
    +      '@babel/core': 7.24.3
    +      '@babel/helper-plugin-utils': 7.24.0
    +    dev: true
    +
    +  /@babel/plugin-syntax-class-static-block@7.14.5(@babel/core@7.24.3):
         resolution: {integrity: sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
         dependencies:
    -      '@babel/core': 7.24.0
    +      '@babel/core': 7.24.3
           '@babel/helper-plugin-utils': 7.24.0
         dev: true
     
    -  /@babel/plugin-syntax-dynamic-import@7.8.3(@babel/core@7.24.0):
    +  /@babel/plugin-syntax-dynamic-import@7.8.3(@babel/core@7.24.3):
         resolution: {integrity: sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==}
         peerDependencies:
           '@babel/core': ^7.0.0-0
         dependencies:
    -      '@babel/core': 7.24.0
    +      '@babel/core': 7.24.3
           '@babel/helper-plugin-utils': 7.24.0
         dev: true
     
    -  /@babel/plugin-syntax-export-namespace-from@7.8.3(@babel/core@7.24.0):
    +  /@babel/plugin-syntax-export-namespace-from@7.8.3(@babel/core@7.24.3):
         resolution: {integrity: sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==}
         peerDependencies:
           '@babel/core': ^7.0.0-0
         dependencies:
    -      '@babel/core': 7.24.0
    +      '@babel/core': 7.24.3
           '@babel/helper-plugin-utils': 7.24.0
         dev: true
     
    -  /@babel/plugin-syntax-import-assertions@7.23.3(@babel/core@7.24.0):
    -    resolution: {integrity: sha512-lPgDSU+SJLK3xmFDTV2ZRQAiM7UuUjGidwBywFavObCiZc1BeAAcMtHJKUya92hPHO+at63JJPLygilZard8jw==}
    +  /@babel/plugin-syntax-import-assertions@7.24.1(@babel/core@7.24.3):
    +    resolution: {integrity: sha512-IuwnI5XnuF189t91XbxmXeCDz3qs6iDRO7GJ++wcfgeXNs/8FmIlKcpDSXNVyuLQxlwvskmI3Ct73wUODkJBlQ==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
         dependencies:
    -      '@babel/core': 7.24.0
    +      '@babel/core': 7.24.3
           '@babel/helper-plugin-utils': 7.24.0
         dev: true
     
    -  /@babel/plugin-syntax-import-attributes@7.23.3(@babel/core@7.24.0):
    -    resolution: {integrity: sha512-pawnE0P9g10xgoP7yKr6CK63K2FMsTE+FZidZO/1PwRdzmAPVs+HS1mAURUsgaoxammTJvULUdIkEK0gOcU2tA==}
    +  /@babel/plugin-syntax-import-attributes@7.24.1(@babel/core@7.24.3):
    +    resolution: {integrity: sha512-zhQTMH0X2nVLnb04tz+s7AMuasX8U0FnpE+nHTOhSOINjWMnopoZTxtIKsd45n4GQ/HIZLyfIpoul8e2m0DnRA==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
         dependencies:
    -      '@babel/core': 7.24.0
    +      '@babel/core': 7.24.3
           '@babel/helper-plugin-utils': 7.24.0
         dev: true
     
    @@ -1697,6 +1727,15 @@ packages:
           '@babel/helper-plugin-utils': 7.24.0
         dev: true
     
    +  /@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.24.3):
    +    resolution: {integrity: sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==}
    +    peerDependencies:
    +      '@babel/core': ^7.0.0-0
    +    dependencies:
    +      '@babel/core': 7.24.3
    +      '@babel/helper-plugin-utils': 7.24.0
    +    dev: true
    +
       /@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.24.0):
         resolution: {integrity: sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==}
         peerDependencies:
    @@ -1706,6 +1745,15 @@ packages:
           '@babel/helper-plugin-utils': 7.24.0
         dev: true
     
    +  /@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.24.3):
    +    resolution: {integrity: sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==}
    +    peerDependencies:
    +      '@babel/core': ^7.0.0-0
    +    dependencies:
    +      '@babel/core': 7.24.3
    +      '@babel/helper-plugin-utils': 7.24.0
    +    dev: true
    +
       /@babel/plugin-syntax-jsx@7.23.3(@babel/core@7.24.0):
         resolution: {integrity: sha512-EB2MELswq55OHUoRZLGg/zC7QWUKfNLpE57m/S2yr1uEneIgsTgrSzXP3NXEsMkVn76OlaVVnzN+ugObuYGwhg==}
         engines: {node: '>=6.9.0'}
    @@ -1716,22 +1764,21 @@ packages:
           '@babel/helper-plugin-utils': 7.24.0
         dev: true
     
    -  /@babel/plugin-syntax-jsx@7.24.1(@babel/core@7.24.3):
    -    resolution: {integrity: sha512-2eCtxZXf+kbkMIsXS4poTvT4Yu5rXiRa+9xGVT56raghjmBTKMpFNc9R4IDiB4emao9eO22Ox7CxuJG7BgExqA==}
    -    engines: {node: '>=6.9.0'}
    +  /@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.24.0):
    +    resolution: {integrity: sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==}
         peerDependencies:
           '@babel/core': ^7.0.0-0
         dependencies:
    -      '@babel/core': 7.24.3
    +      '@babel/core': 7.24.0
           '@babel/helper-plugin-utils': 7.24.0
         dev: true
     
    -  /@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.24.0):
    +  /@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.24.3):
         resolution: {integrity: sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==}
         peerDependencies:
           '@babel/core': ^7.0.0-0
         dependencies:
    -      '@babel/core': 7.24.0
    +      '@babel/core': 7.24.3
           '@babel/helper-plugin-utils': 7.24.0
         dev: true
     
    @@ -1744,6 +1791,15 @@ packages:
           '@babel/helper-plugin-utils': 7.24.0
         dev: true
     
    +  /@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.24.3):
    +    resolution: {integrity: sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==}
    +    peerDependencies:
    +      '@babel/core': ^7.0.0-0
    +    dependencies:
    +      '@babel/core': 7.24.3
    +      '@babel/helper-plugin-utils': 7.24.0
    +    dev: true
    +
       /@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.24.0):
         resolution: {integrity: sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==}
         peerDependencies:
    @@ -1753,6 +1809,15 @@ packages:
           '@babel/helper-plugin-utils': 7.24.0
         dev: true
     
    +  /@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.24.3):
    +    resolution: {integrity: sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==}
    +    peerDependencies:
    +      '@babel/core': ^7.0.0-0
    +    dependencies:
    +      '@babel/core': 7.24.3
    +      '@babel/helper-plugin-utils': 7.24.0
    +    dev: true
    +
       /@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.24.0):
         resolution: {integrity: sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==}
         peerDependencies:
    @@ -1762,6 +1827,15 @@ packages:
           '@babel/helper-plugin-utils': 7.24.0
         dev: true
     
    +  /@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.24.3):
    +    resolution: {integrity: sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==}
    +    peerDependencies:
    +      '@babel/core': ^7.0.0-0
    +    dependencies:
    +      '@babel/core': 7.24.3
    +      '@babel/helper-plugin-utils': 7.24.0
    +    dev: true
    +
       /@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.24.0):
         resolution: {integrity: sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==}
         peerDependencies:
    @@ -1771,6 +1845,15 @@ packages:
           '@babel/helper-plugin-utils': 7.24.0
         dev: true
     
    +  /@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.24.3):
    +    resolution: {integrity: sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==}
    +    peerDependencies:
    +      '@babel/core': ^7.0.0-0
    +    dependencies:
    +      '@babel/core': 7.24.3
    +      '@babel/helper-plugin-utils': 7.24.0
    +    dev: true
    +
       /@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.24.0):
         resolution: {integrity: sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==}
         peerDependencies:
    @@ -1780,13 +1863,22 @@ packages:
           '@babel/helper-plugin-utils': 7.24.0
         dev: true
     
    -  /@babel/plugin-syntax-private-property-in-object@7.14.5(@babel/core@7.24.0):
    +  /@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.24.3):
    +    resolution: {integrity: sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==}
    +    peerDependencies:
    +      '@babel/core': ^7.0.0-0
    +    dependencies:
    +      '@babel/core': 7.24.3
    +      '@babel/helper-plugin-utils': 7.24.0
    +    dev: true
    +
    +  /@babel/plugin-syntax-private-property-in-object@7.14.5(@babel/core@7.24.3):
         resolution: {integrity: sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
         dependencies:
    -      '@babel/core': 7.24.0
    +      '@babel/core': 7.24.3
           '@babel/helper-plugin-utils': 7.24.0
         dev: true
     
    @@ -1800,280 +1892,280 @@ packages:
           '@babel/helper-plugin-utils': 7.24.0
         dev: true
     
    -  /@babel/plugin-syntax-typescript@7.23.3(@babel/core@7.24.0):
    -    resolution: {integrity: sha512-9EiNjVJOMwCO+43TqoTrgQ8jMwcAd0sWyXi9RPfIsLTj4R2MADDDQXELhffaUx/uJv2AYcxBgPwH6j4TIA4ytQ==}
    +  /@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.24.3):
    +    resolution: {integrity: sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
         dependencies:
    -      '@babel/core': 7.24.0
    +      '@babel/core': 7.24.3
           '@babel/helper-plugin-utils': 7.24.0
         dev: true
     
    -  /@babel/plugin-syntax-typescript@7.24.1(@babel/core@7.24.3):
    -    resolution: {integrity: sha512-Yhnmvy5HZEnHUty6i++gcfH1/l68AHnItFHnaCv6hn9dNh0hQvvQJsxpi4BMBFN5DLeHBuucT/0DgzXif/OyRw==}
    +  /@babel/plugin-syntax-typescript@7.23.3(@babel/core@7.24.0):
    +    resolution: {integrity: sha512-9EiNjVJOMwCO+43TqoTrgQ8jMwcAd0sWyXi9RPfIsLTj4R2MADDDQXELhffaUx/uJv2AYcxBgPwH6j4TIA4ytQ==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
         dependencies:
    -      '@babel/core': 7.24.3
    +      '@babel/core': 7.24.0
           '@babel/helper-plugin-utils': 7.24.0
         dev: true
     
    -  /@babel/plugin-syntax-unicode-sets-regex@7.18.6(@babel/core@7.24.0):
    +  /@babel/plugin-syntax-unicode-sets-regex@7.18.6(@babel/core@7.24.3):
         resolution: {integrity: sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0
         dependencies:
    -      '@babel/core': 7.24.0
    -      '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.24.0)
    +      '@babel/core': 7.24.3
    +      '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.24.3)
           '@babel/helper-plugin-utils': 7.24.0
         dev: true
     
    -  /@babel/plugin-transform-arrow-functions@7.23.3(@babel/core@7.24.0):
    -    resolution: {integrity: sha512-NzQcQrzaQPkaEwoTm4Mhyl8jI1huEL/WWIEvudjTCMJ9aBZNpsJbMASx7EQECtQQPS/DcnFpo0FIh3LvEO9cxQ==}
    +  /@babel/plugin-transform-arrow-functions@7.24.1(@babel/core@7.24.3):
    +    resolution: {integrity: sha512-ngT/3NkRhsaep9ck9uj2Xhv9+xB1zShY3tM3g6om4xxCELwCDN4g4Aq5dRn48+0hasAql7s2hdBOysCfNpr4fw==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
         dependencies:
    -      '@babel/core': 7.24.0
    +      '@babel/core': 7.24.3
           '@babel/helper-plugin-utils': 7.24.0
         dev: true
     
    -  /@babel/plugin-transform-async-generator-functions@7.23.9(@babel/core@7.24.0):
    -    resolution: {integrity: sha512-8Q3veQEDGe14dTYuwagbRtwxQDnytyg1JFu4/HwEMETeofocrB0U0ejBJIXoeG/t2oXZ8kzCyI0ZZfbT80VFNQ==}
    +  /@babel/plugin-transform-async-generator-functions@7.24.3(@babel/core@7.24.3):
    +    resolution: {integrity: sha512-Qe26CMYVjpQxJ8zxM1340JFNjZaF+ISWpr1Kt/jGo+ZTUzKkfw/pphEWbRCb+lmSM6k/TOgfYLvmbHkUQ0asIg==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
         dependencies:
    -      '@babel/core': 7.24.0
    +      '@babel/core': 7.24.3
           '@babel/helper-environment-visitor': 7.22.20
           '@babel/helper-plugin-utils': 7.24.0
    -      '@babel/helper-remap-async-to-generator': 7.22.20(@babel/core@7.24.0)
    -      '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.24.0)
    +      '@babel/helper-remap-async-to-generator': 7.22.20(@babel/core@7.24.3)
    +      '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.24.3)
         dev: true
     
    -  /@babel/plugin-transform-async-to-generator@7.23.3(@babel/core@7.24.0):
    -    resolution: {integrity: sha512-A7LFsKi4U4fomjqXJlZg/u0ft/n8/7n7lpffUP/ZULx/DtV9SGlNKZolHH6PE8Xl1ngCc0M11OaeZptXVkfKSw==}
    +  /@babel/plugin-transform-async-to-generator@7.24.1(@babel/core@7.24.3):
    +    resolution: {integrity: sha512-AawPptitRXp1y0n4ilKcGbRYWfbbzFWz2NqNu7dacYDtFtz0CMjG64b3LQsb3KIgnf4/obcUL78hfaOS7iCUfw==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
         dependencies:
    -      '@babel/core': 7.24.0
    -      '@babel/helper-module-imports': 7.22.15
    +      '@babel/core': 7.24.3
    +      '@babel/helper-module-imports': 7.24.3
           '@babel/helper-plugin-utils': 7.24.0
    -      '@babel/helper-remap-async-to-generator': 7.22.20(@babel/core@7.24.0)
    +      '@babel/helper-remap-async-to-generator': 7.22.20(@babel/core@7.24.3)
         dev: true
     
    -  /@babel/plugin-transform-block-scoped-functions@7.23.3(@babel/core@7.24.0):
    -    resolution: {integrity: sha512-vI+0sIaPIO6CNuM9Kk5VmXcMVRiOpDh7w2zZt9GXzmE/9KD70CUEVhvPR/etAeNK/FAEkhxQtXOzVF3EuRL41A==}
    +  /@babel/plugin-transform-block-scoped-functions@7.24.1(@babel/core@7.24.3):
    +    resolution: {integrity: sha512-TWWC18OShZutrv9C6mye1xwtam+uNi2bnTOCBUd5sZxyHOiWbU6ztSROofIMrK84uweEZC219POICK/sTYwfgg==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
         dependencies:
    -      '@babel/core': 7.24.0
    +      '@babel/core': 7.24.3
           '@babel/helper-plugin-utils': 7.24.0
         dev: true
     
    -  /@babel/plugin-transform-block-scoping@7.23.4(@babel/core@7.24.0):
    -    resolution: {integrity: sha512-0QqbP6B6HOh7/8iNR4CQU2Th/bbRtBp4KS9vcaZd1fZ0wSh5Fyssg0UCIHwxh+ka+pNDREbVLQnHCMHKZfPwfw==}
    +  /@babel/plugin-transform-block-scoping@7.24.1(@babel/core@7.24.3):
    +    resolution: {integrity: sha512-h71T2QQvDgM2SmT29UYU6ozjMlAt7s7CSs5Hvy8f8cf/GM/Z4a2zMfN+fjVGaieeCrXR3EdQl6C4gQG+OgmbKw==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
         dependencies:
    -      '@babel/core': 7.24.0
    +      '@babel/core': 7.24.3
           '@babel/helper-plugin-utils': 7.24.0
         dev: true
     
    -  /@babel/plugin-transform-class-properties@7.23.3(@babel/core@7.24.0):
    -    resolution: {integrity: sha512-uM+AN8yCIjDPccsKGlw271xjJtGii+xQIF/uMPS8H15L12jZTsLfF4o5vNO7d/oUguOyfdikHGc/yi9ge4SGIg==}
    +  /@babel/plugin-transform-class-properties@7.24.1(@babel/core@7.24.3):
    +    resolution: {integrity: sha512-OMLCXi0NqvJfORTaPQBwqLXHhb93wkBKZ4aNwMl6WtehO7ar+cmp+89iPEQPqxAnxsOKTaMcs3POz3rKayJ72g==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
         dependencies:
    -      '@babel/core': 7.24.0
    -      '@babel/helper-create-class-features-plugin': 7.24.0(@babel/core@7.24.0)
    +      '@babel/core': 7.24.3
    +      '@babel/helper-create-class-features-plugin': 7.24.1(@babel/core@7.24.3)
           '@babel/helper-plugin-utils': 7.24.0
         dev: true
     
    -  /@babel/plugin-transform-class-static-block@7.23.4(@babel/core@7.24.0):
    -    resolution: {integrity: sha512-nsWu/1M+ggti1SOALj3hfx5FXzAY06fwPJsUZD4/A5e1bWi46VUIWtD+kOX6/IdhXGsXBWllLFDSnqSCdUNydQ==}
    +  /@babel/plugin-transform-class-static-block@7.24.1(@babel/core@7.24.3):
    +    resolution: {integrity: sha512-FUHlKCn6J3ERiu8Dv+4eoz7w8+kFLSyeVG4vDAikwADGjUCoHw/JHokyGtr8OR4UjpwPVivyF+h8Q5iv/JmrtA==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.12.0
         dependencies:
    -      '@babel/core': 7.24.0
    -      '@babel/helper-create-class-features-plugin': 7.24.0(@babel/core@7.24.0)
    +      '@babel/core': 7.24.3
    +      '@babel/helper-create-class-features-plugin': 7.24.1(@babel/core@7.24.3)
           '@babel/helper-plugin-utils': 7.24.0
    -      '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.24.0)
    +      '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.24.3)
         dev: true
     
    -  /@babel/plugin-transform-classes@7.23.8(@babel/core@7.24.0):
    -    resolution: {integrity: sha512-yAYslGsY1bX6Knmg46RjiCiNSwJKv2IUC8qOdYKqMMr0491SXFhcHqOdRDeCRohOOIzwN/90C6mQ9qAKgrP7dg==}
    +  /@babel/plugin-transform-classes@7.24.1(@babel/core@7.24.3):
    +    resolution: {integrity: sha512-ZTIe3W7UejJd3/3R4p7ScyyOoafetUShSf4kCqV0O7F/RiHxVj/wRaRnQlrGwflvcehNA8M42HkAiEDYZu2F1Q==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
         dependencies:
    -      '@babel/core': 7.24.0
    +      '@babel/core': 7.24.3
           '@babel/helper-annotate-as-pure': 7.22.5
           '@babel/helper-compilation-targets': 7.23.6
           '@babel/helper-environment-visitor': 7.22.20
           '@babel/helper-function-name': 7.23.0
           '@babel/helper-plugin-utils': 7.24.0
    -      '@babel/helper-replace-supers': 7.22.20(@babel/core@7.24.0)
    +      '@babel/helper-replace-supers': 7.24.1(@babel/core@7.24.3)
           '@babel/helper-split-export-declaration': 7.22.6
           globals: 11.12.0
         dev: true
     
    -  /@babel/plugin-transform-computed-properties@7.23.3(@babel/core@7.24.0):
    -    resolution: {integrity: sha512-dTj83UVTLw/+nbiHqQSFdwO9CbTtwq1DsDqm3CUEtDrZNET5rT5E6bIdTlOftDTDLMYxvxHNEYO4B9SLl8SLZw==}
    +  /@babel/plugin-transform-computed-properties@7.24.1(@babel/core@7.24.3):
    +    resolution: {integrity: sha512-5pJGVIUfJpOS+pAqBQd+QMaTD2vCL/HcePooON6pDpHgRp4gNRmzyHTPIkXntwKsq3ayUFVfJaIKPw2pOkOcTw==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
         dependencies:
    -      '@babel/core': 7.24.0
    +      '@babel/core': 7.24.3
           '@babel/helper-plugin-utils': 7.24.0
           '@babel/template': 7.24.0
         dev: true
     
    -  /@babel/plugin-transform-destructuring@7.23.3(@babel/core@7.24.0):
    -    resolution: {integrity: sha512-n225npDqjDIr967cMScVKHXJs7rout1q+tt50inyBCPkyZ8KxeI6d+GIbSBTT/w/9WdlWDOej3V9HE5Lgk57gw==}
    +  /@babel/plugin-transform-destructuring@7.24.1(@babel/core@7.24.3):
    +    resolution: {integrity: sha512-ow8jciWqNxR3RYbSNVuF4U2Jx130nwnBnhRw6N6h1bOejNkABmcI5X5oz29K4alWX7vf1C+o6gtKXikzRKkVdw==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
         dependencies:
    -      '@babel/core': 7.24.0
    +      '@babel/core': 7.24.3
           '@babel/helper-plugin-utils': 7.24.0
         dev: true
     
    -  /@babel/plugin-transform-dotall-regex@7.23.3(@babel/core@7.24.0):
    -    resolution: {integrity: sha512-vgnFYDHAKzFaTVp+mneDsIEbnJ2Np/9ng9iviHw3P/KVcgONxpNULEW/51Z/BaFojG2GI2GwwXck5uV1+1NOYQ==}
    +  /@babel/plugin-transform-dotall-regex@7.24.1(@babel/core@7.24.3):
    +    resolution: {integrity: sha512-p7uUxgSoZwZ2lPNMzUkqCts3xlp8n+o05ikjy7gbtFJSt9gdU88jAmtfmOxHM14noQXBxfgzf2yRWECiNVhTCw==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
         dependencies:
    -      '@babel/core': 7.24.0
    -      '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.24.0)
    +      '@babel/core': 7.24.3
    +      '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.24.3)
           '@babel/helper-plugin-utils': 7.24.0
         dev: true
     
    -  /@babel/plugin-transform-duplicate-keys@7.23.3(@babel/core@7.24.0):
    -    resolution: {integrity: sha512-RrqQ+BQmU3Oyav3J+7/myfvRCq7Tbz+kKLLshUmMwNlDHExbGL7ARhajvoBJEvc+fCguPPu887N+3RRXBVKZUA==}
    +  /@babel/plugin-transform-duplicate-keys@7.24.1(@babel/core@7.24.3):
    +    resolution: {integrity: sha512-msyzuUnvsjsaSaocV6L7ErfNsa5nDWL1XKNnDePLgmz+WdU4w/J8+AxBMrWfi9m4IxfL5sZQKUPQKDQeeAT6lA==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
         dependencies:
    -      '@babel/core': 7.24.0
    +      '@babel/core': 7.24.3
           '@babel/helper-plugin-utils': 7.24.0
         dev: true
     
    -  /@babel/plugin-transform-dynamic-import@7.23.4(@babel/core@7.24.0):
    -    resolution: {integrity: sha512-V6jIbLhdJK86MaLh4Jpghi8ho5fGzt3imHOBu/x0jlBaPYqDoWz4RDXjmMOfnh+JWNaQleEAByZLV0QzBT4YQQ==}
    +  /@babel/plugin-transform-dynamic-import@7.24.1(@babel/core@7.24.3):
    +    resolution: {integrity: sha512-av2gdSTyXcJVdI+8aFZsCAtR29xJt0S5tas+Ef8NvBNmD1a+N/3ecMLeMBgfcK+xzsjdLDT6oHt+DFPyeqUbDA==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
         dependencies:
    -      '@babel/core': 7.24.0
    +      '@babel/core': 7.24.3
           '@babel/helper-plugin-utils': 7.24.0
    -      '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.24.0)
    +      '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.24.3)
         dev: true
     
    -  /@babel/plugin-transform-exponentiation-operator@7.23.3(@babel/core@7.24.0):
    -    resolution: {integrity: sha512-5fhCsl1odX96u7ILKHBj4/Y8vipoqwsJMh4csSA8qFfxrZDEA4Ssku2DyNvMJSmZNOEBT750LfFPbtrnTP90BQ==}
    +  /@babel/plugin-transform-exponentiation-operator@7.24.1(@babel/core@7.24.3):
    +    resolution: {integrity: sha512-U1yX13dVBSwS23DEAqU+Z/PkwE9/m7QQy8Y9/+Tdb8UWYaGNDYwTLi19wqIAiROr8sXVum9A/rtiH5H0boUcTw==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
         dependencies:
    -      '@babel/core': 7.24.0
    +      '@babel/core': 7.24.3
           '@babel/helper-builder-binary-assignment-operator-visitor': 7.22.15
           '@babel/helper-plugin-utils': 7.24.0
         dev: true
     
    -  /@babel/plugin-transform-export-namespace-from@7.23.4(@babel/core@7.24.0):
    -    resolution: {integrity: sha512-GzuSBcKkx62dGzZI1WVgTWvkkz84FZO5TC5T8dl/Tht/rAla6Dg/Mz9Yhypg+ezVACf/rgDuQt3kbWEv7LdUDQ==}
    +  /@babel/plugin-transform-export-namespace-from@7.24.1(@babel/core@7.24.3):
    +    resolution: {integrity: sha512-Ft38m/KFOyzKw2UaJFkWG9QnHPG/Q/2SkOrRk4pNBPg5IPZ+dOxcmkK5IyuBcxiNPyyYowPGUReyBvrvZs7IlQ==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
         dependencies:
    -      '@babel/core': 7.24.0
    +      '@babel/core': 7.24.3
           '@babel/helper-plugin-utils': 7.24.0
    -      '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.24.0)
    +      '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.24.3)
         dev: true
     
    -  /@babel/plugin-transform-for-of@7.23.6(@babel/core@7.24.0):
    -    resolution: {integrity: sha512-aYH4ytZ0qSuBbpfhuofbg/e96oQ7U2w1Aw/UQmKT+1l39uEhUPoFS3fHevDc1G0OvewyDudfMKY1OulczHzWIw==}
    +  /@babel/plugin-transform-for-of@7.24.1(@babel/core@7.24.3):
    +    resolution: {integrity: sha512-OxBdcnF04bpdQdR3i4giHZNZQn7cm8RQKcSwA17wAAqEELo1ZOwp5FFgeptWUQXFyT9kwHo10aqqauYkRZPCAg==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
         dependencies:
    -      '@babel/core': 7.24.0
    +      '@babel/core': 7.24.3
           '@babel/helper-plugin-utils': 7.24.0
           '@babel/helper-skip-transparent-expression-wrappers': 7.22.5
         dev: true
     
    -  /@babel/plugin-transform-function-name@7.23.3(@babel/core@7.24.0):
    -    resolution: {integrity: sha512-I1QXp1LxIvt8yLaib49dRW5Okt7Q4oaxao6tFVKS/anCdEOMtYwWVKoiOA1p34GOWIZjUK0E+zCp7+l1pfQyiw==}
    +  /@babel/plugin-transform-function-name@7.24.1(@babel/core@7.24.3):
    +    resolution: {integrity: sha512-BXmDZpPlh7jwicKArQASrj8n22/w6iymRnvHYYd2zO30DbE277JO20/7yXJT3QxDPtiQiOxQBbZH4TpivNXIxA==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
         dependencies:
    -      '@babel/core': 7.24.0
    +      '@babel/core': 7.24.3
           '@babel/helper-compilation-targets': 7.23.6
           '@babel/helper-function-name': 7.23.0
           '@babel/helper-plugin-utils': 7.24.0
         dev: true
     
    -  /@babel/plugin-transform-json-strings@7.23.4(@babel/core@7.24.0):
    -    resolution: {integrity: sha512-81nTOqM1dMwZ/aRXQ59zVubN9wHGqk6UtqRK+/q+ciXmRy8fSolhGVvG09HHRGo4l6fr/c4ZhXUQH0uFW7PZbg==}
    +  /@babel/plugin-transform-json-strings@7.24.1(@babel/core@7.24.3):
    +    resolution: {integrity: sha512-U7RMFmRvoasscrIFy5xA4gIp8iWnWubnKkKuUGJjsuOH7GfbMkB+XZzeslx2kLdEGdOJDamEmCqOks6e8nv8DQ==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
         dependencies:
    -      '@babel/core': 7.24.0
    +      '@babel/core': 7.24.3
           '@babel/helper-plugin-utils': 7.24.0
    -      '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.24.0)
    +      '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.24.3)
         dev: true
     
    -  /@babel/plugin-transform-literals@7.23.3(@babel/core@7.24.0):
    -    resolution: {integrity: sha512-wZ0PIXRxnwZvl9AYpqNUxpZ5BiTGrYt7kueGQ+N5FiQ7RCOD4cm8iShd6S6ggfVIWaJf2EMk8eRzAh52RfP4rQ==}
    +  /@babel/plugin-transform-literals@7.24.1(@babel/core@7.24.3):
    +    resolution: {integrity: sha512-zn9pwz8U7nCqOYIiBaOxoQOtYmMODXTJnkxG4AtX8fPmnCRYWBOHD0qcpwS9e2VDSp1zNJYpdnFMIKb8jmwu6g==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
         dependencies:
    -      '@babel/core': 7.24.0
    +      '@babel/core': 7.24.3
           '@babel/helper-plugin-utils': 7.24.0
         dev: true
     
    -  /@babel/plugin-transform-logical-assignment-operators@7.23.4(@babel/core@7.24.0):
    -    resolution: {integrity: sha512-Mc/ALf1rmZTP4JKKEhUwiORU+vcfarFVLfcFiolKUo6sewoxSEgl36ak5t+4WamRsNr6nzjZXQjM35WsU+9vbg==}
    +  /@babel/plugin-transform-logical-assignment-operators@7.24.1(@babel/core@7.24.3):
    +    resolution: {integrity: sha512-OhN6J4Bpz+hIBqItTeWJujDOfNP+unqv/NJgyhlpSqgBTPm37KkMmZV6SYcOj+pnDbdcl1qRGV/ZiIjX9Iy34w==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
         dependencies:
    -      '@babel/core': 7.24.0
    +      '@babel/core': 7.24.3
           '@babel/helper-plugin-utils': 7.24.0
    -      '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.24.0)
    +      '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.24.3)
         dev: true
     
    -  /@babel/plugin-transform-member-expression-literals@7.23.3(@babel/core@7.24.0):
    -    resolution: {integrity: sha512-sC3LdDBDi5x96LA+Ytekz2ZPk8i/Ck+DEuDbRAll5rknJ5XRTSaPKEYwomLcs1AA8wg9b3KjIQRsnApj+q51Ag==}
    +  /@babel/plugin-transform-member-expression-literals@7.24.1(@babel/core@7.24.3):
    +    resolution: {integrity: sha512-4ojai0KysTWXzHseJKa1XPNXKRbuUrhkOPY4rEGeR+7ChlJVKxFa3H3Bz+7tWaGKgJAXUWKOGmltN+u9B3+CVg==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
         dependencies:
    -      '@babel/core': 7.24.0
    +      '@babel/core': 7.24.3
           '@babel/helper-plugin-utils': 7.24.0
         dev: true
     
    -  /@babel/plugin-transform-modules-amd@7.23.3(@babel/core@7.24.0):
    -    resolution: {integrity: sha512-vJYQGxeKM4t8hYCKVBlZX/gtIY2I7mRGFNcm85sgXGMTBcoV3QdVtdpbcWEbzbfUIUZKwvgFT82mRvaQIebZzw==}
    +  /@babel/plugin-transform-modules-amd@7.24.1(@babel/core@7.24.3):
    +    resolution: {integrity: sha512-lAxNHi4HVtjnHd5Rxg3D5t99Xm6H7b04hUS7EHIXcUl2EV4yl1gWdqZrNzXnSrHveL9qMdbODlLF55mvgjAfaQ==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
         dependencies:
    -      '@babel/core': 7.24.0
    -      '@babel/helper-module-transforms': 7.23.3(@babel/core@7.24.0)
    +      '@babel/core': 7.24.3
    +      '@babel/helper-module-transforms': 7.23.3(@babel/core@7.24.3)
           '@babel/helper-plugin-utils': 7.24.0
         dev: true
     
    @@ -2101,407 +2193,406 @@ packages:
           '@babel/helper-simple-access': 7.22.5
         dev: true
     
    -  /@babel/plugin-transform-modules-systemjs@7.23.9(@babel/core@7.24.0):
    -    resolution: {integrity: sha512-KDlPRM6sLo4o1FkiSlXoAa8edLXFsKKIda779fbLrvmeuc3itnjCtaO6RrtoaANsIJANj+Vk1zqbZIMhkCAHVw==}
    +  /@babel/plugin-transform-modules-systemjs@7.24.1(@babel/core@7.24.3):
    +    resolution: {integrity: sha512-mqQ3Zh9vFO1Tpmlt8QPnbwGHzNz3lpNEMxQb1kAemn/erstyqw1r9KeOlOfo3y6xAnFEcOv2tSyrXfmMk+/YZA==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
         dependencies:
    -      '@babel/core': 7.24.0
    +      '@babel/core': 7.24.3
           '@babel/helper-hoist-variables': 7.22.5
    -      '@babel/helper-module-transforms': 7.23.3(@babel/core@7.24.0)
    +      '@babel/helper-module-transforms': 7.23.3(@babel/core@7.24.3)
           '@babel/helper-plugin-utils': 7.24.0
           '@babel/helper-validator-identifier': 7.22.20
         dev: true
     
    -  /@babel/plugin-transform-modules-umd@7.23.3(@babel/core@7.24.0):
    -    resolution: {integrity: sha512-zHsy9iXX2nIsCBFPud3jKn1IRPWg3Ing1qOZgeKV39m1ZgIdpJqvlWVeiHBZC6ITRG0MfskhYe9cLgntfSFPIg==}
    +  /@babel/plugin-transform-modules-umd@7.24.1(@babel/core@7.24.3):
    +    resolution: {integrity: sha512-tuA3lpPj+5ITfcCluy6nWonSL7RvaG0AOTeAuvXqEKS34lnLzXpDb0dcP6K8jD0zWZFNDVly90AGFJPnm4fOYg==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
         dependencies:
    -      '@babel/core': 7.24.0
    -      '@babel/helper-module-transforms': 7.23.3(@babel/core@7.24.0)
    +      '@babel/core': 7.24.3
    +      '@babel/helper-module-transforms': 7.23.3(@babel/core@7.24.3)
           '@babel/helper-plugin-utils': 7.24.0
         dev: true
     
    -  /@babel/plugin-transform-named-capturing-groups-regex@7.22.5(@babel/core@7.24.0):
    +  /@babel/plugin-transform-named-capturing-groups-regex@7.22.5(@babel/core@7.24.3):
         resolution: {integrity: sha512-YgLLKmS3aUBhHaxp5hi1WJTgOUb/NCuDHzGT9z9WTt3YG+CPRhJs6nprbStx6DnWM4dh6gt7SU3sZodbZ08adQ==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0
         dependencies:
    -      '@babel/core': 7.24.0
    -      '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.24.0)
    +      '@babel/core': 7.24.3
    +      '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.24.3)
           '@babel/helper-plugin-utils': 7.24.0
         dev: true
     
    -  /@babel/plugin-transform-new-target@7.23.3(@babel/core@7.24.0):
    -    resolution: {integrity: sha512-YJ3xKqtJMAT5/TIZnpAR3I+K+WaDowYbN3xyxI8zxx/Gsypwf9B9h0VB+1Nh6ACAAPRS5NSRje0uVv5i79HYGQ==}
    +  /@babel/plugin-transform-new-target@7.24.1(@babel/core@7.24.3):
    +    resolution: {integrity: sha512-/rurytBM34hYy0HKZQyA0nHbQgQNFm4Q/BOc9Hflxi2X3twRof7NaE5W46j4kQitm7SvACVRXsa6N/tSZxvPug==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
         dependencies:
    -      '@babel/core': 7.24.0
    +      '@babel/core': 7.24.3
           '@babel/helper-plugin-utils': 7.24.0
         dev: true
     
    -  /@babel/plugin-transform-nullish-coalescing-operator@7.23.4(@babel/core@7.24.0):
    -    resolution: {integrity: sha512-jHE9EVVqHKAQx+VePv5LLGHjmHSJR76vawFPTdlxR/LVJPfOEGxREQwQfjuZEOPTwG92X3LINSh3M40Rv4zpVA==}
    +  /@babel/plugin-transform-nullish-coalescing-operator@7.24.1(@babel/core@7.24.3):
    +    resolution: {integrity: sha512-iQ+caew8wRrhCikO5DrUYx0mrmdhkaELgFa+7baMcVuhxIkN7oxt06CZ51D65ugIb1UWRQ8oQe+HXAVM6qHFjw==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
         dependencies:
    -      '@babel/core': 7.24.0
    +      '@babel/core': 7.24.3
           '@babel/helper-plugin-utils': 7.24.0
    -      '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.24.0)
    +      '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.24.3)
         dev: true
     
    -  /@babel/plugin-transform-numeric-separator@7.23.4(@babel/core@7.24.0):
    -    resolution: {integrity: sha512-mps6auzgwjRrwKEZA05cOwuDc9FAzoyFS4ZsG/8F43bTLf/TgkJg7QXOrPO1JO599iA3qgK9MXdMGOEC8O1h6Q==}
    +  /@babel/plugin-transform-numeric-separator@7.24.1(@babel/core@7.24.3):
    +    resolution: {integrity: sha512-7GAsGlK4cNL2OExJH1DzmDeKnRv/LXq0eLUSvudrehVA5Rgg4bIrqEUW29FbKMBRT0ztSqisv7kjP+XIC4ZMNw==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
         dependencies:
    -      '@babel/core': 7.24.0
    +      '@babel/core': 7.24.3
           '@babel/helper-plugin-utils': 7.24.0
    -      '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.24.0)
    +      '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.24.3)
         dev: true
     
    -  /@babel/plugin-transform-object-rest-spread@7.24.0(@babel/core@7.24.0):
    -    resolution: {integrity: sha512-y/yKMm7buHpFFXfxVFS4Vk1ToRJDilIa6fKRioB9Vjichv58TDGXTvqV0dN7plobAmTW5eSEGXDngE+Mm+uO+w==}
    +  /@babel/plugin-transform-object-rest-spread@7.24.1(@babel/core@7.24.3):
    +    resolution: {integrity: sha512-XjD5f0YqOtebto4HGISLNfiNMTTs6tbkFf2TOqJlYKYmbo+mN9Dnpl4SRoofiziuOWMIyq3sZEUqLo3hLITFEA==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
         dependencies:
    -      '@babel/compat-data': 7.23.5
    -      '@babel/core': 7.24.0
    +      '@babel/core': 7.24.3
           '@babel/helper-compilation-targets': 7.23.6
           '@babel/helper-plugin-utils': 7.24.0
    -      '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.24.0)
    -      '@babel/plugin-transform-parameters': 7.23.3(@babel/core@7.24.0)
    +      '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.24.3)
    +      '@babel/plugin-transform-parameters': 7.24.1(@babel/core@7.24.3)
         dev: true
     
    -  /@babel/plugin-transform-object-super@7.23.3(@babel/core@7.24.0):
    -    resolution: {integrity: sha512-BwQ8q0x2JG+3lxCVFohg+KbQM7plfpBwThdW9A6TMtWwLsbDA01Ek2Zb/AgDN39BiZsExm4qrXxjk+P1/fzGrA==}
    +  /@babel/plugin-transform-object-super@7.24.1(@babel/core@7.24.3):
    +    resolution: {integrity: sha512-oKJqR3TeI5hSLRxudMjFQ9re9fBVUU0GICqM3J1mi8MqlhVr6hC/ZN4ttAyMuQR6EZZIY6h/exe5swqGNNIkWQ==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
         dependencies:
    -      '@babel/core': 7.24.0
    +      '@babel/core': 7.24.3
           '@babel/helper-plugin-utils': 7.24.0
    -      '@babel/helper-replace-supers': 7.22.20(@babel/core@7.24.0)
    +      '@babel/helper-replace-supers': 7.24.1(@babel/core@7.24.3)
         dev: true
     
    -  /@babel/plugin-transform-optional-catch-binding@7.23.4(@babel/core@7.24.0):
    -    resolution: {integrity: sha512-XIq8t0rJPHf6Wvmbn9nFxU6ao4c7WhghTR5WyV8SrJfUFzyxhCm4nhC+iAp3HFhbAKLfYpgzhJ6t4XCtVwqO5A==}
    +  /@babel/plugin-transform-optional-catch-binding@7.24.1(@babel/core@7.24.3):
    +    resolution: {integrity: sha512-oBTH7oURV4Y+3EUrf6cWn1OHio3qG/PVwO5J03iSJmBg6m2EhKjkAu/xuaXaYwWW9miYtvbWv4LNf0AmR43LUA==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
         dependencies:
    -      '@babel/core': 7.24.0
    +      '@babel/core': 7.24.3
           '@babel/helper-plugin-utils': 7.24.0
    -      '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.24.0)
    +      '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.24.3)
         dev: true
     
    -  /@babel/plugin-transform-optional-chaining@7.23.4(@babel/core@7.24.0):
    -    resolution: {integrity: sha512-ZU8y5zWOfjM5vZ+asjgAPwDaBjJzgufjES89Rs4Lpq63O300R/kOz30WCLo6BxxX6QVEilwSlpClnG5cZaikTA==}
    +  /@babel/plugin-transform-optional-chaining@7.24.1(@babel/core@7.24.3):
    +    resolution: {integrity: sha512-n03wmDt+987qXwAgcBlnUUivrZBPZ8z1plL0YvgQalLm+ZE5BMhGm94jhxXtA1wzv1Cu2aaOv1BM9vbVttrzSg==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
         dependencies:
    -      '@babel/core': 7.24.0
    +      '@babel/core': 7.24.3
           '@babel/helper-plugin-utils': 7.24.0
           '@babel/helper-skip-transparent-expression-wrappers': 7.22.5
    -      '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.24.0)
    +      '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.24.3)
         dev: true
     
    -  /@babel/plugin-transform-parameters@7.23.3(@babel/core@7.24.0):
    -    resolution: {integrity: sha512-09lMt6UsUb3/34BbECKVbVwrT9bO6lILWln237z7sLaWnMsTi7Yc9fhX5DLpkJzAGfaReXI22wP41SZmnAA3Vw==}
    +  /@babel/plugin-transform-parameters@7.24.1(@babel/core@7.24.3):
    +    resolution: {integrity: sha512-8Jl6V24g+Uw5OGPeWNKrKqXPDw2YDjLc53ojwfMcKwlEoETKU9rU0mHUtcg9JntWI/QYzGAXNWEcVHZ+fR+XXg==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
         dependencies:
    -      '@babel/core': 7.24.0
    +      '@babel/core': 7.24.3
           '@babel/helper-plugin-utils': 7.24.0
         dev: true
     
    -  /@babel/plugin-transform-private-methods@7.23.3(@babel/core@7.24.0):
    -    resolution: {integrity: sha512-UzqRcRtWsDMTLrRWFvUBDwmw06tCQH9Rl1uAjfh6ijMSmGYQ+fpdB+cnqRC8EMh5tuuxSv0/TejGL+7vyj+50g==}
    +  /@babel/plugin-transform-private-methods@7.24.1(@babel/core@7.24.3):
    +    resolution: {integrity: sha512-tGvisebwBO5em4PaYNqt4fkw56K2VALsAbAakY0FjTYqJp7gfdrgr7YX76Or8/cpik0W6+tj3rZ0uHU9Oil4tw==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
         dependencies:
    -      '@babel/core': 7.24.0
    -      '@babel/helper-create-class-features-plugin': 7.24.0(@babel/core@7.24.0)
    +      '@babel/core': 7.24.3
    +      '@babel/helper-create-class-features-plugin': 7.24.1(@babel/core@7.24.3)
           '@babel/helper-plugin-utils': 7.24.0
         dev: true
     
    -  /@babel/plugin-transform-private-property-in-object@7.23.4(@babel/core@7.24.0):
    -    resolution: {integrity: sha512-9G3K1YqTq3F4Vt88Djx1UZ79PDyj+yKRnUy7cZGSMe+a7jkwD259uKKuUzQlPkGam7R+8RJwh5z4xO27fA1o2A==}
    +  /@babel/plugin-transform-private-property-in-object@7.24.1(@babel/core@7.24.3):
    +    resolution: {integrity: sha512-pTHxDVa0BpUbvAgX3Gat+7cSciXqUcY9j2VZKTbSB6+VQGpNgNO9ailxTGHSXlqOnX1Hcx1Enme2+yv7VqP9bg==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
         dependencies:
    -      '@babel/core': 7.24.0
    +      '@babel/core': 7.24.3
           '@babel/helper-annotate-as-pure': 7.22.5
    -      '@babel/helper-create-class-features-plugin': 7.24.0(@babel/core@7.24.0)
    +      '@babel/helper-create-class-features-plugin': 7.24.1(@babel/core@7.24.3)
           '@babel/helper-plugin-utils': 7.24.0
    -      '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.24.0)
    +      '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.24.3)
         dev: true
     
    -  /@babel/plugin-transform-property-literals@7.23.3(@babel/core@7.24.0):
    -    resolution: {integrity: sha512-jR3Jn3y7cZp4oEWPFAlRsSWjxKe4PZILGBSd4nis1TsC5qeSpb+nrtihJuDhNI7QHiVbUaiXa0X2RZY3/TI6Nw==}
    +  /@babel/plugin-transform-property-literals@7.24.1(@babel/core@7.24.3):
    +    resolution: {integrity: sha512-LetvD7CrHmEx0G442gOomRr66d7q8HzzGGr4PMHGr+5YIm6++Yke+jxj246rpvsbyhJwCLxcTn6zW1P1BSenqA==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
         dependencies:
    -      '@babel/core': 7.24.0
    +      '@babel/core': 7.24.3
           '@babel/helper-plugin-utils': 7.24.0
         dev: true
     
    -  /@babel/plugin-transform-regenerator@7.23.3(@babel/core@7.24.0):
    -    resolution: {integrity: sha512-KP+75h0KghBMcVpuKisx3XTu9Ncut8Q8TuvGO4IhY+9D5DFEckQefOuIsB/gQ2tG71lCke4NMrtIPS8pOj18BQ==}
    +  /@babel/plugin-transform-regenerator@7.24.1(@babel/core@7.24.3):
    +    resolution: {integrity: sha512-sJwZBCzIBE4t+5Q4IGLaaun5ExVMRY0lYwos/jNecjMrVCygCdph3IKv0tkP5Fc87e/1+bebAmEAGBfnRD+cnw==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
         dependencies:
    -      '@babel/core': 7.24.0
    +      '@babel/core': 7.24.3
           '@babel/helper-plugin-utils': 7.24.0
           regenerator-transform: 0.15.2
         dev: true
     
    -  /@babel/plugin-transform-reserved-words@7.23.3(@babel/core@7.24.0):
    -    resolution: {integrity: sha512-QnNTazY54YqgGxwIexMZva9gqbPa15t/x9VS+0fsEFWplwVpXYZivtgl43Z1vMpc1bdPP2PP8siFeVcnFvA3Cg==}
    +  /@babel/plugin-transform-reserved-words@7.24.1(@babel/core@7.24.3):
    +    resolution: {integrity: sha512-JAclqStUfIwKN15HrsQADFgeZt+wexNQ0uLhuqvqAUFoqPMjEcFCYZBhq0LUdz6dZK/mD+rErhW71fbx8RYElg==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
         dependencies:
    -      '@babel/core': 7.24.0
    +      '@babel/core': 7.24.3
           '@babel/helper-plugin-utils': 7.24.0
         dev: true
     
    -  /@babel/plugin-transform-shorthand-properties@7.23.3(@babel/core@7.24.0):
    -    resolution: {integrity: sha512-ED2fgqZLmexWiN+YNFX26fx4gh5qHDhn1O2gvEhreLW2iI63Sqm4llRLCXALKrCnbN4Jy0VcMQZl/SAzqug/jg==}
    +  /@babel/plugin-transform-shorthand-properties@7.24.1(@babel/core@7.24.3):
    +    resolution: {integrity: sha512-LyjVB1nsJ6gTTUKRjRWx9C1s9hE7dLfP/knKdrfeH9UPtAGjYGgxIbFfx7xyLIEWs7Xe1Gnf8EWiUqfjLhInZA==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
         dependencies:
    -      '@babel/core': 7.24.0
    +      '@babel/core': 7.24.3
           '@babel/helper-plugin-utils': 7.24.0
         dev: true
     
    -  /@babel/plugin-transform-spread@7.23.3(@babel/core@7.24.0):
    -    resolution: {integrity: sha512-VvfVYlrlBVu+77xVTOAoxQ6mZbnIq5FM0aGBSFEcIh03qHf+zNqA4DC/3XMUozTg7bZV3e3mZQ0i13VB6v5yUg==}
    +  /@babel/plugin-transform-spread@7.24.1(@babel/core@7.24.3):
    +    resolution: {integrity: sha512-KjmcIM+fxgY+KxPVbjelJC6hrH1CgtPmTvdXAfn3/a9CnWGSTY7nH4zm5+cjmWJybdcPSsD0++QssDsjcpe47g==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
         dependencies:
    -      '@babel/core': 7.24.0
    +      '@babel/core': 7.24.3
           '@babel/helper-plugin-utils': 7.24.0
           '@babel/helper-skip-transparent-expression-wrappers': 7.22.5
         dev: true
     
    -  /@babel/plugin-transform-sticky-regex@7.23.3(@babel/core@7.24.0):
    -    resolution: {integrity: sha512-HZOyN9g+rtvnOU3Yh7kSxXrKbzgrm5X4GncPY1QOquu7epga5MxKHVpYu2hvQnry/H+JjckSYRb93iNfsioAGg==}
    +  /@babel/plugin-transform-sticky-regex@7.24.1(@babel/core@7.24.3):
    +    resolution: {integrity: sha512-9v0f1bRXgPVcPrngOQvLXeGNNVLc8UjMVfebo9ka0WF3/7+aVUHmaJVT3sa0XCzEFioPfPHZiOcYG9qOsH63cw==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
         dependencies:
    -      '@babel/core': 7.24.0
    +      '@babel/core': 7.24.3
           '@babel/helper-plugin-utils': 7.24.0
         dev: true
     
    -  /@babel/plugin-transform-template-literals@7.23.3(@babel/core@7.24.0):
    -    resolution: {integrity: sha512-Flok06AYNp7GV2oJPZZcP9vZdszev6vPBkHLwxwSpaIqx75wn6mUd3UFWsSsA0l8nXAKkyCmL/sR02m8RYGeHg==}
    +  /@babel/plugin-transform-template-literals@7.24.1(@babel/core@7.24.3):
    +    resolution: {integrity: sha512-WRkhROsNzriarqECASCNu/nojeXCDTE/F2HmRgOzi7NGvyfYGq1NEjKBK3ckLfRgGc6/lPAqP0vDOSw3YtG34g==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
         dependencies:
    -      '@babel/core': 7.24.0
    +      '@babel/core': 7.24.3
           '@babel/helper-plugin-utils': 7.24.0
         dev: true
     
    -  /@babel/plugin-transform-typeof-symbol@7.23.3(@babel/core@7.24.0):
    -    resolution: {integrity: sha512-4t15ViVnaFdrPC74be1gXBSMzXk3B4Us9lP7uLRQHTFpV5Dvt33pn+2MyyNxmN3VTTm3oTrZVMUmuw3oBnQ2oQ==}
    +  /@babel/plugin-transform-typeof-symbol@7.24.1(@babel/core@7.24.3):
    +    resolution: {integrity: sha512-CBfU4l/A+KruSUoW+vTQthwcAdwuqbpRNB8HQKlZABwHRhsdHZ9fezp4Sn18PeAlYxTNiLMlx4xUBV3AWfg1BA==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
         dependencies:
    -      '@babel/core': 7.24.0
    +      '@babel/core': 7.24.3
           '@babel/helper-plugin-utils': 7.24.0
         dev: true
     
    -  /@babel/plugin-transform-typescript@7.24.1(@babel/core@7.24.3):
    -    resolution: {integrity: sha512-liYSESjX2fZ7JyBFkYG78nfvHlMKE6IpNdTVnxmlYUR+j5ZLsitFbaAE+eJSK2zPPkNWNw4mXL51rQ8WrvdK0w==}
    +  /@babel/plugin-transform-typescript@7.23.6(@babel/core@7.24.0):
    +    resolution: {integrity: sha512-6cBG5mBvUu4VUD04OHKnYzbuHNP8huDsD3EDqqpIpsswTDoqHCjLoHb6+QgsV1WsT2nipRqCPgxD3LXnEO7XfA==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
         dependencies:
    -      '@babel/core': 7.24.3
    +      '@babel/core': 7.24.0
           '@babel/helper-annotate-as-pure': 7.22.5
    -      '@babel/helper-create-class-features-plugin': 7.24.1(@babel/core@7.24.3)
    +      '@babel/helper-create-class-features-plugin': 7.24.0(@babel/core@7.24.0)
           '@babel/helper-plugin-utils': 7.24.0
    -      '@babel/plugin-syntax-typescript': 7.24.1(@babel/core@7.24.3)
    +      '@babel/plugin-syntax-typescript': 7.23.3(@babel/core@7.24.0)
         dev: true
     
    -  /@babel/plugin-transform-unicode-escapes@7.23.3(@babel/core@7.24.0):
    -    resolution: {integrity: sha512-OMCUx/bU6ChE3r4+ZdylEqAjaQgHAgipgW8nsCfu5pGqDcFytVd91AwRvUJSBZDz0exPGgnjoqhgRYLRjFZc9Q==}
    +  /@babel/plugin-transform-unicode-escapes@7.24.1(@babel/core@7.24.3):
    +    resolution: {integrity: sha512-RlkVIcWT4TLI96zM660S877E7beKlQw7Ig+wqkKBiWfj0zH5Q4h50q6er4wzZKRNSYpfo6ILJ+hrJAGSX2qcNw==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
         dependencies:
    -      '@babel/core': 7.24.0
    +      '@babel/core': 7.24.3
           '@babel/helper-plugin-utils': 7.24.0
         dev: true
     
    -  /@babel/plugin-transform-unicode-property-regex@7.23.3(@babel/core@7.24.0):
    -    resolution: {integrity: sha512-KcLIm+pDZkWZQAFJ9pdfmh89EwVfmNovFBcXko8szpBeF8z68kWIPeKlmSOkT9BXJxs2C0uk+5LxoxIv62MROA==}
    +  /@babel/plugin-transform-unicode-property-regex@7.24.1(@babel/core@7.24.3):
    +    resolution: {integrity: sha512-Ss4VvlfYV5huWApFsF8/Sq0oXnGO+jB+rijFEFugTd3cwSObUSnUi88djgR5528Csl0uKlrI331kRqe56Ov2Ng==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
         dependencies:
    -      '@babel/core': 7.24.0
    -      '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.24.0)
    +      '@babel/core': 7.24.3
    +      '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.24.3)
           '@babel/helper-plugin-utils': 7.24.0
         dev: true
     
    -  /@babel/plugin-transform-unicode-regex@7.23.3(@babel/core@7.24.0):
    -    resolution: {integrity: sha512-wMHpNA4x2cIA32b/ci3AfwNgheiva2W0WUKWTK7vBHBhDKfPsc5cFGNWm69WBqpwd86u1qwZ9PWevKqm1A3yAw==}
    +  /@babel/plugin-transform-unicode-regex@7.24.1(@babel/core@7.24.3):
    +    resolution: {integrity: sha512-2A/94wgZgxfTsiLaQ2E36XAOdcZmGAaEEgVmxQWwZXWkGhvoHbaqXcKnU8zny4ycpu3vNqg0L/PcCiYtHtA13g==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
         dependencies:
    -      '@babel/core': 7.24.0
    -      '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.24.0)
    +      '@babel/core': 7.24.3
    +      '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.24.3)
           '@babel/helper-plugin-utils': 7.24.0
         dev: true
     
    -  /@babel/plugin-transform-unicode-sets-regex@7.23.3(@babel/core@7.24.0):
    -    resolution: {integrity: sha512-W7lliA/v9bNR83Qc3q1ip9CQMZ09CcHDbHfbLRDNuAhn1Mvkr1ZNF7hPmztMQvtTGVLJ9m8IZqWsTkXOml8dbw==}
    +  /@babel/plugin-transform-unicode-sets-regex@7.24.1(@babel/core@7.24.3):
    +    resolution: {integrity: sha512-fqj4WuzzS+ukpgerpAoOnMfQXwUHFxXUZUE84oL2Kao2N8uSlvcpnAidKASgsNgzZHBsHWvcm8s9FPWUhAb8fA==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0
         dependencies:
    -      '@babel/core': 7.24.0
    -      '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.24.0)
    +      '@babel/core': 7.24.3
    +      '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.24.3)
           '@babel/helper-plugin-utils': 7.24.0
         dev: true
     
    -  /@babel/preset-env@7.24.0(@babel/core@7.24.0):
    -    resolution: {integrity: sha512-ZxPEzV9IgvGn73iK0E6VB9/95Nd7aMFpbE0l8KQFDG70cOV9IxRP7Y2FUPmlK0v6ImlLqYX50iuZ3ZTVhOF2lA==}
    +  /@babel/preset-env@7.24.3(@babel/core@7.24.3):
    +    resolution: {integrity: sha512-fSk430k5c2ff8536JcPvPWK4tZDwehWLGlBp0wrsBUjZVdeQV6lePbwKWZaZfK2vnh/1kQX1PzAJWsnBmVgGJA==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
         dependencies:
    -      '@babel/compat-data': 7.23.5
    -      '@babel/core': 7.24.0
    +      '@babel/compat-data': 7.24.1
    +      '@babel/core': 7.24.3
           '@babel/helper-compilation-targets': 7.23.6
           '@babel/helper-plugin-utils': 7.24.0
           '@babel/helper-validator-option': 7.23.5
    -      '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression': 7.23.3(@babel/core@7.24.0)
    -      '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.23.3(@babel/core@7.24.0)
    -      '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly': 7.23.7(@babel/core@7.24.0)
    -      '@babel/plugin-proposal-private-property-in-object': 7.21.0-placeholder-for-preset-env.2(@babel/core@7.24.0)
    -      '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.24.0)
    -      '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.24.0)
    -      '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.24.0)
    -      '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.24.0)
    -      '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.24.0)
    -      '@babel/plugin-syntax-import-assertions': 7.23.3(@babel/core@7.24.0)
    -      '@babel/plugin-syntax-import-attributes': 7.23.3(@babel/core@7.24.0)
    -      '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.24.0)
    -      '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.24.0)
    -      '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.24.0)
    -      '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.24.0)
    -      '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.24.0)
    -      '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.24.0)
    -      '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.24.0)
    -      '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.24.0)
    -      '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.24.0)
    -      '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.24.0)
    -      '@babel/plugin-syntax-unicode-sets-regex': 7.18.6(@babel/core@7.24.0)
    -      '@babel/plugin-transform-arrow-functions': 7.23.3(@babel/core@7.24.0)
    -      '@babel/plugin-transform-async-generator-functions': 7.23.9(@babel/core@7.24.0)
    -      '@babel/plugin-transform-async-to-generator': 7.23.3(@babel/core@7.24.0)
    -      '@babel/plugin-transform-block-scoped-functions': 7.23.3(@babel/core@7.24.0)
    -      '@babel/plugin-transform-block-scoping': 7.23.4(@babel/core@7.24.0)
    -      '@babel/plugin-transform-class-properties': 7.23.3(@babel/core@7.24.0)
    -      '@babel/plugin-transform-class-static-block': 7.23.4(@babel/core@7.24.0)
    -      '@babel/plugin-transform-classes': 7.23.8(@babel/core@7.24.0)
    -      '@babel/plugin-transform-computed-properties': 7.23.3(@babel/core@7.24.0)
    -      '@babel/plugin-transform-destructuring': 7.23.3(@babel/core@7.24.0)
    -      '@babel/plugin-transform-dotall-regex': 7.23.3(@babel/core@7.24.0)
    -      '@babel/plugin-transform-duplicate-keys': 7.23.3(@babel/core@7.24.0)
    -      '@babel/plugin-transform-dynamic-import': 7.23.4(@babel/core@7.24.0)
    -      '@babel/plugin-transform-exponentiation-operator': 7.23.3(@babel/core@7.24.0)
    -      '@babel/plugin-transform-export-namespace-from': 7.23.4(@babel/core@7.24.0)
    -      '@babel/plugin-transform-for-of': 7.23.6(@babel/core@7.24.0)
    -      '@babel/plugin-transform-function-name': 7.23.3(@babel/core@7.24.0)
    -      '@babel/plugin-transform-json-strings': 7.23.4(@babel/core@7.24.0)
    -      '@babel/plugin-transform-literals': 7.23.3(@babel/core@7.24.0)
    -      '@babel/plugin-transform-logical-assignment-operators': 7.23.4(@babel/core@7.24.0)
    -      '@babel/plugin-transform-member-expression-literals': 7.23.3(@babel/core@7.24.0)
    -      '@babel/plugin-transform-modules-amd': 7.23.3(@babel/core@7.24.0)
    -      '@babel/plugin-transform-modules-commonjs': 7.23.3(@babel/core@7.24.0)
    -      '@babel/plugin-transform-modules-systemjs': 7.23.9(@babel/core@7.24.0)
    -      '@babel/plugin-transform-modules-umd': 7.23.3(@babel/core@7.24.0)
    -      '@babel/plugin-transform-named-capturing-groups-regex': 7.22.5(@babel/core@7.24.0)
    -      '@babel/plugin-transform-new-target': 7.23.3(@babel/core@7.24.0)
    -      '@babel/plugin-transform-nullish-coalescing-operator': 7.23.4(@babel/core@7.24.0)
    -      '@babel/plugin-transform-numeric-separator': 7.23.4(@babel/core@7.24.0)
    -      '@babel/plugin-transform-object-rest-spread': 7.24.0(@babel/core@7.24.0)
    -      '@babel/plugin-transform-object-super': 7.23.3(@babel/core@7.24.0)
    -      '@babel/plugin-transform-optional-catch-binding': 7.23.4(@babel/core@7.24.0)
    -      '@babel/plugin-transform-optional-chaining': 7.23.4(@babel/core@7.24.0)
    -      '@babel/plugin-transform-parameters': 7.23.3(@babel/core@7.24.0)
    -      '@babel/plugin-transform-private-methods': 7.23.3(@babel/core@7.24.0)
    -      '@babel/plugin-transform-private-property-in-object': 7.23.4(@babel/core@7.24.0)
    -      '@babel/plugin-transform-property-literals': 7.23.3(@babel/core@7.24.0)
    -      '@babel/plugin-transform-regenerator': 7.23.3(@babel/core@7.24.0)
    -      '@babel/plugin-transform-reserved-words': 7.23.3(@babel/core@7.24.0)
    -      '@babel/plugin-transform-shorthand-properties': 7.23.3(@babel/core@7.24.0)
    -      '@babel/plugin-transform-spread': 7.23.3(@babel/core@7.24.0)
    -      '@babel/plugin-transform-sticky-regex': 7.23.3(@babel/core@7.24.0)
    -      '@babel/plugin-transform-template-literals': 7.23.3(@babel/core@7.24.0)
    -      '@babel/plugin-transform-typeof-symbol': 7.23.3(@babel/core@7.24.0)
    -      '@babel/plugin-transform-unicode-escapes': 7.23.3(@babel/core@7.24.0)
    -      '@babel/plugin-transform-unicode-property-regex': 7.23.3(@babel/core@7.24.0)
    -      '@babel/plugin-transform-unicode-regex': 7.23.3(@babel/core@7.24.0)
    -      '@babel/plugin-transform-unicode-sets-regex': 7.23.3(@babel/core@7.24.0)
    -      '@babel/preset-modules': 0.1.6-no-external-plugins(@babel/core@7.24.0)
    -      babel-plugin-polyfill-corejs2: 0.4.8(@babel/core@7.24.0)
    -      babel-plugin-polyfill-corejs3: 0.9.0(@babel/core@7.24.0)
    -      babel-plugin-polyfill-regenerator: 0.5.5(@babel/core@7.24.0)
    -      core-js-compat: 3.36.0
    +      '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression': 7.24.1(@babel/core@7.24.3)
    +      '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.24.1(@babel/core@7.24.3)
    +      '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly': 7.24.1(@babel/core@7.24.3)
    +      '@babel/plugin-proposal-private-property-in-object': 7.21.0-placeholder-for-preset-env.2(@babel/core@7.24.3)
    +      '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.24.3)
    +      '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.24.3)
    +      '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.24.3)
    +      '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.24.3)
    +      '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.24.3)
    +      '@babel/plugin-syntax-import-assertions': 7.24.1(@babel/core@7.24.3)
    +      '@babel/plugin-syntax-import-attributes': 7.24.1(@babel/core@7.24.3)
    +      '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.24.3)
    +      '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.24.3)
    +      '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.24.3)
    +      '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.24.3)
    +      '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.24.3)
    +      '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.24.3)
    +      '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.24.3)
    +      '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.24.3)
    +      '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.24.3)
    +      '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.24.3)
    +      '@babel/plugin-syntax-unicode-sets-regex': 7.18.6(@babel/core@7.24.3)
    +      '@babel/plugin-transform-arrow-functions': 7.24.1(@babel/core@7.24.3)
    +      '@babel/plugin-transform-async-generator-functions': 7.24.3(@babel/core@7.24.3)
    +      '@babel/plugin-transform-async-to-generator': 7.24.1(@babel/core@7.24.3)
    +      '@babel/plugin-transform-block-scoped-functions': 7.24.1(@babel/core@7.24.3)
    +      '@babel/plugin-transform-block-scoping': 7.24.1(@babel/core@7.24.3)
    +      '@babel/plugin-transform-class-properties': 7.24.1(@babel/core@7.24.3)
    +      '@babel/plugin-transform-class-static-block': 7.24.1(@babel/core@7.24.3)
    +      '@babel/plugin-transform-classes': 7.24.1(@babel/core@7.24.3)
    +      '@babel/plugin-transform-computed-properties': 7.24.1(@babel/core@7.24.3)
    +      '@babel/plugin-transform-destructuring': 7.24.1(@babel/core@7.24.3)
    +      '@babel/plugin-transform-dotall-regex': 7.24.1(@babel/core@7.24.3)
    +      '@babel/plugin-transform-duplicate-keys': 7.24.1(@babel/core@7.24.3)
    +      '@babel/plugin-transform-dynamic-import': 7.24.1(@babel/core@7.24.3)
    +      '@babel/plugin-transform-exponentiation-operator': 7.24.1(@babel/core@7.24.3)
    +      '@babel/plugin-transform-export-namespace-from': 7.24.1(@babel/core@7.24.3)
    +      '@babel/plugin-transform-for-of': 7.24.1(@babel/core@7.24.3)
    +      '@babel/plugin-transform-function-name': 7.24.1(@babel/core@7.24.3)
    +      '@babel/plugin-transform-json-strings': 7.24.1(@babel/core@7.24.3)
    +      '@babel/plugin-transform-literals': 7.24.1(@babel/core@7.24.3)
    +      '@babel/plugin-transform-logical-assignment-operators': 7.24.1(@babel/core@7.24.3)
    +      '@babel/plugin-transform-member-expression-literals': 7.24.1(@babel/core@7.24.3)
    +      '@babel/plugin-transform-modules-amd': 7.24.1(@babel/core@7.24.3)
    +      '@babel/plugin-transform-modules-commonjs': 7.24.1(@babel/core@7.24.3)
    +      '@babel/plugin-transform-modules-systemjs': 7.24.1(@babel/core@7.24.3)
    +      '@babel/plugin-transform-modules-umd': 7.24.1(@babel/core@7.24.3)
    +      '@babel/plugin-transform-named-capturing-groups-regex': 7.22.5(@babel/core@7.24.3)
    +      '@babel/plugin-transform-new-target': 7.24.1(@babel/core@7.24.3)
    +      '@babel/plugin-transform-nullish-coalescing-operator': 7.24.1(@babel/core@7.24.3)
    +      '@babel/plugin-transform-numeric-separator': 7.24.1(@babel/core@7.24.3)
    +      '@babel/plugin-transform-object-rest-spread': 7.24.1(@babel/core@7.24.3)
    +      '@babel/plugin-transform-object-super': 7.24.1(@babel/core@7.24.3)
    +      '@babel/plugin-transform-optional-catch-binding': 7.24.1(@babel/core@7.24.3)
    +      '@babel/plugin-transform-optional-chaining': 7.24.1(@babel/core@7.24.3)
    +      '@babel/plugin-transform-parameters': 7.24.1(@babel/core@7.24.3)
    +      '@babel/plugin-transform-private-methods': 7.24.1(@babel/core@7.24.3)
    +      '@babel/plugin-transform-private-property-in-object': 7.24.1(@babel/core@7.24.3)
    +      '@babel/plugin-transform-property-literals': 7.24.1(@babel/core@7.24.3)
    +      '@babel/plugin-transform-regenerator': 7.24.1(@babel/core@7.24.3)
    +      '@babel/plugin-transform-reserved-words': 7.24.1(@babel/core@7.24.3)
    +      '@babel/plugin-transform-shorthand-properties': 7.24.1(@babel/core@7.24.3)
    +      '@babel/plugin-transform-spread': 7.24.1(@babel/core@7.24.3)
    +      '@babel/plugin-transform-sticky-regex': 7.24.1(@babel/core@7.24.3)
    +      '@babel/plugin-transform-template-literals': 7.24.1(@babel/core@7.24.3)
    +      '@babel/plugin-transform-typeof-symbol': 7.24.1(@babel/core@7.24.3)
    +      '@babel/plugin-transform-unicode-escapes': 7.24.1(@babel/core@7.24.3)
    +      '@babel/plugin-transform-unicode-property-regex': 7.24.1(@babel/core@7.24.3)
    +      '@babel/plugin-transform-unicode-regex': 7.24.1(@babel/core@7.24.3)
    +      '@babel/plugin-transform-unicode-sets-regex': 7.24.1(@babel/core@7.24.3)
    +      '@babel/preset-modules': 0.1.6-no-external-plugins(@babel/core@7.24.3)
    +      babel-plugin-polyfill-corejs2: 0.4.10(@babel/core@7.24.3)
    +      babel-plugin-polyfill-corejs3: 0.10.4(@babel/core@7.24.3)
    +      babel-plugin-polyfill-regenerator: 0.6.1(@babel/core@7.24.3)
    +      core-js-compat: 3.36.1
           semver: 6.3.1
         transitivePeerDependencies:
           - supports-color
         dev: true
     
    -  /@babel/preset-modules@0.1.6-no-external-plugins(@babel/core@7.24.0):
    +  /@babel/preset-modules@0.1.6-no-external-plugins(@babel/core@7.24.3):
         resolution: {integrity: sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA==}
         peerDependencies:
           '@babel/core': ^7.0.0-0 || ^8.0.0-0 <8.0.0
         dependencies:
    -      '@babel/core': 7.24.0
    +      '@babel/core': 7.24.3
           '@babel/helper-plugin-utils': 7.24.0
           '@babel/types': 7.24.0
           esutils: 2.0.3
         dev: true
     
    -  /@babel/preset-typescript@7.24.1(@babel/core@7.24.3):
    -    resolution: {integrity: sha512-1DBaMmRDpuYQBPWD8Pf/WEwCrtgRHxsZnP4mIy9G/X+hFfbI47Q2G4t1Paakld84+qsk2fSsUPMKg71jkoOOaQ==}
    +  /@babel/preset-typescript@7.23.3(@babel/core@7.24.0):
    +    resolution: {integrity: sha512-17oIGVlqz6CchO9RFYn5U6ZpWRZIngayYCtrPRSgANSwC2V1Jb+iP74nVxzzXJte8b8BYxrL1yY96xfhTBrNNQ==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
         dependencies:
    -      '@babel/core': 7.24.3
    +      '@babel/core': 7.24.0
           '@babel/helper-plugin-utils': 7.24.0
           '@babel/helper-validator-option': 7.23.5
    -      '@babel/plugin-syntax-jsx': 7.24.1(@babel/core@7.24.3)
    -      '@babel/plugin-transform-modules-commonjs': 7.24.1(@babel/core@7.24.3)
    -      '@babel/plugin-transform-typescript': 7.24.1(@babel/core@7.24.3)
    +      '@babel/plugin-syntax-jsx': 7.23.3(@babel/core@7.24.0)
    +      '@babel/plugin-transform-modules-commonjs': 7.23.3(@babel/core@7.24.0)
    +      '@babel/plugin-transform-typescript': 7.23.6(@babel/core@7.24.0)
         dev: true
     
       /@babel/regjsgen@0.8.0:
    @@ -2515,6 +2606,13 @@ packages:
           regenerator-runtime: 0.14.1
         dev: true
     
    +  /@babel/runtime@7.24.1:
    +    resolution: {integrity: sha512-+BIznRzyqBf+2wCTxcKE3wDjfGeCoVE61KSHGpkzqrLi8qxqFwBeUFyId2cxkTmm55fzDGnm0+yCxaxygrLUnQ==}
    +    engines: {node: '>=6.9.0'}
    +    dependencies:
    +      regenerator-runtime: 0.14.1
    +    dev: true
    +
       /@babel/template@7.22.5:
         resolution: {integrity: sha512-X7yV7eiwAxdj9k94NEylvbVHLiVG1nvzCV2EAowhxLTwODV1jl9UzZ48leOC0sH7OnuHrIkllaBgneUykIcZaw==}
         engines: {node: '>=6.9.0'}
    @@ -2955,8 +3053,8 @@ packages:
         engines: {node: '>=18'}
         dev: true
     
    -  /@cypress/code-coverage@3.12.32(@babel/core@7.24.0)(@babel/preset-env@7.24.0)(babel-loader@9.1.3)(cypress@13.7.1)(webpack@5.91.0):
    -    resolution: {integrity: sha512-wlUK79q1em5RnJ2HsSNOqDU0WvXMHCDyjpq2miWA0P0naG+IV+/aqQ3kJwmH6KlYu+41Gaam0FGW11SSxCmVJw==}
    +  /@cypress/code-coverage@3.12.30(@babel/core@7.24.3)(@babel/preset-env@7.24.3)(babel-loader@9.1.3)(cypress@13.7.1)(webpack@5.91.0):
    +    resolution: {integrity: sha512-3pE2NgAIHPw92MCzgXAtJJe6Z0z4HUJuorWBSh9Ly0s/BpLf9lZKRI8WhMIDA35oFjAmNCsChiXHFy47evasfw==}
         peerDependencies:
           '@babel/core': ^7.0.1
           '@babel/preset-env': ^7.0.0
    @@ -2964,10 +3062,10 @@ packages:
           cypress: '*'
           webpack: ^4 || ^5
         dependencies:
    -      '@babel/core': 7.24.0
    -      '@babel/preset-env': 7.24.0(@babel/core@7.24.0)
    -      '@cypress/webpack-preprocessor': 6.0.1(@babel/core@7.24.0)(@babel/preset-env@7.24.0)(babel-loader@9.1.3)(webpack@5.91.0)
    -      babel-loader: 9.1.3(@babel/core@7.24.0)(webpack@5.91.0)
    +      '@babel/core': 7.24.3
    +      '@babel/preset-env': 7.24.3(@babel/core@7.24.3)
    +      '@cypress/webpack-preprocessor': 6.0.1(@babel/core@7.24.3)(@babel/preset-env@7.24.3)(babel-loader@9.1.3)(webpack@5.91.0)
    +      babel-loader: 9.1.3(@babel/core@7.24.3)(webpack@5.91.0)
           chalk: 4.1.2
           cypress: 13.7.1
           dayjs: 1.11.10
    @@ -3006,7 +3104,7 @@ packages:
           uuid: 8.3.2
         dev: true
     
    -  /@cypress/webpack-preprocessor@6.0.1(@babel/core@7.24.0)(@babel/preset-env@7.24.0)(babel-loader@9.1.3)(webpack@5.91.0):
    +  /@cypress/webpack-preprocessor@6.0.1(@babel/core@7.24.3)(@babel/preset-env@7.24.3)(babel-loader@9.1.3)(webpack@5.91.0):
         resolution: {integrity: sha512-WVNeFVSnFKxE3WZNRIriduTgqJRpevaiJIPlfqYTTzfXRD7X1Pv4woDE+G4caPV9bJqVKmVFiwzrXMRNeJxpxA==}
         peerDependencies:
           '@babel/core': ^7.0.1
    @@ -3014,9 +3112,9 @@ packages:
           babel-loader: ^8.3 || ^9
           webpack: ^4 || ^5
         dependencies:
    -      '@babel/core': 7.24.0
    -      '@babel/preset-env': 7.24.0(@babel/core@7.24.0)
    -      babel-loader: 9.1.3(@babel/core@7.24.0)(webpack@5.91.0)
    +      '@babel/core': 7.24.3
    +      '@babel/preset-env': 7.24.3(@babel/core@7.24.3)
    +      babel-loader: 9.1.3(@babel/core@7.24.3)(webpack@5.91.0)
           bluebird: 3.7.1
           debug: 4.3.4(supports-color@8.1.1)
           lodash: 4.17.21
    @@ -3039,27 +3137,10 @@ packages:
         engines: {node: '>=10.0.0'}
         dev: true
     
    -  /@docsearch/css@3.5.2:
    -    resolution: {integrity: sha512-SPiDHaWKQZpwR2siD0KQUwlStvIAnEyK6tAE2h2Wuoq8ue9skzhlyVQ1ddzOxX6khULnAALDiR/isSF3bnuciA==}
    -    dev: true
    -
       /@docsearch/css@3.6.0:
         resolution: {integrity: sha512-+sbxb71sWre+PwDK7X2T8+bhS6clcVMLwBPznX45Qu6opJcgRjAp7gYSDzVFp187J+feSj5dNBN1mJoi6ckkUQ==}
         dev: true
     
    -  /@docsearch/js@3.5.2(@algolia/client-search@4.22.1)(search-insights@2.13.0):
    -    resolution: {integrity: sha512-p1YFTCDflk8ieHgFJYfmyHBki1D61+U9idwrLh+GQQMrBSP3DLGKpy0XUJtPjAOPltcVbqsTjiPFfH7JImjUNg==}
    -    dependencies:
    -      '@docsearch/react': 3.5.2(@algolia/client-search@4.22.1)(search-insights@2.13.0)
    -      preact: 10.19.6
    -    transitivePeerDependencies:
    -      - '@algolia/client-search'
    -      - '@types/react'
    -      - react
    -      - react-dom
    -      - search-insights
    -    dev: true
    -
       /@docsearch/js@3.6.0(@algolia/client-search@4.22.1)(search-insights@2.13.0):
         resolution: {integrity: sha512-QujhqINEElrkIfKwyyyTfbsfMAYCkylInLYMRqHy7PHc8xTBQCow73tlo/Kc7oIwBrCLf0P3YhjlOeV4v8hevQ==}
         dependencies:
    @@ -3073,32 +3154,6 @@ packages:
           - search-insights
         dev: true
     
    -  /@docsearch/react@3.5.2(@algolia/client-search@4.22.1)(search-insights@2.13.0):
    -    resolution: {integrity: sha512-9Ahcrs5z2jq/DcAvYtvlqEBHImbm4YJI8M9y0x6Tqg598P40HTEkX7hsMcIuThI+hTFxRGZ9hll0Wygm2yEjng==}
    -    peerDependencies:
    -      '@types/react': '>= 16.8.0 < 19.0.0'
    -      react: '>= 16.8.0 < 19.0.0'
    -      react-dom: '>= 16.8.0 < 19.0.0'
    -      search-insights: '>= 1 < 3'
    -    peerDependenciesMeta:
    -      '@types/react':
    -        optional: true
    -      react:
    -        optional: true
    -      react-dom:
    -        optional: true
    -      search-insights:
    -        optional: true
    -    dependencies:
    -      '@algolia/autocomplete-core': 1.9.3(@algolia/client-search@4.22.1)(algoliasearch@4.22.1)(search-insights@2.13.0)
    -      '@algolia/autocomplete-preset-algolia': 1.9.3(@algolia/client-search@4.22.1)(algoliasearch@4.22.1)
    -      '@docsearch/css': 3.5.2
    -      algoliasearch: 4.22.1
    -      search-insights: 2.13.0
    -    transitivePeerDependencies:
    -      - '@algolia/client-search'
    -    dev: true
    -
       /@docsearch/react@3.6.0(@algolia/client-search@4.22.1)(search-insights@2.13.0):
         resolution: {integrity: sha512-HUFut4ztcVNmqy9gp/wxNbC7pTOHhgVVkHVGCACTuLhUKUhKAF9KYHJtMiLUJxEqiFLQiuri1fWF8zqwM/cu1w==}
         peerDependencies:
    @@ -3969,8 +4024,8 @@ packages:
         resolution: {integrity: sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==}
         engines: {node: '>=6.0.0'}
     
    -  /@jridgewell/source-map@0.3.5:
    -    resolution: {integrity: sha512-UTYAUj/wviwdsMfzoSJspJxbkH5o1snzwX0//0ENX1u/55kkZZkcTZP6u9bwKGkv+dkk9at4m1Cpt0uY80kcpQ==}
    +  /@jridgewell/source-map@0.3.6:
    +    resolution: {integrity: sha512-1ZJTZebgqllO79ue2bm3rIGud/bOe0pP5BjSRCRxxYkEZS8STV7zN84UBbiYu7jy+eCKSnVIUgoWWE/tt+shMQ==}
         dependencies:
           '@jridgewell/gen-mapping': 0.3.5
           '@jridgewell/trace-mapping': 0.3.25
    @@ -4043,11 +4098,11 @@ packages:
         resolution: {integrity: sha512-oZLYFEAzUKyi3SKnXvj32ZCEGH6RDnao7COuCVhDydMS9NrCSVXhM79VaKyP5+Zc33m0QXEd2DN3UkU7OsHcfw==}
         dev: true
     
    -  /@polka/url@1.0.0-next.24:
    -    resolution: {integrity: sha512-2LuNTFBIO0m7kKIQvvPHN6UE63VjpmL9rnEEaOOaiSPbZK+zUOYIzBAWcED+3XYzhYsd/0mD57VdxAEqqV52CQ==}
    +  /@polka/url@1.0.0-next.25:
    +    resolution: {integrity: sha512-j7P6Rgr3mmtdkeDGTe0E/aYyWEWVtc5yFXtHCRHs28/jptDEWfaVOc5T7cblqy1XKPPfCxJc/8DwQ5YgLOZOVQ==}
         dev: true
     
    -  /@rollup/plugin-babel@5.3.1(@babel/core@7.24.0)(rollup@2.79.1):
    +  /@rollup/plugin-babel@5.3.1(@babel/core@7.24.3)(rollup@2.79.1):
         resolution: {integrity: sha512-WFfdLWU/xVWKeRQnKmIAQULUI7Il0gZnBIH/ZFO069wYIfPu+8zrfp/KMW0atmELoRDq8FbiP3VCss9MhCut7Q==}
         engines: {node: '>= 10.0.0'}
         peerDependencies:
    @@ -4058,8 +4113,8 @@ packages:
           '@types/babel__core':
             optional: true
         dependencies:
    -      '@babel/core': 7.24.0
    -      '@babel/helper-module-imports': 7.22.15
    +      '@babel/core': 7.24.3
    +      '@babel/helper-module-imports': 7.24.3
           '@rollup/pluginutils': 3.1.0(rollup@2.79.1)
           rollup: 2.79.1
         dev: true
    @@ -4134,112 +4189,104 @@ packages:
           rollup: 2.79.1
         dev: true
     
    -  /@rollup/rollup-android-arm-eabi@4.13.1:
    -    resolution: {integrity: sha512-4C4UERETjXpC4WpBXDbkgNVgHyWfG3B/NKY46e7w5H134UDOFqUJKpsLm0UYmuupW+aJmRgeScrDNfvZ5WV80A==}
    +  /@rollup/rollup-android-arm-eabi@4.13.0:
    +    resolution: {integrity: sha512-5ZYPOuaAqEH/W3gYsRkxQATBW3Ii1MfaT4EQstTnLKViLi2gLSQmlmtTpGucNP3sXEpOiI5tdGhjdE111ekyEg==}
         cpu: [arm]
         os: [android]
         requiresBuild: true
         dev: true
         optional: true
     
    -  /@rollup/rollup-android-arm64@4.13.1:
    -    resolution: {integrity: sha512-TrTaFJ9pXgfXEiJKQ3yQRelpQFqgRzVR9it8DbeRzG0RX7mKUy0bqhCFsgevwXLJepQKTnLl95TnPGf9T9AMOA==}
    +  /@rollup/rollup-android-arm64@4.13.0:
    +    resolution: {integrity: sha512-BSbaCmn8ZadK3UAQdlauSvtaJjhlDEjS5hEVVIN3A4bbl3X+otyf/kOJV08bYiRxfejP3DXFzO2jz3G20107+Q==}
         cpu: [arm64]
         os: [android]
         requiresBuild: true
         dev: true
         optional: true
     
    -  /@rollup/rollup-darwin-arm64@4.13.1:
    -    resolution: {integrity: sha512-fz7jN6ahTI3cKzDO2otQuybts5cyu0feymg0bjvYCBrZQ8tSgE8pc0sSNEuGvifrQJWiwx9F05BowihmLxeQKw==}
    +  /@rollup/rollup-darwin-arm64@4.13.0:
    +    resolution: {integrity: sha512-Ovf2evVaP6sW5Ut0GHyUSOqA6tVKfrTHddtmxGQc1CTQa1Cw3/KMCDEEICZBbyppcwnhMwcDce9ZRxdWRpVd6g==}
         cpu: [arm64]
         os: [darwin]
         requiresBuild: true
         dev: true
         optional: true
     
    -  /@rollup/rollup-darwin-x64@4.13.1:
    -    resolution: {integrity: sha512-WTvdz7SLMlJpektdrnWRUN9C0N2qNHwNbWpNo0a3Tod3gb9leX+yrYdCeB7VV36OtoyiPAivl7/xZ3G1z5h20g==}
    +  /@rollup/rollup-darwin-x64@4.13.0:
    +    resolution: {integrity: sha512-U+Jcxm89UTK592vZ2J9st9ajRv/hrwHdnvyuJpa5A2ngGSVHypigidkQJP+YiGL6JODiUeMzkqQzbCG3At81Gg==}
         cpu: [x64]
         os: [darwin]
         requiresBuild: true
         dev: true
         optional: true
     
    -  /@rollup/rollup-linux-arm-gnueabihf@4.13.1:
    -    resolution: {integrity: sha512-dBHQl+7wZzBYcIF6o4k2XkAfwP2ks1mYW2q/Gzv9n39uDcDiAGDqEyml08OdY0BIct0yLSPkDTqn4i6czpBLLw==}
    +  /@rollup/rollup-linux-arm-gnueabihf@4.13.0:
    +    resolution: {integrity: sha512-8wZidaUJUTIR5T4vRS22VkSMOVooG0F4N+JSwQXWSRiC6yfEsFMLTYRFHvby5mFFuExHa/yAp9juSphQQJAijQ==}
         cpu: [arm]
         os: [linux]
         requiresBuild: true
         dev: true
         optional: true
     
    -  /@rollup/rollup-linux-arm64-gnu@4.13.1:
    -    resolution: {integrity: sha512-bur4JOxvYxfrAmocRJIW0SADs3QdEYK6TQ7dTNz6Z4/lySeu3Z1H/+tl0a4qDYv0bCdBpUYM0sYa/X+9ZqgfSQ==}
    +  /@rollup/rollup-linux-arm64-gnu@4.13.0:
    +    resolution: {integrity: sha512-Iu0Kno1vrD7zHQDxOmvweqLkAzjxEVqNhUIXBsZ8hu8Oak7/5VTPrxOEZXYC1nmrBVJp0ZcL2E7lSuuOVaE3+w==}
         cpu: [arm64]
         os: [linux]
         requiresBuild: true
         dev: true
         optional: true
     
    -  /@rollup/rollup-linux-arm64-musl@4.13.1:
    -    resolution: {integrity: sha512-ssp77SjcDIUSoUyj7DU7/5iwM4ZEluY+N8umtCT9nBRs3u045t0KkW02LTyHouHDomnMXaXSZcCSr2bdMK63kA==}
    +  /@rollup/rollup-linux-arm64-musl@4.13.0:
    +    resolution: {integrity: sha512-C31QrW47llgVyrRjIwiOwsHFcaIwmkKi3PCroQY5aVq4H0A5v/vVVAtFsI1nfBngtoRpeREvZOkIhmRwUKkAdw==}
         cpu: [arm64]
         os: [linux]
         requiresBuild: true
         dev: true
         optional: true
     
    -  /@rollup/rollup-linux-riscv64-gnu@4.13.1:
    -    resolution: {integrity: sha512-Jv1DkIvwEPAb+v25/Unrnnq9BO3F5cbFPT821n3S5litkz+O5NuXuNhqtPx5KtcwOTtaqkTsO+IVzJOsxd11aQ==}
    +  /@rollup/rollup-linux-riscv64-gnu@4.13.0:
    +    resolution: {integrity: sha512-Oq90dtMHvthFOPMl7pt7KmxzX7E71AfyIhh+cPhLY9oko97Zf2C9tt/XJD4RgxhaGeAraAXDtqxvKE1y/j35lA==}
         cpu: [riscv64]
         os: [linux]
         requiresBuild: true
         dev: true
         optional: true
     
    -  /@rollup/rollup-linux-s390x-gnu@4.13.1:
    -    resolution: {integrity: sha512-U564BrhEfaNChdATQaEODtquCC7Ez+8Hxz1h5MAdMYj0AqD0GA9rHCpElajb/sQcaFL6NXmHc5O+7FXpWMa73Q==}
    -    cpu: [s390x]
    -    os: [linux]
    -    requiresBuild: true
    -    dev: true
    -    optional: true
    -
    -  /@rollup/rollup-linux-x64-gnu@4.13.1:
    -    resolution: {integrity: sha512-zGRDulLTeDemR8DFYyFIQ8kMP02xpUsX4IBikc7lwL9PrwR3gWmX2NopqiGlI2ZVWMl15qZeUjumTwpv18N7sQ==}
    +  /@rollup/rollup-linux-x64-gnu@4.13.0:
    +    resolution: {integrity: sha512-yUD/8wMffnTKuiIsl6xU+4IA8UNhQ/f1sAnQebmE/lyQ8abjsVyDkyRkWop0kdMhKMprpNIhPmYlCxgHrPoXoA==}
         cpu: [x64]
         os: [linux]
         requiresBuild: true
         dev: true
         optional: true
     
    -  /@rollup/rollup-linux-x64-musl@4.13.1:
    -    resolution: {integrity: sha512-VTk/MveyPdMFkYJJPCkYBw07KcTkGU2hLEyqYMsU4NjiOfzoaDTW9PWGRsNwiOA3qI0k/JQPjkl/4FCK1smskQ==}
    +  /@rollup/rollup-linux-x64-musl@4.13.0:
    +    resolution: {integrity: sha512-9RyNqoFNdF0vu/qqX63fKotBh43fJQeYC98hCaf89DYQpv+xu0D8QFSOS0biA7cGuqJFOc1bJ+m2rhhsKcw1hw==}
         cpu: [x64]
         os: [linux]
         requiresBuild: true
         dev: true
         optional: true
     
    -  /@rollup/rollup-win32-arm64-msvc@4.13.1:
    -    resolution: {integrity: sha512-L+hX8Dtibb02r/OYCsp4sQQIi3ldZkFI0EUkMTDwRfFykXBPptoz/tuuGqEd3bThBSLRWPR6wsixDSgOx/U3Zw==}
    +  /@rollup/rollup-win32-arm64-msvc@4.13.0:
    +    resolution: {integrity: sha512-46ue8ymtm/5PUU6pCvjlic0z82qWkxv54GTJZgHrQUuZnVH+tvvSP0LsozIDsCBFO4VjJ13N68wqrKSeScUKdA==}
         cpu: [arm64]
         os: [win32]
         requiresBuild: true
         dev: true
         optional: true
     
    -  /@rollup/rollup-win32-ia32-msvc@4.13.1:
    -    resolution: {integrity: sha512-+dI2jVPfM5A8zme8riEoNC7UKk0Lzc7jCj/U89cQIrOjrZTCWZl/+IXUeRT2rEZ5j25lnSA9G9H1Ob9azaF/KQ==}
    +  /@rollup/rollup-win32-ia32-msvc@4.13.0:
    +    resolution: {integrity: sha512-P5/MqLdLSlqxbeuJ3YDeX37srC8mCflSyTrUsgbU1c/U9j6l2g2GiIdYaGD9QjdMQPMSgYm7hgg0551wHyIluw==}
         cpu: [ia32]
         os: [win32]
         requiresBuild: true
         dev: true
         optional: true
     
    -  /@rollup/rollup-win32-x64-msvc@4.13.1:
    -    resolution: {integrity: sha512-YY1Exxo2viZ/O2dMHuwQvimJ0SqvL+OAWQLLY6rvXavgQKjhQUzn7nc1Dd29gjB5Fqi00nrBWctJBOyfVMIVxw==}
    +  /@rollup/rollup-win32-x64-msvc@4.13.0:
    +    resolution: {integrity: sha512-UKXUQNbO3DOhzLRwHSpa0HnhhCgNODvfoPWv2FCXme8N/ANFfhIPMGuOT+QuKd16+B5yxZ0HdpNlqPvTMS1qfw==}
         cpu: [x64]
         os: [win32]
         requiresBuild: true
    @@ -4250,8 +4297,8 @@ packages:
         resolution: {integrity: sha512-gTYLUIuD1UbZp/11qozD3fWpUTuMqPSf3svDMMrL0UmlGU7D9dPw/V1FonwAorCUJBltaaESxq90jrSjQyGixg==}
         dev: true
     
    -  /@shikijs/core@1.2.1:
    -    resolution: {integrity: sha512-KaIS0H4EQ3KI2d++TjYqRNgwp8E3M/68e9veR4QtInzA7kKFgcjeiJqb80fuXW+blDy5fmd11PN9g9soz/3ANQ==}
    +  /@shikijs/core@1.2.0:
    +    resolution: {integrity: sha512-OlFvx+nyr5C8zpcMBnSGir0YPD6K11uYhouqhNmm1qLiis4GA7SsGtu07r9gKS9omks8RtQqHrJL4S+lqWK01A==}
         dev: true
     
       /@shikijs/transformers@1.1.7:
    @@ -4260,10 +4307,10 @@ packages:
           shiki: 1.1.7
         dev: true
     
    -  /@shikijs/transformers@1.2.1:
    -    resolution: {integrity: sha512-H7cVtrdv6BW2kx83t2IQgP5ri1IA50mE3QnzgJ0AvOKCGtCEieXu0JIP3245cgjNLrL+LBwb8DtTXdky1iQL9Q==}
    +  /@shikijs/transformers@1.2.0:
    +    resolution: {integrity: sha512-xKn7DtA65DQV4FOfYsrvqM80xOy2xuXnxWWKsZmHv1VII/IOuDUDsWDu3KnpeLH6wqNJWp1GRoNUsHR1aw/VhQ==}
         dependencies:
    -      shiki: 1.2.1
    +      shiki: 1.2.0
         dev: true
     
       /@sideway/address@4.1.5:
    @@ -4312,7 +4359,7 @@ packages:
           ejs: 3.1.9
           json5: 2.2.3
           magic-string: 0.25.9
    -      string.prototype.matchall: 4.0.10
    +      string.prototype.matchall: 4.0.11
         dev: true
     
       /@szmarczak/http-timer@4.0.6:
    @@ -4816,8 +4863,8 @@ packages:
       /@types/ms@0.7.34:
         resolution: {integrity: sha512-nG96G3Wp6acyAgJqGasjODb+acrI7KltPiRxzHPXnP3NgI28bpQDRv53olbqGXbfcgF5aiiHmO3xpwEpS5Ld9g==}
     
    -  /@types/node@18.19.21:
    -    resolution: {integrity: sha512-2Q2NeB6BmiTFQi4DHBzncSoq/cJMLDdhPaAoJFnFCyD9a8VPZRf7a1GAwp1Edb7ROaZc5Jz/tnZyL6EsWMRaqw==}
    +  /@types/node@18.19.22:
    +    resolution: {integrity: sha512-p3pDIfuMg/aXBmhkyanPshdfJuX5c5+bQjYLIikPLXAUycEogij/c50n/C+8XOA5L93cU4ZRXtn+dNQGi0IZqQ==}
         dependencies:
           undici-types: 5.26.5
         dev: true
    @@ -4975,8 +5022,8 @@ packages:
         dev: true
         optional: true
     
    -  /@typescript-eslint/eslint-plugin@7.4.0(@typescript-eslint/parser@7.4.0)(eslint@8.57.0)(typescript@5.4.3):
    -    resolution: {integrity: sha512-yHMQ/oFaM7HZdVrVm/M2WHaNPgyuJH4WelkSVEWSSsir34kxW2kDJCxlXRhhGWEsMN0WAW/vLpKfKVcm8k+MPw==}
    +  /@typescript-eslint/eslint-plugin@7.3.1(@typescript-eslint/parser@7.3.1)(eslint@8.57.0)(typescript@5.4.3):
    +    resolution: {integrity: sha512-STEDMVQGww5lhCuNXVSQfbfuNII5E08QWkvAw5Qwf+bj2WT+JkG1uc+5/vXA3AOYMDHVOSpL+9rcbEUiHIm2dw==}
         engines: {node: ^18.18.0 || >=20.0.0}
         peerDependencies:
           '@typescript-eslint/parser': ^7.0.0
    @@ -4987,11 +5034,11 @@ packages:
             optional: true
         dependencies:
           '@eslint-community/regexpp': 4.10.0
    -      '@typescript-eslint/parser': 7.4.0(eslint@8.57.0)(typescript@5.4.3)
    -      '@typescript-eslint/scope-manager': 7.4.0
    -      '@typescript-eslint/type-utils': 7.4.0(eslint@8.57.0)(typescript@5.4.3)
    -      '@typescript-eslint/utils': 7.4.0(eslint@8.57.0)(typescript@5.4.3)
    -      '@typescript-eslint/visitor-keys': 7.4.0
    +      '@typescript-eslint/parser': 7.3.1(eslint@8.57.0)(typescript@5.4.3)
    +      '@typescript-eslint/scope-manager': 7.3.1
    +      '@typescript-eslint/type-utils': 7.3.1(eslint@8.57.0)(typescript@5.4.3)
    +      '@typescript-eslint/utils': 7.3.1(eslint@8.57.0)(typescript@5.4.3)
    +      '@typescript-eslint/visitor-keys': 7.3.1
           debug: 4.3.4(supports-color@8.1.1)
           eslint: 8.57.0
           graphemer: 1.4.0
    @@ -5004,8 +5051,8 @@ packages:
           - supports-color
         dev: true
     
    -  /@typescript-eslint/parser@7.4.0(eslint@8.57.0)(typescript@5.4.3):
    -    resolution: {integrity: sha512-ZvKHxHLusweEUVwrGRXXUVzFgnWhigo4JurEj0dGF1tbcGh6buL+ejDdjxOQxv6ytcY1uhun1p2sm8iWStlgLQ==}
    +  /@typescript-eslint/parser@7.3.1(eslint@8.57.0)(typescript@5.4.3):
    +    resolution: {integrity: sha512-Rq49+pq7viTRCH48XAbTA+wdLRrB/3sRq4Lpk0oGDm0VmnjBrAOVXH/Laalmwsv2VpekiEfVFwJYVk6/e8uvQw==}
         engines: {node: ^18.18.0 || >=20.0.0}
         peerDependencies:
           eslint: ^8.56.0
    @@ -5014,10 +5061,10 @@ packages:
           typescript:
             optional: true
         dependencies:
    -      '@typescript-eslint/scope-manager': 7.4.0
    -      '@typescript-eslint/types': 7.4.0
    -      '@typescript-eslint/typescript-estree': 7.4.0(typescript@5.4.3)
    -      '@typescript-eslint/visitor-keys': 7.4.0
    +      '@typescript-eslint/scope-manager': 7.3.1
    +      '@typescript-eslint/types': 7.3.1
    +      '@typescript-eslint/typescript-estree': 7.3.1(typescript@5.4.3)
    +      '@typescript-eslint/visitor-keys': 7.3.1
           debug: 4.3.4(supports-color@8.1.1)
           eslint: 8.57.0
           typescript: 5.4.3
    @@ -5033,16 +5080,16 @@ packages:
           '@typescript-eslint/visitor-keys': 5.62.0
         dev: true
     
    -  /@typescript-eslint/scope-manager@7.4.0:
    -    resolution: {integrity: sha512-68VqENG5HK27ypafqLVs8qO+RkNc7TezCduYrx8YJpXq2QGZ30vmNZGJJJC48+MVn4G2dCV8m5ZTVnzRexTVtw==}
    +  /@typescript-eslint/scope-manager@7.3.1:
    +    resolution: {integrity: sha512-fVS6fPxldsKY2nFvyT7IP78UO1/I2huG+AYu5AMjCT9wtl6JFiDnsv4uad4jQ0GTFzcUV5HShVeN96/17bTBag==}
         engines: {node: ^18.18.0 || >=20.0.0}
         dependencies:
    -      '@typescript-eslint/types': 7.4.0
    -      '@typescript-eslint/visitor-keys': 7.4.0
    +      '@typescript-eslint/types': 7.3.1
    +      '@typescript-eslint/visitor-keys': 7.3.1
         dev: true
     
    -  /@typescript-eslint/type-utils@7.4.0(eslint@8.57.0)(typescript@5.4.3):
    -    resolution: {integrity: sha512-247ETeHgr9WTRMqHbbQdzwzhuyaJ8dPTuyuUEMANqzMRB1rj/9qFIuIXK7l0FX9i9FXbHeBQl/4uz6mYuCE7Aw==}
    +  /@typescript-eslint/type-utils@7.3.1(eslint@8.57.0)(typescript@5.4.3):
    +    resolution: {integrity: sha512-iFhaysxFsMDQlzJn+vr3OrxN8NmdQkHks4WaqD4QBnt5hsq234wcYdyQ9uquzJJIDAj5W4wQne3yEsYA6OmXGw==}
         engines: {node: ^18.18.0 || >=20.0.0}
         peerDependencies:
           eslint: ^8.56.0
    @@ -5051,8 +5098,8 @@ packages:
           typescript:
             optional: true
         dependencies:
    -      '@typescript-eslint/typescript-estree': 7.4.0(typescript@5.4.3)
    -      '@typescript-eslint/utils': 7.4.0(eslint@8.57.0)(typescript@5.4.3)
    +      '@typescript-eslint/typescript-estree': 7.3.1(typescript@5.4.3)
    +      '@typescript-eslint/utils': 7.3.1(eslint@8.57.0)(typescript@5.4.3)
           debug: 4.3.4(supports-color@8.1.1)
           eslint: 8.57.0
           ts-api-utils: 1.2.1(typescript@5.4.3)
    @@ -5066,8 +5113,8 @@ packages:
         engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
         dev: true
     
    -  /@typescript-eslint/types@7.4.0:
    -    resolution: {integrity: sha512-mjQopsbffzJskos5B4HmbsadSJQWaRK0UxqQ7GuNA9Ga4bEKeiO6b2DnB6cM6bpc8lemaPseh0H9B/wyg+J7rw==}
    +  /@typescript-eslint/types@7.3.1:
    +    resolution: {integrity: sha512-2tUf3uWggBDl4S4183nivWQ2HqceOZh1U4hhu4p1tPiIJoRRXrab7Y+Y0p+dozYwZVvLPRI6r5wKe9kToF9FIw==}
         engines: {node: ^18.18.0 || >=20.0.0}
         dev: true
     
    @@ -5092,8 +5139,8 @@ packages:
           - supports-color
         dev: true
     
    -  /@typescript-eslint/typescript-estree@7.4.0(typescript@5.4.3):
    -    resolution: {integrity: sha512-A99j5AYoME/UBQ1ucEbbMEmGkN7SE0BvZFreSnTd1luq7yulcHdyGamZKizU7canpGDWGJ+Q6ZA9SyQobipePg==}
    +  /@typescript-eslint/typescript-estree@7.3.1(typescript@5.4.3):
    +    resolution: {integrity: sha512-tLpuqM46LVkduWP7JO7yVoWshpJuJzxDOPYIVWUUZbW+4dBpgGeUdl/fQkhuV0A8eGnphYw3pp8d2EnvPOfxmQ==}
         engines: {node: ^18.18.0 || >=20.0.0}
         peerDependencies:
           typescript: '*'
    @@ -5101,8 +5148,8 @@ packages:
           typescript:
             optional: true
         dependencies:
    -      '@typescript-eslint/types': 7.4.0
    -      '@typescript-eslint/visitor-keys': 7.4.0
    +      '@typescript-eslint/types': 7.3.1
    +      '@typescript-eslint/visitor-keys': 7.3.1
           debug: 4.3.4(supports-color@8.1.1)
           globby: 11.1.0
           is-glob: 4.0.3
    @@ -5134,8 +5181,8 @@ packages:
           - typescript
         dev: true
     
    -  /@typescript-eslint/utils@7.4.0(eslint@8.57.0)(typescript@5.4.3):
    -    resolution: {integrity: sha512-NQt9QLM4Tt8qrlBVY9lkMYzfYtNz8/6qwZg8pI3cMGlPnj6mOpRxxAm7BMJN9K0AiY+1BwJ5lVC650YJqYOuNg==}
    +  /@typescript-eslint/utils@7.3.1(eslint@8.57.0)(typescript@5.4.3):
    +    resolution: {integrity: sha512-jIERm/6bYQ9HkynYlNZvXpzmXWZGhMbrOvq3jJzOSOlKXsVjrrolzWBjDW6/TvT5Q3WqaN4EkmcfdQwi9tDjBQ==}
         engines: {node: ^18.18.0 || >=20.0.0}
         peerDependencies:
           eslint: ^8.56.0
    @@ -5143,9 +5190,9 @@ packages:
           '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0)
           '@types/json-schema': 7.0.15
           '@types/semver': 7.5.8
    -      '@typescript-eslint/scope-manager': 7.4.0
    -      '@typescript-eslint/types': 7.4.0
    -      '@typescript-eslint/typescript-estree': 7.4.0(typescript@5.4.3)
    +      '@typescript-eslint/scope-manager': 7.3.1
    +      '@typescript-eslint/types': 7.3.1
    +      '@typescript-eslint/typescript-estree': 7.3.1(typescript@5.4.3)
           eslint: 8.57.0
           semver: 7.6.0
         transitivePeerDependencies:
    @@ -5161,11 +5208,11 @@ packages:
           eslint-visitor-keys: 3.4.3
         dev: true
     
    -  /@typescript-eslint/visitor-keys@7.4.0:
    -    resolution: {integrity: sha512-0zkC7YM0iX5Y41homUUeW1CHtZR01K3ybjM1l6QczoMuay0XKtrb93kv95AxUGwdjGr64nNqnOCwmEl616N8CA==}
    +  /@typescript-eslint/visitor-keys@7.3.1:
    +    resolution: {integrity: sha512-9RMXwQF8knsZvfv9tdi+4D/j7dMG28X/wMJ8Jj6eOHyHWwDW4ngQJcqEczSsqIKKjFiLFr40Mnr7a5ulDD3vmw==}
         engines: {node: ^18.18.0 || >=20.0.0}
         dependencies:
    -      '@typescript-eslint/types': 7.4.0
    +      '@typescript-eslint/types': 7.3.1
           eslint-visitor-keys: 3.4.3
         dev: true
     
    @@ -5173,32 +5220,32 @@ packages:
         resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==}
         dev: true
     
    -  /@unocss/astro@0.58.7(rollup@2.79.1)(vite@5.2.6):
    -    resolution: {integrity: sha512-htqhe+Qn9UUnND214LlwS8a9Ib0hzO+IxY79cz1GDYoDV+Z4ONXCkUxLLlnnBM/HupWKOu+bdBWWVGIOHAniig==}
    +  /@unocss/astro@0.58.6(rollup@2.79.1)(vite@5.2.6):
    +    resolution: {integrity: sha512-0BvbhEp5Ln6wFNnhISusB2hcfycWkdgnjlFMcLT69efvj4G39MzB6JYT/1qiidLfpj35HcqkpBz7TfZ4bUmOAw==}
         peerDependencies:
           vite: ^2.9.0 || ^3.0.0-0 || ^4.0.0 || ^5.0.0-0
         peerDependenciesMeta:
           vite:
             optional: true
         dependencies:
    -      '@unocss/core': 0.58.7
    -      '@unocss/reset': 0.58.7
    -      '@unocss/vite': 0.58.7(rollup@2.79.1)(vite@5.2.6)
    +      '@unocss/core': 0.58.6
    +      '@unocss/reset': 0.58.6
    +      '@unocss/vite': 0.58.6(rollup@2.79.1)(vite@5.2.6)
           vite: 5.2.6(@types/node@20.11.30)
         transitivePeerDependencies:
           - rollup
         dev: true
     
    -  /@unocss/cli@0.58.7(rollup@2.79.1):
    -    resolution: {integrity: sha512-Vr5LABxFvZa8K71qVOnP7FkSA14/xEqhVOO+KZzcZafdW3TCvWa/dr3Lr5mDUufY82s5/5KGFosVQWQymA8HMg==}
    +  /@unocss/cli@0.58.6(rollup@2.79.1):
    +    resolution: {integrity: sha512-cfJBiEAKElo9vcA4ZU1WTXeUha5qVBtn3+ZjgdgOvveSX0oY0gOheG+DD2LaEjwWzjCstFU38lblUHWzHRv0sQ==}
         engines: {node: '>=14'}
         hasBin: true
         dependencies:
           '@ampproject/remapping': 2.3.0
           '@rollup/pluginutils': 5.1.0(rollup@2.79.1)
    -      '@unocss/config': 0.58.7
    -      '@unocss/core': 0.58.7
    -      '@unocss/preset-uno': 0.58.7
    +      '@unocss/config': 0.58.6
    +      '@unocss/core': 0.58.6
    +      '@unocss/preset-uno': 0.58.6
           cac: 6.7.14
           chokidar: 3.6.0
           colorette: 2.0.20
    @@ -5211,174 +5258,174 @@ packages:
           - rollup
         dev: true
     
    -  /@unocss/config@0.58.7:
    -    resolution: {integrity: sha512-ZMSFWJI8DfE/4HiIU+hkTSKUtEkennRn+raej5HCGTfy5xpdYCm9Zdrw/cYqkN2LPHM8o076Z2sD6H4MV5HrvA==}
    +  /@unocss/config@0.58.6:
    +    resolution: {integrity: sha512-YyywfigaEzGkDJ0ztp/tvruD+0xfdCcMZUvaGH4IElAwZDdcSsuaHdR1HW3EixCETOyFHBcuFk6sJwfLPIZLTw==}
         engines: {node: '>=14'}
         dependencies:
    -      '@unocss/core': 0.58.7
    +      '@unocss/core': 0.58.6
           unconfig: 0.3.11
         dev: true
     
    -  /@unocss/core@0.58.7:
    -    resolution: {integrity: sha512-Df5ytibV0MB7kWLggzLHsJUj08Of2oqXmPg7QjRUghMvCT3dl2LUIZXiztYPMH0F4x0cPebNoa/pavNt8xz9eQ==}
    +  /@unocss/core@0.58.6:
    +    resolution: {integrity: sha512-m87iuENM/PLqLKnfE2mJbpfzj7NQ99LP2go0r+x5X4kXKppyGRJNQg6RIW3AqTS22jup1YPgd62UNXvvRtHtww==}
         dev: true
     
    -  /@unocss/extractor-arbitrary-variants@0.58.7:
    -    resolution: {integrity: sha512-wEuilON0u/e1milNp1UBWGps3Hdtm9qBfmc2YmsHN8KhpTSSCluzbrLSYfF++tU5iWmVWR2514Lc2waVDhuiwg==}
    +  /@unocss/extractor-arbitrary-variants@0.58.6:
    +    resolution: {integrity: sha512-iSrjLEM+dtcpCmJ8myttPZ/0Dg4HKYVYpM71rNTybrX1HB/cfRsGwIHobjsvvRnve+LAxC4Hmdi8EXRd8V1xPg==}
         dependencies:
    -      '@unocss/core': 0.58.7
    +      '@unocss/core': 0.58.6
         dev: true
     
    -  /@unocss/inspector@0.58.7:
    -    resolution: {integrity: sha512-5vYsAuOj4ODgCm2Hmfhgcih+MdjsOxAHpUUDcZKAuVkr5j4dmrQnjWmS0fafR5vcjQch6T1JTsPE9x/Ws51UIw==}
    +  /@unocss/inspector@0.58.6:
    +    resolution: {integrity: sha512-JCcnIwSofdIdpR/GYTZ78d4dMZP8Z2oF/g9f9MlPG96LLLwqXSmYtR83vC34fUWm1hz7FZyTLK5OqTV7VfUb+w==}
         dependencies:
    -      '@unocss/core': 0.58.7
    -      '@unocss/rule-utils': 0.58.7
    +      '@unocss/core': 0.58.6
    +      '@unocss/rule-utils': 0.58.6
           gzip-size: 6.0.0
           sirv: 2.0.4
         dev: true
     
    -  /@unocss/postcss@0.58.7(postcss@8.4.35):
    -    resolution: {integrity: sha512-4UhYTj7AaCDJKPEa9GX9L9dnH+6ci04i9ZYdNdu+Pvbki2Q2wAa2FwqLwH7+6WgWm10b9AXVacExw+4hC2reOg==}
    +  /@unocss/postcss@0.58.6(postcss@8.4.38):
    +    resolution: {integrity: sha512-jTwu7llhRm7luscsk0JekCeo6RS2W98CXiCJRE1H6IDQnjGQQ/9uRAqW4wuLsv7OQ1ThF8m9NKEj0wFJv7ePNg==}
         engines: {node: '>=14'}
         peerDependencies:
           postcss: ^8.4.21
         dependencies:
    -      '@unocss/config': 0.58.7
    -      '@unocss/core': 0.58.7
    -      '@unocss/rule-utils': 0.58.7
    +      '@unocss/config': 0.58.6
    +      '@unocss/core': 0.58.6
    +      '@unocss/rule-utils': 0.58.6
           css-tree: 2.3.1
           fast-glob: 3.3.2
           magic-string: 0.30.8
    -      postcss: 8.4.35
    +      postcss: 8.4.38
         dev: true
     
    -  /@unocss/preset-attributify@0.58.7:
    -    resolution: {integrity: sha512-WmhrRSOAhbKn+q7A65Kg/49YDZOqfKxj+VZvngwjzDmSfZcr9BHhc67eg9IOF4OPHdKw/3rhSvA+FTMGre2Lpw==}
    +  /@unocss/preset-attributify@0.58.6:
    +    resolution: {integrity: sha512-IW2aIBH0RiYsP50VckgxXhMwjDk/XVZykUUklgko9aT+gNC2xDBm3936RWLVLmHdBHG1Vnnjc71BG6aUAqrtEA==}
         dependencies:
    -      '@unocss/core': 0.58.7
    +      '@unocss/core': 0.58.6
         dev: true
     
    -  /@unocss/preset-icons@0.58.7:
    -    resolution: {integrity: sha512-GeFaWiWGDktRs9TKqT4gb78Cjo7qlatOTijfJ1Zoyd3QMfbg7mRJPZGgHnLtpwYju+QKxG618fwlGvzARKhNfg==}
    +  /@unocss/preset-icons@0.58.6:
    +    resolution: {integrity: sha512-20P1ISxEX2J5mhyNkMm0nKp2p0qJfmDArolC10Fjyl+GUTCsojDNFfonzQEkHeIIJwzgRcubdtNaotTgYSKSRg==}
         dependencies:
           '@iconify/utils': 2.1.22
    -      '@unocss/core': 0.58.7
    -      ofetch: 1.3.4
    +      '@unocss/core': 0.58.6
    +      ofetch: 1.3.3
         transitivePeerDependencies:
           - supports-color
         dev: true
     
    -  /@unocss/preset-mini@0.58.7:
    -    resolution: {integrity: sha512-ktfrMlOtnks9j1r1ZJFzPcmCbWRjOfXh7UwoGYhH7c3Fi9Zbn1HI9+wblroEBstvbGUZGyaH5Ht+0rCmRrg5HQ==}
    +  /@unocss/preset-mini@0.58.6:
    +    resolution: {integrity: sha512-COaM/04Z6/gawzrFcCwoyD6t0FCpuKRyljKKs3VxitoGxsN9BHKiFE3U/cPSQarpG789rmZg8D/wmLHCChSXvg==}
         dependencies:
    -      '@unocss/core': 0.58.7
    -      '@unocss/extractor-arbitrary-variants': 0.58.7
    -      '@unocss/rule-utils': 0.58.7
    +      '@unocss/core': 0.58.6
    +      '@unocss/extractor-arbitrary-variants': 0.58.6
    +      '@unocss/rule-utils': 0.58.6
         dev: true
     
    -  /@unocss/preset-tagify@0.58.7:
    -    resolution: {integrity: sha512-IDR9+QDgPjcANRIWzlmubPPtgYTXGxWFqrEfRyz7ZQ4YLiA2sSLpVyOwOBW5mP7Bl2hF5oGlTKYyprk4pRzyUA==}
    +  /@unocss/preset-tagify@0.58.6:
    +    resolution: {integrity: sha512-xhpHMz8KLrFlLXaOCeShu0/yVpe6J8bd2WcOTd5VuU5W1uCsplcaagpfTRkBpaH1tJt/MTTU5e4cQLa20l0JZQ==}
         dependencies:
    -      '@unocss/core': 0.58.7
    +      '@unocss/core': 0.58.6
         dev: true
     
    -  /@unocss/preset-typography@0.58.7:
    -    resolution: {integrity: sha512-GCZGrFGBJO/k9widlpRvCKoouRaprgvNtt8mKpv38ToDSWexMZcaOTZHpKUPgljmjJ5As7ASwmDvjv6uiM5uYg==}
    +  /@unocss/preset-typography@0.58.6:
    +    resolution: {integrity: sha512-s4SSw3SK/JjAqYlga51XnxzPc7jF+TmkEkW09IkYYLPrmqJ76U4i5Po2N7HzyjpVGWnmIp1fQ5mCvbhj4tNyNQ==}
         dependencies:
    -      '@unocss/core': 0.58.7
    -      '@unocss/preset-mini': 0.58.7
    +      '@unocss/core': 0.58.6
    +      '@unocss/preset-mini': 0.58.6
         dev: true
     
    -  /@unocss/preset-uno@0.58.7:
    -    resolution: {integrity: sha512-oirPRtIailoewLvim/VjcxHZrBotRzBNaFZFMD1GLwScAYrzS8DWJ3pozNn7+s2E80ZUBfgekRTgvUKAFMPSCw==}
    +  /@unocss/preset-uno@0.58.6:
    +    resolution: {integrity: sha512-QFbgvxCvTFqKIA/VGcPM+XcfPGDgbmaiXKbnh7hIbkER6TRxjt4DIGapPt150w/kQT+zC/jerWditSdyn+s3xQ==}
         dependencies:
    -      '@unocss/core': 0.58.7
    -      '@unocss/preset-mini': 0.58.7
    -      '@unocss/preset-wind': 0.58.7
    -      '@unocss/rule-utils': 0.58.7
    +      '@unocss/core': 0.58.6
    +      '@unocss/preset-mini': 0.58.6
    +      '@unocss/preset-wind': 0.58.6
    +      '@unocss/rule-utils': 0.58.6
         dev: true
     
    -  /@unocss/preset-web-fonts@0.58.7:
    -    resolution: {integrity: sha512-97BhHYFudIVmMmLIZl3nA6puFLr2EEgG3xxR8Sa2Ox2sFL46D6oZrsxg9qr73QdJNOU3qk7HtnCn0+rozDrixg==}
    +  /@unocss/preset-web-fonts@0.58.6:
    +    resolution: {integrity: sha512-W/8102vurABwfnb9QQyp9GBKP80kpy/IADSM7hbqLNaqmgxHASELXkjhqqt+et39Zn2tnXpIHNVWoqG6QNWBwQ==}
         dependencies:
    -      '@unocss/core': 0.58.7
    -      ofetch: 1.3.4
    +      '@unocss/core': 0.58.6
    +      ofetch: 1.3.3
         dev: true
     
    -  /@unocss/preset-wind@0.58.7:
    -    resolution: {integrity: sha512-rELMKcd/cwMnw6fPf/dmg63u41fRXJoXDO5rlO/+Fa8DF4/r8KJTUbjJbZfcOnh3n8jHz3NUz+QigdRBuDTEuw==}
    +  /@unocss/preset-wind@0.58.6:
    +    resolution: {integrity: sha512-zs41CpFVvLB8CutroUeI1iqxzPsztiur9ei0QjRshxpYerPSsTSgdTkF+eul5D1q3BcsebLebzqtCSqnpFOuOA==}
         dependencies:
    -      '@unocss/core': 0.58.7
    -      '@unocss/preset-mini': 0.58.7
    -      '@unocss/rule-utils': 0.58.7
    +      '@unocss/core': 0.58.6
    +      '@unocss/preset-mini': 0.58.6
    +      '@unocss/rule-utils': 0.58.6
         dev: true
     
    -  /@unocss/reset@0.58.7:
    -    resolution: {integrity: sha512-KiN5u5D4zJcU0Tg+wjgTWYIm8VEfHpi7t2a3YfNCLo9s/75Ty4tlYB9StEShYmVMCXBOu0mK1CwqQTNaFpfM1w==}
    +  /@unocss/reset@0.58.6:
    +    resolution: {integrity: sha512-mYyOe5QDRHc1BBRff+G97j3SGGC8s3Vk7cCcXc/l48FvPHKtLCphMZaBS+KkGkzWqwAtxv0QRbGhTixJCVDRug==}
         dev: true
     
    -  /@unocss/rule-utils@0.58.7:
    -    resolution: {integrity: sha512-SbMwAUSgx5v4TXy+MXiWbqzoMjVHSeMaJpJOruU9PmtrOuZmqeajffMtI6pLtGlgrEL76frLRyMmSErxhyNelw==}
    +  /@unocss/rule-utils@0.58.6:
    +    resolution: {integrity: sha512-qbVDeyKzExFY/YeoIbMw/lu8PXEGJzSHrFXRumNHX5lvTu8ggAjH6p9xyvYa/YnuNU0+pFKuYxG8LNK2F8f1EQ==}
         engines: {node: '>=14'}
         dependencies:
    -      '@unocss/core': 0.58.7
    +      '@unocss/core': 0.58.6
           magic-string: 0.30.8
         dev: true
     
    -  /@unocss/scope@0.58.7:
    -    resolution: {integrity: sha512-DaAHFT3azxq5eFiTRrDAqk8TSDlo6x5ImBowzdNO4B2QMt+o1X9uhbe8Qt+WlG3MOwhti87JT8ooNA1pzi3Iig==}
    +  /@unocss/scope@0.58.6:
    +    resolution: {integrity: sha512-22BDrZPOkfEKuXY4NROhY+J25TAXN+GIxZpE4IbT1Wh+dkjnMXyC85VKGzOAuY/0v0zbaj12dYkmtndueQ/04w==}
         dev: true
     
    -  /@unocss/transformer-attributify-jsx-babel@0.58.7:
    -    resolution: {integrity: sha512-IxEPQG7Kn+NgYEogOSKfqfGMQR7WU8X2DctaGBoQlizMiDr+q9DXM1dgGU0bXMxnSpRF8DYFHvgHefRnNUUVPg==}
    +  /@unocss/transformer-attributify-jsx-babel@0.58.6:
    +    resolution: {integrity: sha512-IVU/ZozKTFhP9z1I9ZgSKiEx3WfDFDNXbTYTqwNW2SHPmAj5Qf99kn6o7br7Kd1dnxSjKFXOmNfNGkW9AMDraA==}
         dependencies:
    -      '@babel/core': 7.24.3
    -      '@babel/plugin-syntax-jsx': 7.24.1(@babel/core@7.24.3)
    -      '@babel/preset-typescript': 7.24.1(@babel/core@7.24.3)
    -      '@unocss/core': 0.58.7
    +      '@babel/core': 7.24.0
    +      '@babel/plugin-syntax-jsx': 7.23.3(@babel/core@7.24.0)
    +      '@babel/preset-typescript': 7.23.3(@babel/core@7.24.0)
    +      '@unocss/core': 0.58.6
         transitivePeerDependencies:
           - supports-color
         dev: true
     
    -  /@unocss/transformer-attributify-jsx@0.58.7:
    -    resolution: {integrity: sha512-6kVTHvcTdlKpvXuXRgUPKFTTWFxJH0OL6N77x2WZgbDQc40mv95JIUCVBA8EnpRyGGTQi3yasiXIS7Ur2UmsbA==}
    +  /@unocss/transformer-attributify-jsx@0.58.6:
    +    resolution: {integrity: sha512-S+mTR5qwMsEaq8nYtqUgYdYIIRAA4oltxfGMYGj3Gxy9V0uteyo56QNp7IOjlYxAB8Dq9jQ8GLYEQe5JlffO1A==}
         dependencies:
    -      '@unocss/core': 0.58.7
    +      '@unocss/core': 0.58.6
         dev: true
     
    -  /@unocss/transformer-compile-class@0.58.7:
    -    resolution: {integrity: sha512-+IWWA9/hmaZIjxB4JY3fuWuK4fAMV/uoi0T3kANDOnK/HUmX5pUF9oTzC3LBa+1SwzZiMoTJgiQEGKv1qa2QjQ==}
    +  /@unocss/transformer-compile-class@0.58.6:
    +    resolution: {integrity: sha512-iung3cPA+IpBHoP6dTs9gkPN/wEVujqMZYxf6FQLjRH+v70rPxqTgaeGDyuQZAYikfDhdUZF8PJ4IUMOxEFsmw==}
         dependencies:
    -      '@unocss/core': 0.58.7
    +      '@unocss/core': 0.58.6
         dev: true
     
    -  /@unocss/transformer-directives@0.58.7:
    -    resolution: {integrity: sha512-vMn86ARgrhCd+bZf1qvwBWhvQnOkAwOXbFGHM2cuuC0VVGJQcRE+dwTnUEJ5iqKGUNFWPJ/7NaV47kh58YITcg==}
    +  /@unocss/transformer-directives@0.58.6:
    +    resolution: {integrity: sha512-8/+KGRmRnlkAJCRt4VqcYK16SnEr9wf1q7D9OCM2kZhk33Sx5SlsO6vjNZ1IH4c67/WviwNV6+KeS4elnQY8bA==}
         dependencies:
    -      '@unocss/core': 0.58.7
    -      '@unocss/rule-utils': 0.58.7
    +      '@unocss/core': 0.58.6
    +      '@unocss/rule-utils': 0.58.6
           css-tree: 2.3.1
         dev: true
     
    -  /@unocss/transformer-variant-group@0.58.7:
    -    resolution: {integrity: sha512-9yGvrecxvY6wEc1tV4AsUDMNbj8xWk6aJ3LyZNzxOzmxmNUNAIK+y81/Hp7djn+w0ck6ss/uo6Ug7tGX+0bKUw==}
    +  /@unocss/transformer-variant-group@0.58.6:
    +    resolution: {integrity: sha512-6IFmfzketh4j+Mc/ik4nU+Oec0cptNR+aVfZZkGb4wd2h1lH+teAT2Y/Vz2xY8rDExOrbjY5y5FgRGd16LY2Rw==}
         dependencies:
    -      '@unocss/core': 0.58.7
    +      '@unocss/core': 0.58.6
         dev: true
     
    -  /@unocss/vite@0.58.7(rollup@2.79.1)(vite@5.2.6):
    -    resolution: {integrity: sha512-S8TJojR1/7O9Sfykj2k4yOq6gZOnjMNZq5ug/6edA11Q/gz2WrT/sx6aPcfIm3xVBnmLxaHfy3r06W+SiIbZcg==}
    +  /@unocss/vite@0.58.6(rollup@2.79.1)(vite@5.2.6):
    +    resolution: {integrity: sha512-DPXCoYU/Ozqc/Jeptd41XvtW8MSgVxmtTyhpMAsm/hJuBfwIV7Fy3TZquf4V9BpaTb4ao1LVXzgXmVUmj2HXpA==}
         peerDependencies:
           vite: ^2.9.0 || ^3.0.0-0 || ^4.0.0 || ^5.0.0-0
         dependencies:
           '@ampproject/remapping': 2.3.0
           '@rollup/pluginutils': 5.1.0(rollup@2.79.1)
    -      '@unocss/config': 0.58.7
    -      '@unocss/core': 0.58.7
    -      '@unocss/inspector': 0.58.7
    -      '@unocss/scope': 0.58.7
    -      '@unocss/transformer-directives': 0.58.7
    +      '@unocss/config': 0.58.6
    +      '@unocss/core': 0.58.6
    +      '@unocss/inspector': 0.58.6
    +      '@unocss/scope': 0.58.6
    +      '@unocss/transformer-directives': 0.58.6
           chokidar: 3.6.0
           fast-glob: 3.3.2
           magic-string: 0.30.8
    @@ -5399,6 +5446,17 @@ packages:
           vite-plugin-pwa: 0.19.7(vite@5.2.6)(workbox-build@7.0.0)(workbox-window@7.0.0)
         dev: true
     
    +  /@vitejs/plugin-vue@5.0.4(vite@5.2.3)(vue@3.4.21):
    +    resolution: {integrity: sha512-WS3hevEszI6CEVEx28F8RjTX97k3KsrcY6kvTg7+Whm5y3oYvcqzVeGCU3hxSAn4uY2CLCkeokkGKpoctccilQ==}
    +    engines: {node: ^18.0.0 || >=20.0.0}
    +    peerDependencies:
    +      vite: ^5.0.0
    +      vue: ^3.2.25
    +    dependencies:
    +      vite: 5.2.3(@types/node@20.11.30)
    +      vue: 3.4.21(typescript@5.4.3)
    +    dev: true
    +
       /@vitejs/plugin-vue@5.0.4(vite@5.2.6)(vue@3.4.21):
         resolution: {integrity: sha512-WS3hevEszI6CEVEx28F8RjTX97k3KsrcY6kvTg7+Whm5y3oYvcqzVeGCU3hxSAn4uY2CLCkeokkGKpoctccilQ==}
         engines: {node: ^18.0.0 || >=20.0.0}
    @@ -5495,7 +5553,7 @@ packages:
         dependencies:
           '@babel/parser': 7.24.0
           estree-walker: 2.0.2
    -      source-map-js: 1.0.2
    +      source-map-js: 1.2.0
           vue: 3.4.21(typescript@5.4.3)
         dev: false
     
    @@ -5506,7 +5564,7 @@ packages:
           '@vue/shared': 3.4.21
           entities: 4.5.0
           estree-walker: 2.0.2
    -      source-map-js: 1.0.2
    +      source-map-js: 1.1.0
     
       /@vue/compiler-dom@3.4.21:
         resolution: {integrity: sha512-IZC6FKowtT1sl0CR5DpXSiEB5ayw75oT2bma1BEhV7RRR1+cfwLrxc2Z8Zq/RGFzJ8w5r9QtCOvTjQgdn0IKmA==}
    @@ -5524,8 +5582,8 @@ packages:
           '@vue/shared': 3.4.21
           estree-walker: 2.0.2
           magic-string: 0.30.8
    -      postcss: 8.4.35
    -      source-map-js: 1.0.2
    +      postcss: 8.4.36
    +      source-map-js: 1.1.0
     
       /@vue/compiler-ssr@3.4.21:
         resolution: {integrity: sha512-M5+9nI2lPpAsgXOGQobnIueVqc9sisBFexh5yMIMRAPYLa7+5wEJs8iqOZc1WAa9WQbx9GR2twgznU8LTIiZ4Q==}
    @@ -5704,7 +5762,7 @@ packages:
           typescript:
             optional: true
         dependencies:
    -      '@types/node': 18.19.21
    +      '@types/node': 18.19.22
           got: 11.8.6
           typescript: 5.4.3
         dev: true
    @@ -5890,7 +5948,7 @@ packages:
           lodash: 4.17.21
           marked: 4.3.0
           pino: 8.19.0
    -      postcss: 8.4.35
    +      postcss: 8.4.36
           ramda: 0.28.0
           tailwindcss: 3.4.1
           vue: 3.4.21(typescript@5.4.3)
    @@ -6079,9 +6137,11 @@ packages:
           type-fest: 0.21.3
         dev: true
     
    -  /ansi-escapes@6.2.1:
    -    resolution: {integrity: sha512-4nJ3yixlEthEJ9Rk4vPcdBRkZvQZlYyu8j4/Mqz5sgIkddmEnH2Yj2ZrnP9S3tQOvSNRUIgVNF/1yPpRAGNRig==}
    +  /ansi-escapes@6.2.0:
    +    resolution: {integrity: sha512-kzRaCqXnpzWs+3z5ABPQiVke+iq0KXkHo8xiWV4RPTi5Yli0l97BEQuhXV1s7+aSU/fu1kUuxgS4MsQ0fRuygw==}
         engines: {node: '>=14.16'}
    +    dependencies:
    +      type-fest: 3.13.1
         dev: true
     
       /ansi-html-community@0.0.8:
    @@ -6225,7 +6285,7 @@ packages:
           array-buffer-byte-length: 1.0.1
           call-bind: 1.0.7
           define-properties: 1.2.1
    -      es-abstract: 1.22.5
    +      es-abstract: 1.23.2
           es-errors: 1.3.0
           get-intrinsic: 1.2.4
           is-array-buffer: 3.0.4
    @@ -6328,14 +6388,14 @@ packages:
           - supports-color
         dev: true
     
    -  /babel-loader@9.1.3(@babel/core@7.24.0)(webpack@5.91.0):
    +  /babel-loader@9.1.3(@babel/core@7.24.3)(webpack@5.91.0):
         resolution: {integrity: sha512-xG3ST4DglodGf8qSwv0MdeWLhrDsw/32QMdTO5T1ZIp9gQur0HkCyFs7Awskr10JKXFXwpAhiCuYX5oGXnRGbw==}
         engines: {node: '>= 14.15.0'}
         peerDependencies:
           '@babel/core': ^7.12.0
           webpack: '>=5'
         dependencies:
    -      '@babel/core': 7.24.0
    +      '@babel/core': 7.24.3
           find-cache-dir: 4.0.0
           schema-utils: 4.2.0
           webpack: 5.91.0(esbuild@0.20.2)(webpack-cli@4.10.0)
    @@ -6364,38 +6424,38 @@ packages:
           '@types/babel__traverse': 7.20.5
         dev: true
     
    -  /babel-plugin-polyfill-corejs2@0.4.8(@babel/core@7.24.0):
    -    resolution: {integrity: sha512-OtIuQfafSzpo/LhnJaykc0R/MMnuLSSVjVYy9mHArIZ9qTCSZ6TpWCuEKZYVoN//t8HqBNScHrOtCrIK5IaGLg==}
    +  /babel-plugin-polyfill-corejs2@0.4.10(@babel/core@7.24.3):
    +    resolution: {integrity: sha512-rpIuu//y5OX6jVU+a5BCn1R5RSZYWAl2Nar76iwaOdycqb6JPxediskWFMMl7stfwNJR4b7eiQvh5fB5TEQJTQ==}
         peerDependencies:
           '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0
         dependencies:
    -      '@babel/compat-data': 7.23.5
    -      '@babel/core': 7.24.0
    -      '@babel/helper-define-polyfill-provider': 0.5.0(@babel/core@7.24.0)
    +      '@babel/compat-data': 7.24.1
    +      '@babel/core': 7.24.3
    +      '@babel/helper-define-polyfill-provider': 0.6.1(@babel/core@7.24.3)
           semver: 6.3.1
         transitivePeerDependencies:
           - supports-color
         dev: true
     
    -  /babel-plugin-polyfill-corejs3@0.9.0(@babel/core@7.24.0):
    -    resolution: {integrity: sha512-7nZPG1uzK2Ymhy/NbaOWTg3uibM2BmGASS4vHS4szRZAIR8R6GwA/xAujpdrXU5iyklrimWnLWU+BLF9suPTqg==}
    +  /babel-plugin-polyfill-corejs3@0.10.4(@babel/core@7.24.3):
    +    resolution: {integrity: sha512-25J6I8NGfa5YkCDogHRID3fVCadIR8/pGl1/spvCkzb6lVn6SR3ojpx9nOn9iEBcUsjY24AmdKm5khcfKdylcg==}
         peerDependencies:
           '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0
         dependencies:
    -      '@babel/core': 7.24.0
    -      '@babel/helper-define-polyfill-provider': 0.5.0(@babel/core@7.24.0)
    -      core-js-compat: 3.36.0
    +      '@babel/core': 7.24.3
    +      '@babel/helper-define-polyfill-provider': 0.6.1(@babel/core@7.24.3)
    +      core-js-compat: 3.36.1
         transitivePeerDependencies:
           - supports-color
         dev: true
     
    -  /babel-plugin-polyfill-regenerator@0.5.5(@babel/core@7.24.0):
    -    resolution: {integrity: sha512-OJGYZlhLqBh2DDHeqAxWB1XIvr49CxiJ2gIt61/PU55CQK4Z58OzMqjDe1zwQdQk+rBYsRc+1rJmdajM3gimHg==}
    +  /babel-plugin-polyfill-regenerator@0.6.1(@babel/core@7.24.3):
    +    resolution: {integrity: sha512-JfTApdE++cgcTWjsiCQlLyFBMbTUft9ja17saCc93lgV33h4tuCVj7tlvu//qpLwaG+3yEz7/KhahGrUMkVq9g==}
         peerDependencies:
           '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0
         dependencies:
    -      '@babel/core': 7.24.0
    -      '@babel/helper-define-polyfill-provider': 0.5.0(@babel/core@7.24.0)
    +      '@babel/core': 7.24.3
    +      '@babel/helper-define-polyfill-provider': 0.6.1(@babel/core@7.24.3)
         transitivePeerDependencies:
           - supports-color
         dev: true
    @@ -6679,7 +6739,7 @@ packages:
           es-errors: 1.3.0
           function-bind: 1.1.2
           get-intrinsic: 1.2.4
    -      set-function-length: 1.2.1
    +      set-function-length: 1.2.2
         dev: true
     
       /call-me-maybe@1.0.2:
    @@ -7226,6 +7286,12 @@ packages:
           browserslist: 4.23.0
         dev: true
     
    +  /core-js-compat@3.36.1:
    +    resolution: {integrity: sha512-Dk997v9ZCt3X/npqzyGdTlq6t7lDBhZwGvV94PKzDArjp7BTRm7WlDAXYd/OWdeFHO8OChQYRJNJvUCqCbrtKA==}
    +    dependencies:
    +      browserslist: 4.23.0
    +    dev: true
    +
       /core-util-is@1.0.2:
         resolution: {integrity: sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==}
         dev: true
    @@ -7880,6 +7946,33 @@ packages:
           whatwg-url: 14.0.0
         dev: true
     
    +  /data-view-buffer@1.0.1:
    +    resolution: {integrity: sha512-0lht7OugA5x3iJLOWFhWK/5ehONdprk0ISXqVFn/NFrDu+cuc8iADFrGQz5BnRK7LLU3JmkbXSxaqX+/mXYtUA==}
    +    engines: {node: '>= 0.4'}
    +    dependencies:
    +      call-bind: 1.0.7
    +      es-errors: 1.3.0
    +      is-data-view: 1.0.1
    +    dev: true
    +
    +  /data-view-byte-length@1.0.1:
    +    resolution: {integrity: sha512-4J7wRJD3ABAzr8wP+OcIcqq2dlUKp4DVflx++hs5h5ZKydWMI6/D/fAot+yh6g2tHh8fLFTvNOaVN357NvSrOQ==}
    +    engines: {node: '>= 0.4'}
    +    dependencies:
    +      call-bind: 1.0.7
    +      es-errors: 1.3.0
    +      is-data-view: 1.0.1
    +    dev: true
    +
    +  /data-view-byte-offset@1.0.0:
    +    resolution: {integrity: sha512-t/Ygsytq+R995EJ5PZlD4Cu56sWa8InXySaViRzw9apusqsOO2bQP+SbYzAhR0pFKoB+43lYy8rWban9JSuXnA==}
    +    engines: {node: '>= 0.4'}
    +    dependencies:
    +      call-bind: 1.0.7
    +      es-errors: 1.3.0
    +      is-data-view: 1.0.1
    +    dev: true
    +
       /date-fns@2.30.0:
         resolution: {integrity: sha512-fnULvOpxnC5/Vg3NCiWelDsLiUc9bRwAPs/+LfTLNvetFCtCTN+yQz15C/fs4AwX1R9K5GLtLfn8QW+dWisaAw==}
         engines: {node: '>=0.11'}
    @@ -8269,16 +8362,20 @@ packages:
           is-arrayish: 0.2.1
         dev: true
     
    -  /es-abstract@1.22.5:
    -    resolution: {integrity: sha512-oW69R+4q2wG+Hc3KZePPZxOiisRIqfKBVo/HLx94QcJeWGU/8sZhCvc829rd1kS366vlJbzBfXf9yWwf0+Ko7w==}
    +  /es-abstract@1.23.2:
    +    resolution: {integrity: sha512-60s3Xv2T2p1ICykc7c+DNDPLDMm9t4QxCOUU0K9JxiLjM3C1zB9YVdN7tjxrFd4+AkZ8CdX1ovUga4P2+1e+/w==}
         engines: {node: '>= 0.4'}
         dependencies:
           array-buffer-byte-length: 1.0.1
           arraybuffer.prototype.slice: 1.0.3
           available-typed-arrays: 1.0.7
           call-bind: 1.0.7
    +      data-view-buffer: 1.0.1
    +      data-view-byte-length: 1.0.1
    +      data-view-byte-offset: 1.0.0
           es-define-property: 1.0.0
           es-errors: 1.3.0
    +      es-object-atoms: 1.0.0
           es-set-tostringtag: 2.0.3
           es-to-primitive: 1.2.1
           function.prototype.name: 1.1.6
    @@ -8289,10 +8386,11 @@ packages:
           has-property-descriptors: 1.0.2
           has-proto: 1.0.3
           has-symbols: 1.0.3
    -      hasown: 2.0.1
    +      hasown: 2.0.2
           internal-slot: 1.0.7
           is-array-buffer: 3.0.4
           is-callable: 1.2.7
    +      is-data-view: 1.0.1
           is-negative-zero: 2.0.3
           is-regex: 1.1.4
           is-shared-array-buffer: 1.0.3
    @@ -8303,17 +8401,17 @@ packages:
           object-keys: 1.1.1
           object.assign: 4.1.5
           regexp.prototype.flags: 1.5.2
    -      safe-array-concat: 1.1.0
    +      safe-array-concat: 1.1.2
           safe-regex-test: 1.0.3
    -      string.prototype.trim: 1.2.8
    -      string.prototype.trimend: 1.0.7
    -      string.prototype.trimstart: 1.0.7
    +      string.prototype.trim: 1.2.9
    +      string.prototype.trimend: 1.0.8
    +      string.prototype.trimstart: 1.0.8
           typed-array-buffer: 1.0.2
           typed-array-byte-length: 1.0.1
           typed-array-byte-offset: 1.0.2
    -      typed-array-length: 1.0.5
    +      typed-array-length: 1.0.6
           unbox-primitive: 1.0.2
    -      which-typed-array: 1.1.14
    +      which-typed-array: 1.1.15
         dev: true
     
       /es-define-property@1.0.0:
    @@ -8332,13 +8430,20 @@ packages:
         resolution: {integrity: sha512-cXLGjP0c4T3flZJKQSuziYoq7MlT+rnvfZjfp7h+I7K9BNX54kP9nyWvdbwjQ4u1iWbOL4u96fgeZLToQlZC7w==}
         dev: true
     
    +  /es-object-atoms@1.0.0:
    +    resolution: {integrity: sha512-MZ4iQ6JwHOBQjahnjwaC1ZtIBH+2ohjamzAO3oaHcXYup7qxjF2fixyH+Q71voWHeOkI2q/TnJao/KfXYIZWbw==}
    +    engines: {node: '>= 0.4'}
    +    dependencies:
    +      es-errors: 1.3.0
    +    dev: true
    +
       /es-set-tostringtag@2.0.3:
         resolution: {integrity: sha512-3T8uNMC3OQTHkFUsFq8r/BwAXLHvU/9O9mE0fBc/MY5iq/8H7ncvO947LmYA6ldWw9Uh8Yhf25zu6n7nML5QWQ==}
         engines: {node: '>= 0.4'}
         dependencies:
           get-intrinsic: 1.2.4
           has-tostringtag: 1.0.2
    -      hasown: 2.0.1
    +      hasown: 2.0.2
         dev: true
     
       /es-to-primitive@1.2.1:
    @@ -8523,7 +8628,7 @@ packages:
           htmlparser2: 9.1.0
         dev: true
     
    -  /eslint-plugin-jest@27.9.0(@typescript-eslint/eslint-plugin@7.4.0)(eslint@8.57.0)(jest@29.7.0)(typescript@5.4.3):
    +  /eslint-plugin-jest@27.9.0(@typescript-eslint/eslint-plugin@7.3.1)(eslint@8.57.0)(jest@29.7.0)(typescript@5.4.3):
         resolution: {integrity: sha512-QIT7FH7fNmd9n4se7FFKHbsLKGQiw885Ds6Y/sxKgCZ6natwCsXdgPOADnYVxN2QrRweF0FZWbJ6S7Rsn7llug==}
         engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
         peerDependencies:
    @@ -8536,7 +8641,7 @@ packages:
           jest:
             optional: true
         dependencies:
    -      '@typescript-eslint/eslint-plugin': 7.4.0(@typescript-eslint/parser@7.4.0)(eslint@8.57.0)(typescript@5.4.3)
    +      '@typescript-eslint/eslint-plugin': 7.3.1(@typescript-eslint/parser@7.3.1)(eslint@8.57.0)(typescript@5.4.3)
           '@typescript-eslint/utils': 5.62.0(eslint@8.57.0)(typescript@5.4.3)
           eslint: 8.57.0
           jest: 29.7.0(@types/node@20.11.30)
    @@ -8963,8 +9068,8 @@ packages:
           - supports-color
         dev: true
     
    -  /express@4.19.2:
    -    resolution: {integrity: sha512-5T6nhjsT+EOMzuck8JjBHARTHfMht0POzlA60WV2pMD3gyXw2LZnZ+ueGdNxG+0calOJcWKbpFcuzLZ91YWq9Q==}
    +  /express@4.19.1:
    +    resolution: {integrity: sha512-K4w1/Bp7y8iSiVObmCrtq8Cs79XjJc/RU2YYkZQ7wpUu5ZyZ7MtPHkqoMz4pf+mgXfNvo2qft8D9OnrH2ABk9w==}
         engines: {node: '>= 0.10.0'}
         dependencies:
           accepts: 1.3.8
    @@ -9114,7 +9219,7 @@ packages:
           proxy-addr: 2.0.7
           rfdc: 1.3.1
           secure-json-parse: 2.7.0
    -      semver: 7.6.0
    +      semver: 7.5.4
           tiny-lru: 8.0.2
         transitivePeerDependencies:
           - supports-color
    @@ -9486,7 +9591,7 @@ packages:
         dependencies:
           call-bind: 1.0.7
           define-properties: 1.2.1
    -      es-abstract: 1.22.5
    +      es-abstract: 1.23.2
           functions-have-names: 1.2.3
         dev: true
     
    @@ -9535,7 +9640,7 @@ packages:
           function-bind: 1.1.2
           has-proto: 1.0.3
           has-symbols: 1.0.3
    -      hasown: 2.0.1
    +      hasown: 2.0.2
         dev: true
     
       /get-own-enumerable-property-symbols@3.0.2:
    @@ -9871,8 +9976,8 @@ packages:
           type-fest: 0.8.1
         dev: true
     
    -  /hasown@2.0.1:
    -    resolution: {integrity: sha512-1/th4MHjnwncwXsIW6QMzlvYL9kG5e/CpVvLRZe4XPa8TOUNbCELqmvhDmnkNsAjwaG4+I8gJJL0JBvTTLO9qA==}
    +  /hasown@2.0.2:
    +    resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==}
         engines: {node: '>= 0.4'}
         dependencies:
           function-bind: 1.1.2
    @@ -10182,7 +10287,7 @@ packages:
         engines: {node: '>= 0.4'}
         dependencies:
           es-errors: 1.3.0
    -      hasown: 2.0.1
    +      hasown: 2.0.2
           side-channel: 1.0.6
         dev: true
     
    @@ -10285,7 +10390,14 @@ packages:
       /is-core-module@2.13.1:
         resolution: {integrity: sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==}
         dependencies:
    -      hasown: 2.0.1
    +      hasown: 2.0.2
    +
    +  /is-data-view@1.0.1:
    +    resolution: {integrity: sha512-AHkaJrsUVW6wq6JS8y3JnM/GJF/9cf+k20+iDzlSaJrinEo5+7vRiteOSwBhHRiAyQATN1AmY4hwzxJKPmYf+w==}
    +    engines: {node: '>= 0.4'}
    +    dependencies:
    +      is-typed-array: 1.1.13
    +    dev: true
     
       /is-date-object@1.0.5:
         resolution: {integrity: sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==}
    @@ -10465,7 +10577,7 @@ packages:
         resolution: {integrity: sha512-uZ25/bUAlUY5fR4OKT4rZQEBrzQWYV9ZJYGGsUmEJ6thodVJ1HX64ePQ6Z0qPWP+m+Uq6e9UugrE38jeYsDSMw==}
         engines: {node: '>= 0.4'}
         dependencies:
    -      which-typed-array: 1.1.14
    +      which-typed-array: 1.1.15
         dev: true
     
       /is-typedarray@1.0.0:
    @@ -11292,10 +11404,6 @@ packages:
         hasBin: true
         dev: true
     
    -  /jsonc-parser@3.2.0:
    -    resolution: {integrity: sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==}
    -    dev: true
    -
       /jsonc-parser@3.2.1:
         resolution: {integrity: sha512-AilxAyFOAcK5wA1+LeaySVBrHsGQvUFCDWXKpZjzaL0PqW+xfBOttn8GNtWKFWqneyMZj41MWF9Kl6iPWLwgOA==}
         dev: true
    @@ -11347,8 +11455,8 @@ packages:
         engines: {node: '>=12.20'}
         dev: true
     
    -  /katex@0.16.9:
    -    resolution: {integrity: sha512-fsSYjWS0EEOwvy81j3vRA8TEAhQhKiqO+FQaKWp0m39qwOzHVBgAUBIXWj1pB+O2W3fIpNa6Y9KSKCVbfPhyAQ==}
    +  /katex@0.16.10:
    +    resolution: {integrity: sha512-ZiqaC04tp2O5utMsl2TEZTXxa6WSC4yo0fv5ML++D3QZv/vx2Mct0mTlRx3O+uUkjfuAgOkzsCmq5MiUEsDDdA==}
         hasBin: true
         dependencies:
           commander: 8.3.0
    @@ -11630,7 +11738,7 @@ packages:
         resolution: {integrity: sha512-niTvB4gqvtof056rRIrTZvjNYE4rCUzO6X/X+kYjd7WFxXeJ0NwEFnRxX6ehkvv3jTwrXnNdtAak5XYZuIyPFw==}
         engines: {node: '>=18'}
         dependencies:
    -      ansi-escapes: 6.2.1
    +      ansi-escapes: 6.2.0
           cli-cursor: 4.0.0
           slice-ansi: 7.1.0
           strip-ansi: 7.1.0
    @@ -11712,7 +11820,7 @@ packages:
         dependencies:
           '@babel/parser': 7.24.0
           '@babel/types': 7.24.0
    -      source-map-js: 1.0.2
    +      source-map-js: 1.2.0
         dev: true
     
       /make-dir@3.1.0:
    @@ -12410,8 +12518,8 @@ packages:
         engines: {node: '>=10.5.0'}
         dev: true
     
    -  /node-fetch-native@1.6.4:
    -    resolution: {integrity: sha512-IhOigYzAKHd244OC0JIMIUrjzctirCmPkaIfhDeGcEETWof5zKYUW7e7MYvChGWh/4CJeXEgsRyGzuF334rOOQ==}
    +  /node-fetch-native@1.6.2:
    +    resolution: {integrity: sha512-69mtXOFZ6hSkYiXAVB5SqaRvrbITC/NPyqv7yuu/qw0nmgPyYbIMYYNIDhNtwPrzk0ptrimrLz/hhjvm4w5Z+w==}
         dev: true
     
       /node-fetch@2.6.7(encoding@0.1.13):
    @@ -12579,12 +12687,12 @@ packages:
         resolution: {integrity: sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==}
         dev: true
     
    -  /ofetch@1.3.4:
    -    resolution: {integrity: sha512-KLIET85ik3vhEfS+3fDlc/BAZiAp+43QEC/yCo5zkNoY2YaKvNkOaFr/6wCFgFH1kuYQM5pMNi0Tg8koiIemtw==}
    +  /ofetch@1.3.3:
    +    resolution: {integrity: sha512-s1ZCMmQWXy4b5K/TW9i/DtiN8Ku+xCiHcjQ6/J/nDdssirrQNOoB165Zu8EqLMA2lln1JUth9a0aW9Ap2ctrUg==}
         dependencies:
           destr: 2.0.3
    -      node-fetch-native: 1.6.4
    -      ufo: 1.5.3
    +      node-fetch-native: 1.6.2
    +      ufo: 1.4.0
         dev: true
     
       /omggif@1.0.10:
    @@ -13086,29 +13194,29 @@ packages:
         engines: {node: '>= 0.4'}
         dev: true
     
    -  /postcss-import@15.1.0(postcss@8.4.35):
    +  /postcss-import@15.1.0(postcss@8.4.38):
         resolution: {integrity: sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==}
         engines: {node: '>=14.0.0'}
         peerDependencies:
           postcss: ^8.0.0
         dependencies:
    -      postcss: 8.4.35
    +      postcss: 8.4.38
           postcss-value-parser: 4.2.0
           read-cache: 1.0.0
           resolve: 1.22.8
         dev: false
     
    -  /postcss-js@4.0.1(postcss@8.4.35):
    +  /postcss-js@4.0.1(postcss@8.4.38):
         resolution: {integrity: sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==}
         engines: {node: ^12 || ^14 || >= 16}
         peerDependencies:
           postcss: ^8.4.21
         dependencies:
           camelcase-css: 2.0.1
    -      postcss: 8.4.35
    +      postcss: 8.4.38
         dev: false
     
    -  /postcss-load-config@4.0.2(postcss@8.4.35):
    +  /postcss-load-config@4.0.2(postcss@8.4.38):
         resolution: {integrity: sha512-bSVhyJGL00wMVoPUzAVAnbEoWyqRxkjv64tUl427SKnPrENtq6hJwUojroMz2VB+Q1edmi4IfrAPpami5VVgMQ==}
         engines: {node: '>= 14'}
         peerDependencies:
    @@ -13121,17 +13229,17 @@ packages:
             optional: true
         dependencies:
           lilconfig: 3.1.1
    -      postcss: 8.4.35
    -      yaml: 2.4.0
    +      postcss: 8.4.38
    +      yaml: 2.4.1
         dev: false
     
    -  /postcss-nested@6.0.1(postcss@8.4.35):
    +  /postcss-nested@6.0.1(postcss@8.4.38):
         resolution: {integrity: sha512-mEp4xPMi5bSWiMbsgoPfcP74lsWLHkQbZc3sY+jWYd65CUwXrUaTp0fmNpa01ZcETKlIgUdFN/MpS2xZtqL9dQ==}
         engines: {node: '>=12.0'}
         peerDependencies:
           postcss: ^8.2.14
         dependencies:
    -      postcss: 8.4.35
    +      postcss: 8.4.38
           postcss-selector-parser: 6.0.15
         dev: false
     
    @@ -13147,13 +13255,13 @@ packages:
         resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==}
         dev: false
     
    -  /postcss@8.4.35:
    -    resolution: {integrity: sha512-u5U8qYpBCpN13BsiEB0CbR1Hhh4Gc0zLFuedrHJKMctHCHAGrMdG0PRM/KErzAL3CU6/eckEtmHNB3x6e3c0vA==}
    +  /postcss@8.4.36:
    +    resolution: {integrity: sha512-/n7eumA6ZjFHAsbX30yhHup/IMkOmlmvtEi7P+6RMYf+bGJSUHc3geH4a0NSZxAz/RJfiS9tooCTs9LAVYUZKw==}
         engines: {node: ^10 || ^12 || >=14}
         dependencies:
           nanoid: 3.3.7
           picocolors: 1.0.0
    -      source-map-js: 1.0.2
    +      source-map-js: 1.2.0
     
       /postcss@8.4.38:
         resolution: {integrity: sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A==}
    @@ -13162,7 +13270,6 @@ packages:
           nanoid: 3.3.7
           picocolors: 1.0.0
           source-map-js: 1.2.0
    -    dev: true
     
       /preact@10.19.6:
         resolution: {integrity: sha512-gympg+T2Z1fG1unB8NH29yHJwnEaCH37Z32diPDku316OTnRPeMbiRV9kTrfZpocXjdfnWuFUl/Mj4BHaf6gnw==}
    @@ -13458,7 +13565,7 @@ packages:
       /regenerator-transform@0.15.2:
         resolution: {integrity: sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg==}
         dependencies:
    -      '@babel/runtime': 7.24.0
    +      '@babel/runtime': 7.24.1
         dev: true
     
       /regexp-tree@0.1.27:
    @@ -13718,11 +13825,11 @@ packages:
         peerDependencies:
           rollup: ^2.0.0
         dependencies:
    -      '@babel/code-frame': 7.23.5
    +      '@babel/code-frame': 7.24.2
           jest-worker: 26.6.2
           rollup: 2.79.1
           serialize-javascript: 4.0.0
    -      terser: 5.28.1
    +      terser: 5.29.2
         dev: true
     
       /rollup-plugin-visualizer@5.12.0:
    @@ -13749,27 +13856,26 @@ packages:
           fsevents: 2.3.3
         dev: true
     
    -  /rollup@4.13.1:
    -    resolution: {integrity: sha512-hFi+fU132IvJ2ZuihN56dwgpltpmLZHZWsx27rMCTZ2sYwrqlgL5sECGy1eeV2lAihD8EzChBVVhsXci0wD4Tg==}
    +  /rollup@4.13.0:
    +    resolution: {integrity: sha512-3YegKemjoQnYKmsBlOHfMLVPPA5xLkQ8MHLLSw/fBrFaVkEayL51DilPpNNLq1exr98F2B1TzrV0FUlN3gWRPg==}
         engines: {node: '>=18.0.0', npm: '>=8.0.0'}
         hasBin: true
         dependencies:
           '@types/estree': 1.0.5
         optionalDependencies:
    -      '@rollup/rollup-android-arm-eabi': 4.13.1
    -      '@rollup/rollup-android-arm64': 4.13.1
    -      '@rollup/rollup-darwin-arm64': 4.13.1
    -      '@rollup/rollup-darwin-x64': 4.13.1
    -      '@rollup/rollup-linux-arm-gnueabihf': 4.13.1
    -      '@rollup/rollup-linux-arm64-gnu': 4.13.1
    -      '@rollup/rollup-linux-arm64-musl': 4.13.1
    -      '@rollup/rollup-linux-riscv64-gnu': 4.13.1
    -      '@rollup/rollup-linux-s390x-gnu': 4.13.1
    -      '@rollup/rollup-linux-x64-gnu': 4.13.1
    -      '@rollup/rollup-linux-x64-musl': 4.13.1
    -      '@rollup/rollup-win32-arm64-msvc': 4.13.1
    -      '@rollup/rollup-win32-ia32-msvc': 4.13.1
    -      '@rollup/rollup-win32-x64-msvc': 4.13.1
    +      '@rollup/rollup-android-arm-eabi': 4.13.0
    +      '@rollup/rollup-android-arm64': 4.13.0
    +      '@rollup/rollup-darwin-arm64': 4.13.0
    +      '@rollup/rollup-darwin-x64': 4.13.0
    +      '@rollup/rollup-linux-arm-gnueabihf': 4.13.0
    +      '@rollup/rollup-linux-arm64-gnu': 4.13.0
    +      '@rollup/rollup-linux-arm64-musl': 4.13.0
    +      '@rollup/rollup-linux-riscv64-gnu': 4.13.0
    +      '@rollup/rollup-linux-x64-gnu': 4.13.0
    +      '@rollup/rollup-linux-x64-musl': 4.13.0
    +      '@rollup/rollup-win32-arm64-msvc': 4.13.0
    +      '@rollup/rollup-win32-ia32-msvc': 4.13.0
    +      '@rollup/rollup-win32-x64-msvc': 4.13.0
           fsevents: 2.3.3
         dev: true
     
    @@ -13792,8 +13898,8 @@ packages:
           tslib: 2.6.2
         dev: true
     
    -  /safe-array-concat@1.1.0:
    -    resolution: {integrity: sha512-ZdQ0Jeb9Ofti4hbt5lX3T2JcAamT9hfzYU1MNB+z/jaEbB6wfFfPIR/zEORmZqobkCCJhSjodobH6WHNmJ97dg==}
    +  /safe-array-concat@1.1.2:
    +    resolution: {integrity: sha512-vj6RsCsWBCf19jIeHEfkRMw8DPiBb+DMXklQ/1SGDHOMlHdPUkZXFQ2YdplS23zESTijAcurb1aSgJA3AgMu1Q==}
         engines: {node: '>=0.4'}
         dependencies:
           call-bind: 1.0.7
    @@ -13975,8 +14081,8 @@ packages:
         resolution: {integrity: sha512-RVnVQxTXuerk653XfuliOxBP81Sf0+qfQE73LIYKcyMYHG94AuH0kgrQpRDuTZnSmjpysHmzxJXKNfa6PjFhyQ==}
         dev: true
     
    -  /set-function-length@1.2.1:
    -    resolution: {integrity: sha512-j4t6ccc+VsKwYHso+kElc5neZpjtq9EnRICFZtWyBsLojhmeF/ZBd/elqm22WJh/BziDe/SBiOeAt0m2mfLD0g==}
    +  /set-function-length@1.2.2:
    +    resolution: {integrity: sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==}
         engines: {node: '>= 0.4'}
         dependencies:
           define-data-property: 1.1.4
    @@ -14053,10 +14159,10 @@ packages:
           '@shikijs/core': 1.1.7
         dev: true
     
    -  /shiki@1.2.1:
    -    resolution: {integrity: sha512-u+XW6o0vCkUNlneZb914dLO+AayEIwK5tI62WeS//R5HIXBFiYaj/Hc5xcq27Yh83Grr4JbNtUBV8W6zyK4hWg==}
    +  /shiki@1.2.0:
    +    resolution: {integrity: sha512-xLhiTMOIUXCv5DqJ4I70GgQCtdlzsTqFLZWcMHHG3TAieBUbvEGthdrlPDlX4mL/Wszx9C6rEcxU6kMlg4YlxA==}
         dependencies:
    -      '@shikijs/core': 1.2.1
    +      '@shikijs/core': 1.2.0
         dev: true
     
       /side-channel@1.0.4:
    @@ -14099,7 +14205,7 @@ packages:
         resolution: {integrity: sha512-94Bdh3cC2PKrbgSOUqTiGPWVZeSiXfKOVZNJniWoqrWrRkB1CJzBU3NEbiTsPcYy1lDsANA/THzS+9WBiy5nfQ==}
         engines: {node: '>= 10'}
         dependencies:
    -      '@polka/url': 1.0.0-next.24
    +      '@polka/url': 1.0.0-next.25
           mrmime: 2.0.0
           totalist: 3.0.1
         dev: true
    @@ -14186,11 +14292,15 @@ packages:
       /source-map-js@1.0.2:
         resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==}
         engines: {node: '>=0.10.0'}
    +    dev: true
    +
    +  /source-map-js@1.1.0:
    +    resolution: {integrity: sha512-9vC2SfsJzlej6MAaMPLu8HiBSHGdRAJ9hVFYN1ibZoNkeanmDmLUcIrj6G9DGL7XMJ54AKg/G75akXl1/izTOw==}
    +    engines: {node: '>=0.10.0'}
     
       /source-map-js@1.2.0:
         resolution: {integrity: sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==}
         engines: {node: '>=0.10.0'}
    -    dev: true
     
       /source-map-support@0.5.13:
         resolution: {integrity: sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==}
    @@ -14439,13 +14549,17 @@ packages:
           strip-ansi: 7.1.0
         dev: true
     
    -  /string.prototype.matchall@4.0.10:
    -    resolution: {integrity: sha512-rGXbGmOEosIQi6Qva94HUjgPs9vKW+dkG7Y8Q5O2OYkWL6wFaTRZO8zM4mhP94uX55wgyrXzfS2aGtGzUL7EJQ==}
    +  /string.prototype.matchall@4.0.11:
    +    resolution: {integrity: sha512-NUdh0aDavY2og7IbBPenWqR9exH+E26Sv8e0/eTe1tltDGZL+GtBkDAnnyBtmekfK6/Dq3MkcGtzXFEd1LQrtg==}
    +    engines: {node: '>= 0.4'}
         dependencies:
           call-bind: 1.0.7
           define-properties: 1.2.1
    -      es-abstract: 1.22.5
    +      es-abstract: 1.23.2
    +      es-errors: 1.3.0
    +      es-object-atoms: 1.0.0
           get-intrinsic: 1.2.4
    +      gopd: 1.0.1
           has-symbols: 1.0.3
           internal-slot: 1.0.7
           regexp.prototype.flags: 1.5.2
    @@ -14453,29 +14567,31 @@ packages:
           side-channel: 1.0.6
         dev: true
     
    -  /string.prototype.trim@1.2.8:
    -    resolution: {integrity: sha512-lfjY4HcixfQXOfaqCvcBuOIapyaroTXhbkfJN3gcB1OtyupngWK4sEET9Knd0cXd28kTUqu/kHoV4HKSJdnjiQ==}
    +  /string.prototype.trim@1.2.9:
    +    resolution: {integrity: sha512-klHuCNxiMZ8MlsOihJhJEBJAiMVqU3Z2nEXWfWnIqjN0gEFS9J9+IxKozWWtQGcgoa1WUZzLjKPTr4ZHNFTFxw==}
         engines: {node: '>= 0.4'}
         dependencies:
           call-bind: 1.0.7
           define-properties: 1.2.1
    -      es-abstract: 1.22.5
    +      es-abstract: 1.23.2
    +      es-object-atoms: 1.0.0
         dev: true
     
    -  /string.prototype.trimend@1.0.7:
    -    resolution: {integrity: sha512-Ni79DqeB72ZFq1uH/L6zJ+DKZTkOtPIHovb3YZHQViE+HDouuU4mBrLOLDn5Dde3RF8qw5qVETEjhu9locMLvA==}
    +  /string.prototype.trimend@1.0.8:
    +    resolution: {integrity: sha512-p73uL5VCHCO2BZZ6krwwQE3kCzM7NKmis8S//xEC6fQonchbum4eP6kR4DLEjQFO3Wnj3Fuo8NM0kOSjVdHjZQ==}
         dependencies:
           call-bind: 1.0.7
           define-properties: 1.2.1
    -      es-abstract: 1.22.5
    +      es-object-atoms: 1.0.0
         dev: true
     
    -  /string.prototype.trimstart@1.0.7:
    -    resolution: {integrity: sha512-NGhtDFu3jCEm7B4Fy0DpLewdJQOZcQ0rGbwQ/+stjnrp2i+rlKeCvos9hOIeCmqwratM47OBxY7uFZzjxHXmrg==}
    +  /string.prototype.trimstart@1.0.8:
    +    resolution: {integrity: sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==}
    +    engines: {node: '>= 0.4'}
         dependencies:
           call-bind: 1.0.7
           define-properties: 1.2.1
    -      es-abstract: 1.22.5
    +      es-object-atoms: 1.0.0
         dev: true
     
       /string_decoder@1.1.1:
    @@ -14642,11 +14758,11 @@ packages:
           normalize-path: 3.0.0
           object-hash: 3.0.0
           picocolors: 1.0.0
    -      postcss: 8.4.35
    -      postcss-import: 15.1.0(postcss@8.4.35)
    -      postcss-js: 4.0.1(postcss@8.4.35)
    -      postcss-load-config: 4.0.2(postcss@8.4.35)
    -      postcss-nested: 6.0.1(postcss@8.4.35)
    +      postcss: 8.4.38
    +      postcss-import: 15.1.0(postcss@8.4.38)
    +      postcss-js: 4.0.1(postcss@8.4.38)
    +      postcss-load-config: 4.0.2(postcss@8.4.38)
    +      postcss-nested: 6.0.1(postcss@8.4.38)
           postcss-selector-parser: 6.0.15
           resolve: 1.22.8
           sucrase: 3.35.0
    @@ -14715,16 +14831,16 @@ packages:
           jest-worker: 27.5.1
           schema-utils: 3.3.0
           serialize-javascript: 6.0.2
    -      terser: 5.28.1
    +      terser: 5.29.2
           webpack: 5.91.0(esbuild@0.20.2)(webpack-cli@4.10.0)
         dev: true
     
    -  /terser@5.28.1:
    -    resolution: {integrity: sha512-wM+bZp54v/E9eRRGXb5ZFDvinrJIOaTapx3WUokyVGZu5ucVCK55zEgGd5Dl2fSr3jUo5sDiERErUWLY6QPFyA==}
    +  /terser@5.29.2:
    +    resolution: {integrity: sha512-ZiGkhUBIM+7LwkNjXYJq8svgkd+QK3UUr0wJqY4MieaezBSAIPgbSPZyIx0idM6XWK5CMzSWa8MJIzmRcB8Caw==}
         engines: {node: '>=10'}
         hasBin: true
         dependencies:
    -      '@jridgewell/source-map': 0.3.5
    +      '@jridgewell/source-map': 0.3.6
           acorn: 8.11.3
           commander: 2.20.3
           source-map-support: 0.5.21
    @@ -14792,8 +14908,8 @@ packages:
         resolution: {integrity: sha512-N8hW3PG/3aOoZAN5V/NSAEDz0ZixDSSt5b/a05iqtpgfLWMSVuCo7w0k2vVvEjdrIoeGqZzweX2WlyioNIHchA==}
         dev: true
     
    -  /tinypool@0.8.3:
    -    resolution: {integrity: sha512-Ud7uepAklqRH1bvwy22ynrliC7Dljz7Tm8M/0RBUW+YRa4YHhZ6e4PpgE+fu1zr/WqB1kbeuVrdfeuyIBpy4tw==}
    +  /tinypool@0.8.2:
    +    resolution: {integrity: sha512-SUszKYe5wgsxnNOVlBYO6IC+8VGWdVGZWAqUxp3UErNBtptZvWbwyUOyzNL59zigz2rCA92QiL3wvG+JDSdJdQ==}
         engines: {node: '>=14.0.0'}
         dev: true
     
    @@ -14983,6 +15099,11 @@ packages:
         engines: {node: '>=10'}
         dev: true
     
    +  /type-fest@3.13.1:
    +    resolution: {integrity: sha512-tLq3bSNx+xSpwvAJnzrK0Ep5CLNWjvFTOp71URMaAEWBfRb9nnJiBoUe0tF8bI4ZFO3omgBR6NvnbzVUT3Ly4g==}
    +    engines: {node: '>=14.16'}
    +    dev: true
    +
       /type-fest@4.14.0:
         resolution: {integrity: sha512-on5/Cw89wwqGZQu+yWO0gGMGu8VNxsaW9SB2HE8yJjllEk7IDTwnSN1dUVldYILhYPN5HzD7WAaw2cc/jBfn0Q==}
         engines: {node: '>=16'}
    @@ -15032,8 +15153,8 @@ packages:
           is-typed-array: 1.1.13
         dev: true
     
    -  /typed-array-length@1.0.5:
    -    resolution: {integrity: sha512-yMi0PlwuznKHxKmcpoOdeLwxBoVPkqZxd7q2FgMkmD3bNwvF5VW0+UlUQ1k1vmktTu4Yu13Q0RIxEP8+B+wloA==}
    +  /typed-array-length@1.0.6:
    +    resolution: {integrity: sha512-/OxDN6OtAk5KBpGb28T+HZc2M+ADtvRxXrKKbUwtsLgdoxgX13hyy7ek6bFRl5+aBs2yZzB0c4CnQfAtVypW/g==}
         engines: {node: '>= 0.4'}
         dependencies:
           call-bind: 1.0.7
    @@ -15086,10 +15207,6 @@ packages:
         resolution: {integrity: sha512-Hhy+BhRBleFjpJ2vchUNN40qgkh0366FWJGqVLYBHev0vpHTrXSA0ryT+74UiW6KWsldNurQMKGqCm1M2zBciQ==}
         dev: true
     
    -  /ufo@1.5.3:
    -    resolution: {integrity: sha512-Y7HYmWaFwPUmkoQCUIAYpKqkOf+SbVj/2fJJZ4RJMCfZp0rTGwRbzQD+HghfnhKOjL9E01okqz+ncJskGYfBNw==}
    -    dev: true
    -
       /uglify-js@3.17.4:
         resolution: {integrity: sha512-T9q82TJI9e/C1TAxYvfb16xO120tMVFZrGA3f9/P4424DNu6ypK103y0GPFVa17yotwSyZW5iYXgjYHkGrJW/g==}
         engines: {node: '>=0.8.0'}
    @@ -15233,11 +15350,11 @@ packages:
         engines: {node: '>= 10.0.0'}
         dev: true
     
    -  /unocss@0.58.7(postcss@8.4.35)(rollup@2.79.1)(vite@5.2.6):
    -    resolution: {integrity: sha512-WZEG5+RWlMvuMX8qOpZI9PAwBlFpRMnGlOtQV3M6BHsUbEPvC7IPx1fr4I22XizctRfNftUG3MWe5l74CcoD7Q==}
    +  /unocss@0.58.6(postcss@8.4.38)(rollup@2.79.1)(vite@5.2.6):
    +    resolution: {integrity: sha512-HBstDtC6KKD5yCYh5hHpPdHGZai0B/iLlDwkOIK+xfQYrvl8tNBvKfRz3xgiaI5MJ+fLmEOxbfXQIjleU1A0iA==}
         engines: {node: '>=14'}
         peerDependencies:
    -      '@unocss/webpack': 0.58.7
    +      '@unocss/webpack': 0.58.6
           vite: ^2.9.0 || ^3.0.0-0 || ^4.0.0 || ^5.0.0-0
         peerDependenciesMeta:
           '@unocss/webpack':
    @@ -15245,26 +15362,26 @@ packages:
           vite:
             optional: true
         dependencies:
    -      '@unocss/astro': 0.58.7(rollup@2.79.1)(vite@5.2.6)
    -      '@unocss/cli': 0.58.7(rollup@2.79.1)
    -      '@unocss/core': 0.58.7
    -      '@unocss/extractor-arbitrary-variants': 0.58.7
    -      '@unocss/postcss': 0.58.7(postcss@8.4.35)
    -      '@unocss/preset-attributify': 0.58.7
    -      '@unocss/preset-icons': 0.58.7
    -      '@unocss/preset-mini': 0.58.7
    -      '@unocss/preset-tagify': 0.58.7
    -      '@unocss/preset-typography': 0.58.7
    -      '@unocss/preset-uno': 0.58.7
    -      '@unocss/preset-web-fonts': 0.58.7
    -      '@unocss/preset-wind': 0.58.7
    -      '@unocss/reset': 0.58.7
    -      '@unocss/transformer-attributify-jsx': 0.58.7
    -      '@unocss/transformer-attributify-jsx-babel': 0.58.7
    -      '@unocss/transformer-compile-class': 0.58.7
    -      '@unocss/transformer-directives': 0.58.7
    -      '@unocss/transformer-variant-group': 0.58.7
    -      '@unocss/vite': 0.58.7(rollup@2.79.1)(vite@5.2.6)
    +      '@unocss/astro': 0.58.6(rollup@2.79.1)(vite@5.2.6)
    +      '@unocss/cli': 0.58.6(rollup@2.79.1)
    +      '@unocss/core': 0.58.6
    +      '@unocss/extractor-arbitrary-variants': 0.58.6
    +      '@unocss/postcss': 0.58.6(postcss@8.4.38)
    +      '@unocss/preset-attributify': 0.58.6
    +      '@unocss/preset-icons': 0.58.6
    +      '@unocss/preset-mini': 0.58.6
    +      '@unocss/preset-tagify': 0.58.6
    +      '@unocss/preset-typography': 0.58.6
    +      '@unocss/preset-uno': 0.58.6
    +      '@unocss/preset-web-fonts': 0.58.6
    +      '@unocss/preset-wind': 0.58.6
    +      '@unocss/reset': 0.58.6
    +      '@unocss/transformer-attributify-jsx': 0.58.6
    +      '@unocss/transformer-attributify-jsx-babel': 0.58.6
    +      '@unocss/transformer-compile-class': 0.58.6
    +      '@unocss/transformer-directives': 0.58.6
    +      '@unocss/transformer-variant-group': 0.58.6
    +      '@unocss/vite': 0.58.6(rollup@2.79.1)(vite@5.2.6)
           vite: 5.2.6(@types/node@20.11.30)
         transitivePeerDependencies:
           - postcss
    @@ -15471,6 +15588,42 @@ packages:
           - supports-color
         dev: true
     
    +  /vite@5.2.3(@types/node@20.11.30):
    +    resolution: {integrity: sha512-+i1oagbvkVIhEy9TnEV+fgXsng13nZM90JQbrcPrf6DvW2mXARlz+DK7DLiDP+qeKoD1FCVx/1SpFL1CLq9Mhw==}
    +    engines: {node: ^18.0.0 || >=20.0.0}
    +    hasBin: true
    +    peerDependencies:
    +      '@types/node': ^18.0.0 || >=20.0.0
    +      less: '*'
    +      lightningcss: ^1.21.0
    +      sass: '*'
    +      stylus: '*'
    +      sugarss: '*'
    +      terser: ^5.4.0
    +    peerDependenciesMeta:
    +      '@types/node':
    +        optional: true
    +      less:
    +        optional: true
    +      lightningcss:
    +        optional: true
    +      sass:
    +        optional: true
    +      stylus:
    +        optional: true
    +      sugarss:
    +        optional: true
    +      terser:
    +        optional: true
    +    dependencies:
    +      '@types/node': 20.11.30
    +      esbuild: 0.20.2
    +      postcss: 8.4.38
    +      rollup: 4.13.0
    +    optionalDependencies:
    +      fsevents: 2.3.3
    +    dev: true
    +
       /vite@5.2.6(@types/node@20.11.30):
         resolution: {integrity: sha512-FPtnxFlSIKYjZ2eosBQamz4CbyrTizbZ3hnGJlh/wMtCrlp1Hah6AzBLjGI5I2urTfNnpovpHdrL6YRuBOPnCA==}
         engines: {node: ^18.0.0 || >=20.0.0}
    @@ -15502,7 +15655,7 @@ packages:
           '@types/node': 20.11.30
           esbuild: 0.20.2
           postcss: 8.4.38
    -      rollup: 4.13.1
    +      rollup: 4.13.0
         optionalDependencies:
           fsevents: 2.3.3
         dev: true
    @@ -15524,7 +15677,7 @@ packages:
           vue: 3.4.21(typescript@5.4.3)
         dev: true
     
    -  /vitepress@1.0.0-rc.45(@algolia/client-search@4.22.1)(@types/node@20.11.30)(postcss@8.4.35)(search-insights@2.13.0)(typescript@5.4.3):
    +  /vitepress@1.0.0-rc.45(@algolia/client-search@4.22.1)(@types/node@20.11.30)(postcss@8.4.38)(search-insights@2.13.0)(typescript@5.4.3):
         resolution: {integrity: sha512-/OiYsu5UKpQKA2c0BAZkfyywjfauDjvXyv6Mo4Ra57m5n4Bxg1HgUGoth1CLH2vwUbR/BHvDA9zOM0RDvgeSVQ==}
         hasBin: true
         peerDependencies:
    @@ -15536,8 +15689,8 @@ packages:
           postcss:
             optional: true
         dependencies:
    -      '@docsearch/css': 3.5.2
    -      '@docsearch/js': 3.5.2(@algolia/client-search@4.22.1)(search-insights@2.13.0)
    +      '@docsearch/css': 3.6.0
    +      '@docsearch/js': 3.6.0(@algolia/client-search@4.22.1)(search-insights@2.13.0)
           '@shikijs/core': 1.1.7
           '@shikijs/transformers': 1.1.7
           '@types/markdown-it': 13.0.7
    @@ -15548,7 +15701,7 @@ packages:
           focus-trap: 7.5.4
           mark.js: 8.11.1
           minisearch: 6.3.0
    -      postcss: 8.4.35
    +      postcss: 8.4.38
           shiki: 1.1.7
           vite: 5.2.6(@types/node@20.11.30)
           vue: 3.4.21(typescript@5.4.3)
    @@ -15594,18 +15747,18 @@ packages:
         dependencies:
           '@docsearch/css': 3.6.0
           '@docsearch/js': 3.6.0(@algolia/client-search@4.22.1)(search-insights@2.13.0)
    -      '@shikijs/core': 1.2.1
    -      '@shikijs/transformers': 1.2.1
    +      '@shikijs/core': 1.2.0
    +      '@shikijs/transformers': 1.2.0
           '@types/markdown-it': 13.0.7
    -      '@vitejs/plugin-vue': 5.0.4(vite@5.2.6)(vue@3.4.21)
    +      '@vitejs/plugin-vue': 5.0.4(vite@5.2.3)(vue@3.4.21)
           '@vue/devtools-api': 7.0.16(vue@3.4.21)
           '@vueuse/core': 10.9.0(vue@3.4.21)
           '@vueuse/integrations': 10.9.0(focus-trap@7.5.4)(vue@3.4.21)
           focus-trap: 7.5.4
           mark.js: 8.11.1
           minisearch: 6.3.0
    -      shiki: 1.2.1
    -      vite: 5.2.6(@types/node@20.11.30)
    +      shiki: 1.2.0
    +      vite: 5.2.3(@types/node@20.11.30)
           vue: 3.4.21(typescript@5.4.3)
         transitivePeerDependencies:
           - '@algolia/client-search'
    @@ -15679,7 +15832,7 @@ packages:
           std-env: 3.7.0
           strip-literal: 2.0.0
           tinybench: 2.6.0
    -      tinypool: 0.8.3
    +      tinypool: 0.8.2
           vite: 5.2.6(@types/node@20.11.30)
           vite-node: 1.4.0(@types/node@20.11.30)
           why-is-node-running: 2.2.2
    @@ -15696,11 +15849,11 @@ packages:
       /vscode-json-languageservice@4.2.1:
         resolution: {integrity: sha512-xGmv9QIWs2H8obGbWg+sIPI/3/pFgj/5OWBhNzs00BkYQ9UaB2F6JJaGB/2/YOZJ3BvLXQTC4Q7muqU25QgAhA==}
         dependencies:
    -      jsonc-parser: 3.2.0
    -      vscode-languageserver-textdocument: 1.0.8
    +      jsonc-parser: 3.2.1
    +      vscode-languageserver-textdocument: 1.0.11
           vscode-languageserver-types: 3.17.3
           vscode-nls: 5.2.0
    -      vscode-uri: 3.0.7
    +      vscode-uri: 3.0.8
         dev: true
     
       /vscode-jsonrpc@8.2.0:
    @@ -15716,10 +15869,6 @@ packages:
       /vscode-languageserver-textdocument@1.0.11:
         resolution: {integrity: sha512-X+8T3GoiwTVlJbicx/sIAF+yuJAqz8VvwJyoMVhwEMoEKE/fkDmrqUgDMyBECcM2A2frVZIUj5HI/ErRXCfOeA==}
     
    -  /vscode-languageserver-textdocument@1.0.8:
    -    resolution: {integrity: sha512-1bonkGqQs5/fxGT5UchTgjGVnfysL0O8v1AYMBjqTbWQTFn721zaPGDYFkOKtfDgFiSgXM3KwaG3FMGfW4Ed9Q==}
    -    dev: true
    -
       /vscode-languageserver-types@3.17.3:
         resolution: {integrity: sha512-SYU4z1dL0PyIMd4Vj8YOqFvHu7Hz/enbWtpfnVbJHU4Nd1YNYx8u0ennumc6h48GQNeOLxmwySmnADouT/AuZA==}
         dev: true
    @@ -15745,10 +15894,6 @@ packages:
         resolution: {integrity: sha512-AFbieoL7a5LMqcnOF04ji+rpXadgOXnZsxQr//r83kLPr7biP7am3g9zbaZIaBGwBRWeSvoMD4mgPdX3e4NWBg==}
         dev: true
     
    -  /vscode-uri@3.0.7:
    -    resolution: {integrity: sha512-eOpPHogvorZRobNqJGhapa0JdwaxpjVvyBp0QIUMRMSf8ZAlqOdEquKuRmw9Qwu0qXtJIWqFtMkmvJjUZmMjVA==}
    -    dev: true
    -
       /vscode-uri@3.0.8:
         resolution: {integrity: sha512-AyFQ0EVmsOZOlAnxoFOGOq1SQDWAB7C6aqMGS23svWAllfOaxbuFvcT8D1i8z3Gyn8fraVeZNNmN6e9bxxXkKw==}
     
    @@ -15855,7 +16000,7 @@ packages:
         resolution: {integrity: sha512-nCdJLxRnYvOMFqTEX7sqQtF/hV/Jgov0Y6ICeOm1DMTlZSRRDaUsBMlEAPkEwif9uBJYdM0znv8qzfX358AGqQ==}
         engines: {node: '>=12.0.0'}
         dependencies:
    -      '@types/node': 18.19.21
    +      '@types/node': 18.19.22
           '@wdio/config': 7.31.1(typescript@5.4.3)
           '@wdio/logger': 7.26.0
           '@wdio/protocols': 7.27.0
    @@ -15958,7 +16103,7 @@ packages:
           compression: 1.7.4
           connect-history-api-fallback: 2.0.0
           default-gateway: 6.0.3
    -      express: 4.19.2
    +      express: 4.19.1
           graceful-fs: 4.2.11
           html-entities: 2.4.0
           http-proxy-middleware: 2.0.6(@types/express@4.17.21)
    @@ -16104,8 +16249,8 @@ packages:
         resolution: {integrity: sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ==}
         dev: true
     
    -  /which-typed-array@1.1.14:
    -    resolution: {integrity: sha512-VnXFiIW8yNn9kIHN88xvZ4yOWchftKDsRJ8fEPacX/wl1lOvBrhsJ/OeJCXq7B0AaijRuqgzSKalJoPk+D8MPg==}
    +  /which-typed-array@1.1.15:
    +    resolution: {integrity: sha512-oV0jmFtUky6CXfkqehVvBP/LSWJ2sy4vWMioiENyJLePrBO/yKyV9OyJySfAKosh+RYkIl5zJCNZ8/4JncrpdA==}
         engines: {node: '>= 0.4'}
         dependencies:
           available-typed-arrays: 1.0.7
    @@ -16171,10 +16316,10 @@ packages:
         engines: {node: '>=16.0.0'}
         dependencies:
           '@apideck/better-ajv-errors': 0.3.6(ajv@8.12.0)
    -      '@babel/core': 7.24.0
    -      '@babel/preset-env': 7.24.0(@babel/core@7.24.0)
    -      '@babel/runtime': 7.24.0
    -      '@rollup/plugin-babel': 5.3.1(@babel/core@7.24.0)(rollup@2.79.1)
    +      '@babel/core': 7.24.3
    +      '@babel/preset-env': 7.24.3(@babel/core@7.24.3)
    +      '@babel/runtime': 7.24.1
    +      '@rollup/plugin-babel': 5.3.1(@babel/core@7.24.3)(rollup@2.79.1)
           '@rollup/plugin-node-resolve': 11.2.1(rollup@2.79.1)
           '@rollup/plugin-replace': 2.4.2(rollup@2.79.1)
           '@surma/rollup-plugin-off-main-thread': 2.2.3
    @@ -16441,17 +16586,10 @@ packages:
         engines: {node: '>= 14'}
         dev: true
     
    -  /yaml@2.4.0:
    -    resolution: {integrity: sha512-j9iR8g+/t0lArF4V6NE/QCfT+CO7iLqrXAHZbJdo+LfjqP1vR8Fg5bSiaq6Q2lOD1AUEVrEVIgABvBFYojJVYQ==}
    -    engines: {node: '>= 14'}
    -    hasBin: true
    -    dev: false
    -
       /yaml@2.4.1:
         resolution: {integrity: sha512-pIXzoImaqmfOrL7teGUBt/T7ZDnyeGBWyXQBvOVhLkWLN37GXv8NMLK406UY6dS51JfcQHsmcW5cJ441bHg6Lg==}
         engines: {node: '>= 14'}
         hasBin: true
    -    dev: true
     
       /yargs-parser@18.1.3:
         resolution: {integrity: sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==}
    
    From f15fde26f96aff3fa22beb331c827fbfde146458 Mon Sep 17 00:00:00 2001
    From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com>
    Date: Wed, 3 Apr 2024 04:02:11 +0000
    Subject: [PATCH 306/789] chore(deps): update all patch dependencies
    
    ---
     cypress/platform/ashish2.html            |    2 +-
     cypress/platform/class.html              |    2 +-
     cypress/platform/current.html            |    2 +-
     cypress/platform/current2.html           |    2 +-
     cypress/platform/ghsa3.html              |    2 +-
     cypress/platform/git-graph.html          |    2 +-
     cypress/platform/gitgraph.html           |    2 +-
     cypress/platform/gitgraph2.html          |    2 +-
     cypress/platform/knsv.html               |    2 +-
     cypress/platform/knsv2.html              |    2 +-
     cypress/platform/per.html                |    2 +-
     cypress/platform/showcase_base.html      |    2 +-
     cypress/platform/showcase_base_dark.html |    2 +-
     cypress/platform/showcase_dark.html      |    2 +-
     cypress/platform/showcase_default.html   |    2 +-
     cypress/platform/showcase_forest.html    |    2 +-
     cypress/platform/showcase_neutral.html   |    2 +-
     cypress/platform/xss10.html              |    2 +-
     cypress/platform/xss11.html              |    2 +-
     cypress/platform/xss12.html              |    2 +-
     cypress/platform/xss13.html              |    2 +-
     cypress/platform/xss14.html              |    2 +-
     cypress/platform/xss15.html              |    2 +-
     cypress/platform/xss16.html              |    2 +-
     cypress/platform/xss17.html              |    2 +-
     cypress/platform/xss18.html              |    2 +-
     cypress/platform/xss19.html              |    2 +-
     cypress/platform/xss20.html              |    2 +-
     cypress/platform/xss21.html              |    2 +-
     cypress/platform/xss23-css.html          |    2 +-
     cypress/platform/xss24.html              |    2 +-
     cypress/platform/xss4.html               |    2 +-
     cypress/platform/xss5.html               |    2 +-
     cypress/platform/xss6.html               |    2 +-
     cypress/platform/xss7.html               |    2 +-
     cypress/platform/xss8.html               |    2 +-
     cypress/platform/xss9.html               |    2 +-
     docker-compose.yml                       |    2 +-
     package.json                             |    2 +-
     packages/mermaid/src/docs/package.json   |    2 +-
     pnpm-lock.yaml                           | 1088 ++++++++++------------
     41 files changed, 549 insertions(+), 619 deletions(-)
    
    diff --git a/cypress/platform/ashish2.html b/cypress/platform/ashish2.html
    index bb0aba27ed..f9132d2e24 100644
    --- a/cypress/platform/ashish2.html
    +++ b/cypress/platform/ashish2.html
    @@ -4,7 +4,7 @@
         
         
         
         
         
         
         
         
         
         
         
         
         
         
         
         
         
         
         
         
         
         
         
         
         
         
         
         
         
         
         
         
         
         
         
         
         
         
         
         
         
         
         
         
         
         
         
         
         
         
         
         
         
         
         
         
         
         
         
         
         
         
         
         
         
         
         
         
         
         
         
         
         
         
         = 1 < 3'
         dependencies:
    -      '@algolia/autocomplete-shared': 1.9.3(@algolia/client-search@4.22.1)(algoliasearch@4.22.1)
    +      '@algolia/autocomplete-shared': 1.9.3(@algolia/client-search@4.23.2)(algoliasearch@4.23.2)
           search-insights: 2.13.0
         transitivePeerDependencies:
           - '@algolia/client-search'
           - algoliasearch
         dev: true
     
    -  /@algolia/autocomplete-preset-algolia@1.9.3(@algolia/client-search@4.22.1)(algoliasearch@4.22.1):
    +  /@algolia/autocomplete-preset-algolia@1.9.3(@algolia/client-search@4.23.2)(algoliasearch@4.23.2):
         resolution: {integrity: sha512-d4qlt6YmrLMYy95n5TB52wtNDr6EgAIPH81dvvvW8UmuWRgxEtY0NJiPwl/h95JtG2vmRM804M0DSwMCNZlzRA==}
         peerDependencies:
           '@algolia/client-search': '>= 4.9.1 < 6'
           algoliasearch: '>= 4.9.1 < 6'
         dependencies:
    -      '@algolia/autocomplete-shared': 1.9.3(@algolia/client-search@4.22.1)(algoliasearch@4.22.1)
    -      '@algolia/client-search': 4.22.1
    -      algoliasearch: 4.22.1
    +      '@algolia/autocomplete-shared': 1.9.3(@algolia/client-search@4.23.2)(algoliasearch@4.23.2)
    +      '@algolia/client-search': 4.23.2
    +      algoliasearch: 4.23.2
         dev: true
     
    -  /@algolia/autocomplete-shared@1.9.3(@algolia/client-search@4.22.1)(algoliasearch@4.22.1):
    +  /@algolia/autocomplete-shared@1.9.3(@algolia/client-search@4.23.2)(algoliasearch@4.23.2):
         resolution: {integrity: sha512-Wnm9E4Ye6Rl6sTTqjoymD+l8DjSTHsHboVRYrKgEt8Q7UHm9nYbqhN/i0fhUYA3OAEH7WA8x3jfpnmJm3rKvaQ==}
         peerDependencies:
           '@algolia/client-search': '>= 4.9.1 < 6'
           algoliasearch: '>= 4.9.1 < 6'
         dependencies:
    -      '@algolia/client-search': 4.22.1
    -      algoliasearch: 4.22.1
    +      '@algolia/client-search': 4.23.2
    +      algoliasearch: 4.23.2
         dev: true
     
    -  /@algolia/cache-browser-local-storage@4.22.1:
    -    resolution: {integrity: sha512-Sw6IAmOCvvP6QNgY9j+Hv09mvkvEIDKjYW8ow0UDDAxSXy664RBNQk3i/0nt7gvceOJ6jGmOTimaZoY1THmU7g==}
    +  /@algolia/cache-browser-local-storage@4.23.2:
    +    resolution: {integrity: sha512-PvRQdCmtiU22dw9ZcTJkrVKgNBVAxKgD0/cfiqyxhA5+PHzA2WDt6jOmZ9QASkeM2BpyzClJb/Wr1yt2/t78Kw==}
         dependencies:
    -      '@algolia/cache-common': 4.22.1
    +      '@algolia/cache-common': 4.23.2
         dev: true
     
    -  /@algolia/cache-common@4.22.1:
    -    resolution: {integrity: sha512-TJMBKqZNKYB9TptRRjSUtevJeQVXRmg6rk9qgFKWvOy8jhCPdyNZV1nB3SKGufzvTVbomAukFR8guu/8NRKBTA==}
    +  /@algolia/cache-common@4.23.2:
    +    resolution: {integrity: sha512-OUK/6mqr6CQWxzl/QY0/mwhlGvS6fMtvEPyn/7AHUx96NjqDA4X4+Ju7aXFQKh+m3jW9VPB0B9xvEQgyAnRPNw==}
         dev: true
     
    -  /@algolia/cache-in-memory@4.22.1:
    -    resolution: {integrity: sha512-ve+6Ac2LhwpufuWavM/aHjLoNz/Z/sYSgNIXsinGofWOysPilQZPUetqLj8vbvi+DHZZaYSEP9H5SRVXnpsNNw==}
    +  /@algolia/cache-in-memory@4.23.2:
    +    resolution: {integrity: sha512-rfbi/SnhEa3MmlqQvgYz/9NNJ156NkU6xFxjbxBtLWnHbpj+qnlMoKd+amoiacHRITpajg6zYbLM9dnaD3Bczw==}
         dependencies:
    -      '@algolia/cache-common': 4.22.1
    +      '@algolia/cache-common': 4.23.2
         dev: true
     
    -  /@algolia/client-account@4.22.1:
    -    resolution: {integrity: sha512-k8m+oegM2zlns/TwZyi4YgCtyToackkOpE+xCaKCYfBfDtdGOaVZCM5YvGPtK+HGaJMIN/DoTL8asbM3NzHonw==}
    +  /@algolia/client-account@4.23.2:
    +    resolution: {integrity: sha512-VbrOCLIN/5I7iIdskSoSw3uOUPF516k4SjDD4Qz3BFwa3of7D9A0lzBMAvQEJJEPHWdVraBJlGgdJq/ttmquJQ==}
         dependencies:
    -      '@algolia/client-common': 4.22.1
    -      '@algolia/client-search': 4.22.1
    -      '@algolia/transporter': 4.22.1
    +      '@algolia/client-common': 4.23.2
    +      '@algolia/client-search': 4.23.2
    +      '@algolia/transporter': 4.23.2
         dev: true
     
    -  /@algolia/client-analytics@4.22.1:
    -    resolution: {integrity: sha512-1ssi9pyxyQNN4a7Ji9R50nSdISIumMFDwKNuwZipB6TkauJ8J7ha/uO60sPJFqQyqvvI+px7RSNRQT3Zrvzieg==}
    +  /@algolia/client-analytics@4.23.2:
    +    resolution: {integrity: sha512-lLj7irsAztGhMoEx/SwKd1cwLY6Daf1Q5f2AOsZacpppSvuFvuBrmkzT7pap1OD/OePjLKxicJS8wNA0+zKtuw==}
         dependencies:
    -      '@algolia/client-common': 4.22.1
    -      '@algolia/client-search': 4.22.1
    -      '@algolia/requester-common': 4.22.1
    -      '@algolia/transporter': 4.22.1
    +      '@algolia/client-common': 4.23.2
    +      '@algolia/client-search': 4.23.2
    +      '@algolia/requester-common': 4.23.2
    +      '@algolia/transporter': 4.23.2
         dev: true
     
    -  /@algolia/client-common@4.22.1:
    -    resolution: {integrity: sha512-IvaL5v9mZtm4k4QHbBGDmU3wa/mKokmqNBqPj0K7lcR8ZDKzUorhcGp/u8PkPC/e0zoHSTvRh7TRkGX3Lm7iOQ==}
    +  /@algolia/client-common@4.23.2:
    +    resolution: {integrity: sha512-Q2K1FRJBern8kIfZ0EqPvUr3V29ICxCm/q42zInV+VJRjldAD9oTsMGwqUQ26GFMdFYmqkEfCbY4VGAiQhh22g==}
         dependencies:
    -      '@algolia/requester-common': 4.22.1
    -      '@algolia/transporter': 4.22.1
    +      '@algolia/requester-common': 4.23.2
    +      '@algolia/transporter': 4.23.2
         dev: true
     
    -  /@algolia/client-personalization@4.22.1:
    -    resolution: {integrity: sha512-sl+/klQJ93+4yaqZ7ezOttMQ/nczly/3GmgZXJ1xmoewP5jmdP/X/nV5U7EHHH3hCUEHeN7X1nsIhGPVt9E1cQ==}
    +  /@algolia/client-personalization@4.23.2:
    +    resolution: {integrity: sha512-vwPsgnCGhUcHhhQG5IM27z8q7dWrN9itjdvgA6uKf2e9r7vB+WXt4OocK0CeoYQt3OGEAExryzsB8DWqdMK5wg==}
         dependencies:
    -      '@algolia/client-common': 4.22.1
    -      '@algolia/requester-common': 4.22.1
    -      '@algolia/transporter': 4.22.1
    +      '@algolia/client-common': 4.23.2
    +      '@algolia/requester-common': 4.23.2
    +      '@algolia/transporter': 4.23.2
         dev: true
     
    -  /@algolia/client-search@4.22.1:
    -    resolution: {integrity: sha512-yb05NA4tNaOgx3+rOxAmFztgMTtGBi97X7PC3jyNeGiwkAjOZc2QrdZBYyIdcDLoI09N0gjtpClcackoTN0gPA==}
    +  /@algolia/client-search@4.23.2:
    +    resolution: {integrity: sha512-CxSB29OVGSE7l/iyoHvamMonzq7Ev8lnk/OkzleODZ1iBcCs3JC/XgTIKzN/4RSTrJ9QybsnlrN/bYCGufo7qw==}
         dependencies:
    -      '@algolia/client-common': 4.22.1
    -      '@algolia/requester-common': 4.22.1
    -      '@algolia/transporter': 4.22.1
    +      '@algolia/client-common': 4.23.2
    +      '@algolia/requester-common': 4.23.2
    +      '@algolia/transporter': 4.23.2
         dev: true
     
    -  /@algolia/logger-common@4.22.1:
    -    resolution: {integrity: sha512-OnTFymd2odHSO39r4DSWRFETkBufnY2iGUZNrMXpIhF5cmFE8pGoINNPzwg02QLBlGSaLqdKy0bM8S0GyqPLBg==}
    +  /@algolia/logger-common@4.23.2:
    +    resolution: {integrity: sha512-jGM49Q7626cXZ7qRAWXn0jDlzvoA1FvN4rKTi1g0hxKsTTSReyYk0i1ADWjChDPl3Q+nSDhJuosM2bBUAay7xw==}
         dev: true
     
    -  /@algolia/logger-console@4.22.1:
    -    resolution: {integrity: sha512-O99rcqpVPKN1RlpgD6H3khUWylU24OXlzkavUAMy6QZd1776QAcauE3oP8CmD43nbaTjBexZj2nGsBH9Tc0FVA==}
    +  /@algolia/logger-console@4.23.2:
    +    resolution: {integrity: sha512-oo+lnxxEmlhTBTFZ3fGz1O8PJ+G+8FiAoMY2Qo3Q4w23xocQev6KqDTA1JQAGPDxAewNA2VBwWOsVXeXFjrI/Q==}
         dependencies:
    -      '@algolia/logger-common': 4.22.1
    +      '@algolia/logger-common': 4.23.2
         dev: true
     
    -  /@algolia/requester-browser-xhr@4.22.1:
    -    resolution: {integrity: sha512-dtQGYIg6MteqT1Uay3J/0NDqD+UciHy3QgRbk7bNddOJu+p3hzjTRYESqEnoX/DpEkaNYdRHUKNylsqMpgwaEw==}
    +  /@algolia/recommend@4.23.2:
    +    resolution: {integrity: sha512-Q75CjnzRCDzgIlgWfPnkLtrfF4t82JCirhalXkSSwe/c1GH5pWh4xUyDOR3KTMo+YxxX3zTlrL/FjHmUJEWEcg==}
         dependencies:
    -      '@algolia/requester-common': 4.22.1
    +      '@algolia/cache-browser-local-storage': 4.23.2
    +      '@algolia/cache-common': 4.23.2
    +      '@algolia/cache-in-memory': 4.23.2
    +      '@algolia/client-common': 4.23.2
    +      '@algolia/client-search': 4.23.2
    +      '@algolia/logger-common': 4.23.2
    +      '@algolia/logger-console': 4.23.2
    +      '@algolia/requester-browser-xhr': 4.23.2
    +      '@algolia/requester-common': 4.23.2
    +      '@algolia/requester-node-http': 4.23.2
    +      '@algolia/transporter': 4.23.2
         dev: true
     
    -  /@algolia/requester-common@4.22.1:
    -    resolution: {integrity: sha512-dgvhSAtg2MJnR+BxrIFqlLtkLlVVhas9HgYKMk2Uxiy5m6/8HZBL40JVAMb2LovoPFs9I/EWIoFVjOrFwzn5Qg==}
    +  /@algolia/requester-browser-xhr@4.23.2:
    +    resolution: {integrity: sha512-TO9wLlp8+rvW9LnIfyHsu8mNAMYrqNdQ0oLF6eTWFxXfxG3k8F/Bh7nFYGk2rFAYty4Fw4XUtrv/YjeNDtM5og==}
    +    dependencies:
    +      '@algolia/requester-common': 4.23.2
    +    dev: true
    +
    +  /@algolia/requester-common@4.23.2:
    +    resolution: {integrity: sha512-3EfpBS0Hri0lGDB5H/BocLt7Vkop0bTTLVUBB844HH6tVycwShmsV6bDR7yXbQvFP1uNpgePRD3cdBCjeHmk6Q==}
         dev: true
     
    -  /@algolia/requester-node-http@4.22.1:
    -    resolution: {integrity: sha512-JfmZ3MVFQkAU+zug8H3s8rZ6h0ahHZL/SpMaSasTCGYR5EEJsCc8SI5UZ6raPN2tjxa5bxS13BRpGSBUens7EA==}
    +  /@algolia/requester-node-http@4.23.2:
    +    resolution: {integrity: sha512-SVzgkZM/malo+2SB0NWDXpnT7nO5IZwuDTaaH6SjLeOHcya1o56LSWXk+3F3rNLz2GVH+I/rpYKiqmHhSOjerw==}
         dependencies:
    -      '@algolia/requester-common': 4.22.1
    +      '@algolia/requester-common': 4.23.2
         dev: true
     
    -  /@algolia/transporter@4.22.1:
    -    resolution: {integrity: sha512-kzWgc2c9IdxMa3YqA6TN0NW5VrKYYW/BELIn7vnLyn+U/RFdZ4lxxt9/8yq3DKV5snvoDzzO4ClyejZRdV3lMQ==}
    +  /@algolia/transporter@4.23.2:
    +    resolution: {integrity: sha512-GY3aGKBy+8AK4vZh8sfkatDciDVKad5rTY2S10Aefyjh7e7UGBP4zigf42qVXwU8VOPwi7l/L7OACGMOFcjB0Q==}
         dependencies:
    -      '@algolia/cache-common': 4.22.1
    -      '@algolia/logger-common': 4.22.1
    -      '@algolia/requester-common': 4.22.1
    +      '@algolia/cache-common': 4.23.2
    +      '@algolia/logger-common': 4.23.2
    +      '@algolia/requester-common': 4.23.2
         dev: true
     
       /@alloc/quick-lru@5.2.0:
    @@ -1118,11 +1134,6 @@ packages:
         engines: {node: '>=6.9.0'}
         dev: true
     
    -  /@babel/compat-data@7.23.5:
    -    resolution: {integrity: sha512-uU27kfDRlhfKl+w1U6vp16IuvSLtjAxdArVXPa9BvLkrr7CYIsxH5adpHObeAGY/41+syctUWOZ140a2Rvkgjw==}
    -    engines: {node: '>=6.9.0'}
    -    dev: true
    -
       /@babel/compat-data@7.24.1:
         resolution: {integrity: sha512-Pc65opHDliVpRHuKfzI+gSA4zcgr65O4cl64fFJIWEEh8JoHIHh0Oez1Eo8Arz8zq/JhgKodQaxEwUPRtZylVA==}
         engines: {node: '>=6.9.0'}
    @@ -1138,7 +1149,7 @@ packages:
           '@babel/helper-compilation-targets': 7.22.10
           '@babel/helper-module-transforms': 7.22.9(@babel/core@7.22.10)
           '@babel/helpers': 7.22.10
    -      '@babel/parser': 7.24.0
    +      '@babel/parser': 7.24.1
           '@babel/template': 7.22.5
           '@babel/traverse': 7.23.2
           '@babel/types': 7.24.0
    @@ -1256,31 +1267,13 @@ packages:
         resolution: {integrity: sha512-9JB548GZoQVmzrFgp8o7KxdgkTGm6xs9DW0o/Pim72UDjzr5ObUQ6ZzYPqA+g9OTS2bBQoctLJrky0RDCAWRgQ==}
         engines: {node: '>=6.9.0'}
         dependencies:
    -      '@babel/compat-data': 7.23.5
    +      '@babel/compat-data': 7.24.1
           '@babel/helper-validator-option': 7.23.5
           browserslist: 4.23.0
           lru-cache: 5.1.1
           semver: 6.3.1
         dev: true
     
    -  /@babel/helper-create-class-features-plugin@7.24.0(@babel/core@7.24.0):
    -    resolution: {integrity: sha512-QAH+vfvts51BCsNZ2PhY6HAggnlS6omLLFTsIpeqZk/MmJ6cW7tgz5yRv0fMJThcr6FmbMrENh1RgrWPTYA76g==}
    -    engines: {node: '>=6.9.0'}
    -    peerDependencies:
    -      '@babel/core': ^7.0.0
    -    dependencies:
    -      '@babel/core': 7.24.0
    -      '@babel/helper-annotate-as-pure': 7.22.5
    -      '@babel/helper-environment-visitor': 7.22.20
    -      '@babel/helper-function-name': 7.23.0
    -      '@babel/helper-member-expression-to-functions': 7.23.0
    -      '@babel/helper-optimise-call-expression': 7.22.5
    -      '@babel/helper-replace-supers': 7.22.20(@babel/core@7.24.0)
    -      '@babel/helper-skip-transparent-expression-wrappers': 7.22.5
    -      '@babel/helper-split-export-declaration': 7.22.6
    -      semver: 6.3.1
    -    dev: true
    -
       /@babel/helper-create-class-features-plugin@7.24.1(@babel/core@7.24.3):
         resolution: {integrity: sha512-1yJa9dX9g//V6fDebXoEfEsxkZHk3Hcbm+zLhyu6qVgYFLvmTALTeV+jNU9e5RnYtioBrGEOdoI2joMSNQ/+aA==}
         engines: {node: '>=6.9.0'}
    @@ -1440,18 +1433,6 @@ packages:
           '@babel/helper-wrap-function': 7.22.20
         dev: true
     
    -  /@babel/helper-replace-supers@7.22.20(@babel/core@7.24.0):
    -    resolution: {integrity: sha512-qsW0In3dbwQUbK8kejJ4R7IHVGwHJlV6lpG6UA7a9hSa2YEiAib+N1T2kr6PEeUT+Fl7najmSOS6SmAwCHK6Tw==}
    -    engines: {node: '>=6.9.0'}
    -    peerDependencies:
    -      '@babel/core': ^7.0.0
    -    dependencies:
    -      '@babel/core': 7.24.0
    -      '@babel/helper-environment-visitor': 7.22.20
    -      '@babel/helper-member-expression-to-functions': 7.23.0
    -      '@babel/helper-optimise-call-expression': 7.22.5
    -    dev: true
    -
       /@babel/helper-replace-supers@7.24.1(@babel/core@7.24.3):
         resolution: {integrity: sha512-QCR1UqC9BzG5vZl8BMicmZ28RuUBnHhAMddD8yHFHDRH9lLTZ9uUPehX8ctVPT8l0TKblJidqcgUUKGVrePleQ==}
         engines: {node: '>=6.9.0'}
    @@ -1581,7 +1562,6 @@ packages:
         hasBin: true
         dependencies:
           '@babel/types': 7.24.0
    -    dev: true
     
       /@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.24.1(@babel/core@7.24.3):
         resolution: {integrity: sha512-y4HqEnkelJIOQGd+3g1bTeKsA5c6qM7eOn7VggGVbBc0y8MLSKHacwcIE2PplNlQSj0PqS9rrXL/nkPVK+kUNg==}
    @@ -1764,6 +1744,16 @@ packages:
           '@babel/helper-plugin-utils': 7.24.0
         dev: true
     
    +  /@babel/plugin-syntax-jsx@7.24.1(@babel/core@7.24.3):
    +    resolution: {integrity: sha512-2eCtxZXf+kbkMIsXS4poTvT4Yu5rXiRa+9xGVT56raghjmBTKMpFNc9R4IDiB4emao9eO22Ox7CxuJG7BgExqA==}
    +    engines: {node: '>=6.9.0'}
    +    peerDependencies:
    +      '@babel/core': ^7.0.0-0
    +    dependencies:
    +      '@babel/core': 7.24.3
    +      '@babel/helper-plugin-utils': 7.24.0
    +    dev: true
    +
       /@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.24.0):
         resolution: {integrity: sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==}
         peerDependencies:
    @@ -1912,6 +1902,16 @@ packages:
           '@babel/helper-plugin-utils': 7.24.0
         dev: true
     
    +  /@babel/plugin-syntax-typescript@7.24.1(@babel/core@7.24.3):
    +    resolution: {integrity: sha512-Yhnmvy5HZEnHUty6i++gcfH1/l68AHnItFHnaCv6hn9dNh0hQvvQJsxpi4BMBFN5DLeHBuucT/0DgzXif/OyRw==}
    +    engines: {node: '>=6.9.0'}
    +    peerDependencies:
    +      '@babel/core': ^7.0.0-0
    +    dependencies:
    +      '@babel/core': 7.24.3
    +      '@babel/helper-plugin-utils': 7.24.0
    +    dev: true
    +
       /@babel/plugin-syntax-unicode-sets-regex@7.18.6(@babel/core@7.24.3):
         resolution: {integrity: sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==}
         engines: {node: '>=6.9.0'}
    @@ -2169,18 +2169,6 @@ packages:
           '@babel/helper-plugin-utils': 7.24.0
         dev: true
     
    -  /@babel/plugin-transform-modules-commonjs@7.23.3(@babel/core@7.24.0):
    -    resolution: {integrity: sha512-aVS0F65LKsdNOtcz6FRCpE4OgsP2OFnW46qNxNIX9h3wuzaNcSQsJysuMwqSibC98HPrf2vCgtxKNwS0DAlgcA==}
    -    engines: {node: '>=6.9.0'}
    -    peerDependencies:
    -      '@babel/core': ^7.0.0-0
    -    dependencies:
    -      '@babel/core': 7.24.0
    -      '@babel/helper-module-transforms': 7.23.3(@babel/core@7.24.0)
    -      '@babel/helper-plugin-utils': 7.24.0
    -      '@babel/helper-simple-access': 7.22.5
    -    dev: true
    -
       /@babel/plugin-transform-modules-commonjs@7.24.1(@babel/core@7.24.3):
         resolution: {integrity: sha512-szog8fFTUxBfw0b98gEWPaEqF42ZUD/T3bkynW/wtgx2p/XCP55WEsb+VosKceRSd6njipdZvNogqdtI4Q0chw==}
         engines: {node: '>=6.9.0'}
    @@ -2423,17 +2411,17 @@ packages:
           '@babel/helper-plugin-utils': 7.24.0
         dev: true
     
    -  /@babel/plugin-transform-typescript@7.23.6(@babel/core@7.24.0):
    -    resolution: {integrity: sha512-6cBG5mBvUu4VUD04OHKnYzbuHNP8huDsD3EDqqpIpsswTDoqHCjLoHb6+QgsV1WsT2nipRqCPgxD3LXnEO7XfA==}
    +  /@babel/plugin-transform-typescript@7.24.1(@babel/core@7.24.3):
    +    resolution: {integrity: sha512-liYSESjX2fZ7JyBFkYG78nfvHlMKE6IpNdTVnxmlYUR+j5ZLsitFbaAE+eJSK2zPPkNWNw4mXL51rQ8WrvdK0w==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
         dependencies:
    -      '@babel/core': 7.24.0
    +      '@babel/core': 7.24.3
           '@babel/helper-annotate-as-pure': 7.22.5
    -      '@babel/helper-create-class-features-plugin': 7.24.0(@babel/core@7.24.0)
    +      '@babel/helper-create-class-features-plugin': 7.24.1(@babel/core@7.24.3)
           '@babel/helper-plugin-utils': 7.24.0
    -      '@babel/plugin-syntax-typescript': 7.23.3(@babel/core@7.24.0)
    +      '@babel/plugin-syntax-typescript': 7.24.1(@babel/core@7.24.3)
         dev: true
     
       /@babel/plugin-transform-unicode-escapes@7.24.1(@babel/core@7.24.3):
    @@ -2581,18 +2569,18 @@ packages:
           esutils: 2.0.3
         dev: true
     
    -  /@babel/preset-typescript@7.23.3(@babel/core@7.24.0):
    -    resolution: {integrity: sha512-17oIGVlqz6CchO9RFYn5U6ZpWRZIngayYCtrPRSgANSwC2V1Jb+iP74nVxzzXJte8b8BYxrL1yY96xfhTBrNNQ==}
    +  /@babel/preset-typescript@7.24.1(@babel/core@7.24.3):
    +    resolution: {integrity: sha512-1DBaMmRDpuYQBPWD8Pf/WEwCrtgRHxsZnP4mIy9G/X+hFfbI47Q2G4t1Paakld84+qsk2fSsUPMKg71jkoOOaQ==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
         dependencies:
    -      '@babel/core': 7.24.0
    +      '@babel/core': 7.24.3
           '@babel/helper-plugin-utils': 7.24.0
           '@babel/helper-validator-option': 7.23.5
    -      '@babel/plugin-syntax-jsx': 7.23.3(@babel/core@7.24.0)
    -      '@babel/plugin-transform-modules-commonjs': 7.23.3(@babel/core@7.24.0)
    -      '@babel/plugin-transform-typescript': 7.23.6(@babel/core@7.24.0)
    +      '@babel/plugin-syntax-jsx': 7.24.1(@babel/core@7.24.3)
    +      '@babel/plugin-transform-modules-commonjs': 7.24.1(@babel/core@7.24.3)
    +      '@babel/plugin-transform-typescript': 7.24.1(@babel/core@7.24.3)
         dev: true
     
       /@babel/regjsgen@0.8.0:
    @@ -2618,7 +2606,7 @@ packages:
         engines: {node: '>=6.9.0'}
         dependencies:
           '@babel/code-frame': 7.23.5
    -      '@babel/parser': 7.24.0
    +      '@babel/parser': 7.24.1
           '@babel/types': 7.24.0
         dev: true
     
    @@ -2626,8 +2614,8 @@ packages:
         resolution: {integrity: sha512-Bkf2q8lMB0AFpX0NFEqSbx1OkTHf0f+0j82mkw+ZpzBnkk7e9Ql0891vlfgi+kHwOk8tQjiQHpqh4LaSa0fKEA==}
         engines: {node: '>=6.9.0'}
         dependencies:
    -      '@babel/code-frame': 7.23.5
    -      '@babel/parser': 7.24.0
    +      '@babel/code-frame': 7.24.2
    +      '@babel/parser': 7.24.1
           '@babel/types': 7.24.0
         dev: true
     
    @@ -2641,7 +2629,7 @@ packages:
           '@babel/helper-function-name': 7.23.0
           '@babel/helper-hoist-variables': 7.22.5
           '@babel/helper-split-export-declaration': 7.22.6
    -      '@babel/parser': 7.24.0
    +      '@babel/parser': 7.24.1
           '@babel/types': 7.24.0
           debug: 4.3.4(supports-color@8.1.1)
           globals: 11.12.0
    @@ -3053,8 +3041,8 @@ packages:
         engines: {node: '>=18'}
         dev: true
     
    -  /@cypress/code-coverage@3.12.30(@babel/core@7.24.3)(@babel/preset-env@7.24.3)(babel-loader@9.1.3)(cypress@13.7.1)(webpack@5.91.0):
    -    resolution: {integrity: sha512-3pE2NgAIHPw92MCzgXAtJJe6Z0z4HUJuorWBSh9Ly0s/BpLf9lZKRI8WhMIDA35oFjAmNCsChiXHFy47evasfw==}
    +  /@cypress/code-coverage@3.12.33(@babel/core@7.24.3)(@babel/preset-env@7.24.3)(babel-loader@9.1.3)(cypress@13.7.2)(webpack@5.91.0):
    +    resolution: {integrity: sha512-ir8g+HLjKYF9nUt9q8Mpnvv/8C8+lYIZfR4/CRI6ZZgi8bJ2pvH2h6MorMao6X3mSQNFwlGvOJioxkT35UK4mA==}
         peerDependencies:
           '@babel/core': ^7.0.1
           '@babel/preset-env': ^7.0.0
    @@ -3067,7 +3055,7 @@ packages:
           '@cypress/webpack-preprocessor': 6.0.1(@babel/core@7.24.3)(@babel/preset-env@7.24.3)(babel-loader@9.1.3)(webpack@5.91.0)
           babel-loader: 9.1.3(@babel/core@7.24.3)(webpack@5.91.0)
           chalk: 4.1.2
    -      cypress: 13.7.1
    +      cypress: 13.7.2
           dayjs: 1.11.10
           debug: 4.3.4(supports-color@8.1.1)
           execa: 4.1.0
    @@ -3141,11 +3129,11 @@ packages:
         resolution: {integrity: sha512-+sbxb71sWre+PwDK7X2T8+bhS6clcVMLwBPznX45Qu6opJcgRjAp7gYSDzVFp187J+feSj5dNBN1mJoi6ckkUQ==}
         dev: true
     
    -  /@docsearch/js@3.6.0(@algolia/client-search@4.22.1)(search-insights@2.13.0):
    +  /@docsearch/js@3.6.0(@algolia/client-search@4.23.2)(search-insights@2.13.0):
         resolution: {integrity: sha512-QujhqINEElrkIfKwyyyTfbsfMAYCkylInLYMRqHy7PHc8xTBQCow73tlo/Kc7oIwBrCLf0P3YhjlOeV4v8hevQ==}
         dependencies:
    -      '@docsearch/react': 3.6.0(@algolia/client-search@4.22.1)(search-insights@2.13.0)
    -      preact: 10.19.6
    +      '@docsearch/react': 3.6.0(@algolia/client-search@4.23.2)(search-insights@2.13.0)
    +      preact: 10.20.1
         transitivePeerDependencies:
           - '@algolia/client-search'
           - '@types/react'
    @@ -3154,7 +3142,7 @@ packages:
           - search-insights
         dev: true
     
    -  /@docsearch/react@3.6.0(@algolia/client-search@4.22.1)(search-insights@2.13.0):
    +  /@docsearch/react@3.6.0(@algolia/client-search@4.23.2)(search-insights@2.13.0):
         resolution: {integrity: sha512-HUFut4ztcVNmqy9gp/wxNbC7pTOHhgVVkHVGCACTuLhUKUhKAF9KYHJtMiLUJxEqiFLQiuri1fWF8zqwM/cu1w==}
         peerDependencies:
           '@types/react': '>= 16.8.0 < 19.0.0'
    @@ -3171,10 +3159,10 @@ packages:
           search-insights:
             optional: true
         dependencies:
    -      '@algolia/autocomplete-core': 1.9.3(@algolia/client-search@4.22.1)(algoliasearch@4.22.1)(search-insights@2.13.0)
    -      '@algolia/autocomplete-preset-algolia': 1.9.3(@algolia/client-search@4.22.1)(algoliasearch@4.22.1)
    +      '@algolia/autocomplete-core': 1.9.3(@algolia/client-search@4.23.2)(algoliasearch@4.23.2)(search-insights@2.13.0)
    +      '@algolia/autocomplete-preset-algolia': 1.9.3(@algolia/client-search@4.23.2)(algoliasearch@4.23.2)
           '@docsearch/css': 3.6.0
    -      algoliasearch: 4.22.1
    +      algoliasearch: 4.23.2
           search-insights: 2.13.0
         transitivePeerDependencies:
           - '@algolia/client-search'
    @@ -3704,13 +3692,13 @@ packages:
           - '@vue/composition-api'
         dev: false
     
    -  /@headlessui/tailwindcss@0.2.0(tailwindcss@3.4.1):
    +  /@headlessui/tailwindcss@0.2.0(tailwindcss@3.4.3):
         resolution: {integrity: sha512-fpL830Fln1SykOCboExsWr3JIVeQKieLJ3XytLe/tt1A0XzqUthOftDmjcCYLW62w7mQI7wXcoPXr3tZ9QfGxw==}
         engines: {node: '>=10'}
         peerDependencies:
           tailwindcss: ^3.0
         dependencies:
    -      tailwindcss: 3.4.1
    +      tailwindcss: 3.4.3
         dev: false
     
       /@headlessui/vue@1.7.19(vue@3.4.21):
    @@ -3719,7 +3707,7 @@ packages:
         peerDependencies:
           vue: ^3.2.0
         dependencies:
    -      '@tanstack/vue-virtual': 3.1.3(vue@3.4.21)
    +      '@tanstack/vue-virtual': 3.2.0(vue@3.4.21)
           vue: 3.4.21(typescript@5.4.3)
         dev: false
     
    @@ -4189,128 +4177,134 @@ packages:
           rollup: 2.79.1
         dev: true
     
    -  /@rollup/rollup-android-arm-eabi@4.13.0:
    -    resolution: {integrity: sha512-5ZYPOuaAqEH/W3gYsRkxQATBW3Ii1MfaT4EQstTnLKViLi2gLSQmlmtTpGucNP3sXEpOiI5tdGhjdE111ekyEg==}
    +  /@rollup/rollup-android-arm-eabi@4.13.2:
    +    resolution: {integrity: sha512-3XFIDKWMFZrMnao1mJhnOT1h2g0169Os848NhhmGweEcfJ4rCi+3yMCOLG4zA61rbJdkcrM/DjVZm9Hg5p5w7g==}
         cpu: [arm]
         os: [android]
         requiresBuild: true
         dev: true
         optional: true
     
    -  /@rollup/rollup-android-arm64@4.13.0:
    -    resolution: {integrity: sha512-BSbaCmn8ZadK3UAQdlauSvtaJjhlDEjS5hEVVIN3A4bbl3X+otyf/kOJV08bYiRxfejP3DXFzO2jz3G20107+Q==}
    +  /@rollup/rollup-android-arm64@4.13.2:
    +    resolution: {integrity: sha512-GdxxXbAuM7Y/YQM9/TwwP+L0omeE/lJAR1J+olu36c3LqqZEBdsIWeQ91KBe6nxwOnb06Xh7JS2U5ooWU5/LgQ==}
         cpu: [arm64]
         os: [android]
         requiresBuild: true
         dev: true
         optional: true
     
    -  /@rollup/rollup-darwin-arm64@4.13.0:
    -    resolution: {integrity: sha512-Ovf2evVaP6sW5Ut0GHyUSOqA6tVKfrTHddtmxGQc1CTQa1Cw3/KMCDEEICZBbyppcwnhMwcDce9ZRxdWRpVd6g==}
    +  /@rollup/rollup-darwin-arm64@4.13.2:
    +    resolution: {integrity: sha512-mCMlpzlBgOTdaFs83I4XRr8wNPveJiJX1RLfv4hggyIVhfB5mJfN4P8Z6yKh+oE4Luz+qq1P3kVdWrCKcMYrrA==}
         cpu: [arm64]
         os: [darwin]
         requiresBuild: true
         dev: true
         optional: true
     
    -  /@rollup/rollup-darwin-x64@4.13.0:
    -    resolution: {integrity: sha512-U+Jcxm89UTK592vZ2J9st9ajRv/hrwHdnvyuJpa5A2ngGSVHypigidkQJP+YiGL6JODiUeMzkqQzbCG3At81Gg==}
    +  /@rollup/rollup-darwin-x64@4.13.2:
    +    resolution: {integrity: sha512-yUoEvnH0FBef/NbB1u6d3HNGyruAKnN74LrPAfDQL3O32e3k3OSfLrPgSJmgb3PJrBZWfPyt6m4ZhAFa2nZp2A==}
         cpu: [x64]
         os: [darwin]
         requiresBuild: true
         dev: true
         optional: true
     
    -  /@rollup/rollup-linux-arm-gnueabihf@4.13.0:
    -    resolution: {integrity: sha512-8wZidaUJUTIR5T4vRS22VkSMOVooG0F4N+JSwQXWSRiC6yfEsFMLTYRFHvby5mFFuExHa/yAp9juSphQQJAijQ==}
    +  /@rollup/rollup-linux-arm-gnueabihf@4.13.2:
    +    resolution: {integrity: sha512-GYbLs5ErswU/Xs7aGXqzc3RrdEjKdmoCrgzhJWyFL0r5fL3qd1NPcDKDowDnmcoSiGJeU68/Vy+OMUluRxPiLQ==}
         cpu: [arm]
         os: [linux]
         requiresBuild: true
         dev: true
         optional: true
     
    -  /@rollup/rollup-linux-arm64-gnu@4.13.0:
    -    resolution: {integrity: sha512-Iu0Kno1vrD7zHQDxOmvweqLkAzjxEVqNhUIXBsZ8hu8Oak7/5VTPrxOEZXYC1nmrBVJp0ZcL2E7lSuuOVaE3+w==}
    +  /@rollup/rollup-linux-arm64-gnu@4.13.2:
    +    resolution: {integrity: sha512-L1+D8/wqGnKQIlh4Zre9i4R4b4noxzH5DDciyahX4oOz62CphY7WDWqJoQ66zNR4oScLNOqQJfNSIAe/6TPUmQ==}
         cpu: [arm64]
         os: [linux]
         requiresBuild: true
         dev: true
         optional: true
     
    -  /@rollup/rollup-linux-arm64-musl@4.13.0:
    -    resolution: {integrity: sha512-C31QrW47llgVyrRjIwiOwsHFcaIwmkKi3PCroQY5aVq4H0A5v/vVVAtFsI1nfBngtoRpeREvZOkIhmRwUKkAdw==}
    +  /@rollup/rollup-linux-arm64-musl@4.13.2:
    +    resolution: {integrity: sha512-tK5eoKFkXdz6vjfkSTCupUzCo40xueTOiOO6PeEIadlNBkadH1wNOH8ILCPIl8by/Gmb5AGAeQOFeLev7iZDOA==}
         cpu: [arm64]
         os: [linux]
         requiresBuild: true
         dev: true
         optional: true
     
    -  /@rollup/rollup-linux-riscv64-gnu@4.13.0:
    -    resolution: {integrity: sha512-Oq90dtMHvthFOPMl7pt7KmxzX7E71AfyIhh+cPhLY9oko97Zf2C9tt/XJD4RgxhaGeAraAXDtqxvKE1y/j35lA==}
    +  /@rollup/rollup-linux-powerpc64le-gnu@4.13.2:
    +    resolution: {integrity: sha512-zvXvAUGGEYi6tYhcDmb9wlOckVbuD+7z3mzInCSTACJ4DQrdSLPNUeDIcAQW39M3q6PDquqLWu7pnO39uSMRzQ==}
    +    cpu: [ppc64le]
    +    os: [linux]
    +    requiresBuild: true
    +    dev: true
    +    optional: true
    +
    +  /@rollup/rollup-linux-riscv64-gnu@4.13.2:
    +    resolution: {integrity: sha512-C3GSKvMtdudHCN5HdmAMSRYR2kkhgdOfye4w0xzyii7lebVr4riCgmM6lRiSCnJn2w1Xz7ZZzHKuLrjx5620kw==}
         cpu: [riscv64]
         os: [linux]
         requiresBuild: true
         dev: true
         optional: true
     
    -  /@rollup/rollup-linux-x64-gnu@4.13.0:
    -    resolution: {integrity: sha512-yUD/8wMffnTKuiIsl6xU+4IA8UNhQ/f1sAnQebmE/lyQ8abjsVyDkyRkWop0kdMhKMprpNIhPmYlCxgHrPoXoA==}
    +  /@rollup/rollup-linux-s390x-gnu@4.13.2:
    +    resolution: {integrity: sha512-l4U0KDFwzD36j7HdfJ5/TveEQ1fUTjFFQP5qIt9gBqBgu1G8/kCaq5Ok05kd5TG9F8Lltf3MoYsUMw3rNlJ0Yg==}
    +    cpu: [s390x]
    +    os: [linux]
    +    requiresBuild: true
    +    dev: true
    +    optional: true
    +
    +  /@rollup/rollup-linux-x64-gnu@4.13.2:
    +    resolution: {integrity: sha512-xXMLUAMzrtsvh3cZ448vbXqlUa7ZL8z0MwHp63K2IIID2+DeP5iWIT6g1SN7hg1VxPzqx0xZdiDM9l4n9LRU1A==}
         cpu: [x64]
         os: [linux]
         requiresBuild: true
         dev: true
         optional: true
     
    -  /@rollup/rollup-linux-x64-musl@4.13.0:
    -    resolution: {integrity: sha512-9RyNqoFNdF0vu/qqX63fKotBh43fJQeYC98hCaf89DYQpv+xu0D8QFSOS0biA7cGuqJFOc1bJ+m2rhhsKcw1hw==}
    +  /@rollup/rollup-linux-x64-musl@4.13.2:
    +    resolution: {integrity: sha512-M/JYAWickafUijWPai4ehrjzVPKRCyDb1SLuO+ZyPfoXgeCEAlgPkNXewFZx0zcnoIe3ay4UjXIMdXQXOZXWqA==}
         cpu: [x64]
         os: [linux]
         requiresBuild: true
         dev: true
         optional: true
     
    -  /@rollup/rollup-win32-arm64-msvc@4.13.0:
    -    resolution: {integrity: sha512-46ue8ymtm/5PUU6pCvjlic0z82qWkxv54GTJZgHrQUuZnVH+tvvSP0LsozIDsCBFO4VjJ13N68wqrKSeScUKdA==}
    +  /@rollup/rollup-win32-arm64-msvc@4.13.2:
    +    resolution: {integrity: sha512-2YWwoVg9KRkIKaXSh0mz3NmfurpmYoBBTAXA9qt7VXk0Xy12PoOP40EFuau+ajgALbbhi4uTj3tSG3tVseCjuA==}
         cpu: [arm64]
         os: [win32]
         requiresBuild: true
         dev: true
         optional: true
     
    -  /@rollup/rollup-win32-ia32-msvc@4.13.0:
    -    resolution: {integrity: sha512-P5/MqLdLSlqxbeuJ3YDeX37srC8mCflSyTrUsgbU1c/U9j6l2g2GiIdYaGD9QjdMQPMSgYm7hgg0551wHyIluw==}
    +  /@rollup/rollup-win32-ia32-msvc@4.13.2:
    +    resolution: {integrity: sha512-2FSsE9aQ6OWD20E498NYKEQLneShWes0NGMPQwxWOdws35qQXH+FplabOSP5zEe1pVjurSDOGEVCE2agFwSEsw==}
         cpu: [ia32]
         os: [win32]
         requiresBuild: true
         dev: true
         optional: true
     
    -  /@rollup/rollup-win32-x64-msvc@4.13.0:
    -    resolution: {integrity: sha512-UKXUQNbO3DOhzLRwHSpa0HnhhCgNODvfoPWv2FCXme8N/ANFfhIPMGuOT+QuKd16+B5yxZ0HdpNlqPvTMS1qfw==}
    +  /@rollup/rollup-win32-x64-msvc@4.13.2:
    +    resolution: {integrity: sha512-7h7J2nokcdPePdKykd8wtc8QqqkqxIrUz7MHj6aNr8waBRU//NLDVnNjQnqQO6fqtjrtCdftpbTuOKAyrAQETQ==}
         cpu: [x64]
         os: [win32]
         requiresBuild: true
         dev: true
         optional: true
     
    -  /@shikijs/core@1.1.7:
    -    resolution: {integrity: sha512-gTYLUIuD1UbZp/11qozD3fWpUTuMqPSf3svDMMrL0UmlGU7D9dPw/V1FonwAorCUJBltaaESxq90jrSjQyGixg==}
    -    dev: true
    -
    -  /@shikijs/core@1.2.0:
    -    resolution: {integrity: sha512-OlFvx+nyr5C8zpcMBnSGir0YPD6K11uYhouqhNmm1qLiis4GA7SsGtu07r9gKS9omks8RtQqHrJL4S+lqWK01A==}
    -    dev: true
    -
    -  /@shikijs/transformers@1.1.7:
    -    resolution: {integrity: sha512-lXz011ao4+rvweps/9h3CchBfzb1U5OtP5D51Tqc9lQYdLblWMIxQxH6Ybe1GeGINcEVM4goMyPrI0JvlIp4UQ==}
    -    dependencies:
    -      shiki: 1.1.7
    +  /@shikijs/core@1.2.3:
    +    resolution: {integrity: sha512-SM+aiQVaEK2P53dEcsvhq9+LJPr0rzwezHbMQhHaSrPN4OlOB4vp1qTdhVEKfMg6atdq8s9ZotWW/CSCzWftwg==}
         dev: true
     
    -  /@shikijs/transformers@1.2.0:
    -    resolution: {integrity: sha512-xKn7DtA65DQV4FOfYsrvqM80xOy2xuXnxWWKsZmHv1VII/IOuDUDsWDu3KnpeLH6wqNJWp1GRoNUsHR1aw/VhQ==}
    +  /@shikijs/transformers@1.2.3:
    +    resolution: {integrity: sha512-7m63LXtBW9feqH4+dafLe92oXm/vs05e6qaN1w5/Byozaf+RCqzOj3/b2/wu7OzTgLe3O9PzIrO3FebkGJK26g==}
         dependencies:
    -      shiki: 1.2.0
    +      shiki: 1.2.3
         dev: true
     
       /@sideway/address@4.1.5:
    @@ -4369,16 +4363,16 @@ packages:
           defer-to-connect: 2.0.1
         dev: true
     
    -  /@tanstack/virtual-core@3.1.3:
    -    resolution: {integrity: sha512-Y5B4EYyv1j9V8LzeAoOVeTg0LI7Fo5InYKgAjkY1Pu9GjtUwX/EKxNcU7ng3sKr99WEf+bPTcktAeybyMOYo+g==}
    +  /@tanstack/virtual-core@3.2.0:
    +    resolution: {integrity: sha512-P5XgYoAw/vfW65byBbJQCw+cagdXDT/qH6wmABiLt4v4YBT2q2vqCOhihe+D1Nt325F/S/0Tkv6C5z0Lv+VBQQ==}
         dev: false
     
    -  /@tanstack/vue-virtual@3.1.3(vue@3.4.21):
    -    resolution: {integrity: sha512-OoRCSgp8Bc85Te3pg4OHFUukbWZeB25/O5rNd7MgMtrYIfJjNOaicZeJcvwqK6lDVTMpzohWUMVK/loqR1H8ig==}
    +  /@tanstack/vue-virtual@3.2.0(vue@3.4.21):
    +    resolution: {integrity: sha512-KbmQVvw1k5Js2Fk4DJw9aDxFT5+e8a2Ba4UBJAFCRnWBCnzd3NlmEHI9JCeLv1tYDZ/iHwwv+Z9Le0BENIEP8A==}
         peerDependencies:
           vue: ^2.7.0 || ^3.0.0
         dependencies:
    -      '@tanstack/virtual-core': 3.1.3
    +      '@tanstack/virtual-core': 3.2.0
           vue: 3.4.21(typescript@5.4.3)
         dev: false
     
    @@ -4394,7 +4388,7 @@ packages:
       /@types/babel__core@7.20.5:
         resolution: {integrity: sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==}
         dependencies:
    -      '@babel/parser': 7.24.0
    +      '@babel/parser': 7.24.1
           '@babel/types': 7.24.0
           '@types/babel__generator': 7.6.8
           '@types/babel__template': 7.4.4
    @@ -4410,7 +4404,7 @@ packages:
       /@types/babel__template@7.4.4:
         resolution: {integrity: sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==}
         dependencies:
    -      '@babel/parser': 7.24.0
    +      '@babel/parser': 7.24.1
           '@babel/types': 7.24.0
         dev: true
     
    @@ -4678,12 +4672,12 @@ packages:
       /@types/eslint-scope@3.7.7:
         resolution: {integrity: sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg==}
         dependencies:
    -      '@types/eslint': 8.56.6
    +      '@types/eslint': 8.56.7
           '@types/estree': 1.0.5
         dev: true
     
    -  /@types/eslint@8.56.6:
    -    resolution: {integrity: sha512-ymwc+qb1XkjT/gfoQwxIeHZ6ixH23A+tCT2ADSA/DPVKzAjwYkTXBMCQ/f6fe4wEa85Lhp26VPeUxI7wMhAi7A==}
    +  /@types/eslint@8.56.7:
    +    resolution: {integrity: sha512-SjDvI/x3zsZnOkYZ3lCt9lOZWZLB2jIlNKz+LBgCtDurK0JZcwucxYHn1w2BJkD34dgX9Tjnak0txtq4WTggEA==}
         dependencies:
           '@types/estree': 1.0.5
           '@types/json-schema': 7.0.15
    @@ -4875,6 +4869,12 @@ packages:
           undici-types: 5.26.5
         dev: true
     
    +  /@types/node@20.12.3:
    +    resolution: {integrity: sha512-sD+ia2ubTeWrOu+YMF+MTAB7E+O7qsMqAbMfW7DG3K1URwhZ5hN1pLlRVGbf4wDFzSfikL05M17EyorS86jShw==}
    +    dependencies:
    +      undici-types: 5.26.5
    +    dev: true
    +
       /@types/normalize-package-data@2.4.1:
         resolution: {integrity: sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw==}
         dev: true
    @@ -4907,7 +4907,7 @@ packages:
       /@types/resolve@1.17.1:
         resolution: {integrity: sha512-yy7HuzQhj0dhGpD8RLXSZWEkLsV9ibvxvi6EiJ3bkqLAO1RGo0WbkWQiwpRlSFymTJRz0d3k5LM3kkx8ArDbLw==}
         dependencies:
    -      '@types/node': 20.11.30
    +      '@types/node': 20.12.3
         dev: true
     
       /@types/responselike@1.0.3:
    @@ -4955,8 +4955,8 @@ packages:
         resolution: {integrity: sha512-0kSuKjAS0TrGLJ0M/+8MaFkGsQhZpB6pxOmvS3K8FYI72K//YmdfoW9X2qPsAKh1mkwxGD5zib9s1FIFed6E8g==}
         dev: true
     
    -  /@types/sizzle@2.3.3:
    -    resolution: {integrity: sha512-JYM8x9EGF163bEyhdJBpR2QX1R5naCJHC8ucJylJ3w9/CVBaskdQ8WqBf8MmQrd1kRvp/a4TS8HJ+bxzR7ZJYQ==}
    +  /@types/sizzle@2.3.8:
    +    resolution: {integrity: sha512-0vWLNK2D5MT9dg0iOo8GlKguPAU02QjmZitPEsXRuJXU/OGIOt9vT9Fc26wtYuavLxtO45v9PGleoL9Z0k1LHg==}
         dev: true
     
       /@types/sockjs@0.3.33:
    @@ -5220,32 +5220,32 @@ packages:
         resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==}
         dev: true
     
    -  /@unocss/astro@0.58.6(rollup@2.79.1)(vite@5.2.6):
    -    resolution: {integrity: sha512-0BvbhEp5Ln6wFNnhISusB2hcfycWkdgnjlFMcLT69efvj4G39MzB6JYT/1qiidLfpj35HcqkpBz7TfZ4bUmOAw==}
    +  /@unocss/astro@0.58.9(rollup@2.79.1)(vite@5.2.7):
    +    resolution: {integrity: sha512-VWfHNC0EfawFxLfb3uI+QcMGBN+ju+BYtutzeZTjilLKj31X2UpqIh8fepixL6ljgZzB3fweqg2xtUMC0gMnoQ==}
         peerDependencies:
           vite: ^2.9.0 || ^3.0.0-0 || ^4.0.0 || ^5.0.0-0
         peerDependenciesMeta:
           vite:
             optional: true
         dependencies:
    -      '@unocss/core': 0.58.6
    -      '@unocss/reset': 0.58.6
    -      '@unocss/vite': 0.58.6(rollup@2.79.1)(vite@5.2.6)
    -      vite: 5.2.6(@types/node@20.11.30)
    +      '@unocss/core': 0.58.9
    +      '@unocss/reset': 0.58.9
    +      '@unocss/vite': 0.58.9(rollup@2.79.1)(vite@5.2.7)
    +      vite: 5.2.7(@types/node@20.11.30)
         transitivePeerDependencies:
           - rollup
         dev: true
     
    -  /@unocss/cli@0.58.6(rollup@2.79.1):
    -    resolution: {integrity: sha512-cfJBiEAKElo9vcA4ZU1WTXeUha5qVBtn3+ZjgdgOvveSX0oY0gOheG+DD2LaEjwWzjCstFU38lblUHWzHRv0sQ==}
    +  /@unocss/cli@0.58.9(rollup@2.79.1):
    +    resolution: {integrity: sha512-q7qlwX3V6UaqljWUQ5gMj36yTA9eLuuRywahdQWt1ioy4aPF/MEEfnMBZf/ntrqf5tIT5TO8fE11nvCco2Q/sA==}
         engines: {node: '>=14'}
         hasBin: true
         dependencies:
           '@ampproject/remapping': 2.3.0
           '@rollup/pluginutils': 5.1.0(rollup@2.79.1)
    -      '@unocss/config': 0.58.6
    -      '@unocss/core': 0.58.6
    -      '@unocss/preset-uno': 0.58.6
    +      '@unocss/config': 0.58.9
    +      '@unocss/core': 0.58.9
    +      '@unocss/preset-uno': 0.58.9
           cac: 6.7.14
           chokidar: 3.6.0
           colorette: 2.0.20
    @@ -5258,178 +5258,178 @@ packages:
           - rollup
         dev: true
     
    -  /@unocss/config@0.58.6:
    -    resolution: {integrity: sha512-YyywfigaEzGkDJ0ztp/tvruD+0xfdCcMZUvaGH4IElAwZDdcSsuaHdR1HW3EixCETOyFHBcuFk6sJwfLPIZLTw==}
    +  /@unocss/config@0.58.9:
    +    resolution: {integrity: sha512-90wRXIyGNI8UenWxvHUcH4l4rgq813MsTzYWsf6ZKyLLvkFjV2b2EfGXI27GPvZ7fVE1OAqx+wJNTw8CyQxwag==}
         engines: {node: '>=14'}
         dependencies:
    -      '@unocss/core': 0.58.6
    -      unconfig: 0.3.11
    +      '@unocss/core': 0.58.9
    +      unconfig: 0.3.12
         dev: true
     
    -  /@unocss/core@0.58.6:
    -    resolution: {integrity: sha512-m87iuENM/PLqLKnfE2mJbpfzj7NQ99LP2go0r+x5X4kXKppyGRJNQg6RIW3AqTS22jup1YPgd62UNXvvRtHtww==}
    +  /@unocss/core@0.58.9:
    +    resolution: {integrity: sha512-wYpPIPPsOIbIoMIDuH8ihehJk5pAZmyFKXIYO/Kro98GEOFhz6lJoLsy6/PZuitlgp2/TSlubUuWGjHWvp5osw==}
         dev: true
     
    -  /@unocss/extractor-arbitrary-variants@0.58.6:
    -    resolution: {integrity: sha512-iSrjLEM+dtcpCmJ8myttPZ/0Dg4HKYVYpM71rNTybrX1HB/cfRsGwIHobjsvvRnve+LAxC4Hmdi8EXRd8V1xPg==}
    +  /@unocss/extractor-arbitrary-variants@0.58.9:
    +    resolution: {integrity: sha512-M/BvPdbEEMdhcFQh/z2Bf9gylO1Ky/ZnpIvKWS1YJPLt4KA7UWXSUf+ZNTFxX+X58Is5qAb5hNh/XBQmL3gbXg==}
         dependencies:
    -      '@unocss/core': 0.58.6
    +      '@unocss/core': 0.58.9
         dev: true
     
    -  /@unocss/inspector@0.58.6:
    -    resolution: {integrity: sha512-JCcnIwSofdIdpR/GYTZ78d4dMZP8Z2oF/g9f9MlPG96LLLwqXSmYtR83vC34fUWm1hz7FZyTLK5OqTV7VfUb+w==}
    +  /@unocss/inspector@0.58.9:
    +    resolution: {integrity: sha512-uRzqkCNeBmEvFePXcfIFcQPMlCXd9/bLwa5OkBthiOILwQdH1uRIW3GWAa2SWspu+kZLP0Ly3SjZ9Wqi+5ZtTw==}
         dependencies:
    -      '@unocss/core': 0.58.6
    -      '@unocss/rule-utils': 0.58.6
    +      '@unocss/core': 0.58.9
    +      '@unocss/rule-utils': 0.58.9
           gzip-size: 6.0.0
           sirv: 2.0.4
         dev: true
     
    -  /@unocss/postcss@0.58.6(postcss@8.4.38):
    -    resolution: {integrity: sha512-jTwu7llhRm7luscsk0JekCeo6RS2W98CXiCJRE1H6IDQnjGQQ/9uRAqW4wuLsv7OQ1ThF8m9NKEj0wFJv7ePNg==}
    +  /@unocss/postcss@0.58.9(postcss@8.4.38):
    +    resolution: {integrity: sha512-PnKmH6Qhimw35yO6u6yx9SHaX2NmvbRNPDvMDHA/1xr3M8L0o8U88tgKbWfm65NEGF3R1zJ9A8rjtZn/LPkgPA==}
         engines: {node: '>=14'}
         peerDependencies:
           postcss: ^8.4.21
         dependencies:
    -      '@unocss/config': 0.58.6
    -      '@unocss/core': 0.58.6
    -      '@unocss/rule-utils': 0.58.6
    +      '@unocss/config': 0.58.9
    +      '@unocss/core': 0.58.9
    +      '@unocss/rule-utils': 0.58.9
           css-tree: 2.3.1
           fast-glob: 3.3.2
           magic-string: 0.30.8
           postcss: 8.4.38
         dev: true
     
    -  /@unocss/preset-attributify@0.58.6:
    -    resolution: {integrity: sha512-IW2aIBH0RiYsP50VckgxXhMwjDk/XVZykUUklgko9aT+gNC2xDBm3936RWLVLmHdBHG1Vnnjc71BG6aUAqrtEA==}
    +  /@unocss/preset-attributify@0.58.9:
    +    resolution: {integrity: sha512-ucP+kXRFcwmBmHohUVv31bE/SejMAMo7Hjb0QcKVLyHlzRWUJsfNR+jTAIGIUSYxN7Q8MeigYsongGo3nIeJnQ==}
         dependencies:
    -      '@unocss/core': 0.58.6
    +      '@unocss/core': 0.58.9
         dev: true
     
    -  /@unocss/preset-icons@0.58.6:
    -    resolution: {integrity: sha512-20P1ISxEX2J5mhyNkMm0nKp2p0qJfmDArolC10Fjyl+GUTCsojDNFfonzQEkHeIIJwzgRcubdtNaotTgYSKSRg==}
    +  /@unocss/preset-icons@0.58.9:
    +    resolution: {integrity: sha512-9dS48+yAunsbS0ylOW2Wisozwpn3nGY1CqTiidkUnrMnrZK3al579A7srUX9NyPWWDjprO7eU/JkWbdDQSmFFA==}
         dependencies:
           '@iconify/utils': 2.1.22
    -      '@unocss/core': 0.58.6
    -      ofetch: 1.3.3
    +      '@unocss/core': 0.58.9
    +      ofetch: 1.3.4
         transitivePeerDependencies:
           - supports-color
         dev: true
     
    -  /@unocss/preset-mini@0.58.6:
    -    resolution: {integrity: sha512-COaM/04Z6/gawzrFcCwoyD6t0FCpuKRyljKKs3VxitoGxsN9BHKiFE3U/cPSQarpG789rmZg8D/wmLHCChSXvg==}
    +  /@unocss/preset-mini@0.58.9:
    +    resolution: {integrity: sha512-m4aDGYtueP8QGsU3FsyML63T/w5Mtr4htme2jXy6m50+tzC1PPHaIBstMTMQfLc6h8UOregPJyGHB5iYQZGEvQ==}
         dependencies:
    -      '@unocss/core': 0.58.6
    -      '@unocss/extractor-arbitrary-variants': 0.58.6
    -      '@unocss/rule-utils': 0.58.6
    +      '@unocss/core': 0.58.9
    +      '@unocss/extractor-arbitrary-variants': 0.58.9
    +      '@unocss/rule-utils': 0.58.9
         dev: true
     
    -  /@unocss/preset-tagify@0.58.6:
    -    resolution: {integrity: sha512-xhpHMz8KLrFlLXaOCeShu0/yVpe6J8bd2WcOTd5VuU5W1uCsplcaagpfTRkBpaH1tJt/MTTU5e4cQLa20l0JZQ==}
    +  /@unocss/preset-tagify@0.58.9:
    +    resolution: {integrity: sha512-obh75XrRmxYwrQMflzvhQUMeHwd/R9bEDhTWUW9aBTolBy4eNypmQwOhHCKh5Xi4Dg6o0xj6GWC/jcCj1SPLog==}
         dependencies:
    -      '@unocss/core': 0.58.6
    +      '@unocss/core': 0.58.9
         dev: true
     
    -  /@unocss/preset-typography@0.58.6:
    -    resolution: {integrity: sha512-s4SSw3SK/JjAqYlga51XnxzPc7jF+TmkEkW09IkYYLPrmqJ76U4i5Po2N7HzyjpVGWnmIp1fQ5mCvbhj4tNyNQ==}
    +  /@unocss/preset-typography@0.58.9:
    +    resolution: {integrity: sha512-hrsaqKlcZni3Vh4fwXC+lP9e92FQYbqtmlZw2jpxlVwwH5aLzwk4d4MiFQGyhCfzuSDYm0Zd52putFVV02J7bA==}
         dependencies:
    -      '@unocss/core': 0.58.6
    -      '@unocss/preset-mini': 0.58.6
    +      '@unocss/core': 0.58.9
    +      '@unocss/preset-mini': 0.58.9
         dev: true
     
    -  /@unocss/preset-uno@0.58.6:
    -    resolution: {integrity: sha512-QFbgvxCvTFqKIA/VGcPM+XcfPGDgbmaiXKbnh7hIbkER6TRxjt4DIGapPt150w/kQT+zC/jerWditSdyn+s3xQ==}
    +  /@unocss/preset-uno@0.58.9:
    +    resolution: {integrity: sha512-Fze+X2Z/EegCkRdDRgwwvFBmXBenNR1AG8KxAyz8iPeWbhOBaRra2sn2ScryrfH6SbJHpw26ZyJXycAdS0Fq3A==}
         dependencies:
    -      '@unocss/core': 0.58.6
    -      '@unocss/preset-mini': 0.58.6
    -      '@unocss/preset-wind': 0.58.6
    -      '@unocss/rule-utils': 0.58.6
    +      '@unocss/core': 0.58.9
    +      '@unocss/preset-mini': 0.58.9
    +      '@unocss/preset-wind': 0.58.9
    +      '@unocss/rule-utils': 0.58.9
         dev: true
     
    -  /@unocss/preset-web-fonts@0.58.6:
    -    resolution: {integrity: sha512-W/8102vurABwfnb9QQyp9GBKP80kpy/IADSM7hbqLNaqmgxHASELXkjhqqt+et39Zn2tnXpIHNVWoqG6QNWBwQ==}
    +  /@unocss/preset-web-fonts@0.58.9:
    +    resolution: {integrity: sha512-XtiO+Z+RYnNYomNkS2XxaQiY++CrQZKOfNGw5htgIrb32QtYVQSkyYQ3jDw7JmMiCWlZ4E72cV/zUb++WrZLxg==}
         dependencies:
    -      '@unocss/core': 0.58.6
    -      ofetch: 1.3.3
    +      '@unocss/core': 0.58.9
    +      ofetch: 1.3.4
         dev: true
     
    -  /@unocss/preset-wind@0.58.6:
    -    resolution: {integrity: sha512-zs41CpFVvLB8CutroUeI1iqxzPsztiur9ei0QjRshxpYerPSsTSgdTkF+eul5D1q3BcsebLebzqtCSqnpFOuOA==}
    +  /@unocss/preset-wind@0.58.9:
    +    resolution: {integrity: sha512-7l+7Vx5UoN80BmJKiqDXaJJ6EUqrnUQYv8NxCThFi5lYuHzxsYWZPLU3k3XlWRUQt8XL+6rYx7mMBmD7EUSHyw==}
         dependencies:
    -      '@unocss/core': 0.58.6
    -      '@unocss/preset-mini': 0.58.6
    -      '@unocss/rule-utils': 0.58.6
    +      '@unocss/core': 0.58.9
    +      '@unocss/preset-mini': 0.58.9
    +      '@unocss/rule-utils': 0.58.9
         dev: true
     
    -  /@unocss/reset@0.58.6:
    -    resolution: {integrity: sha512-mYyOe5QDRHc1BBRff+G97j3SGGC8s3Vk7cCcXc/l48FvPHKtLCphMZaBS+KkGkzWqwAtxv0QRbGhTixJCVDRug==}
    +  /@unocss/reset@0.58.9:
    +    resolution: {integrity: sha512-nA2pg3tnwlquq+FDOHyKwZvs20A6iBsKPU7Yjb48JrNnzoaXqE+O9oN6782IG2yKVW4AcnsAnAnM4cxXhGzy1w==}
         dev: true
     
    -  /@unocss/rule-utils@0.58.6:
    -    resolution: {integrity: sha512-qbVDeyKzExFY/YeoIbMw/lu8PXEGJzSHrFXRumNHX5lvTu8ggAjH6p9xyvYa/YnuNU0+pFKuYxG8LNK2F8f1EQ==}
    +  /@unocss/rule-utils@0.58.9:
    +    resolution: {integrity: sha512-45bDa+elmlFLthhJmKr2ltKMAB0yoXnDMQ6Zp5j3OiRB7dDMBkwYRPvHLvIe+34Ey7tDt/kvvDPtWMpPl2quUQ==}
         engines: {node: '>=14'}
         dependencies:
    -      '@unocss/core': 0.58.6
    +      '@unocss/core': 0.58.9
           magic-string: 0.30.8
         dev: true
     
    -  /@unocss/scope@0.58.6:
    -    resolution: {integrity: sha512-22BDrZPOkfEKuXY4NROhY+J25TAXN+GIxZpE4IbT1Wh+dkjnMXyC85VKGzOAuY/0v0zbaj12dYkmtndueQ/04w==}
    +  /@unocss/scope@0.58.9:
    +    resolution: {integrity: sha512-BIwcpx0R3bE0rYa9JVDJTk0GX32EBvnbvufBpNkWfC5tb7g+B7nMkVq9ichanksYCCxrIQQo0mrIz5PNzu9sGA==}
         dev: true
     
    -  /@unocss/transformer-attributify-jsx-babel@0.58.6:
    -    resolution: {integrity: sha512-IVU/ZozKTFhP9z1I9ZgSKiEx3WfDFDNXbTYTqwNW2SHPmAj5Qf99kn6o7br7Kd1dnxSjKFXOmNfNGkW9AMDraA==}
    +  /@unocss/transformer-attributify-jsx-babel@0.58.9:
    +    resolution: {integrity: sha512-UGaQoGZg+3QrsPtnGHPECmsGn4EQb2KSdZ4eGEn2YssjKv+CcQhzRvpEUgnuF/F+jGPkCkS/G/YEQBHRWBY54Q==}
         dependencies:
    -      '@babel/core': 7.24.0
    -      '@babel/plugin-syntax-jsx': 7.23.3(@babel/core@7.24.0)
    -      '@babel/preset-typescript': 7.23.3(@babel/core@7.24.0)
    -      '@unocss/core': 0.58.6
    +      '@babel/core': 7.24.3
    +      '@babel/plugin-syntax-jsx': 7.24.1(@babel/core@7.24.3)
    +      '@babel/preset-typescript': 7.24.1(@babel/core@7.24.3)
    +      '@unocss/core': 0.58.9
         transitivePeerDependencies:
           - supports-color
         dev: true
     
    -  /@unocss/transformer-attributify-jsx@0.58.6:
    -    resolution: {integrity: sha512-S+mTR5qwMsEaq8nYtqUgYdYIIRAA4oltxfGMYGj3Gxy9V0uteyo56QNp7IOjlYxAB8Dq9jQ8GLYEQe5JlffO1A==}
    +  /@unocss/transformer-attributify-jsx@0.58.9:
    +    resolution: {integrity: sha512-jpL3PRwf8t43v1agUdQn2EHGgfdWfvzsMxFtoybO88xzOikzAJaaouteNtojc/fQat2T9iBduDxVj5egdKmhdQ==}
         dependencies:
    -      '@unocss/core': 0.58.6
    +      '@unocss/core': 0.58.9
         dev: true
     
    -  /@unocss/transformer-compile-class@0.58.6:
    -    resolution: {integrity: sha512-iung3cPA+IpBHoP6dTs9gkPN/wEVujqMZYxf6FQLjRH+v70rPxqTgaeGDyuQZAYikfDhdUZF8PJ4IUMOxEFsmw==}
    +  /@unocss/transformer-compile-class@0.58.9:
    +    resolution: {integrity: sha512-l2VpCqelJ6Tgc1kfSODxBtg7fCGPVRr2EUzTg1LrGYKa2McbKuc/wV/2DWKHGxL6+voWi7a2C9XflqGDXXutuQ==}
         dependencies:
    -      '@unocss/core': 0.58.6
    +      '@unocss/core': 0.58.9
         dev: true
     
    -  /@unocss/transformer-directives@0.58.6:
    -    resolution: {integrity: sha512-8/+KGRmRnlkAJCRt4VqcYK16SnEr9wf1q7D9OCM2kZhk33Sx5SlsO6vjNZ1IH4c67/WviwNV6+KeS4elnQY8bA==}
    +  /@unocss/transformer-directives@0.58.9:
    +    resolution: {integrity: sha512-pLOUsdoY2ugVntJXg0xuGjO9XZ2xCiMxTPRtpZ4TsEzUtdEzMswR06Y8VWvNciTB/Zqxcz9ta8rD0DKePOfSuw==}
         dependencies:
    -      '@unocss/core': 0.58.6
    -      '@unocss/rule-utils': 0.58.6
    +      '@unocss/core': 0.58.9
    +      '@unocss/rule-utils': 0.58.9
           css-tree: 2.3.1
         dev: true
     
    -  /@unocss/transformer-variant-group@0.58.6:
    -    resolution: {integrity: sha512-6IFmfzketh4j+Mc/ik4nU+Oec0cptNR+aVfZZkGb4wd2h1lH+teAT2Y/Vz2xY8rDExOrbjY5y5FgRGd16LY2Rw==}
    +  /@unocss/transformer-variant-group@0.58.9:
    +    resolution: {integrity: sha512-3A6voHSnFcyw6xpcZT6oxE+KN4SHRnG4z862tdtWvRGcN+jGyNr20ylEZtnbk4xj0VNMeGHHQRZ0WLvmrAwvOQ==}
         dependencies:
    -      '@unocss/core': 0.58.6
    +      '@unocss/core': 0.58.9
         dev: true
     
    -  /@unocss/vite@0.58.6(rollup@2.79.1)(vite@5.2.6):
    -    resolution: {integrity: sha512-DPXCoYU/Ozqc/Jeptd41XvtW8MSgVxmtTyhpMAsm/hJuBfwIV7Fy3TZquf4V9BpaTb4ao1LVXzgXmVUmj2HXpA==}
    +  /@unocss/vite@0.58.9(rollup@2.79.1)(vite@5.2.7):
    +    resolution: {integrity: sha512-mmppBuulAHCal+sC0Qz36Y99t0HicAmznpj70Kzwl7g/yvXwm58/DW2OnpCWw+uA8/JBft/+z3zE+XvrI+T1HA==}
         peerDependencies:
           vite: ^2.9.0 || ^3.0.0-0 || ^4.0.0 || ^5.0.0-0
         dependencies:
           '@ampproject/remapping': 2.3.0
           '@rollup/pluginutils': 5.1.0(rollup@2.79.1)
    -      '@unocss/config': 0.58.6
    -      '@unocss/core': 0.58.6
    -      '@unocss/inspector': 0.58.6
    -      '@unocss/scope': 0.58.6
    -      '@unocss/transformer-directives': 0.58.6
    +      '@unocss/config': 0.58.9
    +      '@unocss/core': 0.58.9
    +      '@unocss/inspector': 0.58.9
    +      '@unocss/scope': 0.58.9
    +      '@unocss/transformer-directives': 0.58.9
           chokidar: 3.6.0
           fast-glob: 3.3.2
           magic-string: 0.30.8
    -      vite: 5.2.6(@types/node@20.11.30)
    +      vite: 5.2.7(@types/node@20.11.30)
         transitivePeerDependencies:
           - rollup
         dev: true
    @@ -5443,28 +5443,17 @@ packages:
           '@vite-pwa/assets-generator':
             optional: true
         dependencies:
    -      vite-plugin-pwa: 0.19.7(vite@5.2.6)(workbox-build@7.0.0)(workbox-window@7.0.0)
    +      vite-plugin-pwa: 0.19.7(vite@5.2.7)(workbox-build@7.0.0)(workbox-window@7.0.0)
         dev: true
     
    -  /@vitejs/plugin-vue@5.0.4(vite@5.2.3)(vue@3.4.21):
    +  /@vitejs/plugin-vue@5.0.4(vite@5.2.7)(vue@3.4.21):
         resolution: {integrity: sha512-WS3hevEszI6CEVEx28F8RjTX97k3KsrcY6kvTg7+Whm5y3oYvcqzVeGCU3hxSAn4uY2CLCkeokkGKpoctccilQ==}
         engines: {node: ^18.0.0 || >=20.0.0}
         peerDependencies:
           vite: ^5.0.0
           vue: ^3.2.25
         dependencies:
    -      vite: 5.2.3(@types/node@20.11.30)
    -      vue: 3.4.21(typescript@5.4.3)
    -    dev: true
    -
    -  /@vitejs/plugin-vue@5.0.4(vite@5.2.6)(vue@3.4.21):
    -    resolution: {integrity: sha512-WS3hevEszI6CEVEx28F8RjTX97k3KsrcY6kvTg7+Whm5y3oYvcqzVeGCU3hxSAn4uY2CLCkeokkGKpoctccilQ==}
    -    engines: {node: ^18.0.0 || >=20.0.0}
    -    peerDependencies:
    -      vite: ^5.0.0
    -      vue: ^3.2.25
    -    dependencies:
    -      vite: 5.2.6(@types/node@20.11.30)
    +      vite: 5.2.7(@types/node@20.11.30)
           vue: 3.4.21(typescript@5.4.3)
         dev: true
     
    @@ -5551,7 +5540,7 @@ packages:
         peerDependencies:
           vue: 3.4.21
         dependencies:
    -      '@babel/parser': 7.24.0
    +      '@babel/parser': 7.24.1
           estree-walker: 2.0.2
           source-map-js: 1.2.0
           vue: 3.4.21(typescript@5.4.3)
    @@ -5575,15 +5564,15 @@ packages:
       /@vue/compiler-sfc@3.4.21:
         resolution: {integrity: sha512-me7epoTxYlY+2CUM7hy9PCDdpMPfIwrOvAXud2Upk10g4YLv9UBW7kL798TvMeDhPthkZ0CONNrK2GoeI1ODiQ==}
         dependencies:
    -      '@babel/parser': 7.24.0
    +      '@babel/parser': 7.24.1
           '@vue/compiler-core': 3.4.21
           '@vue/compiler-dom': 3.4.21
           '@vue/compiler-ssr': 3.4.21
           '@vue/shared': 3.4.21
           estree-walker: 2.0.2
           magic-string: 0.30.8
    -      postcss: 8.4.36
    -      source-map-js: 1.1.0
    +      postcss: 8.4.38
    +      source-map-js: 1.2.0
     
       /@vue/compiler-ssr@3.4.21:
         resolution: {integrity: sha512-M5+9nI2lPpAsgXOGQobnIueVqc9sisBFexh5yMIMRAPYLa7+5wEJs8iqOZc1WAa9WQbx9GR2twgznU8LTIiZ4Q==}
    @@ -5595,20 +5584,20 @@ packages:
         resolution: {integrity: sha512-LgPscpE3Vs0x96PzSSB4IGVSZXZBZHpfxs+ZA1d+VEPwHdOXowy/Y2CsvCAIFrf+ssVU1pD1jidj505EpUnfbA==}
         dev: false
     
    -  /@vue/devtools-api@7.0.16(vue@3.4.21):
    -    resolution: {integrity: sha512-fZG2CG8624qphMf4aj59zNHckMx1G3lxODUuyM9USKuLznXCh66TP+tEbPOCcml16hA0GizJ4D8w6F34hrfbcw==}
    +  /@vue/devtools-api@7.0.25(vue@3.4.21):
    +    resolution: {integrity: sha512-fL6DlRp4MSXCLYcqYvKU7QhQZWE3Hfu7X8pC25BS74coJi7uJeSWs4tmrITcwFihNmC9S5GPiffkMdckkeWjzg==}
         dependencies:
    -      '@vue/devtools-kit': 7.0.16(vue@3.4.21)
    +      '@vue/devtools-kit': 7.0.25(vue@3.4.21)
         transitivePeerDependencies:
           - vue
         dev: true
     
    -  /@vue/devtools-kit@7.0.16(vue@3.4.21):
    -    resolution: {integrity: sha512-IA8SSGiZbNgOi4wLT3mRvd71Q9KE0KvMfGk6haa2GZ6bL2K/xMA8Fvvj3o1maspfUXrGcCXutaqbLqbGx/espQ==}
    +  /@vue/devtools-kit@7.0.25(vue@3.4.21):
    +    resolution: {integrity: sha512-wbLkSnOTsKHPb1mB9koFHUoSAF8Dp6Ii/ocR2+DeXFY4oKqIjCeJb/4Lihk4rgqEhCy1WwxLfTgNDo83VvDYkQ==}
         peerDependencies:
           vue: ^3.0.0
         dependencies:
    -      '@vue/devtools-shared': 7.0.16
    +      '@vue/devtools-shared': 7.0.25
           hookable: 5.5.3
           mitt: 3.0.1
           perfect-debounce: 1.0.0
    @@ -5616,8 +5605,8 @@ packages:
           vue: 3.4.21(typescript@5.4.3)
         dev: true
     
    -  /@vue/devtools-shared@7.0.16:
    -    resolution: {integrity: sha512-Lew4FrGjDjmanaUWSueNE1Rre83k7jQpttc17MaoVw0eARWU5DgZ1F/g9GNUMZXVjbP9rwE+LL3gd9XfXCfkvA==}
    +  /@vue/devtools-shared@7.0.25:
    +    resolution: {integrity: sha512-5+XYhcHSXuJSguYnNwL6/e6VTmXwCfryWQOkffh9ZU2zMByybqqqBrMWqvBkqTmMFCjPdzulo66xXbVbwLaElQ==}
         dependencies:
           rfdc: 1.3.1
         dev: true
    @@ -5929,12 +5918,12 @@ packages:
         resolution: {integrity: sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==}
         dev: true
     
    -  /@zenuml/core@3.19.2(typescript@5.4.3):
    -    resolution: {integrity: sha512-VQq1+rDYWDY2IwWFdl3vR1PTZrAaL8NxbH4x7t5gEg+QGRT3nrMQC/JgJUMTGhCCBY8xwo8fuEVhbED04KTvyQ==}
    +  /@zenuml/core@3.19.3(typescript@5.4.3):
    +    resolution: {integrity: sha512-n3rhMFtcpHlxHiQwKLPK7OU1tchFn8Ea3+xvW6svQkUAWq6fkm1Ic/MmUOw1yxLgLUMMM8GUpA0HsRWWOa2nNg==}
         engines: {node: '>=12.0.0'}
         dependencies:
           '@headlessui-float/vue': 0.11.4(vue@3.4.21)
    -      '@headlessui/tailwindcss': 0.2.0(tailwindcss@3.4.1)
    +      '@headlessui/tailwindcss': 0.2.0(tailwindcss@3.4.3)
           '@headlessui/vue': 1.7.19(vue@3.4.21)
           '@types/assert': 1.5.10
           '@types/ramda': 0.28.25
    @@ -5948,9 +5937,9 @@ packages:
           lodash: 4.17.21
           marked: 4.3.0
           pino: 8.19.0
    -      postcss: 8.4.36
    +      postcss: 8.4.38
           ramda: 0.28.0
    -      tailwindcss: 3.4.1
    +      tailwindcss: 3.4.3
           vue: 3.4.21(typescript@5.4.3)
           vuex: 4.1.0(vue@3.4.21)
         transitivePeerDependencies:
    @@ -6093,23 +6082,24 @@ packages:
           uri-js: 4.4.1
         dev: true
     
    -  /algoliasearch@4.22.1:
    -    resolution: {integrity: sha512-jwydKFQJKIx9kIZ8Jm44SdpigFwRGPESaxZBaHSV0XWN2yBJAOT4mT7ppvlrpA4UGzz92pqFnVKr/kaZXrcreg==}
    +  /algoliasearch@4.23.2:
    +    resolution: {integrity: sha512-8aCl055IsokLuPU8BzLjwzXjb7ty9TPcUFFOk0pYOwsE5DMVhE3kwCMFtsCFKcnoPZK7oObm+H5mbnSO/9ioxQ==}
         dependencies:
    -      '@algolia/cache-browser-local-storage': 4.22.1
    -      '@algolia/cache-common': 4.22.1
    -      '@algolia/cache-in-memory': 4.22.1
    -      '@algolia/client-account': 4.22.1
    -      '@algolia/client-analytics': 4.22.1
    -      '@algolia/client-common': 4.22.1
    -      '@algolia/client-personalization': 4.22.1
    -      '@algolia/client-search': 4.22.1
    -      '@algolia/logger-common': 4.22.1
    -      '@algolia/logger-console': 4.22.1
    -      '@algolia/requester-browser-xhr': 4.22.1
    -      '@algolia/requester-common': 4.22.1
    -      '@algolia/requester-node-http': 4.22.1
    -      '@algolia/transporter': 4.22.1
    +      '@algolia/cache-browser-local-storage': 4.23.2
    +      '@algolia/cache-common': 4.23.2
    +      '@algolia/cache-in-memory': 4.23.2
    +      '@algolia/client-account': 4.23.2
    +      '@algolia/client-analytics': 4.23.2
    +      '@algolia/client-common': 4.23.2
    +      '@algolia/client-personalization': 4.23.2
    +      '@algolia/client-search': 4.23.2
    +      '@algolia/logger-common': 4.23.2
    +      '@algolia/logger-console': 4.23.2
    +      '@algolia/recommend': 4.23.2
    +      '@algolia/requester-browser-xhr': 4.23.2
    +      '@algolia/requester-common': 4.23.2
    +      '@algolia/requester-node-http': 4.23.2
    +      '@algolia/transporter': 4.23.2
         dev: true
     
       /amdefine@1.0.1:
    @@ -6285,7 +6275,7 @@ packages:
           array-buffer-byte-length: 1.0.1
           call-bind: 1.0.7
           define-properties: 1.2.1
    -      es-abstract: 1.23.2
    +      es-abstract: 1.23.3
           es-errors: 1.3.0
           get-intrinsic: 1.2.4
           is-array-buffer: 3.0.4
    @@ -7003,8 +6993,8 @@ packages:
           restore-cursor: 4.0.0
         dev: true
     
    -  /cli-table3@0.6.3:
    -    resolution: {integrity: sha512-w5Jac5SykAeZJKntOxJCrm63Eg5/4dhMWIcuTbo9rpE+brgaSZo0RuNJZeOyMgsUdhDeojvgyQLmjI+K50ZGyg==}
    +  /cli-table3@0.6.4:
    +    resolution: {integrity: sha512-Lm3L0p+/npIQWNIiyF/nAn7T5dnOwR3xNTHXYEBFBFVPXzCVNZ5lqEC/1eo/EVfpDsQ1I+TX4ORPQgp+UI0CRw==}
         engines: {node: 10.* || >= 12.*}
         dependencies:
           string-width: 4.2.3
    @@ -7555,14 +7545,14 @@ packages:
         resolution: {integrity: sha512-d4ZVpCW31eWwCMe1YT3ur7mUDnTXbgwyzaL320DrcRT45rfjYxkt5QWLrmOJ+/UEAI2+fQgKe/fCjR8l4TpRgw==}
         dev: true
     
    -  /cypress-image-snapshot@4.0.1(cypress@13.7.1)(jest@29.7.0):
    +  /cypress-image-snapshot@4.0.1(cypress@13.7.2)(jest@29.7.0):
         resolution: {integrity: sha512-PBpnhX/XItlx3/DAk5ozsXQHUi72exybBNH5Mpqj1DVmjq+S5Jd9WE5CRa4q5q0zuMZb2V2VpXHth6MjFpgj9Q==}
         engines: {node: '>=8'}
         peerDependencies:
           cypress: ^4.5.0
         dependencies:
           chalk: 2.4.2
    -      cypress: 13.7.1
    +      cypress: 13.7.2
           fs-extra: 7.0.1
           glob: 7.2.3
           jest-image-snapshot: 4.2.0(jest@29.7.0)
    @@ -7572,8 +7562,8 @@ packages:
           - jest
         dev: true
     
    -  /cypress@13.7.1:
    -    resolution: {integrity: sha512-4u/rpFNxOFCoFX/Z5h+uwlkBO4mWzAjveURi3vqdSu56HPvVdyGTxGw4XKGWt399Y1JwIn9E1L9uMXQpc0o55w==}
    +  /cypress@13.7.2:
    +    resolution: {integrity: sha512-FF5hFI5wlRIHY8urLZjJjj/YvfCBrRpglbZCLr/cYcL9MdDe0+5usa8kTIrDHthlEc9lwihbkb5dmwqBDNS2yw==}
         engines: {node: ^16.0.0 || ^18.0.0 || >=20.0.0}
         hasBin: true
         requiresBuild: true
    @@ -7581,7 +7571,7 @@ packages:
           '@cypress/request': 3.0.1
           '@cypress/xvfb': 1.2.4(supports-color@8.1.1)
           '@types/sinonjs__fake-timers': 8.1.1
    -      '@types/sizzle': 2.3.3
    +      '@types/sizzle': 2.3.8
           arch: 2.2.0
           blob-util: 2.0.2
           bluebird: 3.7.2
    @@ -7590,7 +7580,7 @@ packages:
           chalk: 4.1.2
           check-more-types: 2.24.0
           cli-cursor: 3.1.0
    -      cli-table3: 0.6.3
    +      cli-table3: 0.6.4
           commander: 6.2.1
           common-tags: 1.8.2
           dayjs: 1.11.10
    @@ -7617,7 +7607,7 @@ packages:
           request-progress: 3.0.0
           semver: 7.6.0
           supports-color: 8.1.1
    -      tmp: 0.2.1
    +      tmp: 0.2.3
           untildify: 4.0.0
           yauzl: 2.10.0
         dev: true
    @@ -8362,8 +8352,8 @@ packages:
           is-arrayish: 0.2.1
         dev: true
     
    -  /es-abstract@1.23.2:
    -    resolution: {integrity: sha512-60s3Xv2T2p1ICykc7c+DNDPLDMm9t4QxCOUU0K9JxiLjM3C1zB9YVdN7tjxrFd4+AkZ8CdX1ovUga4P2+1e+/w==}
    +  /es-abstract@1.23.3:
    +    resolution: {integrity: sha512-e+HfNH61Bj1X9/jLc5v1owaLYuHdeHHSQlkhCBiTK8rBvKaULl/beGMxwrMXjpYrv4pz22BlY570vVePA2ho4A==}
         engines: {node: '>= 0.4'}
         dependencies:
           array-buffer-byte-length: 1.0.1
    @@ -8650,8 +8640,8 @@ packages:
           - typescript
         dev: true
     
    -  /eslint-plugin-jsdoc@48.2.1(eslint@8.57.0):
    -    resolution: {integrity: sha512-iUvbcyDZSO/9xSuRv2HQBw++8VkV/pt3UWtX9cpPH0l7GKPq78QC/6+PmyQHHvNZaTjAce6QVciEbnc6J/zH5g==}
    +  /eslint-plugin-jsdoc@48.2.2(eslint@8.57.0):
    +    resolution: {integrity: sha512-S0Gk+rpT5w/ephKCncUY7kUsix9uE4B9XI8D/fS1/26d8okE+vZsuG1IvIt4B6sJUdQqsnzi+YXfmh+HJG11CA==}
         engines: {node: '>=18'}
         peerDependencies:
           eslint: ^7.0.0 || ^8.0.0 || ^9.0.0
    @@ -9181,8 +9171,8 @@ packages:
         resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==}
         dev: true
     
    -  /fast-redact@3.3.0:
    -    resolution: {integrity: sha512-6T5V1QK1u4oF+ATxs1lWUmlEk6P2T9HqJG3e2DnHOdVgZy2rFJBoEnrIedcTXlkAHU/zKC+7KETJ+KGGKwxgMQ==}
    +  /fast-redact@3.5.0:
    +    resolution: {integrity: sha512-dwsoQlS7h9hMeYUq1W++23NDcBLV4KqONnITDV9DjfS3q1SgDGVrBdvvTLUotWtPSD7asWDV9/CmsZPy8Hf70A==}
         engines: {node: '>=6'}
     
       /fast-safe-stringify@2.1.1:
    @@ -9591,7 +9581,7 @@ packages:
         dependencies:
           call-bind: 1.0.7
           define-properties: 1.2.1
    -      es-abstract: 1.23.2
    +      es-abstract: 1.23.3
           functions-have-names: 1.2.3
         dev: true
     
    @@ -9758,6 +9748,19 @@ packages:
           minimatch: 9.0.3
           minipass: 7.0.4
           path-scurry: 1.10.1
    +    dev: true
    +
    +  /glob@10.3.12:
    +    resolution: {integrity: sha512-TCNv8vJ+xz4QiqTpfOJA7HvYv+tNIRHKfUWw/q+v2jdgN4ebz+KY9tGx5J4rHP0o84mNP+ApH66HRX8us3Khqg==}
    +    engines: {node: '>=16 || 14 >=14.17'}
    +    hasBin: true
    +    dependencies:
    +      foreground-child: 3.1.1
    +      jackspeak: 2.3.6
    +      minimatch: 9.0.4
    +      minipass: 7.0.4
    +      path-scurry: 1.10.2
    +    dev: false
     
       /glob@7.2.3:
         resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==}
    @@ -10125,7 +10128,7 @@ packages:
         dependencies:
           assert-plus: 1.0.0
           jsprim: 2.0.2
    -      sshpk: 1.17.0
    +      sshpk: 1.18.0
         dev: true
     
       /http2-wrapper@1.0.3:
    @@ -10661,7 +10664,7 @@ packages:
         engines: {node: '>=8'}
         dependencies:
           '@babel/core': 7.24.0
    -      '@babel/parser': 7.24.0
    +      '@babel/parser': 7.24.1
           '@istanbuljs/schema': 0.1.3
           istanbul-lib-coverage: 3.2.2
           semver: 6.3.1
    @@ -11169,7 +11172,7 @@ packages:
         resolution: {integrity: sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ==}
         engines: {node: '>= 10.13.0'}
         dependencies:
    -      '@types/node': 20.11.30
    +      '@types/node': 20.12.3
           merge-stream: 2.0.0
           supports-color: 7.2.0
         dev: true
    @@ -12409,6 +12412,14 @@ packages:
         engines: {node: '>=16 || 14 >=14.17'}
         dependencies:
           brace-expansion: 2.0.1
    +    dev: true
    +
    +  /minimatch@9.0.4:
    +    resolution: {integrity: sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw==}
    +    engines: {node: '>=16 || 14 >=14.17'}
    +    dependencies:
    +      brace-expansion: 2.0.1
    +    dev: false
     
       /minimist@1.2.8:
         resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==}
    @@ -12518,8 +12529,8 @@ packages:
         engines: {node: '>=10.5.0'}
         dev: true
     
    -  /node-fetch-native@1.6.2:
    -    resolution: {integrity: sha512-69mtXOFZ6hSkYiXAVB5SqaRvrbITC/NPyqv7yuu/qw0nmgPyYbIMYYNIDhNtwPrzk0ptrimrLz/hhjvm4w5Z+w==}
    +  /node-fetch-native@1.6.4:
    +    resolution: {integrity: sha512-IhOigYzAKHd244OC0JIMIUrjzctirCmPkaIfhDeGcEETWof5zKYUW7e7MYvChGWh/4CJeXEgsRyGzuF334rOOQ==}
         dev: true
     
       /node-fetch@2.6.7(encoding@0.1.13):
    @@ -12687,12 +12698,12 @@ packages:
         resolution: {integrity: sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==}
         dev: true
     
    -  /ofetch@1.3.3:
    -    resolution: {integrity: sha512-s1ZCMmQWXy4b5K/TW9i/DtiN8Ku+xCiHcjQ6/J/nDdssirrQNOoB165Zu8EqLMA2lln1JUth9a0aW9Ap2ctrUg==}
    +  /ofetch@1.3.4:
    +    resolution: {integrity: sha512-KLIET85ik3vhEfS+3fDlc/BAZiAp+43QEC/yCo5zkNoY2YaKvNkOaFr/6wCFgFH1kuYQM5pMNi0Tg8koiIemtw==}
         dependencies:
           destr: 2.0.3
    -      node-fetch-native: 1.6.2
    -      ufo: 1.4.0
    +      node-fetch-native: 1.6.4
    +      ufo: 1.5.3
         dev: true
     
       /omggif@1.0.10:
    @@ -12997,6 +13008,15 @@ packages:
         dependencies:
           lru-cache: 10.2.0
           minipass: 7.0.4
    +    dev: true
    +
    +  /path-scurry@1.10.2:
    +    resolution: {integrity: sha512-7xTavNy5RQXnsjANvVvMkEjvloOinkAjv/Z6Ildz9v2RinZ4SBKTWFOVRbaF8p0vpHnyjV/UwNDdKuUv6M5qcA==}
    +    engines: {node: '>=16 || 14 >=14.17'}
    +    dependencies:
    +      lru-cache: 10.2.0
    +      minipass: 7.0.4
    +    dev: false
     
       /path-to-regexp@0.1.7:
         resolution: {integrity: sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==}
    @@ -13082,7 +13102,7 @@ packages:
         resolution: {integrity: sha512-iuhEDel3Z3hF9Jfe44DPXR8l07bhjuFY3GMHIXbjnY9XcafbyDDwl2sN2vw2GjMPf5Nkoe+OFao7ffn9SXaKDg==}
         hasBin: true
         dependencies:
    -      fast-redact: 3.3.0
    +      fast-redact: 3.5.0
           fast-safe-stringify: 2.1.1
           flatstr: 1.0.12
           pino-std-serializers: 3.2.0
    @@ -13096,7 +13116,7 @@ packages:
         hasBin: true
         dependencies:
           atomic-sleep: 1.0.0
    -      fast-redact: 3.3.0
    +      fast-redact: 3.5.0
           on-exit-leak-free: 2.1.2
           pino-abstract-transport: 1.1.0
           pino-std-serializers: 6.2.2
    @@ -13176,8 +13196,8 @@ packages:
         engines: {node: '>=12.13.0'}
         dev: true
     
    -  /pnpm@8.15.5:
    -    resolution: {integrity: sha512-sFGjLH5pWDO4SSbTspuMylclS1ifBknYmcbp0O22cLkex+KkNFm65zdZu1zmGcMmbxFr+THOItHvF1mn5Fqpbw==}
    +  /pnpm@8.15.6:
    +    resolution: {integrity: sha512-d7iem+d6Kwatj0A6Gcrl4il29hAj+YrTI9XDAZSVjrwC7gpq5dE+5FT2E05OjK8poF8LGg4dKxe8prah8RWfhg==}
         engines: {node: '>=16.14'}
         hasBin: true
         dev: true
    @@ -13240,11 +13260,11 @@ packages:
           postcss: ^8.2.14
         dependencies:
           postcss: 8.4.38
    -      postcss-selector-parser: 6.0.15
    +      postcss-selector-parser: 6.0.16
         dev: false
     
    -  /postcss-selector-parser@6.0.15:
    -    resolution: {integrity: sha512-rEYkQOMUCEMhsKbK66tbEU9QVIxbhN18YiniAwA7XQYTVBqrBy+P2p5JcdqsHgKM2zWylp8d7J6eszocfds5Sw==}
    +  /postcss-selector-parser@6.0.16:
    +    resolution: {integrity: sha512-A0RVJrX+IUkVZbW3ClroRWurercFhieevHB38sr2+l9eUClMqome3LmEmnhlNy+5Mr2EYN6B2Kaw9wYdd+VHiw==}
         engines: {node: '>=4'}
         dependencies:
           cssesc: 3.0.0
    @@ -13255,14 +13275,6 @@ packages:
         resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==}
         dev: false
     
    -  /postcss@8.4.36:
    -    resolution: {integrity: sha512-/n7eumA6ZjFHAsbX30yhHup/IMkOmlmvtEi7P+6RMYf+bGJSUHc3geH4a0NSZxAz/RJfiS9tooCTs9LAVYUZKw==}
    -    engines: {node: ^10 || ^12 || >=14}
    -    dependencies:
    -      nanoid: 3.3.7
    -      picocolors: 1.0.0
    -      source-map-js: 1.2.0
    -
       /postcss@8.4.38:
         resolution: {integrity: sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A==}
         engines: {node: ^10 || ^12 || >=14}
    @@ -13271,8 +13283,8 @@ packages:
           picocolors: 1.0.0
           source-map-js: 1.2.0
     
    -  /preact@10.19.6:
    -    resolution: {integrity: sha512-gympg+T2Z1fG1unB8NH29yHJwnEaCH37Z32diPDku316OTnRPeMbiRV9kTrfZpocXjdfnWuFUl/Mj4BHaf6gnw==}
    +  /preact@10.20.1:
    +    resolution: {integrity: sha512-JIFjgFg9B2qnOoGiYMVBtrcFxHqn+dNXbq76bVmcaHYJFYR4lW67AOcXgAYQQTDYXDOg/kTZrKPNCdRgJ2UJmw==}
         dev: true
     
       /prelude-ls@1.2.1:
    @@ -13678,7 +13690,7 @@ packages:
       /request-progress@3.0.0:
         resolution: {integrity: sha512-MnWzEHHaxHO2iWiQuHrUPBi/1WeBf5PkxQqNyNvLl9VAYSdXkP8tQ3pBSeCPD+yw0v0Aq1zosWLz0BdeXpWwZg==}
         dependencies:
    -      throttleit: 1.0.0
    +      throttleit: 1.0.1
         dev: true
     
       /require-directory@2.1.1:
    @@ -13829,7 +13841,7 @@ packages:
           jest-worker: 26.6.2
           rollup: 2.79.1
           serialize-javascript: 4.0.0
    -      terser: 5.29.2
    +      terser: 5.30.2
         dev: true
     
       /rollup-plugin-visualizer@5.12.0:
    @@ -13856,26 +13868,28 @@ packages:
           fsevents: 2.3.3
         dev: true
     
    -  /rollup@4.13.0:
    -    resolution: {integrity: sha512-3YegKemjoQnYKmsBlOHfMLVPPA5xLkQ8MHLLSw/fBrFaVkEayL51DilPpNNLq1exr98F2B1TzrV0FUlN3gWRPg==}
    +  /rollup@4.13.2:
    +    resolution: {integrity: sha512-MIlLgsdMprDBXC+4hsPgzWUasLO9CE4zOkj/u6j+Z6j5A4zRY+CtiXAdJyPtgCsc42g658Aeh1DlrdVEJhsL2g==}
         engines: {node: '>=18.0.0', npm: '>=8.0.0'}
         hasBin: true
         dependencies:
           '@types/estree': 1.0.5
         optionalDependencies:
    -      '@rollup/rollup-android-arm-eabi': 4.13.0
    -      '@rollup/rollup-android-arm64': 4.13.0
    -      '@rollup/rollup-darwin-arm64': 4.13.0
    -      '@rollup/rollup-darwin-x64': 4.13.0
    -      '@rollup/rollup-linux-arm-gnueabihf': 4.13.0
    -      '@rollup/rollup-linux-arm64-gnu': 4.13.0
    -      '@rollup/rollup-linux-arm64-musl': 4.13.0
    -      '@rollup/rollup-linux-riscv64-gnu': 4.13.0
    -      '@rollup/rollup-linux-x64-gnu': 4.13.0
    -      '@rollup/rollup-linux-x64-musl': 4.13.0
    -      '@rollup/rollup-win32-arm64-msvc': 4.13.0
    -      '@rollup/rollup-win32-ia32-msvc': 4.13.0
    -      '@rollup/rollup-win32-x64-msvc': 4.13.0
    +      '@rollup/rollup-android-arm-eabi': 4.13.2
    +      '@rollup/rollup-android-arm64': 4.13.2
    +      '@rollup/rollup-darwin-arm64': 4.13.2
    +      '@rollup/rollup-darwin-x64': 4.13.2
    +      '@rollup/rollup-linux-arm-gnueabihf': 4.13.2
    +      '@rollup/rollup-linux-arm64-gnu': 4.13.2
    +      '@rollup/rollup-linux-arm64-musl': 4.13.2
    +      '@rollup/rollup-linux-powerpc64le-gnu': 4.13.2
    +      '@rollup/rollup-linux-riscv64-gnu': 4.13.2
    +      '@rollup/rollup-linux-s390x-gnu': 4.13.2
    +      '@rollup/rollup-linux-x64-gnu': 4.13.2
    +      '@rollup/rollup-linux-x64-musl': 4.13.2
    +      '@rollup/rollup-win32-arm64-msvc': 4.13.2
    +      '@rollup/rollup-win32-ia32-msvc': 4.13.2
    +      '@rollup/rollup-win32-x64-msvc': 4.13.2
           fsevents: 2.3.3
         dev: true
     
    @@ -14153,16 +14167,10 @@ packages:
           vscode-textmate: 8.0.0
         dev: true
     
    -  /shiki@1.1.7:
    -    resolution: {integrity: sha512-9kUTMjZtcPH3i7vHunA6EraTPpPOITYTdA5uMrvsJRexktqP0s7P3s9HVK80b4pP42FRVe03D7fT3NmJv2yYhw==}
    -    dependencies:
    -      '@shikijs/core': 1.1.7
    -    dev: true
    -
    -  /shiki@1.2.0:
    -    resolution: {integrity: sha512-xLhiTMOIUXCv5DqJ4I70GgQCtdlzsTqFLZWcMHHG3TAieBUbvEGthdrlPDlX4mL/Wszx9C6rEcxU6kMlg4YlxA==}
    +  /shiki@1.2.3:
    +    resolution: {integrity: sha512-+v7lO5cJMeV2N2ySK4l+51YX3wTh5I49SLjAOs1ch1DbUfeEytU1Ac9KaZPoZJCVBGycDZ09OBQN5nbcPFc5FQ==}
         dependencies:
    -      '@shikijs/core': 1.2.0
    +      '@shikijs/core': 1.2.3
         dev: true
     
       /side-channel@1.0.4:
    @@ -14438,8 +14446,8 @@ packages:
         resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==}
         dev: true
     
    -  /sshpk@1.17.0:
    -    resolution: {integrity: sha512-/9HIEs1ZXGhSPE8X6Ccm7Nam1z8KcoCqPdI7ecm1N33EzAetWahvQWVqLZtaZQ+IDKX4IyA2o0gBzqIMkAagHQ==}
    +  /sshpk@1.18.0:
    +    resolution: {integrity: sha512-2p2KJZTSqQ/I3+HX42EpYOa2l3f8Erv8MWKsy2I9uf4wA7yFIkXRffYdsx86y6z4vHtV8u7g+pPlr8/4ouAxsQ==}
         engines: {node: '>=0.10.0'}
         hasBin: true
         dependencies:
    @@ -14555,7 +14563,7 @@ packages:
         dependencies:
           call-bind: 1.0.7
           define-properties: 1.2.1
    -      es-abstract: 1.23.2
    +      es-abstract: 1.23.3
           es-errors: 1.3.0
           es-object-atoms: 1.0.0
           get-intrinsic: 1.2.4
    @@ -14573,7 +14581,7 @@ packages:
         dependencies:
           call-bind: 1.0.7
           define-properties: 1.2.1
    -      es-abstract: 1.23.2
    +      es-abstract: 1.23.3
           es-object-atoms: 1.0.0
         dev: true
     
    @@ -14687,7 +14695,7 @@ packages:
         dependencies:
           '@jridgewell/gen-mapping': 0.3.5
           commander: 4.1.1
    -      glob: 10.3.10
    +      glob: 10.3.12
           lines-and-columns: 1.2.4
           mz: 2.7.0
           pirates: 4.0.6
    @@ -14739,8 +14747,8 @@ packages:
         resolution: {integrity: sha512-Cat63mxsVJlzYvN51JmVXIgNoUokrIaT2zLclCXjRd8boZ0004U4KCs/sToJ75C6sdlByWxpYnb5Boif1VSFew==}
         dev: true
     
    -  /tailwindcss@3.4.1:
    -    resolution: {integrity: sha512-qAYmXRfk3ENzuPBakNK0SRrUDipP8NQnEY6772uDhflcQz5EhRdD7JNZxyrFHVQNCwULPBn6FNPp9brpO7ctcA==}
    +  /tailwindcss@3.4.3:
    +    resolution: {integrity: sha512-U7sxQk/n397Bmx4JHbJx/iSOOv5G+II3f1kpLpY2QeUv5DcPdcTsYLlusZfq1NthHS1c1cZoyFmmkex1rzke0A==}
         engines: {node: '>=14.0.0'}
         hasBin: true
         dependencies:
    @@ -14763,7 +14771,7 @@ packages:
           postcss-js: 4.0.1(postcss@8.4.38)
           postcss-load-config: 4.0.2(postcss@8.4.38)
           postcss-nested: 6.0.1(postcss@8.4.38)
    -      postcss-selector-parser: 6.0.15
    +      postcss-selector-parser: 6.0.16
           resolve: 1.22.8
           sucrase: 3.35.0
         transitivePeerDependencies:
    @@ -14846,6 +14854,17 @@ packages:
           source-map-support: 0.5.21
         dev: true
     
    +  /terser@5.30.2:
    +    resolution: {integrity: sha512-vTDjRKYKip4dOFL5VizdoxHTYDfEXPdz5t+FbxCC5Rp2s+KbEO8w5wqMDPgj7CtFKZuzq7PXv28fZoXfqqBVuw==}
    +    engines: {node: '>=10'}
    +    hasBin: true
    +    dependencies:
    +      '@jridgewell/source-map': 0.3.6
    +      acorn: 8.11.3
    +      commander: 2.20.3
    +      source-map-support: 0.5.21
    +    dev: true
    +
       /test-exclude@6.0.0:
         resolution: {integrity: sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==}
         engines: {node: '>=8'}
    @@ -14880,8 +14899,8 @@ packages:
         resolution: {integrity: sha512-WKexMoJj3vEuK0yFEapj8y64V0A6xcuPuK9Gt1d0R+dzCSJc0lHqQytAbSB4cDAK0dWh4T0E2ETkoLE2WZ41OQ==}
         dev: true
     
    -  /throttleit@1.0.0:
    -    resolution: {integrity: sha512-rkTVqu6IjfQ/6+uNuuc3sZek4CEYxTJom3IktzgdSxcZqdARuebbA/f4QmAxMQIxqq9ZLEUkSYqvuk1I6VKq4g==}
    +  /throttleit@1.0.1:
    +    resolution: {integrity: sha512-vDZpf9Chs9mAdfY046mcPt8fg5QSZr37hEH4TXYBnDF+izxgrbRGUAAaBvIk/fJm9aOFCGFd1EsNg5AZCbnQCQ==}
         dev: true
     
       /through@2.3.8:
    @@ -14918,11 +14937,9 @@ packages:
         engines: {node: '>=14.0.0'}
         dev: true
     
    -  /tmp@0.2.1:
    -    resolution: {integrity: sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ==}
    -    engines: {node: '>=8.17.0'}
    -    dependencies:
    -      rimraf: 3.0.2
    +  /tmp@0.2.3:
    +    resolution: {integrity: sha512-nZD7m9iCPC5g0pYmcaxogYKggSfLsdxl8of3Q/oIbqCqLLIO9IAF0GWjX1z9NZRHPiXv8Wex4yDCaZsgEw0Y8w==}
    +    engines: {node: '>=14.14'}
         dev: true
     
       /tmpl@1.0.5:
    @@ -15207,6 +15224,10 @@ packages:
         resolution: {integrity: sha512-Hhy+BhRBleFjpJ2vchUNN40qgkh0366FWJGqVLYBHev0vpHTrXSA0ryT+74UiW6KWsldNurQMKGqCm1M2zBciQ==}
         dev: true
     
    +  /ufo@1.5.3:
    +    resolution: {integrity: sha512-Y7HYmWaFwPUmkoQCUIAYpKqkOf+SbVj/2fJJZ4RJMCfZp0rTGwRbzQD+HghfnhKOjL9E01okqz+ncJskGYfBNw==}
    +    dev: true
    +
       /uglify-js@3.17.4:
         resolution: {integrity: sha512-T9q82TJI9e/C1TAxYvfb16xO120tMVFZrGA3f9/P4424DNu6ypK103y0GPFVa17yotwSyZW5iYXgjYHkGrJW/g==}
         engines: {node: '>=0.8.0'}
    @@ -15222,8 +15243,8 @@ packages:
           which-boxed-primitive: 1.0.2
         dev: true
     
    -  /unconfig@0.3.11:
    -    resolution: {integrity: sha512-bV/nqePAKv71v3HdVUn6UefbsDKQWRX+bJIkiSm0+twIds6WiD2bJLWWT3i214+J/B4edufZpG2w7Y63Vbwxow==}
    +  /unconfig@0.3.12:
    +    resolution: {integrity: sha512-oDtfWDC0TMYFuwdt7E7CaqYZGqq1wAiC12PRTFe/93IkgNi+wVlF/LCjcD/bgNkGoopb0RsU363Ge3YXy7NGSw==}
         dependencies:
           '@antfu/utils': 0.7.7
           defu: 6.1.4
    @@ -15350,11 +15371,11 @@ packages:
         engines: {node: '>= 10.0.0'}
         dev: true
     
    -  /unocss@0.58.6(postcss@8.4.38)(rollup@2.79.1)(vite@5.2.6):
    -    resolution: {integrity: sha512-HBstDtC6KKD5yCYh5hHpPdHGZai0B/iLlDwkOIK+xfQYrvl8tNBvKfRz3xgiaI5MJ+fLmEOxbfXQIjleU1A0iA==}
    +  /unocss@0.58.9(postcss@8.4.38)(rollup@2.79.1)(vite@5.2.7):
    +    resolution: {integrity: sha512-aqANXXP0RrtN4kSaTLn/7I6wh8o45LUdVgPzGu7Fan2DfH2+wpIs6frlnlHlOymnb+52dp6kXluQinddaUKW1A==}
         engines: {node: '>=14'}
         peerDependencies:
    -      '@unocss/webpack': 0.58.6
    +      '@unocss/webpack': 0.58.9
           vite: ^2.9.0 || ^3.0.0-0 || ^4.0.0 || ^5.0.0-0
         peerDependenciesMeta:
           '@unocss/webpack':
    @@ -15362,27 +15383,27 @@ packages:
           vite:
             optional: true
         dependencies:
    -      '@unocss/astro': 0.58.6(rollup@2.79.1)(vite@5.2.6)
    -      '@unocss/cli': 0.58.6(rollup@2.79.1)
    -      '@unocss/core': 0.58.6
    -      '@unocss/extractor-arbitrary-variants': 0.58.6
    -      '@unocss/postcss': 0.58.6(postcss@8.4.38)
    -      '@unocss/preset-attributify': 0.58.6
    -      '@unocss/preset-icons': 0.58.6
    -      '@unocss/preset-mini': 0.58.6
    -      '@unocss/preset-tagify': 0.58.6
    -      '@unocss/preset-typography': 0.58.6
    -      '@unocss/preset-uno': 0.58.6
    -      '@unocss/preset-web-fonts': 0.58.6
    -      '@unocss/preset-wind': 0.58.6
    -      '@unocss/reset': 0.58.6
    -      '@unocss/transformer-attributify-jsx': 0.58.6
    -      '@unocss/transformer-attributify-jsx-babel': 0.58.6
    -      '@unocss/transformer-compile-class': 0.58.6
    -      '@unocss/transformer-directives': 0.58.6
    -      '@unocss/transformer-variant-group': 0.58.6
    -      '@unocss/vite': 0.58.6(rollup@2.79.1)(vite@5.2.6)
    -      vite: 5.2.6(@types/node@20.11.30)
    +      '@unocss/astro': 0.58.9(rollup@2.79.1)(vite@5.2.7)
    +      '@unocss/cli': 0.58.9(rollup@2.79.1)
    +      '@unocss/core': 0.58.9
    +      '@unocss/extractor-arbitrary-variants': 0.58.9
    +      '@unocss/postcss': 0.58.9(postcss@8.4.38)
    +      '@unocss/preset-attributify': 0.58.9
    +      '@unocss/preset-icons': 0.58.9
    +      '@unocss/preset-mini': 0.58.9
    +      '@unocss/preset-tagify': 0.58.9
    +      '@unocss/preset-typography': 0.58.9
    +      '@unocss/preset-uno': 0.58.9
    +      '@unocss/preset-web-fonts': 0.58.9
    +      '@unocss/preset-wind': 0.58.9
    +      '@unocss/reset': 0.58.9
    +      '@unocss/transformer-attributify-jsx': 0.58.9
    +      '@unocss/transformer-attributify-jsx-babel': 0.58.9
    +      '@unocss/transformer-compile-class': 0.58.9
    +      '@unocss/transformer-directives': 0.58.9
    +      '@unocss/transformer-variant-group': 0.58.9
    +      '@unocss/vite': 0.58.9(rollup@2.79.1)(vite@5.2.7)
    +      vite: 5.2.7(@types/node@20.11.30)
         transitivePeerDependencies:
           - postcss
           - rollup
    @@ -15538,7 +15559,7 @@ packages:
           debug: 4.3.4(supports-color@8.1.1)
           pathe: 1.1.2
           picocolors: 1.0.0
    -      vite: 5.2.6(@types/node@20.11.30)
    +      vite: 5.2.7(@types/node@20.11.30)
         transitivePeerDependencies:
           - '@types/node'
           - less
    @@ -15550,7 +15571,7 @@ packages:
           - terser
         dev: true
     
    -  /vite-plugin-istanbul@6.0.0(vite@5.2.6):
    +  /vite-plugin-istanbul@6.0.0(vite@5.2.7):
         resolution: {integrity: sha512-Vwh2XdesjcLwaPbHSOiWHh+0s7CNovQTPEjUCTkqmJUe0FN2TKsOp0qpoaklOuwrKlL9elhD5fPFxi5lmG62zA==}
         peerDependencies:
           vite: '>=4 <=6'
    @@ -15561,12 +15582,12 @@ packages:
           picocolors: 1.0.0
           source-map: 0.7.4
           test-exclude: 6.0.0
    -      vite: 5.2.6(@types/node@20.11.30)
    +      vite: 5.2.7(@types/node@20.11.30)
         transitivePeerDependencies:
           - supports-color
         dev: true
     
    -  /vite-plugin-pwa@0.19.7(vite@5.2.6)(workbox-build@7.0.0)(workbox-window@7.0.0):
    +  /vite-plugin-pwa@0.19.7(vite@5.2.7)(workbox-build@7.0.0)(workbox-window@7.0.0):
         resolution: {integrity: sha512-18TECxoGPQE7tVZzKxbf5Icrl5688n1JGMPSgGotTsh89vLDxevY7ICfD3CFVfonZXh8ckuyJXg0NXE5+FAl2A==}
         engines: {node: '>=16.0.0'}
         peerDependencies:
    @@ -15581,51 +15602,15 @@ packages:
           debug: 4.3.4(supports-color@8.1.1)
           fast-glob: 3.3.2
           pretty-bytes: 6.1.1
    -      vite: 5.2.6(@types/node@20.11.30)
    +      vite: 5.2.7(@types/node@20.11.30)
           workbox-build: 7.0.0
           workbox-window: 7.0.0
         transitivePeerDependencies:
           - supports-color
         dev: true
     
    -  /vite@5.2.3(@types/node@20.11.30):
    -    resolution: {integrity: sha512-+i1oagbvkVIhEy9TnEV+fgXsng13nZM90JQbrcPrf6DvW2mXARlz+DK7DLiDP+qeKoD1FCVx/1SpFL1CLq9Mhw==}
    -    engines: {node: ^18.0.0 || >=20.0.0}
    -    hasBin: true
    -    peerDependencies:
    -      '@types/node': ^18.0.0 || >=20.0.0
    -      less: '*'
    -      lightningcss: ^1.21.0
    -      sass: '*'
    -      stylus: '*'
    -      sugarss: '*'
    -      terser: ^5.4.0
    -    peerDependenciesMeta:
    -      '@types/node':
    -        optional: true
    -      less:
    -        optional: true
    -      lightningcss:
    -        optional: true
    -      sass:
    -        optional: true
    -      stylus:
    -        optional: true
    -      sugarss:
    -        optional: true
    -      terser:
    -        optional: true
    -    dependencies:
    -      '@types/node': 20.11.30
    -      esbuild: 0.20.2
    -      postcss: 8.4.38
    -      rollup: 4.13.0
    -    optionalDependencies:
    -      fsevents: 2.3.3
    -    dev: true
    -
    -  /vite@5.2.6(@types/node@20.11.30):
    -    resolution: {integrity: sha512-FPtnxFlSIKYjZ2eosBQamz4CbyrTizbZ3hnGJlh/wMtCrlp1Hah6AzBLjGI5I2urTfNnpovpHdrL6YRuBOPnCA==}
    +  /vite@5.2.7(@types/node@20.11.30):
    +    resolution: {integrity: sha512-k14PWOKLI6pMaSzAuGtT+Cf0YmIx12z9YGon39onaJNy8DLBfBJrzg9FQEmkAM5lpHBZs9wksWAsyF/HkpEwJA==}
         engines: {node: ^18.0.0 || >=20.0.0}
         hasBin: true
         peerDependencies:
    @@ -15655,12 +15640,12 @@ packages:
           '@types/node': 20.11.30
           esbuild: 0.20.2
           postcss: 8.4.38
    -      rollup: 4.13.0
    +      rollup: 4.13.2
         optionalDependencies:
           fsevents: 2.3.3
         dev: true
     
    -  /vitepress-plugin-search@1.0.4-alpha.22(flexsearch@0.7.43)(vitepress@1.0.1)(vue@3.4.21):
    +  /vitepress-plugin-search@1.0.4-alpha.22(flexsearch@0.7.43)(vitepress@1.0.2)(vue@3.4.21):
         resolution: {integrity: sha512-IAOEJu+kjVY+0pb6/PeRjIbr175HFFbnMdLmLjqcy7VWxkabIRZbLoQL1VUYDZl804o/Or+GaX02gsiMOnVxFA==}
         engines: {node: ^14.13.1 || ^16.7.0 || >=18}
         peerDependencies:
    @@ -15673,68 +15658,12 @@ packages:
           flexsearch: 0.7.43
           glob-to-regexp: 0.4.1
           markdown-it: 13.0.1
    -      vitepress: 1.0.1(@algolia/client-search@4.22.1)(@types/node@20.11.30)(search-insights@2.13.0)(typescript@5.4.3)
    +      vitepress: 1.0.2(@algolia/client-search@4.23.2)(@types/node@20.11.30)(postcss@8.4.38)(search-insights@2.13.0)(typescript@5.4.3)
           vue: 3.4.21(typescript@5.4.3)
         dev: true
     
    -  /vitepress@1.0.0-rc.45(@algolia/client-search@4.22.1)(@types/node@20.11.30)(postcss@8.4.38)(search-insights@2.13.0)(typescript@5.4.3):
    -    resolution: {integrity: sha512-/OiYsu5UKpQKA2c0BAZkfyywjfauDjvXyv6Mo4Ra57m5n4Bxg1HgUGoth1CLH2vwUbR/BHvDA9zOM0RDvgeSVQ==}
    -    hasBin: true
    -    peerDependencies:
    -      markdown-it-mathjax3: ^4.3.2
    -      postcss: ^8.4.35
    -    peerDependenciesMeta:
    -      markdown-it-mathjax3:
    -        optional: true
    -      postcss:
    -        optional: true
    -    dependencies:
    -      '@docsearch/css': 3.6.0
    -      '@docsearch/js': 3.6.0(@algolia/client-search@4.22.1)(search-insights@2.13.0)
    -      '@shikijs/core': 1.1.7
    -      '@shikijs/transformers': 1.1.7
    -      '@types/markdown-it': 13.0.7
    -      '@vitejs/plugin-vue': 5.0.4(vite@5.2.6)(vue@3.4.21)
    -      '@vue/devtools-api': 7.0.16(vue@3.4.21)
    -      '@vueuse/core': 10.9.0(vue@3.4.21)
    -      '@vueuse/integrations': 10.9.0(focus-trap@7.5.4)(vue@3.4.21)
    -      focus-trap: 7.5.4
    -      mark.js: 8.11.1
    -      minisearch: 6.3.0
    -      postcss: 8.4.38
    -      shiki: 1.1.7
    -      vite: 5.2.6(@types/node@20.11.30)
    -      vue: 3.4.21(typescript@5.4.3)
    -    transitivePeerDependencies:
    -      - '@algolia/client-search'
    -      - '@types/node'
    -      - '@types/react'
    -      - '@vue/composition-api'
    -      - async-validator
    -      - axios
    -      - change-case
    -      - drauu
    -      - fuse.js
    -      - idb-keyval
    -      - jwt-decode
    -      - less
    -      - lightningcss
    -      - nprogress
    -      - qrcode
    -      - react
    -      - react-dom
    -      - sass
    -      - search-insights
    -      - sortablejs
    -      - stylus
    -      - sugarss
    -      - terser
    -      - typescript
    -      - universal-cookie
    -    dev: true
    -
    -  /vitepress@1.0.1(@algolia/client-search@4.22.1)(@types/node@20.11.30)(search-insights@2.13.0)(typescript@5.4.3):
    -    resolution: {integrity: sha512-eNr5pOBppYUUjEhv8S0S2t9Tv95LQ6mMeHj6ivaGwfHxpov70Vduuwl/QQMDRznKDSaP0WKV7a82Pb4JVOaqEw==}
    +  /vitepress@1.0.2(@algolia/client-search@4.23.2)(@types/node@20.11.30)(postcss@8.4.38)(search-insights@2.13.0)(typescript@5.4.3):
    +    resolution: {integrity: sha512-bEj9yTEdWyewJFOhEREZF+mXuAgOq27etuJZT6DZSp+J3XpQstXMJc5piSVwhZBtuj8OfA0iXy+jdP1c71KMYQ==}
         hasBin: true
         peerDependencies:
           markdown-it-mathjax3: ^4
    @@ -15746,19 +15675,20 @@ packages:
             optional: true
         dependencies:
           '@docsearch/css': 3.6.0
    -      '@docsearch/js': 3.6.0(@algolia/client-search@4.22.1)(search-insights@2.13.0)
    -      '@shikijs/core': 1.2.0
    -      '@shikijs/transformers': 1.2.0
    +      '@docsearch/js': 3.6.0(@algolia/client-search@4.23.2)(search-insights@2.13.0)
    +      '@shikijs/core': 1.2.3
    +      '@shikijs/transformers': 1.2.3
           '@types/markdown-it': 13.0.7
    -      '@vitejs/plugin-vue': 5.0.4(vite@5.2.3)(vue@3.4.21)
    -      '@vue/devtools-api': 7.0.16(vue@3.4.21)
    +      '@vitejs/plugin-vue': 5.0.4(vite@5.2.7)(vue@3.4.21)
    +      '@vue/devtools-api': 7.0.25(vue@3.4.21)
           '@vueuse/core': 10.9.0(vue@3.4.21)
           '@vueuse/integrations': 10.9.0(focus-trap@7.5.4)(vue@3.4.21)
           focus-trap: 7.5.4
           mark.js: 8.11.1
           minisearch: 6.3.0
    -      shiki: 1.2.0
    -      vite: 5.2.3(@types/node@20.11.30)
    +      postcss: 8.4.38
    +      shiki: 1.2.3
    +      vite: 5.2.7(@types/node@20.11.30)
           vue: 3.4.21(typescript@5.4.3)
         transitivePeerDependencies:
           - '@algolia/client-search'
    @@ -15833,7 +15763,7 @@ packages:
           strip-literal: 2.0.0
           tinybench: 2.6.0
           tinypool: 0.8.2
    -      vite: 5.2.6(@types/node@20.11.30)
    +      vite: 5.2.7(@types/node@20.11.30)
           vite-node: 1.4.0(@types/node@20.11.30)
           why-is-node-running: 2.2.2
         transitivePeerDependencies:
    
    From 3555577581a33135239ae0b235c2a2ea6ea959bc Mon Sep 17 00:00:00 2001
    From: Jakob <66998665+jakobskrym@users.noreply.github.com>
    Date: Wed, 3 Apr 2024 09:02:20 +0200
    Subject: [PATCH 307/789] Update createText.ts
    
    Co-authored-by: Sidharth Vinod 
    ---
     packages/mermaid/src/rendering-util/createText.ts | 10 ++++------
     1 file changed, 4 insertions(+), 6 deletions(-)
    
    diff --git a/packages/mermaid/src/rendering-util/createText.ts b/packages/mermaid/src/rendering-util/createText.ts
    index ba872ac76a..0a7e3bbb09 100644
    --- a/packages/mermaid/src/rendering-util/createText.ts
    +++ b/packages/mermaid/src/rendering-util/createText.ts
    @@ -169,14 +169,12 @@ function updateTextContentAndStyles(tspan: any, wrappedLine: MarkdownWord[]) {
     }
     
     /**
    - *
    - * @param text - The raw string to adjust
    - * @returns
    + * Convert fontawesome labels into fontawesome icons by using a regex pattern
    + * @param text - The raw string to convert
    + * @returns string with fontawesome icons as i tags
      */
    -
    -// Used for converting substrings in node labels/edges/text into fontawesome icons by using a regex pattern
    -// The letters 'bklrs' stand for possible endings of the fontawesome prefix (e.g. 'fab' for brands, 'fak' for fa-kit) // cspell: disable-line
     export function replaceIconSubstring(text: string) {
    +  // The letters 'bklrs' stand for possible endings of the fontawesome prefix (e.g. 'fab' for brands, 'fak' for fa-kit) // cspell: disable-line
       return text.replace(
         /fa[bklrs]?:fa-[\w-]+/g, // cspell: disable-line
         (s) => ``
    
    From 5d1ac22fd10f5179c1b20e7fbf1f3269c020e61a Mon Sep 17 00:00:00 2001
    From: Aakansha Doshi 
    Date: Fri, 5 Apr 2024 17:17:01 +0530
    Subject: [PATCH 308/789] add eslint rule consistent-type-definations
    
    ---
     .eslintrc.cjs                                        | 1 +
     packages/mermaid/src/diagrams/sequence/sequenceDb.ts | 7 ++++---
     packages/mermaid/src/diagrams/sequence/types.ts      | 7 +++++++
     3 files changed, 12 insertions(+), 3 deletions(-)
    
    diff --git a/.eslintrc.cjs b/.eslintrc.cjs
    index dceb314c8e..d0bb27bc9e 100644
    --- a/.eslintrc.cjs
    +++ b/.eslintrc.cjs
    @@ -53,6 +53,7 @@ module.exports = {
         '@typescript-eslint/no-floating-promises': 'error',
         '@typescript-eslint/no-misused-promises': 'error',
         '@typescript-eslint/no-unused-vars': 'warn',
    +    '@typescript-eslint/consistent-type-definitions': 'warn',
         '@typescript-eslint/ban-ts-comment': [
           'error',
           {
    diff --git a/packages/mermaid/src/diagrams/sequence/sequenceDb.ts b/packages/mermaid/src/diagrams/sequence/sequenceDb.ts
    index 80638e1807..03f095fb6e 100644
    --- a/packages/mermaid/src/diagrams/sequence/sequenceDb.ts
    +++ b/packages/mermaid/src/diagrams/sequence/sequenceDb.ts
    @@ -11,8 +11,9 @@ import {
       setDiagramTitle,
     } from '../common/commonDb.js';
     import { ImperativeState } from '../../utils/imperativeState.js';
    -import type { Actor, AddMessageParams, Box, Message } from './types.js';
    +import type { Actor, AddMessageParams, Box, Message, Note } from './types.js';
     
    +// eslint-disable-next-line @typescript-eslint/consistent-type-definitions
     type State = {
       prevActor?: string;
       actors: Record;
    @@ -20,7 +21,7 @@ type State = {
       destroyedActors: Record;
       boxes: Box[];
       messages: Message[];
    -  notes: unknown[];
    +  notes: Note[];
       sequenceNumbersEnabled: boolean;
       wrapEnabled?: boolean;
       currentBox?: Box;
    @@ -343,7 +344,7 @@ export const addNote = function (
       placement: Message['placement'],
       message: { text: string; wrap?: boolean }
     ) {
    -  const note = {
    +  const note: Note = {
         actor: actor,
         placement: placement,
         message: message.text,
    diff --git a/packages/mermaid/src/diagrams/sequence/types.ts b/packages/mermaid/src/diagrams/sequence/types.ts
    index b307751601..5cc6ae249c 100644
    --- a/packages/mermaid/src/diagrams/sequence/types.ts
    +++ b/packages/mermaid/src/diagrams/sequence/types.ts
    @@ -83,3 +83,10 @@ export interface AddMessageParams {
     
       activate: boolean;
     }
    +
    +export interface Note {
    +  actor: { actor: string };
    +  placement: Message['placement'];
    +  message: string;
    +  wrap: boolean;
    +}
    
    From 12bd301401d99cbe3036062af1095f3fec5ce4a2 Mon Sep 17 00:00:00 2001
    From: Aakansha Doshi 
    Date: Fri, 5 Apr 2024 17:56:56 +0530
    Subject: [PATCH 309/789] revert from and to type to object
    
    ---
     packages/mermaid/src/diagrams/sequence/sequenceDb.ts | 10 ++++++----
     packages/mermaid/src/diagrams/sequence/types.ts      |  4 ++--
     2 files changed, 8 insertions(+), 6 deletions(-)
    
    diff --git a/packages/mermaid/src/diagrams/sequence/sequenceDb.ts b/packages/mermaid/src/diagrams/sequence/sequenceDb.ts
    index 03f095fb6e..5d844904bc 100644
    --- a/packages/mermaid/src/diagrams/sequence/sequenceDb.ts
    +++ b/packages/mermaid/src/diagrams/sequence/sequenceDb.ts
    @@ -120,13 +120,13 @@ const activationCount = (part: string) => {
       for (i = 0; i < state.records.messages.length; i++) {
         if (
           state.records.messages[i].type === LINETYPE.ACTIVE_START &&
    -      state.records.messages[i].from === part
    +      state.records.messages[i].from?.actor === part
         ) {
           count++;
         }
         if (
           state.records.messages[i].type === LINETYPE.ACTIVE_END &&
    -      state.records.messages[i].from === part
    +      state.records.messages[i].from?.actor === part
         ) {
           count--;
         }
    @@ -157,10 +157,12 @@ export const addSignal = function (
       activate: boolean = false
     ) {
       if (messageType === LINETYPE.ACTIVE_END) {
    -    const cnt = activationCount(idFrom || '');
    +    const cnt = activationCount(idFrom?.actor || '');
         if (cnt < 1) {
           // Bail out as there is an activation signal from an inactive participant
    -      const error = new Error('Trying to inactivate an inactive participant (' + idFrom + ')');
    +      const error = new Error(
    +        'Trying to inactivate an inactive participant (' + idFrom?.actor + ')'
    +      );
     
           // @ts-ignore: we are passing hash param to the error object, however we should define our own custom error class to make it type safe
           error.hash = {
    diff --git a/packages/mermaid/src/diagrams/sequence/types.ts b/packages/mermaid/src/diagrams/sequence/types.ts
    index 5cc6ae249c..754df95e3f 100644
    --- a/packages/mermaid/src/diagrams/sequence/types.ts
    +++ b/packages/mermaid/src/diagrams/sequence/types.ts
    @@ -20,8 +20,8 @@ export interface Actor {
     }
     
     export interface Message {
    -  from?: string;
    -  to?: string;
    +  from?: { actor: string };
    +  to?: { actor: string };
       message:
         | string
         | {
    
    From d0583f994798a7ffada9e29a2e1345ebe460eb01 Mon Sep 17 00:00:00 2001
    From: futzmonitor 
    Date: Sun, 7 Apr 2024 20:40:57 -0400
    Subject: [PATCH 310/789] 1. Changes to gitGraph.jison - Updated the regex to
     allow either 'checkout' or 'switch' 2. Changes to gitGraphParser.spec.js -
     Additional test coverage added for the changes made to the parser. 3. Changes
     to gitGraphParserV2.spec.js - Additional test coverafe added for the changes
     made to the parser. 4. Changes to gitgraph.md - Updated documentation to let
     users know that checkout/switch can be used interchangeably.
    
    ---
     docs/syntax/gitgraph.md                       |  2 +
     .../src/diagrams/git/gitGraphParser.spec.js   | 10 +++
     .../src/diagrams/git/gitGraphParserV2.spec.js | 72 +++++++++++++++++++
     .../src/diagrams/git/parser/gitGraph.jison    |  2 +-
     packages/mermaid/src/docs/syntax/gitgraph.md  |  2 +
     5 files changed, 87 insertions(+), 1 deletion(-)
    
    diff --git a/docs/syntax/gitgraph.md b/docs/syntax/gitgraph.md
    index b649f4840f..9403f2a334 100644
    --- a/docs/syntax/gitgraph.md
    +++ b/docs/syntax/gitgraph.md
    @@ -56,6 +56,8 @@ In Mermaid, we support the basic git operations like:
     With the help of these key git commands, you will be able to draw a gitgraph in Mermaid very easily and quickly.
     Entity names are often capitalized, although there is no accepted standard on this, and it is not required in Mermaid.
     
    +**NOTE**: `checkout` and `switch` can be used interchangeably.
    +
     ## Syntax
     
     Mermaid syntax for a gitgraph is very straight-forward and simple. It follows a declarative-approach, where each commit is drawn on the timeline in the diagram, in order of its occurrences/presence in code. Basically, it follows the insertion order for each command.
    diff --git a/packages/mermaid/src/diagrams/git/gitGraphParser.spec.js b/packages/mermaid/src/diagrams/git/gitGraphParser.spec.js
    index 52cb62fa2d..f6d4e121ae 100644
    --- a/packages/mermaid/src/diagrams/git/gitGraphParser.spec.js
    +++ b/packages/mermaid/src/diagrams/git/gitGraphParser.spec.js
    @@ -88,6 +88,16 @@ describe('when parsing a gitGraph', function () {
         expect(parser.yy.getCurrentBranch()).toBe('new');
       });
     
    +  it('should switch a branch', function () {
    +    const str = 'gitGraph:\n' + 'branch new\n' + 'switch new\n';
    +
    +    parser.parse(str);
    +    const commits = parser.yy.getCommits();
    +
    +    expect(Object.keys(commits).length).toBe(0);
    +    expect(parser.yy.getCurrentBranch()).toBe('new');
    +  });
    +
       it('should add commits to checked out branch', function () {
         const str = 'gitGraph:\n' + 'branch new\n' + 'checkout new\n' + 'commit\n' + 'commit\n';
     
    diff --git a/packages/mermaid/src/diagrams/git/gitGraphParserV2.spec.js b/packages/mermaid/src/diagrams/git/gitGraphParserV2.spec.js
    index 09a9cdb259..ac85712b2b 100644
    --- a/packages/mermaid/src/diagrams/git/gitGraphParserV2.spec.js
    +++ b/packages/mermaid/src/diagrams/git/gitGraphParserV2.spec.js
    @@ -520,6 +520,78 @@ describe('when parsing a gitGraph', function () {
         ]);
       });
     
    +  it('should handle new branch switch', function () {
    +    const str = `gitGraph:
    +    commit
    +    branch testBranch
    +    switch testBranch
    +    `;
    +
    +    parser.parse(str);
    +    const commits = parser.yy.getCommits();
    +    expect(Object.keys(commits).length).toBe(1);
    +    expect(parser.yy.getCurrentBranch()).toBe('testBranch');
    +    expect(parser.yy.getDirection()).toBe('LR');
    +    expect(Object.keys(parser.yy.getBranches()).length).toBe(2);
    +  });
    +
    +  it('should handle new branch switch & commit', function () {
    +    const str = `gitGraph:
    +    commit
    +    branch testBranch
    +    switch testBranch
    +    commit
    +    `;
    +
    +    parser.parse(str);
    +    const commits = parser.yy.getCommits();
    +    expect(Object.keys(commits).length).toBe(2);
    +    expect(parser.yy.getCurrentBranch()).toBe('testBranch');
    +    expect(parser.yy.getDirection()).toBe('LR');
    +    expect(Object.keys(parser.yy.getBranches()).length).toBe(2);
    +    const commit1 = Object.keys(commits)[0];
    +    const commit2 = Object.keys(commits)[1];
    +    expect(commits[commit1].branch).toBe('main');
    +    expect(commits[commit1].parents).toStrictEqual([]);
    +    expect(commits[commit2].branch).toBe('testBranch');
    +    expect(commits[commit2].parents).toStrictEqual([commit1]);
    +  });
    +
    +  it('should handle new branch switch & commit and merge', function () {
    +    const str = `gitGraph:
    +    commit
    +    branch testBranch
    +    switch testBranch
    +    commit
    +    commit
    +    switch main
    +    merge testBranch
    +    `;
    +
    +    parser.parse(str);
    +    const commits = parser.yy.getCommits();
    +    expect(Object.keys(commits).length).toBe(4);
    +    expect(parser.yy.getCurrentBranch()).toBe('main');
    +    expect(parser.yy.getDirection()).toBe('LR');
    +    expect(Object.keys(parser.yy.getBranches()).length).toBe(2);
    +    const commit1 = Object.keys(commits)[0];
    +    const commit2 = Object.keys(commits)[1];
    +    const commit3 = Object.keys(commits)[2];
    +    const commit4 = Object.keys(commits)[3];
    +    expect(commits[commit1].branch).toBe('main');
    +    expect(commits[commit1].parents).toStrictEqual([]);
    +    expect(commits[commit2].branch).toBe('testBranch');
    +    expect(commits[commit2].parents).toStrictEqual([commits[commit1].id]);
    +    expect(commits[commit3].branch).toBe('testBranch');
    +    expect(commits[commit3].parents).toStrictEqual([commits[commit2].id]);
    +    expect(commits[commit4].branch).toBe('main');
    +    expect(commits[commit4].parents).toStrictEqual([commits[commit1].id, commits[commit3].id]);
    +    expect(parser.yy.getBranchesAsObjArray()).toStrictEqual([
    +      { name: 'main' },
    +      { name: 'testBranch' },
    +    ]);
    +  });
    +
       it('should handle merge tags', function () {
         const str = `gitGraph:
         commit
    diff --git a/packages/mermaid/src/diagrams/git/parser/gitGraph.jison b/packages/mermaid/src/diagrams/git/parser/gitGraph.jison
    index 07d1a3e410..b4670ca0b7 100644
    --- a/packages/mermaid/src/diagrams/git/parser/gitGraph.jison
    +++ b/packages/mermaid/src/diagrams/git/parser/gitGraph.jison
    @@ -41,7 +41,7 @@ merge(?=\s|$)                           return 'MERGE';
     cherry\-pick(?=\s|$)                    return 'CHERRY_PICK';
     "parent:"                               return 'PARENT_COMMIT'
     // "reset"                                 return 'RESET';
    -checkout(?=\s|$)                        return 'CHECKOUT';
    +\b(checkout|switch)(?=\s|$)             return 'CHECKOUT';
     "LR"                                    return 'DIR';
     "TB"                                    return 'DIR';
     "BT"                                    return 'DIR';
    diff --git a/packages/mermaid/src/docs/syntax/gitgraph.md b/packages/mermaid/src/docs/syntax/gitgraph.md
    index ce9aa507e8..d0791718b8 100644
    --- a/packages/mermaid/src/docs/syntax/gitgraph.md
    +++ b/packages/mermaid/src/docs/syntax/gitgraph.md
    @@ -33,6 +33,8 @@ In Mermaid, we support the basic git operations like:
     With the help of these key git commands, you will be able to draw a gitgraph in Mermaid very easily and quickly.
     Entity names are often capitalized, although there is no accepted standard on this, and it is not required in Mermaid.
     
    +**NOTE**: `checkout` and `switch` can be used interchangeably.
    +
     ## Syntax
     
     Mermaid syntax for a gitgraph is very straight-forward and simple. It follows a declarative-approach, where each commit is drawn on the timeline in the diagram, in order of its occurrences/presence in code. Basically, it follows the insertion order for each command.
    
    From bb0c45b09000225a7978bc42b9f0d745082765fe Mon Sep 17 00:00:00 2001
    From: futzmonitor 
    Date: Mon, 8 Apr 2024 09:45:44 -0400
    Subject: [PATCH 311/789] Changes to rendering/gitGraph.spec.js - Added
     additional rendering test functionality for recognizing 'switch' as an alias
     to 'checkout'.
    
    ---
     .../integration/rendering/gitGraph.spec.js    | 74 +++++++++++++++++++
     1 file changed, 74 insertions(+)
    
    diff --git a/cypress/integration/rendering/gitGraph.spec.js b/cypress/integration/rendering/gitGraph.spec.js
    index 4e8f7fdcac..68b63de469 100644
    --- a/cypress/integration/rendering/gitGraph.spec.js
    +++ b/cypress/integration/rendering/gitGraph.spec.js
    @@ -1458,5 +1458,79 @@ gitGraph TB:
             { gitGraph: { parallelCommits: true } }
           );
         });
    +    it('73: should render a simple gitgraph with three branches and tagged merge commit using switch instead of checkout', () => {
    +      imgSnapshotTest(
    +        `gitGraph
    +         commit id: "1"
    +         commit id: "2"
    +         branch nice_feature
    +         switch nice_feature
    +         commit id: "3"
    +         switch main
    +         commit id: "4"
    +         switch nice_feature
    +         branch very_nice_feature
    +         switch very_nice_feature
    +         commit id: "5"
    +         switch main
    +         commit id: "6"
    +         switch nice_feature
    +         commit id: "7"
    +         switch main
    +         merge nice_feature id: "12345" tag: "my merge commit"
    +         switch very_nice_feature
    +         commit id: "8"
    +         switch main
    +         commit id: "9"
    +        `,
    +        {}
    +      );
    +    });
    +    it('74: should render commits for more than 8 branches using switch instead of checkout', () => {
    +      imgSnapshotTest(
    +        `
    +        gitGraph
    +        switch main
    +        %% Make sure to manually set the ID of all commits, for consistent visual tests
    +        commit id: "1-abcdefg"
    +        switch main
    +        branch branch1
    +        commit id: "2-abcdefg"
    +        switch main
    +        merge branch1
    +        branch branch2
    +        commit id: "3-abcdefg"
    +        switch main
    +        merge branch2
    +        branch branch3
    +        commit id: "4-abcdefg"
    +        switch main
    +        merge branch3
    +        branch branch4
    +        commit id: "5-abcdefg"
    +        switch main
    +        merge branch4
    +        branch branch5
    +        commit id: "6-abcdefg"
    +        switch main
    +        merge branch5
    +        branch branch6
    +        commit id: "7-abcdefg"
    +        switch main
    +        merge branch6
    +        branch branch7
    +        commit id: "8-abcdefg"
    +        switch main
    +        merge branch7
    +        branch branch8
    +        commit id: "9-abcdefg"
    +        switch main
    +        merge branch8
    +        branch branch9
    +        commit id: "10-abcdefg"
    +        `,
    +        {}
    +      );
    +    });
       });
     });
    
    From 866d9416b449376fe0e53be4c976ea9f745fb39f Mon Sep 17 00:00:00 2001
    From: Sidharth Vinod 
    Date: Sat, 13 Apr 2024 11:50:19 +0530
    Subject: [PATCH 312/789] fix: Remove `ImperativeState` type restriction.
    
    ---
     packages/mermaid/src/diagrams/sequence/sequenceDb.ts | 9 ++++-----
     packages/mermaid/src/utils/imperativeState.ts        | 6 +++---
     2 files changed, 7 insertions(+), 8 deletions(-)
    
    diff --git a/packages/mermaid/src/diagrams/sequence/sequenceDb.ts b/packages/mermaid/src/diagrams/sequence/sequenceDb.ts
    index 5d844904bc..03d3210aa9 100644
    --- a/packages/mermaid/src/diagrams/sequence/sequenceDb.ts
    +++ b/packages/mermaid/src/diagrams/sequence/sequenceDb.ts
    @@ -1,5 +1,6 @@
     import { getConfig } from '../../diagram-api/diagramAPI.js';
     import { log } from '../../logger.js';
    +import { ImperativeState } from '../../utils/imperativeState.js';
     import { sanitizeText } from '../common/common.js';
     import {
       clear as commonClear,
    @@ -10,11 +11,9 @@ import {
       setAccTitle,
       setDiagramTitle,
     } from '../common/commonDb.js';
    -import { ImperativeState } from '../../utils/imperativeState.js';
     import type { Actor, AddMessageParams, Box, Message, Note } from './types.js';
     
    -// eslint-disable-next-line @typescript-eslint/consistent-type-definitions
    -type State = {
    +interface SequenceState {
       prevActor?: string;
       actors: Record;
       createdActors: Record;
    @@ -27,9 +26,9 @@ type State = {
       currentBox?: Box;
       lastCreated?: Actor;
       lastDestroyed?: Actor;
    -};
    +}
     
    -const state = new ImperativeState(() => ({
    +const state = new ImperativeState(() => ({
       prevActor: undefined,
       actors: {},
       createdActors: {},
    diff --git a/packages/mermaid/src/utils/imperativeState.ts b/packages/mermaid/src/utils/imperativeState.ts
    index dcadeee1fd..1661e356c4 100644
    --- a/packages/mermaid/src/utils/imperativeState.ts
    +++ b/packages/mermaid/src/utils/imperativeState.ts
    @@ -2,11 +2,11 @@
      * Resettable state storage.
      * @example
      * ```
    - * const state = new ImperativeState(() => {
    + * const state = new ImperativeState(() => ({
      *   foo: undefined as string | undefined,
      *   bar: [] as number[],
      *   baz: 1 as number | undefined,
    - * });
    + * }));
      *
      * state.records.foo = "hi";
      * console.log(state.records.foo); // prints "hi";
    @@ -21,7 +21,7 @@
      * // }
      * ```
      */
    -export class ImperativeState> {
    +export class ImperativeState {
       public records: S;
     
       /**
    
    From e0930b5cbb7e8104df1a562e370122596055db55 Mon Sep 17 00:00:00 2001
    From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com>
    Date: Sat, 13 Apr 2024 21:31:37 +0000
    Subject: [PATCH 313/789] chore(deps): update all patch dependencies
    
    ---
     pnpm-lock.yaml | 1480 +++++++++++++++++++++++++++---------------------
     1 file changed, 839 insertions(+), 641 deletions(-)
    
    diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
    index ffa09eb3c9..3facf82907 100644
    --- a/pnpm-lock.yaml
    +++ b/pnpm-lock.yaml
    @@ -15,22 +15,22 @@ importers:
         devDependencies:
           '@applitools/eyes-cypress':
             specifier: ^3.42.3
    -        version: 3.42.3(typescript@5.4.3)
    +        version: 3.42.3(typescript@5.4.5)
           '@cspell/eslint-plugin':
             specifier: ^8.6.0
             version: 8.6.1
           '@cypress/code-coverage':
             specifier: ^3.12.30
    -        version: 3.12.33(@babel/core@7.24.3)(@babel/preset-env@7.24.3)(babel-loader@9.1.3)(cypress@13.7.2)(webpack@5.91.0)
    +        version: 3.12.34(@babel/core@7.24.4)(@babel/preset-env@7.24.4)(babel-loader@9.1.3)(cypress@13.7.3)(webpack@5.91.0)
           '@rollup/plugin-typescript':
             specifier: ^11.1.6
    -        version: 11.1.6(typescript@5.4.3)
    +        version: 11.1.6(typescript@5.4.5)
           '@types/cors':
             specifier: ^2.8.17
             version: 2.8.17
           '@types/eslint':
             specifier: ^8.56.6
    -        version: 8.56.7
    +        version: 8.56.9
           '@types/express':
             specifier: ^4.17.21
             version: 4.17.21
    @@ -54,10 +54,10 @@ importers:
             version: 4.2.4
           '@typescript-eslint/eslint-plugin':
             specifier: ^7.3.1
    -        version: 7.3.1(@typescript-eslint/parser@7.3.1)(eslint@8.57.0)(typescript@5.4.3)
    +        version: 7.3.1(@typescript-eslint/parser@7.3.1)(eslint@8.57.0)(typescript@5.4.5)
           '@typescript-eslint/parser':
             specifier: ^7.3.1
    -        version: 7.3.1(eslint@8.57.0)(typescript@5.4.3)
    +        version: 7.3.1(eslint@8.57.0)(typescript@5.4.5)
           '@vitest/coverage-v8':
             specifier: ^1.4.0
             version: 1.4.0(vitest@1.4.0)
    @@ -87,10 +87,10 @@ importers:
             version: 8.6.1
           cypress:
             specifier: ^13.7.1
    -        version: 13.7.2
    +        version: 13.7.3
           cypress-image-snapshot:
             specifier: ^4.0.1
    -        version: 4.0.1(cypress@13.7.2)(jest@29.7.0)
    +        version: 4.0.1(cypress@13.7.3)(jest@29.7.0)
           esbuild:
             specifier: ^0.20.2
             version: 0.20.2
    @@ -108,10 +108,10 @@ importers:
             version: 8.0.0
           eslint-plugin-jest:
             specifier: ^27.9.0
    -        version: 27.9.0(@typescript-eslint/eslint-plugin@7.3.1)(eslint@8.57.0)(jest@29.7.0)(typescript@5.4.3)
    +        version: 27.9.0(@typescript-eslint/eslint-plugin@7.3.1)(eslint@8.57.0)(jest@29.7.0)(typescript@5.4.5)
           eslint-plugin-jsdoc:
             specifier: ^48.2.1
    -        version: 48.2.2(eslint@8.57.0)
    +        version: 48.2.3(eslint@8.57.0)
           eslint-plugin-json:
             specifier: ^3.1.0
             version: 3.1.0
    @@ -132,7 +132,7 @@ importers:
             version: 51.0.1(eslint@8.57.0)
           express:
             specifier: ^4.19.1
    -        version: 4.19.1
    +        version: 4.19.2
           globby:
             specifier: ^14.0.1
             version: 14.0.1
    @@ -168,7 +168,7 @@ importers:
             version: 1.0.1
           pnpm:
             specifier: ^8.15.5
    -        version: 8.15.6
    +        version: 8.15.7
           prettier:
             specifier: ^3.2.5
             version: 3.2.5
    @@ -186,16 +186,16 @@ importers:
             version: 2.0.3
           tsx:
             specifier: ^4.7.1
    -        version: 4.7.1
    +        version: 4.7.2
           typescript:
             specifier: ^5.4.3
    -        version: 5.4.3
    +        version: 5.4.5
           vite:
             specifier: ^5.2.3
    -        version: 5.2.7(@types/node@20.11.30)
    +        version: 5.2.8(@types/node@20.11.30)
           vite-plugin-istanbul:
             specifier: ^6.0.0
    -        version: 6.0.0(vite@5.2.7)
    +        version: 6.0.0(vite@5.2.8)
           vitest:
             specifier: ^1.4.0
             version: 1.4.0(@types/node@20.11.30)(@vitest/ui@1.4.0)(jsdom@24.0.0)
    @@ -256,7 +256,7 @@ importers:
         devDependencies:
           '@adobe/jsonschema2md':
             specifier: ^8.0.0
    -        version: 8.0.1
    +        version: 8.0.2
           '@types/cytoscape':
             specifier: ^3.19.16
             version: 3.19.16
    @@ -292,7 +292,7 @@ importers:
             version: 4.17.12
           '@types/micromatch':
             specifier: ^4.0.6
    -        version: 4.0.6
    +        version: 4.0.7
           '@types/prettier':
             specifier: ^3.0.0
             version: 3.0.0
    @@ -304,10 +304,10 @@ importers:
             version: 9.0.8
           '@typescript-eslint/eslint-plugin':
             specifier: ^7.3.1
    -        version: 7.3.1(@typescript-eslint/parser@7.3.1)(eslint@8.57.0)(typescript@5.4.3)
    +        version: 7.3.1(@typescript-eslint/parser@7.3.1)(eslint@8.57.0)(typescript@5.4.5)
           '@typescript-eslint/parser':
             specifier: ^7.3.1
    -        version: 7.3.1(eslint@8.57.0)(typescript@5.4.3)
    +        version: 7.3.1(eslint@8.57.0)(typescript@5.4.5)
           ajv:
             specifier: ^8.12.0
             version: 8.12.0
    @@ -367,13 +367,13 @@ importers:
             version: 4.14.0
           typedoc:
             specifier: ^0.25.12
    -        version: 0.25.12(typescript@5.4.3)
    +        version: 0.25.13(typescript@5.4.5)
           typedoc-plugin-markdown:
             specifier: ^3.17.1
    -        version: 3.17.1(typedoc@0.25.12)
    +        version: 3.17.1(typedoc@0.25.13)
           typescript:
             specifier: ^5.4.3
    -        version: 5.4.3
    +        version: 5.4.5
           unist-util-flatmap:
             specifier: ^1.0.0
             version: 1.0.0
    @@ -382,7 +382,7 @@ importers:
             version: 5.0.0
           vitepress:
             specifier: ^1.0.1
    -        version: 1.0.2(@algolia/client-search@4.23.2)(@types/node@20.11.30)(postcss@8.4.38)(search-insights@2.13.0)(typescript@5.4.3)
    +        version: 1.0.2(@algolia/client-search@4.23.3)(@types/node@20.11.30)(search-insights@2.13.0)(typescript@5.4.5)
           vitepress-plugin-search:
             specifier: 1.0.4-alpha.22
             version: 1.0.4-alpha.22(flexsearch@0.7.43)(vitepress@1.0.2)(vue@3.4.21)
    @@ -438,7 +438,7 @@ importers:
         dependencies:
           '@zenuml/core':
             specifier: ^3.19.2
    -        version: 3.19.3(typescript@5.4.3)
    +        version: 3.19.3(typescript@5.4.5)
         devDependencies:
           mermaid:
             specifier: workspace:^
    @@ -463,7 +463,7 @@ importers:
             version: link:../..
           vue:
             specifier: ^3.4.21
    -        version: 3.4.21(typescript@5.4.3)
    +        version: 3.4.21(typescript@5.4.5)
         devDependencies:
           '@iconify-json/carbon':
             specifier: ^1.1.31
    @@ -473,10 +473,10 @@ importers:
             version: 0.58.9
           '@vite-pwa/vitepress':
             specifier: ^0.4.0
    -        version: 0.4.0(vite-plugin-pwa@0.19.7)
    +        version: 0.4.0(vite-plugin-pwa@0.19.8)
           '@vitejs/plugin-vue':
             specifier: ^5.0.0
    -        version: 5.0.4(vite@5.2.7)(vue@3.4.21)
    +        version: 5.0.4(vite@5.2.8)(vue@3.4.21)
           fast-glob:
             specifier: ^3.3.2
             version: 3.3.2
    @@ -488,19 +488,19 @@ importers:
             version: 1.1.2
           unocss:
             specifier: ^0.58.6
    -        version: 0.58.9(postcss@8.4.38)(rollup@2.79.1)(vite@5.2.7)
    +        version: 0.58.9(postcss@8.4.38)(rollup@2.79.1)(vite@5.2.8)
           unplugin-vue-components:
             specifier: ^0.26.0
             version: 0.26.0(rollup@2.79.1)(vue@3.4.21)
           vite:
             specifier: ^5.0.0
    -        version: 5.2.7(@types/node@20.11.30)
    +        version: 5.2.8(@types/node@20.11.30)
           vite-plugin-pwa:
             specifier: ^0.19.7
    -        version: 0.19.7(vite@5.2.7)(workbox-build@7.0.0)(workbox-window@7.0.0)
    +        version: 0.19.8(vite@5.2.8)(workbox-build@7.0.0)(workbox-window@7.0.0)
           vitepress:
             specifier: 1.0.2
    -        version: 1.0.2(@algolia/client-search@4.23.2)(@types/node@20.11.30)(postcss@8.4.38)(search-insights@2.13.0)(typescript@5.4.3)
    +        version: 1.0.2(@algolia/client-search@4.23.3)(@types/node@20.11.30)(postcss@8.4.38)(search-insights@2.13.0)(typescript@5.4.5)
           workbox-window:
             specifier: ^7.0.0
             version: 7.0.0
    @@ -541,22 +541,11 @@ packages:
         engines: {node: '>=0.10.0'}
         dev: true
     
    -  /@adobe/helix-log@6.0.1:
    -    resolution: {integrity: sha512-yobBoOVJy9SJ8T29v41ZDLUcvSzhKBUG0eqmlyDsT304BH7aQZdF1IYz6PIID/2HKPYp/Ny2mC4Hz1fEnErbNw==}
    -    dependencies:
    -      big.js: 6.2.1
    -      colorette: 2.0.20
    -      ferrum: 1.9.4
    -      phin: 3.7.0
    -      polka: 0.5.2
    -    dev: true
    -
    -  /@adobe/jsonschema2md@8.0.1:
    -    resolution: {integrity: sha512-dn5pRJQ7f2slIVmRwlNjRPEQuuAAsr883Ad136VnTUhuCCDe2fant1dEom/pXaN/CTgw5s4Mvvx+tRTuSNuICA==}
    +  /@adobe/jsonschema2md@8.0.2:
    +    resolution: {integrity: sha512-g90Rtz1Xghp9HTfbtBH2Pf5IpuUY1Ry9Wps5NNuNmxucbtmnCY4/1KXmtwe0yKxnknPF7nt5/Y8TOekMh450tQ==}
         engines: {node: ^18.0.0 || >= 20.0.0}
         hasBin: true
         dependencies:
    -      '@adobe/helix-log': 6.0.1
           '@types/json-schema': 7.0.15
           '@types/mdast': 4.0.3
           es2015-i18n-tag: 1.6.1
    @@ -578,47 +567,47 @@ packages:
           - supports-color
         dev: true
     
    -  /@algolia/autocomplete-core@1.9.3(@algolia/client-search@4.23.2)(algoliasearch@4.23.2)(search-insights@2.13.0):
    +  /@algolia/autocomplete-core@1.9.3(@algolia/client-search@4.23.3)(algoliasearch@4.23.2)(search-insights@2.13.0):
         resolution: {integrity: sha512-009HdfugtGCdC4JdXUbVJClA0q0zh24yyePn+KUGk3rP7j8FEe/m5Yo/z65gn6nP/cM39PxpzqKrL7A6fP6PPw==}
         dependencies:
    -      '@algolia/autocomplete-plugin-algolia-insights': 1.9.3(@algolia/client-search@4.23.2)(algoliasearch@4.23.2)(search-insights@2.13.0)
    -      '@algolia/autocomplete-shared': 1.9.3(@algolia/client-search@4.23.2)(algoliasearch@4.23.2)
    +      '@algolia/autocomplete-plugin-algolia-insights': 1.9.3(@algolia/client-search@4.23.3)(algoliasearch@4.23.2)(search-insights@2.13.0)
    +      '@algolia/autocomplete-shared': 1.9.3(@algolia/client-search@4.23.3)(algoliasearch@4.23.2)
         transitivePeerDependencies:
           - '@algolia/client-search'
           - algoliasearch
           - search-insights
         dev: true
     
    -  /@algolia/autocomplete-plugin-algolia-insights@1.9.3(@algolia/client-search@4.23.2)(algoliasearch@4.23.2)(search-insights@2.13.0):
    +  /@algolia/autocomplete-plugin-algolia-insights@1.9.3(@algolia/client-search@4.23.3)(algoliasearch@4.23.2)(search-insights@2.13.0):
         resolution: {integrity: sha512-a/yTUkcO/Vyy+JffmAnTWbr4/90cLzw+CC3bRbhnULr/EM0fGNvM13oQQ14f2moLMcVDyAx/leczLlAOovhSZg==}
         peerDependencies:
           search-insights: '>= 1 < 3'
         dependencies:
    -      '@algolia/autocomplete-shared': 1.9.3(@algolia/client-search@4.23.2)(algoliasearch@4.23.2)
    +      '@algolia/autocomplete-shared': 1.9.3(@algolia/client-search@4.23.3)(algoliasearch@4.23.2)
           search-insights: 2.13.0
         transitivePeerDependencies:
           - '@algolia/client-search'
           - algoliasearch
         dev: true
     
    -  /@algolia/autocomplete-preset-algolia@1.9.3(@algolia/client-search@4.23.2)(algoliasearch@4.23.2):
    +  /@algolia/autocomplete-preset-algolia@1.9.3(@algolia/client-search@4.23.3)(algoliasearch@4.23.2):
         resolution: {integrity: sha512-d4qlt6YmrLMYy95n5TB52wtNDr6EgAIPH81dvvvW8UmuWRgxEtY0NJiPwl/h95JtG2vmRM804M0DSwMCNZlzRA==}
         peerDependencies:
           '@algolia/client-search': '>= 4.9.1 < 6'
           algoliasearch: '>= 4.9.1 < 6'
         dependencies:
    -      '@algolia/autocomplete-shared': 1.9.3(@algolia/client-search@4.23.2)(algoliasearch@4.23.2)
    -      '@algolia/client-search': 4.23.2
    +      '@algolia/autocomplete-shared': 1.9.3(@algolia/client-search@4.23.3)(algoliasearch@4.23.2)
    +      '@algolia/client-search': 4.23.3
           algoliasearch: 4.23.2
         dev: true
     
    -  /@algolia/autocomplete-shared@1.9.3(@algolia/client-search@4.23.2)(algoliasearch@4.23.2):
    +  /@algolia/autocomplete-shared@1.9.3(@algolia/client-search@4.23.3)(algoliasearch@4.23.2):
         resolution: {integrity: sha512-Wnm9E4Ye6Rl6sTTqjoymD+l8DjSTHsHboVRYrKgEt8Q7UHm9nYbqhN/i0fhUYA3OAEH7WA8x3jfpnmJm3rKvaQ==}
         peerDependencies:
           '@algolia/client-search': '>= 4.9.1 < 6'
           algoliasearch: '>= 4.9.1 < 6'
         dependencies:
    -      '@algolia/client-search': 4.23.2
    +      '@algolia/client-search': 4.23.3
           algoliasearch: 4.23.2
         dev: true
     
    @@ -632,6 +621,10 @@ packages:
         resolution: {integrity: sha512-OUK/6mqr6CQWxzl/QY0/mwhlGvS6fMtvEPyn/7AHUx96NjqDA4X4+Ju7aXFQKh+m3jW9VPB0B9xvEQgyAnRPNw==}
         dev: true
     
    +  /@algolia/cache-common@4.23.3:
    +    resolution: {integrity: sha512-h9XcNI6lxYStaw32pHpB1TMm0RuxphF+Ik4o7tcQiodEdpKK+wKufY6QXtba7t3k8eseirEMVB83uFFF3Nu54A==}
    +    dev: true
    +
       /@algolia/cache-in-memory@4.23.2:
         resolution: {integrity: sha512-rfbi/SnhEa3MmlqQvgYz/9NNJ156NkU6xFxjbxBtLWnHbpj+qnlMoKd+amoiacHRITpajg6zYbLM9dnaD3Bczw==}
         dependencies:
    @@ -662,6 +655,13 @@ packages:
           '@algolia/transporter': 4.23.2
         dev: true
     
    +  /@algolia/client-common@4.23.3:
    +    resolution: {integrity: sha512-l6EiPxdAlg8CYhroqS5ybfIczsGUIAC47slLPOMDeKSVXYG1n0qGiz4RjAHLw2aD0xzh2EXZ7aRguPfz7UKDKw==}
    +    dependencies:
    +      '@algolia/requester-common': 4.23.3
    +      '@algolia/transporter': 4.23.3
    +    dev: true
    +
       /@algolia/client-personalization@4.23.2:
         resolution: {integrity: sha512-vwPsgnCGhUcHhhQG5IM27z8q7dWrN9itjdvgA6uKf2e9r7vB+WXt4OocK0CeoYQt3OGEAExryzsB8DWqdMK5wg==}
         dependencies:
    @@ -678,10 +678,22 @@ packages:
           '@algolia/transporter': 4.23.2
         dev: true
     
    +  /@algolia/client-search@4.23.3:
    +    resolution: {integrity: sha512-P4VAKFHqU0wx9O+q29Q8YVuaowaZ5EM77rxfmGnkHUJggh28useXQdopokgwMeYw2XUht49WX5RcTQ40rZIabw==}
    +    dependencies:
    +      '@algolia/client-common': 4.23.3
    +      '@algolia/requester-common': 4.23.3
    +      '@algolia/transporter': 4.23.3
    +    dev: true
    +
       /@algolia/logger-common@4.23.2:
         resolution: {integrity: sha512-jGM49Q7626cXZ7qRAWXn0jDlzvoA1FvN4rKTi1g0hxKsTTSReyYk0i1ADWjChDPl3Q+nSDhJuosM2bBUAay7xw==}
         dev: true
     
    +  /@algolia/logger-common@4.23.3:
    +    resolution: {integrity: sha512-y9kBtmJwiZ9ZZ+1Ek66P0M68mHQzKRxkW5kAAXYN/rdzgDN0d2COsViEFufxJ0pb45K4FRcfC7+33YB4BLrZ+g==}
    +    dev: true
    +
       /@algolia/logger-console@4.23.2:
         resolution: {integrity: sha512-oo+lnxxEmlhTBTFZ3fGz1O8PJ+G+8FiAoMY2Qo3Q4w23xocQev6KqDTA1JQAGPDxAewNA2VBwWOsVXeXFjrI/Q==}
         dependencies:
    @@ -714,6 +726,10 @@ packages:
         resolution: {integrity: sha512-3EfpBS0Hri0lGDB5H/BocLt7Vkop0bTTLVUBB844HH6tVycwShmsV6bDR7yXbQvFP1uNpgePRD3cdBCjeHmk6Q==}
         dev: true
     
    +  /@algolia/requester-common@4.23.3:
    +    resolution: {integrity: sha512-xloIdr/bedtYEGcXCiF2muajyvRhwop4cMZo+K2qzNht0CMzlRkm8YsDdj5IaBhshqfgmBb3rTg4sL4/PpvLYw==}
    +    dev: true
    +
       /@algolia/requester-node-http@4.23.2:
         resolution: {integrity: sha512-SVzgkZM/malo+2SB0NWDXpnT7nO5IZwuDTaaH6SjLeOHcya1o56LSWXk+3F3rNLz2GVH+I/rpYKiqmHhSOjerw==}
         dependencies:
    @@ -728,6 +744,14 @@ packages:
           '@algolia/requester-common': 4.23.2
         dev: true
     
    +  /@algolia/transporter@4.23.3:
    +    resolution: {integrity: sha512-Wjl5gttqnf/gQKJA+dafnD0Y6Yw97yvfY8R9h0dQltX1GXTgNs1zWgvtWW0tHl1EgMdhAyw189uWiZMnL3QebQ==}
    +    dependencies:
    +      '@algolia/cache-common': 4.23.3
    +      '@algolia/logger-common': 4.23.3
    +      '@algolia/requester-common': 4.23.3
    +    dev: true
    +
       /@alloc/quick-lru@5.2.0:
         resolution: {integrity: sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==}
         engines: {node: '>=10'}
    @@ -782,7 +806,7 @@ packages:
           - supports-color
         dev: true
     
    -  /@applitools/core@4.10.2(typescript@5.4.3):
    +  /@applitools/core@4.10.2(typescript@5.4.5):
         resolution: {integrity: sha512-uXsqp43mSvRl4wrb8rXEK3Wc5oZKL5YpUlUpjH4bCxWmh/xNHz9obtbt/NbQtQNwR8PYmXy0RaXzbNusZfGa+g==}
         engines: {node: '>=12.13.0'}
         hasBin: true
    @@ -791,7 +815,7 @@ packages:
           '@applitools/dom-capture': 11.2.6
           '@applitools/dom-snapshot': 4.9.2
           '@applitools/driver': 1.16.5
    -      '@applitools/ec-client': 1.7.30(typescript@5.4.3)
    +      '@applitools/ec-client': 1.7.30(typescript@5.4.5)
           '@applitools/logger': 2.0.14
           '@applitools/nml-client': 1.7.5
           '@applitools/req': 1.6.5
    @@ -806,7 +830,7 @@ packages:
           chalk: 4.1.2
           node-fetch: 2.6.7(encoding@0.1.13)
           semver: 7.5.4
    -      webdriver: 7.31.1(typescript@5.4.3)
    +      webdriver: 7.31.1(typescript@5.4.5)
           ws: 8.13.0
           yargs: 17.7.2
         transitivePeerDependencies:
    @@ -860,7 +884,7 @@ packages:
           - supports-color
         dev: true
     
    -  /@applitools/ec-client@1.7.30(typescript@5.4.3):
    +  /@applitools/ec-client@1.7.30(typescript@5.4.5):
         resolution: {integrity: sha512-LDJdScYycrqKKKhYKdhe7ezaWHVv5R7uC9KPEnM20RhwW30DOkTC31RWLZqXChPdeuPfTuspR15njM2yiPUoZQ==}
         engines: {node: '>=12.13.0'}
         hasBin: true
    @@ -874,7 +898,7 @@ packages:
           '@applitools/tunnel-client': 1.4.1
           '@applitools/utils': 1.7.0
           abort-controller: 3.0.0
    -      webdriver: 7.31.1(typescript@5.4.3)
    +      webdriver: 7.31.1(typescript@5.4.5)
           yargs: 17.7.2
         transitivePeerDependencies:
           - supports-color
    @@ -916,13 +940,13 @@ packages:
           - supports-color
         dev: true
     
    -  /@applitools/eyes-cypress@3.42.3(typescript@5.4.3):
    +  /@applitools/eyes-cypress@3.42.3(typescript@5.4.5):
         resolution: {integrity: sha512-4rB95syFt+nEPmbO6uMsg/EXV3epTJTrbNLc+YE4TiFGDd7pLuWn1p7Ccng0LVey91+B7MmzQ2EXaWu5B1j5vQ==}
         engines: {node: '>=12.13.0'}
         hasBin: true
         dependencies:
    -      '@applitools/core': 4.10.2(typescript@5.4.3)
    -      '@applitools/eyes': 1.16.2(typescript@5.4.3)
    +      '@applitools/core': 4.10.2(typescript@5.4.5)
    +      '@applitools/eyes': 1.16.2(typescript@5.4.5)
           '@applitools/functional-commons': 1.6.0
           '@applitools/logger': 2.0.14
           '@applitools/utils': 1.7.0
    @@ -939,11 +963,11 @@ packages:
           - utf-8-validate
         dev: true
     
    -  /@applitools/eyes@1.16.2(typescript@5.4.3):
    +  /@applitools/eyes@1.16.2(typescript@5.4.5):
         resolution: {integrity: sha512-AmZXLI13Bvg+G+P+j1zjrj0xup9Py6INJYDFylpeA6zCe/2ebvLBRrZkIN0ax40xfc7ZHZQgH/LwBSTPtzczqg==}
         engines: {node: '>=12.13.0'}
         dependencies:
    -      '@applitools/core': 4.10.2(typescript@5.4.3)
    +      '@applitools/core': 4.10.2(typescript@5.4.5)
           '@applitools/logger': 2.0.14
           '@applitools/utils': 1.7.0
         transitivePeerDependencies:
    @@ -1053,7 +1077,7 @@ packages:
           '@applitools/utils': 1.7.0
           http-proxy-agent: 5.0.0
           https-proxy-agent: 5.0.1
    -      webdriver: 7.31.1(typescript@5.4.3)
    +      webdriver: 7.31.1(typescript@5.4.5)
         transitivePeerDependencies:
           - supports-color
         dev: true
    @@ -1100,11 +1124,6 @@ packages:
         engines: {node: '>=12.13.0'}
         dev: true
     
    -  /@arr/every@1.0.1:
    -    resolution: {integrity: sha512-UQFQ6SgyJ6LX42W8rHCs8KVc0JS0tzVL9ct4XYedJukskYVWTo49tNiMEK9C2HTyarbNiT/RVIRSY82vH+6sTg==}
    -    engines: {node: '>=4'}
    -    dev: true
    -
       /@babel/code-frame@7.22.10:
         resolution: {integrity: sha512-/KKIMG4UEL35WmI9OlvMhurwtytjvXoFcGNrOvyG9zIzA8YmPjVtIZUf7b05+TPO7G7/GEmLHDaoCgACHl9hhA==}
         engines: {node: '>=6.9.0'}
    @@ -1139,6 +1158,11 @@ packages:
         engines: {node: '>=6.9.0'}
         dev: true
     
    +  /@babel/compat-data@7.24.4:
    +    resolution: {integrity: sha512-vg8Gih2MLK+kOkHJp4gBEIkyaIi00jgWot2D9QOmmfLC8jINSOzmCLta6Bvz/JSBCqnegV0L80jhxkol5GWNfQ==}
    +    engines: {node: '>=6.9.0'}
    +    dev: true
    +
       /@babel/core@7.22.10:
         resolution: {integrity: sha512-fTmqbbUBAwCcre6zPzNngvsI0aNrPZe77AeqvDxWM9Nm+04RrJ3CAmGHA9f7lJQY6ZMhRztNemy4uslDxTX4Qw==}
         engines: {node: '>=6.9.0'}
    @@ -1208,6 +1232,29 @@ packages:
           - supports-color
         dev: true
     
    +  /@babel/core@7.24.4:
    +    resolution: {integrity: sha512-MBVlMXP+kkl5394RBLSxxk/iLTeVGuXTV3cIDXavPpMMqnSnt6apKgan/U8O3USWZCWZT/TbgfEpKa4uMgN4Dg==}
    +    engines: {node: '>=6.9.0'}
    +    dependencies:
    +      '@ampproject/remapping': 2.3.0
    +      '@babel/code-frame': 7.24.2
    +      '@babel/generator': 7.24.4
    +      '@babel/helper-compilation-targets': 7.23.6
    +      '@babel/helper-module-transforms': 7.23.3(@babel/core@7.24.4)
    +      '@babel/helpers': 7.24.4
    +      '@babel/parser': 7.24.4
    +      '@babel/template': 7.24.0
    +      '@babel/traverse': 7.24.1
    +      '@babel/types': 7.24.0
    +      convert-source-map: 2.0.0
    +      debug: 4.3.4(supports-color@8.1.1)
    +      gensync: 1.0.0-beta.2
    +      json5: 2.2.3
    +      semver: 6.3.1
    +    transitivePeerDependencies:
    +      - supports-color
    +    dev: true
    +
       /@babel/generator@7.22.10:
         resolution: {integrity: sha512-79KIf7YiWjjdZ81JnLujDRApWtl7BxTqWD88+FFdQEIOG8LJ0etDOM7CXuIgGJa55sGOwZVwuEsaLEm0PJ5/+A==}
         engines: {node: '>=6.9.0'}
    @@ -1238,6 +1285,16 @@ packages:
           jsesc: 2.5.2
         dev: true
     
    +  /@babel/generator@7.24.4:
    +    resolution: {integrity: sha512-Xd6+v6SnjWVx/nus+y0l1sxMOTOMBkyL4+BIdbALyatQnAe/SRVjANeDPSCYaX+i1iJmuGSKf3Z+E+V/va1Hvw==}
    +    engines: {node: '>=6.9.0'}
    +    dependencies:
    +      '@babel/types': 7.24.0
    +      '@jridgewell/gen-mapping': 0.3.5
    +      '@jridgewell/trace-mapping': 0.3.25
    +      jsesc: 2.5.2
    +    dev: true
    +
       /@babel/helper-annotate-as-pure@7.22.5:
         resolution: {integrity: sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg==}
         engines: {node: '>=6.9.0'}
    @@ -1292,24 +1349,42 @@ packages:
           semver: 6.3.1
         dev: true
     
    -  /@babel/helper-create-regexp-features-plugin@7.22.15(@babel/core@7.24.3):
    +  /@babel/helper-create-class-features-plugin@7.24.4(@babel/core@7.24.4):
    +    resolution: {integrity: sha512-lG75yeuUSVu0pIcbhiYMXBXANHrpUPaOfu7ryAzskCgKUHuAxRQI5ssrtmF0X9UXldPlvT0XM/A4F44OXRt6iQ==}
    +    engines: {node: '>=6.9.0'}
    +    peerDependencies:
    +      '@babel/core': ^7.0.0
    +    dependencies:
    +      '@babel/core': 7.24.4
    +      '@babel/helper-annotate-as-pure': 7.22.5
    +      '@babel/helper-environment-visitor': 7.22.20
    +      '@babel/helper-function-name': 7.23.0
    +      '@babel/helper-member-expression-to-functions': 7.23.0
    +      '@babel/helper-optimise-call-expression': 7.22.5
    +      '@babel/helper-replace-supers': 7.24.1(@babel/core@7.24.4)
    +      '@babel/helper-skip-transparent-expression-wrappers': 7.22.5
    +      '@babel/helper-split-export-declaration': 7.22.6
    +      semver: 6.3.1
    +    dev: true
    +
    +  /@babel/helper-create-regexp-features-plugin@7.22.15(@babel/core@7.24.4):
         resolution: {integrity: sha512-29FkPLFjn4TPEa3RE7GpW+qbE8tlsu3jntNYNfcGsc49LphF1PQIiD+vMZ1z1xVOKt+93khA9tc2JBs3kBjA7w==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0
         dependencies:
    -      '@babel/core': 7.24.3
    +      '@babel/core': 7.24.4
           '@babel/helper-annotate-as-pure': 7.22.5
           regexpu-core: 5.3.2
           semver: 6.3.1
         dev: true
     
    -  /@babel/helper-define-polyfill-provider@0.6.1(@babel/core@7.24.3):
    +  /@babel/helper-define-polyfill-provider@0.6.1(@babel/core@7.24.4):
         resolution: {integrity: sha512-o7SDgTJuvx5vLKD6SFvkydkSMBvahDKGiNJzG22IZYXhiqoe9efY7zocICBgzHV4IRg5wdgl2nEL/tulKIEIbA==}
         peerDependencies:
           '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0
         dependencies:
    -      '@babel/core': 7.24.3
    +      '@babel/core': 7.24.4
           '@babel/helper-compilation-targets': 7.23.6
           '@babel/helper-plugin-utils': 7.24.0
           debug: 4.3.4(supports-color@8.1.1)
    @@ -1409,6 +1484,20 @@ packages:
           '@babel/helper-validator-identifier': 7.22.20
         dev: true
     
    +  /@babel/helper-module-transforms@7.23.3(@babel/core@7.24.4):
    +    resolution: {integrity: sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ==}
    +    engines: {node: '>=6.9.0'}
    +    peerDependencies:
    +      '@babel/core': ^7.0.0
    +    dependencies:
    +      '@babel/core': 7.24.4
    +      '@babel/helper-environment-visitor': 7.22.20
    +      '@babel/helper-module-imports': 7.22.15
    +      '@babel/helper-simple-access': 7.22.5
    +      '@babel/helper-split-export-declaration': 7.22.6
    +      '@babel/helper-validator-identifier': 7.22.20
    +    dev: true
    +
       /@babel/helper-optimise-call-expression@7.22.5:
         resolution: {integrity: sha512-HBwaojN0xFRx4yIvpwGqxiV2tUfl7401jlok564NgB9EHS1y6QT17FmKWm4ztqjeVdXLuC4fSvHc5ePpQjoTbw==}
         engines: {node: '>=6.9.0'}
    @@ -1421,13 +1510,13 @@ packages:
         engines: {node: '>=6.9.0'}
         dev: true
     
    -  /@babel/helper-remap-async-to-generator@7.22.20(@babel/core@7.24.3):
    +  /@babel/helper-remap-async-to-generator@7.22.20(@babel/core@7.24.4):
         resolution: {integrity: sha512-pBGyV4uBqOns+0UvhsTO8qgl8hO89PmiDYv+/COyp1aeMcmfrfruz+/nCMFiYyFF/Knn0yfrC85ZzNFjembFTw==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0
         dependencies:
    -      '@babel/core': 7.24.3
    +      '@babel/core': 7.24.4
           '@babel/helper-annotate-as-pure': 7.22.5
           '@babel/helper-environment-visitor': 7.22.20
           '@babel/helper-wrap-function': 7.22.20
    @@ -1445,6 +1534,18 @@ packages:
           '@babel/helper-optimise-call-expression': 7.22.5
         dev: true
     
    +  /@babel/helper-replace-supers@7.24.1(@babel/core@7.24.4):
    +    resolution: {integrity: sha512-QCR1UqC9BzG5vZl8BMicmZ28RuUBnHhAMddD8yHFHDRH9lLTZ9uUPehX8ctVPT8l0TKblJidqcgUUKGVrePleQ==}
    +    engines: {node: '>=6.9.0'}
    +    peerDependencies:
    +      '@babel/core': ^7.0.0
    +    dependencies:
    +      '@babel/core': 7.24.4
    +      '@babel/helper-environment-visitor': 7.22.20
    +      '@babel/helper-member-expression-to-functions': 7.23.0
    +      '@babel/helper-optimise-call-expression': 7.22.5
    +    dev: true
    +
       /@babel/helper-simple-access@7.22.5:
         resolution: {integrity: sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==}
         engines: {node: '>=6.9.0'}
    @@ -1521,6 +1622,17 @@ packages:
           - supports-color
         dev: true
     
    +  /@babel/helpers@7.24.4:
    +    resolution: {integrity: sha512-FewdlZbSiwaVGlgT1DPANDuCHaDMiOo+D/IDYRFYjHOuv66xMSJ7fQwwODwRNAPkADIO/z1EoF/l2BCWlWABDw==}
    +    engines: {node: '>=6.9.0'}
    +    dependencies:
    +      '@babel/template': 7.24.0
    +      '@babel/traverse': 7.24.1
    +      '@babel/types': 7.24.0
    +    transitivePeerDependencies:
    +      - supports-color
    +    dev: true
    +
       /@babel/highlight@7.22.20:
         resolution: {integrity: sha512-dkdMCN3py0+ksCgYmGG8jKeGA/8Tk+gJwSYYlFGxG5lmhfKNoAy004YpLxpS1W2J8m/EK2Ew+yOs9pVRwO89mg==}
         engines: {node: '>=6.9.0'}
    @@ -1563,46 +1675,65 @@ packages:
         dependencies:
           '@babel/types': 7.24.0
     
    -  /@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.24.1(@babel/core@7.24.3):
    +  /@babel/parser@7.24.4:
    +    resolution: {integrity: sha512-zTvEBcghmeBma9QIGunWevvBAp4/Qu9Bdq+2k0Ot4fVMD6v3dsC9WOcRSKk7tRRyBM/53yKMJko9xOatGQAwSg==}
    +    engines: {node: '>=6.0.0'}
    +    hasBin: true
    +    dependencies:
    +      '@babel/types': 7.24.0
    +    dev: true
    +
    +  /@babel/plugin-bugfix-firefox-class-in-computed-class-key@7.24.4(@babel/core@7.24.4):
    +    resolution: {integrity: sha512-qpl6vOOEEzTLLcsuqYYo8yDtrTocmu2xkGvgNebvPjT9DTtfFYGmgDqY+rBYXNlqL4s9qLDn6xkrJv4RxAPiTA==}
    +    engines: {node: '>=6.9.0'}
    +    peerDependencies:
    +      '@babel/core': ^7.0.0
    +    dependencies:
    +      '@babel/core': 7.24.4
    +      '@babel/helper-environment-visitor': 7.22.20
    +      '@babel/helper-plugin-utils': 7.24.0
    +    dev: true
    +
    +  /@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.24.1(@babel/core@7.24.4):
         resolution: {integrity: sha512-y4HqEnkelJIOQGd+3g1bTeKsA5c6qM7eOn7VggGVbBc0y8MLSKHacwcIE2PplNlQSj0PqS9rrXL/nkPVK+kUNg==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0
         dependencies:
    -      '@babel/core': 7.24.3
    +      '@babel/core': 7.24.4
           '@babel/helper-plugin-utils': 7.24.0
         dev: true
     
    -  /@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.24.1(@babel/core@7.24.3):
    +  /@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.24.1(@babel/core@7.24.4):
         resolution: {integrity: sha512-Hj791Ii4ci8HqnaKHAlLNs+zaLXb0EzSDhiAWp5VNlyvCNymYfacs64pxTxbH1znW/NcArSmwpmG9IKE/TUVVQ==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.13.0
         dependencies:
    -      '@babel/core': 7.24.3
    +      '@babel/core': 7.24.4
           '@babel/helper-plugin-utils': 7.24.0
           '@babel/helper-skip-transparent-expression-wrappers': 7.22.5
    -      '@babel/plugin-transform-optional-chaining': 7.24.1(@babel/core@7.24.3)
    +      '@babel/plugin-transform-optional-chaining': 7.24.1(@babel/core@7.24.4)
         dev: true
     
    -  /@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.24.1(@babel/core@7.24.3):
    +  /@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.24.1(@babel/core@7.24.4):
         resolution: {integrity: sha512-m9m/fXsXLiHfwdgydIFnpk+7jlVbnvlK5B2EKiPdLUb6WX654ZaaEWJUjk8TftRbZpK0XibovlLWX4KIZhV6jw==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0
         dependencies:
    -      '@babel/core': 7.24.3
    +      '@babel/core': 7.24.4
           '@babel/helper-environment-visitor': 7.22.20
           '@babel/helper-plugin-utils': 7.24.0
         dev: true
     
    -  /@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2(@babel/core@7.24.3):
    +  /@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2(@babel/core@7.24.4):
         resolution: {integrity: sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
         dependencies:
    -      '@babel/core': 7.24.3
    +      '@babel/core': 7.24.4
         dev: true
     
       /@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.24.0):
    @@ -1614,12 +1745,12 @@ packages:
           '@babel/helper-plugin-utils': 7.24.0
         dev: true
     
    -  /@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.24.3):
    +  /@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.24.4):
         resolution: {integrity: sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==}
         peerDependencies:
           '@babel/core': ^7.0.0-0
         dependencies:
    -      '@babel/core': 7.24.3
    +      '@babel/core': 7.24.4
           '@babel/helper-plugin-utils': 7.24.0
         dev: true
     
    @@ -1641,60 +1772,60 @@ packages:
           '@babel/helper-plugin-utils': 7.24.0
         dev: true
     
    -  /@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.24.3):
    +  /@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.24.4):
         resolution: {integrity: sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==}
         peerDependencies:
           '@babel/core': ^7.0.0-0
         dependencies:
    -      '@babel/core': 7.24.3
    +      '@babel/core': 7.24.4
           '@babel/helper-plugin-utils': 7.24.0
         dev: true
     
    -  /@babel/plugin-syntax-class-static-block@7.14.5(@babel/core@7.24.3):
    +  /@babel/plugin-syntax-class-static-block@7.14.5(@babel/core@7.24.4):
         resolution: {integrity: sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
         dependencies:
    -      '@babel/core': 7.24.3
    +      '@babel/core': 7.24.4
           '@babel/helper-plugin-utils': 7.24.0
         dev: true
     
    -  /@babel/plugin-syntax-dynamic-import@7.8.3(@babel/core@7.24.3):
    +  /@babel/plugin-syntax-dynamic-import@7.8.3(@babel/core@7.24.4):
         resolution: {integrity: sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==}
         peerDependencies:
           '@babel/core': ^7.0.0-0
         dependencies:
    -      '@babel/core': 7.24.3
    +      '@babel/core': 7.24.4
           '@babel/helper-plugin-utils': 7.24.0
         dev: true
     
    -  /@babel/plugin-syntax-export-namespace-from@7.8.3(@babel/core@7.24.3):
    +  /@babel/plugin-syntax-export-namespace-from@7.8.3(@babel/core@7.24.4):
         resolution: {integrity: sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==}
         peerDependencies:
           '@babel/core': ^7.0.0-0
         dependencies:
    -      '@babel/core': 7.24.3
    +      '@babel/core': 7.24.4
           '@babel/helper-plugin-utils': 7.24.0
         dev: true
     
    -  /@babel/plugin-syntax-import-assertions@7.24.1(@babel/core@7.24.3):
    +  /@babel/plugin-syntax-import-assertions@7.24.1(@babel/core@7.24.4):
         resolution: {integrity: sha512-IuwnI5XnuF189t91XbxmXeCDz3qs6iDRO7GJ++wcfgeXNs/8FmIlKcpDSXNVyuLQxlwvskmI3Ct73wUODkJBlQ==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
         dependencies:
    -      '@babel/core': 7.24.3
    +      '@babel/core': 7.24.4
           '@babel/helper-plugin-utils': 7.24.0
         dev: true
     
    -  /@babel/plugin-syntax-import-attributes@7.24.1(@babel/core@7.24.3):
    +  /@babel/plugin-syntax-import-attributes@7.24.1(@babel/core@7.24.4):
         resolution: {integrity: sha512-zhQTMH0X2nVLnb04tz+s7AMuasX8U0FnpE+nHTOhSOINjWMnopoZTxtIKsd45n4GQ/HIZLyfIpoul8e2m0DnRA==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
         dependencies:
    -      '@babel/core': 7.24.3
    +      '@babel/core': 7.24.4
           '@babel/helper-plugin-utils': 7.24.0
         dev: true
     
    @@ -1707,12 +1838,12 @@ packages:
           '@babel/helper-plugin-utils': 7.24.0
         dev: true
     
    -  /@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.24.3):
    +  /@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.24.4):
         resolution: {integrity: sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==}
         peerDependencies:
           '@babel/core': ^7.0.0-0
         dependencies:
    -      '@babel/core': 7.24.3
    +      '@babel/core': 7.24.4
           '@babel/helper-plugin-utils': 7.24.0
         dev: true
     
    @@ -1725,12 +1856,12 @@ packages:
           '@babel/helper-plugin-utils': 7.24.0
         dev: true
     
    -  /@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.24.3):
    +  /@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.24.4):
         resolution: {integrity: sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==}
         peerDependencies:
           '@babel/core': ^7.0.0-0
         dependencies:
    -      '@babel/core': 7.24.3
    +      '@babel/core': 7.24.4
           '@babel/helper-plugin-utils': 7.24.0
         dev: true
     
    @@ -1763,12 +1894,12 @@ packages:
           '@babel/helper-plugin-utils': 7.24.0
         dev: true
     
    -  /@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.24.3):
    +  /@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.24.4):
         resolution: {integrity: sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==}
         peerDependencies:
           '@babel/core': ^7.0.0-0
         dependencies:
    -      '@babel/core': 7.24.3
    +      '@babel/core': 7.24.4
           '@babel/helper-plugin-utils': 7.24.0
         dev: true
     
    @@ -1781,12 +1912,12 @@ packages:
           '@babel/helper-plugin-utils': 7.24.0
         dev: true
     
    -  /@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.24.3):
    +  /@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.24.4):
         resolution: {integrity: sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==}
         peerDependencies:
           '@babel/core': ^7.0.0-0
         dependencies:
    -      '@babel/core': 7.24.3
    +      '@babel/core': 7.24.4
           '@babel/helper-plugin-utils': 7.24.0
         dev: true
     
    @@ -1799,12 +1930,12 @@ packages:
           '@babel/helper-plugin-utils': 7.24.0
         dev: true
     
    -  /@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.24.3):
    +  /@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.24.4):
         resolution: {integrity: sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==}
         peerDependencies:
           '@babel/core': ^7.0.0-0
         dependencies:
    -      '@babel/core': 7.24.3
    +      '@babel/core': 7.24.4
           '@babel/helper-plugin-utils': 7.24.0
         dev: true
     
    @@ -1817,12 +1948,12 @@ packages:
           '@babel/helper-plugin-utils': 7.24.0
         dev: true
     
    -  /@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.24.3):
    +  /@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.24.4):
         resolution: {integrity: sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==}
         peerDependencies:
           '@babel/core': ^7.0.0-0
         dependencies:
    -      '@babel/core': 7.24.3
    +      '@babel/core': 7.24.4
           '@babel/helper-plugin-utils': 7.24.0
         dev: true
     
    @@ -1835,12 +1966,12 @@ packages:
           '@babel/helper-plugin-utils': 7.24.0
         dev: true
     
    -  /@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.24.3):
    +  /@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.24.4):
         resolution: {integrity: sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==}
         peerDependencies:
           '@babel/core': ^7.0.0-0
         dependencies:
    -      '@babel/core': 7.24.3
    +      '@babel/core': 7.24.4
           '@babel/helper-plugin-utils': 7.24.0
         dev: true
     
    @@ -1853,22 +1984,22 @@ packages:
           '@babel/helper-plugin-utils': 7.24.0
         dev: true
     
    -  /@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.24.3):
    +  /@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.24.4):
         resolution: {integrity: sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==}
         peerDependencies:
           '@babel/core': ^7.0.0-0
         dependencies:
    -      '@babel/core': 7.24.3
    +      '@babel/core': 7.24.4
           '@babel/helper-plugin-utils': 7.24.0
         dev: true
     
    -  /@babel/plugin-syntax-private-property-in-object@7.14.5(@babel/core@7.24.3):
    +  /@babel/plugin-syntax-private-property-in-object@7.14.5(@babel/core@7.24.4):
         resolution: {integrity: sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
         dependencies:
    -      '@babel/core': 7.24.3
    +      '@babel/core': 7.24.4
           '@babel/helper-plugin-utils': 7.24.0
         dev: true
     
    @@ -1882,13 +2013,13 @@ packages:
           '@babel/helper-plugin-utils': 7.24.0
         dev: true
     
    -  /@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.24.3):
    +  /@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.24.4):
         resolution: {integrity: sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
         dependencies:
    -      '@babel/core': 7.24.3
    +      '@babel/core': 7.24.4
           '@babel/helper-plugin-utils': 7.24.0
         dev: true
     
    @@ -1912,260 +2043,260 @@ packages:
           '@babel/helper-plugin-utils': 7.24.0
         dev: true
     
    -  /@babel/plugin-syntax-unicode-sets-regex@7.18.6(@babel/core@7.24.3):
    +  /@babel/plugin-syntax-unicode-sets-regex@7.18.6(@babel/core@7.24.4):
         resolution: {integrity: sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0
         dependencies:
    -      '@babel/core': 7.24.3
    -      '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.24.3)
    +      '@babel/core': 7.24.4
    +      '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.24.4)
           '@babel/helper-plugin-utils': 7.24.0
         dev: true
     
    -  /@babel/plugin-transform-arrow-functions@7.24.1(@babel/core@7.24.3):
    +  /@babel/plugin-transform-arrow-functions@7.24.1(@babel/core@7.24.4):
         resolution: {integrity: sha512-ngT/3NkRhsaep9ck9uj2Xhv9+xB1zShY3tM3g6om4xxCELwCDN4g4Aq5dRn48+0hasAql7s2hdBOysCfNpr4fw==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
         dependencies:
    -      '@babel/core': 7.24.3
    +      '@babel/core': 7.24.4
           '@babel/helper-plugin-utils': 7.24.0
         dev: true
     
    -  /@babel/plugin-transform-async-generator-functions@7.24.3(@babel/core@7.24.3):
    +  /@babel/plugin-transform-async-generator-functions@7.24.3(@babel/core@7.24.4):
         resolution: {integrity: sha512-Qe26CMYVjpQxJ8zxM1340JFNjZaF+ISWpr1Kt/jGo+ZTUzKkfw/pphEWbRCb+lmSM6k/TOgfYLvmbHkUQ0asIg==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
         dependencies:
    -      '@babel/core': 7.24.3
    +      '@babel/core': 7.24.4
           '@babel/helper-environment-visitor': 7.22.20
           '@babel/helper-plugin-utils': 7.24.0
    -      '@babel/helper-remap-async-to-generator': 7.22.20(@babel/core@7.24.3)
    -      '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.24.3)
    +      '@babel/helper-remap-async-to-generator': 7.22.20(@babel/core@7.24.4)
    +      '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.24.4)
         dev: true
     
    -  /@babel/plugin-transform-async-to-generator@7.24.1(@babel/core@7.24.3):
    +  /@babel/plugin-transform-async-to-generator@7.24.1(@babel/core@7.24.4):
         resolution: {integrity: sha512-AawPptitRXp1y0n4ilKcGbRYWfbbzFWz2NqNu7dacYDtFtz0CMjG64b3LQsb3KIgnf4/obcUL78hfaOS7iCUfw==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
         dependencies:
    -      '@babel/core': 7.24.3
    +      '@babel/core': 7.24.4
           '@babel/helper-module-imports': 7.24.3
           '@babel/helper-plugin-utils': 7.24.0
    -      '@babel/helper-remap-async-to-generator': 7.22.20(@babel/core@7.24.3)
    +      '@babel/helper-remap-async-to-generator': 7.22.20(@babel/core@7.24.4)
         dev: true
     
    -  /@babel/plugin-transform-block-scoped-functions@7.24.1(@babel/core@7.24.3):
    +  /@babel/plugin-transform-block-scoped-functions@7.24.1(@babel/core@7.24.4):
         resolution: {integrity: sha512-TWWC18OShZutrv9C6mye1xwtam+uNi2bnTOCBUd5sZxyHOiWbU6ztSROofIMrK84uweEZC219POICK/sTYwfgg==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
         dependencies:
    -      '@babel/core': 7.24.3
    +      '@babel/core': 7.24.4
           '@babel/helper-plugin-utils': 7.24.0
         dev: true
     
    -  /@babel/plugin-transform-block-scoping@7.24.1(@babel/core@7.24.3):
    -    resolution: {integrity: sha512-h71T2QQvDgM2SmT29UYU6ozjMlAt7s7CSs5Hvy8f8cf/GM/Z4a2zMfN+fjVGaieeCrXR3EdQl6C4gQG+OgmbKw==}
    +  /@babel/plugin-transform-block-scoping@7.24.4(@babel/core@7.24.4):
    +    resolution: {integrity: sha512-nIFUZIpGKDf9O9ttyRXpHFpKC+X3Y5mtshZONuEUYBomAKoM4y029Jr+uB1bHGPhNmK8YXHevDtKDOLmtRrp6g==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
         dependencies:
    -      '@babel/core': 7.24.3
    +      '@babel/core': 7.24.4
           '@babel/helper-plugin-utils': 7.24.0
         dev: true
     
    -  /@babel/plugin-transform-class-properties@7.24.1(@babel/core@7.24.3):
    +  /@babel/plugin-transform-class-properties@7.24.1(@babel/core@7.24.4):
         resolution: {integrity: sha512-OMLCXi0NqvJfORTaPQBwqLXHhb93wkBKZ4aNwMl6WtehO7ar+cmp+89iPEQPqxAnxsOKTaMcs3POz3rKayJ72g==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
         dependencies:
    -      '@babel/core': 7.24.3
    -      '@babel/helper-create-class-features-plugin': 7.24.1(@babel/core@7.24.3)
    +      '@babel/core': 7.24.4
    +      '@babel/helper-create-class-features-plugin': 7.24.4(@babel/core@7.24.4)
           '@babel/helper-plugin-utils': 7.24.0
         dev: true
     
    -  /@babel/plugin-transform-class-static-block@7.24.1(@babel/core@7.24.3):
    -    resolution: {integrity: sha512-FUHlKCn6J3ERiu8Dv+4eoz7w8+kFLSyeVG4vDAikwADGjUCoHw/JHokyGtr8OR4UjpwPVivyF+h8Q5iv/JmrtA==}
    +  /@babel/plugin-transform-class-static-block@7.24.4(@babel/core@7.24.4):
    +    resolution: {integrity: sha512-B8q7Pz870Hz/q9UgP8InNpY01CSLDSCyqX7zcRuv3FcPl87A2G17lASroHWaCtbdIcbYzOZ7kWmXFKbijMSmFg==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.12.0
         dependencies:
    -      '@babel/core': 7.24.3
    -      '@babel/helper-create-class-features-plugin': 7.24.1(@babel/core@7.24.3)
    +      '@babel/core': 7.24.4
    +      '@babel/helper-create-class-features-plugin': 7.24.4(@babel/core@7.24.4)
           '@babel/helper-plugin-utils': 7.24.0
    -      '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.24.3)
    +      '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.24.4)
         dev: true
     
    -  /@babel/plugin-transform-classes@7.24.1(@babel/core@7.24.3):
    +  /@babel/plugin-transform-classes@7.24.1(@babel/core@7.24.4):
         resolution: {integrity: sha512-ZTIe3W7UejJd3/3R4p7ScyyOoafetUShSf4kCqV0O7F/RiHxVj/wRaRnQlrGwflvcehNA8M42HkAiEDYZu2F1Q==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
         dependencies:
    -      '@babel/core': 7.24.3
    +      '@babel/core': 7.24.4
           '@babel/helper-annotate-as-pure': 7.22.5
           '@babel/helper-compilation-targets': 7.23.6
           '@babel/helper-environment-visitor': 7.22.20
           '@babel/helper-function-name': 7.23.0
           '@babel/helper-plugin-utils': 7.24.0
    -      '@babel/helper-replace-supers': 7.24.1(@babel/core@7.24.3)
    +      '@babel/helper-replace-supers': 7.24.1(@babel/core@7.24.4)
           '@babel/helper-split-export-declaration': 7.22.6
           globals: 11.12.0
         dev: true
     
    -  /@babel/plugin-transform-computed-properties@7.24.1(@babel/core@7.24.3):
    +  /@babel/plugin-transform-computed-properties@7.24.1(@babel/core@7.24.4):
         resolution: {integrity: sha512-5pJGVIUfJpOS+pAqBQd+QMaTD2vCL/HcePooON6pDpHgRp4gNRmzyHTPIkXntwKsq3ayUFVfJaIKPw2pOkOcTw==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
         dependencies:
    -      '@babel/core': 7.24.3
    +      '@babel/core': 7.24.4
           '@babel/helper-plugin-utils': 7.24.0
           '@babel/template': 7.24.0
         dev: true
     
    -  /@babel/plugin-transform-destructuring@7.24.1(@babel/core@7.24.3):
    +  /@babel/plugin-transform-destructuring@7.24.1(@babel/core@7.24.4):
         resolution: {integrity: sha512-ow8jciWqNxR3RYbSNVuF4U2Jx130nwnBnhRw6N6h1bOejNkABmcI5X5oz29K4alWX7vf1C+o6gtKXikzRKkVdw==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
         dependencies:
    -      '@babel/core': 7.24.3
    +      '@babel/core': 7.24.4
           '@babel/helper-plugin-utils': 7.24.0
         dev: true
     
    -  /@babel/plugin-transform-dotall-regex@7.24.1(@babel/core@7.24.3):
    +  /@babel/plugin-transform-dotall-regex@7.24.1(@babel/core@7.24.4):
         resolution: {integrity: sha512-p7uUxgSoZwZ2lPNMzUkqCts3xlp8n+o05ikjy7gbtFJSt9gdU88jAmtfmOxHM14noQXBxfgzf2yRWECiNVhTCw==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
         dependencies:
    -      '@babel/core': 7.24.3
    -      '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.24.3)
    +      '@babel/core': 7.24.4
    +      '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.24.4)
           '@babel/helper-plugin-utils': 7.24.0
         dev: true
     
    -  /@babel/plugin-transform-duplicate-keys@7.24.1(@babel/core@7.24.3):
    +  /@babel/plugin-transform-duplicate-keys@7.24.1(@babel/core@7.24.4):
         resolution: {integrity: sha512-msyzuUnvsjsaSaocV6L7ErfNsa5nDWL1XKNnDePLgmz+WdU4w/J8+AxBMrWfi9m4IxfL5sZQKUPQKDQeeAT6lA==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
         dependencies:
    -      '@babel/core': 7.24.3
    +      '@babel/core': 7.24.4
           '@babel/helper-plugin-utils': 7.24.0
         dev: true
     
    -  /@babel/plugin-transform-dynamic-import@7.24.1(@babel/core@7.24.3):
    +  /@babel/plugin-transform-dynamic-import@7.24.1(@babel/core@7.24.4):
         resolution: {integrity: sha512-av2gdSTyXcJVdI+8aFZsCAtR29xJt0S5tas+Ef8NvBNmD1a+N/3ecMLeMBgfcK+xzsjdLDT6oHt+DFPyeqUbDA==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
         dependencies:
    -      '@babel/core': 7.24.3
    +      '@babel/core': 7.24.4
           '@babel/helper-plugin-utils': 7.24.0
    -      '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.24.3)
    +      '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.24.4)
         dev: true
     
    -  /@babel/plugin-transform-exponentiation-operator@7.24.1(@babel/core@7.24.3):
    +  /@babel/plugin-transform-exponentiation-operator@7.24.1(@babel/core@7.24.4):
         resolution: {integrity: sha512-U1yX13dVBSwS23DEAqU+Z/PkwE9/m7QQy8Y9/+Tdb8UWYaGNDYwTLi19wqIAiROr8sXVum9A/rtiH5H0boUcTw==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
         dependencies:
    -      '@babel/core': 7.24.3
    +      '@babel/core': 7.24.4
           '@babel/helper-builder-binary-assignment-operator-visitor': 7.22.15
           '@babel/helper-plugin-utils': 7.24.0
         dev: true
     
    -  /@babel/plugin-transform-export-namespace-from@7.24.1(@babel/core@7.24.3):
    +  /@babel/plugin-transform-export-namespace-from@7.24.1(@babel/core@7.24.4):
         resolution: {integrity: sha512-Ft38m/KFOyzKw2UaJFkWG9QnHPG/Q/2SkOrRk4pNBPg5IPZ+dOxcmkK5IyuBcxiNPyyYowPGUReyBvrvZs7IlQ==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
         dependencies:
    -      '@babel/core': 7.24.3
    +      '@babel/core': 7.24.4
           '@babel/helper-plugin-utils': 7.24.0
    -      '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.24.3)
    +      '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.24.4)
         dev: true
     
    -  /@babel/plugin-transform-for-of@7.24.1(@babel/core@7.24.3):
    +  /@babel/plugin-transform-for-of@7.24.1(@babel/core@7.24.4):
         resolution: {integrity: sha512-OxBdcnF04bpdQdR3i4giHZNZQn7cm8RQKcSwA17wAAqEELo1ZOwp5FFgeptWUQXFyT9kwHo10aqqauYkRZPCAg==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
         dependencies:
    -      '@babel/core': 7.24.3
    +      '@babel/core': 7.24.4
           '@babel/helper-plugin-utils': 7.24.0
           '@babel/helper-skip-transparent-expression-wrappers': 7.22.5
         dev: true
     
    -  /@babel/plugin-transform-function-name@7.24.1(@babel/core@7.24.3):
    +  /@babel/plugin-transform-function-name@7.24.1(@babel/core@7.24.4):
         resolution: {integrity: sha512-BXmDZpPlh7jwicKArQASrj8n22/w6iymRnvHYYd2zO30DbE277JO20/7yXJT3QxDPtiQiOxQBbZH4TpivNXIxA==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
         dependencies:
    -      '@babel/core': 7.24.3
    +      '@babel/core': 7.24.4
           '@babel/helper-compilation-targets': 7.23.6
           '@babel/helper-function-name': 7.23.0
           '@babel/helper-plugin-utils': 7.24.0
         dev: true
     
    -  /@babel/plugin-transform-json-strings@7.24.1(@babel/core@7.24.3):
    +  /@babel/plugin-transform-json-strings@7.24.1(@babel/core@7.24.4):
         resolution: {integrity: sha512-U7RMFmRvoasscrIFy5xA4gIp8iWnWubnKkKuUGJjsuOH7GfbMkB+XZzeslx2kLdEGdOJDamEmCqOks6e8nv8DQ==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
         dependencies:
    -      '@babel/core': 7.24.3
    +      '@babel/core': 7.24.4
           '@babel/helper-plugin-utils': 7.24.0
    -      '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.24.3)
    +      '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.24.4)
         dev: true
     
    -  /@babel/plugin-transform-literals@7.24.1(@babel/core@7.24.3):
    +  /@babel/plugin-transform-literals@7.24.1(@babel/core@7.24.4):
         resolution: {integrity: sha512-zn9pwz8U7nCqOYIiBaOxoQOtYmMODXTJnkxG4AtX8fPmnCRYWBOHD0qcpwS9e2VDSp1zNJYpdnFMIKb8jmwu6g==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
         dependencies:
    -      '@babel/core': 7.24.3
    +      '@babel/core': 7.24.4
           '@babel/helper-plugin-utils': 7.24.0
         dev: true
     
    -  /@babel/plugin-transform-logical-assignment-operators@7.24.1(@babel/core@7.24.3):
    +  /@babel/plugin-transform-logical-assignment-operators@7.24.1(@babel/core@7.24.4):
         resolution: {integrity: sha512-OhN6J4Bpz+hIBqItTeWJujDOfNP+unqv/NJgyhlpSqgBTPm37KkMmZV6SYcOj+pnDbdcl1qRGV/ZiIjX9Iy34w==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
         dependencies:
    -      '@babel/core': 7.24.3
    +      '@babel/core': 7.24.4
           '@babel/helper-plugin-utils': 7.24.0
    -      '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.24.3)
    +      '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.24.4)
         dev: true
     
    -  /@babel/plugin-transform-member-expression-literals@7.24.1(@babel/core@7.24.3):
    +  /@babel/plugin-transform-member-expression-literals@7.24.1(@babel/core@7.24.4):
         resolution: {integrity: sha512-4ojai0KysTWXzHseJKa1XPNXKRbuUrhkOPY4rEGeR+7ChlJVKxFa3H3Bz+7tWaGKgJAXUWKOGmltN+u9B3+CVg==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
         dependencies:
    -      '@babel/core': 7.24.3
    +      '@babel/core': 7.24.4
           '@babel/helper-plugin-utils': 7.24.0
         dev: true
     
    -  /@babel/plugin-transform-modules-amd@7.24.1(@babel/core@7.24.3):
    +  /@babel/plugin-transform-modules-amd@7.24.1(@babel/core@7.24.4):
         resolution: {integrity: sha512-lAxNHi4HVtjnHd5Rxg3D5t99Xm6H7b04hUS7EHIXcUl2EV4yl1gWdqZrNzXnSrHveL9qMdbODlLF55mvgjAfaQ==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
         dependencies:
    -      '@babel/core': 7.24.3
    -      '@babel/helper-module-transforms': 7.23.3(@babel/core@7.24.3)
    +      '@babel/core': 7.24.4
    +      '@babel/helper-module-transforms': 7.23.3(@babel/core@7.24.4)
           '@babel/helper-plugin-utils': 7.24.0
         dev: true
     
    @@ -2181,233 +2312,245 @@ packages:
           '@babel/helper-simple-access': 7.22.5
         dev: true
     
    -  /@babel/plugin-transform-modules-systemjs@7.24.1(@babel/core@7.24.3):
    +  /@babel/plugin-transform-modules-commonjs@7.24.1(@babel/core@7.24.4):
    +    resolution: {integrity: sha512-szog8fFTUxBfw0b98gEWPaEqF42ZUD/T3bkynW/wtgx2p/XCP55WEsb+VosKceRSd6njipdZvNogqdtI4Q0chw==}
    +    engines: {node: '>=6.9.0'}
    +    peerDependencies:
    +      '@babel/core': ^7.0.0-0
    +    dependencies:
    +      '@babel/core': 7.24.4
    +      '@babel/helper-module-transforms': 7.23.3(@babel/core@7.24.4)
    +      '@babel/helper-plugin-utils': 7.24.0
    +      '@babel/helper-simple-access': 7.22.5
    +    dev: true
    +
    +  /@babel/plugin-transform-modules-systemjs@7.24.1(@babel/core@7.24.4):
         resolution: {integrity: sha512-mqQ3Zh9vFO1Tpmlt8QPnbwGHzNz3lpNEMxQb1kAemn/erstyqw1r9KeOlOfo3y6xAnFEcOv2tSyrXfmMk+/YZA==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
         dependencies:
    -      '@babel/core': 7.24.3
    +      '@babel/core': 7.24.4
           '@babel/helper-hoist-variables': 7.22.5
    -      '@babel/helper-module-transforms': 7.23.3(@babel/core@7.24.3)
    +      '@babel/helper-module-transforms': 7.23.3(@babel/core@7.24.4)
           '@babel/helper-plugin-utils': 7.24.0
           '@babel/helper-validator-identifier': 7.22.20
         dev: true
     
    -  /@babel/plugin-transform-modules-umd@7.24.1(@babel/core@7.24.3):
    +  /@babel/plugin-transform-modules-umd@7.24.1(@babel/core@7.24.4):
         resolution: {integrity: sha512-tuA3lpPj+5ITfcCluy6nWonSL7RvaG0AOTeAuvXqEKS34lnLzXpDb0dcP6K8jD0zWZFNDVly90AGFJPnm4fOYg==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
         dependencies:
    -      '@babel/core': 7.24.3
    -      '@babel/helper-module-transforms': 7.23.3(@babel/core@7.24.3)
    +      '@babel/core': 7.24.4
    +      '@babel/helper-module-transforms': 7.23.3(@babel/core@7.24.4)
           '@babel/helper-plugin-utils': 7.24.0
         dev: true
     
    -  /@babel/plugin-transform-named-capturing-groups-regex@7.22.5(@babel/core@7.24.3):
    +  /@babel/plugin-transform-named-capturing-groups-regex@7.22.5(@babel/core@7.24.4):
         resolution: {integrity: sha512-YgLLKmS3aUBhHaxp5hi1WJTgOUb/NCuDHzGT9z9WTt3YG+CPRhJs6nprbStx6DnWM4dh6gt7SU3sZodbZ08adQ==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0
         dependencies:
    -      '@babel/core': 7.24.3
    -      '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.24.3)
    +      '@babel/core': 7.24.4
    +      '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.24.4)
           '@babel/helper-plugin-utils': 7.24.0
         dev: true
     
    -  /@babel/plugin-transform-new-target@7.24.1(@babel/core@7.24.3):
    +  /@babel/plugin-transform-new-target@7.24.1(@babel/core@7.24.4):
         resolution: {integrity: sha512-/rurytBM34hYy0HKZQyA0nHbQgQNFm4Q/BOc9Hflxi2X3twRof7NaE5W46j4kQitm7SvACVRXsa6N/tSZxvPug==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
         dependencies:
    -      '@babel/core': 7.24.3
    +      '@babel/core': 7.24.4
           '@babel/helper-plugin-utils': 7.24.0
         dev: true
     
    -  /@babel/plugin-transform-nullish-coalescing-operator@7.24.1(@babel/core@7.24.3):
    +  /@babel/plugin-transform-nullish-coalescing-operator@7.24.1(@babel/core@7.24.4):
         resolution: {integrity: sha512-iQ+caew8wRrhCikO5DrUYx0mrmdhkaELgFa+7baMcVuhxIkN7oxt06CZ51D65ugIb1UWRQ8oQe+HXAVM6qHFjw==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
         dependencies:
    -      '@babel/core': 7.24.3
    +      '@babel/core': 7.24.4
           '@babel/helper-plugin-utils': 7.24.0
    -      '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.24.3)
    +      '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.24.4)
         dev: true
     
    -  /@babel/plugin-transform-numeric-separator@7.24.1(@babel/core@7.24.3):
    +  /@babel/plugin-transform-numeric-separator@7.24.1(@babel/core@7.24.4):
         resolution: {integrity: sha512-7GAsGlK4cNL2OExJH1DzmDeKnRv/LXq0eLUSvudrehVA5Rgg4bIrqEUW29FbKMBRT0ztSqisv7kjP+XIC4ZMNw==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
         dependencies:
    -      '@babel/core': 7.24.3
    +      '@babel/core': 7.24.4
           '@babel/helper-plugin-utils': 7.24.0
    -      '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.24.3)
    +      '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.24.4)
         dev: true
     
    -  /@babel/plugin-transform-object-rest-spread@7.24.1(@babel/core@7.24.3):
    +  /@babel/plugin-transform-object-rest-spread@7.24.1(@babel/core@7.24.4):
         resolution: {integrity: sha512-XjD5f0YqOtebto4HGISLNfiNMTTs6tbkFf2TOqJlYKYmbo+mN9Dnpl4SRoofiziuOWMIyq3sZEUqLo3hLITFEA==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
         dependencies:
    -      '@babel/core': 7.24.3
    +      '@babel/core': 7.24.4
           '@babel/helper-compilation-targets': 7.23.6
           '@babel/helper-plugin-utils': 7.24.0
    -      '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.24.3)
    -      '@babel/plugin-transform-parameters': 7.24.1(@babel/core@7.24.3)
    +      '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.24.4)
    +      '@babel/plugin-transform-parameters': 7.24.1(@babel/core@7.24.4)
         dev: true
     
    -  /@babel/plugin-transform-object-super@7.24.1(@babel/core@7.24.3):
    +  /@babel/plugin-transform-object-super@7.24.1(@babel/core@7.24.4):
         resolution: {integrity: sha512-oKJqR3TeI5hSLRxudMjFQ9re9fBVUU0GICqM3J1mi8MqlhVr6hC/ZN4ttAyMuQR6EZZIY6h/exe5swqGNNIkWQ==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
         dependencies:
    -      '@babel/core': 7.24.3
    +      '@babel/core': 7.24.4
           '@babel/helper-plugin-utils': 7.24.0
    -      '@babel/helper-replace-supers': 7.24.1(@babel/core@7.24.3)
    +      '@babel/helper-replace-supers': 7.24.1(@babel/core@7.24.4)
         dev: true
     
    -  /@babel/plugin-transform-optional-catch-binding@7.24.1(@babel/core@7.24.3):
    +  /@babel/plugin-transform-optional-catch-binding@7.24.1(@babel/core@7.24.4):
         resolution: {integrity: sha512-oBTH7oURV4Y+3EUrf6cWn1OHio3qG/PVwO5J03iSJmBg6m2EhKjkAu/xuaXaYwWW9miYtvbWv4LNf0AmR43LUA==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
         dependencies:
    -      '@babel/core': 7.24.3
    +      '@babel/core': 7.24.4
           '@babel/helper-plugin-utils': 7.24.0
    -      '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.24.3)
    +      '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.24.4)
         dev: true
     
    -  /@babel/plugin-transform-optional-chaining@7.24.1(@babel/core@7.24.3):
    +  /@babel/plugin-transform-optional-chaining@7.24.1(@babel/core@7.24.4):
         resolution: {integrity: sha512-n03wmDt+987qXwAgcBlnUUivrZBPZ8z1plL0YvgQalLm+ZE5BMhGm94jhxXtA1wzv1Cu2aaOv1BM9vbVttrzSg==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
         dependencies:
    -      '@babel/core': 7.24.3
    +      '@babel/core': 7.24.4
           '@babel/helper-plugin-utils': 7.24.0
           '@babel/helper-skip-transparent-expression-wrappers': 7.22.5
    -      '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.24.3)
    +      '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.24.4)
         dev: true
     
    -  /@babel/plugin-transform-parameters@7.24.1(@babel/core@7.24.3):
    +  /@babel/plugin-transform-parameters@7.24.1(@babel/core@7.24.4):
         resolution: {integrity: sha512-8Jl6V24g+Uw5OGPeWNKrKqXPDw2YDjLc53ojwfMcKwlEoETKU9rU0mHUtcg9JntWI/QYzGAXNWEcVHZ+fR+XXg==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
         dependencies:
    -      '@babel/core': 7.24.3
    +      '@babel/core': 7.24.4
           '@babel/helper-plugin-utils': 7.24.0
         dev: true
     
    -  /@babel/plugin-transform-private-methods@7.24.1(@babel/core@7.24.3):
    +  /@babel/plugin-transform-private-methods@7.24.1(@babel/core@7.24.4):
         resolution: {integrity: sha512-tGvisebwBO5em4PaYNqt4fkw56K2VALsAbAakY0FjTYqJp7gfdrgr7YX76Or8/cpik0W6+tj3rZ0uHU9Oil4tw==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
         dependencies:
    -      '@babel/core': 7.24.3
    -      '@babel/helper-create-class-features-plugin': 7.24.1(@babel/core@7.24.3)
    +      '@babel/core': 7.24.4
    +      '@babel/helper-create-class-features-plugin': 7.24.4(@babel/core@7.24.4)
           '@babel/helper-plugin-utils': 7.24.0
         dev: true
     
    -  /@babel/plugin-transform-private-property-in-object@7.24.1(@babel/core@7.24.3):
    +  /@babel/plugin-transform-private-property-in-object@7.24.1(@babel/core@7.24.4):
         resolution: {integrity: sha512-pTHxDVa0BpUbvAgX3Gat+7cSciXqUcY9j2VZKTbSB6+VQGpNgNO9ailxTGHSXlqOnX1Hcx1Enme2+yv7VqP9bg==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
         dependencies:
    -      '@babel/core': 7.24.3
    +      '@babel/core': 7.24.4
           '@babel/helper-annotate-as-pure': 7.22.5
    -      '@babel/helper-create-class-features-plugin': 7.24.1(@babel/core@7.24.3)
    +      '@babel/helper-create-class-features-plugin': 7.24.4(@babel/core@7.24.4)
           '@babel/helper-plugin-utils': 7.24.0
    -      '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.24.3)
    +      '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.24.4)
         dev: true
     
    -  /@babel/plugin-transform-property-literals@7.24.1(@babel/core@7.24.3):
    +  /@babel/plugin-transform-property-literals@7.24.1(@babel/core@7.24.4):
         resolution: {integrity: sha512-LetvD7CrHmEx0G442gOomRr66d7q8HzzGGr4PMHGr+5YIm6++Yke+jxj246rpvsbyhJwCLxcTn6zW1P1BSenqA==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
         dependencies:
    -      '@babel/core': 7.24.3
    +      '@babel/core': 7.24.4
           '@babel/helper-plugin-utils': 7.24.0
         dev: true
     
    -  /@babel/plugin-transform-regenerator@7.24.1(@babel/core@7.24.3):
    +  /@babel/plugin-transform-regenerator@7.24.1(@babel/core@7.24.4):
         resolution: {integrity: sha512-sJwZBCzIBE4t+5Q4IGLaaun5ExVMRY0lYwos/jNecjMrVCygCdph3IKv0tkP5Fc87e/1+bebAmEAGBfnRD+cnw==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
         dependencies:
    -      '@babel/core': 7.24.3
    +      '@babel/core': 7.24.4
           '@babel/helper-plugin-utils': 7.24.0
           regenerator-transform: 0.15.2
         dev: true
     
    -  /@babel/plugin-transform-reserved-words@7.24.1(@babel/core@7.24.3):
    +  /@babel/plugin-transform-reserved-words@7.24.1(@babel/core@7.24.4):
         resolution: {integrity: sha512-JAclqStUfIwKN15HrsQADFgeZt+wexNQ0uLhuqvqAUFoqPMjEcFCYZBhq0LUdz6dZK/mD+rErhW71fbx8RYElg==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
         dependencies:
    -      '@babel/core': 7.24.3
    +      '@babel/core': 7.24.4
           '@babel/helper-plugin-utils': 7.24.0
         dev: true
     
    -  /@babel/plugin-transform-shorthand-properties@7.24.1(@babel/core@7.24.3):
    +  /@babel/plugin-transform-shorthand-properties@7.24.1(@babel/core@7.24.4):
         resolution: {integrity: sha512-LyjVB1nsJ6gTTUKRjRWx9C1s9hE7dLfP/knKdrfeH9UPtAGjYGgxIbFfx7xyLIEWs7Xe1Gnf8EWiUqfjLhInZA==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
         dependencies:
    -      '@babel/core': 7.24.3
    +      '@babel/core': 7.24.4
           '@babel/helper-plugin-utils': 7.24.0
         dev: true
     
    -  /@babel/plugin-transform-spread@7.24.1(@babel/core@7.24.3):
    +  /@babel/plugin-transform-spread@7.24.1(@babel/core@7.24.4):
         resolution: {integrity: sha512-KjmcIM+fxgY+KxPVbjelJC6hrH1CgtPmTvdXAfn3/a9CnWGSTY7nH4zm5+cjmWJybdcPSsD0++QssDsjcpe47g==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
         dependencies:
    -      '@babel/core': 7.24.3
    +      '@babel/core': 7.24.4
           '@babel/helper-plugin-utils': 7.24.0
           '@babel/helper-skip-transparent-expression-wrappers': 7.22.5
         dev: true
     
    -  /@babel/plugin-transform-sticky-regex@7.24.1(@babel/core@7.24.3):
    +  /@babel/plugin-transform-sticky-regex@7.24.1(@babel/core@7.24.4):
         resolution: {integrity: sha512-9v0f1bRXgPVcPrngOQvLXeGNNVLc8UjMVfebo9ka0WF3/7+aVUHmaJVT3sa0XCzEFioPfPHZiOcYG9qOsH63cw==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
         dependencies:
    -      '@babel/core': 7.24.3
    +      '@babel/core': 7.24.4
           '@babel/helper-plugin-utils': 7.24.0
         dev: true
     
    -  /@babel/plugin-transform-template-literals@7.24.1(@babel/core@7.24.3):
    +  /@babel/plugin-transform-template-literals@7.24.1(@babel/core@7.24.4):
         resolution: {integrity: sha512-WRkhROsNzriarqECASCNu/nojeXCDTE/F2HmRgOzi7NGvyfYGq1NEjKBK3ckLfRgGc6/lPAqP0vDOSw3YtG34g==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
         dependencies:
    -      '@babel/core': 7.24.3
    +      '@babel/core': 7.24.4
           '@babel/helper-plugin-utils': 7.24.0
         dev: true
     
    -  /@babel/plugin-transform-typeof-symbol@7.24.1(@babel/core@7.24.3):
    +  /@babel/plugin-transform-typeof-symbol@7.24.1(@babel/core@7.24.4):
         resolution: {integrity: sha512-CBfU4l/A+KruSUoW+vTQthwcAdwuqbpRNB8HQKlZABwHRhsdHZ9fezp4Sn18PeAlYxTNiLMlx4xUBV3AWfg1BA==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
         dependencies:
    -      '@babel/core': 7.24.3
    +      '@babel/core': 7.24.4
           '@babel/helper-plugin-utils': 7.24.0
         dev: true
     
    @@ -2424,146 +2567,147 @@ packages:
           '@babel/plugin-syntax-typescript': 7.24.1(@babel/core@7.24.3)
         dev: true
     
    -  /@babel/plugin-transform-unicode-escapes@7.24.1(@babel/core@7.24.3):
    +  /@babel/plugin-transform-unicode-escapes@7.24.1(@babel/core@7.24.4):
         resolution: {integrity: sha512-RlkVIcWT4TLI96zM660S877E7beKlQw7Ig+wqkKBiWfj0zH5Q4h50q6er4wzZKRNSYpfo6ILJ+hrJAGSX2qcNw==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
         dependencies:
    -      '@babel/core': 7.24.3
    +      '@babel/core': 7.24.4
           '@babel/helper-plugin-utils': 7.24.0
         dev: true
     
    -  /@babel/plugin-transform-unicode-property-regex@7.24.1(@babel/core@7.24.3):
    +  /@babel/plugin-transform-unicode-property-regex@7.24.1(@babel/core@7.24.4):
         resolution: {integrity: sha512-Ss4VvlfYV5huWApFsF8/Sq0oXnGO+jB+rijFEFugTd3cwSObUSnUi88djgR5528Csl0uKlrI331kRqe56Ov2Ng==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
         dependencies:
    -      '@babel/core': 7.24.3
    -      '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.24.3)
    +      '@babel/core': 7.24.4
    +      '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.24.4)
           '@babel/helper-plugin-utils': 7.24.0
         dev: true
     
    -  /@babel/plugin-transform-unicode-regex@7.24.1(@babel/core@7.24.3):
    +  /@babel/plugin-transform-unicode-regex@7.24.1(@babel/core@7.24.4):
         resolution: {integrity: sha512-2A/94wgZgxfTsiLaQ2E36XAOdcZmGAaEEgVmxQWwZXWkGhvoHbaqXcKnU8zny4ycpu3vNqg0L/PcCiYtHtA13g==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
         dependencies:
    -      '@babel/core': 7.24.3
    -      '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.24.3)
    +      '@babel/core': 7.24.4
    +      '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.24.4)
           '@babel/helper-plugin-utils': 7.24.0
         dev: true
     
    -  /@babel/plugin-transform-unicode-sets-regex@7.24.1(@babel/core@7.24.3):
    +  /@babel/plugin-transform-unicode-sets-regex@7.24.1(@babel/core@7.24.4):
         resolution: {integrity: sha512-fqj4WuzzS+ukpgerpAoOnMfQXwUHFxXUZUE84oL2Kao2N8uSlvcpnAidKASgsNgzZHBsHWvcm8s9FPWUhAb8fA==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0
         dependencies:
    -      '@babel/core': 7.24.3
    -      '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.24.3)
    +      '@babel/core': 7.24.4
    +      '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.24.4)
           '@babel/helper-plugin-utils': 7.24.0
         dev: true
     
    -  /@babel/preset-env@7.24.3(@babel/core@7.24.3):
    -    resolution: {integrity: sha512-fSk430k5c2ff8536JcPvPWK4tZDwehWLGlBp0wrsBUjZVdeQV6lePbwKWZaZfK2vnh/1kQX1PzAJWsnBmVgGJA==}
    +  /@babel/preset-env@7.24.4(@babel/core@7.24.4):
    +    resolution: {integrity: sha512-7Kl6cSmYkak0FK/FXjSEnLJ1N9T/WA2RkMhu17gZ/dsxKJUuTYNIylahPTzqpLyJN4WhDif8X0XK1R8Wsguo/A==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
         dependencies:
    -      '@babel/compat-data': 7.24.1
    -      '@babel/core': 7.24.3
    +      '@babel/compat-data': 7.24.4
    +      '@babel/core': 7.24.4
           '@babel/helper-compilation-targets': 7.23.6
           '@babel/helper-plugin-utils': 7.24.0
           '@babel/helper-validator-option': 7.23.5
    -      '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression': 7.24.1(@babel/core@7.24.3)
    -      '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.24.1(@babel/core@7.24.3)
    -      '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly': 7.24.1(@babel/core@7.24.3)
    -      '@babel/plugin-proposal-private-property-in-object': 7.21.0-placeholder-for-preset-env.2(@babel/core@7.24.3)
    -      '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.24.3)
    -      '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.24.3)
    -      '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.24.3)
    -      '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.24.3)
    -      '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.24.3)
    -      '@babel/plugin-syntax-import-assertions': 7.24.1(@babel/core@7.24.3)
    -      '@babel/plugin-syntax-import-attributes': 7.24.1(@babel/core@7.24.3)
    -      '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.24.3)
    -      '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.24.3)
    -      '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.24.3)
    -      '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.24.3)
    -      '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.24.3)
    -      '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.24.3)
    -      '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.24.3)
    -      '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.24.3)
    -      '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.24.3)
    -      '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.24.3)
    -      '@babel/plugin-syntax-unicode-sets-regex': 7.18.6(@babel/core@7.24.3)
    -      '@babel/plugin-transform-arrow-functions': 7.24.1(@babel/core@7.24.3)
    -      '@babel/plugin-transform-async-generator-functions': 7.24.3(@babel/core@7.24.3)
    -      '@babel/plugin-transform-async-to-generator': 7.24.1(@babel/core@7.24.3)
    -      '@babel/plugin-transform-block-scoped-functions': 7.24.1(@babel/core@7.24.3)
    -      '@babel/plugin-transform-block-scoping': 7.24.1(@babel/core@7.24.3)
    -      '@babel/plugin-transform-class-properties': 7.24.1(@babel/core@7.24.3)
    -      '@babel/plugin-transform-class-static-block': 7.24.1(@babel/core@7.24.3)
    -      '@babel/plugin-transform-classes': 7.24.1(@babel/core@7.24.3)
    -      '@babel/plugin-transform-computed-properties': 7.24.1(@babel/core@7.24.3)
    -      '@babel/plugin-transform-destructuring': 7.24.1(@babel/core@7.24.3)
    -      '@babel/plugin-transform-dotall-regex': 7.24.1(@babel/core@7.24.3)
    -      '@babel/plugin-transform-duplicate-keys': 7.24.1(@babel/core@7.24.3)
    -      '@babel/plugin-transform-dynamic-import': 7.24.1(@babel/core@7.24.3)
    -      '@babel/plugin-transform-exponentiation-operator': 7.24.1(@babel/core@7.24.3)
    -      '@babel/plugin-transform-export-namespace-from': 7.24.1(@babel/core@7.24.3)
    -      '@babel/plugin-transform-for-of': 7.24.1(@babel/core@7.24.3)
    -      '@babel/plugin-transform-function-name': 7.24.1(@babel/core@7.24.3)
    -      '@babel/plugin-transform-json-strings': 7.24.1(@babel/core@7.24.3)
    -      '@babel/plugin-transform-literals': 7.24.1(@babel/core@7.24.3)
    -      '@babel/plugin-transform-logical-assignment-operators': 7.24.1(@babel/core@7.24.3)
    -      '@babel/plugin-transform-member-expression-literals': 7.24.1(@babel/core@7.24.3)
    -      '@babel/plugin-transform-modules-amd': 7.24.1(@babel/core@7.24.3)
    -      '@babel/plugin-transform-modules-commonjs': 7.24.1(@babel/core@7.24.3)
    -      '@babel/plugin-transform-modules-systemjs': 7.24.1(@babel/core@7.24.3)
    -      '@babel/plugin-transform-modules-umd': 7.24.1(@babel/core@7.24.3)
    -      '@babel/plugin-transform-named-capturing-groups-regex': 7.22.5(@babel/core@7.24.3)
    -      '@babel/plugin-transform-new-target': 7.24.1(@babel/core@7.24.3)
    -      '@babel/plugin-transform-nullish-coalescing-operator': 7.24.1(@babel/core@7.24.3)
    -      '@babel/plugin-transform-numeric-separator': 7.24.1(@babel/core@7.24.3)
    -      '@babel/plugin-transform-object-rest-spread': 7.24.1(@babel/core@7.24.3)
    -      '@babel/plugin-transform-object-super': 7.24.1(@babel/core@7.24.3)
    -      '@babel/plugin-transform-optional-catch-binding': 7.24.1(@babel/core@7.24.3)
    -      '@babel/plugin-transform-optional-chaining': 7.24.1(@babel/core@7.24.3)
    -      '@babel/plugin-transform-parameters': 7.24.1(@babel/core@7.24.3)
    -      '@babel/plugin-transform-private-methods': 7.24.1(@babel/core@7.24.3)
    -      '@babel/plugin-transform-private-property-in-object': 7.24.1(@babel/core@7.24.3)
    -      '@babel/plugin-transform-property-literals': 7.24.1(@babel/core@7.24.3)
    -      '@babel/plugin-transform-regenerator': 7.24.1(@babel/core@7.24.3)
    -      '@babel/plugin-transform-reserved-words': 7.24.1(@babel/core@7.24.3)
    -      '@babel/plugin-transform-shorthand-properties': 7.24.1(@babel/core@7.24.3)
    -      '@babel/plugin-transform-spread': 7.24.1(@babel/core@7.24.3)
    -      '@babel/plugin-transform-sticky-regex': 7.24.1(@babel/core@7.24.3)
    -      '@babel/plugin-transform-template-literals': 7.24.1(@babel/core@7.24.3)
    -      '@babel/plugin-transform-typeof-symbol': 7.24.1(@babel/core@7.24.3)
    -      '@babel/plugin-transform-unicode-escapes': 7.24.1(@babel/core@7.24.3)
    -      '@babel/plugin-transform-unicode-property-regex': 7.24.1(@babel/core@7.24.3)
    -      '@babel/plugin-transform-unicode-regex': 7.24.1(@babel/core@7.24.3)
    -      '@babel/plugin-transform-unicode-sets-regex': 7.24.1(@babel/core@7.24.3)
    -      '@babel/preset-modules': 0.1.6-no-external-plugins(@babel/core@7.24.3)
    -      babel-plugin-polyfill-corejs2: 0.4.10(@babel/core@7.24.3)
    -      babel-plugin-polyfill-corejs3: 0.10.4(@babel/core@7.24.3)
    -      babel-plugin-polyfill-regenerator: 0.6.1(@babel/core@7.24.3)
    +      '@babel/plugin-bugfix-firefox-class-in-computed-class-key': 7.24.4(@babel/core@7.24.4)
    +      '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression': 7.24.1(@babel/core@7.24.4)
    +      '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.24.1(@babel/core@7.24.4)
    +      '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly': 7.24.1(@babel/core@7.24.4)
    +      '@babel/plugin-proposal-private-property-in-object': 7.21.0-placeholder-for-preset-env.2(@babel/core@7.24.4)
    +      '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.24.4)
    +      '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.24.4)
    +      '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.24.4)
    +      '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.24.4)
    +      '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.24.4)
    +      '@babel/plugin-syntax-import-assertions': 7.24.1(@babel/core@7.24.4)
    +      '@babel/plugin-syntax-import-attributes': 7.24.1(@babel/core@7.24.4)
    +      '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.24.4)
    +      '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.24.4)
    +      '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.24.4)
    +      '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.24.4)
    +      '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.24.4)
    +      '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.24.4)
    +      '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.24.4)
    +      '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.24.4)
    +      '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.24.4)
    +      '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.24.4)
    +      '@babel/plugin-syntax-unicode-sets-regex': 7.18.6(@babel/core@7.24.4)
    +      '@babel/plugin-transform-arrow-functions': 7.24.1(@babel/core@7.24.4)
    +      '@babel/plugin-transform-async-generator-functions': 7.24.3(@babel/core@7.24.4)
    +      '@babel/plugin-transform-async-to-generator': 7.24.1(@babel/core@7.24.4)
    +      '@babel/plugin-transform-block-scoped-functions': 7.24.1(@babel/core@7.24.4)
    +      '@babel/plugin-transform-block-scoping': 7.24.4(@babel/core@7.24.4)
    +      '@babel/plugin-transform-class-properties': 7.24.1(@babel/core@7.24.4)
    +      '@babel/plugin-transform-class-static-block': 7.24.4(@babel/core@7.24.4)
    +      '@babel/plugin-transform-classes': 7.24.1(@babel/core@7.24.4)
    +      '@babel/plugin-transform-computed-properties': 7.24.1(@babel/core@7.24.4)
    +      '@babel/plugin-transform-destructuring': 7.24.1(@babel/core@7.24.4)
    +      '@babel/plugin-transform-dotall-regex': 7.24.1(@babel/core@7.24.4)
    +      '@babel/plugin-transform-duplicate-keys': 7.24.1(@babel/core@7.24.4)
    +      '@babel/plugin-transform-dynamic-import': 7.24.1(@babel/core@7.24.4)
    +      '@babel/plugin-transform-exponentiation-operator': 7.24.1(@babel/core@7.24.4)
    +      '@babel/plugin-transform-export-namespace-from': 7.24.1(@babel/core@7.24.4)
    +      '@babel/plugin-transform-for-of': 7.24.1(@babel/core@7.24.4)
    +      '@babel/plugin-transform-function-name': 7.24.1(@babel/core@7.24.4)
    +      '@babel/plugin-transform-json-strings': 7.24.1(@babel/core@7.24.4)
    +      '@babel/plugin-transform-literals': 7.24.1(@babel/core@7.24.4)
    +      '@babel/plugin-transform-logical-assignment-operators': 7.24.1(@babel/core@7.24.4)
    +      '@babel/plugin-transform-member-expression-literals': 7.24.1(@babel/core@7.24.4)
    +      '@babel/plugin-transform-modules-amd': 7.24.1(@babel/core@7.24.4)
    +      '@babel/plugin-transform-modules-commonjs': 7.24.1(@babel/core@7.24.4)
    +      '@babel/plugin-transform-modules-systemjs': 7.24.1(@babel/core@7.24.4)
    +      '@babel/plugin-transform-modules-umd': 7.24.1(@babel/core@7.24.4)
    +      '@babel/plugin-transform-named-capturing-groups-regex': 7.22.5(@babel/core@7.24.4)
    +      '@babel/plugin-transform-new-target': 7.24.1(@babel/core@7.24.4)
    +      '@babel/plugin-transform-nullish-coalescing-operator': 7.24.1(@babel/core@7.24.4)
    +      '@babel/plugin-transform-numeric-separator': 7.24.1(@babel/core@7.24.4)
    +      '@babel/plugin-transform-object-rest-spread': 7.24.1(@babel/core@7.24.4)
    +      '@babel/plugin-transform-object-super': 7.24.1(@babel/core@7.24.4)
    +      '@babel/plugin-transform-optional-catch-binding': 7.24.1(@babel/core@7.24.4)
    +      '@babel/plugin-transform-optional-chaining': 7.24.1(@babel/core@7.24.4)
    +      '@babel/plugin-transform-parameters': 7.24.1(@babel/core@7.24.4)
    +      '@babel/plugin-transform-private-methods': 7.24.1(@babel/core@7.24.4)
    +      '@babel/plugin-transform-private-property-in-object': 7.24.1(@babel/core@7.24.4)
    +      '@babel/plugin-transform-property-literals': 7.24.1(@babel/core@7.24.4)
    +      '@babel/plugin-transform-regenerator': 7.24.1(@babel/core@7.24.4)
    +      '@babel/plugin-transform-reserved-words': 7.24.1(@babel/core@7.24.4)
    +      '@babel/plugin-transform-shorthand-properties': 7.24.1(@babel/core@7.24.4)
    +      '@babel/plugin-transform-spread': 7.24.1(@babel/core@7.24.4)
    +      '@babel/plugin-transform-sticky-regex': 7.24.1(@babel/core@7.24.4)
    +      '@babel/plugin-transform-template-literals': 7.24.1(@babel/core@7.24.4)
    +      '@babel/plugin-transform-typeof-symbol': 7.24.1(@babel/core@7.24.4)
    +      '@babel/plugin-transform-unicode-escapes': 7.24.1(@babel/core@7.24.4)
    +      '@babel/plugin-transform-unicode-property-regex': 7.24.1(@babel/core@7.24.4)
    +      '@babel/plugin-transform-unicode-regex': 7.24.1(@babel/core@7.24.4)
    +      '@babel/plugin-transform-unicode-sets-regex': 7.24.1(@babel/core@7.24.4)
    +      '@babel/preset-modules': 0.1.6-no-external-plugins(@babel/core@7.24.4)
    +      babel-plugin-polyfill-corejs2: 0.4.10(@babel/core@7.24.4)
    +      babel-plugin-polyfill-corejs3: 0.10.4(@babel/core@7.24.4)
    +      babel-plugin-polyfill-regenerator: 0.6.1(@babel/core@7.24.4)
           core-js-compat: 3.36.1
           semver: 6.3.1
         transitivePeerDependencies:
           - supports-color
         dev: true
     
    -  /@babel/preset-modules@0.1.6-no-external-plugins(@babel/core@7.24.3):
    +  /@babel/preset-modules@0.1.6-no-external-plugins(@babel/core@7.24.4):
         resolution: {integrity: sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA==}
         peerDependencies:
           '@babel/core': ^7.0.0-0 || ^8.0.0-0 <8.0.0
         dependencies:
    -      '@babel/core': 7.24.3
    +      '@babel/core': 7.24.4
           '@babel/helper-plugin-utils': 7.24.0
           '@babel/types': 7.24.0
           esutils: 2.0.3
    @@ -2594,8 +2738,8 @@ packages:
           regenerator-runtime: 0.14.1
         dev: true
     
    -  /@babel/runtime@7.24.1:
    -    resolution: {integrity: sha512-+BIznRzyqBf+2wCTxcKE3wDjfGeCoVE61KSHGpkzqrLi8qxqFwBeUFyId2cxkTmm55fzDGnm0+yCxaxygrLUnQ==}
    +  /@babel/runtime@7.24.4:
    +    resolution: {integrity: sha512-dkxf7+hn8mFBwKjs9bvBlArzLVxVbS8usaPUDd5p2a9JCL9tB8OaOVN1isD4+Xyk4ns89/xeOmbQvgdK7IIVdA==}
         engines: {node: '>=6.9.0'}
         dependencies:
           regenerator-runtime: 0.14.1
    @@ -3041,8 +3185,8 @@ packages:
         engines: {node: '>=18'}
         dev: true
     
    -  /@cypress/code-coverage@3.12.33(@babel/core@7.24.3)(@babel/preset-env@7.24.3)(babel-loader@9.1.3)(cypress@13.7.2)(webpack@5.91.0):
    -    resolution: {integrity: sha512-ir8g+HLjKYF9nUt9q8Mpnvv/8C8+lYIZfR4/CRI6ZZgi8bJ2pvH2h6MorMao6X3mSQNFwlGvOJioxkT35UK4mA==}
    +  /@cypress/code-coverage@3.12.34(@babel/core@7.24.4)(@babel/preset-env@7.24.4)(babel-loader@9.1.3)(cypress@13.7.3)(webpack@5.91.0):
    +    resolution: {integrity: sha512-5z2I9SfjWYViX6+kj92Ha078ZwJEZ30R/j6cQJiZgY6fYMJVD3o3mffyXPOytB85PIfBURtWdlyWsSLBaj41Mw==}
         peerDependencies:
           '@babel/core': ^7.0.1
           '@babel/preset-env': ^7.0.0
    @@ -3050,12 +3194,12 @@ packages:
           cypress: '*'
           webpack: ^4 || ^5
         dependencies:
    -      '@babel/core': 7.24.3
    -      '@babel/preset-env': 7.24.3(@babel/core@7.24.3)
    -      '@cypress/webpack-preprocessor': 6.0.1(@babel/core@7.24.3)(@babel/preset-env@7.24.3)(babel-loader@9.1.3)(webpack@5.91.0)
    -      babel-loader: 9.1.3(@babel/core@7.24.3)(webpack@5.91.0)
    +      '@babel/core': 7.24.4
    +      '@babel/preset-env': 7.24.4(@babel/core@7.24.4)
    +      '@cypress/webpack-preprocessor': 6.0.1(@babel/core@7.24.4)(@babel/preset-env@7.24.4)(babel-loader@9.1.3)(webpack@5.91.0)
    +      babel-loader: 9.1.3(@babel/core@7.24.4)(webpack@5.91.0)
           chalk: 4.1.2
    -      cypress: 13.7.2
    +      cypress: 13.7.3
           dayjs: 1.11.10
           debug: 4.3.4(supports-color@8.1.1)
           execa: 4.1.0
    @@ -3092,7 +3236,7 @@ packages:
           uuid: 8.3.2
         dev: true
     
    -  /@cypress/webpack-preprocessor@6.0.1(@babel/core@7.24.3)(@babel/preset-env@7.24.3)(babel-loader@9.1.3)(webpack@5.91.0):
    +  /@cypress/webpack-preprocessor@6.0.1(@babel/core@7.24.4)(@babel/preset-env@7.24.4)(babel-loader@9.1.3)(webpack@5.91.0):
         resolution: {integrity: sha512-WVNeFVSnFKxE3WZNRIriduTgqJRpevaiJIPlfqYTTzfXRD7X1Pv4woDE+G4caPV9bJqVKmVFiwzrXMRNeJxpxA==}
         peerDependencies:
           '@babel/core': ^7.0.1
    @@ -3100,9 +3244,9 @@ packages:
           babel-loader: ^8.3 || ^9
           webpack: ^4 || ^5
         dependencies:
    -      '@babel/core': 7.24.3
    -      '@babel/preset-env': 7.24.3(@babel/core@7.24.3)
    -      babel-loader: 9.1.3(@babel/core@7.24.3)(webpack@5.91.0)
    +      '@babel/core': 7.24.4
    +      '@babel/preset-env': 7.24.4(@babel/core@7.24.4)
    +      babel-loader: 9.1.3(@babel/core@7.24.4)(webpack@5.91.0)
           bluebird: 3.7.1
           debug: 4.3.4(supports-color@8.1.1)
           lodash: 4.17.21
    @@ -3129,10 +3273,10 @@ packages:
         resolution: {integrity: sha512-+sbxb71sWre+PwDK7X2T8+bhS6clcVMLwBPznX45Qu6opJcgRjAp7gYSDzVFp187J+feSj5dNBN1mJoi6ckkUQ==}
         dev: true
     
    -  /@docsearch/js@3.6.0(@algolia/client-search@4.23.2)(search-insights@2.13.0):
    +  /@docsearch/js@3.6.0(@algolia/client-search@4.23.3)(search-insights@2.13.0):
         resolution: {integrity: sha512-QujhqINEElrkIfKwyyyTfbsfMAYCkylInLYMRqHy7PHc8xTBQCow73tlo/Kc7oIwBrCLf0P3YhjlOeV4v8hevQ==}
         dependencies:
    -      '@docsearch/react': 3.6.0(@algolia/client-search@4.23.2)(search-insights@2.13.0)
    +      '@docsearch/react': 3.6.0(@algolia/client-search@4.23.3)(search-insights@2.13.0)
           preact: 10.20.1
         transitivePeerDependencies:
           - '@algolia/client-search'
    @@ -3142,7 +3286,7 @@ packages:
           - search-insights
         dev: true
     
    -  /@docsearch/react@3.6.0(@algolia/client-search@4.23.2)(search-insights@2.13.0):
    +  /@docsearch/react@3.6.0(@algolia/client-search@4.23.3)(search-insights@2.13.0):
         resolution: {integrity: sha512-HUFut4ztcVNmqy9gp/wxNbC7pTOHhgVVkHVGCACTuLhUKUhKAF9KYHJtMiLUJxEqiFLQiuri1fWF8zqwM/cu1w==}
         peerDependencies:
           '@types/react': '>= 16.8.0 < 19.0.0'
    @@ -3159,8 +3303,8 @@ packages:
           search-insights:
             optional: true
         dependencies:
    -      '@algolia/autocomplete-core': 1.9.3(@algolia/client-search@4.23.2)(algoliasearch@4.23.2)(search-insights@2.13.0)
    -      '@algolia/autocomplete-preset-algolia': 1.9.3(@algolia/client-search@4.23.2)(algoliasearch@4.23.2)
    +      '@algolia/autocomplete-core': 1.9.3(@algolia/client-search@4.23.3)(algoliasearch@4.23.2)(search-insights@2.13.0)
    +      '@algolia/autocomplete-preset-algolia': 1.9.3(@algolia/client-search@4.23.3)(algoliasearch@4.23.2)
           '@docsearch/css': 3.6.0
           algoliasearch: 4.23.2
           search-insights: 2.13.0
    @@ -3665,7 +3809,7 @@ packages:
             optional: true
         dependencies:
           '@floating-ui/dom': 1.6.3
    -      vue: 3.4.21(typescript@5.4.3)
    +      vue: 3.4.21(typescript@5.4.5)
           vue-demi: 0.13.11(vue@3.4.21)
         dev: false
     
    @@ -3687,7 +3831,7 @@ packages:
           '@floating-ui/core': 1.6.0
           '@floating-ui/dom': 1.6.3
           '@floating-ui/vue': 0.2.1(vue@3.4.21)
    -      vue: 3.4.21(typescript@5.4.3)
    +      vue: 3.4.21(typescript@5.4.5)
         transitivePeerDependencies:
           - '@vue/composition-api'
         dev: false
    @@ -3708,7 +3852,7 @@ packages:
           vue: ^3.2.0
         dependencies:
           '@tanstack/vue-virtual': 3.2.0(vue@3.4.21)
    -      vue: 3.4.21(typescript@5.4.3)
    +      vue: 3.4.21(typescript@5.4.5)
         dev: false
     
       /@humanwhocodes/config-array@0.11.14:
    @@ -4082,15 +4226,11 @@ packages:
         engines: {node: ^12.20.0 || ^14.18.0 || >=16.0.0}
         dev: true
     
    -  /@polka/url@0.5.0:
    -    resolution: {integrity: sha512-oZLYFEAzUKyi3SKnXvj32ZCEGH6RDnao7COuCVhDydMS9NrCSVXhM79VaKyP5+Zc33m0QXEd2DN3UkU7OsHcfw==}
    -    dev: true
    -
       /@polka/url@1.0.0-next.25:
         resolution: {integrity: sha512-j7P6Rgr3mmtdkeDGTe0E/aYyWEWVtc5yFXtHCRHs28/jptDEWfaVOc5T7cblqy1XKPPfCxJc/8DwQ5YgLOZOVQ==}
         dev: true
     
    -  /@rollup/plugin-babel@5.3.1(@babel/core@7.24.3)(rollup@2.79.1):
    +  /@rollup/plugin-babel@5.3.1(@babel/core@7.24.4)(rollup@2.79.1):
         resolution: {integrity: sha512-WFfdLWU/xVWKeRQnKmIAQULUI7Il0gZnBIH/ZFO069wYIfPu+8zrfp/KMW0atmELoRDq8FbiP3VCss9MhCut7Q==}
         engines: {node: '>= 10.0.0'}
         peerDependencies:
    @@ -4101,7 +4241,7 @@ packages:
           '@types/babel__core':
             optional: true
         dependencies:
    -      '@babel/core': 7.24.3
    +      '@babel/core': 7.24.4
           '@babel/helper-module-imports': 7.24.3
           '@rollup/pluginutils': 3.1.0(rollup@2.79.1)
           rollup: 2.79.1
    @@ -4132,7 +4272,7 @@ packages:
           rollup: 2.79.1
         dev: true
     
    -  /@rollup/plugin-typescript@11.1.6(typescript@5.4.3):
    +  /@rollup/plugin-typescript@11.1.6(typescript@5.4.5):
         resolution: {integrity: sha512-R92yOmIACgYdJ7dJ97p4K69I8gg6IEHt8M7dUBxN3W6nrO8uUxX5ixl0yU/N3aZTi8WhPuICvOHXQvF6FaykAA==}
         engines: {node: '>=14.0.0'}
         peerDependencies:
    @@ -4147,7 +4287,7 @@ packages:
         dependencies:
           '@rollup/pluginutils': 5.1.0(rollup@2.79.1)
           resolve: 1.22.8
    -      typescript: 5.4.3
    +      typescript: 5.4.5
         dev: true
     
       /@rollup/pluginutils@3.1.0(rollup@2.79.1):
    @@ -4177,120 +4317,120 @@ packages:
           rollup: 2.79.1
         dev: true
     
    -  /@rollup/rollup-android-arm-eabi@4.13.2:
    -    resolution: {integrity: sha512-3XFIDKWMFZrMnao1mJhnOT1h2g0169Os848NhhmGweEcfJ4rCi+3yMCOLG4zA61rbJdkcrM/DjVZm9Hg5p5w7g==}
    +  /@rollup/rollup-android-arm-eabi@4.14.2:
    +    resolution: {integrity: sha512-ahxSgCkAEk+P/AVO0vYr7DxOD3CwAQrT0Go9BJyGQ9Ef0QxVOfjDZMiF4Y2s3mLyPrjonchIMH/tbWHucJMykQ==}
         cpu: [arm]
         os: [android]
         requiresBuild: true
         dev: true
         optional: true
     
    -  /@rollup/rollup-android-arm64@4.13.2:
    -    resolution: {integrity: sha512-GdxxXbAuM7Y/YQM9/TwwP+L0omeE/lJAR1J+olu36c3LqqZEBdsIWeQ91KBe6nxwOnb06Xh7JS2U5ooWU5/LgQ==}
    +  /@rollup/rollup-android-arm64@4.14.2:
    +    resolution: {integrity: sha512-lAarIdxZWbFSHFSDao9+I/F5jDaKyCqAPMq5HqnfpBw8dKDiCaaqM0lq5h1pQTLeIqueeay4PieGR5jGZMWprw==}
         cpu: [arm64]
         os: [android]
         requiresBuild: true
         dev: true
         optional: true
     
    -  /@rollup/rollup-darwin-arm64@4.13.2:
    -    resolution: {integrity: sha512-mCMlpzlBgOTdaFs83I4XRr8wNPveJiJX1RLfv4hggyIVhfB5mJfN4P8Z6yKh+oE4Luz+qq1P3kVdWrCKcMYrrA==}
    +  /@rollup/rollup-darwin-arm64@4.14.2:
    +    resolution: {integrity: sha512-SWsr8zEUk82KSqquIMgZEg2GE5mCSfr9sE/thDROkX6pb3QQWPp8Vw8zOq2GyxZ2t0XoSIUlvHDkrf5Gmf7x3Q==}
         cpu: [arm64]
         os: [darwin]
         requiresBuild: true
         dev: true
         optional: true
     
    -  /@rollup/rollup-darwin-x64@4.13.2:
    -    resolution: {integrity: sha512-yUoEvnH0FBef/NbB1u6d3HNGyruAKnN74LrPAfDQL3O32e3k3OSfLrPgSJmgb3PJrBZWfPyt6m4ZhAFa2nZp2A==}
    +  /@rollup/rollup-darwin-x64@4.14.2:
    +    resolution: {integrity: sha512-o/HAIrQq0jIxJAhgtIvV5FWviYK4WB0WwV91SLUnsliw1lSAoLsmgEEgRWzDguAFeUEUUoIWXiJrPqU7vGiVkA==}
         cpu: [x64]
         os: [darwin]
         requiresBuild: true
         dev: true
         optional: true
     
    -  /@rollup/rollup-linux-arm-gnueabihf@4.13.2:
    -    resolution: {integrity: sha512-GYbLs5ErswU/Xs7aGXqzc3RrdEjKdmoCrgzhJWyFL0r5fL3qd1NPcDKDowDnmcoSiGJeU68/Vy+OMUluRxPiLQ==}
    +  /@rollup/rollup-linux-arm-gnueabihf@4.14.2:
    +    resolution: {integrity: sha512-nwlJ65UY9eGq91cBi6VyDfArUJSKOYt5dJQBq8xyLhvS23qO+4Nr/RreibFHjP6t+5ap2ohZrUJcHv5zk5ju/g==}
         cpu: [arm]
         os: [linux]
         requiresBuild: true
         dev: true
         optional: true
     
    -  /@rollup/rollup-linux-arm64-gnu@4.13.2:
    -    resolution: {integrity: sha512-L1+D8/wqGnKQIlh4Zre9i4R4b4noxzH5DDciyahX4oOz62CphY7WDWqJoQ66zNR4oScLNOqQJfNSIAe/6TPUmQ==}
    +  /@rollup/rollup-linux-arm64-gnu@4.14.2:
    +    resolution: {integrity: sha512-Pg5TxxO2IVlMj79+c/9G0LREC9SY3HM+pfAwX7zj5/cAuwrbfj2Wv9JbMHIdPCfQpYsI4g9mE+2Bw/3aeSs2rQ==}
         cpu: [arm64]
         os: [linux]
         requiresBuild: true
         dev: true
         optional: true
     
    -  /@rollup/rollup-linux-arm64-musl@4.13.2:
    -    resolution: {integrity: sha512-tK5eoKFkXdz6vjfkSTCupUzCo40xueTOiOO6PeEIadlNBkadH1wNOH8ILCPIl8by/Gmb5AGAeQOFeLev7iZDOA==}
    +  /@rollup/rollup-linux-arm64-musl@4.14.2:
    +    resolution: {integrity: sha512-cAOTjGNm84gc6tS02D1EXtG7tDRsVSDTBVXOLbj31DkwfZwgTPYZ6aafSU7rD/4R2a34JOwlF9fQayuTSkoclA==}
         cpu: [arm64]
         os: [linux]
         requiresBuild: true
         dev: true
         optional: true
     
    -  /@rollup/rollup-linux-powerpc64le-gnu@4.13.2:
    -    resolution: {integrity: sha512-zvXvAUGGEYi6tYhcDmb9wlOckVbuD+7z3mzInCSTACJ4DQrdSLPNUeDIcAQW39M3q6PDquqLWu7pnO39uSMRzQ==}
    -    cpu: [ppc64le]
    +  /@rollup/rollup-linux-powerpc64le-gnu@4.14.2:
    +    resolution: {integrity: sha512-4RyT6v1kXb7C0fn6zV33rvaX05P0zHoNzaXI/5oFHklfKm602j+N4mn2YvoezQViRLPnxP8M1NaY4s/5kXO5cw==}
    +    cpu: [ppc64]
         os: [linux]
         requiresBuild: true
         dev: true
         optional: true
     
    -  /@rollup/rollup-linux-riscv64-gnu@4.13.2:
    -    resolution: {integrity: sha512-C3GSKvMtdudHCN5HdmAMSRYR2kkhgdOfye4w0xzyii7lebVr4riCgmM6lRiSCnJn2w1Xz7ZZzHKuLrjx5620kw==}
    +  /@rollup/rollup-linux-riscv64-gnu@4.14.2:
    +    resolution: {integrity: sha512-KNUH6jC/vRGAKSorySTyc/yRYlCwN/5pnMjXylfBniwtJx5O7X17KG/0efj8XM3TZU7raYRXJFFReOzNmL1n1w==}
         cpu: [riscv64]
         os: [linux]
         requiresBuild: true
         dev: true
         optional: true
     
    -  /@rollup/rollup-linux-s390x-gnu@4.13.2:
    -    resolution: {integrity: sha512-l4U0KDFwzD36j7HdfJ5/TveEQ1fUTjFFQP5qIt9gBqBgu1G8/kCaq5Ok05kd5TG9F8Lltf3MoYsUMw3rNlJ0Yg==}
    +  /@rollup/rollup-linux-s390x-gnu@4.14.2:
    +    resolution: {integrity: sha512-xPV4y73IBEXToNPa3h5lbgXOi/v0NcvKxU0xejiFw6DtIYQqOTMhZ2DN18/HrrP0PmiL3rGtRG9gz1QE8vFKXQ==}
         cpu: [s390x]
         os: [linux]
         requiresBuild: true
         dev: true
         optional: true
     
    -  /@rollup/rollup-linux-x64-gnu@4.13.2:
    -    resolution: {integrity: sha512-xXMLUAMzrtsvh3cZ448vbXqlUa7ZL8z0MwHp63K2IIID2+DeP5iWIT6g1SN7hg1VxPzqx0xZdiDM9l4n9LRU1A==}
    +  /@rollup/rollup-linux-x64-gnu@4.14.2:
    +    resolution: {integrity: sha512-QBhtr07iFGmF9egrPOWyO5wciwgtzKkYPNLVCFZTmr4TWmY0oY2Dm/bmhHjKRwZoGiaKdNcKhFtUMBKvlchH+Q==}
         cpu: [x64]
         os: [linux]
         requiresBuild: true
         dev: true
         optional: true
     
    -  /@rollup/rollup-linux-x64-musl@4.13.2:
    -    resolution: {integrity: sha512-M/JYAWickafUijWPai4ehrjzVPKRCyDb1SLuO+ZyPfoXgeCEAlgPkNXewFZx0zcnoIe3ay4UjXIMdXQXOZXWqA==}
    +  /@rollup/rollup-linux-x64-musl@4.14.2:
    +    resolution: {integrity: sha512-8zfsQRQGH23O6qazZSFY5jP5gt4cFvRuKTpuBsC1ZnSWxV8ZKQpPqOZIUtdfMOugCcBvFGRa1pDC/tkf19EgBw==}
         cpu: [x64]
         os: [linux]
         requiresBuild: true
         dev: true
         optional: true
     
    -  /@rollup/rollup-win32-arm64-msvc@4.13.2:
    -    resolution: {integrity: sha512-2YWwoVg9KRkIKaXSh0mz3NmfurpmYoBBTAXA9qt7VXk0Xy12PoOP40EFuau+ajgALbbhi4uTj3tSG3tVseCjuA==}
    +  /@rollup/rollup-win32-arm64-msvc@4.14.2:
    +    resolution: {integrity: sha512-H4s8UjgkPnlChl6JF5empNvFHp77Jx+Wfy2EtmYPe9G22XV+PMuCinZVHurNe8ggtwoaohxARJZbaH/3xjB/FA==}
         cpu: [arm64]
         os: [win32]
         requiresBuild: true
         dev: true
         optional: true
     
    -  /@rollup/rollup-win32-ia32-msvc@4.13.2:
    -    resolution: {integrity: sha512-2FSsE9aQ6OWD20E498NYKEQLneShWes0NGMPQwxWOdws35qQXH+FplabOSP5zEe1pVjurSDOGEVCE2agFwSEsw==}
    +  /@rollup/rollup-win32-ia32-msvc@4.14.2:
    +    resolution: {integrity: sha512-djqpAjm/i8erWYF0K6UY4kRO3X5+T4TypIqw60Q8MTqSBaQNpNXDhxdjpZ3ikgb+wn99svA7jxcXpiyg9MUsdw==}
         cpu: [ia32]
         os: [win32]
         requiresBuild: true
         dev: true
         optional: true
     
    -  /@rollup/rollup-win32-x64-msvc@4.13.2:
    -    resolution: {integrity: sha512-7h7J2nokcdPePdKykd8wtc8QqqkqxIrUz7MHj6aNr8waBRU//NLDVnNjQnqQO6fqtjrtCdftpbTuOKAyrAQETQ==}
    +  /@rollup/rollup-win32-x64-msvc@4.14.2:
    +    resolution: {integrity: sha512-teAqzLT0yTYZa8ZP7zhFKEx4cotS8Tkk5XiqNMJhD4CpaWB1BHARE4Qy+RzwnXvSAYv+Q3jAqCVBS+PS+Yee8Q==}
         cpu: [x64]
         os: [win32]
         requiresBuild: true
    @@ -4350,7 +4490,7 @@ packages:
       /@surma/rollup-plugin-off-main-thread@2.2.3:
         resolution: {integrity: sha512-lR8q/9W7hZpMWweNiAKU7NQerBnzQQLvi8qnTDU/fxItPhtZVMbPV3lbCwjhIlNBe9Bbr5V+KHshvWmVSG9cxQ==}
         dependencies:
    -      ejs: 3.1.9
    +      ejs: 3.1.10
           json5: 2.2.3
           magic-string: 0.25.9
           string.prototype.matchall: 4.0.11
    @@ -4373,7 +4513,7 @@ packages:
           vue: ^2.7.0 || ^3.0.0
         dependencies:
           '@tanstack/virtual-core': 3.2.0
    -      vue: 3.4.21(typescript@5.4.3)
    +      vue: 3.4.21(typescript@5.4.5)
         dev: false
     
       /@tootallnate/once@2.0.0:
    @@ -4424,7 +4564,7 @@ packages:
       /@types/bonjour@3.5.10:
         resolution: {integrity: sha512-p7ienRMiS41Nu2/igbJxxLDWrSZ0WxM8UQgCeO9KhoVF7cOVFkrKsiDr1EsJIla8vV3oEEjGcz11jc5yimhzZw==}
         dependencies:
    -      '@types/node': 20.11.30
    +      '@types/node': 20.12.7
         dev: true
     
       /@types/braces@3.0.4:
    @@ -4444,7 +4584,7 @@ packages:
         resolution: {integrity: sha512-4x5FkPpLipqwthjPsF7ZRbOv3uoLUFkTA9G9v583qi4pACvq0uTELrB8OLUzPWUI4IJIyvM85vzkV1nyiI2Lig==}
         dependencies:
           '@types/express-serve-static-core': 4.17.43
    -      '@types/node': 20.11.30
    +      '@types/node': 20.12.7
         dev: true
     
       /@types/connect@3.4.38:
    @@ -4672,12 +4812,12 @@ packages:
       /@types/eslint-scope@3.7.7:
         resolution: {integrity: sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg==}
         dependencies:
    -      '@types/eslint': 8.56.7
    +      '@types/eslint': 8.56.9
           '@types/estree': 1.0.5
         dev: true
     
    -  /@types/eslint@8.56.7:
    -    resolution: {integrity: sha512-SjDvI/x3zsZnOkYZ3lCt9lOZWZLB2jIlNKz+LBgCtDurK0JZcwucxYHn1w2BJkD34dgX9Tjnak0txtq4WTggEA==}
    +  /@types/eslint@8.56.9:
    +    resolution: {integrity: sha512-W4W3KcqzjJ0sHg2vAq9vfml6OhsJ53TcUjUqfzzZf/EChUtwspszj/S0pzMxnfRcO55/iGq47dscXw71Fxc4Zg==}
         dependencies:
           '@types/estree': 1.0.5
           '@types/json-schema': 7.0.15
    @@ -4721,7 +4861,7 @@ packages:
         resolution: {integrity: sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA==}
         dependencies:
           '@types/minimatch': 5.1.2
    -      '@types/node': 20.11.30
    +      '@types/node': 20.12.7
         dev: true
     
       /@types/glob@8.1.0:
    @@ -4748,7 +4888,7 @@ packages:
       /@types/http-proxy@1.17.11:
         resolution: {integrity: sha512-HC8G7c1WmaF2ekqpnFq626xd3Zz0uvaqFmBJNRZCGEZCXkvSdJoNFn/8Ygbd9fKNQj8UzLdCETaI0UWPAjK7IA==}
         dependencies:
    -      '@types/node': 20.11.30
    +      '@types/node': 20.12.7
         dev: true
     
       /@types/istanbul-lib-coverage@2.0.6:
    @@ -4836,8 +4976,8 @@ packages:
         resolution: {integrity: sha512-6L6VymKTzYSrEf4Nev4Xa1LCHKrlTlYCBMTlQKFuddo1CvQcE52I0mwfOJayueUC7MJuXOeHTcIU683lzd0cUA==}
         dev: true
     
    -  /@types/micromatch@4.0.6:
    -    resolution: {integrity: sha512-2eulCHWqjEpk9/vyic4tBhI8a9qQEl6DaK2n/sF7TweX9YESlypgKyhXMDGt4DAOy/jhLPvVrZc8pTDAMsplJA==}
    +  /@types/micromatch@4.0.7:
    +    resolution: {integrity: sha512-C/FMQ8HJAZhTsDpl4wDKZdMeeW5USjgzOczUwTGbRc1ZopPgOhIEnxY2ZgUrsuyy4DwK1JVOJZKFakv3TbCKiA==}
         dependencies:
           '@types/braces': 3.0.4
         dev: true
    @@ -4857,8 +4997,8 @@ packages:
       /@types/ms@0.7.34:
         resolution: {integrity: sha512-nG96G3Wp6acyAgJqGasjODb+acrI7KltPiRxzHPXnP3NgI28bpQDRv53olbqGXbfcgF5aiiHmO3xpwEpS5Ld9g==}
     
    -  /@types/node@18.19.22:
    -    resolution: {integrity: sha512-p3pDIfuMg/aXBmhkyanPshdfJuX5c5+bQjYLIikPLXAUycEogij/c50n/C+8XOA5L93cU4ZRXtn+dNQGi0IZqQ==}
    +  /@types/node@18.19.31:
    +    resolution: {integrity: sha512-ArgCD39YpyyrtFKIqMDvjz79jto5fcI/SVUs2HwB+f0dAzq68yqOdyaSivLiLugSziTpNXLQrVb7RZFmdZzbhA==}
         dependencies:
           undici-types: 5.26.5
         dev: true
    @@ -4869,8 +5009,8 @@ packages:
           undici-types: 5.26.5
         dev: true
     
    -  /@types/node@20.12.3:
    -    resolution: {integrity: sha512-sD+ia2ubTeWrOu+YMF+MTAB7E+O7qsMqAbMfW7DG3K1URwhZ5hN1pLlRVGbf4wDFzSfikL05M17EyorS86jShw==}
    +  /@types/node@20.12.7:
    +    resolution: {integrity: sha512-wq0cICSkRLVaf3UGLMGItu/PtdY7oaXaI/RVU+xliKVOtRna3PRY57ZDfztpDL0n11vfymMUnXv8QwYCO7L1wg==}
         dependencies:
           undici-types: 5.26.5
         dev: true
    @@ -4907,7 +5047,7 @@ packages:
       /@types/resolve@1.17.1:
         resolution: {integrity: sha512-yy7HuzQhj0dhGpD8RLXSZWEkLsV9ibvxvi6EiJ3bkqLAO1RGo0WbkWQiwpRlSFymTJRz0d3k5LM3kkx8ArDbLw==}
         dependencies:
    -      '@types/node': 20.12.3
    +      '@types/node': 20.12.7
         dev: true
     
       /@types/responselike@1.0.3:
    @@ -4948,7 +5088,7 @@ packages:
         dependencies:
           '@types/http-errors': 2.0.4
           '@types/mime': 3.0.4
    -      '@types/node': 20.11.30
    +      '@types/node': 20.12.7
         dev: true
     
       /@types/sinonjs__fake-timers@8.1.1:
    @@ -4962,7 +5102,7 @@ packages:
       /@types/sockjs@0.3.33:
         resolution: {integrity: sha512-f0KEEe05NvUnat+boPTZ0dgaLZ4SfSouXUgv5noUiefG2ajgKjmETo9ZJyuqsl7dfl2aHlLJUiki6B4ZYldiiw==}
         dependencies:
    -      '@types/node': 20.11.30
    +      '@types/node': 20.12.7
         dev: true
     
       /@types/stack-utils@2.0.3:
    @@ -5001,7 +5141,7 @@ packages:
       /@types/ws@8.5.5:
         resolution: {integrity: sha512-lwhs8hktwxSjf9UaZ9tG5M03PGogvFaH8gUgLNbN9HKIg0dvv6q+gkSuJ8HN4/VbyxkuLzCjlN7GquQ0gUJfIg==}
         dependencies:
    -      '@types/node': 20.11.30
    +      '@types/node': 20.12.7
         dev: true
     
       /@types/yargs-parser@21.0.3:
    @@ -5022,7 +5162,7 @@ packages:
         dev: true
         optional: true
     
    -  /@typescript-eslint/eslint-plugin@7.3.1(@typescript-eslint/parser@7.3.1)(eslint@8.57.0)(typescript@5.4.3):
    +  /@typescript-eslint/eslint-plugin@7.3.1(@typescript-eslint/parser@7.3.1)(eslint@8.57.0)(typescript@5.4.5):
         resolution: {integrity: sha512-STEDMVQGww5lhCuNXVSQfbfuNII5E08QWkvAw5Qwf+bj2WT+JkG1uc+5/vXA3AOYMDHVOSpL+9rcbEUiHIm2dw==}
         engines: {node: ^18.18.0 || >=20.0.0}
         peerDependencies:
    @@ -5034,10 +5174,10 @@ packages:
             optional: true
         dependencies:
           '@eslint-community/regexpp': 4.10.0
    -      '@typescript-eslint/parser': 7.3.1(eslint@8.57.0)(typescript@5.4.3)
    +      '@typescript-eslint/parser': 7.3.1(eslint@8.57.0)(typescript@5.4.5)
           '@typescript-eslint/scope-manager': 7.3.1
    -      '@typescript-eslint/type-utils': 7.3.1(eslint@8.57.0)(typescript@5.4.3)
    -      '@typescript-eslint/utils': 7.3.1(eslint@8.57.0)(typescript@5.4.3)
    +      '@typescript-eslint/type-utils': 7.3.1(eslint@8.57.0)(typescript@5.4.5)
    +      '@typescript-eslint/utils': 7.3.1(eslint@8.57.0)(typescript@5.4.5)
           '@typescript-eslint/visitor-keys': 7.3.1
           debug: 4.3.4(supports-color@8.1.1)
           eslint: 8.57.0
    @@ -5045,13 +5185,13 @@ packages:
           ignore: 5.3.1
           natural-compare: 1.4.0
           semver: 7.6.0
    -      ts-api-utils: 1.2.1(typescript@5.4.3)
    -      typescript: 5.4.3
    +      ts-api-utils: 1.2.1(typescript@5.4.5)
    +      typescript: 5.4.5
         transitivePeerDependencies:
           - supports-color
         dev: true
     
    -  /@typescript-eslint/parser@7.3.1(eslint@8.57.0)(typescript@5.4.3):
    +  /@typescript-eslint/parser@7.3.1(eslint@8.57.0)(typescript@5.4.5):
         resolution: {integrity: sha512-Rq49+pq7viTRCH48XAbTA+wdLRrB/3sRq4Lpk0oGDm0VmnjBrAOVXH/Laalmwsv2VpekiEfVFwJYVk6/e8uvQw==}
         engines: {node: ^18.18.0 || >=20.0.0}
         peerDependencies:
    @@ -5063,11 +5203,11 @@ packages:
         dependencies:
           '@typescript-eslint/scope-manager': 7.3.1
           '@typescript-eslint/types': 7.3.1
    -      '@typescript-eslint/typescript-estree': 7.3.1(typescript@5.4.3)
    +      '@typescript-eslint/typescript-estree': 7.3.1(typescript@5.4.5)
           '@typescript-eslint/visitor-keys': 7.3.1
           debug: 4.3.4(supports-color@8.1.1)
           eslint: 8.57.0
    -      typescript: 5.4.3
    +      typescript: 5.4.5
         transitivePeerDependencies:
           - supports-color
         dev: true
    @@ -5088,7 +5228,7 @@ packages:
           '@typescript-eslint/visitor-keys': 7.3.1
         dev: true
     
    -  /@typescript-eslint/type-utils@7.3.1(eslint@8.57.0)(typescript@5.4.3):
    +  /@typescript-eslint/type-utils@7.3.1(eslint@8.57.0)(typescript@5.4.5):
         resolution: {integrity: sha512-iFhaysxFsMDQlzJn+vr3OrxN8NmdQkHks4WaqD4QBnt5hsq234wcYdyQ9uquzJJIDAj5W4wQne3yEsYA6OmXGw==}
         engines: {node: ^18.18.0 || >=20.0.0}
         peerDependencies:
    @@ -5098,12 +5238,12 @@ packages:
           typescript:
             optional: true
         dependencies:
    -      '@typescript-eslint/typescript-estree': 7.3.1(typescript@5.4.3)
    -      '@typescript-eslint/utils': 7.3.1(eslint@8.57.0)(typescript@5.4.3)
    +      '@typescript-eslint/typescript-estree': 7.3.1(typescript@5.4.5)
    +      '@typescript-eslint/utils': 7.3.1(eslint@8.57.0)(typescript@5.4.5)
           debug: 4.3.4(supports-color@8.1.1)
           eslint: 8.57.0
    -      ts-api-utils: 1.2.1(typescript@5.4.3)
    -      typescript: 5.4.3
    +      ts-api-utils: 1.2.1(typescript@5.4.5)
    +      typescript: 5.4.5
         transitivePeerDependencies:
           - supports-color
         dev: true
    @@ -5118,7 +5258,7 @@ packages:
         engines: {node: ^18.18.0 || >=20.0.0}
         dev: true
     
    -  /@typescript-eslint/typescript-estree@5.62.0(typescript@5.4.3):
    +  /@typescript-eslint/typescript-estree@5.62.0(typescript@5.4.5):
         resolution: {integrity: sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA==}
         engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
         peerDependencies:
    @@ -5133,13 +5273,13 @@ packages:
           globby: 11.1.0
           is-glob: 4.0.3
           semver: 7.6.0
    -      tsutils: 3.21.0(typescript@5.4.3)
    -      typescript: 5.4.3
    +      tsutils: 3.21.0(typescript@5.4.5)
    +      typescript: 5.4.5
         transitivePeerDependencies:
           - supports-color
         dev: true
     
    -  /@typescript-eslint/typescript-estree@7.3.1(typescript@5.4.3):
    +  /@typescript-eslint/typescript-estree@7.3.1(typescript@5.4.5):
         resolution: {integrity: sha512-tLpuqM46LVkduWP7JO7yVoWshpJuJzxDOPYIVWUUZbW+4dBpgGeUdl/fQkhuV0A8eGnphYw3pp8d2EnvPOfxmQ==}
         engines: {node: ^18.18.0 || >=20.0.0}
         peerDependencies:
    @@ -5155,13 +5295,13 @@ packages:
           is-glob: 4.0.3
           minimatch: 9.0.3
           semver: 7.6.0
    -      ts-api-utils: 1.2.1(typescript@5.4.3)
    -      typescript: 5.4.3
    +      ts-api-utils: 1.2.1(typescript@5.4.5)
    +      typescript: 5.4.5
         transitivePeerDependencies:
           - supports-color
         dev: true
     
    -  /@typescript-eslint/utils@5.62.0(eslint@8.57.0)(typescript@5.4.3):
    +  /@typescript-eslint/utils@5.62.0(eslint@8.57.0)(typescript@5.4.5):
         resolution: {integrity: sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ==}
         engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
         peerDependencies:
    @@ -5172,7 +5312,7 @@ packages:
           '@types/semver': 7.5.8
           '@typescript-eslint/scope-manager': 5.62.0
           '@typescript-eslint/types': 5.62.0
    -      '@typescript-eslint/typescript-estree': 5.62.0(typescript@5.4.3)
    +      '@typescript-eslint/typescript-estree': 5.62.0(typescript@5.4.5)
           eslint: 8.57.0
           eslint-scope: 5.1.1
           semver: 7.6.0
    @@ -5181,7 +5321,7 @@ packages:
           - typescript
         dev: true
     
    -  /@typescript-eslint/utils@7.3.1(eslint@8.57.0)(typescript@5.4.3):
    +  /@typescript-eslint/utils@7.3.1(eslint@8.57.0)(typescript@5.4.5):
         resolution: {integrity: sha512-jIERm/6bYQ9HkynYlNZvXpzmXWZGhMbrOvq3jJzOSOlKXsVjrrolzWBjDW6/TvT5Q3WqaN4EkmcfdQwi9tDjBQ==}
         engines: {node: ^18.18.0 || >=20.0.0}
         peerDependencies:
    @@ -5192,7 +5332,7 @@ packages:
           '@types/semver': 7.5.8
           '@typescript-eslint/scope-manager': 7.3.1
           '@typescript-eslint/types': 7.3.1
    -      '@typescript-eslint/typescript-estree': 7.3.1(typescript@5.4.3)
    +      '@typescript-eslint/typescript-estree': 7.3.1(typescript@5.4.5)
           eslint: 8.57.0
           semver: 7.6.0
         transitivePeerDependencies:
    @@ -5220,7 +5360,7 @@ packages:
         resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==}
         dev: true
     
    -  /@unocss/astro@0.58.9(rollup@2.79.1)(vite@5.2.7):
    +  /@unocss/astro@0.58.9(rollup@2.79.1)(vite@5.2.8):
         resolution: {integrity: sha512-VWfHNC0EfawFxLfb3uI+QcMGBN+ju+BYtutzeZTjilLKj31X2UpqIh8fepixL6ljgZzB3fweqg2xtUMC0gMnoQ==}
         peerDependencies:
           vite: ^2.9.0 || ^3.0.0-0 || ^4.0.0 || ^5.0.0-0
    @@ -5230,8 +5370,8 @@ packages:
         dependencies:
           '@unocss/core': 0.58.9
           '@unocss/reset': 0.58.9
    -      '@unocss/vite': 0.58.9(rollup@2.79.1)(vite@5.2.7)
    -      vite: 5.2.7(@types/node@20.11.30)
    +      '@unocss/vite': 0.58.9(rollup@2.79.1)(vite@5.2.8)
    +      vite: 5.2.8(@types/node@20.11.30)
         transitivePeerDependencies:
           - rollup
         dev: true
    @@ -5414,7 +5554,7 @@ packages:
           '@unocss/core': 0.58.9
         dev: true
     
    -  /@unocss/vite@0.58.9(rollup@2.79.1)(vite@5.2.7):
    +  /@unocss/vite@0.58.9(rollup@2.79.1)(vite@5.2.8):
         resolution: {integrity: sha512-mmppBuulAHCal+sC0Qz36Y99t0HicAmznpj70Kzwl7g/yvXwm58/DW2OnpCWw+uA8/JBft/+z3zE+XvrI+T1HA==}
         peerDependencies:
           vite: ^2.9.0 || ^3.0.0-0 || ^4.0.0 || ^5.0.0-0
    @@ -5429,12 +5569,12 @@ packages:
           chokidar: 3.6.0
           fast-glob: 3.3.2
           magic-string: 0.30.8
    -      vite: 5.2.7(@types/node@20.11.30)
    +      vite: 5.2.8(@types/node@20.11.30)
         transitivePeerDependencies:
           - rollup
         dev: true
     
    -  /@vite-pwa/vitepress@0.4.0(vite-plugin-pwa@0.19.7):
    +  /@vite-pwa/vitepress@0.4.0(vite-plugin-pwa@0.19.8):
         resolution: {integrity: sha512-MrsSCK5EBCzQAQgq5/3XHaFIjkypda58Wzy6PkDwZoRHnWexik0C2GUxMOe+RA+qdpGxB0mEkhqajeOmuYMvhw==}
         peerDependencies:
           '@vite-pwa/assets-generator': ^0.2.4
    @@ -5443,7 +5583,7 @@ packages:
           '@vite-pwa/assets-generator':
             optional: true
         dependencies:
    -      vite-plugin-pwa: 0.19.7(vite@5.2.7)(workbox-build@7.0.0)(workbox-window@7.0.0)
    +      vite-plugin-pwa: 0.19.8(vite@5.2.8)(workbox-build@7.0.0)(workbox-window@7.0.0)
         dev: true
     
       /@vitejs/plugin-vue@5.0.4(vite@5.2.7)(vue@3.4.21):
    @@ -5454,7 +5594,18 @@ packages:
           vue: ^3.2.25
         dependencies:
           vite: 5.2.7(@types/node@20.11.30)
    -      vue: 3.4.21(typescript@5.4.3)
    +      vue: 3.4.21(typescript@5.4.5)
    +    dev: true
    +
    +  /@vitejs/plugin-vue@5.0.4(vite@5.2.8)(vue@3.4.21):
    +    resolution: {integrity: sha512-WS3hevEszI6CEVEx28F8RjTX97k3KsrcY6kvTg7+Whm5y3oYvcqzVeGCU3hxSAn4uY2CLCkeokkGKpoctccilQ==}
    +    engines: {node: ^18.0.0 || >=20.0.0}
    +    peerDependencies:
    +      vite: ^5.0.0
    +      vue: ^3.2.25
    +    dependencies:
    +      vite: 5.2.8(@types/node@20.11.30)
    +      vue: 3.4.21(typescript@5.4.5)
         dev: true
     
       /@vitest/coverage-v8@1.4.0(vitest@1.4.0):
    @@ -5543,7 +5694,7 @@ packages:
           '@babel/parser': 7.24.1
           estree-walker: 2.0.2
           source-map-js: 1.2.0
    -      vue: 3.4.21(typescript@5.4.3)
    +      vue: 3.4.21(typescript@5.4.5)
         dev: false
     
       /@vue/compiler-core@3.4.21:
    @@ -5553,7 +5704,7 @@ packages:
           '@vue/shared': 3.4.21
           entities: 4.5.0
           estree-walker: 2.0.2
    -      source-map-js: 1.1.0
    +      source-map-js: 1.2.0
     
       /@vue/compiler-dom@3.4.21:
         resolution: {integrity: sha512-IZC6FKowtT1sl0CR5DpXSiEB5ayw75oT2bma1BEhV7RRR1+cfwLrxc2Z8Zq/RGFzJ8w5r9QtCOvTjQgdn0IKmA==}
    @@ -5602,7 +5753,7 @@ packages:
           mitt: 3.0.1
           perfect-debounce: 1.0.0
           speakingurl: 14.0.1
    -      vue: 3.4.21(typescript@5.4.3)
    +      vue: 3.4.21(typescript@5.4.5)
         dev: true
     
       /@vue/devtools-shared@7.0.25:
    @@ -5636,7 +5787,7 @@ packages:
         dependencies:
           '@vue/compiler-ssr': 3.4.21
           '@vue/shared': 3.4.21
    -      vue: 3.4.21(typescript@5.4.3)
    +      vue: 3.4.21(typescript@5.4.5)
     
       /@vue/shared@3.4.21:
         resolution: {integrity: sha512-PuJe7vDIi6VYSinuEbUIQgMIRZGgM8e4R+G+/dQTk0X1NEdvgvvgv7m+rfmDH1gZzyA1OjjoWskvHlfRNfQf3g==}
    @@ -5713,14 +5864,14 @@ packages:
           - '@vue/composition-api'
           - vue
     
    -  /@wdio/config@7.31.1(typescript@5.4.3):
    +  /@wdio/config@7.31.1(typescript@5.4.5):
         resolution: {integrity: sha512-WAfswbCatwiaDVqy6kfF/5T8/WS/US/SRhBGUFrfBuGMIe+RRoHgy7jURFWSvUIE7CNHj8yvs46fLUcxhXjzcQ==}
         engines: {node: '>=12.0.0'}
         dependencies:
           '@types/glob': 8.1.0
           '@wdio/logger': 7.26.0
    -      '@wdio/types': 7.30.2(typescript@5.4.3)
    -      '@wdio/utils': 7.30.2(typescript@5.4.3)
    +      '@wdio/types': 7.30.2(typescript@5.4.5)
    +      '@wdio/utils': 7.30.2(typescript@5.4.5)
           deepmerge: 4.3.1
           glob: 8.1.0
         transitivePeerDependencies:
    @@ -5742,7 +5893,7 @@ packages:
         engines: {node: '>=12.0.0'}
         dev: true
     
    -  /@wdio/types@7.30.2(typescript@5.4.3):
    +  /@wdio/types@7.30.2(typescript@5.4.5):
         resolution: {integrity: sha512-uZ8o7FX8RyBsaXiOWa59UKTCHTtADNvOArYTcHNEIzt+rh4JdB/uwqfc8y4TCNA2kYm7PWaQpUFwpStLeg0H1Q==}
         engines: {node: '>=12.0.0'}
         peerDependencies:
    @@ -5751,17 +5902,17 @@ packages:
           typescript:
             optional: true
         dependencies:
    -      '@types/node': 18.19.22
    +      '@types/node': 18.19.31
           got: 11.8.6
    -      typescript: 5.4.3
    +      typescript: 5.4.5
         dev: true
     
    -  /@wdio/utils@7.30.2(typescript@5.4.3):
    +  /@wdio/utils@7.30.2(typescript@5.4.5):
         resolution: {integrity: sha512-np7I+smszFUennbQKdzbMN/zUL3s3EZq9pCCUcTRjjs9TE4tnn0wfmGdoz2o7REYu6kn9NfFFJyVIM2VtBbKEA==}
         engines: {node: '>=12.0.0'}
         dependencies:
           '@wdio/logger': 7.26.0
    -      '@wdio/types': 7.30.2(typescript@5.4.3)
    +      '@wdio/types': 7.30.2(typescript@5.4.5)
           p-iteration: 1.1.8
         transitivePeerDependencies:
           - typescript
    @@ -5918,7 +6069,7 @@ packages:
         resolution: {integrity: sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==}
         dev: true
     
    -  /@zenuml/core@3.19.3(typescript@5.4.3):
    +  /@zenuml/core@3.19.3(typescript@5.4.5):
         resolution: {integrity: sha512-n3rhMFtcpHlxHiQwKLPK7OU1tchFn8Ea3+xvW6svQkUAWq6fkm1Ic/MmUOw1yxLgLUMMM8GUpA0HsRWWOa2nNg==}
         engines: {node: '>=12.0.0'}
         dependencies:
    @@ -5940,7 +6091,7 @@ packages:
           postcss: 8.4.38
           ramda: 0.28.0
           tailwindcss: 3.4.3
    -      vue: 3.4.21(typescript@5.4.3)
    +      vue: 3.4.21(typescript@5.4.5)
           vuex: 4.1.0(vue@3.4.21)
         transitivePeerDependencies:
           - '@vue/composition-api'
    @@ -6127,11 +6278,9 @@ packages:
           type-fest: 0.21.3
         dev: true
     
    -  /ansi-escapes@6.2.0:
    -    resolution: {integrity: sha512-kzRaCqXnpzWs+3z5ABPQiVke+iq0KXkHo8xiWV4RPTi5Yli0l97BEQuhXV1s7+aSU/fu1kUuxgS4MsQ0fRuygw==}
    +  /ansi-escapes@6.2.1:
    +    resolution: {integrity: sha512-4nJ3yixlEthEJ9Rk4vPcdBRkZvQZlYyu8j4/Mqz5sgIkddmEnH2Yj2ZrnP9S3tQOvSNRUIgVNF/1yPpRAGNRig==}
         engines: {node: '>=14.16'}
    -    dependencies:
    -      type-fest: 3.13.1
         dev: true
     
       /ansi-html-community@0.0.8:
    @@ -6378,14 +6527,14 @@ packages:
           - supports-color
         dev: true
     
    -  /babel-loader@9.1.3(@babel/core@7.24.3)(webpack@5.91.0):
    +  /babel-loader@9.1.3(@babel/core@7.24.4)(webpack@5.91.0):
         resolution: {integrity: sha512-xG3ST4DglodGf8qSwv0MdeWLhrDsw/32QMdTO5T1ZIp9gQur0HkCyFs7Awskr10JKXFXwpAhiCuYX5oGXnRGbw==}
         engines: {node: '>= 14.15.0'}
         peerDependencies:
           '@babel/core': ^7.12.0
           webpack: '>=5'
         dependencies:
    -      '@babel/core': 7.24.3
    +      '@babel/core': 7.24.4
           find-cache-dir: 4.0.0
           schema-utils: 4.2.0
           webpack: 5.91.0(esbuild@0.20.2)(webpack-cli@4.10.0)
    @@ -6414,38 +6563,38 @@ packages:
           '@types/babel__traverse': 7.20.5
         dev: true
     
    -  /babel-plugin-polyfill-corejs2@0.4.10(@babel/core@7.24.3):
    +  /babel-plugin-polyfill-corejs2@0.4.10(@babel/core@7.24.4):
         resolution: {integrity: sha512-rpIuu//y5OX6jVU+a5BCn1R5RSZYWAl2Nar76iwaOdycqb6JPxediskWFMMl7stfwNJR4b7eiQvh5fB5TEQJTQ==}
         peerDependencies:
           '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0
         dependencies:
    -      '@babel/compat-data': 7.24.1
    -      '@babel/core': 7.24.3
    -      '@babel/helper-define-polyfill-provider': 0.6.1(@babel/core@7.24.3)
    +      '@babel/compat-data': 7.24.4
    +      '@babel/core': 7.24.4
    +      '@babel/helper-define-polyfill-provider': 0.6.1(@babel/core@7.24.4)
           semver: 6.3.1
         transitivePeerDependencies:
           - supports-color
         dev: true
     
    -  /babel-plugin-polyfill-corejs3@0.10.4(@babel/core@7.24.3):
    +  /babel-plugin-polyfill-corejs3@0.10.4(@babel/core@7.24.4):
         resolution: {integrity: sha512-25J6I8NGfa5YkCDogHRID3fVCadIR8/pGl1/spvCkzb6lVn6SR3ojpx9nOn9iEBcUsjY24AmdKm5khcfKdylcg==}
         peerDependencies:
           '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0
         dependencies:
    -      '@babel/core': 7.24.3
    -      '@babel/helper-define-polyfill-provider': 0.6.1(@babel/core@7.24.3)
    +      '@babel/core': 7.24.4
    +      '@babel/helper-define-polyfill-provider': 0.6.1(@babel/core@7.24.4)
           core-js-compat: 3.36.1
         transitivePeerDependencies:
           - supports-color
         dev: true
     
    -  /babel-plugin-polyfill-regenerator@0.6.1(@babel/core@7.24.3):
    +  /babel-plugin-polyfill-regenerator@0.6.1(@babel/core@7.24.4):
         resolution: {integrity: sha512-JfTApdE++cgcTWjsiCQlLyFBMbTUft9ja17saCc93lgV33h4tuCVj7tlvu//qpLwaG+3yEz7/KhahGrUMkVq9g==}
         peerDependencies:
           '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0
         dependencies:
    -      '@babel/core': 7.24.3
    -      '@babel/helper-define-polyfill-provider': 0.6.1(@babel/core@7.24.3)
    +      '@babel/core': 7.24.4
    +      '@babel/helper-define-polyfill-provider': 0.6.1(@babel/core@7.24.4)
         transitivePeerDependencies:
           - supports-color
         dev: true
    @@ -6501,10 +6650,6 @@ packages:
           tweetnacl: 0.14.5
         dev: true
     
    -  /big.js@6.2.1:
    -    resolution: {integrity: sha512-bCtHMwL9LeDIozFn+oNhhFoq+yQ3BNdnsLSASUxLciOb1vgvpHsIO1dsENiGMgbb4SkP5TrzWzRiLddn8ahVOQ==}
    -    dev: true
    -
       /binary-extensions@2.2.0:
         resolution: {integrity: sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==}
         engines: {node: '>=8'}
    @@ -6714,13 +6859,6 @@ packages:
           write-file-atomic: 3.0.3
         dev: true
     
    -  /call-bind@1.0.2:
    -    resolution: {integrity: sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==}
    -    dependencies:
    -      function-bind: 1.1.1
    -      get-intrinsic: 1.2.1
    -    dev: true
    -
       /call-bind@1.0.7:
         resolution: {integrity: sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==}
         engines: {node: '>= 0.4'}
    @@ -6768,11 +6906,6 @@ packages:
         resolution: {integrity: sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==}
         dev: true
     
    -  /centra@2.6.0:
    -    resolution: {integrity: sha512-dgh+YleemrT8u85QL11Z6tYhegAs3MMxsaWAq/oXeAmYJ7VxL3SI9TZtnfaEvNDMAPolj25FXIb3S+HCI4wQaQ==}
    -    deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.
    -    dev: true
    -
       /chai@4.4.1:
         resolution: {integrity: sha512-13sOfMv2+DWduEU+/xbun3LScLoqN17nBeTLUsmDfKdoiC1fr0n9PU4guu4AhRcOVFk/sW8LyZWHuhWtQZiF+g==}
         engines: {node: '>=4'}
    @@ -7545,14 +7678,14 @@ packages:
         resolution: {integrity: sha512-d4ZVpCW31eWwCMe1YT3ur7mUDnTXbgwyzaL320DrcRT45rfjYxkt5QWLrmOJ+/UEAI2+fQgKe/fCjR8l4TpRgw==}
         dev: true
     
    -  /cypress-image-snapshot@4.0.1(cypress@13.7.2)(jest@29.7.0):
    +  /cypress-image-snapshot@4.0.1(cypress@13.7.3)(jest@29.7.0):
         resolution: {integrity: sha512-PBpnhX/XItlx3/DAk5ozsXQHUi72exybBNH5Mpqj1DVmjq+S5Jd9WE5CRa4q5q0zuMZb2V2VpXHth6MjFpgj9Q==}
         engines: {node: '>=8'}
         peerDependencies:
           cypress: ^4.5.0
         dependencies:
           chalk: 2.4.2
    -      cypress: 13.7.2
    +      cypress: 13.7.3
           fs-extra: 7.0.1
           glob: 7.2.3
           jest-image-snapshot: 4.2.0(jest@29.7.0)
    @@ -7562,8 +7695,8 @@ packages:
           - jest
         dev: true
     
    -  /cypress@13.7.2:
    -    resolution: {integrity: sha512-FF5hFI5wlRIHY8urLZjJjj/YvfCBrRpglbZCLr/cYcL9MdDe0+5usa8kTIrDHthlEc9lwihbkb5dmwqBDNS2yw==}
    +  /cypress@13.7.3:
    +    resolution: {integrity: sha512-uoecY6FTCAuIEqLUYkTrxamDBjMHTYak/1O7jtgwboHiTnS1NaMOoR08KcTrbRZFCBvYOiS4tEkQRmsV+xcrag==}
         engines: {node: ^16.0.0 || ^18.0.0 || >=20.0.0}
         hasBin: true
         requiresBuild: true
    @@ -8267,8 +8400,8 @@ packages:
         resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==}
         dev: true
     
    -  /ejs@3.1.9:
    -    resolution: {integrity: sha512-rC+QVNMJWv+MtPgkt0y+0rVEIdbtxVADApW9JXrUVlzHetgcyczP/E7DJmWJ4fJCZF2cPcBk0laWO9ZHMG3DmQ==}
    +  /ejs@3.1.10:
    +    resolution: {integrity: sha512-UeJmFfOrAQS8OJWPZ4qtgHyWExa088/MtK5UEyoJGFH67cDEXkZSviOiKRCZ4Xij0zxI3JECgYs3oKx+AizQBA==}
         engines: {node: '>=0.10.0'}
         hasBin: true
         dependencies:
    @@ -8618,7 +8751,7 @@ packages:
           htmlparser2: 9.1.0
         dev: true
     
    -  /eslint-plugin-jest@27.9.0(@typescript-eslint/eslint-plugin@7.3.1)(eslint@8.57.0)(jest@29.7.0)(typescript@5.4.3):
    +  /eslint-plugin-jest@27.9.0(@typescript-eslint/eslint-plugin@7.3.1)(eslint@8.57.0)(jest@29.7.0)(typescript@5.4.5):
         resolution: {integrity: sha512-QIT7FH7fNmd9n4se7FFKHbsLKGQiw885Ds6Y/sxKgCZ6natwCsXdgPOADnYVxN2QrRweF0FZWbJ6S7Rsn7llug==}
         engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
         peerDependencies:
    @@ -8631,8 +8764,8 @@ packages:
           jest:
             optional: true
         dependencies:
    -      '@typescript-eslint/eslint-plugin': 7.3.1(@typescript-eslint/parser@7.3.1)(eslint@8.57.0)(typescript@5.4.3)
    -      '@typescript-eslint/utils': 5.62.0(eslint@8.57.0)(typescript@5.4.3)
    +      '@typescript-eslint/eslint-plugin': 7.3.1(@typescript-eslint/parser@7.3.1)(eslint@8.57.0)(typescript@5.4.5)
    +      '@typescript-eslint/utils': 5.62.0(eslint@8.57.0)(typescript@5.4.5)
           eslint: 8.57.0
           jest: 29.7.0(@types/node@20.11.30)
         transitivePeerDependencies:
    @@ -8640,8 +8773,8 @@ packages:
           - typescript
         dev: true
     
    -  /eslint-plugin-jsdoc@48.2.2(eslint@8.57.0):
    -    resolution: {integrity: sha512-S0Gk+rpT5w/ephKCncUY7kUsix9uE4B9XI8D/fS1/26d8okE+vZsuG1IvIt4B6sJUdQqsnzi+YXfmh+HJG11CA==}
    +  /eslint-plugin-jsdoc@48.2.3(eslint@8.57.0):
    +    resolution: {integrity: sha512-r9DMAmFs66VNvNqRLLjHejdnJtILrt3xGi+Qx0op0oRfFGVpOR1Hb3BC++MacseHx93d8SKYPhyrC9BS7Os2QA==}
         engines: {node: '>=18'}
         peerDependencies:
           eslint: ^7.0.0 || ^8.0.0 || ^9.0.0
    @@ -9097,6 +9230,45 @@ packages:
           - supports-color
         dev: true
     
    +  /express@4.19.2:
    +    resolution: {integrity: sha512-5T6nhjsT+EOMzuck8JjBHARTHfMht0POzlA60WV2pMD3gyXw2LZnZ+ueGdNxG+0calOJcWKbpFcuzLZ91YWq9Q==}
    +    engines: {node: '>= 0.10.0'}
    +    dependencies:
    +      accepts: 1.3.8
    +      array-flatten: 1.1.1
    +      body-parser: 1.20.2
    +      content-disposition: 0.5.4
    +      content-type: 1.0.5
    +      cookie: 0.6.0
    +      cookie-signature: 1.0.6
    +      debug: 2.6.9
    +      depd: 2.0.0
    +      encodeurl: 1.0.2
    +      escape-html: 1.0.3
    +      etag: 1.8.1
    +      finalhandler: 1.2.0
    +      fresh: 0.5.2
    +      http-errors: 2.0.0
    +      merge-descriptors: 1.0.1
    +      methods: 1.1.2
    +      on-finished: 2.4.1
    +      parseurl: 1.3.3
    +      path-to-regexp: 0.1.7
    +      proxy-addr: 2.0.7
    +      qs: 6.11.0
    +      range-parser: 1.2.1
    +      safe-buffer: 5.2.1
    +      send: 0.18.0
    +      serve-static: 1.15.0
    +      setprototypeof: 1.2.0
    +      statuses: 2.0.1
    +      type-is: 1.6.18
    +      utils-merge: 1.0.1
    +      vary: 1.1.2
    +    transitivePeerDependencies:
    +      - supports-color
    +    dev: true
    +
       /ext@1.7.0:
         resolution: {integrity: sha512-6hxeJYaL110a9b5TEJSj0gojyHQAmA2ch5Os+ySCiA1QGdS697XWY1pzsrSjqA9LDEEgdB/KypIlR59RcLuHYw==}
         dependencies:
    @@ -9613,15 +9785,6 @@ packages:
         resolution: {integrity: sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ==}
         dev: true
     
    -  /get-intrinsic@1.2.1:
    -    resolution: {integrity: sha512-2DcsyfABl+gVHEfCOaTrWgyt+tb6MSEGmKq+kI5HwLbIYgjgmMcV8KQ41uaKz1xxUcn9tJtgFbQUEVcEbd0FYw==}
    -    dependencies:
    -      function-bind: 1.1.1
    -      has: 1.0.3
    -      has-proto: 1.0.1
    -      has-symbols: 1.0.3
    -    dev: true
    -
       /get-intrinsic@1.2.4:
         resolution: {integrity: sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==}
         engines: {node: '>= 0.4'}
    @@ -9690,8 +9853,8 @@ packages:
           get-intrinsic: 1.2.4
         dev: true
     
    -  /get-tsconfig@4.7.2:
    -    resolution: {integrity: sha512-wuMsz4leaj5hbGgg4IvDU0bqJagpftG5l5cXIAvo8uZrqn0NJqwtfupTN00VnkQJPcIRrxYrm1Ue24btpCha2A==}
    +  /get-tsconfig@4.7.3:
    +    resolution: {integrity: sha512-ZvkrzoUA0PQZM6fy6+/Hce561s+faD1rsNwhnO5FelNjyy7EMGJ3Rz1AQ8GYDWjhRs/7dBLOEJvhK8MiEJOAFg==}
         dependencies:
           resolve-pkg-maps: 1.0.0
         dev: true
    @@ -9942,11 +10105,6 @@ packages:
           es-define-property: 1.0.0
         dev: true
     
    -  /has-proto@1.0.1:
    -    resolution: {integrity: sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==}
    -    engines: {node: '>= 0.4'}
    -    dev: true
    -
       /has-proto@1.0.3:
         resolution: {integrity: sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==}
         engines: {node: '>= 0.4'}
    @@ -10653,7 +10811,7 @@ packages:
         dependencies:
           '@babel/core': 7.22.10
           '@istanbuljs/schema': 0.1.3
    -      istanbul-lib-coverage: 3.2.2
    +      istanbul-lib-coverage: 3.2.0
           semver: 6.3.1
         transitivePeerDependencies:
           - supports-color
    @@ -10691,7 +10849,7 @@ packages:
         dependencies:
           archy: 1.0.0
           cross-spawn: 7.0.3
    -      istanbul-lib-coverage: 3.2.2
    +      istanbul-lib-coverage: 3.2.0
           p-map: 3.0.0
           rimraf: 3.0.2
           uuid: 8.3.2
    @@ -10711,7 +10869,7 @@ packages:
         engines: {node: '>=10'}
         dependencies:
           debug: 4.3.4(supports-color@8.1.1)
    -      istanbul-lib-coverage: 3.2.2
    +      istanbul-lib-coverage: 3.2.0
           source-map: 0.6.1
         transitivePeerDependencies:
           - supports-color
    @@ -11172,7 +11330,7 @@ packages:
         resolution: {integrity: sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ==}
         engines: {node: '>= 10.13.0'}
         dependencies:
    -      '@types/node': 20.12.3
    +      '@types/node': 20.12.7
           merge-stream: 2.0.0
           supports-color: 7.2.0
         dev: true
    @@ -11181,7 +11339,7 @@ packages:
         resolution: {integrity: sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==}
         engines: {node: '>= 10.13.0'}
         dependencies:
    -      '@types/node': 20.11.30
    +      '@types/node': 20.12.7
           merge-stream: 2.0.0
           supports-color: 8.1.1
         dev: true
    @@ -11741,7 +11899,7 @@ packages:
         resolution: {integrity: sha512-niTvB4gqvtof056rRIrTZvjNYE4rCUzO6X/X+kYjd7WFxXeJ0NwEFnRxX6ehkvv3jTwrXnNdtAak5XYZuIyPFw==}
         engines: {node: '>=18'}
         dependencies:
    -      ansi-escapes: 6.2.0
    +      ansi-escapes: 6.2.1
           cli-cursor: 4.0.0
           slice-ansi: 7.1.0
           strip-ansi: 7.1.0
    @@ -11874,13 +12032,6 @@ packages:
         engines: {node: '>= 12'}
         hasBin: true
     
    -  /matchit@1.1.0:
    -    resolution: {integrity: sha512-+nGYoOlfHmxe5BW5tE0EMJppXEwdSf8uBA1GTZC7Q77kbT35+VKLYJMzVNWCHSsga1ps1tPYFtFyvxvKzWVmMA==}
    -    engines: {node: '>=6'}
    -    dependencies:
    -      '@arr/every': 1.0.1
    -    dev: true
    -
       /mdast-builder@1.1.1:
         resolution: {integrity: sha512-a3KBk/LmYD6wKsWi8WJrGU/rXR4yuF4Men0JO0z6dSZCm5FrXXWTRDjqK0vGSqa+1M6p9edeuypZAZAzSehTUw==}
         dependencies:
    @@ -12419,7 +12570,6 @@ packages:
         engines: {node: '>=16 || 14 >=14.17'}
         dependencies:
           brace-expansion: 2.0.1
    -    dev: false
     
       /minimist@1.2.8:
         resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==}
    @@ -12671,10 +12821,6 @@ packages:
         engines: {node: '>= 6'}
         dev: false
     
    -  /object-inspect@1.12.3:
    -    resolution: {integrity: sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==}
    -    dev: true
    -
       /object-inspect@1.13.1:
         resolution: {integrity: sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==}
         dev: true
    @@ -13058,14 +13204,6 @@ packages:
         resolution: {integrity: sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==}
         dev: true
     
    -  /phin@3.7.0:
    -    resolution: {integrity: sha512-DqnVNrpYhKGBZppNKprD+UJylMeEKOZxHgPB+ZP6mGzf3uA2uox4Ep9tUm+rUc8WLIdHT3HcAE4X8fhwQA9JKg==}
    -    engines: {node: '>= 8'}
    -    deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.
    -    dependencies:
    -      centra: 2.6.0
    -    dev: true
    -
       /picocolors@1.0.0:
         resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==}
     
    @@ -13196,19 +13334,12 @@ packages:
         engines: {node: '>=12.13.0'}
         dev: true
     
    -  /pnpm@8.15.6:
    -    resolution: {integrity: sha512-d7iem+d6Kwatj0A6Gcrl4il29hAj+YrTI9XDAZSVjrwC7gpq5dE+5FT2E05OjK8poF8LGg4dKxe8prah8RWfhg==}
    +  /pnpm@8.15.7:
    +    resolution: {integrity: sha512-yFzSG22hAzIVaxyiqnnAph7nrS6wRTuIqymSienoypPmCRIyslwHy/YfbfdxKNnISeXJrG5EhU29IRxJ86Z63A==}
         engines: {node: '>=16.14'}
         hasBin: true
         dev: true
     
    -  /polka@0.5.2:
    -    resolution: {integrity: sha512-FVg3vDmCqP80tOrs+OeNlgXYmFppTXdjD5E7I4ET1NjvtNmQrb1/mJibybKkb/d4NA7YWAr1ojxuhpL3FHqdlw==}
    -    dependencies:
    -      '@polka/url': 0.5.0
    -      trouter: 2.0.1
    -    dev: true
    -
       /possible-typed-array-names@1.0.0:
         resolution: {integrity: sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q==}
         engines: {node: '>= 0.4'}
    @@ -13423,7 +13554,7 @@ packages:
         resolution: {integrity: sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==}
         engines: {node: '>=0.6'}
         dependencies:
    -      side-channel: 1.0.4
    +      side-channel: 1.0.6
         dev: true
     
       /querystringify@2.2.0:
    @@ -13577,7 +13708,7 @@ packages:
       /regenerator-transform@0.15.2:
         resolution: {integrity: sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg==}
         dependencies:
    -      '@babel/runtime': 7.24.1
    +      '@babel/runtime': 7.24.4
         dev: true
     
       /regexp-tree@0.1.27:
    @@ -13841,7 +13972,7 @@ packages:
           jest-worker: 26.6.2
           rollup: 2.79.1
           serialize-javascript: 4.0.0
    -      terser: 5.30.2
    +      terser: 5.30.3
         dev: true
     
       /rollup-plugin-visualizer@5.12.0:
    @@ -13868,28 +13999,28 @@ packages:
           fsevents: 2.3.3
         dev: true
     
    -  /rollup@4.13.2:
    -    resolution: {integrity: sha512-MIlLgsdMprDBXC+4hsPgzWUasLO9CE4zOkj/u6j+Z6j5A4zRY+CtiXAdJyPtgCsc42g658Aeh1DlrdVEJhsL2g==}
    +  /rollup@4.14.2:
    +    resolution: {integrity: sha512-WkeoTWvuBoFjFAhsEOHKRoZ3r9GfTyhh7Vff1zwebEFLEFjT1lG3784xEgKiTa7E+e70vsC81roVL2MP4tgEEQ==}
         engines: {node: '>=18.0.0', npm: '>=8.0.0'}
         hasBin: true
         dependencies:
           '@types/estree': 1.0.5
         optionalDependencies:
    -      '@rollup/rollup-android-arm-eabi': 4.13.2
    -      '@rollup/rollup-android-arm64': 4.13.2
    -      '@rollup/rollup-darwin-arm64': 4.13.2
    -      '@rollup/rollup-darwin-x64': 4.13.2
    -      '@rollup/rollup-linux-arm-gnueabihf': 4.13.2
    -      '@rollup/rollup-linux-arm64-gnu': 4.13.2
    -      '@rollup/rollup-linux-arm64-musl': 4.13.2
    -      '@rollup/rollup-linux-powerpc64le-gnu': 4.13.2
    -      '@rollup/rollup-linux-riscv64-gnu': 4.13.2
    -      '@rollup/rollup-linux-s390x-gnu': 4.13.2
    -      '@rollup/rollup-linux-x64-gnu': 4.13.2
    -      '@rollup/rollup-linux-x64-musl': 4.13.2
    -      '@rollup/rollup-win32-arm64-msvc': 4.13.2
    -      '@rollup/rollup-win32-ia32-msvc': 4.13.2
    -      '@rollup/rollup-win32-x64-msvc': 4.13.2
    +      '@rollup/rollup-android-arm-eabi': 4.14.2
    +      '@rollup/rollup-android-arm64': 4.14.2
    +      '@rollup/rollup-darwin-arm64': 4.14.2
    +      '@rollup/rollup-darwin-x64': 4.14.2
    +      '@rollup/rollup-linux-arm-gnueabihf': 4.14.2
    +      '@rollup/rollup-linux-arm64-gnu': 4.14.2
    +      '@rollup/rollup-linux-arm64-musl': 4.14.2
    +      '@rollup/rollup-linux-powerpc64le-gnu': 4.14.2
    +      '@rollup/rollup-linux-riscv64-gnu': 4.14.2
    +      '@rollup/rollup-linux-s390x-gnu': 4.14.2
    +      '@rollup/rollup-linux-x64-gnu': 4.14.2
    +      '@rollup/rollup-linux-x64-musl': 4.14.2
    +      '@rollup/rollup-win32-arm64-msvc': 4.14.2
    +      '@rollup/rollup-win32-ia32-msvc': 4.14.2
    +      '@rollup/rollup-win32-x64-msvc': 4.14.2
           fsevents: 2.3.3
         dev: true
     
    @@ -14173,14 +14304,6 @@ packages:
           '@shikijs/core': 1.2.3
         dev: true
     
    -  /side-channel@1.0.4:
    -    resolution: {integrity: sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==}
    -    dependencies:
    -      call-bind: 1.0.2
    -      get-intrinsic: 1.2.1
    -      object-inspect: 1.12.3
    -    dev: true
    -
       /side-channel@1.0.6:
         resolution: {integrity: sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==}
         engines: {node: '>= 0.4'}
    @@ -14302,10 +14425,6 @@ packages:
         engines: {node: '>=0.10.0'}
         dev: true
     
    -  /source-map-js@1.1.0:
    -    resolution: {integrity: sha512-9vC2SfsJzlej6MAaMPLu8HiBSHGdRAJ9hVFYN1ibZoNkeanmDmLUcIrj6G9DGL7XMJ54AKg/G75akXl1/izTOw==}
    -    engines: {node: '>=0.10.0'}
    -
       /source-map-js@1.2.0:
         resolution: {integrity: sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==}
         engines: {node: '>=0.10.0'}
    @@ -14854,8 +14973,8 @@ packages:
           source-map-support: 0.5.21
         dev: true
     
    -  /terser@5.30.2:
    -    resolution: {integrity: sha512-vTDjRKYKip4dOFL5VizdoxHTYDfEXPdz5t+FbxCC5Rp2s+KbEO8w5wqMDPgj7CtFKZuzq7PXv28fZoXfqqBVuw==}
    +  /terser@5.30.3:
    +    resolution: {integrity: sha512-STdUgOUx8rLbMGO9IOwHLpCqolkDITFFQSMYYwKE1N2lY6MVSaeoi10z/EhWxRc6ybqoVmKSkhKYH/XUpl7vSA==}
         engines: {node: '>=10'}
         hasBin: true
         dependencies:
    @@ -15006,20 +15125,13 @@ packages:
         resolution: {integrity: sha512-tmMpK00BjZiUyVyvrBK7knerNgmgvcV/KLVyuma/SC+TQN167GrMRciANTz09+k3zW8L8t60jWO1GpfkZdjTaw==}
         dev: true
     
    -  /trouter@2.0.1:
    -    resolution: {integrity: sha512-kr8SKKw94OI+xTGOkfsvwZQ8mWoikZDd2n8XZHjJVZUARZT+4/VV6cacRS6CLsH9bNm+HFIPU1Zx4CnNnb4qlQ==}
    -    engines: {node: '>=6'}
    -    dependencies:
    -      matchit: 1.1.0
    -    dev: true
    -
    -  /ts-api-utils@1.2.1(typescript@5.4.3):
    +  /ts-api-utils@1.2.1(typescript@5.4.5):
         resolution: {integrity: sha512-RIYA36cJn2WiH9Hy77hdF9r7oEwxAtB/TS9/S4Qd90Ap4z5FSiin5zEiTL44OII1Y3IIlEvxwxFUVgrHSZ/UpA==}
         engines: {node: '>=16'}
         peerDependencies:
           typescript: '>=4.2.0'
         dependencies:
    -      typescript: 5.4.3
    +      typescript: 5.4.5
         dev: true
     
       /ts-dedent@2.2.0:
    @@ -15043,23 +15155,23 @@ packages:
         resolution: {integrity: sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==}
         dev: true
     
    -  /tsutils@3.21.0(typescript@5.4.3):
    +  /tsutils@3.21.0(typescript@5.4.5):
         resolution: {integrity: sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==}
         engines: {node: '>= 6'}
         peerDependencies:
           typescript: '>=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta'
         dependencies:
           tslib: 1.14.1
    -      typescript: 5.4.3
    +      typescript: 5.4.5
         dev: true
     
    -  /tsx@4.7.1:
    -    resolution: {integrity: sha512-8d6VuibXHtlN5E3zFkgY8u4DX7Y3Z27zvvPKVmLon/D4AjuKzarkUBTLDBgj9iTQ0hg5xM7c/mYiRVM+HETf0g==}
    +  /tsx@4.7.2:
    +    resolution: {integrity: sha512-BCNd4kz6fz12fyrgCTEdZHGJ9fWTGeUzXmQysh0RVocDY3h4frk05ZNCXSy4kIenF7y/QnrdiVpTsyNRn6vlAw==}
         engines: {node: '>=18.0.0'}
         hasBin: true
         dependencies:
           esbuild: 0.19.12
    -      get-tsconfig: 4.7.2
    +      get-tsconfig: 4.7.3
         optionalDependencies:
           fsevents: 2.3.3
         dev: true
    @@ -15116,11 +15228,6 @@ packages:
         engines: {node: '>=10'}
         dev: true
     
    -  /type-fest@3.13.1:
    -    resolution: {integrity: sha512-tLq3bSNx+xSpwvAJnzrK0Ep5CLNWjvFTOp71URMaAEWBfRb9nnJiBoUe0tF8bI4ZFO3omgBR6NvnbzVUT3Ly4g==}
    -    engines: {node: '>=14.16'}
    -    dev: true
    -
       /type-fest@4.14.0:
         resolution: {integrity: sha512-on5/Cw89wwqGZQu+yWO0gGMGu8VNxsaW9SB2HE8yJjllEk7IDTwnSN1dUVldYILhYPN5HzD7WAaw2cc/jBfn0Q==}
         engines: {node: '>=16'}
    @@ -15188,17 +15295,17 @@ packages:
           is-typedarray: 1.0.0
         dev: true
     
    -  /typedoc-plugin-markdown@3.17.1(typedoc@0.25.12):
    +  /typedoc-plugin-markdown@3.17.1(typedoc@0.25.13):
         resolution: {integrity: sha512-QzdU3fj0Kzw2XSdoL15ExLASt2WPqD7FbLeaqwT70+XjKyTshBnUlQA5nNREO1C2P8Uen0CDjsBLMsCQ+zd0lw==}
         peerDependencies:
           typedoc: '>=0.24.0'
         dependencies:
           handlebars: 4.7.8
    -      typedoc: 0.25.12(typescript@5.4.3)
    +      typedoc: 0.25.13(typescript@5.4.5)
         dev: true
     
    -  /typedoc@0.25.12(typescript@5.4.3):
    -    resolution: {integrity: sha512-F+qhkK2VoTweDXd1c42GS/By2DvI2uDF4/EpG424dTexSHdtCH52C6IcAvMA6jR3DzAWZjHpUOW+E02kyPNUNw==}
    +  /typedoc@0.25.13(typescript@5.4.5):
    +    resolution: {integrity: sha512-pQqiwiJ+Z4pigfOnnysObszLiU3mVLWAExSPf+Mu06G/qsc3wzbuM56SZQvONhHLncLUhYzOVkjFFpFfL5AzhQ==}
         engines: {node: '>= 16'}
         hasBin: true
         peerDependencies:
    @@ -15206,13 +15313,13 @@ packages:
         dependencies:
           lunr: 2.3.9
           marked: 4.3.0
    -      minimatch: 9.0.3
    +      minimatch: 9.0.4
           shiki: 0.14.7
    -      typescript: 5.4.3
    +      typescript: 5.4.5
         dev: true
     
    -  /typescript@5.4.3:
    -    resolution: {integrity: sha512-KrPd3PKaCLr78MalgiwJnA25Nm8HAmdwN3mYUYZgG/wizIo9EainNVQI9/yDavtVFRN2h3k8uf3GLHuhDMgEHg==}
    +  /typescript@5.4.5:
    +    resolution: {integrity: sha512-vcI4UpRgg81oIRUFwR0WSIHKt11nJ7SAVlYNIu+QpqeyXP+gpQJy/Z4+F0aGxSE4MqwjyXvW/TzgkLAx2AGHwQ==}
         engines: {node: '>=14.17'}
         hasBin: true
     
    @@ -15371,7 +15478,7 @@ packages:
         engines: {node: '>= 10.0.0'}
         dev: true
     
    -  /unocss@0.58.9(postcss@8.4.38)(rollup@2.79.1)(vite@5.2.7):
    +  /unocss@0.58.9(postcss@8.4.38)(rollup@2.79.1)(vite@5.2.8):
         resolution: {integrity: sha512-aqANXXP0RrtN4kSaTLn/7I6wh8o45LUdVgPzGu7Fan2DfH2+wpIs6frlnlHlOymnb+52dp6kXluQinddaUKW1A==}
         engines: {node: '>=14'}
         peerDependencies:
    @@ -15383,7 +15490,7 @@ packages:
           vite:
             optional: true
         dependencies:
    -      '@unocss/astro': 0.58.9(rollup@2.79.1)(vite@5.2.7)
    +      '@unocss/astro': 0.58.9(rollup@2.79.1)(vite@5.2.8)
           '@unocss/cli': 0.58.9(rollup@2.79.1)
           '@unocss/core': 0.58.9
           '@unocss/extractor-arbitrary-variants': 0.58.9
    @@ -15402,8 +15509,8 @@ packages:
           '@unocss/transformer-compile-class': 0.58.9
           '@unocss/transformer-directives': 0.58.9
           '@unocss/transformer-variant-group': 0.58.9
    -      '@unocss/vite': 0.58.9(rollup@2.79.1)(vite@5.2.7)
    -      vite: 5.2.7(@types/node@20.11.30)
    +      '@unocss/vite': 0.58.9(rollup@2.79.1)(vite@5.2.8)
    +      vite: 5.2.8(@types/node@20.11.30)
         transitivePeerDependencies:
           - postcss
           - rollup
    @@ -15438,7 +15545,7 @@ packages:
           minimatch: 9.0.3
           resolve: 1.22.4
           unplugin: 1.4.0
    -      vue: 3.4.21(typescript@5.4.3)
    +      vue: 3.4.21(typescript@5.4.5)
         transitivePeerDependencies:
           - rollup
           - supports-color
    @@ -15559,7 +15666,7 @@ packages:
           debug: 4.3.4(supports-color@8.1.1)
           pathe: 1.1.2
           picocolors: 1.0.0
    -      vite: 5.2.7(@types/node@20.11.30)
    +      vite: 5.2.8(@types/node@20.11.30)
         transitivePeerDependencies:
           - '@types/node'
           - less
    @@ -15571,7 +15678,7 @@ packages:
           - terser
         dev: true
     
    -  /vite-plugin-istanbul@6.0.0(vite@5.2.7):
    +  /vite-plugin-istanbul@6.0.0(vite@5.2.8):
         resolution: {integrity: sha512-Vwh2XdesjcLwaPbHSOiWHh+0s7CNovQTPEjUCTkqmJUe0FN2TKsOp0qpoaklOuwrKlL9elhD5fPFxi5lmG62zA==}
         peerDependencies:
           vite: '>=4 <=6'
    @@ -15582,13 +15689,13 @@ packages:
           picocolors: 1.0.0
           source-map: 0.7.4
           test-exclude: 6.0.0
    -      vite: 5.2.7(@types/node@20.11.30)
    +      vite: 5.2.8(@types/node@20.11.30)
         transitivePeerDependencies:
           - supports-color
         dev: true
     
    -  /vite-plugin-pwa@0.19.7(vite@5.2.7)(workbox-build@7.0.0)(workbox-window@7.0.0):
    -    resolution: {integrity: sha512-18TECxoGPQE7tVZzKxbf5Icrl5688n1JGMPSgGotTsh89vLDxevY7ICfD3CFVfonZXh8ckuyJXg0NXE5+FAl2A==}
    +  /vite-plugin-pwa@0.19.8(vite@5.2.8)(workbox-build@7.0.0)(workbox-window@7.0.0):
    +    resolution: {integrity: sha512-e1oK0dfhzhDhY3VBuML6c0h8Xfx6EkOVYqolj7g+u8eRfdauZe5RLteCIA/c5gH0CBQ0CNFAuv/AFTx4Z7IXTw==}
         engines: {node: '>=16.0.0'}
         peerDependencies:
           '@vite-pwa/assets-generator': ^0.2.4
    @@ -15602,7 +15709,7 @@ packages:
           debug: 4.3.4(supports-color@8.1.1)
           fast-glob: 3.3.2
           pretty-bytes: 6.1.1
    -      vite: 5.2.7(@types/node@20.11.30)
    +      vite: 5.2.8(@types/node@20.11.30)
           workbox-build: 7.0.0
           workbox-window: 7.0.0
         transitivePeerDependencies:
    @@ -15640,7 +15747,43 @@ packages:
           '@types/node': 20.11.30
           esbuild: 0.20.2
           postcss: 8.4.38
    -      rollup: 4.13.2
    +      rollup: 4.14.2
    +    optionalDependencies:
    +      fsevents: 2.3.3
    +    dev: true
    +
    +  /vite@5.2.8(@types/node@20.11.30):
    +    resolution: {integrity: sha512-OyZR+c1CE8yeHw5V5t59aXsUPPVTHMDjEZz8MgguLL/Q7NblxhZUlTu9xSPqlsUO/y+X7dlU05jdhvyycD55DA==}
    +    engines: {node: ^18.0.0 || >=20.0.0}
    +    hasBin: true
    +    peerDependencies:
    +      '@types/node': ^18.0.0 || >=20.0.0
    +      less: '*'
    +      lightningcss: ^1.21.0
    +      sass: '*'
    +      stylus: '*'
    +      sugarss: '*'
    +      terser: ^5.4.0
    +    peerDependenciesMeta:
    +      '@types/node':
    +        optional: true
    +      less:
    +        optional: true
    +      lightningcss:
    +        optional: true
    +      sass:
    +        optional: true
    +      stylus:
    +        optional: true
    +      sugarss:
    +        optional: true
    +      terser:
    +        optional: true
    +    dependencies:
    +      '@types/node': 20.11.30
    +      esbuild: 0.20.2
    +      postcss: 8.4.38
    +      rollup: 4.14.2
         optionalDependencies:
           fsevents: 2.3.3
         dev: true
    @@ -15658,11 +15801,11 @@ packages:
           flexsearch: 0.7.43
           glob-to-regexp: 0.4.1
           markdown-it: 13.0.1
    -      vitepress: 1.0.2(@algolia/client-search@4.23.2)(@types/node@20.11.30)(postcss@8.4.38)(search-insights@2.13.0)(typescript@5.4.3)
    -      vue: 3.4.21(typescript@5.4.3)
    +      vitepress: 1.0.2(@algolia/client-search@4.23.3)(@types/node@20.11.30)(search-insights@2.13.0)(typescript@5.4.5)
    +      vue: 3.4.21(typescript@5.4.5)
         dev: true
     
    -  /vitepress@1.0.2(@algolia/client-search@4.23.2)(@types/node@20.11.30)(postcss@8.4.38)(search-insights@2.13.0)(typescript@5.4.3):
    +  /vitepress@1.0.2(@algolia/client-search@4.23.3)(@types/node@20.11.30)(postcss@8.4.38)(search-insights@2.13.0)(typescript@5.4.5):
         resolution: {integrity: sha512-bEj9yTEdWyewJFOhEREZF+mXuAgOq27etuJZT6DZSp+J3XpQstXMJc5piSVwhZBtuj8OfA0iXy+jdP1c71KMYQ==}
         hasBin: true
         peerDependencies:
    @@ -15675,11 +15818,11 @@ packages:
             optional: true
         dependencies:
           '@docsearch/css': 3.6.0
    -      '@docsearch/js': 3.6.0(@algolia/client-search@4.23.2)(search-insights@2.13.0)
    +      '@docsearch/js': 3.6.0(@algolia/client-search@4.23.3)(search-insights@2.13.0)
           '@shikijs/core': 1.2.3
           '@shikijs/transformers': 1.2.3
           '@types/markdown-it': 13.0.7
    -      '@vitejs/plugin-vue': 5.0.4(vite@5.2.7)(vue@3.4.21)
    +      '@vitejs/plugin-vue': 5.0.4(vite@5.2.8)(vue@3.4.21)
           '@vue/devtools-api': 7.0.25(vue@3.4.21)
           '@vueuse/core': 10.9.0(vue@3.4.21)
           '@vueuse/integrations': 10.9.0(focus-trap@7.5.4)(vue@3.4.21)
    @@ -15688,8 +15831,63 @@ packages:
           minisearch: 6.3.0
           postcss: 8.4.38
           shiki: 1.2.3
    +      vite: 5.2.8(@types/node@20.11.30)
    +      vue: 3.4.21(typescript@5.4.5)
    +    transitivePeerDependencies:
    +      - '@algolia/client-search'
    +      - '@types/node'
    +      - '@types/react'
    +      - '@vue/composition-api'
    +      - async-validator
    +      - axios
    +      - change-case
    +      - drauu
    +      - fuse.js
    +      - idb-keyval
    +      - jwt-decode
    +      - less
    +      - lightningcss
    +      - nprogress
    +      - qrcode
    +      - react
    +      - react-dom
    +      - sass
    +      - search-insights
    +      - sortablejs
    +      - stylus
    +      - sugarss
    +      - terser
    +      - typescript
    +      - universal-cookie
    +    dev: true
    +
    +  /vitepress@1.0.2(@algolia/client-search@4.23.3)(@types/node@20.11.30)(search-insights@2.13.0)(typescript@5.4.5):
    +    resolution: {integrity: sha512-bEj9yTEdWyewJFOhEREZF+mXuAgOq27etuJZT6DZSp+J3XpQstXMJc5piSVwhZBtuj8OfA0iXy+jdP1c71KMYQ==}
    +    hasBin: true
    +    peerDependencies:
    +      markdown-it-mathjax3: ^4
    +      postcss: ^8
    +    peerDependenciesMeta:
    +      markdown-it-mathjax3:
    +        optional: true
    +      postcss:
    +        optional: true
    +    dependencies:
    +      '@docsearch/css': 3.6.0
    +      '@docsearch/js': 3.6.0(@algolia/client-search@4.23.3)(search-insights@2.13.0)
    +      '@shikijs/core': 1.2.3
    +      '@shikijs/transformers': 1.2.3
    +      '@types/markdown-it': 13.0.7
    +      '@vitejs/plugin-vue': 5.0.4(vite@5.2.7)(vue@3.4.21)
    +      '@vue/devtools-api': 7.0.25(vue@3.4.21)
    +      '@vueuse/core': 10.9.0(vue@3.4.21)
    +      '@vueuse/integrations': 10.9.0(focus-trap@7.5.4)(vue@3.4.21)
    +      focus-trap: 7.5.4
    +      mark.js: 8.11.1
    +      minisearch: 6.3.0
    +      shiki: 1.2.3
           vite: 5.2.7(@types/node@20.11.30)
    -      vue: 3.4.21(typescript@5.4.3)
    +      vue: 3.4.21(typescript@5.4.5)
         transitivePeerDependencies:
           - '@algolia/client-search'
           - '@types/node'
    @@ -15763,7 +15961,7 @@ packages:
           strip-literal: 2.0.0
           tinybench: 2.6.0
           tinypool: 0.8.2
    -      vite: 5.2.7(@types/node@20.11.30)
    +      vite: 5.2.8(@types/node@20.11.30)
           vite-node: 1.4.0(@types/node@20.11.30)
           why-is-node-running: 2.2.2
         transitivePeerDependencies:
    @@ -15839,7 +16037,7 @@ packages:
           '@vue/composition-api':
             optional: true
         dependencies:
    -      vue: 3.4.21(typescript@5.4.3)
    +      vue: 3.4.21(typescript@5.4.5)
         dev: false
     
       /vue-demi@0.14.7(vue@3.4.21):
    @@ -15854,9 +16052,9 @@ packages:
           '@vue/composition-api':
             optional: true
         dependencies:
    -      vue: 3.4.21(typescript@5.4.3)
    +      vue: 3.4.21(typescript@5.4.5)
     
    -  /vue@3.4.21(typescript@5.4.3):
    +  /vue@3.4.21(typescript@5.4.5):
         resolution: {integrity: sha512-5hjyV/jLEIKD/jYl4cavMcnzKwjMKohureP8ejn3hhEjwhWIhWeuzL2kJAjzl/WyVsgPY56Sy4Z40C3lVshxXA==}
         peerDependencies:
           typescript: '*'
    @@ -15869,7 +16067,7 @@ packages:
           '@vue/runtime-dom': 3.4.21
           '@vue/server-renderer': 3.4.21(vue@3.4.21)
           '@vue/shared': 3.4.21
    -      typescript: 5.4.3
    +      typescript: 5.4.5
     
       /vuex@4.1.0(vue@3.4.21):
         resolution: {integrity: sha512-hmV6UerDrPcgbSy9ORAtNXDr9M4wlNP4pEFKye4ujJF8oqgFFuxDCdOLS3eNoRTtq5O3hoBDh9Doj1bQMYHRbQ==}
    @@ -15877,7 +16075,7 @@ packages:
           vue: ^3.2.0
         dependencies:
           '@vue/devtools-api': 6.6.1
    -      vue: 3.4.21(typescript@5.4.3)
    +      vue: 3.4.21(typescript@5.4.5)
         dev: false
     
       /w3c-xmlserializer@5.0.0:
    @@ -15926,16 +16124,16 @@ packages:
         engines: {node: '>= 8'}
         dev: true
     
    -  /webdriver@7.31.1(typescript@5.4.3):
    +  /webdriver@7.31.1(typescript@5.4.5):
         resolution: {integrity: sha512-nCdJLxRnYvOMFqTEX7sqQtF/hV/Jgov0Y6ICeOm1DMTlZSRRDaUsBMlEAPkEwif9uBJYdM0znv8qzfX358AGqQ==}
         engines: {node: '>=12.0.0'}
         dependencies:
    -      '@types/node': 18.19.22
    -      '@wdio/config': 7.31.1(typescript@5.4.3)
    +      '@types/node': 18.19.31
    +      '@wdio/config': 7.31.1(typescript@5.4.5)
           '@wdio/logger': 7.26.0
           '@wdio/protocols': 7.27.0
    -      '@wdio/types': 7.30.2(typescript@5.4.3)
    -      '@wdio/utils': 7.30.2(typescript@5.4.3)
    +      '@wdio/types': 7.30.2(typescript@5.4.5)
    +      '@wdio/utils': 7.30.2(typescript@5.4.5)
           got: 11.8.6
           ky: 0.30.0
           lodash.merge: 4.6.2
    @@ -16246,10 +16444,10 @@ packages:
         engines: {node: '>=16.0.0'}
         dependencies:
           '@apideck/better-ajv-errors': 0.3.6(ajv@8.12.0)
    -      '@babel/core': 7.24.3
    -      '@babel/preset-env': 7.24.3(@babel/core@7.24.3)
    -      '@babel/runtime': 7.24.1
    -      '@rollup/plugin-babel': 5.3.1(@babel/core@7.24.3)(rollup@2.79.1)
    +      '@babel/core': 7.24.4
    +      '@babel/preset-env': 7.24.4(@babel/core@7.24.4)
    +      '@babel/runtime': 7.24.4
    +      '@rollup/plugin-babel': 5.3.1(@babel/core@7.24.4)(rollup@2.79.1)
           '@rollup/plugin-node-resolve': 11.2.1(rollup@2.79.1)
           '@rollup/plugin-replace': 2.4.2(rollup@2.79.1)
           '@surma/rollup-plugin-off-main-thread': 2.2.3
    
    From 5b6c5dff0a59232db830ddb3f6c37c0a4ee6bd9d Mon Sep 17 00:00:00 2001
    From: Sidharth Vinod 
    Date: Sun, 14 Apr 2024 12:11:01 +0530
    Subject: [PATCH 314/789] fix: eslint ignore, type definition
    
    ---
     .eslintignore                                        | 12 +-----------
     .eslintrc.cjs                                        |  2 +-
     package.json                                         |  4 ++--
     packages/mermaid/src/diagrams/class/classTypes.ts    |  4 ++--
     .../src/diagrams/quadrant-chart/quadrantDb.ts        |  5 ++++-
     packages/parser/src/language/info/module.ts          |  4 ++--
     packages/parser/src/language/packet/module.ts        |  4 ++--
     packages/parser/src/language/pie/module.ts           |  4 ++--
     8 files changed, 16 insertions(+), 23 deletions(-)
     mode change 100644 => 120000 .eslintignore
    
    diff --git a/.eslintignore b/.eslintignore
    deleted file mode 100644
    index 08b265ba06..0000000000
    --- a/.eslintignore
    +++ /dev/null
    @@ -1,11 +0,0 @@
    -dist/**
    -.github/**
    -docs/Setup.md
    -cypress.config.js
    -cypress/plugins/index.js
    -coverage
    -*.json
    -node_modules
    -
    -# autogenereated by langium-cli
    -generated/
    diff --git a/.eslintignore b/.eslintignore
    new file mode 120000
    index 0000000000..3e4e48b0b5
    --- /dev/null
    +++ b/.eslintignore
    @@ -0,0 +1 @@
    +.gitignore
    \ No newline at end of file
    diff --git a/.eslintrc.cjs b/.eslintrc.cjs
    index d0bb27bc9e..c9428c9f59 100644
    --- a/.eslintrc.cjs
    +++ b/.eslintrc.cjs
    @@ -53,7 +53,7 @@ module.exports = {
         '@typescript-eslint/no-floating-promises': 'error',
         '@typescript-eslint/no-misused-promises': 'error',
         '@typescript-eslint/no-unused-vars': 'warn',
    -    '@typescript-eslint/consistent-type-definitions': 'warn',
    +    '@typescript-eslint/consistent-type-definitions': 'error',
         '@typescript-eslint/ban-ts-comment': [
           'error',
           {
    diff --git a/package.json b/package.json
    index 6aa1fec81d..858d5ae09e 100644
    --- a/package.json
    +++ b/package.json
    @@ -25,8 +25,8 @@
         "dev:vite": "tsx .vite/server.ts",
         "dev:coverage": "pnpm coverage:cypress:clean && VITE_COVERAGE=true pnpm dev:vite",
         "release": "pnpm build",
    -    "lint": "cross-env NODE_OPTIONS=--max_old_space_size=8192 eslint --cache --cache-strategy content --ignore-path .gitignore . && pnpm lint:jison && prettier --cache --check .",
    -    "lint:fix": "cross-env NODE_OPTIONS=--max_old_space_size=8192 eslint --cache --cache-strategy content --fix --ignore-path .gitignore . && prettier --write . && tsx scripts/fixCSpell.ts",
    +    "lint": "cross-env NODE_OPTIONS=--max_old_space_size=8192 eslint --cache --cache-strategy content . && pnpm lint:jison && prettier --cache --check .",
    +    "lint:fix": "cross-env NODE_OPTIONS=--max_old_space_size=8192 eslint --cache --cache-strategy content --fix . && prettier --write . && tsx scripts/fixCSpell.ts",
         "lint:jison": "tsx ./scripts/jison/lint.mts",
         "contributors": "tsx scripts/updateContributors.ts",
         "cypress": "cypress run",
    diff --git a/packages/mermaid/src/diagrams/class/classTypes.ts b/packages/mermaid/src/diagrams/class/classTypes.ts
    index 85be3a4e87..c2f1587027 100644
    --- a/packages/mermaid/src/diagrams/class/classTypes.ts
    +++ b/packages/mermaid/src/diagrams/class/classTypes.ts
    @@ -138,7 +138,7 @@ export interface ClassNote {
       text: string;
     }
     
    -export type ClassRelation = {
    +export interface ClassRelation {
       id1: string;
       id2: string;
       relationTitle1: string;
    @@ -152,7 +152,7 @@ export type ClassRelation = {
         type2: number;
         lineType: number;
       };
    -};
    +}
     
     export interface NamespaceNode {
       id: string;
    diff --git a/packages/mermaid/src/diagrams/quadrant-chart/quadrantDb.ts b/packages/mermaid/src/diagrams/quadrant-chart/quadrantDb.ts
    index c3a79c911e..e658233555 100644
    --- a/packages/mermaid/src/diagrams/quadrant-chart/quadrantDb.ts
    +++ b/packages/mermaid/src/diagrams/quadrant-chart/quadrantDb.ts
    @@ -17,7 +17,10 @@ function textSanitizer(text: string) {
       return sanitizeText(text.trim(), config);
     }
     
    -type LexTextObj = { text: string; type: 'text' | 'markdown' };
    +interface LexTextObj {
    +  text: string;
    +  type: 'text' | 'markdown';
    +}
     
     const quadrantBuilder = new QuadrantBuilder();
     
    diff --git a/packages/parser/src/language/info/module.ts b/packages/parser/src/language/info/module.ts
    index 83933aeef4..735e161464 100644
    --- a/packages/parser/src/language/info/module.ts
    +++ b/packages/parser/src/language/info/module.ts
    @@ -19,12 +19,12 @@ import { InfoTokenBuilder } from './tokenBuilder.js';
     /**
      * Declaration of `Info` services.
      */
    -type InfoAddedServices = {
    +interface InfoAddedServices {
       parser: {
         TokenBuilder: InfoTokenBuilder;
         ValueConverter: CommonValueConverter;
       };
    -};
    +}
     
     /**
      * Union of Langium default services and `Info` services.
    diff --git a/packages/parser/src/language/packet/module.ts b/packages/parser/src/language/packet/module.ts
    index 40c68916aa..7eb65810f7 100644
    --- a/packages/parser/src/language/packet/module.ts
    +++ b/packages/parser/src/language/packet/module.ts
    @@ -19,12 +19,12 @@ import { PacketTokenBuilder } from './tokenBuilder.js';
     /**
      * Declaration of `Packet` services.
      */
    -type PacketAddedServices = {
    +interface PacketAddedServices {
       parser: {
         TokenBuilder: PacketTokenBuilder;
         ValueConverter: CommonValueConverter;
       };
    -};
    +}
     
     /**
      * Union of Langium default services and `Packet` services.
    diff --git a/packages/parser/src/language/pie/module.ts b/packages/parser/src/language/pie/module.ts
    index b85daee680..80fc26f868 100644
    --- a/packages/parser/src/language/pie/module.ts
    +++ b/packages/parser/src/language/pie/module.ts
    @@ -19,12 +19,12 @@ import { PieValueConverter } from './valueConverter.js';
     /**
      * Declaration of `Pie` services.
      */
    -type PieAddedServices = {
    +interface PieAddedServices {
       parser: {
         TokenBuilder: PieTokenBuilder;
         ValueConverter: PieValueConverter;
       };
    -};
    +}
     
     /**
      * Union of Langium default services and `Pie` services.
    
    From 2dcdcba22737a91fa710d712c11b5ee0bd9f10de Mon Sep 17 00:00:00 2001
    From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com>
    Date: Mon, 15 Apr 2024 02:00:26 +0000
    Subject: [PATCH 315/789] chore(deps): update all patch dependencies
    
    ---
     docker-compose.yml | 2 +-
     package.json       | 2 +-
     2 files changed, 2 insertions(+), 2 deletions(-)
    
    diff --git a/docker-compose.yml b/docker-compose.yml
    index 33efab4aaf..d591073e8f 100644
    --- a/docker-compose.yml
    +++ b/docker-compose.yml
    @@ -20,7 +20,7 @@ services:
           - 9000:9000
           - 3333:3333
       cypress:
    -    image: cypress/included:13.7.2
    +    image: cypress/included:13.7.3
         stdin_open: true
         tty: true
         working_dir: /mermaid
    diff --git a/package.json b/package.json
    index 858d5ae09e..f3e0b4e289 100644
    --- a/package.json
    +++ b/package.json
    @@ -4,7 +4,7 @@
       "version": "10.2.4",
       "description": "Markdownish syntax for generating flowcharts, sequence diagrams, class diagrams, gantt charts and git graphs.",
       "type": "module",
    -  "packageManager": "pnpm@8.15.6",
    +  "packageManager": "pnpm@8.15.7",
       "keywords": [
         "diagram",
         "markdown",
    
    From 5df988d2acf3d879f2d32fdab852c4891bebc281 Mon Sep 17 00:00:00 2001
    From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com>
    Date: Mon, 15 Apr 2024 05:49:28 +0000
    Subject: [PATCH 316/789] chore(deps): update all minor dependencies
    
    ---
     .node-version                          |    2 +-
     Dockerfile                             |    2 +-
     packages/mermaid/src/docs/package.json |    6 +-
     pnpm-lock.yaml                         | 1770 ++++++++----------------
     4 files changed, 605 insertions(+), 1175 deletions(-)
    
    diff --git a/.node-version b/.node-version
    index ee09fac75c..87834047a6 100644
    --- a/.node-version
    +++ b/.node-version
    @@ -1 +1 @@
    -v20.11.1
    +20.12.2
    diff --git a/Dockerfile b/Dockerfile
    index 1cc9ef0306..7bec3bd4b7 100644
    --- a/Dockerfile
    +++ b/Dockerfile
    @@ -1,2 +1,2 @@
    -FROM node:20.11.1-alpine3.19 AS base
    +FROM node:20.12.2-alpine3.19 AS base
     RUN wget -qO- https://get.pnpm.io/install.sh | ENV="$HOME/.shrc" SHELL="$(which sh)" sh -
    diff --git a/packages/mermaid/src/docs/package.json b/packages/mermaid/src/docs/package.json
    index 21e5185ab8..5f6e338a09 100644
    --- a/packages/mermaid/src/docs/package.json
    +++ b/packages/mermaid/src/docs/package.json
    @@ -24,17 +24,17 @@
       },
       "devDependencies": {
         "@iconify-json/carbon": "^1.1.31",
    -    "@unocss/reset": "^0.58.6",
    +    "@unocss/reset": "^0.59.0",
         "@vite-pwa/vitepress": "^0.4.0",
         "@vitejs/plugin-vue": "^5.0.0",
         "fast-glob": "^3.3.2",
         "https-localhost": "^4.7.1",
         "pathe": "^1.1.2",
    -    "unocss": "^0.58.6",
    +    "unocss": "^0.59.0",
         "unplugin-vue-components": "^0.26.0",
         "vite": "^5.0.0",
         "vite-plugin-pwa": "^0.19.7",
    -    "vitepress": "1.0.2",
    +    "vitepress": "1.1.0",
         "workbox-window": "^7.0.0"
       }
     }
    diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
    index 3facf82907..c1f077122e 100644
    --- a/pnpm-lock.yaml
    +++ b/pnpm-lock.yaml
    @@ -15,10 +15,10 @@ importers:
         devDependencies:
           '@applitools/eyes-cypress':
             specifier: ^3.42.3
    -        version: 3.42.3(typescript@5.4.5)
    +        version: 3.43.1(typescript@5.4.5)
           '@cspell/eslint-plugin':
             specifier: ^8.6.0
    -        version: 8.6.1
    +        version: 8.7.0(eslint@8.57.0)
           '@cypress/code-coverage':
             specifier: ^3.12.30
             version: 3.12.34(@babel/core@7.24.4)(@babel/preset-env@7.24.4)(babel-loader@9.1.3)(cypress@13.7.3)(webpack@5.91.0)
    @@ -48,25 +48,25 @@ importers:
             version: 4.0.3
           '@types/node':
             specifier: ^20.11.30
    -        version: 20.11.30
    +        version: 20.12.7
           '@types/rollup-plugin-visualizer':
             specifier: ^4.2.4
             version: 4.2.4
           '@typescript-eslint/eslint-plugin':
             specifier: ^7.3.1
    -        version: 7.3.1(@typescript-eslint/parser@7.3.1)(eslint@8.57.0)(typescript@5.4.5)
    +        version: 7.6.0(@typescript-eslint/parser@7.6.0)(eslint@8.57.0)(typescript@5.4.5)
           '@typescript-eslint/parser':
             specifier: ^7.3.1
    -        version: 7.3.1(eslint@8.57.0)(typescript@5.4.5)
    +        version: 7.6.0(eslint@8.57.0)(typescript@5.4.5)
           '@vitest/coverage-v8':
             specifier: ^1.4.0
    -        version: 1.4.0(vitest@1.4.0)
    +        version: 1.5.0(vitest@1.5.0)
           '@vitest/spy':
             specifier: ^1.4.0
    -        version: 1.4.0
    +        version: 1.5.0
           '@vitest/ui':
             specifier: ^1.4.0
    -        version: 1.4.0(vitest@1.4.0)
    +        version: 1.5.0(vitest@1.5.0)
           ajv:
             specifier: ^8.12.0
             version: 8.12.0
    @@ -84,7 +84,7 @@ importers:
             version: 7.0.3
           cspell:
             specifier: ^8.6.0
    -        version: 8.6.1
    +        version: 8.7.0
           cypress:
             specifier: ^13.7.1
             version: 13.7.3
    @@ -105,10 +105,10 @@ importers:
             version: 2.15.1(eslint@8.57.0)
           eslint-plugin-html:
             specifier: ^8.0.0
    -        version: 8.0.0
    +        version: 8.1.0
           eslint-plugin-jest:
             specifier: ^27.9.0
    -        version: 27.9.0(@typescript-eslint/eslint-plugin@7.3.1)(eslint@8.57.0)(jest@29.7.0)(typescript@5.4.5)
    +        version: 27.9.0(@typescript-eslint/eslint-plugin@7.6.0)(eslint@8.57.0)(jest@29.7.0)(typescript@5.4.5)
           eslint-plugin-jsdoc:
             specifier: ^48.2.1
             version: 48.2.3(eslint@8.57.0)
    @@ -141,7 +141,7 @@ importers:
             version: 9.0.11
           jest:
             specifier: ^29.7.0
    -        version: 29.7.0(@types/node@20.11.30)
    +        version: 29.7.0(@types/node@20.12.7)
           jison:
             specifier: ^0.4.18
             version: 0.4.18
    @@ -192,13 +192,13 @@ importers:
             version: 5.4.5
           vite:
             specifier: ^5.2.3
    -        version: 5.2.8(@types/node@20.11.30)
    +        version: 5.2.8(@types/node@20.12.7)
           vite-plugin-istanbul:
             specifier: ^6.0.0
             version: 6.0.0(vite@5.2.8)
           vitest:
             specifier: ^1.4.0
    -        version: 1.4.0(@types/node@20.11.30)(@vitest/ui@1.4.0)(jsdom@24.0.0)
    +        version: 1.5.0(@types/node@20.12.7)(@vitest/ui@1.5.0)(jsdom@24.0.0)
     
       packages/mermaid:
         dependencies:
    @@ -228,7 +228,7 @@ importers:
             version: 1.11.10
           dompurify:
             specifier: ^3.0.11
    -        version: 3.0.11
    +        version: 3.1.0
           elkjs:
             specifier: ^0.9.2
             version: 0.9.2
    @@ -259,7 +259,7 @@ importers:
             version: 8.0.2
           '@types/cytoscape':
             specifier: ^3.19.16
    -        version: 3.19.16
    +        version: 3.21.0
           '@types/d3':
             specifier: ^7.4.3
             version: 7.4.3
    @@ -304,10 +304,10 @@ importers:
             version: 9.0.8
           '@typescript-eslint/eslint-plugin':
             specifier: ^7.3.1
    -        version: 7.3.1(@typescript-eslint/parser@7.3.1)(eslint@8.57.0)(typescript@5.4.5)
    +        version: 7.6.0(@typescript-eslint/parser@7.6.0)(eslint@8.57.0)(typescript@5.4.5)
           '@typescript-eslint/parser':
             specifier: ^7.3.1
    -        version: 7.3.1(eslint@8.57.0)(typescript@5.4.5)
    +        version: 7.6.0(eslint@8.57.0)(typescript@5.4.5)
           ajv:
             specifier: ^8.12.0
             version: 8.12.0
    @@ -364,7 +364,7 @@ importers:
             version: 2.0.3
           type-fest:
             specifier: ^4.13.1
    -        version: 4.14.0
    +        version: 4.15.0
           typedoc:
             specifier: ^0.25.12
             version: 0.25.13(typescript@5.4.5)
    @@ -382,10 +382,10 @@ importers:
             version: 5.0.0
           vitepress:
             specifier: ^1.0.1
    -        version: 1.0.2(@algolia/client-search@4.23.3)(@types/node@20.11.30)(search-insights@2.13.0)(typescript@5.4.5)
    +        version: 1.1.0(@algolia/client-search@4.23.3)(@types/node@20.12.7)(postcss@8.4.38)(search-insights@2.13.0)(typescript@5.4.5)
           vitepress-plugin-search:
             specifier: 1.0.4-alpha.22
    -        version: 1.0.4-alpha.22(flexsearch@0.7.43)(vitepress@1.0.2)(vue@3.4.21)
    +        version: 1.0.4-alpha.22(flexsearch@0.7.43)(vitepress@1.1.0)(vue@3.4.21)
     
       packages/mermaid-example-diagram:
         dependencies:
    @@ -438,7 +438,7 @@ importers:
         dependencies:
           '@zenuml/core':
             specifier: ^3.19.2
    -        version: 3.19.3(typescript@5.4.5)
    +        version: 3.21.2(typescript@5.4.5)
         devDependencies:
           mermaid:
             specifier: workspace:^
    @@ -469,8 +469,8 @@ importers:
             specifier: ^1.1.31
             version: 1.1.31
           '@unocss/reset':
    -        specifier: ^0.58.6
    -        version: 0.58.9
    +        specifier: ^0.59.0
    +        version: 0.59.2
           '@vite-pwa/vitepress':
             specifier: ^0.4.0
             version: 0.4.0(vite-plugin-pwa@0.19.8)
    @@ -487,20 +487,20 @@ importers:
             specifier: ^1.1.2
             version: 1.1.2
           unocss:
    -        specifier: ^0.58.6
    -        version: 0.58.9(postcss@8.4.38)(rollup@2.79.1)(vite@5.2.8)
    +        specifier: ^0.59.0
    +        version: 0.59.2(postcss@8.4.38)(rollup@2.79.1)(vite@5.2.8)
           unplugin-vue-components:
             specifier: ^0.26.0
             version: 0.26.0(rollup@2.79.1)(vue@3.4.21)
           vite:
             specifier: ^5.0.0
    -        version: 5.2.8(@types/node@20.11.30)
    +        version: 5.2.8(@types/node@20.12.7)
           vite-plugin-pwa:
             specifier: ^0.19.7
             version: 0.19.8(vite@5.2.8)(workbox-build@7.0.0)(workbox-window@7.0.0)
           vitepress:
    -        specifier: 1.0.2
    -        version: 1.0.2(@algolia/client-search@4.23.3)(@types/node@20.11.30)(postcss@8.4.38)(search-insights@2.13.0)(typescript@5.4.5)
    +        specifier: 1.1.0
    +        version: 1.1.0(@algolia/client-search@4.23.3)(@types/node@20.12.7)(postcss@8.4.38)(search-insights@2.13.0)(typescript@5.4.5)
           workbox-window:
             specifier: ^7.0.0
             version: 7.0.0
    @@ -567,92 +567,81 @@ packages:
           - supports-color
         dev: true
     
    -  /@algolia/autocomplete-core@1.9.3(@algolia/client-search@4.23.3)(algoliasearch@4.23.2)(search-insights@2.13.0):
    +  /@algolia/autocomplete-core@1.9.3(@algolia/client-search@4.23.3)(algoliasearch@4.23.3)(search-insights@2.13.0):
         resolution: {integrity: sha512-009HdfugtGCdC4JdXUbVJClA0q0zh24yyePn+KUGk3rP7j8FEe/m5Yo/z65gn6nP/cM39PxpzqKrL7A6fP6PPw==}
         dependencies:
    -      '@algolia/autocomplete-plugin-algolia-insights': 1.9.3(@algolia/client-search@4.23.3)(algoliasearch@4.23.2)(search-insights@2.13.0)
    -      '@algolia/autocomplete-shared': 1.9.3(@algolia/client-search@4.23.3)(algoliasearch@4.23.2)
    +      '@algolia/autocomplete-plugin-algolia-insights': 1.9.3(@algolia/client-search@4.23.3)(algoliasearch@4.23.3)(search-insights@2.13.0)
    +      '@algolia/autocomplete-shared': 1.9.3(@algolia/client-search@4.23.3)(algoliasearch@4.23.3)
         transitivePeerDependencies:
           - '@algolia/client-search'
           - algoliasearch
           - search-insights
         dev: true
     
    -  /@algolia/autocomplete-plugin-algolia-insights@1.9.3(@algolia/client-search@4.23.3)(algoliasearch@4.23.2)(search-insights@2.13.0):
    +  /@algolia/autocomplete-plugin-algolia-insights@1.9.3(@algolia/client-search@4.23.3)(algoliasearch@4.23.3)(search-insights@2.13.0):
         resolution: {integrity: sha512-a/yTUkcO/Vyy+JffmAnTWbr4/90cLzw+CC3bRbhnULr/EM0fGNvM13oQQ14f2moLMcVDyAx/leczLlAOovhSZg==}
         peerDependencies:
           search-insights: '>= 1 < 3'
         dependencies:
    -      '@algolia/autocomplete-shared': 1.9.3(@algolia/client-search@4.23.3)(algoliasearch@4.23.2)
    +      '@algolia/autocomplete-shared': 1.9.3(@algolia/client-search@4.23.3)(algoliasearch@4.23.3)
           search-insights: 2.13.0
         transitivePeerDependencies:
           - '@algolia/client-search'
           - algoliasearch
         dev: true
     
    -  /@algolia/autocomplete-preset-algolia@1.9.3(@algolia/client-search@4.23.3)(algoliasearch@4.23.2):
    +  /@algolia/autocomplete-preset-algolia@1.9.3(@algolia/client-search@4.23.3)(algoliasearch@4.23.3):
         resolution: {integrity: sha512-d4qlt6YmrLMYy95n5TB52wtNDr6EgAIPH81dvvvW8UmuWRgxEtY0NJiPwl/h95JtG2vmRM804M0DSwMCNZlzRA==}
         peerDependencies:
           '@algolia/client-search': '>= 4.9.1 < 6'
           algoliasearch: '>= 4.9.1 < 6'
         dependencies:
    -      '@algolia/autocomplete-shared': 1.9.3(@algolia/client-search@4.23.3)(algoliasearch@4.23.2)
    +      '@algolia/autocomplete-shared': 1.9.3(@algolia/client-search@4.23.3)(algoliasearch@4.23.3)
           '@algolia/client-search': 4.23.3
    -      algoliasearch: 4.23.2
    +      algoliasearch: 4.23.3
         dev: true
     
    -  /@algolia/autocomplete-shared@1.9.3(@algolia/client-search@4.23.3)(algoliasearch@4.23.2):
    +  /@algolia/autocomplete-shared@1.9.3(@algolia/client-search@4.23.3)(algoliasearch@4.23.3):
         resolution: {integrity: sha512-Wnm9E4Ye6Rl6sTTqjoymD+l8DjSTHsHboVRYrKgEt8Q7UHm9nYbqhN/i0fhUYA3OAEH7WA8x3jfpnmJm3rKvaQ==}
         peerDependencies:
           '@algolia/client-search': '>= 4.9.1 < 6'
           algoliasearch: '>= 4.9.1 < 6'
         dependencies:
           '@algolia/client-search': 4.23.3
    -      algoliasearch: 4.23.2
    +      algoliasearch: 4.23.3
         dev: true
     
    -  /@algolia/cache-browser-local-storage@4.23.2:
    -    resolution: {integrity: sha512-PvRQdCmtiU22dw9ZcTJkrVKgNBVAxKgD0/cfiqyxhA5+PHzA2WDt6jOmZ9QASkeM2BpyzClJb/Wr1yt2/t78Kw==}
    +  /@algolia/cache-browser-local-storage@4.23.3:
    +    resolution: {integrity: sha512-vRHXYCpPlTDE7i6UOy2xE03zHF2C8MEFjPN2v7fRbqVpcOvAUQK81x3Kc21xyb5aSIpYCjWCZbYZuz8Glyzyyg==}
         dependencies:
    -      '@algolia/cache-common': 4.23.2
    -    dev: true
    -
    -  /@algolia/cache-common@4.23.2:
    -    resolution: {integrity: sha512-OUK/6mqr6CQWxzl/QY0/mwhlGvS6fMtvEPyn/7AHUx96NjqDA4X4+Ju7aXFQKh+m3jW9VPB0B9xvEQgyAnRPNw==}
    +      '@algolia/cache-common': 4.23.3
         dev: true
     
       /@algolia/cache-common@4.23.3:
         resolution: {integrity: sha512-h9XcNI6lxYStaw32pHpB1TMm0RuxphF+Ik4o7tcQiodEdpKK+wKufY6QXtba7t3k8eseirEMVB83uFFF3Nu54A==}
         dev: true
     
    -  /@algolia/cache-in-memory@4.23.2:
    -    resolution: {integrity: sha512-rfbi/SnhEa3MmlqQvgYz/9NNJ156NkU6xFxjbxBtLWnHbpj+qnlMoKd+amoiacHRITpajg6zYbLM9dnaD3Bczw==}
    -    dependencies:
    -      '@algolia/cache-common': 4.23.2
    -    dev: true
    -
    -  /@algolia/client-account@4.23.2:
    -    resolution: {integrity: sha512-VbrOCLIN/5I7iIdskSoSw3uOUPF516k4SjDD4Qz3BFwa3of7D9A0lzBMAvQEJJEPHWdVraBJlGgdJq/ttmquJQ==}
    +  /@algolia/cache-in-memory@4.23.3:
    +    resolution: {integrity: sha512-yvpbuUXg/+0rbcagxNT7un0eo3czx2Uf0y4eiR4z4SD7SiptwYTpbuS0IHxcLHG3lq22ukx1T6Kjtk/rT+mqNg==}
         dependencies:
    -      '@algolia/client-common': 4.23.2
    -      '@algolia/client-search': 4.23.2
    -      '@algolia/transporter': 4.23.2
    +      '@algolia/cache-common': 4.23.3
         dev: true
     
    -  /@algolia/client-analytics@4.23.2:
    -    resolution: {integrity: sha512-lLj7irsAztGhMoEx/SwKd1cwLY6Daf1Q5f2AOsZacpppSvuFvuBrmkzT7pap1OD/OePjLKxicJS8wNA0+zKtuw==}
    +  /@algolia/client-account@4.23.3:
    +    resolution: {integrity: sha512-hpa6S5d7iQmretHHF40QGq6hz0anWEHGlULcTIT9tbUssWUriN9AUXIFQ8Ei4w9azD0hc1rUok9/DeQQobhQMA==}
         dependencies:
    -      '@algolia/client-common': 4.23.2
    -      '@algolia/client-search': 4.23.2
    -      '@algolia/requester-common': 4.23.2
    -      '@algolia/transporter': 4.23.2
    +      '@algolia/client-common': 4.23.3
    +      '@algolia/client-search': 4.23.3
    +      '@algolia/transporter': 4.23.3
         dev: true
     
    -  /@algolia/client-common@4.23.2:
    -    resolution: {integrity: sha512-Q2K1FRJBern8kIfZ0EqPvUr3V29ICxCm/q42zInV+VJRjldAD9oTsMGwqUQ26GFMdFYmqkEfCbY4VGAiQhh22g==}
    +  /@algolia/client-analytics@4.23.3:
    +    resolution: {integrity: sha512-LBsEARGS9cj8VkTAVEZphjxTjMVCci+zIIiRhpFun9jGDUlS1XmhCW7CTrnaWeIuCQS/2iPyRqSy1nXPjcBLRA==}
         dependencies:
    -      '@algolia/requester-common': 4.23.2
    -      '@algolia/transporter': 4.23.2
    +      '@algolia/client-common': 4.23.3
    +      '@algolia/client-search': 4.23.3
    +      '@algolia/requester-common': 4.23.3
    +      '@algolia/transporter': 4.23.3
         dev: true
     
       /@algolia/client-common@4.23.3:
    @@ -662,20 +651,12 @@ packages:
           '@algolia/transporter': 4.23.3
         dev: true
     
    -  /@algolia/client-personalization@4.23.2:
    -    resolution: {integrity: sha512-vwPsgnCGhUcHhhQG5IM27z8q7dWrN9itjdvgA6uKf2e9r7vB+WXt4OocK0CeoYQt3OGEAExryzsB8DWqdMK5wg==}
    -    dependencies:
    -      '@algolia/client-common': 4.23.2
    -      '@algolia/requester-common': 4.23.2
    -      '@algolia/transporter': 4.23.2
    -    dev: true
    -
    -  /@algolia/client-search@4.23.2:
    -    resolution: {integrity: sha512-CxSB29OVGSE7l/iyoHvamMonzq7Ev8lnk/OkzleODZ1iBcCs3JC/XgTIKzN/4RSTrJ9QybsnlrN/bYCGufo7qw==}
    +  /@algolia/client-personalization@4.23.3:
    +    resolution: {integrity: sha512-3E3yF3Ocr1tB/xOZiuC3doHQBQ2zu2MPTYZ0d4lpfWads2WTKG7ZzmGnsHmm63RflvDeLK/UVx7j2b3QuwKQ2g==}
         dependencies:
    -      '@algolia/client-common': 4.23.2
    -      '@algolia/requester-common': 4.23.2
    -      '@algolia/transporter': 4.23.2
    +      '@algolia/client-common': 4.23.3
    +      '@algolia/requester-common': 4.23.3
    +      '@algolia/transporter': 4.23.3
         dev: true
     
       /@algolia/client-search@4.23.3:
    @@ -686,62 +667,46 @@ packages:
           '@algolia/transporter': 4.23.3
         dev: true
     
    -  /@algolia/logger-common@4.23.2:
    -    resolution: {integrity: sha512-jGM49Q7626cXZ7qRAWXn0jDlzvoA1FvN4rKTi1g0hxKsTTSReyYk0i1ADWjChDPl3Q+nSDhJuosM2bBUAay7xw==}
    -    dev: true
    -
       /@algolia/logger-common@4.23.3:
         resolution: {integrity: sha512-y9kBtmJwiZ9ZZ+1Ek66P0M68mHQzKRxkW5kAAXYN/rdzgDN0d2COsViEFufxJ0pb45K4FRcfC7+33YB4BLrZ+g==}
         dev: true
     
    -  /@algolia/logger-console@4.23.2:
    -    resolution: {integrity: sha512-oo+lnxxEmlhTBTFZ3fGz1O8PJ+G+8FiAoMY2Qo3Q4w23xocQev6KqDTA1JQAGPDxAewNA2VBwWOsVXeXFjrI/Q==}
    +  /@algolia/logger-console@4.23.3:
    +    resolution: {integrity: sha512-8xoiseoWDKuCVnWP8jHthgaeobDLolh00KJAdMe9XPrWPuf1by732jSpgy2BlsLTaT9m32pHI8CRfrOqQzHv3A==}
         dependencies:
    -      '@algolia/logger-common': 4.23.2
    +      '@algolia/logger-common': 4.23.3
         dev: true
     
    -  /@algolia/recommend@4.23.2:
    -    resolution: {integrity: sha512-Q75CjnzRCDzgIlgWfPnkLtrfF4t82JCirhalXkSSwe/c1GH5pWh4xUyDOR3KTMo+YxxX3zTlrL/FjHmUJEWEcg==}
    +  /@algolia/recommend@4.23.3:
    +    resolution: {integrity: sha512-9fK4nXZF0bFkdcLBRDexsnGzVmu4TSYZqxdpgBW2tEyfuSSY54D4qSRkLmNkrrz4YFvdh2GM1gA8vSsnZPR73w==}
         dependencies:
    -      '@algolia/cache-browser-local-storage': 4.23.2
    -      '@algolia/cache-common': 4.23.2
    -      '@algolia/cache-in-memory': 4.23.2
    -      '@algolia/client-common': 4.23.2
    -      '@algolia/client-search': 4.23.2
    -      '@algolia/logger-common': 4.23.2
    -      '@algolia/logger-console': 4.23.2
    -      '@algolia/requester-browser-xhr': 4.23.2
    -      '@algolia/requester-common': 4.23.2
    -      '@algolia/requester-node-http': 4.23.2
    -      '@algolia/transporter': 4.23.2
    +      '@algolia/cache-browser-local-storage': 4.23.3
    +      '@algolia/cache-common': 4.23.3
    +      '@algolia/cache-in-memory': 4.23.3
    +      '@algolia/client-common': 4.23.3
    +      '@algolia/client-search': 4.23.3
    +      '@algolia/logger-common': 4.23.3
    +      '@algolia/logger-console': 4.23.3
    +      '@algolia/requester-browser-xhr': 4.23.3
    +      '@algolia/requester-common': 4.23.3
    +      '@algolia/requester-node-http': 4.23.3
    +      '@algolia/transporter': 4.23.3
         dev: true
     
    -  /@algolia/requester-browser-xhr@4.23.2:
    -    resolution: {integrity: sha512-TO9wLlp8+rvW9LnIfyHsu8mNAMYrqNdQ0oLF6eTWFxXfxG3k8F/Bh7nFYGk2rFAYty4Fw4XUtrv/YjeNDtM5og==}
    +  /@algolia/requester-browser-xhr@4.23.3:
    +    resolution: {integrity: sha512-jDWGIQ96BhXbmONAQsasIpTYWslyjkiGu0Quydjlowe+ciqySpiDUrJHERIRfELE5+wFc7hc1Q5hqjGoV7yghw==}
         dependencies:
    -      '@algolia/requester-common': 4.23.2
    -    dev: true
    -
    -  /@algolia/requester-common@4.23.2:
    -    resolution: {integrity: sha512-3EfpBS0Hri0lGDB5H/BocLt7Vkop0bTTLVUBB844HH6tVycwShmsV6bDR7yXbQvFP1uNpgePRD3cdBCjeHmk6Q==}
    +      '@algolia/requester-common': 4.23.3
         dev: true
     
       /@algolia/requester-common@4.23.3:
         resolution: {integrity: sha512-xloIdr/bedtYEGcXCiF2muajyvRhwop4cMZo+K2qzNht0CMzlRkm8YsDdj5IaBhshqfgmBb3rTg4sL4/PpvLYw==}
         dev: true
     
    -  /@algolia/requester-node-http@4.23.2:
    -    resolution: {integrity: sha512-SVzgkZM/malo+2SB0NWDXpnT7nO5IZwuDTaaH6SjLeOHcya1o56LSWXk+3F3rNLz2GVH+I/rpYKiqmHhSOjerw==}
    +  /@algolia/requester-node-http@4.23.3:
    +    resolution: {integrity: sha512-zgu++8Uj03IWDEJM3fuNl34s746JnZOWn1Uz5taV1dFyJhVM/kTNw9Ik7YJWiUNHJQXcaD8IXD1eCb0nq/aByA==}
         dependencies:
    -      '@algolia/requester-common': 4.23.2
    -    dev: true
    -
    -  /@algolia/transporter@4.23.2:
    -    resolution: {integrity: sha512-GY3aGKBy+8AK4vZh8sfkatDciDVKad5rTY2S10Aefyjh7e7UGBP4zigf42qVXwU8VOPwi7l/L7OACGMOFcjB0Q==}
    -    dependencies:
    -      '@algolia/cache-common': 4.23.2
    -      '@algolia/logger-common': 4.23.2
    -      '@algolia/requester-common': 4.23.2
    +      '@algolia/requester-common': 4.23.3
         dev: true
     
       /@algolia/transporter@4.23.3:
    @@ -792,8 +757,8 @@ packages:
           leven: 3.1.0
         dev: true
     
    -  /@applitools/core-base@1.9.1:
    -    resolution: {integrity: sha512-G6ZuS14hnGps71Kt0Ge0rlVpqBt9LSogNsSUdXkIjJn9FejOZnbC7OoqHWplDDRSi7vBK9PG/xJcSSvVe9DSWQ==}
    +  /@applitools/core-base@1.10.1:
    +    resolution: {integrity: sha512-s4q72eyPLaV1D5xXH1He72y/yCdSihL4oNs6vRe+IxP2CSDH8b42B+8Ps2nAPMNxatp7nzpHq/jRfXHv24Z1ZQ==}
         engines: {node: '>=12.13.0'}
         dependencies:
           '@applitools/image': 1.1.9
    @@ -806,16 +771,16 @@ packages:
           - supports-color
         dev: true
     
    -  /@applitools/core@4.10.2(typescript@5.4.5):
    -    resolution: {integrity: sha512-uXsqp43mSvRl4wrb8rXEK3Wc5oZKL5YpUlUpjH4bCxWmh/xNHz9obtbt/NbQtQNwR8PYmXy0RaXzbNusZfGa+g==}
    +  /@applitools/core@4.11.1(typescript@5.4.5):
    +    resolution: {integrity: sha512-j+LbBn6e7KMONzacFNI+VxEJjBB+3TxxntJrhzBJE9hUzhLuXYR8+oVcpJf0FHyfwruUEF9Fsi+A2K++d3uG5g==}
         engines: {node: '>=12.13.0'}
         hasBin: true
         dependencies:
    -      '@applitools/core-base': 1.9.1
    +      '@applitools/core-base': 1.10.1
           '@applitools/dom-capture': 11.2.6
           '@applitools/dom-snapshot': 4.9.2
           '@applitools/driver': 1.16.5
    -      '@applitools/ec-client': 1.7.30(typescript@5.4.5)
    +      '@applitools/ec-client': 1.7.32(typescript@5.4.5)
           '@applitools/logger': 2.0.14
           '@applitools/nml-client': 1.7.5
           '@applitools/req': 1.6.5
    @@ -884,12 +849,12 @@ packages:
           - supports-color
         dev: true
     
    -  /@applitools/ec-client@1.7.30(typescript@5.4.5):
    -    resolution: {integrity: sha512-LDJdScYycrqKKKhYKdhe7ezaWHVv5R7uC9KPEnM20RhwW30DOkTC31RWLZqXChPdeuPfTuspR15njM2yiPUoZQ==}
    +  /@applitools/ec-client@1.7.32(typescript@5.4.5):
    +    resolution: {integrity: sha512-jwjrcpuQLAEManS3V5bCB6BMgl4+/SL95uRwM8yIRQpHw0+l0w6yTuqOAmrygPHTKphHNjDurDia0lmt30IrQA==}
         engines: {node: '>=12.13.0'}
         hasBin: true
         dependencies:
    -      '@applitools/core-base': 1.9.1
    +      '@applitools/core-base': 1.10.1
           '@applitools/driver': 1.16.5
           '@applitools/logger': 2.0.14
           '@applitools/req': 1.6.5
    @@ -910,8 +875,8 @@ packages:
         engines: {node: '>=12.13.0'}
         dev: true
     
    -  /@applitools/eg-socks5-proxy-server@0.5.4:
    -    resolution: {integrity: sha512-LEucOmy1MXft6c07CkqKPS1Ov9Zg9WyHV2vI1SbbHR3AG4cEM2M3N0qcWlytxjzef9t22+1tOpEJhrBS65bSQw==}
    +  /@applitools/eg-socks5-proxy-server@0.5.6:
    +    resolution: {integrity: sha512-SjjDBFeiKspX3nHKOoSQ+l4JUiJK3xJiWAEaR8b+GuMvnGFLnrvAECHhuXXG00+LwBJM8WKmfxEe17nvZe+nhg==}
         engines: {node: '>=12'}
         dependencies:
           binary: 0.3.0
    @@ -924,7 +889,7 @@ packages:
         hasBin: true
         dependencies:
           '@applitools/eg-frpc': 1.0.5
    -      '@applitools/eg-socks5-proxy-server': 0.5.4
    +      '@applitools/eg-socks5-proxy-server': 0.5.6
           '@applitools/logger': 1.1.53
           dotenv: 16.4.5
           encoding: 0.1.13
    @@ -940,13 +905,13 @@ packages:
           - supports-color
         dev: true
     
    -  /@applitools/eyes-cypress@3.42.3(typescript@5.4.5):
    -    resolution: {integrity: sha512-4rB95syFt+nEPmbO6uMsg/EXV3epTJTrbNLc+YE4TiFGDd7pLuWn1p7Ccng0LVey91+B7MmzQ2EXaWu5B1j5vQ==}
    +  /@applitools/eyes-cypress@3.43.1(typescript@5.4.5):
    +    resolution: {integrity: sha512-qq7vKsMRiZj1s21G9s1umma9NfDAeproqjygKcrEwMQ7+dGTpPrBbttC25S+Ge50a4PmIoZ6yao4FxKviC3J+Q==}
         engines: {node: '>=12.13.0'}
         hasBin: true
         dependencies:
    -      '@applitools/core': 4.10.2(typescript@5.4.5)
    -      '@applitools/eyes': 1.16.2(typescript@5.4.5)
    +      '@applitools/core': 4.11.1(typescript@5.4.5)
    +      '@applitools/eyes': 1.17.1(typescript@5.4.5)
           '@applitools/functional-commons': 1.6.0
           '@applitools/logger': 2.0.14
           '@applitools/utils': 1.7.0
    @@ -963,11 +928,11 @@ packages:
           - utf-8-validate
         dev: true
     
    -  /@applitools/eyes@1.16.2(typescript@5.4.5):
    -    resolution: {integrity: sha512-AmZXLI13Bvg+G+P+j1zjrj0xup9Py6INJYDFylpeA6zCe/2ebvLBRrZkIN0ax40xfc7ZHZQgH/LwBSTPtzczqg==}
    +  /@applitools/eyes@1.17.1(typescript@5.4.5):
    +    resolution: {integrity: sha512-kgDgILH4yuKBEve4J93Y9XXqF2GPfoEPbrSM3lJY4JUvTFl2q6czfAVtZO7HfQkTFuW4Q/YK2wZg/sTGCWznnQ==}
         engines: {node: '>=12.13.0'}
         dependencies:
    -      '@applitools/core': 4.10.2(typescript@5.4.5)
    +      '@applitools/core': 4.11.1(typescript@5.4.5)
           '@applitools/logger': 2.0.14
           '@applitools/utils': 1.7.0
         transitivePeerDependencies:
    @@ -1124,19 +1089,11 @@ packages:
         engines: {node: '>=12.13.0'}
         dev: true
     
    -  /@babel/code-frame@7.22.10:
    -    resolution: {integrity: sha512-/KKIMG4UEL35WmI9OlvMhurwtytjvXoFcGNrOvyG9zIzA8YmPjVtIZUf7b05+TPO7G7/GEmLHDaoCgACHl9hhA==}
    -    engines: {node: '>=6.9.0'}
    -    dependencies:
    -      '@babel/highlight': 7.22.20
    -      chalk: 2.4.2
    -    dev: true
    -
       /@babel/code-frame@7.23.5:
         resolution: {integrity: sha512-CgH3s1a96LipHCmSUmYFPwY7MNx8C3avkq7i4Wl3cfa662ldtUe4VM1TPXX70pfmrlWTb6jLqTYrZyT2ZTJBgA==}
         engines: {node: '>=6.9.0'}
         dependencies:
    -      '@babel/highlight': 7.23.4
    +      '@babel/highlight': 7.24.2
           chalk: 2.4.2
         dev: true
     
    @@ -1148,90 +1105,11 @@ packages:
           picocolors: 1.0.0
         dev: true
     
    -  /@babel/compat-data@7.22.9:
    -    resolution: {integrity: sha512-5UamI7xkUcJ3i9qVDS+KFDEK8/7oJ55/sJMB1Ge7IEapr7KfdfV/HErR+koZwOfd+SgtFKOKRhRakdg++DcJpQ==}
    -    engines: {node: '>=6.9.0'}
    -    dev: true
    -
    -  /@babel/compat-data@7.24.1:
    -    resolution: {integrity: sha512-Pc65opHDliVpRHuKfzI+gSA4zcgr65O4cl64fFJIWEEh8JoHIHh0Oez1Eo8Arz8zq/JhgKodQaxEwUPRtZylVA==}
    -    engines: {node: '>=6.9.0'}
    -    dev: true
    -
       /@babel/compat-data@7.24.4:
         resolution: {integrity: sha512-vg8Gih2MLK+kOkHJp4gBEIkyaIi00jgWot2D9QOmmfLC8jINSOzmCLta6Bvz/JSBCqnegV0L80jhxkol5GWNfQ==}
         engines: {node: '>=6.9.0'}
         dev: true
     
    -  /@babel/core@7.22.10:
    -    resolution: {integrity: sha512-fTmqbbUBAwCcre6zPzNngvsI0aNrPZe77AeqvDxWM9Nm+04RrJ3CAmGHA9f7lJQY6ZMhRztNemy4uslDxTX4Qw==}
    -    engines: {node: '>=6.9.0'}
    -    dependencies:
    -      '@ampproject/remapping': 2.3.0
    -      '@babel/code-frame': 7.22.10
    -      '@babel/generator': 7.22.10
    -      '@babel/helper-compilation-targets': 7.22.10
    -      '@babel/helper-module-transforms': 7.22.9(@babel/core@7.22.10)
    -      '@babel/helpers': 7.22.10
    -      '@babel/parser': 7.24.1
    -      '@babel/template': 7.22.5
    -      '@babel/traverse': 7.23.2
    -      '@babel/types': 7.24.0
    -      convert-source-map: 1.9.0
    -      debug: 4.3.4(supports-color@8.1.1)
    -      gensync: 1.0.0-beta.2
    -      json5: 2.2.3
    -      semver: 6.3.1
    -    transitivePeerDependencies:
    -      - supports-color
    -    dev: true
    -
    -  /@babel/core@7.24.0:
    -    resolution: {integrity: sha512-fQfkg0Gjkza3nf0c7/w6Xf34BW4YvzNfACRLmmb7XRLa6XHdR+K9AlJlxneFfWYf6uhOzuzZVTjF/8KfndZANw==}
    -    engines: {node: '>=6.9.0'}
    -    dependencies:
    -      '@ampproject/remapping': 2.3.0
    -      '@babel/code-frame': 7.23.5
    -      '@babel/generator': 7.23.6
    -      '@babel/helper-compilation-targets': 7.23.6
    -      '@babel/helper-module-transforms': 7.23.3(@babel/core@7.24.0)
    -      '@babel/helpers': 7.24.0
    -      '@babel/parser': 7.24.0
    -      '@babel/template': 7.24.0
    -      '@babel/traverse': 7.24.0
    -      '@babel/types': 7.24.0
    -      convert-source-map: 2.0.0
    -      debug: 4.3.4(supports-color@8.1.1)
    -      gensync: 1.0.0-beta.2
    -      json5: 2.2.3
    -      semver: 6.3.1
    -    transitivePeerDependencies:
    -      - supports-color
    -    dev: true
    -
    -  /@babel/core@7.24.3:
    -    resolution: {integrity: sha512-5FcvN1JHw2sHJChotgx8Ek0lyuh4kCKelgMTTqhYJJtloNvUfpAFMeNQUtdlIaktwrSV9LtCdqwk48wL2wBacQ==}
    -    engines: {node: '>=6.9.0'}
    -    dependencies:
    -      '@ampproject/remapping': 2.3.0
    -      '@babel/code-frame': 7.24.2
    -      '@babel/generator': 7.24.1
    -      '@babel/helper-compilation-targets': 7.23.6
    -      '@babel/helper-module-transforms': 7.23.3(@babel/core@7.24.3)
    -      '@babel/helpers': 7.24.1
    -      '@babel/parser': 7.24.1
    -      '@babel/template': 7.24.0
    -      '@babel/traverse': 7.24.1
    -      '@babel/types': 7.24.0
    -      convert-source-map: 2.0.0
    -      debug: 4.3.4(supports-color@8.1.1)
    -      gensync: 1.0.0-beta.2
    -      json5: 2.2.3
    -      semver: 6.3.1
    -    transitivePeerDependencies:
    -      - supports-color
    -    dev: true
    -
       /@babel/core@7.24.4:
         resolution: {integrity: sha512-MBVlMXP+kkl5394RBLSxxk/iLTeVGuXTV3cIDXavPpMMqnSnt6apKgan/U8O3USWZCWZT/TbgfEpKa4uMgN4Dg==}
         engines: {node: '>=6.9.0'}
    @@ -1255,36 +1133,6 @@ packages:
           - supports-color
         dev: true
     
    -  /@babel/generator@7.22.10:
    -    resolution: {integrity: sha512-79KIf7YiWjjdZ81JnLujDRApWtl7BxTqWD88+FFdQEIOG8LJ0etDOM7CXuIgGJa55sGOwZVwuEsaLEm0PJ5/+A==}
    -    engines: {node: '>=6.9.0'}
    -    dependencies:
    -      '@babel/types': 7.24.0
    -      '@jridgewell/gen-mapping': 0.3.5
    -      '@jridgewell/trace-mapping': 0.3.25
    -      jsesc: 2.5.2
    -    dev: true
    -
    -  /@babel/generator@7.23.6:
    -    resolution: {integrity: sha512-qrSfCYxYQB5owCmGLbl8XRpX1ytXlpueOb0N0UmQwA073KZxejgQTzAmJezxvpwQD9uGtK2shHdi55QT+MbjIw==}
    -    engines: {node: '>=6.9.0'}
    -    dependencies:
    -      '@babel/types': 7.24.0
    -      '@jridgewell/gen-mapping': 0.3.5
    -      '@jridgewell/trace-mapping': 0.3.25
    -      jsesc: 2.5.2
    -    dev: true
    -
    -  /@babel/generator@7.24.1:
    -    resolution: {integrity: sha512-DfCRfZsBcrPEHUfuBMgbJ1Ut01Y/itOs+hY2nFLgqsqXd52/iSiVq5TITtUasIUgm+IIKdY2/1I7auiQOEeC9A==}
    -    engines: {node: '>=6.9.0'}
    -    dependencies:
    -      '@babel/types': 7.24.0
    -      '@jridgewell/gen-mapping': 0.3.5
    -      '@jridgewell/trace-mapping': 0.3.25
    -      jsesc: 2.5.2
    -    dev: true
    -
       /@babel/generator@7.24.4:
         resolution: {integrity: sha512-Xd6+v6SnjWVx/nus+y0l1sxMOTOMBkyL4+BIdbALyatQnAe/SRVjANeDPSCYaX+i1iJmuGSKf3Z+E+V/va1Hvw==}
         engines: {node: '>=6.9.0'}
    @@ -1309,46 +1157,17 @@ packages:
           '@babel/types': 7.24.0
         dev: true
     
    -  /@babel/helper-compilation-targets@7.22.10:
    -    resolution: {integrity: sha512-JMSwHD4J7SLod0idLq5PKgI+6g/hLD/iuWBq08ZX49xE14VpVEojJ5rHWptpirV2j020MvypRLAXAO50igCJ5Q==}
    -    engines: {node: '>=6.9.0'}
    -    dependencies:
    -      '@babel/compat-data': 7.22.9
    -      '@babel/helper-validator-option': 7.23.5
    -      browserslist: 4.23.0
    -      lru-cache: 5.1.1
    -      semver: 6.3.1
    -    dev: true
    -
       /@babel/helper-compilation-targets@7.23.6:
         resolution: {integrity: sha512-9JB548GZoQVmzrFgp8o7KxdgkTGm6xs9DW0o/Pim72UDjzr5ObUQ6ZzYPqA+g9OTS2bBQoctLJrky0RDCAWRgQ==}
         engines: {node: '>=6.9.0'}
         dependencies:
    -      '@babel/compat-data': 7.24.1
    +      '@babel/compat-data': 7.24.4
           '@babel/helper-validator-option': 7.23.5
           browserslist: 4.23.0
           lru-cache: 5.1.1
           semver: 6.3.1
         dev: true
     
    -  /@babel/helper-create-class-features-plugin@7.24.1(@babel/core@7.24.3):
    -    resolution: {integrity: sha512-1yJa9dX9g//V6fDebXoEfEsxkZHk3Hcbm+zLhyu6qVgYFLvmTALTeV+jNU9e5RnYtioBrGEOdoI2joMSNQ/+aA==}
    -    engines: {node: '>=6.9.0'}
    -    peerDependencies:
    -      '@babel/core': ^7.0.0
    -    dependencies:
    -      '@babel/core': 7.24.3
    -      '@babel/helper-annotate-as-pure': 7.22.5
    -      '@babel/helper-environment-visitor': 7.22.20
    -      '@babel/helper-function-name': 7.23.0
    -      '@babel/helper-member-expression-to-functions': 7.23.0
    -      '@babel/helper-optimise-call-expression': 7.22.5
    -      '@babel/helper-replace-supers': 7.24.1(@babel/core@7.24.3)
    -      '@babel/helper-skip-transparent-expression-wrappers': 7.22.5
    -      '@babel/helper-split-export-declaration': 7.22.6
    -      semver: 6.3.1
    -    dev: true
    -
       /@babel/helper-create-class-features-plugin@7.24.4(@babel/core@7.24.4):
         resolution: {integrity: sha512-lG75yeuUSVu0pIcbhiYMXBXANHrpUPaOfu7ryAzskCgKUHuAxRQI5ssrtmF0X9UXldPlvT0XM/A4F44OXRt6iQ==}
         engines: {node: '>=6.9.0'}
    @@ -1421,20 +1240,6 @@ packages:
           '@babel/types': 7.24.0
         dev: true
     
    -  /@babel/helper-module-imports@7.22.15:
    -    resolution: {integrity: sha512-0pYVBnDKZO2fnSPCrgM/6WMc7eS20Fbok+0r88fp+YtWVLZrp4CkafFGIp+W0VKw4a22sgebPT99y+FDNMdP4w==}
    -    engines: {node: '>=6.9.0'}
    -    dependencies:
    -      '@babel/types': 7.24.0
    -    dev: true
    -
    -  /@babel/helper-module-imports@7.22.5:
    -    resolution: {integrity: sha512-8Dl6+HD/cKifutF5qGd/8ZJi84QeAKh+CEe1sBzz8UayBBGg1dAIJrdHOcOM5b2MpzWL2yuotJTtGjETq0qjXg==}
    -    engines: {node: '>=6.9.0'}
    -    dependencies:
    -      '@babel/types': 7.24.0
    -    dev: true
    -
       /@babel/helper-module-imports@7.24.3:
         resolution: {integrity: sha512-viKb0F9f2s0BCS22QSF308z/+1YWKV/76mwt61NBzS5izMzDPwdq1pTrzf+Li3npBWX9KdQbkeCt1jSAM7lZqg==}
         engines: {node: '>=6.9.0'}
    @@ -1442,48 +1247,6 @@ packages:
           '@babel/types': 7.24.0
         dev: true
     
    -  /@babel/helper-module-transforms@7.22.9(@babel/core@7.22.10):
    -    resolution: {integrity: sha512-t+WA2Xn5K+rTeGtC8jCsdAH52bjggG5TKRuRrAGNM/mjIbO4GxvlLMFOEz9wXY5I2XQ60PMFsAG2WIcG82dQMQ==}
    -    engines: {node: '>=6.9.0'}
    -    peerDependencies:
    -      '@babel/core': ^7.0.0
    -    dependencies:
    -      '@babel/core': 7.22.10
    -      '@babel/helper-environment-visitor': 7.22.20
    -      '@babel/helper-module-imports': 7.22.5
    -      '@babel/helper-simple-access': 7.22.5
    -      '@babel/helper-split-export-declaration': 7.22.6
    -      '@babel/helper-validator-identifier': 7.22.20
    -    dev: true
    -
    -  /@babel/helper-module-transforms@7.23.3(@babel/core@7.24.0):
    -    resolution: {integrity: sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ==}
    -    engines: {node: '>=6.9.0'}
    -    peerDependencies:
    -      '@babel/core': ^7.0.0
    -    dependencies:
    -      '@babel/core': 7.24.0
    -      '@babel/helper-environment-visitor': 7.22.20
    -      '@babel/helper-module-imports': 7.22.15
    -      '@babel/helper-simple-access': 7.22.5
    -      '@babel/helper-split-export-declaration': 7.22.6
    -      '@babel/helper-validator-identifier': 7.22.20
    -    dev: true
    -
    -  /@babel/helper-module-transforms@7.23.3(@babel/core@7.24.3):
    -    resolution: {integrity: sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ==}
    -    engines: {node: '>=6.9.0'}
    -    peerDependencies:
    -      '@babel/core': ^7.0.0
    -    dependencies:
    -      '@babel/core': 7.24.3
    -      '@babel/helper-environment-visitor': 7.22.20
    -      '@babel/helper-module-imports': 7.22.15
    -      '@babel/helper-simple-access': 7.22.5
    -      '@babel/helper-split-export-declaration': 7.22.6
    -      '@babel/helper-validator-identifier': 7.22.20
    -    dev: true
    -
       /@babel/helper-module-transforms@7.23.3(@babel/core@7.24.4):
         resolution: {integrity: sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ==}
         engines: {node: '>=6.9.0'}
    @@ -1492,7 +1255,7 @@ packages:
         dependencies:
           '@babel/core': 7.24.4
           '@babel/helper-environment-visitor': 7.22.20
    -      '@babel/helper-module-imports': 7.22.15
    +      '@babel/helper-module-imports': 7.24.3
           '@babel/helper-simple-access': 7.22.5
           '@babel/helper-split-export-declaration': 7.22.6
           '@babel/helper-validator-identifier': 7.22.20
    @@ -1522,18 +1285,6 @@ packages:
           '@babel/helper-wrap-function': 7.22.20
         dev: true
     
    -  /@babel/helper-replace-supers@7.24.1(@babel/core@7.24.3):
    -    resolution: {integrity: sha512-QCR1UqC9BzG5vZl8BMicmZ28RuUBnHhAMddD8yHFHDRH9lLTZ9uUPehX8ctVPT8l0TKblJidqcgUUKGVrePleQ==}
    -    engines: {node: '>=6.9.0'}
    -    peerDependencies:
    -      '@babel/core': ^7.0.0
    -    dependencies:
    -      '@babel/core': 7.24.3
    -      '@babel/helper-environment-visitor': 7.22.20
    -      '@babel/helper-member-expression-to-functions': 7.23.0
    -      '@babel/helper-optimise-call-expression': 7.22.5
    -    dev: true
    -
       /@babel/helper-replace-supers@7.24.1(@babel/core@7.24.4):
         resolution: {integrity: sha512-QCR1UqC9BzG5vZl8BMicmZ28RuUBnHhAMddD8yHFHDRH9lLTZ9uUPehX8ctVPT8l0TKblJidqcgUUKGVrePleQ==}
         engines: {node: '>=6.9.0'}
    @@ -1589,39 +1340,6 @@ packages:
           '@babel/types': 7.24.0
         dev: true
     
    -  /@babel/helpers@7.22.10:
    -    resolution: {integrity: sha512-a41J4NW8HyZa1I1vAndrraTlPZ/eZoga2ZgS7fEr0tZJGVU4xqdE80CEm0CcNjha5EZ8fTBYLKHF0kqDUuAwQw==}
    -    engines: {node: '>=6.9.0'}
    -    dependencies:
    -      '@babel/template': 7.24.0
    -      '@babel/traverse': 7.24.0
    -      '@babel/types': 7.24.0
    -    transitivePeerDependencies:
    -      - supports-color
    -    dev: true
    -
    -  /@babel/helpers@7.24.0:
    -    resolution: {integrity: sha512-ulDZdc0Aj5uLc5nETsa7EPx2L7rM0YJM8r7ck7U73AXi7qOV44IHHRAYZHY6iU1rr3C5N4NtTmMRUJP6kwCWeA==}
    -    engines: {node: '>=6.9.0'}
    -    dependencies:
    -      '@babel/template': 7.24.0
    -      '@babel/traverse': 7.24.0
    -      '@babel/types': 7.24.0
    -    transitivePeerDependencies:
    -      - supports-color
    -    dev: true
    -
    -  /@babel/helpers@7.24.1:
    -    resolution: {integrity: sha512-BpU09QqEe6ZCHuIHFphEFgvNSrubve1FtyMton26ekZ85gRGi6LrTF7zArARp2YvyFxloeiRmtSCq5sjh1WqIg==}
    -    engines: {node: '>=6.9.0'}
    -    dependencies:
    -      '@babel/template': 7.24.0
    -      '@babel/traverse': 7.24.1
    -      '@babel/types': 7.24.0
    -    transitivePeerDependencies:
    -      - supports-color
    -    dev: true
    -
       /@babel/helpers@7.24.4:
         resolution: {integrity: sha512-FewdlZbSiwaVGlgT1DPANDuCHaDMiOo+D/IDYRFYjHOuv66xMSJ7fQwwODwRNAPkADIO/z1EoF/l2BCWlWABDw==}
         engines: {node: '>=6.9.0'}
    @@ -1633,24 +1351,6 @@ packages:
           - supports-color
         dev: true
     
    -  /@babel/highlight@7.22.20:
    -    resolution: {integrity: sha512-dkdMCN3py0+ksCgYmGG8jKeGA/8Tk+gJwSYYlFGxG5lmhfKNoAy004YpLxpS1W2J8m/EK2Ew+yOs9pVRwO89mg==}
    -    engines: {node: '>=6.9.0'}
    -    dependencies:
    -      '@babel/helper-validator-identifier': 7.22.20
    -      chalk: 2.4.2
    -      js-tokens: 4.0.0
    -    dev: true
    -
    -  /@babel/highlight@7.23.4:
    -    resolution: {integrity: sha512-acGdbYSfp2WheJoJm/EBBBLh/ID8KDc64ISZ9DYtBmC8/Q204PZJLHyzeB5qMzJ5trcOkybd78M4x2KWsUq++A==}
    -    engines: {node: '>=6.9.0'}
    -    dependencies:
    -      '@babel/helper-validator-identifier': 7.22.20
    -      chalk: 2.4.2
    -      js-tokens: 4.0.0
    -    dev: true
    -
       /@babel/highlight@7.24.2:
         resolution: {integrity: sha512-Yac1ao4flkTxTteCDZLEvdxg2fZfz1v8M4QpaGypq/WPDqg3ijHYbDfs+LG5hvzSoqaSZ9/Z9lKSP3CjZjv+pA==}
         engines: {node: '>=6.9.0'}
    @@ -1681,7 +1381,6 @@ packages:
         hasBin: true
         dependencies:
           '@babel/types': 7.24.0
    -    dev: true
     
       /@babel/plugin-bugfix-firefox-class-in-computed-class-key@7.24.4(@babel/core@7.24.4):
         resolution: {integrity: sha512-qpl6vOOEEzTLLcsuqYYo8yDtrTocmu2xkGvgNebvPjT9DTtfFYGmgDqY+rBYXNlqL4s9qLDn6xkrJv4RxAPiTA==}
    @@ -1736,15 +1435,6 @@ packages:
           '@babel/core': 7.24.4
         dev: true
     
    -  /@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.24.0):
    -    resolution: {integrity: sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==}
    -    peerDependencies:
    -      '@babel/core': ^7.0.0-0
    -    dependencies:
    -      '@babel/core': 7.24.0
    -      '@babel/helper-plugin-utils': 7.24.0
    -    dev: true
    -
       /@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.24.4):
         resolution: {integrity: sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==}
         peerDependencies:
    @@ -1754,21 +1444,12 @@ packages:
           '@babel/helper-plugin-utils': 7.24.0
         dev: true
     
    -  /@babel/plugin-syntax-bigint@7.8.3(@babel/core@7.24.0):
    +  /@babel/plugin-syntax-bigint@7.8.3(@babel/core@7.24.4):
         resolution: {integrity: sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==}
         peerDependencies:
           '@babel/core': ^7.0.0-0
         dependencies:
    -      '@babel/core': 7.24.0
    -      '@babel/helper-plugin-utils': 7.24.0
    -    dev: true
    -
    -  /@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.24.0):
    -    resolution: {integrity: sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==}
    -    peerDependencies:
    -      '@babel/core': ^7.0.0-0
    -    dependencies:
    -      '@babel/core': 7.24.0
    +      '@babel/core': 7.24.4
           '@babel/helper-plugin-utils': 7.24.0
         dev: true
     
    @@ -1829,15 +1510,6 @@ packages:
           '@babel/helper-plugin-utils': 7.24.0
         dev: true
     
    -  /@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.24.0):
    -    resolution: {integrity: sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==}
    -    peerDependencies:
    -      '@babel/core': ^7.0.0-0
    -    dependencies:
    -      '@babel/core': 7.24.0
    -      '@babel/helper-plugin-utils': 7.24.0
    -    dev: true
    -
       /@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.24.4):
         resolution: {integrity: sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==}
         peerDependencies:
    @@ -1847,15 +1519,6 @@ packages:
           '@babel/helper-plugin-utils': 7.24.0
         dev: true
     
    -  /@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.24.0):
    -    resolution: {integrity: sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==}
    -    peerDependencies:
    -      '@babel/core': ^7.0.0-0
    -    dependencies:
    -      '@babel/core': 7.24.0
    -      '@babel/helper-plugin-utils': 7.24.0
    -    dev: true
    -
       /@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.24.4):
         resolution: {integrity: sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==}
         peerDependencies:
    @@ -1865,32 +1528,13 @@ packages:
           '@babel/helper-plugin-utils': 7.24.0
         dev: true
     
    -  /@babel/plugin-syntax-jsx@7.23.3(@babel/core@7.24.0):
    -    resolution: {integrity: sha512-EB2MELswq55OHUoRZLGg/zC7QWUKfNLpE57m/S2yr1uEneIgsTgrSzXP3NXEsMkVn76OlaVVnzN+ugObuYGwhg==}
    -    engines: {node: '>=6.9.0'}
    -    peerDependencies:
    -      '@babel/core': ^7.0.0-0
    -    dependencies:
    -      '@babel/core': 7.24.0
    -      '@babel/helper-plugin-utils': 7.24.0
    -    dev: true
    -
    -  /@babel/plugin-syntax-jsx@7.24.1(@babel/core@7.24.3):
    +  /@babel/plugin-syntax-jsx@7.24.1(@babel/core@7.24.4):
         resolution: {integrity: sha512-2eCtxZXf+kbkMIsXS4poTvT4Yu5rXiRa+9xGVT56raghjmBTKMpFNc9R4IDiB4emao9eO22Ox7CxuJG7BgExqA==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
         dependencies:
    -      '@babel/core': 7.24.3
    -      '@babel/helper-plugin-utils': 7.24.0
    -    dev: true
    -
    -  /@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.24.0):
    -    resolution: {integrity: sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==}
    -    peerDependencies:
    -      '@babel/core': ^7.0.0-0
    -    dependencies:
    -      '@babel/core': 7.24.0
    +      '@babel/core': 7.24.4
           '@babel/helper-plugin-utils': 7.24.0
         dev: true
     
    @@ -1903,15 +1547,6 @@ packages:
           '@babel/helper-plugin-utils': 7.24.0
         dev: true
     
    -  /@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.24.0):
    -    resolution: {integrity: sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==}
    -    peerDependencies:
    -      '@babel/core': ^7.0.0-0
    -    dependencies:
    -      '@babel/core': 7.24.0
    -      '@babel/helper-plugin-utils': 7.24.0
    -    dev: true
    -
       /@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.24.4):
         resolution: {integrity: sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==}
         peerDependencies:
    @@ -1921,15 +1556,6 @@ packages:
           '@babel/helper-plugin-utils': 7.24.0
         dev: true
     
    -  /@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.24.0):
    -    resolution: {integrity: sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==}
    -    peerDependencies:
    -      '@babel/core': ^7.0.0-0
    -    dependencies:
    -      '@babel/core': 7.24.0
    -      '@babel/helper-plugin-utils': 7.24.0
    -    dev: true
    -
       /@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.24.4):
         resolution: {integrity: sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==}
         peerDependencies:
    @@ -1939,15 +1565,6 @@ packages:
           '@babel/helper-plugin-utils': 7.24.0
         dev: true
     
    -  /@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.24.0):
    -    resolution: {integrity: sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==}
    -    peerDependencies:
    -      '@babel/core': ^7.0.0-0
    -    dependencies:
    -      '@babel/core': 7.24.0
    -      '@babel/helper-plugin-utils': 7.24.0
    -    dev: true
    -
       /@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.24.4):
         resolution: {integrity: sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==}
         peerDependencies:
    @@ -1957,15 +1574,6 @@ packages:
           '@babel/helper-plugin-utils': 7.24.0
         dev: true
     
    -  /@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.24.0):
    -    resolution: {integrity: sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==}
    -    peerDependencies:
    -      '@babel/core': ^7.0.0-0
    -    dependencies:
    -      '@babel/core': 7.24.0
    -      '@babel/helper-plugin-utils': 7.24.0
    -    dev: true
    -
       /@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.24.4):
         resolution: {integrity: sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==}
         peerDependencies:
    @@ -1975,15 +1583,6 @@ packages:
           '@babel/helper-plugin-utils': 7.24.0
         dev: true
     
    -  /@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.24.0):
    -    resolution: {integrity: sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==}
    -    peerDependencies:
    -      '@babel/core': ^7.0.0-0
    -    dependencies:
    -      '@babel/core': 7.24.0
    -      '@babel/helper-plugin-utils': 7.24.0
    -    dev: true
    -
       /@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.24.4):
         resolution: {integrity: sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==}
         peerDependencies:
    @@ -2003,16 +1602,6 @@ packages:
           '@babel/helper-plugin-utils': 7.24.0
         dev: true
     
    -  /@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.24.0):
    -    resolution: {integrity: sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==}
    -    engines: {node: '>=6.9.0'}
    -    peerDependencies:
    -      '@babel/core': ^7.0.0-0
    -    dependencies:
    -      '@babel/core': 7.24.0
    -      '@babel/helper-plugin-utils': 7.24.0
    -    dev: true
    -
       /@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.24.4):
         resolution: {integrity: sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==}
         engines: {node: '>=6.9.0'}
    @@ -2023,23 +1612,13 @@ packages:
           '@babel/helper-plugin-utils': 7.24.0
         dev: true
     
    -  /@babel/plugin-syntax-typescript@7.23.3(@babel/core@7.24.0):
    -    resolution: {integrity: sha512-9EiNjVJOMwCO+43TqoTrgQ8jMwcAd0sWyXi9RPfIsLTj4R2MADDDQXELhffaUx/uJv2AYcxBgPwH6j4TIA4ytQ==}
    -    engines: {node: '>=6.9.0'}
    -    peerDependencies:
    -      '@babel/core': ^7.0.0-0
    -    dependencies:
    -      '@babel/core': 7.24.0
    -      '@babel/helper-plugin-utils': 7.24.0
    -    dev: true
    -
    -  /@babel/plugin-syntax-typescript@7.24.1(@babel/core@7.24.3):
    +  /@babel/plugin-syntax-typescript@7.24.1(@babel/core@7.24.4):
         resolution: {integrity: sha512-Yhnmvy5HZEnHUty6i++gcfH1/l68AHnItFHnaCv6hn9dNh0hQvvQJsxpi4BMBFN5DLeHBuucT/0DgzXif/OyRw==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
         dependencies:
    -      '@babel/core': 7.24.3
    +      '@babel/core': 7.24.4
           '@babel/helper-plugin-utils': 7.24.0
         dev: true
     
    @@ -2300,18 +1879,6 @@ packages:
           '@babel/helper-plugin-utils': 7.24.0
         dev: true
     
    -  /@babel/plugin-transform-modules-commonjs@7.24.1(@babel/core@7.24.3):
    -    resolution: {integrity: sha512-szog8fFTUxBfw0b98gEWPaEqF42ZUD/T3bkynW/wtgx2p/XCP55WEsb+VosKceRSd6njipdZvNogqdtI4Q0chw==}
    -    engines: {node: '>=6.9.0'}
    -    peerDependencies:
    -      '@babel/core': ^7.0.0-0
    -    dependencies:
    -      '@babel/core': 7.24.3
    -      '@babel/helper-module-transforms': 7.23.3(@babel/core@7.24.3)
    -      '@babel/helper-plugin-utils': 7.24.0
    -      '@babel/helper-simple-access': 7.22.5
    -    dev: true
    -
       /@babel/plugin-transform-modules-commonjs@7.24.1(@babel/core@7.24.4):
         resolution: {integrity: sha512-szog8fFTUxBfw0b98gEWPaEqF42ZUD/T3bkynW/wtgx2p/XCP55WEsb+VosKceRSd6njipdZvNogqdtI4Q0chw==}
         engines: {node: '>=6.9.0'}
    @@ -2554,17 +2121,17 @@ packages:
           '@babel/helper-plugin-utils': 7.24.0
         dev: true
     
    -  /@babel/plugin-transform-typescript@7.24.1(@babel/core@7.24.3):
    +  /@babel/plugin-transform-typescript@7.24.1(@babel/core@7.24.4):
         resolution: {integrity: sha512-liYSESjX2fZ7JyBFkYG78nfvHlMKE6IpNdTVnxmlYUR+j5ZLsitFbaAE+eJSK2zPPkNWNw4mXL51rQ8WrvdK0w==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
         dependencies:
    -      '@babel/core': 7.24.3
    +      '@babel/core': 7.24.4
           '@babel/helper-annotate-as-pure': 7.22.5
    -      '@babel/helper-create-class-features-plugin': 7.24.1(@babel/core@7.24.3)
    +      '@babel/helper-create-class-features-plugin': 7.24.4(@babel/core@7.24.4)
           '@babel/helper-plugin-utils': 7.24.0
    -      '@babel/plugin-syntax-typescript': 7.24.1(@babel/core@7.24.3)
    +      '@babel/plugin-syntax-typescript': 7.24.1(@babel/core@7.24.4)
         dev: true
     
       /@babel/plugin-transform-unicode-escapes@7.24.1(@babel/core@7.24.4):
    @@ -2713,90 +2280,45 @@ packages:
           esutils: 2.0.3
         dev: true
     
    -  /@babel/preset-typescript@7.24.1(@babel/core@7.24.3):
    +  /@babel/preset-typescript@7.24.1(@babel/core@7.24.4):
         resolution: {integrity: sha512-1DBaMmRDpuYQBPWD8Pf/WEwCrtgRHxsZnP4mIy9G/X+hFfbI47Q2G4t1Paakld84+qsk2fSsUPMKg71jkoOOaQ==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
         dependencies:
    -      '@babel/core': 7.24.3
    +      '@babel/core': 7.24.4
           '@babel/helper-plugin-utils': 7.24.0
           '@babel/helper-validator-option': 7.23.5
    -      '@babel/plugin-syntax-jsx': 7.24.1(@babel/core@7.24.3)
    -      '@babel/plugin-transform-modules-commonjs': 7.24.1(@babel/core@7.24.3)
    -      '@babel/plugin-transform-typescript': 7.24.1(@babel/core@7.24.3)
    +      '@babel/plugin-syntax-jsx': 7.24.1(@babel/core@7.24.4)
    +      '@babel/plugin-transform-modules-commonjs': 7.24.1(@babel/core@7.24.4)
    +      '@babel/plugin-transform-typescript': 7.24.1(@babel/core@7.24.4)
         dev: true
     
       /@babel/regjsgen@0.8.0:
    -    resolution: {integrity: sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA==}
    -    dev: true
    -
    -  /@babel/runtime@7.24.0:
    -    resolution: {integrity: sha512-Chk32uHMg6TnQdvw2e9IlqPpFX/6NLuK0Ys2PqLb7/gL5uFn9mXvK715FGLlOLQrcO4qIkNHkvPGktzzXexsFw==}
    -    engines: {node: '>=6.9.0'}
    -    dependencies:
    -      regenerator-runtime: 0.14.1
    -    dev: true
    -
    -  /@babel/runtime@7.24.4:
    -    resolution: {integrity: sha512-dkxf7+hn8mFBwKjs9bvBlArzLVxVbS8usaPUDd5p2a9JCL9tB8OaOVN1isD4+Xyk4ns89/xeOmbQvgdK7IIVdA==}
    -    engines: {node: '>=6.9.0'}
    -    dependencies:
    -      regenerator-runtime: 0.14.1
    -    dev: true
    -
    -  /@babel/template@7.22.5:
    -    resolution: {integrity: sha512-X7yV7eiwAxdj9k94NEylvbVHLiVG1nvzCV2EAowhxLTwODV1jl9UzZ48leOC0sH7OnuHrIkllaBgneUykIcZaw==}
    -    engines: {node: '>=6.9.0'}
    -    dependencies:
    -      '@babel/code-frame': 7.23.5
    -      '@babel/parser': 7.24.1
    -      '@babel/types': 7.24.0
    +    resolution: {integrity: sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA==}
         dev: true
     
    -  /@babel/template@7.24.0:
    -    resolution: {integrity: sha512-Bkf2q8lMB0AFpX0NFEqSbx1OkTHf0f+0j82mkw+ZpzBnkk7e9Ql0891vlfgi+kHwOk8tQjiQHpqh4LaSa0fKEA==}
    +  /@babel/runtime@7.24.0:
    +    resolution: {integrity: sha512-Chk32uHMg6TnQdvw2e9IlqPpFX/6NLuK0Ys2PqLb7/gL5uFn9mXvK715FGLlOLQrcO4qIkNHkvPGktzzXexsFw==}
         engines: {node: '>=6.9.0'}
         dependencies:
    -      '@babel/code-frame': 7.24.2
    -      '@babel/parser': 7.24.1
    -      '@babel/types': 7.24.0
    +      regenerator-runtime: 0.14.1
         dev: true
     
    -  /@babel/traverse@7.23.2:
    -    resolution: {integrity: sha512-azpe59SQ48qG6nu2CzcMLbxUudtN+dOM9kDbUqGq3HXUJRlo7i8fvPoxQUzYgLZ4cMVmuZgm8vvBpNeRhd6XSw==}
    +  /@babel/runtime@7.24.4:
    +    resolution: {integrity: sha512-dkxf7+hn8mFBwKjs9bvBlArzLVxVbS8usaPUDd5p2a9JCL9tB8OaOVN1isD4+Xyk4ns89/xeOmbQvgdK7IIVdA==}
         engines: {node: '>=6.9.0'}
         dependencies:
    -      '@babel/code-frame': 7.23.5
    -      '@babel/generator': 7.23.6
    -      '@babel/helper-environment-visitor': 7.22.20
    -      '@babel/helper-function-name': 7.23.0
    -      '@babel/helper-hoist-variables': 7.22.5
    -      '@babel/helper-split-export-declaration': 7.22.6
    -      '@babel/parser': 7.24.1
    -      '@babel/types': 7.24.0
    -      debug: 4.3.4(supports-color@8.1.1)
    -      globals: 11.12.0
    -    transitivePeerDependencies:
    -      - supports-color
    +      regenerator-runtime: 0.14.1
         dev: true
     
    -  /@babel/traverse@7.24.0:
    -    resolution: {integrity: sha512-HfuJlI8qq3dEDmNU5ChzzpZRWq+oxCZQyMzIMEqLho+AQnhMnKQUzH6ydo3RBl/YjPCuk68Y6s0Gx0AeyULiWw==}
    +  /@babel/template@7.24.0:
    +    resolution: {integrity: sha512-Bkf2q8lMB0AFpX0NFEqSbx1OkTHf0f+0j82mkw+ZpzBnkk7e9Ql0891vlfgi+kHwOk8tQjiQHpqh4LaSa0fKEA==}
         engines: {node: '>=6.9.0'}
         dependencies:
    -      '@babel/code-frame': 7.23.5
    -      '@babel/generator': 7.23.6
    -      '@babel/helper-environment-visitor': 7.22.20
    -      '@babel/helper-function-name': 7.23.0
    -      '@babel/helper-hoist-variables': 7.22.5
    -      '@babel/helper-split-export-declaration': 7.22.6
    -      '@babel/parser': 7.24.0
    +      '@babel/code-frame': 7.24.2
    +      '@babel/parser': 7.24.4
           '@babel/types': 7.24.0
    -      debug: 4.3.4(supports-color@8.1.1)
    -      globals: 11.12.0
    -    transitivePeerDependencies:
    -      - supports-color
         dev: true
     
       /@babel/traverse@7.24.1:
    @@ -2804,12 +2326,12 @@ packages:
         engines: {node: '>=6.9.0'}
         dependencies:
           '@babel/code-frame': 7.24.2
    -      '@babel/generator': 7.24.1
    +      '@babel/generator': 7.24.4
           '@babel/helper-environment-visitor': 7.22.20
           '@babel/helper-function-name': 7.23.0
           '@babel/helper-hoist-variables': 7.22.5
           '@babel/helper-split-export-declaration': 7.22.6
    -      '@babel/parser': 7.24.1
    +      '@babel/parser': 7.24.4
           '@babel/types': 7.24.0
           debug: 4.3.4(supports-color@8.1.1)
           globals: 11.12.0
    @@ -2872,8 +2394,8 @@ packages:
         dev: true
         optional: true
     
    -  /@cspell/cspell-bundled-dicts@8.6.1:
    -    resolution: {integrity: sha512-s6Av1xIgctYLuUiazKZjQ2WRUXc9dU38BOZXwM/lb7y8grQMEuTjST1c+8MOkZkppx48/sO7GHIF3k9rEzD3fg==}
    +  /@cspell/cspell-bundled-dicts@8.7.0:
    +    resolution: {integrity: sha512-B5YQI7Dd9m0JHTmHgs7PiyP4BWXzl8ixpK+HGOwhxzh7GyfFt1Eo/gxMxBDX/9SaewEzeb2OjRpRKEFtEsto3A==}
         engines: {node: '>=18'}
         dependencies:
           '@cspell/dict-ada': 4.0.2
    @@ -2891,7 +2413,7 @@ packages:
           '@cspell/dict-elixir': 4.0.3
           '@cspell/dict-en-common-misspellings': 2.0.0
           '@cspell/dict-en-gb': 1.1.33
    -      '@cspell/dict-en_us': 4.3.17
    +      '@cspell/dict-en_us': 4.3.18
           '@cspell/dict-filetypes': 3.0.3
           '@cspell/dict-fonts': 4.0.0
           '@cspell/dict-fsharp': 1.0.1
    @@ -2909,6 +2431,7 @@ packages:
           '@cspell/dict-lorem-ipsum': 4.0.0
           '@cspell/dict-lua': 4.0.3
           '@cspell/dict-makefile': 1.0.0
    +      '@cspell/dict-monkeyc': 1.0.6
           '@cspell/dict-node': 4.0.3
           '@cspell/dict-npm': 5.0.15
           '@cspell/dict-php': 4.0.6
    @@ -2924,36 +2447,36 @@ packages:
           '@cspell/dict-svelte': 1.0.2
           '@cspell/dict-swift': 2.0.1
           '@cspell/dict-terraform': 1.0.0
    -      '@cspell/dict-typescript': 3.1.2
    +      '@cspell/dict-typescript': 3.1.3
           '@cspell/dict-vue': 3.0.0
         dev: true
     
    -  /@cspell/cspell-json-reporter@8.6.1:
    -    resolution: {integrity: sha512-75cmJgU9iQgrDnLFIUyvgybySJJi29BPw71z+8ZO9WhNofufxoSjaWepZeYV2nK0nHXM+MbdQG5Mmj/Lv6J1FA==}
    +  /@cspell/cspell-json-reporter@8.7.0:
    +    resolution: {integrity: sha512-LTQPEvXvCqnc+ok9WXpSISZyt4/nGse9fVEM430g0BpGzKpt3RMx49B8uasvvnanzCuikaW9+wFLmwgvraERhA==}
         engines: {node: '>=18'}
         dependencies:
    -      '@cspell/cspell-types': 8.6.1
    +      '@cspell/cspell-types': 8.7.0
         dev: true
     
    -  /@cspell/cspell-pipe@8.6.1:
    -    resolution: {integrity: sha512-guIlGhhOLQwfqevBSgp26b+SX4I1hCH+puAksWAk93bybKkcGtGpcavAQSN9qvamox4zcHnvGutEPF+UcXuceQ==}
    +  /@cspell/cspell-pipe@8.7.0:
    +    resolution: {integrity: sha512-ePqddIQ4arqPQgOkC146SkZxvZb9/jL7xIM5Igy2n3tiWTC5ijrX/mbHpPZ1VGcFck+1M0cJUuyhuJk+vMj3rg==}
         engines: {node: '>=18'}
         dev: true
     
    -  /@cspell/cspell-resolver@8.6.1:
    -    resolution: {integrity: sha512-ZUbYcvEhfokHG9qfUlIylUqEobG84PiDozCkE8U4h/rTSmYkf/nAD+M6yg+jQ0F2aTFGNbvpKKGFlfXFXveX7A==}
    +  /@cspell/cspell-resolver@8.7.0:
    +    resolution: {integrity: sha512-grZwDFYqcBYQDaz4AkUtdyqc4UUH2J3/7yWVkBbYDPE+FQHa9ofFXzXxyjs56GJlPfi9ULpe5/Wz6uVLg8rQkQ==}
         engines: {node: '>=18'}
         dependencies:
           global-directory: 4.0.1
         dev: true
     
    -  /@cspell/cspell-service-bus@8.6.1:
    -    resolution: {integrity: sha512-WpI3fSW8t00UMetfd6tS8f9+xE3+ElIUO/bQ1YKK95TMIRdEUcH+QDxcHM66pJXEm4WiaN3H/MfWk1fIhGlJ8g==}
    +  /@cspell/cspell-service-bus@8.7.0:
    +    resolution: {integrity: sha512-KW48iu0nTDzbedixc7iB7K7mlAZQ7QeMLuM/akxigOlvtOdVJrRa9Pfn44lwejts1ANb/IXil3GH8YylkVi76Q==}
         engines: {node: '>=18'}
         dev: true
     
    -  /@cspell/cspell-types@8.6.1:
    -    resolution: {integrity: sha512-MXa9v6sXbbwyiNno7v7vczNph6AsMNWnpMRCcW3h/siXNQYRuMssdxqT5sQJ8Kurh3M/Wo7DlKX4n74elKL3iQ==}
    +  /@cspell/cspell-types@8.7.0:
    +    resolution: {integrity: sha512-Rb+LCE5I9JEb/LE8nSViVSF8z1CWv/z4mPBIG37VMa7aUx2gAQa6gJekNfpY9YZiMzx4Tv3gDujN80ytks4pGA==}
         engines: {node: '>=18'}
         dev: true
     
    @@ -3021,8 +2544,8 @@ packages:
         resolution: {integrity: sha512-tKSSUf9BJEV+GJQAYGw5e+ouhEe2ZXE620S7BLKe3ZmpnjlNG9JqlnaBhkIMxKnNFkLY2BP/EARzw31AZnOv4g==}
         dev: true
     
    -  /@cspell/dict-en_us@4.3.17:
    -    resolution: {integrity: sha512-CS0Tb2f2YwQZ4VZ6+WLAO5uOzb0iO/iYSRl34kX4enq6quXxLYzwdfGAwv85wSYHPdga8tGiZFP+p8GPsi2JEg==}
    +  /@cspell/dict-en_us@4.3.18:
    +    resolution: {integrity: sha512-D8jGT7Zi3+e8zIpT0NqGKvvzehcvUETFlOA0NxcRStkw7H7mgouHxKFU+u7t3tvCoGNwh2gwjCqZQlK8ZXwQHw==}
         dev: true
     
       /@cspell/dict-filetypes@3.0.3:
    @@ -3093,6 +2616,10 @@ packages:
         resolution: {integrity: sha512-3W9tHPcSbJa6s0bcqWo6VisEDTSN5zOtDbnPabF7rbyjRpNo0uHXHRJQF8gAbFzoTzBBhgkTmrfSiuyQm7vBUQ==}
         dev: true
     
    +  /@cspell/dict-monkeyc@1.0.6:
    +    resolution: {integrity: sha512-oO8ZDu/FtZ55aq9Mb67HtaCnsLn59xvhO/t2mLLTHAp667hJFxpp7bCtr2zOrR1NELzFXmKln/2lw/PvxMSvrA==}
    +    dev: true
    +
       /@cspell/dict-node@4.0.3:
         resolution: {integrity: sha512-sFlUNI5kOogy49KtPg8SMQYirDGIAoKBO3+cDLIwD4MLdsWy1q0upc7pzGht3mrjuyMiPRUV14Bb0rkVLrxOhg==}
         dev: true
    @@ -3155,33 +2682,36 @@ packages:
         resolution: {integrity: sha512-Ak+vy4HP/bOgzf06BAMC30+ZvL9mzv21xLM2XtfnBLTDJGdxlk/nK0U6QT8VfFLqJ0ZZSpyOxGsUebWDCTr/zQ==}
         dev: true
     
    -  /@cspell/dict-typescript@3.1.2:
    -    resolution: {integrity: sha512-lcNOYWjLUvDZdLa0UMNd/LwfVdxhE9rKA+agZBGjL3lTA3uNvH7IUqSJM/IXhJoBpLLMVEOk8v1N9xi+vDuCdA==}
    +  /@cspell/dict-typescript@3.1.3:
    +    resolution: {integrity: sha512-TdD789OWwOImH/IMyz/QRA6LJz7ScI/qbn1YOkcAW3AROvgbc0oKAxzp08+Xu8tj4GROrJ9UqZdh0t9xQCPkPg==}
         dev: true
     
       /@cspell/dict-vue@3.0.0:
         resolution: {integrity: sha512-niiEMPWPV9IeRBRzZ0TBZmNnkK3olkOPYxC1Ny2AX4TGlYRajcW0WUtoSHmvvjZNfWLSg2L6ruiBeuPSbjnG6A==}
         dev: true
     
    -  /@cspell/dynamic-import@8.6.1:
    -    resolution: {integrity: sha512-Fjvkcb5umIAcHfw/iiciYWgO2mXVuRZzQAWPSub6UFCxxcJlRz39YPXa+3O/m3lnXCeo8ChoaEN8qnuV4ogk6g==}
    +  /@cspell/dynamic-import@8.7.0:
    +    resolution: {integrity: sha512-xlEPdiHVDu+4xYkvwjL9MgklxOi9XB+Pr1H9s3Ww9WEq+q6BA3xOHxLIU/k8mhqFTMZGFZRCsdy/EwMu6SyRhQ==}
         engines: {node: '>=18.0'}
         dependencies:
           import-meta-resolve: 4.0.0
         dev: true
     
    -  /@cspell/eslint-plugin@8.6.1:
    -    resolution: {integrity: sha512-PIY7lyaVFd1CuLpnuCtXD07Qlod1mLGcUy2NI6ghgXku34oyTrbU4NYC5lNNM1tUxNSGwz2NQOdoTWnEOacllw==}
    +  /@cspell/eslint-plugin@8.7.0(eslint@8.57.0):
    +    resolution: {integrity: sha512-ZITI9ybL5vsOukUzMyyBc5eKndEag7Pe4Z19br2w92xyNCZtHeAoDzp1eo1OeRilT7zBXCdXEDzvvNiNAHhg9A==}
         engines: {node: '>=18'}
    +    peerDependencies:
    +      eslint: ^7 || ^8 || ^9
         dependencies:
    -      '@cspell/cspell-types': 8.6.1
    -      cspell-lib: 8.6.1
    +      '@cspell/cspell-types': 8.7.0
    +      cspell-lib: 8.7.0
    +      eslint: 8.57.0
           estree-walker: 3.0.3
           synckit: 0.9.0
         dev: true
     
    -  /@cspell/strong-weak-map@8.6.1:
    -    resolution: {integrity: sha512-X6/7cy+GGVJFXsfrZapxVKn5mtehNTr7hTlg0bVj3iFoNYEPW9zq9l6WIcI4psmaU8G4DSrNsBK7pp87W3u16A==}
    +  /@cspell/strong-weak-map@8.7.0:
    +    resolution: {integrity: sha512-0bo0WwDr2lzGoCP7vbpWbDpPyuOrHKK+218txnUpx6Pn1EDBLfcDQsiZED5B6zlpwgbGi6y3vc0rWtJbjKvwzg==}
         engines: {node: '>=18'}
         dev: true
     
    @@ -3277,7 +2807,7 @@ packages:
         resolution: {integrity: sha512-QujhqINEElrkIfKwyyyTfbsfMAYCkylInLYMRqHy7PHc8xTBQCow73tlo/Kc7oIwBrCLf0P3YhjlOeV4v8hevQ==}
         dependencies:
           '@docsearch/react': 3.6.0(@algolia/client-search@4.23.3)(search-insights@2.13.0)
    -      preact: 10.20.1
    +      preact: 10.20.2
         transitivePeerDependencies:
           - '@algolia/client-search'
           - '@types/react'
    @@ -3303,10 +2833,10 @@ packages:
           search-insights:
             optional: true
         dependencies:
    -      '@algolia/autocomplete-core': 1.9.3(@algolia/client-search@4.23.3)(algoliasearch@4.23.2)(search-insights@2.13.0)
    -      '@algolia/autocomplete-preset-algolia': 1.9.3(@algolia/client-search@4.23.3)(algoliasearch@4.23.2)
    +      '@algolia/autocomplete-core': 1.9.3(@algolia/client-search@4.23.3)(algoliasearch@4.23.3)(search-insights@2.13.0)
    +      '@algolia/autocomplete-preset-algolia': 1.9.3(@algolia/client-search@4.23.3)(algoliasearch@4.23.3)
           '@docsearch/css': 3.6.0
    -      algoliasearch: 4.23.2
    +      algoliasearch: 4.23.3
           search-insights: 2.13.0
         transitivePeerDependencies:
           - '@algolia/client-search'
    @@ -3851,7 +3381,7 @@ packages:
         peerDependencies:
           vue: ^3.2.0
         dependencies:
    -      '@tanstack/vue-virtual': 3.2.0(vue@3.4.21)
    +      '@tanstack/vue-virtual': 3.2.1(vue@3.4.21)
           vue: 3.4.21(typescript@5.4.5)
         dev: false
     
    @@ -3931,7 +3461,7 @@ packages:
         engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
         dependencies:
           '@jest/types': 29.6.3
    -      '@types/node': 20.11.30
    +      '@types/node': 20.12.7
           chalk: 4.1.2
           jest-message-util: 29.7.0
           jest-util: 29.7.0
    @@ -3952,14 +3482,14 @@ packages:
           '@jest/test-result': 29.7.0
           '@jest/transform': 29.7.0
           '@jest/types': 29.6.3
    -      '@types/node': 20.11.30
    +      '@types/node': 20.12.7
           ansi-escapes: 4.3.2
           chalk: 4.1.2
           ci-info: 3.9.0
           exit: 0.1.2
           graceful-fs: 4.2.11
           jest-changed-files: 29.7.0
    -      jest-config: 29.7.0(@types/node@20.11.30)
    +      jest-config: 29.7.0(@types/node@20.12.7)
           jest-haste-map: 29.7.0
           jest-message-util: 29.7.0
           jest-regex-util: 29.6.3
    @@ -3987,7 +3517,7 @@ packages:
         dependencies:
           '@jest/fake-timers': 29.7.0
           '@jest/types': 29.6.3
    -      '@types/node': 20.11.30
    +      '@types/node': 20.12.7
           jest-mock: 29.7.0
         dev: true
     
    @@ -4014,7 +3544,7 @@ packages:
         dependencies:
           '@jest/types': 29.6.3
           '@sinonjs/fake-timers': 10.3.0
    -      '@types/node': 20.11.30
    +      '@types/node': 20.12.7
           jest-message-util: 29.7.0
           jest-mock: 29.7.0
           jest-util: 29.7.0
    @@ -4047,7 +3577,7 @@ packages:
           '@jest/transform': 29.7.0
           '@jest/types': 29.6.3
           '@jridgewell/trace-mapping': 0.3.25
    -      '@types/node': 20.11.30
    +      '@types/node': 20.12.7
           chalk: 4.1.2
           collect-v8-coverage: 1.0.2
           exit: 0.1.2
    @@ -4109,7 +3639,7 @@ packages:
         resolution: {integrity: sha512-ok/BTPFzFKVMwO5eOHRrvnBVHdRy9IrsrW1GpMaQ9MCnilNLXQKmAX8s1YXDFaai9xJpac2ySzV0YeRRECr2Vw==}
         engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
         dependencies:
    -      '@babel/core': 7.24.0
    +      '@babel/core': 7.24.4
           '@jest/types': 29.6.3
           '@jridgewell/trace-mapping': 0.3.25
           babel-plugin-istanbul: 6.1.1
    @@ -4135,7 +3665,7 @@ packages:
           '@jest/schemas': 29.6.3
           '@types/istanbul-lib-coverage': 2.0.6
           '@types/istanbul-reports': 3.0.4
    -      '@types/node': 20.11.30
    +      '@types/node': 20.12.7
           '@types/yargs': 17.0.32
           chalk: 4.1.2
         dev: true
    @@ -4437,14 +3967,14 @@ packages:
         dev: true
         optional: true
     
    -  /@shikijs/core@1.2.3:
    -    resolution: {integrity: sha512-SM+aiQVaEK2P53dEcsvhq9+LJPr0rzwezHbMQhHaSrPN4OlOB4vp1qTdhVEKfMg6atdq8s9ZotWW/CSCzWftwg==}
    +  /@shikijs/core@1.3.0:
    +    resolution: {integrity: sha512-7fedsBfuILDTBmrYZNFI8B6ATTxhQAasUHllHmjvSZPnoq4bULWoTpHwmuQvZ8Aq03/tAa2IGo6RXqWtHdWaCA==}
         dev: true
     
    -  /@shikijs/transformers@1.2.3:
    -    resolution: {integrity: sha512-7m63LXtBW9feqH4+dafLe92oXm/vs05e6qaN1w5/Byozaf+RCqzOj3/b2/wu7OzTgLe3O9PzIrO3FebkGJK26g==}
    +  /@shikijs/transformers@1.3.0:
    +    resolution: {integrity: sha512-3mlpg2I9CjhjE96dEWQOGeCWoPcyTov3s4aAsHmgvnTHa8MBknEnCQy8/xivJPSpD+olqOqIEoHnLfbNJK29AA==}
         dependencies:
    -      shiki: 1.2.3
    +      shiki: 1.3.0
         dev: true
     
       /@sideway/address@4.1.5:
    @@ -4503,16 +4033,16 @@ packages:
           defer-to-connect: 2.0.1
         dev: true
     
    -  /@tanstack/virtual-core@3.2.0:
    -    resolution: {integrity: sha512-P5XgYoAw/vfW65byBbJQCw+cagdXDT/qH6wmABiLt4v4YBT2q2vqCOhihe+D1Nt325F/S/0Tkv6C5z0Lv+VBQQ==}
    +  /@tanstack/virtual-core@3.2.1:
    +    resolution: {integrity: sha512-nO0d4vRzsmpBQCJYyClNHPPoUMI4nXNfrm6IcCRL33ncWMoNVpURh9YebEHPw8KrtsP2VSJIHE4gf4XFGk1OGg==}
         dev: false
     
    -  /@tanstack/vue-virtual@3.2.0(vue@3.4.21):
    -    resolution: {integrity: sha512-KbmQVvw1k5Js2Fk4DJw9aDxFT5+e8a2Ba4UBJAFCRnWBCnzd3NlmEHI9JCeLv1tYDZ/iHwwv+Z9Le0BENIEP8A==}
    +  /@tanstack/vue-virtual@3.2.1(vue@3.4.21):
    +    resolution: {integrity: sha512-NWJL8zJ4kwCkUzWd2jLKN9NTxj9RjYyaJwtA16j9urfbnMIdKe2g2HNymq0jGj+fmX/9nd58d6h78LrZ7I/J+A==}
         peerDependencies:
           vue: ^2.7.0 || ^3.0.0
         dependencies:
    -      '@tanstack/virtual-core': 3.2.0
    +      '@tanstack/virtual-core': 3.2.1
           vue: 3.4.21(typescript@5.4.5)
         dev: false
     
    @@ -4528,7 +4058,7 @@ packages:
       /@types/babel__core@7.20.5:
         resolution: {integrity: sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==}
         dependencies:
    -      '@babel/parser': 7.24.1
    +      '@babel/parser': 7.24.4
           '@babel/types': 7.24.0
           '@types/babel__generator': 7.6.8
           '@types/babel__template': 7.4.4
    @@ -4544,7 +4074,7 @@ packages:
       /@types/babel__template@7.4.4:
         resolution: {integrity: sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==}
         dependencies:
    -      '@babel/parser': 7.24.1
    +      '@babel/parser': 7.24.4
           '@babel/types': 7.24.0
         dev: true
     
    @@ -4558,7 +4088,7 @@ packages:
         resolution: {integrity: sha512-fB3Zu92ucau0iQ0JMCFQE7b/dv8Ot07NI3KaZIkIUNXq82k4eBAqUaneXfleGY9JWskeS9y+u0nXMyspcuQrCg==}
         dependencies:
           '@types/connect': 3.4.38
    -      '@types/node': 20.11.30
    +      '@types/node': 20.12.7
         dev: true
     
       /@types/bonjour@3.5.10:
    @@ -4576,7 +4106,7 @@ packages:
         dependencies:
           '@types/http-cache-semantics': 4.0.4
           '@types/keyv': 3.1.4
    -      '@types/node': 20.11.30
    +      '@types/node': 20.12.7
           '@types/responselike': 1.0.3
         dev: true
     
    @@ -4590,17 +4120,17 @@ packages:
       /@types/connect@3.4.38:
         resolution: {integrity: sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==}
         dependencies:
    -      '@types/node': 20.11.30
    +      '@types/node': 20.12.7
         dev: true
     
       /@types/cors@2.8.17:
         resolution: {integrity: sha512-8CGDvrBj1zgo2qE+oS3pOCyYNqCPryMWY2bGfwA0dcfopWGgxs+78df0Rs3rc9THP4JkOhLsAa+15VdpAqkcUA==}
         dependencies:
    -      '@types/node': 20.11.30
    +      '@types/node': 20.12.7
         dev: true
     
    -  /@types/cytoscape@3.19.16:
    -    resolution: {integrity: sha512-A3zkjaZ6cOGyqEvrVuC1YUgiRSJhDZOj8Qhd1ALH2/+YxH2za1BOmR4RWQsKYHsc+aMP/IWoqg1COuUbZ39t/g==}
    +  /@types/cytoscape@3.21.0:
    +    resolution: {integrity: sha512-RN5SPiyVDpUP+LoOlxxlOYAMzkE7iuv3gA1jt3Hx2qTwArpZVPPdO+SI0hUj49OAn4QABR7JK9Gi0hibzGE0Aw==}
         dev: true
     
       /@types/d3-array@3.2.1:
    @@ -4834,7 +4364,7 @@ packages:
       /@types/express-serve-static-core@4.17.43:
         resolution: {integrity: sha512-oaYtiBirUOPQGSWNGPWnzyAFJ0BP3cwvN4oWZQY+zUBwpVIGsKUkpBpSztp74drYcjavs7SKFZ4DX1V2QeN8rg==}
         dependencies:
    -      '@types/node': 20.11.30
    +      '@types/node': 20.12.7
           '@types/qs': 6.9.12
           '@types/range-parser': 1.2.7
           '@types/send': 0.17.4
    @@ -4868,13 +4398,13 @@ packages:
         resolution: {integrity: sha512-IO+MJPVhoqz+28h1qLAcBEH2+xHMK6MTyHJc7MTnnYb6wsoLR29POVGJ7LycmVXIqyy/4/2ShP5sUwTXuOwb/w==}
         dependencies:
           '@types/minimatch': 5.1.2
    -      '@types/node': 20.11.30
    +      '@types/node': 20.12.7
         dev: true
     
       /@types/graceful-fs@4.1.9:
         resolution: {integrity: sha512-olP3sd1qOEe5dXTSaFvQG+02VdRXcdytWLAZsAq1PecU8uqQAhkrnbli7DagjtXKW/Bl7YJbUsa8MPcuc8LHEQ==}
         dependencies:
    -      '@types/node': 20.11.30
    +      '@types/node': 20.12.7
         dev: true
     
       /@types/http-cache-semantics@4.0.4:
    @@ -4930,7 +4460,7 @@ packages:
       /@types/keyv@3.1.4:
         resolution: {integrity: sha512-BQ5aZNSCpj7D6K2ksrRCTmKRLEpnPvWDiLPfoGyhZ++8YtiK9d/3DBKPJgry359X/P1PfruyYwvnvwFjuEiEIg==}
         dependencies:
    -      '@types/node': 20.11.30
    +      '@types/node': 20.12.7
         dev: true
     
       /@types/linkify-it@3.0.5:
    @@ -5053,7 +4583,7 @@ packages:
       /@types/responselike@1.0.3:
         resolution: {integrity: sha512-H/+L+UkTV33uf49PH5pCAUBVPNj2nDBXTN+qS1dOwyyg24l3CcicicCA7ca+HMvJBZcFgl5r8e+RR6elsb4Lyw==}
         dependencies:
    -      '@types/node': 20.11.30
    +      '@types/node': 20.12.7
         dev: true
     
       /@types/retry@0.12.0:
    @@ -5074,7 +4604,7 @@ packages:
         resolution: {integrity: sha512-x2EM6TJOybec7c52BX0ZspPodMsQUd5L6PRwOunVyVUhXiBSKf3AezDL8Dgvgt5o0UfKNfuA0eMLr2wLT4AiBA==}
         dependencies:
           '@types/mime': 1.3.5
    -      '@types/node': 20.11.30
    +      '@types/node': 20.12.7
         dev: true
     
       /@types/serve-index@1.9.1:
    @@ -5158,12 +4688,12 @@ packages:
         resolution: {integrity: sha512-oJoftv0LSuaDZE3Le4DbKX+KS9G36NzOeSap90UIK0yMA/NhKJhqlSGtNDORNRaIbQfzjXDrQa0ytJ6mNRGz/Q==}
         requiresBuild: true
         dependencies:
    -      '@types/node': 20.11.30
    +      '@types/node': 20.12.7
         dev: true
         optional: true
     
    -  /@typescript-eslint/eslint-plugin@7.3.1(@typescript-eslint/parser@7.3.1)(eslint@8.57.0)(typescript@5.4.5):
    -    resolution: {integrity: sha512-STEDMVQGww5lhCuNXVSQfbfuNII5E08QWkvAw5Qwf+bj2WT+JkG1uc+5/vXA3AOYMDHVOSpL+9rcbEUiHIm2dw==}
    +  /@typescript-eslint/eslint-plugin@7.6.0(@typescript-eslint/parser@7.6.0)(eslint@8.57.0)(typescript@5.4.5):
    +    resolution: {integrity: sha512-gKmTNwZnblUdnTIJu3e9kmeRRzV2j1a/LUO27KNNAnIC5zjy1aSvXSRp4rVNlmAoHlQ7HzX42NbKpcSr4jF80A==}
         engines: {node: ^18.18.0 || >=20.0.0}
         peerDependencies:
           '@typescript-eslint/parser': ^7.0.0
    @@ -5174,25 +4704,25 @@ packages:
             optional: true
         dependencies:
           '@eslint-community/regexpp': 4.10.0
    -      '@typescript-eslint/parser': 7.3.1(eslint@8.57.0)(typescript@5.4.5)
    -      '@typescript-eslint/scope-manager': 7.3.1
    -      '@typescript-eslint/type-utils': 7.3.1(eslint@8.57.0)(typescript@5.4.5)
    -      '@typescript-eslint/utils': 7.3.1(eslint@8.57.0)(typescript@5.4.5)
    -      '@typescript-eslint/visitor-keys': 7.3.1
    +      '@typescript-eslint/parser': 7.6.0(eslint@8.57.0)(typescript@5.4.5)
    +      '@typescript-eslint/scope-manager': 7.6.0
    +      '@typescript-eslint/type-utils': 7.6.0(eslint@8.57.0)(typescript@5.4.5)
    +      '@typescript-eslint/utils': 7.6.0(eslint@8.57.0)(typescript@5.4.5)
    +      '@typescript-eslint/visitor-keys': 7.6.0
           debug: 4.3.4(supports-color@8.1.1)
           eslint: 8.57.0
           graphemer: 1.4.0
           ignore: 5.3.1
           natural-compare: 1.4.0
           semver: 7.6.0
    -      ts-api-utils: 1.2.1(typescript@5.4.5)
    +      ts-api-utils: 1.3.0(typescript@5.4.5)
           typescript: 5.4.5
         transitivePeerDependencies:
           - supports-color
         dev: true
     
    -  /@typescript-eslint/parser@7.3.1(eslint@8.57.0)(typescript@5.4.5):
    -    resolution: {integrity: sha512-Rq49+pq7viTRCH48XAbTA+wdLRrB/3sRq4Lpk0oGDm0VmnjBrAOVXH/Laalmwsv2VpekiEfVFwJYVk6/e8uvQw==}
    +  /@typescript-eslint/parser@7.6.0(eslint@8.57.0)(typescript@5.4.5):
    +    resolution: {integrity: sha512-usPMPHcwX3ZoPWnBnhhorc14NJw9J4HpSXQX4urF2TPKG0au0XhJoZyX62fmvdHONUkmyUe74Hzm1//XA+BoYg==}
         engines: {node: ^18.18.0 || >=20.0.0}
         peerDependencies:
           eslint: ^8.56.0
    @@ -5201,10 +4731,10 @@ packages:
           typescript:
             optional: true
         dependencies:
    -      '@typescript-eslint/scope-manager': 7.3.1
    -      '@typescript-eslint/types': 7.3.1
    -      '@typescript-eslint/typescript-estree': 7.3.1(typescript@5.4.5)
    -      '@typescript-eslint/visitor-keys': 7.3.1
    +      '@typescript-eslint/scope-manager': 7.6.0
    +      '@typescript-eslint/types': 7.6.0
    +      '@typescript-eslint/typescript-estree': 7.6.0(typescript@5.4.5)
    +      '@typescript-eslint/visitor-keys': 7.6.0
           debug: 4.3.4(supports-color@8.1.1)
           eslint: 8.57.0
           typescript: 5.4.5
    @@ -5220,16 +4750,16 @@ packages:
           '@typescript-eslint/visitor-keys': 5.62.0
         dev: true
     
    -  /@typescript-eslint/scope-manager@7.3.1:
    -    resolution: {integrity: sha512-fVS6fPxldsKY2nFvyT7IP78UO1/I2huG+AYu5AMjCT9wtl6JFiDnsv4uad4jQ0GTFzcUV5HShVeN96/17bTBag==}
    +  /@typescript-eslint/scope-manager@7.6.0:
    +    resolution: {integrity: sha512-ngttyfExA5PsHSx0rdFgnADMYQi+Zkeiv4/ZxGYUWd0nLs63Ha0ksmp8VMxAIC0wtCFxMos7Lt3PszJssG/E6w==}
         engines: {node: ^18.18.0 || >=20.0.0}
         dependencies:
    -      '@typescript-eslint/types': 7.3.1
    -      '@typescript-eslint/visitor-keys': 7.3.1
    +      '@typescript-eslint/types': 7.6.0
    +      '@typescript-eslint/visitor-keys': 7.6.0
         dev: true
     
    -  /@typescript-eslint/type-utils@7.3.1(eslint@8.57.0)(typescript@5.4.5):
    -    resolution: {integrity: sha512-iFhaysxFsMDQlzJn+vr3OrxN8NmdQkHks4WaqD4QBnt5hsq234wcYdyQ9uquzJJIDAj5W4wQne3yEsYA6OmXGw==}
    +  /@typescript-eslint/type-utils@7.6.0(eslint@8.57.0)(typescript@5.4.5):
    +    resolution: {integrity: sha512-NxAfqAPNLG6LTmy7uZgpK8KcuiS2NZD/HlThPXQRGwz6u7MDBWRVliEEl1Gj6U7++kVJTpehkhZzCJLMK66Scw==}
         engines: {node: ^18.18.0 || >=20.0.0}
         peerDependencies:
           eslint: ^8.56.0
    @@ -5238,11 +4768,11 @@ packages:
           typescript:
             optional: true
         dependencies:
    -      '@typescript-eslint/typescript-estree': 7.3.1(typescript@5.4.5)
    -      '@typescript-eslint/utils': 7.3.1(eslint@8.57.0)(typescript@5.4.5)
    +      '@typescript-eslint/typescript-estree': 7.6.0(typescript@5.4.5)
    +      '@typescript-eslint/utils': 7.6.0(eslint@8.57.0)(typescript@5.4.5)
           debug: 4.3.4(supports-color@8.1.1)
           eslint: 8.57.0
    -      ts-api-utils: 1.2.1(typescript@5.4.5)
    +      ts-api-utils: 1.3.0(typescript@5.4.5)
           typescript: 5.4.5
         transitivePeerDependencies:
           - supports-color
    @@ -5253,8 +4783,8 @@ packages:
         engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
         dev: true
     
    -  /@typescript-eslint/types@7.3.1:
    -    resolution: {integrity: sha512-2tUf3uWggBDl4S4183nivWQ2HqceOZh1U4hhu4p1tPiIJoRRXrab7Y+Y0p+dozYwZVvLPRI6r5wKe9kToF9FIw==}
    +  /@typescript-eslint/types@7.6.0:
    +    resolution: {integrity: sha512-h02rYQn8J+MureCvHVVzhl69/GAfQGPQZmOMjG1KfCl7o3HtMSlPaPUAPu6lLctXI5ySRGIYk94clD/AUMCUgQ==}
         engines: {node: ^18.18.0 || >=20.0.0}
         dev: true
     
    @@ -5279,8 +4809,8 @@ packages:
           - supports-color
         dev: true
     
    -  /@typescript-eslint/typescript-estree@7.3.1(typescript@5.4.5):
    -    resolution: {integrity: sha512-tLpuqM46LVkduWP7JO7yVoWshpJuJzxDOPYIVWUUZbW+4dBpgGeUdl/fQkhuV0A8eGnphYw3pp8d2EnvPOfxmQ==}
    +  /@typescript-eslint/typescript-estree@7.6.0(typescript@5.4.5):
    +    resolution: {integrity: sha512-+7Y/GP9VuYibecrCQWSKgl3GvUM5cILRttpWtnAu8GNL9j11e4tbuGZmZjJ8ejnKYyBRb2ddGQ3rEFCq3QjMJw==}
         engines: {node: ^18.18.0 || >=20.0.0}
         peerDependencies:
           typescript: '*'
    @@ -5288,14 +4818,14 @@ packages:
           typescript:
             optional: true
         dependencies:
    -      '@typescript-eslint/types': 7.3.1
    -      '@typescript-eslint/visitor-keys': 7.3.1
    +      '@typescript-eslint/types': 7.6.0
    +      '@typescript-eslint/visitor-keys': 7.6.0
           debug: 4.3.4(supports-color@8.1.1)
           globby: 11.1.0
           is-glob: 4.0.3
    -      minimatch: 9.0.3
    +      minimatch: 9.0.4
           semver: 7.6.0
    -      ts-api-utils: 1.2.1(typescript@5.4.5)
    +      ts-api-utils: 1.3.0(typescript@5.4.5)
           typescript: 5.4.5
         transitivePeerDependencies:
           - supports-color
    @@ -5321,8 +4851,8 @@ packages:
           - typescript
         dev: true
     
    -  /@typescript-eslint/utils@7.3.1(eslint@8.57.0)(typescript@5.4.5):
    -    resolution: {integrity: sha512-jIERm/6bYQ9HkynYlNZvXpzmXWZGhMbrOvq3jJzOSOlKXsVjrrolzWBjDW6/TvT5Q3WqaN4EkmcfdQwi9tDjBQ==}
    +  /@typescript-eslint/utils@7.6.0(eslint@8.57.0)(typescript@5.4.5):
    +    resolution: {integrity: sha512-x54gaSsRRI+Nwz59TXpCsr6harB98qjXYzsRxGqvA5Ue3kQH+FxS7FYU81g/omn22ML2pZJkisy6Q+ElK8pBCA==}
         engines: {node: ^18.18.0 || >=20.0.0}
         peerDependencies:
           eslint: ^8.56.0
    @@ -5330,9 +4860,9 @@ packages:
           '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0)
           '@types/json-schema': 7.0.15
           '@types/semver': 7.5.8
    -      '@typescript-eslint/scope-manager': 7.3.1
    -      '@typescript-eslint/types': 7.3.1
    -      '@typescript-eslint/typescript-estree': 7.3.1(typescript@5.4.5)
    +      '@typescript-eslint/scope-manager': 7.6.0
    +      '@typescript-eslint/types': 7.6.0
    +      '@typescript-eslint/typescript-estree': 7.6.0(typescript@5.4.5)
           eslint: 8.57.0
           semver: 7.6.0
         transitivePeerDependencies:
    @@ -5348,11 +4878,11 @@ packages:
           eslint-visitor-keys: 3.4.3
         dev: true
     
    -  /@typescript-eslint/visitor-keys@7.3.1:
    -    resolution: {integrity: sha512-9RMXwQF8knsZvfv9tdi+4D/j7dMG28X/wMJ8Jj6eOHyHWwDW4ngQJcqEczSsqIKKjFiLFr40Mnr7a5ulDD3vmw==}
    +  /@typescript-eslint/visitor-keys@7.6.0:
    +    resolution: {integrity: sha512-4eLB7t+LlNUmXzfOu1VAIAdkjbu5xNSerURS9X/S5TUKWFRpXRQZbmtPqgKmYx8bj3J0irtQXSiWAOY82v+cgw==}
         engines: {node: ^18.18.0 || >=20.0.0}
         dependencies:
    -      '@typescript-eslint/types': 7.3.1
    +      '@typescript-eslint/types': 7.6.0
           eslint-visitor-keys: 3.4.3
         dev: true
     
    @@ -5360,216 +4890,216 @@ packages:
         resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==}
         dev: true
     
    -  /@unocss/astro@0.58.9(rollup@2.79.1)(vite@5.2.8):
    -    resolution: {integrity: sha512-VWfHNC0EfawFxLfb3uI+QcMGBN+ju+BYtutzeZTjilLKj31X2UpqIh8fepixL6ljgZzB3fweqg2xtUMC0gMnoQ==}
    +  /@unocss/astro@0.59.2(rollup@2.79.1)(vite@5.2.8):
    +    resolution: {integrity: sha512-vchGjdGxwDELAWJX6Ql5FCg+eDsJmT4Pn752h4oCy6cZHq/0i4p+CovT/Rb8AkfCpCW+DtdjKRRhfAnmKjJquQ==}
         peerDependencies:
           vite: ^2.9.0 || ^3.0.0-0 || ^4.0.0 || ^5.0.0-0
         peerDependenciesMeta:
           vite:
             optional: true
         dependencies:
    -      '@unocss/core': 0.58.9
    -      '@unocss/reset': 0.58.9
    -      '@unocss/vite': 0.58.9(rollup@2.79.1)(vite@5.2.8)
    -      vite: 5.2.8(@types/node@20.11.30)
    +      '@unocss/core': 0.59.2
    +      '@unocss/reset': 0.59.2
    +      '@unocss/vite': 0.59.2(rollup@2.79.1)(vite@5.2.8)
    +      vite: 5.2.8(@types/node@20.12.7)
         transitivePeerDependencies:
           - rollup
         dev: true
     
    -  /@unocss/cli@0.58.9(rollup@2.79.1):
    -    resolution: {integrity: sha512-q7qlwX3V6UaqljWUQ5gMj36yTA9eLuuRywahdQWt1ioy4aPF/MEEfnMBZf/ntrqf5tIT5TO8fE11nvCco2Q/sA==}
    +  /@unocss/cli@0.59.2(rollup@2.79.1):
    +    resolution: {integrity: sha512-B7DjC49obmf9LXDxlAcy+K4ItYYgjHUALv+PVzPRcFml2H1DqSSWmOAHmbr12a81MWXXRlS1s7Z24LKqX6vFKg==}
         engines: {node: '>=14'}
         hasBin: true
         dependencies:
           '@ampproject/remapping': 2.3.0
           '@rollup/pluginutils': 5.1.0(rollup@2.79.1)
    -      '@unocss/config': 0.58.9
    -      '@unocss/core': 0.58.9
    -      '@unocss/preset-uno': 0.58.9
    +      '@unocss/config': 0.59.2
    +      '@unocss/core': 0.59.2
    +      '@unocss/preset-uno': 0.59.2
           cac: 6.7.14
           chokidar: 3.6.0
           colorette: 2.0.20
           consola: 3.2.3
           fast-glob: 3.3.2
    -      magic-string: 0.30.8
    +      magic-string: 0.30.9
           pathe: 1.1.2
           perfect-debounce: 1.0.0
         transitivePeerDependencies:
           - rollup
         dev: true
     
    -  /@unocss/config@0.58.9:
    -    resolution: {integrity: sha512-90wRXIyGNI8UenWxvHUcH4l4rgq813MsTzYWsf6ZKyLLvkFjV2b2EfGXI27GPvZ7fVE1OAqx+wJNTw8CyQxwag==}
    +  /@unocss/config@0.59.2:
    +    resolution: {integrity: sha512-KknR9kcid1w/8IuujZ8msE5pU930GD5e2v84H9Ftcv308yfuj+j/0zQ/ORtG8qMx+97p7uFy3xspzI2yoRYRpQ==}
         engines: {node: '>=14'}
         dependencies:
    -      '@unocss/core': 0.58.9
    +      '@unocss/core': 0.59.2
           unconfig: 0.3.12
         dev: true
     
    -  /@unocss/core@0.58.9:
    -    resolution: {integrity: sha512-wYpPIPPsOIbIoMIDuH8ihehJk5pAZmyFKXIYO/Kro98GEOFhz6lJoLsy6/PZuitlgp2/TSlubUuWGjHWvp5osw==}
    +  /@unocss/core@0.59.2:
    +    resolution: {integrity: sha512-0NtauY7v5bG0UIcvIABWnD2ssD5b9UcFkyw4iRIsT9NvR0e7QqGIOvZEg5XN0j25o50GtxlotMmTAAiaazHZ0Q==}
         dev: true
     
    -  /@unocss/extractor-arbitrary-variants@0.58.9:
    -    resolution: {integrity: sha512-M/BvPdbEEMdhcFQh/z2Bf9gylO1Ky/ZnpIvKWS1YJPLt4KA7UWXSUf+ZNTFxX+X58Is5qAb5hNh/XBQmL3gbXg==}
    +  /@unocss/extractor-arbitrary-variants@0.59.2:
    +    resolution: {integrity: sha512-v+1cdybFmi7sRUG8/B2vSVaBi/CgViithbiwjTjzeKETA5Cw/pWgk1Rf/MDu4jfux4MZ0+mLULm20HSUg0oXdg==}
         dependencies:
    -      '@unocss/core': 0.58.9
    +      '@unocss/core': 0.59.2
         dev: true
     
    -  /@unocss/inspector@0.58.9:
    -    resolution: {integrity: sha512-uRzqkCNeBmEvFePXcfIFcQPMlCXd9/bLwa5OkBthiOILwQdH1uRIW3GWAa2SWspu+kZLP0Ly3SjZ9Wqi+5ZtTw==}
    +  /@unocss/inspector@0.59.2:
    +    resolution: {integrity: sha512-9BbtPrxYZVazODkNM5pZJ0j0XXIxdWxwG7PigyqJCBJbtUyM35jEZRQPNKAeGAlcnxoZE6UAJneG1M+BgFZt/w==}
         dependencies:
    -      '@unocss/core': 0.58.9
    -      '@unocss/rule-utils': 0.58.9
    +      '@unocss/core': 0.59.2
    +      '@unocss/rule-utils': 0.59.2
           gzip-size: 6.0.0
           sirv: 2.0.4
         dev: true
     
    -  /@unocss/postcss@0.58.9(postcss@8.4.38):
    -    resolution: {integrity: sha512-PnKmH6Qhimw35yO6u6yx9SHaX2NmvbRNPDvMDHA/1xr3M8L0o8U88tgKbWfm65NEGF3R1zJ9A8rjtZn/LPkgPA==}
    +  /@unocss/postcss@0.59.2(postcss@8.4.38):
    +    resolution: {integrity: sha512-9pRixhnL9B1sdhzY7zlhnBXc8nVNwDCT4nMQRgSdWNvT76dImVv1N3609veIrCfLEHQJi52Juo//trSNLjUzZQ==}
         engines: {node: '>=14'}
         peerDependencies:
           postcss: ^8.4.21
         dependencies:
    -      '@unocss/config': 0.58.9
    -      '@unocss/core': 0.58.9
    -      '@unocss/rule-utils': 0.58.9
    +      '@unocss/config': 0.59.2
    +      '@unocss/core': 0.59.2
    +      '@unocss/rule-utils': 0.59.2
           css-tree: 2.3.1
           fast-glob: 3.3.2
    -      magic-string: 0.30.8
    +      magic-string: 0.30.9
           postcss: 8.4.38
         dev: true
     
    -  /@unocss/preset-attributify@0.58.9:
    -    resolution: {integrity: sha512-ucP+kXRFcwmBmHohUVv31bE/SejMAMo7Hjb0QcKVLyHlzRWUJsfNR+jTAIGIUSYxN7Q8MeigYsongGo3nIeJnQ==}
    +  /@unocss/preset-attributify@0.59.2:
    +    resolution: {integrity: sha512-iQsKoQAaEwosqe9199rhlZqUeRZ3A39QKqLNxLRf+zkiIQaL0yHlsTYVg9VjbiEb8A1JDi7nHDgZNRBJRyb3nQ==}
         dependencies:
    -      '@unocss/core': 0.58.9
    +      '@unocss/core': 0.59.2
         dev: true
     
    -  /@unocss/preset-icons@0.58.9:
    -    resolution: {integrity: sha512-9dS48+yAunsbS0ylOW2Wisozwpn3nGY1CqTiidkUnrMnrZK3al579A7srUX9NyPWWDjprO7eU/JkWbdDQSmFFA==}
    +  /@unocss/preset-icons@0.59.2:
    +    resolution: {integrity: sha512-Qg/zXqzlt0qLdC7DmDVilX0gdgiM1IPqy+fZ8sAfWy3CtAfMIg4rSHn3qELZdExGvp0WfnkLC+q0t7AwyVyQPw==}
         dependencies:
           '@iconify/utils': 2.1.22
    -      '@unocss/core': 0.58.9
    +      '@unocss/core': 0.59.2
           ofetch: 1.3.4
         transitivePeerDependencies:
           - supports-color
         dev: true
     
    -  /@unocss/preset-mini@0.58.9:
    -    resolution: {integrity: sha512-m4aDGYtueP8QGsU3FsyML63T/w5Mtr4htme2jXy6m50+tzC1PPHaIBstMTMQfLc6h8UOregPJyGHB5iYQZGEvQ==}
    +  /@unocss/preset-mini@0.59.2:
    +    resolution: {integrity: sha512-OFFPNyuuQcPJU4lIE1nQXnmH6uOuinA0+bCAjyB6/1Bj7LCLJGPqdviud/to6cLT90PUsKTIG2TTEQisO3CWAQ==}
         dependencies:
    -      '@unocss/core': 0.58.9
    -      '@unocss/extractor-arbitrary-variants': 0.58.9
    -      '@unocss/rule-utils': 0.58.9
    +      '@unocss/core': 0.59.2
    +      '@unocss/extractor-arbitrary-variants': 0.59.2
    +      '@unocss/rule-utils': 0.59.2
         dev: true
     
    -  /@unocss/preset-tagify@0.58.9:
    -    resolution: {integrity: sha512-obh75XrRmxYwrQMflzvhQUMeHwd/R9bEDhTWUW9aBTolBy4eNypmQwOhHCKh5Xi4Dg6o0xj6GWC/jcCj1SPLog==}
    +  /@unocss/preset-tagify@0.59.2:
    +    resolution: {integrity: sha512-/dhu5G3P0084wn+gxqaLpChv8EyXh9q070uYUxdzNjmZgZ0JDZaeSrcfiyzLJO5RoYCyJNAsp32mBK+//N3XPg==}
         dependencies:
    -      '@unocss/core': 0.58.9
    +      '@unocss/core': 0.59.2
         dev: true
     
    -  /@unocss/preset-typography@0.58.9:
    -    resolution: {integrity: sha512-hrsaqKlcZni3Vh4fwXC+lP9e92FQYbqtmlZw2jpxlVwwH5aLzwk4d4MiFQGyhCfzuSDYm0Zd52putFVV02J7bA==}
    +  /@unocss/preset-typography@0.59.2:
    +    resolution: {integrity: sha512-02NSGlEhxSDYl58ZiorP4EUiFI5z+j9ez5XjF+FKrZwK2J/L3/DRXcW00n9ERhtc44H6RP2Laj3X7sH8ggJ37A==}
         dependencies:
    -      '@unocss/core': 0.58.9
    -      '@unocss/preset-mini': 0.58.9
    +      '@unocss/core': 0.59.2
    +      '@unocss/preset-mini': 0.59.2
         dev: true
     
    -  /@unocss/preset-uno@0.58.9:
    -    resolution: {integrity: sha512-Fze+X2Z/EegCkRdDRgwwvFBmXBenNR1AG8KxAyz8iPeWbhOBaRra2sn2ScryrfH6SbJHpw26ZyJXycAdS0Fq3A==}
    +  /@unocss/preset-uno@0.59.2:
    +    resolution: {integrity: sha512-+decQShFqTz00w6rpNRQZEZm8PV1MHHs0thUNaooBUF+pISNhJlXJisE2rz4V7KVCCMgZZTRtyPZxmblGVXbJg==}
         dependencies:
    -      '@unocss/core': 0.58.9
    -      '@unocss/preset-mini': 0.58.9
    -      '@unocss/preset-wind': 0.58.9
    -      '@unocss/rule-utils': 0.58.9
    +      '@unocss/core': 0.59.2
    +      '@unocss/preset-mini': 0.59.2
    +      '@unocss/preset-wind': 0.59.2
    +      '@unocss/rule-utils': 0.59.2
         dev: true
     
    -  /@unocss/preset-web-fonts@0.58.9:
    -    resolution: {integrity: sha512-XtiO+Z+RYnNYomNkS2XxaQiY++CrQZKOfNGw5htgIrb32QtYVQSkyYQ3jDw7JmMiCWlZ4E72cV/zUb++WrZLxg==}
    +  /@unocss/preset-web-fonts@0.59.2:
    +    resolution: {integrity: sha512-F7NTjDnmmWlu/NlFjtFR92PnONGax1geXFQFb/dh7QlEBZiVe/qzHRtKLtsYaOGSPr5CSamo0LORx4wug7gjIA==}
         dependencies:
    -      '@unocss/core': 0.58.9
    +      '@unocss/core': 0.59.2
           ofetch: 1.3.4
         dev: true
     
    -  /@unocss/preset-wind@0.58.9:
    -    resolution: {integrity: sha512-7l+7Vx5UoN80BmJKiqDXaJJ6EUqrnUQYv8NxCThFi5lYuHzxsYWZPLU3k3XlWRUQt8XL+6rYx7mMBmD7EUSHyw==}
    +  /@unocss/preset-wind@0.59.2:
    +    resolution: {integrity: sha512-LbdsxU8M90guqV4e7K1weDp3wWcSwzcSmxkogSI/R818SJgnocv4eNzeIR5/mbZu8y8ENtEiE8rEYL1jA6L2GQ==}
         dependencies:
    -      '@unocss/core': 0.58.9
    -      '@unocss/preset-mini': 0.58.9
    -      '@unocss/rule-utils': 0.58.9
    +      '@unocss/core': 0.59.2
    +      '@unocss/preset-mini': 0.59.2
    +      '@unocss/rule-utils': 0.59.2
         dev: true
     
    -  /@unocss/reset@0.58.9:
    -    resolution: {integrity: sha512-nA2pg3tnwlquq+FDOHyKwZvs20A6iBsKPU7Yjb48JrNnzoaXqE+O9oN6782IG2yKVW4AcnsAnAnM4cxXhGzy1w==}
    +  /@unocss/reset@0.59.2:
    +    resolution: {integrity: sha512-xEo2ogs42FlNUca3BiPesGg9/FevJ6cmkxnzzbwlqIEeZjiCH6o+nGdNNUbi6p+gto2P9v4L8ZOeMFYQCwpFzg==}
         dev: true
     
    -  /@unocss/rule-utils@0.58.9:
    -    resolution: {integrity: sha512-45bDa+elmlFLthhJmKr2ltKMAB0yoXnDMQ6Zp5j3OiRB7dDMBkwYRPvHLvIe+34Ey7tDt/kvvDPtWMpPl2quUQ==}
    +  /@unocss/rule-utils@0.59.2:
    +    resolution: {integrity: sha512-2F1Q1pCfeG65GxPEhGQDZXXoZk38fX4o5LOYf35XkknhjQmkaeK76szVYXLDoyK30n9EiwXqoc0MdKrGjeCMUA==}
         engines: {node: '>=14'}
         dependencies:
    -      '@unocss/core': 0.58.9
    -      magic-string: 0.30.8
    +      '@unocss/core': 0.59.2
    +      magic-string: 0.30.9
         dev: true
     
    -  /@unocss/scope@0.58.9:
    -    resolution: {integrity: sha512-BIwcpx0R3bE0rYa9JVDJTk0GX32EBvnbvufBpNkWfC5tb7g+B7nMkVq9ichanksYCCxrIQQo0mrIz5PNzu9sGA==}
    +  /@unocss/scope@0.59.2:
    +    resolution: {integrity: sha512-V6ZS+QonrmqRfZ1/oYmEusASBjbbO+eeL+Fau3bh8IZyPq2HkngJvLNwcyQUPk3/pH18anuzBktSYP0BD2GsKA==}
         dev: true
     
    -  /@unocss/transformer-attributify-jsx-babel@0.58.9:
    -    resolution: {integrity: sha512-UGaQoGZg+3QrsPtnGHPECmsGn4EQb2KSdZ4eGEn2YssjKv+CcQhzRvpEUgnuF/F+jGPkCkS/G/YEQBHRWBY54Q==}
    +  /@unocss/transformer-attributify-jsx-babel@0.59.2:
    +    resolution: {integrity: sha512-tFFncKR9WkGs8asi00lboVbQ/GjHWrE3YBY1GCrSZpeW+XOpGkkEEo03ncVW2c2s0ie4Zl5T7UWcRzFY8gyITQ==}
         dependencies:
    -      '@babel/core': 7.24.3
    -      '@babel/plugin-syntax-jsx': 7.24.1(@babel/core@7.24.3)
    -      '@babel/preset-typescript': 7.24.1(@babel/core@7.24.3)
    -      '@unocss/core': 0.58.9
    +      '@babel/core': 7.24.4
    +      '@babel/plugin-syntax-jsx': 7.24.1(@babel/core@7.24.4)
    +      '@babel/preset-typescript': 7.24.1(@babel/core@7.24.4)
    +      '@unocss/core': 0.59.2
         transitivePeerDependencies:
           - supports-color
         dev: true
     
    -  /@unocss/transformer-attributify-jsx@0.58.9:
    -    resolution: {integrity: sha512-jpL3PRwf8t43v1agUdQn2EHGgfdWfvzsMxFtoybO88xzOikzAJaaouteNtojc/fQat2T9iBduDxVj5egdKmhdQ==}
    +  /@unocss/transformer-attributify-jsx@0.59.2:
    +    resolution: {integrity: sha512-mqcA02tkgeEdMH99K3YJFwHhyT/qvM/0+amfZ3nYlNAiiyCumdb980fSdUvx/cTyXmnocD6tG+UPnx2kD3zdQg==}
         dependencies:
    -      '@unocss/core': 0.58.9
    +      '@unocss/core': 0.59.2
         dev: true
     
    -  /@unocss/transformer-compile-class@0.58.9:
    -    resolution: {integrity: sha512-l2VpCqelJ6Tgc1kfSODxBtg7fCGPVRr2EUzTg1LrGYKa2McbKuc/wV/2DWKHGxL6+voWi7a2C9XflqGDXXutuQ==}
    +  /@unocss/transformer-compile-class@0.59.2:
    +    resolution: {integrity: sha512-yXKoAJU0QcRx3c2XAalHgcVculIPDRCanBm5A3XZPp35eKhcni3VedzUQY6RYFfoETOgQ5x0SV73Ttbj/zvZBQ==}
         dependencies:
    -      '@unocss/core': 0.58.9
    +      '@unocss/core': 0.59.2
         dev: true
     
    -  /@unocss/transformer-directives@0.58.9:
    -    resolution: {integrity: sha512-pLOUsdoY2ugVntJXg0xuGjO9XZ2xCiMxTPRtpZ4TsEzUtdEzMswR06Y8VWvNciTB/Zqxcz9ta8rD0DKePOfSuw==}
    +  /@unocss/transformer-directives@0.59.2:
    +    resolution: {integrity: sha512-FiLcBtwUIUNFpE2SxeUeslJGShHimOJyk30+m2BP+Af7QsxcamWb8/w7YKRMz5MAmE6ZnzAzx/ZAdrK540ho0A==}
         dependencies:
    -      '@unocss/core': 0.58.9
    -      '@unocss/rule-utils': 0.58.9
    +      '@unocss/core': 0.59.2
    +      '@unocss/rule-utils': 0.59.2
           css-tree: 2.3.1
         dev: true
     
    -  /@unocss/transformer-variant-group@0.58.9:
    -    resolution: {integrity: sha512-3A6voHSnFcyw6xpcZT6oxE+KN4SHRnG4z862tdtWvRGcN+jGyNr20ylEZtnbk4xj0VNMeGHHQRZ0WLvmrAwvOQ==}
    +  /@unocss/transformer-variant-group@0.59.2:
    +    resolution: {integrity: sha512-nlEI5ts2YVKvL0dFaIozFIefPUTDZhYCNS6Oie5DPVXDTVufkh9OinLiCo/2ggytkY/VZL00wJm6Iknrp7HL7Q==}
         dependencies:
    -      '@unocss/core': 0.58.9
    +      '@unocss/core': 0.59.2
         dev: true
     
    -  /@unocss/vite@0.58.9(rollup@2.79.1)(vite@5.2.8):
    -    resolution: {integrity: sha512-mmppBuulAHCal+sC0Qz36Y99t0HicAmznpj70Kzwl7g/yvXwm58/DW2OnpCWw+uA8/JBft/+z3zE+XvrI+T1HA==}
    +  /@unocss/vite@0.59.2(rollup@2.79.1)(vite@5.2.8):
    +    resolution: {integrity: sha512-cCATFcyoHKr/5c/ccnwhtYoUA42v+SXp2xmpR4hgE0U4WFgGqIYOx5pzWap73DbywQJuU0hklq7lgvO9b+L/sQ==}
         peerDependencies:
           vite: ^2.9.0 || ^3.0.0-0 || ^4.0.0 || ^5.0.0-0
         dependencies:
           '@ampproject/remapping': 2.3.0
           '@rollup/pluginutils': 5.1.0(rollup@2.79.1)
    -      '@unocss/config': 0.58.9
    -      '@unocss/core': 0.58.9
    -      '@unocss/inspector': 0.58.9
    -      '@unocss/scope': 0.58.9
    -      '@unocss/transformer-directives': 0.58.9
    +      '@unocss/config': 0.59.2
    +      '@unocss/core': 0.59.2
    +      '@unocss/inspector': 0.59.2
    +      '@unocss/scope': 0.59.2
    +      '@unocss/transformer-directives': 0.59.2
           chokidar: 3.6.0
           fast-glob: 3.3.2
    -      magic-string: 0.30.8
    -      vite: 5.2.8(@types/node@20.11.30)
    +      magic-string: 0.30.9
    +      vite: 5.2.8(@types/node@20.12.7)
         transitivePeerDependencies:
           - rollup
         dev: true
    @@ -5586,17 +5116,6 @@ packages:
           vite-plugin-pwa: 0.19.8(vite@5.2.8)(workbox-build@7.0.0)(workbox-window@7.0.0)
         dev: true
     
    -  /@vitejs/plugin-vue@5.0.4(vite@5.2.7)(vue@3.4.21):
    -    resolution: {integrity: sha512-WS3hevEszI6CEVEx28F8RjTX97k3KsrcY6kvTg7+Whm5y3oYvcqzVeGCU3hxSAn4uY2CLCkeokkGKpoctccilQ==}
    -    engines: {node: ^18.0.0 || >=20.0.0}
    -    peerDependencies:
    -      vite: ^5.0.0
    -      vue: ^3.2.25
    -    dependencies:
    -      vite: 5.2.7(@types/node@20.11.30)
    -      vue: 3.4.21(typescript@5.4.5)
    -    dev: true
    -
       /@vitejs/plugin-vue@5.0.4(vite@5.2.8)(vue@3.4.21):
         resolution: {integrity: sha512-WS3hevEszI6CEVEx28F8RjTX97k3KsrcY6kvTg7+Whm5y3oYvcqzVeGCU3hxSAn4uY2CLCkeokkGKpoctccilQ==}
         engines: {node: ^18.0.0 || >=20.0.0}
    @@ -5604,14 +5123,14 @@ packages:
           vite: ^5.0.0
           vue: ^3.2.25
         dependencies:
    -      vite: 5.2.8(@types/node@20.11.30)
    +      vite: 5.2.8(@types/node@20.12.7)
           vue: 3.4.21(typescript@5.4.5)
         dev: true
     
    -  /@vitest/coverage-v8@1.4.0(vitest@1.4.0):
    -    resolution: {integrity: sha512-4hDGyH1SvKpgZnIByr9LhGgCEuF9DKM34IBLCC/fVfy24Z3+PZ+Ii9hsVBsHvY1umM1aGPEjceRkzxCfcQ10wg==}
    +  /@vitest/coverage-v8@1.5.0(vitest@1.5.0):
    +    resolution: {integrity: sha512-1igVwlcqw1QUMdfcMlzzY4coikSIBN944pkueGi0pawrX5I5Z+9hxdTR+w3Sg6Q3eZhvdMAs8ZaF9JuTG1uYOQ==}
         peerDependencies:
    -      vitest: 1.4.0
    +      vitest: 1.5.0
         dependencies:
           '@ampproject/remapping': 2.3.0
           '@bcoe/v8-coverage': 0.2.3
    @@ -5620,65 +5139,64 @@ packages:
           istanbul-lib-report: 3.0.1
           istanbul-lib-source-maps: 5.0.4
           istanbul-reports: 3.1.7
    -      magic-string: 0.30.8
    -      magicast: 0.3.3
    +      magic-string: 0.30.9
    +      magicast: 0.3.4
           picocolors: 1.0.0
           std-env: 3.7.0
    -      strip-literal: 2.0.0
    +      strip-literal: 2.1.0
           test-exclude: 6.0.0
    -      v8-to-istanbul: 9.2.0
    -      vitest: 1.4.0(@types/node@20.11.30)(@vitest/ui@1.4.0)(jsdom@24.0.0)
    +      vitest: 1.5.0(@types/node@20.12.7)(@vitest/ui@1.5.0)(jsdom@24.0.0)
         transitivePeerDependencies:
           - supports-color
         dev: true
     
    -  /@vitest/expect@1.4.0:
    -    resolution: {integrity: sha512-Jths0sWCJZ8BxjKe+p+eKsoqev1/T8lYcrjavEaz8auEJ4jAVY0GwW3JKmdVU4mmNPLPHixh4GNXP7GFtAiDHA==}
    +  /@vitest/expect@1.5.0:
    +    resolution: {integrity: sha512-0pzuCI6KYi2SIC3LQezmxujU9RK/vwC1U9R0rLuGlNGcOuDWxqWKu6nUdFsX9tH1WU0SXtAxToOsEjeUn1s3hA==}
         dependencies:
    -      '@vitest/spy': 1.4.0
    -      '@vitest/utils': 1.4.0
    +      '@vitest/spy': 1.5.0
    +      '@vitest/utils': 1.5.0
           chai: 4.4.1
         dev: true
     
    -  /@vitest/runner@1.4.0:
    -    resolution: {integrity: sha512-EDYVSmesqlQ4RD2VvWo3hQgTJ7ZrFQ2VSJdfiJiArkCerDAGeyF1i6dHkmySqk573jLp6d/cfqCN+7wUB5tLgg==}
    +  /@vitest/runner@1.5.0:
    +    resolution: {integrity: sha512-7HWwdxXP5yDoe7DTpbif9l6ZmDwCzcSIK38kTSIt6CFEpMjX4EpCgT6wUmS0xTXqMI6E/ONmfgRKmaujpabjZQ==}
         dependencies:
    -      '@vitest/utils': 1.4.0
    +      '@vitest/utils': 1.5.0
           p-limit: 5.0.0
           pathe: 1.1.2
         dev: true
     
    -  /@vitest/snapshot@1.4.0:
    -    resolution: {integrity: sha512-saAFnt5pPIA5qDGxOHxJ/XxhMFKkUSBJmVt5VgDsAqPTX6JP326r5C/c9UuCMPoXNzuudTPsYDZCoJ5ilpqG2A==}
    +  /@vitest/snapshot@1.5.0:
    +    resolution: {integrity: sha512-qpv3fSEuNrhAO3FpH6YYRdaECnnRjg9VxbhdtPwPRnzSfHVXnNzzrpX4cJxqiwgRMo7uRMWDFBlsBq4Cr+rO3A==}
         dependencies:
    -      magic-string: 0.30.8
    +      magic-string: 0.30.9
           pathe: 1.1.2
           pretty-format: 29.7.0
         dev: true
     
    -  /@vitest/spy@1.4.0:
    -    resolution: {integrity: sha512-Ywau/Qs1DzM/8Uc+yA77CwSegizMlcgTJuYGAi0jujOteJOUf1ujunHThYo243KG9nAyWT3L9ifPYZ5+As/+6Q==}
    +  /@vitest/spy@1.5.0:
    +    resolution: {integrity: sha512-vu6vi6ew5N5MMHJjD5PoakMRKYdmIrNJmyfkhRpQt5d9Ewhw9nZ5Aqynbi3N61bvk9UvZ5UysMT6ayIrZ8GA9w==}
         dependencies:
           tinyspy: 2.2.1
         dev: true
     
    -  /@vitest/ui@1.4.0(vitest@1.4.0):
    -    resolution: {integrity: sha512-XC6CMhN1gzYcGbpn6/Oanj4Au2EXwQEX6vpcOeLlZv8dy7g11Ukx8zwtYQbwxs9duK2s9j2o5rbQiCP5DPAcmw==}
    +  /@vitest/ui@1.5.0(vitest@1.5.0):
    +    resolution: {integrity: sha512-ETcToK2TzICf/Oartvt19IH7yR4oCs8GrQk5hRhZ5oZFaSdDHTh6o3EdzyxOaY24NZ20cXYYNGjj1se/5vHfFg==}
         peerDependencies:
    -      vitest: 1.4.0
    +      vitest: 1.5.0
         dependencies:
    -      '@vitest/utils': 1.4.0
    +      '@vitest/utils': 1.5.0
           fast-glob: 3.3.2
           fflate: 0.8.2
           flatted: 3.3.1
           pathe: 1.1.2
           picocolors: 1.0.0
           sirv: 2.0.4
    -      vitest: 1.4.0(@types/node@20.11.30)(@vitest/ui@1.4.0)(jsdom@24.0.0)
    +      vitest: 1.5.0(@types/node@20.12.7)(@vitest/ui@1.5.0)(jsdom@24.0.0)
         dev: true
     
    -  /@vitest/utils@1.4.0:
    -    resolution: {integrity: sha512-mx3Yd1/6e2Vt/PUC98DcqTirtfxUyAZ32uK82r8rZzbtBeBo+nqgnjx/LvqQdWsrvNtm14VmurNgcf4nqY5gJg==}
    +  /@vitest/utils@1.5.0:
    +    resolution: {integrity: sha512-BDU0GNL8MWkRkSRdNFvCUCAVOeHaUlVJ9Tx0TYBZyXaaOTmGtUFObzchCivIBrIwKzvZA7A9sCejVhXM2aY98A==}
         dependencies:
           diff-sequences: 29.6.3
           estree-walker: 3.0.3
    @@ -5691,7 +5209,7 @@ packages:
         peerDependencies:
           vue: 3.4.21
         dependencies:
    -      '@babel/parser': 7.24.1
    +      '@babel/parser': 7.24.4
           estree-walker: 2.0.2
           source-map-js: 1.2.0
           vue: 3.4.21(typescript@5.4.5)
    @@ -5735,20 +5253,20 @@ packages:
         resolution: {integrity: sha512-LgPscpE3Vs0x96PzSSB4IGVSZXZBZHpfxs+ZA1d+VEPwHdOXowy/Y2CsvCAIFrf+ssVU1pD1jidj505EpUnfbA==}
         dev: false
     
    -  /@vue/devtools-api@7.0.25(vue@3.4.21):
    -    resolution: {integrity: sha512-fL6DlRp4MSXCLYcqYvKU7QhQZWE3Hfu7X8pC25BS74coJi7uJeSWs4tmrITcwFihNmC9S5GPiffkMdckkeWjzg==}
    +  /@vue/devtools-api@7.0.27(vue@3.4.21):
    +    resolution: {integrity: sha512-BFCFCusSDcw2UcOFD/QeK7OxD1x2C/m+uAN30Q7jLKECSW53hmz0urzJmX834GuWDZX/hIxkyUKnLLfEIP1c/w==}
         dependencies:
    -      '@vue/devtools-kit': 7.0.25(vue@3.4.21)
    +      '@vue/devtools-kit': 7.0.27(vue@3.4.21)
         transitivePeerDependencies:
           - vue
         dev: true
     
    -  /@vue/devtools-kit@7.0.25(vue@3.4.21):
    -    resolution: {integrity: sha512-wbLkSnOTsKHPb1mB9koFHUoSAF8Dp6Ii/ocR2+DeXFY4oKqIjCeJb/4Lihk4rgqEhCy1WwxLfTgNDo83VvDYkQ==}
    +  /@vue/devtools-kit@7.0.27(vue@3.4.21):
    +    resolution: {integrity: sha512-/A5xM38pPCFX5Yhl/lRFAzjyK6VNsH670nww2WbjFKWqlu3I+lMxWKzQkCW6A1V8bduITgl2kHORfg2gTw6QaA==}
         peerDependencies:
           vue: ^3.0.0
         dependencies:
    -      '@vue/devtools-shared': 7.0.25
    +      '@vue/devtools-shared': 7.0.27
           hookable: 5.5.3
           mitt: 3.0.1
           perfect-debounce: 1.0.0
    @@ -5756,8 +5274,8 @@ packages:
           vue: 3.4.21(typescript@5.4.5)
         dev: true
     
    -  /@vue/devtools-shared@7.0.25:
    -    resolution: {integrity: sha512-5+XYhcHSXuJSguYnNwL6/e6VTmXwCfryWQOkffh9ZU2zMByybqqqBrMWqvBkqTmMFCjPdzulo66xXbVbwLaElQ==}
    +  /@vue/devtools-shared@7.0.27:
    +    resolution: {integrity: sha512-4VxtmZ6yjhiSloqZZq2UYU0TBGxOJ8GxWvp5OlAH70zYqi0FIAyWGPkOhvfoZ7DKQyv2UU0mmKzFHjsEkelGyQ==}
         dependencies:
           rfdc: 1.3.1
         dev: true
    @@ -6069,8 +5587,8 @@ packages:
         resolution: {integrity: sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==}
         dev: true
     
    -  /@zenuml/core@3.19.3(typescript@5.4.5):
    -    resolution: {integrity: sha512-n3rhMFtcpHlxHiQwKLPK7OU1tchFn8Ea3+xvW6svQkUAWq6fkm1Ic/MmUOw1yxLgLUMMM8GUpA0HsRWWOa2nNg==}
    +  /@zenuml/core@3.21.2(typescript@5.4.5):
    +    resolution: {integrity: sha512-e63W3sb+cSafRaN+g2l2sYMdFMxDC0bRMqo+spRW48LoK0/7MQsSf6f9xEtSly/iTaXUGedw1TpvktzAxeKFjA==}
         engines: {node: '>=12.0.0'}
         dependencies:
           '@headlessui-float/vue': 0.11.4(vue@3.4.21)
    @@ -6087,7 +5605,7 @@ packages:
           html-to-image: 1.11.11
           lodash: 4.17.21
           marked: 4.3.0
    -      pino: 8.19.0
    +      pino: 8.20.0
           postcss: 8.4.38
           ramda: 0.28.0
           tailwindcss: 3.4.3
    @@ -6233,24 +5751,24 @@ packages:
           uri-js: 4.4.1
         dev: true
     
    -  /algoliasearch@4.23.2:
    -    resolution: {integrity: sha512-8aCl055IsokLuPU8BzLjwzXjb7ty9TPcUFFOk0pYOwsE5DMVhE3kwCMFtsCFKcnoPZK7oObm+H5mbnSO/9ioxQ==}
    +  /algoliasearch@4.23.3:
    +    resolution: {integrity: sha512-Le/3YgNvjW9zxIQMRhUHuhiUjAlKY/zsdZpfq4dlLqg6mEm0nL6yk+7f2hDOtLpxsgE4jSzDmvHL7nXdBp5feg==}
         dependencies:
    -      '@algolia/cache-browser-local-storage': 4.23.2
    -      '@algolia/cache-common': 4.23.2
    -      '@algolia/cache-in-memory': 4.23.2
    -      '@algolia/client-account': 4.23.2
    -      '@algolia/client-analytics': 4.23.2
    -      '@algolia/client-common': 4.23.2
    -      '@algolia/client-personalization': 4.23.2
    -      '@algolia/client-search': 4.23.2
    -      '@algolia/logger-common': 4.23.2
    -      '@algolia/logger-console': 4.23.2
    -      '@algolia/recommend': 4.23.2
    -      '@algolia/requester-browser-xhr': 4.23.2
    -      '@algolia/requester-common': 4.23.2
    -      '@algolia/requester-node-http': 4.23.2
    -      '@algolia/transporter': 4.23.2
    +      '@algolia/cache-browser-local-storage': 4.23.3
    +      '@algolia/cache-common': 4.23.3
    +      '@algolia/cache-in-memory': 4.23.3
    +      '@algolia/client-account': 4.23.3
    +      '@algolia/client-analytics': 4.23.3
    +      '@algolia/client-common': 4.23.3
    +      '@algolia/client-personalization': 4.23.3
    +      '@algolia/client-search': 4.23.3
    +      '@algolia/logger-common': 4.23.3
    +      '@algolia/logger-console': 4.23.3
    +      '@algolia/recommend': 4.23.3
    +      '@algolia/requester-browser-xhr': 4.23.3
    +      '@algolia/requester-common': 4.23.3
    +      '@algolia/requester-node-http': 4.23.3
    +      '@algolia/transporter': 4.23.3
         dev: true
     
       /amdefine@1.0.1:
    @@ -6509,17 +6027,17 @@ packages:
           - debug
         dev: true
     
    -  /babel-jest@29.7.0(@babel/core@7.24.0):
    +  /babel-jest@29.7.0(@babel/core@7.24.4):
         resolution: {integrity: sha512-BrvGY3xZSwEcCzKvKsCi2GgHqDqsYkOP4/by5xCgIwGXQxIEh+8ew3gmrE1y7XRR6LHZIj6yLYnUi/mm2KXKBg==}
         engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
         peerDependencies:
           '@babel/core': ^7.8.0
         dependencies:
    -      '@babel/core': 7.24.0
    +      '@babel/core': 7.24.4
           '@jest/transform': 29.7.0
           '@types/babel__core': 7.20.5
           babel-plugin-istanbul: 6.1.1
    -      babel-preset-jest: 29.6.3(@babel/core@7.24.0)
    +      babel-preset-jest: 29.6.3(@babel/core@7.24.4)
           chalk: 4.1.2
           graceful-fs: 4.2.11
           slash: 3.0.0
    @@ -6599,35 +6117,35 @@ packages:
           - supports-color
         dev: true
     
    -  /babel-preset-current-node-syntax@1.0.1(@babel/core@7.24.0):
    +  /babel-preset-current-node-syntax@1.0.1(@babel/core@7.24.4):
         resolution: {integrity: sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==}
         peerDependencies:
           '@babel/core': ^7.0.0
         dependencies:
    -      '@babel/core': 7.24.0
    -      '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.24.0)
    -      '@babel/plugin-syntax-bigint': 7.8.3(@babel/core@7.24.0)
    -      '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.24.0)
    -      '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.24.0)
    -      '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.24.0)
    -      '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.24.0)
    -      '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.24.0)
    -      '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.24.0)
    -      '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.24.0)
    -      '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.24.0)
    -      '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.24.0)
    -      '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.24.0)
    -    dev: true
    -
    -  /babel-preset-jest@29.6.3(@babel/core@7.24.0):
    +      '@babel/core': 7.24.4
    +      '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.24.4)
    +      '@babel/plugin-syntax-bigint': 7.8.3(@babel/core@7.24.4)
    +      '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.24.4)
    +      '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.24.4)
    +      '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.24.4)
    +      '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.24.4)
    +      '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.24.4)
    +      '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.24.4)
    +      '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.24.4)
    +      '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.24.4)
    +      '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.24.4)
    +      '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.24.4)
    +    dev: true
    +
    +  /babel-preset-jest@29.6.3(@babel/core@7.24.4):
         resolution: {integrity: sha512-0B3bhxR6snWXJZtR/RliHTDPRgn1sNHOR0yVtq/IiQFyuOVjFS+wuio/R4gSNkyYmKmJB4wGZv2NZanmKmTnNA==}
         engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
         peerDependencies:
           '@babel/core': ^7.0.0
         dependencies:
    -      '@babel/core': 7.24.0
    +      '@babel/core': 7.24.4
           babel-plugin-jest-hoist: 29.6.3
    -      babel-preset-current-node-syntax: 1.0.1(@babel/core@7.24.0)
    +      babel-preset-current-node-syntax: 1.0.1(@babel/core@7.24.4)
         dev: true
     
       /bail@2.0.2:
    @@ -7469,7 +6987,7 @@ packages:
           p-map: 6.0.0
         dev: true
     
    -  /create-jest@29.7.0(@types/node@20.11.30):
    +  /create-jest@29.7.0(@types/node@20.12.7):
         resolution: {integrity: sha512-Adz2bdH0Vq3F53KEMJOoftQFutWCukm6J24wbPWRO4k1kMY7gS7ds/uoJkNuV8wDCtWWnuwGcJwpWcih+zEW1Q==}
         engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
         hasBin: true
    @@ -7478,7 +6996,7 @@ packages:
           chalk: 4.1.2
           exit: 0.1.2
           graceful-fs: 4.2.11
    -      jest-config: 29.7.0(@types/node@20.11.30)
    +      jest-config: 29.7.0(@types/node@20.12.7)
           jest-util: 29.7.0
           prompts: 2.4.2
         transitivePeerDependencies:
    @@ -7527,77 +7045,77 @@ packages:
           type-fest: 1.4.0
         dev: true
     
    -  /cspell-config-lib@8.6.1:
    -    resolution: {integrity: sha512-I6LatgXJb8mxKFzIywO81TlUD/qWnUDrhB6yTUPdP90bwZcXMmGoCsZxhd2Rvl9fz5fWne0T839I1coShfm86g==}
    +  /cspell-config-lib@8.7.0:
    +    resolution: {integrity: sha512-depsd01GbLBo71/tfRrL5iECWQLS4CjCxA9C01dVkFAJqVB0s+K9KLKjTlq5aHOhcvo9Z3dHV+bGQCf5/Q7bfw==}
         engines: {node: '>=18'}
         dependencies:
    -      '@cspell/cspell-types': 8.6.1
    +      '@cspell/cspell-types': 8.7.0
           comment-json: 4.2.3
           yaml: 2.4.1
         dev: true
     
    -  /cspell-dictionary@8.6.1:
    -    resolution: {integrity: sha512-0SfKPi1QoWbGpZ/rWMR7Jn0+GaQT9PAMLWjVOu66PUNUXI5f4oCTHpnZE1Xts+5VX8shZC3TAMHEgtgKuQn4RQ==}
    +  /cspell-dictionary@8.7.0:
    +    resolution: {integrity: sha512-S6IpZSzIMxlOO/33NgCOuP0TPH2mZbw8d5CP44z5jajflloq8l74MeJLkeDzYfCRcm0Rtk0A5drBeMg+Ai34OA==}
         engines: {node: '>=18'}
         dependencies:
    -      '@cspell/cspell-pipe': 8.6.1
    -      '@cspell/cspell-types': 8.6.1
    -      cspell-trie-lib: 8.6.1
    +      '@cspell/cspell-pipe': 8.7.0
    +      '@cspell/cspell-types': 8.7.0
    +      cspell-trie-lib: 8.7.0
           fast-equals: 5.0.1
           gensequence: 7.0.0
         dev: true
     
    -  /cspell-gitignore@8.6.1:
    -    resolution: {integrity: sha512-3gtt351sSDfN826aMXTqGHVLz2lz9ZHr8uemImUc24Q+676sXkJM9lXzqP8PUqwGhLyt5qSf+9pt0ieNwQy/cA==}
    +  /cspell-gitignore@8.7.0:
    +    resolution: {integrity: sha512-yvUZ86qyopUpDgn+YXP1qTpUe/lp65ZFvpMtw21lWHTFlg1OWKntr349EQU/5ben/K6koxk1FiElCBV7Lr4uFg==}
         engines: {node: '>=18'}
         hasBin: true
         dependencies:
    -      cspell-glob: 8.6.1
    +      cspell-glob: 8.7.0
           find-up-simple: 1.0.0
         dev: true
     
    -  /cspell-glob@8.6.1:
    -    resolution: {integrity: sha512-QjtngIR0XsUQLmHHDO86hps/JR5sRxSBwCvcsNCEmSdpdofLFc8cuxi3o33JWge7UAPBCQOLGfpA7/Wx31srmw==}
    +  /cspell-glob@8.7.0:
    +    resolution: {integrity: sha512-AMdfx0gvROA/aIL8t8b5Y5NtMgscGZELFj6WhCSZiQSuWRxXUKiLGGLUFjx2y0hgXN9LUYOo6aBjvhnxI/v71g==}
         engines: {node: '>=18'}
         dependencies:
           micromatch: 4.0.5
         dev: true
     
    -  /cspell-grammar@8.6.1:
    -    resolution: {integrity: sha512-MaG0e/F0b2FnIRULCZ61JxEiJgTP/6rsbUoR5nG9X+WmJYItYmxC1F/FPPrVeTu+jJr/8O4pdnslE20pimHaCw==}
    +  /cspell-grammar@8.7.0:
    +    resolution: {integrity: sha512-SGcXc7322wU2WNRi7vtpToWDXTqZHhxqvR+aIXHT2kkxlMSWp3Rvfpshd0ckgY54nZtgw7R/JtKND2jeACRpwQ==}
         engines: {node: '>=18'}
         hasBin: true
         dependencies:
    -      '@cspell/cspell-pipe': 8.6.1
    -      '@cspell/cspell-types': 8.6.1
    +      '@cspell/cspell-pipe': 8.7.0
    +      '@cspell/cspell-types': 8.7.0
         dev: true
     
    -  /cspell-io@8.6.1:
    -    resolution: {integrity: sha512-ofxBB8QtUPvh/bOwKLYsqU1hwQCet8E98jkn/5f4jtG+/x5Zd80I0Ez+tlbjiBmrrQfOKh+i8ipfzHD8JtoreQ==}
    +  /cspell-io@8.7.0:
    +    resolution: {integrity: sha512-o7OltyyvVkRG1gQrIqGpN5pUkHNnv6rvihb7Qu6cJ8jITinLGuWJuEQpgt0eF5yIr624jDbFwSzAxsFox8riQg==}
         engines: {node: '>=18'}
         dependencies:
    -      '@cspell/cspell-service-bus': 8.6.1
    +      '@cspell/cspell-service-bus': 8.7.0
         dev: true
     
    -  /cspell-lib@8.6.1:
    -    resolution: {integrity: sha512-kGeDUypRtThFT81IdUK7yU8eUwO5MYWj8pGQ0N8WFsqbCahJrUdcocceVSpnCX48W3CXu12DkqYG9kv5Umn7Xw==}
    +  /cspell-lib@8.7.0:
    +    resolution: {integrity: sha512-qDSHZGekwiDmouYRECTQokE+hgAuPqREm+Hb+G3DoIo3ZK5H47TtEUo8fNCw22XsKefcF8X28LiyoZwiYHVpSg==}
         engines: {node: '>=18'}
         dependencies:
    -      '@cspell/cspell-bundled-dicts': 8.6.1
    -      '@cspell/cspell-pipe': 8.6.1
    -      '@cspell/cspell-resolver': 8.6.1
    -      '@cspell/cspell-types': 8.6.1
    -      '@cspell/dynamic-import': 8.6.1
    -      '@cspell/strong-weak-map': 8.6.1
    +      '@cspell/cspell-bundled-dicts': 8.7.0
    +      '@cspell/cspell-pipe': 8.7.0
    +      '@cspell/cspell-resolver': 8.7.0
    +      '@cspell/cspell-types': 8.7.0
    +      '@cspell/dynamic-import': 8.7.0
    +      '@cspell/strong-weak-map': 8.7.0
           clear-module: 4.1.2
           comment-json: 4.2.3
           configstore: 6.0.0
    -      cspell-config-lib: 8.6.1
    -      cspell-dictionary: 8.6.1
    -      cspell-glob: 8.6.1
    -      cspell-grammar: 8.6.1
    -      cspell-io: 8.6.1
    -      cspell-trie-lib: 8.6.1
    +      cspell-config-lib: 8.7.0
    +      cspell-dictionary: 8.7.0
    +      cspell-glob: 8.7.0
    +      cspell-grammar: 8.7.0
    +      cspell-io: 8.7.0
    +      cspell-trie-lib: 8.7.0
           fast-equals: 5.0.1
           gensequence: 7.0.0
           import-fresh: 3.3.0
    @@ -7606,31 +7124,31 @@ packages:
           vscode-uri: 3.0.8
         dev: true
     
    -  /cspell-trie-lib@8.6.1:
    -    resolution: {integrity: sha512-iuJuAyWoqTH/TpFAR/ISJGQQoW3oiw54GyvXIucPoCJt/jgQONDuzqPW+skiLvcgcTbXCN9dutZTb2gImIkmpw==}
    +  /cspell-trie-lib@8.7.0:
    +    resolution: {integrity: sha512-W3Nh2cO7gMV91r+hLqyTMgKlvRl4W5diKs5YiyOxjZumRkMBy42IzcNYtgIIacOxghklv96F5Bd1Vx/zY6ylGA==}
         engines: {node: '>=18'}
         dependencies:
    -      '@cspell/cspell-pipe': 8.6.1
    -      '@cspell/cspell-types': 8.6.1
    +      '@cspell/cspell-pipe': 8.7.0
    +      '@cspell/cspell-types': 8.7.0
           gensequence: 7.0.0
         dev: true
     
    -  /cspell@8.6.1:
    -    resolution: {integrity: sha512-/Qle15v4IQe7tViSWX0+RCZJ2HJ4HUCZV9Z4uOVasNUz+DWCrxysNR+pfCRYuLX/6lQdqCM9QCR9GZc7a2KIVA==}
    +  /cspell@8.7.0:
    +    resolution: {integrity: sha512-77nRPgLl240C6FK8RKVKo34lP15Lzp/6bk+SKYJFwUKKXlcgWXDis+Lw4JolA741/JgHtuxmhW1C8P7dCKjJ3w==}
         engines: {node: '>=18'}
         hasBin: true
         dependencies:
    -      '@cspell/cspell-json-reporter': 8.6.1
    -      '@cspell/cspell-pipe': 8.6.1
    -      '@cspell/cspell-types': 8.6.1
    -      '@cspell/dynamic-import': 8.6.1
    +      '@cspell/cspell-json-reporter': 8.7.0
    +      '@cspell/cspell-pipe': 8.7.0
    +      '@cspell/cspell-types': 8.7.0
    +      '@cspell/dynamic-import': 8.7.0
           chalk: 5.3.0
           chalk-template: 1.1.0
           commander: 12.0.0
    -      cspell-gitignore: 8.6.1
    -      cspell-glob: 8.6.1
    -      cspell-io: 8.6.1
    -      cspell-lib: 8.6.1
    +      cspell-gitignore: 8.7.0
    +      cspell-glob: 8.7.0
    +      cspell-io: 8.7.0
    +      cspell-lib: 8.7.0
           fast-glob: 3.3.2
           fast-json-stable-stringify: 2.1.0
           file-entry-cache: 8.0.0
    @@ -8354,8 +7872,8 @@ packages:
           domelementtype: 2.3.0
         dev: true
     
    -  /dompurify@3.0.11:
    -    resolution: {integrity: sha512-Fan4uMuyB26gFV3ovPoEoQbxRRPfTu3CvImyZnhGq5fsIEO+gEFLp45ISFt+kQBWsK5ulDdT0oV28jS1UrwQLg==}
    +  /dompurify@3.1.0:
    +    resolution: {integrity: sha512-yoU4rhgPKCo+p5UrWWWNKiIq+ToGqmVVhk0PmMYBK4kRsR3/qhemNFL8f6CFmBd4gMwm3F4T7HBoydP5uY07fA==}
         dev: false
     
       /domutils@3.1.0:
    @@ -8744,14 +8262,14 @@ packages:
           globals: 13.24.0
         dev: true
     
    -  /eslint-plugin-html@8.0.0:
    -    resolution: {integrity: sha512-NINLBAXM3mLa3k5Ezr/kNLHAJJwbot6lS7Ro+SUftDw4cA51KMmcDuCf98GP6Q6kTVPY1hIggzskxAdxfUPXSA==}
    +  /eslint-plugin-html@8.1.0:
    +    resolution: {integrity: sha512-5bRZQwxZew2Yo9Fa8diz2C9RmzIw9Gs4yzmmjUcpuzhdLW8aVcDtYzEHhNNdt01Z0m4AzSJNuY63RXvzStvDgA==}
         engines: {node: '>=16.0.0'}
         dependencies:
           htmlparser2: 9.1.0
         dev: true
     
    -  /eslint-plugin-jest@27.9.0(@typescript-eslint/eslint-plugin@7.3.1)(eslint@8.57.0)(jest@29.7.0)(typescript@5.4.5):
    +  /eslint-plugin-jest@27.9.0(@typescript-eslint/eslint-plugin@7.6.0)(eslint@8.57.0)(jest@29.7.0)(typescript@5.4.5):
         resolution: {integrity: sha512-QIT7FH7fNmd9n4se7FFKHbsLKGQiw885Ds6Y/sxKgCZ6natwCsXdgPOADnYVxN2QrRweF0FZWbJ6S7Rsn7llug==}
         engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
         peerDependencies:
    @@ -8764,10 +8282,10 @@ packages:
           jest:
             optional: true
         dependencies:
    -      '@typescript-eslint/eslint-plugin': 7.3.1(@typescript-eslint/parser@7.3.1)(eslint@8.57.0)(typescript@5.4.5)
    +      '@typescript-eslint/eslint-plugin': 7.6.0(@typescript-eslint/parser@7.6.0)(eslint@8.57.0)(typescript@5.4.5)
           '@typescript-eslint/utils': 5.62.0(eslint@8.57.0)(typescript@5.4.5)
           eslint: 8.57.0
    -      jest: 29.7.0(@types/node@20.11.30)
    +      jest: 29.7.0(@types/node@20.12.7)
         transitivePeerDependencies:
           - supports-color
           - typescript
    @@ -10809,7 +10327,7 @@ packages:
         resolution: {integrity: sha512-BXgQl9kf4WTCPCCpmFGoJkz/+uhvm7h7PFKUYxh7qarQd3ER33vHG//qaE8eN25l07YqZPpHXU9I09l/RD5aGQ==}
         engines: {node: '>=8'}
         dependencies:
    -      '@babel/core': 7.22.10
    +      '@babel/core': 7.24.4
           '@istanbuljs/schema': 0.1.3
           istanbul-lib-coverage: 3.2.0
           semver: 6.3.1
    @@ -10821,8 +10339,8 @@ packages:
         resolution: {integrity: sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==}
         engines: {node: '>=8'}
         dependencies:
    -      '@babel/core': 7.24.0
    -      '@babel/parser': 7.24.1
    +      '@babel/core': 7.24.4
    +      '@babel/parser': 7.24.4
           '@istanbuljs/schema': 0.1.3
           istanbul-lib-coverage: 3.2.2
           semver: 6.3.1
    @@ -10834,8 +10352,8 @@ packages:
         resolution: {integrity: sha512-1WUsZ9R1lA0HtBSohTkm39WTPlNKSJ5iFk7UwqXkBLoHQT+hfqPsfsTDVuZdKGaBwn7din9bS7SsnoAr943hvw==}
         engines: {node: '>=10'}
         dependencies:
    -      '@babel/core': 7.24.0
    -      '@babel/parser': 7.24.0
    +      '@babel/core': 7.24.4
    +      '@babel/parser': 7.24.4
           '@istanbuljs/schema': 0.1.3
           istanbul-lib-coverage: 3.2.2
           semver: 7.6.0
    @@ -10946,7 +10464,7 @@ packages:
           '@jest/expect': 29.7.0
           '@jest/test-result': 29.7.0
           '@jest/types': 29.6.3
    -      '@types/node': 20.11.30
    +      '@types/node': 20.12.7
           chalk: 4.1.2
           co: 4.6.0
           dedent: 1.5.1
    @@ -10967,7 +10485,7 @@ packages:
           - supports-color
         dev: true
     
    -  /jest-cli@29.7.0(@types/node@20.11.30):
    +  /jest-cli@29.7.0(@types/node@20.12.7):
         resolution: {integrity: sha512-OVVobw2IubN/GSYsxETi+gOe7Ka59EFMR/twOU3Jb2GnKKeMGJB5SGUUrEz3SFVmJASUdZUzy83sLNNQ2gZslg==}
         engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
         hasBin: true
    @@ -10981,10 +10499,10 @@ packages:
           '@jest/test-result': 29.7.0
           '@jest/types': 29.6.3
           chalk: 4.1.2
    -      create-jest: 29.7.0(@types/node@20.11.30)
    +      create-jest: 29.7.0(@types/node@20.12.7)
           exit: 0.1.2
           import-local: 3.1.0
    -      jest-config: 29.7.0(@types/node@20.11.30)
    +      jest-config: 29.7.0(@types/node@20.12.7)
           jest-util: 29.7.0
           jest-validate: 29.7.0
           yargs: 17.7.2
    @@ -10995,7 +10513,7 @@ packages:
           - ts-node
         dev: true
     
    -  /jest-config@29.7.0(@types/node@20.11.30):
    +  /jest-config@29.7.0(@types/node@20.12.7):
         resolution: {integrity: sha512-uXbpfeQ7R6TZBqI3/TxCU4q4ttk3u0PJeC+E0zbfSoSjq6bJ7buBPxzQPL0ifrkY4DNu4JUdk0ImlBUYi840eQ==}
         engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
         peerDependencies:
    @@ -11007,11 +10525,11 @@ packages:
           ts-node:
             optional: true
         dependencies:
    -      '@babel/core': 7.24.0
    +      '@babel/core': 7.24.4
           '@jest/test-sequencer': 29.7.0
           '@jest/types': 29.6.3
    -      '@types/node': 20.11.30
    -      babel-jest: 29.7.0(@babel/core@7.24.0)
    +      '@types/node': 20.12.7
    +      babel-jest: 29.7.0(@babel/core@7.24.4)
           chalk: 4.1.2
           ci-info: 3.9.0
           deepmerge: 4.3.1
    @@ -11070,7 +10588,7 @@ packages:
           '@jest/environment': 29.7.0
           '@jest/fake-timers': 29.7.0
           '@jest/types': 29.6.3
    -      '@types/node': 20.11.30
    +      '@types/node': 20.12.7
           jest-mock: 29.7.0
           jest-util: 29.7.0
         dev: true
    @@ -11086,7 +10604,7 @@ packages:
         dependencies:
           '@jest/types': 29.6.3
           '@types/graceful-fs': 4.1.9
    -      '@types/node': 20.11.30
    +      '@types/node': 20.12.7
           anymatch: 3.1.3
           fb-watchman: 2.0.2
           graceful-fs: 4.2.11
    @@ -11108,7 +10626,7 @@ packages:
           chalk: 1.1.3
           get-stdin: 5.0.1
           glur: 1.1.2
    -      jest: 29.7.0(@types/node@20.11.30)
    +      jest: 29.7.0(@types/node@20.12.7)
           lodash: 4.17.21
           mkdirp: 0.5.6
           pixelmatch: 5.3.0
    @@ -11139,7 +10657,7 @@ packages:
         resolution: {integrity: sha512-GBEV4GRADeP+qtB2+6u61stea8mGcOT4mCtrYISZwfu9/ISHFJ/5zOMXYbpBE9RsS5+Gb63DW4FgmnKJ79Kf6w==}
         engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
         dependencies:
    -      '@babel/code-frame': 7.23.5
    +      '@babel/code-frame': 7.24.2
           '@jest/types': 29.6.3
           '@types/stack-utils': 2.0.3
           chalk: 4.1.2
    @@ -11155,7 +10673,7 @@ packages:
         engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
         dependencies:
           '@jest/types': 29.6.3
    -      '@types/node': 20.11.30
    +      '@types/node': 20.12.7
           jest-util: 29.7.0
         dev: true
     
    @@ -11210,7 +10728,7 @@ packages:
           '@jest/test-result': 29.7.0
           '@jest/transform': 29.7.0
           '@jest/types': 29.6.3
    -      '@types/node': 20.11.30
    +      '@types/node': 20.12.7
           chalk: 4.1.2
           emittery: 0.13.1
           graceful-fs: 4.2.11
    @@ -11241,7 +10759,7 @@ packages:
           '@jest/test-result': 29.7.0
           '@jest/transform': 29.7.0
           '@jest/types': 29.6.3
    -      '@types/node': 20.11.30
    +      '@types/node': 20.12.7
           chalk: 4.1.2
           cjs-module-lexer: 1.2.3
           collect-v8-coverage: 1.0.2
    @@ -11264,15 +10782,15 @@ packages:
         resolution: {integrity: sha512-Rm0BMWtxBcioHr1/OX5YCP8Uov4riHvKPknOGs804Zg9JGZgmIBkbtlxJC/7Z4msKYVbIJtfU+tKb8xlYNfdkw==}
         engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
         dependencies:
    -      '@babel/core': 7.24.0
    -      '@babel/generator': 7.23.6
    -      '@babel/plugin-syntax-jsx': 7.23.3(@babel/core@7.24.0)
    -      '@babel/plugin-syntax-typescript': 7.23.3(@babel/core@7.24.0)
    +      '@babel/core': 7.24.4
    +      '@babel/generator': 7.24.4
    +      '@babel/plugin-syntax-jsx': 7.24.1(@babel/core@7.24.4)
    +      '@babel/plugin-syntax-typescript': 7.24.1(@babel/core@7.24.4)
           '@babel/types': 7.24.0
           '@jest/expect-utils': 29.7.0
           '@jest/transform': 29.7.0
           '@jest/types': 29.6.3
    -      babel-preset-current-node-syntax: 1.0.1(@babel/core@7.24.0)
    +      babel-preset-current-node-syntax: 1.0.1(@babel/core@7.24.4)
           chalk: 4.1.2
           expect: 29.7.0
           graceful-fs: 4.2.11
    @@ -11293,7 +10811,7 @@ packages:
         engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
         dependencies:
           '@jest/types': 29.6.3
    -      '@types/node': 20.11.30
    +      '@types/node': 20.12.7
           chalk: 4.1.2
           ci-info: 3.9.0
           graceful-fs: 4.2.11
    @@ -11318,7 +10836,7 @@ packages:
         dependencies:
           '@jest/test-result': 29.7.0
           '@jest/types': 29.6.3
    -      '@types/node': 20.11.30
    +      '@types/node': 20.12.7
           ansi-escapes: 4.3.2
           chalk: 4.1.2
           emittery: 0.13.1
    @@ -11348,13 +10866,13 @@ packages:
         resolution: {integrity: sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==}
         engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
         dependencies:
    -      '@types/node': 20.11.30
    +      '@types/node': 20.12.7
           jest-util: 29.7.0
           merge-stream: 2.0.0
           supports-color: 8.1.1
         dev: true
     
    -  /jest@29.7.0(@types/node@20.11.30):
    +  /jest@29.7.0(@types/node@20.12.7):
         resolution: {integrity: sha512-NIy3oAFp9shda19hy4HK0HRTWKtPJmGdnvywu01nOqNC2vZg+Z+fvJDxpMQA88eb2I9EcafcdjYgsDthnYTvGw==}
         engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
         hasBin: true
    @@ -11367,7 +10885,7 @@ packages:
           '@jest/core': 29.7.0
           '@jest/types': 29.6.3
           import-local: 3.1.0
    -      jest-cli: 29.7.0(@types/node@20.11.30)
    +      jest-cli: 29.7.0(@types/node@20.12.7)
         transitivePeerDependencies:
           - '@types/node'
           - babel-plugin-macros
    @@ -11429,8 +10947,8 @@ packages:
         resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==}
         dev: true
     
    -  /js-tokens@8.0.3:
    -    resolution: {integrity: sha512-UfJMcSJc+SEXEl9lH/VLHSZbThQyLpw1vLO1Lb+j4RWDvG3N2f7yj3PVQA3cmkTBNldJ9eFnM+xEXxHIXrYiJw==}
    +  /js-tokens@9.0.0:
    +    resolution: {integrity: sha512-WriZw1luRMlmV3LGJaR6QOJjWwgLUTf89OwT2lUOyjX2dJGBwgmIkbcz+7WFZjrZM635JOIR517++e/67CP9dQ==}
         dev: true
     
       /js-yaml@3.14.1:
    @@ -11976,10 +11494,17 @@ packages:
         dependencies:
           '@jridgewell/sourcemap-codec': 1.4.15
     
    -  /magicast@0.3.3:
    -    resolution: {integrity: sha512-ZbrP1Qxnpoes8sz47AM0z08U+jW6TyRgZzcWy3Ma3vDhJttwMwAFDMMQFobwdBxByBD46JYmxRzeF7w2+wJEuw==}
    +  /magic-string@0.30.9:
    +    resolution: {integrity: sha512-S1+hd+dIrC8EZqKyT9DstTH/0Z+f76kmmvZnkfQVmOpDEF9iVgdYif3Q/pIWHmCoo59bQVGW0kVL3e2nl+9+Sw==}
    +    engines: {node: '>=12'}
         dependencies:
    -      '@babel/parser': 7.24.0
    +      '@jridgewell/sourcemap-codec': 1.4.15
    +    dev: true
    +
    +  /magicast@0.3.4:
    +    resolution: {integrity: sha512-TyDF/Pn36bBji9rWKHlZe+PZb6Mx5V8IHCSxk7X4aljM4e/vyDvZZYwHewdVaqiA0nb3ghfHU/6AUpDxWoER2Q==}
    +    dependencies:
    +      '@babel/parser': 7.24.4
           '@babel/types': 7.24.0
           source-map-js: 1.2.0
         dev: true
    @@ -12606,7 +12131,7 @@ packages:
           acorn: 8.11.3
           pathe: 1.1.2
           pkg-types: 1.0.3
    -      ufo: 1.4.0
    +      ufo: 1.5.3
         dev: true
     
       /mrmime@2.0.0:
    @@ -13249,8 +12774,8 @@ packages:
           sonic-boom: 1.4.1
         dev: true
     
    -  /pino@8.19.0:
    -    resolution: {integrity: sha512-oswmokxkav9bADfJ2ifrvfHUwad6MLp73Uat0IkQWY3iAw5xTRoznXbXksZs8oaOUMpmhVWD+PZogNzllWpJaA==}
    +  /pino@8.20.0:
    +    resolution: {integrity: sha512-uhIfMj5TVp+WynVASaVEJFTncTUe4dHBq6CWplu/vBgvGHhvBvQfxz+vcOrnnBQdORH3izaGEurLfNlq3YxdFQ==}
         hasBin: true
         dependencies:
           atomic-sleep: 1.0.0
    @@ -13262,7 +12787,7 @@ packages:
           quick-format-unescaped: 4.0.4
           real-require: 0.2.0
           safe-stable-stringify: 2.4.3
    -      sonic-boom: 3.8.0
    +      sonic-boom: 3.8.1
           thread-stream: 2.4.1
         dev: false
     
    @@ -13414,8 +12939,8 @@ packages:
           picocolors: 1.0.0
           source-map-js: 1.2.0
     
    -  /preact@10.20.1:
    -    resolution: {integrity: sha512-JIFjgFg9B2qnOoGiYMVBtrcFxHqn+dNXbq76bVmcaHYJFYR4lW67AOcXgAYQQTDYXDOg/kTZrKPNCdRgJ2UJmw==}
    +  /preact@10.20.2:
    +    resolution: {integrity: sha512-S1d1ernz3KQ+Y2awUxKakpfOg2CEmJmwOP+6igPx6dgr6pgDvenqYviyokWso2rhHvGtTlWWnJDa7RaPbQerTg==}
         dev: true
     
       /prelude-ls@1.2.1:
    @@ -14298,10 +13823,10 @@ packages:
           vscode-textmate: 8.0.0
         dev: true
     
    -  /shiki@1.2.3:
    -    resolution: {integrity: sha512-+v7lO5cJMeV2N2ySK4l+51YX3wTh5I49SLjAOs1ch1DbUfeEytU1Ac9KaZPoZJCVBGycDZ09OBQN5nbcPFc5FQ==}
    +  /shiki@1.3.0:
    +    resolution: {integrity: sha512-9aNdQy/etMXctnPzsje1h1XIGm9YfRcSksKOGqZWXA/qP9G18/8fpz5Bjpma8bOgz3tqIpjERAd6/lLjFyzoww==}
         dependencies:
    -      '@shikijs/core': 1.2.3
    +      '@shikijs/core': 1.3.0
         dev: true
     
       /side-channel@1.0.6:
    @@ -14409,8 +13934,8 @@ packages:
           flatstr: 1.0.12
         dev: true
     
    -  /sonic-boom@3.8.0:
    -    resolution: {integrity: sha512-ybz6OYOUjoQQCQ/i4LU8kaToD8ACtYP+Cj5qd2AO36bwbdewxWJ3ArmJ2cr6AvxlL2o0PqnCcPGUgkILbfkaCA==}
    +  /sonic-boom@3.8.1:
    +    resolution: {integrity: sha512-y4Z8LCDBuum+PBP3lSV7RHrXscqksve/bi0as7mhwVnBW+/wUqKT/2Kb7um8yqcFy0duYbbPxzt89Zy2nOCaxg==}
         dependencies:
           atomic-sleep: 1.0.0
         dev: false
    @@ -14797,10 +14322,10 @@ packages:
         engines: {node: '>=8'}
         dev: true
     
    -  /strip-literal@2.0.0:
    -    resolution: {integrity: sha512-f9vHgsCWBq2ugHAkGMiiYY+AYG0D/cbloKKg0nhaaaSNsujdGIpVXCNsrJpCKr5M0f4aI31mr13UjY6GAuXCKA==}
    +  /strip-literal@2.1.0:
    +    resolution: {integrity: sha512-Op+UycaUt/8FbN/Z2TWPBLge3jWrP3xj10f3fnYxf052bKuS3EKs1ZQcVGjnEMdsNVAM+plXRdmjrZ/KgG3Skw==}
         dependencies:
    -      js-tokens: 8.0.3
    +      js-tokens: 9.0.0
         dev: true
     
       /stylis@4.3.1:
    @@ -14906,7 +14431,7 @@ packages:
         resolution: {integrity: sha512-RnW7HHZD1XuhSTzD3djYOdIl1adE3oNEprE3HOFFxWs5m4FZsqYRhKJ4mDU2udtNGMLUS7jV7l8vVRLWAvmPDw==}
         engines: {'0': node}
         dependencies:
    -      '@babel/runtime': 7.24.0
    +      '@babel/runtime': 7.24.4
           bluebird: 3.7.2
           lodash: 4.17.21
           shell-quote: 1.8.1
    @@ -15042,12 +14567,12 @@ packages:
         engines: {node: '>=6'}
         dev: true
     
    -  /tinybench@2.6.0:
    -    resolution: {integrity: sha512-N8hW3PG/3aOoZAN5V/NSAEDz0ZixDSSt5b/a05iqtpgfLWMSVuCo7w0k2vVvEjdrIoeGqZzweX2WlyioNIHchA==}
    +  /tinybench@2.7.0:
    +    resolution: {integrity: sha512-Qgayeb106x2o4hNzNjsZEfFziw8IbKqtbXBjVh7VIZfBxfD5M4gWtpyx5+YTae2gJ6Y6Dz/KLepiv16RFeQWNA==}
         dev: true
     
    -  /tinypool@0.8.2:
    -    resolution: {integrity: sha512-SUszKYe5wgsxnNOVlBYO6IC+8VGWdVGZWAqUxp3UErNBtptZvWbwyUOyzNL59zigz2rCA92QiL3wvG+JDSdJdQ==}
    +  /tinypool@0.8.4:
    +    resolution: {integrity: sha512-i11VH5gS6IFeLY3gMBQ00/MmLncVP7JLXOw1vlgkytLmJK7QnEr7NXf0LBdxfmNPAeyetukOk0bOYrJrFGjYJQ==}
         engines: {node: '>=14.0.0'}
         dev: true
     
    @@ -15125,8 +14650,8 @@ packages:
         resolution: {integrity: sha512-tmMpK00BjZiUyVyvrBK7knerNgmgvcV/KLVyuma/SC+TQN167GrMRciANTz09+k3zW8L8t60jWO1GpfkZdjTaw==}
         dev: true
     
    -  /ts-api-utils@1.2.1(typescript@5.4.5):
    -    resolution: {integrity: sha512-RIYA36cJn2WiH9Hy77hdF9r7oEwxAtB/TS9/S4Qd90Ap4z5FSiin5zEiTL44OII1Y3IIlEvxwxFUVgrHSZ/UpA==}
    +  /ts-api-utils@1.3.0(typescript@5.4.5):
    +    resolution: {integrity: sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ==}
         engines: {node: '>=16'}
         peerDependencies:
           typescript: '>=4.2.0'
    @@ -15228,8 +14753,8 @@ packages:
         engines: {node: '>=10'}
         dev: true
     
    -  /type-fest@4.14.0:
    -    resolution: {integrity: sha512-on5/Cw89wwqGZQu+yWO0gGMGu8VNxsaW9SB2HE8yJjllEk7IDTwnSN1dUVldYILhYPN5HzD7WAaw2cc/jBfn0Q==}
    +  /type-fest@4.15.0:
    +    resolution: {integrity: sha512-tB9lu0pQpX5KJq54g+oHOLumOx+pMep4RaM6liXh2PKmVRFF+/vAtUP0ZaJ0kOySfVNjF6doBWPHhBhISKdlIA==}
         engines: {node: '>=16'}
         dev: true
     
    @@ -15327,10 +14852,6 @@ packages:
         resolution: {integrity: sha512-8Y75pvTYkLJW2hWQHXxoqRgV7qb9B+9vFEtidML+7koHUFapnVJAZ6cKs+Qjz5Aw3aZWHMC6u0wJE3At+nSGwA==}
         dev: true
     
    -  /ufo@1.4.0:
    -    resolution: {integrity: sha512-Hhy+BhRBleFjpJ2vchUNN40qgkh0366FWJGqVLYBHev0vpHTrXSA0ryT+74UiW6KWsldNurQMKGqCm1M2zBciQ==}
    -    dev: true
    -
       /ufo@1.5.3:
         resolution: {integrity: sha512-Y7HYmWaFwPUmkoQCUIAYpKqkOf+SbVj/2fJJZ4RJMCfZp0rTGwRbzQD+HghfnhKOjL9E01okqz+ncJskGYfBNw==}
         dev: true
    @@ -15478,11 +14999,11 @@ packages:
         engines: {node: '>= 10.0.0'}
         dev: true
     
    -  /unocss@0.58.9(postcss@8.4.38)(rollup@2.79.1)(vite@5.2.8):
    -    resolution: {integrity: sha512-aqANXXP0RrtN4kSaTLn/7I6wh8o45LUdVgPzGu7Fan2DfH2+wpIs6frlnlHlOymnb+52dp6kXluQinddaUKW1A==}
    +  /unocss@0.59.2(postcss@8.4.38)(rollup@2.79.1)(vite@5.2.8):
    +    resolution: {integrity: sha512-9puB1L+VxpCAgeidkd67otmA0pbqNPxBPT/8l6gncF0i2RE0WkKITlMflP0PhLNpOdHUfUWb9Cdj1aVnjRnXFA==}
         engines: {node: '>=14'}
         peerDependencies:
    -      '@unocss/webpack': 0.58.9
    +      '@unocss/webpack': 0.59.2
           vite: ^2.9.0 || ^3.0.0-0 || ^4.0.0 || ^5.0.0-0
         peerDependenciesMeta:
           '@unocss/webpack':
    @@ -15490,27 +15011,27 @@ packages:
           vite:
             optional: true
         dependencies:
    -      '@unocss/astro': 0.58.9(rollup@2.79.1)(vite@5.2.8)
    -      '@unocss/cli': 0.58.9(rollup@2.79.1)
    -      '@unocss/core': 0.58.9
    -      '@unocss/extractor-arbitrary-variants': 0.58.9
    -      '@unocss/postcss': 0.58.9(postcss@8.4.38)
    -      '@unocss/preset-attributify': 0.58.9
    -      '@unocss/preset-icons': 0.58.9
    -      '@unocss/preset-mini': 0.58.9
    -      '@unocss/preset-tagify': 0.58.9
    -      '@unocss/preset-typography': 0.58.9
    -      '@unocss/preset-uno': 0.58.9
    -      '@unocss/preset-web-fonts': 0.58.9
    -      '@unocss/preset-wind': 0.58.9
    -      '@unocss/reset': 0.58.9
    -      '@unocss/transformer-attributify-jsx': 0.58.9
    -      '@unocss/transformer-attributify-jsx-babel': 0.58.9
    -      '@unocss/transformer-compile-class': 0.58.9
    -      '@unocss/transformer-directives': 0.58.9
    -      '@unocss/transformer-variant-group': 0.58.9
    -      '@unocss/vite': 0.58.9(rollup@2.79.1)(vite@5.2.8)
    -      vite: 5.2.8(@types/node@20.11.30)
    +      '@unocss/astro': 0.59.2(rollup@2.79.1)(vite@5.2.8)
    +      '@unocss/cli': 0.59.2(rollup@2.79.1)
    +      '@unocss/core': 0.59.2
    +      '@unocss/extractor-arbitrary-variants': 0.59.2
    +      '@unocss/postcss': 0.59.2(postcss@8.4.38)
    +      '@unocss/preset-attributify': 0.59.2
    +      '@unocss/preset-icons': 0.59.2
    +      '@unocss/preset-mini': 0.59.2
    +      '@unocss/preset-tagify': 0.59.2
    +      '@unocss/preset-typography': 0.59.2
    +      '@unocss/preset-uno': 0.59.2
    +      '@unocss/preset-web-fonts': 0.59.2
    +      '@unocss/preset-wind': 0.59.2
    +      '@unocss/reset': 0.59.2
    +      '@unocss/transformer-attributify-jsx': 0.59.2
    +      '@unocss/transformer-attributify-jsx-babel': 0.59.2
    +      '@unocss/transformer-compile-class': 0.59.2
    +      '@unocss/transformer-directives': 0.59.2
    +      '@unocss/transformer-variant-group': 0.59.2
    +      '@unocss/vite': 0.59.2(rollup@2.79.1)(vite@5.2.8)
    +      vite: 5.2.8(@types/node@20.12.7)
         transitivePeerDependencies:
           - postcss
           - rollup
    @@ -15657,8 +15178,8 @@ packages:
           vfile-message: 4.0.2
         dev: true
     
    -  /vite-node@1.4.0(@types/node@20.11.30):
    -    resolution: {integrity: sha512-VZDAseqjrHgNd4Kh8icYHWzTKSCZMhia7GyHfhtzLW33fZlG9SwsB6CEhgyVOWkJfJ2pFLrp/Gj1FSfAiqH9Lw==}
    +  /vite-node@1.5.0(@types/node@20.12.7):
    +    resolution: {integrity: sha512-tV8h6gMj6vPzVCa7l+VGq9lwoJjW8Y79vst8QZZGiuRAfijU+EEWuc0kFpmndQrWhMMhet1jdSF+40KSZUqIIw==}
         engines: {node: ^18.0.0 || >=20.0.0}
         hasBin: true
         dependencies:
    @@ -15666,7 +15187,7 @@ packages:
           debug: 4.3.4(supports-color@8.1.1)
           pathe: 1.1.2
           picocolors: 1.0.0
    -      vite: 5.2.8(@types/node@20.11.30)
    +      vite: 5.2.8(@types/node@20.12.7)
         transitivePeerDependencies:
           - '@types/node'
           - less
    @@ -15689,7 +15210,7 @@ packages:
           picocolors: 1.0.0
           source-map: 0.7.4
           test-exclude: 6.0.0
    -      vite: 5.2.8(@types/node@20.11.30)
    +      vite: 5.2.8(@types/node@20.12.7)
         transitivePeerDependencies:
           - supports-color
         dev: true
    @@ -15709,50 +15230,14 @@ packages:
           debug: 4.3.4(supports-color@8.1.1)
           fast-glob: 3.3.2
           pretty-bytes: 6.1.1
    -      vite: 5.2.8(@types/node@20.11.30)
    +      vite: 5.2.8(@types/node@20.12.7)
           workbox-build: 7.0.0
           workbox-window: 7.0.0
         transitivePeerDependencies:
           - supports-color
         dev: true
     
    -  /vite@5.2.7(@types/node@20.11.30):
    -    resolution: {integrity: sha512-k14PWOKLI6pMaSzAuGtT+Cf0YmIx12z9YGon39onaJNy8DLBfBJrzg9FQEmkAM5lpHBZs9wksWAsyF/HkpEwJA==}
    -    engines: {node: ^18.0.0 || >=20.0.0}
    -    hasBin: true
    -    peerDependencies:
    -      '@types/node': ^18.0.0 || >=20.0.0
    -      less: '*'
    -      lightningcss: ^1.21.0
    -      sass: '*'
    -      stylus: '*'
    -      sugarss: '*'
    -      terser: ^5.4.0
    -    peerDependenciesMeta:
    -      '@types/node':
    -        optional: true
    -      less:
    -        optional: true
    -      lightningcss:
    -        optional: true
    -      sass:
    -        optional: true
    -      stylus:
    -        optional: true
    -      sugarss:
    -        optional: true
    -      terser:
    -        optional: true
    -    dependencies:
    -      '@types/node': 20.11.30
    -      esbuild: 0.20.2
    -      postcss: 8.4.38
    -      rollup: 4.14.2
    -    optionalDependencies:
    -      fsevents: 2.3.3
    -    dev: true
    -
    -  /vite@5.2.8(@types/node@20.11.30):
    +  /vite@5.2.8(@types/node@20.12.7):
         resolution: {integrity: sha512-OyZR+c1CE8yeHw5V5t59aXsUPPVTHMDjEZz8MgguLL/Q7NblxhZUlTu9xSPqlsUO/y+X7dlU05jdhvyycD55DA==}
         engines: {node: ^18.0.0 || >=20.0.0}
         hasBin: true
    @@ -15780,7 +15265,7 @@ packages:
           terser:
             optional: true
         dependencies:
    -      '@types/node': 20.11.30
    +      '@types/node': 20.12.7
           esbuild: 0.20.2
           postcss: 8.4.38
           rollup: 4.14.2
    @@ -15788,7 +15273,7 @@ packages:
           fsevents: 2.3.3
         dev: true
     
    -  /vitepress-plugin-search@1.0.4-alpha.22(flexsearch@0.7.43)(vitepress@1.0.2)(vue@3.4.21):
    +  /vitepress-plugin-search@1.0.4-alpha.22(flexsearch@0.7.43)(vitepress@1.1.0)(vue@3.4.21):
         resolution: {integrity: sha512-IAOEJu+kjVY+0pb6/PeRjIbr175HFFbnMdLmLjqcy7VWxkabIRZbLoQL1VUYDZl804o/Or+GaX02gsiMOnVxFA==}
         engines: {node: ^14.13.1 || ^16.7.0 || >=18}
         peerDependencies:
    @@ -15801,12 +15286,12 @@ packages:
           flexsearch: 0.7.43
           glob-to-regexp: 0.4.1
           markdown-it: 13.0.1
    -      vitepress: 1.0.2(@algolia/client-search@4.23.3)(@types/node@20.11.30)(search-insights@2.13.0)(typescript@5.4.5)
    +      vitepress: 1.1.0(@algolia/client-search@4.23.3)(@types/node@20.12.7)(postcss@8.4.38)(search-insights@2.13.0)(typescript@5.4.5)
           vue: 3.4.21(typescript@5.4.5)
         dev: true
     
    -  /vitepress@1.0.2(@algolia/client-search@4.23.3)(@types/node@20.11.30)(postcss@8.4.38)(search-insights@2.13.0)(typescript@5.4.5):
    -    resolution: {integrity: sha512-bEj9yTEdWyewJFOhEREZF+mXuAgOq27etuJZT6DZSp+J3XpQstXMJc5piSVwhZBtuj8OfA0iXy+jdP1c71KMYQ==}
    +  /vitepress@1.1.0(@algolia/client-search@4.23.3)(@types/node@20.12.7)(postcss@8.4.38)(search-insights@2.13.0)(typescript@5.4.5):
    +    resolution: {integrity: sha512-G+NS5I2OETxC0SfGAMDO75JWNkrcir0UCptuhQMNoaZhhlqvYtTDQhph4qGc5dtiTtZkcFa/bCcSx+A2gSS3lA==}
         hasBin: true
         peerDependencies:
           markdown-it-mathjax3: ^4
    @@ -15819,74 +15304,19 @@ packages:
         dependencies:
           '@docsearch/css': 3.6.0
           '@docsearch/js': 3.6.0(@algolia/client-search@4.23.3)(search-insights@2.13.0)
    -      '@shikijs/core': 1.2.3
    -      '@shikijs/transformers': 1.2.3
    +      '@shikijs/core': 1.3.0
    +      '@shikijs/transformers': 1.3.0
           '@types/markdown-it': 13.0.7
           '@vitejs/plugin-vue': 5.0.4(vite@5.2.8)(vue@3.4.21)
    -      '@vue/devtools-api': 7.0.25(vue@3.4.21)
    +      '@vue/devtools-api': 7.0.27(vue@3.4.21)
           '@vueuse/core': 10.9.0(vue@3.4.21)
           '@vueuse/integrations': 10.9.0(focus-trap@7.5.4)(vue@3.4.21)
           focus-trap: 7.5.4
           mark.js: 8.11.1
           minisearch: 6.3.0
           postcss: 8.4.38
    -      shiki: 1.2.3
    -      vite: 5.2.8(@types/node@20.11.30)
    -      vue: 3.4.21(typescript@5.4.5)
    -    transitivePeerDependencies:
    -      - '@algolia/client-search'
    -      - '@types/node'
    -      - '@types/react'
    -      - '@vue/composition-api'
    -      - async-validator
    -      - axios
    -      - change-case
    -      - drauu
    -      - fuse.js
    -      - idb-keyval
    -      - jwt-decode
    -      - less
    -      - lightningcss
    -      - nprogress
    -      - qrcode
    -      - react
    -      - react-dom
    -      - sass
    -      - search-insights
    -      - sortablejs
    -      - stylus
    -      - sugarss
    -      - terser
    -      - typescript
    -      - universal-cookie
    -    dev: true
    -
    -  /vitepress@1.0.2(@algolia/client-search@4.23.3)(@types/node@20.11.30)(search-insights@2.13.0)(typescript@5.4.5):
    -    resolution: {integrity: sha512-bEj9yTEdWyewJFOhEREZF+mXuAgOq27etuJZT6DZSp+J3XpQstXMJc5piSVwhZBtuj8OfA0iXy+jdP1c71KMYQ==}
    -    hasBin: true
    -    peerDependencies:
    -      markdown-it-mathjax3: ^4
    -      postcss: ^8
    -    peerDependenciesMeta:
    -      markdown-it-mathjax3:
    -        optional: true
    -      postcss:
    -        optional: true
    -    dependencies:
    -      '@docsearch/css': 3.6.0
    -      '@docsearch/js': 3.6.0(@algolia/client-search@4.23.3)(search-insights@2.13.0)
    -      '@shikijs/core': 1.2.3
    -      '@shikijs/transformers': 1.2.3
    -      '@types/markdown-it': 13.0.7
    -      '@vitejs/plugin-vue': 5.0.4(vite@5.2.7)(vue@3.4.21)
    -      '@vue/devtools-api': 7.0.25(vue@3.4.21)
    -      '@vueuse/core': 10.9.0(vue@3.4.21)
    -      '@vueuse/integrations': 10.9.0(focus-trap@7.5.4)(vue@3.4.21)
    -      focus-trap: 7.5.4
    -      mark.js: 8.11.1
    -      minisearch: 6.3.0
    -      shiki: 1.2.3
    -      vite: 5.2.7(@types/node@20.11.30)
    +      shiki: 1.3.0
    +      vite: 5.2.8(@types/node@20.12.7)
           vue: 3.4.21(typescript@5.4.5)
         transitivePeerDependencies:
           - '@algolia/client-search'
    @@ -15916,15 +15346,15 @@ packages:
           - universal-cookie
         dev: true
     
    -  /vitest@1.4.0(@types/node@20.11.30)(@vitest/ui@1.4.0)(jsdom@24.0.0):
    -    resolution: {integrity: sha512-gujzn0g7fmwf83/WzrDTnncZt2UiXP41mHuFYFrdwaLRVQ6JYQEiME2IfEjU3vcFL3VKa75XhI3lFgn+hfVsQw==}
    +  /vitest@1.5.0(@types/node@20.12.7)(@vitest/ui@1.5.0)(jsdom@24.0.0):
    +    resolution: {integrity: sha512-d8UKgR0m2kjdxDWX6911uwxout6GHS0XaGH1cksSIVVG8kRlE7G7aBw7myKQCvDI5dT4j7ZMa+l706BIORMDLw==}
         engines: {node: ^18.0.0 || >=20.0.0}
         hasBin: true
         peerDependencies:
           '@edge-runtime/vm': '*'
           '@types/node': ^18.0.0 || >=20.0.0
    -      '@vitest/browser': 1.4.0
    -      '@vitest/ui': 1.4.0
    +      '@vitest/browser': 1.5.0
    +      '@vitest/ui': 1.5.0
           happy-dom: '*'
           jsdom: '*'
         peerDependenciesMeta:
    @@ -15941,28 +15371,28 @@ packages:
           jsdom:
             optional: true
         dependencies:
    -      '@types/node': 20.11.30
    -      '@vitest/expect': 1.4.0
    -      '@vitest/runner': 1.4.0
    -      '@vitest/snapshot': 1.4.0
    -      '@vitest/spy': 1.4.0
    -      '@vitest/ui': 1.4.0(vitest@1.4.0)
    -      '@vitest/utils': 1.4.0
    +      '@types/node': 20.12.7
    +      '@vitest/expect': 1.5.0
    +      '@vitest/runner': 1.5.0
    +      '@vitest/snapshot': 1.5.0
    +      '@vitest/spy': 1.5.0
    +      '@vitest/ui': 1.5.0(vitest@1.5.0)
    +      '@vitest/utils': 1.5.0
           acorn-walk: 8.3.2
           chai: 4.4.1
           debug: 4.3.4(supports-color@8.1.1)
           execa: 8.0.1
           jsdom: 24.0.0
           local-pkg: 0.5.0
    -      magic-string: 0.30.8
    +      magic-string: 0.30.9
           pathe: 1.1.2
           picocolors: 1.0.0
           std-env: 3.7.0
    -      strip-literal: 2.0.0
    -      tinybench: 2.6.0
    -      tinypool: 0.8.2
    -      vite: 5.2.8(@types/node@20.11.30)
    -      vite-node: 1.4.0(@types/node@20.11.30)
    +      strip-literal: 2.1.0
    +      tinybench: 2.7.0
    +      tinypool: 0.8.4
    +      vite: 5.2.8(@types/node@20.12.7)
    +      vite-node: 1.5.0(@types/node@20.12.7)
           why-is-node-running: 2.2.2
         transitivePeerDependencies:
           - less
    
    From 3357844a1f5b15ed8b2905c837d2390a6b079f2a Mon Sep 17 00:00:00 2001
    From: Sidharth Vinod 
    Date: Tue, 16 Apr 2024 08:44:21 +0530
    Subject: [PATCH 317/789] feat: Change precedence of styling
    
    ---
     .../rendering/quadrantChart.spec.js           |  2 +-
     .../quadrant-chart/quadrantBuilder.ts         | 26 +++++--------------
     2 files changed, 7 insertions(+), 21 deletions(-)
    
    diff --git a/cypress/integration/rendering/quadrantChart.spec.js b/cypress/integration/rendering/quadrantChart.spec.js
    index 64e198ac18..83a1455c6a 100644
    --- a/cypress/integration/rendering/quadrantChart.spec.js
    +++ b/cypress/integration/rendering/quadrantChart.spec.js
    @@ -1,4 +1,4 @@
    -import { imgSnapshotTest, renderGraph } from '../../helpers/util.ts';
    +import { imgSnapshotTest } from '../../helpers/util.ts';
     
     describe('Quadrant Chart', () => {
       it('should render if only chart type is provided', () => {
    diff --git a/packages/mermaid/src/diagrams/quadrant-chart/quadrantBuilder.ts b/packages/mermaid/src/diagrams/quadrant-chart/quadrantBuilder.ts
    index 4aaeb45b9e..173b4c0780 100644
    --- a/packages/mermaid/src/diagrams/quadrant-chart/quadrantBuilder.ts
    +++ b/packages/mermaid/src/diagrams/quadrant-chart/quadrantBuilder.ts
    @@ -1,7 +1,7 @@
     import { scaleLinear } from 'd3';
    -import { log } from '../../logger.js';
     import type { BaseDiagramConfig, QuadrantChartConfig } from '../../config.type.js';
     import defaultConfig from '../../defaultConfig.js';
    +import { log } from '../../logger.js';
     import { getThemeVariables } from '../../themes/theme-default.js';
     import type { Point } from '../../types.js';
     
    @@ -202,6 +202,7 @@ export class QuadrantBuilder {
         this.config = this.getDefaultConfig();
         this.themeConfig = this.getDefaultThemeConfig();
         this.data = this.getDefaultData();
    +    this.classes = {};
         log.info('clear called');
       }
     
    @@ -486,19 +487,8 @@ export class QuadrantBuilder {
     
         const points: QuadrantPointType[] = this.data.points.map((point) => {
           const classStyles = this.classes[point.className as keyof typeof this.classes];
    -      if (classStyles !== undefined) {
    -        if (classStyles.color !== undefined) {
    -          point.color = classStyles.color;
    -        }
    -        if (classStyles.radius !== undefined) {
    -          point.radius = classStyles.radius;
    -        }
    -        if (classStyles.strokeColor !== undefined) {
    -          point.strokeColor = classStyles.strokeColor;
    -        }
    -        if (classStyles.strokeWidth !== undefined) {
    -          point.strokeWidth = classStyles.strokeWidth;
    -        }
    +      if (classStyles) {
    +        point = { ...classStyles, ...point };
           }
           const props: QuadrantPointType = {
             x: xAxis(point.x),
    @@ -515,12 +505,8 @@ export class QuadrantBuilder {
               fontSize: this.config.pointLabelFontSize,
               rotation: 0,
             },
    -        strokeColor:
    -          point.strokeColor !== undefined && point.strokeColor !== ''
    -            ? point.strokeColor
    -            : this.themeConfig.quadrantPointFill,
    -        strokeWidth:
    -          point.strokeWidth !== undefined && point.strokeWidth !== '' ? point.strokeWidth : '0px',
    +        strokeColor: point.strokeColor || this.themeConfig.quadrantPointFill,
    +        strokeWidth: point.strokeWidth || '0px',
           };
           return props;
         });
    
    From eb4a6fd2ed26baa36ee2cb7ea795345ea1331f4d Mon Sep 17 00:00:00 2001
    From: Sidharth Vinod 
    Date: Tue, 16 Apr 2024 08:45:22 +0530
    Subject: [PATCH 318/789] docs: Add quadrant point styling
    
    Co-authored-by: ilyes-ced <109927235+ilyes-ced@users.noreply.github.com>
    ---
     docs/syntax/quadrantChart.md                  | 83 +++++++++++++++++++
     .../mermaid/src/docs/syntax/quadrantChart.md  | 63 ++++++++++++++
     2 files changed, 146 insertions(+)
    
    diff --git a/docs/syntax/quadrantChart.md b/docs/syntax/quadrantChart.md
    index fdf8667792..ba80638452 100644
    --- a/docs/syntax/quadrantChart.md
    +++ b/docs/syntax/quadrantChart.md
    @@ -168,3 +168,86 @@ quadrantChart
       quadrant-3 Delegate
       quadrant-4 Delete
     ```
    +
    +### Point styling
    +
    +Points can either be styled directly or with defined shared classes
    +
    +1. Direct styling
    +
    +```md
    +Point A: [0.9, 0.0] radius: 12
    +Point B: [0.8, 0.1] color: #ff3300, radius: 10
    +Point C: [0.7, 0.2] radius: 25, color: #00ff33, stroke-color: #10f0f0  
    +Point D: [0.6, 0.3] radius: 15, stroke-color: #00ff0f, stroke-width: 5px ,color: #ff33f0
    +```
    +
    +2. Classes styling
    +
    +```md
    +Point A:::class1: [0.9, 0.0]
    +Point B:::class2: [0.8, 0.1]
    +Point C:::class3: [0.7, 0.2]
    +Point D:::class3: [0.7, 0.2]
    +classDef class1 color: #109060
    +classDef class2 color: #908342, radius : 10, stroke-color: #310085, stroke-width: 10px
    +classDef class3 color: #f00fff, radius : 10
    +```
    +
    +#### Available styles:
    +
    +| Parameter    | Description                                                            |
    +| ------------ | ---------------------------------------------------------------------- |
    +| color        | Fill color of the point                                                |
    +| radius       | Radius of the point                                                    |
    +| stroke-width | Border width of the point                                              |
    +| stroke-color | Border color of the point (useless when stroke-width is not specified) |
    +
    +> **Note**
    +> Order of preference:
    +>
    +> 1. Direct styles
    +> 2. Class styles
    +> 3. Theme styles
    +
    +## Example on styling
    +
    +```mermaid-example
    +quadrantChart
    +  title Reach and engagement of campaigns
    +  x-axis Low Reach --> High Reach
    +  y-axis Low Engagement --> High Engagement
    +  quadrant-1 We should expand
    +  quadrant-2 Need to promote
    +  quadrant-3 Re-evaluate
    +  quadrant-4 May be improved
    +  Campaign A: [0.9, 0.0] radius: 12
    +  Campaign B:::class1: [0.8, 0.1] color: #ff3300, radius: 10
    +  Campaign C: [0.7, 0.2] radius: 25, color: #00ff33, stroke-color: #10f0f0
    +  Campaign D: [0.6, 0.3] radius: 15, stroke-color: #00ff0f, stroke-width: 5px ,color: #ff33f0
    +  Campaign E:::class2: [0.5, 0.4]
    +  Campaign F:::class3: [0.4, 0.5] color: #0000ff
    +  classDef class1 color: #109060
    +  classDef class2 color: #908342, radius : 10, stroke-color: #310085, stroke-width: 10px
    +  classDef class3 color: #f00fff, radius : 10
    +```
    +
    +```mermaid
    +quadrantChart
    +  title Reach and engagement of campaigns
    +  x-axis Low Reach --> High Reach
    +  y-axis Low Engagement --> High Engagement
    +  quadrant-1 We should expand
    +  quadrant-2 Need to promote
    +  quadrant-3 Re-evaluate
    +  quadrant-4 May be improved
    +  Campaign A: [0.9, 0.0] radius: 12
    +  Campaign B:::class1: [0.8, 0.1] color: #ff3300, radius: 10
    +  Campaign C: [0.7, 0.2] radius: 25, color: #00ff33, stroke-color: #10f0f0
    +  Campaign D: [0.6, 0.3] radius: 15, stroke-color: #00ff0f, stroke-width: 5px ,color: #ff33f0
    +  Campaign E:::class2: [0.5, 0.4]
    +  Campaign F:::class3: [0.4, 0.5] color: #0000ff
    +  classDef class1 color: #109060
    +  classDef class2 color: #908342, radius : 10, stroke-color: #310085, stroke-width: 10px
    +  classDef class3 color: #f00fff, radius : 10
    +```
    diff --git a/packages/mermaid/src/docs/syntax/quadrantChart.md b/packages/mermaid/src/docs/syntax/quadrantChart.md
    index d6793aea61..39bbcafa1c 100644
    --- a/packages/mermaid/src/docs/syntax/quadrantChart.md
    +++ b/packages/mermaid/src/docs/syntax/quadrantChart.md
    @@ -136,3 +136,66 @@ quadrantChart
       quadrant-3 Delegate
       quadrant-4 Delete
     ```
    +
    +### Point styling
    +
    +Points can either be styled directly or with defined shared classes
    +
    +1. Direct styling
    +
    +```md
    +Point A: [0.9, 0.0] radius: 12
    +Point B: [0.8, 0.1] color: #ff3300, radius: 10
    +Point C: [0.7, 0.2] radius: 25, color: #00ff33, stroke-color: #10f0f0  
    +Point D: [0.6, 0.3] radius: 15, stroke-color: #00ff0f, stroke-width: 5px ,color: #ff33f0
    +```
    +
    +2. Classes styling
    +
    +```md
    +Point A:::class1: [0.9, 0.0]
    +Point B:::class2: [0.8, 0.1]
    +Point C:::class3: [0.7, 0.2]
    +Point D:::class3: [0.7, 0.2]
    +classDef class1 color: #109060
    +classDef class2 color: #908342, radius : 10, stroke-color: #310085, stroke-width: 10px
    +classDef class3 color: #f00fff, radius : 10
    +```
    +
    +#### Available styles:
    +
    +| Parameter    | Description                                                            |
    +| ------------ | ---------------------------------------------------------------------- |
    +| color        | Fill color of the point                                                |
    +| radius       | Radius of the point                                                    |
    +| stroke-width | Border width of the point                                              |
    +| stroke-color | Border color of the point (useless when stroke-width is not specified) |
    +
    +```note
    +Order of preference:
    +1. Direct styles
    +2. Class styles
    +3. Theme styles
    +```
    +
    +## Example on styling
    +
    +```mermaid-example
    +quadrantChart
    +  title Reach and engagement of campaigns
    +  x-axis Low Reach --> High Reach
    +  y-axis Low Engagement --> High Engagement
    +  quadrant-1 We should expand
    +  quadrant-2 Need to promote
    +  quadrant-3 Re-evaluate
    +  quadrant-4 May be improved
    +  Campaign A: [0.9, 0.0] radius: 12
    +  Campaign B:::class1: [0.8, 0.1] color: #ff3300, radius: 10
    +  Campaign C: [0.7, 0.2] radius: 25, color: #00ff33, stroke-color: #10f0f0
    +  Campaign D: [0.6, 0.3] radius: 15, stroke-color: #00ff0f, stroke-width: 5px ,color: #ff33f0
    +  Campaign E:::class2: [0.5, 0.4]
    +  Campaign F:::class3: [0.4, 0.5] color: #0000ff
    +  classDef class1 color: #109060
    +  classDef class2 color: #908342, radius : 10, stroke-color: #310085, stroke-width: 10px
    +  classDef class3 color: #f00fff, radius : 10
    +```
    
    From 07de0907238db20abb50d905a71331d8394480cd Mon Sep 17 00:00:00 2001
    From: Yash Singh 
    Date: Tue, 16 Apr 2024 13:14:59 -0700
    Subject: [PATCH 319/789] fix: move from objects to Maps
    
    ---
     docs/config/setup/modules/mermaidAPI.md       |   2 +-
     .../src/flowRenderer-elk.js                   |   6 +-
     packages/mermaid/src/diagram-api/types.ts     |   2 +-
     .../mermaid/src/diagrams/block/blockDB.ts     |  63 +--
     .../src/diagrams/block/parser/block.spec.ts   |   2 +-
     .../mermaid/src/diagrams/class/classDb.ts     |  71 +--
     .../src/diagrams/class/classDiagram.spec.ts   |  37 +-
     .../src/diagrams/class/classRenderer-v2.ts    |  15 +-
     .../src/diagrams/class/classRenderer.js       |   4 +-
     .../mermaid/src/diagrams/class/classTypes.ts  |   4 +-
     packages/mermaid/src/diagrams/er/erDb.js      |  14 +-
     .../mermaid/src/diagrams/er/erRenderer.js     |   6 +-
     .../src/diagrams/er/parser/erDiagram.spec.js  | 200 ++++----
     .../src/diagrams/flowchart/flowDb.spec.ts     |  12 +-
     .../mermaid/src/diagrams/flowchart/flowDb.ts  |  87 ++--
     .../src/diagrams/flowchart/flowRenderer-v2.js |  12 +-
     .../src/diagrams/flowchart/flowRenderer.js    |   6 +-
     .../flowchart/parser/flow-arrows.spec.js      |  56 +--
     .../flowchart/parser/flow-comments.spec.js    |  36 +-
     .../flowchart/parser/flow-edges.spec.js       |  94 ++--
     .../flowchart/parser/flow-huge.spec.js        |   2 +-
     .../flowchart/parser/flow-md-string.spec.js   |  12 +-
     .../flowchart/parser/flow-singlenode.spec.js  |  80 ++--
     .../flowchart/parser/flow-style.spec.js       | 138 +++---
     .../flowchart/parser/flow-text.spec.js        |  98 ++--
     .../parser/flow-vertice-chaining.spec.js      |  60 +--
     .../diagrams/flowchart/parser/flow.spec.js    |  32 +-
     .../mermaid/src/diagrams/gantt/ganttDb.js     |   6 +-
     .../src/diagrams/gantt/ganttRenderer.js       |   4 +-
     .../mermaid/src/diagrams/git/gitGraphAst.js   |  90 ++--
     .../src/diagrams/git/gitGraphParser.spec.js   |  78 +--
     .../src/diagrams/git/gitGraphParserV2.spec.js | 449 +++++++++---------
     .../src/diagrams/git/gitGraphRenderer.js      |  18 +-
     packages/mermaid/src/diagrams/pie/pie.spec.ts |  34 +-
     packages/mermaid/src/diagrams/pie/pieDb.ts    |   8 +-
     .../mermaid/src/diagrams/pie/pieRenderer.ts   |   6 +-
     packages/mermaid/src/diagrams/pie/pieTypes.ts |   2 +-
     .../parser/requirementDiagram.spec.js         |  42 +-
     .../src/diagrams/requirement/requirementDb.js |  25 +-
     .../requirement/requirementRenderer.js        |   8 +-
     .../mermaid/src/diagrams/sankey/sankeyDB.ts   |  12 +-
     .../src/diagrams/sequence/sequenceDb.ts       |  32 +-
     .../diagrams/sequence/sequenceDiagram.spec.js | 212 ++++-----
     .../src/diagrams/sequence/sequenceRenderer.ts |  95 ++--
     .../mermaid/src/diagrams/sequence/svgDraw.js  |   2 +-
     .../state/parser/state-parser.spec.js         |  42 +-
     .../diagrams/state/parser/state-style.spec.js |  72 +--
     .../mermaid/src/diagrams/state/stateDb.js     |  40 +-
     .../src/diagrams/state/stateDb.spec.js        |  26 +-
     .../diagrams/state/stateDiagram-v2.spec.js    |   2 +-
     .../src/diagrams/state/stateRenderer-v2.js    |   2 +-
     packages/mermaid/src/mermaidAPI.spec.ts       |  15 +-
     packages/mermaid/src/mermaidAPI.ts            |  10 +-
     53 files changed, 1245 insertions(+), 1238 deletions(-)
    
    diff --git a/docs/config/setup/modules/mermaidAPI.md b/docs/config/setup/modules/mermaidAPI.md
    index 1a68b05bd0..6531da18f9 100644
    --- a/docs/config/setup/modules/mermaidAPI.md
    +++ b/docs/config/setup/modules/mermaidAPI.md
    @@ -194,7 +194,7 @@ the string with all the user styles
     | :---------- | :-------------------------------------------------------- |
     | `config`    | `MermaidConfig`                                           |
     | `graphType` | `string`                                                  |
    -| `classDefs` | `undefined` \| `Record`<`string`, `DiagramStyleClassDef`> |
    +| `classDefs` | `undefined` \| `Map`<`string`, `DiagramStyleClassDef`> |
     | `svgId`     | `string`                                                  |
     
     #### Returns
    diff --git a/packages/mermaid-flowchart-elk/src/flowRenderer-elk.js b/packages/mermaid-flowchart-elk/src/flowRenderer-elk.js
    index ea6b9af750..c7bf41ce23 100644
    --- a/packages/mermaid-flowchart-elk/src/flowRenderer-elk.js
    +++ b/packages/mermaid-flowchart-elk/src/flowRenderer-elk.js
    @@ -41,12 +41,12 @@ let nodeDb = {};
     export const addVertices = async function (vert, svgId, root, doc, diagObj, parentLookupDb, graph) {
       const svg = root.select(`[id="${svgId}"]`);
       const nodes = svg.insert('g').attr('class', 'nodes');
    -  const keys = Object.keys(vert);
    +  const keys = [...vert.keys()];
     
       // Iterate through each item in the vertex object (containing all the vertices found) in the graph definition
       await Promise.all(
         keys.map(async function (id) {
    -      const vertex = vert[id];
    +      const vertex = vert.get(id);
     
           /**
            * Variable for storing the classes for the vertex
    @@ -595,7 +595,7 @@ const addMarkersToEdge = function (svgPath, edgeData, diagramType, arrowMarkerAb
      *
      * @param text
      * @param diagObj
    - * @returns {Record} ClassDef styles
    + * @returns {Map} ClassDef styles
      */
     export const getClasses = function (text, diagObj) {
       log.info('Extracting classes');
    diff --git a/packages/mermaid/src/diagram-api/types.ts b/packages/mermaid/src/diagram-api/types.ts
    index 6ab82bd0dc..4556c1d6eb 100644
    --- a/packages/mermaid/src/diagram-api/types.ts
    +++ b/packages/mermaid/src/diagram-api/types.ts
    @@ -70,7 +70,7 @@ export interface DiagramRenderer {
       getClasses?: (
         text: string,
         diagram: Pick
    -  ) => Record;
    +  ) => Map;
     }
     
     export interface DiagramDefinition {
    diff --git a/packages/mermaid/src/diagrams/block/blockDB.ts b/packages/mermaid/src/diagrams/block/blockDB.ts
    index e4c863c1dd..c53e0598a1 100644
    --- a/packages/mermaid/src/diagrams/block/blockDB.ts
    +++ b/packages/mermaid/src/diagrams/block/blockDB.ts
    @@ -6,16 +6,16 @@ import { clear as commonClear } from '../common/commonDb.js';
     import type { Block, ClassDef } from './blockTypes.js';
     
     // Initialize the node database for simple lookups
    -let blockDatabase: Record = {};
    +let blockDatabase: Map = new Map();
     let edgeList: Block[] = [];
    -let edgeCount: Record = {};
    +let edgeCount: Map = new Map();
     
     const COLOR_KEYWORD = 'color';
     const FILL_KEYWORD = 'fill';
     const BG_FILL = 'bgFill';
     const STYLECLASS_SEP = ',';
     
    -let classes = {} as Record;
    +let classes: Map = new Map();
     
     /**
      * Called when the parser comes across a (style) class definition
    @@ -26,10 +26,10 @@ let classes = {} as Record;
      */
     export const addStyleClass = function (id: string, styleAttributes = '') {
       // create a new style class object with this id
    -  if (classes[id] === undefined) {
    -    classes[id] = { id: id, styles: [], textStyles: [] }; // This is a classDef
    +  if (!classes.has(id)) {
    +    classes.set(id, { id: id, styles: [], textStyles: [] }); // This is a classDef
       }
    -  const foundClass = classes[id];
    +  const foundClass = classes.get(id)!;
       if (styleAttributes !== undefined && styleAttributes !== null) {
         styleAttributes.split(STYLECLASS_SEP).forEach((attrib) => {
           // remove any trailing ;
    @@ -54,7 +54,7 @@ export const addStyleClass = function (id: string, styleAttributes = '') {
      * @param styles - the string with 1 or more style attributes (each separated by a comma)
      */
     export const addStyle2Node = function (id: string, styles = '') {
    -  const foundBlock = blockDatabase[id];
    +  const foundBlock = blockDatabase.get(id)!;
       if (styles !== undefined && styles !== null) {
         foundBlock.styles = styles.split(STYLECLASS_SEP);
       }
    @@ -70,16 +70,16 @@ export const addStyle2Node = function (id: string, styles = '') {
      */
     export const setCssClass = function (itemIds: string, cssClassName: string) {
       itemIds.split(',').forEach(function (id: string) {
    -    let foundBlock = blockDatabase[id];
    +    let foundBlock = blockDatabase.get(id);
         if (foundBlock === undefined) {
           const trimmedId = id.trim();
    -      blockDatabase[trimmedId] = { id: trimmedId, type: 'na', children: [] } as Block;
    -      foundBlock = blockDatabase[trimmedId];
    +      blockDatabase.set(trimmedId, { id: trimmedId, type: 'na', children: [] } as Block);
    +      foundBlock = blockDatabase.get(trimmedId);
         }
    -    if (!foundBlock.classes) {
    -      foundBlock.classes = [];
    +    if (!foundBlock!.classes) {
    +      foundBlock!.classes = [];
         }
    -    foundBlock.classes.push(cssClassName);
    +    foundBlock!.classes.push(cssClassName);
       });
     };
     
    @@ -104,12 +104,12 @@ const populateBlockDatabase = (_blockList: Block[] | Block[][], parent: Block):
         if (block.type === 'column-setting') {
           parent.columns = block.columns || -1;
         } else if (block.type === 'edge') {
    -      if (edgeCount[block.id]) {
    -        edgeCount[block.id]++;
    +      if (edgeCount.has(block.id)) {
    +        edgeCount.set(block.id, edgeCount.get(block.id)! + 1);
           } else {
    -        edgeCount[block.id] = 1;
    +        edgeCount.set(block.id, 1);
           }
    -      block.id = edgeCount[block.id] + '-' + block.id;
    +      block.id = edgeCount.get(block.id)! + '-' + block.id;
           edgeList.push(block);
         } else {
           if (!block.label) {
    @@ -120,16 +120,17 @@ const populateBlockDatabase = (_blockList: Block[] | Block[][], parent: Block):
               block.label = block.id;
             }
           }
    -      const newBlock = !blockDatabase[block.id];
    -      if (newBlock) {
    -        blockDatabase[block.id] = block;
    +      const isCreatingBlock = !blockDatabase.has(block.id);
    +
    +      if (isCreatingBlock) {
    +        blockDatabase.set(block.id, block);
           } else {
             // Add newer relevant data to aggregated node
             if (block.type !== 'na') {
    -          blockDatabase[block.id].type = block.type;
    +          blockDatabase.get(block.id)!.type = block.type;
             }
             if (block.label !== block.id) {
    -          blockDatabase[block.id].label = block.label;
    +          blockDatabase.get(block.id)!.label = block.label;
             }
           }
     
    @@ -142,10 +143,10 @@ const populateBlockDatabase = (_blockList: Block[] | Block[][], parent: Block):
             for (let j = 0; j < w; j++) {
               const newBlock = clone(block);
               newBlock.id = newBlock.id + '-' + j;
    -          blockDatabase[newBlock.id] = newBlock;
    +          blockDatabase.set(newBlock.id, newBlock);
               children.push(newBlock);
             }
    -      } else if (newBlock) {
    +      } else if (isCreatingBlock) {
             children.push(block);
           }
         }
    @@ -160,12 +161,12 @@ const clear = (): void => {
       log.debug('Clear called');
       commonClear();
       rootBlock = { id: 'root', type: 'composite', children: [], columns: -1 } as Block;
    -  blockDatabase = { root: rootBlock };
    +  blockDatabase = new Map([['root', rootBlock]]);
       blocks = [] as Block[];
    -  classes = {} as Record;
    +  classes = new Map();
     
       edgeList = [];
    -  edgeCount = {};
    +  edgeCount = new Map();
     };
     
     export function typeStr2Type(typeStr: string) {
    @@ -241,7 +242,7 @@ const setHierarchy = (block: Block[]): void => {
     };
     
     const getColumns = (blockId: string): number => {
    -  const block = blockDatabase[blockId];
    +  const block = blockDatabase.get(blockId);
       if (!block) {
         return -1;
       }
    @@ -259,7 +260,7 @@ const getColumns = (blockId: string): number => {
      * @returns
      */
     const getBlocksFlat = () => {
    -  return [...Object.values(blockDatabase)];
    +  return [...blockDatabase.values()];
     };
     /**
      * Returns the the hierarchy of blocks
    @@ -273,11 +274,11 @@ const getEdges = () => {
       return edgeList;
     };
     const getBlock = (id: string) => {
    -  return blockDatabase[id];
    +  return blockDatabase.get(id);
     };
     
     const setBlock = (block: Block) => {
    -  blockDatabase[block.id] = block;
    +  blockDatabase.set(block.id, block);
     };
     
     const getLogger = () => console;
    diff --git a/packages/mermaid/src/diagrams/block/parser/block.spec.ts b/packages/mermaid/src/diagrams/block/parser/block.spec.ts
    index 65338375aa..8618f4d027 100644
    --- a/packages/mermaid/src/diagrams/block/parser/block.spec.ts
    +++ b/packages/mermaid/src/diagrams/block/parser/block.spec.ts
    @@ -388,7 +388,7 @@ describe('Block diagram', function () {
           const mc = blocks[0];
           expect(mc.classes).toContain('black');
           const classes = db.getClasses();
    -      const black = classes.black;
    +      const black = classes.get('black')!;
           expect(black.id).toBe('black');
           expect(black.styles[0]).toEqual('color:#ffffff');
         });
    diff --git a/packages/mermaid/src/diagrams/class/classDb.ts b/packages/mermaid/src/diagrams/class/classDb.ts
    index 0e18d1e0fa..b3d6f04682 100644
    --- a/packages/mermaid/src/diagrams/class/classDb.ts
    +++ b/packages/mermaid/src/diagrams/class/classDb.ts
    @@ -26,10 +26,10 @@ import type {
     const MERMAID_DOM_ID_PREFIX = 'classId-';
     
     let relations: ClassRelation[] = [];
    -let classes: ClassMap = {};
    +let classes: Map = new Map();
     let notes: ClassNote[] = [];
     let classCounter = 0;
    -let namespaces: NamespaceMap = {};
    +let namespaces: Map = new Map();
     let namespaceCounter = 0;
     
     let functions: any[] = [];
    @@ -57,7 +57,7 @@ export const setClassLabel = function (_id: string, label: string) {
       }
     
       const { className } = splitClassNameAndType(id);
    -  classes[className].label = label;
    +  classes.get(className)!.label = label;
     };
     
     /**
    @@ -70,13 +70,13 @@ export const addClass = function (_id: string) {
       const id = common.sanitizeText(_id, getConfig());
       const { className, type } = splitClassNameAndType(id);
       // Only add class if not exists
    -  if (Object.hasOwn(classes, className)) {
    +  if (classes.has(className)) {
         return;
       }
       // alert('Adding class: ' + className);
       const name = common.sanitizeText(className, getConfig());
       // alert('Adding class after: ' + name);
    -  classes[name] = {
    +  classes.set(name, {
         id: name,
         type: type,
         label: name,
    @@ -86,7 +86,7 @@ export const addClass = function (_id: string) {
         annotations: [],
         styles: [],
         domId: MERMAID_DOM_ID_PREFIX + name + '-' + classCounter,
    -  } as ClassNode;
    +  } as ClassNode);
     
       classCounter++;
     };
    @@ -99,25 +99,25 @@ export const addClass = function (_id: string) {
      */
     export const lookUpDomId = function (_id: string): string {
       const id = common.sanitizeText(_id, getConfig());
    -  if (id in classes) {
    -    return classes[id].domId;
    +  if (classes.has(id)) {
    +    return classes.get(id)!.domId;
       }
       throw new Error('Class not found: ' + id);
     };
     
     export const clear = function () {
       relations = [];
    -  classes = {};
    +  classes = new Map();
       notes = [];
       functions = [];
       functions.push(setupToolTips);
    -  namespaces = {};
    +  namespaces = new Map();
       namespaceCounter = 0;
       commonClear();
     };
     
     export const getClass = function (id: string): ClassNode {
    -  return classes[id];
    +  return classes.get(id)!;
     };
     
     export const getClasses = function (): ClassMap {
    @@ -157,7 +157,7 @@ export const addRelation = function (relation: ClassRelation) {
      */
     export const addAnnotation = function (className: string, annotation: string) {
       const validatedClassName = splitClassNameAndType(className).className;
    -  classes[validatedClassName].annotations.push(annotation);
    +  classes.get(validatedClassName)!.annotations.push(annotation);
     };
     
     /**
    @@ -173,7 +173,7 @@ export const addMember = function (className: string, member: string) {
       addClass(className);
     
       const validatedClassName = splitClassNameAndType(className).className;
    -  const theClass = classes[validatedClassName];
    +  const theClass = classes.get(validatedClassName)!;
     
       if (typeof member === 'string') {
         // Member can contain white spaces, we trim them out
    @@ -226,8 +226,8 @@ export const setCssClass = function (ids: string, className: string) {
         if (_id[0].match(/\d/)) {
           id = MERMAID_DOM_ID_PREFIX + id;
         }
    -    if (classes[id] !== undefined) {
    -      classes[id].cssClasses.push(className);
    +    if (classes.has(id)) {
    +      classes.get(id)!.cssClasses.push(className);
         }
       });
     };
    @@ -241,17 +241,17 @@ export const setCssClass = function (ids: string, className: string) {
     const setTooltip = function (ids: string, tooltip?: string) {
       ids.split(',').forEach(function (id) {
         if (tooltip !== undefined) {
    -      classes[id].tooltip = sanitizeText(tooltip);
    +      classes.get(id)!.tooltip = sanitizeText(tooltip);
         }
       });
     };
     
     export const getTooltip = function (id: string, namespace?: string) {
    -  if (namespace) {
    -    return namespaces[namespace].classes[id].tooltip;
    +  if (namespace && namespaces.has(namespace)) {
    +    return namespaces.get(namespace)!.classes.get(id)!.tooltip;
       }
     
    -  return classes[id].tooltip;
    +  return classes.get(id)!.tooltip;
     };
     
     /**
    @@ -268,14 +268,15 @@ export const setLink = function (ids: string, linkStr: string, target: string) {
         if (_id[0].match(/\d/)) {
           id = MERMAID_DOM_ID_PREFIX + id;
         }
    -    if (classes[id] !== undefined) {
    -      classes[id].link = utils.formatUrl(linkStr, config);
    +    if (classes.has(id)) {
    +      const theClass = classes.get(id)!;
    +      theClass.link = utils.formatUrl(linkStr, config);
           if (config.securityLevel === 'sandbox') {
    -        classes[id].linkTarget = '_top';
    +        theClass.linkTarget = '_top';
           } else if (typeof target === 'string') {
    -        classes[id].linkTarget = sanitizeText(target);
    +        theClass.linkTarget = sanitizeText(target);
           } else {
    -        classes[id].linkTarget = '_blank';
    +        theClass.linkTarget = '_blank';
           }
         }
       });
    @@ -292,7 +293,7 @@ export const setLink = function (ids: string, linkStr: string, target: string) {
     export const setClickEvent = function (ids: string, functionName: string, functionArgs: string) {
       ids.split(',').forEach(function (id) {
         setClickFunc(id, functionName, functionArgs);
    -    classes[id].haveCallback = true;
    +    classes.get(id)!.haveCallback = true;
       });
       setCssClass(ids, 'clickable');
     };
    @@ -308,7 +309,7 @@ const setClickFunc = function (_domId: string, functionName: string, functionArg
       }
     
       const id = domId;
    -  if (classes[id] !== undefined) {
    +  if (classes.has(id)) {
         const elemId = lookUpDomId(id);
         let argList: string[] = [];
         if (typeof functionArgs === 'string') {
    @@ -417,22 +418,22 @@ const setDirection = (dir: string) => {
      * @public
      */
     export const addNamespace = function (id: string) {
    -  if (namespaces[id] !== undefined) {
    +  if (namespaces.has(id)) {
         return;
       }
     
    -  namespaces[id] = {
    +  namespaces.set(id, {
         id: id,
    -    classes: {},
    +    classes: new Map(),
         children: {},
         domId: MERMAID_DOM_ID_PREFIX + id + '-' + namespaceCounter,
    -  } as NamespaceNode;
    +  } as NamespaceNode);
     
       namespaceCounter++;
     };
     
     const getNamespace = function (name: string): NamespaceNode {
    -  return namespaces[name];
    +  return namespaces.get(name)!;
     };
     
     const getNamespaces = function (): NamespaceMap {
    @@ -447,18 +448,18 @@ const getNamespaces = function (): NamespaceMap {
      * @public
      */
     export const addClassesToNamespace = function (id: string, classNames: string[]) {
    -  if (namespaces[id] === undefined) {
    +  if (!namespaces.has(id)) {
         return;
       }
       for (const name of classNames) {
         const { className } = splitClassNameAndType(name);
    -    classes[className].parent = id;
    -    namespaces[id].classes[className] = classes[className];
    +    classes.get(className)!.parent = id;
    +    namespaces.get(id)!.classes.set(className, classes.get(className)!);
       }
     };
     
     export const setCssStyle = function (id: string, styles: string[]) {
    -  const thisClass = classes[id];
    +  const thisClass = classes.get(id);
       if (!styles || !thisClass) {
         return;
       }
    diff --git a/packages/mermaid/src/diagrams/class/classDiagram.spec.ts b/packages/mermaid/src/diagrams/class/classDiagram.spec.ts
    index e3dbb17f14..8412c6fbf2 100644
    --- a/packages/mermaid/src/diagrams/class/classDiagram.spec.ts
    +++ b/packages/mermaid/src/diagrams/class/classDiagram.spec.ts
    @@ -2,6 +2,7 @@
     import { parser } from './parser/classDiagram.jison';
     import classDb from './classDb.js';
     import { vi, describe, it, expect } from 'vitest';
    +import type { ClassMap, NamespaceNode } from './classTypes.js';
     const spyOn = vi.spyOn;
     
     const staticCssStyle = 'text-decoration:underline;';
    @@ -392,8 +393,8 @@ class C13["With Città foreign language"]
               Student "1" --o "1" IdCard : carries
               Student "1" --o "1" Bike : rides`);
     
    -      expect(Object.keys(classDb.getClasses()).length).toBe(3);
    -      expect(classDb.getClasses().Student).toMatchInlineSnapshot(`
    +      expect(classDb.getClasses().size).toBe(3);
    +      expect(classDb.getClasses().get('Student')).toMatchInlineSnapshot(`
             {
               "annotations": [],
               "cssClasses": [],
    @@ -1539,12 +1540,12 @@ class Class2
     }`;
           parser.parse(str);
     
    -      const testNamespace = parser.yy.getNamespace('Namespace1');
    -      const testClasses = parser.yy.getClasses();
    -      expect(Object.keys(testNamespace.classes).length).toBe(2);
    +      const testNamespace: NamespaceNode = parser.yy.getNamespace('Namespace1');
    +      const testClasses: ClassMap = parser.yy.getClasses();
    +      expect(testNamespace.classes.size).toBe(2);
           expect(Object.keys(testNamespace.children).length).toBe(0);
    -      expect(testNamespace.classes['Class1'].id).toBe('Class1');
    -      expect(Object.keys(testClasses).length).toBe(2);
    +      expect(testNamespace.classes.get('Class1')?.id).toBe('Class1');
    +      expect(testClasses.size).toBe(2);
         });
     
         it('should add relations between classes of different namespaces', function () {
    @@ -1573,25 +1574,25 @@ class Class2
           const testNamespaceB = parser.yy.getNamespace('B');
           const testClasses = parser.yy.getClasses();
           const testRelations = parser.yy.getRelations();
    -      expect(Object.keys(testNamespaceA.classes).length).toBe(2);
    -      expect(testNamespaceA.classes['A1'].members[0].getDisplayDetails().displayText).toBe(
    +      expect(testNamespaceA.classes.size).toBe(2);
    +      expect(testNamespaceA.classes.get('A1').members[0].getDisplayDetails().displayText).toBe(
             '+foo : string'
           );
    -      expect(testNamespaceA.classes['A2'].members[0].getDisplayDetails().displayText).toBe(
    +      expect(testNamespaceA.classes.get('A2').members[0].getDisplayDetails().displayText).toBe(
             '+bar : int'
           );
    -      expect(Object.keys(testNamespaceB.classes).length).toBe(2);
    -      expect(testNamespaceB.classes['B1'].members[0].getDisplayDetails().displayText).toBe(
    +      expect(testNamespaceB.classes.size).toBe(2);
    +      expect(testNamespaceB.classes.get('B1').members[0].getDisplayDetails().displayText).toBe(
             '+foo : bool'
           );
    -      expect(testNamespaceB.classes['B2'].members[0].getDisplayDetails().displayText).toBe(
    +      expect(testNamespaceB.classes.get('B2').members[0].getDisplayDetails().displayText).toBe(
             '+bar : float'
           );
    -      expect(Object.keys(testClasses).length).toBe(4);
    -      expect(testClasses['A1'].parent).toBe('A');
    -      expect(testClasses['A2'].parent).toBe('A');
    -      expect(testClasses['B1'].parent).toBe('B');
    -      expect(testClasses['B2'].parent).toBe('B');
    +      expect(testClasses.size).toBe(4);
    +      expect(testClasses.get('A1').parent).toBe('A');
    +      expect(testClasses.get('A2').parent).toBe('A');
    +      expect(testClasses.get('B1').parent).toBe('B');
    +      expect(testClasses.get('B2').parent).toBe('B');
           expect(testRelations[0].id1).toBe('A1');
           expect(testRelations[0].id2).toBe('B1');
           expect(testRelations[1].id1).toBe('A2');
    diff --git a/packages/mermaid/src/diagrams/class/classRenderer-v2.ts b/packages/mermaid/src/diagrams/class/classRenderer-v2.ts
    index a01b1427b5..cf80a8a708 100644
    --- a/packages/mermaid/src/diagrams/class/classRenderer-v2.ts
    +++ b/packages/mermaid/src/diagrams/class/classRenderer-v2.ts
    @@ -44,13 +44,13 @@ export const addNamespaces = function (
       _id: string,
       diagObj: any
     ) {
    -  const keys = Object.keys(namespaces);
    +  const keys = [...namespaces.keys()];
       log.info('keys:', keys);
       log.info(namespaces);
     
       // Iterate through each item in the vertex object (containing all the vertices found) in the graph definition
       keys.forEach(function (id) {
    -    const vertex = namespaces[id];
    +    const vertex = namespaces.get(id)!;
     
         // parent node must be one of [rect, roundedWithTitle, noteGroup, divider]
         const shape = 'rect';
    @@ -89,15 +89,15 @@ export const addClasses = function (
       diagObj: any,
       parent?: string
     ) {
    -  const keys = Object.keys(classes);
    +  const keys = [...classes.keys()];
       log.info('keys:', keys);
       log.info(classes);
     
       // Iterate through each item in the vertex object (containing all the vertices found) in the graph definition
       keys
    -    .filter((id) => classes[id].parent == parent)
    +    .filter((id) => classes.get(id)!.parent == parent)
         .forEach(function (id) {
    -      const vertex = classes[id];
    +      const vertex = classes.get(id)!;
     
           /**
            * Variable for storing the classes for the vertex
    @@ -346,7 +346,7 @@ export const draw = async function (text: string, id: string, _version: string,
       }
       const root =
         securityLevel === 'sandbox'
    -      ? select(sandboxElement.nodes()[0].contentDocument.body)
    +      ? select(sandboxElement!.nodes()[0]!.contentDocument.body)
           : select('body');
       const svg = root.select(`[id="${id}"]`);
     
    @@ -366,7 +366,8 @@ export const draw = async function (text: string, id: string, _version: string,
     
       // Add label rects for non html labels
       if (!conf?.htmlLabels) {
    -    const doc = securityLevel === 'sandbox' ? sandboxElement.nodes()[0].contentDocument : document;
    +    const doc =
    +      securityLevel === 'sandbox' ? sandboxElement!.nodes()[0]!.contentDocument : document;
         const labels = doc.querySelectorAll('[id="' + id + '"] .edgeLabel .label');
         for (const label of labels) {
           // Get dimensions of label
    diff --git a/packages/mermaid/src/diagrams/class/classRenderer.js b/packages/mermaid/src/diagrams/class/classRenderer.js
    index be098b0274..381b93341f 100644
    --- a/packages/mermaid/src/diagrams/class/classRenderer.js
    +++ b/packages/mermaid/src/diagrams/class/classRenderer.js
    @@ -175,10 +175,10 @@ export const draw = function (text, id, _version, diagObj) {
       });
     
       const classes = diagObj.db.getClasses();
    -  const keys = Object.keys(classes);
    +  const keys = [...classes.keys()];
     
       for (const key of keys) {
    -    const classDef = classes[key];
    +    const classDef = classes.get(key);
         const node = svgDraw.drawClass(diagram, classDef, conf, diagObj);
         idCache[node.id] = node;
     
    diff --git a/packages/mermaid/src/diagrams/class/classTypes.ts b/packages/mermaid/src/diagrams/class/classTypes.ts
    index c2f1587027..5c5812ee10 100644
    --- a/packages/mermaid/src/diagrams/class/classTypes.ts
    +++ b/packages/mermaid/src/diagrams/class/classTypes.ts
    @@ -161,5 +161,5 @@ export interface NamespaceNode {
       children: NamespaceMap;
     }
     
    -export type ClassMap = Record;
    -export type NamespaceMap = Record;
    +export type ClassMap = Map;
    +export type NamespaceMap = Map;
    diff --git a/packages/mermaid/src/diagrams/er/erDb.js b/packages/mermaid/src/diagrams/er/erDb.js
    index a58b9bbc1a..745ef938ad 100644
    --- a/packages/mermaid/src/diagrams/er/erDb.js
    +++ b/packages/mermaid/src/diagrams/er/erDb.js
    @@ -11,7 +11,7 @@ import {
       getDiagramTitle,
     } from '../common/commonDb.js';
     
    -let entities = {};
    +let entities = new Map();
     let relationships = [];
     
     const Cardinality = {
    @@ -28,15 +28,15 @@ const Identification = {
     };
     
     const addEntity = function (name, alias = undefined) {
    -  if (entities[name] === undefined) {
    -    entities[name] = { attributes: [], alias: alias };
    +  if (!entities.has(name)) {
    +    entities.set(name, { attributes: [], alias: alias });
         log.info('Added new entity :', name);
    -  } else if (entities[name] && !entities[name].alias && alias) {
    -    entities[name].alias = alias;
    +  } else if (entities.has(name) && !entities.get(name).alias && alias) {
    +    entities.get(name).alias = alias;
         log.info(`Add alias '${alias}' to entity '${name}'`);
       }
     
    -  return entities[name];
    +  return entities.get(name);
     };
     
     const getEntities = () => entities;
    @@ -75,7 +75,7 @@ const addRelationship = function (entA, rolA, entB, rSpec) {
     const getRelationships = () => relationships;
     
     const clear = function () {
    -  entities = {};
    +  entities = new Map();
       relationships = [];
       commonClear();
     };
    diff --git a/packages/mermaid/src/diagrams/er/erRenderer.js b/packages/mermaid/src/diagrams/er/erRenderer.js
    index e8b25d50bb..7f0a0e914a 100644
    --- a/packages/mermaid/src/diagrams/er/erRenderer.js
    +++ b/packages/mermaid/src/diagrams/er/erRenderer.js
    @@ -301,7 +301,7 @@ const drawAttributes = (groupNode, entityTextNode, attributes) => {
      * @returns {object} The first entity that was inserted
      */
     const drawEntities = function (svgNode, entities, graph) {
    -  const keys = Object.keys(entities);
    +  const keys = [...entities.keys()];
       let firstOne;
     
       keys.forEach(function (entityName) {
    @@ -326,12 +326,12 @@ const drawEntities = function (svgNode, entities, graph) {
           .style('text-anchor', 'middle')
           .style('font-family', getConfig().fontFamily)
           .style('font-size', conf.fontSize + 'px')
    -      .text(entities[entityName].alias ?? entityName);
    +      .text(entities.get(entityName).alias ?? entityName);
     
         const { width: entityWidth, height: entityHeight } = drawAttributes(
           groupNode,
           textNode,
    -      entities[entityName].attributes
    +      entities.get(entityName).attributes
         );
     
         // Draw the rectangle - insert it before the text so that the text is not obscured
    diff --git a/packages/mermaid/src/diagrams/er/parser/erDiagram.spec.js b/packages/mermaid/src/diagrams/er/parser/erDiagram.spec.js
    index ba29ff04b9..f63fd40e23 100644
    --- a/packages/mermaid/src/diagrams/er/parser/erDiagram.spec.js
    +++ b/packages/mermaid/src/diagrams/er/parser/erDiagram.spec.js
    @@ -17,7 +17,7 @@ describe('when parsing ER diagram it...', function () {
         const line2 = 'MAINLAND';
         erDiagram.parser.parse(`erDiagram\n${line1}\n${line2}`);
     
    -    expect(Object.keys(erDb.getEntities()).length).toBe(2);
    +    expect(erDb.getEntities().size).toBe(2);
         expect(erDb.getRelationships().length).toBe(0);
       });
     
    @@ -27,7 +27,7 @@ describe('when parsing ER diagram it...', function () {
           expect(() => {
             erDiagram.parser.parse(`erDiagram\n ${name}\n`);
             const entities = erDb.getEntities();
    -        expect(entities.hasOwnProperty(name)).toBe(false);
    +        expect(entities.has(name)).toBe(false);
           }).toThrow();
         });
         describe('has non A-Za-z0-9_- chars', function () {
    @@ -47,7 +47,7 @@ describe('when parsing ER diagram it...', function () {
               expect(() => {
                 erDiagram.parser.parse(`erDiagram\n ${name}\n`);
                 const entities = erDb.getEntities();
    -            expect(entities.hasOwnProperty(name)).toBe(false);
    +            expect(entities.has(name)).toBe(false);
               }).toThrow();
             });
     
    @@ -55,21 +55,21 @@ describe('when parsing ER diagram it...', function () {
               const name = singleOccurrence;
               erDiagram.parser.parse(`erDiagram\n "${name}"\n`);
               const entities = erDb.getEntities();
    -          expect(entities.hasOwnProperty(name)).toBe(true);
    +          expect(entities.has(name)).toBe(true);
             });
     
             it(`"${repeatedOccurrence}" repeated occurrence`, function () {
               const name = repeatedOccurrence;
               erDiagram.parser.parse(`erDiagram\n "${name}"\n`);
               const entities = erDb.getEntities();
    -          expect(entities.hasOwnProperty(name)).toBe(true);
    +          expect(entities.has(name)).toBe(true);
             });
     
             it(`"${singleOccurrence}" ends with`, function () {
               const name = endsWith;
               erDiagram.parser.parse(`erDiagram\n "${name}"\n`);
               const entities = erDb.getEntities();
    -          expect(entities.hasOwnProperty(name)).toBe(true);
    +          expect(entities.has(name)).toBe(true);
             });
     
             it(`"${cannontStartWith}" cannot start with the character`, function () {
    @@ -77,7 +77,7 @@ describe('when parsing ER diagram it...', function () {
               expect(() => {
                 erDiagram.parser.parse(`erDiagram\n "${name}"\n`);
                 const entities = erDb.getEntities();
    -            expect(entities.hasOwnProperty(name)).toBe(false);
    +            expect(entities.has(name)).toBe(false);
               }).toThrow();
             });
           });
    @@ -88,7 +88,7 @@ describe('when parsing ER diagram it...', function () {
             const name = 'a' + allCombined;
             erDiagram.parser.parse(`erDiagram\n "${name}"\n`);
             const entities = erDb.getEntities();
    -        expect(entities.hasOwnProperty(name)).toBe(true);
    +        expect(entities.has(name)).toBe(true);
           });
         });
     
    @@ -96,14 +96,14 @@ describe('when parsing ER diagram it...', function () {
           expect(() => {
             erDiagram.parser.parse(`erDiagram\n "Blo%rf"\n`);
             const entities = erDb.getEntities();
    -        expect(entities.hasOwnProperty(name)).toBe(false);
    +        expect(entities.has(name)).toBe(false);
           }).toThrow();
         });
         it('cannot contain \\ because it could start and escape code', function () {
           expect(() => {
             erDiagram.parser.parse(`erDiagram\n "Blo\\rf"\n`);
             const entities = erDb.getEntities();
    -        expect(entities.hasOwnProperty(name)).toBe(false);
    +        expect(entities.has(name)).toBe(false);
           }).toThrow();
         });
     
    @@ -114,7 +114,7 @@ describe('when parsing ER diagram it...', function () {
             expect(() => {
               erDiagram.parser.parse(`erDiagram\n "${badName}"\n`);
               const entities = erDb.getEntities();
    -          expect(entities.hasOwnProperty(badName)).toBe(false);
    +          expect(entities.has(badName)).toBe(false);
             }).toThrow();
           });
         });
    @@ -124,14 +124,14 @@ describe('when parsing ER diagram it...', function () {
           const beyondEnglishName = 'DUCK-àáâäæãåā';
           erDiagram.parser.parse(`erDiagram\n${beyondEnglishName}\n`);
           const entities = erDb.getEntities();
    -      expect(entities.hasOwnProperty(beyondEnglishName)).toBe(true);
    +      expect(entities.has(beyondEnglishName)).toBe(true);
         });
     
         it('can contain - _ without needing ""', function () {
           const hyphensUnderscore = 'DUCK-BILLED_PLATYPUS';
           erDiagram.parser.parse(`erDiagram\n${hyphensUnderscore}\n`);
           const entities = erDb.getEntities();
    -      expect(entities.hasOwnProperty(hyphensUnderscore)).toBe(true);
    +      expect(entities.has(hyphensUnderscore)).toBe(true);
         });
     
         it('can have an alias', function () {
    @@ -139,8 +139,8 @@ describe('when parsing ER diagram it...', function () {
           const alias = 'bar';
           erDiagram.parser.parse(`erDiagram\n${entity}["${alias}"]\n`);
           const entities = erDb.getEntities();
    -      expect(entities.hasOwnProperty(entity)).toBe(true);
    -      expect(entities[entity].alias).toBe(alias);
    +      expect(entities.has(entity)).toBe(true);
    +      expect(entities.get(entity).alias).toBe(alias);
         });
     
         it('can have an alias even if the relationship is defined before class', function () {
    @@ -151,10 +151,10 @@ describe('when parsing ER diagram it...', function () {
             `erDiagram\n${firstEntity} ||--o| ${secondEntity} : rel\nclass ${firstEntity}["${alias}"]\n`
           );
           const entities = erDb.getEntities();
    -      expect(entities.hasOwnProperty(firstEntity)).toBe(true);
    -      expect(entities.hasOwnProperty(secondEntity)).toBe(true);
    -      expect(entities[firstEntity].alias).toBe(alias);
    -      expect(entities[secondEntity].alias).toBeUndefined();
    +      expect(entities.has(firstEntity)).toBe(true);
    +      expect(entities.has(secondEntity)).toBe(true);
    +      expect(entities.get(firstEntity).alias).toBe(alias);
    +      expect(entities.get(secondEntity).alias).toBeUndefined();
         });
     
         it('can have an alias even if the relationship is defined after class', function () {
    @@ -165,17 +165,17 @@ describe('when parsing ER diagram it...', function () {
             `erDiagram\nclass ${firstEntity}["${alias}"]\n${firstEntity} ||--o| ${secondEntity} : rel\n`
           );
           const entities = erDb.getEntities();
    -      expect(entities.hasOwnProperty(firstEntity)).toBe(true);
    -      expect(entities.hasOwnProperty(secondEntity)).toBe(true);
    -      expect(entities[firstEntity].alias).toBe(alias);
    -      expect(entities[secondEntity].alias).toBeUndefined();
    +      expect(entities.has(firstEntity)).toBe(true);
    +      expect(entities.has(secondEntity)).toBe(true);
    +      expect(entities.get(firstEntity).alias).toBe(alias);
    +      expect(entities.get(secondEntity).alias).toBeUndefined();
         });
     
         it('can start with an underscore', function () {
           const entity = '_foo';
           erDiagram.parser.parse(`erDiagram\n${entity}\n`);
           const entities = erDb.getEntities();
    -      expect(entities.hasOwnProperty(entity)).toBe(true);
    +      expect(entities.has(entity)).toBe(true);
         });
       });
     
    @@ -191,11 +191,11 @@ describe('when parsing ER diagram it...', function () {
           );
           const entities = erDb.getEntities();
     
    -      expect(Object.keys(entities).length).toBe(1);
    -      expect(entities[entity].attributes.length).toBe(3);
    -      expect(entities[entity].attributes[0].attributeName).toBe('myBookTitle');
    -      expect(entities[entity].attributes[1].attributeName).toBe('MYBOOKSUBTITLE_1');
    -      expect(entities[entity].attributes[2].attributeName).toBe('author-ref[name](1)');
    +      expect(entities.size).toBe(1);
    +      expect(entities.get(entity).attributes.length).toBe(3);
    +      expect(entities.get(entity).attributes[0].attributeName).toBe('myBookTitle');
    +      expect(entities.get(entity).attributes[1].attributeName).toBe('MYBOOKSUBTITLE_1');
    +      expect(entities.get(entity).attributes[2].attributeName).toBe('author-ref[name](1)');
         });
     
         it('should allow asterisk at the start of attribute name', function () {
    @@ -204,8 +204,8 @@ describe('when parsing ER diagram it...', function () {
     
           erDiagram.parser.parse(`erDiagram\n${entity}{\n${attribute}}`);
           const entities = erDb.getEntities();
    -      expect(Object.keys(entities).length).toBe(1);
    -      expect(entities[entity].attributes.length).toBe(1);
    +      expect(entities.size).toBe(1);
    +      expect(entities.get(entity).attributes.length).toBe(1);
         });
     
         it('should allow asterisks at the start of attribute declared with type and name', () => {
    @@ -214,8 +214,8 @@ describe('when parsing ER diagram it...', function () {
     
           erDiagram.parser.parse(`erDiagram\n${entity} {\n${attribute}}`);
           const entities = erDb.getEntities();
    -      expect(Object.keys(entities).length).toBe(1);
    -      expect(entities[entity].attributes.length).toBe(1);
    +      expect(entities.size).toBe(1);
    +      expect(entities.get(entity).attributes.length).toBe(1);
         });
     
         it('should not allow leading numbers, dashes or brackets', function () {
    @@ -236,8 +236,8 @@ describe('when parsing ER diagram it...', function () {
     
         erDiagram.parser.parse(`erDiagram\n${entity} {\n${attribute}\n}`);
         const entities = erDb.getEntities();
    -    expect(Object.keys(entities).length).toBe(1);
    -    expect(entities[entity].attributes.length).toBe(1);
    +    expect(entities.size).toBe(1);
    +    expect(entities.get(entity).attributes.length).toBe(1);
       });
     
       it('should allow an entity with a single attribute to be defined with a key', function () {
    @@ -246,8 +246,8 @@ describe('when parsing ER diagram it...', function () {
     
         erDiagram.parser.parse(`erDiagram\n${entity} {\n${attribute}\n}`);
         const entities = erDb.getEntities();
    -    expect(Object.keys(entities).length).toBe(1);
    -    expect(entities[entity].attributes.length).toBe(1);
    +    expect(entities.size).toBe(1);
    +    expect(entities.get(entity).attributes.length).toBe(1);
       });
     
       it('should allow an entity with a single attribute to be defined with a comment', function () {
    @@ -256,9 +256,9 @@ describe('when parsing ER diagram it...', function () {
     
         erDiagram.parser.parse(`erDiagram\n${entity} {\n${attribute}\n}`);
         const entities = erDb.getEntities();
    -    expect(Object.keys(entities).length).toBe(1);
    -    expect(entities[entity].attributes.length).toBe(1);
    -    expect(entities[entity].attributes[0].attributeComment).toBe('comment');
    +    expect(entities.size).toBe(1);
    +    expect(entities.get(entity).attributes.length).toBe(1);
    +    expect(entities.get(entity).attributes[0].attributeComment).toBe('comment');
       });
     
       it('should allow an entity with a single attribute to be defined with a key and a comment', function () {
    @@ -267,8 +267,8 @@ describe('when parsing ER diagram it...', function () {
     
         erDiagram.parser.parse(`erDiagram\n${entity} {\n${attribute}\n}`);
         const entities = erDb.getEntities();
    -    expect(Object.keys(entities).length).toBe(1);
    -    expect(entities[entity].attributes.length).toBe(1);
    +    expect(entities.size).toBe(1);
    +    expect(entities.get(entity).attributes.length).toBe(1);
       });
     
       it('should allow an entity with attribute starting with fk, pk or uk and a comment', function () {
    @@ -282,7 +282,7 @@ describe('when parsing ER diagram it...', function () {
           `erDiagram\n${entity} {\n${attribute1} \n\n${attribute2}\n${attribute3}\n${attribute4}\n}`
         );
         const entities = erDb.getEntities();
    -    expect(entities[entity].attributes.length).toBe(4);
    +    expect(entities.get(entity).attributes.length).toBe(4);
       });
     
       it('should allow an entity with attributes that have many constraints and comments', function () {
    @@ -297,14 +297,14 @@ describe('when parsing ER diagram it...', function () {
           `erDiagram\n${entity} {\n${attribute1}\n${attribute2}\n${attribute3}\n${attribute4}\n${attribute5}\n}`
         );
         const entities = erDb.getEntities();
    -    expect(entities[entity].attributes[0].attributeKeyTypeList).toEqual(['PK', 'FK']);
    -    expect(entities[entity].attributes[0].attributeComment).toBe('comment1');
    -    expect(entities[entity].attributes[1].attributeKeyTypeList).toEqual(['PK', 'UK', 'FK']);
    -    expect(entities[entity].attributes[2].attributeKeyTypeList).toEqual(['PK', 'UK']);
    -    expect(entities[entity].attributes[2].attributeComment).toBe('comment3');
    -    expect(entities[entity].attributes[3].attributeKeyTypeList).toBeUndefined();
    -    expect(entities[entity].attributes[4].attributeKeyTypeList).toBeUndefined();
    -    expect(entities[entity].attributes[4].attributeComment).toBe('comment5');
    +    expect(entities.get(entity).attributes[0].attributeKeyTypeList).toEqual(['PK', 'FK']);
    +    expect(entities.get(entity).attributes[0].attributeComment).toBe('comment1');
    +    expect(entities.get(entity).attributes[1].attributeKeyTypeList).toEqual(['PK', 'UK', 'FK']);
    +    expect(entities.get(entity).attributes[2].attributeKeyTypeList).toEqual(['PK', 'UK']);
    +    expect(entities.get(entity).attributes[2].attributeComment).toBe('comment3');
    +    expect(entities.get(entity).attributes[3].attributeKeyTypeList).toBeUndefined();
    +    expect(entities.get(entity).attributes[4].attributeKeyTypeList).toBeUndefined();
    +    expect(entities.get(entity).attributes[4].attributeComment).toBe('comment5');
       });
     
       it('should allow an entity with attribute that has a generic type', function () {
    @@ -317,8 +317,8 @@ describe('when parsing ER diagram it...', function () {
           `erDiagram\n${entity} {\n${attribute1}\n${attribute2}\n${attribute3}\n}`
         );
         const entities = erDb.getEntities();
    -    expect(Object.keys(entities).length).toBe(1);
    -    expect(entities[entity].attributes.length).toBe(3);
    +    expect(entities.size).toBe(1);
    +    expect(entities.get(entity).attributes.length).toBe(3);
       });
     
       it('should allow an entity with attribute that is an array', function () {
    @@ -328,8 +328,8 @@ describe('when parsing ER diagram it...', function () {
     
         erDiagram.parser.parse(`erDiagram\n${entity} {\n${attribute1}\n${attribute2}\n}`);
         const entities = erDb.getEntities();
    -    expect(Object.keys(entities).length).toBe(1);
    -    expect(entities[entity].attributes.length).toBe(2);
    +    expect(entities.size).toBe(1);
    +    expect(entities.get(entity).attributes.length).toBe(2);
       });
     
       it('should allow an entity with attribute that is a limited length string', function () {
    @@ -339,10 +339,10 @@ describe('when parsing ER diagram it...', function () {
     
         erDiagram.parser.parse(`erDiagram\n${entity} {\n${attribute1}\n${attribute2}\n}`);
         const entities = erDb.getEntities();
    -    expect(Object.keys(entities).length).toBe(1);
    -    expect(entities[entity].attributes.length).toBe(2);
    -    expect(entities[entity].attributes[0].attributeType).toBe('character(10)');
    -    expect(entities[entity].attributes[1].attributeType).toBe('varchar(5)');
    +    expect(entities.size).toBe(1);
    +    expect(entities.get(entity).attributes.length).toBe(2);
    +    expect(entities.get(entity).attributes[0].attributeType).toBe('character(10)');
    +    expect(entities.get(entity).attributes[1].attributeType).toBe('varchar(5)');
       });
     
       it('should allow an entity with multiple attributes to be defined', function () {
    @@ -355,7 +355,7 @@ describe('when parsing ER diagram it...', function () {
           `erDiagram\n${entity} {\n${attribute1}\n${attribute2}\n${attribute3}\n}`
         );
         const entities = erDb.getEntities();
    -    expect(entities[entity].attributes.length).toBe(3);
    +    expect(entities.get(entity).attributes.length).toBe(3);
       });
     
       it('should allow attribute definitions to be split into multiple blocks', function () {
    @@ -368,7 +368,7 @@ describe('when parsing ER diagram it...', function () {
           `erDiagram\n${entity} {\n${attribute1}\n}\n${entity} {\n${attribute2}\n${attribute3}\n}`
         );
         const entities = erDb.getEntities();
    -    expect(entities[entity].attributes.length).toBe(3);
    +    expect(entities.get(entity).attributes.length).toBe(3);
       });
     
       it('should allow an empty attribute block', function () {
    @@ -376,8 +376,8 @@ describe('when parsing ER diagram it...', function () {
     
         erDiagram.parser.parse(`erDiagram\n${entity} {}`);
         const entities = erDb.getEntities();
    -    expect(entities.hasOwnProperty('BOOK')).toBe(true);
    -    expect(entities[entity].attributes.length).toBe(0);
    +    expect(entities.has('BOOK')).toBe(true);
    +    expect(entities.get(entity).attributes.length).toBe(0);
       });
     
       it('should allow an attribute block to start immediately after the entity name', function () {
    @@ -385,8 +385,8 @@ describe('when parsing ER diagram it...', function () {
     
         erDiagram.parser.parse(`erDiagram\n${entity}{}`);
         const entities = erDb.getEntities();
    -    expect(entities.hasOwnProperty('BOOK')).toBe(true);
    -    expect(entities[entity].attributes.length).toBe(0);
    +    expect(entities.has('BOOK')).toBe(true);
    +    expect(entities.get(entity).attributes.length).toBe(0);
       });
     
       it('should allow an attribute block to be separated from the entity name by spaces', function () {
    @@ -394,8 +394,8 @@ describe('when parsing ER diagram it...', function () {
     
         erDiagram.parser.parse(`erDiagram\n${entity}         {}`);
         const entities = erDb.getEntities();
    -    expect(entities.hasOwnProperty('BOOK')).toBe(true);
    -    expect(entities[entity].attributes.length).toBe(0);
    +    expect(entities.has('BOOK')).toBe(true);
    +    expect(entities.get(entity).attributes.length).toBe(0);
       });
     
       it('should allow whitespace before and after attribute definitions', function () {
    @@ -404,8 +404,8 @@ describe('when parsing ER diagram it...', function () {
     
         erDiagram.parser.parse(`erDiagram\n${entity} {\n  \n\n  ${attribute}\n\n  \n}`);
         const entities = erDb.getEntities();
    -    expect(Object.keys(entities).length).toBe(1);
    -    expect(entities[entity].attributes.length).toBe(1);
    +    expect(entities.size).toBe(1);
    +    expect(entities.get(entity).attributes.length).toBe(1);
       });
     
       it('should allow no whitespace before and after attribute definitions', function () {
    @@ -414,8 +414,8 @@ describe('when parsing ER diagram it...', function () {
     
         erDiagram.parser.parse(`erDiagram\n${entity}{${attribute}}`);
         const entities = erDb.getEntities();
    -    expect(Object.keys(entities).length).toBe(1);
    -    expect(entities[entity].attributes.length).toBe(1);
    +    expect(entities.size).toBe(1);
    +    expect(entities.get(entity).attributes.length).toBe(1);
       });
     
       it('should associate two entities correctly', function () {
    @@ -423,8 +423,8 @@ describe('when parsing ER diagram it...', function () {
         const entities = erDb.getEntities();
         const relationships = erDb.getRelationships();
     
    -    expect(entities.hasOwnProperty('CAR')).toBe(true);
    -    expect(entities.hasOwnProperty('DRIVER')).toBe(true);
    +    expect(entities.has('CAR')).toBe(true);
    +    expect(entities.has('DRIVER')).toBe(true);
         expect(relationships.length).toBe(1);
         expect(relationships[0].relSpec.cardA).toBe(erDb.Cardinality.ZERO_OR_MORE);
         expect(relationships[0].relSpec.cardB).toBe(erDb.Cardinality.ONLY_ONE);
    @@ -437,7 +437,7 @@ describe('when parsing ER diagram it...', function () {
         erDiagram.parser.parse(`erDiagram\n${line1}\n${line2}`);
         const entities = erDb.getEntities();
     
    -    expect(Object.keys(entities).length).toBe(3);
    +    expect(entities.size).toBe(3);
       });
     
       it('should create the role specified', function () {
    @@ -451,7 +451,7 @@ describe('when parsing ER diagram it...', function () {
     
       it('should allow recursive relationships', function () {
         erDiagram.parser.parse('erDiagram\nNODE ||--o{ NODE : "leads to"');
    -    expect(Object.keys(erDb.getEntities()).length).toBe(1);
    +    expect(erDb.getEntities().size).toBe(1);
       });
     
       describe('accessible title and description', () => {
    @@ -491,7 +491,7 @@ describe('when parsing ER diagram it...', function () {
         const entities = erDb.getEntities();
         const rels = erDb.getRelationships();
     
    -    expect(Object.keys(entities).length).toBe(2);
    +    expect(entities.size).toBe(2);
         expect(rels.length).toBe(2);
       });
     
    @@ -507,7 +507,7 @@ describe('when parsing ER diagram it...', function () {
         erDiagram.parser.parse('erDiagram\nA ||--|{ B : has');
         const rels = erDb.getRelationships();
     
    -    expect(Object.keys(erDb.getEntities()).length).toBe(2);
    +    expect(erDb.getEntities().size).toBe(2);
         expect(rels.length).toBe(1);
         expect(rels[0].relSpec.cardA).toBe(erDb.Cardinality.ONE_OR_MORE);
         expect(rels[0].relSpec.cardB).toBe(erDb.Cardinality.ONLY_ONE);
    @@ -517,7 +517,7 @@ describe('when parsing ER diagram it...', function () {
         erDiagram.parser.parse('erDiagram\nA ||..o{ B : has');
         const rels = erDb.getRelationships();
     
    -    expect(Object.keys(erDb.getEntities()).length).toBe(2);
    +    expect(erDb.getEntities().size).toBe(2);
         expect(rels.length).toBe(1);
         expect(rels[0].relSpec.cardA).toBe(erDb.Cardinality.ZERO_OR_MORE);
         expect(rels[0].relSpec.cardB).toBe(erDb.Cardinality.ONLY_ONE);
    @@ -527,7 +527,7 @@ describe('when parsing ER diagram it...', function () {
         erDiagram.parser.parse('erDiagram\nA |o..o{ B : has');
         const rels = erDb.getRelationships();
     
    -    expect(Object.keys(erDb.getEntities()).length).toBe(2);
    +    expect(erDb.getEntities().size).toBe(2);
         expect(rels.length).toBe(1);
         expect(rels[0].relSpec.cardA).toBe(erDb.Cardinality.ZERO_OR_MORE);
         expect(rels[0].relSpec.cardB).toBe(erDb.Cardinality.ZERO_OR_ONE);
    @@ -537,7 +537,7 @@ describe('when parsing ER diagram it...', function () {
         erDiagram.parser.parse('erDiagram\nA |o--|{ B : has');
         const rels = erDb.getRelationships();
     
    -    expect(Object.keys(erDb.getEntities()).length).toBe(2);
    +    expect(erDb.getEntities().size).toBe(2);
         expect(rels.length).toBe(1);
         expect(rels[0].relSpec.cardA).toBe(erDb.Cardinality.ONE_OR_MORE);
         expect(rels[0].relSpec.cardB).toBe(erDb.Cardinality.ZERO_OR_ONE);
    @@ -547,7 +547,7 @@ describe('when parsing ER diagram it...', function () {
         erDiagram.parser.parse('erDiagram\nA }|--|| B : has');
         const rels = erDb.getRelationships();
     
    -    expect(Object.keys(erDb.getEntities()).length).toBe(2);
    +    expect(erDb.getEntities().size).toBe(2);
         expect(rels.length).toBe(1);
         expect(rels[0].relSpec.cardA).toBe(erDb.Cardinality.ONLY_ONE);
         expect(rels[0].relSpec.cardB).toBe(erDb.Cardinality.ONE_OR_MORE);
    @@ -557,7 +557,7 @@ describe('when parsing ER diagram it...', function () {
         erDiagram.parser.parse('erDiagram\nA }o--|| B : has');
         const rels = erDb.getRelationships();
     
    -    expect(Object.keys(erDb.getEntities()).length).toBe(2);
    +    expect(erDb.getEntities().size).toBe(2);
         expect(rels.length).toBe(1);
         expect(rels[0].relSpec.cardA).toBe(erDb.Cardinality.ONLY_ONE);
         expect(rels[0].relSpec.cardB).toBe(erDb.Cardinality.ZERO_OR_MORE);
    @@ -567,7 +567,7 @@ describe('when parsing ER diagram it...', function () {
         erDiagram.parser.parse('erDiagram\nA }o..o| B : has');
         const rels = erDb.getRelationships();
     
    -    expect(Object.keys(erDb.getEntities()).length).toBe(2);
    +    expect(erDb.getEntities().size).toBe(2);
         expect(rels.length).toBe(1);
         expect(rels[0].relSpec.cardA).toBe(erDb.Cardinality.ZERO_OR_ONE);
         expect(rels[0].relSpec.cardB).toBe(erDb.Cardinality.ZERO_OR_MORE);
    @@ -577,7 +577,7 @@ describe('when parsing ER diagram it...', function () {
         erDiagram.parser.parse('erDiagram\nA }|..o| B : has');
         const rels = erDb.getRelationships();
     
    -    expect(Object.keys(erDb.getEntities()).length).toBe(2);
    +    expect(erDb.getEntities().size).toBe(2);
         expect(rels.length).toBe(1);
         expect(rels[0].relSpec.cardA).toBe(erDb.Cardinality.ZERO_OR_ONE);
         expect(rels[0].relSpec.cardB).toBe(erDb.Cardinality.ONE_OR_MORE);
    @@ -587,7 +587,7 @@ describe('when parsing ER diagram it...', function () {
         erDiagram.parser.parse('erDiagram\nA |o..|| B : has');
         const rels = erDb.getRelationships();
     
    -    expect(Object.keys(erDb.getEntities()).length).toBe(2);
    +    expect(erDb.getEntities().size).toBe(2);
         expect(rels.length).toBe(1);
         expect(rels[0].relSpec.cardA).toBe(erDb.Cardinality.ONLY_ONE);
         expect(rels[0].relSpec.cardB).toBe(erDb.Cardinality.ZERO_OR_ONE);
    @@ -597,7 +597,7 @@ describe('when parsing ER diagram it...', function () {
         erDiagram.parser.parse('erDiagram\nA ||..|| B : has');
         const rels = erDb.getRelationships();
     
    -    expect(Object.keys(erDb.getEntities()).length).toBe(2);
    +    expect(erDb.getEntities().size).toBe(2);
         expect(rels.length).toBe(1);
         expect(rels[0].relSpec.cardA).toBe(erDb.Cardinality.ONLY_ONE);
         expect(rels[0].relSpec.cardB).toBe(erDb.Cardinality.ONLY_ONE);
    @@ -607,7 +607,7 @@ describe('when parsing ER diagram it...', function () {
         erDiagram.parser.parse('erDiagram\nA ||--o| B : has');
         const rels = erDb.getRelationships();
     
    -    expect(Object.keys(erDb.getEntities()).length).toBe(2);
    +    expect(erDb.getEntities().size).toBe(2);
         expect(rels.length).toBe(1);
         expect(rels[0].relSpec.cardA).toBe(erDb.Cardinality.ZERO_OR_ONE);
         expect(rels[0].relSpec.cardB).toBe(erDb.Cardinality.ONLY_ONE);
    @@ -617,7 +617,7 @@ describe('when parsing ER diagram it...', function () {
         erDiagram.parser.parse('erDiagram\nA |o..o| B : has');
         const rels = erDb.getRelationships();
     
    -    expect(Object.keys(erDb.getEntities()).length).toBe(2);
    +    expect(erDb.getEntities().size).toBe(2);
         expect(rels.length).toBe(1);
         expect(rels[0].relSpec.cardA).toBe(erDb.Cardinality.ZERO_OR_ONE);
         expect(rels[0].relSpec.cardB).toBe(erDb.Cardinality.ZERO_OR_ONE);
    @@ -627,7 +627,7 @@ describe('when parsing ER diagram it...', function () {
         erDiagram.parser.parse('erDiagram\nA }o--o{ B : has');
         const rels = erDb.getRelationships();
     
    -    expect(Object.keys(erDb.getEntities()).length).toBe(2);
    +    expect(erDb.getEntities().size).toBe(2);
         expect(rels.length).toBe(1);
         expect(rels[0].relSpec.cardA).toBe(erDb.Cardinality.ZERO_OR_MORE);
         expect(rels[0].relSpec.cardB).toBe(erDb.Cardinality.ZERO_OR_MORE);
    @@ -637,7 +637,7 @@ describe('when parsing ER diagram it...', function () {
         erDiagram.parser.parse('erDiagram\nA }|..|{ B : has');
         const rels = erDb.getRelationships();
     
    -    expect(Object.keys(erDb.getEntities()).length).toBe(2);
    +    expect(erDb.getEntities().size).toBe(2);
         expect(rels.length).toBe(1);
         expect(rels[0].relSpec.cardA).toBe(erDb.Cardinality.ONE_OR_MORE);
         expect(rels[0].relSpec.cardB).toBe(erDb.Cardinality.ONE_OR_MORE);
    @@ -647,7 +647,7 @@ describe('when parsing ER diagram it...', function () {
         erDiagram.parser.parse('erDiagram\nA }o--|{ B : has');
         const rels = erDb.getRelationships();
     
    -    expect(Object.keys(erDb.getEntities()).length).toBe(2);
    +    expect(erDb.getEntities().size).toBe(2);
         expect(rels.length).toBe(1);
         expect(rels[0].relSpec.cardA).toBe(erDb.Cardinality.ONE_OR_MORE);
         expect(rels[0].relSpec.cardB).toBe(erDb.Cardinality.ZERO_OR_MORE);
    @@ -657,7 +657,7 @@ describe('when parsing ER diagram it...', function () {
         erDiagram.parser.parse('erDiagram\nA }|..o{ B : has');
         const rels = erDb.getRelationships();
     
    -    expect(Object.keys(erDb.getEntities()).length).toBe(2);
    +    expect(erDb.getEntities().size).toBe(2);
         expect(rels.length).toBe(1);
         expect(rels[0].relSpec.cardA).toBe(erDb.Cardinality.ZERO_OR_MORE);
         expect(rels[0].relSpec.cardB).toBe(erDb.Cardinality.ONE_OR_MORE);
    @@ -667,7 +667,7 @@ describe('when parsing ER diagram it...', function () {
         erDiagram.parser.parse('erDiagram\nA one or zero to many B : has');
         const rels = erDb.getRelationships();
     
    -    expect(Object.keys(erDb.getEntities()).length).toBe(2);
    +    expect(erDb.getEntities().size).toBe(2);
         expect(rels.length).toBe(1);
         expect(rels[0].relSpec.cardA).toBe(erDb.Cardinality.ZERO_OR_MORE);
         expect(rels[0].relSpec.cardB).toBe(erDb.Cardinality.ZERO_OR_ONE);
    @@ -677,7 +677,7 @@ describe('when parsing ER diagram it...', function () {
         erDiagram.parser.parse('erDiagram\nA one or many optionally to zero or one B : has');
         const rels = erDb.getRelationships();
     
    -    expect(Object.keys(erDb.getEntities()).length).toBe(2);
    +    expect(erDb.getEntities().size).toBe(2);
         expect(rels.length).toBe(1);
         expect(rels[0].relSpec.cardA).toBe(erDb.Cardinality.ZERO_OR_ONE);
         expect(rels[0].relSpec.cardB).toBe(erDb.Cardinality.ONE_OR_MORE);
    @@ -687,7 +687,7 @@ describe('when parsing ER diagram it...', function () {
         erDiagram.parser.parse('erDiagram\nA zero or more to zero or many B : has');
         const rels = erDb.getRelationships();
     
    -    expect(Object.keys(erDb.getEntities()).length).toBe(2);
    +    expect(erDb.getEntities().size).toBe(2);
         expect(rels.length).toBe(1);
         expect(rels[0].relSpec.cardA).toBe(erDb.Cardinality.ZERO_OR_MORE);
         expect(rels[0].relSpec.cardB).toBe(erDb.Cardinality.ZERO_OR_MORE);
    @@ -697,7 +697,7 @@ describe('when parsing ER diagram it...', function () {
         erDiagram.parser.parse('erDiagram\nA many(0) to many(1) B : has');
         const rels = erDb.getRelationships();
     
    -    expect(Object.keys(erDb.getEntities()).length).toBe(2);
    +    expect(erDb.getEntities().size).toBe(2);
         expect(rels.length).toBe(1);
         expect(rels[0].relSpec.cardA).toBe(erDb.Cardinality.ONE_OR_MORE);
         expect(rels[0].relSpec.cardB).toBe(erDb.Cardinality.ZERO_OR_MORE);
    @@ -707,7 +707,7 @@ describe('when parsing ER diagram it...', function () {
         erDiagram.parser.parse('erDiagram\nA many optionally to one B : has');
         const rels = erDb.getRelationships();
     
    -    expect(Object.keys(erDb.getEntities()).length).toBe(2);
    +    expect(erDb.getEntities().size).toBe(2);
         expect(rels.length).toBe(1);
         expect(rels[0].relSpec.cardA).toBe(erDb.Cardinality.ONLY_ONE);
         expect(rels[0].relSpec.cardB).toBe(erDb.Cardinality.ZERO_OR_MORE);
    @@ -717,7 +717,7 @@ describe('when parsing ER diagram it...', function () {
         erDiagram.parser.parse('erDiagram\nA only one optionally to 1+ B : has');
         const rels = erDb.getRelationships();
     
    -    expect(Object.keys(erDb.getEntities()).length).toBe(2);
    +    expect(erDb.getEntities().size).toBe(2);
         expect(rels.length).toBe(1);
         expect(rels[0].relSpec.cardA).toBe(erDb.Cardinality.ONE_OR_MORE);
         expect(rels[0].relSpec.cardB).toBe(erDb.Cardinality.ONLY_ONE);
    @@ -727,7 +727,7 @@ describe('when parsing ER diagram it...', function () {
         erDiagram.parser.parse('erDiagram\nA 0+ optionally to 1 B : has');
         const rels = erDb.getRelationships();
     
    -    expect(Object.keys(erDb.getEntities()).length).toBe(2);
    +    expect(erDb.getEntities().size).toBe(2);
         expect(rels.length).toBe(1);
         expect(rels[0].relSpec.cardA).toBe(erDb.Cardinality.ONLY_ONE);
         expect(rels[0].relSpec.cardB).toBe(erDb.Cardinality.ZERO_OR_MORE);
    @@ -786,7 +786,7 @@ describe('when parsing ER diagram it...', function () {
         it('should represent parent-child relationship correctly', function () {
           erDiagram.parser.parse('erDiagram\nPROJECT u--o{ TEAM_MEMBER : "parent"');
           const rels = erDb.getRelationships();
    -      expect(Object.keys(erDb.getEntities()).length).toBe(2);
    +      expect(erDb.getEntities().size).toBe(2);
           expect(rels.length).toBe(1);
           expect(rels[0].relSpec.cardB).toBe(erDb.Cardinality.MD_PARENT);
           expect(rels[0].relSpec.cardA).toBe(erDb.Cardinality.ZERO_OR_MORE);
    diff --git a/packages/mermaid/src/diagrams/flowchart/flowDb.spec.ts b/packages/mermaid/src/diagrams/flowchart/flowDb.spec.ts
    index 68c03bdeb0..464faa1824 100644
    --- a/packages/mermaid/src/diagrams/flowchart/flowDb.spec.ts
    +++ b/packages/mermaid/src/diagrams/flowchart/flowDb.spec.ts
    @@ -51,17 +51,17 @@ describe('flow db addClass', () => {
         flowDb.addClass('a,b', ['stroke-width: 8px']);
         const classes = flowDb.getClasses();
     
    -    expect(classes.hasOwnProperty('a')).toBe(true);
    -    expect(classes.hasOwnProperty('b')).toBe(true);
    -    expect(classes['a']['styles']).toEqual(['stroke-width: 8px']);
    -    expect(classes['b']['styles']).toEqual(['stroke-width: 8px']);
    +    expect(classes.has('a')).toBe(true);
    +    expect(classes.has('b')).toBe(true);
    +    expect(classes.get('a')?.['styles']).toEqual(['stroke-width: 8px']);
    +    expect(classes.get('b')?.['styles']).toEqual(['stroke-width: 8px']);
       });
     
       it('should detect single class', () => {
         flowDb.addClass('a', ['stroke-width: 8px']);
         const classes = flowDb.getClasses();
     
    -    expect(classes.hasOwnProperty('a')).toBe(true);
    -    expect(classes['a']['styles']).toEqual(['stroke-width: 8px']);
    +    expect(classes.has('a')).toBe(true);
    +    expect(classes.get('a')?.['styles']).toEqual(['stroke-width: 8px']);
       });
     });
    diff --git a/packages/mermaid/src/diagrams/flowchart/flowDb.ts b/packages/mermaid/src/diagrams/flowchart/flowDb.ts
    index e84d7fd0c3..d90cead4d0 100644
    --- a/packages/mermaid/src/diagrams/flowchart/flowDb.ts
    +++ b/packages/mermaid/src/diagrams/flowchart/flowDb.ts
    @@ -17,12 +17,12 @@ import type { FlowVertex, FlowClass, FlowSubGraph, FlowText, FlowEdge, FlowLink
     const MERMAID_DOM_ID_PREFIX = 'flowchart-';
     let vertexCounter = 0;
     let config = getConfig();
    -let vertices: Record = {};
    +let vertices: Map = new Map();
     let edges: FlowEdge[] & { defaultInterpolate?: string; defaultStyle?: string[] } = [];
    -let classes: Record = {};
    +let classes: Map = new Map();
     let subGraphs: FlowSubGraph[] = [];
    -let subGraphLookup: Record = {};
    -let tooltips: Record = {};
    +let subGraphLookup: Map = new Map();
    +let tooltips: Map = new Map();
     let subCount = 0;
     let firstGraphFlag = true;
     let direction: string;
    @@ -40,10 +40,10 @@ const sanitizeText = (txt: string) => common.sanitizeText(txt, config);
      * @param id - id of the node
      */
     export const lookUpDomId = function (id: string) {
    -  const vertexKeys = Object.keys(vertices);
    +  const vertexKeys = vertices.keys();
       for (const vertexKey of vertexKeys) {
    -    if (vertices[vertexKey].id === id) {
    -      return vertices[vertexKey].domId;
    +    if (vertices.get(vertexKey)!.id === id) {
    +      return vertices.get(vertexKey)!.domId;
         }
       }
       return id;
    @@ -67,50 +67,52 @@ export const addVertex = function (
       }
       let txt;
     
    -  if (vertices[id] === undefined) {
    -    vertices[id] = {
    +  if (!vertices.has(id)) {
    +    vertices.set(id, {
           id,
           labelType: 'text',
           domId: MERMAID_DOM_ID_PREFIX + id + '-' + vertexCounter,
           styles: [],
           classes: [],
    -    };
    +    });
       }
       vertexCounter++;
    +  const vertex = vertices.get(id)!;
    +
       if (textObj !== undefined) {
         config = getConfig();
         txt = sanitizeText(textObj.text.trim());
    -    vertices[id].labelType = textObj.type;
    +    vertex.labelType = textObj.type;
         // strip quotes if string starts and ends with a quote
         if (txt[0] === '"' && txt[txt.length - 1] === '"') {
           txt = txt.substring(1, txt.length - 1);
         }
    -    vertices[id].text = txt;
    +    vertex.text = txt;
       } else {
    -    if (vertices[id].text === undefined) {
    -      vertices[id].text = id;
    +    if (vertex.text === undefined) {
    +      vertex.text = id;
         }
       }
       if (type !== undefined) {
    -    vertices[id].type = type;
    +    vertex.type = type;
       }
       if (style !== undefined && style !== null) {
         style.forEach(function (s) {
    -      vertices[id].styles.push(s);
    +      vertex.styles.push(s);
         });
       }
       if (classes !== undefined && classes !== null) {
         classes.forEach(function (s) {
    -      vertices[id].classes.push(s);
    +      vertex.classes.push(s);
         });
       }
       if (dir !== undefined) {
    -    vertices[id].dir = dir;
    +    vertex.dir = dir;
       }
    -  if (vertices[id].props === undefined) {
    -    vertices[id].props = props;
    +  if (vertex.props === undefined) {
    +    vertex.props = props;
       } else if (props !== undefined) {
    -    Object.assign(vertices[id].props, props);
    +    Object.assign(vertex.props, props);
       }
     };
     
    @@ -208,17 +210,17 @@ export const updateLink = function (positions: ('default' | number)[], style: st
     
     export const addClass = function (ids: string, style: string[]) {
       ids.split(',').forEach(function (id) {
    -    if (classes[id] === undefined) {
    -      classes[id] = { id, styles: [], textStyles: [] };
    +    if (!classes.has(id)) {
    +      classes.set(id, { id, styles: [], textStyles: [] });
         }
     
         if (style !== undefined && style !== null) {
           style.forEach(function (s) {
             if (s.match('color')) {
               const newStyle = s.replace('fill', 'bgFill').replace('color', 'fill');
    -          classes[id].textStyles.push(newStyle);
    +          classes.get(id)!.textStyles.push(newStyle);
             }
    -        classes[id].styles.push(s);
    +        classes.get(id)!.styles.push(s);
           });
         }
       });
    @@ -255,11 +257,11 @@ export const setDirection = function (dir: string) {
      */
     export const setClass = function (ids: string, className: string) {
       for (const id of ids.split(',')) {
    -    if (vertices[id]) {
    -      vertices[id].classes.push(className);
    +    if (vertices.has(id)) {
    +      vertices.get(id)!.classes.push(className);
         }
    -    if (subGraphLookup[id]) {
    -      subGraphLookup[id].classes.push(className);
    +    if (subGraphLookup.has(id)) {
    +      subGraphLookup.get(id)!.classes.push(className);
         }
       }
     };
    @@ -270,7 +272,7 @@ const setTooltip = function (ids: string, tooltip: string) {
       }
       tooltip = sanitizeText(tooltip);
       for (const id of ids.split(',')) {
    -    tooltips[version === 'gen-1' ? lookUpDomId(id) : id] = tooltip;
    +    tooltips.set(version === 'gen-1' ? lookUpDomId(id) : id, tooltip);
       }
     };
     
    @@ -303,8 +305,8 @@ const setClickFun = function (id: string, functionName: string, functionArgs: st
         argList.push(id);
       }
     
    -  if (vertices[id] !== undefined) {
    -    vertices[id].haveCallback = true;
    +  if (vertices.has(id)) {
    +    vertices.get(id)!.haveCallback = true;
         funs.push(function () {
           const elem = document.querySelector(`[id="${domId}"]`);
           if (elem !== null) {
    @@ -329,17 +331,18 @@ const setClickFun = function (id: string, functionName: string, functionArgs: st
      */
     export const setLink = function (ids: string, linkStr: string, target: string) {
       ids.split(',').forEach(function (id) {
    -    if (vertices[id] !== undefined) {
    -      vertices[id].link = utils.formatUrl(linkStr, config);
    -      vertices[id].linkTarget = target;
    +    const vertex = vertices.get(id)!;
    +    if (vertex !== undefined) {
    +      vertex.link = utils.formatUrl(linkStr, config);
    +      vertex.linkTarget = target;
         }
       });
       setClass(ids, 'clickable');
     };
     
     export const getTooltip = function (id: string) {
    -  if (tooltips.hasOwnProperty(id)) {
    -    return tooltips[id];
    +  if (tooltips.has(id)) {
    +    return tooltips.get(id)!;
       }
       return undefined;
     };
    @@ -435,14 +438,14 @@ funs.push(setupToolTips);
      *
      */
     export const clear = function (ver = 'gen-1') {
    -  vertices = {};
    -  classes = {};
    +  vertices = new Map();
    +  classes = new Map();
       edges = [];
       funs = [setupToolTips];
       subGraphs = [];
    -  subGraphLookup = {};
    +  subGraphLookup = new Map();
       subCount = 0;
    -  tooltips = {};
    +  tooltips = new Map();
       firstGraphFlag = true;
       version = ver;
       config = getConfig();
    @@ -516,7 +519,7 @@ export const addSubGraph = function (
       // Remove the members in the new subgraph if they already belong to another subgraph
       subGraph.nodes = makeUniq(subGraph, subGraphs).nodes;
       subGraphs.push(subGraph);
    -  subGraphLookup[id] = subGraph;
    +  subGraphLookup.set(id, subGraph);
       return id;
     };
     
    diff --git a/packages/mermaid/src/diagrams/flowchart/flowRenderer-v2.js b/packages/mermaid/src/diagrams/flowchart/flowRenderer-v2.js
    index f27d8e3532..061d370383 100644
    --- a/packages/mermaid/src/diagrams/flowchart/flowRenderer-v2.js
    +++ b/packages/mermaid/src/diagrams/flowchart/flowRenderer-v2.js
    @@ -29,11 +29,11 @@ export const setConf = function (cnf) {
      */
     export const addVertices = async function (vert, g, svgId, root, doc, diagObj) {
       const svg = root.select(`[id="${svgId}"]`);
    -  const keys = Object.keys(vert);
    +  const keys = vert.keys();
     
       // Iterate through each item in the vertex object (containing all the vertices found) in the graph definition
       for (const id of keys) {
    -    const vertex = vert[id];
    +    const vertex = vert.get(id);
     
         /**
          * Variable for storing the classes for the vertex
    @@ -336,7 +336,7 @@ export const addEdges = async function (edges, g, diagObj) {
      *
      * @param text
      * @param diagObj
    - * @returns {Record} ClassDef styles
    + * @returns {Map} ClassDef styles
      */
     export const getClasses = function (text, diagObj) {
       return diagObj.db.getClasses();
    @@ -463,9 +463,9 @@ export const draw = async function (text, id, _version, diagObj) {
       }
     
       // If node has a link, wrap it in an anchor SVG object.
    -  const keys = Object.keys(vert);
    -  keys.forEach(function (key) {
    -    const vertex = vert[key];
    +  const keys = [...vert.keys()];
    +  keys.forEach((key) => {
    +    const vertex = vert.get(key);
     
         if (vertex.link) {
           const node = select('#' + id + ' [id="' + key + '"]');
    diff --git a/packages/mermaid/src/diagrams/flowchart/flowRenderer.js b/packages/mermaid/src/diagrams/flowchart/flowRenderer.js
    index b2e6bcc9cb..d45b95616d 100644
    --- a/packages/mermaid/src/diagrams/flowchart/flowRenderer.js
    +++ b/packages/mermaid/src/diagrams/flowchart/flowRenderer.js
    @@ -265,7 +265,7 @@ export const addEdges = async function (edges, g, diagObj) {
      *
      * @param text
      * @param diagObj
    - * @returns {Record} ClassDef styles
    + * @returns {Map} ClassDef styles
      */
     export const getClasses = function (text, diagObj) {
       log.info('Extracting classes');
    @@ -452,9 +452,9 @@ export const draw = async function (text, id, _version, diagObj) {
       setupGraphViewbox(g, svg, conf.diagramPadding, conf.useMaxWidth);
     
       // If node has a link, wrap it in an anchor SVG object.
    -  const keys = Object.keys(vert);
    +  const keys = [...vert.keys()];
       keys.forEach(function (key) {
    -    const vertex = vert[key];
    +    const vertex = vert.get(key);
     
         if (vertex.link) {
           const node = root.select('#' + id + ' [id="' + diagObj.db.lookUpDomId(key) + '"]');
    diff --git a/packages/mermaid/src/diagrams/flowchart/parser/flow-arrows.spec.js b/packages/mermaid/src/diagrams/flowchart/parser/flow-arrows.spec.js
    index 699aa333d0..e89398ab40 100644
    --- a/packages/mermaid/src/diagrams/flowchart/parser/flow-arrows.spec.js
    +++ b/packages/mermaid/src/diagrams/flowchart/parser/flow-arrows.spec.js
    @@ -18,8 +18,8 @@ describe('[Arrows] when parsing', () => {
         const vert = flow.parser.yy.getVertices();
         const edges = flow.parser.yy.getEdges();
     
    -    expect(vert['A'].id).toBe('A');
    -    expect(vert['B'].id).toBe('B');
    +    expect(vert.get('A').id).toBe('A');
    +    expect(vert.get('B').id).toBe('B');
         expect(edges.length).toBe(1);
         expect(edges[0].start).toBe('A');
         expect(edges[0].end).toBe('B');
    @@ -38,8 +38,8 @@ describe('[Arrows] when parsing', () => {
     
         expect(direction).toBe('LR');
     
    -    expect(vert['A'].id).toBe('A');
    -    expect(vert['B'].id).toBe('B');
    +    expect(vert.get('A').id).toBe('A');
    +    expect(vert.get('B').id).toBe('B');
         expect(edges.length).toBe(1);
         expect(edges[0].start).toBe('A');
         expect(edges[0].end).toBe('B');
    @@ -58,8 +58,8 @@ describe('[Arrows] when parsing', () => {
     
         expect(direction).toBe('RL');
     
    -    expect(vert['A'].id).toBe('A');
    -    expect(vert['B'].id).toBe('B');
    +    expect(vert.get('A').id).toBe('A');
    +    expect(vert.get('B').id).toBe('B');
         expect(edges.length).toBe(1);
         expect(edges[0].start).toBe('A');
         expect(edges[0].end).toBe('B');
    @@ -78,8 +78,8 @@ describe('[Arrows] when parsing', () => {
     
         expect(direction).toBe('BT');
     
    -    expect(vert['A'].id).toBe('A');
    -    expect(vert['B'].id).toBe('B');
    +    expect(vert.get('A').id).toBe('A');
    +    expect(vert.get('B').id).toBe('B');
         expect(edges.length).toBe(1);
         expect(edges[0].start).toBe('A');
         expect(edges[0].end).toBe('B');
    @@ -99,8 +99,8 @@ describe('[Arrows] when parsing', () => {
     
         expect(direction).toBe('TB');
     
    -    expect(vert['A'].id).toBe('A');
    -    expect(vert['B'].id).toBe('B');
    +    expect(vert.get('A').id).toBe('A');
    +    expect(vert.get('B').id).toBe('B');
         expect(edges.length).toBe(1);
         expect(edges[0].start).toBe('A');
         expect(edges[0].end).toBe('B');
    @@ -116,8 +116,8 @@ describe('[Arrows] when parsing', () => {
         const vert = flow.parser.yy.getVertices();
         const edges = flow.parser.yy.getEdges();
     
    -    expect(vert['A'].id).toBe('A');
    -    expect(vert['B'].id).toBe('B');
    +    expect(vert.get('A').id).toBe('A');
    +    expect(vert.get('B').id).toBe('B');
         expect(edges.length).toBe(1);
         expect(edges[0].start).toBe('A');
         expect(edges[0].end).toBe('B');
    @@ -133,8 +133,8 @@ describe('[Arrows] when parsing', () => {
         const vert = flow.parser.yy.getVertices();
         const edges = flow.parser.yy.getEdges();
     
    -    expect(vert['A'].id).toBe('A');
    -    expect(vert['B'].id).toBe('B');
    +    expect(vert.get('A').id).toBe('A');
    +    expect(vert.get('B').id).toBe('B');
         expect(edges.length).toBe(1);
         expect(edges[0].start).toBe('A');
         expect(edges[0].end).toBe('B');
    @@ -150,8 +150,8 @@ describe('[Arrows] when parsing', () => {
         const vert = flow.parser.yy.getVertices();
         const edges = flow.parser.yy.getEdges();
     
    -    expect(vert['A'].id).toBe('A');
    -    expect(vert['B'].id).toBe('B');
    +    expect(vert.get('A').id).toBe('A');
    +    expect(vert.get('B').id).toBe('B');
         expect(edges.length).toBe(2);
         expect(edges[1].start).toBe('B');
         expect(edges[1].end).toBe('C');
    @@ -169,8 +169,8 @@ describe('[Arrows] when parsing', () => {
             const vert = flow.parser.yy.getVertices();
             const edges = flow.parser.yy.getEdges();
     
    -        expect(vert['A'].id).toBe('A');
    -        expect(vert['B'].id).toBe('B');
    +        expect(vert.get('A').id).toBe('A');
    +        expect(vert.get('B').id).toBe('B');
             expect(edges.length).toBe(1);
             expect(edges[0].start).toBe('A');
             expect(edges[0].end).toBe('B');
    @@ -186,8 +186,8 @@ describe('[Arrows] when parsing', () => {
             const vert = flow.parser.yy.getVertices();
             const edges = flow.parser.yy.getEdges();
     
    -        expect(vert['A'].id).toBe('A');
    -        expect(vert['B'].id).toBe('B');
    +        expect(vert.get('A').id).toBe('A');
    +        expect(vert.get('B').id).toBe('B');
             expect(edges.length).toBe(1);
             expect(edges[0].start).toBe('A');
             expect(edges[0].end).toBe('B');
    @@ -203,8 +203,8 @@ describe('[Arrows] when parsing', () => {
             const vert = flow.parser.yy.getVertices();
             const edges = flow.parser.yy.getEdges();
     
    -        expect(vert['A'].id).toBe('A');
    -        expect(vert['B'].id).toBe('B');
    +        expect(vert.get('A').id).toBe('A');
    +        expect(vert.get('B').id).toBe('B');
             expect(edges.length).toBe(1);
             expect(edges[0].start).toBe('A');
             expect(edges[0].end).toBe('B');
    @@ -220,8 +220,8 @@ describe('[Arrows] when parsing', () => {
             const vert = flow.parser.yy.getVertices();
             const edges = flow.parser.yy.getEdges();
     
    -        expect(vert['A'].id).toBe('A');
    -        expect(vert['B'].id).toBe('B');
    +        expect(vert.get('A').id).toBe('A');
    +        expect(vert.get('B').id).toBe('B');
             expect(edges.length).toBe(1);
             expect(edges[0].start).toBe('A');
             expect(edges[0].end).toBe('B');
    @@ -237,8 +237,8 @@ describe('[Arrows] when parsing', () => {
             const vert = flow.parser.yy.getVertices();
             const edges = flow.parser.yy.getEdges();
     
    -        expect(vert['A'].id).toBe('A');
    -        expect(vert['B'].id).toBe('B');
    +        expect(vert.get('A').id).toBe('A');
    +        expect(vert.get('B').id).toBe('B');
             expect(edges.length).toBe(1);
             expect(edges[0].start).toBe('A');
             expect(edges[0].end).toBe('B');
    @@ -254,8 +254,8 @@ describe('[Arrows] when parsing', () => {
             const vert = flow.parser.yy.getVertices();
             const edges = flow.parser.yy.getEdges();
     
    -        expect(vert['A'].id).toBe('A');
    -        expect(vert['B'].id).toBe('B');
    +        expect(vert.get('A').id).toBe('A');
    +        expect(vert.get('B').id).toBe('B');
             expect(edges.length).toBe(1);
             expect(edges[0].start).toBe('A');
             expect(edges[0].end).toBe('B');
    diff --git a/packages/mermaid/src/diagrams/flowchart/parser/flow-comments.spec.js b/packages/mermaid/src/diagrams/flowchart/parser/flow-comments.spec.js
    index 4b0b0c830b..9c2a740af5 100644
    --- a/packages/mermaid/src/diagrams/flowchart/parser/flow-comments.spec.js
    +++ b/packages/mermaid/src/diagrams/flowchart/parser/flow-comments.spec.js
    @@ -19,8 +19,8 @@ describe('[Comments] when parsing', () => {
         const vert = flow.parser.yy.getVertices();
         const edges = flow.parser.yy.getEdges();
     
    -    expect(vert['A'].id).toBe('A');
    -    expect(vert['B'].id).toBe('B');
    +    expect(vert.get('A').id).toBe('A');
    +    expect(vert.get('B').id).toBe('B');
         expect(edges.length).toBe(1);
         expect(edges[0].start).toBe('A');
         expect(edges[0].end).toBe('B');
    @@ -34,8 +34,8 @@ describe('[Comments] when parsing', () => {
         const vert = flow.parser.yy.getVertices();
         const edges = flow.parser.yy.getEdges();
     
    -    expect(vert['A'].id).toBe('A');
    -    expect(vert['B'].id).toBe('B');
    +    expect(vert.get('A').id).toBe('A');
    +    expect(vert.get('B').id).toBe('B');
         expect(edges.length).toBe(1);
         expect(edges[0].start).toBe('A');
         expect(edges[0].end).toBe('B');
    @@ -49,8 +49,8 @@ describe('[Comments] when parsing', () => {
         const vert = flow.parser.yy.getVertices();
         const edges = flow.parser.yy.getEdges();
     
    -    expect(vert['A'].id).toBe('A');
    -    expect(vert['B'].id).toBe('B');
    +    expect(vert.get('A').id).toBe('A');
    +    expect(vert.get('B').id).toBe('B');
         expect(edges.length).toBe(1);
         expect(edges[0].start).toBe('A');
         expect(edges[0].end).toBe('B');
    @@ -64,8 +64,8 @@ describe('[Comments] when parsing', () => {
         const vert = flow.parser.yy.getVertices();
         const edges = flow.parser.yy.getEdges();
     
    -    expect(vert['A'].id).toBe('A');
    -    expect(vert['B'].id).toBe('B');
    +    expect(vert.get('A').id).toBe('A');
    +    expect(vert.get('B').id).toBe('B');
         expect(edges.length).toBe(1);
         expect(edges[0].start).toBe('A');
         expect(edges[0].end).toBe('B');
    @@ -79,8 +79,8 @@ describe('[Comments] when parsing', () => {
         const vert = flow.parser.yy.getVertices();
         const edges = flow.parser.yy.getEdges();
     
    -    expect(vert['A'].id).toBe('A');
    -    expect(vert['B'].id).toBe('B');
    +    expect(vert.get('A').id).toBe('A');
    +    expect(vert.get('B').id).toBe('B');
         expect(edges.length).toBe(1);
         expect(edges[0].start).toBe('A');
         expect(edges[0].end).toBe('B');
    @@ -94,8 +94,8 @@ describe('[Comments] when parsing', () => {
         const vert = flow.parser.yy.getVertices();
         const edges = flow.parser.yy.getEdges();
     
    -    expect(vert['A'].id).toBe('A');
    -    expect(vert['B'].id).toBe('B');
    +    expect(vert.get('A').id).toBe('A');
    +    expect(vert.get('B').id).toBe('B');
         expect(edges.length).toBe(1);
         expect(edges[0].start).toBe('A');
         expect(edges[0].end).toBe('B');
    @@ -109,8 +109,8 @@ describe('[Comments] when parsing', () => {
         const vert = flow.parser.yy.getVertices();
         const edges = flow.parser.yy.getEdges();
     
    -    expect(vert['A'].id).toBe('A');
    -    expect(vert['B'].id).toBe('B');
    +    expect(vert.get('A').id).toBe('A');
    +    expect(vert.get('B').id).toBe('B');
         expect(edges.length).toBe(1);
         expect(edges[0].start).toBe('A');
         expect(edges[0].end).toBe('B');
    @@ -124,8 +124,8 @@ describe('[Comments] when parsing', () => {
         const vert = flow.parser.yy.getVertices();
         const edges = flow.parser.yy.getEdges();
     
    -    expect(vert['A'].id).toBe('A');
    -    expect(vert['B'].id).toBe('B');
    +    expect(vert.get('A').id).toBe('A');
    +    expect(vert.get('B').id).toBe('B');
         expect(edges.length).toBe(1);
         expect(edges[0].start).toBe('A');
         expect(edges[0].end).toBe('B');
    @@ -143,8 +143,8 @@ describe('[Comments] when parsing', () => {
         const vert = flow.parser.yy.getVertices();
         const edges = flow.parser.yy.getEdges();
     
    -    expect(vert['A'].id).toBe('A');
    -    expect(vert['B'].id).toBe('B');
    +    expect(vert.get('A').id).toBe('A');
    +    expect(vert.get('B').id).toBe('B');
         expect(edges.length).toBe(1);
         expect(edges[0].start).toBe('A');
         expect(edges[0].end).toBe('B');
    diff --git a/packages/mermaid/src/diagrams/flowchart/parser/flow-edges.spec.js b/packages/mermaid/src/diagrams/flowchart/parser/flow-edges.spec.js
    index 21f3a43555..4ae289bad6 100644
    --- a/packages/mermaid/src/diagrams/flowchart/parser/flow-edges.spec.js
    +++ b/packages/mermaid/src/diagrams/flowchart/parser/flow-edges.spec.js
    @@ -48,8 +48,6 @@ describe('[Edges] when parsing', () => {
     
       it('should handle open ended edges', function () {
         const res = flow.parser.parse('graph TD;A---B;');
    -
    -    const vert = flow.parser.yy.getVertices();
         const edges = flow.parser.yy.getEdges();
     
         expect(edges[0].type).toBe('arrow_open');
    @@ -57,8 +55,6 @@ describe('[Edges] when parsing', () => {
     
       it('should handle cross ended edges', function () {
         const res = flow.parser.parse('graph TD;A--xB;');
    -
    -    const vert = flow.parser.yy.getVertices();
         const edges = flow.parser.yy.getEdges();
     
         expect(edges[0].type).toBe('arrow_cross');
    @@ -66,8 +62,6 @@ describe('[Edges] when parsing', () => {
     
       it('should handle open ended edges', function () {
         const res = flow.parser.parse('graph TD;A--oB;');
    -
    -    const vert = flow.parser.yy.getVertices();
         const edges = flow.parser.yy.getEdges();
     
         expect(edges[0].type).toBe('arrow_circle');
    @@ -81,8 +75,8 @@ describe('[Edges] when parsing', () => {
             const vert = flow.parser.yy.getVertices();
             const edges = flow.parser.yy.getEdges();
     
    -        expect(vert['A'].id).toBe('A');
    -        expect(vert['B'].id).toBe('B');
    +        expect(vert.get('A').id).toBe('A');
    +        expect(vert.get('B').id).toBe('B');
             expect(edges.length).toBe(1);
             expect(edges[0].start).toBe('A');
             expect(edges[0].end).toBe('B');
    @@ -99,8 +93,8 @@ describe('[Edges] when parsing', () => {
             const vert = flow.parser.yy.getVertices();
             const edges = flow.parser.yy.getEdges();
     
    -        expect(vert['A'].id).toBe('A');
    -        expect(vert['B'].id).toBe('B');
    +        expect(vert.get('A').id).toBe('A');
    +        expect(vert.get('B').id).toBe('B');
             expect(edges.length).toBe(1);
             expect(edges[0].start).toBe('A');
             expect(edges[0].end).toBe('B');
    @@ -119,8 +113,8 @@ describe('[Edges] when parsing', () => {
               const vert = flow.parser.yy.getVertices();
               const edges = flow.parser.yy.getEdges();
     
    -          expect(vert['A'].id).toBe('A');
    -          expect(vert['B'].id).toBe('B');
    +          expect(vert.get('A').id).toBe('A');
    +          expect(vert.get('B').id).toBe('B');
               expect(edges.length).toBe(1);
               expect(edges[0].start).toBe('A');
               expect(edges[0].end).toBe('B');
    @@ -139,8 +133,8 @@ describe('[Edges] when parsing', () => {
         const vert = flow.parser.yy.getVertices();
         const edges = flow.parser.yy.getEdges();
     
    -    expect(vert['A'].id).toBe('A');
    -    expect(vert['B'].id).toBe('B');
    +    expect(vert.get('A').id).toBe('A');
    +    expect(vert.get('B').id).toBe('B');
         expect(edges.length).toBe(2);
         expect(edges[0].start).toBe('A');
         expect(edges[0].end).toBe('B');
    @@ -164,8 +158,8 @@ describe('[Edges] when parsing', () => {
             const vert = flow.parser.yy.getVertices();
             const edges = flow.parser.yy.getEdges();
     
    -        expect(vert['A'].id).toBe('A');
    -        expect(vert['B'].id).toBe('B');
    +        expect(vert.get('A').id).toBe('A');
    +        expect(vert.get('B').id).toBe('B');
             expect(edges.length).toBe(1);
             expect(edges[0].start).toBe('A');
             expect(edges[0].end).toBe('B');
    @@ -183,8 +177,8 @@ describe('[Edges] when parsing', () => {
             const vert = flow.parser.yy.getVertices();
             const edges = flow.parser.yy.getEdges();
     
    -        expect(vert['A'].id).toBe('A');
    -        expect(vert['B'].id).toBe('B');
    +        expect(vert.get('A').id).toBe('A');
    +        expect(vert.get('B').id).toBe('B');
             expect(edges.length).toBe(1);
             expect(edges[0].start).toBe('A');
             expect(edges[0].end).toBe('B');
    @@ -202,8 +196,8 @@ describe('[Edges] when parsing', () => {
             const vert = flow.parser.yy.getVertices();
             const edges = flow.parser.yy.getEdges();
     
    -        expect(vert['A'].id).toBe('A');
    -        expect(vert['B'].id).toBe('B');
    +        expect(vert.get('A').id).toBe('A');
    +        expect(vert.get('B').id).toBe('B');
             expect(edges.length).toBe(1);
             expect(edges[0].start).toBe('A');
             expect(edges[0].end).toBe('B');
    @@ -221,8 +215,8 @@ describe('[Edges] when parsing', () => {
             const vert = flow.parser.yy.getVertices();
             const edges = flow.parser.yy.getEdges();
     
    -        expect(vert['A'].id).toBe('A');
    -        expect(vert['B'].id).toBe('B');
    +        expect(vert.get('A').id).toBe('A');
    +        expect(vert.get('B').id).toBe('B');
             expect(edges.length).toBe(1);
             expect(edges[0].start).toBe('A');
             expect(edges[0].end).toBe('B');
    @@ -240,8 +234,8 @@ describe('[Edges] when parsing', () => {
             const vert = flow.parser.yy.getVertices();
             const edges = flow.parser.yy.getEdges();
     
    -        expect(vert['A'].id).toBe('A');
    -        expect(vert['B'].id).toBe('B');
    +        expect(vert.get('A').id).toBe('A');
    +        expect(vert.get('B').id).toBe('B');
             expect(edges.length).toBe(1);
             expect(edges[0].start).toBe('A');
             expect(edges[0].end).toBe('B');
    @@ -259,8 +253,8 @@ describe('[Edges] when parsing', () => {
             const vert = flow.parser.yy.getVertices();
             const edges = flow.parser.yy.getEdges();
     
    -        expect(vert['A'].id).toBe('A');
    -        expect(vert['B'].id).toBe('B');
    +        expect(vert.get('A').id).toBe('A');
    +        expect(vert.get('B').id).toBe('B');
             expect(edges.length).toBe(1);
             expect(edges[0].start).toBe('A');
             expect(edges[0].end).toBe('B');
    @@ -278,8 +272,8 @@ describe('[Edges] when parsing', () => {
             const vert = flow.parser.yy.getVertices();
             const edges = flow.parser.yy.getEdges();
     
    -        expect(vert['A'].id).toBe('A');
    -        expect(vert['B'].id).toBe('B');
    +        expect(vert.get('A').id).toBe('A');
    +        expect(vert.get('B').id).toBe('B');
             expect(edges.length).toBe(1);
             expect(edges[0].start).toBe('A');
             expect(edges[0].end).toBe('B');
    @@ -297,8 +291,8 @@ describe('[Edges] when parsing', () => {
             const vert = flow.parser.yy.getVertices();
             const edges = flow.parser.yy.getEdges();
     
    -        expect(vert['A'].id).toBe('A');
    -        expect(vert['B'].id).toBe('B');
    +        expect(vert.get('A').id).toBe('A');
    +        expect(vert.get('B').id).toBe('B');
             expect(edges.length).toBe(1);
             expect(edges[0].start).toBe('A');
             expect(edges[0].end).toBe('B');
    @@ -316,8 +310,8 @@ describe('[Edges] when parsing', () => {
             const vert = flow.parser.yy.getVertices();
             const edges = flow.parser.yy.getEdges();
     
    -        expect(vert['A'].id).toBe('A');
    -        expect(vert['B'].id).toBe('B');
    +        expect(vert.get('A').id).toBe('A');
    +        expect(vert.get('B').id).toBe('B');
             expect(edges.length).toBe(1);
             expect(edges[0].start).toBe('A');
             expect(edges[0].end).toBe('B');
    @@ -335,8 +329,8 @@ describe('[Edges] when parsing', () => {
             const vert = flow.parser.yy.getVertices();
             const edges = flow.parser.yy.getEdges();
     
    -        expect(vert['A'].id).toBe('A');
    -        expect(vert['B'].id).toBe('B');
    +        expect(vert.get('A').id).toBe('A');
    +        expect(vert.get('B').id).toBe('B');
             expect(edges.length).toBe(1);
             expect(edges[0].start).toBe('A');
             expect(edges[0].end).toBe('B');
    @@ -354,8 +348,8 @@ describe('[Edges] when parsing', () => {
             const vert = flow.parser.yy.getVertices();
             const edges = flow.parser.yy.getEdges();
     
    -        expect(vert['A'].id).toBe('A');
    -        expect(vert['B'].id).toBe('B');
    +        expect(vert.get('A').id).toBe('A');
    +        expect(vert.get('B').id).toBe('B');
             expect(edges.length).toBe(1);
             expect(edges[0].start).toBe('A');
             expect(edges[0].end).toBe('B');
    @@ -373,8 +367,8 @@ describe('[Edges] when parsing', () => {
             const vert = flow.parser.yy.getVertices();
             const edges = flow.parser.yy.getEdges();
     
    -        expect(vert['A'].id).toBe('A');
    -        expect(vert['B'].id).toBe('B');
    +        expect(vert.get('A').id).toBe('A');
    +        expect(vert.get('B').id).toBe('B');
             expect(edges.length).toBe(1);
             expect(edges[0].start).toBe('A');
             expect(edges[0].end).toBe('B');
    @@ -392,8 +386,8 @@ describe('[Edges] when parsing', () => {
             const vert = flow.parser.yy.getVertices();
             const edges = flow.parser.yy.getEdges();
     
    -        expect(vert['A'].id).toBe('A');
    -        expect(vert['B'].id).toBe('B');
    +        expect(vert.get('A').id).toBe('A');
    +        expect(vert.get('B').id).toBe('B');
             expect(edges.length).toBe(1);
             expect(edges[0].start).toBe('A');
             expect(edges[0].end).toBe('B');
    @@ -411,8 +405,8 @@ describe('[Edges] when parsing', () => {
             const vert = flow.parser.yy.getVertices();
             const edges = flow.parser.yy.getEdges();
     
    -        expect(vert['A'].id).toBe('A');
    -        expect(vert['B'].id).toBe('B');
    +        expect(vert.get('A').id).toBe('A');
    +        expect(vert.get('B').id).toBe('B');
             expect(edges.length).toBe(1);
             expect(edges[0].start).toBe('A');
             expect(edges[0].end).toBe('B');
    @@ -430,8 +424,8 @@ describe('[Edges] when parsing', () => {
             const vert = flow.parser.yy.getVertices();
             const edges = flow.parser.yy.getEdges();
     
    -        expect(vert['A'].id).toBe('A');
    -        expect(vert['B'].id).toBe('B');
    +        expect(vert.get('A').id).toBe('A');
    +        expect(vert.get('B').id).toBe('B');
             expect(edges.length).toBe(1);
             expect(edges[0].start).toBe('A');
             expect(edges[0].end).toBe('B');
    @@ -449,8 +443,8 @@ describe('[Edges] when parsing', () => {
             const vert = flow.parser.yy.getVertices();
             const edges = flow.parser.yy.getEdges();
     
    -        expect(vert['A'].id).toBe('A');
    -        expect(vert['B'].id).toBe('B');
    +        expect(vert.get('A').id).toBe('A');
    +        expect(vert.get('B').id).toBe('B');
             expect(edges.length).toBe(1);
             expect(edges[0].start).toBe('A');
             expect(edges[0].end).toBe('B');
    @@ -468,8 +462,8 @@ describe('[Edges] when parsing', () => {
             const vert = flow.parser.yy.getVertices();
             const edges = flow.parser.yy.getEdges();
     
    -        expect(vert['A'].id).toBe('A');
    -        expect(vert['B'].id).toBe('B');
    +        expect(vert.get('A').id).toBe('A');
    +        expect(vert.get('B').id).toBe('B');
             expect(edges.length).toBe(1);
             expect(edges[0].start).toBe('A');
             expect(edges[0].end).toBe('B');
    @@ -487,8 +481,8 @@ describe('[Edges] when parsing', () => {
             const vert = flow.parser.yy.getVertices();
             const edges = flow.parser.yy.getEdges();
     
    -        expect(vert['A'].id).toBe('A');
    -        expect(vert['B'].id).toBe('B');
    +        expect(vert.get('A').id).toBe('A');
    +        expect(vert.get('B').id).toBe('B');
             expect(edges.length).toBe(1);
             expect(edges[0].start).toBe('A');
             expect(edges[0].end).toBe('B');
    diff --git a/packages/mermaid/src/diagrams/flowchart/parser/flow-huge.spec.js b/packages/mermaid/src/diagrams/flowchart/parser/flow-huge.spec.js
    index e400484ed4..8931c6ee1f 100644
    --- a/packages/mermaid/src/diagrams/flowchart/parser/flow-huge.spec.js
    +++ b/packages/mermaid/src/diagrams/flowchart/parser/flow-huge.spec.js
    @@ -23,7 +23,7 @@ describe('[Text] when parsing', () => {
     
           expect(edges[0].type).toBe('arrow_point');
           expect(edges.length).toBe(47917);
    -      expect(Object.keys(vert).length).toBe(2);
    +      expect(vert.size).toBe(2);
         });
       });
     });
    diff --git a/packages/mermaid/src/diagrams/flowchart/parser/flow-md-string.spec.js b/packages/mermaid/src/diagrams/flowchart/parser/flow-md-string.spec.js
    index 13cb262e3a..55e749a22d 100644
    --- a/packages/mermaid/src/diagrams/flowchart/parser/flow-md-string.spec.js
    +++ b/packages/mermaid/src/diagrams/flowchart/parser/flow-md-string.spec.js
    @@ -19,12 +19,12 @@ A["\`The cat in **the** hat\`"]-- "\`The *bat* in the chat\`" -->B["The dog in t
         const vert = flow.parser.yy.getVertices();
         const edges = flow.parser.yy.getEdges();
     
    -    expect(vert['A'].id).toBe('A');
    -    expect(vert['A'].text).toBe('The cat in **the** hat');
    -    expect(vert['A'].labelType).toBe('markdown');
    -    expect(vert['B'].id).toBe('B');
    -    expect(vert['B'].text).toBe('The dog in the hog');
    -    expect(vert['B'].labelType).toBe('string');
    +    expect(vert.get('A').id).toBe('A');
    +    expect(vert.get('A').text).toBe('The cat in **the** hat');
    +    expect(vert.get('A').labelType).toBe('markdown');
    +    expect(vert.get('B').id).toBe('B');
    +    expect(vert.get('B').text).toBe('The dog in the hog');
    +    expect(vert.get('B').labelType).toBe('string');
         expect(edges.length).toBe(2);
         expect(edges[0].start).toBe('A');
         expect(edges[0].end).toBe('B');
    diff --git a/packages/mermaid/src/diagrams/flowchart/parser/flow-singlenode.spec.js b/packages/mermaid/src/diagrams/flowchart/parser/flow-singlenode.spec.js
    index 59336d8d48..f6ed123d7e 100644
    --- a/packages/mermaid/src/diagrams/flowchart/parser/flow-singlenode.spec.js
    +++ b/packages/mermaid/src/diagrams/flowchart/parser/flow-singlenode.spec.js
    @@ -43,7 +43,7 @@ describe('[Singlenodes] when parsing', () => {
         const edges = flow.parser.yy.getEdges();
     
         expect(edges.length).toBe(0);
    -    expect(vert['A'].styles.length).toBe(0);
    +    expect(vert.get('A').styles.length).toBe(0);
       });
       it('should handle a single node with white space after it (SN1)', function () {
         // Silly but syntactically correct
    @@ -53,7 +53,7 @@ describe('[Singlenodes] when parsing', () => {
         const edges = flow.parser.yy.getEdges();
     
         expect(edges.length).toBe(0);
    -    expect(vert['A'].styles.length).toBe(0);
    +    expect(vert.get('A').styles.length).toBe(0);
       });
     
       it('should handle a single square node', function () {
    @@ -64,8 +64,8 @@ describe('[Singlenodes] when parsing', () => {
         const edges = flow.parser.yy.getEdges();
     
         expect(edges.length).toBe(0);
    -    expect(vert['a'].styles.length).toBe(0);
    -    expect(vert['a'].type).toBe('square');
    +    expect(vert.get('a').styles.length).toBe(0);
    +    expect(vert.get('a').type).toBe('square');
       });
     
       it('should handle a single round square node', function () {
    @@ -76,8 +76,8 @@ describe('[Singlenodes] when parsing', () => {
         const edges = flow.parser.yy.getEdges();
     
         expect(edges.length).toBe(0);
    -    expect(vert['a'].styles.length).toBe(0);
    -    expect(vert['a'].type).toBe('square');
    +    expect(vert.get('a').styles.length).toBe(0);
    +    expect(vert.get('a').type).toBe('square');
       });
     
       it('should handle a single circle node', function () {
    @@ -88,7 +88,7 @@ describe('[Singlenodes] when parsing', () => {
         const edges = flow.parser.yy.getEdges();
     
         expect(edges.length).toBe(0);
    -    expect(vert['a'].type).toBe('circle');
    +    expect(vert.get('a').type).toBe('circle');
       });
     
       it('should handle a single round node', function () {
    @@ -99,7 +99,7 @@ describe('[Singlenodes] when parsing', () => {
         const edges = flow.parser.yy.getEdges();
     
         expect(edges.length).toBe(0);
    -    expect(vert['a'].type).toBe('round');
    +    expect(vert.get('a').type).toBe('round');
       });
     
       it('should handle a single odd node', function () {
    @@ -110,7 +110,7 @@ describe('[Singlenodes] when parsing', () => {
         const edges = flow.parser.yy.getEdges();
     
         expect(edges.length).toBe(0);
    -    expect(vert['a'].type).toBe('odd');
    +    expect(vert.get('a').type).toBe('odd');
       });
     
       it('should handle a single diamond node', function () {
    @@ -121,7 +121,7 @@ describe('[Singlenodes] when parsing', () => {
         const edges = flow.parser.yy.getEdges();
     
         expect(edges.length).toBe(0);
    -    expect(vert['a'].type).toBe('diamond');
    +    expect(vert.get('a').type).toBe('diamond');
       });
     
       it('should handle a single diamond node with whitespace after it', function () {
    @@ -132,7 +132,7 @@ describe('[Singlenodes] when parsing', () => {
         const edges = flow.parser.yy.getEdges();
     
         expect(edges.length).toBe(0);
    -    expect(vert['a'].type).toBe('diamond');
    +    expect(vert.get('a').type).toBe('diamond');
       });
     
       it('should handle a single diamond node with html in it (SN3)', function () {
    @@ -143,8 +143,8 @@ describe('[Singlenodes] when parsing', () => {
         const edges = flow.parser.yy.getEdges();
     
         expect(edges.length).toBe(0);
    -    expect(vert['a'].type).toBe('diamond');
    -    expect(vert['a'].text).toBe('A 
    end'); + expect(vert.get('a').type).toBe('diamond'); + expect(vert.get('a').text).toBe('A
    end'); }); it('should handle a single hexagon node', function () { @@ -155,7 +155,7 @@ describe('[Singlenodes] when parsing', () => { const edges = flow.parser.yy.getEdges(); expect(edges.length).toBe(0); - expect(vert['a'].type).toBe('hexagon'); + expect(vert.get('a').type).toBe('hexagon'); }); it('should handle a single hexagon node with html in it', function () { @@ -166,8 +166,8 @@ describe('[Singlenodes] when parsing', () => { const edges = flow.parser.yy.getEdges(); expect(edges.length).toBe(0); - expect(vert['a'].type).toBe('hexagon'); - expect(vert['a'].text).toBe('A
    end'); + expect(vert.get('a').type).toBe('hexagon'); + expect(vert.get('a').text).toBe('A
    end'); }); it('should handle a single round node with html in it', function () { @@ -178,8 +178,8 @@ describe('[Singlenodes] when parsing', () => { const edges = flow.parser.yy.getEdges(); expect(edges.length).toBe(0); - expect(vert['a'].type).toBe('round'); - expect(vert['a'].text).toBe('A
    end'); + expect(vert.get('a').type).toBe('round'); + expect(vert.get('a').text).toBe('A
    end'); }); it('should handle a single double circle node', function () { @@ -190,7 +190,7 @@ describe('[Singlenodes] when parsing', () => { const edges = flow.parser.yy.getEdges(); expect(edges.length).toBe(0); - expect(vert['a'].type).toBe('doublecircle'); + expect(vert.get('a').type).toBe('doublecircle'); }); it('should handle a single double circle node with whitespace after it', function () { @@ -201,7 +201,7 @@ describe('[Singlenodes] when parsing', () => { const edges = flow.parser.yy.getEdges(); expect(edges.length).toBe(0); - expect(vert['a'].type).toBe('doublecircle'); + expect(vert.get('a').type).toBe('doublecircle'); }); it('should handle a single double circle node with html in it (SN3)', function () { @@ -212,8 +212,8 @@ describe('[Singlenodes] when parsing', () => { const edges = flow.parser.yy.getEdges(); expect(edges.length).toBe(0); - expect(vert['a'].type).toBe('doublecircle'); - expect(vert['a'].text).toBe('A
    end'); + expect(vert.get('a').type).toBe('doublecircle'); + expect(vert.get('a').text).toBe('A
    end'); }); it('should handle a single node with alphanumerics starting on a char', function () { @@ -224,7 +224,7 @@ describe('[Singlenodes] when parsing', () => { const edges = flow.parser.yy.getEdges(); expect(edges.length).toBe(0); - expect(vert['id1'].styles.length).toBe(0); + expect(vert.get('id1').styles.length).toBe(0); }); it('should handle a single node with a single digit', function () { @@ -235,7 +235,7 @@ describe('[Singlenodes] when parsing', () => { const edges = flow.parser.yy.getEdges(); expect(edges.length).toBe(0); - expect(vert['1'].text).toBe('1'); + expect(vert.get('1').text).toBe('1'); }); it('should handle a single node with a single digit in a subgraph', function () { @@ -247,7 +247,7 @@ describe('[Singlenodes] when parsing', () => { const edges = flow.parser.yy.getEdges(); expect(edges.length).toBe(0); - expect(vert['1'].text).toBe('1'); + expect(vert.get('1').text).toBe('1'); }); it('should handle a single node with alphanumerics starting on a num', function () { @@ -258,7 +258,7 @@ describe('[Singlenodes] when parsing', () => { const edges = flow.parser.yy.getEdges(); expect(edges.length).toBe(0); - expect(vert['1id'].styles.length).toBe(0); + expect(vert.get('1id').styles.length).toBe(0); }); it('should handle a single node with alphanumerics containing a minus sign', function () { @@ -269,7 +269,7 @@ describe('[Singlenodes] when parsing', () => { const edges = flow.parser.yy.getEdges(); expect(edges.length).toBe(0); - expect(vert['i-d'].styles.length).toBe(0); + expect(vert.get('i-d').styles.length).toBe(0); }); it('should handle a single node with alphanumerics containing a underscore sign', function () { @@ -280,33 +280,33 @@ describe('[Singlenodes] when parsing', () => { const edges = flow.parser.yy.getEdges(); expect(edges.length).toBe(0); - expect(vert['i_d'].styles.length).toBe(0); + expect(vert.get('i_d').styles.length).toBe(0); }); it.each(keywords)('should handle keywords between dashes "-"', function (keyword) { const res = flow.parser.parse(`graph TD;a-${keyword}-node;`); const vert = flow.parser.yy.getVertices(); - expect(vert[`a-${keyword}-node`].text).toBe(`a-${keyword}-node`); + expect(vert.get(`a-${keyword}-node`).text).toBe(`a-${keyword}-node`); }); it.each(keywords)('should handle keywords between periods "."', function (keyword) { const res = flow.parser.parse(`graph TD;a.${keyword}.node;`); const vert = flow.parser.yy.getVertices(); - expect(vert[`a.${keyword}.node`].text).toBe(`a.${keyword}.node`); + expect(vert.get(`a.${keyword}.node`).text).toBe(`a.${keyword}.node`); }); it.each(keywords)('should handle keywords between underscores "_"', function (keyword) { const res = flow.parser.parse(`graph TD;a_${keyword}_node;`); const vert = flow.parser.yy.getVertices(); - expect(vert[`a_${keyword}_node`].text).toBe(`a_${keyword}_node`); + expect(vert.get(`a_${keyword}_node`).text).toBe(`a_${keyword}_node`); }); it.each(keywords)('should handle nodes ending in %s', function (keyword) { const res = flow.parser.parse(`graph TD;node_${keyword};node.${keyword};node-${keyword};`); const vert = flow.parser.yy.getVertices(); - expect(vert[`node_${keyword}`].text).toBe(`node_${keyword}`); - expect(vert[`node.${keyword}`].text).toBe(`node.${keyword}`); - expect(vert[`node-${keyword}`].text).toBe(`node-${keyword}`); + expect(vert.get(`node_${keyword}`).text).toBe(`node_${keyword}`); + expect(vert.get(`node.${keyword}`).text).toBe(`node.${keyword}`); + expect(vert.get(`node-${keyword}`).text).toBe(`node-${keyword}`); }); const errorKeywords = [ @@ -337,9 +337,9 @@ describe('[Singlenodes] when parsing', () => { it.each(workingKeywords)('should parse node beginning with %s', function (keyword) { flow.parser.parse(`graph TD; ${keyword}.node;${keyword}-node;${keyword}/node;`); const vert = flow.parser.yy.getVertices(); - expect(vert[`${keyword}.node`].text).toBe(`${keyword}.node`); - expect(vert[`${keyword}-node`].text).toBe(`${keyword}-node`); - expect(vert[`${keyword}/node`].text).toBe(`${keyword}/node`); + expect(vert.get(`${keyword}.node`).text).toBe(`${keyword}.node`); + expect(vert.get(`${keyword}-node`).text).toBe(`${keyword}-node`); + expect(vert.get(`${keyword}/node`).text).toBe(`${keyword}/node`); }); it.each(specialChars)( @@ -347,7 +347,7 @@ describe('[Singlenodes] when parsing', () => { function (specialChar) { flow.parser.parse(`graph TD; ${specialChar} --> A`); const vert = flow.parser.yy.getVertices(); - expect(vert[`${specialChar}`].text).toBe(`${specialChar}`); + expect(vert.get(`${specialChar}`).text).toBe(`${specialChar}`); } ); @@ -356,7 +356,7 @@ describe('[Singlenodes] when parsing', () => { function (specialChar) { flow.parser.parse(`graph TD; ${specialChar}node --> A`); const vert = flow.parser.yy.getVertices(); - expect(vert[`${specialChar}node`].text).toBe(`${specialChar}node`); + expect(vert.get(`${specialChar}node`).text).toBe(`${specialChar}node`); } ); @@ -365,7 +365,7 @@ describe('[Singlenodes] when parsing', () => { function (specialChar) { flow.parser.parse(`graph TD; node${specialChar} --> A`); const vert = flow.parser.yy.getVertices(); - expect(vert[`node${specialChar}`].text).toBe(`node${specialChar}`); + expect(vert.get(`node${specialChar}`).text).toBe(`node${specialChar}`); } ); }); diff --git a/packages/mermaid/src/diagrams/flowchart/parser/flow-style.spec.js b/packages/mermaid/src/diagrams/flowchart/parser/flow-style.spec.js index 5b0f740bd9..22fd48a334 100644 --- a/packages/mermaid/src/diagrams/flowchart/parser/flow-style.spec.js +++ b/packages/mermaid/src/diagrams/flowchart/parser/flow-style.spec.js @@ -20,10 +20,8 @@ describe('[Style] when parsing', () => { const vert = flow.parser.yy.getVertices(); const edges = flow.parser.yy.getEdges(); - const style = vert['Q'].styles[0]; - - expect(vert['Q'].styles.length).toBe(1); - expect(vert['Q'].styles[0]).toBe('background:#fff'); + expect(vert.get('Q').styles.length).toBe(1); + expect(vert.get('Q').styles[0]).toBe('background:#fff'); }); it('should handle multiple styles for a vortex', function () { @@ -32,9 +30,9 @@ describe('[Style] when parsing', () => { const vert = flow.parser.yy.getVertices(); const edges = flow.parser.yy.getEdges(); - expect(vert['R'].styles.length).toBe(2); - expect(vert['R'].styles[0]).toBe('background:#fff'); - expect(vert['R'].styles[1]).toBe('border:1px solid red'); + expect(vert.get('R').styles.length).toBe(2); + expect(vert.get('R').styles[0]).toBe('background:#fff'); + expect(vert.get('R').styles[1]).toBe('border:1px solid red'); }); it('should handle multiple styles in a graph', function () { @@ -45,11 +43,11 @@ describe('[Style] when parsing', () => { const vert = flow.parser.yy.getVertices(); const edges = flow.parser.yy.getEdges(); - expect(vert['S'].styles.length).toBe(1); - expect(vert['T'].styles.length).toBe(2); - expect(vert['S'].styles[0]).toBe('background:#aaa'); - expect(vert['T'].styles[0]).toBe('background:#bbb'); - expect(vert['T'].styles[1]).toBe('border:1px solid red'); + expect(vert.get('S').styles.length).toBe(1); + expect(vert.get('T').styles.length).toBe(2); + expect(vert.get('S').styles[0]).toBe('background:#aaa'); + expect(vert.get('T').styles[0]).toBe('background:#bbb'); + expect(vert.get('T').styles[1]).toBe('border:1px solid red'); }); it('should handle styles and graph definitions in a graph', function () { @@ -60,11 +58,11 @@ describe('[Style] when parsing', () => { const vert = flow.parser.yy.getVertices(); const edges = flow.parser.yy.getEdges(); - expect(vert['S'].styles.length).toBe(1); - expect(vert['T'].styles.length).toBe(2); - expect(vert['S'].styles[0]).toBe('background:#aaa'); - expect(vert['T'].styles[0]).toBe('background:#bbb'); - expect(vert['T'].styles[1]).toBe('border:1px solid red'); + expect(vert.get('S').styles.length).toBe(1); + expect(vert.get('T').styles.length).toBe(2); + expect(vert.get('S').styles[0]).toBe('background:#aaa'); + expect(vert.get('T').styles[0]).toBe('background:#bbb'); + expect(vert.get('T').styles[1]).toBe('border:1px solid red'); }); it('should handle styles and graph definitions in a graph', function () { @@ -73,9 +71,9 @@ describe('[Style] when parsing', () => { const vert = flow.parser.yy.getVertices(); - expect(vert['T'].styles.length).toBe(2); - expect(vert['T'].styles[0]).toBe('background:#bbb'); - expect(vert['T'].styles[1]).toBe('border:1px solid red'); + expect(vert.get('T').styles.length).toBe(2); + expect(vert.get('T').styles[0]).toBe('background:#bbb'); + expect(vert.get('T').styles[1]).toBe('border:1px solid red'); }); it('should keep node label text (if already defined) when a style is applied', function () { @@ -85,10 +83,10 @@ describe('[Style] when parsing', () => { const vert = flow.parser.yy.getVertices(); - expect(vert['A'].text).toBe(''); - expect(vert['B'].text).toBe('Test'); - expect(vert['C'].text).toBe('C'); - expect(vert['D'].text).toBe('D'); + expect(vert.get('A').text).toBe(''); + expect(vert.get('B').text).toBe('Test'); + expect(vert.get('C').text).toBe('C'); + expect(vert.get('D').text).toBe('D'); }); it('should be possible to declare a class', function () { @@ -99,9 +97,9 @@ describe('[Style] when parsing', () => { const classes = flow.parser.yy.getClasses(); - expect(classes['exClass'].styles.length).toBe(2); - expect(classes['exClass'].styles[0]).toBe('background:#bbb'); - expect(classes['exClass'].styles[1]).toBe('border:1px solid red'); + expect(classes.get('exClass').styles.length).toBe(2); + expect(classes.get('exClass').styles[0]).toBe('background:#bbb'); + expect(classes.get('exClass').styles[1]).toBe('border:1px solid red'); }); it('should be possible to declare multiple classes', function () { @@ -111,13 +109,13 @@ describe('[Style] when parsing', () => { const classes = flow.parser.yy.getClasses(); - expect(classes['firstClass'].styles.length).toBe(2); - expect(classes['firstClass'].styles[0]).toBe('background:#bbb'); - expect(classes['firstClass'].styles[1]).toBe('border:1px solid red'); + expect(classes.get('firstClass').styles.length).toBe(2); + expect(classes.get('firstClass').styles[0]).toBe('background:#bbb'); + expect(classes.get('firstClass').styles[1]).toBe('border:1px solid red'); - expect(classes['secondClass'].styles.length).toBe(2); - expect(classes['secondClass'].styles[0]).toBe('background:#bbb'); - expect(classes['secondClass'].styles[1]).toBe('border:1px solid red'); + expect(classes.get('secondClass').styles.length).toBe(2); + expect(classes.get('secondClass').styles[0]).toBe('background:#bbb'); + expect(classes.get('secondClass').styles[1]).toBe('border:1px solid red'); }); it('should be possible to declare a class with a dot in the style', function () { @@ -128,9 +126,9 @@ describe('[Style] when parsing', () => { const classes = flow.parser.yy.getClasses(); - expect(classes['exClass'].styles.length).toBe(2); - expect(classes['exClass'].styles[0]).toBe('background:#bbb'); - expect(classes['exClass'].styles[1]).toBe('border:1.5px solid red'); + expect(classes.get('exClass').styles.length).toBe(2); + expect(classes.get('exClass').styles[0]).toBe('background:#bbb'); + expect(classes.get('exClass').styles[1]).toBe('border:1.5px solid red'); }); it('should be possible to declare a class with a space in the style', function () { const res = flow.parser.parse( @@ -140,9 +138,9 @@ describe('[Style] when parsing', () => { const classes = flow.parser.yy.getClasses(); - expect(classes['exClass'].styles.length).toBe(2); - expect(classes['exClass'].styles[0]).toBe('background: #bbb'); - expect(classes['exClass'].styles[1]).toBe('border:1.5px solid red'); + expect(classes.get('exClass').styles.length).toBe(2); + expect(classes.get('exClass').styles[0]).toBe('background: #bbb'); + expect(classes.get('exClass').styles[1]).toBe('border:1.5px solid red'); }); it('should be possible to apply a class to a vertex', function () { let statement = ''; @@ -156,9 +154,9 @@ describe('[Style] when parsing', () => { const classes = flow.parser.yy.getClasses(); - expect(classes['exClass'].styles.length).toBe(2); - expect(classes['exClass'].styles[0]).toBe('background:#bbb'); - expect(classes['exClass'].styles[1]).toBe('border:1px solid red'); + expect(classes.get('exClass').styles.length).toBe(2); + expect(classes.get('exClass').styles[0]).toBe('background:#bbb'); + expect(classes.get('exClass').styles[1]).toBe('border:1px solid red'); }); it('should be possible to apply a class to a vertex with an id containing _', function () { let statement = ''; @@ -172,9 +170,9 @@ describe('[Style] when parsing', () => { const classes = flow.parser.yy.getClasses(); - expect(classes['exClass'].styles.length).toBe(2); - expect(classes['exClass'].styles[0]).toBe('background:#bbb'); - expect(classes['exClass'].styles[1]).toBe('border:1px solid red'); + expect(classes.get('exClass').styles.length).toBe(2); + expect(classes.get('exClass').styles[0]).toBe('background:#bbb'); + expect(classes.get('exClass').styles[1]).toBe('border:1px solid red'); }); it('should be possible to apply a class to a vertex directly', function () { let statement = ''; @@ -187,10 +185,10 @@ describe('[Style] when parsing', () => { const vertices = flow.parser.yy.getVertices(); const classes = flow.parser.yy.getClasses(); - expect(classes['exClass'].styles.length).toBe(2); - expect(vertices['b'].classes[0]).toBe('exClass'); - expect(classes['exClass'].styles[0]).toBe('background:#bbb'); - expect(classes['exClass'].styles[1]).toBe('border:1px solid red'); + expect(classes.get('exClass').styles.length).toBe(2); + expect(vertices.get('b').classes[0]).toBe('exClass'); + expect(classes.get('exClass').styles[0]).toBe('background:#bbb'); + expect(classes.get('exClass').styles[1]).toBe('border:1px solid red'); }); it('should be possible to apply a class to a vertex directly : usecase A[text].class ', function () { @@ -204,10 +202,10 @@ describe('[Style] when parsing', () => { const vertices = flow.parser.yy.getVertices(); const classes = flow.parser.yy.getClasses(); - expect(classes['exClass'].styles.length).toBe(2); - expect(vertices['b'].classes[0]).toBe('exClass'); - expect(classes['exClass'].styles[0]).toBe('background:#bbb'); - expect(classes['exClass'].styles[1]).toBe('border:1px solid red'); + expect(classes.get('exClass').styles.length).toBe(2); + expect(vertices.get('b').classes[0]).toBe('exClass'); + expect(classes.get('exClass').styles[0]).toBe('background:#bbb'); + expect(classes.get('exClass').styles[1]).toBe('border:1px solid red'); }); it('should be possible to apply a class to a vertex directly : usecase A[text].class-->B[test2] ', function () { @@ -221,10 +219,10 @@ describe('[Style] when parsing', () => { const vertices = flow.parser.yy.getVertices(); const classes = flow.parser.yy.getClasses(); - expect(classes['exClass'].styles.length).toBe(2); - expect(vertices['A'].classes[0]).toBe('exClass'); - expect(classes['exClass'].styles[0]).toBe('background:#bbb'); - expect(classes['exClass'].styles[1]).toBe('border:1px solid red'); + expect(classes.get('exClass').styles.length).toBe(2); + expect(vertices.get('A').classes[0]).toBe('exClass'); + expect(classes.get('exClass').styles[0]).toBe('background:#bbb'); + expect(classes.get('exClass').styles[1]).toBe('border:1px solid red'); }); it('should be possible to apply a class to a vertex directly 2', function () { @@ -238,10 +236,10 @@ describe('[Style] when parsing', () => { const vertices = flow.parser.yy.getVertices(); const classes = flow.parser.yy.getClasses(); - expect(classes['exClass'].styles.length).toBe(2); - expect(vertices['b'].classes[0]).toBe('exClass'); - expect(classes['exClass'].styles[0]).toBe('background:#bbb'); - expect(classes['exClass'].styles[1]).toBe('border:1px solid red'); + expect(classes.get('exClass').styles.length).toBe(2); + expect(vertices.get('b').classes[0]).toBe('exClass'); + expect(classes.get('exClass').styles[0]).toBe('background:#bbb'); + expect(classes.get('exClass').styles[1]).toBe('border:1px solid red'); }); it('should be possible to apply a class to a comma separated list of vertices', function () { let statement = ''; @@ -256,11 +254,11 @@ describe('[Style] when parsing', () => { const classes = flow.parser.yy.getClasses(); const vertices = flow.parser.yy.getVertices(); - expect(classes['exClass'].styles.length).toBe(2); - expect(classes['exClass'].styles[0]).toBe('background:#bbb'); - expect(classes['exClass'].styles[1]).toBe('border:1px solid red'); - expect(vertices['a'].classes[0]).toBe('exClass'); - expect(vertices['b'].classes[0]).toBe('exClass'); + expect(classes.get('exClass').styles.length).toBe(2); + expect(classes.get('exClass').styles[0]).toBe('background:#bbb'); + expect(classes.get('exClass').styles[1]).toBe('border:1px solid red'); + expect(vertices.get('a').classes[0]).toBe('exClass'); + expect(vertices.get('b').classes[0]).toBe('exClass'); }); it('should handle style definitions with more then 1 digit in a row', function () { @@ -364,9 +362,9 @@ describe('[Style] when parsing', () => { const vert = flow.parser.yy.getVertices(); - expect(vert['A'].classes.length).toBe(0); - expect(vert['B'].classes[0]).toBe('C1'); - expect(vert['D'].classes[0]).toBe('C1'); - expect(vert['E'].classes[0]).toBe('C2'); + expect(vert.get('A').classes.length).toBe(0); + expect(vert.get('B').classes[0]).toBe('C1'); + expect(vert.get('D').classes[0]).toBe('C1'); + expect(vert.get('E').classes[0]).toBe('C2'); }); }); diff --git a/packages/mermaid/src/diagrams/flowchart/parser/flow-text.spec.js b/packages/mermaid/src/diagrams/flowchart/parser/flow-text.spec.js index 61eccbbc8e..3754766f44 100644 --- a/packages/mermaid/src/diagrams/flowchart/parser/flow-text.spec.js +++ b/packages/mermaid/src/diagrams/flowchart/parser/flow-text.spec.js @@ -113,7 +113,7 @@ describe('[Text] when parsing', () => { const edges = flow.parser.yy.getEdges(); expect(edges[0].type).toBe('arrow_cross'); - expect(vert['v'].text).toBe('my text'); + expect(vert.get('v').text).toBe('my text'); }); it('should handle v in node ids v at end', function () { // v at end @@ -123,7 +123,7 @@ describe('[Text] when parsing', () => { const edges = flow.parser.yy.getEdges(); expect(edges[0].type).toBe('arrow_cross'); - expect(vert['csv'].text).toBe('my text'); + expect(vert.get('csv').text).toBe('my text'); }); it('should handle v in node ids v in middle', function () { // v in middle @@ -133,7 +133,7 @@ describe('[Text] when parsing', () => { const edges = flow.parser.yy.getEdges(); expect(edges[0].type).toBe('arrow_cross'); - expect(vert['ava'].text).toBe('my text'); + expect(vert.get('ava').text).toBe('my text'); }); it('should handle v in node ids, v at start', function () { // v at start @@ -143,7 +143,7 @@ describe('[Text] when parsing', () => { const edges = flow.parser.yy.getEdges(); expect(edges[0].type).toBe('arrow_cross'); - expect(vert['va'].text).toBe('my text'); + expect(vert.get('va').text).toBe('my text'); }); it('should handle keywords', function () { const res = flow.parser.parse('graph TD;A--x|text including graph space|B;'); @@ -157,7 +157,7 @@ describe('[Text] when parsing', () => { const res = flow.parser.parse('graph TD;V-->a[v]'); const vert = flow.parser.yy.getVertices(); const edges = flow.parser.yy.getEdges(); - expect(vert['a'].text).toBe('v'); + expect(vert.get('a').text).toBe('v'); }); it('should handle quoted text', function () { const res = flow.parser.parse('graph TD;V-- "test string()" -->a[v]'); @@ -302,8 +302,8 @@ describe('[Text] when parsing', () => { const vert = flow.parser.yy.getVertices(); const edges = flow.parser.yy.getEdges(); - expect(vert['C'].type).toBe('round'); - expect(vert['C'].text).toBe('Chimpansen hoppar'); + expect(vert.get('C').type).toBe('round'); + expect(vert.get('C').text).toBe('Chimpansen hoppar'); }); const keywords = [ @@ -353,8 +353,8 @@ describe('[Text] when parsing', () => { const vert = flow.parser.yy.getVertices(); const edges = flow.parser.yy.getEdges(); - expect(vert['B'].type).toBe(`${shape.name}`); - expect(vert['B'].text).toBe(`This node has a ${keyword} as text`); + expect(vert.get('B').type).toBe(`${shape.name}`); + expect(vert.get('B').text).toBe(`This node has a ${keyword} as text`); }); }); @@ -365,24 +365,24 @@ describe('[Text] when parsing', () => { const vert = flow.parser.yy.getVertices(); const edges = flow.parser.yy.getEdges(); - expect(vert['B'].type).toBe('rect'); - expect(vert['B'].text).toBe(`This node has a ${keyword} as text`); + expect(vert.get('B').type).toBe('rect'); + expect(vert.get('B').text).toBe(`This node has a ${keyword} as text`); }); it('should handle edge case for odd vertex with node id ending with minus', function () { const res = flow.parser.parse('graph TD;A_node-->odd->Vertex Text];'); const vert = flow.parser.yy.getVertices(); - expect(vert['odd-'].type).toBe('odd'); - expect(vert['odd-'].text).toBe('Vertex Text'); + expect(vert.get('odd-').type).toBe('odd'); + expect(vert.get('odd-').text).toBe('Vertex Text'); }); it('should allow forward slashes in lean_right vertices', function () { const rest = flow.parser.parse(`graph TD;A_node-->B[/This node has a / as text/];`); const vert = flow.parser.yy.getVertices(); const edges = flow.parser.yy.getEdges(); - expect(vert['B'].type).toBe('lean_right'); - expect(vert['B'].text).toBe(`This node has a / as text`); + expect(vert.get('B').type).toBe('lean_right'); + expect(vert.get('B').text).toBe(`This node has a / as text`); }); it('should allow back slashes in lean_left vertices', function () { @@ -390,8 +390,8 @@ describe('[Text] when parsing', () => { const vert = flow.parser.yy.getVertices(); const edges = flow.parser.yy.getEdges(); - expect(vert['B'].type).toBe('lean_left'); - expect(vert['B'].text).toBe(`This node has a \\ as text`); + expect(vert.get('B').type).toBe('lean_left'); + expect(vert.get('B').text).toBe(`This node has a \\ as text`); }); it('should handle åäö and minus', function () { @@ -400,8 +400,8 @@ describe('[Text] when parsing', () => { const vert = flow.parser.yy.getVertices(); const edges = flow.parser.yy.getEdges(); - expect(vert['C'].type).toBe('diamond'); - expect(vert['C'].text).toBe('Chimpansen hoppar åäö-ÅÄÖ'); + expect(vert.get('C').type).toBe('diamond'); + expect(vert.get('C').text).toBe('Chimpansen hoppar åäö-ÅÄÖ'); }); it('should handle with åäö, minus and space and br', function () { @@ -410,8 +410,8 @@ describe('[Text] when parsing', () => { const vert = flow.parser.yy.getVertices(); const edges = flow.parser.yy.getEdges(); - expect(vert['C'].type).toBe('round'); - expect(vert['C'].text).toBe('Chimpansen hoppar åäö
    - ÅÄÖ'); + expect(vert.get('C').type).toBe('round'); + expect(vert.get('C').text).toBe('Chimpansen hoppar åäö
    - ÅÄÖ'); }); // it.skip('should handle åäö, minus and space and br',function(){ // const res = flow.parser.parse('graph TD; A[Object(foo,bar)]-->B(Thing);'); @@ -419,22 +419,22 @@ describe('[Text] when parsing', () => { // const vert = flow.parser.yy.getVertices(); // const edges = flow.parser.yy.getEdges(); // - // expect(vert['C'].type).toBe('round'); - // expect(vert['C'].text).toBe(' A[Object(foo,bar)]-->B(Thing);'); + // expect(vert.get('C').type).toBe('round'); + // expect(vert.get('C').text).toBe(' A[Object(foo,bar)]-->B(Thing);'); // }); it('should handle unicode chars', function () { const res = flow.parser.parse('graph TD;A-->C(Начало);'); const vert = flow.parser.yy.getVertices(); - expect(vert['C'].text).toBe('Начало'); + expect(vert.get('C').text).toBe('Начало'); }); it('should handle backslask', function () { const res = flow.parser.parse('graph TD;A-->C(c:\\windows);'); const vert = flow.parser.yy.getVertices(); - expect(vert['C'].text).toBe('c:\\windows'); + expect(vert.get('C').text).toBe('c:\\windows'); }); it('should handle CAPS', function () { const res = flow.parser.parse('graph TD;A-->C(some CAPS);'); @@ -442,8 +442,8 @@ describe('[Text] when parsing', () => { const vert = flow.parser.yy.getVertices(); const edges = flow.parser.yy.getEdges(); - expect(vert['C'].type).toBe('round'); - expect(vert['C'].text).toBe('some CAPS'); + expect(vert.get('C').type).toBe('round'); + expect(vert.get('C').text).toBe('some CAPS'); }); it('should handle directions', function () { const res = flow.parser.parse('graph TD;A-->C(some URL);'); @@ -451,8 +451,8 @@ describe('[Text] when parsing', () => { const vert = flow.parser.yy.getVertices(); const edges = flow.parser.yy.getEdges(); - expect(vert['C'].type).toBe('round'); - expect(vert['C'].text).toBe('some URL'); + expect(vert.get('C').type).toBe('round'); + expect(vert.get('C').text).toBe('some URL'); }); }); @@ -464,9 +464,9 @@ describe('[Text] when parsing', () => { expect(edges[0].type).toBe('arrow_circle'); expect(edges[1].type).toBe('arrow_point'); - expect(vert['A'].id).toBe('A'); - expect(vert['B'].id).toBe('B'); - expect(vert['C'].id).toBe('C'); + expect(vert.get('A').id).toBe('A'); + expect(vert.get('B').id).toBe('B'); + expect(vert.get('C').id).toBe('C'); expect(edges.length).toBe(2); expect(edges[0].start).toBe('A'); expect(edges[0].end).toBe('B'); @@ -482,8 +482,8 @@ describe('[Text] when parsing', () => { const vert = flow.parser.yy.getVertices(); const edges = flow.parser.yy.getEdges(); - expect(vert['A'].type).toBe('square'); - expect(vert['A'].text).toBe('chimpansen hoppar'); + expect(vert.get('A').type).toBe('square'); + expect(vert.get('A').text).toBe('chimpansen hoppar'); }); it('should handle text in vertices with space with spaces between vertices and link', function () { @@ -492,8 +492,8 @@ describe('[Text] when parsing', () => { const vert = flow.parser.yy.getVertices(); const edges = flow.parser.yy.getEdges(); - expect(vert['A'].type).toBe('square'); - expect(vert['A'].text).toBe('chimpansen hoppar'); + expect(vert.get('A').type).toBe('square'); + expect(vert.get('A').text).toBe('chimpansen hoppar'); }); it('should handle text including _ in vertices', function () { const res = flow.parser.parse('graph TD;A[chimpansen_hoppar] --> C;'); @@ -501,8 +501,8 @@ describe('[Text] when parsing', () => { const vert = flow.parser.yy.getVertices(); const edges = flow.parser.yy.getEdges(); - expect(vert['A'].type).toBe('square'); - expect(vert['A'].text).toBe('chimpansen_hoppar'); + expect(vert.get('A').type).toBe('square'); + expect(vert.get('A').text).toBe('chimpansen_hoppar'); }); it('should handle quoted text in vertices ', function () { @@ -511,8 +511,8 @@ describe('[Text] when parsing', () => { const vert = flow.parser.yy.getVertices(); const edges = flow.parser.yy.getEdges(); - expect(vert['A'].type).toBe('square'); - expect(vert['A'].text).toBe('chimpansen hoppar ()[]'); + expect(vert.get('A').type).toBe('square'); + expect(vert.get('A').text).toBe('chimpansen hoppar ()[]'); }); it('should handle text in circle vertices with space', function () { @@ -521,8 +521,8 @@ describe('[Text] when parsing', () => { const vert = flow.parser.yy.getVertices(); const edges = flow.parser.yy.getEdges(); - expect(vert['A'].type).toBe('circle'); - expect(vert['A'].text).toBe('chimpansen hoppar'); + expect(vert.get('A').type).toBe('circle'); + expect(vert.get('A').text).toBe('chimpansen hoppar'); }); it('should handle text in ellipse vertices', function () { @@ -531,8 +531,8 @@ describe('[Text] when parsing', () => { const vert = flow.parser.yy.getVertices(); const edges = flow.parser.yy.getEdges(); - expect(vert['A'].type).toBe('ellipse'); - expect(vert['A'].text).toBe('this is an ellipse'); + expect(vert.get('A').type).toBe('ellipse'); + expect(vert.get('A').text).toBe('this is an ellipse'); }); it('should not freeze when ellipse text has a `(`', function () { @@ -545,8 +545,8 @@ describe('[Text] when parsing', () => { const vert = flow.parser.yy.getVertices(); const edges = flow.parser.yy.getEdges(); - expect(vert['A'].type).toBe('round'); - expect(vert['A'].text).toBe('chimpansen hoppar'); + expect(vert.get('A').type).toBe('round'); + expect(vert.get('A').text).toBe('chimpansen hoppar'); }); it('should handle text in with ?', function () { @@ -555,7 +555,7 @@ describe('[Text] when parsing', () => { const vert = flow.parser.yy.getVertices(); const edges = flow.parser.yy.getEdges(); - expect(vert['A'].text).toBe('?'); + expect(vert.get('A').text).toBe('?'); expect(edges[0].text).toBe('?'); }); it('should handle text in with éèêàçô', function () { @@ -564,7 +564,7 @@ describe('[Text] when parsing', () => { const vert = flow.parser.yy.getVertices(); const edges = flow.parser.yy.getEdges(); - expect(vert['A'].text).toBe('éèêàçô'); + expect(vert.get('A').text).toBe('éèêàçô'); expect(edges[0].text).toBe('éèêàçô'); }); @@ -574,7 +574,7 @@ describe('[Text] when parsing', () => { const vert = flow.parser.yy.getVertices(); const edges = flow.parser.yy.getEdges(); - expect(vert['A'].text).toBe(',.?!+-*'); + expect(vert.get('A').text).toBe(',.?!+-*'); expect(edges[0].text).toBe(',.?!+-*'); }); diff --git a/packages/mermaid/src/diagrams/flowchart/parser/flow-vertice-chaining.spec.js b/packages/mermaid/src/diagrams/flowchart/parser/flow-vertice-chaining.spec.js index 3f1078030d..7166f2c15b 100644 --- a/packages/mermaid/src/diagrams/flowchart/parser/flow-vertice-chaining.spec.js +++ b/packages/mermaid/src/diagrams/flowchart/parser/flow-vertice-chaining.spec.js @@ -22,9 +22,9 @@ describe('when parsing flowcharts', function () { const vert = flow.parser.yy.getVertices(); const edges = flow.parser.yy.getEdges(); - expect(vert['A'].id).toBe('A'); - expect(vert['B'].id).toBe('B'); - expect(vert['C'].id).toBe('C'); + expect(vert.get('A').id).toBe('A'); + expect(vert.get('B').id).toBe('B'); + expect(vert.get('C').id).toBe('C'); expect(edges.length).toBe(2); expect(edges[0].start).toBe('A'); expect(edges[0].end).toBe('B'); @@ -44,9 +44,9 @@ describe('when parsing flowcharts', function () { const vert = flow.parser.yy.getVertices(); const edges = flow.parser.yy.getEdges(); - expect(vert['A'].id).toBe('A'); - expect(vert['B'].id).toBe('B'); - expect(vert['C'].id).toBe('C'); + expect(vert.get('A').id).toBe('A'); + expect(vert.get('B').id).toBe('B'); + expect(vert.get('C').id).toBe('C'); expect(edges.length).toBe(2); expect(edges[0].start).toBe('A'); expect(edges[0].end).toBe('C'); @@ -66,9 +66,9 @@ describe('when parsing flowcharts', function () { const vert = flow.parser.yy.getVertices(); const edges = flow.parser.yy.getEdges(); - expect(vert['A'].id).toBe('A'); - expect(vert['B'].id).toBe('B'); - expect(vert['C'].id).toBe('C'); + expect(vert.get('A').id).toBe('A'); + expect(vert.get('B').id).toBe('B'); + expect(vert.get('C').id).toBe('C'); expect(edges.length).toBe(2); expect(edges[0].start).toBe('A'); expect(edges[0].end).toBe('B'); @@ -88,10 +88,10 @@ describe('when parsing flowcharts', function () { const vert = flow.parser.yy.getVertices(); const edges = flow.parser.yy.getEdges(); - expect(vert['A'].id).toBe('A'); - expect(vert['B'].id).toBe('B'); - expect(vert['C'].id).toBe('C'); - expect(vert['D'].id).toBe('D'); + expect(vert.get('A').id).toBe('A'); + expect(vert.get('B').id).toBe('B'); + expect(vert.get('C').id).toBe('C'); + expect(vert.get('D').id).toBe('D'); expect(edges.length).toBe(4); expect(edges[0].start).toBe('A'); expect(edges[0].end).toBe('C'); @@ -119,10 +119,10 @@ describe('when parsing flowcharts', function () { const vert = flow.parser.yy.getVertices(); const edges = flow.parser.yy.getEdges(); - expect(vert['A'].id).toBe('A'); - expect(vert['B'].id).toBe('B'); - expect(vert['C'].id).toBe('C'); - expect(vert['D'].id).toBe('D'); + expect(vert.get('A').id).toBe('A'); + expect(vert.get('B').id).toBe('B'); + expect(vert.get('C').id).toBe('C'); + expect(vert.get('D').id).toBe('D'); expect(edges.length).toBe(4); expect(edges[0].start).toBe('A'); expect(edges[0].end).toBe('C'); @@ -150,11 +150,11 @@ describe('when parsing flowcharts', function () { const vert = flow.parser.yy.getVertices(); const edges = flow.parser.yy.getEdges(); - expect(vert['A'].id).toBe('A'); - expect(vert['B'].id).toBe('B'); - expect(vert['B2'].id).toBe('B2'); - expect(vert['C'].id).toBe('C'); - expect(vert['D2'].id).toBe('D2'); + expect(vert.get('A').id).toBe('A'); + expect(vert.get('B').id).toBe('B'); + expect(vert.get('B2').id).toBe('B2'); + expect(vert.get('C').id).toBe('C'); + expect(vert.get('D2').id).toBe('D2'); expect(edges.length).toBe(6); expect(edges[0].start).toBe('A'); expect(edges[0].end).toBe('B'); @@ -193,14 +193,14 @@ describe('when parsing flowcharts', function () { const classes = flow.parser.yy.getClasses(); - expect(classes['exClass'].styles.length).toBe(2); - expect(classes['exClass'].styles[0]).toBe('background:#bbb'); - expect(classes['exClass'].styles[1]).toBe('border:1px solid red'); - expect(vert['A'].id).toBe('A'); - expect(vert['B'].id).toBe('B'); - expect(vert['B'].classes[0]).toBe('exClass'); - expect(vert['C'].id).toBe('C'); - expect(vert['D'].id).toBe('D'); + expect(classes.get('exClass').styles.length).toBe(2); + expect(classes.get('exClass').styles[0]).toBe('background:#bbb'); + expect(classes.get('exClass').styles[1]).toBe('border:1px solid red'); + expect(vert.get('A').id).toBe('A'); + expect(vert.get('B').id).toBe('B'); + expect(vert.get('B').classes[0]).toBe('exClass'); + expect(vert.get('C').id).toBe('C'); + expect(vert.get('D').id).toBe('D'); expect(edges.length).toBe(4); expect(edges[0].start).toBe('A'); expect(edges[0].end).toBe('B'); diff --git a/packages/mermaid/src/diagrams/flowchart/parser/flow.spec.js b/packages/mermaid/src/diagrams/flowchart/parser/flow.spec.js index 8d0aec789e..ff2c9d506c 100644 --- a/packages/mermaid/src/diagrams/flowchart/parser/flow.spec.js +++ b/packages/mermaid/src/diagrams/flowchart/parser/flow.spec.js @@ -19,8 +19,8 @@ describe('parsing a flow chart', function () { const vert = flow.parser.yy.getVertices(); const edges = flow.parser.yy.getEdges(); - expect(vert['A'].id).toBe('A'); - expect(vert['B'].id).toBe('B'); + expect(vert.get('A').id).toBe('A'); + expect(vert.get('B').id).toBe('B'); expect(edges.length).toBe(2); expect(edges[0].start).toBe('A'); expect(edges[0].end).toBe('B'); @@ -34,8 +34,8 @@ describe('parsing a flow chart', function () { const vert = flow.parser.yy.getVertices(); const edges = flow.parser.yy.getEdges(); - expect(vert['endpoint'].id).toBe('endpoint'); - expect(vert['sender'].id).toBe('sender'); + expect(vert.get('endpoint').id).toBe('endpoint'); + expect(vert.get('sender').id).toBe('sender'); expect(edges[0].start).toBe('endpoint'); expect(edges[0].end).toBe('sender'); }); @@ -46,8 +46,8 @@ describe('parsing a flow chart', function () { const vert = flow.parser.yy.getVertices(); const edges = flow.parser.yy.getEdges(); - expect(vert['blend'].id).toBe('blend'); - expect(vert['monograph'].id).toBe('monograph'); + expect(vert.get('blend').id).toBe('blend'); + expect(vert.get('monograph').id).toBe('monograph'); expect(edges[0].start).toBe('blend'); expect(edges[0].end).toBe('monograph'); }); @@ -58,8 +58,8 @@ describe('parsing a flow chart', function () { const vert = flow.parser.yy.getVertices(); const edges = flow.parser.yy.getEdges(); - expect(vert['default'].id).toBe('default'); - expect(vert['monograph'].id).toBe('monograph'); + expect(vert.get('default').id).toBe('default'); + expect(vert.get('monograph').id).toBe('monograph'); expect(edges[0].start).toBe('default'); expect(edges[0].end).toBe('monograph'); }); @@ -71,12 +71,12 @@ describe('parsing a flow chart', function () { const vert = flow.parser.yy.getVertices(); const edges = flow.parser.yy.getEdges(); - expect(vert['A'].id).toBe('A'); - expect(vert['B'].id).toBe('B'); + expect(vert.get('A').id).toBe('A'); + expect(vert.get('B').id).toBe('B'); if (result) { - expect(vert['A'].text).toBe(result); + expect(vert.get('A').text).toBe(result); } else { - expect(vert['A'].text).toBe(char); + expect(vert.get('A').text).toBe(char); } flow.parser.yy.clear(); }; @@ -135,7 +135,7 @@ describe('parsing a flow chart', function () { const res = flow.parser.parse(statement); const vertices = flow.parser.yy.getVertices(); const classes = flow.parser.yy.getClasses(); - expect(vertices['node1TB'].id).toBe('node1TB'); + expect(vertices.get('node1TB').id).toBe('node1TB'); }); it('should be possible to use direction in node ids', function () { @@ -145,7 +145,7 @@ describe('parsing a flow chart', function () { const res = flow.parser.parse(statement); const vertices = flow.parser.yy.getVertices(); const classes = flow.parser.yy.getClasses(); - expect(vertices['A'].id).toBe('A'); + expect(vertices.get('A').id).toBe('A'); }); it('should be possible to use numbers as labels', function () { @@ -154,8 +154,8 @@ describe('parsing a flow chart', function () { statement = statement + 'graph TB;subgraph "number as labels";1;end;'; const res = flow.parser.parse(statement); const vertices = flow.parser.yy.getVertices(); - const classes = flow.parser.yy.getClasses(); - expect(vertices['1'].id).toBe('1'); + + expect(vertices.get('1').id).toBe('1'); }); it('should add accTitle and accDescr to flow chart', function () { diff --git a/packages/mermaid/src/diagrams/gantt/ganttDb.js b/packages/mermaid/src/diagrams/gantt/ganttDb.js index 27d622eeb5..160f297131 100644 --- a/packages/mermaid/src/diagrams/gantt/ganttDb.js +++ b/packages/mermaid/src/diagrams/gantt/ganttDb.js @@ -28,7 +28,7 @@ let tickInterval = undefined; let todayMarker = ''; let includes = []; let excludes = []; -let links = {}; +let links = new Map(); let sections = []; let tasks = []; let currentSection = ''; @@ -62,7 +62,7 @@ export const clear = function () { inclusiveEndDates = false; topAxis = false; lastOrder = 0; - links = {}; + links = new Map(); commonClear(); weekday = 'sunday'; weekend = 'saturday'; @@ -639,7 +639,7 @@ export const setLink = function (ids, _linkStr) { pushFun(id, () => { window.open(linkStr, '_self'); }); - links[id] = linkStr; + links.set(id, linkStr); } }); setClass(ids, 'clickable'); diff --git a/packages/mermaid/src/diagrams/gantt/ganttRenderer.js b/packages/mermaid/src/diagrams/gantt/ganttRenderer.js index 5559ac20d9..a10eb100f4 100644 --- a/packages/mermaid/src/diagrams/gantt/ganttRenderer.js +++ b/packages/mermaid/src/diagrams/gantt/ganttRenderer.js @@ -475,14 +475,14 @@ export const draw = function (text, id, version, diagObj) { rectangles .filter(function (d) { - return links[d.id] !== undefined; + return links.has(d.id); }) .each(function (o) { var taskRect = doc.querySelector('#' + o.id); var taskText = doc.querySelector('#' + o.id + '-text'); const oldParent = taskRect.parentNode; var Link = doc.createElement('a'); - Link.setAttribute('xlink:href', links[o.id]); + Link.setAttribute('xlink:href', links.get(o.id)); Link.setAttribute('target', '_top'); oldParent.appendChild(Link); Link.appendChild(taskRect); diff --git a/packages/mermaid/src/diagrams/git/gitGraphAst.js b/packages/mermaid/src/diagrams/git/gitGraphAst.js index 0997f65b1b..269ffa2bf3 100644 --- a/packages/mermaid/src/diagrams/git/gitGraphAst.js +++ b/packages/mermaid/src/diagrams/git/gitGraphAst.js @@ -14,12 +14,12 @@ import { let mainBranchName = getConfig().gitGraph.mainBranchName; let mainBranchOrder = getConfig().gitGraph.mainBranchOrder; -let commits = {}; +let commits = new Map(); let head = null; -let branchesConfig = {}; -branchesConfig[mainBranchName] = { name: mainBranchName, order: mainBranchOrder }; -let branches = {}; -branches[mainBranchName] = head; +let branchesConfig = new Map(); +branchesConfig.set(mainBranchName, { name: mainBranchName, order: mainBranchOrder }); +let branches = new Map(); +branches.set(mainBranchName, head); let curBranch = mainBranchName; let direction = 'LR'; let seq = 0; @@ -46,11 +46,11 @@ function getId() { // if (Array.isArray(otherCommit.parent)) { // log.debug('In merge commit:', otherCommit.parent); // return ( -// isFastForwardable(currentCommit, commits[otherCommit.parent[0]]) || -// isFastForwardable(currentCommit, commits[otherCommit.parent[1]]) +// isFastForwardable(currentCommit, commits.get(otherCommit.parent[0])) || +// isFastForwardable(currentCommit, commits.get(otherCommit.parent[1])) // ); // } else { -// otherCommit = commits[otherCommit.parent]; +// otherCommit = commits.get(otherCommit.parent); // } // } // log.debug(currentCommit.id, otherCommit.id); @@ -118,16 +118,16 @@ export const commit = function (msg, id, type, tag) { branch: curBranch, }; head = commit; - commits[commit.id] = commit; - branches[curBranch] = commit.id; + commits.set(commit.id, commit); + branches.set(curBranch, commit.id); log.debug('in pushCommit ' + commit.id); }; export const branch = function (name, order) { name = common.sanitizeText(name, getConfig()); - if (branches[name] === undefined) { - branches[name] = head != null ? head.id : null; - branchesConfig[name] = { name, order: order ? parseInt(order, 10) : null }; + if (!branches.has(name)) { + branches.set(name, head != null ? head.id : null); + branchesConfig.set(name, { name, order: order ? parseInt(order, 10) : null }); checkout(name); log.debug('in createBranch'); } else { @@ -151,8 +151,8 @@ export const merge = function (otherBranch, custom_id, override_type, custom_tag otherBranch = common.sanitizeText(otherBranch, getConfig()); custom_id = common.sanitizeText(custom_id, getConfig()); - const currentCommit = commits[branches[curBranch]]; - const otherCommit = commits[branches[otherBranch]]; + const currentCommit = commits.get(branches.get(curBranch)); + const otherCommit = commits.get(branches.get(otherBranch)); if (curBranch === otherBranch) { let error = new Error('Incorrect usage of "merge". Cannot merge a branch to itself'); error.hash = { @@ -175,7 +175,7 @@ export const merge = function (otherBranch, custom_id, override_type, custom_tag expected: ['commit'], }; throw error; - } else if (branches[otherBranch] === undefined) { + } else if (!branches.has(otherBranch)) { let error = new Error( 'Incorrect usage of "merge". Branch to be merged (' + otherBranch + ') does not exist' ); @@ -209,7 +209,7 @@ export const merge = function (otherBranch, custom_id, override_type, custom_tag expected: ['branch abc'], }; throw error; - } else if (custom_id && commits[custom_id] !== undefined) { + } else if (custom_id && commits.has(custom_id)) { let error = new Error( 'Incorrect usage of "merge". Commit with id:' + custom_id + @@ -232,15 +232,15 @@ export const merge = function (otherBranch, custom_id, override_type, custom_tag // return; // } // if (isFastForwardable(currentCommit, otherCommit)) { - // branches[curBranch] = branches[otherBranch]; - // head = commits[branches[curBranch]]; + // branches.set(curBranch, branches.get(otherBranch)); + // head = commits.get(branches.get(curBranch)); // } else { // create merge commit const commit = { id: custom_id ? custom_id : seq + '-' + getId(), message: 'merged branch ' + otherBranch + ' into ' + curBranch, seq: seq++, - parents: [head == null ? null : head.id, branches[otherBranch]], + parents: [head == null ? null : head.id, branches.get(otherBranch)], branch: curBranch, type: commitType.MERGE, customType: override_type, @@ -248,8 +248,8 @@ export const merge = function (otherBranch, custom_id, override_type, custom_tag tag: custom_tag ? custom_tag : '', }; head = commit; - commits[commit.id] = commit; - branches[curBranch] = commit.id; + commits.set(commit.id, commit); + branches.set(curBranch, commit.id); // } log.debug(branches); log.debug('in mergeBranch'); @@ -262,7 +262,7 @@ export const cherryPick = function (sourceId, targetId, tag, parentCommitId) { tag = common.sanitizeText(tag, getConfig()); parentCommitId = common.sanitizeText(parentCommitId, getConfig()); - if (!sourceId || commits[sourceId] === undefined) { + if (!sourceId || !commits.has(sourceId)) { let error = new Error( 'Incorrect usage of "cherryPick". Source commit id should exist and provided' ); @@ -275,7 +275,7 @@ export const cherryPick = function (sourceId, targetId, tag, parentCommitId) { }; throw error; } - let sourceCommit = commits[sourceId]; + let sourceCommit = commits.get(sourceId); let sourceCommitBranch = sourceCommit.branch; if ( parentCommitId && @@ -292,7 +292,7 @@ export const cherryPick = function (sourceId, targetId, tag, parentCommitId) { ); throw error; } - if (!targetId || commits[targetId] === undefined) { + if (!targetId || !commits.has(targetId)) { // cherry-pick source commit to current branch if (sourceCommitBranch === curBranch) { @@ -308,7 +308,7 @@ export const cherryPick = function (sourceId, targetId, tag, parentCommitId) { }; throw error; } - const currentCommit = commits[branches[curBranch]]; + const currentCommit = commits.get(branches.get(curBranch)); if (currentCommit === undefined || !currentCommit) { let error = new Error( 'Incorrect usage of "cherry-pick". Current branch (' + curBranch + ')has no commits' @@ -336,15 +336,15 @@ export const cherryPick = function (sourceId, targetId, tag, parentCommitId) { }`, }; head = commit; - commits[commit.id] = commit; - branches[curBranch] = commit.id; + commits.set(commit.id, commit); + branches.set(curBranch, commit.id); log.debug(branches); log.debug('in cherryPick'); } }; export const checkout = function (branch) { branch = common.sanitizeText(branch, getConfig()); - if (branches[branch] === undefined) { + if (!branches.has(branch)) { let error = new Error( 'Trying to checkout branch which is not yet created. (Help try using "branch ' + branch + '")' ); @@ -360,8 +360,8 @@ export const checkout = function (branch) { //log.debug('in createBranch'); } else { curBranch = branch; - const id = branches[curBranch]; - head = commits[id]; + const id = branches.get(curBranch); + head = commits.get(id); } }; @@ -369,10 +369,10 @@ export const checkout = function (branch) { // log.debug('in reset', commitRef); // const ref = commitRef.split(':')[0]; // let parentCount = parseInt(commitRef.split(':')[1]); -// let commit = ref === 'HEAD' ? head : commits[branches[ref]]; +// let commit = ref === 'HEAD' ? head : commits.get(branches.get(ref)); // log.debug(commit, parentCount); // while (parentCount > 0) { -// commit = commits[commit.parent]; +// commit = commits.get(commit.parent); // parentCount--; // if (!commit) { // const err = 'Critical error - unique parent commit not found during reset'; @@ -416,19 +416,19 @@ function prettyPrintCommitHistory(commitArr) { }); const label = [line, commit.id, commit.seq]; for (let branch in branches) { - if (branches[branch] === commit.id) { + if (branches.get(branch) === commit.id) { label.push(branch); } } log.debug(label.join(' ')); if (commit.parents && commit.parents.length == 2) { - const newCommit = commits[commit.parents[0]]; + const newCommit = commits.get(commit.parents[0]); upsert(commitArr, commit, newCommit); - commitArr.push(commits[commit.parents[1]]); + commitArr.push(commits.get(commit.parents[1])); } else if (commit.parents.length == 0) { return; } else { - const nextCommit = commits[commit.parents]; + const nextCommit = commits.get(commit.parents); upsert(commitArr, commit, nextCommit); } commitArr = uniqBy(commitArr, (c) => c.id); @@ -442,21 +442,21 @@ export const prettyPrint = function () { }; export const clear = function () { - commits = {}; + commits = new Map(); head = null; let mainBranch = getConfig().gitGraph.mainBranchName; let mainBranchOrder = getConfig().gitGraph.mainBranchOrder; - branches = {}; - branches[mainBranch] = null; - branchesConfig = {}; - branchesConfig[mainBranch] = { name: mainBranch, order: mainBranchOrder }; + branches = new Map(); + branches.set(mainBranch, null); + branchesConfig = new Map(); + branchesConfig.set(mainBranch, { name: mainBranch, order: mainBranchOrder }); curBranch = mainBranch; seq = 0; commonClear(); }; export const getBranchesAsObjArray = function () { - const branchesArray = Object.values(branchesConfig) + const branchesArray = [...branchesConfig.values()] .map((branchConfig, i) => { if (branchConfig.order !== null) { return branchConfig; @@ -479,8 +479,8 @@ export const getCommits = function () { return commits; }; export const getCommitsArray = function () { - const commitArr = Object.keys(commits).map(function (key) { - return commits[key]; + const commitArr = [...commits.keys()].map(function (key) { + return commits.get(key); }); commitArr.forEach(function (o) { log.debug(o.id); diff --git a/packages/mermaid/src/diagrams/git/gitGraphParser.spec.js b/packages/mermaid/src/diagrams/git/gitGraphParser.spec.js index f6d4e121ae..3398dd55f5 100644 --- a/packages/mermaid/src/diagrams/git/gitGraphParser.spec.js +++ b/packages/mermaid/src/diagrams/git/gitGraphParser.spec.js @@ -12,10 +12,10 @@ describe('when parsing a gitGraph', function () { parser.parse(str); const commits = parser.yy.getCommits(); - expect(Object.keys(commits).length).toBe(1); + expect(commits.size).toBe(1); expect(parser.yy.getCurrentBranch()).toBe('main'); expect(parser.yy.getDirection()).toBe('LR'); - expect(Object.keys(parser.yy.getBranches()).length).toBe(1); + expect(parser.yy.getBranches().size).toBe(1); }); it('should handle a gitGraph definition with empty options', function () { @@ -25,10 +25,10 @@ describe('when parsing a gitGraph', function () { const commits = parser.yy.getCommits(); expect(parser.yy.getOptions()).toEqual({}); - expect(Object.keys(commits).length).toBe(1); + expect(commits.size).toBe(1); expect(parser.yy.getCurrentBranch()).toBe('main'); expect(parser.yy.getDirection()).toBe('LR'); - expect(Object.keys(parser.yy.getBranches()).length).toBe(1); + expect(parser.yy.getBranches().size).toBe(1); }); it('should handle a gitGraph definition with valid options', function () { @@ -37,10 +37,10 @@ describe('when parsing a gitGraph', function () { parser.parse(str); const commits = parser.yy.getCommits(); expect(parser.yy.getOptions()['key']).toBe('value'); - expect(Object.keys(commits).length).toBe(1); + expect(commits.size).toBe(1); expect(parser.yy.getCurrentBranch()).toBe('main'); expect(parser.yy.getDirection()).toBe('LR'); - expect(Object.keys(parser.yy.getBranches()).length).toBe(1); + expect(parser.yy.getBranches().size).toBe(1); }); it('should not fail on a gitGraph with malformed json', function () { @@ -48,10 +48,10 @@ describe('when parsing a gitGraph', function () { parser.parse(str); const commits = parser.yy.getCommits(); - expect(Object.keys(commits).length).toBe(1); + expect(commits.size).toBe(1); expect(parser.yy.getCurrentBranch()).toBe('main'); expect(parser.yy.getDirection()).toBe('LR'); - expect(Object.keys(parser.yy.getBranches()).length).toBe(1); + expect(parser.yy.getBranches().size).toBe(1); }); it('should handle set direction top to bottom', function () { @@ -60,10 +60,10 @@ describe('when parsing a gitGraph', function () { parser.parse(str); const commits = parser.yy.getCommits(); - expect(Object.keys(commits).length).toBe(1); + expect(commits.size).toBe(1); expect(parser.yy.getCurrentBranch()).toBe('main'); expect(parser.yy.getDirection()).toBe('TB'); - expect(Object.keys(parser.yy.getBranches()).length).toBe(1); + expect(parser.yy.getBranches().size).toBe(1); }); it('should handle set direction bottom to top', function () { @@ -72,10 +72,10 @@ describe('when parsing a gitGraph', function () { parser.parse(str); const commits = parser.yy.getCommits(); - expect(Object.keys(commits).length).toBe(1); + expect(commits.size).toBe(1); expect(parser.yy.getCurrentBranch()).toBe('main'); expect(parser.yy.getDirection()).toBe('BT'); - expect(Object.keys(parser.yy.getBranches()).length).toBe(1); + expect(parser.yy.getBranches().size).toBe(1); }); it('should checkout a branch', function () { @@ -84,7 +84,7 @@ describe('when parsing a gitGraph', function () { parser.parse(str); const commits = parser.yy.getCommits(); - expect(Object.keys(commits).length).toBe(0); + expect(commits.size).toBe(0); expect(parser.yy.getCurrentBranch()).toBe('new'); }); @@ -94,7 +94,7 @@ describe('when parsing a gitGraph', function () { parser.parse(str); const commits = parser.yy.getCommits(); - expect(Object.keys(commits).length).toBe(0); + expect(commits.size).toBe(0); expect(parser.yy.getCurrentBranch()).toBe('new'); }); @@ -104,11 +104,11 @@ describe('when parsing a gitGraph', function () { parser.parse(str); const commits = parser.yy.getCommits(); - expect(Object.keys(commits).length).toBe(2); + expect(commits.size).toBe(2); expect(parser.yy.getCurrentBranch()).toBe('new'); - const branchCommit = parser.yy.getBranches()['new']; + const branchCommit = parser.yy.getBranches().get('new'); expect(branchCommit).not.toBeNull(); - expect(commits[branchCommit].parent).not.toBeNull(); + expect(commits.get(branchCommit).parent).not.toBeNull(); }); it('should handle commit with args', function () { const str = 'gitGraph:\n' + 'commit "a commit"\n'; @@ -116,9 +116,9 @@ describe('when parsing a gitGraph', function () { parser.parse(str); const commits = parser.yy.getCommits(); - expect(Object.keys(commits).length).toBe(1); - const key = Object.keys(commits)[0]; - expect(commits[key].message).toBe('a commit'); + expect(commits.size).toBe(1); + const key = commits.keys().next().value; + expect(commits.get(key).message).toBe('a commit'); expect(parser.yy.getCurrentBranch()).toBe('main'); }); @@ -136,10 +136,10 @@ describe('when parsing a gitGraph', function () { parser.parse(str); const commits = parser.yy.getCommits(); - expect(Object.keys(commits).length).toBe(3); + expect(commits.size).toBe(3); expect(parser.yy.getCurrentBranch()).toBe('newbranch'); - expect(parser.yy.getBranches()['newbranch']).toEqual(parser.yy.getBranches()['main']); - expect(parser.yy.getHead().id).toEqual(parser.yy.getBranches()['newbranch']); + expect(parser.yy.getBranches().get('newbranch')).toEqual(parser.yy.getBranches().get('main')); + expect(parser.yy.getHead().id).toEqual(parser.yy.getBranches().get('newbranch')); }); it.skip('reset can take an argument', function () { @@ -155,9 +155,9 @@ describe('when parsing a gitGraph', function () { parser.parse(str); const commits = parser.yy.getCommits(); - expect(Object.keys(commits).length).toBe(3); + expect(commits.size).toBe(3); expect(parser.yy.getCurrentBranch()).toBe('newbranch'); - const main = commits[parser.yy.getBranches()['main']]; + const main = commits.get(parser.yy.getBranches().get('main')); expect(parser.yy.getHead().id).toEqual(main.parent); }); @@ -175,10 +175,10 @@ describe('when parsing a gitGraph', function () { parser.parse(str); const commits = parser.yy.getCommits(); - expect(Object.keys(commits).length).toBe(4); + expect(commits.size).toBe(4); expect(parser.yy.getCurrentBranch()).toBe('main'); - expect(parser.yy.getBranches()['newbranch']).toEqual(parser.yy.getBranches()['main']); - expect(parser.yy.getHead().id).toEqual(parser.yy.getBranches()['newbranch']); + expect(parser.yy.getBranches().get('newbranch')).toEqual(parser.yy.getBranches().get('main')); + expect(parser.yy.getHead().id).toEqual(parser.yy.getBranches().get('newbranch')); }); it('should handle cases when merge is a noop', function () { @@ -194,10 +194,12 @@ describe('when parsing a gitGraph', function () { parser.parse(str); const commits = parser.yy.getCommits(); - expect(Object.keys(commits).length).toBe(4); + expect(commits.size).toBe(4); expect(parser.yy.getCurrentBranch()).toBe('newbranch'); - expect(parser.yy.getBranches()['newbranch']).not.toEqual(parser.yy.getBranches()['main']); - expect(parser.yy.getHead().id).toEqual(parser.yy.getBranches()['newbranch']); + expect(parser.yy.getBranches().get('newbranch')).not.toEqual( + parser.yy.getBranches().get('main') + ); + expect(parser.yy.getHead().id).toEqual(parser.yy.getBranches().get('newbranch')); }); it('should handle merge with 2 parents', function () { @@ -215,10 +217,12 @@ describe('when parsing a gitGraph', function () { parser.parse(str); const commits = parser.yy.getCommits(); - expect(Object.keys(commits).length).toBe(5); + expect(commits.size).toBe(5); expect(parser.yy.getCurrentBranch()).toBe('main'); - expect(parser.yy.getBranches()['newbranch']).not.toEqual(parser.yy.getBranches()['main']); - expect(parser.yy.getHead().id).toEqual(parser.yy.getBranches()['main']); + expect(parser.yy.getBranches().get('newbranch')).not.toEqual( + parser.yy.getBranches().get('main') + ); + expect(parser.yy.getHead().id).toEqual(parser.yy.getBranches().get('main')); }); it.skip('should handle ff merge when history walk has two parents (merge commit)', function () { @@ -239,10 +243,10 @@ describe('when parsing a gitGraph', function () { parser.parse(str); const commits = parser.yy.getCommits(); - expect(Object.keys(commits).length).toBe(7); + expect(commits.size).toBe(7); expect(parser.yy.getCurrentBranch()).toBe('newbranch'); - expect(parser.yy.getBranches()['newbranch']).toEqual(parser.yy.getBranches()['main']); - expect(parser.yy.getHead().id).toEqual(parser.yy.getBranches()['main']); + expect(parser.yy.getBranches().get('newbranch')).toEqual(parser.yy.getBranches().get('main')); + expect(parser.yy.getHead().id).toEqual(parser.yy.getBranches().get('main')); parser.yy.prettyPrint(); }); diff --git a/packages/mermaid/src/diagrams/git/gitGraphParserV2.spec.js b/packages/mermaid/src/diagrams/git/gitGraphParserV2.spec.js index ac85712b2b..b0e40f73ef 100644 --- a/packages/mermaid/src/diagrams/git/gitGraphParserV2.spec.js +++ b/packages/mermaid/src/diagrams/git/gitGraphParserV2.spec.js @@ -13,15 +13,15 @@ describe('when parsing a gitGraph', function () { parser.parse(str); const commits = parser.yy.getCommits(); //console.info(commits); - expect(Object.keys(commits).length).toBe(1); + expect(commits.size).toBe(1); expect(parser.yy.getCurrentBranch()).toBe('main'); expect(parser.yy.getDirection()).toBe('LR'); - expect(Object.keys(parser.yy.getBranches()).length).toBe(1); - const key = Object.keys(commits)[0]; - expect(commits[key].message).toBe(''); - expect(commits[key].id).not.toBeNull(); - expect(commits[key].tag).toBe(''); - expect(commits[key].type).toBe(0); + expect(parser.yy.getBranches().size).toBe(1); + const key = commits.keys().next().value; + expect(commits.get(key).message).toBe(''); + expect(commits.get(key).id).not.toBeNull(); + expect(commits.get(key).tag).toBe(''); + expect(commits.get(key).type).toBe(0); }); it('should handle a gitGraph commit with custom commit id only', function () { @@ -30,15 +30,15 @@ describe('when parsing a gitGraph', function () { `; parser.parse(str); const commits = parser.yy.getCommits(); - expect(Object.keys(commits).length).toBe(1); + expect(commits.size).toBe(1); expect(parser.yy.getCurrentBranch()).toBe('main'); expect(parser.yy.getDirection()).toBe('LR'); - expect(Object.keys(parser.yy.getBranches()).length).toBe(1); - const key = Object.keys(commits)[0]; - expect(commits[key].message).toBe(''); - expect(commits[key].id).toBe('1111'); - expect(commits[key].tag).toBe(''); - expect(commits[key].type).toBe(0); + expect(parser.yy.getBranches().size).toBe(1); + const key = commits.keys().next().value; + expect(commits.get(key).message).toBe(''); + expect(commits.get(key).id).toBe('1111'); + expect(commits.get(key).tag).toBe(''); + expect(commits.get(key).type).toBe(0); }); it('should handle a gitGraph commit with custom commit tag only', function () { @@ -48,15 +48,15 @@ describe('when parsing a gitGraph', function () { parser.parse(str); const commits = parser.yy.getCommits(); - expect(Object.keys(commits).length).toBe(1); + expect(commits.size).toBe(1); expect(parser.yy.getCurrentBranch()).toBe('main'); expect(parser.yy.getDirection()).toBe('LR'); - expect(Object.keys(parser.yy.getBranches()).length).toBe(1); - const key = Object.keys(commits)[0]; - expect(commits[key].message).toBe(''); - expect(commits[key].id).not.toBeNull(); - expect(commits[key].tag).toBe('test'); - expect(commits[key].type).toBe(0); + expect(parser.yy.getBranches().size).toBe(1); + const key = commits.keys().next().value; + expect(commits.get(key).message).toBe(''); + expect(commits.get(key).id).not.toBeNull(); + expect(commits.get(key).tag).toBe('test'); + expect(commits.get(key).type).toBe(0); }); it('should handle a gitGraph commit with custom commit type HIGHLIGHT only', function () { @@ -66,15 +66,15 @@ describe('when parsing a gitGraph', function () { parser.parse(str); const commits = parser.yy.getCommits(); - expect(Object.keys(commits).length).toBe(1); + expect(commits.size).toBe(1); expect(parser.yy.getCurrentBranch()).toBe('main'); expect(parser.yy.getDirection()).toBe('LR'); - expect(Object.keys(parser.yy.getBranches()).length).toBe(1); - const key = Object.keys(commits)[0]; - expect(commits[key].message).toBe(''); - expect(commits[key].id).not.toBeNull(); - expect(commits[key].tag).toBe(''); - expect(commits[key].type).toBe(2); + expect(parser.yy.getBranches().size).toBe(1); + const key = commits.keys().next().value; + expect(commits.get(key).message).toBe(''); + expect(commits.get(key).id).not.toBeNull(); + expect(commits.get(key).tag).toBe(''); + expect(commits.get(key).type).toBe(2); }); it('should handle a gitGraph commit with custom commit type REVERSE only', function () { @@ -84,15 +84,15 @@ describe('when parsing a gitGraph', function () { parser.parse(str); const commits = parser.yy.getCommits(); - expect(Object.keys(commits).length).toBe(1); + expect(commits.size).toBe(1); expect(parser.yy.getCurrentBranch()).toBe('main'); expect(parser.yy.getDirection()).toBe('LR'); - expect(Object.keys(parser.yy.getBranches()).length).toBe(1); - const key = Object.keys(commits)[0]; - expect(commits[key].message).toBe(''); - expect(commits[key].id).not.toBeNull(); - expect(commits[key].tag).toBe(''); - expect(commits[key].type).toBe(1); + expect(parser.yy.getBranches().size).toBe(1); + const key = commits.keys().next().value; + expect(commits.get(key).message).toBe(''); + expect(commits.get(key).id).not.toBeNull(); + expect(commits.get(key).tag).toBe(''); + expect(commits.get(key).type).toBe(1); }); it('should handle a gitGraph commit with custom commit type NORMAL only', function () { @@ -102,15 +102,15 @@ describe('when parsing a gitGraph', function () { parser.parse(str); const commits = parser.yy.getCommits(); - expect(Object.keys(commits).length).toBe(1); + expect(commits.size).toBe(1); expect(parser.yy.getCurrentBranch()).toBe('main'); expect(parser.yy.getDirection()).toBe('LR'); - expect(Object.keys(parser.yy.getBranches()).length).toBe(1); - const key = Object.keys(commits)[0]; - expect(commits[key].message).toBe(''); - expect(commits[key].id).not.toBeNull(); - expect(commits[key].tag).toBe(''); - expect(commits[key].type).toBe(0); + expect(parser.yy.getBranches().size).toBe(1); + const key = commits.keys().next().value; + expect(commits.get(key).message).toBe(''); + expect(commits.get(key).id).not.toBeNull(); + expect(commits.get(key).tag).toBe(''); + expect(commits.get(key).type).toBe(0); }); it('should handle a gitGraph commit with custom commit msg only', function () { @@ -120,15 +120,15 @@ describe('when parsing a gitGraph', function () { parser.parse(str); const commits = parser.yy.getCommits(); - expect(Object.keys(commits).length).toBe(1); + expect(commits.size).toBe(1); expect(parser.yy.getCurrentBranch()).toBe('main'); expect(parser.yy.getDirection()).toBe('LR'); - expect(Object.keys(parser.yy.getBranches()).length).toBe(1); - const key = Object.keys(commits)[0]; - expect(commits[key].message).toBe('test commit'); - expect(commits[key].id).not.toBeNull(); - expect(commits[key].tag).toBe(''); - expect(commits[key].type).toBe(0); + expect(parser.yy.getBranches().size).toBe(1); + const key = commits.keys().next().value; + expect(commits.get(key).message).toBe('test commit'); + expect(commits.get(key).id).not.toBeNull(); + expect(commits.get(key).tag).toBe(''); + expect(commits.get(key).type).toBe(0); }); it('should handle a gitGraph commit with custom commit "msg:" key only', function () { @@ -138,15 +138,15 @@ describe('when parsing a gitGraph', function () { parser.parse(str); const commits = parser.yy.getCommits(); - expect(Object.keys(commits).length).toBe(1); + expect(commits.size).toBe(1); expect(parser.yy.getCurrentBranch()).toBe('main'); expect(parser.yy.getDirection()).toBe('LR'); - expect(Object.keys(parser.yy.getBranches()).length).toBe(1); - const key = Object.keys(commits)[0]; - expect(commits[key].message).toBe('test commit'); - expect(commits[key].id).not.toBeNull(); - expect(commits[key].tag).toBe(''); - expect(commits[key].type).toBe(0); + expect(parser.yy.getBranches().size).toBe(1); + const key = commits.keys().next().value; + expect(commits.get(key).message).toBe('test commit'); + expect(commits.get(key).id).not.toBeNull(); + expect(commits.get(key).tag).toBe(''); + expect(commits.get(key).type).toBe(0); }); it('should handle a gitGraph commit with custom commit id, tag only', function () { @@ -156,15 +156,15 @@ describe('when parsing a gitGraph', function () { parser.parse(str); const commits = parser.yy.getCommits(); - expect(Object.keys(commits).length).toBe(1); + expect(commits.size).toBe(1); expect(parser.yy.getCurrentBranch()).toBe('main'); expect(parser.yy.getDirection()).toBe('LR'); - expect(Object.keys(parser.yy.getBranches()).length).toBe(1); - const key = Object.keys(commits)[0]; - expect(commits[key].message).toBe(''); - expect(commits[key].id).toBe('1111'); - expect(commits[key].tag).toBe('test tag'); - expect(commits[key].type).toBe(0); + expect(parser.yy.getBranches().size).toBe(1); + const key = commits.keys().next().value; + expect(commits.get(key).message).toBe(''); + expect(commits.get(key).id).toBe('1111'); + expect(commits.get(key).tag).toBe('test tag'); + expect(commits.get(key).type).toBe(0); }); it('should handle a gitGraph commit with custom commit type, tag only', function () { @@ -174,15 +174,15 @@ describe('when parsing a gitGraph', function () { parser.parse(str); const commits = parser.yy.getCommits(); - expect(Object.keys(commits).length).toBe(1); + expect(commits.size).toBe(1); expect(parser.yy.getCurrentBranch()).toBe('main'); expect(parser.yy.getDirection()).toBe('LR'); - expect(Object.keys(parser.yy.getBranches()).length).toBe(1); - const key = Object.keys(commits)[0]; - expect(commits[key].message).toBe(''); - expect(commits[key].id).not.toBeNull(); - expect(commits[key].tag).toBe('test tag'); - expect(commits[key].type).toBe(2); + expect(parser.yy.getBranches().size).toBe(1); + const key = commits.keys().next().value; + expect(commits.get(key).message).toBe(''); + expect(commits.get(key).id).not.toBeNull(); + expect(commits.get(key).tag).toBe('test tag'); + expect(commits.get(key).type).toBe(2); }); it('should handle a gitGraph commit with custom commit tag and type only', function () { @@ -192,15 +192,15 @@ describe('when parsing a gitGraph', function () { parser.parse(str); const commits = parser.yy.getCommits(); - expect(Object.keys(commits).length).toBe(1); + expect(commits.size).toBe(1); expect(parser.yy.getCurrentBranch()).toBe('main'); expect(parser.yy.getDirection()).toBe('LR'); - expect(Object.keys(parser.yy.getBranches()).length).toBe(1); - const key = Object.keys(commits)[0]; - expect(commits[key].message).toBe(''); - expect(commits[key].id).not.toBeNull(); - expect(commits[key].tag).toBe('test tag'); - expect(commits[key].type).toBe(2); + expect(parser.yy.getBranches().size).toBe(1); + const key = commits.keys().next().value; + expect(commits.get(key).message).toBe(''); + expect(commits.get(key).id).not.toBeNull(); + expect(commits.get(key).tag).toBe('test tag'); + expect(commits.get(key).type).toBe(2); }); it('should handle a gitGraph commit with custom commit id, type and tag only', function () { @@ -210,15 +210,15 @@ describe('when parsing a gitGraph', function () { parser.parse(str); const commits = parser.yy.getCommits(); - expect(Object.keys(commits).length).toBe(1); + expect(commits.size).toBe(1); expect(parser.yy.getCurrentBranch()).toBe('main'); expect(parser.yy.getDirection()).toBe('LR'); - expect(Object.keys(parser.yy.getBranches()).length).toBe(1); - const key = Object.keys(commits)[0]; - expect(commits[key].message).toBe(''); - expect(commits[key].id).toBe('1111'); - expect(commits[key].tag).toBe('test tag'); - expect(commits[key].type).toBe(1); + expect(parser.yy.getBranches().size).toBe(1); + const key = commits.keys().next().value; + expect(commits.get(key).message).toBe(''); + expect(commits.get(key).id).toBe('1111'); + expect(commits.get(key).tag).toBe('test tag'); + expect(commits.get(key).type).toBe(1); }); it('should handle a gitGraph commit with custom commit id, type, tag and msg', function () { @@ -228,15 +228,15 @@ describe('when parsing a gitGraph', function () { parser.parse(str); const commits = parser.yy.getCommits(); - expect(Object.keys(commits).length).toBe(1); + expect(commits.size).toBe(1); expect(parser.yy.getCurrentBranch()).toBe('main'); expect(parser.yy.getDirection()).toBe('LR'); - expect(Object.keys(parser.yy.getBranches()).length).toBe(1); - const key = Object.keys(commits)[0]; - expect(commits[key].message).toBe('test msg'); - expect(commits[key].id).toBe('1111'); - expect(commits[key].tag).toBe('test tag'); - expect(commits[key].type).toBe(1); + expect(parser.yy.getBranches().size).toBe(1); + const key = commits.keys().next().value; + expect(commits.get(key).message).toBe('test msg'); + expect(commits.get(key).id).toBe('1111'); + expect(commits.get(key).tag).toBe('test tag'); + expect(commits.get(key).type).toBe(1); }); it('should handle a gitGraph commit with custom type,tag, msg, commit id,', function () { @@ -247,15 +247,15 @@ describe('when parsing a gitGraph', function () { parser.parse(str); const commits = parser.yy.getCommits(); - expect(Object.keys(commits).length).toBe(1); + expect(commits.size).toBe(1); expect(parser.yy.getCurrentBranch()).toBe('main'); expect(parser.yy.getDirection()).toBe('LR'); - expect(Object.keys(parser.yy.getBranches()).length).toBe(1); - const key = Object.keys(commits)[0]; - expect(commits[key].message).toBe('test msg'); - expect(commits[key].id).toBe('1111'); - expect(commits[key].tag).toBe('test tag'); - expect(commits[key].type).toBe(1); + expect(parser.yy.getBranches().size).toBe(1); + const key = commits.keys().next().value; + expect(commits.get(key).message).toBe('test msg'); + expect(commits.get(key).id).toBe('1111'); + expect(commits.get(key).tag).toBe('test tag'); + expect(commits.get(key).type).toBe(1); }); it('should handle a gitGraph commit with custom tag, msg, commit id, type,', function () { @@ -265,15 +265,15 @@ describe('when parsing a gitGraph', function () { parser.parse(str); const commits = parser.yy.getCommits(); - expect(Object.keys(commits).length).toBe(1); + expect(commits.size).toBe(1); expect(parser.yy.getCurrentBranch()).toBe('main'); expect(parser.yy.getDirection()).toBe('LR'); - expect(Object.keys(parser.yy.getBranches()).length).toBe(1); - const key = Object.keys(commits)[0]; - expect(commits[key].message).toBe('test msg'); - expect(commits[key].id).toBe('1111'); - expect(commits[key].tag).toBe('test tag'); - expect(commits[key].type).toBe(1); + expect(parser.yy.getBranches().size).toBe(1); + const key = commits.keys().next().value; + expect(commits.get(key).message).toBe('test msg'); + expect(commits.get(key).id).toBe('1111'); + expect(commits.get(key).tag).toBe('test tag'); + expect(commits.get(key).type).toBe(1); }); it('should handle a gitGraph commit with custom msg, commit id, type,tag', function () { @@ -283,15 +283,15 @@ describe('when parsing a gitGraph', function () { parser.parse(str); const commits = parser.yy.getCommits(); - expect(Object.keys(commits).length).toBe(1); + expect(commits.size).toBe(1); expect(parser.yy.getCurrentBranch()).toBe('main'); expect(parser.yy.getDirection()).toBe('LR'); - expect(Object.keys(parser.yy.getBranches()).length).toBe(1); - const key = Object.keys(commits)[0]; - expect(commits[key].message).toBe('test msg'); - expect(commits[key].id).toBe('1111'); - expect(commits[key].tag).toBe('test tag'); - expect(commits[key].type).toBe(1); + expect(parser.yy.getBranches().size).toBe(1); + const key = commits.keys().next().value; + expect(commits.get(key).message).toBe('test msg'); + expect(commits.get(key).id).toBe('1111'); + expect(commits.get(key).tag).toBe('test tag'); + expect(commits.get(key).type).toBe(1); }); it('should handle 3 straight commits', function () { @@ -303,10 +303,10 @@ describe('when parsing a gitGraph', function () { parser.parse(str); const commits = parser.yy.getCommits(); - expect(Object.keys(commits).length).toBe(3); + expect(commits.size).toBe(3); expect(parser.yy.getCurrentBranch()).toBe('main'); expect(parser.yy.getDirection()).toBe('LR'); - expect(Object.keys(parser.yy.getBranches()).length).toBe(1); + expect(parser.yy.getBranches().size).toBe(1); }); it('should handle new branch creation', function () { @@ -317,10 +317,10 @@ describe('when parsing a gitGraph', function () { parser.parse(str); const commits = parser.yy.getCommits(); - expect(Object.keys(commits).length).toBe(1); + expect(commits.size).toBe(1); expect(parser.yy.getCurrentBranch()).toBe('testBranch'); expect(parser.yy.getDirection()).toBe('LR'); - expect(Object.keys(parser.yy.getBranches()).length).toBe(2); + expect(parser.yy.getBranches().size).toBe(2); }); it('should allow quoted branch names', function () { @@ -335,16 +335,16 @@ describe('when parsing a gitGraph', function () { parser.parse(str); const commits = parser.yy.getCommits(); - expect(Object.keys(commits).length).toBe(3); + expect(commits.size).toBe(3); expect(parser.yy.getCurrentBranch()).toBe('main'); expect(parser.yy.getDirection()).toBe('LR'); - expect(Object.keys(parser.yy.getBranches()).length).toBe(2); - const commit1 = Object.keys(commits)[0]; - const commit2 = Object.keys(commits)[1]; - const commit3 = Object.keys(commits)[2]; - expect(commits[commit1].branch).toBe('main'); - expect(commits[commit2].branch).toBe('branch'); - expect(commits[commit3].branch).toBe('main'); + expect(parser.yy.getBranches().size).toBe(2); + const commit1 = commits.keys().next().value; + const commit2 = [...commits.keys()][1]; + const commit3 = [...commits.keys()][2]; + expect(commits.get(commit1).branch).toBe('main'); + expect(commits.get(commit2).branch).toBe('branch'); + expect(commits.get(commit3).branch).toBe('main'); expect(parser.yy.getBranchesAsObjArray()).toStrictEqual([{ name: 'main' }, { name: 'branch' }]); }); @@ -356,10 +356,10 @@ describe('when parsing a gitGraph', function () { parser.parse(str); const commits = parser.yy.getCommits(); - expect(Object.keys(commits).length).toBe(1); + expect(commits.size).toBe(1); expect(parser.yy.getCurrentBranch()).toBe('azAZ_-./test'); expect(parser.yy.getDirection()).toBe('LR'); - expect(Object.keys(parser.yy.getBranches()).length).toBe(2); + expect(parser.yy.getBranches().size).toBe(2); }); it('should allow branch names starting with numbers', function () { @@ -371,10 +371,10 @@ describe('when parsing a gitGraph', function () { parser.parse(str); const commits = parser.yy.getCommits(); - expect(Object.keys(commits).length).toBe(1); + expect(commits.size).toBe(1); expect(parser.yy.getCurrentBranch()).toBe('1.0.1'); expect(parser.yy.getDirection()).toBe('LR'); - expect(Object.keys(parser.yy.getBranches()).length).toBe(2); + expect(parser.yy.getBranches().size).toBe(2); }); it('should allow branch names starting with unusual prefixes', function () { @@ -392,11 +392,11 @@ describe('when parsing a gitGraph', function () { parser.parse(str); const commits = parser.yy.getCommits(); - expect(Object.keys(commits).length).toBe(1); + expect(commits.size).toBe(1); expect(parser.yy.getCurrentBranch()).toBe('A'); expect(parser.yy.getDirection()).toBe('LR'); - expect(Object.keys(parser.yy.getBranches()).length).toBe(7); - expect(Object.keys(parser.yy.getBranches())).toEqual( + expect(parser.yy.getBranches().size).toBe(7); + expect([...parser.yy.getBranches().keys()]).toEqual( expect.arrayContaining([ 'branch01', 'checkout02', @@ -417,10 +417,10 @@ describe('when parsing a gitGraph', function () { parser.parse(str); const commits = parser.yy.getCommits(); - expect(Object.keys(commits).length).toBe(1); + expect(commits.size).toBe(1); expect(parser.yy.getCurrentBranch()).toBe('testBranch'); expect(parser.yy.getDirection()).toBe('LR'); - expect(Object.keys(parser.yy.getBranches()).length).toBe(2); + expect(parser.yy.getBranches().size).toBe(2); }); it('should handle new branch checkout with order', function () { const str = `gitGraph: @@ -432,9 +432,9 @@ describe('when parsing a gitGraph', function () { parser.parse(str); const commits = parser.yy.getCommits(); - expect(Object.keys(commits).length).toBe(1); + expect(commits.size).toBe(1); expect(parser.yy.getCurrentBranch()).toBe('test3'); - expect(Object.keys(parser.yy.getBranches()).length).toBe(4); + expect(parser.yy.getBranches().size).toBe(4); expect(parser.yy.getBranchesAsObjArray()).toStrictEqual([ { name: 'main' }, { name: 'test3' }, @@ -452,9 +452,9 @@ describe('when parsing a gitGraph', function () { parser.parse(str); const commits = parser.yy.getCommits(); - expect(Object.keys(commits).length).toBe(1); + expect(commits.size).toBe(1); expect(parser.yy.getCurrentBranch()).toBe('test3'); - expect(Object.keys(parser.yy.getBranches()).length).toBe(4); + expect(parser.yy.getBranches().size).toBe(4); expect(parser.yy.getBranchesAsObjArray()).toStrictEqual([ { name: 'main' }, { name: 'test2' }, @@ -473,16 +473,16 @@ describe('when parsing a gitGraph', function () { parser.parse(str); const commits = parser.yy.getCommits(); - expect(Object.keys(commits).length).toBe(2); + expect(commits.size).toBe(2); expect(parser.yy.getCurrentBranch()).toBe('testBranch'); expect(parser.yy.getDirection()).toBe('LR'); - expect(Object.keys(parser.yy.getBranches()).length).toBe(2); - const commit1 = Object.keys(commits)[0]; - const commit2 = Object.keys(commits)[1]; - expect(commits[commit1].branch).toBe('main'); - expect(commits[commit1].parents).toStrictEqual([]); - expect(commits[commit2].branch).toBe('testBranch'); - expect(commits[commit2].parents).toStrictEqual([commit1]); + expect(parser.yy.getBranches().size).toBe(2); + const commit1 = commits.keys().next().value; + const commit2 = [...commits.keys()][1]; + expect(commits.get(commit1).branch).toBe('main'); + expect(commits.get(commit1).parents).toStrictEqual([]); + expect(commits.get(commit2).branch).toBe('testBranch'); + expect(commits.get(commit2).parents).toStrictEqual([commit1]); }); it('should handle new branch checkout & commit and merge', function () { @@ -498,22 +498,25 @@ describe('when parsing a gitGraph', function () { parser.parse(str); const commits = parser.yy.getCommits(); - expect(Object.keys(commits).length).toBe(4); + expect(commits.size).toBe(4); expect(parser.yy.getCurrentBranch()).toBe('main'); expect(parser.yy.getDirection()).toBe('LR'); - expect(Object.keys(parser.yy.getBranches()).length).toBe(2); - const commit1 = Object.keys(commits)[0]; - const commit2 = Object.keys(commits)[1]; - const commit3 = Object.keys(commits)[2]; - const commit4 = Object.keys(commits)[3]; - expect(commits[commit1].branch).toBe('main'); - expect(commits[commit1].parents).toStrictEqual([]); - expect(commits[commit2].branch).toBe('testBranch'); - expect(commits[commit2].parents).toStrictEqual([commits[commit1].id]); - expect(commits[commit3].branch).toBe('testBranch'); - expect(commits[commit3].parents).toStrictEqual([commits[commit2].id]); - expect(commits[commit4].branch).toBe('main'); - expect(commits[commit4].parents).toStrictEqual([commits[commit1].id, commits[commit3].id]); + expect(parser.yy.getBranches().size).toBe(2); + const commit1 = commits.keys().next().value; + const commit2 = [...commits.keys()][1]; + const commit3 = [...commits.keys()][2]; + const commit4 = [...commits.keys()][3]; + expect(commits.get(commit1).branch).toBe('main'); + expect(commits.get(commit1).parents).toStrictEqual([]); + expect(commits.get(commit2).branch).toBe('testBranch'); + expect(commits.get(commit2).parents).toStrictEqual([commits.get(commit1).id]); + expect(commits.get(commit3).branch).toBe('testBranch'); + expect(commits.get(commit3).parents).toStrictEqual([commits.get(commit2).id]); + expect(commits.get(commit4).branch).toBe('main'); + expect(commits.get(commit4).parents).toStrictEqual([ + commits.get(commit1).id, + commits.get(commit3).id, + ]); expect(parser.yy.getBranchesAsObjArray()).toStrictEqual([ { name: 'main' }, { name: 'testBranch' }, @@ -529,10 +532,10 @@ describe('when parsing a gitGraph', function () { parser.parse(str); const commits = parser.yy.getCommits(); - expect(Object.keys(commits).length).toBe(1); + expect(commits.size).toBe(1); expect(parser.yy.getCurrentBranch()).toBe('testBranch'); expect(parser.yy.getDirection()).toBe('LR'); - expect(Object.keys(parser.yy.getBranches()).length).toBe(2); + expect(parser.yy.getBranches().size).toBe(2); }); it('should handle new branch switch & commit', function () { @@ -545,16 +548,16 @@ describe('when parsing a gitGraph', function () { parser.parse(str); const commits = parser.yy.getCommits(); - expect(Object.keys(commits).length).toBe(2); + expect(commits.size).toBe(2); expect(parser.yy.getCurrentBranch()).toBe('testBranch'); expect(parser.yy.getDirection()).toBe('LR'); - expect(Object.keys(parser.yy.getBranches()).length).toBe(2); - const commit1 = Object.keys(commits)[0]; - const commit2 = Object.keys(commits)[1]; - expect(commits[commit1].branch).toBe('main'); - expect(commits[commit1].parents).toStrictEqual([]); - expect(commits[commit2].branch).toBe('testBranch'); - expect(commits[commit2].parents).toStrictEqual([commit1]); + expect(parser.yy.getBranches().size).toBe(2); + const commit1 = commits.keys().next().value; + const commit2 = [...commits.keys()][1]; + expect(commits.get(commit1).branch).toBe('main'); + expect(commits.get(commit1).parents).toStrictEqual([]); + expect(commits.get(commit2).branch).toBe('testBranch'); + expect(commits.get(commit2).parents).toStrictEqual([commit1]); }); it('should handle new branch switch & commit and merge', function () { @@ -570,22 +573,25 @@ describe('when parsing a gitGraph', function () { parser.parse(str); const commits = parser.yy.getCommits(); - expect(Object.keys(commits).length).toBe(4); + expect(commits.size).toBe(4); expect(parser.yy.getCurrentBranch()).toBe('main'); expect(parser.yy.getDirection()).toBe('LR'); - expect(Object.keys(parser.yy.getBranches()).length).toBe(2); - const commit1 = Object.keys(commits)[0]; - const commit2 = Object.keys(commits)[1]; - const commit3 = Object.keys(commits)[2]; - const commit4 = Object.keys(commits)[3]; - expect(commits[commit1].branch).toBe('main'); - expect(commits[commit1].parents).toStrictEqual([]); - expect(commits[commit2].branch).toBe('testBranch'); - expect(commits[commit2].parents).toStrictEqual([commits[commit1].id]); - expect(commits[commit3].branch).toBe('testBranch'); - expect(commits[commit3].parents).toStrictEqual([commits[commit2].id]); - expect(commits[commit4].branch).toBe('main'); - expect(commits[commit4].parents).toStrictEqual([commits[commit1].id, commits[commit3].id]); + expect(parser.yy.getBranches().size).toBe(2); + const commit1 = commits.keys().next().value; + const commit2 = [...commits.keys()][1]; + const commit3 = [...commits.keys()][2]; + const commit4 = [...commits.keys()][3]; + expect(commits.get(commit1).branch).toBe('main'); + expect(commits.get(commit1).parents).toStrictEqual([]); + expect(commits.get(commit2).branch).toBe('testBranch'); + expect(commits.get(commit2).parents).toStrictEqual([commits.get(commit1).id]); + expect(commits.get(commit3).branch).toBe('testBranch'); + expect(commits.get(commit3).parents).toStrictEqual([commits.get(commit2).id]); + expect(commits.get(commit4).branch).toBe('main'); + expect(commits.get(commit4).parents).toStrictEqual([ + commits.get(commit1).id, + commits.get(commit3).id, + ]); expect(parser.yy.getBranchesAsObjArray()).toStrictEqual([ { name: 'main' }, { name: 'testBranch' }, @@ -604,23 +610,26 @@ describe('when parsing a gitGraph', function () { parser.parse(str); const commits = parser.yy.getCommits(); - expect(Object.keys(commits).length).toBe(3); + expect(commits.size).toBe(3); expect(parser.yy.getCurrentBranch()).toBe('main'); expect(parser.yy.getDirection()).toBe('LR'); - expect(Object.keys(parser.yy.getBranches()).length).toBe(2); - const commit1 = Object.keys(commits)[0]; - const commit2 = Object.keys(commits)[1]; - const commit3 = Object.keys(commits)[2]; + expect(parser.yy.getBranches().size).toBe(2); + const commit1 = commits.keys().next().value; + const commit2 = [...commits.keys()][1]; + const commit3 = [...commits.keys()][2]; - expect(commits[commit1].branch).toBe('main'); - expect(commits[commit1].parents).toStrictEqual([]); + expect(commits.get(commit1).branch).toBe('main'); + expect(commits.get(commit1).parents).toStrictEqual([]); - expect(commits[commit2].branch).toBe('testBranch'); - expect(commits[commit2].parents).toStrictEqual([commits[commit1].id]); + expect(commits.get(commit2).branch).toBe('testBranch'); + expect(commits.get(commit2).parents).toStrictEqual([commits.get(commit1).id]); - expect(commits[commit3].branch).toBe('main'); - expect(commits[commit3].parents).toStrictEqual([commits[commit1].id, commits[commit2].id]); - expect(commits[commit3].tag).toBe('merge-tag'); + expect(commits.get(commit3).branch).toBe('main'); + expect(commits.get(commit3).parents).toStrictEqual([ + commits.get(commit1).id, + commits.get(commit2).id, + ]); + expect(commits.get(commit3).tag).toBe('merge-tag'); expect(parser.yy.getBranchesAsObjArray()).toStrictEqual([ { name: 'main' }, { name: 'testBranch' }, @@ -652,7 +661,7 @@ describe('when parsing a gitGraph', function () { parser.parse(str); const commits = parser.yy.getCommits(); - expect(Object.keys(commits).length).toBe(7); + expect(commits.size).toBe(7); expect(parser.yy.getCurrentBranch()).toBe('main'); expect(parser.yy.getDirection()).toBe('LR'); @@ -665,7 +674,7 @@ describe('when parsing a gitGraph', function () { testBranch2Merge, testBranch3Commit, testBranch3Merge, - ] = Object.values(commits); + ] = [...commits.values()]; expect(mainCommit.branch).toBe('main'); expect(mainCommit.parents).toStrictEqual([]); @@ -708,9 +717,9 @@ describe('when parsing a gitGraph', function () { parser.parse(str); const commits = parser.yy.getCommits(); - const cherryPickCommitID = Object.keys(commits)[2]; - expect(commits[cherryPickCommitID].tag).toBe('cherry-pick:A'); - expect(commits[cherryPickCommitID].branch).toBe('main'); + const cherryPickCommitID = [...commits.keys()][2]; + expect(commits.get(cherryPickCommitID).tag).toBe('cherry-pick:A'); + expect(commits.get(cherryPickCommitID).branch).toBe('main'); }); it('should support cherry-picking commits with custom tag', function () { @@ -724,9 +733,9 @@ describe('when parsing a gitGraph', function () { parser.parse(str); const commits = parser.yy.getCommits(); - const cherryPickCommitID = Object.keys(commits)[2]; - expect(commits[cherryPickCommitID].tag).toBe('MyTag'); - expect(commits[cherryPickCommitID].branch).toBe('main'); + const cherryPickCommitID = [...commits.keys()][2]; + expect(commits.get(cherryPickCommitID).tag).toBe('MyTag'); + expect(commits.get(cherryPickCommitID).branch).toBe('main'); }); it('should support cherry-picking commits with no tag', function () { @@ -740,9 +749,9 @@ describe('when parsing a gitGraph', function () { parser.parse(str); const commits = parser.yy.getCommits(); - const cherryPickCommitID = Object.keys(commits)[2]; - expect(commits[cherryPickCommitID].tag).toBe(''); - expect(commits[cherryPickCommitID].branch).toBe('main'); + const cherryPickCommitID = [...commits.keys()][2]; + expect(commits.get(cherryPickCommitID).tag).toBe(''); + expect(commits.get(cherryPickCommitID).branch).toBe('main'); }); it('should support cherry-picking of merge commits', function () { @@ -761,9 +770,9 @@ describe('when parsing a gitGraph', function () { parser.parse(str); const commits = parser.yy.getCommits(); - const cherryPickCommitID = Object.keys(commits)[4]; - expect(commits[cherryPickCommitID].tag).toBe('cherry-pick:M|parent:B'); - expect(commits[cherryPickCommitID].branch).toBe('release'); + const cherryPickCommitID = [...commits.keys()][4]; + expect(commits.get(cherryPickCommitID).tag).toBe('cherry-pick:M|parent:B'); + expect(commits.get(cherryPickCommitID).branch).toBe('release'); }); it('should support cherry-picking of merge commits with tag', function () { @@ -782,9 +791,9 @@ describe('when parsing a gitGraph', function () { parser.parse(str); const commits = parser.yy.getCommits(); - const cherryPickCommitID = Object.keys(commits)[4]; - expect(commits[cherryPickCommitID].tag).toBe('v1.0'); - expect(commits[cherryPickCommitID].branch).toBe('release'); + const cherryPickCommitID = [...commits.keys()][4]; + expect(commits.get(cherryPickCommitID).tag).toBe('v1.0'); + expect(commits.get(cherryPickCommitID).branch).toBe('release'); }); it('should support cherry-picking of merge commits with additional commit', function () { @@ -805,9 +814,9 @@ describe('when parsing a gitGraph', function () { parser.parse(str); const commits = parser.yy.getCommits(); - const cherryPickCommitID = Object.keys(commits)[5]; - expect(commits[cherryPickCommitID].tag).toBe('v2.1:ZERO'); - expect(commits[cherryPickCommitID].branch).toBe('release'); + const cherryPickCommitID = [...commits.keys()][5]; + expect(commits.get(cherryPickCommitID).tag).toBe('v2.1:ZERO'); + expect(commits.get(cherryPickCommitID).branch).toBe('release'); }); it('should support cherry-picking of merge commits with empty tag', function () { @@ -829,11 +838,11 @@ describe('when parsing a gitGraph', function () { parser.parse(str); const commits = parser.yy.getCommits(); - const cherryPickCommitID = Object.keys(commits)[5]; - const cherryPickCommitID2 = Object.keys(commits)[7]; - expect(commits[cherryPickCommitID].tag).toBe(''); - expect(commits[cherryPickCommitID2].tag).toBe(''); - expect(commits[cherryPickCommitID].branch).toBe('release'); + const cherryPickCommitID = [...commits.keys()][5]; + const cherryPickCommitID2 = [...commits.keys()][7]; + expect(commits.get(cherryPickCommitID).tag).toBe(''); + expect(commits.get(cherryPickCommitID2).tag).toBe(''); + expect(commits.get(cherryPickCommitID).branch).toBe('release'); }); it('should fail cherry-picking of merge commits if the parent of merge commits is not specified', function () { diff --git a/packages/mermaid/src/diagrams/git/gitGraphRenderer.js b/packages/mermaid/src/diagrams/git/gitGraphRenderer.js index 7ccc60cd03..2576b26628 100644 --- a/packages/mermaid/src/diagrams/git/gitGraphRenderer.js +++ b/packages/mermaid/src/diagrams/git/gitGraphRenderer.js @@ -129,7 +129,7 @@ const setParallelBTPos = (sortedKeys, commits, defaultPos, commitStep, layoutOff let maxPosition = defaultPos; let roots = []; sortedKeys.forEach((key) => { - const commit = commits[key]; + const commit = commits.get(key); if (commit.parents.length) { const closestParent = findClosestParent(commit.parents); curPos = commitPos[closestParent].y + commitStep; @@ -151,7 +151,7 @@ const setParallelBTPos = (sortedKeys, commits, defaultPos, commitStep, layoutOff commitPos[commit.id] = { x: x, y: y }; }); sortedKeys.forEach((key) => { - const commit = commits[key]; + const commit = commits.get(key); if (commit.parents.length) { const closestParent = findClosestParentBT(commit.parents); curPos = commitPos[closestParent].y - commitStep; @@ -183,18 +183,18 @@ const drawCommits = (svg, commits, modifyGraph) => { if (dir === 'TB' || dir === 'BT') { pos = defaultPos; } - const keys = Object.keys(commits); + const keys = [...commits.keys()]; const isParallelCommits = gitGraphConfig.parallelCommits; const layoutOffset = 10; const commitStep = 40; let sortedKeys = dir !== 'BT' || (dir === 'BT' && isParallelCommits) ? keys.sort((a, b) => { - return commits[a].seq - commits[b].seq; + return commits.get(a).seq - commits.get(b).seq; }) : keys .sort((a, b) => { - return commits[a].seq - commits[b].seq; + return commits.get(a).seq - commits.get(b).seq; }) .reverse(); @@ -203,7 +203,7 @@ const drawCommits = (svg, commits, modifyGraph) => { sortedKeys = sortedKeys.reverse(); } sortedKeys.forEach((key) => { - const commit = commits[key]; + const commit = commits.get(key); if (isParallelCommits) { if (commit.parents.length) { const closestParent = @@ -712,11 +712,11 @@ const drawArrow = (svg, commitA, commitB, allCommits) => { const drawArrows = (svg, commits) => { const gArrows = svg.append('g').attr('class', 'commit-arrows'); - Object.keys(commits).forEach((key) => { - const commit = commits[key]; + [...commits.keys()].forEach((key) => { + const commit = commits.get(key); if (commit.parents && commit.parents.length > 0) { commit.parents.forEach((parent) => { - drawArrow(gArrows, commits[parent], commit, commits); + drawArrow(gArrows, commits.get(parent), commit, commits); }); } }); diff --git a/packages/mermaid/src/diagrams/pie/pie.spec.ts b/packages/mermaid/src/diagrams/pie/pie.spec.ts index f68e80efdb..32d49374bf 100644 --- a/packages/mermaid/src/diagrams/pie/pie.spec.ts +++ b/packages/mermaid/src/diagrams/pie/pie.spec.ts @@ -16,7 +16,7 @@ describe('pie', () => { `); const sections = db.getSections(); - expect(sections['ash']).toBe(100); + expect(sections.get('ash')).toBe(100); }); it('should handle simple pie', async () => { @@ -26,8 +26,8 @@ describe('pie', () => { `); const sections = db.getSections(); - expect(sections['ash']).toBe(60); - expect(sections['bat']).toBe(40); + expect(sections.get('ash')).toBe(60); + expect(sections.get('bat')).toBe(40); }); it('should handle simple pie with showData', async () => { @@ -39,8 +39,8 @@ describe('pie', () => { expect(db.getShowData()).toBeTruthy(); const sections = db.getSections(); - expect(sections['ash']).toBe(60); - expect(sections['bat']).toBe(40); + expect(sections.get('ash')).toBe(60); + expect(sections.get('bat')).toBe(40); }); it('should handle simple pie with comments', async () => { @@ -51,8 +51,8 @@ describe('pie', () => { `); const sections = db.getSections(); - expect(sections['ash']).toBe(60); - expect(sections['bat']).toBe(40); + expect(sections.get('ash')).toBe(60); + expect(sections.get('bat')).toBe(40); }); it('should handle simple pie with a title', async () => { @@ -64,8 +64,8 @@ describe('pie', () => { expect(db.getDiagramTitle()).toBe('a 60/40 pie'); const sections = db.getSections(); - expect(sections['ash']).toBe(60); - expect(sections['bat']).toBe(40); + expect(sections.get('ash')).toBe(60); + expect(sections.get('bat')).toBe(40); }); it('should handle simple pie with an acc title (accTitle)', async () => { @@ -80,8 +80,8 @@ describe('pie', () => { expect(db.getAccTitle()).toBe('a neat acc title'); const sections = db.getSections(); - expect(sections['ash']).toBe(60); - expect(sections['bat']).toBe(40); + expect(sections.get('ash')).toBe(60); + expect(sections.get('bat')).toBe(40); }); it('should handle simple pie with an acc description (accDescr)', async () => { @@ -96,8 +96,8 @@ describe('pie', () => { expect(db.getAccDescription()).toBe('a neat description'); const sections = db.getSections(); - expect(sections['ash']).toBe(60); - expect(sections['bat']).toBe(40); + expect(sections.get('ash')).toBe(60); + expect(sections.get('bat')).toBe(40); }); it('should handle simple pie with a multiline acc description (accDescr)', async () => { @@ -115,8 +115,8 @@ describe('pie', () => { expect(db.getAccDescription()).toBe('a neat description\non multiple lines'); const sections = db.getSections(); - expect(sections['ash']).toBe(60); - expect(sections['bat']).toBe(40); + expect(sections.get('ash')).toBe(60); + expect(sections.get('bat')).toBe(40); }); it('should handle simple pie with positive decimal', async () => { @@ -126,8 +126,8 @@ describe('pie', () => { `); const sections = db.getSections(); - expect(sections['ash']).toBe(60.67); - expect(sections['bat']).toBe(40); + expect(sections.get('ash')).toBe(60.67); + expect(sections.get('bat')).toBe(40); }); it('should handle simple pie with negative decimal', () => { diff --git a/packages/mermaid/src/diagrams/pie/pieDb.ts b/packages/mermaid/src/diagrams/pie/pieDb.ts index 1501aad1f4..64831495cd 100644 --- a/packages/mermaid/src/diagrams/pie/pieDb.ts +++ b/packages/mermaid/src/diagrams/pie/pieDb.ts @@ -16,7 +16,7 @@ import DEFAULT_CONFIG from '../../defaultConfig.js'; export const DEFAULT_PIE_CONFIG: Required = DEFAULT_CONFIG.pie; export const DEFAULT_PIE_DB: RequiredDeep = { - sections: {}, + sections: new Map(), showData: false, config: DEFAULT_PIE_CONFIG, } as const; @@ -28,14 +28,14 @@ const config: Required = structuredClone(DEFAULT_PIE_CONFIG); const getConfig = (): Required => structuredClone(config); const clear = (): void => { - sections = structuredClone(DEFAULT_PIE_DB.sections); + sections = new Map(); showData = DEFAULT_PIE_DB.showData; commonClear(); }; const addSection = ({ label, value }: D3Section): void => { - if (sections[label] === undefined) { - sections[label] = value; + if (!sections.has(label)) { + sections.set(label, value); log.debug(`added new section: ${label}, with value: ${value}`); } }; diff --git a/packages/mermaid/src/diagrams/pie/pieRenderer.ts b/packages/mermaid/src/diagrams/pie/pieRenderer.ts index fb386863b0..0f7b7da9aa 100644 --- a/packages/mermaid/src/diagrams/pie/pieRenderer.ts +++ b/packages/mermaid/src/diagrams/pie/pieRenderer.ts @@ -11,7 +11,7 @@ import { selectSvgElement } from '../../rendering-util/selectSvgElement.js'; const createPieArcs = (sections: Sections): d3.PieArcDatum[] => { // Compute the position of each group on the pie: - const pieData: D3Section[] = Object.entries(sections) + const pieData: D3Section[] = [...sections.entries()] .map((element: [string, number]): D3Section => { return { label: element[0], @@ -105,8 +105,8 @@ export const draw: DrawDefinition = (text, id, _version, diagObj) => { .attr('class', 'pieCircle'); let sum = 0; - Object.keys(sections).forEach((key: string): void => { - sum += sections[key]; + [...sections.keys()].forEach((key: string): void => { + sum += sections.get(key)!; }); // Now add the percentage. // Use the centroid method to get the best coordinates. diff --git a/packages/mermaid/src/diagrams/pie/pieTypes.ts b/packages/mermaid/src/diagrams/pie/pieTypes.ts index 8b8a367e42..be7bbf68eb 100644 --- a/packages/mermaid/src/diagrams/pie/pieTypes.ts +++ b/packages/mermaid/src/diagrams/pie/pieTypes.ts @@ -34,7 +34,7 @@ export interface PieStyleOptions { pieOpacity: string; } -export type Sections = Record; +export type Sections = Map; export interface D3Section { label: string; diff --git a/packages/mermaid/src/diagrams/requirement/parser/requirementDiagram.spec.js b/packages/mermaid/src/diagrams/requirement/parser/requirementDiagram.spec.js index 1b4c5da318..7e4e26cdec 100644 --- a/packages/mermaid/src/diagrams/requirement/parser/requirementDiagram.spec.js +++ b/packages/mermaid/src/diagrams/requirement/parser/requirementDiagram.spec.js @@ -33,14 +33,14 @@ describe('when parsing requirement diagram it...', function () { reqDiagram.parser.parse(doc); - expect(Object.keys(requirementDb.getRequirements()).length).toBe(1); + expect(requirementDb.getRequirements().size).toBe(1); - let foundReq = requirementDb.getRequirements()[expectedName]; + let foundReq = requirementDb.getRequirements().get(expectedName); expect(foundReq).toBeDefined(); expect(foundReq.id).toBe(expectedId); expect(foundReq.text).toBe(expectedText); - expect(Object.keys(requirementDb.getElements()).length).toBe(0); + expect(requirementDb.getElements().size).toBe(0); expect(Object.keys(requirementDb.getRelationships()).length).toBe(0); }); @@ -61,10 +61,10 @@ describe('when parsing requirement diagram it...', function () { reqDiagram.parser.parse(doc); - expect(Object.keys(requirementDb.getRequirements()).length).toBe(0); - expect(Object.keys(requirementDb.getElements()).length).toBe(1); + expect(requirementDb.getRequirements().size).toBe(0); + expect(requirementDb.getElements().size).toBe(1); - let foundElement = requirementDb.getElements()[expectedName]; + let foundElement = requirementDb.getElements().get(expectedName); expect(foundElement).toBeDefined(); expect(foundElement.type).toBe(expectedType); expect(foundElement.docRef).toBe(expectedDocRef); @@ -121,8 +121,8 @@ line 2`; reqDiagram.parser.parse(doc); - expect(Object.keys(requirementDb.getRequirements()).length).toBe(0); - expect(Object.keys(requirementDb.getElements()).length).toBe(0); + expect(requirementDb.getRequirements().size).toBe(0); + expect(requirementDb.getElements().size).toBe(0); expect(Object.keys(requirementDb.getRelationships()).length).toBe(1); let foundRelationship = requirementDb.getRelationships()[0]; @@ -152,7 +152,7 @@ line 2`; reqDiagram.parser.parse(doc); - let foundReq = requirementDb.getRequirements()[expectedName]; + let foundReq = requirementDb.getRequirements().get(expectedName); expect(foundReq).toBeDefined(); expect(foundReq.type).toBe(expectedType); }); @@ -179,7 +179,7 @@ line 2`; reqDiagram.parser.parse(doc); - let foundReq = requirementDb.getRequirements()[expectedName]; + let foundReq = requirementDb.getRequirements().get(expectedName); expect(foundReq).toBeDefined(); expect(foundReq.type).toBe(expectedType); }); @@ -206,7 +206,7 @@ line 2`; reqDiagram.parser.parse(doc); - let foundReq = requirementDb.getRequirements()[expectedName]; + let foundReq = requirementDb.getRequirements().get(expectedName); expect(foundReq).toBeDefined(); expect(foundReq.type).toBe(expectedType); }); @@ -233,7 +233,7 @@ line 2`; reqDiagram.parser.parse(doc); - let foundReq = requirementDb.getRequirements()[expectedName]; + let foundReq = requirementDb.getRequirements().get(expectedName); expect(foundReq).toBeDefined(); expect(foundReq.type).toBe(expectedType); }); @@ -260,7 +260,7 @@ line 2`; reqDiagram.parser.parse(doc); - let foundReq = requirementDb.getRequirements()[expectedName]; + let foundReq = requirementDb.getRequirements().get(expectedName); expect(foundReq).toBeDefined(); expect(foundReq.type).toBe(expectedType); }); @@ -287,7 +287,7 @@ line 2`; reqDiagram.parser.parse(doc); - let foundReq = requirementDb.getRequirements()[expectedName]; + let foundReq = requirementDb.getRequirements().get(expectedName); expect(foundReq).toBeDefined(); expect(foundReq.type).toBe(expectedType); }); @@ -314,7 +314,7 @@ line 2`; reqDiagram.parser.parse(doc); - let foundReq = requirementDb.getRequirements()[expectedName]; + let foundReq = requirementDb.getRequirements().get(expectedName); expect(foundReq).toBeDefined(); expect(foundReq.risk).toBe(expectedRisk); }); @@ -341,7 +341,7 @@ line 2`; reqDiagram.parser.parse(doc); - let foundReq = requirementDb.getRequirements()[expectedName]; + let foundReq = requirementDb.getRequirements().get(expectedName); expect(foundReq).toBeDefined(); expect(foundReq.risk).toBe(expectedRisk); }); @@ -368,7 +368,7 @@ line 2`; reqDiagram.parser.parse(doc); - let foundReq = requirementDb.getRequirements()[expectedName]; + let foundReq = requirementDb.getRequirements().get(expectedName); expect(foundReq).toBeDefined(); expect(foundReq.risk).toBe(expectedRisk); }); @@ -395,7 +395,7 @@ line 2`; reqDiagram.parser.parse(doc); - let foundReq = requirementDb.getRequirements()[expectedName]; + let foundReq = requirementDb.getRequirements().get(expectedName); expect(foundReq).toBeDefined(); expect(foundReq.verifyMethod).toBe(expectedVerifyMethod); }); @@ -422,7 +422,7 @@ line 2`; reqDiagram.parser.parse(doc); - let foundReq = requirementDb.getRequirements()[expectedName]; + let foundReq = requirementDb.getRequirements().get(expectedName); expect(foundReq).toBeDefined(); expect(foundReq.verifyMethod).toBe(expectedVerifyMethod); }); @@ -449,7 +449,7 @@ line 2`; reqDiagram.parser.parse(doc); - let foundReq = requirementDb.getRequirements()[expectedName]; + let foundReq = requirementDb.getRequirements().get(expectedName); expect(foundReq).toBeDefined(); expect(foundReq.verifyMethod).toBe(expectedVerifyMethod); }); @@ -476,7 +476,7 @@ line 2`; reqDiagram.parser.parse(doc); - let foundReq = requirementDb.getRequirements()[expectedName]; + let foundReq = requirementDb.getRequirements().get(expectedName); expect(foundReq).toBeDefined(); expect(foundReq.verifyMethod).toBe(expectedVerifyMethod); }); diff --git a/packages/mermaid/src/diagrams/requirement/requirementDb.js b/packages/mermaid/src/diagrams/requirement/requirementDb.js index 9357e2a660..068e0fdab0 100644 --- a/packages/mermaid/src/diagrams/requirement/requirementDb.js +++ b/packages/mermaid/src/diagrams/requirement/requirementDb.js @@ -11,9 +11,9 @@ import { let relations = []; let latestRequirement = {}; -let requirements = {}; +let requirements = new Map(); let latestElement = {}; -let elements = {}; +let elements = new Map(); const RequirementType = { REQUIREMENT: 'Requirement', @@ -48,8 +48,8 @@ const Relationships = { }; const addRequirement = (name, type) => { - if (requirements[name] === undefined) { - requirements[name] = { + if (!requirements.has(name)) { + requirements.set(name, { name, type, @@ -57,11 +57,11 @@ const addRequirement = (name, type) => { text: latestRequirement.text, risk: latestRequirement.risk, verifyMethod: latestRequirement.verifyMethod, - }; + }); } latestRequirement = {}; - return requirements[name]; + return requirements.get(name); }; const getRequirements = () => requirements; @@ -91,18 +91,17 @@ const setNewReqVerifyMethod = (verifyMethod) => { }; const addElement = (name) => { - if (elements[name] === undefined) { - elements[name] = { + if (!elements.has(name)) { + elements.set(name, { name, - type: latestElement.type, docRef: latestElement.docRef, - }; + }); log.info('Added new requirement: ', name); } latestElement = {}; - return elements[name]; + return elements.get(name); }; const getElements = () => elements; @@ -132,9 +131,9 @@ const getRelationships = () => relations; const clear = () => { relations = []; latestRequirement = {}; - requirements = {}; + requirements = new Map(); latestElement = {}; - elements = {}; + elements = new Map(); commonClear(); }; diff --git a/packages/mermaid/src/diagrams/requirement/requirementRenderer.js b/packages/mermaid/src/diagrams/requirement/requirementRenderer.js index b06b1d7b5b..274ae98c72 100644 --- a/packages/mermaid/src/diagrams/requirement/requirementRenderer.js +++ b/packages/mermaid/src/diagrams/requirement/requirementRenderer.js @@ -192,8 +192,8 @@ const drawRelationshipFromLayout = function (svg, rel, g, insert, diagObj) { }; export const drawReqs = (reqs, graph, svgNode) => { - Object.keys(reqs).forEach((reqName) => { - let req = reqs[reqName]; + [...reqs.keys()].forEach((reqName) => { + let req = reqs.get(reqName); reqName = elementString(reqName); log.info('Added new requirement: ', reqName); @@ -237,8 +237,8 @@ export const drawReqs = (reqs, graph, svgNode) => { }; export const drawElements = (els, graph, svgNode) => { - Object.keys(els).forEach((elName) => { - let el = els[elName]; + [...els.keys()].forEach((elName) => { + let el = els.get(elName); const id = elementString(elName); const groupNode = svgNode.append('g').attr('id', id); diff --git a/packages/mermaid/src/diagrams/sankey/sankeyDB.ts b/packages/mermaid/src/diagrams/sankey/sankeyDB.ts index 4826dc6d98..d8fa19a68f 100644 --- a/packages/mermaid/src/diagrams/sankey/sankeyDB.ts +++ b/packages/mermaid/src/diagrams/sankey/sankeyDB.ts @@ -15,12 +15,12 @@ let links: SankeyLink[] = []; // Array of nodes guarantees their order let nodes: SankeyNode[] = []; // We also have to track nodes uniqueness (by ID) -let nodesMap: Record = {}; +let nodesMap: Map = new Map(); const clear = (): void => { links = []; nodes = []; - nodesMap = {}; + nodesMap = new Map(); commonClear(); }; @@ -48,11 +48,11 @@ class SankeyNode { const findOrCreateNode = (ID: string): SankeyNode => { ID = common.sanitizeText(ID, getConfig()); - if (!nodesMap[ID]) { - nodesMap[ID] = new SankeyNode(ID); - nodes.push(nodesMap[ID]); + if (!nodesMap.has(ID)) { + nodesMap.set(ID, new SankeyNode(ID)); + nodes.push(nodesMap.get(ID)!); } - return nodesMap[ID]; + return nodesMap.get(ID)!; }; const getNodes = () => nodes; diff --git a/packages/mermaid/src/diagrams/sequence/sequenceDb.ts b/packages/mermaid/src/diagrams/sequence/sequenceDb.ts index 03d3210aa9..2f15fdd49e 100644 --- a/packages/mermaid/src/diagrams/sequence/sequenceDb.ts +++ b/packages/mermaid/src/diagrams/sequence/sequenceDb.ts @@ -15,9 +15,9 @@ import type { Actor, AddMessageParams, Box, Message, Note } from './types.js'; interface SequenceState { prevActor?: string; - actors: Record; - createdActors: Record; - destroyedActors: Record; + actors: Map; + createdActors: Map; + destroyedActors: Map; boxes: Box[]; messages: Message[]; notes: Note[]; @@ -30,9 +30,9 @@ interface SequenceState { const state = new ImperativeState(() => ({ prevActor: undefined, - actors: {}, - createdActors: {}, - destroyedActors: {}, + actors: new Map(), + createdActors: new Map(), + destroyedActors: new Map(), boxes: [], messages: [], notes: [], @@ -60,7 +60,7 @@ export const addActor = function ( type: string ) { let assignedBox = state.records.currentBox; - const old = state.records.actors[id]; + const old = state.records.actors.get(id); if (old) { // If already set and trying to set to a new one throw error if (state.records.currentBox && old.box && state.records.currentBox !== old.box) { @@ -87,7 +87,7 @@ export const addActor = function ( description = { text: name, wrap: null, type }; } - state.records.actors[id] = { + state.records.actors.set(id, { box: assignedBox, name: name, description: description.text, @@ -98,9 +98,9 @@ export const addActor = function ( actorCnt: null, rectData: null, type: type ?? 'participant', - }; - if (state.records.prevActor && state.records.actors[state.records.prevActor]) { - state.records.actors[state.records.prevActor].nextActor = id; + }); + if (state.records.prevActor && state.records.actors.has(state.records.prevActor)) { + state.records.actors.get(state.records.prevActor)!.nextActor = id; } if (state.records.currentBox) { @@ -210,10 +210,10 @@ export const getDestroyedActors = function () { return state.records.destroyedActors; }; export const getActor = function (id: string) { - return state.records.actors[id]; + return state.records.actors.get(id)!; }; export const getActorKeys = function () { - return Object.keys(state.records.actors); + return [...state.records.actors.keys()]; }; export const enableSequenceNumbers = function () { state.records.sequenceNumbersEnabled = true; @@ -502,18 +502,18 @@ export const apply = function (param: any | AddMessageParams | AddMessageParams[ addActor(param.actor, param.actor, param.description, param.draw); break; case 'createParticipant': - if (state.records.actors[param.actor]) { + if (state.records.actors.has(param.actor)) { throw new Error( "It is not possible to have actors with the same id, even if one is destroyed before the next is created. Use 'AS' aliases to simulate the behavior" ); } state.records.lastCreated = param.actor; addActor(param.actor, param.actor, param.description, param.draw); - state.records.createdActors[param.actor] = state.records.messages.length; + state.records.createdActors.set(param.actor, state.records.messages.length); break; case 'destroyParticipant': state.records.lastDestroyed = param.actor; - state.records.destroyedActors[param.actor] = state.records.messages.length; + state.records.destroyedActors.set(param.actor, state.records.messages.length); break; case 'activeStart': addSignal(param.actor, undefined, undefined, param.signalType); diff --git a/packages/mermaid/src/diagrams/sequence/sequenceDiagram.spec.js b/packages/mermaid/src/diagrams/sequence/sequenceDiagram.spec.js index 1724391e53..8098aa2ed7 100644 --- a/packages/mermaid/src/diagrams/sequence/sequenceDiagram.spec.js +++ b/packages/mermaid/src/diagrams/sequence/sequenceDiagram.spec.js @@ -192,8 +192,8 @@ Bob-->Alice: I am good thanks!`; await mermaidAPI.parse(str); const actors = diagram.db.getActors(); - expect(actors.Alice.description).toBe('Alice'); - actors.Bob.description = 'Bob'; + expect(actors.get('Alice').description).toBe('Alice'); + actors.get('Bob').description = 'Bob'; const messages = diagram.db.getMessages(); @@ -235,8 +235,8 @@ Bob-->Alice: I am good thanks!`; await mermaidAPI.parse(str); const actors = diagram.db.getActors(); - expect(actors.Alice.description).toBe('Alice'); - actors.Bob.description = 'Bob'; + expect(actors.get('Alice').description).toBe('Alice'); + actors.get('Bob').description = 'Bob'; expect(diagram.db.getAccDescription()).toBe(''); const messages = diagram.db.getMessages(); @@ -258,8 +258,8 @@ Bob-->Alice: I am good thanks!`; await mermaidAPI.parse(str); const actors = diagram.db.getActors(); - expect(actors.Alice.description).toBe('Alice'); - actors.Bob.description = 'Bob'; + expect(actors.get('Alice').description).toBe('Alice'); + actors.get('Bob').description = 'Bob'; expect(diagram.db.getAccDescription()).toBe(''); const messages = diagram.db.getMessages(); @@ -311,8 +311,8 @@ Bob-->Alice: I am good thanks!`; await mermaidAPI.parse(str); const actors = diagram.db.getActors(); - expect(actors.Alice.description).toBe('Alice'); - actors.Bob.description = 'Bob'; + expect(actors.get('Alice').description).toBe('Alice'); + actors.get('Bob').description = 'Bob'; const messages = diagram.db.getMessages(); @@ -328,8 +328,8 @@ Bob-->Alice-in-Wonderland:I am good thanks!`; await mermaidAPI.parse(str); const actors = diagram.db.getActors(); - expect(actors['Alice-in-Wonderland'].description).toBe('Alice-in-Wonderland'); - expect(actors.Bob.description).toBe('Bob'); + expect(actors.get('Alice-in-Wonderland').description).toBe('Alice-in-Wonderland'); + expect(actors.get('Bob').description).toBe('Bob'); const messages = diagram.db.getMessages(); @@ -348,9 +348,9 @@ Bob-->Alice-in-Wonderland:I am good thanks!`; await mermaidAPI.parse(str); const actors = diagram.db.getActors(); - expect(Object.keys(actors)).toEqual(['Alice-in-Wonderland', 'Bob']); - expect(actors['Alice-in-Wonderland'].description).toBe('Alice-in-Wonderland'); - expect(actors.Bob.description).toBe('Bob'); + expect([...actors.keys()].sort()).toEqual(['Alice-in-Wonderland', 'Bob']); + expect(actors.get('Alice-in-Wonderland').description).toBe('Alice-in-Wonderland'); + expect(actors.get('Bob').description).toBe('Bob'); const messages = diagram.db.getMessages(); @@ -371,9 +371,9 @@ B-->A: I am good thanks!`; const actors = diagram.db.getActors(); - expect(Object.keys(actors)).toEqual(['A', 'B']); - expect(actors.A.description).toBe('Alice'); - expect(actors.B.description).toBe('Bob'); + expect([...actors.keys()].sort()).toEqual(['A', 'B']); + expect(actors.get('A').description).toBe('Alice'); + expect(actors.get('B').description).toBe('Bob'); const messages = diagram.db.getMessages(); expect(messages.length).toBe(2); @@ -396,12 +396,12 @@ sequenceDiagram await mermaidAPI.parse(str); const actors = diagram.db.getActors(); - expect(Object.keys(actors)).toEqual(['Alice', 'Bob', 'John', 'Mandy', 'Joan']); - expect(actors.Alice.description).toBe('Alice2'); - expect(actors.Alice.type).toBe('actor'); - expect(actors.Bob.description).toBe('Bob'); - expect(actors.John.type).toBe('participant'); - expect(actors.Joan.type).toBe('participant'); + expect([...actors.keys()]).toEqual(['Alice', 'Bob', 'John', 'Mandy', 'Joan']); + expect(actors.get('Alice').description).toBe('Alice2'); + expect(actors.get('Alice').type).toBe('actor'); + expect(actors.get('Bob').description).toBe('Bob'); + expect(actors.get('John').type).toBe('participant'); + expect(actors.get('Joan').type).toBe('participant'); const messages = diagram.db.getMessages(); expect(messages.length).toBe(5); @@ -419,9 +419,9 @@ B-->A: I am good thanks!`; await mermaidAPI.parse(str); const actors = diagram.db.getActors(); - expect(Object.keys(actors)).toEqual(['A', 'B']); - expect(actors.A.description).toBe('Alice'); - expect(actors.B.description).toBe('Bob'); + expect([...actors.keys()]).toEqual(['A', 'B']); + expect(actors.get('A').description).toBe('Alice'); + expect(actors.get('B').description).toBe('Bob'); const messages = diagram.db.getMessages(); expect(messages.length).toBe(2); @@ -435,8 +435,8 @@ Alice-xBob:Hello Bob, how are you?`; await mermaidAPI.parse(str); const actors = diagram.db.getActors(); - expect(actors.Alice.description).toBe('Alice'); - expect(actors.Bob.description).toBe('Bob'); + expect(actors.get('Alice').description).toBe('Alice'); + expect(actors.get('Bob').description).toBe('Bob'); const messages = diagram.db.getMessages(); @@ -450,8 +450,8 @@ Alice--xBob:Hello Bob, how are you?`; await mermaidAPI.parse(str); const actors = diagram.db.getActors(); - expect(actors.Alice.description).toBe('Alice'); - expect(actors.Bob.description).toBe('Bob'); + expect(actors.get('Alice').description).toBe('Alice'); + expect(actors.get('Bob').description).toBe('Bob'); const messages = diagram.db.getMessages(); @@ -465,8 +465,8 @@ Alice-)Bob:Hello Bob, how are you?`; await mermaidAPI.parse(str); const actors = diagram.db.getActors(); - expect(actors.Alice.description).toBe('Alice'); - expect(actors.Bob.description).toBe('Bob'); + expect(actors.get('Alice').description).toBe('Alice'); + expect(actors.get('Bob').description).toBe('Bob'); const messages = diagram.db.getMessages(); @@ -480,8 +480,8 @@ Alice--)Bob:Hello Bob, how are you?`; await mermaidAPI.parse(str); const actors = diagram.db.getActors(); - expect(actors.Alice.description).toBe('Alice'); - expect(actors.Bob.description).toBe('Bob'); + expect(actors.get('Alice').description).toBe('Alice'); + expect(actors.get('Bob').description).toBe('Bob'); const messages = diagram.db.getMessages(); @@ -495,8 +495,8 @@ Alice->>Bob:Hello Bob, how are you?`; await mermaidAPI.parse(str); const actors = diagram.db.getActors(); - expect(actors.Alice.description).toBe('Alice'); - expect(actors.Bob.description).toBe('Bob'); + expect(actors.get('Alice').description).toBe('Alice'); + expect(actors.get('Bob').description).toBe('Bob'); const messages = diagram.db.getMessages(); @@ -508,8 +508,8 @@ Alice->>Bob:Hello Bob, how are you?`; await mermaidAPI.parse(str); const actors = diagram.db.getActors(); - expect(actors.Alice.description).toBe('Alice'); - expect(actors.Bob.description).toBe('Bob'); + expect(actors.get('Alice').description).toBe('Alice'); + expect(actors.get('Bob').description).toBe('Bob'); const messages = diagram.db.getMessages(); @@ -526,8 +526,8 @@ deactivate Bob`; await mermaidAPI.parse(str); const actors = diagram.db.getActors(); - expect(actors.Alice.description).toBe('Alice'); - expect(actors.Bob.description).toBe('Bob'); + expect(actors.get('Alice').description).toBe('Alice'); + expect(actors.get('Bob').description).toBe('Bob'); const messages = diagram.db.getMessages(); @@ -547,8 +547,8 @@ deactivate Bob`; await mermaidAPI.parse(str); const actors = diagram.db.getActors(); - expect(actors.Alice.description).toBe('Alice'); - expect(actors.Bob.description).toBe('Bob'); + expect(actors.get('Alice').description).toBe('Alice'); + expect(actors.get('Bob').description).toBe('Bob'); const messages = diagram.db.getMessages(); @@ -571,8 +571,8 @@ deactivate Bob`; await mermaidAPI.parse(str); const actors = diagram.db.getActors(); - expect(actors.Alice.description).toBe('Alice'); - expect(actors.Bob.description).toBe('Bob'); + expect(actors.get('Alice').description).toBe('Alice'); + expect(actors.get('Bob').description).toBe('Bob'); const messages = diagram.db.getMessages(); @@ -624,8 +624,8 @@ deactivate Bob`; await mermaidAPI.parse(str); const actors = diagram.db.getActors(); - expect(actors.Alice.description).toBe('Alice'); - actors.Bob.description = 'Bob'; + expect(actors.get('Alice').description).toBe('Alice'); + actors.get('Bob').description = 'Bob'; const messages = diagram.db.getMessages(); @@ -645,8 +645,8 @@ deactivate Bob`; await mermaidAPI.parse(str); const actors = diagram.db.getActors(); - expect(actors.Alice.description).toBe('Alice'); - actors.Bob.description = 'Bob'; + expect(actors.get('Alice').description).toBe('Alice'); + actors.get('Bob').description = 'Bob'; const messages = diagram.db.getMessages(); @@ -660,8 +660,8 @@ sequenceDiagram;Alice->Bob: Hello Bob, how are you?;Note right of Bob: Bob think await mermaidAPI.parse(str); const actors = diagram.db.getActors(); - expect(actors.Alice.description).toBe('Alice'); - actors.Bob.description = 'Bob'; + expect(actors.get('Alice').description).toBe('Alice'); + actors.get('Bob').description = 'Bob'; const messages = diagram.db.getMessages(); @@ -680,8 +680,8 @@ Bob-->Alice: I am good thanks!`; await mermaidAPI.parse(str); const actors = diagram.db.getActors(); - expect(actors.Alice.description).toBe('Alice'); - actors.Bob.description = 'Bob'; + expect(actors.get('Alice').description).toBe('Alice'); + actors.get('Bob').description = 'Bob'; const messages = diagram.db.getMessages(); @@ -700,8 +700,8 @@ Bob-->Alice: I am good thanks!`; await mermaidAPI.parse(str); const actors = diagram.db.getActors(); - expect(actors.Alice.description).toBe('Alice'); - actors.Bob.description = 'Bob'; + expect(actors.get('Alice').description).toBe('Alice'); + actors.get('Bob').description = 'Bob'; const messages = diagram.db.getMessages(); @@ -725,8 +725,8 @@ Bob-->John: Jolly good!`; await mermaidAPI.parse(str); const actors = diagram.db.getActors(); - expect(actors.Alice.description).toBe('Alice'); - actors.Bob.description = 'Bob'; + expect(actors.get('Alice').description).toBe('Alice'); + actors.get('Bob').description = 'Bob'; const messages = diagram.db.getMessages(); @@ -754,10 +754,10 @@ note right of 1: multiline
    text await mermaidAPI.parse(str); const actors = diagram.db.getActors(); - expect(actors['1'].description).toBe('multiline
    text'); - expect(actors['2'].description).toBe('multiline
    text'); - expect(actors['3'].description).toBe('multiline
    text'); - expect(actors['4'].description).toBe('multiline
    text'); + expect(actors.get('1').description).toBe('multiline
    text'); + expect(actors.get('2').description).toBe('multiline
    text'); + expect(actors.get('3').description).toBe('multiline
    text'); + expect(actors.get('4').description).toBe('multiline
    text'); const messages = diagram.db.getMessages(); expect(messages[0].message).toBe('multiline
    text'); @@ -893,8 +893,8 @@ end`; await mermaidAPI.parse(str); const actors = diagram.db.getActors(); - expect(actors.Alice.description).toBe('Alice'); - actors.Bob.description = 'Bob'; + expect(actors.get('Alice').description).toBe('Alice'); + actors.get('Bob').description = 'Bob'; const messages = diagram.db.getMessages(); @@ -915,8 +915,8 @@ end`; await mermaidAPI.parse(str); const actors = diagram.db.getActors(); - expect(actors.Alice.description).toBe('Alice'); - actors.Bob.description = 'Bob'; + expect(actors.get('Alice').description).toBe('Alice'); + actors.get('Bob').description = 'Bob'; const messages = diagram.db.getMessages(); expect(messages[1].type).toEqual(diagram.db.LINETYPE.RECT_START); @@ -940,8 +940,8 @@ end`; `; await mermaidAPI.parse(str); const actors = diagram.db.getActors(); - expect(actors.Alice.description).toBe('Alice'); - actors.Bob.description = 'Bob'; + expect(actors.get('Alice').description).toBe('Alice'); + actors.get('Bob').description = 'Bob'; const messages = diagram.db.getMessages(); expect(messages[1].type).toEqual(diagram.db.LINETYPE.RECT_START); @@ -967,8 +967,8 @@ end`; await mermaidAPI.parse(str); const actors = diagram.db.getActors(); - expect(actors.Alice.description).toBe('Alice'); - actors.Bob.description = 'Bob'; + expect(actors.get('Alice').description).toBe('Alice'); + actors.get('Bob').description = 'Bob'; const messages = diagram.db.getMessages(); @@ -993,8 +993,8 @@ end`; await mermaidAPI.parse(str); const actors = diagram.db.getActors(); - expect(actors.Alice.description).toBe('Alice'); - actors.Bob.description = 'Bob'; + expect(actors.get('Alice').description).toBe('Alice'); + actors.get('Bob').description = 'Bob'; const messages = diagram.db.getMessages(); @@ -1039,8 +1039,8 @@ sequenceDiagram await mermaidAPI.parse(str); const actors = diagram.db.getActors(); - expect(actors.Service.description).toBe('Service'); - expect(actors.DB.description).toBe('DB'); + expect(actors.get('Service').description).toBe('Service'); + expect(actors.get('DB').description).toBe('DB'); const messages = diagram.db.getMessages(); @@ -1063,8 +1063,8 @@ sequenceDiagram await mermaidAPI.parse(str); const actors = diagram.db.getActors(); - expect(actors.Service.description).toBe('Service'); - expect(actors.DB.description).toBe('DB'); + expect(actors.get('Service').description).toBe('Service'); + expect(actors.get('DB').description).toBe('DB'); const messages = diagram.db.getMessages(); @@ -1090,8 +1090,8 @@ sequenceDiagram await mermaidAPI.parse(str); const actors = diagram.db.getActors(); - expect(actors.Consumer.description).toBe('Consumer'); - expect(actors.API.description).toBe('API'); + expect(actors.get('Consumer').description).toBe('Consumer'); + expect(actors.get('API').description).toBe('API'); const messages = diagram.db.getMessages(); @@ -1120,8 +1120,8 @@ end`; await mermaidAPI.parse(str); const actors = diagram.db.getActors(); - expect(actors.Alice.description).toBe('Alice'); - expect(actors.Bob.description).toBe('Bob'); + expect(actors.get('Alice').description).toBe('Alice'); + expect(actors.get('Bob').description).toBe('Bob'); const messages = diagram.db.getMessages(); @@ -1142,8 +1142,8 @@ end`; await mermaidAPI.parse(str); const actors = diagram.db.getActors(); - expect(actors.Alice.description).toBe('Alice'); - expect(actors.Bob.description).toBe('Bob'); + expect(actors.get('Alice').description).toBe('Alice'); + expect(actors.get('Bob').description).toBe('Bob'); const messages = diagram.db.getMessages(); @@ -1309,15 +1309,15 @@ link a: Tests @ https://tests.contoso.com/?svc=alice@contoso.com await mermaidAPI.parse(str); const actors = diagram.db.getActors(); - expect(actors.a.links['Repo']).toBe('https://repo.contoso.com/'); - expect(actors.b.links['Repo']).toBe(undefined); - expect(actors.a.links['Dashboard']).toBe('https://dashboard.contoso.com/'); - expect(actors.b.links['Dashboard']).toBe('https://dashboard.contoso.com/'); - expect(actors.a.links['On-Call']).toBe('https://oncall.contoso.com/?svc=alice'); - expect(actors.c.links['Dashboard']).toBe(undefined); - expect(actors.a.links['Endpoint']).toBe('https://alice.contoso.com'); - expect(actors.a.links['Swagger']).toBe('https://swagger.contoso.com'); - expect(actors.a.links['Tests']).toBe('https://tests.contoso.com/?svc=alice@contoso.com'); + expect(actors.get('a').links['Repo']).toBe('https://repo.contoso.com/'); + expect(actors.get('b').links['Repo']).toBe(undefined); + expect(actors.get('a').links['Dashboard']).toBe('https://dashboard.contoso.com/'); + expect(actors.get('b').links['Dashboard']).toBe('https://dashboard.contoso.com/'); + expect(actors.get('a').links['On-Call']).toBe('https://oncall.contoso.com/?svc=alice'); + expect(actors.get('c').links['Dashboard']).toBe(undefined); + expect(actors.get('a').links['Endpoint']).toBe('https://alice.contoso.com'); + expect(actors.get('a').links['Swagger']).toBe('https://swagger.contoso.com'); + expect(actors.get('a').links['Tests']).toBe('https://tests.contoso.com/?svc=alice@contoso.com'); }); it('should handle properties EXPERIMENTAL: USE WITH CAUTION', async () => { @@ -1333,11 +1333,11 @@ properties b: {"class": "external-service-actor", "icon": "@computer"} await mermaidAPI.parse(str); const actors = diagram.db.getActors(); - expect(actors.a.properties['class']).toBe('internal-service-actor'); - expect(actors.b.properties['class']).toBe('external-service-actor'); - expect(actors.a.properties['icon']).toBe('@clock'); - expect(actors.b.properties['icon']).toBe('@computer'); - expect(actors.c.properties['class']).toBe(undefined); + expect(actors.get('a').properties['class']).toBe('internal-service-actor'); + expect(actors.get('b').properties['class']).toBe('external-service-actor'); + expect(actors.get('a').properties['icon']).toBe('@clock'); + expect(actors.get('b').properties['icon']).toBe('@computer'); + expect(actors.get('c').properties['class']).toBe(undefined); }); it('should handle box', async () => { @@ -1423,14 +1423,14 @@ link a: Tests @ https://tests.contoso.com/?svc=alice@contoso.com await mermaidAPI.parse(str); const actors = diagram.db.getActors(); const createdActors = diagram.db.getCreatedActors(); - expect(actors['c'].name).toEqual('c'); - expect(actors['c'].description).toEqual('c'); - expect(actors['c'].type).toEqual('participant'); - expect(createdActors['c']).toEqual(1); - expect(actors['d'].name).toEqual('d'); - expect(actors['d'].description).toEqual('Donald'); - expect(actors['d'].type).toEqual('actor'); - expect(createdActors['d']).toEqual(3); + expect(actors.get('c').name).toEqual('c'); + expect(actors.get('c').description).toEqual('c'); + expect(actors.get('c').type).toEqual('participant'); + expect(createdActors.get('c')).toEqual(1); + expect(actors.get('d').name).toEqual('d'); + expect(actors.get('d').description).toEqual('Donald'); + expect(actors.get('d').type).toEqual('actor'); + expect(createdActors.get('d')).toEqual(3); }); it('should handle simple actor destruction', async () => { const str = ` @@ -1445,8 +1445,8 @@ link a: Tests @ https://tests.contoso.com/?svc=alice@contoso.com `; await mermaidAPI.parse(str); const destroyedActors = diagram.db.getDestroyedActors(); - expect(destroyedActors['a']).toEqual(1); - expect(destroyedActors['c']).toEqual(3); + expect(destroyedActors.get('a')).toEqual(1); + expect(destroyedActors.get('c')).toEqual(3); }); it('should handle the creation and destruction of the same actor', async () => { const str = ` @@ -1461,8 +1461,8 @@ link a: Tests @ https://tests.contoso.com/?svc=alice@contoso.com await mermaidAPI.parse(str); const createdActors = diagram.db.getCreatedActors(); const destroyedActors = diagram.db.getDestroyedActors(); - expect(createdActors['c']).toEqual(1); - expect(destroyedActors['c']).toEqual(3); + expect(createdActors.get('c')).toEqual(1); + expect(destroyedActors.get('c')).toEqual(3); }); }); describe('when checking the bounds in a sequenceDiagram', function () { @@ -1668,7 +1668,7 @@ participant Alice await mermaidAPI.parse(str); const actors = diagram.db.getActors(); - expect(Object.keys(actors)).toEqual(['Alice']); + expect([...actors.keys()]).toEqual(['Alice']); }); it('should handle one actor and a centered note', async () => { const str = ` diff --git a/packages/mermaid/src/diagrams/sequence/sequenceRenderer.ts b/packages/mermaid/src/diagrams/sequence/sequenceRenderer.ts index 98fdcddc40..5404ed2197 100644 --- a/packages/mermaid/src/diagrams/sequence/sequenceRenderer.ts +++ b/packages/mermaid/src/diagrams/sequence/sequenceRenderer.ts @@ -144,7 +144,7 @@ export const bounds = { this.updateBounds(_startx, _starty, _stopx, _stopy); }, newActivation: function (message, diagram, actors) { - const actorRect = actors[message.from.actor]; + const actorRect = actors.get(message.from.actor); const stackedSize = actorActivations(message.from.actor).length || 0; const x = actorRect.x + actorRect.width / 2 + ((stackedSize - 1) * conf.activationWidth) / 2; this.activations.push({ @@ -488,7 +488,7 @@ const drawMessage = async function (diagram, msgModel, lineStartY: number, diagO const addActorRenderingData = async function ( diagram, actors, - createdActors, + createdActors: Map, actorKeys, verticalPos, messages, @@ -500,7 +500,7 @@ const addActorRenderingData = async function ( let maxHeight = 0; for (const actorKey of actorKeys) { - const actor = actors[actorKey]; + const actor = actors.get(actorKey); const box = actor.box; // end of box @@ -528,7 +528,7 @@ const addActorRenderingData = async function ( maxHeight = common.getMax(maxHeight, actor.height); // if the actor is created by a message, widen margin - if (createdActors[actor.name]) { + if (createdActors.get(actor.name)) { prevMargin += actor.width / 2; } @@ -558,7 +558,7 @@ const addActorRenderingData = async function ( export const drawActors = async function (diagram, actors, actorKeys, isFooter) { if (!isFooter) { for (const actorKey of actorKeys) { - const actor = actors[actorKey]; + const actor = actors.get(actorKey); // Draw the box with the attached line await svgDraw.drawActor(diagram, actor, conf, false); } @@ -566,7 +566,7 @@ export const drawActors = async function (diagram, actors, actorKeys, isFooter) let maxHeight = 0; bounds.bumpVerticalPos(conf.boxMargin * 2); for (const actorKey of actorKeys) { - const actor = actors[actorKey]; + const actor = actors.get(actorKey); if (!actor.stopy) { actor.stopy = bounds.getVerticalPos(); } @@ -581,7 +581,7 @@ export const drawActorsPopup = function (diagram, actors, actorKeys, doc) { let maxHeight = 0; let maxWidth = 0; for (const actorKey of actorKeys) { - const actor = actors[actorKey]; + const actor = actors.get(actorKey); const minMenuWidth = getRequiredPopupWidth(actor); const menuDimensions = svgDraw.drawPopup( diagram, @@ -624,7 +624,7 @@ const actorActivations = function (actor) { const activationBounds = function (actor, actors) { // handle multiple stacked activations for same actor - const actorObj = actors[actor]; + const actorObj = actors.get(actor); const activations = actorActivations(actor); const left = activations.reduce( @@ -682,7 +682,7 @@ function adjustCreatedDestroyedData( destroyedActors ) { function receiverAdjustment(actor, adjustment) { - if (actor.x < actors[msg.from].x) { + if (actor.x < actors.get(msg.from).x) { bounds.insert( msgModel.stopx - adjustment, msgModel.starty, @@ -702,7 +702,7 @@ function adjustCreatedDestroyedData( } function senderAdjustment(actor, adjustment) { - if (actor.x < actors[msg.to].x) { + if (actor.x < actors.get(msg.to).x) { bounds.insert( msgModel.startx - adjustment, msgModel.starty, @@ -722,16 +722,16 @@ function adjustCreatedDestroyedData( } // if it is a create message - if (createdActors[msg.to] == index) { - const actor = actors[msg.to]; + if (createdActors.get(msg.to) == index) { + const actor = actors.get(msg.to); const adjustment = actor.type == 'actor' ? ACTOR_TYPE_WIDTH / 2 + 3 : actor.width / 2 + 3; receiverAdjustment(actor, adjustment); actor.starty = lineStartY - actor.height / 2; bounds.bumpVerticalPos(actor.height / 2); } // if it is a destroy sender message - else if (destroyedActors[msg.from] == index) { - const actor = actors[msg.from]; + else if (destroyedActors.get(msg.from) == index) { + const actor = actors.get(msg.from); if (conf.mirrorActors) { const adjustment = actor.type == 'actor' ? ACTOR_TYPE_WIDTH / 2 : actor.width / 2; senderAdjustment(actor, adjustment); @@ -740,8 +740,8 @@ function adjustCreatedDestroyedData( bounds.bumpVerticalPos(actor.height / 2); } // if it is a destroy receiver message - else if (destroyedActors[msg.to] == index) { - const actor = actors[msg.to]; + else if (destroyedActors.get(msg.to) == index) { + const actor = actors.get(msg.to); if (conf.mirrorActors) { const adjustment = actor.type == 'actor' ? ACTOR_TYPE_WIDTH / 2 + 3 : actor.width / 2 + 3; receiverAdjustment(actor, adjustment); @@ -1132,15 +1132,15 @@ export const draw = async function (_text: string, id: string, _version: string, * @returns The max message width of each actor. */ async function getMaxMessageWidthPerActor( - actors: { [id: string]: any }, + actors: Map, messages: any[], diagObj: Diagram ): Promise<{ [id: string]: number }> { const maxMessageWidthPerActor = {}; for (const msg of messages) { - if (actors[msg.to] && actors[msg.from]) { - const actor = actors[msg.to]; + if (actors.get(msg.to) && actors.get(msg.from)) { + const actor = actors.get(msg.to); // If this is the first actor, and the message is left of it, no need to calculate the margin if (msg.placement === diagObj.db.PLACEMENT.LEFTOF && !actor.prevActor) { @@ -1258,13 +1258,13 @@ const getRequiredPopupWidth = function (actor) { * @param boxes - The boxes around the actors if any */ async function calculateActorMargins( - actors: { [id: string]: any }, + actors: Map, actorToMessageWidth: Awaited>, boxes ) { let maxHeight = 0; - for (const prop of Object.keys(actors)) { - const actor = actors[prop]; + for (const prop of actors.keys()) { + const actor = actors.get(prop); if (actor.wrap) { actor.description = utils.wrapLabel( actor.description, @@ -1285,13 +1285,13 @@ async function calculateActorMargins( } for (const actorKey in actorToMessageWidth) { - const actor = actors[actorKey]; + const actor = actors.get(actorKey); if (!actor) { continue; } - const nextActor = actors[actor.nextActor]; + const nextActor = actors.get(actor.nextActor); // No need to space out an actor that doesn't have a next link if (!nextActor) { @@ -1311,7 +1311,7 @@ async function calculateActorMargins( boxes.forEach((box) => { const textFont = messageFont(conf); let totalWidth = box.actorKeys.reduce((total, aKey) => { - return (total += actors[aKey].width + (actors[aKey].margin || 0)); + return (total += actors.get(aKey).width + (actors.get(aKey).margin || 0)); }, 0); totalWidth -= 2 * conf.boxTextMargin; @@ -1334,8 +1334,10 @@ async function calculateActorMargins( } const buildNoteModel = async function (msg, actors, diagObj) { - const startx = actors[msg.from].x; - const stopx = actors[msg.to].x; + const fromActor = actors.get(msg.from); + const toActor = actors.get(msg.to); + const startx = fromActor.x; + const stopx = toActor.x; const shouldWrap = msg.wrap && msg.message; let textDimensions: { width: number; height: number; lineHeight?: number } = hasKatex(msg.message) @@ -1349,7 +1351,7 @@ const buildNoteModel = async function (msg, actors, diagObj) { ? conf.width : common.getMax(conf.width, textDimensions.width + 2 * conf.noteMargin), height: 0, - startx: actors[msg.from].x, + startx: fromActor.x, stopx: 0, starty: 0, stopy: 0, @@ -1359,45 +1361,36 @@ const buildNoteModel = async function (msg, actors, diagObj) { noteModel.width = shouldWrap ? common.getMax(conf.width, textDimensions.width) : common.getMax( - actors[msg.from].width / 2 + actors[msg.to].width / 2, + fromActor.width / 2 + toActor.width / 2, textDimensions.width + 2 * conf.noteMargin ); - noteModel.startx = startx + (actors[msg.from].width + conf.actorMargin) / 2; + noteModel.startx = startx + (fromActor.width + conf.actorMargin) / 2; } else if (msg.placement === diagObj.db.PLACEMENT.LEFTOF) { noteModel.width = shouldWrap ? common.getMax(conf.width, textDimensions.width + 2 * conf.noteMargin) : common.getMax( - actors[msg.from].width / 2 + actors[msg.to].width / 2, + fromActor.width / 2 + toActor.width / 2, textDimensions.width + 2 * conf.noteMargin ); - noteModel.startx = startx - noteModel.width + (actors[msg.from].width - conf.actorMargin) / 2; + noteModel.startx = startx - noteModel.width + (fromActor.width - conf.actorMargin) / 2; } else if (msg.to === msg.from) { textDimensions = utils.calculateTextDimensions( shouldWrap - ? utils.wrapLabel( - msg.message, - common.getMax(conf.width, actors[msg.from].width), - noteFont(conf) - ) + ? utils.wrapLabel(msg.message, common.getMax(conf.width, fromActor.width), noteFont(conf)) : msg.message, noteFont(conf) ); noteModel.width = shouldWrap - ? common.getMax(conf.width, actors[msg.from].width) - : common.getMax( - actors[msg.from].width, - conf.width, - textDimensions.width + 2 * conf.noteMargin - ); - noteModel.startx = startx + (actors[msg.from].width - noteModel.width) / 2; + ? common.getMax(conf.width, fromActor.width) + : common.getMax(fromActor.width, conf.width, textDimensions.width + 2 * conf.noteMargin); + noteModel.startx = startx + (fromActor.width - noteModel.width) / 2; } else { noteModel.width = - Math.abs(startx + actors[msg.from].width / 2 - (stopx + actors[msg.to].width / 2)) + - conf.actorMargin; + Math.abs(startx + fromActor.width / 2 - (stopx + toActor.width / 2)) + conf.actorMargin; noteModel.startx = startx < stopx - ? startx + actors[msg.from].width / 2 - conf.actorMargin / 2 - : stopx + actors[msg.to].width / 2 - conf.actorMargin / 2; + ? startx + fromActor.width / 2 - conf.actorMargin / 2 + : stopx + toActor.width / 2 - conf.actorMargin / 2; } if (shouldWrap) { noteModel.message = utils.wrapLabel( @@ -1545,7 +1538,7 @@ const calculateLoopBounds = async function (messages, actors, _maxWidthPerActor, break; case diagObj.db.LINETYPE.ACTIVE_START: { - const actorRect = actors[msg.from ? msg.from.actor : msg.to.actor]; + const actorRect = actors.get(msg.from ? msg.from.actor : msg.to.actor); const stackedSize = actorActivations(msg.from ? msg.from.actor : msg.to.actor).length; const x = actorRect.x + actorRect.width / 2 + ((stackedSize - 1) * conf.activationWidth) / 2; @@ -1585,8 +1578,8 @@ const calculateLoopBounds = async function (messages, actors, _maxWidthPerActor, stack.forEach((stk) => { current = stk; if (msgModel.startx === msgModel.stopx) { - const from = actors[msg.from]; - const to = actors[msg.to]; + const from = actors.get(msg.from); + const to = actors.get(msg.to); current.from = common.getMin( from.x - msgModel.width / 2, from.x - from.width / 2, diff --git a/packages/mermaid/src/diagrams/sequence/svgDraw.js b/packages/mermaid/src/diagrams/sequence/svgDraw.js index 84351ea5ad..568074b537 100644 --- a/packages/mermaid/src/diagrams/sequence/svgDraw.js +++ b/packages/mermaid/src/diagrams/sequence/svgDraw.js @@ -307,7 +307,7 @@ export const fixLifeLineHeights = (diagram, actors, actorKeys, conf) => { return; } actorKeys.forEach((actorKey) => { - const actor = actors[actorKey]; + const actor = actors.get(actorKey); const actorDOM = diagram.select('#actor' + actor.actorCnt); if (!conf.mirrorActors && actor.stopy) { actorDOM.attr('y2', actor.stopy + actor.height / 2); diff --git a/packages/mermaid/src/diagrams/state/parser/state-parser.spec.js b/packages/mermaid/src/diagrams/state/parser/state-parser.spec.js index e56931ade7..c4461e6301 100644 --- a/packages/mermaid/src/diagrams/state/parser/state-parser.spec.js +++ b/packages/mermaid/src/diagrams/state/parser/state-parser.spec.js @@ -21,8 +21,8 @@ describe('state parser can parse...', () => { stateDiagram.parser.yy.extract(stateDiagram.parser.yy.getRootDocV2()); const states = stateDiagram.parser.yy.getStates(); - expect(states['namedState1']).not.toBeUndefined(); - expect(states['namedState1'].descriptions.join(' ')).toEqual('Small State 1'); + expect(states.get('namedState1')).not.toBeUndefined(); + expect(states.get('namedState1').descriptions.join(' ')).toEqual('Small State 1'); }); }); @@ -34,8 +34,8 @@ describe('state parser can parse...', () => { stateDiagram.parser.yy.extract(stateDiagram.parser.yy.getRootDocV2()); const states = stateDiagram.parser.yy.getStates(); - expect(states['namedState1']).not.toBeUndefined(); - expect(states['namedState1'].descriptions.join(' ')).toEqual('Small State 1'); + expect(states.get('namedState1')).not.toBeUndefined(); + expect(states.get('namedState1').descriptions.join(' ')).toEqual('Small State 1'); }); it('no spaces before and after the colon', () => { @@ -45,8 +45,8 @@ describe('state parser can parse...', () => { stateDiagram.parser.yy.extract(stateDiagram.parser.yy.getRootDocV2()); const states = stateDiagram.parser.yy.getStates(); - expect(states['namedState1']).not.toBeUndefined(); - expect(states['namedState1'].descriptions.join(' ')).toEqual('Small State 1'); + expect(states.get('namedState1')).not.toBeUndefined(); + expect(states.get('namedState1').descriptions.join(' ')).toEqual('Small State 1'); }); }); }); @@ -62,8 +62,8 @@ describe('state parser can parse...', () => { stateDiagram.parser.parse(diagramText); stateDiagram.parser.yy.extract(stateDiagram.parser.yy.getRootDocV2()); const states = stateDiagram.parser.yy.getStates(); - expect(states['assemble']).not.toBeUndefined(); - expect(states['assemblies']).not.toBeUndefined(); + expect(states.get('assemble')).not.toBeUndefined(); + expect(states.get('assemblies')).not.toBeUndefined(); }); it('state "as" as as', function () { @@ -73,8 +73,8 @@ describe('state parser can parse...', () => { stateDiagram.parser.parse(diagramText); stateDiagram.parser.yy.extract(stateDiagram.parser.yy.getRootDocV2()); const states = stateDiagram.parser.yy.getStates(); - expect(states['as']).not.toBeUndefined(); - expect(states['as'].descriptions.join(' ')).toEqual('as'); + expect(states.get('as')).not.toBeUndefined(); + expect(states.get('as').descriptions.join(' ')).toEqual('as'); }); }); @@ -99,12 +99,12 @@ describe('state parser can parse...', () => { stateDiagram.parser.yy.extract(stateDiagram.parser.yy.getRootDocV2()); const states = stateDiagram.parser.yy.getStates(); - expect(states['namedState1']).not.toBeUndefined(); - expect(states['bigState1']).not.toBeUndefined(); - expect(states['bigState1'].doc[0].id).toEqual('bigState1InternalState'); - expect(states['namedState2']).not.toBeUndefined(); - expect(states['bigState2']).not.toBeUndefined(); - expect(states['bigState2'].doc[0].id).toEqual('bigState2InternalState'); + expect(states.get('namedState1')).not.toBeUndefined(); + expect(states.get('bigState1')).not.toBeUndefined(); + expect(states.get('bigState1').doc[0].id).toEqual('bigState1InternalState'); + expect(states.get('namedState2')).not.toBeUndefined(); + expect(states.get('bigState2')).not.toBeUndefined(); + expect(states.get('bigState2').doc[0].id).toEqual('bigState2InternalState'); const relationships = stateDiagram.parser.yy.getRelations(); expect(relationships[0].id1).toEqual('namedState1'); expect(relationships[0].id2).toEqual('bigState1'); @@ -123,11 +123,11 @@ describe('state parser can parse...', () => { stateDiagram.parser.yy.extract(stateDiagram.parser.yy.getRootDocV2()); const states = stateDiagram.parser.yy.getStates(); - expect(states['bigState1']).not.toBeUndefined(); - expect(states['bigState1'].doc[0].id).toEqual('inner1'); - expect(states['bigState1'].doc[0].description).toEqual('inner state 1'); - expect(states['bigState1'].doc[1].id).toEqual('inner2'); - expect(states['bigState1'].doc[1].description).toEqual('inner state 2'); + expect(states.get('bigState1')).not.toBeUndefined(); + expect(states.get('bigState1').doc[0].id).toEqual('inner1'); + expect(states.get('bigState1').doc[0].description).toEqual('inner state 1'); + expect(states.get('bigState1').doc[1].id).toEqual('inner2'); + expect(states.get('bigState1').doc[1].description).toEqual('inner state 2'); }); }); }); diff --git a/packages/mermaid/src/diagrams/state/parser/state-style.spec.js b/packages/mermaid/src/diagrams/state/parser/state-style.spec.js index 9ce41df503..4a9c510a46 100644 --- a/packages/mermaid/src/diagrams/state/parser/state-style.spec.js +++ b/packages/mermaid/src/diagrams/state/parser/state-style.spec.js @@ -19,8 +19,8 @@ describe('ClassDefs and classes when parsing a State diagram', () => { stateDiagram.parser.yy.extract(stateDiagram.parser.yy.getRootDocV2()); const styleClasses = stateDb.getClasses(); - expect(styleClasses['exampleClass'].styles.length).toEqual(1); - expect(styleClasses['exampleClass'].styles[0]).toEqual('background:#bbb'); + expect(styleClasses.get('exampleClass').styles.length).toEqual(1); + expect(styleClasses.get('exampleClass').styles[0]).toEqual('background:#bbb'); }); it('can define multiple attributes separated by commas', function () { @@ -30,10 +30,10 @@ describe('ClassDefs and classes when parsing a State diagram', () => { stateDiagram.parser.yy.extract(stateDiagram.parser.yy.getRootDocV2()); const styleClasses = stateDb.getClasses(); - expect(styleClasses['exampleClass'].styles.length).toEqual(3); - expect(styleClasses['exampleClass'].styles[0]).toEqual('background:#bbb'); - expect(styleClasses['exampleClass'].styles[1]).toEqual('font-weight:bold'); - expect(styleClasses['exampleClass'].styles[2]).toEqual('font-style:italic'); + expect(styleClasses.get('exampleClass').styles.length).toEqual(3); + expect(styleClasses.get('exampleClass').styles[0]).toEqual('background:#bbb'); + expect(styleClasses.get('exampleClass').styles[1]).toEqual('font-weight:bold'); + expect(styleClasses.get('exampleClass').styles[2]).toEqual('font-style:italic'); }); // need to look at what the lexer is doing @@ -44,9 +44,9 @@ describe('ClassDefs and classes when parsing a State diagram', () => { stateDiagram.parser.yy.extract(stateDiagram.parser.yy.getRootDocV2()); const classes = stateDiagram.parser.yy.getClasses(); - expect(classes['exampleStyleClass'].styles.length).toBe(2); - expect(classes['exampleStyleClass'].styles[0]).toBe('background:#bbb'); - expect(classes['exampleStyleClass'].styles[1]).toBe('border:1.5px solid red'); + expect(classes.get('exampleStyleClass').styles.length).toBe(2); + expect(classes.get('exampleStyleClass').styles[0]).toBe('background:#bbb'); + expect(classes.get('exampleStyleClass').styles[1]).toBe('border:1.5px solid red'); }); it('an attribute can have a space in the style', function () { @@ -56,9 +56,9 @@ describe('ClassDefs and classes when parsing a State diagram', () => { stateDiagram.parser.yy.extract(stateDiagram.parser.yy.getRootDocV2()); const classes = stateDiagram.parser.yy.getClasses(); - expect(classes['exampleStyleClass'].styles.length).toBe(2); - expect(classes['exampleStyleClass'].styles[0]).toBe('background: #bbb'); - expect(classes['exampleStyleClass'].styles[1]).toBe('border:1.5px solid red'); + expect(classes.get('exampleStyleClass').styles.length).toBe(2); + expect(classes.get('exampleStyleClass').styles[0]).toBe('background: #bbb'); + expect(classes.get('exampleStyleClass').styles[1]).toBe('border:1.5px solid red'); }); }); @@ -74,9 +74,9 @@ describe('ClassDefs and classes when parsing a State diagram', () => { stateDiagram.parser.yy.extract(stateDiagram.parser.yy.getRootDocV2()); const classes = stateDb.getClasses(); - expect(classes['exampleStyleClass'].styles.length).toEqual(2); - expect(classes['exampleStyleClass'].styles[0]).toEqual('background:#bbb'); - expect(classes['exampleStyleClass'].styles[1]).toEqual('border:1px solid red'); + expect(classes.get('exampleStyleClass').styles.length).toEqual(2); + expect(classes.get('exampleStyleClass').styles[0]).toEqual('background:#bbb'); + expect(classes.get('exampleStyleClass').styles[1]).toEqual('border:1px solid red'); const state_a = stateDb.getState('a'); expect(state_a.classes.length).toEqual(1); @@ -95,9 +95,9 @@ describe('ClassDefs and classes when parsing a State diagram', () => { stateDiagram.parser.yy.extract(stateDiagram.parser.yy.getRootDocV2()); const classes = stateDiagram.parser.yy.getClasses(); - expect(classes['exampleStyleClass'].styles.length).toBe(2); - expect(classes['exampleStyleClass'].styles[0]).toBe('background:#bbb'); - expect(classes['exampleStyleClass'].styles[1]).toBe('border:1px solid red'); + expect(classes.get('exampleStyleClass').styles.length).toBe(2); + expect(classes.get('exampleStyleClass').styles[0]).toBe('background:#bbb'); + expect(classes.get('exampleStyleClass').styles[1]).toBe('border:1px solid red'); const state_a_a = stateDiagram.parser.yy.getState('a_a'); expect(state_a_a.classes.length).toEqual(1); @@ -117,11 +117,11 @@ describe('ClassDefs and classes when parsing a State diagram', () => { const states = stateDiagram.parser.yy.getStates(); const classes = stateDiagram.parser.yy.getClasses(); - expect(classes['exampleStyleClass'].styles.length).toEqual(2); - expect(classes['exampleStyleClass'].styles[0]).toEqual('background:#bbb'); - expect(classes['exampleStyleClass'].styles[1]).toEqual('border:1px solid red'); + expect(classes.get('exampleStyleClass').styles.length).toEqual(2); + expect(classes.get('exampleStyleClass').styles[0]).toEqual('background:#bbb'); + expect(classes.get('exampleStyleClass').styles[1]).toEqual('border:1px solid red'); - expect(states['b'].classes[0]).toEqual('exampleStyleClass'); + expect(states.get('b').classes[0]).toEqual('exampleStyleClass'); }); it('can be applied to a [*] state', () => { @@ -136,11 +136,11 @@ describe('ClassDefs and classes when parsing a State diagram', () => { const states = stateDiagram.parser.yy.getStates(); const classes = stateDiagram.parser.yy.getClasses(); - expect(classes['exampleStyleClass'].styles.length).toEqual(2); - expect(classes['exampleStyleClass'].styles[0]).toEqual('background:#bbb'); - expect(classes['exampleStyleClass'].styles[1]).toEqual('border:1px solid red'); + expect(classes.get('exampleStyleClass').styles.length).toEqual(2); + expect(classes.get('exampleStyleClass').styles[0]).toEqual('background:#bbb'); + expect(classes.get('exampleStyleClass').styles[1]).toEqual('border:1px solid red'); - expect(states['root_start'].classes[0]).toEqual('exampleStyleClass'); + expect(states.get('root_start').classes[0]).toEqual('exampleStyleClass'); }); it('can be applied to a comma separated list of states', function () { @@ -155,11 +155,11 @@ describe('ClassDefs and classes when parsing a State diagram', () => { let classes = stateDiagram.parser.yy.getClasses(); let states = stateDiagram.parser.yy.getStates(); - expect(classes['exampleStyleClass'].styles.length).toEqual(2); - expect(classes['exampleStyleClass'].styles[0]).toEqual('background:#bbb'); - expect(classes['exampleStyleClass'].styles[1]).toEqual('border:1px solid red'); - expect(states['a'].classes[0]).toEqual('exampleStyleClass'); - expect(states['b'].classes[0]).toEqual('exampleStyleClass'); + expect(classes.get('exampleStyleClass').styles.length).toEqual(2); + expect(classes.get('exampleStyleClass').styles[0]).toEqual('background:#bbb'); + expect(classes.get('exampleStyleClass').styles[1]).toEqual('border:1px solid red'); + expect(states.get('a').classes[0]).toEqual('exampleStyleClass'); + expect(states.get('b').classes[0]).toEqual('exampleStyleClass'); }); it('a comma separated list of states may or may not have spaces after commas', function () { @@ -174,13 +174,13 @@ describe('ClassDefs and classes when parsing a State diagram', () => { const classes = stateDiagram.parser.yy.getClasses(); const states = stateDiagram.parser.yy.getStates(); - expect(classes['exampleStyleClass'].styles.length).toEqual(2); - expect(classes['exampleStyleClass'].styles[0]).toEqual('background:#bbb'); - expect(classes['exampleStyleClass'].styles[1]).toEqual('border:1px solid red'); + expect(classes.get('exampleStyleClass').styles.length).toEqual(2); + expect(classes.get('exampleStyleClass').styles[0]).toEqual('background:#bbb'); + expect(classes.get('exampleStyleClass').styles[1]).toEqual('border:1px solid red'); const statesList = ['a', 'b', 'c', 'd', 'e']; statesList.forEach((stateId) => { - expect(states[stateId].classes[0]).toEqual('exampleStyleClass'); + expect(states.get(stateId).classes[0]).toEqual('exampleStyleClass'); }); }); }); @@ -202,7 +202,7 @@ describe('ClassDefs and classes when parsing a State diagram', () => { const states = stateDiagram.parser.yy.getStates(); - expect(states['Moving'].doc.length).toEqual(1); + expect(states.get('Moving').doc.length).toEqual(1); }); }); }); diff --git a/packages/mermaid/src/diagrams/state/stateDb.js b/packages/mermaid/src/diagrams/state/stateDb.js index 0ff32cbb33..5fd800a8b5 100644 --- a/packages/mermaid/src/diagrams/state/stateDb.js +++ b/packages/mermaid/src/diagrams/state/stateDb.js @@ -37,10 +37,10 @@ const STYLECLASS_SEP = ','; * In the future, this can be replaced with a class common to all diagrams. * ClassDef information = { id: id, styles: [], textStyles: [] } * - * @returns {{}} + * @returns {Map} */ function newClassesList() { - return {}; + return new Map(); } let direction = DEFAULT_DIAGRAM_DIRECTION; @@ -49,8 +49,9 @@ let classes = newClassesList(); // style classes defined by a classDef const newDoc = () => { return { + /** @type {{ id1: string, id2: string, relationTitle: string }[]} */ relations: [], - states: {}, + states: new Map(), documents: {}, }; }; @@ -217,9 +218,9 @@ export const addState = function ( ) { const trimmedId = id?.trim(); // add the state if needed - if (currentDocument.states[trimmedId] === undefined) { + if (!currentDocument.states.has(trimmedId)) { log.info('Adding state ', trimmedId, descr); - currentDocument.states[trimmedId] = { + currentDocument.states.set(trimmedId, { id: trimmedId, descriptions: [], type, @@ -228,16 +229,18 @@ export const addState = function ( classes: [], styles: [], textStyles: [], - }; + }); } else { - if (!currentDocument.states[trimmedId].doc) { - currentDocument.states[trimmedId].doc = doc; + if (!currentDocument.states.get(trimmedId).doc) { + currentDocument.states.get(trimmedId).doc = doc; } - if (!currentDocument.states[trimmedId].type) { - currentDocument.states[trimmedId].type = type; + if (!currentDocument.states.get(trimmedId).type) { + currentDocument.states.get(trimmedId).type = type; } } + const doc2 = currentDocument.states.get(trimmedId); + if (descr) { log.info('Setting state description', trimmedId, descr); if (typeof descr === 'string') { @@ -250,11 +253,8 @@ export const addState = function ( } if (note) { - currentDocument.states[trimmedId].note = note; - currentDocument.states[trimmedId].note.text = common.sanitizeText( - currentDocument.states[trimmedId].note.text, - getConfig() - ); + doc2.note = note; + doc2.note.text = common.sanitizeText(doc2.note.text, getConfig()); } if (classes) { @@ -291,7 +291,7 @@ export const clear = function (saveCommon) { }; export const getState = function (id) { - return currentDocument.states[id]; + return currentDocument.states.get(id); }; export const getStates = function () { @@ -429,7 +429,7 @@ export const addRelation = function (item1, item2, title) { }; export const addDescription = function (id, descr) { - const theState = currentDocument.states[id]; + const theState = currentDocument.states.get(id); const _descr = descr.startsWith(':') ? descr.replace(':', '').trim() : descr; theState.descriptions.push(common.sanitizeText(_descr, getConfig())); }; @@ -456,10 +456,10 @@ const getDividerId = () => { */ export const addStyleClass = function (id, styleAttributes = '') { // create a new style class object with this id - if (classes[id] === undefined) { - classes[id] = { id: id, styles: [], textStyles: [] }; // This is a classDef + if (!classes.has(id)) { + classes.set(id, { id: id, styles: [], textStyles: [] }); // This is a classDef } - const foundClass = classes[id]; + const foundClass = classes.get(id); if (styleAttributes !== undefined && styleAttributes !== null) { styleAttributes.split(STYLECLASS_SEP).forEach((attrib) => { // remove any trailing ; diff --git a/packages/mermaid/src/diagrams/state/stateDb.spec.js b/packages/mermaid/src/diagrams/state/stateDb.spec.js index 0264c34cc5..ff05812005 100644 --- a/packages/mermaid/src/diagrams/state/stateDb.spec.js +++ b/packages/mermaid/src/diagrams/state/stateDb.spec.js @@ -12,10 +12,10 @@ describe('State Diagram stateDb', () => { stateDb.addStyleClass(newStyleClassId, newStyleClassAttribs); const styleClasses = stateDb.getClasses(); - expect(styleClasses[newStyleClassId].id).toEqual(newStyleClassId); - expect(styleClasses[newStyleClassId].styles.length).toEqual(2); - expect(styleClasses[newStyleClassId].styles[0]).toEqual('font-weight:bold'); - expect(styleClasses[newStyleClassId].styles[1]).toEqual('border:blue'); + expect(styleClasses.get(newStyleClassId).id).toEqual(newStyleClassId); + expect(styleClasses.get(newStyleClassId).styles.length).toEqual(2); + expect(styleClasses.get(newStyleClassId).styles[0]).toEqual('font-weight:bold'); + expect(styleClasses.get(newStyleClassId).styles[1]).toEqual('border:blue'); }); }); @@ -34,15 +34,15 @@ describe('State Diagram stateDb', () => { stateDb.addDescription(testStateId, restOfTheDescription); let states = stateDb.getStates(); - expect(states[testStateId].descriptions[0]).toEqual(restOfTheDescription); + expect(states.get(testStateId).descriptions[0]).toEqual(restOfTheDescription); stateDb.addDescription(testStateId, oneLeadingColon); states = stateDb.getStates(); - expect(states[testStateId].descriptions[1]).toEqual(restOfTheDescription); + expect(states.get(testStateId).descriptions[1]).toEqual(restOfTheDescription); stateDb.addDescription(testStateId, twoLeadingColons); states = stateDb.getStates(); - expect(states[testStateId].descriptions[2]).toEqual(`:${restOfTheDescription}`); + expect(states.get(testStateId).descriptions[2]).toEqual(`:${restOfTheDescription}`); }); it('adds each description to the array of descriptions', () => { @@ -51,10 +51,10 @@ describe('State Diagram stateDb', () => { stateDb.addDescription(testStateId, 'description 2'); let states = stateDb.getStates(); - expect(states[testStateId].descriptions.length).toEqual(3); - expect(states[testStateId].descriptions[0]).toEqual('description 0'); - expect(states[testStateId].descriptions[1]).toEqual('description 1'); - expect(states[testStateId].descriptions[2]).toEqual('description 2'); + expect(states.get(testStateId).descriptions.length).toEqual(3); + expect(states.get(testStateId).descriptions[0]).toEqual('description 0'); + expect(states.get(testStateId).descriptions[1]).toEqual('description 1'); + expect(states.get(testStateId).descriptions[2]).toEqual('description 2'); }); it('sanitizes on the description', () => { @@ -63,13 +63,13 @@ describe('State Diagram stateDb', () => { 'desc outside the script ' ); let states = stateDb.getStates(); - expect(states[testStateId].descriptions[0]).toEqual('desc outside the script '); + expect(states.get(testStateId).descriptions[0]).toEqual('desc outside the script '); }); it('adds the description to the state with the given id', () => { stateDb.addDescription(testStateId, 'the description'); let states = stateDb.getStates(); - expect(states[testStateId].descriptions[0]).toEqual('the description'); + expect(states.get(testStateId).descriptions[0]).toEqual('the description'); }); }); }); diff --git a/packages/mermaid/src/diagrams/state/stateDiagram-v2.spec.js b/packages/mermaid/src/diagrams/state/stateDiagram-v2.spec.js index c387ff7b3d..53063f41a1 100644 --- a/packages/mermaid/src/diagrams/state/stateDiagram-v2.spec.js +++ b/packages/mermaid/src/diagrams/state/stateDiagram-v2.spec.js @@ -405,7 +405,7 @@ describe('state diagram V2, ', function () { stateDiagram.parser.yy.extract(stateDiagram.parser.yy.getRootDocV2()); const states = stateDb.getStates(); - expect(states['Active'].doc[0].id).toEqual('Idle'); + expect(states.get('Active').doc[0].id).toEqual('Idle'); const rels = stateDb.getRelations(); const rel_Inactive_Idle = rels.find((rel) => rel.id1 === 'Inactive' && rel.id2 === 'Idle'); diff --git a/packages/mermaid/src/diagrams/state/stateRenderer-v2.js b/packages/mermaid/src/diagrams/state/stateRenderer-v2.js index 482e37caee..4d702bf3c1 100644 --- a/packages/mermaid/src/diagrams/state/stateRenderer-v2.js +++ b/packages/mermaid/src/diagrams/state/stateRenderer-v2.js @@ -81,7 +81,7 @@ export const setConf = function (cnf) { * * @param {string} text - the diagram text to be parsed * @param diagramObj - * @returns {Record} ClassDef styles (a Map with keys = strings, values = ) + * @returns {Map} ClassDef styles (a Map with keys = strings, values = ) */ export const getClasses = function (text, diagramObj) { diagramObj.db.extract(diagramObj.db.getRootDocV2()); diff --git a/packages/mermaid/src/mermaidAPI.spec.ts b/packages/mermaid/src/mermaidAPI.spec.ts index 40efd776b6..aa5c7a7fb2 100644 --- a/packages/mermaid/src/mermaidAPI.spec.ts +++ b/packages/mermaid/src/mermaidAPI.spec.ts @@ -295,7 +295,7 @@ describe('mermaidAPI', () => { expect(styles).toMatch(/^\ndefault(.*)/); }); it('gets the fontFamily from the config', () => { - const styles = createCssStyles(mocked_config_with_htmlLabels, {}); + const styles = createCssStyles(mocked_config_with_htmlLabels, new Map()); expect(styles).toMatch(/(.*)\n:root { --mermaid-font-family: serif(.*)/); }); it('gets the alt fontFamily from the config', () => { @@ -375,7 +375,7 @@ describe('mermaidAPI', () => { // @todo TODO Can't figure out how to spy on the cssImportantStyles method. // That would be a much better approach than manually checking the result - const styles = createCssStyles(mocked_config, classDefs); + const styles = createCssStyles(mocked_config, new Map(Object.entries(classDefs))); htmlElements.forEach((htmlElement) => { expect_styles_matchesHtmlElements(styles, htmlElement); }); @@ -413,7 +413,10 @@ describe('mermaidAPI', () => { it('creates CSS styles for every style and textStyle in every classDef', () => { // TODO Can't figure out how to spy on the cssImportantStyles method. That would be a much better approach than manually checking the result. - const styles = createCssStyles(mocked_config_no_htmlLabels, classDefs); + const styles = createCssStyles( + mocked_config_no_htmlLabels, + new Map(Object.entries(classDefs)) + ); htmlElements.forEach((htmlElement) => { expect_styles_matchesHtmlElements(styles, htmlElement); }); @@ -437,7 +440,7 @@ describe('mermaidAPI', () => { it('gets the css styles created', () => { // @todo TODO if a single function in the module can be mocked, do it for createCssStyles and mock the results. - createUserStyles(mockConfig, 'flowchart-v2', { classDef1 }, 'someId'); + createUserStyles(mockConfig, 'flowchart-v2', new Map([['classDef1', classDef1]]), 'someId'); const expectedStyles = '\ndefault' + '\n.classDef1 > * { style1-1 !important; }' + @@ -448,12 +451,12 @@ describe('mermaidAPI', () => { }); it('calls getStyles to get css for all graph, user css styles, and config theme variables', () => { - createUserStyles(mockConfig, 'someDiagram', {}, 'someId'); + createUserStyles(mockConfig, 'someDiagram', new Map(), 'someId'); expect(getStyles).toHaveBeenCalled(); }); it('returns the result of compiling, stringifying, and serializing the css code with stylis', () => { - const result = createUserStyles(mockConfig, 'someDiagram', {}, 'someId'); + const result = createUserStyles(mockConfig, 'someDiagram', new Map(), 'someId'); expect(compile).toHaveBeenCalled(); expect(serialize).toHaveBeenCalled(); expect(result).toEqual('stylis serialized css'); diff --git a/packages/mermaid/src/mermaidAPI.ts b/packages/mermaid/src/mermaidAPI.ts index fc5eb77dc8..b13dd27b55 100644 --- a/packages/mermaid/src/mermaidAPI.ts +++ b/packages/mermaid/src/mermaidAPI.ts @@ -152,7 +152,7 @@ export const cssImportantStyles = ( */ export const createCssStyles = ( config: MermaidConfig, - classDefs: Record | null | undefined = {} + classDefs: Map | null | undefined = new Map() ): string => { let cssStyles = ''; @@ -171,7 +171,7 @@ export const createCssStyles = ( } // classDefs defined in the diagram text - if (!isEmpty(classDefs)) { + if (!isEmpty(classDefs) && classDefs instanceof Map) { const htmlLabels = config.htmlLabels || config.flowchart?.htmlLabels; // TODO why specifically check the Flowchart diagram config? const cssHtmlElements = ['> *', 'span']; // TODO make a constant @@ -180,8 +180,8 @@ export const createCssStyles = ( const cssElements = htmlLabels ? cssHtmlElements : cssShapeElements; // create the CSS styles needed for each styleClass definition and css element - for (const classId in classDefs) { - const styleClassDef = classDefs[classId]; + for (const classId of classDefs!.keys()) { + const styleClassDef = classDefs.get(classId)!; // create the css styles for each cssElement and the styles (only if there are styles) if (!isEmpty(styleClassDef.styles)) { cssElements.forEach((cssElement) => { @@ -200,7 +200,7 @@ export const createCssStyles = ( export const createUserStyles = ( config: MermaidConfig, graphType: string, - classDefs: Record | undefined, + classDefs: Map | undefined, svgId: string ): string => { const userCSSstyles = createCssStyles(config, classDefs); From 002aa29f19055b92d728fdbae07790ae99540114 Mon Sep 17 00:00:00 2001 From: Yash Singh Date: Tue, 16 Apr 2024 13:49:01 -0700 Subject: [PATCH 320/789] test: unsafe props to make sure they work with changes --- .../src/diagrams/block/parser/block.spec.ts | 19 ++++++++ .../src/diagrams/class/parser/class.spec.js | 28 ++++++++++++ .../src/diagrams/er/parser/erDiagram.spec.js | 18 ++++++++ .../diagrams/flowchart/parser/flow.spec.js | 43 +++++++++++++++++++ .../src/diagrams/gantt/parser/gantt.spec.js | 9 ++++ 5 files changed, 117 insertions(+) create mode 100644 packages/mermaid/src/diagrams/class/parser/class.spec.js diff --git a/packages/mermaid/src/diagrams/block/parser/block.spec.ts b/packages/mermaid/src/diagrams/block/parser/block.spec.ts index 8618f4d027..29ddad3469 100644 --- a/packages/mermaid/src/diagrams/block/parser/block.spec.ts +++ b/packages/mermaid/src/diagrams/block/parser/block.spec.ts @@ -406,4 +406,23 @@ columns 1 expect(B.styles).toContain('fill:#f9F'); }); }); + + describe('prototype properties', function () { + function validateProperty(prop: string) { + expect(() => block.parse(`block-beta\n${prop}`)).not.toThrow(); + expect(() => block.parse(`block-beta\nA; classDef ${prop} color:#ffffff,fill:#000000; class A ${prop}`)).not.toThrow(); + } + + it('should work with a prototype property', function () { + validateProperty('prototype'); + }); + + it('should work with a __proto__ property', function () { + validateProperty('__proto__'); + }); + + it('should work with a constructor property', function () { + validateProperty('constructor'); + }); + }); }); diff --git a/packages/mermaid/src/diagrams/class/parser/class.spec.js b/packages/mermaid/src/diagrams/class/parser/class.spec.js new file mode 100644 index 0000000000..1758877568 --- /dev/null +++ b/packages/mermaid/src/diagrams/class/parser/class.spec.js @@ -0,0 +1,28 @@ +import { parser } from './classDiagram.jison'; +import classDb from '../classDb.js'; + +describe('class diagram', function () { + beforeEach(function () { + parser.yy = classDb; + parser.yy.clear(); + }); + + describe('prototype properties', function () { + function validateProperty(prop) { + expect(() => parser.parse(`classDiagram\nclass ${prop}`)).not.toThrow(); + expect(() => parser.parse(`classDiagram\nnamespace ${prop} {\n\tclass A\n}`)).not.toThrow(); + } + + it('should work with a prototype property', function () { + validateProperty('prototype'); + }); + + it('should work with a __proto__ property', function () { + validateProperty('__proto__'); + }); + + it('should work with a constructor property', function () { + validateProperty('constructor'); + }); + }); +}); diff --git a/packages/mermaid/src/diagrams/er/parser/erDiagram.spec.js b/packages/mermaid/src/diagrams/er/parser/erDiagram.spec.js index f63fd40e23..62c43e6f28 100644 --- a/packages/mermaid/src/diagrams/er/parser/erDiagram.spec.js +++ b/packages/mermaid/src/diagrams/er/parser/erDiagram.spec.js @@ -792,4 +792,22 @@ describe('when parsing ER diagram it...', function () { expect(rels[0].relSpec.cardA).toBe(erDb.Cardinality.ZERO_OR_MORE); }); }); + + describe('prototype properties', function () { + function validateProperty(prop) { + expect(() => erDiagram.parser.parse(`erDiagram\n${prop} ||--|{ ORDER : place`)).not.toThrow(); + } + + it('should work with a prototype property', function () { + validateProperty('prototype'); + }); + + it('should work with a __proto__ property', function () { + validateProperty('__proto__'); + }); + + it('should work with a constructor property', function () { + validateProperty('constructor'); + }); + }) }); diff --git a/packages/mermaid/src/diagrams/flowchart/parser/flow.spec.js b/packages/mermaid/src/diagrams/flowchart/parser/flow.spec.js index ff2c9d506c..368ec0595d 100644 --- a/packages/mermaid/src/diagrams/flowchart/parser/flow.spec.js +++ b/packages/mermaid/src/diagrams/flowchart/parser/flow.spec.js @@ -194,4 +194,47 @@ describe('parsing a flow chart', function () { with a second line` ); }); + + for (const unsafeProp of ['__proto__', 'constructor', 'prototype']) { + it(`should work with node id ${unsafeProp}`, function () { + const flowChart = `graph LR + ${unsafeProp} --> A;`; + + expect(() => { + flow.parser.parse(flowChart); + }).not.toThrow(); + }); + + it(`should work with tooltip id ${unsafeProp}`, function () { + const flowChart = `graph LR + click ${unsafeProp} callback "${unsafeProp}";`; + + expect(() => { + flow.parser.parse(flowChart); + }).not.toThrow(); + }); + + it(`should work with class id ${unsafeProp}`, function () { + const flowChart = `graph LR + ${unsafeProp} --> A; + classDef ${unsafeProp} color:#ffffff,fill:#000000; + class ${unsafeProp} ${unsafeProp};`; + + expect(() => { + flow.parser.parse(flowChart); + }).not.toThrow(); + }); + + it(`should work with subgraph id ${unsafeProp}`, function () { + const flowChart = `graph LR + ${unsafeProp} --> A; + subgraph ${unsafeProp} + C --> D; + end;`; + + expect(() => { + flow.parser.parse(flowChart); + }).not.toThrow(); + }); + } }); diff --git a/packages/mermaid/src/diagrams/gantt/parser/gantt.spec.js b/packages/mermaid/src/diagrams/gantt/parser/gantt.spec.js index 6665765a4b..cff6a1e2ad 100644 --- a/packages/mermaid/src/diagrams/gantt/parser/gantt.spec.js +++ b/packages/mermaid/src/diagrams/gantt/parser/gantt.spec.js @@ -256,4 +256,13 @@ row2`; expect(ganttDb.getWeekday()).toBe(day); } ); + + it.each(['__proto__', 'constructor', 'prototype'])('should allow for a link to %s id', (prop) => { + expect(() => parser.parse(`gantt + dateFormat YYYY-MM-DD + section Section + A task :${prop}, 2024-10-01, 3d + click ${prop} href "https://mermaid.js.org/" + `)).not.toThrow(); + }); }); From c993a817d1d6a6f57f772df791d683be4edf2d48 Mon Sep 17 00:00:00 2001 From: Yash Singh Date: Tue, 16 Apr 2024 14:46:50 -0700 Subject: [PATCH 321/789] test: block, er, gantt, git, pie --- docs/config/setup/modules/mermaidAPI.md | 10 ++++----- .../src/diagrams/block/parser/block.spec.ts | 4 +++- .../src/diagrams/er/parser/erDiagram.spec.js | 2 +- .../src/diagrams/gantt/parser/gantt.spec.js | 6 +++-- .../src/diagrams/git/gitGraphParserV2.spec.js | 22 +++++++++++++++++++ packages/mermaid/src/diagrams/pie/pie.spec.ts | 8 +++++++ 6 files changed, 43 insertions(+), 9 deletions(-) diff --git a/docs/config/setup/modules/mermaidAPI.md b/docs/config/setup/modules/mermaidAPI.md index 6531da18f9..9598a404cc 100644 --- a/docs/config/setup/modules/mermaidAPI.md +++ b/docs/config/setup/modules/mermaidAPI.md @@ -190,12 +190,12 @@ the string with all the user styles #### Parameters -| Name | Type | -| :---------- | :-------------------------------------------------------- | -| `config` | `MermaidConfig` | -| `graphType` | `string` | +| Name | Type | +| :---------- | :----------------------------------------------------- | +| `config` | `MermaidConfig` | +| `graphType` | `string` | | `classDefs` | `undefined` \| `Map`<`string`, `DiagramStyleClassDef`> | -| `svgId` | `string` | +| `svgId` | `string` | #### Returns diff --git a/packages/mermaid/src/diagrams/block/parser/block.spec.ts b/packages/mermaid/src/diagrams/block/parser/block.spec.ts index 29ddad3469..c4fbe54837 100644 --- a/packages/mermaid/src/diagrams/block/parser/block.spec.ts +++ b/packages/mermaid/src/diagrams/block/parser/block.spec.ts @@ -410,7 +410,9 @@ columns 1 describe('prototype properties', function () { function validateProperty(prop: string) { expect(() => block.parse(`block-beta\n${prop}`)).not.toThrow(); - expect(() => block.parse(`block-beta\nA; classDef ${prop} color:#ffffff,fill:#000000; class A ${prop}`)).not.toThrow(); + expect(() => + block.parse(`block-beta\nA; classDef ${prop} color:#ffffff,fill:#000000; class A ${prop}`) + ).not.toThrow(); } it('should work with a prototype property', function () { diff --git a/packages/mermaid/src/diagrams/er/parser/erDiagram.spec.js b/packages/mermaid/src/diagrams/er/parser/erDiagram.spec.js index 62c43e6f28..bb747dcc67 100644 --- a/packages/mermaid/src/diagrams/er/parser/erDiagram.spec.js +++ b/packages/mermaid/src/diagrams/er/parser/erDiagram.spec.js @@ -809,5 +809,5 @@ describe('when parsing ER diagram it...', function () { it('should work with a constructor property', function () { validateProperty('constructor'); }); - }) + }); }); diff --git a/packages/mermaid/src/diagrams/gantt/parser/gantt.spec.js b/packages/mermaid/src/diagrams/gantt/parser/gantt.spec.js index cff6a1e2ad..52c1d93cdb 100644 --- a/packages/mermaid/src/diagrams/gantt/parser/gantt.spec.js +++ b/packages/mermaid/src/diagrams/gantt/parser/gantt.spec.js @@ -258,11 +258,13 @@ row2`; ); it.each(['__proto__', 'constructor', 'prototype'])('should allow for a link to %s id', (prop) => { - expect(() => parser.parse(`gantt + expect(() => + parser.parse(`gantt dateFormat YYYY-MM-DD section Section A task :${prop}, 2024-10-01, 3d click ${prop} href "https://mermaid.js.org/" - `)).not.toThrow(); + `) + ).not.toThrow(); }); }); diff --git a/packages/mermaid/src/diagrams/git/gitGraphParserV2.spec.js b/packages/mermaid/src/diagrams/git/gitGraphParserV2.spec.js index b0e40f73ef..be042b75ee 100644 --- a/packages/mermaid/src/diagrams/git/gitGraphParserV2.spec.js +++ b/packages/mermaid/src/diagrams/git/gitGraphParserV2.spec.js @@ -1095,4 +1095,26 @@ describe('when parsing a gitGraph', function () { expect(parser.yy.getAccDescription()).toBe('This is a description\nusing multiple lines'); }); }); + + describe('unsafe properties', () => { + for (const prop of ['__proto__', 'constructor', 'prototype']) { + it(`should work with custom commit id or branch name ${prop}`, () => { + const str = `gitGraph + commit id:"${prop}" + branch ${prop} + checkout ${prop} + commit + checkout main + merge ${prop} + `; + parser.parse(str); + const commits = parser.yy.getCommits(); + expect(commits.size).toBe(3); + expect(commits.keys().next().value).toBe(prop); + expect(parser.yy.getCurrentBranch()).toBe('main'); + expect(parser.yy.getBranches().size).toBe(2); + expect(parser.yy.getBranchesAsObjArray()[1].name).toBe(prop); + }); + } + }); }); diff --git a/packages/mermaid/src/diagrams/pie/pie.spec.ts b/packages/mermaid/src/diagrams/pie/pie.spec.ts index 32d49374bf..c93e99c559 100644 --- a/packages/mermaid/src/diagrams/pie/pie.spec.ts +++ b/packages/mermaid/src/diagrams/pie/pie.spec.ts @@ -138,6 +138,14 @@ describe('pie', () => { `); }).rejects.toThrowError(); }); + + it('should handle unsafe properties', async () => { + await expect(parser.parse(`pie title Unsafe props test + "__proto__" : 386 + "constructor" : 85 + "prototype" : 15`)).resolves.toBeUndefined(); + expect([...db.getSections().keys()]).toEqual(['__proto__', 'constructor', 'prototype']); + }); }); describe('config', () => { From 6105185d05ef581afb2ac4bb42484e4860ae4068 Mon Sep 17 00:00:00 2001 From: Yash Singh Date: Tue, 16 Apr 2024 17:14:49 -0700 Subject: [PATCH 322/789] test: requirement, sankey --- .../src/diagrams/block/parser/block.spec.ts | 4 ---- .../src/diagrams/class/parser/class.spec.js | 4 ---- .../diagrams/flowchart/parser/flow.spec.js | 2 +- .../src/diagrams/gantt/parser/gantt.spec.js | 2 +- .../src/diagrams/git/gitGraphParserV2.spec.js | 2 +- .../parser/requirementDiagram.spec.js | 21 +++++++++++++++++++ .../src/diagrams/sankey/parser/sankey.spec.ts | 7 +++++++ 7 files changed, 31 insertions(+), 11 deletions(-) diff --git a/packages/mermaid/src/diagrams/block/parser/block.spec.ts b/packages/mermaid/src/diagrams/block/parser/block.spec.ts index c4fbe54837..295dabf89c 100644 --- a/packages/mermaid/src/diagrams/block/parser/block.spec.ts +++ b/packages/mermaid/src/diagrams/block/parser/block.spec.ts @@ -415,10 +415,6 @@ columns 1 ).not.toThrow(); } - it('should work with a prototype property', function () { - validateProperty('prototype'); - }); - it('should work with a __proto__ property', function () { validateProperty('__proto__'); }); diff --git a/packages/mermaid/src/diagrams/class/parser/class.spec.js b/packages/mermaid/src/diagrams/class/parser/class.spec.js index 1758877568..d5f1de276c 100644 --- a/packages/mermaid/src/diagrams/class/parser/class.spec.js +++ b/packages/mermaid/src/diagrams/class/parser/class.spec.js @@ -13,10 +13,6 @@ describe('class diagram', function () { expect(() => parser.parse(`classDiagram\nnamespace ${prop} {\n\tclass A\n}`)).not.toThrow(); } - it('should work with a prototype property', function () { - validateProperty('prototype'); - }); - it('should work with a __proto__ property', function () { validateProperty('__proto__'); }); diff --git a/packages/mermaid/src/diagrams/flowchart/parser/flow.spec.js b/packages/mermaid/src/diagrams/flowchart/parser/flow.spec.js index 368ec0595d..0828852e1b 100644 --- a/packages/mermaid/src/diagrams/flowchart/parser/flow.spec.js +++ b/packages/mermaid/src/diagrams/flowchart/parser/flow.spec.js @@ -195,7 +195,7 @@ with a second line` ); }); - for (const unsafeProp of ['__proto__', 'constructor', 'prototype']) { + for (const unsafeProp of ['__proto__', 'constructor']) { it(`should work with node id ${unsafeProp}`, function () { const flowChart = `graph LR ${unsafeProp} --> A;`; diff --git a/packages/mermaid/src/diagrams/gantt/parser/gantt.spec.js b/packages/mermaid/src/diagrams/gantt/parser/gantt.spec.js index 52c1d93cdb..281e9b6bd3 100644 --- a/packages/mermaid/src/diagrams/gantt/parser/gantt.spec.js +++ b/packages/mermaid/src/diagrams/gantt/parser/gantt.spec.js @@ -257,7 +257,7 @@ row2`; } ); - it.each(['__proto__', 'constructor', 'prototype'])('should allow for a link to %s id', (prop) => { + it.each(['__proto__', 'constructor'])('should allow for a link to %s id', (prop) => { expect(() => parser.parse(`gantt dateFormat YYYY-MM-DD diff --git a/packages/mermaid/src/diagrams/git/gitGraphParserV2.spec.js b/packages/mermaid/src/diagrams/git/gitGraphParserV2.spec.js index be042b75ee..28174e823b 100644 --- a/packages/mermaid/src/diagrams/git/gitGraphParserV2.spec.js +++ b/packages/mermaid/src/diagrams/git/gitGraphParserV2.spec.js @@ -1097,7 +1097,7 @@ describe('when parsing a gitGraph', function () { }); describe('unsafe properties', () => { - for (const prop of ['__proto__', 'constructor', 'prototype']) { + for (const prop of ['__proto__', 'constructor']) { it(`should work with custom commit id or branch name ${prop}`, () => { const str = `gitGraph commit id:"${prop}" diff --git a/packages/mermaid/src/diagrams/requirement/parser/requirementDiagram.spec.js b/packages/mermaid/src/diagrams/requirement/parser/requirementDiagram.spec.js index 7e4e26cdec..dce62c6ed4 100644 --- a/packages/mermaid/src/diagrams/requirement/parser/requirementDiagram.spec.js +++ b/packages/mermaid/src/diagrams/requirement/parser/requirementDiagram.spec.js @@ -578,4 +578,25 @@ line 2`; let foundRelationship = requirementDb.getRelationships()[0]; expect(foundRelationship.type).toBe(expectedType); }); + + for (const property of ['__proto__', 'constructor']) { + it(`will accept ${property} as requirement id`, function () { + reqDiagram.parser.parse(`requirementDiagram + requirement ${property} { + id: 1 + text: the test text. + risk: high + verifymethod: test + }`); + expect(reqDiagram.parser.yy.getRequirements().size).toBe(1); + }); + + it(`will accept ${property} as element id`, function () { + reqDiagram.parser.parse(`requirementDiagram + element ${property} { + type: simulation + }`); + expect(reqDiagram.parser.yy.getElements().size).toBe(1); + }); + } }); diff --git a/packages/mermaid/src/diagrams/sankey/parser/sankey.spec.ts b/packages/mermaid/src/diagrams/sankey/parser/sankey.spec.ts index 4517ca01fc..a45b3d0eb9 100644 --- a/packages/mermaid/src/diagrams/sankey/parser/sankey.spec.ts +++ b/packages/mermaid/src/diagrams/sankey/parser/sankey.spec.ts @@ -20,5 +20,12 @@ describe('Sankey diagram', function () { sankey.parser.parse(graphDefinition); }); + + it('allows __proto__ as id', function () { + sankey.parser.parse(prepareTextForParsing(`sankey-beta + __proto__,A,0.597 + A,__proto__,0.403 + `)); + }); }); }); From 087a5748c87b7e12e047a74d571ad4f370990eb7 Mon Sep 17 00:00:00 2001 From: Yash Singh Date: Tue, 16 Apr 2024 17:52:26 -0700 Subject: [PATCH 323/789] test: seq, state --- .../src/diagrams/sequence/sequenceDiagram.spec.js | 6 ++++++ .../src/diagrams/state/parser/state-parser.spec.js | 12 ++++++++++++ .../src/diagrams/state/parser/state-style.spec.js | 10 ++++++++++ 3 files changed, 28 insertions(+) diff --git a/packages/mermaid/src/diagrams/sequence/sequenceDiagram.spec.js b/packages/mermaid/src/diagrams/sequence/sequenceDiagram.spec.js index 8098aa2ed7..53eb544925 100644 --- a/packages/mermaid/src/diagrams/sequence/sequenceDiagram.spec.js +++ b/packages/mermaid/src/diagrams/sequence/sequenceDiagram.spec.js @@ -2033,4 +2033,10 @@ participant Alice`; ); }); }); + + it.each(['__proto__', 'constructor'])('should allow %s as an actor name', function (prop) { + mermaidAPI.parse(` +sequenceDiagram +${prop}-->>A: Hello, how are you?`); + }); }); diff --git a/packages/mermaid/src/diagrams/state/parser/state-parser.spec.js b/packages/mermaid/src/diagrams/state/parser/state-parser.spec.js index c4461e6301..9fa8acab8a 100644 --- a/packages/mermaid/src/diagrams/state/parser/state-parser.spec.js +++ b/packages/mermaid/src/diagrams/state/parser/state-parser.spec.js @@ -130,4 +130,16 @@ describe('state parser can parse...', () => { expect(states.get('bigState1').doc[1].description).toEqual('inner state 2'); }); }); + + describe('unsafe properties as state names', () => { + it.each(['__proto__', 'constructor'])('should allow %s as a state name', function (prop) { + stateDiagram.parser.parse(` +stateDiagram-v2 +[*] --> ${prop} +${prop} --> [*]`); + stateDiagram.parser.yy.extract(stateDiagram.parser.yy.getRootDocV2()); + const states = stateDiagram.parser.yy.getStates(); + expect(states.get(prop)).not.toBeUndefined(); + }); + }); }); diff --git a/packages/mermaid/src/diagrams/state/parser/state-style.spec.js b/packages/mermaid/src/diagrams/state/parser/state-style.spec.js index 4a9c510a46..1be9148b8d 100644 --- a/packages/mermaid/src/diagrams/state/parser/state-style.spec.js +++ b/packages/mermaid/src/diagrams/state/parser/state-style.spec.js @@ -60,6 +60,16 @@ describe('ClassDefs and classes when parsing a State diagram', () => { expect(classes.get('exampleStyleClass').styles[0]).toBe('background: #bbb'); expect(classes.get('exampleStyleClass').styles[1]).toBe('border:1.5px solid red'); }); + + it('can have __proto__ or constructor as a class name', function () { + stateDiagram.parser.parse( + 'stateDiagram-v2\n classDef __proto__ background:#bbb,border:1.5px solid red;\n classDef constructor background:#bbb,border:1.5px solid red;' + ); + stateDiagram.parser.yy.extract(stateDiagram.parser.yy.getRootDocV2()); + const classes = stateDiagram.parser.yy.getClasses(); + expect(classes.get('__proto__').styles.length).toBe(2); + expect(classes.get('constructor').styles.length).toBe(2); + }); }); describe('applying to states in the diagram', () => { From 9b411fa8d4f5558a1734c337a96aaed4c4f77343 Mon Sep 17 00:00:00 2001 From: Yash Singh Date: Tue, 16 Apr 2024 20:47:47 -0700 Subject: [PATCH 324/789] test: sankey, pie, seq diagram --- packages/mermaid/src/diagrams/pie/pie.spec.ts | 6 ++++-- packages/mermaid/src/diagrams/sankey/parser/sankey.spec.ts | 6 ++++-- .../mermaid/src/diagrams/sequence/sequenceDiagram.spec.js | 6 ++++-- 3 files changed, 12 insertions(+), 6 deletions(-) diff --git a/packages/mermaid/src/diagrams/pie/pie.spec.ts b/packages/mermaid/src/diagrams/pie/pie.spec.ts index c93e99c559..b7bbf65bfa 100644 --- a/packages/mermaid/src/diagrams/pie/pie.spec.ts +++ b/packages/mermaid/src/diagrams/pie/pie.spec.ts @@ -140,10 +140,12 @@ describe('pie', () => { }); it('should handle unsafe properties', async () => { - await expect(parser.parse(`pie title Unsafe props test + await expect( + parser.parse(`pie title Unsafe props test "__proto__" : 386 "constructor" : 85 - "prototype" : 15`)).resolves.toBeUndefined(); + "prototype" : 15`) + ).resolves.toBeUndefined(); expect([...db.getSections().keys()]).toEqual(['__proto__', 'constructor', 'prototype']); }); }); diff --git a/packages/mermaid/src/diagrams/sankey/parser/sankey.spec.ts b/packages/mermaid/src/diagrams/sankey/parser/sankey.spec.ts index a45b3d0eb9..169aee8731 100644 --- a/packages/mermaid/src/diagrams/sankey/parser/sankey.spec.ts +++ b/packages/mermaid/src/diagrams/sankey/parser/sankey.spec.ts @@ -22,10 +22,12 @@ describe('Sankey diagram', function () { }); it('allows __proto__ as id', function () { - sankey.parser.parse(prepareTextForParsing(`sankey-beta + sankey.parser.parse( + prepareTextForParsing(`sankey-beta __proto__,A,0.597 A,__proto__,0.403 - `)); + `) + ); }); }); }); diff --git a/packages/mermaid/src/diagrams/sequence/sequenceDiagram.spec.js b/packages/mermaid/src/diagrams/sequence/sequenceDiagram.spec.js index 53eb544925..5743627f97 100644 --- a/packages/mermaid/src/diagrams/sequence/sequenceDiagram.spec.js +++ b/packages/mermaid/src/diagrams/sequence/sequenceDiagram.spec.js @@ -2035,8 +2035,10 @@ participant Alice`; }); it.each(['__proto__', 'constructor'])('should allow %s as an actor name', function (prop) { - mermaidAPI.parse(` + expect( + mermaidAPI.parse(` sequenceDiagram -${prop}-->>A: Hello, how are you?`); +${prop}-->>A: Hello, how are you?`) + ).resolves.toBeDefined(); }); }); From 357da0ca281f519fe41cfb7587addba00be7eb33 Mon Sep 17 00:00:00 2001 From: Yash-Singh1 Date: Wed, 17 Apr 2024 03:50:39 +0000 Subject: [PATCH 325/789] Update docs --- docs/config/setup/modules/mermaidAPI.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/docs/config/setup/modules/mermaidAPI.md b/docs/config/setup/modules/mermaidAPI.md index 9598a404cc..d9b8f16eba 100644 --- a/docs/config/setup/modules/mermaidAPI.md +++ b/docs/config/setup/modules/mermaidAPI.md @@ -167,10 +167,10 @@ Create the user styles #### Parameters -| Name | Type | Description | -| :---------- | :------------------------------------------------------------------ | :------------------------------------------------------------------------------------------------------------------------ | -| `config` | `MermaidConfig` | configuration that has style and theme settings to use | -| `classDefs` | `undefined` \| `null` \| `Record`<`string`, `DiagramStyleClassDef`> | the classDefs in the diagram text. Might be null if none were defined. Usually is the result of a call to getClasses(...) | +| Name | Type | Description | +| :---------- | :--------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------ | +| `config` | `MermaidConfig` | configuration that has style and theme settings to use | +| `classDefs` | `undefined` \| `null` \| `Map`<`string`, `DiagramStyleClassDef`> | the classDefs in the diagram text. Might be null if none were defined. Usually is the result of a call to getClasses(...) | #### Returns From 196d88559c552037463e3466fe3807491322c695 Mon Sep 17 00:00:00 2001 From: Aakansha Doshi Date: Thu, 18 Apr 2024 20:40:45 +0530 Subject: [PATCH 326/789] fix: simply from and to in message to string type --- .../sequence/parser/sequenceDiagram.jison | 2 +- .../src/diagrams/sequence/sequenceDb.ts | 15 ++++++--------- .../diagrams/sequence/sequenceDiagram.spec.js | 16 ++++++++-------- .../src/diagrams/sequence/sequenceRenderer.ts | 18 +++++++++--------- .../mermaid/src/diagrams/sequence/types.ts | 4 ++-- 5 files changed, 26 insertions(+), 29 deletions(-) diff --git a/packages/mermaid/src/diagrams/sequence/parser/sequenceDiagram.jison b/packages/mermaid/src/diagrams/sequence/parser/sequenceDiagram.jison index 78b0c9ed9e..17be25a7a4 100644 --- a/packages/mermaid/src/diagrams/sequence/parser/sequenceDiagram.jison +++ b/packages/mermaid/src/diagrams/sequence/parser/sequenceDiagram.jison @@ -3,7 +3,7 @@ * (c) 2014-2015 Knut Sveidqvist * MIT license. * - * Based on js sequence diagrams jison grammr + * Based on js sequence diagrams jison grammer * https://bramp.github.io/js-sequence-diagrams/ * (c) 2012-2013 Andrew Brampton (bramp.net) * Simplified BSD license. diff --git a/packages/mermaid/src/diagrams/sequence/sequenceDb.ts b/packages/mermaid/src/diagrams/sequence/sequenceDb.ts index 03d3210aa9..5a0916729b 100644 --- a/packages/mermaid/src/diagrams/sequence/sequenceDb.ts +++ b/packages/mermaid/src/diagrams/sequence/sequenceDb.ts @@ -115,17 +115,16 @@ const activationCount = (part: string) => { if (!part) { return 0; } - for (i = 0; i < state.records.messages.length; i++) { if ( state.records.messages[i].type === LINETYPE.ACTIVE_START && - state.records.messages[i].from?.actor === part + state.records.messages[i].from === part ) { count++; } if ( state.records.messages[i].type === LINETYPE.ACTIVE_END && - state.records.messages[i].from?.actor === part + state.records.messages[i].from === part ) { count--; } @@ -156,12 +155,10 @@ export const addSignal = function ( activate: boolean = false ) { if (messageType === LINETYPE.ACTIVE_END) { - const cnt = activationCount(idFrom?.actor || ''); + const cnt = activationCount(idFrom || ''); if (cnt < 1) { // Bail out as there is an activation signal from an inactive participant - const error = new Error( - 'Trying to inactivate an inactive participant (' + idFrom?.actor + ')' - ); + const error = new Error('Trying to inactivate an inactive participant (' + idFrom + ')'); // @ts-ignore: we are passing hash param to the error object, however we should define our own custom error class to make it type safe error.hash = { @@ -516,10 +513,10 @@ export const apply = function (param: any | AddMessageParams | AddMessageParams[ state.records.destroyedActors[param.actor] = state.records.messages.length; break; case 'activeStart': - addSignal(param.actor, undefined, undefined, param.signalType); + addSignal(param.actor.actor, undefined, undefined, param.signalType); break; case 'activeEnd': - addSignal(param.actor, undefined, undefined, param.signalType); + addSignal(param.actor.actor, undefined, undefined, param.signalType); break; case 'addNote': addNote(param.actor, param.placement, param.text); diff --git a/packages/mermaid/src/diagrams/sequence/sequenceDiagram.spec.js b/packages/mermaid/src/diagrams/sequence/sequenceDiagram.spec.js index 1724391e53..f27dd49d78 100644 --- a/packages/mermaid/src/diagrams/sequence/sequenceDiagram.spec.js +++ b/packages/mermaid/src/diagrams/sequence/sequenceDiagram.spec.js @@ -534,10 +534,10 @@ deactivate Bob`; expect(messages.length).toBe(4); expect(messages[0].type).toBe(diagram.db.LINETYPE.DOTTED); expect(messages[1].type).toBe(diagram.db.LINETYPE.ACTIVE_START); - expect(messages[1].from.actor).toBe('Bob'); + expect(messages[1].from).toBe('Bob'); expect(messages[2].type).toBe(diagram.db.LINETYPE.DOTTED); expect(messages[3].type).toBe(diagram.db.LINETYPE.ACTIVE_END); - expect(messages[3].from.actor).toBe('Bob'); + expect(messages[3].from).toBe('Bob'); }); it('should handle actor one line notation activation', async () => { const str = ` @@ -556,10 +556,10 @@ deactivate Bob`; expect(messages[0].type).toBe(diagram.db.LINETYPE.DOTTED); expect(messages[0].activate).toBeTruthy(); expect(messages[1].type).toBe(diagram.db.LINETYPE.ACTIVE_START); - expect(messages[1].from.actor).toBe('Bob'); + expect(messages[1].from).toBe('Bob'); expect(messages[2].type).toBe(diagram.db.LINETYPE.DOTTED); expect(messages[3].type).toBe(diagram.db.LINETYPE.ACTIVE_END); - expect(messages[3].from.actor).toBe('Bob'); + expect(messages[3].from).toBe('Bob'); }); it('should handle stacked activations', async () => { const str = ` @@ -579,14 +579,14 @@ deactivate Bob`; expect(messages.length).toBe(8); expect(messages[0].type).toBe(diagram.db.LINETYPE.DOTTED); expect(messages[1].type).toBe(diagram.db.LINETYPE.ACTIVE_START); - expect(messages[1].from.actor).toBe('Bob'); + expect(messages[1].from).toBe('Bob'); expect(messages[2].type).toBe(diagram.db.LINETYPE.DOTTED); expect(messages[3].type).toBe(diagram.db.LINETYPE.ACTIVE_START); - expect(messages[3].from.actor).toBe('Carol'); + expect(messages[3].from).toBe('Carol'); expect(messages[5].type).toBe(diagram.db.LINETYPE.ACTIVE_END); - expect(messages[5].from.actor).toBe('Bob'); + expect(messages[5].from).toBe('Bob'); expect(messages[7].type).toBe(diagram.db.LINETYPE.ACTIVE_END); - expect(messages[7].from.actor).toBe('Carol'); + expect(messages[7].from).toBe('Carol'); }); it('should handle fail parsing when activating an inactive participant', async () => { const str = ` diff --git a/packages/mermaid/src/diagrams/sequence/sequenceRenderer.ts b/packages/mermaid/src/diagrams/sequence/sequenceRenderer.ts index 98fdcddc40..e91c1f906a 100644 --- a/packages/mermaid/src/diagrams/sequence/sequenceRenderer.ts +++ b/packages/mermaid/src/diagrams/sequence/sequenceRenderer.ts @@ -144,15 +144,15 @@ export const bounds = { this.updateBounds(_startx, _starty, _stopx, _stopy); }, newActivation: function (message, diagram, actors) { - const actorRect = actors[message.from.actor]; - const stackedSize = actorActivations(message.from.actor).length || 0; + const actorRect = actors[message.from]; + const stackedSize = actorActivations(message.from).length || 0; const x = actorRect.x + actorRect.width / 2 + ((stackedSize - 1) * conf.activationWidth) / 2; this.activations.push({ startx: x, starty: this.verticalPos + 2, stopx: x + conf.activationWidth, stopy: undefined, - actor: message.from.actor, + actor: message.from, anchored: svgDraw.anchorElement(diagram), }); }, @@ -162,7 +162,7 @@ export const bounds = { .map(function (activation) { return activation.actor; }) - .lastIndexOf(message.from.actor); + .lastIndexOf(message.from); return this.activations.splice(lastActorActivationIdx, 1)[0]; }, createLoop: function (title = { message: undefined, wrap: false, width: undefined }, fill) { @@ -836,7 +836,7 @@ export const draw = async function (_text: string, id: string, _version: string, activationData, verticalPos, conf, - actorActivations(msg.from.actor).length + actorActivations(msg.from).length ); bounds.insert(activationData.startx, verticalPos - 10, activationData.stopx, verticalPos); @@ -1545,14 +1545,14 @@ const calculateLoopBounds = async function (messages, actors, _maxWidthPerActor, break; case diagObj.db.LINETYPE.ACTIVE_START: { - const actorRect = actors[msg.from ? msg.from.actor : msg.to.actor]; - const stackedSize = actorActivations(msg.from ? msg.from.actor : msg.to.actor).length; + const actorRect = actors[msg.from ? msg.from : msg.to.actor]; + const stackedSize = actorActivations(msg.from ? msg.from : msg.to.actor).length; const x = actorRect.x + actorRect.width / 2 + ((stackedSize - 1) * conf.activationWidth) / 2; const toAdd = { startx: x, stopx: x + conf.activationWidth, - actor: msg.from.actor, + actor: msg.from, enabled: true, }; bounds.activations.push(toAdd); @@ -1562,7 +1562,7 @@ const calculateLoopBounds = async function (messages, actors, _maxWidthPerActor, { const lastActorActivationIdx = bounds.activations .map((a) => a.actor) - .lastIndexOf(msg.from.actor); + .lastIndexOf(msg.from); delete bounds.activations.splice(lastActorActivationIdx, 1)[0]; } break; diff --git a/packages/mermaid/src/diagrams/sequence/types.ts b/packages/mermaid/src/diagrams/sequence/types.ts index 754df95e3f..5cc6ae249c 100644 --- a/packages/mermaid/src/diagrams/sequence/types.ts +++ b/packages/mermaid/src/diagrams/sequence/types.ts @@ -20,8 +20,8 @@ export interface Actor { } export interface Message { - from?: { actor: string }; - to?: { actor: string }; + from?: string; + to?: string; message: | string | { From 8d9cb09261856430631935c33d0655ba14eeb739 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Celil=20Bu=C4=9Fra=20Karacan?= <49951195+cbugk@users.noreply.github.com> Date: Fri, 19 Apr 2024 16:39:03 +0300 Subject: [PATCH 327/789] Update stateDiagram.md Add renamed composite as an example of composites with spaced names. --- packages/mermaid/src/docs/syntax/stateDiagram.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/packages/mermaid/src/docs/syntax/stateDiagram.md b/packages/mermaid/src/docs/syntax/stateDiagram.md index d2b7282e4a..a5eff29bf3 100644 --- a/packages/mermaid/src/docs/syntax/stateDiagram.md +++ b/packages/mermaid/src/docs/syntax/stateDiagram.md @@ -107,6 +107,14 @@ stateDiagram-v2 [*] --> second second --> [*] } + + [*] --> NamedComposite + NamedComposite: Another Composite + state NamedComposite { + [*] --> namedSimple + namedSimple --> [*] + namedSimple: Another simple + } ``` You can do this in several layers: From 718811be9c450b73d1a693b1ef1b80d2af77ec30 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Celil=20Bu=C4=9Fra=20Karacan?= <49951195+cbugk@users.noreply.github.com> Date: Fri, 19 Apr 2024 16:40:34 +0300 Subject: [PATCH 328/789] Update stateDiagram.md Add explanation for naming a composite state --- packages/mermaid/src/docs/syntax/stateDiagram.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/mermaid/src/docs/syntax/stateDiagram.md b/packages/mermaid/src/docs/syntax/stateDiagram.md index a5eff29bf3..a78cb16d1c 100644 --- a/packages/mermaid/src/docs/syntax/stateDiagram.md +++ b/packages/mermaid/src/docs/syntax/stateDiagram.md @@ -98,7 +98,7 @@ In a real world use of state diagrams you often end up with diagrams that are mu have several internal states. These are called composite states in this terminology. In order to define a composite state you need to use the state keyword followed by an id and the body of the composite -state between \{\}. See the example below: +state between \{\}. You can name a composite state on a seperate line just like a simple state. See the example below: ```mermaid-example stateDiagram-v2 From 273941a9fe075089aea6e5d9a204c1b9cc24edd5 Mon Sep 17 00:00:00 2001 From: welfuture Date: Sat, 20 Apr 2024 20:46:14 +0800 Subject: [PATCH 329/789] chore: remove repetitive words Signed-off-by: welfuture --- packages/mermaid/src/config.ts | 2 +- packages/mermaid/src/dagre-wrapper/GraphObjects.md | 2 +- packages/mermaid/src/dagre-wrapper/intersect/index.js | 2 +- packages/mermaid/src/diagrams/block/blockDB.ts | 2 +- .../diagrams/flowchart/parser/flow-vertice-chaining.spec.js | 4 ++-- packages/mermaid/src/diagrams/flowchart/parser/flow.spec.js | 2 +- packages/mermaid/src/diagrams/state/stateDb.js | 2 +- 7 files changed, 8 insertions(+), 8 deletions(-) diff --git a/packages/mermaid/src/config.ts b/packages/mermaid/src/config.ts index 4168c24c4f..b766d9b42b 100644 --- a/packages/mermaid/src/config.ts +++ b/packages/mermaid/src/config.ts @@ -21,7 +21,7 @@ export const updateCurrentConfig = (siteCfg: MermaidConfig, _directives: Mermaid let sumOfDirectives: MermaidConfig = {}; for (const d of _directives) { sanitize(d); - // Apply the data from the directive where the the overrides the themeVariables + // Apply the data from the directive where the overrides the themeVariables sumOfDirectives = assignWithDepth(sumOfDirectives, d); } diff --git a/packages/mermaid/src/dagre-wrapper/GraphObjects.md b/packages/mermaid/src/dagre-wrapper/GraphObjects.md index 730b42e3f6..4620adeec8 100644 --- a/packages/mermaid/src/dagre-wrapper/GraphObjects.md +++ b/packages/mermaid/src/dagre-wrapper/GraphObjects.md @@ -45,7 +45,7 @@ flowchart a --> C2 ``` -To handle this case a special type of edge is inserted. The edge to/from the cluster is replaced with an edge to/from a node in the cluster which is tagged with toCluster/fromCluster. When rendering this edge the intersection between the edge and the border of the cluster is calculated making the edge start/stop there. In practice this renders like an an edge to/from the cluster. +To handle this case a special type of edge is inserted. The edge to/from the cluster is replaced with an edge to/from a node in the cluster which is tagged with toCluster/fromCluster. When rendering this edge the intersection between the edge and the border of the cluster is calculated making the edge start/stop there. In practice this renders like an edge to/from the cluster. In the diagram above the root diagram would be rendered with C1 whereas C2 would be rendered recursively. diff --git a/packages/mermaid/src/dagre-wrapper/intersect/index.js b/packages/mermaid/src/dagre-wrapper/intersect/index.js index e33b6dd510..47f71747db 100644 --- a/packages/mermaid/src/dagre-wrapper/intersect/index.js +++ b/packages/mermaid/src/dagre-wrapper/intersect/index.js @@ -1,5 +1,5 @@ /* - * Borrowed with love from from dagre-d3. Many thanks to cpettitt! + * Borrowed with love from dagre-d3. Many thanks to cpettitt! */ import node from './intersect-node.js'; diff --git a/packages/mermaid/src/diagrams/block/blockDB.ts b/packages/mermaid/src/diagrams/block/blockDB.ts index e4c863c1dd..f00bf9779f 100644 --- a/packages/mermaid/src/diagrams/block/blockDB.ts +++ b/packages/mermaid/src/diagrams/block/blockDB.ts @@ -262,7 +262,7 @@ const getBlocksFlat = () => { return [...Object.values(blockDatabase)]; }; /** - * Returns the the hierarchy of blocks + * Returns the hierarchy of blocks * @returns */ const getBlocks = () => { diff --git a/packages/mermaid/src/diagrams/flowchart/parser/flow-vertice-chaining.spec.js b/packages/mermaid/src/diagrams/flowchart/parser/flow-vertice-chaining.spec.js index 3f1078030d..384241b2d3 100644 --- a/packages/mermaid/src/diagrams/flowchart/parser/flow-vertice-chaining.spec.js +++ b/packages/mermaid/src/diagrams/flowchart/parser/flow-vertice-chaining.spec.js @@ -141,7 +141,7 @@ describe('when parsing flowcharts', function () { expect(edges[3].type).toBe('arrow_point'); expect(edges[3].text).toBe(''); }); - it('should handle chaining and multiple nodes in in link statement FVC ', function () { + it('should handle chaining and multiple nodes in link statement FVC ', function () { const res = flow.parser.parse(` graph TD A --> B & B2 & C --> D2; @@ -181,7 +181,7 @@ describe('when parsing flowcharts', function () { expect(edges[5].type).toBe('arrow_point'); expect(edges[5].text).toBe(''); }); - it('should handle chaining and multiple nodes in in link statement with extra info in statements', function () { + it('should handle chaining and multiple nodes in link statement with extra info in statements', function () { const res = flow.parser.parse(` graph TD A[ h ] -- hello --> B[" test "]:::exClass & C --> D; diff --git a/packages/mermaid/src/diagrams/flowchart/parser/flow.spec.js b/packages/mermaid/src/diagrams/flowchart/parser/flow.spec.js index 8d0aec789e..9a1017d124 100644 --- a/packages/mermaid/src/diagrams/flowchart/parser/flow.spec.js +++ b/packages/mermaid/src/diagrams/flowchart/parser/flow.spec.js @@ -64,7 +64,7 @@ describe('parsing a flow chart', function () { expect(edges[0].end).toBe('monograph'); }); - describe('special characters should be be handled.', function () { + describe('special characters should be handled.', function () { const charTest = function (char, result) { const res = flow.parser.parse('graph TD;A(' + char + ')-->B;'); diff --git a/packages/mermaid/src/diagrams/state/stateDb.js b/packages/mermaid/src/diagrams/state/stateDb.js index 0ff32cbb33..23ff78129c 100644 --- a/packages/mermaid/src/diagrams/state/stateDb.js +++ b/packages/mermaid/src/diagrams/state/stateDb.js @@ -145,7 +145,7 @@ const getRootDocV2 = () => { * Ex: the section within a fork has its own statements, and incoming and outgoing statements * refer to the fork as a whole (document). * See the parser grammar: the definition of a document is a document then a 'line', where a line can be a statement. - * This will push the statement into the the list of statements for the current document. + * This will push the statement into the list of statements for the current document. * * @param _doc */ From 3b0687e5571c2091ce582200d2fd7e15222d3efc Mon Sep 17 00:00:00 2001 From: NicolasNewman Date: Mon, 22 Apr 2024 17:12:12 -0500 Subject: [PATCH 330/789] feat(mathml): added additional config option for forcing legacy rendering --- packages/mermaid/src/config.type.ts | 7 +++++++ packages/mermaid/src/diagrams/common/common.ts | 5 +++-- packages/mermaid/src/schemas/config.schema.yaml | 7 +++++++ 3 files changed, 17 insertions(+), 2 deletions(-) diff --git a/packages/mermaid/src/config.type.ts b/packages/mermaid/src/config.type.ts index 79f4243151..775d49fb58 100644 --- a/packages/mermaid/src/config.type.ts +++ b/packages/mermaid/src/config.type.ts @@ -120,6 +120,13 @@ export interface MermaidConfig { * */ legacyMathML?: boolean; + /** + * This option forces Mermaid to rely on KaTeX's own stylesheet for rendering MathML. Due to differences between OS + * fonts and browser's MathML implementation, this option is recommended if consistent rendering is important. + * If set to true, ignores legacyMathML. + * + */ + forceLegacyMathML?: boolean; /** * This option controls if the generated ids of nodes in the SVG are * generated randomly or based on a seed. diff --git a/packages/mermaid/src/diagrams/common/common.ts b/packages/mermaid/src/diagrams/common/common.ts index 017b2b0911..364dc25ea8 100644 --- a/packages/mermaid/src/diagrams/common/common.ts +++ b/packages/mermaid/src/diagrams/common/common.ts @@ -337,11 +337,12 @@ export const renderKatex = async (text: string, config: MermaidConfig): Promise< return text; } - if (!isMathMLSupported() && !config.legacyMathML) { + if (!(isMathMLSupported() || config.legacyMathML || config.forceLegacyMathML)) { return text.replace(katexRegex, 'MathML is unsupported in this environment.'); } const { default: katex } = await import('katex'); + const outputMode = (config.forceLegacyMathML) || (!isMathMLSupported() && config.legacyMathML) ? 'htmlAndMathml' : 'mathml'; return text .split(lineBreakRegex) .map((line) => @@ -357,7 +358,7 @@ export const renderKatex = async (text: string, config: MermaidConfig): Promise< .renderToString(c, { throwOnError: true, displayMode: true, - output: isMathMLSupported() ? 'mathml' : 'htmlAndMathml', + output: outputMode }) .replace(/\n/g, ' ') .replace(//g, '') diff --git a/packages/mermaid/src/schemas/config.schema.yaml b/packages/mermaid/src/schemas/config.schema.yaml index d1bb8ad1bf..68da484e04 100644 --- a/packages/mermaid/src/schemas/config.schema.yaml +++ b/packages/mermaid/src/schemas/config.schema.yaml @@ -180,6 +180,13 @@ properties: fall back to legacy rendering for KaTeX. type: boolean default: false + forceLegacyMathML: + description: | + This option forces Mermaid to rely on KaTeX's own stylesheet for rendering MathML. Due to differences between OS + fonts and browser's MathML implementation, this option is recommended if consistent rendering is important. + If set to true, ignores legacyMathML. + type: boolean + default: false deterministicIds: description: | This option controls if the generated ids of nodes in the SVG are From 13aa3265e3cd7fefe20eac18dcc26563f55d796a Mon Sep 17 00:00:00 2001 From: NicolasNewman Date: Mon, 22 Apr 2024 17:14:36 -0500 Subject: [PATCH 331/789] docs(mathml): updated docs to include forceLegacyMathML --- .../src/docs/config/img/mathMLDifferences.png | Bin 0 -> 15108 bytes packages/mermaid/src/docs/config/math.md | 10 ++++++++++ 2 files changed, 10 insertions(+) create mode 100644 packages/mermaid/src/docs/config/img/mathMLDifferences.png diff --git a/packages/mermaid/src/docs/config/img/mathMLDifferences.png b/packages/mermaid/src/docs/config/img/mathMLDifferences.png new file mode 100644 index 0000000000000000000000000000000000000000..6b7a86400f44b00fd16acad5e3a66a1a9ff26d52 GIT binary patch literal 15108 zcmd6OWl&tvv*+M0!5xCT2DjiE+}$C#y9IX%!3hxDU4py2yK8{J;12KRz4~wMhuy0E zxKuGSS5Dt^`*i=>PDd&!NTDDSAc8<36d7r86%Ys_2KZe74-0&T)Z!NcUkHxU+Abgv z66U{u2v9~A9tgzOBqJ`O=9%^Pr)Awk_*%Tj5ZdVHe+``mCpt` z2LpBhbF!R?y|zP#wT`_xLh08gYskY4M8t>)>Y`HC;N)G%yr5yOsf+kaB8yOCe2ea9 z7k!tBtZUnQ-lKFE;Zr}C7&h1-GWehpNDfn^&*;!1pOB@EfiHA#5yW8N{4|mZ9&i+5 zkkAVpk=+Dg!HS?m|H3U`1&-i5$U=c5kz*J-WZ+1Y<^SuU5d>@jZ@y{i>EHH#(+fZK ztH$M%bd~L$_*-XmHvK8{AuW4C7x$a%Uxq|S!9*o$b@wAlWie!HqJky z;l%M~2cgi@F-35yIU+J47jj=%M?_yZDxoe`&~zXctTIKF-Xl^BKJ)vt*Zt1HK`1tZ z#_qetR8O8nwCf<#_ydM%D^K_7M%erJjSd^!b)Wme61M!y!%PPPU7{eRZz&5HoP(R2 zn`DoN2Zz1d(<(VkMID2TNye2;s@hE zoYyOC20%M-ndk9`jCZGo9}ZA%K5&-%K*-0mxEw)(a9HBl>nNcCc`bqYsi*fzag#R& zhQ&2dKia~3MfQZxNT^EC6B)#lnGuzhMFb54(=#)p?7;gl;?V*@vt!e{(Ra=EJ717- zeB!na<=}afEmpw5?^az)SC@iWXcJ!ZGkV#-m5h-qRw$!6KkJUR&%YeG3;=^KF_X#s z5tvnVb=->c`CFGc;XuCcees~c%?=+;IaJlGw%_$GJgxD|5g}cqx$?|Q`0-sVhle=F zD;+-dyM#VvVH zfb}jz8FH$rub;y=Fz`i{`hMQq9!<0Un7W_ux16dTl41vWsp7L?`gAK}q?FL3dw!T2 zM_$;E?DrfI>T(|-7$|&2nj1c(T4T0paDzO;YuG^m?i-N0Z4*zHw(_w65kl)u*QZFO={QIq0*O3|}1e zh6GaP`LUo_<6~@<2Lxy+o^*)J(9kqmL=6g1>&Bh#o~bEC8!ay<_C?8e6ha$P zFV|V!wq8`vy9=L>X@_V7^Ky4jpL=U6H0hBGb~DdS=z) z^m$MA|5-y*o9$$`_ypSSkKFT4z1M1m*vguO0Il=iU@B}dmn5B*a59o^`MZMNv2ePp z10I*=05%gT^{M6fGYMLxt8Z%c z(_ZDDxs@inHDtqt7dC#uE*cwQYnrzAf`0HpI_PSBgHfJ6uu>>V^T>-(!g$|~bVO80 z`jh00I58;D?_nn#cEsnp=!+uuY#Z!I*RP#Fe?~wxr%ToNxco|n7L({Tn$ueCMTs%)KP{eK?nzKf}xeMBW1{%#)k`rgY(Yh1O()n4#qDW-aiuP=!9*&NV&U0^qd!{t$jiF5b zCtzWnjwXp+Pi&WM=;M9{O|xX~PUyc&unfr}tK;bRr{?pCeR|Rj9#zfJx_ifSLdvA@ zHsiT_)z`9oTx{z#f{{X}A&xRSqE8t;?hC$N=HkGr4k*4eF&;=bHw>Mz7kb!&!Ni|~ z1@E8H$B?`Wp;`!XHPLb&`fvILPc`=s4vJ3ViHeFj314)IjIpb$Ol9?)&K3RAZLWGS z8N)G+RxPHaq&Aw)6@g_6#?I-l!0*aCSUyObX(^TTT%4%}|LGmU+grkRSAYT^vZT|} zGH{m2-^Px$yTNn46FYR_#?SJtKB-+G?u}gXtX~m?bSkJjXqEj4@Ru~(R(lb$B6e3O zXBEEO-))XSyp|juZ{+d5u9d+rvN?Q)@b_Lq%!$DZo>JK2XyW1A1=t5`xVuuSN@F%= z1`5m;^w|ZN%WCCSByM2Od^nYZ_8tg=?z+KXHtaO9O+3j;qQPYKtT9fV+kB=+6c##( z0Q2@WFzYyeQj7W z8gEJ$cl?3Qq^~&-oaU&+0{x&G4m!G9l}!K+w3_YpR}Q~qo)ik0a=4#q;b39)1Gkvj zDkF!5hr{t_W?0v}j7723JnHMPUruv+e{n6Ix|rmNGyP%^$CV~8N#TQiYVI(!ZZWth za*E?Gwoq4SUC|#e>;_6_I<~hIj1}Q6_YyZL@Nya&7Bjen z_wW=9$E4VJKG~TdXmJLsW9DjOGLXG{6r{vSm|1=7+;oDOc?0nccFy2$#Wj*%-> zrg-ws$?X?qKg0{lz2VO2-%tu8)6~Tl;Dld4?-}5o8Z~8X>{pOFv*RAv&w2dY?846P z2v#(ag4;_g&WNWE4-nuz9f)=(_j`rqf00cN(d0cNRp)DCs_Qeej177u1+)J3p^F+F z`!qOQX-m9=0VcWgU4XFQ=Gp}dOVr@6!%Qw}grRqN*O+9jv0|`vc|gA7SSeWOYH^0E z-m|{kw^gfoi}`KngZInLvScTE#3OO0+^C~&{;Wfa%!l;%LqDLB=$W^-`3&U;JXHU_ zl%AnqG|xf@+5YvLd07{VNuqV1%TZu}UMj%!Zv9l9Vq0X4Q4i_$sDGAu7G2v`t$q>` zT`abZ`GU_)yogg)eQO|?u`_cn_rO3!c&x)OHxp*F%H;=v8OFc6U^uzkw?jOw=KrCK zs-drjo8L;@@8Q{hJ;M=n-?Z7idh5(+@CoZ+U?lBAh)5XajX;wN1=pbIKqf%s3GaAA zr@2uLrhQ;=)U=izpDXmy)VP<}(Si@QcAVc-d0mk2QzwW0(WoyuS4Q*f5LT( zadBK-GNE4L>o=lr`fw?^)kzldqeX7~T6HRVZ7EQ>JG97yc&kk_Q{hk|B}r*%fd^xn zY6M4b_xaPWx2jgc-Vk}dtAS(7Vc2l|M(6w@H9e#c<v75=_0*#Q_X!BrN0=`MX`( z8qP4d)dJ$G^$Ly+C7We5Nd(_b9v_U)KFiD4h9Qh~c6W1i4>;tZZ~1@3fz^V-?ZP>a zJ<_{^cEVAoe?IdNP{iiuO0`_qgSdwQbRGD|H-Dx3+e7l??v*fl!(8$ly1q z@VLpzL7ZT#+$`aMUsqI(_xDD!`#GMc$DF>~ziK4hUn(1|u-lPc3`t?vAJ8*5UBn*J z5)D2C zYD#UpvG}Y%SW#@cq4cdU4QZxpCZYbFUR)(WJ2C3YFov7*=?a>;W7!Sgd(WGz?6czC z$84}JYN5`c;YUb7*2JS|^WBC&&$u5#$}X$au4;$g2FYEIu0h?}on#c|h^aPfVs}jq z?lrF;!V|8Fc|giZc(gQ(&-3*rC;3sV0dX+O50|fB9o^h21yrJqm($pYrW#dVgh!*3 zE=|vv9(=37vs%vN_@PrRpKbFydWO40elhrI23)(~9Xv@?=RU9yttSQ&5*!TwYU|1a zo9&$O%17+ilGi%{LrlS}IVIh@=Dd3{>WQcr`rFHy=4EXyF5`@$8M{X3Z2Z?LDiuq;AD zL&L~9Y)IWouHJhy@N!5ycgRWt=C|V+x@@K3_L^orOn)BdusZJZP4q!RY05H!{Hmr4MFsQdsj>=I52!2+p*eqW-+5^13W~!ILds}#K28vo~ z5axx5n2+AYQ)5G>UK#9y~wc>!B-s-!@{f4f)`FPSwsfxkGFX zP4g^x?}-jf!h?bfWkFu^b9Z30C9bzY1oh$XoJ3la018xbXT`A>XnQrx#1qZuQ00L=7#m;Y3d8S4>IMlSLa(l`Ax^iS(FARm+`?2^mi%6^|wptwgMmHsO8-5+ToO zBS;Grm7DyDjJv+H$c;n~BbZ)G+y0*krC_^C3)oQXz0pG7Wu8Zq1YPy=4*BS@00XWj zcyTC7e%&y@f$Ck=c_v4SQHz@Vb zyz`W=4bU^liZL%|=`H<>4(+l1n$FOhVZc|oWYL~Q7|=I5inFo4x@3^cx58pDwSPe} zw7POvm2qHZEvLD1!KM zr96LWdHIm$=0nCZFHP(AMF_Kgi(-e;ebf|<=LZZvVqtD9NN*2{zs;@ z5<~CJfvn$zEo-1E;z9WX%jrJiZ&^z8=mAgvRW$E0YiZP1XY8w@xQD3*+z=O>3CItt zLl9I0&521~#j`gDQ~_jcRA_c>9f3WSCr0@$mFjV|w9=M@lDEch7sRG$QF5_NvHru+ zX|B&|impb2x0dQlbB(^$qXH2Z8lGm4z|g16))vexUG=}@69zh=KS|^Juia4;wZW`|Mi)j7wrmlw{iUkK z+eey>uO+SGb=zH@wUNkcOT^+%jUM})s9KjYzAuf)#8O?cwY#m_dUG|{u*O&d0t8_} z)bhbeG>YA8YsCg*pXw0@i%|L;EvHm$e=l|)@}5RiG`cueJmT5v^QzT{tB3)qaPK4! z;VHlbQj04m`act4U|_I1ZhwZ7%a80^zCeH1U~5v)iV(gcsM6ifP;z#M5Eb%|c|X&F zyU=)IF|R^Y!3){U;`f;RN1?Z~!zb~3mWp{h&AHIe1%zOSP+iT&N zgs)xme}ouS!w&qyYpY-4zJ@13L&dp;&S1k1IW4>aX>WCJ+XzK-^Q*3Mig53BSO}=q zrmtH3b6zBtwh|#y{GaL@LMn%0qT}{KAViMNek)CyPt6S>jeRcgTbmEQR!f{-EiFJ` z;!0Uesfo``#fxumZ(n0=UEsxEh3_jg(!C}81)b}i%bjQF-KhEodGl`Cbx27!rivBM zbm49I;7T?g<+8Lw{>{T}UnzbK-N@*8yW-DO|9;Ec#}_H$-fp{q9g%fPtA-4-R|QYZ zu)br&U@M;CI>M5#*OM0?|D2$u9a=!u(+tqk(uD@QqO{+)$0P|)h@(9hv0m(aQ%J$_ z)VqO)Q735fb?5cEf>u$Tf&|S@W>>QNn}|aC!Y#bNz!>BGTS^xS{^wHCzOb>07&%Wh z6=W}a8s8Rk=&TAXF{;CX`vf%9iHwyzi6rkj_f=42OjhVdn>z%^e*O2iHjfJp0%2ZW zd?>gR2gd|fyKI?IW!FOXFFuQE`Q?0#6&PY4>~Gpl+Tav zc|N<(y93cy_j>$1JSPFdD1x}97weYl#;b>{r!ESOT-U{o=^TD{Sc91O-{a1D^U{%O zDswqn*Plt`?)Xd&pYT23Msj$vv&?M~z7Y7dg_-MX;(Iw^U`%d=#Rj8EcIBO*uw6dn z&{`s&ZwgNT;KS4Tv);n7>A8mj`uzSD)xlG&n6rrgu4ZD=c*KJIe|vgZGM<y$$1-Czzu`+#Rd4z(C zJLp}NM6O2n*h5$jJYK410Sz$Q>r-a)#fk{swi(B>GEQapf&%M@z&^&BX@!*e*O~b< zb?H=BQ#pP5_5R?yGN{bU*dO6&q+Ds(`m3}GLeX6$f}*vjpIw`)Yx?@Iv%4eLotM|V zjI7oyO)LHF{%my#1MotHxmBz{)$I^r=ocwI4>eWL%M)-$c0N+QtK0>c6cYp>Oyql` z$!K{rmM*uvN;&>w^f|XyqJ%9xK(pfNWJ{{Txl@1*CIDMVGEo=Qt~>J*Dg;K{yWAW4 z{c@B;u+!|~taMX=H#xcMof5-JIkmo4+pZS2r6?qRT7?NV_EZD~w%-WE{cH`_Fo2rw zX+^ai#H0>y-zQfn+V5FxqG&}q%flE%B+0L7fF?5C-sg5Q>H*zkKL{eqj>S+`{@FV_ zi&?DHg#t|$+UP_JdEd~6p%UwCnS6jfOjpHQf2H8@eS=sHi<1G&wFMoxU(hVrZr(AkA?HQS@i7}zN0l^MC>Ai zlhWK_)*fTQ{^9Q6*4AFAyLF!ej^CxoD$|c2$vZn8 zauNDhBkPOQNA zc08hr(x7--*iO!eyqT?Lc}7jmVJm(8`jwWc+{$cYsx6+7+rE2ZVnQqL1MF`4smrrN zYfRVt~loVPzx}L|IPo6+|2}GGK88D||M;39~eXFHoeqLzSF5b70$WU=@<(i;=#M18-g7otq9CX__`85b#|hGG?Uul=R@McYV>tdu7j8;XT&dXbC(k%h-0PXGh+y>1A?4XcfFE z9-wq6+16yo<~N9(CBqxcl*xS>b9#2B7ytbO3d|IQ;t`vQs?*8*S7c(o{@;-Jfx>qr zlF!p*Jk6|qE74Ryt?P4qv(V6C?xHBs`G^>n;0ESu;Fl_OM7kKuG=LZdkZY@P*b<5% z=Enim810De9~@f8vQW2u4#5$CrM){WDEcWOYLaJUS;jWwzE7jYYX=(5A?iu|LG-El zwp&;AxvZZ~I5~(RG~TI8U(vPJ<`+eA7|K8D%|(h*&d%%tu*luvr2gYd38X6NZjLI8xqc%LS4YeVUh56ESY*K3^-{7tC ztv$}W?=3HD3h?|P{ETL#w<=<9>LN~Nfqd+^Cr~Ld8cUfN9#h>I@noQZi)~2#GXEWd zgd_;Jd5|aISIpVAvNRG&&w3+iwvF;H*3qcl+S6{~n#K#5oNbci{plJ&(BK*MexomP zae3Yxe|US|is$TozQ3@9E`?Ven%pG$$?pLPLiV*zsBuz>$}cAADN84Y3@gnLq>kfas#dI>|GLTu}b6E9IRDp1`N)t@mio?r=~WB%PEpdk_GtP^uAe=zgfE0>Nru`N84vFdig*a z2`J0U0=o$KtMppPiB#1;MpzP_7^Cw&p4Cr8u6SCcn31KgP8I_Cjd*1_&ymvLhl(7#AOg^Q>mI55!i@~#Yj2kw#o&jt=LmH*SG z4-^ICvxvxV>Ds}VnZUM(p1JMK_LDe2&lDzYNE(`A@02hy_}!IXJ#@(W$l#lPaDov~ z^}_>kaBz&LbIS3=#m9!Gr{lZ#_ro6nLsU+)X>JWrrsC4@diZnL%pILEzU}cOdl$xd zYx&wT^2E)RxHNX)sQxBh_%-vw?|iY*$Ib5!S@N(KkI#!?VPWCuim;}Pu6i~u`$Q1>>&5aYU~PHzb4Ge7^H05+;|>Xe%lWyB)kebi&Gt}pxfG+x z3T@8^@W;i9*LiR+X7cV#m+YC1I)?7!W^l4`wa+CpI8uE_gsDF z0Ht*gcss${%fc7USVbHf_8A2zH?}0@e{lF5fL2ggj5K69StLs7+;6y4g?KbOJ2%sz z>oIUF=@=n$z=cf^+dDm2XU?$A_<`b~&`59mx0<=HWh7qWT(N22;ly%_54Vth2f-vp z?G6kTeW78O|M1wDn01s%v6qT0Vpupd1sxSkpviAC78W#2Y6TF;x89TnSOO?ea&}RA zdb%Wo2JhK3slO6JCOfYlJmK+QrUvok>yebvPge&%6{ky8p-D+e3E9(M#^Z>4Irex^ zReSqFjq?rc?dd6?N5yzXhlDl_jt`1HiIOE6-3+rPJ5x)De+FJBOS_)c{v`k%Ya0zs zkp;!;>Gm{yU9XTYH7jVR=cBZ2Rf$VWOB7$K&jpEz`1@_fM z%INmqUzoVPZYQFXQRZ7DKv2h5O@=<8m1?>tZ*1r|os`_`r!iJ-B! zWMs^LWi%OtwWv)aAwFOESv+<-r|*wyaVX9%z()}6+wX8xl92rT{83WF78)-AZD+?B zU$(~6wQ8-C!BPMlh=wpR627|<(8(05k7fbKG#D5ko=>Y2EG!^E1|)1mAoOElESV7* zP+&*b3$P=_cOM>P^t##@H14wH1t+)Zg9eafG-&@_WiOR4;pIuqBuEUmyGu6qy?3=0 z28UUv;Dgkw=Y7?Mu*0~B zh>0OSdj_8DrK(bg_bo2sppgnyG_$GaS+DE)?7oCvOUuaxHy6`nQJF*xm=N)KqNi5t zNp=aH^UcNi9bogw^=sWf9)SXrXyTwicS8fFyT6^l;G3ZEV%)*btEdEv06hT%R0I)6 zD_VdAz$83e4(5+STsWHso4x4TFW)>peY_DneujiVdkPclIJvrti;6;?ua5vDtTwiO zNRH1((ETG=FCL>g6f-ao6GJ~oD+zC5)OYv=PzPK<9VGK-c)ZQ<5D^h~{vJfyEO9{4 zVtoeW*J`0GR#uN&b191NsIbHZBbjeWs+h6eIi3H)ZvXIbXFqaJ`iqRDiZfy!jue8M zy>&m<$BDNGo^~Pv`uUcU0p;ImiQnW>*|!0zNs%-VwBG!i2H6qsOeBG#EvO`)v=ZLK zFR(js#O7OI%US>7Bk4hkh&p&LC8tUs3Z&I^=J%12lL~+9Y&r7aqANafZ_pS};^CCh z1g2zTK#CXW!%K9Z?*0UqYgT`}J=6BQxj+LQ&yK(VJRWQuXY};>BfQ^tFLZTvMV2V- zI;f1g_wKt?Wiaq#sfZlV@XOj-X*uEefoR-50FVIX9cV$qMaM%2ftE=ygI#c$yXV%V zj;x9D>_14t+kTRQuPbDKY4;%Qe6wb7zj#6gu`;rP{;5Z1d3l)gpQU27w^ny-0G~_% ztO9*bo&1UAcJ6Ia=oU8>{XRK1(f3DOf<s-k7s8a(m zzg)j(z@>?AlT-evHJy}{R6C!&0OV`934or9es8?lHcL2rL-AraP1TnxgRwe8e34H* z9nJjTRaC%BjW+NET*#o1lumhSF=?v_YT`nb(#7kzxHx*_7rfS~&!m8aI=cLgyggll zPFot69j`!M5hOb^!+7#Lq0Q>8T|$3eQJp#EZlQL9zr z0w~$Pv%}%>gaE3U#?A~Vxutj52{VSs$oHO15n4s&;I?VjKb{RA2k#@WWjAi zq7bJt@*q+?j?rY6^50Y-rk_*}48fz|1M4J3eT~~w-lQzbA83IR@)-pfIb9?m z0ylfLWq4`~Uh8!@p}0Coj7XvtfXN{|ZZMC1WD(x|0|PKSnAGs5f1!<~v65b3daY|# zXA2aZKf>q9s;GX)F29i0M!yw*dPG_VySf?a8?g(<%>OVOPv_9o%050mj-a~efCKbL z-v2M>@PRXhoHRQ0rL8GOc>yr`Qbn2;NE`k8rS5lb`#{`E4z(E0IJ4^6N4g=0e?_Foyh(w#TXms%g;}Y2W5SR zNms>O{X>Jj0|OG}_?W6>y7Ya=iN--IsGG>JAQYRbTM27f=RzM;035CKM|IR&R{^A0 zl}%MXHD$vMbc|0HZv4hg(d(o)k>a(qa^r;paIK(rRUF^Hg}lo|f)WFPA?4v9s-A)( zbb$$wt-(=TlDNH)g9M_X+CpXJ-dbtOSuNPoH(lPGzcVwvviRmJfG{E*Tn|mLcdYBB z$ET)_(kK3YeGWacE(1@c1-zY%aU}22v8){^8{n%GQ({C8ma(V?8G04G3EOG%Y82CFMJf1;N)zg5<+`9vSp($ac@96md1LR;xNi=((Eh#g5(uHW@wJ|vf) z=bEC4E$OhU-{K1cDr;El*UkRBG^F2mWqYzx|6sAk1?qmd+*49gg8yoPV-oO+eZ;KS z{bOWDREXPQQ>~VvpHz{E8x`;-q^JyUw?_954iE-sZEfwyQpec(mvEB|eNg_cHU@v< zKoaxyt92cSB3Mrz>;VXPswqXN%E#HU_vgoo31;0E3~q;w`PIF$q$hQ#)6SPR zcfhUUB<(0o%qSHrv;KOu(=MqNH}!tFq&tBmeJ{ZcrL39A4;=!aP)C?{dq%#Z`w;O;NO>1^~y<}81WBC z0FX+yU!7m*Q`$nx^JR)rKYLe7`Ic(v6`XhF_UP$_;5GqZn0b-yFMhO z>OcBx-XQ~*)X!7J87=aACGon#XAZmu+#kyZg&5`{UfPHLsAe?j0Kz28^6dhvnxCp*mBB0&4Z*?`r1`)y@>&dW(-ocXrYo^4-o>lh2ivxUvcj3f&|{Y(jPD{Jx=Cr><{uRCFS8P$3Bjqa=?ku-1fe>6StUGVwf zt0>+Q-lMv3Sszxl$ZeV-C?(YCT%P6dYf*hF5p7TRr*GPm=lO9BtMPfL!@#whoM4rA zb>P-OrG2(|OCwXFwAwf??NNDF+{FR7WXWM*xvgaLa8zl4DAb#0UZ-dDKG4DV8q8#L z;BeskBd7SPw(0lFwfY6qv21bmSG3zlSObk)n`yUk4tm=VR^0yP-N)Z2w@B7)yN}u5 zt~xZjngJ_S=zsZGW~ggE705ywHvZP+fe3B^&mVFa9LlLgfr zIKWc_oK=rX4FPqFjg%51Hz@yAr3+sA=22oIBGA14RN}>exA$}R_&D-+1!fR^%q)Z= zQ^xsPcy*KgK$U(Q1g-9;zom`EWB2g;&b$g#R9`z3-gH0`Q#J!->U`!(ow%)xhmf}y zZ4w(i*+R6U=DF0rFANVjNkJP*bqXA)9KXa5%MWw&`EpmhQ8z(~OKlf$Jb}h{1&!65L zuXFwjpub=)StnZ^4Jy#^{x2Lzny-cI<{*_#fD&(J%NDm+!upw^f%w#BLnEg>+dS;y zX?N-OZ=It)G+la@*dMZmIynL6K%N5y6w)E|BBlMIRQJ=X^{GZdVa^cXknM&R$A-6V zXWFf~j&`f259sB-`87X0KJ97}r)ZSR0qs7kgRi z&#O<(^vxmJR|$T=#-@7URlXR24G;U5A#iBFYz5aHuNESKLf0l+$)*Enn|v=}0BhVh z+RXuQscUfHUnsPqg0E4j1LL5m=;`VG=Vrr1+VjE<2(uf#vja_%r>bjfdmH^~PM|z} zyfoHA12fAR*g3GTp`(sY%WfYH0Fy(Wm_Hq)sZbm<7|}bM5l?GoVbS}~OVIBJ0>^3RgswK-w;7;msjd41GY?t1{YXz_@um1+xSS4$-ip} zuFgGjAAfniJu*LZrE{=7HZC>1J(l?}8TvnBS5)f$3rEV4eb9tG&87{<}6a)WIzph8Dgo z0SQ2taRlu2yVu?6oRniK638&15j!3ck<2~u^BH+hQEVm%G!#dydYMq1rJ&6WL?eKq zuJP}KP5$B>mv<6ROG!oZ^>(yb@Q`qQv<0O$8k!|EB-bYOh>f2e13){gYD043Te+c* z*Q>E=BU8Ir2!l=ZHtCS3!fZwJsqKaL7%`>5E~T#3M!RsQy?0Z-rUIb3s!YyWmL1m9 zODu(|(v_+Z$ZzCS8BoLwoMu)PnaP<01RSY(OO<&ID1hc8@n8$UJlk)!md=GVSAolB z7s8CcL0By{5$82KRP#AQ{ikmW$oT!gHEi{ov8F5u*~ufIEuEy>OUcV8XJ0k+6qnn1 zsUMh1|H~5^s~oel8Emb$yJ3RBeUGgJ%x>mmyoVFzMJqM;rMa%DE>G(fI^RM9q% zLPQ^$`K1{D>MWCP9khZ1xg!ycuOdRVV?U?mA|nrPBnZ^(Y;OuU#CqeyN=|JFnVI3r z#uR{u1OjPwSup8QVtkw;W@C$pkHsD@cOil!y+FJsYxe~xRT$Q5@Kif^4Tk*dX`_zh znsO3QHOvWXveOA>3v;(ygDAl(bGrB&2Y7uwcw#^h8{#^a!q^iwkqQ2z`i=oCM{tBp z5>PG3wc22KzCWMtgaRCUR`~{xEdywnhrY!@ocQd{Zeocztxi`uy#LO<9CluF1&N8( z0=Y#{!&9x&9Z89;xmM0q48p$_I{EL0rlxH4jL3lU98UTW;&QMz+NJoq`DX@ibm2m2`Q>Wp_3TC=QEBP;Q!PO>?sp z>HTIe>r7+_G;~)9Yq_D4677E95wFMQ+VI3g`TXM=Ko&?7nrH5GaC&3 z>^%jVGH)ZbW-dZfLL^cLmVr@ns`srEl0#4^8j1sp;u)~yTjwu0_ElBD##Z7pVstKY zWMIPo;&>o6VtluDZDeUl(+?yD|K$h(wu?+Mq*fodGo!F1SsNgf(@&-S6OdlBnM2+x zIn7Ww$xiHQfr2DJ01|fk*mAqzfT$FqPc+aTw_XI|8&6_FARtMmYFcTILic~7eSzR! zoLs8n#R?lp&4xPqtIr{c87d7ET%%Z*z{o{vdn4!<32A2;he$zF^Kw<|a zj+mc11O*MXXL6%0WW>q%`%7afz?i;)7-V@byRsm zZ?sbId{P@wXTD%>s@tJ+yP=D>l#-7Dmnz^l27Q1QNrMM1-yK^G;+X=$>%SNlga^XG z+GgpGUhB${={MOC05t(l6>uGJ1L41t10gFYjZv=b1NDdK&=9vM|7V&aOWTfiHkk&gAZN94*YZ=>r*b z0N$j4NW8Zl{ulATF3wLpK=kx^e?KH!P@m0Vlc*r4E0D4D@I_o5Pz4+YVVzJQ!5TZs zpZzhH7Z64QBA_A)k1s@If{Re4Kh>Xo;l4ymS}Gqk{D(tY`xxQ&e_B9uN&crJ^c@Xd XLkqWVSLh6AYX!+jD2P{y8U_6qGL%eZ literal 0 HcmV?d00001 diff --git a/packages/mermaid/src/docs/config/math.md b/packages/mermaid/src/docs/config/math.md index 22b398e087..6b203c52d9 100644 --- a/packages/mermaid/src/docs/config/math.md +++ b/packages/mermaid/src/docs/config/math.md @@ -60,3 +60,13 @@ Example with legacy mode enabled (the latest version of KaTeX's stylesheet can b ``` + +## Handling Rendering Differences + +Due to differences between default fonts across operating systems and browser's MathML implementations, inconsistent results can be seen across platforms. If having consistent results are important, or the most optimal rendered results are desired, `forceLegacyMathML` can be enabled in the config. + +This option will always use KaTeX's stylesheet instead of only when MathML is not supported (as with `legacyMathML`). Note that only `forceLegacyMathML` needs to be set. + +If including KaTeX's stylesheet is not a concern, enabling this option is recommended to avoid scenarios where no MathML implementation within a browser provides the desired output (as seen below). + +![Image showing differences between Browsers](img/mathMLDifferences.png) From 7f33ae0f40700654216a787771b95a454978a1bb Mon Sep 17 00:00:00 2001 From: NicolasNewman Date: Mon, 22 Apr 2024 17:15:10 -0500 Subject: [PATCH 332/789] fix(mathml): fixed flowchart equations being cut off --- packages/mermaid/src/diagrams/common/common.ts | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/packages/mermaid/src/diagrams/common/common.ts b/packages/mermaid/src/diagrams/common/common.ts index 364dc25ea8..c6537e3904 100644 --- a/packages/mermaid/src/diagrams/common/common.ts +++ b/packages/mermaid/src/diagrams/common/common.ts @@ -347,9 +347,7 @@ export const renderKatex = async (text: string, config: MermaidConfig): Promise< .split(lineBreakRegex) .map((line) => hasKatex(line) - ? `
    - ${line} -
    ` + ? `
    ${line}
    ` : `
    ${line}
    ` ) .join('') From 8205e3619a5023081598f3eb277d5a320200b858 Mon Sep 17 00:00:00 2001 From: Knut Sveidqvist Date: Tue, 23 Apr 2024 11:04:43 +0200 Subject: [PATCH 333/789] #5237 WIP, testing common layoutAndRender --- cypress/platform/knsv2.html | 9 +- .../src/dagre-wrapper/index-refactored.js | 209 ++++++ .../mermaid/src/diagrams/state/stateDb.js | 29 +- .../src/diagrams/state/stateDiagram-v2.ts | 4 +- .../stateRenderer-v3-unified-step-by-step.ts | 58 ++ .../state/stateRenderer-v3-unified.ts | 76 ++- packages/mermaid/src/rendering-util/render.js | 7 + .../mermaid/src/rendering-util/types.d.ts | 180 +++-- pnpm-lock.yaml | 638 +++++++----------- 9 files changed, 692 insertions(+), 518 deletions(-) create mode 100644 packages/mermaid/src/dagre-wrapper/index-refactored.js create mode 100644 packages/mermaid/src/diagrams/state/stateRenderer-v3-unified-step-by-step.ts create mode 100644 packages/mermaid/src/rendering-util/render.js diff --git a/cypress/platform/knsv2.html b/cypress/platform/knsv2.html index 14b7bd98d2..5cc8036d52 100644 --- a/cypress/platform/knsv2.html +++ b/cypress/platform/knsv2.html @@ -58,10 +58,17 @@
    +stateDiagram-v2
    +       Second
    +  
    +
     stateDiagram-v2
         state First {
            Second
    -    }    
    + } +
         flowchart TB
           subgraph First
    diff --git a/packages/mermaid/src/dagre-wrapper/index-refactored.js b/packages/mermaid/src/dagre-wrapper/index-refactored.js
    new file mode 100644
    index 0000000000..1411a87333
    --- /dev/null
    +++ b/packages/mermaid/src/dagre-wrapper/index-refactored.js
    @@ -0,0 +1,209 @@
    +import { layout as dagreLayout } from 'dagre-d3-es/src/dagre/index.js';
    +import * as graphlibJson from 'dagre-d3-es/src/graphlib/json.js';
    +import insertMarkers from './markers.js';
    +import { updateNodeBounds } from './shapes/util.js';
    +import {
    +  clear as clearGraphlib,
    +  clusterDb,
    +  adjustClustersAndEdges,
    +  findNonClusterChild,
    +  sortNodesByHierarchy,
    +} from './mermaid-graphlib.js';
    +import * as graphlib from 'dagre-d3-es/src/graphlib/index.js';
    +import { insertNode, positionNode, clear as clearNodes, setNodeElem } from './nodes.js';
    +import { insertCluster, clear as clearClusters } from './clusters.js';
    +import { insertEdgeLabel, positionEdgeLabel, insertEdge, clear as clearEdges } from './edges.js';
    +import { log } from '../logger.js';
    +import { getSubGraphTitleMargins } from '../utils/subGraphTitleMargins.js';
    +import { getConfig } from '../diagram-api/diagramAPI.js';
    +// import type { LayoutData, LayoutMethod } from '../rendering-util/types.js';
    +// import type { MermaidConfig } from '../config.type.js';
    +
    +const recursiveRender = async (_elem, graph, diagramtype, id, parentCluster, siteConfig) => {
    +  log.info('Graph in recursive render: XXX', graphlibJson.write(graph), parentCluster);
    +  const dir = graph.graph().rankdir;
    +  log.trace('Dir in recursive render - dir:', dir);
    +
    +  const elem = _elem.insert('g').attr('class', 'root');
    +  if (!graph.nodes()) {
    +    log.info('No nodes found for', graph);
    +  } else {
    +    log.info('Recursive render XXX', graph.nodes());
    +  }
    +  if (graph.edges().length > 0) {
    +    log.trace('Recursive edges', graph.edge(graph.edges()[0]));
    +  }
    +  const clusters = elem.insert('g').attr('class', 'clusters');
    +  const edgePaths = elem.insert('g').attr('class', 'edgePaths');
    +  const edgeLabels = elem.insert('g').attr('class', 'edgeLabels');
    +  const nodes = elem.insert('g').attr('class', 'nodes');
    +
    +  // Insert nodes, this will insert them into the dom and each node will get a size. The size is updated
    +  // to the abstract node and is later used by dagre for the layout
    +  await Promise.all(
    +    graph.nodes().map(async function (v) {
    +      const node = graph.node(v);
    +      if (parentCluster !== undefined) {
    +        const data = JSON.parse(JSON.stringify(parentCluster.clusterData));
    +        // data.clusterPositioning = true;
    +        log.info('Setting data for cluster XXX (', v, ') ', data, parentCluster);
    +        graph.setNode(parentCluster.id, data);
    +        if (!graph.parent(v)) {
    +          log.trace('Setting parent', v, parentCluster.id);
    +          graph.setParent(v, parentCluster.id, data);
    +        }
    +      }
    +      log.info('(Insert) Node XXX' + v + ': ' + JSON.stringify(graph.node(v)));
    +      if (node && node.clusterNode) {
    +        // const children = graph.children(v);
    +        log.info('Cluster identified', v, node.width, graph.node(v));
    +        const o = await recursiveRender(
    +          nodes,
    +          node.graph,
    +          diagramtype,
    +          id,
    +          graph.node(v),
    +          siteConfig
    +        );
    +        const newEl = o.elem;
    +        updateNodeBounds(node, newEl);
    +        node.diff = o.diff || 0;
    +        log.info('Node bounds (abc123)', v, node, node.width, node.x, node.y);
    +        setNodeElem(newEl, node);
    +
    +        log.warn('Recursive render complete ', newEl, node);
    +      } else {
    +        if (graph.children(v).length > 0) {
    +          // This is a cluster but not to be rendered recursively
    +          // Render as before
    +          log.info('Cluster - the non recursive path XXX', v, node.id, node, graph);
    +          log.info(findNonClusterChild(node.id, graph));
    +          clusterDb[node.id] = { id: findNonClusterChild(node.id, graph), node };
    +          // insertCluster(clusters, graph.node(v));
    +        } else {
    +          log.info('Node - the non recursive path', v, node.id, node);
    +          await insertNode(nodes, graph.node(v), dir);
    +        }
    +      }
    +    })
    +  );
    +
    +  // Insert labels, this will insert them into the dom so that the width can be calculated
    +  // Also figure out which edges point to/from clusters and adjust them accordingly
    +  // Edges from/to clusters really points to the first child in the cluster.
    +  // TODO: pick optimal child in the cluster to us as link anchor
    +  graph.edges().forEach(function (e) {
    +    const edge = graph.edge(e.v, e.w, e.name);
    +    log.info('Edge ' + e.v + ' -> ' + e.w + ': ' + JSON.stringify(e));
    +    log.info('Edge ' + e.v + ' -> ' + e.w + ': ', e, ' ', JSON.stringify(graph.edge(e)));
    +
    +    // Check if link is either from or to a cluster
    +    log.info('Fix', clusterDb, 'ids:', e.v, e.w, 'Translateing: ', clusterDb[e.v], clusterDb[e.w]);
    +    insertEdgeLabel(edgeLabels, edge);
    +  });
    +
    +  graph.edges().forEach(function (e) {
    +    log.info('Edge ' + e.v + ' -> ' + e.w + ': ' + JSON.stringify(e));
    +  });
    +  log.info('#############################################');
    +  log.info('###                Layout                 ###');
    +  log.info('#############################################');
    +  log.info(graph);
    +  dagreLayout(graph);
    +  log.info('Graph after layout:', graphlibJson.write(graph));
    +  // Move the nodes to the correct place
    +  let diff = 0;
    +  const { subGraphTitleTotalMargin } = getSubGraphTitleMargins(siteConfig);
    +  sortNodesByHierarchy(graph).forEach(function (v) {
    +    const node = graph.node(v);
    +    log.info('Position ' + v + ': ' + JSON.stringify(graph.node(v)));
    +    log.info(
    +      'Position ' + v + ': (' + node.x,
    +      ',' + node.y,
    +      ') width: ',
    +      node.width,
    +      ' height: ',
    +      node.height
    +    );
    +    if (node && node.clusterNode) {
    +      // clusterDb[node.id].node = node;
    +      node.y += subGraphTitleTotalMargin;
    +      positionNode(node);
    +    } else {
    +      // Non cluster node
    +      if (graph.children(v).length > 0) {
    +        // A cluster in the non-recursive way
    +        // positionCluster(node);
    +        node.height += subGraphTitleTotalMargin;
    +        insertCluster(clusters, node);
    +        clusterDb[node.id].node = node;
    +      } else {
    +        node.y += subGraphTitleTotalMargin / 2;
    +        positionNode(node);
    +      }
    +    }
    +  });
    +
    +  // Move the edge labels to the correct place after layout
    +  graph.edges().forEach(function (e) {
    +    const edge = graph.edge(e);
    +    log.info('Edge ' + e.v + ' -> ' + e.w + ': ' + JSON.stringify(edge), edge);
    +
    +    edge.points.forEach((point) => (point.y += subGraphTitleTotalMargin / 2));
    +    const paths = insertEdge(edgePaths, e, edge, clusterDb, diagramtype, graph, id);
    +    positionEdgeLabel(edge, paths);
    +  });
    +
    +  graph.nodes().forEach(function (v) {
    +    const n = graph.node(v);
    +    log.info(v, n.type, n.diff);
    +    if (n.type === 'group') {
    +      diff = n.diff;
    +    }
    +  });
    +  return { elem, diff };
    +};
    +
    +export const render = async (data4Layout, svg, element) => {
    +  // Create the input mermaid.graph
    +  const graph = new graphlib.Graph({
    +    multigraph: true,
    +    compound: true,
    +  })
    +    .setGraph({
    +      rankdir: data4Layout.direction,
    +      nodesep: data4Layout.nodeSpacing,
    +      ranksep: data4Layout.rankSpacing,
    +      marginx: 8,
    +      marginy: 8,
    +    })
    +    .setDefaultEdgeLabel(function () {
    +      return {};
    +    });
    +
    +  // Org
    +
    +  insertMarkers(element, data4Layout.markers, data4Layout.type, data4Layout.diagramId);
    +  clearNodes();
    +  clearEdges();
    +  clearClusters();
    +  clearGraphlib();
    +
    +  // Add the nodes and edges to the graph
    +  data4Layout.nodes.forEach((node) => {
    +    graph.setNode(node.id, { ...node });
    +  });
    +
    +  log.warn('Graph at first:', JSON.stringify(graphlibJson.write(graph)));
    +  adjustClustersAndEdges(graph);
    +  log.warn('Graph after:', JSON.stringify(graphlibJson.write(graph)));
    +  const siteConfig = getConfig();
    +  await recursiveRender(
    +    element,
    +    graph,
    +    data4Layout.type,
    +    data4Layout.diagramId,
    +    undefined,
    +    siteConfig
    +  );
    +};
    diff --git a/packages/mermaid/src/diagrams/state/stateDb.js b/packages/mermaid/src/diagrams/state/stateDb.js
    index 8fbe75f10e..c5d5d390a8 100644
    --- a/packages/mermaid/src/diagrams/state/stateDb.js
    +++ b/packages/mermaid/src/diagrams/state/stateDb.js
    @@ -545,12 +545,26 @@ const dataFetcher = (parentId, doc, nodes, edges) => {
       doc.forEach((item) => {
         switch (item.stmt) {
           case STMT_STATE:
    -        if(parentId) {
    -          nodes.push({...item, labelText: item.id, labelType:'text', parentId});
    +        if (parentId) {
    +          nodes.push({ ...item, labelText: item.id, labelType: 'text', parentId, shape: 'rect' });
             } else {
    -          nodes.push({...item, labelText: item.id, labelType:'text'});
    +          nodes.push({
    +            ...item,
    +            labelText: item.id,
    +            // description: item.id,
    +            labelType: 'text',
    +            labelStyle: '',
    +            shape: 'rect',
    +            domId: 'state-bla-bla-bla',
    +            x: 100,
    +            y: 100,
    +            height: 100,
    +            width: 100,
    +            padding: 15,
    +            classes: ' statediagram-state',
    +          });
             }
    -        if(item.doc) {
    +        if (item.doc) {
               dataFetcher(item.id, item.doc, nodes, edges);
             }
             break;
    @@ -559,7 +573,7 @@ const dataFetcher = (parentId, doc, nodes, edges) => {
             break;
         }
       });
    -}
    +};
     export const getData = () => {
       const nodes = [];
       const edges = [];
    @@ -571,9 +585,8 @@ export const getData = () => {
       // }
       dataFetcher(undefined, rootDoc, nodes, edges);
     
    -
    -  return {nodes, edges, other: {}};
    -}
    +  return { nodes, edges, other: {} };
    +};
     
     export default {
       getConfig: () => getConfig().state,
    diff --git a/packages/mermaid/src/diagrams/state/stateDiagram-v2.ts b/packages/mermaid/src/diagrams/state/stateDiagram-v2.ts
    index 9d0a82a871..e71a9c7f50 100644
    --- a/packages/mermaid/src/diagrams/state/stateDiagram-v2.ts
    +++ b/packages/mermaid/src/diagrams/state/stateDiagram-v2.ts
    @@ -3,8 +3,8 @@ import type { DiagramDefinition } from '../../diagram-api/types.js';
     import parser from './parser/stateDiagram.jison';
     import db from './stateDb.js';
     import styles from './styles.js';
    -// import renderer from './stateRenderer-v2.js';
    -import renderer from './stateRenderer-v3-unified.js';
    +import renderer from './stateRenderer-v2.js';
    +// import renderer from './stateRenderer-v3-unified.js';
     
     export const diagram: DiagramDefinition = {
       parser,
    diff --git a/packages/mermaid/src/diagrams/state/stateRenderer-v3-unified-step-by-step.ts b/packages/mermaid/src/diagrams/state/stateRenderer-v3-unified-step-by-step.ts
    new file mode 100644
    index 0000000000..936375f119
    --- /dev/null
    +++ b/packages/mermaid/src/diagrams/state/stateRenderer-v3-unified-step-by-step.ts
    @@ -0,0 +1,58 @@
    +import { log } from '../../logger.js';
    +import type { DiagramStyleClassDef } from '../../diagram-api/types.js';
    +import type { LayoutData, LayoutMethod } from '../../rendering-util/types.js';
    +import { getConfig } from '../../diagram-api/diagramAPI.js';
    +import doLayout from '../../rendering-util/doLayout.js';
    +import performRender from '../../rendering-util/performRender.js';
    +import insertElementsForSize, {
    +  getDiagramElements,
    +} from '../../rendering-util/inserElementsForSize.js';
    +
    +// Configuration
    +const conf: Record = {};
    +
    +export const setConf = function (cnf: Record) {
    +  const keys = Object.keys(cnf);
    +  for (const key of keys) {
    +    conf[key] = cnf[key];
    +  }
    +};
    +
    +export const getClasses = function (
    +  text: string,
    +  diagramObj: any
    +): Record {
    +  diagramObj.db.extract(diagramObj.db.getRootDocV2());
    +  return diagramObj.db.getClasses();
    +};
    +
    +export const draw = async function (text: string, id: string, _version: string, diag: any) {
    +  log.info('Drawing state diagram (v2)', id);
    +  const { securityLevel, state: conf } = getConfig();
    +
    +  // Extracting the data from the parsed structure into a more usable form
    +  // Not related to the refactoring, but this is the first step in the rendering process
    +  diag.db.extract(diag.db.getRootDocV2());
    +
    +  // The getData method provided in all supported diagrams is used to extract the data from the parsed structure
    +  // into the Layout data format
    +  const data4Layout = diag.db.getData() as LayoutData;
    +  // Create the root SVG
    +  const { svg, element } = getDiagramElements(id, securityLevel);
    +  // For some diagrams this call is not needed, but in the state diagram it is
    +  await insertElementsForSize(element, data4Layout);
    +
    +  console.log('data4Layout:', data4Layout);
    +
    +  // Now we have layout data with real sizes, we can perform the layout
    +  const data4Rendering = doLayout(data4Layout, id, _version, 'dagre-wrapper');
    +
    +  // The performRender method provided in all supported diagrams is used to render the data
    +  performRender(data4Rendering);
    +};
    +
    +export default {
    +  setConf,
    +  getClasses,
    +  draw,
    +};
    diff --git a/packages/mermaid/src/diagrams/state/stateRenderer-v3-unified.ts b/packages/mermaid/src/diagrams/state/stateRenderer-v3-unified.ts
    index ce129c1389..656507274a 100644
    --- a/packages/mermaid/src/diagrams/state/stateRenderer-v3-unified.ts
    +++ b/packages/mermaid/src/diagrams/state/stateRenderer-v3-unified.ts
    @@ -1,12 +1,21 @@
     import { log } from '../../logger.js';
     import type { DiagramStyleClassDef } from '../../diagram-api/types.js';
    -import type { LayoutData, LayoutMethod } from '../../rendering-util/types';
    +import type { LayoutData, LayoutMethod } from '../../rendering-util/types.js';
     import { getConfig } from '../../diagram-api/diagramAPI.js';
    -import doLayout from '../../rendering-util/doLayout';
    -import performRender from '../../rendering-util/performRender';
    -import insertElementsForSize, { getDiagramElements} from '../../rendering-util/inserElementsForSize.js';
    -
    -
    +import doLayout from '../../rendering-util/doLayout.js';
    +import performRender from '../../rendering-util/performRender.js';
    +import { render } from '../../rendering-util/render.js';
    +import insertElementsForSize, {
    +  getDiagramElements,
    +} from '../../rendering-util/inserElementsForSize.js';
    +import {
    +  DEFAULT_DIAGRAM_DIRECTION,
    +  DEFAULT_NESTED_DOC_DIR,
    +  STMT_STATE,
    +  STMT_RELATION,
    +  DEFAULT_STATE_TYPE,
    +  DIVIDER_TYPE,
    +} from './stateCommon.js';
     
     // Configuration
     const conf: Record = {};
    @@ -18,6 +27,27 @@ export const setConf = function (cnf: Record) {
       }
     };
     
    +/**
    + * Get the direction from the statement items.
    + * Look through all of the documents (docs) in the parsedItems
    + * Because is a _document_ direction, the default direction is not necessarily the same as the overall default _diagram_ direction.
    + * @param {object[]} parsedItem - the parsed statement item to look through
    + * @param [defaultDir] - the direction to use if none is found
    + * @returns {string}
    + */
    +const getDir = (parsedItem: any, defaultDir = DEFAULT_NESTED_DOC_DIR) => {
    +  let dir = defaultDir;
    +  if (parsedItem.doc) {
    +    for (let i = 0; i < parsedItem.doc.length; i++) {
    +      const parsedItemDoc = parsedItem.doc[i];
    +      if (parsedItemDoc.stmt === 'dir') {
    +        dir = parsedItemDoc.value;
    +      }
    +    }
    +  }
    +  return dir;
    +};
    +
     export const getClasses = function (
       text: string,
       diagramObj: any
    @@ -27,23 +57,43 @@ export const getClasses = function (
     };
     
     export const draw = async function (text: string, id: string, _version: string, diag: any) {
    +  log.info('REF0:');
       log.info('Drawing state diagram (v2)', id);
       const { securityLevel, state: conf } = getConfig();
    -
       // Extracting the data from the parsed structure into a more usable form
       // Not related to the refactoring, but this is the first step in the rendering process
       diag.db.extract(diag.db.getRootDocV2());
     
    +  const DIR = getDir(diag.db.getRootDocV2());
    +
       // The getData method provided in all supported diagrams is used to extract the data from the parsed structure
       // into the Layout data format
       const data4Layout = diag.db.getData() as LayoutData;
    -  const { svg, element } = getDiagramElements(id, securityLevel);
    -  // For some diagrams this call is not needed, but in the state diagram it is
    -  await insertElementsForSize(element, data4Layout);
    -  const data4Rendering = doLayout(data4Layout, id, _version, 'dagre-wrapper');
    +  // Create the root SVG - the element is the div containing the SVG element
    +  const { element, svg } = getDiagramElements(id, securityLevel);
    +
    +  // // For some diagrams this call is not needed, but in the state diagram it is
    +  // await insertElementsForSize(element, data4Layout);
    +
    +  // console.log('data4Layout:', data4Layout);
    +
    +  // // Now we have layout data with real sizes, we can perform the layout
    +  // const data4Rendering = doLayout(data4Layout, id, _version, 'dagre-wrapper');
    +
    +  // // The performRender method provided in all supported diagrams is used to render the data
    +  // performRender(data4Rendering);
    +
    +  console.log('REF1:', data4Layout);
    +  data4Layout.type = diag.type;
    +  data4Layout.layoutAlgorithm = 'dagre-wrapper';
    +  data4Layout.skin = 'roughjs';
    +  data4Layout.direction = DIR;
    +  data4Layout.nodeSpacing = conf.nodeSpacing || 50;
    +  data4Layout.rankSpacing = conf.rankSpacing || 50;
    +  data4Layout.markers = ['barb'];
    +  data4Layout.diagramId = id;
     
    -  // The performRender method provided in all supported diagrams is used to render the data
    -  performRender(data4Rendering);
    +  render(data4Layout, svg, element);
     };
     
     export default {
    diff --git a/packages/mermaid/src/rendering-util/render.js b/packages/mermaid/src/rendering-util/render.js
    new file mode 100644
    index 0000000000..a235c31ff5
    --- /dev/null
    +++ b/packages/mermaid/src/rendering-util/render.js
    @@ -0,0 +1,7 @@
    +export const render = async (data4Layout, svg, element) => {
    +  if (data4Layout.layoutAlgorithm === 'dagre-wrapper') {
    +    const layoutRenderer = await import('../dagre-wrapper/index-refactored.js');
    +
    +    return layoutRenderer.render(data4Layout, svg, element);
    +  }
    +};
    diff --git a/packages/mermaid/src/rendering-util/types.d.ts b/packages/mermaid/src/rendering-util/types.d.ts
    index 35fabe8d89..497a84acc9 100644
    --- a/packages/mermaid/src/rendering-util/types.d.ts
    +++ b/packages/mermaid/src/rendering-util/types.d.ts
    @@ -9,82 +9,81 @@ export type CheckFitFunction = (text: MarkdownLine) => boolean;
     
     // Common properties for any node in the system
     interface Node {
    -    id: string;
    -    label?: string;
    -    parentId?: string;
    -    position?: string;
    -    styles?: string;
    -    classes?: string;
    -    // Flowchart specific properties
    -    labelType?: string;
    -    domId: string;
    -    // Rendering specific properties for both Flowchart and State Diagram nodes
    -    dir?: string;
    -    haveCallback?: boolean;
    -    labelStyle?: string;
    -    labelText?: string;
    -    link?: string;
    -    linkTarget?: string;
    -    padding?: number;
    -    props?: Record;
    -    rx?: number;
    -    ry?: number;
    -    shape?: string;
    -    tooltip?: string;
    -    type: string;
    -    width?: number;
    +  id: string;
    +  label?: string;
    +  parentId?: string;
    +  position?: string;
    +  styles?: string;
    +  classes?: string;
    +  // Flowchart specific properties
    +  labelType?: string;
    +  domId: string;
    +  // Rendering specific properties for both Flowchart and State Diagram nodes
    +  dir?: string;
    +  haveCallback?: boolean;
    +  labelStyle?: string;
    +  labelText?: string;
    +  link?: string;
    +  linkTarget?: string;
    +  padding?: number;
    +  props?: Record;
    +  rx?: number;
    +  ry?: number;
    +  shape?: string;
    +  tooltip?: string;
    +  type: string;
    +  width?: number;
     }
     
     // Common properties for any edge in the system
     interface Edge {
    -    id: string;
    -    label?: string;
    -    classes?: string;
    -    style?: string;
    -    // Properties common to both Flowchart and State Diagram edges
    -    arrowhead?: string;
    -    arrowheadStyle?: string;
    -    arrowTypeEnd?: string;
    -    arrowTypeStart?: string;
    -    // Flowchart specific properties
    -    defaultInterpolate?: string;
    -    end?: string;
    -    interpolate?: string;
    -    labelType?: string;
    -    length?: number;
    -    start?: string;
    -    stroke?: string;
    -    text?: string;
    -    type: string;
    -    // Rendering specific properties
    -    curve?: string;
    -    labelpos?: string;
    -    labelStyle?: string;
    -    minlen?: number;
    -    pattern?: string;
    -    thickness?: number;
    +  id: string;
    +  label?: string;
    +  classes?: string;
    +  style?: string;
    +  // Properties common to both Flowchart and State Diagram edges
    +  arrowhead?: string;
    +  arrowheadStyle?: string;
    +  arrowTypeEnd?: string;
    +  arrowTypeStart?: string;
    +  // Flowchart specific properties
    +  defaultInterpolate?: string;
    +  end?: string;
    +  interpolate?: string;
    +  labelType?: string;
    +  length?: number;
    +  start?: string;
    +  stroke?: string;
    +  text?: string;
    +  type: string;
    +  // Rendering specific properties
    +  curve?: string;
    +  labelpos?: string;
    +  labelStyle?: string;
    +  minlen?: number;
    +  pattern?: string;
    +  thickness?: number;
     }
     
     // Extending the Node interface for specific types if needed
     interface ClassDiagramNode extends Node {
    -    memberData: any; // Specific property for class diagram nodes
    +  memberData: any; // Specific property for class diagram nodes
     }
     
     // Specific interfaces for layout and render data
     export interface LayoutData {
    -    nodes: Node[];
    -    edges: Edge[];
    -    other: any; // Additional properties not yet defined
    +  nodes: Node[];
    +  edges: Edge[];
    +  other: any; // Additional properties not yet defined
     }
     
     export interface RenderData {
    -    items: (Node | Edge)[];
    -    otherDetails: any; // Placeholder for additional, undefined properties
    +  items: (Node | Edge)[];
    +  otherDetails: any; // Placeholder for additional, undefined properties
     }
     
     // This refactored approach ensures that common properties are included in the base `Node` and `Edge` interfaces, with specific types extending these bases with additional properties as needed. This maintains flexibility while ensuring type safety and reducing redundancy.
     
    -
     export type LayoutMethod =
       | 'dagre'
       | 'dagre-wrapper'
    @@ -96,39 +95,38 @@ export type LayoutMethod =
       | 'osage'
       | 'grid';
     
    -
     export function createDomElement(node: Node): Node {
    -    // Create a new DOM element. Assuming we're creating a div as an example
    -    const element = document.createElement('div');
    -
    -    // Check if node.domId is set, if not generate a unique identifier for it
    -    if (!node.domId) {
    -        // This is a simplistic approach to generate a unique ID
    -        // In a real application, you might want to use a more robust method
    -        node.domId = `node-${Math.random().toString(36).substr(2, 9)}`;
    -    }
    -
    -    // Set the ID of the DOM element
    -    element.id = node.domId;
    -
    -    // Optional: Apply styles and classes to the element
    -    if (node.styles) {
    -        element.style.cssText = node.styles;
    -    }
    -    if (node.classes) {
    -        element.className = node.classes;
    -    }
    -
    -    // Optional: Add content or additional attributes to the element
    -    // This can be based on other properties of the node
    -    if (node.label) {
    -        element.textContent = node.label;
    -    }
    -
    -    // Append the newly created element to the document body or a specific container
    -    // This is just an example; in a real application, you might append it somewhere specific
    -    document.body.appendChild(element);
    -
    -    // Return the updated node with its domId set
    -    return node;
    +  // Create a new DOM element. Assuming we're creating a div as an example
    +  const element = document.createElement('div');
    +
    +  // Check if node.domId is set, if not generate a unique identifier for it
    +  if (!node.domId) {
    +    // This is a simplistic approach to generate a unique ID
    +    // In a real application, you might want to use a more robust method
    +    node.domId = `node-${Math.random().toString(36).substr(2, 9)}`;
    +  }
    +
    +  // Set the ID of the DOM element
    +  element.id = node.domId;
    +
    +  // Optional: Apply styles and classes to the element
    +  if (node.styles) {
    +    element.style.cssText = node.styles;
    +  }
    +  if (node.classes) {
    +    element.className = node.classes;
    +  }
    +
    +  // Optional: Add content or additional attributes to the element
    +  // This can be based on other properties of the node
    +  if (node.label) {
    +    element.textContent = node.label;
    +  }
    +
    +  // Append the newly created element to the document body or a specific container
    +  // This is just an example; in a real application, you might append it somewhere specific
    +  document.body.appendChild(element);
    +
    +  // Return the updated node with its domId set
    +  return node;
     }
    diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
    index 31273ff6de..9c860f9c42 100644
    --- a/pnpm-lock.yaml
    +++ b/pnpm-lock.yaml
    @@ -442,7 +442,7 @@ importers:
         dependencies:
           '@zenuml/core':
             specifier: ^3.0.6
    -        version: 3.0.6(ts-node@10.9.1)
    +        version: 3.0.6(ts-node@10.9.1)(typescript@5.1.6)
         devDependencies:
           mermaid:
             specifier: workspace:^
    @@ -503,6 +503,61 @@ importers:
             specifier: ^7.0.0
             version: 7.0.0
     
    +  packages/mermaid/src/vitepress:
    +    dependencies:
    +      '@vueuse/core':
    +        specifier: ^10.1.0
    +        version: 10.1.0(vue@3.3.4)
    +      jiti:
    +        specifier: ^1.18.2
    +        version: 1.18.2
    +      mermaid:
    +        specifier: workspace:^
    +        version: link:../..
    +      vue:
    +        specifier: ^3.3
    +        version: 3.3.4
    +    devDependencies:
    +      '@iconify-json/carbon':
    +        specifier: ^1.1.16
    +        version: 1.1.16
    +      '@unocss/reset':
    +        specifier: ^0.58.0
    +        version: 0.58.0
    +      '@vite-pwa/vitepress':
    +        specifier: ^0.3.0
    +        version: 0.3.0(vite-plugin-pwa@0.17.0)
    +      '@vitejs/plugin-vue':
    +        specifier: ^4.2.1
    +        version: 4.2.1(vite@4.4.12)(vue@3.3.4)
    +      fast-glob:
    +        specifier: ^3.2.12
    +        version: 3.2.12
    +      https-localhost:
    +        specifier: ^4.7.1
    +        version: 4.7.1
    +      pathe:
    +        specifier: ^1.1.0
    +        version: 1.1.0
    +      unocss:
    +        specifier: ^0.58.0
    +        version: 0.58.0(postcss@8.4.33)(rollup@2.79.1)(vite@4.4.12)
    +      unplugin-vue-components:
    +        specifier: ^0.26.0
    +        version: 0.26.0(rollup@2.79.1)(vue@3.3.4)
    +      vite:
    +        specifier: ^4.4.12
    +        version: 4.4.12(@types/node@18.17.5)
    +      vite-plugin-pwa:
    +        specifier: ^0.17.0
    +        version: 0.17.0(vite@4.4.12)(workbox-build@7.0.0)(workbox-window@7.0.0)
    +      vitepress:
    +        specifier: 1.0.0-rc.39
    +        version: 1.0.0-rc.39(@algolia/client-search@4.19.1)(@types/node@18.17.5)(postcss@8.4.33)(search-insights@2.7.0)(typescript@5.1.6)
    +      workbox-window:
    +        specifier: ^7.0.0
    +        version: 7.0.0
    +
       packages/parser:
         dependencies:
           langium:
    @@ -1075,22 +1130,6 @@ packages:
         engines: {node: '>=4'}
         dev: true
     
    -  /@babel/code-frame@7.22.10:
    -    resolution: {integrity: sha512-/KKIMG4UEL35WmI9OlvMhurwtytjvXoFcGNrOvyG9zIzA8YmPjVtIZUf7b05+TPO7G7/GEmLHDaoCgACHl9hhA==}
    -    engines: {node: '>=6.9.0'}
    -    dependencies:
    -      '@babel/highlight': 7.22.20
    -      chalk: 2.4.2
    -    dev: true
    -
    -  /@babel/code-frame@7.22.13:
    -    resolution: {integrity: sha512-XktuhWlJ5g+3TJXc5upd9Ks1HutSArik6jf2eAjYFyIOf4ej3RN+184cZbzDvbPnuTJIUhPKKJE3cIsYTiAT3w==}
    -    engines: {node: '>=6.9.0'}
    -    dependencies:
    -      '@babel/highlight': 7.22.20
    -      chalk: 2.4.2
    -    dev: true
    -
       /@babel/code-frame@7.23.5:
         resolution: {integrity: sha512-CgH3s1a96LipHCmSUmYFPwY7MNx8C3avkq7i4Wl3cfa662ldtUe4VM1TPXX70pfmrlWTb6jLqTYrZyT2ZTJBgA==}
         engines: {node: '>=6.9.0'}
    @@ -1104,29 +1143,6 @@ packages:
         engines: {node: '>=6.9.0'}
         dev: true
     
    -  /@babel/core@7.22.10:
    -    resolution: {integrity: sha512-fTmqbbUBAwCcre6zPzNngvsI0aNrPZe77AeqvDxWM9Nm+04RrJ3CAmGHA9f7lJQY6ZMhRztNemy4uslDxTX4Qw==}
    -    engines: {node: '>=6.9.0'}
    -    dependencies:
    -      '@ampproject/remapping': 2.2.1
    -      '@babel/code-frame': 7.22.10
    -      '@babel/generator': 7.22.10
    -      '@babel/helper-compilation-targets': 7.22.10
    -      '@babel/helper-module-transforms': 7.22.9(@babel/core@7.22.10)
    -      '@babel/helpers': 7.22.10
    -      '@babel/parser': 7.23.5
    -      '@babel/template': 7.22.5
    -      '@babel/traverse': 7.23.2
    -      '@babel/types': 7.23.5
    -      convert-source-map: 1.9.0
    -      debug: 4.3.4(supports-color@8.1.1)
    -      gensync: 1.0.0-beta.2
    -      json5: 2.2.3
    -      semver: 6.3.1
    -    transitivePeerDependencies:
    -      - supports-color
    -    dev: true
    -
       /@babel/core@7.23.5:
         resolution: {integrity: sha512-Cwc2XjUrG4ilcfOw4wBAK+enbdgwAcAJCfGUItPBKR7Mjw4aEfAFYrLxeRp4jWgtNIKn3n2AlBOfwwafl+42/g==}
         engines: {node: '>=6.9.0'}
    @@ -1137,7 +1153,7 @@ packages:
           '@babel/helper-compilation-targets': 7.22.15
           '@babel/helper-module-transforms': 7.23.3(@babel/core@7.23.5)
           '@babel/helpers': 7.23.5
    -      '@babel/parser': 7.23.5
    +      '@babel/parser': 7.23.6
           '@babel/template': 7.22.15
           '@babel/traverse': 7.23.5
           '@babel/types': 7.23.5
    @@ -1150,26 +1166,6 @@ packages:
           - supports-color
         dev: true
     
    -  /@babel/generator@7.22.10:
    -    resolution: {integrity: sha512-79KIf7YiWjjdZ81JnLujDRApWtl7BxTqWD88+FFdQEIOG8LJ0etDOM7CXuIgGJa55sGOwZVwuEsaLEm0PJ5/+A==}
    -    engines: {node: '>=6.9.0'}
    -    dependencies:
    -      '@babel/types': 7.23.5
    -      '@jridgewell/gen-mapping': 0.3.3
    -      '@jridgewell/trace-mapping': 0.3.19
    -      jsesc: 2.5.2
    -    dev: true
    -
    -  /@babel/generator@7.23.0:
    -    resolution: {integrity: sha512-lN85QRR+5IbYrMWM6Y4pE/noaQtg4pNiqeNGX60eqOfo6gtEj6uw/JagelB8vVztSd7R6M5n1+PQkDbHbBRU4g==}
    -    engines: {node: '>=6.9.0'}
    -    dependencies:
    -      '@babel/types': 7.23.5
    -      '@jridgewell/gen-mapping': 0.3.3
    -      '@jridgewell/trace-mapping': 0.3.19
    -      jsesc: 2.5.2
    -    dev: true
    -
       /@babel/generator@7.23.5:
         resolution: {integrity: sha512-BPssCHrBD+0YrxviOa3QzpqwhNIXKEtOa2jQrm4FlmkC2apYgRnQcmPWiGZDlGxiNtltnUFolMe8497Esry+jA==}
         engines: {node: '>=6.9.0'}
    @@ -1194,17 +1190,6 @@ packages:
           '@babel/types': 7.23.5
         dev: true
     
    -  /@babel/helper-compilation-targets@7.22.10:
    -    resolution: {integrity: sha512-JMSwHD4J7SLod0idLq5PKgI+6g/hLD/iuWBq08ZX49xE14VpVEojJ5rHWptpirV2j020MvypRLAXAO50igCJ5Q==}
    -    engines: {node: '>=6.9.0'}
    -    dependencies:
    -      '@babel/compat-data': 7.22.9
    -      '@babel/helper-validator-option': 7.22.5
    -      browserslist: 4.21.10
    -      lru-cache: 5.1.1
    -      semver: 6.3.1
    -    dev: true
    -
       /@babel/helper-compilation-targets@7.22.15:
         resolution: {integrity: sha512-y6EEzULok0Qvz8yyLkCvVX+02ic+By2UdOhylwUOvOn9dvYc9mKICJuuU1n1XBI02YWsNsnrY1kc6DVbjcXbtw==}
         engines: {node: '>=6.9.0'}
    @@ -1295,27 +1280,6 @@ packages:
           '@babel/types': 7.23.5
         dev: true
     
    -  /@babel/helper-module-imports@7.22.5:
    -    resolution: {integrity: sha512-8Dl6+HD/cKifutF5qGd/8ZJi84QeAKh+CEe1sBzz8UayBBGg1dAIJrdHOcOM5b2MpzWL2yuotJTtGjETq0qjXg==}
    -    engines: {node: '>=6.9.0'}
    -    dependencies:
    -      '@babel/types': 7.23.5
    -    dev: true
    -
    -  /@babel/helper-module-transforms@7.22.9(@babel/core@7.22.10):
    -    resolution: {integrity: sha512-t+WA2Xn5K+rTeGtC8jCsdAH52bjggG5TKRuRrAGNM/mjIbO4GxvlLMFOEz9wXY5I2XQ60PMFsAG2WIcG82dQMQ==}
    -    engines: {node: '>=6.9.0'}
    -    peerDependencies:
    -      '@babel/core': ^7.0.0
    -    dependencies:
    -      '@babel/core': 7.22.10
    -      '@babel/helper-environment-visitor': 7.22.20
    -      '@babel/helper-module-imports': 7.22.5
    -      '@babel/helper-simple-access': 7.22.5
    -      '@babel/helper-split-export-declaration': 7.22.6
    -      '@babel/helper-validator-identifier': 7.22.20
    -    dev: true
    -
       /@babel/helper-module-transforms@7.23.3(@babel/core@7.23.5):
         resolution: {integrity: sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ==}
         engines: {node: '>=6.9.0'}
    @@ -1387,10 +1351,6 @@ packages:
           '@babel/types': 7.23.5
         dev: true
     
    -  /@babel/helper-string-parser@7.22.5:
    -    resolution: {integrity: sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw==}
    -    engines: {node: '>=6.9.0'}
    -
       /@babel/helper-string-parser@7.23.4:
         resolution: {integrity: sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ==}
         engines: {node: '>=6.9.0'}
    @@ -1404,11 +1364,6 @@ packages:
         engines: {node: '>=6.9.0'}
         dev: true
     
    -  /@babel/helper-validator-option@7.22.5:
    -    resolution: {integrity: sha512-R3oB6xlIVKUnxNUxbmgq7pKjxpru24zlimpE8WK47fACIlM0II/Hm1RS8IaOI7NgCr6LNS+jl5l75m20npAziw==}
    -    engines: {node: '>=6.9.0'}
    -    dev: true
    -
       /@babel/helper-validator-option@7.23.5:
         resolution: {integrity: sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw==}
         engines: {node: '>=6.9.0'}
    @@ -1423,17 +1378,6 @@ packages:
           '@babel/types': 7.23.5
         dev: true
     
    -  /@babel/helpers@7.22.10:
    -    resolution: {integrity: sha512-a41J4NW8HyZa1I1vAndrraTlPZ/eZoga2ZgS7fEr0tZJGVU4xqdE80CEm0CcNjha5EZ8fTBYLKHF0kqDUuAwQw==}
    -    engines: {node: '>=6.9.0'}
    -    dependencies:
    -      '@babel/template': 7.22.15
    -      '@babel/traverse': 7.23.2
    -      '@babel/types': 7.23.5
    -    transitivePeerDependencies:
    -      - supports-color
    -    dev: true
    -
       /@babel/helpers@7.23.5:
         resolution: {integrity: sha512-oO7us8FzTEsG3U6ag9MfdF1iA/7Z6dz+MtFhifZk8C8o453rGJFFWUP1t+ULM9TUIAzC9uxXEiXjOiVMyd7QPg==}
         engines: {node: '>=6.9.0'}
    @@ -1445,15 +1389,6 @@ packages:
           - supports-color
         dev: true
     
    -  /@babel/highlight@7.22.20:
    -    resolution: {integrity: sha512-dkdMCN3py0+ksCgYmGG8jKeGA/8Tk+gJwSYYlFGxG5lmhfKNoAy004YpLxpS1W2J8m/EK2Ew+yOs9pVRwO89mg==}
    -    engines: {node: '>=6.9.0'}
    -    dependencies:
    -      '@babel/helper-validator-identifier': 7.22.20
    -      chalk: 2.4.2
    -      js-tokens: 4.0.0
    -    dev: true
    -
       /@babel/highlight@7.23.4:
         resolution: {integrity: sha512-acGdbYSfp2WheJoJm/EBBBLh/ID8KDc64ISZ9DYtBmC8/Q204PZJLHyzeB5qMzJ5trcOkybd78M4x2KWsUq++A==}
         engines: {node: '>=6.9.0'}
    @@ -1463,27 +1398,12 @@ packages:
           js-tokens: 4.0.0
         dev: true
     
    -  /@babel/parser@7.23.0:
    -    resolution: {integrity: sha512-vvPKKdMemU85V9WE/l5wZEmImpCtLqbnTvqDS2U1fJ96KrxoW7KrXhNsNCblQlg8Ck4b85yxdTyelsMUgFUXiw==}
    -    engines: {node: '>=6.0.0'}
    -    hasBin: true
    -    dependencies:
    -      '@babel/types': 7.23.0
    -
    -  /@babel/parser@7.23.5:
    -    resolution: {integrity: sha512-hOOqoiNXrmGdFbhgCzu6GiURxUgM27Xwd/aPuu8RfHEZPBzL1Z54okAHAQjXfcQNwvrlkAmAp4SlRTZ45vlthQ==}
    -    engines: {node: '>=6.0.0'}
    -    hasBin: true
    -    dependencies:
    -      '@babel/types': 7.23.5
    -
       /@babel/parser@7.23.6:
         resolution: {integrity: sha512-Z2uID7YJ7oNvAI20O9X0bblw7Qqs8Q2hFy0R9tAfnfLkp5MW0UH9eUvnDSnFwKZ0AvgS1ucqR4KzvVHgnke1VQ==}
         engines: {node: '>=6.0.0'}
         hasBin: true
         dependencies:
           '@babel/types': 7.23.5
    -    dev: true
     
       /@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.22.5(@babel/core@7.23.5):
         resolution: {integrity: sha512-NP1M5Rf+u2Gw9qfSO4ihjcTGW5zXTi36ITLd4/EoAcEhIZ0yjMqmftDNl3QC19CX7olhrjpyU454g/2W7X0jvQ==}
    @@ -1516,15 +1436,6 @@ packages:
           '@babel/core': 7.23.5
         dev: true
     
    -  /@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.22.10):
    -    resolution: {integrity: sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==}
    -    peerDependencies:
    -      '@babel/core': ^7.0.0-0
    -    dependencies:
    -      '@babel/core': 7.22.10
    -      '@babel/helper-plugin-utils': 7.22.5
    -    dev: true
    -
       /@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.23.5):
         resolution: {integrity: sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==}
         peerDependencies:
    @@ -1534,21 +1445,12 @@ packages:
           '@babel/helper-plugin-utils': 7.22.5
         dev: true
     
    -  /@babel/plugin-syntax-bigint@7.8.3(@babel/core@7.22.10):
    +  /@babel/plugin-syntax-bigint@7.8.3(@babel/core@7.23.5):
         resolution: {integrity: sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==}
         peerDependencies:
           '@babel/core': ^7.0.0-0
         dependencies:
    -      '@babel/core': 7.22.10
    -      '@babel/helper-plugin-utils': 7.22.5
    -    dev: true
    -
    -  /@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.22.10):
    -    resolution: {integrity: sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==}
    -    peerDependencies:
    -      '@babel/core': ^7.0.0-0
    -    dependencies:
    -      '@babel/core': 7.22.10
    +      '@babel/core': 7.23.5
           '@babel/helper-plugin-utils': 7.22.5
         dev: true
     
    @@ -1609,15 +1511,6 @@ packages:
           '@babel/helper-plugin-utils': 7.22.5
         dev: true
     
    -  /@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.22.10):
    -    resolution: {integrity: sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==}
    -    peerDependencies:
    -      '@babel/core': ^7.0.0-0
    -    dependencies:
    -      '@babel/core': 7.22.10
    -      '@babel/helper-plugin-utils': 7.22.5
    -    dev: true
    -
       /@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.23.5):
         resolution: {integrity: sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==}
         peerDependencies:
    @@ -1627,15 +1520,6 @@ packages:
           '@babel/helper-plugin-utils': 7.22.5
         dev: true
     
    -  /@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.22.10):
    -    resolution: {integrity: sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==}
    -    peerDependencies:
    -      '@babel/core': ^7.0.0-0
    -    dependencies:
    -      '@babel/core': 7.22.10
    -      '@babel/helper-plugin-utils': 7.22.5
    -    dev: true
    -
       /@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.23.5):
         resolution: {integrity: sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==}
         peerDependencies:
    @@ -1645,16 +1529,6 @@ packages:
           '@babel/helper-plugin-utils': 7.22.5
         dev: true
     
    -  /@babel/plugin-syntax-jsx@7.22.5(@babel/core@7.22.10):
    -    resolution: {integrity: sha512-gvyP4hZrgrs/wWMaocvxZ44Hw0b3W8Pe+cMxc8V1ULQ07oh8VNbIRaoD1LRZVTvD+0nieDKjfgKg89sD7rrKrg==}
    -    engines: {node: '>=6.9.0'}
    -    peerDependencies:
    -      '@babel/core': ^7.0.0-0
    -    dependencies:
    -      '@babel/core': 7.22.10
    -      '@babel/helper-plugin-utils': 7.22.5
    -    dev: true
    -
       /@babel/plugin-syntax-jsx@7.23.3(@babel/core@7.23.5):
         resolution: {integrity: sha512-EB2MELswq55OHUoRZLGg/zC7QWUKfNLpE57m/S2yr1uEneIgsTgrSzXP3NXEsMkVn76OlaVVnzN+ugObuYGwhg==}
         engines: {node: '>=6.9.0'}
    @@ -1665,15 +1539,6 @@ packages:
           '@babel/helper-plugin-utils': 7.22.5
         dev: true
     
    -  /@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.22.10):
    -    resolution: {integrity: sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==}
    -    peerDependencies:
    -      '@babel/core': ^7.0.0-0
    -    dependencies:
    -      '@babel/core': 7.22.10
    -      '@babel/helper-plugin-utils': 7.22.5
    -    dev: true
    -
       /@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.23.5):
         resolution: {integrity: sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==}
         peerDependencies:
    @@ -1683,15 +1548,6 @@ packages:
           '@babel/helper-plugin-utils': 7.22.5
         dev: true
     
    -  /@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.22.10):
    -    resolution: {integrity: sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==}
    -    peerDependencies:
    -      '@babel/core': ^7.0.0-0
    -    dependencies:
    -      '@babel/core': 7.22.10
    -      '@babel/helper-plugin-utils': 7.22.5
    -    dev: true
    -
       /@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.23.5):
         resolution: {integrity: sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==}
         peerDependencies:
    @@ -1701,15 +1557,6 @@ packages:
           '@babel/helper-plugin-utils': 7.22.5
         dev: true
     
    -  /@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.22.10):
    -    resolution: {integrity: sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==}
    -    peerDependencies:
    -      '@babel/core': ^7.0.0-0
    -    dependencies:
    -      '@babel/core': 7.22.10
    -      '@babel/helper-plugin-utils': 7.22.5
    -    dev: true
    -
       /@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.23.5):
         resolution: {integrity: sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==}
         peerDependencies:
    @@ -1719,15 +1566,6 @@ packages:
           '@babel/helper-plugin-utils': 7.22.5
         dev: true
     
    -  /@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.22.10):
    -    resolution: {integrity: sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==}
    -    peerDependencies:
    -      '@babel/core': ^7.0.0-0
    -    dependencies:
    -      '@babel/core': 7.22.10
    -      '@babel/helper-plugin-utils': 7.22.5
    -    dev: true
    -
       /@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.23.5):
         resolution: {integrity: sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==}
         peerDependencies:
    @@ -1737,15 +1575,6 @@ packages:
           '@babel/helper-plugin-utils': 7.22.5
         dev: true
     
    -  /@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.22.10):
    -    resolution: {integrity: sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==}
    -    peerDependencies:
    -      '@babel/core': ^7.0.0-0
    -    dependencies:
    -      '@babel/core': 7.22.10
    -      '@babel/helper-plugin-utils': 7.22.5
    -    dev: true
    -
       /@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.23.5):
         resolution: {integrity: sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==}
         peerDependencies:
    @@ -1755,15 +1584,6 @@ packages:
           '@babel/helper-plugin-utils': 7.22.5
         dev: true
     
    -  /@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.22.10):
    -    resolution: {integrity: sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==}
    -    peerDependencies:
    -      '@babel/core': ^7.0.0-0
    -    dependencies:
    -      '@babel/core': 7.22.10
    -      '@babel/helper-plugin-utils': 7.22.5
    -    dev: true
    -
       /@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.23.5):
         resolution: {integrity: sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==}
         peerDependencies:
    @@ -1783,16 +1603,6 @@ packages:
           '@babel/helper-plugin-utils': 7.22.5
         dev: true
     
    -  /@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.22.10):
    -    resolution: {integrity: sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==}
    -    engines: {node: '>=6.9.0'}
    -    peerDependencies:
    -      '@babel/core': ^7.0.0-0
    -    dependencies:
    -      '@babel/core': 7.22.10
    -      '@babel/helper-plugin-utils': 7.22.5
    -    dev: true
    -
       /@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.23.5):
         resolution: {integrity: sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==}
         engines: {node: '>=6.9.0'}
    @@ -1803,16 +1613,6 @@ packages:
           '@babel/helper-plugin-utils': 7.22.5
         dev: true
     
    -  /@babel/plugin-syntax-typescript@7.22.5(@babel/core@7.22.10):
    -    resolution: {integrity: sha512-1mS2o03i7t1c6VzH6fdQ3OA8tcEIxwG18zIPRp+UY1Ihv6W+XZzBCVxExF9upussPXJ0xE9XRHwMoNs1ep/nRQ==}
    -    engines: {node: '>=6.9.0'}
    -    peerDependencies:
    -      '@babel/core': ^7.0.0-0
    -    dependencies:
    -      '@babel/core': 7.22.10
    -      '@babel/helper-plugin-utils': 7.22.5
    -    dev: true
    -
       /@babel/plugin-syntax-typescript@7.23.3(@babel/core@7.23.5):
         resolution: {integrity: sha512-9EiNjVJOMwCO+43TqoTrgQ8jMwcAd0sWyXi9RPfIsLTj4R2MADDDQXELhffaUx/uJv2AYcxBgPwH6j4TIA4ytQ==}
         engines: {node: '>=6.9.0'}
    @@ -2511,37 +2311,10 @@ packages:
         engines: {node: '>=6.9.0'}
         dependencies:
           '@babel/code-frame': 7.23.5
    -      '@babel/parser': 7.23.5
    -      '@babel/types': 7.23.5
    -    dev: true
    -
    -  /@babel/template@7.22.5:
    -    resolution: {integrity: sha512-X7yV7eiwAxdj9k94NEylvbVHLiVG1nvzCV2EAowhxLTwODV1jl9UzZ48leOC0sH7OnuHrIkllaBgneUykIcZaw==}
    -    engines: {node: '>=6.9.0'}
    -    dependencies:
    -      '@babel/code-frame': 7.22.13
    -      '@babel/parser': 7.23.5
    +      '@babel/parser': 7.23.6
           '@babel/types': 7.23.5
         dev: true
     
    -  /@babel/traverse@7.23.2:
    -    resolution: {integrity: sha512-azpe59SQ48qG6nu2CzcMLbxUudtN+dOM9kDbUqGq3HXUJRlo7i8fvPoxQUzYgLZ4cMVmuZgm8vvBpNeRhd6XSw==}
    -    engines: {node: '>=6.9.0'}
    -    dependencies:
    -      '@babel/code-frame': 7.22.13
    -      '@babel/generator': 7.23.0
    -      '@babel/helper-environment-visitor': 7.22.20
    -      '@babel/helper-function-name': 7.23.0
    -      '@babel/helper-hoist-variables': 7.22.5
    -      '@babel/helper-split-export-declaration': 7.22.6
    -      '@babel/parser': 7.23.5
    -      '@babel/types': 7.23.5
    -      debug: 4.3.4(supports-color@8.1.1)
    -      globals: 11.12.0
    -    transitivePeerDependencies:
    -      - supports-color
    -    dev: true
    -
       /@babel/traverse@7.23.5:
         resolution: {integrity: sha512-czx7Xy5a6sapWWRx61m1Ke1Ra4vczu1mCTtJam5zRTBOonfdJ+S/B6HYmGYu3fJtr8GGET3si6IhgWVBhJ/m8w==}
         engines: {node: '>=6.9.0'}
    @@ -2552,7 +2325,7 @@ packages:
           '@babel/helper-function-name': 7.23.0
           '@babel/helper-hoist-variables': 7.22.5
           '@babel/helper-split-export-declaration': 7.22.6
    -      '@babel/parser': 7.23.5
    +      '@babel/parser': 7.23.6
           '@babel/types': 7.23.5
           debug: 4.3.4(supports-color@8.1.1)
           globals: 11.12.0
    @@ -2560,14 +2333,6 @@ packages:
           - supports-color
         dev: true
     
    -  /@babel/types@7.23.0:
    -    resolution: {integrity: sha512-0oIyUfKoI3mSqMvsxBdclDwxXKXAUA8v/apZbc+iSyARYou1o8ZGDxbUYyLFoW2arqS2jDGqJuZvv1d/io1axg==}
    -    engines: {node: '>=6.9.0'}
    -    dependencies:
    -      '@babel/helper-string-parser': 7.22.5
    -      '@babel/helper-validator-identifier': 7.22.20
    -      to-fast-properties: 2.0.0
    -
       /@babel/types@7.23.5:
         resolution: {integrity: sha512-ON5kSOJwVO6xXVRTvOI0eOnWe7VdUcIpsovGo9U/Br4Ie4UVFQTboO2cYnDhAGU6Fp+UxSiT+pMft0SMHfuq6w==}
         engines: {node: '>=6.9.0'}
    @@ -4229,7 +3994,7 @@ packages:
         resolution: {integrity: sha512-ZqCqEISr58Ce3U+buNFJYUktLJZOggfyvR+bZMaiV1e8B1SIvJbwZMrYz3gx/KAPn9EXmOmN+uB08yLCjWkQQg==}
         engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
         dependencies:
    -      '@babel/core': 7.22.10
    +      '@babel/core': 7.23.5
           '@jest/types': 29.6.1
           '@jridgewell/trace-mapping': 0.3.19
           babel-plugin-istanbul: 6.1.1
    @@ -4636,7 +4401,7 @@ packages:
       /@types/babel__core@7.20.1:
         resolution: {integrity: sha512-aACu/U/omhdk15O4Nfb+fHgH/z3QsfQzpnvRZhYhThms83ZnAOZz7zZAWO7mn2yyNQaA4xTO8GLK3uqFU4bYYw==}
         dependencies:
    -      '@babel/parser': 7.23.5
    +      '@babel/parser': 7.23.6
           '@babel/types': 7.23.5
           '@types/babel__generator': 7.6.4
           '@types/babel__template': 7.4.1
    @@ -4652,7 +4417,7 @@ packages:
       /@types/babel__template@7.4.1:
         resolution: {integrity: sha512-azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g==}
         dependencies:
    -      '@babel/parser': 7.23.5
    +      '@babel/parser': 7.23.6
           '@babel/types': 7.23.5
         dev: true
     
    @@ -5586,6 +5351,22 @@ packages:
           eslint-visitor-keys: 3.4.3
         dev: true
     
    +  /@unocss/astro@0.58.0(rollup@2.79.1)(vite@4.4.12):
    +    resolution: {integrity: sha512-df+tEFO5eKXjQOwSWQhS9IdjD0sfLHLtn8U09sEKR2Nmh5CvpwyBxmvLQgOCilPou7ehmyKfsyGRLZg7IMp+Ew==}
    +    peerDependencies:
    +      vite: ^2.9.0 || ^3.0.0-0 || ^4.0.0 || ^5.0.0-0
    +    peerDependenciesMeta:
    +      vite:
    +        optional: true
    +    dependencies:
    +      '@unocss/core': 0.58.0
    +      '@unocss/reset': 0.58.0
    +      '@unocss/vite': 0.58.0(rollup@2.79.1)(vite@4.4.12)
    +      vite: 4.4.12(@types/node@18.17.5)
    +    transitivePeerDependencies:
    +      - rollup
    +    dev: true
    +
       /@unocss/astro@0.58.0(rollup@2.79.1)(vite@4.5.0):
         resolution: {integrity: sha512-df+tEFO5eKXjQOwSWQhS9IdjD0sfLHLtn8U09sEKR2Nmh5CvpwyBxmvLQgOCilPou7ehmyKfsyGRLZg7IMp+Ew==}
         peerDependencies:
    @@ -5780,6 +5561,26 @@ packages:
           '@unocss/core': 0.58.0
         dev: true
     
    +  /@unocss/vite@0.58.0(rollup@2.79.1)(vite@4.4.12):
    +    resolution: {integrity: sha512-OCUOLMSOBEtXOEyBbAvMI3/xdR175BWRzmvV9Wc34ANZclEvCdVH8+WU725ibjY4VT0gVIuX68b13fhXdHV41A==}
    +    peerDependencies:
    +      vite: ^2.9.0 || ^3.0.0-0 || ^4.0.0 || ^5.0.0-0
    +    dependencies:
    +      '@ampproject/remapping': 2.2.1
    +      '@rollup/pluginutils': 5.1.0(rollup@2.79.1)
    +      '@unocss/config': 0.58.0
    +      '@unocss/core': 0.58.0
    +      '@unocss/inspector': 0.58.0
    +      '@unocss/scope': 0.58.0
    +      '@unocss/transformer-directives': 0.58.0
    +      chokidar: 3.5.3
    +      fast-glob: 3.3.2
    +      magic-string: 0.30.5
    +      vite: 4.4.12(@types/node@18.17.5)
    +    transitivePeerDependencies:
    +      - rollup
    +    dev: true
    +
       /@unocss/vite@0.58.0(rollup@2.79.1)(vite@4.5.0):
         resolution: {integrity: sha512-OCUOLMSOBEtXOEyBbAvMI3/xdR175BWRzmvV9Wc34ANZclEvCdVH8+WU725ibjY4VT0gVIuX68b13fhXdHV41A==}
         peerDependencies:
    @@ -5808,6 +5609,17 @@ packages:
           vite-plugin-pwa: 0.17.0(vite@4.5.0)(workbox-build@7.0.0)(workbox-window@7.0.0)
         dev: true
     
    +  /@vitejs/plugin-vue@4.2.1(vite@4.4.12)(vue@3.3.4):
    +    resolution: {integrity: sha512-ZTZjzo7bmxTRTkb8GSTwkPOYDIP7pwuyV+RV53c9PYUouwcbkIZIvWvNWlX2b1dYZqtOv7D6iUAnJLVNGcLrSw==}
    +    engines: {node: ^14.18.0 || >=16.0.0}
    +    peerDependencies:
    +      vite: ^4.0.0
    +      vue: ^3.2.25
    +    dependencies:
    +      vite: 4.4.12(@types/node@18.17.5)
    +      vue: 3.3.4
    +    dev: true
    +
       /@vitejs/plugin-vue@4.2.1(vite@4.5.0)(vue@3.3.4):
         resolution: {integrity: sha512-ZTZjzo7bmxTRTkb8GSTwkPOYDIP7pwuyV+RV53c9PYUouwcbkIZIvWvNWlX2b1dYZqtOv7D6iUAnJLVNGcLrSw==}
         engines: {node: ^14.18.0 || >=16.0.0}
    @@ -5915,21 +5727,21 @@ packages:
           pretty-format: 29.6.2
         dev: true
     
    -  /@vue/compat@3.3.4(vue@3.3.4):
    +  /@vue/compat@3.3.4(vue@3.4.15):
         resolution: {integrity: sha512-VwAsPqUqRJVxeLQPUC03Sa5d+T8UG2Qv4VItq74KmNvtQlRXICpa/sqq12BcyBB4Tz1U5paOEZxWCUoXkrZ9QQ==}
         peerDependencies:
           vue: 3.3.4
         dependencies:
    -      '@babel/parser': 7.23.0
    +      '@babel/parser': 7.23.6
           estree-walker: 2.0.2
           source-map-js: 1.0.2
    -      vue: 3.3.4
    +      vue: 3.4.15(typescript@5.1.6)
         dev: false
     
       /@vue/compiler-core@3.3.4:
         resolution: {integrity: sha512-cquyDNvZ6jTbf/+x+AgM2Arrp6G4Dzbb0R64jiG804HRMfRiFXWI6kqUVqZ6ZR0bQhIoQjB4+2bhNtVwndW15g==}
         dependencies:
    -      '@babel/parser': 7.23.0
    +      '@babel/parser': 7.23.6
           '@vue/shared': 3.3.4
           estree-walker: 2.0.2
           source-map-js: 1.0.2
    @@ -5942,7 +5754,6 @@ packages:
           entities: 4.5.0
           estree-walker: 2.0.2
           source-map-js: 1.0.2
    -    dev: true
     
       /@vue/compiler-dom@3.3.4:
         resolution: {integrity: sha512-wyM+OjOVpuUukIq6p5+nwHYtj9cFroz9cwkfmP9O1nzH68BenTTv0u7/ndggT8cIQlnBeOo6sUT/gvHcIkLA5w==}
    @@ -5955,12 +5766,11 @@ packages:
         dependencies:
           '@vue/compiler-core': 3.4.15
           '@vue/shared': 3.4.15
    -    dev: true
     
       /@vue/compiler-sfc@3.3.4:
         resolution: {integrity: sha512-6y/d8uw+5TkCuzBkgLS0v3lSM3hJDntFEiUORM11pQ/hKvkhSKZrXW6i69UyXlJQisJxuUEJKAWEqWbWsLeNKQ==}
         dependencies:
    -      '@babel/parser': 7.23.0
    +      '@babel/parser': 7.23.6
           '@vue/compiler-core': 3.3.4
           '@vue/compiler-dom': 3.3.4
           '@vue/compiler-ssr': 3.3.4
    @@ -5968,7 +5778,7 @@ packages:
           '@vue/shared': 3.3.4
           estree-walker: 2.0.2
           magic-string: 0.30.5
    -      postcss: 8.4.31
    +      postcss: 8.4.33
           source-map-js: 1.0.2
     
       /@vue/compiler-sfc@3.4.15:
    @@ -5983,7 +5793,6 @@ packages:
           magic-string: 0.30.5
           postcss: 8.4.33
           source-map-js: 1.0.2
    -    dev: true
     
       /@vue/compiler-ssr@3.3.4:
         resolution: {integrity: sha512-m0v6oKpup2nMSehwA6Uuu+j+wEwcy7QmwMkVNVfrV9P2qE5KshC6RwOCq8fjGS/Eak/uNb8AaWekfiXxbBB6gQ==}
    @@ -5996,7 +5805,6 @@ packages:
         dependencies:
           '@vue/compiler-dom': 3.4.15
           '@vue/shared': 3.4.15
    -    dev: true
     
       /@vue/devtools-api@6.5.0:
         resolution: {integrity: sha512-o9KfBeaBmCKl10usN4crU53fYtC1r7jJwdGKjPT24t348rHxgfpZ0xL3Xm/gLUYnc0oTp8LAmrxOeLyu6tbk2Q==}
    @@ -6008,7 +5816,7 @@ packages:
       /@vue/reactivity-transform@3.3.4:
         resolution: {integrity: sha512-MXgwjako4nu5WFLAjpBnCj/ieqcjE2aJBINUNQzkZQfzIZA4xn+0fV1tIYBJvvva3N3OvKGofRLvQIwEQPpaXw==}
         dependencies:
    -      '@babel/parser': 7.23.5
    +      '@babel/parser': 7.23.6
           '@vue/compiler-core': 3.3.4
           '@vue/shared': 3.3.4
           estree-walker: 2.0.2
    @@ -6023,7 +5831,6 @@ packages:
         resolution: {integrity: sha512-55yJh2bsff20K5O84MxSvXKPHHt17I2EomHznvFiJCAZpJTNW8IuLj1xZWMLELRhBK3kkFV/1ErZGHJfah7i7w==}
         dependencies:
           '@vue/shared': 3.4.15
    -    dev: true
     
       /@vue/runtime-core@3.3.4:
         resolution: {integrity: sha512-R+bqxMN6pWO7zGI4OMlmvePOdP2c93GsHFM/siJI7O2nxFRzj55pLwkpCedEY+bTMgp5miZ8CxfIZo3S+gFqvA==}
    @@ -6036,14 +5843,13 @@ packages:
         dependencies:
           '@vue/reactivity': 3.4.15
           '@vue/shared': 3.4.15
    -    dev: true
     
       /@vue/runtime-dom@3.3.4:
         resolution: {integrity: sha512-Aj5bTJ3u5sFsUckRghsNjVTtxZQ1OyMWCr5dZRAPijF/0Vy4xEoRCwLyHXcj4D0UFbJ4lbx3gPTgg06K/GnPnQ==}
         dependencies:
           '@vue/runtime-core': 3.3.4
           '@vue/shared': 3.3.4
    -      csstype: 3.1.2
    +      csstype: 3.1.3
     
       /@vue/runtime-dom@3.4.15:
         resolution: {integrity: sha512-EVW8D6vfFVq3V/yDKNPBFkZKGMFSvZrUQmx196o/v2tHKdwWdiZjYUBS+0Ez3+ohRyF8Njwy/6FH5gYJ75liUw==}
    @@ -6051,7 +5857,6 @@ packages:
           '@vue/runtime-core': 3.4.15
           '@vue/shared': 3.4.15
           csstype: 3.1.3
    -    dev: true
     
       /@vue/server-renderer@3.3.4(vue@3.3.4):
         resolution: {integrity: sha512-Q6jDDzR23ViIb67v+vM1Dqntu+HUexQcsWKhhQa4ARVzxOY2HbC7QRW/ggkDBd5BU+uM1sV6XOAP0b216o34JQ==}
    @@ -6070,14 +5875,12 @@ packages:
           '@vue/compiler-ssr': 3.4.15
           '@vue/shared': 3.4.15
           vue: 3.4.15(typescript@5.0.4)
    -    dev: true
     
       /@vue/shared@3.3.4:
         resolution: {integrity: sha512-7OjdcV8vQ74eiz1TZLzZP4JwqM5fA94K6yntPS5Z25r9HDuGNzaGdgvwKYq6S+MxwF0TFRwe50fIR/MYnakdkQ==}
     
       /@vue/shared@3.4.15:
         resolution: {integrity: sha512-KzfPTxVaWfB+eGcGdbSf4CWdaXcGDqckoeXUh7SB3fZdEtzPCK2Vq9B/lRRL3yutax/LWITz+SwvgyOxz5V75g==}
    -    dev: true
     
       /@vueuse/core@10.1.0(vue@3.3.4):
         resolution: {integrity: sha512-3Znoa5m5RO+z4/C9w6DRaKTR3wCVJvD5rav8HTDGsr+7rOZRHtcgFJ8NcCs0ZvIpmev2kExTa311ns5j2RbzDQ==}
    @@ -6180,7 +5983,7 @@ packages:
       /@vueuse/shared@10.1.0(vue@3.3.4):
         resolution: {integrity: sha512-2X52ogu12i9DkKOQ01yeb/BKg9UO87RNnpm5sXkQvyORlbq8ONS5l39MYkjkeVWWjdT0teJru7a2S41dmHmqjQ==}
         dependencies:
    -      vue-demi: 0.14.5(vue@3.3.4)
    +      vue-demi: 0.14.6(vue@3.3.4)
         transitivePeerDependencies:
           - '@vue/composition-api'
           - vue
    @@ -6409,13 +6212,13 @@ packages:
         resolution: {integrity: sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==}
         dev: true
     
    -  /@zenuml/core@3.0.6(ts-node@10.9.1):
    +  /@zenuml/core@3.0.6(ts-node@10.9.1)(typescript@5.1.6):
         resolution: {integrity: sha512-azEBVrl+ClCPhII92TbzBUFcWhIjlOPdEHVzF6eZXs5Oy4JlrfldS5pAZBHCFL4riOBsjZ5sHHmQLQg9V07T4Q==}
         engines: {node: '>=12.0.0'}
         dependencies:
           '@types/assert': 1.5.6
           '@types/ramda': 0.28.25
    -      '@vue/compat': 3.3.4(vue@3.3.4)
    +      '@vue/compat': 3.3.4(vue@3.4.15)
           antlr4: 4.11.0
           color-string: 1.9.1
           dom-to-image-more: 2.16.0
    @@ -6428,10 +6231,11 @@ packages:
           postcss: 8.4.27
           ramda: 0.28.0
           tailwindcss: 3.3.3(ts-node@10.9.1)
    -      vue: 3.3.4
    -      vuex: 4.1.0(vue@3.3.4)
    +      vue: 3.4.15(typescript@5.1.6)
    +      vuex: 4.1.0(vue@3.4.15)
         transitivePeerDependencies:
           - ts-node
    +      - typescript
         dev: false
     
       /JSONSelect@0.4.0:
    @@ -6858,17 +6662,17 @@ packages:
           - debug
         dev: true
     
    -  /babel-jest@29.6.2(@babel/core@7.22.10):
    +  /babel-jest@29.6.2(@babel/core@7.23.5):
         resolution: {integrity: sha512-BYCzImLos6J3BH/+HvUCHG1dTf2MzmAB4jaVxHV+29RZLjR29XuYTmsf2sdDwkrb+FczkGo3kOhE7ga6sI0P4A==}
         engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
         peerDependencies:
           '@babel/core': ^7.8.0
         dependencies:
    -      '@babel/core': 7.22.10
    +      '@babel/core': 7.23.5
           '@jest/transform': 29.6.2
           '@types/babel__core': 7.20.1
           babel-plugin-istanbul: 6.1.1
    -      babel-preset-jest: 29.5.0(@babel/core@7.22.10)
    +      babel-preset-jest: 29.5.0(@babel/core@7.23.5)
           chalk: 4.1.2
           graceful-fs: 4.2.11
           slash: 3.0.0
    @@ -6948,35 +6752,35 @@ packages:
           - supports-color
         dev: true
     
    -  /babel-preset-current-node-syntax@1.0.1(@babel/core@7.22.10):
    +  /babel-preset-current-node-syntax@1.0.1(@babel/core@7.23.5):
         resolution: {integrity: sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==}
         peerDependencies:
           '@babel/core': ^7.0.0
         dependencies:
    -      '@babel/core': 7.22.10
    -      '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.22.10)
    -      '@babel/plugin-syntax-bigint': 7.8.3(@babel/core@7.22.10)
    -      '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.22.10)
    -      '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.22.10)
    -      '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.22.10)
    -      '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.22.10)
    -      '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.22.10)
    -      '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.22.10)
    -      '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.22.10)
    -      '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.22.10)
    -      '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.22.10)
    -      '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.22.10)
    -    dev: true
    -
    -  /babel-preset-jest@29.5.0(@babel/core@7.22.10):
    +      '@babel/core': 7.23.5
    +      '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.23.5)
    +      '@babel/plugin-syntax-bigint': 7.8.3(@babel/core@7.23.5)
    +      '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.23.5)
    +      '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.23.5)
    +      '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.23.5)
    +      '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.23.5)
    +      '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.23.5)
    +      '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.23.5)
    +      '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.23.5)
    +      '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.23.5)
    +      '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.23.5)
    +      '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.23.5)
    +    dev: true
    +
    +  /babel-preset-jest@29.5.0(@babel/core@7.23.5):
         resolution: {integrity: sha512-JOMloxOqdiBSxMAzjRaH023/vvcaSaec49zvg+2LmNsktC7ei39LTJGw02J+9uUtTZUq6xbLyJ4dxe9sSmIuAg==}
         engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
         peerDependencies:
           '@babel/core': ^7.0.0
         dependencies:
    -      '@babel/core': 7.22.10
    +      '@babel/core': 7.23.5
           babel-plugin-jest-hoist: 29.5.0
    -      babel-preset-current-node-syntax: 1.0.1(@babel/core@7.22.10)
    +      babel-preset-current-node-syntax: 1.0.1(@babel/core@7.23.5)
         dev: true
     
       /bail@2.0.2:
    @@ -8136,12 +7940,8 @@ packages:
           resolve: 1.22.4
         dev: true
     
    -  /csstype@3.1.2:
    -    resolution: {integrity: sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ==}
    -
       /csstype@3.1.3:
         resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==}
    -    dev: true
     
       /cuint@0.2.2:
         resolution: {integrity: sha512-d4ZVpCW31eWwCMe1YT3ur7mUDnTXbgwyzaL320DrcRT45rfjYxkt5QWLrmOJ+/UEAI2+fQgKe/fCjR8l4TpRgw==}
    @@ -9051,7 +8851,6 @@ packages:
       /entities@4.5.0:
         resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==}
         engines: {node: '>=0.12'}
    -    dev: true
     
       /envinfo@7.10.0:
         resolution: {integrity: sha512-ZtUjZO6l5mwTHvc1L9+1q5p/R3wTopcfqMW8r5t8SJSKqeVI/LtajORwRFEKpEFuekjD0VBjwu1HMxL4UalIRw==}
    @@ -11262,7 +11061,7 @@ packages:
         resolution: {integrity: sha512-BXgQl9kf4WTCPCCpmFGoJkz/+uhvm7h7PFKUYxh7qarQd3ER33vHG//qaE8eN25l07YqZPpHXU9I09l/RD5aGQ==}
         engines: {node: '>=8'}
         dependencies:
    -      '@babel/core': 7.22.10
    +      '@babel/core': 7.23.5
           '@istanbuljs/schema': 0.1.3
           istanbul-lib-coverage: 3.2.0
           semver: 6.3.1
    @@ -11274,8 +11073,8 @@ packages:
         resolution: {integrity: sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==}
         engines: {node: '>=8'}
         dependencies:
    -      '@babel/core': 7.22.10
    -      '@babel/parser': 7.23.0
    +      '@babel/core': 7.23.5
    +      '@babel/parser': 7.23.6
           '@istanbuljs/schema': 0.1.3
           istanbul-lib-coverage: 3.2.0
           semver: 6.3.1
    @@ -11429,11 +11228,11 @@ packages:
           ts-node:
             optional: true
         dependencies:
    -      '@babel/core': 7.22.10
    +      '@babel/core': 7.23.5
           '@jest/test-sequencer': 29.6.2
           '@jest/types': 29.6.1
           '@types/node': 18.17.5
    -      babel-jest: 29.6.2(@babel/core@7.22.10)
    +      babel-jest: 29.6.2(@babel/core@7.23.5)
           chalk: 4.1.2
           ci-info: 3.8.0
           deepmerge: 4.3.1
    @@ -11562,7 +11361,7 @@ packages:
         resolution: {integrity: sha512-vnIGYEjoPSuRqV8W9t+Wow95SDp6KPX2Uf7EoeG9G99J2OVh7OSwpS4B6J0NfpEIpfkBNHlBZpA2rblEuEFhZQ==}
         engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
         dependencies:
    -      '@babel/code-frame': 7.22.13
    +      '@babel/code-frame': 7.23.5
           '@jest/types': 29.6.1
           '@types/stack-utils': 2.0.1
           chalk: 4.1.2
    @@ -11687,15 +11486,15 @@ packages:
         resolution: {integrity: sha512-1OdjqvqmRdGNvWXr/YZHuyhh5DeaLp1p/F8Tht/MrMw4Kr1Uu/j4lRG+iKl1DAqUJDWxtQBMk41Lnf/JETYBRA==}
         engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
         dependencies:
    -      '@babel/core': 7.22.10
    -      '@babel/generator': 7.23.0
    -      '@babel/plugin-syntax-jsx': 7.22.5(@babel/core@7.22.10)
    -      '@babel/plugin-syntax-typescript': 7.22.5(@babel/core@7.22.10)
    +      '@babel/core': 7.23.5
    +      '@babel/generator': 7.23.5
    +      '@babel/plugin-syntax-jsx': 7.23.3(@babel/core@7.23.5)
    +      '@babel/plugin-syntax-typescript': 7.23.3(@babel/core@7.23.5)
           '@babel/types': 7.23.5
           '@jest/expect-utils': 29.6.2
           '@jest/transform': 29.6.2
           '@jest/types': 29.6.1
    -      babel-preset-current-node-syntax: 1.0.1(@babel/core@7.22.10)
    +      babel-preset-current-node-syntax: 1.0.1(@babel/core@7.23.5)
           chalk: 4.1.2
           expect: 29.6.2
           graceful-fs: 4.2.11
    @@ -13129,16 +12928,10 @@ packages:
           object-assign: 4.1.1
           thenify-all: 1.6.0
     
    -  /nanoid@3.3.6:
    -    resolution: {integrity: sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==}
    -    engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1}
    -    hasBin: true
    -
       /nanoid@3.3.7:
         resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==}
         engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1}
         hasBin: true
    -    dev: true
     
       /natural-compare-lite@1.4.0:
         resolution: {integrity: sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==}
    @@ -13609,7 +13402,7 @@ packages:
         resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==}
         engines: {node: '>=8'}
         dependencies:
    -      '@babel/code-frame': 7.22.10
    +      '@babel/code-frame': 7.23.5
           error-ex: 1.3.2
           json-parse-even-better-errors: 2.3.1
           lines-and-columns: 1.2.4
    @@ -13864,29 +13657,29 @@ packages:
           trouter: 2.0.1
         dev: true
     
    -  /postcss-import@15.1.0(postcss@8.4.31):
    +  /postcss-import@15.1.0(postcss@8.4.33):
         resolution: {integrity: sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==}
         engines: {node: '>=14.0.0'}
         peerDependencies:
           postcss: ^8.0.0
         dependencies:
    -      postcss: 8.4.31
    +      postcss: 8.4.33
           postcss-value-parser: 4.2.0
           read-cache: 1.0.0
           resolve: 1.22.4
         dev: false
     
    -  /postcss-js@4.0.1(postcss@8.4.31):
    +  /postcss-js@4.0.1(postcss@8.4.33):
         resolution: {integrity: sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==}
         engines: {node: ^12 || ^14 || >= 16}
         peerDependencies:
           postcss: ^8.4.21
         dependencies:
           camelcase-css: 2.0.1
    -      postcss: 8.4.31
    +      postcss: 8.4.33
         dev: false
     
    -  /postcss-load-config@4.0.1(postcss@8.4.31)(ts-node@10.9.1):
    +  /postcss-load-config@4.0.1(postcss@8.4.33)(ts-node@10.9.1):
         resolution: {integrity: sha512-vEJIc8RdiBRu3oRAI0ymerOn+7rPuMvRXslTvZUKZonDHFIczxztIyJ1urxM1x9JXEikvpWWTUUqal5j/8QgvA==}
         engines: {node: '>= 14'}
         peerDependencies:
    @@ -13899,18 +13692,18 @@ packages:
             optional: true
         dependencies:
           lilconfig: 2.1.0
    -      postcss: 8.4.31
    +      postcss: 8.4.33
           ts-node: 10.9.1(@types/node@18.17.5)(typescript@5.1.6)
           yaml: 2.3.1
         dev: false
     
    -  /postcss-nested@6.0.1(postcss@8.4.31):
    +  /postcss-nested@6.0.1(postcss@8.4.33):
         resolution: {integrity: sha512-mEp4xPMi5bSWiMbsgoPfcP74lsWLHkQbZc3sY+jWYd65CUwXrUaTp0fmNpa01ZcETKlIgUdFN/MpS2xZtqL9dQ==}
         engines: {node: '>=12.0'}
         peerDependencies:
           postcss: ^8.2.14
         dependencies:
    -      postcss: 8.4.31
    +      postcss: 8.4.33
           postcss-selector-parser: 6.0.13
         dev: false
     
    @@ -13930,7 +13723,7 @@ packages:
         resolution: {integrity: sha512-gY/ACJtJPSmUFPDCHtX78+01fHa64FaU4zaaWfuh1MhGJISufJAH4cun6k/8fwsHYeK4UQmENQK+tRLCFJE8JQ==}
         engines: {node: ^10 || ^12 || >=14}
         dependencies:
    -      nanoid: 3.3.6
    +      nanoid: 3.3.7
           picocolors: 1.0.0
           source-map-js: 1.0.2
         dev: false
    @@ -13939,9 +13732,10 @@ packages:
         resolution: {integrity: sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==}
         engines: {node: ^10 || ^12 || >=14}
         dependencies:
    -      nanoid: 3.3.6
    +      nanoid: 3.3.7
           picocolors: 1.0.0
           source-map-js: 1.0.2
    +    dev: true
     
       /postcss@8.4.33:
         resolution: {integrity: sha512-Kkpbhhdjw2qQs2O2DGX+8m5OVqEcbB9HRBvuYM9pgrjEFUg30A9LmXNlTAUj4S9kgtGyrMbTzVjH7E+s5Re2yg==}
    @@ -13950,7 +13744,6 @@ packages:
           nanoid: 3.3.7
           picocolors: 1.0.0
           source-map-js: 1.0.2
    -    dev: true
     
       /preact@10.16.0:
         resolution: {integrity: sha512-XTSj3dJ4roKIC93pald6rWuB2qQJO9gO2iLLyTe87MrjQN+HklueLsmskbywEWqCHlclgz3/M4YLL2iBr9UmMA==}
    @@ -15414,11 +15207,11 @@ packages:
           normalize-path: 3.0.0
           object-hash: 3.0.0
           picocolors: 1.0.0
    -      postcss: 8.4.31
    -      postcss-import: 15.1.0(postcss@8.4.31)
    -      postcss-js: 4.0.1(postcss@8.4.31)
    -      postcss-load-config: 4.0.1(postcss@8.4.31)(ts-node@10.9.1)
    -      postcss-nested: 6.0.1(postcss@8.4.31)
    +      postcss: 8.4.33
    +      postcss-import: 15.1.0(postcss@8.4.33)
    +      postcss-js: 4.0.1(postcss@8.4.33)
    +      postcss-load-config: 4.0.1(postcss@8.4.33)(ts-node@10.9.1)
    +      postcss-nested: 6.0.1(postcss@8.4.33)
           postcss-selector-parser: 6.0.13
           resolve: 1.22.4
           sucrase: 3.34.0
    @@ -15927,7 +15720,6 @@ packages:
         resolution: {integrity: sha512-cW9T5W9xY37cc+jfEnaUvX91foxtHkza3Nw3wkoF4sSlKn0MONdkdEndig/qPBWXNkmplh3NzayQzCiHM4/hqw==}
         engines: {node: '>=12.20'}
         hasBin: true
    -    dev: true
     
       /typescript@5.1.6:
         resolution: {integrity: sha512-zaWCozRZ6DLEWAWFrVDz1H6FVXzUSfTy5FUMWsQlU8Ym5JP9eO4xkTIROFCQvhQf61z6O/G6ugw3SgAnvvm+HA==}
    @@ -16069,6 +15861,45 @@ packages:
         engines: {node: '>= 10.0.0'}
         dev: true
     
    +  /unocss@0.58.0(postcss@8.4.33)(rollup@2.79.1)(vite@4.4.12):
    +    resolution: {integrity: sha512-MSPRHxBqWN+1AHGV+J5uUy4//e6ZBK6O+ISzD0qrXcCD/GNtxk1+lYjOK2ltkUiKX539+/KF91vNxzhhwEf+xA==}
    +    engines: {node: '>=14'}
    +    peerDependencies:
    +      '@unocss/webpack': 0.58.0
    +      vite: ^2.9.0 || ^3.0.0-0 || ^4.0.0 || ^5.0.0-0
    +    peerDependenciesMeta:
    +      '@unocss/webpack':
    +        optional: true
    +      vite:
    +        optional: true
    +    dependencies:
    +      '@unocss/astro': 0.58.0(rollup@2.79.1)(vite@4.4.12)
    +      '@unocss/cli': 0.58.0(rollup@2.79.1)
    +      '@unocss/core': 0.58.0
    +      '@unocss/extractor-arbitrary-variants': 0.58.0
    +      '@unocss/postcss': 0.58.0(postcss@8.4.33)
    +      '@unocss/preset-attributify': 0.58.0
    +      '@unocss/preset-icons': 0.58.0
    +      '@unocss/preset-mini': 0.58.0
    +      '@unocss/preset-tagify': 0.58.0
    +      '@unocss/preset-typography': 0.58.0
    +      '@unocss/preset-uno': 0.58.0
    +      '@unocss/preset-web-fonts': 0.58.0
    +      '@unocss/preset-wind': 0.58.0
    +      '@unocss/reset': 0.58.0
    +      '@unocss/transformer-attributify-jsx': 0.58.0
    +      '@unocss/transformer-attributify-jsx-babel': 0.58.0
    +      '@unocss/transformer-compile-class': 0.58.0
    +      '@unocss/transformer-directives': 0.58.0
    +      '@unocss/transformer-variant-group': 0.58.0
    +      '@unocss/vite': 0.58.0(rollup@2.79.1)(vite@4.4.12)
    +      vite: 4.4.12(@types/node@18.17.5)
    +    transitivePeerDependencies:
    +      - postcss
    +      - rollup
    +      - supports-color
    +    dev: true
    +
       /unocss@0.58.0(postcss@8.4.33)(rollup@2.79.1)(vite@4.5.0):
         resolution: {integrity: sha512-MSPRHxBqWN+1AHGV+J5uUy4//e6ZBK6O+ISzD0qrXcCD/GNtxk1+lYjOK2ltkUiKX539+/KF91vNxzhhwEf+xA==}
         engines: {node: '>=14'}
    @@ -16298,6 +16129,24 @@ packages:
           - supports-color
         dev: true
     
    +  /vite-plugin-pwa@0.17.0(vite@4.4.12)(workbox-build@7.0.0)(workbox-window@7.0.0):
    +    resolution: {integrity: sha512-cOyEG8EEc7JHmyMapTnjK2j0g2BIC3ErlmOHyGzVu8hqjyF9Jt6yWMmVNFtpA6v/NNyzP28ARf3vwzIAzR1kaw==}
    +    engines: {node: '>=16.0.0'}
    +    peerDependencies:
    +      vite: ^3.1.0 || ^4.0.0 || ^5.0.0
    +      workbox-build: ^7.0.0
    +      workbox-window: ^7.0.0
    +    dependencies:
    +      debug: 4.3.4(supports-color@8.1.1)
    +      fast-glob: 3.3.2
    +      pretty-bytes: 6.1.1
    +      vite: 4.4.12(@types/node@18.17.5)
    +      workbox-build: 7.0.0
    +      workbox-window: 7.0.0
    +    transitivePeerDependencies:
    +      - supports-color
    +    dev: true
    +
       /vite-plugin-pwa@0.17.0(vite@4.5.0)(workbox-build@7.0.0)(workbox-window@7.0.0):
         resolution: {integrity: sha512-cOyEG8EEc7JHmyMapTnjK2j0g2BIC3ErlmOHyGzVu8hqjyF9Jt6yWMmVNFtpA6v/NNyzP28ARf3vwzIAzR1kaw==}
         engines: {node: '>=16.0.0'}
    @@ -16346,7 +16195,7 @@ packages:
         dependencies:
           '@types/node': 18.17.5
           esbuild: 0.18.20
    -      postcss: 8.4.31
    +      postcss: 8.4.33
           rollup: 3.28.0
         optionalDependencies:
           fsevents: 2.3.3
    @@ -16646,21 +16495,6 @@ packages:
       /vscode-uri@3.0.7:
         resolution: {integrity: sha512-eOpPHogvorZRobNqJGhapa0JdwaxpjVvyBp0QIUMRMSf8ZAlqOdEquKuRmw9Qwu0qXtJIWqFtMkmvJjUZmMjVA==}
     
    -  /vue-demi@0.14.5(vue@3.3.4):
    -    resolution: {integrity: sha512-o9NUVpl/YlsGJ7t+xuqJKx8EBGf1quRhCiT6D/J0pfwmk9zUwYkC7yrF4SZCe6fETvSM3UNL2edcbYrSyc4QHA==}
    -    engines: {node: '>=12'}
    -    hasBin: true
    -    requiresBuild: true
    -    peerDependencies:
    -      '@vue/composition-api': ^1.0.0-rc.1
    -      vue: ^3.0.0-0 || ^2.6.0
    -    peerDependenciesMeta:
    -      '@vue/composition-api':
    -        optional: true
    -    dependencies:
    -      vue: 3.3.4
    -    dev: false
    -
       /vue-demi@0.14.6(vue@3.3.4):
         resolution: {integrity: sha512-8QA7wrYSHKaYgUxDA5ZC24w+eHm3sYCbp0EzcDwKqN3p6HqtTCGR/GVsPyZW92unff4UlcSh++lmqDWN3ZIq4w==}
         engines: {node: '>=12'}
    @@ -16713,7 +16547,6 @@ packages:
           '@vue/server-renderer': 3.4.15(vue@3.4.15)
           '@vue/shared': 3.4.15
           typescript: 5.0.4
    -    dev: true
     
       /vue@3.4.15(typescript@5.1.6):
         resolution: {integrity: sha512-jC0GH4KkWLWJOEQjOpkqU1bQsBwf4R1rsFtw5GQJbjHVKWDzO6P0nWWBTmjp1xSemAioDFj1jdaK1qa3DnMQoQ==}
    @@ -16729,15 +16562,14 @@ packages:
           '@vue/server-renderer': 3.4.15(vue@3.4.15)
           '@vue/shared': 3.4.15
           typescript: 5.1.6
    -    dev: true
     
    -  /vuex@4.1.0(vue@3.3.4):
    +  /vuex@4.1.0(vue@3.4.15):
         resolution: {integrity: sha512-hmV6UerDrPcgbSy9ORAtNXDr9M4wlNP4pEFKye4ujJF8oqgFFuxDCdOLS3eNoRTtq5O3hoBDh9Doj1bQMYHRbQ==}
         peerDependencies:
           vue: ^3.2.0
         dependencies:
           '@vue/devtools-api': 6.5.1
    -      vue: 3.3.4
    +      vue: 3.4.15(typescript@5.1.6)
         dev: false
     
       /w3c-xmlserializer@4.0.0:
    
    From 1f8accd6e00a52e8a85cad3ad8a99c2ba275315a Mon Sep 17 00:00:00 2001
    From: Knut Sveidqvist 
    Date: Tue, 23 Apr 2024 14:09:02 +0200
    Subject: [PATCH 334/789] #5237 WIP, refactoring, adding
    
    ---
     .../src/diagrams/state/stateDiagram-v2.ts     |   4 +-
     .../{dagre.js => dagre/index.js}              |  65 ++-
     .../dagre/mermaid-graphlib.js                 | 474 ++++++++++++++++
     .../dagre/mermaid-graphlib.spec.js            | 508 +++++++++++++++++
     packages/mermaid/src/rendering-util/render.js |   5 +-
     .../rendering-elements/clusters.js            | 261 +++++++++
     .../rendering-elements/createLabel.js         | 100 ++++
     .../rendering-elements/edgeMarker.spec.ts     |  79 +++
     .../rendering-elements/edgeMarker.ts          |  57 ++
     .../rendering-elements/edges.js               | 521 ++++++++++++++++++
     .../rendering-elements/intersect/index.js     |  17 +
     .../intersect/intersect-circle.js             |  12 +
     .../intersect/intersect-ellipse.js            |  30 +
     .../intersect/intersect-line.js               |  78 +++
     .../intersect/intersect-node.js               |  10 +
     .../intersect/intersect-polygon.js            |  70 +++
     .../intersect/intersect-rect.js               |  32 ++
     .../rendering-elements/markers.js             | 293 ++++++++++
     .../rendering-elements/nodes.js               |  83 +++
     .../rendering-elements/shapes/rect.js         | 126 +++++
     .../rendering-elements/shapes/util.js         | 146 +++++
     packages/mermaid/tsconfig.json                |   9 +-
     vite.config.ts                                |   5 +
     23 files changed, 2968 insertions(+), 17 deletions(-)
     rename packages/mermaid/src/rendering-util/layout-algorithms/{dagre.js => dagre/index.js} (80%)
     create mode 100644 packages/mermaid/src/rendering-util/layout-algorithms/dagre/mermaid-graphlib.js
     create mode 100644 packages/mermaid/src/rendering-util/layout-algorithms/dagre/mermaid-graphlib.spec.js
     create mode 100644 packages/mermaid/src/rendering-util/rendering-elements/clusters.js
     create mode 100644 packages/mermaid/src/rendering-util/rendering-elements/createLabel.js
     create mode 100644 packages/mermaid/src/rendering-util/rendering-elements/edgeMarker.spec.ts
     create mode 100644 packages/mermaid/src/rendering-util/rendering-elements/edgeMarker.ts
     create mode 100644 packages/mermaid/src/rendering-util/rendering-elements/edges.js
     create mode 100644 packages/mermaid/src/rendering-util/rendering-elements/intersect/index.js
     create mode 100644 packages/mermaid/src/rendering-util/rendering-elements/intersect/intersect-circle.js
     create mode 100644 packages/mermaid/src/rendering-util/rendering-elements/intersect/intersect-ellipse.js
     create mode 100644 packages/mermaid/src/rendering-util/rendering-elements/intersect/intersect-line.js
     create mode 100644 packages/mermaid/src/rendering-util/rendering-elements/intersect/intersect-node.js
     create mode 100644 packages/mermaid/src/rendering-util/rendering-elements/intersect/intersect-polygon.js
     create mode 100644 packages/mermaid/src/rendering-util/rendering-elements/intersect/intersect-rect.js
     create mode 100644 packages/mermaid/src/rendering-util/rendering-elements/markers.js
     create mode 100644 packages/mermaid/src/rendering-util/rendering-elements/nodes.js
     create mode 100644 packages/mermaid/src/rendering-util/rendering-elements/shapes/rect.js
     create mode 100644 packages/mermaid/src/rendering-util/rendering-elements/shapes/util.js
    
    diff --git a/packages/mermaid/src/diagrams/state/stateDiagram-v2.ts b/packages/mermaid/src/diagrams/state/stateDiagram-v2.ts
    index e71a9c7f50..9d0a82a871 100644
    --- a/packages/mermaid/src/diagrams/state/stateDiagram-v2.ts
    +++ b/packages/mermaid/src/diagrams/state/stateDiagram-v2.ts
    @@ -3,8 +3,8 @@ import type { DiagramDefinition } from '../../diagram-api/types.js';
     import parser from './parser/stateDiagram.jison';
     import db from './stateDb.js';
     import styles from './styles.js';
    -import renderer from './stateRenderer-v2.js';
    -// import renderer from './stateRenderer-v3-unified.js';
    +// import renderer from './stateRenderer-v2.js';
    +import renderer from './stateRenderer-v3-unified.js';
     
     export const diagram: DiagramDefinition = {
       parser,
    diff --git a/packages/mermaid/src/rendering-util/layout-algorithms/dagre.js b/packages/mermaid/src/rendering-util/layout-algorithms/dagre/index.js
    similarity index 80%
    rename from packages/mermaid/src/rendering-util/layout-algorithms/dagre.js
    rename to packages/mermaid/src/rendering-util/layout-algorithms/dagre/index.js
    index 76685dd7b9..f6760f96f7 100644
    --- a/packages/mermaid/src/rendering-util/layout-algorithms/dagre.js
    +++ b/packages/mermaid/src/rendering-util/layout-algorithms/dagre/index.js
    @@ -1,7 +1,8 @@
     import { layout as dagreLayout } from 'dagre-d3-es/src/dagre/index.js';
     import * as graphlibJson from 'dagre-d3-es/src/graphlib/json.js';
    -import insertMarkers from './markers.js';
    -import { updateNodeBounds } from './shapes/util.js';
    +import * as graphlib from 'dagre-d3-es/src/graphlib/index.js';
    +import insertMarkers from '../../rendering-elements/markers.js';
    +import { updateNodeBounds } from '../../rendering-elements/shapes/util.js';
     import {
       clear as clearGraphlib,
       clusterDb,
    @@ -9,12 +10,22 @@ import {
       findNonClusterChild,
       sortNodesByHierarchy,
     } from './mermaid-graphlib.js';
    -import { insertNode, positionNode, clear as clearNodes, setNodeElem } from './nodes.js';
    -import { insertCluster, clear as clearClusters } from './clusters.js';
    -import { insertEdgeLabel, positionEdgeLabel, insertEdge, clear as clearEdges } from './edges.js';
    -import { log } from '../logger.js';
    -import { getSubGraphTitleMargins } from '../utils/subGraphTitleMargins.js';
    -import { getConfig } from '../diagram-api/diagramAPI.js';
    +import {
    +  insertNode,
    +  positionNode,
    +  clear as clearNodes,
    +  setNodeElem,
    +} from '../../rendering-elements/nodes.js';
    +import { insertCluster, clear as clearClusters } from '../../rendering-elements/clusters.js';
    +import {
    +  insertEdgeLabel,
    +  positionEdgeLabel,
    +  insertEdge,
    +  clear as clearEdges,
    +} from '../../rendering-elements/edges.js';
    +import { log } from '$root/logger.js';
    +import { getSubGraphTitleMargins } from '../../../utils/subGraphTitleMargins.js';
    +import { getConfig } from '../../../diagram-api/diagramAPI.js';
     
     const recursiveRender = async (_elem, graph, diagramtype, id, parentCluster, siteConfig) => {
       log.info('Graph in recursive render: XXX', graphlibJson.write(graph), parentCluster);
    @@ -161,19 +172,49 @@ const recursiveRender = async (_elem, graph, diagramtype, id, parentCluster, sit
       return { elem, diff };
     };
     
    -export const render = async (elem, graph, markers, diagramtype, id) => {
    -  insertMarkers(elem, markers, diagramtype, id);
    +export const render = async (data4Layout, svg, element) => {
    +  console.warn('HERERERERERER');
    +  // Create the input mermaid.graph
    +  const graph = new graphlib.Graph({
    +    multigraph: true,
    +    compound: true,
    +  })
    +    .setGraph({
    +      rankdir: data4Layout.direction,
    +      nodesep: data4Layout.nodeSpacing,
    +      ranksep: data4Layout.rankSpacing,
    +      marginx: 8,
    +      marginy: 8,
    +    })
    +    .setDefaultEdgeLabel(function () {
    +      return {};
    +    });
    +
    +  // Org
    +
    +  insertMarkers(element, data4Layout.markers, data4Layout.type, data4Layout.diagramId);
       clearNodes();
       clearEdges();
       clearClusters();
       clearGraphlib();
     
    +  // Add the nodes and edges to the graph
    +  data4Layout.nodes.forEach((node) => {
    +    graph.setNode(node.id, { ...node });
    +  });
    +
       log.warn('Graph at first:', JSON.stringify(graphlibJson.write(graph)));
       adjustClustersAndEdges(graph);
       log.warn('Graph after:', JSON.stringify(graphlibJson.write(graph)));
    -  // log.warn('Graph ever  after:', graphlibJson.write(graph.node('A').graph));
       const siteConfig = getConfig();
    -  await recursiveRender(elem, graph, diagramtype, id, undefined, siteConfig);
    +  await recursiveRender(
    +    element,
    +    graph,
    +    data4Layout.type,
    +    data4Layout.diagramId,
    +    undefined,
    +    siteConfig
    +  );
     };
     
     // const shapeDefinitions = {};
    diff --git a/packages/mermaid/src/rendering-util/layout-algorithms/dagre/mermaid-graphlib.js b/packages/mermaid/src/rendering-util/layout-algorithms/dagre/mermaid-graphlib.js
    new file mode 100644
    index 0000000000..ee2df03c80
    --- /dev/null
    +++ b/packages/mermaid/src/rendering-util/layout-algorithms/dagre/mermaid-graphlib.js
    @@ -0,0 +1,474 @@
    +/** Decorates with functions required by mermaids dagre-wrapper. */
    +import { log } from '$root/logger.js';
    +import * as graphlibJson from 'dagre-d3-es/src/graphlib/json.js';
    +import * as graphlib from 'dagre-d3-es/src/graphlib/index.js';
    +
    +export let clusterDb = {};
    +let descendants = {};
    +let parents = {};
    +
    +export const clear = () => {
    +  descendants = {};
    +  parents = {};
    +  clusterDb = {};
    +};
    +
    +const isDescendant = (id, ancenstorId) => {
    +  // if (id === ancenstorId) return true;
    +
    +  log.trace('In isDecendant', ancenstorId, ' ', id, ' = ', descendants[ancenstorId].includes(id));
    +  if (descendants[ancenstorId].includes(id)) {
    +    return true;
    +  }
    +
    +  return false;
    +};
    +
    +const edgeInCluster = (edge, clusterId) => {
    +  log.info('Decendants of ', clusterId, ' is ', descendants[clusterId]);
    +  log.info('Edge is ', edge);
    +  // Edges to/from the cluster is not in the cluster, they are in the parent
    +  if (edge.v === clusterId) {
    +    return false;
    +  }
    +  if (edge.w === clusterId) {
    +    return false;
    +  }
    +
    +  if (!descendants[clusterId]) {
    +    log.debug('Tilt, ', clusterId, ',not in decendants');
    +    return false;
    +  }
    +  return (
    +    descendants[clusterId].includes(edge.v) ||
    +    isDescendant(edge.v, clusterId) ||
    +    isDescendant(edge.w, clusterId) ||
    +    descendants[clusterId].includes(edge.w)
    +  );
    +};
    +
    +const copy = (clusterId, graph, newGraph, rootId) => {
    +  log.warn(
    +    'Copying children of ',
    +    clusterId,
    +    'root',
    +    rootId,
    +    'data',
    +    graph.node(clusterId),
    +    rootId
    +  );
    +  const nodes = graph.children(clusterId) || [];
    +
    +  // Include cluster node if it is not the root
    +  if (clusterId !== rootId) {
    +    nodes.push(clusterId);
    +  }
    +
    +  log.warn('Copying (nodes) clusterId', clusterId, 'nodes', nodes);
    +
    +  nodes.forEach((node) => {
    +    if (graph.children(node).length > 0) {
    +      copy(node, graph, newGraph, rootId);
    +    } else {
    +      const data = graph.node(node);
    +      log.info('cp ', node, ' to ', rootId, ' with parent ', clusterId); //,node, data, ' parent is ', clusterId);
    +      newGraph.setNode(node, data);
    +      if (rootId !== graph.parent(node)) {
    +        log.warn('Setting parent', node, graph.parent(node));
    +        newGraph.setParent(node, graph.parent(node));
    +      }
    +
    +      if (clusterId !== rootId && node !== clusterId) {
    +        log.debug('Setting parent', node, clusterId);
    +        newGraph.setParent(node, clusterId);
    +      } else {
    +        log.info('In copy ', clusterId, 'root', rootId, 'data', graph.node(clusterId), rootId);
    +        log.debug(
    +          'Not Setting parent for node=',
    +          node,
    +          'cluster!==rootId',
    +          clusterId !== rootId,
    +          'node!==clusterId',
    +          node !== clusterId
    +        );
    +      }
    +      const edges = graph.edges(node);
    +      log.debug('Copying Edges', edges);
    +      edges.forEach((edge) => {
    +        log.info('Edge', edge);
    +        const data = graph.edge(edge.v, edge.w, edge.name);
    +        log.info('Edge data', data, rootId);
    +        try {
    +          // Do not copy edges in and out of the root cluster, they belong to the parent graph
    +          if (edgeInCluster(edge, rootId)) {
    +            log.info('Copying as ', edge.v, edge.w, data, edge.name);
    +            newGraph.setEdge(edge.v, edge.w, data, edge.name);
    +            log.info('newGraph edges ', newGraph.edges(), newGraph.edge(newGraph.edges()[0]));
    +          } else {
    +            log.info(
    +              'Skipping copy of edge ',
    +              edge.v,
    +              '-->',
    +              edge.w,
    +              ' rootId: ',
    +              rootId,
    +              ' clusterId:',
    +              clusterId
    +            );
    +          }
    +        } catch (e) {
    +          log.error(e);
    +        }
    +      });
    +    }
    +    log.debug('Removing node', node);
    +    graph.removeNode(node);
    +  });
    +};
    +export const extractDescendants = (id, graph) => {
    +  // log.debug('Extracting ', id);
    +  const children = graph.children(id);
    +  let res = [...children];
    +
    +  for (const child of children) {
    +    parents[child] = id;
    +    res = [...res, ...extractDescendants(child, graph)];
    +  }
    +
    +  return res;
    +};
    +
    +/**
    + * Validates the graph, checking that all parent child relation points to existing nodes and that
    + * edges between nodes also ia correct. When not correct the function logs the discrepancies.
    + *
    + * @param graph
    + */
    +export const validate = (graph) => {
    +  const edges = graph.edges();
    +  log.trace('Edges: ', edges);
    +  for (const edge of edges) {
    +    if (graph.children(edge.v).length > 0) {
    +      log.trace('The node ', edge.v, ' is part of and edge even though it has children');
    +      return false;
    +    }
    +    if (graph.children(edge.w).length > 0) {
    +      log.trace('The node ', edge.w, ' is part of and edge even though it has children');
    +      return false;
    +    }
    +  }
    +  return true;
    +};
    +
    +/**
    + * Finds a child that is not a cluster. When faking an edge between a node and a cluster.
    + *
    + * @param id
    + * @param {any} graph
    + */
    +export const findNonClusterChild = (id, graph) => {
    +  // const node = graph.node(id);
    +  log.trace('Searching', id);
    +  // const children = graph.children(id).reverse();
    +  const children = graph.children(id); //.reverse();
    +  log.trace('Searching children of id ', id, children);
    +  if (children.length < 1) {
    +    log.trace('This is a valid node', id);
    +    return id;
    +  }
    +  for (const child of children) {
    +    const _id = findNonClusterChild(child, graph);
    +    if (_id) {
    +      log.trace('Found replacement for', id, ' => ', _id);
    +      return _id;
    +    }
    +  }
    +};
    +
    +const getAnchorId = (id) => {
    +  if (!clusterDb[id]) {
    +    return id;
    +  }
    +  // If the cluster has no external connections
    +  if (!clusterDb[id].externalConnections) {
    +    return id;
    +  }
    +
    +  // Return the replacement node
    +  if (clusterDb[id]) {
    +    return clusterDb[id].id;
    +  }
    +  return id;
    +};
    +
    +export const adjustClustersAndEdges = (graph, depth) => {
    +  if (!graph || depth > 10) {
    +    log.debug('Opting out, no graph ');
    +    return;
    +  } else {
    +    log.debug('Opting in, graph ');
    +  }
    +  // Go through the nodes and for each cluster found, save a replacement node, this can be used when
    +  // faking a link to a cluster
    +  graph.nodes().forEach(function (id) {
    +    const children = graph.children(id);
    +    if (children.length > 0) {
    +      log.warn(
    +        'Cluster identified',
    +        id,
    +        ' Replacement id in edges: ',
    +        findNonClusterChild(id, graph)
    +      );
    +      descendants[id] = extractDescendants(id, graph);
    +      clusterDb[id] = { id: findNonClusterChild(id, graph), clusterData: graph.node(id) };
    +    }
    +  });
    +
    +  // Check incoming and outgoing edges for each cluster
    +  graph.nodes().forEach(function (id) {
    +    const children = graph.children(id);
    +    const edges = graph.edges();
    +    if (children.length > 0) {
    +      log.debug('Cluster identified', id, descendants);
    +      edges.forEach((edge) => {
    +        // log.debug('Edge, descendants: ', edge, descendants[id]);
    +
    +        // Check if any edge leaves the cluster (not the actual cluster, that's a link from the box)
    +        if (edge.v !== id && edge.w !== id) {
    +          // Any edge where either the one of the nodes is descending to the cluster but not the other
    +          // if (descendants[id].indexOf(edge.v) < 0 && descendants[id].indexOf(edge.w) < 0) {
    +
    +          const d1 = isDescendant(edge.v, id);
    +          const d2 = isDescendant(edge.w, id);
    +
    +          // d1 xor d2 - if either d1 is true and d2 is false or the other way around
    +          if (d1 ^ d2) {
    +            log.warn('Edge: ', edge, ' leaves cluster ', id);
    +            log.warn('Decendants of XXX ', id, ': ', descendants[id]);
    +            clusterDb[id].externalConnections = true;
    +          }
    +        }
    +      });
    +    } else {
    +      log.debug('Not a cluster ', id, descendants);
    +    }
    +  });
    +
    +  for (let id of Object.keys(clusterDb)) {
    +    const nonClusterChild = clusterDb[id].id;
    +    const parent = graph.parent(nonClusterChild);
    +
    +    // Change replacement node of id to parent of current replacement node if valid
    +    if (parent !== id && clusterDb[parent] && !clusterDb[parent].externalConnections) {
    +      clusterDb[id].id = parent;
    +    }
    +  }
    +
    +  // For clusters with incoming and/or outgoing edges translate those edges to a real node
    +  // in the cluster in order to fake the edge
    +  graph.edges().forEach(function (e) {
    +    const edge = graph.edge(e);
    +    log.warn('Edge ' + e.v + ' -> ' + e.w + ': ' + JSON.stringify(e));
    +    log.warn('Edge ' + e.v + ' -> ' + e.w + ': ' + JSON.stringify(graph.edge(e)));
    +
    +    let v = e.v;
    +    let w = e.w;
    +    // Check if link is either from or to a cluster
    +    log.warn(
    +      'Fix XXX',
    +      clusterDb,
    +      'ids:',
    +      e.v,
    +      e.w,
    +      'Translating: ',
    +      clusterDb[e.v],
    +      ' --- ',
    +      clusterDb[e.w]
    +    );
    +    if (clusterDb[e.v] && clusterDb[e.w] && clusterDb[e.v] === clusterDb[e.w]) {
    +      log.warn('Fixing and trixing link to self - removing XXX', e.v, e.w, e.name);
    +      log.warn('Fixing and trixing - removing XXX', e.v, e.w, e.name);
    +      v = getAnchorId(e.v);
    +      w = getAnchorId(e.w);
    +      graph.removeEdge(e.v, e.w, e.name);
    +      const specialId = e.w + '---' + e.v;
    +      graph.setNode(specialId, {
    +        domId: specialId,
    +        id: specialId,
    +        labelStyle: '',
    +        labelText: edge.label,
    +        padding: 0,
    +        shape: 'labelRect',
    +        style: '',
    +      });
    +      const edge1 = structuredClone(edge);
    +      const edge2 = structuredClone(edge);
    +      edge1.label = '';
    +      edge1.arrowTypeEnd = 'none';
    +      edge2.label = '';
    +      edge1.fromCluster = e.v;
    +      edge2.toCluster = e.v;
    +
    +      graph.setEdge(v, specialId, edge1, e.name + '-cyclic-special');
    +      graph.setEdge(specialId, w, edge2, e.name + '-cyclic-special');
    +    } else if (clusterDb[e.v] || clusterDb[e.w]) {
    +      log.warn('Fixing and trixing - removing XXX', e.v, e.w, e.name);
    +      v = getAnchorId(e.v);
    +      w = getAnchorId(e.w);
    +      graph.removeEdge(e.v, e.w, e.name);
    +      if (v !== e.v) {
    +        const parent = graph.parent(v);
    +        clusterDb[parent].externalConnections = true;
    +        edge.fromCluster = e.v;
    +      }
    +      if (w !== e.w) {
    +        const parent = graph.parent(w);
    +        clusterDb[parent].externalConnections = true;
    +        edge.toCluster = e.w;
    +      }
    +      log.warn('Fix Replacing with XXX', v, w, e.name);
    +      graph.setEdge(v, w, edge, e.name);
    +    }
    +  });
    +  log.warn('Adjusted Graph', graphlibJson.write(graph));
    +  extractor(graph, 0);
    +
    +  log.trace(clusterDb);
    +
    +  // Remove references to extracted cluster
    +  // graph.edges().forEach(edge => {
    +  //   if (isDecendant(edge.v, clusterId) || isDecendant(edge.w, clusterId)) {
    +  //     graph.removeEdge(edge);
    +  //   }
    +  // });
    +};
    +
    +export const extractor = (graph, depth) => {
    +  log.warn('extractor - ', depth, graphlibJson.write(graph), graph.children('D'));
    +  if (depth > 10) {
    +    log.error('Bailing out');
    +    return;
    +  }
    +  // For clusters without incoming and/or outgoing edges, create a new cluster-node
    +  // containing the nodes and edges in the custer in a new graph
    +  // for (let i = 0;)
    +  let nodes = graph.nodes();
    +  let hasChildren = false;
    +  for (const node of nodes) {
    +    const children = graph.children(node);
    +    hasChildren = hasChildren || children.length > 0;
    +  }
    +
    +  if (!hasChildren) {
    +    log.debug('Done, no node has children', graph.nodes());
    +    return;
    +  }
    +  // const clusters = Object.keys(clusterDb);
    +  // clusters.forEach(clusterId => {
    +  log.debug('Nodes = ', nodes, depth);
    +  for (const node of nodes) {
    +    log.debug(
    +      'Extracting node',
    +      node,
    +      clusterDb,
    +      clusterDb[node] && !clusterDb[node].externalConnections,
    +      !graph.parent(node),
    +      graph.node(node),
    +      graph.children('D'),
    +      ' Depth ',
    +      depth
    +    );
    +    // Note that the node might have been removed after the Object.keys call so better check
    +    // that it still is in the game
    +    if (!clusterDb[node]) {
    +      // Skip if the node is not a cluster
    +      log.debug('Not a cluster', node, depth);
    +      // break;
    +    } else if (
    +      !clusterDb[node].externalConnections &&
    +      // !graph.parent(node) &&
    +      graph.children(node) &&
    +      graph.children(node).length > 0
    +    ) {
    +      log.warn(
    +        'Cluster without external connections, without a parent and with children',
    +        node,
    +        depth
    +      );
    +
    +      const graphSettings = graph.graph();
    +      let dir = graphSettings.rankdir === 'TB' ? 'LR' : 'TB';
    +      if (clusterDb[node] && clusterDb[node].clusterData && clusterDb[node].clusterData.dir) {
    +        dir = clusterDb[node].clusterData.dir;
    +        log.warn('Fixing dir', clusterDb[node].clusterData.dir, dir);
    +      }
    +
    +      const clusterGraph = new graphlib.Graph({
    +        multigraph: true,
    +        compound: true,
    +      })
    +        .setGraph({
    +          rankdir: dir, // Todo: set proper spacing
    +          nodesep: 50,
    +          ranksep: 50,
    +          marginx: 8,
    +          marginy: 8,
    +        })
    +        .setDefaultEdgeLabel(function () {
    +          return {};
    +        });
    +
    +      log.warn('Old graph before copy', graphlibJson.write(graph));
    +      copy(node, graph, clusterGraph, node);
    +      graph.setNode(node, {
    +        clusterNode: true,
    +        id: node,
    +        clusterData: clusterDb[node].clusterData,
    +        labelText: clusterDb[node].labelText,
    +        graph: clusterGraph,
    +      });
    +      log.warn('New graph after copy node: (', node, ')', graphlibJson.write(clusterGraph));
    +      log.debug('Old graph after copy', graphlibJson.write(graph));
    +    } else {
    +      log.warn(
    +        'Cluster ** ',
    +        node,
    +        ' **not meeting the criteria !externalConnections:',
    +        !clusterDb[node].externalConnections,
    +        ' no parent: ',
    +        !graph.parent(node),
    +        ' children ',
    +        graph.children(node) && graph.children(node).length > 0,
    +        graph.children('D'),
    +        depth
    +      );
    +      log.debug(clusterDb);
    +    }
    +  }
    +
    +  nodes = graph.nodes();
    +  log.warn('New list of nodes', nodes);
    +  for (const node of nodes) {
    +    const data = graph.node(node);
    +    log.warn(' Now next level', node, data);
    +    if (data.clusterNode) {
    +      extractor(data.graph, depth + 1);
    +    }
    +  }
    +};
    +
    +const sorter = (graph, nodes) => {
    +  if (nodes.length === 0) {
    +    return [];
    +  }
    +  let result = Object.assign(nodes);
    +  nodes.forEach((node) => {
    +    const children = graph.children(node);
    +    const sorted = sorter(graph, children);
    +    result = [...result, ...sorted];
    +  });
    +
    +  return result;
    +};
    +
    +export const sortNodesByHierarchy = (graph) => sorter(graph, graph.children());
    diff --git a/packages/mermaid/src/rendering-util/layout-algorithms/dagre/mermaid-graphlib.spec.js b/packages/mermaid/src/rendering-util/layout-algorithms/dagre/mermaid-graphlib.spec.js
    new file mode 100644
    index 0000000000..d44e543911
    --- /dev/null
    +++ b/packages/mermaid/src/rendering-util/layout-algorithms/dagre/mermaid-graphlib.spec.js
    @@ -0,0 +1,508 @@
    +import * as graphlibJson from 'dagre-d3-es/src/graphlib/json.js';
    +import * as graphlib from 'dagre-d3-es/src/graphlib/index.js';
    +import {
    +  validate,
    +  adjustClustersAndEdges,
    +  extractDescendants,
    +  sortNodesByHierarchy,
    +} from './mermaid-graphlib.js';
    +import { setLogLevel, log } from '../logger.js';
    +
    +describe('Graphlib decorations', () => {
    +  let g;
    +  beforeEach(function () {
    +    setLogLevel(1);
    +    g = new graphlib.Graph({
    +      multigraph: true,
    +      compound: true,
    +    });
    +    g.setGraph({
    +      rankdir: 'TB',
    +      nodesep: 10,
    +      ranksep: 10,
    +      marginx: 8,
    +      marginy: 8,
    +    });
    +    g.setDefaultEdgeLabel(function () {
    +      return {};
    +    });
    +  });
    +
    +  describe('validate', function () {
    +    it('Validate should detect edges between clusters', function () {
    +      /*
    +        subgraph C1
    +          a --> b
    +        end
    +        subgraph C2
    +          c
    +        end
    +        C1 --> C2
    +      */
    +      g.setNode('a', { data: 1 });
    +      g.setNode('b', { data: 2 });
    +      g.setNode('c', { data: 3 });
    +      g.setParent('a', 'C1');
    +      g.setParent('b', 'C1');
    +      g.setParent('c', 'C2');
    +      g.setEdge('a', 'b');
    +      g.setEdge('C1', 'C2');
    +
    +      expect(validate(g)).toBe(false);
    +    });
    +    it('Validate should not detect edges between clusters after adjustment', function () {
    +      /*
    +        subgraph C1
    +          a --> b
    +        end
    +        subgraph C2
    +          c
    +        end
    +        C1 --> C2
    +      */
    +      g.setNode('a', {});
    +      g.setNode('b', {});
    +      g.setNode('c', {});
    +      g.setParent('a', 'C1');
    +      g.setParent('b', 'C1');
    +      g.setParent('c', 'C2');
    +      g.setEdge('a', 'b');
    +      g.setEdge('C1', 'C2');
    +
    +      adjustClustersAndEdges(g);
    +      log.info(g.edges());
    +      expect(validate(g)).toBe(true);
    +    });
    +
    +    it('Validate should detect edges between clusters and transform clusters GLB4', function () {
    +      /*
    +        a --> b
    +        subgraph C1
    +          subgraph C2
    +            a
    +          end
    +          b
    +        end
    +        C1 --> c
    +      */
    +      g.setNode('a', { data: 1 });
    +      g.setNode('b', { data: 2 });
    +      g.setNode('c', { data: 3 });
    +      g.setNode('C1', { data: 4 });
    +      g.setNode('C2', { data: 5 });
    +      g.setParent('a', 'C2');
    +      g.setParent('b', 'C1');
    +      g.setParent('C2', 'C1');
    +      g.setEdge('a', 'b', { name: 'C1-internal-link' });
    +      g.setEdge('C1', 'c', { name: 'C1-external-link' });
    +
    +      adjustClustersAndEdges(g);
    +      log.info(g.nodes());
    +      expect(g.nodes().length).toBe(2);
    +      expect(validate(g)).toBe(true);
    +    });
    +    it('Validate should detect edges between clusters and transform clusters GLB5', function () {
    +      /*
    +        a --> b
    +        subgraph C1
    +          a
    +        end
    +        subgraph C2
    +          b
    +        end
    +        C1 -->
    +      */
    +      g.setNode('a', { data: 1 });
    +      g.setNode('b', { data: 2 });
    +      g.setParent('a', 'C1');
    +      g.setParent('b', 'C2');
    +      // g.setEdge('a', 'b', { name: 'C1-internal-link' });
    +      g.setEdge('C1', 'C2', { name: 'C1-external-link' });
    +
    +      log.info(g.nodes());
    +      adjustClustersAndEdges(g);
    +      log.info(g.nodes());
    +      expect(g.nodes().length).toBe(2);
    +      expect(validate(g)).toBe(true);
    +    });
    +    it('adjustClustersAndEdges GLB6', function () {
    +      /*
    +      subgraph C1
    +        a
    +      end
    +      C1 --> b
    +    */
    +      g.setNode('a', { data: 1 });
    +      g.setNode('b', { data: 2 });
    +      g.setNode('C1', { data: 3 });
    +      g.setParent('a', 'C1');
    +      g.setEdge('C1', 'b', { data: 'link1' }, '1');
    +
    +      // log.info(g.edges())
    +      adjustClustersAndEdges(g);
    +      log.info(g.edges());
    +      expect(g.nodes()).toEqual(['b', 'C1']);
    +      expect(g.edges().length).toBe(1);
    +      expect(validate(g)).toBe(true);
    +      expect(g.node('C1').clusterNode).toBe(true);
    +
    +      const C1Graph = g.node('C1').graph;
    +      expect(C1Graph.nodes()).toEqual(['a']);
    +    });
    +    it('adjustClustersAndEdges GLB7', function () {
    +      /*
    +      subgraph C1
    +        a
    +      end
    +      C1 --> b
    +      C1 --> c
    +    */
    +      g.setNode('a', { data: 1 });
    +      g.setNode('b', { data: 2 });
    +      g.setNode('c', { data: 3 });
    +      g.setParent('a', 'C1');
    +      g.setNode('C1', { data: 4 });
    +      g.setEdge('C1', 'b', { data: 'link1' }, '1');
    +      g.setEdge('C1', 'c', { data: 'link2' }, '2');
    +
    +      log.info(g.node('C1'));
    +      adjustClustersAndEdges(g);
    +      log.info(g.edges());
    +      expect(g.nodes()).toEqual(['b', 'c', 'C1']);
    +      expect(g.nodes().length).toBe(3);
    +      expect(g.edges().length).toBe(2);
    +
    +      expect(g.edges().length).toBe(2);
    +      const edgeData = g.edge(g.edges()[1]);
    +      expect(edgeData.data).toBe('link2');
    +      expect(validate(g)).toBe(true);
    +
    +      const C1Graph = g.node('C1').graph;
    +      expect(C1Graph.nodes()).toEqual(['a']);
    +    });
    +    it('adjustClustersAndEdges GLB8', function () {
    +      /*
    +    subgraph A
    +      a
    +    end
    +    subgraph B
    +      b
    +    end
    +    subgraph C
    +      c
    +    end
    +    A --> B
    +    A --> C
    +    */
    +      g.setNode('a', { data: 1 });
    +      g.setNode('b', { data: 2 });
    +      g.setNode('c', { data: 3 });
    +      g.setParent('a', 'A');
    +      g.setParent('b', 'B');
    +      g.setParent('c', 'C');
    +      g.setEdge('A', 'B', { data: 'link1' }, '1');
    +      g.setEdge('A', 'C', { data: 'link2' }, '2');
    +
    +      // log.info(g.edges())
    +      adjustClustersAndEdges(g);
    +      expect(g.nodes()).toEqual(['A', 'B', 'C']);
    +      expect(g.edges().length).toBe(2);
    +
    +      expect(g.edges().length).toBe(2);
    +      const edgeData = g.edge(g.edges()[1]);
    +      expect(edgeData.data).toBe('link2');
    +      expect(validate(g)).toBe(true);
    +
    +      const CGraph = g.node('C').graph;
    +      expect(CGraph.nodes()).toEqual(['c']);
    +    });
    +
    +    it('adjustClustersAndEdges the extracted graphs shall contain the correct data GLB10', function () {
    +      /*
    +    subgraph C
    +      subgraph D
    +        d
    +      end
    +    end
    +    */
    +
    +      g.setNode('C', { data: 1 });
    +      g.setNode('D', { data: 2 });
    +      g.setNode('d', { data: 3 });
    +      g.setParent('d', 'D');
    +      g.setParent('D', 'C');
    +
    +      // log.info('Graph before', g.node('D'))
    +      // log.info('Graph before', graphlibJson.write(g))
    +      adjustClustersAndEdges(g);
    +      // log.info('Graph after', graphlibJson.write(g), g.node('C').graph)
    +
    +      const CGraph = g.node('C').graph;
    +      const DGraph = CGraph.node('D').graph;
    +
    +      expect(CGraph.nodes()).toEqual(['D']);
    +      expect(DGraph.nodes()).toEqual(['d']);
    +
    +      expect(g.nodes()).toEqual(['C']);
    +      expect(g.nodes().length).toBe(1);
    +    });
    +
    +    it('adjustClustersAndEdges the extracted graphs shall contain the correct data GLB11', function () {
    +      /*
    +    subgraph A
    +      a
    +    end
    +    subgraph B
    +      b
    +    end
    +    subgraph C
    +      subgraph D
    +        d
    +      end
    +    end
    +    A --> B
    +    A --> C
    +    */
    +
    +      g.setNode('C', { data: 1 });
    +      g.setNode('D', { data: 2 });
    +      g.setNode('d', { data: 3 });
    +      g.setNode('B', { data: 4 });
    +      g.setNode('b', { data: 5 });
    +      g.setNode('A', { data: 6 });
    +      g.setNode('a', { data: 7 });
    +      g.setParent('a', 'A');
    +      g.setParent('b', 'B');
    +      g.setParent('d', 'D');
    +      g.setParent('D', 'C');
    +      g.setEdge('A', 'B', { data: 'link1' }, '1');
    +      g.setEdge('A', 'C', { data: 'link2' }, '2');
    +
    +      log.info('Graph before', g.node('D'));
    +      log.info('Graph before', graphlibJson.write(g));
    +      adjustClustersAndEdges(g);
    +      log.trace('Graph after', graphlibJson.write(g));
    +      expect(g.nodes()).toEqual(['C', 'B', 'A']);
    +      expect(g.nodes().length).toBe(3);
    +      expect(g.edges().length).toBe(2);
    +
    +      const AGraph = g.node('A').graph;
    +      const BGraph = g.node('B').graph;
    +      const CGraph = g.node('C').graph;
    +      // log.info(CGraph.nodes());
    +      const DGraph = CGraph.node('D').graph;
    +      // log.info('DG', CGraph.children('D'));
    +
    +      log.info('A', AGraph.nodes());
    +      expect(AGraph.nodes().length).toBe(1);
    +      expect(AGraph.nodes()).toEqual(['a']);
    +      log.trace('Nodes', BGraph.nodes());
    +      expect(BGraph.nodes().length).toBe(1);
    +      expect(BGraph.nodes()).toEqual(['b']);
    +      expect(CGraph.nodes()).toEqual(['D']);
    +      expect(CGraph.nodes().length).toEqual(1);
    +
    +      expect(AGraph.edges().length).toBe(0);
    +      expect(BGraph.edges().length).toBe(0);
    +      expect(CGraph.edges().length).toBe(0);
    +      expect(DGraph.nodes()).toEqual(['d']);
    +      expect(DGraph.edges().length).toBe(0);
    +      // expect(CGraph.node('D')).toEqual({ data: 2 });
    +      expect(g.edges().length).toBe(2);
    +
    +      // expect(g.edges().length).toBe(2);
    +      // const edgeData = g.edge(g.edges()[1]);
    +      // expect(edgeData.data).toBe('link2');
    +      // expect(validate(g)).toBe(true);
    +    });
    +    it('adjustClustersAndEdges the extracted graphs shall contain the correct links  GLB20', function () {
    +      /*
    +      a --> b
    +      subgraph b [Test]
    +        c --> d -->e
    +      end
    +    */
    +      g.setNode('a', { data: 1 });
    +      g.setNode('b', { data: 2 });
    +      g.setNode('c', { data: 3 });
    +      g.setNode('d', { data: 3 });
    +      g.setNode('e', { data: 3 });
    +      g.setParent('c', 'b');
    +      g.setParent('d', 'b');
    +      g.setParent('e', 'b');
    +      g.setEdge('a', 'b', { data: 'link1' }, '1');
    +      g.setEdge('c', 'd', { data: 'link2' }, '2');
    +      g.setEdge('d', 'e', { data: 'link2' }, '2');
    +
    +      log.info('Graph before', graphlibJson.write(g));
    +      adjustClustersAndEdges(g);
    +      const bGraph = g.node('b').graph;
    +      // log.trace('Graph after', graphlibJson.write(g))
    +      log.info('Graph after', graphlibJson.write(bGraph));
    +      expect(bGraph.nodes().length).toBe(3);
    +      expect(bGraph.edges().length).toBe(2);
    +    });
    +    it('adjustClustersAndEdges the extracted graphs shall contain the correct links  GLB21', function () {
    +      /*
    +    state a {
    +        state b {
    +            state c {
    +                e
    +            }
    +        }
    +    }
    +    */
    +      g.setNode('a', { data: 1 });
    +      g.setNode('b', { data: 2 });
    +      g.setNode('c', { data: 3 });
    +      g.setNode('e', { data: 3 });
    +      g.setParent('b', 'a');
    +      g.setParent('c', 'b');
    +      g.setParent('e', 'c');
    +
    +      log.info('Graph before', graphlibJson.write(g));
    +      adjustClustersAndEdges(g);
    +      const aGraph = g.node('a').graph;
    +      const bGraph = aGraph.node('b').graph;
    +      log.info('Graph after', graphlibJson.write(aGraph));
    +      const cGraph = bGraph.node('c').graph;
    +      // log.trace('Graph after', graphlibJson.write(g))
    +      expect(aGraph.nodes().length).toBe(1);
    +      expect(bGraph.nodes().length).toBe(1);
    +      expect(cGraph.nodes().length).toBe(1);
    +      expect(bGraph.edges().length).toBe(0);
    +    });
    +  });
    +  it('adjustClustersAndEdges should handle nesting GLB77', function () {
    +    /*
    +flowchart TB
    +  subgraph A
    +    b-->B
    +    a-->c
    +  end
    +  subgraph B
    +    c
    +  end
    +    */
    +
    +    const exportedGraph = JSON.parse(
    +      '{"options":{"directed":true,"multigraph":true,"compound":true},"nodes":[{"v":"A","value":{"labelStyle":"","shape":"rect","labelText":"A","rx":0,"ry":0,"class":"default","style":"","id":"A","width":500,"type":"group","padding":15}},{"v":"B","value":{"labelStyle":"","shape":"rect","labelText":"B","rx":0,"ry":0,"class":"default","style":"","id":"B","width":500,"type":"group","padding":15},"parent":"A"},{"v":"b","value":{"labelStyle":"","shape":"rect","labelText":"b","rx":0,"ry":0,"class":"default","style":"","id":"b","padding":15},"parent":"A"},{"v":"c","value":{"labelStyle":"","shape":"rect","labelText":"c","rx":0,"ry":0,"class":"default","style":"","id":"c","padding":15},"parent":"B"},{"v":"a","value":{"labelStyle":"","shape":"rect","labelText":"a","rx":0,"ry":0,"class":"default","style":"","id":"a","padding":15},"parent":"A"}],"edges":[{"v":"b","w":"B","name":"1","value":{"minlen":1,"arrowhead":"normal","arrowTypeStart":"arrow_open","arrowTypeEnd":"arrow_point","thickness":"normal","pattern":"solid","style":"fill:none","labelStyle":"","arrowheadStyle":"fill: #333","labelpos":"c","labelType":"text","label":"","id":"L-b-B","classes":"flowchart-link LS-b LE-B"}},{"v":"a","w":"c","name":"2","value":{"minlen":1,"arrowhead":"normal","arrowTypeStart":"arrow_open","arrowTypeEnd":"arrow_point","thickness":"normal","pattern":"solid","style":"fill:none","labelStyle":"","arrowheadStyle":"fill: #333","labelpos":"c","labelType":"text","label":"","id":"L-a-c","classes":"flowchart-link LS-a LE-c"}}],"value":{"rankdir":"TB","nodesep":50,"ranksep":50,"marginx":8,"marginy":8}}'
    +    );
    +    const gr = graphlibJson.read(exportedGraph);
    +
    +    log.info('Graph before', graphlibJson.write(gr));
    +    adjustClustersAndEdges(gr);
    +    const aGraph = gr.node('A').graph;
    +    const bGraph = aGraph.node('B').graph;
    +    log.info('Graph after', graphlibJson.write(aGraph));
    +    // log.trace('Graph after', graphlibJson.write(g))
    +    expect(aGraph.parent('c')).toBe('B');
    +    expect(aGraph.parent('B')).toBe(undefined);
    +  });
    +});
    +describe('extractDescendants', function () {
    +  let g;
    +  beforeEach(function () {
    +    setLogLevel(1);
    +    g = new graphlib.Graph({
    +      multigraph: true,
    +      compound: true,
    +    });
    +    g.setGraph({
    +      rankdir: 'TB',
    +      nodesep: 10,
    +      ranksep: 10,
    +      marginx: 8,
    +      marginy: 8,
    +    });
    +    g.setDefaultEdgeLabel(function () {
    +      return {};
    +    });
    +  });
    +  it('Simple case of one level descendants GLB9', function () {
    +    /*
    +    subgraph A
    +      a
    +    end
    +    subgraph B
    +      b
    +    end
    +    subgraph C
    +      c
    +    end
    +    A --> B
    +    A --> C
    +    */
    +    g.setNode('a', { data: 1 });
    +    g.setNode('b', { data: 2 });
    +    g.setNode('c', { data: 3 });
    +    g.setParent('a', 'A');
    +    g.setParent('b', 'B');
    +    g.setParent('c', 'C');
    +    g.setEdge('A', 'B', { data: 'link1' }, '1');
    +    g.setEdge('A', 'C', { data: 'link2' }, '2');
    +
    +    // log.info(g.edges())
    +    const d1 = extractDescendants('A', g);
    +    const d2 = extractDescendants('B', g);
    +    const d3 = extractDescendants('C', g);
    +
    +    expect(d1).toEqual(['a']);
    +    expect(d2).toEqual(['b']);
    +    expect(d3).toEqual(['c']);
    +  });
    +});
    +describe('sortNodesByHierarchy', function () {
    +  let g;
    +  beforeEach(function () {
    +    setLogLevel(1);
    +    g = new graphlib.Graph({
    +      multigraph: true,
    +      compound: true,
    +    });
    +    g.setGraph({
    +      rankdir: 'TB',
    +      nodesep: 10,
    +      ranksep: 10,
    +      marginx: 8,
    +      marginy: 8,
    +    });
    +    g.setDefaultEdgeLabel(function () {
    +      return {};
    +    });
    +  });
    +  it('should sort proper en nodes are in reverse order', function () {
    +    /*
    +  a -->b
    +  subgraph B
    +  b
    +  end
    +  subgraph A
    +  B
    +  end
    +    */
    +    g.setNode('a', { data: 1 });
    +    g.setNode('b', { data: 2 });
    +    g.setParent('b', 'B');
    +    g.setParent('B', 'A');
    +    g.setEdge('a', 'b', '1');
    +    expect(sortNodesByHierarchy(g)).toEqual(['a', 'A', 'B', 'b']);
    +  });
    +  it('should sort proper en nodes are in correct order', function () {
    +    /*
    +  a -->b
    +  subgraph B
    +  b
    +  end
    +  subgraph A
    +  B
    +  end
    +    */
    +    g.setNode('a', { data: 1 });
    +    g.setParent('B', 'A');
    +    g.setParent('b', 'B');
    +    g.setNode('b', { data: 2 });
    +    g.setEdge('a', 'b', '1');
    +    expect(sortNodesByHierarchy(g)).toEqual(['a', 'A', 'B', 'b']);
    +  });
    +});
    diff --git a/packages/mermaid/src/rendering-util/render.js b/packages/mermaid/src/rendering-util/render.js
    index a235c31ff5..f6fa82f514 100644
    --- a/packages/mermaid/src/rendering-util/render.js
    +++ b/packages/mermaid/src/rendering-util/render.js
    @@ -1,6 +1,9 @@
     export const render = async (data4Layout, svg, element) => {
       if (data4Layout.layoutAlgorithm === 'dagre-wrapper') {
    -    const layoutRenderer = await import('../dagre-wrapper/index-refactored.js');
    +    console.warn('THERERERERERER');
    +    // const layoutRenderer = await import('../dagre-wrapper/index-refactored.js');
    +
    +    const layoutRenderer = await import('./layout-algorithms/dagre/index.js');
     
         return layoutRenderer.render(data4Layout, svg, element);
       }
    diff --git a/packages/mermaid/src/rendering-util/rendering-elements/clusters.js b/packages/mermaid/src/rendering-util/rendering-elements/clusters.js
    new file mode 100644
    index 0000000000..0b1ecd572f
    --- /dev/null
    +++ b/packages/mermaid/src/rendering-util/rendering-elements/clusters.js
    @@ -0,0 +1,261 @@
    +import intersectRect from '../rendering-elements/intersect/intersect-rect.js';
    +import { log } from '$root/logger.js';
    +import createLabel from './createLabel.js';
    +import { createText } from '../createText.ts';
    +import { select } from 'd3';
    +import { getConfig } from '$root/diagram-api/diagramAPI.js';
    +import { evaluate } from '$root/diagrams/common/common.js';
    +import { getSubGraphTitleMargins } from '$root/utils/subGraphTitleMargins.js';
    +
    +const rect = (parent, node) => {
    +  log.info('Creating subgraph rect for ', node.id, node);
    +  const siteConfig = getConfig();
    +
    +  // Add outer g element
    +  const shapeSvg = parent
    +    .insert('g')
    +    .attr('class', 'cluster' + (node.class ? ' ' + node.class : ''))
    +    .attr('id', node.id);
    +
    +  // add the rect
    +  const rect = shapeSvg.insert('rect', ':first-child');
    +
    +  const useHtmlLabels = evaluate(siteConfig.flowchart.htmlLabels);
    +
    +  // Create the label and insert it after the rect
    +  const label = shapeSvg.insert('g').attr('class', 'cluster-label');
    +
    +  // const text = label
    +  //   .node()
    +  //   .appendChild(createLabel(node.labelText, node.labelStyle, undefined, true));
    +  const text =
    +    node.labelType === 'markdown'
    +      ? createText(label, node.labelText, { style: node.labelStyle, useHtmlLabels })
    +      : label.node().appendChild(createLabel(node.labelText, node.labelStyle, undefined, true));
    +
    +  // Get the size of the label
    +  let bbox = text.getBBox();
    +
    +  if (evaluate(siteConfig.flowchart.htmlLabels)) {
    +    const div = text.children[0];
    +    const dv = select(text);
    +    bbox = div.getBoundingClientRect();
    +    dv.attr('width', bbox.width);
    +    dv.attr('height', bbox.height);
    +  }
    +
    +  const padding = 0 * node.padding;
    +  const halfPadding = padding / 2;
    +
    +  const width = node.width <= bbox.width + padding ? bbox.width + padding : node.width;
    +  if (node.width <= bbox.width + padding) {
    +    node.diff = (bbox.width - node.width) / 2 - node.padding / 2;
    +  } else {
    +    node.diff = -node.padding / 2;
    +  }
    +
    +  log.trace('Data ', node, JSON.stringify(node));
    +  // center the rect around its coordinate
    +  rect
    +    .attr('style', node.style)
    +    .attr('rx', node.rx)
    +    .attr('ry', node.ry)
    +    .attr('x', node.x - width / 2)
    +    .attr('y', node.y - node.height / 2 - halfPadding)
    +    .attr('width', width)
    +    .attr('height', node.height + padding);
    +
    +  const { subGraphTitleTopMargin } = getSubGraphTitleMargins(siteConfig);
    +  if (useHtmlLabels) {
    +    label.attr(
    +      'transform',
    +      // This puts the labal on top of the box instead of inside it
    +      `translate(${node.x - bbox.width / 2}, ${node.y - node.height / 2 + subGraphTitleTopMargin})`
    +    );
    +  } else {
    +    label.attr(
    +      'transform',
    +      // This puts the labal on top of the box instead of inside it
    +      `translate(${node.x}, ${node.y - node.height / 2 + subGraphTitleTopMargin})`
    +    );
    +  }
    +  // Center the label
    +
    +  const rectBox = rect.node().getBBox();
    +  node.width = rectBox.width;
    +  node.height = rectBox.height;
    +
    +  node.intersect = function (point) {
    +    return intersectRect(node, point);
    +  };
    +
    +  return shapeSvg;
    +};
    +
    +/**
    + * Non visible cluster where the note is group with its
    + *
    + * @param {any} parent
    + * @param {any} node
    + * @returns {any} ShapeSvg
    + */
    +const noteGroup = (parent, node) => {
    +  // Add outer g element
    +  const shapeSvg = parent.insert('g').attr('class', 'note-cluster').attr('id', node.id);
    +
    +  // add the rect
    +  const rect = shapeSvg.insert('rect', ':first-child');
    +
    +  const padding = 0 * node.padding;
    +  const halfPadding = padding / 2;
    +
    +  // center the rect around its coordinate
    +  rect
    +    .attr('rx', node.rx)
    +    .attr('ry', node.ry)
    +    .attr('x', node.x - node.width / 2 - halfPadding)
    +    .attr('y', node.y - node.height / 2 - halfPadding)
    +    .attr('width', node.width + padding)
    +    .attr('height', node.height + padding)
    +    .attr('fill', 'none');
    +
    +  const rectBox = rect.node().getBBox();
    +  node.width = rectBox.width;
    +  node.height = rectBox.height;
    +
    +  node.intersect = function (point) {
    +    return intersectRect(node, point);
    +  };
    +
    +  return shapeSvg;
    +};
    +const roundedWithTitle = (parent, node) => {
    +  const siteConfig = getConfig();
    +
    +  // Add outer g element
    +  const shapeSvg = parent.insert('g').attr('class', node.classes).attr('id', node.id);
    +
    +  // add the rect
    +  const rect = shapeSvg.insert('rect', ':first-child');
    +
    +  // Create the label and insert it after the rect
    +  const label = shapeSvg.insert('g').attr('class', 'cluster-label');
    +  const innerRect = shapeSvg.append('rect');
    +
    +  const text = label
    +    .node()
    +    .appendChild(createLabel(node.labelText, node.labelStyle, undefined, true));
    +
    +  // Get the size of the label
    +  let bbox = text.getBBox();
    +  if (evaluate(siteConfig.flowchart.htmlLabels)) {
    +    const div = text.children[0];
    +    const dv = select(text);
    +    bbox = div.getBoundingClientRect();
    +    dv.attr('width', bbox.width);
    +    dv.attr('height', bbox.height);
    +  }
    +  bbox = text.getBBox();
    +  const padding = 0 * node.padding;
    +  const halfPadding = padding / 2;
    +
    +  const width = node.width <= bbox.width + node.padding ? bbox.width + node.padding : node.width;
    +  if (node.width <= bbox.width + node.padding) {
    +    node.diff = (bbox.width + node.padding * 0 - node.width) / 2;
    +  } else {
    +    node.diff = -node.padding / 2;
    +  }
    +
    +  // center the rect around its coordinate
    +  rect
    +    .attr('class', 'outer')
    +    .attr('x', node.x - width / 2 - halfPadding)
    +    .attr('y', node.y - node.height / 2 - halfPadding)
    +    .attr('width', width + padding)
    +    .attr('height', node.height + padding);
    +  innerRect
    +    .attr('class', 'inner')
    +    .attr('x', node.x - width / 2 - halfPadding)
    +    .attr('y', node.y - node.height / 2 - halfPadding + bbox.height - 1)
    +    .attr('width', width + padding)
    +    .attr('height', node.height + padding - bbox.height - 3);
    +
    +  const { subGraphTitleTopMargin } = getSubGraphTitleMargins(siteConfig);
    +  // Center the label
    +  label.attr(
    +    'transform',
    +    `translate(${node.x - bbox.width / 2}, ${
    +      node.y -
    +      node.height / 2 -
    +      node.padding / 3 +
    +      (evaluate(siteConfig.flowchart.htmlLabels) ? 5 : 3) +
    +      subGraphTitleTopMargin
    +    })`
    +  );
    +
    +  const rectBox = rect.node().getBBox();
    +  node.height = rectBox.height;
    +
    +  node.intersect = function (point) {
    +    return intersectRect(node, point);
    +  };
    +
    +  return shapeSvg;
    +};
    +
    +const divider = (parent, node) => {
    +  // Add outer g element
    +  const shapeSvg = parent.insert('g').attr('class', node.classes).attr('id', node.id);
    +
    +  // add the rect
    +  const rect = shapeSvg.insert('rect', ':first-child');
    +
    +  const padding = 0 * node.padding;
    +  const halfPadding = padding / 2;
    +
    +  // center the rect around its coordinate
    +  rect
    +    .attr('class', 'divider')
    +    .attr('x', node.x - node.width / 2 - halfPadding)
    +    .attr('y', node.y - node.height / 2)
    +    .attr('width', node.width + padding)
    +    .attr('height', node.height + padding);
    +
    +  const rectBox = rect.node().getBBox();
    +  node.width = rectBox.width;
    +  node.height = rectBox.height;
    +  node.diff = -node.padding / 2;
    +  node.intersect = function (point) {
    +    return intersectRect(node, point);
    +  };
    +
    +  return shapeSvg;
    +};
    +
    +const shapes = { rect, roundedWithTitle, noteGroup, divider };
    +
    +let clusterElems = {};
    +
    +export const insertCluster = (elem, node) => {
    +  log.trace('Inserting cluster');
    +  const shape = node.shape || 'rect';
    +  clusterElems[node.id] = shapes[shape](elem, node);
    +};
    +export const getClusterTitleWidth = (elem, node) => {
    +  const label = createLabel(node.labelText, node.labelStyle, undefined, true);
    +  elem.node().appendChild(label);
    +  const width = label.getBBox().width;
    +  elem.node().removeChild(label);
    +  return width;
    +};
    +
    +export const clear = () => {
    +  clusterElems = {};
    +};
    +
    +export const positionCluster = (node) => {
    +  log.info('Position cluster (' + node.id + ', ' + node.x + ', ' + node.y + ')');
    +  const el = clusterElems[node.id];
    +
    +  el.attr('transform', 'translate(' + node.x + ', ' + node.y + ')');
    +};
    diff --git a/packages/mermaid/src/rendering-util/rendering-elements/createLabel.js b/packages/mermaid/src/rendering-util/rendering-elements/createLabel.js
    new file mode 100644
    index 0000000000..d62c1fc8c1
    --- /dev/null
    +++ b/packages/mermaid/src/rendering-util/rendering-elements/createLabel.js
    @@ -0,0 +1,100 @@
    +import { select } from 'd3';
    +import { log } from '$root/logger.js';
    +import { getConfig } from '$root/diagram-api/diagramAPI.js';
    +import { evaluate } from '$root/diagrams/common/common.js';
    +import { decodeEntities } from '$root/utils.js';
    +
    +/**
    + * @param dom
    + * @param styleFn
    + */
    +function applyStyle(dom, styleFn) {
    +  if (styleFn) {
    +    dom.attr('style', styleFn);
    +  }
    +}
    +
    +/**
    + * @param {any} node
    + * @returns {SVGForeignObjectElement} Node
    + */
    +function addHtmlLabel(node) {
    +  const fo = select(document.createElementNS('http://www.w3.org/2000/svg', 'foreignObject'));
    +  const div = fo.append('xhtml:div');
    +
    +  const label = node.label;
    +  const labelClass = node.isNode ? 'nodeLabel' : 'edgeLabel';
    +  div.html(
    +    '' +
    +      label +
    +      ''
    +  );
    +
    +  applyStyle(div, node.labelStyle);
    +  div.style('display', 'inline-block');
    +  // Fix for firefox
    +  div.style('white-space', 'nowrap');
    +  div.attr('xmlns', 'http://www.w3.org/1999/xhtml');
    +  return fo.node();
    +}
    +/**
    + * @param _vertexText
    + * @param style
    + * @param isTitle
    + * @param isNode
    + * @deprecated svg-util/createText instead
    + */
    +const createLabel = (_vertexText, style, isTitle, isNode) => {
    +  let vertexText = _vertexText || '';
    +  if (typeof vertexText === 'object') {
    +    vertexText = vertexText[0];
    +  }
    +  if (evaluate(getConfig().flowchart.htmlLabels)) {
    +    // TODO: addHtmlLabel accepts a labelStyle. Do we possibly have that?
    +    vertexText = vertexText.replace(/\\n|\n/g, '
    '); + log.info('vertexText' + vertexText); + const node = { + isNode, + label: decodeEntities(vertexText).replace( + /fa[blrs]?:fa-[\w-]+/g, + (s) => `` + ), + labelStyle: style.replace('fill:', 'color:'), + }; + let vertexNode = addHtmlLabel(node); + // vertexNode.parentNode.removeChild(vertexNode); + return vertexNode; + } else { + const svgLabel = document.createElementNS('http://www.w3.org/2000/svg', 'text'); + svgLabel.setAttribute('style', style.replace('color:', 'fill:')); + let rows = []; + if (typeof vertexText === 'string') { + rows = vertexText.split(/\\n|\n|/gi); + } else if (Array.isArray(vertexText)) { + rows = vertexText; + } else { + rows = []; + } + + for (const row of rows) { + const tspan = document.createElementNS('http://www.w3.org/2000/svg', 'tspan'); + tspan.setAttributeNS('http://www.w3.org/XML/1998/namespace', 'xml:space', 'preserve'); + tspan.setAttribute('dy', '1em'); + tspan.setAttribute('x', '0'); + if (isTitle) { + tspan.setAttribute('class', 'title-row'); + } else { + tspan.setAttribute('class', 'row'); + } + tspan.textContent = row.trim(); + svgLabel.appendChild(tspan); + } + return svgLabel; + } +}; + +export default createLabel; diff --git a/packages/mermaid/src/rendering-util/rendering-elements/edgeMarker.spec.ts b/packages/mermaid/src/rendering-util/rendering-elements/edgeMarker.spec.ts new file mode 100644 index 0000000000..6cfb59fab9 --- /dev/null +++ b/packages/mermaid/src/rendering-util/rendering-elements/edgeMarker.spec.ts @@ -0,0 +1,79 @@ +import type { Mocked } from 'vitest'; +import type { SVG } from '../diagram-api/types.js'; +import { addEdgeMarkers } from './edgeMarker.js'; + +describe('addEdgeMarker', () => { + const svgPath = { + attr: vitest.fn(), + } as unknown as Mocked; + const url = 'http://example.com'; + const id = 'test'; + const diagramType = 'test'; + + beforeEach(() => { + svgPath.attr.mockReset(); + }); + + it('should add markers for arrow_cross:arrow_point', () => { + const arrowTypeStart = 'arrow_cross'; + const arrowTypeEnd = 'arrow_point'; + addEdgeMarkers(svgPath, { arrowTypeStart, arrowTypeEnd }, url, id, diagramType); + expect(svgPath.attr).toHaveBeenCalledWith( + 'marker-start', + `url(${url}#${id}_${diagramType}-crossStart)` + ); + expect(svgPath.attr).toHaveBeenCalledWith( + 'marker-end', + `url(${url}#${id}_${diagramType}-pointEnd)` + ); + }); + + it('should add markers for aggregation:arrow_point', () => { + const arrowTypeStart = 'aggregation'; + const arrowTypeEnd = 'arrow_point'; + addEdgeMarkers(svgPath, { arrowTypeStart, arrowTypeEnd }, url, id, diagramType); + expect(svgPath.attr).toHaveBeenCalledWith( + 'marker-start', + `url(${url}#${id}_${diagramType}-aggregationStart)` + ); + expect(svgPath.attr).toHaveBeenCalledWith( + 'marker-end', + `url(${url}#${id}_${diagramType}-pointEnd)` + ); + }); + + it('should add markers for arrow_point:aggregation', () => { + const arrowTypeStart = 'arrow_point'; + const arrowTypeEnd = 'aggregation'; + addEdgeMarkers(svgPath, { arrowTypeStart, arrowTypeEnd }, url, id, diagramType); + expect(svgPath.attr).toHaveBeenCalledWith( + 'marker-start', + `url(${url}#${id}_${diagramType}-pointStart)` + ); + expect(svgPath.attr).toHaveBeenCalledWith( + 'marker-end', + `url(${url}#${id}_${diagramType}-aggregationEnd)` + ); + }); + + it('should add markers for aggregation:composition', () => { + const arrowTypeStart = 'aggregation'; + const arrowTypeEnd = 'composition'; + addEdgeMarkers(svgPath, { arrowTypeStart, arrowTypeEnd }, url, id, diagramType); + expect(svgPath.attr).toHaveBeenCalledWith( + 'marker-start', + `url(${url}#${id}_${diagramType}-aggregationStart)` + ); + expect(svgPath.attr).toHaveBeenCalledWith( + 'marker-end', + `url(${url}#${id}_${diagramType}-compositionEnd)` + ); + }); + + it('should not add invalid markers', () => { + const arrowTypeStart = 'this is an invalid marker'; + const arrowTypeEnd = ') url(https://my-malicious-site.example)'; + addEdgeMarkers(svgPath, { arrowTypeStart, arrowTypeEnd }, url, id, diagramType); + expect(svgPath.attr).not.toHaveBeenCalled(); + }); +}); diff --git a/packages/mermaid/src/rendering-util/rendering-elements/edgeMarker.ts b/packages/mermaid/src/rendering-util/rendering-elements/edgeMarker.ts new file mode 100644 index 0000000000..ea748d8aae --- /dev/null +++ b/packages/mermaid/src/rendering-util/rendering-elements/edgeMarker.ts @@ -0,0 +1,57 @@ +import type { SVG } from '$root/diagram-api/types.js'; +import { log } from '$root/logger.js'; +import type { EdgeData } from '$root/types.js'; +/** + * Adds SVG markers to a path element based on the arrow types specified in the edge. + * + * @param svgPath - The SVG path element to add markers to. + * @param edge - The edge data object containing the arrow types. + * @param url - The URL of the SVG marker definitions. + * @param id - The ID prefix for the SVG marker definitions. + * @param diagramType - The type of diagram being rendered. + */ +export const addEdgeMarkers = ( + svgPath: SVG, + edge: Pick, + url: string, + id: string, + diagramType: string +) => { + if (edge.arrowTypeStart) { + addEdgeMarker(svgPath, 'start', edge.arrowTypeStart, url, id, diagramType); + } + if (edge.arrowTypeEnd) { + addEdgeMarker(svgPath, 'end', edge.arrowTypeEnd, url, id, diagramType); + } +}; + +const arrowTypesMap = { + arrow_cross: 'cross', + arrow_point: 'point', + arrow_barb: 'barb', + arrow_circle: 'circle', + aggregation: 'aggregation', + extension: 'extension', + composition: 'composition', + dependency: 'dependency', + lollipop: 'lollipop', +} as const; + +const addEdgeMarker = ( + svgPath: SVG, + position: 'start' | 'end', + arrowType: string, + url: string, + id: string, + diagramType: string +) => { + const endMarkerType = arrowTypesMap[arrowType as keyof typeof arrowTypesMap]; + + if (!endMarkerType) { + log.warn(`Unknown arrow type: ${arrowType}`); + return; // unknown arrow type, ignore + } + + const suffix = position === 'start' ? 'Start' : 'End'; + svgPath.attr(`marker-${position}`, `url(${url}#${id}_${diagramType}-${endMarkerType}${suffix})`); +}; diff --git a/packages/mermaid/src/rendering-util/rendering-elements/edges.js b/packages/mermaid/src/rendering-util/rendering-elements/edges.js new file mode 100644 index 0000000000..a5f56266ee --- /dev/null +++ b/packages/mermaid/src/rendering-util/rendering-elements/edges.js @@ -0,0 +1,521 @@ +import { log } from '$root/logger.js'; +import createLabel from './createLabel.js'; +import { createText } from '$root/rendering-util/createText.ts'; +import { line, curveBasis, select } from 'd3'; +import { getConfig } from '$root/diagram-api/diagramAPI.js'; +import utils from '$root/utils.js'; +import { evaluate } from '$root/diagrams/common/common.js'; +import { getLineFunctionsWithOffset } from '$root/utils/lineWithOffset.js'; +import { getSubGraphTitleMargins } from '$root/utils/subGraphTitleMargins.js'; +import { addEdgeMarkers } from './edgeMarker.ts'; + +let edgeLabels = {}; +let terminalLabels = {}; + +export const clear = () => { + edgeLabels = {}; + terminalLabels = {}; +}; + +export const insertEdgeLabel = (elem, edge) => { + const useHtmlLabels = evaluate(getConfig().flowchart.htmlLabels); + // Create the actual text element + const labelElement = + edge.labelType === 'markdown' + ? createText(elem, edge.label, { + style: edge.labelStyle, + useHtmlLabels, + addSvgBackground: true, + }) + : createLabel(edge.label, edge.labelStyle); + log.info('abc82', edge, edge.labelType); + + // Create outer g, edgeLabel, this will be positioned after graph layout + const edgeLabel = elem.insert('g').attr('class', 'edgeLabel'); + + // Create inner g, label, this will be positioned now for centering the text + const label = edgeLabel.insert('g').attr('class', 'label'); + label.node().appendChild(labelElement); + + // Center the label + let bbox = labelElement.getBBox(); + if (useHtmlLabels) { + const div = labelElement.children[0]; + const dv = select(labelElement); + bbox = div.getBoundingClientRect(); + dv.attr('width', bbox.width); + dv.attr('height', bbox.height); + } + label.attr('transform', 'translate(' + -bbox.width / 2 + ', ' + -bbox.height / 2 + ')'); + + // Make element accessible by id for positioning + edgeLabels[edge.id] = edgeLabel; + + // Update the abstract data of the edge with the new information about its width and height + edge.width = bbox.width; + edge.height = bbox.height; + + let fo; + if (edge.startLabelLeft) { + // Create the actual text element + const startLabelElement = createLabel(edge.startLabelLeft, edge.labelStyle); + const startEdgeLabelLeft = elem.insert('g').attr('class', 'edgeTerminals'); + const inner = startEdgeLabelLeft.insert('g').attr('class', 'inner'); + fo = inner.node().appendChild(startLabelElement); + const slBox = startLabelElement.getBBox(); + inner.attr('transform', 'translate(' + -slBox.width / 2 + ', ' + -slBox.height / 2 + ')'); + if (!terminalLabels[edge.id]) { + terminalLabels[edge.id] = {}; + } + terminalLabels[edge.id].startLeft = startEdgeLabelLeft; + setTerminalWidth(fo, edge.startLabelLeft); + } + if (edge.startLabelRight) { + // Create the actual text element + const startLabelElement = createLabel(edge.startLabelRight, edge.labelStyle); + const startEdgeLabelRight = elem.insert('g').attr('class', 'edgeTerminals'); + const inner = startEdgeLabelRight.insert('g').attr('class', 'inner'); + fo = startEdgeLabelRight.node().appendChild(startLabelElement); + inner.node().appendChild(startLabelElement); + const slBox = startLabelElement.getBBox(); + inner.attr('transform', 'translate(' + -slBox.width / 2 + ', ' + -slBox.height / 2 + ')'); + + if (!terminalLabels[edge.id]) { + terminalLabels[edge.id] = {}; + } + terminalLabels[edge.id].startRight = startEdgeLabelRight; + setTerminalWidth(fo, edge.startLabelRight); + } + if (edge.endLabelLeft) { + // Create the actual text element + const endLabelElement = createLabel(edge.endLabelLeft, edge.labelStyle); + const endEdgeLabelLeft = elem.insert('g').attr('class', 'edgeTerminals'); + const inner = endEdgeLabelLeft.insert('g').attr('class', 'inner'); + fo = inner.node().appendChild(endLabelElement); + const slBox = endLabelElement.getBBox(); + inner.attr('transform', 'translate(' + -slBox.width / 2 + ', ' + -slBox.height / 2 + ')'); + + endEdgeLabelLeft.node().appendChild(endLabelElement); + + if (!terminalLabels[edge.id]) { + terminalLabels[edge.id] = {}; + } + terminalLabels[edge.id].endLeft = endEdgeLabelLeft; + setTerminalWidth(fo, edge.endLabelLeft); + } + if (edge.endLabelRight) { + // Create the actual text element + const endLabelElement = createLabel(edge.endLabelRight, edge.labelStyle); + const endEdgeLabelRight = elem.insert('g').attr('class', 'edgeTerminals'); + const inner = endEdgeLabelRight.insert('g').attr('class', 'inner'); + + fo = inner.node().appendChild(endLabelElement); + const slBox = endLabelElement.getBBox(); + inner.attr('transform', 'translate(' + -slBox.width / 2 + ', ' + -slBox.height / 2 + ')'); + + endEdgeLabelRight.node().appendChild(endLabelElement); + if (!terminalLabels[edge.id]) { + terminalLabels[edge.id] = {}; + } + terminalLabels[edge.id].endRight = endEdgeLabelRight; + setTerminalWidth(fo, edge.endLabelRight); + } + return labelElement; +}; + +/** + * @param {any} fo + * @param {any} value + */ +function setTerminalWidth(fo, value) { + if (getConfig().flowchart.htmlLabels && fo) { + fo.style.width = value.length * 9 + 'px'; + fo.style.height = '12px'; + } +} + +export const positionEdgeLabel = (edge, paths) => { + log.info('Moving label abc78 ', edge.id, edge.label, edgeLabels[edge.id]); + let path = paths.updatedPath ? paths.updatedPath : paths.originalPath; + const siteConfig = getConfig(); + const { subGraphTitleTotalMargin } = getSubGraphTitleMargins(siteConfig); + if (edge.label) { + const el = edgeLabels[edge.id]; + let x = edge.x; + let y = edge.y; + if (path) { + // // debugger; + const pos = utils.calcLabelPosition(path); + log.info( + 'Moving label ' + edge.label + ' from (', + x, + ',', + y, + ') to (', + pos.x, + ',', + pos.y, + ') abc78' + ); + if (paths.updatedPath) { + x = pos.x; + y = pos.y; + } + } + el.attr('transform', `translate(${x}, ${y + subGraphTitleTotalMargin / 2})`); + } + + //let path = paths.updatedPath ? paths.updatedPath : paths.originalPath; + if (edge.startLabelLeft) { + const el = terminalLabels[edge.id].startLeft; + let x = edge.x; + let y = edge.y; + if (path) { + // debugger; + const pos = utils.calcTerminalLabelPosition(edge.arrowTypeStart ? 10 : 0, 'start_left', path); + x = pos.x; + y = pos.y; + } + el.attr('transform', `translate(${x}, ${y})`); + } + if (edge.startLabelRight) { + const el = terminalLabels[edge.id].startRight; + let x = edge.x; + let y = edge.y; + if (path) { + // debugger; + const pos = utils.calcTerminalLabelPosition( + edge.arrowTypeStart ? 10 : 0, + 'start_right', + path + ); + x = pos.x; + y = pos.y; + } + el.attr('transform', `translate(${x}, ${y})`); + } + if (edge.endLabelLeft) { + const el = terminalLabels[edge.id].endLeft; + let x = edge.x; + let y = edge.y; + if (path) { + // debugger; + const pos = utils.calcTerminalLabelPosition(edge.arrowTypeEnd ? 10 : 0, 'end_left', path); + x = pos.x; + y = pos.y; + } + el.attr('transform', `translate(${x}, ${y})`); + } + if (edge.endLabelRight) { + const el = terminalLabels[edge.id].endRight; + let x = edge.x; + let y = edge.y; + if (path) { + // debugger; + const pos = utils.calcTerminalLabelPosition(edge.arrowTypeEnd ? 10 : 0, 'end_right', path); + x = pos.x; + y = pos.y; + } + el.attr('transform', `translate(${x}, ${y})`); + } +}; + +const outsideNode = (node, point) => { + // log.warn('Checking bounds ', node, point); + const x = node.x; + const y = node.y; + const dx = Math.abs(point.x - x); + const dy = Math.abs(point.y - y); + const w = node.width / 2; + const h = node.height / 2; + if (dx >= w || dy >= h) { + return true; + } + return false; +}; + +export const intersection = (node, outsidePoint, insidePoint) => { + log.warn(`intersection calc abc89: + outsidePoint: ${JSON.stringify(outsidePoint)} + insidePoint : ${JSON.stringify(insidePoint)} + node : x:${node.x} y:${node.y} w:${node.width} h:${node.height}`); + const x = node.x; + const y = node.y; + + const dx = Math.abs(x - insidePoint.x); + // const dy = Math.abs(y - insidePoint.y); + const w = node.width / 2; + let r = insidePoint.x < outsidePoint.x ? w - dx : w + dx; + const h = node.height / 2; + + // const edges = { + // x1: x - w, + // x2: x + w, + // y1: y - h, + // y2: y + h + // }; + + // if ( + // outsidePoint.x === edges.x1 || + // outsidePoint.x === edges.x2 || + // outsidePoint.y === edges.y1 || + // outsidePoint.y === edges.y2 + // ) { + // log.warn('abc89 calc equals on edge', outsidePoint, edges); + // return outsidePoint; + // } + + const Q = Math.abs(outsidePoint.y - insidePoint.y); + const R = Math.abs(outsidePoint.x - insidePoint.x); + // log.warn(); + if (Math.abs(y - outsidePoint.y) * w > Math.abs(x - outsidePoint.x) * h) { + // Intersection is top or bottom of rect. + // let q = insidePoint.y < outsidePoint.y ? outsidePoint.y - h - y : y - h - outsidePoint.y; + let q = insidePoint.y < outsidePoint.y ? outsidePoint.y - h - y : y - h - outsidePoint.y; + r = (R * q) / Q; + const res = { + x: insidePoint.x < outsidePoint.x ? insidePoint.x + r : insidePoint.x - R + r, + y: insidePoint.y < outsidePoint.y ? insidePoint.y + Q - q : insidePoint.y - Q + q, + }; + + if (r === 0) { + res.x = outsidePoint.x; + res.y = outsidePoint.y; + } + if (R === 0) { + res.x = outsidePoint.x; + } + if (Q === 0) { + res.y = outsidePoint.y; + } + + log.warn(`abc89 topp/bott calc, Q ${Q}, q ${q}, R ${R}, r ${r}`, res); + + return res; + } else { + // Intersection onn sides of rect + if (insidePoint.x < outsidePoint.x) { + r = outsidePoint.x - w - x; + } else { + // r = outsidePoint.x - w - x; + r = x - w - outsidePoint.x; + } + let q = (Q * r) / R; + // OK let _x = insidePoint.x < outsidePoint.x ? insidePoint.x + R - r : insidePoint.x + dx - w; + // OK let _x = insidePoint.x < outsidePoint.x ? insidePoint.x + R - r : outsidePoint.x + r; + let _x = insidePoint.x < outsidePoint.x ? insidePoint.x + R - r : insidePoint.x - R + r; + // let _x = insidePoint.x < outsidePoint.x ? insidePoint.x + R - r : outsidePoint.x + r; + let _y = insidePoint.y < outsidePoint.y ? insidePoint.y + q : insidePoint.y - q; + log.warn(`sides calc abc89, Q ${Q}, q ${q}, R ${R}, r ${r}`, { _x, _y }); + if (r === 0) { + _x = outsidePoint.x; + _y = outsidePoint.y; + } + if (R === 0) { + _x = outsidePoint.x; + } + if (Q === 0) { + _y = outsidePoint.y; + } + + return { x: _x, y: _y }; + } +}; +/** + * This function will page a path and node where the last point(s) in the path is inside the node + * and return an update path ending by the border of the node. + * + * @param {Array} _points + * @param {any} boundryNode + * @returns {Array} Points + */ +const cutPathAtIntersect = (_points, boundryNode) => { + log.warn('abc88 cutPathAtIntersect', _points, boundryNode); + let points = []; + let lastPointOutside = _points[0]; + let isInside = false; + _points.forEach((point) => { + // const node = clusterDb[edge.toCluster].node; + log.info('abc88 checking point', point, boundryNode); + + // check if point is inside the boundary rect + if (!outsideNode(boundryNode, point) && !isInside) { + // First point inside the rect found + // Calc the intersection coord between the point anf the last point outside the rect + const inter = intersection(boundryNode, lastPointOutside, point); + log.warn('abc88 inside', point, lastPointOutside, inter); + log.warn('abc88 intersection', inter); + + // // Check case where the intersection is the same as the last point + let pointPresent = false; + points.forEach((p) => { + pointPresent = pointPresent || (p.x === inter.x && p.y === inter.y); + }); + // // if (!pointPresent) { + if (!points.some((e) => e.x === inter.x && e.y === inter.y)) { + points.push(inter); + } else { + log.warn('abc88 no intersect', inter, points); + } + // points.push(inter); + isInside = true; + } else { + // Outside + log.warn('abc88 outside', point, lastPointOutside); + lastPointOutside = point; + // points.push(point); + if (!isInside) { + points.push(point); + } + } + }); + log.warn('abc88 returning points', points); + return points; +}; + +export const insertEdge = function (elem, e, edge, clusterDb, diagramType, graph, id) { + let points = edge.points; + let pointsHasChanged = false; + const tail = graph.node(e.v); + var head = graph.node(e.w); + + log.info('abc88 InsertEdge: ', edge); + if (head.intersect && tail.intersect) { + points = points.slice(1, edge.points.length - 1); + points.unshift(tail.intersect(points[0])); + log.info( + 'Last point', + points[points.length - 1], + head, + head.intersect(points[points.length - 1]) + ); + points.push(head.intersect(points[points.length - 1])); + } + if (edge.toCluster) { + log.info('to cluster abc88', clusterDb[edge.toCluster]); + points = cutPathAtIntersect(edge.points, clusterDb[edge.toCluster].node); + // log.trace('edge', edge); + // points = []; + // let lastPointOutside; // = edge.points[0]; + // let isInside = false; + // edge.points.forEach(point => { + // const node = clusterDb[edge.toCluster].node; + // log.warn('checking from', edge.fromCluster, point, node); + + // if (!outsideNode(node, point) && !isInside) { + // log.trace('inside', edge.toCluster, point, lastPointOutside); + + // // First point inside the rect + // const inter = intersection(node, lastPointOutside, point); + + // let pointPresent = false; + // points.forEach(p => { + // pointPresent = pointPresent || (p.x === inter.x && p.y === inter.y); + // }); + // // if (!pointPresent) { + // if (!points.find(e => e.x === inter.x && e.y === inter.y)) { + // points.push(inter); + // } else { + // log.warn('no intersect', inter, points); + // } + // isInside = true; + // } else { + // // outside + // lastPointOutside = point; + // if (!isInside) points.push(point); + // } + // }); + pointsHasChanged = true; + } + + if (edge.fromCluster) { + log.info('from cluster abc88', clusterDb[edge.fromCluster]); + points = cutPathAtIntersect(points.reverse(), clusterDb[edge.fromCluster].node).reverse(); + + pointsHasChanged = true; + } + + // The data for our line + const lineData = points.filter((p) => !Number.isNaN(p.y)); + + // This is the accessor function we talked about above + let curve = curveBasis; + // Currently only flowcharts get the curve from the settings, perhaps this should + // be expanded to a common setting? Restricting it for now in order not to cause side-effects that + // have not been thought through + if (edge.curve && (diagramType === 'graph' || diagramType === 'flowchart')) { + curve = edge.curve; + } + + const { x, y } = getLineFunctionsWithOffset(edge); + const lineFunction = line().x(x).y(y).curve(curve); + + // Construct stroke classes based on properties + let strokeClasses; + switch (edge.thickness) { + case 'normal': + strokeClasses = 'edge-thickness-normal'; + break; + case 'thick': + strokeClasses = 'edge-thickness-thick'; + break; + case 'invisible': + strokeClasses = 'edge-thickness-thick'; + break; + default: + strokeClasses = ''; + } + switch (edge.pattern) { + case 'solid': + strokeClasses += ' edge-pattern-solid'; + break; + case 'dotted': + strokeClasses += ' edge-pattern-dotted'; + break; + case 'dashed': + strokeClasses += ' edge-pattern-dashed'; + break; + } + + const svgPath = elem + .append('path') + .attr('d', lineFunction(lineData)) + .attr('id', edge.id) + .attr('class', ' ' + strokeClasses + (edge.classes ? ' ' + edge.classes : '')) + .attr('style', edge.style); + + // DEBUG code, adds a red circle at each edge coordinate + // edge.points.forEach((point) => { + // elem + // .append('circle') + // .style('stroke', 'red') + // .style('fill', 'red') + // .attr('r', 1) + // .attr('cx', point.x) + // .attr('cy', point.y); + // }); + + let url = ''; + // // TODO: Can we load this config only from the rendered graph type? + if (getConfig().flowchart.arrowMarkerAbsolute || getConfig().state.arrowMarkerAbsolute) { + url = + window.location.protocol + + '//' + + window.location.host + + window.location.pathname + + window.location.search; + url = url.replace(/\(/g, '\\('); + url = url.replace(/\)/g, '\\)'); + } + log.info('arrowTypeStart', edge.arrowTypeStart); + log.info('arrowTypeEnd', edge.arrowTypeEnd); + + addEdgeMarkers(svgPath, edge, url, id, diagramType); + + let paths = {}; + if (pointsHasChanged) { + paths.updatedPath = points; + } + paths.originalPath = edge.points; + return paths; +}; diff --git a/packages/mermaid/src/rendering-util/rendering-elements/intersect/index.js b/packages/mermaid/src/rendering-util/rendering-elements/intersect/index.js new file mode 100644 index 0000000000..e33b6dd510 --- /dev/null +++ b/packages/mermaid/src/rendering-util/rendering-elements/intersect/index.js @@ -0,0 +1,17 @@ +/* + * Borrowed with love from from dagre-d3. Many thanks to cpettitt! + */ + +import node from './intersect-node.js'; +import circle from './intersect-circle.js'; +import ellipse from './intersect-ellipse.js'; +import polygon from './intersect-polygon.js'; +import rect from './intersect-rect.js'; + +export default { + node, + circle, + ellipse, + polygon, + rect, +}; diff --git a/packages/mermaid/src/rendering-util/rendering-elements/intersect/intersect-circle.js b/packages/mermaid/src/rendering-util/rendering-elements/intersect/intersect-circle.js new file mode 100644 index 0000000000..8f5ba72dfc --- /dev/null +++ b/packages/mermaid/src/rendering-util/rendering-elements/intersect/intersect-circle.js @@ -0,0 +1,12 @@ +import intersectEllipse from './intersect-ellipse.js'; + +/** + * @param node + * @param rx + * @param point + */ +function intersectCircle(node, rx, point) { + return intersectEllipse(node, rx, rx, point); +} + +export default intersectCircle; diff --git a/packages/mermaid/src/rendering-util/rendering-elements/intersect/intersect-ellipse.js b/packages/mermaid/src/rendering-util/rendering-elements/intersect/intersect-ellipse.js new file mode 100644 index 0000000000..96f4a166e6 --- /dev/null +++ b/packages/mermaid/src/rendering-util/rendering-elements/intersect/intersect-ellipse.js @@ -0,0 +1,30 @@ +/** + * @param node + * @param rx + * @param ry + * @param point + */ +function intersectEllipse(node, rx, ry, point) { + // Formulae from: https://mathworld.wolfram.com/Ellipse-LineIntersection.html + + var cx = node.x; + var cy = node.y; + + var px = cx - point.x; + var py = cy - point.y; + + var det = Math.sqrt(rx * rx * py * py + ry * ry * px * px); + + var dx = Math.abs((rx * ry * px) / det); + if (point.x < cx) { + dx = -dx; + } + var dy = Math.abs((rx * ry * py) / det); + if (point.y < cy) { + dy = -dy; + } + + return { x: cx + dx, y: cy + dy }; +} + +export default intersectEllipse; diff --git a/packages/mermaid/src/rendering-util/rendering-elements/intersect/intersect-line.js b/packages/mermaid/src/rendering-util/rendering-elements/intersect/intersect-line.js new file mode 100644 index 0000000000..e97ae6f0dc --- /dev/null +++ b/packages/mermaid/src/rendering-util/rendering-elements/intersect/intersect-line.js @@ -0,0 +1,78 @@ +/** + * Returns the point at which two lines, p and q, intersect or returns undefined if they do not intersect. + * + * @param p1 + * @param p2 + * @param q1 + * @param q2 + */ +function intersectLine(p1, p2, q1, q2) { + // Algorithm from J. Avro, (ed.) Graphics Gems, No 2, Morgan Kaufmann, 1994, + // p7 and p473. + + var a1, a2, b1, b2, c1, c2; + var r1, r2, r3, r4; + var denom, offset, num; + var x, y; + + // Compute a1, b1, c1, where line joining points 1 and 2 is F(x,y) = a1 x + + // b1 y + c1 = 0. + a1 = p2.y - p1.y; + b1 = p1.x - p2.x; + c1 = p2.x * p1.y - p1.x * p2.y; + + // Compute r3 and r4. + r3 = a1 * q1.x + b1 * q1.y + c1; + r4 = a1 * q2.x + b1 * q2.y + c1; + + // Check signs of r3 and r4. If both point 3 and point 4 lie on + // same side of line 1, the line segments do not intersect. + if (r3 !== 0 && r4 !== 0 && sameSign(r3, r4)) { + return /*DON'T_INTERSECT*/; + } + + // Compute a2, b2, c2 where line joining points 3 and 4 is G(x,y) = a2 x + b2 y + c2 = 0 + a2 = q2.y - q1.y; + b2 = q1.x - q2.x; + c2 = q2.x * q1.y - q1.x * q2.y; + + // Compute r1 and r2 + r1 = a2 * p1.x + b2 * p1.y + c2; + r2 = a2 * p2.x + b2 * p2.y + c2; + + // Check signs of r1 and r2. If both point 1 and point 2 lie + // on same side of second line segment, the line segments do + // not intersect. + if (r1 !== 0 && r2 !== 0 && sameSign(r1, r2)) { + return /*DON'T_INTERSECT*/; + } + + // Line segments intersect: compute intersection point. + denom = a1 * b2 - a2 * b1; + if (denom === 0) { + return /*COLLINEAR*/; + } + + offset = Math.abs(denom / 2); + + // The denom/2 is to get rounding instead of truncating. It + // is added or subtracted to the numerator, depending upon the + // sign of the numerator. + num = b1 * c2 - b2 * c1; + x = num < 0 ? (num - offset) / denom : (num + offset) / denom; + + num = a2 * c1 - a1 * c2; + y = num < 0 ? (num - offset) / denom : (num + offset) / denom; + + return { x: x, y: y }; +} + +/** + * @param r1 + * @param r2 + */ +function sameSign(r1, r2) { + return r1 * r2 > 0; +} + +export default intersectLine; diff --git a/packages/mermaid/src/rendering-util/rendering-elements/intersect/intersect-node.js b/packages/mermaid/src/rendering-util/rendering-elements/intersect/intersect-node.js new file mode 100644 index 0000000000..54a88ba617 --- /dev/null +++ b/packages/mermaid/src/rendering-util/rendering-elements/intersect/intersect-node.js @@ -0,0 +1,10 @@ +/** + * @param node + * @param point + */ +function intersectNode(node, point) { + // console.info('Intersect Node'); + return node.intersect(point); +} + +export default intersectNode; diff --git a/packages/mermaid/src/rendering-util/rendering-elements/intersect/intersect-polygon.js b/packages/mermaid/src/rendering-util/rendering-elements/intersect/intersect-polygon.js new file mode 100644 index 0000000000..6941372c7d --- /dev/null +++ b/packages/mermaid/src/rendering-util/rendering-elements/intersect/intersect-polygon.js @@ -0,0 +1,70 @@ +/* eslint "no-console": off */ + +import intersectLine from './intersect-line.js'; + +export default intersectPolygon; + +/** + * Returns the point ({x, y}) at which the point argument intersects with the node argument assuming + * that it has the shape specified by polygon. + * + * @param node + * @param polyPoints + * @param point + */ +function intersectPolygon(node, polyPoints, point) { + var x1 = node.x; + var y1 = node.y; + + var intersections = []; + + var minX = Number.POSITIVE_INFINITY; + var minY = Number.POSITIVE_INFINITY; + if (typeof polyPoints.forEach === 'function') { + polyPoints.forEach(function (entry) { + minX = Math.min(minX, entry.x); + minY = Math.min(minY, entry.y); + }); + } else { + minX = Math.min(minX, polyPoints.x); + minY = Math.min(minY, polyPoints.y); + } + + var left = x1 - node.width / 2 - minX; + var top = y1 - node.height / 2 - minY; + + for (var i = 0; i < polyPoints.length; i++) { + var p1 = polyPoints[i]; + var p2 = polyPoints[i < polyPoints.length - 1 ? i + 1 : 0]; + var intersect = intersectLine( + node, + point, + { x: left + p1.x, y: top + p1.y }, + { x: left + p2.x, y: top + p2.y } + ); + if (intersect) { + intersections.push(intersect); + } + } + + if (!intersections.length) { + // console.log('NO INTERSECTION FOUND, RETURN NODE CENTER', node); + return node; + } + + if (intersections.length > 1) { + // More intersections, find the one nearest to edge end point + intersections.sort(function (p, q) { + var pdx = p.x - point.x; + var pdy = p.y - point.y; + var distp = Math.sqrt(pdx * pdx + pdy * pdy); + + var qdx = q.x - point.x; + var qdy = q.y - point.y; + var distq = Math.sqrt(qdx * qdx + qdy * qdy); + + return distp < distq ? -1 : distp === distq ? 0 : 1; + }); + } + return intersections[0]; +} diff --git a/packages/mermaid/src/rendering-util/rendering-elements/intersect/intersect-rect.js b/packages/mermaid/src/rendering-util/rendering-elements/intersect/intersect-rect.js new file mode 100644 index 0000000000..daf6b5eea0 --- /dev/null +++ b/packages/mermaid/src/rendering-util/rendering-elements/intersect/intersect-rect.js @@ -0,0 +1,32 @@ +const intersectRect = (node, point) => { + var x = node.x; + var y = node.y; + + // Rectangle intersection algorithm from: + // https://math.stackexchange.com/questions/108113/find-edge-between-two-boxes + var dx = point.x - x; + var dy = point.y - y; + var w = node.width / 2; + var h = node.height / 2; + + var sx, sy; + if (Math.abs(dy) * w > Math.abs(dx) * h) { + // Intersection is top or bottom of rect. + if (dy < 0) { + h = -h; + } + sx = dy === 0 ? 0 : (h * dx) / dy; + sy = h; + } else { + // Intersection is left or right of rect. + if (dx < 0) { + w = -w; + } + sx = w; + sy = dx === 0 ? 0 : (w * dy) / dx; + } + + return { x: x + sx, y: y + sy }; +}; + +export default intersectRect; diff --git a/packages/mermaid/src/rendering-util/rendering-elements/markers.js b/packages/mermaid/src/rendering-util/rendering-elements/markers.js new file mode 100644 index 0000000000..c7cfcfe7fb --- /dev/null +++ b/packages/mermaid/src/rendering-util/rendering-elements/markers.js @@ -0,0 +1,293 @@ +/** Setup arrow head and define the marker. The result is appended to the svg. */ +import { log } from '$root/logger.js'; + +// Only add the number of markers that the diagram needs +const insertMarkers = (elem, markerArray, type, id) => { + markerArray.forEach((markerName) => { + markers[markerName](elem, type, id); + }); +}; + +const extension = (elem, type, id) => { + log.trace('Making markers for ', id); + elem + .append('defs') + .append('marker') + .attr('id', id + '_' + type + '-extensionStart') + .attr('class', 'marker extension ' + type) + .attr('refX', 18) + .attr('refY', 7) + .attr('markerWidth', 190) + .attr('markerHeight', 240) + .attr('orient', 'auto') + .append('path') + .attr('d', 'M 1,7 L18,13 V 1 Z'); + + elem + .append('defs') + .append('marker') + .attr('id', id + '_' + type + '-extensionEnd') + .attr('class', 'marker extension ' + type) + .attr('refX', 1) + .attr('refY', 7) + .attr('markerWidth', 20) + .attr('markerHeight', 28) + .attr('orient', 'auto') + .append('path') + .attr('d', 'M 1,1 V 13 L18,7 Z'); // this is actual shape for arrowhead +}; + +const composition = (elem, type, id) => { + elem + .append('defs') + .append('marker') + .attr('id', id + '_' + type + '-compositionStart') + .attr('class', 'marker composition ' + type) + .attr('refX', 18) + .attr('refY', 7) + .attr('markerWidth', 190) + .attr('markerHeight', 240) + .attr('orient', 'auto') + .append('path') + .attr('d', 'M 18,7 L9,13 L1,7 L9,1 Z'); + + elem + .append('defs') + .append('marker') + .attr('id', id + '_' + type + '-compositionEnd') + .attr('class', 'marker composition ' + type) + .attr('refX', 1) + .attr('refY', 7) + .attr('markerWidth', 20) + .attr('markerHeight', 28) + .attr('orient', 'auto') + .append('path') + .attr('d', 'M 18,7 L9,13 L1,7 L9,1 Z'); +}; +const aggregation = (elem, type, id) => { + elem + .append('defs') + .append('marker') + .attr('id', id + '_' + type + '-aggregationStart') + .attr('class', 'marker aggregation ' + type) + .attr('refX', 18) + .attr('refY', 7) + .attr('markerWidth', 190) + .attr('markerHeight', 240) + .attr('orient', 'auto') + .append('path') + .attr('d', 'M 18,7 L9,13 L1,7 L9,1 Z'); + + elem + .append('defs') + .append('marker') + .attr('id', id + '_' + type + '-aggregationEnd') + .attr('class', 'marker aggregation ' + type) + .attr('refX', 1) + .attr('refY', 7) + .attr('markerWidth', 20) + .attr('markerHeight', 28) + .attr('orient', 'auto') + .append('path') + .attr('d', 'M 18,7 L9,13 L1,7 L9,1 Z'); +}; +const dependency = (elem, type, id) => { + elem + .append('defs') + .append('marker') + .attr('id', id + '_' + type + '-dependencyStart') + .attr('class', 'marker dependency ' + type) + .attr('refX', 6) + .attr('refY', 7) + .attr('markerWidth', 190) + .attr('markerHeight', 240) + .attr('orient', 'auto') + .append('path') + .attr('d', 'M 5,7 L9,13 L1,7 L9,1 Z'); + + elem + .append('defs') + .append('marker') + .attr('id', id + '_' + type + '-dependencyEnd') + .attr('class', 'marker dependency ' + type) + .attr('refX', 13) + .attr('refY', 7) + .attr('markerWidth', 20) + .attr('markerHeight', 28) + .attr('orient', 'auto') + .append('path') + .attr('d', 'M 18,7 L9,13 L14,7 L9,1 Z'); +}; +const lollipop = (elem, type, id) => { + elem + .append('defs') + .append('marker') + .attr('id', id + '_' + type + '-lollipopStart') + .attr('class', 'marker lollipop ' + type) + .attr('refX', 13) + .attr('refY', 7) + .attr('markerWidth', 190) + .attr('markerHeight', 240) + .attr('orient', 'auto') + .append('circle') + .attr('stroke', 'black') + .attr('fill', 'transparent') + .attr('cx', 7) + .attr('cy', 7) + .attr('r', 6); + + elem + .append('defs') + .append('marker') + .attr('id', id + '_' + type + '-lollipopEnd') + .attr('class', 'marker lollipop ' + type) + .attr('refX', 1) + .attr('refY', 7) + .attr('markerWidth', 190) + .attr('markerHeight', 240) + .attr('orient', 'auto') + .append('circle') + .attr('stroke', 'black') + .attr('fill', 'transparent') + .attr('cx', 7) + .attr('cy', 7) + .attr('r', 6); +}; +const point = (elem, type, id) => { + elem + .append('marker') + .attr('id', id + '_' + type + '-pointEnd') + .attr('class', 'marker ' + type) + .attr('viewBox', '0 0 10 10') + .attr('refX', 6) + .attr('refY', 5) + .attr('markerUnits', 'userSpaceOnUse') + .attr('markerWidth', 12) + .attr('markerHeight', 12) + .attr('orient', 'auto') + .append('path') + .attr('d', 'M 0 0 L 10 5 L 0 10 z') + .attr('class', 'arrowMarkerPath') + .style('stroke-width', 1) + .style('stroke-dasharray', '1,0'); + elem + .append('marker') + .attr('id', id + '_' + type + '-pointStart') + .attr('class', 'marker ' + type) + .attr('viewBox', '0 0 10 10') + .attr('refX', 4.5) + .attr('refY', 5) + .attr('markerUnits', 'userSpaceOnUse') + .attr('markerWidth', 12) + .attr('markerHeight', 12) + .attr('orient', 'auto') + .append('path') + .attr('d', 'M 0 5 L 10 10 L 10 0 z') + .attr('class', 'arrowMarkerPath') + .style('stroke-width', 1) + .style('stroke-dasharray', '1,0'); +}; +const circle = (elem, type, id) => { + elem + .append('marker') + .attr('id', id + '_' + type + '-circleEnd') + .attr('class', 'marker ' + type) + .attr('viewBox', '0 0 10 10') + .attr('refX', 11) + .attr('refY', 5) + .attr('markerUnits', 'userSpaceOnUse') + .attr('markerWidth', 11) + .attr('markerHeight', 11) + .attr('orient', 'auto') + .append('circle') + .attr('cx', '5') + .attr('cy', '5') + .attr('r', '5') + .attr('class', 'arrowMarkerPath') + .style('stroke-width', 1) + .style('stroke-dasharray', '1,0'); + + elem + .append('marker') + .attr('id', id + '_' + type + '-circleStart') + .attr('class', 'marker ' + type) + .attr('viewBox', '0 0 10 10') + .attr('refX', -1) + .attr('refY', 5) + .attr('markerUnits', 'userSpaceOnUse') + .attr('markerWidth', 11) + .attr('markerHeight', 11) + .attr('orient', 'auto') + .append('circle') + .attr('cx', '5') + .attr('cy', '5') + .attr('r', '5') + .attr('class', 'arrowMarkerPath') + .style('stroke-width', 1) + .style('stroke-dasharray', '1,0'); +}; +const cross = (elem, type, id) => { + elem + .append('marker') + .attr('id', id + '_' + type + '-crossEnd') + .attr('class', 'marker cross ' + type) + .attr('viewBox', '0 0 11 11') + .attr('refX', 12) + .attr('refY', 5.2) + .attr('markerUnits', 'userSpaceOnUse') + .attr('markerWidth', 11) + .attr('markerHeight', 11) + .attr('orient', 'auto') + .append('path') + // .attr('stroke', 'black') + .attr('d', 'M 1,1 l 9,9 M 10,1 l -9,9') + .attr('class', 'arrowMarkerPath') + .style('stroke-width', 2) + .style('stroke-dasharray', '1,0'); + + elem + .append('marker') + .attr('id', id + '_' + type + '-crossStart') + .attr('class', 'marker cross ' + type) + .attr('viewBox', '0 0 11 11') + .attr('refX', -1) + .attr('refY', 5.2) + .attr('markerUnits', 'userSpaceOnUse') + .attr('markerWidth', 11) + .attr('markerHeight', 11) + .attr('orient', 'auto') + .append('path') + // .attr('stroke', 'black') + .attr('d', 'M 1,1 l 9,9 M 10,1 l -9,9') + .attr('class', 'arrowMarkerPath') + .style('stroke-width', 2) + .style('stroke-dasharray', '1,0'); +}; +const barb = (elem, type, id) => { + elem + .append('defs') + .append('marker') + .attr('id', id + '_' + type + '-barbEnd') + .attr('refX', 19) + .attr('refY', 7) + .attr('markerWidth', 20) + .attr('markerHeight', 14) + .attr('markerUnits', 'strokeWidth') + .attr('orient', 'auto') + .append('path') + .attr('d', 'M 19,7 L9,13 L14,7 L9,1 Z'); +}; + +// TODO rename the class diagram markers to something shape descriptive and semantic free +const markers = { + extension, + composition, + aggregation, + dependency, + lollipop, + point, + circle, + cross, + barb, +}; +export default insertMarkers; diff --git a/packages/mermaid/src/rendering-util/rendering-elements/nodes.js b/packages/mermaid/src/rendering-util/rendering-elements/nodes.js new file mode 100644 index 0000000000..88db04393d --- /dev/null +++ b/packages/mermaid/src/rendering-util/rendering-elements/nodes.js @@ -0,0 +1,83 @@ +import { log } from '$root/logger.js'; +import { rect } from './shapes/rect.js'; +import { getConfig } from '$root/diagram-api/diagramAPI.js'; + +const formatClass = (str) => { + if (str) { + return ' ' + str; + } + return ''; +}; + +const shapes = { + rect, +}; + +let nodeElems = {}; + +export const insertNode = async (elem, node, dir) => { + let newEl; + let el; + + console.log('insertNode element', elem, elem.node(), rect); + // debugger; + // Add link when appropriate + if (node.link) { + let target; + if (getConfig().securityLevel === 'sandbox') { + target = '_top'; + } else if (node.linkTarget) { + target = node.linkTarget || '_blank'; + } + newEl = elem.insert('svg:a').attr('xlink:href', node.link).attr('target', target); + el = await shapes[node.shape](newEl, node, dir); + } else { + el = await shapes[node.shape](elem, node, dir); + newEl = el; + } + if (node.tooltip) { + el.attr('title', node.tooltip); + } + if (node.class) { + el.attr('class', 'node default ' + node.class); + } + + nodeElems[node.id] = newEl; + + if (node.haveCallback) { + nodeElems[node.id].attr('class', nodeElems[node.id].attr('class') + ' clickable'); + } + return newEl; +}; +export const setNodeElem = (elem, node) => { + nodeElems[node.id] = elem; +}; +export const clear = () => { + nodeElems = {}; +}; + +export const positionNode = (node) => { + const el = nodeElems[node.id]; + + log.trace( + 'Transforming node', + node.diff, + node, + 'translate(' + (node.x - node.width / 2 - 5) + ', ' + node.width / 2 + ')' + ); + const padding = 8; + const diff = node.diff || 0; + if (node.clusterNode) { + el.attr( + 'transform', + 'translate(' + + (node.x + diff - node.width / 2) + + ', ' + + (node.y - node.height / 2 - padding) + + ')' + ); + } else { + el.attr('transform', 'translate(' + node.x + ', ' + node.y + ')'); + } + return diff; +}; diff --git a/packages/mermaid/src/rendering-util/rendering-elements/shapes/rect.js b/packages/mermaid/src/rendering-util/rendering-elements/shapes/rect.js new file mode 100644 index 0000000000..96b803fdb7 --- /dev/null +++ b/packages/mermaid/src/rendering-util/rendering-elements/shapes/rect.js @@ -0,0 +1,126 @@ +import { log } from '$root/logger.js'; +import { labelHelper, updateNodeBounds } from './util.js'; +import intersect from '../intersect/index.js'; + +/** + * + * @param rect + * @param borders + * @param totalWidth + * @param totalHeight + */ +function applyNodePropertyBorders(rect, borders, totalWidth, totalHeight) { + const strokeDashArray = []; + const addBorder = (length) => { + strokeDashArray.push(length, 0); + }; + const skipBorder = (length) => { + strokeDashArray.push(0, length); + }; + if (borders.includes('t')) { + log.debug('add top border'); + addBorder(totalWidth); + } else { + skipBorder(totalWidth); + } + if (borders.includes('r')) { + log.debug('add right border'); + addBorder(totalHeight); + } else { + skipBorder(totalHeight); + } + if (borders.includes('b')) { + log.debug('add bottom border'); + addBorder(totalWidth); + } else { + skipBorder(totalWidth); + } + if (borders.includes('l')) { + log.debug('add left border'); + addBorder(totalHeight); + } else { + skipBorder(totalHeight); + } + rect.attr('stroke-dasharray', strokeDashArray.join(' ')); +} + +export const rect = async (parent, node) => { + const { shapeSvg, bbox, halfPadding } = await labelHelper( + parent, + node, + 'node ' + node.classes + ' ' + node.class, + true + ); + + console.log('rect node', node); + + // add the rect + const rect = shapeSvg.insert('rect', ':first-child'); + + const totalWidth = bbox.width + node.padding; + const totalHeight = bbox.height + node.padding; + + rect + .attr('class', 'basic label-container') + .attr('style', node.style) + .attr('rx', node.rx) + .attr('ry', node.ry) + // .attr('x', -bbox.width / 2 - node.padding) + // .attr('y', -bbox.height / 2 - node.padding) + .attr('x', -bbox.width / 2 - halfPadding) + .attr('y', -bbox.height / 2 - halfPadding) + .attr('width', totalWidth) + .attr('height', totalHeight); + + if (node.props) { + const propKeys = new Set(Object.keys(node.props)); + if (node.props.borders) { + applyNodePropertyBorders(rect, node.props.borders, totalWidth, totalHeight); + propKeys.delete('borders'); + } + propKeys.forEach((propKey) => { + log.warn(`Unknown node property ${propKey}`); + }); + } + + updateNodeBounds(node, rect); + + node.intersect = function (point) { + return intersect.rect(node, point); + }; + + return shapeSvg; +}; + +export const labelRect = async (parent, node) => { + const { shapeSvg } = await labelHelper(parent, node, 'label', true); + + log.trace('Classes = ', node.class); + // add the rect + const rect = shapeSvg.insert('rect', ':first-child'); + + // Hide the rect we are only after the label + const totalWidth = 0; + const totalHeight = 0; + rect.attr('width', totalWidth).attr('height', totalHeight); + shapeSvg.attr('class', 'label edgeLabel'); + + if (node.props) { + const propKeys = new Set(Object.keys(node.props)); + if (node.props.borders) { + applyNodePropertyBorders(rect, node.props.borders, totalWidth, totalHeight); + propKeys.delete('borders'); + } + propKeys.forEach((propKey) => { + log.warn(`Unknown node property ${propKey}`); + }); + } + + updateNodeBounds(node, rect); + + node.intersect = function (point) { + return intersect.rect(node, point); + }; + + return shapeSvg; +}; diff --git a/packages/mermaid/src/rendering-util/rendering-elements/shapes/util.js b/packages/mermaid/src/rendering-util/rendering-elements/shapes/util.js new file mode 100644 index 0000000000..d9314aacb4 --- /dev/null +++ b/packages/mermaid/src/rendering-util/rendering-elements/shapes/util.js @@ -0,0 +1,146 @@ +import createLabel from '../createLabel.js'; +import { createText } from '$root/rendering-util/createText.ts'; +import { getConfig } from '$root/diagram-api/diagramAPI.js'; +import { select } from 'd3'; +import { evaluate, sanitizeText } from '$root/diagrams/common/common.js'; +import { decodeEntities } from '$root/utils.js'; + +export const labelHelper = async (parent, node, _classes, isNode) => { + let classes; + const useHtmlLabels = node.useHtmlLabels || evaluate(getConfig().flowchart.htmlLabels); + if (!_classes) { + classes = 'node default'; + } else { + classes = _classes; + } + + // Add outer g element + const shapeSvg = parent + .insert('g') + .attr('class', classes) + .attr('id', node.domId || node.id); + + // Create the label and insert it after the rect + const label = shapeSvg.insert('g').attr('class', 'label').attr('style', node.labelStyle); + + // Replace labelText with default value if undefined + let labelText; + if (node.labelText === undefined) { + labelText = ''; + } else { + labelText = typeof node.labelText === 'string' ? node.labelText : node.labelText[0]; + } + + const textNode = label.node(); + let text; + if (node.labelType === 'markdown') { + // text = textNode; + text = createText(label, sanitizeText(decodeEntities(labelText), getConfig()), { + useHtmlLabels, + width: node.width || getConfig().flowchart.wrappingWidth, + classes: 'markdown-node-label', + }); + } else { + text = textNode.appendChild( + createLabel( + sanitizeText(decodeEntities(labelText), getConfig()), + node.labelStyle, + false, + isNode + ) + ); + } + // Get the size of the label + let bbox = text.getBBox(); + const halfPadding = node.padding / 2; + + if (evaluate(getConfig().flowchart.htmlLabels)) { + const div = text.children[0]; + const dv = select(text); + + // if there are images, need to wait for them to load before getting the bounding box + const images = div.getElementsByTagName('img'); + if (images) { + const noImgText = labelText.replace(/]*>/g, '').trim() === ''; + + await Promise.all( + [...images].map( + (img) => + new Promise((res) => { + /** + * + */ + function setupImage() { + img.style.display = 'flex'; + img.style.flexDirection = 'column'; + + if (noImgText) { + // default size if no text + const bodyFontSize = getConfig().fontSize + ? getConfig().fontSize + : window.getComputedStyle(document.body).fontSize; + const enlargingFactor = 5; + const width = parseInt(bodyFontSize, 10) * enlargingFactor + 'px'; + img.style.minWidth = width; + img.style.maxWidth = width; + } else { + img.style.width = '100%'; + } + res(img); + } + setTimeout(() => { + if (img.complete) { + setupImage(); + } + }); + img.addEventListener('error', setupImage); + img.addEventListener('load', setupImage); + }) + ) + ); + } + + bbox = div.getBoundingClientRect(); + dv.attr('width', bbox.width); + dv.attr('height', bbox.height); + } + + // Center the label + if (useHtmlLabels) { + label.attr('transform', 'translate(' + -bbox.width / 2 + ', ' + -bbox.height / 2 + ')'); + } else { + label.attr('transform', 'translate(' + 0 + ', ' + -bbox.height / 2 + ')'); + } + if (node.centerLabel) { + label.attr('transform', 'translate(' + -bbox.width / 2 + ', ' + -bbox.height / 2 + ')'); + } + label.insert('rect', ':first-child'); + return { shapeSvg, bbox, halfPadding, label }; +}; + +export const updateNodeBounds = (node, element) => { + const bbox = element.node().getBBox(); + node.width = bbox.width; + node.height = bbox.height; +}; + +/** + * @param parent + * @param w + * @param h + * @param points + */ +export function insertPolygonShape(parent, w, h, points) { + return parent + .insert('polygon', ':first-child') + .attr( + 'points', + points + .map(function (d) { + return d.x + ',' + d.y; + }) + .join(' ') + ) + .attr('class', 'label-container') + .attr('transform', 'translate(' + -w / 2 + ',' + h / 2 + ')'); +} diff --git a/packages/mermaid/tsconfig.json b/packages/mermaid/tsconfig.json index 78e3cf2de5..0111d1647b 100644 --- a/packages/mermaid/tsconfig.json +++ b/packages/mermaid/tsconfig.json @@ -3,7 +3,12 @@ "compilerOptions": { "rootDir": "./src", "outDir": "./dist", - "types": ["vitest/importMeta", "vitest/globals"] + "types": ["vitest/importMeta", "vitest/globals"], + "baseUrl": ".", // This must be set if "paths" is set + "paths": { + "$root/*": ["src/*"] + } + }, - "include": ["./src/**/*.ts", "./package.json"] + "include": ["./src/**/*.ts", "./package.json"], } diff --git a/vite.config.ts b/vite.config.ts index 87124b9bf5..935e4e44bf 100644 --- a/vite.config.ts +++ b/vite.config.ts @@ -2,10 +2,15 @@ import jison from './.vite/jisonPlugin.js'; import jsonSchemaPlugin from './.vite/jsonSchemaPlugin.js'; import typescript from '@rollup/plugin-typescript'; import { defaultExclude, defineConfig } from 'vitest/config'; +import path from 'path'; export default defineConfig({ resolve: { extensions: ['.js'], + alias: { + // Define your alias here + '$root/*': path.resolve(__dirname, 'src/*'), + }, }, plugins: [ jison(), From b7f864cdb0140e7fa523919653e8d71635439192 Mon Sep 17 00:00:00 2001 From: Knut Sveidqvist Date: Tue, 23 Apr 2024 15:26:19 +0200 Subject: [PATCH 335/789] #5237 Adding missing await --- packages/mermaid/src/diagrams/state/stateRenderer-v3-unified.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/mermaid/src/diagrams/state/stateRenderer-v3-unified.ts b/packages/mermaid/src/diagrams/state/stateRenderer-v3-unified.ts index 656507274a..7e30ece82b 100644 --- a/packages/mermaid/src/diagrams/state/stateRenderer-v3-unified.ts +++ b/packages/mermaid/src/diagrams/state/stateRenderer-v3-unified.ts @@ -93,7 +93,7 @@ export const draw = async function (text: string, id: string, _version: string, data4Layout.markers = ['barb']; data4Layout.diagramId = id; - render(data4Layout, svg, element); + await render(data4Layout, svg, element); }; export default { From e852156b9fc5ba06c59dcbd0caa1e3ca6a8bc3c4 Mon Sep 17 00:00:00 2001 From: Ronid1 Date: Tue, 23 Apr 2024 20:36:58 -0700 Subject: [PATCH 336/789] add bidirectional arrow to sequence diagram --- .../rendering/sequencediagram.spec.js | 15 +++++++++- docs/syntax/sequenceDiagram.md | 26 ++++++++-------- .../sequence/parser/sequenceDiagram.jison | 8 +++-- .../src/diagrams/sequence/sequenceDb.ts | 2 ++ .../diagrams/sequence/sequenceDiagram.spec.js | 30 +++++++++++++++++++ .../src/diagrams/sequence/sequenceRenderer.ts | 14 ++++++++- .../mermaid/src/diagrams/sequence/svgDraw.js | 2 +- .../src/docs/syntax/sequenceDiagram.md | 26 ++++++++-------- packages/mermaid/src/mermaid.spec.ts | 2 +- 9 files changed, 95 insertions(+), 30 deletions(-) diff --git a/cypress/integration/rendering/sequencediagram.spec.js b/cypress/integration/rendering/sequencediagram.spec.js index 1285a0832d..81520f5773 100644 --- a/cypress/integration/rendering/sequencediagram.spec.js +++ b/cypress/integration/rendering/sequencediagram.spec.js @@ -1,4 +1,4 @@ -/// +// import { imgSnapshotTest, renderGraph } from '../../helpers/util.ts'; @@ -68,6 +68,19 @@ context('Sequence diagram', () => { { sequence: { actorFontFamily: 'courier' } } ); }); + it('should render bidirectional arrows', () => { + imgSnapshotTest( + ` + sequenceDiagram + Alice<<->>John: Hello John, how are you? + Alice<<-->>John: Hi Alice, I can hear you! + John<<->>Alice: This also works the other way + John<<-->>Alice: Yes + Alice->John: Test + John->>Alice: Still works + ` + ); + }); it('should handle different line breaks', () => { imgSnapshotTest( ` diff --git a/docs/syntax/sequenceDiagram.md b/docs/syntax/sequenceDiagram.md index a8455964e4..03613756cf 100644 --- a/docs/syntax/sequenceDiagram.md +++ b/docs/syntax/sequenceDiagram.md @@ -206,18 +206,20 @@ Messages can be of two displayed either solid or with a dotted line. [Actor][Arrow][Actor]:Message text ``` -There are six types of arrows currently supported: - -| Type | Description | -| ------ | ------------------------------------------------ | -| `->` | Solid line without arrow | -| `-->` | Dotted line without arrow | -| `->>` | Solid line with arrowhead | -| `-->>` | Dotted line with arrowhead | -| `-x` | Solid line with a cross at the end | -| `--x` | Dotted line with a cross at the end. | -| `-)` | Solid line with an open arrow at the end (async) | -| `--)` | Dotted line with a open arrow at the end (async) | +There are ten types of arrows currently supported: + +| Type | Description | +| -------- | ------------------------------------------------------------------------ | +| `->` | Solid line without arrow | +| `-->` | Dotted line without arrow | +| `->>` | Solid line with arrowhead | +| `-->>` | Dotted line with arrowhead | +| `<<->>` | Solid line with bidirectional arrowheads (v\+) | +| `<<-->>` | Dotted line with bidirectional arrowheads (v\+) | +| `-x` | Solid line with a cross at the end | +| `--x` | Dotted line with a cross at the end. | +| `-)` | Solid line with an open arrow at the end (async) | +| `--)` | Dotted line with a open arrow at the end (async) | ## Activations diff --git a/packages/mermaid/src/diagrams/sequence/parser/sequenceDiagram.jison b/packages/mermaid/src/diagrams/sequence/parser/sequenceDiagram.jison index 78b0c9ed9e..ef231183f3 100644 --- a/packages/mermaid/src/diagrams/sequence/parser/sequenceDiagram.jison +++ b/packages/mermaid/src/diagrams/sequence/parser/sequenceDiagram.jison @@ -33,7 +33,7 @@ "actor" { this.begin('ID'); return 'participant_actor'; } "create" return 'create'; "destroy" { this.begin('ID'); return 'destroy'; } -[^\->:\n,;]+?([\-]*[^\->:\n,;]+?)*?(?=((?!\n)\s)+"as"(?!\n)\s|[#\n;]|$) { yytext = yytext.trim(); this.begin('ALIAS'); return 'ACTOR'; } +[^\<->\->:\n,;]+?([\-]*[^\<->\->:\n,;]+?)*?(?=((?!\n)\s)+"as"(?!\n)\s|[#\n;]|$) { yytext = yytext.trim(); this.begin('ALIAS'); return 'ACTOR'; } "as" { this.popState(); this.popState(); this.begin('LINE'); return 'AS'; } (?:) { this.popState(); this.popState(); return 'NEWLINE'; } "loop" { this.begin('LINE'); return 'loop'; } @@ -73,9 +73,11 @@ accDescr\s*"{"\s* { this.begin("acc_descr_multili "off" return 'off'; "," return ','; ";" return 'NEWLINE'; -[^\+\->:\n,;]+((?!(\-x|\-\-x|\-\)|\-\-\)))[\-]*[^\+\->:\n,;]+)* { yytext = yytext.trim(); return 'ACTOR'; } +[^\+\<->\->:\n,;]+((?!(\-x|\-\-x|\-\)|\-\-\)))[\-]*[^\+\<->\->:\n,;]+)* { yytext = yytext.trim(); return 'ACTOR'; } "->>" return 'SOLID_ARROW'; +"<<->>" return 'BIDIRECTIONAL_SOLID_ARROW'; "-->>" return 'DOTTED_ARROW'; +"<<-->>" return 'BIDIRECTIONAL_DOTTED_ARROW'; "->" return 'SOLID_OPEN_ARROW'; "-->" return 'DOTTED_OPEN_ARROW'; \-[x] return 'SOLID_CROSS'; @@ -310,7 +312,9 @@ signaltype : SOLID_OPEN_ARROW { $$ = yy.LINETYPE.SOLID_OPEN; } | DOTTED_OPEN_ARROW { $$ = yy.LINETYPE.DOTTED_OPEN; } | SOLID_ARROW { $$ = yy.LINETYPE.SOLID; } + | BIDIRECTIONAL_SOLID_ARROW { $$ = yy.LINETYPE.BIDIRECTIONAL_SOLID; } | DOTTED_ARROW { $$ = yy.LINETYPE.DOTTED; } + | BIDIRECTIONAL_DOTTED_ARROW { $$ = yy.LINETYPE.BIDIRECTIONAL_DOTTED; } | SOLID_CROSS { $$ = yy.LINETYPE.SOLID_CROSS; } | DOTTED_CROSS { $$ = yy.LINETYPE.DOTTED_CROSS; } | SOLID_POINT { $$ = yy.LINETYPE.SOLID_POINT; } diff --git a/packages/mermaid/src/diagrams/sequence/sequenceDb.ts b/packages/mermaid/src/diagrams/sequence/sequenceDb.ts index 03d3210aa9..2842f5d4a5 100644 --- a/packages/mermaid/src/diagrams/sequence/sequenceDb.ts +++ b/packages/mermaid/src/diagrams/sequence/sequenceDb.ts @@ -327,6 +327,8 @@ export const LINETYPE = { BREAK_START: 30, BREAK_END: 31, PAR_OVER_START: 32, + BIDIRECTIONAL_SOLID: 33, + BIDIRECTIONAL_DOTTED: 34, }; export const ARROWTYPE = { diff --git a/packages/mermaid/src/diagrams/sequence/sequenceDiagram.spec.js b/packages/mermaid/src/diagrams/sequence/sequenceDiagram.spec.js index 1724391e53..736f5e5a4d 100644 --- a/packages/mermaid/src/diagrams/sequence/sequenceDiagram.spec.js +++ b/packages/mermaid/src/diagrams/sequence/sequenceDiagram.spec.js @@ -516,6 +516,36 @@ Alice->>Bob:Hello Bob, how are you?`; expect(messages.length).toBe(1); expect(messages[0].type).toBe(diagram.db.LINETYPE.DOTTED); }); + it('should handle bidirectional arrow messages', async () => { + const str = ` +sequenceDiagram +Alice<<->>Bob:Hello Bob, how are you?`; + + await mermaidAPI.parse(str); + const actors = diagram.db.getActors(); + expect(actors.Alice.description).toBe('Alice'); + expect(actors.Bob.description).toBe('Bob'); + + const messages = diagram.db.getMessages(); + + expect(messages.length).toBe(1); + expect(messages[0].type).toBe(diagram.db.LINETYPE.BIDIRECTIONAL_SOLID); + }); + it('should handle bidirectional dotted arrow messages', async () => { + const str = ` + sequenceDiagram + Alice<<-->>Bob:Hello Bob, how are you?`; + + await mermaidAPI.parse(str); + const actors = diagram.db.getActors(); + expect(actors.Alice.description).toBe('Alice'); + expect(actors.Bob.description).toBe('Bob'); + + const messages = diagram.db.getMessages(); + + expect(messages.length).toBe(1); + expect(messages[0].type).toBe(diagram.db.LINETYPE.BIDIRECTIONAL_DOTTED); + }); it('should handle actor activation', async () => { const str = ` sequenceDiagram diff --git a/packages/mermaid/src/diagrams/sequence/sequenceRenderer.ts b/packages/mermaid/src/diagrams/sequence/sequenceRenderer.ts index 98fdcddc40..70f7f117b9 100644 --- a/packages/mermaid/src/diagrams/sequence/sequenceRenderer.ts +++ b/packages/mermaid/src/diagrams/sequence/sequenceRenderer.ts @@ -436,7 +436,8 @@ const drawMessage = async function (diagram, msgModel, lineStartY: number, diagO type === diagObj.db.LINETYPE.DOTTED || type === diagObj.db.LINETYPE.DOTTED_CROSS || type === diagObj.db.LINETYPE.DOTTED_POINT || - type === diagObj.db.LINETYPE.DOTTED_OPEN + type === diagObj.db.LINETYPE.DOTTED_OPEN || + type === diagObj.db.LINETYPE.BIDIRECTIONAL_DOTTED ) { line.style('stroke-dasharray', '3, 3'); line.attr('class', 'messageLine1'); @@ -462,6 +463,13 @@ const drawMessage = async function (diagram, msgModel, lineStartY: number, diagO if (type === diagObj.db.LINETYPE.SOLID || type === diagObj.db.LINETYPE.DOTTED) { line.attr('marker-end', 'url(' + url + '#arrowhead)'); } + if ( + type === diagObj.db.LINETYPE.BIDIRECTIONAL_SOLID || + type === diagObj.db.LINETYPE.BIDIRECTIONAL_DOTTED + ) { + line.attr('marker-start', 'url(' + url + '#arrowhead)'); + line.attr('marker-end', 'url(' + url + '#arrowhead)'); + } if (type === diagObj.db.LINETYPE.SOLID_POINT || type === diagObj.db.LINETYPE.DOTTED_POINT) { line.attr('marker-end', 'url(' + url + '#filled-head)'); } @@ -1036,6 +1044,8 @@ export const draw = async function (_text: string, id: string, _version: string, diagObj.db.LINETYPE.DOTTED_CROSS, diagObj.db.LINETYPE.SOLID_POINT, diagObj.db.LINETYPE.DOTTED_POINT, + diagObj.db.LINETYPE.BIDIRECTIONAL_SOLID, + diagObj.db.LINETYPE.BIDIRECTIONAL_DOTTED, ].includes(msg.type) ) { sequenceIndex = sequenceIndex + sequenceIndexStep; @@ -1423,6 +1433,8 @@ const buildMessageModel = function (msg, actors, diagObj) { diagObj.db.LINETYPE.DOTTED_CROSS, diagObj.db.LINETYPE.SOLID_POINT, diagObj.db.LINETYPE.DOTTED_POINT, + diagObj.db.LINETYPE.BIDIRECTIONAL_SOLID, + diagObj.db.LINETYPE.BIDIRECTIONAL_DOTTED, ].includes(msg.type) ) { return {}; diff --git a/packages/mermaid/src/diagrams/sequence/svgDraw.js b/packages/mermaid/src/diagrams/sequence/svgDraw.js index 84351ea5ad..136d84fb4d 100644 --- a/packages/mermaid/src/diagrams/sequence/svgDraw.js +++ b/packages/mermaid/src/diagrams/sequence/svgDraw.js @@ -735,7 +735,7 @@ export const insertArrowHead = function (elem) { .attr('markerUnits', 'userSpaceOnUse') .attr('markerWidth', 12) .attr('markerHeight', 12) - .attr('orient', 'auto') + .attr('orient', 'auto-start-reverse') .append('path') .attr('d', 'M -1 0 L 10 5 L 0 10 z'); // this is actual shape for arrowhead }; diff --git a/packages/mermaid/src/docs/syntax/sequenceDiagram.md b/packages/mermaid/src/docs/syntax/sequenceDiagram.md index 4fc25bd12e..e1b07b335f 100644 --- a/packages/mermaid/src/docs/syntax/sequenceDiagram.md +++ b/packages/mermaid/src/docs/syntax/sequenceDiagram.md @@ -141,18 +141,20 @@ Messages can be of two displayed either solid or with a dotted line. [Actor][Arrow][Actor]:Message text ``` -There are six types of arrows currently supported: - -| Type | Description | -| ------ | ------------------------------------------------ | -| `->` | Solid line without arrow | -| `-->` | Dotted line without arrow | -| `->>` | Solid line with arrowhead | -| `-->>` | Dotted line with arrowhead | -| `-x` | Solid line with a cross at the end | -| `--x` | Dotted line with a cross at the end. | -| `-)` | Solid line with an open arrow at the end (async) | -| `--)` | Dotted line with a open arrow at the end (async) | +There are ten types of arrows currently supported: + +| Type | Description | +| -------- | ----------------------------------------------------------------------- | +| `->` | Solid line without arrow | +| `-->` | Dotted line without arrow | +| `->>` | Solid line with arrowhead | +| `-->>` | Dotted line with arrowhead | +| `<<->>` | Solid line with bidirectional arrowheads (v+) | +| `<<-->>` | Dotted line with bidirectional arrowheads (v+) | +| `-x` | Solid line with a cross at the end | +| `--x` | Dotted line with a cross at the end. | +| `-)` | Solid line with an open arrow at the end (async) | +| `--)` | Dotted line with a open arrow at the end (async) | ## Activations diff --git a/packages/mermaid/src/mermaid.spec.ts b/packages/mermaid/src/mermaid.spec.ts index 9360f7bab2..d03f0ee9dc 100644 --- a/packages/mermaid/src/mermaid.spec.ts +++ b/packages/mermaid/src/mermaid.spec.ts @@ -207,7 +207,7 @@ describe('when using mermaid and ', () => { [Error: Parse error on line 2: ...equenceDiagramAlice:->Bob: Hello Bob, h... ----------------------^ - Expecting 'SOLID_OPEN_ARROW', 'DOTTED_OPEN_ARROW', 'SOLID_ARROW', 'DOTTED_ARROW', 'SOLID_CROSS', 'DOTTED_CROSS', 'SOLID_POINT', 'DOTTED_POINT', got 'TXT'] + Expecting 'SOLID_OPEN_ARROW', 'DOTTED_OPEN_ARROW', 'SOLID_ARROW', 'BIDIRECTIONAL_SOLID_ARROW', 'DOTTED_ARROW', 'BIDIRECTIONAL_DOTTED_ARROW', 'SOLID_CROSS', 'DOTTED_CROSS', 'SOLID_POINT', 'DOTTED_POINT', got 'TXT'] `); }); From d220720dde3554a4c19e414ef9ccbfc7d431279d Mon Sep 17 00:00:00 2001 From: Ashish Jain Date: Wed, 24 Apr 2024 14:40:05 +0200 Subject: [PATCH 337/789] #5237 WIP --- .gitignore | 2 +- cypress/platform/knsv2.html | 2 +- packages/mermaid/src/dagre-wrapper/nodes.js | 17 +- .../mermaid/src/diagrams/state/stateDb.js | 70 ++++---- .../state/stateRenderer-v3-unified.ts | 3 +- .../layout-algorithms/dagre/index.js | 5 + .../shapes/{rect.js => rect.ts} | 28 ++- .../mermaid/src/rendering-util/types.d.ts | 5 + pnpm-lock.yaml | 160 +----------------- 9 files changed, 89 insertions(+), 203 deletions(-) rename packages/mermaid/src/rendering-util/rendering-elements/shapes/{rect.js => rect.ts} (79%) diff --git a/.gitignore b/.gitignore index a0fd1c50b8..267ff40911 100644 --- a/.gitignore +++ b/.gitignore @@ -35,7 +35,7 @@ cypress/snapshots/ .tsbuildinfo tsconfig.tsbuildinfo -knsv*.html +#knsv*.html local*.html stats/ diff --git a/cypress/platform/knsv2.html b/cypress/platform/knsv2.html index 5cc8036d52..e52019e409 100644 --- a/cypress/platform/knsv2.html +++ b/cypress/platform/knsv2.html @@ -59,7 +59,7 @@
     stateDiagram-v2
    -       Second
    +     ASH --> KNUT
       
    diff --git a/packages/mermaid/src/dagre-wrapper/nodes.js b/packages/mermaid/src/dagre-wrapper/nodes.js
    index 052bc88741..ff1b7d5681 100644
    --- a/packages/mermaid/src/dagre-wrapper/nodes.js
    +++ b/packages/mermaid/src/dagre-wrapper/nodes.js
    @@ -372,13 +372,26 @@ const rect = async (parent, node) => {
       // add the rect
       const rect = shapeSvg.insert('rect', ':first-child');
     
    -
       // console.log('Rect node:', node, 'bbox:', bbox, 'halfPadding:', halfPadding, 'node.padding:', node.padding);
       // const totalWidth = bbox.width + node.padding * 2;
       // const totalHeight = bbox.height + node.padding * 2;
       const totalWidth = bbox.width + node.padding;
       const totalHeight = bbox.height + node.padding;
    -  console.log('Rect node:', node, rect.node(), 'bbox:', bbox, 'halfPadding:', halfPadding, 'node.padding:', node.padding, 'totalWidth:', totalWidth, 'totalHeight:', totalHeight);
    +  console.log(
    +    'Rect node:',
    +    node,
    +    rect.node(),
    +    'bbox:',
    +    bbox,
    +    'halfPadding:',
    +    halfPadding,
    +    'node.padding:',
    +    node.padding,
    +    'totalWidth:',
    +    totalWidth,
    +    'totalHeight:',
    +    totalHeight
    +  );
       rect
         .attr('class', 'basic label-container')
         .attr('style', node.style)
    diff --git a/packages/mermaid/src/diagrams/state/stateDb.js b/packages/mermaid/src/diagrams/state/stateDb.js
    index c5d5d390a8..29ea43799f 100644
    --- a/packages/mermaid/src/diagrams/state/stateDb.js
    +++ b/packages/mermaid/src/diagrams/state/stateDb.js
    @@ -21,6 +21,7 @@ import {
       DEFAULT_STATE_TYPE,
       DIVIDER_TYPE,
     } from './stateCommon.js';
    +import { node } from 'stylis';
     
     const START_NODE = '[*]';
     const START_TYPE = 'start';
    @@ -542,37 +543,48 @@ const setDirection = (dir) => {
     const trimColon = (str) => (str && str[0] === ':' ? str.substr(1).trim() : str.trim());
     
     const dataFetcher = (parentId, doc, nodes, edges) => {
    -  doc.forEach((item) => {
    -    switch (item.stmt) {
    -      case STMT_STATE:
    -        if (parentId) {
    -          nodes.push({ ...item, labelText: item.id, labelType: 'text', parentId, shape: 'rect' });
    -        } else {
    -          nodes.push({
    -            ...item,
    -            labelText: item.id,
    -            // description: item.id,
    -            labelType: 'text',
    -            labelStyle: '',
    -            shape: 'rect',
    -            domId: 'state-bla-bla-bla',
    -            x: 100,
    -            y: 100,
    -            height: 100,
    -            width: 100,
    -            padding: 15,
    -            classes: ' statediagram-state',
    -          });
    -        }
    -        if (item.doc) {
    -          dataFetcher(item.id, item.doc, nodes, edges);
    -        }
    -        break;
    -      case STMT_RELATION:
    -        edges.push(item);
    -        break;
    +  extract(doc);
    +
    +  //states
    +  const stateKeys = Object.keys(currentDocument.states);
    +
    +  stateKeys.forEach((key) => {
    +    const item = currentDocument.states[key];
    +
    +    if (parentId) {
    +      nodes.push({ ...item, labelText: item.id, labelType: 'text', parentId, shape: 'rect' });
    +    } else {
    +      nodes.push({
    +        ...item,
    +        labelText: item.id,
    +        // description: item.id,
    +        labelType: 'text',
    +        labelStyle: '',
    +        shape: 'rect',
    +        padding: 15,
    +        classes: ' statediagram-state',
    +      });
         }
       });
    +
    +  //edges
    +  currentDocument.relations.forEach((item) => {
    +    edges.push({
    +      id: item.id1 + item.id2,
    +      from: item.id1,
    +      to: item.id2,
    +      label: item.relationTitle,
    +    });
    +  });
    +
    +  // if (item.doc) {
    +  //   dataFetcher(item.id, item.doc, nodes, edges);
    +  // }
    +  //break;
    +  //   case STMT_RELATION:
    +  //     edges.push(item);
    +  //     break;
    +  // }
     };
     export const getData = () => {
       const nodes = [];
    diff --git a/packages/mermaid/src/diagrams/state/stateRenderer-v3-unified.ts b/packages/mermaid/src/diagrams/state/stateRenderer-v3-unified.ts
    index 7e30ece82b..bf72d3cbbd 100644
    --- a/packages/mermaid/src/diagrams/state/stateRenderer-v3-unified.ts
    +++ b/packages/mermaid/src/diagrams/state/stateRenderer-v3-unified.ts
    @@ -83,7 +83,6 @@ export const draw = async function (text: string, id: string, _version: string,
       // // The performRender method provided in all supported diagrams is used to render the data
       // performRender(data4Rendering);
     
    -  console.log('REF1:', data4Layout);
       data4Layout.type = diag.type;
       data4Layout.layoutAlgorithm = 'dagre-wrapper';
       data4Layout.skin = 'roughjs';
    @@ -92,7 +91,7 @@ export const draw = async function (text: string, id: string, _version: string,
       data4Layout.rankSpacing = conf.rankSpacing || 50;
       data4Layout.markers = ['barb'];
       data4Layout.diagramId = id;
    -
    +  console.log('REF1:', data4Layout);
       await render(data4Layout, svg, element);
     };
     
    diff --git a/packages/mermaid/src/rendering-util/layout-algorithms/dagre/index.js b/packages/mermaid/src/rendering-util/layout-algorithms/dagre/index.js
    index f6760f96f7..6600df08d5 100644
    --- a/packages/mermaid/src/rendering-util/layout-algorithms/dagre/index.js
    +++ b/packages/mermaid/src/rendering-util/layout-algorithms/dagre/index.js
    @@ -203,6 +203,11 @@ export const render = async (data4Layout, svg, element) => {
         graph.setNode(node.id, { ...node });
       });
     
    +  console.log('Edges:', data4Layout.edges);
    +  data4Layout.edges.forEach((edge) => {
    +    graph.setEdge(edge.from, edge.to, { ...edge });
    +  });
    +
       log.warn('Graph at first:', JSON.stringify(graphlibJson.write(graph)));
       adjustClustersAndEdges(graph);
       log.warn('Graph after:', JSON.stringify(graphlibJson.write(graph)));
    diff --git a/packages/mermaid/src/rendering-util/rendering-elements/shapes/rect.js b/packages/mermaid/src/rendering-util/rendering-elements/shapes/rect.ts
    similarity index 79%
    rename from packages/mermaid/src/rendering-util/rendering-elements/shapes/rect.js
    rename to packages/mermaid/src/rendering-util/rendering-elements/shapes/rect.ts
    index 96b803fdb7..e261185418 100644
    --- a/packages/mermaid/src/rendering-util/rendering-elements/shapes/rect.js
    +++ b/packages/mermaid/src/rendering-util/rendering-elements/shapes/rect.ts
    @@ -1,6 +1,7 @@
     import { log } from '$root/logger.js';
     import { labelHelper, updateNodeBounds } from './util.js';
     import intersect from '../intersect/index.js';
    +import type { Node } from '$root/rendering-util/types.d.ts';
     
     /**
      *
    @@ -9,12 +10,20 @@ import intersect from '../intersect/index.js';
      * @param totalWidth
      * @param totalHeight
      */
    -function applyNodePropertyBorders(rect, borders, totalWidth, totalHeight) {
    -  const strokeDashArray = [];
    -  const addBorder = (length) => {
    +function applyNodePropertyBorders(
    +  rect: d3.Selection,
    +  borders: string | undefined,
    +  totalWidth: number,
    +  totalHeight: number
    +) {
    +  if (!borders) {
    +    return;
    +  }
    +  const strokeDashArray: number[] = [];
    +  const addBorder = (length: number) => {
         strokeDashArray.push(length, 0);
       };
    -  const skipBorder = (length) => {
    +  const skipBorder = (length: number) => {
         strokeDashArray.push(0, length);
       };
       if (borders.includes('t')) {
    @@ -41,10 +50,11 @@ function applyNodePropertyBorders(rect, borders, totalWidth, totalHeight) {
       } else {
         skipBorder(totalHeight);
       }
    +
       rect.attr('stroke-dasharray', strokeDashArray.join(' '));
     }
     
    -export const rect = async (parent, node) => {
    +export const rect = async (parent: SVGAElement, node: Node) => {
       const { shapeSvg, bbox, halfPadding } = await labelHelper(
         parent,
         node,
    @@ -52,7 +62,7 @@ export const rect = async (parent, node) => {
         true
       );
     
    -  console.log('rect node', node);
    +  console.log('new rect node', node);
     
       // add the rect
       const rect = shapeSvg.insert('rect', ':first-child');
    @@ -75,7 +85,7 @@ export const rect = async (parent, node) => {
       if (node.props) {
         const propKeys = new Set(Object.keys(node.props));
         if (node.props.borders) {
    -      applyNodePropertyBorders(rect, node.props.borders, totalWidth, totalHeight);
    +      applyNodePropertyBorders(rect, node.props.borders + '', totalWidth, totalHeight);
           propKeys.delete('borders');
         }
         propKeys.forEach((propKey) => {
    @@ -92,7 +102,7 @@ export const rect = async (parent, node) => {
       return shapeSvg;
     };
     
    -export const labelRect = async (parent, node) => {
    +export const labelRect = async (parent: SVGElement, node: Node) => {
       const { shapeSvg } = await labelHelper(parent, node, 'label', true);
     
       log.trace('Classes = ', node.class);
    @@ -108,7 +118,7 @@ export const labelRect = async (parent, node) => {
       if (node.props) {
         const propKeys = new Set(Object.keys(node.props));
         if (node.props.borders) {
    -      applyNodePropertyBorders(rect, node.props.borders, totalWidth, totalHeight);
    +      applyNodePropertyBorders(rect, node.borders, totalWidth, totalHeight);
           propKeys.delete('borders');
         }
         propKeys.forEach((propKey) => {
    diff --git a/packages/mermaid/src/rendering-util/types.d.ts b/packages/mermaid/src/rendering-util/types.d.ts
    index 497a84acc9..38a48b38d3 100644
    --- a/packages/mermaid/src/rendering-util/types.d.ts
    +++ b/packages/mermaid/src/rendering-util/types.d.ts
    @@ -33,6 +33,11 @@ interface Node {
       tooltip?: string;
       type: string;
       width?: number;
    +  intersect?: (point: any) => any;
    +  // Specific properties for State Diagram nodes TODO remove and use generic properties
    +  style?: string;
    +  class?: string;
    +  borders?: string;
     }
     
     // Common properties for any edge in the system
    diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
    index 9c860f9c42..dde85ebf6e 100644
    --- a/pnpm-lock.yaml
    +++ b/pnpm-lock.yaml
    @@ -503,61 +503,6 @@ importers:
             specifier: ^7.0.0
             version: 7.0.0
     
    -  packages/mermaid/src/vitepress:
    -    dependencies:
    -      '@vueuse/core':
    -        specifier: ^10.1.0
    -        version: 10.1.0(vue@3.3.4)
    -      jiti:
    -        specifier: ^1.18.2
    -        version: 1.18.2
    -      mermaid:
    -        specifier: workspace:^
    -        version: link:../..
    -      vue:
    -        specifier: ^3.3
    -        version: 3.3.4
    -    devDependencies:
    -      '@iconify-json/carbon':
    -        specifier: ^1.1.16
    -        version: 1.1.16
    -      '@unocss/reset':
    -        specifier: ^0.58.0
    -        version: 0.58.0
    -      '@vite-pwa/vitepress':
    -        specifier: ^0.3.0
    -        version: 0.3.0(vite-plugin-pwa@0.17.0)
    -      '@vitejs/plugin-vue':
    -        specifier: ^4.2.1
    -        version: 4.2.1(vite@4.4.12)(vue@3.3.4)
    -      fast-glob:
    -        specifier: ^3.2.12
    -        version: 3.2.12
    -      https-localhost:
    -        specifier: ^4.7.1
    -        version: 4.7.1
    -      pathe:
    -        specifier: ^1.1.0
    -        version: 1.1.0
    -      unocss:
    -        specifier: ^0.58.0
    -        version: 0.58.0(postcss@8.4.33)(rollup@2.79.1)(vite@4.4.12)
    -      unplugin-vue-components:
    -        specifier: ^0.26.0
    -        version: 0.26.0(rollup@2.79.1)(vue@3.3.4)
    -      vite:
    -        specifier: ^4.4.12
    -        version: 4.4.12(@types/node@18.17.5)
    -      vite-plugin-pwa:
    -        specifier: ^0.17.0
    -        version: 0.17.0(vite@4.4.12)(workbox-build@7.0.0)(workbox-window@7.0.0)
    -      vitepress:
    -        specifier: 1.0.0-rc.39
    -        version: 1.0.0-rc.39(@algolia/client-search@4.19.1)(@types/node@18.17.5)(postcss@8.4.33)(search-insights@2.7.0)(typescript@5.1.6)
    -      workbox-window:
    -        specifier: ^7.0.0
    -        version: 7.0.0
    -
       packages/parser:
         dependencies:
           langium:
    @@ -5351,22 +5296,6 @@ packages:
           eslint-visitor-keys: 3.4.3
         dev: true
     
    -  /@unocss/astro@0.58.0(rollup@2.79.1)(vite@4.4.12):
    -    resolution: {integrity: sha512-df+tEFO5eKXjQOwSWQhS9IdjD0sfLHLtn8U09sEKR2Nmh5CvpwyBxmvLQgOCilPou7ehmyKfsyGRLZg7IMp+Ew==}
    -    peerDependencies:
    -      vite: ^2.9.0 || ^3.0.0-0 || ^4.0.0 || ^5.0.0-0
    -    peerDependenciesMeta:
    -      vite:
    -        optional: true
    -    dependencies:
    -      '@unocss/core': 0.58.0
    -      '@unocss/reset': 0.58.0
    -      '@unocss/vite': 0.58.0(rollup@2.79.1)(vite@4.4.12)
    -      vite: 4.4.12(@types/node@18.17.5)
    -    transitivePeerDependencies:
    -      - rollup
    -    dev: true
    -
       /@unocss/astro@0.58.0(rollup@2.79.1)(vite@4.5.0):
         resolution: {integrity: sha512-df+tEFO5eKXjQOwSWQhS9IdjD0sfLHLtn8U09sEKR2Nmh5CvpwyBxmvLQgOCilPou7ehmyKfsyGRLZg7IMp+Ew==}
         peerDependencies:
    @@ -5561,26 +5490,6 @@ packages:
           '@unocss/core': 0.58.0
         dev: true
     
    -  /@unocss/vite@0.58.0(rollup@2.79.1)(vite@4.4.12):
    -    resolution: {integrity: sha512-OCUOLMSOBEtXOEyBbAvMI3/xdR175BWRzmvV9Wc34ANZclEvCdVH8+WU725ibjY4VT0gVIuX68b13fhXdHV41A==}
    -    peerDependencies:
    -      vite: ^2.9.0 || ^3.0.0-0 || ^4.0.0 || ^5.0.0-0
    -    dependencies:
    -      '@ampproject/remapping': 2.2.1
    -      '@rollup/pluginutils': 5.1.0(rollup@2.79.1)
    -      '@unocss/config': 0.58.0
    -      '@unocss/core': 0.58.0
    -      '@unocss/inspector': 0.58.0
    -      '@unocss/scope': 0.58.0
    -      '@unocss/transformer-directives': 0.58.0
    -      chokidar: 3.5.3
    -      fast-glob: 3.3.2
    -      magic-string: 0.30.5
    -      vite: 4.4.12(@types/node@18.17.5)
    -    transitivePeerDependencies:
    -      - rollup
    -    dev: true
    -
       /@unocss/vite@0.58.0(rollup@2.79.1)(vite@4.5.0):
         resolution: {integrity: sha512-OCUOLMSOBEtXOEyBbAvMI3/xdR175BWRzmvV9Wc34ANZclEvCdVH8+WU725ibjY4VT0gVIuX68b13fhXdHV41A==}
         peerDependencies:
    @@ -5609,17 +5518,6 @@ packages:
           vite-plugin-pwa: 0.17.0(vite@4.5.0)(workbox-build@7.0.0)(workbox-window@7.0.0)
         dev: true
     
    -  /@vitejs/plugin-vue@4.2.1(vite@4.4.12)(vue@3.3.4):
    -    resolution: {integrity: sha512-ZTZjzo7bmxTRTkb8GSTwkPOYDIP7pwuyV+RV53c9PYUouwcbkIZIvWvNWlX2b1dYZqtOv7D6iUAnJLVNGcLrSw==}
    -    engines: {node: ^14.18.0 || >=16.0.0}
    -    peerDependencies:
    -      vite: ^4.0.0
    -      vue: ^3.2.25
    -    dependencies:
    -      vite: 4.4.12(@types/node@18.17.5)
    -      vue: 3.3.4
    -    dev: true
    -
       /@vitejs/plugin-vue@4.2.1(vite@4.5.0)(vue@3.3.4):
         resolution: {integrity: sha512-ZTZjzo7bmxTRTkb8GSTwkPOYDIP7pwuyV+RV53c9PYUouwcbkIZIvWvNWlX2b1dYZqtOv7D6iUAnJLVNGcLrSw==}
         engines: {node: ^14.18.0 || >=16.0.0}
    @@ -15861,45 +15759,6 @@ packages:
         engines: {node: '>= 10.0.0'}
         dev: true
     
    -  /unocss@0.58.0(postcss@8.4.33)(rollup@2.79.1)(vite@4.4.12):
    -    resolution: {integrity: sha512-MSPRHxBqWN+1AHGV+J5uUy4//e6ZBK6O+ISzD0qrXcCD/GNtxk1+lYjOK2ltkUiKX539+/KF91vNxzhhwEf+xA==}
    -    engines: {node: '>=14'}
    -    peerDependencies:
    -      '@unocss/webpack': 0.58.0
    -      vite: ^2.9.0 || ^3.0.0-0 || ^4.0.0 || ^5.0.0-0
    -    peerDependenciesMeta:
    -      '@unocss/webpack':
    -        optional: true
    -      vite:
    -        optional: true
    -    dependencies:
    -      '@unocss/astro': 0.58.0(rollup@2.79.1)(vite@4.4.12)
    -      '@unocss/cli': 0.58.0(rollup@2.79.1)
    -      '@unocss/core': 0.58.0
    -      '@unocss/extractor-arbitrary-variants': 0.58.0
    -      '@unocss/postcss': 0.58.0(postcss@8.4.33)
    -      '@unocss/preset-attributify': 0.58.0
    -      '@unocss/preset-icons': 0.58.0
    -      '@unocss/preset-mini': 0.58.0
    -      '@unocss/preset-tagify': 0.58.0
    -      '@unocss/preset-typography': 0.58.0
    -      '@unocss/preset-uno': 0.58.0
    -      '@unocss/preset-web-fonts': 0.58.0
    -      '@unocss/preset-wind': 0.58.0
    -      '@unocss/reset': 0.58.0
    -      '@unocss/transformer-attributify-jsx': 0.58.0
    -      '@unocss/transformer-attributify-jsx-babel': 0.58.0
    -      '@unocss/transformer-compile-class': 0.58.0
    -      '@unocss/transformer-directives': 0.58.0
    -      '@unocss/transformer-variant-group': 0.58.0
    -      '@unocss/vite': 0.58.0(rollup@2.79.1)(vite@4.4.12)
    -      vite: 4.4.12(@types/node@18.17.5)
    -    transitivePeerDependencies:
    -      - postcss
    -      - rollup
    -      - supports-color
    -    dev: true
    -
       /unocss@0.58.0(postcss@8.4.33)(rollup@2.79.1)(vite@4.5.0):
         resolution: {integrity: sha512-MSPRHxBqWN+1AHGV+J5uUy4//e6ZBK6O+ISzD0qrXcCD/GNtxk1+lYjOK2ltkUiKX539+/KF91vNxzhhwEf+xA==}
         engines: {node: '>=14'}
    @@ -16129,24 +15988,6 @@ packages:
           - supports-color
         dev: true
     
    -  /vite-plugin-pwa@0.17.0(vite@4.4.12)(workbox-build@7.0.0)(workbox-window@7.0.0):
    -    resolution: {integrity: sha512-cOyEG8EEc7JHmyMapTnjK2j0g2BIC3ErlmOHyGzVu8hqjyF9Jt6yWMmVNFtpA6v/NNyzP28ARf3vwzIAzR1kaw==}
    -    engines: {node: '>=16.0.0'}
    -    peerDependencies:
    -      vite: ^3.1.0 || ^4.0.0 || ^5.0.0
    -      workbox-build: ^7.0.0
    -      workbox-window: ^7.0.0
    -    dependencies:
    -      debug: 4.3.4(supports-color@8.1.1)
    -      fast-glob: 3.3.2
    -      pretty-bytes: 6.1.1
    -      vite: 4.4.12(@types/node@18.17.5)
    -      workbox-build: 7.0.0
    -      workbox-window: 7.0.0
    -    transitivePeerDependencies:
    -      - supports-color
    -    dev: true
    -
       /vite-plugin-pwa@0.17.0(vite@4.5.0)(workbox-build@7.0.0)(workbox-window@7.0.0):
         resolution: {integrity: sha512-cOyEG8EEc7JHmyMapTnjK2j0g2BIC3ErlmOHyGzVu8hqjyF9Jt6yWMmVNFtpA6v/NNyzP28ARf3vwzIAzR1kaw==}
         engines: {node: '>=16.0.0'}
    @@ -16996,6 +16837,7 @@ packages:
     
       /workbox-google-analytics@7.0.0:
         resolution: {integrity: sha512-MEYM1JTn/qiC3DbpvP2BVhyIH+dV/5BjHk756u9VbwuAhu0QHyKscTnisQuz21lfRpOwiS9z4XdqeVAKol0bzg==}
    +    deprecated: It is not compatible with newer versions of GA starting with v4, as long as you are using GAv3 it should be ok, but the package is not longer being maintained
         dependencies:
           workbox-background-sync: 7.0.0
           workbox-core: 7.0.0
    
    From 6b1d56817204da6e8853ea6b0fa357026b3e3133 Mon Sep 17 00:00:00 2001
    From: Knut Sveidqvist 
    Date: Wed, 24 Apr 2024 14:40:09 +0200
    Subject: [PATCH 338/789] #5237 Adding roughjs
    
    ---
     packages/mermaid/package.json |  1 +
     pnpm-lock.yaml                | 31 +++++++++++++++++++++++++++++++
     2 files changed, 32 insertions(+)
    
    diff --git a/packages/mermaid/package.json b/packages/mermaid/package.json
    index bf83ee020e..96caf80c10 100644
    --- a/packages/mermaid/package.json
    +++ b/packages/mermaid/package.json
    @@ -72,6 +72,7 @@
         "khroma": "^2.0.0",
         "lodash-es": "^4.17.21",
         "mdast-util-from-markdown": "^1.3.0",
    +    "roughjs": "^4.6.6",
         "stylis": "^4.1.3",
         "ts-dedent": "^2.2.0",
         "uuid": "^9.0.0"
    diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
    index 9c860f9c42..553de86167 100644
    --- a/pnpm-lock.yaml
    +++ b/pnpm-lock.yaml
    @@ -236,6 +236,9 @@ importers:
           mdast-util-from-markdown:
             specifier: ^1.3.0
             version: 1.3.0
    +      roughjs:
    +        specifier: ^4.6.6
    +        version: 4.6.6
           stylis:
             specifier: ^4.1.3
             version: 4.1.3
    @@ -10324,6 +10327,10 @@ packages:
           duplexer: 0.1.2
         dev: true
     
    +  /hachure-fill@0.5.2:
    +    resolution: {integrity: sha512-3GKBOn+m2LX9iq+JC1064cSFprJY4jL1jCXTcpnfER5HYE2l/4EfWSGzkPa/ZDBmYI0ZOEj5VHV/eKnPGkHuOg==}
    +    dev: false
    +
       /handle-thing@2.0.1:
         resolution: {integrity: sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg==}
         dev: true
    @@ -13423,6 +13430,10 @@ packages:
         resolution: {integrity: sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==}
         dev: true
     
    +  /path-data-parser@0.1.0:
    +    resolution: {integrity: sha512-NOnmBpt5Y2RWbuv0LMzsayp3lVylAHLPUTut412ZA3l+C4uw4ZVkQbjShYCQ8TCpUMdPapr4YjUqLYD6v68j+w==}
    +    dev: false
    +
       /path-exists@3.0.0:
         resolution: {integrity: sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==}
         engines: {node: '>=4'}
    @@ -13650,6 +13661,17 @@ packages:
         hasBin: true
         dev: true
     
    +  /points-on-curve@0.2.0:
    +    resolution: {integrity: sha512-0mYKnYYe9ZcqMCWhUjItv/oHjvgEsfKvnUTg8sAtnHr3GVy7rGkXCb6d5cSyqrWqL4k81b9CPg3urd+T7aop3A==}
    +    dev: false
    +
    +  /points-on-path@0.2.1:
    +    resolution: {integrity: sha512-25ClnWWuw7JbWZcgqY/gJ4FQWadKxGWk+3kR/7kD0tCaDtPPMj7oHu2ToLaVhfpnHrZzYby2w6tUA0eOIuUg8g==}
    +    dependencies:
    +      path-data-parser: 0.1.0
    +      points-on-curve: 0.2.0
    +    dev: false
    +
       /polka@0.5.2:
         resolution: {integrity: sha512-FVg3vDmCqP80tOrs+OeNlgXYmFppTXdjD5E7I4ET1NjvtNmQrb1/mJibybKkb/d4NA7YWAr1ojxuhpL3FHqdlw==}
         dependencies:
    @@ -14380,6 +14402,15 @@ packages:
           fsevents: 2.3.3
         dev: true
     
    +  /roughjs@4.6.6:
    +    resolution: {integrity: sha512-ZUz/69+SYpFN/g/lUlo2FXcIjRkSu3nDarreVdGGndHEBJ6cXPdKguS8JGxwj5HA5xIbVKSmLgr5b3AWxtRfvQ==}
    +    dependencies:
    +      hachure-fill: 0.5.2
    +      path-data-parser: 0.1.0
    +      points-on-curve: 0.2.0
    +      points-on-path: 0.2.1
    +    dev: false
    +
       /rrweb-cssom@0.6.0:
         resolution: {integrity: sha512-APM0Gt1KoXBz0iIkkdB/kfvGOwC4UuJFeG/c+yV7wSc7q96cG/kJ0HiYCnzivD9SB53cLV1MlHFNfOuPaadYSw==}
         dev: true
    
    From da40dbf1dd1f234316d8e9d0f866f8a6021793ea Mon Sep 17 00:00:00 2001
    From: Knut Sveidqvist 
    Date: Wed, 24 Apr 2024 15:21:28 +0200
    Subject: [PATCH 339/789] #5237 Adding roughjs
    
    ---
     .../rendering-elements/shapes/rect.ts         | 58 +++++++++++++------
     1 file changed, 41 insertions(+), 17 deletions(-)
    
    diff --git a/packages/mermaid/src/rendering-util/rendering-elements/shapes/rect.ts b/packages/mermaid/src/rendering-util/rendering-elements/shapes/rect.ts
    index e261185418..68440515f4 100644
    --- a/packages/mermaid/src/rendering-util/rendering-elements/shapes/rect.ts
    +++ b/packages/mermaid/src/rendering-util/rendering-elements/shapes/rect.ts
    @@ -2,7 +2,8 @@ import { log } from '$root/logger.js';
     import { labelHelper, updateNodeBounds } from './util.js';
     import intersect from '../intersect/index.js';
     import type { Node } from '$root/rendering-util/types.d.ts';
    -
    +import rough from 'roughjs';
    +import { select } from 'd3';
     /**
      *
      * @param rect
    @@ -54,6 +55,20 @@ function applyNodePropertyBorders(
       rect.attr('stroke-dasharray', strokeDashArray.join(' '));
     }
     
    +function roundedRect(ctx, x, y, width, height, radius) {
    +  ctx.beginPath();
    +  ctx.moveTo(x + radius, y);
    +  ctx.lineTo(x + width - radius, y);
    +  ctx.quadraticCurveTo(x + width, y, x + width, y + radius);
    +  ctx.lineTo(x + width, y + height - radius);
    +  ctx.quadraticCurveTo(x + width, y + height, x + width - radius, y + height);
    +  ctx.lineTo(x + radius, y + height);
    +  ctx.quadraticCurveTo(x, y + height, x, y + height - radius);
    +  ctx.lineTo(x, y + radius);
    +  ctx.quadraticCurveTo(x, y, x + radius, y);
    +  ctx.closePath();
    +}
    +
     export const rect = async (parent: SVGAElement, node: Node) => {
       const { shapeSvg, bbox, halfPadding } = await labelHelper(
         parent,
    @@ -62,25 +77,34 @@ export const rect = async (parent: SVGAElement, node: Node) => {
         true
       );
     
    -  console.log('new rect node', node);
    -
    -  // add the rect
    -  const rect = shapeSvg.insert('rect', ':first-child');
    +  const useRough = true;
     
       const totalWidth = bbox.width + node.padding;
       const totalHeight = bbox.height + node.padding;
    -
    -  rect
    -    .attr('class', 'basic label-container')
    -    .attr('style', node.style)
    -    .attr('rx', node.rx)
    -    .attr('ry', node.ry)
    -    // .attr('x', -bbox.width / 2 - node.padding)
    -    // .attr('y', -bbox.height / 2 - node.padding)
    -    .attr('x', -bbox.width / 2 - halfPadding)
    -    .attr('y', -bbox.height / 2 - halfPadding)
    -    .attr('width', totalWidth)
    -    .attr('height', totalHeight);
    +  const x = -bbox.width / 2 - halfPadding;
    +  const y = -bbox.height / 2 - halfPadding;
    +
    +  let rect;
    +  if (useRough) {
    +    const rc = rough.svg(shapeSvg);
    +    // add the rect
    +    const rnode = rc.rectangle(x, y, totalWidth, totalHeight);
    +    const svgNode = shapeSvg.node();
    +    svgNode.insertBefore(rnode, svgNode.firstChild);
    +    rect = select(rnode);
    +  } else {
    +    rect = shapeSvg.insert('rect', ':first-child');
    +
    +    rect
    +      .attr('class', 'basic label-container')
    +      .attr('style', node.style)
    +      .attr('rx', node.rx)
    +      .attr('ry', node.ry)
    +      .attr('x', x)
    +      .attr('y', y)
    +      .attr('width', totalWidth)
    +      .attr('height', totalHeight);
    +  }
     
       if (node.props) {
         const propKeys = new Set(Object.keys(node.props));
    
    From 3e4193e3d5608b80106774de2c01f0b33f110318 Mon Sep 17 00:00:00 2001
    From: Ashish Jain 
    Date: Wed, 24 Apr 2024 15:23:13 +0200
    Subject: [PATCH 340/789] #5237 WIP
    
    ---
     .../mermaid/src/diagrams/state/stateCommon.ts | 15 ++++++++++++
     .../mermaid/src/diagrams/state/stateDb.js     | 24 +++++++++++++++----
     .../layout-algorithms/dagre/index.js          |  4 ++--
     .../rendering-elements/createLabel.js         |  2 +-
     .../rendering-elements/edges.js               |  1 +
     5 files changed, 38 insertions(+), 8 deletions(-)
    
    diff --git a/packages/mermaid/src/diagrams/state/stateCommon.ts b/packages/mermaid/src/diagrams/state/stateCommon.ts
    index 2df19eee8d..7d80f41e0e 100644
    --- a/packages/mermaid/src/diagrams/state/stateCommon.ts
    +++ b/packages/mermaid/src/diagrams/state/stateCommon.ts
    @@ -20,6 +20,15 @@ export const STMT_APPLYCLASS = 'applyClass';
     export const DEFAULT_STATE_TYPE = 'default';
     export const DIVIDER_TYPE = 'divider';
     
    +// Graph edge settings
    +export const G_EDGE_STYLE = 'fill:none';
    +export const G_EDGE_ARROWHEADSTYLE = 'fill: #333';
    +export const G_EDGE_LABELPOS = 'c';
    +export const G_EDGE_LABELTYPE = 'text';
    +export const G_EDGE_THICKNESS = 'normal';
    +
    +export const CSS_EDGE = 'transition';
    +
     export default {
       DEFAULT_DIAGRAM_DIRECTION,
       DEFAULT_NESTED_DOC_DIR,
    @@ -29,4 +38,10 @@ export default {
       STMT_APPLYCLASS,
       DEFAULT_STATE_TYPE,
       DIVIDER_TYPE,
    +  G_EDGE_STYLE,
    +  G_EDGE_ARROWHEADSTYLE,
    +  G_EDGE_LABELPOS,
    +  G_EDGE_LABELTYPE,
    +  G_EDGE_THICKNESS,
    +  CSS_EDGE,
     };
    diff --git a/packages/mermaid/src/diagrams/state/stateDb.js b/packages/mermaid/src/diagrams/state/stateDb.js
    index 29ea43799f..e9a4148b96 100644
    --- a/packages/mermaid/src/diagrams/state/stateDb.js
    +++ b/packages/mermaid/src/diagrams/state/stateDb.js
    @@ -20,8 +20,13 @@ import {
       STMT_APPLYCLASS,
       DEFAULT_STATE_TYPE,
       DIVIDER_TYPE,
    +  G_EDGE_STYLE,
    +  G_EDGE_ARROWHEADSTYLE,
    +  G_EDGE_LABELPOS,
    +  G_EDGE_LABELTYPE,
    +  G_EDGE_THICKNESS,
    +  CSS_EDGE,
     } from './stateCommon.js';
    -import { node } from 'stylis';
     
     const START_NODE = '[*]';
     const START_TYPE = 'start';
    @@ -570,10 +575,19 @@ const dataFetcher = (parentId, doc, nodes, edges) => {
       //edges
       currentDocument.relations.forEach((item) => {
         edges.push({
    -      id: item.id1 + item.id2,
    -      from: item.id1,
    -      to: item.id2,
    -      label: item.relationTitle,
    +      id: item.id1 + '-' + item.id2,
    +      start: item.id1,
    +      end: item.id2,
    +      arrowhead: 'normal',
    +      arrowTypeEnd: 'arrow_barb',
    +      style: G_EDGE_STYLE,
    +      labelStyle: '',
    +      label: common.sanitizeText(item.description, getConfig()),
    +      arrowheadStyle: G_EDGE_ARROWHEADSTYLE,
    +      labelpos: G_EDGE_LABELPOS,
    +      labelType: G_EDGE_LABELTYPE,
    +      thickness: G_EDGE_THICKNESS,
    +      classes: CSS_EDGE,
         });
       });
     
    diff --git a/packages/mermaid/src/rendering-util/layout-algorithms/dagre/index.js b/packages/mermaid/src/rendering-util/layout-algorithms/dagre/index.js
    index 6600df08d5..c08ae0bb44 100644
    --- a/packages/mermaid/src/rendering-util/layout-algorithms/dagre/index.js
    +++ b/packages/mermaid/src/rendering-util/layout-algorithms/dagre/index.js
    @@ -39,7 +39,7 @@ const recursiveRender = async (_elem, graph, diagramtype, id, parentCluster, sit
         log.info('Recursive render XXX', graph.nodes());
       }
       if (graph.edges().length > 0) {
    -    log.trace('Recursive edges', graph.edge(graph.edges()[0]));
    +    log.info('Recursive edges', graph.edge(graph.edges()[0]));
       }
       const clusters = elem.insert('g').attr('class', 'clusters');
       const edgePaths = elem.insert('g').attr('class', 'edgePaths');
    @@ -205,7 +205,7 @@ export const render = async (data4Layout, svg, element) => {
     
       console.log('Edges:', data4Layout.edges);
       data4Layout.edges.forEach((edge) => {
    -    graph.setEdge(edge.from, edge.to, { ...edge });
    +    graph.setEdge(edge.start, edge.end, { ...edge });
       });
     
       log.warn('Graph at first:', JSON.stringify(graphlibJson.write(graph)));
    diff --git a/packages/mermaid/src/rendering-util/rendering-elements/createLabel.js b/packages/mermaid/src/rendering-util/rendering-elements/createLabel.js
    index d62c1fc8c1..24bc143071 100644
    --- a/packages/mermaid/src/rendering-util/rendering-elements/createLabel.js
    +++ b/packages/mermaid/src/rendering-util/rendering-elements/createLabel.js
    @@ -63,7 +63,7 @@ const createLabel = (_vertexText, style, isTitle, isNode) => {
             /fa[blrs]?:fa-[\w-]+/g,
             (s) => ``
           ),
    -      labelStyle: style.replace('fill:', 'color:'),
    +      labelStyle: style ? style.replace('fill:', 'color:') : style,
         };
         let vertexNode = addHtmlLabel(node);
         // vertexNode.parentNode.removeChild(vertexNode);
    diff --git a/packages/mermaid/src/rendering-util/rendering-elements/edges.js b/packages/mermaid/src/rendering-util/rendering-elements/edges.js
    index a5f56266ee..b34569e495 100644
    --- a/packages/mermaid/src/rendering-util/rendering-elements/edges.js
    +++ b/packages/mermaid/src/rendering-util/rendering-elements/edges.js
    @@ -8,6 +8,7 @@ import { evaluate } from '$root/diagrams/common/common.js';
     import { getLineFunctionsWithOffset } from '$root/utils/lineWithOffset.js';
     import { getSubGraphTitleMargins } from '$root/utils/subGraphTitleMargins.js';
     import { addEdgeMarkers } from './edgeMarker.ts';
    +//import type { Edge } from '$root/rendering-util/types.d.ts';
     
     let edgeLabels = {};
     let terminalLabels = {};
    
    From 17fd681bdbfd26b72c01c6cb1943251ca18a6b7d Mon Sep 17 00:00:00 2001
    From: Ronid1 
    Date: Wed, 24 Apr 2024 12:53:40 -0700
    Subject: [PATCH 341/789] fix arrow pointer x position
    
    ---
     .../mermaid/src/diagrams/sequence/sequenceRenderer.ts    | 9 ++++++++-
     1 file changed, 8 insertions(+), 1 deletion(-)
    
    diff --git a/packages/mermaid/src/diagrams/sequence/sequenceRenderer.ts b/packages/mermaid/src/diagrams/sequence/sequenceRenderer.ts
    index 70f7f117b9..6bb3c654e6 100644
    --- a/packages/mermaid/src/diagrams/sequence/sequenceRenderer.ts
    +++ b/packages/mermaid/src/diagrams/sequence/sequenceRenderer.ts
    @@ -425,7 +425,14 @@ const drawMessage = async function (diagram, msgModel, lineStartY: number, diagO
         }
       } else {
         line = diagram.append('line');
    -    line.attr('x1', startx);
    +    let adjustedStartx = startx;
    +    if (
    +      type === diagObj.db.LINETYPE.BIDIRECTIONAL_DOTTED ||
    +      type === diagObj.db.LINETYPE.BIDIRECTIONAL_SOLID
    +    ) {
    +      startx < stopx ? (adjustedStartx += 3) : (adjustedStartx -= 3);
    +    }
    +    line.attr('x1', adjustedStartx);
         line.attr('y1', lineStartY);
         line.attr('x2', stopx);
         line.attr('y2', lineStartY);
    
    From 128c69aa76c58d088f03cb5dd4dd4fcdc1883846 Mon Sep 17 00:00:00 2001
    From: Yash Singh 
    Date: Wed, 17 Apr 2024 10:25:54 -0700
    Subject: [PATCH 342/789] fix: use maps for quadrant diagrams
    
    ---
     .../quadrant-chart/parser/quadrant.jison.spec.ts      | 11 +++++++++++
     .../src/diagrams/quadrant-chart/quadrantBuilder.ts    |  8 ++++----
     2 files changed, 15 insertions(+), 4 deletions(-)
    
    diff --git a/packages/mermaid/src/diagrams/quadrant-chart/parser/quadrant.jison.spec.ts b/packages/mermaid/src/diagrams/quadrant-chart/parser/quadrant.jison.spec.ts
    index 6ec2ddafb6..e59cc0fe20 100644
    --- a/packages/mermaid/src/diagrams/quadrant-chart/parser/quadrant.jison.spec.ts
    +++ b/packages/mermaid/src/diagrams/quadrant-chart/parser/quadrant.jison.spec.ts
    @@ -2,6 +2,7 @@
     import { parser } from './quadrant.jison';
     import type { Mock } from 'vitest';
     import { vi } from 'vitest';
    +import { addClass } from '../../flowchart/flowDb.js';
     
     const parserFnConstructor = (str: string) => {
       return () => {
    @@ -20,6 +21,7 @@ const mockDB: Record> = {
       setYAxisBottomText: vi.fn(),
       setDiagramTitle: vi.fn(),
       addPoint: vi.fn(),
    +  addClass: vi.fn(),
     };
     
     function clearMocks() {
    @@ -423,4 +425,13 @@ describe('Testing quadrantChart jison file', () => {
           ['stroke-width: 10px']
         );
       });
    +
    +  it('should be able to handle constructor as a className', () => {
    +    const str = `quadrantChart
    +    classDef constructor fill:#ff0000
    +    Microsoft:::constructor: [0.75, 0.75]
    +    `;
    +    expect(parserFnConstructor(str)).not.toThrow();
    +    expect(mockDB.addClass).toHaveBeenCalledWith('constructor', ['fill:#ff0000']);
    +  });
     });
    diff --git a/packages/mermaid/src/diagrams/quadrant-chart/quadrantBuilder.ts b/packages/mermaid/src/diagrams/quadrant-chart/quadrantBuilder.ts
    index 173b4c0780..f1507a1b90 100644
    --- a/packages/mermaid/src/diagrams/quadrant-chart/quadrantBuilder.ts
    +++ b/packages/mermaid/src/diagrams/quadrant-chart/quadrantBuilder.ts
    @@ -127,7 +127,7 @@ export class QuadrantBuilder {
       private config: QuadrantBuilderConfig;
       private themeConfig: QuadrantBuilderThemeConfig;
       private data: QuadrantBuilderData;
    -  private classes: Record = {};
    +  private classes: Map = new Map();
     
       constructor() {
         this.config = this.getDefaultConfig();
    @@ -202,7 +202,7 @@ export class QuadrantBuilder {
         this.config = this.getDefaultConfig();
         this.themeConfig = this.getDefaultThemeConfig();
         this.data = this.getDefaultData();
    -    this.classes = {};
    +    this.classes = new Map();
         log.info('clear called');
       }
     
    @@ -215,7 +215,7 @@ export class QuadrantBuilder {
       }
     
       addClass(className: string, styles: StylesObject) {
    -    this.classes[className] = styles;
    +    this.classes.set(className, styles);
       }
     
       setConfig(config: Partial) {
    @@ -486,7 +486,7 @@ export class QuadrantBuilder {
           .range([quadrantHeight + quadrantTop, quadrantTop]);
     
         const points: QuadrantPointType[] = this.data.points.map((point) => {
    -      const classStyles = this.classes[point.className as keyof typeof this.classes];
    +      const classStyles = this.classes.get(point.className!);
           if (classStyles) {
             point = { ...classStyles, ...point };
           }
    
    From e6e463092c64b9f718bd6e235e98ea49665726b4 Mon Sep 17 00:00:00 2001
    From: Knut Sveidqvist 
    Date: Thu, 25 Apr 2024 15:48:33 +0200
    Subject: [PATCH 343/789] #5237 Adding roughjs edges
    
    ---
     cypress/platform/knsv-4442.html               | 431 ++++++++++++++++++
     cypress/platform/knsv2.html                   |   3 +-
     .../rendering-elements/edges.js               |  74 ++-
     3 files changed, 469 insertions(+), 39 deletions(-)
     create mode 100644 cypress/platform/knsv-4442.html
    
    diff --git a/cypress/platform/knsv-4442.html b/cypress/platform/knsv-4442.html
    new file mode 100644
    index 0000000000..4a8fa7246f
    --- /dev/null
    +++ b/cypress/platform/knsv-4442.html
    @@ -0,0 +1,431 @@
    +
    +  
    +    
    +    
    +    
    +    
    +    
    +    
    +  
    +  
    +    
    +stateDiagram-v2
    +    [*] --> Still
    +    Still --> [*]
    +    Still --> Moving
    +    Moving --> Still
    +    Moving --> Crash
    +    Crash --> [*]    
    +
    +flowchart RL
    +    subgraph "`one`"
    +      a1 -- l1 --> a2
    +      a1 -- l2 --> a2
    +    end
    +    
    +
    +flowchart RL
    +    subgraph "`one`"
    +      a1 -- l1 --> a2
    +      a1 -- l2 --> a2
    +    end
    +    
    +
    +flowchart
    +id["`A root with a long text that wraps to keep the node size in check. A root with a long text that wraps to keep the node size in check`"]
    +
    +flowchart LR
    +    A[A text that needs to be wrapped wraps to another line]
    +    B[A text that needs to be
    wrapped wraps to another line] + C["`A text that needs to be wrapped to another line`"]
    +
    +flowchart LR
    +    C["`A text
    +        that needs
    +        to be wrapped
    +        in another
    +        way`"]
    +  
    +
    +      classDiagram-v2
    +        note "I love this diagram!\nDo you love it?"
    +    
    +
    +    stateDiagram-v2
    +    State1: The state with a note with minus - and plus + in it
    +    note left of State1
    +      Important information! You can write
    +      notes with . and  in them.
    +    end note    
    +
    +mindmap
    +root
    +  Child3(A node with an icon and with a long text that wraps to keep the node size in check)
    +
    +
    +      %%{init: {"theme": "forest"} }%%
    +mindmap
    +    id1[**Start2**
    end] + id2[**Start2**
    end] + %% Another comment + id3[**Start2**
    end] %% Comment + id4[**Start2**
    end
    the very end] +
    +
    +mindmap
    +    id1["`**Start2**
    +    second line 😎 with long text that is wrapping to the next line`"]
    +      id2["`Child **with bold** text`"]
    +      id3["`Children of which some
    +      is using *italic type of* text`"]
    +      id4[Child]
    +      id5["`Child
    +      Row
    +      and another
    +      `"]
    +    
    +
    +mindmap
    +    id1("`**Root**`"]
    +      id2["`A formatted text... with **bold** and *italics*`"]
    +      id3[Regular labels works as usual]
    +      id4["`Emojis and unicode works too: 🤓
    +      शान्तिः سلام  和平 `"]
    +
    +    
    +
    +%%{init: {"flowchart": {"defaultRenderer": "elk"}} }%%
    +flowchart TB
    +  %% I could not figure out how to use double quotes in labels in Mermaid
    +  subgraph ibm[IBM Espresso CPU]
    +    core0[IBM PowerPC Broadway Core 0]
    +    core1[IBM PowerPC Broadway Core 1]
    +    core2[IBM PowerPC Broadway Core 2]
    +
    +    rom[16 KB ROM]
    +
    +    core0 --- core2
    +
    +    rom --> core2
    +  end
    +
    +  subgraph amd["`**AMD** Latte GPU`"]
    +    mem[Memory & I/O Bridge]
    +    dram[DRAM Controller]
    +    edram[32 MB EDRAM MEM1]
    +    rom[512 B SEEPROM]
    +
    +    sata[SATA IF]
    +    exi[EXI]
    +
    +    subgraph gx[GX]
    +      sram[3 MB 1T-SRAM]
    +    end
    +
    +    radeon[AMD Radeon R7xx GX2]
    +
    +    mem --- gx
    +    mem --- radeon
    +
    +    rom --- mem
    +
    +    mem --- sata
    +    mem --- exi
    +
    +    dram --- sata
    +    dram --- exi
    +  end
    +
    +  ddr3[2 GB DDR3 RAM MEM2]
    +
    +  mem --- ddr3
    +  dram --- ddr3
    +  edram --- ddr3
    +
    +  core1 --- mem
    +
    +  exi --- rtc
    +  rtc{{rtc}}
    +
    +
    +%%{init: {"flowchart": {"defaultRenderer": "elk", "htmlLabels": false}} }%%
    +flowchart TB
    +  %% I could not figure out how to use double quotes in labels in Mermaid
    +  subgraph ibm[IBM Espresso CPU]
    +    core0[IBM PowerPC Broadway Core 0]
    +    core1[IBM PowerPC Broadway Core 1]
    +    core2[IBM PowerPC Broadway Core 2]
    +
    +    rom[16 KB ROM]
    +
    +    core0 --- core2
    +
    +    rom --> core2
    +  end
    +
    +  subgraph amd["`**AMD** Latte GPU`"]
    +    mem[Memory & I/O Bridge]
    +    dram[DRAM Controller]
    +    edram[32 MB EDRAM MEM1]
    +    rom[512 B SEEPROM]
    +
    +    sata[SATA IF]
    +    exi[EXI]
    +
    +    subgraph gx[GX]
    +      sram[3 MB 1T-SRAM]
    +    end
    +
    +    radeon[AMD Radeon R7xx GX2]
    +
    +    mem --- gx
    +    mem --- radeon
    +
    +    rom --- mem
    +
    +    mem --- sata
    +    mem --- exi
    +
    +    dram --- sata
    +    dram --- exi
    +  end
    +
    +  ddr3[2 GB DDR3 RAM MEM2]
    +
    +  mem --- ddr3
    +  dram --- ddr3
    +  edram --- ddr3
    +
    +  core1 --- mem
    +
    +  exi --- rtc
    +  rtc{{rtc}}
    +
    + +
    +
    +flowchart TB
    +  %% I could not figure out how to use double quotes in labels in Mermaid
    +  subgraph ibm[IBM Espresso CPU]
    +    core0[IBM PowerPC Broadway Core 0]
    +    core1[IBM PowerPC Broadway Core 1]
    +    core2[IBM PowerPC Broadway Core 2]
    +
    +    rom[16 KB ROM]
    +
    +    core0 --- core2
    +
    +    rom --> core2
    +  end
    +
    +  subgraph amd[AMD Latte GPU]
    +    mem[Memory & I/O Bridge]
    +    dram[DRAM Controller]
    +    edram[32 MB EDRAM MEM1]
    +    rom[512 B SEEPROM]
    +
    +    sata[SATA IF]
    +    exi[EXI]
    +
    +    subgraph gx[GX]
    +      sram[3 MB 1T-SRAM]
    +    end
    +
    +    radeon[AMD Radeon R7xx GX2]
    +
    +    mem --- gx
    +    mem --- radeon
    +
    +    rom --- mem
    +
    +    mem --- sata
    +    mem --- exi
    +
    +    dram --- sata
    +    dram --- exi
    +  end
    +
    +  ddr3[2 GB DDR3 RAM MEM2]
    +
    +  mem --- ddr3
    +  dram --- ddr3
    +  edram --- ddr3
    +
    +  core1 --- mem
    +
    +  exi --- rtc
    +  rtc{{rtc}}
    +
    +
    +   +
    +      flowchart LR
    +  B1 --be be--x B2
    +  B1 --bo bo--o B3
    +  subgraph Ugge
    +      B2
    +      B3
    +      subgraph inner
    +          B4
    +          B5
    +      end
    +      subgraph inner2
    +        subgraph deeper
    +          C4
    +          C5
    +        end
    +        C6
    +      end
    +
    +      B4 --> C4
    +
    +      B3 -- X --> B4
    +      B2 --> inner
    +
    +      C4 --> C5
    +  end
    +
    +  subgraph outer
    +      B6
    +  end
    +  B6 --> B5
    +  
    +
    +sequenceDiagram
    +    Customer->>+Stripe: Makes a payment request
    +    Stripe->>+Bank: Forwards the payment request to the bank
    +    Bank->>+Customer: Asks for authorization
    +    Customer->>+Bank: Provides authorization
    +    Bank->>+Stripe: Sends a response with payment details
    +    Stripe->>+Merchant: Sends a notification of payment receipt
    +    Merchant->>+Stripe: Confirms the payment
    +    Stripe->>+Customer: Sends a confirmation of payment
    +    Customer->>+Merchant: Receives goods or services
    +        
    +
    +mindmap
    +  root((mindmap))
    +    Origins
    +      Long history
    +      ::icon(fa fa-book)
    +      Popularisation
    +        British popular psychology author Tony Buzan
    +    Research
    +      On effectiveness
    and features + On Automatic creation + Uses + Creative techniques + Strategic planning + Argument mapping + Tools + Pen and paper + Mermaid +
    +
    +
    +  example-diagram
    +    
    + + + + + + + + + // import mindmap from '../../packages/mermaid-mindmap/src/detector'; // import example from + '../../packages/mermaid-example-diagram/src/mermaid-example-diagram.core.mjs'; import mermaid + from './mermaid.esm.mjs'; // await mermaid.registerExternalDiagrams([example]); + mermaid.parseError = function (err, hash) { // console.error('Mermaid error: ', err); }; + mermaid.initialize({ // theme: 'forest', startOnLoad: true, logLevel: 0, flowchart: { // + defaultRenderer: 'elk', useMaxWidth: false, // htmlLabels: false, htmlLabels: true, }, // + htmlLabels: false, gantt: { useMaxWidth: false, }, useMaxWidth: false, }); function callback() + { alert('It worked'); } mermaid.parseError = function (err, hash) { console.error('In parse + error:'); console.error(err); }; // mermaid.test1('first_slow', 1200).then((r) => + console.info(r)); // mermaid.test1('second_fast', 200).then((r) => console.info(r)); // + mermaid.test1('third_fast', 200).then((r) => console.info(r)); // mermaid.test1('forth_slow', + 1200).then((r) => console.info(r)); + + + + + diff --git a/cypress/platform/knsv2.html b/cypress/platform/knsv2.html index e52019e409..831a5d33ae 100644 --- a/cypress/platform/knsv2.html +++ b/cypress/platform/knsv2.html @@ -59,7 +59,8 @@
     stateDiagram-v2
    -     ASH --> KNUT
    +     Second --> Third
    +     Second --> Fourth
       
    diff --git a/packages/mermaid/src/rendering-util/rendering-elements/edges.js b/packages/mermaid/src/rendering-util/rendering-elements/edges.js
    index b34569e495..156f610bcd 100644
    --- a/packages/mermaid/src/rendering-util/rendering-elements/edges.js
    +++ b/packages/mermaid/src/rendering-util/rendering-elements/edges.js
    @@ -8,6 +8,7 @@ import { evaluate } from '$root/diagrams/common/common.js';
     import { getLineFunctionsWithOffset } from '$root/utils/lineWithOffset.js';
     import { getSubGraphTitleMargins } from '$root/utils/subGraphTitleMargins.js';
     import { addEdgeMarkers } from './edgeMarker.ts';
    +import rough from 'roughjs';
     //import type { Edge } from '$root/rendering-util/types.d.ts';
     
     let edgeLabels = {};
    @@ -395,37 +396,7 @@ export const insertEdge = function (elem, e, edge, clusterDb, diagramType, graph
       if (edge.toCluster) {
         log.info('to cluster abc88', clusterDb[edge.toCluster]);
         points = cutPathAtIntersect(edge.points, clusterDb[edge.toCluster].node);
    -    // log.trace('edge', edge);
    -    // points = [];
    -    // let lastPointOutside; // = edge.points[0];
    -    // let isInside = false;
    -    // edge.points.forEach(point => {
    -    //   const node = clusterDb[edge.toCluster].node;
    -    //   log.warn('checking from', edge.fromCluster, point, node);
    -
    -    //   if (!outsideNode(node, point) && !isInside) {
    -    //     log.trace('inside', edge.toCluster, point, lastPointOutside);
    -
    -    //     // First point inside the rect
    -    //     const inter = intersection(node, lastPointOutside, point);
    -
    -    //     let pointPresent = false;
    -    //     points.forEach(p => {
    -    //       pointPresent = pointPresent || (p.x === inter.x && p.y === inter.y);
    -    //     });
    -    //     // if (!pointPresent) {
    -    //     if (!points.find(e => e.x === inter.x && e.y === inter.y)) {
    -    //       points.push(inter);
    -    //     } else {
    -    //       log.warn('no intersect', inter, points);
    -    //     }
    -    //     isInside = true;
    -    // } else {
    -    //   // outside
    -    //   lastPointOutside = point;
    -    //   if (!isInside) points.push(point);
    -    // }
    -    // });
    +
         pointsHasChanged = true;
       }
     
    @@ -477,14 +448,41 @@ export const insertEdge = function (elem, e, edge, clusterDb, diagramType, graph
           strokeClasses += ' edge-pattern-dashed';
           break;
       }
    +  let useRough = true;
    +  let svgPath;
    +  let path = '';
    +  const pointArr = [];
    +  edge.points.forEach((point) => {
    +    path += point.x + ',' + point.y + ' ';
    +    pointArr.push([point.x, point.y]);
    +  });
     
    -  const svgPath = elem
    -    .append('path')
    -    .attr('d', lineFunction(lineData))
    -    .attr('id', edge.id)
    -    .attr('class', ' ' + strokeClasses + (edge.classes ? ' ' + edge.classes : ''))
    -    .attr('style', edge.style);
    -
    +  if (useRough) {
    +    const rc = rough.svg(elem);
    +    const svgPathNode = rc.curve(pointArr, { stroke: 'green' });
    +    console.log('svgPathNode', svgPathNode);
    +    // const svgPath2 = elem
    +    //   .append('path')
    +    //   .attr('d', lineFunction(lineData))
    +    //   .attr('id', edge.id)
    +    //   .attr('class', ' ' + strokeClasses + (edge.classes ? ' ' + edge.classes : ''))
    +    //   .attr('style', edge.style);
    +
    +    // console.log('svgPath2', svgPath2.node());
    +    svgPath = select(svgPathNode)
    +      .select('path')
    +      .attr('id', edge.id)
    +      .attr('class', ' ' + strokeClasses + (edge.classes ? ' ' + edge.classes : ''))
    +      .attr('style', edge.style);
    +    elem.node().appendChild(svgPath.node());
    +  } else {
    +    svgPath = elem
    +      .append('path')
    +      .attr('d', lineFunction(lineData))
    +      .attr('id', edge.id)
    +      .attr('class', ' ' + strokeClasses + (edge.classes ? ' ' + edge.classes : ''))
    +      .attr('style', edge.style);
    +  }
       // DEBUG code, adds a red circle at each edge coordinate
       // edge.points.forEach((point) => {
       //   elem
    
    From a2702e40587d772a0b22ad0d77599d7ecb4f21bf Mon Sep 17 00:00:00 2001
    From: Knut Sveidqvist 
    Date: Fri, 26 Apr 2024 07:24:57 +0200
    Subject: [PATCH 344/789] #5237 Adding support for rounded rect
    
    ---
     .../rendering-elements/shapes/rect.ts         | 68 +++++++++++++++++--
     1 file changed, 64 insertions(+), 4 deletions(-)
    
    diff --git a/packages/mermaid/src/rendering-util/rendering-elements/shapes/rect.ts b/packages/mermaid/src/rendering-util/rendering-elements/shapes/rect.ts
    index 68440515f4..03abb1f937 100644
    --- a/packages/mermaid/src/rendering-util/rendering-elements/shapes/rect.ts
    +++ b/packages/mermaid/src/rendering-util/rendering-elements/shapes/rect.ts
    @@ -55,6 +55,61 @@ function applyNodePropertyBorders(
       rect.attr('stroke-dasharray', strokeDashArray.join(' '));
     }
     
    +function createRoundedRectPathD(
    +  x: number,
    +  y: number,
    +  totalWidth: number,
    +  totalHeight: number,
    +  radius: number
    +) {
    +  return [
    +    'M',
    +    x + radius,
    +    y, // Move to the first point
    +    'H',
    +    x + totalWidth - radius, // Draw horizontal line to the beginning of the right corner
    +    'A',
    +    radius,
    +    radius,
    +    0,
    +    0,
    +    1,
    +    x + totalWidth,
    +    y + radius, // Draw arc to the right top corner
    +    'V',
    +    y + totalHeight - radius, // Draw vertical line down to the beginning of the right bottom corner
    +    'A',
    +    radius,
    +    radius,
    +    0,
    +    0,
    +    1,
    +    x + totalWidth - radius,
    +    y + totalHeight, // Draw arc to the right bottom corner
    +    'H',
    +    x + radius, // Draw horizontal line to the beginning of the left bottom corner
    +    'A',
    +    radius,
    +    radius,
    +    0,
    +    0,
    +    1,
    +    x,
    +    y + totalHeight - radius, // Draw arc to the left bottom corner
    +    'V',
    +    y + radius, // Draw vertical line up to the beginning of the left top corner
    +    'A',
    +    radius,
    +    radius,
    +    0,
    +    0,
    +    1,
    +    x + radius,
    +    y, // Draw arc to the left top corner
    +    'Z', // Close the path
    +  ].join(' ');
    +}
    +
     function roundedRect(ctx, x, y, width, height, radius) {
       ctx.beginPath();
       ctx.moveTo(x + radius, y);
    @@ -87,11 +142,16 @@ export const rect = async (parent: SVGAElement, node: Node) => {
       let rect;
       if (useRough) {
         const rc = rough.svg(shapeSvg);
    -    // add the rect
    -    const rnode = rc.rectangle(x, y, totalWidth, totalHeight);
    +    let roughNode;
    +    if (node.rx || node.ry) {
    +      // add the rect
    +      roughNode = rc.path(createRoundedRectPathD(x, y, totalWidth, totalHeight, 6));
    +    } else {
    +      roughNode = rc.rectangle(x, y, totalWidth, totalHeight, { radius: 60 });
    +    }
         const svgNode = shapeSvg.node();
    -    svgNode.insertBefore(rnode, svgNode.firstChild);
    -    rect = select(rnode);
    +    svgNode.insertBefore(roughNode, svgNode.firstChild);
    +    rect = select(roughNode);
       } else {
         rect = shapeSvg.insert('rect', ':first-child');
     
    
    From 18defaae6d82ad04a77776c6a22a4c63b2d87b40 Mon Sep 17 00:00:00 2001
    From: Alexandre Colucci <738543+Timac@users.noreply.github.com>
    Date: Fri, 26 Apr 2024 08:17:40 +0200
    Subject: [PATCH 345/789] Update integrations-community: Add MarkChart, a macOS
     app to preview Mermaid diagrams
    
    ---
     packages/mermaid/src/docs/ecosystem/integrations-community.md | 1 +
     1 file changed, 1 insertion(+)
    
    diff --git a/packages/mermaid/src/docs/ecosystem/integrations-community.md b/packages/mermaid/src/docs/ecosystem/integrations-community.md
    index 95e71d626d..330a524104 100644
    --- a/packages/mermaid/src/docs/ecosystem/integrations-community.md
    +++ b/packages/mermaid/src/docs/ecosystem/integrations-community.md
    @@ -244,6 +244,7 @@ Communication tools and platforms
     - [Jekyll](https://jekyllrb.com/)
       - [jekyll-mermaid](https://rubygems.org/gems/jekyll-mermaid)
       - [jekyll-mermaid-diagrams](https://github.com/fuzhibo/jekyll-mermaid-diagrams)
    +- [MarkChart: Preview Mermaid diagrams on macOS](https://markchart.app/)
     - [mermaid-isomorphic](https://github.com/remcohaszing/mermaid-isomorphic)
     - [mermaid-server: Generate diagrams using a HTTP request](https://github.com/TomWright/mermaid-server)
     - [NiceGUI: Let any browser be the frontend of your Python code](https://nicegui.io) ✅
    
    From dd5bfb3b24444a0b0c1129245692eaf25fa18448 Mon Sep 17 00:00:00 2001
    From: Ashish Jain 
    Date: Fri, 26 Apr 2024 12:24:02 +0200
    Subject: [PATCH 346/789] #5237 WIP
    
    ---
     cypress/platform/knsv2.html                   | 12 ++++-
     .../mermaid/src/diagrams/state/stateCommon.ts |  2 +
     .../mermaid/src/diagrams/state/stateDb.js     | 32 +++++++++++-
     .../state/stateRenderer-v3-unified.ts         |  4 ++
     .../rendering-elements/nodes.js               | 12 ++++-
     .../rendering-elements/shapes/choice.ts       | 37 ++++++++++++++
     .../rendering-elements/shapes/forkJoin.ts     | 51 +++++++++++++++++++
     .../rendering-elements/shapes/rect.ts         |  1 +
     .../rendering-elements/shapes/stateEnd.ts     | 26 ++++++++++
     .../rendering-elements/shapes/stateStart.ts   | 24 +++++++++
     .../src/rendering-util/setupViewPortForSVG.ts | 40 +++++++++++++++
     .../mermaid/src/rendering-util/types.d.ts     |  4 +-
     12 files changed, 238 insertions(+), 7 deletions(-)
     create mode 100644 packages/mermaid/src/rendering-util/rendering-elements/shapes/choice.ts
     create mode 100644 packages/mermaid/src/rendering-util/rendering-elements/shapes/forkJoin.ts
     create mode 100644 packages/mermaid/src/rendering-util/rendering-elements/shapes/stateEnd.ts
     create mode 100644 packages/mermaid/src/rendering-util/rendering-elements/shapes/stateStart.ts
     create mode 100644 packages/mermaid/src/rendering-util/setupViewPortForSVG.ts
    
    diff --git a/cypress/platform/knsv2.html b/cypress/platform/knsv2.html
    index 831a5d33ae..c01729c84d 100644
    --- a/cypress/platform/knsv2.html
    +++ b/cypress/platform/knsv2.html
    @@ -59,8 +59,16 @@
       
         
     stateDiagram-v2
    -     Second --> Third
    -     Second --> Fourth
    +    state fork_state <>
    +      [*] --> fork_state
    +      fork_state --> State2
    +      fork_state --> State3
    +
    +      state join_state <>
    +      State2 --> join_state
    +      State3 --> join_state
    +      join_state --> State4
    +      State4 --> [*]
       
    diff --git a/packages/mermaid/src/diagrams/state/stateCommon.ts b/packages/mermaid/src/diagrams/state/stateCommon.ts
    index 7d80f41e0e..e847d1514e 100644
    --- a/packages/mermaid/src/diagrams/state/stateCommon.ts
    +++ b/packages/mermaid/src/diagrams/state/stateCommon.ts
    @@ -28,6 +28,7 @@ export const G_EDGE_LABELTYPE = 'text';
     export const G_EDGE_THICKNESS = 'normal';
     
     export const CSS_EDGE = 'transition';
    +export const CSS_DIAGRAM = 'statediagram';
     
     export default {
       DEFAULT_DIAGRAM_DIRECTION,
    @@ -44,4 +45,5 @@ export default {
       G_EDGE_LABELTYPE,
       G_EDGE_THICKNESS,
       CSS_EDGE,
    +  CSS_DIAGRAM,
     };
    diff --git a/packages/mermaid/src/diagrams/state/stateDb.js b/packages/mermaid/src/diagrams/state/stateDb.js
    index e9a4148b96..89bfb55d2e 100644
    --- a/packages/mermaid/src/diagrams/state/stateDb.js
    +++ b/packages/mermaid/src/diagrams/state/stateDb.js
    @@ -27,6 +27,7 @@ import {
       G_EDGE_THICKNESS,
       CSS_EDGE,
     } from './stateCommon.js';
    +import { rect } from 'dagre-d3-es/src/dagre-js/intersect/index.js';
     
     const START_NODE = '[*]';
     const START_TYPE = 'start';
    @@ -555,9 +556,36 @@ const dataFetcher = (parentId, doc, nodes, edges) => {
     
       stateKeys.forEach((key) => {
         const item = currentDocument.states[key];
    +    console.log('Item:', item);
    +
    +    let itemShape = 'rect';
    +    if (item.type === 'default' && item.id === 'root_start') {
    +      itemShape = 'stateStart';
    +    }
    +    if (item.type === 'default' && item.id === 'root_end') {
    +      itemShape = 'stateEnd';
    +    }
    +
    +    if (item.type === 'fork' || item.type === 'join') {
    +      itemShape = 'forkJoin';
    +    }
    +
    +    if (item.type === 'choice') {
    +      itemShape = 'choice';
    +    }
    +
    +    if (item.id === '' && item.type === 'default') {
    +      //ignore this item
    +      return;
    +    }
    +
    +    if (item.id === '' && item.type === 'default') {
    +      //ignore this item
    +      return;
    +    }
     
         if (parentId) {
    -      nodes.push({ ...item, labelText: item.id, labelType: 'text', parentId, shape: 'rect' });
    +      nodes.push({ ...item, labelText: item.id, labelType: 'text', parentId, shape: itemShape });
         } else {
           nodes.push({
             ...item,
    @@ -565,7 +593,7 @@ const dataFetcher = (parentId, doc, nodes, edges) => {
             // description: item.id,
             labelType: 'text',
             labelStyle: '',
    -        shape: 'rect',
    +        shape: itemShape,
             padding: 15,
             classes: ' statediagram-state',
           });
    diff --git a/packages/mermaid/src/diagrams/state/stateRenderer-v3-unified.ts b/packages/mermaid/src/diagrams/state/stateRenderer-v3-unified.ts
    index bf72d3cbbd..4a44d83454 100644
    --- a/packages/mermaid/src/diagrams/state/stateRenderer-v3-unified.ts
    +++ b/packages/mermaid/src/diagrams/state/stateRenderer-v3-unified.ts
    @@ -8,6 +8,7 @@ import { render } from '../../rendering-util/render.js';
     import insertElementsForSize, {
       getDiagramElements,
     } from '../../rendering-util/inserElementsForSize.js';
    +import { setupViewPortForSVG } from '../../rendering-util/setupViewPortForSVG.js';
     import {
       DEFAULT_DIAGRAM_DIRECTION,
       DEFAULT_NESTED_DOC_DIR,
    @@ -15,6 +16,7 @@ import {
       STMT_RELATION,
       DEFAULT_STATE_TYPE,
       DIVIDER_TYPE,
    +  CSS_DIAGRAM,
     } from './stateCommon.js';
     
     // Configuration
    @@ -93,6 +95,8 @@ export const draw = async function (text: string, id: string, _version: string,
       data4Layout.diagramId = id;
       console.log('REF1:', data4Layout);
       await render(data4Layout, svg, element);
    +  const padding = 8;
    +  setupViewPortForSVG(svg, padding, CSS_DIAGRAM, conf.useMaxWidth);
     };
     
     export default {
    diff --git a/packages/mermaid/src/rendering-util/rendering-elements/nodes.js b/packages/mermaid/src/rendering-util/rendering-elements/nodes.js
    index 88db04393d..bf25716de0 100644
    --- a/packages/mermaid/src/rendering-util/rendering-elements/nodes.js
    +++ b/packages/mermaid/src/rendering-util/rendering-elements/nodes.js
    @@ -1,5 +1,9 @@
     import { log } from '$root/logger.js';
    -import { rect } from './shapes/rect.js';
    +import { rect } from './shapes/rect.ts';
    +import { stateStart } from './shapes/stateStart.ts';
    +import { stateEnd } from './shapes/stateEnd.ts';
    +import { forkJoin } from './shapes/forkJoin.ts';
    +import { choice } from './shapes/choice.ts';
     import { getConfig } from '$root/diagram-api/diagramAPI.js';
     
     const formatClass = (str) => {
    @@ -11,6 +15,10 @@ const formatClass = (str) => {
     
     const shapes = {
       rect,
    +  stateStart,
    +  stateEnd,
    +  forkJoin,
    +  choice,
     };
     
     let nodeElems = {};
    @@ -19,9 +27,9 @@ export const insertNode = async (elem, node, dir) => {
       let newEl;
       let el;
     
    -  console.log('insertNode element', elem, elem.node(), rect);
       // debugger;
       // Add link when appropriate
    +  console.log('node.link', node.link);
       if (node.link) {
         let target;
         if (getConfig().securityLevel === 'sandbox') {
    diff --git a/packages/mermaid/src/rendering-util/rendering-elements/shapes/choice.ts b/packages/mermaid/src/rendering-util/rendering-elements/shapes/choice.ts
    new file mode 100644
    index 0000000000..04d4466add
    --- /dev/null
    +++ b/packages/mermaid/src/rendering-util/rendering-elements/shapes/choice.ts
    @@ -0,0 +1,37 @@
    +import intersect from '../intersect/index.js';
    +import type { Node } from '$root/rendering-util/types.d.ts';
    +import type { SVG } from '$root/diagram-api/types.js';
    +
    +export const choice = (parent: SVG, node: Node) => {
    +  const shapeSvg = parent
    +    .insert('g')
    +    .attr('class', 'node default')
    +    .attr('id', node.domId || node.id);
    +
    +  const s = 28;
    +  const points = [
    +    { x: 0, y: s / 2 },
    +    { x: s / 2, y: 0 },
    +    { x: 0, y: -s / 2 },
    +    { x: -s / 2, y: 0 },
    +  ];
    +
    +  const choice = shapeSvg.insert('polygon', ':first-child').attr(
    +    'points',
    +    points
    +      .map(function (d) {
    +        return d.x + ',' + d.y;
    +      })
    +      .join(' ')
    +  );
    +  // center the circle around its coordinate
    +  choice.attr('class', 'state-start').attr('r', 7).attr('width', 28).attr('height', 28);
    +  node.width = 28;
    +  node.height = 28;
    +
    +  node.intersect = function (point) {
    +    return intersect.circle(node, 14, point);
    +  };
    +
    +  return shapeSvg;
    +};
    diff --git a/packages/mermaid/src/rendering-util/rendering-elements/shapes/forkJoin.ts b/packages/mermaid/src/rendering-util/rendering-elements/shapes/forkJoin.ts
    new file mode 100644
    index 0000000000..657749051e
    --- /dev/null
    +++ b/packages/mermaid/src/rendering-util/rendering-elements/shapes/forkJoin.ts
    @@ -0,0 +1,51 @@
    +import { log } from '$root/logger.js';
    +import { updateNodeBounds } from './util.js';
    +import intersect from '../intersect/index.js';
    +import type { Node } from '$root/rendering-util/types.d.ts';
    +import type { SVG } from '$root/diagram-api/types.js';
    +
    +export const forkJoin = (parent: SVG, node: Node, dir: string) => {
    +  const shapeSvg = parent
    +    .insert('g')
    +    .attr('class', 'node default')
    +    .attr('id', node.domId || node.id);
    +
    +  let width = 70;
    +  let height = 10;
    +
    +  if (dir === 'LR') {
    +    width = 10;
    +    height = 70;
    +  }
    +
    +  const shape = shapeSvg
    +    .append('rect')
    +    .attr('x', (-1 * width) / 2)
    +    .attr('y', (-1 * height) / 2)
    +    .attr('width', width)
    +    .attr('height', height)
    +    .attr('class', 'fork-join');
    +
    +  updateNodeBounds(node, shape);
    +  let nodeHeight = 0;
    +  let nodeWidth = 0;
    +  let nodePadding = 10;
    +  if (node.height) {
    +    nodeHeight = node.height;
    +  }
    +  if (node.width) {
    +    nodeWidth = node.width;
    +  }
    +
    +  if (node.padding) {
    +    nodePadding = node.padding;
    +  }
    +
    +  node.height = nodeHeight + nodePadding / 2;
    +  node.width = nodeWidth + nodePadding / 2;
    +  node.intersect = function (point) {
    +    return intersect.rect(node, point);
    +  };
    +
    +  return shapeSvg;
    +};
    diff --git a/packages/mermaid/src/rendering-util/rendering-elements/shapes/rect.ts b/packages/mermaid/src/rendering-util/rendering-elements/shapes/rect.ts
    index 03abb1f937..30469e8d99 100644
    --- a/packages/mermaid/src/rendering-util/rendering-elements/shapes/rect.ts
    +++ b/packages/mermaid/src/rendering-util/rendering-elements/shapes/rect.ts
    @@ -4,6 +4,7 @@ import intersect from '../intersect/index.js';
     import type { Node } from '$root/rendering-util/types.d.ts';
     import rough from 'roughjs';
     import { select } from 'd3';
    +
     /**
      *
      * @param rect
    diff --git a/packages/mermaid/src/rendering-util/rendering-elements/shapes/stateEnd.ts b/packages/mermaid/src/rendering-util/rendering-elements/shapes/stateEnd.ts
    new file mode 100644
    index 0000000000..3f968fe861
    --- /dev/null
    +++ b/packages/mermaid/src/rendering-util/rendering-elements/shapes/stateEnd.ts
    @@ -0,0 +1,26 @@
    +import { log } from '$root/logger.js';
    +import { updateNodeBounds } from './util.js';
    +import intersect from '../intersect/index.js';
    +import type { Node } from '$root/rendering-util/types.d.ts';
    +import type { SVG } from '$root/diagram-api/types.js';
    +
    +export const stateEnd = (parent: SVG, node: Node) => {
    +  const shapeSvg = parent
    +    .insert('g')
    +    .attr('class', 'node default')
    +    .attr('id', node.domId || node.id);
    +  const innerCircle = shapeSvg.insert('circle', ':first-child');
    +  const circle = shapeSvg.insert('circle', ':first-child');
    +
    +  circle.attr('class', 'state-start').attr('r', 7).attr('width', 14).attr('height', 14);
    +
    +  innerCircle.attr('class', 'state-end').attr('r', 5).attr('width', 10).attr('height', 10);
    +
    +  updateNodeBounds(node, circle);
    +
    +  node.intersect = function (point) {
    +    return intersect.circle(node, 7, point);
    +  };
    +
    +  return shapeSvg;
    +};
    diff --git a/packages/mermaid/src/rendering-util/rendering-elements/shapes/stateStart.ts b/packages/mermaid/src/rendering-util/rendering-elements/shapes/stateStart.ts
    new file mode 100644
    index 0000000000..20dc861e92
    --- /dev/null
    +++ b/packages/mermaid/src/rendering-util/rendering-elements/shapes/stateStart.ts
    @@ -0,0 +1,24 @@
    +import { log } from '$root/logger.js';
    +import { updateNodeBounds } from './util.js';
    +import intersect from '../intersect/index.js';
    +import type { Node } from '$root/rendering-util/types.d.ts';
    +import type { SVG } from '$root/diagram-api/types.js';
    +
    +export const stateStart = (parent: SVG, node: Node) => {
    +  const shapeSvg = parent
    +    .insert('g')
    +    .attr('class', 'node default')
    +    .attr('id', node.domId || node.id);
    +  const circle = shapeSvg.insert('circle', ':first-child');
    +
    +  // center the circle around its coordinate
    +  circle.attr('class', 'state-start').attr('r', 7).attr('width', 14).attr('height', 14);
    +
    +  updateNodeBounds(node, circle);
    +
    +  node.intersect = function (point) {
    +    return intersect.circle(node, 7, point);
    +  };
    +
    +  return shapeSvg;
    +};
    diff --git a/packages/mermaid/src/rendering-util/setupViewPortForSVG.ts b/packages/mermaid/src/rendering-util/setupViewPortForSVG.ts
    new file mode 100644
    index 0000000000..1fa2de1fd4
    --- /dev/null
    +++ b/packages/mermaid/src/rendering-util/setupViewPortForSVG.ts
    @@ -0,0 +1,40 @@
    +import { configureSvgSize } from '$root/setupGraphViewbox.js';
    +import type { SVG } from '$root/diagram-api/types.js';
    +import { log } from '$root/logger.js';
    +
    +export const setupViewPortForSVG = (
    +  svg: SVG,
    +  padding: number,
    +  cssDiagram: string,
    +  useMaxWidth: boolean
    +) => {
    +  // Initialize the SVG element and set the diagram class
    +  svg.attr('class', cssDiagram);
    +
    +  // Calculate the dimensions and position with padding
    +  const { width, height, x, y } = calculateDimensionsWithPadding(svg, padding);
    +
    +  // Configure the size and aspect ratio of the SVG
    +  configureSvgSize(svg, height, width, useMaxWidth);
    +
    +  // Update the viewBox to ensure all content is visible with padding
    +  const viewBox = createViewBox(x, y, width, height, padding);
    +  svg.attr('viewBox', viewBox);
    +
    +  // Log the viewBox configuration for debugging
    +  log.debug(`viewBox configured: ${viewBox}`);
    +};
    +
    +const calculateDimensionsWithPadding = (svg: SVG, padding: number) => {
    +  const bounds = svg.node()?.getBBox() || { width: 0, height: 0, x: 0, y: 0 };
    +  return {
    +    width: bounds.width + padding * 2,
    +    height: bounds.height + padding * 2,
    +    x: bounds.x,
    +    y: bounds.y,
    +  };
    +};
    +
    +const createViewBox = (x: number, y: number, width: number, height: number, padding: number) => {
    +  return `${x - padding} ${y - padding} ${width} ${height}`;
    +};
    diff --git a/packages/mermaid/src/rendering-util/types.d.ts b/packages/mermaid/src/rendering-util/types.d.ts
    index 38a48b38d3..e69537e814 100644
    --- a/packages/mermaid/src/rendering-util/types.d.ts
    +++ b/packages/mermaid/src/rendering-util/types.d.ts
    @@ -33,8 +33,10 @@ interface Node {
       tooltip?: string;
       type: string;
       width?: number;
    -  intersect?: (point: any) => any;
    +  height?: number;
    +
       // Specific properties for State Diagram nodes TODO remove and use generic properties
    +  intersect?: (point: any) => any;
       style?: string;
       class?: string;
       borders?: string;
    
    From 8102ba4d52b0a08415fab1b75c5a8c8e456b597c Mon Sep 17 00:00:00 2001
    From: Ashish Jain 
    Date: Fri, 26 Apr 2024 12:46:53 +0200
    Subject: [PATCH 347/789] #5237 added support for node with label/description
    
    ---
     packages/mermaid/src/diagrams/state/stateDb.js | 3 ++-
     1 file changed, 2 insertions(+), 1 deletion(-)
    
    diff --git a/packages/mermaid/src/diagrams/state/stateDb.js b/packages/mermaid/src/diagrams/state/stateDb.js
    index 89bfb55d2e..f1f7bc993b 100644
    --- a/packages/mermaid/src/diagrams/state/stateDb.js
    +++ b/packages/mermaid/src/diagrams/state/stateDb.js
    @@ -589,7 +589,8 @@ const dataFetcher = (parentId, doc, nodes, edges) => {
         } else {
           nodes.push({
             ...item,
    -        labelText: item.id,
    +        id: item.id,
    +        labelText: item.descriptions?.length > 0 ? item.descriptions[0] : item.id,
             // description: item.id,
             labelType: 'text',
             labelStyle: '',
    
    From 7fe4a2ce6ccab380c132f9cfa0515108b2383401 Mon Sep 17 00:00:00 2001
    From: Knut Sveidqvist 
    Date: Fri, 26 Apr 2024 14:15:07 +0200
    Subject: [PATCH 348/789] #5237 More rough shapes
    
    ---
     cypress/platform/knsv2.html                   | 21 +++++++++-
     .../mermaid/src/diagrams/state/stateDb.js     | 16 ++++++--
     .../rendering-elements/edges.js               |  2 +-
     .../rendering-elements/shapes/forkJoin.ts     | 27 ++++++++----
     .../rendering-elements/shapes/rect.ts         | 41 ++++++-------------
     .../shapes/solidFillOptions.ts                | 10 +++++
     .../rendering-elements/shapes/stateEnd.ts     | 30 ++++++++++++--
     .../rendering-elements/shapes/stateStart.ts   | 12 +++++-
     .../mermaid/src/rendering-util/types.d.ts     |  1 +
     9 files changed, 113 insertions(+), 47 deletions(-)
     create mode 100644 packages/mermaid/src/rendering-util/rendering-elements/shapes/solidFillOptions.ts
    
    diff --git a/cypress/platform/knsv2.html b/cypress/platform/knsv2.html
    index c01729c84d..fd6b2d9691 100644
    --- a/cypress/platform/knsv2.html
    +++ b/cypress/platform/knsv2.html
    @@ -14,6 +14,10 @@
           href="https://fonts.googleapis.com/css?family=Noto+Sans+SC&display=swap"
           rel="stylesheet"
         />
    +    
    +
    +
    +
         
         
       
       
    @@ -459,7 +478,7 @@
           // });
           mermaid.initialize({
             flowchart: { titleTopMargin: 10 },
    -        fontFamily: 'courier',
    +        fontFamily: 'Kalam',
             sequence: {
               actorFontFamily: 'courier',
               noteFontFamily: 'courier',
    diff --git a/packages/mermaid/src/diagrams/state/stateDb.js b/packages/mermaid/src/diagrams/state/stateDb.js
    index f1f7bc993b..210d8199fd 100644
    --- a/packages/mermaid/src/diagrams/state/stateDb.js
    +++ b/packages/mermaid/src/diagrams/state/stateDb.js
    @@ -552,12 +552,11 @@ const dataFetcher = (parentId, doc, nodes, edges) => {
       extract(doc);
     
       //states
    +  const useRough = true;
       const stateKeys = Object.keys(currentDocument.states);
     
       stateKeys.forEach((key) => {
         const item = currentDocument.states[key];
    -    console.log('Item:', item);
    -
         let itemShape = 'rect';
         if (item.type === 'default' && item.id === 'root_start') {
           itemShape = 'stateStart';
    @@ -585,7 +584,14 @@ const dataFetcher = (parentId, doc, nodes, edges) => {
         }
     
         if (parentId) {
    -      nodes.push({ ...item, labelText: item.id, labelType: 'text', parentId, shape: itemShape });
    +      nodes.push({
    +        ...item,
    +        labelText: item.id,
    +        labelType: 'text',
    +        parentId,
    +        shape: itemShape,
    +        useRough,
    +      });
         } else {
           nodes.push({
             ...item,
    @@ -597,6 +603,9 @@ const dataFetcher = (parentId, doc, nodes, edges) => {
             shape: itemShape,
             padding: 15,
             classes: ' statediagram-state',
    +        rx: 10,
    +        ry: 10,
    +        useRough,
           });
         }
       });
    @@ -617,6 +626,7 @@ const dataFetcher = (parentId, doc, nodes, edges) => {
           labelType: G_EDGE_LABELTYPE,
           thickness: G_EDGE_THICKNESS,
           classes: CSS_EDGE,
    +      useRough,
         });
       });
     
    diff --git a/packages/mermaid/src/rendering-util/rendering-elements/edges.js b/packages/mermaid/src/rendering-util/rendering-elements/edges.js
    index 156f610bcd..b87d9b332d 100644
    --- a/packages/mermaid/src/rendering-util/rendering-elements/edges.js
    +++ b/packages/mermaid/src/rendering-util/rendering-elements/edges.js
    @@ -448,7 +448,7 @@ export const insertEdge = function (elem, e, edge, clusterDb, diagramType, graph
           strokeClasses += ' edge-pattern-dashed';
           break;
       }
    -  let useRough = true;
    +  let useRough = edge.useRough;
       let svgPath;
       let path = '';
       const pointArr = [];
    diff --git a/packages/mermaid/src/rendering-util/rendering-elements/shapes/forkJoin.ts b/packages/mermaid/src/rendering-util/rendering-elements/shapes/forkJoin.ts
    index 657749051e..f7f2f58a60 100644
    --- a/packages/mermaid/src/rendering-util/rendering-elements/shapes/forkJoin.ts
    +++ b/packages/mermaid/src/rendering-util/rendering-elements/shapes/forkJoin.ts
    @@ -3,6 +3,8 @@ import { updateNodeBounds } from './util.js';
     import intersect from '../intersect/index.js';
     import type { Node } from '$root/rendering-util/types.d.ts';
     import type { SVG } from '$root/diagram-api/types.js';
    +import rough from 'roughjs';
    +import solidFillOptions from './solidFillOptions.js';
     
     export const forkJoin = (parent: SVG, node: Node, dir: string) => {
       const shapeSvg = parent
    @@ -17,14 +19,23 @@ export const forkJoin = (parent: SVG, node: Node, dir: string) => {
         width = 10;
         height = 70;
       }
    -
    -  const shape = shapeSvg
    -    .append('rect')
    -    .attr('x', (-1 * width) / 2)
    -    .attr('y', (-1 * height) / 2)
    -    .attr('width', width)
    -    .attr('height', height)
    -    .attr('class', 'fork-join');
    +  const x = (-1 * width) / 2;
    +  const y = (-1 * height) / 2;
    +
    +  let shape;
    +  if (node.useRough) {
    +    const rc = rough.svg(shapeSvg);
    +    const roughNode = rc.rectangle(x, y, width, height, solidFillOptions);
    +    shape = shapeSvg.insert(() => roughNode);
    +  } else {
    +    shape = shapeSvg
    +      .append('rect')
    +      .attr('x', x)
    +      .attr('y', y)
    +      .attr('width', width)
    +      .attr('height', height)
    +      .attr('class', 'fork-join');
    +  }
     
       updateNodeBounds(node, shape);
       let nodeHeight = 0;
    diff --git a/packages/mermaid/src/rendering-util/rendering-elements/shapes/rect.ts b/packages/mermaid/src/rendering-util/rendering-elements/shapes/rect.ts
    index 30469e8d99..95f474e46f 100644
    --- a/packages/mermaid/src/rendering-util/rendering-elements/shapes/rect.ts
    +++ b/packages/mermaid/src/rendering-util/rendering-elements/shapes/rect.ts
    @@ -111,20 +111,6 @@ function createRoundedRectPathD(
       ].join(' ');
     }
     
    -function roundedRect(ctx, x, y, width, height, radius) {
    -  ctx.beginPath();
    -  ctx.moveTo(x + radius, y);
    -  ctx.lineTo(x + width - radius, y);
    -  ctx.quadraticCurveTo(x + width, y, x + width, y + radius);
    -  ctx.lineTo(x + width, y + height - radius);
    -  ctx.quadraticCurveTo(x + width, y + height, x + width - radius, y + height);
    -  ctx.lineTo(x + radius, y + height);
    -  ctx.quadraticCurveTo(x, y + height, x, y + height - radius);
    -  ctx.lineTo(x, y + radius);
    -  ctx.quadraticCurveTo(x, y, x + radius, y);
    -  ctx.closePath();
    -}
    -
     export const rect = async (parent: SVGAElement, node: Node) => {
       const { shapeSvg, bbox, halfPadding } = await labelHelper(
         parent,
    @@ -133,34 +119,31 @@ export const rect = async (parent: SVGAElement, node: Node) => {
         true
       );
     
    -  const useRough = true;
    -
       const totalWidth = bbox.width + node.padding;
       const totalHeight = bbox.height + node.padding;
       const x = -bbox.width / 2 - halfPadding;
       const y = -bbox.height / 2 - halfPadding;
     
       let rect;
    +  const { rx, ry, style, useRough } = node;
       if (useRough) {
         const rc = rough.svg(shapeSvg);
    -    let roughNode;
    -    if (node.rx || node.ry) {
    -      // add the rect
    -      roughNode = rc.path(createRoundedRectPathD(x, y, totalWidth, totalHeight, 6));
    -    } else {
    -      roughNode = rc.rectangle(x, y, totalWidth, totalHeight, { radius: 60 });
    -    }
    -    const svgNode = shapeSvg.node();
    -    svgNode.insertBefore(roughNode, svgNode.firstChild);
    -    rect = select(roughNode);
    +    const roughNode =
    +      rx || ry
    +        ? rc.path(createRoundedRectPathD(x, y, totalWidth, totalHeight, rx || 0), {
    +            roughness: 0.7,
    +          })
    +        : rc.rectangle(x, y, totalWidth, totalHeight);
    +
    +    rect = shapeSvg.insert(() => roughNode);
       } else {
         rect = shapeSvg.insert('rect', ':first-child');
     
         rect
           .attr('class', 'basic label-container')
    -      .attr('style', node.style)
    -      .attr('rx', node.rx)
    -      .attr('ry', node.ry)
    +      .attr('style', style)
    +      .attr('rx', rx)
    +      .attr('ry', ry)
           .attr('x', x)
           .attr('y', y)
           .attr('width', totalWidth)
    diff --git a/packages/mermaid/src/rendering-util/rendering-elements/shapes/solidFillOptions.ts b/packages/mermaid/src/rendering-util/rendering-elements/shapes/solidFillOptions.ts
    new file mode 100644
    index 0000000000..76d9808e2b
    --- /dev/null
    +++ b/packages/mermaid/src/rendering-util/rendering-elements/shapes/solidFillOptions.ts
    @@ -0,0 +1,10 @@
    +const options = {
    +  fill: 'black',
    +  // fillStyle: 'solid',
    +  hachureAngle: 120, // angle of hachure,
    +  hachureGap: 4,
    +  fillWeight: 2,
    +  roughness: 0.7,
    +};
    +
    +export default options;
    diff --git a/packages/mermaid/src/rendering-util/rendering-elements/shapes/stateEnd.ts b/packages/mermaid/src/rendering-util/rendering-elements/shapes/stateEnd.ts
    index 3f968fe861..3a6b52c4a5 100644
    --- a/packages/mermaid/src/rendering-util/rendering-elements/shapes/stateEnd.ts
    +++ b/packages/mermaid/src/rendering-util/rendering-elements/shapes/stateEnd.ts
    @@ -3,18 +3,40 @@ import { updateNodeBounds } from './util.js';
     import intersect from '../intersect/index.js';
     import type { Node } from '$root/rendering-util/types.d.ts';
     import type { SVG } from '$root/diagram-api/types.js';
    +import rough from 'roughjs';
    +import solidFillOptions from './solidFillOptions.js';
     
     export const stateEnd = (parent: SVG, node: Node) => {
       const shapeSvg = parent
         .insert('g')
         .attr('class', 'node default')
         .attr('id', node.domId || node.id);
    -  const innerCircle = shapeSvg.insert('circle', ':first-child');
    -  const circle = shapeSvg.insert('circle', ':first-child');
     
    -  circle.attr('class', 'state-start').attr('r', 7).attr('width', 14).attr('height', 14);
    +  // const roughNode = rc.circle(0, 0, 14, {
    +  //   fill: 'white',
    +  //   fillStyle: 'solid',
    +  //   roughness: 1,
    +  //   stroke: 'black',
    +  //   strokeWidth: 1,
    +  // });
     
    -  innerCircle.attr('class', 'state-end').attr('r', 5).attr('width', 10).attr('height', 10);
    +  // circle = shapeSvg.insert(() => roughNode);
    +  let circle;
    +  let innerCircle;
    +  if (node.useRough) {
    +    const rc = rough.svg(shapeSvg);
    +    const roughNode = rc.circle(0, 0, 14, { roughness: 0.5 });
    +    const roughInnerNode = rc.circle(0, 0, 5, { ...solidFillOptions, fillStyle: 'solid' });
    +    circle = shapeSvg.insert(() => roughNode);
    +    innerCircle = shapeSvg.insert(() => roughInnerNode);
    +  } else {
    +    innerCircle = shapeSvg.insert('circle', ':first-child');
    +    circle = shapeSvg.insert('circle', ':first-child');
    +
    +    circle.attr('class', 'state-start').attr('r', 7).attr('width', 14).attr('height', 14);
    +
    +    innerCircle.attr('class', 'state-end').attr('r', 5).attr('width', 10).attr('height', 10);
    +  }
     
       updateNodeBounds(node, circle);
     
    diff --git a/packages/mermaid/src/rendering-util/rendering-elements/shapes/stateStart.ts b/packages/mermaid/src/rendering-util/rendering-elements/shapes/stateStart.ts
    index 20dc861e92..1a5a2606e5 100644
    --- a/packages/mermaid/src/rendering-util/rendering-elements/shapes/stateStart.ts
    +++ b/packages/mermaid/src/rendering-util/rendering-elements/shapes/stateStart.ts
    @@ -3,13 +3,23 @@ import { updateNodeBounds } from './util.js';
     import intersect from '../intersect/index.js';
     import type { Node } from '$root/rendering-util/types.d.ts';
     import type { SVG } from '$root/diagram-api/types.js';
    +import rough from 'roughjs';
    +import solidFillOptions from './solidFillOptions.js';
     
     export const stateStart = (parent: SVG, node: Node) => {
       const shapeSvg = parent
         .insert('g')
         .attr('class', 'node default')
         .attr('id', node.domId || node.id);
    -  const circle = shapeSvg.insert('circle', ':first-child');
    +
    +  let circle;
    +  if (node.useRough) {
    +    const rc = rough.svg(shapeSvg);
    +    const roughNode = rc.circle(0, 0, 14, solidFillOptions);
    +    circle = shapeSvg.insert(() => roughNode);
    +  } else {
    +    circle = shapeSvg.insert('circle', ':first-child');
    +  }
     
       // center the circle around its coordinate
       circle.attr('class', 'state-start').attr('r', 7).attr('width', 14).attr('height', 14);
    diff --git a/packages/mermaid/src/rendering-util/types.d.ts b/packages/mermaid/src/rendering-util/types.d.ts
    index e69537e814..af24d4c76c 100644
    --- a/packages/mermaid/src/rendering-util/types.d.ts
    +++ b/packages/mermaid/src/rendering-util/types.d.ts
    @@ -40,6 +40,7 @@ interface Node {
       style?: string;
       class?: string;
       borders?: string;
    +  useRough?: boolean;
     }
     
     // Common properties for any edge in the system
    
    From b22ae106b20995b77a3b68f2035f2842e8b4dc1e Mon Sep 17 00:00:00 2001
    From: Knut Sveidqvist 
    Date: Fri, 26 Apr 2024 15:00:19 +0200
    Subject: [PATCH 349/789] #5237 Adding support for decision
    
    ---
     .../rendering-elements/shapes/choice.ts       | 30 +++++++++++++------
     1 file changed, 21 insertions(+), 9 deletions(-)
    
    diff --git a/packages/mermaid/src/rendering-util/rendering-elements/shapes/choice.ts b/packages/mermaid/src/rendering-util/rendering-elements/shapes/choice.ts
    index 04d4466add..6140d0043f 100644
    --- a/packages/mermaid/src/rendering-util/rendering-elements/shapes/choice.ts
    +++ b/packages/mermaid/src/rendering-util/rendering-elements/shapes/choice.ts
    @@ -1,7 +1,8 @@
     import intersect from '../intersect/index.js';
     import type { Node } from '$root/rendering-util/types.d.ts';
     import type { SVG } from '$root/diagram-api/types.js';
    -
    +import rough from 'roughjs';
    +import solidFillOptions from './solidFillOptions.js';
     export const choice = (parent: SVG, node: Node) => {
       const shapeSvg = parent
         .insert('g')
    @@ -16,14 +17,25 @@ export const choice = (parent: SVG, node: Node) => {
         { x: -s / 2, y: 0 },
       ];
     
    -  const choice = shapeSvg.insert('polygon', ':first-child').attr(
    -    'points',
    -    points
    -      .map(function (d) {
    -        return d.x + ',' + d.y;
    -      })
    -      .join(' ')
    -  );
    +  let choice;
    +  if (node.useRough) {
    +    const rc = rough.svg(shapeSvg);
    +    const pointArr = points.map(function (d) {
    +      return [d.x, d.y];
    +    });
    +    const roughNode = rc.polygon(pointArr, solidFillOptions);
    +    choice = shapeSvg.insert(() => roughNode);
    +  } else {
    +    choice = shapeSvg.insert('polygon', ':first-child').attr(
    +      'points',
    +      points
    +        .map(function (d) {
    +          return d.x + ',' + d.y;
    +        })
    +        .join(' ')
    +    );
    +  }
    +
       // center the circle around its coordinate
       choice.attr('class', 'state-start').attr('r', 7).attr('width', 28).attr('height', 28);
       node.width = 28;
    
    From be9b349e51a9eea9f383811bc529e5e704689037 Mon Sep 17 00:00:00 2001
    From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com>
    Date: Fri, 26 Apr 2024 15:51:00 +0000
    Subject: [PATCH 350/789] chore(deps): update all patch dependencies
    
    ---
     pnpm-lock.yaml | 1035 ++++++++++++++++++++++++++----------------------
     1 file changed, 561 insertions(+), 474 deletions(-)
    
    diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
    index c1f077122e..5211453b36 100644
    --- a/pnpm-lock.yaml
    +++ b/pnpm-lock.yaml
    @@ -21,7 +21,7 @@ importers:
             version: 8.7.0(eslint@8.57.0)
           '@cypress/code-coverage':
             specifier: ^3.12.30
    -        version: 3.12.34(@babel/core@7.24.4)(@babel/preset-env@7.24.4)(babel-loader@9.1.3)(cypress@13.7.3)(webpack@5.91.0)
    +        version: 3.12.37(@babel/core@7.24.4)(@babel/preset-env@7.24.4)(babel-loader@9.1.3)(cypress@13.7.3)(webpack@5.91.0)
           '@rollup/plugin-typescript':
             specifier: ^11.1.6
             version: 11.1.6(typescript@5.4.5)
    @@ -30,7 +30,7 @@ importers:
             version: 2.8.17
           '@types/eslint':
             specifier: ^8.56.6
    -        version: 8.56.9
    +        version: 8.56.10
           '@types/express':
             specifier: ^4.17.21
             version: 4.17.21
    @@ -60,13 +60,13 @@ importers:
             version: 7.6.0(eslint@8.57.0)(typescript@5.4.5)
           '@vitest/coverage-v8':
             specifier: ^1.4.0
    -        version: 1.5.0(vitest@1.5.0)
    +        version: 1.5.2(vitest@1.5.2)
           '@vitest/spy':
             specifier: ^1.4.0
    -        version: 1.5.0
    +        version: 1.5.2
           '@vitest/ui':
             specifier: ^1.4.0
    -        version: 1.5.0(vitest@1.5.0)
    +        version: 1.5.2(vitest@1.5.2)
           ajv:
             specifier: ^8.12.0
             version: 8.12.0
    @@ -102,10 +102,10 @@ importers:
             version: 9.1.0(eslint@8.57.0)
           eslint-plugin-cypress:
             specifier: ^2.15.1
    -        version: 2.15.1(eslint@8.57.0)
    +        version: 2.15.2(eslint@8.57.0)
           eslint-plugin-html:
             specifier: ^8.0.0
    -        version: 8.1.0
    +        version: 8.1.1
           eslint-plugin-jest:
             specifier: ^27.9.0
             version: 27.9.0(@typescript-eslint/eslint-plugin@7.6.0)(eslint@8.57.0)(jest@29.7.0)(typescript@5.4.5)
    @@ -186,19 +186,19 @@ importers:
             version: 2.0.3
           tsx:
             specifier: ^4.7.1
    -        version: 4.7.2
    +        version: 4.7.3
           typescript:
             specifier: ^5.4.3
             version: 5.4.5
           vite:
             specifier: ^5.2.3
    -        version: 5.2.8(@types/node@20.12.7)
    +        version: 5.2.10(@types/node@20.12.7)
           vite-plugin-istanbul:
             specifier: ^6.0.0
    -        version: 6.0.0(vite@5.2.8)
    +        version: 6.0.0(vite@5.2.10)
           vitest:
             specifier: ^1.4.0
    -        version: 1.5.0(@types/node@20.12.7)(@vitest/ui@1.5.0)(jsdom@24.0.0)
    +        version: 1.5.2(@types/node@20.12.7)(@vitest/ui@1.5.2)(jsdom@24.0.0)
     
       packages/mermaid:
         dependencies:
    @@ -228,10 +228,10 @@ importers:
             version: 1.11.10
           dompurify:
             specifier: ^3.0.11
    -        version: 3.1.0
    +        version: 3.1.1
           elkjs:
             specifier: ^0.9.2
    -        version: 0.9.2
    +        version: 0.9.3
           katex:
             specifier: ^0.16.9
             version: 0.16.10
    @@ -246,7 +246,7 @@ importers:
             version: 2.0.0
           stylis:
             specifier: ^4.3.1
    -        version: 4.3.1
    +        version: 4.3.2
           ts-dedent:
             specifier: ^2.2.0
             version: 2.2.0
    @@ -382,10 +382,10 @@ importers:
             version: 5.0.0
           vitepress:
             specifier: ^1.0.1
    -        version: 1.1.0(@algolia/client-search@4.23.3)(@types/node@20.12.7)(postcss@8.4.38)(search-insights@2.13.0)(typescript@5.4.5)
    +        version: 1.1.3(@algolia/client-search@4.23.3)(@types/node@20.12.7)(postcss@8.4.38)(search-insights@2.13.0)(typescript@5.4.5)
           vitepress-plugin-search:
             specifier: 1.0.4-alpha.22
    -        version: 1.0.4-alpha.22(flexsearch@0.7.43)(vitepress@1.1.0)(vue@3.4.21)
    +        version: 1.0.4-alpha.22(flexsearch@0.7.43)(vitepress@1.1.3)(vue@3.4.25)
     
       packages/mermaid-example-diagram:
         dependencies:
    @@ -419,7 +419,7 @@ importers:
             version: 7.0.10
           elkjs:
             specifier: ^0.9.2
    -        version: 0.9.2
    +        version: 0.9.3
           khroma:
             specifier: ^2.1.0
             version: 2.1.0
    @@ -451,7 +451,7 @@ importers:
             version: 7.4.47
           '@vueuse/core':
             specifier: ^10.9.0
    -        version: 10.9.0(vue@3.4.21)
    +        version: 10.9.0(vue@3.4.25)
           font-awesome:
             specifier: ^4.7.0
             version: 4.7.0
    @@ -463,20 +463,20 @@ importers:
             version: link:../..
           vue:
             specifier: ^3.4.21
    -        version: 3.4.21(typescript@5.4.5)
    +        version: 3.4.25(typescript@5.4.5)
         devDependencies:
           '@iconify-json/carbon':
             specifier: ^1.1.31
             version: 1.1.31
           '@unocss/reset':
             specifier: ^0.59.0
    -        version: 0.59.2
    +        version: 0.59.4
           '@vite-pwa/vitepress':
             specifier: ^0.4.0
             version: 0.4.0(vite-plugin-pwa@0.19.8)
           '@vitejs/plugin-vue':
             specifier: ^5.0.0
    -        version: 5.0.4(vite@5.2.8)(vue@3.4.21)
    +        version: 5.0.4(vite@5.2.10)(vue@3.4.25)
           fast-glob:
             specifier: ^3.3.2
             version: 3.3.2
    @@ -488,19 +488,19 @@ importers:
             version: 1.1.2
           unocss:
             specifier: ^0.59.0
    -        version: 0.59.2(postcss@8.4.38)(rollup@2.79.1)(vite@5.2.8)
    +        version: 0.59.4(postcss@8.4.38)(rollup@2.79.1)(vite@5.2.10)
           unplugin-vue-components:
             specifier: ^0.26.0
    -        version: 0.26.0(rollup@2.79.1)(vue@3.4.21)
    +        version: 0.26.0(rollup@2.79.1)(vue@3.4.25)
           vite:
             specifier: ^5.0.0
    -        version: 5.2.8(@types/node@20.12.7)
    +        version: 5.2.10(@types/node@20.12.7)
           vite-plugin-pwa:
             specifier: ^0.19.7
    -        version: 0.19.8(vite@5.2.8)(workbox-build@7.0.0)(workbox-window@7.0.0)
    +        version: 0.19.8(vite@5.2.10)(workbox-build@7.1.0)(workbox-window@7.0.0)
           vitepress:
             specifier: 1.1.0
    -        version: 1.1.0(@algolia/client-search@4.23.3)(@types/node@20.12.7)(postcss@8.4.38)(search-insights@2.13.0)(typescript@5.4.5)
    +        version: 1.1.3(@algolia/client-search@4.23.3)(@types/node@20.12.7)(postcss@8.4.38)(search-insights@2.13.0)(typescript@5.4.5)
           workbox-window:
             specifier: ^7.0.0
             version: 7.0.0
    @@ -1198,8 +1198,8 @@ packages:
           semver: 6.3.1
         dev: true
     
    -  /@babel/helper-define-polyfill-provider@0.6.1(@babel/core@7.24.4):
    -    resolution: {integrity: sha512-o7SDgTJuvx5vLKD6SFvkydkSMBvahDKGiNJzG22IZYXhiqoe9efY7zocICBgzHV4IRg5wdgl2nEL/tulKIEIbA==}
    +  /@babel/helper-define-polyfill-provider@0.6.2(@babel/core@7.24.4):
    +    resolution: {integrity: sha512-LV76g+C502biUK6AyZ3LK10vDpDyCzZnhZFXkH1L75zHPj68+qc8Zfpx2th+gzwA2MzyK+1g/3EPl62yFnVttQ==}
         peerDependencies:
           '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0
         dependencies:
    @@ -1318,8 +1318,8 @@ packages:
           '@babel/types': 7.24.0
         dev: true
     
    -  /@babel/helper-string-parser@7.23.4:
    -    resolution: {integrity: sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ==}
    +  /@babel/helper-string-parser@7.24.1:
    +    resolution: {integrity: sha512-2ofRCjnnA9y+wk8b9IAREroeUP02KHp431N2mhKniy2yKIDKpbrHv9eXwm8cBeWQYcJmzv5qKCu65P47eCF7CQ==}
         engines: {node: '>=6.9.0'}
     
       /@babel/helper-validator-identifier@7.22.20:
    @@ -1361,20 +1361,6 @@ packages:
           picocolors: 1.0.0
         dev: true
     
    -  /@babel/parser@7.24.0:
    -    resolution: {integrity: sha512-QuP/FxEAzMSjXygs8v4N9dvdXzEHN4W1oF3PxuWAtPo08UdM17u89RDMgjLn/mlc56iM0HlLmVkO/wgR+rDgHg==}
    -    engines: {node: '>=6.0.0'}
    -    hasBin: true
    -    dependencies:
    -      '@babel/types': 7.24.0
    -
    -  /@babel/parser@7.24.1:
    -    resolution: {integrity: sha512-Zo9c7N3xdOIQrNip7Lc9wvRPzlRtovHVE4lkz8WEDr7uYh/GMQhSiIgFxGIArRHYdJE5kxtZjAf8rT0xhdLCzg==}
    -    engines: {node: '>=6.0.0'}
    -    hasBin: true
    -    dependencies:
    -      '@babel/types': 7.24.0
    -
       /@babel/parser@7.24.4:
         resolution: {integrity: sha512-zTvEBcghmeBma9QIGunWevvBAp4/Qu9Bdq+2k0Ot4fVMD6v3dsC9WOcRSKk7tRRyBM/53yKMJko9xOatGQAwSg==}
         engines: {node: '>=6.0.0'}
    @@ -2121,8 +2107,8 @@ packages:
           '@babel/helper-plugin-utils': 7.24.0
         dev: true
     
    -  /@babel/plugin-transform-typescript@7.24.1(@babel/core@7.24.4):
    -    resolution: {integrity: sha512-liYSESjX2fZ7JyBFkYG78nfvHlMKE6IpNdTVnxmlYUR+j5ZLsitFbaAE+eJSK2zPPkNWNw4mXL51rQ8WrvdK0w==}
    +  /@babel/plugin-transform-typescript@7.24.4(@babel/core@7.24.4):
    +    resolution: {integrity: sha512-79t3CQ8+oBGk/80SQ8MN3Bs3obf83zJ0YZjDmDaEZN8MqhMI760apl5z6a20kFeMXBwJX99VpKT8CKxEBp5H1g==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
    @@ -2260,10 +2246,10 @@ packages:
           '@babel/plugin-transform-unicode-regex': 7.24.1(@babel/core@7.24.4)
           '@babel/plugin-transform-unicode-sets-regex': 7.24.1(@babel/core@7.24.4)
           '@babel/preset-modules': 0.1.6-no-external-plugins(@babel/core@7.24.4)
    -      babel-plugin-polyfill-corejs2: 0.4.10(@babel/core@7.24.4)
    +      babel-plugin-polyfill-corejs2: 0.4.11(@babel/core@7.24.4)
           babel-plugin-polyfill-corejs3: 0.10.4(@babel/core@7.24.4)
    -      babel-plugin-polyfill-regenerator: 0.6.1(@babel/core@7.24.4)
    -      core-js-compat: 3.36.1
    +      babel-plugin-polyfill-regenerator: 0.6.2(@babel/core@7.24.4)
    +      core-js-compat: 3.37.0
           semver: 6.3.1
         transitivePeerDependencies:
           - supports-color
    @@ -2291,7 +2277,7 @@ packages:
           '@babel/helper-validator-option': 7.23.5
           '@babel/plugin-syntax-jsx': 7.24.1(@babel/core@7.24.4)
           '@babel/plugin-transform-modules-commonjs': 7.24.1(@babel/core@7.24.4)
    -      '@babel/plugin-transform-typescript': 7.24.1(@babel/core@7.24.4)
    +      '@babel/plugin-transform-typescript': 7.24.4(@babel/core@7.24.4)
         dev: true
     
       /@babel/regjsgen@0.8.0:
    @@ -2343,7 +2329,7 @@ packages:
         resolution: {integrity: sha512-+j7a5c253RfKh8iABBhywc8NSfP5LURe7Uh4qpsh6jc+aLJguvmIUBdjSdEMQv2bENrCR5MfRdjGo7vzS/ob7w==}
         engines: {node: '>=6.9.0'}
         dependencies:
    -      '@babel/helper-string-parser': 7.23.4
    +      '@babel/helper-string-parser': 7.24.1
           '@babel/helper-validator-identifier': 7.22.20
           to-fast-properties: 2.0.0
     
    @@ -2715,8 +2701,8 @@ packages:
         engines: {node: '>=18'}
         dev: true
     
    -  /@cypress/code-coverage@3.12.34(@babel/core@7.24.4)(@babel/preset-env@7.24.4)(babel-loader@9.1.3)(cypress@13.7.3)(webpack@5.91.0):
    -    resolution: {integrity: sha512-5z2I9SfjWYViX6+kj92Ha078ZwJEZ30R/j6cQJiZgY6fYMJVD3o3mffyXPOytB85PIfBURtWdlyWsSLBaj41Mw==}
    +  /@cypress/code-coverage@3.12.37(@babel/core@7.24.4)(@babel/preset-env@7.24.4)(babel-loader@9.1.3)(cypress@13.7.3)(webpack@5.91.0):
    +    resolution: {integrity: sha512-zrFenswftPuikfhIVCjCNG+dxWk/iJ4ML1WbMl9i+FFwGxEWL39/2H0wsAzl2FLIMk3K+AZPVrP74eE6VB+qqw==}
         peerDependencies:
           '@babel/core': ^7.0.1
           '@babel/preset-env': ^7.0.0
    @@ -3415,8 +3401,8 @@ packages:
         resolution: {integrity: sha512-+wluvCrRhXrhyOmRDJ3q8mux9JkKy5SJ/v8ol2tu4FVjyYvtEzkc/3pK15ET6RKg4b4w4BmTk1+gsCUhf21Ykg==}
         dev: true
     
    -  /@iconify/utils@2.1.22:
    -    resolution: {integrity: sha512-6UHVzTVXmvO8uS6xFF+L/QTSpTzA/JZxtgU+KYGFyDYMEObZ1bu/b5l+zNJjHy+0leWjHI+C0pXlzGvv3oXZMA==}
    +  /@iconify/utils@2.1.23:
    +    resolution: {integrity: sha512-YGNbHKM5tyDvdWZ92y2mIkrfvm5Fvhe6WJSkWu7vvOFhMtYDP0casZpoRz0XEHZCrYsR4stdGT3cZ52yp5qZdQ==}
         dependencies:
           '@antfu/install-pkg': 0.1.1
           '@antfu/utils': 0.7.7
    @@ -3777,16 +3763,19 @@ packages:
           rollup: 2.79.1
         dev: true
     
    -  /@rollup/plugin-node-resolve@11.2.1(rollup@2.79.1):
    -    resolution: {integrity: sha512-yc2n43jcqVyGE2sqV5/YCmocy9ArjVAP/BeXyTtADTBBX6V0e5UMqwO8CdQ0kzjb6zu5P1qMzsScCMRvE9OlVg==}
    -    engines: {node: '>= 10.0.0'}
    +  /@rollup/plugin-node-resolve@15.2.3(rollup@2.79.1):
    +    resolution: {integrity: sha512-j/lym8nf5E21LwBT4Df1VD6hRO2L2iwUeUmP7litikRsVp1H6NWx20NEp0Y7su+7XGc476GnXXc4kFeZNGmaSQ==}
    +    engines: {node: '>=14.0.0'}
         peerDependencies:
    -      rollup: ^1.20.0||^2.0.0
    +      rollup: ^2.78.0||^3.0.0||^4.0.0
    +    peerDependenciesMeta:
    +      rollup:
    +        optional: true
         dependencies:
    -      '@rollup/pluginutils': 3.1.0(rollup@2.79.1)
    -      '@types/resolve': 1.17.1
    -      builtin-modules: 3.3.0
    +      '@rollup/pluginutils': 5.1.0(rollup@2.79.1)
    +      '@types/resolve': 1.20.2
           deepmerge: 4.3.1
    +      is-builtin-module: 3.2.1
           is-module: 1.0.0
           resolve: 1.22.8
           rollup: 2.79.1
    @@ -3802,6 +3791,21 @@ packages:
           rollup: 2.79.1
         dev: true
     
    +  /@rollup/plugin-terser@0.4.4(rollup@2.79.1):
    +    resolution: {integrity: sha512-XHeJC5Bgvs8LfukDwWZp7yeqin6ns8RTl2B9avbejt6tZqsqvVoWI7ZTQrcNsfKEDWBTnTxM8nMDkO2IFFbd0A==}
    +    engines: {node: '>=14.0.0'}
    +    peerDependencies:
    +      rollup: ^2.0.0||^3.0.0||^4.0.0
    +    peerDependenciesMeta:
    +      rollup:
    +        optional: true
    +    dependencies:
    +      rollup: 2.79.1
    +      serialize-javascript: 6.0.2
    +      smob: 1.5.0
    +      terser: 5.30.4
    +    dev: true
    +
       /@rollup/plugin-typescript@11.1.6(typescript@5.4.5):
         resolution: {integrity: sha512-R92yOmIACgYdJ7dJ97p4K69I8gg6IEHt8M7dUBxN3W6nrO8uUxX5ixl0yU/N3aZTi8WhPuICvOHXQvF6FaykAA==}
         engines: {node: '>=14.0.0'}
    @@ -3847,120 +3851,128 @@ packages:
           rollup: 2.79.1
         dev: true
     
    -  /@rollup/rollup-android-arm-eabi@4.14.2:
    -    resolution: {integrity: sha512-ahxSgCkAEk+P/AVO0vYr7DxOD3CwAQrT0Go9BJyGQ9Ef0QxVOfjDZMiF4Y2s3mLyPrjonchIMH/tbWHucJMykQ==}
    +  /@rollup/rollup-android-arm-eabi@4.16.4:
    +    resolution: {integrity: sha512-GkhjAaQ8oUTOKE4g4gsZ0u8K/IHU1+2WQSgS1TwTcYvL+sjbaQjNHFXbOJ6kgqGHIO1DfUhI/Sphi9GkRT9K+Q==}
         cpu: [arm]
         os: [android]
         requiresBuild: true
         dev: true
         optional: true
     
    -  /@rollup/rollup-android-arm64@4.14.2:
    -    resolution: {integrity: sha512-lAarIdxZWbFSHFSDao9+I/F5jDaKyCqAPMq5HqnfpBw8dKDiCaaqM0lq5h1pQTLeIqueeay4PieGR5jGZMWprw==}
    +  /@rollup/rollup-android-arm64@4.16.4:
    +    resolution: {integrity: sha512-Bvm6D+NPbGMQOcxvS1zUl8H7DWlywSXsphAeOnVeiZLQ+0J6Is8T7SrjGTH29KtYkiY9vld8ZnpV3G2EPbom+w==}
         cpu: [arm64]
         os: [android]
         requiresBuild: true
         dev: true
         optional: true
     
    -  /@rollup/rollup-darwin-arm64@4.14.2:
    -    resolution: {integrity: sha512-SWsr8zEUk82KSqquIMgZEg2GE5mCSfr9sE/thDROkX6pb3QQWPp8Vw8zOq2GyxZ2t0XoSIUlvHDkrf5Gmf7x3Q==}
    +  /@rollup/rollup-darwin-arm64@4.16.4:
    +    resolution: {integrity: sha512-i5d64MlnYBO9EkCOGe5vPR/EeDwjnKOGGdd7zKFhU5y8haKhQZTN2DgVtpODDMxUr4t2K90wTUJg7ilgND6bXw==}
         cpu: [arm64]
         os: [darwin]
         requiresBuild: true
         dev: true
         optional: true
     
    -  /@rollup/rollup-darwin-x64@4.14.2:
    -    resolution: {integrity: sha512-o/HAIrQq0jIxJAhgtIvV5FWviYK4WB0WwV91SLUnsliw1lSAoLsmgEEgRWzDguAFeUEUUoIWXiJrPqU7vGiVkA==}
    +  /@rollup/rollup-darwin-x64@4.16.4:
    +    resolution: {integrity: sha512-WZupV1+CdUYehaZqjaFTClJI72fjJEgTXdf4NbW69I9XyvdmztUExBtcI2yIIU6hJtYvtwS6pkTkHJz+k08mAQ==}
         cpu: [x64]
         os: [darwin]
         requiresBuild: true
         dev: true
         optional: true
     
    -  /@rollup/rollup-linux-arm-gnueabihf@4.14.2:
    -    resolution: {integrity: sha512-nwlJ65UY9eGq91cBi6VyDfArUJSKOYt5dJQBq8xyLhvS23qO+4Nr/RreibFHjP6t+5ap2ohZrUJcHv5zk5ju/g==}
    +  /@rollup/rollup-linux-arm-gnueabihf@4.16.4:
    +    resolution: {integrity: sha512-ADm/xt86JUnmAfA9mBqFcRp//RVRt1ohGOYF6yL+IFCYqOBNwy5lbEK05xTsEoJq+/tJzg8ICUtS82WinJRuIw==}
         cpu: [arm]
         os: [linux]
         requiresBuild: true
         dev: true
         optional: true
     
    -  /@rollup/rollup-linux-arm64-gnu@4.14.2:
    -    resolution: {integrity: sha512-Pg5TxxO2IVlMj79+c/9G0LREC9SY3HM+pfAwX7zj5/cAuwrbfj2Wv9JbMHIdPCfQpYsI4g9mE+2Bw/3aeSs2rQ==}
    +  /@rollup/rollup-linux-arm-musleabihf@4.16.4:
    +    resolution: {integrity: sha512-tJfJaXPiFAG+Jn3cutp7mCs1ePltuAgRqdDZrzb1aeE3TktWWJ+g7xK9SNlaSUFw6IU4QgOxAY4rA+wZUT5Wfg==}
    +    cpu: [arm]
    +    os: [linux]
    +    requiresBuild: true
    +    dev: true
    +    optional: true
    +
    +  /@rollup/rollup-linux-arm64-gnu@4.16.4:
    +    resolution: {integrity: sha512-7dy1BzQkgYlUTapDTvK997cgi0Orh5Iu7JlZVBy1MBURk7/HSbHkzRnXZa19ozy+wwD8/SlpJnOOckuNZtJR9w==}
         cpu: [arm64]
         os: [linux]
         requiresBuild: true
         dev: true
         optional: true
     
    -  /@rollup/rollup-linux-arm64-musl@4.14.2:
    -    resolution: {integrity: sha512-cAOTjGNm84gc6tS02D1EXtG7tDRsVSDTBVXOLbj31DkwfZwgTPYZ6aafSU7rD/4R2a34JOwlF9fQayuTSkoclA==}
    +  /@rollup/rollup-linux-arm64-musl@4.16.4:
    +    resolution: {integrity: sha512-zsFwdUw5XLD1gQe0aoU2HVceI6NEW7q7m05wA46eUAyrkeNYExObfRFQcvA6zw8lfRc5BHtan3tBpo+kqEOxmg==}
         cpu: [arm64]
         os: [linux]
         requiresBuild: true
         dev: true
         optional: true
     
    -  /@rollup/rollup-linux-powerpc64le-gnu@4.14.2:
    -    resolution: {integrity: sha512-4RyT6v1kXb7C0fn6zV33rvaX05P0zHoNzaXI/5oFHklfKm602j+N4mn2YvoezQViRLPnxP8M1NaY4s/5kXO5cw==}
    +  /@rollup/rollup-linux-powerpc64le-gnu@4.16.4:
    +    resolution: {integrity: sha512-p8C3NnxXooRdNrdv6dBmRTddEapfESEUflpICDNKXpHvTjRRq1J82CbU5G3XfebIZyI3B0s074JHMWD36qOW6w==}
         cpu: [ppc64]
         os: [linux]
         requiresBuild: true
         dev: true
         optional: true
     
    -  /@rollup/rollup-linux-riscv64-gnu@4.14.2:
    -    resolution: {integrity: sha512-KNUH6jC/vRGAKSorySTyc/yRYlCwN/5pnMjXylfBniwtJx5O7X17KG/0efj8XM3TZU7raYRXJFFReOzNmL1n1w==}
    +  /@rollup/rollup-linux-riscv64-gnu@4.16.4:
    +    resolution: {integrity: sha512-Lh/8ckoar4s4Id2foY7jNgitTOUQczwMWNYi+Mjt0eQ9LKhr6sK477REqQkmy8YHY3Ca3A2JJVdXnfb3Rrwkng==}
         cpu: [riscv64]
         os: [linux]
         requiresBuild: true
         dev: true
         optional: true
     
    -  /@rollup/rollup-linux-s390x-gnu@4.14.2:
    -    resolution: {integrity: sha512-xPV4y73IBEXToNPa3h5lbgXOi/v0NcvKxU0xejiFw6DtIYQqOTMhZ2DN18/HrrP0PmiL3rGtRG9gz1QE8vFKXQ==}
    +  /@rollup/rollup-linux-s390x-gnu@4.16.4:
    +    resolution: {integrity: sha512-1xwwn9ZCQYuqGmulGsTZoKrrn0z2fAur2ujE60QgyDpHmBbXbxLaQiEvzJWDrscRq43c8DnuHx3QorhMTZgisQ==}
         cpu: [s390x]
         os: [linux]
         requiresBuild: true
         dev: true
         optional: true
     
    -  /@rollup/rollup-linux-x64-gnu@4.14.2:
    -    resolution: {integrity: sha512-QBhtr07iFGmF9egrPOWyO5wciwgtzKkYPNLVCFZTmr4TWmY0oY2Dm/bmhHjKRwZoGiaKdNcKhFtUMBKvlchH+Q==}
    +  /@rollup/rollup-linux-x64-gnu@4.16.4:
    +    resolution: {integrity: sha512-LuOGGKAJ7dfRtxVnO1i3qWc6N9sh0Em/8aZ3CezixSTM+E9Oq3OvTsvC4sm6wWjzpsIlOCnZjdluINKESflJLA==}
         cpu: [x64]
         os: [linux]
         requiresBuild: true
         dev: true
         optional: true
     
    -  /@rollup/rollup-linux-x64-musl@4.14.2:
    -    resolution: {integrity: sha512-8zfsQRQGH23O6qazZSFY5jP5gt4cFvRuKTpuBsC1ZnSWxV8ZKQpPqOZIUtdfMOugCcBvFGRa1pDC/tkf19EgBw==}
    +  /@rollup/rollup-linux-x64-musl@4.16.4:
    +    resolution: {integrity: sha512-ch86i7KkJKkLybDP2AtySFTRi5fM3KXp0PnHocHuJMdZwu7BuyIKi35BE9guMlmTpwwBTB3ljHj9IQXnTCD0vA==}
         cpu: [x64]
         os: [linux]
         requiresBuild: true
         dev: true
         optional: true
     
    -  /@rollup/rollup-win32-arm64-msvc@4.14.2:
    -    resolution: {integrity: sha512-H4s8UjgkPnlChl6JF5empNvFHp77Jx+Wfy2EtmYPe9G22XV+PMuCinZVHurNe8ggtwoaohxARJZbaH/3xjB/FA==}
    +  /@rollup/rollup-win32-arm64-msvc@4.16.4:
    +    resolution: {integrity: sha512-Ma4PwyLfOWZWayfEsNQzTDBVW8PZ6TUUN1uFTBQbF2Chv/+sjenE86lpiEwj2FiviSmSZ4Ap4MaAfl1ciF4aSA==}
         cpu: [arm64]
         os: [win32]
         requiresBuild: true
         dev: true
         optional: true
     
    -  /@rollup/rollup-win32-ia32-msvc@4.14.2:
    -    resolution: {integrity: sha512-djqpAjm/i8erWYF0K6UY4kRO3X5+T4TypIqw60Q8MTqSBaQNpNXDhxdjpZ3ikgb+wn99svA7jxcXpiyg9MUsdw==}
    +  /@rollup/rollup-win32-ia32-msvc@4.16.4:
    +    resolution: {integrity: sha512-9m/ZDrQsdo/c06uOlP3W9G2ENRVzgzbSXmXHT4hwVaDQhYcRpi9bgBT0FTG9OhESxwK0WjQxYOSfv40cU+T69w==}
         cpu: [ia32]
         os: [win32]
         requiresBuild: true
         dev: true
         optional: true
     
    -  /@rollup/rollup-win32-x64-msvc@4.14.2:
    -    resolution: {integrity: sha512-teAqzLT0yTYZa8ZP7zhFKEx4cotS8Tkk5XiqNMJhD4CpaWB1BHARE4Qy+RzwnXvSAYv+Q3jAqCVBS+PS+Yee8Q==}
    +  /@rollup/rollup-win32-x64-msvc@4.16.4:
    +    resolution: {integrity: sha512-YunpoOAyGLDseanENHmbFvQSfVL5BxW3k7hhy0eN4rb3gS/ct75dVD0EXOWIqFT/nE8XYW6LP6vz6ctKRi0k9A==}
         cpu: [x64]
         os: [win32]
         requiresBuild: true
    @@ -4342,12 +4354,12 @@ packages:
       /@types/eslint-scope@3.7.7:
         resolution: {integrity: sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg==}
         dependencies:
    -      '@types/eslint': 8.56.9
    +      '@types/eslint': 8.56.10
           '@types/estree': 1.0.5
         dev: true
     
    -  /@types/eslint@8.56.9:
    -    resolution: {integrity: sha512-W4W3KcqzjJ0sHg2vAq9vfml6OhsJ53TcUjUqfzzZf/EChUtwspszj/S0pzMxnfRcO55/iGq47dscXw71Fxc4Zg==}
    +  /@types/eslint@8.56.10:
    +    resolution: {integrity: sha512-Shavhk87gCtY2fhXDctcfS3e6FdxWkCx1iUZ9eEUbh7rTqlZT0/IzOkCOVt0fCjcFuZ9FPYfuezTBImfHCDBGQ==}
         dependencies:
           '@types/estree': 1.0.5
           '@types/json-schema': 7.0.15
    @@ -4484,8 +4496,8 @@ packages:
           '@types/mdurl': 1.0.5
         dev: true
     
    -  /@types/markdown-it@13.0.7:
    -    resolution: {integrity: sha512-U/CBi2YUUcTHBt5tjO2r5QV/x0Po6nsYwQU4Y04fBS6vfoImaiZ6f8bi3CjTCxBPQSO1LMyUqkByzi8AidyxfA==}
    +  /@types/markdown-it@14.0.1:
    +    resolution: {integrity: sha512-6WfOG3jXR78DW8L5cTYCVVGAsIFZskRHCDo5tbqa+qtKVt4oDRVH7hyIWu1SpDQJlmIoEivNQZ5h+AGAOrgOtQ==}
         dependencies:
           '@types/linkify-it': 3.0.5
           '@types/mdurl': 1.0.5
    @@ -4574,10 +4586,8 @@ packages:
         resolution: {integrity: sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ==}
         dev: true
     
    -  /@types/resolve@1.17.1:
    -    resolution: {integrity: sha512-yy7HuzQhj0dhGpD8RLXSZWEkLsV9ibvxvi6EiJ3bkqLAO1RGo0WbkWQiwpRlSFymTJRz0d3k5LM3kkx8ArDbLw==}
    -    dependencies:
    -      '@types/node': 20.12.7
    +  /@types/resolve@1.20.2:
    +    resolution: {integrity: sha512-60BCwRFOZCQhDncwQdxxeOEEkbc5dIMccYLwbxsS4TUNeVECQ/pBJ0j09mrHOl/JJvpRPGwO9SvE4nR2Nb/a4Q==}
         dev: true
     
       /@types/responselike@1.0.3:
    @@ -4890,216 +4900,216 @@ packages:
         resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==}
         dev: true
     
    -  /@unocss/astro@0.59.2(rollup@2.79.1)(vite@5.2.8):
    -    resolution: {integrity: sha512-vchGjdGxwDELAWJX6Ql5FCg+eDsJmT4Pn752h4oCy6cZHq/0i4p+CovT/Rb8AkfCpCW+DtdjKRRhfAnmKjJquQ==}
    +  /@unocss/astro@0.59.4(rollup@2.79.1)(vite@5.2.10):
    +    resolution: {integrity: sha512-DU3OR5MMR1Uvvec4/wB9EetDASHRg19Moy6z/MiIhn8JWJ0QzWYgSeJcfUX8exomMYv6WUEQJL+CyLI34Wmn8w==}
         peerDependencies:
           vite: ^2.9.0 || ^3.0.0-0 || ^4.0.0 || ^5.0.0-0
         peerDependenciesMeta:
           vite:
             optional: true
         dependencies:
    -      '@unocss/core': 0.59.2
    -      '@unocss/reset': 0.59.2
    -      '@unocss/vite': 0.59.2(rollup@2.79.1)(vite@5.2.8)
    -      vite: 5.2.8(@types/node@20.12.7)
    +      '@unocss/core': 0.59.4
    +      '@unocss/reset': 0.59.4
    +      '@unocss/vite': 0.59.4(rollup@2.79.1)(vite@5.2.10)
    +      vite: 5.2.10(@types/node@20.12.7)
         transitivePeerDependencies:
           - rollup
         dev: true
     
    -  /@unocss/cli@0.59.2(rollup@2.79.1):
    -    resolution: {integrity: sha512-B7DjC49obmf9LXDxlAcy+K4ItYYgjHUALv+PVzPRcFml2H1DqSSWmOAHmbr12a81MWXXRlS1s7Z24LKqX6vFKg==}
    +  /@unocss/cli@0.59.4(rollup@2.79.1):
    +    resolution: {integrity: sha512-TT+WKedSifhsRqnpoYD2LfyYipVzEbzIU4DDGIaDNeDxGXYOGpb876zzkPDcvZSpI37IJ/efkkV7PGYpPBcQBQ==}
         engines: {node: '>=14'}
         hasBin: true
         dependencies:
           '@ampproject/remapping': 2.3.0
           '@rollup/pluginutils': 5.1.0(rollup@2.79.1)
    -      '@unocss/config': 0.59.2
    -      '@unocss/core': 0.59.2
    -      '@unocss/preset-uno': 0.59.2
    +      '@unocss/config': 0.59.4
    +      '@unocss/core': 0.59.4
    +      '@unocss/preset-uno': 0.59.4
           cac: 6.7.14
           chokidar: 3.6.0
           colorette: 2.0.20
           consola: 3.2.3
           fast-glob: 3.3.2
    -      magic-string: 0.30.9
    +      magic-string: 0.30.10
           pathe: 1.1.2
           perfect-debounce: 1.0.0
         transitivePeerDependencies:
           - rollup
         dev: true
     
    -  /@unocss/config@0.59.2:
    -    resolution: {integrity: sha512-KknR9kcid1w/8IuujZ8msE5pU930GD5e2v84H9Ftcv308yfuj+j/0zQ/ORtG8qMx+97p7uFy3xspzI2yoRYRpQ==}
    +  /@unocss/config@0.59.4:
    +    resolution: {integrity: sha512-h3yhj+D5Ygn5R7gbK4wMrtXZX6FF5DF6YD517sSSb0XB3lxHD9PhhT4HaV1hpHknvu0cMFU3460M45+TN1TI0Q==}
         engines: {node: '>=14'}
         dependencies:
    -      '@unocss/core': 0.59.2
    -      unconfig: 0.3.12
    +      '@unocss/core': 0.59.4
    +      unconfig: 0.3.13
         dev: true
     
    -  /@unocss/core@0.59.2:
    -    resolution: {integrity: sha512-0NtauY7v5bG0UIcvIABWnD2ssD5b9UcFkyw4iRIsT9NvR0e7QqGIOvZEg5XN0j25o50GtxlotMmTAAiaazHZ0Q==}
    +  /@unocss/core@0.59.4:
    +    resolution: {integrity: sha512-bBZ1sgcAtezQVZ1BST9IS3jqcsTLyqKNjiIf7FTnX3DHpfpYuMDFzSOtmkZDzBleOLO/CtcRWjT0HwTSQAmV0A==}
         dev: true
     
    -  /@unocss/extractor-arbitrary-variants@0.59.2:
    -    resolution: {integrity: sha512-v+1cdybFmi7sRUG8/B2vSVaBi/CgViithbiwjTjzeKETA5Cw/pWgk1Rf/MDu4jfux4MZ0+mLULm20HSUg0oXdg==}
    +  /@unocss/extractor-arbitrary-variants@0.59.4:
    +    resolution: {integrity: sha512-RDe4FgMGJQ+tp9GLvhPHni7Cc2O0lHBRMElVlN8LoXJAdODMICdbrEPGJlEfrc+7x/QgVFoR895KpYJh3hIgGA==}
         dependencies:
    -      '@unocss/core': 0.59.2
    +      '@unocss/core': 0.59.4
         dev: true
     
    -  /@unocss/inspector@0.59.2:
    -    resolution: {integrity: sha512-9BbtPrxYZVazODkNM5pZJ0j0XXIxdWxwG7PigyqJCBJbtUyM35jEZRQPNKAeGAlcnxoZE6UAJneG1M+BgFZt/w==}
    +  /@unocss/inspector@0.59.4:
    +    resolution: {integrity: sha512-QczJFNDiggmekkJyNcbcZIUVwlhvxz7ZwjnSf0w7K4znxfjKkZ1hNUbqLviM1HumkTKOdT27VISW7saN/ysO4w==}
         dependencies:
    -      '@unocss/core': 0.59.2
    -      '@unocss/rule-utils': 0.59.2
    +      '@unocss/core': 0.59.4
    +      '@unocss/rule-utils': 0.59.4
           gzip-size: 6.0.0
           sirv: 2.0.4
         dev: true
     
    -  /@unocss/postcss@0.59.2(postcss@8.4.38):
    -    resolution: {integrity: sha512-9pRixhnL9B1sdhzY7zlhnBXc8nVNwDCT4nMQRgSdWNvT76dImVv1N3609veIrCfLEHQJi52Juo//trSNLjUzZQ==}
    +  /@unocss/postcss@0.59.4(postcss@8.4.38):
    +    resolution: {integrity: sha512-KVz+AD7McHKp7VEWHbFahhyyVEo0oP/e1vnuNSuPlHthe+1V2zfH6lps+iJcvfL2072r5J+0PvD/1kOp5ryUSg==}
         engines: {node: '>=14'}
         peerDependencies:
           postcss: ^8.4.21
         dependencies:
    -      '@unocss/config': 0.59.2
    -      '@unocss/core': 0.59.2
    -      '@unocss/rule-utils': 0.59.2
    +      '@unocss/config': 0.59.4
    +      '@unocss/core': 0.59.4
    +      '@unocss/rule-utils': 0.59.4
           css-tree: 2.3.1
           fast-glob: 3.3.2
    -      magic-string: 0.30.9
    +      magic-string: 0.30.10
           postcss: 8.4.38
         dev: true
     
    -  /@unocss/preset-attributify@0.59.2:
    -    resolution: {integrity: sha512-iQsKoQAaEwosqe9199rhlZqUeRZ3A39QKqLNxLRf+zkiIQaL0yHlsTYVg9VjbiEb8A1JDi7nHDgZNRBJRyb3nQ==}
    +  /@unocss/preset-attributify@0.59.4:
    +    resolution: {integrity: sha512-BeogWuYaIakC1gmOZFFCjFVWmu/m3AqEX8UYQS6tY6lAaK2L4Qf4AstYBlT2zAMxy9LNxPDxFQrvfSfFk5Klsg==}
         dependencies:
    -      '@unocss/core': 0.59.2
    +      '@unocss/core': 0.59.4
         dev: true
     
    -  /@unocss/preset-icons@0.59.2:
    -    resolution: {integrity: sha512-Qg/zXqzlt0qLdC7DmDVilX0gdgiM1IPqy+fZ8sAfWy3CtAfMIg4rSHn3qELZdExGvp0WfnkLC+q0t7AwyVyQPw==}
    +  /@unocss/preset-icons@0.59.4:
    +    resolution: {integrity: sha512-Afjwh5oC4KRE8TNZDUkRK6hvvV1wKLrS1e5trniE0B0AM9HK3PBolQaIU7QmzPv6WQrog+MZgIwafg1eqsPUCA==}
         dependencies:
    -      '@iconify/utils': 2.1.22
    -      '@unocss/core': 0.59.2
    +      '@iconify/utils': 2.1.23
    +      '@unocss/core': 0.59.4
           ofetch: 1.3.4
         transitivePeerDependencies:
           - supports-color
         dev: true
     
    -  /@unocss/preset-mini@0.59.2:
    -    resolution: {integrity: sha512-OFFPNyuuQcPJU4lIE1nQXnmH6uOuinA0+bCAjyB6/1Bj7LCLJGPqdviud/to6cLT90PUsKTIG2TTEQisO3CWAQ==}
    +  /@unocss/preset-mini@0.59.4:
    +    resolution: {integrity: sha512-ZLywGrXi1OCr4My5vX2rLUb5Xgx6ufR9WTQOvpQJGBdIV/jnZn/pyE5avCs476SnOq2K172lnd8mFmTK7/zArA==}
         dependencies:
    -      '@unocss/core': 0.59.2
    -      '@unocss/extractor-arbitrary-variants': 0.59.2
    -      '@unocss/rule-utils': 0.59.2
    +      '@unocss/core': 0.59.4
    +      '@unocss/extractor-arbitrary-variants': 0.59.4
    +      '@unocss/rule-utils': 0.59.4
         dev: true
     
    -  /@unocss/preset-tagify@0.59.2:
    -    resolution: {integrity: sha512-/dhu5G3P0084wn+gxqaLpChv8EyXh9q070uYUxdzNjmZgZ0JDZaeSrcfiyzLJO5RoYCyJNAsp32mBK+//N3XPg==}
    +  /@unocss/preset-tagify@0.59.4:
    +    resolution: {integrity: sha512-vWMdTUoghOSmTbdmZtERssffmdUdOuhh4vUdl0R8Kv6KxB0PkvEFCu2FItn97nRJdSPlZSFxxDkaOIg9w+STNQ==}
         dependencies:
    -      '@unocss/core': 0.59.2
    +      '@unocss/core': 0.59.4
         dev: true
     
    -  /@unocss/preset-typography@0.59.2:
    -    resolution: {integrity: sha512-02NSGlEhxSDYl58ZiorP4EUiFI5z+j9ez5XjF+FKrZwK2J/L3/DRXcW00n9ERhtc44H6RP2Laj3X7sH8ggJ37A==}
    +  /@unocss/preset-typography@0.59.4:
    +    resolution: {integrity: sha512-ZX9bxZUqlXK1qEDzO5lkK96ICt9itR/oNyn/7mMc1JPqwj263LumQMn5silocgzoLSUXEeq//L6GylqYjkL8GA==}
         dependencies:
    -      '@unocss/core': 0.59.2
    -      '@unocss/preset-mini': 0.59.2
    +      '@unocss/core': 0.59.4
    +      '@unocss/preset-mini': 0.59.4
         dev: true
     
    -  /@unocss/preset-uno@0.59.2:
    -    resolution: {integrity: sha512-+decQShFqTz00w6rpNRQZEZm8PV1MHHs0thUNaooBUF+pISNhJlXJisE2rz4V7KVCCMgZZTRtyPZxmblGVXbJg==}
    +  /@unocss/preset-uno@0.59.4:
    +    resolution: {integrity: sha512-G1f8ZluplvXZ3bERj+sM/8zzY//XD++nNOlAQNKOANSVht3qEoJebrfEiMClNpA5qW5VWOZhEhPkh0M7GsXtnA==}
         dependencies:
    -      '@unocss/core': 0.59.2
    -      '@unocss/preset-mini': 0.59.2
    -      '@unocss/preset-wind': 0.59.2
    -      '@unocss/rule-utils': 0.59.2
    +      '@unocss/core': 0.59.4
    +      '@unocss/preset-mini': 0.59.4
    +      '@unocss/preset-wind': 0.59.4
    +      '@unocss/rule-utils': 0.59.4
         dev: true
     
    -  /@unocss/preset-web-fonts@0.59.2:
    -    resolution: {integrity: sha512-F7NTjDnmmWlu/NlFjtFR92PnONGax1geXFQFb/dh7QlEBZiVe/qzHRtKLtsYaOGSPr5CSamo0LORx4wug7gjIA==}
    +  /@unocss/preset-web-fonts@0.59.4:
    +    resolution: {integrity: sha512-ehutTjKHnf2KPmdatN42N9a8+y+glKSU3UlcBRNsVIIXVIlaBQuPVGZSPhnMtrKD17IgWylXq2K6RJK+ab0hZA==}
         dependencies:
    -      '@unocss/core': 0.59.2
    +      '@unocss/core': 0.59.4
           ofetch: 1.3.4
         dev: true
     
    -  /@unocss/preset-wind@0.59.2:
    -    resolution: {integrity: sha512-LbdsxU8M90guqV4e7K1weDp3wWcSwzcSmxkogSI/R818SJgnocv4eNzeIR5/mbZu8y8ENtEiE8rEYL1jA6L2GQ==}
    +  /@unocss/preset-wind@0.59.4:
    +    resolution: {integrity: sha512-CNX6w0ZpSQg/i1oF0/WKWzto8PtLqoknC5h8JmmcGb7VsyBQeV0oNnhbURxpbuMEhbv1MWVIGvk8a+P6y0rFkQ==}
         dependencies:
    -      '@unocss/core': 0.59.2
    -      '@unocss/preset-mini': 0.59.2
    -      '@unocss/rule-utils': 0.59.2
    +      '@unocss/core': 0.59.4
    +      '@unocss/preset-mini': 0.59.4
    +      '@unocss/rule-utils': 0.59.4
         dev: true
     
    -  /@unocss/reset@0.59.2:
    -    resolution: {integrity: sha512-xEo2ogs42FlNUca3BiPesGg9/FevJ6cmkxnzzbwlqIEeZjiCH6o+nGdNNUbi6p+gto2P9v4L8ZOeMFYQCwpFzg==}
    +  /@unocss/reset@0.59.4:
    +    resolution: {integrity: sha512-Upy4xzdWl4RChbLAXBq1BoR4WqxXMoIfjvtcwSZcZK2sylXCFAseSWnyzJFdSiXPqNfmMuNgPXgiSxiQB+cmNA==}
         dev: true
     
    -  /@unocss/rule-utils@0.59.2:
    -    resolution: {integrity: sha512-2F1Q1pCfeG65GxPEhGQDZXXoZk38fX4o5LOYf35XkknhjQmkaeK76szVYXLDoyK30n9EiwXqoc0MdKrGjeCMUA==}
    +  /@unocss/rule-utils@0.59.4:
    +    resolution: {integrity: sha512-1qoLJlBWAkS4D4sg73990S1MT7E8E5md/YhopKjTQuEC9SyeVmEg+5pR/Xd8xhPKMqbcuBPl/DS8b6l/GQO56A==}
         engines: {node: '>=14'}
         dependencies:
    -      '@unocss/core': 0.59.2
    -      magic-string: 0.30.9
    +      '@unocss/core': 0.59.4
    +      magic-string: 0.30.10
         dev: true
     
    -  /@unocss/scope@0.59.2:
    -    resolution: {integrity: sha512-V6ZS+QonrmqRfZ1/oYmEusASBjbbO+eeL+Fau3bh8IZyPq2HkngJvLNwcyQUPk3/pH18anuzBktSYP0BD2GsKA==}
    +  /@unocss/scope@0.59.4:
    +    resolution: {integrity: sha512-wBQJ39kw4Tfj4km7AoGvSIobPKVnRZVsgc0bema5Y0PL3g1NeVQ/LopBI2zEJWdpxGXUWxSDsXm7BZo6qVlD/A==}
         dev: true
     
    -  /@unocss/transformer-attributify-jsx-babel@0.59.2:
    -    resolution: {integrity: sha512-tFFncKR9WkGs8asi00lboVbQ/GjHWrE3YBY1GCrSZpeW+XOpGkkEEo03ncVW2c2s0ie4Zl5T7UWcRzFY8gyITQ==}
    +  /@unocss/transformer-attributify-jsx-babel@0.59.4:
    +    resolution: {integrity: sha512-xtCRSgeTaDBiNJLVX7oOSFe63JiFB5nrdK23PHn3IlZM9O7Bxx4ZxI3MQJtFZFQNE+INFko+DVyY1WiFEm1p/Q==}
         dependencies:
           '@babel/core': 7.24.4
           '@babel/plugin-syntax-jsx': 7.24.1(@babel/core@7.24.4)
           '@babel/preset-typescript': 7.24.1(@babel/core@7.24.4)
    -      '@unocss/core': 0.59.2
    +      '@unocss/core': 0.59.4
         transitivePeerDependencies:
           - supports-color
         dev: true
     
    -  /@unocss/transformer-attributify-jsx@0.59.2:
    -    resolution: {integrity: sha512-mqcA02tkgeEdMH99K3YJFwHhyT/qvM/0+amfZ3nYlNAiiyCumdb980fSdUvx/cTyXmnocD6tG+UPnx2kD3zdQg==}
    +  /@unocss/transformer-attributify-jsx@0.59.4:
    +    resolution: {integrity: sha512-m4b83utzKMfUQH/45V2QkjJoXd8Tu2pRP1nic91Xf7QRceyKDD+BxoTneo2JNC2K274cQu7HqqotnCm2aFfEGw==}
         dependencies:
    -      '@unocss/core': 0.59.2
    +      '@unocss/core': 0.59.4
         dev: true
     
    -  /@unocss/transformer-compile-class@0.59.2:
    -    resolution: {integrity: sha512-yXKoAJU0QcRx3c2XAalHgcVculIPDRCanBm5A3XZPp35eKhcni3VedzUQY6RYFfoETOgQ5x0SV73Ttbj/zvZBQ==}
    +  /@unocss/transformer-compile-class@0.59.4:
    +    resolution: {integrity: sha512-Vgk2OCLPW0pU+Uzr1IgDtHVspSBb+gPrQFkV+5gxHk9ZdKi3oYKxLuufVWYDSwv7o9yfQGbYrMH9YLsjRsnA7Q==}
         dependencies:
    -      '@unocss/core': 0.59.2
    +      '@unocss/core': 0.59.4
         dev: true
     
    -  /@unocss/transformer-directives@0.59.2:
    -    resolution: {integrity: sha512-FiLcBtwUIUNFpE2SxeUeslJGShHimOJyk30+m2BP+Af7QsxcamWb8/w7YKRMz5MAmE6ZnzAzx/ZAdrK540ho0A==}
    +  /@unocss/transformer-directives@0.59.4:
    +    resolution: {integrity: sha512-nXUTEclUbs0vQ4KfLhKt4J/5SLSEq1az2FNlJmiXMmqmn75X89OrtCu2OJu9sGXhn+YyBApxgcSSdxmtpqMi1Q==}
         dependencies:
    -      '@unocss/core': 0.59.2
    -      '@unocss/rule-utils': 0.59.2
    +      '@unocss/core': 0.59.4
    +      '@unocss/rule-utils': 0.59.4
           css-tree: 2.3.1
         dev: true
     
    -  /@unocss/transformer-variant-group@0.59.2:
    -    resolution: {integrity: sha512-nlEI5ts2YVKvL0dFaIozFIefPUTDZhYCNS6Oie5DPVXDTVufkh9OinLiCo/2ggytkY/VZL00wJm6Iknrp7HL7Q==}
    +  /@unocss/transformer-variant-group@0.59.4:
    +    resolution: {integrity: sha512-9XLixxn1NRgP62Kj4R/NC/rpqhql5F2s6ulJ8CAMTEbd/NylVhEANluPGDVUGcLJ4cj6E02hFa8C1PLGSm7/xw==}
         dependencies:
    -      '@unocss/core': 0.59.2
    +      '@unocss/core': 0.59.4
         dev: true
     
    -  /@unocss/vite@0.59.2(rollup@2.79.1)(vite@5.2.8):
    -    resolution: {integrity: sha512-cCATFcyoHKr/5c/ccnwhtYoUA42v+SXp2xmpR4hgE0U4WFgGqIYOx5pzWap73DbywQJuU0hklq7lgvO9b+L/sQ==}
    +  /@unocss/vite@0.59.4(rollup@2.79.1)(vite@5.2.10):
    +    resolution: {integrity: sha512-q7GN7vkQYn79n7vYIUlaa7gXGwc7pk0Qo3z3ZFwWGE43/DtZnn2Hwl5UjgBAgi9McA+xqHJEHRsJnI7HJPHUYA==}
         peerDependencies:
           vite: ^2.9.0 || ^3.0.0-0 || ^4.0.0 || ^5.0.0-0
         dependencies:
           '@ampproject/remapping': 2.3.0
           '@rollup/pluginutils': 5.1.0(rollup@2.79.1)
    -      '@unocss/config': 0.59.2
    -      '@unocss/core': 0.59.2
    -      '@unocss/inspector': 0.59.2
    -      '@unocss/scope': 0.59.2
    -      '@unocss/transformer-directives': 0.59.2
    +      '@unocss/config': 0.59.4
    +      '@unocss/core': 0.59.4
    +      '@unocss/inspector': 0.59.4
    +      '@unocss/scope': 0.59.4
    +      '@unocss/transformer-directives': 0.59.4
           chokidar: 3.6.0
           fast-glob: 3.3.2
    -      magic-string: 0.30.9
    -      vite: 5.2.8(@types/node@20.12.7)
    +      magic-string: 0.30.10
    +      vite: 5.2.10(@types/node@20.12.7)
         transitivePeerDependencies:
           - rollup
         dev: true
    @@ -5113,24 +5123,24 @@ packages:
           '@vite-pwa/assets-generator':
             optional: true
         dependencies:
    -      vite-plugin-pwa: 0.19.8(vite@5.2.8)(workbox-build@7.0.0)(workbox-window@7.0.0)
    +      vite-plugin-pwa: 0.19.8(vite@5.2.10)(workbox-build@7.1.0)(workbox-window@7.0.0)
         dev: true
     
    -  /@vitejs/plugin-vue@5.0.4(vite@5.2.8)(vue@3.4.21):
    +  /@vitejs/plugin-vue@5.0.4(vite@5.2.10)(vue@3.4.25):
         resolution: {integrity: sha512-WS3hevEszI6CEVEx28F8RjTX97k3KsrcY6kvTg7+Whm5y3oYvcqzVeGCU3hxSAn4uY2CLCkeokkGKpoctccilQ==}
         engines: {node: ^18.0.0 || >=20.0.0}
         peerDependencies:
           vite: ^5.0.0
           vue: ^3.2.25
         dependencies:
    -      vite: 5.2.8(@types/node@20.12.7)
    -      vue: 3.4.21(typescript@5.4.5)
    +      vite: 5.2.10(@types/node@20.12.7)
    +      vue: 3.4.25(typescript@5.4.5)
         dev: true
     
    -  /@vitest/coverage-v8@1.5.0(vitest@1.5.0):
    -    resolution: {integrity: sha512-1igVwlcqw1QUMdfcMlzzY4coikSIBN944pkueGi0pawrX5I5Z+9hxdTR+w3Sg6Q3eZhvdMAs8ZaF9JuTG1uYOQ==}
    +  /@vitest/coverage-v8@1.5.2(vitest@1.5.2):
    +    resolution: {integrity: sha512-QJqxRnbCwNtbbegK9E93rBmhN3dbfG1bC/o52Bqr0zGCYhQzwgwvrJBG7Q8vw3zilX6Ryy6oa/mkZku2lLJx1Q==}
         peerDependencies:
    -      vitest: 1.5.0
    +      vitest: 1.5.2
         dependencies:
           '@ampproject/remapping': 2.3.0
           '@bcoe/v8-coverage': 0.2.3
    @@ -5139,64 +5149,64 @@ packages:
           istanbul-lib-report: 3.0.1
           istanbul-lib-source-maps: 5.0.4
           istanbul-reports: 3.1.7
    -      magic-string: 0.30.9
    +      magic-string: 0.30.10
           magicast: 0.3.4
           picocolors: 1.0.0
           std-env: 3.7.0
           strip-literal: 2.1.0
           test-exclude: 6.0.0
    -      vitest: 1.5.0(@types/node@20.12.7)(@vitest/ui@1.5.0)(jsdom@24.0.0)
    +      vitest: 1.5.2(@types/node@20.12.7)(@vitest/ui@1.5.2)(jsdom@24.0.0)
         transitivePeerDependencies:
           - supports-color
         dev: true
     
    -  /@vitest/expect@1.5.0:
    -    resolution: {integrity: sha512-0pzuCI6KYi2SIC3LQezmxujU9RK/vwC1U9R0rLuGlNGcOuDWxqWKu6nUdFsX9tH1WU0SXtAxToOsEjeUn1s3hA==}
    +  /@vitest/expect@1.5.2:
    +    resolution: {integrity: sha512-rf7MTD1WCoDlN3FfYJ9Llfp0PbdtOMZ3FIF0AVkDnKbp3oiMW1c8AmvRZBcqbAhDUAvF52e9zx4WQM1r3oraVA==}
         dependencies:
    -      '@vitest/spy': 1.5.0
    -      '@vitest/utils': 1.5.0
    +      '@vitest/spy': 1.5.2
    +      '@vitest/utils': 1.5.2
           chai: 4.4.1
         dev: true
     
    -  /@vitest/runner@1.5.0:
    -    resolution: {integrity: sha512-7HWwdxXP5yDoe7DTpbif9l6ZmDwCzcSIK38kTSIt6CFEpMjX4EpCgT6wUmS0xTXqMI6E/ONmfgRKmaujpabjZQ==}
    +  /@vitest/runner@1.5.2:
    +    resolution: {integrity: sha512-7IJ7sJhMZrqx7HIEpv3WrMYcq8ZNz9L6alo81Y6f8hV5mIE6yVZsFoivLZmr0D777klm1ReqonE9LyChdcmw6g==}
         dependencies:
    -      '@vitest/utils': 1.5.0
    +      '@vitest/utils': 1.5.2
           p-limit: 5.0.0
           pathe: 1.1.2
         dev: true
     
    -  /@vitest/snapshot@1.5.0:
    -    resolution: {integrity: sha512-qpv3fSEuNrhAO3FpH6YYRdaECnnRjg9VxbhdtPwPRnzSfHVXnNzzrpX4cJxqiwgRMo7uRMWDFBlsBq4Cr+rO3A==}
    +  /@vitest/snapshot@1.5.2:
    +    resolution: {integrity: sha512-CTEp/lTYos8fuCc9+Z55Ga5NVPKUgExritjF5VY7heRFUfheoAqBneUlvXSUJHUZPjnPmyZA96yLRJDP1QATFQ==}
         dependencies:
    -      magic-string: 0.30.9
    +      magic-string: 0.30.10
           pathe: 1.1.2
           pretty-format: 29.7.0
         dev: true
     
    -  /@vitest/spy@1.5.0:
    -    resolution: {integrity: sha512-vu6vi6ew5N5MMHJjD5PoakMRKYdmIrNJmyfkhRpQt5d9Ewhw9nZ5Aqynbi3N61bvk9UvZ5UysMT6ayIrZ8GA9w==}
    +  /@vitest/spy@1.5.2:
    +    resolution: {integrity: sha512-xCcPvI8JpCtgikT9nLpHPL1/81AYqZy1GCy4+MCHBE7xi8jgsYkULpW5hrx5PGLgOQjUpb6fd15lqcriJ40tfQ==}
         dependencies:
           tinyspy: 2.2.1
         dev: true
     
    -  /@vitest/ui@1.5.0(vitest@1.5.0):
    -    resolution: {integrity: sha512-ETcToK2TzICf/Oartvt19IH7yR4oCs8GrQk5hRhZ5oZFaSdDHTh6o3EdzyxOaY24NZ20cXYYNGjj1se/5vHfFg==}
    +  /@vitest/ui@1.5.2(vitest@1.5.2):
    +    resolution: {integrity: sha512-pYDitwgCOn7i3FH7Ka94G70dmj85xpBA42BaWCx82blPehyVO8FU6OLHNP9iAKJIHaIOXwZ+bgOXYSj3wZCxFA==}
         peerDependencies:
    -      vitest: 1.5.0
    +      vitest: 1.5.2
         dependencies:
    -      '@vitest/utils': 1.5.0
    +      '@vitest/utils': 1.5.2
           fast-glob: 3.3.2
           fflate: 0.8.2
           flatted: 3.3.1
           pathe: 1.1.2
           picocolors: 1.0.0
           sirv: 2.0.4
    -      vitest: 1.5.0(@types/node@20.12.7)(@vitest/ui@1.5.0)(jsdom@24.0.0)
    +      vitest: 1.5.2(@types/node@20.12.7)(@vitest/ui@1.5.2)(jsdom@24.0.0)
         dev: true
     
    -  /@vitest/utils@1.5.0:
    -    resolution: {integrity: sha512-BDU0GNL8MWkRkSRdNFvCUCAVOeHaUlVJ9Tx0TYBZyXaaOTmGtUFObzchCivIBrIwKzvZA7A9sCejVhXM2aY98A==}
    +  /@vitest/utils@1.5.2:
    +    resolution: {integrity: sha512-sWOmyofuXLJ85VvXNsroZur7mOJGiQeM0JN3/0D1uU8U9bGFM69X1iqHaRXl6R8BwaLY6yPCogP257zxTzkUdA==}
         dependencies:
           diff-sequences: 29.6.3
           estree-walker: 3.0.3
    @@ -5218,28 +5228,59 @@ packages:
       /@vue/compiler-core@3.4.21:
         resolution: {integrity: sha512-MjXawxZf2SbZszLPYxaFCjxfibYrzr3eYbKxwpLR9EQN+oaziSu3qKVbwBERj1IFIB8OLUewxB5m/BFzi613og==}
         dependencies:
    -      '@babel/parser': 7.24.0
    +      '@babel/parser': 7.24.4
           '@vue/shared': 3.4.21
           entities: 4.5.0
           estree-walker: 2.0.2
           source-map-js: 1.2.0
    +    dev: false
    +
    +  /@vue/compiler-core@3.4.25:
    +    resolution: {integrity: sha512-Y2pLLopaElgWnMNolgG8w3C5nNUVev80L7hdQ5iIKPtMJvhVpG0zhnBG/g3UajJmZdvW0fktyZTotEHD1Srhbg==}
    +    dependencies:
    +      '@babel/parser': 7.24.4
    +      '@vue/shared': 3.4.25
    +      entities: 4.5.0
    +      estree-walker: 2.0.2
    +      source-map-js: 1.2.0
     
       /@vue/compiler-dom@3.4.21:
         resolution: {integrity: sha512-IZC6FKowtT1sl0CR5DpXSiEB5ayw75oT2bma1BEhV7RRR1+cfwLrxc2Z8Zq/RGFzJ8w5r9QtCOvTjQgdn0IKmA==}
         dependencies:
           '@vue/compiler-core': 3.4.21
           '@vue/shared': 3.4.21
    +    dev: false
    +
    +  /@vue/compiler-dom@3.4.25:
    +    resolution: {integrity: sha512-Ugz5DusW57+HjllAugLci19NsDK+VyjGvmbB2TXaTcSlQxwL++2PETHx/+Qv6qFwNLzSt7HKepPe4DcTE3pBWg==}
    +    dependencies:
    +      '@vue/compiler-core': 3.4.25
    +      '@vue/shared': 3.4.25
     
       /@vue/compiler-sfc@3.4.21:
         resolution: {integrity: sha512-me7epoTxYlY+2CUM7hy9PCDdpMPfIwrOvAXud2Upk10g4YLv9UBW7kL798TvMeDhPthkZ0CONNrK2GoeI1ODiQ==}
         dependencies:
    -      '@babel/parser': 7.24.1
    +      '@babel/parser': 7.24.4
           '@vue/compiler-core': 3.4.21
           '@vue/compiler-dom': 3.4.21
           '@vue/compiler-ssr': 3.4.21
           '@vue/shared': 3.4.21
           estree-walker: 2.0.2
    -      magic-string: 0.30.8
    +      magic-string: 0.30.10
    +      postcss: 8.4.38
    +      source-map-js: 1.2.0
    +    dev: false
    +
    +  /@vue/compiler-sfc@3.4.25:
    +    resolution: {integrity: sha512-m7rryuqzIoQpOBZ18wKyq05IwL6qEpZxFZfRxlNYuIPDqywrXQxgUwLXIvoU72gs6cRdY6wHD0WVZIFE4OEaAQ==}
    +    dependencies:
    +      '@babel/parser': 7.24.4
    +      '@vue/compiler-core': 3.4.25
    +      '@vue/compiler-dom': 3.4.25
    +      '@vue/compiler-ssr': 3.4.25
    +      '@vue/shared': 3.4.25
    +      estree-walker: 2.0.2
    +      magic-string: 0.30.10
           postcss: 8.4.38
           source-map-js: 1.2.0
     
    @@ -5248,34 +5289,41 @@ packages:
         dependencies:
           '@vue/compiler-dom': 3.4.21
           '@vue/shared': 3.4.21
    +    dev: false
    +
    +  /@vue/compiler-ssr@3.4.25:
    +    resolution: {integrity: sha512-H2ohvM/Pf6LelGxDBnfbbXFPyM4NE3hrw0e/EpwuSiYu8c819wx+SVGdJ65p/sFrYDd6OnSDxN1MB2mN07hRSQ==}
    +    dependencies:
    +      '@vue/compiler-dom': 3.4.25
    +      '@vue/shared': 3.4.25
     
       /@vue/devtools-api@6.6.1:
         resolution: {integrity: sha512-LgPscpE3Vs0x96PzSSB4IGVSZXZBZHpfxs+ZA1d+VEPwHdOXowy/Y2CsvCAIFrf+ssVU1pD1jidj505EpUnfbA==}
         dev: false
     
    -  /@vue/devtools-api@7.0.27(vue@3.4.21):
    -    resolution: {integrity: sha512-BFCFCusSDcw2UcOFD/QeK7OxD1x2C/m+uAN30Q7jLKECSW53hmz0urzJmX834GuWDZX/hIxkyUKnLLfEIP1c/w==}
    +  /@vue/devtools-api@7.1.3(vue@3.4.25):
    +    resolution: {integrity: sha512-W8IwFJ/o5iUk78jpqhvScbgCsPiOp2uileDVC0NDtW38gCWhsnu9SeBTjcdu3lbwLdsjc+H1c5Msd/x9ApbcFA==}
         dependencies:
    -      '@vue/devtools-kit': 7.0.27(vue@3.4.21)
    +      '@vue/devtools-kit': 7.1.3(vue@3.4.25)
         transitivePeerDependencies:
           - vue
         dev: true
     
    -  /@vue/devtools-kit@7.0.27(vue@3.4.21):
    -    resolution: {integrity: sha512-/A5xM38pPCFX5Yhl/lRFAzjyK6VNsH670nww2WbjFKWqlu3I+lMxWKzQkCW6A1V8bduITgl2kHORfg2gTw6QaA==}
    +  /@vue/devtools-kit@7.1.3(vue@3.4.25):
    +    resolution: {integrity: sha512-NFskFSJMVCBXTkByuk2llzI3KD3Blcm7WqiRorWjD6nClHPgkH5BobDH08rfulqq5ocRt5xV+3qOT1Q9FXJrwQ==}
         peerDependencies:
           vue: ^3.0.0
         dependencies:
    -      '@vue/devtools-shared': 7.0.27
    +      '@vue/devtools-shared': 7.1.3
           hookable: 5.5.3
           mitt: 3.0.1
           perfect-debounce: 1.0.0
           speakingurl: 14.0.1
    -      vue: 3.4.21(typescript@5.4.5)
    +      vue: 3.4.25(typescript@5.4.5)
         dev: true
     
    -  /@vue/devtools-shared@7.0.27:
    -    resolution: {integrity: sha512-4VxtmZ6yjhiSloqZZq2UYU0TBGxOJ8GxWvp5OlAH70zYqi0FIAyWGPkOhvfoZ7DKQyv2UU0mmKzFHjsEkelGyQ==}
    +  /@vue/devtools-shared@7.1.3:
    +    resolution: {integrity: sha512-KJ3AfgjTn3tJz/XKF+BlVShNPecim3G21oHRue+YQOsooW+0s+qXvm09U09aO7yBza5SivL1QgxSrzAbiKWjhQ==}
         dependencies:
           rfdc: 1.3.1
         dev: true
    @@ -5284,12 +5332,25 @@ packages:
         resolution: {integrity: sha512-UhenImdc0L0/4ahGCyEzc/pZNwVgcglGy9HVzJ1Bq2Mm9qXOpP8RyNTjookw/gOCUlXSEtuZ2fUg5nrHcoqJcw==}
         dependencies:
           '@vue/shared': 3.4.21
    +    dev: false
    +
    +  /@vue/reactivity@3.4.25:
    +    resolution: {integrity: sha512-mKbEtKr1iTxZkAG3vm3BtKHAOhuI4zzsVcN0epDldU/THsrvfXRKzq+lZnjczZGnTdh3ojd86/WrP+u9M51pWQ==}
    +    dependencies:
    +      '@vue/shared': 3.4.25
     
       /@vue/runtime-core@3.4.21:
         resolution: {integrity: sha512-pQthsuYzE1XcGZznTKn73G0s14eCJcjaLvp3/DKeYWoFacD9glJoqlNBxt3W2c5S40t6CCcpPf+jG01N3ULyrA==}
         dependencies:
           '@vue/reactivity': 3.4.21
           '@vue/shared': 3.4.21
    +    dev: false
    +
    +  /@vue/runtime-core@3.4.25:
    +    resolution: {integrity: sha512-3qhsTqbEh8BMH3pXf009epCI5E7bKu28fJLi9O6W+ZGt/6xgSfMuGPqa5HRbUxLoehTNp5uWvzCr60KuiRIL0Q==}
    +    dependencies:
    +      '@vue/reactivity': 3.4.25
    +      '@vue/shared': 3.4.25
     
       /@vue/runtime-dom@3.4.21:
         resolution: {integrity: sha512-gvf+C9cFpevsQxbkRBS1NpU8CqxKw0ebqMvLwcGQrNpx6gqRDodqKqA+A2VZZpQ9RpK2f9yfg8VbW/EpdFUOJw==}
    @@ -5297,6 +5358,14 @@ packages:
           '@vue/runtime-core': 3.4.21
           '@vue/shared': 3.4.21
           csstype: 3.1.3
    +    dev: false
    +
    +  /@vue/runtime-dom@3.4.25:
    +    resolution: {integrity: sha512-ode0sj77kuwXwSc+2Yhk8JMHZh1sZp9F/51wdBiz3KGaWltbKtdihlJFhQG4H6AY+A06zzeMLkq6qu8uDSsaoA==}
    +    dependencies:
    +      '@vue/runtime-core': 3.4.25
    +      '@vue/shared': 3.4.25
    +      csstype: 3.1.3
     
       /@vue/server-renderer@3.4.21(vue@3.4.21):
         resolution: {integrity: sha512-aV1gXyKSN6Rz+6kZ6kr5+Ll14YzmIbeuWe7ryJl5muJ4uwSwY/aStXTixx76TwkZFJLm1aAlA/HSWEJ4EyiMkg==}
    @@ -5306,22 +5375,36 @@ packages:
           '@vue/compiler-ssr': 3.4.21
           '@vue/shared': 3.4.21
           vue: 3.4.21(typescript@5.4.5)
    +    dev: false
    +
    +  /@vue/server-renderer@3.4.25(vue@3.4.25):
    +    resolution: {integrity: sha512-8VTwq0Zcu3K4dWV0jOwIVINESE/gha3ifYCOKEhxOj6MEl5K5y8J8clQncTcDhKF+9U765nRw4UdUEXvrGhyVQ==}
    +    peerDependencies:
    +      vue: 3.4.25
    +    dependencies:
    +      '@vue/compiler-ssr': 3.4.25
    +      '@vue/shared': 3.4.25
    +      vue: 3.4.25(typescript@5.4.5)
     
       /@vue/shared@3.4.21:
         resolution: {integrity: sha512-PuJe7vDIi6VYSinuEbUIQgMIRZGgM8e4R+G+/dQTk0X1NEdvgvvgv7m+rfmDH1gZzyA1OjjoWskvHlfRNfQf3g==}
    +    dev: false
    +
    +  /@vue/shared@3.4.25:
    +    resolution: {integrity: sha512-k0yappJ77g2+KNrIaF0FFnzwLvUBLUYr8VOwz+/6vLsmItFp51AcxLL7Ey3iPd7BIRyWPOcqUjMnm7OkahXllA==}
     
    -  /@vueuse/core@10.9.0(vue@3.4.21):
    +  /@vueuse/core@10.9.0(vue@3.4.25):
         resolution: {integrity: sha512-/1vjTol8SXnx6xewDEKfS0Ra//ncg4Hb0DaZiwKf7drgfMsKFExQ+FnnENcN6efPen+1kIzhLQoGSy0eDUVOMg==}
         dependencies:
           '@types/web-bluetooth': 0.0.20
           '@vueuse/metadata': 10.9.0
    -      '@vueuse/shared': 10.9.0(vue@3.4.21)
    -      vue-demi: 0.14.7(vue@3.4.21)
    +      '@vueuse/shared': 10.9.0(vue@3.4.25)
    +      vue-demi: 0.14.7(vue@3.4.25)
         transitivePeerDependencies:
           - '@vue/composition-api'
           - vue
     
    -  /@vueuse/integrations@10.9.0(focus-trap@7.5.4)(vue@3.4.21):
    +  /@vueuse/integrations@10.9.0(focus-trap@7.5.4)(vue@3.4.25):
         resolution: {integrity: sha512-acK+A01AYdWSvL4BZmCoJAcyHJ6EqhmkQEXbQLwev1MY7NBnS+hcEMx/BzVoR9zKI+UqEPMD9u6PsyAuiTRT4Q==}
         peerDependencies:
           async-validator: '*'
    @@ -5362,10 +5445,10 @@ packages:
           universal-cookie:
             optional: true
         dependencies:
    -      '@vueuse/core': 10.9.0(vue@3.4.21)
    -      '@vueuse/shared': 10.9.0(vue@3.4.21)
    +      '@vueuse/core': 10.9.0(vue@3.4.25)
    +      '@vueuse/shared': 10.9.0(vue@3.4.25)
           focus-trap: 7.5.4
    -      vue-demi: 0.14.7(vue@3.4.21)
    +      vue-demi: 0.14.7(vue@3.4.25)
         transitivePeerDependencies:
           - '@vue/composition-api'
           - vue
    @@ -5374,10 +5457,10 @@ packages:
       /@vueuse/metadata@10.9.0:
         resolution: {integrity: sha512-iddNbg3yZM0X7qFY2sAotomgdHK7YJ6sKUvQqbvwnf7TmaVPxS4EJydcNsVejNdS8iWCtDk+fYXr7E32nyTnGA==}
     
    -  /@vueuse/shared@10.9.0(vue@3.4.21):
    +  /@vueuse/shared@10.9.0(vue@3.4.25):
         resolution: {integrity: sha512-Uud2IWncmAfJvRaFYzv5OHDli+FbOzxiVEQdLCKQKLyhz94PIyFC3CHcH7EDMwIn8NPtD06+PNbC/PiO0LGLtw==}
         dependencies:
    -      vue-demi: 0.14.7(vue@3.4.21)
    +      vue-demi: 0.14.7(vue@3.4.25)
         transitivePeerDependencies:
           - '@vue/composition-api'
           - vue
    @@ -6081,14 +6164,14 @@ packages:
           '@types/babel__traverse': 7.20.5
         dev: true
     
    -  /babel-plugin-polyfill-corejs2@0.4.10(@babel/core@7.24.4):
    -    resolution: {integrity: sha512-rpIuu//y5OX6jVU+a5BCn1R5RSZYWAl2Nar76iwaOdycqb6JPxediskWFMMl7stfwNJR4b7eiQvh5fB5TEQJTQ==}
    +  /babel-plugin-polyfill-corejs2@0.4.11(@babel/core@7.24.4):
    +    resolution: {integrity: sha512-sMEJ27L0gRHShOh5G54uAAPaiCOygY/5ratXuiyb2G46FmlSpc9eFCzYVyDiPxfNbwzA7mYahmjQc5q+CZQ09Q==}
         peerDependencies:
           '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0
         dependencies:
           '@babel/compat-data': 7.24.4
           '@babel/core': 7.24.4
    -      '@babel/helper-define-polyfill-provider': 0.6.1(@babel/core@7.24.4)
    +      '@babel/helper-define-polyfill-provider': 0.6.2(@babel/core@7.24.4)
           semver: 6.3.1
         transitivePeerDependencies:
           - supports-color
    @@ -6100,19 +6183,19 @@ packages:
           '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0
         dependencies:
           '@babel/core': 7.24.4
    -      '@babel/helper-define-polyfill-provider': 0.6.1(@babel/core@7.24.4)
    -      core-js-compat: 3.36.1
    +      '@babel/helper-define-polyfill-provider': 0.6.2(@babel/core@7.24.4)
    +      core-js-compat: 3.37.0
         transitivePeerDependencies:
           - supports-color
         dev: true
     
    -  /babel-plugin-polyfill-regenerator@0.6.1(@babel/core@7.24.4):
    -    resolution: {integrity: sha512-JfTApdE++cgcTWjsiCQlLyFBMbTUft9ja17saCc93lgV33h4tuCVj7tlvu//qpLwaG+3yEz7/KhahGrUMkVq9g==}
    +  /babel-plugin-polyfill-regenerator@0.6.2(@babel/core@7.24.4):
    +    resolution: {integrity: sha512-2R25rQZWP63nGwaAswvDazbPXfrM3HwVoBXK6HcqeKrSrL/JqcC/rDcf95l4r7LXLyxDXc8uQDa064GubtCABg==}
         peerDependencies:
           '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0
         dependencies:
           '@babel/core': 7.24.4
    -      '@babel/helper-define-polyfill-provider': 0.6.1(@babel/core@7.24.4)
    +      '@babel/helper-define-polyfill-provider': 0.6.2(@babel/core@7.24.4)
         transitivePeerDependencies:
           - supports-color
         dev: true
    @@ -6866,6 +6949,10 @@ packages:
           yargs: 17.7.2
         dev: true
     
    +  /confbox@0.1.7:
    +    resolution: {integrity: sha512-uJcB/FKZtBMCJpK8MQji6bJHgu1tixKPxRLeGkNzBoOZzpnZUJm0jm2/sBDWcuBx1dYgxV4JU+g5hmNxCyAmdA==}
    +    dev: true
    +
       /configstore@6.0.0:
         resolution: {integrity: sha512-cD31W1v3GqUlQvbBCGcXmd2Nj9SvLDOP1oQ0YFuLETufzSPaKp11rYBsSOm7rCsW3OnIRAFM3OxRhceaXNYHkA==}
         engines: {node: '>=12'}
    @@ -6927,8 +7014,8 @@ packages:
           browserslist: 4.23.0
         dev: true
     
    -  /core-js-compat@3.36.1:
    -    resolution: {integrity: sha512-Dk997v9ZCt3X/npqzyGdTlq6t7lDBhZwGvV94PKzDArjp7BTRm7WlDAXYd/OWdeFHO8OChQYRJNJvUCqCbrtKA==}
    +  /core-js-compat@3.37.0:
    +    resolution: {integrity: sha512-vYq4L+T8aS5UuFg4UwDhc7YNRWVeVZwltad9C/jV3R2LgVOpS9BDr7l/WL6BN0dbV3k1XejPTHqqEzJgsa0frA==}
         dependencies:
           browserslist: 4.23.0
         dev: true
    @@ -7872,8 +7959,8 @@ packages:
           domelementtype: 2.3.0
         dev: true
     
    -  /dompurify@3.1.0:
    -    resolution: {integrity: sha512-yoU4rhgPKCo+p5UrWWWNKiIq+ToGqmVVhk0PmMYBK4kRsR3/qhemNFL8f6CFmBd4gMwm3F4T7HBoydP5uY07fA==}
    +  /dompurify@3.1.1:
    +    resolution: {integrity: sha512-tVP8C/GJwnABOn/7cx/ymx/hXpmBfWIPihC1aOEvS8GbMqy3pgeYtJk1HXN3CO7tu+8bpY18f6isjR5Cymj0TQ==}
         dev: false
     
       /domutils@3.1.0:
    @@ -7930,8 +8017,8 @@ packages:
         resolution: {integrity: sha512-d5rZRka9n2Y3MkWRN74IoAsxR0HK3yaAt7T50e3iT9VZmCCQDT3geXUO5ZRMhDToa1pkCeQXuNo+0g+NfDOVPA==}
         dev: true
     
    -  /elkjs@0.9.2:
    -    resolution: {integrity: sha512-2Y/RaA1pdgSHpY0YG4TYuYCD2wh97CRvu22eLG3Kz0pgQ/6KbIFTxsTnDc4MH/6hFlg2L/9qXrDMG0nMjP63iw==}
    +  /elkjs@0.9.3:
    +    resolution: {integrity: sha512-f/ZeWvW/BCXbhGEf1Ujp29EASo/lk1FDnETgNKwJrsVvGZhUWCZyg3xLJjAsxfOmt8KjswHmI5EwCQcPMpOYhQ==}
         dev: false
     
       /emittery@0.13.1:
    @@ -8253,8 +8340,8 @@ packages:
           eslint: 8.57.0
         dev: true
     
    -  /eslint-plugin-cypress@2.15.1(eslint@8.57.0):
    -    resolution: {integrity: sha512-eLHLWP5Q+I4j2AWepYq0PgFEei9/s5LvjuSqWrxurkg1YZ8ltxdvMNmdSf0drnsNo57CTgYY/NIHHLRSWejR7w==}
    +  /eslint-plugin-cypress@2.15.2(eslint@8.57.0):
    +    resolution: {integrity: sha512-CtcFEQTDKyftpI22FVGpx8bkpKyYXBlNge6zSo0pl5/qJvBAnzaD76Vu2AsP16d6mTj478Ldn2mhgrWV+Xr0vQ==}
         peerDependencies:
           eslint: '>= 3.2.1'
         dependencies:
    @@ -8262,8 +8349,8 @@ packages:
           globals: 13.24.0
         dev: true
     
    -  /eslint-plugin-html@8.1.0:
    -    resolution: {integrity: sha512-5bRZQwxZew2Yo9Fa8diz2C9RmzIw9Gs4yzmmjUcpuzhdLW8aVcDtYzEHhNNdt01Z0m4AzSJNuY63RXvzStvDgA==}
    +  /eslint-plugin-html@8.1.1:
    +    resolution: {integrity: sha512-6qmlJsc40D2m3Dn9oEH+0PAOkJhxVu0f5sVItqpCE0YWgYnyP4xCjBc3UWTHaJcY9ARkWOLIIuXLq0ndRnQOHw==}
         engines: {node: '>=16.0.0'}
         dependencies:
           htmlparser2: 9.1.0
    @@ -10377,7 +10464,7 @@ packages:
         resolution: {integrity: sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==}
         engines: {node: '>=10'}
         dependencies:
    -      istanbul-lib-coverage: 3.2.2
    +      istanbul-lib-coverage: 3.2.0
           make-dir: 4.0.0
           supports-color: 7.2.0
         dev: true
    @@ -10844,15 +10931,6 @@ packages:
           string-length: 4.0.2
         dev: true
     
    -  /jest-worker@26.6.2:
    -    resolution: {integrity: sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ==}
    -    engines: {node: '>= 10.13.0'}
    -    dependencies:
    -      '@types/node': 20.12.7
    -      merge-stream: 2.0.0
    -      supports-color: 7.2.0
    -    dev: true
    -
       /jest-worker@27.5.1:
         resolution: {integrity: sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==}
         engines: {node: '>= 10.13.0'}
    @@ -11333,7 +11411,7 @@ packages:
         engines: {node: '>=14'}
         dependencies:
           mlly: 1.6.1
    -      pkg-types: 1.0.3
    +      pkg-types: 1.1.0
         dev: true
     
       /locate-path@3.0.0:
    @@ -11451,6 +11529,12 @@ packages:
       /lru-cache@10.2.0:
         resolution: {integrity: sha512-2bIM8x+VAf6JT4bKAljS1qUWgMsqZRPGJS6FSahIMPVvctcNhyVp7AJu7quxOW9jwkryBReKZY5tY5JYv2n/7Q==}
         engines: {node: 14 || >=16.14}
    +    dev: true
    +
    +  /lru-cache@10.2.1:
    +    resolution: {integrity: sha512-tS24spDe/zXhWbNPErCHs/AGOzbKGHT+ybSBqmdLm8WZ1xXLWvH8Qn71QPAlqVhd0qUTWjy+Kl9JmISgDdEjsA==}
    +    engines: {node: 14 || >=16.14}
    +    dev: false
     
       /lru-cache@5.1.1:
         resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==}
    @@ -11481,21 +11565,13 @@ packages:
           sourcemap-codec: 1.4.8
         dev: true
     
    -  /magic-string@0.30.5:
    -    resolution: {integrity: sha512-7xlpfBaQaP/T6Vh8MO/EqXSW5En6INHEvEXQiuff7Gku0PWjU3uf6w/j9o7O+SpB5fOAkrI5HeoNgwjEO0pFsA==}
    -    engines: {node: '>=12'}
    -    dependencies:
    -      '@jridgewell/sourcemap-codec': 1.4.15
    -    dev: true
    -
    -  /magic-string@0.30.8:
    -    resolution: {integrity: sha512-ISQTe55T2ao7XtlAStud6qwYPZjE4GK1S/BeVPus4jrq6JuOnQ00YKQC581RWhR122W7msZV263KzVeLoqidyQ==}
    -    engines: {node: '>=12'}
    +  /magic-string@0.30.10:
    +    resolution: {integrity: sha512-iIRwTIf0QKV3UAnYK4PU8uiEc4SRh5jX0mwpIwETPpHdhVM4f53RSwS/vXvN1JhGX+Cs7B8qIq3d6AH49O5fAQ==}
         dependencies:
           '@jridgewell/sourcemap-codec': 1.4.15
     
    -  /magic-string@0.30.9:
    -    resolution: {integrity: sha512-S1+hd+dIrC8EZqKyT9DstTH/0Z+f76kmmvZnkfQVmOpDEF9iVgdYif3Q/pIWHmCoo59bQVGW0kVL3e2nl+9+Sw==}
    +  /magic-string@0.30.5:
    +    resolution: {integrity: sha512-7xlpfBaQaP/T6Vh8MO/EqXSW5En6INHEvEXQiuff7Gku0PWjU3uf6w/j9o7O+SpB5fOAkrI5HeoNgwjEO0pFsA==}
         engines: {node: '>=12'}
         dependencies:
           '@jridgewell/sourcemap-codec': 1.4.15
    @@ -12130,7 +12206,7 @@ packages:
         dependencies:
           acorn: 8.11.3
           pathe: 1.1.2
    -      pkg-types: 1.0.3
    +      pkg-types: 1.1.0
           ufo: 1.5.3
         dev: true
     
    @@ -12685,7 +12761,7 @@ packages:
         resolution: {integrity: sha512-7xTavNy5RQXnsjANvVvMkEjvloOinkAjv/Z6Ildz9v2RinZ4SBKTWFOVRbaF8p0vpHnyjV/UwNDdKuUv6M5qcA==}
         engines: {node: '>=16 || 14 >=14.17'}
         dependencies:
    -      lru-cache: 10.2.0
    +      lru-cache: 10.2.1
           minipass: 7.0.4
         dev: false
     
    @@ -12823,10 +12899,10 @@ packages:
           find-up: 6.3.0
         dev: true
     
    -  /pkg-types@1.0.3:
    -    resolution: {integrity: sha512-nN7pYi0AQqJnoLPC9eHFQ8AcyaixBUOwvqc5TDnIKCMEE6I0y8P7OKA7fPexsXGCGxQDl/cmrLAp26LhcwxZ4A==}
    +  /pkg-types@1.1.0:
    +    resolution: {integrity: sha512-/RpmvKdxKf8uILTtoOhAgf30wYbP2Qw+L9p3Rvshx1JZVX+XQNZQFjlbmGHEGIm4CkVPlSn+NXmIM8+9oWQaSA==}
         dependencies:
    -      jsonc-parser: 3.2.1
    +      confbox: 0.1.7
           mlly: 1.6.1
           pathe: 1.1.2
         dev: true
    @@ -13487,19 +13563,6 @@ packages:
         resolution: {integrity: sha512-IXgzBWvWQwE6PrDI05OvmXUIruQTcoMDzRsOd5CDvHCVLcLHMTSYvOK5Cm46kWqlV3yAbuSpBZdJ5oP5OUoStg==}
         dev: false
     
    -  /rollup-plugin-terser@7.0.2(rollup@2.79.1):
    -    resolution: {integrity: sha512-w3iIaU4OxcF52UUXiZNsNeuXIMDvFrr+ZXK6bFZ0Q60qyVfq4uLptoS4bbq3paG3x216eQllFZX7zt6TIImguQ==}
    -    deprecated: This package has been deprecated and is no longer maintained. Please use @rollup/plugin-terser
    -    peerDependencies:
    -      rollup: ^2.0.0
    -    dependencies:
    -      '@babel/code-frame': 7.24.2
    -      jest-worker: 26.6.2
    -      rollup: 2.79.1
    -      serialize-javascript: 4.0.0
    -      terser: 5.30.3
    -    dev: true
    -
       /rollup-plugin-visualizer@5.12.0:
         resolution: {integrity: sha512-8/NU9jXcHRs7Nnj07PF2o4gjxmm9lXIrZ8r175bT9dK8qoLlvKTwRMArRCMgpMGlq8CTLugRvEmyMeMXIU2pNQ==}
         engines: {node: '>=14'}
    @@ -13524,28 +13587,29 @@ packages:
           fsevents: 2.3.3
         dev: true
     
    -  /rollup@4.14.2:
    -    resolution: {integrity: sha512-WkeoTWvuBoFjFAhsEOHKRoZ3r9GfTyhh7Vff1zwebEFLEFjT1lG3784xEgKiTa7E+e70vsC81roVL2MP4tgEEQ==}
    +  /rollup@4.16.4:
    +    resolution: {integrity: sha512-kuaTJSUbz+Wsb2ATGvEknkI12XV40vIiHmLuFlejoo7HtDok/O5eDDD0UpCVY5bBX5U5RYo8wWP83H7ZsqVEnA==}
         engines: {node: '>=18.0.0', npm: '>=8.0.0'}
         hasBin: true
         dependencies:
           '@types/estree': 1.0.5
         optionalDependencies:
    -      '@rollup/rollup-android-arm-eabi': 4.14.2
    -      '@rollup/rollup-android-arm64': 4.14.2
    -      '@rollup/rollup-darwin-arm64': 4.14.2
    -      '@rollup/rollup-darwin-x64': 4.14.2
    -      '@rollup/rollup-linux-arm-gnueabihf': 4.14.2
    -      '@rollup/rollup-linux-arm64-gnu': 4.14.2
    -      '@rollup/rollup-linux-arm64-musl': 4.14.2
    -      '@rollup/rollup-linux-powerpc64le-gnu': 4.14.2
    -      '@rollup/rollup-linux-riscv64-gnu': 4.14.2
    -      '@rollup/rollup-linux-s390x-gnu': 4.14.2
    -      '@rollup/rollup-linux-x64-gnu': 4.14.2
    -      '@rollup/rollup-linux-x64-musl': 4.14.2
    -      '@rollup/rollup-win32-arm64-msvc': 4.14.2
    -      '@rollup/rollup-win32-ia32-msvc': 4.14.2
    -      '@rollup/rollup-win32-x64-msvc': 4.14.2
    +      '@rollup/rollup-android-arm-eabi': 4.16.4
    +      '@rollup/rollup-android-arm64': 4.16.4
    +      '@rollup/rollup-darwin-arm64': 4.16.4
    +      '@rollup/rollup-darwin-x64': 4.16.4
    +      '@rollup/rollup-linux-arm-gnueabihf': 4.16.4
    +      '@rollup/rollup-linux-arm-musleabihf': 4.16.4
    +      '@rollup/rollup-linux-arm64-gnu': 4.16.4
    +      '@rollup/rollup-linux-arm64-musl': 4.16.4
    +      '@rollup/rollup-linux-powerpc64le-gnu': 4.16.4
    +      '@rollup/rollup-linux-riscv64-gnu': 4.16.4
    +      '@rollup/rollup-linux-s390x-gnu': 4.16.4
    +      '@rollup/rollup-linux-x64-gnu': 4.16.4
    +      '@rollup/rollup-linux-x64-musl': 4.16.4
    +      '@rollup/rollup-win32-arm64-msvc': 4.16.4
    +      '@rollup/rollup-win32-ia32-msvc': 4.16.4
    +      '@rollup/rollup-win32-x64-msvc': 4.16.4
           fsevents: 2.3.3
         dev: true
     
    @@ -13704,12 +13768,6 @@ packages:
           - supports-color
         dev: true
     
    -  /serialize-javascript@4.0.0:
    -    resolution: {integrity: sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==}
    -    dependencies:
    -      randombytes: 2.1.0
    -    dev: true
    -
       /serialize-javascript@6.0.2:
         resolution: {integrity: sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==}
         dependencies:
    @@ -13919,6 +13977,10 @@ packages:
           is-fullwidth-code-point: 5.0.0
         dev: true
     
    +  /smob@1.5.0:
    +    resolution: {integrity: sha512-g6T+p7QO8npa+/hNx9ohv1E5pVCmWrVCUzUXJyLdMmftX6ER0oiWY/w9knEonLpnOp6b6FenKnMfR8gqwWdwig==}
    +    dev: true
    +
       /sockjs@0.3.24:
         resolution: {integrity: sha512-GJgLTZ7vYb/JtPSSZ10hsOYIvEYsjbNU+zPdIHcUaWVNUEPivzxku31865sSSud0Da0W4lEeOPlmw93zLQchuQ==}
         dependencies:
    @@ -14328,8 +14390,8 @@ packages:
           js-tokens: 9.0.0
         dev: true
     
    -  /stylis@4.3.1:
    -    resolution: {integrity: sha512-EQepAV+wMsIaGVGX1RECzgrcqRRU/0sYOHkeLsZ3fzHaHXZy4DaOOX0vOlGQdlsjkh3mFHAIlVimpwAs4dslyQ==}
    +  /stylis@4.3.2:
    +    resolution: {integrity: sha512-bhtUjWd/z6ltJiQwg0dUfxEJ+W+jdqQd8TbWLWyeIJHlnsqmGLRFFd8e5mA0AZi/zx90smXRlN66YMTcaSFifg==}
         dev: false
     
       /sucrase@3.35.0:
    @@ -14498,8 +14560,8 @@ packages:
           source-map-support: 0.5.21
         dev: true
     
    -  /terser@5.30.3:
    -    resolution: {integrity: sha512-STdUgOUx8rLbMGO9IOwHLpCqolkDITFFQSMYYwKE1N2lY6MVSaeoi10z/EhWxRc6ybqoVmKSkhKYH/XUpl7vSA==}
    +  /terser@5.30.4:
    +    resolution: {integrity: sha512-xRdd0v64a8mFK9bnsKVdoNP9GQIKUAaJPTaqEQDL4w/J8WaW4sWXXoMZ+6SimPkfT5bElreXf8m9HnmPc3E1BQ==}
         engines: {node: '>=10'}
         hasBin: true
         dependencies:
    @@ -14567,8 +14629,8 @@ packages:
         engines: {node: '>=6'}
         dev: true
     
    -  /tinybench@2.7.0:
    -    resolution: {integrity: sha512-Qgayeb106x2o4hNzNjsZEfFziw8IbKqtbXBjVh7VIZfBxfD5M4gWtpyx5+YTae2gJ6Y6Dz/KLepiv16RFeQWNA==}
    +  /tinybench@2.8.0:
    +    resolution: {integrity: sha512-1/eK7zUnIklz4JUUlL+658n58XO2hHLQfSk1Zf2LKieUjxidN16eKFEoDEfjHc3ohofSSqK3X5yO6VGb6iW8Lw==}
         dev: true
     
       /tinypool@0.8.4:
    @@ -14690,8 +14752,8 @@ packages:
           typescript: 5.4.5
         dev: true
     
    -  /tsx@4.7.2:
    -    resolution: {integrity: sha512-BCNd4kz6fz12fyrgCTEdZHGJ9fWTGeUzXmQysh0RVocDY3h4frk05ZNCXSy4kIenF7y/QnrdiVpTsyNRn6vlAw==}
    +  /tsx@4.7.3:
    +    resolution: {integrity: sha512-+fQnMqIp/jxZEXLcj6WzYy9FhcS5/Dfk8y4AtzJ6ejKcKqmfTF8Gso/jtrzDggCF2zTU20gJa6n8XqPYwDAUYQ==}
         engines: {node: '>=18.0.0'}
         hasBin: true
         dependencies:
    @@ -14871,13 +14933,12 @@ packages:
           which-boxed-primitive: 1.0.2
         dev: true
     
    -  /unconfig@0.3.12:
    -    resolution: {integrity: sha512-oDtfWDC0TMYFuwdt7E7CaqYZGqq1wAiC12PRTFe/93IkgNi+wVlF/LCjcD/bgNkGoopb0RsU363Ge3YXy7NGSw==}
    +  /unconfig@0.3.13:
    +    resolution: {integrity: sha512-N9Ph5NC4+sqtcOjPfHrRcHekBCadCXWTBzp2VYYbySOHW0PfD9XLCeXshTXjkPYwLrBr9AtSeU0CZmkYECJhng==}
         dependencies:
           '@antfu/utils': 0.7.7
           defu: 6.1.4
           jiti: 1.21.0
    -      mlly: 1.6.1
         dev: true
     
       /underscore@1.1.7:
    @@ -14999,11 +15060,11 @@ packages:
         engines: {node: '>= 10.0.0'}
         dev: true
     
    -  /unocss@0.59.2(postcss@8.4.38)(rollup@2.79.1)(vite@5.2.8):
    -    resolution: {integrity: sha512-9puB1L+VxpCAgeidkd67otmA0pbqNPxBPT/8l6gncF0i2RE0WkKITlMflP0PhLNpOdHUfUWb9Cdj1aVnjRnXFA==}
    +  /unocss@0.59.4(postcss@8.4.38)(rollup@2.79.1)(vite@5.2.10):
    +    resolution: {integrity: sha512-QmCVjRObvVu/gsGrJGVt0NnrdhFFn314BUZn2WQyXV9rIvHLRmG5bIu0j5vibJkj7ZhFchTrnTM1pTFXP1xt5g==}
         engines: {node: '>=14'}
         peerDependencies:
    -      '@unocss/webpack': 0.59.2
    +      '@unocss/webpack': 0.59.4
           vite: ^2.9.0 || ^3.0.0-0 || ^4.0.0 || ^5.0.0-0
         peerDependenciesMeta:
           '@unocss/webpack':
    @@ -15011,27 +15072,27 @@ packages:
           vite:
             optional: true
         dependencies:
    -      '@unocss/astro': 0.59.2(rollup@2.79.1)(vite@5.2.8)
    -      '@unocss/cli': 0.59.2(rollup@2.79.1)
    -      '@unocss/core': 0.59.2
    -      '@unocss/extractor-arbitrary-variants': 0.59.2
    -      '@unocss/postcss': 0.59.2(postcss@8.4.38)
    -      '@unocss/preset-attributify': 0.59.2
    -      '@unocss/preset-icons': 0.59.2
    -      '@unocss/preset-mini': 0.59.2
    -      '@unocss/preset-tagify': 0.59.2
    -      '@unocss/preset-typography': 0.59.2
    -      '@unocss/preset-uno': 0.59.2
    -      '@unocss/preset-web-fonts': 0.59.2
    -      '@unocss/preset-wind': 0.59.2
    -      '@unocss/reset': 0.59.2
    -      '@unocss/transformer-attributify-jsx': 0.59.2
    -      '@unocss/transformer-attributify-jsx-babel': 0.59.2
    -      '@unocss/transformer-compile-class': 0.59.2
    -      '@unocss/transformer-directives': 0.59.2
    -      '@unocss/transformer-variant-group': 0.59.2
    -      '@unocss/vite': 0.59.2(rollup@2.79.1)(vite@5.2.8)
    -      vite: 5.2.8(@types/node@20.12.7)
    +      '@unocss/astro': 0.59.4(rollup@2.79.1)(vite@5.2.10)
    +      '@unocss/cli': 0.59.4(rollup@2.79.1)
    +      '@unocss/core': 0.59.4
    +      '@unocss/extractor-arbitrary-variants': 0.59.4
    +      '@unocss/postcss': 0.59.4(postcss@8.4.38)
    +      '@unocss/preset-attributify': 0.59.4
    +      '@unocss/preset-icons': 0.59.4
    +      '@unocss/preset-mini': 0.59.4
    +      '@unocss/preset-tagify': 0.59.4
    +      '@unocss/preset-typography': 0.59.4
    +      '@unocss/preset-uno': 0.59.4
    +      '@unocss/preset-web-fonts': 0.59.4
    +      '@unocss/preset-wind': 0.59.4
    +      '@unocss/reset': 0.59.4
    +      '@unocss/transformer-attributify-jsx': 0.59.4
    +      '@unocss/transformer-attributify-jsx-babel': 0.59.4
    +      '@unocss/transformer-compile-class': 0.59.4
    +      '@unocss/transformer-directives': 0.59.4
    +      '@unocss/transformer-variant-group': 0.59.4
    +      '@unocss/vite': 0.59.4(rollup@2.79.1)(vite@5.2.10)
    +      vite: 5.2.10(@types/node@20.12.7)
         transitivePeerDependencies:
           - postcss
           - rollup
    @@ -15043,7 +15104,7 @@ packages:
         engines: {node: '>= 0.8'}
         dev: true
     
    -  /unplugin-vue-components@0.26.0(rollup@2.79.1)(vue@3.4.21):
    +  /unplugin-vue-components@0.26.0(rollup@2.79.1)(vue@3.4.25):
         resolution: {integrity: sha512-s7IdPDlnOvPamjunVxw8kNgKNK8A5KM1YpK5j/p97jEKTjlPNrA0nZBiSfAKKlK1gWZuyWXlKL5dk3EDw874LQ==}
         engines: {node: '>=14'}
         peerDependencies:
    @@ -15066,7 +15127,7 @@ packages:
           minimatch: 9.0.3
           resolve: 1.22.4
           unplugin: 1.4.0
    -      vue: 3.4.21(typescript@5.4.5)
    +      vue: 3.4.25(typescript@5.4.5)
         transitivePeerDependencies:
           - rollup
           - supports-color
    @@ -15178,8 +15239,8 @@ packages:
           vfile-message: 4.0.2
         dev: true
     
    -  /vite-node@1.5.0(@types/node@20.12.7):
    -    resolution: {integrity: sha512-tV8h6gMj6vPzVCa7l+VGq9lwoJjW8Y79vst8QZZGiuRAfijU+EEWuc0kFpmndQrWhMMhet1jdSF+40KSZUqIIw==}
    +  /vite-node@1.5.2(@types/node@20.12.7):
    +    resolution: {integrity: sha512-Y8p91kz9zU+bWtF7HGt6DVw2JbhyuB2RlZix3FPYAYmUyZ3n7iTp8eSyLyY6sxtPegvxQtmlTMhfPhUfCUF93A==}
         engines: {node: ^18.0.0 || >=20.0.0}
         hasBin: true
         dependencies:
    @@ -15187,7 +15248,7 @@ packages:
           debug: 4.3.4(supports-color@8.1.1)
           pathe: 1.1.2
           picocolors: 1.0.0
    -      vite: 5.2.8(@types/node@20.12.7)
    +      vite: 5.2.10(@types/node@20.12.7)
         transitivePeerDependencies:
           - '@types/node'
           - less
    @@ -15199,7 +15260,7 @@ packages:
           - terser
         dev: true
     
    -  /vite-plugin-istanbul@6.0.0(vite@5.2.8):
    +  /vite-plugin-istanbul@6.0.0(vite@5.2.10):
         resolution: {integrity: sha512-Vwh2XdesjcLwaPbHSOiWHh+0s7CNovQTPEjUCTkqmJUe0FN2TKsOp0qpoaklOuwrKlL9elhD5fPFxi5lmG62zA==}
         peerDependencies:
           vite: '>=4 <=6'
    @@ -15210,12 +15271,12 @@ packages:
           picocolors: 1.0.0
           source-map: 0.7.4
           test-exclude: 6.0.0
    -      vite: 5.2.8(@types/node@20.12.7)
    +      vite: 5.2.10(@types/node@20.12.7)
         transitivePeerDependencies:
           - supports-color
         dev: true
     
    -  /vite-plugin-pwa@0.19.8(vite@5.2.8)(workbox-build@7.0.0)(workbox-window@7.0.0):
    +  /vite-plugin-pwa@0.19.8(vite@5.2.10)(workbox-build@7.1.0)(workbox-window@7.0.0):
         resolution: {integrity: sha512-e1oK0dfhzhDhY3VBuML6c0h8Xfx6EkOVYqolj7g+u8eRfdauZe5RLteCIA/c5gH0CBQ0CNFAuv/AFTx4Z7IXTw==}
         engines: {node: '>=16.0.0'}
         peerDependencies:
    @@ -15230,15 +15291,15 @@ packages:
           debug: 4.3.4(supports-color@8.1.1)
           fast-glob: 3.3.2
           pretty-bytes: 6.1.1
    -      vite: 5.2.8(@types/node@20.12.7)
    -      workbox-build: 7.0.0
    +      vite: 5.2.10(@types/node@20.12.7)
    +      workbox-build: 7.1.0
           workbox-window: 7.0.0
         transitivePeerDependencies:
           - supports-color
         dev: true
     
    -  /vite@5.2.8(@types/node@20.12.7):
    -    resolution: {integrity: sha512-OyZR+c1CE8yeHw5V5t59aXsUPPVTHMDjEZz8MgguLL/Q7NblxhZUlTu9xSPqlsUO/y+X7dlU05jdhvyycD55DA==}
    +  /vite@5.2.10(@types/node@20.12.7):
    +    resolution: {integrity: sha512-PAzgUZbP7msvQvqdSD+ErD5qGnSFiGOoWmV5yAKUEI0kdhjbH6nMWVyZQC/hSc4aXwc0oJ9aEdIiF9Oje0JFCw==}
         engines: {node: ^18.0.0 || >=20.0.0}
         hasBin: true
         peerDependencies:
    @@ -15268,12 +15329,12 @@ packages:
           '@types/node': 20.12.7
           esbuild: 0.20.2
           postcss: 8.4.38
    -      rollup: 4.14.2
    +      rollup: 4.16.4
         optionalDependencies:
           fsevents: 2.3.3
         dev: true
     
    -  /vitepress-plugin-search@1.0.4-alpha.22(flexsearch@0.7.43)(vitepress@1.1.0)(vue@3.4.21):
    +  /vitepress-plugin-search@1.0.4-alpha.22(flexsearch@0.7.43)(vitepress@1.1.3)(vue@3.4.25):
         resolution: {integrity: sha512-IAOEJu+kjVY+0pb6/PeRjIbr175HFFbnMdLmLjqcy7VWxkabIRZbLoQL1VUYDZl804o/Or+GaX02gsiMOnVxFA==}
         engines: {node: ^14.13.1 || ^16.7.0 || >=18}
         peerDependencies:
    @@ -15286,12 +15347,12 @@ packages:
           flexsearch: 0.7.43
           glob-to-regexp: 0.4.1
           markdown-it: 13.0.1
    -      vitepress: 1.1.0(@algolia/client-search@4.23.3)(@types/node@20.12.7)(postcss@8.4.38)(search-insights@2.13.0)(typescript@5.4.5)
    -      vue: 3.4.21(typescript@5.4.5)
    +      vitepress: 1.1.3(@algolia/client-search@4.23.3)(@types/node@20.12.7)(postcss@8.4.38)(search-insights@2.13.0)(typescript@5.4.5)
    +      vue: 3.4.25(typescript@5.4.5)
         dev: true
     
    -  /vitepress@1.1.0(@algolia/client-search@4.23.3)(@types/node@20.12.7)(postcss@8.4.38)(search-insights@2.13.0)(typescript@5.4.5):
    -    resolution: {integrity: sha512-G+NS5I2OETxC0SfGAMDO75JWNkrcir0UCptuhQMNoaZhhlqvYtTDQhph4qGc5dtiTtZkcFa/bCcSx+A2gSS3lA==}
    +  /vitepress@1.1.3(@algolia/client-search@4.23.3)(@types/node@20.12.7)(postcss@8.4.38)(search-insights@2.13.0)(typescript@5.4.5):
    +    resolution: {integrity: sha512-hGrIYN0w9IHWs0NQSnlMjKV/v/HLfD+Ywv5QdvCSkiT32mpNOOwUrZjnqZv/JL/WBPpUc94eghTUvmipxw0xrA==}
         hasBin: true
         peerDependencies:
           markdown-it-mathjax3: ^4
    @@ -15306,18 +15367,18 @@ packages:
           '@docsearch/js': 3.6.0(@algolia/client-search@4.23.3)(search-insights@2.13.0)
           '@shikijs/core': 1.3.0
           '@shikijs/transformers': 1.3.0
    -      '@types/markdown-it': 13.0.7
    -      '@vitejs/plugin-vue': 5.0.4(vite@5.2.8)(vue@3.4.21)
    -      '@vue/devtools-api': 7.0.27(vue@3.4.21)
    -      '@vueuse/core': 10.9.0(vue@3.4.21)
    -      '@vueuse/integrations': 10.9.0(focus-trap@7.5.4)(vue@3.4.21)
    +      '@types/markdown-it': 14.0.1
    +      '@vitejs/plugin-vue': 5.0.4(vite@5.2.10)(vue@3.4.25)
    +      '@vue/devtools-api': 7.1.3(vue@3.4.25)
    +      '@vueuse/core': 10.9.0(vue@3.4.25)
    +      '@vueuse/integrations': 10.9.0(focus-trap@7.5.4)(vue@3.4.25)
           focus-trap: 7.5.4
           mark.js: 8.11.1
           minisearch: 6.3.0
           postcss: 8.4.38
           shiki: 1.3.0
    -      vite: 5.2.8(@types/node@20.12.7)
    -      vue: 3.4.21(typescript@5.4.5)
    +      vite: 5.2.10(@types/node@20.12.7)
    +      vue: 3.4.25(typescript@5.4.5)
         transitivePeerDependencies:
           - '@algolia/client-search'
           - '@types/node'
    @@ -15346,15 +15407,15 @@ packages:
           - universal-cookie
         dev: true
     
    -  /vitest@1.5.0(@types/node@20.12.7)(@vitest/ui@1.5.0)(jsdom@24.0.0):
    -    resolution: {integrity: sha512-d8UKgR0m2kjdxDWX6911uwxout6GHS0XaGH1cksSIVVG8kRlE7G7aBw7myKQCvDI5dT4j7ZMa+l706BIORMDLw==}
    +  /vitest@1.5.2(@types/node@20.12.7)(@vitest/ui@1.5.2)(jsdom@24.0.0):
    +    resolution: {integrity: sha512-l9gwIkq16ug3xY7BxHwcBQovLZG75zZL0PlsiYQbf76Rz6QGs54416UWMtC0jXeihvHvcHrf2ROEjkQRVpoZYw==}
         engines: {node: ^18.0.0 || >=20.0.0}
         hasBin: true
         peerDependencies:
           '@edge-runtime/vm': '*'
           '@types/node': ^18.0.0 || >=20.0.0
    -      '@vitest/browser': 1.5.0
    -      '@vitest/ui': 1.5.0
    +      '@vitest/browser': 1.5.2
    +      '@vitest/ui': 1.5.2
           happy-dom: '*'
           jsdom: '*'
         peerDependenciesMeta:
    @@ -15372,27 +15433,27 @@ packages:
             optional: true
         dependencies:
           '@types/node': 20.12.7
    -      '@vitest/expect': 1.5.0
    -      '@vitest/runner': 1.5.0
    -      '@vitest/snapshot': 1.5.0
    -      '@vitest/spy': 1.5.0
    -      '@vitest/ui': 1.5.0(vitest@1.5.0)
    -      '@vitest/utils': 1.5.0
    +      '@vitest/expect': 1.5.2
    +      '@vitest/runner': 1.5.2
    +      '@vitest/snapshot': 1.5.2
    +      '@vitest/spy': 1.5.2
    +      '@vitest/ui': 1.5.2(vitest@1.5.2)
    +      '@vitest/utils': 1.5.2
           acorn-walk: 8.3.2
           chai: 4.4.1
           debug: 4.3.4(supports-color@8.1.1)
           execa: 8.0.1
           jsdom: 24.0.0
           local-pkg: 0.5.0
    -      magic-string: 0.30.9
    +      magic-string: 0.30.10
           pathe: 1.1.2
           picocolors: 1.0.0
           std-env: 3.7.0
           strip-literal: 2.1.0
    -      tinybench: 2.7.0
    +      tinybench: 2.8.0
           tinypool: 0.8.4
    -      vite: 5.2.8(@types/node@20.12.7)
    -      vite-node: 1.5.0(@types/node@20.12.7)
    +      vite: 5.2.10(@types/node@20.12.7)
    +      vite-node: 1.5.2(@types/node@20.12.7)
           why-is-node-running: 2.2.2
         transitivePeerDependencies:
           - less
    @@ -15470,7 +15531,7 @@ packages:
           vue: 3.4.21(typescript@5.4.5)
         dev: false
     
    -  /vue-demi@0.14.7(vue@3.4.21):
    +  /vue-demi@0.14.7(vue@3.4.25):
         resolution: {integrity: sha512-EOG8KXDQNwkJILkx/gPcoL/7vH+hORoBaKgGe+6W7VFMvCYJfmF2dGbvgDroVnI8LU7/kTu8mbjRZGBU1z9NTA==}
         engines: {node: '>=12'}
         hasBin: true
    @@ -15482,7 +15543,7 @@ packages:
           '@vue/composition-api':
             optional: true
         dependencies:
    -      vue: 3.4.21(typescript@5.4.5)
    +      vue: 3.4.25(typescript@5.4.5)
     
       /vue@3.4.21(typescript@5.4.5):
         resolution: {integrity: sha512-5hjyV/jLEIKD/jYl4cavMcnzKwjMKohureP8ejn3hhEjwhWIhWeuzL2kJAjzl/WyVsgPY56Sy4Z40C3lVshxXA==}
    @@ -15498,6 +15559,22 @@ packages:
           '@vue/server-renderer': 3.4.21(vue@3.4.21)
           '@vue/shared': 3.4.21
           typescript: 5.4.5
    +    dev: false
    +
    +  /vue@3.4.25(typescript@5.4.5):
    +    resolution: {integrity: sha512-HWyDqoBHMgav/OKiYA2ZQg+kjfMgLt/T0vg4cbIF7JbXAjDexRf5JRg+PWAfrAkSmTd2I8aPSXtooBFWHB98cg==}
    +    peerDependencies:
    +      typescript: '*'
    +    peerDependenciesMeta:
    +      typescript:
    +        optional: true
    +    dependencies:
    +      '@vue/compiler-dom': 3.4.25
    +      '@vue/compiler-sfc': 3.4.25
    +      '@vue/runtime-dom': 3.4.25
    +      '@vue/server-renderer': 3.4.25(vue@3.4.25)
    +      '@vue/shared': 3.4.25
    +      typescript: 5.4.5
     
       /vuex@4.1.0(vue@3.4.21):
         resolution: {integrity: sha512-hmV6UerDrPcgbSy9ORAtNXDr9M4wlNP4pEFKye4ujJF8oqgFFuxDCdOLS3eNoRTtq5O3hoBDh9Doj1bQMYHRbQ==}
    @@ -15856,21 +15933,21 @@ packages:
         resolution: {integrity: sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==}
         dev: true
     
    -  /workbox-background-sync@7.0.0:
    -    resolution: {integrity: sha512-S+m1+84gjdueM+jIKZ+I0Lx0BDHkk5Nu6a3kTVxP4fdj3gKouRNmhO8H290ybnJTOPfBDtTMXSQA/QLTvr7PeA==}
    +  /workbox-background-sync@7.1.0:
    +    resolution: {integrity: sha512-rMbgrzueVWDFcEq1610YyDW71z0oAXLfdRHRQcKw4SGihkfOK0JUEvqWHFwA6rJ+6TClnMIn7KQI5PNN1XQXwQ==}
         dependencies:
           idb: 7.1.1
    -      workbox-core: 7.0.0
    +      workbox-core: 7.1.0
         dev: true
     
    -  /workbox-broadcast-update@7.0.0:
    -    resolution: {integrity: sha512-oUuh4jzZrLySOo0tC0WoKiSg90bVAcnE98uW7F8GFiSOXnhogfNDGZelPJa+6KpGBO5+Qelv04Hqx2UD+BJqNQ==}
    +  /workbox-broadcast-update@7.1.0:
    +    resolution: {integrity: sha512-O36hIfhjej/c5ar95pO67k1GQw0/bw5tKP7CERNgK+JdxBANQhDmIuOXZTNvwb2IHBx9hj2kxvcDyRIh5nzOgQ==}
         dependencies:
    -      workbox-core: 7.0.0
    +      workbox-core: 7.1.0
         dev: true
     
    -  /workbox-build@7.0.0:
    -    resolution: {integrity: sha512-CttE7WCYW9sZC+nUYhQg3WzzGPr4IHmrPnjKiu3AMXsiNQKx+l4hHl63WTrnicLmKEKHScWDH8xsGBdrYgtBzg==}
    +  /workbox-build@7.1.0:
    +    resolution: {integrity: sha512-F6R94XAxjB2j4ETMkP1EXKfjECOtDmyvt0vz3BzgWJMI68TNSXIVNkgatwUKBlPGOfy9n2F/4voYRNAhEvPJNg==}
         engines: {node: '>=16.0.0'}
         dependencies:
           '@apideck/better-ajv-errors': 0.3.6(ajv@8.12.0)
    @@ -15878,8 +15955,9 @@ packages:
           '@babel/preset-env': 7.24.4(@babel/core@7.24.4)
           '@babel/runtime': 7.24.4
           '@rollup/plugin-babel': 5.3.1(@babel/core@7.24.4)(rollup@2.79.1)
    -      '@rollup/plugin-node-resolve': 11.2.1(rollup@2.79.1)
    +      '@rollup/plugin-node-resolve': 15.2.3(rollup@2.79.1)
           '@rollup/plugin-replace': 2.4.2(rollup@2.79.1)
    +      '@rollup/plugin-terser': 0.4.4(rollup@2.79.1)
           '@surma/rollup-plugin-off-main-thread': 2.2.3
           ajv: 8.12.0
           common-tags: 1.8.2
    @@ -15889,111 +15967,113 @@ packages:
           lodash: 4.17.21
           pretty-bytes: 5.6.0
           rollup: 2.79.1
    -      rollup-plugin-terser: 7.0.2(rollup@2.79.1)
           source-map: 0.8.0-beta.0
           stringify-object: 3.3.0
           strip-comments: 2.0.1
           tempy: 0.6.0
           upath: 1.2.0
    -      workbox-background-sync: 7.0.0
    -      workbox-broadcast-update: 7.0.0
    -      workbox-cacheable-response: 7.0.0
    -      workbox-core: 7.0.0
    -      workbox-expiration: 7.0.0
    -      workbox-google-analytics: 7.0.0
    -      workbox-navigation-preload: 7.0.0
    -      workbox-precaching: 7.0.0
    -      workbox-range-requests: 7.0.0
    -      workbox-recipes: 7.0.0
    -      workbox-routing: 7.0.0
    -      workbox-strategies: 7.0.0
    -      workbox-streams: 7.0.0
    -      workbox-sw: 7.0.0
    -      workbox-window: 7.0.0
    +      workbox-background-sync: 7.1.0
    +      workbox-broadcast-update: 7.1.0
    +      workbox-cacheable-response: 7.1.0
    +      workbox-core: 7.1.0
    +      workbox-expiration: 7.1.0
    +      workbox-google-analytics: 7.1.0
    +      workbox-navigation-preload: 7.1.0
    +      workbox-precaching: 7.1.0
    +      workbox-range-requests: 7.1.0
    +      workbox-recipes: 7.1.0
    +      workbox-routing: 7.1.0
    +      workbox-strategies: 7.1.0
    +      workbox-streams: 7.1.0
    +      workbox-sw: 7.1.0
    +      workbox-window: 7.1.0
         transitivePeerDependencies:
           - '@types/babel__core'
           - supports-color
         dev: true
     
    -  /workbox-cacheable-response@7.0.0:
    -    resolution: {integrity: sha512-0lrtyGHn/LH8kKAJVOQfSu3/80WDc9Ma8ng0p2i/5HuUndGttH+mGMSvOskjOdFImLs2XZIimErp7tSOPmu/6g==}
    +  /workbox-cacheable-response@7.1.0:
    +    resolution: {integrity: sha512-iwsLBll8Hvua3xCuBB9h92+/e0wdsmSVgR2ZlvcfjepZWwhd3osumQB3x9o7flj+FehtWM2VHbZn8UJeBXXo6Q==}
         dependencies:
    -      workbox-core: 7.0.0
    +      workbox-core: 7.1.0
         dev: true
     
       /workbox-core@7.0.0:
         resolution: {integrity: sha512-81JkAAZtfVP8darBpfRTovHg8DGAVrKFgHpOArZbdFd78VqHr5Iw65f2guwjE2NlCFbPFDoez3D3/6ZvhI/rwQ==}
         dev: true
     
    -  /workbox-expiration@7.0.0:
    -    resolution: {integrity: sha512-MLK+fogW+pC3IWU9SFE+FRStvDVutwJMR5if1g7oBJx3qwmO69BNoJQVaMXq41R0gg3MzxVfwOGKx3i9P6sOLQ==}
    +  /workbox-core@7.1.0:
    +    resolution: {integrity: sha512-5KB4KOY8rtL31nEF7BfvU7FMzKT4B5TkbYa2tzkS+Peqj0gayMT9SytSFtNzlrvMaWgv6y/yvP9C0IbpFjV30Q==}
    +    dev: true
    +
    +  /workbox-expiration@7.1.0:
    +    resolution: {integrity: sha512-m5DcMY+A63rJlPTbbBNtpJ20i3enkyOtSgYfv/l8h+D6YbbNiA0zKEkCUaMsdDlxggla1oOfRkyqTvl5Ni5KQQ==}
         dependencies:
           idb: 7.1.1
    -      workbox-core: 7.0.0
    +      workbox-core: 7.1.0
         dev: true
     
    -  /workbox-google-analytics@7.0.0:
    -    resolution: {integrity: sha512-MEYM1JTn/qiC3DbpvP2BVhyIH+dV/5BjHk756u9VbwuAhu0QHyKscTnisQuz21lfRpOwiS9z4XdqeVAKol0bzg==}
    -    deprecated: It is not compatible with newer versions of GA starting with v4, as long as you are using GAv3 it should be ok, but the package is not longer being maintained
    +  /workbox-google-analytics@7.1.0:
    +    resolution: {integrity: sha512-FvE53kBQHfVTcZyczeBVRexhh7JTkyQ8HAvbVY6mXd2n2A7Oyz/9fIwnY406ZcDhvE4NFfKGjW56N4gBiqkrew==}
         dependencies:
    -      workbox-background-sync: 7.0.0
    -      workbox-core: 7.0.0
    -      workbox-routing: 7.0.0
    -      workbox-strategies: 7.0.0
    +      workbox-background-sync: 7.1.0
    +      workbox-core: 7.1.0
    +      workbox-routing: 7.1.0
    +      workbox-strategies: 7.1.0
         dev: true
     
    -  /workbox-navigation-preload@7.0.0:
    -    resolution: {integrity: sha512-juWCSrxo/fiMz3RsvDspeSLGmbgC0U9tKqcUPZBCf35s64wlaLXyn2KdHHXVQrb2cqF7I0Hc9siQalainmnXJA==}
    +  /workbox-navigation-preload@7.1.0:
    +    resolution: {integrity: sha512-4wyAbo0vNI/X0uWNJhCMKxnPanNyhybsReMGN9QUpaePLTiDpKxPqFxl4oUmBNddPwIXug01eTSLVIFXimRG/A==}
         dependencies:
    -      workbox-core: 7.0.0
    +      workbox-core: 7.1.0
         dev: true
     
    -  /workbox-precaching@7.0.0:
    -    resolution: {integrity: sha512-EC0vol623LJqTJo1mkhD9DZmMP604vHqni3EohhQVwhJlTgyKyOkMrZNy5/QHfOby+39xqC01gv4LjOm4HSfnA==}
    +  /workbox-precaching@7.1.0:
    +    resolution: {integrity: sha512-LyxzQts+UEpgtmfnolo0hHdNjoB7EoRWcF7EDslt+lQGd0lW4iTvvSe3v5JiIckQSB5KTW5xiCqjFviRKPj1zA==}
         dependencies:
    -      workbox-core: 7.0.0
    -      workbox-routing: 7.0.0
    -      workbox-strategies: 7.0.0
    +      workbox-core: 7.1.0
    +      workbox-routing: 7.1.0
    +      workbox-strategies: 7.1.0
         dev: true
     
    -  /workbox-range-requests@7.0.0:
    -    resolution: {integrity: sha512-SxAzoVl9j/zRU9OT5+IQs7pbJBOUOlriB8Gn9YMvi38BNZRbM+RvkujHMo8FOe9IWrqqwYgDFBfv6sk76I1yaQ==}
    +  /workbox-range-requests@7.1.0:
    +    resolution: {integrity: sha512-m7+O4EHolNs5yb/79CrnwPR/g/PRzMFYEdo01LqwixVnc/sbzNSvKz0d04OE3aMRel1CwAAZQheRsqGDwATgPQ==}
         dependencies:
    -      workbox-core: 7.0.0
    +      workbox-core: 7.1.0
         dev: true
     
    -  /workbox-recipes@7.0.0:
    -    resolution: {integrity: sha512-DntcK9wuG3rYQOONWC0PejxYYIDHyWWZB/ueTbOUDQgefaeIj1kJ7pdP3LZV2lfrj8XXXBWt+JDRSw1lLLOnww==}
    +  /workbox-recipes@7.1.0:
    +    resolution: {integrity: sha512-NRrk4ycFN9BHXJB6WrKiRX3W3w75YNrNrzSX9cEZgFB5ubeGoO8s/SDmOYVrFYp9HMw6sh1Pm3eAY/1gVS8YLg==}
         dependencies:
    -      workbox-cacheable-response: 7.0.0
    -      workbox-core: 7.0.0
    -      workbox-expiration: 7.0.0
    -      workbox-precaching: 7.0.0
    -      workbox-routing: 7.0.0
    -      workbox-strategies: 7.0.0
    +      workbox-cacheable-response: 7.1.0
    +      workbox-core: 7.1.0
    +      workbox-expiration: 7.1.0
    +      workbox-precaching: 7.1.0
    +      workbox-routing: 7.1.0
    +      workbox-strategies: 7.1.0
         dev: true
     
    -  /workbox-routing@7.0.0:
    -    resolution: {integrity: sha512-8YxLr3xvqidnbVeGyRGkaV4YdlKkn5qZ1LfEePW3dq+ydE73hUUJJuLmGEykW3fMX8x8mNdL0XrWgotcuZjIvA==}
    +  /workbox-routing@7.1.0:
    +    resolution: {integrity: sha512-oOYk+kLriUY2QyHkIilxUlVcFqwduLJB7oRZIENbqPGeBP/3TWHYNNdmGNhz1dvKuw7aqvJ7CQxn27/jprlTdg==}
         dependencies:
    -      workbox-core: 7.0.0
    +      workbox-core: 7.1.0
         dev: true
     
    -  /workbox-strategies@7.0.0:
    -    resolution: {integrity: sha512-dg3qJU7tR/Gcd/XXOOo7x9QoCI9nk74JopaJaYAQ+ugLi57gPsXycVdBnYbayVj34m6Y8ppPwIuecrzkpBVwbA==}
    +  /workbox-strategies@7.1.0:
    +    resolution: {integrity: sha512-/UracPiGhUNehGjRm/tLUQ+9PtWmCbRufWtV0tNrALuf+HZ4F7cmObSEK+E4/Bx1p8Syx2tM+pkIrvtyetdlew==}
         dependencies:
    -      workbox-core: 7.0.0
    +      workbox-core: 7.1.0
         dev: true
     
    -  /workbox-streams@7.0.0:
    -    resolution: {integrity: sha512-moVsh+5to//l6IERWceYKGiftc+prNnqOp2sgALJJFbnNVpTXzKISlTIsrWY+ogMqt+x1oMazIdHj25kBSq/HQ==}
    +  /workbox-streams@7.1.0:
    +    resolution: {integrity: sha512-WyHAVxRXBMfysM8ORwiZnI98wvGWTVAq/lOyBjf00pXFvG0mNaVz4Ji+u+fKa/mf1i2SnTfikoYKto4ihHeS6w==}
         dependencies:
    -      workbox-core: 7.0.0
    -      workbox-routing: 7.0.0
    +      workbox-core: 7.1.0
    +      workbox-routing: 7.1.0
         dev: true
     
    -  /workbox-sw@7.0.0:
    -    resolution: {integrity: sha512-SWfEouQfjRiZ7GNABzHUKUyj8pCoe+RwjfOIajcx6J5mtgKkN+t8UToHnpaJL5UVVOf5YhJh+OHhbVNIHe+LVA==}
    +  /workbox-sw@7.1.0:
    +    resolution: {integrity: sha512-Hml/9+/njUXBglv3dtZ9WBKHI235AQJyLBV1G7EFmh4/mUdSQuXui80RtjDeVRrXnm/6QWgRUEHG3/YBVbxtsA==}
         dev: true
     
       /workbox-window@7.0.0:
    @@ -16003,6 +16083,13 @@ packages:
           workbox-core: 7.0.0
         dev: true
     
    +  /workbox-window@7.1.0:
    +    resolution: {integrity: sha512-ZHeROyqR+AS5UPzholQRDttLFqGMwP0Np8MKWAdyxsDETxq3qOAyXvqessc3GniohG6e0mAqSQyKOHmT8zPF7g==}
    +    dependencies:
    +      '@types/trusted-types': 2.0.7
    +      workbox-core: 7.1.0
    +    dev: true
    +
       /wrap-ansi@6.2.0:
         resolution: {integrity: sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==}
         engines: {node: '>=8'}
    
    From e49c95c220625c6774ad9ca55e7029002b5ecfc2 Mon Sep 17 00:00:00 2001
    From: Sidharth Vinod 
    Date: Fri, 26 Apr 2024 23:16:11 +0530
    Subject: [PATCH 351/789] chore: Fix typo
    
    ---
     docs/syntax/stateDiagram.md                    | 18 +++++++++++++++++-
     .../mermaid/src/docs/syntax/stateDiagram.md    |  2 +-
     2 files changed, 18 insertions(+), 2 deletions(-)
    
    diff --git a/docs/syntax/stateDiagram.md b/docs/syntax/stateDiagram.md
    index 7c40a5d2fb..a6b06a4b73 100644
    --- a/docs/syntax/stateDiagram.md
    +++ b/docs/syntax/stateDiagram.md
    @@ -160,7 +160,7 @@ In a real world use of state diagrams you often end up with diagrams that are mu
     have several internal states. These are called composite states in this terminology.
     
     In order to define a composite state you need to use the state keyword followed by an id and the body of the composite
    -state between {}. See the example below:
    +state between {}. You can name a composite state on a separate line just like a simple state. See the example below:
     
     ```mermaid-example
     stateDiagram-v2
    @@ -169,6 +169,14 @@ stateDiagram-v2
             [*] --> second
             second --> [*]
         }
    +
    +    [*] --> NamedComposite
    +    NamedComposite: Another Composite
    +    state NamedComposite {
    +        [*] --> namedSimple
    +        namedSimple --> [*]
    +        namedSimple: Another simple
    +    }
     ```
     
     ```mermaid
    @@ -178,6 +186,14 @@ stateDiagram-v2
             [*] --> second
             second --> [*]
         }
    +
    +    [*] --> NamedComposite
    +    NamedComposite: Another Composite
    +    state NamedComposite {
    +        [*] --> namedSimple
    +        namedSimple --> [*]
    +        namedSimple: Another simple
    +    }
     ```
     
     You can do this in several layers:
    diff --git a/packages/mermaid/src/docs/syntax/stateDiagram.md b/packages/mermaid/src/docs/syntax/stateDiagram.md
    index a78cb16d1c..a287d41682 100644
    --- a/packages/mermaid/src/docs/syntax/stateDiagram.md
    +++ b/packages/mermaid/src/docs/syntax/stateDiagram.md
    @@ -98,7 +98,7 @@ In a real world use of state diagrams you often end up with diagrams that are mu
     have several internal states. These are called composite states in this terminology.
     
     In order to define a composite state you need to use the state keyword followed by an id and the body of the composite
    -state between \{\}. You can name a composite state on a seperate line just like a simple state. See the example below:
    +state between \{\}. You can name a composite state on a separate line just like a simple state. See the example below:
     
     ```mermaid-example
     stateDiagram-v2
    
    From 9f6fc5a074cafa24ca1a444aecde9c5fc3d146ff Mon Sep 17 00:00:00 2001
    From: Ashish Jain 
    Date: Mon, 29 Apr 2024 11:19:06 +0200
    Subject: [PATCH 352/789] #5237 WIP
    
    ---
     cypress/platform/knsv2.html                   |  17 +-
     .../mermaid/src/diagrams/state/stateCommon.ts |  54 ++-
     .../mermaid/src/diagrams/state/stateDb.js     | 380 ++++++++++++++----
     .../src/diagrams/state/stateDiagram-v2.ts     |   2 +-
     .../layout-algorithms/dagre/index.js          |   3 +
     5 files changed, 369 insertions(+), 87 deletions(-)
    
    diff --git a/cypress/platform/knsv2.html b/cypress/platform/knsv2.html
    index fd6b2d9691..522b28cf72 100644
    --- a/cypress/platform/knsv2.html
    +++ b/cypress/platform/knsv2.html
    @@ -78,16 +78,13 @@
       
         
     stateDiagram-v2
    -    state fork_state <>
    -      [*] --> fork_state
    -      fork_state --> State2
    -      fork_state --> State3
    -
    -      state join_state <>
    -      State2 --> join_state
    -      State3 --> join_state
    -      join_state --> State4
    -      State4 --> [*]
    +    [*] --> First
    +    state First {
    +        [*] --> second
    +        second --> [*]
    +    }
    +
    +
       
    diff --git a/packages/mermaid/src/diagrams/state/stateCommon.ts b/packages/mermaid/src/diagrams/state/stateCommon.ts
    index e847d1514e..5c28b23a7a 100644
    --- a/packages/mermaid/src/diagrams/state/stateCommon.ts
    +++ b/packages/mermaid/src/diagrams/state/stateCommon.ts
    @@ -27,8 +27,36 @@ export const G_EDGE_LABELPOS = 'c';
     export const G_EDGE_LABELTYPE = 'text';
     export const G_EDGE_THICKNESS = 'normal';
     
    -export const CSS_EDGE = 'transition';
    +export const SHAPE_STATE = 'rect';
    +export const SHAPE_STATE_WITH_DESC = 'rectWithTitle';
    +export const SHAPE_START = 'stateStart';
    +export const SHAPE_END = 'stateEnd';
    +export const SHAPE_DIVIDER = 'divider';
    +export const SHAPE_GROUP = 'roundedWithTitle';
    +export const SHAPE_NOTE = 'note';
    +export const SHAPE_NOTEGROUP = 'noteGroup';
    +
    +// CSS classes
     export const CSS_DIAGRAM = 'statediagram';
    +export const CSS_STATE = 'state';
    +export const CSS_DIAGRAM_STATE = `${CSS_DIAGRAM}-${CSS_STATE}`;
    +export const CSS_EDGE = 'transition';
    +export const CSS_NOTE = 'note';
    +export const CSS_NOTE_EDGE = 'note-edge';
    +export const CSS_EDGE_NOTE_EDGE = `${CSS_EDGE} ${CSS_NOTE_EDGE}`;
    +export const CSS_DIAGRAM_NOTE = `${CSS_DIAGRAM}-${CSS_NOTE}`;
    +export const CSS_CLUSTER = 'cluster';
    +export const CSS_DIAGRAM_CLUSTER = `${CSS_DIAGRAM}-${CSS_CLUSTER}`;
    +export const CSS_CLUSTER_ALT = 'cluster-alt';
    +export const CSS_DIAGRAM_CLUSTER_ALT = `${CSS_DIAGRAM}-${CSS_CLUSTER_ALT}`;
    +
    +export const PARENT = 'parent';
    +export const NOTE = 'note';
    +export const DOMID_STATE = 'state';
    +export const DOMID_TYPE_SPACER = '----';
    +export const NOTE_ID = `${DOMID_TYPE_SPACER}${NOTE}`;
    +export const PARENT_ID = `${DOMID_TYPE_SPACER}${PARENT}`;
    +// --------------------------------------
     
     export default {
       DEFAULT_DIAGRAM_DIRECTION,
    @@ -46,4 +74,28 @@ export default {
       G_EDGE_THICKNESS,
       CSS_EDGE,
       CSS_DIAGRAM,
    +  SHAPE_STATE,
    +  SHAPE_STATE_WITH_DESC,
    +  SHAPE_START,
    +  SHAPE_END,
    +  SHAPE_DIVIDER,
    +  SHAPE_GROUP,
    +  SHAPE_NOTE,
    +  SHAPE_NOTEGROUP,
    +  CSS_STATE,
    +  CSS_DIAGRAM_STATE,
    +  CSS_NOTE,
    +  CSS_NOTE_EDGE,
    +  CSS_EDGE_NOTE_EDGE,
    +  CSS_DIAGRAM_NOTE,
    +  CSS_CLUSTER,
    +  CSS_DIAGRAM_CLUSTER,
    +  CSS_CLUSTER_ALT,
    +  CSS_DIAGRAM_CLUSTER_ALT,
    +  PARENT,
    +  NOTE,
    +  DOMID_STATE,
    +  DOMID_TYPE_SPACER,
    +  NOTE_ID,
    +  PARENT_ID,
     };
    diff --git a/packages/mermaid/src/diagrams/state/stateDb.js b/packages/mermaid/src/diagrams/state/stateDb.js
    index 210d8199fd..a2550dff9b 100644
    --- a/packages/mermaid/src/diagrams/state/stateDb.js
    +++ b/packages/mermaid/src/diagrams/state/stateDb.js
    @@ -26,8 +26,27 @@ import {
       G_EDGE_LABELTYPE,
       G_EDGE_THICKNESS,
       CSS_EDGE,
    +  DEFAULT_NESTED_DOC_DIR,
    +  SHAPE_DIVIDER,
    +  SHAPE_GROUP,
    +  CSS_DIAGRAM_CLUSTER,
    +  CSS_DIAGRAM_CLUSTER_ALT,
    +  CSS_DIAGRAM_STATE,
    +  SHAPE_STATE_WITH_DESC,
    +  SHAPE_STATE,
    +  SHAPE_START,
    +  SHAPE_END,
    +  SHAPE_NOTE,
    +  SHAPE_NOTEGROUP,
    +  CSS_DIAGRAM_NOTE,
    +  DOMID_TYPE_SPACER,
    +  DOMID_STATE,
    +  NOTE_ID,
    +  PARENT_ID,
    +  NOTE,
    +  PARENT,
     } from './stateCommon.js';
    -import { rect } from 'dagre-d3-es/src/dagre-js/intersect/index.js';
    +import { node } from 'stylis';
     
     const START_NODE = '[*]';
     const START_TYPE = 'start';
    @@ -54,6 +73,12 @@ let direction = DEFAULT_DIAGRAM_DIRECTION;
     let rootDoc = [];
     let classes = newClassesList(); // style classes defined by a classDef
     
    +// --------------------------------------
    +// List of nodes created from the parsed diagram statement items
    +let nodeDb = {};
    +
    +let graphItemCount = 0; // used to construct ids, etc.
    +
     const newDoc = () => {
       return {
         relations: [],
    @@ -548,97 +573,257 @@ const setDirection = (dir) => {
     
     const trimColon = (str) => (str && str[0] === ':' ? str.substr(1).trim() : str.trim());
     
    -const dataFetcher = (parentId, doc, nodes, edges) => {
    -  extract(doc);
    -
    -  //states
    -  const useRough = true;
    -  const stateKeys = Object.keys(currentDocument.states);
    +const dataFetcher = (parent, parsedItem, diagramStates, nodes, edges, altFlag, useRough) => {
    +  console.log(
    +    'parent, parsedItemm, diagramStates, nodes, edges, altFlag, useRough:',
    +    parent,
    +    parsedItem,
    +    diagramStates,
    +    nodes,
    +    edges,
    +    altFlag,
    +    useRough
    +  );
    +  const itemId = parsedItem.id;
    +  const classStr = getClassesFromDbInfo(diagramStates[itemId]);
     
    -  stateKeys.forEach((key) => {
    -    const item = currentDocument.states[key];
    -    let itemShape = 'rect';
    -    if (item.type === 'default' && item.id === 'root_start') {
    -      itemShape = 'stateStart';
    +  if (itemId !== 'root') {
    +    let shape = SHAPE_STATE;
    +    if (parsedItem.start === true) {
    +      shape = SHAPE_START;
         }
    -    if (item.type === 'default' && item.id === 'root_end') {
    -      itemShape = 'stateEnd';
    +    if (parsedItem.start === false) {
    +      shape = SHAPE_END;
    +    }
    +    if (parsedItem.type !== DEFAULT_STATE_TYPE) {
    +      shape = parsedItem.type;
         }
     
    -    if (item.type === 'fork' || item.type === 'join') {
    -      itemShape = 'forkJoin';
    +    // Add the node to our list (nodeDb)
    +    if (!nodeDb[itemId]) {
    +      nodeDb[itemId] = {
    +        id: itemId,
    +        shape,
    +        description: common.sanitizeText(itemId, getConfig()),
    +        classes: `${classStr} ${CSS_DIAGRAM_STATE}`,
    +      };
         }
     
    -    if (item.type === 'choice') {
    -      itemShape = 'choice';
    +    const newNode = nodeDb[itemId];
    +    console.log('New Node:', newNode);
    +
    +    // Save data for description and group so that for instance a statement without description overwrites
    +    // one with description  @todo TODO What does this mean? If important, add a test for it
    +
    +    // Build of the array of description strings
    +    if (parsedItem.description) {
    +      if (Array.isArray(newNode.description)) {
    +        // There already is an array of strings,add to it
    +        newNode.shape = SHAPE_STATE_WITH_DESC;
    +        newNode.description.push(parsedItem.description);
    +      } else {
    +        if (newNode.description?.length > 0) {
    +          // if there is a description already transform it to an array
    +          newNode.shape = SHAPE_STATE_WITH_DESC;
    +          if (newNode.description === itemId) {
    +            // If the previous description was this, remove it
    +            newNode.description = [parsedItem.description];
    +          } else {
    +            newNode.description = [newNode.description, parsedItem.description];
    +          }
    +        } else {
    +          newNode.shape = SHAPE_STATE;
    +          newNode.description = parsedItem.description;
    +        }
    +      }
    +      newNode.description = common.sanitizeTextOrArray(newNode.description, getConfig());
         }
     
    -    if (item.id === '' && item.type === 'default') {
    -      //ignore this item
    -      return;
    +    // If there's only 1 description entry, just use a regular state shape
    +    if (newNode.description?.length === 1 && newNode.shape === SHAPE_STATE_WITH_DESC) {
    +      newNode.shape = SHAPE_STATE;
         }
     
    -    if (item.id === '' && item.type === 'default') {
    -      //ignore this item
    -      return;
    +    // group
    +    if (!newNode.type && parsedItem.doc) {
    +      log.info('Setting cluster for ', itemId, getDir(parsedItem));
    +      newNode.type = 'group';
    +      newNode.dir = getDir(parsedItem);
    +      newNode.shape = parsedItem.type === DIVIDER_TYPE ? SHAPE_DIVIDER : SHAPE_GROUP;
    +      newNode.classes =
    +        newNode.classes +
    +        ' ' +
    +        CSS_DIAGRAM_CLUSTER +
    +        ' ' +
    +        (altFlag ? CSS_DIAGRAM_CLUSTER_ALT : '');
         }
     
    -    if (parentId) {
    -      nodes.push({
    -        ...item,
    -        labelText: item.id,
    -        labelType: 'text',
    -        parentId,
    -        shape: itemShape,
    -        useRough,
    -      });
    -    } else {
    -      nodes.push({
    -        ...item,
    -        id: item.id,
    -        labelText: item.descriptions?.length > 0 ? item.descriptions[0] : item.id,
    -        // description: item.id,
    -        labelType: 'text',
    +    // This is what will be added to the graph
    +    const nodeData = {
    +      labelStyle: '',
    +      shape: newNode.shape,
    +      labelText: newNode.description,
    +      classes: newNode.classes,
    +      style: '',
    +      id: itemId,
    +      dir: newNode.dir,
    +      domId: stateDomId(itemId, graphItemCount),
    +      type: newNode.type,
    +      padding: 15,
    +      rx: 10,
    +      ry: 10,
    +      useRough,
    +    };
    +
    +    if (parent && parent.id !== 'root') {
    +      log.trace('Setting node ', itemId, ' to be child of its parent ', parent.id);
    +      nodeData.parentId = parent.id;
    +    }
    +
    +    nodeData.centerLabel = true;
    +
    +    if (parsedItem.note) {
    +      // Todo: set random id
    +      const noteData = {
             labelStyle: '',
    -        shape: itemShape,
    -        padding: 15,
    -        classes: ' statediagram-state',
    -        rx: 10,
    -        ry: 10,
    -        useRough,
    +        shape: SHAPE_NOTE,
    +        labelText: parsedItem.note.text,
    +        classes: CSS_DIAGRAM_NOTE,
    +        // useHtmlLabels: false,
    +        style: '', // styles.style,
    +        id: itemId + NOTE_ID + '-' + graphItemCount,
    +        domId: stateDomId(itemId, graphItemCount, NOTE),
    +        type: newNode.type,
    +        padding: 15, //getConfig().flowchart.padding
    +      };
    +      const groupData = {
    +        labelStyle: '',
    +        shape: SHAPE_NOTEGROUP,
    +        labelText: parsedItem.note.text,
    +        classes: newNode.classes,
    +        style: '', // styles.style,
    +        id: itemId + PARENT_ID,
    +        domId: stateDomId(itemId, graphItemCount, PARENT),
    +        type: 'group',
    +        padding: 0, //getConfig().flowchart.padding
    +      };
    +      graphItemCount++;
    +
    +      const parentNodeId = itemId + PARENT_ID;
    +
    +      //add parent id to groupData
    +      groupData.id = parentNodeId;
    +      //add parent id to noteData
    +      noteData.parentId = parentId;
    +
    +      nodes.push(groupData);
    +      nodes.push(noteData);
    +      nodes.push(nodeData);
    +
    +      let from = itemId;
    +      let to = noteData.id;
    +
    +      if (parsedItem.note.position === 'left of') {
    +        from = noteData.id;
    +        to = itemId;
    +      }
    +
    +      edges.push({
    +        id: from + '-' + to,
    +        start: from,
    +        end: to,
    +        arrowhead: 'none',
    +        arrowTypeEnd: '',
    +        style: G_EDGE_STYLE,
    +        labelStyle: '',
    +        classes: CSS_EDGE_NOTE_EDGE,
    +        arrowheadStyle: G_EDGE_ARROWHEADSTYLE,
    +        labelpos: G_EDGE_LABELPOS,
    +        labelType: G_EDGE_LABELTYPE,
    +        thickness: G_EDGE_THICKNESS,
           });
    +    } else {
    +      nodes.push(nodeData);
         }
    -  });
     
    -  //edges
    -  currentDocument.relations.forEach((item) => {
    -    edges.push({
    -      id: item.id1 + '-' + item.id2,
    -      start: item.id1,
    -      end: item.id2,
    -      arrowhead: 'normal',
    -      arrowTypeEnd: 'arrow_barb',
    -      style: G_EDGE_STYLE,
    -      labelStyle: '',
    -      label: common.sanitizeText(item.description, getConfig()),
    -      arrowheadStyle: G_EDGE_ARROWHEADSTYLE,
    -      labelpos: G_EDGE_LABELPOS,
    -      labelType: G_EDGE_LABELTYPE,
    -      thickness: G_EDGE_THICKNESS,
    -      classes: CSS_EDGE,
    -      useRough,
    -    });
    -  });
    +    console.log('Nodes:', nodes);
    +  }
    +  if (parsedItem.doc) {
    +    log.trace('Adding nodes children ');
    +    setupDoc(parsedItem, parsedItem.doc, diagramStates, nodes, edges, !altFlag, useRough);
    +  }
    +};
     
    -  // if (item.doc) {
    -  //   dataFetcher(item.id, item.doc, nodes, edges);
    -  // }
    -  //break;
    -  //   case STMT_RELATION:
    -  //     edges.push(item);
    -  //     break;
    -  // }
    +/**
    + * Create a standard string for the dom ID of an item.
    + * If a type is given, insert that before the counter, preceded by the type spacer
    + *
    + * @param itemId
    + * @param counter
    + * @param {string | null} type
    + * @param typeSpacer
    + * @returns {string}
    + */
    +export function stateDomId(itemId = '', counter = 0, type = '', typeSpacer = DOMID_TYPE_SPACER) {
    +  const typeStr = type !== null && type.length > 0 ? `${typeSpacer}${type}` : '';
    +  return `${DOMID_STATE}-${itemId}${typeStr}-${counter}`;
    +}
    +
    +const setupDoc = (parentParsedItem, doc, diagramStates, nodes, edges, altFlag, useRough) => {
    +  // graphItemCount = 0;
    +  log.trace('items', doc);
    +  doc.forEach((item) => {
    +    switch (item.stmt) {
    +      case STMT_STATE:
    +        dataFetcher(parentParsedItem, item, diagramStates, nodes, edges, altFlag, useRough);
    +        break;
    +      case DEFAULT_STATE_TYPE:
    +        dataFetcher(parentParsedItem, item, diagramStates, nodes, edges, altFlag, useRough);
    +        break;
    +      case STMT_RELATION:
    +        {
    +          dataFetcher(
    +            parentParsedItem,
    +            item.state1,
    +            diagramStates,
    +            nodes,
    +            edges,
    +            altFlag,
    +            useRough
    +          );
    +          dataFetcher(
    +            parentParsedItem,
    +            item.state2,
    +            diagramStates,
    +            nodes,
    +            edges,
    +            altFlag,
    +            useRough
    +          );
    +          const edgeData = {
    +            id: 'edge' + graphItemCount,
    +            start: item.state1.id,
    +            end: item.state2.id,
    +            arrowhead: 'normal',
    +            arrowTypeEnd: 'arrow_barb',
    +            style: G_EDGE_STYLE,
    +            labelStyle: '',
    +            label: common.sanitizeText(item.description, getConfig()),
    +            arrowheadStyle: G_EDGE_ARROWHEADSTYLE,
    +            labelpos: G_EDGE_LABELPOS,
    +            labelType: G_EDGE_LABELTYPE,
    +            thickness: G_EDGE_THICKNESS,
    +            classes: CSS_EDGE,
    +          };
    +          edges.push(edgeData);
    +          //g.setEdge(item.state1.id, item.state2.id, edgeData, graphItemCount);
    +          graphItemCount++;
    +        }
    +        break;
    +    }
    +  });
     };
    +
     export const getData = () => {
       const nodes = [];
       const edges = [];
    @@ -648,11 +833,56 @@ export const getData = () => {
       //     nodes.push({...currentDocument.states[key]});
       //   }
       // }
    -  dataFetcher(undefined, rootDoc, nodes, edges);
    +  extract(getRootDocV2());
    +  const diagramStates = getStates();
    +
    +  const useRough = true;
    +  dataFetcher(undefined, getRootDocV2(), diagramStates, nodes, edges, true, useRough);
     
       return { nodes, edges, other: {} };
     };
     
    +/**
    + * Get the direction from the statement items.
    + * Look through all of the documents (docs) in the parsedItems
    + * Because is a _document_ direction, the default direction is not necessarily the same as the overall default _diagram_ direction.
    + * @param {object[]} parsedItem - the parsed statement item to look through
    + * @param [defaultDir] - the direction to use if none is found
    + * @returns {string}
    + */
    +const getDir = (parsedItem, defaultDir = DEFAULT_NESTED_DOC_DIR) => {
    +  let dir = defaultDir;
    +  if (parsedItem.doc) {
    +    for (let i = 0; i < parsedItem.doc.length; i++) {
    +      const parsedItemDoc = parsedItem.doc[i];
    +      if (parsedItemDoc.stmt === 'dir') {
    +        dir = parsedItemDoc.value;
    +      }
    +    }
    +  }
    +  return dir;
    +};
    +
    +/**
    + * Get classes from the db for the info item.
    + * If there aren't any or if dbInfoItem isn't defined, return an empty string.
    + * Else create 1 string from the list of classes found
    + *
    + * @param {undefined | null | object} dbInfoItem
    + * @returns {string}
    + */
    +function getClassesFromDbInfo(dbInfoItem) {
    +  if (dbInfoItem === undefined || dbInfoItem === null) {
    +    return '';
    +  } else {
    +    if (dbInfoItem.classes) {
    +      return dbInfoItem.classes.join(' ');
    +    } else {
    +      return '';
    +    }
    +  }
    +}
    +
     export default {
       getConfig: () => getConfig().state,
       getData,
    diff --git a/packages/mermaid/src/diagrams/state/stateDiagram-v2.ts b/packages/mermaid/src/diagrams/state/stateDiagram-v2.ts
    index 9d0a82a871..95c10c6169 100644
    --- a/packages/mermaid/src/diagrams/state/stateDiagram-v2.ts
    +++ b/packages/mermaid/src/diagrams/state/stateDiagram-v2.ts
    @@ -3,7 +3,7 @@ import type { DiagramDefinition } from '../../diagram-api/types.js';
     import parser from './parser/stateDiagram.jison';
     import db from './stateDb.js';
     import styles from './styles.js';
    -// import renderer from './stateRenderer-v2.js';
    +//import renderer from './stateRenderer-v2.js';
     import renderer from './stateRenderer-v3-unified.js';
     
     export const diagram: DiagramDefinition = {
    diff --git a/packages/mermaid/src/rendering-util/layout-algorithms/dagre/index.js b/packages/mermaid/src/rendering-util/layout-algorithms/dagre/index.js
    index c08ae0bb44..63652745fe 100644
    --- a/packages/mermaid/src/rendering-util/layout-algorithms/dagre/index.js
    +++ b/packages/mermaid/src/rendering-util/layout-algorithms/dagre/index.js
    @@ -201,6 +201,9 @@ export const render = async (data4Layout, svg, element) => {
       // Add the nodes and edges to the graph
       data4Layout.nodes.forEach((node) => {
         graph.setNode(node.id, { ...node });
    +    if (node.parentId) {
    +      graph.setParent(node.id, node.parentId);
    +    }
       });
     
       console.log('Edges:', data4Layout.edges);
    
    From b3e29dc11b1f4c6c6d247f8f47cd359c5fe98553 Mon Sep 17 00:00:00 2001
    From: Knut Sveidqvist 
    Date: Mon, 29 Apr 2024 11:20:58 +0200
    Subject: [PATCH 353/789] #5237 Adding elk support
    
    ---
     cypress/platform/knsv2.html                   |  17 +-
     packages/mermaid/package.json                 |   1 +
     .../state/stateRenderer-v3-unified.ts         |   3 +-
     .../layout-algorithms/dagre/index.js          |   2 +-
     .../layout-algorithms/elk/index.js            | 618 ++++++++++++++++++
     packages/mermaid/src/rendering-util/render.js |  15 +-
     .../rendering-elements/edges.js               |   7 +-
     pnpm-lock.yaml                                | 163 ++++-
     8 files changed, 803 insertions(+), 23 deletions(-)
     create mode 100644 packages/mermaid/src/rendering-util/layout-algorithms/elk/index.js
    
    diff --git a/cypress/platform/knsv2.html b/cypress/platform/knsv2.html
    index fd6b2d9691..9718952f9e 100644
    --- a/cypress/platform/knsv2.html
    +++ b/cypress/platform/knsv2.html
    @@ -78,23 +78,16 @@
       
         
     stateDiagram-v2
    -    state fork_state <>
    -      [*] --> fork_state
    -      fork_state --> State2
    -      fork_state --> State3
    -
    -      state join_state <>
    -      State2 --> join_state
    -      State3 --> join_state
    -      join_state --> State4
    -      State4 --> [*]
    +    state if_state <>
    +    [*] --> IsPositive
    +    IsPositive --> if_state
    +    if_state --> False: if n < 0
    +    if_state --> True : if n >= 0
       
     stateDiagram-v2
    -    state First {
            Second
    -    }
       
    diff --git a/packages/mermaid/package.json b/packages/mermaid/package.json
    index 96caf80c10..2b5397b4da 100644
    --- a/packages/mermaid/package.json
    +++ b/packages/mermaid/package.json
    @@ -67,6 +67,7 @@
         "d3": "^7.4.0",
         "d3-sankey": "^0.12.3",
         "dagre-d3-es": "7.0.10",
    +    "elkjs": "^0.8.2",
         "dayjs": "^1.11.7",
         "dompurify": "^3.0.5",
         "khroma": "^2.0.0",
    diff --git a/packages/mermaid/src/diagrams/state/stateRenderer-v3-unified.ts b/packages/mermaid/src/diagrams/state/stateRenderer-v3-unified.ts
    index 4a44d83454..a426a32a54 100644
    --- a/packages/mermaid/src/diagrams/state/stateRenderer-v3-unified.ts
    +++ b/packages/mermaid/src/diagrams/state/stateRenderer-v3-unified.ts
    @@ -86,7 +86,8 @@ export const draw = async function (text: string, id: string, _version: string,
       // performRender(data4Rendering);
     
       data4Layout.type = diag.type;
    -  data4Layout.layoutAlgorithm = 'dagre-wrapper';
    +  // data4Layout.layoutAlgorithm = 'dagre-wrapper';
    +  data4Layout.layoutAlgorithm = 'elk';
       data4Layout.skin = 'roughjs';
       data4Layout.direction = DIR;
       data4Layout.nodeSpacing = conf.nodeSpacing || 50;
    diff --git a/packages/mermaid/src/rendering-util/layout-algorithms/dagre/index.js b/packages/mermaid/src/rendering-util/layout-algorithms/dagre/index.js
    index c08ae0bb44..92eaef7765 100644
    --- a/packages/mermaid/src/rendering-util/layout-algorithms/dagre/index.js
    +++ b/packages/mermaid/src/rendering-util/layout-algorithms/dagre/index.js
    @@ -158,7 +158,7 @@ const recursiveRender = async (_elem, graph, diagramtype, id, parentCluster, sit
         log.info('Edge ' + e.v + ' -> ' + e.w + ': ' + JSON.stringify(edge), edge);
     
         edge.points.forEach((point) => (point.y += subGraphTitleTotalMargin / 2));
    -    const paths = insertEdge(edgePaths, e, edge, clusterDb, diagramtype, graph, id);
    +    const paths = insertEdge(edgePaths, edge, clusterDb, diagramtype, graph, id);
         positionEdgeLabel(edge, paths);
       });
     
    diff --git a/packages/mermaid/src/rendering-util/layout-algorithms/elk/index.js b/packages/mermaid/src/rendering-util/layout-algorithms/elk/index.js
    new file mode 100644
    index 0000000000..b141065d73
    --- /dev/null
    +++ b/packages/mermaid/src/rendering-util/layout-algorithms/elk/index.js
    @@ -0,0 +1,618 @@
    +import * as graphlibJson from 'dagre-d3-es/src/graphlib/json.js';
    +import * as graphlib from 'dagre-d3-es/src/graphlib/index.js';
    +import insertMarkers from '../../rendering-elements/markers.js';
    +import { getConfig } from '$root/diagram-api/diagramAPI.js';
    +import {
    +  insertNode,
    +  positionNode,
    +  clear as clearNodes,
    +  setNodeElem,
    +} from '../../rendering-elements/nodes.js';
    +import { insertCluster, clear as clearClusters } from '../../rendering-elements/clusters.js';
    +import {
    +  insertEdgeLabel,
    +  positionEdgeLabel,
    +  insertEdge,
    +  clear as clearEdges,
    +} from '../../rendering-elements/edges.js';
    +import common from '$root/diagrams/common/common.js';
    +import { log } from '$root/logger.js';
    +
    +import ELK from 'elkjs/lib/elk.bundled.js';
    +
    +const nodeDb = {};
    +let clusterDb = {};
    +
    +const addSubGraphs = function (db) {
    +  const parentLookupDb = { parentById: {}, childrenById: {} };
    +  const subgraphs = db.getSubGraphs();
    +  log.info('Subgraphs - ', subgraphs);
    +  subgraphs.forEach(function (subgraph) {
    +    subgraph.nodes.forEach(function (node) {
    +      parentLookupDb.parentById[node] = subgraph.id;
    +      if (parentLookupDb.childrenById[subgraph.id] === undefined) {
    +        parentLookupDb.childrenById[subgraph.id] = [];
    +      }
    +      parentLookupDb.childrenById[subgraph.id].push(node);
    +    });
    +  });
    +
    +  subgraphs.forEach(function (subgraph) {
    +    const data = { id: subgraph.id };
    +    if (parentLookupDb.parentById[subgraph.id] !== undefined) {
    +      data.parent = parentLookupDb.parentById[subgraph.id];
    +    }
    +  });
    +  return parentLookupDb;
    +};
    +
    +// /**
    +//  * Function that adds the vertices found during parsing to the graph to be rendered.
    +//  *
    +//  * @param vert Object containing the vertices.
    +//  * @param g The graph that is to be drawn.
    +//  * @param svgId
    +//  * @param root
    +//  * @param doc
    +//  * @param diagObj
    +//  */
    +export const addVertices = async function (svg, data4Layout, parentLookupDb, graph) {
    +  const nodes = svg.insert('g').attr('class', 'nodes');
    +
    +  console.log('data4Layout (node)', data4Layout);
    +  // Iterate through each item in the vertex object (containing all the vertices found) in the graph definition
    +  await Promise.all(
    +    data4Layout.nodes.map(async (node) => {
    +      console.log('node', node);
    +      // const node = vert[id];
    +
    +      //     /**
    +      //      * Variable for storing the classes for the vertex
    +      //      *
    +      //      * @type {string}
    +      //      */
    +      //     let classStr = 'default';
    +      //     if (node.classes.length > 0) {
    +      //       classStr = node.classes.join(' ');
    +      //     }
    +      //     classStr = classStr + ' flowchart-label';
    +      //     const styles = getStylesFromArray(node.styles);
    +
    +      //     // Use vertex id as text in the box if no text is provided by the graph definition
    +      //     let vertexText = node.text !== undefined ? node.text : node.id;
    +
    +      //     // We create a SVG label, either by delegating to addHtmlLabel or manually
    +      //     let vertexNode;
    +      //     const labelData = { width: 0, height: 0 };
    +
    +      const ports = [
    +        {
    +          id: node.id + '-west',
    +          layoutOptions: {
    +            'port.side': 'WEST',
    +          },
    +        },
    +        {
    +          id: node.id + '-east',
    +          layoutOptions: {
    +            'port.side': 'EAST',
    +          },
    +        },
    +        {
    +          id: node.id + '-south',
    +          layoutOptions: {
    +            'port.side': 'SOUTH',
    +          },
    +        },
    +        {
    +          id: node.id + '-north',
    +          layoutOptions: {
    +            'port.side': 'NORTH',
    +          },
    +        },
    +      ];
    +
    +      let boundingBox;
    +      let nodeEl;
    +
    +      //     // Add the element to the DOM
    +      if (node.type !== 'group') {
    +        nodeEl = await insertNode(nodes, node, node.dir);
    +        boundingBox = nodeEl.node().getBBox();
    +        graph.children.push({
    +          ...node,
    +          domId: nodeEl,
    +        });
    +      }
    +      // else {
    +      //       const svgLabel = doc.createElementNS('http://www.w3.org/2000/svg', 'text');
    +      //       // svgLabel.setAttribute('style', styles.labelStyle.replace('color:', 'fill:'));
    +      //       // const rows = vertexText.split(common.lineBreakRegex);
    +      //       // for (const row of rows) {
    +      //       //   const tspan = doc.createElementNS('http://www.w3.org/2000/svg', 'tspan');
    +      //       //   tspan.setAttributeNS('http://www.w3.org/XML/1998/namespace', 'xml:space', 'preserve');
    +      //       //   tspan.setAttribute('dy', '1em');
    +      //       //   tspan.setAttribute('x', '1');
    +      //       //   tspan.textContent = row;
    +      //       //   svgLabel.appendChild(tspan);
    +      //       // }
    +      //       // vertexNode = svgLabel;
    +      //       // const bbox = vertexNode.getBBox();
    +      //       const { shapeSvg, bbox } = await labelHelper(nodes, node, undefined, true);
    +      //       labelData.width = bbox.width;
    +      //       labelData.wrappingWidth = getConfig().flowchart.wrappingWidth;
    +      //       labelData.height = bbox.height;
    +      //       labelData.labelNode = shapeSvg.node();
    +      //       node.labelData = labelData;
    +      //     }
    +      //     // const { shapeSvg, bbox } = await labelHelper(svg, node, undefined, true);
    +
    +      // const data = {
    +      //   id: node.id,
    +      //   ports: node.type === 'diamond' ? ports : [],
    +      //   // labelStyle: styles.labelStyle,
    +      //   // shape: _shape,
    +      //   layoutOptions,
    +      //   labelText: vertexText,
    +      //   labelData,
    +      //   // labels: [{ text: vertexText }],
    +      //   // rx: radius,
    +      //   // ry: radius,
    +      //   // class: classStr,
    +      //   // style: styles.style,
    +      //   // link: vertex.link,
    +      //   // linkTarget: vertex.linkTarget,
    +      //   // tooltip: diagObj.db.getTooltip(vertex.id) || '',
    +      //   domId: diagObj.db.lookUpDomId(node.id),
    +      //   // haveCallback: vertex.haveCallback,
    +      //   width: boundingBox?.width,
    +      //   height: boundingBox?.height,
    +      //   // dir: vertex.dir,
    +      //   type: node.type,
    +      //   // props: vertex.props,
    +      //   // padding: getConfig().flowchart.padding,
    +      //   // boundingBox,
    +      //   el: nodeEl,
    +      //   parent: parentLookupDb.parentById[node.id],
    +      // };
    +      //     // if (!Object.keys(parentLookupDb.childrenById).includes(vertex.id)) {
    +      //     // graph.children.push({
    +      //     //   ...data,
    +      //     // });
    +      //     // }
    +      //     nodeDb[node.id] = data;
    +      //     // log.trace('setNode', {
    +      //     //   labelStyle: styles.labelStyle,
    +      //     //   shape: _shape,
    +      //     //   labelText: vertexText,
    +      //     //   rx: radius,
    +      //     //   ry: radius,
    +      //     //   class: classStr,
    +      //     //   style: styles.style,
    +      //     //   id: vertex.id,
    +      //     //   domId: diagObj.db.lookUpDomId(vertex.id),
    +      //     //   width: vertex.type === 'group' ? 500 : undefined,
    +      //     //   type: vertex.type,
    +      //     //   dir: vertex.dir,
    +      //     //   props: vertex.props,
    +      //     //   padding: getConfig().flowchart.padding,
    +      //     //   parent: parentLookupDb.parentById[vertex.id],
    +      //     // });
    +    })
    +  );
    +  return graph;
    +};
    +
    +const drawNodes = (relX, relY, nodeArray, svg, subgraphsEl, depth) => {
    +  nodeArray.forEach(function (node) {
    +    if (node) {
    +      nodeDb[node.id] = node;
    +      nodeDb[node.id].offset = {
    +        posX: node.x + relX,
    +        posY: node.y + relY,
    +        x: relX,
    +        y: relY,
    +        depth,
    +        width: node.width,
    +        height: node.height,
    +      };
    +      //     if (node.type === 'group') {
    +      //       const subgraphEl = subgraphsEl.insert('g').attr('class', 'subgraph');
    +      //       subgraphEl
    +      //         .insert('rect')
    +      //         .attr('class', 'subgraph subgraph-lvl-' + (depth % 5) + ' node')
    +      //         .attr('x', node.x + relX)
    +      //         .attr('y', node.y + relY)
    +      //         .attr('width', node.width)
    +      //         .attr('height', node.height);
    +      //       const label = subgraphEl.insert('g').attr('class', 'label');
    +      //       const labelCentering = getConfig().flowchart.htmlLabels ? node.labelData.width / 2 : 0;
    +      //       label.attr(
    +      //         'transform',
    +      //         `translate(${node.labels[0].x + relX + node.x + labelCentering}, ${
    +      //           node.labels[0].y + relY + node.y + 3
    +      //         })`
    +      //       );
    +      //       label.node().appendChild(node.labelData.labelNode);
    +
    +      //       log.info('Id (UGH)= ', node.type, node.labels);
    +      //     } else {
    +      log.info('Id (UGH)= ', node.id);
    +      node.domId.attr(
    +        'transform',
    +        `translate(${node.x + relX + node.width / 2}, ${node.y + relY + node.height / 2})`
    +      );
    +    }
    +    //   }
    +    // });
    +    // nodeArray.forEach(function (node) {
    +    //   if (node && node.type === 'group') {
    +    //     drawNodes(relX + node.x, relY + node.y, node.children, svg, subgraphsEl, diagObj, depth + 1);
    +    //   }
    +  });
    +};
    +
    +const getEdgeStartEndPoint = (edge, dir) => {
    +  let source = edge.start;
    +  let target = edge.end;
    +
    +  // Save the original source and target
    +  const sourceId = source;
    +  const targetId = target;
    +
    +  const startNode = nodeDb[source];
    +  const endNode = nodeDb[target];
    +
    +  if (!startNode || !endNode) {
    +    return { source, target };
    +  }
    +
    +  if (startNode.type === 'diamond') {
    +    source = `${source}-${getNextPort(source, 'out', dir)}`;
    +  }
    +
    +  if (endNode.type === 'diamond') {
    +    target = `${target}-${getNextPort(target, 'in', dir)}`;
    +  }
    +
    +  // Add the edge to the graph
    +  return { source, target, sourceId, targetId };
    +};
    +
    +/**
    + * Add edges to graph based on parsed graph definition
    + *
    + * @param {object} edges The edges to add to the graph
    + * @param {object} g The graph object
    + * @param cy
    + * @param diagObj
    + * @param dataForLayout
    + * @param graph
    + * @param svg
    + */
    +export const addEdges = function (dataForLayout, graph, svg) {
    +  log.info('abc78 edges = ', dataForLayout);
    +  const edges = dataForLayout.edges;
    +  const labelsEl = svg.insert('g').attr('class', 'edgeLabels');
    +  let linkIdCnt = {};
    +  let dir = dataForLayout.direction || 'DOWN';
    +  let defaultStyle;
    +  let defaultLabelStyle;
    +
    +  // if (edges.defaultStyle !== undefined) {
    +  //   const defaultStyles = getStylesFromArray(edges.defaultStyle);
    +  //   defaultStyle = defaultStyles.style;
    +  //   defaultLabelStyle = defaultStyles.labelStyle;
    +  // }
    +
    +  edges.forEach(function (edge) {
    +    console.log('edge abc78', edge.id);
    +    // Identify Link
    +    const linkIdBase = edge.id; // 'L-' + edge.start + '-' + edge.end;
    +    // count the links from+to the same node to give unique id
    +    if (linkIdCnt[linkIdBase] === undefined) {
    +      linkIdCnt[linkIdBase] = 0;
    +      log.info('abc78 new entry', linkIdBase, linkIdCnt[linkIdBase]);
    +    } else {
    +      linkIdCnt[linkIdBase]++;
    +      log.info('abc78 new entry', linkIdBase, linkIdCnt[linkIdBase]);
    +    }
    +    let linkId = linkIdBase + '-' + linkIdCnt[linkIdBase];
    +    log.info('abc78 new link id to be used is', linkIdBase, linkId, linkIdCnt[linkIdBase]);
    +    const linkNameStart = 'LS-' + edge.start;
    +    const linkNameEnd = 'LE-' + edge.end;
    +
    +    const edgeData = { style: '', labelStyle: '' };
    +    edgeData.minlen = edge.length || 1;
    +    //edgeData.id = 'id' + cnt;
    +
    +    // Set link type for rendering
    +    if (edge.type === 'arrow_open') {
    +      edgeData.arrowhead = 'none';
    +    } else {
    +      edgeData.arrowhead = 'normal';
    +    }
    +
    +    // Check of arrow types, placed here in order not to break old rendering
    +    edgeData.arrowTypeStart = 'arrow_open';
    +    edgeData.arrowTypeEnd = 'arrow_open';
    +
    +    /* eslint-disable no-fallthrough */
    +    switch (edge.type) {
    +      case 'double_arrow_cross':
    +        edgeData.arrowTypeStart = 'arrow_cross';
    +      case 'arrow_cross':
    +        edgeData.arrowTypeEnd = 'arrow_cross';
    +        break;
    +      case 'double_arrow_point':
    +        edgeData.arrowTypeStart = 'arrow_point';
    +      case 'arrow_point':
    +        edgeData.arrowTypeEnd = 'arrow_point';
    +        break;
    +      case 'double_arrow_circle':
    +        edgeData.arrowTypeStart = 'arrow_circle';
    +      case 'arrow_circle':
    +        edgeData.arrowTypeEnd = 'arrow_circle';
    +        break;
    +    }
    +
    +    let style = '';
    +    let labelStyle = '';
    +
    +    switch (edge.stroke) {
    +      case 'normal':
    +        style = 'fill:none;';
    +        if (defaultStyle !== undefined) {
    +          style = defaultStyle;
    +        }
    +        if (defaultLabelStyle !== undefined) {
    +          labelStyle = defaultLabelStyle;
    +        }
    +        edgeData.thickness = 'normal';
    +        edgeData.pattern = 'solid';
    +        break;
    +      case 'dotted':
    +        edgeData.thickness = 'normal';
    +        edgeData.pattern = 'dotted';
    +        edgeData.style = 'fill:none;stroke-width:2px;stroke-dasharray:3;';
    +        break;
    +      case 'thick':
    +        edgeData.thickness = 'thick';
    +        edgeData.pattern = 'solid';
    +        edgeData.style = 'stroke-width: 3.5px;fill:none;';
    +        break;
    +    }
    +    // if (edge.style !== undefined) {
    +    //   const styles = getStylesFromArray(edge.style);
    +    //   style = styles.style;
    +    //   labelStyle = styles.labelStyle;
    +    // }
    +
    +    edgeData.style = edgeData.style += style;
    +    edgeData.labelStyle = edgeData.labelStyle += labelStyle;
    +
    +    // if (edge.interpolate !== undefined) {
    +    //   edgeData.curve = interpolateToCurve(edge.interpolate, curveLinear);
    +    // } else if (edges.defaultInterpolate !== undefined) {
    +    //   edgeData.curve = interpolateToCurve(edges.defaultInterpolate, curveLinear);
    +    // } else {
    +    //   edgeData.curve = interpolateToCurve(conf.curve, curveLinear);
    +    // }
    +
    +    if (edge.text === undefined) {
    +      if (edge.style !== undefined) {
    +        edgeData.arrowheadStyle = 'fill: #333';
    +      }
    +    } else {
    +      edgeData.arrowheadStyle = 'fill: #333';
    +      edgeData.labelpos = 'c';
    +    }
    +
    +    edgeData.labelType = edge.labelType;
    +    edgeData.label = (edge?.text || '').replace(common.lineBreakRegex, '\n');
    +
    +    if (edge.style === undefined) {
    +      edgeData.style = edgeData.style || 'stroke: #333; stroke-width: 1.5px;fill:none;';
    +    }
    +
    +    edgeData.labelStyle = edgeData.labelStyle.replace('color:', 'fill:');
    +
    +    edgeData.id = linkId;
    +    edgeData.classes = 'flowchart-link ' + linkNameStart + ' ' + linkNameEnd;
    +
    +    const labelEl = insertEdgeLabel(labelsEl, edgeData);
    +
    +    // calculate start and end points of the edge, note that the source and target
    +    // can be modified for shapes that have ports
    +    const { source, target, sourceId, targetId } = getEdgeStartEndPoint(edge, dir);
    +    log.debug('abc78 source and target', source, target);
    +    // Add the edge to the graph
    +    graph.edges.push({
    +      id: 'e' + edge.start + edge.end,
    +      sources: [source],
    +      targets: [target],
    +      sourceId,
    +      targetId,
    +      labelEl: labelEl,
    +      labels: [
    +        {
    +          width: edgeData.width,
    +          height: edgeData.height,
    +          orgWidth: edgeData.width,
    +          orgHeight: edgeData.height,
    +          text: edgeData.label,
    +          layoutOptions: {
    +            'edgeLabels.inline': 'true',
    +            'edgeLabels.placement': 'CENTER',
    +          },
    +        },
    +      ],
    +      edgeData,
    +    });
    +  });
    +  return graph;
    +};
    +
    +export const render = async (data4Layout, svg, element) => {
    +  const elk = new ELK();
    +
    +  // Org
    +
    +  insertMarkers(element, data4Layout.markers, data4Layout.type, data4Layout.diagramId);
    +  // clearNodes();
    +  // clearEdges();
    +  // clearClusters();
    +  // clearGraphlib();
    +
    +  let graph = {
    +    id: 'root',
    +    layoutOptions: {
    +      'elk.hierarchyHandling': 'INCLUDE_CHILDREN',
    +      'org.eclipse.elk.padding': '[top=100, left=100, bottom=110, right=110]',
    +      'elk.layered.spacing.edgeNodeBetweenLayers': '30',
    +      'elk.direction': 'DOWN',
    +    },
    +    children: [],
    +    edges: [],
    +  };
    +
    +  log.info('Drawing flowchart using v4 renderer', elk);
    +
    +  let dir = data4Layout.direction || 'DOWN';
    +  switch (dir) {
    +    case 'BT':
    +      graph.layoutOptions['elk.direction'] = 'UP';
    +      break;
    +    case 'TB':
    +      graph.layoutOptions['elk.direction'] = 'DOWN';
    +      break;
    +    case 'LR':
    +      graph.layoutOptions['elk.direction'] = 'RIGHT';
    +      break;
    +    case 'RL':
    +      graph.layoutOptions['elk.direction'] = 'LEFT';
    +      break;
    +    default:
    +      graph.layoutOptions['elk.direction'] = 'DOWN';
    +      break;
    +  }
    +
    +  // ###########################################################################
    +  // ###########################################################################
    +  // ###########################################################################
    +  // ###########################################################################
    +  // ###########################################################################
    +  // ###########################################################################
    +
    +  // Create the lookup db for the subgraphs and their children to used when creating
    +  // the tree structured graph
    +  // const parentLookupDb = addSubGraphs(diagObj.db);
    +
    +  // Add the nodes to the graph, this will entail creating the actual nodes
    +  // in order to get the size of the node. You can't get the size of a node
    +  // that is not in the dom so we need to add it to the dom, get the size
    +  // we will position the nodes when we get the layout from elkjs
    +  const parentLookupDb = {};
    +  graph = await addVertices(svg, data4Layout, parentLookupDb, graph);
    +
    +  // Add the nodes and edges to the graph
    +  // data4Layout.nodes.forEach((node) => {
    +  //   graph.setNode(node.id, { ...node });
    +  // });
    +
    +  // data4Layout.edges.forEach((edge) => {
    +  //   graph.setEdge(edge.start, edge.end, { ...edge });
    +  // });
    +
    +  // Setup nodes from the subgraphs with type group, these will be used
    +  // as nodes with children in the subgraph
    +  // let subG;
    +  // const subGraphs = diagObj.db.getSubGraphs();
    +  // log.info('Subgraphs - ', subGraphs);
    +  // for (let i = subGraphs.length - 1; i >= 0; i--) {
    +  //   subG = subGraphs[i];
    +  //   diagObj.db.addVertex(
    +  //     subG.id,
    +  //     { text: subG.title, type: subG.labelType },
    +  //     'group',
    +  //     undefined,
    +  //     subG.classes,
    +  //     subG.dir
    +  //   );
    +  // }
    +
    +  // debugger;
    +  // Add an element in the svg to be used to hold the subgraphs container
    +  // // elements
    +  // const subGraphsEl = svg.insert('g').attr('class', 'subgraphs');
    +
    +  // // Create the lookup db for the subgraphs and their children to used when creating
    +  // // the tree structured graph
    +  // const parentLookupDb = addSubGraphs(diagObj.db);
    +
    +  // Add the nodes to the graph, this will entail creating the actual nodes
    +  // in order to get the size of the node. You can't get the size of a node
    +  // that is not in the dom so we need to add it to the dom, get the size
    +  // we will position the nodes when we get the layout from elkjs
    +  // graph = await addVertices(, graph);
    +
    +  // Time for the edges, we start with adding an element in the node to hold the edges
    +  const edgesEl = svg.insert('g').attr('class', 'edges edgePath');
    +  // // Fetch the edges form the parsed graph definition
    +  // const edges = diagObj.db.getEdges();
    +
    +  // // Add the edges to the graph, this will entail creating the actual edges
    +  graph = addEdges(data4Layout, graph, svg);
    +
    +  // Iterate through all nodes and add the top level nodes to the graph
    +  // const nodes = data4Layout.nodes;
    +  // nodes.forEach((nodeId) => {
    +  //   const node = nodeDb[nodeId];
    +  //   if (!node.parent) {
    +  //     graph.children.push(node);
    +  //   }
    +  //   // Subgraph
    +  //   if (parentLookupDb.childrenById[nodeId] !== undefined) {
    +  //     node.labels = [
    +  //       {
    +  //         text: node.labelText,
    +  //         layoutOptions: {
    +  //           'nodeLabels.placement': '[H_CENTER, V_TOP, INSIDE]',
    +  //         },
    +  //         width: node.labelData.width,
    +  //         height: node.labelData.height,
    +  //         // width: 100,
    +  //         // height: 100,
    +  //       },
    +  //     ];
    +  //     delete node.x;
    +  //     delete node.y;
    +  //     delete node.width;
    +  //     delete node.height;
    +  //   }
    +  // });
    +
    +  // insertChildren(graph.children, parentLookupDb);
    +  // log.info('after layout', JSON.stringify(graph, null, 2));
    +  const g = await elk.layout(graph);
    +  // drawNodes(0, 0, g.children, svg, subGraphsEl, 0);
    +  drawNodes(0, 0, g.children, svg, null, 0);
    +  console.log('after layout', g);
    +  g.edges?.map((edge) => {
    +    // (elem, edge, clusterDb, diagramType, graph, id)
    +    insertEdge(edgesEl, edge, clusterDb, data4Layout.type, g, data4Layout.diagramId);
    +  });
    +  // setupGraphViewbox({}, svg, conf.diagramPadding, conf.useMaxWidth);
    +  // // Remove element after layout
    +  // renderEl.remove();
    +};
    +
    +// const shapeDefinitions = {};
    +// export const addShape = ({ shapeType: fun }) => {
    +//   shapeDefinitions[shapeType] = fun;
    +// };
    +
    +// const arrowDefinitions = {};
    +// export const addArrow = ({ arrowType: fun }) => {
    +//   arrowDefinitions[arrowType] = fun;
    +// };
    diff --git a/packages/mermaid/src/rendering-util/render.js b/packages/mermaid/src/rendering-util/render.js
    index f6fa82f514..fe205d156b 100644
    --- a/packages/mermaid/src/rendering-util/render.js
    +++ b/packages/mermaid/src/rendering-util/render.js
    @@ -1,10 +1,15 @@
     export const render = async (data4Layout, svg, element) => {
    -  if (data4Layout.layoutAlgorithm === 'dagre-wrapper') {
    -    console.warn('THERERERERERER');
    -    // const layoutRenderer = await import('../dagre-wrapper/index-refactored.js');
    +  switch (data4Layout.layoutAlgorithm) {
    +    case 'dagre-wrapper': {
    +      // const layoutRenderer = await import('../dagre-wrapper/index-refactored.js');
     
    -    const layoutRenderer = await import('./layout-algorithms/dagre/index.js');
    +      const layoutRenderer = await import('./layout-algorithms/dagre/index.js');
     
    -    return layoutRenderer.render(data4Layout, svg, element);
    +      return layoutRenderer.render(data4Layout, svg, element);
    +    }
    +    case 'elk': {
    +      const layoutRenderer = await import('./layout-algorithms/elk/index.js');
    +      return layoutRenderer.render(data4Layout, svg, element);
    +    }
       }
     };
    diff --git a/packages/mermaid/src/rendering-util/rendering-elements/edges.js b/packages/mermaid/src/rendering-util/rendering-elements/edges.js
    index b87d9b332d..4aa3e52f53 100644
    --- a/packages/mermaid/src/rendering-util/rendering-elements/edges.js
    +++ b/packages/mermaid/src/rendering-util/rendering-elements/edges.js
    @@ -375,11 +375,12 @@ const cutPathAtIntersect = (_points, boundryNode) => {
       return points;
     };
     
    -export const insertEdge = function (elem, e, edge, clusterDb, diagramType, graph, id) {
    +export const insertEdge = function (elem, edge, clusterDb, diagramType, graph, id) {
    +  console.log('abc88 InsertEdge - edge: ', edge);
       let points = edge.points;
       let pointsHasChanged = false;
    -  const tail = graph.node(e.v);
    -  var head = graph.node(e.w);
    +  const tail = edge.start;
    +  var head = edge.end;
     
       log.info('abc88 InsertEdge: ', edge);
       if (head.intersect && tail.intersect) {
    diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
    index fd0ebc2ebb..bb24ef2e6a 100644
    --- a/pnpm-lock.yaml
    +++ b/pnpm-lock.yaml
    @@ -227,6 +227,9 @@ importers:
           dompurify:
             specifier: ^3.0.5
             version: 3.0.5
    +      elkjs:
    +        specifier: ^0.8.2
    +        version: 0.8.2
           khroma:
             specifier: ^2.0.0
             version: 2.0.0
    @@ -506,6 +509,61 @@ importers:
             specifier: ^7.0.0
             version: 7.0.0
     
    +  packages/mermaid/src/vitepress:
    +    dependencies:
    +      '@vueuse/core':
    +        specifier: ^10.1.0
    +        version: 10.1.0(vue@3.3.4)
    +      jiti:
    +        specifier: ^1.18.2
    +        version: 1.18.2
    +      mermaid:
    +        specifier: workspace:^
    +        version: link:../..
    +      vue:
    +        specifier: ^3.3
    +        version: 3.3.4
    +    devDependencies:
    +      '@iconify-json/carbon':
    +        specifier: ^1.1.16
    +        version: 1.1.16
    +      '@unocss/reset':
    +        specifier: ^0.58.0
    +        version: 0.58.0
    +      '@vite-pwa/vitepress':
    +        specifier: ^0.3.0
    +        version: 0.3.0(vite-plugin-pwa@0.17.0)
    +      '@vitejs/plugin-vue':
    +        specifier: ^4.2.1
    +        version: 4.2.1(vite@4.4.12)(vue@3.3.4)
    +      fast-glob:
    +        specifier: ^3.2.12
    +        version: 3.2.12
    +      https-localhost:
    +        specifier: ^4.7.1
    +        version: 4.7.1
    +      pathe:
    +        specifier: ^1.1.0
    +        version: 1.1.0
    +      unocss:
    +        specifier: ^0.58.0
    +        version: 0.58.0(postcss@8.4.33)(rollup@2.79.1)(vite@4.4.12)
    +      unplugin-vue-components:
    +        specifier: ^0.26.0
    +        version: 0.26.0(rollup@2.79.1)(vue@3.3.4)
    +      vite:
    +        specifier: ^4.4.12
    +        version: 4.4.12(@types/node@18.17.5)
    +      vite-plugin-pwa:
    +        specifier: ^0.17.0
    +        version: 0.17.0(vite@4.4.12)(workbox-build@7.0.0)(workbox-window@7.0.0)
    +      vitepress:
    +        specifier: 1.0.0-rc.39
    +        version: 1.0.0-rc.39(@algolia/client-search@4.19.1)(@types/node@18.17.5)(postcss@8.4.33)(search-insights@2.7.0)(typescript@5.1.6)
    +      workbox-window:
    +        specifier: ^7.0.0
    +        version: 7.0.0
    +
       packages/parser:
         dependencies:
           langium:
    @@ -5299,6 +5357,22 @@ packages:
           eslint-visitor-keys: 3.4.3
         dev: true
     
    +  /@unocss/astro@0.58.0(rollup@2.79.1)(vite@4.4.12):
    +    resolution: {integrity: sha512-df+tEFO5eKXjQOwSWQhS9IdjD0sfLHLtn8U09sEKR2Nmh5CvpwyBxmvLQgOCilPou7ehmyKfsyGRLZg7IMp+Ew==}
    +    peerDependencies:
    +      vite: ^2.9.0 || ^3.0.0-0 || ^4.0.0 || ^5.0.0-0
    +    peerDependenciesMeta:
    +      vite:
    +        optional: true
    +    dependencies:
    +      '@unocss/core': 0.58.0
    +      '@unocss/reset': 0.58.0
    +      '@unocss/vite': 0.58.0(rollup@2.79.1)(vite@4.4.12)
    +      vite: 4.4.12(@types/node@18.17.5)
    +    transitivePeerDependencies:
    +      - rollup
    +    dev: true
    +
       /@unocss/astro@0.58.0(rollup@2.79.1)(vite@4.5.0):
         resolution: {integrity: sha512-df+tEFO5eKXjQOwSWQhS9IdjD0sfLHLtn8U09sEKR2Nmh5CvpwyBxmvLQgOCilPou7ehmyKfsyGRLZg7IMp+Ew==}
         peerDependencies:
    @@ -5493,6 +5567,26 @@ packages:
           '@unocss/core': 0.58.0
         dev: true
     
    +  /@unocss/vite@0.58.0(rollup@2.79.1)(vite@4.4.12):
    +    resolution: {integrity: sha512-OCUOLMSOBEtXOEyBbAvMI3/xdR175BWRzmvV9Wc34ANZclEvCdVH8+WU725ibjY4VT0gVIuX68b13fhXdHV41A==}
    +    peerDependencies:
    +      vite: ^2.9.0 || ^3.0.0-0 || ^4.0.0 || ^5.0.0-0
    +    dependencies:
    +      '@ampproject/remapping': 2.2.1
    +      '@rollup/pluginutils': 5.1.0(rollup@2.79.1)
    +      '@unocss/config': 0.58.0
    +      '@unocss/core': 0.58.0
    +      '@unocss/inspector': 0.58.0
    +      '@unocss/scope': 0.58.0
    +      '@unocss/transformer-directives': 0.58.0
    +      chokidar: 3.5.3
    +      fast-glob: 3.3.2
    +      magic-string: 0.30.5
    +      vite: 4.4.12(@types/node@18.17.5)
    +    transitivePeerDependencies:
    +      - rollup
    +    dev: true
    +
       /@unocss/vite@0.58.0(rollup@2.79.1)(vite@4.5.0):
         resolution: {integrity: sha512-OCUOLMSOBEtXOEyBbAvMI3/xdR175BWRzmvV9Wc34ANZclEvCdVH8+WU725ibjY4VT0gVIuX68b13fhXdHV41A==}
         peerDependencies:
    @@ -5521,6 +5615,17 @@ packages:
           vite-plugin-pwa: 0.17.0(vite@4.5.0)(workbox-build@7.0.0)(workbox-window@7.0.0)
         dev: true
     
    +  /@vitejs/plugin-vue@4.2.1(vite@4.4.12)(vue@3.3.4):
    +    resolution: {integrity: sha512-ZTZjzo7bmxTRTkb8GSTwkPOYDIP7pwuyV+RV53c9PYUouwcbkIZIvWvNWlX2b1dYZqtOv7D6iUAnJLVNGcLrSw==}
    +    engines: {node: ^14.18.0 || >=16.0.0}
    +    peerDependencies:
    +      vite: ^4.0.0
    +      vue: ^3.2.25
    +    dependencies:
    +      vite: 4.4.12(@types/node@18.17.5)
    +      vue: 3.3.4
    +    dev: true
    +
       /@vitejs/plugin-vue@4.2.1(vite@4.5.0)(vue@3.3.4):
         resolution: {integrity: sha512-ZTZjzo7bmxTRTkb8GSTwkPOYDIP7pwuyV+RV53c9PYUouwcbkIZIvWvNWlX2b1dYZqtOv7D6iUAnJLVNGcLrSw==}
         engines: {node: ^14.18.0 || >=16.0.0}
    @@ -15790,6 +15895,45 @@ packages:
         engines: {node: '>= 10.0.0'}
         dev: true
     
    +  /unocss@0.58.0(postcss@8.4.33)(rollup@2.79.1)(vite@4.4.12):
    +    resolution: {integrity: sha512-MSPRHxBqWN+1AHGV+J5uUy4//e6ZBK6O+ISzD0qrXcCD/GNtxk1+lYjOK2ltkUiKX539+/KF91vNxzhhwEf+xA==}
    +    engines: {node: '>=14'}
    +    peerDependencies:
    +      '@unocss/webpack': 0.58.0
    +      vite: ^2.9.0 || ^3.0.0-0 || ^4.0.0 || ^5.0.0-0
    +    peerDependenciesMeta:
    +      '@unocss/webpack':
    +        optional: true
    +      vite:
    +        optional: true
    +    dependencies:
    +      '@unocss/astro': 0.58.0(rollup@2.79.1)(vite@4.4.12)
    +      '@unocss/cli': 0.58.0(rollup@2.79.1)
    +      '@unocss/core': 0.58.0
    +      '@unocss/extractor-arbitrary-variants': 0.58.0
    +      '@unocss/postcss': 0.58.0(postcss@8.4.33)
    +      '@unocss/preset-attributify': 0.58.0
    +      '@unocss/preset-icons': 0.58.0
    +      '@unocss/preset-mini': 0.58.0
    +      '@unocss/preset-tagify': 0.58.0
    +      '@unocss/preset-typography': 0.58.0
    +      '@unocss/preset-uno': 0.58.0
    +      '@unocss/preset-web-fonts': 0.58.0
    +      '@unocss/preset-wind': 0.58.0
    +      '@unocss/reset': 0.58.0
    +      '@unocss/transformer-attributify-jsx': 0.58.0
    +      '@unocss/transformer-attributify-jsx-babel': 0.58.0
    +      '@unocss/transformer-compile-class': 0.58.0
    +      '@unocss/transformer-directives': 0.58.0
    +      '@unocss/transformer-variant-group': 0.58.0
    +      '@unocss/vite': 0.58.0(rollup@2.79.1)(vite@4.4.12)
    +      vite: 4.4.12(@types/node@18.17.5)
    +    transitivePeerDependencies:
    +      - postcss
    +      - rollup
    +      - supports-color
    +    dev: true
    +
       /unocss@0.58.0(postcss@8.4.33)(rollup@2.79.1)(vite@4.5.0):
         resolution: {integrity: sha512-MSPRHxBqWN+1AHGV+J5uUy4//e6ZBK6O+ISzD0qrXcCD/GNtxk1+lYjOK2ltkUiKX539+/KF91vNxzhhwEf+xA==}
         engines: {node: '>=14'}
    @@ -16019,6 +16163,24 @@ packages:
           - supports-color
         dev: true
     
    +  /vite-plugin-pwa@0.17.0(vite@4.4.12)(workbox-build@7.0.0)(workbox-window@7.0.0):
    +    resolution: {integrity: sha512-cOyEG8EEc7JHmyMapTnjK2j0g2BIC3ErlmOHyGzVu8hqjyF9Jt6yWMmVNFtpA6v/NNyzP28ARf3vwzIAzR1kaw==}
    +    engines: {node: '>=16.0.0'}
    +    peerDependencies:
    +      vite: ^3.1.0 || ^4.0.0 || ^5.0.0
    +      workbox-build: ^7.0.0
    +      workbox-window: ^7.0.0
    +    dependencies:
    +      debug: 4.3.4(supports-color@8.1.1)
    +      fast-glob: 3.3.2
    +      pretty-bytes: 6.1.1
    +      vite: 4.4.12(@types/node@18.17.5)
    +      workbox-build: 7.0.0
    +      workbox-window: 7.0.0
    +    transitivePeerDependencies:
    +      - supports-color
    +    dev: true
    +
       /vite-plugin-pwa@0.17.0(vite@4.5.0)(workbox-build@7.0.0)(workbox-window@7.0.0):
         resolution: {integrity: sha512-cOyEG8EEc7JHmyMapTnjK2j0g2BIC3ErlmOHyGzVu8hqjyF9Jt6yWMmVNFtpA6v/NNyzP28ARf3vwzIAzR1kaw==}
         engines: {node: '>=16.0.0'}
    @@ -16868,7 +17030,6 @@ packages:
     
       /workbox-google-analytics@7.0.0:
         resolution: {integrity: sha512-MEYM1JTn/qiC3DbpvP2BVhyIH+dV/5BjHk756u9VbwuAhu0QHyKscTnisQuz21lfRpOwiS9z4XdqeVAKol0bzg==}
    -    deprecated: It is not compatible with newer versions of GA starting with v4, as long as you are using GAv3 it should be ok, but the package is not longer being maintained
         dependencies:
           workbox-background-sync: 7.0.0
           workbox-core: 7.0.0
    
    From 7e837dfee26808c08b72b85018f881301050356b Mon Sep 17 00:00:00 2001
    From: Ashish Jain 
    Date: Mon, 29 Apr 2024 15:58:54 +0200
    Subject: [PATCH 354/789] #5237 add support for diagram title
    
    ---
     .../src/diagrams/state/stateRenderer-v3-unified.ts    | 11 +++++++++--
     1 file changed, 9 insertions(+), 2 deletions(-)
    
    diff --git a/packages/mermaid/src/diagrams/state/stateRenderer-v3-unified.ts b/packages/mermaid/src/diagrams/state/stateRenderer-v3-unified.ts
    index a426a32a54..f8fd190198 100644
    --- a/packages/mermaid/src/diagrams/state/stateRenderer-v3-unified.ts
    +++ b/packages/mermaid/src/diagrams/state/stateRenderer-v3-unified.ts
    @@ -18,6 +18,7 @@ import {
       DIVIDER_TYPE,
       CSS_DIAGRAM,
     } from './stateCommon.js';
    +import utils from '../../utils.js';
     
     // Configuration
     const conf: Record = {};
    @@ -86,8 +87,8 @@ export const draw = async function (text: string, id: string, _version: string,
       // performRender(data4Rendering);
     
       data4Layout.type = diag.type;
    -  // data4Layout.layoutAlgorithm = 'dagre-wrapper';
    -  data4Layout.layoutAlgorithm = 'elk';
    +  data4Layout.layoutAlgorithm = 'dagre-wrapper';
    +  //data4Layout.layoutAlgorithm = 'elk';
       data4Layout.skin = 'roughjs';
       data4Layout.direction = DIR;
       data4Layout.nodeSpacing = conf.nodeSpacing || 50;
    @@ -97,6 +98,12 @@ export const draw = async function (text: string, id: string, _version: string,
       console.log('REF1:', data4Layout);
       await render(data4Layout, svg, element);
       const padding = 8;
    +  utils.insertTitle(
    +    element,
    +    'statediagramTitleText',
    +    conf.titleTopMargin,
    +    diag.db.getDiagramTitle()
    +  );
       setupViewPortForSVG(svg, padding, CSS_DIAGRAM, conf.useMaxWidth);
     };
     
    
    From 1ac9244e68973b39f269a4c7b237b33c49395992 Mon Sep 17 00:00:00 2001
    From: NicolasNewman 
    Date: Mon, 29 Apr 2024 09:46:50 -0500
    Subject: [PATCH 355/789] style(mathml): linting
    
    ---
     packages/mermaid/src/diagrams/common/common.ts | 7 +++++--
     packages/mermaid/src/docs/config/math.md       | 2 +-
     2 files changed, 6 insertions(+), 3 deletions(-)
    
    diff --git a/packages/mermaid/src/diagrams/common/common.ts b/packages/mermaid/src/diagrams/common/common.ts
    index c6537e3904..66cc5ff6f0 100644
    --- a/packages/mermaid/src/diagrams/common/common.ts
    +++ b/packages/mermaid/src/diagrams/common/common.ts
    @@ -342,7 +342,10 @@ export const renderKatex = async (text: string, config: MermaidConfig): Promise<
       }
     
       const { default: katex } = await import('katex');
    -  const outputMode = (config.forceLegacyMathML) || (!isMathMLSupported() && config.legacyMathML) ? 'htmlAndMathml' : 'mathml';
    +  const outputMode =
    +    config.forceLegacyMathML || (!isMathMLSupported() && config.legacyMathML)
    +      ? 'htmlAndMathml'
    +      : 'mathml';
       return text
         .split(lineBreakRegex)
         .map((line) =>
    @@ -356,7 +359,7 @@ export const renderKatex = async (text: string, config: MermaidConfig): Promise<
             .renderToString(c, {
               throwOnError: true,
               displayMode: true,
    -          output: outputMode
    +          output: outputMode,
             })
             .replace(/\n/g, ' ')
             .replace(//g, '')
    diff --git a/packages/mermaid/src/docs/config/math.md b/packages/mermaid/src/docs/config/math.md
    index 6b203c52d9..a53dceaf2a 100644
    --- a/packages/mermaid/src/docs/config/math.md
    +++ b/packages/mermaid/src/docs/config/math.md
    @@ -63,7 +63,7 @@ Example with legacy mode enabled (the latest version of KaTeX's stylesheet can b
     
     ## Handling Rendering Differences
     
    -Due to differences between default fonts across operating systems and browser's MathML implementations, inconsistent results can be seen across platforms. If having consistent results are important, or the most optimal rendered results are desired, `forceLegacyMathML` can be enabled in the config. 
    +Due to differences between default fonts across operating systems and browser's MathML implementations, inconsistent results can be seen across platforms. If having consistent results are important, or the most optimal rendered results are desired, `forceLegacyMathML` can be enabled in the config.
     
     This option will always use KaTeX's stylesheet instead of only when MathML is not supported (as with `legacyMathML`). Note that only `forceLegacyMathML` needs to be set.
     
    
    From c4ccfec3166be0cd6fba1ddd09beee818aa2356a Mon Sep 17 00:00:00 2001
    From: NicolasNewman 
    Date: Mon, 29 Apr 2024 14:49:56 +0000
    Subject: [PATCH 356/789] Update docs
    
    ---
     docs/config/img/mathMLDifferences.png | Bin 0 -> 15108 bytes
     docs/config/math.md                   |  10 ++++++++++
     2 files changed, 10 insertions(+)
     create mode 100644 docs/config/img/mathMLDifferences.png
    
    diff --git a/docs/config/img/mathMLDifferences.png b/docs/config/img/mathMLDifferences.png
    new file mode 100644
    index 0000000000000000000000000000000000000000..6b7a86400f44b00fd16acad5e3a66a1a9ff26d52
    GIT binary patch
    literal 15108
    zcmd6OWl&tvv*+M0!5xCT2DjiE+}$C#y9IX%!3hxDU4py2yK8{J;12KRz4~wMhuy0E
    zxKuGSS5Dt^`*i=>PDd&!NTDDSAc8<36d7r86%Ys_2KZe74-0&T)Z!NcUkHxU+Abgv
    z66U{u2v9~A9tgzOBqJ`O=9%^Pr)Awk_*%Tj5ZdVHe+``mCpt`
    z2LpBhbF!R?y|zP#wT`_xLh08gYskY4M8t>)>Y`HC;N)G%yr5yOsf+kaB8yOCe2ea9
    z7k!tBtZUnQ-lKFE;Zr}C7&h1-GWehpNDfn^&*;!1pOB@EfiHA#5yW8N{4|mZ9&i+5
    zkkAVpk=+Dg!HS?m|H3U`1&-i5$U=c5kz*J-WZ+1Y<^SuU5d>@jZ@y{i>EHH#(+fZK
    ztH$M%bd~L$_*-XmHvK8{AuW4C7x$a%Uxq|S!9*o$b@wAlWie!HqJky
    z;l%M~2cgi@F-35yIU+J47jj=%M?_yZDxoe`&~zXctTIKF-Xl^BKJ)vt*Zt1HK`1tZ
    z#_qetR8O8nwCf<#_ydM%D^K_7M%erJjSd^!b)Wme61M!y!%PPPU7{eRZz&5HoP(R2
    zn`DoN2Zz1d(<(VkMID2TNye2;s@hE
    zoYyOC20%M-ndk9`jCZGo9}ZA%K5&-%K*-0mxEw)(a9HBl>nNcCc`bqYsi*fzag#R&
    zhQ&2dKia~3MfQZxNT^EC6B)#lnGuzhMFb54(=#)p?7;gl;?V*@vt!e{(Ra=EJ717-
    zeB!na<=}afEmpw5?^az)SC@iWXcJ!ZGkV#-m5h-qRw$!6KkJUR&%YeG3;=^KF_X#s
    z5tvnVb=->c`CFGc;XuCcees~c%?=+;IaJlGw%_$GJgxD|5g}cqx$?|Q`0-sVhle=F
    zD;+-dyM#VvVH
    zfb}jz8FH$rub;y=Fz`i{`hMQq9!<0Un7W_ux16dTl41vWsp7L?`gAK}q?FL3dw!T2
    zM_$;E?DrfI>T(|-7$|&2nj1c(T4T0paDzO;YuG^m?i-N0Z4*zHw(_w65kl)u*QZFO={QIq0*O3|}1e
    zh6GaP`LUo_<6~@<2Lxy+o^*)J(9kqmL=6g1>&Bh#o~bEC8!ay<_C?8e6ha$P
    zFV|V!wq8`vy9=L>X@_V7^Ky4jpL=U6H0hBGb~DdS=z)
    z^m$MA|5-y*o9$$`_ypSSkKFT4z1M1m*vguO0Il=iU@B}dmn5B*a59o^`MZMNv2ePp
    z10I*=05%gT^{M6fGYMLxt8Z%c
    z(_ZDDxs@inHDtqt7dC#uE*cwQYnrzAf`0HpI_PSBgHfJ6uu>>V^T>-(!g$|~bVO80
    z`jh00I58;D?_nn#cEsnp=!+uuY#Z!I*RP#Fe?~wxr%ToNxco|n7L({Tn$ueCMTs%)KP{eK?nzKf}xeMBW1{%#)k`rgY(Yh1O()n4#qDW-aiuP=!9*&NV&U0^qd!{t$jiF5b
    zCtzWnjwXp+Pi&WM=;M9{O|xX~PUyc&unfr}tK;bRr{?pCeR|Rj9#zfJx_ifSLdvA@
    zHsiT_)z`9oTx{z#f{{X}A&xRSqE8t;?hC$N=HkGr4k*4eF&;=bHw>Mz7kb!&!Ni|~
    z1@E8H$B?`Wp;`!XHPLb&`fvILPc`=s4vJ3ViHeFj314)IjIpb$Ol9?)&K3RAZLWGS
    z8N)G+RxPHaq&Aw)6@g_6#?I-l!0*aCSUyObX(^TTT%4%}|LGmU+grkRSAYT^vZT|}
    zGH{m2-^Px$yTNn46FYR_#?SJtKB-+G?u}gXtX~m?bSkJjXqEj4@Ru~(R(lb$B6e3O
    zXBEEO-))XSyp|juZ{+d5u9d+rvN?Q)@b_Lq%!$DZo>JK2XyW1A1=t5`xVuuSN@F%=
    z1`5m;^w|ZN%WCCSByM2Od^nYZ_8tg=?z+KXHtaO9O+3j;qQPYKtT9fV+kB=+6c##(
    z0Q2@WFzYyeQj7W
    z8gEJ$cl?3Qq^~&-oaU&+0{x&G4m!G9l}!K+w3_YpR}Q~qo)ik0a=4#q;b39)1Gkvj
    zDkF!5hr{t_W?0v}j7723JnHMPUruv+e{n6Ix|rmNGyP%^$CV~8N#TQiYVI(!ZZWth
    za*E?Gwoq4SUC|#e>;_6_I<~hIj1}Q6_YyZL@Nya&7Bjen
    z_wW=9$E4VJKG~TdXmJLsW9DjOGLXG{6r{vSm|1=7+;oDOc?0nccFy2$#Wj*%->
    zrg-ws$?X?qKg0{lz2VO2-%tu8)6~Tl;Dld4?-}5o8Z~8X>{pOFv*RAv&w2dY?846P
    z2v#(ag4;_g&WNWE4-nuz9f)=(_j`rqf00cN(d0cNRp)DCs_Qeej177u1+)J3p^F+F
    z`!qOQX-m9=0VcWgU4XFQ=Gp}dOVr@6!%Qw}grRqN*O+9jv0|`vc|gA7SSeWOYH^0E
    z-m|{kw^gfoi}`KngZInLvScTE#3OO0+^C~&{;Wfa%!l;%LqDLB=$W^-`3&U;JXHU_
    zl%AnqG|xf@+5YvLd07{VNuqV1%TZu}UMj%!Zv9l9Vq0X4Q4i_$sDGAu7G2v`t$q>`
    zT`abZ`GU_)yogg)eQO|?u`_cn_rO3!c&x)OHxp*F%H;=v8OFc6U^uzkw?jOw=KrCK
    zs-drjo8L;@@8Q{hJ;M=n-?Z7idh5(+@CoZ+U?lBAh)5XajX;wN1=pbIKqf%s3GaAA
    zr@2uLrhQ;=)U=izpDXmy)VP<}(Si@QcAVc-d0mk2QzwW0(WoyuS4Q*f5LT(
    zadBK-GNE4L>o=lr`fw?^)kzldqeX7~T6HRVZ7EQ>JG97yc&kk_Q{hk|B}r*%fd^xn
    zY6M4b_xaPWx2jgc-Vk}dtAS(7Vc2l|M(6w@H9e#c<v75=_0*#Q_X!BrN0=`MX`(
    z8qP4d)dJ$G^$Ly+C7We5Nd(_b9v_U)KFiD4h9Qh~c6W1i4>;tZZ~1@3fz^V-?ZP>a
    zJ<_{^cEVAoe?IdNP{iiuO0`_qgSdwQbRGD|H-Dx3+e7l??v*fl!(8$ly1q
    z@VLpzL7ZT#+$`aMUsqI(_xDD!`#GMc$DF>~ziK4hUn(1|u-lPc3`t?vAJ8*5UBn*J
    z5)D2C
    zYD#UpvG}Y%SW#@cq4cdU4QZxpCZYbFUR)(WJ2C3YFov7*=?a>;W7!Sgd(WGz?6czC
    z$84}JYN5`c;YUb7*2JS|^WBC&&$u5#$}X$au4;$g2FYEIu0h?}on#c|h^aPfVs}jq
    z?lrF;!V|8Fc|giZc(gQ(&-3*rC;3sV0dX+O50|fB9o^h21yrJqm($pYrW#dVgh!*3
    zE=|vv9(=37vs%vN_@PrRpKbFydWO40elhrI23)(~9Xv@?=RU9yttSQ&5*!TwYU|1a
    zo9&$O%17+ilGi%{LrlS}IVIh@=Dd3{>WQcr`rFHy=4EXyF5`@$8M{X3Z2Z?LDiuq;AD
    zL&L~9Y)IWouHJhy@N!5ycgRWt=C|V+x@@K3_L^orOn)BdusZJZP4q!RY05H!{Hmr4MFsQdsj>=I52!2+p*eqW-+5^13W~!ILds}#K28vo~
    z5axx5n2+AYQ)5G>UK#9y~wc>!B-s-!@{f4f)`FPSwsfxkGFX
    zP4g^x?}-jf!h?bfWkFu^b9Z30C9bzY1oh$XoJ3la018xbXT`A>XnQrx#1qZuQ00L=7#m;Y3d8S4>IMlSLa(l`Ax^iS(FARm+`?2^mi%6^|wptwgMmHsO8-5+ToO
    zBS;Grm7DyDjJv+H$c;n~BbZ)G+y0*krC_^C3)oQXz0pG7Wu8Zq1YPy=4*BS@00XWj
    zcyTC7e%&y@f$Ck=c_v4SQHz@Vb
    zyz`W=4bU^liZL%|=`H<>4(+l1n$FOhVZc|oWYL~Q7|=I5inFo4x@3^cx58pDwSPe}
    zw7POvm2qHZEvLD1!KM
    zr96LWdHIm$=0nCZFHP(AMF_Kgi(-e;ebf|<=LZZvVqtD9NN*2{zs;@
    z5<~CJfvn$zEo-1E;z9WX%jrJiZ&^z8=mAgvRW$E0YiZP1XY8w@xQD3*+z=O>3CItt
    zLl9I0&521~#j`gDQ~_jcRA_c>9f3WSCr0@$mFjV|w9=M@lDEch7sRG$QF5_NvHru+
    zX|B&|impb2x0dQlbB(^$qXH2Z8lGm4z|g16))vexUG=}@69zh=KS|^Juia4;wZW`|Mi)j7wrmlw{iUkK
    z+eey>uO+SGb=zH@wUNkcOT^+%jUM})s9KjYzAuf)#8O?cwY#m_dUG|{u*O&d0t8_}
    z)bhbeG>YA8YsCg*pXw0@i%|L;EvHm$e=l|)@}5RiG`cueJmT5v^QzT{tB3)qaPK4!
    z;VHlbQj04m`act4U|_I1ZhwZ7%a80^zCeH1U~5v)iV(gcsM6ifP;z#M5Eb%|c|X&F
    zyU=)IF|R^Y!3){U;`f;RN1?Z~!zb~3mWp{h&AHIe1%zOSP+iT&N
    zgs)xme}ouS!w&qyYpY-4zJ@13L&dp;&S1k1IW4>aX>WCJ+XzK-^Q*3Mig53BSO}=q
    zrmtH3b6zBtwh|#y{GaL@LMn%0qT}{KAViMNek)CyPt6S>jeRcgTbmEQR!f{-EiFJ`
    z;!0Uesfo``#fxumZ(n0=UEsxEh3_jg(!C}81)b}i%bjQF-KhEodGl`Cbx27!rivBM
    zbm49I;7T?g<+8Lw{>{T}UnzbK-N@*8yW-DO|9;Ec#}_H$-fp{q9g%fPtA-4-R|QYZ
    zu)br&U@M;CI>M5#*OM0?|D2$u9a=!u(+tqk(uD@QqO{+)$0P|)h@(9hv0m(aQ%J$_
    z)VqO)Q735fb?5cEf>u$Tf&|S@W>>QNn}|aC!Y#bNz!>BGTS^xS{^wHCzOb>07&%Wh
    z6=W}a8s8Rk=&TAXF{;CX`vf%9iHwyzi6rkj_f=42OjhVdn>z%^e*O2iHjfJp0%2ZW
    zd?>gR2gd|fyKI?IW!FOXFFuQE`Q?0#6&PY4>~Gpl+Tav
    zc|N<(y93cy_j>$1JSPFdD1x}97weYl#;b>{r!ESOT-U{o=^TD{Sc91O-{a1D^U{%O
    zDswqn*Plt`?)Xd&pYT23Msj$vv&?M~z7Y7dg_-MX;(Iw^U`%d=#Rj8EcIBO*uw6dn
    z&{`s&ZwgNT;KS4Tv);n7>A8mj`uzSD)xlG&n6rrgu4ZD=c*KJIe|vgZGM<y$$1-Czzu`+#Rd4z(C
    zJLp}NM6O2n*h5$jJYK410Sz$Q>r-a)#fk{swi(B>GEQapf&%M@z&^&BX@!*e*O~b<
    zb?H=BQ#pP5_5R?yGN{bU*dO6&q+Ds(`m3}GLeX6$f}*vjpIw`)Yx?@Iv%4eLotM|V
    zjI7oyO)LHF{%my#1MotHxmBz{)$I^r=ocwI4>eWL%M)-$c0N+QtK0>c6cYp>Oyql`
    z$!K{rmM*uvN;&>w^f|XyqJ%9xK(pfNWJ{{Txl@1*CIDMVGEo=Qt~>J*Dg;K{yWAW4
    z{c@B;u+!|~taMX=H#xcMof5-JIkmo4+pZS2r6?qRT7?NV_EZD~w%-WE{cH`_Fo2rw
    zX+^ai#H0>y-zQfn+V5FxqG&}q%flE%B+0L7fF?5C-sg5Q>H*zkKL{eqj>S+`{@FV_
    zi&?DHg#t|$+UP_JdEd~6p%UwCnS6jfOjpHQf2H8@eS=sHi<1G&wFMoxU(hVrZr(AkA?HQS@i7}zN0l^MC>Ai
    zlhWK_)*fTQ{^9Q6*4AFAyLF!ej^CxoD$|c2$vZn8
    zauNDhBkPOQNA
    zc08hr(x7--*iO!eyqT?Lc}7jmVJm(8`jwWc+{$cYsx6+7+rE2ZVnQqL1MF`4smrrN
    zYfRVt~loVPzx}L|IPo6+|2}GGK88D||M;39~eXFHoeqLzSF5b70$WU=@<(i;=#M18-g7otq9CX__`85b#|hGG?Uul=R@McYV>tdu7j8;XT&dXbC(k%h-0PXGh+y>1A?4XcfFE
    z9-wq6+16yo<~N9(CBqxcl*xS>b9#2B7ytbO3d|IQ;t`vQs?*8*S7c(o{@;-Jfx>qr
    zlF!p*Jk6|qE74Ryt?P4qv(V6C?xHBs`G^>n;0ESu;Fl_OM7kKuG=LZdkZY@P*b<5%
    z=Enim810De9~@f8vQW2u4#5$CrM){WDEcWOYLaJUS;jWwzE7jYYX=(5A?iu|LG-El
    zwp&;AxvZZ~I5~(RG~TI8U(vPJ<`+eA7|K8D%|(h*&d%%tu*luvr2gYd38X6NZjLI8xqc%LS4YeVUh56ESY*K3^-{7tC
    ztv$}W?=3HD3h?|P{ETL#w<=<9>LN~Nfqd+^Cr~Ld8cUfN9#h>I@noQZi)~2#GXEWd
    zgd_;Jd5|aISIpVAvNRG&&w3+iwvF;H*3qcl+S6{~n#K#5oNbci{plJ&(BK*MexomP
    zae3Yxe|US|is$TozQ3@9E`?Ven%pG$$?pLPLiV*zsBuz>$}cAADN84Y3@gnLq>kfas#dI>|GLTu}b6E9IRDp1`N)t@mio?r=~WB%PEpdk_GtP^uAe=zgfE0>Nru`N84vFdig*a
    z2`J0U0=o$KtMppPiB#1;MpzP_7^Cw&p4Cr8u6SCcn31KgP8I_Cjd*1_&ymvLhl(7#AOg^Q>mI55!i@~#Yj2kw#o&jt=LmH*SG
    z4-^ICvxvxV>Ds}VnZUM(p1JMK_LDe2&lDzYNE(`A@02hy_}!IXJ#@(W$l#lPaDov~
    z^}_>kaBz&LbIS3=#m9!Gr{lZ#_ro6nLsU+)X>JWrrsC4@diZnL%pILEzU}cOdl$xd
    zYx&wT^2E)RxHNX)sQxBh_%-vw?|iY*$Ib5!S@N(KkI#!?VPWCuim;}Pu6i~u`$Q1>>&5aYU~PHzb4Ge7^H05+;|>Xe%lWyB)kebi&Gt}pxfG+x
    z3T@8^@W;i9*LiR+X7cV#m+YC1I)?7!W^l4`wa+CpI8uE_gsDF
    z0Ht*gcss${%fc7USVbHf_8A2zH?}0@e{lF5fL2ggj5K69StLs7+;6y4g?KbOJ2%sz
    z>oIUF=@=n$z=cf^+dDm2XU?$A_<`b~&`59mx0<=HWh7qWT(N22;ly%_54Vth2f-vp
    z?G6kTeW78O|M1wDn01s%v6qT0Vpupd1sxSkpviAC78W#2Y6TF;x89TnSOO?ea&}RA
    zdb%Wo2JhK3slO6JCOfYlJmK+QrUvok>yebvPge&%6{ky8p-D+e3E9(M#^Z>4Irex^
    zReSqFjq?rc?dd6?N5yzXhlDl_jt`1HiIOE6-3+rPJ5x)De+FJBOS_)c{v`k%Ya0zs
    zkp;!;>Gm{yU9XTYH7jVR=cBZ2Rf$VWOB7$K&jpEz`1@_fM
    z%INmqUzoVPZYQFXQRZ7DKv2h5O@=<8m1?>tZ*1r|os`_`r!iJ-B!
    zWMs^LWi%OtwWv)aAwFOESv+<-r|*wyaVX9%z()}6+wX8xl92rT{83WF78)-AZD+?B
    zU$(~6wQ8-C!BPMlh=wpR627|<(8(05k7fbKG#D5ko=>Y2EG!^E1|)1mAoOElESV7*
    zP+&*b3$P=_cOM>P^t##@H14wH1t+)Zg9eafG-&@_WiOR4;pIuqBuEUmyGu6qy?3=0
    z28UUv;Dgkw=Y7?Mu*0~B
    zh>0OSdj_8DrK(bg_bo2sppgnyG_$GaS+DE)?7oCvOUuaxHy6`nQJF*xm=N)KqNi5t
    zNp=aH^UcNi9bogw^=sWf9)SXrXyTwicS8fFyT6^l;G3ZEV%)*btEdEv06hT%R0I)6
    zD_VdAz$83e4(5+STsWHso4x4TFW)>peY_DneujiVdkPclIJvrti;6;?ua5vDtTwiO
    zNRH1((ETG=FCL>g6f-ao6GJ~oD+zC5)OYv=PzPK<9VGK-c)ZQ<5D^h~{vJfyEO9{4
    zVtoeW*J`0GR#uN&b191NsIbHZBbjeWs+h6eIi3H)ZvXIbXFqaJ`iqRDiZfy!jue8M
    zy>&m<$BDNGo^~Pv`uUcU0p;ImiQnW>*|!0zNs%-VwBG!i2H6qsOeBG#EvO`)v=ZLK
    zFR(js#O7OI%US>7Bk4hkh&p&LC8tUs3Z&I^=J%12lL~+9Y&r7aqANafZ_pS};^CCh
    z1g2zTK#CXW!%K9Z?*0UqYgT`}J=6BQxj+LQ&yK(VJRWQuXY};>BfQ^tFLZTvMV2V-
    zI;f1g_wKt?Wiaq#sfZlV@XOj-X*uEefoR-50FVIX9cV$qMaM%2ftE=ygI#c$yXV%V
    zj;x9D>_14t+kTRQuPbDKY4;%Qe6wb7zj#6gu`;rP{;5Z1d3l)gpQU27w^ny-0G~_%
    ztO9*bo&1UAcJ6Ia=oU8>{XRK1(f3DOf<s-k7s8a(m
    zzg)j(z@>?AlT-evHJy}{R6C!&0OV`934or9es8?lHcL2rL-AraP1TnxgRwe8e34H*
    z9nJjTRaC%BjW+NET*#o1lumhSF=?v_YT`nb(#7kzxHx*_7rfS~&!m8aI=cLgyggll
    zPFot69j`!M5hOb^!+7#Lq0Q>8T|$3eQJp#EZlQL9zr
    z0w~$Pv%}%>gaE3U#?A~Vxutj52{VSs$oHO15n4s&;I?VjKb{RA2k#@WWjAi
    zq7bJt@*q+?j?rY6^50Y-rk_*}48fz|1M4J3eT~~w-lQzbA83IR@)-pfIb9?m
    z0ylfLWq4`~Uh8!@p}0Coj7XvtfXN{|ZZMC1WD(x|0|PKSnAGs5f1!<~v65b3daY|#
    zXA2aZKf>q9s;GX)F29i0M!yw*dPG_VySf?a8?g(<%>OVOPv_9o%050mj-a~efCKbL
    z-v2M>@PRXhoHRQ0rL8GOc>yr`Qbn2;NE`k8rS5lb`#{`E4z(E0IJ4^6N4g=0e?_Foyh(w#TXms%g;}Y2W5SR
    zNms>O{X>Jj0|OG}_?W6>y7Ya=iN--IsGG>JAQYRbTM27f=RzM;035CKM|IR&R{^A0
    zl}%MXHD$vMbc|0HZv4hg(d(o)k>a(qa^r;paIK(rRUF^Hg}lo|f)WFPA?4v9s-A)(
    zbb$$wt-(=TlDNH)g9M_X+CpXJ-dbtOSuNPoH(lPGzcVwvviRmJfG{E*Tn|mLcdYBB
    z$ET)_(kK3YeGWacE(1@c1-zY%aU}22v8){^8{n%GQ({C8ma(V?8G04G3EOG%Y82CFMJf1;N)zg5<+`9vSp($ac@96md1LR;xNi=((Eh#g5(uHW@wJ|vf)
    z=bEC4E$OhU-{K1cDr;El*UkRBG^F2mWqYzx|6sAk1?qmd+*49gg8yoPV-oO+eZ;KS
    z{bOWDREXPQQ>~VvpHz{E8x`;-q^JyUw?_954iE-sZEfwyQpec(mvEB|eNg_cHU@v<
    zKoaxyt92cSB3Mrz>;VXPswqXN%E#HU_vgoo31;0E3~q;w`PIF$q$hQ#)6SPR
    zcfhUUB<(0o%qSHrv;KOu(=MqNH}!tFq&tBmeJ{ZcrL39A4;=!aP)C?{dq%#Z`w;O;NO>1^~y<}81WBC
    z0FX+yU!7m*Q`$nx^JR)rKYLe7`Ic(v6`XhF_UP$_;5GqZn0b-yFMhO
    z>OcBx-XQ~*)X!7J87=aACGon#XAZmu+#kyZg&5`{UfPHLsAe?j0Kz28^6dhvnxCp*mBB0&4Z*?`r1`)y@>&dW(-ocXrYo^4-o>lh2ivxUvcj3f&|{Y(jPD{Jx=Cr><{uRCFS8P$3Bjqa=?ku-1fe>6StUGVwf
    zt0>+Q-lMv3Sszxl$ZeV-C?(YCT%P6dYf*hF5p7TRr*GPm=lO9BtMPfL!@#whoM4rA
    zb>P-OrG2(|OCwXFwAwf??NNDF+{FR7WXWM*xvgaLa8zl4DAb#0UZ-dDKG4DV8q8#L
    z;BeskBd7SPw(0lFwfY6qv21bmSG3zlSObk)n`yUk4tm=VR^0yP-N)Z2w@B7)yN}u5
    zt~xZjngJ_S=zsZGW~ggE705ywHvZP+fe3B^&mVFa9LlLgfr
    zIKWc_oK=rX4FPqFjg%51Hz@yAr3+sA=22oIBGA14RN}>exA$}R_&D-+1!fR^%q)Z=
    zQ^xsPcy*KgK$U(Q1g-9;zom`EWB2g;&b$g#R9`z3-gH0`Q#J!->U`!(ow%)xhmf}y
    zZ4w(i*+R6U=DF0rFANVjNkJP*bqXA)9KXa5%MWw&`EpmhQ8z(~OKlf$Jb}h{1&!65L
    zuXFwjpub=)StnZ^4Jy#^{x2Lzny-cI<{*_#fD&(J%NDm+!upw^f%w#BLnEg>+dS;y
    zX?N-OZ=It)G+la@*dMZmIynL6K%N5y6w)E|BBlMIRQJ=X^{GZdVa^cXknM&R$A-6V
    zXWFf~j&`f259sB-`87X0KJ97}r)ZSR0qs7kgRi
    z&#O<(^vxmJR|$T=#-@7URlXR24G;U5A#iBFYz5aHuNESKLf0l+$)*Enn|v=}0BhVh
    z+RXuQscUfHUnsPqg0E4j1LL5m=;`VG=Vrr1+VjE<2(uf#vja_%r>bjfdmH^~PM|z}
    zyfoHA12fAR*g3GTp`(sY%WfYH0Fy(Wm_Hq)sZbm<7|}bM5l?GoVbS}~OVIBJ0>^3RgswK-w;7;msjd41GY?t1{YXz_@um1+xSS4$-ip}
    zuFgGjAAfniJu*LZrE{=7HZC>1J(l?}8TvnBS5)f$3rEV4eb9tG&87{<}6a)WIzph8Dgo
    z0SQ2taRlu2yVu?6oRniK638&15j!3ck<2~u^BH+hQEVm%G!#dydYMq1rJ&6WL?eKq
    zuJP}KP5$B>mv<6ROG!oZ^>(yb@Q`qQv<0O$8k!|EB-bYOh>f2e13){gYD043Te+c*
    z*Q>E=BU8Ir2!l=ZHtCS3!fZwJsqKaL7%`>5E~T#3M!RsQy?0Z-rUIb3s!YyWmL1m9
    zODu(|(v_+Z$ZzCS8BoLwoMu)PnaP<01RSY(OO<&ID1hc8@n8$UJlk)!md=GVSAolB
    z7s8CcL0By{5$82KRP#AQ{ikmW$oT!gHEi{ov8F5u*~ufIEuEy>OUcV8XJ0k+6qnn1
    zsUMh1|H~5^s~oel8Emb$yJ3RBeUGgJ%x>mmyoVFzMJqM;rMa%DE>G(fI^RM9q%
    zLPQ^$`K1{D>MWCP9khZ1xg!ycuOdRVV?U?mA|nrPBnZ^(Y;OuU#CqeyN=|JFnVI3r
    z#uR{u1OjPwSup8QVtkw;W@C$pkHsD@cOil!y+FJsYxe~xRT$Q5@Kif^4Tk*dX`_zh
    znsO3QHOvWXveOA>3v;(ygDAl(bGrB&2Y7uwcw#^h8{#^a!q^iwkqQ2z`i=oCM{tBp
    z5>PG3wc22KzCWMtgaRCUR`~{xEdywnhrY!@ocQd{Zeocztxi`uy#LO<9CluF1&N8(
    z0=Y#{!&9x&9Z89;xmM0q48p$_I{EL0rlxH4jL3lU98UTW;&QMz+NJoq`DX@ibm2m2`Q>Wp_3TC=QEBP;Q!PO>?sp
    z>HTIe>r7+_G;~)9Yq_D4677E95wFMQ+VI3g`TXM=Ko&?7nrH5GaC&3
    z>^%jVGH)ZbW-dZfLL^cLmVr@ns`srEl0#4^8j1sp;u)~yTjwu0_ElBD##Z7pVstKY
    zWMIPo;&>o6VtluDZDeUl(+?yD|K$h(wu?+Mq*fodGo!F1SsNgf(@&-S6OdlBnM2+x
    zIn7Ww$xiHQfr2DJ01|fk*mAqzfT$FqPc+aTw_XI|8&6_FARtMmYFcTILic~7eSzR!
    zoLs8n#R?lp&4xPqtIr{c87d7ET%%Z*z{o{vdn4!<32A2;he$zF^Kw<|a
    zj+mc11O*MXXL6%0WW>q%`%7afz?i;)7-V@byRsm
    zZ?sbId{P@wXTD%>s@tJ+yP=D>l#-7Dmnz^l27Q1QNrMM1-yK^G;+X=$>%SNlga^XG
    z+GgpGUhB${={MOC05t(l6>uGJ1L41t10gFYjZv=b1NDdK&=9vM|7V&aOWTfiHkk&gAZN94*YZ=>r*b
    z0N$j4NW8Zl{ulATF3wLpK=kx^e?KH!P@m0Vlc*r4E0D4D@I_o5Pz4+YVVzJQ!5TZs
    zpZzhH7Z64QBA_A)k1s@If{Re4Kh>Xo;l4ymS}Gqk{D(tY`xxQ&e_B9uN&crJ^c@Xd
    XLkqWVSLh6AYX!+jD2P{y8U_6qGL%eZ
    
    literal 0
    HcmV?d00001
    
    diff --git a/docs/config/math.md b/docs/config/math.md
    index 1541585087..b2063e3af2 100644
    --- a/docs/config/math.md
    +++ b/docs/config/math.md
    @@ -84,3 +84,13 @@ Example with legacy mode enabled (the latest version of KaTeX's stylesheet can b
       
     
     ```
    +
    +## Handling Rendering Differences
    +
    +Due to differences between default fonts across operating systems and browser's MathML implementations, inconsistent results can be seen across platforms. If having consistent results are important, or the most optimal rendered results are desired, `forceLegacyMathML` can be enabled in the config.
    +
    +This option will always use KaTeX's stylesheet instead of only when MathML is not supported (as with `legacyMathML`). Note that only `forceLegacyMathML` needs to be set.
    +
    +If including KaTeX's stylesheet is not a concern, enabling this option is recommended to avoid scenarios where no MathML implementation within a browser provides the desired output (as seen below).
    +
    +![Image showing differences between Browsers](img/mathMLDifferences.png)
    
    From 08e4489ede55ff518a7228b11bee9495500bc168 Mon Sep 17 00:00:00 2001
    From: Knut Sveidqvist 
    Date: Tue, 30 Apr 2024 10:06:52 +0200
    Subject: [PATCH 357/789] #5237 Support for composit states
    
    ---
     .../state/stateRenderer-v3-unified.ts         |  4 +-
     .../rendering-elements/clusters.js            | 60 ++++++++++++++-----
     .../rendering-elements/shapes/rect.ts         | 57 +-----------------
     .../shapes/roundedRectPath.ts                 | 53 ++++++++++++++++
     4 files changed, 100 insertions(+), 74 deletions(-)
     create mode 100644 packages/mermaid/src/rendering-util/rendering-elements/shapes/roundedRectPath.ts
    
    diff --git a/packages/mermaid/src/diagrams/state/stateRenderer-v3-unified.ts b/packages/mermaid/src/diagrams/state/stateRenderer-v3-unified.ts
    index a426a32a54..72a7255009 100644
    --- a/packages/mermaid/src/diagrams/state/stateRenderer-v3-unified.ts
    +++ b/packages/mermaid/src/diagrams/state/stateRenderer-v3-unified.ts
    @@ -86,8 +86,8 @@ export const draw = async function (text: string, id: string, _version: string,
       // performRender(data4Rendering);
     
       data4Layout.type = diag.type;
    -  // data4Layout.layoutAlgorithm = 'dagre-wrapper';
    -  data4Layout.layoutAlgorithm = 'elk';
    +  data4Layout.layoutAlgorithm = 'dagre-wrapper';
    +  // data4Layout.layoutAlgorithm = 'elk';
       data4Layout.skin = 'roughjs';
       data4Layout.direction = DIR;
       data4Layout.nodeSpacing = conf.nodeSpacing || 50;
    diff --git a/packages/mermaid/src/rendering-util/rendering-elements/clusters.js b/packages/mermaid/src/rendering-util/rendering-elements/clusters.js
    index 0b1ecd572f..68e0228286 100644
    --- a/packages/mermaid/src/rendering-util/rendering-elements/clusters.js
    +++ b/packages/mermaid/src/rendering-util/rendering-elements/clusters.js
    @@ -6,6 +6,8 @@ import { select } from 'd3';
     import { getConfig } from '$root/diagram-api/diagramAPI.js';
     import { evaluate } from '$root/diagrams/common/common.js';
     import { getSubGraphTitleMargins } from '$root/utils/subGraphTitleMargins.js';
    +import rough from 'roughjs';
    +import { createRoundedRectPathD } from './shapes/roundedRectPath.ts';
     
     const rect = (parent, node) => {
       log.info('Creating subgraph rect for ', node.id, node);
    @@ -136,11 +138,11 @@ const roundedWithTitle = (parent, node) => {
       const shapeSvg = parent.insert('g').attr('class', node.classes).attr('id', node.id);
     
       // add the rect
    -  const rect = shapeSvg.insert('rect', ':first-child');
    +  const outerRectG = shapeSvg.insert('g', ':first-child');
     
       // Create the label and insert it after the rect
       const label = shapeSvg.insert('g').attr('class', 'cluster-label');
    -  const innerRect = shapeSvg.append('rect');
    +  let innerRect = shapeSvg.append('rect');
     
       const text = label
         .node()
    @@ -159,26 +161,52 @@ const roundedWithTitle = (parent, node) => {
       const padding = 0 * node.padding;
       const halfPadding = padding / 2;
     
    -  const width = node.width <= bbox.width + node.padding ? bbox.width + node.padding : node.width;
    +  const width =
    +    (node.width <= bbox.width + node.padding ? bbox.width + node.padding : node.width) + padding;
       if (node.width <= bbox.width + node.padding) {
         node.diff = (bbox.width + node.padding * 0 - node.width) / 2;
       } else {
         node.diff = -node.padding / 2;
       }
     
    -  // center the rect around its coordinate
    -  rect
    -    .attr('class', 'outer')
    -    .attr('x', node.x - width / 2 - halfPadding)
    -    .attr('y', node.y - node.height / 2 - halfPadding)
    -    .attr('width', width + padding)
    -    .attr('height', node.height + padding);
    -  innerRect
    -    .attr('class', 'inner')
    -    .attr('x', node.x - width / 2 - halfPadding)
    -    .attr('y', node.y - node.height / 2 - halfPadding + bbox.height - 1)
    -    .attr('width', width + padding)
    -    .attr('height', node.height + padding - bbox.height - 3);
    +  const x = node.x - width / 2 - halfPadding;
    +  const y = node.y - node.height / 2 - halfPadding;
    +  const innerY = node.y - node.height / 2 - halfPadding + bbox.height - 1;
    +  const height = node.height + padding;
    +  const innerHeight = node.height + padding - bbox.height - 3;
    +
    +  // add the rect
    +  let rect;
    +  if (node.useRough) {
    +    const rc = rough.svg(shapeSvg);
    +    const roughOuterNode =
    +      node.rx || node.ry
    +        ? rc.path(createRoundedRectPathD(x, y, width, height, 10), {
    +            roughness: 0.7,
    +          })
    +        : rc.rectangle(x, y, width, height);
    +
    +    rect = shapeSvg.insert(() => roughOuterNode);
    +    const roughInnerNode = rc.rectangle(x, innerY, width, innerHeight);
    +
    +    rect = shapeSvg.insert(() => roughOuterNode);
    +    innerRect = shapeSvg.insert(() => roughInnerNode);
    +  } else {
    +    rect = outerRectG.insert('rect', ':first-child');
    +    // center the rect around its coordinate
    +    rect
    +      .attr('class', 'outer')
    +      .attr('x', x)
    +      .attr('y', y)
    +      .attr('width', width)
    +      .attr('height', node.height + padding);
    +    innerRect
    +      .attr('class', 'inner')
    +      .attr('x', x)
    +      .attr('y', innerY)
    +      .attr('width', width)
    +      .attr('height', innerHeight);
    +  }
     
       const { subGraphTitleTopMargin } = getSubGraphTitleMargins(siteConfig);
       // Center the label
    diff --git a/packages/mermaid/src/rendering-util/rendering-elements/shapes/rect.ts b/packages/mermaid/src/rendering-util/rendering-elements/shapes/rect.ts
    index 95f474e46f..412c1eb5b8 100644
    --- a/packages/mermaid/src/rendering-util/rendering-elements/shapes/rect.ts
    +++ b/packages/mermaid/src/rendering-util/rendering-elements/shapes/rect.ts
    @@ -2,8 +2,8 @@ import { log } from '$root/logger.js';
     import { labelHelper, updateNodeBounds } from './util.js';
     import intersect from '../intersect/index.js';
     import type { Node } from '$root/rendering-util/types.d.ts';
    +import { createRoundedRectPathD } from './roundedRectPath.js';
     import rough from 'roughjs';
    -import { select } from 'd3';
     
     /**
      *
    @@ -56,61 +56,6 @@ function applyNodePropertyBorders(
       rect.attr('stroke-dasharray', strokeDashArray.join(' '));
     }
     
    -function createRoundedRectPathD(
    -  x: number,
    -  y: number,
    -  totalWidth: number,
    -  totalHeight: number,
    -  radius: number
    -) {
    -  return [
    -    'M',
    -    x + radius,
    -    y, // Move to the first point
    -    'H',
    -    x + totalWidth - radius, // Draw horizontal line to the beginning of the right corner
    -    'A',
    -    radius,
    -    radius,
    -    0,
    -    0,
    -    1,
    -    x + totalWidth,
    -    y + radius, // Draw arc to the right top corner
    -    'V',
    -    y + totalHeight - radius, // Draw vertical line down to the beginning of the right bottom corner
    -    'A',
    -    radius,
    -    radius,
    -    0,
    -    0,
    -    1,
    -    x + totalWidth - radius,
    -    y + totalHeight, // Draw arc to the right bottom corner
    -    'H',
    -    x + radius, // Draw horizontal line to the beginning of the left bottom corner
    -    'A',
    -    radius,
    -    radius,
    -    0,
    -    0,
    -    1,
    -    x,
    -    y + totalHeight - radius, // Draw arc to the left bottom corner
    -    'V',
    -    y + radius, // Draw vertical line up to the beginning of the left top corner
    -    'A',
    -    radius,
    -    radius,
    -    0,
    -    0,
    -    1,
    -    x + radius,
    -    y, // Draw arc to the left top corner
    -    'Z', // Close the path
    -  ].join(' ');
    -}
    -
     export const rect = async (parent: SVGAElement, node: Node) => {
       const { shapeSvg, bbox, halfPadding } = await labelHelper(
         parent,
    diff --git a/packages/mermaid/src/rendering-util/rendering-elements/shapes/roundedRectPath.ts b/packages/mermaid/src/rendering-util/rendering-elements/shapes/roundedRectPath.ts
    new file mode 100644
    index 0000000000..031b935fdf
    --- /dev/null
    +++ b/packages/mermaid/src/rendering-util/rendering-elements/shapes/roundedRectPath.ts
    @@ -0,0 +1,53 @@
    +export const createRoundedRectPathD = (
    +  x: number,
    +  y: number,
    +  totalWidth: number,
    +  totalHeight: number,
    +  radius: number
    +) =>
    +  [
    +    'M',
    +    x + radius,
    +    y, // Move to the first point
    +    'H',
    +    x + totalWidth - radius, // Draw horizontal line to the beginning of the right corner
    +    'A',
    +    radius,
    +    radius,
    +    0,
    +    0,
    +    1,
    +    x + totalWidth,
    +    y + radius, // Draw arc to the right top corner
    +    'V',
    +    y + totalHeight - radius, // Draw vertical line down to the beginning of the right bottom corner
    +    'A',
    +    radius,
    +    radius,
    +    0,
    +    0,
    +    1,
    +    x + totalWidth - radius,
    +    y + totalHeight, // Draw arc to the right bottom corner
    +    'H',
    +    x + radius, // Draw horizontal line to the beginning of the left bottom corner
    +    'A',
    +    radius,
    +    radius,
    +    0,
    +    0,
    +    1,
    +    x,
    +    y + totalHeight - radius, // Draw arc to the left bottom corner
    +    'V',
    +    y + radius, // Draw vertical line up to the beginning of the left top corner
    +    'A',
    +    radius,
    +    radius,
    +    0,
    +    0,
    +    1,
    +    x + radius,
    +    y, // Draw arc to the left top corner
    +    'Z', // Close the path
    +  ].join(' ');
    
    From d4e00de1fd6afdeabb7f12a86bf329becfa245c1 Mon Sep 17 00:00:00 2001
    From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com>
    Date: Tue, 30 Apr 2024 10:26:27 +0000
    Subject: [PATCH 358/789] chore(deps): update all patch dependencies
    
    ---
     pnpm-lock.yaml | 1458 +++++++++++++++++++++++++++++-------------------
     1 file changed, 871 insertions(+), 587 deletions(-)
    
    diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
    index 5211453b36..2d636e3caf 100644
    --- a/pnpm-lock.yaml
    +++ b/pnpm-lock.yaml
    @@ -21,7 +21,7 @@ importers:
             version: 8.7.0(eslint@8.57.0)
           '@cypress/code-coverage':
             specifier: ^3.12.30
    -        version: 3.12.37(@babel/core@7.24.4)(@babel/preset-env@7.24.4)(babel-loader@9.1.3)(cypress@13.7.3)(webpack@5.91.0)
    +        version: 3.12.38(@babel/core@7.24.5)(@babel/preset-env@7.24.5)(babel-loader@9.1.3)(cypress@13.7.3)(webpack@5.91.0)
           '@rollup/plugin-typescript':
             specifier: ^11.1.6
             version: 11.1.6(typescript@5.4.5)
    @@ -60,13 +60,13 @@ importers:
             version: 7.6.0(eslint@8.57.0)(typescript@5.4.5)
           '@vitest/coverage-v8':
             specifier: ^1.4.0
    -        version: 1.5.2(vitest@1.5.2)
    +        version: 1.5.3(vitest@1.5.3)
           '@vitest/spy':
             specifier: ^1.4.0
    -        version: 1.5.2
    +        version: 1.5.3
           '@vitest/ui':
             specifier: ^1.4.0
    -        version: 1.5.2(vitest@1.5.2)
    +        version: 1.5.3(vitest@1.5.3)
           ajv:
             specifier: ^8.12.0
             version: 8.12.0
    @@ -168,7 +168,7 @@ importers:
             version: 1.0.1
           pnpm:
             specifier: ^8.15.5
    -        version: 8.15.7
    +        version: 8.15.8
           prettier:
             specifier: ^3.2.5
             version: 3.2.5
    @@ -198,7 +198,7 @@ importers:
             version: 6.0.0(vite@5.2.10)
           vitest:
             specifier: ^1.4.0
    -        version: 1.5.2(@types/node@20.12.7)(@vitest/ui@1.5.2)(jsdom@24.0.0)
    +        version: 1.5.3(@types/node@20.12.7)(@vitest/ui@1.5.3)(jsdom@24.0.0)
     
       packages/mermaid:
         dependencies:
    @@ -225,10 +225,10 @@ importers:
             version: 7.0.10
           dayjs:
             specifier: ^1.11.10
    -        version: 1.11.10
    +        version: 1.11.11
           dompurify:
             specifier: ^3.0.11
    -        version: 3.1.1
    +        version: 3.1.2
           elkjs:
             specifier: ^0.9.2
             version: 0.9.3
    @@ -382,10 +382,10 @@ importers:
             version: 5.0.0
           vitepress:
             specifier: ^1.0.1
    -        version: 1.1.3(@algolia/client-search@4.23.3)(@types/node@20.12.7)(postcss@8.4.38)(search-insights@2.13.0)(typescript@5.4.5)
    +        version: 1.1.4(@algolia/client-search@4.23.3)(@types/node@20.12.7)(postcss@8.4.38)(search-insights@2.13.0)(typescript@5.4.5)
           vitepress-plugin-search:
             specifier: 1.0.4-alpha.22
    -        version: 1.0.4-alpha.22(flexsearch@0.7.43)(vitepress@1.1.3)(vue@3.4.25)
    +        version: 1.0.4-alpha.22(flexsearch@0.7.43)(vitepress@1.1.4)(vue@3.4.26)
     
       packages/mermaid-example-diagram:
         dependencies:
    @@ -451,7 +451,7 @@ importers:
             version: 7.4.47
           '@vueuse/core':
             specifier: ^10.9.0
    -        version: 10.9.0(vue@3.4.25)
    +        version: 10.9.0(vue@3.4.26)
           font-awesome:
             specifier: ^4.7.0
             version: 4.7.0
    @@ -463,11 +463,11 @@ importers:
             version: link:../..
           vue:
             specifier: ^3.4.21
    -        version: 3.4.25(typescript@5.4.5)
    +        version: 3.4.26(typescript@5.4.5)
         devDependencies:
           '@iconify-json/carbon':
             specifier: ^1.1.31
    -        version: 1.1.31
    +        version: 1.1.32
           '@unocss/reset':
             specifier: ^0.59.0
             version: 0.59.4
    @@ -476,7 +476,7 @@ importers:
             version: 0.4.0(vite-plugin-pwa@0.19.8)
           '@vitejs/plugin-vue':
             specifier: ^5.0.0
    -        version: 5.0.4(vite@5.2.10)(vue@3.4.25)
    +        version: 5.0.4(vite@5.2.10)(vue@3.4.26)
           fast-glob:
             specifier: ^3.3.2
             version: 3.3.2
    @@ -491,7 +491,7 @@ importers:
             version: 0.59.4(postcss@8.4.38)(rollup@2.79.1)(vite@5.2.10)
           unplugin-vue-components:
             specifier: ^0.26.0
    -        version: 0.26.0(rollup@2.79.1)(vue@3.4.25)
    +        version: 0.26.0(rollup@2.79.1)(vue@3.4.26)
           vite:
             specifier: ^5.0.0
             version: 5.2.10(@types/node@20.12.7)
    @@ -500,7 +500,7 @@ importers:
             version: 0.19.8(vite@5.2.10)(workbox-build@7.1.0)(workbox-window@7.0.0)
           vitepress:
             specifier: 1.1.0
    -        version: 1.1.3(@algolia/client-search@4.23.3)(@types/node@20.12.7)(postcss@8.4.38)(search-insights@2.13.0)(typescript@5.4.5)
    +        version: 1.1.4(@algolia/client-search@4.23.3)(@types/node@20.12.7)(postcss@8.4.38)(search-insights@2.13.0)(typescript@5.4.5)
           workbox-window:
             specifier: ^7.0.0
             version: 7.0.0
    @@ -745,13 +745,13 @@ packages:
         resolution: {integrity: sha512-gFPqTG7otEJ8uP6wrhDv6mqwGWYZKNvAcCq6u9hOj0c+IKCEsY4L1oC9trPq2SaWIzAfHvqfBDxF591JkMf+kg==}
         dev: true
     
    -  /@apideck/better-ajv-errors@0.3.6(ajv@8.12.0):
    +  /@apideck/better-ajv-errors@0.3.6(ajv@8.13.0):
         resolution: {integrity: sha512-P+ZygBLZtkp0qqOAJJVX4oX/sFo5JR3eBWwwuqHHhK0GIgQOKWrAfiAaWX0aArHkRWHMuggFEgAZNxVPwPZYaA==}
         engines: {node: '>=10'}
         peerDependencies:
           ajv: '>=8'
         dependencies:
    -      ajv: 8.12.0
    +      ajv: 8.13.0
           json-schema: 0.4.0
           jsonpointer: 5.0.1
           leven: 3.1.0
    @@ -1120,10 +1120,33 @@ packages:
           '@babel/helper-compilation-targets': 7.23.6
           '@babel/helper-module-transforms': 7.23.3(@babel/core@7.24.4)
           '@babel/helpers': 7.24.4
    -      '@babel/parser': 7.24.4
    +      '@babel/parser': 7.24.5
           '@babel/template': 7.24.0
           '@babel/traverse': 7.24.1
    -      '@babel/types': 7.24.0
    +      '@babel/types': 7.24.5
    +      convert-source-map: 2.0.0
    +      debug: 4.3.4(supports-color@8.1.1)
    +      gensync: 1.0.0-beta.2
    +      json5: 2.2.3
    +      semver: 6.3.1
    +    transitivePeerDependencies:
    +      - supports-color
    +    dev: true
    +
    +  /@babel/core@7.24.5:
    +    resolution: {integrity: sha512-tVQRucExLQ02Boi4vdPp49svNGcfL2GhdTCT9aldhXgCJVAI21EtRfBettiuLUwce/7r6bFdgs6JFkcdTiFttA==}
    +    engines: {node: '>=6.9.0'}
    +    dependencies:
    +      '@ampproject/remapping': 2.3.0
    +      '@babel/code-frame': 7.24.2
    +      '@babel/generator': 7.24.5
    +      '@babel/helper-compilation-targets': 7.23.6
    +      '@babel/helper-module-transforms': 7.24.5(@babel/core@7.24.5)
    +      '@babel/helpers': 7.24.5
    +      '@babel/parser': 7.24.5
    +      '@babel/template': 7.24.0
    +      '@babel/traverse': 7.24.5
    +      '@babel/types': 7.24.5
           convert-source-map: 2.0.0
           debug: 4.3.4(supports-color@8.1.1)
           gensync: 1.0.0-beta.2
    @@ -1137,7 +1160,17 @@ packages:
         resolution: {integrity: sha512-Xd6+v6SnjWVx/nus+y0l1sxMOTOMBkyL4+BIdbALyatQnAe/SRVjANeDPSCYaX+i1iJmuGSKf3Z+E+V/va1Hvw==}
         engines: {node: '>=6.9.0'}
         dependencies:
    -      '@babel/types': 7.24.0
    +      '@babel/types': 7.24.5
    +      '@jridgewell/gen-mapping': 0.3.5
    +      '@jridgewell/trace-mapping': 0.3.25
    +      jsesc: 2.5.2
    +    dev: true
    +
    +  /@babel/generator@7.24.5:
    +    resolution: {integrity: sha512-x32i4hEXvr+iI0NEoEfDKzlemF8AmtOP8CcrRaEcpzysWuoEb1KknpcvMsHKPONoKZiDuItklgWhB18xEhr9PA==}
    +    engines: {node: '>=6.9.0'}
    +    dependencies:
    +      '@babel/types': 7.24.5
           '@jridgewell/gen-mapping': 0.3.5
           '@jridgewell/trace-mapping': 0.3.25
           jsesc: 2.5.2
    @@ -1147,14 +1180,14 @@ packages:
         resolution: {integrity: sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg==}
         engines: {node: '>=6.9.0'}
         dependencies:
    -      '@babel/types': 7.24.0
    +      '@babel/types': 7.24.5
         dev: true
     
       /@babel/helper-builder-binary-assignment-operator-visitor@7.22.15:
         resolution: {integrity: sha512-QkBXwGgaoC2GtGZRoma6kv7Szfv06khvhFav67ZExau2RaXzy8MpHSMO2PNoP2XtmQphJQRHFfg77Bq731Yizw==}
         engines: {node: '>=6.9.0'}
         dependencies:
    -      '@babel/types': 7.24.0
    +      '@babel/types': 7.24.5
         dev: true
     
       /@babel/helper-compilation-targets@7.23.6:
    @@ -1186,26 +1219,44 @@ packages:
           semver: 6.3.1
         dev: true
     
    -  /@babel/helper-create-regexp-features-plugin@7.22.15(@babel/core@7.24.4):
    +  /@babel/helper-create-class-features-plugin@7.24.5(@babel/core@7.24.5):
    +    resolution: {integrity: sha512-uRc4Cv8UQWnE4NXlYTIIdM7wfFkOqlFztcC/gVXDKohKoVB3OyonfelUBaJzSwpBntZ2KYGF/9S7asCHsXwW6g==}
    +    engines: {node: '>=6.9.0'}
    +    peerDependencies:
    +      '@babel/core': ^7.0.0
    +    dependencies:
    +      '@babel/core': 7.24.5
    +      '@babel/helper-annotate-as-pure': 7.22.5
    +      '@babel/helper-environment-visitor': 7.22.20
    +      '@babel/helper-function-name': 7.23.0
    +      '@babel/helper-member-expression-to-functions': 7.24.5
    +      '@babel/helper-optimise-call-expression': 7.22.5
    +      '@babel/helper-replace-supers': 7.24.1(@babel/core@7.24.5)
    +      '@babel/helper-skip-transparent-expression-wrappers': 7.22.5
    +      '@babel/helper-split-export-declaration': 7.24.5
    +      semver: 6.3.1
    +    dev: true
    +
    +  /@babel/helper-create-regexp-features-plugin@7.22.15(@babel/core@7.24.5):
         resolution: {integrity: sha512-29FkPLFjn4TPEa3RE7GpW+qbE8tlsu3jntNYNfcGsc49LphF1PQIiD+vMZ1z1xVOKt+93khA9tc2JBs3kBjA7w==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0
         dependencies:
    -      '@babel/core': 7.24.4
    +      '@babel/core': 7.24.5
           '@babel/helper-annotate-as-pure': 7.22.5
           regexpu-core: 5.3.2
           semver: 6.3.1
         dev: true
     
    -  /@babel/helper-define-polyfill-provider@0.6.2(@babel/core@7.24.4):
    +  /@babel/helper-define-polyfill-provider@0.6.2(@babel/core@7.24.5):
         resolution: {integrity: sha512-LV76g+C502biUK6AyZ3LK10vDpDyCzZnhZFXkH1L75zHPj68+qc8Zfpx2th+gzwA2MzyK+1g/3EPl62yFnVttQ==}
         peerDependencies:
           '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0
         dependencies:
    -      '@babel/core': 7.24.4
    +      '@babel/core': 7.24.5
           '@babel/helper-compilation-targets': 7.23.6
    -      '@babel/helper-plugin-utils': 7.24.0
    +      '@babel/helper-plugin-utils': 7.24.5
           debug: 4.3.4(supports-color@8.1.1)
           lodash.debounce: 4.0.8
           resolve: 1.22.8
    @@ -1223,28 +1274,35 @@ packages:
         engines: {node: '>=6.9.0'}
         dependencies:
           '@babel/template': 7.24.0
    -      '@babel/types': 7.24.0
    +      '@babel/types': 7.24.5
         dev: true
     
       /@babel/helper-hoist-variables@7.22.5:
         resolution: {integrity: sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==}
         engines: {node: '>=6.9.0'}
         dependencies:
    -      '@babel/types': 7.24.0
    +      '@babel/types': 7.24.5
         dev: true
     
       /@babel/helper-member-expression-to-functions@7.23.0:
         resolution: {integrity: sha512-6gfrPwh7OuT6gZyJZvd6WbTfrqAo7vm4xCzAXOusKqq/vWdKXphTpj5klHKNmRUU6/QRGlBsyU9mAIPaWHlqJA==}
         engines: {node: '>=6.9.0'}
         dependencies:
    -      '@babel/types': 7.24.0
    +      '@babel/types': 7.24.5
    +    dev: true
    +
    +  /@babel/helper-member-expression-to-functions@7.24.5:
    +    resolution: {integrity: sha512-4owRteeihKWKamtqg4JmWSsEZU445xpFRXPEwp44HbgbxdWlUV1b4Agg4lkA806Lil5XM/e+FJyS0vj5T6vmcA==}
    +    engines: {node: '>=6.9.0'}
    +    dependencies:
    +      '@babel/types': 7.24.5
         dev: true
     
       /@babel/helper-module-imports@7.24.3:
         resolution: {integrity: sha512-viKb0F9f2s0BCS22QSF308z/+1YWKV/76mwt61NBzS5izMzDPwdq1pTrzf+Li3npBWX9KdQbkeCt1jSAM7lZqg==}
         engines: {node: '>=6.9.0'}
         dependencies:
    -      '@babel/types': 7.24.0
    +      '@babel/types': 7.24.5
         dev: true
     
       /@babel/helper-module-transforms@7.23.3(@babel/core@7.24.4):
    @@ -1258,14 +1316,42 @@ packages:
           '@babel/helper-module-imports': 7.24.3
           '@babel/helper-simple-access': 7.22.5
           '@babel/helper-split-export-declaration': 7.22.6
    -      '@babel/helper-validator-identifier': 7.22.20
    +      '@babel/helper-validator-identifier': 7.24.5
    +    dev: true
    +
    +  /@babel/helper-module-transforms@7.23.3(@babel/core@7.24.5):
    +    resolution: {integrity: sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ==}
    +    engines: {node: '>=6.9.0'}
    +    peerDependencies:
    +      '@babel/core': ^7.0.0
    +    dependencies:
    +      '@babel/core': 7.24.5
    +      '@babel/helper-environment-visitor': 7.22.20
    +      '@babel/helper-module-imports': 7.24.3
    +      '@babel/helper-simple-access': 7.22.5
    +      '@babel/helper-split-export-declaration': 7.22.6
    +      '@babel/helper-validator-identifier': 7.24.5
    +    dev: true
    +
    +  /@babel/helper-module-transforms@7.24.5(@babel/core@7.24.5):
    +    resolution: {integrity: sha512-9GxeY8c2d2mdQUP1Dye0ks3VDyIMS98kt/llQ2nUId8IsWqTF0l1LkSX0/uP7l7MCDrzXS009Hyhe2gzTiGW8A==}
    +    engines: {node: '>=6.9.0'}
    +    peerDependencies:
    +      '@babel/core': ^7.0.0
    +    dependencies:
    +      '@babel/core': 7.24.5
    +      '@babel/helper-environment-visitor': 7.22.20
    +      '@babel/helper-module-imports': 7.24.3
    +      '@babel/helper-simple-access': 7.24.5
    +      '@babel/helper-split-export-declaration': 7.24.5
    +      '@babel/helper-validator-identifier': 7.24.5
         dev: true
     
       /@babel/helper-optimise-call-expression@7.22.5:
         resolution: {integrity: sha512-HBwaojN0xFRx4yIvpwGqxiV2tUfl7401jlok564NgB9EHS1y6QT17FmKWm4ztqjeVdXLuC4fSvHc5ePpQjoTbw==}
         engines: {node: '>=6.9.0'}
         dependencies:
    -      '@babel/types': 7.24.0
    +      '@babel/types': 7.24.5
         dev: true
     
       /@babel/helper-plugin-utils@7.24.0:
    @@ -1273,16 +1359,21 @@ packages:
         engines: {node: '>=6.9.0'}
         dev: true
     
    -  /@babel/helper-remap-async-to-generator@7.22.20(@babel/core@7.24.4):
    +  /@babel/helper-plugin-utils@7.24.5:
    +    resolution: {integrity: sha512-xjNLDopRzW2o6ba0gKbkZq5YWEBaK3PCyTOY1K2P/O07LGMhMqlMXPxwN4S5/RhWuCobT8z0jrlKGlYmeR1OhQ==}
    +    engines: {node: '>=6.9.0'}
    +    dev: true
    +
    +  /@babel/helper-remap-async-to-generator@7.22.20(@babel/core@7.24.5):
         resolution: {integrity: sha512-pBGyV4uBqOns+0UvhsTO8qgl8hO89PmiDYv+/COyp1aeMcmfrfruz+/nCMFiYyFF/Knn0yfrC85ZzNFjembFTw==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0
         dependencies:
    -      '@babel/core': 7.24.4
    +      '@babel/core': 7.24.5
           '@babel/helper-annotate-as-pure': 7.22.5
           '@babel/helper-environment-visitor': 7.22.20
    -      '@babel/helper-wrap-function': 7.22.20
    +      '@babel/helper-wrap-function': 7.24.5
         dev: true
     
       /@babel/helper-replace-supers@7.24.1(@babel/core@7.24.4):
    @@ -1297,25 +1388,51 @@ packages:
           '@babel/helper-optimise-call-expression': 7.22.5
         dev: true
     
    +  /@babel/helper-replace-supers@7.24.1(@babel/core@7.24.5):
    +    resolution: {integrity: sha512-QCR1UqC9BzG5vZl8BMicmZ28RuUBnHhAMddD8yHFHDRH9lLTZ9uUPehX8ctVPT8l0TKblJidqcgUUKGVrePleQ==}
    +    engines: {node: '>=6.9.0'}
    +    peerDependencies:
    +      '@babel/core': ^7.0.0
    +    dependencies:
    +      '@babel/core': 7.24.5
    +      '@babel/helper-environment-visitor': 7.22.20
    +      '@babel/helper-member-expression-to-functions': 7.23.0
    +      '@babel/helper-optimise-call-expression': 7.22.5
    +    dev: true
    +
       /@babel/helper-simple-access@7.22.5:
         resolution: {integrity: sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==}
         engines: {node: '>=6.9.0'}
         dependencies:
    -      '@babel/types': 7.24.0
    +      '@babel/types': 7.24.5
    +    dev: true
    +
    +  /@babel/helper-simple-access@7.24.5:
    +    resolution: {integrity: sha512-uH3Hmf5q5n7n8mz7arjUlDOCbttY/DW4DYhE6FUsjKJ/oYC1kQQUvwEQWxRwUpX9qQKRXeqLwWxrqilMrf32sQ==}
    +    engines: {node: '>=6.9.0'}
    +    dependencies:
    +      '@babel/types': 7.24.5
         dev: true
     
       /@babel/helper-skip-transparent-expression-wrappers@7.22.5:
         resolution: {integrity: sha512-tK14r66JZKiC43p8Ki33yLBVJKlQDFoA8GYN67lWCDCqoL6EMMSuM9b+Iff2jHaM/RRFYl7K+iiru7hbRqNx8Q==}
         engines: {node: '>=6.9.0'}
         dependencies:
    -      '@babel/types': 7.24.0
    +      '@babel/types': 7.24.5
         dev: true
     
       /@babel/helper-split-export-declaration@7.22.6:
         resolution: {integrity: sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==}
         engines: {node: '>=6.9.0'}
         dependencies:
    -      '@babel/types': 7.24.0
    +      '@babel/types': 7.24.5
    +    dev: true
    +
    +  /@babel/helper-split-export-declaration@7.24.5:
    +    resolution: {integrity: sha512-5CHncttXohrHk8GWOFCcCl4oRD9fKosWlIRgWm4ql9VYioKm52Mk2xsmoohvm7f3JoiLSM5ZgJuRaf5QZZYd3Q==}
    +    engines: {node: '>=6.9.0'}
    +    dependencies:
    +      '@babel/types': 7.24.5
         dev: true
     
       /@babel/helper-string-parser@7.24.1:
    @@ -1325,19 +1442,24 @@ packages:
       /@babel/helper-validator-identifier@7.22.20:
         resolution: {integrity: sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==}
         engines: {node: '>=6.9.0'}
    +    dev: true
    +
    +  /@babel/helper-validator-identifier@7.24.5:
    +    resolution: {integrity: sha512-3q93SSKX2TWCG30M2G2kwaKeTYgEUp5Snjuj8qm729SObL6nbtUldAi37qbxkD5gg3xnBio+f9nqpSepGZMvxA==}
    +    engines: {node: '>=6.9.0'}
     
       /@babel/helper-validator-option@7.23.5:
         resolution: {integrity: sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw==}
         engines: {node: '>=6.9.0'}
         dev: true
     
    -  /@babel/helper-wrap-function@7.22.20:
    -    resolution: {integrity: sha512-pms/UwkOpnQe/PDAEdV/d7dVCoBbB+R4FvYoHGZz+4VPcg7RtYy2KP7S2lbuWM6FCSgob5wshfGESbC/hzNXZw==}
    +  /@babel/helper-wrap-function@7.24.5:
    +    resolution: {integrity: sha512-/xxzuNvgRl4/HLNKvnFwdhdgN3cpLxgLROeLDl83Yx0AJ1SGvq1ak0OszTOjDfiB8Vx03eJbeDWh9r+jCCWttw==}
         engines: {node: '>=6.9.0'}
         dependencies:
           '@babel/helper-function-name': 7.23.0
           '@babel/template': 7.24.0
    -      '@babel/types': 7.24.0
    +      '@babel/types': 7.24.5
         dev: true
     
       /@babel/helpers@7.24.4:
    @@ -1346,7 +1468,18 @@ packages:
         dependencies:
           '@babel/template': 7.24.0
           '@babel/traverse': 7.24.1
    -      '@babel/types': 7.24.0
    +      '@babel/types': 7.24.5
    +    transitivePeerDependencies:
    +      - supports-color
    +    dev: true
    +
    +  /@babel/helpers@7.24.5:
    +    resolution: {integrity: sha512-CiQmBMMpMQHwM5m01YnrM6imUG1ebgYJ+fAIW4FZe6m4qHTPaRHti+R8cggAwkdz4oXhtO4/K9JWlh+8hIfR2Q==}
    +    engines: {node: '>=6.9.0'}
    +    dependencies:
    +      '@babel/template': 7.24.0
    +      '@babel/traverse': 7.24.5
    +      '@babel/types': 7.24.5
         transitivePeerDependencies:
           - supports-color
         dev: true
    @@ -1361,64 +1494,64 @@ packages:
           picocolors: 1.0.0
         dev: true
     
    -  /@babel/parser@7.24.4:
    -    resolution: {integrity: sha512-zTvEBcghmeBma9QIGunWevvBAp4/Qu9Bdq+2k0Ot4fVMD6v3dsC9WOcRSKk7tRRyBM/53yKMJko9xOatGQAwSg==}
    +  /@babel/parser@7.24.5:
    +    resolution: {integrity: sha512-EOv5IK8arwh3LI47dz1b0tKUb/1uhHAnHJOrjgtQMIpu1uXd9mlFrJg9IUgGUgZ41Ch0K8REPTYpO7B76b4vJg==}
         engines: {node: '>=6.0.0'}
         hasBin: true
         dependencies:
    -      '@babel/types': 7.24.0
    +      '@babel/types': 7.24.5
     
    -  /@babel/plugin-bugfix-firefox-class-in-computed-class-key@7.24.4(@babel/core@7.24.4):
    -    resolution: {integrity: sha512-qpl6vOOEEzTLLcsuqYYo8yDtrTocmu2xkGvgNebvPjT9DTtfFYGmgDqY+rBYXNlqL4s9qLDn6xkrJv4RxAPiTA==}
    +  /@babel/plugin-bugfix-firefox-class-in-computed-class-key@7.24.5(@babel/core@7.24.5):
    +    resolution: {integrity: sha512-LdXRi1wEMTrHVR4Zc9F8OewC3vdm5h4QB6L71zy6StmYeqGi1b3ttIO8UC+BfZKcH9jdr4aI249rBkm+3+YvHw==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0
         dependencies:
    -      '@babel/core': 7.24.4
    +      '@babel/core': 7.24.5
           '@babel/helper-environment-visitor': 7.22.20
    -      '@babel/helper-plugin-utils': 7.24.0
    +      '@babel/helper-plugin-utils': 7.24.5
         dev: true
     
    -  /@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.24.1(@babel/core@7.24.4):
    +  /@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.24.1(@babel/core@7.24.5):
         resolution: {integrity: sha512-y4HqEnkelJIOQGd+3g1bTeKsA5c6qM7eOn7VggGVbBc0y8MLSKHacwcIE2PplNlQSj0PqS9rrXL/nkPVK+kUNg==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0
         dependencies:
    -      '@babel/core': 7.24.4
    -      '@babel/helper-plugin-utils': 7.24.0
    +      '@babel/core': 7.24.5
    +      '@babel/helper-plugin-utils': 7.24.5
         dev: true
     
    -  /@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.24.1(@babel/core@7.24.4):
    +  /@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.24.1(@babel/core@7.24.5):
         resolution: {integrity: sha512-Hj791Ii4ci8HqnaKHAlLNs+zaLXb0EzSDhiAWp5VNlyvCNymYfacs64pxTxbH1znW/NcArSmwpmG9IKE/TUVVQ==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.13.0
         dependencies:
    -      '@babel/core': 7.24.4
    -      '@babel/helper-plugin-utils': 7.24.0
    +      '@babel/core': 7.24.5
    +      '@babel/helper-plugin-utils': 7.24.5
           '@babel/helper-skip-transparent-expression-wrappers': 7.22.5
    -      '@babel/plugin-transform-optional-chaining': 7.24.1(@babel/core@7.24.4)
    +      '@babel/plugin-transform-optional-chaining': 7.24.5(@babel/core@7.24.5)
         dev: true
     
    -  /@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.24.1(@babel/core@7.24.4):
    +  /@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.24.1(@babel/core@7.24.5):
         resolution: {integrity: sha512-m9m/fXsXLiHfwdgydIFnpk+7jlVbnvlK5B2EKiPdLUb6WX654ZaaEWJUjk8TftRbZpK0XibovlLWX4KIZhV6jw==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0
         dependencies:
    -      '@babel/core': 7.24.4
    +      '@babel/core': 7.24.5
           '@babel/helper-environment-visitor': 7.22.20
    -      '@babel/helper-plugin-utils': 7.24.0
    +      '@babel/helper-plugin-utils': 7.24.5
         dev: true
     
    -  /@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2(@babel/core@7.24.4):
    +  /@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2(@babel/core@7.24.5):
         resolution: {integrity: sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
         dependencies:
    -      '@babel/core': 7.24.4
    +      '@babel/core': 7.24.5
         dev: true
     
       /@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.24.4):
    @@ -1430,6 +1563,15 @@ packages:
           '@babel/helper-plugin-utils': 7.24.0
         dev: true
     
    +  /@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.24.5):
    +    resolution: {integrity: sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==}
    +    peerDependencies:
    +      '@babel/core': ^7.0.0-0
    +    dependencies:
    +      '@babel/core': 7.24.5
    +      '@babel/helper-plugin-utils': 7.24.0
    +    dev: true
    +
       /@babel/plugin-syntax-bigint@7.8.3(@babel/core@7.24.4):
         resolution: {integrity: sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==}
         peerDependencies:
    @@ -1448,52 +1590,61 @@ packages:
           '@babel/helper-plugin-utils': 7.24.0
         dev: true
     
    -  /@babel/plugin-syntax-class-static-block@7.14.5(@babel/core@7.24.4):
    +  /@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.24.5):
    +    resolution: {integrity: sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==}
    +    peerDependencies:
    +      '@babel/core': ^7.0.0-0
    +    dependencies:
    +      '@babel/core': 7.24.5
    +      '@babel/helper-plugin-utils': 7.24.0
    +    dev: true
    +
    +  /@babel/plugin-syntax-class-static-block@7.14.5(@babel/core@7.24.5):
         resolution: {integrity: sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
         dependencies:
    -      '@babel/core': 7.24.4
    -      '@babel/helper-plugin-utils': 7.24.0
    +      '@babel/core': 7.24.5
    +      '@babel/helper-plugin-utils': 7.24.5
         dev: true
     
    -  /@babel/plugin-syntax-dynamic-import@7.8.3(@babel/core@7.24.4):
    +  /@babel/plugin-syntax-dynamic-import@7.8.3(@babel/core@7.24.5):
         resolution: {integrity: sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==}
         peerDependencies:
           '@babel/core': ^7.0.0-0
         dependencies:
    -      '@babel/core': 7.24.4
    -      '@babel/helper-plugin-utils': 7.24.0
    +      '@babel/core': 7.24.5
    +      '@babel/helper-plugin-utils': 7.24.5
         dev: true
     
    -  /@babel/plugin-syntax-export-namespace-from@7.8.3(@babel/core@7.24.4):
    +  /@babel/plugin-syntax-export-namespace-from@7.8.3(@babel/core@7.24.5):
         resolution: {integrity: sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==}
         peerDependencies:
           '@babel/core': ^7.0.0-0
         dependencies:
    -      '@babel/core': 7.24.4
    -      '@babel/helper-plugin-utils': 7.24.0
    +      '@babel/core': 7.24.5
    +      '@babel/helper-plugin-utils': 7.24.5
         dev: true
     
    -  /@babel/plugin-syntax-import-assertions@7.24.1(@babel/core@7.24.4):
    +  /@babel/plugin-syntax-import-assertions@7.24.1(@babel/core@7.24.5):
         resolution: {integrity: sha512-IuwnI5XnuF189t91XbxmXeCDz3qs6iDRO7GJ++wcfgeXNs/8FmIlKcpDSXNVyuLQxlwvskmI3Ct73wUODkJBlQ==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
         dependencies:
    -      '@babel/core': 7.24.4
    -      '@babel/helper-plugin-utils': 7.24.0
    +      '@babel/core': 7.24.5
    +      '@babel/helper-plugin-utils': 7.24.5
         dev: true
     
    -  /@babel/plugin-syntax-import-attributes@7.24.1(@babel/core@7.24.4):
    +  /@babel/plugin-syntax-import-attributes@7.24.1(@babel/core@7.24.5):
         resolution: {integrity: sha512-zhQTMH0X2nVLnb04tz+s7AMuasX8U0FnpE+nHTOhSOINjWMnopoZTxtIKsd45n4GQ/HIZLyfIpoul8e2m0DnRA==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
         dependencies:
    -      '@babel/core': 7.24.4
    -      '@babel/helper-plugin-utils': 7.24.0
    +      '@babel/core': 7.24.5
    +      '@babel/helper-plugin-utils': 7.24.5
         dev: true
     
       /@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.24.4):
    @@ -1505,6 +1656,15 @@ packages:
           '@babel/helper-plugin-utils': 7.24.0
         dev: true
     
    +  /@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.24.5):
    +    resolution: {integrity: sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==}
    +    peerDependencies:
    +      '@babel/core': ^7.0.0-0
    +    dependencies:
    +      '@babel/core': 7.24.5
    +      '@babel/helper-plugin-utils': 7.24.0
    +    dev: true
    +
       /@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.24.4):
         resolution: {integrity: sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==}
         peerDependencies:
    @@ -1514,6 +1674,15 @@ packages:
           '@babel/helper-plugin-utils': 7.24.0
         dev: true
     
    +  /@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.24.5):
    +    resolution: {integrity: sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==}
    +    peerDependencies:
    +      '@babel/core': ^7.0.0-0
    +    dependencies:
    +      '@babel/core': 7.24.5
    +      '@babel/helper-plugin-utils': 7.24.0
    +    dev: true
    +
       /@babel/plugin-syntax-jsx@7.24.1(@babel/core@7.24.4):
         resolution: {integrity: sha512-2eCtxZXf+kbkMIsXS4poTvT4Yu5rXiRa+9xGVT56raghjmBTKMpFNc9R4IDiB4emao9eO22Ox7CxuJG7BgExqA==}
         engines: {node: '>=6.9.0'}
    @@ -1533,6 +1702,15 @@ packages:
           '@babel/helper-plugin-utils': 7.24.0
         dev: true
     
    +  /@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.24.5):
    +    resolution: {integrity: sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==}
    +    peerDependencies:
    +      '@babel/core': ^7.0.0-0
    +    dependencies:
    +      '@babel/core': 7.24.5
    +      '@babel/helper-plugin-utils': 7.24.0
    +    dev: true
    +
       /@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.24.4):
         resolution: {integrity: sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==}
         peerDependencies:
    @@ -1542,6 +1720,15 @@ packages:
           '@babel/helper-plugin-utils': 7.24.0
         dev: true
     
    +  /@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.24.5):
    +    resolution: {integrity: sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==}
    +    peerDependencies:
    +      '@babel/core': ^7.0.0-0
    +    dependencies:
    +      '@babel/core': 7.24.5
    +      '@babel/helper-plugin-utils': 7.24.0
    +    dev: true
    +
       /@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.24.4):
         resolution: {integrity: sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==}
         peerDependencies:
    @@ -1551,6 +1738,15 @@ packages:
           '@babel/helper-plugin-utils': 7.24.0
         dev: true
     
    +  /@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.24.5):
    +    resolution: {integrity: sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==}
    +    peerDependencies:
    +      '@babel/core': ^7.0.0-0
    +    dependencies:
    +      '@babel/core': 7.24.5
    +      '@babel/helper-plugin-utils': 7.24.0
    +    dev: true
    +
       /@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.24.4):
         resolution: {integrity: sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==}
         peerDependencies:
    @@ -1560,6 +1756,15 @@ packages:
           '@babel/helper-plugin-utils': 7.24.0
         dev: true
     
    +  /@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.24.5):
    +    resolution: {integrity: sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==}
    +    peerDependencies:
    +      '@babel/core': ^7.0.0-0
    +    dependencies:
    +      '@babel/core': 7.24.5
    +      '@babel/helper-plugin-utils': 7.24.0
    +    dev: true
    +
       /@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.24.4):
         resolution: {integrity: sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==}
         peerDependencies:
    @@ -1569,6 +1774,15 @@ packages:
           '@babel/helper-plugin-utils': 7.24.0
         dev: true
     
    +  /@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.24.5):
    +    resolution: {integrity: sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==}
    +    peerDependencies:
    +      '@babel/core': ^7.0.0-0
    +    dependencies:
    +      '@babel/core': 7.24.5
    +      '@babel/helper-plugin-utils': 7.24.0
    +    dev: true
    +
       /@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.24.4):
         resolution: {integrity: sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==}
         peerDependencies:
    @@ -1578,14 +1792,23 @@ packages:
           '@babel/helper-plugin-utils': 7.24.0
         dev: true
     
    -  /@babel/plugin-syntax-private-property-in-object@7.14.5(@babel/core@7.24.4):
    +  /@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.24.5):
    +    resolution: {integrity: sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==}
    +    peerDependencies:
    +      '@babel/core': ^7.0.0-0
    +    dependencies:
    +      '@babel/core': 7.24.5
    +      '@babel/helper-plugin-utils': 7.24.0
    +    dev: true
    +
    +  /@babel/plugin-syntax-private-property-in-object@7.14.5(@babel/core@7.24.5):
         resolution: {integrity: sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
         dependencies:
    -      '@babel/core': 7.24.4
    -      '@babel/helper-plugin-utils': 7.24.0
    +      '@babel/core': 7.24.5
    +      '@babel/helper-plugin-utils': 7.24.5
         dev: true
     
       /@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.24.4):
    @@ -1598,6 +1821,16 @@ packages:
           '@babel/helper-plugin-utils': 7.24.0
         dev: true
     
    +  /@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.24.5):
    +    resolution: {integrity: sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==}
    +    engines: {node: '>=6.9.0'}
    +    peerDependencies:
    +      '@babel/core': ^7.0.0-0
    +    dependencies:
    +      '@babel/core': 7.24.5
    +      '@babel/helper-plugin-utils': 7.24.0
    +    dev: true
    +
       /@babel/plugin-syntax-typescript@7.24.1(@babel/core@7.24.4):
         resolution: {integrity: sha512-Yhnmvy5HZEnHUty6i++gcfH1/l68AHnItFHnaCv6hn9dNh0hQvvQJsxpi4BMBFN5DLeHBuucT/0DgzXif/OyRw==}
         engines: {node: '>=6.9.0'}
    @@ -1608,261 +1841,261 @@ packages:
           '@babel/helper-plugin-utils': 7.24.0
         dev: true
     
    -  /@babel/plugin-syntax-unicode-sets-regex@7.18.6(@babel/core@7.24.4):
    +  /@babel/plugin-syntax-unicode-sets-regex@7.18.6(@babel/core@7.24.5):
         resolution: {integrity: sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0
         dependencies:
    -      '@babel/core': 7.24.4
    -      '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.24.4)
    -      '@babel/helper-plugin-utils': 7.24.0
    +      '@babel/core': 7.24.5
    +      '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.24.5)
    +      '@babel/helper-plugin-utils': 7.24.5
         dev: true
     
    -  /@babel/plugin-transform-arrow-functions@7.24.1(@babel/core@7.24.4):
    +  /@babel/plugin-transform-arrow-functions@7.24.1(@babel/core@7.24.5):
         resolution: {integrity: sha512-ngT/3NkRhsaep9ck9uj2Xhv9+xB1zShY3tM3g6om4xxCELwCDN4g4Aq5dRn48+0hasAql7s2hdBOysCfNpr4fw==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
         dependencies:
    -      '@babel/core': 7.24.4
    -      '@babel/helper-plugin-utils': 7.24.0
    +      '@babel/core': 7.24.5
    +      '@babel/helper-plugin-utils': 7.24.5
         dev: true
     
    -  /@babel/plugin-transform-async-generator-functions@7.24.3(@babel/core@7.24.4):
    +  /@babel/plugin-transform-async-generator-functions@7.24.3(@babel/core@7.24.5):
         resolution: {integrity: sha512-Qe26CMYVjpQxJ8zxM1340JFNjZaF+ISWpr1Kt/jGo+ZTUzKkfw/pphEWbRCb+lmSM6k/TOgfYLvmbHkUQ0asIg==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
         dependencies:
    -      '@babel/core': 7.24.4
    +      '@babel/core': 7.24.5
           '@babel/helper-environment-visitor': 7.22.20
    -      '@babel/helper-plugin-utils': 7.24.0
    -      '@babel/helper-remap-async-to-generator': 7.22.20(@babel/core@7.24.4)
    -      '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.24.4)
    +      '@babel/helper-plugin-utils': 7.24.5
    +      '@babel/helper-remap-async-to-generator': 7.22.20(@babel/core@7.24.5)
    +      '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.24.5)
         dev: true
     
    -  /@babel/plugin-transform-async-to-generator@7.24.1(@babel/core@7.24.4):
    +  /@babel/plugin-transform-async-to-generator@7.24.1(@babel/core@7.24.5):
         resolution: {integrity: sha512-AawPptitRXp1y0n4ilKcGbRYWfbbzFWz2NqNu7dacYDtFtz0CMjG64b3LQsb3KIgnf4/obcUL78hfaOS7iCUfw==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
         dependencies:
    -      '@babel/core': 7.24.4
    +      '@babel/core': 7.24.5
           '@babel/helper-module-imports': 7.24.3
    -      '@babel/helper-plugin-utils': 7.24.0
    -      '@babel/helper-remap-async-to-generator': 7.22.20(@babel/core@7.24.4)
    +      '@babel/helper-plugin-utils': 7.24.5
    +      '@babel/helper-remap-async-to-generator': 7.22.20(@babel/core@7.24.5)
         dev: true
     
    -  /@babel/plugin-transform-block-scoped-functions@7.24.1(@babel/core@7.24.4):
    +  /@babel/plugin-transform-block-scoped-functions@7.24.1(@babel/core@7.24.5):
         resolution: {integrity: sha512-TWWC18OShZutrv9C6mye1xwtam+uNi2bnTOCBUd5sZxyHOiWbU6ztSROofIMrK84uweEZC219POICK/sTYwfgg==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
         dependencies:
    -      '@babel/core': 7.24.4
    -      '@babel/helper-plugin-utils': 7.24.0
    +      '@babel/core': 7.24.5
    +      '@babel/helper-plugin-utils': 7.24.5
         dev: true
     
    -  /@babel/plugin-transform-block-scoping@7.24.4(@babel/core@7.24.4):
    -    resolution: {integrity: sha512-nIFUZIpGKDf9O9ttyRXpHFpKC+X3Y5mtshZONuEUYBomAKoM4y029Jr+uB1bHGPhNmK8YXHevDtKDOLmtRrp6g==}
    +  /@babel/plugin-transform-block-scoping@7.24.5(@babel/core@7.24.5):
    +    resolution: {integrity: sha512-sMfBc3OxghjC95BkYrYocHL3NaOplrcaunblzwXhGmlPwpmfsxr4vK+mBBt49r+S240vahmv+kUxkeKgs+haCw==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
         dependencies:
    -      '@babel/core': 7.24.4
    -      '@babel/helper-plugin-utils': 7.24.0
    +      '@babel/core': 7.24.5
    +      '@babel/helper-plugin-utils': 7.24.5
         dev: true
     
    -  /@babel/plugin-transform-class-properties@7.24.1(@babel/core@7.24.4):
    +  /@babel/plugin-transform-class-properties@7.24.1(@babel/core@7.24.5):
         resolution: {integrity: sha512-OMLCXi0NqvJfORTaPQBwqLXHhb93wkBKZ4aNwMl6WtehO7ar+cmp+89iPEQPqxAnxsOKTaMcs3POz3rKayJ72g==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
         dependencies:
    -      '@babel/core': 7.24.4
    -      '@babel/helper-create-class-features-plugin': 7.24.4(@babel/core@7.24.4)
    -      '@babel/helper-plugin-utils': 7.24.0
    +      '@babel/core': 7.24.5
    +      '@babel/helper-create-class-features-plugin': 7.24.5(@babel/core@7.24.5)
    +      '@babel/helper-plugin-utils': 7.24.5
         dev: true
     
    -  /@babel/plugin-transform-class-static-block@7.24.4(@babel/core@7.24.4):
    +  /@babel/plugin-transform-class-static-block@7.24.4(@babel/core@7.24.5):
         resolution: {integrity: sha512-B8q7Pz870Hz/q9UgP8InNpY01CSLDSCyqX7zcRuv3FcPl87A2G17lASroHWaCtbdIcbYzOZ7kWmXFKbijMSmFg==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.12.0
         dependencies:
    -      '@babel/core': 7.24.4
    -      '@babel/helper-create-class-features-plugin': 7.24.4(@babel/core@7.24.4)
    -      '@babel/helper-plugin-utils': 7.24.0
    -      '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.24.4)
    +      '@babel/core': 7.24.5
    +      '@babel/helper-create-class-features-plugin': 7.24.5(@babel/core@7.24.5)
    +      '@babel/helper-plugin-utils': 7.24.5
    +      '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.24.5)
         dev: true
     
    -  /@babel/plugin-transform-classes@7.24.1(@babel/core@7.24.4):
    -    resolution: {integrity: sha512-ZTIe3W7UejJd3/3R4p7ScyyOoafetUShSf4kCqV0O7F/RiHxVj/wRaRnQlrGwflvcehNA8M42HkAiEDYZu2F1Q==}
    +  /@babel/plugin-transform-classes@7.24.5(@babel/core@7.24.5):
    +    resolution: {integrity: sha512-gWkLP25DFj2dwe9Ck8uwMOpko4YsqyfZJrOmqqcegeDYEbp7rmn4U6UQZNj08UF6MaX39XenSpKRCvpDRBtZ7Q==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
         dependencies:
    -      '@babel/core': 7.24.4
    +      '@babel/core': 7.24.5
           '@babel/helper-annotate-as-pure': 7.22.5
           '@babel/helper-compilation-targets': 7.23.6
           '@babel/helper-environment-visitor': 7.22.20
           '@babel/helper-function-name': 7.23.0
    -      '@babel/helper-plugin-utils': 7.24.0
    -      '@babel/helper-replace-supers': 7.24.1(@babel/core@7.24.4)
    -      '@babel/helper-split-export-declaration': 7.22.6
    +      '@babel/helper-plugin-utils': 7.24.5
    +      '@babel/helper-replace-supers': 7.24.1(@babel/core@7.24.5)
    +      '@babel/helper-split-export-declaration': 7.24.5
           globals: 11.12.0
         dev: true
     
    -  /@babel/plugin-transform-computed-properties@7.24.1(@babel/core@7.24.4):
    +  /@babel/plugin-transform-computed-properties@7.24.1(@babel/core@7.24.5):
         resolution: {integrity: sha512-5pJGVIUfJpOS+pAqBQd+QMaTD2vCL/HcePooON6pDpHgRp4gNRmzyHTPIkXntwKsq3ayUFVfJaIKPw2pOkOcTw==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
         dependencies:
    -      '@babel/core': 7.24.4
    -      '@babel/helper-plugin-utils': 7.24.0
    +      '@babel/core': 7.24.5
    +      '@babel/helper-plugin-utils': 7.24.5
           '@babel/template': 7.24.0
         dev: true
     
    -  /@babel/plugin-transform-destructuring@7.24.1(@babel/core@7.24.4):
    -    resolution: {integrity: sha512-ow8jciWqNxR3RYbSNVuF4U2Jx130nwnBnhRw6N6h1bOejNkABmcI5X5oz29K4alWX7vf1C+o6gtKXikzRKkVdw==}
    +  /@babel/plugin-transform-destructuring@7.24.5(@babel/core@7.24.5):
    +    resolution: {integrity: sha512-SZuuLyfxvsm+Ah57I/i1HVjveBENYK9ue8MJ7qkc7ndoNjqquJiElzA7f5yaAXjyW2hKojosOTAQQRX50bPSVg==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
         dependencies:
    -      '@babel/core': 7.24.4
    -      '@babel/helper-plugin-utils': 7.24.0
    +      '@babel/core': 7.24.5
    +      '@babel/helper-plugin-utils': 7.24.5
         dev: true
     
    -  /@babel/plugin-transform-dotall-regex@7.24.1(@babel/core@7.24.4):
    +  /@babel/plugin-transform-dotall-regex@7.24.1(@babel/core@7.24.5):
         resolution: {integrity: sha512-p7uUxgSoZwZ2lPNMzUkqCts3xlp8n+o05ikjy7gbtFJSt9gdU88jAmtfmOxHM14noQXBxfgzf2yRWECiNVhTCw==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
         dependencies:
    -      '@babel/core': 7.24.4
    -      '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.24.4)
    -      '@babel/helper-plugin-utils': 7.24.0
    +      '@babel/core': 7.24.5
    +      '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.24.5)
    +      '@babel/helper-plugin-utils': 7.24.5
         dev: true
     
    -  /@babel/plugin-transform-duplicate-keys@7.24.1(@babel/core@7.24.4):
    +  /@babel/plugin-transform-duplicate-keys@7.24.1(@babel/core@7.24.5):
         resolution: {integrity: sha512-msyzuUnvsjsaSaocV6L7ErfNsa5nDWL1XKNnDePLgmz+WdU4w/J8+AxBMrWfi9m4IxfL5sZQKUPQKDQeeAT6lA==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
         dependencies:
    -      '@babel/core': 7.24.4
    -      '@babel/helper-plugin-utils': 7.24.0
    +      '@babel/core': 7.24.5
    +      '@babel/helper-plugin-utils': 7.24.5
         dev: true
     
    -  /@babel/plugin-transform-dynamic-import@7.24.1(@babel/core@7.24.4):
    +  /@babel/plugin-transform-dynamic-import@7.24.1(@babel/core@7.24.5):
         resolution: {integrity: sha512-av2gdSTyXcJVdI+8aFZsCAtR29xJt0S5tas+Ef8NvBNmD1a+N/3ecMLeMBgfcK+xzsjdLDT6oHt+DFPyeqUbDA==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
         dependencies:
    -      '@babel/core': 7.24.4
    -      '@babel/helper-plugin-utils': 7.24.0
    -      '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.24.4)
    +      '@babel/core': 7.24.5
    +      '@babel/helper-plugin-utils': 7.24.5
    +      '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.24.5)
         dev: true
     
    -  /@babel/plugin-transform-exponentiation-operator@7.24.1(@babel/core@7.24.4):
    +  /@babel/plugin-transform-exponentiation-operator@7.24.1(@babel/core@7.24.5):
         resolution: {integrity: sha512-U1yX13dVBSwS23DEAqU+Z/PkwE9/m7QQy8Y9/+Tdb8UWYaGNDYwTLi19wqIAiROr8sXVum9A/rtiH5H0boUcTw==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
         dependencies:
    -      '@babel/core': 7.24.4
    +      '@babel/core': 7.24.5
           '@babel/helper-builder-binary-assignment-operator-visitor': 7.22.15
    -      '@babel/helper-plugin-utils': 7.24.0
    +      '@babel/helper-plugin-utils': 7.24.5
         dev: true
     
    -  /@babel/plugin-transform-export-namespace-from@7.24.1(@babel/core@7.24.4):
    +  /@babel/plugin-transform-export-namespace-from@7.24.1(@babel/core@7.24.5):
         resolution: {integrity: sha512-Ft38m/KFOyzKw2UaJFkWG9QnHPG/Q/2SkOrRk4pNBPg5IPZ+dOxcmkK5IyuBcxiNPyyYowPGUReyBvrvZs7IlQ==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
         dependencies:
    -      '@babel/core': 7.24.4
    -      '@babel/helper-plugin-utils': 7.24.0
    -      '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.24.4)
    +      '@babel/core': 7.24.5
    +      '@babel/helper-plugin-utils': 7.24.5
    +      '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.24.5)
         dev: true
     
    -  /@babel/plugin-transform-for-of@7.24.1(@babel/core@7.24.4):
    +  /@babel/plugin-transform-for-of@7.24.1(@babel/core@7.24.5):
         resolution: {integrity: sha512-OxBdcnF04bpdQdR3i4giHZNZQn7cm8RQKcSwA17wAAqEELo1ZOwp5FFgeptWUQXFyT9kwHo10aqqauYkRZPCAg==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
         dependencies:
    -      '@babel/core': 7.24.4
    -      '@babel/helper-plugin-utils': 7.24.0
    +      '@babel/core': 7.24.5
    +      '@babel/helper-plugin-utils': 7.24.5
           '@babel/helper-skip-transparent-expression-wrappers': 7.22.5
         dev: true
     
    -  /@babel/plugin-transform-function-name@7.24.1(@babel/core@7.24.4):
    +  /@babel/plugin-transform-function-name@7.24.1(@babel/core@7.24.5):
         resolution: {integrity: sha512-BXmDZpPlh7jwicKArQASrj8n22/w6iymRnvHYYd2zO30DbE277JO20/7yXJT3QxDPtiQiOxQBbZH4TpivNXIxA==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
         dependencies:
    -      '@babel/core': 7.24.4
    +      '@babel/core': 7.24.5
           '@babel/helper-compilation-targets': 7.23.6
           '@babel/helper-function-name': 7.23.0
    -      '@babel/helper-plugin-utils': 7.24.0
    +      '@babel/helper-plugin-utils': 7.24.5
         dev: true
     
    -  /@babel/plugin-transform-json-strings@7.24.1(@babel/core@7.24.4):
    +  /@babel/plugin-transform-json-strings@7.24.1(@babel/core@7.24.5):
         resolution: {integrity: sha512-U7RMFmRvoasscrIFy5xA4gIp8iWnWubnKkKuUGJjsuOH7GfbMkB+XZzeslx2kLdEGdOJDamEmCqOks6e8nv8DQ==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
         dependencies:
    -      '@babel/core': 7.24.4
    -      '@babel/helper-plugin-utils': 7.24.0
    -      '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.24.4)
    +      '@babel/core': 7.24.5
    +      '@babel/helper-plugin-utils': 7.24.5
    +      '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.24.5)
         dev: true
     
    -  /@babel/plugin-transform-literals@7.24.1(@babel/core@7.24.4):
    +  /@babel/plugin-transform-literals@7.24.1(@babel/core@7.24.5):
         resolution: {integrity: sha512-zn9pwz8U7nCqOYIiBaOxoQOtYmMODXTJnkxG4AtX8fPmnCRYWBOHD0qcpwS9e2VDSp1zNJYpdnFMIKb8jmwu6g==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
         dependencies:
    -      '@babel/core': 7.24.4
    -      '@babel/helper-plugin-utils': 7.24.0
    +      '@babel/core': 7.24.5
    +      '@babel/helper-plugin-utils': 7.24.5
         dev: true
     
    -  /@babel/plugin-transform-logical-assignment-operators@7.24.1(@babel/core@7.24.4):
    +  /@babel/plugin-transform-logical-assignment-operators@7.24.1(@babel/core@7.24.5):
         resolution: {integrity: sha512-OhN6J4Bpz+hIBqItTeWJujDOfNP+unqv/NJgyhlpSqgBTPm37KkMmZV6SYcOj+pnDbdcl1qRGV/ZiIjX9Iy34w==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
         dependencies:
    -      '@babel/core': 7.24.4
    -      '@babel/helper-plugin-utils': 7.24.0
    -      '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.24.4)
    +      '@babel/core': 7.24.5
    +      '@babel/helper-plugin-utils': 7.24.5
    +      '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.24.5)
         dev: true
     
    -  /@babel/plugin-transform-member-expression-literals@7.24.1(@babel/core@7.24.4):
    +  /@babel/plugin-transform-member-expression-literals@7.24.1(@babel/core@7.24.5):
         resolution: {integrity: sha512-4ojai0KysTWXzHseJKa1XPNXKRbuUrhkOPY4rEGeR+7ChlJVKxFa3H3Bz+7tWaGKgJAXUWKOGmltN+u9B3+CVg==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
         dependencies:
    -      '@babel/core': 7.24.4
    -      '@babel/helper-plugin-utils': 7.24.0
    +      '@babel/core': 7.24.5
    +      '@babel/helper-plugin-utils': 7.24.5
         dev: true
     
    -  /@babel/plugin-transform-modules-amd@7.24.1(@babel/core@7.24.4):
    +  /@babel/plugin-transform-modules-amd@7.24.1(@babel/core@7.24.5):
         resolution: {integrity: sha512-lAxNHi4HVtjnHd5Rxg3D5t99Xm6H7b04hUS7EHIXcUl2EV4yl1gWdqZrNzXnSrHveL9qMdbODlLF55mvgjAfaQ==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
         dependencies:
    -      '@babel/core': 7.24.4
    -      '@babel/helper-module-transforms': 7.23.3(@babel/core@7.24.4)
    -      '@babel/helper-plugin-utils': 7.24.0
    +      '@babel/core': 7.24.5
    +      '@babel/helper-module-transforms': 7.24.5(@babel/core@7.24.5)
    +      '@babel/helper-plugin-utils': 7.24.5
         dev: true
     
       /@babel/plugin-transform-modules-commonjs@7.24.1(@babel/core@7.24.4):
    @@ -1877,234 +2110,246 @@ packages:
           '@babel/helper-simple-access': 7.22.5
         dev: true
     
    -  /@babel/plugin-transform-modules-systemjs@7.24.1(@babel/core@7.24.4):
    +  /@babel/plugin-transform-modules-commonjs@7.24.1(@babel/core@7.24.5):
    +    resolution: {integrity: sha512-szog8fFTUxBfw0b98gEWPaEqF42ZUD/T3bkynW/wtgx2p/XCP55WEsb+VosKceRSd6njipdZvNogqdtI4Q0chw==}
    +    engines: {node: '>=6.9.0'}
    +    peerDependencies:
    +      '@babel/core': ^7.0.0-0
    +    dependencies:
    +      '@babel/core': 7.24.5
    +      '@babel/helper-module-transforms': 7.23.3(@babel/core@7.24.5)
    +      '@babel/helper-plugin-utils': 7.24.0
    +      '@babel/helper-simple-access': 7.22.5
    +    dev: true
    +
    +  /@babel/plugin-transform-modules-systemjs@7.24.1(@babel/core@7.24.5):
         resolution: {integrity: sha512-mqQ3Zh9vFO1Tpmlt8QPnbwGHzNz3lpNEMxQb1kAemn/erstyqw1r9KeOlOfo3y6xAnFEcOv2tSyrXfmMk+/YZA==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
         dependencies:
    -      '@babel/core': 7.24.4
    +      '@babel/core': 7.24.5
           '@babel/helper-hoist-variables': 7.22.5
    -      '@babel/helper-module-transforms': 7.23.3(@babel/core@7.24.4)
    -      '@babel/helper-plugin-utils': 7.24.0
    -      '@babel/helper-validator-identifier': 7.22.20
    +      '@babel/helper-module-transforms': 7.24.5(@babel/core@7.24.5)
    +      '@babel/helper-plugin-utils': 7.24.5
    +      '@babel/helper-validator-identifier': 7.24.5
         dev: true
     
    -  /@babel/plugin-transform-modules-umd@7.24.1(@babel/core@7.24.4):
    +  /@babel/plugin-transform-modules-umd@7.24.1(@babel/core@7.24.5):
         resolution: {integrity: sha512-tuA3lpPj+5ITfcCluy6nWonSL7RvaG0AOTeAuvXqEKS34lnLzXpDb0dcP6K8jD0zWZFNDVly90AGFJPnm4fOYg==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
         dependencies:
    -      '@babel/core': 7.24.4
    -      '@babel/helper-module-transforms': 7.23.3(@babel/core@7.24.4)
    -      '@babel/helper-plugin-utils': 7.24.0
    +      '@babel/core': 7.24.5
    +      '@babel/helper-module-transforms': 7.24.5(@babel/core@7.24.5)
    +      '@babel/helper-plugin-utils': 7.24.5
         dev: true
     
    -  /@babel/plugin-transform-named-capturing-groups-regex@7.22.5(@babel/core@7.24.4):
    +  /@babel/plugin-transform-named-capturing-groups-regex@7.22.5(@babel/core@7.24.5):
         resolution: {integrity: sha512-YgLLKmS3aUBhHaxp5hi1WJTgOUb/NCuDHzGT9z9WTt3YG+CPRhJs6nprbStx6DnWM4dh6gt7SU3sZodbZ08adQ==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0
         dependencies:
    -      '@babel/core': 7.24.4
    -      '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.24.4)
    -      '@babel/helper-plugin-utils': 7.24.0
    +      '@babel/core': 7.24.5
    +      '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.24.5)
    +      '@babel/helper-plugin-utils': 7.24.5
         dev: true
     
    -  /@babel/plugin-transform-new-target@7.24.1(@babel/core@7.24.4):
    +  /@babel/plugin-transform-new-target@7.24.1(@babel/core@7.24.5):
         resolution: {integrity: sha512-/rurytBM34hYy0HKZQyA0nHbQgQNFm4Q/BOc9Hflxi2X3twRof7NaE5W46j4kQitm7SvACVRXsa6N/tSZxvPug==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
         dependencies:
    -      '@babel/core': 7.24.4
    -      '@babel/helper-plugin-utils': 7.24.0
    +      '@babel/core': 7.24.5
    +      '@babel/helper-plugin-utils': 7.24.5
         dev: true
     
    -  /@babel/plugin-transform-nullish-coalescing-operator@7.24.1(@babel/core@7.24.4):
    +  /@babel/plugin-transform-nullish-coalescing-operator@7.24.1(@babel/core@7.24.5):
         resolution: {integrity: sha512-iQ+caew8wRrhCikO5DrUYx0mrmdhkaELgFa+7baMcVuhxIkN7oxt06CZ51D65ugIb1UWRQ8oQe+HXAVM6qHFjw==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
         dependencies:
    -      '@babel/core': 7.24.4
    -      '@babel/helper-plugin-utils': 7.24.0
    -      '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.24.4)
    +      '@babel/core': 7.24.5
    +      '@babel/helper-plugin-utils': 7.24.5
    +      '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.24.5)
         dev: true
     
    -  /@babel/plugin-transform-numeric-separator@7.24.1(@babel/core@7.24.4):
    +  /@babel/plugin-transform-numeric-separator@7.24.1(@babel/core@7.24.5):
         resolution: {integrity: sha512-7GAsGlK4cNL2OExJH1DzmDeKnRv/LXq0eLUSvudrehVA5Rgg4bIrqEUW29FbKMBRT0ztSqisv7kjP+XIC4ZMNw==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
         dependencies:
    -      '@babel/core': 7.24.4
    -      '@babel/helper-plugin-utils': 7.24.0
    -      '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.24.4)
    +      '@babel/core': 7.24.5
    +      '@babel/helper-plugin-utils': 7.24.5
    +      '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.24.5)
         dev: true
     
    -  /@babel/plugin-transform-object-rest-spread@7.24.1(@babel/core@7.24.4):
    -    resolution: {integrity: sha512-XjD5f0YqOtebto4HGISLNfiNMTTs6tbkFf2TOqJlYKYmbo+mN9Dnpl4SRoofiziuOWMIyq3sZEUqLo3hLITFEA==}
    +  /@babel/plugin-transform-object-rest-spread@7.24.5(@babel/core@7.24.5):
    +    resolution: {integrity: sha512-7EauQHszLGM3ay7a161tTQH7fj+3vVM/gThlz5HpFtnygTxjrlvoeq7MPVA1Vy9Q555OB8SnAOsMkLShNkkrHA==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
         dependencies:
    -      '@babel/core': 7.24.4
    +      '@babel/core': 7.24.5
           '@babel/helper-compilation-targets': 7.23.6
    -      '@babel/helper-plugin-utils': 7.24.0
    -      '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.24.4)
    -      '@babel/plugin-transform-parameters': 7.24.1(@babel/core@7.24.4)
    +      '@babel/helper-plugin-utils': 7.24.5
    +      '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.24.5)
    +      '@babel/plugin-transform-parameters': 7.24.5(@babel/core@7.24.5)
         dev: true
     
    -  /@babel/plugin-transform-object-super@7.24.1(@babel/core@7.24.4):
    +  /@babel/plugin-transform-object-super@7.24.1(@babel/core@7.24.5):
         resolution: {integrity: sha512-oKJqR3TeI5hSLRxudMjFQ9re9fBVUU0GICqM3J1mi8MqlhVr6hC/ZN4ttAyMuQR6EZZIY6h/exe5swqGNNIkWQ==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
         dependencies:
    -      '@babel/core': 7.24.4
    -      '@babel/helper-plugin-utils': 7.24.0
    -      '@babel/helper-replace-supers': 7.24.1(@babel/core@7.24.4)
    +      '@babel/core': 7.24.5
    +      '@babel/helper-plugin-utils': 7.24.5
    +      '@babel/helper-replace-supers': 7.24.1(@babel/core@7.24.5)
         dev: true
     
    -  /@babel/plugin-transform-optional-catch-binding@7.24.1(@babel/core@7.24.4):
    +  /@babel/plugin-transform-optional-catch-binding@7.24.1(@babel/core@7.24.5):
         resolution: {integrity: sha512-oBTH7oURV4Y+3EUrf6cWn1OHio3qG/PVwO5J03iSJmBg6m2EhKjkAu/xuaXaYwWW9miYtvbWv4LNf0AmR43LUA==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
         dependencies:
    -      '@babel/core': 7.24.4
    -      '@babel/helper-plugin-utils': 7.24.0
    -      '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.24.4)
    +      '@babel/core': 7.24.5
    +      '@babel/helper-plugin-utils': 7.24.5
    +      '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.24.5)
         dev: true
     
    -  /@babel/plugin-transform-optional-chaining@7.24.1(@babel/core@7.24.4):
    -    resolution: {integrity: sha512-n03wmDt+987qXwAgcBlnUUivrZBPZ8z1plL0YvgQalLm+ZE5BMhGm94jhxXtA1wzv1Cu2aaOv1BM9vbVttrzSg==}
    +  /@babel/plugin-transform-optional-chaining@7.24.5(@babel/core@7.24.5):
    +    resolution: {integrity: sha512-xWCkmwKT+ihmA6l7SSTpk8e4qQl/274iNbSKRRS8mpqFR32ksy36+a+LWY8OXCCEefF8WFlnOHVsaDI2231wBg==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
         dependencies:
    -      '@babel/core': 7.24.4
    -      '@babel/helper-plugin-utils': 7.24.0
    +      '@babel/core': 7.24.5
    +      '@babel/helper-plugin-utils': 7.24.5
           '@babel/helper-skip-transparent-expression-wrappers': 7.22.5
    -      '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.24.4)
    +      '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.24.5)
         dev: true
     
    -  /@babel/plugin-transform-parameters@7.24.1(@babel/core@7.24.4):
    -    resolution: {integrity: sha512-8Jl6V24g+Uw5OGPeWNKrKqXPDw2YDjLc53ojwfMcKwlEoETKU9rU0mHUtcg9JntWI/QYzGAXNWEcVHZ+fR+XXg==}
    +  /@babel/plugin-transform-parameters@7.24.5(@babel/core@7.24.5):
    +    resolution: {integrity: sha512-9Co00MqZ2aoky+4j2jhofErthm6QVLKbpQrvz20c3CH9KQCLHyNB+t2ya4/UrRpQGR+Wrwjg9foopoeSdnHOkA==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
         dependencies:
    -      '@babel/core': 7.24.4
    -      '@babel/helper-plugin-utils': 7.24.0
    +      '@babel/core': 7.24.5
    +      '@babel/helper-plugin-utils': 7.24.5
         dev: true
     
    -  /@babel/plugin-transform-private-methods@7.24.1(@babel/core@7.24.4):
    +  /@babel/plugin-transform-private-methods@7.24.1(@babel/core@7.24.5):
         resolution: {integrity: sha512-tGvisebwBO5em4PaYNqt4fkw56K2VALsAbAakY0FjTYqJp7gfdrgr7YX76Or8/cpik0W6+tj3rZ0uHU9Oil4tw==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
         dependencies:
    -      '@babel/core': 7.24.4
    -      '@babel/helper-create-class-features-plugin': 7.24.4(@babel/core@7.24.4)
    -      '@babel/helper-plugin-utils': 7.24.0
    +      '@babel/core': 7.24.5
    +      '@babel/helper-create-class-features-plugin': 7.24.5(@babel/core@7.24.5)
    +      '@babel/helper-plugin-utils': 7.24.5
         dev: true
     
    -  /@babel/plugin-transform-private-property-in-object@7.24.1(@babel/core@7.24.4):
    -    resolution: {integrity: sha512-pTHxDVa0BpUbvAgX3Gat+7cSciXqUcY9j2VZKTbSB6+VQGpNgNO9ailxTGHSXlqOnX1Hcx1Enme2+yv7VqP9bg==}
    +  /@babel/plugin-transform-private-property-in-object@7.24.5(@babel/core@7.24.5):
    +    resolution: {integrity: sha512-JM4MHZqnWR04jPMujQDTBVRnqxpLLpx2tkn7iPn+Hmsc0Gnb79yvRWOkvqFOx3Z7P7VxiRIR22c4eGSNj87OBQ==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
         dependencies:
    -      '@babel/core': 7.24.4
    +      '@babel/core': 7.24.5
           '@babel/helper-annotate-as-pure': 7.22.5
    -      '@babel/helper-create-class-features-plugin': 7.24.4(@babel/core@7.24.4)
    -      '@babel/helper-plugin-utils': 7.24.0
    -      '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.24.4)
    +      '@babel/helper-create-class-features-plugin': 7.24.5(@babel/core@7.24.5)
    +      '@babel/helper-plugin-utils': 7.24.5
    +      '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.24.5)
         dev: true
     
    -  /@babel/plugin-transform-property-literals@7.24.1(@babel/core@7.24.4):
    +  /@babel/plugin-transform-property-literals@7.24.1(@babel/core@7.24.5):
         resolution: {integrity: sha512-LetvD7CrHmEx0G442gOomRr66d7q8HzzGGr4PMHGr+5YIm6++Yke+jxj246rpvsbyhJwCLxcTn6zW1P1BSenqA==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
         dependencies:
    -      '@babel/core': 7.24.4
    -      '@babel/helper-plugin-utils': 7.24.0
    +      '@babel/core': 7.24.5
    +      '@babel/helper-plugin-utils': 7.24.5
         dev: true
     
    -  /@babel/plugin-transform-regenerator@7.24.1(@babel/core@7.24.4):
    +  /@babel/plugin-transform-regenerator@7.24.1(@babel/core@7.24.5):
         resolution: {integrity: sha512-sJwZBCzIBE4t+5Q4IGLaaun5ExVMRY0lYwos/jNecjMrVCygCdph3IKv0tkP5Fc87e/1+bebAmEAGBfnRD+cnw==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
         dependencies:
    -      '@babel/core': 7.24.4
    -      '@babel/helper-plugin-utils': 7.24.0
    +      '@babel/core': 7.24.5
    +      '@babel/helper-plugin-utils': 7.24.5
           regenerator-transform: 0.15.2
         dev: true
     
    -  /@babel/plugin-transform-reserved-words@7.24.1(@babel/core@7.24.4):
    +  /@babel/plugin-transform-reserved-words@7.24.1(@babel/core@7.24.5):
         resolution: {integrity: sha512-JAclqStUfIwKN15HrsQADFgeZt+wexNQ0uLhuqvqAUFoqPMjEcFCYZBhq0LUdz6dZK/mD+rErhW71fbx8RYElg==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
         dependencies:
    -      '@babel/core': 7.24.4
    -      '@babel/helper-plugin-utils': 7.24.0
    +      '@babel/core': 7.24.5
    +      '@babel/helper-plugin-utils': 7.24.5
         dev: true
     
    -  /@babel/plugin-transform-shorthand-properties@7.24.1(@babel/core@7.24.4):
    +  /@babel/plugin-transform-shorthand-properties@7.24.1(@babel/core@7.24.5):
         resolution: {integrity: sha512-LyjVB1nsJ6gTTUKRjRWx9C1s9hE7dLfP/knKdrfeH9UPtAGjYGgxIbFfx7xyLIEWs7Xe1Gnf8EWiUqfjLhInZA==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
         dependencies:
    -      '@babel/core': 7.24.4
    -      '@babel/helper-plugin-utils': 7.24.0
    +      '@babel/core': 7.24.5
    +      '@babel/helper-plugin-utils': 7.24.5
         dev: true
     
    -  /@babel/plugin-transform-spread@7.24.1(@babel/core@7.24.4):
    +  /@babel/plugin-transform-spread@7.24.1(@babel/core@7.24.5):
         resolution: {integrity: sha512-KjmcIM+fxgY+KxPVbjelJC6hrH1CgtPmTvdXAfn3/a9CnWGSTY7nH4zm5+cjmWJybdcPSsD0++QssDsjcpe47g==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
         dependencies:
    -      '@babel/core': 7.24.4
    -      '@babel/helper-plugin-utils': 7.24.0
    +      '@babel/core': 7.24.5
    +      '@babel/helper-plugin-utils': 7.24.5
           '@babel/helper-skip-transparent-expression-wrappers': 7.22.5
         dev: true
     
    -  /@babel/plugin-transform-sticky-regex@7.24.1(@babel/core@7.24.4):
    +  /@babel/plugin-transform-sticky-regex@7.24.1(@babel/core@7.24.5):
         resolution: {integrity: sha512-9v0f1bRXgPVcPrngOQvLXeGNNVLc8UjMVfebo9ka0WF3/7+aVUHmaJVT3sa0XCzEFioPfPHZiOcYG9qOsH63cw==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
         dependencies:
    -      '@babel/core': 7.24.4
    -      '@babel/helper-plugin-utils': 7.24.0
    +      '@babel/core': 7.24.5
    +      '@babel/helper-plugin-utils': 7.24.5
         dev: true
     
    -  /@babel/plugin-transform-template-literals@7.24.1(@babel/core@7.24.4):
    +  /@babel/plugin-transform-template-literals@7.24.1(@babel/core@7.24.5):
         resolution: {integrity: sha512-WRkhROsNzriarqECASCNu/nojeXCDTE/F2HmRgOzi7NGvyfYGq1NEjKBK3ckLfRgGc6/lPAqP0vDOSw3YtG34g==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
         dependencies:
    -      '@babel/core': 7.24.4
    -      '@babel/helper-plugin-utils': 7.24.0
    +      '@babel/core': 7.24.5
    +      '@babel/helper-plugin-utils': 7.24.5
         dev: true
     
    -  /@babel/plugin-transform-typeof-symbol@7.24.1(@babel/core@7.24.4):
    -    resolution: {integrity: sha512-CBfU4l/A+KruSUoW+vTQthwcAdwuqbpRNB8HQKlZABwHRhsdHZ9fezp4Sn18PeAlYxTNiLMlx4xUBV3AWfg1BA==}
    +  /@babel/plugin-transform-typeof-symbol@7.24.5(@babel/core@7.24.5):
    +    resolution: {integrity: sha512-UTGnhYVZtTAjdwOTzT+sCyXmTn8AhaxOS/MjG9REclZ6ULHWF9KoCZur0HSGU7hk8PdBFKKbYe6+gqdXWz84Jg==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
         dependencies:
    -      '@babel/core': 7.24.4
    -      '@babel/helper-plugin-utils': 7.24.0
    +      '@babel/core': 7.24.5
    +      '@babel/helper-plugin-utils': 7.24.5
         dev: true
     
       /@babel/plugin-transform-typescript@7.24.4(@babel/core@7.24.4):
    @@ -2120,149 +2365,149 @@ packages:
           '@babel/plugin-syntax-typescript': 7.24.1(@babel/core@7.24.4)
         dev: true
     
    -  /@babel/plugin-transform-unicode-escapes@7.24.1(@babel/core@7.24.4):
    +  /@babel/plugin-transform-unicode-escapes@7.24.1(@babel/core@7.24.5):
         resolution: {integrity: sha512-RlkVIcWT4TLI96zM660S877E7beKlQw7Ig+wqkKBiWfj0zH5Q4h50q6er4wzZKRNSYpfo6ILJ+hrJAGSX2qcNw==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
         dependencies:
    -      '@babel/core': 7.24.4
    -      '@babel/helper-plugin-utils': 7.24.0
    +      '@babel/core': 7.24.5
    +      '@babel/helper-plugin-utils': 7.24.5
         dev: true
     
    -  /@babel/plugin-transform-unicode-property-regex@7.24.1(@babel/core@7.24.4):
    +  /@babel/plugin-transform-unicode-property-regex@7.24.1(@babel/core@7.24.5):
         resolution: {integrity: sha512-Ss4VvlfYV5huWApFsF8/Sq0oXnGO+jB+rijFEFugTd3cwSObUSnUi88djgR5528Csl0uKlrI331kRqe56Ov2Ng==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
         dependencies:
    -      '@babel/core': 7.24.4
    -      '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.24.4)
    -      '@babel/helper-plugin-utils': 7.24.0
    +      '@babel/core': 7.24.5
    +      '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.24.5)
    +      '@babel/helper-plugin-utils': 7.24.5
         dev: true
     
    -  /@babel/plugin-transform-unicode-regex@7.24.1(@babel/core@7.24.4):
    +  /@babel/plugin-transform-unicode-regex@7.24.1(@babel/core@7.24.5):
         resolution: {integrity: sha512-2A/94wgZgxfTsiLaQ2E36XAOdcZmGAaEEgVmxQWwZXWkGhvoHbaqXcKnU8zny4ycpu3vNqg0L/PcCiYtHtA13g==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
         dependencies:
    -      '@babel/core': 7.24.4
    -      '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.24.4)
    -      '@babel/helper-plugin-utils': 7.24.0
    +      '@babel/core': 7.24.5
    +      '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.24.5)
    +      '@babel/helper-plugin-utils': 7.24.5
         dev: true
     
    -  /@babel/plugin-transform-unicode-sets-regex@7.24.1(@babel/core@7.24.4):
    +  /@babel/plugin-transform-unicode-sets-regex@7.24.1(@babel/core@7.24.5):
         resolution: {integrity: sha512-fqj4WuzzS+ukpgerpAoOnMfQXwUHFxXUZUE84oL2Kao2N8uSlvcpnAidKASgsNgzZHBsHWvcm8s9FPWUhAb8fA==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0
         dependencies:
    -      '@babel/core': 7.24.4
    -      '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.24.4)
    -      '@babel/helper-plugin-utils': 7.24.0
    +      '@babel/core': 7.24.5
    +      '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.24.5)
    +      '@babel/helper-plugin-utils': 7.24.5
         dev: true
     
    -  /@babel/preset-env@7.24.4(@babel/core@7.24.4):
    -    resolution: {integrity: sha512-7Kl6cSmYkak0FK/FXjSEnLJ1N9T/WA2RkMhu17gZ/dsxKJUuTYNIylahPTzqpLyJN4WhDif8X0XK1R8Wsguo/A==}
    +  /@babel/preset-env@7.24.5(@babel/core@7.24.5):
    +    resolution: {integrity: sha512-UGK2ifKtcC8i5AI4cH+sbLLuLc2ktYSFJgBAXorKAsHUZmrQ1q6aQ6i3BvU24wWs2AAKqQB6kq3N9V9Gw1HiMQ==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
         dependencies:
           '@babel/compat-data': 7.24.4
    -      '@babel/core': 7.24.4
    +      '@babel/core': 7.24.5
           '@babel/helper-compilation-targets': 7.23.6
    -      '@babel/helper-plugin-utils': 7.24.0
    +      '@babel/helper-plugin-utils': 7.24.5
           '@babel/helper-validator-option': 7.23.5
    -      '@babel/plugin-bugfix-firefox-class-in-computed-class-key': 7.24.4(@babel/core@7.24.4)
    -      '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression': 7.24.1(@babel/core@7.24.4)
    -      '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.24.1(@babel/core@7.24.4)
    -      '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly': 7.24.1(@babel/core@7.24.4)
    -      '@babel/plugin-proposal-private-property-in-object': 7.21.0-placeholder-for-preset-env.2(@babel/core@7.24.4)
    -      '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.24.4)
    -      '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.24.4)
    -      '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.24.4)
    -      '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.24.4)
    -      '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.24.4)
    -      '@babel/plugin-syntax-import-assertions': 7.24.1(@babel/core@7.24.4)
    -      '@babel/plugin-syntax-import-attributes': 7.24.1(@babel/core@7.24.4)
    -      '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.24.4)
    -      '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.24.4)
    -      '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.24.4)
    -      '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.24.4)
    -      '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.24.4)
    -      '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.24.4)
    -      '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.24.4)
    -      '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.24.4)
    -      '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.24.4)
    -      '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.24.4)
    -      '@babel/plugin-syntax-unicode-sets-regex': 7.18.6(@babel/core@7.24.4)
    -      '@babel/plugin-transform-arrow-functions': 7.24.1(@babel/core@7.24.4)
    -      '@babel/plugin-transform-async-generator-functions': 7.24.3(@babel/core@7.24.4)
    -      '@babel/plugin-transform-async-to-generator': 7.24.1(@babel/core@7.24.4)
    -      '@babel/plugin-transform-block-scoped-functions': 7.24.1(@babel/core@7.24.4)
    -      '@babel/plugin-transform-block-scoping': 7.24.4(@babel/core@7.24.4)
    -      '@babel/plugin-transform-class-properties': 7.24.1(@babel/core@7.24.4)
    -      '@babel/plugin-transform-class-static-block': 7.24.4(@babel/core@7.24.4)
    -      '@babel/plugin-transform-classes': 7.24.1(@babel/core@7.24.4)
    -      '@babel/plugin-transform-computed-properties': 7.24.1(@babel/core@7.24.4)
    -      '@babel/plugin-transform-destructuring': 7.24.1(@babel/core@7.24.4)
    -      '@babel/plugin-transform-dotall-regex': 7.24.1(@babel/core@7.24.4)
    -      '@babel/plugin-transform-duplicate-keys': 7.24.1(@babel/core@7.24.4)
    -      '@babel/plugin-transform-dynamic-import': 7.24.1(@babel/core@7.24.4)
    -      '@babel/plugin-transform-exponentiation-operator': 7.24.1(@babel/core@7.24.4)
    -      '@babel/plugin-transform-export-namespace-from': 7.24.1(@babel/core@7.24.4)
    -      '@babel/plugin-transform-for-of': 7.24.1(@babel/core@7.24.4)
    -      '@babel/plugin-transform-function-name': 7.24.1(@babel/core@7.24.4)
    -      '@babel/plugin-transform-json-strings': 7.24.1(@babel/core@7.24.4)
    -      '@babel/plugin-transform-literals': 7.24.1(@babel/core@7.24.4)
    -      '@babel/plugin-transform-logical-assignment-operators': 7.24.1(@babel/core@7.24.4)
    -      '@babel/plugin-transform-member-expression-literals': 7.24.1(@babel/core@7.24.4)
    -      '@babel/plugin-transform-modules-amd': 7.24.1(@babel/core@7.24.4)
    -      '@babel/plugin-transform-modules-commonjs': 7.24.1(@babel/core@7.24.4)
    -      '@babel/plugin-transform-modules-systemjs': 7.24.1(@babel/core@7.24.4)
    -      '@babel/plugin-transform-modules-umd': 7.24.1(@babel/core@7.24.4)
    -      '@babel/plugin-transform-named-capturing-groups-regex': 7.22.5(@babel/core@7.24.4)
    -      '@babel/plugin-transform-new-target': 7.24.1(@babel/core@7.24.4)
    -      '@babel/plugin-transform-nullish-coalescing-operator': 7.24.1(@babel/core@7.24.4)
    -      '@babel/plugin-transform-numeric-separator': 7.24.1(@babel/core@7.24.4)
    -      '@babel/plugin-transform-object-rest-spread': 7.24.1(@babel/core@7.24.4)
    -      '@babel/plugin-transform-object-super': 7.24.1(@babel/core@7.24.4)
    -      '@babel/plugin-transform-optional-catch-binding': 7.24.1(@babel/core@7.24.4)
    -      '@babel/plugin-transform-optional-chaining': 7.24.1(@babel/core@7.24.4)
    -      '@babel/plugin-transform-parameters': 7.24.1(@babel/core@7.24.4)
    -      '@babel/plugin-transform-private-methods': 7.24.1(@babel/core@7.24.4)
    -      '@babel/plugin-transform-private-property-in-object': 7.24.1(@babel/core@7.24.4)
    -      '@babel/plugin-transform-property-literals': 7.24.1(@babel/core@7.24.4)
    -      '@babel/plugin-transform-regenerator': 7.24.1(@babel/core@7.24.4)
    -      '@babel/plugin-transform-reserved-words': 7.24.1(@babel/core@7.24.4)
    -      '@babel/plugin-transform-shorthand-properties': 7.24.1(@babel/core@7.24.4)
    -      '@babel/plugin-transform-spread': 7.24.1(@babel/core@7.24.4)
    -      '@babel/plugin-transform-sticky-regex': 7.24.1(@babel/core@7.24.4)
    -      '@babel/plugin-transform-template-literals': 7.24.1(@babel/core@7.24.4)
    -      '@babel/plugin-transform-typeof-symbol': 7.24.1(@babel/core@7.24.4)
    -      '@babel/plugin-transform-unicode-escapes': 7.24.1(@babel/core@7.24.4)
    -      '@babel/plugin-transform-unicode-property-regex': 7.24.1(@babel/core@7.24.4)
    -      '@babel/plugin-transform-unicode-regex': 7.24.1(@babel/core@7.24.4)
    -      '@babel/plugin-transform-unicode-sets-regex': 7.24.1(@babel/core@7.24.4)
    -      '@babel/preset-modules': 0.1.6-no-external-plugins(@babel/core@7.24.4)
    -      babel-plugin-polyfill-corejs2: 0.4.11(@babel/core@7.24.4)
    -      babel-plugin-polyfill-corejs3: 0.10.4(@babel/core@7.24.4)
    -      babel-plugin-polyfill-regenerator: 0.6.2(@babel/core@7.24.4)
    +      '@babel/plugin-bugfix-firefox-class-in-computed-class-key': 7.24.5(@babel/core@7.24.5)
    +      '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression': 7.24.1(@babel/core@7.24.5)
    +      '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.24.1(@babel/core@7.24.5)
    +      '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly': 7.24.1(@babel/core@7.24.5)
    +      '@babel/plugin-proposal-private-property-in-object': 7.21.0-placeholder-for-preset-env.2(@babel/core@7.24.5)
    +      '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.24.5)
    +      '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.24.5)
    +      '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.24.5)
    +      '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.24.5)
    +      '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.24.5)
    +      '@babel/plugin-syntax-import-assertions': 7.24.1(@babel/core@7.24.5)
    +      '@babel/plugin-syntax-import-attributes': 7.24.1(@babel/core@7.24.5)
    +      '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.24.5)
    +      '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.24.5)
    +      '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.24.5)
    +      '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.24.5)
    +      '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.24.5)
    +      '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.24.5)
    +      '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.24.5)
    +      '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.24.5)
    +      '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.24.5)
    +      '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.24.5)
    +      '@babel/plugin-syntax-unicode-sets-regex': 7.18.6(@babel/core@7.24.5)
    +      '@babel/plugin-transform-arrow-functions': 7.24.1(@babel/core@7.24.5)
    +      '@babel/plugin-transform-async-generator-functions': 7.24.3(@babel/core@7.24.5)
    +      '@babel/plugin-transform-async-to-generator': 7.24.1(@babel/core@7.24.5)
    +      '@babel/plugin-transform-block-scoped-functions': 7.24.1(@babel/core@7.24.5)
    +      '@babel/plugin-transform-block-scoping': 7.24.5(@babel/core@7.24.5)
    +      '@babel/plugin-transform-class-properties': 7.24.1(@babel/core@7.24.5)
    +      '@babel/plugin-transform-class-static-block': 7.24.4(@babel/core@7.24.5)
    +      '@babel/plugin-transform-classes': 7.24.5(@babel/core@7.24.5)
    +      '@babel/plugin-transform-computed-properties': 7.24.1(@babel/core@7.24.5)
    +      '@babel/plugin-transform-destructuring': 7.24.5(@babel/core@7.24.5)
    +      '@babel/plugin-transform-dotall-regex': 7.24.1(@babel/core@7.24.5)
    +      '@babel/plugin-transform-duplicate-keys': 7.24.1(@babel/core@7.24.5)
    +      '@babel/plugin-transform-dynamic-import': 7.24.1(@babel/core@7.24.5)
    +      '@babel/plugin-transform-exponentiation-operator': 7.24.1(@babel/core@7.24.5)
    +      '@babel/plugin-transform-export-namespace-from': 7.24.1(@babel/core@7.24.5)
    +      '@babel/plugin-transform-for-of': 7.24.1(@babel/core@7.24.5)
    +      '@babel/plugin-transform-function-name': 7.24.1(@babel/core@7.24.5)
    +      '@babel/plugin-transform-json-strings': 7.24.1(@babel/core@7.24.5)
    +      '@babel/plugin-transform-literals': 7.24.1(@babel/core@7.24.5)
    +      '@babel/plugin-transform-logical-assignment-operators': 7.24.1(@babel/core@7.24.5)
    +      '@babel/plugin-transform-member-expression-literals': 7.24.1(@babel/core@7.24.5)
    +      '@babel/plugin-transform-modules-amd': 7.24.1(@babel/core@7.24.5)
    +      '@babel/plugin-transform-modules-commonjs': 7.24.1(@babel/core@7.24.5)
    +      '@babel/plugin-transform-modules-systemjs': 7.24.1(@babel/core@7.24.5)
    +      '@babel/plugin-transform-modules-umd': 7.24.1(@babel/core@7.24.5)
    +      '@babel/plugin-transform-named-capturing-groups-regex': 7.22.5(@babel/core@7.24.5)
    +      '@babel/plugin-transform-new-target': 7.24.1(@babel/core@7.24.5)
    +      '@babel/plugin-transform-nullish-coalescing-operator': 7.24.1(@babel/core@7.24.5)
    +      '@babel/plugin-transform-numeric-separator': 7.24.1(@babel/core@7.24.5)
    +      '@babel/plugin-transform-object-rest-spread': 7.24.5(@babel/core@7.24.5)
    +      '@babel/plugin-transform-object-super': 7.24.1(@babel/core@7.24.5)
    +      '@babel/plugin-transform-optional-catch-binding': 7.24.1(@babel/core@7.24.5)
    +      '@babel/plugin-transform-optional-chaining': 7.24.5(@babel/core@7.24.5)
    +      '@babel/plugin-transform-parameters': 7.24.5(@babel/core@7.24.5)
    +      '@babel/plugin-transform-private-methods': 7.24.1(@babel/core@7.24.5)
    +      '@babel/plugin-transform-private-property-in-object': 7.24.5(@babel/core@7.24.5)
    +      '@babel/plugin-transform-property-literals': 7.24.1(@babel/core@7.24.5)
    +      '@babel/plugin-transform-regenerator': 7.24.1(@babel/core@7.24.5)
    +      '@babel/plugin-transform-reserved-words': 7.24.1(@babel/core@7.24.5)
    +      '@babel/plugin-transform-shorthand-properties': 7.24.1(@babel/core@7.24.5)
    +      '@babel/plugin-transform-spread': 7.24.1(@babel/core@7.24.5)
    +      '@babel/plugin-transform-sticky-regex': 7.24.1(@babel/core@7.24.5)
    +      '@babel/plugin-transform-template-literals': 7.24.1(@babel/core@7.24.5)
    +      '@babel/plugin-transform-typeof-symbol': 7.24.5(@babel/core@7.24.5)
    +      '@babel/plugin-transform-unicode-escapes': 7.24.1(@babel/core@7.24.5)
    +      '@babel/plugin-transform-unicode-property-regex': 7.24.1(@babel/core@7.24.5)
    +      '@babel/plugin-transform-unicode-regex': 7.24.1(@babel/core@7.24.5)
    +      '@babel/plugin-transform-unicode-sets-regex': 7.24.1(@babel/core@7.24.5)
    +      '@babel/preset-modules': 0.1.6-no-external-plugins(@babel/core@7.24.5)
    +      babel-plugin-polyfill-corejs2: 0.4.11(@babel/core@7.24.5)
    +      babel-plugin-polyfill-corejs3: 0.10.4(@babel/core@7.24.5)
    +      babel-plugin-polyfill-regenerator: 0.6.2(@babel/core@7.24.5)
           core-js-compat: 3.37.0
           semver: 6.3.1
         transitivePeerDependencies:
           - supports-color
         dev: true
     
    -  /@babel/preset-modules@0.1.6-no-external-plugins(@babel/core@7.24.4):
    +  /@babel/preset-modules@0.1.6-no-external-plugins(@babel/core@7.24.5):
         resolution: {integrity: sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA==}
         peerDependencies:
           '@babel/core': ^7.0.0-0 || ^8.0.0-0 <8.0.0
         dependencies:
    -      '@babel/core': 7.24.4
    -      '@babel/helper-plugin-utils': 7.24.0
    -      '@babel/types': 7.24.0
    +      '@babel/core': 7.24.5
    +      '@babel/helper-plugin-utils': 7.24.5
    +      '@babel/types': 7.24.5
           esutils: 2.0.3
         dev: true
     
    @@ -2298,13 +2543,20 @@ packages:
           regenerator-runtime: 0.14.1
         dev: true
     
    +  /@babel/runtime@7.24.5:
    +    resolution: {integrity: sha512-Nms86NXrsaeU9vbBJKni6gXiEXZ4CVpYVzEjDH9Sb8vmZ3UljyA1GSOJl/6LGPO8EHLuSF9H+IxNXHPX8QHJ4g==}
    +    engines: {node: '>=6.9.0'}
    +    dependencies:
    +      regenerator-runtime: 0.14.1
    +    dev: true
    +
       /@babel/template@7.24.0:
         resolution: {integrity: sha512-Bkf2q8lMB0AFpX0NFEqSbx1OkTHf0f+0j82mkw+ZpzBnkk7e9Ql0891vlfgi+kHwOk8tQjiQHpqh4LaSa0fKEA==}
         engines: {node: '>=6.9.0'}
         dependencies:
           '@babel/code-frame': 7.24.2
    -      '@babel/parser': 7.24.4
    -      '@babel/types': 7.24.0
    +      '@babel/parser': 7.24.5
    +      '@babel/types': 7.24.5
         dev: true
     
       /@babel/traverse@7.24.1:
    @@ -2317,20 +2569,38 @@ packages:
           '@babel/helper-function-name': 7.23.0
           '@babel/helper-hoist-variables': 7.22.5
           '@babel/helper-split-export-declaration': 7.22.6
    -      '@babel/parser': 7.24.4
    -      '@babel/types': 7.24.0
    +      '@babel/parser': 7.24.5
    +      '@babel/types': 7.24.5
    +      debug: 4.3.4(supports-color@8.1.1)
    +      globals: 11.12.0
    +    transitivePeerDependencies:
    +      - supports-color
    +    dev: true
    +
    +  /@babel/traverse@7.24.5:
    +    resolution: {integrity: sha512-7aaBLeDQ4zYcUFDUD41lJc1fG8+5IU9DaNSJAgal866FGvmD5EbWQgnEC6kO1gGLsX0esNkfnJSndbTXA3r7UA==}
    +    engines: {node: '>=6.9.0'}
    +    dependencies:
    +      '@babel/code-frame': 7.24.2
    +      '@babel/generator': 7.24.5
    +      '@babel/helper-environment-visitor': 7.22.20
    +      '@babel/helper-function-name': 7.23.0
    +      '@babel/helper-hoist-variables': 7.22.5
    +      '@babel/helper-split-export-declaration': 7.24.5
    +      '@babel/parser': 7.24.5
    +      '@babel/types': 7.24.5
           debug: 4.3.4(supports-color@8.1.1)
           globals: 11.12.0
         transitivePeerDependencies:
           - supports-color
         dev: true
     
    -  /@babel/types@7.24.0:
    -    resolution: {integrity: sha512-+j7a5c253RfKh8iABBhywc8NSfP5LURe7Uh4qpsh6jc+aLJguvmIUBdjSdEMQv2bENrCR5MfRdjGo7vzS/ob7w==}
    +  /@babel/types@7.24.5:
    +    resolution: {integrity: sha512-6mQNsaLeXTw0nxYUYu+NSa4Hx4BlF1x1x8/PMFbiR+GBSr+2DkECc69b8hgy2frEodNcvPffeH8YfWd3LI6jhQ==}
         engines: {node: '>=6.9.0'}
         dependencies:
           '@babel/helper-string-parser': 7.24.1
    -      '@babel/helper-validator-identifier': 7.22.20
    +      '@babel/helper-validator-identifier': 7.24.5
           to-fast-properties: 2.0.0
     
       /@bcherny/json-schema-ref-parser@10.0.5-fork:
    @@ -2701,8 +2971,8 @@ packages:
         engines: {node: '>=18'}
         dev: true
     
    -  /@cypress/code-coverage@3.12.37(@babel/core@7.24.4)(@babel/preset-env@7.24.4)(babel-loader@9.1.3)(cypress@13.7.3)(webpack@5.91.0):
    -    resolution: {integrity: sha512-zrFenswftPuikfhIVCjCNG+dxWk/iJ4ML1WbMl9i+FFwGxEWL39/2H0wsAzl2FLIMk3K+AZPVrP74eE6VB+qqw==}
    +  /@cypress/code-coverage@3.12.38(@babel/core@7.24.5)(@babel/preset-env@7.24.5)(babel-loader@9.1.3)(cypress@13.7.3)(webpack@5.91.0):
    +    resolution: {integrity: sha512-1jYHxAeweMBD5hvrHdzpwmS0yHQ/AKHC1BsoAgYtvYYRe/aOkAeWUwy3CaOTQzyVOMa+cWFElPYYusf1WiW85A==}
         peerDependencies:
           '@babel/core': ^7.0.1
           '@babel/preset-env': ^7.0.0
    @@ -2710,10 +2980,10 @@ packages:
           cypress: '*'
           webpack: ^4 || ^5
         dependencies:
    -      '@babel/core': 7.24.4
    -      '@babel/preset-env': 7.24.4(@babel/core@7.24.4)
    -      '@cypress/webpack-preprocessor': 6.0.1(@babel/core@7.24.4)(@babel/preset-env@7.24.4)(babel-loader@9.1.3)(webpack@5.91.0)
    -      babel-loader: 9.1.3(@babel/core@7.24.4)(webpack@5.91.0)
    +      '@babel/core': 7.24.5
    +      '@babel/preset-env': 7.24.5(@babel/core@7.24.5)
    +      '@cypress/webpack-preprocessor': 6.0.1(@babel/core@7.24.5)(@babel/preset-env@7.24.5)(babel-loader@9.1.3)(webpack@5.91.0)
    +      babel-loader: 9.1.3(@babel/core@7.24.5)(webpack@5.91.0)
           chalk: 4.1.2
           cypress: 13.7.3
           dayjs: 1.11.10
    @@ -2752,7 +3022,7 @@ packages:
           uuid: 8.3.2
         dev: true
     
    -  /@cypress/webpack-preprocessor@6.0.1(@babel/core@7.24.4)(@babel/preset-env@7.24.4)(babel-loader@9.1.3)(webpack@5.91.0):
    +  /@cypress/webpack-preprocessor@6.0.1(@babel/core@7.24.5)(@babel/preset-env@7.24.5)(babel-loader@9.1.3)(webpack@5.91.0):
         resolution: {integrity: sha512-WVNeFVSnFKxE3WZNRIriduTgqJRpevaiJIPlfqYTTzfXRD7X1Pv4woDE+G4caPV9bJqVKmVFiwzrXMRNeJxpxA==}
         peerDependencies:
           '@babel/core': ^7.0.1
    @@ -2760,9 +3030,9 @@ packages:
           babel-loader: ^8.3 || ^9
           webpack: ^4 || ^5
         dependencies:
    -      '@babel/core': 7.24.4
    -      '@babel/preset-env': 7.24.4(@babel/core@7.24.4)
    -      babel-loader: 9.1.3(@babel/core@7.24.4)(webpack@5.91.0)
    +      '@babel/core': 7.24.5
    +      '@babel/preset-env': 7.24.5(@babel/core@7.24.5)
    +      babel-loader: 9.1.3(@babel/core@7.24.5)(webpack@5.91.0)
           bluebird: 3.7.1
           debug: 4.3.4(supports-color@8.1.1)
           lodash: 4.17.21
    @@ -2793,7 +3063,7 @@ packages:
         resolution: {integrity: sha512-QujhqINEElrkIfKwyyyTfbsfMAYCkylInLYMRqHy7PHc8xTBQCow73tlo/Kc7oIwBrCLf0P3YhjlOeV4v8hevQ==}
         dependencies:
           '@docsearch/react': 3.6.0(@algolia/client-search@4.23.3)(search-insights@2.13.0)
    -      preact: 10.20.2
    +      preact: 10.21.0
         transitivePeerDependencies:
           - '@algolia/client-search'
           - '@types/react'
    @@ -3391,8 +3661,8 @@ packages:
         resolution: {integrity: sha512-6EwiSjwWYP7pTckG6I5eyFANjPhmPjUX9JRLUSfNPC7FX7zK9gyZAfUEaECL6ALTpGX5AjnBq3C9XmVWPitNpw==}
         dev: true
     
    -  /@iconify-json/carbon@1.1.31:
    -    resolution: {integrity: sha512-CAvECFfiwGyZmlcuM2JLMRDEN3VsIEZv6lml7Xf+3giQ5oXloADm0b5wiVPFZmONKM5jXERmx+E7YSvAtFJIbw==}
    +  /@iconify-json/carbon@1.1.32:
    +    resolution: {integrity: sha512-9X8wVI7AmcnjTyOdDoCgyNwcFL9lb++nacDS2yLANTc27F4y9Q8pJIfUVsakR4KcGqSSBCyXwEmBDeopeTZFqA==}
         dependencies:
           '@iconify/types': 2.0.0
         dev: true
    @@ -3746,7 +4016,7 @@ packages:
         resolution: {integrity: sha512-j7P6Rgr3mmtdkeDGTe0E/aYyWEWVtc5yFXtHCRHs28/jptDEWfaVOc5T7cblqy1XKPPfCxJc/8DwQ5YgLOZOVQ==}
         dev: true
     
    -  /@rollup/plugin-babel@5.3.1(@babel/core@7.24.4)(rollup@2.79.1):
    +  /@rollup/plugin-babel@5.3.1(@babel/core@7.24.5)(rollup@2.79.1):
         resolution: {integrity: sha512-WFfdLWU/xVWKeRQnKmIAQULUI7Il0gZnBIH/ZFO069wYIfPu+8zrfp/KMW0atmELoRDq8FbiP3VCss9MhCut7Q==}
         engines: {node: '>= 10.0.0'}
         peerDependencies:
    @@ -3757,7 +4027,7 @@ packages:
           '@types/babel__core':
             optional: true
         dependencies:
    -      '@babel/core': 7.24.4
    +      '@babel/core': 7.24.5
           '@babel/helper-module-imports': 7.24.3
           '@rollup/pluginutils': 3.1.0(rollup@2.79.1)
           rollup: 2.79.1
    @@ -3803,7 +4073,7 @@ packages:
           rollup: 2.79.1
           serialize-javascript: 6.0.2
           smob: 1.5.0
    -      terser: 5.30.4
    +      terser: 5.31.0
         dev: true
     
       /@rollup/plugin-typescript@11.1.6(typescript@5.4.5):
    @@ -3851,142 +4121,142 @@ packages:
           rollup: 2.79.1
         dev: true
     
    -  /@rollup/rollup-android-arm-eabi@4.16.4:
    -    resolution: {integrity: sha512-GkhjAaQ8oUTOKE4g4gsZ0u8K/IHU1+2WQSgS1TwTcYvL+sjbaQjNHFXbOJ6kgqGHIO1DfUhI/Sphi9GkRT9K+Q==}
    +  /@rollup/rollup-android-arm-eabi@4.17.2:
    +    resolution: {integrity: sha512-NM0jFxY8bB8QLkoKxIQeObCaDlJKewVlIEkuyYKm5An1tdVZ966w2+MPQ2l8LBZLjR+SgyV+nRkTIunzOYBMLQ==}
         cpu: [arm]
         os: [android]
         requiresBuild: true
         dev: true
         optional: true
     
    -  /@rollup/rollup-android-arm64@4.16.4:
    -    resolution: {integrity: sha512-Bvm6D+NPbGMQOcxvS1zUl8H7DWlywSXsphAeOnVeiZLQ+0J6Is8T7SrjGTH29KtYkiY9vld8ZnpV3G2EPbom+w==}
    +  /@rollup/rollup-android-arm64@4.17.2:
    +    resolution: {integrity: sha512-yeX/Usk7daNIVwkq2uGoq2BYJKZY1JfyLTaHO/jaiSwi/lsf8fTFoQW/n6IdAsx5tx+iotu2zCJwz8MxI6D/Bw==}
         cpu: [arm64]
         os: [android]
         requiresBuild: true
         dev: true
         optional: true
     
    -  /@rollup/rollup-darwin-arm64@4.16.4:
    -    resolution: {integrity: sha512-i5d64MlnYBO9EkCOGe5vPR/EeDwjnKOGGdd7zKFhU5y8haKhQZTN2DgVtpODDMxUr4t2K90wTUJg7ilgND6bXw==}
    +  /@rollup/rollup-darwin-arm64@4.17.2:
    +    resolution: {integrity: sha512-kcMLpE6uCwls023+kknm71ug7MZOrtXo+y5p/tsg6jltpDtgQY1Eq5sGfHcQfb+lfuKwhBmEURDga9N0ol4YPw==}
         cpu: [arm64]
         os: [darwin]
         requiresBuild: true
         dev: true
         optional: true
     
    -  /@rollup/rollup-darwin-x64@4.16.4:
    -    resolution: {integrity: sha512-WZupV1+CdUYehaZqjaFTClJI72fjJEgTXdf4NbW69I9XyvdmztUExBtcI2yIIU6hJtYvtwS6pkTkHJz+k08mAQ==}
    +  /@rollup/rollup-darwin-x64@4.17.2:
    +    resolution: {integrity: sha512-AtKwD0VEx0zWkL0ZjixEkp5tbNLzX+FCqGG1SvOu993HnSz4qDI6S4kGzubrEJAljpVkhRSlg5bzpV//E6ysTQ==}
         cpu: [x64]
         os: [darwin]
         requiresBuild: true
         dev: true
         optional: true
     
    -  /@rollup/rollup-linux-arm-gnueabihf@4.16.4:
    -    resolution: {integrity: sha512-ADm/xt86JUnmAfA9mBqFcRp//RVRt1ohGOYF6yL+IFCYqOBNwy5lbEK05xTsEoJq+/tJzg8ICUtS82WinJRuIw==}
    +  /@rollup/rollup-linux-arm-gnueabihf@4.17.2:
    +    resolution: {integrity: sha512-3reX2fUHqN7sffBNqmEyMQVj/CKhIHZd4y631duy0hZqI8Qoqf6lTtmAKvJFYa6bhU95B1D0WgzHkmTg33In0A==}
         cpu: [arm]
         os: [linux]
         requiresBuild: true
         dev: true
         optional: true
     
    -  /@rollup/rollup-linux-arm-musleabihf@4.16.4:
    -    resolution: {integrity: sha512-tJfJaXPiFAG+Jn3cutp7mCs1ePltuAgRqdDZrzb1aeE3TktWWJ+g7xK9SNlaSUFw6IU4QgOxAY4rA+wZUT5Wfg==}
    +  /@rollup/rollup-linux-arm-musleabihf@4.17.2:
    +    resolution: {integrity: sha512-uSqpsp91mheRgw96xtyAGP9FW5ChctTFEoXP0r5FAzj/3ZRv3Uxjtc7taRQSaQM/q85KEKjKsZuiZM3GyUivRg==}
         cpu: [arm]
         os: [linux]
         requiresBuild: true
         dev: true
         optional: true
     
    -  /@rollup/rollup-linux-arm64-gnu@4.16.4:
    -    resolution: {integrity: sha512-7dy1BzQkgYlUTapDTvK997cgi0Orh5Iu7JlZVBy1MBURk7/HSbHkzRnXZa19ozy+wwD8/SlpJnOOckuNZtJR9w==}
    +  /@rollup/rollup-linux-arm64-gnu@4.17.2:
    +    resolution: {integrity: sha512-EMMPHkiCRtE8Wdk3Qhtciq6BndLtstqZIroHiiGzB3C5LDJmIZcSzVtLRbwuXuUft1Cnv+9fxuDtDxz3k3EW2A==}
         cpu: [arm64]
         os: [linux]
         requiresBuild: true
         dev: true
         optional: true
     
    -  /@rollup/rollup-linux-arm64-musl@4.16.4:
    -    resolution: {integrity: sha512-zsFwdUw5XLD1gQe0aoU2HVceI6NEW7q7m05wA46eUAyrkeNYExObfRFQcvA6zw8lfRc5BHtan3tBpo+kqEOxmg==}
    +  /@rollup/rollup-linux-arm64-musl@4.17.2:
    +    resolution: {integrity: sha512-NMPylUUZ1i0z/xJUIx6VUhISZDRT+uTWpBcjdv0/zkp7b/bQDF+NfnfdzuTiB1G6HTodgoFa93hp0O1xl+/UbA==}
         cpu: [arm64]
         os: [linux]
         requiresBuild: true
         dev: true
         optional: true
     
    -  /@rollup/rollup-linux-powerpc64le-gnu@4.16.4:
    -    resolution: {integrity: sha512-p8C3NnxXooRdNrdv6dBmRTddEapfESEUflpICDNKXpHvTjRRq1J82CbU5G3XfebIZyI3B0s074JHMWD36qOW6w==}
    +  /@rollup/rollup-linux-powerpc64le-gnu@4.17.2:
    +    resolution: {integrity: sha512-T19My13y8uYXPw/L/k0JYaX1fJKFT/PWdXiHr8mTbXWxjVF1t+8Xl31DgBBvEKclw+1b00Chg0hxE2O7bTG7GQ==}
         cpu: [ppc64]
         os: [linux]
         requiresBuild: true
         dev: true
         optional: true
     
    -  /@rollup/rollup-linux-riscv64-gnu@4.16.4:
    -    resolution: {integrity: sha512-Lh/8ckoar4s4Id2foY7jNgitTOUQczwMWNYi+Mjt0eQ9LKhr6sK477REqQkmy8YHY3Ca3A2JJVdXnfb3Rrwkng==}
    +  /@rollup/rollup-linux-riscv64-gnu@4.17.2:
    +    resolution: {integrity: sha512-BOaNfthf3X3fOWAB+IJ9kxTgPmMqPPH5f5k2DcCsRrBIbWnaJCgX2ll77dV1TdSy9SaXTR5iDXRL8n7AnoP5cg==}
         cpu: [riscv64]
         os: [linux]
         requiresBuild: true
         dev: true
         optional: true
     
    -  /@rollup/rollup-linux-s390x-gnu@4.16.4:
    -    resolution: {integrity: sha512-1xwwn9ZCQYuqGmulGsTZoKrrn0z2fAur2ujE60QgyDpHmBbXbxLaQiEvzJWDrscRq43c8DnuHx3QorhMTZgisQ==}
    +  /@rollup/rollup-linux-s390x-gnu@4.17.2:
    +    resolution: {integrity: sha512-W0UP/x7bnn3xN2eYMql2T/+wpASLE5SjObXILTMPUBDB/Fg/FxC+gX4nvCfPBCbNhz51C+HcqQp2qQ4u25ok6g==}
         cpu: [s390x]
         os: [linux]
         requiresBuild: true
         dev: true
         optional: true
     
    -  /@rollup/rollup-linux-x64-gnu@4.16.4:
    -    resolution: {integrity: sha512-LuOGGKAJ7dfRtxVnO1i3qWc6N9sh0Em/8aZ3CezixSTM+E9Oq3OvTsvC4sm6wWjzpsIlOCnZjdluINKESflJLA==}
    +  /@rollup/rollup-linux-x64-gnu@4.17.2:
    +    resolution: {integrity: sha512-Hy7pLwByUOuyaFC6mAr7m+oMC+V7qyifzs/nW2OJfC8H4hbCzOX07Ov0VFk/zP3kBsELWNFi7rJtgbKYsav9QQ==}
         cpu: [x64]
         os: [linux]
         requiresBuild: true
         dev: true
         optional: true
     
    -  /@rollup/rollup-linux-x64-musl@4.16.4:
    -    resolution: {integrity: sha512-ch86i7KkJKkLybDP2AtySFTRi5fM3KXp0PnHocHuJMdZwu7BuyIKi35BE9guMlmTpwwBTB3ljHj9IQXnTCD0vA==}
    +  /@rollup/rollup-linux-x64-musl@4.17.2:
    +    resolution: {integrity: sha512-h1+yTWeYbRdAyJ/jMiVw0l6fOOm/0D1vNLui9iPuqgRGnXA0u21gAqOyB5iHjlM9MMfNOm9RHCQ7zLIzT0x11Q==}
         cpu: [x64]
         os: [linux]
         requiresBuild: true
         dev: true
         optional: true
     
    -  /@rollup/rollup-win32-arm64-msvc@4.16.4:
    -    resolution: {integrity: sha512-Ma4PwyLfOWZWayfEsNQzTDBVW8PZ6TUUN1uFTBQbF2Chv/+sjenE86lpiEwj2FiviSmSZ4Ap4MaAfl1ciF4aSA==}
    +  /@rollup/rollup-win32-arm64-msvc@4.17.2:
    +    resolution: {integrity: sha512-tmdtXMfKAjy5+IQsVtDiCfqbynAQE/TQRpWdVataHmhMb9DCoJxp9vLcCBjEQWMiUYxO1QprH/HbY9ragCEFLA==}
         cpu: [arm64]
         os: [win32]
         requiresBuild: true
         dev: true
         optional: true
     
    -  /@rollup/rollup-win32-ia32-msvc@4.16.4:
    -    resolution: {integrity: sha512-9m/ZDrQsdo/c06uOlP3W9G2ENRVzgzbSXmXHT4hwVaDQhYcRpi9bgBT0FTG9OhESxwK0WjQxYOSfv40cU+T69w==}
    +  /@rollup/rollup-win32-ia32-msvc@4.17.2:
    +    resolution: {integrity: sha512-7II/QCSTAHuE5vdZaQEwJq2ZACkBpQDOmQsE6D6XUbnBHW8IAhm4eTufL6msLJorzrHDFv3CF8oCA/hSIRuZeQ==}
         cpu: [ia32]
         os: [win32]
         requiresBuild: true
         dev: true
         optional: true
     
    -  /@rollup/rollup-win32-x64-msvc@4.16.4:
    -    resolution: {integrity: sha512-YunpoOAyGLDseanENHmbFvQSfVL5BxW3k7hhy0eN4rb3gS/ct75dVD0EXOWIqFT/nE8XYW6LP6vz6ctKRi0k9A==}
    +  /@rollup/rollup-win32-x64-msvc@4.17.2:
    +    resolution: {integrity: sha512-TGGO7v7qOq4CYmSBVEYpI1Y5xDuCEnbVC5Vth8mOsW0gDSzxNrVERPc790IGHsrT2dQSimgMr9Ub3Y1Jci5/8w==}
         cpu: [x64]
         os: [win32]
         requiresBuild: true
         dev: true
         optional: true
     
    -  /@shikijs/core@1.3.0:
    -    resolution: {integrity: sha512-7fedsBfuILDTBmrYZNFI8B6ATTxhQAasUHllHmjvSZPnoq4bULWoTpHwmuQvZ8Aq03/tAa2IGo6RXqWtHdWaCA==}
    +  /@shikijs/core@1.4.0:
    +    resolution: {integrity: sha512-CxpKLntAi64h3j+TwWqVIQObPTED0FyXLHTTh3MKXtqiQNn2JGcMQQ362LftDbc9kYbDtrksNMNoVmVXzKFYUQ==}
         dev: true
     
    -  /@shikijs/transformers@1.3.0:
    -    resolution: {integrity: sha512-3mlpg2I9CjhjE96dEWQOGeCWoPcyTov3s4aAsHmgvnTHa8MBknEnCQy8/xivJPSpD+olqOqIEoHnLfbNJK29AA==}
    +  /@shikijs/transformers@1.4.0:
    +    resolution: {integrity: sha512-kzvlWmWYYSeaLKRce/kgmFFORUtBtFahfXRKndor0b60ocYiXufBQM6d6w1PlMuUkdk55aor9xLvy9wy7hTEJg==}
         dependencies:
    -      shiki: 1.3.0
    +      shiki: 1.4.0
         dev: true
     
       /@sideway/address@4.1.5:
    @@ -4070,8 +4340,8 @@ packages:
       /@types/babel__core@7.20.5:
         resolution: {integrity: sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==}
         dependencies:
    -      '@babel/parser': 7.24.4
    -      '@babel/types': 7.24.0
    +      '@babel/parser': 7.24.5
    +      '@babel/types': 7.24.5
           '@types/babel__generator': 7.6.8
           '@types/babel__template': 7.4.4
           '@types/babel__traverse': 7.20.5
    @@ -4080,20 +4350,20 @@ packages:
       /@types/babel__generator@7.6.8:
         resolution: {integrity: sha512-ASsj+tpEDsEiFr1arWrlN6V3mdfjRMZt6LtK/Vp/kreFLnr5QH5+DhvD5nINYZXzwJvXeGq+05iUXcAzVrqWtw==}
         dependencies:
    -      '@babel/types': 7.24.0
    +      '@babel/types': 7.24.5
         dev: true
     
       /@types/babel__template@7.4.4:
         resolution: {integrity: sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==}
         dependencies:
    -      '@babel/parser': 7.24.4
    -      '@babel/types': 7.24.0
    +      '@babel/parser': 7.24.5
    +      '@babel/types': 7.24.5
         dev: true
     
       /@types/babel__traverse@7.20.5:
         resolution: {integrity: sha512-WXCyOcRtH37HAUkpXhUduaxdm82b4GSlyTqajXviN4EfiuPgNYR109xMCKvpl6zPIpua0DGlMEDCq+g8EdoheQ==}
         dependencies:
    -      '@babel/types': 7.24.0
    +      '@babel/types': 7.24.5
         dev: true
     
       /@types/body-parser@1.19.5:
    @@ -5126,7 +5396,7 @@ packages:
           vite-plugin-pwa: 0.19.8(vite@5.2.10)(workbox-build@7.1.0)(workbox-window@7.0.0)
         dev: true
     
    -  /@vitejs/plugin-vue@5.0.4(vite@5.2.10)(vue@3.4.25):
    +  /@vitejs/plugin-vue@5.0.4(vite@5.2.10)(vue@3.4.26):
         resolution: {integrity: sha512-WS3hevEszI6CEVEx28F8RjTX97k3KsrcY6kvTg7+Whm5y3oYvcqzVeGCU3hxSAn4uY2CLCkeokkGKpoctccilQ==}
         engines: {node: ^18.0.0 || >=20.0.0}
         peerDependencies:
    @@ -5134,13 +5404,13 @@ packages:
           vue: ^3.2.25
         dependencies:
           vite: 5.2.10(@types/node@20.12.7)
    -      vue: 3.4.25(typescript@5.4.5)
    +      vue: 3.4.26(typescript@5.4.5)
         dev: true
     
    -  /@vitest/coverage-v8@1.5.2(vitest@1.5.2):
    -    resolution: {integrity: sha512-QJqxRnbCwNtbbegK9E93rBmhN3dbfG1bC/o52Bqr0zGCYhQzwgwvrJBG7Q8vw3zilX6Ryy6oa/mkZku2lLJx1Q==}
    +  /@vitest/coverage-v8@1.5.3(vitest@1.5.3):
    +    resolution: {integrity: sha512-DPyGSu/fPHOJuPxzFSQoT4N/Fu/2aJfZRtEpEp8GI7NHsXBGE94CQ+pbEGBUMFjatsHPDJw/+TAF9r4ens2CNw==}
         peerDependencies:
    -      vitest: 1.5.2
    +      vitest: 1.5.3
         dependencies:
           '@ampproject/remapping': 2.3.0
           '@bcoe/v8-coverage': 0.2.3
    @@ -5155,58 +5425,58 @@ packages:
           std-env: 3.7.0
           strip-literal: 2.1.0
           test-exclude: 6.0.0
    -      vitest: 1.5.2(@types/node@20.12.7)(@vitest/ui@1.5.2)(jsdom@24.0.0)
    +      vitest: 1.5.3(@types/node@20.12.7)(@vitest/ui@1.5.3)(jsdom@24.0.0)
         transitivePeerDependencies:
           - supports-color
         dev: true
     
    -  /@vitest/expect@1.5.2:
    -    resolution: {integrity: sha512-rf7MTD1WCoDlN3FfYJ9Llfp0PbdtOMZ3FIF0AVkDnKbp3oiMW1c8AmvRZBcqbAhDUAvF52e9zx4WQM1r3oraVA==}
    +  /@vitest/expect@1.5.3:
    +    resolution: {integrity: sha512-y+waPz31pOFr3rD7vWTbwiLe5+MgsMm40jTZbQE8p8/qXyBX3CQsIXRx9XK12IbY7q/t5a5aM/ckt33b4PxK2g==}
         dependencies:
    -      '@vitest/spy': 1.5.2
    -      '@vitest/utils': 1.5.2
    +      '@vitest/spy': 1.5.3
    +      '@vitest/utils': 1.5.3
           chai: 4.4.1
         dev: true
     
    -  /@vitest/runner@1.5.2:
    -    resolution: {integrity: sha512-7IJ7sJhMZrqx7HIEpv3WrMYcq8ZNz9L6alo81Y6f8hV5mIE6yVZsFoivLZmr0D777klm1ReqonE9LyChdcmw6g==}
    +  /@vitest/runner@1.5.3:
    +    resolution: {integrity: sha512-7PlfuReN8692IKQIdCxwir1AOaP5THfNkp0Uc4BKr2na+9lALNit7ub9l3/R7MP8aV61+mHKRGiqEKRIwu6iiQ==}
         dependencies:
    -      '@vitest/utils': 1.5.2
    +      '@vitest/utils': 1.5.3
           p-limit: 5.0.0
           pathe: 1.1.2
         dev: true
     
    -  /@vitest/snapshot@1.5.2:
    -    resolution: {integrity: sha512-CTEp/lTYos8fuCc9+Z55Ga5NVPKUgExritjF5VY7heRFUfheoAqBneUlvXSUJHUZPjnPmyZA96yLRJDP1QATFQ==}
    +  /@vitest/snapshot@1.5.3:
    +    resolution: {integrity: sha512-K3mvIsjyKYBhNIDujMD2gfQEzddLe51nNOAf45yKRt/QFJcUIeTQd2trRvv6M6oCBHNVnZwFWbQ4yj96ibiDsA==}
         dependencies:
           magic-string: 0.30.10
           pathe: 1.1.2
           pretty-format: 29.7.0
         dev: true
     
    -  /@vitest/spy@1.5.2:
    -    resolution: {integrity: sha512-xCcPvI8JpCtgikT9nLpHPL1/81AYqZy1GCy4+MCHBE7xi8jgsYkULpW5hrx5PGLgOQjUpb6fd15lqcriJ40tfQ==}
    +  /@vitest/spy@1.5.3:
    +    resolution: {integrity: sha512-Llj7Jgs6lbnL55WoshJUUacdJfjU2honvGcAJBxhra5TPEzTJH8ZuhI3p/JwqqfnTr4PmP7nDmOXP53MS7GJlg==}
         dependencies:
           tinyspy: 2.2.1
         dev: true
     
    -  /@vitest/ui@1.5.2(vitest@1.5.2):
    -    resolution: {integrity: sha512-pYDitwgCOn7i3FH7Ka94G70dmj85xpBA42BaWCx82blPehyVO8FU6OLHNP9iAKJIHaIOXwZ+bgOXYSj3wZCxFA==}
    +  /@vitest/ui@1.5.3(vitest@1.5.3):
    +    resolution: {integrity: sha512-DoSA5YxcUmeBEK7kJHzXiL2I0d9AijWI33arnUrwiWFDxgZPDxTjvSVsiXhe8qfqhloIHkwazl5E2rhlDd/ErA==}
         peerDependencies:
    -      vitest: 1.5.2
    +      vitest: 1.5.3
         dependencies:
    -      '@vitest/utils': 1.5.2
    +      '@vitest/utils': 1.5.3
           fast-glob: 3.3.2
           fflate: 0.8.2
           flatted: 3.3.1
           pathe: 1.1.2
           picocolors: 1.0.0
           sirv: 2.0.4
    -      vitest: 1.5.2(@types/node@20.12.7)(@vitest/ui@1.5.2)(jsdom@24.0.0)
    +      vitest: 1.5.3(@types/node@20.12.7)(@vitest/ui@1.5.3)(jsdom@24.0.0)
         dev: true
     
    -  /@vitest/utils@1.5.2:
    -    resolution: {integrity: sha512-sWOmyofuXLJ85VvXNsroZur7mOJGiQeM0JN3/0D1uU8U9bGFM69X1iqHaRXl6R8BwaLY6yPCogP257zxTzkUdA==}
    +  /@vitest/utils@1.5.3:
    +    resolution: {integrity: sha512-rE9DTN1BRhzkzqNQO+kw8ZgfeEBCLXiHJwetk668shmNBpSagQxneT5eSqEBLP+cqSiAeecvQmbpFfdMyLcIQA==}
         dependencies:
           diff-sequences: 29.6.3
           estree-walker: 3.0.3
    @@ -5219,7 +5489,7 @@ packages:
         peerDependencies:
           vue: 3.4.21
         dependencies:
    -      '@babel/parser': 7.24.4
    +      '@babel/parser': 7.24.5
           estree-walker: 2.0.2
           source-map-js: 1.2.0
           vue: 3.4.21(typescript@5.4.5)
    @@ -5228,18 +5498,18 @@ packages:
       /@vue/compiler-core@3.4.21:
         resolution: {integrity: sha512-MjXawxZf2SbZszLPYxaFCjxfibYrzr3eYbKxwpLR9EQN+oaziSu3qKVbwBERj1IFIB8OLUewxB5m/BFzi613og==}
         dependencies:
    -      '@babel/parser': 7.24.4
    +      '@babel/parser': 7.24.5
           '@vue/shared': 3.4.21
           entities: 4.5.0
           estree-walker: 2.0.2
           source-map-js: 1.2.0
         dev: false
     
    -  /@vue/compiler-core@3.4.25:
    -    resolution: {integrity: sha512-Y2pLLopaElgWnMNolgG8w3C5nNUVev80L7hdQ5iIKPtMJvhVpG0zhnBG/g3UajJmZdvW0fktyZTotEHD1Srhbg==}
    +  /@vue/compiler-core@3.4.26:
    +    resolution: {integrity: sha512-N9Vil6Hvw7NaiyFUFBPXrAyETIGlQ8KcFMkyk6hW1Cl6NvoqvP+Y8p1Eqvx+UdqsnrnI9+HMUEJegzia3mhXmQ==}
         dependencies:
    -      '@babel/parser': 7.24.4
    -      '@vue/shared': 3.4.25
    +      '@babel/parser': 7.24.5
    +      '@vue/shared': 3.4.26
           entities: 4.5.0
           estree-walker: 2.0.2
           source-map-js: 1.2.0
    @@ -5251,16 +5521,16 @@ packages:
           '@vue/shared': 3.4.21
         dev: false
     
    -  /@vue/compiler-dom@3.4.25:
    -    resolution: {integrity: sha512-Ugz5DusW57+HjllAugLci19NsDK+VyjGvmbB2TXaTcSlQxwL++2PETHx/+Qv6qFwNLzSt7HKepPe4DcTE3pBWg==}
    +  /@vue/compiler-dom@3.4.26:
    +    resolution: {integrity: sha512-4CWbR5vR9fMg23YqFOhr6t6WB1Fjt62d6xdFPyj8pxrYub7d+OgZaObMsoxaF9yBUHPMiPFK303v61PwAuGvZA==}
         dependencies:
    -      '@vue/compiler-core': 3.4.25
    -      '@vue/shared': 3.4.25
    +      '@vue/compiler-core': 3.4.26
    +      '@vue/shared': 3.4.26
     
       /@vue/compiler-sfc@3.4.21:
         resolution: {integrity: sha512-me7epoTxYlY+2CUM7hy9PCDdpMPfIwrOvAXud2Upk10g4YLv9UBW7kL798TvMeDhPthkZ0CONNrK2GoeI1ODiQ==}
         dependencies:
    -      '@babel/parser': 7.24.4
    +      '@babel/parser': 7.24.5
           '@vue/compiler-core': 3.4.21
           '@vue/compiler-dom': 3.4.21
           '@vue/compiler-ssr': 3.4.21
    @@ -5271,14 +5541,14 @@ packages:
           source-map-js: 1.2.0
         dev: false
     
    -  /@vue/compiler-sfc@3.4.25:
    -    resolution: {integrity: sha512-m7rryuqzIoQpOBZ18wKyq05IwL6qEpZxFZfRxlNYuIPDqywrXQxgUwLXIvoU72gs6cRdY6wHD0WVZIFE4OEaAQ==}
    +  /@vue/compiler-sfc@3.4.26:
    +    resolution: {integrity: sha512-It1dp+FAOCgluYSVYlDn5DtZBxk1NCiJJfu2mlQqa/b+k8GL6NG/3/zRbJnHdhV2VhxFghaDq5L4K+1dakW6cw==}
         dependencies:
    -      '@babel/parser': 7.24.4
    -      '@vue/compiler-core': 3.4.25
    -      '@vue/compiler-dom': 3.4.25
    -      '@vue/compiler-ssr': 3.4.25
    -      '@vue/shared': 3.4.25
    +      '@babel/parser': 7.24.5
    +      '@vue/compiler-core': 3.4.26
    +      '@vue/compiler-dom': 3.4.26
    +      '@vue/compiler-ssr': 3.4.26
    +      '@vue/shared': 3.4.26
           estree-walker: 2.0.2
           magic-string: 0.30.10
           postcss: 8.4.38
    @@ -5291,25 +5561,25 @@ packages:
           '@vue/shared': 3.4.21
         dev: false
     
    -  /@vue/compiler-ssr@3.4.25:
    -    resolution: {integrity: sha512-H2ohvM/Pf6LelGxDBnfbbXFPyM4NE3hrw0e/EpwuSiYu8c819wx+SVGdJ65p/sFrYDd6OnSDxN1MB2mN07hRSQ==}
    +  /@vue/compiler-ssr@3.4.26:
    +    resolution: {integrity: sha512-FNwLfk7LlEPRY/g+nw2VqiDKcnDTVdCfBREekF8X74cPLiWHUX6oldktf/Vx28yh4STNy7t+/yuLoMBBF7YDiQ==}
         dependencies:
    -      '@vue/compiler-dom': 3.4.25
    -      '@vue/shared': 3.4.25
    +      '@vue/compiler-dom': 3.4.26
    +      '@vue/shared': 3.4.26
     
       /@vue/devtools-api@6.6.1:
         resolution: {integrity: sha512-LgPscpE3Vs0x96PzSSB4IGVSZXZBZHpfxs+ZA1d+VEPwHdOXowy/Y2CsvCAIFrf+ssVU1pD1jidj505EpUnfbA==}
         dev: false
     
    -  /@vue/devtools-api@7.1.3(vue@3.4.25):
    +  /@vue/devtools-api@7.1.3(vue@3.4.26):
         resolution: {integrity: sha512-W8IwFJ/o5iUk78jpqhvScbgCsPiOp2uileDVC0NDtW38gCWhsnu9SeBTjcdu3lbwLdsjc+H1c5Msd/x9ApbcFA==}
         dependencies:
    -      '@vue/devtools-kit': 7.1.3(vue@3.4.25)
    +      '@vue/devtools-kit': 7.1.3(vue@3.4.26)
         transitivePeerDependencies:
           - vue
         dev: true
     
    -  /@vue/devtools-kit@7.1.3(vue@3.4.25):
    +  /@vue/devtools-kit@7.1.3(vue@3.4.26):
         resolution: {integrity: sha512-NFskFSJMVCBXTkByuk2llzI3KD3Blcm7WqiRorWjD6nClHPgkH5BobDH08rfulqq5ocRt5xV+3qOT1Q9FXJrwQ==}
         peerDependencies:
           vue: ^3.0.0
    @@ -5319,7 +5589,7 @@ packages:
           mitt: 3.0.1
           perfect-debounce: 1.0.0
           speakingurl: 14.0.1
    -      vue: 3.4.25(typescript@5.4.5)
    +      vue: 3.4.26(typescript@5.4.5)
         dev: true
     
       /@vue/devtools-shared@7.1.3:
    @@ -5334,10 +5604,10 @@ packages:
           '@vue/shared': 3.4.21
         dev: false
     
    -  /@vue/reactivity@3.4.25:
    -    resolution: {integrity: sha512-mKbEtKr1iTxZkAG3vm3BtKHAOhuI4zzsVcN0epDldU/THsrvfXRKzq+lZnjczZGnTdh3ojd86/WrP+u9M51pWQ==}
    +  /@vue/reactivity@3.4.26:
    +    resolution: {integrity: sha512-E/ynEAu/pw0yotJeLdvZEsp5Olmxt+9/WqzvKff0gE67tw73gmbx6tRkiagE/eH0UCubzSlGRebCbidB1CpqZQ==}
         dependencies:
    -      '@vue/shared': 3.4.25
    +      '@vue/shared': 3.4.26
     
       /@vue/runtime-core@3.4.21:
         resolution: {integrity: sha512-pQthsuYzE1XcGZznTKn73G0s14eCJcjaLvp3/DKeYWoFacD9glJoqlNBxt3W2c5S40t6CCcpPf+jG01N3ULyrA==}
    @@ -5346,11 +5616,11 @@ packages:
           '@vue/shared': 3.4.21
         dev: false
     
    -  /@vue/runtime-core@3.4.25:
    -    resolution: {integrity: sha512-3qhsTqbEh8BMH3pXf009epCI5E7bKu28fJLi9O6W+ZGt/6xgSfMuGPqa5HRbUxLoehTNp5uWvzCr60KuiRIL0Q==}
    +  /@vue/runtime-core@3.4.26:
    +    resolution: {integrity: sha512-AFJDLpZvhT4ujUgZSIL9pdNcO23qVFh7zWCsNdGQBw8ecLNxOOnPcK9wTTIYCmBJnuPHpukOwo62a2PPivihqw==}
         dependencies:
    -      '@vue/reactivity': 3.4.25
    -      '@vue/shared': 3.4.25
    +      '@vue/reactivity': 3.4.26
    +      '@vue/shared': 3.4.26
     
       /@vue/runtime-dom@3.4.21:
         resolution: {integrity: sha512-gvf+C9cFpevsQxbkRBS1NpU8CqxKw0ebqMvLwcGQrNpx6gqRDodqKqA+A2VZZpQ9RpK2f9yfg8VbW/EpdFUOJw==}
    @@ -5360,11 +5630,11 @@ packages:
           csstype: 3.1.3
         dev: false
     
    -  /@vue/runtime-dom@3.4.25:
    -    resolution: {integrity: sha512-ode0sj77kuwXwSc+2Yhk8JMHZh1sZp9F/51wdBiz3KGaWltbKtdihlJFhQG4H6AY+A06zzeMLkq6qu8uDSsaoA==}
    +  /@vue/runtime-dom@3.4.26:
    +    resolution: {integrity: sha512-UftYA2hUXR2UOZD/Fc3IndZuCOOJgFxJsWOxDkhfVcwLbsfh2CdXE2tG4jWxBZuDAs9J9PzRTUFt1PgydEtItw==}
         dependencies:
    -      '@vue/runtime-core': 3.4.25
    -      '@vue/shared': 3.4.25
    +      '@vue/runtime-core': 3.4.26
    +      '@vue/shared': 3.4.26
           csstype: 3.1.3
     
       /@vue/server-renderer@3.4.21(vue@3.4.21):
    @@ -5377,34 +5647,34 @@ packages:
           vue: 3.4.21(typescript@5.4.5)
         dev: false
     
    -  /@vue/server-renderer@3.4.25(vue@3.4.25):
    -    resolution: {integrity: sha512-8VTwq0Zcu3K4dWV0jOwIVINESE/gha3ifYCOKEhxOj6MEl5K5y8J8clQncTcDhKF+9U765nRw4UdUEXvrGhyVQ==}
    +  /@vue/server-renderer@3.4.26(vue@3.4.26):
    +    resolution: {integrity: sha512-xoGAqSjYDPGAeRWxeoYwqJFD/gw7mpgzOvSxEmjWaFO2rE6qpbD1PC172YRpvKhrihkyHJkNDADFXTfCyVGhKw==}
         peerDependencies:
    -      vue: 3.4.25
    +      vue: 3.4.26
         dependencies:
    -      '@vue/compiler-ssr': 3.4.25
    -      '@vue/shared': 3.4.25
    -      vue: 3.4.25(typescript@5.4.5)
    +      '@vue/compiler-ssr': 3.4.26
    +      '@vue/shared': 3.4.26
    +      vue: 3.4.26(typescript@5.4.5)
     
       /@vue/shared@3.4.21:
         resolution: {integrity: sha512-PuJe7vDIi6VYSinuEbUIQgMIRZGgM8e4R+G+/dQTk0X1NEdvgvvgv7m+rfmDH1gZzyA1OjjoWskvHlfRNfQf3g==}
         dev: false
     
    -  /@vue/shared@3.4.25:
    -    resolution: {integrity: sha512-k0yappJ77g2+KNrIaF0FFnzwLvUBLUYr8VOwz+/6vLsmItFp51AcxLL7Ey3iPd7BIRyWPOcqUjMnm7OkahXllA==}
    +  /@vue/shared@3.4.26:
    +    resolution: {integrity: sha512-Fg4zwR0GNnjzodMt3KRy2AWGMKQXByl56+4HjN87soxLNU9P5xcJkstAlIeEF3cU6UYOzmJl1tV0dVPGIljCnQ==}
     
    -  /@vueuse/core@10.9.0(vue@3.4.25):
    +  /@vueuse/core@10.9.0(vue@3.4.26):
         resolution: {integrity: sha512-/1vjTol8SXnx6xewDEKfS0Ra//ncg4Hb0DaZiwKf7drgfMsKFExQ+FnnENcN6efPen+1kIzhLQoGSy0eDUVOMg==}
         dependencies:
           '@types/web-bluetooth': 0.0.20
           '@vueuse/metadata': 10.9.0
    -      '@vueuse/shared': 10.9.0(vue@3.4.25)
    -      vue-demi: 0.14.7(vue@3.4.25)
    +      '@vueuse/shared': 10.9.0(vue@3.4.26)
    +      vue-demi: 0.14.7(vue@3.4.26)
         transitivePeerDependencies:
           - '@vue/composition-api'
           - vue
     
    -  /@vueuse/integrations@10.9.0(focus-trap@7.5.4)(vue@3.4.25):
    +  /@vueuse/integrations@10.9.0(focus-trap@7.5.4)(vue@3.4.26):
         resolution: {integrity: sha512-acK+A01AYdWSvL4BZmCoJAcyHJ6EqhmkQEXbQLwev1MY7NBnS+hcEMx/BzVoR9zKI+UqEPMD9u6PsyAuiTRT4Q==}
         peerDependencies:
           async-validator: '*'
    @@ -5445,10 +5715,10 @@ packages:
           universal-cookie:
             optional: true
         dependencies:
    -      '@vueuse/core': 10.9.0(vue@3.4.25)
    -      '@vueuse/shared': 10.9.0(vue@3.4.25)
    +      '@vueuse/core': 10.9.0(vue@3.4.26)
    +      '@vueuse/shared': 10.9.0(vue@3.4.26)
           focus-trap: 7.5.4
    -      vue-demi: 0.14.7(vue@3.4.25)
    +      vue-demi: 0.14.7(vue@3.4.26)
         transitivePeerDependencies:
           - '@vue/composition-api'
           - vue
    @@ -5457,10 +5727,10 @@ packages:
       /@vueuse/metadata@10.9.0:
         resolution: {integrity: sha512-iddNbg3yZM0X7qFY2sAotomgdHK7YJ6sKUvQqbvwnf7TmaVPxS4EJydcNsVejNdS8iWCtDk+fYXr7E32nyTnGA==}
     
    -  /@vueuse/shared@10.9.0(vue@3.4.25):
    +  /@vueuse/shared@10.9.0(vue@3.4.26):
         resolution: {integrity: sha512-Uud2IWncmAfJvRaFYzv5OHDli+FbOzxiVEQdLCKQKLyhz94PIyFC3CHcH7EDMwIn8NPtD06+PNbC/PiO0LGLtw==}
         dependencies:
    -      vue-demi: 0.14.7(vue@3.4.25)
    +      vue-demi: 0.14.7(vue@3.4.26)
         transitivePeerDependencies:
           - '@vue/composition-api'
           - vue
    @@ -5834,6 +6104,15 @@ packages:
           uri-js: 4.4.1
         dev: true
     
    +  /ajv@8.13.0:
    +    resolution: {integrity: sha512-PRA911Blj99jR5RMeTunVbNXMF6Lp4vZXnk5GQjcnUWUTsrXtekg/pnmFFI2u/I36Y/2bITGS30GZCXei6uNkA==}
    +    dependencies:
    +      fast-deep-equal: 3.1.3
    +      json-schema-traverse: 1.0.0
    +      require-from-string: 2.0.2
    +      uri-js: 4.4.1
    +    dev: true
    +
       /algoliasearch@4.23.3:
         resolution: {integrity: sha512-Le/3YgNvjW9zxIQMRhUHuhiUjAlKY/zsdZpfq4dlLqg6mEm0nL6yk+7f2hDOtLpxsgE4jSzDmvHL7nXdBp5feg==}
         dependencies:
    @@ -6128,14 +6407,14 @@ packages:
           - supports-color
         dev: true
     
    -  /babel-loader@9.1.3(@babel/core@7.24.4)(webpack@5.91.0):
    +  /babel-loader@9.1.3(@babel/core@7.24.5)(webpack@5.91.0):
         resolution: {integrity: sha512-xG3ST4DglodGf8qSwv0MdeWLhrDsw/32QMdTO5T1ZIp9gQur0HkCyFs7Awskr10JKXFXwpAhiCuYX5oGXnRGbw==}
         engines: {node: '>= 14.15.0'}
         peerDependencies:
           '@babel/core': ^7.12.0
           webpack: '>=5'
         dependencies:
    -      '@babel/core': 7.24.4
    +      '@babel/core': 7.24.5
           find-cache-dir: 4.0.0
           schema-utils: 4.2.0
           webpack: 5.91.0(esbuild@0.20.2)(webpack-cli@4.10.0)
    @@ -6159,43 +6438,43 @@ packages:
         engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
         dependencies:
           '@babel/template': 7.24.0
    -      '@babel/types': 7.24.0
    +      '@babel/types': 7.24.5
           '@types/babel__core': 7.20.5
           '@types/babel__traverse': 7.20.5
         dev: true
     
    -  /babel-plugin-polyfill-corejs2@0.4.11(@babel/core@7.24.4):
    +  /babel-plugin-polyfill-corejs2@0.4.11(@babel/core@7.24.5):
         resolution: {integrity: sha512-sMEJ27L0gRHShOh5G54uAAPaiCOygY/5ratXuiyb2G46FmlSpc9eFCzYVyDiPxfNbwzA7mYahmjQc5q+CZQ09Q==}
         peerDependencies:
           '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0
         dependencies:
           '@babel/compat-data': 7.24.4
    -      '@babel/core': 7.24.4
    -      '@babel/helper-define-polyfill-provider': 0.6.2(@babel/core@7.24.4)
    +      '@babel/core': 7.24.5
    +      '@babel/helper-define-polyfill-provider': 0.6.2(@babel/core@7.24.5)
           semver: 6.3.1
         transitivePeerDependencies:
           - supports-color
         dev: true
     
    -  /babel-plugin-polyfill-corejs3@0.10.4(@babel/core@7.24.4):
    +  /babel-plugin-polyfill-corejs3@0.10.4(@babel/core@7.24.5):
         resolution: {integrity: sha512-25J6I8NGfa5YkCDogHRID3fVCadIR8/pGl1/spvCkzb6lVn6SR3ojpx9nOn9iEBcUsjY24AmdKm5khcfKdylcg==}
         peerDependencies:
           '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0
         dependencies:
    -      '@babel/core': 7.24.4
    -      '@babel/helper-define-polyfill-provider': 0.6.2(@babel/core@7.24.4)
    +      '@babel/core': 7.24.5
    +      '@babel/helper-define-polyfill-provider': 0.6.2(@babel/core@7.24.5)
           core-js-compat: 3.37.0
         transitivePeerDependencies:
           - supports-color
         dev: true
     
    -  /babel-plugin-polyfill-regenerator@0.6.2(@babel/core@7.24.4):
    +  /babel-plugin-polyfill-regenerator@0.6.2(@babel/core@7.24.5):
         resolution: {integrity: sha512-2R25rQZWP63nGwaAswvDazbPXfrM3HwVoBXK6HcqeKrSrL/JqcC/rDcf95l4r7LXLyxDXc8uQDa064GubtCABg==}
         peerDependencies:
           '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0
         dependencies:
    -      '@babel/core': 7.24.4
    -      '@babel/helper-define-polyfill-provider': 0.6.2(@babel/core@7.24.4)
    +      '@babel/core': 7.24.5
    +      '@babel/helper-define-polyfill-provider': 0.6.2(@babel/core@7.24.5)
         transitivePeerDependencies:
           - supports-color
         dev: true
    @@ -7321,7 +7600,7 @@ packages:
           cli-table3: 0.6.4
           commander: 6.2.1
           common-tags: 1.8.2
    -      dayjs: 1.11.10
    +      dayjs: 1.11.11
           debug: 4.3.4(supports-color@8.1.1)
           enquirer: 2.4.1
           eventemitter2: 6.4.7
    @@ -7710,6 +7989,10 @@ packages:
     
       /dayjs@1.11.10:
         resolution: {integrity: sha512-vjAczensTgRcqDERK0SR2XMwsF/tSvnvlv6VcF2GIhg6Sx4yOIt/irsr1RDJsKiIyBzJDpCoXiWWq28MqH2cnQ==}
    +    dev: true
    +
    +  /dayjs@1.11.11:
    +    resolution: {integrity: sha512-okzr3f11N6WuqYtZSvm+F776mB41wRZMhKP+hc34YdW+KmtYYK9iqvHSwo2k9FEH3fhGXvOPV6yz2IcSrfRUDg==}
     
       /debug@2.6.9:
         resolution: {integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==}
    @@ -7959,8 +8242,8 @@ packages:
           domelementtype: 2.3.0
         dev: true
     
    -  /dompurify@3.1.1:
    -    resolution: {integrity: sha512-tVP8C/GJwnABOn/7cx/ymx/hXpmBfWIPihC1aOEvS8GbMqy3pgeYtJk1HXN3CO7tu+8bpY18f6isjR5Cymj0TQ==}
    +  /dompurify@3.1.2:
    +    resolution: {integrity: sha512-hLGGBI1tw5N8qTELr3blKjAML/LY4ANxksbS612UiJyDfyf/2D092Pvm+S7pmeTGJRqvlJkFzBoHBQKgQlOQVg==}
         dev: false
     
       /domutils@3.1.0:
    @@ -8109,7 +8392,7 @@ packages:
           function.prototype.name: 1.1.6
           get-intrinsic: 1.2.4
           get-symbol-description: 1.0.2
    -      globalthis: 1.0.3
    +      globalthis: 1.0.4
           gopd: 1.0.1
           has-property-descriptors: 1.0.2
           has-proto: 1.0.3
    @@ -9578,11 +9861,12 @@ packages:
           type-fest: 0.20.2
         dev: true
     
    -  /globalthis@1.0.3:
    -    resolution: {integrity: sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==}
    +  /globalthis@1.0.4:
    +    resolution: {integrity: sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==}
         engines: {node: '>= 0.4'}
         dependencies:
           define-properties: 1.2.1
    +      gopd: 1.0.1
         dev: true
     
       /globby@11.1.0:
    @@ -10427,7 +10711,7 @@ packages:
         engines: {node: '>=8'}
         dependencies:
           '@babel/core': 7.24.4
    -      '@babel/parser': 7.24.4
    +      '@babel/parser': 7.24.5
           '@istanbuljs/schema': 0.1.3
           istanbul-lib-coverage: 3.2.2
           semver: 6.3.1
    @@ -10440,7 +10724,7 @@ packages:
         engines: {node: '>=10'}
         dependencies:
           '@babel/core': 7.24.4
    -      '@babel/parser': 7.24.4
    +      '@babel/parser': 7.24.5
           '@istanbuljs/schema': 0.1.3
           istanbul-lib-coverage: 3.2.2
           semver: 7.6.0
    @@ -10873,7 +11157,7 @@ packages:
           '@babel/generator': 7.24.4
           '@babel/plugin-syntax-jsx': 7.24.1(@babel/core@7.24.4)
           '@babel/plugin-syntax-typescript': 7.24.1(@babel/core@7.24.4)
    -      '@babel/types': 7.24.0
    +      '@babel/types': 7.24.5
           '@jest/expect-utils': 29.7.0
           '@jest/transform': 29.7.0
           '@jest/types': 29.6.3
    @@ -11580,8 +11864,8 @@ packages:
       /magicast@0.3.4:
         resolution: {integrity: sha512-TyDF/Pn36bBji9rWKHlZe+PZb6Mx5V8IHCSxk7X4aljM4e/vyDvZZYwHewdVaqiA0nb3ghfHU/6AUpDxWoER2Q==}
         dependencies:
    -      '@babel/parser': 7.24.4
    -      '@babel/types': 7.24.0
    +      '@babel/parser': 7.24.5
    +      '@babel/types': 7.24.5
           source-map-js: 1.2.0
         dev: true
     
    @@ -12935,8 +13219,8 @@ packages:
         engines: {node: '>=12.13.0'}
         dev: true
     
    -  /pnpm@8.15.7:
    -    resolution: {integrity: sha512-yFzSG22hAzIVaxyiqnnAph7nrS6wRTuIqymSienoypPmCRIyslwHy/YfbfdxKNnISeXJrG5EhU29IRxJ86Z63A==}
    +  /pnpm@8.15.8:
    +    resolution: {integrity: sha512-0aAp4aRHrZC8ls1YsPrUhtKZPVMYVjlve6vy2D6xgju4PFo9D8GPZ1stEDIdSesWH+zjb+gTSqWCPs0hX+7Tkg==}
         engines: {node: '>=16.14'}
         hasBin: true
         dev: true
    @@ -13015,8 +13299,8 @@ packages:
           picocolors: 1.0.0
           source-map-js: 1.2.0
     
    -  /preact@10.20.2:
    -    resolution: {integrity: sha512-S1d1ernz3KQ+Y2awUxKakpfOg2CEmJmwOP+6igPx6dgr6pgDvenqYviyokWso2rhHvGtTlWWnJDa7RaPbQerTg==}
    +  /preact@10.21.0:
    +    resolution: {integrity: sha512-aQAIxtzWEwH8ou+OovWVSVNlFImL7xUCwJX3YMqA3U8iKCNC34999fFOnWjYNsylgfPgMexpbk7WYOLtKr/mxg==}
         dev: true
     
       /prelude-ls@1.2.1:
    @@ -13309,7 +13593,7 @@ packages:
       /regenerator-transform@0.15.2:
         resolution: {integrity: sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg==}
         dependencies:
    -      '@babel/runtime': 7.24.4
    +      '@babel/runtime': 7.24.5
         dev: true
     
       /regexp-tree@0.1.27:
    @@ -13587,29 +13871,29 @@ packages:
           fsevents: 2.3.3
         dev: true
     
    -  /rollup@4.16.4:
    -    resolution: {integrity: sha512-kuaTJSUbz+Wsb2ATGvEknkI12XV40vIiHmLuFlejoo7HtDok/O5eDDD0UpCVY5bBX5U5RYo8wWP83H7ZsqVEnA==}
    +  /rollup@4.17.2:
    +    resolution: {integrity: sha512-/9ClTJPByC0U4zNLowV1tMBe8yMEAxewtR3cUNX5BoEpGH3dQEWpJLr6CLp0fPdYRF/fzVOgvDb1zXuakwF5kQ==}
         engines: {node: '>=18.0.0', npm: '>=8.0.0'}
         hasBin: true
         dependencies:
           '@types/estree': 1.0.5
         optionalDependencies:
    -      '@rollup/rollup-android-arm-eabi': 4.16.4
    -      '@rollup/rollup-android-arm64': 4.16.4
    -      '@rollup/rollup-darwin-arm64': 4.16.4
    -      '@rollup/rollup-darwin-x64': 4.16.4
    -      '@rollup/rollup-linux-arm-gnueabihf': 4.16.4
    -      '@rollup/rollup-linux-arm-musleabihf': 4.16.4
    -      '@rollup/rollup-linux-arm64-gnu': 4.16.4
    -      '@rollup/rollup-linux-arm64-musl': 4.16.4
    -      '@rollup/rollup-linux-powerpc64le-gnu': 4.16.4
    -      '@rollup/rollup-linux-riscv64-gnu': 4.16.4
    -      '@rollup/rollup-linux-s390x-gnu': 4.16.4
    -      '@rollup/rollup-linux-x64-gnu': 4.16.4
    -      '@rollup/rollup-linux-x64-musl': 4.16.4
    -      '@rollup/rollup-win32-arm64-msvc': 4.16.4
    -      '@rollup/rollup-win32-ia32-msvc': 4.16.4
    -      '@rollup/rollup-win32-x64-msvc': 4.16.4
    +      '@rollup/rollup-android-arm-eabi': 4.17.2
    +      '@rollup/rollup-android-arm64': 4.17.2
    +      '@rollup/rollup-darwin-arm64': 4.17.2
    +      '@rollup/rollup-darwin-x64': 4.17.2
    +      '@rollup/rollup-linux-arm-gnueabihf': 4.17.2
    +      '@rollup/rollup-linux-arm-musleabihf': 4.17.2
    +      '@rollup/rollup-linux-arm64-gnu': 4.17.2
    +      '@rollup/rollup-linux-arm64-musl': 4.17.2
    +      '@rollup/rollup-linux-powerpc64le-gnu': 4.17.2
    +      '@rollup/rollup-linux-riscv64-gnu': 4.17.2
    +      '@rollup/rollup-linux-s390x-gnu': 4.17.2
    +      '@rollup/rollup-linux-x64-gnu': 4.17.2
    +      '@rollup/rollup-linux-x64-musl': 4.17.2
    +      '@rollup/rollup-win32-arm64-msvc': 4.17.2
    +      '@rollup/rollup-win32-ia32-msvc': 4.17.2
    +      '@rollup/rollup-win32-x64-msvc': 4.17.2
           fsevents: 2.3.3
         dev: true
     
    @@ -13881,10 +14165,10 @@ packages:
           vscode-textmate: 8.0.0
         dev: true
     
    -  /shiki@1.3.0:
    -    resolution: {integrity: sha512-9aNdQy/etMXctnPzsje1h1XIGm9YfRcSksKOGqZWXA/qP9G18/8fpz5Bjpma8bOgz3tqIpjERAd6/lLjFyzoww==}
    +  /shiki@1.4.0:
    +    resolution: {integrity: sha512-5WIn0OL8PWm7JhnTwRWXniy6eEDY234mRrERVlFa646V2ErQqwIFd2UML7e0Pq9eqSKLoMa3Ke+xbsF+DAuy+Q==}
         dependencies:
    -      '@shikijs/core': 1.3.0
    +      '@shikijs/core': 1.4.0
         dev: true
     
       /side-channel@1.0.6:
    @@ -14560,8 +14844,8 @@ packages:
           source-map-support: 0.5.21
         dev: true
     
    -  /terser@5.30.4:
    -    resolution: {integrity: sha512-xRdd0v64a8mFK9bnsKVdoNP9GQIKUAaJPTaqEQDL4w/J8WaW4sWXXoMZ+6SimPkfT5bElreXf8m9HnmPc3E1BQ==}
    +  /terser@5.31.0:
    +    resolution: {integrity: sha512-Q1JFAoUKE5IMfI4Z/lkE/E6+SwgzO+x4tq4v1AyBLRj8VSYvRO6A/rQrPg1yud4g0En9EKI1TvFRF2tQFcoUkg==}
         engines: {node: '>=10'}
         hasBin: true
         dependencies:
    @@ -15104,7 +15388,7 @@ packages:
         engines: {node: '>= 0.8'}
         dev: true
     
    -  /unplugin-vue-components@0.26.0(rollup@2.79.1)(vue@3.4.25):
    +  /unplugin-vue-components@0.26.0(rollup@2.79.1)(vue@3.4.26):
         resolution: {integrity: sha512-s7IdPDlnOvPamjunVxw8kNgKNK8A5KM1YpK5j/p97jEKTjlPNrA0nZBiSfAKKlK1gWZuyWXlKL5dk3EDw874LQ==}
         engines: {node: '>=14'}
         peerDependencies:
    @@ -15127,7 +15411,7 @@ packages:
           minimatch: 9.0.3
           resolve: 1.22.4
           unplugin: 1.4.0
    -      vue: 3.4.25(typescript@5.4.5)
    +      vue: 3.4.26(typescript@5.4.5)
         transitivePeerDependencies:
           - rollup
           - supports-color
    @@ -15239,8 +15523,8 @@ packages:
           vfile-message: 4.0.2
         dev: true
     
    -  /vite-node@1.5.2(@types/node@20.12.7):
    -    resolution: {integrity: sha512-Y8p91kz9zU+bWtF7HGt6DVw2JbhyuB2RlZix3FPYAYmUyZ3n7iTp8eSyLyY6sxtPegvxQtmlTMhfPhUfCUF93A==}
    +  /vite-node@1.5.3(@types/node@20.12.7):
    +    resolution: {integrity: sha512-axFo00qiCpU/JLd8N1gu9iEYL3xTbMbMrbe5nDp9GL0nb6gurIdZLkkFogZXWnE8Oyy5kfSLwNVIcVsnhE7lgQ==}
         engines: {node: ^18.0.0 || >=20.0.0}
         hasBin: true
         dependencies:
    @@ -15329,12 +15613,12 @@ packages:
           '@types/node': 20.12.7
           esbuild: 0.20.2
           postcss: 8.4.38
    -      rollup: 4.16.4
    +      rollup: 4.17.2
         optionalDependencies:
           fsevents: 2.3.3
         dev: true
     
    -  /vitepress-plugin-search@1.0.4-alpha.22(flexsearch@0.7.43)(vitepress@1.1.3)(vue@3.4.25):
    +  /vitepress-plugin-search@1.0.4-alpha.22(flexsearch@0.7.43)(vitepress@1.1.4)(vue@3.4.26):
         resolution: {integrity: sha512-IAOEJu+kjVY+0pb6/PeRjIbr175HFFbnMdLmLjqcy7VWxkabIRZbLoQL1VUYDZl804o/Or+GaX02gsiMOnVxFA==}
         engines: {node: ^14.13.1 || ^16.7.0 || >=18}
         peerDependencies:
    @@ -15347,12 +15631,12 @@ packages:
           flexsearch: 0.7.43
           glob-to-regexp: 0.4.1
           markdown-it: 13.0.1
    -      vitepress: 1.1.3(@algolia/client-search@4.23.3)(@types/node@20.12.7)(postcss@8.4.38)(search-insights@2.13.0)(typescript@5.4.5)
    -      vue: 3.4.25(typescript@5.4.5)
    +      vitepress: 1.1.4(@algolia/client-search@4.23.3)(@types/node@20.12.7)(postcss@8.4.38)(search-insights@2.13.0)(typescript@5.4.5)
    +      vue: 3.4.26(typescript@5.4.5)
         dev: true
     
    -  /vitepress@1.1.3(@algolia/client-search@4.23.3)(@types/node@20.12.7)(postcss@8.4.38)(search-insights@2.13.0)(typescript@5.4.5):
    -    resolution: {integrity: sha512-hGrIYN0w9IHWs0NQSnlMjKV/v/HLfD+Ywv5QdvCSkiT32mpNOOwUrZjnqZv/JL/WBPpUc94eghTUvmipxw0xrA==}
    +  /vitepress@1.1.4(@algolia/client-search@4.23.3)(@types/node@20.12.7)(postcss@8.4.38)(search-insights@2.13.0)(typescript@5.4.5):
    +    resolution: {integrity: sha512-bWIzFZXpPB6NIDBuWnS20aMADH+FcFKDfQNYFvbOWij03PR29eImTceQHIzCKordjXYBhM/TjE5VKFTUJ3EheA==}
         hasBin: true
         peerDependencies:
           markdown-it-mathjax3: ^4
    @@ -15365,20 +15649,20 @@ packages:
         dependencies:
           '@docsearch/css': 3.6.0
           '@docsearch/js': 3.6.0(@algolia/client-search@4.23.3)(search-insights@2.13.0)
    -      '@shikijs/core': 1.3.0
    -      '@shikijs/transformers': 1.3.0
    +      '@shikijs/core': 1.4.0
    +      '@shikijs/transformers': 1.4.0
           '@types/markdown-it': 14.0.1
    -      '@vitejs/plugin-vue': 5.0.4(vite@5.2.10)(vue@3.4.25)
    -      '@vue/devtools-api': 7.1.3(vue@3.4.25)
    -      '@vueuse/core': 10.9.0(vue@3.4.25)
    -      '@vueuse/integrations': 10.9.0(focus-trap@7.5.4)(vue@3.4.25)
    +      '@vitejs/plugin-vue': 5.0.4(vite@5.2.10)(vue@3.4.26)
    +      '@vue/devtools-api': 7.1.3(vue@3.4.26)
    +      '@vueuse/core': 10.9.0(vue@3.4.26)
    +      '@vueuse/integrations': 10.9.0(focus-trap@7.5.4)(vue@3.4.26)
           focus-trap: 7.5.4
           mark.js: 8.11.1
           minisearch: 6.3.0
           postcss: 8.4.38
    -      shiki: 1.3.0
    +      shiki: 1.4.0
           vite: 5.2.10(@types/node@20.12.7)
    -      vue: 3.4.25(typescript@5.4.5)
    +      vue: 3.4.26(typescript@5.4.5)
         transitivePeerDependencies:
           - '@algolia/client-search'
           - '@types/node'
    @@ -15407,15 +15691,15 @@ packages:
           - universal-cookie
         dev: true
     
    -  /vitest@1.5.2(@types/node@20.12.7)(@vitest/ui@1.5.2)(jsdom@24.0.0):
    -    resolution: {integrity: sha512-l9gwIkq16ug3xY7BxHwcBQovLZG75zZL0PlsiYQbf76Rz6QGs54416UWMtC0jXeihvHvcHrf2ROEjkQRVpoZYw==}
    +  /vitest@1.5.3(@types/node@20.12.7)(@vitest/ui@1.5.3)(jsdom@24.0.0):
    +    resolution: {integrity: sha512-2oM7nLXylw3mQlW6GXnRriw+7YvZFk/YNV8AxIC3Z3MfFbuziLGWP9GPxxu/7nRlXhqyxBikpamr+lEEj1sUEw==}
         engines: {node: ^18.0.0 || >=20.0.0}
         hasBin: true
         peerDependencies:
           '@edge-runtime/vm': '*'
           '@types/node': ^18.0.0 || >=20.0.0
    -      '@vitest/browser': 1.5.2
    -      '@vitest/ui': 1.5.2
    +      '@vitest/browser': 1.5.3
    +      '@vitest/ui': 1.5.3
           happy-dom: '*'
           jsdom: '*'
         peerDependenciesMeta:
    @@ -15433,12 +15717,12 @@ packages:
             optional: true
         dependencies:
           '@types/node': 20.12.7
    -      '@vitest/expect': 1.5.2
    -      '@vitest/runner': 1.5.2
    -      '@vitest/snapshot': 1.5.2
    -      '@vitest/spy': 1.5.2
    -      '@vitest/ui': 1.5.2(vitest@1.5.2)
    -      '@vitest/utils': 1.5.2
    +      '@vitest/expect': 1.5.3
    +      '@vitest/runner': 1.5.3
    +      '@vitest/snapshot': 1.5.3
    +      '@vitest/spy': 1.5.3
    +      '@vitest/ui': 1.5.3(vitest@1.5.3)
    +      '@vitest/utils': 1.5.3
           acorn-walk: 8.3.2
           chai: 4.4.1
           debug: 4.3.4(supports-color@8.1.1)
    @@ -15453,7 +15737,7 @@ packages:
           tinybench: 2.8.0
           tinypool: 0.8.4
           vite: 5.2.10(@types/node@20.12.7)
    -      vite-node: 1.5.2(@types/node@20.12.7)
    +      vite-node: 1.5.3(@types/node@20.12.7)
           why-is-node-running: 2.2.2
         transitivePeerDependencies:
           - less
    @@ -15531,7 +15815,7 @@ packages:
           vue: 3.4.21(typescript@5.4.5)
         dev: false
     
    -  /vue-demi@0.14.7(vue@3.4.25):
    +  /vue-demi@0.14.7(vue@3.4.26):
         resolution: {integrity: sha512-EOG8KXDQNwkJILkx/gPcoL/7vH+hORoBaKgGe+6W7VFMvCYJfmF2dGbvgDroVnI8LU7/kTu8mbjRZGBU1z9NTA==}
         engines: {node: '>=12'}
         hasBin: true
    @@ -15543,7 +15827,7 @@ packages:
           '@vue/composition-api':
             optional: true
         dependencies:
    -      vue: 3.4.25(typescript@5.4.5)
    +      vue: 3.4.26(typescript@5.4.5)
     
       /vue@3.4.21(typescript@5.4.5):
         resolution: {integrity: sha512-5hjyV/jLEIKD/jYl4cavMcnzKwjMKohureP8ejn3hhEjwhWIhWeuzL2kJAjzl/WyVsgPY56Sy4Z40C3lVshxXA==}
    @@ -15561,19 +15845,19 @@ packages:
           typescript: 5.4.5
         dev: false
     
    -  /vue@3.4.25(typescript@5.4.5):
    -    resolution: {integrity: sha512-HWyDqoBHMgav/OKiYA2ZQg+kjfMgLt/T0vg4cbIF7JbXAjDexRf5JRg+PWAfrAkSmTd2I8aPSXtooBFWHB98cg==}
    +  /vue@3.4.26(typescript@5.4.5):
    +    resolution: {integrity: sha512-bUIq/p+VB+0xrJubaemrfhk1/FiW9iX+pDV+62I/XJ6EkspAO9/DXEjbDFoe8pIfOZBqfk45i9BMc41ptP/uRg==}
         peerDependencies:
           typescript: '*'
         peerDependenciesMeta:
           typescript:
             optional: true
         dependencies:
    -      '@vue/compiler-dom': 3.4.25
    -      '@vue/compiler-sfc': 3.4.25
    -      '@vue/runtime-dom': 3.4.25
    -      '@vue/server-renderer': 3.4.25(vue@3.4.25)
    -      '@vue/shared': 3.4.25
    +      '@vue/compiler-dom': 3.4.26
    +      '@vue/compiler-sfc': 3.4.26
    +      '@vue/runtime-dom': 3.4.26
    +      '@vue/server-renderer': 3.4.26(vue@3.4.26)
    +      '@vue/shared': 3.4.26
           typescript: 5.4.5
     
       /vuex@4.1.0(vue@3.4.21):
    @@ -15950,16 +16234,16 @@ packages:
         resolution: {integrity: sha512-F6R94XAxjB2j4ETMkP1EXKfjECOtDmyvt0vz3BzgWJMI68TNSXIVNkgatwUKBlPGOfy9n2F/4voYRNAhEvPJNg==}
         engines: {node: '>=16.0.0'}
         dependencies:
    -      '@apideck/better-ajv-errors': 0.3.6(ajv@8.12.0)
    -      '@babel/core': 7.24.4
    -      '@babel/preset-env': 7.24.4(@babel/core@7.24.4)
    -      '@babel/runtime': 7.24.4
    -      '@rollup/plugin-babel': 5.3.1(@babel/core@7.24.4)(rollup@2.79.1)
    +      '@apideck/better-ajv-errors': 0.3.6(ajv@8.13.0)
    +      '@babel/core': 7.24.5
    +      '@babel/preset-env': 7.24.5(@babel/core@7.24.5)
    +      '@babel/runtime': 7.24.5
    +      '@rollup/plugin-babel': 5.3.1(@babel/core@7.24.5)(rollup@2.79.1)
           '@rollup/plugin-node-resolve': 15.2.3(rollup@2.79.1)
           '@rollup/plugin-replace': 2.4.2(rollup@2.79.1)
           '@rollup/plugin-terser': 0.4.4(rollup@2.79.1)
           '@surma/rollup-plugin-off-main-thread': 2.2.3
    -      ajv: 8.12.0
    +      ajv: 8.13.0
           common-tags: 1.8.2
           fast-json-stable-stringify: 2.1.0
           fs-extra: 9.1.0
    
    From 703c25a6e2ff69087634486f108c455adb34a5a8 Mon Sep 17 00:00:00 2001
    From: Ashish Jain 
    Date: Tue, 30 Apr 2024 16:57:57 +0200
    Subject: [PATCH 359/789] #5237 node text cut off
    
    ---
     cypress/platform/knsv2.html                    | 6 +-----
     packages/mermaid/src/diagrams/state/stateDb.js | 2 +-
     2 files changed, 2 insertions(+), 6 deletions(-)
    
    diff --git a/cypress/platform/knsv2.html b/cypress/platform/knsv2.html
    index 718fdfcdf0..803daa224d 100644
    --- a/cypress/platform/knsv2.html
    +++ b/cypress/platform/knsv2.html
    @@ -78,11 +78,7 @@
       
         
     stateDiagram-v2
    -    [*] --> First
    -    state First {
    -        [*] --> second
    -        second --> [*]
    -    }
    +    stateId
     
     
       
    { extract(getRootDocV2()); const diagramStates = getStates(); - const useRough = true; + const useRough = false; dataFetcher(undefined, getRootDocV2(), diagramStates, nodes, edges, true, useRough); return { nodes, edges, other: {} }; From bc7ecf330ba4d476387a5d2380edac1d70bbd667 Mon Sep 17 00:00:00 2001 From: Sidharth Vinod Date: Wed, 1 May 2024 17:34:38 +0530 Subject: [PATCH 360/789] fix: Simplify actor type of activeStart and activeEnd --- .../src/diagrams/sequence/parser/sequenceDiagram.jison | 8 ++++---- packages/mermaid/src/diagrams/sequence/sequenceDb.ts | 4 ++-- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/packages/mermaid/src/diagrams/sequence/parser/sequenceDiagram.jison b/packages/mermaid/src/diagrams/sequence/parser/sequenceDiagram.jison index 17be25a7a4..5a6599ef5e 100644 --- a/packages/mermaid/src/diagrams/sequence/parser/sequenceDiagram.jison +++ b/packages/mermaid/src/diagrams/sequence/parser/sequenceDiagram.jison @@ -138,8 +138,8 @@ statement | autonumber NUM 'NEWLINE' { $$ = {type:'sequenceIndex',sequenceIndex: Number($2), sequenceIndexStep:1, sequenceVisible:true, signalType:yy.LINETYPE.AUTONUMBER};} | autonumber off 'NEWLINE' { $$ = {type:'sequenceIndex', sequenceVisible:false, signalType:yy.LINETYPE.AUTONUMBER};} | autonumber 'NEWLINE' {$$ = {type:'sequenceIndex', sequenceVisible:true, signalType:yy.LINETYPE.AUTONUMBER}; } - | 'activate' actor 'NEWLINE' {$$={type: 'activeStart', signalType: yy.LINETYPE.ACTIVE_START, actor: $2};} - | 'deactivate' actor 'NEWLINE' {$$={type: 'activeEnd', signalType: yy.LINETYPE.ACTIVE_END, actor: $2};} + | 'activate' actor 'NEWLINE' {$$={type: 'activeStart', signalType: yy.LINETYPE.ACTIVE_START, actor: $2.actor};} + | 'deactivate' actor 'NEWLINE' {$$={type: 'activeEnd', signalType: yy.LINETYPE.ACTIVE_END, actor: $2.actor};} | note_statement 'NEWLINE' | links_statement 'NEWLINE' | link_statement 'NEWLINE' @@ -288,11 +288,11 @@ placement signal : actor signaltype '+' actor text2 { $$ = [$1,$4,{type: 'addMessage', from:$1.actor, to:$4.actor, signalType:$2, msg:$5, activate: true}, - {type: 'activeStart', signalType: yy.LINETYPE.ACTIVE_START, actor: $4} + {type: 'activeStart', signalType: yy.LINETYPE.ACTIVE_START, actor: $4.actor} ]} | actor signaltype '-' actor text2 { $$ = [$1,$4,{type: 'addMessage', from:$1.actor, to:$4.actor, signalType:$2, msg:$5}, - {type: 'activeEnd', signalType: yy.LINETYPE.ACTIVE_END, actor: $1} + {type: 'activeEnd', signalType: yy.LINETYPE.ACTIVE_END, actor: $1.actor} ]} | actor signaltype actor text2 { $$ = [$1,$3,{type: 'addMessage', from:$1.actor, to:$3.actor, signalType:$2, msg:$4}]} diff --git a/packages/mermaid/src/diagrams/sequence/sequenceDb.ts b/packages/mermaid/src/diagrams/sequence/sequenceDb.ts index 5a0916729b..9f1ea443f8 100644 --- a/packages/mermaid/src/diagrams/sequence/sequenceDb.ts +++ b/packages/mermaid/src/diagrams/sequence/sequenceDb.ts @@ -513,10 +513,10 @@ export const apply = function (param: any | AddMessageParams | AddMessageParams[ state.records.destroyedActors[param.actor] = state.records.messages.length; break; case 'activeStart': - addSignal(param.actor.actor, undefined, undefined, param.signalType); + addSignal(param.actor, undefined, undefined, param.signalType); break; case 'activeEnd': - addSignal(param.actor.actor, undefined, undefined, param.signalType); + addSignal(param.actor, undefined, undefined, param.signalType); break; case 'addNote': addNote(param.actor, param.placement, param.text); From e102ac2b58926118acec37b589155c68aefbaa18 Mon Sep 17 00:00:00 2001 From: Sidharth Vinod Date: Wed, 1 May 2024 23:02:46 +0530 Subject: [PATCH 361/789] Update packages/mermaid/src/diagrams/sequence/parser/sequenceDiagram.jison --- .../mermaid/src/diagrams/sequence/parser/sequenceDiagram.jison | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/mermaid/src/diagrams/sequence/parser/sequenceDiagram.jison b/packages/mermaid/src/diagrams/sequence/parser/sequenceDiagram.jison index 5a6599ef5e..1d57207070 100644 --- a/packages/mermaid/src/diagrams/sequence/parser/sequenceDiagram.jison +++ b/packages/mermaid/src/diagrams/sequence/parser/sequenceDiagram.jison @@ -3,7 +3,7 @@ * (c) 2014-2015 Knut Sveidqvist * MIT license. * - * Based on js sequence diagrams jison grammer + * Based on js sequence diagrams jison grammar * https://bramp.github.io/js-sequence-diagrams/ * (c) 2012-2013 Andrew Brampton (bramp.net) * Simplified BSD license. From 92f1941fb045e3b549b9c6ebfb0119697ad8010b Mon Sep 17 00:00:00 2001 From: Yash Singh Date: Wed, 1 May 2024 10:42:55 -0700 Subject: [PATCH 362/789] fix: some changes --- packages/mermaid/src/diagrams/er/erRenderer.js | 2 +- packages/mermaid/src/diagrams/state/stateRenderer-v2.js | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/packages/mermaid/src/diagrams/er/erRenderer.js b/packages/mermaid/src/diagrams/er/erRenderer.js index 7f0a0e914a..33fb5bd4ae 100644 --- a/packages/mermaid/src/diagrams/er/erRenderer.js +++ b/packages/mermaid/src/diagrams/er/erRenderer.js @@ -296,7 +296,7 @@ const drawAttributes = (groupNode, entityTextNode, attributes) => { * Use D3 to construct the svg elements for the entities * * @param svgNode The svg node that contains the diagram - * @param entities The entities to be drawn + * @param {Map} entities The entities to be drawn * @param graph The graph that contains the vertex and edge definitions post-layout * @returns {object} The first entity that was inserted */ diff --git a/packages/mermaid/src/diagrams/state/stateRenderer-v2.js b/packages/mermaid/src/diagrams/state/stateRenderer-v2.js index 4d702bf3c1..264d4501f9 100644 --- a/packages/mermaid/src/diagrams/state/stateRenderer-v2.js +++ b/packages/mermaid/src/diagrams/state/stateRenderer-v2.js @@ -129,13 +129,13 @@ export function stateDomId(itemId = '', counter = 0, type = '', typeSpacer = DOM * @param g - graph * @param {object} parent * @param {object} parsedItem - parsed statement item - * @param {object[]} diagramStates - the list of all known states for the diagram + * @param {Map} diagramStates - the list of all known states for the diagram * @param {object} diagramDb * @param {boolean} altFlag - for clusters, add the "statediagram-cluster-alt" CSS class */ const setupNode = (g, parent, parsedItem, diagramStates, diagramDb, altFlag) => { const itemId = parsedItem.id; - const classStr = getClassesFromDbInfo(diagramStates[itemId]); + const classStr = getClassesFromDbInfo(diagramStates.get(itemId)); if (itemId !== 'root') { let shape = SHAPE_STATE; @@ -303,7 +303,7 @@ const setupNode = (g, parent, parsedItem, diagramStates, diagramDb, altFlag) => * @param g * @param parentParsedItem - parsed Item that is the parent of this document (doc) * @param doc - the document to set up; it is a list of parsed statements - * @param {object[]} diagramStates - the list of all known states for the diagram + * @param {Map} diagramStates - the list of all known states for the diagram * @param diagramDb * @param {boolean} altFlag * @todo This duplicates some of what is done in stateDb.js extract method From 913b29dbcbf76be595879fb1cdc637a9bcea2525 Mon Sep 17 00:00:00 2001 From: Knut Sveidqvist Date: Fri, 3 May 2024 12:02:19 +0200 Subject: [PATCH 363/789] #5237 First elk iteration --- cypress/platform/knsv2.html | 39 +++++++++---------- .../mermaid/src/diagrams/state/stateDb.js | 9 ++--- .../state/stateRenderer-v3-unified.ts | 3 +- .../layout-algorithms/dagre/index.js | 1 - .../layout-algorithms/elk/index.js | 20 +++++++++- packages/mermaid/src/rendering-util/render.js | 3 -- .../rendering-elements/createLabel.js | 1 + .../rendering-elements/edges.js | 34 +++++++++------- .../intersect/intersect-rect.js | 1 + 9 files changed, 64 insertions(+), 47 deletions(-) diff --git a/cypress/platform/knsv2.html b/cypress/platform/knsv2.html index 803daa224d..9b7f25f6fd 100644 --- a/cypress/platform/knsv2.html +++ b/cypress/platform/knsv2.html @@ -14,9 +14,20 @@ href="https://fonts.googleapis.com/css?family=Noto+Sans+SC&display=swap" rel="stylesheet" /> - - - + + + + +
     stateDiagram-v2
    -    stateId
    -
    +    Chimp --> Gorilla
    +    Chimp --> Bonobo
     
       
    @@ -469,7 +465,8 @@ // }); mermaid.initialize({ flowchart: { titleTopMargin: 10 }, - fontFamily: 'Kalam', + /* fontFamily: 'Kalam', */ + fontFamily: 'Caveat', sequence: { actorFontFamily: 'courier', noteFontFamily: 'courier', diff --git a/packages/mermaid/src/diagrams/state/stateDb.js b/packages/mermaid/src/diagrams/state/stateDb.js index 93e8bc8abc..ff366b15b5 100644 --- a/packages/mermaid/src/diagrams/state/stateDb.js +++ b/packages/mermaid/src/diagrams/state/stateDb.js @@ -575,7 +575,7 @@ const trimColon = (str) => (str && str[0] === ':' ? str.substr(1).trim() : str.t const dataFetcher = (parent, parsedItem, diagramStates, nodes, edges, altFlag, useRough) => { console.log( - 'parent, parsedItemm, diagramStates, nodes, edges, altFlag, useRough:', + 'abc88 parent, parsedItemm, diagramStates, nodes, edges, altFlag, useRough:', parent, parsedItem, diagramStates, @@ -716,9 +716,7 @@ const dataFetcher = (parent, parsedItem, diagramStates, nodes, edges, altFlag, u //add parent id to noteData noteData.parentId = parentId; - nodes.push(groupData); - nodes.push(noteData); - nodes.push(nodeData); + nodes.push(groupData, noteData, nodeData); let from = itemId; let to = noteData.id; @@ -741,6 +739,7 @@ const dataFetcher = (parent, parsedItem, diagramStates, nodes, edges, altFlag, u labelpos: G_EDGE_LABELPOS, labelType: G_EDGE_LABELTYPE, thickness: G_EDGE_THICKNESS, + useRough, }); } else { nodes.push(nodeData); @@ -836,7 +835,7 @@ export const getData = () => { extract(getRootDocV2()); const diagramStates = getStates(); - const useRough = false; + const useRough = true; dataFetcher(undefined, getRootDocV2(), diagramStates, nodes, edges, true, useRough); return { nodes, edges, other: {} }; diff --git a/packages/mermaid/src/diagrams/state/stateRenderer-v3-unified.ts b/packages/mermaid/src/diagrams/state/stateRenderer-v3-unified.ts index f8fd190198..2632ffd27b 100644 --- a/packages/mermaid/src/diagrams/state/stateRenderer-v3-unified.ts +++ b/packages/mermaid/src/diagrams/state/stateRenderer-v3-unified.ts @@ -88,8 +88,7 @@ export const draw = async function (text: string, id: string, _version: string, data4Layout.type = diag.type; data4Layout.layoutAlgorithm = 'dagre-wrapper'; - //data4Layout.layoutAlgorithm = 'elk'; - data4Layout.skin = 'roughjs'; + // data4Layout.layoutAlgorithm = 'elk'; data4Layout.direction = DIR; data4Layout.nodeSpacing = conf.nodeSpacing || 50; data4Layout.rankSpacing = conf.rankSpacing || 50; diff --git a/packages/mermaid/src/rendering-util/layout-algorithms/dagre/index.js b/packages/mermaid/src/rendering-util/layout-algorithms/dagre/index.js index f3ae0a6f46..002e4a0935 100644 --- a/packages/mermaid/src/rendering-util/layout-algorithms/dagre/index.js +++ b/packages/mermaid/src/rendering-util/layout-algorithms/dagre/index.js @@ -173,7 +173,6 @@ const recursiveRender = async (_elem, graph, diagramtype, id, parentCluster, sit }; export const render = async (data4Layout, svg, element) => { - console.warn('HERERERERERER'); // Create the input mermaid.graph const graph = new graphlib.Graph({ multigraph: true, diff --git a/packages/mermaid/src/rendering-util/layout-algorithms/elk/index.js b/packages/mermaid/src/rendering-util/layout-algorithms/elk/index.js index b141065d73..c52124249c 100644 --- a/packages/mermaid/src/rendering-util/layout-algorithms/elk/index.js +++ b/packages/mermaid/src/rendering-util/layout-algorithms/elk/index.js @@ -306,7 +306,7 @@ export const addEdges = function (dataForLayout, graph, svg) { // } edges.forEach(function (edge) { - console.log('edge abc78', edge.id); + console.log('edge abc88', edge); // Identify Link const linkIdBase = edge.id; // 'L-' + edge.start + '-' + edge.end; // count the links from+to the same node to give unique id @@ -429,6 +429,7 @@ export const addEdges = function (dataForLayout, graph, svg) { // Add the edge to the graph graph.edges.push({ id: 'e' + edge.start + edge.end, + ...edge, sources: [source], targets: [target], sourceId, @@ -515,6 +516,8 @@ export const render = async (data4Layout, svg, element) => { const parentLookupDb = {}; graph = await addVertices(svg, data4Layout, parentLookupDb, graph); + console.log('graph', graph, data4Layout); + // Add the nodes and edges to the graph // data4Layout.nodes.forEach((node) => { // graph.setNode(node.id, { ...node }); @@ -600,6 +603,21 @@ export const render = async (data4Layout, svg, element) => { console.log('after layout', g); g.edges?.map((edge) => { // (elem, edge, clusterDb, diagramType, graph, id) + edge.start = nodeDb[edge.sources[0]]; + edge.end = nodeDb[edge.targets[0]]; + const offset = { x: 0, y: 0 }; + const src = edge.sections[0].startPoint; + const dest = edge.sections[0].endPoint; + const segments = edge.sections[0].bendPoints ? edge.sections[0].bendPoints : []; + + const segPoints = segments.map((segment) => { + return { x: segment.x + offset.x, y: segment.y + offset.y }; + }); + edge.points = [ + { x: src.x + offset.x, y: src.y + offset.y }, + ...segPoints, + { x: dest.x + offset.x, y: dest.y + offset.y }, + ]; insertEdge(edgesEl, edge, clusterDb, data4Layout.type, g, data4Layout.diagramId); }); // setupGraphViewbox({}, svg, conf.diagramPadding, conf.useMaxWidth); diff --git a/packages/mermaid/src/rendering-util/render.js b/packages/mermaid/src/rendering-util/render.js index fe205d156b..937146f965 100644 --- a/packages/mermaid/src/rendering-util/render.js +++ b/packages/mermaid/src/rendering-util/render.js @@ -1,10 +1,7 @@ export const render = async (data4Layout, svg, element) => { switch (data4Layout.layoutAlgorithm) { case 'dagre-wrapper': { - // const layoutRenderer = await import('../dagre-wrapper/index-refactored.js'); - const layoutRenderer = await import('./layout-algorithms/dagre/index.js'); - return layoutRenderer.render(data4Layout, svg, element); } case 'elk': { diff --git a/packages/mermaid/src/rendering-util/rendering-elements/createLabel.js b/packages/mermaid/src/rendering-util/rendering-elements/createLabel.js index 24bc143071..c018c46e53 100644 --- a/packages/mermaid/src/rendering-util/rendering-elements/createLabel.js +++ b/packages/mermaid/src/rendering-util/rendering-elements/createLabel.js @@ -36,6 +36,7 @@ function addHtmlLabel(node) { applyStyle(div, node.labelStyle); div.style('display', 'inline-block'); + div.style('padding-right', '1px'); // Fix for firefox div.style('white-space', 'nowrap'); div.attr('xmlns', 'http://www.w3.org/1999/xhtml'); diff --git a/packages/mermaid/src/rendering-util/rendering-elements/edges.js b/packages/mermaid/src/rendering-util/rendering-elements/edges.js index 4aa3e52f53..b805c961f6 100644 --- a/packages/mermaid/src/rendering-util/rendering-elements/edges.js +++ b/packages/mermaid/src/rendering-util/rendering-elements/edges.js @@ -382,18 +382,21 @@ export const insertEdge = function (elem, edge, clusterDb, diagramType, graph, i const tail = edge.start; var head = edge.end; - log.info('abc88 InsertEdge: ', edge); + log.info('abc88 InsertEdge: ', points); if (head.intersect && tail.intersect) { - points = points.slice(1, edge.points.length - 1); - points.unshift(tail.intersect(points[0])); - log.info( - 'Last point', - points[points.length - 1], - head, - head.intersect(points[points.length - 1]) - ); - points.push(head.intersect(points[points.length - 1])); + log.info('abc88 InsertEdge: 0.5', points); + // points = points.slice(1, edge.points.length - 1); + log.info('abc88 InsertEdge: 0.7', points); + // points.unshift(tail.intersect(points[0])); + // log.info( + // 'Last point abc88', + // points[points.length - 1], + // head, + // head.intersect(points[points.length - 1]) + // ); + // points.push(head.intersect(points[points.length - 1])); } + log.info('abc88 InsertEdge 2: ', points); if (edge.toCluster) { log.info('to cluster abc88', clusterDb[edge.toCluster]); points = cutPathAtIntersect(edge.points, clusterDb[edge.toCluster].node); @@ -436,7 +439,7 @@ export const insertEdge = function (elem, edge, clusterDb, diagramType, graph, i strokeClasses = 'edge-thickness-thick'; break; default: - strokeClasses = ''; + strokeClasses = 'edge-thickness-normal'; } switch (edge.pattern) { case 'solid': @@ -448,6 +451,8 @@ export const insertEdge = function (elem, edge, clusterDb, diagramType, graph, i case 'dashed': strokeClasses += ' edge-pattern-dashed'; break; + default: + strokeClasses += ' edge-pattern-solid'; } let useRough = edge.useRough; let svgPath; @@ -460,8 +465,9 @@ export const insertEdge = function (elem, edge, clusterDb, diagramType, graph, i if (useRough) { const rc = rough.svg(elem); - const svgPathNode = rc.curve(pointArr, { stroke: 'green' }); - console.log('svgPathNode', svgPathNode); + const svgPathNode = rc.curve(pointArr, { roughness: 0.5, stroke: 'green' }); + console.log('svgPathNode abc88', svgPathNode); + strokeClasses += ' transition'; // const svgPath2 = elem // .append('path') // .attr('d', lineFunction(lineData)) @@ -469,7 +475,7 @@ export const insertEdge = function (elem, edge, clusterDb, diagramType, graph, i // .attr('class', ' ' + strokeClasses + (edge.classes ? ' ' + edge.classes : '')) // .attr('style', edge.style); - // console.log('svgPath2', svgPath2.node()); + console.log('svgPath2 abc88', strokeClasses + (edge.classes ? ' ' + edge.classes : '')); svgPath = select(svgPathNode) .select('path') .attr('id', edge.id) diff --git a/packages/mermaid/src/rendering-util/rendering-elements/intersect/intersect-rect.js b/packages/mermaid/src/rendering-util/rendering-elements/intersect/intersect-rect.js index daf6b5eea0..13c5967775 100644 --- a/packages/mermaid/src/rendering-util/rendering-elements/intersect/intersect-rect.js +++ b/packages/mermaid/src/rendering-util/rendering-elements/intersect/intersect-rect.js @@ -1,4 +1,5 @@ const intersectRect = (node, point) => { + console.log('intersect.rect abc88', node, point); var x = node.x; var y = node.y; From 5e53d6cfee5ce1d471ce2a9811e45ca5be039faf Mon Sep 17 00:00:00 2001 From: Ashish Jain Date: Fri, 3 May 2024 12:50:02 +0200 Subject: [PATCH 364/789] #5237 fix for node duplication --- cypress/platform/knsv2.html | 9 +++++++-- .../mermaid/src/diagrams/state/stateDb.js | 19 +++++++++++++++++-- .../state/stateRenderer-v3-unified.ts | 2 +- 3 files changed, 25 insertions(+), 5 deletions(-) diff --git a/cypress/platform/knsv2.html b/cypress/platform/knsv2.html index 9b7f25f6fd..d62e888671 100644 --- a/cypress/platform/knsv2.html +++ b/cypress/platform/knsv2.html @@ -74,8 +74,13 @@
     stateDiagram-v2
    -    Chimp --> Gorilla
    -    Chimp --> Bonobo
    +    [*] --> First
    +    state First {
    +        [*] --> second
    +        second --> [*]
    +    }
    +
    +
     
       
    diff --git a/packages/mermaid/src/diagrams/state/stateDb.js b/packages/mermaid/src/diagrams/state/stateDb.js index ff366b15b5..c96c204c66 100644 --- a/packages/mermaid/src/diagrams/state/stateDb.js +++ b/packages/mermaid/src/diagrams/state/stateDb.js @@ -716,7 +716,12 @@ const dataFetcher = (parent, parsedItem, diagramStates, nodes, edges, altFlag, u //add parent id to noteData noteData.parentId = parentId; - nodes.push(groupData, noteData, nodeData); + //insert groupData + insertOrUpdateNode(nodes, groupData); + //insert noteData + insertOrUpdateNode(nodes, noteData); + //insert nodeData + insertOrUpdateNode(nodes, nodeData); let from = itemId; let to = noteData.id; @@ -742,7 +747,7 @@ const dataFetcher = (parent, parsedItem, diagramStates, nodes, edges, altFlag, u useRough, }); } else { - nodes.push(nodeData); + insertOrUpdateNode(nodes, nodeData); } console.log('Nodes:', nodes); @@ -753,6 +758,16 @@ const dataFetcher = (parent, parsedItem, diagramStates, nodes, edges, altFlag, u } }; +function insertOrUpdateNode(nodes, nodeData) { + const existingNodeData = nodes.find((node) => node.id === nodeData.id); + if (existingNodeData) { + //update the existing nodeData + Object.assign(existingNodeData, nodeData); + } else { + nodes.push(nodeData); + } +} + /** * Create a standard string for the dom ID of an item. * If a type is given, insert that before the counter, preceded by the type spacer diff --git a/packages/mermaid/src/diagrams/state/stateRenderer-v3-unified.ts b/packages/mermaid/src/diagrams/state/stateRenderer-v3-unified.ts index 2632ffd27b..19bebb2cb7 100644 --- a/packages/mermaid/src/diagrams/state/stateRenderer-v3-unified.ts +++ b/packages/mermaid/src/diagrams/state/stateRenderer-v3-unified.ts @@ -88,7 +88,7 @@ export const draw = async function (text: string, id: string, _version: string, data4Layout.type = diag.type; data4Layout.layoutAlgorithm = 'dagre-wrapper'; - // data4Layout.layoutAlgorithm = 'elk'; + //data4Layout.layoutAlgorithm = 'elk'; data4Layout.direction = DIR; data4Layout.nodeSpacing = conf.nodeSpacing || 50; data4Layout.rankSpacing = conf.rankSpacing || 50; From 024bffd68341524ea6a26ec846a8fa043df0a638 Mon Sep 17 00:00:00 2001 From: Ashish Jain Date: Fri, 3 May 2024 13:03:34 +0200 Subject: [PATCH 365/789] #5237 pass useRough to edges --- packages/mermaid/src/diagrams/state/stateDb.js | 1 + packages/mermaid/src/rendering-util/types.d.ts | 1 + 2 files changed, 2 insertions(+) diff --git a/packages/mermaid/src/diagrams/state/stateDb.js b/packages/mermaid/src/diagrams/state/stateDb.js index c96c204c66..078f33aab5 100644 --- a/packages/mermaid/src/diagrams/state/stateDb.js +++ b/packages/mermaid/src/diagrams/state/stateDb.js @@ -828,6 +828,7 @@ const setupDoc = (parentParsedItem, doc, diagramStates, nodes, edges, altFlag, u labelType: G_EDGE_LABELTYPE, thickness: G_EDGE_THICKNESS, classes: CSS_EDGE, + useRough, }; edges.push(edgeData); //g.setEdge(item.state1.id, item.state2.id, edgeData, graphItemCount); diff --git a/packages/mermaid/src/rendering-util/types.d.ts b/packages/mermaid/src/rendering-util/types.d.ts index af24d4c76c..1569368456 100644 --- a/packages/mermaid/src/rendering-util/types.d.ts +++ b/packages/mermaid/src/rendering-util/types.d.ts @@ -71,6 +71,7 @@ interface Edge { minlen?: number; pattern?: string; thickness?: number; + useRough?: boolean; } // Extending the Node interface for specific types if needed From b2c286ff1dbdd14c57530773117b9aee601c657d Mon Sep 17 00:00:00 2001 From: Knut Sveidqvist Date: Fri, 3 May 2024 15:58:39 +0200 Subject: [PATCH 366/789] #5237 Recusive structuture refactoring for subgraphs --- cypress/platform/knsv2.html | 19 +- .../mermaid/src/diagrams/state/stateDb.js | 15 +- .../state/stateRenderer-v3-unified.ts | 4 +- .../layout-algorithms/elk/index.js | 368 +++++++++++------- .../rendering-elements/edges.js | 5 +- 5 files changed, 243 insertions(+), 168 deletions(-) diff --git a/cypress/platform/knsv2.html b/cypress/platform/knsv2.html index d62e888671..fa01618ea0 100644 --- a/cypress/platform/knsv2.html +++ b/cypress/platform/knsv2.html @@ -74,19 +74,24 @@
     stateDiagram-v2
    -    [*] --> First
    +    Chimp --> A
    +
    +  
    +
    +stateDiagram-v2
         state First {
    -        [*] --> second
    -        second --> [*]
    +second --> third
         }
    -
    -
    -
       
     stateDiagram-v2
    -       Second
    +    [*] --> First
    +    state First {
    +        [*] --> second
    +        second --> [*]
    +    }
       
    diff --git a/packages/mermaid/src/diagrams/state/stateDb.js b/packages/mermaid/src/diagrams/state/stateDb.js
    index 078f33aab5..2275dddba3 100644
    --- a/packages/mermaid/src/diagrams/state/stateDb.js
    +++ b/packages/mermaid/src/diagrams/state/stateDb.js
    @@ -574,16 +574,6 @@ const setDirection = (dir) => {
     const trimColon = (str) => (str && str[0] === ':' ? str.substr(1).trim() : str.trim());
     
     const dataFetcher = (parent, parsedItem, diagramStates, nodes, edges, altFlag, useRough) => {
    -  console.log(
    -    'abc88 parent, parsedItemm, diagramStates, nodes, edges, altFlag, useRough:',
    -    parent,
    -    parsedItem,
    -    diagramStates,
    -    nodes,
    -    edges,
    -    altFlag,
    -    useRough
    -  );
       const itemId = parsedItem.id;
       const classStr = getClassesFromDbInfo(diagramStates[itemId]);
     
    @@ -758,6 +748,11 @@ const dataFetcher = (parent, parsedItem, diagramStates, nodes, edges, altFlag, u
       }
     };
     
    +/**
    + *
    + * @param nodes
    + * @param nodeData
    + */
     function insertOrUpdateNode(nodes, nodeData) {
       const existingNodeData = nodes.find((node) => node.id === nodeData.id);
       if (existingNodeData) {
    diff --git a/packages/mermaid/src/diagrams/state/stateRenderer-v3-unified.ts b/packages/mermaid/src/diagrams/state/stateRenderer-v3-unified.ts
    index 19bebb2cb7..1c7da678a1 100644
    --- a/packages/mermaid/src/diagrams/state/stateRenderer-v3-unified.ts
    +++ b/packages/mermaid/src/diagrams/state/stateRenderer-v3-unified.ts
    @@ -87,8 +87,8 @@ export const draw = async function (text: string, id: string, _version: string,
       // performRender(data4Rendering);
     
       data4Layout.type = diag.type;
    -  data4Layout.layoutAlgorithm = 'dagre-wrapper';
    -  //data4Layout.layoutAlgorithm = 'elk';
    +  // data4Layout.layoutAlgorithm = 'dagre-wrapper';
    +  data4Layout.layoutAlgorithm = 'elk';
       data4Layout.direction = DIR;
       data4Layout.nodeSpacing = conf.nodeSpacing || 50;
       data4Layout.rankSpacing = conf.rankSpacing || 50;
    diff --git a/packages/mermaid/src/rendering-util/layout-algorithms/elk/index.js b/packages/mermaid/src/rendering-util/layout-algorithms/elk/index.js
    index c52124249c..3ea4269ad6 100644
    --- a/packages/mermaid/src/rendering-util/layout-algorithms/elk/index.js
    +++ b/packages/mermaid/src/rendering-util/layout-algorithms/elk/index.js
    @@ -21,6 +21,7 @@ import { log } from '$root/logger.js';
     import ELK from 'elkjs/lib/elk.bundled.js';
     
     const nodeDb = {};
    +let portPos = {};
     let clusterDb = {};
     
     const addSubGraphs = function (db) {
    @@ -46,6 +47,150 @@ const addSubGraphs = function (db) {
       return parentLookupDb;
     };
     
    +export const addVertex = async (nodeEl, graph, nodeArr, node) => {
    +  console.log('addVertex abc88', node.id);
    +  // const node = vert[id];
    +
    +  //     /**
    +  //      * Variable for storing the classes for the vertex
    +  //      *
    +  //      * @type {string}
    +  //      */
    +  //     let classStr = 'default';
    +  //     if (node.classes.length > 0) {
    +  //       classStr = node.classes.join(' ');
    +  //     }
    +  //     classStr = classStr + ' flowchart-label';
    +  //     const styles = getStylesFromArray(node.styles);
    +
    +  //     // Use vertex id as text in the box if no text is provided by the graph definition
    +  //     let vertexText = node.text !== undefined ? node.text : node.id;
    +
    +  //     // We create a SVG label, either by delegating to addHtmlLabel or manually
    +  //     let vertexNode;
    +  //     const labelData = { width: 0, height: 0 };
    +
    +  const ports = [
    +    {
    +      id: node.id + '-west',
    +      layoutOptions: {
    +        'port.side': 'WEST',
    +      },
    +    },
    +    {
    +      id: node.id + '-east',
    +      layoutOptions: {
    +        'port.side': 'EAST',
    +      },
    +    },
    +    {
    +      id: node.id + '-south',
    +      layoutOptions: {
    +        'port.side': 'SOUTH',
    +      },
    +    },
    +    {
    +      id: node.id + '-north',
    +      layoutOptions: {
    +        'port.side': 'NORTH',
    +      },
    +    },
    +  ];
    +
    +  let boundingBox;
    +  const child = {
    +    ...node,
    +    ports: node.shape === 'diamond' ? ports : [],
    +  };
    +  graph.children.push(child);
    +
    +  //     // Add the element to the DOM
    +  if (node.type !== 'group') {
    +    const childNodeEl = await insertNode(nodeEl, node, node.dir);
    +    boundingBox = childNodeEl.node().getBBox();
    +    child.domId = childNodeEl;
    +    child.width = boundingBox.width;
    +    child.height = boundingBox.height;
    +  } else {
    +    child.children = [];
    +    await addVertices(nodeEl, nodeArr, child, node.id);
    +  }
    +
    +  // else {
    +  //       const svgLabel = doc.createElementNS('http://www.w3.org/2000/svg', 'text');
    +  //       // svgLabel.setAttribute('style', styles.labelStyle.replace('color:', 'fill:'));
    +  //       // const rows = vertexText.split(common.lineBreakRegex);
    +  //       // for (const row of rows) {
    +  //       //   const tspan = doc.createElementNS('http://www.w3.org/2000/svg', 'tspan');
    +  //       //   tspan.setAttributeNS('http://www.w3.org/XML/1998/namespace', 'xml:space', 'preserve');
    +  //       //   tspan.setAttribute('dy', '1em');
    +  //       //   tspan.setAttribute('x', '1');
    +  //       //   tspan.textContent = row;
    +  //       //   svgLabel.appendChild(tspan);
    +  //       // }
    +  //       // vertexNode = svgLabel;
    +  //       // const bbox = vertexNode.getBBox();
    +  //       const { shapeSvg, bbox } = await labelHelper(nodes, node, undefined, true);
    +  //       labelData.width = bbox.width;
    +  //       labelData.wrappingWidth = getConfig().flowchart.wrappingWidth;
    +  //       labelData.height = bbox.height;
    +  //       labelData.labelNode = shapeSvg.node();
    +  //       node.labelData = labelData;
    +  //     }
    +  //     // const { shapeSvg, bbox } = await labelHelper(svg, node, undefined, true);
    +
    +  // const data = {
    +  //   id: node.id,
    +  //   ports: node.shape === 'diamond' ? ports : [],
    +  //   // labelStyle: styles.labelStyle,
    +  //   // shape: _shape,
    +  //   layoutOptions,
    +  //   labelText: vertexText,
    +  //   labelData,
    +  //   // labels: [{ text: vertexText }],
    +  //   // rx: radius,
    +  //   // ry: radius,
    +  //   // class: classStr,
    +  //   // style: styles.style,
    +  //   // link: vertex.link,
    +  //   // linkTarget: vertex.linkTarget,
    +  //   // tooltip: diagObj.db.getTooltip(vertex.id) || '',
    +  //   domId: diagObj.db.lookUpDomId(node.id),
    +  //   // haveCallback: vertex.haveCallback,
    +  //   width: boundingBox?.width,
    +  //   height: boundingBox?.height,
    +  //   // dir: vertex.dir,
    +  //   type: node.shape,
    +  //   // props: vertex.props,
    +  //   // padding: getConfig().flowchart.padding,
    +  //   // boundingBox,
    +  //   el: nodeEl,
    +  //   parent: parentLookupDb.parentById[node.id],
    +  // };
    +  //     // if (!Object.keys(parentLookupDb.childrenById).includes(vertex.id)) {
    +  //     // graph.children.push({
    +  //     //   ...data,
    +  //     // });
    +  //     // }
    +  //     nodeDb[node.id] = data;
    +  //     // log.trace('setNode', {
    +  //     //   labelStyle: styles.labelStyle,
    +  //     //   shape: _shape,
    +  //     //   labelText: vertexText,
    +  //     //   rx: radius,
    +  //     //   ry: radius,
    +  //     //   class: classStr,
    +  //     //   style: styles.style,
    +  //     //   id: vertex.id,
    +  //     //   domId: diagObj.db.lookUpDomId(vertex.id),
    +  //     //   width: vertex.type === 'group' ? 500 : undefined,
    +  //     //   type: vertex.type,
    +  //     //   dir: vertex.dir,
    +  //     //   props: vertex.props,
    +  //     //   padding: getConfig().flowchart.padding,
    +  //     //   parent: parentLookupDb.parentById[vertex.id],
    +  //     // });
    +};
     // /**
     //  * Function that adds the vertices found during parsing to the graph to be rendered.
     //  *
    @@ -56,148 +201,13 @@ const addSubGraphs = function (db) {
     //  * @param doc
     //  * @param diagObj
     //  */
    -export const addVertices = async function (svg, data4Layout, parentLookupDb, graph) {
    -  const nodes = svg.insert('g').attr('class', 'nodes');
    -
    -  console.log('data4Layout (node)', data4Layout);
    +export const addVertices = async function (nodeEl, nodeArr, graph, parentId) {
    +  const siblings = nodeArr.filter((node) => node.parentId === parentId);
    +  log.info('addVertices abc88', siblings, parentId);
       // Iterate through each item in the vertex object (containing all the vertices found) in the graph definition
       await Promise.all(
    -    data4Layout.nodes.map(async (node) => {
    -      console.log('node', node);
    -      // const node = vert[id];
    -
    -      //     /**
    -      //      * Variable for storing the classes for the vertex
    -      //      *
    -      //      * @type {string}
    -      //      */
    -      //     let classStr = 'default';
    -      //     if (node.classes.length > 0) {
    -      //       classStr = node.classes.join(' ');
    -      //     }
    -      //     classStr = classStr + ' flowchart-label';
    -      //     const styles = getStylesFromArray(node.styles);
    -
    -      //     // Use vertex id as text in the box if no text is provided by the graph definition
    -      //     let vertexText = node.text !== undefined ? node.text : node.id;
    -
    -      //     // We create a SVG label, either by delegating to addHtmlLabel or manually
    -      //     let vertexNode;
    -      //     const labelData = { width: 0, height: 0 };
    -
    -      const ports = [
    -        {
    -          id: node.id + '-west',
    -          layoutOptions: {
    -            'port.side': 'WEST',
    -          },
    -        },
    -        {
    -          id: node.id + '-east',
    -          layoutOptions: {
    -            'port.side': 'EAST',
    -          },
    -        },
    -        {
    -          id: node.id + '-south',
    -          layoutOptions: {
    -            'port.side': 'SOUTH',
    -          },
    -        },
    -        {
    -          id: node.id + '-north',
    -          layoutOptions: {
    -            'port.side': 'NORTH',
    -          },
    -        },
    -      ];
    -
    -      let boundingBox;
    -      let nodeEl;
    -
    -      //     // Add the element to the DOM
    -      if (node.type !== 'group') {
    -        nodeEl = await insertNode(nodes, node, node.dir);
    -        boundingBox = nodeEl.node().getBBox();
    -        graph.children.push({
    -          ...node,
    -          domId: nodeEl,
    -        });
    -      }
    -      // else {
    -      //       const svgLabel = doc.createElementNS('http://www.w3.org/2000/svg', 'text');
    -      //       // svgLabel.setAttribute('style', styles.labelStyle.replace('color:', 'fill:'));
    -      //       // const rows = vertexText.split(common.lineBreakRegex);
    -      //       // for (const row of rows) {
    -      //       //   const tspan = doc.createElementNS('http://www.w3.org/2000/svg', 'tspan');
    -      //       //   tspan.setAttributeNS('http://www.w3.org/XML/1998/namespace', 'xml:space', 'preserve');
    -      //       //   tspan.setAttribute('dy', '1em');
    -      //       //   tspan.setAttribute('x', '1');
    -      //       //   tspan.textContent = row;
    -      //       //   svgLabel.appendChild(tspan);
    -      //       // }
    -      //       // vertexNode = svgLabel;
    -      //       // const bbox = vertexNode.getBBox();
    -      //       const { shapeSvg, bbox } = await labelHelper(nodes, node, undefined, true);
    -      //       labelData.width = bbox.width;
    -      //       labelData.wrappingWidth = getConfig().flowchart.wrappingWidth;
    -      //       labelData.height = bbox.height;
    -      //       labelData.labelNode = shapeSvg.node();
    -      //       node.labelData = labelData;
    -      //     }
    -      //     // const { shapeSvg, bbox } = await labelHelper(svg, node, undefined, true);
    -
    -      // const data = {
    -      //   id: node.id,
    -      //   ports: node.type === 'diamond' ? ports : [],
    -      //   // labelStyle: styles.labelStyle,
    -      //   // shape: _shape,
    -      //   layoutOptions,
    -      //   labelText: vertexText,
    -      //   labelData,
    -      //   // labels: [{ text: vertexText }],
    -      //   // rx: radius,
    -      //   // ry: radius,
    -      //   // class: classStr,
    -      //   // style: styles.style,
    -      //   // link: vertex.link,
    -      //   // linkTarget: vertex.linkTarget,
    -      //   // tooltip: diagObj.db.getTooltip(vertex.id) || '',
    -      //   domId: diagObj.db.lookUpDomId(node.id),
    -      //   // haveCallback: vertex.haveCallback,
    -      //   width: boundingBox?.width,
    -      //   height: boundingBox?.height,
    -      //   // dir: vertex.dir,
    -      //   type: node.type,
    -      //   // props: vertex.props,
    -      //   // padding: getConfig().flowchart.padding,
    -      //   // boundingBox,
    -      //   el: nodeEl,
    -      //   parent: parentLookupDb.parentById[node.id],
    -      // };
    -      //     // if (!Object.keys(parentLookupDb.childrenById).includes(vertex.id)) {
    -      //     // graph.children.push({
    -      //     //   ...data,
    -      //     // });
    -      //     // }
    -      //     nodeDb[node.id] = data;
    -      //     // log.trace('setNode', {
    -      //     //   labelStyle: styles.labelStyle,
    -      //     //   shape: _shape,
    -      //     //   labelText: vertexText,
    -      //     //   rx: radius,
    -      //     //   ry: radius,
    -      //     //   class: classStr,
    -      //     //   style: styles.style,
    -      //     //   id: vertex.id,
    -      //     //   domId: diagObj.db.lookUpDomId(vertex.id),
    -      //     //   width: vertex.type === 'group' ? 500 : undefined,
    -      //     //   type: vertex.type,
    -      //     //   dir: vertex.dir,
    -      //     //   props: vertex.props,
    -      //     //   padding: getConfig().flowchart.padding,
    -      //     //   parent: parentLookupDb.parentById[vertex.id],
    -      //     // });
    +    siblings.map(async (node) => {
    +      await addVertex(nodeEl, graph, nodeArr, node);
         })
       );
       return graph;
    @@ -235,9 +245,18 @@ const drawNodes = (relX, relY, nodeArray, svg, subgraphsEl, depth) => {
           //       );
           //       label.node().appendChild(node.labelData.labelNode);
     
    -      //       log.info('Id (UGH)= ', node.type, node.labels);
    +      //       log.info('Id (UGH)= ', node.shape, node.labels);
           //     } else {
    -      log.info('Id (UGH)= ', node.id);
    +      log.info(
    +        'Id (UGH)= ',
    +        node.id,
    +        node.x,
    +        node.y,
    +        relX,
    +        relY,
    +        node.domId.node(),
    +        `translate(${node.x + relX + node.width / 2}, ${node.y + relY + node.height / 2})`
    +      );
           node.domId.attr(
             'transform',
             `translate(${node.x + relX + node.width / 2}, ${node.y + relY + node.height / 2})`
    @@ -246,12 +265,61 @@ const drawNodes = (relX, relY, nodeArray, svg, subgraphsEl, depth) => {
         //   }
         // });
         // nodeArray.forEach(function (node) {
    -    //   if (node && node.type === 'group') {
    +    //   if (node && node.shape === 'group') {
         //     drawNodes(relX + node.x, relY + node.y, node.children, svg, subgraphsEl, diagObj, depth + 1);
         //   }
       });
     };
     
    +const getNextPort = (node, edgeDirection, graphDirection) => {
    +  log.info('getNextPort abc88', { node, edgeDirection, graphDirection });
    +  if (!portPos[node]) {
    +    switch (graphDirection) {
    +      case 'TB':
    +      case 'TD':
    +        portPos[node] = {
    +          inPosition: 'north',
    +          outPosition: 'south',
    +        };
    +        break;
    +      case 'BT':
    +        portPos[node] = {
    +          inPosition: 'south',
    +          outPosition: 'north',
    +        };
    +        break;
    +      case 'RL':
    +        portPos[node] = {
    +          inPosition: 'east',
    +          outPosition: 'west',
    +        };
    +        break;
    +      case 'LR':
    +        portPos[node] = {
    +          inPosition: 'west',
    +          outPosition: 'east',
    +        };
    +        break;
    +    }
    +  }
    +  const result = edgeDirection === 'in' ? portPos[node].inPosition : portPos[node].outPosition;
    +
    +  if (edgeDirection === 'in') {
    +    portPos[node].inPosition = getNextPosition(
    +      portPos[node].inPosition,
    +      edgeDirection,
    +      graphDirection
    +    );
    +  } else {
    +    portPos[node].outPosition = getNextPosition(
    +      portPos[node].outPosition,
    +      edgeDirection,
    +      graphDirection
    +    );
    +  }
    +  return result;
    +};
    +
     const getEdgeStartEndPoint = (edge, dir) => {
       let source = edge.start;
       let target = edge.end;
    @@ -267,11 +335,11 @@ const getEdgeStartEndPoint = (edge, dir) => {
         return { source, target };
       }
     
    -  if (startNode.type === 'diamond') {
    +  if (startnode.shape === 'diamond') {
         source = `${source}-${getNextPort(source, 'out', dir)}`;
       }
     
    -  if (endNode.type === 'diamond') {
    +  if (endnode.shape === 'diamond') {
         target = `${target}-${getNextPort(target, 'in', dir)}`;
       }
     
    @@ -514,7 +582,9 @@ export const render = async (data4Layout, svg, element) => {
       // that is not in the dom so we need to add it to the dom, get the size
       // we will position the nodes when we get the layout from elkjs
       const parentLookupDb = {};
    -  graph = await addVertices(svg, data4Layout, parentLookupDb, graph);
    +  const nodeEl = svg.insert('g').attr('class', 'nodes');
    +  graph = await addVertices(nodeEl, data4Layout.nodes, graph);
    +  console.log('after addVertices abc88', JSON.stringify(graph, null, 2));
     
       console.log('graph', graph, data4Layout);
     
    @@ -596,11 +666,13 @@ export const render = async (data4Layout, svg, element) => {
       // });
     
       // insertChildren(graph.children, parentLookupDb);
    -  // log.info('after layout', JSON.stringify(graph, null, 2));
    +
    +  // console.log('before layout abc88', JSON.stringify(graph, null, 2));
       const g = await elk.layout(graph);
    +  log.info('after layout', JSON.stringify(graph, null, 2));
    +  console.log('after layout abc88', g);
       // drawNodes(0, 0, g.children, svg, subGraphsEl, 0);
       drawNodes(0, 0, g.children, svg, null, 0);
    -  console.log('after layout', g);
       g.edges?.map((edge) => {
         // (elem, edge, clusterDb, diagramType, graph, id)
         edge.start = nodeDb[edge.sources[0]];
    diff --git a/packages/mermaid/src/rendering-util/rendering-elements/edges.js b/packages/mermaid/src/rendering-util/rendering-elements/edges.js
    index b805c961f6..f8e6d65878 100644
    --- a/packages/mermaid/src/rendering-util/rendering-elements/edges.js
    +++ b/packages/mermaid/src/rendering-util/rendering-elements/edges.js
    @@ -419,7 +419,10 @@ export const insertEdge = function (elem, edge, clusterDb, diagramType, graph, i
       // Currently only flowcharts get the curve from the settings, perhaps this should
       // be expanded to a common setting? Restricting it for now in order not to cause side-effects that
       // have not been thought through
    -  if (edge.curve && (diagramType === 'graph' || diagramType === 'flowchart')) {
    +  if (
    +    edge.curve &&
    +    (diagramType === 'graph' || diagramType === 'flowchart' || diagramType === 'stateDiagram')
    +  ) {
         curve = edge.curve;
       }
     
    
    From 6f1a553234b883015b6b96a23cc81a49092f84a2 Mon Sep 17 00:00:00 2001
    From: Yash Singh 
    Date: Fri, 3 May 2024 20:37:45 -0700
    Subject: [PATCH 367/789] fix: git graph diffs
    
    ---
     .../src/diagrams/git/gitGraphRenderer.js      | 91 ++++++++++---------
     1 file changed, 50 insertions(+), 41 deletions(-)
    
    diff --git a/packages/mermaid/src/diagrams/git/gitGraphRenderer.js b/packages/mermaid/src/diagrams/git/gitGraphRenderer.js
    index 2576b26628..f4019448c3 100644
    --- a/packages/mermaid/src/diagrams/git/gitGraphRenderer.js
    +++ b/packages/mermaid/src/diagrams/git/gitGraphRenderer.js
    @@ -3,7 +3,12 @@ import { getConfig, setupGraphViewbox } from '../../diagram-api/diagramAPI.js';
     import { log } from '../../logger.js';
     import utils from '../../utils.js';
     
    -let allCommitsDict = {};
    +/**
    + * @typedef {Map} CommitMap
    + */
    +
    +/** @type {CommitMap} */
    +let allCommitsDict = new Map();
     
     const commitType = {
       NORMAL: 0,
    @@ -22,9 +27,9 @@ let maxPos = 0;
     let dir = 'LR';
     let defaultPos = 30;
     const clear = () => {
    -  branchPos = {};
    -  commitPos = {};
    -  allCommitsDict = {};
    +  branchPos = new Map();
    +  commitPos = new Map();
    +  allCommitsDict = new Map();
       maxPos = 0;
       lanes = [];
       dir = 'LR';
    @@ -78,7 +83,7 @@ const findClosestParent = (parents) => {
       let maxPosition = 0;
     
       parents.forEach((parent) => {
    -    const parentPosition = dir === 'TB' || dir === 'BT' ? commitPos[parent].y : commitPos[parent].x;
    +    const parentPosition = dir === 'TB' || dir === 'BT' ? commitPos.get(parent).y : commitPos.get(parent).x;
         if (parentPosition >= maxPosition) {
           closestParent = parent;
           maxPosition = parentPosition;
    @@ -101,7 +106,7 @@ const findClosestParentBT = (parents) => {
       let maxPosition = Infinity;
     
       parents.forEach((parent) => {
    -    const parentPosition = commitPos[parent].y;
    +    const parentPosition = commitPos.get(parent).y;
         if (parentPosition <= maxPosition) {
           closestParent = parent;
           maxPosition = parentPosition;
    @@ -119,7 +124,7 @@ const findClosestParentBT = (parents) => {
      * of the remaining commits.
      *
      * @param {any} sortedKeys
    - * @param {any} commits
    + * @param {CommitMap} commits
      * @param {any} defaultPos
      * @param {any} commitStep
      * @param {any} layoutOffset
    @@ -132,35 +137,35 @@ const setParallelBTPos = (sortedKeys, commits, defaultPos, commitStep, layoutOff
         const commit = commits.get(key);
         if (commit.parents.length) {
           const closestParent = findClosestParent(commit.parents);
    -      curPos = commitPos[closestParent].y + commitStep;
    +      curPos = commitPos.get(closestParent).y + commitStep;
           if (curPos >= maxPosition) {
             maxPosition = curPos;
           }
         } else {
           roots.push(commit);
         }
    -    const x = branchPos[commit.branch].pos;
    +    const x = branchPos.get(commit.branch).pos;
         const y = curPos + layoutOffset;
    -    commitPos[commit.id] = { x: x, y: y };
    +    commitPos.set(commit.id, { x: x, y: y });
       });
       curPos = maxPosition;
       roots.forEach((commit) => {
         const posWithOffset = curPos + defaultPos;
         const y = posWithOffset;
    -    const x = branchPos[commit.branch].pos;
    -    commitPos[commit.id] = { x: x, y: y };
    +    const x = branchPos.get(commit.branch).pos;
    +    commitPos.set(commit.id, { x: x, y: y });
       });
       sortedKeys.forEach((key) => {
         const commit = commits.get(key);
         if (commit.parents.length) {
           const closestParent = findClosestParentBT(commit.parents);
    -      curPos = commitPos[closestParent].y - commitStep;
    +      curPos = commitPos.get(closestParent).y - commitStep;
           if (curPos <= maxPosition) {
             maxPosition = curPos;
           }
    -      const x = branchPos[commit.branch].pos;
    +      const x = branchPos.get(commit.branch).pos;
           const y = curPos - layoutOffset;
    -      commitPos[commit.id] = { x: x, y: y };
    +      commitPos.set(commit.id, { x: x, y: y });
         }
       });
     };
    @@ -171,7 +176,7 @@ const setParallelBTPos = (sortedKeys, commits, defaultPos, commitStep, layoutOff
      * vertical layering correct in the graph.
      *
      * @param {any} svg
    - * @param {any} commits
    + * @param {CommitMap} commits
      * @param {any} modifyGraph
      */
     const drawCommits = (svg, commits, modifyGraph) => {
    @@ -209,25 +214,25 @@ const drawCommits = (svg, commits, modifyGraph) => {
             const closestParent =
               dir === 'BT' ? findClosestParentBT(commit.parents) : findClosestParent(commit.parents);
             if (dir === 'TB') {
    -          pos = commitPos[closestParent].y + commitStep;
    +          pos = commitPos.get(closestParent).y + commitStep;
             } else if (dir === 'BT') {
    -          pos = commitPos[key].y - commitStep;
    +          pos = commitPos.get(key).y - commitStep;
             } else {
    -          pos = commitPos[closestParent].x + commitStep;
    +          pos = commitPos.get(closestParent).x + commitStep;
             }
           } else {
             if (dir === 'TB') {
               pos = defaultPos;
             } else if (dir === 'BT') {
    -          pos = commitPos[key].y - commitStep;
    +          pos = commitPos.get(key).y - commitStep;
             } else {
               pos = 0;
             }
           }
         }
         const posWithOffset = dir === 'BT' && isParallelCommits ? pos : pos + layoutOffset;
    -    const y = dir === 'TB' || dir === 'BT' ? posWithOffset : branchPos[commit.branch].pos;
    -    const x = dir === 'TB' || dir === 'BT' ? branchPos[commit.branch].pos : posWithOffset;
    +    const y = dir === 'TB' || dir === 'BT' ? posWithOffset : branchPos.get(commit.branch).pos;
    +    const x = dir === 'TB' || dir === 'BT' ? branchPos.get(commit.branch).pos : posWithOffset;
     
         // Don't draw the commits now but calculate the positioning which is used by the branch lines etc.
         if (modifyGraph) {
    @@ -265,7 +270,7 @@ const drawCommits = (svg, commits, modifyGraph) => {
             circle.attr(
               'class',
               `commit ${commit.id} commit-highlight${
    -            branchPos[commit.branch].index % THEME_COLOR_LIMIT
    +            branchPos.get(commit.branch).index % THEME_COLOR_LIMIT
               } ${typeClass}-outer`
             );
             gBullets
    @@ -277,7 +282,7 @@ const drawCommits = (svg, commits, modifyGraph) => {
               .attr(
                 'class',
                 `commit ${commit.id} commit${
    -              branchPos[commit.branch].index % THEME_COLOR_LIMIT
    +              branchPos.get(commit.branch).index % THEME_COLOR_LIMIT
                 } ${typeClass}-inner`
               );
           } else if (commitSymbolType === commitType.CHERRY_PICK) {
    @@ -324,7 +329,7 @@ const drawCommits = (svg, commits, modifyGraph) => {
             circle.attr('r', commit.type === commitType.MERGE ? 9 : 10);
             circle.attr(
               'class',
    -          `commit ${commit.id} commit${branchPos[commit.branch].index % THEME_COLOR_LIMIT}`
    +          `commit ${commit.id} commit${branchPos.get(commit.branch).index % THEME_COLOR_LIMIT}`
             );
             if (commitSymbolType === commitType.MERGE) {
               const circle2 = gBullets.append('circle');
    @@ -334,7 +339,7 @@ const drawCommits = (svg, commits, modifyGraph) => {
               circle2.attr(
                 'class',
                 `commit ${typeClass} ${commit.id} commit${
    -              branchPos[commit.branch].index % THEME_COLOR_LIMIT
    +              branchPos.get(commit.branch).index % THEME_COLOR_LIMIT
                 }`
               );
             }
    @@ -345,16 +350,16 @@ const drawCommits = (svg, commits, modifyGraph) => {
                 .attr(
                   'class',
                   `commit ${typeClass} ${commit.id} commit${
    -                branchPos[commit.branch].index % THEME_COLOR_LIMIT
    +                branchPos.get(commit.branch).index % THEME_COLOR_LIMIT
                   }`
                 );
             }
           }
         }
         if (dir === 'TB' || dir === 'BT') {
    -      commitPos[commit.id] = { x: x, y: posWithOffset };
    +      commitPos.set(commit.id, { x: x, y: posWithOffset });
         } else {
    -      commitPos[commit.id] = { x: posWithOffset, y: y };
    +      commitPos.set(commit.id, { x: posWithOffset, y: y });
         }
     
         // The first iteration over the commits are for positioning purposes, this
    @@ -482,7 +487,7 @@ const drawCommits = (svg, commits, modifyGraph) => {
      * @param {any} commitB
      * @param p1
      * @param p2
    - * @param allCommits
    + * @param {CommitMap} allCommits
      * @returns {boolean}
      * If there are commits between
      * commitA's x-position
    @@ -496,7 +501,7 @@ const shouldRerouteArrow = (commitA, commitB, p1, p2, allCommits) => {
       const branchToGetCurve = commitBIsFurthest ? commitB.branch : commitA.branch;
       const isOnBranchToGetCurve = (x) => x.branch === branchToGetCurve;
       const isBetweenCommits = (x) => x.seq > commitA.seq && x.seq < commitB.seq;
    -  return Object.values(allCommits).some((commitX) => {
    +  return [...allCommits.values()].some((commitX) => {
         return isBetweenCommits(commitX) && isOnBranchToGetCurve(commitX);
       });
     };
    @@ -531,11 +536,11 @@ const findLane = (y1, y2, depth = 0) => {
      * @param {any} svg
      * @param {any} commitA
      * @param {any} commitB
    - * @param {any} allCommits
    + * @param {CommitMap} allCommits
      */
     const drawArrow = (svg, commitA, commitB, allCommits) => {
    -  const p1 = commitPos[commitA.id]; // arrowStart
    -  const p2 = commitPos[commitB.id]; // arrowEnd
    +  const p1 = commitPos.get(commitA.id); // arrowStart
    +  const p2 = commitPos.get(commitB.id); // arrowEnd
       const arrowNeedsRerouting = shouldRerouteArrow(commitA, commitB, p1, p2, allCommits);
       // log.debug('drawArrow', p1, p2, arrowNeedsRerouting, commitA.id, commitB.id);
     
    @@ -545,9 +550,9 @@ const drawArrow = (svg, commitA, commitB, allCommits) => {
       let arc2 = '';
       let radius = 0;
       let offset = 0;
    -  let colorClassNum = branchPos[commitB.branch].index;
    +  let colorClassNum = branchPos.get(commitB.branch).index;
       if (commitB.type === commitType.MERGE && commitA.id !== commitB.parents[0]) {
    -    colorClassNum = branchPos[commitA.branch].index;
    +    colorClassNum = branchPos.get(commitA.branch).index;
       }
     
       let lineDef;
    @@ -570,7 +575,7 @@ const drawArrow = (svg, commitA, commitB, allCommits) => {
           } else {
             // Source commit is on branch position right of destination commit
             // so render arrow leftward with colour of source branch
    -        colorClassNum = branchPos[commitA.branch].index;
    +        colorClassNum = branchPos.get(commitA.branch).index;
             lineDef = `M ${p1.x} ${p1.y} L ${lineX + radius} ${p1.y} ${arc} ${lineX} ${
               p1.y + offset
             } L ${lineX} ${p2.y - radius} ${arc2} ${lineX - offset} ${p2.y} L ${p2.x} ${p2.y}`;
    @@ -585,7 +590,7 @@ const drawArrow = (svg, commitA, commitB, allCommits) => {
           } else {
             // Source commit is on branch position right of destination commit
             // so render arrow leftward with colour of source branch
    -        colorClassNum = branchPos[commitA.branch].index;
    +        colorClassNum = branchPos.get(commitA.branch).index;
             lineDef = `M ${p1.x} ${p1.y} L ${lineX + radius} ${p1.y} ${arc2} ${lineX} ${
               p1.y - offset
             } L ${lineX} ${p2.y + radius} ${arc} ${lineX - offset} ${p2.y} L ${p2.x} ${p2.y}`;
    @@ -600,7 +605,7 @@ const drawArrow = (svg, commitA, commitB, allCommits) => {
           } else {
             // Source commit is on branch positioned below destination commit
             // so render arrow upward with colour of source branch
    -        colorClassNum = branchPos[commitA.branch].index;
    +        colorClassNum = branchPos.get(commitA.branch).index;
             lineDef = `M ${p1.x} ${p1.y} L ${p1.x} ${lineY + radius} ${arc2} ${
               p1.x + offset
             } ${lineY} L ${p2.x - radius} ${lineY} ${arc} ${p2.x} ${lineY - offset} L ${p2.x} ${p2.y}`;
    @@ -710,6 +715,10 @@ const drawArrow = (svg, commitA, commitB, allCommits) => {
         .attr('class', 'arrow arrow' + (colorClassNum % THEME_COLOR_LIMIT));
     };
     
    +/**
    + * @param {*} svg 
    + * @param {CommitMap} commits 
    + */
     const drawArrows = (svg, commits) => {
       const gArrows = svg.append('g').attr('class', 'commit-arrows');
       [...commits.keys()].forEach((key) => {
    @@ -734,7 +743,7 @@ const drawBranches = (svg, branches) => {
       branches.forEach((branch, index) => {
         const adjustIndexForTheme = index % THEME_COLOR_LIMIT;
     
    -    const pos = branchPos[branch.name].pos;
    +    const pos = branchPos.get(branch.name).pos;
         const line = g.append('line');
         line.attr('x1', 0);
         line.attr('y1', pos);
    @@ -822,7 +831,7 @@ export const draw = function (txt, id, ver, diagObj) {
         label.node().appendChild(labelElement);
         let bbox = labelElement.getBBox();
     
    -    branchPos[branch.name] = { pos, index };
    +    branchPos.set(branch.name, { pos, index });
         pos +=
           50 +
           (gitGraphConfig.rotateCommitLabel ? 40 : 0) +
    
    From 1cbd730b8d45c811be399a945326ff748a059709 Mon Sep 17 00:00:00 2001
    From: Yash Singh 
    Date: Fri, 3 May 2024 21:07:09 -0700
    Subject: [PATCH 368/789] fix: class diagram notes plss
    
    ---
     packages/mermaid/src/diagrams/class/classRenderer.js | 2 +-
     1 file changed, 1 insertion(+), 1 deletion(-)
    
    diff --git a/packages/mermaid/src/diagrams/class/classRenderer.js b/packages/mermaid/src/diagrams/class/classRenderer.js
    index 381b93341f..27e5255378 100644
    --- a/packages/mermaid/src/diagrams/class/classRenderer.js
    +++ b/packages/mermaid/src/diagrams/class/classRenderer.js
    @@ -216,7 +216,7 @@ export const draw = function (text, id, _version, diagObj) {
         // metadata about the node. In this case we're going to add labels to each of
         // our nodes.
         g.setNode(node.id, node);
    -    if (note.class && note.class in classes) {
    +    if (note.class && classes.has(note.class)) {
           g.setEdge(
             note.id,
             getGraphId(note.class),
    
    From e2ca8e820e68a25cb4a70a9fcd379ced559cf992 Mon Sep 17 00:00:00 2001
    From: Yash Singh 
    Date: Fri, 3 May 2024 21:12:40 -0700
    Subject: [PATCH 369/789] format
    
    ---
     packages/mermaid/src/diagrams/git/gitGraphRenderer.js | 7 ++++---
     1 file changed, 4 insertions(+), 3 deletions(-)
    
    diff --git a/packages/mermaid/src/diagrams/git/gitGraphRenderer.js b/packages/mermaid/src/diagrams/git/gitGraphRenderer.js
    index f4019448c3..b612b3c0a5 100644
    --- a/packages/mermaid/src/diagrams/git/gitGraphRenderer.js
    +++ b/packages/mermaid/src/diagrams/git/gitGraphRenderer.js
    @@ -83,7 +83,8 @@ const findClosestParent = (parents) => {
       let maxPosition = 0;
     
       parents.forEach((parent) => {
    -    const parentPosition = dir === 'TB' || dir === 'BT' ? commitPos.get(parent).y : commitPos.get(parent).x;
    +    const parentPosition =
    +      dir === 'TB' || dir === 'BT' ? commitPos.get(parent).y : commitPos.get(parent).x;
         if (parentPosition >= maxPosition) {
           closestParent = parent;
           maxPosition = parentPosition;
    @@ -716,8 +717,8 @@ const drawArrow = (svg, commitA, commitB, allCommits) => {
     };
     
     /**
    - * @param {*} svg 
    - * @param {CommitMap} commits 
    + * @param {*} svg
    + * @param {CommitMap} commits
      */
     const drawArrows = (svg, commits) => {
       const gArrows = svg.append('g').attr('class', 'commit-arrows');
    
    From 58af76384a1e878f3d0cabe42f0ab75d0a78c1d9 Mon Sep 17 00:00:00 2001
    From: Yash Singh 
    Date: Fri, 3 May 2024 21:19:52 -0700
    Subject: [PATCH 370/789] fix: classrenderer v2 using in op
    
    ---
     packages/mermaid/src/diagrams/class/classRenderer-v2.ts | 2 +-
     1 file changed, 1 insertion(+), 1 deletion(-)
    
    diff --git a/packages/mermaid/src/diagrams/class/classRenderer-v2.ts b/packages/mermaid/src/diagrams/class/classRenderer-v2.ts
    index cf80a8a708..4a0967f794 100644
    --- a/packages/mermaid/src/diagrams/class/classRenderer-v2.ts
    +++ b/packages/mermaid/src/diagrams/class/classRenderer-v2.ts
    @@ -187,7 +187,7 @@ export const addNotes = function (
         g.setNode(vertex.id, node);
         log.info('setNode', node);
     
    -    if (!vertex.class || !(vertex.class in classes)) {
    +    if (!vertex.class || !classes.has(vertex.class)) {
           return;
         }
         const edgeId = startEdgeId + i;
    
    From 9986b023d71f866be8ac0873c2c3289784b8000d Mon Sep 17 00:00:00 2001
    From: Igor Wessel 
    Date: Sat, 4 May 2024 06:21:12 -0300
    Subject: [PATCH 371/789] feat(state): add from, to in edge
    
    ---
     packages/mermaid/src/diagrams/state/stateRenderer-v2.js | 7 +++++--
     1 file changed, 5 insertions(+), 2 deletions(-)
    
    diff --git a/packages/mermaid/src/diagrams/state/stateRenderer-v2.js b/packages/mermaid/src/diagrams/state/stateRenderer-v2.js
    index 482e37caee..04bdd135e4 100644
    --- a/packages/mermaid/src/diagrams/state/stateRenderer-v2.js
    +++ b/packages/mermaid/src/diagrams/state/stateRenderer-v2.js
    @@ -252,7 +252,6 @@ const setupNode = (g, parent, parsedItem, diagramStates, diagramDb, altFlag) =>
             type: 'group',
             padding: 0, //getConfig().flowchart.padding
           };
    -      graphItemCount++;
     
           const parentNodeId = itemId + PARENT_ID;
           g.setNode(parentNodeId, groupData);
    @@ -270,17 +269,21 @@ const setupNode = (g, parent, parsedItem, diagramStates, diagramDb, altFlag) =>
             from = noteData.id;
             to = itemId;
           }
    +
           g.setEdge(from, to, {
             arrowhead: 'none',
             arrowType: '',
             style: G_EDGE_STYLE,
             labelStyle: '',
    +        id: 'edge' + graphItemCount + `_${from}_${to}`,
             classes: CSS_EDGE_NOTE_EDGE,
             arrowheadStyle: G_EDGE_ARROWHEADSTYLE,
             labelpos: G_EDGE_LABELPOS,
             labelType: G_EDGE_LABELTYPE,
             thickness: G_EDGE_THICKNESS,
           });
    +
    +      graphItemCount++;
         } else {
           g.setNode(itemId, nodeData);
         }
    @@ -324,7 +327,7 @@ const setupDoc = (g, parentParsedItem, doc, diagramStates, diagramDb, altFlag) =
               setupNode(g, parentParsedItem, item.state1, diagramStates, diagramDb, altFlag);
               setupNode(g, parentParsedItem, item.state2, diagramStates, diagramDb, altFlag);
               const edgeData = {
    -            id: 'edge' + graphItemCount,
    +            id: 'edge' + graphItemCount + `_${item.state1.id}_${item.state2.id}`,
                 arrowhead: 'normal',
                 arrowTypeEnd: 'arrow_barb',
                 style: G_EDGE_STYLE,
    
    From 853948a93de287cd32972dd0a7e6d72fea2f5a76 Mon Sep 17 00:00:00 2001
    From: Knut Sveidqvist 
    Date: Sat, 4 May 2024 11:34:57 +0200
    Subject: [PATCH 372/789] #5237 Support for composit states WIP
    
    ---
     cypress/platform/knsv2.html                   |   6 +-
     .../layout-algorithms/elk/index.js            | 369 ++++++++----------
     2 files changed, 174 insertions(+), 201 deletions(-)
    
    diff --git a/cypress/platform/knsv2.html b/cypress/platform/knsv2.html
    index fa01618ea0..b749cdc92a 100644
    --- a/cypress/platform/knsv2.html
    +++ b/cypress/platform/knsv2.html
    @@ -72,16 +72,16 @@
         
       
       
    -    
    +    
     stateDiagram-v2
         Chimp --> A
     
       
    -
    +    
     stateDiagram-v2
         state First {
    -second --> third
    +second
         }
       
    diff --git a/packages/mermaid/src/rendering-util/layout-algorithms/elk/index.js b/packages/mermaid/src/rendering-util/layout-algorithms/elk/index.js index 3ea4269ad6..cde37df613 100644 --- a/packages/mermaid/src/rendering-util/layout-algorithms/elk/index.js +++ b/packages/mermaid/src/rendering-util/layout-algorithms/elk/index.js @@ -15,6 +15,7 @@ import { insertEdge, clear as clearEdges, } from '../../rendering-elements/edges.js'; +import { labelHelper } from '$root/rendering-util/rendering-elements/shapes/util.js'; import common from '$root/diagrams/common/common.js'; import { log } from '$root/logger.js'; @@ -24,29 +25,6 @@ const nodeDb = {}; let portPos = {}; let clusterDb = {}; -const addSubGraphs = function (db) { - const parentLookupDb = { parentById: {}, childrenById: {} }; - const subgraphs = db.getSubGraphs(); - log.info('Subgraphs - ', subgraphs); - subgraphs.forEach(function (subgraph) { - subgraph.nodes.forEach(function (node) { - parentLookupDb.parentById[node] = subgraph.id; - if (parentLookupDb.childrenById[subgraph.id] === undefined) { - parentLookupDb.childrenById[subgraph.id] = []; - } - parentLookupDb.childrenById[subgraph.id].push(node); - }); - }); - - subgraphs.forEach(function (subgraph) { - const data = { id: subgraph.id }; - if (parentLookupDb.parentById[subgraph.id] !== undefined) { - data.parent = parentLookupDb.parentById[subgraph.id]; - } - }); - return parentLookupDb; -}; - export const addVertex = async (nodeEl, graph, nodeArr, node) => { console.log('addVertex abc88', node.id); // const node = vert[id]; @@ -69,7 +47,7 @@ export const addVertex = async (nodeEl, graph, nodeArr, node) => { // // We create a SVG label, either by delegating to addHtmlLabel or manually // let vertexNode; // const labelData = { width: 0, height: 0 }; - + const labelData = { width: 0, height: 0 }; const ports = [ { id: node.id + '-west', @@ -103,6 +81,7 @@ export const addVertex = async (nodeEl, graph, nodeArr, node) => { ports: node.shape === 'diamond' ? ports : [], }; graph.children.push(child); + nodeDb[node.id] = child; // // Add the element to the DOM if (node.type !== 'group') { @@ -114,29 +93,37 @@ export const addVertex = async (nodeEl, graph, nodeArr, node) => { } else { child.children = []; await addVertices(nodeEl, nodeArr, child, node.id); - } - // else { - // const svgLabel = doc.createElementNS('http://www.w3.org/2000/svg', 'text'); - // // svgLabel.setAttribute('style', styles.labelStyle.replace('color:', 'fill:')); - // // const rows = vertexText.split(common.lineBreakRegex); - // // for (const row of rows) { - // // const tspan = doc.createElementNS('http://www.w3.org/2000/svg', 'tspan'); - // // tspan.setAttributeNS('http://www.w3.org/XML/1998/namespace', 'xml:space', 'preserve'); - // // tspan.setAttribute('dy', '1em'); - // // tspan.setAttribute('x', '1'); - // // tspan.textContent = row; - // // svgLabel.appendChild(tspan); - // // } - // // vertexNode = svgLabel; - // // const bbox = vertexNode.getBBox(); - // const { shapeSvg, bbox } = await labelHelper(nodes, node, undefined, true); - // labelData.width = bbox.width; - // labelData.wrappingWidth = getConfig().flowchart.wrappingWidth; - // labelData.height = bbox.height; - // labelData.labelNode = shapeSvg.node(); - // node.labelData = labelData; - // } + // const svgLabel = doc.createElementNS('http://www.w3.org/2000/svg', 'text'); + // // svgLabel.setAttribute('style', styles.labelStyle.replace('color:', 'fill:')); + // // const rows = vertexText.split(common.lineBreakRegex); + // // for (const row of rows) { + // // const tspan = doc.createElementNS('http://www.w3.org/2000/svg', 'tspan'); + // // tspan.setAttributeNS('http://www.w3.org/XML/1998/namespace', 'xml:space', 'preserve'); + // // tspan.setAttribute('dy', '1em'); + // // tspan.setAttribute('x', '1'); + // // tspan.textContent = row; + // // svgLabel.appendChild(tspan); + // // } + // // vertexNode = svgLabel; + // // const bbox = vertexNode.getBBox(); + const { shapeSvg, bbox } = await labelHelper(nodeEl, node, undefined, true); + labelData.width = bbox.width; + labelData.wrappingWidth = getConfig().flowchart.wrappingWidth; + labelData.height = bbox.height; + labelData.labelNode = shapeSvg.node(); + log.debug( + 'addVertex abc88 setting labelData', + node.id, + labelData, + nodeEl, + node, + shapeSvg, + bbox + ); + child.labelData = labelData; + child.domId = nodeEl; + } // // const { shapeSvg, bbox } = await labelHelper(svg, node, undefined, true); // const data = { @@ -203,7 +190,7 @@ export const addVertex = async (nodeEl, graph, nodeArr, node) => { // */ export const addVertices = async function (nodeEl, nodeArr, graph, parentId) { const siblings = nodeArr.filter((node) => node.parentId === parentId); - log.info('addVertices abc88', siblings, parentId); + log.info('addVertices', siblings, parentId); // Iterate through each item in the vertex object (containing all the vertices found) in the graph definition await Promise.all( siblings.map(async (node) => { @@ -214,6 +201,7 @@ export const addVertices = async function (nodeEl, nodeArr, graph, parentId) { }; const drawNodes = (relX, relY, nodeArray, svg, subgraphsEl, depth) => { + console.log('drawNodes abc88', relX, relY, nodeArray); nodeArray.forEach(function (node) { if (node) { nodeDb[node.id] = node; @@ -226,48 +214,50 @@ const drawNodes = (relX, relY, nodeArray, svg, subgraphsEl, depth) => { width: node.width, height: node.height, }; - // if (node.type === 'group') { - // const subgraphEl = subgraphsEl.insert('g').attr('class', 'subgraph'); - // subgraphEl - // .insert('rect') - // .attr('class', 'subgraph subgraph-lvl-' + (depth % 5) + ' node') - // .attr('x', node.x + relX) - // .attr('y', node.y + relY) - // .attr('width', node.width) - // .attr('height', node.height); - // const label = subgraphEl.insert('g').attr('class', 'label'); - // const labelCentering = getConfig().flowchart.htmlLabels ? node.labelData.width / 2 : 0; - // label.attr( - // 'transform', - // `translate(${node.labels[0].x + relX + node.x + labelCentering}, ${ - // node.labels[0].y + relY + node.y + 3 - // })` - // ); - // label.node().appendChild(node.labelData.labelNode); - - // log.info('Id (UGH)= ', node.shape, node.labels); - // } else { - log.info( - 'Id (UGH)= ', - node.id, - node.x, - node.y, - relX, - relY, - node.domId.node(), - `translate(${node.x + relX + node.width / 2}, ${node.y + relY + node.height / 2})` - ); - node.domId.attr( - 'transform', - `translate(${node.x + relX + node.width / 2}, ${node.y + relY + node.height / 2})` - ); + if (node.type === 'group') { + log.debug('Id abc88 subgraph (UGH)= ', node.id, node.x, node.y, node.labelData); + const subgraphEl = subgraphsEl.insert('g').attr('class', 'subgraph'); + subgraphEl + .insert('rect') + .attr('class', 'subgraph subgraph-lvl-' + (depth % 5) + ' node') + .attr('x', node.x + relX) + .attr('y', node.y + relY) + .attr('width', node.width) + .attr('height', node.height); + const label = subgraphEl.insert('g').attr('class', 'label'); + const labelCentering = getConfig().flowchart.htmlLabels ? node.labelData.width / 2 : 0; + console.log(node); + label.attr( + 'transform', + `translate(${node.labels[0].x + relX + node.x + labelCentering}, ${ + node.labels[0].y + relY + node.y + 3 + })` + ); + label.node().appendChild(node.labelData.labelNode); + + log.info('Id (UGH)= ', node.shape, node.labels); + } else { + log.info( + 'Id (UGH)= ', + node.id, + node.x, + node.y, + relX, + relY, + node.domId.node(), + `translate(${node.x + relX + node.width / 2}, ${node.y + relY + node.height / 2})` + ); + node.domId.attr( + 'transform', + `translate(${node.x + relX + node.width / 2}, ${node.y + relY + node.height / 2})` + ); + } + } + }); + nodeArray.forEach(function (node) { + if (node && node.type === 'group') { + drawNodes(relX + node.x, relY + node.y, node.children, svg, subgraphsEl, depth + 1); } - // } - // }); - // nodeArray.forEach(function (node) { - // if (node && node.shape === 'group') { - // drawNodes(relX + node.x, relY + node.y, node.children, svg, subgraphsEl, diagObj, depth + 1); - // } }); }; @@ -320,6 +310,49 @@ const getNextPort = (node, edgeDirection, graphDirection) => { return result; }; +const addSubGraphs = function (nodeArr) { + const parentLookupDb = { parentById: {}, childrenById: {} }; + const subgraphs = nodeArr.filter((node) => node.type === 'group'); + log.info('Subgraphs - ', subgraphs); + subgraphs.forEach(function (subgraph) { + const children = nodeArr.filter((node) => node.parentId === subgraph.id); + children.forEach(function (node) { + parentLookupDb.parentById[node.id] = subgraph.id; + if (parentLookupDb.childrenById[subgraph.id] === undefined) { + parentLookupDb.childrenById[subgraph.id] = []; + } + parentLookupDb.childrenById[subgraph.id].push(node); + }); + }); + + subgraphs.forEach(function (subgraph) { + const data = { id: subgraph.id }; + if (parentLookupDb.parentById[subgraph.id] !== undefined) { + data.parent = parentLookupDb.parentById[subgraph.id]; + } + }); + return parentLookupDb; +}; + +const insertChildren = (nodeArray, parentLookupDb) => { + nodeArray.forEach((node) => { + // Check if we have reached the end of the tree + if (!node.children) { + node.children = []; + } + // Check if the node has children + const childIds = parentLookupDb.childrenById[node.id]; + // If the node has children, add them to the node + if (childIds) { + childIds.forEach((childId) => { + node.children.push(nodeDb[childId]); + }); + } + // Recursive call + insertChildren(node.children, parentLookupDb); + }); +}; + const getEdgeStartEndPoint = (edge, dir) => { let source = edge.start; let target = edge.end; @@ -328,18 +361,18 @@ const getEdgeStartEndPoint = (edge, dir) => { const sourceId = source; const targetId = target; - const startNode = nodeDb[source]; - const endNode = nodeDb[target]; + const startNode = nodeDb[edge.start.id]; + const endNode = nodeDb[edge.end.id]; if (!startNode || !endNode) { return { source, target }; } - if (startnode.shape === 'diamond') { + if (startNode.shape === 'diamond') { source = `${source}-${getNextPort(source, 'out', dir)}`; } - if (endnode.shape === 'diamond') { + if (endNode.shape === 'diamond') { target = `${target}-${getNextPort(target, 'in', dir)}`; } @@ -525,21 +558,16 @@ export const addEdges = function (dataForLayout, graph, svg) { export const render = async (data4Layout, svg, element) => { const elk = new ELK(); - // Org - + // Add the arrowheads to the svg insertMarkers(element, data4Layout.markers, data4Layout.type, data4Layout.diagramId); - // clearNodes(); - // clearEdges(); - // clearClusters(); - // clearGraphlib(); - let graph = { + // Setup the graph with the layout options and the data for the layout + let elkGraph = { id: 'root', layoutOptions: { 'elk.hierarchyHandling': 'INCLUDE_CHILDREN', 'org.eclipse.elk.padding': '[top=100, left=100, bottom=110, right=110]', 'elk.layered.spacing.edgeNodeBetweenLayers': '30', - 'elk.direction': 'DOWN', }, children: [], edges: [], @@ -547,132 +575,77 @@ export const render = async (data4Layout, svg, element) => { log.info('Drawing flowchart using v4 renderer', elk); + // Set the direction of the graph based on the parsed information let dir = data4Layout.direction || 'DOWN'; switch (dir) { case 'BT': - graph.layoutOptions['elk.direction'] = 'UP'; + elkGraph.layoutOptions['elk.direction'] = 'UP'; break; case 'TB': - graph.layoutOptions['elk.direction'] = 'DOWN'; + elkGraph.layoutOptions['elk.direction'] = 'DOWN'; break; case 'LR': - graph.layoutOptions['elk.direction'] = 'RIGHT'; + elkGraph.layoutOptions['elk.direction'] = 'RIGHT'; break; case 'RL': - graph.layoutOptions['elk.direction'] = 'LEFT'; + elkGraph.layoutOptions['elk.direction'] = 'LEFT'; break; default: - graph.layoutOptions['elk.direction'] = 'DOWN'; + elkGraph.layoutOptions['elk.direction'] = 'DOWN'; break; } - // ########################################################################### - // ########################################################################### - // ########################################################################### - // ########################################################################### - // ########################################################################### - // ########################################################################### - // Create the lookup db for the subgraphs and their children to used when creating // the tree structured graph - // const parentLookupDb = addSubGraphs(diagObj.db); + const parentLookupDb = addSubGraphs(data4Layout.nodes); - // Add the nodes to the graph, this will entail creating the actual nodes - // in order to get the size of the node. You can't get the size of a node - // that is not in the dom so we need to add it to the dom, get the size - // we will position the nodes when we get the layout from elkjs - const parentLookupDb = {}; + // Add elements in the svg to be used to hold the subgraphs container + // elements and the nodes + const subGraphsEl = svg.insert('g').attr('class', 'subgraphs'); const nodeEl = svg.insert('g').attr('class', 'nodes'); - graph = await addVertices(nodeEl, data4Layout.nodes, graph); - console.log('after addVertices abc88', JSON.stringify(graph, null, 2)); - - console.log('graph', graph, data4Layout); - - // Add the nodes and edges to the graph - // data4Layout.nodes.forEach((node) => { - // graph.setNode(node.id, { ...node }); - // }); - - // data4Layout.edges.forEach((edge) => { - // graph.setEdge(edge.start, edge.end, { ...edge }); - // }); - - // Setup nodes from the subgraphs with type group, these will be used - // as nodes with children in the subgraph - // let subG; - // const subGraphs = diagObj.db.getSubGraphs(); - // log.info('Subgraphs - ', subGraphs); - // for (let i = subGraphs.length - 1; i >= 0; i--) { - // subG = subGraphs[i]; - // diagObj.db.addVertex( - // subG.id, - // { text: subG.title, type: subG.labelType }, - // 'group', - // undefined, - // subG.classes, - // subG.dir - // ); - // } - - // debugger; - // Add an element in the svg to be used to hold the subgraphs container - // // elements - // const subGraphsEl = svg.insert('g').attr('class', 'subgraphs'); - - // // Create the lookup db for the subgraphs and their children to used when creating - // // the tree structured graph - // const parentLookupDb = addSubGraphs(diagObj.db); // Add the nodes to the graph, this will entail creating the actual nodes // in order to get the size of the node. You can't get the size of a node // that is not in the dom so we need to add it to the dom, get the size // we will position the nodes when we get the layout from elkjs - // graph = await addVertices(, graph); - + elkGraph = await addVertices(nodeEl, data4Layout.nodes, elkGraph); // Time for the edges, we start with adding an element in the node to hold the edges const edgesEl = svg.insert('g').attr('class', 'edges edgePath'); - // // Fetch the edges form the parsed graph definition - // const edges = diagObj.db.getEdges(); - // // Add the edges to the graph, this will entail creating the actual edges - graph = addEdges(data4Layout, graph, svg); + // Add the edges to the elk graph, this will entail creating the actual edges + elkGraph = addEdges(data4Layout, elkGraph, svg); // Iterate through all nodes and add the top level nodes to the graph - // const nodes = data4Layout.nodes; - // nodes.forEach((nodeId) => { - // const node = nodeDb[nodeId]; - // if (!node.parent) { - // graph.children.push(node); - // } - // // Subgraph - // if (parentLookupDb.childrenById[nodeId] !== undefined) { - // node.labels = [ - // { - // text: node.labelText, - // layoutOptions: { - // 'nodeLabels.placement': '[H_CENTER, V_TOP, INSIDE]', - // }, - // width: node.labelData.width, - // height: node.labelData.height, - // // width: 100, - // // height: 100, - // }, - // ]; - // delete node.x; - // delete node.y; - // delete node.width; - // delete node.height; - // } - // }); - - // insertChildren(graph.children, parentLookupDb); - - // console.log('before layout abc88', JSON.stringify(graph, null, 2)); - const g = await elk.layout(graph); - log.info('after layout', JSON.stringify(graph, null, 2)); - console.log('after layout abc88', g); - // drawNodes(0, 0, g.children, svg, subGraphsEl, 0); - drawNodes(0, 0, g.children, svg, null, 0); + const nodes = data4Layout.nodes; + // const nodes = Object.keys(nodeDb); + nodes.forEach((n) => { + const node = nodeDb[n.id]; + + // Subgraph + if (parentLookupDb.childrenById[node.id] !== undefined) { + node.labels = [ + { + text: node.labelText, + layoutOptions: { + 'nodeLabels.placement': '[H_CENTER, V_TOP, INSIDE]', + }, + width: node?.labelData?.width || 100, + height: node?.labelData?.height || 100, + // width: 100, + // height: 100, + }, + ]; + delete node.x; + delete node.y; + delete node.width; + delete node.height; + } + }); + + log.info('before layout abc88', JSON.stringify(elkGraph, null, 2)); + const g = await elk.layout(elkGraph); + log.info('after layout abc88', g); + drawNodes(0, 0, g.children, svg, subGraphsEl, 0); g.edges?.map((edge) => { // (elem, edge, clusterDb, diagramType, graph, id) edge.start = nodeDb[edge.sources[0]]; From ca4fa11859acac2b69642ad9a45125f2852b957b Mon Sep 17 00:00:00 2001 From: Yash Singh Date: Sat, 4 May 2024 09:42:56 -0700 Subject: [PATCH 373/789] trigger e2e again From 50c9ede69da13809164ac4f54cbca44a1d141688 Mon Sep 17 00:00:00 2001 From: Yash Singh Date: Sat, 4 May 2024 09:44:08 -0700 Subject: [PATCH 374/789] chore: rm autocompleted import --- .../src/diagrams/quadrant-chart/parser/quadrant.jison.spec.ts | 1 - 1 file changed, 1 deletion(-) diff --git a/packages/mermaid/src/diagrams/quadrant-chart/parser/quadrant.jison.spec.ts b/packages/mermaid/src/diagrams/quadrant-chart/parser/quadrant.jison.spec.ts index e59cc0fe20..d4bcdbf8ff 100644 --- a/packages/mermaid/src/diagrams/quadrant-chart/parser/quadrant.jison.spec.ts +++ b/packages/mermaid/src/diagrams/quadrant-chart/parser/quadrant.jison.spec.ts @@ -2,7 +2,6 @@ import { parser } from './quadrant.jison'; import type { Mock } from 'vitest'; import { vi } from 'vitest'; -import { addClass } from '../../flowchart/flowDb.js'; const parserFnConstructor = (str: string) => { return () => { From 10871af93b3ca5a123463ab2d79d02c47e2c3834 Mon Sep 17 00:00:00 2001 From: cmmoran Date: Mon, 6 May 2024 07:06:55 +0000 Subject: [PATCH 375/789] chore: update browsers list --- pnpm-lock.yaml | 86 +++++++++++++++++++++++++++++++++++++++++++++----- 1 file changed, 78 insertions(+), 8 deletions(-) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 2d636e3caf..82381338e1 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -382,7 +382,7 @@ importers: version: 5.0.0 vitepress: specifier: ^1.0.1 - version: 1.1.4(@algolia/client-search@4.23.3)(@types/node@20.12.7)(postcss@8.4.38)(search-insights@2.13.0)(typescript@5.4.5) + version: 1.1.4(@algolia/client-search@4.23.3)(@types/node@20.12.7)(search-insights@2.13.0)(typescript@5.4.5) vitepress-plugin-search: specifier: 1.0.4-alpha.22 version: 1.0.4-alpha.22(flexsearch@0.7.43)(vitepress@1.1.4)(vue@3.4.26) @@ -500,7 +500,7 @@ importers: version: 0.19.8(vite@5.2.10)(workbox-build@7.1.0)(workbox-window@7.0.0) vitepress: specifier: 1.1.0 - version: 1.1.4(@algolia/client-search@4.23.3)(@types/node@20.12.7)(postcss@8.4.38)(search-insights@2.13.0)(typescript@5.4.5) + version: 1.1.0(@algolia/client-search@4.23.3)(@types/node@20.12.7)(postcss@8.4.38)(search-insights@2.13.0)(typescript@5.4.5) workbox-window: specifier: ^7.0.0 version: 7.0.0 @@ -4749,6 +4749,10 @@ packages: resolution: {integrity: sha512-yg6E+u0/+Zjva+buc3EIb+29XEg4wltq7cSmd4Uc2EE/1nUVmxyzpX6gUXD0V8jIrG0r7YeOGVIbYRkxeooCtw==} dev: true + /@types/linkify-it@5.0.0: + resolution: {integrity: sha512-sVDA58zAw4eWAffKOaQH5/5j3XeayukzDk+ewSsnv3p4yJEZHCCzMDiZM8e0OUrRvmpGZ85jf4yDHkHsgBNr9Q==} + dev: true + /@types/lodash-es@4.17.12: resolution: {integrity: sha512-0NgftHUcV4v34VhXm8QBSftKVXtbkBG3ViCjs6+eJ5a6y6Mi/jiFGPc1sC7QK+9BFhWrURE3EOggmWaSxL9OzQ==} dependencies: @@ -4761,6 +4765,13 @@ packages: /@types/markdown-it@12.2.3: resolution: {integrity: sha512-GKMHFfv3458yYy+v/N8gjufHO6MSZKCOXpZc5GXIWWy8uldwfmPn98vp81gZ5f9SVw8YYBctgfJ22a2d7AOMeQ==} + dependencies: + '@types/linkify-it': 5.0.0 + '@types/mdurl': 2.0.0 + dev: true + + /@types/markdown-it@13.0.8: + resolution: {integrity: sha512-V+KmpgiipS+zoypeUSS9ojesWtY/0k4XfqcK2fnVrX/qInJhX7rsCxZ/rygiPH2zxlPPrhfuW0I6ddMcWTKLsg==} dependencies: '@types/linkify-it': 3.0.5 '@types/mdurl': 1.0.5 @@ -4788,6 +4799,10 @@ packages: resolution: {integrity: sha512-6L6VymKTzYSrEf4Nev4Xa1LCHKrlTlYCBMTlQKFuddo1CvQcE52I0mwfOJayueUC7MJuXOeHTcIU683lzd0cUA==} dev: true + /@types/mdurl@2.0.0: + resolution: {integrity: sha512-RGdgjQUZba5p6QEFAVx2OGb8rQDL/cPRG7GiedRzMcJ1tYnUANBncjbSB1NRGwbvjcPeikRABz2nshyPk1bhWg==} + dev: true + /@types/micromatch@4.0.7: resolution: {integrity: sha512-C/FMQ8HJAZhTsDpl4wDKZdMeeW5USjgzOczUwTGbRc1ZopPgOhIEnxY2ZgUrsuyy4DwK1JVOJZKFakv3TbCKiA==} dependencies: @@ -8293,7 +8308,7 @@ packages: engines: {node: '>=0.10.0'} hasBin: true dependencies: - jake: 10.8.7 + jake: 10.9.1 dev: true /electron-to-chromium@1.4.692: @@ -10807,8 +10822,8 @@ packages: optionalDependencies: '@pkgjs/parseargs': 0.11.0 - /jake@10.8.7: - resolution: {integrity: sha512-ZDi3aP+fG/LchyBzUM804VjddnwfSfsdeYkwt8NcbKRvo4rFkjhs456iLFn3k2ZUWvNe4i48WACDbza8fhq2+w==} + /jake@10.9.1: + resolution: {integrity: sha512-61btcOHNnLnsOdtLgA5efqQWjnSi/vow5HbI7HMdKKWqvrKR1bLK3BPlJn9gcSaP2ewuamUSMB5XEy76KUIS2w==} engines: {node: '>=10'} hasBin: true dependencies: @@ -15631,11 +15646,67 @@ packages: flexsearch: 0.7.43 glob-to-regexp: 0.4.1 markdown-it: 13.0.1 - vitepress: 1.1.4(@algolia/client-search@4.23.3)(@types/node@20.12.7)(postcss@8.4.38)(search-insights@2.13.0)(typescript@5.4.5) + vitepress: 1.1.4(@algolia/client-search@4.23.3)(@types/node@20.12.7)(search-insights@2.13.0)(typescript@5.4.5) vue: 3.4.26(typescript@5.4.5) dev: true - /vitepress@1.1.4(@algolia/client-search@4.23.3)(@types/node@20.12.7)(postcss@8.4.38)(search-insights@2.13.0)(typescript@5.4.5): + /vitepress@1.1.0(@algolia/client-search@4.23.3)(@types/node@20.12.7)(postcss@8.4.38)(search-insights@2.13.0)(typescript@5.4.5): + resolution: {integrity: sha512-G+NS5I2OETxC0SfGAMDO75JWNkrcir0UCptuhQMNoaZhhlqvYtTDQhph4qGc5dtiTtZkcFa/bCcSx+A2gSS3lA==} + hasBin: true + peerDependencies: + markdown-it-mathjax3: ^4 + postcss: ^8 + peerDependenciesMeta: + markdown-it-mathjax3: + optional: true + postcss: + optional: true + dependencies: + '@docsearch/css': 3.6.0 + '@docsearch/js': 3.6.0(@algolia/client-search@4.23.3)(search-insights@2.13.0) + '@shikijs/core': 1.4.0 + '@shikijs/transformers': 1.4.0 + '@types/markdown-it': 13.0.8 + '@vitejs/plugin-vue': 5.0.4(vite@5.2.10)(vue@3.4.26) + '@vue/devtools-api': 7.1.3(vue@3.4.26) + '@vueuse/core': 10.9.0(vue@3.4.26) + '@vueuse/integrations': 10.9.0(focus-trap@7.5.4)(vue@3.4.26) + focus-trap: 7.5.4 + mark.js: 8.11.1 + minisearch: 6.3.0 + postcss: 8.4.38 + shiki: 1.4.0 + vite: 5.2.10(@types/node@20.12.7) + vue: 3.4.26(typescript@5.4.5) + transitivePeerDependencies: + - '@algolia/client-search' + - '@types/node' + - '@types/react' + - '@vue/composition-api' + - async-validator + - axios + - change-case + - drauu + - fuse.js + - idb-keyval + - jwt-decode + - less + - lightningcss + - nprogress + - qrcode + - react + - react-dom + - sass + - search-insights + - sortablejs + - stylus + - sugarss + - terser + - typescript + - universal-cookie + dev: true + + /vitepress@1.1.4(@algolia/client-search@4.23.3)(@types/node@20.12.7)(search-insights@2.13.0)(typescript@5.4.5): resolution: {integrity: sha512-bWIzFZXpPB6NIDBuWnS20aMADH+FcFKDfQNYFvbOWij03PR29eImTceQHIzCKordjXYBhM/TjE5VKFTUJ3EheA==} hasBin: true peerDependencies: @@ -15659,7 +15730,6 @@ packages: focus-trap: 7.5.4 mark.js: 8.11.1 minisearch: 6.3.0 - postcss: 8.4.38 shiki: 1.4.0 vite: 5.2.10(@types/node@20.12.7) vue: 3.4.26(typescript@5.4.5) From 1f6445271615eccdc7483327f8557286c31fcb91 Mon Sep 17 00:00:00 2001 From: Igor Wessel Date: Mon, 6 May 2024 07:46:42 -0300 Subject: [PATCH 376/789] feat(utils): create a standard edge id function --- packages/mermaid/src/utils.ts | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/packages/mermaid/src/utils.ts b/packages/mermaid/src/utils.ts index 06aca5ab27..99283f3598 100644 --- a/packages/mermaid/src/utils.ts +++ b/packages/mermaid/src/utils.ts @@ -929,3 +929,19 @@ export const decodeEntities = function (text: string): string { export const isString = (value: unknown): value is string => { return typeof value === 'string'; }; + +export const getEdgeId = ( + from: string, + to: string, + { + counter = 0, + prefix, + suffix, + }: { + counter?: number; + prefix?: string; + suffix?: string; + } +) => { + return `${prefix ? `${prefix}_` : ''}${from}_${to}_${counter}${suffix ? `_${suffix}` : ''}`; +}; From da150e8767eab63ef9e95be73a6696f34ffca161 Mon Sep 17 00:00:00 2001 From: Igor Wessel Date: Mon, 6 May 2024 08:07:47 -0300 Subject: [PATCH 377/789] feat: use standard edge id function for class,flow,state diagram --- .../mermaid/src/diagrams/class/classRenderer-v2.ts | 7 +++++-- .../mermaid/src/diagrams/flowchart/flowRenderer-v2.js | 11 ++++++++--- .../mermaid/src/diagrams/flowchart/flowRenderer.js | 7 +++++-- .../mermaid/src/diagrams/state/stateRenderer-v2.js | 10 +++++++--- 4 files changed, 25 insertions(+), 10 deletions(-) diff --git a/packages/mermaid/src/diagrams/class/classRenderer-v2.ts b/packages/mermaid/src/diagrams/class/classRenderer-v2.ts index a01b1427b5..e8fb9a588d 100644 --- a/packages/mermaid/src/diagrams/class/classRenderer-v2.ts +++ b/packages/mermaid/src/diagrams/class/classRenderer-v2.ts @@ -4,7 +4,7 @@ import * as graphlib from 'dagre-d3-es/src/graphlib/index.js'; import { log } from '../../logger.js'; import { getConfig } from '../../diagram-api/diagramAPI.js'; import { render } from '../../dagre-wrapper/index.js'; -import utils from '../../utils.js'; +import utils, { getEdgeId } from '../../utils.js'; import { interpolateToCurve, getStylesFromArray } from '../../utils.js'; import { setupGraphViewbox } from '../../setupGraphViewbox.js'; import common from '../common/common.js'; @@ -231,7 +231,10 @@ export const addRelations = function (relations: ClassRelation[], g: graphlib.Gr //Set relationship style and line type classes: 'relation', pattern: edge.relation.lineType == 1 ? 'dashed' : 'solid', - id: `id_${edge.id1}_${edge.id2}_${cnt}`, + id: getEdgeId(edge.id1, edge.id2, { + prefix: 'id', + counter: cnt, + }), // Set link type for rendering arrowhead: edge.type === 'arrow_open' ? 'none' : 'normal', //Set edge extra labels diff --git a/packages/mermaid/src/diagrams/flowchart/flowRenderer-v2.js b/packages/mermaid/src/diagrams/flowchart/flowRenderer-v2.js index f27d8e3532..74c9dfb671 100644 --- a/packages/mermaid/src/diagrams/flowchart/flowRenderer-v2.js +++ b/packages/mermaid/src/diagrams/flowchart/flowRenderer-v2.js @@ -1,7 +1,7 @@ import * as graphlib from 'dagre-d3-es/src/graphlib/index.js'; import { select, curveLinear, selectAll } from 'd3'; import { getConfig } from '../../diagram-api/diagramAPI.js'; -import utils from '../../utils.js'; +import utils, { getEdgeId } from '../../utils.js'; import { render } from '../../dagre-wrapper/index.js'; import { addHtmlLabel } from 'dagre-d3-es/src/dagre-js/label/add-html-label.js'; import { log } from '../../logger.js'; @@ -210,7 +210,11 @@ export const addEdges = async function (edges, g, diagObj) { cnt++; // Identify Link - const linkIdBase = 'L-' + edge.start + '-' + edge.end; + const linkIdBase = getEdgeId(edge.start, edge.end, { + counter: cnt, + prefix: 'L', + }); + // count the links from+to the same node to give unique id if (linkIdCnt[linkIdBase] === undefined) { linkIdCnt[linkIdBase] = 0; @@ -219,7 +223,8 @@ export const addEdges = async function (edges, g, diagObj) { linkIdCnt[linkIdBase]++; log.info('abc78 new entry', linkIdBase, linkIdCnt[linkIdBase]); } - let linkId = linkIdBase + '-' + linkIdCnt[linkIdBase]; + let linkId = `${linkIdBase}_${linkIdCnt[linkIdBase]}`; + log.info('abc78 new link id to be used is', linkIdBase, linkId, linkIdCnt[linkIdBase]); const linkNameStart = 'LS-' + edge.start; const linkNameEnd = 'LE-' + edge.end; diff --git a/packages/mermaid/src/diagrams/flowchart/flowRenderer.js b/packages/mermaid/src/diagrams/flowchart/flowRenderer.js index b2e6bcc9cb..fdd52a763e 100644 --- a/packages/mermaid/src/diagrams/flowchart/flowRenderer.js +++ b/packages/mermaid/src/diagrams/flowchart/flowRenderer.js @@ -6,7 +6,7 @@ import { applyStyle } from 'dagre-d3-es/src/dagre-js/util.js'; import { addHtmlLabel } from 'dagre-d3-es/src/dagre-js/label/add-html-label.js'; import { log } from '../../logger.js'; import common, { evaluate, renderKatex } from '../common/common.js'; -import { interpolateToCurve, getStylesFromArray } from '../../utils.js'; +import { interpolateToCurve, getStylesFromArray, getEdgeId } from '../../utils.js'; import { setupGraphViewbox } from '../../setupGraphViewbox.js'; import flowChartShapes from './flowChartShapes.js'; import { replaceIconSubstring } from '../../rendering-util/createText.js'; @@ -175,7 +175,10 @@ export const addEdges = async function (edges, g, diagObj) { cnt++; // Identify Link - const linkId = 'L-' + edge.start + '-' + edge.end; + const linkId = getEdgeId(edge.start, edge.end, { + counter: cnt, + prefix: 'L', + }); const linkNameStart = 'LS-' + edge.start; const linkNameEnd = 'LE-' + edge.end; diff --git a/packages/mermaid/src/diagrams/state/stateRenderer-v2.js b/packages/mermaid/src/diagrams/state/stateRenderer-v2.js index 04bdd135e4..8ebc948cdb 100644 --- a/packages/mermaid/src/diagrams/state/stateRenderer-v2.js +++ b/packages/mermaid/src/diagrams/state/stateRenderer-v2.js @@ -5,7 +5,7 @@ import { render } from '../../dagre-wrapper/index.js'; import { log } from '../../logger.js'; import { configureSvgSize } from '../../setupGraphViewbox.js'; import common from '../common/common.js'; -import utils from '../../utils.js'; +import utils, { getEdgeId } from '../../utils.js'; import { DEFAULT_DIAGRAM_DIRECTION, @@ -275,7 +275,9 @@ const setupNode = (g, parent, parsedItem, diagramStates, diagramDb, altFlag) => arrowType: '', style: G_EDGE_STYLE, labelStyle: '', - id: 'edge' + graphItemCount + `_${from}_${to}`, + id: getEdgeId(from, to, { + counter: graphItemCount, + }), classes: CSS_EDGE_NOTE_EDGE, arrowheadStyle: G_EDGE_ARROWHEADSTYLE, labelpos: G_EDGE_LABELPOS, @@ -327,7 +329,9 @@ const setupDoc = (g, parentParsedItem, doc, diagramStates, diagramDb, altFlag) = setupNode(g, parentParsedItem, item.state1, diagramStates, diagramDb, altFlag); setupNode(g, parentParsedItem, item.state2, diagramStates, diagramDb, altFlag); const edgeData = { - id: 'edge' + graphItemCount + `_${item.state1.id}_${item.state2.id}`, + id: getEdgeId(item.state1.id, item.state2.id, { + counter: graphItemCount, + }), arrowhead: 'normal', arrowTypeEnd: 'arrow_barb', style: G_EDGE_STYLE, From 16cd7bf649e07cd1da74e1ff90ee5dfbbd6ecb23 Mon Sep 17 00:00:00 2001 From: Knut Sveidqvist Date: Mon, 6 May 2024 13:09:57 +0200 Subject: [PATCH 378/789] #5237 Support for composit states WIP, rough --- .../layout-algorithms/elk/index.js | 83 ++++++++----------- .../rendering-elements/clusters.js | 4 +- 2 files changed, 38 insertions(+), 49 deletions(-) diff --git a/packages/mermaid/src/rendering-util/layout-algorithms/elk/index.js b/packages/mermaid/src/rendering-util/layout-algorithms/elk/index.js index cde37df613..50fa7b7f03 100644 --- a/packages/mermaid/src/rendering-util/layout-algorithms/elk/index.js +++ b/packages/mermaid/src/rendering-util/layout-algorithms/elk/index.js @@ -8,7 +8,11 @@ import { clear as clearNodes, setNodeElem, } from '../../rendering-elements/nodes.js'; -import { insertCluster, clear as clearClusters } from '../../rendering-elements/clusters.js'; +import { + insertCluster, + clear as clearClusters, + positionCluster, +} from '../../rendering-elements/clusters.js'; import { insertEdgeLabel, positionEdgeLabel, @@ -26,7 +30,7 @@ let portPos = {}; let clusterDb = {}; export const addVertex = async (nodeEl, graph, nodeArr, node) => { - console.log('addVertex abc88', node.id); + console.log('addVertex DAGA', node.id); // const node = vert[id]; // /** @@ -112,15 +116,7 @@ export const addVertex = async (nodeEl, graph, nodeArr, node) => { labelData.wrappingWidth = getConfig().flowchart.wrappingWidth; labelData.height = bbox.height; labelData.labelNode = shapeSvg.node(); - log.debug( - 'addVertex abc88 setting labelData', - node.id, - labelData, - nodeEl, - node, - shapeSvg, - bbox - ); + log.debug('addVertex DAGA setting labelData', node.id, labelData, nodeEl, node, shapeSvg, bbox); child.labelData = labelData; child.domId = nodeEl; } @@ -190,7 +186,7 @@ export const addVertex = async (nodeEl, graph, nodeArr, node) => { // */ export const addVertices = async function (nodeEl, nodeArr, graph, parentId) { const siblings = nodeArr.filter((node) => node.parentId === parentId); - log.info('addVertices', siblings, parentId); + log.info('addVertices DAGA', siblings, parentId); // Iterate through each item in the vertex object (containing all the vertices found) in the graph definition await Promise.all( siblings.map(async (node) => { @@ -201,7 +197,6 @@ export const addVertices = async function (nodeEl, nodeArr, graph, parentId) { }; const drawNodes = (relX, relY, nodeArray, svg, subgraphsEl, depth) => { - console.log('drawNodes abc88', relX, relY, nodeArray); nodeArray.forEach(function (node) { if (node) { nodeDb[node.id] = node; @@ -215,30 +210,36 @@ const drawNodes = (relX, relY, nodeArray, svg, subgraphsEl, depth) => { height: node.height, }; if (node.type === 'group') { - log.debug('Id abc88 subgraph (UGH)= ', node.id, node.x, node.y, node.labelData); + log.debug('Id abc88 subgraph (DAGA)= ', node.id, node.x, node.y, node.labelData); const subgraphEl = subgraphsEl.insert('g').attr('class', 'subgraph'); - subgraphEl - .insert('rect') - .attr('class', 'subgraph subgraph-lvl-' + (depth % 5) + ' node') - .attr('x', node.x + relX) - .attr('y', node.y + relY) - .attr('width', node.width) - .attr('height', node.height); - const label = subgraphEl.insert('g').attr('class', 'label'); - const labelCentering = getConfig().flowchart.htmlLabels ? node.labelData.width / 2 : 0; - console.log(node); - label.attr( - 'transform', - `translate(${node.labels[0].x + relX + node.x + labelCentering}, ${ - node.labels[0].y + relY + node.y + 3 - })` - ); - label.node().appendChild(node.labelData.labelNode); - + const useOrg = false; + if (useOrg) { + subgraphEl + .insert('rect') + .attr('class', 'subgraph subgraph-lvl-' + (depth % 5) + ' node') + .attr('x', node.x + relX) + .attr('y', node.y + relY) + .attr('width', node.width) + .attr('height', node.height); + const label = subgraphEl.insert('g').attr('class', 'label'); + const labelCentering = getConfig().flowchart.htmlLabels ? node.labelData.width / 2 : 0; + label.attr( + 'transform', + `translate(${node.labels[0].x + relX + node.x + labelCentering}, ${ + node.labels[0].y + relY + node.y + 3 + })` + ); + label.node().appendChild(node.labelData.labelNode); + } else { + const cluster = insertCluster(subgraphEl, node); + const bbox = cluster.node().getBBox(); + node.x -= bbox.width / 2 - 2; // Magic number 2... why??? WHY??? + node.y -= bbox.height / 2; + } log.info('Id (UGH)= ', node.shape, node.labels); } else { log.info( - 'Id (UGH)= ', + 'Id NODE (DAGA)= ', node.id, node.x, node.y, @@ -617,7 +618,6 @@ export const render = async (data4Layout, svg, element) => { // Iterate through all nodes and add the top level nodes to the graph const nodes = data4Layout.nodes; - // const nodes = Object.keys(nodeDb); nodes.forEach((n) => { const node = nodeDb[n.id]; @@ -631,8 +631,6 @@ export const render = async (data4Layout, svg, element) => { }, width: node?.labelData?.width || 100, height: node?.labelData?.height || 100, - // width: 100, - // height: 100, }, ]; delete node.x; @@ -644,7 +642,7 @@ export const render = async (data4Layout, svg, element) => { log.info('before layout abc88', JSON.stringify(elkGraph, null, 2)); const g = await elk.layout(elkGraph); - log.info('after layout abc88', g); + log.info('after layout abc88 DAGA', g); drawNodes(0, 0, g.children, svg, subGraphsEl, 0); g.edges?.map((edge) => { // (elem, edge, clusterDb, diagramType, graph, id) @@ -665,17 +663,6 @@ export const render = async (data4Layout, svg, element) => { ]; insertEdge(edgesEl, edge, clusterDb, data4Layout.type, g, data4Layout.diagramId); }); - // setupGraphViewbox({}, svg, conf.diagramPadding, conf.useMaxWidth); // // Remove element after layout // renderEl.remove(); }; - -// const shapeDefinitions = {}; -// export const addShape = ({ shapeType: fun }) => { -// shapeDefinitions[shapeType] = fun; -// }; - -// const arrowDefinitions = {}; -// export const addArrow = ({ arrowType: fun }) => { -// arrowDefinitions[arrowType] = fun; -// }; diff --git a/packages/mermaid/src/rendering-util/rendering-elements/clusters.js b/packages/mermaid/src/rendering-util/rendering-elements/clusters.js index 68e0228286..cd492999b9 100644 --- a/packages/mermaid/src/rendering-util/rendering-elements/clusters.js +++ b/packages/mermaid/src/rendering-util/rendering-elements/clusters.js @@ -267,7 +267,9 @@ let clusterElems = {}; export const insertCluster = (elem, node) => { log.trace('Inserting cluster'); const shape = node.shape || 'rect'; - clusterElems[node.id] = shapes[shape](elem, node); + const cluster = shapes[shape](elem, node); + clusterElems[node.id] = cluster; + return cluster; }; export const getClusterTitleWidth = (elem, node) => { const label = createLabel(node.labelText, node.labelStyle, undefined, true); From 39bffcb3a02ff09d3a83ddd8fcba180e511ea374 Mon Sep 17 00:00:00 2001 From: Knut Sveidqvist Date: Mon, 6 May 2024 13:19:40 +0200 Subject: [PATCH 379/789] #5237 Support for composit states WIP, rough --- cypress/platform/knsv2.html | 2 +- .../mermaid/src/diagrams/state/stateDb.js | 2 +- .../layout-algorithms/elk/index.js | 99 +------------------ 3 files changed, 5 insertions(+), 98 deletions(-) diff --git a/cypress/platform/knsv2.html b/cypress/platform/knsv2.html index b749cdc92a..5cb6f11b5d 100644 --- a/cypress/platform/knsv2.html +++ b/cypress/platform/knsv2.html @@ -72,7 +72,7 @@ -
    +    
     stateDiagram-v2
         Chimp --> A
     
    diff --git a/packages/mermaid/src/diagrams/state/stateDb.js b/packages/mermaid/src/diagrams/state/stateDb.js
    index 2275dddba3..b9f5142eba 100644
    --- a/packages/mermaid/src/diagrams/state/stateDb.js
    +++ b/packages/mermaid/src/diagrams/state/stateDb.js
    @@ -846,7 +846,7 @@ export const getData = () => {
       extract(getRootDocV2());
       const diagramStates = getStates();
     
    -  const useRough = true;
    +  const useRough = false;
       dataFetcher(undefined, getRootDocV2(), diagramStates, nodes, edges, true, useRough);
     
       return { nodes, edges, other: {} };
    diff --git a/packages/mermaid/src/rendering-util/layout-algorithms/elk/index.js b/packages/mermaid/src/rendering-util/layout-algorithms/elk/index.js
    index 50fa7b7f03..4c66744c09 100644
    --- a/packages/mermaid/src/rendering-util/layout-algorithms/elk/index.js
    +++ b/packages/mermaid/src/rendering-util/layout-algorithms/elk/index.js
    @@ -30,27 +30,6 @@ let portPos = {};
     let clusterDb = {};
     
     export const addVertex = async (nodeEl, graph, nodeArr, node) => {
    -  console.log('addVertex DAGA', node.id);
    -  // const node = vert[id];
    -
    -  //     /**
    -  //      * Variable for storing the classes for the vertex
    -  //      *
    -  //      * @type {string}
    -  //      */
    -  //     let classStr = 'default';
    -  //     if (node.classes.length > 0) {
    -  //       classStr = node.classes.join(' ');
    -  //     }
    -  //     classStr = classStr + ' flowchart-label';
    -  //     const styles = getStylesFromArray(node.styles);
    -
    -  //     // Use vertex id as text in the box if no text is provided by the graph definition
    -  //     let vertexText = node.text !== undefined ? node.text : node.id;
    -
    -  //     // We create a SVG label, either by delegating to addHtmlLabel or manually
    -  //     let vertexNode;
    -  //     const labelData = { width: 0, height: 0 };
       const labelData = { width: 0, height: 0 };
       const ports = [
         {
    @@ -98,7 +77,7 @@ export const addVertex = async (nodeEl, graph, nodeArr, node) => {
         child.children = [];
         await addVertices(nodeEl, nodeArr, child, node.id);
     
    -    // const svgLabel = doc.createElementNS('http://www.w3.org/2000/svg', 'text');
    +    // We need the label hight to be able to size the subgraph;
         //       // svgLabel.setAttribute('style', styles.labelStyle.replace('color:', 'fill:'));
         //       // const rows = vertexText.split(common.lineBreakRegex);
         //       // for (const row of rows) {
    @@ -116,74 +95,12 @@ export const addVertex = async (nodeEl, graph, nodeArr, node) => {
         labelData.wrappingWidth = getConfig().flowchart.wrappingWidth;
         labelData.height = bbox.height;
         labelData.labelNode = shapeSvg.node();
    -    log.debug('addVertex DAGA setting labelData', node.id, labelData, nodeEl, node, shapeSvg, bbox);
    +    shapeSvg.remove();
         child.labelData = labelData;
         child.domId = nodeEl;
       }
    -  //     // const { shapeSvg, bbox } = await labelHelper(svg, node, undefined, true);
    -
    -  // const data = {
    -  //   id: node.id,
    -  //   ports: node.shape === 'diamond' ? ports : [],
    -  //   // labelStyle: styles.labelStyle,
    -  //   // shape: _shape,
    -  //   layoutOptions,
    -  //   labelText: vertexText,
    -  //   labelData,
    -  //   // labels: [{ text: vertexText }],
    -  //   // rx: radius,
    -  //   // ry: radius,
    -  //   // class: classStr,
    -  //   // style: styles.style,
    -  //   // link: vertex.link,
    -  //   // linkTarget: vertex.linkTarget,
    -  //   // tooltip: diagObj.db.getTooltip(vertex.id) || '',
    -  //   domId: diagObj.db.lookUpDomId(node.id),
    -  //   // haveCallback: vertex.haveCallback,
    -  //   width: boundingBox?.width,
    -  //   height: boundingBox?.height,
    -  //   // dir: vertex.dir,
    -  //   type: node.shape,
    -  //   // props: vertex.props,
    -  //   // padding: getConfig().flowchart.padding,
    -  //   // boundingBox,
    -  //   el: nodeEl,
    -  //   parent: parentLookupDb.parentById[node.id],
    -  // };
    -  //     // if (!Object.keys(parentLookupDb.childrenById).includes(vertex.id)) {
    -  //     // graph.children.push({
    -  //     //   ...data,
    -  //     // });
    -  //     // }
    -  //     nodeDb[node.id] = data;
    -  //     // log.trace('setNode', {
    -  //     //   labelStyle: styles.labelStyle,
    -  //     //   shape: _shape,
    -  //     //   labelText: vertexText,
    -  //     //   rx: radius,
    -  //     //   ry: radius,
    -  //     //   class: classStr,
    -  //     //   style: styles.style,
    -  //     //   id: vertex.id,
    -  //     //   domId: diagObj.db.lookUpDomId(vertex.id),
    -  //     //   width: vertex.type === 'group' ? 500 : undefined,
    -  //     //   type: vertex.type,
    -  //     //   dir: vertex.dir,
    -  //     //   props: vertex.props,
    -  //     //   padding: getConfig().flowchart.padding,
    -  //     //   parent: parentLookupDb.parentById[vertex.id],
    -  //     // });
     };
    -// /**
    -//  * Function that adds the vertices found during parsing to the graph to be rendered.
    -//  *
    -//  * @param vert Object containing the vertices.
    -//  * @param g The graph that is to be drawn.
    -//  * @param svgId
    -//  * @param root
    -//  * @param doc
    -//  * @param diagObj
    -//  */
    +
     export const addVertices = async function (nodeEl, nodeArr, graph, parentId) {
       const siblings = nodeArr.filter((node) => node.parentId === parentId);
       log.info('addVertices DAGA', siblings, parentId);
    @@ -401,14 +318,7 @@ export const addEdges = function (dataForLayout, graph, svg) {
       let defaultStyle;
       let defaultLabelStyle;
     
    -  // if (edges.defaultStyle !== undefined) {
    -  //   const defaultStyles = getStylesFromArray(edges.defaultStyle);
    -  //   defaultStyle = defaultStyles.style;
    -  //   defaultLabelStyle = defaultStyles.labelStyle;
    -  // }
    -
       edges.forEach(function (edge) {
    -    console.log('edge abc88', edge);
         // Identify Link
         const linkIdBase = edge.id; // 'L-' + edge.start + '-' + edge.end;
         // count the links from+to the same node to give unique id
    @@ -426,7 +336,6 @@ export const addEdges = function (dataForLayout, graph, svg) {
     
         const edgeData = { style: '', labelStyle: '' };
         edgeData.minlen = edge.length || 1;
    -    //edgeData.id = 'id' + cnt;
     
         // Set link type for rendering
         if (edge.type === 'arrow_open') {
    @@ -663,6 +572,4 @@ export const render = async (data4Layout, svg, element) => {
         ];
         insertEdge(edgesEl, edge, clusterDb, data4Layout.type, g, data4Layout.diagramId);
       });
    -  // // Remove element after layout
    -  // renderEl.remove();
     };
    
    From 323737f3a607d9dab85b574490f5877d226ad346 Mon Sep 17 00:00:00 2001
    From: Knut Sveidqvist 
    Date: Mon, 6 May 2024 14:42:36 +0200
    Subject: [PATCH 380/789] #5237 Setting layout algorithm and handrawn or not
     via configuration
    
    ---
     cSpell.json                                   | 24 +++++++++++++++----
     cypress/platform/knsv2.html                   | 23 ++++++++++++++----
     packages/mermaid/src/config.type.ts           |  1 +
     .../mermaid/src/diagrams/state/stateDb.js     |  4 +++-
     .../state/stateRenderer-v3-unified.ts         |  3 ++-
     packages/mermaid/src/rendering-util/render.js |  2 +-
     .../mermaid/src/schemas/config.schema.yaml    | 10 ++++++++
     7 files changed, 55 insertions(+), 12 deletions(-)
    
    diff --git a/cSpell.json b/cSpell.json
    index 5566b673fe..4a17551241 100644
    --- a/cSpell.json
    +++ b/cSpell.json
    @@ -60,6 +60,7 @@
         "grav",
         "greywolf",
         "gzipped",
    +    "handdrawn",
         "huynh",
         "huynhicode",
         "iife",
    @@ -170,7 +171,11 @@
         "zune"
       ],
       "patterns": [
    -    { "name": "Markdown links", "pattern": "\\((.*)\\)", "description": "" },
    +    {
    +      "name": "Markdown links",
    +      "pattern": "\\((.*)\\)",
    +      "description": ""
    +    },
         {
           "name": "Markdown code blocks",
           "pattern": "/^(\\s*`{3,}).*[\\s\\S]*?^\\1/gmx",
    @@ -181,14 +186,25 @@
           "pattern": "\\`([^\\`\\r\\n]+?)\\`",
           "description": "https://stackoverflow.com/questions/41274241/how-to-capture-inline-markdown-code-but-not-a-markdown-code-fence-with-regex"
         },
    -    { "name": "Link contents", "pattern": "\\", "description": "" },
    -    { "name": "Snippet references", "pattern": "-- snippet:(.*)", "description": "" },
    +    {
    +      "name": "Link contents",
    +      "pattern": "\\",
    +      "description": ""
    +    },
    +    {
    +      "name": "Snippet references",
    +      "pattern": "-- snippet:(.*)",
    +      "description": ""
    +    },
         {
           "name": "Snippet references 2",
           "pattern": "\\<\\[sample:(.*)",
           "description": "another kind of snippet reference"
         },
    -    { "name": "Multi-line code blocks", "pattern": "/^\\s*```[\\s\\S]*?^\\s*```/gm" },
    +    {
    +      "name": "Multi-line code blocks",
    +      "pattern": "/^\\s*```[\\s\\S]*?^\\s*```/gm"
    +    },
         {
           "name": "HTML Tags",
           "pattern": "<[^>]*>",
    diff --git a/cypress/platform/knsv2.html b/cypress/platform/knsv2.html
    index 5cb6f11b5d..8935284b3c 100644
    --- a/cypress/platform/knsv2.html
    +++ b/cypress/platform/knsv2.html
    @@ -75,10 +75,15 @@
         
     stateDiagram-v2
         Chimp --> A
    +    Chimp --> B
    +    Chimp --> C
     
       
    +---
    +  handdrawn: false
    +---
     stateDiagram-v2
         state First {
     second
    @@ -95,10 +100,17 @@
       
    -    flowchart TB
    -      subgraph First
    -        Second
    -      end
    +   stateDiagram-v2
    +    state fork_state <>
    +      [*] --> fork_state
    +      fork_state --> State2
    +      fork_state --> State3
    +
    +      state join_state <>
    +      State2 --> join_state
    +      State3 --> join_state
    +      join_state --> State4
    +      State4 --> [*]
         
         flowchart TB
    @@ -474,8 +486,9 @@
           //   useMaxWidth: false,
           // });
           mermaid.initialize({
    +        handdrawn: true,
    +        layout: 'elk',
             flowchart: { titleTopMargin: 10 },
    -        /* fontFamily: 'Kalam', */
             fontFamily: 'Caveat',
             sequence: {
               actorFontFamily: 'courier',
    diff --git a/packages/mermaid/src/config.type.ts b/packages/mermaid/src/config.type.ts
    index e9c2fecbf2..4700ff251d 100644
    --- a/packages/mermaid/src/config.type.ts
    +++ b/packages/mermaid/src/config.type.ts
    @@ -64,6 +64,7 @@ export interface MermaidConfig {
       theme?: 'default' | 'forest' | 'dark' | 'neutral' | 'null';
       themeVariables?: any;
       themeCSS?: string;
    +  handdrawn?: boolean; // Different from theme as it could be combined with any theme in the future
       /**
        * The maximum allowed size of the users text diagram
        */
    diff --git a/packages/mermaid/src/diagrams/state/stateDb.js b/packages/mermaid/src/diagrams/state/stateDb.js
    index b9f5142eba..5996d76c41 100644
    --- a/packages/mermaid/src/diagrams/state/stateDb.js
    +++ b/packages/mermaid/src/diagrams/state/stateDb.js
    @@ -846,7 +846,9 @@ export const getData = () => {
       extract(getRootDocV2());
       const diagramStates = getStates();
     
    -  const useRough = false;
    +  console.log('Config - DAGA', getConfig());
    +
    +  const useRough = getConfig().handdrawn;
       dataFetcher(undefined, getRootDocV2(), diagramStates, nodes, edges, true, useRough);
     
       return { nodes, edges, other: {} };
    diff --git a/packages/mermaid/src/diagrams/state/stateRenderer-v3-unified.ts b/packages/mermaid/src/diagrams/state/stateRenderer-v3-unified.ts
    index 1c7da678a1..5ecfd4d267 100644
    --- a/packages/mermaid/src/diagrams/state/stateRenderer-v3-unified.ts
    +++ b/packages/mermaid/src/diagrams/state/stateRenderer-v3-unified.ts
    @@ -88,7 +88,8 @@ export const draw = async function (text: string, id: string, _version: string,
     
       data4Layout.type = diag.type;
       // data4Layout.layoutAlgorithm = 'dagre-wrapper';
    -  data4Layout.layoutAlgorithm = 'elk';
    +  // data4Layout.layoutAlgorithm = 'elk';
    +  data4Layout.layoutAlgorithm = getConfig().layout;
       data4Layout.direction = DIR;
       data4Layout.nodeSpacing = conf.nodeSpacing || 50;
       data4Layout.rankSpacing = conf.rankSpacing || 50;
    diff --git a/packages/mermaid/src/rendering-util/render.js b/packages/mermaid/src/rendering-util/render.js
    index 937146f965..d65bd4ff17 100644
    --- a/packages/mermaid/src/rendering-util/render.js
    +++ b/packages/mermaid/src/rendering-util/render.js
    @@ -1,6 +1,6 @@
     export const render = async (data4Layout, svg, element) => {
       switch (data4Layout.layoutAlgorithm) {
    -    case 'dagre-wrapper': {
    +    case 'dagre': {
           const layoutRenderer = await import('./layout-algorithms/dagre/index.js');
           return layoutRenderer.render(data4Layout, svg, element);
         }
    diff --git a/packages/mermaid/src/schemas/config.schema.yaml b/packages/mermaid/src/schemas/config.schema.yaml
    index bf8b90b832..946a32b4ba 100644
    --- a/packages/mermaid/src/schemas/config.schema.yaml
    +++ b/packages/mermaid/src/schemas/config.schema.yaml
    @@ -70,6 +70,16 @@ properties:
         tsType: any
       themeCSS:
         type: string
    +  handdrawn:
    +    description: |
    +      Defines whether or not to use the handdrawn effect in the diagram.
    +    type: boolean
    +    default: false
    +  layout:
    +    description: |
    +      Defines which layout algorithm to use for rendering the diagram.
    +    type: string
    +    default: 'dagre'
       maxTextSize:
         description: The maximum allowed size of the users text diagram
         type: number
    
    From d497a5c4ac65741de41970f0ab9324d28d782213 Mon Sep 17 00:00:00 2001
    From: Knut Sveidqvist 
    Date: Mon, 6 May 2024 16:21:25 +0200
    Subject: [PATCH 381/789] #5237 Adjustment for different sematics between dagre
     and elk positioning
    
    ---
     cypress/platform/knsv2.html                   | 35 ++++++++++-
     .../elk/find-common-ancestor.ts               | 25 ++++++++
     .../layout-algorithms/elk/index.js            | 63 +++++++++++--------
     .../rendering-elements/edges.js               | 10 +++
     4 files changed, 106 insertions(+), 27 deletions(-)
     create mode 100644 packages/mermaid/src/rendering-util/layout-algorithms/elk/find-common-ancestor.ts
    
    diff --git a/cypress/platform/knsv2.html b/cypress/platform/knsv2.html
    index 8935284b3c..69c730a555 100644
    --- a/cypress/platform/knsv2.html
    +++ b/cypress/platform/knsv2.html
    @@ -74,13 +74,44 @@
       
         
     stateDiagram-v2
    +    state ProActive {
    +      state Active {
    +          APA
    +      }
    +    }
    +      
    +
    +stateDiagram-v2
    +    [*] --> Active
    +
    +    state Active {
    +        [*] --> NumLockOff
    +        NumLockOff --> NumLockOn : EvNumLockPressed
    +        NumLockOn --> NumLockOff : EvNumLockPressed
    +        --
    +        [*] --> CapsLockOff
    +        CapsLockOff --> CapsLockOn : EvCapsLockPressed
    +        CapsLockOn --> CapsLockOff : EvCapsLockPressed
    +        --
    +        [*] --> ScrollLockOff
    +        ScrollLockOff --> ScrollLockOn : EvScrollLockPressed
    +        ScrollLockOn --> ScrollLockOff : EvScrollLockPressed
    +    }
    +      
    +
    +stateDiagram-v2
    +    state ProActive {
    +      state Active {
         Chimp --> A
         Chimp --> B
         Chimp --> C
    -
    +      }
    +    }
       
    -
    +    
     ---
       handdrawn: false
     ---
    diff --git a/packages/mermaid/src/rendering-util/layout-algorithms/elk/find-common-ancestor.ts b/packages/mermaid/src/rendering-util/layout-algorithms/elk/find-common-ancestor.ts
    new file mode 100644
    index 0000000000..ebdc01cf76
    --- /dev/null
    +++ b/packages/mermaid/src/rendering-util/layout-algorithms/elk/find-common-ancestor.ts
    @@ -0,0 +1,25 @@
    +export interface TreeData {
    +  parentById: Record;
    +  childrenById: Record;
    +}
    +
    +export const findCommonAncestor = (id1: string, id2: string, treeData: TreeData) => {
    +  const { parentById } = treeData;
    +  const visited = new Set();
    +  let currentId = id1;
    +  while (currentId) {
    +    visited.add(currentId);
    +    if (currentId === id2) {
    +      return currentId;
    +    }
    +    currentId = parentById[currentId];
    +  }
    +  currentId = id2;
    +  while (currentId) {
    +    if (visited.has(currentId)) {
    +      return currentId;
    +    }
    +    currentId = parentById[currentId];
    +  }
    +  return 'root';
    +};
    diff --git a/packages/mermaid/src/rendering-util/layout-algorithms/elk/index.js b/packages/mermaid/src/rendering-util/layout-algorithms/elk/index.js
    index 4c66744c09..0c9d24de7b 100644
    --- a/packages/mermaid/src/rendering-util/layout-algorithms/elk/index.js
    +++ b/packages/mermaid/src/rendering-util/layout-algorithms/elk/index.js
    @@ -1,6 +1,7 @@
     import * as graphlibJson from 'dagre-d3-es/src/graphlib/json.js';
     import * as graphlib from 'dagre-d3-es/src/graphlib/index.js';
     import insertMarkers from '../../rendering-elements/markers.js';
    +import { findCommonAncestor } from './find-common-ancestor.js';
     import { getConfig } from '$root/diagram-api/diagramAPI.js';
     import {
       insertNode,
    @@ -129,30 +130,14 @@ const drawNodes = (relX, relY, nodeArray, svg, subgraphsEl, depth) => {
           if (node.type === 'group') {
             log.debug('Id abc88 subgraph (DAGA)= ', node.id, node.x, node.y, node.labelData);
             const subgraphEl = subgraphsEl.insert('g').attr('class', 'subgraph');
    -        const useOrg = false;
    -        if (useOrg) {
    -          subgraphEl
    -            .insert('rect')
    -            .attr('class', 'subgraph subgraph-lvl-' + (depth % 5) + ' node')
    -            .attr('x', node.x + relX)
    -            .attr('y', node.y + relY)
    -            .attr('width', node.width)
    -            .attr('height', node.height);
    -          const label = subgraphEl.insert('g').attr('class', 'label');
    -          const labelCentering = getConfig().flowchart.htmlLabels ? node.labelData.width / 2 : 0;
    -          label.attr(
    -            'transform',
    -            `translate(${node.labels[0].x + relX + node.x + labelCentering}, ${
    -              node.labels[0].y + relY + node.y + 3
    -            })`
    -          );
    -          label.node().appendChild(node.labelData.labelNode);
    -        } else {
    -          const cluster = insertCluster(subgraphEl, node);
    -          const bbox = cluster.node().getBBox();
    -          node.x -= bbox.width / 2 - 2; // Magic number 2... why??? WHY???
    -          node.y -= bbox.height / 2;
    -        }
    +        const clusterNode = JSON.parse(JSON.stringify(node));
    +        clusterNode.x = node.offset.posX + node.width / 2;
    +        clusterNode.y = node.offset.posY + node.height / 2;
    +        // clusterNode.y = node.y + node.height / 2;
    +        const cluster = insertCluster(subgraphEl, clusterNode);
    +        // const bbox = cluster.node().getBBox();
    +        // node.x -= bbox.width / 2 - 2; // Magic number 2... why??? WHY???
    +        // node.y -= bbox.height / 2;
             log.info('Id (UGH)= ', node.shape, node.labels);
           } else {
             log.info(
    @@ -298,6 +283,17 @@ const getEdgeStartEndPoint = (edge, dir) => {
       return { source, target, sourceId, targetId };
     };
     
    +const calcOffset = function (src, dest, parentLookupDb) {
    +  console.log('DAGA src dest', src, dest, parentLookupDb);
    +  const ancestor = findCommonAncestor(src, dest, parentLookupDb);
    +  if (ancestor === undefined || ancestor === 'root') {
    +    return { x: 0, y: 0 };
    +  }
    +
    +  const ancestorOffset = nodeDb[ancestor].offset;
    +  return { x: ancestorOffset.posX, y: ancestorOffset.posY };
    +};
    +
     /**
      * Add edges to graph based on parsed graph definition
      *
    @@ -552,12 +548,19 @@ export const render = async (data4Layout, svg, element) => {
       log.info('before layout abc88', JSON.stringify(elkGraph, null, 2));
       const g = await elk.layout(elkGraph);
       log.info('after layout abc88 DAGA', g);
    +
    +  // debugger;
       drawNodes(0, 0, g.children, svg, subGraphsEl, 0);
       g.edges?.map((edge) => {
         // (elem, edge, clusterDb, diagramType, graph, id)
         edge.start = nodeDb[edge.sources[0]];
         edge.end = nodeDb[edge.targets[0]];
    -    const offset = { x: 0, y: 0 };
    +    const sourceId = edge.start.id;
    +    const targetId = edge.end.id;
    +
    +    const offset = calcOffset(sourceId, targetId, parentLookupDb);
    +    // const offset = { x: 50, y: 25 };
    +
         const src = edge.sections[0].startPoint;
         const dest = edge.sections[0].endPoint;
         const segments = edge.sections[0].bendPoints ? edge.sections[0].bendPoints : [];
    @@ -570,6 +573,16 @@ export const render = async (data4Layout, svg, element) => {
           ...segPoints,
           { x: dest.x + offset.x, y: dest.y + offset.y },
         ];
    +    console.log(
    +      'DAGA org points: ',
    +      [
    +        { x: src.x, y: src.y },
    +        { x: dest.x, y: dest.y },
    +      ],
    +      'points: ',
    +      edge.points
    +    );
    +
         insertEdge(edgesEl, edge, clusterDb, data4Layout.type, g, data4Layout.diagramId);
       });
     };
    diff --git a/packages/mermaid/src/rendering-util/rendering-elements/edges.js b/packages/mermaid/src/rendering-util/rendering-elements/edges.js
    index f8e6d65878..460a0faeab 100644
    --- a/packages/mermaid/src/rendering-util/rendering-elements/edges.js
    +++ b/packages/mermaid/src/rendering-util/rendering-elements/edges.js
    @@ -375,6 +375,16 @@ const cutPathAtIntersect = (_points, boundryNode) => {
       return points;
     };
     
    +const calcOffset = function (src, dest, parentLookupDb) {
    +  const ancestor = findCommonAncestor(src, dest, parentLookupDb);
    +  if (ancestor === undefined || ancestor === 'root') {
    +    return { x: 0, y: 0 };
    +  }
    +
    +  const ancestorOffset = nodeDb[ancestor].offset;
    +  return { x: ancestorOffset.posX, y: ancestorOffset.posY };
    +};
    +
     export const insertEdge = function (elem, edge, clusterDb, diagramType, graph, id) {
       console.log('abc88 InsertEdge - edge: ', edge);
       let points = edge.points;
    
    From b9a73c88b5c11eb554766687bff606da4279774d Mon Sep 17 00:00:00 2001
    From: Knut Sveidqvist 
    Date: Tue, 7 May 2024 15:47:39 +0200
    Subject: [PATCH 382/789] #5237 Bugfix for fork/join
    
    ---
     cypress/platform/knsv2.html                   | 30 +++++++++++--------
     .../rendering-elements/nodes.js               |  3 +-
     2 files changed, 20 insertions(+), 13 deletions(-)
    
    diff --git a/cypress/platform/knsv2.html b/cypress/platform/knsv2.html
    index 69c730a555..e36dd4bc78 100644
    --- a/cypress/platform/knsv2.html
    +++ b/cypress/platform/knsv2.html
    @@ -73,15 +73,20 @@
       
       
         
    -stateDiagram-v2
    -    state ProActive {
    -      state Active {
    -          APA
    -      }
    -    }
    +stateDiagram
    +    state fork_state <>
    +      [*] --> fork_state
    +      fork_state --> State2
    +      fork_state --> State3
    +
    +      state join_state <>
    +      State2 --> join_state
    +      State3 --> join_state
    +      join_state --> State4
    +      State4 --> [*]
           
    -
    +    
     stateDiagram-v2
         [*] --> Active
     
    @@ -100,13 +105,13 @@
         }
           
    -
    +    
     stateDiagram-v2
         state ProActive {
           state Active {
    -    Chimp --> A
    -    Chimp --> B
    -    Chimp --> C
    +        Chimp --> A
    +        Chimp --> B
    +        Chimp --> C
           }
         }
       
    Date: Tue, 7 May 2024 13:24:04 -0700 Subject: [PATCH 383/789] Added to "others" section on integration with Astro --- packages/mermaid/src/docs/ecosystem/integrations-community.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/packages/mermaid/src/docs/ecosystem/integrations-community.md b/packages/mermaid/src/docs/ecosystem/integrations-community.md index 95e71d626d..0d48a667c2 100644 --- a/packages/mermaid/src/docs/ecosystem/integrations-community.md +++ b/packages/mermaid/src/docs/ecosystem/integrations-community.md @@ -254,5 +254,7 @@ Communication tools and platforms - [reveal-ck-mermaid-plugin](https://github.com/tmtm/reveal-ck-mermaid-plugin) - [mermaid-isomorphic](https://github.com/remcohaszing/mermaid-isomorphic) - [mermaid-server: Generate diagrams using a HTTP request](https://github.com/TomWright/mermaid-server) +- [Astro](https://astro.build/) + - [Adding diagrams to your Astro site with MermaidJS and Playwright](https://agramont.net/blog/diagraming-with-mermaidjs-astro/) From edda73c7fc90f9128e2779a9ff86ee70a77fa811 Mon Sep 17 00:00:00 2001 From: Sidharth Vinod Date: Wed, 8 May 2024 10:56:08 +0530 Subject: [PATCH 384/789] chore: Update ordering --- docs/ecosystem/integrations-community.md | 2 ++ packages/mermaid/src/docs/ecosystem/integrations-community.md | 4 ++-- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/docs/ecosystem/integrations-community.md b/docs/ecosystem/integrations-community.md index 01a32ae435..a38462ee85 100644 --- a/docs/ecosystem/integrations-community.md +++ b/docs/ecosystem/integrations-community.md @@ -240,6 +240,8 @@ Communication tools and platforms ### Other +- [Astro](https://astro.build/) + - [Adding diagrams to your Astro site with MermaidJS and Playwright](https://agramont.net/blog/diagraming-with-mermaidjs-astro/) - [Bisheng](https://www.npmjs.com/package/bisheng) - [bisheng-plugin-mermaid](https://github.com/yct21/bisheng-plugin-mermaid) - [Blazorade Mermaid: Render Mermaid diagrams in Blazor applications](https://github.com/Blazorade/Blazorade-Mermaid/wiki) diff --git a/packages/mermaid/src/docs/ecosystem/integrations-community.md b/packages/mermaid/src/docs/ecosystem/integrations-community.md index 0d48a667c2..f22166254c 100644 --- a/packages/mermaid/src/docs/ecosystem/integrations-community.md +++ b/packages/mermaid/src/docs/ecosystem/integrations-community.md @@ -235,6 +235,8 @@ Communication tools and platforms ### Other +- [Astro](https://astro.build/) + - [Adding diagrams to your Astro site with MermaidJS and Playwright](https://agramont.net/blog/diagraming-with-mermaidjs-astro/) - [Bisheng](https://www.npmjs.com/package/bisheng) - [bisheng-plugin-mermaid](https://github.com/yct21/bisheng-plugin-mermaid) - [Blazorade Mermaid: Render Mermaid diagrams in Blazor applications](https://github.com/Blazorade/Blazorade-Mermaid/wiki) @@ -254,7 +256,5 @@ Communication tools and platforms - [reveal-ck-mermaid-plugin](https://github.com/tmtm/reveal-ck-mermaid-plugin) - [mermaid-isomorphic](https://github.com/remcohaszing/mermaid-isomorphic) - [mermaid-server: Generate diagrams using a HTTP request](https://github.com/TomWright/mermaid-server) -- [Astro](https://astro.build/) - - [Adding diagrams to your Astro site with MermaidJS and Playwright](https://agramont.net/blog/diagraming-with-mermaidjs-astro/) From 9eb64cd6db0c18a9ac9ab0a0ee04e4aa562eb99e Mon Sep 17 00:00:00 2001 From: Sidharth Vinod Date: Wed, 8 May 2024 10:59:18 +0530 Subject: [PATCH 385/789] Update docs --- docs/ecosystem/integrations-community.md | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/ecosystem/integrations-community.md b/docs/ecosystem/integrations-community.md index a38462ee85..b7dd757b73 100644 --- a/docs/ecosystem/integrations-community.md +++ b/docs/ecosystem/integrations-community.md @@ -251,6 +251,7 @@ Communication tools and platforms - [Jekyll](https://jekyllrb.com/) - [jekyll-mermaid](https://rubygems.org/gems/jekyll-mermaid) - [jekyll-mermaid-diagrams](https://github.com/fuzhibo/jekyll-mermaid-diagrams) +- [MarkChart: Preview Mermaid diagrams on macOS](https://markchart.app/) - [mermaid-isomorphic](https://github.com/remcohaszing/mermaid-isomorphic) - [mermaid-server: Generate diagrams using a HTTP request](https://github.com/TomWright/mermaid-server) - [NiceGUI: Let any browser be the frontend of your Python code](https://nicegui.io) ✅ From 954f5d7d4209cb26fbdb8439cf6d4e77089ba659 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 8 May 2024 06:04:26 +0000 Subject: [PATCH 386/789] chore(deps): update all patch dependencies --- package.json | 4 +- packages/mermaid/src/docs/package.json | 2 +- pnpm-lock.yaml | 827 +++++++++++-------------- 3 files changed, 367 insertions(+), 466 deletions(-) diff --git a/package.json b/package.json index f3e0b4e289..393677907f 100644 --- a/package.json +++ b/package.json @@ -4,7 +4,7 @@ "version": "10.2.4", "description": "Markdownish syntax for generating flowcharts, sequence diagrams, class diagrams, gantt charts and git graphs.", "type": "module", - "packageManager": "pnpm@8.15.7", + "packageManager": "pnpm@8.15.8", "keywords": [ "diagram", "markdown", @@ -107,7 +107,7 @@ "jison": "^0.4.18", "js-yaml": "^4.1.0", "jsdom": "^24.0.0", - "langium-cli": "3.0.1", + "langium-cli": "3.0.3", "lint-staged": "^15.2.2", "markdown-table": "^3.0.3", "nyc": "^15.1.0", diff --git a/packages/mermaid/src/docs/package.json b/packages/mermaid/src/docs/package.json index 5f6e338a09..146c4d2d88 100644 --- a/packages/mermaid/src/docs/package.json +++ b/packages/mermaid/src/docs/package.json @@ -34,7 +34,7 @@ "unplugin-vue-components": "^0.26.0", "vite": "^5.0.0", "vite-plugin-pwa": "^0.19.7", - "vitepress": "1.1.0", + "vitepress": "1.1.4", "workbox-window": "^7.0.0" } } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 82381338e1..8b86c86c00 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -21,7 +21,7 @@ importers: version: 8.7.0(eslint@8.57.0) '@cypress/code-coverage': specifier: ^3.12.30 - version: 3.12.38(@babel/core@7.24.5)(@babel/preset-env@7.24.5)(babel-loader@9.1.3)(cypress@13.7.3)(webpack@5.91.0) + version: 3.12.39(@babel/core@7.24.5)(@babel/preset-env@7.24.5)(babel-loader@9.1.3)(cypress@13.7.3)(webpack@5.91.0) '@rollup/plugin-typescript': specifier: ^11.1.6 version: 11.1.6(typescript@5.4.5) @@ -42,13 +42,13 @@ importers: version: 21.1.6 '@types/lodash': specifier: ^4.17.0 - version: 4.17.0 + version: 4.17.1 '@types/mdast': specifier: ^4.0.3 version: 4.0.3 '@types/node': specifier: ^20.11.30 - version: 20.12.7 + version: 20.12.10 '@types/rollup-plugin-visualizer': specifier: ^4.2.4 version: 4.2.4 @@ -141,7 +141,7 @@ importers: version: 9.0.11 jest: specifier: ^29.7.0 - version: 29.7.0(@types/node@20.12.7) + version: 29.7.0(@types/node@20.12.10) jison: specifier: ^0.4.18 version: 0.4.18 @@ -152,8 +152,8 @@ importers: specifier: ^24.0.0 version: 24.0.0 langium-cli: - specifier: 3.0.1 - version: 3.0.1 + specifier: 3.0.3 + version: 3.0.3 lint-staged: specifier: ^15.2.2 version: 15.2.2 @@ -192,13 +192,13 @@ importers: version: 5.4.5 vite: specifier: ^5.2.3 - version: 5.2.10(@types/node@20.12.7) + version: 5.2.11(@types/node@20.12.10) vite-plugin-istanbul: specifier: ^6.0.0 - version: 6.0.0(vite@5.2.10) + version: 6.0.2(vite@5.2.11) vitest: specifier: ^1.4.0 - version: 1.5.3(@types/node@20.12.7)(@vitest/ui@1.5.3)(jsdom@24.0.0) + version: 1.5.3(@types/node@20.12.10)(@vitest/ui@1.5.3)(jsdom@24.0.0) packages/mermaid: dependencies: @@ -298,7 +298,7 @@ importers: version: 3.0.0 '@types/stylis': specifier: ^4.2.5 - version: 4.2.5 + version: 4.2.6 '@types/uuid': specifier: ^9.0.8 version: 9.0.8 @@ -382,10 +382,10 @@ importers: version: 5.0.0 vitepress: specifier: ^1.0.1 - version: 1.1.4(@algolia/client-search@4.23.3)(@types/node@20.12.7)(search-insights@2.13.0)(typescript@5.4.5) + version: 1.1.4(@algolia/client-search@4.23.3)(@types/node@20.12.10)(postcss@8.4.38)(search-insights@2.13.0)(typescript@5.4.5) vitepress-plugin-search: specifier: 1.0.4-alpha.22 - version: 1.0.4-alpha.22(flexsearch@0.7.43)(vitepress@1.1.4)(vue@3.4.26) + version: 1.0.4-alpha.22(flexsearch@0.7.43)(vitepress@1.1.4)(vue@3.4.27) packages/mermaid-example-diagram: dependencies: @@ -451,7 +451,7 @@ importers: version: 7.4.47 '@vueuse/core': specifier: ^10.9.0 - version: 10.9.0(vue@3.4.26) + version: 10.9.0(vue@3.4.27) font-awesome: specifier: ^4.7.0 version: 4.7.0 @@ -463,7 +463,7 @@ importers: version: link:../.. vue: specifier: ^3.4.21 - version: 3.4.26(typescript@5.4.5) + version: 3.4.27(typescript@5.4.5) devDependencies: '@iconify-json/carbon': specifier: ^1.1.31 @@ -476,7 +476,7 @@ importers: version: 0.4.0(vite-plugin-pwa@0.19.8) '@vitejs/plugin-vue': specifier: ^5.0.0 - version: 5.0.4(vite@5.2.10)(vue@3.4.26) + version: 5.0.4(vite@5.2.11)(vue@3.4.27) fast-glob: specifier: ^3.3.2 version: 3.3.2 @@ -488,19 +488,19 @@ importers: version: 1.1.2 unocss: specifier: ^0.59.0 - version: 0.59.4(postcss@8.4.38)(rollup@2.79.1)(vite@5.2.10) + version: 0.59.4(postcss@8.4.38)(rollup@2.79.1)(vite@5.2.11) unplugin-vue-components: specifier: ^0.26.0 - version: 0.26.0(rollup@2.79.1)(vue@3.4.26) + version: 0.26.0(rollup@2.79.1)(vue@3.4.27) vite: specifier: ^5.0.0 - version: 5.2.10(@types/node@20.12.7) + version: 5.2.11(@types/node@20.12.10) vite-plugin-pwa: specifier: ^0.19.7 - version: 0.19.8(vite@5.2.10)(workbox-build@7.1.0)(workbox-window@7.0.0) + version: 0.19.8(vite@5.2.11)(workbox-build@7.1.0)(workbox-window@7.0.0) vitepress: - specifier: 1.1.0 - version: 1.1.0(@algolia/client-search@4.23.3)(@types/node@20.12.7)(postcss@8.4.38)(search-insights@2.13.0)(typescript@5.4.5) + specifier: 1.1.4 + version: 1.1.4(@algolia/client-search@4.23.3)(@types/node@20.12.10)(postcss@8.4.38)(search-insights@2.13.0)(typescript@5.4.5) workbox-window: specifier: ^7.0.0 version: 7.0.0 @@ -1089,19 +1089,11 @@ packages: engines: {node: '>=12.13.0'} dev: true - /@babel/code-frame@7.23.5: - resolution: {integrity: sha512-CgH3s1a96LipHCmSUmYFPwY7MNx8C3avkq7i4Wl3cfa662ldtUe4VM1TPXX70pfmrlWTb6jLqTYrZyT2ZTJBgA==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/highlight': 7.24.2 - chalk: 2.4.2 - dev: true - /@babel/code-frame@7.24.2: resolution: {integrity: sha512-y5+tLQyV8pg3fsiln67BVLD1P13Eg4lh5RW9mF0zUuvLrv9uIQ4MCL+CRT+FTsBlBjcIan6PGsLcBN0m3ClUyQ==} engines: {node: '>=6.9.0'} dependencies: - '@babel/highlight': 7.24.2 + '@babel/highlight': 7.24.5 picocolors: 1.0.0 dev: true @@ -1110,29 +1102,6 @@ packages: engines: {node: '>=6.9.0'} dev: true - /@babel/core@7.24.4: - resolution: {integrity: sha512-MBVlMXP+kkl5394RBLSxxk/iLTeVGuXTV3cIDXavPpMMqnSnt6apKgan/U8O3USWZCWZT/TbgfEpKa4uMgN4Dg==} - engines: {node: '>=6.9.0'} - dependencies: - '@ampproject/remapping': 2.3.0 - '@babel/code-frame': 7.24.2 - '@babel/generator': 7.24.4 - '@babel/helper-compilation-targets': 7.23.6 - '@babel/helper-module-transforms': 7.23.3(@babel/core@7.24.4) - '@babel/helpers': 7.24.4 - '@babel/parser': 7.24.5 - '@babel/template': 7.24.0 - '@babel/traverse': 7.24.1 - '@babel/types': 7.24.5 - convert-source-map: 2.0.0 - debug: 4.3.4(supports-color@8.1.1) - gensync: 1.0.0-beta.2 - json5: 2.2.3 - semver: 6.3.1 - transitivePeerDependencies: - - supports-color - dev: true - /@babel/core@7.24.5: resolution: {integrity: sha512-tVQRucExLQ02Boi4vdPp49svNGcfL2GhdTCT9aldhXgCJVAI21EtRfBettiuLUwce/7r6bFdgs6JFkcdTiFttA==} engines: {node: '>=6.9.0'} @@ -1156,16 +1125,6 @@ packages: - supports-color dev: true - /@babel/generator@7.24.4: - resolution: {integrity: sha512-Xd6+v6SnjWVx/nus+y0l1sxMOTOMBkyL4+BIdbALyatQnAe/SRVjANeDPSCYaX+i1iJmuGSKf3Z+E+V/va1Hvw==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/types': 7.24.5 - '@jridgewell/gen-mapping': 0.3.5 - '@jridgewell/trace-mapping': 0.3.25 - jsesc: 2.5.2 - dev: true - /@babel/generator@7.24.5: resolution: {integrity: sha512-x32i4hEXvr+iI0NEoEfDKzlemF8AmtOP8CcrRaEcpzysWuoEb1KknpcvMsHKPONoKZiDuItklgWhB18xEhr9PA==} engines: {node: '>=6.9.0'} @@ -1201,19 +1160,19 @@ packages: semver: 6.3.1 dev: true - /@babel/helper-create-class-features-plugin@7.24.4(@babel/core@7.24.4): + /@babel/helper-create-class-features-plugin@7.24.4(@babel/core@7.24.5): resolution: {integrity: sha512-lG75yeuUSVu0pIcbhiYMXBXANHrpUPaOfu7ryAzskCgKUHuAxRQI5ssrtmF0X9UXldPlvT0XM/A4F44OXRt6iQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.24.4 + '@babel/core': 7.24.5 '@babel/helper-annotate-as-pure': 7.22.5 '@babel/helper-environment-visitor': 7.22.20 '@babel/helper-function-name': 7.23.0 '@babel/helper-member-expression-to-functions': 7.23.0 '@babel/helper-optimise-call-expression': 7.22.5 - '@babel/helper-replace-supers': 7.24.1(@babel/core@7.24.4) + '@babel/helper-replace-supers': 7.24.1(@babel/core@7.24.5) '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 '@babel/helper-split-export-declaration': 7.22.6 semver: 6.3.1 @@ -1305,34 +1264,6 @@ packages: '@babel/types': 7.24.5 dev: true - /@babel/helper-module-transforms@7.23.3(@babel/core@7.24.4): - resolution: {integrity: sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 - dependencies: - '@babel/core': 7.24.4 - '@babel/helper-environment-visitor': 7.22.20 - '@babel/helper-module-imports': 7.24.3 - '@babel/helper-simple-access': 7.22.5 - '@babel/helper-split-export-declaration': 7.22.6 - '@babel/helper-validator-identifier': 7.24.5 - dev: true - - /@babel/helper-module-transforms@7.23.3(@babel/core@7.24.5): - resolution: {integrity: sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 - dependencies: - '@babel/core': 7.24.5 - '@babel/helper-environment-visitor': 7.22.20 - '@babel/helper-module-imports': 7.24.3 - '@babel/helper-simple-access': 7.22.5 - '@babel/helper-split-export-declaration': 7.22.6 - '@babel/helper-validator-identifier': 7.24.5 - dev: true - /@babel/helper-module-transforms@7.24.5(@babel/core@7.24.5): resolution: {integrity: sha512-9GxeY8c2d2mdQUP1Dye0ks3VDyIMS98kt/llQ2nUId8IsWqTF0l1LkSX0/uP7l7MCDrzXS009Hyhe2gzTiGW8A==} engines: {node: '>=6.9.0'} @@ -1376,18 +1307,6 @@ packages: '@babel/helper-wrap-function': 7.24.5 dev: true - /@babel/helper-replace-supers@7.24.1(@babel/core@7.24.4): - resolution: {integrity: sha512-QCR1UqC9BzG5vZl8BMicmZ28RuUBnHhAMddD8yHFHDRH9lLTZ9uUPehX8ctVPT8l0TKblJidqcgUUKGVrePleQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 - dependencies: - '@babel/core': 7.24.4 - '@babel/helper-environment-visitor': 7.22.20 - '@babel/helper-member-expression-to-functions': 7.23.0 - '@babel/helper-optimise-call-expression': 7.22.5 - dev: true - /@babel/helper-replace-supers@7.24.1(@babel/core@7.24.5): resolution: {integrity: sha512-QCR1UqC9BzG5vZl8BMicmZ28RuUBnHhAMddD8yHFHDRH9lLTZ9uUPehX8ctVPT8l0TKblJidqcgUUKGVrePleQ==} engines: {node: '>=6.9.0'} @@ -1462,17 +1381,6 @@ packages: '@babel/types': 7.24.5 dev: true - /@babel/helpers@7.24.4: - resolution: {integrity: sha512-FewdlZbSiwaVGlgT1DPANDuCHaDMiOo+D/IDYRFYjHOuv66xMSJ7fQwwODwRNAPkADIO/z1EoF/l2BCWlWABDw==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/template': 7.24.0 - '@babel/traverse': 7.24.1 - '@babel/types': 7.24.5 - transitivePeerDependencies: - - supports-color - dev: true - /@babel/helpers@7.24.5: resolution: {integrity: sha512-CiQmBMMpMQHwM5m01YnrM6imUG1ebgYJ+fAIW4FZe6m4qHTPaRHti+R8cggAwkdz4oXhtO4/K9JWlh+8hIfR2Q==} engines: {node: '>=6.9.0'} @@ -1484,11 +1392,11 @@ packages: - supports-color dev: true - /@babel/highlight@7.24.2: - resolution: {integrity: sha512-Yac1ao4flkTxTteCDZLEvdxg2fZfz1v8M4QpaGypq/WPDqg3ijHYbDfs+LG5hvzSoqaSZ9/Z9lKSP3CjZjv+pA==} + /@babel/highlight@7.24.5: + resolution: {integrity: sha512-8lLmua6AVh/8SLJRRVD6V8p73Hir9w5mJrhE+IPpILG31KKlI9iz5zmBYKcWPS59qSfgP9RaSBQSHHE81WKuEw==} engines: {node: '>=6.9.0'} dependencies: - '@babel/helper-validator-identifier': 7.22.20 + '@babel/helper-validator-identifier': 7.24.5 chalk: 2.4.2 js-tokens: 4.0.0 picocolors: 1.0.0 @@ -1554,15 +1462,6 @@ packages: '@babel/core': 7.24.5 dev: true - /@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.24.4): - resolution: {integrity: sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.24.4 - '@babel/helper-plugin-utils': 7.24.0 - dev: true - /@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.24.5): resolution: {integrity: sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==} peerDependencies: @@ -1572,21 +1471,12 @@ packages: '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-syntax-bigint@7.8.3(@babel/core@7.24.4): + /@babel/plugin-syntax-bigint@7.8.3(@babel/core@7.24.5): resolution: {integrity: sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.4 - '@babel/helper-plugin-utils': 7.24.0 - dev: true - - /@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.24.4): - resolution: {integrity: sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.24.4 + '@babel/core': 7.24.5 '@babel/helper-plugin-utils': 7.24.0 dev: true @@ -1647,15 +1537,6 @@ packages: '@babel/helper-plugin-utils': 7.24.5 dev: true - /@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.24.4): - resolution: {integrity: sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.24.4 - '@babel/helper-plugin-utils': 7.24.0 - dev: true - /@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.24.5): resolution: {integrity: sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==} peerDependencies: @@ -1665,15 +1546,6 @@ packages: '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.24.4): - resolution: {integrity: sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.24.4 - '@babel/helper-plugin-utils': 7.24.0 - dev: true - /@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.24.5): resolution: {integrity: sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==} peerDependencies: @@ -1683,22 +1555,13 @@ packages: '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-syntax-jsx@7.24.1(@babel/core@7.24.4): + /@babel/plugin-syntax-jsx@7.24.1(@babel/core@7.24.5): resolution: {integrity: sha512-2eCtxZXf+kbkMIsXS4poTvT4Yu5rXiRa+9xGVT56raghjmBTKMpFNc9R4IDiB4emao9eO22Ox7CxuJG7BgExqA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.4 - '@babel/helper-plugin-utils': 7.24.0 - dev: true - - /@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.24.4): - resolution: {integrity: sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.24.4 + '@babel/core': 7.24.5 '@babel/helper-plugin-utils': 7.24.0 dev: true @@ -1711,15 +1574,6 @@ packages: '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.24.4): - resolution: {integrity: sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.24.4 - '@babel/helper-plugin-utils': 7.24.0 - dev: true - /@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.24.5): resolution: {integrity: sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==} peerDependencies: @@ -1729,15 +1583,6 @@ packages: '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.24.4): - resolution: {integrity: sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.24.4 - '@babel/helper-plugin-utils': 7.24.0 - dev: true - /@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.24.5): resolution: {integrity: sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==} peerDependencies: @@ -1747,15 +1592,6 @@ packages: '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.24.4): - resolution: {integrity: sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.24.4 - '@babel/helper-plugin-utils': 7.24.0 - dev: true - /@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.24.5): resolution: {integrity: sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==} peerDependencies: @@ -1765,15 +1601,6 @@ packages: '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.24.4): - resolution: {integrity: sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.24.4 - '@babel/helper-plugin-utils': 7.24.0 - dev: true - /@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.24.5): resolution: {integrity: sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==} peerDependencies: @@ -1783,15 +1610,6 @@ packages: '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.24.4): - resolution: {integrity: sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.24.4 - '@babel/helper-plugin-utils': 7.24.0 - dev: true - /@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.24.5): resolution: {integrity: sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==} peerDependencies: @@ -1811,16 +1629,6 @@ packages: '@babel/helper-plugin-utils': 7.24.5 dev: true - /@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.24.4): - resolution: {integrity: sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.24.4 - '@babel/helper-plugin-utils': 7.24.0 - dev: true - /@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.24.5): resolution: {integrity: sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==} engines: {node: '>=6.9.0'} @@ -1831,13 +1639,13 @@ packages: '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-syntax-typescript@7.24.1(@babel/core@7.24.4): + /@babel/plugin-syntax-typescript@7.24.1(@babel/core@7.24.5): resolution: {integrity: sha512-Yhnmvy5HZEnHUty6i++gcfH1/l68AHnItFHnaCv6hn9dNh0hQvvQJsxpi4BMBFN5DLeHBuucT/0DgzXif/OyRw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.4 + '@babel/core': 7.24.5 '@babel/helper-plugin-utils': 7.24.0 dev: true @@ -2098,18 +1906,6 @@ packages: '@babel/helper-plugin-utils': 7.24.5 dev: true - /@babel/plugin-transform-modules-commonjs@7.24.1(@babel/core@7.24.4): - resolution: {integrity: sha512-szog8fFTUxBfw0b98gEWPaEqF42ZUD/T3bkynW/wtgx2p/XCP55WEsb+VosKceRSd6njipdZvNogqdtI4Q0chw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.24.4 - '@babel/helper-module-transforms': 7.23.3(@babel/core@7.24.4) - '@babel/helper-plugin-utils': 7.24.0 - '@babel/helper-simple-access': 7.22.5 - dev: true - /@babel/plugin-transform-modules-commonjs@7.24.1(@babel/core@7.24.5): resolution: {integrity: sha512-szog8fFTUxBfw0b98gEWPaEqF42ZUD/T3bkynW/wtgx2p/XCP55WEsb+VosKceRSd6njipdZvNogqdtI4Q0chw==} engines: {node: '>=6.9.0'} @@ -2117,7 +1913,7 @@ packages: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.24.5 - '@babel/helper-module-transforms': 7.23.3(@babel/core@7.24.5) + '@babel/helper-module-transforms': 7.24.5(@babel/core@7.24.5) '@babel/helper-plugin-utils': 7.24.0 '@babel/helper-simple-access': 7.22.5 dev: true @@ -2352,17 +2148,17 @@ packages: '@babel/helper-plugin-utils': 7.24.5 dev: true - /@babel/plugin-transform-typescript@7.24.4(@babel/core@7.24.4): + /@babel/plugin-transform-typescript@7.24.4(@babel/core@7.24.5): resolution: {integrity: sha512-79t3CQ8+oBGk/80SQ8MN3Bs3obf83zJ0YZjDmDaEZN8MqhMI760apl5z6a20kFeMXBwJX99VpKT8CKxEBp5H1g==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.4 + '@babel/core': 7.24.5 '@babel/helper-annotate-as-pure': 7.22.5 - '@babel/helper-create-class-features-plugin': 7.24.4(@babel/core@7.24.4) + '@babel/helper-create-class-features-plugin': 7.24.4(@babel/core@7.24.5) '@babel/helper-plugin-utils': 7.24.0 - '@babel/plugin-syntax-typescript': 7.24.1(@babel/core@7.24.4) + '@babel/plugin-syntax-typescript': 7.24.1(@babel/core@7.24.5) dev: true /@babel/plugin-transform-unicode-escapes@7.24.1(@babel/core@7.24.5): @@ -2511,18 +2307,18 @@ packages: esutils: 2.0.3 dev: true - /@babel/preset-typescript@7.24.1(@babel/core@7.24.4): + /@babel/preset-typescript@7.24.1(@babel/core@7.24.5): resolution: {integrity: sha512-1DBaMmRDpuYQBPWD8Pf/WEwCrtgRHxsZnP4mIy9G/X+hFfbI47Q2G4t1Paakld84+qsk2fSsUPMKg71jkoOOaQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.4 + '@babel/core': 7.24.5 '@babel/helper-plugin-utils': 7.24.0 '@babel/helper-validator-option': 7.23.5 - '@babel/plugin-syntax-jsx': 7.24.1(@babel/core@7.24.4) - '@babel/plugin-transform-modules-commonjs': 7.24.1(@babel/core@7.24.4) - '@babel/plugin-transform-typescript': 7.24.4(@babel/core@7.24.4) + '@babel/plugin-syntax-jsx': 7.24.1(@babel/core@7.24.5) + '@babel/plugin-transform-modules-commonjs': 7.24.1(@babel/core@7.24.5) + '@babel/plugin-transform-typescript': 7.24.4(@babel/core@7.24.5) dev: true /@babel/regjsgen@0.8.0: @@ -2559,24 +2355,6 @@ packages: '@babel/types': 7.24.5 dev: true - /@babel/traverse@7.24.1: - resolution: {integrity: sha512-xuU6o9m68KeqZbQuDt2TcKSxUw/mrsvavlEqQ1leZ/B+C9tk6E4sRWy97WaXgvq5E+nU3cXMxv3WKOCanVMCmQ==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/code-frame': 7.24.2 - '@babel/generator': 7.24.4 - '@babel/helper-environment-visitor': 7.22.20 - '@babel/helper-function-name': 7.23.0 - '@babel/helper-hoist-variables': 7.22.5 - '@babel/helper-split-export-declaration': 7.22.6 - '@babel/parser': 7.24.5 - '@babel/types': 7.24.5 - debug: 4.3.4(supports-color@8.1.1) - globals: 11.12.0 - transitivePeerDependencies: - - supports-color - dev: true - /@babel/traverse@7.24.5: resolution: {integrity: sha512-7aaBLeDQ4zYcUFDUD41lJc1fG8+5IU9DaNSJAgal866FGvmD5EbWQgnEC6kO1gGLsX0esNkfnJSndbTXA3r7UA==} engines: {node: '>=6.9.0'} @@ -2971,8 +2749,8 @@ packages: engines: {node: '>=18'} dev: true - /@cypress/code-coverage@3.12.38(@babel/core@7.24.5)(@babel/preset-env@7.24.5)(babel-loader@9.1.3)(cypress@13.7.3)(webpack@5.91.0): - resolution: {integrity: sha512-1jYHxAeweMBD5hvrHdzpwmS0yHQ/AKHC1BsoAgYtvYYRe/aOkAeWUwy3CaOTQzyVOMa+cWFElPYYusf1WiW85A==} + /@cypress/code-coverage@3.12.39(@babel/core@7.24.5)(@babel/preset-env@7.24.5)(babel-loader@9.1.3)(cypress@13.7.3)(webpack@5.91.0): + resolution: {integrity: sha512-ja7I/GRmkSAW9e3O7pideWcNUEHao0WT6sRyXQEURoxkJUASJssJ7Kb/bd3eMYmkUCiD5CRFqWR5BGF4mWVaUw==} peerDependencies: '@babel/core': ^7.0.1 '@babel/preset-env': ^7.0.0 @@ -3717,7 +3495,7 @@ packages: engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@jest/types': 29.6.3 - '@types/node': 20.12.7 + '@types/node': 20.12.10 chalk: 4.1.2 jest-message-util: 29.7.0 jest-util: 29.7.0 @@ -3738,14 +3516,14 @@ packages: '@jest/test-result': 29.7.0 '@jest/transform': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 20.12.7 + '@types/node': 20.12.10 ansi-escapes: 4.3.2 chalk: 4.1.2 ci-info: 3.9.0 exit: 0.1.2 graceful-fs: 4.2.11 jest-changed-files: 29.7.0 - jest-config: 29.7.0(@types/node@20.12.7) + jest-config: 29.7.0(@types/node@20.12.10) jest-haste-map: 29.7.0 jest-message-util: 29.7.0 jest-regex-util: 29.6.3 @@ -3773,7 +3551,7 @@ packages: dependencies: '@jest/fake-timers': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 20.12.7 + '@types/node': 20.12.10 jest-mock: 29.7.0 dev: true @@ -3800,7 +3578,7 @@ packages: dependencies: '@jest/types': 29.6.3 '@sinonjs/fake-timers': 10.3.0 - '@types/node': 20.12.7 + '@types/node': 20.12.10 jest-message-util: 29.7.0 jest-mock: 29.7.0 jest-util: 29.7.0 @@ -3833,7 +3611,7 @@ packages: '@jest/transform': 29.7.0 '@jest/types': 29.6.3 '@jridgewell/trace-mapping': 0.3.25 - '@types/node': 20.12.7 + '@types/node': 20.12.10 chalk: 4.1.2 collect-v8-coverage: 1.0.2 exit: 0.1.2 @@ -3895,7 +3673,7 @@ packages: resolution: {integrity: sha512-ok/BTPFzFKVMwO5eOHRrvnBVHdRy9IrsrW1GpMaQ9MCnilNLXQKmAX8s1YXDFaai9xJpac2ySzV0YeRRECr2Vw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@babel/core': 7.24.4 + '@babel/core': 7.24.5 '@jest/types': 29.6.3 '@jridgewell/trace-mapping': 0.3.25 babel-plugin-istanbul: 6.1.1 @@ -3921,7 +3699,7 @@ packages: '@jest/schemas': 29.6.3 '@types/istanbul-lib-coverage': 2.0.6 '@types/istanbul-reports': 3.0.4 - '@types/node': 20.12.7 + '@types/node': 20.12.10 '@types/yargs': 17.0.32 chalk: 4.1.2 dev: true @@ -4370,13 +4148,13 @@ packages: resolution: {integrity: sha512-fB3Zu92ucau0iQ0JMCFQE7b/dv8Ot07NI3KaZIkIUNXq82k4eBAqUaneXfleGY9JWskeS9y+u0nXMyspcuQrCg==} dependencies: '@types/connect': 3.4.38 - '@types/node': 20.12.7 + '@types/node': 20.12.10 dev: true /@types/bonjour@3.5.10: resolution: {integrity: sha512-p7ienRMiS41Nu2/igbJxxLDWrSZ0WxM8UQgCeO9KhoVF7cOVFkrKsiDr1EsJIla8vV3oEEjGcz11jc5yimhzZw==} dependencies: - '@types/node': 20.12.7 + '@types/node': 20.12.10 dev: true /@types/braces@3.0.4: @@ -4388,7 +4166,7 @@ packages: dependencies: '@types/http-cache-semantics': 4.0.4 '@types/keyv': 3.1.4 - '@types/node': 20.12.7 + '@types/node': 20.12.10 '@types/responselike': 1.0.3 dev: true @@ -4396,19 +4174,19 @@ packages: resolution: {integrity: sha512-4x5FkPpLipqwthjPsF7ZRbOv3uoLUFkTA9G9v583qi4pACvq0uTELrB8OLUzPWUI4IJIyvM85vzkV1nyiI2Lig==} dependencies: '@types/express-serve-static-core': 4.17.43 - '@types/node': 20.12.7 + '@types/node': 20.12.10 dev: true /@types/connect@3.4.38: resolution: {integrity: sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==} dependencies: - '@types/node': 20.12.7 + '@types/node': 20.12.10 dev: true /@types/cors@2.8.17: resolution: {integrity: sha512-8CGDvrBj1zgo2qE+oS3pOCyYNqCPryMWY2bGfwA0dcfopWGgxs+78df0Rs3rc9THP4JkOhLsAa+15VdpAqkcUA==} dependencies: - '@types/node': 20.12.7 + '@types/node': 20.12.10 dev: true /@types/cytoscape@3.21.0: @@ -4646,7 +4424,7 @@ packages: /@types/express-serve-static-core@4.17.43: resolution: {integrity: sha512-oaYtiBirUOPQGSWNGPWnzyAFJ0BP3cwvN4oWZQY+zUBwpVIGsKUkpBpSztp74drYcjavs7SKFZ4DX1V2QeN8rg==} dependencies: - '@types/node': 20.12.7 + '@types/node': 20.12.10 '@types/qs': 6.9.12 '@types/range-parser': 1.2.7 '@types/send': 0.17.4 @@ -4673,20 +4451,20 @@ packages: resolution: {integrity: sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA==} dependencies: '@types/minimatch': 5.1.2 - '@types/node': 20.12.7 + '@types/node': 20.12.10 dev: true /@types/glob@8.1.0: resolution: {integrity: sha512-IO+MJPVhoqz+28h1qLAcBEH2+xHMK6MTyHJc7MTnnYb6wsoLR29POVGJ7LycmVXIqyy/4/2ShP5sUwTXuOwb/w==} dependencies: '@types/minimatch': 5.1.2 - '@types/node': 20.12.7 + '@types/node': 20.12.10 dev: true /@types/graceful-fs@4.1.9: resolution: {integrity: sha512-olP3sd1qOEe5dXTSaFvQG+02VdRXcdytWLAZsAq1PecU8uqQAhkrnbli7DagjtXKW/Bl7YJbUsa8MPcuc8LHEQ==} dependencies: - '@types/node': 20.12.7 + '@types/node': 20.12.10 dev: true /@types/http-cache-semantics@4.0.4: @@ -4700,7 +4478,7 @@ packages: /@types/http-proxy@1.17.11: resolution: {integrity: sha512-HC8G7c1WmaF2ekqpnFq626xd3Zz0uvaqFmBJNRZCGEZCXkvSdJoNFn/8Ygbd9fKNQj8UzLdCETaI0UWPAjK7IA==} dependencies: - '@types/node': 20.12.7 + '@types/node': 20.12.10 dev: true /@types/istanbul-lib-coverage@2.0.6: @@ -4742,7 +4520,7 @@ packages: /@types/keyv@3.1.4: resolution: {integrity: sha512-BQ5aZNSCpj7D6K2ksrRCTmKRLEpnPvWDiLPfoGyhZ++8YtiK9d/3DBKPJgry359X/P1PfruyYwvnvwFjuEiEIg==} dependencies: - '@types/node': 20.12.7 + '@types/node': 20.12.10 dev: true /@types/linkify-it@3.0.5: @@ -4763,6 +4541,10 @@ packages: resolution: {integrity: sha512-t7dhREVv6dbNj0q17X12j7yDG4bD/DHYX7o5/DbDxobP0HnGPgpRz2Ej77aL7TZT3DSw13fqUTj8J4mMnqa7WA==} dev: true + /@types/lodash@4.17.1: + resolution: {integrity: sha512-X+2qazGS3jxLAIz5JDXDzglAF3KpijdhFxlf/V1+hEsOUc+HnWi81L/uv/EvGuV90WY+7mPGFCUDGfQC3Gj95Q==} + dev: true + /@types/markdown-it@12.2.3: resolution: {integrity: sha512-GKMHFfv3458yYy+v/N8gjufHO6MSZKCOXpZc5GXIWWy8uldwfmPn98vp81gZ5f9SVw8YYBctgfJ22a2d7AOMeQ==} dependencies: @@ -4770,13 +4552,6 @@ packages: '@types/mdurl': 2.0.0 dev: true - /@types/markdown-it@13.0.8: - resolution: {integrity: sha512-V+KmpgiipS+zoypeUSS9ojesWtY/0k4XfqcK2fnVrX/qInJhX7rsCxZ/rygiPH2zxlPPrhfuW0I6ddMcWTKLsg==} - dependencies: - '@types/linkify-it': 3.0.5 - '@types/mdurl': 1.0.5 - dev: true - /@types/markdown-it@14.0.1: resolution: {integrity: sha512-6WfOG3jXR78DW8L5cTYCVVGAsIFZskRHCDo5tbqa+qtKVt4oDRVH7hyIWu1SpDQJlmIoEivNQZ5h+AGAOrgOtQ==} dependencies: @@ -4824,8 +4599,8 @@ packages: /@types/ms@0.7.34: resolution: {integrity: sha512-nG96G3Wp6acyAgJqGasjODb+acrI7KltPiRxzHPXnP3NgI28bpQDRv53olbqGXbfcgF5aiiHmO3xpwEpS5Ld9g==} - /@types/node@18.19.31: - resolution: {integrity: sha512-ArgCD39YpyyrtFKIqMDvjz79jto5fcI/SVUs2HwB+f0dAzq68yqOdyaSivLiLugSziTpNXLQrVb7RZFmdZzbhA==} + /@types/node@18.19.32: + resolution: {integrity: sha512-2bkg93YBSDKk8DLmmHnmj/Rwr18TLx7/n+I23BigFwgexUJoMHZOd8X1OFxuF/W3NN0S2W2E5sVabI5CPinNvA==} dependencies: undici-types: 5.26.5 dev: true @@ -4836,8 +4611,8 @@ packages: undici-types: 5.26.5 dev: true - /@types/node@20.12.7: - resolution: {integrity: sha512-wq0cICSkRLVaf3UGLMGItu/PtdY7oaXaI/RVU+xliKVOtRna3PRY57ZDfztpDL0n11vfymMUnXv8QwYCO7L1wg==} + /@types/node@20.12.10: + resolution: {integrity: sha512-Eem5pH9pmWBHoGAT8Dr5fdc5rYA+4NAovdM4EktRPVAAiJhmWWfQrA0cFhAbOsQdSfIHjAud6YdkbL69+zSKjw==} dependencies: undici-types: 5.26.5 dev: true @@ -4878,7 +4653,7 @@ packages: /@types/responselike@1.0.3: resolution: {integrity: sha512-H/+L+UkTV33uf49PH5pCAUBVPNj2nDBXTN+qS1dOwyyg24l3CcicicCA7ca+HMvJBZcFgl5r8e+RR6elsb4Lyw==} dependencies: - '@types/node': 20.12.7 + '@types/node': 20.12.10 dev: true /@types/retry@0.12.0: @@ -4899,7 +4674,7 @@ packages: resolution: {integrity: sha512-x2EM6TJOybec7c52BX0ZspPodMsQUd5L6PRwOunVyVUhXiBSKf3AezDL8Dgvgt5o0UfKNfuA0eMLr2wLT4AiBA==} dependencies: '@types/mime': 1.3.5 - '@types/node': 20.12.7 + '@types/node': 20.12.10 dev: true /@types/serve-index@1.9.1: @@ -4913,7 +4688,7 @@ packages: dependencies: '@types/http-errors': 2.0.4 '@types/mime': 3.0.4 - '@types/node': 20.12.7 + '@types/node': 20.12.10 dev: true /@types/sinonjs__fake-timers@8.1.1: @@ -4927,15 +4702,15 @@ packages: /@types/sockjs@0.3.33: resolution: {integrity: sha512-f0KEEe05NvUnat+boPTZ0dgaLZ4SfSouXUgv5noUiefG2ajgKjmETo9ZJyuqsl7dfl2aHlLJUiki6B4ZYldiiw==} dependencies: - '@types/node': 20.12.7 + '@types/node': 20.12.10 dev: true /@types/stack-utils@2.0.3: resolution: {integrity: sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw==} dev: true - /@types/stylis@4.2.5: - resolution: {integrity: sha512-1Xve+NMN7FWjY14vLoY5tL3BVEQ/n42YLwaqJIPYhotZ9uBHt87VceMwWQpzmdEt2TNXIorIFG+YeCUUW7RInw==} + /@types/stylis@4.2.6: + resolution: {integrity: sha512-4nebF2ZJGzQk0ka0O6+FZUWceyFv4vWq/0dXBMmrSeAwzOuOd/GxE5Pa64d/ndeNLG73dXoBsRzvtsVsYUv6Uw==} dev: true /@types/tough-cookie@4.0.5: @@ -4966,7 +4741,7 @@ packages: /@types/ws@8.5.5: resolution: {integrity: sha512-lwhs8hktwxSjf9UaZ9tG5M03PGogvFaH8gUgLNbN9HKIg0dvv6q+gkSuJ8HN4/VbyxkuLzCjlN7GquQ0gUJfIg==} dependencies: - '@types/node': 20.12.7 + '@types/node': 20.12.10 dev: true /@types/yargs-parser@21.0.3: @@ -4983,7 +4758,7 @@ packages: resolution: {integrity: sha512-oJoftv0LSuaDZE3Le4DbKX+KS9G36NzOeSap90UIK0yMA/NhKJhqlSGtNDORNRaIbQfzjXDrQa0ytJ6mNRGz/Q==} requiresBuild: true dependencies: - '@types/node': 20.12.7 + '@types/node': 20.12.10 dev: true optional: true @@ -5097,7 +4872,7 @@ packages: debug: 4.3.4(supports-color@8.1.1) globby: 11.1.0 is-glob: 4.0.3 - semver: 7.6.0 + semver: 7.6.1 tsutils: 3.21.0(typescript@5.4.5) typescript: 5.4.5 transitivePeerDependencies: @@ -5140,7 +4915,7 @@ packages: '@typescript-eslint/typescript-estree': 5.62.0(typescript@5.4.5) eslint: 8.57.0 eslint-scope: 5.1.1 - semver: 7.6.0 + semver: 7.6.1 transitivePeerDependencies: - supports-color - typescript @@ -5185,7 +4960,7 @@ packages: resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==} dev: true - /@unocss/astro@0.59.4(rollup@2.79.1)(vite@5.2.10): + /@unocss/astro@0.59.4(rollup@2.79.1)(vite@5.2.11): resolution: {integrity: sha512-DU3OR5MMR1Uvvec4/wB9EetDASHRg19Moy6z/MiIhn8JWJ0QzWYgSeJcfUX8exomMYv6WUEQJL+CyLI34Wmn8w==} peerDependencies: vite: ^2.9.0 || ^3.0.0-0 || ^4.0.0 || ^5.0.0-0 @@ -5195,8 +4970,8 @@ packages: dependencies: '@unocss/core': 0.59.4 '@unocss/reset': 0.59.4 - '@unocss/vite': 0.59.4(rollup@2.79.1)(vite@5.2.10) - vite: 5.2.10(@types/node@20.12.7) + '@unocss/vite': 0.59.4(rollup@2.79.1)(vite@5.2.11) + vite: 5.2.11(@types/node@20.12.10) transitivePeerDependencies: - rollup dev: true @@ -5345,9 +5120,9 @@ packages: /@unocss/transformer-attributify-jsx-babel@0.59.4: resolution: {integrity: sha512-xtCRSgeTaDBiNJLVX7oOSFe63JiFB5nrdK23PHn3IlZM9O7Bxx4ZxI3MQJtFZFQNE+INFko+DVyY1WiFEm1p/Q==} dependencies: - '@babel/core': 7.24.4 - '@babel/plugin-syntax-jsx': 7.24.1(@babel/core@7.24.4) - '@babel/preset-typescript': 7.24.1(@babel/core@7.24.4) + '@babel/core': 7.24.5 + '@babel/plugin-syntax-jsx': 7.24.1(@babel/core@7.24.5) + '@babel/preset-typescript': 7.24.1(@babel/core@7.24.5) '@unocss/core': 0.59.4 transitivePeerDependencies: - supports-color @@ -5379,7 +5154,7 @@ packages: '@unocss/core': 0.59.4 dev: true - /@unocss/vite@0.59.4(rollup@2.79.1)(vite@5.2.10): + /@unocss/vite@0.59.4(rollup@2.79.1)(vite@5.2.11): resolution: {integrity: sha512-q7GN7vkQYn79n7vYIUlaa7gXGwc7pk0Qo3z3ZFwWGE43/DtZnn2Hwl5UjgBAgi9McA+xqHJEHRsJnI7HJPHUYA==} peerDependencies: vite: ^2.9.0 || ^3.0.0-0 || ^4.0.0 || ^5.0.0-0 @@ -5394,7 +5169,7 @@ packages: chokidar: 3.6.0 fast-glob: 3.3.2 magic-string: 0.30.10 - vite: 5.2.10(@types/node@20.12.7) + vite: 5.2.11(@types/node@20.12.10) transitivePeerDependencies: - rollup dev: true @@ -5408,7 +5183,7 @@ packages: '@vite-pwa/assets-generator': optional: true dependencies: - vite-plugin-pwa: 0.19.8(vite@5.2.10)(workbox-build@7.1.0)(workbox-window@7.0.0) + vite-plugin-pwa: 0.19.8(vite@5.2.11)(workbox-build@7.1.0)(workbox-window@7.0.0) dev: true /@vitejs/plugin-vue@5.0.4(vite@5.2.10)(vue@3.4.26): @@ -5418,10 +5193,21 @@ packages: vite: ^5.0.0 vue: ^3.2.25 dependencies: - vite: 5.2.10(@types/node@20.12.7) + vite: 5.2.10(@types/node@20.12.10) vue: 3.4.26(typescript@5.4.5) dev: true + /@vitejs/plugin-vue@5.0.4(vite@5.2.11)(vue@3.4.27): + resolution: {integrity: sha512-WS3hevEszI6CEVEx28F8RjTX97k3KsrcY6kvTg7+Whm5y3oYvcqzVeGCU3hxSAn4uY2CLCkeokkGKpoctccilQ==} + engines: {node: ^18.0.0 || >=20.0.0} + peerDependencies: + vite: ^5.0.0 + vue: ^3.2.25 + dependencies: + vite: 5.2.11(@types/node@20.12.10) + vue: 3.4.27(typescript@5.4.5) + dev: true + /@vitest/coverage-v8@1.5.3(vitest@1.5.3): resolution: {integrity: sha512-DPyGSu/fPHOJuPxzFSQoT4N/Fu/2aJfZRtEpEp8GI7NHsXBGE94CQ+pbEGBUMFjatsHPDJw/+TAF9r4ens2CNw==} peerDependencies: @@ -5440,7 +5226,7 @@ packages: std-env: 3.7.0 strip-literal: 2.1.0 test-exclude: 6.0.0 - vitest: 1.5.3(@types/node@20.12.7)(@vitest/ui@1.5.3)(jsdom@24.0.0) + vitest: 1.5.3(@types/node@20.12.10)(@vitest/ui@1.5.3)(jsdom@24.0.0) transitivePeerDependencies: - supports-color dev: true @@ -5487,7 +5273,7 @@ packages: pathe: 1.1.2 picocolors: 1.0.0 sirv: 2.0.4 - vitest: 1.5.3(@types/node@20.12.7)(@vitest/ui@1.5.3)(jsdom@24.0.0) + vitest: 1.5.3(@types/node@20.12.10)(@vitest/ui@1.5.3)(jsdom@24.0.0) dev: true /@vitest/utils@1.5.3: @@ -5528,6 +5314,16 @@ packages: entities: 4.5.0 estree-walker: 2.0.2 source-map-js: 1.2.0 + dev: true + + /@vue/compiler-core@3.4.27: + resolution: {integrity: sha512-E+RyqY24KnyDXsCuQrI+mlcdW3ALND6U7Gqa/+bVwbcpcR3BRRIckFoz7Qyd4TTlnugtwuI7YgjbvsLmxb+yvg==} + dependencies: + '@babel/parser': 7.24.5 + '@vue/shared': 3.4.27 + entities: 4.5.0 + estree-walker: 2.0.2 + source-map-js: 1.2.0 /@vue/compiler-dom@3.4.21: resolution: {integrity: sha512-IZC6FKowtT1sl0CR5DpXSiEB5ayw75oT2bma1BEhV7RRR1+cfwLrxc2Z8Zq/RGFzJ8w5r9QtCOvTjQgdn0IKmA==} @@ -5541,6 +5337,13 @@ packages: dependencies: '@vue/compiler-core': 3.4.26 '@vue/shared': 3.4.26 + dev: true + + /@vue/compiler-dom@3.4.27: + resolution: {integrity: sha512-kUTvochG/oVgE1w5ViSr3KUBh9X7CWirebA3bezTbB5ZKBQZwR2Mwj9uoSKRMFcz4gSMzzLXBPD6KpCLb9nvWw==} + dependencies: + '@vue/compiler-core': 3.4.27 + '@vue/shared': 3.4.27 /@vue/compiler-sfc@3.4.21: resolution: {integrity: sha512-me7epoTxYlY+2CUM7hy9PCDdpMPfIwrOvAXud2Upk10g4YLv9UBW7kL798TvMeDhPthkZ0CONNrK2GoeI1ODiQ==} @@ -5568,6 +5371,20 @@ packages: magic-string: 0.30.10 postcss: 8.4.38 source-map-js: 1.2.0 + dev: true + + /@vue/compiler-sfc@3.4.27: + resolution: {integrity: sha512-nDwntUEADssW8e0rrmE0+OrONwmRlegDA1pD6QhVeXxjIytV03yDqTey9SBDiALsvAd5U4ZrEKbMyVXhX6mCGA==} + dependencies: + '@babel/parser': 7.24.5 + '@vue/compiler-core': 3.4.27 + '@vue/compiler-dom': 3.4.27 + '@vue/compiler-ssr': 3.4.27 + '@vue/shared': 3.4.27 + estree-walker: 2.0.2 + magic-string: 0.30.10 + postcss: 8.4.38 + source-map-js: 1.2.0 /@vue/compiler-ssr@3.4.21: resolution: {integrity: sha512-M5+9nI2lPpAsgXOGQobnIueVqc9sisBFexh5yMIMRAPYLa7+5wEJs8iqOZc1WAa9WQbx9GR2twgznU8LTIiZ4Q==} @@ -5581,6 +5398,13 @@ packages: dependencies: '@vue/compiler-dom': 3.4.26 '@vue/shared': 3.4.26 + dev: true + + /@vue/compiler-ssr@3.4.27: + resolution: {integrity: sha512-CVRzSJIltzMG5FcidsW0jKNQnNRYC8bT21VegyMMtHmhW3UOI7knmUehzswXLrExDLE6lQCZdrhD4ogI7c+vuw==} + dependencies: + '@vue/compiler-dom': 3.4.27 + '@vue/shared': 3.4.27 /@vue/devtools-api@6.6.1: resolution: {integrity: sha512-LgPscpE3Vs0x96PzSSB4IGVSZXZBZHpfxs+ZA1d+VEPwHdOXowy/Y2CsvCAIFrf+ssVU1pD1jidj505EpUnfbA==} @@ -5623,6 +5447,12 @@ packages: resolution: {integrity: sha512-E/ynEAu/pw0yotJeLdvZEsp5Olmxt+9/WqzvKff0gE67tw73gmbx6tRkiagE/eH0UCubzSlGRebCbidB1CpqZQ==} dependencies: '@vue/shared': 3.4.26 + dev: true + + /@vue/reactivity@3.4.27: + resolution: {integrity: sha512-kK0g4NknW6JX2yySLpsm2jlunZJl2/RJGZ0H9ddHdfBVHcNzxmQ0sS0b09ipmBoQpY8JM2KmUw+a6sO8Zo+zIA==} + dependencies: + '@vue/shared': 3.4.27 /@vue/runtime-core@3.4.21: resolution: {integrity: sha512-pQthsuYzE1XcGZznTKn73G0s14eCJcjaLvp3/DKeYWoFacD9glJoqlNBxt3W2c5S40t6CCcpPf+jG01N3ULyrA==} @@ -5636,6 +5466,13 @@ packages: dependencies: '@vue/reactivity': 3.4.26 '@vue/shared': 3.4.26 + dev: true + + /@vue/runtime-core@3.4.27: + resolution: {integrity: sha512-7aYA9GEbOOdviqVvcuweTLe5Za4qBZkUY7SvET6vE8kyypxVgaT1ixHLg4urtOlrApdgcdgHoTZCUuTGap/5WA==} + dependencies: + '@vue/reactivity': 3.4.27 + '@vue/shared': 3.4.27 /@vue/runtime-dom@3.4.21: resolution: {integrity: sha512-gvf+C9cFpevsQxbkRBS1NpU8CqxKw0ebqMvLwcGQrNpx6gqRDodqKqA+A2VZZpQ9RpK2f9yfg8VbW/EpdFUOJw==} @@ -5651,6 +5488,14 @@ packages: '@vue/runtime-core': 3.4.26 '@vue/shared': 3.4.26 csstype: 3.1.3 + dev: true + + /@vue/runtime-dom@3.4.27: + resolution: {integrity: sha512-ScOmP70/3NPM+TW9hvVAz6VWWtZJqkbdf7w6ySsws+EsqtHvkhxaWLecrTorFxsawelM5Ys9FnDEMt6BPBDS0Q==} + dependencies: + '@vue/runtime-core': 3.4.27 + '@vue/shared': 3.4.27 + csstype: 3.1.3 /@vue/server-renderer@3.4.21(vue@3.4.21): resolution: {integrity: sha512-aV1gXyKSN6Rz+6kZ6kr5+Ll14YzmIbeuWe7ryJl5muJ4uwSwY/aStXTixx76TwkZFJLm1aAlA/HSWEJ4EyiMkg==} @@ -5670,6 +5515,16 @@ packages: '@vue/compiler-ssr': 3.4.26 '@vue/shared': 3.4.26 vue: 3.4.26(typescript@5.4.5) + dev: true + + /@vue/server-renderer@3.4.27(vue@3.4.27): + resolution: {integrity: sha512-dlAMEuvmeA3rJsOMJ2J1kXU7o7pOxgsNHVr9K8hB3ImIkSuBrIdy0vF66h8gf8Tuinf1TK3mPAz2+2sqyf3KzA==} + peerDependencies: + vue: 3.4.27 + dependencies: + '@vue/compiler-ssr': 3.4.27 + '@vue/shared': 3.4.27 + vue: 3.4.27(typescript@5.4.5) /@vue/shared@3.4.21: resolution: {integrity: sha512-PuJe7vDIi6VYSinuEbUIQgMIRZGgM8e4R+G+/dQTk0X1NEdvgvvgv7m+rfmDH1gZzyA1OjjoWskvHlfRNfQf3g==} @@ -5677,6 +5532,10 @@ packages: /@vue/shared@3.4.26: resolution: {integrity: sha512-Fg4zwR0GNnjzodMt3KRy2AWGMKQXByl56+4HjN87soxLNU9P5xcJkstAlIeEF3cU6UYOzmJl1tV0dVPGIljCnQ==} + dev: true + + /@vue/shared@3.4.27: + resolution: {integrity: sha512-DL3NmY2OFlqmYYrzp39yi3LDkKxa5vZVwxWdQ3rG0ekuWscHraeIbnI8t+aZK7qhYqEqWKTUdijadunb9pnrgA==} /@vueuse/core@10.9.0(vue@3.4.26): resolution: {integrity: sha512-/1vjTol8SXnx6xewDEKfS0Ra//ncg4Hb0DaZiwKf7drgfMsKFExQ+FnnENcN6efPen+1kIzhLQoGSy0eDUVOMg==} @@ -5688,6 +5547,19 @@ packages: transitivePeerDependencies: - '@vue/composition-api' - vue + dev: true + + /@vueuse/core@10.9.0(vue@3.4.27): + resolution: {integrity: sha512-/1vjTol8SXnx6xewDEKfS0Ra//ncg4Hb0DaZiwKf7drgfMsKFExQ+FnnENcN6efPen+1kIzhLQoGSy0eDUVOMg==} + dependencies: + '@types/web-bluetooth': 0.0.20 + '@vueuse/metadata': 10.9.0 + '@vueuse/shared': 10.9.0(vue@3.4.27) + vue-demi: 0.14.7(vue@3.4.27) + transitivePeerDependencies: + - '@vue/composition-api' + - vue + dev: false /@vueuse/integrations@10.9.0(focus-trap@7.5.4)(vue@3.4.26): resolution: {integrity: sha512-acK+A01AYdWSvL4BZmCoJAcyHJ6EqhmkQEXbQLwev1MY7NBnS+hcEMx/BzVoR9zKI+UqEPMD9u6PsyAuiTRT4Q==} @@ -5749,6 +5621,16 @@ packages: transitivePeerDependencies: - '@vue/composition-api' - vue + dev: true + + /@vueuse/shared@10.9.0(vue@3.4.27): + resolution: {integrity: sha512-Uud2IWncmAfJvRaFYzv5OHDli+FbOzxiVEQdLCKQKLyhz94PIyFC3CHcH7EDMwIn8NPtD06+PNbC/PiO0LGLtw==} + dependencies: + vue-demi: 0.14.7(vue@3.4.27) + transitivePeerDependencies: + - '@vue/composition-api' + - vue + dev: false /@wdio/config@7.31.1(typescript@5.4.5): resolution: {integrity: sha512-WAfswbCatwiaDVqy6kfF/5T8/WS/US/SRhBGUFrfBuGMIe+RRoHgy7jURFWSvUIE7CNHj8yvs46fLUcxhXjzcQ==} @@ -5788,7 +5670,7 @@ packages: typescript: optional: true dependencies: - '@types/node': 18.19.31 + '@types/node': 18.19.32 got: 11.8.6 typescript: 5.4.5 dev: true @@ -6404,17 +6286,17 @@ packages: - debug dev: true - /babel-jest@29.7.0(@babel/core@7.24.4): + /babel-jest@29.7.0(@babel/core@7.24.5): resolution: {integrity: sha512-BrvGY3xZSwEcCzKvKsCi2GgHqDqsYkOP4/by5xCgIwGXQxIEh+8ew3gmrE1y7XRR6LHZIj6yLYnUi/mm2KXKBg==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} peerDependencies: '@babel/core': ^7.8.0 dependencies: - '@babel/core': 7.24.4 + '@babel/core': 7.24.5 '@jest/transform': 29.7.0 '@types/babel__core': 7.20.5 babel-plugin-istanbul: 6.1.1 - babel-preset-jest: 29.6.3(@babel/core@7.24.4) + babel-preset-jest: 29.6.3(@babel/core@7.24.5) chalk: 4.1.2 graceful-fs: 4.2.11 slash: 3.0.0 @@ -6494,35 +6376,35 @@ packages: - supports-color dev: true - /babel-preset-current-node-syntax@1.0.1(@babel/core@7.24.4): + /babel-preset-current-node-syntax@1.0.1(@babel/core@7.24.5): resolution: {integrity: sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.24.4 - '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.24.4) - '@babel/plugin-syntax-bigint': 7.8.3(@babel/core@7.24.4) - '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.24.4) - '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.24.4) - '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.24.4) - '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.24.4) - '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.24.4) - '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.24.4) - '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.24.4) - '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.24.4) - '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.24.4) - '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.24.4) - dev: true - - /babel-preset-jest@29.6.3(@babel/core@7.24.4): + '@babel/core': 7.24.5 + '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.24.5) + '@babel/plugin-syntax-bigint': 7.8.3(@babel/core@7.24.5) + '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.24.5) + '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.24.5) + '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.24.5) + '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.24.5) + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.24.5) + '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.24.5) + '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.24.5) + '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.24.5) + '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.24.5) + '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.24.5) + dev: true + + /babel-preset-jest@29.6.3(@babel/core@7.24.5): resolution: {integrity: sha512-0B3bhxR6snWXJZtR/RliHTDPRgn1sNHOR0yVtq/IiQFyuOVjFS+wuio/R4gSNkyYmKmJB4wGZv2NZanmKmTnNA==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.24.4 + '@babel/core': 7.24.5 babel-plugin-jest-hoist: 29.6.3 - babel-preset-current-node-syntax: 1.0.1(@babel/core@7.24.4) + babel-preset-current-node-syntax: 1.0.1(@babel/core@7.24.5) dev: true /bail@2.0.2: @@ -7368,7 +7250,7 @@ packages: p-map: 6.0.0 dev: true - /create-jest@29.7.0(@types/node@20.12.7): + /create-jest@29.7.0(@types/node@20.12.10): resolution: {integrity: sha512-Adz2bdH0Vq3F53KEMJOoftQFutWCukm6J24wbPWRO4k1kMY7gS7ds/uoJkNuV8wDCtWWnuwGcJwpWcih+zEW1Q==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} hasBin: true @@ -7377,7 +7259,7 @@ packages: chalk: 4.1.2 exit: 0.1.2 graceful-fs: 4.2.11 - jest-config: 29.7.0(@types/node@20.12.7) + jest-config: 29.7.0(@types/node@20.12.10) jest-util: 29.7.0 prompts: 2.4.2 transitivePeerDependencies: @@ -8670,7 +8552,7 @@ packages: '@typescript-eslint/eslint-plugin': 7.6.0(@typescript-eslint/parser@7.6.0)(eslint@8.57.0)(typescript@5.4.5) '@typescript-eslint/utils': 5.62.0(eslint@8.57.0)(typescript@5.4.5) eslint: 8.57.0 - jest: 29.7.0(@types/node@20.12.7) + jest: 29.7.0(@types/node@20.12.10) transitivePeerDependencies: - supports-color - typescript @@ -10713,7 +10595,7 @@ packages: resolution: {integrity: sha512-BXgQl9kf4WTCPCCpmFGoJkz/+uhvm7h7PFKUYxh7qarQd3ER33vHG//qaE8eN25l07YqZPpHXU9I09l/RD5aGQ==} engines: {node: '>=8'} dependencies: - '@babel/core': 7.24.4 + '@babel/core': 7.24.5 '@istanbuljs/schema': 0.1.3 istanbul-lib-coverage: 3.2.0 semver: 6.3.1 @@ -10725,7 +10607,7 @@ packages: resolution: {integrity: sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==} engines: {node: '>=8'} dependencies: - '@babel/core': 7.24.4 + '@babel/core': 7.24.5 '@babel/parser': 7.24.5 '@istanbuljs/schema': 0.1.3 istanbul-lib-coverage: 3.2.2 @@ -10738,11 +10620,11 @@ packages: resolution: {integrity: sha512-1WUsZ9R1lA0HtBSohTkm39WTPlNKSJ5iFk7UwqXkBLoHQT+hfqPsfsTDVuZdKGaBwn7din9bS7SsnoAr943hvw==} engines: {node: '>=10'} dependencies: - '@babel/core': 7.24.4 + '@babel/core': 7.24.5 '@babel/parser': 7.24.5 '@istanbuljs/schema': 0.1.3 istanbul-lib-coverage: 3.2.2 - semver: 7.6.0 + semver: 7.6.1 transitivePeerDependencies: - supports-color dev: true @@ -10763,7 +10645,7 @@ packages: resolution: {integrity: sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==} engines: {node: '>=10'} dependencies: - istanbul-lib-coverage: 3.2.0 + istanbul-lib-coverage: 3.2.2 make-dir: 4.0.0 supports-color: 7.2.0 dev: true @@ -10850,7 +10732,7 @@ packages: '@jest/expect': 29.7.0 '@jest/test-result': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 20.12.7 + '@types/node': 20.12.10 chalk: 4.1.2 co: 4.6.0 dedent: 1.5.1 @@ -10871,7 +10753,7 @@ packages: - supports-color dev: true - /jest-cli@29.7.0(@types/node@20.12.7): + /jest-cli@29.7.0(@types/node@20.12.10): resolution: {integrity: sha512-OVVobw2IubN/GSYsxETi+gOe7Ka59EFMR/twOU3Jb2GnKKeMGJB5SGUUrEz3SFVmJASUdZUzy83sLNNQ2gZslg==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} hasBin: true @@ -10885,10 +10767,10 @@ packages: '@jest/test-result': 29.7.0 '@jest/types': 29.6.3 chalk: 4.1.2 - create-jest: 29.7.0(@types/node@20.12.7) + create-jest: 29.7.0(@types/node@20.12.10) exit: 0.1.2 import-local: 3.1.0 - jest-config: 29.7.0(@types/node@20.12.7) + jest-config: 29.7.0(@types/node@20.12.10) jest-util: 29.7.0 jest-validate: 29.7.0 yargs: 17.7.2 @@ -10899,7 +10781,7 @@ packages: - ts-node dev: true - /jest-config@29.7.0(@types/node@20.12.7): + /jest-config@29.7.0(@types/node@20.12.10): resolution: {integrity: sha512-uXbpfeQ7R6TZBqI3/TxCU4q4ttk3u0PJeC+E0zbfSoSjq6bJ7buBPxzQPL0ifrkY4DNu4JUdk0ImlBUYi840eQ==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} peerDependencies: @@ -10911,11 +10793,11 @@ packages: ts-node: optional: true dependencies: - '@babel/core': 7.24.4 + '@babel/core': 7.24.5 '@jest/test-sequencer': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 20.12.7 - babel-jest: 29.7.0(@babel/core@7.24.4) + '@types/node': 20.12.10 + babel-jest: 29.7.0(@babel/core@7.24.5) chalk: 4.1.2 ci-info: 3.9.0 deepmerge: 4.3.1 @@ -10974,7 +10856,7 @@ packages: '@jest/environment': 29.7.0 '@jest/fake-timers': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 20.12.7 + '@types/node': 20.12.10 jest-mock: 29.7.0 jest-util: 29.7.0 dev: true @@ -10990,7 +10872,7 @@ packages: dependencies: '@jest/types': 29.6.3 '@types/graceful-fs': 4.1.9 - '@types/node': 20.12.7 + '@types/node': 20.12.10 anymatch: 3.1.3 fb-watchman: 2.0.2 graceful-fs: 4.2.11 @@ -11012,7 +10894,7 @@ packages: chalk: 1.1.3 get-stdin: 5.0.1 glur: 1.1.2 - jest: 29.7.0(@types/node@20.12.7) + jest: 29.7.0(@types/node@20.12.10) lodash: 4.17.21 mkdirp: 0.5.6 pixelmatch: 5.3.0 @@ -11059,7 +10941,7 @@ packages: engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@jest/types': 29.6.3 - '@types/node': 20.12.7 + '@types/node': 20.12.10 jest-util: 29.7.0 dev: true @@ -11114,7 +10996,7 @@ packages: '@jest/test-result': 29.7.0 '@jest/transform': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 20.12.7 + '@types/node': 20.12.10 chalk: 4.1.2 emittery: 0.13.1 graceful-fs: 4.2.11 @@ -11145,7 +11027,7 @@ packages: '@jest/test-result': 29.7.0 '@jest/transform': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 20.12.7 + '@types/node': 20.12.10 chalk: 4.1.2 cjs-module-lexer: 1.2.3 collect-v8-coverage: 1.0.2 @@ -11168,15 +11050,15 @@ packages: resolution: {integrity: sha512-Rm0BMWtxBcioHr1/OX5YCP8Uov4riHvKPknOGs804Zg9JGZgmIBkbtlxJC/7Z4msKYVbIJtfU+tKb8xlYNfdkw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@babel/core': 7.24.4 - '@babel/generator': 7.24.4 - '@babel/plugin-syntax-jsx': 7.24.1(@babel/core@7.24.4) - '@babel/plugin-syntax-typescript': 7.24.1(@babel/core@7.24.4) + '@babel/core': 7.24.5 + '@babel/generator': 7.24.5 + '@babel/plugin-syntax-jsx': 7.24.1(@babel/core@7.24.5) + '@babel/plugin-syntax-typescript': 7.24.1(@babel/core@7.24.5) '@babel/types': 7.24.5 '@jest/expect-utils': 29.7.0 '@jest/transform': 29.7.0 '@jest/types': 29.6.3 - babel-preset-current-node-syntax: 1.0.1(@babel/core@7.24.4) + babel-preset-current-node-syntax: 1.0.1(@babel/core@7.24.5) chalk: 4.1.2 expect: 29.7.0 graceful-fs: 4.2.11 @@ -11187,7 +11069,7 @@ packages: jest-util: 29.7.0 natural-compare: 1.4.0 pretty-format: 29.7.0 - semver: 7.6.0 + semver: 7.6.1 transitivePeerDependencies: - supports-color dev: true @@ -11197,7 +11079,7 @@ packages: engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@jest/types': 29.6.3 - '@types/node': 20.12.7 + '@types/node': 20.12.10 chalk: 4.1.2 ci-info: 3.9.0 graceful-fs: 4.2.11 @@ -11222,7 +11104,7 @@ packages: dependencies: '@jest/test-result': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 20.12.7 + '@types/node': 20.12.10 ansi-escapes: 4.3.2 chalk: 4.1.2 emittery: 0.13.1 @@ -11234,7 +11116,7 @@ packages: resolution: {integrity: sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==} engines: {node: '>= 10.13.0'} dependencies: - '@types/node': 20.12.7 + '@types/node': 20.12.10 merge-stream: 2.0.0 supports-color: 8.1.1 dev: true @@ -11243,13 +11125,13 @@ packages: resolution: {integrity: sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@types/node': 20.12.7 + '@types/node': 20.12.10 jest-util: 29.7.0 merge-stream: 2.0.0 supports-color: 8.1.1 dev: true - /jest@29.7.0(@types/node@20.12.7): + /jest@29.7.0(@types/node@20.12.10): resolution: {integrity: sha512-NIy3oAFp9shda19hy4HK0HRTWKtPJmGdnvywu01nOqNC2vZg+Z+fvJDxpMQA88eb2I9EcafcdjYgsDthnYTvGw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} hasBin: true @@ -11262,7 +11144,7 @@ packages: '@jest/core': 29.7.0 '@jest/types': 29.6.3 import-local: 3.1.0 - jest-cli: 29.7.0(@types/node@20.12.7) + jest-cli: 29.7.0(@types/node@20.12.10) transitivePeerDependencies: - '@types/node' - babel-plugin-macros @@ -11547,8 +11429,8 @@ packages: engines: {node: '>=12'} dev: true - /langium-cli@3.0.1: - resolution: {integrity: sha512-s1R/4GKkWItfu2o05DxqP71ID5MiGqb1BfXyPeFvIO3+aRSCj6fCj9EXtasvf18lSTUe27H37aO66TNU9VRr+Q==} + /langium-cli@3.0.3: + resolution: {integrity: sha512-g6PdhEq5IiYWK/oiySILglPvFdK6ofQdzC+U7PJmFH++bDKu0DGdxjWzDauUN5WUDyVQETWKgtYDmmbcxPzN0w==} engines: {node: '>=16.0.0'} hasBin: true dependencies: @@ -11895,7 +11777,7 @@ packages: resolution: {integrity: sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==} engines: {node: '>=10'} dependencies: - semver: 7.6.0 + semver: 7.6.1 dev: true /makeerror@1.0.12: @@ -12990,7 +12872,7 @@ packages: resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==} engines: {node: '>=8'} dependencies: - '@babel/code-frame': 7.23.5 + '@babel/code-frame': 7.24.2 error-ex: 1.3.2 json-parse-even-better-errors: 2.3.1 lines-and-columns: 1.2.4 @@ -14046,6 +13928,12 @@ packages: lru-cache: 6.0.0 dev: true + /semver@7.6.1: + resolution: {integrity: sha512-f/vbBsu+fOiYt+lmwZV0rVwJScl46HppnOA1ZvIuBWKOTlllpyJ3bfVax76/OrhCH38dyxoDIA8K7uB963IYgA==} + engines: {node: '>=10'} + hasBin: true + dev: true + /send@0.18.0: resolution: {integrity: sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==} engines: {node: '>= 0.8.0'} @@ -15359,7 +15247,7 @@ packages: engines: {node: '>= 10.0.0'} dev: true - /unocss@0.59.4(postcss@8.4.38)(rollup@2.79.1)(vite@5.2.10): + /unocss@0.59.4(postcss@8.4.38)(rollup@2.79.1)(vite@5.2.11): resolution: {integrity: sha512-QmCVjRObvVu/gsGrJGVt0NnrdhFFn314BUZn2WQyXV9rIvHLRmG5bIu0j5vibJkj7ZhFchTrnTM1pTFXP1xt5g==} engines: {node: '>=14'} peerDependencies: @@ -15371,7 +15259,7 @@ packages: vite: optional: true dependencies: - '@unocss/astro': 0.59.4(rollup@2.79.1)(vite@5.2.10) + '@unocss/astro': 0.59.4(rollup@2.79.1)(vite@5.2.11) '@unocss/cli': 0.59.4(rollup@2.79.1) '@unocss/core': 0.59.4 '@unocss/extractor-arbitrary-variants': 0.59.4 @@ -15390,8 +15278,8 @@ packages: '@unocss/transformer-compile-class': 0.59.4 '@unocss/transformer-directives': 0.59.4 '@unocss/transformer-variant-group': 0.59.4 - '@unocss/vite': 0.59.4(rollup@2.79.1)(vite@5.2.10) - vite: 5.2.10(@types/node@20.12.7) + '@unocss/vite': 0.59.4(rollup@2.79.1)(vite@5.2.11) + vite: 5.2.11(@types/node@20.12.10) transitivePeerDependencies: - postcss - rollup @@ -15403,7 +15291,7 @@ packages: engines: {node: '>= 0.8'} dev: true - /unplugin-vue-components@0.26.0(rollup@2.79.1)(vue@3.4.26): + /unplugin-vue-components@0.26.0(rollup@2.79.1)(vue@3.4.27): resolution: {integrity: sha512-s7IdPDlnOvPamjunVxw8kNgKNK8A5KM1YpK5j/p97jEKTjlPNrA0nZBiSfAKKlK1gWZuyWXlKL5dk3EDw874LQ==} engines: {node: '>=14'} peerDependencies: @@ -15426,7 +15314,7 @@ packages: minimatch: 9.0.3 resolve: 1.22.4 unplugin: 1.4.0 - vue: 3.4.26(typescript@5.4.5) + vue: 3.4.27(typescript@5.4.5) transitivePeerDependencies: - rollup - supports-color @@ -15538,7 +15426,7 @@ packages: vfile-message: 4.0.2 dev: true - /vite-node@1.5.3(@types/node@20.12.7): + /vite-node@1.5.3(@types/node@20.12.10): resolution: {integrity: sha512-axFo00qiCpU/JLd8N1gu9iEYL3xTbMbMrbe5nDp9GL0nb6gurIdZLkkFogZXWnE8Oyy5kfSLwNVIcVsnhE7lgQ==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true @@ -15547,7 +15435,7 @@ packages: debug: 4.3.4(supports-color@8.1.1) pathe: 1.1.2 picocolors: 1.0.0 - vite: 5.2.10(@types/node@20.12.7) + vite: 5.2.11(@types/node@20.12.10) transitivePeerDependencies: - '@types/node' - less @@ -15559,8 +15447,8 @@ packages: - terser dev: true - /vite-plugin-istanbul@6.0.0(vite@5.2.10): - resolution: {integrity: sha512-Vwh2XdesjcLwaPbHSOiWHh+0s7CNovQTPEjUCTkqmJUe0FN2TKsOp0qpoaklOuwrKlL9elhD5fPFxi5lmG62zA==} + /vite-plugin-istanbul@6.0.2(vite@5.2.11): + resolution: {integrity: sha512-0/sKwjEEIwbEyl43xX7onX3dIbMJAsigNsKyyVPalG1oRFo5jn3qkJbS2PUfp9wrr3piy1eT6qRoeeum2p4B2A==} peerDependencies: vite: '>=4 <=6' dependencies: @@ -15570,12 +15458,12 @@ packages: picocolors: 1.0.0 source-map: 0.7.4 test-exclude: 6.0.0 - vite: 5.2.10(@types/node@20.12.7) + vite: 5.2.11(@types/node@20.12.10) transitivePeerDependencies: - supports-color dev: true - /vite-plugin-pwa@0.19.8(vite@5.2.10)(workbox-build@7.1.0)(workbox-window@7.0.0): + /vite-plugin-pwa@0.19.8(vite@5.2.11)(workbox-build@7.1.0)(workbox-window@7.0.0): resolution: {integrity: sha512-e1oK0dfhzhDhY3VBuML6c0h8Xfx6EkOVYqolj7g+u8eRfdauZe5RLteCIA/c5gH0CBQ0CNFAuv/AFTx4Z7IXTw==} engines: {node: '>=16.0.0'} peerDependencies: @@ -15590,14 +15478,14 @@ packages: debug: 4.3.4(supports-color@8.1.1) fast-glob: 3.3.2 pretty-bytes: 6.1.1 - vite: 5.2.10(@types/node@20.12.7) + vite: 5.2.11(@types/node@20.12.10) workbox-build: 7.1.0 workbox-window: 7.0.0 transitivePeerDependencies: - supports-color dev: true - /vite@5.2.10(@types/node@20.12.7): + /vite@5.2.10(@types/node@20.12.10): resolution: {integrity: sha512-PAzgUZbP7msvQvqdSD+ErD5qGnSFiGOoWmV5yAKUEI0kdhjbH6nMWVyZQC/hSc4aXwc0oJ9aEdIiF9Oje0JFCw==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true @@ -15625,7 +15513,7 @@ packages: terser: optional: true dependencies: - '@types/node': 20.12.7 + '@types/node': 20.12.10 esbuild: 0.20.2 postcss: 8.4.38 rollup: 4.17.2 @@ -15633,7 +15521,43 @@ packages: fsevents: 2.3.3 dev: true - /vitepress-plugin-search@1.0.4-alpha.22(flexsearch@0.7.43)(vitepress@1.1.4)(vue@3.4.26): + /vite@5.2.11(@types/node@20.12.10): + resolution: {integrity: sha512-HndV31LWW05i1BLPMUCE1B9E9GFbOu1MbenhS58FuK6owSO5qHm7GiCotrNY1YE5rMeQSFBGmT5ZaLEjFizgiQ==} + engines: {node: ^18.0.0 || >=20.0.0} + hasBin: true + peerDependencies: + '@types/node': ^18.0.0 || >=20.0.0 + less: '*' + lightningcss: ^1.21.0 + sass: '*' + stylus: '*' + sugarss: '*' + terser: ^5.4.0 + peerDependenciesMeta: + '@types/node': + optional: true + less: + optional: true + lightningcss: + optional: true + sass: + optional: true + stylus: + optional: true + sugarss: + optional: true + terser: + optional: true + dependencies: + '@types/node': 20.12.10 + esbuild: 0.20.2 + postcss: 8.4.38 + rollup: 4.17.2 + optionalDependencies: + fsevents: 2.3.3 + dev: true + + /vitepress-plugin-search@1.0.4-alpha.22(flexsearch@0.7.43)(vitepress@1.1.4)(vue@3.4.27): resolution: {integrity: sha512-IAOEJu+kjVY+0pb6/PeRjIbr175HFFbnMdLmLjqcy7VWxkabIRZbLoQL1VUYDZl804o/Or+GaX02gsiMOnVxFA==} engines: {node: ^14.13.1 || ^16.7.0 || >=18} peerDependencies: @@ -15646,67 +15570,11 @@ packages: flexsearch: 0.7.43 glob-to-regexp: 0.4.1 markdown-it: 13.0.1 - vitepress: 1.1.4(@algolia/client-search@4.23.3)(@types/node@20.12.7)(search-insights@2.13.0)(typescript@5.4.5) - vue: 3.4.26(typescript@5.4.5) - dev: true - - /vitepress@1.1.0(@algolia/client-search@4.23.3)(@types/node@20.12.7)(postcss@8.4.38)(search-insights@2.13.0)(typescript@5.4.5): - resolution: {integrity: sha512-G+NS5I2OETxC0SfGAMDO75JWNkrcir0UCptuhQMNoaZhhlqvYtTDQhph4qGc5dtiTtZkcFa/bCcSx+A2gSS3lA==} - hasBin: true - peerDependencies: - markdown-it-mathjax3: ^4 - postcss: ^8 - peerDependenciesMeta: - markdown-it-mathjax3: - optional: true - postcss: - optional: true - dependencies: - '@docsearch/css': 3.6.0 - '@docsearch/js': 3.6.0(@algolia/client-search@4.23.3)(search-insights@2.13.0) - '@shikijs/core': 1.4.0 - '@shikijs/transformers': 1.4.0 - '@types/markdown-it': 13.0.8 - '@vitejs/plugin-vue': 5.0.4(vite@5.2.10)(vue@3.4.26) - '@vue/devtools-api': 7.1.3(vue@3.4.26) - '@vueuse/core': 10.9.0(vue@3.4.26) - '@vueuse/integrations': 10.9.0(focus-trap@7.5.4)(vue@3.4.26) - focus-trap: 7.5.4 - mark.js: 8.11.1 - minisearch: 6.3.0 - postcss: 8.4.38 - shiki: 1.4.0 - vite: 5.2.10(@types/node@20.12.7) - vue: 3.4.26(typescript@5.4.5) - transitivePeerDependencies: - - '@algolia/client-search' - - '@types/node' - - '@types/react' - - '@vue/composition-api' - - async-validator - - axios - - change-case - - drauu - - fuse.js - - idb-keyval - - jwt-decode - - less - - lightningcss - - nprogress - - qrcode - - react - - react-dom - - sass - - search-insights - - sortablejs - - stylus - - sugarss - - terser - - typescript - - universal-cookie + vitepress: 1.1.4(@algolia/client-search@4.23.3)(@types/node@20.12.10)(postcss@8.4.38)(search-insights@2.13.0)(typescript@5.4.5) + vue: 3.4.27(typescript@5.4.5) dev: true - /vitepress@1.1.4(@algolia/client-search@4.23.3)(@types/node@20.12.7)(search-insights@2.13.0)(typescript@5.4.5): + /vitepress@1.1.4(@algolia/client-search@4.23.3)(@types/node@20.12.10)(postcss@8.4.38)(search-insights@2.13.0)(typescript@5.4.5): resolution: {integrity: sha512-bWIzFZXpPB6NIDBuWnS20aMADH+FcFKDfQNYFvbOWij03PR29eImTceQHIzCKordjXYBhM/TjE5VKFTUJ3EheA==} hasBin: true peerDependencies: @@ -15730,8 +15598,9 @@ packages: focus-trap: 7.5.4 mark.js: 8.11.1 minisearch: 6.3.0 + postcss: 8.4.38 shiki: 1.4.0 - vite: 5.2.10(@types/node@20.12.7) + vite: 5.2.10(@types/node@20.12.10) vue: 3.4.26(typescript@5.4.5) transitivePeerDependencies: - '@algolia/client-search' @@ -15761,7 +15630,7 @@ packages: - universal-cookie dev: true - /vitest@1.5.3(@types/node@20.12.7)(@vitest/ui@1.5.3)(jsdom@24.0.0): + /vitest@1.5.3(@types/node@20.12.10)(@vitest/ui@1.5.3)(jsdom@24.0.0): resolution: {integrity: sha512-2oM7nLXylw3mQlW6GXnRriw+7YvZFk/YNV8AxIC3Z3MfFbuziLGWP9GPxxu/7nRlXhqyxBikpamr+lEEj1sUEw==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true @@ -15786,7 +15655,7 @@ packages: jsdom: optional: true dependencies: - '@types/node': 20.12.7 + '@types/node': 20.12.10 '@vitest/expect': 1.5.3 '@vitest/runner': 1.5.3 '@vitest/snapshot': 1.5.3 @@ -15806,8 +15675,8 @@ packages: strip-literal: 2.1.0 tinybench: 2.8.0 tinypool: 0.8.4 - vite: 5.2.10(@types/node@20.12.7) - vite-node: 1.5.3(@types/node@20.12.7) + vite: 5.2.11(@types/node@20.12.10) + vite-node: 1.5.3(@types/node@20.12.10) why-is-node-running: 2.2.2 transitivePeerDependencies: - less @@ -15898,6 +15767,22 @@ packages: optional: true dependencies: vue: 3.4.26(typescript@5.4.5) + dev: true + + /vue-demi@0.14.7(vue@3.4.27): + resolution: {integrity: sha512-EOG8KXDQNwkJILkx/gPcoL/7vH+hORoBaKgGe+6W7VFMvCYJfmF2dGbvgDroVnI8LU7/kTu8mbjRZGBU1z9NTA==} + engines: {node: '>=12'} + hasBin: true + requiresBuild: true + peerDependencies: + '@vue/composition-api': ^1.0.0-rc.1 + vue: ^3.0.0-0 || ^2.6.0 + peerDependenciesMeta: + '@vue/composition-api': + optional: true + dependencies: + vue: 3.4.27(typescript@5.4.5) + dev: false /vue@3.4.21(typescript@5.4.5): resolution: {integrity: sha512-5hjyV/jLEIKD/jYl4cavMcnzKwjMKohureP8ejn3hhEjwhWIhWeuzL2kJAjzl/WyVsgPY56Sy4Z40C3lVshxXA==} @@ -15929,6 +15814,22 @@ packages: '@vue/server-renderer': 3.4.26(vue@3.4.26) '@vue/shared': 3.4.26 typescript: 5.4.5 + dev: true + + /vue@3.4.27(typescript@5.4.5): + resolution: {integrity: sha512-8s/56uK6r01r1icG/aEOHqyMVxd1bkYcSe9j8HcKtr/xTOFWvnzIVTehNW+5Yt89f+DLBe4A569pnZLS5HzAMA==} + peerDependencies: + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@vue/compiler-dom': 3.4.27 + '@vue/compiler-sfc': 3.4.27 + '@vue/runtime-dom': 3.4.27 + '@vue/server-renderer': 3.4.27(vue@3.4.27) + '@vue/shared': 3.4.27 + typescript: 5.4.5 /vuex@4.1.0(vue@3.4.21): resolution: {integrity: sha512-hmV6UerDrPcgbSy9ORAtNXDr9M4wlNP4pEFKye4ujJF8oqgFFuxDCdOLS3eNoRTtq5O3hoBDh9Doj1bQMYHRbQ==} @@ -15989,7 +15890,7 @@ packages: resolution: {integrity: sha512-nCdJLxRnYvOMFqTEX7sqQtF/hV/Jgov0Y6ICeOm1DMTlZSRRDaUsBMlEAPkEwif9uBJYdM0znv8qzfX358AGqQ==} engines: {node: '>=12.0.0'} dependencies: - '@types/node': 18.19.31 + '@types/node': 18.19.32 '@wdio/config': 7.31.1(typescript@5.4.5) '@wdio/logger': 7.26.0 '@wdio/protocols': 7.27.0 From fbe13f4e9e3f3fb505539aa4d191a7f42dac908d Mon Sep 17 00:00:00 2001 From: Ashish Jain Date: Wed, 8 May 2024 09:43:01 +0200 Subject: [PATCH 387/789] #5237 fix for duplicate nodes for join fork --- packages/mermaid/src/diagrams/state/stateDb.js | 3 +++ packages/mermaid/src/rendering-util/types.d.ts | 17 +++++++++-------- 2 files changed, 12 insertions(+), 8 deletions(-) diff --git a/packages/mermaid/src/diagrams/state/stateDb.js b/packages/mermaid/src/diagrams/state/stateDb.js index 0c8b9fb11f..c45b488aa9 100644 --- a/packages/mermaid/src/diagrams/state/stateDb.js +++ b/packages/mermaid/src/diagrams/state/stateDb.js @@ -754,6 +754,9 @@ const dataFetcher = (parent, parsedItem, diagramStates, nodes, edges, altFlag, u * @param nodeData */ function insertOrUpdateNode(nodes, nodeData) { + if (!nodeData.id || nodeData.id === '') { + return; + } const existingNodeData = nodes.find((node) => node.id === nodeData.id); if (existingNodeData) { //update the existing nodeData diff --git a/packages/mermaid/src/rendering-util/types.d.ts b/packages/mermaid/src/rendering-util/types.d.ts index 1569368456..b4fda26835 100644 --- a/packages/mermaid/src/rendering-util/types.d.ts +++ b/packages/mermaid/src/rendering-util/types.d.ts @@ -13,13 +13,15 @@ interface Node { label?: string; parentId?: string; position?: string; - styles?: string; - classes?: string; + styles?: string; // Pick one, don't need both `styles` & `style`, or have (nodeStyle + labelStyle) + style?: string; + classes?: string; // Pick one `classes` vs `class` + class?: string; // Flowchart specific properties - labelType?: string; + labelType?: string; // Always use markdown string? domId: string; // Rendering specific properties for both Flowchart and State Diagram nodes - dir?: string; + dir?: string; // Only relevant for isGroup true, i.e. a sub-graph or composite state. haveCallback?: boolean; labelStyle?: string; labelText?: string; @@ -31,15 +33,14 @@ interface Node { ry?: number; shape?: string; tooltip?: string; - type: string; + type: string; // replace with isGroup: boolean, default false width?: number; height?: number; // Specific properties for State Diagram nodes TODO remove and use generic properties intersect?: (point: any) => any; - style?: string; - class?: string; - borders?: string; + + borders?: string; //Maybe have it similar to nodeStyle, labelStyle, have it as borderStyle (check the usage) useRough?: boolean; } From 683695bec27011bb9f89fec410601a2a22337d03 Mon Sep 17 00:00:00 2001 From: Ashish Jain Date: Wed, 8 May 2024 11:10:05 +0200 Subject: [PATCH 388/789] #5237 add support for note shape --- cypress/platform/knsv2.html | 287 ++++++------------ .../mermaid/src/diagrams/state/stateDb.js | 3 +- .../rendering-elements/nodes.js | 2 + .../rendering-elements/shapes/note.ts | 37 +++ .../mermaid/src/rendering-util/types.d.ts | 2 + 5 files changed, 142 insertions(+), 189 deletions(-) create mode 100644 packages/mermaid/src/rendering-util/rendering-elements/shapes/note.ts diff --git a/cypress/platform/knsv2.html b/cypress/platform/knsv2.html index 835402752e..837063bcb3 100644 --- a/cypress/platform/knsv2.html +++ b/cypress/platform/knsv2.html @@ -4,7 +4,7 @@ body { /* background: rgb(221, 208, 208); */ - background: #333; + /* background:#333; */ font-family: 'Arial'; /* font-size: 18px !important; */ } h1 { color: grey; } - .mermaid { - border: 1px solid #ddd; - margin: 10px; - } .mermaid2 { display: none; } .mermaid svg { /* font-size: 18px !important; */ - /* background-color: #efefef; */ - background-color: #333; - background-image: radial-gradient(#333 51%, transparent 91%), - radial-gradient(#333 51%, transparent 91%); + background-color: #efefef; + background-image: radial-gradient(#fff 51%, transparent 91%), + radial-gradient(#fff 51%, transparent 91%); background-size: 20px 20px; background-position: 0 0, 10px 10px; background-repeat: repeat; - border: 2px solid rgb(131, 142, 205); } .malware { position: fixed; @@ -79,198 +73,106 @@
    -      block-beta
    -  blockArrowId<["Label"]>(right)
    -  blockArrowId2<["Label"]>(left)
    -  blockArrowId3<["Label"]>(up)
    -  blockArrowId4<["Label"]>(down)
    -  blockArrowId5<["Label"]>(x)
    -  blockArrowId6<["Label"]>(y)
    -  blockArrowId6<["Label"]>(x, down)
    -    
    -
    -block-beta
    -  block:e:4
    -    columns 2
    -      f
    -      g
    -  end
    -
    -    
    -
    -block-beta
    -  block:e:4
    -    columns 2
    -      f
    -      g
    -      h
    -  end
    -
    -    
    -
    -block-beta
    -  columns 4
    -  a b c d
    -  block:e:4
    -    columns 2
    -      f
    -      g
    -      h
    -  end
    -  i:4
    -
    -      state join_state <>
    -      State2 --> join_state
    -      State3 --> join_state
    -      join_state --> State4
    -      State4 --> [*]
    +stateDiagram
    +  State1: The state with a note
    +  note right of State1
    +      Important information! You can write
    +      notes.
    +  end note
           
    -flowchart LR
    -  X-- "y" -->z
    -    
    -
    -block-beta
    -columns 5
    -   A space B
    -   A --x B
    -    
    -
    -block-beta
    -columns 3
    -  a["A wide one"] b:2 c:2 d
    -    
    -
    -block-beta
    -  block:e
    -      f
    -  end
    -    
    -
    -block-beta
    -  columns 3
    -  a:3
    -  block:e:3
    -      f
    -  end
    -  g
    -    
    +stateDiagram-v2 + [*] --> Active + + state Active { + [*] --> NumLockOff + NumLockOff --> NumLockOn : EvNumLockPressed + NumLockOn --> NumLockOff : EvNumLockPressed + -- + [*] --> CapsLockOff + CapsLockOff --> CapsLockOn : EvCapsLockPressed + CapsLockOn --> CapsLockOff : EvCapsLockPressed + -- + [*] --> ScrollLockOff + ScrollLockOff --> ScrollLockOn : EvScrollLockPressed + ScrollLockOn --> ScrollLockOff : EvScrollLockPressed + } +
    -block-beta
    -  columns 3
    -  a:3
    -  block:e:3
    -      f
    -      g
    -  end
    -  h
    -  i
    -  j
    -
    -    
    +stateDiagram-v2 + state ProActive { + state Active { + Chimp --> A + Chimp --> B + Chimp --> C + } + } +
    -block-beta
    -columns 3
    -  a b:2
    -  block:e:3
    -      f
    -  end
    -  g h i
    -    
    -
    -block-beta
    -columns 3
    -  a b c
    -  e:3
    -  f g h
    -    
    -
    -block-beta
    -columns 1
    -  db(("DB"))
    -  blockArrowId6<["   "]>(down)
    -  block:ID
    -    A
    -    B["A wide one in the middle"]
    -    C
    -  end
    -  space
    -  D
    -  ID --> D
    -  C --> D
    -  style B fill:#f9F,stroke:#333,stroke-width:4px
    -    
    -
    -block-beta
    -  columns 5
    -  A1:3
    -  A2:1
    -  A3
    -  B1 B2 B3:3
    -    
    +--- + handdrawn: false +--- +stateDiagram-v2 + state First { +second + } +
    -block-beta
    -  block
    -    D
    -    E
    -  end
    -  db("This is the text in the box")
    -    
    +stateDiagram-v2 + [*] --> First + state First { + [*] --> second + second --> [*] + } +
    -block-beta
    +   stateDiagram-v2
    +    state fork_state <>
    +      [*] --> fork_state
    +      fork_state --> State2
    +      fork_state --> State3
     
    -      block
    -        D
    -      end
    -      A["A: I am a wide one"]
    -    
    -
    -block-beta
    -    A["square"]
    -    B("rounded")
    -    C(("circle"))
    -    
    -
    -block-beta
    -    A>"rect_left_inv_arrow"]
    -    B{"diamond"}
    -    C{{"hexagon"}}
    -    
    -
    -block-beta
    -    A(["stadium"])
    -    
    -
    -block-beta
    -    %% A[["subroutine"]]
    -    %% B[("cylinder")]
    -    C>"surprise"]
    +      state join_state <>
    +      State2 --> join_state
    +      State3 --> join_state
    +      join_state --> State4
    +      State4 --> [*]
         
    -block-beta
    -    A[/"lean right"/]
    -    B[\"lean left"\]
    -    C[/"trapezoid"\]
    -    D[\"trapezoid"/]
    +    flowchart TB
    +      A1 & A2 & A3 & A4 & A5 & A6 & A7 & A8 -->  C & D & E & F & G & H & I & J & K & L & M & N & O & P & Q & R & S & T & U & V & W & X & Y & Z
         
    -
     flowchart
    -      B
    -      style B fill:#f9F,stroke:#333,stroke-width:4px
    -    
    +Node1:::class1 --> Node2:::class2 +Node1:::class1 --> Node3:::class2 +Node3 --> Node4((I am a circle)):::larger +classDef class1 fill:lightblue +classDef class2 fill:pink +classDef larger font-size:30px,fill:yellow +
    -      flowchart LR
    -      a1 -- apa --> b1
    -    
    - +stateDiagram-v2 + [*] --> Still + Still --> [*] + Still --> Moving + Moving --> Still + Moving --> Crash + Crash --> [*]
     flowchart RL
    -  subgraph "`one`"
    -    id
    -  end
    +    subgraph "`one`"
    +      a1 -- l1 --> a2
    +      a1 -- l2 --> a2
    +    end
         
     flowchart RL
    @@ -615,8 +517,17 @@
           //   useMaxWidth: false,
           // });
           mermaid.initialize({
    -        theme: 'dark',
    -        startOnLoad: true,
    +        handdrawn: true,
    +        layout: 'elk',
    +        flowchart: { titleTopMargin: 10 },
    +        // fontFamily: 'Caveat',
    +        fontFamily: 'Kalam',
    +        sequence: {
    +          actorFontFamily: 'courier',
    +          noteFontFamily: 'courier',
    +          messageFontFamily: 'courier',
    +        },
    +        fontSize: 16,
             logLevel: 0,
           });
           function callback() {
    diff --git a/packages/mermaid/src/diagrams/state/stateDb.js b/packages/mermaid/src/diagrams/state/stateDb.js
    index c45b488aa9..85f36e6a85 100644
    --- a/packages/mermaid/src/diagrams/state/stateDb.js
    +++ b/packages/mermaid/src/diagrams/state/stateDb.js
    @@ -45,6 +45,7 @@ import {
       PARENT_ID,
       NOTE,
       PARENT,
    +  CSS_EDGE_NOTE_EDGE,
     } from './stateCommon.js';
     import { node } from 'stylis';
     
    @@ -704,7 +705,7 @@ const dataFetcher = (parent, parsedItem, diagramStates, nodes, edges, altFlag, u
           //add parent id to groupData
           groupData.id = parentNodeId;
           //add parent id to noteData
    -      noteData.parentId = parentId;
    +      noteData.parentId = parentNodeId;
     
           //insert groupData
           insertOrUpdateNode(nodes, groupData);
    diff --git a/packages/mermaid/src/rendering-util/rendering-elements/nodes.js b/packages/mermaid/src/rendering-util/rendering-elements/nodes.js
    index 008c650c34..4072d717d7 100644
    --- a/packages/mermaid/src/rendering-util/rendering-elements/nodes.js
    +++ b/packages/mermaid/src/rendering-util/rendering-elements/nodes.js
    @@ -4,6 +4,7 @@ import { stateStart } from './shapes/stateStart.ts';
     import { stateEnd } from './shapes/stateEnd.ts';
     import { forkJoin } from './shapes/forkJoin.ts';
     import { choice } from './shapes/choice.ts';
    +import {note} from './shapes/note.ts';
     import { getConfig } from '$root/diagram-api/diagramAPI.js';
     
     const formatClass = (str) => {
    @@ -20,6 +21,7 @@ const shapes = {
       fork: forkJoin,
       join: forkJoin,
       choice,
    +  note,
     };
     
     let nodeElems = {};
    diff --git a/packages/mermaid/src/rendering-util/rendering-elements/shapes/note.ts b/packages/mermaid/src/rendering-util/rendering-elements/shapes/note.ts
    new file mode 100644
    index 0000000000..5acc86c86b
    --- /dev/null
    +++ b/packages/mermaid/src/rendering-util/rendering-elements/shapes/note.ts
    @@ -0,0 +1,37 @@
    +import { log } from '$root/logger.js';
    +import { labelHelper, updateNodeBounds } from './util.js';
    +import intersect from '../intersect/index.js';
    +import type { Node } from '$root/rendering-util/types.d.ts';
    +
    +export const note = async (parent: SVGAElement, node: Node) => {
    +    const useHtmlLabels = node.useHtmlLabels ;
    +  if (!useHtmlLabels) {
    +    node.centerLabel = true;
    +  }
    +  const { shapeSvg, bbox, halfPadding } = await labelHelper(
    +    parent,
    +    node,
    +    'node ' + node.classes,
    +    true
    +  );
    +
    +  log.info('Classes = ', node.classes);
    +  // add the rect
    +  const rect = shapeSvg.insert('rect', ':first-child');
    +
    +  rect
    +    .attr('rx', node.rx)
    +    .attr('ry', node.ry)
    +    .attr('x', -bbox.width / 2 - halfPadding)
    +    .attr('y', -bbox.height / 2 - halfPadding)
    +    .attr('width', bbox.width + node.padding)
    +    .attr('height', bbox.height + node.padding);
    +
    +  updateNodeBounds(node, rect);
    +
    +  node.intersect = function (point) {
    +    return intersect.rect(node, point);
    +  };
    +
    +  return shapeSvg;
    +};
    diff --git a/packages/mermaid/src/rendering-util/types.d.ts b/packages/mermaid/src/rendering-util/types.d.ts
    index b4fda26835..4d10498feb 100644
    --- a/packages/mermaid/src/rendering-util/types.d.ts
    +++ b/packages/mermaid/src/rendering-util/types.d.ts
    @@ -42,6 +42,8 @@ interface Node {
     
       borders?: string; //Maybe have it similar to nodeStyle, labelStyle, have it as borderStyle (check the usage)
       useRough?: boolean;
    +  useHtmlLabels?: boolean;
    +  centerLabel?: boolean;
     }
     
     // Common properties for any edge in the system
    
    From 3ff4a6910dae83c1d1adb2310cc841f6ffe8940b Mon Sep 17 00:00:00 2001
    From: Knut Sveidqvist 
    Date: Wed, 8 May 2024 14:13:18 +0200
    Subject: [PATCH 389/789] #5237 Edge labels for ELK
    
    ---
     cypress/platform/knsv2.html                   |  199 +---
     .../mermaid/src/diagrams/state/stateDb.js     |    2 -
     .../layout-algorithms/elk/index.js            |   35 +-
     .../rendering-elements/clusters.js            |   36 +-
     .../rendering-elements/shapes/rect.ts         |    7 +-
     pnpm-lock.yaml                                | 1061 +++++++++++++----
     6 files changed, 935 insertions(+), 405 deletions(-)
    
    diff --git a/cypress/platform/knsv2.html b/cypress/platform/knsv2.html
    index 835402752e..856f58d0c8 100644
    --- a/cypress/platform/knsv2.html
    +++ b/cypress/platform/knsv2.html
    @@ -32,7 +32,7 @@
         
    +
    +
    +
    +  
    +    
    +      
    +      
    +      
    +      
    +      
    +    
    +    
    +      
    +      
    +      
    +      
    +      
    +    
    +    
    +    
    +      
    +    
    +    
    +      
    +      
    +      
    +      
    +      
    +    
    +    
    +    
    +      
    +    
    +    
    +      
    +      
    +      
    +      
    +      
    +    
    +    
    +    
    +      
    +    
    +      
    +      
    +      
    +      
    +      
    +      
    +    
    +    
    +    
    +      
    +    
    +
    +    
    +      
    +      
    +      
    +      
    +      
    +      
    +    
    +    
    +    
    +      
    +    
    +
    +      
    +      
    +      
    +      
    +      
    +      
    +      
    +    
    +    
    +    
    +      
    +    
    +
    +     
    +      
    +      
    +      
    +      
    +      
    +      
    +    
    +    
    +    
    +      
    +    
    +
    +
    +         
    +      
    +      
    +      
    +      
    +      
    +      
    +    
    +    
    +    
    +      
    +    
    +
    +          
    +      
    +      
    +      
    +      
    +      
    +    
    +    
    +    
    +      
    +    
    +
    +
    +          
    +      
    +      
    +      
    +      
    +      
    +    
    +    
    +    
    +      
    +    
    +
    +              
    +      
    +      
    +      
    +      
    +      
    +    
    +    
    +    
    +      
    +    
    +
    +                  
    +      
    +      
    +      
    +      
    +      
    +    
    +    
    +    
    +      
    +    
    +    
    +    
    +      
    +      
    +      
    +      
    +      
    +    
    +  
    DagreDagre with roughELKELK with rough
    Simple State (only id) +
    +
    +
    +      stateId
    +  
    +
    +
    +stateDiagram-v2
    +    stateId
    +      
    +
    +
    +%%{init: {"handdrawn": true} }%%
    +stateDiagram-v2
    +    stateId
    +
    +      
    +
    +
    +%%{init: {"handdrawn": false, "layout": "elk"} }%%
    +stateDiagram-v2
    +    stateId
    +
    +      
    +
    +
    +%%{init: {"handdrawn": true, "layout": "elk"} }%%
    +stateDiagram-v2
    +    stateId
    +
    +      
    +
    State with description with `as` keyword +
    +
    +
    +
    +    state "description text" as s2
    +  
    +
    +
    +stateDiagram-v2
    +    state "This is a state description" as s2
    +      
    +
    +
    +%%{init: {"handdrawn": true} }%%
    +stateDiagram-v2
    +    state "This is a state description" as s3
    +      
    +
    +
    +%%{init: {"handdrawn": false, "layout": "elk"} }%%
    +stateDiagram-v2
    +    state "This is a state description" as s4
    +      
    +
    +
    +%%{init: {"handdrawn": true, "layout": "elk"} }%%
    +stateDiagram-v2
    +    state "This is a state description" as s5
    +      
    +
    State with description with `:` syntax +
    +
    +
    +
    +    s2 :  description text
    +  
    +
    +
    +stateDiagram-v2
    +    s21 : This is a state description
    +      
    +
    +
    +%%{init: {"handdrawn": true} }%%
    +stateDiagram-v2
    +    s22 : This is a state description
    +
    +      
    +
    +
    +%%{init: {"handdrawn": false, "layout": "elk"} }%%
    +stateDiagram-v2
    +    s23 : This is a state description
    +
    +      
    +
    +
    +%%{init: {"handdrawn": true, "layout": "elk"} }%%
    +stateDiagram-v2
    +    s24 : This is a state description
    +
    +      
    +
    State with transition +
    +
    +
    +
    +    s1 --> s2
    +
    +  
    +
    +
    +
    +    stateDiagram-v2
    +    s31 --> s32
    +
    +      
    +
    +
    +%%{init: {"handdrawn": true} }%%
    +
    +   stateDiagram-v2
    +    s41 --> s42
    +
    +
    +      
    +
    +
    +%%{init: {"handdrawn": false, "layout": "elk"} }%%
    +stateDiagram-v2
    +    s51 --> s52
    +
    +
    +      
    +
    +
    +%%{init: {"handdrawn": true, "layout": "elk"} }%%
    +stateDiagram-v2
    +    s61 --> s62
    +
    +
    +      
    +
    State transition with label +
    +
    +
    +
    +    s1 --> s2: A transition
    +
    +  
    +
    +
    +
    +    stateDiagram-v2
    +    a1 --> a2: A transition
    +
    +      
    +
    +
    +%%{init: {"handdrawn": true} }%%
    +
    +   stateDiagram-v2
    +    a3 --> a4: A transition
    +
    +
    +      
    +
    +
    +%%{init: {"handdrawn": false, "layout": "elk"} }%%
    +stateDiagram-v2
    +    a5 --> a6: A transition
    +
    +
    +      
    +
    +
    +%%{init: {"handdrawn": true, "layout": "elk"} }%%
    +stateDiagram-v2
    +   a7 --> a8: A transition
    +
    +
    +      
    +
    Start & End +
    +
    +
    +
    +      [*] --> test
    +    test --> [*]
    +
    +  
    +
    +
    +
    +    stateDiagram-v2
    +       [*] --> test
    +    test --> [*]
    +
    +      
    +
    +
    +%%{init: {"handdrawn": true} }%%
    +
    +   stateDiagram-v2
    +       [*] --> test
    +    test --> [*]
    +
    +
    +      
    +
    +
    +%%{init: {"handdrawn": false, "layout": "elk"} }%%
    +stateDiagram-v2
    +       [*] --> test
    +    test --> [*]
    +
    +
    +      
    +
    +
    +%%{init: {"handdrawn": true, "layout": "elk"} }%%
    +stateDiagram-v2
    +      [*] --> test
    +    test --> [*]
    +
    +
    +      
    +
    Composite state +
    +
    +
    +
    +      [*] --> First
    +    state First {
    +        [*] --> second
    +        second --> [*]
    +    }
    +
    +  
    +
    +
    +
    +    stateDiagram-v2
    +       [*] --> First
    +    state First {
    +        [*] --> second
    +        second --> [*]
    +    }
    +
    +      
    +
    +
    +%%{init: {"handdrawn": true} }%%
    +
    +   stateDiagram-v2
    +       [*] --> First
    +    state First {
    +        [*] --> second
    +        second --> [*]
    +    }
    +
    +
    +      
    +
    +
    +%%{init: {"handdrawn": false, "layout": "elk"} }%%
    +stateDiagram-v2
    +       [*] --> First
    +    state First {
    +        [*] --> second
    +        second --> [*]
    +    }
    +
    +
    +      
    +
    +
    +%%{init: {"handdrawn": true, "layout": "elk"} }%%
    +stateDiagram-v2
    +      [*] --> First
    +    state First {
    +        [*] --> second
    +        second --> [*]
    +    }
    +
    +
    +      
    +
    Nested Composite state +
    +
    +
    +
    +   
    +    [*] --> Level1
    +
    +    state Level1 {
    +        [*] --> Level2
    +
    +        state Level2 {
    +            [*] --> level2
    +            level2 --> Level3
    +
    +            state Level3 {
    +                [*] --> level3
    +                level3 --> [*]
    +            }
    +        }
    +    }
    +
    +
    +  
    +
    +
    +
    +    stateDiagram-v2
    +    [*] --> Level1
    +
    +    state Level1 {
    +        [*] --> Level2
    +
    +        state Level2 {
    +            [*] --> level2
    +            level2 --> Level3
    +
    +            state Level3 {
    +                [*] --> level3
    +                level3 --> [*]
    +            }
    +        }
    +    }
    +    
    +
    +      
    +
    +
    +%%{init: {"handdrawn": true} }%%
    +
    +   stateDiagram-v2
    +    [*] --> Level1
    +
    +    state Level1 {
    +        [*] --> Level2
    +
    +        state Level2 {
    +            [*] --> level2
    +            level2 --> Level3
    +
    +            state Level3 {
    +                [*] --> level3
    +                level3 --> [*]
    +            }
    +        }
    +    }
    +    
    +
    +
    +      
    +
    +
    +%%{init: {"handdrawn": false, "layout": "elk"} }%%
    + stateDiagram-v2
    +    [*] --> Level1
    +
    +    state Level1 {
    +        [*] --> Level2
    +
    +        state Level2 {
    +            [*] --> level2
    +            level2 --> Level3
    +
    +            state Level3 {
    +                [*] --> level3
    +                level3 --> [*]
    +            }
    +        }
    +    }
    +    
    +
    +      
    +
    +
    +%%{init: {"handdrawn": true, "layout": "elk"} }%%
    + stateDiagram-v2
    +    [*] --> Level1
    +
    +    state Level1 {
    +        [*] --> Level2
    +
    +        state Level2 {
    +            [*] --> level2
    +            level2 --> Level3
    +
    +            state Level3 {
    +                [*] --> level3
    +                level3 --> [*]
    +            }
    +        }
    +    }
    +    
    +      
    +
    Composite state with transition +
    +
    +
    +    [*] --> B1
    +    B1 --> B2
    +    B1 --> B3
    +
    +    state B1 {
    +        [*] --> B11
    +        B11 --> [*]
    +    }
    +    state B2 {
    +        [*] --> B22
    +        B22 --> [*]
    +    }
    +    state B3 {
    +        [*] --> B33
    +        B33 --> [*]
    +    }
    +
    +
    +
    +  
    +
    +
    +
    +    stateDiagram-v2
    +    [*] --> B1
    +    B1 --> B2
    +    B1 --> B3
    +
    +    state B1 {
    +        [*] --> B11
    +        B11 --> [*]
    +    }
    +    state B2 {
    +        [*] --> B22
    +        B22 --> [*]
    +    }
    +    state B3 {
    +        [*] --> B33
    +        B33 --> [*]
    +    }
    +      
    +
    +
    +%%{init: {"handdrawn": true} }%%
    +
    +   stateDiagram-v2
    +   [*] --> B1
    +    B1 --> B2
    +    B1 --> B3
    +
    +    state B1 {
    +        [*] --> B11
    +        B11 --> [*]
    +    }
    +    state B2 {
    +        [*] --> B22
    +        B22 --> [*]
    +    }
    +    state B3 {
    +        [*] --> B33
    +        B33 --> [*]
    +    }
    +      
    +
    +
    +%%{init: {"handdrawn": false, "layout": "elk"} }%%
    + stateDiagram-v2
    +  [*] --> B1
    +    B1 --> B2
    +    B1 --> B3
    +
    +    state B1 {
    +        [*] --> B11
    +        B11 --> [*]
    +    }
    +    state B2 {
    +        [*] --> B22
    +        B22 --> [*]
    +    }
    +    state B3 {
    +        [*] --> B33
    +        B33 --> [*]
    +    }
    +
    +      
    +
    +
    +%%{init: {"handdrawn": true, "layout": "elk"} }%%
    + stateDiagram-v2
    +[*] --> B1
    +    B1 --> B2
    +    B1 --> B3
    +
    +    state B1 {
    +        [*] --> B11
    +        B11 --> [*]
    +    }
    +    state B2 {
    +        [*] --> B22
    +        B22 --> [*]
    +    }
    +    state B3 {
    +        [*] --> B33
    +        B33 --> [*]
    +    }
    +      
    +
    Choice +
    +
    +
    +    state if_state <<choice>>
    +    [*] --> IsPositive
    +    IsPositive --> if_state
    +    if_state --> False: if n < 0
    +    if_state --> True : if n >= 0
    +
    +
    +
    +
    +  
    +
    +
    +
    +    stateDiagram-v2
    +    state if_state <>
    +    [*] --> IsPositive
    +    IsPositive --> if_state
    +    if_state --> False: if n < 0
    +    if_state --> True : if n >= 0
    +      
    +
    +
    +%%{init: {"handdrawn": true} }%%
    +
    +   stateDiagram-v2
    +   state if_state <>
    +    [*] --> IsPositive
    +    IsPositive --> if_state
    +    if_state --> False: if n < 0
    +    if_state --> True : if n >= 0
    +      
    +
    +
    +%%{init: {"handdrawn": false, "layout": "elk"} }%%
    + stateDiagram-v2
    +   state if_state <>
    +    [*] --> IsPositive
    +    IsPositive --> if_state
    +    if_state --> False: if n < 0
    +    if_state --> True : if n >= 0
    +      
    +
    +
    +%%{init: {"handdrawn": true, "layout": "elk"} }%%
    + stateDiagram-v2
    + state if_state <>
    +    [*] --> IsPositive
    +    IsPositive --> if_state
    +    if_state --> False: if n < 0
    +    if_state --> True : if n >= 0
    +      
    +
    Fork & Join +
    +
    +
    +    state fork_state <<fork>>
    +      [*] --> fork_state
    +      fork_state --> State2
    +      fork_state --> State3
    +
    +      state join_state <<join>>
    +      State2 --> join_state
    +      State3 --> join_state
    +      join_state --> State4
    +      State4 --> [*]
    +
    +
    +
    +  
    +
    +
    +   stateDiagram-v2
    +    state fork_state <>
    +      [*] --> fork_state
    +      fork_state --> State2
    +      fork_state --> State3
    +
    +      state join_state <>
    +      State2 --> join_state
    +      State3 --> join_state
    +      join_state --> State4
    +      State4 --> [*]
    +
    +      
    +
    +
    +%%{init: {"handdrawn": true} }%%
    +   stateDiagram-v2
    +    state fork_state <>
    +      [*] --> fork_state
    +      fork_state --> State2
    +      fork_state --> State3
    +
    +      state join_state <>
    +      State2 --> join_state
    +      State3 --> join_state
    +      join_state --> State4
    +      State4 --> [*]
    +
    +      
    +
    +
    +%%{init: {"handdrawn": false, "layout": "elk"} }%%
    +   stateDiagram-v2
    +    state fork_state <>
    +      [*] --> fork_state
    +      fork_state --> State2
    +      fork_state --> State3
    +
    +      state join_state <>
    +      State2 --> join_state
    +      State3 --> join_state
    +      join_state --> State4
    +      State4 --> [*]
    +
    +      
    +
    +
    +%%{init: {"handdrawn": true, "layout": "elk"} }%%
    +   stateDiagram-v2
    +    state fork_state <>
    +      [*] --> fork_state
    +      fork_state --> State2
    +      fork_state --> State3
    +
    +      state join_state <>
    +      State2 --> join_state
    +      State3 --> join_state
    +      join_state --> State4
    +      State4 --> [*]
    +
    +      
    +
    Notes +
    +
    +
    +
    +  TN1: The state with a note
    +  note right of TN1
    +      note text
    +  end note
    +  TN1 --> TN2
    +  note left of TN2 : note text
    +
    +  
    +
    +
    +   stateDiagram-v2
    +     TN1: The state with a note
    +        note right of TN1
    +            Important information! You can write
    +            notes.
    +        end note
    +        TN1 --> TN2
    +        note left of TN2 : This is the note to the left.
    +
    +      
    +
    +
    +%%{init: {"handdrawn": true} }%%
    +   stateDiagram-v2
    +     TN3: The state with a note
    +        note right of TN3
    +            Important information! You can write
    +            notes.
    +        end note
    +        TN3 --> TN4
    +        note left of TN4 : This is the note to the left.
    +      
    +
    +
    +%%{init: {"handdrawn": false, "layout": "elk"} }%%
    +   stateDiagram-v2
    +     TN5: The state with a note
    +        note right of TN5
    +            Important information! You can write
    +            notes.
    +        end note
    +        TN5 --> TN6
    +        note left of TN6 : This is the note to the left.
    +
    +      
    +
    +
    +%%{init: {"handdrawn": true, "layout": "elk"} }%%
    +   stateDiagram-v2
    +     TN7: The state with a note
    +        note right of TN7
    +            Important information! You can write
    +            notes.
    +        end note
    +        TN7 --> TN8
    +        note left of TN8 : This is the note to the left.
    +      
    +
    Additional ContentNew content 1New content 2New content 3New content 4
    + + + + + + \ No newline at end of file diff --git a/packages/mermaid/src/diagrams/state/stateDb.js b/packages/mermaid/src/diagrams/state/stateDb.js index 85f36e6a85..f5a50c3a32 100644 --- a/packages/mermaid/src/diagrams/state/stateDb.js +++ b/packages/mermaid/src/diagrams/state/stateDb.js @@ -755,7 +755,7 @@ const dataFetcher = (parent, parsedItem, diagramStates, nodes, edges, altFlag, u * @param nodeData */ function insertOrUpdateNode(nodes, nodeData) { - if (!nodeData.id || nodeData.id === '') { + if (!nodeData.id || nodeData.id === '' || nodeData.id === '') { return; } const existingNodeData = nodes.find((node) => node.id === nodeData.id); From f480fb7c8585f13e1873f229d2f82c03d4c798d7 Mon Sep 17 00:00:00 2001 From: Ashish Jain Date: Wed, 8 May 2024 15:27:36 +0200 Subject: [PATCH 391/789] #5237 added state refactor test page --- cypress/platform/state-refactor.html | 480 +++++++++++++++++++++------ 1 file changed, 372 insertions(+), 108 deletions(-) diff --git a/cypress/platform/state-refactor.html b/cypress/platform/state-refactor.html index b52fc52f3e..be8e862055 100644 --- a/cypress/platform/state-refactor.html +++ b/cypress/platform/state-refactor.html @@ -17,88 +17,73 @@ @@ -112,12 +97,14 @@ ELK with rough - Simple State (only id) -
    -
    -
    +      
    +        
    +        
    +
    +
           stateId
       
    +
    @@ -155,13 +142,16 @@
            
         
         
    -      State with description with `as` keyword
    -        
    -
    -
    +      
    +        
    +        
    +
    +
     
         state "description text" as s2
       
    +
    +
    @@ -196,13 +186,16 @@
            
         
         
    -      State with description with `:` syntax
    -        
    -
    -
    +      
    +        
    +        
    +
    +
     
         s2 :  description text
       
    +
    +
    @@ -239,15 +232,20 @@
         
            
         
    -      
    -      State with transition 
    -        
    -
    -
    +    
    +      
    +        
    +        
    +
    +
     
         s1 --> s2
     
       
    +
    +
    @@ -292,15 +290,20 @@
         
     
         
    -      
    -      State transition with label
    -        
    -
    -
    +    
    +      
    +        
    +        
    +
    +
     
         s1 --> s2: A transition
     
       
    +
    +
    @@ -344,17 +347,22 @@
            
         
     
    -      
    -      
    -      Start & End
    -        
    -
    -
    +    
    +    
    +      
    +        
    +        
    +
    +
     
           [*] --> test
         test --> [*]
     
       
    +
    +
    @@ -402,12 +410,15 @@
            
         
     
    -     
    -      
    -      Composite state
    -        
    -
    -
    +    
    +    
    +      
    +        
    +        
    +
    +
     
           [*] --> First
         state First {
    @@ -416,6 +427,8 @@
         }
     
       
    +
    +
    @@ -476,14 +489,17 @@
         
     
     
    -         
    -      
    -      Nested Composite state
    -        
    -
    -
    +    
    +    
    +      
    +        
    +        
    +
    +
    +
     
    -   
         [*] --> Level1
     
         state Level1 {
    @@ -502,6 +518,8 @@
     
     
       
    +
    +
    @@ -602,11 +620,14 @@
            
         
     
    -          
    -      Composite state with transition
    -        
    -
    -
    +    
    +      
    +        
    +        
    +
    +
         [*] --> B1
         B1 --> B2
         B1 --> B3
    @@ -627,6 +648,8 @@
     
     
       
    +
    +
    @@ -725,11 +748,15 @@
         
     
     
    -          
    -      Choice
    -        
    -
    -
    +    
    +      
    +        
    +        
    +
    +
         state if_state <<choice>>
         [*] --> IsPositive
         IsPositive --> if_state
    @@ -740,6 +767,8 @@
     
     
       
    +
    +
    @@ -792,11 +821,14 @@
            
         
     
    -              
    -      Fork & Join
    -        
    -
    -
    +    
    +      
    +        
    +        
    +
    +
         state fork_state <<fork>>
           [*] --> fork_state
           fork_state --> State2
    @@ -811,6 +843,8 @@
     
     
       
    +
    +
    @@ -885,11 +919,14 @@
            
         
     
    -                  
    -      Notes
    -        
    -
    -
    +    
    +      
    +        
    +        
    +
    +
     
       TN1: The state with a note
       note right of TN1
    @@ -899,6 +936,8 @@
       note left of TN2 : note text
     
       
    +
    +
    @@ -954,6 +993,217 @@
           
    + + + + + + + + + +
    +
    +
    +[*] --> Active
    +
    +state Active {
    +    [*] --> NumLockOff
    +    NumLockOff --> NumLockOn : EvNumLockPressed
    +    NumLockOn --> NumLockOff : EvNumLockPressed
    +    --
    +    [*] --> CapsLockOff
    +    CapsLockOff --> CapsLockOn : EvCapsLockPressed
    +    CapsLockOn --> CapsLockOff : EvCapsLockPressed
    +    --
    +    [*] --> ScrollLockOff
    +    ScrollLockOff --> ScrollLockOn : EvScrollLockPressed
    +    ScrollLockOn --> ScrollLockOff : EvScrollLockPressed
    +}
    +
    +
    +  
    +
    +
    + + +
    +     stateDiagram-v2
    +    [*] --> Active
    +
    +    state Active {
    +        [*] --> NumLockOff
    +        NumLockOff --> NumLockOn : EvNumLockPressed
    +        NumLockOn --> NumLockOff : EvNumLockPressed
    +        --
    +        [*] --> CapsLockOff
    +        CapsLockOff --> CapsLockOn : EvCapsLockPressed
    +        CapsLockOn --> CapsLockOff : EvCapsLockPressed
    +        --
    +        [*] --> ScrollLockOff
    +        ScrollLockOff --> ScrollLockOn : EvScrollLockPressed
    +        ScrollLockOn --> ScrollLockOff : EvScrollLockPressed
    +    }
    +
    +      
    + + +
    +%%{init: {"handdrawn": true} }%%
    +     stateDiagram-v2
    +    [*] --> Active
    +
    +    state Active {
    +        [*] --> NumLockOff
    +        NumLockOff --> NumLockOn : EvNumLockPressed
    +        NumLockOn --> NumLockOff : EvNumLockPressed
    +        --
    +        [*] --> CapsLockOff
    +        CapsLockOff --> CapsLockOn : EvCapsLockPressed
    +        CapsLockOn --> CapsLockOff : EvCapsLockPressed
    +        --
    +        [*] --> ScrollLockOff
    +        ScrollLockOff --> ScrollLockOn : EvScrollLockPressed
    +        ScrollLockOn --> ScrollLockOff : EvScrollLockPressed
    +    }
    +      
    + + +
    +%%{init: {"handdrawn": false, "layout": "elk"} }%%
    +     stateDiagram-v2
    +    [*] --> Active
    +
    +    state Active {
    +        [*] --> NumLockOff
    +        NumLockOff --> NumLockOn : EvNumLockPressed
    +        NumLockOn --> NumLockOff : EvNumLockPressed
    +        --
    +        [*] --> CapsLockOff
    +        CapsLockOff --> CapsLockOn : EvCapsLockPressed
    +        CapsLockOn --> CapsLockOff : EvCapsLockPressed
    +        --
    +        [*] --> ScrollLockOff
    +        ScrollLockOff --> ScrollLockOn : EvScrollLockPressed
    +        ScrollLockOn --> ScrollLockOff : EvScrollLockPressed
    +    }
    +
    +      
    + + +
    +%%{init: {"handdrawn": true, "layout": "elk"} }%%
    +     stateDiagram-v2
    +    [*] --> Active
    +
    +    state Active {
    +        [*] --> NumLockOff
    +        NumLockOff --> NumLockOn : EvNumLockPressed
    +        NumLockOn --> NumLockOff : EvNumLockPressed
    +        --
    +        [*] --> CapsLockOff
    +        CapsLockOff --> CapsLockOn : EvCapsLockPressed
    +        CapsLockOn --> CapsLockOff : EvCapsLockPressed
    +        --
    +        [*] --> ScrollLockOff
    +        ScrollLockOff --> ScrollLockOn : EvScrollLockPressed
    +        ScrollLockOn --> ScrollLockOff : EvScrollLockPressed
    +    }
    +      
    + + + + + + + + + + + + +
    +
    +
    +direction LR
    +    [*] --> D1
    +    D1 --> D2
    +    D2 --> D3
    +    state D3 {
    +      direction TB
    +      D11 --> D22
    +    }
    +    D2 --> D4
    +  
    +
    +
    + + +
    +     stateDiagram-v2
    +    direction LR
    +    [*] --> D1
    +    D1 --> D2
    +    D2 --> D3
    +    state D3 {
    +      direction TB
    +      D11 --> D22
    +    }
    +    D2 --> D4
    +      
    + + +
    +%%{init: {"handdrawn": true} }%%
    +     stateDiagram-v2
    +   direction LR
    +    [*] --> D1
    +    D1 --> D2
    +    D2 --> D3
    +    state D3 {
    +      direction TB
    +      D11 --> D22
    +    }
    +    D2 --> D4
    +      
    + + +
    +%%{init: {"handdrawn": false, "layout": "elk"} }%%
    +     stateDiagram-v2
    +    direction LR
    +    [*] --> D1
    +    D1 --> D2
    +    D2 --> D3
    +    state D3 {
    +      direction TB
    +      D11 --> D22
    +    }
    +    D2 --> D4
    +      
    + + +
    +%%{init: {"handdrawn": true, "layout": "elk"} }%%
    +     stateDiagram-v2
    +    direction LR
    +    [*] --> D1
    +    D1 --> D2
    +    D2 --> D3
    +    state D3 {
    +      direction TB
    +      D11 --> D22
    +    }
    +    D2 --> D4
    +      
    + + + + @@ -997,6 +1247,20 @@ console.error(err); }; + + var coll = document.getElementsByClassName("collapsible"); + for (var i = 0; i < coll.length; i++) { + coll[i].addEventListener("click", function () { + this.classList.toggle("active"); + var content = this.nextElementSibling; + if (content.style.maxHeight) { + content.style.maxHeight = null; + } else { + content.style.maxHeight = content.scrollHeight + "px"; + } + }); + } + From 7ecb772c6c0fa347cb0d712065f3cff0eb91fdfb Mon Sep 17 00:00:00 2001 From: Knut Sveidqvist Date: Fri, 10 May 2024 07:43:04 +0200 Subject: [PATCH 392/789] #5237 Alternating background --- cypress/platform/knsv2.html | 5 ++++- .../rendering-elements/clusters.js | 17 ++++++++++++----- 2 files changed, 16 insertions(+), 6 deletions(-) diff --git a/cypress/platform/knsv2.html b/cypress/platform/knsv2.html index 63fffdd35f..7ee782bc35 100644 --- a/cypress/platform/knsv2.html +++ b/cypress/platform/knsv2.html @@ -73,7 +73,7 @@ -
    +    
     stateDiagram
     NumLockOff --> NumLockOn : EvNumLockPressed
           
    A:One Chimp --> B:Two Chimp --> C:Three + state InActive { + D + } } }
    { // add the rect let rect; if (node.useRough) { + const isAlt = node.classes.indexOf('statediagram-cluster-alt') >= 0; + console.log( + 'DAGA node in roundedWithTitle', + node.classes, + node.classes.indexOf('statediagram-cluster-alt'), + isAlt + ); const rc = rough.svg(shapeSvg); const roughOuterNode = node.rx || node.ry @@ -187,7 +194,10 @@ const roundedWithTitle = (parent, node) => { : rc.rectangle(x, y, width, height); rect = shapeSvg.insert(() => roughOuterNode); - const roughInnerNode = rc.rectangle(x, innerY, width, innerHeight); + const roughInnerNode = rc.rectangle(x, innerY, width, innerHeight, { + fill: isAlt ? 'lightgrey' : 'white', + fillStyle: isAlt ? 'hachure' : 'solid', + }); rect = shapeSvg.insert(() => roughOuterNode); innerRect = shapeSvg.insert(() => roughInnerNode); @@ -248,11 +258,8 @@ const divider = (parent, node) => { if (node.useRough) { const rc = rough.svg(shapeSvg); const roughNode = rc.rectangle(x, y, width, height, { - fill: 'grey', + fill: 'lightgrey', roughness: 0.5, - // bowing: 6, - // stroke: 'green', - // strokeWidth: 3, strokeLineDash: [5], }); From ce6f2739b5492cb35969ec65532c67902cc9e282 Mon Sep 17 00:00:00 2001 From: Knut Sveidqvist Date: Fri, 10 May 2024 13:21:39 +0200 Subject: [PATCH 393/789] #5237 Theme support --- cypress/platform/knsv2.html | 27 ++++++++++++++++--- .../layout-algorithms/elk/index.js | 22 +++++---------- .../rendering-elements/clusters.js | 24 ++++++++++------- .../rendering-elements/shapes/choice.ts | 4 +-- .../rendering-elements/shapes/forkJoin.ts | 4 +-- .../shapes/handdrawnStyles.ts | 11 ++++++++ .../rendering-elements/shapes/rect.ts | 25 +++++++++++++---- .../shapes/solidFillOptions.ts | 10 ------- .../rendering-elements/shapes/stateEnd.ts | 4 +-- .../rendering-elements/shapes/stateStart.ts | 4 +-- packages/mermaid/src/themes/theme-dark.js | 5 ++-- 11 files changed, 85 insertions(+), 55 deletions(-) create mode 100644 packages/mermaid/src/rendering-util/rendering-elements/shapes/handdrawnStyles.ts delete mode 100644 packages/mermaid/src/rendering-util/rendering-elements/shapes/solidFillOptions.ts diff --git a/cypress/platform/knsv2.html b/cypress/platform/knsv2.html index 7ee782bc35..16c9459182 100644 --- a/cypress/platform/knsv2.html +++ b/cypress/platform/knsv2.html @@ -32,7 +32,7 @@ -
    +    
    +      %%{init: {"layout": "stress"} }%%
     stateDiagram
    -NumLockOff --> NumLockOn : EvNumLockPressed
    +  [*] --> T1
    +  T1 --> T2
    +  T2 --> T3
    +  T3 --> T1
    +  T1 --> T3
           
    -
    +    
     stateDiagram
       State1: The state with a note
       note right of State1
    diff --git a/packages/mermaid-layout-elk/src/index.ts b/packages/mermaid-layout-elk/src/index.ts
    index 25a22c3c18..413212b0f8 100644
    --- a/packages/mermaid-layout-elk/src/index.ts
    +++ b/packages/mermaid-layout-elk/src/index.ts
    @@ -10,6 +10,8 @@ import {
       insertEdgeLabel,
       positionEdgeLabel,
     } from '../../mermaid/src/rendering-util/rendering-elements/edges.js';
    +import { curveLinear } from 'd3';
    +import { interpolateToCurve } from '../../mermaid/src/utils.js';
     import insertMarkers from '../../mermaid/src/rendering-util/rendering-elements/markers.js';
     import { insertNode } from '../../mermaid/src/rendering-util/rendering-elements/nodes.js';
     import { labelHelper } from '../../mermaid/src/rendering-util/rendering-elements/shapes/util.js';
    @@ -373,13 +375,14 @@ export const addEdges = function (dataForLayout, graph, svg) {
         edgeData.style = edgeData.style += style;
         edgeData.labelStyle = edgeData.labelStyle += labelStyle;
     
    -    // if (edge.interpolate !== undefined) {
    -    //   edgeData.curve = interpolateToCurve(edge.interpolate, curveLinear);
    -    // } else if (edges.defaultInterpolate !== undefined) {
    -    //   edgeData.curve = interpolateToCurve(edges.defaultInterpolate, curveLinear);
    -    // } else {
    -    //   edgeData.curve = interpolateToCurve(conf.curve, curveLinear);
    -    // }
    +    const conf = getConfig();
    +    if (edge.interpolate !== undefined) {
    +      edgeData.curve = interpolateToCurve(edge.interpolate, curveLinear);
    +    } else if (edges.defaultInterpolate !== undefined) {
    +      edgeData.curve = interpolateToCurve(edges.defaultInterpolate, curveLinear);
    +    } else {
    +      edgeData.curve = interpolateToCurve(conf.curve, curveLinear);
    +    }
     
         if (edge.text === undefined) {
           if (edge.style !== undefined) {
    @@ -466,7 +469,7 @@ function setIncludeChildrenPolicy(nodeId: string, ancestorId: string) {
       }
     }
     
    -export const render = async (data4Layout, svg, element) => {
    +export const render = async (data4Layout, svg, element, algorithm) => {
       const elk = new ELK();
     
       // Add the arrowheads to the svg
    @@ -479,6 +482,15 @@ export const render = async (data4Layout, svg, element) => {
           'elk.hierarchyHandling': 'INCLUDE_CHILDREN',
           'org.eclipse.elk.padding': '[top=100, left=100, bottom=110, right=110]',
           'elk.layered.spacing.edgeNodeBetweenLayers': '30',
    +      'elk.algorithm': algorithm,
    +      'nodePlacement.strategy': 'NETWORK_SIMPLEX',
    +      'spacing.nodeNode': 70,
    +      'spacing.nodeNodeBetweenLayers': 25,
    +      'spacing.edgeNode': 10,
    +      'spacing.edgeNodeBetweenLayers': 20,
    +      'spacing.edgeEdge': 20,
    +      'spacing.edgeEdgeBetweenLayers': 20,
    +      'spacing.nodeSelfLoop': 20,
         },
         children: [],
         edges: [],
    diff --git a/packages/mermaid/src/rendering-util/render.js b/packages/mermaid/src/rendering-util/render.js
    index a7fe490508..8e15f5ccf4 100644
    --- a/packages/mermaid/src/rendering-util/render.js
    +++ b/packages/mermaid/src/rendering-util/render.js
    @@ -4,10 +4,31 @@ export const render = async (data4Layout, svg, element) => {
           const layoutRenderer = await import('./layout-algorithms/dagre/index.js');
           return layoutRenderer.render(data4Layout, svg, element);
         }
    +
         case 'elk': {
           // TODO: Should fix this import path
           const layoutRenderer = await import('../../../mermaid-layout-elk/src/index.js');
    -      return layoutRenderer.render(data4Layout, svg, element);
    +      return layoutRenderer.render(data4Layout, svg, element, 'elk.layered');
    +    }
    +    case 'stress': {
    +      // TODO: Should fix this import path
    +      const layoutRenderer = await import('../../../mermaid-layout-elk/src/index.js');
    +      return layoutRenderer.render(data4Layout, svg, element, 'elk.stress');
    +    }
    +    case 'force': {
    +      // TODO: Should fix this import path
    +      const layoutRenderer = await import('../../../mermaid-layout-elk/src/index.js');
    +      return layoutRenderer.render(data4Layout, svg, element, 'elk.force');
    +    }
    +    case 'mrtree': {
    +      // TODO: Should fix this import path
    +      const layoutRenderer = await import('../../../mermaid-layout-elk/src/index.js');
    +      return layoutRenderer.render(data4Layout, svg, element, 'elk.mrtree');
    +    }
    +    case 'sporeOverlap': {
    +      // TODO: Should fix this import path
    +      const layoutRenderer = await import('../../../mermaid-layout-elk/src/index.js');
    +      return layoutRenderer.render(data4Layout, svg, element, 'elk.sporeOverlap');
         }
       }
     };
    
    From 44f42b2a6348cfa1128d00efbc08bf902474172d Mon Sep 17 00:00:00 2001
    From: =?UTF-8?q?R=C3=B3bert=20Papp?= 
    Date: Sat, 18 May 2024 11:13:09 +0100
    Subject: [PATCH 423/789] Tiny improvements to Diagram Syntax sidebar
    
    ---
     packages/mermaid/src/docs/.vitepress/config.ts | 4 ++--
     1 file changed, 2 insertions(+), 2 deletions(-)
    
    diff --git a/packages/mermaid/src/docs/.vitepress/config.ts b/packages/mermaid/src/docs/.vitepress/config.ts
    index d937daf634..a59b02688c 100644
    --- a/packages/mermaid/src/docs/.vitepress/config.ts
    +++ b/packages/mermaid/src/docs/.vitepress/config.ts
    @@ -150,9 +150,9 @@ function sidebarSyntax() {
             { text: 'C4 Diagram 🦺⚠️', link: '/syntax/c4' },
             { text: 'Mindmaps', link: '/syntax/mindmap' },
             { text: 'Timeline', link: '/syntax/timeline' },
    -        { text: 'Zenuml', link: '/syntax/zenuml' },
    +        { text: 'ZenUML', link: '/syntax/zenuml' },
             { text: 'Sankey 🔥', link: '/syntax/sankey' },
    -        { text: 'XYChart 🔥', link: '/syntax/xyChart' },
    +        { text: 'XY Chart 🔥', link: '/syntax/xyChart' },
             { text: 'Block Diagram 🔥', link: '/syntax/block' },
             { text: 'Packet 🔥', link: '/syntax/packet' },
             { text: 'Other Examples', link: '/syntax/examples' },
    
    From 4463e9d7a30efc23bf4992dd7a180ad1083adeff Mon Sep 17 00:00:00 2001
    From: Knut Sveidqvist 
    Date: Mon, 20 May 2024 13:14:33 +0200
    Subject: [PATCH 424/789] #5237 Removal of debug logs
    
    ---
     packages/mermaid-layout-elk/src/index.ts      |  2 +-
     .../rendering-util/inserElementsForSize.js    | 52 +++++++++++--------
     .../rendering-elements/edges.js               | 36 +------------
     .../intersect/intersect-node.js               |  1 -
     .../intersect/intersect-polygon.js            |  1 -
     .../intersect/intersect-rect.js               |  1 -
     6 files changed, 31 insertions(+), 62 deletions(-)
    
    diff --git a/packages/mermaid-layout-elk/src/index.ts b/packages/mermaid-layout-elk/src/index.ts
    index 413212b0f8..80652924c9 100644
    --- a/packages/mermaid-layout-elk/src/index.ts
    +++ b/packages/mermaid-layout-elk/src/index.ts
    @@ -484,6 +484,7 @@ export const render = async (data4Layout, svg, element, algorithm) => {
           'elk.layered.spacing.edgeNodeBetweenLayers': '30',
           'elk.algorithm': algorithm,
           'nodePlacement.strategy': 'NETWORK_SIMPLEX',
    +
           'spacing.nodeNode': 70,
           'spacing.nodeNodeBetweenLayers': 25,
           'spacing.edgeNode': 10,
    @@ -539,7 +540,6 @@ export const render = async (data4Layout, svg, element, algorithm) => {
               height: node?.labelData?.height || 100,
             },
           ];
    -      // console.log('DAGA node dir: ', node.dir);
           if (node.dir) {
             node.layoutOptions = {
               'elk.direction': dir2ElkDirection(node.dir),
    diff --git a/packages/mermaid/src/rendering-util/inserElementsForSize.js b/packages/mermaid/src/rendering-util/inserElementsForSize.js
    index d9a965c506..617c789f6a 100644
    --- a/packages/mermaid/src/rendering-util/inserElementsForSize.js
    +++ b/packages/mermaid/src/rendering-util/inserElementsForSize.js
    @@ -1,6 +1,6 @@
     // import type { LayoutData } from './types';
     import { select } from 'd3';
    -import { insertNode } from '../dagre-wrapper/nodes.js'
    +import { insertNode } from '../dagre-wrapper/nodes.js';
     
     // export const getDiagramElements = (id: string, securityLevel: any) => {
     export const getDiagramElements = (id, securityLevel) => {
    @@ -13,41 +13,47 @@ export const getDiagramElements = (id, securityLevel) => {
           ? select(sandboxElement.nodes()[0].contentDocument.body)
           : select('body');
     
    -      const svg = root.select(`[id="${id}"]`);
    -      console.log('SVG:', svg, svg.node(), 'id:',id,'root:', root, root.node());
    +  const svg = root.select(`[id="${id}"]`);
     
    -  // console.log('SVG:', svg, svg.node(), 'root:', root, 'sandboxElement:', sandboxElement, 'id:', id, 'securityLevel:', securityLevel);
       // Run the renderer. This is what draws the final graph.
     
       // @ts-ignore todo: fix this
       const element = root.select('#' + id + ' g');
       return { svg, element };
    -}
    +};
     
     // export function insertElementsForSize(el: SVGElement, data: LayoutData): void {
     export function insertElementsForSize(el, data) {
       const nodesElem = el.insert('g').attr('class', 'nodes');
       const edgesElem = el.insert('g').attr('class', 'edges');
    -  console.log('Inserting elements for size:', data);
    -  data.nodes.forEach(async item => {
    +  data.nodes.forEach(async (item) => {
         item.shape = 'rect';
    -    console.log('Inserting node id:', item.id, 'shape:', item.shape);
    -    const e = await insertNode(nodesElem, {...item, class: 'default flowchart-label', labelStyle: '', x:0, y:0, width: 100,rx:0,ry:0, height: 100, shape: 'rect', padding:8});
    -    console.log('Inserted node:', e, e.node());
    -        // Create a new DOM element
    -        // const element = document.createElement('div');
    -
    -        // // Set the content of the element to the name of the item
    -        // element.textContent = item.name;
    -
    -        // // Set the size of the element to the size of the item
    -        // element.style.width = `${item.size}px`;
    -        // element.style.height = `${item.size}px`;
    -
    -        // Append the element to the body of the document
    -        // document.body.appendChild(element);
    +    const e = await insertNode(nodesElem, {
    +      ...item,
    +      class: 'default flowchart-label',
    +      labelStyle: '',
    +      x: 0,
    +      y: 0,
    +      width: 100,
    +      rx: 0,
    +      ry: 0,
    +      height: 100,
    +      shape: 'rect',
    +      padding: 8,
    +    });
    +    // Create a new DOM element
    +    // const element = document.createElement('div');
    +
    +    // // Set the content of the element to the name of the item
    +    // element.textContent = item.name;
    +
    +    // // Set the size of the element to the size of the item
    +    // element.style.width = `${item.size}px`;
    +    // element.style.height = `${item.size}px`;
    +
    +    // Append the element to the body of the document
    +    // document.body.appendChild(element);
       });
    -  console.log('Element', el, 'data:',  data);
     }
     
     export default insertElementsForSize;
    diff --git a/packages/mermaid/src/rendering-util/rendering-elements/edges.js b/packages/mermaid/src/rendering-util/rendering-elements/edges.js
    index e4dedefdc9..c6fa43f72f 100644
    --- a/packages/mermaid/src/rendering-util/rendering-elements/edges.js
    +++ b/packages/mermaid/src/rendering-util/rendering-elements/edges.js
    @@ -414,22 +414,18 @@ function insertMidpoint(p1, p2) {
      * @param points
      */
     function extractCornerPoints(points) {
    -  // console.log('abc99 extractCornerPoints: ', points);
       const cornerPoints = [];
       const cornerPointPositions = [];
       for (let i = 1; i < points.length - 1; i++) {
         const prev = points[i - 1];
         const curr = points[i];
         const next = points[i + 1];
    -    // console.log('abc99 extractCornerPoints: ', prev, curr, next);
         if (
           prev.x === curr.x &&
           curr.y === next.y &&
           Math.abs(curr.x - next.x) > 5 &&
           Math.abs(curr.y - prev.y) > 5
         ) {
    -      // console.log('abc99 extractCornerPoints got one... ');
    -      console.log('abc99 extractCornerPoints got one... ');
           cornerPoints.push(curr);
           cornerPointPositions.push(i);
         } else if (
    @@ -438,7 +434,6 @@ function extractCornerPoints(points) {
           Math.abs(curr.x - prev.x) > 5 &&
           Math.abs(curr.y - next.y) > 5
         ) {
    -      console.log('abc99 extractCornerPoints got one... ', curr.x - prev.x, curr.y - next.y);
           cornerPoints.push(curr);
           cornerPointPositions.push(i);
         }
    @@ -463,17 +458,12 @@ const fixCorners = function (lineData) {
       const { cornerPoints, cornerPointPositions } = extractCornerPoints(lineData);
       const newLineData = [];
       let lastCorner = 0;
    -  if (lineData.length > 3) {
    -    console.log('abc99 fixCorners: ', lineData);
    -  }
       for (let i = 0; i < lineData.length; i++) {
         if (cornerPointPositions.includes(i)) {
           const prevPoint = lineData[i - 1];
           const nextPoint = lineData[i + 1];
           const cornerPoint = lineData[i];
    -      // newLineData.push(lineData[i]);
    -      // Find point 5 points back and push it to the new array
    -      // console.log('abc99 fixCorners git one: ', cornerPointPositions);
    +
           // Find a new point on the line point 5 points back and push it to the new array
           const newPrevPoint = findAdjacentPoint(prevPoint, cornerPoint, 5);
           const newNextPoint = findAdjacentPoint(nextPoint, cornerPoint, 5);
    @@ -503,23 +493,6 @@ const fixCorners = function (lineData) {
             };
             // }
           }
    -      if (lineData.length > 3) {
    -        console.log(
    -          '########### abc99\nCorner point',
    -          cornerPoint,
    -          a,
    -          '\n new points prev: ',
    -          newPrevPoint,
    -          'Next',
    -          newNextPoint,
    -          'xDiff: ',
    -          xDiff,
    -          'yDiff',
    -          yDiff,
    -          'newCornerPoint',
    -          newCornerPoint
    -        );
    -      }
     
           // newLineData.push(cornerPoint);
           newLineData.push(newCornerPoint, newNextPoint);
    @@ -527,9 +500,6 @@ const fixCorners = function (lineData) {
           newLineData.push(lineData[i]);
         }
       }
    -  if (lineData.length > 3) {
    -    console.log('abc99 fixCorners done: ', newLineData);
    -  }
       return newLineData;
     };
     
    @@ -538,7 +508,6 @@ const fixCorners = function (lineData) {
      * @param lineData
      */
     function roundedCornersLine(lineData) {
    -  console.log('abc99 roundedCornersLine: ', lineData);
       const newLineData = fixCorners(lineData);
       let path = '';
       for (let i = 0; i < newLineData.length; i++) {
    @@ -554,7 +523,6 @@ function roundedCornersLine(lineData) {
     }
     export const insertEdge = function (elem, edge, clusterDb, diagramType, graph, id) {
       const { handdrawnSeed } = getConfig();
    -  console.log('abc88 InsertEdge - edge: ', edge);
       let points = edge.points;
       let pointsHasChanged = false;
       const tail = edge.start;
    @@ -593,7 +561,6 @@ export const insertEdge = function (elem, edge, clusterDb, diagramType, graph, i
       let lineData = points.filter((p) => !Number.isNaN(p.y));
       const { cornerPoints, cornerPointPositions } = extractCornerPoints(lineData);
       lineData = fixCorners(lineData);
    -  // console.log('abc99 lineData: ', lineData, points);
       let lastPoint = lineData[0];
       if (lineData.length > 1) {
         lastPoint = lineData[lineData.length - 1];
    @@ -604,7 +571,6 @@ export const insertEdge = function (elem, edge, clusterDb, diagramType, graph, i
         const midPoint = { x: secondLastPoint.x + 3 * diffX, y: secondLastPoint.y + 3 * diffY };
         lineData.splice(-1, 0, midPoint);
       }
    -  // console.log('abc99 InsertEdge 3: ', lineData);
       // This is the accessor function we talked about above
       let curve;
       curve = curveBasis;
    diff --git a/packages/mermaid/src/rendering-util/rendering-elements/intersect/intersect-node.js b/packages/mermaid/src/rendering-util/rendering-elements/intersect/intersect-node.js
    index 54a88ba617..6bc1ea4803 100644
    --- a/packages/mermaid/src/rendering-util/rendering-elements/intersect/intersect-node.js
    +++ b/packages/mermaid/src/rendering-util/rendering-elements/intersect/intersect-node.js
    @@ -3,7 +3,6 @@
      * @param point
      */
     function intersectNode(node, point) {
    -  // console.info('Intersect Node');
       return node.intersect(point);
     }
     
    diff --git a/packages/mermaid/src/rendering-util/rendering-elements/intersect/intersect-polygon.js b/packages/mermaid/src/rendering-util/rendering-elements/intersect/intersect-polygon.js
    index 6941372c7d..39f6fddeb7 100644
    --- a/packages/mermaid/src/rendering-util/rendering-elements/intersect/intersect-polygon.js
    +++ b/packages/mermaid/src/rendering-util/rendering-elements/intersect/intersect-polygon.js
    @@ -48,7 +48,6 @@ function intersectPolygon(node, polyPoints, point) {
       }
     
       if (!intersections.length) {
    -    // console.log('NO INTERSECTION FOUND, RETURN NODE CENTER', node);
         return node;
       }
     
    diff --git a/packages/mermaid/src/rendering-util/rendering-elements/intersect/intersect-rect.js b/packages/mermaid/src/rendering-util/rendering-elements/intersect/intersect-rect.js
    index 13c5967775..daf6b5eea0 100644
    --- a/packages/mermaid/src/rendering-util/rendering-elements/intersect/intersect-rect.js
    +++ b/packages/mermaid/src/rendering-util/rendering-elements/intersect/intersect-rect.js
    @@ -1,5 +1,4 @@
     const intersectRect = (node, point) => {
    -  console.log('intersect.rect abc88', node, point);
       var x = node.x;
       var y = node.y;
     
    
    From b6ef7367c2f439a858842fb0935a0f3ab6d5ff8c Mon Sep 17 00:00:00 2001
    From: Knut Sveidqvist 
    Date: Mon, 20 May 2024 14:21:01 +0200
    Subject: [PATCH 425/789] #5237 Removed style, class, labelText and props from
     node
    
    ---
     cypress/platform/knsv2.html                   |   4 +-
     .../mermaid/src/diagrams/state/dataFetcher.js | 392 +++++++
     .../mermaid/src/diagrams/state/stateDb.js     | 340 +------
     .../dagre/mermaid-graphlib.js                 |   4 +-
     .../dagre/mermaid-graphlib.spec.js            |   2 +-
     .../rendering-elements/clusters.js            |  31 +-
     .../rendering-elements/nodes.js               |   6 +-
     .../rendering-elements/shapes/note.ts         |   8 +-
     .../rendering-elements/shapes/rect.ts         |  50 +-
     .../rendering-elements/shapes/util.js         |  45 +-
     .../mermaid/src/rendering-util/types.d.ts     |  19 +-
     pnpm-lock.yaml                                | 957 ++++++++++++++----
     12 files changed, 1210 insertions(+), 648 deletions(-)
     create mode 100644 packages/mermaid/src/diagrams/state/dataFetcher.js
    
    diff --git a/cypress/platform/knsv2.html b/cypress/platform/knsv2.html
    index 26d6b31e24..185012596e 100644
    --- a/cypress/platform/knsv2.html
    +++ b/cypress/platform/knsv2.html
    @@ -76,7 +76,7 @@
       
       
         
    -      %%{init: {"layout": "stress"} }%%
    +      %%{init: {"layout": "elk"} }%%
     stateDiagram
       [*] --> T1
       T1 --> T2
    @@ -531,7 +531,7 @@
           mermaid.initialize({
             // theme: 'dark',
             handdrawnSeed: 12,
    -        look: 'handdrawn',
    +        // look: 'handdrawn',
             // layout: 'dagre',
             layout: 'elk',
             flowchart: { titleTopMargin: 10 },
    diff --git a/packages/mermaid/src/diagrams/state/dataFetcher.js b/packages/mermaid/src/diagrams/state/dataFetcher.js
    new file mode 100644
    index 0000000000..f0d1f03e71
    --- /dev/null
    +++ b/packages/mermaid/src/diagrams/state/dataFetcher.js
    @@ -0,0 +1,392 @@
    +import { log } from '../../logger.js';
    +import common from '../common/common.js';
    +import { getConfig } from '../../diagram-api/diagramAPI.js';
    +
    +import {
    +  DEFAULT_DIAGRAM_DIRECTION,
    +  STMT_STATE,
    +  STMT_RELATION,
    +  STMT_CLASSDEF,
    +  STMT_APPLYCLASS,
    +  DEFAULT_STATE_TYPE,
    +  DIVIDER_TYPE,
    +  G_EDGE_STYLE,
    +  G_EDGE_ARROWHEADSTYLE,
    +  G_EDGE_LABELPOS,
    +  G_EDGE_LABELTYPE,
    +  G_EDGE_THICKNESS,
    +  CSS_EDGE,
    +  DEFAULT_NESTED_DOC_DIR,
    +  SHAPE_DIVIDER,
    +  SHAPE_GROUP,
    +  CSS_DIAGRAM_CLUSTER,
    +  CSS_DIAGRAM_CLUSTER_ALT,
    +  CSS_DIAGRAM_STATE,
    +  SHAPE_STATE_WITH_DESC,
    +  SHAPE_STATE,
    +  SHAPE_START,
    +  SHAPE_END,
    +  SHAPE_NOTE,
    +  SHAPE_NOTEGROUP,
    +  CSS_DIAGRAM_NOTE,
    +  DOMID_TYPE_SPACER,
    +  DOMID_STATE,
    +  NOTE_ID,
    +  PARENT_ID,
    +  NOTE,
    +  PARENT,
    +  CSS_EDGE_NOTE_EDGE,
    +} from './stateCommon.js';
    +
    +// List of nodes created from the parsed diagram statement items
    +let nodeDb = {};
    +
    +let graphItemCount = 0; // used to construct ids, etc.
    +
    +/**
    + * Create a standard string for the dom ID of an item.
    + * If a type is given, insert that before the counter, preceded by the type spacer
    + *
    + * @param itemId
    + * @param counter
    + * @param {string | null} type
    + * @param typeSpacer
    + * @returns {string}
    + */
    +export function stateDomId(itemId = '', counter = 0, type = '', typeSpacer = DOMID_TYPE_SPACER) {
    +  const typeStr = type !== null && type.length > 0 ? `${typeSpacer}${type}` : '';
    +  return `${DOMID_STATE}-${itemId}${typeStr}-${counter}`;
    +}
    +
    +const setupDoc = (parentParsedItem, doc, diagramStates, nodes, edges, altFlag, useRough) => {
    +  // graphItemCount = 0;
    +  log.trace('items', doc);
    +  doc.forEach((item) => {
    +    switch (item.stmt) {
    +      case STMT_STATE:
    +        dataFetcher(parentParsedItem, item, diagramStates, nodes, edges, altFlag, useRough);
    +        break;
    +      case DEFAULT_STATE_TYPE:
    +        dataFetcher(parentParsedItem, item, diagramStates, nodes, edges, altFlag, useRough);
    +        break;
    +      case STMT_RELATION:
    +        {
    +          dataFetcher(
    +            parentParsedItem,
    +            item.state1,
    +            diagramStates,
    +            nodes,
    +            edges,
    +            altFlag,
    +            useRough
    +          );
    +          dataFetcher(
    +            parentParsedItem,
    +            item.state2,
    +            diagramStates,
    +            nodes,
    +            edges,
    +            altFlag,
    +            useRough
    +          );
    +          const edgeData = {
    +            id: 'edge' + graphItemCount,
    +            start: item.state1.id,
    +            end: item.state2.id,
    +            arrowhead: 'normal',
    +            arrowTypeEnd: 'arrow_barb',
    +            style: G_EDGE_STYLE,
    +            labelStyle: '',
    +            label: common.sanitizeText(item.description, getConfig()),
    +            arrowheadStyle: G_EDGE_ARROWHEADSTYLE,
    +            labelpos: G_EDGE_LABELPOS,
    +            labelType: G_EDGE_LABELTYPE,
    +            thickness: G_EDGE_THICKNESS,
    +            classes: CSS_EDGE,
    +            useRough,
    +          };
    +          edges.push(edgeData);
    +          //g.setEdge(item.state1.id, item.state2.id, edgeData, graphItemCount);
    +          graphItemCount++;
    +        }
    +        break;
    +    }
    +  });
    +};
    +
    +/**
    + * Get the direction from the statement items.
    + * Look through all of the documents (docs) in the parsedItems
    + * Because is a _document_ direction, the default direction is not necessarily the same as the overall default _diagram_ direction.
    + * @param {object[]} parsedItem - the parsed statement item to look through
    + * @param [defaultDir] - the direction to use if none is found
    + * @returns {string}
    + */
    +const getDir = (parsedItem, defaultDir = DEFAULT_NESTED_DOC_DIR) => {
    +  let dir = defaultDir;
    +  if (parsedItem.doc) {
    +    for (let i = 0; i < parsedItem.doc.length; i++) {
    +      const parsedItemDoc = parsedItem.doc[i];
    +      if (parsedItemDoc.stmt === 'dir') {
    +        dir = parsedItemDoc.value;
    +      }
    +    }
    +  }
    +  return dir;
    +};
    +
    +/**
    + * Returns a new list of classes.
    + * In the future, this can be replaced with a class common to all diagrams.
    + * ClassDef information = { id: id, styles: [], textStyles: [] }
    + *
    + * @returns {{}}
    + */
    +function newClassesList() {
    +  return {};
    +}
    +
    +// let direction = DEFAULT_DIAGRAM_DIRECTION;
    +// let rootDoc = [];
    +let cssClasses = newClassesList(); // style classes defined by a classDef
    +
    +/**
    + *
    + * @param nodes
    + * @param nodeData
    + */
    +function insertOrUpdateNode(nodes, nodeData) {
    +  if (!nodeData.id || nodeData.id === '' || nodeData.id === '') {
    +    return;
    +  }
    +
    +  //Populate node style attributes if nodeData has classes defined
    +  if (nodeData.cssClasses) {
    +    nodeData.cssClasses.split(' ').forEach((cssClass) => {
    +      if (cssClasses[cssClass]) {
    +        cssClasses[cssClass].styles.forEach((style) => {
    +          // Populate nodeData with style attributes specifically to be used by rough.js
    +          if (style && style.startsWith('fill:')) {
    +            nodeData.backgroundColor = style.replace('fill:', '');
    +          }
    +          if (style && style.startsWith('stroke:')) {
    +            nodeData.borderColor = style.replace('stroke:', '');
    +          }
    +          if (style && style.startsWith('stroke-width:')) {
    +            nodeData.borderWidth = style.replace('stroke-width:', '');
    +          }
    +
    +          nodeData.cssStyles += style + ';';
    +        });
    +        cssClasses[cssClass].textStyles.forEach((style) => {
    +          nodeData.labelStyle += style + ';';
    +          if (style && style.startsWith('fill:')) {
    +            nodeData.labelTextColor = style.replace('fill:', '');
    +          }
    +        });
    +      }
    +    });
    +  }
    +  const existingNodeData = nodes.find((node) => node.id === nodeData.id);
    +  if (existingNodeData) {
    +    //update the existing nodeData
    +    Object.assign(existingNodeData, nodeData);
    +  } else {
    +    nodes.push(nodeData);
    +  }
    +}
    +/**
    + * Get classes from the db for the info item.
    + * If there aren't any or if dbInfoItem isn't defined, return an empty string.
    + * Else create 1 string from the list of classes found
    + *
    + * @param {undefined | null | object} dbInfoItem
    + * @returns {string}
    + */
    +function getClassesFromDbInfo(dbInfoItem) {
    +  if (dbInfoItem === undefined || dbInfoItem === null) {
    +    return '';
    +  } else {
    +    if (dbInfoItem.cssClasses) {
    +      return dbInfoItem.cssClasses.join(' ');
    +    } else {
    +      return '';
    +    }
    +  }
    +}
    +export const dataFetcher = (parent, parsedItem, diagramStates, nodes, edges, altFlag, useRough) => {
    +  const itemId = parsedItem.id;
    +  const classStr = getClassesFromDbInfo(diagramStates[itemId]);
    +
    +  if (itemId !== 'root') {
    +    let shape = SHAPE_STATE;
    +    if (parsedItem.start === true) {
    +      shape = SHAPE_START;
    +    }
    +    if (parsedItem.start === false) {
    +      shape = SHAPE_END;
    +    }
    +    if (parsedItem.type !== DEFAULT_STATE_TYPE) {
    +      shape = parsedItem.type;
    +    }
    +
    +    // Add the node to our list (nodeDb)
    +    if (!nodeDb[itemId]) {
    +      nodeDb[itemId] = {
    +        id: itemId,
    +        shape,
    +        description: common.sanitizeText(itemId, getConfig()),
    +        cssClasses: `${classStr} ${CSS_DIAGRAM_STATE}`,
    +      };
    +    }
    +
    +    const newNode = nodeDb[itemId];
    +    console.log('New Node:', newNode);
    +
    +    // Save data for description and group so that for instance a statement without description overwrites
    +    // one with description  @todo TODO What does this mean? If important, add a test for it
    +
    +    // Build of the array of description strings
    +    if (parsedItem.description) {
    +      if (Array.isArray(newNode.description)) {
    +        // There already is an array of strings,add to it
    +        newNode.shape = SHAPE_STATE_WITH_DESC;
    +        newNode.description.push(parsedItem.description);
    +      } else {
    +        if (newNode.description?.length > 0) {
    +          // if there is a description already transform it to an array
    +          newNode.shape = SHAPE_STATE_WITH_DESC;
    +          if (newNode.description === itemId) {
    +            // If the previous description was this, remove it
    +            newNode.description = [parsedItem.description];
    +          } else {
    +            newNode.description = [newNode.description, parsedItem.description];
    +          }
    +        } else {
    +          newNode.shape = SHAPE_STATE;
    +          newNode.description = parsedItem.description;
    +        }
    +      }
    +      newNode.description = common.sanitizeTextOrArray(newNode.description, getConfig());
    +    }
    +
    +    // If there's only 1 description entry, just use a regular state shape
    +    if (newNode.description?.length === 1 && newNode.shape === SHAPE_STATE_WITH_DESC) {
    +      newNode.shape = SHAPE_STATE;
    +    }
    +
    +    // group
    +    if (!newNode.type && parsedItem.doc) {
    +      log.info('Setting cluster for ', itemId, getDir(parsedItem));
    +      newNode.type = 'group';
    +      newNode.dir = getDir(parsedItem);
    +      newNode.shape = parsedItem.type === DIVIDER_TYPE ? SHAPE_DIVIDER : SHAPE_GROUP;
    +      newNode.cssClasses =
    +        newNode.cssClasses +
    +        ' ' +
    +        CSS_DIAGRAM_CLUSTER +
    +        ' ' +
    +        (altFlag ? CSS_DIAGRAM_CLUSTER_ALT : '');
    +    }
    +
    +    // This is what will be added to the graph
    +    const nodeData = {
    +      labelStyle: '',
    +      shape: newNode.shape,
    +      label: newNode.description,
    +      cssClasses: newNode.cssClasses,
    +      cssStyles: '',
    +      id: itemId,
    +      dir: newNode.dir,
    +      domId: stateDomId(itemId, graphItemCount),
    +      type: newNode.type,
    +      padding: 15,
    +      rx: 10,
    +      ry: 10,
    +      useRough,
    +    };
    +
    +    if (parent && parent.id !== 'root') {
    +      log.trace('Setting node ', itemId, ' to be child of its parent ', parent.id);
    +      nodeData.parentId = parent.id;
    +    }
    +
    +    nodeData.centerLabel = true;
    +
    +    if (parsedItem.note) {
    +      // Todo: set random id
    +      const noteData = {
    +        labelStyle: '',
    +        shape: SHAPE_NOTE,
    +        label: parsedItem.note.text,
    +        cssClasses: CSS_DIAGRAM_NOTE,
    +        // useHtmlLabels: false,
    +        cssStyles: '', // styles.style,
    +        id: itemId + NOTE_ID + '-' + graphItemCount,
    +        domId: stateDomId(itemId, graphItemCount, NOTE),
    +        type: newNode.type,
    +        padding: 15, //getConfig().flowchart.padding
    +        useRough,
    +      };
    +      const groupData = {
    +        labelStyle: '',
    +        shape: SHAPE_NOTEGROUP,
    +        label: parsedItem.note.text,
    +        cssClasses: newNode.cssClasses,
    +        cssStyles: '', // styles.style,
    +        id: itemId + PARENT_ID,
    +        domId: stateDomId(itemId, graphItemCount, PARENT),
    +        type: 'group',
    +        padding: 0, //getConfig().flowchart.padding
    +        useRough,
    +      };
    +      graphItemCount++;
    +
    +      const parentNodeId = itemId + PARENT_ID;
    +
    +      //add parent id to groupData
    +      groupData.id = parentNodeId;
    +      //add parent id to noteData
    +      noteData.parentId = parentNodeId;
    +
    +      //insert groupData
    +      insertOrUpdateNode(nodes, groupData);
    +      //insert noteData
    +      insertOrUpdateNode(nodes, noteData);
    +      //insert nodeData
    +      insertOrUpdateNode(nodes, nodeData);
    +
    +      let from = itemId;
    +      let to = noteData.id;
    +
    +      if (parsedItem.note.position === 'left of') {
    +        from = noteData.id;
    +        to = itemId;
    +      }
    +
    +      edges.push({
    +        id: from + '-' + to,
    +        start: from,
    +        end: to,
    +        arrowhead: 'none',
    +        arrowTypeEnd: '',
    +        style: G_EDGE_STYLE,
    +        labelStyle: '',
    +        classes: CSS_EDGE_NOTE_EDGE,
    +        arrowheadStyle: G_EDGE_ARROWHEADSTYLE,
    +        labelpos: G_EDGE_LABELPOS,
    +        labelType: G_EDGE_LABELTYPE,
    +        thickness: G_EDGE_THICKNESS,
    +        useRough,
    +      });
    +    } else {
    +      insertOrUpdateNode(nodes, nodeData);
    +    }
    +
    +    console.log('Nodes:', nodes);
    +  }
    +  if (parsedItem.doc) {
    +    log.trace('Adding nodes children ');
    +    setupDoc(parsedItem, parsedItem.doc, diagramStates, nodes, edges, !altFlag, useRough);
    +  }
    +};
    diff --git a/packages/mermaid/src/diagrams/state/stateDb.js b/packages/mermaid/src/diagrams/state/stateDb.js
    index 8e2ec5b816..4c5835b68f 100644
    --- a/packages/mermaid/src/diagrams/state/stateDb.js
    +++ b/packages/mermaid/src/diagrams/state/stateDb.js
    @@ -11,6 +11,7 @@ import {
       setDiagramTitle,
       getDiagramTitle,
     } from '../common/commonDb.js';
    +import { dataFetcher } from './dataFetcher.js';
     
     import {
       DEFAULT_DIAGRAM_DIRECTION,
    @@ -75,10 +76,6 @@ let rootDoc = [];
     let classes = newClassesList(); // style classes defined by a classDef
     
     // --------------------------------------
    -// List of nodes created from the parsed diagram statement items
    -let nodeDb = {};
    -
    -let graphItemCount = 0; // used to construct ids, etc.
     
     const newDoc = () => {
       return {
    @@ -574,300 +571,6 @@ const setDirection = (dir) => {
     
     const trimColon = (str) => (str && str[0] === ':' ? str.substr(1).trim() : str.trim());
     
    -const dataFetcher = (parent, parsedItem, diagramStates, nodes, edges, altFlag, useRough) => {
    -  const itemId = parsedItem.id;
    -  const classStr = getClassesFromDbInfo(diagramStates[itemId]);
    -
    -  if (itemId !== 'root') {
    -    let shape = SHAPE_STATE;
    -    if (parsedItem.start === true) {
    -      shape = SHAPE_START;
    -    }
    -    if (parsedItem.start === false) {
    -      shape = SHAPE_END;
    -    }
    -    if (parsedItem.type !== DEFAULT_STATE_TYPE) {
    -      shape = parsedItem.type;
    -    }
    -
    -    // Add the node to our list (nodeDb)
    -    if (!nodeDb[itemId]) {
    -      nodeDb[itemId] = {
    -        id: itemId,
    -        shape,
    -        description: common.sanitizeText(itemId, getConfig()),
    -        classes: `${classStr} ${CSS_DIAGRAM_STATE}`,
    -      };
    -    }
    -
    -    const newNode = nodeDb[itemId];
    -    console.log('New Node:', newNode);
    -
    -    // Save data for description and group so that for instance a statement without description overwrites
    -    // one with description  @todo TODO What does this mean? If important, add a test for it
    -
    -    // Build of the array of description strings
    -    if (parsedItem.description) {
    -      if (Array.isArray(newNode.description)) {
    -        // There already is an array of strings,add to it
    -        newNode.shape = SHAPE_STATE_WITH_DESC;
    -        newNode.description.push(parsedItem.description);
    -      } else {
    -        if (newNode.description?.length > 0) {
    -          // if there is a description already transform it to an array
    -          newNode.shape = SHAPE_STATE_WITH_DESC;
    -          if (newNode.description === itemId) {
    -            // If the previous description was this, remove it
    -            newNode.description = [parsedItem.description];
    -          } else {
    -            newNode.description = [newNode.description, parsedItem.description];
    -          }
    -        } else {
    -          newNode.shape = SHAPE_STATE;
    -          newNode.description = parsedItem.description;
    -        }
    -      }
    -      newNode.description = common.sanitizeTextOrArray(newNode.description, getConfig());
    -    }
    -
    -    // If there's only 1 description entry, just use a regular state shape
    -    if (newNode.description?.length === 1 && newNode.shape === SHAPE_STATE_WITH_DESC) {
    -      newNode.shape = SHAPE_STATE;
    -    }
    -
    -    // group
    -    if (!newNode.type && parsedItem.doc) {
    -      log.info('Setting cluster for ', itemId, getDir(parsedItem));
    -      newNode.type = 'group';
    -      newNode.dir = getDir(parsedItem);
    -      newNode.shape = parsedItem.type === DIVIDER_TYPE ? SHAPE_DIVIDER : SHAPE_GROUP;
    -      newNode.classes =
    -        newNode.classes +
    -        ' ' +
    -        CSS_DIAGRAM_CLUSTER +
    -        ' ' +
    -        (altFlag ? CSS_DIAGRAM_CLUSTER_ALT : '');
    -    }
    -
    -    // This is what will be added to the graph
    -    const nodeData = {
    -      labelStyle: '',
    -      shape: newNode.shape,
    -      labelText: newNode.description,
    -      classes: newNode.classes,
    -      style: '',
    -      id: itemId,
    -      dir: newNode.dir,
    -      domId: stateDomId(itemId, graphItemCount),
    -      type: newNode.type,
    -      padding: 15,
    -      rx: 10,
    -      ry: 10,
    -      useRough,
    -    };
    -
    -    if (parent && parent.id !== 'root') {
    -      log.trace('Setting node ', itemId, ' to be child of its parent ', parent.id);
    -      nodeData.parentId = parent.id;
    -    }
    -
    -    nodeData.centerLabel = true;
    -
    -    if (parsedItem.note) {
    -      // Todo: set random id
    -      const noteData = {
    -        labelStyle: '',
    -        shape: SHAPE_NOTE,
    -        labelText: parsedItem.note.text,
    -        classes: CSS_DIAGRAM_NOTE,
    -        // useHtmlLabels: false,
    -        style: '', // styles.style,
    -        id: itemId + NOTE_ID + '-' + graphItemCount,
    -        domId: stateDomId(itemId, graphItemCount, NOTE),
    -        type: newNode.type,
    -        padding: 15, //getConfig().flowchart.padding
    -        useRough,
    -      };
    -      const groupData = {
    -        labelStyle: '',
    -        shape: SHAPE_NOTEGROUP,
    -        labelText: parsedItem.note.text,
    -        classes: newNode.classes,
    -        style: '', // styles.style,
    -        id: itemId + PARENT_ID,
    -        domId: stateDomId(itemId, graphItemCount, PARENT),
    -        type: 'group',
    -        padding: 0, //getConfig().flowchart.padding
    -        useRough,
    -      };
    -      graphItemCount++;
    -
    -      const parentNodeId = itemId + PARENT_ID;
    -
    -      //add parent id to groupData
    -      groupData.id = parentNodeId;
    -      //add parent id to noteData
    -      noteData.parentId = parentNodeId;
    -
    -      //insert groupData
    -      insertOrUpdateNode(nodes, groupData);
    -      //insert noteData
    -      insertOrUpdateNode(nodes, noteData);
    -      //insert nodeData
    -      insertOrUpdateNode(nodes, nodeData);
    -
    -      let from = itemId;
    -      let to = noteData.id;
    -
    -      if (parsedItem.note.position === 'left of') {
    -        from = noteData.id;
    -        to = itemId;
    -      }
    -
    -      edges.push({
    -        id: from + '-' + to,
    -        start: from,
    -        end: to,
    -        arrowhead: 'none',
    -        arrowTypeEnd: '',
    -        style: G_EDGE_STYLE,
    -        labelStyle: '',
    -        classes: CSS_EDGE_NOTE_EDGE,
    -        arrowheadStyle: G_EDGE_ARROWHEADSTYLE,
    -        labelpos: G_EDGE_LABELPOS,
    -        labelType: G_EDGE_LABELTYPE,
    -        thickness: G_EDGE_THICKNESS,
    -        useRough,
    -      });
    -    } else {
    -      insertOrUpdateNode(nodes, nodeData);
    -    }
    -
    -    console.log('Nodes:', nodes);
    -  }
    -  if (parsedItem.doc) {
    -    log.trace('Adding nodes children ');
    -    setupDoc(parsedItem, parsedItem.doc, diagramStates, nodes, edges, !altFlag, useRough);
    -  }
    -};
    -
    -/**
    - *
    - * @param nodes
    - * @param nodeData
    - */
    -function insertOrUpdateNode(nodes, nodeData) {
    -  if (!nodeData.id || nodeData.id === '' || nodeData.id === '') {
    -    return;
    -  }
    -
    -  //Populate node style attributes if nodeData has classes defined
    -  if (nodeData.classes) {
    -    nodeData.classes.split(' ').forEach((cssClass) => {
    -      if (classes[cssClass]) {
    -        classes[cssClass].styles.forEach((style) => {
    -          // Populate nodeData with style attributes specifically to be used by rough.js
    -          if (style && style.startsWith('fill:')) {
    -            nodeData.backgroundColor = style.replace('fill:', '');
    -          }
    -          if (style && style.startsWith('stroke:')) {
    -            nodeData.borderColor = style.replace('stroke:', '');
    -          }
    -          if (style && style.startsWith('stroke-width:')) {
    -            nodeData.borderWidth = style.replace('stroke-width:', '');
    -          }
    -
    -          nodeData.style += style + ';';
    -        });
    -        classes[cssClass].textStyles.forEach((style) => {
    -          nodeData.labelStyle += style + ';';
    -          if (style && style.startsWith('fill:')) {
    -            nodeData.labelTextColor = style.replace('fill:', '');
    -          }
    -        });
    -      }
    -    });
    -  }
    -  const existingNodeData = nodes.find((node) => node.id === nodeData.id);
    -  if (existingNodeData) {
    -    //update the existing nodeData
    -    Object.assign(existingNodeData, nodeData);
    -  } else {
    -    nodes.push(nodeData);
    -  }
    -}
    -
    -/**
    - * Create a standard string for the dom ID of an item.
    - * If a type is given, insert that before the counter, preceded by the type spacer
    - *
    - * @param itemId
    - * @param counter
    - * @param {string | null} type
    - * @param typeSpacer
    - * @returns {string}
    - */
    -export function stateDomId(itemId = '', counter = 0, type = '', typeSpacer = DOMID_TYPE_SPACER) {
    -  const typeStr = type !== null && type.length > 0 ? `${typeSpacer}${type}` : '';
    -  return `${DOMID_STATE}-${itemId}${typeStr}-${counter}`;
    -}
    -
    -const setupDoc = (parentParsedItem, doc, diagramStates, nodes, edges, altFlag, useRough) => {
    -  // graphItemCount = 0;
    -  log.trace('items', doc);
    -  doc.forEach((item) => {
    -    switch (item.stmt) {
    -      case STMT_STATE:
    -        dataFetcher(parentParsedItem, item, diagramStates, nodes, edges, altFlag, useRough);
    -        break;
    -      case DEFAULT_STATE_TYPE:
    -        dataFetcher(parentParsedItem, item, diagramStates, nodes, edges, altFlag, useRough);
    -        break;
    -      case STMT_RELATION:
    -        {
    -          dataFetcher(
    -            parentParsedItem,
    -            item.state1,
    -            diagramStates,
    -            nodes,
    -            edges,
    -            altFlag,
    -            useRough
    -          );
    -          dataFetcher(
    -            parentParsedItem,
    -            item.state2,
    -            diagramStates,
    -            nodes,
    -            edges,
    -            altFlag,
    -            useRough
    -          );
    -          const edgeData = {
    -            id: 'edge' + graphItemCount,
    -            start: item.state1.id,
    -            end: item.state2.id,
    -            arrowhead: 'normal',
    -            arrowTypeEnd: 'arrow_barb',
    -            style: G_EDGE_STYLE,
    -            labelStyle: '',
    -            label: common.sanitizeText(item.description, getConfig()),
    -            arrowheadStyle: G_EDGE_ARROWHEADSTYLE,
    -            labelpos: G_EDGE_LABELPOS,
    -            labelType: G_EDGE_LABELTYPE,
    -            thickness: G_EDGE_THICKNESS,
    -            classes: CSS_EDGE,
    -            useRough,
    -          };
    -          edges.push(edgeData);
    -          //g.setEdge(item.state1.id, item.state2.id, edgeData, graphItemCount);
    -          graphItemCount++;
    -        }
    -        break;
    -    }
    -  });
    -};
    -
     export const getData = () => {
       const nodes = [];
       const edges = [];
    @@ -886,47 +589,6 @@ export const getData = () => {
       return { nodes, edges, other: {} };
     };
     
    -/**
    - * Get the direction from the statement items.
    - * Look through all of the documents (docs) in the parsedItems
    - * Because is a _document_ direction, the default direction is not necessarily the same as the overall default _diagram_ direction.
    - * @param {object[]} parsedItem - the parsed statement item to look through
    - * @param [defaultDir] - the direction to use if none is found
    - * @returns {string}
    - */
    -const getDir = (parsedItem, defaultDir = DEFAULT_NESTED_DOC_DIR) => {
    -  let dir = defaultDir;
    -  if (parsedItem.doc) {
    -    for (let i = 0; i < parsedItem.doc.length; i++) {
    -      const parsedItemDoc = parsedItem.doc[i];
    -      if (parsedItemDoc.stmt === 'dir') {
    -        dir = parsedItemDoc.value;
    -      }
    -    }
    -  }
    -  return dir;
    -};
    -
    -/**
    - * Get classes from the db for the info item.
    - * If there aren't any or if dbInfoItem isn't defined, return an empty string.
    - * Else create 1 string from the list of classes found
    - *
    - * @param {undefined | null | object} dbInfoItem
    - * @returns {string}
    - */
    -function getClassesFromDbInfo(dbInfoItem) {
    -  if (dbInfoItem === undefined || dbInfoItem === null) {
    -    return '';
    -  } else {
    -    if (dbInfoItem.classes) {
    -      return dbInfoItem.classes.join(' ');
    -    } else {
    -      return '';
    -    }
    -  }
    -}
    -
     export default {
       getConfig: () => getConfig().state,
       getData,
    diff --git a/packages/mermaid/src/rendering-util/layout-algorithms/dagre/mermaid-graphlib.js b/packages/mermaid/src/rendering-util/layout-algorithms/dagre/mermaid-graphlib.js
    index 005bb8f833..3744254b24 100644
    --- a/packages/mermaid/src/rendering-util/layout-algorithms/dagre/mermaid-graphlib.js
    +++ b/packages/mermaid/src/rendering-util/layout-algorithms/dagre/mermaid-graphlib.js
    @@ -288,7 +288,7 @@ export const adjustClustersAndEdges = (graph, depth) => {
             domId: specialId,
             id: specialId,
             labelStyle: '',
    -        labelText: edge.label,
    +        label: edge.label,
             padding: 0,
             shape: 'labelRect',
             style: '',
    @@ -416,7 +416,7 @@ export const extractor = (graph, depth) => {
             clusterNode: true,
             id: node,
             clusterData: clusterDb[node].clusterData,
    -        labelText: clusterDb[node].labelText,
    +        label: clusterDb[node].label,
             graph: clusterGraph,
           });
           log.warn('New graph after copy node: (', node, ')', graphlibJson.write(clusterGraph));
    diff --git a/packages/mermaid/src/rendering-util/layout-algorithms/dagre/mermaid-graphlib.spec.js b/packages/mermaid/src/rendering-util/layout-algorithms/dagre/mermaid-graphlib.spec.js
    index d44e543911..a10e4669db 100644
    --- a/packages/mermaid/src/rendering-util/layout-algorithms/dagre/mermaid-graphlib.spec.js
    +++ b/packages/mermaid/src/rendering-util/layout-algorithms/dagre/mermaid-graphlib.spec.js
    @@ -386,7 +386,7 @@ flowchart TB
         */
     
         const exportedGraph = JSON.parse(
    -      '{"options":{"directed":true,"multigraph":true,"compound":true},"nodes":[{"v":"A","value":{"labelStyle":"","shape":"rect","labelText":"A","rx":0,"ry":0,"class":"default","style":"","id":"A","width":500,"type":"group","padding":15}},{"v":"B","value":{"labelStyle":"","shape":"rect","labelText":"B","rx":0,"ry":0,"class":"default","style":"","id":"B","width":500,"type":"group","padding":15},"parent":"A"},{"v":"b","value":{"labelStyle":"","shape":"rect","labelText":"b","rx":0,"ry":0,"class":"default","style":"","id":"b","padding":15},"parent":"A"},{"v":"c","value":{"labelStyle":"","shape":"rect","labelText":"c","rx":0,"ry":0,"class":"default","style":"","id":"c","padding":15},"parent":"B"},{"v":"a","value":{"labelStyle":"","shape":"rect","labelText":"a","rx":0,"ry":0,"class":"default","style":"","id":"a","padding":15},"parent":"A"}],"edges":[{"v":"b","w":"B","name":"1","value":{"minlen":1,"arrowhead":"normal","arrowTypeStart":"arrow_open","arrowTypeEnd":"arrow_point","thickness":"normal","pattern":"solid","style":"fill:none","labelStyle":"","arrowheadStyle":"fill: #333","labelpos":"c","labelType":"text","label":"","id":"L-b-B","classes":"flowchart-link LS-b LE-B"}},{"v":"a","w":"c","name":"2","value":{"minlen":1,"arrowhead":"normal","arrowTypeStart":"arrow_open","arrowTypeEnd":"arrow_point","thickness":"normal","pattern":"solid","style":"fill:none","labelStyle":"","arrowheadStyle":"fill: #333","labelpos":"c","labelType":"text","label":"","id":"L-a-c","classes":"flowchart-link LS-a LE-c"}}],"value":{"rankdir":"TB","nodesep":50,"ranksep":50,"marginx":8,"marginy":8}}'
    +      '{"options":{"directed":true,"multigraph":true,"compound":true},"nodes":[{"v":"A","value":{"labelStyle":"","shape":"rect","labelText":"A","rx":0,"ry":0,"cssClass":"default","style":"","id":"A","width":500,"type":"group","padding":15}},{"v":"B","value":{"labelStyle":"","shape":"rect","labelText":"B","rx":0,"ry":0,"class":"default","style":"","id":"B","width":500,"type":"group","padding":15},"parent":"A"},{"v":"b","value":{"labelStyle":"","shape":"rect","labelText":"b","rx":0,"ry":0,"class":"default","style":"","id":"b","padding":15},"parent":"A"},{"v":"c","value":{"labelStyle":"","shape":"rect","labelText":"c","rx":0,"ry":0,"class":"default","style":"","id":"c","padding":15},"parent":"B"},{"v":"a","value":{"labelStyle":"","shape":"rect","labelText":"a","rx":0,"ry":0,"class":"default","style":"","id":"a","padding":15},"parent":"A"}],"edges":[{"v":"b","w":"B","name":"1","value":{"minlen":1,"arrowhead":"normal","arrowTypeStart":"arrow_open","arrowTypeEnd":"arrow_point","thickness":"normal","pattern":"solid","style":"fill:none","labelStyle":"","arrowheadStyle":"fill: #333","labelpos":"c","labelType":"text","label":"","id":"L-b-B","cssClasses":"flowchart-link LS-b LE-B"}},{"v":"a","w":"c","name":"2","value":{"minlen":1,"arrowhead":"normal","arrowTypeStart":"arrow_open","arrowTypeEnd":"arrow_point","thickness":"normal","pattern":"solid","style":"fill:none","labelStyle":"","arrowheadStyle":"fill: #333","labelpos":"c","labelType":"text","label":"","id":"L-a-c","cssClasses":"flowchart-link LS-a LE-c"}}],"value":{"rankdir":"TB","nodesep":50,"ranksep":50,"marginx":8,"marginy":8}}'
         );
         const gr = graphlibJson.read(exportedGraph);
     
    diff --git a/packages/mermaid/src/rendering-util/rendering-elements/clusters.js b/packages/mermaid/src/rendering-util/rendering-elements/clusters.js
    index 8c422cee24..b807409edd 100644
    --- a/packages/mermaid/src/rendering-util/rendering-elements/clusters.js
    +++ b/packages/mermaid/src/rendering-util/rendering-elements/clusters.js
    @@ -14,10 +14,7 @@ const rect = (parent, node) => {
       const siteConfig = getConfig();
     
       // Add outer g element
    -  const shapeSvg = parent
    -    .insert('g')
    -    .attr('class', 'cluster' + (node.class ? ' ' + node.class : ''))
    -    .attr('id', node.id);
    +  const shapeSvg = parent.insert('g').attr('class', 'cluster').attr('id', node.id);
     
       // add the rect
       const rect = shapeSvg.insert('rect', ':first-child');
    @@ -25,15 +22,15 @@ const rect = (parent, node) => {
       const useHtmlLabels = evaluate(siteConfig.flowchart.htmlLabels);
     
       // Create the label and insert it after the rect
    -  const label = shapeSvg.insert('g').attr('class', 'cluster-label');
    +  const labelEl = shapeSvg.insert('g').attr('class', 'cluster-label');
     
       // const text = label
       //   .node()
    -  //   .appendChild(createLabel(node.labelText, node.labelStyle, undefined, true));
    +  //   .appendChild(createLabel(node.label, node.labelStyle, undefined, true));
       const text =
         node.labelType === 'markdown'
    -      ? createText(label, node.labelText, { style: node.labelStyle, useHtmlLabels })
    -      : label.node().appendChild(createLabel(node.labelText, node.labelStyle, undefined, true));
    +      ? createText(labelEl, node.label, { style: node.labelStyle, useHtmlLabels })
    +      : labelEl.node().appendChild(createLabel(node.label, node.labelStyle, undefined, true));
     
       // Get the size of the label
       let bbox = text.getBBox();
    @@ -59,7 +56,7 @@ const rect = (parent, node) => {
       log.trace('Data ', node, JSON.stringify(node));
       // center the rect around its coordinate
       rect
    -    .attr('style', node.style)
    +    .attr('style', node.cssStyles)
         .attr('rx', node.rx)
         .attr('ry', node.ry)
         .attr('x', node.x - width / 2)
    @@ -69,13 +66,13 @@ const rect = (parent, node) => {
     
       const { subGraphTitleTopMargin } = getSubGraphTitleMargins(siteConfig);
       if (useHtmlLabels) {
    -    label.attr(
    +    labelEl.attr(
           'transform',
           // This puts the label on top of the box instead of inside it
           `translate(${node.x - bbox.width / 2}, ${node.y - node.height / 2 + subGraphTitleTopMargin})`
         );
       } else {
    -    label.attr(
    +    labelEl.attr(
           'transform',
           // This puts the label on top of the box instead of inside it
           `translate(${node.x}, ${node.y - node.height / 2 + subGraphTitleTopMargin})`
    @@ -154,7 +151,7 @@ const roundedWithTitle = (parent, node) => {
         themeVariables;
     
       // Add outer g element
    -  const shapeSvg = parent.insert('g').attr('class', node.classes).attr('id', node.id);
    +  const shapeSvg = parent.insert('g').attr('class', node.cssClasses).attr('id', node.id);
     
       // add the rect
       const outerRectG = shapeSvg.insert('g', ':first-child');
    @@ -163,9 +160,7 @@ const roundedWithTitle = (parent, node) => {
       const label = shapeSvg.insert('g').attr('class', 'cluster-label');
       let innerRect = shapeSvg.append('rect');
     
    -  const text = label
    -    .node()
    -    .appendChild(createLabel(node.labelText, node.labelStyle, undefined, true));
    +  const text = label.node().appendChild(createLabel(node.label, node.labelStyle, undefined, true));
     
       // Get the size of the label
       let bbox = text.getBBox();
    @@ -197,7 +192,7 @@ const roundedWithTitle = (parent, node) => {
       // add the rect
       let rect;
       if (node.useRough) {
    -    const isAlt = node.classes.includes('statediagram-cluster-alt');
    +    const isAlt = node.cssClasses.includes('statediagram-cluster-alt');
         const rc = rough.svg(shapeSvg);
         const roughOuterNode =
           node.rx || node.ry
    @@ -263,7 +258,7 @@ const roundedWithTitle = (parent, node) => {
     const divider = (parent, node) => {
       const { handdrawnSeed } = getConfig();
       // Add outer g element
    -  const shapeSvg = parent.insert('g').attr('class', node.classes).attr('id', node.id);
    +  const shapeSvg = parent.insert('g').attr('class', node.cssClasses).attr('id', node.id);
     
       // add the rect
       let rect;
    @@ -318,7 +313,7 @@ export const insertCluster = (elem, node) => {
       return cluster;
     };
     export const getClusterTitleWidth = (elem, node) => {
    -  const label = createLabel(node.labelText, node.labelStyle, undefined, true);
    +  const label = createLabel(node.label, node.labelStyle, undefined, true);
       elem.node().appendChild(label);
       const width = label.getBBox().width;
       elem.node().removeChild(label);
    diff --git a/packages/mermaid/src/rendering-util/rendering-elements/nodes.js b/packages/mermaid/src/rendering-util/rendering-elements/nodes.js
    index 427476ee03..3013d2fba8 100644
    --- a/packages/mermaid/src/rendering-util/rendering-elements/nodes.js
    +++ b/packages/mermaid/src/rendering-util/rendering-elements/nodes.js
    @@ -48,9 +48,9 @@ export const insertNode = async (elem, node, dir) => {
       if (node.tooltip) {
         el.attr('title', node.tooltip);
       }
    -  if (node.class) {
    -    el.attr('class', 'node default ' + node.class);
    -  }
    +  // if (node.class) {
    +  //   el.attr('class', 'node default ' + node.class);
    +  // }
     
       nodeElems[node.id] = newEl;
     
    diff --git a/packages/mermaid/src/rendering-util/rendering-elements/shapes/note.ts b/packages/mermaid/src/rendering-util/rendering-elements/shapes/note.ts
    index 1d78acd2ff..5ba4ba4517 100644
    --- a/packages/mermaid/src/rendering-util/rendering-elements/shapes/note.ts
    +++ b/packages/mermaid/src/rendering-util/rendering-elements/shapes/note.ts
    @@ -16,12 +16,12 @@ export const note = async (parent: SVGAElement, node: Node) => {
       const { shapeSvg, bbox, halfPadding } = await labelHelper(
         parent,
         node,
    -    'node ' + node.classes,
    +    'node ' + node.cssClasses,
         true
       );
     
    -  log.info('Classes = ', node.classes);
    -  const { style, useRough } = node;
    +  log.info('Classes = ', node.cssClasses);
    +  const { cssStyles, useRough } = node;
       let rect;
       const totalWidth = bbox.width + node.padding;
       const totalHeight = bbox.height + node.padding;
    @@ -41,7 +41,7 @@ export const note = async (parent: SVGAElement, node: Node) => {
         });
     
         rect = shapeSvg.insert(() => roughNode, ':first-child');
    -    rect.attr('class', 'basic label-container').attr('style', style);
    +    rect.attr('class', 'basic label-container').attr('style', cssStyles);
       } else {
         rect = shapeSvg.insert('rect', ':first-child');
         rect
    diff --git a/packages/mermaid/src/rendering-util/rendering-elements/shapes/rect.ts b/packages/mermaid/src/rendering-util/rendering-elements/shapes/rect.ts
    index 34c6a09e6e..9ced7ee1f7 100644
    --- a/packages/mermaid/src/rendering-util/rendering-elements/shapes/rect.ts
    +++ b/packages/mermaid/src/rendering-util/rendering-elements/shapes/rect.ts
    @@ -65,7 +65,7 @@ export const rect = async (parent: SVGAElement, node: Node) => {
       const { shapeSvg, bbox, halfPadding } = await labelHelper(
         parent,
         node,
    -    'node ' + node.classes + ' ' + node.class,
    +    'node ' + node.cssClasses, // + ' ' + node.class,
         true
       );
     
    @@ -75,7 +75,7 @@ export const rect = async (parent: SVGAElement, node: Node) => {
       const y = -bbox.height / 2 - halfPadding;
     
       let rect;
    -  const { rx, ry, style, useRough } = node;
    +  const { rx, ry, style: cssStyles, useRough } = node;
       if (useRough) {
         const rc = rough.svg(shapeSvg);
         const options = userNodeOverrides(node, {
    @@ -93,13 +93,13 @@ export const rect = async (parent: SVGAElement, node: Node) => {
             : rc.rectangle(x, y, totalWidth, totalHeight, options);
     
         rect = shapeSvg.insert(() => roughNode, ':first-child');
    -    rect.attr('class', 'basic label-container').attr('style', style);
    +    rect.attr('class', 'basic label-container').attr('style', cssStyles);
       } else {
         rect = shapeSvg.insert('rect', ':first-child');
     
         rect
           .attr('class', 'basic label-container')
    -      .attr('style', style)
    +      .attr('style', cssStyles)
           .attr('rx', rx)
           .attr('ry', ry)
           .attr('x', x)
    @@ -108,16 +108,16 @@ export const rect = async (parent: SVGAElement, node: Node) => {
           .attr('height', totalHeight);
       }
     
    -  if (node.props) {
    -    const propKeys = new Set(Object.keys(node.props));
    -    if (node.props.borders) {
    -      applyNodePropertyBorders(rect, node.props.borders + '', totalWidth, totalHeight);
    -      propKeys.delete('borders');
    -    }
    -    propKeys.forEach((propKey) => {
    -      log.warn(`Unknown node property ${propKey}`);
    -    });
    -  }
    +  // if (node.props) {
    +  //   const propKeys = new Set(Object.keys(node.props));
    +  //   if (node.props.borders) {
    +  //     applyNodePropertyBorders(rect, node.props.borders + '', totalWidth, totalHeight);
    +  //     propKeys.delete('borders');
    +  //   }
    +  //   propKeys.forEach((propKey) => {
    +  //     log.warn(`Unknown node property ${propKey}`);
    +  //   });
    +  // }
     
       updateNodeBounds(node, rect);
     
    @@ -131,7 +131,7 @@ export const rect = async (parent: SVGAElement, node: Node) => {
     export const labelRect = async (parent: SVGElement, node: Node) => {
       const { shapeSvg } = await labelHelper(parent, node, 'label', true);
     
    -  log.trace('Classes = ', node.class);
    +  // log.trace('Classes = ', node.class);
       // add the rect
       const rect = shapeSvg.insert('rect', ':first-child');
     
    @@ -141,16 +141,16 @@ export const labelRect = async (parent: SVGElement, node: Node) => {
       rect.attr('width', totalWidth).attr('height', totalHeight);
       shapeSvg.attr('class', 'label edgeLabel');
     
    -  if (node.props) {
    -    const propKeys = new Set(Object.keys(node.props));
    -    if (node.props.borders) {
    -      applyNodePropertyBorders(rect, node.borders, totalWidth, totalHeight);
    -      propKeys.delete('borders');
    -    }
    -    propKeys.forEach((propKey) => {
    -      log.warn(`Unknown node property ${propKey}`);
    -    });
    -  }
    +  // if (node.props) {
    +  //   const propKeys = new Set(Object.keys(node.props));
    +  //   if (node.props.borders) {
    +  //     applyNodePropertyBorders(rect, node.borders, totalWidth, totalHeight);
    +  //     propKeys.delete('borders');
    +  //   }
    +  //   propKeys.forEach((propKey) => {
    +  //     log.warn(`Unknown node property ${propKey}`);
    +  //   });
    +  // }
     
       updateNodeBounds(node, rect);
     
    diff --git a/packages/mermaid/src/rendering-util/rendering-elements/shapes/util.js b/packages/mermaid/src/rendering-util/rendering-elements/shapes/util.js
    index d9314aacb4..3ab5090a6f 100644
    --- a/packages/mermaid/src/rendering-util/rendering-elements/shapes/util.js
    +++ b/packages/mermaid/src/rendering-util/rendering-elements/shapes/util.js
    @@ -6,48 +6,43 @@ import { evaluate, sanitizeText } from '$root/diagrams/common/common.js';
     import { decodeEntities } from '$root/utils.js';
     
     export const labelHelper = async (parent, node, _classes, isNode) => {
    -  let classes;
    +  let cssClasses;
       const useHtmlLabels = node.useHtmlLabels || evaluate(getConfig().flowchart.htmlLabels);
       if (!_classes) {
    -    classes = 'node default';
    +    cssClasses = 'node default';
       } else {
    -    classes = _classes;
    +    cssClasses = _classes;
       }
     
       // Add outer g element
       const shapeSvg = parent
         .insert('g')
    -    .attr('class', classes)
    +    .attr('class', cssClasses)
         .attr('id', node.domId || node.id);
     
       // Create the label and insert it after the rect
    -  const label = shapeSvg.insert('g').attr('class', 'label').attr('style', node.labelStyle);
    +  const labelEl = shapeSvg.insert('g').attr('class', 'label').attr('style', node.labelStyle);
     
    -  // Replace labelText with default value if undefined
    -  let labelText;
    -  if (node.labelText === undefined) {
    -    labelText = '';
    +  // Replace label with default value if undefined
    +  let label;
    +  if (node.label === undefined) {
    +    label = '';
       } else {
    -    labelText = typeof node.labelText === 'string' ? node.labelText : node.labelText[0];
    +    label = typeof node.label === 'string' ? node.label : node.label[0];
       }
     
    -  const textNode = label.node();
    +  const textNode = labelEl.node();
       let text;
       if (node.labelType === 'markdown') {
         // text = textNode;
    -    text = createText(label, sanitizeText(decodeEntities(labelText), getConfig()), {
    +    text = createText(labelEl, sanitizeText(decodeEntities(label), getConfig()), {
           useHtmlLabels,
           width: node.width || getConfig().flowchart.wrappingWidth,
    -      classes: 'markdown-node-label',
    +      cssClasses: 'markdown-node-label',
         });
       } else {
         text = textNode.appendChild(
    -      createLabel(
    -        sanitizeText(decodeEntities(labelText), getConfig()),
    -        node.labelStyle,
    -        false,
    -        isNode
    -      )
    +      createLabel(sanitizeText(decodeEntities(label), getConfig()), node.labelStyle, false, isNode)
         );
       }
       // Get the size of the label
    @@ -61,7 +56,7 @@ export const labelHelper = async (parent, node, _classes, isNode) => {
         // if there are images, need to wait for them to load before getting the bounding box
         const images = div.getElementsByTagName('img');
         if (images) {
    -      const noImgText = labelText.replace(/]*>/g, '').trim() === '';
    +      const noImgText = label.replace(/]*>/g, '').trim() === '';
     
           await Promise.all(
             [...images].map(
    @@ -107,15 +102,15 @@ export const labelHelper = async (parent, node, _classes, isNode) => {
     
       // Center the label
       if (useHtmlLabels) {
    -    label.attr('transform', 'translate(' + -bbox.width / 2 + ', ' + -bbox.height / 2 + ')');
    +    labelEl.attr('transform', 'translate(' + -bbox.width / 2 + ', ' + -bbox.height / 2 + ')');
       } else {
    -    label.attr('transform', 'translate(' + 0 + ', ' + -bbox.height / 2 + ')');
    +    labelEl.attr('transform', 'translate(' + 0 + ', ' + -bbox.height / 2 + ')');
       }
       if (node.centerLabel) {
    -    label.attr('transform', 'translate(' + -bbox.width / 2 + ', ' + -bbox.height / 2 + ')');
    +    labelEl.attr('transform', 'translate(' + -bbox.width / 2 + ', ' + -bbox.height / 2 + ')');
       }
    -  label.insert('rect', ':first-child');
    -  return { shapeSvg, bbox, halfPadding, label };
    +  labelEl.insert('rect', ':first-child');
    +  return { shapeSvg, bbox, halfPadding, label: labelEl };
     };
     
     export const updateNodeBounds = (node, element) => {
    diff --git a/packages/mermaid/src/rendering-util/types.d.ts b/packages/mermaid/src/rendering-util/types.d.ts
    index 4e65ebe24d..f6b56582e9 100644
    --- a/packages/mermaid/src/rendering-util/types.d.ts
    +++ b/packages/mermaid/src/rendering-util/types.d.ts
    @@ -14,25 +14,24 @@ interface Node {
       id: string;
       label?: string;
       parentId?: string;
    -  position?: string; //REMOVE
    +  position?: string; // Keep, this is for notes 'left of', 'right of', etc.
       cssStyles?: string; // Renamed from `styles` to `cssStyles`
    -  style?: string; //REMOVE
       cssClasses?: string; // Renamed from `classes` to `cssClasses`
    -  classes?: string; //REMOVE
    -  class?: string; //REMOVE
    +  // style?: string; //REMOVE
    +  // class?: string; //REMOVE
    +  // labelText?: string; //REMOVE, use `label` instead
    +  // props?: Record; //REMOVE
       labelStyle?: string;
    -  labelText?: string; //REMOVE, use `label` instead
     
       // Flowchart specific properties
    -  labelType?: string; // REMOVE? Always use markdown string, need to check for KaTeX
    +  labelType?: string; // REMOVE? Always use markdown string, need to check for KaTeX - wait with this one
       domId: string;
       // Rendering specific properties for both Flowchart and State Diagram nodes
       dir?: string; // Only relevant for isGroup true, i.e. a sub-graph or composite state.
       haveCallback?: boolean;
       link?: string;
       linkTarget?: string;
    -  padding?: number; //REMOVE, use from LayoutData.config
    -  props?: Record; //REMOVE
    +  padding?: number; //REMOVE?, use from LayoutData.config - Keep, this could be shape specific
       shape?: string;
       tooltip?: string;
       type: string; // REMOVE, replace with isGroup: boolean, default false
    @@ -137,8 +136,8 @@ export function createDomElement(node: Node): Node {
       element.id = node.domId;
     
       // Optional: Apply styles and classes to the element
    -  if (node.styles) {
    -    element.style.cssText = node.styles;
    +  if (node.cssStyles) {
    +    element.style.cssText = node.cssStyles;
       }
       if (node.classes) {
         element.className = node.classes;
    diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
    index 43036f16f2..08ec10c415 100644
    --- a/pnpm-lock.yaml
    +++ b/pnpm-lock.yaml
    @@ -436,6 +436,9 @@ importers:
     
       packages/mermaid-layout-elk:
         dependencies:
    +      d3:
    +        specifier: ^7.9.0
    +        version: 7.9.0
           elkjs:
             specifier: ^0.9.3
             version: 0.9.3
    @@ -515,6 +518,61 @@ importers:
             specifier: ^7.0.0
             version: 7.0.0
     
    +  packages/mermaid/src/vitepress:
    +    dependencies:
    +      '@vueuse/core':
    +        specifier: ^10.1.0
    +        version: 10.9.0(vue@3.4.26)
    +      jiti:
    +        specifier: ^1.18.2
    +        version: 1.21.0
    +      mermaid:
    +        specifier: workspace:^
    +        version: link:../..
    +      vue:
    +        specifier: ^3.3
    +        version: 3.4.26(typescript@5.4.5)
    +    devDependencies:
    +      '@iconify-json/carbon':
    +        specifier: ^1.1.16
    +        version: 1.1.32
    +      '@unocss/reset':
    +        specifier: ^0.58.0
    +        version: 0.58.9
    +      '@vite-pwa/vitepress':
    +        specifier: ^0.3.0
    +        version: 0.3.1(vite-plugin-pwa@0.17.5)
    +      '@vitejs/plugin-vue':
    +        specifier: ^4.2.1
    +        version: 4.6.2(vite@4.5.3)(vue@3.4.26)
    +      fast-glob:
    +        specifier: ^3.2.12
    +        version: 3.3.2
    +      https-localhost:
    +        specifier: ^4.7.1
    +        version: 4.7.1
    +      pathe:
    +        specifier: ^1.1.0
    +        version: 1.1.2
    +      unocss:
    +        specifier: ^0.58.0
    +        version: 0.58.9(postcss@8.4.38)(rollup@2.79.1)(vite@4.5.3)
    +      unplugin-vue-components:
    +        specifier: ^0.26.0
    +        version: 0.26.0(rollup@2.79.1)(vue@3.4.26)
    +      vite:
    +        specifier: ^4.4.12
    +        version: 4.5.3(@types/node@20.12.7)
    +      vite-plugin-pwa:
    +        specifier: ^0.17.0
    +        version: 0.17.5(vite@4.5.3)(workbox-build@7.1.0)(workbox-window@7.1.0)
    +      vitepress:
    +        specifier: 1.0.0-rc.39
    +        version: 1.0.0-rc.39(@algolia/client-search@4.23.3)(@types/node@20.12.7)(postcss@8.4.38)(search-insights@2.13.0)(typescript@5.4.5)
    +      workbox-window:
    +        specifier: ^7.0.0
    +        version: 7.1.0
    +
       packages/parser:
         dependencies:
           langium:
    @@ -1118,13 +1176,13 @@ packages:
         dependencies:
           '@ampproject/remapping': 2.3.0
           '@babel/code-frame': 7.24.2
    -      '@babel/generator': 7.24.4
    +      '@babel/generator': 7.24.5
           '@babel/helper-compilation-targets': 7.23.6
    -      '@babel/helper-module-transforms': 7.23.3(@babel/core@7.24.4)
    -      '@babel/helpers': 7.24.4
    +      '@babel/helper-module-transforms': 7.24.5(@babel/core@7.24.4)
    +      '@babel/helpers': 7.24.5
           '@babel/parser': 7.24.5
           '@babel/template': 7.24.0
    -      '@babel/traverse': 7.24.1
    +      '@babel/traverse': 7.24.5
           '@babel/types': 7.24.5
           convert-source-map: 2.0.0
           debug: 4.3.4(supports-color@8.1.1)
    @@ -1158,16 +1216,6 @@ packages:
           - supports-color
         dev: true
     
    -  /@babel/generator@7.24.4:
    -    resolution: {integrity: sha512-Xd6+v6SnjWVx/nus+y0l1sxMOTOMBkyL4+BIdbALyatQnAe/SRVjANeDPSCYaX+i1iJmuGSKf3Z+E+V/va1Hvw==}
    -    engines: {node: '>=6.9.0'}
    -    dependencies:
    -      '@babel/types': 7.24.5
    -      '@jridgewell/gen-mapping': 0.3.5
    -      '@jridgewell/trace-mapping': 0.3.25
    -      jsesc: 2.5.2
    -    dev: true
    -
       /@babel/generator@7.24.5:
         resolution: {integrity: sha512-x32i4hEXvr+iI0NEoEfDKzlemF8AmtOP8CcrRaEcpzysWuoEb1KknpcvMsHKPONoKZiDuItklgWhB18xEhr9PA==}
         engines: {node: '>=6.9.0'}
    @@ -1268,13 +1316,6 @@ packages:
           '@babel/types': 7.24.5
         dev: true
     
    -  /@babel/helper-member-expression-to-functions@7.23.0:
    -    resolution: {integrity: sha512-6gfrPwh7OuT6gZyJZvd6WbTfrqAo7vm4xCzAXOusKqq/vWdKXphTpj5klHKNmRUU6/QRGlBsyU9mAIPaWHlqJA==}
    -    engines: {node: '>=6.9.0'}
    -    dependencies:
    -      '@babel/types': 7.24.5
    -    dev: true
    -
       /@babel/helper-member-expression-to-functions@7.24.5:
         resolution: {integrity: sha512-4owRteeihKWKamtqg4JmWSsEZU445xpFRXPEwp44HbgbxdWlUV1b4Agg4lkA806Lil5XM/e+FJyS0vj5T6vmcA==}
         engines: {node: '>=6.9.0'}
    @@ -1289,8 +1330,8 @@ packages:
           '@babel/types': 7.24.5
         dev: true
     
    -  /@babel/helper-module-transforms@7.23.3(@babel/core@7.24.4):
    -    resolution: {integrity: sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ==}
    +  /@babel/helper-module-transforms@7.24.5(@babel/core@7.24.4):
    +    resolution: {integrity: sha512-9GxeY8c2d2mdQUP1Dye0ks3VDyIMS98kt/llQ2nUId8IsWqTF0l1LkSX0/uP7l7MCDrzXS009Hyhe2gzTiGW8A==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0
    @@ -1349,7 +1390,7 @@ packages:
         dependencies:
           '@babel/core': 7.24.5
           '@babel/helper-environment-visitor': 7.22.20
    -      '@babel/helper-member-expression-to-functions': 7.23.0
    +      '@babel/helper-member-expression-to-functions': 7.24.5
           '@babel/helper-optimise-call-expression': 7.22.5
         dev: true
     
    @@ -1401,17 +1442,6 @@ packages:
           '@babel/types': 7.24.5
         dev: true
     
    -  /@babel/helpers@7.24.4:
    -    resolution: {integrity: sha512-FewdlZbSiwaVGlgT1DPANDuCHaDMiOo+D/IDYRFYjHOuv66xMSJ7fQwwODwRNAPkADIO/z1EoF/l2BCWlWABDw==}
    -    engines: {node: '>=6.9.0'}
    -    dependencies:
    -      '@babel/template': 7.24.0
    -      '@babel/traverse': 7.24.5
    -      '@babel/types': 7.24.5
    -    transitivePeerDependencies:
    -      - supports-color
    -    dev: true
    -
       /@babel/helpers@7.24.5:
         resolution: {integrity: sha512-CiQmBMMpMQHwM5m01YnrM6imUG1ebgYJ+fAIW4FZe6m4qHTPaRHti+R8cggAwkdz4oXhtO4/K9JWlh+8hIfR2Q==}
         engines: {node: '>=6.9.0'}
    @@ -1493,15 +1523,6 @@ packages:
           '@babel/core': 7.24.5
         dev: true
     
    -  /@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.24.4):
    -    resolution: {integrity: sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==}
    -    peerDependencies:
    -      '@babel/core': ^7.0.0-0
    -    dependencies:
    -      '@babel/core': 7.24.4
    -      '@babel/helper-plugin-utils': 7.24.5
    -    dev: true
    -
       /@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.24.5):
         resolution: {integrity: sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==}
         peerDependencies:
    @@ -1511,21 +1532,12 @@ packages:
           '@babel/helper-plugin-utils': 7.24.5
         dev: true
     
    -  /@babel/plugin-syntax-bigint@7.8.3(@babel/core@7.24.4):
    +  /@babel/plugin-syntax-bigint@7.8.3(@babel/core@7.24.5):
         resolution: {integrity: sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==}
         peerDependencies:
           '@babel/core': ^7.0.0-0
         dependencies:
    -      '@babel/core': 7.24.4
    -      '@babel/helper-plugin-utils': 7.24.5
    -    dev: true
    -
    -  /@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.24.4):
    -    resolution: {integrity: sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==}
    -    peerDependencies:
    -      '@babel/core': ^7.0.0-0
    -    dependencies:
    -      '@babel/core': 7.24.4
    +      '@babel/core': 7.24.5
           '@babel/helper-plugin-utils': 7.24.5
         dev: true
     
    @@ -1586,15 +1598,6 @@ packages:
           '@babel/helper-plugin-utils': 7.24.5
         dev: true
     
    -  /@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.24.4):
    -    resolution: {integrity: sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==}
    -    peerDependencies:
    -      '@babel/core': ^7.0.0-0
    -    dependencies:
    -      '@babel/core': 7.24.4
    -      '@babel/helper-plugin-utils': 7.24.5
    -    dev: true
    -
       /@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.24.5):
         resolution: {integrity: sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==}
         peerDependencies:
    @@ -1604,15 +1607,6 @@ packages:
           '@babel/helper-plugin-utils': 7.24.5
         dev: true
     
    -  /@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.24.4):
    -    resolution: {integrity: sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==}
    -    peerDependencies:
    -      '@babel/core': ^7.0.0-0
    -    dependencies:
    -      '@babel/core': 7.24.4
    -      '@babel/helper-plugin-utils': 7.24.5
    -    dev: true
    -
       /@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.24.5):
         resolution: {integrity: sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==}
         peerDependencies:
    @@ -1622,16 +1616,6 @@ packages:
           '@babel/helper-plugin-utils': 7.24.5
         dev: true
     
    -  /@babel/plugin-syntax-jsx@7.24.1(@babel/core@7.24.4):
    -    resolution: {integrity: sha512-2eCtxZXf+kbkMIsXS4poTvT4Yu5rXiRa+9xGVT56raghjmBTKMpFNc9R4IDiB4emao9eO22Ox7CxuJG7BgExqA==}
    -    engines: {node: '>=6.9.0'}
    -    peerDependencies:
    -      '@babel/core': ^7.0.0-0
    -    dependencies:
    -      '@babel/core': 7.24.4
    -      '@babel/helper-plugin-utils': 7.24.5
    -    dev: true
    -
       /@babel/plugin-syntax-jsx@7.24.1(@babel/core@7.24.5):
         resolution: {integrity: sha512-2eCtxZXf+kbkMIsXS4poTvT4Yu5rXiRa+9xGVT56raghjmBTKMpFNc9R4IDiB4emao9eO22Ox7CxuJG7BgExqA==}
         engines: {node: '>=6.9.0'}
    @@ -1642,15 +1626,6 @@ packages:
           '@babel/helper-plugin-utils': 7.24.5
         dev: true
     
    -  /@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.24.4):
    -    resolution: {integrity: sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==}
    -    peerDependencies:
    -      '@babel/core': ^7.0.0-0
    -    dependencies:
    -      '@babel/core': 7.24.4
    -      '@babel/helper-plugin-utils': 7.24.5
    -    dev: true
    -
       /@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.24.5):
         resolution: {integrity: sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==}
         peerDependencies:
    @@ -1660,15 +1635,6 @@ packages:
           '@babel/helper-plugin-utils': 7.24.5
         dev: true
     
    -  /@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.24.4):
    -    resolution: {integrity: sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==}
    -    peerDependencies:
    -      '@babel/core': ^7.0.0-0
    -    dependencies:
    -      '@babel/core': 7.24.4
    -      '@babel/helper-plugin-utils': 7.24.5
    -    dev: true
    -
       /@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.24.5):
         resolution: {integrity: sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==}
         peerDependencies:
    @@ -1678,15 +1644,6 @@ packages:
           '@babel/helper-plugin-utils': 7.24.5
         dev: true
     
    -  /@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.24.4):
    -    resolution: {integrity: sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==}
    -    peerDependencies:
    -      '@babel/core': ^7.0.0-0
    -    dependencies:
    -      '@babel/core': 7.24.4
    -      '@babel/helper-plugin-utils': 7.24.5
    -    dev: true
    -
       /@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.24.5):
         resolution: {integrity: sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==}
         peerDependencies:
    @@ -1696,15 +1653,6 @@ packages:
           '@babel/helper-plugin-utils': 7.24.5
         dev: true
     
    -  /@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.24.4):
    -    resolution: {integrity: sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==}
    -    peerDependencies:
    -      '@babel/core': ^7.0.0-0
    -    dependencies:
    -      '@babel/core': 7.24.4
    -      '@babel/helper-plugin-utils': 7.24.5
    -    dev: true
    -
       /@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.24.5):
         resolution: {integrity: sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==}
         peerDependencies:
    @@ -1714,15 +1662,6 @@ packages:
           '@babel/helper-plugin-utils': 7.24.5
         dev: true
     
    -  /@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.24.4):
    -    resolution: {integrity: sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==}
    -    peerDependencies:
    -      '@babel/core': ^7.0.0-0
    -    dependencies:
    -      '@babel/core': 7.24.4
    -      '@babel/helper-plugin-utils': 7.24.5
    -    dev: true
    -
       /@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.24.5):
         resolution: {integrity: sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==}
         peerDependencies:
    @@ -1732,15 +1671,6 @@ packages:
           '@babel/helper-plugin-utils': 7.24.5
         dev: true
     
    -  /@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.24.4):
    -    resolution: {integrity: sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==}
    -    peerDependencies:
    -      '@babel/core': ^7.0.0-0
    -    dependencies:
    -      '@babel/core': 7.24.4
    -      '@babel/helper-plugin-utils': 7.24.5
    -    dev: true
    -
       /@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.24.5):
         resolution: {integrity: sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==}
         peerDependencies:
    @@ -1760,16 +1690,6 @@ packages:
           '@babel/helper-plugin-utils': 7.24.5
         dev: true
     
    -  /@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.24.4):
    -    resolution: {integrity: sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==}
    -    engines: {node: '>=6.9.0'}
    -    peerDependencies:
    -      '@babel/core': ^7.0.0-0
    -    dependencies:
    -      '@babel/core': 7.24.4
    -      '@babel/helper-plugin-utils': 7.24.5
    -    dev: true
    -
       /@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.24.5):
         resolution: {integrity: sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==}
         engines: {node: '>=6.9.0'}
    @@ -1780,16 +1700,6 @@ packages:
           '@babel/helper-plugin-utils': 7.24.5
         dev: true
     
    -  /@babel/plugin-syntax-typescript@7.24.1(@babel/core@7.24.4):
    -    resolution: {integrity: sha512-Yhnmvy5HZEnHUty6i++gcfH1/l68AHnItFHnaCv6hn9dNh0hQvvQJsxpi4BMBFN5DLeHBuucT/0DgzXif/OyRw==}
    -    engines: {node: '>=6.9.0'}
    -    peerDependencies:
    -      '@babel/core': ^7.0.0-0
    -    dependencies:
    -      '@babel/core': 7.24.4
    -      '@babel/helper-plugin-utils': 7.24.5
    -    dev: true
    -
       /@babel/plugin-syntax-typescript@7.24.1(@babel/core@7.24.5):
         resolution: {integrity: sha512-Yhnmvy5HZEnHUty6i++gcfH1/l68AHnItFHnaCv6hn9dNh0hQvvQJsxpi4BMBFN5DLeHBuucT/0DgzXif/OyRw==}
         engines: {node: '>=6.9.0'}
    @@ -2506,24 +2416,6 @@ packages:
           '@babel/types': 7.24.5
         dev: true
     
    -  /@babel/traverse@7.24.1:
    -    resolution: {integrity: sha512-xuU6o9m68KeqZbQuDt2TcKSxUw/mrsvavlEqQ1leZ/B+C9tk6E4sRWy97WaXgvq5E+nU3cXMxv3WKOCanVMCmQ==}
    -    engines: {node: '>=6.9.0'}
    -    dependencies:
    -      '@babel/code-frame': 7.24.2
    -      '@babel/generator': 7.24.5
    -      '@babel/helper-environment-visitor': 7.22.20
    -      '@babel/helper-function-name': 7.23.0
    -      '@babel/helper-hoist-variables': 7.22.5
    -      '@babel/helper-split-export-declaration': 7.24.5
    -      '@babel/parser': 7.24.5
    -      '@babel/types': 7.24.5
    -      debug: 4.3.4(supports-color@8.1.1)
    -      globals: 11.12.0
    -    transitivePeerDependencies:
    -      - supports-color
    -    dev: true
    -
       /@babel/traverse@7.24.5:
         resolution: {integrity: sha512-7aaBLeDQ4zYcUFDUD41lJc1fG8+5IU9DaNSJAgal866FGvmD5EbWQgnEC6kO1gGLsX0esNkfnJSndbTXA3r7UA==}
         engines: {node: '>=6.9.0'}
    @@ -3072,6 +2964,15 @@ packages:
         dev: true
         optional: true
     
    +  /@esbuild/android-arm64@0.18.20:
    +    resolution: {integrity: sha512-Nz4rJcchGDtENV0eMKUNa6L12zz2zBDXuhj/Vjh18zGqB44Bi7MBMSXjgunJgjRhCmKOjnPuZp4Mb6OKqtMHLQ==}
    +    engines: {node: '>=12'}
    +    cpu: [arm64]
    +    os: [android]
    +    requiresBuild: true
    +    dev: true
    +    optional: true
    +
       /@esbuild/android-arm64@0.19.12:
         resolution: {integrity: sha512-P0UVNGIienjZv3f5zq0DP3Nt2IE/3plFzuaS96vihvD0Hd6H/q4WXUGpCxD/E8YrSXfNyRPbpTq+T8ZQioSuPA==}
         engines: {node: '>=12'}
    @@ -3090,6 +2991,15 @@ packages:
         dev: true
         optional: true
     
    +  /@esbuild/android-arm@0.18.20:
    +    resolution: {integrity: sha512-fyi7TDI/ijKKNZTUJAQqiG5T7YjJXgnzkURqmGj13C6dCqckZBLdl4h7bkhHt/t0WP+zO9/zwroDvANaOqO5Sw==}
    +    engines: {node: '>=12'}
    +    cpu: [arm]
    +    os: [android]
    +    requiresBuild: true
    +    dev: true
    +    optional: true
    +
       /@esbuild/android-arm@0.19.12:
         resolution: {integrity: sha512-qg/Lj1mu3CdQlDEEiWrlC4eaPZ1KztwGJ9B6J+/6G+/4ewxJg7gqj8eVYWvao1bXrqGiW2rsBZFSX3q2lcW05w==}
         engines: {node: '>=12'}
    @@ -3108,6 +3018,15 @@ packages:
         dev: true
         optional: true
     
    +  /@esbuild/android-x64@0.18.20:
    +    resolution: {integrity: sha512-8GDdlePJA8D6zlZYJV/jnrRAi6rOiNaCC/JclcXpB+KIuvfBN4owLtgzY2bsxnx666XjJx2kDPUmnTtR8qKQUg==}
    +    engines: {node: '>=12'}
    +    cpu: [x64]
    +    os: [android]
    +    requiresBuild: true
    +    dev: true
    +    optional: true
    +
       /@esbuild/android-x64@0.19.12:
         resolution: {integrity: sha512-3k7ZoUW6Q6YqhdhIaq/WZ7HwBpnFBlW905Fa4s4qWJyiNOgT1dOqDiVAQFwBH7gBRZr17gLrlFCRzF6jFh7Kew==}
         engines: {node: '>=12'}
    @@ -3126,6 +3045,15 @@ packages:
         dev: true
         optional: true
     
    +  /@esbuild/darwin-arm64@0.18.20:
    +    resolution: {integrity: sha512-bxRHW5kHU38zS2lPTPOyuyTm+S+eobPUnTNkdJEfAddYgEcll4xkT8DB9d2008DtTbl7uJag2HuE5NZAZgnNEA==}
    +    engines: {node: '>=12'}
    +    cpu: [arm64]
    +    os: [darwin]
    +    requiresBuild: true
    +    dev: true
    +    optional: true
    +
       /@esbuild/darwin-arm64@0.19.12:
         resolution: {integrity: sha512-B6IeSgZgtEzGC42jsI+YYu9Z3HKRxp8ZT3cqhvliEHovq8HSX2YX8lNocDn79gCKJXOSaEot9MVYky7AKjCs8g==}
         engines: {node: '>=12'}
    @@ -3144,6 +3072,15 @@ packages:
         dev: true
         optional: true
     
    +  /@esbuild/darwin-x64@0.18.20:
    +    resolution: {integrity: sha512-pc5gxlMDxzm513qPGbCbDukOdsGtKhfxD1zJKXjCCcU7ju50O7MeAZ8c4krSJcOIJGFR+qx21yMMVYwiQvyTyQ==}
    +    engines: {node: '>=12'}
    +    cpu: [x64]
    +    os: [darwin]
    +    requiresBuild: true
    +    dev: true
    +    optional: true
    +
       /@esbuild/darwin-x64@0.19.12:
         resolution: {integrity: sha512-hKoVkKzFiToTgn+41qGhsUJXFlIjxI/jSYeZf3ugemDYZldIXIxhvwN6erJGlX4t5h417iFuheZ7l+YVn05N3A==}
         engines: {node: '>=12'}
    @@ -3162,6 +3099,15 @@ packages:
         dev: true
         optional: true
     
    +  /@esbuild/freebsd-arm64@0.18.20:
    +    resolution: {integrity: sha512-yqDQHy4QHevpMAaxhhIwYPMv1NECwOvIpGCZkECn8w2WFHXjEwrBn3CeNIYsibZ/iZEUemj++M26W3cNR5h+Tw==}
    +    engines: {node: '>=12'}
    +    cpu: [arm64]
    +    os: [freebsd]
    +    requiresBuild: true
    +    dev: true
    +    optional: true
    +
       /@esbuild/freebsd-arm64@0.19.12:
         resolution: {integrity: sha512-4aRvFIXmwAcDBw9AueDQ2YnGmz5L6obe5kmPT8Vd+/+x/JMVKCgdcRwH6APrbpNXsPz+K653Qg8HB/oXvXVukA==}
         engines: {node: '>=12'}
    @@ -3180,6 +3126,15 @@ packages:
         dev: true
         optional: true
     
    +  /@esbuild/freebsd-x64@0.18.20:
    +    resolution: {integrity: sha512-tgWRPPuQsd3RmBZwarGVHZQvtzfEBOreNuxEMKFcd5DaDn2PbBxfwLcj4+aenoh7ctXcbXmOQIn8HI6mCSw5MQ==}
    +    engines: {node: '>=12'}
    +    cpu: [x64]
    +    os: [freebsd]
    +    requiresBuild: true
    +    dev: true
    +    optional: true
    +
       /@esbuild/freebsd-x64@0.19.12:
         resolution: {integrity: sha512-EYoXZ4d8xtBoVN7CEwWY2IN4ho76xjYXqSXMNccFSx2lgqOG/1TBPW0yPx1bJZk94qu3tX0fycJeeQsKovA8gg==}
         engines: {node: '>=12'}
    @@ -3198,6 +3153,15 @@ packages:
         dev: true
         optional: true
     
    +  /@esbuild/linux-arm64@0.18.20:
    +    resolution: {integrity: sha512-2YbscF+UL7SQAVIpnWvYwM+3LskyDmPhe31pE7/aoTMFKKzIc9lLbyGUpmmb8a8AixOL61sQ/mFh3jEjHYFvdA==}
    +    engines: {node: '>=12'}
    +    cpu: [arm64]
    +    os: [linux]
    +    requiresBuild: true
    +    dev: true
    +    optional: true
    +
       /@esbuild/linux-arm64@0.19.12:
         resolution: {integrity: sha512-EoTjyYyLuVPfdPLsGVVVC8a0p1BFFvtpQDB/YLEhaXyf/5bczaGeN15QkR+O4S5LeJ92Tqotve7i1jn35qwvdA==}
         engines: {node: '>=12'}
    @@ -3216,6 +3180,15 @@ packages:
         dev: true
         optional: true
     
    +  /@esbuild/linux-arm@0.18.20:
    +    resolution: {integrity: sha512-/5bHkMWnq1EgKr1V+Ybz3s1hWXok7mDFUMQ4cG10AfW3wL02PSZi5kFpYKrptDsgb2WAJIvRcDm+qIvXf/apvg==}
    +    engines: {node: '>=12'}
    +    cpu: [arm]
    +    os: [linux]
    +    requiresBuild: true
    +    dev: true
    +    optional: true
    +
       /@esbuild/linux-arm@0.19.12:
         resolution: {integrity: sha512-J5jPms//KhSNv+LO1S1TX1UWp1ucM6N6XuL6ITdKWElCu8wXP72l9MM0zDTzzeikVyqFE6U8YAV9/tFyj0ti+w==}
         engines: {node: '>=12'}
    @@ -3234,6 +3207,15 @@ packages:
         dev: true
         optional: true
     
    +  /@esbuild/linux-ia32@0.18.20:
    +    resolution: {integrity: sha512-P4etWwq6IsReT0E1KHU40bOnzMHoH73aXp96Fs8TIT6z9Hu8G6+0SHSw9i2isWrD2nbx2qo5yUqACgdfVGx7TA==}
    +    engines: {node: '>=12'}
    +    cpu: [ia32]
    +    os: [linux]
    +    requiresBuild: true
    +    dev: true
    +    optional: true
    +
       /@esbuild/linux-ia32@0.19.12:
         resolution: {integrity: sha512-Thsa42rrP1+UIGaWz47uydHSBOgTUnwBwNq59khgIwktK6x60Hivfbux9iNR0eHCHzOLjLMLfUMLCypBkZXMHA==}
         engines: {node: '>=12'}
    @@ -3252,6 +3234,15 @@ packages:
         dev: true
         optional: true
     
    +  /@esbuild/linux-loong64@0.18.20:
    +    resolution: {integrity: sha512-nXW8nqBTrOpDLPgPY9uV+/1DjxoQ7DoB2N8eocyq8I9XuqJ7BiAMDMf9n1xZM9TgW0J8zrquIb/A7s3BJv7rjg==}
    +    engines: {node: '>=12'}
    +    cpu: [loong64]
    +    os: [linux]
    +    requiresBuild: true
    +    dev: true
    +    optional: true
    +
       /@esbuild/linux-loong64@0.19.12:
         resolution: {integrity: sha512-LiXdXA0s3IqRRjm6rV6XaWATScKAXjI4R4LoDlvO7+yQqFdlr1Bax62sRwkVvRIrwXxvtYEHHI4dm50jAXkuAA==}
         engines: {node: '>=12'}
    @@ -3270,6 +3261,15 @@ packages:
         dev: true
         optional: true
     
    +  /@esbuild/linux-mips64el@0.18.20:
    +    resolution: {integrity: sha512-d5NeaXZcHp8PzYy5VnXV3VSd2D328Zb+9dEq5HE6bw6+N86JVPExrA6O68OPwobntbNJ0pzCpUFZTo3w0GyetQ==}
    +    engines: {node: '>=12'}
    +    cpu: [mips64el]
    +    os: [linux]
    +    requiresBuild: true
    +    dev: true
    +    optional: true
    +
       /@esbuild/linux-mips64el@0.19.12:
         resolution: {integrity: sha512-fEnAuj5VGTanfJ07ff0gOA6IPsvrVHLVb6Lyd1g2/ed67oU1eFzL0r9WL7ZzscD+/N6i3dWumGE1Un4f7Amf+w==}
         engines: {node: '>=12'}
    @@ -3288,6 +3288,15 @@ packages:
         dev: true
         optional: true
     
    +  /@esbuild/linux-ppc64@0.18.20:
    +    resolution: {integrity: sha512-WHPyeScRNcmANnLQkq6AfyXRFr5D6N2sKgkFo2FqguP44Nw2eyDlbTdZwd9GYk98DZG9QItIiTlFLHJHjxP3FA==}
    +    engines: {node: '>=12'}
    +    cpu: [ppc64]
    +    os: [linux]
    +    requiresBuild: true
    +    dev: true
    +    optional: true
    +
       /@esbuild/linux-ppc64@0.19.12:
         resolution: {integrity: sha512-nYJA2/QPimDQOh1rKWedNOe3Gfc8PabU7HT3iXWtNUbRzXS9+vgB0Fjaqr//XNbd82mCxHzik2qotuI89cfixg==}
         engines: {node: '>=12'}
    @@ -3306,6 +3315,15 @@ packages:
         dev: true
         optional: true
     
    +  /@esbuild/linux-riscv64@0.18.20:
    +    resolution: {integrity: sha512-WSxo6h5ecI5XH34KC7w5veNnKkju3zBRLEQNY7mv5mtBmrP/MjNBCAlsM2u5hDBlS3NGcTQpoBvRzqBcRtpq1A==}
    +    engines: {node: '>=12'}
    +    cpu: [riscv64]
    +    os: [linux]
    +    requiresBuild: true
    +    dev: true
    +    optional: true
    +
       /@esbuild/linux-riscv64@0.19.12:
         resolution: {integrity: sha512-2MueBrlPQCw5dVJJpQdUYgeqIzDQgw3QtiAHUC4RBz9FXPrskyyU3VI1hw7C0BSKB9OduwSJ79FTCqtGMWqJHg==}
         engines: {node: '>=12'}
    @@ -3324,6 +3342,15 @@ packages:
         dev: true
         optional: true
     
    +  /@esbuild/linux-s390x@0.18.20:
    +    resolution: {integrity: sha512-+8231GMs3mAEth6Ja1iK0a1sQ3ohfcpzpRLH8uuc5/KVDFneH6jtAJLFGafpzpMRO6DzJ6AvXKze9LfFMrIHVQ==}
    +    engines: {node: '>=12'}
    +    cpu: [s390x]
    +    os: [linux]
    +    requiresBuild: true
    +    dev: true
    +    optional: true
    +
       /@esbuild/linux-s390x@0.19.12:
         resolution: {integrity: sha512-+Pil1Nv3Umes4m3AZKqA2anfhJiVmNCYkPchwFJNEJN5QxmTs1uzyy4TvmDrCRNT2ApwSari7ZIgrPeUx4UZDg==}
         engines: {node: '>=12'}
    @@ -3342,6 +3369,15 @@ packages:
         dev: true
         optional: true
     
    +  /@esbuild/linux-x64@0.18.20:
    +    resolution: {integrity: sha512-UYqiqemphJcNsFEskc73jQ7B9jgwjWrSayxawS6UVFZGWrAAtkzjxSqnoclCXxWtfwLdzU+vTpcNYhpn43uP1w==}
    +    engines: {node: '>=12'}
    +    cpu: [x64]
    +    os: [linux]
    +    requiresBuild: true
    +    dev: true
    +    optional: true
    +
       /@esbuild/linux-x64@0.19.12:
         resolution: {integrity: sha512-B71g1QpxfwBvNrfyJdVDexenDIt1CiDN1TIXLbhOw0KhJzE78KIFGX6OJ9MrtC0oOqMWf+0xop4qEU8JrJTwCg==}
         engines: {node: '>=12'}
    @@ -3360,6 +3396,15 @@ packages:
         dev: true
         optional: true
     
    +  /@esbuild/netbsd-x64@0.18.20:
    +    resolution: {integrity: sha512-iO1c++VP6xUBUmltHZoMtCUdPlnPGdBom6IrO4gyKPFFVBKioIImVooR5I83nTew5UOYrk3gIJhbZh8X44y06A==}
    +    engines: {node: '>=12'}
    +    cpu: [x64]
    +    os: [netbsd]
    +    requiresBuild: true
    +    dev: true
    +    optional: true
    +
       /@esbuild/netbsd-x64@0.19.12:
         resolution: {integrity: sha512-3ltjQ7n1owJgFbuC61Oj++XhtzmymoCihNFgT84UAmJnxJfm4sYCiSLTXZtE00VWYpPMYc+ZQmB6xbSdVh0JWA==}
         engines: {node: '>=12'}
    @@ -3378,6 +3423,15 @@ packages:
         dev: true
         optional: true
     
    +  /@esbuild/openbsd-x64@0.18.20:
    +    resolution: {integrity: sha512-e5e4YSsuQfX4cxcygw/UCPIEP6wbIL+se3sxPdCiMbFLBWu0eiZOJ7WoD+ptCLrmjZBK1Wk7I6D/I3NglUGOxg==}
    +    engines: {node: '>=12'}
    +    cpu: [x64]
    +    os: [openbsd]
    +    requiresBuild: true
    +    dev: true
    +    optional: true
    +
       /@esbuild/openbsd-x64@0.19.12:
         resolution: {integrity: sha512-RbrfTB9SWsr0kWmb9srfF+L933uMDdu9BIzdA7os2t0TXhCRjrQyCeOt6wVxr79CKD4c+p+YhCj31HBkYcXebw==}
         engines: {node: '>=12'}
    @@ -3396,6 +3450,15 @@ packages:
         dev: true
         optional: true
     
    +  /@esbuild/sunos-x64@0.18.20:
    +    resolution: {integrity: sha512-kDbFRFp0YpTQVVrqUd5FTYmWo45zGaXe0X8E1G/LKFC0v8x0vWrhOWSLITcCn63lmZIxfOMXtCfti/RxN/0wnQ==}
    +    engines: {node: '>=12'}
    +    cpu: [x64]
    +    os: [sunos]
    +    requiresBuild: true
    +    dev: true
    +    optional: true
    +
       /@esbuild/sunos-x64@0.19.12:
         resolution: {integrity: sha512-HKjJwRrW8uWtCQnQOz9qcU3mUZhTUQvi56Q8DPTLLB+DawoiQdjsYq+j+D3s9I8VFtDr+F9CjgXKKC4ss89IeA==}
         engines: {node: '>=12'}
    @@ -3414,6 +3477,15 @@ packages:
         dev: true
         optional: true
     
    +  /@esbuild/win32-arm64@0.18.20:
    +    resolution: {integrity: sha512-ddYFR6ItYgoaq4v4JmQQaAI5s7npztfV4Ag6NrhiaW0RrnOXqBkgwZLofVTlq1daVTQNhtI5oieTvkRPfZrePg==}
    +    engines: {node: '>=12'}
    +    cpu: [arm64]
    +    os: [win32]
    +    requiresBuild: true
    +    dev: true
    +    optional: true
    +
       /@esbuild/win32-arm64@0.19.12:
         resolution: {integrity: sha512-URgtR1dJnmGvX864pn1B2YUYNzjmXkuJOIqG2HdU62MVS4EHpU2946OZoTMnRUHklGtJdJZ33QfzdjGACXhn1A==}
         engines: {node: '>=12'}
    @@ -3432,6 +3504,15 @@ packages:
         dev: true
         optional: true
     
    +  /@esbuild/win32-ia32@0.18.20:
    +    resolution: {integrity: sha512-Wv7QBi3ID/rROT08SABTS7eV4hX26sVduqDOTe1MvGMjNd3EjOz4b7zeexIR62GTIEKrfJXKL9LFxTYgkyeu7g==}
    +    engines: {node: '>=12'}
    +    cpu: [ia32]
    +    os: [win32]
    +    requiresBuild: true
    +    dev: true
    +    optional: true
    +
       /@esbuild/win32-ia32@0.19.12:
         resolution: {integrity: sha512-+ZOE6pUkMOJfmxmBZElNOx72NKpIa/HFOMGzu8fqzQJ5kgf6aTGrcJaFsNiVMH4JKpMipyK+7k0n2UXN7a8YKQ==}
         engines: {node: '>=12'}
    @@ -3450,6 +3531,15 @@ packages:
         dev: true
         optional: true
     
    +  /@esbuild/win32-x64@0.18.20:
    +    resolution: {integrity: sha512-kTdfRcSiDfQca/y9QIkng02avJ+NCaQvrMejlsB3RRv5sE9rRoeBPISaZpKxHELzRxZyLvNts1P27W3wV+8geQ==}
    +    engines: {node: '>=12'}
    +    cpu: [x64]
    +    os: [win32]
    +    requiresBuild: true
    +    dev: true
    +    optional: true
    +
       /@esbuild/win32-x64@0.19.12:
         resolution: {integrity: sha512-T1QyPSDCyMXaO3pzBkF96E8xMkiRYbUEZADd29SyPGabqxMViNoii+NcK7eWJAEoU6RZyEm5lVSIjTmcdoB9HA==}
         engines: {node: '>=12'}
    @@ -3842,7 +3932,7 @@ packages:
         resolution: {integrity: sha512-ok/BTPFzFKVMwO5eOHRrvnBVHdRy9IrsrW1GpMaQ9MCnilNLXQKmAX8s1YXDFaai9xJpac2ySzV0YeRRECr2Vw==}
         engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
         dependencies:
    -      '@babel/core': 7.24.4
    +      '@babel/core': 7.24.5
           '@jest/types': 29.6.3
           '@jridgewell/trace-mapping': 0.3.25
           babel-plugin-istanbul: 6.1.1
    @@ -5124,6 +5214,22 @@ packages:
         resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==}
         dev: true
     
    +  /@unocss/astro@0.58.9(rollup@2.79.1)(vite@4.5.3):
    +    resolution: {integrity: sha512-VWfHNC0EfawFxLfb3uI+QcMGBN+ju+BYtutzeZTjilLKj31X2UpqIh8fepixL6ljgZzB3fweqg2xtUMC0gMnoQ==}
    +    peerDependencies:
    +      vite: ^2.9.0 || ^3.0.0-0 || ^4.0.0 || ^5.0.0-0
    +    peerDependenciesMeta:
    +      vite:
    +        optional: true
    +    dependencies:
    +      '@unocss/core': 0.58.9
    +      '@unocss/reset': 0.58.9
    +      '@unocss/vite': 0.58.9(rollup@2.79.1)(vite@4.5.3)
    +      vite: 4.5.3(@types/node@20.12.7)
    +    transitivePeerDependencies:
    +      - rollup
    +    dev: true
    +
       /@unocss/astro@0.59.4(rollup@2.79.1)(vite@5.2.10):
         resolution: {integrity: sha512-DU3OR5MMR1Uvvec4/wB9EetDASHRg19Moy6z/MiIhn8JWJ0QzWYgSeJcfUX8exomMYv6WUEQJL+CyLI34Wmn8w==}
         peerDependencies:
    @@ -5140,6 +5246,28 @@ packages:
           - rollup
         dev: true
     
    +  /@unocss/cli@0.58.9(rollup@2.79.1):
    +    resolution: {integrity: sha512-q7qlwX3V6UaqljWUQ5gMj36yTA9eLuuRywahdQWt1ioy4aPF/MEEfnMBZf/ntrqf5tIT5TO8fE11nvCco2Q/sA==}
    +    engines: {node: '>=14'}
    +    hasBin: true
    +    dependencies:
    +      '@ampproject/remapping': 2.3.0
    +      '@rollup/pluginutils': 5.1.0(rollup@2.79.1)
    +      '@unocss/config': 0.58.9
    +      '@unocss/core': 0.58.9
    +      '@unocss/preset-uno': 0.58.9
    +      cac: 6.7.14
    +      chokidar: 3.6.0
    +      colorette: 2.0.20
    +      consola: 3.2.3
    +      fast-glob: 3.3.2
    +      magic-string: 0.30.10
    +      pathe: 1.1.2
    +      perfect-debounce: 1.0.0
    +    transitivePeerDependencies:
    +      - rollup
    +    dev: true
    +
       /@unocss/cli@0.59.4(rollup@2.79.1):
         resolution: {integrity: sha512-TT+WKedSifhsRqnpoYD2LfyYipVzEbzIU4DDGIaDNeDxGXYOGpb876zzkPDcvZSpI37IJ/efkkV7PGYpPBcQBQ==}
         engines: {node: '>=14'}
    @@ -5162,6 +5290,14 @@ packages:
           - rollup
         dev: true
     
    +  /@unocss/config@0.58.9:
    +    resolution: {integrity: sha512-90wRXIyGNI8UenWxvHUcH4l4rgq813MsTzYWsf6ZKyLLvkFjV2b2EfGXI27GPvZ7fVE1OAqx+wJNTw8CyQxwag==}
    +    engines: {node: '>=14'}
    +    dependencies:
    +      '@unocss/core': 0.58.9
    +      unconfig: 0.3.13
    +    dev: true
    +
       /@unocss/config@0.59.4:
         resolution: {integrity: sha512-h3yhj+D5Ygn5R7gbK4wMrtXZX6FF5DF6YD517sSSb0XB3lxHD9PhhT4HaV1hpHknvu0cMFU3460M45+TN1TI0Q==}
         engines: {node: '>=14'}
    @@ -5170,23 +5306,57 @@ packages:
           unconfig: 0.3.13
         dev: true
     
    +  /@unocss/core@0.58.9:
    +    resolution: {integrity: sha512-wYpPIPPsOIbIoMIDuH8ihehJk5pAZmyFKXIYO/Kro98GEOFhz6lJoLsy6/PZuitlgp2/TSlubUuWGjHWvp5osw==}
    +    dev: true
    +
       /@unocss/core@0.59.4:
         resolution: {integrity: sha512-bBZ1sgcAtezQVZ1BST9IS3jqcsTLyqKNjiIf7FTnX3DHpfpYuMDFzSOtmkZDzBleOLO/CtcRWjT0HwTSQAmV0A==}
         dev: true
     
    +  /@unocss/extractor-arbitrary-variants@0.58.9:
    +    resolution: {integrity: sha512-M/BvPdbEEMdhcFQh/z2Bf9gylO1Ky/ZnpIvKWS1YJPLt4KA7UWXSUf+ZNTFxX+X58Is5qAb5hNh/XBQmL3gbXg==}
    +    dependencies:
    +      '@unocss/core': 0.58.9
    +    dev: true
    +
       /@unocss/extractor-arbitrary-variants@0.59.4:
         resolution: {integrity: sha512-RDe4FgMGJQ+tp9GLvhPHni7Cc2O0lHBRMElVlN8LoXJAdODMICdbrEPGJlEfrc+7x/QgVFoR895KpYJh3hIgGA==}
         dependencies:
           '@unocss/core': 0.59.4
         dev: true
     
    +  /@unocss/inspector@0.58.9:
    +    resolution: {integrity: sha512-uRzqkCNeBmEvFePXcfIFcQPMlCXd9/bLwa5OkBthiOILwQdH1uRIW3GWAa2SWspu+kZLP0Ly3SjZ9Wqi+5ZtTw==}
    +    dependencies:
    +      '@unocss/core': 0.58.9
    +      '@unocss/rule-utils': 0.58.9
    +      gzip-size: 6.0.0
    +      sirv: 2.0.4
    +    dev: true
    +
       /@unocss/inspector@0.59.4:
         resolution: {integrity: sha512-QczJFNDiggmekkJyNcbcZIUVwlhvxz7ZwjnSf0w7K4znxfjKkZ1hNUbqLviM1HumkTKOdT27VISW7saN/ysO4w==}
         dependencies:
    -      '@unocss/core': 0.59.4
    -      '@unocss/rule-utils': 0.59.4
    -      gzip-size: 6.0.0
    -      sirv: 2.0.4
    +      '@unocss/core': 0.59.4
    +      '@unocss/rule-utils': 0.59.4
    +      gzip-size: 6.0.0
    +      sirv: 2.0.4
    +    dev: true
    +
    +  /@unocss/postcss@0.58.9(postcss@8.4.38):
    +    resolution: {integrity: sha512-PnKmH6Qhimw35yO6u6yx9SHaX2NmvbRNPDvMDHA/1xr3M8L0o8U88tgKbWfm65NEGF3R1zJ9A8rjtZn/LPkgPA==}
    +    engines: {node: '>=14'}
    +    peerDependencies:
    +      postcss: ^8.4.21
    +    dependencies:
    +      '@unocss/config': 0.58.9
    +      '@unocss/core': 0.58.9
    +      '@unocss/rule-utils': 0.58.9
    +      css-tree: 2.3.1
    +      fast-glob: 3.3.2
    +      magic-string: 0.30.10
    +      postcss: 8.4.38
         dev: true
     
       /@unocss/postcss@0.59.4(postcss@8.4.38):
    @@ -5204,12 +5374,28 @@ packages:
           postcss: 8.4.38
         dev: true
     
    +  /@unocss/preset-attributify@0.58.9:
    +    resolution: {integrity: sha512-ucP+kXRFcwmBmHohUVv31bE/SejMAMo7Hjb0QcKVLyHlzRWUJsfNR+jTAIGIUSYxN7Q8MeigYsongGo3nIeJnQ==}
    +    dependencies:
    +      '@unocss/core': 0.58.9
    +    dev: true
    +
       /@unocss/preset-attributify@0.59.4:
         resolution: {integrity: sha512-BeogWuYaIakC1gmOZFFCjFVWmu/m3AqEX8UYQS6tY6lAaK2L4Qf4AstYBlT2zAMxy9LNxPDxFQrvfSfFk5Klsg==}
         dependencies:
           '@unocss/core': 0.59.4
         dev: true
     
    +  /@unocss/preset-icons@0.58.9:
    +    resolution: {integrity: sha512-9dS48+yAunsbS0ylOW2Wisozwpn3nGY1CqTiidkUnrMnrZK3al579A7srUX9NyPWWDjprO7eU/JkWbdDQSmFFA==}
    +    dependencies:
    +      '@iconify/utils': 2.1.23
    +      '@unocss/core': 0.58.9
    +      ofetch: 1.3.4
    +    transitivePeerDependencies:
    +      - supports-color
    +    dev: true
    +
       /@unocss/preset-icons@0.59.4:
         resolution: {integrity: sha512-Afjwh5oC4KRE8TNZDUkRK6hvvV1wKLrS1e5trniE0B0AM9HK3PBolQaIU7QmzPv6WQrog+MZgIwafg1eqsPUCA==}
         dependencies:
    @@ -5220,6 +5406,14 @@ packages:
           - supports-color
         dev: true
     
    +  /@unocss/preset-mini@0.58.9:
    +    resolution: {integrity: sha512-m4aDGYtueP8QGsU3FsyML63T/w5Mtr4htme2jXy6m50+tzC1PPHaIBstMTMQfLc6h8UOregPJyGHB5iYQZGEvQ==}
    +    dependencies:
    +      '@unocss/core': 0.58.9
    +      '@unocss/extractor-arbitrary-variants': 0.58.9
    +      '@unocss/rule-utils': 0.58.9
    +    dev: true
    +
       /@unocss/preset-mini@0.59.4:
         resolution: {integrity: sha512-ZLywGrXi1OCr4My5vX2rLUb5Xgx6ufR9WTQOvpQJGBdIV/jnZn/pyE5avCs476SnOq2K172lnd8mFmTK7/zArA==}
         dependencies:
    @@ -5228,12 +5422,25 @@ packages:
           '@unocss/rule-utils': 0.59.4
         dev: true
     
    +  /@unocss/preset-tagify@0.58.9:
    +    resolution: {integrity: sha512-obh75XrRmxYwrQMflzvhQUMeHwd/R9bEDhTWUW9aBTolBy4eNypmQwOhHCKh5Xi4Dg6o0xj6GWC/jcCj1SPLog==}
    +    dependencies:
    +      '@unocss/core': 0.58.9
    +    dev: true
    +
       /@unocss/preset-tagify@0.59.4:
         resolution: {integrity: sha512-vWMdTUoghOSmTbdmZtERssffmdUdOuhh4vUdl0R8Kv6KxB0PkvEFCu2FItn97nRJdSPlZSFxxDkaOIg9w+STNQ==}
         dependencies:
           '@unocss/core': 0.59.4
         dev: true
     
    +  /@unocss/preset-typography@0.58.9:
    +    resolution: {integrity: sha512-hrsaqKlcZni3Vh4fwXC+lP9e92FQYbqtmlZw2jpxlVwwH5aLzwk4d4MiFQGyhCfzuSDYm0Zd52putFVV02J7bA==}
    +    dependencies:
    +      '@unocss/core': 0.58.9
    +      '@unocss/preset-mini': 0.58.9
    +    dev: true
    +
       /@unocss/preset-typography@0.59.4:
         resolution: {integrity: sha512-ZX9bxZUqlXK1qEDzO5lkK96ICt9itR/oNyn/7mMc1JPqwj263LumQMn5silocgzoLSUXEeq//L6GylqYjkL8GA==}
         dependencies:
    @@ -5241,6 +5448,15 @@ packages:
           '@unocss/preset-mini': 0.59.4
         dev: true
     
    +  /@unocss/preset-uno@0.58.9:
    +    resolution: {integrity: sha512-Fze+X2Z/EegCkRdDRgwwvFBmXBenNR1AG8KxAyz8iPeWbhOBaRra2sn2ScryrfH6SbJHpw26ZyJXycAdS0Fq3A==}
    +    dependencies:
    +      '@unocss/core': 0.58.9
    +      '@unocss/preset-mini': 0.58.9
    +      '@unocss/preset-wind': 0.58.9
    +      '@unocss/rule-utils': 0.58.9
    +    dev: true
    +
       /@unocss/preset-uno@0.59.4:
         resolution: {integrity: sha512-G1f8ZluplvXZ3bERj+sM/8zzY//XD++nNOlAQNKOANSVht3qEoJebrfEiMClNpA5qW5VWOZhEhPkh0M7GsXtnA==}
         dependencies:
    @@ -5250,6 +5466,13 @@ packages:
           '@unocss/rule-utils': 0.59.4
         dev: true
     
    +  /@unocss/preset-web-fonts@0.58.9:
    +    resolution: {integrity: sha512-XtiO+Z+RYnNYomNkS2XxaQiY++CrQZKOfNGw5htgIrb32QtYVQSkyYQ3jDw7JmMiCWlZ4E72cV/zUb++WrZLxg==}
    +    dependencies:
    +      '@unocss/core': 0.58.9
    +      ofetch: 1.3.4
    +    dev: true
    +
       /@unocss/preset-web-fonts@0.59.4:
         resolution: {integrity: sha512-ehutTjKHnf2KPmdatN42N9a8+y+glKSU3UlcBRNsVIIXVIlaBQuPVGZSPhnMtrKD17IgWylXq2K6RJK+ab0hZA==}
         dependencies:
    @@ -5257,6 +5480,14 @@ packages:
           ofetch: 1.3.4
         dev: true
     
    +  /@unocss/preset-wind@0.58.9:
    +    resolution: {integrity: sha512-7l+7Vx5UoN80BmJKiqDXaJJ6EUqrnUQYv8NxCThFi5lYuHzxsYWZPLU3k3XlWRUQt8XL+6rYx7mMBmD7EUSHyw==}
    +    dependencies:
    +      '@unocss/core': 0.58.9
    +      '@unocss/preset-mini': 0.58.9
    +      '@unocss/rule-utils': 0.58.9
    +    dev: true
    +
       /@unocss/preset-wind@0.59.4:
         resolution: {integrity: sha512-CNX6w0ZpSQg/i1oF0/WKWzto8PtLqoknC5h8JmmcGb7VsyBQeV0oNnhbURxpbuMEhbv1MWVIGvk8a+P6y0rFkQ==}
         dependencies:
    @@ -5265,10 +5496,22 @@ packages:
           '@unocss/rule-utils': 0.59.4
         dev: true
     
    +  /@unocss/reset@0.58.9:
    +    resolution: {integrity: sha512-nA2pg3tnwlquq+FDOHyKwZvs20A6iBsKPU7Yjb48JrNnzoaXqE+O9oN6782IG2yKVW4AcnsAnAnM4cxXhGzy1w==}
    +    dev: true
    +
       /@unocss/reset@0.59.4:
         resolution: {integrity: sha512-Upy4xzdWl4RChbLAXBq1BoR4WqxXMoIfjvtcwSZcZK2sylXCFAseSWnyzJFdSiXPqNfmMuNgPXgiSxiQB+cmNA==}
         dev: true
     
    +  /@unocss/rule-utils@0.58.9:
    +    resolution: {integrity: sha512-45bDa+elmlFLthhJmKr2ltKMAB0yoXnDMQ6Zp5j3OiRB7dDMBkwYRPvHLvIe+34Ey7tDt/kvvDPtWMpPl2quUQ==}
    +    engines: {node: '>=14'}
    +    dependencies:
    +      '@unocss/core': 0.58.9
    +      magic-string: 0.30.10
    +    dev: true
    +
       /@unocss/rule-utils@0.59.4:
         resolution: {integrity: sha512-1qoLJlBWAkS4D4sg73990S1MT7E8E5md/YhopKjTQuEC9SyeVmEg+5pR/Xd8xhPKMqbcuBPl/DS8b6l/GQO56A==}
         engines: {node: '>=14'}
    @@ -5277,10 +5520,25 @@ packages:
           magic-string: 0.30.10
         dev: true
     
    +  /@unocss/scope@0.58.9:
    +    resolution: {integrity: sha512-BIwcpx0R3bE0rYa9JVDJTk0GX32EBvnbvufBpNkWfC5tb7g+B7nMkVq9ichanksYCCxrIQQo0mrIz5PNzu9sGA==}
    +    dev: true
    +
       /@unocss/scope@0.59.4:
         resolution: {integrity: sha512-wBQJ39kw4Tfj4km7AoGvSIobPKVnRZVsgc0bema5Y0PL3g1NeVQ/LopBI2zEJWdpxGXUWxSDsXm7BZo6qVlD/A==}
         dev: true
     
    +  /@unocss/transformer-attributify-jsx-babel@0.58.9:
    +    resolution: {integrity: sha512-UGaQoGZg+3QrsPtnGHPECmsGn4EQb2KSdZ4eGEn2YssjKv+CcQhzRvpEUgnuF/F+jGPkCkS/G/YEQBHRWBY54Q==}
    +    dependencies:
    +      '@babel/core': 7.24.5
    +      '@babel/plugin-syntax-jsx': 7.24.1(@babel/core@7.24.5)
    +      '@babel/preset-typescript': 7.24.1(@babel/core@7.24.5)
    +      '@unocss/core': 0.58.9
    +    transitivePeerDependencies:
    +      - supports-color
    +    dev: true
    +
       /@unocss/transformer-attributify-jsx-babel@0.59.4:
         resolution: {integrity: sha512-xtCRSgeTaDBiNJLVX7oOSFe63JiFB5nrdK23PHn3IlZM9O7Bxx4ZxI3MQJtFZFQNE+INFko+DVyY1WiFEm1p/Q==}
         dependencies:
    @@ -5292,18 +5550,38 @@ packages:
           - supports-color
         dev: true
     
    +  /@unocss/transformer-attributify-jsx@0.58.9:
    +    resolution: {integrity: sha512-jpL3PRwf8t43v1agUdQn2EHGgfdWfvzsMxFtoybO88xzOikzAJaaouteNtojc/fQat2T9iBduDxVj5egdKmhdQ==}
    +    dependencies:
    +      '@unocss/core': 0.58.9
    +    dev: true
    +
       /@unocss/transformer-attributify-jsx@0.59.4:
         resolution: {integrity: sha512-m4b83utzKMfUQH/45V2QkjJoXd8Tu2pRP1nic91Xf7QRceyKDD+BxoTneo2JNC2K274cQu7HqqotnCm2aFfEGw==}
         dependencies:
           '@unocss/core': 0.59.4
         dev: true
     
    +  /@unocss/transformer-compile-class@0.58.9:
    +    resolution: {integrity: sha512-l2VpCqelJ6Tgc1kfSODxBtg7fCGPVRr2EUzTg1LrGYKa2McbKuc/wV/2DWKHGxL6+voWi7a2C9XflqGDXXutuQ==}
    +    dependencies:
    +      '@unocss/core': 0.58.9
    +    dev: true
    +
       /@unocss/transformer-compile-class@0.59.4:
         resolution: {integrity: sha512-Vgk2OCLPW0pU+Uzr1IgDtHVspSBb+gPrQFkV+5gxHk9ZdKi3oYKxLuufVWYDSwv7o9yfQGbYrMH9YLsjRsnA7Q==}
         dependencies:
           '@unocss/core': 0.59.4
         dev: true
     
    +  /@unocss/transformer-directives@0.58.9:
    +    resolution: {integrity: sha512-pLOUsdoY2ugVntJXg0xuGjO9XZ2xCiMxTPRtpZ4TsEzUtdEzMswR06Y8VWvNciTB/Zqxcz9ta8rD0DKePOfSuw==}
    +    dependencies:
    +      '@unocss/core': 0.58.9
    +      '@unocss/rule-utils': 0.58.9
    +      css-tree: 2.3.1
    +    dev: true
    +
       /@unocss/transformer-directives@0.59.4:
         resolution: {integrity: sha512-nXUTEclUbs0vQ4KfLhKt4J/5SLSEq1az2FNlJmiXMmqmn75X89OrtCu2OJu9sGXhn+YyBApxgcSSdxmtpqMi1Q==}
         dependencies:
    @@ -5312,12 +5590,38 @@ packages:
           css-tree: 2.3.1
         dev: true
     
    +  /@unocss/transformer-variant-group@0.58.9:
    +    resolution: {integrity: sha512-3A6voHSnFcyw6xpcZT6oxE+KN4SHRnG4z862tdtWvRGcN+jGyNr20ylEZtnbk4xj0VNMeGHHQRZ0WLvmrAwvOQ==}
    +    dependencies:
    +      '@unocss/core': 0.58.9
    +    dev: true
    +
       /@unocss/transformer-variant-group@0.59.4:
         resolution: {integrity: sha512-9XLixxn1NRgP62Kj4R/NC/rpqhql5F2s6ulJ8CAMTEbd/NylVhEANluPGDVUGcLJ4cj6E02hFa8C1PLGSm7/xw==}
         dependencies:
           '@unocss/core': 0.59.4
         dev: true
     
    +  /@unocss/vite@0.58.9(rollup@2.79.1)(vite@4.5.3):
    +    resolution: {integrity: sha512-mmppBuulAHCal+sC0Qz36Y99t0HicAmznpj70Kzwl7g/yvXwm58/DW2OnpCWw+uA8/JBft/+z3zE+XvrI+T1HA==}
    +    peerDependencies:
    +      vite: ^2.9.0 || ^3.0.0-0 || ^4.0.0 || ^5.0.0-0
    +    dependencies:
    +      '@ampproject/remapping': 2.3.0
    +      '@rollup/pluginutils': 5.1.0(rollup@2.79.1)
    +      '@unocss/config': 0.58.9
    +      '@unocss/core': 0.58.9
    +      '@unocss/inspector': 0.58.9
    +      '@unocss/scope': 0.58.9
    +      '@unocss/transformer-directives': 0.58.9
    +      chokidar: 3.6.0
    +      fast-glob: 3.3.2
    +      magic-string: 0.30.10
    +      vite: 4.5.3(@types/node@20.12.7)
    +    transitivePeerDependencies:
    +      - rollup
    +    dev: true
    +
       /@unocss/vite@0.59.4(rollup@2.79.1)(vite@5.2.10):
         resolution: {integrity: sha512-q7GN7vkQYn79n7vYIUlaa7gXGwc7pk0Qo3z3ZFwWGE43/DtZnn2Hwl5UjgBAgi9McA+xqHJEHRsJnI7HJPHUYA==}
         peerDependencies:
    @@ -5338,6 +5642,14 @@ packages:
           - rollup
         dev: true
     
    +  /@vite-pwa/vitepress@0.3.1(vite-plugin-pwa@0.17.5):
    +    resolution: {integrity: sha512-krgiYQCWXUkpQCx+IHdsanFFpAzfH5pY86MARDa6as5ZNmG18mb/gC6MEahFV67V0xfMfTaNL4B8dQNzzcikLw==}
    +    peerDependencies:
    +      vite-plugin-pwa: '>=0.17.2 <1'
    +    dependencies:
    +      vite-plugin-pwa: 0.17.5(vite@4.5.3)(workbox-build@7.1.0)(workbox-window@7.1.0)
    +    dev: true
    +
       /@vite-pwa/vitepress@0.4.0(vite-plugin-pwa@0.19.8):
         resolution: {integrity: sha512-MrsSCK5EBCzQAQgq5/3XHaFIjkypda58Wzy6PkDwZoRHnWexik0C2GUxMOe+RA+qdpGxB0mEkhqajeOmuYMvhw==}
         peerDependencies:
    @@ -5350,6 +5662,17 @@ packages:
           vite-plugin-pwa: 0.19.8(vite@5.2.10)(workbox-build@7.1.0)(workbox-window@7.0.0)
         dev: true
     
    +  /@vitejs/plugin-vue@4.6.2(vite@4.5.3)(vue@3.4.26):
    +    resolution: {integrity: sha512-kqf7SGFoG+80aZG6Pf+gsZIVvGSCKE98JbiWqcCV9cThtg91Jav0yvYFC9Zb+jKetNGF6ZKeoaxgZfND21fWKw==}
    +    engines: {node: ^14.18.0 || >=16.0.0}
    +    peerDependencies:
    +      vite: ^4.0.0 || ^5.0.0
    +      vue: ^3.2.25
    +    dependencies:
    +      vite: 4.5.3(@types/node@20.12.7)
    +      vue: 3.4.26(typescript@5.4.5)
    +    dev: true
    +
       /@vitejs/plugin-vue@5.0.4(vite@5.2.10)(vue@3.4.26):
         resolution: {integrity: sha512-WS3hevEszI6CEVEx28F8RjTX97k3KsrcY6kvTg7+Whm5y3oYvcqzVeGCU3hxSAn4uY2CLCkeokkGKpoctccilQ==}
         engines: {node: ^18.0.0 || >=20.0.0}
    @@ -5523,7 +5846,6 @@ packages:
     
       /@vue/devtools-api@6.6.1:
         resolution: {integrity: sha512-LgPscpE3Vs0x96PzSSB4IGVSZXZBZHpfxs+ZA1d+VEPwHdOXowy/Y2CsvCAIFrf+ssVU1pD1jidj505EpUnfbA==}
    -    dev: false
     
       /@vue/devtools-api@7.1.3(vue@3.4.26):
         resolution: {integrity: sha512-W8IwFJ/o5iUk78jpqhvScbgCsPiOp2uileDVC0NDtW38gCWhsnu9SeBTjcdu3lbwLdsjc+H1c5Msd/x9ApbcFA==}
    @@ -6343,17 +6665,17 @@ packages:
           - debug
         dev: true
     
    -  /babel-jest@29.7.0(@babel/core@7.24.4):
    +  /babel-jest@29.7.0(@babel/core@7.24.5):
         resolution: {integrity: sha512-BrvGY3xZSwEcCzKvKsCi2GgHqDqsYkOP4/by5xCgIwGXQxIEh+8ew3gmrE1y7XRR6LHZIj6yLYnUi/mm2KXKBg==}
         engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
         peerDependencies:
           '@babel/core': ^7.8.0
         dependencies:
    -      '@babel/core': 7.24.4
    +      '@babel/core': 7.24.5
           '@jest/transform': 29.7.0
           '@types/babel__core': 7.20.5
           babel-plugin-istanbul: 6.1.1
    -      babel-preset-jest: 29.6.3(@babel/core@7.24.4)
    +      babel-preset-jest: 29.6.3(@babel/core@7.24.5)
           chalk: 4.1.2
           graceful-fs: 4.2.11
           slash: 3.0.0
    @@ -6433,35 +6755,35 @@ packages:
           - supports-color
         dev: true
     
    -  /babel-preset-current-node-syntax@1.0.1(@babel/core@7.24.4):
    +  /babel-preset-current-node-syntax@1.0.1(@babel/core@7.24.5):
         resolution: {integrity: sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==}
         peerDependencies:
           '@babel/core': ^7.0.0
         dependencies:
    -      '@babel/core': 7.24.4
    -      '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.24.4)
    -      '@babel/plugin-syntax-bigint': 7.8.3(@babel/core@7.24.4)
    -      '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.24.4)
    -      '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.24.4)
    -      '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.24.4)
    -      '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.24.4)
    -      '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.24.4)
    -      '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.24.4)
    -      '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.24.4)
    -      '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.24.4)
    -      '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.24.4)
    -      '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.24.4)
    -    dev: true
    -
    -  /babel-preset-jest@29.6.3(@babel/core@7.24.4):
    +      '@babel/core': 7.24.5
    +      '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.24.5)
    +      '@babel/plugin-syntax-bigint': 7.8.3(@babel/core@7.24.5)
    +      '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.24.5)
    +      '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.24.5)
    +      '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.24.5)
    +      '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.24.5)
    +      '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.24.5)
    +      '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.24.5)
    +      '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.24.5)
    +      '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.24.5)
    +      '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.24.5)
    +      '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.24.5)
    +    dev: true
    +
    +  /babel-preset-jest@29.6.3(@babel/core@7.24.5):
         resolution: {integrity: sha512-0B3bhxR6snWXJZtR/RliHTDPRgn1sNHOR0yVtq/IiQFyuOVjFS+wuio/R4gSNkyYmKmJB4wGZv2NZanmKmTnNA==}
         engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
         peerDependencies:
           '@babel/core': ^7.0.0
         dependencies:
    -      '@babel/core': 7.24.4
    +      '@babel/core': 7.24.5
           babel-plugin-jest-hoist: 29.6.3
    -      babel-preset-current-node-syntax: 1.0.1(@babel/core@7.24.4)
    +      babel-preset-current-node-syntax: 1.0.1(@babel/core@7.24.5)
         dev: true
     
       /bail@2.0.2:
    @@ -8445,6 +8767,36 @@ packages:
           es6-symbol: 3.1.4
         dev: true
     
    +  /esbuild@0.18.20:
    +    resolution: {integrity: sha512-ceqxoedUrcayh7Y7ZX6NdbbDzGROiyVBgC4PriJThBKSVPWnnFHZAkfI1lJT8QFkOwH4qOS2SJkS4wvpGl8BpA==}
    +    engines: {node: '>=12'}
    +    hasBin: true
    +    requiresBuild: true
    +    optionalDependencies:
    +      '@esbuild/android-arm': 0.18.20
    +      '@esbuild/android-arm64': 0.18.20
    +      '@esbuild/android-x64': 0.18.20
    +      '@esbuild/darwin-arm64': 0.18.20
    +      '@esbuild/darwin-x64': 0.18.20
    +      '@esbuild/freebsd-arm64': 0.18.20
    +      '@esbuild/freebsd-x64': 0.18.20
    +      '@esbuild/linux-arm': 0.18.20
    +      '@esbuild/linux-arm64': 0.18.20
    +      '@esbuild/linux-ia32': 0.18.20
    +      '@esbuild/linux-loong64': 0.18.20
    +      '@esbuild/linux-mips64el': 0.18.20
    +      '@esbuild/linux-ppc64': 0.18.20
    +      '@esbuild/linux-riscv64': 0.18.20
    +      '@esbuild/linux-s390x': 0.18.20
    +      '@esbuild/linux-x64': 0.18.20
    +      '@esbuild/netbsd-x64': 0.18.20
    +      '@esbuild/openbsd-x64': 0.18.20
    +      '@esbuild/sunos-x64': 0.18.20
    +      '@esbuild/win32-arm64': 0.18.20
    +      '@esbuild/win32-ia32': 0.18.20
    +      '@esbuild/win32-x64': 0.18.20
    +    dev: true
    +
       /esbuild@0.19.12:
         resolution: {integrity: sha512-aARqgq8roFBj054KvQr5f1sFu0D65G+miZRCuJyJ0G13Zwx7vRar5Zhn2tkQNzIXcBrNVsv/8stehpj+GAjgbg==}
         engines: {node: '>=12'}
    @@ -9687,7 +10039,7 @@ packages:
         dependencies:
           foreground-child: 3.1.1
           jackspeak: 2.3.6
    -      minimatch: 9.0.3
    +      minimatch: 9.0.4
           minipass: 7.0.4
           path-scurry: 1.10.1
         dev: true
    @@ -10791,11 +11143,11 @@ packages:
           ts-node:
             optional: true
         dependencies:
    -      '@babel/core': 7.24.4
    +      '@babel/core': 7.24.5
           '@jest/test-sequencer': 29.7.0
           '@jest/types': 29.6.3
           '@types/node': 20.12.7
    -      babel-jest: 29.7.0(@babel/core@7.24.4)
    +      babel-jest: 29.7.0(@babel/core@7.24.5)
           chalk: 4.1.2
           ci-info: 3.9.0
           deepmerge: 4.3.1
    @@ -11048,15 +11400,15 @@ packages:
         resolution: {integrity: sha512-Rm0BMWtxBcioHr1/OX5YCP8Uov4riHvKPknOGs804Zg9JGZgmIBkbtlxJC/7Z4msKYVbIJtfU+tKb8xlYNfdkw==}
         engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
         dependencies:
    -      '@babel/core': 7.24.4
    -      '@babel/generator': 7.24.4
    -      '@babel/plugin-syntax-jsx': 7.24.1(@babel/core@7.24.4)
    -      '@babel/plugin-syntax-typescript': 7.24.1(@babel/core@7.24.4)
    +      '@babel/core': 7.24.5
    +      '@babel/generator': 7.24.5
    +      '@babel/plugin-syntax-jsx': 7.24.1(@babel/core@7.24.5)
    +      '@babel/plugin-syntax-typescript': 7.24.1(@babel/core@7.24.5)
           '@babel/types': 7.24.5
           '@jest/expect-utils': 29.7.0
           '@jest/transform': 29.7.0
           '@jest/types': 29.6.3
    -      babel-preset-current-node-syntax: 1.0.1(@babel/core@7.24.4)
    +      babel-preset-current-node-syntax: 1.0.1(@babel/core@7.24.5)
           chalk: 4.1.2
           expect: 29.7.0
           graceful-fs: 4.2.11
    @@ -11705,15 +12057,9 @@ packages:
         engines: {node: '>=8'}
         dev: true
     
    -  /lru-cache@10.2.0:
    -    resolution: {integrity: sha512-2bIM8x+VAf6JT4bKAljS1qUWgMsqZRPGJS6FSahIMPVvctcNhyVp7AJu7quxOW9jwkryBReKZY5tY5JYv2n/7Q==}
    -    engines: {node: 14 || >=16.14}
    -    dev: true
    -
       /lru-cache@10.2.1:
         resolution: {integrity: sha512-tS24spDe/zXhWbNPErCHs/AGOzbKGHT+ybSBqmdLm8WZ1xXLWvH8Qn71QPAlqVhd0qUTWjy+Kl9JmISgDdEjsA==}
         engines: {node: 14 || >=16.14}
    -    dev: false
     
       /lru-cache@5.1.1:
         resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==}
    @@ -12936,7 +13282,7 @@ packages:
         resolution: {integrity: sha512-MkhCqzzBEpPvxxQ71Md0b1Kk51W01lrYvlMzSUaIzNsODdd7mqhiimSZlr+VegAz5Z6Vzt9Xg2ttE//XBhH3EQ==}
         engines: {node: '>=16 || 14 >=14.17'}
         dependencies:
    -      lru-cache: 10.2.0
    +      lru-cache: 10.2.1
           minipass: 7.0.4
         dev: true
     
    @@ -13472,7 +13818,7 @@ packages:
         resolution: {integrity: sha512-/njmZ8s1wVeR6pjTZ+0nCnv8SpZNRMT2D1RLOJQESlYFDBvwpTA4KWJpZ+sBJ4+vhjILRcK7JIFdGCdxEAAitg==}
         engines: {node: '>= 0.10'}
         dependencies:
    -      resolve: 1.22.4
    +      resolve: 1.22.8
         dev: true
     
       /regenerate-unicode-properties@10.1.1:
    @@ -13771,6 +14117,14 @@ packages:
           fsevents: 2.3.3
         dev: true
     
    +  /rollup@3.29.4:
    +    resolution: {integrity: sha512-oWzmBZwvYrU0iJHtDmhsm662rC15FRXmcjCk1xD771dFDx5jJ02ufAQQTn0etB2emNk4J9EZg/yWKpsn9BWGRw==}
    +    engines: {node: '>=14.18.0', npm: '>=8.0.0'}
    +    hasBin: true
    +    optionalDependencies:
    +      fsevents: 2.3.3
    +    dev: true
    +
       /rollup@4.17.2:
         resolution: {integrity: sha512-/9ClTJPByC0U4zNLowV1tMBe8yMEAxewtR3cUNX5BoEpGH3dQEWpJLr6CLp0fPdYRF/fzVOgvDb1zXuakwF5kQ==}
         engines: {node: '>=18.0.0', npm: '>=8.0.0'}
    @@ -14080,6 +14434,22 @@ packages:
           '@shikijs/core': 1.4.0
         dev: true
     
    +  /shikiji-core@0.9.19:
    +    resolution: {integrity: sha512-AFJu/vcNT21t0e6YrfadZ+9q86gvPum6iywRyt1OtIPjPFe25RQnYJyxHQPMLKCCWA992TPxmEmbNcOZCAJclw==}
    +    dev: true
    +
    +  /shikiji-transformers@0.9.19:
    +    resolution: {integrity: sha512-lGLI7Z8frQrIBbhZ74/eiJtxMoCQRbpaHEB+gcfvdIy+ZFaAtXncJGnc52932/UET+Y4GyKtwwC/vjWUCp+c/Q==}
    +    dependencies:
    +      shikiji: 0.9.19
    +    dev: true
    +
    +  /shikiji@0.9.19:
    +    resolution: {integrity: sha512-Kw2NHWktdcdypCj1GkKpXH4o6Vxz8B8TykPlPuLHOGSV8VkhoCLcFOH4k19K4LXAQYRQmxg+0X/eM+m2sLhAkg==}
    +    dependencies:
    +      shikiji-core: 0.9.19
    +    dev: true
    +
       /side-channel@1.0.6:
         resolution: {integrity: sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==}
         engines: {node: '>= 0.4'}
    @@ -15253,6 +15623,45 @@ packages:
         engines: {node: '>= 10.0.0'}
         dev: true
     
    +  /unocss@0.58.9(postcss@8.4.38)(rollup@2.79.1)(vite@4.5.3):
    +    resolution: {integrity: sha512-aqANXXP0RrtN4kSaTLn/7I6wh8o45LUdVgPzGu7Fan2DfH2+wpIs6frlnlHlOymnb+52dp6kXluQinddaUKW1A==}
    +    engines: {node: '>=14'}
    +    peerDependencies:
    +      '@unocss/webpack': 0.58.9
    +      vite: ^2.9.0 || ^3.0.0-0 || ^4.0.0 || ^5.0.0-0
    +    peerDependenciesMeta:
    +      '@unocss/webpack':
    +        optional: true
    +      vite:
    +        optional: true
    +    dependencies:
    +      '@unocss/astro': 0.58.9(rollup@2.79.1)(vite@4.5.3)
    +      '@unocss/cli': 0.58.9(rollup@2.79.1)
    +      '@unocss/core': 0.58.9
    +      '@unocss/extractor-arbitrary-variants': 0.58.9
    +      '@unocss/postcss': 0.58.9(postcss@8.4.38)
    +      '@unocss/preset-attributify': 0.58.9
    +      '@unocss/preset-icons': 0.58.9
    +      '@unocss/preset-mini': 0.58.9
    +      '@unocss/preset-tagify': 0.58.9
    +      '@unocss/preset-typography': 0.58.9
    +      '@unocss/preset-uno': 0.58.9
    +      '@unocss/preset-web-fonts': 0.58.9
    +      '@unocss/preset-wind': 0.58.9
    +      '@unocss/reset': 0.58.9
    +      '@unocss/transformer-attributify-jsx': 0.58.9
    +      '@unocss/transformer-attributify-jsx-babel': 0.58.9
    +      '@unocss/transformer-compile-class': 0.58.9
    +      '@unocss/transformer-directives': 0.58.9
    +      '@unocss/transformer-variant-group': 0.58.9
    +      '@unocss/vite': 0.58.9(rollup@2.79.1)(vite@4.5.3)
    +      vite: 4.5.3(@types/node@20.12.7)
    +    transitivePeerDependencies:
    +      - postcss
    +      - rollup
    +      - supports-color
    +    dev: true
    +
       /unocss@0.59.4(postcss@8.4.38)(rollup@2.79.1)(vite@5.2.10):
         resolution: {integrity: sha512-QmCVjRObvVu/gsGrJGVt0NnrdhFFn314BUZn2WQyXV9rIvHLRmG5bIu0j5vibJkj7ZhFchTrnTM1pTFXP1xt5g==}
         engines: {node: '>=14'}
    @@ -15469,6 +15878,24 @@ packages:
           - supports-color
         dev: true
     
    +  /vite-plugin-pwa@0.17.5(vite@4.5.3)(workbox-build@7.1.0)(workbox-window@7.1.0):
    +    resolution: {integrity: sha512-UxRNPiJBzh4tqU/vc8G2TxmrUTzT6BqvSzhszLk62uKsf+npXdvLxGDz9C675f4BJi6MbD2tPnJhi5txlMzxbQ==}
    +    engines: {node: '>=16.0.0'}
    +    peerDependencies:
    +      vite: ^3.1.0 || ^4.0.0 || ^5.0.0
    +      workbox-build: ^7.0.0
    +      workbox-window: ^7.0.0
    +    dependencies:
    +      debug: 4.3.4(supports-color@8.1.1)
    +      fast-glob: 3.3.2
    +      pretty-bytes: 6.1.1
    +      vite: 4.5.3(@types/node@20.12.7)
    +      workbox-build: 7.1.0
    +      workbox-window: 7.1.0
    +    transitivePeerDependencies:
    +      - supports-color
    +    dev: true
    +
       /vite-plugin-pwa@0.19.8(vite@5.2.10)(workbox-build@7.1.0)(workbox-window@7.0.0):
         resolution: {integrity: sha512-e1oK0dfhzhDhY3VBuML6c0h8Xfx6EkOVYqolj7g+u8eRfdauZe5RLteCIA/c5gH0CBQ0CNFAuv/AFTx4Z7IXTw==}
         engines: {node: '>=16.0.0'}
    @@ -15491,6 +15918,42 @@ packages:
           - supports-color
         dev: true
     
    +  /vite@4.5.3(@types/node@20.12.7):
    +    resolution: {integrity: sha512-kQL23kMeX92v3ph7IauVkXkikdDRsYMGTVl5KY2E9OY4ONLvkHf04MDTbnfo6NKxZiDLWzVpP5oTa8hQD8U3dg==}
    +    engines: {node: ^14.18.0 || >=16.0.0}
    +    hasBin: true
    +    peerDependencies:
    +      '@types/node': '>= 14'
    +      less: '*'
    +      lightningcss: ^1.21.0
    +      sass: '*'
    +      stylus: '*'
    +      sugarss: '*'
    +      terser: ^5.4.0
    +    peerDependenciesMeta:
    +      '@types/node':
    +        optional: true
    +      less:
    +        optional: true
    +      lightningcss:
    +        optional: true
    +      sass:
    +        optional: true
    +      stylus:
    +        optional: true
    +      sugarss:
    +        optional: true
    +      terser:
    +        optional: true
    +    dependencies:
    +      '@types/node': 20.12.7
    +      esbuild: 0.18.20
    +      postcss: 8.4.38
    +      rollup: 3.29.4
    +    optionalDependencies:
    +      fsevents: 2.3.3
    +    dev: true
    +
       /vite@5.2.10(@types/node@20.12.7):
         resolution: {integrity: sha512-PAzgUZbP7msvQvqdSD+ErD5qGnSFiGOoWmV5yAKUEI0kdhjbH6nMWVyZQC/hSc4aXwc0oJ9aEdIiF9Oje0JFCw==}
         engines: {node: ^18.0.0 || >=20.0.0}
    @@ -15544,6 +16007,62 @@ packages:
           vue: 3.4.26(typescript@5.4.5)
         dev: true
     
    +  /vitepress@1.0.0-rc.39(@algolia/client-search@4.23.3)(@types/node@20.12.7)(postcss@8.4.38)(search-insights@2.13.0)(typescript@5.4.5):
    +    resolution: {integrity: sha512-EcgoRlAAp37WOxUOYv45oxyhLrcy3Upey+mKpqW3ldsg6Ol4trPndRBk2GO0QiSvEKlb9BMerk49D/bFICN6kg==}
    +    hasBin: true
    +    peerDependencies:
    +      markdown-it-mathjax3: ^4.3.2
    +      postcss: ^8.4.33
    +    peerDependenciesMeta:
    +      markdown-it-mathjax3:
    +        optional: true
    +      postcss:
    +        optional: true
    +    dependencies:
    +      '@docsearch/css': 3.6.0
    +      '@docsearch/js': 3.6.0(@algolia/client-search@4.23.3)(search-insights@2.13.0)
    +      '@types/markdown-it': 13.0.8
    +      '@vitejs/plugin-vue': 5.0.4(vite@5.2.10)(vue@3.4.26)
    +      '@vue/devtools-api': 6.6.1
    +      '@vueuse/core': 10.9.0(vue@3.4.26)
    +      '@vueuse/integrations': 10.9.0(focus-trap@7.5.4)(vue@3.4.26)
    +      focus-trap: 7.5.4
    +      mark.js: 8.11.1
    +      minisearch: 6.3.0
    +      postcss: 8.4.38
    +      shikiji: 0.9.19
    +      shikiji-core: 0.9.19
    +      shikiji-transformers: 0.9.19
    +      vite: 5.2.10(@types/node@20.12.7)
    +      vue: 3.4.26(typescript@5.4.5)
    +    transitivePeerDependencies:
    +      - '@algolia/client-search'
    +      - '@types/node'
    +      - '@types/react'
    +      - '@vue/composition-api'
    +      - async-validator
    +      - axios
    +      - change-case
    +      - drauu
    +      - fuse.js
    +      - idb-keyval
    +      - jwt-decode
    +      - less
    +      - lightningcss
    +      - nprogress
    +      - qrcode
    +      - react
    +      - react-dom
    +      - sass
    +      - search-insights
    +      - sortablejs
    +      - stylus
    +      - sugarss
    +      - terser
    +      - typescript
    +      - universal-cookie
    +    dev: true
    +
       /vitepress@1.1.0(@algolia/client-search@4.23.3)(@types/node@20.12.7)(postcss@8.4.38)(search-insights@2.13.0)(typescript@5.4.5):
         resolution: {integrity: sha512-G+NS5I2OETxC0SfGAMDO75JWNkrcir0UCptuhQMNoaZhhlqvYtTDQhph4qGc5dtiTtZkcFa/bCcSx+A2gSS3lA==}
         hasBin: true
    
    From c8f2abad1805bd6d1472b65532f7bdf532bdce8c Mon Sep 17 00:00:00 2001
    From: Knut Sveidqvist 
    Date: Mon, 20 May 2024 14:29:38 +0200
    Subject: [PATCH 426/789] #5237 Removed use of node.type from renderer
    
    ---
     packages/mermaid-layout-elk/src/index.ts                  | 8 ++++----
     packages/mermaid/src/diagrams/state/dataFetcher.js        | 4 ++++
     .../src/rendering-util/layout-algorithms/dagre/index.js   | 2 +-
     3 files changed, 9 insertions(+), 5 deletions(-)
    
    diff --git a/packages/mermaid-layout-elk/src/index.ts b/packages/mermaid-layout-elk/src/index.ts
    index 80652924c9..eb860436eb 100644
    --- a/packages/mermaid-layout-elk/src/index.ts
    +++ b/packages/mermaid-layout-elk/src/index.ts
    @@ -59,7 +59,7 @@ export const addVertex = async (nodeEl, graph, nodeArr, node) => {
       nodeDb[node.id] = child;
     
       //     // Add the element to the DOM
    -  if (node.type !== 'group') {
    +  if (!node.isGroup) {
         const childNodeEl = await insertNode(nodeEl, node, node.dir);
         boundingBox = childNodeEl.node().getBBox();
         child.domId = childNodeEl;
    @@ -106,7 +106,7 @@ const drawNodes = (relX, relY, nodeArray, svg, subgraphsEl, depth) => {
             width: node.width,
             height: node.height,
           };
    -      if (node.type === 'group') {
    +      if (node.isGroup) {
             log.debug('Id abc88 subgraph = ', node.id, node.x, node.y, node.labelData);
             const subgraphEl = subgraphsEl.insert('g').attr('class', 'subgraph');
             // TODO use faster way of cloning
    @@ -135,7 +135,7 @@ const drawNodes = (relX, relY, nodeArray, svg, subgraphsEl, depth) => {
         }
       });
       nodeArray.forEach(function (node) {
    -    if (node && node.type === 'group') {
    +    if (node && node.isGroup) {
           drawNodes(relX + node.x, relY + node.y, node.children, svg, subgraphsEl, depth + 1);
         }
       });
    @@ -192,7 +192,7 @@ const getNextPort = (node, edgeDirection, graphDirection) => {
     
     const addSubGraphs = function (nodeArr) {
       const parentLookupDb = { parentById: {}, childrenById: {} };
    -  const subgraphs = nodeArr.filter((node) => node.type === 'group');
    +  const subgraphs = nodeArr.filter((node) => node.isGroup);
       log.info('Subgraphs - ', subgraphs);
       subgraphs.forEach(function (subgraph) {
         const children = nodeArr.filter((node) => node.parentId === subgraph.id);
    diff --git a/packages/mermaid/src/diagrams/state/dataFetcher.js b/packages/mermaid/src/diagrams/state/dataFetcher.js
    index f0d1f03e71..d553a48342 100644
    --- a/packages/mermaid/src/diagrams/state/dataFetcher.js
    +++ b/packages/mermaid/src/diagrams/state/dataFetcher.js
    @@ -279,6 +279,7 @@ export const dataFetcher = (parent, parsedItem, diagramStates, nodes, edges, alt
         if (!newNode.type && parsedItem.doc) {
           log.info('Setting cluster for ', itemId, getDir(parsedItem));
           newNode.type = 'group';
    +      newNode.isGroup = true;
           newNode.dir = getDir(parsedItem);
           newNode.shape = parsedItem.type === DIVIDER_TYPE ? SHAPE_DIVIDER : SHAPE_GROUP;
           newNode.cssClasses =
    @@ -300,6 +301,7 @@ export const dataFetcher = (parent, parsedItem, diagramStates, nodes, edges, alt
           dir: newNode.dir,
           domId: stateDomId(itemId, graphItemCount),
           type: newNode.type,
    +      isGroup: newNode.type === 'group',
           padding: 15,
           rx: 10,
           ry: 10,
    @@ -325,6 +327,7 @@ export const dataFetcher = (parent, parsedItem, diagramStates, nodes, edges, alt
             id: itemId + NOTE_ID + '-' + graphItemCount,
             domId: stateDomId(itemId, graphItemCount, NOTE),
             type: newNode.type,
    +        isGroup: newNode.type === 'group',
             padding: 15, //getConfig().flowchart.padding
             useRough,
           };
    @@ -337,6 +340,7 @@ export const dataFetcher = (parent, parsedItem, diagramStates, nodes, edges, alt
             id: itemId + PARENT_ID,
             domId: stateDomId(itemId, graphItemCount, PARENT),
             type: 'group',
    +        isGroup: true,
             padding: 0, //getConfig().flowchart.padding
             useRough,
           };
    diff --git a/packages/mermaid/src/rendering-util/layout-algorithms/dagre/index.js b/packages/mermaid/src/rendering-util/layout-algorithms/dagre/index.js
    index db0c1e0f69..3a20a2e0e1 100644
    --- a/packages/mermaid/src/rendering-util/layout-algorithms/dagre/index.js
    +++ b/packages/mermaid/src/rendering-util/layout-algorithms/dagre/index.js
    @@ -165,7 +165,7 @@ const recursiveRender = async (_elem, graph, diagramType, id, parentCluster, sit
       graph.nodes().forEach(function (v) {
         const n = graph.node(v);
         log.info(v, n.type, n.diff);
    -    if (n.type === 'group') {
    +    if (n.isGroup) {
           diff = n.diff;
         }
       });
    
    From 0d2c7c3b2ccb0cc0e16754517f73cb67f146c500 Mon Sep 17 00:00:00 2001
    From: Knut Sveidqvist 
    Date: Mon, 20 May 2024 14:33:54 +0200
    Subject: [PATCH 427/789] #5237 Removed node properties, doc status in types
    
    ---
     packages/mermaid/src/rendering-util/types.d.ts | 16 ++++++++--------
     1 file changed, 8 insertions(+), 8 deletions(-)
    
    diff --git a/packages/mermaid/src/rendering-util/types.d.ts b/packages/mermaid/src/rendering-util/types.d.ts
    index f6b56582e9..1276c41d81 100644
    --- a/packages/mermaid/src/rendering-util/types.d.ts
    +++ b/packages/mermaid/src/rendering-util/types.d.ts
    @@ -14,17 +14,19 @@ interface Node {
       id: string;
       label?: string;
       parentId?: string;
    -  position?: string; // Keep, this is for notes 'left of', 'right of', etc.
    +  position?: string; // Keep, this is for notes 'left of', 'right of', etc. Move into nodeNode
       cssStyles?: string; // Renamed from `styles` to `cssStyles`
       cssClasses?: string; // Renamed from `classes` to `cssClasses`
    -  // style?: string; //REMOVE
    -  // class?: string; //REMOVE
    -  // labelText?: string; //REMOVE, use `label` instead
    -  // props?: Record; //REMOVE
    +  // style?: string; //REMOVE ✅
    +  // class?: string; //REMOVE ✅
    +  // labelText?: string; //REMOVE, use `label` instead  ✅
    +  // props?: Record; //REMOVE  ✅
    +  // type: string; // REMOVE, replace with isGroup: boolean, default false  ✅
    +  // borders?: string; //REMOVE  ✅
       labelStyle?: string;
     
       // Flowchart specific properties
    -  labelType?: string; // REMOVE? Always use markdown string, need to check for KaTeX - wait with this one
    +  labelType?: string; // REMOVE? Always use markdown string, need to check for KaTeX - ⏳ wait with this one
       domId: string;
       // Rendering specific properties for both Flowchart and State Diagram nodes
       dir?: string; // Only relevant for isGroup true, i.e. a sub-graph or composite state.
    @@ -34,7 +36,6 @@ interface Node {
       padding?: number; //REMOVE?, use from LayoutData.config - Keep, this could be shape specific
       shape?: string;
       tooltip?: string;
    -  type: string; // REMOVE, replace with isGroup: boolean, default false
       isGroup: boolean;
       width?: number;
       height?: number;
    @@ -45,7 +46,6 @@ interface Node {
       rx?: number; // Used for rounded corners in Rect, Ellipse, etc.Maybe it to specialized RectNode, EllipseNode, etc.
       ry?: number;
     
    -  borders?: string; //REMOVE
       useRough?: boolean;
       useHtmlLabels?: boolean;
       centerLabel?: boolean; //keep for now.
    
    From ec7adb7e00f3c7c1859e64e730ebe4e8199f6956 Mon Sep 17 00:00:00 2001
    From: Sidharth Vinod 
    Date: Tue, 21 May 2024 17:48:30 +0530
    Subject: [PATCH 428/789] Update pnpm to v9
    
    ---
     package.json   |     2 +-
     pnpm-lock.yaml | 20008 ++++++++++++++++++++++++++---------------------
     2 files changed, 11263 insertions(+), 8747 deletions(-)
    
    diff --git a/package.json b/package.json
    index 369fa31624..55bc454f5b 100644
    --- a/package.json
    +++ b/package.json
    @@ -4,7 +4,7 @@
       "version": "10.2.4",
       "description": "Markdownish syntax for generating flowcharts, sequence diagrams, class diagrams, gantt charts and git graphs.",
       "type": "module",
    -  "packageManager": "pnpm@8.15.8",
    +  "packageManager": "pnpm@9.1.2+sha512.127dc83b9ea10c32be65d22a8efb4a65fb952e8fefbdfded39bdc3c97efc32d31b48b00420df2c1187ace28c921c902f0cb5a134a4d032b8b5295cbfa2c681e2",
       "keywords": [
         "diagram",
         "markdown",
    diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
    index 936990cb27..ceaab85854 100644
    --- a/pnpm-lock.yaml
    +++ b/pnpm-lock.yaml
    @@ -1,4 +1,4 @@
    -lockfileVersion: '6.0'
    +lockfileVersion: '9.0'
     
     settings:
       autoInstallPeers: true
    @@ -15,16 +15,16 @@ importers:
         devDependencies:
           '@applitools/eyes-cypress':
             specifier: ^3.42.3
    -        version: 3.43.1(typescript@5.4.5)
    +        version: 3.43.1(encoding@0.1.13)(typescript@5.4.5)
           '@cspell/eslint-plugin':
             specifier: ^8.6.0
             version: 8.7.0(eslint@8.57.0)
           '@cypress/code-coverage':
             specifier: ^3.12.30
    -        version: 3.12.39(@babel/core@7.24.5)(@babel/preset-env@7.24.5)(babel-loader@9.1.3)(cypress@13.7.3)(webpack@5.91.0)
    +        version: 3.12.38(@babel/core@7.24.4)(@babel/preset-env@7.24.5(@babel/core@7.24.4))(babel-loader@9.1.3(@babel/core@7.24.4)(webpack@5.91.0(esbuild@0.20.2)))(cypress@13.7.3)(webpack@5.91.0(esbuild@0.20.2))
           '@rollup/plugin-typescript':
             specifier: ^11.1.6
    -        version: 11.1.6(typescript@5.4.5)
    +        version: 11.1.6(rollup@4.17.2)(tslib@2.6.2)(typescript@5.4.5)
           '@types/cors':
             specifier: ^2.8.17
             version: 2.8.17
    @@ -42,25 +42,25 @@ importers:
             version: 21.1.6
           '@types/lodash':
             specifier: ^4.17.0
    -        version: 4.17.1
    +        version: 4.17.0
           '@types/mdast':
             specifier: ^4.0.3
    -        version: 4.0.4
    +        version: 4.0.3
           '@types/node':
             specifier: ^20.11.30
    -        version: 20.12.12
    +        version: 20.12.7
           '@types/rollup-plugin-visualizer':
             specifier: ^4.2.4
             version: 4.2.4
           '@typescript-eslint/eslint-plugin':
             specifier: ^7.3.1
    -        version: 7.6.0(@typescript-eslint/parser@7.6.0)(eslint@8.57.0)(typescript@5.4.5)
    +        version: 7.6.0(@typescript-eslint/parser@7.6.0(eslint@8.57.0)(typescript@5.4.5))(eslint@8.57.0)(typescript@5.4.5)
           '@typescript-eslint/parser':
             specifier: ^7.3.1
             version: 7.6.0(eslint@8.57.0)(typescript@5.4.5)
           '@vitest/coverage-v8':
             specifier: ^1.4.0
    -        version: 1.5.3(vitest@1.5.3)
    +        version: 1.5.3(vitest@1.5.3(@types/node@20.12.7)(@vitest/ui@1.5.3)(jsdom@24.0.0)(terser@5.31.0))
           '@vitest/spy':
             specifier: ^1.4.0
             version: 1.5.3
    @@ -90,7 +90,7 @@ importers:
             version: 13.7.3
           cypress-image-snapshot:
             specifier: ^4.0.1
    -        version: 4.0.1(cypress@13.7.3)(jest@29.7.0)
    +        version: 4.0.1(cypress@13.7.3)(jest@29.7.0(@types/node@20.12.7))
           esbuild:
             specifier: ^0.20.2
             version: 0.20.2
    @@ -108,10 +108,10 @@ importers:
             version: 8.1.1
           eslint-plugin-jest:
             specifier: ^27.9.0
    -        version: 27.9.0(@typescript-eslint/eslint-plugin@7.6.0)(eslint@8.57.0)(jest@29.7.0)(typescript@5.4.5)
    +        version: 27.9.0(@typescript-eslint/eslint-plugin@7.6.0(@typescript-eslint/parser@7.6.0(eslint@8.57.0)(typescript@5.4.5))(eslint@8.57.0)(typescript@5.4.5))(eslint@8.57.0)(jest@29.7.0(@types/node@20.12.7))(typescript@5.4.5)
           eslint-plugin-jsdoc:
             specifier: ^48.2.1
    -        version: 48.2.5(eslint@8.57.0)
    +        version: 48.2.3(eslint@8.57.0)
           eslint-plugin-json:
             specifier: ^3.1.0
             version: 3.1.0
    @@ -141,7 +141,7 @@ importers:
             version: 9.0.11
           jest:
             specifier: ^29.7.0
    -        version: 29.7.0(@types/node@20.12.12)
    +        version: 29.7.0(@types/node@20.12.7)
           jison:
             specifier: ^0.4.18
             version: 0.4.18
    @@ -177,10 +177,10 @@ importers:
             version: 1.3.0(prettier@3.2.5)
           rimraf:
             specifier: ^5.0.5
    -        version: 5.0.7
    +        version: 5.0.5
           rollup-plugin-visualizer:
             specifier: ^5.12.0
    -        version: 5.12.0
    +        version: 5.12.0(rollup@4.17.2)
           start-server-and-test:
             specifier: ^2.0.3
             version: 2.0.3
    @@ -192,13 +192,13 @@ importers:
             version: 5.4.5
           vite:
             specifier: ^5.2.3
    -        version: 5.2.11(@types/node@20.12.12)
    +        version: 5.2.10(@types/node@20.12.7)(terser@5.31.0)
           vite-plugin-istanbul:
             specifier: ^6.0.0
    -        version: 6.0.2(vite@5.2.11)
    +        version: 6.0.0(vite@5.2.10(@types/node@20.12.7)(terser@5.31.0))
           vitest:
             specifier: ^1.4.0
    -        version: 1.5.3(@types/node@20.12.12)(@vitest/ui@1.5.3)(jsdom@24.0.0)
    +        version: 1.5.3(@types/node@20.12.7)(@vitest/ui@1.5.3)(jsdom@24.0.0)(terser@5.31.0)
     
       packages/mermaid:
         dependencies:
    @@ -213,7 +213,7 @@ importers:
             version: 3.28.1(patch_hash=claipxynndhyqyu2csninuoh5e)
           cytoscape-cose-bilkent:
             specifier: ^4.1.0
    -        version: 4.1.0(cytoscape@3.28.1)
    +        version: 4.1.0(cytoscape@3.28.1(patch_hash=claipxynndhyqyu2csninuoh5e))
           d3:
             specifier: ^7.9.0
             version: 7.9.0
    @@ -228,7 +228,7 @@ importers:
             version: 1.11.11
           dompurify:
             specifier: ^3.0.11
    -        version: 3.1.3
    +        version: 3.1.2
           elkjs:
             specifier: ^0.9.2
             version: 0.9.3
    @@ -259,7 +259,7 @@ importers:
             version: 8.0.2
           '@types/cytoscape':
             specifier: ^3.19.16
    -        version: 3.21.1
    +        version: 3.21.0
           '@types/d3':
             specifier: ^7.4.3
             version: 7.4.3
    @@ -298,13 +298,13 @@ importers:
             version: 3.0.0
           '@types/stylis':
             specifier: ^4.2.5
    -        version: 4.2.6
    +        version: 4.2.5
           '@types/uuid':
             specifier: ^9.0.8
             version: 9.0.8
           '@typescript-eslint/eslint-plugin':
             specifier: ^7.3.1
    -        version: 7.6.0(@typescript-eslint/parser@7.6.0)(eslint@8.57.0)(typescript@5.4.5)
    +        version: 7.6.0(@typescript-eslint/parser@7.6.0(eslint@8.57.0)(typescript@5.4.5))(eslint@8.57.0)(typescript@5.4.5)
           '@typescript-eslint/parser':
             specifier: ^7.3.1
             version: 7.6.0(eslint@8.57.0)(typescript@5.4.5)
    @@ -358,7 +358,7 @@ importers:
             version: 4.0.0
           rimraf:
             specifier: ^5.0.5
    -        version: 5.0.7
    +        version: 5.0.5
           start-server-and-test:
             specifier: ^2.0.3
             version: 2.0.3
    @@ -370,7 +370,7 @@ importers:
             version: 0.25.13(typescript@5.4.5)
           typedoc-plugin-markdown:
             specifier: ^3.17.1
    -        version: 3.17.1(typedoc@0.25.13)
    +        version: 3.17.1(typedoc@0.25.13(typescript@5.4.5))
           typescript:
             specifier: ^5.4.3
             version: 5.4.5
    @@ -382,10 +382,10 @@ importers:
             version: 5.0.0
           vitepress:
             specifier: ^1.0.1
    -        version: 1.1.4(@algolia/client-search@4.23.3)(@types/node@20.12.12)(postcss@8.4.38)(search-insights@2.13.0)(typescript@5.4.5)
    +        version: 1.1.4(@algolia/client-search@4.23.3)(@types/node@20.12.7)(axios@1.6.7)(postcss@8.4.38)(search-insights@2.13.0)(terser@5.31.0)(typescript@5.4.5)
           vitepress-plugin-search:
             specifier: 1.0.4-alpha.22
    -        version: 1.0.4-alpha.22(flexsearch@0.7.43)(vitepress@1.1.4)(vue@3.4.27)
    +        version: 1.0.4-alpha.22(flexsearch@0.7.43)(vitepress@1.1.4(@algolia/client-search@4.23.3)(@types/node@20.12.7)(axios@1.6.7)(postcss@8.4.38)(search-insights@2.13.0)(terser@5.31.0)(typescript@5.4.5))(vue@3.4.26(typescript@5.4.5))
     
       packages/mermaid-example-diagram:
         dependencies:
    @@ -407,7 +407,7 @@ importers:
             version: link:../mermaid
           rimraf:
             specifier: ^5.0.5
    -        version: 5.0.7
    +        version: 5.0.5
     
       packages/mermaid-flowchart-elk:
         dependencies:
    @@ -432,7 +432,7 @@ importers:
             version: link:../mermaid
           rimraf:
             specifier: ^5.0.5
    -        version: 5.0.7
    +        version: 5.0.5
     
       packages/mermaid-zenuml:
         dependencies:
    @@ -451,7 +451,7 @@ importers:
             version: 7.4.47
           '@vueuse/core':
             specifier: ^10.9.0
    -        version: 10.9.0(vue@3.4.27)
    +        version: 10.9.0(vue@3.4.26(typescript@5.4.5))
           font-awesome:
             specifier: ^4.7.0
             version: 4.7.0
    @@ -463,20 +463,20 @@ importers:
             version: link:../..
           vue:
             specifier: ^3.4.21
    -        version: 3.4.27(typescript@5.4.5)
    +        version: 3.4.26(typescript@5.4.5)
         devDependencies:
           '@iconify-json/carbon':
             specifier: ^1.1.31
    -        version: 1.1.33
    +        version: 1.1.32
           '@unocss/reset':
             specifier: ^0.59.0
             version: 0.59.4
           '@vite-pwa/vitepress':
             specifier: ^0.4.0
    -        version: 0.4.0(vite-plugin-pwa@0.19.8)
    +        version: 0.4.0(vite-plugin-pwa@0.19.8(vite@5.2.10(@types/node@20.12.7)(terser@5.31.0))(workbox-build@7.1.0(@types/babel__core@7.20.5))(workbox-window@7.0.0))
           '@vitejs/plugin-vue':
             specifier: ^5.0.0
    -        version: 5.0.4(vite@5.2.11)(vue@3.4.27)
    +        version: 5.0.4(vite@5.2.10(@types/node@20.12.7)(terser@5.31.0))(vue@3.4.26(typescript@5.4.5))
           fast-glob:
             specifier: ^3.3.2
             version: 3.3.2
    @@ -488,19 +488,19 @@ importers:
             version: 1.1.2
           unocss:
             specifier: ^0.59.0
    -        version: 0.59.4(postcss@8.4.38)(rollup@2.79.1)(vite@5.2.11)
    +        version: 0.59.4(postcss@8.4.38)(rollup@2.79.1)(vite@5.2.10(@types/node@20.12.7)(terser@5.31.0))
           unplugin-vue-components:
             specifier: ^0.26.0
    -        version: 0.26.0(rollup@2.79.1)(vue@3.4.27)
    +        version: 0.26.0(@babel/parser@7.24.5)(rollup@2.79.1)(vue@3.4.26(typescript@5.4.5))
           vite:
             specifier: ^5.0.0
    -        version: 5.2.11(@types/node@20.12.12)
    +        version: 5.2.10(@types/node@20.12.7)(terser@5.31.0)
           vite-plugin-pwa:
             specifier: ^0.19.7
    -        version: 0.19.8(vite@5.2.11)(workbox-build@7.1.0)(workbox-window@7.0.0)
    +        version: 0.19.8(vite@5.2.10(@types/node@20.12.7)(terser@5.31.0))(workbox-build@7.1.0(@types/babel__core@7.20.5))(workbox-window@7.0.0)
           vitepress:
             specifier: 1.1.4
    -        version: 1.1.4(@algolia/client-search@4.23.3)(@types/node@20.12.12)(postcss@8.4.38)(search-insights@2.13.0)(typescript@5.4.5)
    +        version: 1.1.4(@algolia/client-search@4.23.3)(@types/node@20.12.7)(axios@1.6.7)(postcss@8.4.38)(search-insights@2.13.0)(terser@5.31.0)(typescript@5.4.5)
           workbox-window:
             specifier: ^7.0.0
             version: 7.0.0
    @@ -536,2321 +536,1097 @@ importers:
     
     packages:
     
    -  /@aashutoshrathi/word-wrap@1.2.6:
    +  '@aashutoshrathi/word-wrap@1.2.6':
         resolution: {integrity: sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==}
         engines: {node: '>=0.10.0'}
    -    dev: true
     
    -  /@adobe/jsonschema2md@8.0.2:
    +  '@adobe/jsonschema2md@8.0.2':
         resolution: {integrity: sha512-g90Rtz1Xghp9HTfbtBH2Pf5IpuUY1Ry9Wps5NNuNmxucbtmnCY4/1KXmtwe0yKxnknPF7nt5/Y8TOekMh450tQ==}
         engines: {node: ^18.0.0 || >= 20.0.0}
         hasBin: true
    -    dependencies:
    -      '@types/json-schema': 7.0.15
    -      '@types/mdast': 4.0.3
    -      es2015-i18n-tag: 1.6.1
    -      ferrum: 1.9.4
    -      fs-extra: 11.2.0
    -      github-slugger: 2.0.0
    -      js-yaml: 4.1.0
    -      json-schema: 0.4.0
    -      mdast-builder: 1.1.1
    -      mdast-util-to-string: 4.0.0
    -      readdirp: 3.6.0
    -      remark-gfm: 4.0.0
    -      remark-parse: 11.0.0
    -      remark-stringify: 11.0.0
    -      unified: 11.0.4
    -      unist-util-inspect: 8.0.0
    -      yargs: 17.7.2
    -    transitivePeerDependencies:
    -      - supports-color
    -    dev: true
     
    -  /@algolia/autocomplete-core@1.9.3(@algolia/client-search@4.23.3)(algoliasearch@4.23.3)(search-insights@2.13.0):
    +  '@algolia/autocomplete-core@1.9.3':
         resolution: {integrity: sha512-009HdfugtGCdC4JdXUbVJClA0q0zh24yyePn+KUGk3rP7j8FEe/m5Yo/z65gn6nP/cM39PxpzqKrL7A6fP6PPw==}
    -    dependencies:
    -      '@algolia/autocomplete-plugin-algolia-insights': 1.9.3(@algolia/client-search@4.23.3)(algoliasearch@4.23.3)(search-insights@2.13.0)
    -      '@algolia/autocomplete-shared': 1.9.3(@algolia/client-search@4.23.3)(algoliasearch@4.23.3)
    -    transitivePeerDependencies:
    -      - '@algolia/client-search'
    -      - algoliasearch
    -      - search-insights
    -    dev: true
     
    -  /@algolia/autocomplete-plugin-algolia-insights@1.9.3(@algolia/client-search@4.23.3)(algoliasearch@4.23.3)(search-insights@2.13.0):
    +  '@algolia/autocomplete-plugin-algolia-insights@1.9.3':
         resolution: {integrity: sha512-a/yTUkcO/Vyy+JffmAnTWbr4/90cLzw+CC3bRbhnULr/EM0fGNvM13oQQ14f2moLMcVDyAx/leczLlAOovhSZg==}
         peerDependencies:
           search-insights: '>= 1 < 3'
    -    dependencies:
    -      '@algolia/autocomplete-shared': 1.9.3(@algolia/client-search@4.23.3)(algoliasearch@4.23.3)
    -      search-insights: 2.13.0
    -    transitivePeerDependencies:
    -      - '@algolia/client-search'
    -      - algoliasearch
    -    dev: true
     
    -  /@algolia/autocomplete-preset-algolia@1.9.3(@algolia/client-search@4.23.3)(algoliasearch@4.23.3):
    +  '@algolia/autocomplete-preset-algolia@1.9.3':
         resolution: {integrity: sha512-d4qlt6YmrLMYy95n5TB52wtNDr6EgAIPH81dvvvW8UmuWRgxEtY0NJiPwl/h95JtG2vmRM804M0DSwMCNZlzRA==}
         peerDependencies:
           '@algolia/client-search': '>= 4.9.1 < 6'
           algoliasearch: '>= 4.9.1 < 6'
    -    dependencies:
    -      '@algolia/autocomplete-shared': 1.9.3(@algolia/client-search@4.23.3)(algoliasearch@4.23.3)
    -      '@algolia/client-search': 4.23.3
    -      algoliasearch: 4.23.3
    -    dev: true
     
    -  /@algolia/autocomplete-shared@1.9.3(@algolia/client-search@4.23.3)(algoliasearch@4.23.3):
    +  '@algolia/autocomplete-shared@1.9.3':
         resolution: {integrity: sha512-Wnm9E4Ye6Rl6sTTqjoymD+l8DjSTHsHboVRYrKgEt8Q7UHm9nYbqhN/i0fhUYA3OAEH7WA8x3jfpnmJm3rKvaQ==}
         peerDependencies:
           '@algolia/client-search': '>= 4.9.1 < 6'
           algoliasearch: '>= 4.9.1 < 6'
    -    dependencies:
    -      '@algolia/client-search': 4.23.3
    -      algoliasearch: 4.23.3
    -    dev: true
     
    -  /@algolia/cache-browser-local-storage@4.23.3:
    +  '@algolia/cache-browser-local-storage@4.23.3':
         resolution: {integrity: sha512-vRHXYCpPlTDE7i6UOy2xE03zHF2C8MEFjPN2v7fRbqVpcOvAUQK81x3Kc21xyb5aSIpYCjWCZbYZuz8Glyzyyg==}
    -    dependencies:
    -      '@algolia/cache-common': 4.23.3
    -    dev: true
     
    -  /@algolia/cache-common@4.23.3:
    +  '@algolia/cache-common@4.23.3':
         resolution: {integrity: sha512-h9XcNI6lxYStaw32pHpB1TMm0RuxphF+Ik4o7tcQiodEdpKK+wKufY6QXtba7t3k8eseirEMVB83uFFF3Nu54A==}
    -    dev: true
     
    -  /@algolia/cache-in-memory@4.23.3:
    +  '@algolia/cache-in-memory@4.23.3':
         resolution: {integrity: sha512-yvpbuUXg/+0rbcagxNT7un0eo3czx2Uf0y4eiR4z4SD7SiptwYTpbuS0IHxcLHG3lq22ukx1T6Kjtk/rT+mqNg==}
    -    dependencies:
    -      '@algolia/cache-common': 4.23.3
    -    dev: true
     
    -  /@algolia/client-account@4.23.3:
    +  '@algolia/client-account@4.23.3':
         resolution: {integrity: sha512-hpa6S5d7iQmretHHF40QGq6hz0anWEHGlULcTIT9tbUssWUriN9AUXIFQ8Ei4w9azD0hc1rUok9/DeQQobhQMA==}
    -    dependencies:
    -      '@algolia/client-common': 4.23.3
    -      '@algolia/client-search': 4.23.3
    -      '@algolia/transporter': 4.23.3
    -    dev: true
     
    -  /@algolia/client-analytics@4.23.3:
    +  '@algolia/client-analytics@4.23.3':
         resolution: {integrity: sha512-LBsEARGS9cj8VkTAVEZphjxTjMVCci+zIIiRhpFun9jGDUlS1XmhCW7CTrnaWeIuCQS/2iPyRqSy1nXPjcBLRA==}
    -    dependencies:
    -      '@algolia/client-common': 4.23.3
    -      '@algolia/client-search': 4.23.3
    -      '@algolia/requester-common': 4.23.3
    -      '@algolia/transporter': 4.23.3
    -    dev: true
     
    -  /@algolia/client-common@4.23.3:
    +  '@algolia/client-common@4.23.3':
         resolution: {integrity: sha512-l6EiPxdAlg8CYhroqS5ybfIczsGUIAC47slLPOMDeKSVXYG1n0qGiz4RjAHLw2aD0xzh2EXZ7aRguPfz7UKDKw==}
    -    dependencies:
    -      '@algolia/requester-common': 4.23.3
    -      '@algolia/transporter': 4.23.3
    -    dev: true
     
    -  /@algolia/client-personalization@4.23.3:
    +  '@algolia/client-personalization@4.23.3':
         resolution: {integrity: sha512-3E3yF3Ocr1tB/xOZiuC3doHQBQ2zu2MPTYZ0d4lpfWads2WTKG7ZzmGnsHmm63RflvDeLK/UVx7j2b3QuwKQ2g==}
    -    dependencies:
    -      '@algolia/client-common': 4.23.3
    -      '@algolia/requester-common': 4.23.3
    -      '@algolia/transporter': 4.23.3
    -    dev: true
     
    -  /@algolia/client-search@4.23.3:
    +  '@algolia/client-search@4.23.3':
         resolution: {integrity: sha512-P4VAKFHqU0wx9O+q29Q8YVuaowaZ5EM77rxfmGnkHUJggh28useXQdopokgwMeYw2XUht49WX5RcTQ40rZIabw==}
    -    dependencies:
    -      '@algolia/client-common': 4.23.3
    -      '@algolia/requester-common': 4.23.3
    -      '@algolia/transporter': 4.23.3
    -    dev: true
     
    -  /@algolia/logger-common@4.23.3:
    +  '@algolia/logger-common@4.23.3':
         resolution: {integrity: sha512-y9kBtmJwiZ9ZZ+1Ek66P0M68mHQzKRxkW5kAAXYN/rdzgDN0d2COsViEFufxJ0pb45K4FRcfC7+33YB4BLrZ+g==}
    -    dev: true
     
    -  /@algolia/logger-console@4.23.3:
    +  '@algolia/logger-console@4.23.3':
         resolution: {integrity: sha512-8xoiseoWDKuCVnWP8jHthgaeobDLolh00KJAdMe9XPrWPuf1by732jSpgy2BlsLTaT9m32pHI8CRfrOqQzHv3A==}
    -    dependencies:
    -      '@algolia/logger-common': 4.23.3
    -    dev: true
     
    -  /@algolia/recommend@4.23.3:
    +  '@algolia/recommend@4.23.3':
         resolution: {integrity: sha512-9fK4nXZF0bFkdcLBRDexsnGzVmu4TSYZqxdpgBW2tEyfuSSY54D4qSRkLmNkrrz4YFvdh2GM1gA8vSsnZPR73w==}
    -    dependencies:
    -      '@algolia/cache-browser-local-storage': 4.23.3
    -      '@algolia/cache-common': 4.23.3
    -      '@algolia/cache-in-memory': 4.23.3
    -      '@algolia/client-common': 4.23.3
    -      '@algolia/client-search': 4.23.3
    -      '@algolia/logger-common': 4.23.3
    -      '@algolia/logger-console': 4.23.3
    -      '@algolia/requester-browser-xhr': 4.23.3
    -      '@algolia/requester-common': 4.23.3
    -      '@algolia/requester-node-http': 4.23.3
    -      '@algolia/transporter': 4.23.3
    -    dev: true
     
    -  /@algolia/requester-browser-xhr@4.23.3:
    +  '@algolia/requester-browser-xhr@4.23.3':
         resolution: {integrity: sha512-jDWGIQ96BhXbmONAQsasIpTYWslyjkiGu0Quydjlowe+ciqySpiDUrJHERIRfELE5+wFc7hc1Q5hqjGoV7yghw==}
    -    dependencies:
    -      '@algolia/requester-common': 4.23.3
    -    dev: true
     
    -  /@algolia/requester-common@4.23.3:
    +  '@algolia/requester-common@4.23.3':
         resolution: {integrity: sha512-xloIdr/bedtYEGcXCiF2muajyvRhwop4cMZo+K2qzNht0CMzlRkm8YsDdj5IaBhshqfgmBb3rTg4sL4/PpvLYw==}
    -    dev: true
     
    -  /@algolia/requester-node-http@4.23.3:
    +  '@algolia/requester-node-http@4.23.3':
         resolution: {integrity: sha512-zgu++8Uj03IWDEJM3fuNl34s746JnZOWn1Uz5taV1dFyJhVM/kTNw9Ik7YJWiUNHJQXcaD8IXD1eCb0nq/aByA==}
    -    dependencies:
    -      '@algolia/requester-common': 4.23.3
    -    dev: true
     
    -  /@algolia/transporter@4.23.3:
    +  '@algolia/transporter@4.23.3':
         resolution: {integrity: sha512-Wjl5gttqnf/gQKJA+dafnD0Y6Yw97yvfY8R9h0dQltX1GXTgNs1zWgvtWW0tHl1EgMdhAyw189uWiZMnL3QebQ==}
    -    dependencies:
    -      '@algolia/cache-common': 4.23.3
    -      '@algolia/logger-common': 4.23.3
    -      '@algolia/requester-common': 4.23.3
    -    dev: true
     
    -  /@alloc/quick-lru@5.2.0:
    +  '@alloc/quick-lru@5.2.0':
         resolution: {integrity: sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==}
         engines: {node: '>=10'}
    -    dev: false
     
    -  /@ampproject/remapping@2.3.0:
    +  '@ampproject/remapping@2.3.0':
         resolution: {integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==}
         engines: {node: '>=6.0.0'}
    -    dependencies:
    -      '@jridgewell/gen-mapping': 0.3.5
    -      '@jridgewell/trace-mapping': 0.3.25
    -    dev: true
     
    -  /@antfu/install-pkg@0.1.1:
    +  '@antfu/install-pkg@0.1.1':
         resolution: {integrity: sha512-LyB/8+bSfa0DFGC06zpCEfs89/XoWZwws5ygEa5D+Xsm3OfI+aXQ86VgVG7Acyef+rSZ5HE7J8rrxzrQeM3PjQ==}
    -    dependencies:
    -      execa: 5.1.1
    -      find-up: 5.0.0
    -    dev: true
     
    -  /@antfu/utils@0.7.6:
    +  '@antfu/utils@0.7.6':
         resolution: {integrity: sha512-pvFiLP2BeOKA/ZOS6jxx4XhKzdVLHDhGlFEaZ2flWWYf2xOqVniqpk38I04DFRyz+L0ASggl7SkItTc+ZLju4w==}
    -    dev: true
     
    -  /@antfu/utils@0.7.7:
    +  '@antfu/utils@0.7.7':
         resolution: {integrity: sha512-gFPqTG7otEJ8uP6wrhDv6mqwGWYZKNvAcCq6u9hOj0c+IKCEsY4L1oC9trPq2SaWIzAfHvqfBDxF591JkMf+kg==}
    -    dev: true
     
    -  /@apideck/better-ajv-errors@0.3.6(ajv@8.13.0):
    +  '@apideck/better-ajv-errors@0.3.6':
         resolution: {integrity: sha512-P+ZygBLZtkp0qqOAJJVX4oX/sFo5JR3eBWwwuqHHhK0GIgQOKWrAfiAaWX0aArHkRWHMuggFEgAZNxVPwPZYaA==}
         engines: {node: '>=10'}
         peerDependencies:
           ajv: '>=8'
    -    dependencies:
    -      ajv: 8.13.0
    -      json-schema: 0.4.0
    -      jsonpointer: 5.0.1
    -      leven: 3.1.0
    -    dev: true
     
    -  /@applitools/core-base@1.10.1:
    +  '@applitools/core-base@1.10.1':
         resolution: {integrity: sha512-s4q72eyPLaV1D5xXH1He72y/yCdSihL4oNs6vRe+IxP2CSDH8b42B+8Ps2nAPMNxatp7nzpHq/jRfXHv24Z1ZQ==}
         engines: {node: '>=12.13.0'}
    -    dependencies:
    -      '@applitools/image': 1.1.9
    -      '@applitools/logger': 2.0.14
    -      '@applitools/req': 1.6.5
    -      '@applitools/utils': 1.7.0
    -      abort-controller: 3.0.0
    -      throat: 6.0.2
    -    transitivePeerDependencies:
    -      - supports-color
    -    dev: true
     
    -  /@applitools/core@4.11.1(typescript@5.4.5):
    +  '@applitools/core@4.11.1':
         resolution: {integrity: sha512-j+LbBn6e7KMONzacFNI+VxEJjBB+3TxxntJrhzBJE9hUzhLuXYR8+oVcpJf0FHyfwruUEF9Fsi+A2K++d3uG5g==}
         engines: {node: '>=12.13.0'}
         hasBin: true
    -    dependencies:
    -      '@applitools/core-base': 1.10.1
    -      '@applitools/dom-capture': 11.2.6
    -      '@applitools/dom-snapshot': 4.9.2
    -      '@applitools/driver': 1.16.5
    -      '@applitools/ec-client': 1.7.32(typescript@5.4.5)
    -      '@applitools/logger': 2.0.14
    -      '@applitools/nml-client': 1.7.5
    -      '@applitools/req': 1.6.5
    -      '@applitools/screenshoter': 3.8.27
    -      '@applitools/snippets': 2.4.25
    -      '@applitools/socket': 1.1.14
    -      '@applitools/spec-driver-webdriver': 1.1.3(webdriver@7.31.1)
    -      '@applitools/ufg-client': 1.10.2
    -      '@applitools/utils': 1.7.0
    -      '@types/ws': 8.5.5
    -      abort-controller: 3.0.0
    -      chalk: 4.1.2
    -      node-fetch: 2.6.7(encoding@0.1.13)
    -      semver: 7.5.4
    -      webdriver: 7.31.1(typescript@5.4.5)
    -      ws: 8.13.0
    -      yargs: 17.7.2
    -    transitivePeerDependencies:
    -      - bufferutil
    -      - encoding
    -      - supports-color
    -      - typescript
    -      - utf-8-validate
    -    dev: true
     
    -  /@applitools/css-tree@1.1.2:
    +  '@applitools/css-tree@1.1.2':
         resolution: {integrity: sha512-+DBY7Rf/PorHniPYNNG9rDbQcjuXvrVTx3vXXMz7h4m8h8wjUDq5afIUQ9QSTj3H8awXKHRg1o9XJl5yA6cxOg==}
         engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0}
    -    dependencies:
    -      mdn-data: 2.1.0
    -      source-map-js: 1.0.1
    -    dev: true
     
    -  /@applitools/dom-capture@11.2.6:
    +  '@applitools/dom-capture@11.2.6':
         resolution: {integrity: sha512-USNpYDaj+L8GcPX0pJFHbDpaHc/IFWJVvFiGrOWylgPPinBWtco52mj7lv5urSX9rVyxEF41awszA2BOFOIV3Q==}
         engines: {node: '>=12.13.0'}
    -    dependencies:
    -      '@applitools/dom-shared': 1.0.13
    -      '@applitools/functional-commons': 1.6.0
    -    dev: true
     
    -  /@applitools/dom-shared@1.0.13:
    +  '@applitools/dom-shared@1.0.13':
         resolution: {integrity: sha512-FcZKhdnPcV42IT9tPK80Tlzs6Xxsv11hgfgMqKscOOtgZ02xK9d8w1tuSMRO9VFDzCLaEFe/QSLk8/FgrDMy7w==}
         engines: {node: '>=12.13.0'}
    -    dev: true
     
    -  /@applitools/dom-snapshot@4.9.2:
    +  '@applitools/dom-snapshot@4.9.2':
         resolution: {integrity: sha512-edAoScuJvrwbj6MSy7WCph1+eK9SMB+8UAAcbGRK1kTlvsRSYJ4fjMyw6A6tEhVKeRY/u6Byn0LELY2YmQukLQ==}
         engines: {node: '>=12.13.0'}
    -    dependencies:
    -      '@applitools/css-tree': 1.1.2
    -      '@applitools/dom-shared': 1.0.13
    -      '@applitools/functional-commons': 1.6.0
    -      pako: 1.0.11
    -    dev: true
     
    -  /@applitools/driver@1.16.5:
    +  '@applitools/driver@1.16.5':
         resolution: {integrity: sha512-/KfxNXRKX02Ru8h55R402H2pOfwQv0XSLvg83T8rJJ6SuAAGsnT+a2orvHmj2tfb7hkEBoe1AuXdRZPdQVZLYg==}
         engines: {node: '>=12.13.0'}
    -    dependencies:
    -      '@applitools/logger': 2.0.14
    -      '@applitools/snippets': 2.4.25
    -      '@applitools/utils': 1.7.0
    -      semver: 7.5.4
    -    transitivePeerDependencies:
    -      - supports-color
    -    dev: true
     
    -  /@applitools/ec-client@1.7.32(typescript@5.4.5):
    +  '@applitools/ec-client@1.7.32':
         resolution: {integrity: sha512-jwjrcpuQLAEManS3V5bCB6BMgl4+/SL95uRwM8yIRQpHw0+l0w6yTuqOAmrygPHTKphHNjDurDia0lmt30IrQA==}
         engines: {node: '>=12.13.0'}
         hasBin: true
    -    dependencies:
    -      '@applitools/core-base': 1.10.1
    -      '@applitools/driver': 1.16.5
    -      '@applitools/logger': 2.0.14
    -      '@applitools/req': 1.6.5
    -      '@applitools/socket': 1.1.14
    -      '@applitools/spec-driver-webdriver': 1.1.3(webdriver@7.31.1)
    -      '@applitools/tunnel-client': 1.4.1
    -      '@applitools/utils': 1.7.0
    -      abort-controller: 3.0.0
    -      webdriver: 7.31.1(typescript@5.4.5)
    -      yargs: 17.7.2
    -    transitivePeerDependencies:
    -      - supports-color
    -      - typescript
    -    dev: true
     
    -  /@applitools/eg-frpc@1.0.5:
    +  '@applitools/eg-frpc@1.0.5':
         resolution: {integrity: sha512-9qUNiCK3R3VKxIAaLr5HO5QnUx6TioLFkJ2JcpU1ZqefApt1X2bdfS7eA4TGDXDWv/a0OIl2Lddzuo5/h3vbTw==}
         engines: {node: '>=12.13.0'}
    -    dev: true
     
    -  /@applitools/eg-socks5-proxy-server@0.5.6:
    +  '@applitools/eg-socks5-proxy-server@0.5.6':
         resolution: {integrity: sha512-SjjDBFeiKspX3nHKOoSQ+l4JUiJK3xJiWAEaR8b+GuMvnGFLnrvAECHhuXXG00+LwBJM8WKmfxEe17nvZe+nhg==}
         engines: {node: '>=12'}
    -    dependencies:
    -      binary: 0.3.0
    -      is-localhost-ip: 2.0.0
    -    dev: true
     
    -  /@applitools/execution-grid-tunnel@2.1.10:
    +  '@applitools/execution-grid-tunnel@2.1.10':
         resolution: {integrity: sha512-d/haRUUehvfRQXu/idhxaWnJY0zThsjuGRz0wPTElQtLoYP2s5zmkrB0ahTqkLc9FsYdTrYKhFYWpp6R6yp17Q==}
         engines: {node: '>=12.13.0'}
         hasBin: true
    -    dependencies:
    -      '@applitools/eg-frpc': 1.0.5
    -      '@applitools/eg-socks5-proxy-server': 0.5.6
    -      '@applitools/logger': 1.1.53
    -      dotenv: 16.4.5
    -      encoding: 0.1.13
    -      fastify: 3.29.5
    -      fastify-plugin: 3.0.1
    -      find-process: 1.4.7
    -      ini: 3.0.1
    -      node-cleanup: 2.1.2
    -      node-fetch: 2.6.7(encoding@0.1.13)
    -      p-retry: 4.6.2
    -      teen_process: 1.16.0
    -    transitivePeerDependencies:
    -      - supports-color
    -    dev: true
     
    -  /@applitools/eyes-cypress@3.43.1(typescript@5.4.5):
    +  '@applitools/eyes-cypress@3.43.1':
         resolution: {integrity: sha512-qq7vKsMRiZj1s21G9s1umma9NfDAeproqjygKcrEwMQ7+dGTpPrBbttC25S+Ge50a4PmIoZ6yao4FxKviC3J+Q==}
         engines: {node: '>=12.13.0'}
         hasBin: true
    -    dependencies:
    -      '@applitools/core': 4.11.1(typescript@5.4.5)
    -      '@applitools/eyes': 1.17.1(typescript@5.4.5)
    -      '@applitools/functional-commons': 1.6.0
    -      '@applitools/logger': 2.0.14
    -      '@applitools/utils': 1.7.0
    -      boxen: 5.1.2
    -      chalk: 3.0.0
    -      semver: 7.5.4
    -      uuid: 8.3.2
    -      ws: 8.5.0
    -    transitivePeerDependencies:
    -      - bufferutil
    -      - encoding
    -      - supports-color
    -      - typescript
    -      - utf-8-validate
    -    dev: true
     
    -  /@applitools/eyes@1.17.1(typescript@5.4.5):
    +  '@applitools/eyes@1.17.1':
         resolution: {integrity: sha512-kgDgILH4yuKBEve4J93Y9XXqF2GPfoEPbrSM3lJY4JUvTFl2q6czfAVtZO7HfQkTFuW4Q/YK2wZg/sTGCWznnQ==}
         engines: {node: '>=12.13.0'}
    -    dependencies:
    -      '@applitools/core': 4.11.1(typescript@5.4.5)
    -      '@applitools/logger': 2.0.14
    -      '@applitools/utils': 1.7.0
    -    transitivePeerDependencies:
    -      - bufferutil
    -      - encoding
    -      - supports-color
    -      - typescript
    -      - utf-8-validate
    -    dev: true
     
    -  /@applitools/functional-commons@1.6.0:
    +  '@applitools/functional-commons@1.6.0':
         resolution: {integrity: sha512-fwiF0CbeYHDEOTD/NKaFgaI8LvRcGYG2GaJJiRwcedKko16sQ8F3TK5wXfj2Ytjf+8gjwHwsEEX550z3yvDWxA==}
         engines: {node: '>=8.0.0'}
    -    dev: true
     
    -  /@applitools/image@1.1.9:
    +  '@applitools/image@1.1.9':
         resolution: {integrity: sha512-R86re+yofXSBamTuzSLwFB57fzaf7aiKvyx675uw8e/XfqQy3vhGbp8Bh23lUZX9y7ngf2ldrpnQ7nQrvmtJuA==}
         engines: {node: '>=12.13.0'}
    -    dependencies:
    -      '@applitools/utils': 1.7.0
    -      bmpimagejs: 1.0.4
    -      jpeg-js: 0.4.4
    -      omggif: 1.0.10
    -      png-async: 0.9.4
    -    dev: true
     
    -  /@applitools/logger@1.1.53:
    +  '@applitools/logger@1.1.53':
         resolution: {integrity: sha512-4mlzYxc0MgM3WIxEwKqIjn9W7G7kMtQc2bFRxozViKOXypTfr72j8iODs88wcetP0GsXtplhZQ5/6aZN5WY9ug==}
         engines: {node: '>=12.13.0'}
    -    dependencies:
    -      '@applitools/utils': 1.3.36
    -      chalk: 4.1.2
    -      debug: 4.3.3
    -    transitivePeerDependencies:
    -      - supports-color
    -    dev: true
     
    -  /@applitools/logger@2.0.14:
    +  '@applitools/logger@2.0.14':
         resolution: {integrity: sha512-oq/RPjs/3BjR3EdLohHhzzVufBYEMMhOUmZlCnvgmCJIhUsa3ceq8Ta2E99TUzSny9xkl962JoRDfLQg/vS+Ww==}
         engines: {node: '>=12.13.0'}
    -    dependencies:
    -      '@applitools/utils': 1.7.0
    -      chalk: 4.1.2
    -      debug: 4.3.4(supports-color@8.1.1)
    -    transitivePeerDependencies:
    -      - supports-color
    -    dev: true
     
    -  /@applitools/nml-client@1.7.5:
    +  '@applitools/nml-client@1.7.5':
         resolution: {integrity: sha512-VeZy/aik9a9PMSE2NNq2LYgwu7FEj/hkGgwVv4M13jdH8/e+RI+fnjEVcky7hE6F1AjsY3HRHvbIrnUBDmF0/g==}
         engines: {node: '>=12.13.0'}
    -    dependencies:
    -      '@applitools/logger': 2.0.14
    -      '@applitools/req': 1.6.5
    -      '@applitools/utils': 1.7.0
    -    transitivePeerDependencies:
    -      - supports-color
    -    dev: true
     
    -  /@applitools/req@1.6.5:
    +  '@applitools/req@1.6.5':
         resolution: {integrity: sha512-EV6SNrABc/MEknQ5hSEUm0TgNlcOQXLM5W7VV2nObuVOMu35XL4BuVJH9Wivg4WiV6O1ZJ2rvpZ9ju0x4DHFsQ==}
         engines: {node: '>=16.13.0'}
    -    dependencies:
    -      '@applitools/utils': 1.7.0
    -      abort-controller: 3.0.0
    -      http-proxy-agent: 5.0.0
    -      https-proxy-agent: 5.0.1
    -      node-fetch: 3.3.1
    -    transitivePeerDependencies:
    -      - supports-color
    -    dev: true
     
    -  /@applitools/screenshoter@3.8.27:
    +  '@applitools/screenshoter@3.8.27':
         resolution: {integrity: sha512-YIByICLMOmfc7gDXIzT9Qc/lVeqzXKjkOu47aKncEmKy2pcOUkMDmbVdhlP+M7pRIaaoPOmsC0CQpdteTGFi/g==}
         engines: {node: '>=12.13.0'}
    -    dependencies:
    -      '@applitools/image': 1.1.9
    -      '@applitools/logger': 2.0.14
    -      '@applitools/snippets': 2.4.25
    -      '@applitools/utils': 1.7.0
    -    transitivePeerDependencies:
    -      - supports-color
    -    dev: true
     
    -  /@applitools/snippets@2.4.25:
    +  '@applitools/snippets@2.4.25':
         resolution: {integrity: sha512-vnU9qq1IGkNpvh7Qy0m196t1u3mpx7NNUeHyJRVnJ53Ok4sb9s/KKrkrU9xYkKYY+T3AEvoN0Rp5LVVrKBHGQw==}
         engines: {node: '>=12.13.0'}
    -    dev: true
     
    -  /@applitools/socket@1.1.14:
    +  '@applitools/socket@1.1.14':
         resolution: {integrity: sha512-o43hNnD/PN5T5MFR3cZ5OC+b5PpkV/PeTk8z844sNtGyziS9GEpO0vYfG2XLq/mZg0YQurrXtYupUMndV+0wDg==}
         engines: {node: '>=12.13.0'}
    -    dependencies:
    -      '@applitools/logger': 2.0.14
    -      '@applitools/utils': 1.7.0
    -    transitivePeerDependencies:
    -      - supports-color
    -    dev: true
     
    -  /@applitools/spec-driver-webdriver@1.1.3(webdriver@7.31.1):
    +  '@applitools/spec-driver-webdriver@1.1.3':
         resolution: {integrity: sha512-L9uhnKdX5Ts/FBS7J1Xq/SV9qQ6codgssKDPVwOytvQEhtJnohGRdnAIgRDdLANPq7j4JCV0SyeCNyYeljwErw==}
         engines: {node: '>=12.13.0'}
         peerDependencies:
           webdriver: '>=6.0.0'
    -    dependencies:
    -      '@applitools/driver': 1.16.5
    -      '@applitools/utils': 1.7.0
    -      http-proxy-agent: 5.0.0
    -      https-proxy-agent: 5.0.1
    -      webdriver: 7.31.1(typescript@5.4.5)
    -    transitivePeerDependencies:
    -      - supports-color
    -    dev: true
     
    -  /@applitools/tunnel-client@1.4.1:
    +  '@applitools/tunnel-client@1.4.1':
         resolution: {integrity: sha512-/oGPWwk+p6qu/u3IUNXA7ZG1jkC9myg3Jv3yu014+i8Ltd9dp+OcUCH8Q4kN/W8RFBjLcRvahpbzWNd0cnYWQA==}
         engines: {node: '>=12.13.0'}
         hasBin: true
    -    dependencies:
    -      '@applitools/execution-grid-tunnel': 2.1.10
    -      '@applitools/logger': 2.0.14
    -      '@applitools/req': 1.6.5
    -      '@applitools/socket': 1.1.14
    -      '@applitools/utils': 1.7.0
    -      abort-controller: 3.0.0
    -      yargs: 17.7.2
    -    transitivePeerDependencies:
    -      - supports-color
    -    dev: true
     
    -  /@applitools/ufg-client@1.10.2:
    +  '@applitools/ufg-client@1.10.2':
         resolution: {integrity: sha512-2F2nSZwxnMF+zZ5wiQuOJhyAbD/s4Wui8zHet2YL69ZZkhDMtMwYLtU/6VtUd9ZrzSYtBX32KE2ynfWraZ+zbg==}
         engines: {node: '>=12.13.0'}
    -    dependencies:
    -      '@applitools/css-tree': 1.1.2
    -      '@applitools/image': 1.1.9
    -      '@applitools/logger': 2.0.14
    -      '@applitools/req': 1.6.5
    -      '@applitools/utils': 1.7.0
    -      '@xmldom/xmldom': 0.8.10
    -      abort-controller: 3.0.0
    -      throat: 6.0.2
    -    transitivePeerDependencies:
    -      - supports-color
    -    dev: true
     
    -  /@applitools/utils@1.3.36:
    +  '@applitools/utils@1.3.36':
         resolution: {integrity: sha512-eROEssh7wIW+V87PvLiHI2hUPxqoBxXFMRx3+z5qOZqXUPSR1Uz7EMFwxZcDDR7T6C3O3UDckB2aVB5fJAg5JA==}
         engines: {node: '>=12.13.0'}
    -    dev: true
     
    -  /@applitools/utils@1.7.0:
    +  '@applitools/utils@1.7.0':
         resolution: {integrity: sha512-CvBxdfPZ3ss1hOD8Yr9y2SzVfqLKBA/0N3gfQd5qafMrBhI0wuCycQmiclpAQNEVNkbhqn8/t6dOeeYgapjyDw==}
         engines: {node: '>=12.13.0'}
    -    dev: true
     
    -  /@babel/code-frame@7.24.2:
    +  '@babel/code-frame@7.24.2':
         resolution: {integrity: sha512-y5+tLQyV8pg3fsiln67BVLD1P13Eg4lh5RW9mF0zUuvLrv9uIQ4MCL+CRT+FTsBlBjcIan6PGsLcBN0m3ClUyQ==}
         engines: {node: '>=6.9.0'}
    -    dependencies:
    -      '@babel/highlight': 7.24.5
    -      picocolors: 1.0.0
    -    dev: true
     
    -  /@babel/compat-data@7.24.4:
    +  '@babel/compat-data@7.24.4':
         resolution: {integrity: sha512-vg8Gih2MLK+kOkHJp4gBEIkyaIi00jgWot2D9QOmmfLC8jINSOzmCLta6Bvz/JSBCqnegV0L80jhxkol5GWNfQ==}
         engines: {node: '>=6.9.0'}
    -    dev: true
     
    -  /@babel/core@7.24.5:
    +  '@babel/core@7.24.4':
    +    resolution: {integrity: sha512-MBVlMXP+kkl5394RBLSxxk/iLTeVGuXTV3cIDXavPpMMqnSnt6apKgan/U8O3USWZCWZT/TbgfEpKa4uMgN4Dg==}
    +    engines: {node: '>=6.9.0'}
    +
    +  '@babel/core@7.24.5':
         resolution: {integrity: sha512-tVQRucExLQ02Boi4vdPp49svNGcfL2GhdTCT9aldhXgCJVAI21EtRfBettiuLUwce/7r6bFdgs6JFkcdTiFttA==}
         engines: {node: '>=6.9.0'}
    -    dependencies:
    -      '@ampproject/remapping': 2.3.0
    -      '@babel/code-frame': 7.24.2
    -      '@babel/generator': 7.24.5
    -      '@babel/helper-compilation-targets': 7.23.6
    -      '@babel/helper-module-transforms': 7.24.5(@babel/core@7.24.5)
    -      '@babel/helpers': 7.24.5
    -      '@babel/parser': 7.24.5
    -      '@babel/template': 7.24.0
    -      '@babel/traverse': 7.24.5
    -      '@babel/types': 7.24.5
    -      convert-source-map: 2.0.0
    -      debug: 4.3.4(supports-color@8.1.1)
    -      gensync: 1.0.0-beta.2
    -      json5: 2.2.3
    -      semver: 6.3.1
    -    transitivePeerDependencies:
    -      - supports-color
    -    dev: true
     
    -  /@babel/generator@7.24.5:
    +  '@babel/generator@7.24.5':
         resolution: {integrity: sha512-x32i4hEXvr+iI0NEoEfDKzlemF8AmtOP8CcrRaEcpzysWuoEb1KknpcvMsHKPONoKZiDuItklgWhB18xEhr9PA==}
         engines: {node: '>=6.9.0'}
    -    dependencies:
    -      '@babel/types': 7.24.5
    -      '@jridgewell/gen-mapping': 0.3.5
    -      '@jridgewell/trace-mapping': 0.3.25
    -      jsesc: 2.5.2
    -    dev: true
     
    -  /@babel/helper-annotate-as-pure@7.22.5:
    +  '@babel/helper-annotate-as-pure@7.22.5':
         resolution: {integrity: sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg==}
         engines: {node: '>=6.9.0'}
    -    dependencies:
    -      '@babel/types': 7.24.5
    -    dev: true
     
    -  /@babel/helper-builder-binary-assignment-operator-visitor@7.22.15:
    +  '@babel/helper-builder-binary-assignment-operator-visitor@7.22.15':
         resolution: {integrity: sha512-QkBXwGgaoC2GtGZRoma6kv7Szfv06khvhFav67ZExau2RaXzy8MpHSMO2PNoP2XtmQphJQRHFfg77Bq731Yizw==}
         engines: {node: '>=6.9.0'}
    -    dependencies:
    -      '@babel/types': 7.24.5
    -    dev: true
     
    -  /@babel/helper-compilation-targets@7.23.6:
    +  '@babel/helper-compilation-targets@7.23.6':
         resolution: {integrity: sha512-9JB548GZoQVmzrFgp8o7KxdgkTGm6xs9DW0o/Pim72UDjzr5ObUQ6ZzYPqA+g9OTS2bBQoctLJrky0RDCAWRgQ==}
         engines: {node: '>=6.9.0'}
    -    dependencies:
    -      '@babel/compat-data': 7.24.4
    -      '@babel/helper-validator-option': 7.23.5
    -      browserslist: 4.23.0
    -      lru-cache: 5.1.1
    -      semver: 6.3.1
    -    dev: true
    -
    -  /@babel/helper-create-class-features-plugin@7.24.4(@babel/core@7.24.5):
    -    resolution: {integrity: sha512-lG75yeuUSVu0pIcbhiYMXBXANHrpUPaOfu7ryAzskCgKUHuAxRQI5ssrtmF0X9UXldPlvT0XM/A4F44OXRt6iQ==}
    -    engines: {node: '>=6.9.0'}
    -    peerDependencies:
    -      '@babel/core': ^7.0.0
    -    dependencies:
    -      '@babel/core': 7.24.5
    -      '@babel/helper-annotate-as-pure': 7.22.5
    -      '@babel/helper-environment-visitor': 7.22.20
    -      '@babel/helper-function-name': 7.23.0
    -      '@babel/helper-member-expression-to-functions': 7.23.0
    -      '@babel/helper-optimise-call-expression': 7.22.5
    -      '@babel/helper-replace-supers': 7.24.1(@babel/core@7.24.5)
    -      '@babel/helper-skip-transparent-expression-wrappers': 7.22.5
    -      '@babel/helper-split-export-declaration': 7.22.6
    -      semver: 6.3.1
    -    dev: true
     
    -  /@babel/helper-create-class-features-plugin@7.24.5(@babel/core@7.24.5):
    +  '@babel/helper-create-class-features-plugin@7.24.5':
         resolution: {integrity: sha512-uRc4Cv8UQWnE4NXlYTIIdM7wfFkOqlFztcC/gVXDKohKoVB3OyonfelUBaJzSwpBntZ2KYGF/9S7asCHsXwW6g==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0
    -    dependencies:
    -      '@babel/core': 7.24.5
    -      '@babel/helper-annotate-as-pure': 7.22.5
    -      '@babel/helper-environment-visitor': 7.22.20
    -      '@babel/helper-function-name': 7.23.0
    -      '@babel/helper-member-expression-to-functions': 7.24.5
    -      '@babel/helper-optimise-call-expression': 7.22.5
    -      '@babel/helper-replace-supers': 7.24.1(@babel/core@7.24.5)
    -      '@babel/helper-skip-transparent-expression-wrappers': 7.22.5
    -      '@babel/helper-split-export-declaration': 7.24.5
    -      semver: 6.3.1
    -    dev: true
     
    -  /@babel/helper-create-regexp-features-plugin@7.22.15(@babel/core@7.24.5):
    +  '@babel/helper-create-regexp-features-plugin@7.22.15':
         resolution: {integrity: sha512-29FkPLFjn4TPEa3RE7GpW+qbE8tlsu3jntNYNfcGsc49LphF1PQIiD+vMZ1z1xVOKt+93khA9tc2JBs3kBjA7w==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0
    -    dependencies:
    -      '@babel/core': 7.24.5
    -      '@babel/helper-annotate-as-pure': 7.22.5
    -      regexpu-core: 5.3.2
    -      semver: 6.3.1
    -    dev: true
     
    -  /@babel/helper-define-polyfill-provider@0.6.2(@babel/core@7.24.5):
    +  '@babel/helper-define-polyfill-provider@0.6.2':
         resolution: {integrity: sha512-LV76g+C502biUK6AyZ3LK10vDpDyCzZnhZFXkH1L75zHPj68+qc8Zfpx2th+gzwA2MzyK+1g/3EPl62yFnVttQ==}
         peerDependencies:
           '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0
    -    dependencies:
    -      '@babel/core': 7.24.5
    -      '@babel/helper-compilation-targets': 7.23.6
    -      '@babel/helper-plugin-utils': 7.24.5
    -      debug: 4.3.4(supports-color@8.1.1)
    -      lodash.debounce: 4.0.8
    -      resolve: 1.22.8
    -    transitivePeerDependencies:
    -      - supports-color
    -    dev: true
     
    -  /@babel/helper-environment-visitor@7.22.20:
    +  '@babel/helper-environment-visitor@7.22.20':
         resolution: {integrity: sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==}
         engines: {node: '>=6.9.0'}
    -    dev: true
     
    -  /@babel/helper-function-name@7.23.0:
    +  '@babel/helper-function-name@7.23.0':
         resolution: {integrity: sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==}
         engines: {node: '>=6.9.0'}
    -    dependencies:
    -      '@babel/template': 7.24.0
    -      '@babel/types': 7.24.5
    -    dev: true
     
    -  /@babel/helper-hoist-variables@7.22.5:
    +  '@babel/helper-hoist-variables@7.22.5':
         resolution: {integrity: sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==}
         engines: {node: '>=6.9.0'}
    -    dependencies:
    -      '@babel/types': 7.24.5
    -    dev: true
    -
    -  /@babel/helper-member-expression-to-functions@7.23.0:
    -    resolution: {integrity: sha512-6gfrPwh7OuT6gZyJZvd6WbTfrqAo7vm4xCzAXOusKqq/vWdKXphTpj5klHKNmRUU6/QRGlBsyU9mAIPaWHlqJA==}
    -    engines: {node: '>=6.9.0'}
    -    dependencies:
    -      '@babel/types': 7.24.5
    -    dev: true
     
    -  /@babel/helper-member-expression-to-functions@7.24.5:
    +  '@babel/helper-member-expression-to-functions@7.24.5':
         resolution: {integrity: sha512-4owRteeihKWKamtqg4JmWSsEZU445xpFRXPEwp44HbgbxdWlUV1b4Agg4lkA806Lil5XM/e+FJyS0vj5T6vmcA==}
         engines: {node: '>=6.9.0'}
    -    dependencies:
    -      '@babel/types': 7.24.5
    -    dev: true
     
    -  /@babel/helper-module-imports@7.24.3:
    +  '@babel/helper-module-imports@7.24.3':
         resolution: {integrity: sha512-viKb0F9f2s0BCS22QSF308z/+1YWKV/76mwt61NBzS5izMzDPwdq1pTrzf+Li3npBWX9KdQbkeCt1jSAM7lZqg==}
         engines: {node: '>=6.9.0'}
    -    dependencies:
    -      '@babel/types': 7.24.5
    -    dev: true
     
    -  /@babel/helper-module-transforms@7.24.5(@babel/core@7.24.5):
    +  '@babel/helper-module-transforms@7.24.5':
         resolution: {integrity: sha512-9GxeY8c2d2mdQUP1Dye0ks3VDyIMS98kt/llQ2nUId8IsWqTF0l1LkSX0/uP7l7MCDrzXS009Hyhe2gzTiGW8A==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0
    -    dependencies:
    -      '@babel/core': 7.24.5
    -      '@babel/helper-environment-visitor': 7.22.20
    -      '@babel/helper-module-imports': 7.24.3
    -      '@babel/helper-simple-access': 7.24.5
    -      '@babel/helper-split-export-declaration': 7.24.5
    -      '@babel/helper-validator-identifier': 7.24.5
    -    dev: true
     
    -  /@babel/helper-optimise-call-expression@7.22.5:
    +  '@babel/helper-optimise-call-expression@7.22.5':
         resolution: {integrity: sha512-HBwaojN0xFRx4yIvpwGqxiV2tUfl7401jlok564NgB9EHS1y6QT17FmKWm4ztqjeVdXLuC4fSvHc5ePpQjoTbw==}
         engines: {node: '>=6.9.0'}
    -    dependencies:
    -      '@babel/types': 7.24.5
    -    dev: true
    -
    -  /@babel/helper-plugin-utils@7.24.0:
    -    resolution: {integrity: sha512-9cUznXMG0+FxRuJfvL82QlTqIzhVW9sL0KjMPHhAOOvpQGL8QtdxnBKILjBqxlHyliz0yCa1G903ZXI/FuHy2w==}
    -    engines: {node: '>=6.9.0'}
    -    dev: true
     
    -  /@babel/helper-plugin-utils@7.24.5:
    +  '@babel/helper-plugin-utils@7.24.5':
         resolution: {integrity: sha512-xjNLDopRzW2o6ba0gKbkZq5YWEBaK3PCyTOY1K2P/O07LGMhMqlMXPxwN4S5/RhWuCobT8z0jrlKGlYmeR1OhQ==}
         engines: {node: '>=6.9.0'}
    -    dev: true
     
    -  /@babel/helper-remap-async-to-generator@7.22.20(@babel/core@7.24.5):
    +  '@babel/helper-remap-async-to-generator@7.22.20':
         resolution: {integrity: sha512-pBGyV4uBqOns+0UvhsTO8qgl8hO89PmiDYv+/COyp1aeMcmfrfruz+/nCMFiYyFF/Knn0yfrC85ZzNFjembFTw==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0
    -    dependencies:
    -      '@babel/core': 7.24.5
    -      '@babel/helper-annotate-as-pure': 7.22.5
    -      '@babel/helper-environment-visitor': 7.22.20
    -      '@babel/helper-wrap-function': 7.24.5
    -    dev: true
     
    -  /@babel/helper-replace-supers@7.24.1(@babel/core@7.24.5):
    +  '@babel/helper-replace-supers@7.24.1':
         resolution: {integrity: sha512-QCR1UqC9BzG5vZl8BMicmZ28RuUBnHhAMddD8yHFHDRH9lLTZ9uUPehX8ctVPT8l0TKblJidqcgUUKGVrePleQ==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0
    -    dependencies:
    -      '@babel/core': 7.24.5
    -      '@babel/helper-environment-visitor': 7.22.20
    -      '@babel/helper-member-expression-to-functions': 7.23.0
    -      '@babel/helper-optimise-call-expression': 7.22.5
    -    dev: true
    -
    -  /@babel/helper-simple-access@7.22.5:
    -    resolution: {integrity: sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==}
    -    engines: {node: '>=6.9.0'}
    -    dependencies:
    -      '@babel/types': 7.24.5
    -    dev: true
     
    -  /@babel/helper-simple-access@7.24.5:
    +  '@babel/helper-simple-access@7.24.5':
         resolution: {integrity: sha512-uH3Hmf5q5n7n8mz7arjUlDOCbttY/DW4DYhE6FUsjKJ/oYC1kQQUvwEQWxRwUpX9qQKRXeqLwWxrqilMrf32sQ==}
         engines: {node: '>=6.9.0'}
    -    dependencies:
    -      '@babel/types': 7.24.5
    -    dev: true
     
    -  /@babel/helper-skip-transparent-expression-wrappers@7.22.5:
    +  '@babel/helper-skip-transparent-expression-wrappers@7.22.5':
         resolution: {integrity: sha512-tK14r66JZKiC43p8Ki33yLBVJKlQDFoA8GYN67lWCDCqoL6EMMSuM9b+Iff2jHaM/RRFYl7K+iiru7hbRqNx8Q==}
         engines: {node: '>=6.9.0'}
    -    dependencies:
    -      '@babel/types': 7.24.5
    -    dev: true
    -
    -  /@babel/helper-split-export-declaration@7.22.6:
    -    resolution: {integrity: sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==}
    -    engines: {node: '>=6.9.0'}
    -    dependencies:
    -      '@babel/types': 7.24.5
    -    dev: true
     
    -  /@babel/helper-split-export-declaration@7.24.5:
    +  '@babel/helper-split-export-declaration@7.24.5':
         resolution: {integrity: sha512-5CHncttXohrHk8GWOFCcCl4oRD9fKosWlIRgWm4ql9VYioKm52Mk2xsmoohvm7f3JoiLSM5ZgJuRaf5QZZYd3Q==}
         engines: {node: '>=6.9.0'}
    -    dependencies:
    -      '@babel/types': 7.24.5
    -    dev: true
     
    -  /@babel/helper-string-parser@7.24.1:
    +  '@babel/helper-string-parser@7.24.1':
         resolution: {integrity: sha512-2ofRCjnnA9y+wk8b9IAREroeUP02KHp431N2mhKniy2yKIDKpbrHv9eXwm8cBeWQYcJmzv5qKCu65P47eCF7CQ==}
         engines: {node: '>=6.9.0'}
     
    -  /@babel/helper-validator-identifier@7.22.20:
    +  '@babel/helper-validator-identifier@7.22.20':
         resolution: {integrity: sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==}
         engines: {node: '>=6.9.0'}
    -    dev: true
     
    -  /@babel/helper-validator-identifier@7.24.5:
    +  '@babel/helper-validator-identifier@7.24.5':
         resolution: {integrity: sha512-3q93SSKX2TWCG30M2G2kwaKeTYgEUp5Snjuj8qm729SObL6nbtUldAi37qbxkD5gg3xnBio+f9nqpSepGZMvxA==}
         engines: {node: '>=6.9.0'}
     
    -  /@babel/helper-validator-option@7.23.5:
    +  '@babel/helper-validator-option@7.23.5':
         resolution: {integrity: sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw==}
         engines: {node: '>=6.9.0'}
    -    dev: true
     
    -  /@babel/helper-wrap-function@7.24.5:
    +  '@babel/helper-wrap-function@7.24.5':
         resolution: {integrity: sha512-/xxzuNvgRl4/HLNKvnFwdhdgN3cpLxgLROeLDl83Yx0AJ1SGvq1ak0OszTOjDfiB8Vx03eJbeDWh9r+jCCWttw==}
         engines: {node: '>=6.9.0'}
    -    dependencies:
    -      '@babel/helper-function-name': 7.23.0
    -      '@babel/template': 7.24.0
    -      '@babel/types': 7.24.5
    -    dev: true
     
    -  /@babel/helpers@7.24.5:
    +  '@babel/helpers@7.24.5':
         resolution: {integrity: sha512-CiQmBMMpMQHwM5m01YnrM6imUG1ebgYJ+fAIW4FZe6m4qHTPaRHti+R8cggAwkdz4oXhtO4/K9JWlh+8hIfR2Q==}
         engines: {node: '>=6.9.0'}
    -    dependencies:
    -      '@babel/template': 7.24.0
    -      '@babel/traverse': 7.24.5
    -      '@babel/types': 7.24.5
    -    transitivePeerDependencies:
    -      - supports-color
    -    dev: true
     
    -  /@babel/highlight@7.24.5:
    -    resolution: {integrity: sha512-8lLmua6AVh/8SLJRRVD6V8p73Hir9w5mJrhE+IPpILG31KKlI9iz5zmBYKcWPS59qSfgP9RaSBQSHHE81WKuEw==}
    +  '@babel/highlight@7.24.2':
    +    resolution: {integrity: sha512-Yac1ao4flkTxTteCDZLEvdxg2fZfz1v8M4QpaGypq/WPDqg3ijHYbDfs+LG5hvzSoqaSZ9/Z9lKSP3CjZjv+pA==}
         engines: {node: '>=6.9.0'}
    -    dependencies:
    -      '@babel/helper-validator-identifier': 7.24.5
    -      chalk: 2.4.2
    -      js-tokens: 4.0.0
    -      picocolors: 1.0.0
    -    dev: true
     
    -  /@babel/parser@7.24.5:
    +  '@babel/parser@7.24.5':
         resolution: {integrity: sha512-EOv5IK8arwh3LI47dz1b0tKUb/1uhHAnHJOrjgtQMIpu1uXd9mlFrJg9IUgGUgZ41Ch0K8REPTYpO7B76b4vJg==}
         engines: {node: '>=6.0.0'}
         hasBin: true
    -    dependencies:
    -      '@babel/types': 7.24.5
     
    -  /@babel/plugin-bugfix-firefox-class-in-computed-class-key@7.24.5(@babel/core@7.24.5):
    +  '@babel/plugin-bugfix-firefox-class-in-computed-class-key@7.24.5':
         resolution: {integrity: sha512-LdXRi1wEMTrHVR4Zc9F8OewC3vdm5h4QB6L71zy6StmYeqGi1b3ttIO8UC+BfZKcH9jdr4aI249rBkm+3+YvHw==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0
    -    dependencies:
    -      '@babel/core': 7.24.5
    -      '@babel/helper-environment-visitor': 7.22.20
    -      '@babel/helper-plugin-utils': 7.24.5
    -    dev: true
     
    -  /@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.24.1(@babel/core@7.24.5):
    +  '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.24.1':
         resolution: {integrity: sha512-y4HqEnkelJIOQGd+3g1bTeKsA5c6qM7eOn7VggGVbBc0y8MLSKHacwcIE2PplNlQSj0PqS9rrXL/nkPVK+kUNg==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0
    -    dependencies:
    -      '@babel/core': 7.24.5
    -      '@babel/helper-plugin-utils': 7.24.5
    -    dev: true
     
    -  /@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.24.1(@babel/core@7.24.5):
    +  '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.24.1':
         resolution: {integrity: sha512-Hj791Ii4ci8HqnaKHAlLNs+zaLXb0EzSDhiAWp5VNlyvCNymYfacs64pxTxbH1znW/NcArSmwpmG9IKE/TUVVQ==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.13.0
    -    dependencies:
    -      '@babel/core': 7.24.5
    -      '@babel/helper-plugin-utils': 7.24.5
    -      '@babel/helper-skip-transparent-expression-wrappers': 7.22.5
    -      '@babel/plugin-transform-optional-chaining': 7.24.5(@babel/core@7.24.5)
    -    dev: true
     
    -  /@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.24.1(@babel/core@7.24.5):
    +  '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.24.1':
         resolution: {integrity: sha512-m9m/fXsXLiHfwdgydIFnpk+7jlVbnvlK5B2EKiPdLUb6WX654ZaaEWJUjk8TftRbZpK0XibovlLWX4KIZhV6jw==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0
    -    dependencies:
    -      '@babel/core': 7.24.5
    -      '@babel/helper-environment-visitor': 7.22.20
    -      '@babel/helper-plugin-utils': 7.24.5
    -    dev: true
     
    -  /@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2(@babel/core@7.24.5):
    +  '@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2':
         resolution: {integrity: sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
    -    dependencies:
    -      '@babel/core': 7.24.5
    -    dev: true
     
    -  /@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.24.5):
    +  '@babel/plugin-syntax-async-generators@7.8.4':
         resolution: {integrity: sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==}
         peerDependencies:
           '@babel/core': ^7.0.0-0
    -    dependencies:
    -      '@babel/core': 7.24.5
    -      '@babel/helper-plugin-utils': 7.24.0
    -    dev: true
     
    -  /@babel/plugin-syntax-bigint@7.8.3(@babel/core@7.24.5):
    +  '@babel/plugin-syntax-bigint@7.8.3':
         resolution: {integrity: sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==}
         peerDependencies:
           '@babel/core': ^7.0.0-0
    -    dependencies:
    -      '@babel/core': 7.24.5
    -      '@babel/helper-plugin-utils': 7.24.0
    -    dev: true
     
    -  /@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.24.5):
    +  '@babel/plugin-syntax-class-properties@7.12.13':
         resolution: {integrity: sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==}
         peerDependencies:
           '@babel/core': ^7.0.0-0
    -    dependencies:
    -      '@babel/core': 7.24.5
    -      '@babel/helper-plugin-utils': 7.24.0
    -    dev: true
     
    -  /@babel/plugin-syntax-class-static-block@7.14.5(@babel/core@7.24.5):
    +  '@babel/plugin-syntax-class-static-block@7.14.5':
         resolution: {integrity: sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
    -    dependencies:
    -      '@babel/core': 7.24.5
    -      '@babel/helper-plugin-utils': 7.24.5
    -    dev: true
     
    -  /@babel/plugin-syntax-dynamic-import@7.8.3(@babel/core@7.24.5):
    +  '@babel/plugin-syntax-dynamic-import@7.8.3':
         resolution: {integrity: sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==}
         peerDependencies:
           '@babel/core': ^7.0.0-0
    -    dependencies:
    -      '@babel/core': 7.24.5
    -      '@babel/helper-plugin-utils': 7.24.5
    -    dev: true
     
    -  /@babel/plugin-syntax-export-namespace-from@7.8.3(@babel/core@7.24.5):
    +  '@babel/plugin-syntax-export-namespace-from@7.8.3':
         resolution: {integrity: sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==}
         peerDependencies:
           '@babel/core': ^7.0.0-0
    -    dependencies:
    -      '@babel/core': 7.24.5
    -      '@babel/helper-plugin-utils': 7.24.5
    -    dev: true
     
    -  /@babel/plugin-syntax-import-assertions@7.24.1(@babel/core@7.24.5):
    +  '@babel/plugin-syntax-import-assertions@7.24.1':
         resolution: {integrity: sha512-IuwnI5XnuF189t91XbxmXeCDz3qs6iDRO7GJ++wcfgeXNs/8FmIlKcpDSXNVyuLQxlwvskmI3Ct73wUODkJBlQ==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
    -    dependencies:
    -      '@babel/core': 7.24.5
    -      '@babel/helper-plugin-utils': 7.24.5
    -    dev: true
     
    -  /@babel/plugin-syntax-import-attributes@7.24.1(@babel/core@7.24.5):
    +  '@babel/plugin-syntax-import-attributes@7.24.1':
         resolution: {integrity: sha512-zhQTMH0X2nVLnb04tz+s7AMuasX8U0FnpE+nHTOhSOINjWMnopoZTxtIKsd45n4GQ/HIZLyfIpoul8e2m0DnRA==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
    -    dependencies:
    -      '@babel/core': 7.24.5
    -      '@babel/helper-plugin-utils': 7.24.5
    -    dev: true
     
    -  /@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.24.5):
    +  '@babel/plugin-syntax-import-meta@7.10.4':
         resolution: {integrity: sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==}
         peerDependencies:
           '@babel/core': ^7.0.0-0
    -    dependencies:
    -      '@babel/core': 7.24.5
    -      '@babel/helper-plugin-utils': 7.24.0
    -    dev: true
     
    -  /@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.24.5):
    +  '@babel/plugin-syntax-json-strings@7.8.3':
         resolution: {integrity: sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==}
         peerDependencies:
           '@babel/core': ^7.0.0-0
    -    dependencies:
    -      '@babel/core': 7.24.5
    -      '@babel/helper-plugin-utils': 7.24.0
    -    dev: true
     
    -  /@babel/plugin-syntax-jsx@7.24.1(@babel/core@7.24.5):
    +  '@babel/plugin-syntax-jsx@7.24.1':
         resolution: {integrity: sha512-2eCtxZXf+kbkMIsXS4poTvT4Yu5rXiRa+9xGVT56raghjmBTKMpFNc9R4IDiB4emao9eO22Ox7CxuJG7BgExqA==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
    -    dependencies:
    -      '@babel/core': 7.24.5
    -      '@babel/helper-plugin-utils': 7.24.0
    -    dev: true
     
    -  /@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.24.5):
    +  '@babel/plugin-syntax-logical-assignment-operators@7.10.4':
         resolution: {integrity: sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==}
         peerDependencies:
           '@babel/core': ^7.0.0-0
    -    dependencies:
    -      '@babel/core': 7.24.5
    -      '@babel/helper-plugin-utils': 7.24.0
    -    dev: true
     
    -  /@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.24.5):
    +  '@babel/plugin-syntax-nullish-coalescing-operator@7.8.3':
         resolution: {integrity: sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==}
         peerDependencies:
           '@babel/core': ^7.0.0-0
    -    dependencies:
    -      '@babel/core': 7.24.5
    -      '@babel/helper-plugin-utils': 7.24.0
    -    dev: true
     
    -  /@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.24.5):
    +  '@babel/plugin-syntax-numeric-separator@7.10.4':
         resolution: {integrity: sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==}
         peerDependencies:
           '@babel/core': ^7.0.0-0
    -    dependencies:
    -      '@babel/core': 7.24.5
    -      '@babel/helper-plugin-utils': 7.24.0
    -    dev: true
     
    -  /@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.24.5):
    +  '@babel/plugin-syntax-object-rest-spread@7.8.3':
         resolution: {integrity: sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==}
         peerDependencies:
           '@babel/core': ^7.0.0-0
    -    dependencies:
    -      '@babel/core': 7.24.5
    -      '@babel/helper-plugin-utils': 7.24.0
    -    dev: true
     
    -  /@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.24.5):
    +  '@babel/plugin-syntax-optional-catch-binding@7.8.3':
         resolution: {integrity: sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==}
         peerDependencies:
           '@babel/core': ^7.0.0-0
    -    dependencies:
    -      '@babel/core': 7.24.5
    -      '@babel/helper-plugin-utils': 7.24.0
    -    dev: true
     
    -  /@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.24.5):
    +  '@babel/plugin-syntax-optional-chaining@7.8.3':
         resolution: {integrity: sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==}
         peerDependencies:
           '@babel/core': ^7.0.0-0
    -    dependencies:
    -      '@babel/core': 7.24.5
    -      '@babel/helper-plugin-utils': 7.24.0
    -    dev: true
     
    -  /@babel/plugin-syntax-private-property-in-object@7.14.5(@babel/core@7.24.5):
    +  '@babel/plugin-syntax-private-property-in-object@7.14.5':
         resolution: {integrity: sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
    -    dependencies:
    -      '@babel/core': 7.24.5
    -      '@babel/helper-plugin-utils': 7.24.5
    -    dev: true
     
    -  /@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.24.5):
    +  '@babel/plugin-syntax-top-level-await@7.14.5':
         resolution: {integrity: sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
    -    dependencies:
    -      '@babel/core': 7.24.5
    -      '@babel/helper-plugin-utils': 7.24.0
    -    dev: true
     
    -  /@babel/plugin-syntax-typescript@7.24.1(@babel/core@7.24.5):
    +  '@babel/plugin-syntax-typescript@7.24.1':
         resolution: {integrity: sha512-Yhnmvy5HZEnHUty6i++gcfH1/l68AHnItFHnaCv6hn9dNh0hQvvQJsxpi4BMBFN5DLeHBuucT/0DgzXif/OyRw==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
    -    dependencies:
    -      '@babel/core': 7.24.5
    -      '@babel/helper-plugin-utils': 7.24.0
    -    dev: true
     
    -  /@babel/plugin-syntax-unicode-sets-regex@7.18.6(@babel/core@7.24.5):
    +  '@babel/plugin-syntax-unicode-sets-regex@7.18.6':
         resolution: {integrity: sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0
    -    dependencies:
    -      '@babel/core': 7.24.5
    -      '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.24.5)
    -      '@babel/helper-plugin-utils': 7.24.5
    -    dev: true
     
    -  /@babel/plugin-transform-arrow-functions@7.24.1(@babel/core@7.24.5):
    +  '@babel/plugin-transform-arrow-functions@7.24.1':
         resolution: {integrity: sha512-ngT/3NkRhsaep9ck9uj2Xhv9+xB1zShY3tM3g6om4xxCELwCDN4g4Aq5dRn48+0hasAql7s2hdBOysCfNpr4fw==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
    -    dependencies:
    -      '@babel/core': 7.24.5
    -      '@babel/helper-plugin-utils': 7.24.5
    -    dev: true
     
    -  /@babel/plugin-transform-async-generator-functions@7.24.3(@babel/core@7.24.5):
    +  '@babel/plugin-transform-async-generator-functions@7.24.3':
         resolution: {integrity: sha512-Qe26CMYVjpQxJ8zxM1340JFNjZaF+ISWpr1Kt/jGo+ZTUzKkfw/pphEWbRCb+lmSM6k/TOgfYLvmbHkUQ0asIg==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
    -    dependencies:
    -      '@babel/core': 7.24.5
    -      '@babel/helper-environment-visitor': 7.22.20
    -      '@babel/helper-plugin-utils': 7.24.5
    -      '@babel/helper-remap-async-to-generator': 7.22.20(@babel/core@7.24.5)
    -      '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.24.5)
    -    dev: true
     
    -  /@babel/plugin-transform-async-to-generator@7.24.1(@babel/core@7.24.5):
    +  '@babel/plugin-transform-async-to-generator@7.24.1':
         resolution: {integrity: sha512-AawPptitRXp1y0n4ilKcGbRYWfbbzFWz2NqNu7dacYDtFtz0CMjG64b3LQsb3KIgnf4/obcUL78hfaOS7iCUfw==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
    -    dependencies:
    -      '@babel/core': 7.24.5
    -      '@babel/helper-module-imports': 7.24.3
    -      '@babel/helper-plugin-utils': 7.24.5
    -      '@babel/helper-remap-async-to-generator': 7.22.20(@babel/core@7.24.5)
    -    dev: true
     
    -  /@babel/plugin-transform-block-scoped-functions@7.24.1(@babel/core@7.24.5):
    +  '@babel/plugin-transform-block-scoped-functions@7.24.1':
         resolution: {integrity: sha512-TWWC18OShZutrv9C6mye1xwtam+uNi2bnTOCBUd5sZxyHOiWbU6ztSROofIMrK84uweEZC219POICK/sTYwfgg==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
    -    dependencies:
    -      '@babel/core': 7.24.5
    -      '@babel/helper-plugin-utils': 7.24.5
    -    dev: true
     
    -  /@babel/plugin-transform-block-scoping@7.24.5(@babel/core@7.24.5):
    +  '@babel/plugin-transform-block-scoping@7.24.5':
         resolution: {integrity: sha512-sMfBc3OxghjC95BkYrYocHL3NaOplrcaunblzwXhGmlPwpmfsxr4vK+mBBt49r+S240vahmv+kUxkeKgs+haCw==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
    -    dependencies:
    -      '@babel/core': 7.24.5
    -      '@babel/helper-plugin-utils': 7.24.5
    -    dev: true
     
    -  /@babel/plugin-transform-class-properties@7.24.1(@babel/core@7.24.5):
    +  '@babel/plugin-transform-class-properties@7.24.1':
         resolution: {integrity: sha512-OMLCXi0NqvJfORTaPQBwqLXHhb93wkBKZ4aNwMl6WtehO7ar+cmp+89iPEQPqxAnxsOKTaMcs3POz3rKayJ72g==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
    -    dependencies:
    -      '@babel/core': 7.24.5
    -      '@babel/helper-create-class-features-plugin': 7.24.5(@babel/core@7.24.5)
    -      '@babel/helper-plugin-utils': 7.24.5
    -    dev: true
     
    -  /@babel/plugin-transform-class-static-block@7.24.4(@babel/core@7.24.5):
    +  '@babel/plugin-transform-class-static-block@7.24.4':
         resolution: {integrity: sha512-B8q7Pz870Hz/q9UgP8InNpY01CSLDSCyqX7zcRuv3FcPl87A2G17lASroHWaCtbdIcbYzOZ7kWmXFKbijMSmFg==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.12.0
    -    dependencies:
    -      '@babel/core': 7.24.5
    -      '@babel/helper-create-class-features-plugin': 7.24.5(@babel/core@7.24.5)
    -      '@babel/helper-plugin-utils': 7.24.5
    -      '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.24.5)
    -    dev: true
     
    -  /@babel/plugin-transform-classes@7.24.5(@babel/core@7.24.5):
    +  '@babel/plugin-transform-classes@7.24.5':
         resolution: {integrity: sha512-gWkLP25DFj2dwe9Ck8uwMOpko4YsqyfZJrOmqqcegeDYEbp7rmn4U6UQZNj08UF6MaX39XenSpKRCvpDRBtZ7Q==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
    -    dependencies:
    -      '@babel/core': 7.24.5
    -      '@babel/helper-annotate-as-pure': 7.22.5
    -      '@babel/helper-compilation-targets': 7.23.6
    -      '@babel/helper-environment-visitor': 7.22.20
    -      '@babel/helper-function-name': 7.23.0
    -      '@babel/helper-plugin-utils': 7.24.5
    -      '@babel/helper-replace-supers': 7.24.1(@babel/core@7.24.5)
    -      '@babel/helper-split-export-declaration': 7.24.5
    -      globals: 11.12.0
    -    dev: true
     
    -  /@babel/plugin-transform-computed-properties@7.24.1(@babel/core@7.24.5):
    +  '@babel/plugin-transform-computed-properties@7.24.1':
         resolution: {integrity: sha512-5pJGVIUfJpOS+pAqBQd+QMaTD2vCL/HcePooON6pDpHgRp4gNRmzyHTPIkXntwKsq3ayUFVfJaIKPw2pOkOcTw==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
    -    dependencies:
    -      '@babel/core': 7.24.5
    -      '@babel/helper-plugin-utils': 7.24.5
    -      '@babel/template': 7.24.0
    -    dev: true
     
    -  /@babel/plugin-transform-destructuring@7.24.5(@babel/core@7.24.5):
    +  '@babel/plugin-transform-destructuring@7.24.5':
         resolution: {integrity: sha512-SZuuLyfxvsm+Ah57I/i1HVjveBENYK9ue8MJ7qkc7ndoNjqquJiElzA7f5yaAXjyW2hKojosOTAQQRX50bPSVg==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
    -    dependencies:
    -      '@babel/core': 7.24.5
    -      '@babel/helper-plugin-utils': 7.24.5
    -    dev: true
     
    -  /@babel/plugin-transform-dotall-regex@7.24.1(@babel/core@7.24.5):
    +  '@babel/plugin-transform-dotall-regex@7.24.1':
         resolution: {integrity: sha512-p7uUxgSoZwZ2lPNMzUkqCts3xlp8n+o05ikjy7gbtFJSt9gdU88jAmtfmOxHM14noQXBxfgzf2yRWECiNVhTCw==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
    -    dependencies:
    -      '@babel/core': 7.24.5
    -      '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.24.5)
    -      '@babel/helper-plugin-utils': 7.24.5
    -    dev: true
     
    -  /@babel/plugin-transform-duplicate-keys@7.24.1(@babel/core@7.24.5):
    +  '@babel/plugin-transform-duplicate-keys@7.24.1':
         resolution: {integrity: sha512-msyzuUnvsjsaSaocV6L7ErfNsa5nDWL1XKNnDePLgmz+WdU4w/J8+AxBMrWfi9m4IxfL5sZQKUPQKDQeeAT6lA==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
    -    dependencies:
    -      '@babel/core': 7.24.5
    -      '@babel/helper-plugin-utils': 7.24.5
    -    dev: true
     
    -  /@babel/plugin-transform-dynamic-import@7.24.1(@babel/core@7.24.5):
    +  '@babel/plugin-transform-dynamic-import@7.24.1':
         resolution: {integrity: sha512-av2gdSTyXcJVdI+8aFZsCAtR29xJt0S5tas+Ef8NvBNmD1a+N/3ecMLeMBgfcK+xzsjdLDT6oHt+DFPyeqUbDA==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
    -    dependencies:
    -      '@babel/core': 7.24.5
    -      '@babel/helper-plugin-utils': 7.24.5
    -      '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.24.5)
    -    dev: true
     
    -  /@babel/plugin-transform-exponentiation-operator@7.24.1(@babel/core@7.24.5):
    +  '@babel/plugin-transform-exponentiation-operator@7.24.1':
         resolution: {integrity: sha512-U1yX13dVBSwS23DEAqU+Z/PkwE9/m7QQy8Y9/+Tdb8UWYaGNDYwTLi19wqIAiROr8sXVum9A/rtiH5H0boUcTw==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
    -    dependencies:
    -      '@babel/core': 7.24.5
    -      '@babel/helper-builder-binary-assignment-operator-visitor': 7.22.15
    -      '@babel/helper-plugin-utils': 7.24.5
    -    dev: true
     
    -  /@babel/plugin-transform-export-namespace-from@7.24.1(@babel/core@7.24.5):
    +  '@babel/plugin-transform-export-namespace-from@7.24.1':
         resolution: {integrity: sha512-Ft38m/KFOyzKw2UaJFkWG9QnHPG/Q/2SkOrRk4pNBPg5IPZ+dOxcmkK5IyuBcxiNPyyYowPGUReyBvrvZs7IlQ==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
    -    dependencies:
    -      '@babel/core': 7.24.5
    -      '@babel/helper-plugin-utils': 7.24.5
    -      '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.24.5)
    -    dev: true
     
    -  /@babel/plugin-transform-for-of@7.24.1(@babel/core@7.24.5):
    +  '@babel/plugin-transform-for-of@7.24.1':
         resolution: {integrity: sha512-OxBdcnF04bpdQdR3i4giHZNZQn7cm8RQKcSwA17wAAqEELo1ZOwp5FFgeptWUQXFyT9kwHo10aqqauYkRZPCAg==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
    -    dependencies:
    -      '@babel/core': 7.24.5
    -      '@babel/helper-plugin-utils': 7.24.5
    -      '@babel/helper-skip-transparent-expression-wrappers': 7.22.5
    -    dev: true
     
    -  /@babel/plugin-transform-function-name@7.24.1(@babel/core@7.24.5):
    +  '@babel/plugin-transform-function-name@7.24.1':
         resolution: {integrity: sha512-BXmDZpPlh7jwicKArQASrj8n22/w6iymRnvHYYd2zO30DbE277JO20/7yXJT3QxDPtiQiOxQBbZH4TpivNXIxA==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
    -    dependencies:
    -      '@babel/core': 7.24.5
    -      '@babel/helper-compilation-targets': 7.23.6
    -      '@babel/helper-function-name': 7.23.0
    -      '@babel/helper-plugin-utils': 7.24.5
    -    dev: true
     
    -  /@babel/plugin-transform-json-strings@7.24.1(@babel/core@7.24.5):
    +  '@babel/plugin-transform-json-strings@7.24.1':
         resolution: {integrity: sha512-U7RMFmRvoasscrIFy5xA4gIp8iWnWubnKkKuUGJjsuOH7GfbMkB+XZzeslx2kLdEGdOJDamEmCqOks6e8nv8DQ==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
    -    dependencies:
    -      '@babel/core': 7.24.5
    -      '@babel/helper-plugin-utils': 7.24.5
    -      '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.24.5)
    -    dev: true
     
    -  /@babel/plugin-transform-literals@7.24.1(@babel/core@7.24.5):
    +  '@babel/plugin-transform-literals@7.24.1':
         resolution: {integrity: sha512-zn9pwz8U7nCqOYIiBaOxoQOtYmMODXTJnkxG4AtX8fPmnCRYWBOHD0qcpwS9e2VDSp1zNJYpdnFMIKb8jmwu6g==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
    -    dependencies:
    -      '@babel/core': 7.24.5
    -      '@babel/helper-plugin-utils': 7.24.5
    -    dev: true
     
    -  /@babel/plugin-transform-logical-assignment-operators@7.24.1(@babel/core@7.24.5):
    +  '@babel/plugin-transform-logical-assignment-operators@7.24.1':
         resolution: {integrity: sha512-OhN6J4Bpz+hIBqItTeWJujDOfNP+unqv/NJgyhlpSqgBTPm37KkMmZV6SYcOj+pnDbdcl1qRGV/ZiIjX9Iy34w==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
    -    dependencies:
    -      '@babel/core': 7.24.5
    -      '@babel/helper-plugin-utils': 7.24.5
    -      '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.24.5)
    -    dev: true
     
    -  /@babel/plugin-transform-member-expression-literals@7.24.1(@babel/core@7.24.5):
    +  '@babel/plugin-transform-member-expression-literals@7.24.1':
         resolution: {integrity: sha512-4ojai0KysTWXzHseJKa1XPNXKRbuUrhkOPY4rEGeR+7ChlJVKxFa3H3Bz+7tWaGKgJAXUWKOGmltN+u9B3+CVg==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
    -    dependencies:
    -      '@babel/core': 7.24.5
    -      '@babel/helper-plugin-utils': 7.24.5
    -    dev: true
     
    -  /@babel/plugin-transform-modules-amd@7.24.1(@babel/core@7.24.5):
    +  '@babel/plugin-transform-modules-amd@7.24.1':
         resolution: {integrity: sha512-lAxNHi4HVtjnHd5Rxg3D5t99Xm6H7b04hUS7EHIXcUl2EV4yl1gWdqZrNzXnSrHveL9qMdbODlLF55mvgjAfaQ==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
    -    dependencies:
    -      '@babel/core': 7.24.5
    -      '@babel/helper-module-transforms': 7.24.5(@babel/core@7.24.5)
    -      '@babel/helper-plugin-utils': 7.24.5
    -    dev: true
     
    -  /@babel/plugin-transform-modules-commonjs@7.24.1(@babel/core@7.24.5):
    +  '@babel/plugin-transform-modules-commonjs@7.24.1':
         resolution: {integrity: sha512-szog8fFTUxBfw0b98gEWPaEqF42ZUD/T3bkynW/wtgx2p/XCP55WEsb+VosKceRSd6njipdZvNogqdtI4Q0chw==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
    -    dependencies:
    -      '@babel/core': 7.24.5
    -      '@babel/helper-module-transforms': 7.24.5(@babel/core@7.24.5)
    -      '@babel/helper-plugin-utils': 7.24.0
    -      '@babel/helper-simple-access': 7.22.5
    -    dev: true
     
    -  /@babel/plugin-transform-modules-systemjs@7.24.1(@babel/core@7.24.5):
    +  '@babel/plugin-transform-modules-systemjs@7.24.1':
         resolution: {integrity: sha512-mqQ3Zh9vFO1Tpmlt8QPnbwGHzNz3lpNEMxQb1kAemn/erstyqw1r9KeOlOfo3y6xAnFEcOv2tSyrXfmMk+/YZA==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
    -    dependencies:
    -      '@babel/core': 7.24.5
    -      '@babel/helper-hoist-variables': 7.22.5
    -      '@babel/helper-module-transforms': 7.24.5(@babel/core@7.24.5)
    -      '@babel/helper-plugin-utils': 7.24.5
    -      '@babel/helper-validator-identifier': 7.24.5
    -    dev: true
     
    -  /@babel/plugin-transform-modules-umd@7.24.1(@babel/core@7.24.5):
    +  '@babel/plugin-transform-modules-umd@7.24.1':
         resolution: {integrity: sha512-tuA3lpPj+5ITfcCluy6nWonSL7RvaG0AOTeAuvXqEKS34lnLzXpDb0dcP6K8jD0zWZFNDVly90AGFJPnm4fOYg==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
    -    dependencies:
    -      '@babel/core': 7.24.5
    -      '@babel/helper-module-transforms': 7.24.5(@babel/core@7.24.5)
    -      '@babel/helper-plugin-utils': 7.24.5
    -    dev: true
     
    -  /@babel/plugin-transform-named-capturing-groups-regex@7.22.5(@babel/core@7.24.5):
    +  '@babel/plugin-transform-named-capturing-groups-regex@7.22.5':
         resolution: {integrity: sha512-YgLLKmS3aUBhHaxp5hi1WJTgOUb/NCuDHzGT9z9WTt3YG+CPRhJs6nprbStx6DnWM4dh6gt7SU3sZodbZ08adQ==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0
    -    dependencies:
    -      '@babel/core': 7.24.5
    -      '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.24.5)
    -      '@babel/helper-plugin-utils': 7.24.5
    -    dev: true
     
    -  /@babel/plugin-transform-new-target@7.24.1(@babel/core@7.24.5):
    +  '@babel/plugin-transform-new-target@7.24.1':
         resolution: {integrity: sha512-/rurytBM34hYy0HKZQyA0nHbQgQNFm4Q/BOc9Hflxi2X3twRof7NaE5W46j4kQitm7SvACVRXsa6N/tSZxvPug==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
    -    dependencies:
    -      '@babel/core': 7.24.5
    -      '@babel/helper-plugin-utils': 7.24.5
    -    dev: true
     
    -  /@babel/plugin-transform-nullish-coalescing-operator@7.24.1(@babel/core@7.24.5):
    +  '@babel/plugin-transform-nullish-coalescing-operator@7.24.1':
         resolution: {integrity: sha512-iQ+caew8wRrhCikO5DrUYx0mrmdhkaELgFa+7baMcVuhxIkN7oxt06CZ51D65ugIb1UWRQ8oQe+HXAVM6qHFjw==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
    -    dependencies:
    -      '@babel/core': 7.24.5
    -      '@babel/helper-plugin-utils': 7.24.5
    -      '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.24.5)
    -    dev: true
     
    -  /@babel/plugin-transform-numeric-separator@7.24.1(@babel/core@7.24.5):
    +  '@babel/plugin-transform-numeric-separator@7.24.1':
         resolution: {integrity: sha512-7GAsGlK4cNL2OExJH1DzmDeKnRv/LXq0eLUSvudrehVA5Rgg4bIrqEUW29FbKMBRT0ztSqisv7kjP+XIC4ZMNw==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
    -    dependencies:
    -      '@babel/core': 7.24.5
    -      '@babel/helper-plugin-utils': 7.24.5
    -      '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.24.5)
    -    dev: true
     
    -  /@babel/plugin-transform-object-rest-spread@7.24.5(@babel/core@7.24.5):
    +  '@babel/plugin-transform-object-rest-spread@7.24.5':
         resolution: {integrity: sha512-7EauQHszLGM3ay7a161tTQH7fj+3vVM/gThlz5HpFtnygTxjrlvoeq7MPVA1Vy9Q555OB8SnAOsMkLShNkkrHA==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
    -    dependencies:
    -      '@babel/core': 7.24.5
    -      '@babel/helper-compilation-targets': 7.23.6
    -      '@babel/helper-plugin-utils': 7.24.5
    -      '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.24.5)
    -      '@babel/plugin-transform-parameters': 7.24.5(@babel/core@7.24.5)
    -    dev: true
     
    -  /@babel/plugin-transform-object-super@7.24.1(@babel/core@7.24.5):
    +  '@babel/plugin-transform-object-super@7.24.1':
         resolution: {integrity: sha512-oKJqR3TeI5hSLRxudMjFQ9re9fBVUU0GICqM3J1mi8MqlhVr6hC/ZN4ttAyMuQR6EZZIY6h/exe5swqGNNIkWQ==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
    -    dependencies:
    -      '@babel/core': 7.24.5
    -      '@babel/helper-plugin-utils': 7.24.5
    -      '@babel/helper-replace-supers': 7.24.1(@babel/core@7.24.5)
    -    dev: true
     
    -  /@babel/plugin-transform-optional-catch-binding@7.24.1(@babel/core@7.24.5):
    +  '@babel/plugin-transform-optional-catch-binding@7.24.1':
         resolution: {integrity: sha512-oBTH7oURV4Y+3EUrf6cWn1OHio3qG/PVwO5J03iSJmBg6m2EhKjkAu/xuaXaYwWW9miYtvbWv4LNf0AmR43LUA==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
    -    dependencies:
    -      '@babel/core': 7.24.5
    -      '@babel/helper-plugin-utils': 7.24.5
    -      '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.24.5)
    -    dev: true
     
    -  /@babel/plugin-transform-optional-chaining@7.24.5(@babel/core@7.24.5):
    +  '@babel/plugin-transform-optional-chaining@7.24.5':
         resolution: {integrity: sha512-xWCkmwKT+ihmA6l7SSTpk8e4qQl/274iNbSKRRS8mpqFR32ksy36+a+LWY8OXCCEefF8WFlnOHVsaDI2231wBg==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
    -    dependencies:
    -      '@babel/core': 7.24.5
    -      '@babel/helper-plugin-utils': 7.24.5
    -      '@babel/helper-skip-transparent-expression-wrappers': 7.22.5
    -      '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.24.5)
    -    dev: true
     
    -  /@babel/plugin-transform-parameters@7.24.5(@babel/core@7.24.5):
    +  '@babel/plugin-transform-parameters@7.24.5':
         resolution: {integrity: sha512-9Co00MqZ2aoky+4j2jhofErthm6QVLKbpQrvz20c3CH9KQCLHyNB+t2ya4/UrRpQGR+Wrwjg9foopoeSdnHOkA==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
    -    dependencies:
    -      '@babel/core': 7.24.5
    -      '@babel/helper-plugin-utils': 7.24.5
    -    dev: true
     
    -  /@babel/plugin-transform-private-methods@7.24.1(@babel/core@7.24.5):
    +  '@babel/plugin-transform-private-methods@7.24.1':
         resolution: {integrity: sha512-tGvisebwBO5em4PaYNqt4fkw56K2VALsAbAakY0FjTYqJp7gfdrgr7YX76Or8/cpik0W6+tj3rZ0uHU9Oil4tw==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
    -    dependencies:
    -      '@babel/core': 7.24.5
    -      '@babel/helper-create-class-features-plugin': 7.24.5(@babel/core@7.24.5)
    -      '@babel/helper-plugin-utils': 7.24.5
    -    dev: true
     
    -  /@babel/plugin-transform-private-property-in-object@7.24.5(@babel/core@7.24.5):
    +  '@babel/plugin-transform-private-property-in-object@7.24.5':
         resolution: {integrity: sha512-JM4MHZqnWR04jPMujQDTBVRnqxpLLpx2tkn7iPn+Hmsc0Gnb79yvRWOkvqFOx3Z7P7VxiRIR22c4eGSNj87OBQ==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
    -    dependencies:
    -      '@babel/core': 7.24.5
    -      '@babel/helper-annotate-as-pure': 7.22.5
    -      '@babel/helper-create-class-features-plugin': 7.24.5(@babel/core@7.24.5)
    -      '@babel/helper-plugin-utils': 7.24.5
    -      '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.24.5)
    -    dev: true
     
    -  /@babel/plugin-transform-property-literals@7.24.1(@babel/core@7.24.5):
    +  '@babel/plugin-transform-property-literals@7.24.1':
         resolution: {integrity: sha512-LetvD7CrHmEx0G442gOomRr66d7q8HzzGGr4PMHGr+5YIm6++Yke+jxj246rpvsbyhJwCLxcTn6zW1P1BSenqA==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
    -    dependencies:
    -      '@babel/core': 7.24.5
    -      '@babel/helper-plugin-utils': 7.24.5
    -    dev: true
     
    -  /@babel/plugin-transform-regenerator@7.24.1(@babel/core@7.24.5):
    +  '@babel/plugin-transform-regenerator@7.24.1':
         resolution: {integrity: sha512-sJwZBCzIBE4t+5Q4IGLaaun5ExVMRY0lYwos/jNecjMrVCygCdph3IKv0tkP5Fc87e/1+bebAmEAGBfnRD+cnw==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
    -    dependencies:
    -      '@babel/core': 7.24.5
    -      '@babel/helper-plugin-utils': 7.24.5
    -      regenerator-transform: 0.15.2
    -    dev: true
     
    -  /@babel/plugin-transform-reserved-words@7.24.1(@babel/core@7.24.5):
    +  '@babel/plugin-transform-reserved-words@7.24.1':
         resolution: {integrity: sha512-JAclqStUfIwKN15HrsQADFgeZt+wexNQ0uLhuqvqAUFoqPMjEcFCYZBhq0LUdz6dZK/mD+rErhW71fbx8RYElg==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
    -    dependencies:
    -      '@babel/core': 7.24.5
    -      '@babel/helper-plugin-utils': 7.24.5
    -    dev: true
     
    -  /@babel/plugin-transform-shorthand-properties@7.24.1(@babel/core@7.24.5):
    +  '@babel/plugin-transform-shorthand-properties@7.24.1':
         resolution: {integrity: sha512-LyjVB1nsJ6gTTUKRjRWx9C1s9hE7dLfP/knKdrfeH9UPtAGjYGgxIbFfx7xyLIEWs7Xe1Gnf8EWiUqfjLhInZA==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
    -    dependencies:
    -      '@babel/core': 7.24.5
    -      '@babel/helper-plugin-utils': 7.24.5
    -    dev: true
     
    -  /@babel/plugin-transform-spread@7.24.1(@babel/core@7.24.5):
    +  '@babel/plugin-transform-spread@7.24.1':
         resolution: {integrity: sha512-KjmcIM+fxgY+KxPVbjelJC6hrH1CgtPmTvdXAfn3/a9CnWGSTY7nH4zm5+cjmWJybdcPSsD0++QssDsjcpe47g==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
    -    dependencies:
    -      '@babel/core': 7.24.5
    -      '@babel/helper-plugin-utils': 7.24.5
    -      '@babel/helper-skip-transparent-expression-wrappers': 7.22.5
    -    dev: true
     
    -  /@babel/plugin-transform-sticky-regex@7.24.1(@babel/core@7.24.5):
    +  '@babel/plugin-transform-sticky-regex@7.24.1':
         resolution: {integrity: sha512-9v0f1bRXgPVcPrngOQvLXeGNNVLc8UjMVfebo9ka0WF3/7+aVUHmaJVT3sa0XCzEFioPfPHZiOcYG9qOsH63cw==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
    -    dependencies:
    -      '@babel/core': 7.24.5
    -      '@babel/helper-plugin-utils': 7.24.5
    -    dev: true
     
    -  /@babel/plugin-transform-template-literals@7.24.1(@babel/core@7.24.5):
    +  '@babel/plugin-transform-template-literals@7.24.1':
         resolution: {integrity: sha512-WRkhROsNzriarqECASCNu/nojeXCDTE/F2HmRgOzi7NGvyfYGq1NEjKBK3ckLfRgGc6/lPAqP0vDOSw3YtG34g==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
    -    dependencies:
    -      '@babel/core': 7.24.5
    -      '@babel/helper-plugin-utils': 7.24.5
    -    dev: true
     
    -  /@babel/plugin-transform-typeof-symbol@7.24.5(@babel/core@7.24.5):
    +  '@babel/plugin-transform-typeof-symbol@7.24.5':
         resolution: {integrity: sha512-UTGnhYVZtTAjdwOTzT+sCyXmTn8AhaxOS/MjG9REclZ6ULHWF9KoCZur0HSGU7hk8PdBFKKbYe6+gqdXWz84Jg==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
    -    dependencies:
    -      '@babel/core': 7.24.5
    -      '@babel/helper-plugin-utils': 7.24.5
    -    dev: true
     
    -  /@babel/plugin-transform-typescript@7.24.4(@babel/core@7.24.5):
    +  '@babel/plugin-transform-typescript@7.24.4':
         resolution: {integrity: sha512-79t3CQ8+oBGk/80SQ8MN3Bs3obf83zJ0YZjDmDaEZN8MqhMI760apl5z6a20kFeMXBwJX99VpKT8CKxEBp5H1g==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
    -    dependencies:
    -      '@babel/core': 7.24.5
    -      '@babel/helper-annotate-as-pure': 7.22.5
    -      '@babel/helper-create-class-features-plugin': 7.24.4(@babel/core@7.24.5)
    -      '@babel/helper-plugin-utils': 7.24.0
    -      '@babel/plugin-syntax-typescript': 7.24.1(@babel/core@7.24.5)
    -    dev: true
     
    -  /@babel/plugin-transform-unicode-escapes@7.24.1(@babel/core@7.24.5):
    +  '@babel/plugin-transform-unicode-escapes@7.24.1':
         resolution: {integrity: sha512-RlkVIcWT4TLI96zM660S877E7beKlQw7Ig+wqkKBiWfj0zH5Q4h50q6er4wzZKRNSYpfo6ILJ+hrJAGSX2qcNw==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
    -    dependencies:
    -      '@babel/core': 7.24.5
    -      '@babel/helper-plugin-utils': 7.24.5
    -    dev: true
     
    -  /@babel/plugin-transform-unicode-property-regex@7.24.1(@babel/core@7.24.5):
    +  '@babel/plugin-transform-unicode-property-regex@7.24.1':
         resolution: {integrity: sha512-Ss4VvlfYV5huWApFsF8/Sq0oXnGO+jB+rijFEFugTd3cwSObUSnUi88djgR5528Csl0uKlrI331kRqe56Ov2Ng==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
    -    dependencies:
    -      '@babel/core': 7.24.5
    -      '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.24.5)
    -      '@babel/helper-plugin-utils': 7.24.5
    -    dev: true
     
    -  /@babel/plugin-transform-unicode-regex@7.24.1(@babel/core@7.24.5):
    +  '@babel/plugin-transform-unicode-regex@7.24.1':
         resolution: {integrity: sha512-2A/94wgZgxfTsiLaQ2E36XAOdcZmGAaEEgVmxQWwZXWkGhvoHbaqXcKnU8zny4ycpu3vNqg0L/PcCiYtHtA13g==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
    -    dependencies:
    -      '@babel/core': 7.24.5
    -      '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.24.5)
    -      '@babel/helper-plugin-utils': 7.24.5
    -    dev: true
     
    -  /@babel/plugin-transform-unicode-sets-regex@7.24.1(@babel/core@7.24.5):
    +  '@babel/plugin-transform-unicode-sets-regex@7.24.1':
         resolution: {integrity: sha512-fqj4WuzzS+ukpgerpAoOnMfQXwUHFxXUZUE84oL2Kao2N8uSlvcpnAidKASgsNgzZHBsHWvcm8s9FPWUhAb8fA==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0
    -    dependencies:
    -      '@babel/core': 7.24.5
    -      '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.24.5)
    -      '@babel/helper-plugin-utils': 7.24.5
    -    dev: true
     
    -  /@babel/preset-env@7.24.5(@babel/core@7.24.5):
    +  '@babel/preset-env@7.24.5':
         resolution: {integrity: sha512-UGK2ifKtcC8i5AI4cH+sbLLuLc2ktYSFJgBAXorKAsHUZmrQ1q6aQ6i3BvU24wWs2AAKqQB6kq3N9V9Gw1HiMQ==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
    -    dependencies:
    -      '@babel/compat-data': 7.24.4
    -      '@babel/core': 7.24.5
    -      '@babel/helper-compilation-targets': 7.23.6
    -      '@babel/helper-plugin-utils': 7.24.5
    -      '@babel/helper-validator-option': 7.23.5
    -      '@babel/plugin-bugfix-firefox-class-in-computed-class-key': 7.24.5(@babel/core@7.24.5)
    -      '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression': 7.24.1(@babel/core@7.24.5)
    -      '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.24.1(@babel/core@7.24.5)
    -      '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly': 7.24.1(@babel/core@7.24.5)
    -      '@babel/plugin-proposal-private-property-in-object': 7.21.0-placeholder-for-preset-env.2(@babel/core@7.24.5)
    -      '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.24.5)
    -      '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.24.5)
    -      '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.24.5)
    -      '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.24.5)
    -      '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.24.5)
    -      '@babel/plugin-syntax-import-assertions': 7.24.1(@babel/core@7.24.5)
    -      '@babel/plugin-syntax-import-attributes': 7.24.1(@babel/core@7.24.5)
    -      '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.24.5)
    -      '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.24.5)
    -      '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.24.5)
    -      '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.24.5)
    -      '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.24.5)
    -      '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.24.5)
    -      '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.24.5)
    -      '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.24.5)
    -      '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.24.5)
    -      '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.24.5)
    -      '@babel/plugin-syntax-unicode-sets-regex': 7.18.6(@babel/core@7.24.5)
    -      '@babel/plugin-transform-arrow-functions': 7.24.1(@babel/core@7.24.5)
    -      '@babel/plugin-transform-async-generator-functions': 7.24.3(@babel/core@7.24.5)
    -      '@babel/plugin-transform-async-to-generator': 7.24.1(@babel/core@7.24.5)
    -      '@babel/plugin-transform-block-scoped-functions': 7.24.1(@babel/core@7.24.5)
    -      '@babel/plugin-transform-block-scoping': 7.24.5(@babel/core@7.24.5)
    -      '@babel/plugin-transform-class-properties': 7.24.1(@babel/core@7.24.5)
    -      '@babel/plugin-transform-class-static-block': 7.24.4(@babel/core@7.24.5)
    -      '@babel/plugin-transform-classes': 7.24.5(@babel/core@7.24.5)
    -      '@babel/plugin-transform-computed-properties': 7.24.1(@babel/core@7.24.5)
    -      '@babel/plugin-transform-destructuring': 7.24.5(@babel/core@7.24.5)
    -      '@babel/plugin-transform-dotall-regex': 7.24.1(@babel/core@7.24.5)
    -      '@babel/plugin-transform-duplicate-keys': 7.24.1(@babel/core@7.24.5)
    -      '@babel/plugin-transform-dynamic-import': 7.24.1(@babel/core@7.24.5)
    -      '@babel/plugin-transform-exponentiation-operator': 7.24.1(@babel/core@7.24.5)
    -      '@babel/plugin-transform-export-namespace-from': 7.24.1(@babel/core@7.24.5)
    -      '@babel/plugin-transform-for-of': 7.24.1(@babel/core@7.24.5)
    -      '@babel/plugin-transform-function-name': 7.24.1(@babel/core@7.24.5)
    -      '@babel/plugin-transform-json-strings': 7.24.1(@babel/core@7.24.5)
    -      '@babel/plugin-transform-literals': 7.24.1(@babel/core@7.24.5)
    -      '@babel/plugin-transform-logical-assignment-operators': 7.24.1(@babel/core@7.24.5)
    -      '@babel/plugin-transform-member-expression-literals': 7.24.1(@babel/core@7.24.5)
    -      '@babel/plugin-transform-modules-amd': 7.24.1(@babel/core@7.24.5)
    -      '@babel/plugin-transform-modules-commonjs': 7.24.1(@babel/core@7.24.5)
    -      '@babel/plugin-transform-modules-systemjs': 7.24.1(@babel/core@7.24.5)
    -      '@babel/plugin-transform-modules-umd': 7.24.1(@babel/core@7.24.5)
    -      '@babel/plugin-transform-named-capturing-groups-regex': 7.22.5(@babel/core@7.24.5)
    -      '@babel/plugin-transform-new-target': 7.24.1(@babel/core@7.24.5)
    -      '@babel/plugin-transform-nullish-coalescing-operator': 7.24.1(@babel/core@7.24.5)
    -      '@babel/plugin-transform-numeric-separator': 7.24.1(@babel/core@7.24.5)
    -      '@babel/plugin-transform-object-rest-spread': 7.24.5(@babel/core@7.24.5)
    -      '@babel/plugin-transform-object-super': 7.24.1(@babel/core@7.24.5)
    -      '@babel/plugin-transform-optional-catch-binding': 7.24.1(@babel/core@7.24.5)
    -      '@babel/plugin-transform-optional-chaining': 7.24.5(@babel/core@7.24.5)
    -      '@babel/plugin-transform-parameters': 7.24.5(@babel/core@7.24.5)
    -      '@babel/plugin-transform-private-methods': 7.24.1(@babel/core@7.24.5)
    -      '@babel/plugin-transform-private-property-in-object': 7.24.5(@babel/core@7.24.5)
    -      '@babel/plugin-transform-property-literals': 7.24.1(@babel/core@7.24.5)
    -      '@babel/plugin-transform-regenerator': 7.24.1(@babel/core@7.24.5)
    -      '@babel/plugin-transform-reserved-words': 7.24.1(@babel/core@7.24.5)
    -      '@babel/plugin-transform-shorthand-properties': 7.24.1(@babel/core@7.24.5)
    -      '@babel/plugin-transform-spread': 7.24.1(@babel/core@7.24.5)
    -      '@babel/plugin-transform-sticky-regex': 7.24.1(@babel/core@7.24.5)
    -      '@babel/plugin-transform-template-literals': 7.24.1(@babel/core@7.24.5)
    -      '@babel/plugin-transform-typeof-symbol': 7.24.5(@babel/core@7.24.5)
    -      '@babel/plugin-transform-unicode-escapes': 7.24.1(@babel/core@7.24.5)
    -      '@babel/plugin-transform-unicode-property-regex': 7.24.1(@babel/core@7.24.5)
    -      '@babel/plugin-transform-unicode-regex': 7.24.1(@babel/core@7.24.5)
    -      '@babel/plugin-transform-unicode-sets-regex': 7.24.1(@babel/core@7.24.5)
    -      '@babel/preset-modules': 0.1.6-no-external-plugins(@babel/core@7.24.5)
    -      babel-plugin-polyfill-corejs2: 0.4.11(@babel/core@7.24.5)
    -      babel-plugin-polyfill-corejs3: 0.10.4(@babel/core@7.24.5)
    -      babel-plugin-polyfill-regenerator: 0.6.2(@babel/core@7.24.5)
    -      core-js-compat: 3.37.1
    -      semver: 6.3.1
    -    transitivePeerDependencies:
    -      - supports-color
    -    dev: true
     
    -  /@babel/preset-modules@0.1.6-no-external-plugins(@babel/core@7.24.5):
    +  '@babel/preset-modules@0.1.6-no-external-plugins':
         resolution: {integrity: sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA==}
         peerDependencies:
           '@babel/core': ^7.0.0-0 || ^8.0.0-0 <8.0.0
    -    dependencies:
    -      '@babel/core': 7.24.5
    -      '@babel/helper-plugin-utils': 7.24.5
    -      '@babel/types': 7.24.5
    -      esutils: 2.0.3
    -    dev: true
     
    -  /@babel/preset-typescript@7.24.1(@babel/core@7.24.5):
    +  '@babel/preset-typescript@7.24.1':
         resolution: {integrity: sha512-1DBaMmRDpuYQBPWD8Pf/WEwCrtgRHxsZnP4mIy9G/X+hFfbI47Q2G4t1Paakld84+qsk2fSsUPMKg71jkoOOaQ==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
    -    dependencies:
    -      '@babel/core': 7.24.5
    -      '@babel/helper-plugin-utils': 7.24.0
    -      '@babel/helper-validator-option': 7.23.5
    -      '@babel/plugin-syntax-jsx': 7.24.1(@babel/core@7.24.5)
    -      '@babel/plugin-transform-modules-commonjs': 7.24.1(@babel/core@7.24.5)
    -      '@babel/plugin-transform-typescript': 7.24.4(@babel/core@7.24.5)
    -    dev: true
     
    -  /@babel/regjsgen@0.8.0:
    +  '@babel/regjsgen@0.8.0':
         resolution: {integrity: sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA==}
    -    dev: true
     
    -  /@babel/runtime@7.24.0:
    +  '@babel/runtime@7.24.0':
         resolution: {integrity: sha512-Chk32uHMg6TnQdvw2e9IlqPpFX/6NLuK0Ys2PqLb7/gL5uFn9mXvK715FGLlOLQrcO4qIkNHkvPGktzzXexsFw==}
         engines: {node: '>=6.9.0'}
    -    dependencies:
    -      regenerator-runtime: 0.14.1
    -    dev: true
     
    -  /@babel/runtime@7.24.4:
    +  '@babel/runtime@7.24.4':
         resolution: {integrity: sha512-dkxf7+hn8mFBwKjs9bvBlArzLVxVbS8usaPUDd5p2a9JCL9tB8OaOVN1isD4+Xyk4ns89/xeOmbQvgdK7IIVdA==}
         engines: {node: '>=6.9.0'}
    -    dependencies:
    -      regenerator-runtime: 0.14.1
    -    dev: true
     
    -  /@babel/runtime@7.24.5:
    +  '@babel/runtime@7.24.5':
         resolution: {integrity: sha512-Nms86NXrsaeU9vbBJKni6gXiEXZ4CVpYVzEjDH9Sb8vmZ3UljyA1GSOJl/6LGPO8EHLuSF9H+IxNXHPX8QHJ4g==}
         engines: {node: '>=6.9.0'}
    -    dependencies:
    -      regenerator-runtime: 0.14.1
    -    dev: true
     
    -  /@babel/template@7.24.0:
    +  '@babel/template@7.24.0':
         resolution: {integrity: sha512-Bkf2q8lMB0AFpX0NFEqSbx1OkTHf0f+0j82mkw+ZpzBnkk7e9Ql0891vlfgi+kHwOk8tQjiQHpqh4LaSa0fKEA==}
         engines: {node: '>=6.9.0'}
    -    dependencies:
    -      '@babel/code-frame': 7.24.2
    -      '@babel/parser': 7.24.5
    -      '@babel/types': 7.24.5
    -    dev: true
     
    -  /@babel/traverse@7.24.5:
    +  '@babel/traverse@7.24.5':
         resolution: {integrity: sha512-7aaBLeDQ4zYcUFDUD41lJc1fG8+5IU9DaNSJAgal866FGvmD5EbWQgnEC6kO1gGLsX0esNkfnJSndbTXA3r7UA==}
         engines: {node: '>=6.9.0'}
    -    dependencies:
    -      '@babel/code-frame': 7.24.2
    -      '@babel/generator': 7.24.5
    -      '@babel/helper-environment-visitor': 7.22.20
    -      '@babel/helper-function-name': 7.23.0
    -      '@babel/helper-hoist-variables': 7.22.5
    -      '@babel/helper-split-export-declaration': 7.24.5
    -      '@babel/parser': 7.24.5
    -      '@babel/types': 7.24.5
    -      debug: 4.3.4(supports-color@8.1.1)
    -      globals: 11.12.0
    -    transitivePeerDependencies:
    -      - supports-color
    -    dev: true
     
    -  /@babel/types@7.24.5:
    +  '@babel/types@7.24.5':
         resolution: {integrity: sha512-6mQNsaLeXTw0nxYUYu+NSa4Hx4BlF1x1x8/PMFbiR+GBSr+2DkECc69b8hgy2frEodNcvPffeH8YfWd3LI6jhQ==}
         engines: {node: '>=6.9.0'}
    -    dependencies:
    -      '@babel/helper-string-parser': 7.24.1
    -      '@babel/helper-validator-identifier': 7.24.5
    -      to-fast-properties: 2.0.0
     
    -  /@bcherny/json-schema-ref-parser@10.0.5-fork:
    +  '@bcherny/json-schema-ref-parser@10.0.5-fork':
         resolution: {integrity: sha512-E/jKbPoca1tfUPj3iSbitDZTGnq6FUFjkH6L8U2oDwSuwK1WhnnVtCG7oFOTg/DDnyoXbQYUiUiGOibHqaGVnw==}
         engines: {node: '>= 16'}
    -    dependencies:
    -      '@jsdevtools/ono': 7.1.3
    -      '@types/json-schema': 7.0.15
    -      call-me-maybe: 1.0.2
    -      js-yaml: 4.1.0
    -    dev: true
     
    -  /@bcoe/v8-coverage@0.2.3:
    +  '@bcoe/v8-coverage@0.2.3':
         resolution: {integrity: sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==}
    -    dev: true
     
    -  /@braintree/sanitize-url@7.0.1:
    +  '@braintree/sanitize-url@7.0.1':
         resolution: {integrity: sha512-URg8UM6lfC9ZYqFipItRSxYJdgpU5d2Z4KnjsJ+rj6tgAmGme7E+PQNCiud8g0HDaZKMovu2qjfa0f5Ge0Vlsg==}
    -    dev: false
     
    -  /@chevrotain/cst-dts-gen@11.0.3:
    +  '@chevrotain/cst-dts-gen@11.0.3':
         resolution: {integrity: sha512-BvIKpRLeS/8UbfxXxgC33xOumsacaeCKAjAeLyOn7Pcp95HiRbrpl14S+9vaZLolnbssPIUuiUd8IvgkRyt6NQ==}
    -    dependencies:
    -      '@chevrotain/gast': 11.0.3
    -      '@chevrotain/types': 11.0.3
    -      lodash-es: 4.17.21
     
    -  /@chevrotain/gast@11.0.3:
    +  '@chevrotain/gast@11.0.3':
         resolution: {integrity: sha512-+qNfcoNk70PyS/uxmj3li5NiECO+2YKZZQMbmjTqRI3Qchu8Hig/Q9vgkHpI3alNjr7M+a2St5pw5w5F6NL5/Q==}
    -    dependencies:
    -      '@chevrotain/types': 11.0.3
    -      lodash-es: 4.17.21
     
    -  /@chevrotain/regexp-to-ast@11.0.3:
    +  '@chevrotain/regexp-to-ast@11.0.3':
         resolution: {integrity: sha512-1fMHaBZxLFvWI067AVbGJav1eRY7N8DDvYCTwGBiE/ytKBgP8azTdgyrKyWZ9Mfh09eHWb5PgTSO8wi7U824RA==}
     
    -  /@chevrotain/types@11.0.3:
    +  '@chevrotain/types@11.0.3':
         resolution: {integrity: sha512-gsiM3G8b58kZC2HaWR50gu6Y1440cHiJ+i3JUvcp/35JchYejb2+5MVeJK0iKThYpAa/P2PYFV4hoi44HD+aHQ==}
     
    -  /@chevrotain/utils@11.0.3:
    +  '@chevrotain/utils@11.0.3':
         resolution: {integrity: sha512-YslZMgtJUyuMbZ+aKvfF3x1f5liK4mWNxghFRv7jqRR9C3R3fAOGTTKvxXDa2Y1s9zSbcpuO0cAxDYsc9SrXoQ==}
     
    -  /@colors/colors@1.5.0:
    +  '@colors/colors@1.5.0':
         resolution: {integrity: sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==}
         engines: {node: '>=0.1.90'}
    -    requiresBuild: true
    -    dev: true
    -    optional: true
     
    -  /@cspell/cspell-bundled-dicts@8.7.0:
    +  '@cspell/cspell-bundled-dicts@8.7.0':
         resolution: {integrity: sha512-B5YQI7Dd9m0JHTmHgs7PiyP4BWXzl8ixpK+HGOwhxzh7GyfFt1Eo/gxMxBDX/9SaewEzeb2OjRpRKEFtEsto3A==}
         engines: {node: '>=18'}
    -    dependencies:
    -      '@cspell/dict-ada': 4.0.2
    -      '@cspell/dict-aws': 4.0.1
    -      '@cspell/dict-bash': 4.1.3
    -      '@cspell/dict-companies': 3.0.31
    -      '@cspell/dict-cpp': 5.1.3
    -      '@cspell/dict-cryptocurrencies': 5.0.0
    -      '@cspell/dict-csharp': 4.0.2
    -      '@cspell/dict-css': 4.0.12
    -      '@cspell/dict-dart': 2.0.3
    -      '@cspell/dict-django': 4.1.0
    -      '@cspell/dict-docker': 1.1.7
    -      '@cspell/dict-dotnet': 5.0.0
    -      '@cspell/dict-elixir': 4.0.3
    -      '@cspell/dict-en-common-misspellings': 2.0.0
    -      '@cspell/dict-en-gb': 1.1.33
    -      '@cspell/dict-en_us': 4.3.18
    -      '@cspell/dict-filetypes': 3.0.3
    -      '@cspell/dict-fonts': 4.0.0
    -      '@cspell/dict-fsharp': 1.0.1
    -      '@cspell/dict-fullstack': 3.1.5
    -      '@cspell/dict-gaming-terms': 1.0.5
    -      '@cspell/dict-git': 3.0.0
    -      '@cspell/dict-golang': 6.0.5
    -      '@cspell/dict-haskell': 4.0.1
    -      '@cspell/dict-html': 4.0.5
    -      '@cspell/dict-html-symbol-entities': 4.0.0
    -      '@cspell/dict-java': 5.0.6
    -      '@cspell/dict-julia': 1.0.1
    -      '@cspell/dict-k8s': 1.0.2
    -      '@cspell/dict-latex': 4.0.0
    -      '@cspell/dict-lorem-ipsum': 4.0.0
    -      '@cspell/dict-lua': 4.0.3
    -      '@cspell/dict-makefile': 1.0.0
    -      '@cspell/dict-monkeyc': 1.0.6
    -      '@cspell/dict-node': 4.0.3
    -      '@cspell/dict-npm': 5.0.15
    -      '@cspell/dict-php': 4.0.6
    -      '@cspell/dict-powershell': 5.0.3
    -      '@cspell/dict-public-licenses': 2.0.6
    -      '@cspell/dict-python': 4.1.11
    -      '@cspell/dict-r': 2.0.1
    -      '@cspell/dict-ruby': 5.0.2
    -      '@cspell/dict-rust': 4.0.2
    -      '@cspell/dict-scala': 5.0.0
    -      '@cspell/dict-software-terms': 3.3.18
    -      '@cspell/dict-sql': 2.1.3
    -      '@cspell/dict-svelte': 1.0.2
    -      '@cspell/dict-swift': 2.0.1
    -      '@cspell/dict-terraform': 1.0.0
    -      '@cspell/dict-typescript': 3.1.3
    -      '@cspell/dict-vue': 3.0.0
    -    dev: true
     
    -  /@cspell/cspell-json-reporter@8.7.0:
    +  '@cspell/cspell-json-reporter@8.7.0':
         resolution: {integrity: sha512-LTQPEvXvCqnc+ok9WXpSISZyt4/nGse9fVEM430g0BpGzKpt3RMx49B8uasvvnanzCuikaW9+wFLmwgvraERhA==}
         engines: {node: '>=18'}
    -    dependencies:
    -      '@cspell/cspell-types': 8.7.0
    -    dev: true
     
    -  /@cspell/cspell-pipe@8.7.0:
    +  '@cspell/cspell-pipe@8.7.0':
         resolution: {integrity: sha512-ePqddIQ4arqPQgOkC146SkZxvZb9/jL7xIM5Igy2n3tiWTC5ijrX/mbHpPZ1VGcFck+1M0cJUuyhuJk+vMj3rg==}
         engines: {node: '>=18'}
    -    dev: true
     
    -  /@cspell/cspell-resolver@8.7.0:
    +  '@cspell/cspell-resolver@8.7.0':
         resolution: {integrity: sha512-grZwDFYqcBYQDaz4AkUtdyqc4UUH2J3/7yWVkBbYDPE+FQHa9ofFXzXxyjs56GJlPfi9ULpe5/Wz6uVLg8rQkQ==}
         engines: {node: '>=18'}
    -    dependencies:
    -      global-directory: 4.0.1
    -    dev: true
     
    -  /@cspell/cspell-service-bus@8.7.0:
    +  '@cspell/cspell-service-bus@8.7.0':
         resolution: {integrity: sha512-KW48iu0nTDzbedixc7iB7K7mlAZQ7QeMLuM/akxigOlvtOdVJrRa9Pfn44lwejts1ANb/IXil3GH8YylkVi76Q==}
         engines: {node: '>=18'}
    -    dev: true
     
    -  /@cspell/cspell-types@8.7.0:
    +  '@cspell/cspell-types@8.7.0':
         resolution: {integrity: sha512-Rb+LCE5I9JEb/LE8nSViVSF8z1CWv/z4mPBIG37VMa7aUx2gAQa6gJekNfpY9YZiMzx4Tv3gDujN80ytks4pGA==}
         engines: {node: '>=18'}
    -    dev: true
     
    -  /@cspell/dict-ada@4.0.2:
    +  '@cspell/dict-ada@4.0.2':
         resolution: {integrity: sha512-0kENOWQeHjUlfyId/aCM/mKXtkEgV0Zu2RhUXCBr4hHo9F9vph+Uu8Ww2b0i5a4ZixoIkudGA+eJvyxrG1jUpA==}
    -    dev: true
     
    -  /@cspell/dict-aws@4.0.1:
    +  '@cspell/dict-aws@4.0.1':
         resolution: {integrity: sha512-NXO+kTPQGqaaJKa4kO92NAXoqS+i99dQzf3/L1BxxWVSBS3/k1f3uhmqIh7Crb/n22W793lOm0D9x952BFga3Q==}
    -    dev: true
     
    -  /@cspell/dict-bash@4.1.3:
    +  '@cspell/dict-bash@4.1.3':
         resolution: {integrity: sha512-tOdI3QVJDbQSwPjUkOiQFhYcu2eedmX/PtEpVWg0aFps/r6AyjUQINtTgpqMYnYuq8O1QUIQqnpx21aovcgZCw==}
    -    dev: true
     
    -  /@cspell/dict-companies@3.0.31:
    +  '@cspell/dict-companies@3.0.31':
         resolution: {integrity: sha512-hKVpV/lcGKP4/DpEPS8P4osPvFH/YVLJaDn9cBIOH6/HSmL5LbFgJNKpMGaYRbhm2FEX56MKE3yn/MNeNYuesQ==}
    -    dev: true
     
    -  /@cspell/dict-cpp@5.1.3:
    +  '@cspell/dict-cpp@5.1.3':
         resolution: {integrity: sha512-sqnriXRAInZH9W75C+APBh6dtben9filPqVbIsiRMUXGg+s02ekz0z6LbS7kXeJ5mD2qXoMLBrv13qH2eIwutQ==}
    -    dev: true
     
    -  /@cspell/dict-cryptocurrencies@5.0.0:
    +  '@cspell/dict-cryptocurrencies@5.0.0':
         resolution: {integrity: sha512-Z4ARIw5+bvmShL+4ZrhDzGhnc9znaAGHOEMaB/GURdS/jdoreEDY34wdN0NtdLHDO5KO7GduZnZyqGdRoiSmYA==}
    -    dev: true
     
    -  /@cspell/dict-csharp@4.0.2:
    +  '@cspell/dict-csharp@4.0.2':
         resolution: {integrity: sha512-1JMofhLK+4p4KairF75D3A924m5ERMgd1GvzhwK2geuYgd2ZKuGW72gvXpIV7aGf52E3Uu1kDXxxGAiZ5uVG7g==}
    -    dev: true
     
    -  /@cspell/dict-css@4.0.12:
    +  '@cspell/dict-css@4.0.12':
         resolution: {integrity: sha512-vGBgPM92MkHQF5/2jsWcnaahOZ+C6OE/fPvd5ScBP72oFY9tn5GLuomcyO0z8vWCr2e0nUSX1OGimPtcQAlvSw==}
    -    dev: true
     
    -  /@cspell/dict-dart@2.0.3:
    +  '@cspell/dict-dart@2.0.3':
         resolution: {integrity: sha512-cLkwo1KT5CJY5N5RJVHks2genFkNCl/WLfj+0fFjqNR+tk3tBI1LY7ldr9piCtSFSm4x9pO1x6IV3kRUY1lLiw==}
    -    dev: true
     
    -  /@cspell/dict-data-science@1.0.11:
    +  '@cspell/dict-data-science@1.0.11':
         resolution: {integrity: sha512-TaHAZRVe0Zlcc3C23StZqqbzC0NrodRwoSAc8dis+5qLeLLnOCtagYQeROQvDlcDg3X/VVEO9Whh4W/z4PAmYQ==}
    -    dev: true
     
    -  /@cspell/dict-django@4.1.0:
    +  '@cspell/dict-django@4.1.0':
         resolution: {integrity: sha512-bKJ4gPyrf+1c78Z0Oc4trEB9MuhcB+Yg+uTTWsvhY6O2ncFYbB/LbEZfqhfmmuK/XJJixXfI1laF2zicyf+l0w==}
    -    dev: true
     
    -  /@cspell/dict-docker@1.1.7:
    +  '@cspell/dict-docker@1.1.7':
         resolution: {integrity: sha512-XlXHAr822euV36GGsl2J1CkBIVg3fZ6879ZOg5dxTIssuhUOCiV2BuzKZmt6aIFmcdPmR14+9i9Xq+3zuxeX0A==}
    -    dev: true
     
    -  /@cspell/dict-dotnet@5.0.0:
    +  '@cspell/dict-dotnet@5.0.0':
         resolution: {integrity: sha512-EOwGd533v47aP5QYV8GlSSKkmM9Eq8P3G/eBzSpH3Nl2+IneDOYOBLEUraHuiCtnOkNsz0xtZHArYhAB2bHWAw==}
    -    dev: true
     
    -  /@cspell/dict-elixir@4.0.3:
    +  '@cspell/dict-elixir@4.0.3':
         resolution: {integrity: sha512-g+uKLWvOp9IEZvrIvBPTr/oaO6619uH/wyqypqvwpmnmpjcfi8+/hqZH8YNKt15oviK8k4CkINIqNhyndG9d9Q==}
    -    dev: true
     
    -  /@cspell/dict-en-common-misspellings@2.0.0:
    +  '@cspell/dict-en-common-misspellings@2.0.0':
         resolution: {integrity: sha512-NOg8dlv37/YqLkCfBs5OXeJm/Wcfb/CzeOmOZJ2ZXRuxwsNuolb4TREUce0yAXRqMhawahY5TSDRJJBgKjBOdw==}
    -    dev: true
     
    -  /@cspell/dict-en-gb@1.1.33:
    +  '@cspell/dict-en-gb@1.1.33':
         resolution: {integrity: sha512-tKSSUf9BJEV+GJQAYGw5e+ouhEe2ZXE620S7BLKe3ZmpnjlNG9JqlnaBhkIMxKnNFkLY2BP/EARzw31AZnOv4g==}
    -    dev: true
     
    -  /@cspell/dict-en_us@4.3.18:
    +  '@cspell/dict-en_us@4.3.18':
         resolution: {integrity: sha512-D8jGT7Zi3+e8zIpT0NqGKvvzehcvUETFlOA0NxcRStkw7H7mgouHxKFU+u7t3tvCoGNwh2gwjCqZQlK8ZXwQHw==}
    -    dev: true
     
    -  /@cspell/dict-filetypes@3.0.3:
    +  '@cspell/dict-filetypes@3.0.3':
         resolution: {integrity: sha512-J9UP+qwwBLfOQ8Qg9tAsKtSY/WWmjj21uj6zXTI9hRLD1eG1uUOLcfVovAmtmVqUWziPSKMr87F6SXI3xmJXgw==}
    -    dev: true
     
    -  /@cspell/dict-fonts@4.0.0:
    +  '@cspell/dict-fonts@4.0.0':
         resolution: {integrity: sha512-t9V4GeN/m517UZn63kZPUYP3OQg5f0OBLSd3Md5CU3eH1IFogSvTzHHnz4Wqqbv8NNRiBZ3HfdY/pqREZ6br3Q==}
    -    dev: true
     
    -  /@cspell/dict-fsharp@1.0.1:
    +  '@cspell/dict-fsharp@1.0.1':
         resolution: {integrity: sha512-23xyPcD+j+NnqOjRHgW3IU7Li912SX9wmeefcY0QxukbAxJ/vAN4rBpjSwwYZeQPAn3fxdfdNZs03fg+UM+4yQ==}
    -    dev: true
     
    -  /@cspell/dict-fullstack@3.1.5:
    +  '@cspell/dict-fullstack@3.1.5':
         resolution: {integrity: sha512-6ppvo1dkXUZ3fbYn/wwzERxCa76RtDDl5Afzv2lijLoijGGUw5yYdLBKJnx8PJBGNLh829X352ftE7BElG4leA==}
    -    dev: true
     
    -  /@cspell/dict-gaming-terms@1.0.5:
    +  '@cspell/dict-gaming-terms@1.0.5':
         resolution: {integrity: sha512-C3riccZDD3d9caJQQs1+MPfrUrQ+0KHdlj9iUR1QD92FgTOF6UxoBpvHUUZ9YSezslcmpFQK4xQQ5FUGS7uWfw==}
    -    dev: true
     
    -  /@cspell/dict-git@3.0.0:
    +  '@cspell/dict-git@3.0.0':
         resolution: {integrity: sha512-simGS/lIiXbEaqJu9E2VPoYW1OTC2xrwPPXNXFMa2uo/50av56qOuaxDrZ5eH1LidFXwoc8HROCHYeKoNrDLSw==}
    -    dev: true
     
    -  /@cspell/dict-golang@6.0.5:
    +  '@cspell/dict-golang@6.0.5':
         resolution: {integrity: sha512-w4mEqGz4/wV+BBljLxduFNkMrd3rstBNDXmoX5kD4UTzIb4Sy0QybWCtg2iVT+R0KWiRRA56QKOvBsgXiddksA==}
    -    dev: true
     
    -  /@cspell/dict-haskell@4.0.1:
    +  '@cspell/dict-haskell@4.0.1':
         resolution: {integrity: sha512-uRrl65mGrOmwT7NxspB4xKXFUenNC7IikmpRZW8Uzqbqcu7ZRCUfstuVH7T1rmjRgRkjcIjE4PC11luDou4wEQ==}
    -    dev: true
     
    -  /@cspell/dict-html-symbol-entities@4.0.0:
    +  '@cspell/dict-html-symbol-entities@4.0.0':
         resolution: {integrity: sha512-HGRu+48ErJjoweR5IbcixxETRewrBb0uxQBd6xFGcxbEYCX8CnQFTAmKI5xNaIt2PKaZiJH3ijodGSqbKdsxhw==}
    -    dev: true
     
    -  /@cspell/dict-html@4.0.5:
    +  '@cspell/dict-html@4.0.5':
         resolution: {integrity: sha512-p0brEnRybzSSWi8sGbuVEf7jSTDmXPx7XhQUb5bgG6b54uj+Z0Qf0V2n8b/LWwIPJNd1GygaO9l8k3HTCy1h4w==}
    -    dev: true
     
    -  /@cspell/dict-java@5.0.6:
    +  '@cspell/dict-java@5.0.6':
         resolution: {integrity: sha512-kdE4AHHHrixyZ5p6zyms1SLoYpaJarPxrz8Tveo6gddszBVVwIUZ+JkQE1bWNLK740GWzIXdkznpUfw1hP9nXw==}
    -    dev: true
     
    -  /@cspell/dict-julia@1.0.1:
    +  '@cspell/dict-julia@1.0.1':
         resolution: {integrity: sha512-4JsCLCRhhLMLiaHpmR7zHFjj1qOauzDI5ZzCNQS31TUMfsOo26jAKDfo0jljFAKgw5M2fEG7sKr8IlPpQAYrmQ==}
    -    dev: true
     
    -  /@cspell/dict-k8s@1.0.2:
    +  '@cspell/dict-k8s@1.0.2':
         resolution: {integrity: sha512-tLT7gZpNPnGa+IIFvK9SP1LrSpPpJ94a/DulzAPOb1Q2UBFwdpFd82UWhio0RNShduvKG/WiMZf/wGl98pn+VQ==}
    -    dev: true
     
    -  /@cspell/dict-latex@4.0.0:
    +  '@cspell/dict-latex@4.0.0':
         resolution: {integrity: sha512-LPY4y6D5oI7D3d+5JMJHK/wxYTQa2lJMSNxps2JtuF8hbAnBQb3igoWEjEbIbRRH1XBM0X8dQqemnjQNCiAtxQ==}
    -    dev: true
     
    -  /@cspell/dict-lorem-ipsum@4.0.0:
    +  '@cspell/dict-lorem-ipsum@4.0.0':
         resolution: {integrity: sha512-1l3yjfNvMzZPibW8A7mQU4kTozwVZVw0AvFEdy+NcqtbxH+TvbSkNMqROOFWrkD2PjnKG0+Ea0tHI2Pi6Gchnw==}
    -    dev: true
     
    -  /@cspell/dict-lua@4.0.3:
    +  '@cspell/dict-lua@4.0.3':
         resolution: {integrity: sha512-lDHKjsrrbqPaea13+G9s0rtXjMO06gPXPYRjRYawbNmo4E/e3XFfVzeci3OQDQNDmf2cPOwt9Ef5lu2lDmwfJg==}
    -    dev: true
     
    -  /@cspell/dict-makefile@1.0.0:
    +  '@cspell/dict-makefile@1.0.0':
         resolution: {integrity: sha512-3W9tHPcSbJa6s0bcqWo6VisEDTSN5zOtDbnPabF7rbyjRpNo0uHXHRJQF8gAbFzoTzBBhgkTmrfSiuyQm7vBUQ==}
    -    dev: true
     
    -  /@cspell/dict-monkeyc@1.0.6:
    +  '@cspell/dict-monkeyc@1.0.6':
         resolution: {integrity: sha512-oO8ZDu/FtZ55aq9Mb67HtaCnsLn59xvhO/t2mLLTHAp667hJFxpp7bCtr2zOrR1NELzFXmKln/2lw/PvxMSvrA==}
    -    dev: true
     
    -  /@cspell/dict-node@4.0.3:
    +  '@cspell/dict-node@4.0.3':
         resolution: {integrity: sha512-sFlUNI5kOogy49KtPg8SMQYirDGIAoKBO3+cDLIwD4MLdsWy1q0upc7pzGht3mrjuyMiPRUV14Bb0rkVLrxOhg==}
    -    dev: true
     
    -  /@cspell/dict-npm@5.0.15:
    +  '@cspell/dict-npm@5.0.15':
         resolution: {integrity: sha512-sX0X5YWNW54F4baW7b5JJB6705OCBIZtUqjOghlJNORS5No7QY1IX1zc5FxNNu4gsaCZITAmfMi4ityXEsEThA==}
    -    dev: true
     
    -  /@cspell/dict-php@4.0.6:
    +  '@cspell/dict-php@4.0.6':
         resolution: {integrity: sha512-ySAXisf7twoVFZqBV2o/DKiCLIDTHNqfnj0EfH9OoOUR7HL3rb6zJkm0viLUFDO2G/8SyIi6YrN/6KX+Scjjjg==}
    -    dev: true
     
    -  /@cspell/dict-powershell@5.0.3:
    +  '@cspell/dict-powershell@5.0.3':
         resolution: {integrity: sha512-lEdzrcyau6mgzu1ie98GjOEegwVHvoaWtzQnm1ie4DyZgMr+N6D0Iyj1lzvtmt0snvsDFa5F2bsYzf3IMKcpcA==}
    -    dev: true
     
    -  /@cspell/dict-public-licenses@2.0.6:
    +  '@cspell/dict-public-licenses@2.0.6':
         resolution: {integrity: sha512-bHqpSpJvLCUcWxj1ov/Ki8WjmESpYwRpQlqfdchekOTc93Huhvjm/RXVN1R4fVf4Hspyem1QVkCGqAmjJMj6sw==}
    -    dev: true
     
    -  /@cspell/dict-python@4.1.11:
    +  '@cspell/dict-python@4.1.11':
         resolution: {integrity: sha512-XG+v3PumfzUW38huSbfT15Vqt3ihNb462ulfXifpQllPok5OWynhszCLCRQjQReV+dgz784ST4ggRxW452/kVg==}
    -    dependencies:
    -      '@cspell/dict-data-science': 1.0.11
    -    dev: true
     
    -  /@cspell/dict-r@2.0.1:
    +  '@cspell/dict-r@2.0.1':
         resolution: {integrity: sha512-KCmKaeYMLm2Ip79mlYPc8p+B2uzwBp4KMkzeLd5E6jUlCL93Y5Nvq68wV5fRLDRTf7N1LvofkVFWfDcednFOgA==}
    -    dev: true
     
    -  /@cspell/dict-ruby@5.0.2:
    +  '@cspell/dict-ruby@5.0.2':
         resolution: {integrity: sha512-cIh8KTjpldzFzKGgrqUX4bFyav5lC52hXDKo4LbRuMVncs3zg4hcSf4HtURY+f2AfEZzN6ZKzXafQpThq3dl2g==}
    -    dev: true
     
    -  /@cspell/dict-rust@4.0.2:
    +  '@cspell/dict-rust@4.0.2':
         resolution: {integrity: sha512-RhziKDrklzOntxAbY3AvNR58wnFGIo3YS8+dNeLY36GFuWOvXDHFStYw5Pod4f/VXbO/+1tXtywCC4zWfB2p1w==}
    -    dev: true
     
    -  /@cspell/dict-scala@5.0.0:
    +  '@cspell/dict-scala@5.0.0':
         resolution: {integrity: sha512-ph0twaRoV+ylui022clEO1dZ35QbeEQaKTaV2sPOsdwIokABPIiK09oWwGK9qg7jRGQwVaRPEq0Vp+IG1GpqSQ==}
    -    dev: true
     
    -  /@cspell/dict-software-terms@3.3.18:
    +  '@cspell/dict-software-terms@3.3.18':
         resolution: {integrity: sha512-LJZGGMGqS8KzgXJrSMs3T+6GoqHG9z8Bc+rqLzLzbtoR3FbsMasE9U8oP2PmS3q7jJLFjQkzmg508DrcuZuo2g==}
    -    dev: true
     
    -  /@cspell/dict-sql@2.1.3:
    +  '@cspell/dict-sql@2.1.3':
         resolution: {integrity: sha512-SEyTNKJrjqD6PAzZ9WpdSu6P7wgdNtGV2RV8Kpuw1x6bV+YsSptuClYG+JSdRExBTE6LwIe1bTklejUp3ZP8TQ==}
    -    dev: true
     
    -  /@cspell/dict-svelte@1.0.2:
    +  '@cspell/dict-svelte@1.0.2':
         resolution: {integrity: sha512-rPJmnn/GsDs0btNvrRBciOhngKV98yZ9SHmg8qI6HLS8hZKvcXc0LMsf9LLuMK1TmS2+WQFAan6qeqg6bBxL2Q==}
    -    dev: true
     
    -  /@cspell/dict-swift@2.0.1:
    +  '@cspell/dict-swift@2.0.1':
         resolution: {integrity: sha512-gxrCMUOndOk7xZFmXNtkCEeroZRnS2VbeaIPiymGRHj5H+qfTAzAKxtv7jJbVA3YYvEzWcVE2oKDP4wcbhIERw==}
    -    dev: true
     
    -  /@cspell/dict-terraform@1.0.0:
    +  '@cspell/dict-terraform@1.0.0':
         resolution: {integrity: sha512-Ak+vy4HP/bOgzf06BAMC30+ZvL9mzv21xLM2XtfnBLTDJGdxlk/nK0U6QT8VfFLqJ0ZZSpyOxGsUebWDCTr/zQ==}
    -    dev: true
     
    -  /@cspell/dict-typescript@3.1.3:
    +  '@cspell/dict-typescript@3.1.3':
         resolution: {integrity: sha512-TdD789OWwOImH/IMyz/QRA6LJz7ScI/qbn1YOkcAW3AROvgbc0oKAxzp08+Xu8tj4GROrJ9UqZdh0t9xQCPkPg==}
    -    dev: true
     
    -  /@cspell/dict-vue@3.0.0:
    +  '@cspell/dict-vue@3.0.0':
         resolution: {integrity: sha512-niiEMPWPV9IeRBRzZ0TBZmNnkK3olkOPYxC1Ny2AX4TGlYRajcW0WUtoSHmvvjZNfWLSg2L6ruiBeuPSbjnG6A==}
    -    dev: true
     
    -  /@cspell/dynamic-import@8.7.0:
    +  '@cspell/dynamic-import@8.7.0':
         resolution: {integrity: sha512-xlEPdiHVDu+4xYkvwjL9MgklxOi9XB+Pr1H9s3Ww9WEq+q6BA3xOHxLIU/k8mhqFTMZGFZRCsdy/EwMu6SyRhQ==}
         engines: {node: '>=18.0'}
    -    dependencies:
    -      import-meta-resolve: 4.0.0
    -    dev: true
     
    -  /@cspell/eslint-plugin@8.7.0(eslint@8.57.0):
    +  '@cspell/eslint-plugin@8.7.0':
         resolution: {integrity: sha512-ZITI9ybL5vsOukUzMyyBc5eKndEag7Pe4Z19br2w92xyNCZtHeAoDzp1eo1OeRilT7zBXCdXEDzvvNiNAHhg9A==}
         engines: {node: '>=18'}
         peerDependencies:
           eslint: ^7 || ^8 || ^9
    -    dependencies:
    -      '@cspell/cspell-types': 8.7.0
    -      cspell-lib: 8.7.0
    -      eslint: 8.57.0
    -      estree-walker: 3.0.3
    -      synckit: 0.9.0
    -    dev: true
     
    -  /@cspell/strong-weak-map@8.7.0:
    +  '@cspell/strong-weak-map@8.7.0':
         resolution: {integrity: sha512-0bo0WwDr2lzGoCP7vbpWbDpPyuOrHKK+218txnUpx6Pn1EDBLfcDQsiZED5B6zlpwgbGi6y3vc0rWtJbjKvwzg==}
         engines: {node: '>=18'}
    -    dev: true
     
    -  /@cypress/code-coverage@3.12.39(@babel/core@7.24.5)(@babel/preset-env@7.24.5)(babel-loader@9.1.3)(cypress@13.7.3)(webpack@5.91.0):
    -    resolution: {integrity: sha512-ja7I/GRmkSAW9e3O7pideWcNUEHao0WT6sRyXQEURoxkJUASJssJ7Kb/bd3eMYmkUCiD5CRFqWR5BGF4mWVaUw==}
    +  '@cypress/code-coverage@3.12.38':
    +    resolution: {integrity: sha512-1jYHxAeweMBD5hvrHdzpwmS0yHQ/AKHC1BsoAgYtvYYRe/aOkAeWUwy3CaOTQzyVOMa+cWFElPYYusf1WiW85A==}
         peerDependencies:
           '@babel/core': ^7.0.1
           '@babel/preset-env': ^7.0.0
           babel-loader: ^8.3 || ^9
           cypress: '*'
           webpack: ^4 || ^5
    -    dependencies:
    -      '@babel/core': 7.24.5
    -      '@babel/preset-env': 7.24.5(@babel/core@7.24.5)
    -      '@cypress/webpack-preprocessor': 6.0.1(@babel/core@7.24.5)(@babel/preset-env@7.24.5)(babel-loader@9.1.3)(webpack@5.91.0)
    -      babel-loader: 9.1.3(@babel/core@7.24.5)(webpack@5.91.0)
    -      chalk: 4.1.2
    -      cypress: 13.7.3
    -      dayjs: 1.11.10
    -      debug: 4.3.4(supports-color@8.1.1)
    -      execa: 4.1.0
    -      globby: 11.1.0
    -      istanbul-lib-coverage: 3.2.2
    -      js-yaml: 4.1.0
    -      nyc: 15.1.0
    -      webpack: 5.91.0(esbuild@0.20.2)(webpack-cli@4.10.0)
    -    transitivePeerDependencies:
    -      - supports-color
    -    dev: true
     
    -  /@cypress/request@3.0.1:
    +  '@cypress/request@3.0.1':
         resolution: {integrity: sha512-TWivJlJi8ZDx2wGOw1dbLuHJKUYX7bWySw377nlnGOW3hP9/MUKIsEdXT/YngWxVdgNCHRBmFlBipE+5/2ZZlQ==}
         engines: {node: '>= 6'}
    -    dependencies:
    -      aws-sign2: 0.7.0
    -      aws4: 1.12.0
    -      caseless: 0.12.0
    -      combined-stream: 1.0.8
    -      extend: 3.0.2
    -      forever-agent: 0.6.1
    -      form-data: 2.3.3
    -      http-signature: 1.3.6
    -      is-typedarray: 1.0.0
    -      isstream: 0.1.2
    -      json-stringify-safe: 5.0.1
    -      mime-types: 2.1.35
    -      performance-now: 2.1.0
    -      qs: 6.10.4
    -      safe-buffer: 5.2.1
    -      tough-cookie: 4.1.3
    -      tunnel-agent: 0.6.0
    -      uuid: 8.3.2
    -    dev: true
     
    -  /@cypress/webpack-preprocessor@6.0.1(@babel/core@7.24.5)(@babel/preset-env@7.24.5)(babel-loader@9.1.3)(webpack@5.91.0):
    +  '@cypress/webpack-preprocessor@6.0.1':
         resolution: {integrity: sha512-WVNeFVSnFKxE3WZNRIriduTgqJRpevaiJIPlfqYTTzfXRD7X1Pv4woDE+G4caPV9bJqVKmVFiwzrXMRNeJxpxA==}
         peerDependencies:
           '@babel/core': ^7.0.1
           '@babel/preset-env': ^7.0.0
           babel-loader: ^8.3 || ^9
           webpack: ^4 || ^5
    -    dependencies:
    -      '@babel/core': 7.24.5
    -      '@babel/preset-env': 7.24.5(@babel/core@7.24.5)
    -      babel-loader: 9.1.3(@babel/core@7.24.5)(webpack@5.91.0)
    -      bluebird: 3.7.1
    -      debug: 4.3.4(supports-color@8.1.1)
    -      lodash: 4.17.21
    -      webpack: 5.91.0(esbuild@0.20.2)(webpack-cli@4.10.0)
    -    transitivePeerDependencies:
    -      - supports-color
    -    dev: true
     
    -  /@cypress/xvfb@1.2.4(supports-color@8.1.1):
    +  '@cypress/xvfb@1.2.4':
         resolution: {integrity: sha512-skbBzPggOVYCbnGgV+0dmBdW/s77ZkAOXIC1knS8NagwDjBrNC1LuXtQJeiN6l+m7lzmHtaoUw/ctJKdqkG57Q==}
    -    dependencies:
    -      debug: 3.2.7(supports-color@8.1.1)
    -      lodash.once: 4.1.1
    -    transitivePeerDependencies:
    -      - supports-color
    -    dev: true
     
    -  /@discoveryjs/json-ext@0.5.7:
    +  '@discoveryjs/json-ext@0.5.7':
         resolution: {integrity: sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw==}
         engines: {node: '>=10.0.0'}
    -    dev: true
     
    -  /@docsearch/css@3.6.0:
    +  '@docsearch/css@3.6.0':
         resolution: {integrity: sha512-+sbxb71sWre+PwDK7X2T8+bhS6clcVMLwBPznX45Qu6opJcgRjAp7gYSDzVFp187J+feSj5dNBN1mJoi6ckkUQ==}
    -    dev: true
     
    -  /@docsearch/js@3.6.0(@algolia/client-search@4.23.3)(search-insights@2.13.0):
    +  '@docsearch/js@3.6.0':
         resolution: {integrity: sha512-QujhqINEElrkIfKwyyyTfbsfMAYCkylInLYMRqHy7PHc8xTBQCow73tlo/Kc7oIwBrCLf0P3YhjlOeV4v8hevQ==}
    -    dependencies:
    -      '@docsearch/react': 3.6.0(@algolia/client-search@4.23.3)(search-insights@2.13.0)
    -      preact: 10.21.0
    -    transitivePeerDependencies:
    -      - '@algolia/client-search'
    -      - '@types/react'
    -      - react
    -      - react-dom
    -      - search-insights
    -    dev: true
     
    -  /@docsearch/react@3.6.0(@algolia/client-search@4.23.3)(search-insights@2.13.0):
    +  '@docsearch/react@3.6.0':
         resolution: {integrity: sha512-HUFut4ztcVNmqy9gp/wxNbC7pTOHhgVVkHVGCACTuLhUKUhKAF9KYHJtMiLUJxEqiFLQiuri1fWF8zqwM/cu1w==}
         peerDependencies:
           '@types/react': '>= 16.8.0 < 19.0.0'
    @@ -2866,507 +1642,321 @@ packages:
             optional: true
           search-insights:
             optional: true
    -    dependencies:
    -      '@algolia/autocomplete-core': 1.9.3(@algolia/client-search@4.23.3)(algoliasearch@4.23.3)(search-insights@2.13.0)
    -      '@algolia/autocomplete-preset-algolia': 1.9.3(@algolia/client-search@4.23.3)(algoliasearch@4.23.3)
    -      '@docsearch/css': 3.6.0
    -      algoliasearch: 4.23.3
    -      search-insights: 2.13.0
    -    transitivePeerDependencies:
    -      - '@algolia/client-search'
    -    dev: true
     
    -  /@es-joy/jsdoccomment@0.43.0:
    -    resolution: {integrity: sha512-Q1CnsQrytI3TlCB1IVWXWeqUIPGVEKGaE7IbVdt13Nq/3i0JESAkQQERrfiQkmlpijl+++qyqPgaS31Bvc1jRQ==}
    +  '@es-joy/jsdoccomment@0.42.0':
    +    resolution: {integrity: sha512-R1w57YlVA6+YE01wch3GPYn6bCsrOV3YW/5oGGE2tmX6JcL9Nr+b5IikrjMPF+v9CV3ay+obImEdsDhovhJrzw==}
         engines: {node: '>=16'}
    -    dependencies:
    -      '@types/eslint': 8.56.10
    -      '@types/estree': 1.0.5
    -      '@typescript-eslint/types': 7.9.0
    -      comment-parser: 1.4.1
    -      esquery: 1.5.0
    -      jsdoc-type-pratt-parser: 4.0.0
    -    dev: true
     
    -  /@esbuild/aix-ppc64@0.19.12:
    +  '@esbuild/aix-ppc64@0.19.12':
         resolution: {integrity: sha512-bmoCYyWdEL3wDQIVbcyzRyeKLgk2WtWLTWz1ZIAZF/EGbNOwSA6ew3PftJ1PqMiOOGu0OyFMzG53L0zqIpPeNA==}
         engines: {node: '>=12'}
         cpu: [ppc64]
         os: [aix]
    -    requiresBuild: true
    -    dev: true
    -    optional: true
     
    -  /@esbuild/aix-ppc64@0.20.2:
    +  '@esbuild/aix-ppc64@0.20.2':
         resolution: {integrity: sha512-D+EBOJHXdNZcLJRBkhENNG8Wji2kgc9AZ9KiPr1JuZjsNtyHzrsfLRrY0tk2H2aoFu6RANO1y1iPPUCDYWkb5g==}
         engines: {node: '>=12'}
         cpu: [ppc64]
         os: [aix]
    -    requiresBuild: true
    -    dev: true
    -    optional: true
     
    -  /@esbuild/android-arm64@0.19.12:
    +  '@esbuild/android-arm64@0.19.12':
         resolution: {integrity: sha512-P0UVNGIienjZv3f5zq0DP3Nt2IE/3plFzuaS96vihvD0Hd6H/q4WXUGpCxD/E8YrSXfNyRPbpTq+T8ZQioSuPA==}
         engines: {node: '>=12'}
         cpu: [arm64]
         os: [android]
    -    requiresBuild: true
    -    dev: true
    -    optional: true
     
    -  /@esbuild/android-arm64@0.20.2:
    +  '@esbuild/android-arm64@0.20.2':
         resolution: {integrity: sha512-mRzjLacRtl/tWU0SvD8lUEwb61yP9cqQo6noDZP/O8VkwafSYwZ4yWy24kan8jE/IMERpYncRt2dw438LP3Xmg==}
         engines: {node: '>=12'}
         cpu: [arm64]
         os: [android]
    -    requiresBuild: true
    -    dev: true
    -    optional: true
     
    -  /@esbuild/android-arm@0.19.12:
    +  '@esbuild/android-arm@0.19.12':
         resolution: {integrity: sha512-qg/Lj1mu3CdQlDEEiWrlC4eaPZ1KztwGJ9B6J+/6G+/4ewxJg7gqj8eVYWvao1bXrqGiW2rsBZFSX3q2lcW05w==}
         engines: {node: '>=12'}
         cpu: [arm]
         os: [android]
    -    requiresBuild: true
    -    dev: true
    -    optional: true
     
    -  /@esbuild/android-arm@0.20.2:
    +  '@esbuild/android-arm@0.20.2':
         resolution: {integrity: sha512-t98Ra6pw2VaDhqNWO2Oph2LXbz/EJcnLmKLGBJwEwXX/JAN83Fym1rU8l0JUWK6HkIbWONCSSatf4sf2NBRx/w==}
         engines: {node: '>=12'}
         cpu: [arm]
         os: [android]
    -    requiresBuild: true
    -    dev: true
    -    optional: true
     
    -  /@esbuild/android-x64@0.19.12:
    +  '@esbuild/android-x64@0.19.12':
         resolution: {integrity: sha512-3k7ZoUW6Q6YqhdhIaq/WZ7HwBpnFBlW905Fa4s4qWJyiNOgT1dOqDiVAQFwBH7gBRZr17gLrlFCRzF6jFh7Kew==}
         engines: {node: '>=12'}
         cpu: [x64]
         os: [android]
    -    requiresBuild: true
    -    dev: true
    -    optional: true
     
    -  /@esbuild/android-x64@0.20.2:
    +  '@esbuild/android-x64@0.20.2':
         resolution: {integrity: sha512-btzExgV+/lMGDDa194CcUQm53ncxzeBrWJcncOBxuC6ndBkKxnHdFJn86mCIgTELsooUmwUm9FkhSp5HYu00Rg==}
         engines: {node: '>=12'}
         cpu: [x64]
         os: [android]
    -    requiresBuild: true
    -    dev: true
    -    optional: true
     
    -  /@esbuild/darwin-arm64@0.19.12:
    +  '@esbuild/darwin-arm64@0.19.12':
         resolution: {integrity: sha512-B6IeSgZgtEzGC42jsI+YYu9Z3HKRxp8ZT3cqhvliEHovq8HSX2YX8lNocDn79gCKJXOSaEot9MVYky7AKjCs8g==}
         engines: {node: '>=12'}
         cpu: [arm64]
         os: [darwin]
    -    requiresBuild: true
    -    dev: true
    -    optional: true
     
    -  /@esbuild/darwin-arm64@0.20.2:
    +  '@esbuild/darwin-arm64@0.20.2':
         resolution: {integrity: sha512-4J6IRT+10J3aJH3l1yzEg9y3wkTDgDk7TSDFX+wKFiWjqWp/iCfLIYzGyasx9l0SAFPT1HwSCR+0w/h1ES/MjA==}
         engines: {node: '>=12'}
         cpu: [arm64]
         os: [darwin]
    -    requiresBuild: true
    -    dev: true
    -    optional: true
     
    -  /@esbuild/darwin-x64@0.19.12:
    +  '@esbuild/darwin-x64@0.19.12':
         resolution: {integrity: sha512-hKoVkKzFiToTgn+41qGhsUJXFlIjxI/jSYeZf3ugemDYZldIXIxhvwN6erJGlX4t5h417iFuheZ7l+YVn05N3A==}
         engines: {node: '>=12'}
         cpu: [x64]
         os: [darwin]
    -    requiresBuild: true
    -    dev: true
    -    optional: true
     
    -  /@esbuild/darwin-x64@0.20.2:
    +  '@esbuild/darwin-x64@0.20.2':
         resolution: {integrity: sha512-tBcXp9KNphnNH0dfhv8KYkZhjc+H3XBkF5DKtswJblV7KlT9EI2+jeA8DgBjp908WEuYll6pF+UStUCfEpdysA==}
         engines: {node: '>=12'}
         cpu: [x64]
         os: [darwin]
    -    requiresBuild: true
    -    dev: true
    -    optional: true
     
    -  /@esbuild/freebsd-arm64@0.19.12:
    +  '@esbuild/freebsd-arm64@0.19.12':
         resolution: {integrity: sha512-4aRvFIXmwAcDBw9AueDQ2YnGmz5L6obe5kmPT8Vd+/+x/JMVKCgdcRwH6APrbpNXsPz+K653Qg8HB/oXvXVukA==}
         engines: {node: '>=12'}
         cpu: [arm64]
         os: [freebsd]
    -    requiresBuild: true
    -    dev: true
    -    optional: true
     
    -  /@esbuild/freebsd-arm64@0.20.2:
    +  '@esbuild/freebsd-arm64@0.20.2':
         resolution: {integrity: sha512-d3qI41G4SuLiCGCFGUrKsSeTXyWG6yem1KcGZVS+3FYlYhtNoNgYrWcvkOoaqMhwXSMrZRl69ArHsGJ9mYdbbw==}
         engines: {node: '>=12'}
         cpu: [arm64]
         os: [freebsd]
    -    requiresBuild: true
    -    dev: true
    -    optional: true
     
    -  /@esbuild/freebsd-x64@0.19.12:
    +  '@esbuild/freebsd-x64@0.19.12':
         resolution: {integrity: sha512-EYoXZ4d8xtBoVN7CEwWY2IN4ho76xjYXqSXMNccFSx2lgqOG/1TBPW0yPx1bJZk94qu3tX0fycJeeQsKovA8gg==}
         engines: {node: '>=12'}
         cpu: [x64]
         os: [freebsd]
    -    requiresBuild: true
    -    dev: true
    -    optional: true
     
    -  /@esbuild/freebsd-x64@0.20.2:
    +  '@esbuild/freebsd-x64@0.20.2':
         resolution: {integrity: sha512-d+DipyvHRuqEeM5zDivKV1KuXn9WeRX6vqSqIDgwIfPQtwMP4jaDsQsDncjTDDsExT4lR/91OLjRo8bmC1e+Cw==}
         engines: {node: '>=12'}
         cpu: [x64]
         os: [freebsd]
    -    requiresBuild: true
    -    dev: true
    -    optional: true
     
    -  /@esbuild/linux-arm64@0.19.12:
    +  '@esbuild/linux-arm64@0.19.12':
         resolution: {integrity: sha512-EoTjyYyLuVPfdPLsGVVVC8a0p1BFFvtpQDB/YLEhaXyf/5bczaGeN15QkR+O4S5LeJ92Tqotve7i1jn35qwvdA==}
         engines: {node: '>=12'}
         cpu: [arm64]
         os: [linux]
    -    requiresBuild: true
    -    dev: true
    -    optional: true
     
    -  /@esbuild/linux-arm64@0.20.2:
    +  '@esbuild/linux-arm64@0.20.2':
         resolution: {integrity: sha512-9pb6rBjGvTFNira2FLIWqDk/uaf42sSyLE8j1rnUpuzsODBq7FvpwHYZxQ/It/8b+QOS1RYfqgGFNLRI+qlq2A==}
         engines: {node: '>=12'}
         cpu: [arm64]
         os: [linux]
    -    requiresBuild: true
    -    dev: true
    -    optional: true
     
    -  /@esbuild/linux-arm@0.19.12:
    +  '@esbuild/linux-arm@0.19.12':
         resolution: {integrity: sha512-J5jPms//KhSNv+LO1S1TX1UWp1ucM6N6XuL6ITdKWElCu8wXP72l9MM0zDTzzeikVyqFE6U8YAV9/tFyj0ti+w==}
         engines: {node: '>=12'}
         cpu: [arm]
         os: [linux]
    -    requiresBuild: true
    -    dev: true
    -    optional: true
     
    -  /@esbuild/linux-arm@0.20.2:
    +  '@esbuild/linux-arm@0.20.2':
         resolution: {integrity: sha512-VhLPeR8HTMPccbuWWcEUD1Az68TqaTYyj6nfE4QByZIQEQVWBB8vup8PpR7y1QHL3CpcF6xd5WVBU/+SBEvGTg==}
         engines: {node: '>=12'}
         cpu: [arm]
         os: [linux]
    -    requiresBuild: true
    -    dev: true
    -    optional: true
     
    -  /@esbuild/linux-ia32@0.19.12:
    +  '@esbuild/linux-ia32@0.19.12':
         resolution: {integrity: sha512-Thsa42rrP1+UIGaWz47uydHSBOgTUnwBwNq59khgIwktK6x60Hivfbux9iNR0eHCHzOLjLMLfUMLCypBkZXMHA==}
         engines: {node: '>=12'}
         cpu: [ia32]
         os: [linux]
    -    requiresBuild: true
    -    dev: true
    -    optional: true
     
    -  /@esbuild/linux-ia32@0.20.2:
    +  '@esbuild/linux-ia32@0.20.2':
         resolution: {integrity: sha512-o10utieEkNPFDZFQm9CoP7Tvb33UutoJqg3qKf1PWVeeJhJw0Q347PxMvBgVVFgouYLGIhFYG0UGdBumROyiig==}
         engines: {node: '>=12'}
         cpu: [ia32]
         os: [linux]
    -    requiresBuild: true
    -    dev: true
    -    optional: true
     
    -  /@esbuild/linux-loong64@0.19.12:
    +  '@esbuild/linux-loong64@0.19.12':
         resolution: {integrity: sha512-LiXdXA0s3IqRRjm6rV6XaWATScKAXjI4R4LoDlvO7+yQqFdlr1Bax62sRwkVvRIrwXxvtYEHHI4dm50jAXkuAA==}
         engines: {node: '>=12'}
         cpu: [loong64]
         os: [linux]
    -    requiresBuild: true
    -    dev: true
    -    optional: true
     
    -  /@esbuild/linux-loong64@0.20.2:
    +  '@esbuild/linux-loong64@0.20.2':
         resolution: {integrity: sha512-PR7sp6R/UC4CFVomVINKJ80pMFlfDfMQMYynX7t1tNTeivQ6XdX5r2XovMmha/VjR1YN/HgHWsVcTRIMkymrgQ==}
         engines: {node: '>=12'}
         cpu: [loong64]
         os: [linux]
    -    requiresBuild: true
    -    dev: true
    -    optional: true
     
    -  /@esbuild/linux-mips64el@0.19.12:
    +  '@esbuild/linux-mips64el@0.19.12':
         resolution: {integrity: sha512-fEnAuj5VGTanfJ07ff0gOA6IPsvrVHLVb6Lyd1g2/ed67oU1eFzL0r9WL7ZzscD+/N6i3dWumGE1Un4f7Amf+w==}
         engines: {node: '>=12'}
         cpu: [mips64el]
         os: [linux]
    -    requiresBuild: true
    -    dev: true
    -    optional: true
     
    -  /@esbuild/linux-mips64el@0.20.2:
    +  '@esbuild/linux-mips64el@0.20.2':
         resolution: {integrity: sha512-4BlTqeutE/KnOiTG5Y6Sb/Hw6hsBOZapOVF6njAESHInhlQAghVVZL1ZpIctBOoTFbQyGW+LsVYZ8lSSB3wkjA==}
         engines: {node: '>=12'}
         cpu: [mips64el]
         os: [linux]
    -    requiresBuild: true
    -    dev: true
    -    optional: true
     
    -  /@esbuild/linux-ppc64@0.19.12:
    +  '@esbuild/linux-ppc64@0.19.12':
         resolution: {integrity: sha512-nYJA2/QPimDQOh1rKWedNOe3Gfc8PabU7HT3iXWtNUbRzXS9+vgB0Fjaqr//XNbd82mCxHzik2qotuI89cfixg==}
         engines: {node: '>=12'}
         cpu: [ppc64]
         os: [linux]
    -    requiresBuild: true
    -    dev: true
    -    optional: true
     
    -  /@esbuild/linux-ppc64@0.20.2:
    +  '@esbuild/linux-ppc64@0.20.2':
         resolution: {integrity: sha512-rD3KsaDprDcfajSKdn25ooz5J5/fWBylaaXkuotBDGnMnDP1Uv5DLAN/45qfnf3JDYyJv/ytGHQaziHUdyzaAg==}
         engines: {node: '>=12'}
         cpu: [ppc64]
         os: [linux]
    -    requiresBuild: true
    -    dev: true
    -    optional: true
     
    -  /@esbuild/linux-riscv64@0.19.12:
    +  '@esbuild/linux-riscv64@0.19.12':
         resolution: {integrity: sha512-2MueBrlPQCw5dVJJpQdUYgeqIzDQgw3QtiAHUC4RBz9FXPrskyyU3VI1hw7C0BSKB9OduwSJ79FTCqtGMWqJHg==}
         engines: {node: '>=12'}
         cpu: [riscv64]
         os: [linux]
    -    requiresBuild: true
    -    dev: true
    -    optional: true
     
    -  /@esbuild/linux-riscv64@0.20.2:
    +  '@esbuild/linux-riscv64@0.20.2':
         resolution: {integrity: sha512-snwmBKacKmwTMmhLlz/3aH1Q9T8v45bKYGE3j26TsaOVtjIag4wLfWSiZykXzXuE1kbCE+zJRmwp+ZbIHinnVg==}
         engines: {node: '>=12'}
         cpu: [riscv64]
         os: [linux]
    -    requiresBuild: true
    -    dev: true
    -    optional: true
     
    -  /@esbuild/linux-s390x@0.19.12:
    +  '@esbuild/linux-s390x@0.19.12':
         resolution: {integrity: sha512-+Pil1Nv3Umes4m3AZKqA2anfhJiVmNCYkPchwFJNEJN5QxmTs1uzyy4TvmDrCRNT2ApwSari7ZIgrPeUx4UZDg==}
         engines: {node: '>=12'}
         cpu: [s390x]
         os: [linux]
    -    requiresBuild: true
    -    dev: true
    -    optional: true
     
    -  /@esbuild/linux-s390x@0.20.2:
    +  '@esbuild/linux-s390x@0.20.2':
         resolution: {integrity: sha512-wcWISOobRWNm3cezm5HOZcYz1sKoHLd8VL1dl309DiixxVFoFe/o8HnwuIwn6sXre88Nwj+VwZUvJf4AFxkyrQ==}
         engines: {node: '>=12'}
         cpu: [s390x]
         os: [linux]
    -    requiresBuild: true
    -    dev: true
    -    optional: true
     
    -  /@esbuild/linux-x64@0.19.12:
    +  '@esbuild/linux-x64@0.19.12':
         resolution: {integrity: sha512-B71g1QpxfwBvNrfyJdVDexenDIt1CiDN1TIXLbhOw0KhJzE78KIFGX6OJ9MrtC0oOqMWf+0xop4qEU8JrJTwCg==}
         engines: {node: '>=12'}
         cpu: [x64]
         os: [linux]
    -    requiresBuild: true
    -    dev: true
    -    optional: true
     
    -  /@esbuild/linux-x64@0.20.2:
    +  '@esbuild/linux-x64@0.20.2':
         resolution: {integrity: sha512-1MdwI6OOTsfQfek8sLwgyjOXAu+wKhLEoaOLTjbijk6E2WONYpH9ZU2mNtR+lZ2B4uwr+usqGuVfFT9tMtGvGw==}
         engines: {node: '>=12'}
         cpu: [x64]
         os: [linux]
    -    requiresBuild: true
    -    dev: true
    -    optional: true
     
    -  /@esbuild/netbsd-x64@0.19.12:
    +  '@esbuild/netbsd-x64@0.19.12':
         resolution: {integrity: sha512-3ltjQ7n1owJgFbuC61Oj++XhtzmymoCihNFgT84UAmJnxJfm4sYCiSLTXZtE00VWYpPMYc+ZQmB6xbSdVh0JWA==}
         engines: {node: '>=12'}
         cpu: [x64]
         os: [netbsd]
    -    requiresBuild: true
    -    dev: true
    -    optional: true
     
    -  /@esbuild/netbsd-x64@0.20.2:
    +  '@esbuild/netbsd-x64@0.20.2':
         resolution: {integrity: sha512-K8/DhBxcVQkzYc43yJXDSyjlFeHQJBiowJ0uVL6Tor3jGQfSGHNNJcWxNbOI8v5k82prYqzPuwkzHt3J1T1iZQ==}
         engines: {node: '>=12'}
         cpu: [x64]
         os: [netbsd]
    -    requiresBuild: true
    -    dev: true
    -    optional: true
     
    -  /@esbuild/openbsd-x64@0.19.12:
    +  '@esbuild/openbsd-x64@0.19.12':
         resolution: {integrity: sha512-RbrfTB9SWsr0kWmb9srfF+L933uMDdu9BIzdA7os2t0TXhCRjrQyCeOt6wVxr79CKD4c+p+YhCj31HBkYcXebw==}
         engines: {node: '>=12'}
         cpu: [x64]
         os: [openbsd]
    -    requiresBuild: true
    -    dev: true
    -    optional: true
     
    -  /@esbuild/openbsd-x64@0.20.2:
    +  '@esbuild/openbsd-x64@0.20.2':
         resolution: {integrity: sha512-eMpKlV0SThJmmJgiVyN9jTPJ2VBPquf6Kt/nAoo6DgHAoN57K15ZghiHaMvqjCye/uU4X5u3YSMgVBI1h3vKrQ==}
         engines: {node: '>=12'}
         cpu: [x64]
         os: [openbsd]
    -    requiresBuild: true
    -    dev: true
    -    optional: true
     
    -  /@esbuild/sunos-x64@0.19.12:
    +  '@esbuild/sunos-x64@0.19.12':
         resolution: {integrity: sha512-HKjJwRrW8uWtCQnQOz9qcU3mUZhTUQvi56Q8DPTLLB+DawoiQdjsYq+j+D3s9I8VFtDr+F9CjgXKKC4ss89IeA==}
         engines: {node: '>=12'}
         cpu: [x64]
         os: [sunos]
    -    requiresBuild: true
    -    dev: true
    -    optional: true
     
    -  /@esbuild/sunos-x64@0.20.2:
    +  '@esbuild/sunos-x64@0.20.2':
         resolution: {integrity: sha512-2UyFtRC6cXLyejf/YEld4Hajo7UHILetzE1vsRcGL3earZEW77JxrFjH4Ez2qaTiEfMgAXxfAZCm1fvM/G/o8w==}
         engines: {node: '>=12'}
         cpu: [x64]
         os: [sunos]
    -    requiresBuild: true
    -    dev: true
    -    optional: true
     
    -  /@esbuild/win32-arm64@0.19.12:
    +  '@esbuild/win32-arm64@0.19.12':
         resolution: {integrity: sha512-URgtR1dJnmGvX864pn1B2YUYNzjmXkuJOIqG2HdU62MVS4EHpU2946OZoTMnRUHklGtJdJZ33QfzdjGACXhn1A==}
         engines: {node: '>=12'}
         cpu: [arm64]
         os: [win32]
    -    requiresBuild: true
    -    dev: true
    -    optional: true
     
    -  /@esbuild/win32-arm64@0.20.2:
    +  '@esbuild/win32-arm64@0.20.2':
         resolution: {integrity: sha512-GRibxoawM9ZCnDxnP3usoUDO9vUkpAxIIZ6GQI+IlVmr5kP3zUq+l17xELTHMWTWzjxa2guPNyrpq1GWmPvcGQ==}
         engines: {node: '>=12'}
         cpu: [arm64]
         os: [win32]
    -    requiresBuild: true
    -    dev: true
    -    optional: true
     
    -  /@esbuild/win32-ia32@0.19.12:
    +  '@esbuild/win32-ia32@0.19.12':
         resolution: {integrity: sha512-+ZOE6pUkMOJfmxmBZElNOx72NKpIa/HFOMGzu8fqzQJ5kgf6aTGrcJaFsNiVMH4JKpMipyK+7k0n2UXN7a8YKQ==}
         engines: {node: '>=12'}
         cpu: [ia32]
         os: [win32]
    -    requiresBuild: true
    -    dev: true
    -    optional: true
     
    -  /@esbuild/win32-ia32@0.20.2:
    +  '@esbuild/win32-ia32@0.20.2':
         resolution: {integrity: sha512-HfLOfn9YWmkSKRQqovpnITazdtquEW8/SoHW7pWpuEeguaZI4QnCRW6b+oZTztdBnZOS2hqJ6im/D5cPzBTTlQ==}
         engines: {node: '>=12'}
         cpu: [ia32]
         os: [win32]
    -    requiresBuild: true
    -    dev: true
    -    optional: true
     
    -  /@esbuild/win32-x64@0.19.12:
    +  '@esbuild/win32-x64@0.19.12':
         resolution: {integrity: sha512-T1QyPSDCyMXaO3pzBkF96E8xMkiRYbUEZADd29SyPGabqxMViNoii+NcK7eWJAEoU6RZyEm5lVSIjTmcdoB9HA==}
         engines: {node: '>=12'}
         cpu: [x64]
         os: [win32]
    -    requiresBuild: true
    -    dev: true
    -    optional: true
     
    -  /@esbuild/win32-x64@0.20.2:
    +  '@esbuild/win32-x64@0.20.2':
         resolution: {integrity: sha512-N49X4lJX27+l9jbLKSqZ6bKNjzQvHaT8IIFUy+YIqmXQdjYCToGWwOItDrfby14c78aDd5NHQl29xingXfCdLQ==}
         engines: {node: '>=12'}
         cpu: [x64]
         os: [win32]
    -    requiresBuild: true
    -    dev: true
    -    optional: true
     
    -  /@eslint-community/eslint-utils@4.4.0(eslint@8.57.0):
    +  '@eslint-community/eslint-utils@4.4.0':
         resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==}
         engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
         peerDependencies:
           eslint: ^6.0.0 || ^7.0.0 || >=8.0.0
    -    dependencies:
    -      eslint: 8.57.0
    -      eslint-visitor-keys: 3.4.3
    -    dev: true
     
    -  /@eslint-community/regexpp@4.10.0:
    +  '@eslint-community/regexpp@4.10.0':
         resolution: {integrity: sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==}
         engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0}
    -    dev: true
     
    -  /@eslint/eslintrc@2.1.4:
    +  '@eslint/eslintrc@2.1.4':
         resolution: {integrity: sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==}
         engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
    -    dependencies:
    -      ajv: 6.12.6
    -      debug: 4.3.4(supports-color@8.1.1)
    -      espree: 9.6.1
    -      globals: 13.24.0
    -      ignore: 5.3.1
    -      import-fresh: 3.3.0
    -      js-yaml: 4.1.0
    -      minimatch: 3.1.2
    -      strip-json-comments: 3.1.1
    -    transitivePeerDependencies:
    -      - supports-color
    -    dev: true
     
    -  /@eslint/js@8.57.0:
    +  '@eslint/js@8.57.0':
         resolution: {integrity: sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==}
         engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
    -    dev: true
     
    -  /@fastify/ajv-compiler@1.1.0:
    +  '@fastify/ajv-compiler@1.1.0':
         resolution: {integrity: sha512-gvCOUNpXsWrIQ3A4aXCLIdblL0tDq42BG/2Xw7oxbil9h11uow10ztS2GuFazNBfjbrsZ5nl+nPl5jDSjj5TSg==}
    -    dependencies:
    -      ajv: 6.12.6
    -    dev: true
     
    -  /@fastify/error@2.0.0:
    +  '@fastify/error@2.0.0':
         resolution: {integrity: sha512-wI3fpfDT0t7p8E6dA2eTECzzOd+bZsZCJ2Hcv+Onn2b7ZwK3RwD27uW2QDaMtQhAfWQQP+WNK7nKf0twLsBf9w==}
    -    dev: true
     
    -  /@floating-ui/core@1.6.0:
    +  '@floating-ui/core@1.6.0':
         resolution: {integrity: sha512-PcF++MykgmTj3CIyOQbKA/hDzOAiqI3mhuoN44WRCopIs1sgoDoU4oty4Jtqaj/y3oDU6fnVSm4QG0a3t5i0+g==}
    -    dependencies:
    -      '@floating-ui/utils': 0.2.1
    -    dev: false
     
    -  /@floating-ui/dom@1.6.3:
    +  '@floating-ui/dom@1.6.3':
         resolution: {integrity: sha512-RnDthu3mzPlQ31Ss/BTwQ1zjzIhr3lk1gZB1OC56h/1vEtaXkESrOqL5fQVMfXpwGtRwX+YsZBdyHtJMQnkArw==}
    -    dependencies:
    -      '@floating-ui/core': 1.6.0
    -      '@floating-ui/utils': 0.2.1
    -    dev: false
     
    -  /@floating-ui/utils@0.2.1:
    +  '@floating-ui/utils@0.2.1':
         resolution: {integrity: sha512-9TANp6GPoMtYzQdt54kfAyMmz1+osLlXdg2ENroU7zzrtflTLrrC/lgrIfaSe+Wu0b89GKccT7vxXA0MoAIO+Q==}
    -    dev: false
     
    -  /@floating-ui/vue@0.2.1(vue@3.4.21):
    +  '@floating-ui/vue@0.2.1':
         resolution: {integrity: sha512-HE+EIeakID7wI6vUwF0yMpaW48bNaPj8QtnQaRMkaQFhQReVBA4bY6fmJ3J7X+dqVgDbMhyfCG0fBJfdQMdWxQ==}
         peerDependencies:
           '@vue/composition-api': ^1.0.0-rc.1
    @@ -3374,86 +1964,8965 @@ packages:
         peerDependenciesMeta:
           '@vue/composition-api':
             optional: true
    -    dependencies:
    -      '@floating-ui/dom': 1.6.3
    -      vue: 3.4.21(typescript@5.4.5)
    -      vue-demi: 0.13.11(vue@3.4.21)
    -    dev: false
     
    -  /@hapi/hoek@9.3.0:
    +  '@hapi/hoek@9.3.0':
         resolution: {integrity: sha512-/c6rf4UJlmHlC9b5BaNvzAcFv7HZ2QHaV0D4/HNlBdvFnvQq8RI4kYdhyPCl7Xj+oWvTWQ8ujhqS53LIgAe6KQ==}
    -    dev: true
     
    -  /@hapi/topo@5.1.0:
    +  '@hapi/topo@5.1.0':
         resolution: {integrity: sha512-foQZKJig7Ob0BMAYBfcJk8d77QtOe7Wo4ox7ff1lQYoNNAb6jwcY1ncdoy2e9wQZzvNy7ODZCYJkK8kzmcAnAg==}
    -    dependencies:
    -      '@hapi/hoek': 9.3.0
    -    dev: true
     
    -  /@headlessui-float/vue@0.11.4(vue@3.4.21):
    +  '@headlessui-float/vue@0.11.4':
         resolution: {integrity: sha512-hNGQTT3trknSB78ZI3usvnJACLyEUmacvk5Q8JQizJ8k+8GYLvhKklGIhJVO1E3litEzW6yyjPgfg6aEJ+1p6g==}
         peerDependencies:
           vue: ^3.0.0
    -    dependencies:
    -      '@floating-ui/core': 1.6.0
    -      '@floating-ui/dom': 1.6.3
    -      '@floating-ui/vue': 0.2.1(vue@3.4.21)
    -      vue: 3.4.21(typescript@5.4.5)
    -    transitivePeerDependencies:
    -      - '@vue/composition-api'
    -    dev: false
     
    -  /@headlessui/tailwindcss@0.2.0(tailwindcss@3.4.3):
    +  '@headlessui/tailwindcss@0.2.0':
         resolution: {integrity: sha512-fpL830Fln1SykOCboExsWr3JIVeQKieLJ3XytLe/tt1A0XzqUthOftDmjcCYLW62w7mQI7wXcoPXr3tZ9QfGxw==}
         engines: {node: '>=10'}
         peerDependencies:
           tailwindcss: ^3.0
    -    dependencies:
    -      tailwindcss: 3.4.3
    -    dev: false
     
    -  /@headlessui/vue@1.7.19(vue@3.4.21):
    +  '@headlessui/vue@1.7.19':
         resolution: {integrity: sha512-VFjKPybogux/5/QYGSq4zgG/x3RcxId15W8uguAJAjPBxelI23dwjOjTx/mIiMkM/Hd3rzFxcf2aIp56eEWRcA==}
         engines: {node: '>=10'}
         peerDependencies:
           vue: ^3.2.0
    -    dependencies:
    -      '@tanstack/vue-virtual': 3.2.1(vue@3.4.21)
    -      vue: 3.4.21(typescript@5.4.5)
    -    dev: false
     
    -  /@humanwhocodes/config-array@0.11.14:
    +  '@humanwhocodes/config-array@0.11.14':
         resolution: {integrity: sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==}
         engines: {node: '>=10.10.0'}
    -    dependencies:
    -      '@humanwhocodes/object-schema': 2.0.2
    -      debug: 4.3.4(supports-color@8.1.1)
    -      minimatch: 3.1.2
    -    transitivePeerDependencies:
    -      - supports-color
    -    dev: true
     
    -  /@humanwhocodes/module-importer@1.0.1:
    +  '@humanwhocodes/module-importer@1.0.1':
         resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==}
         engines: {node: '>=12.22'}
    -    dev: true
     
    -  /@humanwhocodes/object-schema@2.0.2:
    -    resolution: {integrity: sha512-6EwiSjwWYP7pTckG6I5eyFANjPhmPjUX9JRLUSfNPC7FX7zK9gyZAfUEaECL6ALTpGX5AjnBq3C9XmVWPitNpw==}
    -    dev: true
    +  '@humanwhocodes/object-schema@2.0.2':
    +    resolution: {integrity: sha512-6EwiSjwWYP7pTckG6I5eyFANjPhmPjUX9JRLUSfNPC7FX7zK9gyZAfUEaECL6ALTpGX5AjnBq3C9XmVWPitNpw==}
    +
    +  '@iconify-json/carbon@1.1.32':
    +    resolution: {integrity: sha512-9X8wVI7AmcnjTyOdDoCgyNwcFL9lb++nacDS2yLANTc27F4y9Q8pJIfUVsakR4KcGqSSBCyXwEmBDeopeTZFqA==}
    +
    +  '@iconify/types@2.0.0':
    +    resolution: {integrity: sha512-+wluvCrRhXrhyOmRDJ3q8mux9JkKy5SJ/v8ol2tu4FVjyYvtEzkc/3pK15ET6RKg4b4w4BmTk1+gsCUhf21Ykg==}
    +
    +  '@iconify/utils@2.1.23':
    +    resolution: {integrity: sha512-YGNbHKM5tyDvdWZ92y2mIkrfvm5Fvhe6WJSkWu7vvOFhMtYDP0casZpoRz0XEHZCrYsR4stdGT3cZ52yp5qZdQ==}
    +
    +  '@isaacs/cliui@8.0.2':
    +    resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==}
    +    engines: {node: '>=12'}
    +
    +  '@istanbuljs/load-nyc-config@1.1.0':
    +    resolution: {integrity: sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==}
    +    engines: {node: '>=8'}
    +
    +  '@istanbuljs/schema@0.1.3':
    +    resolution: {integrity: sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==}
    +    engines: {node: '>=8'}
    +
    +  '@jest/console@29.7.0':
    +    resolution: {integrity: sha512-5Ni4CU7XHQi32IJ398EEP4RrB8eV09sXP2ROqD4bksHrnTree52PsxvX8tpL8LvTZ3pFzXyPbNQReSN41CAhOg==}
    +    engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
    +
    +  '@jest/core@29.7.0':
    +    resolution: {integrity: sha512-n7aeXWKMnGtDA48y8TLWJPJmLmmZ642Ceo78cYWEpiD7FzDgmNDV/GCVRorPABdXLJZ/9wzzgZAlHjXjxDHGsg==}
    +    engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
    +    peerDependencies:
    +      node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0
    +    peerDependenciesMeta:
    +      node-notifier:
    +        optional: true
    +
    +  '@jest/environment@29.7.0':
    +    resolution: {integrity: sha512-aQIfHDq33ExsN4jP1NWGXhxgQ/wixs60gDiKO+XVMd8Mn0NWPWgc34ZQDTb2jKaUWQ7MuwoitXAsN2XVXNMpAw==}
    +    engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
    +
    +  '@jest/expect-utils@29.7.0':
    +    resolution: {integrity: sha512-GlsNBWiFQFCVi9QVSx7f5AgMeLxe9YCCs5PuP2O2LdjDAA8Jh9eX7lA1Jq/xdXw3Wb3hyvlFNfZIfcRetSzYcA==}
    +    engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
    +
    +  '@jest/expect@29.7.0':
    +    resolution: {integrity: sha512-8uMeAMycttpva3P1lBHB8VciS9V0XAr3GymPpipdyQXbBcuhkLQOSe8E/p92RyAdToS6ZD1tFkX+CkhoECE0dQ==}
    +    engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
    +
    +  '@jest/fake-timers@29.7.0':
    +    resolution: {integrity: sha512-q4DH1Ha4TTFPdxLsqDXK1d3+ioSL7yL5oCMJZgDYm6i+6CygW5E5xVr/D1HdsGxjt1ZWSfUAs9OxSB/BNelWrQ==}
    +    engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
    +
    +  '@jest/globals@29.7.0':
    +    resolution: {integrity: sha512-mpiz3dutLbkW2MNFubUGUEVLkTGiqW6yLVTA+JbP6fI6J5iL9Y0Nlg8k95pcF8ctKwCS7WVxteBs29hhfAotzQ==}
    +    engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
    +
    +  '@jest/reporters@29.7.0':
    +    resolution: {integrity: sha512-DApq0KJbJOEzAFYjHADNNxAE3KbhxQB1y5Kplb5Waqw6zVbuWatSnMjE5gs8FUgEPmNsnZA3NCWl9NG0ia04Pg==}
    +    engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
    +    peerDependencies:
    +      node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0
    +    peerDependenciesMeta:
    +      node-notifier:
    +        optional: true
    +
    +  '@jest/schemas@29.6.3':
    +    resolution: {integrity: sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==}
    +    engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
    +
    +  '@jest/source-map@29.6.3':
    +    resolution: {integrity: sha512-MHjT95QuipcPrpLM+8JMSzFx6eHp5Bm+4XeFDJlwsvVBjmKNiIAvasGK2fxz2WbGRlnvqehFbh07MMa7n3YJnw==}
    +    engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
    +
    +  '@jest/test-result@29.7.0':
    +    resolution: {integrity: sha512-Fdx+tv6x1zlkJPcWXmMDAG2HBnaR9XPSd5aDWQVsfrZmLVT3lU1cwyxLgRmXR9yrq4NBoEm9BMsfgFzTQAbJYA==}
    +    engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
    +
    +  '@jest/test-sequencer@29.7.0':
    +    resolution: {integrity: sha512-GQwJ5WZVrKnOJuiYiAF52UNUJXgTZx1NHjFSEB0qEMmSZKAkdMoIzw/Cj6x6NF4AvV23AUqDpFzQkN/eYCYTxw==}
    +    engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
    +
    +  '@jest/transform@29.7.0':
    +    resolution: {integrity: sha512-ok/BTPFzFKVMwO5eOHRrvnBVHdRy9IrsrW1GpMaQ9MCnilNLXQKmAX8s1YXDFaai9xJpac2ySzV0YeRRECr2Vw==}
    +    engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
    +
    +  '@jest/types@29.6.3':
    +    resolution: {integrity: sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==}
    +    engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
    +
    +  '@jridgewell/gen-mapping@0.3.5':
    +    resolution: {integrity: sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==}
    +    engines: {node: '>=6.0.0'}
    +
    +  '@jridgewell/resolve-uri@3.1.2':
    +    resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==}
    +    engines: {node: '>=6.0.0'}
    +
    +  '@jridgewell/set-array@1.2.1':
    +    resolution: {integrity: sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==}
    +    engines: {node: '>=6.0.0'}
    +
    +  '@jridgewell/source-map@0.3.6':
    +    resolution: {integrity: sha512-1ZJTZebgqllO79ue2bm3rIGud/bOe0pP5BjSRCRxxYkEZS8STV7zN84UBbiYu7jy+eCKSnVIUgoWWE/tt+shMQ==}
    +
    +  '@jridgewell/sourcemap-codec@1.4.15':
    +    resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==}
    +
    +  '@jridgewell/trace-mapping@0.3.25':
    +    resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==}
    +
    +  '@jsdevtools/ono@7.1.3':
    +    resolution: {integrity: sha512-4JQNk+3mVzK3xh2rqd6RB4J46qUR19azEHBneZyTZM+c456qOrbbM/5xcR8huNCCcbVt7+UmizG6GuUvPvKUYg==}
    +
    +  '@leichtgewicht/ip-codec@2.0.4':
    +    resolution: {integrity: sha512-Hcv+nVC0kZnQ3tD9GVu5xSMR4VVYOteQIr/hwFPVEvPdlXqgGEuRjiheChHgdM+JyqdgNcmzZOX/tnl0JOiI7A==}
    +
    +  '@mdi/font@7.4.47':
    +    resolution: {integrity: sha512-43MtGpd585SNzHZPcYowu/84Vz2a2g31TvPMTm9uTiCSWzaheQySUcSyUH/46fPnuPQWof2yd0pGBtzee/IQWw==}
    +
    +  '@microsoft/tsdoc-config@0.16.2':
    +    resolution: {integrity: sha512-OGiIzzoBLgWWR0UdRJX98oYO+XKGf7tiK4Zk6tQ/E4IJqGCe7dvkTvgDZV5cFJUzLGDOjeAXrnZoA6QkVySuxw==}
    +
    +  '@microsoft/tsdoc@0.14.2':
    +    resolution: {integrity: sha512-9b8mPpKrfeGRuhFH5iO1iwCLeIIsV6+H1sRfxbkoGXIyQE2BTsPd9zqSqQJ+pv5sJ/hT5M1zvOFL02MnEezFug==}
    +
    +  '@nodelib/fs.scandir@2.1.5':
    +    resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==}
    +    engines: {node: '>= 8'}
    +
    +  '@nodelib/fs.stat@2.0.5':
    +    resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==}
    +    engines: {node: '>= 8'}
    +
    +  '@nodelib/fs.walk@1.2.8':
    +    resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==}
    +    engines: {node: '>= 8'}
    +
    +  '@pkgjs/parseargs@0.11.0':
    +    resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==}
    +    engines: {node: '>=14'}
    +
    +  '@pkgr/core@0.1.1':
    +    resolution: {integrity: sha512-cq8o4cWH0ibXh9VGi5P20Tu9XF/0fFXl9EUinr9QfTM7a7p0oTA4iJRCQWppXR1Pg8dSM0UCItCkPwsk9qWWYA==}
    +    engines: {node: ^12.20.0 || ^14.18.0 || >=16.0.0}
    +
    +  '@polka/url@1.0.0-next.25':
    +    resolution: {integrity: sha512-j7P6Rgr3mmtdkeDGTe0E/aYyWEWVtc5yFXtHCRHs28/jptDEWfaVOc5T7cblqy1XKPPfCxJc/8DwQ5YgLOZOVQ==}
    +
    +  '@rollup/plugin-babel@5.3.1':
    +    resolution: {integrity: sha512-WFfdLWU/xVWKeRQnKmIAQULUI7Il0gZnBIH/ZFO069wYIfPu+8zrfp/KMW0atmELoRDq8FbiP3VCss9MhCut7Q==}
    +    engines: {node: '>= 10.0.0'}
    +    peerDependencies:
    +      '@babel/core': ^7.0.0
    +      '@types/babel__core': ^7.1.9
    +      rollup: ^1.20.0||^2.0.0
    +    peerDependenciesMeta:
    +      '@types/babel__core':
    +        optional: true
    +
    +  '@rollup/plugin-node-resolve@15.2.3':
    +    resolution: {integrity: sha512-j/lym8nf5E21LwBT4Df1VD6hRO2L2iwUeUmP7litikRsVp1H6NWx20NEp0Y7su+7XGc476GnXXc4kFeZNGmaSQ==}
    +    engines: {node: '>=14.0.0'}
    +    peerDependencies:
    +      rollup: ^2.78.0||^3.0.0||^4.0.0
    +    peerDependenciesMeta:
    +      rollup:
    +        optional: true
    +
    +  '@rollup/plugin-replace@2.4.2':
    +    resolution: {integrity: sha512-IGcu+cydlUMZ5En85jxHH4qj2hta/11BHq95iHEyb2sbgiN0eCdzvUcHw5gt9pBL5lTi4JDYJ1acCoMGpTvEZg==}
    +    peerDependencies:
    +      rollup: ^1.20.0 || ^2.0.0
    +
    +  '@rollup/plugin-terser@0.4.4':
    +    resolution: {integrity: sha512-XHeJC5Bgvs8LfukDwWZp7yeqin6ns8RTl2B9avbejt6tZqsqvVoWI7ZTQrcNsfKEDWBTnTxM8nMDkO2IFFbd0A==}
    +    engines: {node: '>=14.0.0'}
    +    peerDependencies:
    +      rollup: ^2.0.0||^3.0.0||^4.0.0
    +    peerDependenciesMeta:
    +      rollup:
    +        optional: true
    +
    +  '@rollup/plugin-typescript@11.1.6':
    +    resolution: {integrity: sha512-R92yOmIACgYdJ7dJ97p4K69I8gg6IEHt8M7dUBxN3W6nrO8uUxX5ixl0yU/N3aZTi8WhPuICvOHXQvF6FaykAA==}
    +    engines: {node: '>=14.0.0'}
    +    peerDependencies:
    +      rollup: ^2.14.0||^3.0.0||^4.0.0
    +      tslib: '*'
    +      typescript: '>=3.7.0'
    +    peerDependenciesMeta:
    +      rollup:
    +        optional: true
    +      tslib:
    +        optional: true
    +
    +  '@rollup/pluginutils@3.1.0':
    +    resolution: {integrity: sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg==}
    +    engines: {node: '>= 8.0.0'}
    +    peerDependencies:
    +      rollup: ^1.20.0||^2.0.0
    +
    +  '@rollup/pluginutils@5.1.0':
    +    resolution: {integrity: sha512-XTIWOPPcpvyKI6L1NHo0lFlCyznUEyPmPY1mc3KpPVDYulHSTvyeLNVW00QTLIAFNhR3kYnJTQHeGqU4M3n09g==}
    +    engines: {node: '>=14.0.0'}
    +    peerDependencies:
    +      rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0
    +    peerDependenciesMeta:
    +      rollup:
    +        optional: true
    +
    +  '@rollup/rollup-android-arm-eabi@4.17.2':
    +    resolution: {integrity: sha512-NM0jFxY8bB8QLkoKxIQeObCaDlJKewVlIEkuyYKm5An1tdVZ966w2+MPQ2l8LBZLjR+SgyV+nRkTIunzOYBMLQ==}
    +    cpu: [arm]
    +    os: [android]
    +
    +  '@rollup/rollup-android-arm64@4.17.2':
    +    resolution: {integrity: sha512-yeX/Usk7daNIVwkq2uGoq2BYJKZY1JfyLTaHO/jaiSwi/lsf8fTFoQW/n6IdAsx5tx+iotu2zCJwz8MxI6D/Bw==}
    +    cpu: [arm64]
    +    os: [android]
    +
    +  '@rollup/rollup-darwin-arm64@4.17.2':
    +    resolution: {integrity: sha512-kcMLpE6uCwls023+kknm71ug7MZOrtXo+y5p/tsg6jltpDtgQY1Eq5sGfHcQfb+lfuKwhBmEURDga9N0ol4YPw==}
    +    cpu: [arm64]
    +    os: [darwin]
    +
    +  '@rollup/rollup-darwin-x64@4.17.2':
    +    resolution: {integrity: sha512-AtKwD0VEx0zWkL0ZjixEkp5tbNLzX+FCqGG1SvOu993HnSz4qDI6S4kGzubrEJAljpVkhRSlg5bzpV//E6ysTQ==}
    +    cpu: [x64]
    +    os: [darwin]
    +
    +  '@rollup/rollup-linux-arm-gnueabihf@4.17.2':
    +    resolution: {integrity: sha512-3reX2fUHqN7sffBNqmEyMQVj/CKhIHZd4y631duy0hZqI8Qoqf6lTtmAKvJFYa6bhU95B1D0WgzHkmTg33In0A==}
    +    cpu: [arm]
    +    os: [linux]
    +
    +  '@rollup/rollup-linux-arm-musleabihf@4.17.2':
    +    resolution: {integrity: sha512-uSqpsp91mheRgw96xtyAGP9FW5ChctTFEoXP0r5FAzj/3ZRv3Uxjtc7taRQSaQM/q85KEKjKsZuiZM3GyUivRg==}
    +    cpu: [arm]
    +    os: [linux]
    +
    +  '@rollup/rollup-linux-arm64-gnu@4.17.2':
    +    resolution: {integrity: sha512-EMMPHkiCRtE8Wdk3Qhtciq6BndLtstqZIroHiiGzB3C5LDJmIZcSzVtLRbwuXuUft1Cnv+9fxuDtDxz3k3EW2A==}
    +    cpu: [arm64]
    +    os: [linux]
    +
    +  '@rollup/rollup-linux-arm64-musl@4.17.2':
    +    resolution: {integrity: sha512-NMPylUUZ1i0z/xJUIx6VUhISZDRT+uTWpBcjdv0/zkp7b/bQDF+NfnfdzuTiB1G6HTodgoFa93hp0O1xl+/UbA==}
    +    cpu: [arm64]
    +    os: [linux]
    +
    +  '@rollup/rollup-linux-powerpc64le-gnu@4.17.2':
    +    resolution: {integrity: sha512-T19My13y8uYXPw/L/k0JYaX1fJKFT/PWdXiHr8mTbXWxjVF1t+8Xl31DgBBvEKclw+1b00Chg0hxE2O7bTG7GQ==}
    +    cpu: [ppc64]
    +    os: [linux]
    +
    +  '@rollup/rollup-linux-riscv64-gnu@4.17.2':
    +    resolution: {integrity: sha512-BOaNfthf3X3fOWAB+IJ9kxTgPmMqPPH5f5k2DcCsRrBIbWnaJCgX2ll77dV1TdSy9SaXTR5iDXRL8n7AnoP5cg==}
    +    cpu: [riscv64]
    +    os: [linux]
    +
    +  '@rollup/rollup-linux-s390x-gnu@4.17.2':
    +    resolution: {integrity: sha512-W0UP/x7bnn3xN2eYMql2T/+wpASLE5SjObXILTMPUBDB/Fg/FxC+gX4nvCfPBCbNhz51C+HcqQp2qQ4u25ok6g==}
    +    cpu: [s390x]
    +    os: [linux]
    +
    +  '@rollup/rollup-linux-x64-gnu@4.17.2':
    +    resolution: {integrity: sha512-Hy7pLwByUOuyaFC6mAr7m+oMC+V7qyifzs/nW2OJfC8H4hbCzOX07Ov0VFk/zP3kBsELWNFi7rJtgbKYsav9QQ==}
    +    cpu: [x64]
    +    os: [linux]
    +
    +  '@rollup/rollup-linux-x64-musl@4.17.2':
    +    resolution: {integrity: sha512-h1+yTWeYbRdAyJ/jMiVw0l6fOOm/0D1vNLui9iPuqgRGnXA0u21gAqOyB5iHjlM9MMfNOm9RHCQ7zLIzT0x11Q==}
    +    cpu: [x64]
    +    os: [linux]
    +
    +  '@rollup/rollup-win32-arm64-msvc@4.17.2':
    +    resolution: {integrity: sha512-tmdtXMfKAjy5+IQsVtDiCfqbynAQE/TQRpWdVataHmhMb9DCoJxp9vLcCBjEQWMiUYxO1QprH/HbY9ragCEFLA==}
    +    cpu: [arm64]
    +    os: [win32]
    +
    +  '@rollup/rollup-win32-ia32-msvc@4.17.2':
    +    resolution: {integrity: sha512-7II/QCSTAHuE5vdZaQEwJq2ZACkBpQDOmQsE6D6XUbnBHW8IAhm4eTufL6msLJorzrHDFv3CF8oCA/hSIRuZeQ==}
    +    cpu: [ia32]
    +    os: [win32]
    +
    +  '@rollup/rollup-win32-x64-msvc@4.17.2':
    +    resolution: {integrity: sha512-TGGO7v7qOq4CYmSBVEYpI1Y5xDuCEnbVC5Vth8mOsW0gDSzxNrVERPc790IGHsrT2dQSimgMr9Ub3Y1Jci5/8w==}
    +    cpu: [x64]
    +    os: [win32]
    +
    +  '@shikijs/core@1.4.0':
    +    resolution: {integrity: sha512-CxpKLntAi64h3j+TwWqVIQObPTED0FyXLHTTh3MKXtqiQNn2JGcMQQ362LftDbc9kYbDtrksNMNoVmVXzKFYUQ==}
    +
    +  '@shikijs/transformers@1.4.0':
    +    resolution: {integrity: sha512-kzvlWmWYYSeaLKRce/kgmFFORUtBtFahfXRKndor0b60ocYiXufBQM6d6w1PlMuUkdk55aor9xLvy9wy7hTEJg==}
    +
    +  '@sideway/address@4.1.5':
    +    resolution: {integrity: sha512-IqO/DUQHUkPeixNQ8n0JA6102hT9CmaljNTPmQ1u8MEhBo/R4Q8eKLN/vGZxuebwOroDB4cbpjheD4+/sKFK4Q==}
    +
    +  '@sideway/formula@3.0.1':
    +    resolution: {integrity: sha512-/poHZJJVjx3L+zVD6g9KgHfYnb443oi7wLu/XKojDviHy6HOEOA6z1Trk5aR1dGcmPenJEgb2sK2I80LeS3MIg==}
    +
    +  '@sideway/pinpoint@2.0.0':
    +    resolution: {integrity: sha512-RNiOoTPkptFtSVzQevY/yWtZwf/RxyVnPy/OcA9HBM3MlGDnBEYL5B41H0MTn0Uec8Hi+2qUtTfG2WWZBmMejQ==}
    +
    +  '@sinclair/typebox@0.27.8':
    +    resolution: {integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==}
    +
    +  '@sindresorhus/is@4.6.0':
    +    resolution: {integrity: sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw==}
    +    engines: {node: '>=10'}
    +
    +  '@sindresorhus/merge-streams@2.3.0':
    +    resolution: {integrity: sha512-LtoMMhxAlorcGhmFYI+LhPgbPZCkgP6ra1YL604EeF6U98pLlQ3iWIGMdWSC+vWmPBWBNgmDBAhnAobLROJmwg==}
    +    engines: {node: '>=18'}
    +
    +  '@sinonjs/commons@3.0.1':
    +    resolution: {integrity: sha512-K3mCHKQ9sVh8o1C9cxkwxaOmXoAMlDxC1mYyHrjqOWEcBjYr76t96zL2zlj5dUGZ3HSw240X1qgH3Mjf1yJWpQ==}
    +
    +  '@sinonjs/fake-timers@10.3.0':
    +    resolution: {integrity: sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA==}
    +
    +  '@surma/rollup-plugin-off-main-thread@2.2.3':
    +    resolution: {integrity: sha512-lR8q/9W7hZpMWweNiAKU7NQerBnzQQLvi8qnTDU/fxItPhtZVMbPV3lbCwjhIlNBe9Bbr5V+KHshvWmVSG9cxQ==}
    +
    +  '@szmarczak/http-timer@4.0.6':
    +    resolution: {integrity: sha512-4BAffykYOgO+5nzBWYwE3W90sBgLJoUPRWWcL8wlyiM8IB8ipJz3UMJ9KXQd1RKQXpKp8Tutn80HZtWsu2u76w==}
    +    engines: {node: '>=10'}
    +
    +  '@tanstack/virtual-core@3.2.1':
    +    resolution: {integrity: sha512-nO0d4vRzsmpBQCJYyClNHPPoUMI4nXNfrm6IcCRL33ncWMoNVpURh9YebEHPw8KrtsP2VSJIHE4gf4XFGk1OGg==}
    +
    +  '@tanstack/vue-virtual@3.2.1':
    +    resolution: {integrity: sha512-NWJL8zJ4kwCkUzWd2jLKN9NTxj9RjYyaJwtA16j9urfbnMIdKe2g2HNymq0jGj+fmX/9nd58d6h78LrZ7I/J+A==}
    +    peerDependencies:
    +      vue: ^2.7.0 || ^3.0.0
    +
    +  '@tootallnate/once@2.0.0':
    +    resolution: {integrity: sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==}
    +    engines: {node: '>= 10'}
    +
    +  '@types/assert@1.5.10':
    +    resolution: {integrity: sha512-qEO+AUgYab7GVbeDDgUNCU3o0aZUoIMpNAe+w5LDbRxfxQX7vQAdDgwj1AroX+i8KaV56FWg0srXlSZROnsrIQ==}
    +
    +  '@types/babel__core@7.20.5':
    +    resolution: {integrity: sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==}
    +
    +  '@types/babel__generator@7.6.8':
    +    resolution: {integrity: sha512-ASsj+tpEDsEiFr1arWrlN6V3mdfjRMZt6LtK/Vp/kreFLnr5QH5+DhvD5nINYZXzwJvXeGq+05iUXcAzVrqWtw==}
    +
    +  '@types/babel__template@7.4.4':
    +    resolution: {integrity: sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==}
    +
    +  '@types/babel__traverse@7.20.5':
    +    resolution: {integrity: sha512-WXCyOcRtH37HAUkpXhUduaxdm82b4GSlyTqajXviN4EfiuPgNYR109xMCKvpl6zPIpua0DGlMEDCq+g8EdoheQ==}
    +
    +  '@types/body-parser@1.19.5':
    +    resolution: {integrity: sha512-fB3Zu92ucau0iQ0JMCFQE7b/dv8Ot07NI3KaZIkIUNXq82k4eBAqUaneXfleGY9JWskeS9y+u0nXMyspcuQrCg==}
    +
    +  '@types/bonjour@3.5.10':
    +    resolution: {integrity: sha512-p7ienRMiS41Nu2/igbJxxLDWrSZ0WxM8UQgCeO9KhoVF7cOVFkrKsiDr1EsJIla8vV3oEEjGcz11jc5yimhzZw==}
    +
    +  '@types/braces@3.0.4':
    +    resolution: {integrity: sha512-0WR3b8eaISjEW7RpZnclONaLFDf7buaowRHdqLp4vLj54AsSAYWfh3DRbfiYJY9XDxMgx1B4sE1Afw2PGpuHOA==}
    +
    +  '@types/cacheable-request@6.0.3':
    +    resolution: {integrity: sha512-IQ3EbTzGxIigb1I3qPZc1rWJnH0BmSKv5QYTalEwweFvyBDLSAe24zP0le/hyi7ecGfZVlIVAg4BZqb8WBwKqw==}
    +
    +  '@types/connect-history-api-fallback@1.5.0':
    +    resolution: {integrity: sha512-4x5FkPpLipqwthjPsF7ZRbOv3uoLUFkTA9G9v583qi4pACvq0uTELrB8OLUzPWUI4IJIyvM85vzkV1nyiI2Lig==}
    +
    +  '@types/connect@3.4.38':
    +    resolution: {integrity: sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==}
    +
    +  '@types/cors@2.8.17':
    +    resolution: {integrity: sha512-8CGDvrBj1zgo2qE+oS3pOCyYNqCPryMWY2bGfwA0dcfopWGgxs+78df0Rs3rc9THP4JkOhLsAa+15VdpAqkcUA==}
    +
    +  '@types/cytoscape@3.21.0':
    +    resolution: {integrity: sha512-RN5SPiyVDpUP+LoOlxxlOYAMzkE7iuv3gA1jt3Hx2qTwArpZVPPdO+SI0hUj49OAn4QABR7JK9Gi0hibzGE0Aw==}
    +
    +  '@types/d3-array@3.2.1':
    +    resolution: {integrity: sha512-Y2Jn2idRrLzUfAKV2LyRImR+y4oa2AntrgID95SHJxuMUrkNXmanDSed71sRNZysveJVt1hLLemQZIady0FpEg==}
    +
    +  '@types/d3-axis@3.0.6':
    +    resolution: {integrity: sha512-pYeijfZuBd87T0hGn0FO1vQ/cgLk6E1ALJjfkC0oJ8cbwkZl3TpgS8bVBLZN+2jjGgg38epgxb2zmoGtSfvgMw==}
    +
    +  '@types/d3-brush@3.0.6':
    +    resolution: {integrity: sha512-nH60IZNNxEcrh6L1ZSMNA28rj27ut/2ZmI3r96Zd+1jrZD++zD3LsMIjWlvg4AYrHn/Pqz4CF3veCxGjtbqt7A==}
    +
    +  '@types/d3-chord@3.0.6':
    +    resolution: {integrity: sha512-LFYWWd8nwfwEmTZG9PfQxd17HbNPksHBiJHaKuY1XeqscXacsS2tyoo6OdRsjf+NQYeB6XrNL3a25E3gH69lcg==}
    +
    +  '@types/d3-color@3.1.3':
    +    resolution: {integrity: sha512-iO90scth9WAbmgv7ogoq57O9YpKmFBbmoEoCHDB2xMBY0+/KVrqAaCDyCE16dUspeOvIxFFRI+0sEtqDqy2b4A==}
    +
    +  '@types/d3-contour@3.0.6':
    +    resolution: {integrity: sha512-BjzLgXGnCWjUSYGfH1cpdo41/hgdWETu4YxpezoztawmqsvCeep+8QGfiY6YbDvfgHz/DkjeIkkZVJavB4a3rg==}
    +
    +  '@types/d3-delaunay@6.0.4':
    +    resolution: {integrity: sha512-ZMaSKu4THYCU6sV64Lhg6qjf1orxBthaC161plr5KuPHo3CNm8DTHiLw/5Eq2b6TsNP0W0iJrUOFscY6Q450Hw==}
    +
    +  '@types/d3-dispatch@3.0.6':
    +    resolution: {integrity: sha512-4fvZhzMeeuBJYZXRXrRIQnvUYfyXwYmLsdiN7XXmVNQKKw1cM8a5WdID0g1hVFZDqT9ZqZEY5pD44p24VS7iZQ==}
    +
    +  '@types/d3-drag@3.0.7':
    +    resolution: {integrity: sha512-HE3jVKlzU9AaMazNufooRJ5ZpWmLIoc90A37WU2JMmeq28w1FQqCZswHZ3xR+SuxYftzHq6WU6KJHvqxKzTxxQ==}
    +
    +  '@types/d3-dsv@3.0.7':
    +    resolution: {integrity: sha512-n6QBF9/+XASqcKK6waudgL0pf/S5XHPPI8APyMLLUHd8NqouBGLsU8MgtO7NINGtPBtk9Kko/W4ea0oAspwh9g==}
    +
    +  '@types/d3-ease@3.0.2':
    +    resolution: {integrity: sha512-NcV1JjO5oDzoK26oMzbILE6HW7uVXOHLQvHshBUW4UMdZGfiY6v5BeQwh9a9tCzv+CeefZQHJt5SRgK154RtiA==}
    +
    +  '@types/d3-fetch@3.0.7':
    +    resolution: {integrity: sha512-fTAfNmxSb9SOWNB9IoG5c8Hg6R+AzUHDRlsXsDZsNp6sxAEOP0tkP3gKkNSO/qmHPoBFTxNrjDprVHDQDvo5aA==}
    +
    +  '@types/d3-force@3.0.9':
    +    resolution: {integrity: sha512-IKtvyFdb4Q0LWna6ymywQsEYjK/94SGhPrMfEr1TIc5OBeziTi+1jcCvttts8e0UWZIxpasjnQk9MNk/3iS+kA==}
    +
    +  '@types/d3-format@3.0.4':
    +    resolution: {integrity: sha512-fALi2aI6shfg7vM5KiR1wNJnZ7r6UuggVqtDA+xiEdPZQwy/trcQaHnwShLuLdta2rTymCNpxYTiMZX/e09F4g==}
    +
    +  '@types/d3-geo@3.1.0':
    +    resolution: {integrity: sha512-856sckF0oP/diXtS4jNsiQw/UuK5fQG8l/a9VVLeSouf1/PPbBE1i1W852zVwKwYCBkFJJB7nCFTbk6UMEXBOQ==}
    +
    +  '@types/d3-hierarchy@3.1.6':
    +    resolution: {integrity: sha512-qlmD/8aMk5xGorUvTUWHCiumvgaUXYldYjNVOWtYoTYY/L+WwIEAmJxUmTgr9LoGNG0PPAOmqMDJVDPc7DOpPw==}
    +
    +  '@types/d3-interpolate@3.0.4':
    +    resolution: {integrity: sha512-mgLPETlrpVV1YRJIglr4Ez47g7Yxjl1lj7YKsiMCb27VJH9W8NVM6Bb9d8kkpG/uAQS5AmbA48q2IAolKKo1MA==}
    +
    +  '@types/d3-path@1.0.11':
    +    resolution: {integrity: sha512-4pQMp8ldf7UaB/gR8Fvvy69psNHkTpD/pVw3vmEi8iZAB9EPMBruB1JvHO4BIq9QkUUd2lV1F5YXpMNj7JPBpw==}
    +
    +  '@types/d3-path@3.1.0':
    +    resolution: {integrity: sha512-P2dlU/q51fkOc/Gfl3Ul9kicV7l+ra934qBFXCFhrZMOL6du1TM0pm1ThYvENukyOn5h9v+yMJ9Fn5JK4QozrQ==}
    +
    +  '@types/d3-polygon@3.0.2':
    +    resolution: {integrity: sha512-ZuWOtMaHCkN9xoeEMr1ubW2nGWsp4nIql+OPQRstu4ypeZ+zk3YKqQT0CXVe/PYqrKpZAi+J9mTs05TKwjXSRA==}
    +
    +  '@types/d3-quadtree@3.0.6':
    +    resolution: {integrity: sha512-oUzyO1/Zm6rsxKRHA1vH0NEDG58HrT5icx/azi9MF1TWdtttWl0UIUsjEQBBh+SIkrpd21ZjEv7ptxWys1ncsg==}
    +
    +  '@types/d3-random@3.0.3':
    +    resolution: {integrity: sha512-Imagg1vJ3y76Y2ea0871wpabqp613+8/r0mCLEBfdtqC7xMSfj9idOnmBYyMoULfHePJyxMAw3nWhJxzc+LFwQ==}
    +
    +  '@types/d3-sankey@0.12.4':
    +    resolution: {integrity: sha512-YTicQNwioitIlvuvlfW2GfO6sKxpohzg2cSQttlXAPjFwoBuN+XpGLhUN3kLutG/dI3GCLC+DUorqiJt7Naetw==}
    +
    +  '@types/d3-scale-chromatic@3.0.3':
    +    resolution: {integrity: sha512-laXM4+1o5ImZv3RpFAsTRn3TEkzqkytiOY0Dz0sq5cnd1dtNlk6sHLon4OvqaiJb28T0S/TdsBI3Sjsy+keJrw==}
    +
    +  '@types/d3-scale@4.0.8':
    +    resolution: {integrity: sha512-gkK1VVTr5iNiYJ7vWDI+yUFFlszhNMtVeneJ6lUTKPjprsvLLI9/tgEGiXJOnlINJA8FyA88gfnQsHbybVZrYQ==}
    +
    +  '@types/d3-selection@3.0.10':
    +    resolution: {integrity: sha512-cuHoUgS/V3hLdjJOLTT691+G2QoqAjCVLmr4kJXR4ha56w1Zdu8UUQ5TxLRqudgNjwXeQxKMq4j+lyf9sWuslg==}
    +
    +  '@types/d3-shape@1.3.12':
    +    resolution: {integrity: sha512-8oMzcd4+poSLGgV0R1Q1rOlx/xdmozS4Xab7np0eamFFUYq71AU9pOCJEFnkXW2aI/oXdVYJzw6pssbSut7Z9Q==}
    +
    +  '@types/d3-shape@3.1.6':
    +    resolution: {integrity: sha512-5KKk5aKGu2I+O6SONMYSNflgiP0WfZIQvVUMan50wHsLG1G94JlxEVnCpQARfTtzytuY0p/9PXXZb3I7giofIA==}
    +
    +  '@types/d3-time-format@4.0.3':
    +    resolution: {integrity: sha512-5xg9rC+wWL8kdDj153qZcsJ0FWiFt0J5RB6LYUNZjwSnesfblqrI/bJ1wBdJ8OQfncgbJG5+2F+qfqnqyzYxyg==}
    +
    +  '@types/d3-time@3.0.3':
    +    resolution: {integrity: sha512-2p6olUZ4w3s+07q3Tm2dbiMZy5pCDfYwtLXXHUnVzXgQlZ/OyPtUz6OL382BkOuGlLXqfT+wqv8Fw2v8/0geBw==}
    +
    +  '@types/d3-timer@3.0.2':
    +    resolution: {integrity: sha512-Ps3T8E8dZDam6fUyNiMkekK3XUsaUEik+idO9/YjPtfj2qruF8tFBXS7XhtE4iIXBLxhmLjP3SXpLhVf21I9Lw==}
    +
    +  '@types/d3-transition@3.0.8':
    +    resolution: {integrity: sha512-ew63aJfQ/ms7QQ4X7pk5NxQ9fZH/z+i24ZfJ6tJSfqxJMrYLiK01EAs2/Rtw/JreGUsS3pLPNV644qXFGnoZNQ==}
    +
    +  '@types/d3-zoom@3.0.8':
    +    resolution: {integrity: sha512-iqMC4/YlFCSlO8+2Ii1GGGliCAY4XdeG748w5vQUbevlbDu0zSjH/+jojorQVBK/se0j6DUFNPBGSqD3YWYnDw==}
    +
    +  '@types/d3@7.4.3':
    +    resolution: {integrity: sha512-lZXZ9ckh5R8uiFVt8ogUNf+pIrK4EsWrx2Np75WvF/eTpJ0FMHNhjXk8CKEx/+gpHbNQyJWehbFaTvqmHWB3ww==}
    +
    +  '@types/debug@4.1.12':
    +    resolution: {integrity: sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==}
    +
    +  '@types/dompurify@3.0.5':
    +    resolution: {integrity: sha512-1Wg0g3BtQF7sSb27fJQAKck1HECM6zV1EB66j8JH9i3LCjYabJa0FSdiSgsD5K/RbrsR0SiraKacLB+T8ZVYAg==}
    +
    +  '@types/eslint-scope@3.7.7':
    +    resolution: {integrity: sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg==}
    +
    +  '@types/eslint@8.56.10':
    +    resolution: {integrity: sha512-Shavhk87gCtY2fhXDctcfS3e6FdxWkCx1iUZ9eEUbh7rTqlZT0/IzOkCOVt0fCjcFuZ9FPYfuezTBImfHCDBGQ==}
    +
    +  '@types/estree@0.0.39':
    +    resolution: {integrity: sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==}
    +
    +  '@types/estree@1.0.5':
    +    resolution: {integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==}
    +
    +  '@types/express-serve-static-core@4.17.43':
    +    resolution: {integrity: sha512-oaYtiBirUOPQGSWNGPWnzyAFJ0BP3cwvN4oWZQY+zUBwpVIGsKUkpBpSztp74drYcjavs7SKFZ4DX1V2QeN8rg==}
    +
    +  '@types/express@4.17.21':
    +    resolution: {integrity: sha512-ejlPM315qwLpaQlQDTjPdsUFSc6ZsP4AN6AlWnogPjQ7CVi7PYF3YVz+CY3jE2pwYf7E/7HlDAN0rV2GxTG0HQ==}
    +
    +  '@types/flexsearch@0.7.3':
    +    resolution: {integrity: sha512-HXwADeHEP4exXkCIwy2n1+i0f1ilP1ETQOH5KDOugjkTFZPntWo0Gr8stZOaebkxsdx+k0X/K6obU/+it07ocg==}
    +
    +  '@types/geojson@7946.0.14':
    +    resolution: {integrity: sha512-WCfD5Ht3ZesJUsONdhvm84dmzWOiOzOAqOncN0++w0lBw1o8OuDNJF2McvvCef/yBqb/HYRahp1BYtODFQ8bRg==}
    +
    +  '@types/glob@7.2.0':
    +    resolution: {integrity: sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA==}
    +
    +  '@types/glob@8.1.0':
    +    resolution: {integrity: sha512-IO+MJPVhoqz+28h1qLAcBEH2+xHMK6MTyHJc7MTnnYb6wsoLR29POVGJ7LycmVXIqyy/4/2ShP5sUwTXuOwb/w==}
    +
    +  '@types/graceful-fs@4.1.9':
    +    resolution: {integrity: sha512-olP3sd1qOEe5dXTSaFvQG+02VdRXcdytWLAZsAq1PecU8uqQAhkrnbli7DagjtXKW/Bl7YJbUsa8MPcuc8LHEQ==}
    +
    +  '@types/http-cache-semantics@4.0.4':
    +    resolution: {integrity: sha512-1m0bIFVc7eJWyve9S0RnuRgcQqF/Xd5QsUZAZeQFr1Q3/p9JWoQQEqmVy+DPTNpGXwhgIetAoYF8JSc33q29QA==}
    +
    +  '@types/http-errors@2.0.4':
    +    resolution: {integrity: sha512-D0CFMMtydbJAegzOyHjtiKPLlvnm3iTZyZRSZoLq2mRhDdmLfIWOCYPfQJ4cu2erKghU++QvjcUjp/5h7hESpA==}
    +
    +  '@types/http-proxy@1.17.11':
    +    resolution: {integrity: sha512-HC8G7c1WmaF2ekqpnFq626xd3Zz0uvaqFmBJNRZCGEZCXkvSdJoNFn/8Ygbd9fKNQj8UzLdCETaI0UWPAjK7IA==}
    +
    +  '@types/istanbul-lib-coverage@2.0.6':
    +    resolution: {integrity: sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==}
    +
    +  '@types/istanbul-lib-report@3.0.3':
    +    resolution: {integrity: sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA==}
    +
    +  '@types/istanbul-reports@3.0.4':
    +    resolution: {integrity: sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==}
    +
    +  '@types/js-yaml@4.0.9':
    +    resolution: {integrity: sha512-k4MGaQl5TGo/iipqb2UDG2UwjXziSWkh0uysQelTlJpX1qGlpUZYm8PnO4DxG1qBomtJUdYJ6qR6xdIah10JLg==}
    +
    +  '@types/jsdom@21.1.6':
    +    resolution: {integrity: sha512-/7kkMsC+/kMs7gAYmmBR9P0vGTnOoLhQhyhQJSlXGI5bzTHp6xdo0TtKWQAsz6pmSAeVqKSbqeyP6hytqr9FDw==}
    +
    +  '@types/json-schema@7.0.15':
    +    resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==}
    +
    +  '@types/katex@0.16.7':
    +    resolution: {integrity: sha512-HMwFiRujE5PjrgwHQ25+bsLJgowjGjm5Z8FVSf0N6PwgJrwxH0QxzHYDcKsTfV3wva0vzrpqMTJS2jXPr5BMEQ==}
    +
    +  '@types/keyv@3.1.4':
    +    resolution: {integrity: sha512-BQ5aZNSCpj7D6K2ksrRCTmKRLEpnPvWDiLPfoGyhZ++8YtiK9d/3DBKPJgry359X/P1PfruyYwvnvwFjuEiEIg==}
    +
    +  '@types/linkify-it@3.0.5':
    +    resolution: {integrity: sha512-yg6E+u0/+Zjva+buc3EIb+29XEg4wltq7cSmd4Uc2EE/1nUVmxyzpX6gUXD0V8jIrG0r7YeOGVIbYRkxeooCtw==}
    +
    +  '@types/lodash-es@4.17.12':
    +    resolution: {integrity: sha512-0NgftHUcV4v34VhXm8QBSftKVXtbkBG3ViCjs6+eJ5a6y6Mi/jiFGPc1sC7QK+9BFhWrURE3EOggmWaSxL9OzQ==}
    +
    +  '@types/lodash@4.17.0':
    +    resolution: {integrity: sha512-t7dhREVv6dbNj0q17X12j7yDG4bD/DHYX7o5/DbDxobP0HnGPgpRz2Ej77aL7TZT3DSw13fqUTj8J4mMnqa7WA==}
    +
    +  '@types/markdown-it@12.2.3':
    +    resolution: {integrity: sha512-GKMHFfv3458yYy+v/N8gjufHO6MSZKCOXpZc5GXIWWy8uldwfmPn98vp81gZ5f9SVw8YYBctgfJ22a2d7AOMeQ==}
    +
    +  '@types/markdown-it@14.0.1':
    +    resolution: {integrity: sha512-6WfOG3jXR78DW8L5cTYCVVGAsIFZskRHCDo5tbqa+qtKVt4oDRVH7hyIWu1SpDQJlmIoEivNQZ5h+AGAOrgOtQ==}
    +
    +  '@types/mdast@3.0.15':
    +    resolution: {integrity: sha512-LnwD+mUEfxWMa1QpDraczIn6k0Ee3SMicuYSSzS6ZYl2gKS09EClnJYGd8Du6rfc5r/GZEk5o1mRb8TaTj03sQ==}
    +
    +  '@types/mdast@4.0.3':
    +    resolution: {integrity: sha512-LsjtqsyF+d2/yFOYaN22dHZI1Cpwkrj+g06G8+qtUKlhovPW89YhqSnfKtMbkgmEtYpH2gydRNULd6y8mciAFg==}
    +
    +  '@types/mdurl@1.0.5':
    +    resolution: {integrity: sha512-6L6VymKTzYSrEf4Nev4Xa1LCHKrlTlYCBMTlQKFuddo1CvQcE52I0mwfOJayueUC7MJuXOeHTcIU683lzd0cUA==}
    +
    +  '@types/micromatch@4.0.7':
    +    resolution: {integrity: sha512-C/FMQ8HJAZhTsDpl4wDKZdMeeW5USjgzOczUwTGbRc1ZopPgOhIEnxY2ZgUrsuyy4DwK1JVOJZKFakv3TbCKiA==}
    +
    +  '@types/mime@1.3.5':
    +    resolution: {integrity: sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w==}
    +
    +  '@types/mime@3.0.4':
    +    resolution: {integrity: sha512-iJt33IQnVRkqeqC7PzBHPTC6fDlRNRW8vjrgqtScAhrmMwe8c4Eo7+fUGTa+XdWrpEgpyKWMYmi2dIwMAYRzPw==}
    +
    +  '@types/minimatch@5.1.2':
    +    resolution: {integrity: sha512-K0VQKziLUWkVKiRVrx4a40iPaxTUefQmjtkQofBkYRcoaaL/8rhwDWww9qWbrgicNOgnpIsMxyNIUM4+n6dUIA==}
    +
    +  '@types/ms@0.7.34':
    +    resolution: {integrity: sha512-nG96G3Wp6acyAgJqGasjODb+acrI7KltPiRxzHPXnP3NgI28bpQDRv53olbqGXbfcgF5aiiHmO3xpwEpS5Ld9g==}
    +
    +  '@types/node@18.19.31':
    +    resolution: {integrity: sha512-ArgCD39YpyyrtFKIqMDvjz79jto5fcI/SVUs2HwB+f0dAzq68yqOdyaSivLiLugSziTpNXLQrVb7RZFmdZzbhA==}
    +
    +  '@types/node@20.11.30':
    +    resolution: {integrity: sha512-dHM6ZxwlmuZaRmUPfv1p+KrdD1Dci04FbdEm/9wEMouFqxYoFl5aMkt0VMAUtYRQDyYvD41WJLukhq/ha3YuTw==}
    +
    +  '@types/node@20.12.7':
    +    resolution: {integrity: sha512-wq0cICSkRLVaf3UGLMGItu/PtdY7oaXaI/RVU+xliKVOtRna3PRY57ZDfztpDL0n11vfymMUnXv8QwYCO7L1wg==}
    +
    +  '@types/normalize-package-data@2.4.1':
    +    resolution: {integrity: sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw==}
    +
    +  '@types/prettier@2.7.3':
    +    resolution: {integrity: sha512-+68kP9yzs4LMp7VNh8gdzMSPZFL44MLGqiHWvttYJe+6qnuVr4Ek9wSBQoveqY/r+LwjCcU29kNVkidwim+kYA==}
    +
    +  '@types/prettier@3.0.0':
    +    resolution: {integrity: sha512-mFMBfMOz8QxhYVbuINtswBp9VL2b4Y0QqYHwqLz3YbgtfAcat2Dl6Y1o4e22S/OVE6Ebl9m7wWiMT2lSbAs1wA==}
    +    deprecated: This is a stub types definition. prettier provides its own type definitions, so you do not need this installed.
    +
    +  '@types/qs@6.9.12':
    +    resolution: {integrity: sha512-bZcOkJ6uWrL0Qb2NAWKa7TBU+mJHPzhx9jjLL1KHF+XpzEcR7EXHvjbHlGtR/IsP1vyPrehuS6XqkmaePy//mg==}
    +
    +  '@types/ramda@0.28.25':
    +    resolution: {integrity: sha512-HrQNqQAGcITpn9HAJFamDxm7iZeeXiP/95pN5OMbNniDjzCCeOHbBKNGmUy8NRi0fhYS+/cXeo91MFC+06gbow==}
    +
    +  '@types/range-parser@1.2.7':
    +    resolution: {integrity: sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ==}
    +
    +  '@types/resolve@1.20.2':
    +    resolution: {integrity: sha512-60BCwRFOZCQhDncwQdxxeOEEkbc5dIMccYLwbxsS4TUNeVECQ/pBJ0j09mrHOl/JJvpRPGwO9SvE4nR2Nb/a4Q==}
    +
    +  '@types/responselike@1.0.3':
    +    resolution: {integrity: sha512-H/+L+UkTV33uf49PH5pCAUBVPNj2nDBXTN+qS1dOwyyg24l3CcicicCA7ca+HMvJBZcFgl5r8e+RR6elsb4Lyw==}
    +
    +  '@types/retry@0.12.0':
    +    resolution: {integrity: sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA==}
    +
    +  '@types/rollup-plugin-visualizer@4.2.4':
    +    resolution: {integrity: sha512-BW4Q6D1Qy5gno5qHWrnMDC2dOe/TAKXvqCpckOggCCu+XpS+ZZJJ1lq1+K3bvYccoO3Y7f5kglbFAgYGqCgULg==}
    +
    +  '@types/semver@7.5.8':
    +    resolution: {integrity: sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==}
    +
    +  '@types/send@0.17.4':
    +    resolution: {integrity: sha512-x2EM6TJOybec7c52BX0ZspPodMsQUd5L6PRwOunVyVUhXiBSKf3AezDL8Dgvgt5o0UfKNfuA0eMLr2wLT4AiBA==}
    +
    +  '@types/serve-index@1.9.1':
    +    resolution: {integrity: sha512-d/Hs3nWDxNL2xAczmOVZNj92YZCS6RGxfBPjKzuu/XirCgXdpKEb88dYNbrYGint6IVWLNP+yonwVAuRC0T2Dg==}
    +
    +  '@types/serve-static@1.15.5':
    +    resolution: {integrity: sha512-PDRk21MnK70hja/YF8AHfC7yIsiQHn1rcXx7ijCFBX/k+XQJhQT/gw3xekXKJvx+5SXaMMS8oqQy09Mzvz2TuQ==}
    +
    +  '@types/sinonjs__fake-timers@8.1.1':
    +    resolution: {integrity: sha512-0kSuKjAS0TrGLJ0M/+8MaFkGsQhZpB6pxOmvS3K8FYI72K//YmdfoW9X2qPsAKh1mkwxGD5zib9s1FIFed6E8g==}
    +
    +  '@types/sizzle@2.3.8':
    +    resolution: {integrity: sha512-0vWLNK2D5MT9dg0iOo8GlKguPAU02QjmZitPEsXRuJXU/OGIOt9vT9Fc26wtYuavLxtO45v9PGleoL9Z0k1LHg==}
    +
    +  '@types/sockjs@0.3.33':
    +    resolution: {integrity: sha512-f0KEEe05NvUnat+boPTZ0dgaLZ4SfSouXUgv5noUiefG2ajgKjmETo9ZJyuqsl7dfl2aHlLJUiki6B4ZYldiiw==}
    +
    +  '@types/stack-utils@2.0.3':
    +    resolution: {integrity: sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw==}
    +
    +  '@types/stylis@4.2.5':
    +    resolution: {integrity: sha512-1Xve+NMN7FWjY14vLoY5tL3BVEQ/n42YLwaqJIPYhotZ9uBHt87VceMwWQpzmdEt2TNXIorIFG+YeCUUW7RInw==}
    +
    +  '@types/tough-cookie@4.0.5':
    +    resolution: {integrity: sha512-/Ad8+nIOV7Rl++6f1BdKxFSMgmoqEoYbHRpPcx3JEfv8VRsQe9Z4mCXeJBzxs7mbHY/XOZZuXlRNfhpVPbs6ZA==}
    +
    +  '@types/trusted-types@2.0.3':
    +    resolution: {integrity: sha512-NfQ4gyz38SL8sDNrSixxU2Os1a5xcdFxipAFxYEuLUlvU2uDwS4NUpsImcf1//SlWItCVMMLiylsxbmNMToV/g==}
    +
    +  '@types/trusted-types@2.0.7':
    +    resolution: {integrity: sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw==}
    +
    +  '@types/unist@2.0.10':
    +    resolution: {integrity: sha512-IfYcSBWE3hLpBg8+X2SEa8LVkJdJEkT2Ese2aaLs3ptGdVtABxndrMaxuFlQ1qdFf9Q5rDvDpxI3WwgvKFAsQA==}
    +
    +  '@types/unist@3.0.2':
    +    resolution: {integrity: sha512-dqId9J8K/vGi5Zr7oo212BGii5m3q5Hxlkwy3WpYuKPklmBEvsbMYYyLxAQpSffdLl/gdW0XUpKWFvYmyoWCoQ==}
    +
    +  '@types/uuid@9.0.8':
    +    resolution: {integrity: sha512-jg+97EGIcY9AGHJJRaaPVgetKDsrTgbRjQ5Msgjh/DQKEFl0DtyRr/VCOyD1T2R1MNeWPK/u7JoGhlDZnKBAfA==}
    +
    +  '@types/web-bluetooth@0.0.20':
    +    resolution: {integrity: sha512-g9gZnnXVq7gM7v3tJCWV/qw7w+KeOlSHAhgF9RytFyifW6AF61hdT2ucrYhPq9hLs5JIryeupHV3qGk95dH9ow==}
    +
    +  '@types/ws@8.5.5':
    +    resolution: {integrity: sha512-lwhs8hktwxSjf9UaZ9tG5M03PGogvFaH8gUgLNbN9HKIg0dvv6q+gkSuJ8HN4/VbyxkuLzCjlN7GquQ0gUJfIg==}
    +
    +  '@types/yargs-parser@21.0.3':
    +    resolution: {integrity: sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==}
    +
    +  '@types/yargs@17.0.32':
    +    resolution: {integrity: sha512-xQ67Yc/laOG5uMfX/093MRlGGCIBzZMarVa+gfNKJxWAIgykYpVGkBdbqEzGDDfCrVUj6Hiff4mTZ5BA6TmAog==}
    +
    +  '@types/yauzl@2.10.3':
    +    resolution: {integrity: sha512-oJoftv0LSuaDZE3Le4DbKX+KS9G36NzOeSap90UIK0yMA/NhKJhqlSGtNDORNRaIbQfzjXDrQa0ytJ6mNRGz/Q==}
    +
    +  '@typescript-eslint/eslint-plugin@7.6.0':
    +    resolution: {integrity: sha512-gKmTNwZnblUdnTIJu3e9kmeRRzV2j1a/LUO27KNNAnIC5zjy1aSvXSRp4rVNlmAoHlQ7HzX42NbKpcSr4jF80A==}
    +    engines: {node: ^18.18.0 || >=20.0.0}
    +    peerDependencies:
    +      '@typescript-eslint/parser': ^7.0.0
    +      eslint: ^8.56.0
    +      typescript: '*'
    +    peerDependenciesMeta:
    +      typescript:
    +        optional: true
    +
    +  '@typescript-eslint/parser@7.6.0':
    +    resolution: {integrity: sha512-usPMPHcwX3ZoPWnBnhhorc14NJw9J4HpSXQX4urF2TPKG0au0XhJoZyX62fmvdHONUkmyUe74Hzm1//XA+BoYg==}
    +    engines: {node: ^18.18.0 || >=20.0.0}
    +    peerDependencies:
    +      eslint: ^8.56.0
    +      typescript: '*'
    +    peerDependenciesMeta:
    +      typescript:
    +        optional: true
    +
    +  '@typescript-eslint/scope-manager@5.62.0':
    +    resolution: {integrity: sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w==}
    +    engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
    +
    +  '@typescript-eslint/scope-manager@7.6.0':
    +    resolution: {integrity: sha512-ngttyfExA5PsHSx0rdFgnADMYQi+Zkeiv4/ZxGYUWd0nLs63Ha0ksmp8VMxAIC0wtCFxMos7Lt3PszJssG/E6w==}
    +    engines: {node: ^18.18.0 || >=20.0.0}
    +
    +  '@typescript-eslint/type-utils@7.6.0':
    +    resolution: {integrity: sha512-NxAfqAPNLG6LTmy7uZgpK8KcuiS2NZD/HlThPXQRGwz6u7MDBWRVliEEl1Gj6U7++kVJTpehkhZzCJLMK66Scw==}
    +    engines: {node: ^18.18.0 || >=20.0.0}
    +    peerDependencies:
    +      eslint: ^8.56.0
    +      typescript: '*'
    +    peerDependenciesMeta:
    +      typescript:
    +        optional: true
    +
    +  '@typescript-eslint/types@5.62.0':
    +    resolution: {integrity: sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ==}
    +    engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
    +
    +  '@typescript-eslint/types@7.6.0':
    +    resolution: {integrity: sha512-h02rYQn8J+MureCvHVVzhl69/GAfQGPQZmOMjG1KfCl7o3HtMSlPaPUAPu6lLctXI5ySRGIYk94clD/AUMCUgQ==}
    +    engines: {node: ^18.18.0 || >=20.0.0}
    +
    +  '@typescript-eslint/typescript-estree@5.62.0':
    +    resolution: {integrity: sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA==}
    +    engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
    +    peerDependencies:
    +      typescript: '*'
    +    peerDependenciesMeta:
    +      typescript:
    +        optional: true
    +
    +  '@typescript-eslint/typescript-estree@7.6.0':
    +    resolution: {integrity: sha512-+7Y/GP9VuYibecrCQWSKgl3GvUM5cILRttpWtnAu8GNL9j11e4tbuGZmZjJ8ejnKYyBRb2ddGQ3rEFCq3QjMJw==}
    +    engines: {node: ^18.18.0 || >=20.0.0}
    +    peerDependencies:
    +      typescript: '*'
    +    peerDependenciesMeta:
    +      typescript:
    +        optional: true
    +
    +  '@typescript-eslint/utils@5.62.0':
    +    resolution: {integrity: sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ==}
    +    engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
    +    peerDependencies:
    +      eslint: ^6.0.0 || ^7.0.0 || ^8.0.0
    +
    +  '@typescript-eslint/utils@7.6.0':
    +    resolution: {integrity: sha512-x54gaSsRRI+Nwz59TXpCsr6harB98qjXYzsRxGqvA5Ue3kQH+FxS7FYU81g/omn22ML2pZJkisy6Q+ElK8pBCA==}
    +    engines: {node: ^18.18.0 || >=20.0.0}
    +    peerDependencies:
    +      eslint: ^8.56.0
    +
    +  '@typescript-eslint/visitor-keys@5.62.0':
    +    resolution: {integrity: sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw==}
    +    engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
    +
    +  '@typescript-eslint/visitor-keys@7.6.0':
    +    resolution: {integrity: sha512-4eLB7t+LlNUmXzfOu1VAIAdkjbu5xNSerURS9X/S5TUKWFRpXRQZbmtPqgKmYx8bj3J0irtQXSiWAOY82v+cgw==}
    +    engines: {node: ^18.18.0 || >=20.0.0}
    +
    +  '@ungap/structured-clone@1.2.0':
    +    resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==}
    +
    +  '@unocss/astro@0.59.4':
    +    resolution: {integrity: sha512-DU3OR5MMR1Uvvec4/wB9EetDASHRg19Moy6z/MiIhn8JWJ0QzWYgSeJcfUX8exomMYv6WUEQJL+CyLI34Wmn8w==}
    +    peerDependencies:
    +      vite: ^2.9.0 || ^3.0.0-0 || ^4.0.0 || ^5.0.0-0
    +    peerDependenciesMeta:
    +      vite:
    +        optional: true
    +
    +  '@unocss/cli@0.59.4':
    +    resolution: {integrity: sha512-TT+WKedSifhsRqnpoYD2LfyYipVzEbzIU4DDGIaDNeDxGXYOGpb876zzkPDcvZSpI37IJ/efkkV7PGYpPBcQBQ==}
    +    engines: {node: '>=14'}
    +    hasBin: true
    +
    +  '@unocss/config@0.59.4':
    +    resolution: {integrity: sha512-h3yhj+D5Ygn5R7gbK4wMrtXZX6FF5DF6YD517sSSb0XB3lxHD9PhhT4HaV1hpHknvu0cMFU3460M45+TN1TI0Q==}
    +    engines: {node: '>=14'}
    +
    +  '@unocss/core@0.59.4':
    +    resolution: {integrity: sha512-bBZ1sgcAtezQVZ1BST9IS3jqcsTLyqKNjiIf7FTnX3DHpfpYuMDFzSOtmkZDzBleOLO/CtcRWjT0HwTSQAmV0A==}
    +
    +  '@unocss/extractor-arbitrary-variants@0.59.4':
    +    resolution: {integrity: sha512-RDe4FgMGJQ+tp9GLvhPHni7Cc2O0lHBRMElVlN8LoXJAdODMICdbrEPGJlEfrc+7x/QgVFoR895KpYJh3hIgGA==}
    +
    +  '@unocss/inspector@0.59.4':
    +    resolution: {integrity: sha512-QczJFNDiggmekkJyNcbcZIUVwlhvxz7ZwjnSf0w7K4znxfjKkZ1hNUbqLviM1HumkTKOdT27VISW7saN/ysO4w==}
    +
    +  '@unocss/postcss@0.59.4':
    +    resolution: {integrity: sha512-KVz+AD7McHKp7VEWHbFahhyyVEo0oP/e1vnuNSuPlHthe+1V2zfH6lps+iJcvfL2072r5J+0PvD/1kOp5ryUSg==}
    +    engines: {node: '>=14'}
    +    peerDependencies:
    +      postcss: ^8.4.21
    +
    +  '@unocss/preset-attributify@0.59.4':
    +    resolution: {integrity: sha512-BeogWuYaIakC1gmOZFFCjFVWmu/m3AqEX8UYQS6tY6lAaK2L4Qf4AstYBlT2zAMxy9LNxPDxFQrvfSfFk5Klsg==}
    +
    +  '@unocss/preset-icons@0.59.4':
    +    resolution: {integrity: sha512-Afjwh5oC4KRE8TNZDUkRK6hvvV1wKLrS1e5trniE0B0AM9HK3PBolQaIU7QmzPv6WQrog+MZgIwafg1eqsPUCA==}
    +
    +  '@unocss/preset-mini@0.59.4':
    +    resolution: {integrity: sha512-ZLywGrXi1OCr4My5vX2rLUb5Xgx6ufR9WTQOvpQJGBdIV/jnZn/pyE5avCs476SnOq2K172lnd8mFmTK7/zArA==}
    +
    +  '@unocss/preset-tagify@0.59.4':
    +    resolution: {integrity: sha512-vWMdTUoghOSmTbdmZtERssffmdUdOuhh4vUdl0R8Kv6KxB0PkvEFCu2FItn97nRJdSPlZSFxxDkaOIg9w+STNQ==}
    +
    +  '@unocss/preset-typography@0.59.4':
    +    resolution: {integrity: sha512-ZX9bxZUqlXK1qEDzO5lkK96ICt9itR/oNyn/7mMc1JPqwj263LumQMn5silocgzoLSUXEeq//L6GylqYjkL8GA==}
    +
    +  '@unocss/preset-uno@0.59.4':
    +    resolution: {integrity: sha512-G1f8ZluplvXZ3bERj+sM/8zzY//XD++nNOlAQNKOANSVht3qEoJebrfEiMClNpA5qW5VWOZhEhPkh0M7GsXtnA==}
    +
    +  '@unocss/preset-web-fonts@0.59.4':
    +    resolution: {integrity: sha512-ehutTjKHnf2KPmdatN42N9a8+y+glKSU3UlcBRNsVIIXVIlaBQuPVGZSPhnMtrKD17IgWylXq2K6RJK+ab0hZA==}
    +
    +  '@unocss/preset-wind@0.59.4':
    +    resolution: {integrity: sha512-CNX6w0ZpSQg/i1oF0/WKWzto8PtLqoknC5h8JmmcGb7VsyBQeV0oNnhbURxpbuMEhbv1MWVIGvk8a+P6y0rFkQ==}
    +
    +  '@unocss/reset@0.59.4':
    +    resolution: {integrity: sha512-Upy4xzdWl4RChbLAXBq1BoR4WqxXMoIfjvtcwSZcZK2sylXCFAseSWnyzJFdSiXPqNfmMuNgPXgiSxiQB+cmNA==}
    +
    +  '@unocss/rule-utils@0.59.4':
    +    resolution: {integrity: sha512-1qoLJlBWAkS4D4sg73990S1MT7E8E5md/YhopKjTQuEC9SyeVmEg+5pR/Xd8xhPKMqbcuBPl/DS8b6l/GQO56A==}
    +    engines: {node: '>=14'}
    +
    +  '@unocss/scope@0.59.4':
    +    resolution: {integrity: sha512-wBQJ39kw4Tfj4km7AoGvSIobPKVnRZVsgc0bema5Y0PL3g1NeVQ/LopBI2zEJWdpxGXUWxSDsXm7BZo6qVlD/A==}
    +
    +  '@unocss/transformer-attributify-jsx-babel@0.59.4':
    +    resolution: {integrity: sha512-xtCRSgeTaDBiNJLVX7oOSFe63JiFB5nrdK23PHn3IlZM9O7Bxx4ZxI3MQJtFZFQNE+INFko+DVyY1WiFEm1p/Q==}
    +
    +  '@unocss/transformer-attributify-jsx@0.59.4':
    +    resolution: {integrity: sha512-m4b83utzKMfUQH/45V2QkjJoXd8Tu2pRP1nic91Xf7QRceyKDD+BxoTneo2JNC2K274cQu7HqqotnCm2aFfEGw==}
    +
    +  '@unocss/transformer-compile-class@0.59.4':
    +    resolution: {integrity: sha512-Vgk2OCLPW0pU+Uzr1IgDtHVspSBb+gPrQFkV+5gxHk9ZdKi3oYKxLuufVWYDSwv7o9yfQGbYrMH9YLsjRsnA7Q==}
    +
    +  '@unocss/transformer-directives@0.59.4':
    +    resolution: {integrity: sha512-nXUTEclUbs0vQ4KfLhKt4J/5SLSEq1az2FNlJmiXMmqmn75X89OrtCu2OJu9sGXhn+YyBApxgcSSdxmtpqMi1Q==}
    +
    +  '@unocss/transformer-variant-group@0.59.4':
    +    resolution: {integrity: sha512-9XLixxn1NRgP62Kj4R/NC/rpqhql5F2s6ulJ8CAMTEbd/NylVhEANluPGDVUGcLJ4cj6E02hFa8C1PLGSm7/xw==}
    +
    +  '@unocss/vite@0.59.4':
    +    resolution: {integrity: sha512-q7GN7vkQYn79n7vYIUlaa7gXGwc7pk0Qo3z3ZFwWGE43/DtZnn2Hwl5UjgBAgi9McA+xqHJEHRsJnI7HJPHUYA==}
    +    peerDependencies:
    +      vite: ^2.9.0 || ^3.0.0-0 || ^4.0.0 || ^5.0.0-0
    +
    +  '@vite-pwa/vitepress@0.4.0':
    +    resolution: {integrity: sha512-MrsSCK5EBCzQAQgq5/3XHaFIjkypda58Wzy6PkDwZoRHnWexik0C2GUxMOe+RA+qdpGxB0mEkhqajeOmuYMvhw==}
    +    peerDependencies:
    +      '@vite-pwa/assets-generator': ^0.2.4
    +      vite-plugin-pwa: '>=0.19.0 <1'
    +    peerDependenciesMeta:
    +      '@vite-pwa/assets-generator':
    +        optional: true
    +
    +  '@vitejs/plugin-vue@5.0.4':
    +    resolution: {integrity: sha512-WS3hevEszI6CEVEx28F8RjTX97k3KsrcY6kvTg7+Whm5y3oYvcqzVeGCU3hxSAn4uY2CLCkeokkGKpoctccilQ==}
    +    engines: {node: ^18.0.0 || >=20.0.0}
    +    peerDependencies:
    +      vite: ^5.0.0
    +      vue: ^3.2.25
    +
    +  '@vitest/coverage-v8@1.5.3':
    +    resolution: {integrity: sha512-DPyGSu/fPHOJuPxzFSQoT4N/Fu/2aJfZRtEpEp8GI7NHsXBGE94CQ+pbEGBUMFjatsHPDJw/+TAF9r4ens2CNw==}
    +    peerDependencies:
    +      vitest: 1.5.3
    +
    +  '@vitest/expect@1.5.3':
    +    resolution: {integrity: sha512-y+waPz31pOFr3rD7vWTbwiLe5+MgsMm40jTZbQE8p8/qXyBX3CQsIXRx9XK12IbY7q/t5a5aM/ckt33b4PxK2g==}
    +
    +  '@vitest/runner@1.5.3':
    +    resolution: {integrity: sha512-7PlfuReN8692IKQIdCxwir1AOaP5THfNkp0Uc4BKr2na+9lALNit7ub9l3/R7MP8aV61+mHKRGiqEKRIwu6iiQ==}
    +
    +  '@vitest/snapshot@1.5.3':
    +    resolution: {integrity: sha512-K3mvIsjyKYBhNIDujMD2gfQEzddLe51nNOAf45yKRt/QFJcUIeTQd2trRvv6M6oCBHNVnZwFWbQ4yj96ibiDsA==}
    +
    +  '@vitest/spy@1.5.3':
    +    resolution: {integrity: sha512-Llj7Jgs6lbnL55WoshJUUacdJfjU2honvGcAJBxhra5TPEzTJH8ZuhI3p/JwqqfnTr4PmP7nDmOXP53MS7GJlg==}
    +
    +  '@vitest/ui@1.5.3':
    +    resolution: {integrity: sha512-DoSA5YxcUmeBEK7kJHzXiL2I0d9AijWI33arnUrwiWFDxgZPDxTjvSVsiXhe8qfqhloIHkwazl5E2rhlDd/ErA==}
    +    peerDependencies:
    +      vitest: 1.5.3
    +
    +  '@vitest/utils@1.5.3':
    +    resolution: {integrity: sha512-rE9DTN1BRhzkzqNQO+kw8ZgfeEBCLXiHJwetk668shmNBpSagQxneT5eSqEBLP+cqSiAeecvQmbpFfdMyLcIQA==}
    +
    +  '@vue/compat@3.4.21':
    +    resolution: {integrity: sha512-hKM6C5tTqduZcNOwp4oBa6qplAQ0NsMvGtLCTKmkhjVqrFzUfS9CyLN6ktzEfPwbgeC/wYYd7PtH+H8jNGvTjQ==}
    +    peerDependencies:
    +      vue: 3.4.21
    +
    +  '@vue/compiler-core@3.4.21':
    +    resolution: {integrity: sha512-MjXawxZf2SbZszLPYxaFCjxfibYrzr3eYbKxwpLR9EQN+oaziSu3qKVbwBERj1IFIB8OLUewxB5m/BFzi613og==}
    +
    +  '@vue/compiler-core@3.4.26':
    +    resolution: {integrity: sha512-N9Vil6Hvw7NaiyFUFBPXrAyETIGlQ8KcFMkyk6hW1Cl6NvoqvP+Y8p1Eqvx+UdqsnrnI9+HMUEJegzia3mhXmQ==}
    +
    +  '@vue/compiler-dom@3.4.21':
    +    resolution: {integrity: sha512-IZC6FKowtT1sl0CR5DpXSiEB5ayw75oT2bma1BEhV7RRR1+cfwLrxc2Z8Zq/RGFzJ8w5r9QtCOvTjQgdn0IKmA==}
    +
    +  '@vue/compiler-dom@3.4.26':
    +    resolution: {integrity: sha512-4CWbR5vR9fMg23YqFOhr6t6WB1Fjt62d6xdFPyj8pxrYub7d+OgZaObMsoxaF9yBUHPMiPFK303v61PwAuGvZA==}
    +
    +  '@vue/compiler-sfc@3.4.21':
    +    resolution: {integrity: sha512-me7epoTxYlY+2CUM7hy9PCDdpMPfIwrOvAXud2Upk10g4YLv9UBW7kL798TvMeDhPthkZ0CONNrK2GoeI1ODiQ==}
    +
    +  '@vue/compiler-sfc@3.4.26':
    +    resolution: {integrity: sha512-It1dp+FAOCgluYSVYlDn5DtZBxk1NCiJJfu2mlQqa/b+k8GL6NG/3/zRbJnHdhV2VhxFghaDq5L4K+1dakW6cw==}
    +
    +  '@vue/compiler-ssr@3.4.21':
    +    resolution: {integrity: sha512-M5+9nI2lPpAsgXOGQobnIueVqc9sisBFexh5yMIMRAPYLa7+5wEJs8iqOZc1WAa9WQbx9GR2twgznU8LTIiZ4Q==}
    +
    +  '@vue/compiler-ssr@3.4.26':
    +    resolution: {integrity: sha512-FNwLfk7LlEPRY/g+nw2VqiDKcnDTVdCfBREekF8X74cPLiWHUX6oldktf/Vx28yh4STNy7t+/yuLoMBBF7YDiQ==}
    +
    +  '@vue/devtools-api@6.6.1':
    +    resolution: {integrity: sha512-LgPscpE3Vs0x96PzSSB4IGVSZXZBZHpfxs+ZA1d+VEPwHdOXowy/Y2CsvCAIFrf+ssVU1pD1jidj505EpUnfbA==}
    +
    +  '@vue/devtools-api@7.1.3':
    +    resolution: {integrity: sha512-W8IwFJ/o5iUk78jpqhvScbgCsPiOp2uileDVC0NDtW38gCWhsnu9SeBTjcdu3lbwLdsjc+H1c5Msd/x9ApbcFA==}
    +
    +  '@vue/devtools-kit@7.1.3':
    +    resolution: {integrity: sha512-NFskFSJMVCBXTkByuk2llzI3KD3Blcm7WqiRorWjD6nClHPgkH5BobDH08rfulqq5ocRt5xV+3qOT1Q9FXJrwQ==}
    +    peerDependencies:
    +      vue: ^3.0.0
    +
    +  '@vue/devtools-shared@7.1.3':
    +    resolution: {integrity: sha512-KJ3AfgjTn3tJz/XKF+BlVShNPecim3G21oHRue+YQOsooW+0s+qXvm09U09aO7yBza5SivL1QgxSrzAbiKWjhQ==}
    +
    +  '@vue/reactivity@3.4.21':
    +    resolution: {integrity: sha512-UhenImdc0L0/4ahGCyEzc/pZNwVgcglGy9HVzJ1Bq2Mm9qXOpP8RyNTjookw/gOCUlXSEtuZ2fUg5nrHcoqJcw==}
    +
    +  '@vue/reactivity@3.4.26':
    +    resolution: {integrity: sha512-E/ynEAu/pw0yotJeLdvZEsp5Olmxt+9/WqzvKff0gE67tw73gmbx6tRkiagE/eH0UCubzSlGRebCbidB1CpqZQ==}
    +
    +  '@vue/runtime-core@3.4.21':
    +    resolution: {integrity: sha512-pQthsuYzE1XcGZznTKn73G0s14eCJcjaLvp3/DKeYWoFacD9glJoqlNBxt3W2c5S40t6CCcpPf+jG01N3ULyrA==}
    +
    +  '@vue/runtime-core@3.4.26':
    +    resolution: {integrity: sha512-AFJDLpZvhT4ujUgZSIL9pdNcO23qVFh7zWCsNdGQBw8ecLNxOOnPcK9wTTIYCmBJnuPHpukOwo62a2PPivihqw==}
    +
    +  '@vue/runtime-dom@3.4.21':
    +    resolution: {integrity: sha512-gvf+C9cFpevsQxbkRBS1NpU8CqxKw0ebqMvLwcGQrNpx6gqRDodqKqA+A2VZZpQ9RpK2f9yfg8VbW/EpdFUOJw==}
    +
    +  '@vue/runtime-dom@3.4.26':
    +    resolution: {integrity: sha512-UftYA2hUXR2UOZD/Fc3IndZuCOOJgFxJsWOxDkhfVcwLbsfh2CdXE2tG4jWxBZuDAs9J9PzRTUFt1PgydEtItw==}
    +
    +  '@vue/server-renderer@3.4.21':
    +    resolution: {integrity: sha512-aV1gXyKSN6Rz+6kZ6kr5+Ll14YzmIbeuWe7ryJl5muJ4uwSwY/aStXTixx76TwkZFJLm1aAlA/HSWEJ4EyiMkg==}
    +    peerDependencies:
    +      vue: 3.4.21
    +
    +  '@vue/server-renderer@3.4.26':
    +    resolution: {integrity: sha512-xoGAqSjYDPGAeRWxeoYwqJFD/gw7mpgzOvSxEmjWaFO2rE6qpbD1PC172YRpvKhrihkyHJkNDADFXTfCyVGhKw==}
    +    peerDependencies:
    +      vue: 3.4.26
    +
    +  '@vue/shared@3.4.21':
    +    resolution: {integrity: sha512-PuJe7vDIi6VYSinuEbUIQgMIRZGgM8e4R+G+/dQTk0X1NEdvgvvgv7m+rfmDH1gZzyA1OjjoWskvHlfRNfQf3g==}
    +
    +  '@vue/shared@3.4.26':
    +    resolution: {integrity: sha512-Fg4zwR0GNnjzodMt3KRy2AWGMKQXByl56+4HjN87soxLNU9P5xcJkstAlIeEF3cU6UYOzmJl1tV0dVPGIljCnQ==}
    +
    +  '@vueuse/core@10.9.0':
    +    resolution: {integrity: sha512-/1vjTol8SXnx6xewDEKfS0Ra//ncg4Hb0DaZiwKf7drgfMsKFExQ+FnnENcN6efPen+1kIzhLQoGSy0eDUVOMg==}
    +
    +  '@vueuse/integrations@10.9.0':
    +    resolution: {integrity: sha512-acK+A01AYdWSvL4BZmCoJAcyHJ6EqhmkQEXbQLwev1MY7NBnS+hcEMx/BzVoR9zKI+UqEPMD9u6PsyAuiTRT4Q==}
    +    peerDependencies:
    +      async-validator: '*'
    +      axios: '*'
    +      change-case: '*'
    +      drauu: '*'
    +      focus-trap: '*'
    +      fuse.js: '*'
    +      idb-keyval: '*'
    +      jwt-decode: '*'
    +      nprogress: '*'
    +      qrcode: '*'
    +      sortablejs: '*'
    +      universal-cookie: '*'
    +    peerDependenciesMeta:
    +      async-validator:
    +        optional: true
    +      axios:
    +        optional: true
    +      change-case:
    +        optional: true
    +      drauu:
    +        optional: true
    +      focus-trap:
    +        optional: true
    +      fuse.js:
    +        optional: true
    +      idb-keyval:
    +        optional: true
    +      jwt-decode:
    +        optional: true
    +      nprogress:
    +        optional: true
    +      qrcode:
    +        optional: true
    +      sortablejs:
    +        optional: true
    +      universal-cookie:
    +        optional: true
    +
    +  '@vueuse/metadata@10.9.0':
    +    resolution: {integrity: sha512-iddNbg3yZM0X7qFY2sAotomgdHK7YJ6sKUvQqbvwnf7TmaVPxS4EJydcNsVejNdS8iWCtDk+fYXr7E32nyTnGA==}
    +
    +  '@vueuse/shared@10.9.0':
    +    resolution: {integrity: sha512-Uud2IWncmAfJvRaFYzv5OHDli+FbOzxiVEQdLCKQKLyhz94PIyFC3CHcH7EDMwIn8NPtD06+PNbC/PiO0LGLtw==}
    +
    +  '@wdio/config@7.31.1':
    +    resolution: {integrity: sha512-WAfswbCatwiaDVqy6kfF/5T8/WS/US/SRhBGUFrfBuGMIe+RRoHgy7jURFWSvUIE7CNHj8yvs46fLUcxhXjzcQ==}
    +    engines: {node: '>=12.0.0'}
    +
    +  '@wdio/logger@7.26.0':
    +    resolution: {integrity: sha512-kQj9s5JudAG9qB+zAAcYGPHVfATl2oqKgqj47yjehOQ1zzG33xmtL1ArFbQKWhDG32y1A8sN6b0pIqBEIwgg8Q==}
    +    engines: {node: '>=12.0.0'}
    +
    +  '@wdio/protocols@7.27.0':
    +    resolution: {integrity: sha512-hT/U22R5i3HhwPjkaKAG0yd59eaOaZB0eibRj2+esCImkb5Y6rg8FirrlYRxIGFVBl0+xZV0jKHzR5+o097nvg==}
    +    engines: {node: '>=12.0.0'}
    +
    +  '@wdio/types@7.30.2':
    +    resolution: {integrity: sha512-uZ8o7FX8RyBsaXiOWa59UKTCHTtADNvOArYTcHNEIzt+rh4JdB/uwqfc8y4TCNA2kYm7PWaQpUFwpStLeg0H1Q==}
    +    engines: {node: '>=12.0.0'}
    +    peerDependencies:
    +      typescript: ^4.6.2
    +    peerDependenciesMeta:
    +      typescript:
    +        optional: true
    +
    +  '@wdio/utils@7.30.2':
    +    resolution: {integrity: sha512-np7I+smszFUennbQKdzbMN/zUL3s3EZq9pCCUcTRjjs9TE4tnn0wfmGdoz2o7REYu6kn9NfFFJyVIM2VtBbKEA==}
    +    engines: {node: '>=12.0.0'}
    +
    +  '@webassemblyjs/ast@1.12.1':
    +    resolution: {integrity: sha512-EKfMUOPRRUTy5UII4qJDGPpqfwjOmZ5jeGFwid9mnoqIFK+e0vqoi1qH56JpmZSzEL53jKnNzScdmftJyG5xWg==}
    +
    +  '@webassemblyjs/floating-point-hex-parser@1.11.6':
    +    resolution: {integrity: sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw==}
    +
    +  '@webassemblyjs/helper-api-error@1.11.6':
    +    resolution: {integrity: sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q==}
    +
    +  '@webassemblyjs/helper-buffer@1.12.1':
    +    resolution: {integrity: sha512-nzJwQw99DNDKr9BVCOZcLuJJUlqkJh+kVzVl6Fmq/tI5ZtEyWT1KZMyOXltXLZJmDtvLCDgwsyrkohEtopTXCw==}
    +
    +  '@webassemblyjs/helper-numbers@1.11.6':
    +    resolution: {integrity: sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g==}
    +
    +  '@webassemblyjs/helper-wasm-bytecode@1.11.6':
    +    resolution: {integrity: sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA==}
    +
    +  '@webassemblyjs/helper-wasm-section@1.12.1':
    +    resolution: {integrity: sha512-Jif4vfB6FJlUlSbgEMHUyk1j234GTNG9dBJ4XJdOySoj518Xj0oGsNi59cUQF4RRMS9ouBUxDDdyBVfPTypa5g==}
    +
    +  '@webassemblyjs/ieee754@1.11.6':
    +    resolution: {integrity: sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg==}
    +
    +  '@webassemblyjs/leb128@1.11.6':
    +    resolution: {integrity: sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ==}
    +
    +  '@webassemblyjs/utf8@1.11.6':
    +    resolution: {integrity: sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA==}
    +
    +  '@webassemblyjs/wasm-edit@1.12.1':
    +    resolution: {integrity: sha512-1DuwbVvADvS5mGnXbE+c9NfA8QRcZ6iKquqjjmR10k6o+zzsRVesil54DKexiowcFCPdr/Q0qaMgB01+SQ1u6g==}
    +
    +  '@webassemblyjs/wasm-gen@1.12.1':
    +    resolution: {integrity: sha512-TDq4Ojh9fcohAw6OIMXqiIcTq5KUXTGRkVxbSo1hQnSy6lAM5GSdfwWeSxpAo0YzgsgF182E/U0mDNhuA0tW7w==}
    +
    +  '@webassemblyjs/wasm-opt@1.12.1':
    +    resolution: {integrity: sha512-Jg99j/2gG2iaz3hijw857AVYekZe2SAskcqlWIZXjji5WStnOpVoat3gQfT/Q5tb2djnCjBtMocY/Su1GfxPBg==}
    +
    +  '@webassemblyjs/wasm-parser@1.12.1':
    +    resolution: {integrity: sha512-xikIi7c2FHXysxXe3COrVUPSheuBtpcfhbpFj4gmu7KRLYOzANztwUU0IbsqvMqzuNK2+glRGWCEqZo1WCLyAQ==}
    +
    +  '@webassemblyjs/wast-printer@1.12.1':
    +    resolution: {integrity: sha512-+X4WAlOisVWQMikjbcvY2e0rwPsKQ9F688lksZhBcPycBBuii3O7m8FACbDMWDojpAqvjIncrG8J0XHKyQfVeA==}
    +
    +  '@webpack-cli/configtest@1.2.0':
    +    resolution: {integrity: sha512-4FB8Tj6xyVkyqjj1OaTqCjXYULB9FMkqQ8yGrZjRDrYh0nOE+7Lhs45WioWQQMV+ceFlE368Ukhe6xdvJM9Egg==}
    +    peerDependencies:
    +      webpack: 4.x.x || 5.x.x
    +      webpack-cli: 4.x.x
    +
    +  '@webpack-cli/info@1.5.0':
    +    resolution: {integrity: sha512-e8tSXZpw2hPl2uMJY6fsMswaok5FdlGNRTktvFk2sD8RjH0hE2+XistawJx1vmKteh4NmGmNUrp+Tb2w+udPcQ==}
    +    peerDependencies:
    +      webpack-cli: 4.x.x
    +
    +  '@webpack-cli/serve@1.7.0':
    +    resolution: {integrity: sha512-oxnCNGj88fL+xzV+dacXs44HcDwf1ovs3AuEzvP7mqXw7fQntqIhQ1BRmynh4qEKQSSSRSWVyXRjmTbZIX9V2Q==}
    +    peerDependencies:
    +      webpack-cli: 4.x.x
    +      webpack-dev-server: '*'
    +    peerDependenciesMeta:
    +      webpack-dev-server:
    +        optional: true
    +
    +  '@xmldom/xmldom@0.8.10':
    +    resolution: {integrity: sha512-2WALfTl4xo2SkGCYRt6rDTFfk9R1czmBvUQy12gK2KuRKIpWEhcbbzy8EZXtz/jkRqHX8bFEc6FC1HjX4TUWYw==}
    +    engines: {node: '>=10.0.0'}
    +
    +  '@xtuc/ieee754@1.2.0':
    +    resolution: {integrity: sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==}
    +
    +  '@xtuc/long@4.2.2':
    +    resolution: {integrity: sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==}
    +
    +  '@zenuml/core@3.21.2':
    +    resolution: {integrity: sha512-e63W3sb+cSafRaN+g2l2sYMdFMxDC0bRMqo+spRW48LoK0/7MQsSf6f9xEtSly/iTaXUGedw1TpvktzAxeKFjA==}
    +    engines: {node: '>=12.0.0'}
    +
    +  JSONSelect@0.4.0:
    +    resolution: {integrity: sha512-VRLR3Su35MH+XV2lrvh9O7qWoug/TUyj9tLDjn9rtpUCNnILLrHjgd/tB0KrhugCxUpj3UqoLqfYb3fLJdIQQQ==}
    +    engines: {node: '>=0.4.7'}
    +
    +  JSV@4.0.2:
    +    resolution: {integrity: sha512-ZJ6wx9xaKJ3yFUhq5/sk82PJMuUyLk277I8mQeyDgCTjGdjWJIvPfaU5LIXaMuaN2UO1X3kZH4+lgphublZUHw==}
    +
    +  abort-controller@3.0.0:
    +    resolution: {integrity: sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==}
    +    engines: {node: '>=6.5'}
    +
    +  abstract-logging@2.0.1:
    +    resolution: {integrity: sha512-2BjRTZxTPvheOvGbBslFSYOUkr+SjPtOnrLP33f+VIWLzezQpZcqVg7ja3L4dBXmzzgwT+a029jRx5PCi3JuiA==}
    +
    +  accepts@1.3.8:
    +    resolution: {integrity: sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==}
    +    engines: {node: '>= 0.6'}
    +
    +  acorn-import-assertions@1.9.0:
    +    resolution: {integrity: sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA==}
    +    peerDependencies:
    +      acorn: ^8
    +
    +  acorn-jsx@5.3.2:
    +    resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==}
    +    peerDependencies:
    +      acorn: ^6.0.0 || ^7.0.0 || ^8.0.0
    +
    +  acorn-walk@8.3.2:
    +    resolution: {integrity: sha512-cjkyv4OtNCIeqhHrfS81QWXoCBPExR/J62oyEqepVw8WaQeSqpW2uhuLPh1m9eWhDuOo/jUXVTlifvesOWp/4A==}
    +    engines: {node: '>=0.4.0'}
    +
    +  acorn@8.11.3:
    +    resolution: {integrity: sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==}
    +    engines: {node: '>=0.4.0'}
    +    hasBin: true
    +
    +  agent-base@6.0.2:
    +    resolution: {integrity: sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==}
    +    engines: {node: '>= 6.0.0'}
    +
    +  agent-base@7.1.0:
    +    resolution: {integrity: sha512-o/zjMZRhJxny7OyEF+Op8X+efiELC7k7yOjMzgfzVqOzXqkBkWI79YoTdOtsuWd5BWhAGAuOY/Xa6xpiaWXiNg==}
    +    engines: {node: '>= 14'}
    +
    +  aggregate-error@3.1.0:
    +    resolution: {integrity: sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==}
    +    engines: {node: '>=8'}
    +
    +  aggregate-error@4.0.1:
    +    resolution: {integrity: sha512-0poP0T7el6Vq3rstR8Mn4V/IQrpBLO6POkUSrN7RhyY+GF/InCFShQzsQ39T25gkHhLgSLByyAz+Kjb+c2L98w==}
    +    engines: {node: '>=12'}
    +
    +  ajv-formats@2.1.1:
    +    resolution: {integrity: sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==}
    +    peerDependencies:
    +      ajv: ^8.0.0
    +    peerDependenciesMeta:
    +      ajv:
    +        optional: true
    +
    +  ajv-keywords@3.5.2:
    +    resolution: {integrity: sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==}
    +    peerDependencies:
    +      ajv: ^6.9.1
    +
    +  ajv-keywords@5.1.0:
    +    resolution: {integrity: sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==}
    +    peerDependencies:
    +      ajv: ^8.8.2
    +
    +  ajv@6.12.6:
    +    resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==}
    +
    +  ajv@8.12.0:
    +    resolution: {integrity: sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==}
    +
    +  ajv@8.13.0:
    +    resolution: {integrity: sha512-PRA911Blj99jR5RMeTunVbNXMF6Lp4vZXnk5GQjcnUWUTsrXtekg/pnmFFI2u/I36Y/2bITGS30GZCXei6uNkA==}
    +
    +  algoliasearch@4.23.3:
    +    resolution: {integrity: sha512-Le/3YgNvjW9zxIQMRhUHuhiUjAlKY/zsdZpfq4dlLqg6mEm0nL6yk+7f2hDOtLpxsgE4jSzDmvHL7nXdBp5feg==}
    +
    +  amdefine@1.0.1:
    +    resolution: {integrity: sha512-S2Hw0TtNkMJhIabBwIojKL9YHO5T0n5eNqWJ7Lrlel/zDbftQpxpapi8tZs3X1HWa+u+QeydGmzzNU0m09+Rcg==}
    +    engines: {node: '>=0.4.2'}
    +
    +  ansi-align@3.0.1:
    +    resolution: {integrity: sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==}
    +
    +  ansi-colors@4.1.3:
    +    resolution: {integrity: sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==}
    +    engines: {node: '>=6'}
    +
    +  ansi-escapes@4.3.2:
    +    resolution: {integrity: sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==}
    +    engines: {node: '>=8'}
    +
    +  ansi-escapes@6.2.1:
    +    resolution: {integrity: sha512-4nJ3yixlEthEJ9Rk4vPcdBRkZvQZlYyu8j4/Mqz5sgIkddmEnH2Yj2ZrnP9S3tQOvSNRUIgVNF/1yPpRAGNRig==}
    +    engines: {node: '>=14.16'}
    +
    +  ansi-html-community@0.0.8:
    +    resolution: {integrity: sha512-1APHAyr3+PCamwNw3bXCPp4HFLONZt/yIH0sZp0/469KWNTEy+qN5jQ3GVX6DMZ1UXAi34yVwtTeaG/HpBuuzw==}
    +    engines: {'0': node >= 0.8.0}
    +    hasBin: true
    +
    +  ansi-regex@2.1.1:
    +    resolution: {integrity: sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==}
    +    engines: {node: '>=0.10.0'}
    +
    +  ansi-regex@5.0.1:
    +    resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==}
    +    engines: {node: '>=8'}
    +
    +  ansi-regex@6.0.1:
    +    resolution: {integrity: sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==}
    +    engines: {node: '>=12'}
    +
    +  ansi-sequence-parser@1.1.1:
    +    resolution: {integrity: sha512-vJXt3yiaUL4UU546s3rPXlsry/RnM730G1+HkpKE012AN0sx1eOrxSu95oKDIonskeLTijMgqWZ3uDEe3NFvyg==}
    +
    +  ansi-styles@2.2.1:
    +    resolution: {integrity: sha512-kmCevFghRiWM7HB5zTPULl4r9bVFSWjz62MhqizDGUrq2NWuNMQyuv4tHHoKJHs69M/MF64lEcHdYIocrdWQYA==}
    +    engines: {node: '>=0.10.0'}
    +
    +  ansi-styles@3.2.1:
    +    resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==}
    +    engines: {node: '>=4'}
    +
    +  ansi-styles@4.3.0:
    +    resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==}
    +    engines: {node: '>=8'}
    +
    +  ansi-styles@5.2.0:
    +    resolution: {integrity: sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==}
    +    engines: {node: '>=10'}
    +
    +  ansi-styles@6.2.1:
    +    resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==}
    +    engines: {node: '>=12'}
    +
    +  antlr4@4.11.0:
    +    resolution: {integrity: sha512-GUGlpE2JUjAN+G8G5vY+nOoeyNhHsXoIJwP1XF1oRw89vifA1K46T6SEkwLwr7drihN7I/lf0DIjKc4OZvBX8w==}
    +    engines: {node: '>=14'}
    +
    +  any-promise@1.3.0:
    +    resolution: {integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==}
    +
    +  anymatch@3.1.3:
    +    resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==}
    +    engines: {node: '>= 8'}
    +
    +  app-path@3.3.0:
    +    resolution: {integrity: sha512-EAgEXkdcxH1cgEePOSsmUtw9ItPl0KTxnh/pj9ZbhvbKbij9x0oX6PWpGnorDr0DS5AosLgoa5n3T/hZmKQpYA==}
    +    engines: {node: '>=8'}
    +
    +  appdata-path@1.0.0:
    +    resolution: {integrity: sha512-ZbH3ezXfnT/YE3NdqduIt4lBV+H0ybvA2Qx3K76gIjQvh8gROpDFdDLpx6B1QJtW7zxisCbpTlCLhKqoR8cDBw==}
    +
    +  append-transform@2.0.0:
    +    resolution: {integrity: sha512-7yeyCEurROLQJFv5Xj4lEGTy0borxepjFv1g22oAdqFu//SrAlDl1O1Nxx15SH1RoliUml6p8dwJW9jvZughhg==}
    +    engines: {node: '>=8'}
    +
    +  arch@2.2.0:
    +    resolution: {integrity: sha512-Of/R0wqp83cgHozfIYLbBMnej79U/SVGOOyuB3VVFv1NRM/PSFMK12x9KVtiYzJqmnU5WR2qp0Z5rHb7sWGnFQ==}
    +
    +  archy@1.0.0:
    +    resolution: {integrity: sha512-Xg+9RwCg/0p32teKdGMPTPnVXKD0w3DfHnFTficozsAgsvq2XenPJq/MYpzzQ/v8zrOyJn6Ds39VA4JIDwFfqw==}
    +
    +  are-docs-informative@0.0.2:
    +    resolution: {integrity: sha512-ixiS0nLNNG5jNQzgZJNoUpBKdo9yTYZMGJ+QgT2jmjR7G7+QHRCc4v6LQ3NgE7EBJq+o0ams3waJwkrlBom8Ig==}
    +    engines: {node: '>=14'}
    +
    +  arg@5.0.2:
    +    resolution: {integrity: sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==}
    +
    +  argparse@1.0.10:
    +    resolution: {integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==}
    +
    +  argparse@2.0.1:
    +    resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==}
    +
    +  array-buffer-byte-length@1.0.1:
    +    resolution: {integrity: sha512-ahC5W1xgou+KTXix4sAO8Ki12Q+jf4i0+tmk3sC+zgcynshkHxzpXdImBehiUYKKKDwvfFiJl1tZt6ewscS1Mg==}
    +    engines: {node: '>= 0.4'}
    +
    +  array-flatten@1.1.1:
    +    resolution: {integrity: sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==}
    +
    +  array-flatten@2.1.2:
    +    resolution: {integrity: sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ==}
    +
    +  array-timsort@1.0.3:
    +    resolution: {integrity: sha512-/+3GRL7dDAGEfM6TseQk/U+mi18TU2Ms9I3UlLdUMhz2hbvGNTKdj9xniwXfUqgYhHxRx0+8UnKkvlNwVU+cWQ==}
    +
    +  array-union@2.1.0:
    +    resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==}
    +    engines: {node: '>=8'}
    +
    +  arraybuffer.prototype.slice@1.0.3:
    +    resolution: {integrity: sha512-bMxMKAjg13EBSVscxTaYA4mRc5t1UAXa2kXiGTNfZ079HIWXEkKmkgFrh/nJqamaLSrXO5H4WFFkPEaLJWbs3A==}
    +    engines: {node: '>= 0.4'}
    +
    +  arrify@3.0.0:
    +    resolution: {integrity: sha512-tLkvA81vQG/XqE2mjDkGQHoOINtMHtysSnemrmoGe6PydDPMRbVugqyk4A6V/WDWEfm3l+0d8anA9r8cv/5Jaw==}
    +    engines: {node: '>=12'}
    +
    +  asn1@0.2.6:
    +    resolution: {integrity: sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==}
    +
    +  assert-plus@1.0.0:
    +    resolution: {integrity: sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==}
    +    engines: {node: '>=0.8'}
    +
    +  assertion-error@1.1.0:
    +    resolution: {integrity: sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==}
    +
    +  astral-regex@2.0.0:
    +    resolution: {integrity: sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==}
    +    engines: {node: '>=8'}
    +
    +  async@3.2.5:
    +    resolution: {integrity: sha512-baNZyqaaLhyLVKm/DlvdW051MSgO6b8eVfIezl9E5PqWxFgzLm/wQntEW4zOytVburDEr0JlALEpdOFwvErLsg==}
    +
    +  asynckit@0.4.0:
    +    resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==}
    +
    +  at-least-node@1.0.0:
    +    resolution: {integrity: sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==}
    +    engines: {node: '>= 4.0.0'}
    +
    +  atomic-sleep@1.0.0:
    +    resolution: {integrity: sha512-kNOjDqAh7px0XWNI+4QbzoiR/nTkHAWNud2uvnJquD1/x5a7EQZMJT0AczqK0Qn67oY/TTQ1LbUKajZpp3I9tQ==}
    +    engines: {node: '>=8.0.0'}
    +
    +  available-typed-arrays@1.0.7:
    +    resolution: {integrity: sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==}
    +    engines: {node: '>= 0.4'}
    +
    +  avvio@7.2.5:
    +    resolution: {integrity: sha512-AOhBxyLVdpOad3TujtC9kL/9r3HnTkxwQ5ggOsYrvvZP1cCFvzHWJd5XxZDFuTn+IN8vkKSG5SEJrd27vCSbeA==}
    +
    +  aws-sign2@0.7.0:
    +    resolution: {integrity: sha512-08kcGqnYf/YmjoRhfxyu+CLxBjUtHLXLXX/vUfx9l2LYzG3c1m61nrpyFUZI6zeS+Li/wWMMidD9KgrqtGq3mA==}
    +
    +  aws4@1.12.0:
    +    resolution: {integrity: sha512-NmWvPnx0F1SfrQbYwOi7OeaNGokp9XhzNioJ/CSBs8Qa4vxug81mhJEAVZwxXuBmYB5KDRfMq/F3RR0BIU7sWg==}
    +
    +  axios@1.6.7:
    +    resolution: {integrity: sha512-/hDJGff6/c7u0hDkvkGxR/oy6CbCs8ziCsC7SqmhjfozqiJGc8Z11wrv9z9lYfY4K8l+H9TpjcMDX0xOZmx+RA==}
    +
    +  babel-jest@29.7.0:
    +    resolution: {integrity: sha512-BrvGY3xZSwEcCzKvKsCi2GgHqDqsYkOP4/by5xCgIwGXQxIEh+8ew3gmrE1y7XRR6LHZIj6yLYnUi/mm2KXKBg==}
    +    engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
    +    peerDependencies:
    +      '@babel/core': ^7.8.0
    +
    +  babel-loader@9.1.3:
    +    resolution: {integrity: sha512-xG3ST4DglodGf8qSwv0MdeWLhrDsw/32QMdTO5T1ZIp9gQur0HkCyFs7Awskr10JKXFXwpAhiCuYX5oGXnRGbw==}
    +    engines: {node: '>= 14.15.0'}
    +    peerDependencies:
    +      '@babel/core': ^7.12.0
    +      webpack: '>=5'
    +
    +  babel-plugin-istanbul@6.1.1:
    +    resolution: {integrity: sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==}
    +    engines: {node: '>=8'}
    +
    +  babel-plugin-jest-hoist@29.6.3:
    +    resolution: {integrity: sha512-ESAc/RJvGTFEzRwOTT4+lNDk/GNHMkKbNzsvT0qKRfDyyYTskxB5rnU2njIDYVxXCBHHEI1c0YwHob3WaYujOg==}
    +    engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
    +
    +  babel-plugin-polyfill-corejs2@0.4.11:
    +    resolution: {integrity: sha512-sMEJ27L0gRHShOh5G54uAAPaiCOygY/5ratXuiyb2G46FmlSpc9eFCzYVyDiPxfNbwzA7mYahmjQc5q+CZQ09Q==}
    +    peerDependencies:
    +      '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0
    +
    +  babel-plugin-polyfill-corejs3@0.10.4:
    +    resolution: {integrity: sha512-25J6I8NGfa5YkCDogHRID3fVCadIR8/pGl1/spvCkzb6lVn6SR3ojpx9nOn9iEBcUsjY24AmdKm5khcfKdylcg==}
    +    peerDependencies:
    +      '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0
    +
    +  babel-plugin-polyfill-regenerator@0.6.2:
    +    resolution: {integrity: sha512-2R25rQZWP63nGwaAswvDazbPXfrM3HwVoBXK6HcqeKrSrL/JqcC/rDcf95l4r7LXLyxDXc8uQDa064GubtCABg==}
    +    peerDependencies:
    +      '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0
    +
    +  babel-preset-current-node-syntax@1.0.1:
    +    resolution: {integrity: sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==}
    +    peerDependencies:
    +      '@babel/core': ^7.0.0
    +
    +  babel-preset-jest@29.6.3:
    +    resolution: {integrity: sha512-0B3bhxR6snWXJZtR/RliHTDPRgn1sNHOR0yVtq/IiQFyuOVjFS+wuio/R4gSNkyYmKmJB4wGZv2NZanmKmTnNA==}
    +    engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
    +    peerDependencies:
    +      '@babel/core': ^7.0.0
    +
    +  bail@2.0.2:
    +    resolution: {integrity: sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw==}
    +
    +  balanced-match@1.0.2:
    +    resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==}
    +
    +  base64-js@1.5.1:
    +    resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==}
    +
    +  batch@0.6.1:
    +    resolution: {integrity: sha512-x+VAiMRL6UPkx+kudNvxTl6hB2XNNCG2r+7wixVfIYwu/2HKRXimwQyaumLjMveWvT2Hkd/cAJw+QBMfJ/EKVw==}
    +
    +  bcrypt-pbkdf@1.0.2:
    +    resolution: {integrity: sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w==}
    +
    +  binary-extensions@2.2.0:
    +    resolution: {integrity: sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==}
    +    engines: {node: '>=8'}
    +
    +  binary-searching@2.0.5:
    +    resolution: {integrity: sha512-v4N2l3RxL+m4zDxyxz3Ne2aTmiPn8ZUpKFpdPtO+ItW1NcTCXA7JeHG5GMBSvoKSkQZ9ycS+EouDVxYB9ufKWA==}
    +
    +  binary@0.3.0:
    +    resolution: {integrity: sha512-D4H1y5KYwpJgK8wk1Cue5LLPgmwHKYSChkbspQg5JtVuR5ulGckxfR62H3AE9UDkdMC8yyXlqYihuz3Aqg2XZg==}
    +
    +  blob-util@2.0.2:
    +    resolution: {integrity: sha512-T7JQa+zsXXEa6/8ZhHcQEW1UFfVM49Ts65uBkFL6fz2QmrElqmbajIDJvuA0tEhRe5eIjpV9ZF+0RfZR9voJFQ==}
    +
    +  bluebird@3.7.1:
    +    resolution: {integrity: sha512-DdmyoGCleJnkbp3nkbxTLJ18rjDsE4yCggEwKNXkeV123sPNfOCYeDoeuOY+F2FrSjO1YXcTU+dsy96KMy+gcg==}
    +
    +  bluebird@3.7.2:
    +    resolution: {integrity: sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==}
    +
    +  bmpimagejs@1.0.4:
    +    resolution: {integrity: sha512-21oKU7kbRt2OgOOj7rdiNr/yznDNUQ585plxR00rsmECcZr+6O1oCwB8OIoSHk/bDhbG8mFXIdeQuCPHgZ6QBw==}
    +
    +  body-parser@1.20.2:
    +    resolution: {integrity: sha512-ml9pReCu3M61kGlqoTm2umSXTlRTuGTx0bfYj+uIUKKYycG5NtSbeetV3faSU6R7ajOPw0g/J1PvK4qNy7s5bA==}
    +    engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16}
    +
    +  bonjour-service@1.1.1:
    +    resolution: {integrity: sha512-Z/5lQRMOG9k7W+FkeGTNjh7htqn/2LMnfOvBZ8pynNZCM9MwkQkI3zeI4oz09uWdcgmgHugVvBqxGg4VQJ5PCg==}
    +
    +  boxen@5.1.2:
    +    resolution: {integrity: sha512-9gYgQKXx+1nP8mP7CzFyaUARhg7D3n1dF/FnErWmu9l6JvGpNUN278h0aSb+QjoiKSWG+iZ3uHrcqk0qrY9RQQ==}
    +    engines: {node: '>=10'}
    +
    +  brace-expansion@1.1.11:
    +    resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==}
    +
    +  brace-expansion@2.0.1:
    +    resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==}
    +
    +  braces@3.0.2:
    +    resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==}
    +    engines: {node: '>=8'}
    +
    +  browserslist@4.23.0:
    +    resolution: {integrity: sha512-QW8HiM1shhT2GuzkvklfjcKDiWFXHOeFCIA/huJPwHsslwcydgk7X+z2zXpEijP98UCY7HbubZt5J2Zgvf0CaQ==}
    +    engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7}
    +    hasBin: true
    +
    +  bser@2.1.1:
    +    resolution: {integrity: sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==}
    +
    +  buffer-crc32@0.2.13:
    +    resolution: {integrity: sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==}
    +
    +  buffer-from@1.1.2:
    +    resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==}
    +
    +  buffer@5.7.1:
    +    resolution: {integrity: sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==}
    +
    +  buffer@6.0.3:
    +    resolution: {integrity: sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==}
    +
    +  buffers@0.1.1:
    +    resolution: {integrity: sha512-9q/rDEGSb/Qsvv2qvzIzdluL5k7AaJOTrw23z9reQthrbF7is4CtlT0DXyO1oei2DCp4uojjzQ7igaSHp1kAEQ==}
    +    engines: {node: '>=0.2.0'}
    +
    +  builtin-modules@3.3.0:
    +    resolution: {integrity: sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==}
    +    engines: {node: '>=6'}
    +
    +  bytes@3.0.0:
    +    resolution: {integrity: sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw==}
    +    engines: {node: '>= 0.8'}
    +
    +  bytes@3.1.2:
    +    resolution: {integrity: sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==}
    +    engines: {node: '>= 0.8'}
    +
    +  cac@6.7.14:
    +    resolution: {integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==}
    +    engines: {node: '>=8'}
    +
    +  cacheable-lookup@5.0.4:
    +    resolution: {integrity: sha512-2/kNscPhpcxrOigMZzbiWF7dz8ilhb/nIHU3EyZiXWXpeq/au8qJ8VhdftMkty3n7Gj6HIGalQG8oiBNB3AJgA==}
    +    engines: {node: '>=10.6.0'}
    +
    +  cacheable-request@7.0.4:
    +    resolution: {integrity: sha512-v+p6ongsrp0yTGbJXjgxPow2+DL93DASP4kXCDKb8/bwRtt9OEF3whggkkDkGNzgcWy2XaF4a8nZglC7uElscg==}
    +    engines: {node: '>=8'}
    +
    +  cachedir@2.4.0:
    +    resolution: {integrity: sha512-9EtFOZR8g22CL7BWjJ9BUx1+A/djkofnyW3aOXZORNW2kxoUpx2h+uN2cOqwPmFhnpVmxg+KW2OjOSgChTEvsQ==}
    +    engines: {node: '>=6'}
    +
    +  caching-transform@4.0.0:
    +    resolution: {integrity: sha512-kpqOvwXnjjN44D89K5ccQC+RUrsy7jB/XLlRrx0D7/2HNcTPqzsb6XgYoErwko6QsV184CA2YgS1fxDiiDZMWA==}
    +    engines: {node: '>=8'}
    +
    +  call-bind@1.0.7:
    +    resolution: {integrity: sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==}
    +    engines: {node: '>= 0.4'}
    +
    +  call-me-maybe@1.0.2:
    +    resolution: {integrity: sha512-HpX65o1Hnr9HH25ojC1YGs7HCQLq0GCOibSaWER0eNpgJ/Z1MZv2mTc7+xh6WOPxbRVcmgbv4hGU+uSQ/2xFZQ==}
    +
    +  callsites@3.1.0:
    +    resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==}
    +    engines: {node: '>=6'}
    +
    +  camelcase-css@2.0.1:
    +    resolution: {integrity: sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==}
    +    engines: {node: '>= 6'}
    +
    +  camelcase@5.3.1:
    +    resolution: {integrity: sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==}
    +    engines: {node: '>=6'}
    +
    +  camelcase@6.3.0:
    +    resolution: {integrity: sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==}
    +    engines: {node: '>=10'}
    +
    +  caniuse-lite@1.0.30001594:
    +    resolution: {integrity: sha512-VblSX6nYqyJVs8DKFMldE2IVCJjZ225LW00ydtUWwh5hk9IfkTOffO6r8gJNsH0qqqeAF8KrbMYA2VEwTlGW5g==}
    +
    +  caseless@0.12.0:
    +    resolution: {integrity: sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==}
    +
    +  ccount@2.0.1:
    +    resolution: {integrity: sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==}
    +
    +  chai@4.4.1:
    +    resolution: {integrity: sha512-13sOfMv2+DWduEU+/xbun3LScLoqN17nBeTLUsmDfKdoiC1fr0n9PU4guu4AhRcOVFk/sW8LyZWHuhWtQZiF+g==}
    +    engines: {node: '>=4'}
    +
    +  chainsaw@0.1.0:
    +    resolution: {integrity: sha512-75kWfWt6MEKNC8xYXIdRpDehRYY/tNSgwKaJq+dbbDcxORuVrrQ+SEHoWsniVn9XPYfP4gmdWIeDk/4YNp1rNQ==}
    +
    +  chalk-template@1.1.0:
    +    resolution: {integrity: sha512-T2VJbcDuZQ0Tb2EWwSotMPJjgpy1/tGee1BTpUNsGZ/qgNjV2t7Mvu+d4600U564nbLesN1x2dPL+xii174Ekg==}
    +    engines: {node: '>=14.16'}
    +
    +  chalk@1.1.3:
    +    resolution: {integrity: sha512-U3lRVLMSlsCfjqYPbLyVv11M9CPW4I728d6TCKMAOJueEeB9/8o+eSsMnxPJD+Q+K909sdESg7C+tIkoH6on1A==}
    +    engines: {node: '>=0.10.0'}
    +
    +  chalk@2.4.2:
    +    resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==}
    +    engines: {node: '>=4'}
    +
    +  chalk@3.0.0:
    +    resolution: {integrity: sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==}
    +    engines: {node: '>=8'}
    +
    +  chalk@4.1.2:
    +    resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==}
    +    engines: {node: '>=10'}
    +
    +  chalk@5.3.0:
    +    resolution: {integrity: sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==}
    +    engines: {node: ^12.17.0 || ^14.13 || >=16.0.0}
    +
    +  char-regex@1.0.2:
    +    resolution: {integrity: sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==}
    +    engines: {node: '>=10'}
    +
    +  character-entities-legacy@1.1.4:
    +    resolution: {integrity: sha512-3Xnr+7ZFS1uxeiUDvV02wQ+QDbc55o97tIV5zHScSPJpcLm/r0DFPcoY3tYRp+VZukxuMeKgXYmsXQHO05zQeA==}
    +
    +  character-entities@1.2.4:
    +    resolution: {integrity: sha512-iBMyeEHxfVnIakwOuDXpVkc54HijNgCyQB2w0VfGQThle6NXn50zU6V/u+LDhxHcDUPojn6Kpga3PTAD8W1bQw==}
    +
    +  character-entities@2.0.2:
    +    resolution: {integrity: sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ==}
    +
    +  character-reference-invalid@1.1.4:
    +    resolution: {integrity: sha512-mKKUkUbhPpQlCOfIuZkvSEgktjPFIsZKRRbC6KWVEMvlzblj3i3asQv5ODsrwt0N3pHAEvjP8KTQPHkp0+6jOg==}
    +
    +  check-error@1.0.3:
    +    resolution: {integrity: sha512-iKEoDYaRmd1mxM90a2OEfWhjsjPpYPuQ+lMYsoxB126+t8fw7ySEO48nmDg5COTjxDI65/Y2OWpeEHk3ZOe8zg==}
    +
    +  check-more-types@2.24.0:
    +    resolution: {integrity: sha512-Pj779qHxV2tuapviy1bSZNEL1maXr13bPYpsvSDB68HlYcYuhlDrmGd63i0JHMCLKzc7rUSNIrpdJlhVlNwrxA==}
    +    engines: {node: '>= 0.8.0'}
    +
    +  chevrotain-allstar@0.3.1:
    +    resolution: {integrity: sha512-b7g+y9A0v4mxCW1qUhf3BSVPg+/NvGErk/dOkrDaHA0nQIQGAtrOjlX//9OQtRlSCy+x9rfB5N8yC71lH1nvMw==}
    +    peerDependencies:
    +      chevrotain: ^11.0.0
    +
    +  chevrotain@11.0.3:
    +    resolution: {integrity: sha512-ci2iJH6LeIkvP9eJW6gpueU8cnZhv85ELY8w8WiFtNjMHA5ad6pQLaJo9mEly/9qUyCpvqX8/POVUTf18/HFdw==}
    +
    +  chokidar@3.6.0:
    +    resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==}
    +    engines: {node: '>= 8.10.0'}
    +
    +  chrome-trace-event@1.0.3:
    +    resolution: {integrity: sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==}
    +    engines: {node: '>=6.0'}
    +
    +  ci-info@3.9.0:
    +    resolution: {integrity: sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==}
    +    engines: {node: '>=8'}
    +
    +  ci-info@4.0.0:
    +    resolution: {integrity: sha512-TdHqgGf9odd8SXNuxtUBVx8Nv+qZOejE6qyqiy5NtbYYQOeFa6zmHkxlPzmaLxWWHsU6nJmB7AETdVPi+2NBUg==}
    +    engines: {node: '>=8'}
    +
    +  cjs-module-lexer@1.2.3:
    +    resolution: {integrity: sha512-0TNiGstbQmCFwt4akjjBg5pLRTSyj/PkWQ1ZoO2zntmg9yLqSRxwEa4iCfQLGjqhiqBfOJa7W/E8wfGrTDmlZQ==}
    +
    +  cjson@0.3.0:
    +    resolution: {integrity: sha512-bBRQcCIHzI1IVH59fR0bwGrFmi3Btb/JNwM/n401i1DnYgWndpsUBiQRAddLflkZage20A2d25OAWZZk0vBRlA==}
    +    engines: {node: '>= 0.3.0'}
    +
    +  clap@3.1.1:
    +    resolution: {integrity: sha512-vp42956Ax06WwaaheYEqEOgXZ3VKJxgccZ0gJL0HpyiupkIS9RVJFo5eDU1BPeQAOqz+cclndZg4DCqG1sJReQ==}
    +    engines: {node: ^12.20.0 || ^14.13.0 || >=15.0.0, npm: '>=7.0.0'}
    +
    +  clean-regexp@1.0.0:
    +    resolution: {integrity: sha512-GfisEZEJvzKrmGWkvfhgzcz/BllN1USeqD2V6tg14OAOgaCD2Z/PUEuxnAZ/nPvmaHRG7a8y77p1T/IRQ4D1Hw==}
    +    engines: {node: '>=4'}
    +
    +  clean-stack@2.2.0:
    +    resolution: {integrity: sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==}
    +    engines: {node: '>=6'}
    +
    +  clean-stack@4.2.0:
    +    resolution: {integrity: sha512-LYv6XPxoyODi36Dp976riBtSY27VmFo+MKqEU9QCCWyTrdEPDog+RWA7xQWHi6Vbp61j5c4cdzzX1NidnwtUWg==}
    +    engines: {node: '>=12'}
    +
    +  clear-module@4.1.2:
    +    resolution: {integrity: sha512-LWAxzHqdHsAZlPlEyJ2Poz6AIs384mPeqLVCru2p0BrP9G/kVGuhNyZYClLO6cXlnuJjzC8xtsJIuMjKqLXoAw==}
    +    engines: {node: '>=8'}
    +
    +  cli-boxes@2.2.1:
    +    resolution: {integrity: sha512-y4coMcylgSCdVinjiDBuR8PCC2bLjyGTwEmPb9NHR/QaNU6EUOXcTY/s6VjGMD6ENSEaeQYHCY0GNGS5jfMwPw==}
    +    engines: {node: '>=6'}
    +
    +  cli-color@2.0.4:
    +    resolution: {integrity: sha512-zlnpg0jNcibNrO7GG9IeHH7maWFeCz+Ja1wx/7tZNU5ASSSSZ+/qZciM0/LHCYxSdqv5h2sdbQ/PXYdOuetXvA==}
    +    engines: {node: '>=0.10'}
    +
    +  cli-cursor@3.1.0:
    +    resolution: {integrity: sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==}
    +    engines: {node: '>=8'}
    +
    +  cli-cursor@4.0.0:
    +    resolution: {integrity: sha512-VGtlMu3x/4DOtIUwEkRezxUZ2lBacNJCHash0N0WeZDBS+7Ux1dm3XWAgWYxLJFMMdOeXMHXorshEFhbMSGelg==}
    +    engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
    +
    +  cli-table3@0.6.4:
    +    resolution: {integrity: sha512-Lm3L0p+/npIQWNIiyF/nAn7T5dnOwR3xNTHXYEBFBFVPXzCVNZ5lqEC/1eo/EVfpDsQ1I+TX4ORPQgp+UI0CRw==}
    +    engines: {node: 10.* || >= 12.*}
    +
    +  cli-truncate@2.1.0:
    +    resolution: {integrity: sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg==}
    +    engines: {node: '>=8'}
    +
    +  cli-truncate@4.0.0:
    +    resolution: {integrity: sha512-nPdaFdQ0h/GEigbPClz11D0v/ZJEwxmeVZGeMo3Z5StPtUTkA9o1lD6QwoirYiSDzbcwn2XcjwmCp68W1IS4TA==}
    +    engines: {node: '>=18'}
    +
    +  cliui@6.0.0:
    +    resolution: {integrity: sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==}
    +
    +  cliui@8.0.1:
    +    resolution: {integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==}
    +    engines: {node: '>=12'}
    +
    +  clone-deep@4.0.1:
    +    resolution: {integrity: sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==}
    +    engines: {node: '>=6'}
    +
    +  clone-response@1.0.3:
    +    resolution: {integrity: sha512-ROoL94jJH2dUVML2Y/5PEDNaSHgeOdSDicUyS7izcF63G6sTc/FTjLub4b8Il9S8S0beOfYt0TaA5qvFK+w0wA==}
    +
    +  co@4.6.0:
    +    resolution: {integrity: sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==}
    +    engines: {iojs: '>= 1.0.0', node: '>= 0.12.0'}
    +
    +  collect-v8-coverage@1.0.2:
    +    resolution: {integrity: sha512-lHl4d5/ONEbLlJvaJNtsF/Lz+WvB07u2ycqTYbdrq7UypDXailES4valYb2eWiJFxZlVmpGekfqoxQhzyFdT4Q==}
    +
    +  color-convert@1.9.3:
    +    resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==}
    +
    +  color-convert@2.0.1:
    +    resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==}
    +    engines: {node: '>=7.0.0'}
    +
    +  color-name@1.1.3:
    +    resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==}
    +
    +  color-name@1.1.4:
    +    resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==}
    +
    +  color-string@1.9.1:
    +    resolution: {integrity: sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==}
    +
    +  colorette@2.0.20:
    +    resolution: {integrity: sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==}
    +
    +  colors@0.5.1:
    +    resolution: {integrity: sha512-XjsuUwpDeY98+yz959OlUK6m7mLBM+1MEG5oaenfuQnNnrQk1WvtcvFgN3FNDP3f2NmZ211t0mNEfSEN1h0eIg==}
    +    engines: {node: '>=0.1.90'}
    +
    +  combined-stream@1.0.8:
    +    resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==}
    +    engines: {node: '>= 0.8'}
    +
    +  commander@11.0.0:
    +    resolution: {integrity: sha512-9HMlXtt/BNoYr8ooyjjNRdIilOTkVJXB+GhxMTtOKwk0R4j4lS4NpjuqmRxroBfnfTSHQIHQB7wryHhXarNjmQ==}
    +    engines: {node: '>=16'}
    +
    +  commander@11.1.0:
    +    resolution: {integrity: sha512-yPVavfyCcRhmorC7rWlkHn15b4wDVgVmBA7kV4QVBsF7kv/9TKJAbAXVTxvTnwP8HHKjRCJDClKbciiYS7p0DQ==}
    +    engines: {node: '>=16'}
    +
    +  commander@12.0.0:
    +    resolution: {integrity: sha512-MwVNWlYjDTtOjX5PiD7o5pK0UrFU/OYgcJfjjK4RaHZETNtjJqrZa9Y9ds88+A+f+d5lv+561eZ+yCKoS3gbAA==}
    +    engines: {node: '>=18'}
    +
    +  commander@2.20.3:
    +    resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==}
    +
    +  commander@4.1.1:
    +    resolution: {integrity: sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==}
    +    engines: {node: '>= 6'}
    +
    +  commander@5.1.0:
    +    resolution: {integrity: sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg==}
    +    engines: {node: '>= 6'}
    +
    +  commander@6.2.1:
    +    resolution: {integrity: sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA==}
    +    engines: {node: '>= 6'}
    +
    +  commander@7.2.0:
    +    resolution: {integrity: sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==}
    +    engines: {node: '>= 10'}
    +
    +  commander@8.3.0:
    +    resolution: {integrity: sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==}
    +    engines: {node: '>= 12'}
    +
    +  comment-json@4.2.3:
    +    resolution: {integrity: sha512-SsxdiOf064DWoZLH799Ata6u7iV658A11PlWtZATDlXPpKGJnbJZ5Z24ybixAi+LUUqJ/GKowAejtC5GFUG7Tw==}
    +    engines: {node: '>= 6'}
    +
    +  comment-parser@1.4.1:
    +    resolution: {integrity: sha512-buhp5kePrmda3vhc5B9t7pUQXAb2Tnd0qgpkIhPhkHXxJpiPJ11H0ZEU0oBpJ2QztSbzG/ZxMj/CHsYJqRHmyg==}
    +    engines: {node: '>= 12.0.0'}
    +
    +  common-path-prefix@3.0.0:
    +    resolution: {integrity: sha512-QE33hToZseCH3jS0qN96O/bSh3kaw/h+Tq7ngyY9eWDUnTlTNUyqfqvCXioLe5Na5jFsL78ra/wuBU4iuEgd4w==}
    +
    +  common-tags@1.8.2:
    +    resolution: {integrity: sha512-gk/Z852D2Wtb//0I+kRFNKKE9dIIVirjoqPoA1wJU+XePVXZfGeBpk45+A1rKO4Q43prqWBNY/MiIeRLbPWUaA==}
    +    engines: {node: '>=4.0.0'}
    +
    +  commondir@1.0.1:
    +    resolution: {integrity: sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==}
    +
    +  compressible@2.0.18:
    +    resolution: {integrity: sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==}
    +    engines: {node: '>= 0.6'}
    +
    +  compression@1.7.4:
    +    resolution: {integrity: sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==}
    +    engines: {node: '>= 0.8.0'}
    +
    +  concat-map@0.0.1:
    +    resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==}
    +
    +  concurrently@8.2.2:
    +    resolution: {integrity: sha512-1dP4gpXFhei8IOtlXRE/T/4H88ElHgTiUzh71YUmtjTEHMSRS2Z/fgOxHSxxusGHogsRfxNq1vyAwxSC+EVyDg==}
    +    engines: {node: ^14.13.0 || >=16.0.0}
    +    hasBin: true
    +
    +  confbox@0.1.7:
    +    resolution: {integrity: sha512-uJcB/FKZtBMCJpK8MQji6bJHgu1tixKPxRLeGkNzBoOZzpnZUJm0jm2/sBDWcuBx1dYgxV4JU+g5hmNxCyAmdA==}
    +
    +  configstore@6.0.0:
    +    resolution: {integrity: sha512-cD31W1v3GqUlQvbBCGcXmd2Nj9SvLDOP1oQ0YFuLETufzSPaKp11rYBsSOm7rCsW3OnIRAFM3OxRhceaXNYHkA==}
    +    engines: {node: '>=12'}
    +
    +  connect-history-api-fallback@2.0.0:
    +    resolution: {integrity: sha512-U73+6lQFmfiNPrYbXqr6kZ1i1wiRqXnp2nhMsINseWXO8lDau0LGEffJ8kQi4EjLZympVgRdvqjAgiZ1tgzDDA==}
    +    engines: {node: '>=0.8'}
    +
    +  consola@3.2.3:
    +    resolution: {integrity: sha512-I5qxpzLv+sJhTVEoLYNcTW+bThDCPsit0vLNKShZx6rLtpilNpmmeTPaeqJb9ZE9dV3DGaeby6Vuhrw38WjeyQ==}
    +    engines: {node: ^14.18.0 || >=16.10.0}
    +
    +  content-disposition@0.5.4:
    +    resolution: {integrity: sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==}
    +    engines: {node: '>= 0.6'}
    +
    +  content-type@1.0.5:
    +    resolution: {integrity: sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==}
    +    engines: {node: '>= 0.6'}
    +
    +  convert-source-map@1.9.0:
    +    resolution: {integrity: sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==}
    +
    +  convert-source-map@2.0.0:
    +    resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==}
    +
    +  cookie-signature@1.0.6:
    +    resolution: {integrity: sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==}
    +
    +  cookie@0.5.0:
    +    resolution: {integrity: sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==}
    +    engines: {node: '>= 0.6'}
    +
    +  cookie@0.6.0:
    +    resolution: {integrity: sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==}
    +    engines: {node: '>= 0.6'}
    +
    +  core-js-compat@3.36.0:
    +    resolution: {integrity: sha512-iV9Pd/PsgjNWBXeq8XRtWVSgz2tKAfhfvBs7qxYty+RlRd+OCksaWmOnc4JKrTc1cToXL1N0s3l/vwlxPtdElw==}
    +
    +  core-js-compat@3.37.0:
    +    resolution: {integrity: sha512-vYq4L+T8aS5UuFg4UwDhc7YNRWVeVZwltad9C/jV3R2LgVOpS9BDr7l/WL6BN0dbV3k1XejPTHqqEzJgsa0frA==}
    +
    +  core-util-is@1.0.2:
    +    resolution: {integrity: sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==}
    +
    +  core-util-is@1.0.3:
    +    resolution: {integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==}
    +
    +  cors@2.8.5:
    +    resolution: {integrity: sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==}
    +    engines: {node: '>= 0.10'}
    +
    +  cose-base@1.0.3:
    +    resolution: {integrity: sha512-s9whTXInMSgAp/NVXVNuVxVKzGH2qck3aQlVHxDCdAEPgtMKwc4Wq6/QKhgdEdgbLSi9rBTAcPoRa6JpiG4ksg==}
    +
    +  cp-file@10.0.0:
    +    resolution: {integrity: sha512-vy2Vi1r2epK5WqxOLnskeKeZkdZvTKfFZQCplE3XWsP+SUJyd5XAUFC9lFgTjjXJF2GMne/UML14iEmkAaDfFg==}
    +    engines: {node: '>=14.16'}
    +
    +  cpy-cli@5.0.0:
    +    resolution: {integrity: sha512-fb+DZYbL9KHc0BC4NYqGRrDIJZPXUmjjtqdw4XRRg8iV8dIfghUX/WiL+q4/B/KFTy3sK6jsbUhBaz0/Hxg7IQ==}
    +    engines: {node: '>=16'}
    +    hasBin: true
    +
    +  cpy@10.1.0:
    +    resolution: {integrity: sha512-VC2Gs20JcTyeQob6UViBLnyP0bYHkBh6EiKzot9vi2DmeGlFT9Wd7VG3NBrkNx/jYvFBeyDOMMHdHQhbtKLgHQ==}
    +    engines: {node: '>=16'}
    +
    +  create-jest@29.7.0:
    +    resolution: {integrity: sha512-Adz2bdH0Vq3F53KEMJOoftQFutWCukm6J24wbPWRO4k1kMY7gS7ds/uoJkNuV8wDCtWWnuwGcJwpWcih+zEW1Q==}
    +    engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
    +    hasBin: true
    +
    +  cross-env@7.0.3:
    +    resolution: {integrity: sha512-+/HKd6EgcQCJGh2PSjZuUitQBQynKor4wrFbRg4DtAgS1aWO+gU52xpH7M9ScGgXSYmAVS9bIJ8EzuaGw0oNAw==}
    +    engines: {node: '>=10.14', npm: '>=6', yarn: '>=1'}
    +    hasBin: true
    +
    +  cross-spawn@6.0.5:
    +    resolution: {integrity: sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==}
    +    engines: {node: '>=4.8'}
    +
    +  cross-spawn@7.0.3:
    +    resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==}
    +    engines: {node: '>= 8'}
    +
    +  crypto-random-string@2.0.0:
    +    resolution: {integrity: sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==}
    +    engines: {node: '>=8'}
    +
    +  crypto-random-string@4.0.0:
    +    resolution: {integrity: sha512-x8dy3RnvYdlUcPOjkEHqozhiwzKNSq7GcPuXFbnyMOCHxX8V3OgIg/pYuabl2sbUPfIJaeAQB7PMOK8DFIdoRA==}
    +    engines: {node: '>=12'}
    +
    +  cspell-config-lib@8.7.0:
    +    resolution: {integrity: sha512-depsd01GbLBo71/tfRrL5iECWQLS4CjCxA9C01dVkFAJqVB0s+K9KLKjTlq5aHOhcvo9Z3dHV+bGQCf5/Q7bfw==}
    +    engines: {node: '>=18'}
    +
    +  cspell-dictionary@8.7.0:
    +    resolution: {integrity: sha512-S6IpZSzIMxlOO/33NgCOuP0TPH2mZbw8d5CP44z5jajflloq8l74MeJLkeDzYfCRcm0Rtk0A5drBeMg+Ai34OA==}
    +    engines: {node: '>=18'}
    +
    +  cspell-gitignore@8.7.0:
    +    resolution: {integrity: sha512-yvUZ86qyopUpDgn+YXP1qTpUe/lp65ZFvpMtw21lWHTFlg1OWKntr349EQU/5ben/K6koxk1FiElCBV7Lr4uFg==}
    +    engines: {node: '>=18'}
    +    hasBin: true
    +
    +  cspell-glob@8.7.0:
    +    resolution: {integrity: sha512-AMdfx0gvROA/aIL8t8b5Y5NtMgscGZELFj6WhCSZiQSuWRxXUKiLGGLUFjx2y0hgXN9LUYOo6aBjvhnxI/v71g==}
    +    engines: {node: '>=18'}
    +
    +  cspell-grammar@8.7.0:
    +    resolution: {integrity: sha512-SGcXc7322wU2WNRi7vtpToWDXTqZHhxqvR+aIXHT2kkxlMSWp3Rvfpshd0ckgY54nZtgw7R/JtKND2jeACRpwQ==}
    +    engines: {node: '>=18'}
    +    hasBin: true
    +
    +  cspell-io@8.7.0:
    +    resolution: {integrity: sha512-o7OltyyvVkRG1gQrIqGpN5pUkHNnv6rvihb7Qu6cJ8jITinLGuWJuEQpgt0eF5yIr624jDbFwSzAxsFox8riQg==}
    +    engines: {node: '>=18'}
    +
    +  cspell-lib@8.7.0:
    +    resolution: {integrity: sha512-qDSHZGekwiDmouYRECTQokE+hgAuPqREm+Hb+G3DoIo3ZK5H47TtEUo8fNCw22XsKefcF8X28LiyoZwiYHVpSg==}
    +    engines: {node: '>=18'}
    +
    +  cspell-trie-lib@8.7.0:
    +    resolution: {integrity: sha512-W3Nh2cO7gMV91r+hLqyTMgKlvRl4W5diKs5YiyOxjZumRkMBy42IzcNYtgIIacOxghklv96F5Bd1Vx/zY6ylGA==}
    +    engines: {node: '>=18'}
    +
    +  cspell@8.7.0:
    +    resolution: {integrity: sha512-77nRPgLl240C6FK8RKVKo34lP15Lzp/6bk+SKYJFwUKKXlcgWXDis+Lw4JolA741/JgHtuxmhW1C8P7dCKjJ3w==}
    +    engines: {node: '>=18'}
    +    hasBin: true
    +
    +  css-tree@2.3.1:
    +    resolution: {integrity: sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw==}
    +    engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0}
    +
    +  cssesc@3.0.0:
    +    resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==}
    +    engines: {node: '>=4'}
    +    hasBin: true
    +
    +  cssstyle@4.0.1:
    +    resolution: {integrity: sha512-8ZYiJ3A/3OkDd093CBT/0UKDWry7ak4BdPTFP2+QEP7cmhouyq/Up709ASSj2cK02BbZiMgk7kYjZNS4QP5qrQ==}
    +    engines: {node: '>=18'}
    +
    +  csstree-validator@3.0.0:
    +    resolution: {integrity: sha512-Y5OSq3wI0Xz6L7DCgJQtQ97U+v99SkX9r663VjpvUMJPhEr0A149OxiAGqcnokB5bt81irgnMudspBzujzqn0w==}
    +    engines: {node: ^12.20.0 || ^14.13.0 || >=15.0.0, npm: '>=7.0.0'}
    +    hasBin: true
    +
    +  csstype@3.1.3:
    +    resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==}
    +
    +  cuint@0.2.2:
    +    resolution: {integrity: sha512-d4ZVpCW31eWwCMe1YT3ur7mUDnTXbgwyzaL320DrcRT45rfjYxkt5QWLrmOJ+/UEAI2+fQgKe/fCjR8l4TpRgw==}
    +
    +  cypress-image-snapshot@4.0.1:
    +    resolution: {integrity: sha512-PBpnhX/XItlx3/DAk5ozsXQHUi72exybBNH5Mpqj1DVmjq+S5Jd9WE5CRa4q5q0zuMZb2V2VpXHth6MjFpgj9Q==}
    +    engines: {node: '>=8'}
    +    peerDependencies:
    +      cypress: ^4.5.0
    +
    +  cypress@13.7.3:
    +    resolution: {integrity: sha512-uoecY6FTCAuIEqLUYkTrxamDBjMHTYak/1O7jtgwboHiTnS1NaMOoR08KcTrbRZFCBvYOiS4tEkQRmsV+xcrag==}
    +    engines: {node: ^16.0.0 || ^18.0.0 || >=20.0.0}
    +    hasBin: true
    +
    +  cytoscape-cose-bilkent@4.1.0:
    +    resolution: {integrity: sha512-wgQlVIUJF13Quxiv5e1gstZ08rnZj2XaLHGoFMYXz7SkNfCDOOteKBE6SYRfA9WxxI/iBc3ajfDoc6hb/MRAHQ==}
    +    peerDependencies:
    +      cytoscape: ^3.2.0
    +
    +  cytoscape@3.28.1:
    +    resolution: {integrity: sha512-xyItz4O/4zp9/239wCcH8ZcFuuZooEeF8KHRmzjDfGdXsj3OG9MFSMA0pJE0uX3uCN/ygof6hHf4L7lst+JaDg==}
    +    engines: {node: '>=0.10'}
    +
    +  d3-array@2.12.1:
    +    resolution: {integrity: sha512-B0ErZK/66mHtEsR1TkPEEkwdy+WDesimkM5gpZr5Dsg54BiTA5RXtYW5qTLIAcekaS9xfZrzBLF/OAkB3Qn1YQ==}
    +
    +  d3-array@3.2.4:
    +    resolution: {integrity: sha512-tdQAmyA18i4J7wprpYq8ClcxZy3SC31QMeByyCFyRt7BVHdREQZ5lpzoe5mFEYZUWe+oq8HBvk9JjpibyEV4Jg==}
    +    engines: {node: '>=12'}
    +
    +  d3-axis@3.0.0:
    +    resolution: {integrity: sha512-IH5tgjV4jE/GhHkRV0HiVYPDtvfjHQlQfJHs0usq7M30XcSBvOotpmH1IgkcXsO/5gEQZD43B//fc7SRT5S+xw==}
    +    engines: {node: '>=12'}
    +
    +  d3-brush@3.0.0:
    +    resolution: {integrity: sha512-ALnjWlVYkXsVIGlOsuWH1+3udkYFI48Ljihfnh8FZPF2QS9o+PzGLBslO0PjzVoHLZ2KCVgAM8NVkXPJB2aNnQ==}
    +    engines: {node: '>=12'}
    +
    +  d3-chord@3.0.1:
    +    resolution: {integrity: sha512-VE5S6TNa+j8msksl7HwjxMHDM2yNK3XCkusIlpX5kwauBfXuyLAtNg9jCp/iHH61tgI4sb6R/EIMWCqEIdjT/g==}
    +    engines: {node: '>=12'}
    +
    +  d3-color@3.1.0:
    +    resolution: {integrity: sha512-zg/chbXyeBtMQ1LbD/WSoW2DpC3I0mpmPdW+ynRTj/x2DAWYrIY7qeZIHidozwV24m4iavr15lNwIwLxRmOxhA==}
    +    engines: {node: '>=12'}
    +
    +  d3-contour@4.0.2:
    +    resolution: {integrity: sha512-4EzFTRIikzs47RGmdxbeUvLWtGedDUNkTcmzoeyg4sP/dvCexO47AaQL7VKy/gul85TOxw+IBgA8US2xwbToNA==}
    +    engines: {node: '>=12'}
    +
    +  d3-delaunay@6.0.4:
    +    resolution: {integrity: sha512-mdjtIZ1XLAM8bm/hx3WwjfHt6Sggek7qH043O8KEjDXN40xi3vx/6pYSVTwLjEgiXQTbvaouWKynLBiUZ6SK6A==}
    +    engines: {node: '>=12'}
    +
    +  d3-dispatch@3.0.1:
    +    resolution: {integrity: sha512-rzUyPU/S7rwUflMyLc1ETDeBj0NRuHKKAcvukozwhshr6g6c5d8zh4c2gQjY2bZ0dXeGLWc1PF174P2tVvKhfg==}
    +    engines: {node: '>=12'}
    +
    +  d3-drag@3.0.0:
    +    resolution: {integrity: sha512-pWbUJLdETVA8lQNJecMxoXfH6x+mO2UQo8rSmZ+QqxcbyA3hfeprFgIT//HW2nlHChWeIIMwS2Fq+gEARkhTkg==}
    +    engines: {node: '>=12'}
    +
    +  d3-dsv@3.0.1:
    +    resolution: {integrity: sha512-UG6OvdI5afDIFP9w4G0mNq50dSOsXHJaRE8arAS5o9ApWnIElp8GZw1Dun8vP8OyHOZ/QJUKUJwxiiCCnUwm+Q==}
    +    engines: {node: '>=12'}
    +    hasBin: true
    +
    +  d3-ease@3.0.1:
    +    resolution: {integrity: sha512-wR/XK3D3XcLIZwpbvQwQ5fK+8Ykds1ip7A2Txe0yxncXSdq1L9skcG7blcedkOX+ZcgxGAmLX1FrRGbADwzi0w==}
    +    engines: {node: '>=12'}
    +
    +  d3-fetch@3.0.1:
    +    resolution: {integrity: sha512-kpkQIM20n3oLVBKGg6oHrUchHM3xODkTzjMoj7aWQFq5QEM+R6E4WkzT5+tojDY7yjez8KgCBRoj4aEr99Fdqw==}
    +    engines: {node: '>=12'}
    +
    +  d3-force@3.0.0:
    +    resolution: {integrity: sha512-zxV/SsA+U4yte8051P4ECydjD/S+qeYtnaIyAs9tgHCqfguma/aAQDjo85A9Z6EKhBirHRJHXIgJUlffT4wdLg==}
    +    engines: {node: '>=12'}
    +
    +  d3-format@3.1.0:
    +    resolution: {integrity: sha512-YyUI6AEuY/Wpt8KWLgZHsIU86atmikuoOmCfommt0LYHiQSPjvX2AcFc38PX0CBpr2RCyZhjex+NS/LPOv6YqA==}
    +    engines: {node: '>=12'}
    +
    +  d3-geo@3.1.0:
    +    resolution: {integrity: sha512-JEo5HxXDdDYXCaWdwLRt79y7giK8SbhZJbFWXqbRTolCHFI5jRqteLzCsq51NKbUoX0PjBVSohxrx+NoOUujYA==}
    +    engines: {node: '>=12'}
    +
    +  d3-hierarchy@3.1.2:
    +    resolution: {integrity: sha512-FX/9frcub54beBdugHjDCdikxThEqjnR93Qt7PvQTOHxyiNCAlvMrHhclk3cD5VeAaq9fxmfRp+CnWw9rEMBuA==}
    +    engines: {node: '>=12'}
    +
    +  d3-interpolate@3.0.1:
    +    resolution: {integrity: sha512-3bYs1rOD33uo8aqJfKP3JWPAibgw8Zm2+L9vBKEHJ2Rg+viTR7o5Mmv5mZcieN+FRYaAOWX5SJATX6k1PWz72g==}
    +    engines: {node: '>=12'}
    +
    +  d3-path@1.0.9:
    +    resolution: {integrity: sha512-VLaYcn81dtHVTjEHd8B+pbe9yHWpXKZUC87PzoFmsFrJqgFwDe/qxfp5MlfsfM1V5E/iVt0MmEbWQ7FVIXh/bg==}
    +
    +  d3-path@3.1.0:
    +    resolution: {integrity: sha512-p3KP5HCf/bvjBSSKuXid6Zqijx7wIfNW+J/maPs+iwR35at5JCbLUT0LzF1cnjbCHWhqzQTIN2Jpe8pRebIEFQ==}
    +    engines: {node: '>=12'}
    +
    +  d3-polygon@3.0.1:
    +    resolution: {integrity: sha512-3vbA7vXYwfe1SYhED++fPUQlWSYTTGmFmQiany/gdbiWgU/iEyQzyymwL9SkJjFFuCS4902BSzewVGsHHmHtXg==}
    +    engines: {node: '>=12'}
    +
    +  d3-quadtree@3.0.1:
    +    resolution: {integrity: sha512-04xDrxQTDTCFwP5H6hRhsRcb9xxv2RzkcsygFzmkSIOJy3PeRJP7sNk3VRIbKXcog561P9oU0/rVH6vDROAgUw==}
    +    engines: {node: '>=12'}
    +
    +  d3-random@3.0.1:
    +    resolution: {integrity: sha512-FXMe9GfxTxqd5D6jFsQ+DJ8BJS4E/fT5mqqdjovykEB2oFbTMDVdg1MGFxfQW+FBOGoB++k8swBrgwSHT1cUXQ==}
    +    engines: {node: '>=12'}
    +
    +  d3-sankey@0.12.3:
    +    resolution: {integrity: sha512-nQhsBRmM19Ax5xEIPLMY9ZmJ/cDvd1BG3UVvt5h3WRxKg5zGRbvnteTyWAbzeSvlh3tW7ZEmq4VwR5mB3tutmQ==}
    +
    +  d3-scale-chromatic@3.0.0:
    +    resolution: {integrity: sha512-Lx9thtxAKrO2Pq6OO2Ua474opeziKr279P/TKZsMAhYyNDD3EnCffdbgeSYN5O7m2ByQsxtuP2CSDczNUIZ22g==}
    +    engines: {node: '>=12'}
    +
    +  d3-scale@4.0.2:
    +    resolution: {integrity: sha512-GZW464g1SH7ag3Y7hXjf8RoUuAFIqklOAq3MRl4OaWabTFJY9PN/E1YklhXLh+OQ3fM9yS2nOkCoS+WLZ6kvxQ==}
    +    engines: {node: '>=12'}
    +
    +  d3-selection@3.0.0:
    +    resolution: {integrity: sha512-fmTRWbNMmsmWq6xJV8D19U/gw/bwrHfNXxrIN+HfZgnzqTHp9jOmKMhsTUjXOJnZOdZY9Q28y4yebKzqDKlxlQ==}
    +    engines: {node: '>=12'}
    +
    +  d3-shape@1.3.7:
    +    resolution: {integrity: sha512-EUkvKjqPFUAZyOlhY5gzCxCeI0Aep04LwIRpsZ/mLFelJiUfnK56jo5JMDSE7yyP2kLSb6LtF+S5chMk7uqPqw==}
    +
    +  d3-shape@3.2.0:
    +    resolution: {integrity: sha512-SaLBuwGm3MOViRq2ABk3eLoxwZELpH6zhl3FbAoJ7Vm1gofKx6El1Ib5z23NUEhF9AsGl7y+dzLe5Cw2AArGTA==}
    +    engines: {node: '>=12'}
    +
    +  d3-time-format@4.1.0:
    +    resolution: {integrity: sha512-dJxPBlzC7NugB2PDLwo9Q8JiTR3M3e4/XANkreKSUxF8vvXKqm1Yfq4Q5dl8budlunRVlUUaDUgFt7eA8D6NLg==}
    +    engines: {node: '>=12'}
    +
    +  d3-time@3.1.0:
    +    resolution: {integrity: sha512-VqKjzBLejbSMT4IgbmVgDjpkYrNWUYJnbCGo874u7MMKIWsILRX+OpX/gTk8MqjpT1A/c6HY2dCA77ZN0lkQ2Q==}
    +    engines: {node: '>=12'}
    +
    +  d3-timer@3.0.1:
    +    resolution: {integrity: sha512-ndfJ/JxxMd3nw31uyKoY2naivF+r29V+Lc0svZxe1JvvIRmi8hUsrMvdOwgS1o6uBHmiz91geQ0ylPP0aj1VUA==}
    +    engines: {node: '>=12'}
    +
    +  d3-transition@3.0.1:
    +    resolution: {integrity: sha512-ApKvfjsSR6tg06xrL434C0WydLr7JewBB3V+/39RMHsaXTOG0zmt/OAXeng5M5LBm0ojmxJrpomQVZ1aPvBL4w==}
    +    engines: {node: '>=12'}
    +    peerDependencies:
    +      d3-selection: 2 - 3
    +
    +  d3-zoom@3.0.0:
    +    resolution: {integrity: sha512-b8AmV3kfQaqWAuacbPuNbL6vahnOJflOhexLzMMNLga62+/nh0JzvJ0aO/5a5MVgUFGS7Hu1P9P03o3fJkDCyw==}
    +    engines: {node: '>=12'}
    +
    +  d3@7.9.0:
    +    resolution: {integrity: sha512-e1U46jVP+w7Iut8Jt8ri1YsPOvFpg46k+K8TpCb0P+zjCkjkPnV7WzfDJzMHy1LnA+wj5pLT1wjO901gLXeEhA==}
    +    engines: {node: '>=12'}
    +
    +  d@1.0.2:
    +    resolution: {integrity: sha512-MOqHvMWF9/9MX6nza0KgvFH4HpMU0EF5uUDXqX/BtxtU8NfB0QzRtJ8Oe/6SuS4kbhyzVJwjd97EA4PKrzJ8bw==}
    +    engines: {node: '>=0.12'}
    +
    +  dagre-d3-es@7.0.10:
    +    resolution: {integrity: sha512-qTCQmEhcynucuaZgY5/+ti3X/rnszKZhEQH/ZdWdtP1tA/y3VoHJzcVrO9pjjJCNpigfscAtoUB5ONcd2wNn0A==}
    +
    +  dashdash@1.14.1:
    +    resolution: {integrity: sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g==}
    +    engines: {node: '>=0.10'}
    +
    +  data-uri-to-buffer@4.0.1:
    +    resolution: {integrity: sha512-0R9ikRb668HB7QDxT1vkpuUBtqc53YyAwMwGeUFKRojY/NWKvdZ+9UYtRfGmhqNbRkTSVpMbmyhXipFFv2cb/A==}
    +    engines: {node: '>= 12'}
    +
    +  data-urls@5.0.0:
    +    resolution: {integrity: sha512-ZYP5VBHshaDAiVZxjbRVcFJpc+4xGgT0bK3vzy1HLN8jTO975HEbuYzZJcHoQEY5K1a0z8YayJkyVETa08eNTg==}
    +    engines: {node: '>=18'}
    +
    +  data-view-buffer@1.0.1:
    +    resolution: {integrity: sha512-0lht7OugA5x3iJLOWFhWK/5ehONdprk0ISXqVFn/NFrDu+cuc8iADFrGQz5BnRK7LLU3JmkbXSxaqX+/mXYtUA==}
    +    engines: {node: '>= 0.4'}
    +
    +  data-view-byte-length@1.0.1:
    +    resolution: {integrity: sha512-4J7wRJD3ABAzr8wP+OcIcqq2dlUKp4DVflx++hs5h5ZKydWMI6/D/fAot+yh6g2tHh8fLFTvNOaVN357NvSrOQ==}
    +    engines: {node: '>= 0.4'}
    +
    +  data-view-byte-offset@1.0.0:
    +    resolution: {integrity: sha512-t/Ygsytq+R995EJ5PZlD4Cu56sWa8InXySaViRzw9apusqsOO2bQP+SbYzAhR0pFKoB+43lYy8rWban9JSuXnA==}
    +    engines: {node: '>= 0.4'}
    +
    +  date-fns@2.30.0:
    +    resolution: {integrity: sha512-fnULvOpxnC5/Vg3NCiWelDsLiUc9bRwAPs/+LfTLNvetFCtCTN+yQz15C/fs4AwX1R9K5GLtLfn8QW+dWisaAw==}
    +    engines: {node: '>=0.11'}
    +
    +  dayjs@1.11.10:
    +    resolution: {integrity: sha512-vjAczensTgRcqDERK0SR2XMwsF/tSvnvlv6VcF2GIhg6Sx4yOIt/irsr1RDJsKiIyBzJDpCoXiWWq28MqH2cnQ==}
    +
    +  dayjs@1.11.11:
    +    resolution: {integrity: sha512-okzr3f11N6WuqYtZSvm+F776mB41wRZMhKP+hc34YdW+KmtYYK9iqvHSwo2k9FEH3fhGXvOPV6yz2IcSrfRUDg==}
    +
    +  debug@2.6.9:
    +    resolution: {integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==}
    +    peerDependencies:
    +      supports-color: '*'
    +    peerDependenciesMeta:
    +      supports-color:
    +        optional: true
    +
    +  debug@3.2.7:
    +    resolution: {integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==}
    +    peerDependencies:
    +      supports-color: '*'
    +    peerDependenciesMeta:
    +      supports-color:
    +        optional: true
    +
    +  debug@4.3.3:
    +    resolution: {integrity: sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==}
    +    engines: {node: '>=6.0'}
    +    peerDependencies:
    +      supports-color: '*'
    +    peerDependenciesMeta:
    +      supports-color:
    +        optional: true
    +
    +  debug@4.3.4:
    +    resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==}
    +    engines: {node: '>=6.0'}
    +    peerDependencies:
    +      supports-color: '*'
    +    peerDependenciesMeta:
    +      supports-color:
    +        optional: true
    +
    +  decamelize@1.2.0:
    +    resolution: {integrity: sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==}
    +    engines: {node: '>=0.10.0'}
    +
    +  decimal.js@10.4.3:
    +    resolution: {integrity: sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA==}
    +
    +  decode-named-character-reference@1.0.2:
    +    resolution: {integrity: sha512-O8x12RzrUF8xyVcY0KJowWsmaJxQbmy0/EtnNtHRpsOcT7dFk5W598coHqBVpmWo1oQQfsCqfCmkZN5DJrZVdg==}
    +
    +  decompress-response@6.0.0:
    +    resolution: {integrity: sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==}
    +    engines: {node: '>=10'}
    +
    +  dedent@1.5.1:
    +    resolution: {integrity: sha512-+LxW+KLWxu3HW3M2w2ympwtqPrqYRzU8fqi6Fhd18fBALe15blJPI/I4+UHveMVG6lJqB4JNd4UG0S5cnVHwIg==}
    +    peerDependencies:
    +      babel-plugin-macros: ^3.1.0
    +    peerDependenciesMeta:
    +      babel-plugin-macros:
    +        optional: true
    +
    +  deep-eql@4.1.3:
    +    resolution: {integrity: sha512-WaEtAOpRA1MQ0eohqZjpGD8zdI0Ovsm8mmFhaDN8dvDZzyoUMcYDnf5Y6iu7HTXxf8JDS23qWa4a+hKCDyOPzw==}
    +    engines: {node: '>=6'}
    +
    +  deep-is@0.1.4:
    +    resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==}
    +
    +  deepmerge@4.3.1:
    +    resolution: {integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==}
    +    engines: {node: '>=0.10.0'}
    +
    +  default-gateway@6.0.3:
    +    resolution: {integrity: sha512-fwSOJsbbNzZ/CUFpqFBqYfYNLj1NbMPm8MMCIzHjC83iSJRBEGmDUxU+WP661BaBQImeC2yHwXtz+P/O9o+XEg==}
    +    engines: {node: '>= 10'}
    +
    +  default-require-extensions@3.0.1:
    +    resolution: {integrity: sha512-eXTJmRbm2TIt9MgWTsOH1wEuhew6XGZcMeGKCtLedIg/NCsg1iBePXkceTdK4Fii7pzmN9tGsZhKzZ4h7O/fxw==}
    +    engines: {node: '>=8'}
    +
    +  defer-to-connect@2.0.1:
    +    resolution: {integrity: sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg==}
    +    engines: {node: '>=10'}
    +
    +  define-data-property@1.1.4:
    +    resolution: {integrity: sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==}
    +    engines: {node: '>= 0.4'}
    +
    +  define-lazy-prop@2.0.0:
    +    resolution: {integrity: sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==}
    +    engines: {node: '>=8'}
    +
    +  define-properties@1.2.1:
    +    resolution: {integrity: sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==}
    +    engines: {node: '>= 0.4'}
    +
    +  defu@6.1.4:
    +    resolution: {integrity: sha512-mEQCMmwJu317oSz8CwdIOdwf3xMif1ttiM8LTufzc3g6kR+9Pe236twL8j3IYT1F7GfRgGcW6MWxzZjLIkuHIg==}
    +
    +  delaunator@5.0.1:
    +    resolution: {integrity: sha512-8nvh+XBe96aCESrGOqMp/84b13H9cdKbG5P2ejQCh4d4sK9RL4371qou9drQjMhvnPmhWl5hnmqbEE0fXr9Xnw==}
    +
    +  delayed-stream@1.0.0:
    +    resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==}
    +    engines: {node: '>=0.4.0'}
    +
    +  depd@1.1.2:
    +    resolution: {integrity: sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==}
    +    engines: {node: '>= 0.6'}
    +
    +  depd@2.0.0:
    +    resolution: {integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==}
    +    engines: {node: '>= 0.8'}
    +
    +  dequal@2.0.3:
    +    resolution: {integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==}
    +    engines: {node: '>=6'}
    +
    +  destr@2.0.3:
    +    resolution: {integrity: sha512-2N3BOUU4gYMpTP24s5rF5iP7BDr7uNTCs4ozw3kf/eKfvWSIu93GEBi5m427YoyJoeOzQ5smuu4nNAPGb8idSQ==}
    +
    +  destroy@1.2.0:
    +    resolution: {integrity: sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==}
    +    engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16}
    +
    +  detect-newline@3.1.0:
    +    resolution: {integrity: sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==}
    +    engines: {node: '>=8'}
    +
    +  detect-node@2.1.0:
    +    resolution: {integrity: sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==}
    +
    +  devlop@1.1.0:
    +    resolution: {integrity: sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA==}
    +
    +  didyoumean@1.2.2:
    +    resolution: {integrity: sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==}
    +
    +  diff-sequences@29.6.3:
    +    resolution: {integrity: sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==}
    +    engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
    +
    +  dir-glob@3.0.1:
    +    resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==}
    +    engines: {node: '>=8'}
    +
    +  dlv@1.1.3:
    +    resolution: {integrity: sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==}
    +
    +  dns-equal@1.0.0:
    +    resolution: {integrity: sha512-z+paD6YUQsk+AbGCEM4PrOXSss5gd66QfcVBFTKR/HpFL9jCqikS94HYwKww6fQyO7IxrIIyUu+g0Ka9tUS2Cg==}
    +
    +  dns-packet@5.6.0:
    +    resolution: {integrity: sha512-rza3UH1LwdHh9qyPXp8lkwpjSNk/AMD3dPytUoRoqnypDUhY0xvbdmVhWOfxO68frEfV9BU8V12Ez7ZsHGZpCQ==}
    +    engines: {node: '>=6'}
    +
    +  doctrine@3.0.0:
    +    resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==}
    +    engines: {node: '>=6.0.0'}
    +
    +  dom-serializer@2.0.0:
    +    resolution: {integrity: sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==}
    +
    +  dom-to-image-more@2.16.0:
    +    resolution: {integrity: sha512-RyjtkaM/zVy90uJ20lT+/G7MwBZx6l/ePliq5CQOeAnPeew7aUGS6IqRWBkHpstU+POmhaKA8A9H9qf476gisQ==}
    +
    +  domelementtype@2.3.0:
    +    resolution: {integrity: sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==}
    +
    +  domhandler@5.0.3:
    +    resolution: {integrity: sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==}
    +    engines: {node: '>= 4'}
    +
    +  dompurify@3.1.2:
    +    resolution: {integrity: sha512-hLGGBI1tw5N8qTELr3blKjAML/LY4ANxksbS612UiJyDfyf/2D092Pvm+S7pmeTGJRqvlJkFzBoHBQKgQlOQVg==}
    +
    +  domutils@3.1.0:
    +    resolution: {integrity: sha512-H78uMmQtI2AhgDJjWeQmHwJJ2bLPD3GMmO7Zja/ZZh84wkm+4ut+IUnUdRa8uCGX88DiVx1j6FRe1XfxEgjEZA==}
    +
    +  dot-prop@6.0.1:
    +    resolution: {integrity: sha512-tE7ztYzXHIeyvc7N+hR3oi7FIbf/NIjVP9hmAt3yMXzrQ072/fpjGLx2GxNxGxUl5V73MEqYzioOMoVhGMJ5cA==}
    +    engines: {node: '>=10'}
    +
    +  dotenv@16.4.5:
    +    resolution: {integrity: sha512-ZmdL2rui+eB2YwhsWzjInR8LldtZHGDoQ1ugH85ppHKwpUHL7j7rN0Ti9NCnGiQbhaZ11FpR+7ao1dNsmduNUg==}
    +    engines: {node: '>=12'}
    +
    +  duplexer@0.1.2:
    +    resolution: {integrity: sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==}
    +
    +  eastasianwidth@0.2.0:
    +    resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==}
    +
    +  ebnf-parser@0.1.10:
    +    resolution: {integrity: sha512-urvSxVQ6XJcoTpc+/x2pWhhuOX4aljCNQpwzw+ifZvV1andZkAmiJc3Rq1oGEAQmcjiLceyMXOy1l8ms8qs2fQ==}
    +
    +  ecc-jsbn@0.1.2:
    +    resolution: {integrity: sha512-eh9O+hwRHNbG4BLTjEl3nw044CkGm5X6LoaCf7LPp7UU8Qrt47JYNi6nPX8xjW97TKGKm1ouctg0QSpZe9qrnw==}
    +
    +  ee-first@1.1.1:
    +    resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==}
    +
    +  ejs@3.1.10:
    +    resolution: {integrity: sha512-UeJmFfOrAQS8OJWPZ4qtgHyWExa088/MtK5UEyoJGFH67cDEXkZSviOiKRCZ4Xij0zxI3JECgYs3oKx+AizQBA==}
    +    engines: {node: '>=0.10.0'}
    +    hasBin: true
    +
    +  electron-to-chromium@1.4.692:
    +    resolution: {integrity: sha512-d5rZRka9n2Y3MkWRN74IoAsxR0HK3yaAt7T50e3iT9VZmCCQDT3geXUO5ZRMhDToa1pkCeQXuNo+0g+NfDOVPA==}
    +
    +  elkjs@0.9.3:
    +    resolution: {integrity: sha512-f/ZeWvW/BCXbhGEf1Ujp29EASo/lk1FDnETgNKwJrsVvGZhUWCZyg3xLJjAsxfOmt8KjswHmI5EwCQcPMpOYhQ==}
    +
    +  emittery@0.13.1:
    +    resolution: {integrity: sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==}
    +    engines: {node: '>=12'}
    +
    +  emoji-regex@10.3.0:
    +    resolution: {integrity: sha512-QpLs9D9v9kArv4lfDEgg1X/gN5XLnf/A6l9cs8SPZLRZR3ZkY9+kwIQTxm+fsSej5UMYGE8fdoaZVIBlqG0XTw==}
    +
    +  emoji-regex@8.0.0:
    +    resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==}
    +
    +  emoji-regex@9.2.2:
    +    resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==}
    +
    +  encodeurl@1.0.2:
    +    resolution: {integrity: sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==}
    +    engines: {node: '>= 0.8'}
    +
    +  encoding@0.1.13:
    +    resolution: {integrity: sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==}
    +
    +  end-of-stream@1.4.4:
    +    resolution: {integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==}
    +
    +  enhanced-resolve@5.16.0:
    +    resolution: {integrity: sha512-O+QWCviPNSSLAD9Ucn8Awv+poAkqn3T1XY5/N7kR7rQO9yfSGWkYZDwpJ+iKF7B8rxaQKWngSqACpgzeapSyoA==}
    +    engines: {node: '>=10.13.0'}
    +
    +  enquirer@2.4.1:
    +    resolution: {integrity: sha512-rRqJg/6gd538VHvR3PSrdRBb/1Vy2YfzHqzvbhGIQpDRKIa4FgV/54b5Q1xYSxOOwKvjXweS26E0Q+nAMwp2pQ==}
    +    engines: {node: '>=8.6'}
    +
    +  entities@3.0.1:
    +    resolution: {integrity: sha512-WiyBqoomrwMdFG1e0kqvASYfnlb0lp8M5o5Fw2OFq1hNZxxcNk8Ik0Xm7LxzBhuidnZB/UtBqVCgUz3kBOP51Q==}
    +    engines: {node: '>=0.12'}
    +
    +  entities@4.5.0:
    +    resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==}
    +    engines: {node: '>=0.12'}
    +
    +  envinfo@7.10.0:
    +    resolution: {integrity: sha512-ZtUjZO6l5mwTHvc1L9+1q5p/R3wTopcfqMW8r5t8SJSKqeVI/LtajORwRFEKpEFuekjD0VBjwu1HMxL4UalIRw==}
    +    engines: {node: '>=4'}
    +    hasBin: true
    +
    +  error-ex@1.3.2:
    +    resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==}
    +
    +  es-abstract@1.23.3:
    +    resolution: {integrity: sha512-e+HfNH61Bj1X9/jLc5v1owaLYuHdeHHSQlkhCBiTK8rBvKaULl/beGMxwrMXjpYrv4pz22BlY570vVePA2ho4A==}
    +    engines: {node: '>= 0.4'}
    +
    +  es-define-property@1.0.0:
    +    resolution: {integrity: sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==}
    +    engines: {node: '>= 0.4'}
    +
    +  es-errors@1.3.0:
    +    resolution: {integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==}
    +    engines: {node: '>= 0.4'}
    +
    +  es-module-lexer@1.4.1:
    +    resolution: {integrity: sha512-cXLGjP0c4T3flZJKQSuziYoq7MlT+rnvfZjfp7h+I7K9BNX54kP9nyWvdbwjQ4u1iWbOL4u96fgeZLToQlZC7w==}
    +
    +  es-object-atoms@1.0.0:
    +    resolution: {integrity: sha512-MZ4iQ6JwHOBQjahnjwaC1ZtIBH+2ohjamzAO3oaHcXYup7qxjF2fixyH+Q71voWHeOkI2q/TnJao/KfXYIZWbw==}
    +    engines: {node: '>= 0.4'}
    +
    +  es-set-tostringtag@2.0.3:
    +    resolution: {integrity: sha512-3T8uNMC3OQTHkFUsFq8r/BwAXLHvU/9O9mE0fBc/MY5iq/8H7ncvO947LmYA6ldWw9Uh8Yhf25zu6n7nML5QWQ==}
    +    engines: {node: '>= 0.4'}
    +
    +  es-to-primitive@1.2.1:
    +    resolution: {integrity: sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==}
    +    engines: {node: '>= 0.4'}
    +
    +  es2015-i18n-tag@1.6.1:
    +    resolution: {integrity: sha512-MYoh9p+JTkgnzBh0MEBON6xUyzdmwT6wzsmmFJvZujGSXiI2kM+3XvFl6+AcIO2eeL6VWgtX9szSiDTMwDxyYA==}
    +    engines: {node: '>= 4.0.0'}
    +
    +  es5-ext@0.10.64:
    +    resolution: {integrity: sha512-p2snDhiLaXe6dahss1LddxqEm+SkuDvV8dnIQG0MWjyHpcMNfXKPE+/Cc0y+PhxJX3A4xGNeFCj5oc0BUh6deg==}
    +    engines: {node: '>=0.10'}
    +
    +  es6-error@4.1.1:
    +    resolution: {integrity: sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg==}
    +
    +  es6-iterator@2.0.3:
    +    resolution: {integrity: sha512-zw4SRzoUkd+cl+ZoE15A9o1oQd920Bb0iOJMQkQhl3jNc03YqVjAhG7scf9C5KWRU/R13Orf588uCC6525o02g==}
    +
    +  es6-symbol@3.1.4:
    +    resolution: {integrity: sha512-U9bFFjX8tFiATgtkJ1zg25+KviIXpgRvRHS8sau3GfhVzThRQrOeksPeT0BWW2MNZs1OEWJ1DPXOQMn0KKRkvg==}
    +    engines: {node: '>=0.12'}
    +
    +  es6-weak-map@2.0.3:
    +    resolution: {integrity: sha512-p5um32HOTO1kP+w7PRnB+5lQ43Z6muuMuIMffvDN8ZB4GcnjLBV6zGStpbASIMk4DCAvEaamhe2zhyCb/QXXsA==}
    +
    +  esbuild@0.19.12:
    +    resolution: {integrity: sha512-aARqgq8roFBj054KvQr5f1sFu0D65G+miZRCuJyJ0G13Zwx7vRar5Zhn2tkQNzIXcBrNVsv/8stehpj+GAjgbg==}
    +    engines: {node: '>=12'}
    +    hasBin: true
    +
    +  esbuild@0.20.2:
    +    resolution: {integrity: sha512-WdOOppmUNU+IbZ0PaDiTst80zjnrOkyJNHoKupIcVyU8Lvla3Ugx94VzkQ32Ijqd7UhHJy75gNWDMUekcrSJ6g==}
    +    engines: {node: '>=12'}
    +    hasBin: true
    +
    +  escalade@3.1.2:
    +    resolution: {integrity: sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==}
    +    engines: {node: '>=6'}
    +
    +  escape-html@1.0.3:
    +    resolution: {integrity: sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==}
    +
    +  escape-string-regexp@1.0.5:
    +    resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==}
    +    engines: {node: '>=0.8.0'}
    +
    +  escape-string-regexp@2.0.0:
    +    resolution: {integrity: sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==}
    +    engines: {node: '>=8'}
    +
    +  escape-string-regexp@4.0.0:
    +    resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==}
    +    engines: {node: '>=10'}
    +
    +  escape-string-regexp@5.0.0:
    +    resolution: {integrity: sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==}
    +    engines: {node: '>=12'}
    +
    +  escodegen@1.3.3:
    +    resolution: {integrity: sha512-z9FWgKc48wjMlpzF5ymKS1AF8OIgnKLp9VyN7KbdtyrP/9lndwUFqCtMm+TAJmJf7KJFFYc4cFJfVTTGkKEwsA==}
    +    engines: {node: '>=0.10.0'}
    +    hasBin: true
    +
    +  eslint-config-prettier@9.1.0:
    +    resolution: {integrity: sha512-NSWl5BFQWEPi1j4TjVNItzYV7dZXZ+wP6I6ZhrBGpChQhZRUaElihE9uRRkcbRnNb76UMKDF3r+WTmNcGPKsqw==}
    +    hasBin: true
    +    peerDependencies:
    +      eslint: '>=7.0.0'
    +
    +  eslint-plugin-cypress@2.15.2:
    +    resolution: {integrity: sha512-CtcFEQTDKyftpI22FVGpx8bkpKyYXBlNge6zSo0pl5/qJvBAnzaD76Vu2AsP16d6mTj478Ldn2mhgrWV+Xr0vQ==}
    +    peerDependencies:
    +      eslint: '>= 3.2.1'
    +
    +  eslint-plugin-html@8.1.1:
    +    resolution: {integrity: sha512-6qmlJsc40D2m3Dn9oEH+0PAOkJhxVu0f5sVItqpCE0YWgYnyP4xCjBc3UWTHaJcY9ARkWOLIIuXLq0ndRnQOHw==}
    +    engines: {node: '>=16.0.0'}
    +
    +  eslint-plugin-jest@27.9.0:
    +    resolution: {integrity: sha512-QIT7FH7fNmd9n4se7FFKHbsLKGQiw885Ds6Y/sxKgCZ6natwCsXdgPOADnYVxN2QrRweF0FZWbJ6S7Rsn7llug==}
    +    engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
    +    peerDependencies:
    +      '@typescript-eslint/eslint-plugin': ^5.0.0 || ^6.0.0 || ^7.0.0
    +      eslint: ^7.0.0 || ^8.0.0
    +      jest: '*'
    +    peerDependenciesMeta:
    +      '@typescript-eslint/eslint-plugin':
    +        optional: true
    +      jest:
    +        optional: true
    +
    +  eslint-plugin-jsdoc@48.2.3:
    +    resolution: {integrity: sha512-r9DMAmFs66VNvNqRLLjHejdnJtILrt3xGi+Qx0op0oRfFGVpOR1Hb3BC++MacseHx93d8SKYPhyrC9BS7Os2QA==}
    +    engines: {node: '>=18'}
    +    peerDependencies:
    +      eslint: ^7.0.0 || ^8.0.0 || ^9.0.0
    +
    +  eslint-plugin-json@3.1.0:
    +    resolution: {integrity: sha512-MrlG2ynFEHe7wDGwbUuFPsaT2b1uhuEFhJ+W1f1u+1C2EkXmTYJp4B1aAdQQ8M+CC3t//N/oRKiIVw14L2HR1g==}
    +    engines: {node: '>=12.0'}
    +
    +  eslint-plugin-lodash@7.4.0:
    +    resolution: {integrity: sha512-Tl83UwVXqe1OVeBRKUeWcfg6/pCW1GTRObbdnbEJgYwjxp5Q92MEWQaH9+dmzbRt6kvYU1Mp893E79nJiCSM8A==}
    +    engines: {node: '>=10'}
    +    peerDependencies:
    +      eslint: '>=2'
    +
    +  eslint-plugin-markdown@4.0.1:
    +    resolution: {integrity: sha512-5/MnGvYU0i8MbHH5cg8S+Vl3DL+bqRNYshk1xUO86DilNBaxtTkhH+5FD0/yO03AmlI6+lfNFdk2yOw72EPzpA==}
    +    engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
    +    peerDependencies:
    +      eslint: '>=8'
    +
    +  eslint-plugin-no-only-tests@3.1.0:
    +    resolution: {integrity: sha512-Lf4YW/bL6Un1R6A76pRZyE1dl1vr31G/ev8UzIc/geCgFWyrKil8hVjYqWVKGB/UIGmb6Slzs9T0wNezdSVegw==}
    +    engines: {node: '>=5.0.0'}
    +
    +  eslint-plugin-tsdoc@0.2.17:
    +    resolution: {integrity: sha512-xRmVi7Zx44lOBuYqG8vzTXuL6IdGOeF9nHX17bjJ8+VE6fsxpdGem0/SBTmAwgYMKYB1WBkqRJVQ+n8GK041pA==}
    +
    +  eslint-plugin-unicorn@51.0.1:
    +    resolution: {integrity: sha512-MuR/+9VuB0fydoI0nIn2RDA5WISRn4AsJyNSaNKLVwie9/ONvQhxOBbkfSICBPnzKrB77Fh6CZZXjgTt/4Latw==}
    +    engines: {node: '>=16'}
    +    peerDependencies:
    +      eslint: '>=8.56.0'
    +
    +  eslint-scope@5.1.1:
    +    resolution: {integrity: sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==}
    +    engines: {node: '>=8.0.0'}
    +
    +  eslint-scope@7.2.2:
    +    resolution: {integrity: sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==}
    +    engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
    +
    +  eslint-visitor-keys@3.4.3:
    +    resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==}
    +    engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
    +
    +  eslint-visitor-keys@4.0.0:
    +    resolution: {integrity: sha512-OtIRv/2GyiF6o/d8K7MYKKbXrOUBIK6SfkIRM4Z0dY3w+LiQ0vy3F57m0Z71bjbyeiWFiHJ8brqnmE6H6/jEuw==}
    +    engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
    +
    +  eslint@8.57.0:
    +    resolution: {integrity: sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==}
    +    engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
    +    hasBin: true
    +
    +  esniff@2.0.1:
    +    resolution: {integrity: sha512-kTUIGKQ/mDPFoJ0oVfcmyJn4iBDRptjNVIzwIFR7tqWXdVI9xfA2RMwY/gbSpJG3lkdWNEjLap/NqVHZiJsdfg==}
    +    engines: {node: '>=0.10'}
    +
    +  espree@10.0.1:
    +    resolution: {integrity: sha512-MWkrWZbJsL2UwnjxTX3gG8FneachS/Mwg7tdGXce011sJd5b0JG54vat5KHnfSBODZ3Wvzd2WnjxyzsRoVv+ww==}
    +    engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
    +
    +  espree@9.6.1:
    +    resolution: {integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==}
    +    engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
    +
    +  esprima@1.1.1:
    +    resolution: {integrity: sha512-qxxB994/7NtERxgXdFgLHIs9M6bhLXc6qtUmWZ3L8+gTQ9qaoyki2887P2IqAYsoENyr8SUbTutStDniOHSDHg==}
    +    engines: {node: '>=0.4.0'}
    +    hasBin: true
    +
    +  esprima@4.0.1:
    +    resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==}
    +    engines: {node: '>=4'}
    +    hasBin: true
    +
    +  esquery@1.5.0:
    +    resolution: {integrity: sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==}
    +    engines: {node: '>=0.10'}
    +
    +  esrecurse@4.3.0:
    +    resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==}
    +    engines: {node: '>=4.0'}
    +
    +  estraverse@1.5.1:
    +    resolution: {integrity: sha512-FpCjJDfmo3vsc/1zKSeqR5k42tcIhxFIlvq+h9j0fO2q/h2uLKyweq7rYJ+0CoVvrGQOxIS5wyBrW/+vF58BUQ==}
    +    engines: {node: '>=0.4.0'}
    +
    +  estraverse@4.3.0:
    +    resolution: {integrity: sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==}
    +    engines: {node: '>=4.0'}
    +
    +  estraverse@5.3.0:
    +    resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==}
    +    engines: {node: '>=4.0'}
    +
    +  estree-walker@1.0.1:
    +    resolution: {integrity: sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg==}
    +
    +  estree-walker@2.0.2:
    +    resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==}
    +
    +  estree-walker@3.0.3:
    +    resolution: {integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==}
    +
    +  esutils@1.0.0:
    +    resolution: {integrity: sha512-x/iYH53X3quDwfHRz4y8rn4XcEwwCJeWsul9pF1zldMbGtgOtMNBEOuYWwB1EQlK2LRa1fev3YAgym/RElp5Cg==}
    +    engines: {node: '>=0.10.0'}
    +
    +  esutils@2.0.3:
    +    resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==}
    +    engines: {node: '>=0.10.0'}
    +
    +  etag@1.8.1:
    +    resolution: {integrity: sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==}
    +    engines: {node: '>= 0.6'}
    +
    +  event-emitter@0.3.5:
    +    resolution: {integrity: sha512-D9rRn9y7kLPnJ+hMq7S/nhvoKwwvVJahBi2BPmx3bvbsEdK3W9ii8cBSGjP+72/LnM4n6fo3+dkCX5FeTQruXA==}
    +
    +  event-stream@3.3.4:
    +    resolution: {integrity: sha512-QHpkERcGsR0T7Qm3HNJSyXKEEj8AHNxkY3PK8TS2KJvQ7NiSHe3DDpwVKKtoYprL/AreyzFBeIkBIWChAqn60g==}
    +
    +  event-target-shim@5.0.1:
    +    resolution: {integrity: sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==}
    +    engines: {node: '>=6'}
    +
    +  eventemitter2@6.4.7:
    +    resolution: {integrity: sha512-tYUSVOGeQPKt/eC1ABfhHy5Xd96N3oIijJvN3O9+TsC28T5V9yX9oEfEK5faP0EFSNVOG97qtAS68GBrQB2hDg==}
    +
    +  eventemitter3@4.0.7:
    +    resolution: {integrity: sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==}
    +
    +  eventemitter3@5.0.1:
    +    resolution: {integrity: sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA==}
    +
    +  events@3.3.0:
    +    resolution: {integrity: sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==}
    +    engines: {node: '>=0.8.x'}
    +
    +  execa@1.0.0:
    +    resolution: {integrity: sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==}
    +    engines: {node: '>=6'}
    +
    +  execa@4.1.0:
    +    resolution: {integrity: sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA==}
    +    engines: {node: '>=10'}
    +
    +  execa@5.1.1:
    +    resolution: {integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==}
    +    engines: {node: '>=10'}
    +
    +  execa@8.0.1:
    +    resolution: {integrity: sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==}
    +    engines: {node: '>=16.17'}
    +
    +  executable@4.1.1:
    +    resolution: {integrity: sha512-8iA79xD3uAch729dUG8xaaBBFGaEa0wdD2VkYLFHwlqosEj/jT66AzcreRDSgV7ehnNLBW2WR5jIXwGKjVdTLg==}
    +    engines: {node: '>=4'}
    +
    +  exit@0.1.2:
    +    resolution: {integrity: sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==}
    +    engines: {node: '>= 0.8.0'}
    +
    +  expect@29.7.0:
    +    resolution: {integrity: sha512-2Zks0hf1VLFYI1kbh0I5jP3KHHyCHpkfyHBzsSXRFgl/Bg9mWYfMW8oD+PdMPlEwy5HNsR9JutYy6pMeOh61nw==}
    +    engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
    +
    +  express@4.19.1:
    +    resolution: {integrity: sha512-K4w1/Bp7y8iSiVObmCrtq8Cs79XjJc/RU2YYkZQ7wpUu5ZyZ7MtPHkqoMz4pf+mgXfNvo2qft8D9OnrH2ABk9w==}
    +    engines: {node: '>= 0.10.0'}
    +
    +  express@4.19.2:
    +    resolution: {integrity: sha512-5T6nhjsT+EOMzuck8JjBHARTHfMht0POzlA60WV2pMD3gyXw2LZnZ+ueGdNxG+0calOJcWKbpFcuzLZ91YWq9Q==}
    +    engines: {node: '>= 0.10.0'}
    +
    +  ext@1.7.0:
    +    resolution: {integrity: sha512-6hxeJYaL110a9b5TEJSj0gojyHQAmA2ch5Os+ySCiA1QGdS697XWY1pzsrSjqA9LDEEgdB/KypIlR59RcLuHYw==}
    +
    +  extend@3.0.2:
    +    resolution: {integrity: sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==}
    +
    +  extract-zip@2.0.1:
    +    resolution: {integrity: sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg==}
    +    engines: {node: '>= 10.17.0'}
    +    hasBin: true
    +
    +  extsprintf@1.3.0:
    +    resolution: {integrity: sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g==}
    +    engines: {'0': node >=0.6.0}
    +
    +  fast-content-type-parse@1.1.0:
    +    resolution: {integrity: sha512-fBHHqSTFLVnR61C+gltJuE5GkVQMV0S2nqUO8TJ+5Z3qAKG8vAx4FKai1s5jq/inV1+sREynIWSuQ6HgoSXpDQ==}
    +
    +  fast-decode-uri-component@1.0.1:
    +    resolution: {integrity: sha512-WKgKWg5eUxvRZGwW8FvfbaH7AXSh2cL+3j5fMGzUMCxWBJ3dV3a7Wz8y2f/uQ0e3B6WmodD3oS54jTQ9HVTIIg==}
    +
    +  fast-deep-equal@3.1.3:
    +    resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==}
    +
    +  fast-equals@5.0.1:
    +    resolution: {integrity: sha512-WF1Wi8PwwSY7/6Kx0vKXtw8RwuSGoM1bvDaJbu7MxDlR1vovZjIAKrnzyrThgAjm6JDTu0fVgWXDlMGspodfoQ==}
    +    engines: {node: '>=6.0.0'}
    +
    +  fast-glob@3.3.2:
    +    resolution: {integrity: sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==}
    +    engines: {node: '>=8.6.0'}
    +
    +  fast-json-stable-stringify@2.1.0:
    +    resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==}
    +
    +  fast-json-stringify@2.7.13:
    +    resolution: {integrity: sha512-ar+hQ4+OIurUGjSJD1anvYSDcUflywhKjfxnsW4TBTD7+u0tJufv6DKRWoQk3vI6YBOWMoz0TQtfbe7dxbQmvA==}
    +    engines: {node: '>= 10.0.0'}
    +
    +  fast-levenshtein@2.0.6:
    +    resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==}
    +
    +  fast-redact@3.5.0:
    +    resolution: {integrity: sha512-dwsoQlS7h9hMeYUq1W++23NDcBLV4KqONnITDV9DjfS3q1SgDGVrBdvvTLUotWtPSD7asWDV9/CmsZPy8Hf70A==}
    +    engines: {node: '>=6'}
    +
    +  fast-safe-stringify@2.1.1:
    +    resolution: {integrity: sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==}
    +
    +  fastest-levenshtein@1.0.16:
    +    resolution: {integrity: sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg==}
    +    engines: {node: '>= 4.9.1'}
    +
    +  fastestsmallesttextencoderdecoder@1.0.22:
    +    resolution: {integrity: sha512-Pb8d48e+oIuY4MaM64Cd7OW1gt4nxCHs7/ddPPZ/Ic3sg8yVGM7O9wDvZ7us6ScaUupzM+pfBolwtYhN1IxBIw==}
    +
    +  fastify-plugin@3.0.1:
    +    resolution: {integrity: sha512-qKcDXmuZadJqdTm6vlCqioEbyewF60b/0LOFCcYN1B6BIZGlYJumWWOYs70SFYLDAH4YqdE1cxH/RKMG7rFxgA==}
    +
    +  fastify@3.29.5:
    +    resolution: {integrity: sha512-FBDgb1gkenZxxh4sTD6AdI6mFnZnsgckpjIXzIvfLSYCa4isfQeD8QWGPib63dxq6btnY0l1j8I0xYhMvUb+sw==}
    +
    +  fastq@1.17.1:
    +    resolution: {integrity: sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==}
    +
    +  fault@2.0.1:
    +    resolution: {integrity: sha512-WtySTkS4OKev5JtpHXnib4Gxiurzh5NCGvWrFaZ34m6JehfTUhKZvn9njTfw48t6JumVQOmrKqpmGcdwxnhqBQ==}
    +
    +  faye-websocket@0.11.4:
    +    resolution: {integrity: sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g==}
    +    engines: {node: '>=0.8.0'}
    +
    +  fb-watchman@2.0.2:
    +    resolution: {integrity: sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==}
    +
    +  fd-slicer@1.1.0:
    +    resolution: {integrity: sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==}
    +
    +  ferrum@1.9.4:
    +    resolution: {integrity: sha512-ooNerLoIht/dK4CQJux93z/hnt9JysrXniJCI3r6YRgmHeXC57EJ8XaTCT1Gm8LfhIAeWxyJA0O7d/W3pqDYRg==}
    +
    +  fetch-blob@3.2.0:
    +    resolution: {integrity: sha512-7yAQpD2UMJzLi1Dqv7qFYnPbaPx7ZfFK6PiIxQ4PfkGPyNyl2Ugx+a/umUonmKqjhM4DnfbMvdX6otXq83soQQ==}
    +    engines: {node: ^12.20 || >= 14.13}
    +
    +  fflate@0.8.2:
    +    resolution: {integrity: sha512-cPJU47OaAoCbg0pBvzsgpTPhmhqI5eJjh/JIu8tPj5q+T7iLvW/JAYUqmE7KOB4R1ZyEhzBaIQpQpardBF5z8A==}
    +
    +  figures@3.2.0:
    +    resolution: {integrity: sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==}
    +    engines: {node: '>=8'}
    +
    +  file-entry-cache@6.0.1:
    +    resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==}
    +    engines: {node: ^10.12.0 || >=12.0.0}
    +
    +  file-entry-cache@8.0.0:
    +    resolution: {integrity: sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==}
    +    engines: {node: '>=16.0.0'}
    +
    +  file-saver@2.0.5:
    +    resolution: {integrity: sha512-P9bmyZ3h/PRG+Nzga+rbdI4OEpNDzAVyy74uVO9ATgzLK6VtAsYybF/+TOCvrc0MO793d6+42lLyZTw7/ArVzA==}
    +
    +  filelist@1.0.4:
    +    resolution: {integrity: sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==}
    +
    +  fill-range@7.0.1:
    +    resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==}
    +    engines: {node: '>=8'}
    +
    +  finalhandler@1.2.0:
    +    resolution: {integrity: sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==}
    +    engines: {node: '>= 0.8'}
    +
    +  find-cache-dir@3.3.2:
    +    resolution: {integrity: sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==}
    +    engines: {node: '>=8'}
    +
    +  find-cache-dir@4.0.0:
    +    resolution: {integrity: sha512-9ZonPT4ZAK4a+1pUPVPZJapbi7O5qbbJPdYw/NOQWZZbVLdDTYM3A4R9z/DpAM08IDaFGsvPgiGZ82WEwUDWjg==}
    +    engines: {node: '>=14.16'}
    +
    +  find-my-way@4.5.1:
    +    resolution: {integrity: sha512-kE0u7sGoUFbMXcOG/xpkmz4sRLCklERnBcg7Ftuu1iAxsfEt2S46RLJ3Sq7vshsEy2wJT2hZxE58XZK27qa8kg==}
    +    engines: {node: '>=10'}
    +
    +  find-process@1.4.7:
    +    resolution: {integrity: sha512-/U4CYp1214Xrp3u3Fqr9yNynUrr5Le4y0SsJh2lMDDSbpwYSz3M2SMWQC+wqcx79cN8PQtHQIL8KnuY9M66fdg==}
    +    hasBin: true
    +
    +  find-up-simple@1.0.0:
    +    resolution: {integrity: sha512-q7Us7kcjj2VMePAa02hDAF6d+MzsdsAWEwYyOpwUtlerRBkOEPBCRZrAV4XfcSN8fHAgaD0hP7miwoay6DCprw==}
    +    engines: {node: '>=18'}
    +
    +  find-up@3.0.0:
    +    resolution: {integrity: sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==}
    +    engines: {node: '>=6'}
    +
    +  find-up@4.1.0:
    +    resolution: {integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==}
    +    engines: {node: '>=8'}
    +
    +  find-up@5.0.0:
    +    resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==}
    +    engines: {node: '>=10'}
    +
    +  find-up@6.3.0:
    +    resolution: {integrity: sha512-v2ZsoEuVHYy8ZIlYqwPe/39Cy+cFDzp4dXPaxNvkEuouymu+2Jbz0PxpKarJHYJTmv2HWT3O382qY8l4jMWthw==}
    +    engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
    +
    +  flat-cache@3.2.0:
    +    resolution: {integrity: sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==}
    +    engines: {node: ^10.12.0 || >=12.0.0}
    +
    +  flat-cache@4.0.1:
    +    resolution: {integrity: sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==}
    +    engines: {node: '>=16'}
    +
    +  flatstr@1.0.12:
    +    resolution: {integrity: sha512-4zPxDyhCyiN2wIAtSLI6gc82/EjqZc1onI4Mz/l0pWrAlsSfYH/2ZIcU+e3oA2wDwbzIWNKwa23F8rh6+DRWkw==}
    +
    +  flatted@3.3.1:
    +    resolution: {integrity: sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==}
    +
    +  flexsearch@0.7.43:
    +    resolution: {integrity: sha512-c5o/+Um8aqCSOXGcZoqZOm+NqtVwNsvVpWv6lfmSclU954O3wvQKxxK8zj74fPaSJbXpSLTs4PRhh+wnoCXnKg==}
    +
    +  focus-trap@7.5.4:
    +    resolution: {integrity: sha512-N7kHdlgsO/v+iD/dMoJKtsSqs5Dz/dXZVebRgJw23LDk+jMi/974zyiOYDziY2JPp8xivq9BmUGwIJMiuSBi7w==}
    +
    +  follow-redirects@1.15.5:
    +    resolution: {integrity: sha512-vSFWUON1B+yAw1VN4xMfxgn5fTUiaOzAJCKBwIIgT/+7CuGy9+r+5gITvP62j3RmaD5Ph65UaERdOSRGUzZtgw==}
    +    engines: {node: '>=4.0'}
    +    peerDependencies:
    +      debug: '*'
    +    peerDependenciesMeta:
    +      debug:
    +        optional: true
    +
    +  font-awesome@4.7.0:
    +    resolution: {integrity: sha512-U6kGnykA/6bFmg1M/oT9EkFeIYv7JlX3bozwQJWiiLz6L0w3F5vBVPxHlwyX/vtNq1ckcpRKOB9f2Qal/VtFpg==}
    +    engines: {node: '>=0.10.3'}
    +
    +  for-each@0.3.3:
    +    resolution: {integrity: sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==}
    +
    +  foreground-child@2.0.0:
    +    resolution: {integrity: sha512-dCIq9FpEcyQyXKCkyzmlPTFNgrCzPudOe+mhvJU5zAtlBnGVy2yKxtfsxK2tQBThwq225jcvBjpw1Gr40uzZCA==}
    +    engines: {node: '>=8.0.0'}
    +
    +  foreground-child@3.1.1:
    +    resolution: {integrity: sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg==}
    +    engines: {node: '>=14'}
    +
    +  forever-agent@0.6.1:
    +    resolution: {integrity: sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw==}
    +
    +  form-data@2.3.3:
    +    resolution: {integrity: sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==}
    +    engines: {node: '>= 0.12'}
    +
    +  form-data@4.0.0:
    +    resolution: {integrity: sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==}
    +    engines: {node: '>= 6'}
    +
    +  format@0.2.2:
    +    resolution: {integrity: sha512-wzsgA6WOq+09wrU1tsJ09udeR/YZRaeArL9e1wPbFg3GG2yDnC2ldKpxs4xunpFF9DgqCqOIra3bc1HWrJ37Ww==}
    +    engines: {node: '>=0.4.x'}
    +
    +  formdata-polyfill@4.0.10:
    +    resolution: {integrity: sha512-buewHzMvYL29jdeQTVILecSaZKnt/RJWjoZCF5OW60Z67/GmSLBkOFM7qh1PI3zFNtJbaZL5eQu1vLfazOwj4g==}
    +    engines: {node: '>=12.20.0'}
    +
    +  forwarded@0.2.0:
    +    resolution: {integrity: sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==}
    +    engines: {node: '>= 0.6'}
    +
    +  fresh@0.5.2:
    +    resolution: {integrity: sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==}
    +    engines: {node: '>= 0.6'}
    +
    +  from@0.1.7:
    +    resolution: {integrity: sha512-twe20eF1OxVxp/ML/kq2p1uc6KvFK/+vs8WjEbeKmV2He22MKm7YF2ANIt+EOqhJ5L3K/SuuPhk0hWQDjOM23g==}
    +
    +  fromentries@1.3.2:
    +    resolution: {integrity: sha512-cHEpEQHUg0f8XdtZCc2ZAhrHzKzT0MrFUTcvx+hfxYu7rGMDc5SKoXFh+n4YigxsHXRzc6OrCshdR1bWH6HHyg==}
    +
    +  fs-extra@11.1.1:
    +    resolution: {integrity: sha512-MGIE4HOvQCeUCzmlHs0vXpih4ysz4wg9qiSAu6cd42lVwPbTM1TjV7RusoyQqMmk/95gdQZX72u+YW+c3eEpFQ==}
    +    engines: {node: '>=14.14'}
    +
    +  fs-extra@11.2.0:
    +    resolution: {integrity: sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw==}
    +    engines: {node: '>=14.14'}
    +
    +  fs-extra@7.0.1:
    +    resolution: {integrity: sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==}
    +    engines: {node: '>=6 <7 || >=8'}
    +
    +  fs-extra@9.1.0:
    +    resolution: {integrity: sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==}
    +    engines: {node: '>=10'}
    +
    +  fs-monkey@1.0.4:
    +    resolution: {integrity: sha512-INM/fWAxMICjttnD0DX1rBvinKskj5G1w+oy/pnm9u/tSlnBrzFonJMcalKJ30P8RRsPzKcCG7Q8l0jx5Fh9YQ==}
    +
    +  fs.realpath@1.0.0:
    +    resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==}
    +
    +  fsevents@2.3.3:
    +    resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==}
    +    engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0}
    +    os: [darwin]
    +
    +  function-bind@1.1.2:
    +    resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==}
    +
    +  function.prototype.name@1.1.6:
    +    resolution: {integrity: sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==}
    +    engines: {node: '>= 0.4'}
    +
    +  functions-have-names@1.2.3:
    +    resolution: {integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==}
    +
    +  gensequence@7.0.0:
    +    resolution: {integrity: sha512-47Frx13aZh01afHJTB3zTtKIlFI6vWY+MYCN9Qpew6i52rfKjnhCF/l1YlC8UmEMvvntZZ6z4PiCcmyuedR2aQ==}
    +    engines: {node: '>=18'}
    +
    +  gensync@1.0.0-beta.2:
    +    resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==}
    +    engines: {node: '>=6.9.0'}
    +
    +  get-caller-file@2.0.5:
    +    resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==}
    +    engines: {node: 6.* || 8.* || >= 10.*}
    +
    +  get-east-asian-width@1.2.0:
    +    resolution: {integrity: sha512-2nk+7SIVb14QrgXFHcm84tD4bKQz0RxPuMT8Ag5KPOq7J5fEmAg0UbXdTOSHqNuHSU28k55qnceesxXRZGzKWA==}
    +    engines: {node: '>=18'}
    +
    +  get-func-name@2.0.2:
    +    resolution: {integrity: sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ==}
    +
    +  get-intrinsic@1.2.4:
    +    resolution: {integrity: sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==}
    +    engines: {node: '>= 0.4'}
    +
    +  get-own-enumerable-property-symbols@3.0.2:
    +    resolution: {integrity: sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g==}
    +
    +  get-package-type@0.1.0:
    +    resolution: {integrity: sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==}
    +    engines: {node: '>=8.0.0'}
    +
    +  get-stdin@5.0.1:
    +    resolution: {integrity: sha512-jZV7n6jGE3Gt7fgSTJoz91Ak5MuTLwMwkoYdjxuJ/AmjIsE1UC03y/IWkZCQGEvVNS9qoRNwy5BCqxImv0FVeA==}
    +    engines: {node: '>=0.12.0'}
    +
    +  get-stdin@8.0.0:
    +    resolution: {integrity: sha512-sY22aA6xchAzprjyqmSEQv4UbAAzRN0L2dQB0NlN5acTTK9Don6nhoc3eAbUnpZiCANAMfd/+40kVdKfFygohg==}
    +    engines: {node: '>=10'}
    +
    +  get-stdin@9.0.0:
    +    resolution: {integrity: sha512-dVKBjfWisLAicarI2Sf+JuBE/DghV4UzNAVe9yhEJuzeREd3JhOTE9cUaJTeSa77fsbQUK3pcOpJfM59+VKZaA==}
    +    engines: {node: '>=12'}
    +
    +  get-stream@4.1.0:
    +    resolution: {integrity: sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==}
    +    engines: {node: '>=6'}
    +
    +  get-stream@5.2.0:
    +    resolution: {integrity: sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==}
    +    engines: {node: '>=8'}
    +
    +  get-stream@6.0.1:
    +    resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==}
    +    engines: {node: '>=10'}
    +
    +  get-stream@8.0.1:
    +    resolution: {integrity: sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==}
    +    engines: {node: '>=16'}
    +
    +  get-symbol-description@1.0.2:
    +    resolution: {integrity: sha512-g0QYk1dZBxGwk+Ngc+ltRH2IBp2f7zBkBMBJZCDerh6EhlhSR6+9irMCuT/09zD6qkarHUSn529sK/yL4S27mg==}
    +    engines: {node: '>= 0.4'}
    +
    +  get-tsconfig@4.7.3:
    +    resolution: {integrity: sha512-ZvkrzoUA0PQZM6fy6+/Hce561s+faD1rsNwhnO5FelNjyy7EMGJ3Rz1AQ8GYDWjhRs/7dBLOEJvhK8MiEJOAFg==}
    +
    +  getos@3.2.1:
    +    resolution: {integrity: sha512-U56CfOK17OKgTVqozZjUKNdkfEv6jk5WISBJ8SHoagjE6L69zOwl3Z+O8myjY9MEW3i2HPWQBt/LTbCgcC973Q==}
    +
    +  getpass@0.1.7:
    +    resolution: {integrity: sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng==}
    +
    +  github-slugger@2.0.0:
    +    resolution: {integrity: sha512-IaOQ9puYtjrkq7Y0Ygl9KDZnrf/aiUJYUpVf89y8kyaxbRG7Y1SrX/jaumrv81vc61+kiMempujsM3Yw7w5qcw==}
    +
    +  glob-parent@5.1.2:
    +    resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==}
    +    engines: {node: '>= 6'}
    +
    +  glob-parent@6.0.2:
    +    resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==}
    +    engines: {node: '>=10.13.0'}
    +
    +  glob-promise@4.2.2:
    +    resolution: {integrity: sha512-xcUzJ8NWN5bktoTIX7eOclO1Npxd/dyVqUJxlLIDasT4C7KZyqlPIwkdJ0Ypiy3p2ZKahTjK4M9uC3sNSfNMzw==}
    +    engines: {node: '>=12'}
    +    peerDependencies:
    +      glob: ^7.1.6
    +
    +  glob-to-regexp@0.4.1:
    +    resolution: {integrity: sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==}
    +
    +  glob@10.3.10:
    +    resolution: {integrity: sha512-fa46+tv1Ak0UPK1TOy/pZrIybNNt4HCv7SDzwyfiOZkvZLEbjsZkJBPtDHVshZjbecAoAGSC20MjLDG/qr679g==}
    +    engines: {node: '>=16 || 14 >=14.17'}
    +    hasBin: true
    +
    +  glob@10.3.12:
    +    resolution: {integrity: sha512-TCNv8vJ+xz4QiqTpfOJA7HvYv+tNIRHKfUWw/q+v2jdgN4ebz+KY9tGx5J4rHP0o84mNP+ApH66HRX8us3Khqg==}
    +    engines: {node: '>=16 || 14 >=14.17'}
    +    hasBin: true
    +
    +  glob@7.2.3:
    +    resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==}
    +
    +  glob@8.1.0:
    +    resolution: {integrity: sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==}
    +    engines: {node: '>=12'}
    +
    +  global-directory@4.0.1:
    +    resolution: {integrity: sha512-wHTUcDUoZ1H5/0iVqEudYW4/kAlN5cZ3j/bXn0Dpbizl9iaUVeWSHqiOjsgk6OW2bkLclbBjzewBz6weQ1zA2Q==}
    +    engines: {node: '>=18'}
    +
    +  global-dirs@3.0.1:
    +    resolution: {integrity: sha512-NBcGGFbBA9s1VzD41QXDG+3++t9Mn5t1FpLdhESY6oKY4gYTFpX4wO3sqGUa0Srjtbfj3szX0RnemmrVRUdULA==}
    +    engines: {node: '>=10'}
    +
    +  globals@11.12.0:
    +    resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==}
    +    engines: {node: '>=4'}
    +
    +  globals@13.24.0:
    +    resolution: {integrity: sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==}
    +    engines: {node: '>=8'}
    +
    +  globalthis@1.0.4:
    +    resolution: {integrity: sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==}
    +    engines: {node: '>= 0.4'}
    +
    +  globby@11.1.0:
    +    resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==}
    +    engines: {node: '>=10'}
    +
    +  globby@13.2.2:
    +    resolution: {integrity: sha512-Y1zNGV+pzQdh7H39l9zgB4PJqjRNqydvdYCDG4HFXM4XuvSaQQlEc91IU1yALL8gUTDomgBAfz3XJdmUS+oo0w==}
    +    engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
    +
    +  globby@14.0.1:
    +    resolution: {integrity: sha512-jOMLD2Z7MAhyG8aJpNOpmziMOP4rPLcc95oQPKXBazW82z+CEgPFBQvEpRUa1KeIMUJo4Wsm+q6uzO/Q/4BksQ==}
    +    engines: {node: '>=18'}
    +
    +  glur@1.1.2:
    +    resolution: {integrity: sha512-l+8esYHTKOx2G/Aao4lEQ0bnHWg4fWtJbVoZZT9Knxi01pB8C80BR85nONLFwkkQoFRCmXY+BUcGZN3yZ2QsRA==}
    +
    +  gopd@1.0.1:
    +    resolution: {integrity: sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==}
    +
    +  got@11.8.6:
    +    resolution: {integrity: sha512-6tfZ91bOr7bOXnK7PRDCGBLa1H4U080YHNaAQ2KsMGlLEzRbk44nsZF2E1IeRc3vtJHPVbKCYgdFbaGO2ljd8g==}
    +    engines: {node: '>=10.19.0'}
    +
    +  graceful-fs@4.2.11:
    +    resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==}
    +
    +  graphemer@1.4.0:
    +    resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==}
    +
    +  gzip-size@6.0.0:
    +    resolution: {integrity: sha512-ax7ZYomf6jqPTQ4+XCpUGyXKHk5WweS+e05MBO4/y3WJ5RkmPXNKvX+bx1behVILVwr6JSQvZAku021CHPXG3Q==}
    +    engines: {node: '>=10'}
    +
    +  handle-thing@2.0.1:
    +    resolution: {integrity: sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg==}
    +
    +  handlebars@4.7.8:
    +    resolution: {integrity: sha512-vafaFqs8MZkRrSX7sFVUdo3ap/eNiLnb4IakshzvP56X5Nr1iGKAIqdX6tMlm6HcNRIkr6AxO5jFEoJzzpT8aQ==}
    +    engines: {node: '>=0.4.7'}
    +    hasBin: true
    +
    +  has-ansi@2.0.0:
    +    resolution: {integrity: sha512-C8vBJ8DwUCx19vhm7urhTuUsr4/IyP6l4VzNQDv+ryHQObW3TTTp9yB68WpYgRe2bbaGuZ/se74IqFeVnMnLZg==}
    +    engines: {node: '>=0.10.0'}
    +
    +  has-bigints@1.0.2:
    +    resolution: {integrity: sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==}
    +
    +  has-flag@3.0.0:
    +    resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==}
    +    engines: {node: '>=4'}
    +
    +  has-flag@4.0.0:
    +    resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==}
    +    engines: {node: '>=8'}
    +
    +  has-own-prop@2.0.0:
    +    resolution: {integrity: sha512-Pq0h+hvsVm6dDEa8x82GnLSYHOzNDt7f0ddFa3FqcQlgzEiptPqL+XrOJNavjOzSYiYWIrgeVYYgGlLmnxwilQ==}
    +    engines: {node: '>=8'}
    +
    +  has-property-descriptors@1.0.2:
    +    resolution: {integrity: sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==}
    +
    +  has-proto@1.0.3:
    +    resolution: {integrity: sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==}
    +    engines: {node: '>= 0.4'}
    +
    +  has-symbols@1.0.3:
    +    resolution: {integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==}
    +    engines: {node: '>= 0.4'}
    +
    +  has-tostringtag@1.0.2:
    +    resolution: {integrity: sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==}
    +    engines: {node: '>= 0.4'}
    +
    +  has@1.0.3:
    +    resolution: {integrity: sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==}
    +    engines: {node: '>= 0.4.0'}
    +
    +  hasha@5.2.2:
    +    resolution: {integrity: sha512-Hrp5vIK/xr5SkeN2onO32H0MgNZ0f17HRNH39WfL0SYUNOTZ5Lz1TJ8Pajo/87dYGEFlLMm7mIc/k/s6Bvz9HQ==}
    +    engines: {node: '>=8'}
    +
    +  hasown@2.0.2:
    +    resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==}
    +    engines: {node: '>= 0.4'}
    +
    +  heap@0.2.7:
    +    resolution: {integrity: sha512-2bsegYkkHO+h/9MGbn6KWcE45cHZgPANo5LXF7EvWdT0yT2EguSVO1nDgU5c8+ZOPwp2vMNa7YFsJhVcDR9Sdg==}
    +
    +  highlight.js@10.7.3:
    +    resolution: {integrity: sha512-tzcUFauisWKNHaRkN4Wjl/ZA07gENAjFl3J/c480dprkGTg5EQstgaNFqBfUqCq54kZRIEcreTsAgF/m2quD7A==}
    +
    +  hookable@5.5.3:
    +    resolution: {integrity: sha512-Yc+BQe8SvoXH1643Qez1zqLRmbA5rCL+sSmk6TVos0LWVfNIB7PGncdlId77WzLGSIB5KaWgTaNTs2lNVEI6VQ==}
    +
    +  hosted-git-info@2.8.9:
    +    resolution: {integrity: sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==}
    +
    +  hpack.js@2.1.6:
    +    resolution: {integrity: sha512-zJxVehUdMGIKsRaNt7apO2Gqp0BdqW5yaiGHXXmbpvxgBYVZnAql+BJb4RO5ad2MgpbZKn5G6nMnegrH1FcNYQ==}
    +
    +  html-encoding-sniffer@4.0.0:
    +    resolution: {integrity: sha512-Y22oTqIU4uuPgEemfz7NDJz6OeKf12Lsu+QC+s3BVpda64lTiMYCyGwg5ki4vFxkMwQdeZDl2adZoqUgdFuTgQ==}
    +    engines: {node: '>=18'}
    +
    +  html-entities@2.4.0:
    +    resolution: {integrity: sha512-igBTJcNNNhvZFRtm8uA6xMY6xYleeDwn3PeBCkDz7tHttv4F2hsDI2aPgNERWzvRcNYHNT3ymRaQzllmXj4YsQ==}
    +
    +  html-escaper@2.0.2:
    +    resolution: {integrity: sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==}
    +
    +  html-to-image@1.11.11:
    +    resolution: {integrity: sha512-9gux8QhvjRO/erSnDPv28noDZcPZmYE7e1vFsBLKLlRlKDSqNJYebj6Qz1TGd5lsRV+X+xYyjCKjuZdABinWjA==}
    +
    +  htmlparser2@9.1.0:
    +    resolution: {integrity: sha512-5zfg6mHUoaer/97TxnGpxmbR7zJtPwIYFMZ/H5ucTlPZhKvtum05yiPK3Mgai3a0DyVxv7qYqoweaEd2nrYQzQ==}
    +
    +  http-cache-semantics@4.1.1:
    +    resolution: {integrity: sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==}
    +
    +  http-deceiver@1.2.7:
    +    resolution: {integrity: sha512-LmpOGxTfbpgtGVxJrj5k7asXHCgNZp5nLfp+hWc8QQRqtb7fUy6kRY3BO1h9ddF6yIPYUARgxGOwB42DnxIaNw==}
    +
    +  http-errors@1.6.3:
    +    resolution: {integrity: sha512-lks+lVC8dgGyh97jxvxeYTWQFvh4uw4yC12gVl63Cg30sjPX4wuGcdkICVXDAESr6OJGjqGA8Iz5mkeN6zlD7A==}
    +    engines: {node: '>= 0.6'}
    +
    +  http-errors@2.0.0:
    +    resolution: {integrity: sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==}
    +    engines: {node: '>= 0.8'}
    +
    +  http-parser-js@0.5.8:
    +    resolution: {integrity: sha512-SGeBX54F94Wgu5RH3X5jsDtf4eHyRogWX1XGT3b4HuW3tQPM4AaBzoUji/4AAJNXCEOWZ5O0DgZmJw1947gD5Q==}
    +
    +  http-proxy-agent@5.0.0:
    +    resolution: {integrity: sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==}
    +    engines: {node: '>= 6'}
    +
    +  http-proxy-agent@7.0.2:
    +    resolution: {integrity: sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==}
    +    engines: {node: '>= 14'}
    +
    +  http-proxy-middleware@2.0.6:
    +    resolution: {integrity: sha512-ya/UeJ6HVBYxrgYotAZo1KvPWlgB48kUJLDePFeneHsVujFaW5WNj2NgWCAE//B1Dl02BIfYlpNgBy8Kf8Rjmw==}
    +    engines: {node: '>=12.0.0'}
    +    peerDependencies:
    +      '@types/express': ^4.17.13
    +    peerDependenciesMeta:
    +      '@types/express':
    +        optional: true
    +
    +  http-proxy@1.18.1:
    +    resolution: {integrity: sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==}
    +    engines: {node: '>=8.0.0'}
    +
    +  http-signature@1.3.6:
    +    resolution: {integrity: sha512-3adrsD6zqo4GsTqtO7FyrejHNv+NgiIfAfv68+jVlFmSr9OGy7zrxONceFRLKvnnZA5jbxQBX1u9PpB6Wi32Gw==}
    +    engines: {node: '>=0.10'}
    +
    +  http2-wrapper@1.0.3:
    +    resolution: {integrity: sha512-V+23sDMr12Wnz7iTcDeJr3O6AIxlnvT/bmaAAAP/Xda35C90p9599p0F1eHR/N1KILWSoWVAiOMFjBBXaXSMxg==}
    +    engines: {node: '>=10.19.0'}
    +
    +  https-localhost@4.7.1:
    +    resolution: {integrity: sha512-rl+NFV0l67/0W7fZwk4LB5gS6HdhtSFLpCpf1N+KD5WQAXtPXX1QE8H0cP8VNJii18rtpTkE9eAHdUfJ0goAnQ==}
    +    hasBin: true
    +
    +  https-proxy-agent@5.0.1:
    +    resolution: {integrity: sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==}
    +    engines: {node: '>= 6'}
    +
    +  https-proxy-agent@7.0.4:
    +    resolution: {integrity: sha512-wlwpilI7YdjSkWaQ/7omYBMTliDcmCN8OLihO6I9B86g06lMyAoqgoDpV0XqoaPOKj+0DIdAvnsWfyAAhmimcg==}
    +    engines: {node: '>= 14'}
    +
    +  human-signals@1.1.1:
    +    resolution: {integrity: sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==}
    +    engines: {node: '>=8.12.0'}
    +
    +  human-signals@2.1.0:
    +    resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==}
    +    engines: {node: '>=10.17.0'}
    +
    +  human-signals@5.0.0:
    +    resolution: {integrity: sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==}
    +    engines: {node: '>=16.17.0'}
    +
    +  husky@9.0.11:
    +    resolution: {integrity: sha512-AB6lFlbwwyIqMdHYhwPe+kjOC3Oc5P3nThEoW/AaO2BX3vJDjWPFxYLxokUZOo6RNX20He3AaT8sESs9NJcmEw==}
    +    engines: {node: '>=18'}
    +    hasBin: true
    +
    +  iconv-lite@0.4.24:
    +    resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==}
    +    engines: {node: '>=0.10.0'}
    +
    +  iconv-lite@0.6.3:
    +    resolution: {integrity: sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==}
    +    engines: {node: '>=0.10.0'}
    +
    +  idb@7.1.1:
    +    resolution: {integrity: sha512-gchesWBzyvGHRO9W8tzUWFDycow5gwjvFKfyV9FF32Y7F50yZMp7mP+T2mJIWFx49zicqyC4uefHM17o6xKIVQ==}
    +
    +  ieee754@1.2.1:
    +    resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==}
    +
    +  ignore@5.3.1:
    +    resolution: {integrity: sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==}
    +    engines: {node: '>= 4'}
    +
    +  import-fresh@3.3.0:
    +    resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==}
    +    engines: {node: '>=6'}
    +
    +  import-local@3.1.0:
    +    resolution: {integrity: sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==}
    +    engines: {node: '>=8'}
    +    hasBin: true
    +
    +  import-meta-resolve@4.0.0:
    +    resolution: {integrity: sha512-okYUR7ZQPH+efeuMJGlq4f8ubUgO50kByRPyt/Cy1Io4PSRsPjxME+YlVaCOx+NIToW7hCsZNFJyTPFFKepRSA==}
    +
    +  imurmurhash@0.1.4:
    +    resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==}
    +    engines: {node: '>=0.8.19'}
    +
    +  indent-string@4.0.0:
    +    resolution: {integrity: sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==}
    +    engines: {node: '>=8'}
    +
    +  indent-string@5.0.0:
    +    resolution: {integrity: sha512-m6FAo/spmsW2Ab2fU35JTYwtOKa2yAwXSwgjSv1TJzh4Mh7mC3lzAOVLBprb72XsTrgkEIsl7YrFNAiDiRhIGg==}
    +    engines: {node: '>=12'}
    +
    +  inflight@1.0.6:
    +    resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==}
    +
    +  inherits@2.0.3:
    +    resolution: {integrity: sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==}
    +
    +  inherits@2.0.4:
    +    resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==}
    +
    +  ini@2.0.0:
    +    resolution: {integrity: sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA==}
    +    engines: {node: '>=10'}
    +
    +  ini@3.0.1:
    +    resolution: {integrity: sha512-it4HyVAUTKBc6m8e1iXWvXSTdndF7HbdN713+kvLrymxTaU4AUBWrJ4vEooP+V7fexnVD3LKcBshjGGPefSMUQ==}
    +    engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0}
    +
    +  ini@4.1.1:
    +    resolution: {integrity: sha512-QQnnxNyfvmHFIsj7gkPcYymR8Jdw/o7mp5ZFihxn6h8Ci6fh3Dx4E1gPjpQEpIuPo9XVNY/ZUwh4BPMjGyL01g==}
    +    engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0}
    +
    +  internal-slot@1.0.7:
    +    resolution: {integrity: sha512-NGnrKwXzSms2qUUih/ILZ5JBqNTSa1+ZmP6flaIp6KmSElgE9qdndzS3cqjrDovwFdmwsGsLdeFgB6suw+1e9g==}
    +    engines: {node: '>= 0.4'}
    +
    +  internmap@1.0.1:
    +    resolution: {integrity: sha512-lDB5YccMydFBtasVtxnZ3MRBHuaoE8GKsppq+EchKL2U4nK/DmEpPHNH8MZe5HkMtpSiTSOZwfN0tzYjO/lJEw==}
    +
    +  internmap@2.0.3:
    +    resolution: {integrity: sha512-5Hh7Y1wQbvY5ooGgPbDaL5iYLAPzMTUrjMulskHLH6wnv/A+1q5rgEaiuqEjB+oxGXIVZs1FF+R/KPN3ZSQYYg==}
    +    engines: {node: '>=12'}
    +
    +  interpret@2.2.0:
    +    resolution: {integrity: sha512-Ju0Bz/cEia55xDwUWEa8+olFpCiQoypjnQySseKtmjNrnps3P+xfpUmGr90T7yjlVJmOtybRvPXhKMbHr+fWnw==}
    +    engines: {node: '>= 0.10'}
    +
    +  ipaddr.js@1.9.1:
    +    resolution: {integrity: sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==}
    +    engines: {node: '>= 0.10'}
    +
    +  ipaddr.js@2.1.0:
    +    resolution: {integrity: sha512-LlbxQ7xKzfBusov6UMi4MFpEg0m+mAm9xyNGEduwXMEDuf4WfzB/RZwMVYEd7IKGvh4IUkEXYxtAVu9T3OelJQ==}
    +    engines: {node: '>= 10'}
    +
    +  is-alphabetical@1.0.4:
    +    resolution: {integrity: sha512-DwzsA04LQ10FHTZuL0/grVDk4rFoVH1pjAToYwBrHSxcrBIGQuXrQMtD5U1b0U2XVgKZCTLLP8u2Qxqhy3l2Vg==}
    +
    +  is-alphanumerical@1.0.4:
    +    resolution: {integrity: sha512-UzoZUr+XfVz3t3v4KyGEniVL9BDRoQtY7tOyrRybkVNjDFWyo1yhXNGrrBTQxp3ib9BLAWs7k2YKBQsFRkZG9A==}
    +
    +  is-array-buffer@3.0.4:
    +    resolution: {integrity: sha512-wcjaerHw0ydZwfhiKbXJWLDY8A7yV7KhjQOpb83hGgGfId/aQa4TOvwyzn2PuswW2gPCYEL/nEAiSVpdOj1lXw==}
    +    engines: {node: '>= 0.4'}
    +
    +  is-arrayish@0.2.1:
    +    resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==}
    +
    +  is-arrayish@0.3.2:
    +    resolution: {integrity: sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==}
    +
    +  is-bigint@1.0.4:
    +    resolution: {integrity: sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==}
    +
    +  is-binary-path@2.1.0:
    +    resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==}
    +    engines: {node: '>=8'}
    +
    +  is-boolean-object@1.1.2:
    +    resolution: {integrity: sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==}
    +    engines: {node: '>= 0.4'}
    +
    +  is-builtin-module@3.2.1:
    +    resolution: {integrity: sha512-BSLE3HnV2syZ0FK0iMA/yUGplUeMmNz4AW5fnTunbCIqZi4vG3WjJT9FHMy5D69xmAYBHXQhJdALdpwVxV501A==}
    +    engines: {node: '>=6'}
    +
    +  is-callable@1.2.7:
    +    resolution: {integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==}
    +    engines: {node: '>= 0.4'}
    +
    +  is-ci@3.0.1:
    +    resolution: {integrity: sha512-ZYvCgrefwqoQ6yTyYUbQu64HsITZ3NfKX1lzaEYdkTDcfKzzCI/wthRRYKkdjHKFVgNiXKAKm65Zo1pk2as/QQ==}
    +    hasBin: true
    +
    +  is-core-module@2.13.0:
    +    resolution: {integrity: sha512-Z7dk6Qo8pOCp3l4tsX2C5ZVas4V+UxwQodwZhLopL91TX8UyyHEXafPcyoeeWuLrwzHcr3igO78wNLwHJHsMCQ==}
    +
    +  is-core-module@2.13.1:
    +    resolution: {integrity: sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==}
    +
    +  is-data-view@1.0.1:
    +    resolution: {integrity: sha512-AHkaJrsUVW6wq6JS8y3JnM/GJF/9cf+k20+iDzlSaJrinEo5+7vRiteOSwBhHRiAyQATN1AmY4hwzxJKPmYf+w==}
    +    engines: {node: '>= 0.4'}
    +
    +  is-date-object@1.0.5:
    +    resolution: {integrity: sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==}
    +    engines: {node: '>= 0.4'}
    +
    +  is-decimal@1.0.4:
    +    resolution: {integrity: sha512-RGdriMmQQvZ2aqaQq3awNA6dCGtKpiDFcOzrTWrDAT2MiWrKQVPmxLGHl7Y2nNu6led0kEyoX0enY0qXYsv9zw==}
    +
    +  is-docker@2.2.1:
    +    resolution: {integrity: sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==}
    +    engines: {node: '>=8'}
    +    hasBin: true
    +
    +  is-extglob@2.1.1:
    +    resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==}
    +    engines: {node: '>=0.10.0'}
    +
    +  is-fullwidth-code-point@3.0.0:
    +    resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==}
    +    engines: {node: '>=8'}
    +
    +  is-fullwidth-code-point@4.0.0:
    +    resolution: {integrity: sha512-O4L094N2/dZ7xqVdrXhh9r1KODPJpFms8B5sGdJLPy664AgvXsreZUyCQQNItZRDlYug4xStLjNp/sz3HvBowQ==}
    +    engines: {node: '>=12'}
    +
    +  is-fullwidth-code-point@5.0.0:
    +    resolution: {integrity: sha512-OVa3u9kkBbw7b8Xw5F9P+D/T9X+Z4+JruYVNapTjPYZYUznQ5YfWeFkOj606XYYW8yugTfC8Pj0hYqvi4ryAhA==}
    +    engines: {node: '>=18'}
    +
    +  is-generator-fn@2.1.0:
    +    resolution: {integrity: sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==}
    +    engines: {node: '>=6'}
    +
    +  is-glob@4.0.3:
    +    resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==}
    +    engines: {node: '>=0.10.0'}
    +
    +  is-hexadecimal@1.0.4:
    +    resolution: {integrity: sha512-gyPJuv83bHMpocVYoqof5VDiZveEoGoFL8m3BXNb2VW8Xs+rz9kqO8LOQ5DH6EsuvilT1ApazU0pyl+ytbPtlw==}
    +
    +  is-installed-globally@0.4.0:
    +    resolution: {integrity: sha512-iwGqO3J21aaSkC7jWnHP/difazwS7SFeIqxv6wEtLU8Y5KlzFTjyqcSIT0d8s4+dDhKytsk9PJZ2BkS5eZwQRQ==}
    +    engines: {node: '>=10'}
    +
    +  is-localhost-ip@2.0.0:
    +    resolution: {integrity: sha512-vlgs2cSgMOfnKU8c1ewgKPyum9rVrjjLLW2HBdL5i0iAJjOs8NY55ZBd/hqUTaYR0EO9CKZd3hVSC2HlIbygTQ==}
    +    engines: {node: '>=12'}
    +
    +  is-module@1.0.0:
    +    resolution: {integrity: sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g==}
    +
    +  is-negative-zero@2.0.3:
    +    resolution: {integrity: sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==}
    +    engines: {node: '>= 0.4'}
    +
    +  is-number-object@1.0.7:
    +    resolution: {integrity: sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==}
    +    engines: {node: '>= 0.4'}
    +
    +  is-number@7.0.0:
    +    resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==}
    +    engines: {node: '>=0.12.0'}
    +
    +  is-obj@1.0.1:
    +    resolution: {integrity: sha512-l4RyHgRqGN4Y3+9JHVrNqO+tN0rV5My76uW5/nuO4K1b6vw5G8d/cmFjP9tRfEsdhZNt0IFdZuK/c2Vr4Nb+Qg==}
    +    engines: {node: '>=0.10.0'}
    +
    +  is-obj@2.0.0:
    +    resolution: {integrity: sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==}
    +    engines: {node: '>=8'}
    +
    +  is-path-inside@3.0.3:
    +    resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==}
    +    engines: {node: '>=8'}
    +
    +  is-plain-obj@3.0.0:
    +    resolution: {integrity: sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA==}
    +    engines: {node: '>=10'}
    +
    +  is-plain-obj@4.1.0:
    +    resolution: {integrity: sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==}
    +    engines: {node: '>=12'}
    +
    +  is-plain-object@2.0.4:
    +    resolution: {integrity: sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==}
    +    engines: {node: '>=0.10.0'}
    +
    +  is-potential-custom-element-name@1.0.1:
    +    resolution: {integrity: sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==}
    +
    +  is-promise@2.2.2:
    +    resolution: {integrity: sha512-+lP4/6lKUBfQjZ2pdxThZvLUAafmZb8OAxFb8XXtiQmS35INgr85hdOGoEs124ez1FCnZJt6jau/T+alh58QFQ==}
    +
    +  is-regex@1.1.4:
    +    resolution: {integrity: sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==}
    +    engines: {node: '>= 0.4'}
    +
    +  is-regexp@1.0.0:
    +    resolution: {integrity: sha512-7zjFAPO4/gwyQAAgRRmqeEeyIICSdmCqa3tsVHMdBzaXXRiqopZL4Cyghg/XulGWrtABTpbnYYzzIRffLkP4oA==}
    +    engines: {node: '>=0.10.0'}
    +
    +  is-shared-array-buffer@1.0.3:
    +    resolution: {integrity: sha512-nA2hv5XIhLR3uVzDDfCIknerhx8XUKnstuOERPNNIinXG7v9u+ohXF67vxm4TPTEPU6lm61ZkwP3c9PCB97rhg==}
    +    engines: {node: '>= 0.4'}
    +
    +  is-stream@1.1.0:
    +    resolution: {integrity: sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==}
    +    engines: {node: '>=0.10.0'}
    +
    +  is-stream@2.0.1:
    +    resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==}
    +    engines: {node: '>=8'}
    +
    +  is-stream@3.0.0:
    +    resolution: {integrity: sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==}
    +    engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
    +
    +  is-string@1.0.7:
    +    resolution: {integrity: sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==}
    +    engines: {node: '>= 0.4'}
    +
    +  is-symbol@1.0.4:
    +    resolution: {integrity: sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==}
    +    engines: {node: '>= 0.4'}
    +
    +  is-typed-array@1.1.13:
    +    resolution: {integrity: sha512-uZ25/bUAlUY5fR4OKT4rZQEBrzQWYV9ZJYGGsUmEJ6thodVJ1HX64ePQ6Z0qPWP+m+Uq6e9UugrE38jeYsDSMw==}
    +    engines: {node: '>= 0.4'}
    +
    +  is-typedarray@1.0.0:
    +    resolution: {integrity: sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==}
    +
    +  is-unicode-supported@0.1.0:
    +    resolution: {integrity: sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==}
    +    engines: {node: '>=10'}
    +
    +  is-weakref@1.0.2:
    +    resolution: {integrity: sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==}
    +
    +  is-windows@1.0.2:
    +    resolution: {integrity: sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==}
    +    engines: {node: '>=0.10.0'}
    +
    +  is-wsl@2.2.0:
    +    resolution: {integrity: sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==}
    +    engines: {node: '>=8'}
    +
    +  isarray@1.0.0:
    +    resolution: {integrity: sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==}
    +
    +  isarray@2.0.5:
    +    resolution: {integrity: sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==}
    +
    +  isexe@2.0.0:
    +    resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==}
    +
    +  isobject@3.0.1:
    +    resolution: {integrity: sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==}
    +    engines: {node: '>=0.10.0'}
    +
    +  isstream@0.1.2:
    +    resolution: {integrity: sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g==}
    +
    +  istanbul-lib-coverage@3.2.0:
    +    resolution: {integrity: sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw==}
    +    engines: {node: '>=8'}
    +
    +  istanbul-lib-coverage@3.2.2:
    +    resolution: {integrity: sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==}
    +    engines: {node: '>=8'}
    +
    +  istanbul-lib-hook@3.0.0:
    +    resolution: {integrity: sha512-Pt/uge1Q9s+5VAZ+pCo16TYMWPBIl+oaNIjgLQxcX0itS6ueeaA+pEfThZpH8WxhFgCiEb8sAJY6MdUKgiIWaQ==}
    +    engines: {node: '>=8'}
    +
    +  istanbul-lib-instrument@4.0.3:
    +    resolution: {integrity: sha512-BXgQl9kf4WTCPCCpmFGoJkz/+uhvm7h7PFKUYxh7qarQd3ER33vHG//qaE8eN25l07YqZPpHXU9I09l/RD5aGQ==}
    +    engines: {node: '>=8'}
    +
    +  istanbul-lib-instrument@5.2.1:
    +    resolution: {integrity: sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==}
    +    engines: {node: '>=8'}
    +
    +  istanbul-lib-instrument@6.0.2:
    +    resolution: {integrity: sha512-1WUsZ9R1lA0HtBSohTkm39WTPlNKSJ5iFk7UwqXkBLoHQT+hfqPsfsTDVuZdKGaBwn7din9bS7SsnoAr943hvw==}
    +    engines: {node: '>=10'}
    +
    +  istanbul-lib-processinfo@2.0.3:
    +    resolution: {integrity: sha512-NkwHbo3E00oybX6NGJi6ar0B29vxyvNwoC7eJ4G4Yq28UfY758Hgn/heV8VRFhevPED4LXfFz0DQ8z/0kw9zMg==}
    +    engines: {node: '>=8'}
    +
    +  istanbul-lib-report@3.0.1:
    +    resolution: {integrity: sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==}
    +    engines: {node: '>=10'}
    +
    +  istanbul-lib-source-maps@4.0.1:
    +    resolution: {integrity: sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==}
    +    engines: {node: '>=10'}
    +
    +  istanbul-lib-source-maps@5.0.4:
    +    resolution: {integrity: sha512-wHOoEsNJTVltaJp8eVkm8w+GVkVNHT2YDYo53YdzQEL2gWm1hBX5cGFR9hQJtuGLebidVX7et3+dmDZrmclduw==}
    +    engines: {node: '>=10'}
    +
    +  istanbul-reports@3.1.6:
    +    resolution: {integrity: sha512-TLgnMkKg3iTDsQ9PbPTdpfAK2DzjF9mqUG7RMgcQl8oFjad8ob4laGxv5XV5U9MAfx8D6tSJiUyuAwzLicaxlg==}
    +    engines: {node: '>=8'}
    +
    +  istanbul-reports@3.1.7:
    +    resolution: {integrity: sha512-BewmUXImeuRk2YY0PVbxgKAysvhRPUQE0h5QRM++nVWyubKGV0l8qQ5op8+B2DOmwSe63Jivj0BjkPQVf8fP5g==}
    +    engines: {node: '>=8'}
    +
    +  iterm2-version@4.2.0:
    +    resolution: {integrity: sha512-IoiNVk4SMPu6uTcK+1nA5QaHNok2BMDLjSl5UomrOixe5g4GkylhPwuiGdw00ysSCrXAKNMfFTu+u/Lk5f6OLQ==}
    +    engines: {node: '>=8'}
    +
    +  jackspeak@2.3.6:
    +    resolution: {integrity: sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ==}
    +    engines: {node: '>=14'}
    +
    +  jake@10.8.7:
    +    resolution: {integrity: sha512-ZDi3aP+fG/LchyBzUM804VjddnwfSfsdeYkwt8NcbKRvo4rFkjhs456iLFn3k2ZUWvNe4i48WACDbza8fhq2+w==}
    +    engines: {node: '>=10'}
    +    hasBin: true
    +
    +  jest-changed-files@29.7.0:
    +    resolution: {integrity: sha512-fEArFiwf1BpQ+4bXSprcDc3/x4HSzL4al2tozwVpDFpsxALjLYdyiIK4e5Vz66GQJIbXJ82+35PtysofptNX2w==}
    +    engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
    +
    +  jest-circus@29.7.0:
    +    resolution: {integrity: sha512-3E1nCMgipcTkCocFwM90XXQab9bS+GMsjdpmPrlelaxwD93Ad8iVEjX/vvHPdLPnFf+L40u+5+iutRdA1N9myw==}
    +    engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
    +
    +  jest-cli@29.7.0:
    +    resolution: {integrity: sha512-OVVobw2IubN/GSYsxETi+gOe7Ka59EFMR/twOU3Jb2GnKKeMGJB5SGUUrEz3SFVmJASUdZUzy83sLNNQ2gZslg==}
    +    engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
    +    hasBin: true
    +    peerDependencies:
    +      node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0
    +    peerDependenciesMeta:
    +      node-notifier:
    +        optional: true
    +
    +  jest-config@29.7.0:
    +    resolution: {integrity: sha512-uXbpfeQ7R6TZBqI3/TxCU4q4ttk3u0PJeC+E0zbfSoSjq6bJ7buBPxzQPL0ifrkY4DNu4JUdk0ImlBUYi840eQ==}
    +    engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
    +    peerDependencies:
    +      '@types/node': '*'
    +      ts-node: '>=9.0.0'
    +    peerDependenciesMeta:
    +      '@types/node':
    +        optional: true
    +      ts-node:
    +        optional: true
    +
    +  jest-diff@29.7.0:
    +    resolution: {integrity: sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw==}
    +    engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
    +
    +  jest-docblock@29.7.0:
    +    resolution: {integrity: sha512-q617Auw3A612guyaFgsbFeYpNP5t2aoUNLwBUbc/0kD1R4t9ixDbyFTHd1nok4epoVFpr7PmeWHrhvuV3XaJ4g==}
    +    engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
    +
    +  jest-each@29.7.0:
    +    resolution: {integrity: sha512-gns+Er14+ZrEoC5fhOfYCY1LOHHr0TI+rQUHZS8Ttw2l7gl+80eHc/gFf2Ktkw0+SIACDTeWvpFcv3B04VembQ==}
    +    engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
    +
    +  jest-environment-node@29.7.0:
    +    resolution: {integrity: sha512-DOSwCRqXirTOyheM+4d5YZOrWcdu0LNZ87ewUoywbcb2XR4wKgqiG8vNeYwhjFMbEkfju7wx2GYH0P2gevGvFw==}
    +    engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
    +
    +  jest-get-type@29.6.3:
    +    resolution: {integrity: sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw==}
    +    engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
    +
    +  jest-haste-map@29.7.0:
    +    resolution: {integrity: sha512-fP8u2pyfqx0K1rGn1R9pyE0/KTn+G7PxktWidOBTqFPLYX0b9ksaMFkhK5vrS3DVun09pckLdlx90QthlW7AmA==}
    +    engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
    +
    +  jest-image-snapshot@4.2.0:
    +    resolution: {integrity: sha512-6aAqv2wtfOgxiJeBayBCqHo1zX+A12SUNNzo7rIxiXh6W6xYVu8QyHWkada8HeRi+QUTHddp0O0Xa6kmQr+xbQ==}
    +    engines: {node: '>= 10.14.2'}
    +    peerDependencies:
    +      jest: '>=20 <=26'
    +
    +  jest-leak-detector@29.7.0:
    +    resolution: {integrity: sha512-kYA8IJcSYtST2BY9I+SMC32nDpBT3J2NvWJx8+JCuCdl/CR1I4EKUJROiP8XtCcxqgTTBGJNdbB1A8XRKbTetw==}
    +    engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
    +
    +  jest-matcher-utils@29.7.0:
    +    resolution: {integrity: sha512-sBkD+Xi9DtcChsI3L3u0+N0opgPYnCRPtGcQYrgXmR+hmt/fYfWAL0xRXYU8eWOdfuLgBe0YCW3AFtnRLagq/g==}
    +    engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
    +
    +  jest-message-util@29.7.0:
    +    resolution: {integrity: sha512-GBEV4GRADeP+qtB2+6u61stea8mGcOT4mCtrYISZwfu9/ISHFJ/5zOMXYbpBE9RsS5+Gb63DW4FgmnKJ79Kf6w==}
    +    engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
    +
    +  jest-mock@29.7.0:
    +    resolution: {integrity: sha512-ITOMZn+UkYS4ZFh83xYAOzWStloNzJFO2s8DWrE4lhtGD+AorgnbkiKERe4wQVBydIGPx059g6riW5Btp6Llnw==}
    +    engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
    +
    +  jest-pnp-resolver@1.2.3:
    +    resolution: {integrity: sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==}
    +    engines: {node: '>=6'}
    +    peerDependencies:
    +      jest-resolve: '*'
    +    peerDependenciesMeta:
    +      jest-resolve:
    +        optional: true
    +
    +  jest-regex-util@29.6.3:
    +    resolution: {integrity: sha512-KJJBsRCyyLNWCNBOvZyRDnAIfUiRJ8v+hOBQYGn8gDyF3UegwiP4gwRR3/SDa42g1YbVycTidUF3rKjyLFDWbg==}
    +    engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
    +
    +  jest-resolve-dependencies@29.7.0:
    +    resolution: {integrity: sha512-un0zD/6qxJ+S0et7WxeI3H5XSe9lTBBR7bOHCHXkKR6luG5mwDDlIzVQ0V5cZCuoTgEdcdwzTghYkTWfubi+nA==}
    +    engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
    +
    +  jest-resolve@29.7.0:
    +    resolution: {integrity: sha512-IOVhZSrg+UvVAshDSDtHyFCCBUl/Q3AAJv8iZ6ZjnZ74xzvwuzLXid9IIIPgTnY62SJjfuupMKZsZQRsCvxEgA==}
    +    engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
    +
    +  jest-runner@29.7.0:
    +    resolution: {integrity: sha512-fsc4N6cPCAahybGBfTRcq5wFR6fpLznMg47sY5aDpsoejOcVYFb07AHuSnR0liMcPTgBsA3ZJL6kFOjPdoNipQ==}
    +    engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
    +
    +  jest-runtime@29.7.0:
    +    resolution: {integrity: sha512-gUnLjgwdGqW7B4LvOIkbKs9WGbn+QLqRQQ9juC6HndeDiezIwhDP+mhMwHWCEcfQ5RUXa6OPnFF8BJh5xegwwQ==}
    +    engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
    +
    +  jest-snapshot@29.7.0:
    +    resolution: {integrity: sha512-Rm0BMWtxBcioHr1/OX5YCP8Uov4riHvKPknOGs804Zg9JGZgmIBkbtlxJC/7Z4msKYVbIJtfU+tKb8xlYNfdkw==}
    +    engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
    +
    +  jest-util@29.7.0:
    +    resolution: {integrity: sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA==}
    +    engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
    +
    +  jest-validate@29.7.0:
    +    resolution: {integrity: sha512-ZB7wHqaRGVw/9hST/OuFUReG7M8vKeq0/J2egIGLdvjHCmYqGARhzXmtgi+gVeZ5uXFF219aOc3Ls2yLg27tkw==}
    +    engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
    +
    +  jest-watcher@29.7.0:
    +    resolution: {integrity: sha512-49Fg7WXkU3Vl2h6LbLtMQ/HyB6rXSIX7SqvBLQmssRBGN9I0PNvPmAmCWSOY6SOvrjhI/F7/bGAv9RtnsPA03g==}
    +    engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
    +
    +  jest-worker@27.5.1:
    +    resolution: {integrity: sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==}
    +    engines: {node: '>= 10.13.0'}
    +
    +  jest-worker@29.7.0:
    +    resolution: {integrity: sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==}
    +    engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
    +
    +  jest@29.7.0:
    +    resolution: {integrity: sha512-NIy3oAFp9shda19hy4HK0HRTWKtPJmGdnvywu01nOqNC2vZg+Z+fvJDxpMQA88eb2I9EcafcdjYgsDthnYTvGw==}
    +    engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
    +    hasBin: true
    +    peerDependencies:
    +      node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0
    +    peerDependenciesMeta:
    +      node-notifier:
    +        optional: true
    +
    +  jison-lex@0.3.4:
    +    resolution: {integrity: sha512-EBh5wrXhls1cUwROd5DcDHR1sG7CdsCFSqY1027+YA1RGxz+BX2TDLAhdsQf40YEtFDGoiO0Qm8PpnBl2EzDJw==}
    +    engines: {node: '>=0.4'}
    +    hasBin: true
    +
    +  jison@0.4.18:
    +    resolution: {integrity: sha512-FKkCiJvozgC7VTHhMJ00a0/IApSxhlGsFIshLW6trWJ8ONX2TQJBBz6DlcO1Gffy4w9LT+uL+PA+CVnUSJMF7w==}
    +    engines: {node: '>=0.4'}
    +    hasBin: true
    +
    +  jiti@1.21.0:
    +    resolution: {integrity: sha512-gFqAIbuKyyso/3G2qhiO2OM6shY6EPP/R0+mkDbyspxKazh8BXDC5FiFsUjlczgdNz/vfra0da2y+aHrusLG/Q==}
    +    hasBin: true
    +
    +  jju@1.4.0:
    +    resolution: {integrity: sha512-8wb9Yw966OSxApiCt0K3yNJL8pnNeIv+OEq2YMidz4FKP6nonSRoOXc80iXY4JaN2FC11B9qsNmDsm+ZOfMROA==}
    +
    +  joi@17.12.2:
    +    resolution: {integrity: sha512-RonXAIzCiHLc8ss3Ibuz45u28GOsWE1UpfDXLbN/9NKbL4tCJf8TWYVKsoYuuh+sAUt7fsSNpA+r2+TBA6Wjmw==}
    +
    +  jpeg-js@0.4.4:
    +    resolution: {integrity: sha512-WZzeDOEtTOBK4Mdsar0IqEU5sMr3vSV2RqkAIzUEV2BHnUfKGyswWFPFwK5EeDo93K3FohSHbLAjj0s1Wzd+dg==}
    +
    +  js-base64@3.7.7:
    +    resolution: {integrity: sha512-7rCnleh0z2CkXhH67J8K1Ytz0b2Y+yxTPL+/KOJoa20hfnVQ/3/T6W/KflYI4bRHRagNeXeU2bkNGI3v1oS/lw==}
    +
    +  js-tokens@4.0.0:
    +    resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==}
    +
    +  js-tokens@9.0.0:
    +    resolution: {integrity: sha512-WriZw1luRMlmV3LGJaR6QOJjWwgLUTf89OwT2lUOyjX2dJGBwgmIkbcz+7WFZjrZM635JOIR517++e/67CP9dQ==}
    +
    +  js-yaml@3.14.1:
    +    resolution: {integrity: sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==}
    +    hasBin: true
    +
    +  js-yaml@4.1.0:
    +    resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==}
    +    hasBin: true
    +
    +  jsbn@0.1.1:
    +    resolution: {integrity: sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg==}
    +
    +  jsdoc-type-pratt-parser@4.0.0:
    +    resolution: {integrity: sha512-YtOli5Cmzy3q4dP26GraSOeAhqecewG04hoO8DY56CH4KJ9Fvv5qKWUCCo3HZob7esJQHCv6/+bnTy72xZZaVQ==}
    +    engines: {node: '>=12.0.0'}
    +
    +  jsdom@24.0.0:
    +    resolution: {integrity: sha512-UDS2NayCvmXSXVP6mpTj+73JnNQadZlr9N68189xib2tx5Mls7swlTNao26IoHv46BZJFvXygyRtyXd1feAk1A==}
    +    engines: {node: '>=18'}
    +    peerDependencies:
    +      canvas: ^2.11.2
    +    peerDependenciesMeta:
    +      canvas:
    +        optional: true
    +
    +  jsesc@0.5.0:
    +    resolution: {integrity: sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==}
    +    hasBin: true
    +
    +  jsesc@2.5.2:
    +    resolution: {integrity: sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==}
    +    engines: {node: '>=4'}
    +    hasBin: true
    +
    +  jsesc@3.0.2:
    +    resolution: {integrity: sha512-xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g==}
    +    engines: {node: '>=6'}
    +    hasBin: true
    +
    +  json-buffer@3.0.1:
    +    resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==}
    +
    +  json-parse-even-better-errors@2.3.1:
    +    resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==}
    +
    +  json-schema-to-typescript@13.1.2:
    +    resolution: {integrity: sha512-17G+mjx4nunvOpkPvcz7fdwUwYCEwyH8vR3Ym3rFiQ8uzAL3go+c1306Kk7iGRk8HuXBXqy+JJJmpYl0cvOllw==}
    +    engines: {node: '>=12.0.0'}
    +    hasBin: true
    +
    +  json-schema-traverse@0.4.1:
    +    resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==}
    +
    +  json-schema-traverse@1.0.0:
    +    resolution: {integrity: sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==}
    +
    +  json-schema@0.4.0:
    +    resolution: {integrity: sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==}
    +
    +  json-stable-stringify-without-jsonify@1.0.1:
    +    resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==}
    +
    +  json-stringify-safe@5.0.1:
    +    resolution: {integrity: sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==}
    +
    +  json5@2.2.3:
    +    resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==}
    +    engines: {node: '>=6'}
    +    hasBin: true
    +
    +  jsonc-parser@3.2.1:
    +    resolution: {integrity: sha512-AilxAyFOAcK5wA1+LeaySVBrHsGQvUFCDWXKpZjzaL0PqW+xfBOttn8GNtWKFWqneyMZj41MWF9Kl6iPWLwgOA==}
    +
    +  jsonfile@4.0.0:
    +    resolution: {integrity: sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==}
    +
    +  jsonfile@6.1.0:
    +    resolution: {integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==}
    +
    +  jsonlint@1.6.0:
    +    resolution: {integrity: sha512-x6YLBe6NjdpmIeiklwQOxsZuYj/SOWkT33GlTpaG1UdFGjdWjPcxJ1CWZAX3wA7tarz8E2YHF6KiW5HTapPlXw==}
    +    engines: {node: '>= 0.6'}
    +    hasBin: true
    +
    +  jsonpointer@5.0.1:
    +    resolution: {integrity: sha512-p/nXbhSEcu3pZRdkW1OfJhpsVtW1gd4Wa1fnQc9YLiTfAjn0312eMKimbdIQzuZl9aa9xUGaRlP9T/CJE/ditQ==}
    +    engines: {node: '>=0.10.0'}
    +
    +  jsonschema@1.4.1:
    +    resolution: {integrity: sha512-S6cATIPVv1z0IlxdN+zUk5EPjkGCdnhN4wVSBlvoUO1tOLJootbo9CquNJmbIh4yikWHiUedhRYrNPn1arpEmQ==}
    +
    +  jsprim@2.0.2:
    +    resolution: {integrity: sha512-gqXddjPqQ6G40VdnI6T6yObEC+pDNvyP95wdQhkWkg7crHH3km5qP1FsOXEkzEQwnz6gz5qGTn1c2Y52wP3OyQ==}
    +    engines: {'0': node >=0.6.0}
    +
    +  junk@4.0.1:
    +    resolution: {integrity: sha512-Qush0uP+G8ZScpGMZvHUiRfI0YBWuB3gVBYlI0v0vvOJt5FLicco+IkP0a50LqTTQhmts/m6tP5SWE+USyIvcQ==}
    +    engines: {node: '>=12.20'}
    +
    +  katex@0.16.10:
    +    resolution: {integrity: sha512-ZiqaC04tp2O5utMsl2TEZTXxa6WSC4yo0fv5ML++D3QZv/vx2Mct0mTlRx3O+uUkjfuAgOkzsCmq5MiUEsDDdA==}
    +    hasBin: true
    +
    +  keyv@4.5.4:
    +    resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==}
    +
    +  khroma@2.1.0:
    +    resolution: {integrity: sha512-Ls993zuzfayK269Svk9hzpeGUKob/sIgZzyHYdjQoAdQetRKpOLj+k/QQQ/6Qi0Yz65mlROrfd+Ev+1+7dz9Kw==}
    +
    +  kind-of@6.0.3:
    +    resolution: {integrity: sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==}
    +    engines: {node: '>=0.10.0'}
    +
    +  kleur@3.0.3:
    +    resolution: {integrity: sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==}
    +    engines: {node: '>=6'}
    +
    +  kolorist@1.8.0:
    +    resolution: {integrity: sha512-Y+60/zizpJ3HRH8DCss+q95yr6145JXZo46OTpFvDZWLfRCE4qChOyk1b26nMaNpfHHgxagk9dXT5OP0Tfe+dQ==}
    +
    +  ky@0.30.0:
    +    resolution: {integrity: sha512-X/u76z4JtDVq10u1JA5UQfatPxgPaVDMYTrgHyiTpGN2z4TMEJkIHsoSBBSg9SWZEIXTKsi9kHgiQ9o3Y/4yog==}
    +    engines: {node: '>=12'}
    +
    +  langium-cli@3.0.3:
    +    resolution: {integrity: sha512-g6PdhEq5IiYWK/oiySILglPvFdK6ofQdzC+U7PJmFH++bDKu0DGdxjWzDauUN5WUDyVQETWKgtYDmmbcxPzN0w==}
    +    engines: {node: '>=16.0.0'}
    +    hasBin: true
    +
    +  langium-railroad@3.0.0:
    +    resolution: {integrity: sha512-GQOnQBGl5gJqzgK/4bKvJO5QhJGNnprpYH6Fghbl4FviVLHwP6yzyqiouDelLSoCadChCr2JqKaBp5HXv7CgWw==}
    +
    +  langium@3.0.0:
    +    resolution: {integrity: sha512-+Ez9EoiByeoTu/2BXmEaZ06iPNXM6thWJp02KfBO/raSMyCJ4jw7AkWWa+zBCTm0+Tw1Fj9FOxdqSskyN5nAwg==}
    +    engines: {node: '>=16.0.0'}
    +
    +  launch-editor@2.6.1:
    +    resolution: {integrity: sha512-eB/uXmFVpY4zezmGp5XtU21kwo7GBbKB+EQ+UZeWtGb9yAM5xt/Evk+lYH3eRNAtId+ej4u7TYPFZ07w4s7rRw==}
    +
    +  layout-base@1.0.2:
    +    resolution: {integrity: sha512-8h2oVEZNktL4BH2JCOI90iD1yXwL6iNW7KcCKT2QZgQJR2vbqDsldCTPRU9NifTCqHZci57XvQQ15YTu+sTYPg==}
    +
    +  lazy-ass@1.6.0:
    +    resolution: {integrity: sha512-cc8oEVoctTvsFZ/Oje/kGnHbpWHYBe8IAJe4C0QNc3t8uM/0Y8+erSz/7Y1ALuXTEZTMvxXwO6YbX1ey3ujiZw==}
    +    engines: {node: '> 0.8'}
    +
    +  leven@3.1.0:
    +    resolution: {integrity: sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==}
    +    engines: {node: '>=6'}
    +
    +  levn@0.4.1:
    +    resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==}
    +    engines: {node: '>= 0.8.0'}
    +
    +  lex-parser@0.1.4:
    +    resolution: {integrity: sha512-DuAEISsr1H4LOpmFLkyMc8YStiRWZCO8hMsoXAXSbgyfvs2WQhSt0+/FBv3ZU/JBFZMGcE+FWzEBSzwUU7U27w==}
    +
    +  light-my-request@4.12.0:
    +    resolution: {integrity: sha512-0y+9VIfJEsPVzK5ArSIJ8Dkxp8QMP7/aCuxCUtG/tr9a2NoOf/snATE/OUc05XUplJCEnRh6gTkH7xh9POt1DQ==}
    +
    +  lilconfig@2.1.0:
    +    resolution: {integrity: sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==}
    +    engines: {node: '>=10'}
    +
    +  lilconfig@3.0.0:
    +    resolution: {integrity: sha512-K2U4W2Ff5ibV7j7ydLr+zLAkIg5JJ4lPn1Ltsdt+Tz/IjQ8buJ55pZAxoP34lqIiwtF9iAvtLv3JGv7CAyAg+g==}
    +    engines: {node: '>=14'}
    +
    +  lilconfig@3.1.1:
    +    resolution: {integrity: sha512-O18pf7nyvHTckunPWCV1XUNXU1piu01y2b7ATJ0ppkUkk8ocqVWBrYjJBCwHDjD/ZWcfyrA0P4gKhzWGi5EINQ==}
    +    engines: {node: '>=14'}
    +
    +  lines-and-columns@1.2.4:
    +    resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==}
    +
    +  linkify-it@4.0.1:
    +    resolution: {integrity: sha512-C7bfi1UZmoj8+PQx22XyeXCuBlokoyWQL5pWSP+EI6nzRylyThouddufc2c1NDIcP9k5agmN9fLpA7VNJfIiqw==}
    +
    +  lint-staged@15.2.2:
    +    resolution: {integrity: sha512-TiTt93OPh1OZOsb5B7k96A/ATl2AjIZo+vnzFZ6oHK5FuTk63ByDtxGQpHm+kFETjEWqgkF95M8FRXKR/LEBcw==}
    +    engines: {node: '>=18.12.0'}
    +    hasBin: true
    +
    +  listr2@3.14.0:
    +    resolution: {integrity: sha512-TyWI8G99GX9GjE54cJ+RrNMcIFBfwMPxc3XTFiAYGN4s10hWROGtOg7+O6u6LE3mNkyld7RSLE6nrKBvTfcs3g==}
    +    engines: {node: '>=10.0.0'}
    +    peerDependencies:
    +      enquirer: '>= 2.3.0 < 3'
    +    peerDependenciesMeta:
    +      enquirer:
    +        optional: true
    +
    +  listr2@8.0.1:
    +    resolution: {integrity: sha512-ovJXBXkKGfq+CwmKTjluEqFi3p4h8xvkxGQQAQan22YCgef4KZ1mKGjzfGh6PL6AW5Csw0QiQPNuQyH+6Xk3hA==}
    +    engines: {node: '>=18.0.0'}
    +
    +  loader-runner@4.3.0:
    +    resolution: {integrity: sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==}
    +    engines: {node: '>=6.11.5'}
    +
    +  local-pkg@0.4.3:
    +    resolution: {integrity: sha512-SFppqq5p42fe2qcZQqqEOiVRXl+WCP1MdT6k7BDEW1j++sp5fIY+/fdRQitvKgB5BrBcmrs5m/L0v2FrU5MY1g==}
    +    engines: {node: '>=14'}
    +
    +  local-pkg@0.5.0:
    +    resolution: {integrity: sha512-ok6z3qlYyCDS4ZEU27HaU6x/xZa9Whf8jD4ptH5UZTQYZVYeb9bnZ3ojVhiJNLiXK1Hfc0GNbLXcmZ5plLDDBg==}
    +    engines: {node: '>=14'}
    +
    +  locate-path@3.0.0:
    +    resolution: {integrity: sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==}
    +    engines: {node: '>=6'}
    +
    +  locate-path@5.0.0:
    +    resolution: {integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==}
    +    engines: {node: '>=8'}
    +
    +  locate-path@6.0.0:
    +    resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==}
    +    engines: {node: '>=10'}
    +
    +  locate-path@7.2.0:
    +    resolution: {integrity: sha512-gvVijfZvn7R+2qyPX8mAuKcFGDf6Nc61GdvGafQsHL0sBIxfKzA+usWn4GFC/bk+QdwPUD4kWFJLhElipq+0VA==}
    +    engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
    +
    +  lodash-es@4.17.21:
    +    resolution: {integrity: sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==}
    +
    +  lodash.debounce@4.0.8:
    +    resolution: {integrity: sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==}
    +
    +  lodash.flattendeep@4.4.0:
    +    resolution: {integrity: sha512-uHaJFihxmJcEX3kT4I23ABqKKalJ/zDrDg0lsFtc1h+3uw49SIJ5beyhx5ExVRti3AvKoOJngIj7xz3oylPdWQ==}
    +
    +  lodash.isplainobject@4.0.6:
    +    resolution: {integrity: sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==}
    +
    +  lodash.merge@4.6.2:
    +    resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==}
    +
    +  lodash.once@4.1.1:
    +    resolution: {integrity: sha512-Sb487aTOCr9drQVL8pIxOzVhafOjZN9UU54hiN8PU3uAiSV7lx1yYNpbNmex2PK6dSJoNTSJUUswT651yww3Mg==}
    +
    +  lodash.sortby@4.7.0:
    +    resolution: {integrity: sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA==}
    +
    +  lodash@4.17.21:
    +    resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==}
    +
    +  log-symbols@4.1.0:
    +    resolution: {integrity: sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==}
    +    engines: {node: '>=10'}
    +
    +  log-update@4.0.0:
    +    resolution: {integrity: sha512-9fkkDevMefjg0mmzWFBW8YkFP91OrizzkW3diF7CpG+S2EYdy4+TVfGwz1zeF8x7hCx1ovSPTOE9Ngib74qqUg==}
    +    engines: {node: '>=10'}
    +
    +  log-update@6.0.0:
    +    resolution: {integrity: sha512-niTvB4gqvtof056rRIrTZvjNYE4rCUzO6X/X+kYjd7WFxXeJ0NwEFnRxX6ehkvv3jTwrXnNdtAak5XYZuIyPFw==}
    +    engines: {node: '>=18'}
    +
    +  loglevel-plugin-prefix@0.8.4:
    +    resolution: {integrity: sha512-WpG9CcFAOjz/FtNht+QJeGpvVl/cdR6P0z6OcXSkr8wFJOsV2GRj2j10JLfjuA4aYkcKCNIEqRGCyTife9R8/g==}
    +
    +  loglevel@1.9.1:
    +    resolution: {integrity: sha512-hP3I3kCrDIMuRwAwHltphhDM1r8i55H33GgqjXbrisuJhF4kRhW1dNuxsRklp4bXl8DSdLaNLuiL4A/LWRfxvg==}
    +    engines: {node: '>= 0.6.0'}
    +
    +  longest-streak@3.1.0:
    +    resolution: {integrity: sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g==}
    +
    +  loupe@2.3.7:
    +    resolution: {integrity: sha512-zSMINGVYkdpYSOBmLi0D1Uo7JU9nVdQKrHxC8eYlV+9YKK9WePqAlL7lSlorG/U2Fw1w0hTBmaa/jrQ3UbPHtA==}
    +
    +  lowercase-keys@2.0.0:
    +    resolution: {integrity: sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==}
    +    engines: {node: '>=8'}
    +
    +  lru-cache@10.2.1:
    +    resolution: {integrity: sha512-tS24spDe/zXhWbNPErCHs/AGOzbKGHT+ybSBqmdLm8WZ1xXLWvH8Qn71QPAlqVhd0qUTWjy+Kl9JmISgDdEjsA==}
    +    engines: {node: 14 || >=16.14}
    +
    +  lru-cache@5.1.1:
    +    resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==}
    +
    +  lru-cache@6.0.0:
    +    resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==}
    +    engines: {node: '>=10'}
    +
    +  lru-queue@0.1.0:
    +    resolution: {integrity: sha512-BpdYkt9EvGl8OfWHDQPISVpcl5xZthb+XPsbELj5AQXxIC8IriDZIQYjBJPEm5rS420sjZ0TLEzRcq5KdBhYrQ==}
    +
    +  lunr@2.3.9:
    +    resolution: {integrity: sha512-zTU3DaZaF3Rt9rhN3uBMGQD3dD2/vFQqnvZCDv4dl5iOzq2IZQqTxu90r4E5J+nP70J3ilqVCrbho2eWaeW8Ow==}
    +
    +  magic-string@0.25.9:
    +    resolution: {integrity: sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==}
    +
    +  magic-string@0.30.10:
    +    resolution: {integrity: sha512-iIRwTIf0QKV3UAnYK4PU8uiEc4SRh5jX0mwpIwETPpHdhVM4f53RSwS/vXvN1JhGX+Cs7B8qIq3d6AH49O5fAQ==}
    +
    +  magic-string@0.30.5:
    +    resolution: {integrity: sha512-7xlpfBaQaP/T6Vh8MO/EqXSW5En6INHEvEXQiuff7Gku0PWjU3uf6w/j9o7O+SpB5fOAkrI5HeoNgwjEO0pFsA==}
    +    engines: {node: '>=12'}
    +
    +  magicast@0.3.4:
    +    resolution: {integrity: sha512-TyDF/Pn36bBji9rWKHlZe+PZb6Mx5V8IHCSxk7X4aljM4e/vyDvZZYwHewdVaqiA0nb3ghfHU/6AUpDxWoER2Q==}
    +
    +  make-dir@3.1.0:
    +    resolution: {integrity: sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==}
    +    engines: {node: '>=8'}
    +
    +  make-dir@4.0.0:
    +    resolution: {integrity: sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==}
    +    engines: {node: '>=10'}
    +
    +  makeerror@1.0.12:
    +    resolution: {integrity: sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==}
    +
    +  map-stream@0.1.0:
    +    resolution: {integrity: sha512-CkYQrPYZfWnu/DAmVCpTSX/xHpKZ80eKh2lAkyA6AJTef6bW+6JpbQZN5rofum7da+SyN1bi5ctTm+lTfcCW3g==}
    +
    +  mark.js@8.11.1:
    +    resolution: {integrity: sha512-1I+1qpDt4idfgLQG+BNWmrqku+7/2bi5nLf4YwF8y8zXvmfiTBY3PV3ZibfrjBueCByROpuBjLLFCajqkgYoLQ==}
    +
    +  markdown-it@13.0.1:
    +    resolution: {integrity: sha512-lTlxriVoy2criHP0JKRhO2VDG9c2ypWCsT237eDiLqi09rmbKoUetyGHq2uOIRoRS//kfoJckS0eUzzkDR+k2Q==}
    +    hasBin: true
    +
    +  markdown-table@3.0.3:
    +    resolution: {integrity: sha512-Z1NL3Tb1M9wH4XESsCDEksWoKTdlUafKc4pt0GRwjUyXaCFZ+dc3g2erqB6zm3szA2IUSi7VnPI+o/9jnxh9hw==}
    +
    +  marked@4.3.0:
    +    resolution: {integrity: sha512-PRsaiG84bK+AMvxziE/lCFss8juXjNaWzVbN5tXAm4XjeaS9NAHhop+PjQxz2A9h8Q4M/xGmzP8vqNwy6JeK0A==}
    +    engines: {node: '>= 12'}
    +    hasBin: true
    +
    +  mdast-builder@1.1.1:
    +    resolution: {integrity: sha512-a3KBk/LmYD6wKsWi8WJrGU/rXR4yuF4Men0JO0z6dSZCm5FrXXWTRDjqK0vGSqa+1M6p9edeuypZAZAzSehTUw==}
    +
    +  mdast-util-find-and-replace@3.0.1:
    +    resolution: {integrity: sha512-SG21kZHGC3XRTSUhtofZkBzZTJNM5ecCi0SK2IMKmSXR8vO3peL+kb1O0z7Zl83jKtutG4k5Wv/W7V3/YHvzPA==}
    +
    +  mdast-util-from-markdown@0.8.5:
    +    resolution: {integrity: sha512-2hkTXtYYnr+NubD/g6KGBS/0mFmBcifAsI0yIWRiRo0PjVs6SSOSOdtzbp6kSGnShDN6G5aWZpKQ2lWRy27mWQ==}
    +
    +  mdast-util-from-markdown@2.0.0:
    +    resolution: {integrity: sha512-n7MTOr/z+8NAX/wmhhDji8O3bRvPTV/U0oTCaZJkjhPSKTPhS3xufVhKGF8s1pJ7Ox4QgoIU7KHseh09S+9rTA==}
    +
    +  mdast-util-frontmatter@2.0.1:
    +    resolution: {integrity: sha512-LRqI9+wdgC25P0URIJY9vwocIzCcksduHQ9OF2joxQoyTNVduwLAFUzjoopuRJbJAReaKrNQKAZKL3uCMugWJA==}
    +
    +  mdast-util-gfm-autolink-literal@2.0.0:
    +    resolution: {integrity: sha512-FyzMsduZZHSc3i0Px3PQcBT4WJY/X/RCtEJKuybiC6sjPqLv7h1yqAkmILZtuxMSsUyaLUWNp71+vQH2zqp5cg==}
    +
    +  mdast-util-gfm-footnote@2.0.0:
    +    resolution: {integrity: sha512-5jOT2boTSVkMnQ7LTrd6n/18kqwjmuYqo7JUPe+tRCY6O7dAuTFMtTPauYYrMPpox9hlN0uOx/FL8XvEfG9/mQ==}
    +
    +  mdast-util-gfm-strikethrough@2.0.0:
    +    resolution: {integrity: sha512-mKKb915TF+OC5ptj5bJ7WFRPdYtuHv0yTRxK2tJvi+BDqbkiG7h7u/9SI89nRAYcmap2xHQL9D+QG/6wSrTtXg==}
    +
    +  mdast-util-gfm-table@2.0.0:
    +    resolution: {integrity: sha512-78UEvebzz/rJIxLvE7ZtDd/vIQ0RHv+3Mh5DR96p7cS7HsBhYIICDBCu8csTNWNO6tBWfqXPWekRuj2FNOGOZg==}
    +
    +  mdast-util-gfm-task-list-item@2.0.0:
    +    resolution: {integrity: sha512-IrtvNvjxC1o06taBAVJznEnkiHxLFTzgonUdy8hzFVeDun0uTjxxrRGVaNFqkU1wJR3RBPEfsxmU6jDWPofrTQ==}
    +
    +  mdast-util-gfm@3.0.0:
    +    resolution: {integrity: sha512-dgQEX5Amaq+DuUqf26jJqSK9qgixgd6rYDHAv4aTBuA92cTknZlKpPfa86Z/s8Dj8xsAQpFfBmPUHWJBWqS4Bw==}
    +
    +  mdast-util-phrasing@4.1.0:
    +    resolution: {integrity: sha512-TqICwyvJJpBwvGAMZjj4J2n0X8QWp21b9l0o7eXyVJ25YNWYbJDVIyD1bZXE6WtV6RmKJVYmQAKWa0zWOABz2w==}
    +
    +  mdast-util-to-markdown@2.1.0:
    +    resolution: {integrity: sha512-SR2VnIEdVNCJbP6y7kVTJgPLifdr8WEU440fQec7qHoHOUz/oJ2jmNRqdDQ3rbiStOXb2mCDGTuwsK5OPUgYlQ==}
    +
    +  mdast-util-to-string@2.0.0:
    +    resolution: {integrity: sha512-AW4DRS3QbBayY/jJmD8437V1Gombjf8RSOUCMFBuo5iHi58AGEgVCKQ+ezHkZZDpAQS75hcBMpLqjpJTjtUL7w==}
    +
    +  mdast-util-to-string@4.0.0:
    +    resolution: {integrity: sha512-0H44vDimn51F0YwvxSJSm0eCDOJTRlmN0R1yBh4HLj9wiV1Dn0QoXGbvFAWj2hSItVTlCmBF1hqKlIyUBVFLPg==}
    +
    +  mdn-data@2.0.30:
    +    resolution: {integrity: sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==}
    +
    +  mdn-data@2.1.0:
    +    resolution: {integrity: sha512-dbAWH6A+2NGuVJlQFrTKHJc07Vqn5frnhyTOGz+7BsK7V2hHdoBcwoiyV3QVhLHYpM/zqe2OSUn5ZWbVXLBB8A==}
    +
    +  mdurl@1.0.1:
    +    resolution: {integrity: sha512-/sKlQJCBYVY9Ers9hqzKou4H6V5UWc/M59TH2dvkt+84itfnq7uFOMLpOiOS4ujvHP4etln18fmIxA5R5fll0g==}
    +
    +  media-typer@0.3.0:
    +    resolution: {integrity: sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==}
    +    engines: {node: '>= 0.6'}
    +
    +  memfs@3.5.3:
    +    resolution: {integrity: sha512-UERzLsxzllchadvbPs5aolHh65ISpKpM+ccLbOJ8/vvpBKmAWf+la7dXFy7Mr0ySHbdHrFv5kGFCUHHe6GFEmw==}
    +    engines: {node: '>= 4.0.0'}
    +
    +  memoizee@0.4.15:
    +    resolution: {integrity: sha512-UBWmJpLZd5STPm7PMUlOw/TSy972M+z8gcyQ5veOnSDRREz/0bmpyTfKt3/51DhEBqCZQn1udM/5flcSPYhkdQ==}
    +
    +  meow@12.1.1:
    +    resolution: {integrity: sha512-BhXM0Au22RwUneMPwSCnyhTOizdWoIEPU9sp0Aqa1PnDMR5Wv2FGXYDjuzJEIX+Eo2Rb8xuYe5jrnm5QowQFkw==}
    +    engines: {node: '>=16.10'}
    +
    +  merge-descriptors@1.0.1:
    +    resolution: {integrity: sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==}
    +
    +  merge-stream@2.0.0:
    +    resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==}
    +
    +  merge2@1.4.1:
    +    resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==}
    +    engines: {node: '>= 8'}
    +
    +  methods@1.1.2:
    +    resolution: {integrity: sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==}
    +    engines: {node: '>= 0.6'}
    +
    +  micromark-core-commonmark@2.0.0:
    +    resolution: {integrity: sha512-jThOz/pVmAYUtkroV3D5c1osFXAMv9e0ypGDOIZuCeAe91/sD6BoE2Sjzt30yuXtwOYUmySOhMas/PVyh02itA==}
    +
    +  micromark-extension-frontmatter@2.0.0:
    +    resolution: {integrity: sha512-C4AkuM3dA58cgZha7zVnuVxBhDsbttIMiytjgsM2XbHAB2faRVaHRle40558FBN+DJcrLNCoqG5mlrpdU4cRtg==}
    +
    +  micromark-extension-gfm-autolink-literal@2.0.0:
    +    resolution: {integrity: sha512-rTHfnpt/Q7dEAK1Y5ii0W8bhfJlVJFnJMHIPisfPK3gpVNuOP0VnRl96+YJ3RYWV/P4gFeQoGKNlT3RhuvpqAg==}
    +
    +  micromark-extension-gfm-footnote@2.0.0:
    +    resolution: {integrity: sha512-6Rzu0CYRKDv3BfLAUnZsSlzx3ak6HAoI85KTiijuKIz5UxZxbUI+pD6oHgw+6UtQuiRwnGRhzMmPRv4smcz0fg==}
    +
    +  micromark-extension-gfm-strikethrough@2.0.0:
    +    resolution: {integrity: sha512-c3BR1ClMp5fxxmwP6AoOY2fXO9U8uFMKs4ADD66ahLTNcwzSCyRVU4k7LPV5Nxo/VJiR4TdzxRQY2v3qIUceCw==}
    +
    +  micromark-extension-gfm-table@2.0.0:
    +    resolution: {integrity: sha512-PoHlhypg1ItIucOaHmKE8fbin3vTLpDOUg8KAr8gRCF1MOZI9Nquq2i/44wFvviM4WuxJzc3demT8Y3dkfvYrw==}
    +
    +  micromark-extension-gfm-tagfilter@2.0.0:
    +    resolution: {integrity: sha512-xHlTOmuCSotIA8TW1mDIM6X2O1SiX5P9IuDtqGonFhEK0qgRI4yeC6vMxEV2dgyr2TiD+2PQ10o+cOhdVAcwfg==}
    +
    +  micromark-extension-gfm-task-list-item@2.0.1:
    +    resolution: {integrity: sha512-cY5PzGcnULaN5O7T+cOzfMoHjBW7j+T9D2sucA5d/KbsBTPcYdebm9zUd9zzdgJGCwahV+/W78Z3nbulBYVbTw==}
    +
    +  micromark-extension-gfm@3.0.0:
    +    resolution: {integrity: sha512-vsKArQsicm7t0z2GugkCKtZehqUm31oeGBV/KVSorWSy8ZlNAv7ytjFhvaryUiCUJYqs+NoE6AFhpQvBTM6Q4w==}
    +
    +  micromark-factory-destination@2.0.0:
    +    resolution: {integrity: sha512-j9DGrQLm/Uhl2tCzcbLhy5kXsgkHUrjJHg4fFAeoMRwJmJerT9aw4FEhIbZStWN8A3qMwOp1uzHr4UL8AInxtA==}
    +
    +  micromark-factory-label@2.0.0:
    +    resolution: {integrity: sha512-RR3i96ohZGde//4WSe/dJsxOX6vxIg9TimLAS3i4EhBAFx8Sm5SmqVfR8E87DPSR31nEAjZfbt91OMZWcNgdZw==}
    +
    +  micromark-factory-space@2.0.0:
    +    resolution: {integrity: sha512-TKr+LIDX2pkBJXFLzpyPyljzYK3MtmllMUMODTQJIUfDGncESaqB90db9IAUcz4AZAJFdd8U9zOp9ty1458rxg==}
    +
    +  micromark-factory-title@2.0.0:
    +    resolution: {integrity: sha512-jY8CSxmpWLOxS+t8W+FG3Xigc0RDQA9bKMY/EwILvsesiRniiVMejYTE4wumNc2f4UbAa4WsHqe3J1QS1sli+A==}
    +
    +  micromark-factory-whitespace@2.0.0:
    +    resolution: {integrity: sha512-28kbwaBjc5yAI1XadbdPYHX/eDnqaUFVikLwrO7FDnKG7lpgxnvk/XGRhX/PN0mOZ+dBSZ+LgunHS+6tYQAzhA==}
    +
    +  micromark-util-character@2.1.0:
    +    resolution: {integrity: sha512-KvOVV+X1yLBfs9dCBSopq/+G1PcgT3lAK07mC4BzXi5E7ahzMAF8oIupDDJ6mievI6F+lAATkbQQlQixJfT3aQ==}
    +
    +  micromark-util-chunked@2.0.0:
    +    resolution: {integrity: sha512-anK8SWmNphkXdaKgz5hJvGa7l00qmcaUQoMYsBwDlSKFKjc6gjGXPDw3FNL3Nbwq5L8gE+RCbGqTw49FK5Qyvg==}
    +
    +  micromark-util-classify-character@2.0.0:
    +    resolution: {integrity: sha512-S0ze2R9GH+fu41FA7pbSqNWObo/kzwf8rN/+IGlW/4tC6oACOs8B++bh+i9bVyNnwCcuksbFwsBme5OCKXCwIw==}
    +
    +  micromark-util-combine-extensions@2.0.0:
    +    resolution: {integrity: sha512-vZZio48k7ON0fVS3CUgFatWHoKbbLTK/rT7pzpJ4Bjp5JjkZeasRfrS9wsBdDJK2cJLHMckXZdzPSSr1B8a4oQ==}
    +
    +  micromark-util-decode-numeric-character-reference@2.0.1:
    +    resolution: {integrity: sha512-bmkNc7z8Wn6kgjZmVHOX3SowGmVdhYS7yBpMnuMnPzDq/6xwVA604DuOXMZTO1lvq01g+Adfa0pE2UKGlxL1XQ==}
    +
    +  micromark-util-decode-string@2.0.0:
    +    resolution: {integrity: sha512-r4Sc6leeUTn3P6gk20aFMj2ntPwn6qpDZqWvYmAG6NgvFTIlj4WtrAudLi65qYoaGdXYViXYw2pkmn7QnIFasA==}
    +
    +  micromark-util-encode@2.0.0:
    +    resolution: {integrity: sha512-pS+ROfCXAGLWCOc8egcBvT0kf27GoWMqtdarNfDcjb6YLuV5cM3ioG45Ys2qOVqeqSbjaKg72vU+Wby3eddPsA==}
    +
    +  micromark-util-html-tag-name@2.0.0:
    +    resolution: {integrity: sha512-xNn4Pqkj2puRhKdKTm8t1YHC/BAjx6CEwRFXntTaRf/x16aqka6ouVoutm+QdkISTlT7e2zU7U4ZdlDLJd2Mcw==}
    +
    +  micromark-util-normalize-identifier@2.0.0:
    +    resolution: {integrity: sha512-2xhYT0sfo85FMrUPtHcPo2rrp1lwbDEEzpx7jiH2xXJLqBuy4H0GgXk5ToU8IEwoROtXuL8ND0ttVa4rNqYK3w==}
    +
    +  micromark-util-resolve-all@2.0.0:
    +    resolution: {integrity: sha512-6KU6qO7DZ7GJkaCgwBNtplXCvGkJToU86ybBAUdavvgsCiG8lSSvYxr9MhwmQ+udpzywHsl4RpGJsYWG1pDOcA==}
    +
    +  micromark-util-sanitize-uri@2.0.0:
    +    resolution: {integrity: sha512-WhYv5UEcZrbAtlsnPuChHUAsu/iBPOVaEVsntLBIdpibO0ddy8OzavZz3iL2xVvBZOpolujSliP65Kq0/7KIYw==}
    +
    +  micromark-util-subtokenize@2.0.0:
    +    resolution: {integrity: sha512-vc93L1t+gpR3p8jxeVdaYlbV2jTYteDje19rNSS/H5dlhxUYll5Fy6vJ2cDwP8RnsXi818yGty1ayP55y3W6fg==}
    +
    +  micromark-util-symbol@2.0.0:
    +    resolution: {integrity: sha512-8JZt9ElZ5kyTnO94muPxIGS8oyElRJaiJO8EzV6ZSyGQ1Is8xwl4Q45qU5UOg+bGH4AikWziz0iN4sFLWs8PGw==}
    +
    +  micromark-util-types@2.0.0:
    +    resolution: {integrity: sha512-oNh6S2WMHWRZrmutsRmDDfkzKtxF+bc2VxLC9dvtrDIRFln627VsFP6fLMgTryGDljgLPjkrzQSDcPrjPyDJ5w==}
    +
    +  micromark@2.11.4:
    +    resolution: {integrity: sha512-+WoovN/ppKolQOFIAajxi7Lu9kInbPxFuTBVEavFcL8eAfVstoc5MocPmqBeAdBOJV00uaVjegzH4+MA0DN/uA==}
    +
    +  micromark@4.0.0:
    +    resolution: {integrity: sha512-o/sd0nMof8kYff+TqcDx3VSrgBTcZpSvYcAHIfHhv5VAuNmisCxjhx6YmxS8PFEpb9z5WKWKPdzf0jM23ro3RQ==}
    +
    +  micromatch@4.0.5:
    +    resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==}
    +    engines: {node: '>=8.6'}
    +
    +  mime-db@1.52.0:
    +    resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==}
    +    engines: {node: '>= 0.6'}
    +
    +  mime-types@2.1.35:
    +    resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==}
    +    engines: {node: '>= 0.6'}
    +
    +  mime@1.6.0:
    +    resolution: {integrity: sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==}
    +    engines: {node: '>=4'}
    +    hasBin: true
    +
    +  mimic-fn@2.1.0:
    +    resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==}
    +    engines: {node: '>=6'}
    +
    +  mimic-fn@4.0.0:
    +    resolution: {integrity: sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==}
    +    engines: {node: '>=12'}
    +
    +  mimic-response@1.0.1:
    +    resolution: {integrity: sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==}
    +    engines: {node: '>=4'}
    +
    +  mimic-response@3.1.0:
    +    resolution: {integrity: sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==}
    +    engines: {node: '>=10'}
    +
    +  min-indent@1.0.1:
    +    resolution: {integrity: sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==}
    +    engines: {node: '>=4'}
    +
    +  minimalistic-assert@1.0.1:
    +    resolution: {integrity: sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==}
    +
    +  minimatch@3.1.2:
    +    resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==}
    +
    +  minimatch@5.1.6:
    +    resolution: {integrity: sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==}
    +    engines: {node: '>=10'}
    +
    +  minimatch@9.0.3:
    +    resolution: {integrity: sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==}
    +    engines: {node: '>=16 || 14 >=14.17'}
    +
    +  minimatch@9.0.4:
    +    resolution: {integrity: sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw==}
    +    engines: {node: '>=16 || 14 >=14.17'}
    +
    +  minimist@1.2.8:
    +    resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==}
    +
    +  minipass@7.0.4:
    +    resolution: {integrity: sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ==}
    +    engines: {node: '>=16 || 14 >=14.17'}
    +
    +  minisearch@6.3.0:
    +    resolution: {integrity: sha512-ihFnidEeU8iXzcVHy74dhkxh/dn8Dc08ERl0xwoMMGqp4+LvRSCgicb+zGqWthVokQKvCSxITlh3P08OzdTYCQ==}
    +
    +  mitt@3.0.1:
    +    resolution: {integrity: sha512-vKivATfr97l2/QBCYAkXYDbrIWPM2IIKEl7YPhjCvKlG3kE2gm+uBo6nEXK3M5/Ffh/FLpKExzOQ3JJoJGFKBw==}
    +
    +  mkdirp@0.5.6:
    +    resolution: {integrity: sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==}
    +    hasBin: true
    +
    +  mkdirp@1.0.4:
    +    resolution: {integrity: sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==}
    +    engines: {node: '>=10'}
    +    hasBin: true
    +
    +  mlly@1.6.1:
    +    resolution: {integrity: sha512-vLgaHvaeunuOXHSmEbZ9izxPx3USsk8KCQ8iC+aTlp5sKRSoZvwhHh5L9VbKSaVC6sJDqbyohIS76E2VmHIPAA==}
    +
    +  mrmime@2.0.0:
    +    resolution: {integrity: sha512-eu38+hdgojoyq63s+yTpN4XMBdt5l8HhMhc4VKLO9KM5caLIBvUm4thi7fFaxyTmCKeNnXZ5pAlBwCUnhA09uw==}
    +    engines: {node: '>=10'}
    +
    +  ms@2.0.0:
    +    resolution: {integrity: sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==}
    +
    +  ms@2.1.2:
    +    resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==}
    +
    +  ms@2.1.3:
    +    resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==}
    +
    +  multicast-dns@7.2.5:
    +    resolution: {integrity: sha512-2eznPJP8z2BFLX50tf0LuODrpINqP1RVIm/CObbTcBRITQgmC/TjcREF1NeTBzIcR5XO/ukWo+YHOjBbFwIupg==}
    +    hasBin: true
    +
    +  mz@2.7.0:
    +    resolution: {integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==}
    +
    +  nanoid@3.3.7:
    +    resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==}
    +    engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1}
    +    hasBin: true
    +
    +  natural-compare@1.4.0:
    +    resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==}
    +
    +  negotiator@0.6.3:
    +    resolution: {integrity: sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==}
    +    engines: {node: '>= 0.6'}
    +
    +  neo-async@2.6.2:
    +    resolution: {integrity: sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==}
    +
    +  nested-error-stacks@2.1.1:
    +    resolution: {integrity: sha512-9iN1ka/9zmX1ZvLV9ewJYEk9h7RyRRtqdK0woXcqohu8EWIerfPUjYJPg0ULy0UqP7cslmdGc8xKDJcojlKiaw==}
    +
    +  next-tick@1.1.0:
    +    resolution: {integrity: sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ==}
    +
    +  nice-try@1.0.5:
    +    resolution: {integrity: sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==}
    +
    +  node-cleanup@2.1.2:
    +    resolution: {integrity: sha512-qN8v/s2PAJwGUtr1/hYTpNKlD6Y9rc4p8KSmJXyGdYGZsDGKXrGThikLFP9OCHFeLeEpQzPwiAtdIvBLqm//Hw==}
    +
    +  node-domexception@1.0.0:
    +    resolution: {integrity: sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==}
    +    engines: {node: '>=10.5.0'}
    +
    +  node-fetch-native@1.6.4:
    +    resolution: {integrity: sha512-IhOigYzAKHd244OC0JIMIUrjzctirCmPkaIfhDeGcEETWof5zKYUW7e7MYvChGWh/4CJeXEgsRyGzuF334rOOQ==}
    +
    +  node-fetch@2.6.7:
    +    resolution: {integrity: sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==}
    +    engines: {node: 4.x || >=6.0.0}
    +    peerDependencies:
    +      encoding: ^0.1.0
    +    peerDependenciesMeta:
    +      encoding:
    +        optional: true
    +
    +  node-fetch@3.3.1:
    +    resolution: {integrity: sha512-cRVc/kyto/7E5shrWca1Wsea4y6tL9iYJE5FBCius3JQfb/4P4I295PfhgbJQBLTx6lATE4z+wK0rPM4VS2uow==}
    +    engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
    +
    +  node-forge@1.3.1:
    +    resolution: {integrity: sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==}
    +    engines: {node: '>= 6.13.0'}
    +
    +  node-int64@0.4.0:
    +    resolution: {integrity: sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==}
    +
    +  node-preload@0.2.1:
    +    resolution: {integrity: sha512-RM5oyBy45cLEoHqCeh+MNuFAxO0vTFBLskvQbOKnEE7YTTSN4tbN8QWDIPQ6L+WvKsB/qLEGpYe2ZZ9d4W9OIQ==}
    +    engines: {node: '>=8'}
    +
    +  node-releases@2.0.14:
    +    resolution: {integrity: sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==}
    +
    +  nomnom@1.5.2:
    +    resolution: {integrity: sha512-fiVbT7BqxiQqjlR9U3FDGOSERFCKoXVCdxV2FwZuNN7/cmJ42iQx35nUFOAFDcyvemu9Adp+IlsCGlKQYLmBKw==}
    +    deprecated: Package no longer supported. Contact support@npmjs.com for more info.
    +
    +  normalize-package-data@2.5.0:
    +    resolution: {integrity: sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==}
    +
    +  normalize-path@3.0.0:
    +    resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==}
    +    engines: {node: '>=0.10.0'}
    +
    +  normalize-url@6.1.0:
    +    resolution: {integrity: sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==}
    +    engines: {node: '>=10'}
    +
    +  npm-run-path@2.0.2:
    +    resolution: {integrity: sha512-lJxZYlT4DW/bRUtFh1MQIWqmLwQfAxnqWG4HhEdjMlkrJYnJn0Jrr2u3mgxqaWsdiBc76TYkTG/mhrnYTuzfHw==}
    +    engines: {node: '>=4'}
    +
    +  npm-run-path@4.0.1:
    +    resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==}
    +    engines: {node: '>=8'}
    +
    +  npm-run-path@5.3.0:
    +    resolution: {integrity: sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==}
    +    engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
    +
    +  nwsapi@2.2.7:
    +    resolution: {integrity: sha512-ub5E4+FBPKwAZx0UwIQOjYWGHTEq5sPqHQNRN8Z9e4A7u3Tj1weLJsL59yH9vmvqEtBHaOmT6cYQKIZOxp35FQ==}
    +
    +  nyc@15.1.0:
    +    resolution: {integrity: sha512-jMW04n9SxKdKi1ZMGhvUTHBN0EICCRkHemEoE5jm6mTYcqcdas0ATzgUgejlQUHMvpnOZqGB5Xxsv9KxJW1j8A==}
    +    engines: {node: '>=8.9'}
    +    hasBin: true
    +
    +  object-assign@4.1.1:
    +    resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==}
    +    engines: {node: '>=0.10.0'}
    +
    +  object-hash@3.0.0:
    +    resolution: {integrity: sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==}
    +    engines: {node: '>= 6'}
    +
    +  object-inspect@1.13.1:
    +    resolution: {integrity: sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==}
    +
    +  object-keys@1.1.1:
    +    resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==}
    +    engines: {node: '>= 0.4'}
    +
    +  object.assign@4.1.5:
    +    resolution: {integrity: sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ==}
    +    engines: {node: '>= 0.4'}
    +
    +  obuf@1.1.2:
    +    resolution: {integrity: sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==}
    +
    +  ofetch@1.3.4:
    +    resolution: {integrity: sha512-KLIET85ik3vhEfS+3fDlc/BAZiAp+43QEC/yCo5zkNoY2YaKvNkOaFr/6wCFgFH1kuYQM5pMNi0Tg8koiIemtw==}
    +
    +  omggif@1.0.10:
    +    resolution: {integrity: sha512-LMJTtvgc/nugXj0Vcrrs68Mn2D1r0zf630VNtqtpI1FEO7e+O9FP4gqs9AcnBaSEeoHIPm28u6qgPR0oyEpGSw==}
    +
    +  on-exit-leak-free@2.1.2:
    +    resolution: {integrity: sha512-0eJJY6hXLGf1udHwfNftBqH+g73EU4B504nZeKpz1sYRKafAghwxEJunB2O7rDZkL4PGfsMVnTXZ2EjibbqcsA==}
    +    engines: {node: '>=14.0.0'}
    +
    +  on-finished@2.4.1:
    +    resolution: {integrity: sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==}
    +    engines: {node: '>= 0.8'}
    +
    +  on-headers@1.0.2:
    +    resolution: {integrity: sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==}
    +    engines: {node: '>= 0.8'}
    +
    +  once@1.4.0:
    +    resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==}
    +
    +  onetime@5.1.2:
    +    resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==}
    +    engines: {node: '>=6'}
    +
    +  onetime@6.0.0:
    +    resolution: {integrity: sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==}
    +    engines: {node: '>=12'}
    +
    +  open@8.4.2:
    +    resolution: {integrity: sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==}
    +    engines: {node: '>=12'}
    +
    +  optionator@0.9.3:
    +    resolution: {integrity: sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==}
    +    engines: {node: '>= 0.8.0'}
    +
    +  ospath@1.2.2:
    +    resolution: {integrity: sha512-o6E5qJV5zkAbIDNhGSIlyOhScKXgQrSRMilfph0clDfM0nEnBOlKlH4sWDmG95BW/CvwNz0vmm7dJVtU2KlMiA==}
    +
    +  p-cancelable@2.1.1:
    +    resolution: {integrity: sha512-BZOr3nRQHOntUjTrH8+Lh54smKHoHyur8We1V8DSMVrl5A2malOOwuJRnKRDjSnkoeBh4at6BwEnb5I7Jl31wg==}
    +    engines: {node: '>=8'}
    +
    +  p-event@5.0.1:
    +    resolution: {integrity: sha512-dd589iCQ7m1L0bmC5NLlVYfy3TbBEsMUfWx9PyAgPeIcFZ/E2yaTZ4Rz4MiBmmJShviiftHVXOqfnfzJ6kyMrQ==}
    +    engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
    +
    +  p-filter@3.0.0:
    +    resolution: {integrity: sha512-QtoWLjXAW++uTX67HZQz1dbTpqBfiidsB6VtQUC9iR85S120+s0T5sO6s+B5MLzFcZkrEd/DGMmCjR+f2Qpxwg==}
    +    engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
    +
    +  p-finally@1.0.0:
    +    resolution: {integrity: sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow==}
    +    engines: {node: '>=4'}
    +
    +  p-iteration@1.1.8:
    +    resolution: {integrity: sha512-IMFBSDIYcPNnW7uWYGrBqmvTiq7W0uB0fJn6shQZs7dlF3OvrHOre+JT9ikSZ7gZS3vWqclVgoQSvToJrns7uQ==}
    +    engines: {node: '>=8.0.0'}
    +
    +  p-limit@2.3.0:
    +    resolution: {integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==}
    +    engines: {node: '>=6'}
    +
    +  p-limit@3.1.0:
    +    resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==}
    +    engines: {node: '>=10'}
    +
    +  p-limit@4.0.0:
    +    resolution: {integrity: sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ==}
    +    engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
    +
    +  p-limit@5.0.0:
    +    resolution: {integrity: sha512-/Eaoq+QyLSiXQ4lyYV23f14mZRQcXnxfHrN0vCai+ak9G0pp9iEQukIIZq5NccEvwRB8PUnZT0KsOoDCINS1qQ==}
    +    engines: {node: '>=18'}
    +
    +  p-locate@3.0.0:
    +    resolution: {integrity: sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==}
    +    engines: {node: '>=6'}
    +
    +  p-locate@4.1.0:
    +    resolution: {integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==}
    +    engines: {node: '>=8'}
    +
    +  p-locate@5.0.0:
    +    resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==}
    +    engines: {node: '>=10'}
    +
    +  p-locate@6.0.0:
    +    resolution: {integrity: sha512-wPrq66Llhl7/4AGC6I+cqxT07LhXvWL08LNXz1fENOw0Ap4sRZZ/gZpTTJ5jpurzzzfS2W/Ge9BY3LgLjCShcw==}
    +    engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
    +
    +  p-map@3.0.0:
    +    resolution: {integrity: sha512-d3qXVTF/s+W+CdJ5A29wywV2n8CQQYahlgz2bFiA+4eVNJbHJodPZ+/gXwPGh0bOqA+j8S+6+ckmvLGPk1QpxQ==}
    +    engines: {node: '>=8'}
    +
    +  p-map@4.0.0:
    +    resolution: {integrity: sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==}
    +    engines: {node: '>=10'}
    +
    +  p-map@5.5.0:
    +    resolution: {integrity: sha512-VFqfGDHlx87K66yZrNdI4YGtD70IRyd+zSvgks6mzHPRNkoKy+9EKP4SFC77/vTTQYmRmti7dvqC+m5jBrBAcg==}
    +    engines: {node: '>=12'}
    +
    +  p-map@6.0.0:
    +    resolution: {integrity: sha512-T8BatKGY+k5rU+Q/GTYgrEf2r4xRMevAN5mtXc2aPc4rS1j3s+vWTaO2Wag94neXuCAUAs8cxBL9EeB5EA6diw==}
    +    engines: {node: '>=16'}
    +
    +  p-retry@4.6.2:
    +    resolution: {integrity: sha512-312Id396EbJdvRONlngUx0NydfrIQ5lsYu0znKVUzVvArzEIt08V1qhtyESbGVd1FGX7UKtiFp5uwKZdM8wIuQ==}
    +    engines: {node: '>=8'}
    +
    +  p-timeout@5.1.0:
    +    resolution: {integrity: sha512-auFDyzzzGZZZdHz3BtET9VEz0SE/uMEAx7uWfGPucfzEwwe/xH0iVeZibQmANYE/hp9T2+UUZT5m+BKyrDp3Ew==}
    +    engines: {node: '>=12'}
    +
    +  p-try@2.2.0:
    +    resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==}
    +    engines: {node: '>=6'}
    +
    +  package-hash@4.0.0:
    +    resolution: {integrity: sha512-whdkPIooSu/bASggZ96BWVvZTRMOFxnyUG5PnTSGKoJE2gd5mbVNmR2Nj20QFzxYYgAXpoqC+AiXzl+UMRh7zQ==}
    +    engines: {node: '>=8'}
    +
    +  pako@1.0.11:
    +    resolution: {integrity: sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==}
    +
    +  parent-module@1.0.1:
    +    resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==}
    +    engines: {node: '>=6'}
    +
    +  parent-module@2.0.0:
    +    resolution: {integrity: sha512-uo0Z9JJeWzv8BG+tRcapBKNJ0dro9cLyczGzulS6EfeyAdeC9sbojtW6XwvYxJkEne9En+J2XEl4zyglVeIwFg==}
    +    engines: {node: '>=8'}
    +
    +  parse-entities@2.0.0:
    +    resolution: {integrity: sha512-kkywGpCcRYhqQIchaWqZ875wzpS/bMKhz5HnN3p7wveJTkTtyAB/AlnS0f8DFSqYW1T82t6yEAkEcB+A1I3MbQ==}
    +
    +  parse-json@5.2.0:
    +    resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==}
    +    engines: {node: '>=8'}
    +
    +  parse5@7.1.2:
    +    resolution: {integrity: sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==}
    +
    +  parseurl@1.3.3:
    +    resolution: {integrity: sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==}
    +    engines: {node: '>= 0.8'}
    +
    +  path-browserify@1.0.1:
    +    resolution: {integrity: sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==}
    +
    +  path-exists@3.0.0:
    +    resolution: {integrity: sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==}
    +    engines: {node: '>=4'}
    +
    +  path-exists@4.0.0:
    +    resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==}
    +    engines: {node: '>=8'}
    +
    +  path-exists@5.0.0:
    +    resolution: {integrity: sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ==}
    +    engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
    +
    +  path-is-absolute@1.0.1:
    +    resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==}
    +    engines: {node: '>=0.10.0'}
    +
    +  path-key@2.0.1:
    +    resolution: {integrity: sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==}
    +    engines: {node: '>=4'}
    +
    +  path-key@3.1.1:
    +    resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==}
    +    engines: {node: '>=8'}
    +
    +  path-key@4.0.0:
    +    resolution: {integrity: sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==}
    +    engines: {node: '>=12'}
    +
    +  path-parse@1.0.7:
    +    resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==}
    +
    +  path-scurry@1.10.1:
    +    resolution: {integrity: sha512-MkhCqzzBEpPvxxQ71Md0b1Kk51W01lrYvlMzSUaIzNsODdd7mqhiimSZlr+VegAz5Z6Vzt9Xg2ttE//XBhH3EQ==}
    +    engines: {node: '>=16 || 14 >=14.17'}
    +
    +  path-scurry@1.10.2:
    +    resolution: {integrity: sha512-7xTavNy5RQXnsjANvVvMkEjvloOinkAjv/Z6Ildz9v2RinZ4SBKTWFOVRbaF8p0vpHnyjV/UwNDdKuUv6M5qcA==}
    +    engines: {node: '>=16 || 14 >=14.17'}
    +
    +  path-to-regexp@0.1.7:
    +    resolution: {integrity: sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==}
    +
    +  path-type@4.0.0:
    +    resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==}
    +    engines: {node: '>=8'}
    +
    +  path-type@5.0.0:
    +    resolution: {integrity: sha512-5HviZNaZcfqP95rwpv+1HDgUamezbqdSYTyzjTvwtJSnIH+3vnbmWsItli8OFEndS984VT55M3jduxZbX351gg==}
    +    engines: {node: '>=12'}
    +
    +  pathe@1.1.2:
    +    resolution: {integrity: sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==}
    +
    +  pathval@1.1.1:
    +    resolution: {integrity: sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==}
    +
    +  pause-stream@0.0.11:
    +    resolution: {integrity: sha512-e3FBlXLmN/D1S+zHzanP4E/4Z60oFAa3O051qt1pxa7DEJWKAyil6upYVXCWadEnuoqa4Pkc9oUx9zsxYeRv8A==}
    +
    +  pend@1.2.0:
    +    resolution: {integrity: sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==}
    +
    +  perfect-debounce@1.0.0:
    +    resolution: {integrity: sha512-xCy9V055GLEqoFaHoC1SoLIaLmWctgCUaBaWxDZ7/Zx4CTyX7cJQLJOok/orfjZAh9kEYpjJa4d0KcJmCbctZA==}
    +
    +  performance-now@2.1.0:
    +    resolution: {integrity: sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==}
    +
    +  picocolors@1.0.0:
    +    resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==}
    +
    +  picomatch@2.3.1:
    +    resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==}
    +    engines: {node: '>=8.6'}
    +
    +  pidtree@0.6.0:
    +    resolution: {integrity: sha512-eG2dWTVw5bzqGRztnHExczNxt5VGsE6OwTeCG3fdUf9KBsZzO3R5OIIIzWR+iZA0NtZ+RDVdaoE2dK1cn6jH4g==}
    +    engines: {node: '>=0.10'}
    +    hasBin: true
    +
    +  pify@2.3.0:
    +    resolution: {integrity: sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==}
    +    engines: {node: '>=0.10.0'}
    +
    +  pino-abstract-transport@1.1.0:
    +    resolution: {integrity: sha512-lsleG3/2a/JIWUtf9Q5gUNErBqwIu1tUKTT3dUzaf5DySw9ra1wcqKjJjLX1VTY64Wk1eEOYsVGSaGfCK85ekA==}
    +
    +  pino-std-serializers@3.2.0:
    +    resolution: {integrity: sha512-EqX4pwDPrt3MuOAAUBMU0Tk5kR/YcCM5fNPEzgCO2zJ5HfX0vbiH9HbJglnyeQsN96Kznae6MWD47pZB5avTrg==}
    +
    +  pino-std-serializers@6.2.2:
    +    resolution: {integrity: sha512-cHjPPsE+vhj/tnhCy/wiMh3M3z3h/j15zHQX+S9GkTBgqJuTuJzYJ4gUyACLhDaJ7kk9ba9iRDmbH2tJU03OiA==}
    +
    +  pino@6.14.0:
    +    resolution: {integrity: sha512-iuhEDel3Z3hF9Jfe44DPXR8l07bhjuFY3GMHIXbjnY9XcafbyDDwl2sN2vw2GjMPf5Nkoe+OFao7ffn9SXaKDg==}
    +    hasBin: true
    +
    +  pino@8.20.0:
    +    resolution: {integrity: sha512-uhIfMj5TVp+WynVASaVEJFTncTUe4dHBq6CWplu/vBgvGHhvBvQfxz+vcOrnnBQdORH3izaGEurLfNlq3YxdFQ==}
    +    hasBin: true
    +
    +  pirates@4.0.6:
    +    resolution: {integrity: sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==}
    +    engines: {node: '>= 6'}
    +
    +  pixelmatch@5.3.0:
    +    resolution: {integrity: sha512-o8mkY4E/+LNUf6LzX96ht6k6CEDi65k9G2rjMtBe9Oo+VPKSvl+0GKHuH/AlG+GA5LPG/i5hrekkxUc3s2HU+Q==}
    +    hasBin: true
    +
    +  pkg-dir@3.0.0:
    +    resolution: {integrity: sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==}
    +    engines: {node: '>=6'}
    +
    +  pkg-dir@4.2.0:
    +    resolution: {integrity: sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==}
    +    engines: {node: '>=8'}
    +
    +  pkg-dir@7.0.0:
    +    resolution: {integrity: sha512-Ie9z/WINcxxLp27BKOCHGde4ITq9UklYKDzVo1nhk5sqGEXU3FpkwP5GM2voTGJkGd9B3Otl+Q4uwSOeSUtOBA==}
    +    engines: {node: '>=14.16'}
    +
    +  pkg-types@1.1.0:
    +    resolution: {integrity: sha512-/RpmvKdxKf8uILTtoOhAgf30wYbP2Qw+L9p3Rvshx1JZVX+XQNZQFjlbmGHEGIm4CkVPlSn+NXmIM8+9oWQaSA==}
    +
    +  plist@3.1.0:
    +    resolution: {integrity: sha512-uysumyrvkUX0rX/dEVqt8gC3sTBzd4zoWfLeS29nb53imdaXVvLINYXTI2GNqzaMuvacNx4uJQ8+b3zXR0pkgQ==}
    +    engines: {node: '>=10.4.0'}
    +
    +  pluralize@8.0.0:
    +    resolution: {integrity: sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA==}
    +    engines: {node: '>=4'}
    +
    +  png-async@0.9.4:
    +    resolution: {integrity: sha512-B//AXX9TkneKfgtOpT1mdUnnhk2BImGD+a98vImsMU8uo1dBeHyW/kM2erWZ/CsYteTPU/xKG+t6T62heHkC3A==}
    +
    +  pngjs@3.4.0:
    +    resolution: {integrity: sha512-NCrCHhWmnQklfH4MtJMRjZ2a8c80qXeMlQMv2uVp9ISJMTt562SbGd6n2oq0PaPgKm7Z6pL9E2UlLIhC+SHL3w==}
    +    engines: {node: '>=4.0.0'}
    +
    +  pngjs@6.0.0:
    +    resolution: {integrity: sha512-TRzzuFRRmEoSW/p1KVAmiOgPco2Irlah+bGFCeNfJXxxYGwSw7YwAOAcd7X28K/m5bjBWKsC29KyoMfHbypayg==}
    +    engines: {node: '>=12.13.0'}
    +
    +  pnpm@8.15.8:
    +    resolution: {integrity: sha512-0aAp4aRHrZC8ls1YsPrUhtKZPVMYVjlve6vy2D6xgju4PFo9D8GPZ1stEDIdSesWH+zjb+gTSqWCPs0hX+7Tkg==}
    +    engines: {node: '>=16.14'}
    +    hasBin: true
    +
    +  possible-typed-array-names@1.0.0:
    +    resolution: {integrity: sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q==}
    +    engines: {node: '>= 0.4'}
    +
    +  postcss-import@15.1.0:
    +    resolution: {integrity: sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==}
    +    engines: {node: '>=14.0.0'}
    +    peerDependencies:
    +      postcss: ^8.0.0
    +
    +  postcss-js@4.0.1:
    +    resolution: {integrity: sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==}
    +    engines: {node: ^12 || ^14 || >= 16}
    +    peerDependencies:
    +      postcss: ^8.4.21
    +
    +  postcss-load-config@4.0.2:
    +    resolution: {integrity: sha512-bSVhyJGL00wMVoPUzAVAnbEoWyqRxkjv64tUl427SKnPrENtq6hJwUojroMz2VB+Q1edmi4IfrAPpami5VVgMQ==}
    +    engines: {node: '>= 14'}
    +    peerDependencies:
    +      postcss: '>=8.0.9'
    +      ts-node: '>=9.0.0'
    +    peerDependenciesMeta:
    +      postcss:
    +        optional: true
    +      ts-node:
    +        optional: true
    +
    +  postcss-nested@6.0.1:
    +    resolution: {integrity: sha512-mEp4xPMi5bSWiMbsgoPfcP74lsWLHkQbZc3sY+jWYd65CUwXrUaTp0fmNpa01ZcETKlIgUdFN/MpS2xZtqL9dQ==}
    +    engines: {node: '>=12.0'}
    +    peerDependencies:
    +      postcss: ^8.2.14
    +
    +  postcss-selector-parser@6.0.16:
    +    resolution: {integrity: sha512-A0RVJrX+IUkVZbW3ClroRWurercFhieevHB38sr2+l9eUClMqome3LmEmnhlNy+5Mr2EYN6B2Kaw9wYdd+VHiw==}
    +    engines: {node: '>=4'}
    +
    +  postcss-value-parser@4.2.0:
    +    resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==}
    +
    +  postcss@8.4.38:
    +    resolution: {integrity: sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A==}
    +    engines: {node: ^10 || ^12 || >=14}
    +
    +  preact@10.21.0:
    +    resolution: {integrity: sha512-aQAIxtzWEwH8ou+OovWVSVNlFImL7xUCwJX3YMqA3U8iKCNC34999fFOnWjYNsylgfPgMexpbk7WYOLtKr/mxg==}
    +
    +  prelude-ls@1.2.1:
    +    resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==}
    +    engines: {node: '>= 0.8.0'}
    +
    +  prettier-plugin-jsdoc@1.3.0:
    +    resolution: {integrity: sha512-cQm8xIa0fN9ieJFMXACQd6JPycl+8ouOijAqUqu44EF/s4fXL3Wi9sKXuEaodsEWgCN42Xby/bNhqgM1iWx4uw==}
    +    engines: {node: '>=14.13.1 || >=16.0.0'}
    +    peerDependencies:
    +      prettier: ^3.0.0
    +
    +  prettier@2.8.8:
    +    resolution: {integrity: sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==}
    +    engines: {node: '>=10.13.0'}
    +    hasBin: true
    +
    +  prettier@3.2.5:
    +    resolution: {integrity: sha512-3/GWa9aOC0YeD7LUfvOG2NiDyhOWRvt1k+rcKhOuYnMY24iiCphgneUfJDyFXd6rZCAnuLBv6UeAULtrhT/F4A==}
    +    engines: {node: '>=14'}
    +    hasBin: true
    +
    +  pretty-bytes@5.6.0:
    +    resolution: {integrity: sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg==}
    +    engines: {node: '>=6'}
    +
    +  pretty-bytes@6.1.1:
    +    resolution: {integrity: sha512-mQUvGU6aUFQ+rNvTIAcZuWGRT9a6f6Yrg9bHs4ImKF+HZCEK+plBvnAZYSIQztknZF2qnzNtr6F8s0+IuptdlQ==}
    +    engines: {node: ^14.13.1 || >=16.0.0}
    +
    +  pretty-format@29.7.0:
    +    resolution: {integrity: sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==}
    +    engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
    +
    +  process-nextick-args@2.0.1:
    +    resolution: {integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==}
    +
    +  process-on-spawn@1.0.0:
    +    resolution: {integrity: sha512-1WsPDsUSMmZH5LeMLegqkPDrsGgsWwk1Exipy2hvB0o/F0ASzbpIctSCcZIK1ykJvtTJULEH+20WOFjMvGnCTg==}
    +    engines: {node: '>=8'}
    +
    +  process-warning@1.0.0:
    +    resolution: {integrity: sha512-du4wfLyj4yCZq1VupnVSZmRsPJsNuxoDQFdCFHLaYiEbFBD7QE0a+I4D7hOxrVnh78QE/YipFAj9lXHiXocV+Q==}
    +
    +  process-warning@3.0.0:
    +    resolution: {integrity: sha512-mqn0kFRl0EoqhnL0GQ0veqFHyIN1yig9RHh/InzORTUiZHFRAur+aMtRkELNwGs9aNwKS6tg/An4NYBPGwvtzQ==}
    +
    +  process@0.11.10:
    +    resolution: {integrity: sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==}
    +    engines: {node: '>= 0.6.0'}
    +
    +  prompts@2.4.2:
    +    resolution: {integrity: sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==}
    +    engines: {node: '>= 6'}
    +
    +  proxy-addr@2.0.7:
    +    resolution: {integrity: sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==}
    +    engines: {node: '>= 0.10'}
    +
    +  proxy-from-env@1.0.0:
    +    resolution: {integrity: sha512-F2JHgJQ1iqwnHDcQjVBsq3n/uoaFL+iPW/eAeL7kVxy/2RrWaN4WroKjjvbsoRtv0ftelNyC01bjRhn/bhcf4A==}
    +
    +  proxy-from-env@1.1.0:
    +    resolution: {integrity: sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==}
    +
    +  ps-tree@1.2.0:
    +    resolution: {integrity: sha512-0VnamPPYHl4uaU/nSFeZZpR21QAWRz+sRv4iW9+v/GS/J5U5iZB5BNN6J0RMoOvdx2gWM2+ZFMIm58q24e4UYA==}
    +    engines: {node: '>= 0.10'}
    +    hasBin: true
    +
    +  psl@1.9.0:
    +    resolution: {integrity: sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==}
    +
    +  pump@3.0.0:
    +    resolution: {integrity: sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==}
    +
    +  punycode@2.3.1:
    +    resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==}
    +    engines: {node: '>=6'}
    +
    +  pure-rand@6.0.4:
    +    resolution: {integrity: sha512-LA0Y9kxMYv47GIPJy6MI84fqTd2HmYZI83W/kM/SkKfDlajnZYfmXFTxkbY+xSBPkLJxltMa9hIkmdc29eguMA==}
    +
    +  qs@6.10.4:
    +    resolution: {integrity: sha512-OQiU+C+Ds5qiH91qh/mg0w+8nwQuLjM4F4M/PbmhDOoYehPh+Fb0bDjtR1sOvy7YKxvj28Y/M0PhP5uVX0kB+g==}
    +    engines: {node: '>=0.6'}
    +
    +  qs@6.11.0:
    +    resolution: {integrity: sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==}
    +    engines: {node: '>=0.6'}
    +
    +  querystringify@2.2.0:
    +    resolution: {integrity: sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==}
    +
    +  queue-microtask@1.2.3:
    +    resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==}
    +
    +  quick-format-unescaped@4.0.4:
    +    resolution: {integrity: sha512-tYC1Q1hgyRuHgloV/YXs2w15unPVh8qfu/qCTfhTYamaw7fyhumKa2yGpdSo87vY32rIclj+4fWYQXUMs9EHvg==}
    +
    +  quick-lru@5.1.1:
    +    resolution: {integrity: sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==}
    +    engines: {node: '>=10'}
    +
    +  railroad-diagrams@1.0.0:
    +    resolution: {integrity: sha512-cz93DjNeLY0idrCNOH6PviZGRN9GJhsdm9hpn1YCS879fj4W+x5IFJhhkRZcwVgMmFF7R82UA/7Oh+R8lLZg6A==}
    +
    +  ramda@0.28.0:
    +    resolution: {integrity: sha512-9QnLuG/kPVgWvMQ4aODhsBUFKOUmnbUnsSXACv+NCQZcHbeb+v8Lodp8OVxtRULN1/xOyYLLaL6npE6dMq5QTA==}
    +
    +  randombytes@2.1.0:
    +    resolution: {integrity: sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==}
    +
    +  range-parser@1.2.1:
    +    resolution: {integrity: sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==}
    +    engines: {node: '>= 0.6'}
    +
    +  raw-body@2.5.2:
    +    resolution: {integrity: sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==}
    +    engines: {node: '>= 0.8'}
    +
    +  react-is@18.2.0:
    +    resolution: {integrity: sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==}
    +
    +  read-cache@1.0.0:
    +    resolution: {integrity: sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==}
    +
    +  read-pkg-up@7.0.1:
    +    resolution: {integrity: sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==}
    +    engines: {node: '>=8'}
    +
    +  read-pkg@5.2.0:
    +    resolution: {integrity: sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==}
    +    engines: {node: '>=8'}
    +
    +  readable-stream@2.3.8:
    +    resolution: {integrity: sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==}
    +
    +  readable-stream@3.6.2:
    +    resolution: {integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==}
    +    engines: {node: '>= 6'}
    +
    +  readable-stream@4.5.2:
    +    resolution: {integrity: sha512-yjavECdqeZ3GLXNgRXgeQEdz9fvDDkNKyHnbHRFtOr7/LcfgBcmct7t/ET+HaCTqfh06OzoAxrkN/IfjJBVe+g==}
    +    engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
    +
    +  readdirp@3.6.0:
    +    resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==}
    +    engines: {node: '>=8.10.0'}
    +
    +  real-require@0.2.0:
    +    resolution: {integrity: sha512-57frrGM/OCTLqLOAh0mhVA9VBMHd+9U7Zb2THMGdBUoZVOtGbJzjxsYGDJ3A9AYYCP4hn6y1TVbaOfzWtm5GFg==}
    +    engines: {node: '>= 12.13.0'}
    +
    +  rechoir@0.7.1:
    +    resolution: {integrity: sha512-/njmZ8s1wVeR6pjTZ+0nCnv8SpZNRMT2D1RLOJQESlYFDBvwpTA4KWJpZ+sBJ4+vhjILRcK7JIFdGCdxEAAitg==}
    +    engines: {node: '>= 0.10'}
    +
    +  regenerate-unicode-properties@10.1.1:
    +    resolution: {integrity: sha512-X007RyZLsCJVVrjgEFVpLUTZwyOZk3oiL75ZcuYjlIWd6rNJtOjkBwQc5AsRrpbKVkxN6sklw/k/9m2jJYOf8Q==}
    +    engines: {node: '>=4'}
    +
    +  regenerate@1.4.2:
    +    resolution: {integrity: sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==}
    +
    +  regenerator-runtime@0.14.1:
    +    resolution: {integrity: sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==}
    +
    +  regenerator-transform@0.15.2:
    +    resolution: {integrity: sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg==}
    +
    +  regexp-tree@0.1.27:
    +    resolution: {integrity: sha512-iETxpjK6YoRWJG5o6hXLwvjYAoW+FEZn9os0PD/b6AP6xQwsa/Y7lCVgIixBbUPMfhu+i2LtdeAqVTgGlQarfA==}
    +    hasBin: true
    +
    +  regexp.prototype.flags@1.5.2:
    +    resolution: {integrity: sha512-NcDiDkTLuPR+++OCKB0nWafEmhg/Da8aUPLPMQbK+bxKKCm1/S5he+AqYa4PlMCVBalb4/yxIRub6qkEx5yJbw==}
    +    engines: {node: '>= 0.4'}
    +
    +  regexpu-core@5.3.2:
    +    resolution: {integrity: sha512-RAM5FlZz+Lhmo7db9L298p2vHP5ZywrVXmVXpmAD9GuL5MPH6t9ROw1iA/wfHkQ76Qe7AaPF0nGuim96/IrQMQ==}
    +    engines: {node: '>=4'}
    +
    +  regjsparser@0.10.0:
    +    resolution: {integrity: sha512-qx+xQGZVsy55CH0a1hiVwHmqjLryfh7wQyF5HO07XJ9f7dQMY/gPQHhlyDkIzJKC+x2fUCpCcUODUUUFrm7SHA==}
    +    hasBin: true
    +
    +  regjsparser@0.9.1:
    +    resolution: {integrity: sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==}
    +    hasBin: true
    +
    +  release-zalgo@1.0.0:
    +    resolution: {integrity: sha512-gUAyHVHPPC5wdqX/LG4LWtRYtgjxyX78oanFNTMMyFEfOqdC54s3eE82imuWKbOeqYht2CrNf64Qb8vgmmtZGA==}
    +    engines: {node: '>=4'}
    +
    +  remark-frontmatter@5.0.0:
    +    resolution: {integrity: sha512-XTFYvNASMe5iPN0719nPrdItC9aU0ssC4v14mH1BCi1u0n1gAocqcujWUrByftZTbLhRtiKRyjYTSIOcr69UVQ==}
    +
    +  remark-gfm@4.0.0:
    +    resolution: {integrity: sha512-U92vJgBPkbw4Zfu/IiW2oTZLSL3Zpv+uI7My2eq8JxKgqraFdU8YUGicEJCEgSbeaG+QDFqIcwwfMTOEelPxuA==}
    +
    +  remark-parse@11.0.0:
    +    resolution: {integrity: sha512-FCxlKLNGknS5ba/1lmpYijMUzX2esxW5xQqjWxw2eHFfS2MSdaHVINFmhjo+qN1WhZhNimq0dZATN9pH0IDrpA==}
    +
    +  remark-stringify@11.0.0:
    +    resolution: {integrity: sha512-1OSmLd3awB/t8qdoEOMazZkNsfVTeY4fTsgzcQFdXNq8ToTN4ZGwrMnlda4K6smTFKD+GRV6O48i6Z4iKgPPpw==}
    +
    +  remark@15.0.1:
    +    resolution: {integrity: sha512-Eht5w30ruCXgFmxVUSlNWQ9iiimq07URKeFS3hNc8cUWy1llX4KDWfyEDZRycMc+znsN9Ux5/tJ/BFdgdOwA3A==}
    +
    +  repeat-string@1.6.1:
    +    resolution: {integrity: sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w==}
    +    engines: {node: '>=0.10'}
    +
    +  request-progress@3.0.0:
    +    resolution: {integrity: sha512-MnWzEHHaxHO2iWiQuHrUPBi/1WeBf5PkxQqNyNvLl9VAYSdXkP8tQ3pBSeCPD+yw0v0Aq1zosWLz0BdeXpWwZg==}
    +
    +  require-directory@2.1.1:
    +    resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==}
    +    engines: {node: '>=0.10.0'}
    +
    +  require-from-string@2.0.2:
    +    resolution: {integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==}
    +    engines: {node: '>=0.10.0'}
    +
    +  require-main-filename@2.0.0:
    +    resolution: {integrity: sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==}
    +
    +  requires-port@1.0.0:
    +    resolution: {integrity: sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==}
    +
    +  resolve-alpn@1.2.1:
    +    resolution: {integrity: sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g==}
    +
    +  resolve-cwd@3.0.0:
    +    resolution: {integrity: sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==}
    +    engines: {node: '>=8'}
    +
    +  resolve-from@4.0.0:
    +    resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==}
    +    engines: {node: '>=4'}
    +
    +  resolve-from@5.0.0:
    +    resolution: {integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==}
    +    engines: {node: '>=8'}
    +
    +  resolve-pkg-maps@1.0.0:
    +    resolution: {integrity: sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==}
    +
    +  resolve.exports@2.0.2:
    +    resolution: {integrity: sha512-X2UW6Nw3n/aMgDVy+0rSqgHlv39WZAlZrXCdnbyEiKm17DSqHX4MmQMaST3FbeWR5FTuRcUwYAziZajji0Y7mg==}
    +    engines: {node: '>=10'}
    +
    +  resolve@1.19.0:
    +    resolution: {integrity: sha512-rArEXAgsBG4UgRGcynxWIWKFvh/XZCcS8UJdHhwy91zwAvCZIbcs+vAbflgBnNjYMs/i/i+/Ux6IZhML1yPvxg==}
    +
    +  resolve@1.22.4:
    +    resolution: {integrity: sha512-PXNdCiPqDqeUou+w1C2eTQbNfxKSuMxqTCuvlmmMsk1NWHL5fRrhY6Pl0qEYYc6+QqGClco1Qj8XnjPego4wfg==}
    +    hasBin: true
    +
    +  resolve@1.22.8:
    +    resolution: {integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==}
    +    hasBin: true
    +
    +  responselike@2.0.1:
    +    resolution: {integrity: sha512-4gl03wn3hj1HP3yzgdI7d3lCkF95F21Pz4BPGvKHinyQzALR5CapwC8yIi0Rh58DEMQ/SguC03wFj2k0M/mHhw==}
    +
    +  restore-cursor@3.1.0:
    +    resolution: {integrity: sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==}
    +    engines: {node: '>=8'}
    +
    +  restore-cursor@4.0.0:
    +    resolution: {integrity: sha512-I9fPXU9geO9bHOt9pHHOhOkYerIMsmVaWB0rA2AI9ERh/+x/i7MV5HKBNrg+ljO5eoPVgCcnFuRjJ9uH6I/3eg==}
    +    engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
    +
    +  ret@0.2.2:
    +    resolution: {integrity: sha512-M0b3YWQs7R3Z917WRQy1HHA7Ba7D8hvZg6UE5mLykJxQVE2ju0IXbGlaHPPlkY+WN7wFP+wUMXmBFA0aV6vYGQ==}
    +    engines: {node: '>=4'}
    +
    +  retry@0.13.1:
    +    resolution: {integrity: sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==}
    +    engines: {node: '>= 4'}
    +
    +  reusify@1.0.4:
    +    resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==}
    +    engines: {iojs: '>=1.0.0', node: '>=0.10.0'}
    +
    +  rfdc@1.3.1:
    +    resolution: {integrity: sha512-r5a3l5HzYlIC68TpmYKlxWjmOP6wiPJ1vWv2HeLhNsRZMrCkxeqxiHlQ21oXmQ4F3SiryXBHhAD7JZqvOJjFmg==}
    +
    +  rimraf@2.7.1:
    +    resolution: {integrity: sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==}
    +    hasBin: true
    +
    +  rimraf@3.0.2:
    +    resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==}
    +    hasBin: true
    +
    +  rimraf@5.0.5:
    +    resolution: {integrity: sha512-CqDakW+hMe/Bz202FPEymy68P+G50RfMQK+Qo5YUqc9SPipvbGjCGKd0RSKEelbsfQuw3g5NZDSrlZZAJurH1A==}
    +    engines: {node: '>=14'}
    +    hasBin: true
    +
    +  robust-predicates@3.0.2:
    +    resolution: {integrity: sha512-IXgzBWvWQwE6PrDI05OvmXUIruQTcoMDzRsOd5CDvHCVLcLHMTSYvOK5Cm46kWqlV3yAbuSpBZdJ5oP5OUoStg==}
    +
    +  rollup-plugin-visualizer@5.12.0:
    +    resolution: {integrity: sha512-8/NU9jXcHRs7Nnj07PF2o4gjxmm9lXIrZ8r175bT9dK8qoLlvKTwRMArRCMgpMGlq8CTLugRvEmyMeMXIU2pNQ==}
    +    engines: {node: '>=14'}
    +    hasBin: true
    +    peerDependencies:
    +      rollup: 2.x || 3.x || 4.x
    +    peerDependenciesMeta:
    +      rollup:
    +        optional: true
    +
    +  rollup@2.79.1:
    +    resolution: {integrity: sha512-uKxbd0IhMZOhjAiD5oAFp7BqvkA4Dv47qpOCtaNvng4HBwdbWtdOh8f5nZNuk2rp51PMGk3bzfWu5oayNEuYnw==}
    +    engines: {node: '>=10.0.0'}
    +    hasBin: true
    +
    +  rollup@4.17.2:
    +    resolution: {integrity: sha512-/9ClTJPByC0U4zNLowV1tMBe8yMEAxewtR3cUNX5BoEpGH3dQEWpJLr6CLp0fPdYRF/fzVOgvDb1zXuakwF5kQ==}
    +    engines: {node: '>=18.0.0', npm: '>=8.0.0'}
    +    hasBin: true
    +
    +  rrweb-cssom@0.6.0:
    +    resolution: {integrity: sha512-APM0Gt1KoXBz0iIkkdB/kfvGOwC4UuJFeG/c+yV7wSc7q96cG/kJ0HiYCnzivD9SB53cLV1MlHFNfOuPaadYSw==}
    +
    +  run-parallel@1.2.0:
    +    resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==}
    +
    +  rw@1.3.3:
    +    resolution: {integrity: sha512-PdhdWy89SiZogBLaw42zdeqtRJ//zFd2PgQavcICDUgJT5oW10QCRKbJ6bg4r0/UY2M6BWd5tkxuGFRvCkgfHQ==}
    +
    +  rxjs@7.8.1:
    +    resolution: {integrity: sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==}
    +
    +  safe-array-concat@1.1.2:
    +    resolution: {integrity: sha512-vj6RsCsWBCf19jIeHEfkRMw8DPiBb+DMXklQ/1SGDHOMlHdPUkZXFQ2YdplS23zESTijAcurb1aSgJA3AgMu1Q==}
    +    engines: {node: '>=0.4'}
    +
    +  safe-buffer@5.1.2:
    +    resolution: {integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==}
    +
    +  safe-buffer@5.2.1:
    +    resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==}
    +
    +  safe-regex-test@1.0.3:
    +    resolution: {integrity: sha512-CdASjNJPvRa7roO6Ra/gLYBTzYzzPyyBXxIMdGW3USQLyjWEls2RgW5UBTXaQVp+OrpeCK3bLem8smtmheoRuw==}
    +    engines: {node: '>= 0.4'}
    +
    +  safe-regex2@2.0.0:
    +    resolution: {integrity: sha512-PaUSFsUaNNuKwkBijoAPHAK6/eM6VirvyPWlZ7BAQy4D+hCvh4B6lIG+nPdhbFfIbP+gTGBcrdsOaUs0F+ZBOQ==}
    +
    +  safe-stable-stringify@2.4.3:
    +    resolution: {integrity: sha512-e2bDA2WJT0wxseVd4lsDP4+3ONX6HpMXQa1ZhFQ7SU+GjvORCmShbCMltrtIDfkYhVHrOcPtj+KhmDBdPdZD1g==}
    +    engines: {node: '>=10'}
    +
    +  safer-buffer@2.1.2:
    +    resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==}
    +
    +  saxes@6.0.0:
    +    resolution: {integrity: sha512-xAg7SOnEhrm5zI3puOOKyy1OMcMlIJZYNJY7xLBwSze0UjhPLnWfj2GF2EpT0jmzaJKIWKHLsaSSajf35bcYnA==}
    +    engines: {node: '>=v12.22.7'}
    +
    +  schema-utils@3.3.0:
    +    resolution: {integrity: sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==}
    +    engines: {node: '>= 10.13.0'}
    +
    +  schema-utils@4.2.0:
    +    resolution: {integrity: sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw==}
    +    engines: {node: '>= 12.13.0'}
    +
    +  search-insights@2.13.0:
    +    resolution: {integrity: sha512-Orrsjf9trHHxFRuo9/rzm0KIWmgzE8RMlZMzuhZOJ01Rnz3D0YBAe+V6473t6/H6c7irs6Lt48brULAiRWb3Vw==}
    +
    +  secure-json-parse@2.7.0:
    +    resolution: {integrity: sha512-6aU+Rwsezw7VR8/nyvKTx8QpWH9FrcYiXXlqC4z5d5XQBDRqtbfsRjnwGyqbi3gddNtWHuEk9OANUotL26qKUw==}
    +
    +  select-hose@2.0.0:
    +    resolution: {integrity: sha512-mEugaLK+YfkijB4fx0e6kImuJdCIt2LxCRcbEYPqRGCs4F2ogyfZU5IAZRdjCP8JPq2AtdNoC/Dux63d9Kiryg==}
    +
    +  selfsigned@2.1.1:
    +    resolution: {integrity: sha512-GSL3aowiF7wa/WtSFwnUrludWFoNhftq8bUkH9pkzjpN2XSPOAYEgg6e0sS9s0rZwgJzJiQRPU18A6clnoW5wQ==}
    +    engines: {node: '>=10'}
    +
    +  semver-store@0.3.0:
    +    resolution: {integrity: sha512-TcZvGMMy9vodEFSse30lWinkj+JgOBvPn8wRItpQRSayhc+4ssDs335uklkfvQQJgL/WvmHLVj4Ycv2s7QCQMg==}
    +
    +  semver@5.7.2:
    +    resolution: {integrity: sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==}
    +    hasBin: true
    +
    +  semver@6.3.1:
    +    resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==}
    +    hasBin: true
    +
    +  semver@7.5.4:
    +    resolution: {integrity: sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==}
    +    engines: {node: '>=10'}
    +    hasBin: true
    +
    +  semver@7.6.0:
    +    resolution: {integrity: sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==}
    +    engines: {node: '>=10'}
    +    hasBin: true
    +
    +  send@0.18.0:
    +    resolution: {integrity: sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==}
    +    engines: {node: '>= 0.8.0'}
    +
    +  serialize-javascript@6.0.2:
    +    resolution: {integrity: sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==}
    +
    +  serve-index@1.9.1:
    +    resolution: {integrity: sha512-pXHfKNP4qujrtteMrSBb0rc8HJ9Ms/GrXwcUtUtD5s4ewDJI8bT3Cz2zTVRMKtri49pLx2e0Ya8ziP5Ya2pZZw==}
    +    engines: {node: '>= 0.8.0'}
    +
    +  serve-static@1.15.0:
    +    resolution: {integrity: sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==}
    +    engines: {node: '>= 0.8.0'}
    +
    +  set-blocking@2.0.0:
    +    resolution: {integrity: sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==}
    +
    +  set-cookie-parser@2.6.0:
    +    resolution: {integrity: sha512-RVnVQxTXuerk653XfuliOxBP81Sf0+qfQE73LIYKcyMYHG94AuH0kgrQpRDuTZnSmjpysHmzxJXKNfa6PjFhyQ==}
    +
    +  set-function-length@1.2.2:
    +    resolution: {integrity: sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==}
    +    engines: {node: '>= 0.4'}
    +
    +  set-function-name@2.0.2:
    +    resolution: {integrity: sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==}
    +    engines: {node: '>= 0.4'}
    +
    +  setprototypeof@1.1.0:
    +    resolution: {integrity: sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==}
    +
    +  setprototypeof@1.2.0:
    +    resolution: {integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==}
    +
    +  shallow-clone@3.0.1:
    +    resolution: {integrity: sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==}
    +    engines: {node: '>=8'}
    +
    +  shebang-command@1.2.0:
    +    resolution: {integrity: sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==}
    +    engines: {node: '>=0.10.0'}
    +
    +  shebang-command@2.0.0:
    +    resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==}
    +    engines: {node: '>=8'}
    +
    +  shebang-regex@1.0.0:
    +    resolution: {integrity: sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==}
    +    engines: {node: '>=0.10.0'}
    +
    +  shebang-regex@3.0.0:
    +    resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==}
    +    engines: {node: '>=8'}
    +
    +  shell-quote@1.8.1:
    +    resolution: {integrity: sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA==}
    +
    +  shiki@0.14.7:
    +    resolution: {integrity: sha512-dNPAPrxSc87ua2sKJ3H5dQ/6ZaY8RNnaAqK+t0eG7p0Soi2ydiqbGOTaZCqaYvA/uZYfS1LJnemt3Q+mSfcPCg==}
    +
    +  shiki@1.4.0:
    +    resolution: {integrity: sha512-5WIn0OL8PWm7JhnTwRWXniy6eEDY234mRrERVlFa646V2ErQqwIFd2UML7e0Pq9eqSKLoMa3Ke+xbsF+DAuy+Q==}
    +
    +  side-channel@1.0.6:
    +    resolution: {integrity: sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==}
    +    engines: {node: '>= 0.4'}
    +
    +  siginfo@2.0.0:
    +    resolution: {integrity: sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==}
    +
    +  signal-exit@3.0.7:
    +    resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==}
    +
    +  signal-exit@4.1.0:
    +    resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==}
    +    engines: {node: '>=14'}
    +
    +  simple-swizzle@0.2.2:
    +    resolution: {integrity: sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg==}
    +
    +  sirv@2.0.4:
    +    resolution: {integrity: sha512-94Bdh3cC2PKrbgSOUqTiGPWVZeSiXfKOVZNJniWoqrWrRkB1CJzBU3NEbiTsPcYy1lDsANA/THzS+9WBiy5nfQ==}
    +    engines: {node: '>= 10'}
    +
    +  sisteransi@1.0.5:
    +    resolution: {integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==}
    +
    +  slash@3.0.0:
    +    resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==}
    +    engines: {node: '>=8'}
    +
    +  slash@4.0.0:
    +    resolution: {integrity: sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==}
    +    engines: {node: '>=12'}
    +
    +  slash@5.1.0:
    +    resolution: {integrity: sha512-ZA6oR3T/pEyuqwMgAKT0/hAv8oAXckzbkmR0UkUosQ+Mc4RxGoJkRmwHgHufaenlyAgE1Mxgpdcrf75y6XcnDg==}
    +    engines: {node: '>=14.16'}
    +
    +  slice-ansi@3.0.0:
    +    resolution: {integrity: sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ==}
    +    engines: {node: '>=8'}
    +
    +  slice-ansi@4.0.0:
    +    resolution: {integrity: sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==}
    +    engines: {node: '>=10'}
    +
    +  slice-ansi@5.0.0:
    +    resolution: {integrity: sha512-FC+lgizVPfie0kkhqUScwRu1O/lF6NOgJmlCgK+/LYxDCTk8sGelYaHDhFcDN+Sn3Cv+3VSa4Byeo+IMCzpMgQ==}
    +    engines: {node: '>=12'}
    +
    +  slice-ansi@7.1.0:
    +    resolution: {integrity: sha512-bSiSngZ/jWeX93BqeIAbImyTbEihizcwNjFoRUIY/T1wWQsfsm2Vw1agPKylXvQTU7iASGdHhyqRlqQzfz+Htg==}
    +    engines: {node: '>=18'}
    +
    +  smob@1.5.0:
    +    resolution: {integrity: sha512-g6T+p7QO8npa+/hNx9ohv1E5pVCmWrVCUzUXJyLdMmftX6ER0oiWY/w9knEonLpnOp6b6FenKnMfR8gqwWdwig==}
    +
    +  sockjs@0.3.24:
    +    resolution: {integrity: sha512-GJgLTZ7vYb/JtPSSZ10hsOYIvEYsjbNU+zPdIHcUaWVNUEPivzxku31865sSSud0Da0W4lEeOPlmw93zLQchuQ==}
    +
    +  sonic-boom@1.4.1:
    +    resolution: {integrity: sha512-LRHh/A8tpW7ru89lrlkU4AszXt1dbwSjVWguGrmlxE7tawVmDBlI1PILMkXAxJTwqhgsEeTHzj36D5CmHgQmNg==}
    +
    +  sonic-boom@3.8.1:
    +    resolution: {integrity: sha512-y4Z8LCDBuum+PBP3lSV7RHrXscqksve/bi0as7mhwVnBW+/wUqKT/2Kb7um8yqcFy0duYbbPxzt89Zy2nOCaxg==}
    +
    +  source-map-js@1.0.1:
    +    resolution: {integrity: sha512-4+TN2b3tqOCd/kaGRJ/sTYA0tR0mdXx26ipdolxcwtJVqEnqNYvlCAt1q3ypy4QMlYus+Zh34RNtYLoq2oQ4IA==}
    +    engines: {node: '>=0.10.0'}
    +
    +  source-map-js@1.0.2:
    +    resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==}
    +    engines: {node: '>=0.10.0'}
    +
    +  source-map-js@1.2.0:
    +    resolution: {integrity: sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==}
    +    engines: {node: '>=0.10.0'}
    +
    +  source-map-support@0.5.13:
    +    resolution: {integrity: sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==}
    +
    +  source-map-support@0.5.21:
    +    resolution: {integrity: sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==}
    +
    +  source-map@0.1.43:
    +    resolution: {integrity: sha512-VtCvB9SIQhk3aF6h+N85EaqIaBFIAfZ9Cu+NJHHVvc8BbEcnvDcFw6sqQ2dQrT6SlOrZq3tIvyD9+EGq/lJryQ==}
    +    engines: {node: '>=0.8.0'}
    +
    +  source-map@0.6.1:
    +    resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==}
    +    engines: {node: '>=0.10.0'}
    +
    +  source-map@0.7.4:
    +    resolution: {integrity: sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==}
    +    engines: {node: '>= 8'}
    +
    +  source-map@0.8.0-beta.0:
    +    resolution: {integrity: sha512-2ymg6oRBpebeZi9UUNsgQ89bhx01TcTkmNTGnNO88imTmbSgy4nfujrgVEFKWpMTEGA11EDkTt7mqObTPdigIA==}
    +    engines: {node: '>= 8'}
    +
    +  sourcemap-codec@1.4.8:
    +    resolution: {integrity: sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==}
    +    deprecated: Please use @jridgewell/sourcemap-codec instead
    +
    +  spawn-command@0.0.2:
    +    resolution: {integrity: sha512-zC8zGoGkmc8J9ndvml8Xksr1Amk9qBujgbF0JAIWO7kXr43w0h/0GJNM/Vustixu+YE8N/MTrQ7N31FvHUACxQ==}
    +
    +  spawn-wrap@2.0.0:
    +    resolution: {integrity: sha512-EeajNjfN9zMnULLwhZZQU3GWBoFNkbngTUPfaawT4RkMiviTxcX0qfhVbGey39mfctfDHkWtuecgQ8NJcyQWHg==}
    +    engines: {node: '>=8'}
    +
    +  spdx-correct@3.2.0:
    +    resolution: {integrity: sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==}
    +
    +  spdx-exceptions@2.5.0:
    +    resolution: {integrity: sha512-PiU42r+xO4UbUS1buo3LPJkjlO7430Xn5SVAhdpzzsPHsjbYVflnnFdATgabnLude+Cqu25p6N+g2lw/PFsa4w==}
    +
    +  spdx-expression-parse@3.0.1:
    +    resolution: {integrity: sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==}
    +
    +  spdx-expression-parse@4.0.0:
    +    resolution: {integrity: sha512-Clya5JIij/7C6bRR22+tnGXbc4VKlibKSVj2iHvVeX5iMW7s1SIQlqu699JkODJJIhh/pUu8L0/VLh8xflD+LQ==}
    +
    +  spdx-license-ids@3.0.17:
    +    resolution: {integrity: sha512-sh8PWc/ftMqAAdFiBu6Fy6JUOYjqDJBJvIhpfDMyHrr0Rbp5liZqd4TjtQ/RgfLjKFZb+LMx5hpml5qOWy0qvg==}
    +
    +  spdy-transport@3.0.0:
    +    resolution: {integrity: sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==}
    +
    +  spdy@4.0.2:
    +    resolution: {integrity: sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA==}
    +    engines: {node: '>=6.0.0'}
    +
    +  speakingurl@14.0.1:
    +    resolution: {integrity: sha512-1POYv7uv2gXoyGFpBCmpDVSNV74IfsWlDW216UPjbWufNf+bSU6GdbDsxdcxtfwb4xlI3yxzOTKClUosxARYrQ==}
    +    engines: {node: '>=0.10.0'}
    +
    +  split2@4.2.0:
    +    resolution: {integrity: sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg==}
    +    engines: {node: '>= 10.x'}
    +
    +  split@0.3.3:
    +    resolution: {integrity: sha512-wD2AeVmxXRBoX44wAycgjVpMhvbwdI2aZjCkvfNcH1YqHQvJVa1duWc73OyVGJUc05fhFaTZeQ/PYsrmyH0JVA==}
    +
    +  sprintf-js@1.0.3:
    +    resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==}
    +
    +  sshpk@1.18.0:
    +    resolution: {integrity: sha512-2p2KJZTSqQ/I3+HX42EpYOa2l3f8Erv8MWKsy2I9uf4wA7yFIkXRffYdsx86y6z4vHtV8u7g+pPlr8/4ouAxsQ==}
    +    engines: {node: '>=0.10.0'}
    +    hasBin: true
    +
    +  ssim.js@3.5.0:
    +    resolution: {integrity: sha512-Aj6Jl2z6oDmgYFFbQqK7fght19bXdOxY7Tj03nF+03M9gCBAjeIiO8/PlEGMfKDwYpw4q6iBqVq2YuREorGg/g==}
    +
    +  stack-utils@2.0.6:
    +    resolution: {integrity: sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==}
    +    engines: {node: '>=10'}
    +
    +  stackback@0.0.2:
    +    resolution: {integrity: sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==}
    +
    +  start-server-and-test@2.0.3:
    +    resolution: {integrity: sha512-QsVObjfjFZKJE6CS6bSKNwWZCKBG6975/jKRPPGFfFh+yOQglSeGXiNWjzgQNXdphcBI9nXbyso9tPfX4YAUhg==}
    +    engines: {node: '>=16'}
    +    hasBin: true
    +
    +  statuses@1.5.0:
    +    resolution: {integrity: sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==}
    +    engines: {node: '>= 0.6'}
    +
    +  statuses@2.0.1:
    +    resolution: {integrity: sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==}
    +    engines: {node: '>= 0.8'}
    +
    +  std-env@3.7.0:
    +    resolution: {integrity: sha512-JPbdCEQLj1w5GilpiHAx3qJvFndqybBysA3qUOnznweH4QbNYUsW/ea8QzSrnh0vNsezMMw5bcVool8lM0gwzg==}
    +
    +  stream-combiner@0.0.4:
    +    resolution: {integrity: sha512-rT00SPnTVyRsaSz5zgSPma/aHSOic5U1prhYdRy5HS2kTZviFpmDgzilbtsJsxiroqACmayynDN/9VzIbX5DOw==}
    +
    +  string-argv@0.3.2:
    +    resolution: {integrity: sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q==}
    +    engines: {node: '>=0.6.19'}
    +
    +  string-length@4.0.2:
    +    resolution: {integrity: sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==}
    +    engines: {node: '>=10'}
    +
    +  string-similarity@4.0.4:
    +    resolution: {integrity: sha512-/q/8Q4Bl4ZKAPjj8WerIBJWALKkaPRfrvhfF8k/B23i4nzrlRj2/go1m90In7nG/3XDSbOo0+pu6RvCTM9RGMQ==}
    +    deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.
    +
    +  string-width@4.2.3:
    +    resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==}
    +    engines: {node: '>=8'}
    +
    +  string-width@5.1.2:
    +    resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==}
    +    engines: {node: '>=12'}
    +
    +  string-width@7.1.0:
    +    resolution: {integrity: sha512-SEIJCWiX7Kg4c129n48aDRwLbFb2LJmXXFrWBG4NGaRtMQ3myKPKbwrD1BKqQn74oCoNMBVrfDEr5M9YxCsrkw==}
    +    engines: {node: '>=18'}
    +
    +  string.prototype.matchall@4.0.11:
    +    resolution: {integrity: sha512-NUdh0aDavY2og7IbBPenWqR9exH+E26Sv8e0/eTe1tltDGZL+GtBkDAnnyBtmekfK6/Dq3MkcGtzXFEd1LQrtg==}
    +    engines: {node: '>= 0.4'}
    +
    +  string.prototype.trim@1.2.9:
    +    resolution: {integrity: sha512-klHuCNxiMZ8MlsOihJhJEBJAiMVqU3Z2nEXWfWnIqjN0gEFS9J9+IxKozWWtQGcgoa1WUZzLjKPTr4ZHNFTFxw==}
    +    engines: {node: '>= 0.4'}
    +
    +  string.prototype.trimend@1.0.8:
    +    resolution: {integrity: sha512-p73uL5VCHCO2BZZ6krwwQE3kCzM7NKmis8S//xEC6fQonchbum4eP6kR4DLEjQFO3Wnj3Fuo8NM0kOSjVdHjZQ==}
    +
    +  string.prototype.trimstart@1.0.8:
    +    resolution: {integrity: sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==}
    +    engines: {node: '>= 0.4'}
    +
    +  string_decoder@1.1.1:
    +    resolution: {integrity: sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==}
    +
    +  string_decoder@1.3.0:
    +    resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==}
    +
    +  stringify-object@3.3.0:
    +    resolution: {integrity: sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw==}
    +    engines: {node: '>=4'}
    +
    +  strip-ansi@3.0.1:
    +    resolution: {integrity: sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==}
    +    engines: {node: '>=0.10.0'}
    +
    +  strip-ansi@6.0.1:
    +    resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==}
    +    engines: {node: '>=8'}
    +
    +  strip-ansi@7.1.0:
    +    resolution: {integrity: sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==}
    +    engines: {node: '>=12'}
    +
    +  strip-bom@4.0.0:
    +    resolution: {integrity: sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==}
    +    engines: {node: '>=8'}
    +
    +  strip-comments@2.0.1:
    +    resolution: {integrity: sha512-ZprKx+bBLXv067WTCALv8SSz5l2+XhpYCsVtSqlMnkAXMWDq+/ekVbl1ghqP9rUHTzv6sm/DwCOiYutU/yp1fw==}
    +    engines: {node: '>=10'}
    +
    +  strip-eof@1.0.0:
    +    resolution: {integrity: sha512-7FCwGGmx8mD5xQd3RPUvnSpUXHM3BWuzjtpD4TXsfcZ9EL4azvVVUscFYwD9nx8Kh+uCBC00XBtAykoMHwTh8Q==}
    +    engines: {node: '>=0.10.0'}
    +
    +  strip-final-newline@2.0.0:
    +    resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==}
    +    engines: {node: '>=6'}
    +
    +  strip-final-newline@3.0.0:
    +    resolution: {integrity: sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==}
    +    engines: {node: '>=12'}
    +
    +  strip-indent@3.0.0:
    +    resolution: {integrity: sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==}
    +    engines: {node: '>=8'}
    +
    +  strip-json-comments@3.1.1:
    +    resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==}
    +    engines: {node: '>=8'}
    +
    +  strip-literal@2.1.0:
    +    resolution: {integrity: sha512-Op+UycaUt/8FbN/Z2TWPBLge3jWrP3xj10f3fnYxf052bKuS3EKs1ZQcVGjnEMdsNVAM+plXRdmjrZ/KgG3Skw==}
    +
    +  stylis@4.3.2:
    +    resolution: {integrity: sha512-bhtUjWd/z6ltJiQwg0dUfxEJ+W+jdqQd8TbWLWyeIJHlnsqmGLRFFd8e5mA0AZi/zx90smXRlN66YMTcaSFifg==}
    +
    +  sucrase@3.35.0:
    +    resolution: {integrity: sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA==}
    +    engines: {node: '>=16 || 14 >=14.17'}
    +    hasBin: true
    +
    +  supports-color@2.0.0:
    +    resolution: {integrity: sha512-KKNVtd6pCYgPIKU4cp2733HWYCpplQhddZLBUryaAHou723x+FRzQ5Df824Fj+IyyuiQTRoub4SnIFfIcrp70g==}
    +    engines: {node: '>=0.8.0'}
    +
    +  supports-color@5.5.0:
    +    resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==}
    +    engines: {node: '>=4'}
    +
    +  supports-color@7.2.0:
    +    resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==}
    +    engines: {node: '>=8'}
    +
    +  supports-color@8.1.1:
    +    resolution: {integrity: sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==}
    +    engines: {node: '>=10'}
    +
    +  supports-preserve-symlinks-flag@1.0.0:
    +    resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==}
    +    engines: {node: '>= 0.4'}
    +
    +  symbol-tree@3.2.4:
    +    resolution: {integrity: sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==}
    +
    +  synckit@0.9.0:
    +    resolution: {integrity: sha512-7RnqIMq572L8PeEzKeBINYEJDDxpcH8JEgLwUqBd3TkofhFRbkq4QLR0u+36avGAhCRbk2nnmjcW9SE531hPDg==}
    +    engines: {node: ^14.18.0 || >=16.0.0}
    +
    +  tabbable@6.2.0:
    +    resolution: {integrity: sha512-Cat63mxsVJlzYvN51JmVXIgNoUokrIaT2zLclCXjRd8boZ0004U4KCs/sToJ75C6sdlByWxpYnb5Boif1VSFew==}
    +
    +  tailwindcss@3.4.3:
    +    resolution: {integrity: sha512-U7sxQk/n397Bmx4JHbJx/iSOOv5G+II3f1kpLpY2QeUv5DcPdcTsYLlusZfq1NthHS1c1cZoyFmmkex1rzke0A==}
    +    engines: {node: '>=14.0.0'}
    +    hasBin: true
    +
    +  tapable@2.2.1:
    +    resolution: {integrity: sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==}
    +    engines: {node: '>=6'}
    +
    +  teen_process@1.16.0:
    +    resolution: {integrity: sha512-RnW7HHZD1XuhSTzD3djYOdIl1adE3oNEprE3HOFFxWs5m4FZsqYRhKJ4mDU2udtNGMLUS7jV7l8vVRLWAvmPDw==}
    +    engines: {'0': node}
    +
    +  temp-dir@2.0.0:
    +    resolution: {integrity: sha512-aoBAniQmmwtcKp/7BzsH8Cxzv8OL736p7v1ihGb5e9DJ9kTwGWHrQrVB5+lfVDzfGrdRzXch+ig7LHaY1JTOrg==}
    +    engines: {node: '>=8'}
    +
    +  tempy@0.6.0:
    +    resolution: {integrity: sha512-G13vtMYPT/J8A4X2SjdtBTphZlrp1gKv6hZiOjw14RCWg6GbHuQBGtjlx75xLbYV/wEc0D7G5K4rxKP/cXk8Bw==}
    +    engines: {node: '>=10'}
    +
    +  term-img@4.1.0:
    +    resolution: {integrity: sha512-DFpBhaF5j+2f7kheKFc1ajsAUUDGOaNPpKPtiIMxlbfud6mvfFZuWGnTRpaujUa5J7yl6cIw/h6nyr4mSsENPg==}
    +    engines: {node: '>=8'}
    +
    +  terser-webpack-plugin@5.3.10:
    +    resolution: {integrity: sha512-BKFPWlPDndPs+NGGCr1U59t0XScL5317Y0UReNrHaw9/FwhPENlq6bfgs+4yPfyP51vqC1bQ4rp1EfXW5ZSH9w==}
    +    engines: {node: '>= 10.13.0'}
    +    peerDependencies:
    +      '@swc/core': '*'
    +      esbuild: '*'
    +      uglify-js: '*'
    +      webpack: ^5.1.0
    +    peerDependenciesMeta:
    +      '@swc/core':
    +        optional: true
    +      esbuild:
    +        optional: true
    +      uglify-js:
    +        optional: true
    +
    +  terser@5.29.2:
    +    resolution: {integrity: sha512-ZiGkhUBIM+7LwkNjXYJq8svgkd+QK3UUr0wJqY4MieaezBSAIPgbSPZyIx0idM6XWK5CMzSWa8MJIzmRcB8Caw==}
    +    engines: {node: '>=10'}
    +    hasBin: true
    +
    +  terser@5.31.0:
    +    resolution: {integrity: sha512-Q1JFAoUKE5IMfI4Z/lkE/E6+SwgzO+x4tq4v1AyBLRj8VSYvRO6A/rQrPg1yud4g0En9EKI1TvFRF2tQFcoUkg==}
    +    engines: {node: '>=10'}
    +    hasBin: true
    +
    +  test-exclude@6.0.0:
    +    resolution: {integrity: sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==}
    +    engines: {node: '>=8'}
    +
    +  text-table@0.2.0:
    +    resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==}
    +
    +  thenify-all@1.6.0:
    +    resolution: {integrity: sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==}
    +    engines: {node: '>=0.8'}
    +
    +  thenify@3.3.1:
    +    resolution: {integrity: sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==}
    +
    +  thread-stream@2.4.1:
    +    resolution: {integrity: sha512-d/Ex2iWd1whipbT681JmTINKw0ZwOUBZm7+Gjs64DHuX34mmw8vJL2bFAaNacaW72zYiTJxSHi5abUuOi5nsfg==}
    +
    +  throat@6.0.2:
    +    resolution: {integrity: sha512-WKexMoJj3vEuK0yFEapj8y64V0A6xcuPuK9Gt1d0R+dzCSJc0lHqQytAbSB4cDAK0dWh4T0E2ETkoLE2WZ41OQ==}
    +
    +  throttleit@1.0.1:
    +    resolution: {integrity: sha512-vDZpf9Chs9mAdfY046mcPt8fg5QSZr37hEH4TXYBnDF+izxgrbRGUAAaBvIk/fJm9aOFCGFd1EsNg5AZCbnQCQ==}
    +
    +  through@2.3.8:
    +    resolution: {integrity: sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==}
    +
    +  thunky@1.1.0:
    +    resolution: {integrity: sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==}
    +
    +  timers-ext@0.1.7:
    +    resolution: {integrity: sha512-b85NUNzTSdodShTIbky6ZF02e8STtVVfD+fu4aXXShEELpozH+bCpJLYMPZbsABN2wDH7fJpqIoXxJpzbf0NqQ==}
    +
    +  tiny-lru@8.0.2:
    +    resolution: {integrity: sha512-ApGvZ6vVvTNdsmt676grvCkUCGwzG9IqXma5Z07xJgiC5L7akUMof5U8G2JTI9Rz/ovtVhJBlY6mNhEvtjzOIg==}
    +    engines: {node: '>=6'}
    +
    +  tinybench@2.8.0:
    +    resolution: {integrity: sha512-1/eK7zUnIklz4JUUlL+658n58XO2hHLQfSk1Zf2LKieUjxidN16eKFEoDEfjHc3ohofSSqK3X5yO6VGb6iW8Lw==}
    +
    +  tinypool@0.8.4:
    +    resolution: {integrity: sha512-i11VH5gS6IFeLY3gMBQ00/MmLncVP7JLXOw1vlgkytLmJK7QnEr7NXf0LBdxfmNPAeyetukOk0bOYrJrFGjYJQ==}
    +    engines: {node: '>=14.0.0'}
    +
    +  tinyspy@2.2.1:
    +    resolution: {integrity: sha512-KYad6Vy5VDWV4GH3fjpseMQ/XU2BhIYP7Vzd0LG44qRWm/Yt2WCOTicFdvmgo6gWaqooMQCawTtILVQJupKu7A==}
    +    engines: {node: '>=14.0.0'}
    +
    +  tmp@0.2.3:
    +    resolution: {integrity: sha512-nZD7m9iCPC5g0pYmcaxogYKggSfLsdxl8of3Q/oIbqCqLLIO9IAF0GWjX1z9NZRHPiXv8Wex4yDCaZsgEw0Y8w==}
    +    engines: {node: '>=14.14'}
    +
    +  tmpl@1.0.5:
    +    resolution: {integrity: sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==}
    +
    +  to-fast-properties@2.0.0:
    +    resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==}
    +    engines: {node: '>=4'}
    +
    +  to-regex-range@5.0.1:
    +    resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==}
    +    engines: {node: '>=8.0'}
    +
    +  toidentifier@1.0.1:
    +    resolution: {integrity: sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==}
    +    engines: {node: '>=0.6'}
    +
    +  totalist@3.0.1:
    +    resolution: {integrity: sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ==}
    +    engines: {node: '>=6'}
    +
    +  tough-cookie@4.1.3:
    +    resolution: {integrity: sha512-aX/y5pVRkfRnfmuX+OdbSdXvPe6ieKX/G2s7e98f4poJHnqH3281gDPm/metm6E/WRamfx7WC4HUqkWHfQHprw==}
    +    engines: {node: '>=6'}
    +
    +  tr46@0.0.3:
    +    resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==}
    +
    +  tr46@1.0.1:
    +    resolution: {integrity: sha512-dTpowEjclQ7Kgx5SdBkqRzVhERQXov8/l9Ft9dVM9fmg0W0KQSVaXX9T4i6twCPNtYiZM53lpSSUAwJbFPOHxA==}
    +
    +  tr46@5.0.0:
    +    resolution: {integrity: sha512-tk2G5R2KRwBd+ZN0zaEXpmzdKyOYksXwywulIX95MBODjSzMIuQnQ3m8JxgbhnL1LeVo7lqQKsYa1O3Htl7K5g==}
    +    engines: {node: '>=18'}
    +
    +  traverse@0.3.9:
    +    resolution: {integrity: sha512-iawgk0hLP3SxGKDfnDJf8wTz4p2qImnyihM5Hh/sGvQ3K37dPi/w8sRhdNIxYA1TwFwc5mDhIJq+O0RsvXBKdQ==}
    +
    +  tree-kill@1.2.2:
    +    resolution: {integrity: sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==}
    +    hasBin: true
    +
    +  trough@2.2.0:
    +    resolution: {integrity: sha512-tmMpK00BjZiUyVyvrBK7knerNgmgvcV/KLVyuma/SC+TQN167GrMRciANTz09+k3zW8L8t60jWO1GpfkZdjTaw==}
    +
    +  ts-api-utils@1.3.0:
    +    resolution: {integrity: sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ==}
    +    engines: {node: '>=16'}
    +    peerDependencies:
    +      typescript: '>=4.2.0'
    +
    +  ts-dedent@2.2.0:
    +    resolution: {integrity: sha512-q5W7tVM71e2xjHZTlgfTDoPF/SmqKG5hddq9SzR49CH2hayqRKJtQ4mtRlSxKaJlR/+9rEM+mnBHf7I2/BQcpQ==}
    +    engines: {node: '>=6.10'}
    +
    +  ts-interface-checker@0.1.13:
    +    resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==}
    +
    +  ts-toolbelt@6.15.5:
    +    resolution: {integrity: sha512-FZIXf1ksVyLcfr7M317jbB67XFJhOO1YqdTcuGaq9q5jLUoTikukZ+98TPjKiP2jC5CgmYdWWYs0s2nLSU0/1A==}
    +
    +  tslib@1.14.1:
    +    resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==}
    +
    +  tslib@2.6.2:
    +    resolution: {integrity: sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==}
    +
    +  tsutils@3.21.0:
    +    resolution: {integrity: sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==}
    +    engines: {node: '>= 6'}
    +    peerDependencies:
    +      typescript: '>=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta'
    +
    +  tsx@4.7.3:
    +    resolution: {integrity: sha512-+fQnMqIp/jxZEXLcj6WzYy9FhcS5/Dfk8y4AtzJ6ejKcKqmfTF8Gso/jtrzDggCF2zTU20gJa6n8XqPYwDAUYQ==}
    +    engines: {node: '>=18.0.0'}
    +    hasBin: true
    +
    +  tunnel-agent@0.6.0:
    +    resolution: {integrity: sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==}
    +
    +  tweetnacl@0.14.5:
    +    resolution: {integrity: sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==}
    +
    +  type-check@0.4.0:
    +    resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==}
    +    engines: {node: '>= 0.8.0'}
    +
    +  type-detect@4.0.8:
    +    resolution: {integrity: sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==}
    +    engines: {node: '>=4'}
    +
    +  type-fest@0.16.0:
    +    resolution: {integrity: sha512-eaBzG6MxNzEn9kiwvtre90cXaNLkmadMWa1zQMs3XORCXNbsH/OewwbxC5ia9dCxIxnTAsSxXJaa/p5y8DlvJg==}
    +    engines: {node: '>=10'}
    +
    +  type-fest@0.20.2:
    +    resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==}
    +    engines: {node: '>=10'}
    +
    +  type-fest@0.21.3:
    +    resolution: {integrity: sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==}
    +    engines: {node: '>=10'}
    +
    +  type-fest@0.6.0:
    +    resolution: {integrity: sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==}
    +    engines: {node: '>=8'}
    +
    +  type-fest@0.8.1:
    +    resolution: {integrity: sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==}
    +    engines: {node: '>=8'}
    +
    +  type-fest@1.4.0:
    +    resolution: {integrity: sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA==}
    +    engines: {node: '>=10'}
    +
    +  type-fest@4.15.0:
    +    resolution: {integrity: sha512-tB9lu0pQpX5KJq54g+oHOLumOx+pMep4RaM6liXh2PKmVRFF+/vAtUP0ZaJ0kOySfVNjF6doBWPHhBhISKdlIA==}
    +    engines: {node: '>=16'}
    +
    +  type-is@1.6.18:
    +    resolution: {integrity: sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==}
    +    engines: {node: '>= 0.6'}
    +
    +  type@2.7.2:
    +    resolution: {integrity: sha512-dzlvlNlt6AXU7EBSfpAscydQ7gXB+pPGsPnfJnZpiNJBDj7IaJzQlBZYGdEi4R9HmPdBv2XmWJ6YUtoTa7lmCw==}
    +
    +  typed-array-buffer@1.0.2:
    +    resolution: {integrity: sha512-gEymJYKZtKXzzBzM4jqa9w6Q1Jjm7x2d+sh19AdsD4wqnMPDYyvwpsIc2Q/835kHuo3BEQ7CjelGhfTsoBb2MQ==}
    +    engines: {node: '>= 0.4'}
    +
    +  typed-array-byte-length@1.0.1:
    +    resolution: {integrity: sha512-3iMJ9q0ao7WE9tWcaYKIptkNBuOIcZCCT0d4MRvuuH88fEoEH62IuQe0OtraD3ebQEoTRk8XCBoknUNc1Y67pw==}
    +    engines: {node: '>= 0.4'}
    +
    +  typed-array-byte-offset@1.0.2:
    +    resolution: {integrity: sha512-Ous0vodHa56FviZucS2E63zkgtgrACj7omjwd/8lTEMEPFFyjfixMZ1ZXenpgCFBBt4EC1J2XsyVS2gkG0eTFA==}
    +    engines: {node: '>= 0.4'}
    +
    +  typed-array-length@1.0.6:
    +    resolution: {integrity: sha512-/OxDN6OtAk5KBpGb28T+HZc2M+ADtvRxXrKKbUwtsLgdoxgX13hyy7ek6bFRl5+aBs2yZzB0c4CnQfAtVypW/g==}
    +    engines: {node: '>= 0.4'}
    +
    +  typedarray-to-buffer@3.1.5:
    +    resolution: {integrity: sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==}
    +
    +  typedoc-plugin-markdown@3.17.1:
    +    resolution: {integrity: sha512-QzdU3fj0Kzw2XSdoL15ExLASt2WPqD7FbLeaqwT70+XjKyTshBnUlQA5nNREO1C2P8Uen0CDjsBLMsCQ+zd0lw==}
    +    peerDependencies:
    +      typedoc: '>=0.24.0'
    +
    +  typedoc@0.25.13:
    +    resolution: {integrity: sha512-pQqiwiJ+Z4pigfOnnysObszLiU3mVLWAExSPf+Mu06G/qsc3wzbuM56SZQvONhHLncLUhYzOVkjFFpFfL5AzhQ==}
    +    engines: {node: '>= 16'}
    +    hasBin: true
    +    peerDependencies:
    +      typescript: 4.6.x || 4.7.x || 4.8.x || 4.9.x || 5.0.x || 5.1.x || 5.2.x || 5.3.x || 5.4.x
    +
    +  typescript@5.4.5:
    +    resolution: {integrity: sha512-vcI4UpRgg81oIRUFwR0WSIHKt11nJ7SAVlYNIu+QpqeyXP+gpQJy/Z4+F0aGxSE4MqwjyXvW/TzgkLAx2AGHwQ==}
    +    engines: {node: '>=14.17'}
    +    hasBin: true
    +
    +  uc.micro@1.0.6:
    +    resolution: {integrity: sha512-8Y75pvTYkLJW2hWQHXxoqRgV7qb9B+9vFEtidML+7koHUFapnVJAZ6cKs+Qjz5Aw3aZWHMC6u0wJE3At+nSGwA==}
    +
    +  ufo@1.5.3:
    +    resolution: {integrity: sha512-Y7HYmWaFwPUmkoQCUIAYpKqkOf+SbVj/2fJJZ4RJMCfZp0rTGwRbzQD+HghfnhKOjL9E01okqz+ncJskGYfBNw==}
    +
    +  uglify-js@3.17.4:
    +    resolution: {integrity: sha512-T9q82TJI9e/C1TAxYvfb16xO120tMVFZrGA3f9/P4424DNu6ypK103y0GPFVa17yotwSyZW5iYXgjYHkGrJW/g==}
    +    engines: {node: '>=0.8.0'}
    +    hasBin: true
    +
    +  unbox-primitive@1.0.2:
    +    resolution: {integrity: sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==}
    +
    +  unconfig@0.3.13:
    +    resolution: {integrity: sha512-N9Ph5NC4+sqtcOjPfHrRcHekBCadCXWTBzp2VYYbySOHW0PfD9XLCeXshTXjkPYwLrBr9AtSeU0CZmkYECJhng==}
    +
    +  underscore@1.1.7:
    +    resolution: {integrity: sha512-w4QtCHoLBXw1mjofIDoMyexaEdWGMedWNDhlWTtT1V1lCRqi65Pnoygkh6+WRdr+Bm8ldkBNkNeCsXGMlQS9HQ==}
    +
    +  undici-types@5.26.5:
    +    resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==}
    +
    +  unicode-canonical-property-names-ecmascript@2.0.0:
    +    resolution: {integrity: sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==}
    +    engines: {node: '>=4'}
    +
    +  unicode-match-property-ecmascript@2.0.0:
    +    resolution: {integrity: sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==}
    +    engines: {node: '>=4'}
    +
    +  unicode-match-property-value-ecmascript@2.1.0:
    +    resolution: {integrity: sha512-qxkjQt6qjg/mYscYMC0XKRn3Rh0wFPlfxB0xkt9CfyTvpX1Ra0+rAmdX2QyAobptSEvuy4RtpPRui6XkV+8wjA==}
    +    engines: {node: '>=4'}
    +
    +  unicode-property-aliases-ecmascript@2.1.0:
    +    resolution: {integrity: sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==}
    +    engines: {node: '>=4'}
    +
    +  unicorn-magic@0.1.0:
    +    resolution: {integrity: sha512-lRfVq8fE8gz6QMBuDM6a+LO3IAzTi05H6gCVaUpir2E1Rwpo4ZUog45KpNXKC/Mn3Yb9UDuHumeFTo9iV/D9FQ==}
    +    engines: {node: '>=18'}
    +
    +  unified@11.0.4:
    +    resolution: {integrity: sha512-apMPnyLjAX+ty4OrNap7yumyVAMlKx5IWU2wlzzUdYJO9A8f1p9m/gywF/GM2ZDFcjQPrx59Mc90KwmxsoklxQ==}
    +
    +  unique-string@2.0.0:
    +    resolution: {integrity: sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg==}
    +    engines: {node: '>=8'}
    +
    +  unique-string@3.0.0:
    +    resolution: {integrity: sha512-VGXBUVwxKMBUznyffQweQABPRRW1vHZAbadFZud4pLFAqRGvv/96vafgjWFqzourzr8YonlQiPgH0YCJfawoGQ==}
    +    engines: {node: '>=12'}
    +
    +  unist-util-flatmap@1.0.0:
    +    resolution: {integrity: sha512-IG32jcKJlhARCYT2LsYPJWdoXYkzz3ESAdl1aa2hn9Auh+cgUmU6wgkII4yCc/1GgeWibRdELdCZh/p3QKQ1dQ==}
    +
    +  unist-util-inspect@8.0.0:
    +    resolution: {integrity: sha512-/3Wn/wU6/H6UEo4FoYUeo8KUePN8ERiZpQYFWYoihOsr1DoDuv80PeB0hobVZyYSvALa2e556bG1A1/AbwU4yg==}
    +
    +  unist-util-is@6.0.0:
    +    resolution: {integrity: sha512-2qCTHimwdxLfz+YzdGfkqNlH0tLi9xjTnHddPmJwtIG9MGsdbutfTc4P+haPD7l7Cjxf/WZj+we5qfVPvvxfYw==}
    +
    +  unist-util-stringify-position@2.0.3:
    +    resolution: {integrity: sha512-3faScn5I+hy9VleOq/qNbAd6pAx7iH5jYBMS9I1HgQVijz/4mv5Bvw5iw1sC/90CODiKo81G/ps8AJrISn687g==}
    +
    +  unist-util-stringify-position@4.0.0:
    +    resolution: {integrity: sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==}
    +
    +  unist-util-visit-parents@6.0.1:
    +    resolution: {integrity: sha512-L/PqWzfTP9lzzEa6CKs0k2nARxTdZduw3zyh8d2NVBnsyvHjSX4TWse388YrrQKbvI8w20fGjGlhgT96WwKykw==}
    +
    +  unist-util-visit@5.0.0:
    +    resolution: {integrity: sha512-MR04uvD+07cwl/yhVuVWAtw+3GOR/knlL55Nd/wAdblk27GCVt3lqpTivy/tkJcZoNPzTwS1Y+KMojlLDhoTzg==}
    +
    +  universalify@0.1.2:
    +    resolution: {integrity: sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==}
    +    engines: {node: '>= 4.0.0'}
    +
    +  universalify@0.2.0:
    +    resolution: {integrity: sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==}
    +    engines: {node: '>= 4.0.0'}
    +
    +  universalify@2.0.1:
    +    resolution: {integrity: sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==}
    +    engines: {node: '>= 10.0.0'}
    +
    +  unocss@0.59.4:
    +    resolution: {integrity: sha512-QmCVjRObvVu/gsGrJGVt0NnrdhFFn314BUZn2WQyXV9rIvHLRmG5bIu0j5vibJkj7ZhFchTrnTM1pTFXP1xt5g==}
    +    engines: {node: '>=14'}
    +    peerDependencies:
    +      '@unocss/webpack': 0.59.4
    +      vite: ^2.9.0 || ^3.0.0-0 || ^4.0.0 || ^5.0.0-0
    +    peerDependenciesMeta:
    +      '@unocss/webpack':
    +        optional: true
    +      vite:
    +        optional: true
    +
    +  unpipe@1.0.0:
    +    resolution: {integrity: sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==}
    +    engines: {node: '>= 0.8'}
    +
    +  unplugin-vue-components@0.26.0:
    +    resolution: {integrity: sha512-s7IdPDlnOvPamjunVxw8kNgKNK8A5KM1YpK5j/p97jEKTjlPNrA0nZBiSfAKKlK1gWZuyWXlKL5dk3EDw874LQ==}
    +    engines: {node: '>=14'}
    +    peerDependencies:
    +      '@babel/parser': ^7.15.8
    +      '@nuxt/kit': ^3.2.2
    +      vue: 2 || 3
    +    peerDependenciesMeta:
    +      '@babel/parser':
    +        optional: true
    +      '@nuxt/kit':
    +        optional: true
    +
    +  unplugin@1.4.0:
    +    resolution: {integrity: sha512-5x4eIEL6WgbzqGtF9UV8VEC/ehKptPXDS6L2b0mv4FRMkJxRtjaJfOWDd6a8+kYbqsjklix7yWP0N3SUepjXcg==}
    +
    +  untildify@4.0.0:
    +    resolution: {integrity: sha512-KK8xQ1mkzZeg9inewmFVDNkg3l5LUhoq9kN6iWYB/CC9YMG8HA+c1Q8HwDe6dEX7kErrEVNVBO3fWsVq5iDgtw==}
    +    engines: {node: '>=8'}
    +
    +  upath@1.2.0:
    +    resolution: {integrity: sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==}
    +    engines: {node: '>=4'}
    +
    +  update-browserslist-db@1.0.13:
    +    resolution: {integrity: sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==}
    +    hasBin: true
    +    peerDependencies:
    +      browserslist: '>= 4.21.0'
    +
    +  uri-js@4.4.1:
    +    resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==}
    +
    +  url-parse@1.5.10:
    +    resolution: {integrity: sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==}
    +
    +  util-deprecate@1.0.2:
    +    resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==}
    +
    +  utils-merge@1.0.1:
    +    resolution: {integrity: sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==}
    +    engines: {node: '>= 0.4.0'}
    +
    +  uuid@8.3.2:
    +    resolution: {integrity: sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==}
    +    hasBin: true
    +
    +  uuid@9.0.1:
    +    resolution: {integrity: sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==}
    +    hasBin: true
    +
    +  v8-to-istanbul@9.2.0:
    +    resolution: {integrity: sha512-/EH/sDgxU2eGxajKdwLCDmQ4FWq+kpi3uCmBGpw1xJtnAxEjlD8j8PEiGWpCIMIs3ciNAgH0d3TTJiUkYzyZjA==}
    +    engines: {node: '>=10.12.0'}
    +
    +  validate-npm-package-license@3.0.4:
    +    resolution: {integrity: sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==}
    +
    +  vary@1.1.2:
    +    resolution: {integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==}
    +    engines: {node: '>= 0.8'}
    +
    +  verror@1.10.0:
    +    resolution: {integrity: sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw==}
    +    engines: {'0': node >=0.6.0}
    +
    +  vfile-message@4.0.2:
    +    resolution: {integrity: sha512-jRDZ1IMLttGj41KcZvlrYAaI3CfqpLpfpf+Mfig13viT6NKvRzWZ+lXz0Y5D60w6uJIBAOGq9mSHf0gktF0duw==}
    +
    +  vfile@6.0.1:
    +    resolution: {integrity: sha512-1bYqc7pt6NIADBJ98UiG0Bn/CHIVOoZ/IyEkqIruLg0mE1BKzkOXY2D6CSqQIcKqgadppE5lrxgWXJmXd7zZJw==}
    +
    +  vite-node@1.5.3:
    +    resolution: {integrity: sha512-axFo00qiCpU/JLd8N1gu9iEYL3xTbMbMrbe5nDp9GL0nb6gurIdZLkkFogZXWnE8Oyy5kfSLwNVIcVsnhE7lgQ==}
    +    engines: {node: ^18.0.0 || >=20.0.0}
    +    hasBin: true
    +
    +  vite-plugin-istanbul@6.0.0:
    +    resolution: {integrity: sha512-Vwh2XdesjcLwaPbHSOiWHh+0s7CNovQTPEjUCTkqmJUe0FN2TKsOp0qpoaklOuwrKlL9elhD5fPFxi5lmG62zA==}
    +    peerDependencies:
    +      vite: '>=4 <=6'
    +
    +  vite-plugin-pwa@0.19.8:
    +    resolution: {integrity: sha512-e1oK0dfhzhDhY3VBuML6c0h8Xfx6EkOVYqolj7g+u8eRfdauZe5RLteCIA/c5gH0CBQ0CNFAuv/AFTx4Z7IXTw==}
    +    engines: {node: '>=16.0.0'}
    +    peerDependencies:
    +      '@vite-pwa/assets-generator': ^0.2.4
    +      vite: ^3.1.0 || ^4.0.0 || ^5.0.0
    +      workbox-build: ^7.0.0
    +      workbox-window: ^7.0.0
    +    peerDependenciesMeta:
    +      '@vite-pwa/assets-generator':
    +        optional: true
    +
    +  vite@5.2.10:
    +    resolution: {integrity: sha512-PAzgUZbP7msvQvqdSD+ErD5qGnSFiGOoWmV5yAKUEI0kdhjbH6nMWVyZQC/hSc4aXwc0oJ9aEdIiF9Oje0JFCw==}
    +    engines: {node: ^18.0.0 || >=20.0.0}
    +    hasBin: true
    +    peerDependencies:
    +      '@types/node': ^18.0.0 || >=20.0.0
    +      less: '*'
    +      lightningcss: ^1.21.0
    +      sass: '*'
    +      stylus: '*'
    +      sugarss: '*'
    +      terser: ^5.4.0
    +    peerDependenciesMeta:
    +      '@types/node':
    +        optional: true
    +      less:
    +        optional: true
    +      lightningcss:
    +        optional: true
    +      sass:
    +        optional: true
    +      stylus:
    +        optional: true
    +      sugarss:
    +        optional: true
    +      terser:
    +        optional: true
    +
    +  vitepress-plugin-search@1.0.4-alpha.22:
    +    resolution: {integrity: sha512-IAOEJu+kjVY+0pb6/PeRjIbr175HFFbnMdLmLjqcy7VWxkabIRZbLoQL1VUYDZl804o/Or+GaX02gsiMOnVxFA==}
    +    engines: {node: ^14.13.1 || ^16.7.0 || >=18}
    +    peerDependencies:
    +      flexsearch: ^0.7.31
    +      vitepress: ^1.0.0-rc.35
    +      vue: '3'
    +
    +  vitepress@1.1.4:
    +    resolution: {integrity: sha512-bWIzFZXpPB6NIDBuWnS20aMADH+FcFKDfQNYFvbOWij03PR29eImTceQHIzCKordjXYBhM/TjE5VKFTUJ3EheA==}
    +    hasBin: true
    +    peerDependencies:
    +      markdown-it-mathjax3: ^4
    +      postcss: ^8
    +    peerDependenciesMeta:
    +      markdown-it-mathjax3:
    +        optional: true
    +      postcss:
    +        optional: true
    +
    +  vitest@1.5.3:
    +    resolution: {integrity: sha512-2oM7nLXylw3mQlW6GXnRriw+7YvZFk/YNV8AxIC3Z3MfFbuziLGWP9GPxxu/7nRlXhqyxBikpamr+lEEj1sUEw==}
    +    engines: {node: ^18.0.0 || >=20.0.0}
    +    hasBin: true
    +    peerDependencies:
    +      '@edge-runtime/vm': '*'
    +      '@types/node': ^18.0.0 || >=20.0.0
    +      '@vitest/browser': 1.5.3
    +      '@vitest/ui': 1.5.3
    +      happy-dom: '*'
    +      jsdom: '*'
    +    peerDependenciesMeta:
    +      '@edge-runtime/vm':
    +        optional: true
    +      '@types/node':
    +        optional: true
    +      '@vitest/browser':
    +        optional: true
    +      '@vitest/ui':
    +        optional: true
    +      happy-dom:
    +        optional: true
    +      jsdom:
    +        optional: true
    +
    +  vscode-json-languageservice@4.2.1:
    +    resolution: {integrity: sha512-xGmv9QIWs2H8obGbWg+sIPI/3/pFgj/5OWBhNzs00BkYQ9UaB2F6JJaGB/2/YOZJ3BvLXQTC4Q7muqU25QgAhA==}
    +
    +  vscode-jsonrpc@8.2.0:
    +    resolution: {integrity: sha512-C+r0eKJUIfiDIfwJhria30+TYWPtuHJXHtI7J0YlOmKAo7ogxP20T0zxB7HZQIFhIyvoBPwWskjxrvAtfjyZfA==}
    +    engines: {node: '>=14.0.0'}
    +
    +  vscode-languageserver-protocol@3.17.5:
    +    resolution: {integrity: sha512-mb1bvRJN8SVznADSGWM9u/b07H7Ecg0I3OgXDuLdn307rl/J3A9YD6/eYOssqhecL27hK1IPZAsaqh00i/Jljg==}
    +
    +  vscode-languageserver-textdocument@1.0.11:
    +    resolution: {integrity: sha512-X+8T3GoiwTVlJbicx/sIAF+yuJAqz8VvwJyoMVhwEMoEKE/fkDmrqUgDMyBECcM2A2frVZIUj5HI/ErRXCfOeA==}
    +
    +  vscode-languageserver-types@3.17.3:
    +    resolution: {integrity: sha512-SYU4z1dL0PyIMd4Vj8YOqFvHu7Hz/enbWtpfnVbJHU4Nd1YNYx8u0ennumc6h48GQNeOLxmwySmnADouT/AuZA==}
    +
    +  vscode-languageserver-types@3.17.5:
    +    resolution: {integrity: sha512-Ld1VelNuX9pdF39h2Hgaeb5hEZM2Z3jUrrMgWQAu82jMtZp7p3vJT3BzToKtZI7NgQssZje5o0zryOrhQvzQAg==}
    +
    +  vscode-languageserver@9.0.1:
    +    resolution: {integrity: sha512-woByF3PDpkHFUreUa7Hos7+pUWdeWMXRd26+ZX2A8cFx6v/JPTtd4/uN0/jB6XQHYaOlHbio03NTHCqrgG5n7g==}
    +    hasBin: true
    +
    +  vscode-nls@5.2.0:
    +    resolution: {integrity: sha512-RAaHx7B14ZU04EU31pT+rKz2/zSl7xMsfIZuo8pd+KZO6PXtQmpevpq3vxvWNcrGbdmhM/rr5Uw5Mz+NBfhVng==}
    +
    +  vscode-oniguruma@1.7.0:
    +    resolution: {integrity: sha512-L9WMGRfrjOhgHSdOYgCt/yRMsXzLDJSL7BPrOZt73gU0iWO4mpqzqQzOz5srxqTvMBaR0XZTSrVWo4j55Rc6cA==}
    +
    +  vscode-textmate@8.0.0:
    +    resolution: {integrity: sha512-AFbieoL7a5LMqcnOF04ji+rpXadgOXnZsxQr//r83kLPr7biP7am3g9zbaZIaBGwBRWeSvoMD4mgPdX3e4NWBg==}
    +
    +  vscode-uri@3.0.8:
    +    resolution: {integrity: sha512-AyFQ0EVmsOZOlAnxoFOGOq1SQDWAB7C6aqMGS23svWAllfOaxbuFvcT8D1i8z3Gyn8fraVeZNNmN6e9bxxXkKw==}
    +
    +  vue-demi@0.13.11:
    +    resolution: {integrity: sha512-IR8HoEEGM65YY3ZJYAjMlKygDQn25D5ajNFNoKh9RSDMQtlzCxtfQjdQgv9jjK+m3377SsJXY8ysq8kLCZL25A==}
    +    engines: {node: '>=12'}
    +    hasBin: true
    +    peerDependencies:
    +      '@vue/composition-api': ^1.0.0-rc.1
    +      vue: ^3.0.0-0 || ^2.6.0
    +    peerDependenciesMeta:
    +      '@vue/composition-api':
    +        optional: true
    +
    +  vue-demi@0.14.7:
    +    resolution: {integrity: sha512-EOG8KXDQNwkJILkx/gPcoL/7vH+hORoBaKgGe+6W7VFMvCYJfmF2dGbvgDroVnI8LU7/kTu8mbjRZGBU1z9NTA==}
    +    engines: {node: '>=12'}
    +    hasBin: true
    +    peerDependencies:
    +      '@vue/composition-api': ^1.0.0-rc.1
    +      vue: ^3.0.0-0 || ^2.6.0
    +    peerDependenciesMeta:
    +      '@vue/composition-api':
    +        optional: true
    +
    +  vue@3.4.21:
    +    resolution: {integrity: sha512-5hjyV/jLEIKD/jYl4cavMcnzKwjMKohureP8ejn3hhEjwhWIhWeuzL2kJAjzl/WyVsgPY56Sy4Z40C3lVshxXA==}
    +    peerDependencies:
    +      typescript: '*'
    +    peerDependenciesMeta:
    +      typescript:
    +        optional: true
    +
    +  vue@3.4.26:
    +    resolution: {integrity: sha512-bUIq/p+VB+0xrJubaemrfhk1/FiW9iX+pDV+62I/XJ6EkspAO9/DXEjbDFoe8pIfOZBqfk45i9BMc41ptP/uRg==}
    +    peerDependencies:
    +      typescript: '*'
    +    peerDependenciesMeta:
    +      typescript:
    +        optional: true
    +
    +  vuex@4.1.0:
    +    resolution: {integrity: sha512-hmV6UerDrPcgbSy9ORAtNXDr9M4wlNP4pEFKye4ujJF8oqgFFuxDCdOLS3eNoRTtq5O3hoBDh9Doj1bQMYHRbQ==}
    +    peerDependencies:
    +      vue: ^3.2.0
    +
    +  w3c-xmlserializer@5.0.0:
    +    resolution: {integrity: sha512-o8qghlI8NZHU1lLPrpi2+Uq7abh4GGPpYANlalzWxyWteJOCsr/P+oPBA49TOLu5FTZO4d3F9MnWJfiMo4BkmA==}
    +    engines: {node: '>=18'}
    +
    +  wait-on@7.2.0:
    +    resolution: {integrity: sha512-wCQcHkRazgjG5XoAq9jbTMLpNIjoSlZslrJ2+N9MxDsGEv1HnFoVjOCexL0ESva7Y9cu350j+DWADdk54s4AFQ==}
    +    engines: {node: '>=12.0.0'}
    +    hasBin: true
    +
    +  walker@1.0.8:
    +    resolution: {integrity: sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==}
    +
    +  watchpack@2.4.1:
    +    resolution: {integrity: sha512-8wrBCMtVhqcXP2Sup1ctSkga6uc2Bx0IIvKyT7yTFier5AXHooSI+QyQQAtTb7+E0IUCCKyTFmXqdqgum2XWGg==}
    +    engines: {node: '>=10.13.0'}
    +
    +  wbuf@1.7.3:
    +    resolution: {integrity: sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==}
    +
    +  web-streams-polyfill@3.3.3:
    +    resolution: {integrity: sha512-d2JWLCivmZYTSIoge9MsgFCZrt571BikcWGYkjC1khllbTeDlGqZ2D8vD8E/lJa8WGWbb7Plm8/XJYV7IJHZZw==}
    +    engines: {node: '>= 8'}
    +
    +  webdriver@7.31.1:
    +    resolution: {integrity: sha512-nCdJLxRnYvOMFqTEX7sqQtF/hV/Jgov0Y6ICeOm1DMTlZSRRDaUsBMlEAPkEwif9uBJYdM0znv8qzfX358AGqQ==}
    +    engines: {node: '>=12.0.0'}
    +
    +  webidl-conversions@3.0.1:
    +    resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==}
    +
    +  webidl-conversions@4.0.2:
    +    resolution: {integrity: sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==}
    +
    +  webidl-conversions@7.0.0:
    +    resolution: {integrity: sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==}
    +    engines: {node: '>=12'}
    +
    +  webpack-cli@4.10.0:
    +    resolution: {integrity: sha512-NLhDfH/h4O6UOy+0LSso42xvYypClINuMNBVVzX4vX98TmTaTUxwRbXdhucbFMd2qLaCTcLq/PdYrvi8onw90w==}
    +    engines: {node: '>=10.13.0'}
    +    hasBin: true
    +    peerDependencies:
    +      '@webpack-cli/generators': '*'
    +      '@webpack-cli/migrate': '*'
    +      webpack: 4.x.x || 5.x.x
    +      webpack-bundle-analyzer: '*'
    +      webpack-dev-server: '*'
    +    peerDependenciesMeta:
    +      '@webpack-cli/generators':
    +        optional: true
    +      '@webpack-cli/migrate':
    +        optional: true
    +      webpack-bundle-analyzer:
    +        optional: true
    +      webpack-dev-server:
    +        optional: true
    +
    +  webpack-dev-middleware@5.3.4:
    +    resolution: {integrity: sha512-BVdTqhhs+0IfoeAf7EoH5WE+exCmqGerHfDM0IL096Px60Tq2Mn9MAbnaGUe6HiMa41KMCYF19gyzZmBcq/o4Q==}
    +    engines: {node: '>= 12.13.0'}
    +    peerDependencies:
    +      webpack: ^4.0.0 || ^5.0.0
    +
    +  webpack-dev-server@4.15.2:
    +    resolution: {integrity: sha512-0XavAZbNJ5sDrCbkpWL8mia0o5WPOd2YGtxrEiZkBK9FjLppIUK2TgxK6qGD2P3hUXTJNNPVibrerKcx5WkR1g==}
    +    engines: {node: '>= 12.13.0'}
    +    hasBin: true
    +    peerDependencies:
    +      webpack: ^4.37.0 || ^5.0.0
    +      webpack-cli: '*'
    +    peerDependenciesMeta:
    +      webpack:
    +        optional: true
    +      webpack-cli:
    +        optional: true
    +
    +  webpack-merge@5.9.0:
    +    resolution: {integrity: sha512-6NbRQw4+Sy50vYNTw7EyOn41OZItPiXB8GNv3INSoe3PSFaHJEz3SHTrYVaRm2LilNGnFUzh0FAwqPEmU/CwDg==}
    +    engines: {node: '>=10.0.0'}
    +
    +  webpack-sources@3.2.3:
    +    resolution: {integrity: sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==}
    +    engines: {node: '>=10.13.0'}
    +
    +  webpack-virtual-modules@0.5.0:
    +    resolution: {integrity: sha512-kyDivFZ7ZM0BVOUteVbDFhlRt7Ah/CSPwJdi8hBpkK7QLumUqdLtVfm/PX/hkcnrvr0i77fO5+TjZ94Pe+C9iw==}
    +
    +  webpack@5.91.0:
    +    resolution: {integrity: sha512-rzVwlLeBWHJbmgTC/8TvAcu5vpJNII+MelQpylD4jNERPwpBJOE2lEcko1zJX3QJeLjTTAnQxn/OJ8bjDzVQaw==}
    +    engines: {node: '>=10.13.0'}
    +    hasBin: true
    +    peerDependencies:
    +      webpack-cli: '*'
    +    peerDependenciesMeta:
    +      webpack-cli:
    +        optional: true
    +
    +  websocket-driver@0.7.4:
    +    resolution: {integrity: sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg==}
    +    engines: {node: '>=0.8.0'}
    +
    +  websocket-extensions@0.1.4:
    +    resolution: {integrity: sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==}
    +    engines: {node: '>=0.8.0'}
    +
    +  whatwg-encoding@3.1.1:
    +    resolution: {integrity: sha512-6qN4hJdMwfYBtE3YBTTHhoeuUrDBPZmbQaxWAqSALV/MeEnR5z1xd8UKud2RAkFoPkmB+hli1TZSnyi84xz1vQ==}
    +    engines: {node: '>=18'}
    +
    +  whatwg-mimetype@4.0.0:
    +    resolution: {integrity: sha512-QaKxh0eNIi2mE9p2vEdzfagOKHCcj1pJ56EEHGQOVxp8r9/iszLUUV7v89x9O1p/T+NlTM5W7jW6+cz4Fq1YVg==}
    +    engines: {node: '>=18'}
    +
    +  whatwg-url@14.0.0:
    +    resolution: {integrity: sha512-1lfMEm2IEr7RIV+f4lUNPOqfFL+pO+Xw3fJSqmjX9AbXcXcYOkCe1P6+9VBZB6n94af16NfZf+sSk0JCBZC9aw==}
    +    engines: {node: '>=18'}
    +
    +  whatwg-url@5.0.0:
    +    resolution: {integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==}
    +
    +  whatwg-url@7.1.0:
    +    resolution: {integrity: sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==}
    +
    +  which-boxed-primitive@1.0.2:
    +    resolution: {integrity: sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==}
    +
    +  which-module@2.0.1:
    +    resolution: {integrity: sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ==}
    +
    +  which-typed-array@1.1.15:
    +    resolution: {integrity: sha512-oV0jmFtUky6CXfkqehVvBP/LSWJ2sy4vWMioiENyJLePrBO/yKyV9OyJySfAKosh+RYkIl5zJCNZ8/4JncrpdA==}
    +    engines: {node: '>= 0.4'}
    +
    +  which@1.3.1:
    +    resolution: {integrity: sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==}
    +    hasBin: true
    +
    +  which@2.0.2:
    +    resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==}
    +    engines: {node: '>= 8'}
    +    hasBin: true
    +
    +  why-is-node-running@2.2.2:
    +    resolution: {integrity: sha512-6tSwToZxTOcotxHeA+qGCq1mVzKR3CwcJGmVcY+QE8SHy6TnpFnh8PAvPNHYr7EcuVeG0QSMxtYCuO1ta/G/oA==}
    +    engines: {node: '>=8'}
    +    hasBin: true
    +
    +  widest-line@3.1.0:
    +    resolution: {integrity: sha512-NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg==}
    +    engines: {node: '>=8'}
    +
    +  wildcard@2.0.1:
    +    resolution: {integrity: sha512-CC1bOL87PIWSBhDcTrdeLo6eGT7mCFtrg0uIJtqJUFyK+eJnzl8A1niH56uu7KMa5XFrtiV+AQuHO3n7DsHnLQ==}
    +
    +  wordwrap@1.0.0:
    +    resolution: {integrity: sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==}
    +
    +  workbox-background-sync@7.1.0:
    +    resolution: {integrity: sha512-rMbgrzueVWDFcEq1610YyDW71z0oAXLfdRHRQcKw4SGihkfOK0JUEvqWHFwA6rJ+6TClnMIn7KQI5PNN1XQXwQ==}
    +
    +  workbox-broadcast-update@7.1.0:
    +    resolution: {integrity: sha512-O36hIfhjej/c5ar95pO67k1GQw0/bw5tKP7CERNgK+JdxBANQhDmIuOXZTNvwb2IHBx9hj2kxvcDyRIh5nzOgQ==}
    +
    +  workbox-build@7.1.0:
    +    resolution: {integrity: sha512-F6R94XAxjB2j4ETMkP1EXKfjECOtDmyvt0vz3BzgWJMI68TNSXIVNkgatwUKBlPGOfy9n2F/4voYRNAhEvPJNg==}
    +    engines: {node: '>=16.0.0'}
    +
    +  workbox-cacheable-response@7.1.0:
    +    resolution: {integrity: sha512-iwsLBll8Hvua3xCuBB9h92+/e0wdsmSVgR2ZlvcfjepZWwhd3osumQB3x9o7flj+FehtWM2VHbZn8UJeBXXo6Q==}
    +
    +  workbox-core@7.0.0:
    +    resolution: {integrity: sha512-81JkAAZtfVP8darBpfRTovHg8DGAVrKFgHpOArZbdFd78VqHr5Iw65f2guwjE2NlCFbPFDoez3D3/6ZvhI/rwQ==}
    +
    +  workbox-core@7.1.0:
    +    resolution: {integrity: sha512-5KB4KOY8rtL31nEF7BfvU7FMzKT4B5TkbYa2tzkS+Peqj0gayMT9SytSFtNzlrvMaWgv6y/yvP9C0IbpFjV30Q==}
    +
    +  workbox-expiration@7.1.0:
    +    resolution: {integrity: sha512-m5DcMY+A63rJlPTbbBNtpJ20i3enkyOtSgYfv/l8h+D6YbbNiA0zKEkCUaMsdDlxggla1oOfRkyqTvl5Ni5KQQ==}
    +
    +  workbox-google-analytics@7.1.0:
    +    resolution: {integrity: sha512-FvE53kBQHfVTcZyczeBVRexhh7JTkyQ8HAvbVY6mXd2n2A7Oyz/9fIwnY406ZcDhvE4NFfKGjW56N4gBiqkrew==}
    +
    +  workbox-navigation-preload@7.1.0:
    +    resolution: {integrity: sha512-4wyAbo0vNI/X0uWNJhCMKxnPanNyhybsReMGN9QUpaePLTiDpKxPqFxl4oUmBNddPwIXug01eTSLVIFXimRG/A==}
    +
    +  workbox-precaching@7.1.0:
    +    resolution: {integrity: sha512-LyxzQts+UEpgtmfnolo0hHdNjoB7EoRWcF7EDslt+lQGd0lW4iTvvSe3v5JiIckQSB5KTW5xiCqjFviRKPj1zA==}
    +
    +  workbox-range-requests@7.1.0:
    +    resolution: {integrity: sha512-m7+O4EHolNs5yb/79CrnwPR/g/PRzMFYEdo01LqwixVnc/sbzNSvKz0d04OE3aMRel1CwAAZQheRsqGDwATgPQ==}
    +
    +  workbox-recipes@7.1.0:
    +    resolution: {integrity: sha512-NRrk4ycFN9BHXJB6WrKiRX3W3w75YNrNrzSX9cEZgFB5ubeGoO8s/SDmOYVrFYp9HMw6sh1Pm3eAY/1gVS8YLg==}
    +
    +  workbox-routing@7.1.0:
    +    resolution: {integrity: sha512-oOYk+kLriUY2QyHkIilxUlVcFqwduLJB7oRZIENbqPGeBP/3TWHYNNdmGNhz1dvKuw7aqvJ7CQxn27/jprlTdg==}
    +
    +  workbox-strategies@7.1.0:
    +    resolution: {integrity: sha512-/UracPiGhUNehGjRm/tLUQ+9PtWmCbRufWtV0tNrALuf+HZ4F7cmObSEK+E4/Bx1p8Syx2tM+pkIrvtyetdlew==}
    +
    +  workbox-streams@7.1.0:
    +    resolution: {integrity: sha512-WyHAVxRXBMfysM8ORwiZnI98wvGWTVAq/lOyBjf00pXFvG0mNaVz4Ji+u+fKa/mf1i2SnTfikoYKto4ihHeS6w==}
    +
    +  workbox-sw@7.1.0:
    +    resolution: {integrity: sha512-Hml/9+/njUXBglv3dtZ9WBKHI235AQJyLBV1G7EFmh4/mUdSQuXui80RtjDeVRrXnm/6QWgRUEHG3/YBVbxtsA==}
    +
    +  workbox-window@7.0.0:
    +    resolution: {integrity: sha512-j7P/bsAWE/a7sxqTzXo3P2ALb1reTfZdvVp6OJ/uLr/C2kZAMvjeWGm8V4htQhor7DOvYg0sSbFN2+flT5U0qA==}
    +
    +  workbox-window@7.1.0:
    +    resolution: {integrity: sha512-ZHeROyqR+AS5UPzholQRDttLFqGMwP0Np8MKWAdyxsDETxq3qOAyXvqessc3GniohG6e0mAqSQyKOHmT8zPF7g==}
    +
    +  wrap-ansi@6.2.0:
    +    resolution: {integrity: sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==}
    +    engines: {node: '>=8'}
    +
    +  wrap-ansi@7.0.0:
    +    resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==}
    +    engines: {node: '>=10'}
    +
    +  wrap-ansi@8.1.0:
    +    resolution: {integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==}
    +    engines: {node: '>=12'}
    +
    +  wrap-ansi@9.0.0:
    +    resolution: {integrity: sha512-G8ura3S+3Z2G+mkgNRq8dqaFZAuxfsxpBB8OCTGRTCtp+l/v9nbFNmCUP1BZMts3G1142MsZfn6eeUKrr4PD1Q==}
    +    engines: {node: '>=18'}
    +
    +  wrappy@1.0.2:
    +    resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==}
    +
    +  write-file-atomic@3.0.3:
    +    resolution: {integrity: sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==}
    +
    +  write-file-atomic@4.0.2:
    +    resolution: {integrity: sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==}
    +    engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0}
    +
    +  ws@8.13.0:
    +    resolution: {integrity: sha512-x9vcZYTrFPC7aSIbj7sRCYo7L/Xb8Iy+pW0ng0wt2vCJv7M9HOMy0UoN3rr+IFC7hb7vXoqS+P9ktyLLLhO+LA==}
    +    engines: {node: '>=10.0.0'}
    +    peerDependencies:
    +      bufferutil: ^4.0.1
    +      utf-8-validate: '>=5.0.2'
    +    peerDependenciesMeta:
    +      bufferutil:
    +        optional: true
    +      utf-8-validate:
    +        optional: true
    +
    +  ws@8.16.0:
    +    resolution: {integrity: sha512-HS0c//TP7Ina87TfiPUz1rQzMhHrl/SG2guqRcTOIUYD2q8uhUdNHZYJUaQ8aTGPzCh+c6oawMKW35nFl1dxyQ==}
    +    engines: {node: '>=10.0.0'}
    +    peerDependencies:
    +      bufferutil: ^4.0.1
    +      utf-8-validate: '>=5.0.2'
    +    peerDependenciesMeta:
    +      bufferutil:
    +        optional: true
    +      utf-8-validate:
    +        optional: true
    +
    +  ws@8.5.0:
    +    resolution: {integrity: sha512-BWX0SWVgLPzYwF8lTzEy1egjhS4S4OEAHfsO8o65WOVsrnSRGaSiUaa9e0ggGlkMTtBlmOpEXiie9RUcBO86qg==}
    +    engines: {node: '>=10.0.0'}
    +    peerDependencies:
    +      bufferutil: ^4.0.1
    +      utf-8-validate: ^5.0.2
    +    peerDependenciesMeta:
    +      bufferutil:
    +        optional: true
    +      utf-8-validate:
    +        optional: true
    +
    +  xdg-basedir@5.1.0:
    +    resolution: {integrity: sha512-GCPAHLvrIH13+c0SuacwvRYj2SxJXQ4kaVTT5xgL3kPrz56XxkF21IGhjSE1+W0aw7gpBWRGXLCPnPby6lSpmQ==}
    +    engines: {node: '>=12'}
    +
    +  xml-name-validator@5.0.0:
    +    resolution: {integrity: sha512-EvGK8EJ3DhaHfbRlETOWAS5pO9MZITeauHKJyb8wyajUfQUenkIg2MvLDTZ4T/TgIcm3HU0TFBgWWboAZ30UHg==}
    +    engines: {node: '>=18'}
    +
    +  xmlbuilder@15.1.1:
    +    resolution: {integrity: sha512-yMqGBqtXyeN1e3TGYvgNgDVZ3j84W4cwkOXQswghol6APgZWaff9lnbvN7MHYJOiXsvGPXtjTYJEiC9J2wv9Eg==}
    +    engines: {node: '>=8.0'}
    +
    +  xmlchars@2.2.0:
    +    resolution: {integrity: sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==}
    +
    +  xxhashjs@0.2.2:
    +    resolution: {integrity: sha512-AkTuIuVTET12tpsVIQo+ZU6f/qDmKuRUcjaqR+OIvm+aCBsZ95i7UVY5WJ9TMsSaZ0DA2WxoZ4acu0sPH+OKAw==}
    +
    +  y18n@4.0.3:
    +    resolution: {integrity: sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==}
    +
    +  y18n@5.0.8:
    +    resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==}
    +    engines: {node: '>=10'}
    +
    +  yallist@3.1.1:
    +    resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==}
    +
    +  yallist@4.0.0:
    +    resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==}
    +
    +  yaml@2.3.4:
    +    resolution: {integrity: sha512-8aAvwVUSHpfEqTQ4w/KMlf3HcRdt50E5ODIQJBw1fQ5RL34xabzxtUlzTXVqc4rkZsPbvrXKWnABCD7kWSmocA==}
    +    engines: {node: '>= 14'}
    +
    +  yaml@2.4.1:
    +    resolution: {integrity: sha512-pIXzoImaqmfOrL7teGUBt/T7ZDnyeGBWyXQBvOVhLkWLN37GXv8NMLK406UY6dS51JfcQHsmcW5cJ441bHg6Lg==}
    +    engines: {node: '>= 14'}
    +    hasBin: true
    +
    +  yargs-parser@18.1.3:
    +    resolution: {integrity: sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==}
    +    engines: {node: '>=6'}
    +
    +  yargs-parser@21.1.1:
    +    resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==}
    +    engines: {node: '>=12'}
    +
    +  yargs@15.4.1:
    +    resolution: {integrity: sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==}
    +    engines: {node: '>=8'}
    +
    +  yargs@17.7.2:
    +    resolution: {integrity: sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==}
    +    engines: {node: '>=12'}
    +
    +  yauzl@2.10.0:
    +    resolution: {integrity: sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==}
    +
    +  yocto-queue@0.1.0:
    +    resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==}
    +    engines: {node: '>=10'}
    +
    +  yocto-queue@1.0.0:
    +    resolution: {integrity: sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==}
    +    engines: {node: '>=12.20'}
    +
    +  zwitch@2.0.4:
    +    resolution: {integrity: sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==}
    +
    +snapshots:
    +
    +  '@aashutoshrathi/word-wrap@1.2.6': {}
    +
    +  '@adobe/jsonschema2md@8.0.2':
    +    dependencies:
    +      '@types/json-schema': 7.0.15
    +      '@types/mdast': 4.0.3
    +      es2015-i18n-tag: 1.6.1
    +      ferrum: 1.9.4
    +      fs-extra: 11.2.0
    +      github-slugger: 2.0.0
    +      js-yaml: 4.1.0
    +      json-schema: 0.4.0
    +      mdast-builder: 1.1.1
    +      mdast-util-to-string: 4.0.0
    +      readdirp: 3.6.0
    +      remark-gfm: 4.0.0
    +      remark-parse: 11.0.0
    +      remark-stringify: 11.0.0
    +      unified: 11.0.4
    +      unist-util-inspect: 8.0.0
    +      yargs: 17.7.2
    +    transitivePeerDependencies:
    +      - supports-color
    +
    +  '@algolia/autocomplete-core@1.9.3(@algolia/client-search@4.23.3)(algoliasearch@4.23.3)(search-insights@2.13.0)':
    +    dependencies:
    +      '@algolia/autocomplete-plugin-algolia-insights': 1.9.3(@algolia/client-search@4.23.3)(algoliasearch@4.23.3)(search-insights@2.13.0)
    +      '@algolia/autocomplete-shared': 1.9.3(@algolia/client-search@4.23.3)(algoliasearch@4.23.3)
    +    transitivePeerDependencies:
    +      - '@algolia/client-search'
    +      - algoliasearch
    +      - search-insights
    +
    +  '@algolia/autocomplete-plugin-algolia-insights@1.9.3(@algolia/client-search@4.23.3)(algoliasearch@4.23.3)(search-insights@2.13.0)':
    +    dependencies:
    +      '@algolia/autocomplete-shared': 1.9.3(@algolia/client-search@4.23.3)(algoliasearch@4.23.3)
    +      search-insights: 2.13.0
    +    transitivePeerDependencies:
    +      - '@algolia/client-search'
    +      - algoliasearch
    +
    +  '@algolia/autocomplete-preset-algolia@1.9.3(@algolia/client-search@4.23.3)(algoliasearch@4.23.3)':
    +    dependencies:
    +      '@algolia/autocomplete-shared': 1.9.3(@algolia/client-search@4.23.3)(algoliasearch@4.23.3)
    +      '@algolia/client-search': 4.23.3
    +      algoliasearch: 4.23.3
    +
    +  '@algolia/autocomplete-shared@1.9.3(@algolia/client-search@4.23.3)(algoliasearch@4.23.3)':
    +    dependencies:
    +      '@algolia/client-search': 4.23.3
    +      algoliasearch: 4.23.3
    +
    +  '@algolia/cache-browser-local-storage@4.23.3':
    +    dependencies:
    +      '@algolia/cache-common': 4.23.3
    +
    +  '@algolia/cache-common@4.23.3': {}
    +
    +  '@algolia/cache-in-memory@4.23.3':
    +    dependencies:
    +      '@algolia/cache-common': 4.23.3
    +
    +  '@algolia/client-account@4.23.3':
    +    dependencies:
    +      '@algolia/client-common': 4.23.3
    +      '@algolia/client-search': 4.23.3
    +      '@algolia/transporter': 4.23.3
    +
    +  '@algolia/client-analytics@4.23.3':
    +    dependencies:
    +      '@algolia/client-common': 4.23.3
    +      '@algolia/client-search': 4.23.3
    +      '@algolia/requester-common': 4.23.3
    +      '@algolia/transporter': 4.23.3
    +
    +  '@algolia/client-common@4.23.3':
    +    dependencies:
    +      '@algolia/requester-common': 4.23.3
    +      '@algolia/transporter': 4.23.3
    +
    +  '@algolia/client-personalization@4.23.3':
    +    dependencies:
    +      '@algolia/client-common': 4.23.3
    +      '@algolia/requester-common': 4.23.3
    +      '@algolia/transporter': 4.23.3
    +
    +  '@algolia/client-search@4.23.3':
    +    dependencies:
    +      '@algolia/client-common': 4.23.3
    +      '@algolia/requester-common': 4.23.3
    +      '@algolia/transporter': 4.23.3
    +
    +  '@algolia/logger-common@4.23.3': {}
    +
    +  '@algolia/logger-console@4.23.3':
    +    dependencies:
    +      '@algolia/logger-common': 4.23.3
    +
    +  '@algolia/recommend@4.23.3':
    +    dependencies:
    +      '@algolia/cache-browser-local-storage': 4.23.3
    +      '@algolia/cache-common': 4.23.3
    +      '@algolia/cache-in-memory': 4.23.3
    +      '@algolia/client-common': 4.23.3
    +      '@algolia/client-search': 4.23.3
    +      '@algolia/logger-common': 4.23.3
    +      '@algolia/logger-console': 4.23.3
    +      '@algolia/requester-browser-xhr': 4.23.3
    +      '@algolia/requester-common': 4.23.3
    +      '@algolia/requester-node-http': 4.23.3
    +      '@algolia/transporter': 4.23.3
    +
    +  '@algolia/requester-browser-xhr@4.23.3':
    +    dependencies:
    +      '@algolia/requester-common': 4.23.3
    +
    +  '@algolia/requester-common@4.23.3': {}
    +
    +  '@algolia/requester-node-http@4.23.3':
    +    dependencies:
    +      '@algolia/requester-common': 4.23.3
    +
    +  '@algolia/transporter@4.23.3':
    +    dependencies:
    +      '@algolia/cache-common': 4.23.3
    +      '@algolia/logger-common': 4.23.3
    +      '@algolia/requester-common': 4.23.3
    +
    +  '@alloc/quick-lru@5.2.0': {}
    +
    +  '@ampproject/remapping@2.3.0':
    +    dependencies:
    +      '@jridgewell/gen-mapping': 0.3.5
    +      '@jridgewell/trace-mapping': 0.3.25
    +
    +  '@antfu/install-pkg@0.1.1':
    +    dependencies:
    +      execa: 5.1.1
    +      find-up: 5.0.0
    +
    +  '@antfu/utils@0.7.6': {}
    +
    +  '@antfu/utils@0.7.7': {}
    +
    +  '@apideck/better-ajv-errors@0.3.6(ajv@8.13.0)':
    +    dependencies:
    +      ajv: 8.13.0
    +      json-schema: 0.4.0
    +      jsonpointer: 5.0.1
    +      leven: 3.1.0
    +
    +  '@applitools/core-base@1.10.1':
    +    dependencies:
    +      '@applitools/image': 1.1.9
    +      '@applitools/logger': 2.0.14
    +      '@applitools/req': 1.6.5
    +      '@applitools/utils': 1.7.0
    +      abort-controller: 3.0.0
    +      throat: 6.0.2
    +    transitivePeerDependencies:
    +      - supports-color
    +
    +  '@applitools/core@4.11.1(encoding@0.1.13)(typescript@5.4.5)':
    +    dependencies:
    +      '@applitools/core-base': 1.10.1
    +      '@applitools/dom-capture': 11.2.6
    +      '@applitools/dom-snapshot': 4.9.2
    +      '@applitools/driver': 1.16.5
    +      '@applitools/ec-client': 1.7.32(typescript@5.4.5)
    +      '@applitools/logger': 2.0.14
    +      '@applitools/nml-client': 1.7.5
    +      '@applitools/req': 1.6.5
    +      '@applitools/screenshoter': 3.8.27
    +      '@applitools/snippets': 2.4.25
    +      '@applitools/socket': 1.1.14
    +      '@applitools/spec-driver-webdriver': 1.1.3(webdriver@7.31.1(typescript@5.4.5))
    +      '@applitools/ufg-client': 1.10.2
    +      '@applitools/utils': 1.7.0
    +      '@types/ws': 8.5.5
    +      abort-controller: 3.0.0
    +      chalk: 4.1.2
    +      node-fetch: 2.6.7(encoding@0.1.13)
    +      semver: 7.5.4
    +      webdriver: 7.31.1(typescript@5.4.5)
    +      ws: 8.13.0
    +      yargs: 17.7.2
    +    transitivePeerDependencies:
    +      - bufferutil
    +      - encoding
    +      - supports-color
    +      - typescript
    +      - utf-8-validate
    +
    +  '@applitools/css-tree@1.1.2':
    +    dependencies:
    +      mdn-data: 2.1.0
    +      source-map-js: 1.0.1
    +
    +  '@applitools/dom-capture@11.2.6':
    +    dependencies:
    +      '@applitools/dom-shared': 1.0.13
    +      '@applitools/functional-commons': 1.6.0
    +
    +  '@applitools/dom-shared@1.0.13': {}
    +
    +  '@applitools/dom-snapshot@4.9.2':
    +    dependencies:
    +      '@applitools/css-tree': 1.1.2
    +      '@applitools/dom-shared': 1.0.13
    +      '@applitools/functional-commons': 1.6.0
    +      pako: 1.0.11
    +
    +  '@applitools/driver@1.16.5':
    +    dependencies:
    +      '@applitools/logger': 2.0.14
    +      '@applitools/snippets': 2.4.25
    +      '@applitools/utils': 1.7.0
    +      semver: 7.5.4
    +    transitivePeerDependencies:
    +      - supports-color
    +
    +  '@applitools/ec-client@1.7.32(typescript@5.4.5)':
    +    dependencies:
    +      '@applitools/core-base': 1.10.1
    +      '@applitools/driver': 1.16.5
    +      '@applitools/logger': 2.0.14
    +      '@applitools/req': 1.6.5
    +      '@applitools/socket': 1.1.14
    +      '@applitools/spec-driver-webdriver': 1.1.3(webdriver@7.31.1(typescript@5.4.5))
    +      '@applitools/tunnel-client': 1.4.1
    +      '@applitools/utils': 1.7.0
    +      abort-controller: 3.0.0
    +      webdriver: 7.31.1(typescript@5.4.5)
    +      yargs: 17.7.2
    +    transitivePeerDependencies:
    +      - supports-color
    +      - typescript
    +
    +  '@applitools/eg-frpc@1.0.5': {}
    +
    +  '@applitools/eg-socks5-proxy-server@0.5.6':
    +    dependencies:
    +      binary: 0.3.0
    +      is-localhost-ip: 2.0.0
    +
    +  '@applitools/execution-grid-tunnel@2.1.10':
    +    dependencies:
    +      '@applitools/eg-frpc': 1.0.5
    +      '@applitools/eg-socks5-proxy-server': 0.5.6
    +      '@applitools/logger': 1.1.53
    +      dotenv: 16.4.5
    +      encoding: 0.1.13
    +      fastify: 3.29.5
    +      fastify-plugin: 3.0.1
    +      find-process: 1.4.7
    +      ini: 3.0.1
    +      node-cleanup: 2.1.2
    +      node-fetch: 2.6.7(encoding@0.1.13)
    +      p-retry: 4.6.2
    +      teen_process: 1.16.0
    +    transitivePeerDependencies:
    +      - supports-color
    +
    +  '@applitools/eyes-cypress@3.43.1(encoding@0.1.13)(typescript@5.4.5)':
    +    dependencies:
    +      '@applitools/core': 4.11.1(encoding@0.1.13)(typescript@5.4.5)
    +      '@applitools/eyes': 1.17.1(encoding@0.1.13)(typescript@5.4.5)
    +      '@applitools/functional-commons': 1.6.0
    +      '@applitools/logger': 2.0.14
    +      '@applitools/utils': 1.7.0
    +      boxen: 5.1.2
    +      chalk: 3.0.0
    +      semver: 7.5.4
    +      uuid: 8.3.2
    +      ws: 8.5.0
    +    transitivePeerDependencies:
    +      - bufferutil
    +      - encoding
    +      - supports-color
    +      - typescript
    +      - utf-8-validate
    +
    +  '@applitools/eyes@1.17.1(encoding@0.1.13)(typescript@5.4.5)':
    +    dependencies:
    +      '@applitools/core': 4.11.1(encoding@0.1.13)(typescript@5.4.5)
    +      '@applitools/logger': 2.0.14
    +      '@applitools/utils': 1.7.0
    +    transitivePeerDependencies:
    +      - bufferutil
    +      - encoding
    +      - supports-color
    +      - typescript
    +      - utf-8-validate
    +
    +  '@applitools/functional-commons@1.6.0': {}
    +
    +  '@applitools/image@1.1.9':
    +    dependencies:
    +      '@applitools/utils': 1.7.0
    +      bmpimagejs: 1.0.4
    +      jpeg-js: 0.4.4
    +      omggif: 1.0.10
    +      png-async: 0.9.4
    +
    +  '@applitools/logger@1.1.53':
    +    dependencies:
    +      '@applitools/utils': 1.3.36
    +      chalk: 4.1.2
    +      debug: 4.3.3
    +    transitivePeerDependencies:
    +      - supports-color
    +
    +  '@applitools/logger@2.0.14':
    +    dependencies:
    +      '@applitools/utils': 1.7.0
    +      chalk: 4.1.2
    +      debug: 4.3.4(supports-color@8.1.1)
    +    transitivePeerDependencies:
    +      - supports-color
    +
    +  '@applitools/nml-client@1.7.5':
    +    dependencies:
    +      '@applitools/logger': 2.0.14
    +      '@applitools/req': 1.6.5
    +      '@applitools/utils': 1.7.0
    +    transitivePeerDependencies:
    +      - supports-color
    +
    +  '@applitools/req@1.6.5':
    +    dependencies:
    +      '@applitools/utils': 1.7.0
    +      abort-controller: 3.0.0
    +      http-proxy-agent: 5.0.0
    +      https-proxy-agent: 5.0.1
    +      node-fetch: 3.3.1
    +    transitivePeerDependencies:
    +      - supports-color
    +
    +  '@applitools/screenshoter@3.8.27':
    +    dependencies:
    +      '@applitools/image': 1.1.9
    +      '@applitools/logger': 2.0.14
    +      '@applitools/snippets': 2.4.25
    +      '@applitools/utils': 1.7.0
    +    transitivePeerDependencies:
    +      - supports-color
    +
    +  '@applitools/snippets@2.4.25': {}
    +
    +  '@applitools/socket@1.1.14':
    +    dependencies:
    +      '@applitools/logger': 2.0.14
    +      '@applitools/utils': 1.7.0
    +    transitivePeerDependencies:
    +      - supports-color
    +
    +  '@applitools/spec-driver-webdriver@1.1.3(webdriver@7.31.1(typescript@5.4.5))':
    +    dependencies:
    +      '@applitools/driver': 1.16.5
    +      '@applitools/utils': 1.7.0
    +      http-proxy-agent: 5.0.0
    +      https-proxy-agent: 5.0.1
    +      webdriver: 7.31.1(typescript@5.4.5)
    +    transitivePeerDependencies:
    +      - supports-color
    +
    +  '@applitools/tunnel-client@1.4.1':
    +    dependencies:
    +      '@applitools/execution-grid-tunnel': 2.1.10
    +      '@applitools/logger': 2.0.14
    +      '@applitools/req': 1.6.5
    +      '@applitools/socket': 1.1.14
    +      '@applitools/utils': 1.7.0
    +      abort-controller: 3.0.0
    +      yargs: 17.7.2
    +    transitivePeerDependencies:
    +      - supports-color
    +
    +  '@applitools/ufg-client@1.10.2':
    +    dependencies:
    +      '@applitools/css-tree': 1.1.2
    +      '@applitools/image': 1.1.9
    +      '@applitools/logger': 2.0.14
    +      '@applitools/req': 1.6.5
    +      '@applitools/utils': 1.7.0
    +      '@xmldom/xmldom': 0.8.10
    +      abort-controller: 3.0.0
    +      throat: 6.0.2
    +    transitivePeerDependencies:
    +      - supports-color
    +
    +  '@applitools/utils@1.3.36': {}
    +
    +  '@applitools/utils@1.7.0': {}
    +
    +  '@babel/code-frame@7.24.2':
    +    dependencies:
    +      '@babel/highlight': 7.24.2
    +      picocolors: 1.0.0
    +
    +  '@babel/compat-data@7.24.4': {}
    +
    +  '@babel/core@7.24.4':
    +    dependencies:
    +      '@ampproject/remapping': 2.3.0
    +      '@babel/code-frame': 7.24.2
    +      '@babel/generator': 7.24.5
    +      '@babel/helper-compilation-targets': 7.23.6
    +      '@babel/helper-module-transforms': 7.24.5(@babel/core@7.24.4)
    +      '@babel/helpers': 7.24.5
    +      '@babel/parser': 7.24.5
    +      '@babel/template': 7.24.0
    +      '@babel/traverse': 7.24.5
    +      '@babel/types': 7.24.5
    +      convert-source-map: 2.0.0
    +      debug: 4.3.4(supports-color@8.1.1)
    +      gensync: 1.0.0-beta.2
    +      json5: 2.2.3
    +      semver: 6.3.1
    +    transitivePeerDependencies:
    +      - supports-color
    +
    +  '@babel/core@7.24.5':
    +    dependencies:
    +      '@ampproject/remapping': 2.3.0
    +      '@babel/code-frame': 7.24.2
    +      '@babel/generator': 7.24.5
    +      '@babel/helper-compilation-targets': 7.23.6
    +      '@babel/helper-module-transforms': 7.24.5(@babel/core@7.24.5)
    +      '@babel/helpers': 7.24.5
    +      '@babel/parser': 7.24.5
    +      '@babel/template': 7.24.0
    +      '@babel/traverse': 7.24.5
    +      '@babel/types': 7.24.5
    +      convert-source-map: 2.0.0
    +      debug: 4.3.4(supports-color@8.1.1)
    +      gensync: 1.0.0-beta.2
    +      json5: 2.2.3
    +      semver: 6.3.1
    +    transitivePeerDependencies:
    +      - supports-color
    +
    +  '@babel/generator@7.24.5':
    +    dependencies:
    +      '@babel/types': 7.24.5
    +      '@jridgewell/gen-mapping': 0.3.5
    +      '@jridgewell/trace-mapping': 0.3.25
    +      jsesc: 2.5.2
    +
    +  '@babel/helper-annotate-as-pure@7.22.5':
    +    dependencies:
    +      '@babel/types': 7.24.5
    +
    +  '@babel/helper-builder-binary-assignment-operator-visitor@7.22.15':
    +    dependencies:
    +      '@babel/types': 7.24.5
    +
    +  '@babel/helper-compilation-targets@7.23.6':
    +    dependencies:
    +      '@babel/compat-data': 7.24.4
    +      '@babel/helper-validator-option': 7.23.5
    +      browserslist: 4.23.0
    +      lru-cache: 5.1.1
    +      semver: 6.3.1
    +
    +  '@babel/helper-create-class-features-plugin@7.24.5(@babel/core@7.24.4)':
    +    dependencies:
    +      '@babel/core': 7.24.4
    +      '@babel/helper-annotate-as-pure': 7.22.5
    +      '@babel/helper-environment-visitor': 7.22.20
    +      '@babel/helper-function-name': 7.23.0
    +      '@babel/helper-member-expression-to-functions': 7.24.5
    +      '@babel/helper-optimise-call-expression': 7.22.5
    +      '@babel/helper-replace-supers': 7.24.1(@babel/core@7.24.4)
    +      '@babel/helper-skip-transparent-expression-wrappers': 7.22.5
    +      '@babel/helper-split-export-declaration': 7.24.5
    +      semver: 6.3.1
    +
    +  '@babel/helper-create-class-features-plugin@7.24.5(@babel/core@7.24.5)':
    +    dependencies:
    +      '@babel/core': 7.24.5
    +      '@babel/helper-annotate-as-pure': 7.22.5
    +      '@babel/helper-environment-visitor': 7.22.20
    +      '@babel/helper-function-name': 7.23.0
    +      '@babel/helper-member-expression-to-functions': 7.24.5
    +      '@babel/helper-optimise-call-expression': 7.22.5
    +      '@babel/helper-replace-supers': 7.24.1(@babel/core@7.24.5)
    +      '@babel/helper-skip-transparent-expression-wrappers': 7.22.5
    +      '@babel/helper-split-export-declaration': 7.24.5
    +      semver: 6.3.1
    +
    +  '@babel/helper-create-regexp-features-plugin@7.22.15(@babel/core@7.24.4)':
    +    dependencies:
    +      '@babel/core': 7.24.4
    +      '@babel/helper-annotate-as-pure': 7.22.5
    +      regexpu-core: 5.3.2
    +      semver: 6.3.1
    +
    +  '@babel/helper-create-regexp-features-plugin@7.22.15(@babel/core@7.24.5)':
    +    dependencies:
    +      '@babel/core': 7.24.5
    +      '@babel/helper-annotate-as-pure': 7.22.5
    +      regexpu-core: 5.3.2
    +      semver: 6.3.1
    +
    +  '@babel/helper-define-polyfill-provider@0.6.2(@babel/core@7.24.4)':
    +    dependencies:
    +      '@babel/core': 7.24.4
    +      '@babel/helper-compilation-targets': 7.23.6
    +      '@babel/helper-plugin-utils': 7.24.5
    +      debug: 4.3.4(supports-color@8.1.1)
    +      lodash.debounce: 4.0.8
    +      resolve: 1.22.8
    +    transitivePeerDependencies:
    +      - supports-color
    +
    +  '@babel/helper-define-polyfill-provider@0.6.2(@babel/core@7.24.5)':
    +    dependencies:
    +      '@babel/core': 7.24.5
    +      '@babel/helper-compilation-targets': 7.23.6
    +      '@babel/helper-plugin-utils': 7.24.5
    +      debug: 4.3.4(supports-color@8.1.1)
    +      lodash.debounce: 4.0.8
    +      resolve: 1.22.8
    +    transitivePeerDependencies:
    +      - supports-color
    +
    +  '@babel/helper-environment-visitor@7.22.20': {}
    +
    +  '@babel/helper-function-name@7.23.0':
    +    dependencies:
    +      '@babel/template': 7.24.0
    +      '@babel/types': 7.24.5
    +
    +  '@babel/helper-hoist-variables@7.22.5':
    +    dependencies:
    +      '@babel/types': 7.24.5
    +
    +  '@babel/helper-member-expression-to-functions@7.24.5':
    +    dependencies:
    +      '@babel/types': 7.24.5
    +
    +  '@babel/helper-module-imports@7.24.3':
    +    dependencies:
    +      '@babel/types': 7.24.5
    +
    +  '@babel/helper-module-transforms@7.24.5(@babel/core@7.24.4)':
    +    dependencies:
    +      '@babel/core': 7.24.4
    +      '@babel/helper-environment-visitor': 7.22.20
    +      '@babel/helper-module-imports': 7.24.3
    +      '@babel/helper-simple-access': 7.24.5
    +      '@babel/helper-split-export-declaration': 7.24.5
    +      '@babel/helper-validator-identifier': 7.24.5
    +
    +  '@babel/helper-module-transforms@7.24.5(@babel/core@7.24.5)':
    +    dependencies:
    +      '@babel/core': 7.24.5
    +      '@babel/helper-environment-visitor': 7.22.20
    +      '@babel/helper-module-imports': 7.24.3
    +      '@babel/helper-simple-access': 7.24.5
    +      '@babel/helper-split-export-declaration': 7.24.5
    +      '@babel/helper-validator-identifier': 7.24.5
    +
    +  '@babel/helper-optimise-call-expression@7.22.5':
    +    dependencies:
    +      '@babel/types': 7.24.5
    +
    +  '@babel/helper-plugin-utils@7.24.5': {}
    +
    +  '@babel/helper-remap-async-to-generator@7.22.20(@babel/core@7.24.4)':
    +    dependencies:
    +      '@babel/core': 7.24.4
    +      '@babel/helper-annotate-as-pure': 7.22.5
    +      '@babel/helper-environment-visitor': 7.22.20
    +      '@babel/helper-wrap-function': 7.24.5
    +
    +  '@babel/helper-remap-async-to-generator@7.22.20(@babel/core@7.24.5)':
    +    dependencies:
    +      '@babel/core': 7.24.5
    +      '@babel/helper-annotate-as-pure': 7.22.5
    +      '@babel/helper-environment-visitor': 7.22.20
    +      '@babel/helper-wrap-function': 7.24.5
    +
    +  '@babel/helper-replace-supers@7.24.1(@babel/core@7.24.4)':
    +    dependencies:
    +      '@babel/core': 7.24.4
    +      '@babel/helper-environment-visitor': 7.22.20
    +      '@babel/helper-member-expression-to-functions': 7.24.5
    +      '@babel/helper-optimise-call-expression': 7.22.5
    +
    +  '@babel/helper-replace-supers@7.24.1(@babel/core@7.24.5)':
    +    dependencies:
    +      '@babel/core': 7.24.5
    +      '@babel/helper-environment-visitor': 7.22.20
    +      '@babel/helper-member-expression-to-functions': 7.24.5
    +      '@babel/helper-optimise-call-expression': 7.22.5
    +
    +  '@babel/helper-simple-access@7.24.5':
    +    dependencies:
    +      '@babel/types': 7.24.5
    +
    +  '@babel/helper-skip-transparent-expression-wrappers@7.22.5':
    +    dependencies:
    +      '@babel/types': 7.24.5
    +
    +  '@babel/helper-split-export-declaration@7.24.5':
    +    dependencies:
    +      '@babel/types': 7.24.5
    +
    +  '@babel/helper-string-parser@7.24.1': {}
    +
    +  '@babel/helper-validator-identifier@7.22.20': {}
    +
    +  '@babel/helper-validator-identifier@7.24.5': {}
    +
    +  '@babel/helper-validator-option@7.23.5': {}
    +
    +  '@babel/helper-wrap-function@7.24.5':
    +    dependencies:
    +      '@babel/helper-function-name': 7.23.0
    +      '@babel/template': 7.24.0
    +      '@babel/types': 7.24.5
    +
    +  '@babel/helpers@7.24.5':
    +    dependencies:
    +      '@babel/template': 7.24.0
    +      '@babel/traverse': 7.24.5
    +      '@babel/types': 7.24.5
    +    transitivePeerDependencies:
    +      - supports-color
    +
    +  '@babel/highlight@7.24.2':
    +    dependencies:
    +      '@babel/helper-validator-identifier': 7.24.5
    +      chalk: 2.4.2
    +      js-tokens: 4.0.0
    +      picocolors: 1.0.0
    +
    +  '@babel/parser@7.24.5':
    +    dependencies:
    +      '@babel/types': 7.24.5
    +
    +  '@babel/plugin-bugfix-firefox-class-in-computed-class-key@7.24.5(@babel/core@7.24.4)':
    +    dependencies:
    +      '@babel/core': 7.24.4
    +      '@babel/helper-environment-visitor': 7.22.20
    +      '@babel/helper-plugin-utils': 7.24.5
    +
    +  '@babel/plugin-bugfix-firefox-class-in-computed-class-key@7.24.5(@babel/core@7.24.5)':
    +    dependencies:
    +      '@babel/core': 7.24.5
    +      '@babel/helper-environment-visitor': 7.22.20
    +      '@babel/helper-plugin-utils': 7.24.5
    +
    +  '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.24.1(@babel/core@7.24.4)':
    +    dependencies:
    +      '@babel/core': 7.24.4
    +      '@babel/helper-plugin-utils': 7.24.5
    +
    +  '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.24.1(@babel/core@7.24.5)':
    +    dependencies:
    +      '@babel/core': 7.24.5
    +      '@babel/helper-plugin-utils': 7.24.5
    +
    +  '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.24.1(@babel/core@7.24.4)':
    +    dependencies:
    +      '@babel/core': 7.24.4
    +      '@babel/helper-plugin-utils': 7.24.5
    +      '@babel/helper-skip-transparent-expression-wrappers': 7.22.5
    +      '@babel/plugin-transform-optional-chaining': 7.24.5(@babel/core@7.24.4)
    +
    +  '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.24.1(@babel/core@7.24.5)':
    +    dependencies:
    +      '@babel/core': 7.24.5
    +      '@babel/helper-plugin-utils': 7.24.5
    +      '@babel/helper-skip-transparent-expression-wrappers': 7.22.5
    +      '@babel/plugin-transform-optional-chaining': 7.24.5(@babel/core@7.24.5)
    +
    +  '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.24.1(@babel/core@7.24.4)':
    +    dependencies:
    +      '@babel/core': 7.24.4
    +      '@babel/helper-environment-visitor': 7.22.20
    +      '@babel/helper-plugin-utils': 7.24.5
    +
    +  '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.24.1(@babel/core@7.24.5)':
    +    dependencies:
    +      '@babel/core': 7.24.5
    +      '@babel/helper-environment-visitor': 7.22.20
    +      '@babel/helper-plugin-utils': 7.24.5
    +
    +  '@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2(@babel/core@7.24.4)':
    +    dependencies:
    +      '@babel/core': 7.24.4
    +
    +  '@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2(@babel/core@7.24.5)':
    +    dependencies:
    +      '@babel/core': 7.24.5
    +
    +  '@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.24.4)':
    +    dependencies:
    +      '@babel/core': 7.24.4
    +      '@babel/helper-plugin-utils': 7.24.5
    +
    +  '@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.24.5)':
    +    dependencies:
    +      '@babel/core': 7.24.5
    +      '@babel/helper-plugin-utils': 7.24.5
    +
    +  '@babel/plugin-syntax-bigint@7.8.3(@babel/core@7.24.5)':
    +    dependencies:
    +      '@babel/core': 7.24.5
    +      '@babel/helper-plugin-utils': 7.24.5
    +
    +  '@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.24.4)':
    +    dependencies:
    +      '@babel/core': 7.24.4
    +      '@babel/helper-plugin-utils': 7.24.5
    +
    +  '@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.24.5)':
    +    dependencies:
    +      '@babel/core': 7.24.5
    +      '@babel/helper-plugin-utils': 7.24.5
    +
    +  '@babel/plugin-syntax-class-static-block@7.14.5(@babel/core@7.24.4)':
    +    dependencies:
    +      '@babel/core': 7.24.4
    +      '@babel/helper-plugin-utils': 7.24.5
    +
    +  '@babel/plugin-syntax-class-static-block@7.14.5(@babel/core@7.24.5)':
    +    dependencies:
    +      '@babel/core': 7.24.5
    +      '@babel/helper-plugin-utils': 7.24.5
    +
    +  '@babel/plugin-syntax-dynamic-import@7.8.3(@babel/core@7.24.4)':
    +    dependencies:
    +      '@babel/core': 7.24.4
    +      '@babel/helper-plugin-utils': 7.24.5
    +
    +  '@babel/plugin-syntax-dynamic-import@7.8.3(@babel/core@7.24.5)':
    +    dependencies:
    +      '@babel/core': 7.24.5
    +      '@babel/helper-plugin-utils': 7.24.5
    +
    +  '@babel/plugin-syntax-export-namespace-from@7.8.3(@babel/core@7.24.4)':
    +    dependencies:
    +      '@babel/core': 7.24.4
    +      '@babel/helper-plugin-utils': 7.24.5
    +
    +  '@babel/plugin-syntax-export-namespace-from@7.8.3(@babel/core@7.24.5)':
    +    dependencies:
    +      '@babel/core': 7.24.5
    +      '@babel/helper-plugin-utils': 7.24.5
    +
    +  '@babel/plugin-syntax-import-assertions@7.24.1(@babel/core@7.24.4)':
    +    dependencies:
    +      '@babel/core': 7.24.4
    +      '@babel/helper-plugin-utils': 7.24.5
    +
    +  '@babel/plugin-syntax-import-assertions@7.24.1(@babel/core@7.24.5)':
    +    dependencies:
    +      '@babel/core': 7.24.5
    +      '@babel/helper-plugin-utils': 7.24.5
    +
    +  '@babel/plugin-syntax-import-attributes@7.24.1(@babel/core@7.24.4)':
    +    dependencies:
    +      '@babel/core': 7.24.4
    +      '@babel/helper-plugin-utils': 7.24.5
    +
    +  '@babel/plugin-syntax-import-attributes@7.24.1(@babel/core@7.24.5)':
    +    dependencies:
    +      '@babel/core': 7.24.5
    +      '@babel/helper-plugin-utils': 7.24.5
    +
    +  '@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.24.4)':
    +    dependencies:
    +      '@babel/core': 7.24.4
    +      '@babel/helper-plugin-utils': 7.24.5
    +
    +  '@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.24.5)':
    +    dependencies:
    +      '@babel/core': 7.24.5
    +      '@babel/helper-plugin-utils': 7.24.5
    +
    +  '@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.24.4)':
    +    dependencies:
    +      '@babel/core': 7.24.4
    +      '@babel/helper-plugin-utils': 7.24.5
    +
    +  '@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.24.5)':
    +    dependencies:
    +      '@babel/core': 7.24.5
    +      '@babel/helper-plugin-utils': 7.24.5
    +
    +  '@babel/plugin-syntax-jsx@7.24.1(@babel/core@7.24.5)':
    +    dependencies:
    +      '@babel/core': 7.24.5
    +      '@babel/helper-plugin-utils': 7.24.5
    +
    +  '@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.24.4)':
    +    dependencies:
    +      '@babel/core': 7.24.4
    +      '@babel/helper-plugin-utils': 7.24.5
    +
    +  '@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.24.5)':
    +    dependencies:
    +      '@babel/core': 7.24.5
    +      '@babel/helper-plugin-utils': 7.24.5
    +
    +  '@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.24.4)':
    +    dependencies:
    +      '@babel/core': 7.24.4
    +      '@babel/helper-plugin-utils': 7.24.5
    +
    +  '@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.24.5)':
    +    dependencies:
    +      '@babel/core': 7.24.5
    +      '@babel/helper-plugin-utils': 7.24.5
    +
    +  '@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.24.4)':
    +    dependencies:
    +      '@babel/core': 7.24.4
    +      '@babel/helper-plugin-utils': 7.24.5
    +
    +  '@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.24.5)':
    +    dependencies:
    +      '@babel/core': 7.24.5
    +      '@babel/helper-plugin-utils': 7.24.5
    +
    +  '@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.24.4)':
    +    dependencies:
    +      '@babel/core': 7.24.4
    +      '@babel/helper-plugin-utils': 7.24.5
    +
    +  '@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.24.5)':
    +    dependencies:
    +      '@babel/core': 7.24.5
    +      '@babel/helper-plugin-utils': 7.24.5
    +
    +  '@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.24.4)':
    +    dependencies:
    +      '@babel/core': 7.24.4
    +      '@babel/helper-plugin-utils': 7.24.5
    +
    +  '@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.24.5)':
    +    dependencies:
    +      '@babel/core': 7.24.5
    +      '@babel/helper-plugin-utils': 7.24.5
    +
    +  '@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.24.4)':
    +    dependencies:
    +      '@babel/core': 7.24.4
    +      '@babel/helper-plugin-utils': 7.24.5
    +
    +  '@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.24.5)':
    +    dependencies:
    +      '@babel/core': 7.24.5
    +      '@babel/helper-plugin-utils': 7.24.5
    +
    +  '@babel/plugin-syntax-private-property-in-object@7.14.5(@babel/core@7.24.4)':
    +    dependencies:
    +      '@babel/core': 7.24.4
    +      '@babel/helper-plugin-utils': 7.24.5
    +
    +  '@babel/plugin-syntax-private-property-in-object@7.14.5(@babel/core@7.24.5)':
    +    dependencies:
    +      '@babel/core': 7.24.5
    +      '@babel/helper-plugin-utils': 7.24.5
    +
    +  '@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.24.4)':
    +    dependencies:
    +      '@babel/core': 7.24.4
    +      '@babel/helper-plugin-utils': 7.24.5
    +
    +  '@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.24.5)':
    +    dependencies:
    +      '@babel/core': 7.24.5
    +      '@babel/helper-plugin-utils': 7.24.5
    +
    +  '@babel/plugin-syntax-typescript@7.24.1(@babel/core@7.24.5)':
    +    dependencies:
    +      '@babel/core': 7.24.5
    +      '@babel/helper-plugin-utils': 7.24.5
    +
    +  '@babel/plugin-syntax-unicode-sets-regex@7.18.6(@babel/core@7.24.4)':
    +    dependencies:
    +      '@babel/core': 7.24.4
    +      '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.24.4)
    +      '@babel/helper-plugin-utils': 7.24.5
    +
    +  '@babel/plugin-syntax-unicode-sets-regex@7.18.6(@babel/core@7.24.5)':
    +    dependencies:
    +      '@babel/core': 7.24.5
    +      '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.24.5)
    +      '@babel/helper-plugin-utils': 7.24.5
    +
    +  '@babel/plugin-transform-arrow-functions@7.24.1(@babel/core@7.24.4)':
    +    dependencies:
    +      '@babel/core': 7.24.4
    +      '@babel/helper-plugin-utils': 7.24.5
    +
    +  '@babel/plugin-transform-arrow-functions@7.24.1(@babel/core@7.24.5)':
    +    dependencies:
    +      '@babel/core': 7.24.5
    +      '@babel/helper-plugin-utils': 7.24.5
    +
    +  '@babel/plugin-transform-async-generator-functions@7.24.3(@babel/core@7.24.4)':
    +    dependencies:
    +      '@babel/core': 7.24.4
    +      '@babel/helper-environment-visitor': 7.22.20
    +      '@babel/helper-plugin-utils': 7.24.5
    +      '@babel/helper-remap-async-to-generator': 7.22.20(@babel/core@7.24.4)
    +      '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.24.4)
    +
    +  '@babel/plugin-transform-async-generator-functions@7.24.3(@babel/core@7.24.5)':
    +    dependencies:
    +      '@babel/core': 7.24.5
    +      '@babel/helper-environment-visitor': 7.22.20
    +      '@babel/helper-plugin-utils': 7.24.5
    +      '@babel/helper-remap-async-to-generator': 7.22.20(@babel/core@7.24.5)
    +      '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.24.5)
    +
    +  '@babel/plugin-transform-async-to-generator@7.24.1(@babel/core@7.24.4)':
    +    dependencies:
    +      '@babel/core': 7.24.4
    +      '@babel/helper-module-imports': 7.24.3
    +      '@babel/helper-plugin-utils': 7.24.5
    +      '@babel/helper-remap-async-to-generator': 7.22.20(@babel/core@7.24.4)
    +
    +  '@babel/plugin-transform-async-to-generator@7.24.1(@babel/core@7.24.5)':
    +    dependencies:
    +      '@babel/core': 7.24.5
    +      '@babel/helper-module-imports': 7.24.3
    +      '@babel/helper-plugin-utils': 7.24.5
    +      '@babel/helper-remap-async-to-generator': 7.22.20(@babel/core@7.24.5)
    +
    +  '@babel/plugin-transform-block-scoped-functions@7.24.1(@babel/core@7.24.4)':
    +    dependencies:
    +      '@babel/core': 7.24.4
    +      '@babel/helper-plugin-utils': 7.24.5
    +
    +  '@babel/plugin-transform-block-scoped-functions@7.24.1(@babel/core@7.24.5)':
    +    dependencies:
    +      '@babel/core': 7.24.5
    +      '@babel/helper-plugin-utils': 7.24.5
    +
    +  '@babel/plugin-transform-block-scoping@7.24.5(@babel/core@7.24.4)':
    +    dependencies:
    +      '@babel/core': 7.24.4
    +      '@babel/helper-plugin-utils': 7.24.5
    +
    +  '@babel/plugin-transform-block-scoping@7.24.5(@babel/core@7.24.5)':
    +    dependencies:
    +      '@babel/core': 7.24.5
    +      '@babel/helper-plugin-utils': 7.24.5
    +
    +  '@babel/plugin-transform-class-properties@7.24.1(@babel/core@7.24.4)':
    +    dependencies:
    +      '@babel/core': 7.24.4
    +      '@babel/helper-create-class-features-plugin': 7.24.5(@babel/core@7.24.4)
    +      '@babel/helper-plugin-utils': 7.24.5
    +
    +  '@babel/plugin-transform-class-properties@7.24.1(@babel/core@7.24.5)':
    +    dependencies:
    +      '@babel/core': 7.24.5
    +      '@babel/helper-create-class-features-plugin': 7.24.5(@babel/core@7.24.5)
    +      '@babel/helper-plugin-utils': 7.24.5
    +
    +  '@babel/plugin-transform-class-static-block@7.24.4(@babel/core@7.24.4)':
    +    dependencies:
    +      '@babel/core': 7.24.4
    +      '@babel/helper-create-class-features-plugin': 7.24.5(@babel/core@7.24.4)
    +      '@babel/helper-plugin-utils': 7.24.5
    +      '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.24.4)
    +
    +  '@babel/plugin-transform-class-static-block@7.24.4(@babel/core@7.24.5)':
    +    dependencies:
    +      '@babel/core': 7.24.5
    +      '@babel/helper-create-class-features-plugin': 7.24.5(@babel/core@7.24.5)
    +      '@babel/helper-plugin-utils': 7.24.5
    +      '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.24.5)
    +
    +  '@babel/plugin-transform-classes@7.24.5(@babel/core@7.24.4)':
    +    dependencies:
    +      '@babel/core': 7.24.4
    +      '@babel/helper-annotate-as-pure': 7.22.5
    +      '@babel/helper-compilation-targets': 7.23.6
    +      '@babel/helper-environment-visitor': 7.22.20
    +      '@babel/helper-function-name': 7.23.0
    +      '@babel/helper-plugin-utils': 7.24.5
    +      '@babel/helper-replace-supers': 7.24.1(@babel/core@7.24.4)
    +      '@babel/helper-split-export-declaration': 7.24.5
    +      globals: 11.12.0
    +
    +  '@babel/plugin-transform-classes@7.24.5(@babel/core@7.24.5)':
    +    dependencies:
    +      '@babel/core': 7.24.5
    +      '@babel/helper-annotate-as-pure': 7.22.5
    +      '@babel/helper-compilation-targets': 7.23.6
    +      '@babel/helper-environment-visitor': 7.22.20
    +      '@babel/helper-function-name': 7.23.0
    +      '@babel/helper-plugin-utils': 7.24.5
    +      '@babel/helper-replace-supers': 7.24.1(@babel/core@7.24.5)
    +      '@babel/helper-split-export-declaration': 7.24.5
    +      globals: 11.12.0
    +
    +  '@babel/plugin-transform-computed-properties@7.24.1(@babel/core@7.24.4)':
    +    dependencies:
    +      '@babel/core': 7.24.4
    +      '@babel/helper-plugin-utils': 7.24.5
    +      '@babel/template': 7.24.0
    +
    +  '@babel/plugin-transform-computed-properties@7.24.1(@babel/core@7.24.5)':
    +    dependencies:
    +      '@babel/core': 7.24.5
    +      '@babel/helper-plugin-utils': 7.24.5
    +      '@babel/template': 7.24.0
    +
    +  '@babel/plugin-transform-destructuring@7.24.5(@babel/core@7.24.4)':
    +    dependencies:
    +      '@babel/core': 7.24.4
    +      '@babel/helper-plugin-utils': 7.24.5
    +
    +  '@babel/plugin-transform-destructuring@7.24.5(@babel/core@7.24.5)':
    +    dependencies:
    +      '@babel/core': 7.24.5
    +      '@babel/helper-plugin-utils': 7.24.5
    +
    +  '@babel/plugin-transform-dotall-regex@7.24.1(@babel/core@7.24.4)':
    +    dependencies:
    +      '@babel/core': 7.24.4
    +      '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.24.4)
    +      '@babel/helper-plugin-utils': 7.24.5
    +
    +  '@babel/plugin-transform-dotall-regex@7.24.1(@babel/core@7.24.5)':
    +    dependencies:
    +      '@babel/core': 7.24.5
    +      '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.24.5)
    +      '@babel/helper-plugin-utils': 7.24.5
    +
    +  '@babel/plugin-transform-duplicate-keys@7.24.1(@babel/core@7.24.4)':
    +    dependencies:
    +      '@babel/core': 7.24.4
    +      '@babel/helper-plugin-utils': 7.24.5
    +
    +  '@babel/plugin-transform-duplicate-keys@7.24.1(@babel/core@7.24.5)':
    +    dependencies:
    +      '@babel/core': 7.24.5
    +      '@babel/helper-plugin-utils': 7.24.5
    +
    +  '@babel/plugin-transform-dynamic-import@7.24.1(@babel/core@7.24.4)':
    +    dependencies:
    +      '@babel/core': 7.24.4
    +      '@babel/helper-plugin-utils': 7.24.5
    +      '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.24.4)
    +
    +  '@babel/plugin-transform-dynamic-import@7.24.1(@babel/core@7.24.5)':
    +    dependencies:
    +      '@babel/core': 7.24.5
    +      '@babel/helper-plugin-utils': 7.24.5
    +      '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.24.5)
    +
    +  '@babel/plugin-transform-exponentiation-operator@7.24.1(@babel/core@7.24.4)':
    +    dependencies:
    +      '@babel/core': 7.24.4
    +      '@babel/helper-builder-binary-assignment-operator-visitor': 7.22.15
    +      '@babel/helper-plugin-utils': 7.24.5
    +
    +  '@babel/plugin-transform-exponentiation-operator@7.24.1(@babel/core@7.24.5)':
    +    dependencies:
    +      '@babel/core': 7.24.5
    +      '@babel/helper-builder-binary-assignment-operator-visitor': 7.22.15
    +      '@babel/helper-plugin-utils': 7.24.5
    +
    +  '@babel/plugin-transform-export-namespace-from@7.24.1(@babel/core@7.24.4)':
    +    dependencies:
    +      '@babel/core': 7.24.4
    +      '@babel/helper-plugin-utils': 7.24.5
    +      '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.24.4)
    +
    +  '@babel/plugin-transform-export-namespace-from@7.24.1(@babel/core@7.24.5)':
    +    dependencies:
    +      '@babel/core': 7.24.5
    +      '@babel/helper-plugin-utils': 7.24.5
    +      '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.24.5)
    +
    +  '@babel/plugin-transform-for-of@7.24.1(@babel/core@7.24.4)':
    +    dependencies:
    +      '@babel/core': 7.24.4
    +      '@babel/helper-plugin-utils': 7.24.5
    +      '@babel/helper-skip-transparent-expression-wrappers': 7.22.5
    +
    +  '@babel/plugin-transform-for-of@7.24.1(@babel/core@7.24.5)':
    +    dependencies:
    +      '@babel/core': 7.24.5
    +      '@babel/helper-plugin-utils': 7.24.5
    +      '@babel/helper-skip-transparent-expression-wrappers': 7.22.5
    +
    +  '@babel/plugin-transform-function-name@7.24.1(@babel/core@7.24.4)':
    +    dependencies:
    +      '@babel/core': 7.24.4
    +      '@babel/helper-compilation-targets': 7.23.6
    +      '@babel/helper-function-name': 7.23.0
    +      '@babel/helper-plugin-utils': 7.24.5
    +
    +  '@babel/plugin-transform-function-name@7.24.1(@babel/core@7.24.5)':
    +    dependencies:
    +      '@babel/core': 7.24.5
    +      '@babel/helper-compilation-targets': 7.23.6
    +      '@babel/helper-function-name': 7.23.0
    +      '@babel/helper-plugin-utils': 7.24.5
    +
    +  '@babel/plugin-transform-json-strings@7.24.1(@babel/core@7.24.4)':
    +    dependencies:
    +      '@babel/core': 7.24.4
    +      '@babel/helper-plugin-utils': 7.24.5
    +      '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.24.4)
    +
    +  '@babel/plugin-transform-json-strings@7.24.1(@babel/core@7.24.5)':
    +    dependencies:
    +      '@babel/core': 7.24.5
    +      '@babel/helper-plugin-utils': 7.24.5
    +      '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.24.5)
    +
    +  '@babel/plugin-transform-literals@7.24.1(@babel/core@7.24.4)':
    +    dependencies:
    +      '@babel/core': 7.24.4
    +      '@babel/helper-plugin-utils': 7.24.5
    +
    +  '@babel/plugin-transform-literals@7.24.1(@babel/core@7.24.5)':
    +    dependencies:
    +      '@babel/core': 7.24.5
    +      '@babel/helper-plugin-utils': 7.24.5
    +
    +  '@babel/plugin-transform-logical-assignment-operators@7.24.1(@babel/core@7.24.4)':
    +    dependencies:
    +      '@babel/core': 7.24.4
    +      '@babel/helper-plugin-utils': 7.24.5
    +      '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.24.4)
    +
    +  '@babel/plugin-transform-logical-assignment-operators@7.24.1(@babel/core@7.24.5)':
    +    dependencies:
    +      '@babel/core': 7.24.5
    +      '@babel/helper-plugin-utils': 7.24.5
    +      '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.24.5)
    +
    +  '@babel/plugin-transform-member-expression-literals@7.24.1(@babel/core@7.24.4)':
    +    dependencies:
    +      '@babel/core': 7.24.4
    +      '@babel/helper-plugin-utils': 7.24.5
    +
    +  '@babel/plugin-transform-member-expression-literals@7.24.1(@babel/core@7.24.5)':
    +    dependencies:
    +      '@babel/core': 7.24.5
    +      '@babel/helper-plugin-utils': 7.24.5
    +
    +  '@babel/plugin-transform-modules-amd@7.24.1(@babel/core@7.24.4)':
    +    dependencies:
    +      '@babel/core': 7.24.4
    +      '@babel/helper-module-transforms': 7.24.5(@babel/core@7.24.4)
    +      '@babel/helper-plugin-utils': 7.24.5
    +
    +  '@babel/plugin-transform-modules-amd@7.24.1(@babel/core@7.24.5)':
    +    dependencies:
    +      '@babel/core': 7.24.5
    +      '@babel/helper-module-transforms': 7.24.5(@babel/core@7.24.5)
    +      '@babel/helper-plugin-utils': 7.24.5
    +
    +  '@babel/plugin-transform-modules-commonjs@7.24.1(@babel/core@7.24.4)':
    +    dependencies:
    +      '@babel/core': 7.24.4
    +      '@babel/helper-module-transforms': 7.24.5(@babel/core@7.24.4)
    +      '@babel/helper-plugin-utils': 7.24.5
    +      '@babel/helper-simple-access': 7.24.5
    +
    +  '@babel/plugin-transform-modules-commonjs@7.24.1(@babel/core@7.24.5)':
    +    dependencies:
    +      '@babel/core': 7.24.5
    +      '@babel/helper-module-transforms': 7.24.5(@babel/core@7.24.5)
    +      '@babel/helper-plugin-utils': 7.24.5
    +      '@babel/helper-simple-access': 7.24.5
    +
    +  '@babel/plugin-transform-modules-systemjs@7.24.1(@babel/core@7.24.4)':
    +    dependencies:
    +      '@babel/core': 7.24.4
    +      '@babel/helper-hoist-variables': 7.22.5
    +      '@babel/helper-module-transforms': 7.24.5(@babel/core@7.24.4)
    +      '@babel/helper-plugin-utils': 7.24.5
    +      '@babel/helper-validator-identifier': 7.24.5
    +
    +  '@babel/plugin-transform-modules-systemjs@7.24.1(@babel/core@7.24.5)':
    +    dependencies:
    +      '@babel/core': 7.24.5
    +      '@babel/helper-hoist-variables': 7.22.5
    +      '@babel/helper-module-transforms': 7.24.5(@babel/core@7.24.5)
    +      '@babel/helper-plugin-utils': 7.24.5
    +      '@babel/helper-validator-identifier': 7.24.5
    +
    +  '@babel/plugin-transform-modules-umd@7.24.1(@babel/core@7.24.4)':
    +    dependencies:
    +      '@babel/core': 7.24.4
    +      '@babel/helper-module-transforms': 7.24.5(@babel/core@7.24.4)
    +      '@babel/helper-plugin-utils': 7.24.5
    +
    +  '@babel/plugin-transform-modules-umd@7.24.1(@babel/core@7.24.5)':
    +    dependencies:
    +      '@babel/core': 7.24.5
    +      '@babel/helper-module-transforms': 7.24.5(@babel/core@7.24.5)
    +      '@babel/helper-plugin-utils': 7.24.5
    +
    +  '@babel/plugin-transform-named-capturing-groups-regex@7.22.5(@babel/core@7.24.4)':
    +    dependencies:
    +      '@babel/core': 7.24.4
    +      '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.24.4)
    +      '@babel/helper-plugin-utils': 7.24.5
    +
    +  '@babel/plugin-transform-named-capturing-groups-regex@7.22.5(@babel/core@7.24.5)':
    +    dependencies:
    +      '@babel/core': 7.24.5
    +      '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.24.5)
    +      '@babel/helper-plugin-utils': 7.24.5
    +
    +  '@babel/plugin-transform-new-target@7.24.1(@babel/core@7.24.4)':
    +    dependencies:
    +      '@babel/core': 7.24.4
    +      '@babel/helper-plugin-utils': 7.24.5
    +
    +  '@babel/plugin-transform-new-target@7.24.1(@babel/core@7.24.5)':
    +    dependencies:
    +      '@babel/core': 7.24.5
    +      '@babel/helper-plugin-utils': 7.24.5
    +
    +  '@babel/plugin-transform-nullish-coalescing-operator@7.24.1(@babel/core@7.24.4)':
    +    dependencies:
    +      '@babel/core': 7.24.4
    +      '@babel/helper-plugin-utils': 7.24.5
    +      '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.24.4)
    +
    +  '@babel/plugin-transform-nullish-coalescing-operator@7.24.1(@babel/core@7.24.5)':
    +    dependencies:
    +      '@babel/core': 7.24.5
    +      '@babel/helper-plugin-utils': 7.24.5
    +      '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.24.5)
    +
    +  '@babel/plugin-transform-numeric-separator@7.24.1(@babel/core@7.24.4)':
    +    dependencies:
    +      '@babel/core': 7.24.4
    +      '@babel/helper-plugin-utils': 7.24.5
    +      '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.24.4)
    +
    +  '@babel/plugin-transform-numeric-separator@7.24.1(@babel/core@7.24.5)':
    +    dependencies:
    +      '@babel/core': 7.24.5
    +      '@babel/helper-plugin-utils': 7.24.5
    +      '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.24.5)
    +
    +  '@babel/plugin-transform-object-rest-spread@7.24.5(@babel/core@7.24.4)':
    +    dependencies:
    +      '@babel/core': 7.24.4
    +      '@babel/helper-compilation-targets': 7.23.6
    +      '@babel/helper-plugin-utils': 7.24.5
    +      '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.24.4)
    +      '@babel/plugin-transform-parameters': 7.24.5(@babel/core@7.24.4)
    +
    +  '@babel/plugin-transform-object-rest-spread@7.24.5(@babel/core@7.24.5)':
    +    dependencies:
    +      '@babel/core': 7.24.5
    +      '@babel/helper-compilation-targets': 7.23.6
    +      '@babel/helper-plugin-utils': 7.24.5
    +      '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.24.5)
    +      '@babel/plugin-transform-parameters': 7.24.5(@babel/core@7.24.5)
    +
    +  '@babel/plugin-transform-object-super@7.24.1(@babel/core@7.24.4)':
    +    dependencies:
    +      '@babel/core': 7.24.4
    +      '@babel/helper-plugin-utils': 7.24.5
    +      '@babel/helper-replace-supers': 7.24.1(@babel/core@7.24.4)
    +
    +  '@babel/plugin-transform-object-super@7.24.1(@babel/core@7.24.5)':
    +    dependencies:
    +      '@babel/core': 7.24.5
    +      '@babel/helper-plugin-utils': 7.24.5
    +      '@babel/helper-replace-supers': 7.24.1(@babel/core@7.24.5)
    +
    +  '@babel/plugin-transform-optional-catch-binding@7.24.1(@babel/core@7.24.4)':
    +    dependencies:
    +      '@babel/core': 7.24.4
    +      '@babel/helper-plugin-utils': 7.24.5
    +      '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.24.4)
    +
    +  '@babel/plugin-transform-optional-catch-binding@7.24.1(@babel/core@7.24.5)':
    +    dependencies:
    +      '@babel/core': 7.24.5
    +      '@babel/helper-plugin-utils': 7.24.5
    +      '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.24.5)
    +
    +  '@babel/plugin-transform-optional-chaining@7.24.5(@babel/core@7.24.4)':
    +    dependencies:
    +      '@babel/core': 7.24.4
    +      '@babel/helper-plugin-utils': 7.24.5
    +      '@babel/helper-skip-transparent-expression-wrappers': 7.22.5
    +      '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.24.4)
    +
    +  '@babel/plugin-transform-optional-chaining@7.24.5(@babel/core@7.24.5)':
    +    dependencies:
    +      '@babel/core': 7.24.5
    +      '@babel/helper-plugin-utils': 7.24.5
    +      '@babel/helper-skip-transparent-expression-wrappers': 7.22.5
    +      '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.24.5)
    +
    +  '@babel/plugin-transform-parameters@7.24.5(@babel/core@7.24.4)':
    +    dependencies:
    +      '@babel/core': 7.24.4
    +      '@babel/helper-plugin-utils': 7.24.5
    +
    +  '@babel/plugin-transform-parameters@7.24.5(@babel/core@7.24.5)':
    +    dependencies:
    +      '@babel/core': 7.24.5
    +      '@babel/helper-plugin-utils': 7.24.5
    +
    +  '@babel/plugin-transform-private-methods@7.24.1(@babel/core@7.24.4)':
    +    dependencies:
    +      '@babel/core': 7.24.4
    +      '@babel/helper-create-class-features-plugin': 7.24.5(@babel/core@7.24.4)
    +      '@babel/helper-plugin-utils': 7.24.5
    +
    +  '@babel/plugin-transform-private-methods@7.24.1(@babel/core@7.24.5)':
    +    dependencies:
    +      '@babel/core': 7.24.5
    +      '@babel/helper-create-class-features-plugin': 7.24.5(@babel/core@7.24.5)
    +      '@babel/helper-plugin-utils': 7.24.5
    +
    +  '@babel/plugin-transform-private-property-in-object@7.24.5(@babel/core@7.24.4)':
    +    dependencies:
    +      '@babel/core': 7.24.4
    +      '@babel/helper-annotate-as-pure': 7.22.5
    +      '@babel/helper-create-class-features-plugin': 7.24.5(@babel/core@7.24.4)
    +      '@babel/helper-plugin-utils': 7.24.5
    +      '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.24.4)
    +
    +  '@babel/plugin-transform-private-property-in-object@7.24.5(@babel/core@7.24.5)':
    +    dependencies:
    +      '@babel/core': 7.24.5
    +      '@babel/helper-annotate-as-pure': 7.22.5
    +      '@babel/helper-create-class-features-plugin': 7.24.5(@babel/core@7.24.5)
    +      '@babel/helper-plugin-utils': 7.24.5
    +      '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.24.5)
    +
    +  '@babel/plugin-transform-property-literals@7.24.1(@babel/core@7.24.4)':
    +    dependencies:
    +      '@babel/core': 7.24.4
    +      '@babel/helper-plugin-utils': 7.24.5
    +
    +  '@babel/plugin-transform-property-literals@7.24.1(@babel/core@7.24.5)':
    +    dependencies:
    +      '@babel/core': 7.24.5
    +      '@babel/helper-plugin-utils': 7.24.5
    +
    +  '@babel/plugin-transform-regenerator@7.24.1(@babel/core@7.24.4)':
    +    dependencies:
    +      '@babel/core': 7.24.4
    +      '@babel/helper-plugin-utils': 7.24.5
    +      regenerator-transform: 0.15.2
    +
    +  '@babel/plugin-transform-regenerator@7.24.1(@babel/core@7.24.5)':
    +    dependencies:
    +      '@babel/core': 7.24.5
    +      '@babel/helper-plugin-utils': 7.24.5
    +      regenerator-transform: 0.15.2
    +
    +  '@babel/plugin-transform-reserved-words@7.24.1(@babel/core@7.24.4)':
    +    dependencies:
    +      '@babel/core': 7.24.4
    +      '@babel/helper-plugin-utils': 7.24.5
    +
    +  '@babel/plugin-transform-reserved-words@7.24.1(@babel/core@7.24.5)':
    +    dependencies:
    +      '@babel/core': 7.24.5
    +      '@babel/helper-plugin-utils': 7.24.5
    +
    +  '@babel/plugin-transform-shorthand-properties@7.24.1(@babel/core@7.24.4)':
    +    dependencies:
    +      '@babel/core': 7.24.4
    +      '@babel/helper-plugin-utils': 7.24.5
    +
    +  '@babel/plugin-transform-shorthand-properties@7.24.1(@babel/core@7.24.5)':
    +    dependencies:
    +      '@babel/core': 7.24.5
    +      '@babel/helper-plugin-utils': 7.24.5
    +
    +  '@babel/plugin-transform-spread@7.24.1(@babel/core@7.24.4)':
    +    dependencies:
    +      '@babel/core': 7.24.4
    +      '@babel/helper-plugin-utils': 7.24.5
    +      '@babel/helper-skip-transparent-expression-wrappers': 7.22.5
    +
    +  '@babel/plugin-transform-spread@7.24.1(@babel/core@7.24.5)':
    +    dependencies:
    +      '@babel/core': 7.24.5
    +      '@babel/helper-plugin-utils': 7.24.5
    +      '@babel/helper-skip-transparent-expression-wrappers': 7.22.5
    +
    +  '@babel/plugin-transform-sticky-regex@7.24.1(@babel/core@7.24.4)':
    +    dependencies:
    +      '@babel/core': 7.24.4
    +      '@babel/helper-plugin-utils': 7.24.5
    +
    +  '@babel/plugin-transform-sticky-regex@7.24.1(@babel/core@7.24.5)':
    +    dependencies:
    +      '@babel/core': 7.24.5
    +      '@babel/helper-plugin-utils': 7.24.5
    +
    +  '@babel/plugin-transform-template-literals@7.24.1(@babel/core@7.24.4)':
    +    dependencies:
    +      '@babel/core': 7.24.4
    +      '@babel/helper-plugin-utils': 7.24.5
    +
    +  '@babel/plugin-transform-template-literals@7.24.1(@babel/core@7.24.5)':
    +    dependencies:
    +      '@babel/core': 7.24.5
    +      '@babel/helper-plugin-utils': 7.24.5
    +
    +  '@babel/plugin-transform-typeof-symbol@7.24.5(@babel/core@7.24.4)':
    +    dependencies:
    +      '@babel/core': 7.24.4
    +      '@babel/helper-plugin-utils': 7.24.5
    +
    +  '@babel/plugin-transform-typeof-symbol@7.24.5(@babel/core@7.24.5)':
    +    dependencies:
    +      '@babel/core': 7.24.5
    +      '@babel/helper-plugin-utils': 7.24.5
    +
    +  '@babel/plugin-transform-typescript@7.24.4(@babel/core@7.24.5)':
    +    dependencies:
    +      '@babel/core': 7.24.5
    +      '@babel/helper-annotate-as-pure': 7.22.5
    +      '@babel/helper-create-class-features-plugin': 7.24.5(@babel/core@7.24.5)
    +      '@babel/helper-plugin-utils': 7.24.5
    +      '@babel/plugin-syntax-typescript': 7.24.1(@babel/core@7.24.5)
    +
    +  '@babel/plugin-transform-unicode-escapes@7.24.1(@babel/core@7.24.4)':
    +    dependencies:
    +      '@babel/core': 7.24.4
    +      '@babel/helper-plugin-utils': 7.24.5
    +
    +  '@babel/plugin-transform-unicode-escapes@7.24.1(@babel/core@7.24.5)':
    +    dependencies:
    +      '@babel/core': 7.24.5
    +      '@babel/helper-plugin-utils': 7.24.5
    +
    +  '@babel/plugin-transform-unicode-property-regex@7.24.1(@babel/core@7.24.4)':
    +    dependencies:
    +      '@babel/core': 7.24.4
    +      '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.24.4)
    +      '@babel/helper-plugin-utils': 7.24.5
    +
    +  '@babel/plugin-transform-unicode-property-regex@7.24.1(@babel/core@7.24.5)':
    +    dependencies:
    +      '@babel/core': 7.24.5
    +      '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.24.5)
    +      '@babel/helper-plugin-utils': 7.24.5
    +
    +  '@babel/plugin-transform-unicode-regex@7.24.1(@babel/core@7.24.4)':
    +    dependencies:
    +      '@babel/core': 7.24.4
    +      '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.24.4)
    +      '@babel/helper-plugin-utils': 7.24.5
    +
    +  '@babel/plugin-transform-unicode-regex@7.24.1(@babel/core@7.24.5)':
    +    dependencies:
    +      '@babel/core': 7.24.5
    +      '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.24.5)
    +      '@babel/helper-plugin-utils': 7.24.5
    +
    +  '@babel/plugin-transform-unicode-sets-regex@7.24.1(@babel/core@7.24.4)':
    +    dependencies:
    +      '@babel/core': 7.24.4
    +      '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.24.4)
    +      '@babel/helper-plugin-utils': 7.24.5
    +
    +  '@babel/plugin-transform-unicode-sets-regex@7.24.1(@babel/core@7.24.5)':
    +    dependencies:
    +      '@babel/core': 7.24.5
    +      '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.24.5)
    +      '@babel/helper-plugin-utils': 7.24.5
    +
    +  '@babel/preset-env@7.24.5(@babel/core@7.24.4)':
    +    dependencies:
    +      '@babel/compat-data': 7.24.4
    +      '@babel/core': 7.24.4
    +      '@babel/helper-compilation-targets': 7.23.6
    +      '@babel/helper-plugin-utils': 7.24.5
    +      '@babel/helper-validator-option': 7.23.5
    +      '@babel/plugin-bugfix-firefox-class-in-computed-class-key': 7.24.5(@babel/core@7.24.4)
    +      '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression': 7.24.1(@babel/core@7.24.4)
    +      '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.24.1(@babel/core@7.24.4)
    +      '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly': 7.24.1(@babel/core@7.24.4)
    +      '@babel/plugin-proposal-private-property-in-object': 7.21.0-placeholder-for-preset-env.2(@babel/core@7.24.4)
    +      '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.24.4)
    +      '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.24.4)
    +      '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.24.4)
    +      '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.24.4)
    +      '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.24.4)
    +      '@babel/plugin-syntax-import-assertions': 7.24.1(@babel/core@7.24.4)
    +      '@babel/plugin-syntax-import-attributes': 7.24.1(@babel/core@7.24.4)
    +      '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.24.4)
    +      '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.24.4)
    +      '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.24.4)
    +      '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.24.4)
    +      '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.24.4)
    +      '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.24.4)
    +      '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.24.4)
    +      '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.24.4)
    +      '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.24.4)
    +      '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.24.4)
    +      '@babel/plugin-syntax-unicode-sets-regex': 7.18.6(@babel/core@7.24.4)
    +      '@babel/plugin-transform-arrow-functions': 7.24.1(@babel/core@7.24.4)
    +      '@babel/plugin-transform-async-generator-functions': 7.24.3(@babel/core@7.24.4)
    +      '@babel/plugin-transform-async-to-generator': 7.24.1(@babel/core@7.24.4)
    +      '@babel/plugin-transform-block-scoped-functions': 7.24.1(@babel/core@7.24.4)
    +      '@babel/plugin-transform-block-scoping': 7.24.5(@babel/core@7.24.4)
    +      '@babel/plugin-transform-class-properties': 7.24.1(@babel/core@7.24.4)
    +      '@babel/plugin-transform-class-static-block': 7.24.4(@babel/core@7.24.4)
    +      '@babel/plugin-transform-classes': 7.24.5(@babel/core@7.24.4)
    +      '@babel/plugin-transform-computed-properties': 7.24.1(@babel/core@7.24.4)
    +      '@babel/plugin-transform-destructuring': 7.24.5(@babel/core@7.24.4)
    +      '@babel/plugin-transform-dotall-regex': 7.24.1(@babel/core@7.24.4)
    +      '@babel/plugin-transform-duplicate-keys': 7.24.1(@babel/core@7.24.4)
    +      '@babel/plugin-transform-dynamic-import': 7.24.1(@babel/core@7.24.4)
    +      '@babel/plugin-transform-exponentiation-operator': 7.24.1(@babel/core@7.24.4)
    +      '@babel/plugin-transform-export-namespace-from': 7.24.1(@babel/core@7.24.4)
    +      '@babel/plugin-transform-for-of': 7.24.1(@babel/core@7.24.4)
    +      '@babel/plugin-transform-function-name': 7.24.1(@babel/core@7.24.4)
    +      '@babel/plugin-transform-json-strings': 7.24.1(@babel/core@7.24.4)
    +      '@babel/plugin-transform-literals': 7.24.1(@babel/core@7.24.4)
    +      '@babel/plugin-transform-logical-assignment-operators': 7.24.1(@babel/core@7.24.4)
    +      '@babel/plugin-transform-member-expression-literals': 7.24.1(@babel/core@7.24.4)
    +      '@babel/plugin-transform-modules-amd': 7.24.1(@babel/core@7.24.4)
    +      '@babel/plugin-transform-modules-commonjs': 7.24.1(@babel/core@7.24.4)
    +      '@babel/plugin-transform-modules-systemjs': 7.24.1(@babel/core@7.24.4)
    +      '@babel/plugin-transform-modules-umd': 7.24.1(@babel/core@7.24.4)
    +      '@babel/plugin-transform-named-capturing-groups-regex': 7.22.5(@babel/core@7.24.4)
    +      '@babel/plugin-transform-new-target': 7.24.1(@babel/core@7.24.4)
    +      '@babel/plugin-transform-nullish-coalescing-operator': 7.24.1(@babel/core@7.24.4)
    +      '@babel/plugin-transform-numeric-separator': 7.24.1(@babel/core@7.24.4)
    +      '@babel/plugin-transform-object-rest-spread': 7.24.5(@babel/core@7.24.4)
    +      '@babel/plugin-transform-object-super': 7.24.1(@babel/core@7.24.4)
    +      '@babel/plugin-transform-optional-catch-binding': 7.24.1(@babel/core@7.24.4)
    +      '@babel/plugin-transform-optional-chaining': 7.24.5(@babel/core@7.24.4)
    +      '@babel/plugin-transform-parameters': 7.24.5(@babel/core@7.24.4)
    +      '@babel/plugin-transform-private-methods': 7.24.1(@babel/core@7.24.4)
    +      '@babel/plugin-transform-private-property-in-object': 7.24.5(@babel/core@7.24.4)
    +      '@babel/plugin-transform-property-literals': 7.24.1(@babel/core@7.24.4)
    +      '@babel/plugin-transform-regenerator': 7.24.1(@babel/core@7.24.4)
    +      '@babel/plugin-transform-reserved-words': 7.24.1(@babel/core@7.24.4)
    +      '@babel/plugin-transform-shorthand-properties': 7.24.1(@babel/core@7.24.4)
    +      '@babel/plugin-transform-spread': 7.24.1(@babel/core@7.24.4)
    +      '@babel/plugin-transform-sticky-regex': 7.24.1(@babel/core@7.24.4)
    +      '@babel/plugin-transform-template-literals': 7.24.1(@babel/core@7.24.4)
    +      '@babel/plugin-transform-typeof-symbol': 7.24.5(@babel/core@7.24.4)
    +      '@babel/plugin-transform-unicode-escapes': 7.24.1(@babel/core@7.24.4)
    +      '@babel/plugin-transform-unicode-property-regex': 7.24.1(@babel/core@7.24.4)
    +      '@babel/plugin-transform-unicode-regex': 7.24.1(@babel/core@7.24.4)
    +      '@babel/plugin-transform-unicode-sets-regex': 7.24.1(@babel/core@7.24.4)
    +      '@babel/preset-modules': 0.1.6-no-external-plugins(@babel/core@7.24.4)
    +      babel-plugin-polyfill-corejs2: 0.4.11(@babel/core@7.24.4)
    +      babel-plugin-polyfill-corejs3: 0.10.4(@babel/core@7.24.4)
    +      babel-plugin-polyfill-regenerator: 0.6.2(@babel/core@7.24.4)
    +      core-js-compat: 3.37.0
    +      semver: 6.3.1
    +    transitivePeerDependencies:
    +      - supports-color
    +
    +  '@babel/preset-env@7.24.5(@babel/core@7.24.5)':
    +    dependencies:
    +      '@babel/compat-data': 7.24.4
    +      '@babel/core': 7.24.5
    +      '@babel/helper-compilation-targets': 7.23.6
    +      '@babel/helper-plugin-utils': 7.24.5
    +      '@babel/helper-validator-option': 7.23.5
    +      '@babel/plugin-bugfix-firefox-class-in-computed-class-key': 7.24.5(@babel/core@7.24.5)
    +      '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression': 7.24.1(@babel/core@7.24.5)
    +      '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.24.1(@babel/core@7.24.5)
    +      '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly': 7.24.1(@babel/core@7.24.5)
    +      '@babel/plugin-proposal-private-property-in-object': 7.21.0-placeholder-for-preset-env.2(@babel/core@7.24.5)
    +      '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.24.5)
    +      '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.24.5)
    +      '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.24.5)
    +      '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.24.5)
    +      '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.24.5)
    +      '@babel/plugin-syntax-import-assertions': 7.24.1(@babel/core@7.24.5)
    +      '@babel/plugin-syntax-import-attributes': 7.24.1(@babel/core@7.24.5)
    +      '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.24.5)
    +      '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.24.5)
    +      '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.24.5)
    +      '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.24.5)
    +      '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.24.5)
    +      '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.24.5)
    +      '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.24.5)
    +      '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.24.5)
    +      '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.24.5)
    +      '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.24.5)
    +      '@babel/plugin-syntax-unicode-sets-regex': 7.18.6(@babel/core@7.24.5)
    +      '@babel/plugin-transform-arrow-functions': 7.24.1(@babel/core@7.24.5)
    +      '@babel/plugin-transform-async-generator-functions': 7.24.3(@babel/core@7.24.5)
    +      '@babel/plugin-transform-async-to-generator': 7.24.1(@babel/core@7.24.5)
    +      '@babel/plugin-transform-block-scoped-functions': 7.24.1(@babel/core@7.24.5)
    +      '@babel/plugin-transform-block-scoping': 7.24.5(@babel/core@7.24.5)
    +      '@babel/plugin-transform-class-properties': 7.24.1(@babel/core@7.24.5)
    +      '@babel/plugin-transform-class-static-block': 7.24.4(@babel/core@7.24.5)
    +      '@babel/plugin-transform-classes': 7.24.5(@babel/core@7.24.5)
    +      '@babel/plugin-transform-computed-properties': 7.24.1(@babel/core@7.24.5)
    +      '@babel/plugin-transform-destructuring': 7.24.5(@babel/core@7.24.5)
    +      '@babel/plugin-transform-dotall-regex': 7.24.1(@babel/core@7.24.5)
    +      '@babel/plugin-transform-duplicate-keys': 7.24.1(@babel/core@7.24.5)
    +      '@babel/plugin-transform-dynamic-import': 7.24.1(@babel/core@7.24.5)
    +      '@babel/plugin-transform-exponentiation-operator': 7.24.1(@babel/core@7.24.5)
    +      '@babel/plugin-transform-export-namespace-from': 7.24.1(@babel/core@7.24.5)
    +      '@babel/plugin-transform-for-of': 7.24.1(@babel/core@7.24.5)
    +      '@babel/plugin-transform-function-name': 7.24.1(@babel/core@7.24.5)
    +      '@babel/plugin-transform-json-strings': 7.24.1(@babel/core@7.24.5)
    +      '@babel/plugin-transform-literals': 7.24.1(@babel/core@7.24.5)
    +      '@babel/plugin-transform-logical-assignment-operators': 7.24.1(@babel/core@7.24.5)
    +      '@babel/plugin-transform-member-expression-literals': 7.24.1(@babel/core@7.24.5)
    +      '@babel/plugin-transform-modules-amd': 7.24.1(@babel/core@7.24.5)
    +      '@babel/plugin-transform-modules-commonjs': 7.24.1(@babel/core@7.24.5)
    +      '@babel/plugin-transform-modules-systemjs': 7.24.1(@babel/core@7.24.5)
    +      '@babel/plugin-transform-modules-umd': 7.24.1(@babel/core@7.24.5)
    +      '@babel/plugin-transform-named-capturing-groups-regex': 7.22.5(@babel/core@7.24.5)
    +      '@babel/plugin-transform-new-target': 7.24.1(@babel/core@7.24.5)
    +      '@babel/plugin-transform-nullish-coalescing-operator': 7.24.1(@babel/core@7.24.5)
    +      '@babel/plugin-transform-numeric-separator': 7.24.1(@babel/core@7.24.5)
    +      '@babel/plugin-transform-object-rest-spread': 7.24.5(@babel/core@7.24.5)
    +      '@babel/plugin-transform-object-super': 7.24.1(@babel/core@7.24.5)
    +      '@babel/plugin-transform-optional-catch-binding': 7.24.1(@babel/core@7.24.5)
    +      '@babel/plugin-transform-optional-chaining': 7.24.5(@babel/core@7.24.5)
    +      '@babel/plugin-transform-parameters': 7.24.5(@babel/core@7.24.5)
    +      '@babel/plugin-transform-private-methods': 7.24.1(@babel/core@7.24.5)
    +      '@babel/plugin-transform-private-property-in-object': 7.24.5(@babel/core@7.24.5)
    +      '@babel/plugin-transform-property-literals': 7.24.1(@babel/core@7.24.5)
    +      '@babel/plugin-transform-regenerator': 7.24.1(@babel/core@7.24.5)
    +      '@babel/plugin-transform-reserved-words': 7.24.1(@babel/core@7.24.5)
    +      '@babel/plugin-transform-shorthand-properties': 7.24.1(@babel/core@7.24.5)
    +      '@babel/plugin-transform-spread': 7.24.1(@babel/core@7.24.5)
    +      '@babel/plugin-transform-sticky-regex': 7.24.1(@babel/core@7.24.5)
    +      '@babel/plugin-transform-template-literals': 7.24.1(@babel/core@7.24.5)
    +      '@babel/plugin-transform-typeof-symbol': 7.24.5(@babel/core@7.24.5)
    +      '@babel/plugin-transform-unicode-escapes': 7.24.1(@babel/core@7.24.5)
    +      '@babel/plugin-transform-unicode-property-regex': 7.24.1(@babel/core@7.24.5)
    +      '@babel/plugin-transform-unicode-regex': 7.24.1(@babel/core@7.24.5)
    +      '@babel/plugin-transform-unicode-sets-regex': 7.24.1(@babel/core@7.24.5)
    +      '@babel/preset-modules': 0.1.6-no-external-plugins(@babel/core@7.24.5)
    +      babel-plugin-polyfill-corejs2: 0.4.11(@babel/core@7.24.5)
    +      babel-plugin-polyfill-corejs3: 0.10.4(@babel/core@7.24.5)
    +      babel-plugin-polyfill-regenerator: 0.6.2(@babel/core@7.24.5)
    +      core-js-compat: 3.37.0
    +      semver: 6.3.1
    +    transitivePeerDependencies:
    +      - supports-color
    +
    +  '@babel/preset-modules@0.1.6-no-external-plugins(@babel/core@7.24.4)':
    +    dependencies:
    +      '@babel/core': 7.24.4
    +      '@babel/helper-plugin-utils': 7.24.5
    +      '@babel/types': 7.24.5
    +      esutils: 2.0.3
    +
    +  '@babel/preset-modules@0.1.6-no-external-plugins(@babel/core@7.24.5)':
    +    dependencies:
    +      '@babel/core': 7.24.5
    +      '@babel/helper-plugin-utils': 7.24.5
    +      '@babel/types': 7.24.5
    +      esutils: 2.0.3
    +
    +  '@babel/preset-typescript@7.24.1(@babel/core@7.24.5)':
    +    dependencies:
    +      '@babel/core': 7.24.5
    +      '@babel/helper-plugin-utils': 7.24.5
    +      '@babel/helper-validator-option': 7.23.5
    +      '@babel/plugin-syntax-jsx': 7.24.1(@babel/core@7.24.5)
    +      '@babel/plugin-transform-modules-commonjs': 7.24.1(@babel/core@7.24.5)
    +      '@babel/plugin-transform-typescript': 7.24.4(@babel/core@7.24.5)
    +
    +  '@babel/regjsgen@0.8.0': {}
    +
    +  '@babel/runtime@7.24.0':
    +    dependencies:
    +      regenerator-runtime: 0.14.1
    +
    +  '@babel/runtime@7.24.4':
    +    dependencies:
    +      regenerator-runtime: 0.14.1
    +
    +  '@babel/runtime@7.24.5':
    +    dependencies:
    +      regenerator-runtime: 0.14.1
    +
    +  '@babel/template@7.24.0':
    +    dependencies:
    +      '@babel/code-frame': 7.24.2
    +      '@babel/parser': 7.24.5
    +      '@babel/types': 7.24.5
    +
    +  '@babel/traverse@7.24.5':
    +    dependencies:
    +      '@babel/code-frame': 7.24.2
    +      '@babel/generator': 7.24.5
    +      '@babel/helper-environment-visitor': 7.22.20
    +      '@babel/helper-function-name': 7.23.0
    +      '@babel/helper-hoist-variables': 7.22.5
    +      '@babel/helper-split-export-declaration': 7.24.5
    +      '@babel/parser': 7.24.5
    +      '@babel/types': 7.24.5
    +      debug: 4.3.4(supports-color@8.1.1)
    +      globals: 11.12.0
    +    transitivePeerDependencies:
    +      - supports-color
    +
    +  '@babel/types@7.24.5':
    +    dependencies:
    +      '@babel/helper-string-parser': 7.24.1
    +      '@babel/helper-validator-identifier': 7.24.5
    +      to-fast-properties: 2.0.0
    +
    +  '@bcherny/json-schema-ref-parser@10.0.5-fork':
    +    dependencies:
    +      '@jsdevtools/ono': 7.1.3
    +      '@types/json-schema': 7.0.15
    +      call-me-maybe: 1.0.2
    +      js-yaml: 4.1.0
    +
    +  '@bcoe/v8-coverage@0.2.3': {}
    +
    +  '@braintree/sanitize-url@7.0.1': {}
    +
    +  '@chevrotain/cst-dts-gen@11.0.3':
    +    dependencies:
    +      '@chevrotain/gast': 11.0.3
    +      '@chevrotain/types': 11.0.3
    +      lodash-es: 4.17.21
    +
    +  '@chevrotain/gast@11.0.3':
    +    dependencies:
    +      '@chevrotain/types': 11.0.3
    +      lodash-es: 4.17.21
    +
    +  '@chevrotain/regexp-to-ast@11.0.3': {}
    +
    +  '@chevrotain/types@11.0.3': {}
    +
    +  '@chevrotain/utils@11.0.3': {}
    +
    +  '@colors/colors@1.5.0':
    +    optional: true
    +
    +  '@cspell/cspell-bundled-dicts@8.7.0':
    +    dependencies:
    +      '@cspell/dict-ada': 4.0.2
    +      '@cspell/dict-aws': 4.0.1
    +      '@cspell/dict-bash': 4.1.3
    +      '@cspell/dict-companies': 3.0.31
    +      '@cspell/dict-cpp': 5.1.3
    +      '@cspell/dict-cryptocurrencies': 5.0.0
    +      '@cspell/dict-csharp': 4.0.2
    +      '@cspell/dict-css': 4.0.12
    +      '@cspell/dict-dart': 2.0.3
    +      '@cspell/dict-django': 4.1.0
    +      '@cspell/dict-docker': 1.1.7
    +      '@cspell/dict-dotnet': 5.0.0
    +      '@cspell/dict-elixir': 4.0.3
    +      '@cspell/dict-en-common-misspellings': 2.0.0
    +      '@cspell/dict-en-gb': 1.1.33
    +      '@cspell/dict-en_us': 4.3.18
    +      '@cspell/dict-filetypes': 3.0.3
    +      '@cspell/dict-fonts': 4.0.0
    +      '@cspell/dict-fsharp': 1.0.1
    +      '@cspell/dict-fullstack': 3.1.5
    +      '@cspell/dict-gaming-terms': 1.0.5
    +      '@cspell/dict-git': 3.0.0
    +      '@cspell/dict-golang': 6.0.5
    +      '@cspell/dict-haskell': 4.0.1
    +      '@cspell/dict-html': 4.0.5
    +      '@cspell/dict-html-symbol-entities': 4.0.0
    +      '@cspell/dict-java': 5.0.6
    +      '@cspell/dict-julia': 1.0.1
    +      '@cspell/dict-k8s': 1.0.2
    +      '@cspell/dict-latex': 4.0.0
    +      '@cspell/dict-lorem-ipsum': 4.0.0
    +      '@cspell/dict-lua': 4.0.3
    +      '@cspell/dict-makefile': 1.0.0
    +      '@cspell/dict-monkeyc': 1.0.6
    +      '@cspell/dict-node': 4.0.3
    +      '@cspell/dict-npm': 5.0.15
    +      '@cspell/dict-php': 4.0.6
    +      '@cspell/dict-powershell': 5.0.3
    +      '@cspell/dict-public-licenses': 2.0.6
    +      '@cspell/dict-python': 4.1.11
    +      '@cspell/dict-r': 2.0.1
    +      '@cspell/dict-ruby': 5.0.2
    +      '@cspell/dict-rust': 4.0.2
    +      '@cspell/dict-scala': 5.0.0
    +      '@cspell/dict-software-terms': 3.3.18
    +      '@cspell/dict-sql': 2.1.3
    +      '@cspell/dict-svelte': 1.0.2
    +      '@cspell/dict-swift': 2.0.1
    +      '@cspell/dict-terraform': 1.0.0
    +      '@cspell/dict-typescript': 3.1.3
    +      '@cspell/dict-vue': 3.0.0
    +
    +  '@cspell/cspell-json-reporter@8.7.0':
    +    dependencies:
    +      '@cspell/cspell-types': 8.7.0
    +
    +  '@cspell/cspell-pipe@8.7.0': {}
    +
    +  '@cspell/cspell-resolver@8.7.0':
    +    dependencies:
    +      global-directory: 4.0.1
    +
    +  '@cspell/cspell-service-bus@8.7.0': {}
    +
    +  '@cspell/cspell-types@8.7.0': {}
    +
    +  '@cspell/dict-ada@4.0.2': {}
    +
    +  '@cspell/dict-aws@4.0.1': {}
    +
    +  '@cspell/dict-bash@4.1.3': {}
    +
    +  '@cspell/dict-companies@3.0.31': {}
    +
    +  '@cspell/dict-cpp@5.1.3': {}
    +
    +  '@cspell/dict-cryptocurrencies@5.0.0': {}
    +
    +  '@cspell/dict-csharp@4.0.2': {}
    +
    +  '@cspell/dict-css@4.0.12': {}
    +
    +  '@cspell/dict-dart@2.0.3': {}
    +
    +  '@cspell/dict-data-science@1.0.11': {}
    +
    +  '@cspell/dict-django@4.1.0': {}
    +
    +  '@cspell/dict-docker@1.1.7': {}
    +
    +  '@cspell/dict-dotnet@5.0.0': {}
    +
    +  '@cspell/dict-elixir@4.0.3': {}
    +
    +  '@cspell/dict-en-common-misspellings@2.0.0': {}
    +
    +  '@cspell/dict-en-gb@1.1.33': {}
    +
    +  '@cspell/dict-en_us@4.3.18': {}
    +
    +  '@cspell/dict-filetypes@3.0.3': {}
    +
    +  '@cspell/dict-fonts@4.0.0': {}
    +
    +  '@cspell/dict-fsharp@1.0.1': {}
    +
    +  '@cspell/dict-fullstack@3.1.5': {}
    +
    +  '@cspell/dict-gaming-terms@1.0.5': {}
    +
    +  '@cspell/dict-git@3.0.0': {}
    +
    +  '@cspell/dict-golang@6.0.5': {}
    +
    +  '@cspell/dict-haskell@4.0.1': {}
    +
    +  '@cspell/dict-html-symbol-entities@4.0.0': {}
    +
    +  '@cspell/dict-html@4.0.5': {}
    +
    +  '@cspell/dict-java@5.0.6': {}
    +
    +  '@cspell/dict-julia@1.0.1': {}
    +
    +  '@cspell/dict-k8s@1.0.2': {}
    +
    +  '@cspell/dict-latex@4.0.0': {}
    +
    +  '@cspell/dict-lorem-ipsum@4.0.0': {}
    +
    +  '@cspell/dict-lua@4.0.3': {}
    +
    +  '@cspell/dict-makefile@1.0.0': {}
    +
    +  '@cspell/dict-monkeyc@1.0.6': {}
    +
    +  '@cspell/dict-node@4.0.3': {}
    +
    +  '@cspell/dict-npm@5.0.15': {}
    +
    +  '@cspell/dict-php@4.0.6': {}
    +
    +  '@cspell/dict-powershell@5.0.3': {}
    +
    +  '@cspell/dict-public-licenses@2.0.6': {}
    +
    +  '@cspell/dict-python@4.1.11':
    +    dependencies:
    +      '@cspell/dict-data-science': 1.0.11
    +
    +  '@cspell/dict-r@2.0.1': {}
    +
    +  '@cspell/dict-ruby@5.0.2': {}
    +
    +  '@cspell/dict-rust@4.0.2': {}
    +
    +  '@cspell/dict-scala@5.0.0': {}
    +
    +  '@cspell/dict-software-terms@3.3.18': {}
    +
    +  '@cspell/dict-sql@2.1.3': {}
    +
    +  '@cspell/dict-svelte@1.0.2': {}
    +
    +  '@cspell/dict-swift@2.0.1': {}
    +
    +  '@cspell/dict-terraform@1.0.0': {}
    +
    +  '@cspell/dict-typescript@3.1.3': {}
    +
    +  '@cspell/dict-vue@3.0.0': {}
    +
    +  '@cspell/dynamic-import@8.7.0':
    +    dependencies:
    +      import-meta-resolve: 4.0.0
    +
    +  '@cspell/eslint-plugin@8.7.0(eslint@8.57.0)':
    +    dependencies:
    +      '@cspell/cspell-types': 8.7.0
    +      cspell-lib: 8.7.0
    +      eslint: 8.57.0
    +      estree-walker: 3.0.3
    +      synckit: 0.9.0
    +
    +  '@cspell/strong-weak-map@8.7.0': {}
    +
    +  '@cypress/code-coverage@3.12.38(@babel/core@7.24.4)(@babel/preset-env@7.24.5(@babel/core@7.24.4))(babel-loader@9.1.3(@babel/core@7.24.4)(webpack@5.91.0(esbuild@0.20.2)))(cypress@13.7.3)(webpack@5.91.0(esbuild@0.20.2))':
    +    dependencies:
    +      '@babel/core': 7.24.4
    +      '@babel/preset-env': 7.24.5(@babel/core@7.24.4)
    +      '@cypress/webpack-preprocessor': 6.0.1(@babel/core@7.24.4)(@babel/preset-env@7.24.5(@babel/core@7.24.4))(babel-loader@9.1.3(@babel/core@7.24.4)(webpack@5.91.0(esbuild@0.20.2)))(webpack@5.91.0(esbuild@0.20.2))
    +      babel-loader: 9.1.3(@babel/core@7.24.4)(webpack@5.91.0(esbuild@0.20.2))
    +      chalk: 4.1.2
    +      cypress: 13.7.3
    +      dayjs: 1.11.10
    +      debug: 4.3.4(supports-color@8.1.1)
    +      execa: 4.1.0
    +      globby: 11.1.0
    +      istanbul-lib-coverage: 3.2.2
    +      js-yaml: 4.1.0
    +      nyc: 15.1.0
    +      webpack: 5.91.0(esbuild@0.20.2)
    +    transitivePeerDependencies:
    +      - supports-color
    +
    +  '@cypress/request@3.0.1':
    +    dependencies:
    +      aws-sign2: 0.7.0
    +      aws4: 1.12.0
    +      caseless: 0.12.0
    +      combined-stream: 1.0.8
    +      extend: 3.0.2
    +      forever-agent: 0.6.1
    +      form-data: 2.3.3
    +      http-signature: 1.3.6
    +      is-typedarray: 1.0.0
    +      isstream: 0.1.2
    +      json-stringify-safe: 5.0.1
    +      mime-types: 2.1.35
    +      performance-now: 2.1.0
    +      qs: 6.10.4
    +      safe-buffer: 5.2.1
    +      tough-cookie: 4.1.3
    +      tunnel-agent: 0.6.0
    +      uuid: 8.3.2
    +
    +  '@cypress/webpack-preprocessor@6.0.1(@babel/core@7.24.4)(@babel/preset-env@7.24.5(@babel/core@7.24.4))(babel-loader@9.1.3(@babel/core@7.24.4)(webpack@5.91.0(esbuild@0.20.2)))(webpack@5.91.0(esbuild@0.20.2))':
    +    dependencies:
    +      '@babel/core': 7.24.4
    +      '@babel/preset-env': 7.24.5(@babel/core@7.24.4)
    +      babel-loader: 9.1.3(@babel/core@7.24.4)(webpack@5.91.0(esbuild@0.20.2))
    +      bluebird: 3.7.1
    +      debug: 4.3.4(supports-color@8.1.1)
    +      lodash: 4.17.21
    +      webpack: 5.91.0(esbuild@0.20.2)
    +    transitivePeerDependencies:
    +      - supports-color
    +
    +  '@cypress/xvfb@1.2.4(supports-color@8.1.1)':
    +    dependencies:
    +      debug: 3.2.7(supports-color@8.1.1)
    +      lodash.once: 4.1.1
    +    transitivePeerDependencies:
    +      - supports-color
    +
    +  '@discoveryjs/json-ext@0.5.7': {}
    +
    +  '@docsearch/css@3.6.0': {}
    +
    +  '@docsearch/js@3.6.0(@algolia/client-search@4.23.3)(search-insights@2.13.0)':
    +    dependencies:
    +      '@docsearch/react': 3.6.0(@algolia/client-search@4.23.3)(search-insights@2.13.0)
    +      preact: 10.21.0
    +    transitivePeerDependencies:
    +      - '@algolia/client-search'
    +      - '@types/react'
    +      - react
    +      - react-dom
    +      - search-insights
    +
    +  '@docsearch/react@3.6.0(@algolia/client-search@4.23.3)(search-insights@2.13.0)':
    +    dependencies:
    +      '@algolia/autocomplete-core': 1.9.3(@algolia/client-search@4.23.3)(algoliasearch@4.23.3)(search-insights@2.13.0)
    +      '@algolia/autocomplete-preset-algolia': 1.9.3(@algolia/client-search@4.23.3)(algoliasearch@4.23.3)
    +      '@docsearch/css': 3.6.0
    +      algoliasearch: 4.23.3
    +    optionalDependencies:
    +      search-insights: 2.13.0
    +    transitivePeerDependencies:
    +      - '@algolia/client-search'
    +
    +  '@es-joy/jsdoccomment@0.42.0':
    +    dependencies:
    +      comment-parser: 1.4.1
    +      esquery: 1.5.0
    +      jsdoc-type-pratt-parser: 4.0.0
    +
    +  '@esbuild/aix-ppc64@0.19.12':
    +    optional: true
    +
    +  '@esbuild/aix-ppc64@0.20.2':
    +    optional: true
    +
    +  '@esbuild/android-arm64@0.19.12':
    +    optional: true
    +
    +  '@esbuild/android-arm64@0.20.2':
    +    optional: true
    +
    +  '@esbuild/android-arm@0.19.12':
    +    optional: true
    +
    +  '@esbuild/android-arm@0.20.2':
    +    optional: true
    +
    +  '@esbuild/android-x64@0.19.12':
    +    optional: true
    +
    +  '@esbuild/android-x64@0.20.2':
    +    optional: true
    +
    +  '@esbuild/darwin-arm64@0.19.12':
    +    optional: true
    +
    +  '@esbuild/darwin-arm64@0.20.2':
    +    optional: true
    +
    +  '@esbuild/darwin-x64@0.19.12':
    +    optional: true
    +
    +  '@esbuild/darwin-x64@0.20.2':
    +    optional: true
    +
    +  '@esbuild/freebsd-arm64@0.19.12':
    +    optional: true
    +
    +  '@esbuild/freebsd-arm64@0.20.2':
    +    optional: true
    +
    +  '@esbuild/freebsd-x64@0.19.12':
    +    optional: true
    +
    +  '@esbuild/freebsd-x64@0.20.2':
    +    optional: true
    +
    +  '@esbuild/linux-arm64@0.19.12':
    +    optional: true
    +
    +  '@esbuild/linux-arm64@0.20.2':
    +    optional: true
    +
    +  '@esbuild/linux-arm@0.19.12':
    +    optional: true
    +
    +  '@esbuild/linux-arm@0.20.2':
    +    optional: true
    +
    +  '@esbuild/linux-ia32@0.19.12':
    +    optional: true
    +
    +  '@esbuild/linux-ia32@0.20.2':
    +    optional: true
    +
    +  '@esbuild/linux-loong64@0.19.12':
    +    optional: true
    +
    +  '@esbuild/linux-loong64@0.20.2':
    +    optional: true
    +
    +  '@esbuild/linux-mips64el@0.19.12':
    +    optional: true
    +
    +  '@esbuild/linux-mips64el@0.20.2':
    +    optional: true
    +
    +  '@esbuild/linux-ppc64@0.19.12':
    +    optional: true
    +
    +  '@esbuild/linux-ppc64@0.20.2':
    +    optional: true
    +
    +  '@esbuild/linux-riscv64@0.19.12':
    +    optional: true
    +
    +  '@esbuild/linux-riscv64@0.20.2':
    +    optional: true
    +
    +  '@esbuild/linux-s390x@0.19.12':
    +    optional: true
    +
    +  '@esbuild/linux-s390x@0.20.2':
    +    optional: true
    +
    +  '@esbuild/linux-x64@0.19.12':
    +    optional: true
    +
    +  '@esbuild/linux-x64@0.20.2':
    +    optional: true
    +
    +  '@esbuild/netbsd-x64@0.19.12':
    +    optional: true
    +
    +  '@esbuild/netbsd-x64@0.20.2':
    +    optional: true
    +
    +  '@esbuild/openbsd-x64@0.19.12':
    +    optional: true
    +
    +  '@esbuild/openbsd-x64@0.20.2':
    +    optional: true
    +
    +  '@esbuild/sunos-x64@0.19.12':
    +    optional: true
    +
    +  '@esbuild/sunos-x64@0.20.2':
    +    optional: true
    +
    +  '@esbuild/win32-arm64@0.19.12':
    +    optional: true
    +
    +  '@esbuild/win32-arm64@0.20.2':
    +    optional: true
    +
    +  '@esbuild/win32-ia32@0.19.12':
    +    optional: true
    +
    +  '@esbuild/win32-ia32@0.20.2':
    +    optional: true
    +
    +  '@esbuild/win32-x64@0.19.12':
    +    optional: true
    +
    +  '@esbuild/win32-x64@0.20.2':
    +    optional: true
    +
    +  '@eslint-community/eslint-utils@4.4.0(eslint@8.57.0)':
    +    dependencies:
    +      eslint: 8.57.0
    +      eslint-visitor-keys: 3.4.3
    +
    +  '@eslint-community/regexpp@4.10.0': {}
    +
    +  '@eslint/eslintrc@2.1.4':
    +    dependencies:
    +      ajv: 6.12.6
    +      debug: 4.3.4(supports-color@8.1.1)
    +      espree: 9.6.1
    +      globals: 13.24.0
    +      ignore: 5.3.1
    +      import-fresh: 3.3.0
    +      js-yaml: 4.1.0
    +      minimatch: 3.1.2
    +      strip-json-comments: 3.1.1
    +    transitivePeerDependencies:
    +      - supports-color
    +
    +  '@eslint/js@8.57.0': {}
    +
    +  '@fastify/ajv-compiler@1.1.0':
    +    dependencies:
    +      ajv: 6.12.6
    +
    +  '@fastify/error@2.0.0': {}
    +
    +  '@floating-ui/core@1.6.0':
    +    dependencies:
    +      '@floating-ui/utils': 0.2.1
    +
    +  '@floating-ui/dom@1.6.3':
    +    dependencies:
    +      '@floating-ui/core': 1.6.0
    +      '@floating-ui/utils': 0.2.1
    +
    +  '@floating-ui/utils@0.2.1': {}
    +
    +  '@floating-ui/vue@0.2.1(vue@3.4.21(typescript@5.4.5))':
    +    dependencies:
    +      '@floating-ui/dom': 1.6.3
    +      vue: 3.4.21(typescript@5.4.5)
    +      vue-demi: 0.13.11(vue@3.4.21(typescript@5.4.5))
    +
    +  '@hapi/hoek@9.3.0': {}
    +
    +  '@hapi/topo@5.1.0':
    +    dependencies:
    +      '@hapi/hoek': 9.3.0
    +
    +  '@headlessui-float/vue@0.11.4(vue@3.4.21(typescript@5.4.5))':
    +    dependencies:
    +      '@floating-ui/core': 1.6.0
    +      '@floating-ui/dom': 1.6.3
    +      '@floating-ui/vue': 0.2.1(vue@3.4.21(typescript@5.4.5))
    +      vue: 3.4.21(typescript@5.4.5)
    +    transitivePeerDependencies:
    +      - '@vue/composition-api'
    +
    +  '@headlessui/tailwindcss@0.2.0(tailwindcss@3.4.3)':
    +    dependencies:
    +      tailwindcss: 3.4.3
    +
    +  '@headlessui/vue@1.7.19(vue@3.4.21(typescript@5.4.5))':
    +    dependencies:
    +      '@tanstack/vue-virtual': 3.2.1(vue@3.4.21(typescript@5.4.5))
    +      vue: 3.4.21(typescript@5.4.5)
    +
    +  '@humanwhocodes/config-array@0.11.14':
    +    dependencies:
    +      '@humanwhocodes/object-schema': 2.0.2
    +      debug: 4.3.4(supports-color@8.1.1)
    +      minimatch: 3.1.2
    +    transitivePeerDependencies:
    +      - supports-color
    +
    +  '@humanwhocodes/module-importer@1.0.1': {}
    +
    +  '@humanwhocodes/object-schema@2.0.2': {}
     
    -  /@iconify-json/carbon@1.1.33:
    -    resolution: {integrity: sha512-TsjyOqhqMhIEdUnteGPMoKvbY1SIsM8A4sASHIg+YiKoDGWqlwD/g4pLXoAoVj3NL3E1hRxoTIY1oqpndXIxvg==}
    +  '@iconify-json/carbon@1.1.32':
         dependencies:
           '@iconify/types': 2.0.0
    -    dev: true
     
    -  /@iconify/types@2.0.0:
    -    resolution: {integrity: sha512-+wluvCrRhXrhyOmRDJ3q8mux9JkKy5SJ/v8ol2tu4FVjyYvtEzkc/3pK15ET6RKg4b4w4BmTk1+gsCUhf21Ykg==}
    -    dev: true
    +  '@iconify/types@2.0.0': {}
     
    -  /@iconify/utils@2.1.23:
    -    resolution: {integrity: sha512-YGNbHKM5tyDvdWZ92y2mIkrfvm5Fvhe6WJSkWu7vvOFhMtYDP0casZpoRz0XEHZCrYsR4stdGT3cZ52yp5qZdQ==}
    +  '@iconify/utils@2.1.23':
         dependencies:
           '@antfu/install-pkg': 0.1.1
           '@antfu/utils': 0.7.7
    @@ -3464,69 +10933,50 @@ packages:
           mlly: 1.6.1
         transitivePeerDependencies:
           - supports-color
    -    dev: true
     
    -  /@isaacs/cliui@8.0.2:
    -    resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==}
    -    engines: {node: '>=12'}
    +  '@isaacs/cliui@8.0.2':
         dependencies:
           string-width: 5.1.2
    -      string-width-cjs: /string-width@4.2.3
    +      string-width-cjs: string-width@4.2.3
           strip-ansi: 7.1.0
    -      strip-ansi-cjs: /strip-ansi@6.0.1
    +      strip-ansi-cjs: strip-ansi@6.0.1
           wrap-ansi: 8.1.0
    -      wrap-ansi-cjs: /wrap-ansi@7.0.0
    +      wrap-ansi-cjs: wrap-ansi@7.0.0
     
    -  /@istanbuljs/load-nyc-config@1.1.0:
    -    resolution: {integrity: sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==}
    -    engines: {node: '>=8'}
    +  '@istanbuljs/load-nyc-config@1.1.0':
         dependencies:
           camelcase: 5.3.1
           find-up: 4.1.0
           get-package-type: 0.1.0
           js-yaml: 3.14.1
           resolve-from: 5.0.0
    -    dev: true
     
    -  /@istanbuljs/schema@0.1.3:
    -    resolution: {integrity: sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==}
    -    engines: {node: '>=8'}
    -    dev: true
    +  '@istanbuljs/schema@0.1.3': {}
     
    -  /@jest/console@29.7.0:
    -    resolution: {integrity: sha512-5Ni4CU7XHQi32IJ398EEP4RrB8eV09sXP2ROqD4bksHrnTree52PsxvX8tpL8LvTZ3pFzXyPbNQReSN41CAhOg==}
    -    engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
    +  '@jest/console@29.7.0':
         dependencies:
           '@jest/types': 29.6.3
    -      '@types/node': 20.12.12
    +      '@types/node': 20.12.7
           chalk: 4.1.2
           jest-message-util: 29.7.0
           jest-util: 29.7.0
           slash: 3.0.0
    -    dev: true
     
    -  /@jest/core@29.7.0:
    -    resolution: {integrity: sha512-n7aeXWKMnGtDA48y8TLWJPJmLmmZ642Ceo78cYWEpiD7FzDgmNDV/GCVRorPABdXLJZ/9wzzgZAlHjXjxDHGsg==}
    -    engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
    -    peerDependencies:
    -      node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0
    -    peerDependenciesMeta:
    -      node-notifier:
    -        optional: true
    +  '@jest/core@29.7.0':
         dependencies:
           '@jest/console': 29.7.0
           '@jest/reporters': 29.7.0
           '@jest/test-result': 29.7.0
           '@jest/transform': 29.7.0
           '@jest/types': 29.6.3
    -      '@types/node': 20.12.12
    +      '@types/node': 20.12.7
           ansi-escapes: 4.3.2
           chalk: 4.1.2
           ci-info: 3.9.0
           exit: 0.1.2
           graceful-fs: 4.2.11
           jest-changed-files: 29.7.0
    -      jest-config: 29.7.0(@types/node@20.12.12)
    +      jest-config: 29.7.0(@types/node@20.12.7)
           jest-haste-map: 29.7.0
           jest-message-util: 29.7.0
           jest-regex-util: 29.6.3
    @@ -3546,50 +10996,35 @@ packages:
           - babel-plugin-macros
           - supports-color
           - ts-node
    -    dev: true
     
    -  /@jest/environment@29.7.0:
    -    resolution: {integrity: sha512-aQIfHDq33ExsN4jP1NWGXhxgQ/wixs60gDiKO+XVMd8Mn0NWPWgc34ZQDTb2jKaUWQ7MuwoitXAsN2XVXNMpAw==}
    -    engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
    +  '@jest/environment@29.7.0':
         dependencies:
           '@jest/fake-timers': 29.7.0
           '@jest/types': 29.6.3
    -      '@types/node': 20.12.12
    +      '@types/node': 20.12.7
           jest-mock: 29.7.0
    -    dev: true
     
    -  /@jest/expect-utils@29.7.0:
    -    resolution: {integrity: sha512-GlsNBWiFQFCVi9QVSx7f5AgMeLxe9YCCs5PuP2O2LdjDAA8Jh9eX7lA1Jq/xdXw3Wb3hyvlFNfZIfcRetSzYcA==}
    -    engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
    +  '@jest/expect-utils@29.7.0':
         dependencies:
           jest-get-type: 29.6.3
    -    dev: true
     
    -  /@jest/expect@29.7.0:
    -    resolution: {integrity: sha512-8uMeAMycttpva3P1lBHB8VciS9V0XAr3GymPpipdyQXbBcuhkLQOSe8E/p92RyAdToS6ZD1tFkX+CkhoECE0dQ==}
    -    engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
    +  '@jest/expect@29.7.0':
         dependencies:
           expect: 29.7.0
           jest-snapshot: 29.7.0
         transitivePeerDependencies:
           - supports-color
    -    dev: true
     
    -  /@jest/fake-timers@29.7.0:
    -    resolution: {integrity: sha512-q4DH1Ha4TTFPdxLsqDXK1d3+ioSL7yL5oCMJZgDYm6i+6CygW5E5xVr/D1HdsGxjt1ZWSfUAs9OxSB/BNelWrQ==}
    -    engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
    +  '@jest/fake-timers@29.7.0':
         dependencies:
           '@jest/types': 29.6.3
           '@sinonjs/fake-timers': 10.3.0
    -      '@types/node': 20.12.12
    +      '@types/node': 20.12.7
           jest-message-util: 29.7.0
           jest-mock: 29.7.0
           jest-util: 29.7.0
    -    dev: true
     
    -  /@jest/globals@29.7.0:
    -    resolution: {integrity: sha512-mpiz3dutLbkW2MNFubUGUEVLkTGiqW6yLVTA+JbP6fI6J5iL9Y0Nlg8k95pcF8ctKwCS7WVxteBs29hhfAotzQ==}
    -    engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
    +  '@jest/globals@29.7.0':
         dependencies:
           '@jest/environment': 29.7.0
           '@jest/expect': 29.7.0
    @@ -3597,16 +11032,8 @@ packages:
           jest-mock: 29.7.0
         transitivePeerDependencies:
           - supports-color
    -    dev: true
     
    -  /@jest/reporters@29.7.0:
    -    resolution: {integrity: sha512-DApq0KJbJOEzAFYjHADNNxAE3KbhxQB1y5Kplb5Waqw6zVbuWatSnMjE5gs8FUgEPmNsnZA3NCWl9NG0ia04Pg==}
    -    engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
    -    peerDependencies:
    -      node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0
    -    peerDependenciesMeta:
    -      node-notifier:
    -        optional: true
    +  '@jest/reporters@29.7.0':
         dependencies:
           '@bcoe/v8-coverage': 0.2.3
           '@jest/console': 29.7.0
    @@ -3614,7 +11041,7 @@ packages:
           '@jest/transform': 29.7.0
           '@jest/types': 29.6.3
           '@jridgewell/trace-mapping': 0.3.25
    -      '@types/node': 20.12.12
    +      '@types/node': 20.12.7
           chalk: 4.1.2
           collect-v8-coverage: 1.0.2
           exit: 0.1.2
    @@ -3634,47 +11061,32 @@ packages:
           v8-to-istanbul: 9.2.0
         transitivePeerDependencies:
           - supports-color
    -    dev: true
     
    -  /@jest/schemas@29.6.3:
    -    resolution: {integrity: sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==}
    -    engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
    +  '@jest/schemas@29.6.3':
         dependencies:
           '@sinclair/typebox': 0.27.8
    -    dev: true
     
    -  /@jest/source-map@29.6.3:
    -    resolution: {integrity: sha512-MHjT95QuipcPrpLM+8JMSzFx6eHp5Bm+4XeFDJlwsvVBjmKNiIAvasGK2fxz2WbGRlnvqehFbh07MMa7n3YJnw==}
    -    engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
    +  '@jest/source-map@29.6.3':
         dependencies:
           '@jridgewell/trace-mapping': 0.3.25
           callsites: 3.1.0
           graceful-fs: 4.2.11
    -    dev: true
     
    -  /@jest/test-result@29.7.0:
    -    resolution: {integrity: sha512-Fdx+tv6x1zlkJPcWXmMDAG2HBnaR9XPSd5aDWQVsfrZmLVT3lU1cwyxLgRmXR9yrq4NBoEm9BMsfgFzTQAbJYA==}
    -    engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
    +  '@jest/test-result@29.7.0':
         dependencies:
           '@jest/console': 29.7.0
           '@jest/types': 29.6.3
           '@types/istanbul-lib-coverage': 2.0.6
           collect-v8-coverage: 1.0.2
    -    dev: true
     
    -  /@jest/test-sequencer@29.7.0:
    -    resolution: {integrity: sha512-GQwJ5WZVrKnOJuiYiAF52UNUJXgTZx1NHjFSEB0qEMmSZKAkdMoIzw/Cj6x6NF4AvV23AUqDpFzQkN/eYCYTxw==}
    -    engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
    +  '@jest/test-sequencer@29.7.0':
         dependencies:
           '@jest/test-result': 29.7.0
           graceful-fs: 4.2.11
           jest-haste-map: 29.7.0
           slash: 3.0.0
    -    dev: true
     
    -  /@jest/transform@29.7.0:
    -    resolution: {integrity: sha512-ok/BTPFzFKVMwO5eOHRrvnBVHdRy9IrsrW1GpMaQ9MCnilNLXQKmAX8s1YXDFaai9xJpac2ySzV0YeRRECr2Vw==}
    -    engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
    +  '@jest/transform@29.7.0':
         dependencies:
           '@babel/core': 7.24.5
           '@jest/types': 29.6.3
    @@ -3693,135 +11105,82 @@ packages:
           write-file-atomic: 4.0.2
         transitivePeerDependencies:
           - supports-color
    -    dev: true
     
    -  /@jest/types@29.6.3:
    -    resolution: {integrity: sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==}
    -    engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
    +  '@jest/types@29.6.3':
         dependencies:
           '@jest/schemas': 29.6.3
           '@types/istanbul-lib-coverage': 2.0.6
           '@types/istanbul-reports': 3.0.4
    -      '@types/node': 20.12.12
    +      '@types/node': 20.12.7
           '@types/yargs': 17.0.32
           chalk: 4.1.2
    -    dev: true
     
    -  /@jridgewell/gen-mapping@0.3.5:
    -    resolution: {integrity: sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==}
    -    engines: {node: '>=6.0.0'}
    +  '@jridgewell/gen-mapping@0.3.5':
         dependencies:
           '@jridgewell/set-array': 1.2.1
           '@jridgewell/sourcemap-codec': 1.4.15
           '@jridgewell/trace-mapping': 0.3.25
     
    -  /@jridgewell/resolve-uri@3.1.2:
    -    resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==}
    -    engines: {node: '>=6.0.0'}
    +  '@jridgewell/resolve-uri@3.1.2': {}
     
    -  /@jridgewell/set-array@1.2.1:
    -    resolution: {integrity: sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==}
    -    engines: {node: '>=6.0.0'}
    +  '@jridgewell/set-array@1.2.1': {}
     
    -  /@jridgewell/source-map@0.3.6:
    -    resolution: {integrity: sha512-1ZJTZebgqllO79ue2bm3rIGud/bOe0pP5BjSRCRxxYkEZS8STV7zN84UBbiYu7jy+eCKSnVIUgoWWE/tt+shMQ==}
    +  '@jridgewell/source-map@0.3.6':
         dependencies:
           '@jridgewell/gen-mapping': 0.3.5
           '@jridgewell/trace-mapping': 0.3.25
    -    dev: true
     
    -  /@jridgewell/sourcemap-codec@1.4.15:
    -    resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==}
    +  '@jridgewell/sourcemap-codec@1.4.15': {}
     
    -  /@jridgewell/trace-mapping@0.3.25:
    -    resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==}
    +  '@jridgewell/trace-mapping@0.3.25':
         dependencies:
           '@jridgewell/resolve-uri': 3.1.2
           '@jridgewell/sourcemap-codec': 1.4.15
     
    -  /@jsdevtools/ono@7.1.3:
    -    resolution: {integrity: sha512-4JQNk+3mVzK3xh2rqd6RB4J46qUR19azEHBneZyTZM+c456qOrbbM/5xcR8huNCCcbVt7+UmizG6GuUvPvKUYg==}
    -    dev: true
    +  '@jsdevtools/ono@7.1.3': {}
     
    -  /@leichtgewicht/ip-codec@2.0.4:
    -    resolution: {integrity: sha512-Hcv+nVC0kZnQ3tD9GVu5xSMR4VVYOteQIr/hwFPVEvPdlXqgGEuRjiheChHgdM+JyqdgNcmzZOX/tnl0JOiI7A==}
    -    dev: true
    +  '@leichtgewicht/ip-codec@2.0.4': {}
     
    -  /@mdi/font@7.4.47:
    -    resolution: {integrity: sha512-43MtGpd585SNzHZPcYowu/84Vz2a2g31TvPMTm9uTiCSWzaheQySUcSyUH/46fPnuPQWof2yd0pGBtzee/IQWw==}
    -    dev: false
    +  '@mdi/font@7.4.47': {}
     
    -  /@microsoft/tsdoc-config@0.16.2:
    -    resolution: {integrity: sha512-OGiIzzoBLgWWR0UdRJX98oYO+XKGf7tiK4Zk6tQ/E4IJqGCe7dvkTvgDZV5cFJUzLGDOjeAXrnZoA6QkVySuxw==}
    +  '@microsoft/tsdoc-config@0.16.2':
         dependencies:
           '@microsoft/tsdoc': 0.14.2
           ajv: 6.12.6
           jju: 1.4.0
           resolve: 1.19.0
    -    dev: true
     
    -  /@microsoft/tsdoc@0.14.2:
    -    resolution: {integrity: sha512-9b8mPpKrfeGRuhFH5iO1iwCLeIIsV6+H1sRfxbkoGXIyQE2BTsPd9zqSqQJ+pv5sJ/hT5M1zvOFL02MnEezFug==}
    -    dev: true
    +  '@microsoft/tsdoc@0.14.2': {}
     
    -  /@nodelib/fs.scandir@2.1.5:
    -    resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==}
    -    engines: {node: '>= 8'}
    +  '@nodelib/fs.scandir@2.1.5':
         dependencies:
           '@nodelib/fs.stat': 2.0.5
           run-parallel: 1.2.0
     
    -  /@nodelib/fs.stat@2.0.5:
    -    resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==}
    -    engines: {node: '>= 8'}
    +  '@nodelib/fs.stat@2.0.5': {}
     
    -  /@nodelib/fs.walk@1.2.8:
    -    resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==}
    -    engines: {node: '>= 8'}
    +  '@nodelib/fs.walk@1.2.8':
         dependencies:
           '@nodelib/fs.scandir': 2.1.5
           fastq: 1.17.1
     
    -  /@pkgjs/parseargs@0.11.0:
    -    resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==}
    -    engines: {node: '>=14'}
    -    requiresBuild: true
    +  '@pkgjs/parseargs@0.11.0':
         optional: true
     
    -  /@pkgr/core@0.1.1:
    -    resolution: {integrity: sha512-cq8o4cWH0ibXh9VGi5P20Tu9XF/0fFXl9EUinr9QfTM7a7p0oTA4iJRCQWppXR1Pg8dSM0UCItCkPwsk9qWWYA==}
    -    engines: {node: ^12.20.0 || ^14.18.0 || >=16.0.0}
    -    dev: true
    +  '@pkgr/core@0.1.1': {}
     
    -  /@polka/url@1.0.0-next.25:
    -    resolution: {integrity: sha512-j7P6Rgr3mmtdkeDGTe0E/aYyWEWVtc5yFXtHCRHs28/jptDEWfaVOc5T7cblqy1XKPPfCxJc/8DwQ5YgLOZOVQ==}
    -    dev: true
    +  '@polka/url@1.0.0-next.25': {}
     
    -  /@rollup/plugin-babel@5.3.1(@babel/core@7.24.5)(rollup@2.79.1):
    -    resolution: {integrity: sha512-WFfdLWU/xVWKeRQnKmIAQULUI7Il0gZnBIH/ZFO069wYIfPu+8zrfp/KMW0atmELoRDq8FbiP3VCss9MhCut7Q==}
    -    engines: {node: '>= 10.0.0'}
    -    peerDependencies:
    -      '@babel/core': ^7.0.0
    -      '@types/babel__core': ^7.1.9
    -      rollup: ^1.20.0||^2.0.0
    -    peerDependenciesMeta:
    -      '@types/babel__core':
    -        optional: true
    +  '@rollup/plugin-babel@5.3.1(@babel/core@7.24.5)(@types/babel__core@7.20.5)(rollup@2.79.1)':
         dependencies:
           '@babel/core': 7.24.5
           '@babel/helper-module-imports': 7.24.3
           '@rollup/pluginutils': 3.1.0(rollup@2.79.1)
           rollup: 2.79.1
    -    dev: true
    +    optionalDependencies:
    +      '@types/babel__core': 7.20.5
     
    -  /@rollup/plugin-node-resolve@15.2.3(rollup@2.79.1):
    -    resolution: {integrity: sha512-j/lym8nf5E21LwBT4Df1VD6hRO2L2iwUeUmP7litikRsVp1H6NWx20NEp0Y7su+7XGc476GnXXc4kFeZNGmaSQ==}
    -    engines: {node: '>=14.0.0'}
    -    peerDependencies:
    -      rollup: ^2.78.0||^3.0.0||^4.0.0
    -    peerDependenciesMeta:
    -      rollup:
    -        optional: true
    +  '@rollup/plugin-node-resolve@15.2.3(rollup@2.79.1)':
         dependencies:
           '@rollup/pluginutils': 5.1.0(rollup@2.79.1)
           '@types/resolve': 1.20.2
    @@ -3829,535 +11188,302 @@ packages:
           is-builtin-module: 3.2.1
           is-module: 1.0.0
           resolve: 1.22.8
    +    optionalDependencies:
           rollup: 2.79.1
    -    dev: true
     
    -  /@rollup/plugin-replace@2.4.2(rollup@2.79.1):
    -    resolution: {integrity: sha512-IGcu+cydlUMZ5En85jxHH4qj2hta/11BHq95iHEyb2sbgiN0eCdzvUcHw5gt9pBL5lTi4JDYJ1acCoMGpTvEZg==}
    -    peerDependencies:
    -      rollup: ^1.20.0 || ^2.0.0
    +  '@rollup/plugin-replace@2.4.2(rollup@2.79.1)':
         dependencies:
           '@rollup/pluginutils': 3.1.0(rollup@2.79.1)
           magic-string: 0.25.9
           rollup: 2.79.1
    -    dev: true
     
    -  /@rollup/plugin-terser@0.4.4(rollup@2.79.1):
    -    resolution: {integrity: sha512-XHeJC5Bgvs8LfukDwWZp7yeqin6ns8RTl2B9avbejt6tZqsqvVoWI7ZTQrcNsfKEDWBTnTxM8nMDkO2IFFbd0A==}
    -    engines: {node: '>=14.0.0'}
    -    peerDependencies:
    -      rollup: ^2.0.0||^3.0.0||^4.0.0
    -    peerDependenciesMeta:
    -      rollup:
    -        optional: true
    +  '@rollup/plugin-terser@0.4.4(rollup@2.79.1)':
         dependencies:
    -      rollup: 2.79.1
           serialize-javascript: 6.0.2
           smob: 1.5.0
           terser: 5.31.0
    -    dev: true
    +    optionalDependencies:
    +      rollup: 2.79.1
     
    -  /@rollup/plugin-typescript@11.1.6(typescript@5.4.5):
    -    resolution: {integrity: sha512-R92yOmIACgYdJ7dJ97p4K69I8gg6IEHt8M7dUBxN3W6nrO8uUxX5ixl0yU/N3aZTi8WhPuICvOHXQvF6FaykAA==}
    -    engines: {node: '>=14.0.0'}
    -    peerDependencies:
    -      rollup: ^2.14.0||^3.0.0||^4.0.0
    -      tslib: '*'
    -      typescript: '>=3.7.0'
    -    peerDependenciesMeta:
    -      rollup:
    -        optional: true
    -      tslib:
    -        optional: true
    +  '@rollup/plugin-typescript@11.1.6(rollup@4.17.2)(tslib@2.6.2)(typescript@5.4.5)':
         dependencies:
    -      '@rollup/pluginutils': 5.1.0(rollup@2.79.1)
    +      '@rollup/pluginutils': 5.1.0(rollup@4.17.2)
           resolve: 1.22.8
           typescript: 5.4.5
    -    dev: true
    +    optionalDependencies:
    +      rollup: 4.17.2
    +      tslib: 2.6.2
     
    -  /@rollup/pluginutils@3.1.0(rollup@2.79.1):
    -    resolution: {integrity: sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg==}
    -    engines: {node: '>= 8.0.0'}
    -    peerDependencies:
    -      rollup: ^1.20.0||^2.0.0
    +  '@rollup/pluginutils@3.1.0(rollup@2.79.1)':
         dependencies:
           '@types/estree': 0.0.39
           estree-walker: 1.0.1
           picomatch: 2.3.1
           rollup: 2.79.1
    -    dev: true
     
    -  /@rollup/pluginutils@5.1.0(rollup@2.79.1):
    -    resolution: {integrity: sha512-XTIWOPPcpvyKI6L1NHo0lFlCyznUEyPmPY1mc3KpPVDYulHSTvyeLNVW00QTLIAFNhR3kYnJTQHeGqU4M3n09g==}
    -    engines: {node: '>=14.0.0'}
    -    peerDependencies:
    -      rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0
    -    peerDependenciesMeta:
    -      rollup:
    -        optional: true
    +  '@rollup/pluginutils@5.1.0(rollup@2.79.1)':
         dependencies:
           '@types/estree': 1.0.5
           estree-walker: 2.0.2
           picomatch: 2.3.1
    +    optionalDependencies:
           rollup: 2.79.1
    -    dev: true
     
    -  /@rollup/rollup-android-arm-eabi@4.17.2:
    -    resolution: {integrity: sha512-NM0jFxY8bB8QLkoKxIQeObCaDlJKewVlIEkuyYKm5An1tdVZ966w2+MPQ2l8LBZLjR+SgyV+nRkTIunzOYBMLQ==}
    -    cpu: [arm]
    -    os: [android]
    -    requiresBuild: true
    -    dev: true
    +  '@rollup/pluginutils@5.1.0(rollup@4.17.2)':
    +    dependencies:
    +      '@types/estree': 1.0.5
    +      estree-walker: 2.0.2
    +      picomatch: 2.3.1
    +    optionalDependencies:
    +      rollup: 4.17.2
    +
    +  '@rollup/rollup-android-arm-eabi@4.17.2':
         optional: true
     
    -  /@rollup/rollup-android-arm64@4.17.2:
    -    resolution: {integrity: sha512-yeX/Usk7daNIVwkq2uGoq2BYJKZY1JfyLTaHO/jaiSwi/lsf8fTFoQW/n6IdAsx5tx+iotu2zCJwz8MxI6D/Bw==}
    -    cpu: [arm64]
    -    os: [android]
    -    requiresBuild: true
    -    dev: true
    +  '@rollup/rollup-android-arm64@4.17.2':
         optional: true
     
    -  /@rollup/rollup-darwin-arm64@4.17.2:
    -    resolution: {integrity: sha512-kcMLpE6uCwls023+kknm71ug7MZOrtXo+y5p/tsg6jltpDtgQY1Eq5sGfHcQfb+lfuKwhBmEURDga9N0ol4YPw==}
    -    cpu: [arm64]
    -    os: [darwin]
    -    requiresBuild: true
    -    dev: true
    +  '@rollup/rollup-darwin-arm64@4.17.2':
         optional: true
     
    -  /@rollup/rollup-darwin-x64@4.17.2:
    -    resolution: {integrity: sha512-AtKwD0VEx0zWkL0ZjixEkp5tbNLzX+FCqGG1SvOu993HnSz4qDI6S4kGzubrEJAljpVkhRSlg5bzpV//E6ysTQ==}
    -    cpu: [x64]
    -    os: [darwin]
    -    requiresBuild: true
    -    dev: true
    +  '@rollup/rollup-darwin-x64@4.17.2':
         optional: true
     
    -  /@rollup/rollup-linux-arm-gnueabihf@4.17.2:
    -    resolution: {integrity: sha512-3reX2fUHqN7sffBNqmEyMQVj/CKhIHZd4y631duy0hZqI8Qoqf6lTtmAKvJFYa6bhU95B1D0WgzHkmTg33In0A==}
    -    cpu: [arm]
    -    os: [linux]
    -    requiresBuild: true
    -    dev: true
    +  '@rollup/rollup-linux-arm-gnueabihf@4.17.2':
         optional: true
     
    -  /@rollup/rollup-linux-arm-musleabihf@4.17.2:
    -    resolution: {integrity: sha512-uSqpsp91mheRgw96xtyAGP9FW5ChctTFEoXP0r5FAzj/3ZRv3Uxjtc7taRQSaQM/q85KEKjKsZuiZM3GyUivRg==}
    -    cpu: [arm]
    -    os: [linux]
    -    requiresBuild: true
    -    dev: true
    +  '@rollup/rollup-linux-arm-musleabihf@4.17.2':
         optional: true
     
    -  /@rollup/rollup-linux-arm64-gnu@4.17.2:
    -    resolution: {integrity: sha512-EMMPHkiCRtE8Wdk3Qhtciq6BndLtstqZIroHiiGzB3C5LDJmIZcSzVtLRbwuXuUft1Cnv+9fxuDtDxz3k3EW2A==}
    -    cpu: [arm64]
    -    os: [linux]
    -    requiresBuild: true
    -    dev: true
    +  '@rollup/rollup-linux-arm64-gnu@4.17.2':
         optional: true
     
    -  /@rollup/rollup-linux-arm64-musl@4.17.2:
    -    resolution: {integrity: sha512-NMPylUUZ1i0z/xJUIx6VUhISZDRT+uTWpBcjdv0/zkp7b/bQDF+NfnfdzuTiB1G6HTodgoFa93hp0O1xl+/UbA==}
    -    cpu: [arm64]
    -    os: [linux]
    -    requiresBuild: true
    -    dev: true
    +  '@rollup/rollup-linux-arm64-musl@4.17.2':
         optional: true
     
    -  /@rollup/rollup-linux-powerpc64le-gnu@4.17.2:
    -    resolution: {integrity: sha512-T19My13y8uYXPw/L/k0JYaX1fJKFT/PWdXiHr8mTbXWxjVF1t+8Xl31DgBBvEKclw+1b00Chg0hxE2O7bTG7GQ==}
    -    cpu: [ppc64]
    -    os: [linux]
    -    requiresBuild: true
    -    dev: true
    +  '@rollup/rollup-linux-powerpc64le-gnu@4.17.2':
         optional: true
     
    -  /@rollup/rollup-linux-riscv64-gnu@4.17.2:
    -    resolution: {integrity: sha512-BOaNfthf3X3fOWAB+IJ9kxTgPmMqPPH5f5k2DcCsRrBIbWnaJCgX2ll77dV1TdSy9SaXTR5iDXRL8n7AnoP5cg==}
    -    cpu: [riscv64]
    -    os: [linux]
    -    requiresBuild: true
    -    dev: true
    +  '@rollup/rollup-linux-riscv64-gnu@4.17.2':
         optional: true
     
    -  /@rollup/rollup-linux-s390x-gnu@4.17.2:
    -    resolution: {integrity: sha512-W0UP/x7bnn3xN2eYMql2T/+wpASLE5SjObXILTMPUBDB/Fg/FxC+gX4nvCfPBCbNhz51C+HcqQp2qQ4u25ok6g==}
    -    cpu: [s390x]
    -    os: [linux]
    -    requiresBuild: true
    -    dev: true
    +  '@rollup/rollup-linux-s390x-gnu@4.17.2':
         optional: true
     
    -  /@rollup/rollup-linux-x64-gnu@4.17.2:
    -    resolution: {integrity: sha512-Hy7pLwByUOuyaFC6mAr7m+oMC+V7qyifzs/nW2OJfC8H4hbCzOX07Ov0VFk/zP3kBsELWNFi7rJtgbKYsav9QQ==}
    -    cpu: [x64]
    -    os: [linux]
    -    requiresBuild: true
    -    dev: true
    +  '@rollup/rollup-linux-x64-gnu@4.17.2':
         optional: true
     
    -  /@rollup/rollup-linux-x64-musl@4.17.2:
    -    resolution: {integrity: sha512-h1+yTWeYbRdAyJ/jMiVw0l6fOOm/0D1vNLui9iPuqgRGnXA0u21gAqOyB5iHjlM9MMfNOm9RHCQ7zLIzT0x11Q==}
    -    cpu: [x64]
    -    os: [linux]
    -    requiresBuild: true
    -    dev: true
    +  '@rollup/rollup-linux-x64-musl@4.17.2':
         optional: true
     
    -  /@rollup/rollup-win32-arm64-msvc@4.17.2:
    -    resolution: {integrity: sha512-tmdtXMfKAjy5+IQsVtDiCfqbynAQE/TQRpWdVataHmhMb9DCoJxp9vLcCBjEQWMiUYxO1QprH/HbY9ragCEFLA==}
    -    cpu: [arm64]
    -    os: [win32]
    -    requiresBuild: true
    -    dev: true
    +  '@rollup/rollup-win32-arm64-msvc@4.17.2':
         optional: true
     
    -  /@rollup/rollup-win32-ia32-msvc@4.17.2:
    -    resolution: {integrity: sha512-7II/QCSTAHuE5vdZaQEwJq2ZACkBpQDOmQsE6D6XUbnBHW8IAhm4eTufL6msLJorzrHDFv3CF8oCA/hSIRuZeQ==}
    -    cpu: [ia32]
    -    os: [win32]
    -    requiresBuild: true
    -    dev: true
    +  '@rollup/rollup-win32-ia32-msvc@4.17.2':
         optional: true
     
    -  /@rollup/rollup-win32-x64-msvc@4.17.2:
    -    resolution: {integrity: sha512-TGGO7v7qOq4CYmSBVEYpI1Y5xDuCEnbVC5Vth8mOsW0gDSzxNrVERPc790IGHsrT2dQSimgMr9Ub3Y1Jci5/8w==}
    -    cpu: [x64]
    -    os: [win32]
    -    requiresBuild: true
    -    dev: true
    +  '@rollup/rollup-win32-x64-msvc@4.17.2':
         optional: true
     
    -  /@shikijs/core@1.4.0:
    -    resolution: {integrity: sha512-CxpKLntAi64h3j+TwWqVIQObPTED0FyXLHTTh3MKXtqiQNn2JGcMQQ362LftDbc9kYbDtrksNMNoVmVXzKFYUQ==}
    -    dev: true
    +  '@shikijs/core@1.4.0': {}
     
    -  /@shikijs/transformers@1.4.0:
    -    resolution: {integrity: sha512-kzvlWmWYYSeaLKRce/kgmFFORUtBtFahfXRKndor0b60ocYiXufBQM6d6w1PlMuUkdk55aor9xLvy9wy7hTEJg==}
    +  '@shikijs/transformers@1.4.0':
         dependencies:
           shiki: 1.4.0
    -    dev: true
     
    -  /@sideway/address@4.1.5:
    -    resolution: {integrity: sha512-IqO/DUQHUkPeixNQ8n0JA6102hT9CmaljNTPmQ1u8MEhBo/R4Q8eKLN/vGZxuebwOroDB4cbpjheD4+/sKFK4Q==}
    +  '@sideway/address@4.1.5':
         dependencies:
           '@hapi/hoek': 9.3.0
    -    dev: true
     
    -  /@sideway/formula@3.0.1:
    -    resolution: {integrity: sha512-/poHZJJVjx3L+zVD6g9KgHfYnb443oi7wLu/XKojDviHy6HOEOA6z1Trk5aR1dGcmPenJEgb2sK2I80LeS3MIg==}
    -    dev: true
    +  '@sideway/formula@3.0.1': {}
     
    -  /@sideway/pinpoint@2.0.0:
    -    resolution: {integrity: sha512-RNiOoTPkptFtSVzQevY/yWtZwf/RxyVnPy/OcA9HBM3MlGDnBEYL5B41H0MTn0Uec8Hi+2qUtTfG2WWZBmMejQ==}
    -    dev: true
    +  '@sideway/pinpoint@2.0.0': {}
     
    -  /@sinclair/typebox@0.27.8:
    -    resolution: {integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==}
    -    dev: true
    +  '@sinclair/typebox@0.27.8': {}
     
    -  /@sindresorhus/is@4.6.0:
    -    resolution: {integrity: sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw==}
    -    engines: {node: '>=10'}
    -    dev: true
    +  '@sindresorhus/is@4.6.0': {}
     
    -  /@sindresorhus/merge-streams@2.3.0:
    -    resolution: {integrity: sha512-LtoMMhxAlorcGhmFYI+LhPgbPZCkgP6ra1YL604EeF6U98pLlQ3iWIGMdWSC+vWmPBWBNgmDBAhnAobLROJmwg==}
    -    engines: {node: '>=18'}
    -    dev: true
    +  '@sindresorhus/merge-streams@2.3.0': {}
     
    -  /@sinonjs/commons@3.0.1:
    -    resolution: {integrity: sha512-K3mCHKQ9sVh8o1C9cxkwxaOmXoAMlDxC1mYyHrjqOWEcBjYr76t96zL2zlj5dUGZ3HSw240X1qgH3Mjf1yJWpQ==}
    +  '@sinonjs/commons@3.0.1':
         dependencies:
           type-detect: 4.0.8
    -    dev: true
     
    -  /@sinonjs/fake-timers@10.3.0:
    -    resolution: {integrity: sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA==}
    +  '@sinonjs/fake-timers@10.3.0':
         dependencies:
           '@sinonjs/commons': 3.0.1
    -    dev: true
     
    -  /@surma/rollup-plugin-off-main-thread@2.2.3:
    -    resolution: {integrity: sha512-lR8q/9W7hZpMWweNiAKU7NQerBnzQQLvi8qnTDU/fxItPhtZVMbPV3lbCwjhIlNBe9Bbr5V+KHshvWmVSG9cxQ==}
    +  '@surma/rollup-plugin-off-main-thread@2.2.3':
         dependencies:
           ejs: 3.1.10
           json5: 2.2.3
           magic-string: 0.25.9
           string.prototype.matchall: 4.0.11
    -    dev: true
     
    -  /@szmarczak/http-timer@4.0.6:
    -    resolution: {integrity: sha512-4BAffykYOgO+5nzBWYwE3W90sBgLJoUPRWWcL8wlyiM8IB8ipJz3UMJ9KXQd1RKQXpKp8Tutn80HZtWsu2u76w==}
    -    engines: {node: '>=10'}
    +  '@szmarczak/http-timer@4.0.6':
         dependencies:
           defer-to-connect: 2.0.1
    -    dev: true
     
    -  /@tanstack/virtual-core@3.2.1:
    -    resolution: {integrity: sha512-nO0d4vRzsmpBQCJYyClNHPPoUMI4nXNfrm6IcCRL33ncWMoNVpURh9YebEHPw8KrtsP2VSJIHE4gf4XFGk1OGg==}
    -    dev: false
    +  '@tanstack/virtual-core@3.2.1': {}
     
    -  /@tanstack/vue-virtual@3.2.1(vue@3.4.21):
    -    resolution: {integrity: sha512-NWJL8zJ4kwCkUzWd2jLKN9NTxj9RjYyaJwtA16j9urfbnMIdKe2g2HNymq0jGj+fmX/9nd58d6h78LrZ7I/J+A==}
    -    peerDependencies:
    -      vue: ^2.7.0 || ^3.0.0
    +  '@tanstack/vue-virtual@3.2.1(vue@3.4.21(typescript@5.4.5))':
         dependencies:
           '@tanstack/virtual-core': 3.2.1
           vue: 3.4.21(typescript@5.4.5)
    -    dev: false
     
    -  /@tootallnate/once@2.0.0:
    -    resolution: {integrity: sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==}
    -    engines: {node: '>= 10'}
    -    dev: true
    +  '@tootallnate/once@2.0.0': {}
     
    -  /@types/assert@1.5.10:
    -    resolution: {integrity: sha512-qEO+AUgYab7GVbeDDgUNCU3o0aZUoIMpNAe+w5LDbRxfxQX7vQAdDgwj1AroX+i8KaV56FWg0srXlSZROnsrIQ==}
    -    dev: false
    +  '@types/assert@1.5.10': {}
     
    -  /@types/babel__core@7.20.5:
    -    resolution: {integrity: sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==}
    +  '@types/babel__core@7.20.5':
         dependencies:
           '@babel/parser': 7.24.5
           '@babel/types': 7.24.5
           '@types/babel__generator': 7.6.8
           '@types/babel__template': 7.4.4
           '@types/babel__traverse': 7.20.5
    -    dev: true
     
    -  /@types/babel__generator@7.6.8:
    -    resolution: {integrity: sha512-ASsj+tpEDsEiFr1arWrlN6V3mdfjRMZt6LtK/Vp/kreFLnr5QH5+DhvD5nINYZXzwJvXeGq+05iUXcAzVrqWtw==}
    +  '@types/babel__generator@7.6.8':
         dependencies:
           '@babel/types': 7.24.5
    -    dev: true
     
    -  /@types/babel__template@7.4.4:
    -    resolution: {integrity: sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==}
    +  '@types/babel__template@7.4.4':
         dependencies:
           '@babel/parser': 7.24.5
           '@babel/types': 7.24.5
    -    dev: true
     
    -  /@types/babel__traverse@7.20.5:
    -    resolution: {integrity: sha512-WXCyOcRtH37HAUkpXhUduaxdm82b4GSlyTqajXviN4EfiuPgNYR109xMCKvpl6zPIpua0DGlMEDCq+g8EdoheQ==}
    +  '@types/babel__traverse@7.20.5':
         dependencies:
           '@babel/types': 7.24.5
    -    dev: true
     
    -  /@types/body-parser@1.19.5:
    -    resolution: {integrity: sha512-fB3Zu92ucau0iQ0JMCFQE7b/dv8Ot07NI3KaZIkIUNXq82k4eBAqUaneXfleGY9JWskeS9y+u0nXMyspcuQrCg==}
    +  '@types/body-parser@1.19.5':
         dependencies:
           '@types/connect': 3.4.38
    -      '@types/node': 20.12.12
    -    dev: true
    +      '@types/node': 20.12.7
     
    -  /@types/bonjour@3.5.10:
    -    resolution: {integrity: sha512-p7ienRMiS41Nu2/igbJxxLDWrSZ0WxM8UQgCeO9KhoVF7cOVFkrKsiDr1EsJIla8vV3oEEjGcz11jc5yimhzZw==}
    +  '@types/bonjour@3.5.10':
         dependencies:
    -      '@types/node': 20.12.12
    -    dev: true
    +      '@types/node': 20.12.7
     
    -  /@types/braces@3.0.4:
    -    resolution: {integrity: sha512-0WR3b8eaISjEW7RpZnclONaLFDf7buaowRHdqLp4vLj54AsSAYWfh3DRbfiYJY9XDxMgx1B4sE1Afw2PGpuHOA==}
    -    dev: true
    +  '@types/braces@3.0.4': {}
     
    -  /@types/cacheable-request@6.0.3:
    -    resolution: {integrity: sha512-IQ3EbTzGxIigb1I3qPZc1rWJnH0BmSKv5QYTalEwweFvyBDLSAe24zP0le/hyi7ecGfZVlIVAg4BZqb8WBwKqw==}
    +  '@types/cacheable-request@6.0.3':
         dependencies:
           '@types/http-cache-semantics': 4.0.4
           '@types/keyv': 3.1.4
    -      '@types/node': 20.12.12
    +      '@types/node': 20.12.7
           '@types/responselike': 1.0.3
    -    dev: true
     
    -  /@types/connect-history-api-fallback@1.5.0:
    -    resolution: {integrity: sha512-4x5FkPpLipqwthjPsF7ZRbOv3uoLUFkTA9G9v583qi4pACvq0uTELrB8OLUzPWUI4IJIyvM85vzkV1nyiI2Lig==}
    +  '@types/connect-history-api-fallback@1.5.0':
         dependencies:
           '@types/express-serve-static-core': 4.17.43
    -      '@types/node': 20.12.12
    -    dev: true
    +      '@types/node': 20.12.7
     
    -  /@types/connect@3.4.38:
    -    resolution: {integrity: sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==}
    +  '@types/connect@3.4.38':
         dependencies:
    -      '@types/node': 20.12.12
    -    dev: true
    +      '@types/node': 20.12.7
     
    -  /@types/cors@2.8.17:
    -    resolution: {integrity: sha512-8CGDvrBj1zgo2qE+oS3pOCyYNqCPryMWY2bGfwA0dcfopWGgxs+78df0Rs3rc9THP4JkOhLsAa+15VdpAqkcUA==}
    +  '@types/cors@2.8.17':
         dependencies:
    -      '@types/node': 20.12.12
    -    dev: true
    +      '@types/node': 20.12.7
     
    -  /@types/cytoscape@3.21.1:
    -    resolution: {integrity: sha512-vBC2w0ciULoay50QnSScFg9Yu/9gimyor3vb4b4gEEI+4Ccfu/AH7gA+YKAcFIvo1mgKVhXaewNxw3zC80cXoA==}
    -    dev: true
    +  '@types/cytoscape@3.21.0': {}
     
    -  /@types/d3-array@3.2.1:
    -    resolution: {integrity: sha512-Y2Jn2idRrLzUfAKV2LyRImR+y4oa2AntrgID95SHJxuMUrkNXmanDSed71sRNZysveJVt1hLLemQZIady0FpEg==}
    -    dev: true
    +  '@types/d3-array@3.2.1': {}
     
    -  /@types/d3-axis@3.0.6:
    -    resolution: {integrity: sha512-pYeijfZuBd87T0hGn0FO1vQ/cgLk6E1ALJjfkC0oJ8cbwkZl3TpgS8bVBLZN+2jjGgg38epgxb2zmoGtSfvgMw==}
    +  '@types/d3-axis@3.0.6':
         dependencies:
           '@types/d3-selection': 3.0.10
    -    dev: true
     
    -  /@types/d3-brush@3.0.6:
    -    resolution: {integrity: sha512-nH60IZNNxEcrh6L1ZSMNA28rj27ut/2ZmI3r96Zd+1jrZD++zD3LsMIjWlvg4AYrHn/Pqz4CF3veCxGjtbqt7A==}
    +  '@types/d3-brush@3.0.6':
         dependencies:
           '@types/d3-selection': 3.0.10
    -    dev: true
     
    -  /@types/d3-chord@3.0.6:
    -    resolution: {integrity: sha512-LFYWWd8nwfwEmTZG9PfQxd17HbNPksHBiJHaKuY1XeqscXacsS2tyoo6OdRsjf+NQYeB6XrNL3a25E3gH69lcg==}
    -    dev: true
    +  '@types/d3-chord@3.0.6': {}
     
    -  /@types/d3-color@3.1.3:
    -    resolution: {integrity: sha512-iO90scth9WAbmgv7ogoq57O9YpKmFBbmoEoCHDB2xMBY0+/KVrqAaCDyCE16dUspeOvIxFFRI+0sEtqDqy2b4A==}
    -    dev: true
    +  '@types/d3-color@3.1.3': {}
     
    -  /@types/d3-contour@3.0.6:
    -    resolution: {integrity: sha512-BjzLgXGnCWjUSYGfH1cpdo41/hgdWETu4YxpezoztawmqsvCeep+8QGfiY6YbDvfgHz/DkjeIkkZVJavB4a3rg==}
    +  '@types/d3-contour@3.0.6':
         dependencies:
           '@types/d3-array': 3.2.1
           '@types/geojson': 7946.0.14
    -    dev: true
     
    -  /@types/d3-delaunay@6.0.4:
    -    resolution: {integrity: sha512-ZMaSKu4THYCU6sV64Lhg6qjf1orxBthaC161plr5KuPHo3CNm8DTHiLw/5Eq2b6TsNP0W0iJrUOFscY6Q450Hw==}
    -    dev: true
    +  '@types/d3-delaunay@6.0.4': {}
     
    -  /@types/d3-dispatch@3.0.6:
    -    resolution: {integrity: sha512-4fvZhzMeeuBJYZXRXrRIQnvUYfyXwYmLsdiN7XXmVNQKKw1cM8a5WdID0g1hVFZDqT9ZqZEY5pD44p24VS7iZQ==}
    -    dev: true
    +  '@types/d3-dispatch@3.0.6': {}
     
    -  /@types/d3-drag@3.0.7:
    -    resolution: {integrity: sha512-HE3jVKlzU9AaMazNufooRJ5ZpWmLIoc90A37WU2JMmeq28w1FQqCZswHZ3xR+SuxYftzHq6WU6KJHvqxKzTxxQ==}
    +  '@types/d3-drag@3.0.7':
         dependencies:
           '@types/d3-selection': 3.0.10
    -    dev: true
     
    -  /@types/d3-dsv@3.0.7:
    -    resolution: {integrity: sha512-n6QBF9/+XASqcKK6waudgL0pf/S5XHPPI8APyMLLUHd8NqouBGLsU8MgtO7NINGtPBtk9Kko/W4ea0oAspwh9g==}
    -    dev: true
    +  '@types/d3-dsv@3.0.7': {}
     
    -  /@types/d3-ease@3.0.2:
    -    resolution: {integrity: sha512-NcV1JjO5oDzoK26oMzbILE6HW7uVXOHLQvHshBUW4UMdZGfiY6v5BeQwh9a9tCzv+CeefZQHJt5SRgK154RtiA==}
    -    dev: true
    +  '@types/d3-ease@3.0.2': {}
     
    -  /@types/d3-fetch@3.0.7:
    -    resolution: {integrity: sha512-fTAfNmxSb9SOWNB9IoG5c8Hg6R+AzUHDRlsXsDZsNp6sxAEOP0tkP3gKkNSO/qmHPoBFTxNrjDprVHDQDvo5aA==}
    +  '@types/d3-fetch@3.0.7':
         dependencies:
           '@types/d3-dsv': 3.0.7
    -    dev: true
     
    -  /@types/d3-force@3.0.9:
    -    resolution: {integrity: sha512-IKtvyFdb4Q0LWna6ymywQsEYjK/94SGhPrMfEr1TIc5OBeziTi+1jcCvttts8e0UWZIxpasjnQk9MNk/3iS+kA==}
    -    dev: true
    +  '@types/d3-force@3.0.9': {}
     
    -  /@types/d3-format@3.0.4:
    -    resolution: {integrity: sha512-fALi2aI6shfg7vM5KiR1wNJnZ7r6UuggVqtDA+xiEdPZQwy/trcQaHnwShLuLdta2rTymCNpxYTiMZX/e09F4g==}
    -    dev: true
    +  '@types/d3-format@3.0.4': {}
     
    -  /@types/d3-geo@3.1.0:
    -    resolution: {integrity: sha512-856sckF0oP/diXtS4jNsiQw/UuK5fQG8l/a9VVLeSouf1/PPbBE1i1W852zVwKwYCBkFJJB7nCFTbk6UMEXBOQ==}
    +  '@types/d3-geo@3.1.0':
         dependencies:
           '@types/geojson': 7946.0.14
    -    dev: true
     
    -  /@types/d3-hierarchy@3.1.6:
    -    resolution: {integrity: sha512-qlmD/8aMk5xGorUvTUWHCiumvgaUXYldYjNVOWtYoTYY/L+WwIEAmJxUmTgr9LoGNG0PPAOmqMDJVDPc7DOpPw==}
    -    dev: true
    +  '@types/d3-hierarchy@3.1.6': {}
     
    -  /@types/d3-interpolate@3.0.4:
    -    resolution: {integrity: sha512-mgLPETlrpVV1YRJIglr4Ez47g7Yxjl1lj7YKsiMCb27VJH9W8NVM6Bb9d8kkpG/uAQS5AmbA48q2IAolKKo1MA==}
    +  '@types/d3-interpolate@3.0.4':
         dependencies:
           '@types/d3-color': 3.1.3
    -    dev: true
     
    -  /@types/d3-path@1.0.11:
    -    resolution: {integrity: sha512-4pQMp8ldf7UaB/gR8Fvvy69psNHkTpD/pVw3vmEi8iZAB9EPMBruB1JvHO4BIq9QkUUd2lV1F5YXpMNj7JPBpw==}
    -    dev: true
    +  '@types/d3-path@1.0.11': {}
     
    -  /@types/d3-path@3.1.0:
    -    resolution: {integrity: sha512-P2dlU/q51fkOc/Gfl3Ul9kicV7l+ra934qBFXCFhrZMOL6du1TM0pm1ThYvENukyOn5h9v+yMJ9Fn5JK4QozrQ==}
    -    dev: true
    +  '@types/d3-path@3.1.0': {}
     
    -  /@types/d3-polygon@3.0.2:
    -    resolution: {integrity: sha512-ZuWOtMaHCkN9xoeEMr1ubW2nGWsp4nIql+OPQRstu4ypeZ+zk3YKqQT0CXVe/PYqrKpZAi+J9mTs05TKwjXSRA==}
    -    dev: true
    +  '@types/d3-polygon@3.0.2': {}
     
    -  /@types/d3-quadtree@3.0.6:
    -    resolution: {integrity: sha512-oUzyO1/Zm6rsxKRHA1vH0NEDG58HrT5icx/azi9MF1TWdtttWl0UIUsjEQBBh+SIkrpd21ZjEv7ptxWys1ncsg==}
    -    dev: true
    +  '@types/d3-quadtree@3.0.6': {}
     
    -  /@types/d3-random@3.0.3:
    -    resolution: {integrity: sha512-Imagg1vJ3y76Y2ea0871wpabqp613+8/r0mCLEBfdtqC7xMSfj9idOnmBYyMoULfHePJyxMAw3nWhJxzc+LFwQ==}
    -    dev: true
    +  '@types/d3-random@3.0.3': {}
     
    -  /@types/d3-sankey@0.12.4:
    -    resolution: {integrity: sha512-YTicQNwioitIlvuvlfW2GfO6sKxpohzg2cSQttlXAPjFwoBuN+XpGLhUN3kLutG/dI3GCLC+DUorqiJt7Naetw==}
    +  '@types/d3-sankey@0.12.4':
         dependencies:
           '@types/d3-shape': 1.3.12
    -    dev: true
     
    -  /@types/d3-scale-chromatic@3.0.3:
    -    resolution: {integrity: sha512-laXM4+1o5ImZv3RpFAsTRn3TEkzqkytiOY0Dz0sq5cnd1dtNlk6sHLon4OvqaiJb28T0S/TdsBI3Sjsy+keJrw==}
    -    dev: true
    +  '@types/d3-scale-chromatic@3.0.3': {}
     
    -  /@types/d3-scale@4.0.8:
    -    resolution: {integrity: sha512-gkK1VVTr5iNiYJ7vWDI+yUFFlszhNMtVeneJ6lUTKPjprsvLLI9/tgEGiXJOnlINJA8FyA88gfnQsHbybVZrYQ==}
    +  '@types/d3-scale@4.0.8':
         dependencies:
           '@types/d3-time': 3.0.3
    -    dev: true
     
    -  /@types/d3-selection@3.0.10:
    -    resolution: {integrity: sha512-cuHoUgS/V3hLdjJOLTT691+G2QoqAjCVLmr4kJXR4ha56w1Zdu8UUQ5TxLRqudgNjwXeQxKMq4j+lyf9sWuslg==}
    -    dev: true
    +  '@types/d3-selection@3.0.10': {}
     
    -  /@types/d3-shape@1.3.12:
    -    resolution: {integrity: sha512-8oMzcd4+poSLGgV0R1Q1rOlx/xdmozS4Xab7np0eamFFUYq71AU9pOCJEFnkXW2aI/oXdVYJzw6pssbSut7Z9Q==}
    +  '@types/d3-shape@1.3.12':
         dependencies:
           '@types/d3-path': 1.0.11
    -    dev: true
     
    -  /@types/d3-shape@3.1.6:
    -    resolution: {integrity: sha512-5KKk5aKGu2I+O6SONMYSNflgiP0WfZIQvVUMan50wHsLG1G94JlxEVnCpQARfTtzytuY0p/9PXXZb3I7giofIA==}
    +  '@types/d3-shape@3.1.6':
         dependencies:
           '@types/d3-path': 3.1.0
    -    dev: true
     
    -  /@types/d3-time-format@4.0.3:
    -    resolution: {integrity: sha512-5xg9rC+wWL8kdDj153qZcsJ0FWiFt0J5RB6LYUNZjwSnesfblqrI/bJ1wBdJ8OQfncgbJG5+2F+qfqnqyzYxyg==}
    -    dev: true
    +  '@types/d3-time-format@4.0.3': {}
     
    -  /@types/d3-time@3.0.3:
    -    resolution: {integrity: sha512-2p6olUZ4w3s+07q3Tm2dbiMZy5pCDfYwtLXXHUnVzXgQlZ/OyPtUz6OL382BkOuGlLXqfT+wqv8Fw2v8/0geBw==}
    -    dev: true
    +  '@types/d3-time@3.0.3': {}
     
    -  /@types/d3-timer@3.0.2:
    -    resolution: {integrity: sha512-Ps3T8E8dZDam6fUyNiMkekK3XUsaUEik+idO9/YjPtfj2qruF8tFBXS7XhtE4iIXBLxhmLjP3SXpLhVf21I9Lw==}
    -    dev: true
    +  '@types/d3-timer@3.0.2': {}
     
    -  /@types/d3-transition@3.0.8:
    -    resolution: {integrity: sha512-ew63aJfQ/ms7QQ4X7pk5NxQ9fZH/z+i24ZfJ6tJSfqxJMrYLiK01EAs2/Rtw/JreGUsS3pLPNV644qXFGnoZNQ==}
    +  '@types/d3-transition@3.0.8':
         dependencies:
           '@types/d3-selection': 3.0.10
    -    dev: true
     
    -  /@types/d3-zoom@3.0.8:
    -    resolution: {integrity: sha512-iqMC4/YlFCSlO8+2Ii1GGGliCAY4XdeG748w5vQUbevlbDu0zSjH/+jojorQVBK/se0j6DUFNPBGSqD3YWYnDw==}
    +  '@types/d3-zoom@3.0.8':
         dependencies:
           '@types/d3-interpolate': 3.0.4
           '@types/d3-selection': 3.0.10
    -    dev: true
     
    -  /@types/d3@7.4.3:
    -    resolution: {integrity: sha512-lZXZ9ckh5R8uiFVt8ogUNf+pIrK4EsWrx2Np75WvF/eTpJ0FMHNhjXk8CKEx/+gpHbNQyJWehbFaTvqmHWB3ww==}
    +  '@types/d3@7.4.3':
         dependencies:
           '@types/d3-array': 3.2.1
           '@types/d3-axis': 3.0.6
    @@ -4389,398 +11515,234 @@ packages:
           '@types/d3-timer': 3.0.2
           '@types/d3-transition': 3.0.8
           '@types/d3-zoom': 3.0.8
    -    dev: true
     
    -  /@types/debug@4.1.12:
    -    resolution: {integrity: sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==}
    +  '@types/debug@4.1.12':
         dependencies:
           '@types/ms': 0.7.34
     
    -  /@types/dompurify@3.0.5:
    -    resolution: {integrity: sha512-1Wg0g3BtQF7sSb27fJQAKck1HECM6zV1EB66j8JH9i3LCjYabJa0FSdiSgsD5K/RbrsR0SiraKacLB+T8ZVYAg==}
    +  '@types/dompurify@3.0.5':
         dependencies:
           '@types/trusted-types': 2.0.7
    -    dev: true
     
    -  /@types/eslint-scope@3.7.7:
    -    resolution: {integrity: sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg==}
    +  '@types/eslint-scope@3.7.7':
         dependencies:
           '@types/eslint': 8.56.10
           '@types/estree': 1.0.5
    -    dev: true
     
    -  /@types/eslint@8.56.10:
    -    resolution: {integrity: sha512-Shavhk87gCtY2fhXDctcfS3e6FdxWkCx1iUZ9eEUbh7rTqlZT0/IzOkCOVt0fCjcFuZ9FPYfuezTBImfHCDBGQ==}
    +  '@types/eslint@8.56.10':
         dependencies:
           '@types/estree': 1.0.5
           '@types/json-schema': 7.0.15
    -    dev: true
     
    -  /@types/estree@0.0.39:
    -    resolution: {integrity: sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==}
    -    dev: true
    +  '@types/estree@0.0.39': {}
     
    -  /@types/estree@1.0.5:
    -    resolution: {integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==}
    -    dev: true
    +  '@types/estree@1.0.5': {}
     
    -  /@types/express-serve-static-core@4.17.43:
    -    resolution: {integrity: sha512-oaYtiBirUOPQGSWNGPWnzyAFJ0BP3cwvN4oWZQY+zUBwpVIGsKUkpBpSztp74drYcjavs7SKFZ4DX1V2QeN8rg==}
    +  '@types/express-serve-static-core@4.17.43':
         dependencies:
    -      '@types/node': 20.12.12
    +      '@types/node': 20.12.7
           '@types/qs': 6.9.12
           '@types/range-parser': 1.2.7
           '@types/send': 0.17.4
    -    dev: true
     
    -  /@types/express@4.17.21:
    -    resolution: {integrity: sha512-ejlPM315qwLpaQlQDTjPdsUFSc6ZsP4AN6AlWnogPjQ7CVi7PYF3YVz+CY3jE2pwYf7E/7HlDAN0rV2GxTG0HQ==}
    +  '@types/express@4.17.21':
         dependencies:
           '@types/body-parser': 1.19.5
           '@types/express-serve-static-core': 4.17.43
           '@types/qs': 6.9.12
           '@types/serve-static': 1.15.5
    -    dev: true
     
    -  /@types/flexsearch@0.7.3:
    -    resolution: {integrity: sha512-HXwADeHEP4exXkCIwy2n1+i0f1ilP1ETQOH5KDOugjkTFZPntWo0Gr8stZOaebkxsdx+k0X/K6obU/+it07ocg==}
    -    dev: true
    +  '@types/flexsearch@0.7.3': {}
     
    -  /@types/geojson@7946.0.14:
    -    resolution: {integrity: sha512-WCfD5Ht3ZesJUsONdhvm84dmzWOiOzOAqOncN0++w0lBw1o8OuDNJF2McvvCef/yBqb/HYRahp1BYtODFQ8bRg==}
    -    dev: true
    +  '@types/geojson@7946.0.14': {}
     
    -  /@types/glob@7.2.0:
    -    resolution: {integrity: sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA==}
    +  '@types/glob@7.2.0':
         dependencies:
           '@types/minimatch': 5.1.2
    -      '@types/node': 20.12.12
    -    dev: true
    +      '@types/node': 20.12.7
     
    -  /@types/glob@8.1.0:
    -    resolution: {integrity: sha512-IO+MJPVhoqz+28h1qLAcBEH2+xHMK6MTyHJc7MTnnYb6wsoLR29POVGJ7LycmVXIqyy/4/2ShP5sUwTXuOwb/w==}
    +  '@types/glob@8.1.0':
         dependencies:
           '@types/minimatch': 5.1.2
    -      '@types/node': 20.12.12
    -    dev: true
    +      '@types/node': 20.12.7
     
    -  /@types/graceful-fs@4.1.9:
    -    resolution: {integrity: sha512-olP3sd1qOEe5dXTSaFvQG+02VdRXcdytWLAZsAq1PecU8uqQAhkrnbli7DagjtXKW/Bl7YJbUsa8MPcuc8LHEQ==}
    +  '@types/graceful-fs@4.1.9':
         dependencies:
    -      '@types/node': 20.12.12
    -    dev: true
    +      '@types/node': 20.12.7
     
    -  /@types/http-cache-semantics@4.0.4:
    -    resolution: {integrity: sha512-1m0bIFVc7eJWyve9S0RnuRgcQqF/Xd5QsUZAZeQFr1Q3/p9JWoQQEqmVy+DPTNpGXwhgIetAoYF8JSc33q29QA==}
    -    dev: true
    +  '@types/http-cache-semantics@4.0.4': {}
     
    -  /@types/http-errors@2.0.4:
    -    resolution: {integrity: sha512-D0CFMMtydbJAegzOyHjtiKPLlvnm3iTZyZRSZoLq2mRhDdmLfIWOCYPfQJ4cu2erKghU++QvjcUjp/5h7hESpA==}
    -    dev: true
    +  '@types/http-errors@2.0.4': {}
     
    -  /@types/http-proxy@1.17.11:
    -    resolution: {integrity: sha512-HC8G7c1WmaF2ekqpnFq626xd3Zz0uvaqFmBJNRZCGEZCXkvSdJoNFn/8Ygbd9fKNQj8UzLdCETaI0UWPAjK7IA==}
    +  '@types/http-proxy@1.17.11':
         dependencies:
    -      '@types/node': 20.12.12
    -    dev: true
    +      '@types/node': 20.12.7
     
    -  /@types/istanbul-lib-coverage@2.0.6:
    -    resolution: {integrity: sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==}
    -    dev: true
    +  '@types/istanbul-lib-coverage@2.0.6': {}
     
    -  /@types/istanbul-lib-report@3.0.3:
    -    resolution: {integrity: sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA==}
    +  '@types/istanbul-lib-report@3.0.3':
         dependencies:
           '@types/istanbul-lib-coverage': 2.0.6
    -    dev: true
     
    -  /@types/istanbul-reports@3.0.4:
    -    resolution: {integrity: sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==}
    +  '@types/istanbul-reports@3.0.4':
         dependencies:
           '@types/istanbul-lib-report': 3.0.3
    -    dev: true
     
    -  /@types/js-yaml@4.0.9:
    -    resolution: {integrity: sha512-k4MGaQl5TGo/iipqb2UDG2UwjXziSWkh0uysQelTlJpX1qGlpUZYm8PnO4DxG1qBomtJUdYJ6qR6xdIah10JLg==}
    -    dev: true
    +  '@types/js-yaml@4.0.9': {}
     
    -  /@types/jsdom@21.1.6:
    -    resolution: {integrity: sha512-/7kkMsC+/kMs7gAYmmBR9P0vGTnOoLhQhyhQJSlXGI5bzTHp6xdo0TtKWQAsz6pmSAeVqKSbqeyP6hytqr9FDw==}
    +  '@types/jsdom@21.1.6':
         dependencies:
           '@types/node': 20.11.30
           '@types/tough-cookie': 4.0.5
           parse5: 7.1.2
    -    dev: true
     
    -  /@types/json-schema@7.0.15:
    -    resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==}
    -    dev: true
    +  '@types/json-schema@7.0.15': {}
     
    -  /@types/katex@0.16.7:
    -    resolution: {integrity: sha512-HMwFiRujE5PjrgwHQ25+bsLJgowjGjm5Z8FVSf0N6PwgJrwxH0QxzHYDcKsTfV3wva0vzrpqMTJS2jXPr5BMEQ==}
    -    dev: true
    +  '@types/katex@0.16.7': {}
     
    -  /@types/keyv@3.1.4:
    -    resolution: {integrity: sha512-BQ5aZNSCpj7D6K2ksrRCTmKRLEpnPvWDiLPfoGyhZ++8YtiK9d/3DBKPJgry359X/P1PfruyYwvnvwFjuEiEIg==}
    +  '@types/keyv@3.1.4':
         dependencies:
    -      '@types/node': 20.12.12
    -    dev: true
    -
    -  /@types/linkify-it@3.0.5:
    -    resolution: {integrity: sha512-yg6E+u0/+Zjva+buc3EIb+29XEg4wltq7cSmd4Uc2EE/1nUVmxyzpX6gUXD0V8jIrG0r7YeOGVIbYRkxeooCtw==}
    -    dev: true
    +      '@types/node': 20.12.7
     
    -  /@types/linkify-it@5.0.0:
    -    resolution: {integrity: sha512-sVDA58zAw4eWAffKOaQH5/5j3XeayukzDk+ewSsnv3p4yJEZHCCzMDiZM8e0OUrRvmpGZ85jf4yDHkHsgBNr9Q==}
    -    dev: true
    +  '@types/linkify-it@3.0.5': {}
     
    -  /@types/lodash-es@4.17.12:
    -    resolution: {integrity: sha512-0NgftHUcV4v34VhXm8QBSftKVXtbkBG3ViCjs6+eJ5a6y6Mi/jiFGPc1sC7QK+9BFhWrURE3EOggmWaSxL9OzQ==}
    +  '@types/lodash-es@4.17.12':
         dependencies:
           '@types/lodash': 4.17.0
    -    dev: true
     
    -  /@types/lodash@4.17.0:
    -    resolution: {integrity: sha512-t7dhREVv6dbNj0q17X12j7yDG4bD/DHYX7o5/DbDxobP0HnGPgpRz2Ej77aL7TZT3DSw13fqUTj8J4mMnqa7WA==}
    -    dev: true
    -
    -  /@types/lodash@4.17.1:
    -    resolution: {integrity: sha512-X+2qazGS3jxLAIz5JDXDzglAF3KpijdhFxlf/V1+hEsOUc+HnWi81L/uv/EvGuV90WY+7mPGFCUDGfQC3Gj95Q==}
    -    dev: true
    +  '@types/lodash@4.17.0': {}
     
    -  /@types/markdown-it@12.2.3:
    -    resolution: {integrity: sha512-GKMHFfv3458yYy+v/N8gjufHO6MSZKCOXpZc5GXIWWy8uldwfmPn98vp81gZ5f9SVw8YYBctgfJ22a2d7AOMeQ==}
    +  '@types/markdown-it@12.2.3':
         dependencies:
    -      '@types/linkify-it': 5.0.0
    -      '@types/mdurl': 2.0.0
    -    dev: true
    +      '@types/linkify-it': 3.0.5
    +      '@types/mdurl': 1.0.5
     
    -  /@types/markdown-it@14.0.1:
    -    resolution: {integrity: sha512-6WfOG3jXR78DW8L5cTYCVVGAsIFZskRHCDo5tbqa+qtKVt4oDRVH7hyIWu1SpDQJlmIoEivNQZ5h+AGAOrgOtQ==}
    +  '@types/markdown-it@14.0.1':
         dependencies:
           '@types/linkify-it': 3.0.5
           '@types/mdurl': 1.0.5
    -    dev: true
     
    -  /@types/mdast@3.0.15:
    -    resolution: {integrity: sha512-LnwD+mUEfxWMa1QpDraczIn6k0Ee3SMicuYSSzS6ZYl2gKS09EClnJYGd8Du6rfc5r/GZEk5o1mRb8TaTj03sQ==}
    +  '@types/mdast@3.0.15':
         dependencies:
           '@types/unist': 2.0.10
    -    dev: true
    -
    -  /@types/mdast@4.0.3:
    -    resolution: {integrity: sha512-LsjtqsyF+d2/yFOYaN22dHZI1Cpwkrj+g06G8+qtUKlhovPW89YhqSnfKtMbkgmEtYpH2gydRNULd6y8mciAFg==}
    -    dependencies:
    -      '@types/unist': 3.0.2
     
    -  /@types/mdast@4.0.4:
    -    resolution: {integrity: sha512-kGaNbPh1k7AFzgpud/gMdvIm5xuECykRR+JnWKQno9TAXVa6WIVCGTPvYGekIDL4uwCZQSYbUxNBSb1aUo79oA==}
    +  '@types/mdast@4.0.3':
         dependencies:
    -      '@types/unist': 3.0.2
    -
    -  /@types/mdurl@1.0.5:
    -    resolution: {integrity: sha512-6L6VymKTzYSrEf4Nev4Xa1LCHKrlTlYCBMTlQKFuddo1CvQcE52I0mwfOJayueUC7MJuXOeHTcIU683lzd0cUA==}
    -    dev: true
    +      '@types/unist': 2.0.10
     
    -  /@types/mdurl@2.0.0:
    -    resolution: {integrity: sha512-RGdgjQUZba5p6QEFAVx2OGb8rQDL/cPRG7GiedRzMcJ1tYnUANBncjbSB1NRGwbvjcPeikRABz2nshyPk1bhWg==}
    -    dev: true
    +  '@types/mdurl@1.0.5': {}
     
    -  /@types/micromatch@4.0.7:
    -    resolution: {integrity: sha512-C/FMQ8HJAZhTsDpl4wDKZdMeeW5USjgzOczUwTGbRc1ZopPgOhIEnxY2ZgUrsuyy4DwK1JVOJZKFakv3TbCKiA==}
    +  '@types/micromatch@4.0.7':
         dependencies:
           '@types/braces': 3.0.4
    -    dev: true
     
    -  /@types/mime@1.3.5:
    -    resolution: {integrity: sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w==}
    -    dev: true
    +  '@types/mime@1.3.5': {}
     
    -  /@types/mime@3.0.4:
    -    resolution: {integrity: sha512-iJt33IQnVRkqeqC7PzBHPTC6fDlRNRW8vjrgqtScAhrmMwe8c4Eo7+fUGTa+XdWrpEgpyKWMYmi2dIwMAYRzPw==}
    -    dev: true
    +  '@types/mime@3.0.4': {}
     
    -  /@types/minimatch@5.1.2:
    -    resolution: {integrity: sha512-K0VQKziLUWkVKiRVrx4a40iPaxTUefQmjtkQofBkYRcoaaL/8rhwDWww9qWbrgicNOgnpIsMxyNIUM4+n6dUIA==}
    -    dev: true
    +  '@types/minimatch@5.1.2': {}
     
    -  /@types/ms@0.7.34:
    -    resolution: {integrity: sha512-nG96G3Wp6acyAgJqGasjODb+acrI7KltPiRxzHPXnP3NgI28bpQDRv53olbqGXbfcgF5aiiHmO3xpwEpS5Ld9g==}
    +  '@types/ms@0.7.34': {}
     
    -  /@types/node@18.19.33:
    -    resolution: {integrity: sha512-NR9+KrpSajr2qBVp/Yt5TU/rp+b5Mayi3+OlMlcg2cVCfRmcG5PWZ7S4+MG9PZ5gWBoc9Pd0BKSRViuBCRPu0A==}
    +  '@types/node@18.19.31':
         dependencies:
           undici-types: 5.26.5
    -    dev: true
     
    -  /@types/node@20.11.30:
    -    resolution: {integrity: sha512-dHM6ZxwlmuZaRmUPfv1p+KrdD1Dci04FbdEm/9wEMouFqxYoFl5aMkt0VMAUtYRQDyYvD41WJLukhq/ha3YuTw==}
    +  '@types/node@20.11.30':
         dependencies:
           undici-types: 5.26.5
    -    dev: true
     
    -  /@types/node@20.12.12:
    -    resolution: {integrity: sha512-eWLDGF/FOSPtAvEqeRAQ4C8LSA7M1I7i0ky1I8U7kD1J5ITyW3AsRhQrKVoWf5pFKZ2kILsEGJhsI9r93PYnOw==}
    +  '@types/node@20.12.7':
         dependencies:
           undici-types: 5.26.5
    -    dev: true
     
    -  /@types/normalize-package-data@2.4.1:
    -    resolution: {integrity: sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw==}
    -    dev: true
    +  '@types/normalize-package-data@2.4.1': {}
     
    -  /@types/prettier@2.7.3:
    -    resolution: {integrity: sha512-+68kP9yzs4LMp7VNh8gdzMSPZFL44MLGqiHWvttYJe+6qnuVr4Ek9wSBQoveqY/r+LwjCcU29kNVkidwim+kYA==}
    -    dev: true
    +  '@types/prettier@2.7.3': {}
     
    -  /@types/prettier@3.0.0:
    -    resolution: {integrity: sha512-mFMBfMOz8QxhYVbuINtswBp9VL2b4Y0QqYHwqLz3YbgtfAcat2Dl6Y1o4e22S/OVE6Ebl9m7wWiMT2lSbAs1wA==}
    -    deprecated: This is a stub types definition. prettier provides its own type definitions, so you do not need this installed.
    +  '@types/prettier@3.0.0':
         dependencies:
           prettier: 3.2.5
    -    dev: true
     
    -  /@types/qs@6.9.12:
    -    resolution: {integrity: sha512-bZcOkJ6uWrL0Qb2NAWKa7TBU+mJHPzhx9jjLL1KHF+XpzEcR7EXHvjbHlGtR/IsP1vyPrehuS6XqkmaePy//mg==}
    -    dev: true
    +  '@types/qs@6.9.12': {}
     
    -  /@types/ramda@0.28.25:
    -    resolution: {integrity: sha512-HrQNqQAGcITpn9HAJFamDxm7iZeeXiP/95pN5OMbNniDjzCCeOHbBKNGmUy8NRi0fhYS+/cXeo91MFC+06gbow==}
    +  '@types/ramda@0.28.25':
         dependencies:
           ts-toolbelt: 6.15.5
    -    dev: false
     
    -  /@types/range-parser@1.2.7:
    -    resolution: {integrity: sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ==}
    -    dev: true
    +  '@types/range-parser@1.2.7': {}
     
    -  /@types/resolve@1.20.2:
    -    resolution: {integrity: sha512-60BCwRFOZCQhDncwQdxxeOEEkbc5dIMccYLwbxsS4TUNeVECQ/pBJ0j09mrHOl/JJvpRPGwO9SvE4nR2Nb/a4Q==}
    -    dev: true
    +  '@types/resolve@1.20.2': {}
     
    -  /@types/responselike@1.0.3:
    -    resolution: {integrity: sha512-H/+L+UkTV33uf49PH5pCAUBVPNj2nDBXTN+qS1dOwyyg24l3CcicicCA7ca+HMvJBZcFgl5r8e+RR6elsb4Lyw==}
    +  '@types/responselike@1.0.3':
         dependencies:
    -      '@types/node': 20.12.12
    -    dev: true
    +      '@types/node': 20.12.7
     
    -  /@types/retry@0.12.0:
    -    resolution: {integrity: sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA==}
    -    dev: true
    +  '@types/retry@0.12.0': {}
     
    -  /@types/rollup-plugin-visualizer@4.2.4:
    -    resolution: {integrity: sha512-BW4Q6D1Qy5gno5qHWrnMDC2dOe/TAKXvqCpckOggCCu+XpS+ZZJJ1lq1+K3bvYccoO3Y7f5kglbFAgYGqCgULg==}
    +  '@types/rollup-plugin-visualizer@4.2.4':
         dependencies:
           rollup: 2.79.1
    -    dev: true
     
    -  /@types/semver@7.5.8:
    -    resolution: {integrity: sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==}
    -    dev: true
    +  '@types/semver@7.5.8': {}
     
    -  /@types/send@0.17.4:
    -    resolution: {integrity: sha512-x2EM6TJOybec7c52BX0ZspPodMsQUd5L6PRwOunVyVUhXiBSKf3AezDL8Dgvgt5o0UfKNfuA0eMLr2wLT4AiBA==}
    +  '@types/send@0.17.4':
         dependencies:
           '@types/mime': 1.3.5
    -      '@types/node': 20.12.12
    -    dev: true
    +      '@types/node': 20.12.7
     
    -  /@types/serve-index@1.9.1:
    -    resolution: {integrity: sha512-d/Hs3nWDxNL2xAczmOVZNj92YZCS6RGxfBPjKzuu/XirCgXdpKEb88dYNbrYGint6IVWLNP+yonwVAuRC0T2Dg==}
    +  '@types/serve-index@1.9.1':
         dependencies:
           '@types/express': 4.17.21
    -    dev: true
     
    -  /@types/serve-static@1.15.5:
    -    resolution: {integrity: sha512-PDRk21MnK70hja/YF8AHfC7yIsiQHn1rcXx7ijCFBX/k+XQJhQT/gw3xekXKJvx+5SXaMMS8oqQy09Mzvz2TuQ==}
    +  '@types/serve-static@1.15.5':
         dependencies:
           '@types/http-errors': 2.0.4
           '@types/mime': 3.0.4
    -      '@types/node': 20.12.12
    -    dev: true
    +      '@types/node': 20.12.7
     
    -  /@types/sinonjs__fake-timers@8.1.1:
    -    resolution: {integrity: sha512-0kSuKjAS0TrGLJ0M/+8MaFkGsQhZpB6pxOmvS3K8FYI72K//YmdfoW9X2qPsAKh1mkwxGD5zib9s1FIFed6E8g==}
    -    dev: true
    +  '@types/sinonjs__fake-timers@8.1.1': {}
     
    -  /@types/sizzle@2.3.8:
    -    resolution: {integrity: sha512-0vWLNK2D5MT9dg0iOo8GlKguPAU02QjmZitPEsXRuJXU/OGIOt9vT9Fc26wtYuavLxtO45v9PGleoL9Z0k1LHg==}
    -    dev: true
    +  '@types/sizzle@2.3.8': {}
     
    -  /@types/sockjs@0.3.33:
    -    resolution: {integrity: sha512-f0KEEe05NvUnat+boPTZ0dgaLZ4SfSouXUgv5noUiefG2ajgKjmETo9ZJyuqsl7dfl2aHlLJUiki6B4ZYldiiw==}
    +  '@types/sockjs@0.3.33':
         dependencies:
    -      '@types/node': 20.12.12
    -    dev: true
    +      '@types/node': 20.12.7
     
    -  /@types/stack-utils@2.0.3:
    -    resolution: {integrity: sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw==}
    -    dev: true
    +  '@types/stack-utils@2.0.3': {}
     
    -  /@types/stylis@4.2.6:
    -    resolution: {integrity: sha512-4nebF2ZJGzQk0ka0O6+FZUWceyFv4vWq/0dXBMmrSeAwzOuOd/GxE5Pa64d/ndeNLG73dXoBsRzvtsVsYUv6Uw==}
    -    dev: true
    +  '@types/stylis@4.2.5': {}
     
    -  /@types/tough-cookie@4.0.5:
    -    resolution: {integrity: sha512-/Ad8+nIOV7Rl++6f1BdKxFSMgmoqEoYbHRpPcx3JEfv8VRsQe9Z4mCXeJBzxs7mbHY/XOZZuXlRNfhpVPbs6ZA==}
    -    dev: true
    +  '@types/tough-cookie@4.0.5': {}
     
    -  /@types/trusted-types@2.0.3:
    -    resolution: {integrity: sha512-NfQ4gyz38SL8sDNrSixxU2Os1a5xcdFxipAFxYEuLUlvU2uDwS4NUpsImcf1//SlWItCVMMLiylsxbmNMToV/g==}
    -    dev: true
    +  '@types/trusted-types@2.0.3': {}
     
    -  /@types/trusted-types@2.0.7:
    -    resolution: {integrity: sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw==}
    -    dev: true
    +  '@types/trusted-types@2.0.7': {}
     
    -  /@types/unist@2.0.10:
    -    resolution: {integrity: sha512-IfYcSBWE3hLpBg8+X2SEa8LVkJdJEkT2Ese2aaLs3ptGdVtABxndrMaxuFlQ1qdFf9Q5rDvDpxI3WwgvKFAsQA==}
    -    dev: true
    +  '@types/unist@2.0.10': {}
     
    -  /@types/unist@3.0.2:
    -    resolution: {integrity: sha512-dqId9J8K/vGi5Zr7oo212BGii5m3q5Hxlkwy3WpYuKPklmBEvsbMYYyLxAQpSffdLl/gdW0XUpKWFvYmyoWCoQ==}
    +  '@types/unist@3.0.2': {}
     
    -  /@types/uuid@9.0.8:
    -    resolution: {integrity: sha512-jg+97EGIcY9AGHJJRaaPVgetKDsrTgbRjQ5Msgjh/DQKEFl0DtyRr/VCOyD1T2R1MNeWPK/u7JoGhlDZnKBAfA==}
    -    dev: true
    +  '@types/uuid@9.0.8': {}
     
    -  /@types/web-bluetooth@0.0.20:
    -    resolution: {integrity: sha512-g9gZnnXVq7gM7v3tJCWV/qw7w+KeOlSHAhgF9RytFyifW6AF61hdT2ucrYhPq9hLs5JIryeupHV3qGk95dH9ow==}
    +  '@types/web-bluetooth@0.0.20': {}
     
    -  /@types/ws@8.5.5:
    -    resolution: {integrity: sha512-lwhs8hktwxSjf9UaZ9tG5M03PGogvFaH8gUgLNbN9HKIg0dvv6q+gkSuJ8HN4/VbyxkuLzCjlN7GquQ0gUJfIg==}
    +  '@types/ws@8.5.5':
         dependencies:
    -      '@types/node': 20.12.12
    -    dev: true
    +      '@types/node': 20.12.7
     
    -  /@types/yargs-parser@21.0.3:
    -    resolution: {integrity: sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==}
    -    dev: true
    +  '@types/yargs-parser@21.0.3': {}
     
    -  /@types/yargs@17.0.32:
    -    resolution: {integrity: sha512-xQ67Yc/laOG5uMfX/093MRlGGCIBzZMarVa+gfNKJxWAIgykYpVGkBdbqEzGDDfCrVUj6Hiff4mTZ5BA6TmAog==}
    +  '@types/yargs@17.0.32':
         dependencies:
           '@types/yargs-parser': 21.0.3
    -    dev: true
     
    -  /@types/yauzl@2.10.3:
    -    resolution: {integrity: sha512-oJoftv0LSuaDZE3Le4DbKX+KS9G36NzOeSap90UIK0yMA/NhKJhqlSGtNDORNRaIbQfzjXDrQa0ytJ6mNRGz/Q==}
    -    requiresBuild: true
    +  '@types/yauzl@2.10.3':
         dependencies:
    -      '@types/node': 20.12.12
    -    dev: true
    +      '@types/node': 20.12.7
         optional: true
     
    -  /@typescript-eslint/eslint-plugin@7.6.0(@typescript-eslint/parser@7.6.0)(eslint@8.57.0)(typescript@5.4.5):
    -    resolution: {integrity: sha512-gKmTNwZnblUdnTIJu3e9kmeRRzV2j1a/LUO27KNNAnIC5zjy1aSvXSRp4rVNlmAoHlQ7HzX42NbKpcSr4jF80A==}
    -    engines: {node: ^18.18.0 || >=20.0.0}
    -    peerDependencies:
    -      '@typescript-eslint/parser': ^7.0.0
    -      eslint: ^8.56.0
    -      typescript: '*'
    -    peerDependenciesMeta:
    -      typescript:
    -        optional: true
    +  '@typescript-eslint/eslint-plugin@7.6.0(@typescript-eslint/parser@7.6.0(eslint@8.57.0)(typescript@5.4.5))(eslint@8.57.0)(typescript@5.4.5)':
         dependencies:
           '@eslint-community/regexpp': 4.10.0
           '@typescript-eslint/parser': 7.6.0(eslint@8.57.0)(typescript@5.4.5)
    @@ -4795,20 +11757,12 @@ packages:
           natural-compare: 1.4.0
           semver: 7.6.0
           ts-api-utils: 1.3.0(typescript@5.4.5)
    +    optionalDependencies:
           typescript: 5.4.5
         transitivePeerDependencies:
           - supports-color
    -    dev: true
     
    -  /@typescript-eslint/parser@7.6.0(eslint@8.57.0)(typescript@5.4.5):
    -    resolution: {integrity: sha512-usPMPHcwX3ZoPWnBnhhorc14NJw9J4HpSXQX4urF2TPKG0au0XhJoZyX62fmvdHONUkmyUe74Hzm1//XA+BoYg==}
    -    engines: {node: ^18.18.0 || >=20.0.0}
    -    peerDependencies:
    -      eslint: ^8.56.0
    -      typescript: '*'
    -    peerDependenciesMeta:
    -      typescript:
    -        optional: true
    +  '@typescript-eslint/parser@7.6.0(eslint@8.57.0)(typescript@5.4.5)':
         dependencies:
           '@typescript-eslint/scope-manager': 7.6.0
           '@typescript-eslint/types': 7.6.0
    @@ -4816,91 +11770,52 @@ packages:
           '@typescript-eslint/visitor-keys': 7.6.0
           debug: 4.3.4(supports-color@8.1.1)
           eslint: 8.57.0
    +    optionalDependencies:
           typescript: 5.4.5
         transitivePeerDependencies:
           - supports-color
    -    dev: true
     
    -  /@typescript-eslint/scope-manager@5.62.0:
    -    resolution: {integrity: sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w==}
    -    engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
    +  '@typescript-eslint/scope-manager@5.62.0':
         dependencies:
           '@typescript-eslint/types': 5.62.0
           '@typescript-eslint/visitor-keys': 5.62.0
    -    dev: true
     
    -  /@typescript-eslint/scope-manager@7.6.0:
    -    resolution: {integrity: sha512-ngttyfExA5PsHSx0rdFgnADMYQi+Zkeiv4/ZxGYUWd0nLs63Ha0ksmp8VMxAIC0wtCFxMos7Lt3PszJssG/E6w==}
    -    engines: {node: ^18.18.0 || >=20.0.0}
    +  '@typescript-eslint/scope-manager@7.6.0':
         dependencies:
           '@typescript-eslint/types': 7.6.0
           '@typescript-eslint/visitor-keys': 7.6.0
    -    dev: true
     
    -  /@typescript-eslint/type-utils@7.6.0(eslint@8.57.0)(typescript@5.4.5):
    -    resolution: {integrity: sha512-NxAfqAPNLG6LTmy7uZgpK8KcuiS2NZD/HlThPXQRGwz6u7MDBWRVliEEl1Gj6U7++kVJTpehkhZzCJLMK66Scw==}
    -    engines: {node: ^18.18.0 || >=20.0.0}
    -    peerDependencies:
    -      eslint: ^8.56.0
    -      typescript: '*'
    -    peerDependenciesMeta:
    -      typescript:
    -        optional: true
    +  '@typescript-eslint/type-utils@7.6.0(eslint@8.57.0)(typescript@5.4.5)':
         dependencies:
           '@typescript-eslint/typescript-estree': 7.6.0(typescript@5.4.5)
           '@typescript-eslint/utils': 7.6.0(eslint@8.57.0)(typescript@5.4.5)
           debug: 4.3.4(supports-color@8.1.1)
           eslint: 8.57.0
           ts-api-utils: 1.3.0(typescript@5.4.5)
    +    optionalDependencies:
           typescript: 5.4.5
         transitivePeerDependencies:
           - supports-color
    -    dev: true
    -
    -  /@typescript-eslint/types@5.62.0:
    -    resolution: {integrity: sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ==}
    -    engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
    -    dev: true
     
    -  /@typescript-eslint/types@7.6.0:
    -    resolution: {integrity: sha512-h02rYQn8J+MureCvHVVzhl69/GAfQGPQZmOMjG1KfCl7o3HtMSlPaPUAPu6lLctXI5ySRGIYk94clD/AUMCUgQ==}
    -    engines: {node: ^18.18.0 || >=20.0.0}
    -    dev: true
    +  '@typescript-eslint/types@5.62.0': {}
     
    -  /@typescript-eslint/types@7.9.0:
    -    resolution: {integrity: sha512-oZQD9HEWQanl9UfsbGVcZ2cGaR0YT5476xfWE0oE5kQa2sNK2frxOlkeacLOTh9po4AlUT5rtkGyYM5kew0z5w==}
    -    engines: {node: ^18.18.0 || >=20.0.0}
    -    dev: true
    +  '@typescript-eslint/types@7.6.0': {}
     
    -  /@typescript-eslint/typescript-estree@5.62.0(typescript@5.4.5):
    -    resolution: {integrity: sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA==}
    -    engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
    -    peerDependencies:
    -      typescript: '*'
    -    peerDependenciesMeta:
    -      typescript:
    -        optional: true
    +  '@typescript-eslint/typescript-estree@5.62.0(typescript@5.4.5)':
         dependencies:
           '@typescript-eslint/types': 5.62.0
           '@typescript-eslint/visitor-keys': 5.62.0
           debug: 4.3.4(supports-color@8.1.1)
           globby: 11.1.0
           is-glob: 4.0.3
    -      semver: 7.6.1
    +      semver: 7.6.0
           tsutils: 3.21.0(typescript@5.4.5)
    +    optionalDependencies:
           typescript: 5.4.5
         transitivePeerDependencies:
           - supports-color
    -    dev: true
     
    -  /@typescript-eslint/typescript-estree@7.6.0(typescript@5.4.5):
    -    resolution: {integrity: sha512-+7Y/GP9VuYibecrCQWSKgl3GvUM5cILRttpWtnAu8GNL9j11e4tbuGZmZjJ8ejnKYyBRb2ddGQ3rEFCq3QjMJw==}
    -    engines: {node: ^18.18.0 || >=20.0.0}
    -    peerDependencies:
    -      typescript: '*'
    -    peerDependenciesMeta:
    -      typescript:
    -        optional: true
    +  '@typescript-eslint/typescript-estree@7.6.0(typescript@5.4.5)':
         dependencies:
           '@typescript-eslint/types': 7.6.0
           '@typescript-eslint/visitor-keys': 7.6.0
    @@ -4910,16 +11825,12 @@ packages:
           minimatch: 9.0.4
           semver: 7.6.0
           ts-api-utils: 1.3.0(typescript@5.4.5)
    +    optionalDependencies:
           typescript: 5.4.5
         transitivePeerDependencies:
           - supports-color
    -    dev: true
     
    -  /@typescript-eslint/utils@5.62.0(eslint@8.57.0)(typescript@5.4.5):
    -    resolution: {integrity: sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ==}
    -    engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
    -    peerDependencies:
    -      eslint: ^6.0.0 || ^7.0.0 || ^8.0.0
    +  '@typescript-eslint/utils@5.62.0(eslint@8.57.0)(typescript@5.4.5)':
         dependencies:
           '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0)
           '@types/json-schema': 7.0.15
    @@ -4929,17 +11840,12 @@ packages:
           '@typescript-eslint/typescript-estree': 5.62.0(typescript@5.4.5)
           eslint: 8.57.0
           eslint-scope: 5.1.1
    -      semver: 7.6.1
    +      semver: 7.6.0
         transitivePeerDependencies:
           - supports-color
           - typescript
    -    dev: true
     
    -  /@typescript-eslint/utils@7.6.0(eslint@8.57.0)(typescript@5.4.5):
    -    resolution: {integrity: sha512-x54gaSsRRI+Nwz59TXpCsr6harB98qjXYzsRxGqvA5Ue3kQH+FxS7FYU81g/omn22ML2pZJkisy6Q+ElK8pBCA==}
    -    engines: {node: ^18.18.0 || >=20.0.0}
    -    peerDependencies:
    -      eslint: ^8.56.0
    +  '@typescript-eslint/utils@7.6.0(eslint@8.57.0)(typescript@5.4.5)':
         dependencies:
           '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0)
           '@types/json-schema': 7.0.15
    @@ -4952,48 +11858,30 @@ packages:
         transitivePeerDependencies:
           - supports-color
           - typescript
    -    dev: true
     
    -  /@typescript-eslint/visitor-keys@5.62.0:
    -    resolution: {integrity: sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw==}
    -    engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
    +  '@typescript-eslint/visitor-keys@5.62.0':
         dependencies:
           '@typescript-eslint/types': 5.62.0
           eslint-visitor-keys: 3.4.3
    -    dev: true
     
    -  /@typescript-eslint/visitor-keys@7.6.0:
    -    resolution: {integrity: sha512-4eLB7t+LlNUmXzfOu1VAIAdkjbu5xNSerURS9X/S5TUKWFRpXRQZbmtPqgKmYx8bj3J0irtQXSiWAOY82v+cgw==}
    -    engines: {node: ^18.18.0 || >=20.0.0}
    +  '@typescript-eslint/visitor-keys@7.6.0':
         dependencies:
           '@typescript-eslint/types': 7.6.0
           eslint-visitor-keys: 3.4.3
    -    dev: true
     
    -  /@ungap/structured-clone@1.2.0:
    -    resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==}
    -    dev: true
    +  '@ungap/structured-clone@1.2.0': {}
     
    -  /@unocss/astro@0.59.4(rollup@2.79.1)(vite@5.2.11):
    -    resolution: {integrity: sha512-DU3OR5MMR1Uvvec4/wB9EetDASHRg19Moy6z/MiIhn8JWJ0QzWYgSeJcfUX8exomMYv6WUEQJL+CyLI34Wmn8w==}
    -    peerDependencies:
    -      vite: ^2.9.0 || ^3.0.0-0 || ^4.0.0 || ^5.0.0-0
    -    peerDependenciesMeta:
    -      vite:
    -        optional: true
    +  '@unocss/astro@0.59.4(rollup@2.79.1)(vite@5.2.10(@types/node@20.12.7)(terser@5.31.0))':
         dependencies:
           '@unocss/core': 0.59.4
           '@unocss/reset': 0.59.4
    -      '@unocss/vite': 0.59.4(rollup@2.79.1)(vite@5.2.11)
    -      vite: 5.2.11(@types/node@20.12.12)
    +      '@unocss/vite': 0.59.4(rollup@2.79.1)(vite@5.2.10(@types/node@20.12.7)(terser@5.31.0))
    +    optionalDependencies:
    +      vite: 5.2.10(@types/node@20.12.7)(terser@5.31.0)
         transitivePeerDependencies:
           - rollup
    -    dev: true
     
    -  /@unocss/cli@0.59.4(rollup@2.79.1):
    -    resolution: {integrity: sha512-TT+WKedSifhsRqnpoYD2LfyYipVzEbzIU4DDGIaDNeDxGXYOGpb876zzkPDcvZSpI37IJ/efkkV7PGYpPBcQBQ==}
    -    engines: {node: '>=14'}
    -    hasBin: true
    +  '@unocss/cli@0.59.4(rollup@2.79.1)':
         dependencies:
           '@ampproject/remapping': 2.3.0
           '@rollup/pluginutils': 5.1.0(rollup@2.79.1)
    @@ -5010,40 +11898,26 @@ packages:
           perfect-debounce: 1.0.0
         transitivePeerDependencies:
           - rollup
    -    dev: true
     
    -  /@unocss/config@0.59.4:
    -    resolution: {integrity: sha512-h3yhj+D5Ygn5R7gbK4wMrtXZX6FF5DF6YD517sSSb0XB3lxHD9PhhT4HaV1hpHknvu0cMFU3460M45+TN1TI0Q==}
    -    engines: {node: '>=14'}
    +  '@unocss/config@0.59.4':
         dependencies:
           '@unocss/core': 0.59.4
           unconfig: 0.3.13
    -    dev: true
     
    -  /@unocss/core@0.59.4:
    -    resolution: {integrity: sha512-bBZ1sgcAtezQVZ1BST9IS3jqcsTLyqKNjiIf7FTnX3DHpfpYuMDFzSOtmkZDzBleOLO/CtcRWjT0HwTSQAmV0A==}
    -    dev: true
    +  '@unocss/core@0.59.4': {}
     
    -  /@unocss/extractor-arbitrary-variants@0.59.4:
    -    resolution: {integrity: sha512-RDe4FgMGJQ+tp9GLvhPHni7Cc2O0lHBRMElVlN8LoXJAdODMICdbrEPGJlEfrc+7x/QgVFoR895KpYJh3hIgGA==}
    +  '@unocss/extractor-arbitrary-variants@0.59.4':
         dependencies:
           '@unocss/core': 0.59.4
    -    dev: true
     
    -  /@unocss/inspector@0.59.4:
    -    resolution: {integrity: sha512-QczJFNDiggmekkJyNcbcZIUVwlhvxz7ZwjnSf0w7K4znxfjKkZ1hNUbqLviM1HumkTKOdT27VISW7saN/ysO4w==}
    +  '@unocss/inspector@0.59.4':
         dependencies:
           '@unocss/core': 0.59.4
           '@unocss/rule-utils': 0.59.4
           gzip-size: 6.0.0
           sirv: 2.0.4
    -    dev: true
     
    -  /@unocss/postcss@0.59.4(postcss@8.4.38):
    -    resolution: {integrity: sha512-KVz+AD7McHKp7VEWHbFahhyyVEo0oP/e1vnuNSuPlHthe+1V2zfH6lps+iJcvfL2072r5J+0PvD/1kOp5ryUSg==}
    -    engines: {node: '>=14'}
    -    peerDependencies:
    -      postcss: ^8.4.21
    +  '@unocss/postcss@0.59.4(postcss@8.4.38)':
         dependencies:
           '@unocss/config': 0.59.4
           '@unocss/core': 0.59.4
    @@ -5052,87 +11926,62 @@ packages:
           fast-glob: 3.3.2
           magic-string: 0.30.10
           postcss: 8.4.38
    -    dev: true
     
    -  /@unocss/preset-attributify@0.59.4:
    -    resolution: {integrity: sha512-BeogWuYaIakC1gmOZFFCjFVWmu/m3AqEX8UYQS6tY6lAaK2L4Qf4AstYBlT2zAMxy9LNxPDxFQrvfSfFk5Klsg==}
    +  '@unocss/preset-attributify@0.59.4':
         dependencies:
           '@unocss/core': 0.59.4
    -    dev: true
     
    -  /@unocss/preset-icons@0.59.4:
    -    resolution: {integrity: sha512-Afjwh5oC4KRE8TNZDUkRK6hvvV1wKLrS1e5trniE0B0AM9HK3PBolQaIU7QmzPv6WQrog+MZgIwafg1eqsPUCA==}
    +  '@unocss/preset-icons@0.59.4':
         dependencies:
           '@iconify/utils': 2.1.23
           '@unocss/core': 0.59.4
           ofetch: 1.3.4
         transitivePeerDependencies:
           - supports-color
    -    dev: true
     
    -  /@unocss/preset-mini@0.59.4:
    -    resolution: {integrity: sha512-ZLywGrXi1OCr4My5vX2rLUb5Xgx6ufR9WTQOvpQJGBdIV/jnZn/pyE5avCs476SnOq2K172lnd8mFmTK7/zArA==}
    +  '@unocss/preset-mini@0.59.4':
         dependencies:
           '@unocss/core': 0.59.4
           '@unocss/extractor-arbitrary-variants': 0.59.4
           '@unocss/rule-utils': 0.59.4
    -    dev: true
     
    -  /@unocss/preset-tagify@0.59.4:
    -    resolution: {integrity: sha512-vWMdTUoghOSmTbdmZtERssffmdUdOuhh4vUdl0R8Kv6KxB0PkvEFCu2FItn97nRJdSPlZSFxxDkaOIg9w+STNQ==}
    +  '@unocss/preset-tagify@0.59.4':
         dependencies:
           '@unocss/core': 0.59.4
    -    dev: true
     
    -  /@unocss/preset-typography@0.59.4:
    -    resolution: {integrity: sha512-ZX9bxZUqlXK1qEDzO5lkK96ICt9itR/oNyn/7mMc1JPqwj263LumQMn5silocgzoLSUXEeq//L6GylqYjkL8GA==}
    +  '@unocss/preset-typography@0.59.4':
         dependencies:
           '@unocss/core': 0.59.4
           '@unocss/preset-mini': 0.59.4
    -    dev: true
     
    -  /@unocss/preset-uno@0.59.4:
    -    resolution: {integrity: sha512-G1f8ZluplvXZ3bERj+sM/8zzY//XD++nNOlAQNKOANSVht3qEoJebrfEiMClNpA5qW5VWOZhEhPkh0M7GsXtnA==}
    +  '@unocss/preset-uno@0.59.4':
         dependencies:
           '@unocss/core': 0.59.4
           '@unocss/preset-mini': 0.59.4
           '@unocss/preset-wind': 0.59.4
           '@unocss/rule-utils': 0.59.4
    -    dev: true
     
    -  /@unocss/preset-web-fonts@0.59.4:
    -    resolution: {integrity: sha512-ehutTjKHnf2KPmdatN42N9a8+y+glKSU3UlcBRNsVIIXVIlaBQuPVGZSPhnMtrKD17IgWylXq2K6RJK+ab0hZA==}
    +  '@unocss/preset-web-fonts@0.59.4':
         dependencies:
           '@unocss/core': 0.59.4
           ofetch: 1.3.4
    -    dev: true
     
    -  /@unocss/preset-wind@0.59.4:
    -    resolution: {integrity: sha512-CNX6w0ZpSQg/i1oF0/WKWzto8PtLqoknC5h8JmmcGb7VsyBQeV0oNnhbURxpbuMEhbv1MWVIGvk8a+P6y0rFkQ==}
    +  '@unocss/preset-wind@0.59.4':
         dependencies:
           '@unocss/core': 0.59.4
           '@unocss/preset-mini': 0.59.4
           '@unocss/rule-utils': 0.59.4
    -    dev: true
     
    -  /@unocss/reset@0.59.4:
    -    resolution: {integrity: sha512-Upy4xzdWl4RChbLAXBq1BoR4WqxXMoIfjvtcwSZcZK2sylXCFAseSWnyzJFdSiXPqNfmMuNgPXgiSxiQB+cmNA==}
    -    dev: true
    +  '@unocss/reset@0.59.4': {}
     
    -  /@unocss/rule-utils@0.59.4:
    -    resolution: {integrity: sha512-1qoLJlBWAkS4D4sg73990S1MT7E8E5md/YhopKjTQuEC9SyeVmEg+5pR/Xd8xhPKMqbcuBPl/DS8b6l/GQO56A==}
    -    engines: {node: '>=14'}
    +  '@unocss/rule-utils@0.59.4':
         dependencies:
           '@unocss/core': 0.59.4
           magic-string: 0.30.10
    -    dev: true
     
    -  /@unocss/scope@0.59.4:
    -    resolution: {integrity: sha512-wBQJ39kw4Tfj4km7AoGvSIobPKVnRZVsgc0bema5Y0PL3g1NeVQ/LopBI2zEJWdpxGXUWxSDsXm7BZo6qVlD/A==}
    -    dev: true
    +  '@unocss/scope@0.59.4': {}
     
    -  /@unocss/transformer-attributify-jsx-babel@0.59.4:
    -    resolution: {integrity: sha512-xtCRSgeTaDBiNJLVX7oOSFe63JiFB5nrdK23PHn3IlZM9O7Bxx4ZxI3MQJtFZFQNE+INFko+DVyY1WiFEm1p/Q==}
    +  '@unocss/transformer-attributify-jsx-babel@0.59.4':
         dependencies:
           '@babel/core': 7.24.5
           '@babel/plugin-syntax-jsx': 7.24.1(@babel/core@7.24.5)
    @@ -5140,38 +11989,26 @@ packages:
           '@unocss/core': 0.59.4
         transitivePeerDependencies:
           - supports-color
    -    dev: true
     
    -  /@unocss/transformer-attributify-jsx@0.59.4:
    -    resolution: {integrity: sha512-m4b83utzKMfUQH/45V2QkjJoXd8Tu2pRP1nic91Xf7QRceyKDD+BxoTneo2JNC2K274cQu7HqqotnCm2aFfEGw==}
    +  '@unocss/transformer-attributify-jsx@0.59.4':
         dependencies:
           '@unocss/core': 0.59.4
    -    dev: true
     
    -  /@unocss/transformer-compile-class@0.59.4:
    -    resolution: {integrity: sha512-Vgk2OCLPW0pU+Uzr1IgDtHVspSBb+gPrQFkV+5gxHk9ZdKi3oYKxLuufVWYDSwv7o9yfQGbYrMH9YLsjRsnA7Q==}
    +  '@unocss/transformer-compile-class@0.59.4':
         dependencies:
           '@unocss/core': 0.59.4
    -    dev: true
     
    -  /@unocss/transformer-directives@0.59.4:
    -    resolution: {integrity: sha512-nXUTEclUbs0vQ4KfLhKt4J/5SLSEq1az2FNlJmiXMmqmn75X89OrtCu2OJu9sGXhn+YyBApxgcSSdxmtpqMi1Q==}
    +  '@unocss/transformer-directives@0.59.4':
         dependencies:
           '@unocss/core': 0.59.4
           '@unocss/rule-utils': 0.59.4
           css-tree: 2.3.1
    -    dev: true
     
    -  /@unocss/transformer-variant-group@0.59.4:
    -    resolution: {integrity: sha512-9XLixxn1NRgP62Kj4R/NC/rpqhql5F2s6ulJ8CAMTEbd/NylVhEANluPGDVUGcLJ4cj6E02hFa8C1PLGSm7/xw==}
    +  '@unocss/transformer-variant-group@0.59.4':
         dependencies:
           '@unocss/core': 0.59.4
    -    dev: true
     
    -  /@unocss/vite@0.59.4(rollup@2.79.1)(vite@5.2.11):
    -    resolution: {integrity: sha512-q7GN7vkQYn79n7vYIUlaa7gXGwc7pk0Qo3z3ZFwWGE43/DtZnn2Hwl5UjgBAgi9McA+xqHJEHRsJnI7HJPHUYA==}
    -    peerDependencies:
    -      vite: ^2.9.0 || ^3.0.0-0 || ^4.0.0 || ^5.0.0-0
    +  '@unocss/vite@0.59.4(rollup@2.79.1)(vite@5.2.10(@types/node@20.12.7)(terser@5.31.0))':
         dependencies:
           '@ampproject/remapping': 2.3.0
           '@rollup/pluginutils': 5.1.0(rollup@2.79.1)
    @@ -5183,49 +12020,20 @@ packages:
           chokidar: 3.6.0
           fast-glob: 3.3.2
           magic-string: 0.30.10
    -      vite: 5.2.11(@types/node@20.12.12)
    +      vite: 5.2.10(@types/node@20.12.7)(terser@5.31.0)
         transitivePeerDependencies:
           - rollup
    -    dev: true
     
    -  /@vite-pwa/vitepress@0.4.0(vite-plugin-pwa@0.19.8):
    -    resolution: {integrity: sha512-MrsSCK5EBCzQAQgq5/3XHaFIjkypda58Wzy6PkDwZoRHnWexik0C2GUxMOe+RA+qdpGxB0mEkhqajeOmuYMvhw==}
    -    peerDependencies:
    -      '@vite-pwa/assets-generator': ^0.2.4
    -      vite-plugin-pwa: '>=0.19.0 <1'
    -    peerDependenciesMeta:
    -      '@vite-pwa/assets-generator':
    -        optional: true
    +  '@vite-pwa/vitepress@0.4.0(vite-plugin-pwa@0.19.8(vite@5.2.10(@types/node@20.12.7)(terser@5.31.0))(workbox-build@7.1.0(@types/babel__core@7.20.5))(workbox-window@7.0.0))':
         dependencies:
    -      vite-plugin-pwa: 0.19.8(vite@5.2.11)(workbox-build@7.1.0)(workbox-window@7.0.0)
    -    dev: true
    +      vite-plugin-pwa: 0.19.8(vite@5.2.10(@types/node@20.12.7)(terser@5.31.0))(workbox-build@7.1.0(@types/babel__core@7.20.5))(workbox-window@7.0.0)
     
    -  /@vitejs/plugin-vue@5.0.4(vite@5.2.10)(vue@3.4.26):
    -    resolution: {integrity: sha512-WS3hevEszI6CEVEx28F8RjTX97k3KsrcY6kvTg7+Whm5y3oYvcqzVeGCU3hxSAn4uY2CLCkeokkGKpoctccilQ==}
    -    engines: {node: ^18.0.0 || >=20.0.0}
    -    peerDependencies:
    -      vite: ^5.0.0
    -      vue: ^3.2.25
    +  '@vitejs/plugin-vue@5.0.4(vite@5.2.10(@types/node@20.12.7)(terser@5.31.0))(vue@3.4.26(typescript@5.4.5))':
         dependencies:
    -      vite: 5.2.10(@types/node@20.12.12)
    +      vite: 5.2.10(@types/node@20.12.7)(terser@5.31.0)
           vue: 3.4.26(typescript@5.4.5)
    -    dev: true
    -
    -  /@vitejs/plugin-vue@5.0.4(vite@5.2.11)(vue@3.4.27):
    -    resolution: {integrity: sha512-WS3hevEszI6CEVEx28F8RjTX97k3KsrcY6kvTg7+Whm5y3oYvcqzVeGCU3hxSAn4uY2CLCkeokkGKpoctccilQ==}
    -    engines: {node: ^18.0.0 || >=20.0.0}
    -    peerDependencies:
    -      vite: ^5.0.0
    -      vue: ^3.2.25
    -    dependencies:
    -      vite: 5.2.11(@types/node@20.12.12)
    -      vue: 3.4.27(typescript@5.4.5)
    -    dev: true
     
    -  /@vitest/coverage-v8@1.5.3(vitest@1.5.3):
    -    resolution: {integrity: sha512-DPyGSu/fPHOJuPxzFSQoT4N/Fu/2aJfZRtEpEp8GI7NHsXBGE94CQ+pbEGBUMFjatsHPDJw/+TAF9r4ens2CNw==}
    -    peerDependencies:
    -      vitest: 1.5.3
    +  '@vitest/coverage-v8@1.5.3(vitest@1.5.3(@types/node@20.12.7)(@vitest/ui@1.5.3)(jsdom@24.0.0)(terser@5.31.0))':
         dependencies:
           '@ampproject/remapping': 2.3.0
           '@bcoe/v8-coverage': 0.2.3
    @@ -5240,45 +12048,33 @@ packages:
           std-env: 3.7.0
           strip-literal: 2.1.0
           test-exclude: 6.0.0
    -      vitest: 1.5.3(@types/node@20.12.12)(@vitest/ui@1.5.3)(jsdom@24.0.0)
    +      vitest: 1.5.3(@types/node@20.12.7)(@vitest/ui@1.5.3)(jsdom@24.0.0)(terser@5.31.0)
         transitivePeerDependencies:
           - supports-color
    -    dev: true
     
    -  /@vitest/expect@1.5.3:
    -    resolution: {integrity: sha512-y+waPz31pOFr3rD7vWTbwiLe5+MgsMm40jTZbQE8p8/qXyBX3CQsIXRx9XK12IbY7q/t5a5aM/ckt33b4PxK2g==}
    +  '@vitest/expect@1.5.3':
         dependencies:
           '@vitest/spy': 1.5.3
           '@vitest/utils': 1.5.3
           chai: 4.4.1
    -    dev: true
     
    -  /@vitest/runner@1.5.3:
    -    resolution: {integrity: sha512-7PlfuReN8692IKQIdCxwir1AOaP5THfNkp0Uc4BKr2na+9lALNit7ub9l3/R7MP8aV61+mHKRGiqEKRIwu6iiQ==}
    +  '@vitest/runner@1.5.3':
         dependencies:
           '@vitest/utils': 1.5.3
           p-limit: 5.0.0
           pathe: 1.1.2
    -    dev: true
     
    -  /@vitest/snapshot@1.5.3:
    -    resolution: {integrity: sha512-K3mvIsjyKYBhNIDujMD2gfQEzddLe51nNOAf45yKRt/QFJcUIeTQd2trRvv6M6oCBHNVnZwFWbQ4yj96ibiDsA==}
    +  '@vitest/snapshot@1.5.3':
         dependencies:
           magic-string: 0.30.10
           pathe: 1.1.2
           pretty-format: 29.7.0
    -    dev: true
     
    -  /@vitest/spy@1.5.3:
    -    resolution: {integrity: sha512-Llj7Jgs6lbnL55WoshJUUacdJfjU2honvGcAJBxhra5TPEzTJH8ZuhI3p/JwqqfnTr4PmP7nDmOXP53MS7GJlg==}
    +  '@vitest/spy@1.5.3':
         dependencies:
           tinyspy: 2.2.1
    -    dev: true
     
    -  /@vitest/ui@1.5.3(vitest@1.5.3):
    -    resolution: {integrity: sha512-DoSA5YxcUmeBEK7kJHzXiL2I0d9AijWI33arnUrwiWFDxgZPDxTjvSVsiXhe8qfqhloIHkwazl5E2rhlDd/ErA==}
    -    peerDependencies:
    -      vitest: 1.5.3
    +  '@vitest/ui@1.5.3(vitest@1.5.3)':
         dependencies:
           '@vitest/utils': 1.5.3
           fast-glob: 3.3.2
    @@ -5287,80 +12083,49 @@ packages:
           pathe: 1.1.2
           picocolors: 1.0.0
           sirv: 2.0.4
    -      vitest: 1.5.3(@types/node@20.12.12)(@vitest/ui@1.5.3)(jsdom@24.0.0)
    -    dev: true
    +      vitest: 1.5.3(@types/node@20.12.7)(@vitest/ui@1.5.3)(jsdom@24.0.0)(terser@5.31.0)
     
    -  /@vitest/utils@1.5.3:
    -    resolution: {integrity: sha512-rE9DTN1BRhzkzqNQO+kw8ZgfeEBCLXiHJwetk668shmNBpSagQxneT5eSqEBLP+cqSiAeecvQmbpFfdMyLcIQA==}
    +  '@vitest/utils@1.5.3':
         dependencies:
           diff-sequences: 29.6.3
           estree-walker: 3.0.3
           loupe: 2.3.7
           pretty-format: 29.7.0
    -    dev: true
     
    -  /@vue/compat@3.4.21(vue@3.4.21):
    -    resolution: {integrity: sha512-hKM6C5tTqduZcNOwp4oBa6qplAQ0NsMvGtLCTKmkhjVqrFzUfS9CyLN6ktzEfPwbgeC/wYYd7PtH+H8jNGvTjQ==}
    -    peerDependencies:
    -      vue: 3.4.21
    +  '@vue/compat@3.4.21(vue@3.4.21(typescript@5.4.5))':
         dependencies:
           '@babel/parser': 7.24.5
           estree-walker: 2.0.2
           source-map-js: 1.2.0
           vue: 3.4.21(typescript@5.4.5)
    -    dev: false
     
    -  /@vue/compiler-core@3.4.21:
    -    resolution: {integrity: sha512-MjXawxZf2SbZszLPYxaFCjxfibYrzr3eYbKxwpLR9EQN+oaziSu3qKVbwBERj1IFIB8OLUewxB5m/BFzi613og==}
    +  '@vue/compiler-core@3.4.21':
         dependencies:
           '@babel/parser': 7.24.5
           '@vue/shared': 3.4.21
           entities: 4.5.0
           estree-walker: 2.0.2
           source-map-js: 1.2.0
    -    dev: false
     
    -  /@vue/compiler-core@3.4.26:
    -    resolution: {integrity: sha512-N9Vil6Hvw7NaiyFUFBPXrAyETIGlQ8KcFMkyk6hW1Cl6NvoqvP+Y8p1Eqvx+UdqsnrnI9+HMUEJegzia3mhXmQ==}
    +  '@vue/compiler-core@3.4.26':
         dependencies:
           '@babel/parser': 7.24.5
           '@vue/shared': 3.4.26
           entities: 4.5.0
           estree-walker: 2.0.2
           source-map-js: 1.2.0
    -    dev: true
    -
    -  /@vue/compiler-core@3.4.27:
    -    resolution: {integrity: sha512-E+RyqY24KnyDXsCuQrI+mlcdW3ALND6U7Gqa/+bVwbcpcR3BRRIckFoz7Qyd4TTlnugtwuI7YgjbvsLmxb+yvg==}
    -    dependencies:
    -      '@babel/parser': 7.24.5
    -      '@vue/shared': 3.4.27
    -      entities: 4.5.0
    -      estree-walker: 2.0.2
    -      source-map-js: 1.2.0
     
    -  /@vue/compiler-dom@3.4.21:
    -    resolution: {integrity: sha512-IZC6FKowtT1sl0CR5DpXSiEB5ayw75oT2bma1BEhV7RRR1+cfwLrxc2Z8Zq/RGFzJ8w5r9QtCOvTjQgdn0IKmA==}
    +  '@vue/compiler-dom@3.4.21':
         dependencies:
           '@vue/compiler-core': 3.4.21
           '@vue/shared': 3.4.21
    -    dev: false
     
    -  /@vue/compiler-dom@3.4.26:
    -    resolution: {integrity: sha512-4CWbR5vR9fMg23YqFOhr6t6WB1Fjt62d6xdFPyj8pxrYub7d+OgZaObMsoxaF9yBUHPMiPFK303v61PwAuGvZA==}
    +  '@vue/compiler-dom@3.4.26':
         dependencies:
           '@vue/compiler-core': 3.4.26
           '@vue/shared': 3.4.26
    -    dev: true
    -
    -  /@vue/compiler-dom@3.4.27:
    -    resolution: {integrity: sha512-kUTvochG/oVgE1w5ViSr3KUBh9X7CWirebA3bezTbB5ZKBQZwR2Mwj9uoSKRMFcz4gSMzzLXBPD6KpCLb9nvWw==}
    -    dependencies:
    -      '@vue/compiler-core': 3.4.27
    -      '@vue/shared': 3.4.27
     
    -  /@vue/compiler-sfc@3.4.21:
    -    resolution: {integrity: sha512-me7epoTxYlY+2CUM7hy9PCDdpMPfIwrOvAXud2Upk10g4YLv9UBW7kL798TvMeDhPthkZ0CONNrK2GoeI1ODiQ==}
    +  '@vue/compiler-sfc@3.4.21':
         dependencies:
           '@babel/parser': 7.24.5
           '@vue/compiler-core': 3.4.21
    @@ -5371,10 +12136,8 @@ packages:
           magic-string: 0.30.10
           postcss: 8.4.38
           source-map-js: 1.2.0
    -    dev: false
     
    -  /@vue/compiler-sfc@3.4.26:
    -    resolution: {integrity: sha512-It1dp+FAOCgluYSVYlDn5DtZBxk1NCiJJfu2mlQqa/b+k8GL6NG/3/zRbJnHdhV2VhxFghaDq5L4K+1dakW6cw==}
    +  '@vue/compiler-sfc@3.4.26':
         dependencies:
           '@babel/parser': 7.24.5
           '@vue/compiler-core': 3.4.26
    @@ -5385,57 +12148,26 @@ packages:
           magic-string: 0.30.10
           postcss: 8.4.38
           source-map-js: 1.2.0
    -    dev: true
    -
    -  /@vue/compiler-sfc@3.4.27:
    -    resolution: {integrity: sha512-nDwntUEADssW8e0rrmE0+OrONwmRlegDA1pD6QhVeXxjIytV03yDqTey9SBDiALsvAd5U4ZrEKbMyVXhX6mCGA==}
    -    dependencies:
    -      '@babel/parser': 7.24.5
    -      '@vue/compiler-core': 3.4.27
    -      '@vue/compiler-dom': 3.4.27
    -      '@vue/compiler-ssr': 3.4.27
    -      '@vue/shared': 3.4.27
    -      estree-walker: 2.0.2
    -      magic-string: 0.30.10
    -      postcss: 8.4.38
    -      source-map-js: 1.2.0
     
    -  /@vue/compiler-ssr@3.4.21:
    -    resolution: {integrity: sha512-M5+9nI2lPpAsgXOGQobnIueVqc9sisBFexh5yMIMRAPYLa7+5wEJs8iqOZc1WAa9WQbx9GR2twgznU8LTIiZ4Q==}
    +  '@vue/compiler-ssr@3.4.21':
         dependencies:
           '@vue/compiler-dom': 3.4.21
           '@vue/shared': 3.4.21
    -    dev: false
     
    -  /@vue/compiler-ssr@3.4.26:
    -    resolution: {integrity: sha512-FNwLfk7LlEPRY/g+nw2VqiDKcnDTVdCfBREekF8X74cPLiWHUX6oldktf/Vx28yh4STNy7t+/yuLoMBBF7YDiQ==}
    +  '@vue/compiler-ssr@3.4.26':
         dependencies:
           '@vue/compiler-dom': 3.4.26
           '@vue/shared': 3.4.26
    -    dev: true
    -
    -  /@vue/compiler-ssr@3.4.27:
    -    resolution: {integrity: sha512-CVRzSJIltzMG5FcidsW0jKNQnNRYC8bT21VegyMMtHmhW3UOI7knmUehzswXLrExDLE6lQCZdrhD4ogI7c+vuw==}
    -    dependencies:
    -      '@vue/compiler-dom': 3.4.27
    -      '@vue/shared': 3.4.27
     
    -  /@vue/devtools-api@6.6.1:
    -    resolution: {integrity: sha512-LgPscpE3Vs0x96PzSSB4IGVSZXZBZHpfxs+ZA1d+VEPwHdOXowy/Y2CsvCAIFrf+ssVU1pD1jidj505EpUnfbA==}
    -    dev: false
    +  '@vue/devtools-api@6.6.1': {}
     
    -  /@vue/devtools-api@7.1.3(vue@3.4.26):
    -    resolution: {integrity: sha512-W8IwFJ/o5iUk78jpqhvScbgCsPiOp2uileDVC0NDtW38gCWhsnu9SeBTjcdu3lbwLdsjc+H1c5Msd/x9ApbcFA==}
    +  '@vue/devtools-api@7.1.3(vue@3.4.26(typescript@5.4.5))':
         dependencies:
    -      '@vue/devtools-kit': 7.1.3(vue@3.4.26)
    +      '@vue/devtools-kit': 7.1.3(vue@3.4.26(typescript@5.4.5))
         transitivePeerDependencies:
           - vue
    -    dev: true
     
    -  /@vue/devtools-kit@7.1.3(vue@3.4.26):
    -    resolution: {integrity: sha512-NFskFSJMVCBXTkByuk2llzI3KD3Blcm7WqiRorWjD6nClHPgkH5BobDH08rfulqq5ocRt5xV+3qOT1Q9FXJrwQ==}
    -    peerDependencies:
    -      vue: ^3.0.0
    +  '@vue/devtools-kit@7.1.3(vue@3.4.26(typescript@5.4.5))':
         dependencies:
           '@vue/devtools-shared': 7.1.3
           hookable: 5.5.3
    @@ -5443,212 +12175,89 @@ packages:
           perfect-debounce: 1.0.0
           speakingurl: 14.0.1
           vue: 3.4.26(typescript@5.4.5)
    -    dev: true
     
    -  /@vue/devtools-shared@7.1.3:
    -    resolution: {integrity: sha512-KJ3AfgjTn3tJz/XKF+BlVShNPecim3G21oHRue+YQOsooW+0s+qXvm09U09aO7yBza5SivL1QgxSrzAbiKWjhQ==}
    +  '@vue/devtools-shared@7.1.3':
         dependencies:
           rfdc: 1.3.1
    -    dev: true
     
    -  /@vue/reactivity@3.4.21:
    -    resolution: {integrity: sha512-UhenImdc0L0/4ahGCyEzc/pZNwVgcglGy9HVzJ1Bq2Mm9qXOpP8RyNTjookw/gOCUlXSEtuZ2fUg5nrHcoqJcw==}
    +  '@vue/reactivity@3.4.21':
         dependencies:
           '@vue/shared': 3.4.21
    -    dev: false
     
    -  /@vue/reactivity@3.4.26:
    -    resolution: {integrity: sha512-E/ynEAu/pw0yotJeLdvZEsp5Olmxt+9/WqzvKff0gE67tw73gmbx6tRkiagE/eH0UCubzSlGRebCbidB1CpqZQ==}
    +  '@vue/reactivity@3.4.26':
         dependencies:
           '@vue/shared': 3.4.26
    -    dev: true
    -
    -  /@vue/reactivity@3.4.27:
    -    resolution: {integrity: sha512-kK0g4NknW6JX2yySLpsm2jlunZJl2/RJGZ0H9ddHdfBVHcNzxmQ0sS0b09ipmBoQpY8JM2KmUw+a6sO8Zo+zIA==}
    -    dependencies:
    -      '@vue/shared': 3.4.27
     
    -  /@vue/runtime-core@3.4.21:
    -    resolution: {integrity: sha512-pQthsuYzE1XcGZznTKn73G0s14eCJcjaLvp3/DKeYWoFacD9glJoqlNBxt3W2c5S40t6CCcpPf+jG01N3ULyrA==}
    +  '@vue/runtime-core@3.4.21':
         dependencies:
           '@vue/reactivity': 3.4.21
           '@vue/shared': 3.4.21
    -    dev: false
     
    -  /@vue/runtime-core@3.4.26:
    -    resolution: {integrity: sha512-AFJDLpZvhT4ujUgZSIL9pdNcO23qVFh7zWCsNdGQBw8ecLNxOOnPcK9wTTIYCmBJnuPHpukOwo62a2PPivihqw==}
    +  '@vue/runtime-core@3.4.26':
         dependencies:
           '@vue/reactivity': 3.4.26
           '@vue/shared': 3.4.26
    -    dev: true
    -
    -  /@vue/runtime-core@3.4.27:
    -    resolution: {integrity: sha512-7aYA9GEbOOdviqVvcuweTLe5Za4qBZkUY7SvET6vE8kyypxVgaT1ixHLg4urtOlrApdgcdgHoTZCUuTGap/5WA==}
    -    dependencies:
    -      '@vue/reactivity': 3.4.27
    -      '@vue/shared': 3.4.27
     
    -  /@vue/runtime-dom@3.4.21:
    -    resolution: {integrity: sha512-gvf+C9cFpevsQxbkRBS1NpU8CqxKw0ebqMvLwcGQrNpx6gqRDodqKqA+A2VZZpQ9RpK2f9yfg8VbW/EpdFUOJw==}
    +  '@vue/runtime-dom@3.4.21':
         dependencies:
           '@vue/runtime-core': 3.4.21
           '@vue/shared': 3.4.21
           csstype: 3.1.3
    -    dev: false
     
    -  /@vue/runtime-dom@3.4.26:
    -    resolution: {integrity: sha512-UftYA2hUXR2UOZD/Fc3IndZuCOOJgFxJsWOxDkhfVcwLbsfh2CdXE2tG4jWxBZuDAs9J9PzRTUFt1PgydEtItw==}
    +  '@vue/runtime-dom@3.4.26':
         dependencies:
           '@vue/runtime-core': 3.4.26
           '@vue/shared': 3.4.26
           csstype: 3.1.3
    -    dev: true
    -
    -  /@vue/runtime-dom@3.4.27:
    -    resolution: {integrity: sha512-ScOmP70/3NPM+TW9hvVAz6VWWtZJqkbdf7w6ySsws+EsqtHvkhxaWLecrTorFxsawelM5Ys9FnDEMt6BPBDS0Q==}
    -    dependencies:
    -      '@vue/runtime-core': 3.4.27
    -      '@vue/shared': 3.4.27
    -      csstype: 3.1.3
     
    -  /@vue/server-renderer@3.4.21(vue@3.4.21):
    -    resolution: {integrity: sha512-aV1gXyKSN6Rz+6kZ6kr5+Ll14YzmIbeuWe7ryJl5muJ4uwSwY/aStXTixx76TwkZFJLm1aAlA/HSWEJ4EyiMkg==}
    -    peerDependencies:
    -      vue: 3.4.21
    +  '@vue/server-renderer@3.4.21(vue@3.4.21(typescript@5.4.5))':
         dependencies:
           '@vue/compiler-ssr': 3.4.21
           '@vue/shared': 3.4.21
           vue: 3.4.21(typescript@5.4.5)
    -    dev: false
     
    -  /@vue/server-renderer@3.4.26(vue@3.4.26):
    -    resolution: {integrity: sha512-xoGAqSjYDPGAeRWxeoYwqJFD/gw7mpgzOvSxEmjWaFO2rE6qpbD1PC172YRpvKhrihkyHJkNDADFXTfCyVGhKw==}
    -    peerDependencies:
    -      vue: 3.4.26
    +  '@vue/server-renderer@3.4.26(vue@3.4.26(typescript@5.4.5))':
         dependencies:
           '@vue/compiler-ssr': 3.4.26
           '@vue/shared': 3.4.26
           vue: 3.4.26(typescript@5.4.5)
    -    dev: true
    -
    -  /@vue/server-renderer@3.4.27(vue@3.4.27):
    -    resolution: {integrity: sha512-dlAMEuvmeA3rJsOMJ2J1kXU7o7pOxgsNHVr9K8hB3ImIkSuBrIdy0vF66h8gf8Tuinf1TK3mPAz2+2sqyf3KzA==}
    -    peerDependencies:
    -      vue: 3.4.27
    -    dependencies:
    -      '@vue/compiler-ssr': 3.4.27
    -      '@vue/shared': 3.4.27
    -      vue: 3.4.27(typescript@5.4.5)
    -
    -  /@vue/shared@3.4.21:
    -    resolution: {integrity: sha512-PuJe7vDIi6VYSinuEbUIQgMIRZGgM8e4R+G+/dQTk0X1NEdvgvvgv7m+rfmDH1gZzyA1OjjoWskvHlfRNfQf3g==}
    -    dev: false
    -
    -  /@vue/shared@3.4.26:
    -    resolution: {integrity: sha512-Fg4zwR0GNnjzodMt3KRy2AWGMKQXByl56+4HjN87soxLNU9P5xcJkstAlIeEF3cU6UYOzmJl1tV0dVPGIljCnQ==}
    -    dev: true
     
    -  /@vue/shared@3.4.27:
    -    resolution: {integrity: sha512-DL3NmY2OFlqmYYrzp39yi3LDkKxa5vZVwxWdQ3rG0ekuWscHraeIbnI8t+aZK7qhYqEqWKTUdijadunb9pnrgA==}
    +  '@vue/shared@3.4.21': {}
     
    -  /@vueuse/core@10.9.0(vue@3.4.26):
    -    resolution: {integrity: sha512-/1vjTol8SXnx6xewDEKfS0Ra//ncg4Hb0DaZiwKf7drgfMsKFExQ+FnnENcN6efPen+1kIzhLQoGSy0eDUVOMg==}
    -    dependencies:
    -      '@types/web-bluetooth': 0.0.20
    -      '@vueuse/metadata': 10.9.0
    -      '@vueuse/shared': 10.9.0(vue@3.4.26)
    -      vue-demi: 0.14.7(vue@3.4.26)
    -    transitivePeerDependencies:
    -      - '@vue/composition-api'
    -      - vue
    -    dev: true
    +  '@vue/shared@3.4.26': {}
     
    -  /@vueuse/core@10.9.0(vue@3.4.27):
    -    resolution: {integrity: sha512-/1vjTol8SXnx6xewDEKfS0Ra//ncg4Hb0DaZiwKf7drgfMsKFExQ+FnnENcN6efPen+1kIzhLQoGSy0eDUVOMg==}
    +  '@vueuse/core@10.9.0(vue@3.4.26(typescript@5.4.5))':
         dependencies:
           '@types/web-bluetooth': 0.0.20
           '@vueuse/metadata': 10.9.0
    -      '@vueuse/shared': 10.9.0(vue@3.4.27)
    -      vue-demi: 0.14.7(vue@3.4.27)
    +      '@vueuse/shared': 10.9.0(vue@3.4.26(typescript@5.4.5))
    +      vue-demi: 0.14.7(vue@3.4.26(typescript@5.4.5))
         transitivePeerDependencies:
           - '@vue/composition-api'
           - vue
    -    dev: false
     
    -  /@vueuse/integrations@10.9.0(focus-trap@7.5.4)(vue@3.4.26):
    -    resolution: {integrity: sha512-acK+A01AYdWSvL4BZmCoJAcyHJ6EqhmkQEXbQLwev1MY7NBnS+hcEMx/BzVoR9zKI+UqEPMD9u6PsyAuiTRT4Q==}
    -    peerDependencies:
    -      async-validator: '*'
    -      axios: '*'
    -      change-case: '*'
    -      drauu: '*'
    -      focus-trap: '*'
    -      fuse.js: '*'
    -      idb-keyval: '*'
    -      jwt-decode: '*'
    -      nprogress: '*'
    -      qrcode: '*'
    -      sortablejs: '*'
    -      universal-cookie: '*'
    -    peerDependenciesMeta:
    -      async-validator:
    -        optional: true
    -      axios:
    -        optional: true
    -      change-case:
    -        optional: true
    -      drauu:
    -        optional: true
    -      focus-trap:
    -        optional: true
    -      fuse.js:
    -        optional: true
    -      idb-keyval:
    -        optional: true
    -      jwt-decode:
    -        optional: true
    -      nprogress:
    -        optional: true
    -      qrcode:
    -        optional: true
    -      sortablejs:
    -        optional: true
    -      universal-cookie:
    -        optional: true
    +  '@vueuse/integrations@10.9.0(axios@1.6.7)(focus-trap@7.5.4)(vue@3.4.26(typescript@5.4.5))':
         dependencies:
    -      '@vueuse/core': 10.9.0(vue@3.4.26)
    -      '@vueuse/shared': 10.9.0(vue@3.4.26)
    +      '@vueuse/core': 10.9.0(vue@3.4.26(typescript@5.4.5))
    +      '@vueuse/shared': 10.9.0(vue@3.4.26(typescript@5.4.5))
    +      vue-demi: 0.14.7(vue@3.4.26(typescript@5.4.5))
    +    optionalDependencies:
    +      axios: 1.6.7(debug@4.3.4)
           focus-trap: 7.5.4
    -      vue-demi: 0.14.7(vue@3.4.26)
         transitivePeerDependencies:
           - '@vue/composition-api'
           - vue
    -    dev: true
    -
    -  /@vueuse/metadata@10.9.0:
    -    resolution: {integrity: sha512-iddNbg3yZM0X7qFY2sAotomgdHK7YJ6sKUvQqbvwnf7TmaVPxS4EJydcNsVejNdS8iWCtDk+fYXr7E32nyTnGA==}
     
    -  /@vueuse/shared@10.9.0(vue@3.4.26):
    -    resolution: {integrity: sha512-Uud2IWncmAfJvRaFYzv5OHDli+FbOzxiVEQdLCKQKLyhz94PIyFC3CHcH7EDMwIn8NPtD06+PNbC/PiO0LGLtw==}
    -    dependencies:
    -      vue-demi: 0.14.7(vue@3.4.26)
    -    transitivePeerDependencies:
    -      - '@vue/composition-api'
    -      - vue
    -    dev: true
    +  '@vueuse/metadata@10.9.0': {}
     
    -  /@vueuse/shared@10.9.0(vue@3.4.27):
    -    resolution: {integrity: sha512-Uud2IWncmAfJvRaFYzv5OHDli+FbOzxiVEQdLCKQKLyhz94PIyFC3CHcH7EDMwIn8NPtD06+PNbC/PiO0LGLtw==}
    +  '@vueuse/shared@10.9.0(vue@3.4.26(typescript@5.4.5))':
         dependencies:
    -      vue-demi: 0.14.7(vue@3.4.27)
    +      vue-demi: 0.14.7(vue@3.4.26(typescript@5.4.5))
         transitivePeerDependencies:
           - '@vue/composition-api'
           - vue
    -    dev: false
     
    -  /@wdio/config@7.31.1(typescript@5.4.5):
    -    resolution: {integrity: sha512-WAfswbCatwiaDVqy6kfF/5T8/WS/US/SRhBGUFrfBuGMIe+RRoHgy7jURFWSvUIE7CNHj8yvs46fLUcxhXjzcQ==}
    -    engines: {node: '>=12.0.0'}
    +  '@wdio/config@7.31.1(typescript@5.4.5)':
         dependencies:
           '@types/glob': 8.1.0
           '@wdio/logger': 7.26.0
    @@ -5658,106 +12267,68 @@ packages:
           glob: 8.1.0
         transitivePeerDependencies:
           - typescript
    -    dev: true
     
    -  /@wdio/logger@7.26.0:
    -    resolution: {integrity: sha512-kQj9s5JudAG9qB+zAAcYGPHVfATl2oqKgqj47yjehOQ1zzG33xmtL1ArFbQKWhDG32y1A8sN6b0pIqBEIwgg8Q==}
    -    engines: {node: '>=12.0.0'}
    +  '@wdio/logger@7.26.0':
         dependencies:
           chalk: 4.1.2
           loglevel: 1.9.1
           loglevel-plugin-prefix: 0.8.4
           strip-ansi: 6.0.1
    -    dev: true
     
    -  /@wdio/protocols@7.27.0:
    -    resolution: {integrity: sha512-hT/U22R5i3HhwPjkaKAG0yd59eaOaZB0eibRj2+esCImkb5Y6rg8FirrlYRxIGFVBl0+xZV0jKHzR5+o097nvg==}
    -    engines: {node: '>=12.0.0'}
    -    dev: true
    +  '@wdio/protocols@7.27.0': {}
     
    -  /@wdio/types@7.30.2(typescript@5.4.5):
    -    resolution: {integrity: sha512-uZ8o7FX8RyBsaXiOWa59UKTCHTtADNvOArYTcHNEIzt+rh4JdB/uwqfc8y4TCNA2kYm7PWaQpUFwpStLeg0H1Q==}
    -    engines: {node: '>=12.0.0'}
    -    peerDependencies:
    -      typescript: ^4.6.2
    -    peerDependenciesMeta:
    -      typescript:
    -        optional: true
    +  '@wdio/types@7.30.2(typescript@5.4.5)':
         dependencies:
    -      '@types/node': 18.19.33
    +      '@types/node': 18.19.31
           got: 11.8.6
    +    optionalDependencies:
           typescript: 5.4.5
    -    dev: true
     
    -  /@wdio/utils@7.30.2(typescript@5.4.5):
    -    resolution: {integrity: sha512-np7I+smszFUennbQKdzbMN/zUL3s3EZq9pCCUcTRjjs9TE4tnn0wfmGdoz2o7REYu6kn9NfFFJyVIM2VtBbKEA==}
    -    engines: {node: '>=12.0.0'}
    +  '@wdio/utils@7.30.2(typescript@5.4.5)':
         dependencies:
           '@wdio/logger': 7.26.0
           '@wdio/types': 7.30.2(typescript@5.4.5)
           p-iteration: 1.1.8
         transitivePeerDependencies:
           - typescript
    -    dev: true
     
    -  /@webassemblyjs/ast@1.12.1:
    -    resolution: {integrity: sha512-EKfMUOPRRUTy5UII4qJDGPpqfwjOmZ5jeGFwid9mnoqIFK+e0vqoi1qH56JpmZSzEL53jKnNzScdmftJyG5xWg==}
    +  '@webassemblyjs/ast@1.12.1':
         dependencies:
           '@webassemblyjs/helper-numbers': 1.11.6
           '@webassemblyjs/helper-wasm-bytecode': 1.11.6
    -    dev: true
     
    -  /@webassemblyjs/floating-point-hex-parser@1.11.6:
    -    resolution: {integrity: sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw==}
    -    dev: true
    +  '@webassemblyjs/floating-point-hex-parser@1.11.6': {}
     
    -  /@webassemblyjs/helper-api-error@1.11.6:
    -    resolution: {integrity: sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q==}
    -    dev: true
    +  '@webassemblyjs/helper-api-error@1.11.6': {}
     
    -  /@webassemblyjs/helper-buffer@1.12.1:
    -    resolution: {integrity: sha512-nzJwQw99DNDKr9BVCOZcLuJJUlqkJh+kVzVl6Fmq/tI5ZtEyWT1KZMyOXltXLZJmDtvLCDgwsyrkohEtopTXCw==}
    -    dev: true
    +  '@webassemblyjs/helper-buffer@1.12.1': {}
     
    -  /@webassemblyjs/helper-numbers@1.11.6:
    -    resolution: {integrity: sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g==}
    +  '@webassemblyjs/helper-numbers@1.11.6':
         dependencies:
           '@webassemblyjs/floating-point-hex-parser': 1.11.6
           '@webassemblyjs/helper-api-error': 1.11.6
           '@xtuc/long': 4.2.2
    -    dev: true
     
    -  /@webassemblyjs/helper-wasm-bytecode@1.11.6:
    -    resolution: {integrity: sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA==}
    -    dev: true
    +  '@webassemblyjs/helper-wasm-bytecode@1.11.6': {}
     
    -  /@webassemblyjs/helper-wasm-section@1.12.1:
    -    resolution: {integrity: sha512-Jif4vfB6FJlUlSbgEMHUyk1j234GTNG9dBJ4XJdOySoj518Xj0oGsNi59cUQF4RRMS9ouBUxDDdyBVfPTypa5g==}
    +  '@webassemblyjs/helper-wasm-section@1.12.1':
         dependencies:
           '@webassemblyjs/ast': 1.12.1
           '@webassemblyjs/helper-buffer': 1.12.1
           '@webassemblyjs/helper-wasm-bytecode': 1.11.6
           '@webassemblyjs/wasm-gen': 1.12.1
    -    dev: true
     
    -  /@webassemblyjs/ieee754@1.11.6:
    -    resolution: {integrity: sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg==}
    +  '@webassemblyjs/ieee754@1.11.6':
         dependencies:
           '@xtuc/ieee754': 1.2.0
    -    dev: true
     
    -  /@webassemblyjs/leb128@1.11.6:
    -    resolution: {integrity: sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ==}
    +  '@webassemblyjs/leb128@1.11.6':
         dependencies:
           '@xtuc/long': 4.2.2
    -    dev: true
     
    -  /@webassemblyjs/utf8@1.11.6:
    -    resolution: {integrity: sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA==}
    -    dev: true
    +  '@webassemblyjs/utf8@1.11.6': {}
     
    -  /@webassemblyjs/wasm-edit@1.12.1:
    -    resolution: {integrity: sha512-1DuwbVvADvS5mGnXbE+c9NfA8QRcZ6iKquqjjmR10k6o+zzsRVesil54DKexiowcFCPdr/Q0qaMgB01+SQ1u6g==}
    +  '@webassemblyjs/wasm-edit@1.12.1':
         dependencies:
           '@webassemblyjs/ast': 1.12.1
           '@webassemblyjs/helper-buffer': 1.12.1
    @@ -5767,29 +12338,23 @@ packages:
           '@webassemblyjs/wasm-opt': 1.12.1
           '@webassemblyjs/wasm-parser': 1.12.1
           '@webassemblyjs/wast-printer': 1.12.1
    -    dev: true
     
    -  /@webassemblyjs/wasm-gen@1.12.1:
    -    resolution: {integrity: sha512-TDq4Ojh9fcohAw6OIMXqiIcTq5KUXTGRkVxbSo1hQnSy6lAM5GSdfwWeSxpAo0YzgsgF182E/U0mDNhuA0tW7w==}
    +  '@webassemblyjs/wasm-gen@1.12.1':
         dependencies:
           '@webassemblyjs/ast': 1.12.1
           '@webassemblyjs/helper-wasm-bytecode': 1.11.6
           '@webassemblyjs/ieee754': 1.11.6
           '@webassemblyjs/leb128': 1.11.6
           '@webassemblyjs/utf8': 1.11.6
    -    dev: true
     
    -  /@webassemblyjs/wasm-opt@1.12.1:
    -    resolution: {integrity: sha512-Jg99j/2gG2iaz3hijw857AVYekZe2SAskcqlWIZXjji5WStnOpVoat3gQfT/Q5tb2djnCjBtMocY/Su1GfxPBg==}
    +  '@webassemblyjs/wasm-opt@1.12.1':
         dependencies:
           '@webassemblyjs/ast': 1.12.1
           '@webassemblyjs/helper-buffer': 1.12.1
           '@webassemblyjs/wasm-gen': 1.12.1
           '@webassemblyjs/wasm-parser': 1.12.1
    -    dev: true
     
    -  /@webassemblyjs/wasm-parser@1.12.1:
    -    resolution: {integrity: sha512-xikIi7c2FHXysxXe3COrVUPSheuBtpcfhbpFj4gmu7KRLYOzANztwUU0IbsqvMqzuNK2+glRGWCEqZo1WCLyAQ==}
    +  '@webassemblyjs/wasm-parser@1.12.1':
         dependencies:
           '@webassemblyjs/ast': 1.12.1
           '@webassemblyjs/helper-api-error': 1.11.6
    @@ -5797,70 +12362,42 @@ packages:
           '@webassemblyjs/ieee754': 1.11.6
           '@webassemblyjs/leb128': 1.11.6
           '@webassemblyjs/utf8': 1.11.6
    -    dev: true
     
    -  /@webassemblyjs/wast-printer@1.12.1:
    -    resolution: {integrity: sha512-+X4WAlOisVWQMikjbcvY2e0rwPsKQ9F688lksZhBcPycBBuii3O7m8FACbDMWDojpAqvjIncrG8J0XHKyQfVeA==}
    +  '@webassemblyjs/wast-printer@1.12.1':
         dependencies:
           '@webassemblyjs/ast': 1.12.1
           '@xtuc/long': 4.2.2
    -    dev: true
     
    -  /@webpack-cli/configtest@1.2.0(webpack-cli@4.10.0)(webpack@5.91.0):
    -    resolution: {integrity: sha512-4FB8Tj6xyVkyqjj1OaTqCjXYULB9FMkqQ8yGrZjRDrYh0nOE+7Lhs45WioWQQMV+ceFlE368Ukhe6xdvJM9Egg==}
    -    peerDependencies:
    -      webpack: 4.x.x || 5.x.x
    -      webpack-cli: 4.x.x
    +  '@webpack-cli/configtest@1.2.0(webpack-cli@4.10.0(webpack-dev-server@4.15.2)(webpack@5.91.0))(webpack@5.91.0(esbuild@0.20.2)(webpack-cli@4.10.0))':
         dependencies:
           webpack: 5.91.0(esbuild@0.20.2)(webpack-cli@4.10.0)
           webpack-cli: 4.10.0(webpack-dev-server@4.15.2)(webpack@5.91.0)
    -    dev: true
     
    -  /@webpack-cli/info@1.5.0(webpack-cli@4.10.0):
    -    resolution: {integrity: sha512-e8tSXZpw2hPl2uMJY6fsMswaok5FdlGNRTktvFk2sD8RjH0hE2+XistawJx1vmKteh4NmGmNUrp+Tb2w+udPcQ==}
    -    peerDependencies:
    -      webpack-cli: 4.x.x
    +  '@webpack-cli/info@1.5.0(webpack-cli@4.10.0(webpack-dev-server@4.15.2)(webpack@5.91.0))':
         dependencies:
           envinfo: 7.10.0
           webpack-cli: 4.10.0(webpack-dev-server@4.15.2)(webpack@5.91.0)
    -    dev: true
     
    -  /@webpack-cli/serve@1.7.0(webpack-cli@4.10.0)(webpack-dev-server@4.15.2):
    -    resolution: {integrity: sha512-oxnCNGj88fL+xzV+dacXs44HcDwf1ovs3AuEzvP7mqXw7fQntqIhQ1BRmynh4qEKQSSSRSWVyXRjmTbZIX9V2Q==}
    -    peerDependencies:
    -      webpack-cli: 4.x.x
    -      webpack-dev-server: '*'
    -    peerDependenciesMeta:
    -      webpack-dev-server:
    -        optional: true
    +  '@webpack-cli/serve@1.7.0(webpack-cli@4.10.0(webpack-dev-server@4.15.2)(webpack@5.91.0))(webpack-dev-server@4.15.2(webpack-cli@4.10.0)(webpack@5.91.0))':
         dependencies:
           webpack-cli: 4.10.0(webpack-dev-server@4.15.2)(webpack@5.91.0)
    +    optionalDependencies:
           webpack-dev-server: 4.15.2(webpack-cli@4.10.0)(webpack@5.91.0)
    -    dev: true
     
    -  /@xmldom/xmldom@0.8.10:
    -    resolution: {integrity: sha512-2WALfTl4xo2SkGCYRt6rDTFfk9R1czmBvUQy12gK2KuRKIpWEhcbbzy8EZXtz/jkRqHX8bFEc6FC1HjX4TUWYw==}
    -    engines: {node: '>=10.0.0'}
    -    dev: true
    +  '@xmldom/xmldom@0.8.10': {}
     
    -  /@xtuc/ieee754@1.2.0:
    -    resolution: {integrity: sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==}
    -    dev: true
    +  '@xtuc/ieee754@1.2.0': {}
     
    -  /@xtuc/long@4.2.2:
    -    resolution: {integrity: sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==}
    -    dev: true
    +  '@xtuc/long@4.2.2': {}
     
    -  /@zenuml/core@3.21.2(typescript@5.4.5):
    -    resolution: {integrity: sha512-e63W3sb+cSafRaN+g2l2sYMdFMxDC0bRMqo+spRW48LoK0/7MQsSf6f9xEtSly/iTaXUGedw1TpvktzAxeKFjA==}
    -    engines: {node: '>=12.0.0'}
    +  '@zenuml/core@3.21.2(typescript@5.4.5)':
         dependencies:
    -      '@headlessui-float/vue': 0.11.4(vue@3.4.21)
    +      '@headlessui-float/vue': 0.11.4(vue@3.4.21(typescript@5.4.5))
           '@headlessui/tailwindcss': 0.2.0(tailwindcss@3.4.3)
    -      '@headlessui/vue': 1.7.19(vue@3.4.21)
    +      '@headlessui/vue': 1.7.19(vue@3.4.21(typescript@5.4.5))
           '@types/assert': 1.5.10
           '@types/ramda': 0.28.25
    -      '@vue/compat': 3.4.21(vue@3.4.21)
    +      '@vue/compat': 3.4.21(vue@3.4.21(typescript@5.4.5))
           antlr4: 4.11.0
           color-string: 1.9.1
           dom-to-image-more: 2.16.0
    @@ -5874,158 +12411,96 @@ packages:
           ramda: 0.28.0
           tailwindcss: 3.4.3
           vue: 3.4.21(typescript@5.4.5)
    -      vuex: 4.1.0(vue@3.4.21)
    +      vuex: 4.1.0(vue@3.4.21(typescript@5.4.5))
         transitivePeerDependencies:
           - '@vue/composition-api'
           - ts-node
           - typescript
    -    dev: false
     
    -  /JSONSelect@0.4.0:
    -    resolution: {integrity: sha512-VRLR3Su35MH+XV2lrvh9O7qWoug/TUyj9tLDjn9rtpUCNnILLrHjgd/tB0KrhugCxUpj3UqoLqfYb3fLJdIQQQ==}
    -    engines: {node: '>=0.4.7'}
    -    dev: true
    +  JSONSelect@0.4.0: {}
     
    -  /JSV@4.0.2:
    -    resolution: {integrity: sha512-ZJ6wx9xaKJ3yFUhq5/sk82PJMuUyLk277I8mQeyDgCTjGdjWJIvPfaU5LIXaMuaN2UO1X3kZH4+lgphublZUHw==}
    -    dev: true
    +  JSV@4.0.2: {}
     
    -  /abort-controller@3.0.0:
    -    resolution: {integrity: sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==}
    -    engines: {node: '>=6.5'}
    +  abort-controller@3.0.0:
         dependencies:
           event-target-shim: 5.0.1
     
    -  /abstract-logging@2.0.1:
    -    resolution: {integrity: sha512-2BjRTZxTPvheOvGbBslFSYOUkr+SjPtOnrLP33f+VIWLzezQpZcqVg7ja3L4dBXmzzgwT+a029jRx5PCi3JuiA==}
    -    dev: true
    +  abstract-logging@2.0.1: {}
     
    -  /accepts@1.3.8:
    -    resolution: {integrity: sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==}
    -    engines: {node: '>= 0.6'}
    +  accepts@1.3.8:
         dependencies:
           mime-types: 2.1.35
           negotiator: 0.6.3
    -    dev: true
     
    -  /acorn-import-assertions@1.9.0(acorn@8.11.3):
    -    resolution: {integrity: sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA==}
    -    peerDependencies:
    -      acorn: ^8
    +  acorn-import-assertions@1.9.0(acorn@8.11.3):
         dependencies:
           acorn: 8.11.3
    -    dev: true
     
    -  /acorn-jsx@5.3.2(acorn@8.11.3):
    -    resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==}
    -    peerDependencies:
    -      acorn: ^6.0.0 || ^7.0.0 || ^8.0.0
    +  acorn-jsx@5.3.2(acorn@8.11.3):
         dependencies:
           acorn: 8.11.3
    -    dev: true
     
    -  /acorn-walk@8.3.2:
    -    resolution: {integrity: sha512-cjkyv4OtNCIeqhHrfS81QWXoCBPExR/J62oyEqepVw8WaQeSqpW2uhuLPh1m9eWhDuOo/jUXVTlifvesOWp/4A==}
    -    engines: {node: '>=0.4.0'}
    -    dev: true
    +  acorn-walk@8.3.2: {}
     
    -  /acorn@8.11.3:
    -    resolution: {integrity: sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==}
    -    engines: {node: '>=0.4.0'}
    -    hasBin: true
    -    dev: true
    +  acorn@8.11.3: {}
     
    -  /agent-base@6.0.2:
    -    resolution: {integrity: sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==}
    -    engines: {node: '>= 6.0.0'}
    +  agent-base@6.0.2:
         dependencies:
           debug: 4.3.4(supports-color@8.1.1)
         transitivePeerDependencies:
           - supports-color
    -    dev: true
     
    -  /agent-base@7.1.0:
    -    resolution: {integrity: sha512-o/zjMZRhJxny7OyEF+Op8X+efiELC7k7yOjMzgfzVqOzXqkBkWI79YoTdOtsuWd5BWhAGAuOY/Xa6xpiaWXiNg==}
    -    engines: {node: '>= 14'}
    +  agent-base@7.1.0:
         dependencies:
           debug: 4.3.4(supports-color@8.1.1)
         transitivePeerDependencies:
           - supports-color
    -    dev: true
     
    -  /aggregate-error@3.1.0:
    -    resolution: {integrity: sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==}
    -    engines: {node: '>=8'}
    +  aggregate-error@3.1.0:
         dependencies:
           clean-stack: 2.2.0
           indent-string: 4.0.0
    -    dev: true
     
    -  /aggregate-error@4.0.1:
    -    resolution: {integrity: sha512-0poP0T7el6Vq3rstR8Mn4V/IQrpBLO6POkUSrN7RhyY+GF/InCFShQzsQ39T25gkHhLgSLByyAz+Kjb+c2L98w==}
    -    engines: {node: '>=12'}
    +  aggregate-error@4.0.1:
         dependencies:
           clean-stack: 4.2.0
           indent-string: 5.0.0
    -    dev: true
     
    -  /ajv-formats@2.1.1(ajv@8.12.0):
    -    resolution: {integrity: sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==}
    -    peerDependencies:
    -      ajv: ^8.0.0
    -    peerDependenciesMeta:
    -      ajv:
    -        optional: true
    -    dependencies:
    +  ajv-formats@2.1.1(ajv@8.12.0):
    +    optionalDependencies:
           ajv: 8.12.0
    -    dev: true
     
    -  /ajv-keywords@3.5.2(ajv@6.12.6):
    -    resolution: {integrity: sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==}
    -    peerDependencies:
    -      ajv: ^6.9.1
    +  ajv-keywords@3.5.2(ajv@6.12.6):
         dependencies:
           ajv: 6.12.6
    -    dev: true
     
    -  /ajv-keywords@5.1.0(ajv@8.12.0):
    -    resolution: {integrity: sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==}
    -    peerDependencies:
    -      ajv: ^8.8.2
    +  ajv-keywords@5.1.0(ajv@8.12.0):
         dependencies:
           ajv: 8.12.0
           fast-deep-equal: 3.1.3
    -    dev: true
     
    -  /ajv@6.12.6:
    -    resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==}
    +  ajv@6.12.6:
         dependencies:
           fast-deep-equal: 3.1.3
           fast-json-stable-stringify: 2.1.0
           json-schema-traverse: 0.4.1
           uri-js: 4.4.1
    -    dev: true
     
    -  /ajv@8.12.0:
    -    resolution: {integrity: sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==}
    +  ajv@8.12.0:
         dependencies:
           fast-deep-equal: 3.1.3
           json-schema-traverse: 1.0.0
           require-from-string: 2.0.2
           uri-js: 4.4.1
    -    dev: true
     
    -  /ajv@8.13.0:
    -    resolution: {integrity: sha512-PRA911Blj99jR5RMeTunVbNXMF6Lp4vZXnk5GQjcnUWUTsrXtekg/pnmFFI2u/I36Y/2bITGS30GZCXei6uNkA==}
    +  ajv@8.13.0:
         dependencies:
           fast-deep-equal: 3.1.3
           json-schema-traverse: 1.0.0
           require-from-string: 2.0.2
           uri-js: 4.4.1
    -    dev: true
     
    -  /algoliasearch@4.23.3:
    -    resolution: {integrity: sha512-Le/3YgNvjW9zxIQMRhUHuhiUjAlKY/zsdZpfq4dlLqg6mEm0nL6yk+7f2hDOtLpxsgE4jSzDmvHL7nXdBp5feg==}
    +  algoliasearch@4.23.3:
         dependencies:
           '@algolia/cache-browser-local-storage': 4.23.3
           '@algolia/cache-common': 4.23.3
    @@ -6042,175 +12517,93 @@ packages:
           '@algolia/requester-common': 4.23.3
           '@algolia/requester-node-http': 4.23.3
           '@algolia/transporter': 4.23.3
    -    dev: true
     
    -  /amdefine@1.0.1:
    -    resolution: {integrity: sha512-S2Hw0TtNkMJhIabBwIojKL9YHO5T0n5eNqWJ7Lrlel/zDbftQpxpapi8tZs3X1HWa+u+QeydGmzzNU0m09+Rcg==}
    -    engines: {node: '>=0.4.2'}
    -    requiresBuild: true
    -    dev: true
    +  amdefine@1.0.1:
         optional: true
     
    -  /ansi-align@3.0.1:
    -    resolution: {integrity: sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==}
    +  ansi-align@3.0.1:
         dependencies:
           string-width: 4.2.3
    -    dev: true
     
    -  /ansi-colors@4.1.3:
    -    resolution: {integrity: sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==}
    -    engines: {node: '>=6'}
    -    dev: true
    +  ansi-colors@4.1.3: {}
     
    -  /ansi-escapes@4.3.2:
    -    resolution: {integrity: sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==}
    -    engines: {node: '>=8'}
    +  ansi-escapes@4.3.2:
         dependencies:
           type-fest: 0.21.3
    -    dev: true
     
    -  /ansi-escapes@6.2.1:
    -    resolution: {integrity: sha512-4nJ3yixlEthEJ9Rk4vPcdBRkZvQZlYyu8j4/Mqz5sgIkddmEnH2Yj2ZrnP9S3tQOvSNRUIgVNF/1yPpRAGNRig==}
    -    engines: {node: '>=14.16'}
    -    dev: true
    +  ansi-escapes@6.2.1: {}
     
    -  /ansi-html-community@0.0.8:
    -    resolution: {integrity: sha512-1APHAyr3+PCamwNw3bXCPp4HFLONZt/yIH0sZp0/469KWNTEy+qN5jQ3GVX6DMZ1UXAi34yVwtTeaG/HpBuuzw==}
    -    engines: {'0': node >= 0.8.0}
    -    hasBin: true
    -    dev: true
    +  ansi-html-community@0.0.8: {}
     
    -  /ansi-regex@2.1.1:
    -    resolution: {integrity: sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==}
    -    engines: {node: '>=0.10.0'}
    -    dev: true
    +  ansi-regex@2.1.1: {}
     
    -  /ansi-regex@5.0.1:
    -    resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==}
    -    engines: {node: '>=8'}
    +  ansi-regex@5.0.1: {}
     
    -  /ansi-regex@6.0.1:
    -    resolution: {integrity: sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==}
    -    engines: {node: '>=12'}
    +  ansi-regex@6.0.1: {}
     
    -  /ansi-sequence-parser@1.1.1:
    -    resolution: {integrity: sha512-vJXt3yiaUL4UU546s3rPXlsry/RnM730G1+HkpKE012AN0sx1eOrxSu95oKDIonskeLTijMgqWZ3uDEe3NFvyg==}
    -    dev: true
    +  ansi-sequence-parser@1.1.1: {}
     
    -  /ansi-styles@2.2.1:
    -    resolution: {integrity: sha512-kmCevFghRiWM7HB5zTPULl4r9bVFSWjz62MhqizDGUrq2NWuNMQyuv4tHHoKJHs69M/MF64lEcHdYIocrdWQYA==}
    -    engines: {node: '>=0.10.0'}
    -    dev: true
    +  ansi-styles@2.2.1: {}
     
    -  /ansi-styles@3.2.1:
    -    resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==}
    -    engines: {node: '>=4'}
    +  ansi-styles@3.2.1:
         dependencies:
           color-convert: 1.9.3
    -    dev: true
     
    -  /ansi-styles@4.3.0:
    -    resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==}
    -    engines: {node: '>=8'}
    +  ansi-styles@4.3.0:
         dependencies:
           color-convert: 2.0.1
     
    -  /ansi-styles@5.2.0:
    -    resolution: {integrity: sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==}
    -    engines: {node: '>=10'}
    -    dev: true
    +  ansi-styles@5.2.0: {}
     
    -  /ansi-styles@6.2.1:
    -    resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==}
    -    engines: {node: '>=12'}
    +  ansi-styles@6.2.1: {}
     
    -  /antlr4@4.11.0:
    -    resolution: {integrity: sha512-GUGlpE2JUjAN+G8G5vY+nOoeyNhHsXoIJwP1XF1oRw89vifA1K46T6SEkwLwr7drihN7I/lf0DIjKc4OZvBX8w==}
    -    engines: {node: '>=14'}
    -    dev: false
    +  antlr4@4.11.0: {}
     
    -  /any-promise@1.3.0:
    -    resolution: {integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==}
    +  any-promise@1.3.0: {}
     
    -  /anymatch@3.1.3:
    -    resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==}
    -    engines: {node: '>= 8'}
    +  anymatch@3.1.3:
         dependencies:
           normalize-path: 3.0.0
           picomatch: 2.3.1
     
    -  /app-path@3.3.0:
    -    resolution: {integrity: sha512-EAgEXkdcxH1cgEePOSsmUtw9ItPl0KTxnh/pj9ZbhvbKbij9x0oX6PWpGnorDr0DS5AosLgoa5n3T/hZmKQpYA==}
    -    engines: {node: '>=8'}
    +  app-path@3.3.0:
         dependencies:
           execa: 1.0.0
    -    dev: true
     
    -  /appdata-path@1.0.0:
    -    resolution: {integrity: sha512-ZbH3ezXfnT/YE3NdqduIt4lBV+H0ybvA2Qx3K76gIjQvh8gROpDFdDLpx6B1QJtW7zxisCbpTlCLhKqoR8cDBw==}
    -    dev: true
    +  appdata-path@1.0.0: {}
     
    -  /append-transform@2.0.0:
    -    resolution: {integrity: sha512-7yeyCEurROLQJFv5Xj4lEGTy0borxepjFv1g22oAdqFu//SrAlDl1O1Nxx15SH1RoliUml6p8dwJW9jvZughhg==}
    -    engines: {node: '>=8'}
    +  append-transform@2.0.0:
         dependencies:
           default-require-extensions: 3.0.1
    -    dev: true
     
    -  /arch@2.2.0:
    -    resolution: {integrity: sha512-Of/R0wqp83cgHozfIYLbBMnej79U/SVGOOyuB3VVFv1NRM/PSFMK12x9KVtiYzJqmnU5WR2qp0Z5rHb7sWGnFQ==}
    -    dev: true
    +  arch@2.2.0: {}
     
    -  /archy@1.0.0:
    -    resolution: {integrity: sha512-Xg+9RwCg/0p32teKdGMPTPnVXKD0w3DfHnFTficozsAgsvq2XenPJq/MYpzzQ/v8zrOyJn6Ds39VA4JIDwFfqw==}
    -    dev: true
    +  archy@1.0.0: {}
     
    -  /are-docs-informative@0.0.2:
    -    resolution: {integrity: sha512-ixiS0nLNNG5jNQzgZJNoUpBKdo9yTYZMGJ+QgT2jmjR7G7+QHRCc4v6LQ3NgE7EBJq+o0ams3waJwkrlBom8Ig==}
    -    engines: {node: '>=14'}
    -    dev: true
    +  are-docs-informative@0.0.2: {}
     
    -  /arg@5.0.2:
    -    resolution: {integrity: sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==}
    +  arg@5.0.2: {}
     
    -  /argparse@1.0.10:
    -    resolution: {integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==}
    +  argparse@1.0.10:
         dependencies:
           sprintf-js: 1.0.3
    -    dev: true
     
    -  /argparse@2.0.1:
    -    resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==}
    -    dev: true
    +  argparse@2.0.1: {}
     
    -  /array-buffer-byte-length@1.0.1:
    -    resolution: {integrity: sha512-ahC5W1xgou+KTXix4sAO8Ki12Q+jf4i0+tmk3sC+zgcynshkHxzpXdImBehiUYKKKDwvfFiJl1tZt6ewscS1Mg==}
    -    engines: {node: '>= 0.4'}
    +  array-buffer-byte-length@1.0.1:
         dependencies:
           call-bind: 1.0.7
           is-array-buffer: 3.0.4
    -    dev: true
     
    -  /array-flatten@1.1.1:
    -    resolution: {integrity: sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==}
    -    dev: true
    +  array-flatten@1.1.1: {}
     
    -  /array-flatten@2.1.2:
    -    resolution: {integrity: sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ==}
    -    dev: true
    +  array-flatten@2.1.2: {}
     
    -  /array-timsort@1.0.3:
    -    resolution: {integrity: sha512-/+3GRL7dDAGEfM6TseQk/U+mi18TU2Ms9I3UlLdUMhz2hbvGNTKdj9xniwXfUqgYhHxRx0+8UnKkvlNwVU+cWQ==}
    -    dev: true
    +  array-timsort@1.0.3: {}
     
    -  /array-union@2.1.0:
    -    resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==}
    -    engines: {node: '>=8'}
    -    dev: true
    +  array-union@2.1.0: {}
     
    -  /arraybuffer.prototype.slice@1.0.3:
    -    resolution: {integrity: sha512-bMxMKAjg13EBSVscxTaYA4mRc5t1UAXa2kXiGTNfZ079HIWXEkKmkgFrh/nJqamaLSrXO5H4WFFkPEaLJWbs3A==}
    -    engines: {node: '>= 0.4'}
    +  arraybuffer.prototype.slice@1.0.3:
         dependencies:
           array-buffer-byte-length: 1.0.1
           call-bind: 1.0.7
    @@ -6220,59 +12613,32 @@ packages:
           get-intrinsic: 1.2.4
           is-array-buffer: 3.0.4
           is-shared-array-buffer: 1.0.3
    -    dev: true
     
    -  /arrify@3.0.0:
    -    resolution: {integrity: sha512-tLkvA81vQG/XqE2mjDkGQHoOINtMHtysSnemrmoGe6PydDPMRbVugqyk4A6V/WDWEfm3l+0d8anA9r8cv/5Jaw==}
    -    engines: {node: '>=12'}
    -    dev: true
    +  arrify@3.0.0: {}
     
    -  /asn1@0.2.6:
    -    resolution: {integrity: sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==}
    +  asn1@0.2.6:
         dependencies:
           safer-buffer: 2.1.2
    -    dev: true
     
    -  /assert-plus@1.0.0:
    -    resolution: {integrity: sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==}
    -    engines: {node: '>=0.8'}
    -    dev: true
    +  assert-plus@1.0.0: {}
     
    -  /assertion-error@1.1.0:
    -    resolution: {integrity: sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==}
    -    dev: true
    +  assertion-error@1.1.0: {}
     
    -  /astral-regex@2.0.0:
    -    resolution: {integrity: sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==}
    -    engines: {node: '>=8'}
    -    dev: true
    +  astral-regex@2.0.0: {}
     
    -  /async@3.2.5:
    -    resolution: {integrity: sha512-baNZyqaaLhyLVKm/DlvdW051MSgO6b8eVfIezl9E5PqWxFgzLm/wQntEW4zOytVburDEr0JlALEpdOFwvErLsg==}
    -    dev: true
    +  async@3.2.5: {}
     
    -  /asynckit@0.4.0:
    -    resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==}
    -    dev: true
    +  asynckit@0.4.0: {}
     
    -  /at-least-node@1.0.0:
    -    resolution: {integrity: sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==}
    -    engines: {node: '>= 4.0.0'}
    -    dev: true
    +  at-least-node@1.0.0: {}
     
    -  /atomic-sleep@1.0.0:
    -    resolution: {integrity: sha512-kNOjDqAh7px0XWNI+4QbzoiR/nTkHAWNud2uvnJquD1/x5a7EQZMJT0AczqK0Qn67oY/TTQ1LbUKajZpp3I9tQ==}
    -    engines: {node: '>=8.0.0'}
    +  atomic-sleep@1.0.0: {}
     
    -  /available-typed-arrays@1.0.7:
    -    resolution: {integrity: sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==}
    -    engines: {node: '>= 0.4'}
    +  available-typed-arrays@1.0.7:
         dependencies:
           possible-typed-array-names: 1.0.0
    -    dev: true
     
    -  /avvio@7.2.5:
    -    resolution: {integrity: sha512-AOhBxyLVdpOad3TujtC9kL/9r3HnTkxwQ5ggOsYrvvZP1cCFvzHWJd5XxZDFuTn+IN8vkKSG5SEJrd27vCSbeA==}
    +  avvio@7.2.5:
         dependencies:
           archy: 1.0.0
           debug: 4.3.4(supports-color@8.1.1)
    @@ -6280,31 +12646,20 @@ packages:
           queue-microtask: 1.2.3
         transitivePeerDependencies:
           - supports-color
    -    dev: true
     
    -  /aws-sign2@0.7.0:
    -    resolution: {integrity: sha512-08kcGqnYf/YmjoRhfxyu+CLxBjUtHLXLXX/vUfx9l2LYzG3c1m61nrpyFUZI6zeS+Li/wWMMidD9KgrqtGq3mA==}
    -    dev: true
    +  aws-sign2@0.7.0: {}
     
    -  /aws4@1.12.0:
    -    resolution: {integrity: sha512-NmWvPnx0F1SfrQbYwOi7OeaNGokp9XhzNioJ/CSBs8Qa4vxug81mhJEAVZwxXuBmYB5KDRfMq/F3RR0BIU7sWg==}
    -    dev: true
    +  aws4@1.12.0: {}
     
    -  /axios@1.6.7(debug@4.3.4):
    -    resolution: {integrity: sha512-/hDJGff6/c7u0hDkvkGxR/oy6CbCs8ziCsC7SqmhjfozqiJGc8Z11wrv9z9lYfY4K8l+H9TpjcMDX0xOZmx+RA==}
    +  axios@1.6.7(debug@4.3.4):
         dependencies:
           follow-redirects: 1.15.5(debug@4.3.4)
           form-data: 4.0.0
           proxy-from-env: 1.1.0
         transitivePeerDependencies:
           - debug
    -    dev: true
     
    -  /babel-jest@29.7.0(@babel/core@7.24.5):
    -    resolution: {integrity: sha512-BrvGY3xZSwEcCzKvKsCi2GgHqDqsYkOP4/by5xCgIwGXQxIEh+8ew3gmrE1y7XRR6LHZIj6yLYnUi/mm2KXKBg==}
    -    engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
    -    peerDependencies:
    -      '@babel/core': ^7.8.0
    +  babel-jest@29.7.0(@babel/core@7.24.5):
         dependencies:
           '@babel/core': 7.24.5
           '@jest/transform': 29.7.0
    @@ -6316,48 +12671,41 @@ packages:
           slash: 3.0.0
         transitivePeerDependencies:
           - supports-color
    -    dev: true
     
    -  /babel-loader@9.1.3(@babel/core@7.24.5)(webpack@5.91.0):
    -    resolution: {integrity: sha512-xG3ST4DglodGf8qSwv0MdeWLhrDsw/32QMdTO5T1ZIp9gQur0HkCyFs7Awskr10JKXFXwpAhiCuYX5oGXnRGbw==}
    -    engines: {node: '>= 14.15.0'}
    -    peerDependencies:
    -      '@babel/core': ^7.12.0
    -      webpack: '>=5'
    +  babel-loader@9.1.3(@babel/core@7.24.4)(webpack@5.91.0(esbuild@0.20.2)):
         dependencies:
    -      '@babel/core': 7.24.5
    +      '@babel/core': 7.24.4
           find-cache-dir: 4.0.0
           schema-utils: 4.2.0
    -      webpack: 5.91.0(esbuild@0.20.2)(webpack-cli@4.10.0)
    -    dev: true
    +      webpack: 5.91.0(esbuild@0.20.2)
     
    -  /babel-plugin-istanbul@6.1.1:
    -    resolution: {integrity: sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==}
    -    engines: {node: '>=8'}
    +  babel-plugin-istanbul@6.1.1:
         dependencies:
    -      '@babel/helper-plugin-utils': 7.24.0
    +      '@babel/helper-plugin-utils': 7.24.5
           '@istanbuljs/load-nyc-config': 1.1.0
           '@istanbuljs/schema': 0.1.3
           istanbul-lib-instrument: 5.2.1
           test-exclude: 6.0.0
         transitivePeerDependencies:
           - supports-color
    -    dev: true
     
    -  /babel-plugin-jest-hoist@29.6.3:
    -    resolution: {integrity: sha512-ESAc/RJvGTFEzRwOTT4+lNDk/GNHMkKbNzsvT0qKRfDyyYTskxB5rnU2njIDYVxXCBHHEI1c0YwHob3WaYujOg==}
    -    engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
    +  babel-plugin-jest-hoist@29.6.3:
         dependencies:
           '@babel/template': 7.24.0
           '@babel/types': 7.24.5
           '@types/babel__core': 7.20.5
           '@types/babel__traverse': 7.20.5
    -    dev: true
     
    -  /babel-plugin-polyfill-corejs2@0.4.11(@babel/core@7.24.5):
    -    resolution: {integrity: sha512-sMEJ27L0gRHShOh5G54uAAPaiCOygY/5ratXuiyb2G46FmlSpc9eFCzYVyDiPxfNbwzA7mYahmjQc5q+CZQ09Q==}
    -    peerDependencies:
    -      '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0
    +  babel-plugin-polyfill-corejs2@0.4.11(@babel/core@7.24.4):
    +    dependencies:
    +      '@babel/compat-data': 7.24.4
    +      '@babel/core': 7.24.4
    +      '@babel/helper-define-polyfill-provider': 0.6.2(@babel/core@7.24.4)
    +      semver: 6.3.1
    +    transitivePeerDependencies:
    +      - supports-color
    +
    +  babel-plugin-polyfill-corejs2@0.4.11(@babel/core@7.24.5):
         dependencies:
           '@babel/compat-data': 7.24.4
           '@babel/core': 7.24.5
    @@ -6365,35 +12713,38 @@ packages:
           semver: 6.3.1
         transitivePeerDependencies:
           - supports-color
    -    dev: true
     
    -  /babel-plugin-polyfill-corejs3@0.10.4(@babel/core@7.24.5):
    -    resolution: {integrity: sha512-25J6I8NGfa5YkCDogHRID3fVCadIR8/pGl1/spvCkzb6lVn6SR3ojpx9nOn9iEBcUsjY24AmdKm5khcfKdylcg==}
    -    peerDependencies:
    -      '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0
    +  babel-plugin-polyfill-corejs3@0.10.4(@babel/core@7.24.4):
    +    dependencies:
    +      '@babel/core': 7.24.4
    +      '@babel/helper-define-polyfill-provider': 0.6.2(@babel/core@7.24.4)
    +      core-js-compat: 3.37.0
    +    transitivePeerDependencies:
    +      - supports-color
    +
    +  babel-plugin-polyfill-corejs3@0.10.4(@babel/core@7.24.5):
         dependencies:
           '@babel/core': 7.24.5
           '@babel/helper-define-polyfill-provider': 0.6.2(@babel/core@7.24.5)
    -      core-js-compat: 3.37.1
    +      core-js-compat: 3.37.0
         transitivePeerDependencies:
           - supports-color
    -    dev: true
     
    -  /babel-plugin-polyfill-regenerator@0.6.2(@babel/core@7.24.5):
    -    resolution: {integrity: sha512-2R25rQZWP63nGwaAswvDazbPXfrM3HwVoBXK6HcqeKrSrL/JqcC/rDcf95l4r7LXLyxDXc8uQDa064GubtCABg==}
    -    peerDependencies:
    -      '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0
    +  babel-plugin-polyfill-regenerator@0.6.2(@babel/core@7.24.4):
    +    dependencies:
    +      '@babel/core': 7.24.4
    +      '@babel/helper-define-polyfill-provider': 0.6.2(@babel/core@7.24.4)
    +    transitivePeerDependencies:
    +      - supports-color
    +
    +  babel-plugin-polyfill-regenerator@0.6.2(@babel/core@7.24.5):
         dependencies:
           '@babel/core': 7.24.5
           '@babel/helper-define-polyfill-provider': 0.6.2(@babel/core@7.24.5)
         transitivePeerDependencies:
           - supports-color
    -    dev: true
     
    -  /babel-preset-current-node-syntax@1.0.1(@babel/core@7.24.5):
    -    resolution: {integrity: sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==}
    -    peerDependencies:
    -      '@babel/core': ^7.0.0
    +  babel-preset-current-node-syntax@1.0.1(@babel/core@7.24.5):
         dependencies:
           '@babel/core': 7.24.5
           '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.24.5)
    @@ -6408,93 +12759,43 @@ packages:
           '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.24.5)
           '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.24.5)
           '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.24.5)
    -    dev: true
     
    -  /babel-preset-jest@29.6.3(@babel/core@7.24.5):
    -    resolution: {integrity: sha512-0B3bhxR6snWXJZtR/RliHTDPRgn1sNHOR0yVtq/IiQFyuOVjFS+wuio/R4gSNkyYmKmJB4wGZv2NZanmKmTnNA==}
    -    engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
    -    peerDependencies:
    -      '@babel/core': ^7.0.0
    +  babel-preset-jest@29.6.3(@babel/core@7.24.5):
         dependencies:
           '@babel/core': 7.24.5
           babel-plugin-jest-hoist: 29.6.3
           babel-preset-current-node-syntax: 1.0.1(@babel/core@7.24.5)
    -    dev: true
     
    -  /bail@2.0.2:
    -    resolution: {integrity: sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw==}
    -    dev: true
    +  bail@2.0.2: {}
     
    -  /balanced-match@1.0.2:
    -    resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==}
    +  balanced-match@1.0.2: {}
     
    -  /base64-js@1.5.1:
    -    resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==}
    +  base64-js@1.5.1: {}
     
    -  /batch@0.6.1:
    -    resolution: {integrity: sha512-x+VAiMRL6UPkx+kudNvxTl6hB2XNNCG2r+7wixVfIYwu/2HKRXimwQyaumLjMveWvT2Hkd/cAJw+QBMfJ/EKVw==}
    -    dev: true
    +  batch@0.6.1: {}
     
    -  /bcrypt-pbkdf@1.0.2:
    -    resolution: {integrity: sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w==}
    +  bcrypt-pbkdf@1.0.2:
         dependencies:
           tweetnacl: 0.14.5
    -    dev: true
     
    -  /binary-extensions@2.2.0:
    -    resolution: {integrity: sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==}
    -    engines: {node: '>=8'}
    +  binary-extensions@2.2.0: {}
     
    -  /binary-searching@2.0.5:
    -    resolution: {integrity: sha512-v4N2l3RxL+m4zDxyxz3Ne2aTmiPn8ZUpKFpdPtO+ItW1NcTCXA7JeHG5GMBSvoKSkQZ9ycS+EouDVxYB9ufKWA==}
    -    dev: true
    +  binary-searching@2.0.5: {}
     
    -  /binary@0.3.0:
    -    resolution: {integrity: sha512-D4H1y5KYwpJgK8wk1Cue5LLPgmwHKYSChkbspQg5JtVuR5ulGckxfR62H3AE9UDkdMC8yyXlqYihuz3Aqg2XZg==}
    +  binary@0.3.0:
         dependencies:
           buffers: 0.1.1
           chainsaw: 0.1.0
    -    dev: true
    -
    -  /blob-util@2.0.2:
    -    resolution: {integrity: sha512-T7JQa+zsXXEa6/8ZhHcQEW1UFfVM49Ts65uBkFL6fz2QmrElqmbajIDJvuA0tEhRe5eIjpV9ZF+0RfZR9voJFQ==}
    -    dev: true
     
    -  /bluebird@3.7.1:
    -    resolution: {integrity: sha512-DdmyoGCleJnkbp3nkbxTLJ18rjDsE4yCggEwKNXkeV123sPNfOCYeDoeuOY+F2FrSjO1YXcTU+dsy96KMy+gcg==}
    -    dev: true
    +  blob-util@2.0.2: {}
     
    -  /bluebird@3.7.2:
    -    resolution: {integrity: sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==}
    -    dev: true
    +  bluebird@3.7.1: {}
     
    -  /bmpimagejs@1.0.4:
    -    resolution: {integrity: sha512-21oKU7kbRt2OgOOj7rdiNr/yznDNUQ585plxR00rsmECcZr+6O1oCwB8OIoSHk/bDhbG8mFXIdeQuCPHgZ6QBw==}
    -    dev: true
    +  bluebird@3.7.2: {}
     
    -  /body-parser@1.20.1:
    -    resolution: {integrity: sha512-jWi7abTbYwajOytWCQc37VulmWiRae5RyTpaCyDcS5/lMdtwSz5lOpDE67srw/HYe35f1z3fDQw+3txg7gNtWw==}
    -    engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16}
    -    dependencies:
    -      bytes: 3.1.2
    -      content-type: 1.0.5
    -      debug: 2.6.9
    -      depd: 2.0.0
    -      destroy: 1.2.0
    -      http-errors: 2.0.0
    -      iconv-lite: 0.4.24
    -      on-finished: 2.4.1
    -      qs: 6.11.0
    -      raw-body: 2.5.1
    -      type-is: 1.6.18
    -      unpipe: 1.0.0
    -    transitivePeerDependencies:
    -      - supports-color
    -    dev: true
    +  bmpimagejs@1.0.4: {}
     
    -  /body-parser@1.20.2:
    -    resolution: {integrity: sha512-ml9pReCu3M61kGlqoTm2umSXTlRTuGTx0bfYj+uIUKKYycG5NtSbeetV3faSU6R7ajOPw0g/J1PvK4qNy7s5bA==}
    -    engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16}
    +  body-parser@1.20.2:
         dependencies:
           bytes: 3.1.2
           content-type: 1.0.5
    @@ -6510,20 +12811,15 @@ packages:
           unpipe: 1.0.0
         transitivePeerDependencies:
           - supports-color
    -    dev: true
     
    -  /bonjour-service@1.1.1:
    -    resolution: {integrity: sha512-Z/5lQRMOG9k7W+FkeGTNjh7htqn/2LMnfOvBZ8pynNZCM9MwkQkI3zeI4oz09uWdcgmgHugVvBqxGg4VQJ5PCg==}
    +  bonjour-service@1.1.1:
         dependencies:
           array-flatten: 2.1.2
           dns-equal: 1.0.0
           fast-deep-equal: 3.1.3
           multicast-dns: 7.2.5
    -    dev: true
     
    -  /boxen@5.1.2:
    -    resolution: {integrity: sha512-9gYgQKXx+1nP8mP7CzFyaUARhg7D3n1dF/FnErWmu9l6JvGpNUN278h0aSb+QjoiKSWG+iZ3uHrcqk0qrY9RQQ==}
    -    engines: {node: '>=10'}
    +  boxen@5.1.2:
         dependencies:
           ansi-align: 3.0.1
           camelcase: 6.3.0
    @@ -6533,98 +12829,58 @@ packages:
           type-fest: 0.20.2
           widest-line: 3.1.0
           wrap-ansi: 7.0.0
    -    dev: true
     
    -  /brace-expansion@1.1.11:
    -    resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==}
    +  brace-expansion@1.1.11:
         dependencies:
           balanced-match: 1.0.2
           concat-map: 0.0.1
    -    dev: true
     
    -  /brace-expansion@2.0.1:
    -    resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==}
    +  brace-expansion@2.0.1:
         dependencies:
           balanced-match: 1.0.2
     
    -  /braces@3.0.2:
    -    resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==}
    -    engines: {node: '>=8'}
    +  braces@3.0.2:
         dependencies:
           fill-range: 7.0.1
     
    -  /browserslist@4.23.0:
    -    resolution: {integrity: sha512-QW8HiM1shhT2GuzkvklfjcKDiWFXHOeFCIA/huJPwHsslwcydgk7X+z2zXpEijP98UCY7HbubZt5J2Zgvf0CaQ==}
    -    engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7}
    -    hasBin: true
    +  browserslist@4.23.0:
         dependencies:
           caniuse-lite: 1.0.30001594
           electron-to-chromium: 1.4.692
           node-releases: 2.0.14
           update-browserslist-db: 1.0.13(browserslist@4.23.0)
    -    dev: true
     
    -  /bser@2.1.1:
    -    resolution: {integrity: sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==}
    +  bser@2.1.1:
         dependencies:
           node-int64: 0.4.0
    -    dev: true
     
    -  /buffer-crc32@0.2.13:
    -    resolution: {integrity: sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==}
    -    dev: true
    +  buffer-crc32@0.2.13: {}
     
    -  /buffer-from@1.1.2:
    -    resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==}
    -    dev: true
    +  buffer-from@1.1.2: {}
     
    -  /buffer@5.7.1:
    -    resolution: {integrity: sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==}
    +  buffer@5.7.1:
         dependencies:
           base64-js: 1.5.1
           ieee754: 1.2.1
    -    dev: true
     
    -  /buffer@6.0.3:
    -    resolution: {integrity: sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==}
    +  buffer@6.0.3:
         dependencies:
           base64-js: 1.5.1
           ieee754: 1.2.1
    -    dev: false
     
    -  /buffers@0.1.1:
    -    resolution: {integrity: sha512-9q/rDEGSb/Qsvv2qvzIzdluL5k7AaJOTrw23z9reQthrbF7is4CtlT0DXyO1oei2DCp4uojjzQ7igaSHp1kAEQ==}
    -    engines: {node: '>=0.2.0'}
    -    dev: true
    +  buffers@0.1.1: {}
     
    -  /builtin-modules@3.3.0:
    -    resolution: {integrity: sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==}
    -    engines: {node: '>=6'}
    -    dev: true
    +  builtin-modules@3.3.0: {}
     
    -  /bytes@3.0.0:
    -    resolution: {integrity: sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw==}
    -    engines: {node: '>= 0.8'}
    -    dev: true
    +  bytes@3.0.0: {}
     
    -  /bytes@3.1.2:
    -    resolution: {integrity: sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==}
    -    engines: {node: '>= 0.8'}
    -    dev: true
    +  bytes@3.1.2: {}
     
    -  /cac@6.7.14:
    -    resolution: {integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==}
    -    engines: {node: '>=8'}
    -    dev: true
    +  cac@6.7.14: {}
     
    -  /cacheable-lookup@5.0.4:
    -    resolution: {integrity: sha512-2/kNscPhpcxrOigMZzbiWF7dz8ilhb/nIHU3EyZiXWXpeq/au8qJ8VhdftMkty3n7Gj6HIGalQG8oiBNB3AJgA==}
    -    engines: {node: '>=10.6.0'}
    -    dev: true
    +  cacheable-lookup@5.0.4: {}
     
    -  /cacheable-request@7.0.4:
    -    resolution: {integrity: sha512-v+p6ongsrp0yTGbJXjgxPow2+DL93DASP4kXCDKb8/bwRtt9OEF3whggkkDkGNzgcWy2XaF4a8nZglC7uElscg==}
    -    engines: {node: '>=8'}
    +  cacheable-request@7.0.4:
         dependencies:
           clone-response: 1.0.3
           get-stream: 5.2.0
    @@ -6633,73 +12889,41 @@ packages:
           lowercase-keys: 2.0.0
           normalize-url: 6.1.0
           responselike: 2.0.1
    -    dev: true
     
    -  /cachedir@2.4.0:
    -    resolution: {integrity: sha512-9EtFOZR8g22CL7BWjJ9BUx1+A/djkofnyW3aOXZORNW2kxoUpx2h+uN2cOqwPmFhnpVmxg+KW2OjOSgChTEvsQ==}
    -    engines: {node: '>=6'}
    -    dev: true
    +  cachedir@2.4.0: {}
     
    -  /caching-transform@4.0.0:
    -    resolution: {integrity: sha512-kpqOvwXnjjN44D89K5ccQC+RUrsy7jB/XLlRrx0D7/2HNcTPqzsb6XgYoErwko6QsV184CA2YgS1fxDiiDZMWA==}
    -    engines: {node: '>=8'}
    +  caching-transform@4.0.0:
         dependencies:
           hasha: 5.2.2
           make-dir: 3.1.0
           package-hash: 4.0.0
           write-file-atomic: 3.0.3
    -    dev: true
     
    -  /call-bind@1.0.7:
    -    resolution: {integrity: sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==}
    -    engines: {node: '>= 0.4'}
    +  call-bind@1.0.7:
         dependencies:
           es-define-property: 1.0.0
           es-errors: 1.3.0
           function-bind: 1.1.2
           get-intrinsic: 1.2.4
           set-function-length: 1.2.2
    -    dev: true
     
    -  /call-me-maybe@1.0.2:
    -    resolution: {integrity: sha512-HpX65o1Hnr9HH25ojC1YGs7HCQLq0GCOibSaWER0eNpgJ/Z1MZv2mTc7+xh6WOPxbRVcmgbv4hGU+uSQ/2xFZQ==}
    -    dev: true
    +  call-me-maybe@1.0.2: {}
     
    -  /callsites@3.1.0:
    -    resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==}
    -    engines: {node: '>=6'}
    -    dev: true
    +  callsites@3.1.0: {}
     
    -  /camelcase-css@2.0.1:
    -    resolution: {integrity: sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==}
    -    engines: {node: '>= 6'}
    -    dev: false
    +  camelcase-css@2.0.1: {}
     
    -  /camelcase@5.3.1:
    -    resolution: {integrity: sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==}
    -    engines: {node: '>=6'}
    -    dev: true
    +  camelcase@5.3.1: {}
     
    -  /camelcase@6.3.0:
    -    resolution: {integrity: sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==}
    -    engines: {node: '>=10'}
    -    dev: true
    +  camelcase@6.3.0: {}
     
    -  /caniuse-lite@1.0.30001594:
    -    resolution: {integrity: sha512-VblSX6nYqyJVs8DKFMldE2IVCJjZ225LW00ydtUWwh5hk9IfkTOffO6r8gJNsH0qqqeAF8KrbMYA2VEwTlGW5g==}
    -    dev: true
    +  caniuse-lite@1.0.30001594: {}
     
    -  /caseless@0.12.0:
    -    resolution: {integrity: sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==}
    -    dev: true
    +  caseless@0.12.0: {}
     
    -  /ccount@2.0.1:
    -    resolution: {integrity: sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==}
    -    dev: true
    +  ccount@2.0.1: {}
     
    -  /chai@4.4.1:
    -    resolution: {integrity: sha512-13sOfMv2+DWduEU+/xbun3LScLoqN17nBeTLUsmDfKdoiC1fr0n9PU4guu4AhRcOVFk/sW8LyZWHuhWtQZiF+g==}
    -    engines: {node: '>=4'}
    +  chai@4.4.1:
         dependencies:
           assertion-error: 1.1.0
           check-error: 1.0.3
    @@ -6708,103 +12932,63 @@ packages:
           loupe: 2.3.7
           pathval: 1.1.1
           type-detect: 4.0.8
    -    dev: true
     
    -  /chainsaw@0.1.0:
    -    resolution: {integrity: sha512-75kWfWt6MEKNC8xYXIdRpDehRYY/tNSgwKaJq+dbbDcxORuVrrQ+SEHoWsniVn9XPYfP4gmdWIeDk/4YNp1rNQ==}
    +  chainsaw@0.1.0:
         dependencies:
           traverse: 0.3.9
    -    dev: true
     
    -  /chalk-template@1.1.0:
    -    resolution: {integrity: sha512-T2VJbcDuZQ0Tb2EWwSotMPJjgpy1/tGee1BTpUNsGZ/qgNjV2t7Mvu+d4600U564nbLesN1x2dPL+xii174Ekg==}
    -    engines: {node: '>=14.16'}
    +  chalk-template@1.1.0:
         dependencies:
           chalk: 5.3.0
    -    dev: true
     
    -  /chalk@1.1.3:
    -    resolution: {integrity: sha512-U3lRVLMSlsCfjqYPbLyVv11M9CPW4I728d6TCKMAOJueEeB9/8o+eSsMnxPJD+Q+K909sdESg7C+tIkoH6on1A==}
    -    engines: {node: '>=0.10.0'}
    +  chalk@1.1.3:
         dependencies:
           ansi-styles: 2.2.1
           escape-string-regexp: 1.0.5
           has-ansi: 2.0.0
           strip-ansi: 3.0.1
           supports-color: 2.0.0
    -    dev: true
     
    -  /chalk@2.4.2:
    -    resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==}
    -    engines: {node: '>=4'}
    +  chalk@2.4.2:
         dependencies:
           ansi-styles: 3.2.1
           escape-string-regexp: 1.0.5
           supports-color: 5.5.0
    -    dev: true
     
    -  /chalk@3.0.0:
    -    resolution: {integrity: sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==}
    -    engines: {node: '>=8'}
    +  chalk@3.0.0:
         dependencies:
           ansi-styles: 4.3.0
           supports-color: 7.2.0
    -    dev: true
     
    -  /chalk@4.1.2:
    -    resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==}
    -    engines: {node: '>=10'}
    +  chalk@4.1.2:
         dependencies:
           ansi-styles: 4.3.0
           supports-color: 7.2.0
    -    dev: true
     
    -  /chalk@5.3.0:
    -    resolution: {integrity: sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==}
    -    engines: {node: ^12.17.0 || ^14.13 || >=16.0.0}
    -    dev: true
    +  chalk@5.3.0: {}
     
    -  /char-regex@1.0.2:
    -    resolution: {integrity: sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==}
    -    engines: {node: '>=10'}
    -    dev: true
    +  char-regex@1.0.2: {}
     
    -  /character-entities-legacy@1.1.4:
    -    resolution: {integrity: sha512-3Xnr+7ZFS1uxeiUDvV02wQ+QDbc55o97tIV5zHScSPJpcLm/r0DFPcoY3tYRp+VZukxuMeKgXYmsXQHO05zQeA==}
    -    dev: true
    +  character-entities-legacy@1.1.4: {}
     
    -  /character-entities@1.2.4:
    -    resolution: {integrity: sha512-iBMyeEHxfVnIakwOuDXpVkc54HijNgCyQB2w0VfGQThle6NXn50zU6V/u+LDhxHcDUPojn6Kpga3PTAD8W1bQw==}
    -    dev: true
    +  character-entities@1.2.4: {}
     
    -  /character-entities@2.0.2:
    -    resolution: {integrity: sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ==}
    +  character-entities@2.0.2: {}
     
    -  /character-reference-invalid@1.1.4:
    -    resolution: {integrity: sha512-mKKUkUbhPpQlCOfIuZkvSEgktjPFIsZKRRbC6KWVEMvlzblj3i3asQv5ODsrwt0N3pHAEvjP8KTQPHkp0+6jOg==}
    -    dev: true
    +  character-reference-invalid@1.1.4: {}
     
    -  /check-error@1.0.3:
    -    resolution: {integrity: sha512-iKEoDYaRmd1mxM90a2OEfWhjsjPpYPuQ+lMYsoxB126+t8fw7ySEO48nmDg5COTjxDI65/Y2OWpeEHk3ZOe8zg==}
    +  check-error@1.0.3:
         dependencies:
           get-func-name: 2.0.2
    -    dev: true
     
    -  /check-more-types@2.24.0:
    -    resolution: {integrity: sha512-Pj779qHxV2tuapviy1bSZNEL1maXr13bPYpsvSDB68HlYcYuhlDrmGd63i0JHMCLKzc7rUSNIrpdJlhVlNwrxA==}
    -    engines: {node: '>= 0.8.0'}
    -    dev: true
    +  check-more-types@2.24.0: {}
     
    -  /chevrotain-allstar@0.3.1(chevrotain@11.0.3):
    -    resolution: {integrity: sha512-b7g+y9A0v4mxCW1qUhf3BSVPg+/NvGErk/dOkrDaHA0nQIQGAtrOjlX//9OQtRlSCy+x9rfB5N8yC71lH1nvMw==}
    -    peerDependencies:
    -      chevrotain: ^11.0.0
    +  chevrotain-allstar@0.3.1(chevrotain@11.0.3):
         dependencies:
           chevrotain: 11.0.3
           lodash-es: 4.17.21
     
    -  /chevrotain@11.0.3:
    -    resolution: {integrity: sha512-ci2iJH6LeIkvP9eJW6gpueU8cnZhv85ELY8w8WiFtNjMHA5ad6pQLaJo9mEly/9qUyCpvqX8/POVUTf18/HFdw==}
    +  chevrotain@11.0.3:
         dependencies:
           '@chevrotain/cst-dts-gen': 11.0.3
           '@chevrotain/gast': 11.0.3
    @@ -6813,9 +12997,7 @@ packages:
           '@chevrotain/utils': 11.0.3
           lodash-es: 4.17.21
     
    -  /chokidar@3.6.0:
    -    resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==}
    -    engines: {node: '>= 8.10.0'}
    +  chokidar@3.6.0:
         dependencies:
           anymatch: 3.1.3
           braces: 3.0.2
    @@ -6827,286 +13009,161 @@ packages:
         optionalDependencies:
           fsevents: 2.3.3
     
    -  /chrome-trace-event@1.0.3:
    -    resolution: {integrity: sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==}
    -    engines: {node: '>=6.0'}
    -    dev: true
    +  chrome-trace-event@1.0.3: {}
     
    -  /ci-info@3.9.0:
    -    resolution: {integrity: sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==}
    -    engines: {node: '>=8'}
    -    dev: true
    +  ci-info@3.9.0: {}
     
    -  /ci-info@4.0.0:
    -    resolution: {integrity: sha512-TdHqgGf9odd8SXNuxtUBVx8Nv+qZOejE6qyqiy5NtbYYQOeFa6zmHkxlPzmaLxWWHsU6nJmB7AETdVPi+2NBUg==}
    -    engines: {node: '>=8'}
    -    dev: true
    +  ci-info@4.0.0: {}
     
    -  /cjs-module-lexer@1.2.3:
    -    resolution: {integrity: sha512-0TNiGstbQmCFwt4akjjBg5pLRTSyj/PkWQ1ZoO2zntmg9yLqSRxwEa4iCfQLGjqhiqBfOJa7W/E8wfGrTDmlZQ==}
    -    dev: true
    +  cjs-module-lexer@1.2.3: {}
     
    -  /cjson@0.3.0:
    -    resolution: {integrity: sha512-bBRQcCIHzI1IVH59fR0bwGrFmi3Btb/JNwM/n401i1DnYgWndpsUBiQRAddLflkZage20A2d25OAWZZk0vBRlA==}
    -    engines: {node: '>= 0.3.0'}
    +  cjson@0.3.0:
         dependencies:
           jsonlint: 1.6.0
    -    dev: true
     
    -  /clap@3.1.1:
    -    resolution: {integrity: sha512-vp42956Ax06WwaaheYEqEOgXZ3VKJxgccZ0gJL0HpyiupkIS9RVJFo5eDU1BPeQAOqz+cclndZg4DCqG1sJReQ==}
    -    engines: {node: ^12.20.0 || ^14.13.0 || >=15.0.0, npm: '>=7.0.0'}
    +  clap@3.1.1:
         dependencies:
           ansi-colors: 4.1.3
    -    dev: true
     
    -  /clean-regexp@1.0.0:
    -    resolution: {integrity: sha512-GfisEZEJvzKrmGWkvfhgzcz/BllN1USeqD2V6tg14OAOgaCD2Z/PUEuxnAZ/nPvmaHRG7a8y77p1T/IRQ4D1Hw==}
    -    engines: {node: '>=4'}
    +  clean-regexp@1.0.0:
         dependencies:
           escape-string-regexp: 1.0.5
    -    dev: true
     
    -  /clean-stack@2.2.0:
    -    resolution: {integrity: sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==}
    -    engines: {node: '>=6'}
    -    dev: true
    +  clean-stack@2.2.0: {}
     
    -  /clean-stack@4.2.0:
    -    resolution: {integrity: sha512-LYv6XPxoyODi36Dp976riBtSY27VmFo+MKqEU9QCCWyTrdEPDog+RWA7xQWHi6Vbp61j5c4cdzzX1NidnwtUWg==}
    -    engines: {node: '>=12'}
    +  clean-stack@4.2.0:
         dependencies:
           escape-string-regexp: 5.0.0
    -    dev: true
     
    -  /clear-module@4.1.2:
    -    resolution: {integrity: sha512-LWAxzHqdHsAZlPlEyJ2Poz6AIs384mPeqLVCru2p0BrP9G/kVGuhNyZYClLO6cXlnuJjzC8xtsJIuMjKqLXoAw==}
    -    engines: {node: '>=8'}
    +  clear-module@4.1.2:
         dependencies:
           parent-module: 2.0.0
           resolve-from: 5.0.0
    -    dev: true
     
    -  /cli-boxes@2.2.1:
    -    resolution: {integrity: sha512-y4coMcylgSCdVinjiDBuR8PCC2bLjyGTwEmPb9NHR/QaNU6EUOXcTY/s6VjGMD6ENSEaeQYHCY0GNGS5jfMwPw==}
    -    engines: {node: '>=6'}
    -    dev: true
    +  cli-boxes@2.2.1: {}
     
    -  /cli-color@2.0.4:
    -    resolution: {integrity: sha512-zlnpg0jNcibNrO7GG9IeHH7maWFeCz+Ja1wx/7tZNU5ASSSSZ+/qZciM0/LHCYxSdqv5h2sdbQ/PXYdOuetXvA==}
    -    engines: {node: '>=0.10'}
    +  cli-color@2.0.4:
         dependencies:
           d: 1.0.2
           es5-ext: 0.10.64
           es6-iterator: 2.0.3
           memoizee: 0.4.15
           timers-ext: 0.1.7
    -    dev: true
     
    -  /cli-cursor@3.1.0:
    -    resolution: {integrity: sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==}
    -    engines: {node: '>=8'}
    +  cli-cursor@3.1.0:
         dependencies:
           restore-cursor: 3.1.0
    -    dev: true
     
    -  /cli-cursor@4.0.0:
    -    resolution: {integrity: sha512-VGtlMu3x/4DOtIUwEkRezxUZ2lBacNJCHash0N0WeZDBS+7Ux1dm3XWAgWYxLJFMMdOeXMHXorshEFhbMSGelg==}
    -    engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
    +  cli-cursor@4.0.0:
         dependencies:
           restore-cursor: 4.0.0
    -    dev: true
     
    -  /cli-table3@0.6.4:
    -    resolution: {integrity: sha512-Lm3L0p+/npIQWNIiyF/nAn7T5dnOwR3xNTHXYEBFBFVPXzCVNZ5lqEC/1eo/EVfpDsQ1I+TX4ORPQgp+UI0CRw==}
    -    engines: {node: 10.* || >= 12.*}
    +  cli-table3@0.6.4:
         dependencies:
           string-width: 4.2.3
         optionalDependencies:
           '@colors/colors': 1.5.0
    -    dev: true
     
    -  /cli-truncate@2.1.0:
    -    resolution: {integrity: sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg==}
    -    engines: {node: '>=8'}
    +  cli-truncate@2.1.0:
         dependencies:
           slice-ansi: 3.0.0
           string-width: 4.2.3
    -    dev: true
     
    -  /cli-truncate@4.0.0:
    -    resolution: {integrity: sha512-nPdaFdQ0h/GEigbPClz11D0v/ZJEwxmeVZGeMo3Z5StPtUTkA9o1lD6QwoirYiSDzbcwn2XcjwmCp68W1IS4TA==}
    -    engines: {node: '>=18'}
    +  cli-truncate@4.0.0:
         dependencies:
           slice-ansi: 5.0.0
           string-width: 7.1.0
    -    dev: true
     
    -  /cliui@6.0.0:
    -    resolution: {integrity: sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==}
    +  cliui@6.0.0:
         dependencies:
           string-width: 4.2.3
           strip-ansi: 6.0.1
           wrap-ansi: 6.2.0
    -    dev: true
     
    -  /cliui@8.0.1:
    -    resolution: {integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==}
    -    engines: {node: '>=12'}
    +  cliui@8.0.1:
         dependencies:
           string-width: 4.2.3
           strip-ansi: 6.0.1
           wrap-ansi: 7.0.0
    -    dev: true
     
    -  /clone-deep@4.0.1:
    -    resolution: {integrity: sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==}
    -    engines: {node: '>=6'}
    +  clone-deep@4.0.1:
         dependencies:
           is-plain-object: 2.0.4
           kind-of: 6.0.3
           shallow-clone: 3.0.1
    -    dev: true
     
    -  /clone-response@1.0.3:
    -    resolution: {integrity: sha512-ROoL94jJH2dUVML2Y/5PEDNaSHgeOdSDicUyS7izcF63G6sTc/FTjLub4b8Il9S8S0beOfYt0TaA5qvFK+w0wA==}
    +  clone-response@1.0.3:
         dependencies:
           mimic-response: 1.0.1
    -    dev: true
     
    -  /co@4.6.0:
    -    resolution: {integrity: sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==}
    -    engines: {iojs: '>= 1.0.0', node: '>= 0.12.0'}
    -    dev: true
    +  co@4.6.0: {}
     
    -  /collect-v8-coverage@1.0.2:
    -    resolution: {integrity: sha512-lHl4d5/ONEbLlJvaJNtsF/Lz+WvB07u2ycqTYbdrq7UypDXailES4valYb2eWiJFxZlVmpGekfqoxQhzyFdT4Q==}
    -    dev: true
    +  collect-v8-coverage@1.0.2: {}
     
    -  /color-convert@1.9.3:
    -    resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==}
    +  color-convert@1.9.3:
         dependencies:
           color-name: 1.1.3
    -    dev: true
     
    -  /color-convert@2.0.1:
    -    resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==}
    -    engines: {node: '>=7.0.0'}
    +  color-convert@2.0.1:
         dependencies:
           color-name: 1.1.4
     
    -  /color-name@1.1.3:
    -    resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==}
    -    dev: true
    +  color-name@1.1.3: {}
     
    -  /color-name@1.1.4:
    -    resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==}
    +  color-name@1.1.4: {}
     
    -  /color-string@1.9.1:
    -    resolution: {integrity: sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==}
    +  color-string@1.9.1:
         dependencies:
           color-name: 1.1.4
           simple-swizzle: 0.2.2
    -    dev: false
     
    -  /colorette@2.0.20:
    -    resolution: {integrity: sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==}
    -    dev: true
    +  colorette@2.0.20: {}
     
    -  /colors@0.5.1:
    -    resolution: {integrity: sha512-XjsuUwpDeY98+yz959OlUK6m7mLBM+1MEG5oaenfuQnNnrQk1WvtcvFgN3FNDP3f2NmZ211t0mNEfSEN1h0eIg==}
    -    engines: {node: '>=0.1.90'}
    -    dev: true
    +  colors@0.5.1: {}
     
    -  /combined-stream@1.0.8:
    -    resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==}
    -    engines: {node: '>= 0.8'}
    +  combined-stream@1.0.8:
         dependencies:
           delayed-stream: 1.0.0
    -    dev: true
     
    -  /commander@11.0.0:
    -    resolution: {integrity: sha512-9HMlXtt/BNoYr8ooyjjNRdIilOTkVJXB+GhxMTtOKwk0R4j4lS4NpjuqmRxroBfnfTSHQIHQB7wryHhXarNjmQ==}
    -    engines: {node: '>=16'}
    -    dev: true
    +  commander@11.0.0: {}
     
    -  /commander@11.1.0:
    -    resolution: {integrity: sha512-yPVavfyCcRhmorC7rWlkHn15b4wDVgVmBA7kV4QVBsF7kv/9TKJAbAXVTxvTnwP8HHKjRCJDClKbciiYS7p0DQ==}
    -    engines: {node: '>=16'}
    -    dev: true
    +  commander@11.1.0: {}
     
    -  /commander@12.0.0:
    -    resolution: {integrity: sha512-MwVNWlYjDTtOjX5PiD7o5pK0UrFU/OYgcJfjjK4RaHZETNtjJqrZa9Y9ds88+A+f+d5lv+561eZ+yCKoS3gbAA==}
    -    engines: {node: '>=18'}
    -    dev: true
    +  commander@12.0.0: {}
     
    -  /commander@2.20.3:
    -    resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==}
    -    dev: true
    +  commander@2.20.3: {}
     
    -  /commander@4.1.1:
    -    resolution: {integrity: sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==}
    -    engines: {node: '>= 6'}
    -    dev: false
    +  commander@4.1.1: {}
     
    -  /commander@5.1.0:
    -    resolution: {integrity: sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg==}
    -    engines: {node: '>= 6'}
    -    dev: true
    +  commander@5.1.0: {}
     
    -  /commander@6.2.1:
    -    resolution: {integrity: sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA==}
    -    engines: {node: '>= 6'}
    -    dev: true
    +  commander@6.2.1: {}
     
    -  /commander@7.2.0:
    -    resolution: {integrity: sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==}
    -    engines: {node: '>= 10'}
    +  commander@7.2.0: {}
     
    -  /commander@8.3.0:
    -    resolution: {integrity: sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==}
    -    engines: {node: '>= 12'}
    -    dev: false
    +  commander@8.3.0: {}
     
    -  /comment-json@4.2.3:
    -    resolution: {integrity: sha512-SsxdiOf064DWoZLH799Ata6u7iV658A11PlWtZATDlXPpKGJnbJZ5Z24ybixAi+LUUqJ/GKowAejtC5GFUG7Tw==}
    -    engines: {node: '>= 6'}
    +  comment-json@4.2.3:
         dependencies:
           array-timsort: 1.0.3
           core-util-is: 1.0.3
           esprima: 4.0.1
           has-own-prop: 2.0.0
           repeat-string: 1.6.1
    -    dev: true
     
    -  /comment-parser@1.4.1:
    -    resolution: {integrity: sha512-buhp5kePrmda3vhc5B9t7pUQXAb2Tnd0qgpkIhPhkHXxJpiPJ11H0ZEU0oBpJ2QztSbzG/ZxMj/CHsYJqRHmyg==}
    -    engines: {node: '>= 12.0.0'}
    -    dev: true
    +  comment-parser@1.4.1: {}
     
    -  /common-path-prefix@3.0.0:
    -    resolution: {integrity: sha512-QE33hToZseCH3jS0qN96O/bSh3kaw/h+Tq7ngyY9eWDUnTlTNUyqfqvCXioLe5Na5jFsL78ra/wuBU4iuEgd4w==}
    -    dev: true
    +  common-path-prefix@3.0.0: {}
     
    -  /common-tags@1.8.2:
    -    resolution: {integrity: sha512-gk/Z852D2Wtb//0I+kRFNKKE9dIIVirjoqPoA1wJU+XePVXZfGeBpk45+A1rKO4Q43prqWBNY/MiIeRLbPWUaA==}
    -    engines: {node: '>=4.0.0'}
    -    dev: true
    +  common-tags@1.8.2: {}
     
    -  /commondir@1.0.1:
    -    resolution: {integrity: sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==}
    -    dev: true
    +  commondir@1.0.1: {}
     
    -  /compressible@2.0.18:
    -    resolution: {integrity: sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==}
    -    engines: {node: '>= 0.6'}
    +  compressible@2.0.18:
         dependencies:
           mime-db: 1.52.0
    -    dev: true
     
    -  /compression@1.7.4:
    -    resolution: {integrity: sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==}
    -    engines: {node: '>= 0.8.0'}
    +  compression@1.7.4:
         dependencies:
           accepts: 1.3.8
           bytes: 3.0.0
    @@ -7117,16 +13174,10 @@ packages:
           vary: 1.1.2
         transitivePeerDependencies:
           - supports-color
    -    dev: true
     
    -  /concat-map@0.0.1:
    -    resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==}
    -    dev: true
    +  concat-map@0.0.1: {}
     
    -  /concurrently@8.2.2:
    -    resolution: {integrity: sha512-1dP4gpXFhei8IOtlXRE/T/4H88ElHgTiUzh71YUmtjTEHMSRS2Z/fgOxHSxxusGHogsRfxNq1vyAwxSC+EVyDg==}
    -    engines: {node: ^14.13.0 || >=16.0.0}
    -    hasBin: true
    +  concurrently@8.2.2:
         dependencies:
           chalk: 4.1.2
           date-fns: 2.30.0
    @@ -7137,122 +13188,70 @@ packages:
           supports-color: 8.1.1
           tree-kill: 1.2.2
           yargs: 17.7.2
    -    dev: true
     
    -  /confbox@0.1.7:
    -    resolution: {integrity: sha512-uJcB/FKZtBMCJpK8MQji6bJHgu1tixKPxRLeGkNzBoOZzpnZUJm0jm2/sBDWcuBx1dYgxV4JU+g5hmNxCyAmdA==}
    -    dev: true
    +  confbox@0.1.7: {}
     
    -  /configstore@6.0.0:
    -    resolution: {integrity: sha512-cD31W1v3GqUlQvbBCGcXmd2Nj9SvLDOP1oQ0YFuLETufzSPaKp11rYBsSOm7rCsW3OnIRAFM3OxRhceaXNYHkA==}
    -    engines: {node: '>=12'}
    +  configstore@6.0.0:
         dependencies:
           dot-prop: 6.0.1
           graceful-fs: 4.2.11
           unique-string: 3.0.0
           write-file-atomic: 3.0.3
           xdg-basedir: 5.1.0
    -    dev: true
     
    -  /connect-history-api-fallback@2.0.0:
    -    resolution: {integrity: sha512-U73+6lQFmfiNPrYbXqr6kZ1i1wiRqXnp2nhMsINseWXO8lDau0LGEffJ8kQi4EjLZympVgRdvqjAgiZ1tgzDDA==}
    -    engines: {node: '>=0.8'}
    -    dev: true
    +  connect-history-api-fallback@2.0.0: {}
     
    -  /consola@3.2.3:
    -    resolution: {integrity: sha512-I5qxpzLv+sJhTVEoLYNcTW+bThDCPsit0vLNKShZx6rLtpilNpmmeTPaeqJb9ZE9dV3DGaeby6Vuhrw38WjeyQ==}
    -    engines: {node: ^14.18.0 || >=16.10.0}
    -    dev: true
    +  consola@3.2.3: {}
     
    -  /content-disposition@0.5.4:
    -    resolution: {integrity: sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==}
    -    engines: {node: '>= 0.6'}
    +  content-disposition@0.5.4:
         dependencies:
           safe-buffer: 5.2.1
    -    dev: true
     
    -  /content-type@1.0.5:
    -    resolution: {integrity: sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==}
    -    engines: {node: '>= 0.6'}
    -    dev: true
    +  content-type@1.0.5: {}
     
    -  /convert-source-map@1.9.0:
    -    resolution: {integrity: sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==}
    -    dev: true
    +  convert-source-map@1.9.0: {}
     
    -  /convert-source-map@2.0.0:
    -    resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==}
    -    dev: true
    +  convert-source-map@2.0.0: {}
     
    -  /cookie-signature@1.0.6:
    -    resolution: {integrity: sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==}
    -    dev: true
    +  cookie-signature@1.0.6: {}
     
    -  /cookie@0.5.0:
    -    resolution: {integrity: sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==}
    -    engines: {node: '>= 0.6'}
    -    dev: true
    +  cookie@0.5.0: {}
     
    -  /cookie@0.6.0:
    -    resolution: {integrity: sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==}
    -    engines: {node: '>= 0.6'}
    -    dev: true
    +  cookie@0.6.0: {}
     
    -  /core-js-compat@3.36.0:
    -    resolution: {integrity: sha512-iV9Pd/PsgjNWBXeq8XRtWVSgz2tKAfhfvBs7qxYty+RlRd+OCksaWmOnc4JKrTc1cToXL1N0s3l/vwlxPtdElw==}
    +  core-js-compat@3.36.0:
         dependencies:
           browserslist: 4.23.0
    -    dev: true
     
    -  /core-js-compat@3.37.1:
    -    resolution: {integrity: sha512-9TNiImhKvQqSUkOvk/mMRZzOANTiEVC7WaBNhHcKM7x+/5E1l5NvsysR19zuDQScE8k+kfQXWRN3AtS/eOSHpg==}
    +  core-js-compat@3.37.0:
         dependencies:
           browserslist: 4.23.0
    -    dev: true
     
    -  /core-util-is@1.0.2:
    -    resolution: {integrity: sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==}
    -    dev: true
    +  core-util-is@1.0.2: {}
     
    -  /core-util-is@1.0.3:
    -    resolution: {integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==}
    -    dev: true
    +  core-util-is@1.0.3: {}
     
    -  /cors@2.8.5:
    -    resolution: {integrity: sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==}
    -    engines: {node: '>= 0.10'}
    +  cors@2.8.5:
         dependencies:
           object-assign: 4.1.1
           vary: 1.1.2
    -    dev: true
     
    -  /cose-base@1.0.3:
    -    resolution: {integrity: sha512-s9whTXInMSgAp/NVXVNuVxVKzGH2qck3aQlVHxDCdAEPgtMKwc4Wq6/QKhgdEdgbLSi9rBTAcPoRa6JpiG4ksg==}
    +  cose-base@1.0.3:
         dependencies:
           layout-base: 1.0.2
    -    dev: false
     
    -  /cp-file@10.0.0:
    -    resolution: {integrity: sha512-vy2Vi1r2epK5WqxOLnskeKeZkdZvTKfFZQCplE3XWsP+SUJyd5XAUFC9lFgTjjXJF2GMne/UML14iEmkAaDfFg==}
    -    engines: {node: '>=14.16'}
    +  cp-file@10.0.0:
         dependencies:
           graceful-fs: 4.2.11
           nested-error-stacks: 2.1.1
           p-event: 5.0.1
    -    dev: true
     
    -  /cpy-cli@5.0.0:
    -    resolution: {integrity: sha512-fb+DZYbL9KHc0BC4NYqGRrDIJZPXUmjjtqdw4XRRg8iV8dIfghUX/WiL+q4/B/KFTy3sK6jsbUhBaz0/Hxg7IQ==}
    -    engines: {node: '>=16'}
    -    hasBin: true
    +  cpy-cli@5.0.0:
         dependencies:
           cpy: 10.1.0
           meow: 12.1.1
    -    dev: true
     
    -  /cpy@10.1.0:
    -    resolution: {integrity: sha512-VC2Gs20JcTyeQob6UViBLnyP0bYHkBh6EiKzot9vi2DmeGlFT9Wd7VG3NBrkNx/jYvFBeyDOMMHdHQhbtKLgHQ==}
    -    engines: {node: '>=16'}
    +  cpy@10.1.0:
         dependencies:
           arrify: 3.0.0
           cp-file: 10.0.0
    @@ -7262,18 +13261,14 @@ packages:
           nested-error-stacks: 2.1.1
           p-filter: 3.0.0
           p-map: 6.0.0
    -    dev: true
     
    -  /create-jest@29.7.0(@types/node@20.12.12):
    -    resolution: {integrity: sha512-Adz2bdH0Vq3F53KEMJOoftQFutWCukm6J24wbPWRO4k1kMY7gS7ds/uoJkNuV8wDCtWWnuwGcJwpWcih+zEW1Q==}
    -    engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
    -    hasBin: true
    +  create-jest@29.7.0(@types/node@20.12.7):
         dependencies:
           '@jest/types': 29.6.3
           chalk: 4.1.2
           exit: 0.1.2
           graceful-fs: 4.2.11
    -      jest-config: 29.7.0(@types/node@20.12.12)
    +      jest-config: 29.7.0(@types/node@20.12.7)
           jest-util: 29.7.0
           prompts: 2.4.2
         transitivePeerDependencies:
    @@ -7281,102 +13276,64 @@ packages:
           - babel-plugin-macros
           - supports-color
           - ts-node
    -    dev: true
     
    -  /cross-env@7.0.3:
    -    resolution: {integrity: sha512-+/HKd6EgcQCJGh2PSjZuUitQBQynKor4wrFbRg4DtAgS1aWO+gU52xpH7M9ScGgXSYmAVS9bIJ8EzuaGw0oNAw==}
    -    engines: {node: '>=10.14', npm: '>=6', yarn: '>=1'}
    -    hasBin: true
    +  cross-env@7.0.3:
         dependencies:
           cross-spawn: 7.0.3
    -    dev: true
     
    -  /cross-spawn@6.0.5:
    -    resolution: {integrity: sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==}
    -    engines: {node: '>=4.8'}
    +  cross-spawn@6.0.5:
         dependencies:
           nice-try: 1.0.5
           path-key: 2.0.1
           semver: 5.7.2
           shebang-command: 1.2.0
           which: 1.3.1
    -    dev: true
     
    -  /cross-spawn@7.0.3:
    -    resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==}
    -    engines: {node: '>= 8'}
    +  cross-spawn@7.0.3:
         dependencies:
           path-key: 3.1.1
           shebang-command: 2.0.0
           which: 2.0.2
     
    -  /crypto-random-string@2.0.0:
    -    resolution: {integrity: sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==}
    -    engines: {node: '>=8'}
    -    dev: true
    +  crypto-random-string@2.0.0: {}
     
    -  /crypto-random-string@4.0.0:
    -    resolution: {integrity: sha512-x8dy3RnvYdlUcPOjkEHqozhiwzKNSq7GcPuXFbnyMOCHxX8V3OgIg/pYuabl2sbUPfIJaeAQB7PMOK8DFIdoRA==}
    -    engines: {node: '>=12'}
    +  crypto-random-string@4.0.0:
         dependencies:
           type-fest: 1.4.0
    -    dev: true
     
    -  /cspell-config-lib@8.7.0:
    -    resolution: {integrity: sha512-depsd01GbLBo71/tfRrL5iECWQLS4CjCxA9C01dVkFAJqVB0s+K9KLKjTlq5aHOhcvo9Z3dHV+bGQCf5/Q7bfw==}
    -    engines: {node: '>=18'}
    +  cspell-config-lib@8.7.0:
         dependencies:
           '@cspell/cspell-types': 8.7.0
           comment-json: 4.2.3
           yaml: 2.4.1
    -    dev: true
     
    -  /cspell-dictionary@8.7.0:
    -    resolution: {integrity: sha512-S6IpZSzIMxlOO/33NgCOuP0TPH2mZbw8d5CP44z5jajflloq8l74MeJLkeDzYfCRcm0Rtk0A5drBeMg+Ai34OA==}
    -    engines: {node: '>=18'}
    +  cspell-dictionary@8.7.0:
         dependencies:
           '@cspell/cspell-pipe': 8.7.0
           '@cspell/cspell-types': 8.7.0
           cspell-trie-lib: 8.7.0
           fast-equals: 5.0.1
           gensequence: 7.0.0
    -    dev: true
     
    -  /cspell-gitignore@8.7.0:
    -    resolution: {integrity: sha512-yvUZ86qyopUpDgn+YXP1qTpUe/lp65ZFvpMtw21lWHTFlg1OWKntr349EQU/5ben/K6koxk1FiElCBV7Lr4uFg==}
    -    engines: {node: '>=18'}
    -    hasBin: true
    +  cspell-gitignore@8.7.0:
         dependencies:
           cspell-glob: 8.7.0
           find-up-simple: 1.0.0
    -    dev: true
     
    -  /cspell-glob@8.7.0:
    -    resolution: {integrity: sha512-AMdfx0gvROA/aIL8t8b5Y5NtMgscGZELFj6WhCSZiQSuWRxXUKiLGGLUFjx2y0hgXN9LUYOo6aBjvhnxI/v71g==}
    -    engines: {node: '>=18'}
    +  cspell-glob@8.7.0:
         dependencies:
           micromatch: 4.0.5
    -    dev: true
     
    -  /cspell-grammar@8.7.0:
    -    resolution: {integrity: sha512-SGcXc7322wU2WNRi7vtpToWDXTqZHhxqvR+aIXHT2kkxlMSWp3Rvfpshd0ckgY54nZtgw7R/JtKND2jeACRpwQ==}
    -    engines: {node: '>=18'}
    -    hasBin: true
    +  cspell-grammar@8.7.0:
         dependencies:
           '@cspell/cspell-pipe': 8.7.0
           '@cspell/cspell-types': 8.7.0
    -    dev: true
     
    -  /cspell-io@8.7.0:
    -    resolution: {integrity: sha512-o7OltyyvVkRG1gQrIqGpN5pUkHNnv6rvihb7Qu6cJ8jITinLGuWJuEQpgt0eF5yIr624jDbFwSzAxsFox8riQg==}
    -    engines: {node: '>=18'}
    +  cspell-io@8.7.0:
         dependencies:
           '@cspell/cspell-service-bus': 8.7.0
    -    dev: true
     
    -  /cspell-lib@8.7.0:
    -    resolution: {integrity: sha512-qDSHZGekwiDmouYRECTQokE+hgAuPqREm+Hb+G3DoIo3ZK5H47TtEUo8fNCw22XsKefcF8X28LiyoZwiYHVpSg==}
    -    engines: {node: '>=18'}
    +  cspell-lib@8.7.0:
         dependencies:
           '@cspell/cspell-bundled-dicts': 8.7.0
           '@cspell/cspell-pipe': 8.7.0
    @@ -7399,21 +13356,14 @@ packages:
           resolve-from: 5.0.0
           vscode-languageserver-textdocument: 1.0.11
           vscode-uri: 3.0.8
    -    dev: true
     
    -  /cspell-trie-lib@8.7.0:
    -    resolution: {integrity: sha512-W3Nh2cO7gMV91r+hLqyTMgKlvRl4W5diKs5YiyOxjZumRkMBy42IzcNYtgIIacOxghklv96F5Bd1Vx/zY6ylGA==}
    -    engines: {node: '>=18'}
    +  cspell-trie-lib@8.7.0:
         dependencies:
           '@cspell/cspell-pipe': 8.7.0
           '@cspell/cspell-types': 8.7.0
           gensequence: 7.0.0
    -    dev: true
     
    -  /cspell@8.7.0:
    -    resolution: {integrity: sha512-77nRPgLl240C6FK8RKVKo34lP15Lzp/6bk+SKYJFwUKKXlcgWXDis+Lw4JolA741/JgHtuxmhW1C8P7dCKjJ3w==}
    -    engines: {node: '>=18'}
    -    hasBin: true
    +  cspell@8.7.0:
         dependencies:
           '@cspell/cspell-json-reporter': 8.7.0
           '@cspell/cspell-pipe': 8.7.0
    @@ -7433,68 +13383,41 @@ packages:
           semver: 7.6.0
           strip-ansi: 7.1.0
           vscode-uri: 3.0.8
    -    dev: true
     
    -  /css-tree@2.3.1:
    -    resolution: {integrity: sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw==}
    -    engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0}
    +  css-tree@2.3.1:
         dependencies:
           mdn-data: 2.0.30
           source-map-js: 1.0.2
    -    dev: true
     
    -  /cssesc@3.0.0:
    -    resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==}
    -    engines: {node: '>=4'}
    -    hasBin: true
    -    dev: false
    +  cssesc@3.0.0: {}
     
    -  /cssstyle@4.0.1:
    -    resolution: {integrity: sha512-8ZYiJ3A/3OkDd093CBT/0UKDWry7ak4BdPTFP2+QEP7cmhouyq/Up709ASSj2cK02BbZiMgk7kYjZNS4QP5qrQ==}
    -    engines: {node: '>=18'}
    +  cssstyle@4.0.1:
         dependencies:
           rrweb-cssom: 0.6.0
    -    dev: true
     
    -  /csstree-validator@3.0.0:
    -    resolution: {integrity: sha512-Y5OSq3wI0Xz6L7DCgJQtQ97U+v99SkX9r663VjpvUMJPhEr0A149OxiAGqcnokB5bt81irgnMudspBzujzqn0w==}
    -    engines: {node: ^12.20.0 || ^14.13.0 || >=15.0.0, npm: '>=7.0.0'}
    -    hasBin: true
    +  csstree-validator@3.0.0:
         dependencies:
           clap: 3.1.1
           css-tree: 2.3.1
           resolve: 1.22.4
    -    dev: true
     
    -  /csstype@3.1.3:
    -    resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==}
    +  csstype@3.1.3: {}
     
    -  /cuint@0.2.2:
    -    resolution: {integrity: sha512-d4ZVpCW31eWwCMe1YT3ur7mUDnTXbgwyzaL320DrcRT45rfjYxkt5QWLrmOJ+/UEAI2+fQgKe/fCjR8l4TpRgw==}
    -    dev: true
    +  cuint@0.2.2: {}
     
    -  /cypress-image-snapshot@4.0.1(cypress@13.7.3)(jest@29.7.0):
    -    resolution: {integrity: sha512-PBpnhX/XItlx3/DAk5ozsXQHUi72exybBNH5Mpqj1DVmjq+S5Jd9WE5CRa4q5q0zuMZb2V2VpXHth6MjFpgj9Q==}
    -    engines: {node: '>=8'}
    -    peerDependencies:
    -      cypress: ^4.5.0
    +  cypress-image-snapshot@4.0.1(cypress@13.7.3)(jest@29.7.0(@types/node@20.12.7)):
         dependencies:
           chalk: 2.4.2
           cypress: 13.7.3
           fs-extra: 7.0.1
           glob: 7.2.3
    -      jest-image-snapshot: 4.2.0(jest@29.7.0)
    +      jest-image-snapshot: 4.2.0(jest@29.7.0(@types/node@20.12.7))
           pkg-dir: 3.0.0
           term-img: 4.1.0
         transitivePeerDependencies:
           - jest
    -    dev: true
     
    -  /cypress@13.7.3:
    -    resolution: {integrity: sha512-uoecY6FTCAuIEqLUYkTrxamDBjMHTYak/1O7jtgwboHiTnS1NaMOoR08KcTrbRZFCBvYOiS4tEkQRmsV+xcrag==}
    -    engines: {node: ^16.0.0 || ^18.0.0 || >=20.0.0}
    -    hasBin: true
    -    requiresBuild: true
    +  cypress@13.7.3:
         dependencies:
           '@cypress/request': 3.0.1
           '@cypress/xvfb': 1.2.4(supports-color@8.1.1)
    @@ -7538,241 +13461,135 @@ packages:
           tmp: 0.2.3
           untildify: 4.0.0
           yauzl: 2.10.0
    -    dev: true
     
    -  /cytoscape-cose-bilkent@4.1.0(cytoscape@3.28.1):
    -    resolution: {integrity: sha512-wgQlVIUJF13Quxiv5e1gstZ08rnZj2XaLHGoFMYXz7SkNfCDOOteKBE6SYRfA9WxxI/iBc3ajfDoc6hb/MRAHQ==}
    -    peerDependencies:
    -      cytoscape: ^3.2.0
    +  cytoscape-cose-bilkent@4.1.0(cytoscape@3.28.1(patch_hash=claipxynndhyqyu2csninuoh5e)):
         dependencies:
           cose-base: 1.0.3
           cytoscape: 3.28.1(patch_hash=claipxynndhyqyu2csninuoh5e)
    -    dev: false
     
    -  /cytoscape@3.28.1(patch_hash=claipxynndhyqyu2csninuoh5e):
    -    resolution: {integrity: sha512-xyItz4O/4zp9/239wCcH8ZcFuuZooEeF8KHRmzjDfGdXsj3OG9MFSMA0pJE0uX3uCN/ygof6hHf4L7lst+JaDg==}
    -    engines: {node: '>=0.10'}
    +  cytoscape@3.28.1(patch_hash=claipxynndhyqyu2csninuoh5e):
         dependencies:
           heap: 0.2.7
           lodash: 4.17.21
    -    dev: false
    -    patched: true
     
    -  /d3-array@2.12.1:
    -    resolution: {integrity: sha512-B0ErZK/66mHtEsR1TkPEEkwdy+WDesimkM5gpZr5Dsg54BiTA5RXtYW5qTLIAcekaS9xfZrzBLF/OAkB3Qn1YQ==}
    +  d3-array@2.12.1:
         dependencies:
           internmap: 1.0.1
    -    dev: false
     
    -  /d3-array@3.2.4:
    -    resolution: {integrity: sha512-tdQAmyA18i4J7wprpYq8ClcxZy3SC31QMeByyCFyRt7BVHdREQZ5lpzoe5mFEYZUWe+oq8HBvk9JjpibyEV4Jg==}
    -    engines: {node: '>=12'}
    +  d3-array@3.2.4:
         dependencies:
           internmap: 2.0.3
    -    dev: false
     
    -  /d3-axis@3.0.0:
    -    resolution: {integrity: sha512-IH5tgjV4jE/GhHkRV0HiVYPDtvfjHQlQfJHs0usq7M30XcSBvOotpmH1IgkcXsO/5gEQZD43B//fc7SRT5S+xw==}
    -    engines: {node: '>=12'}
    -    dev: false
    +  d3-axis@3.0.0: {}
     
    -  /d3-brush@3.0.0:
    -    resolution: {integrity: sha512-ALnjWlVYkXsVIGlOsuWH1+3udkYFI48Ljihfnh8FZPF2QS9o+PzGLBslO0PjzVoHLZ2KCVgAM8NVkXPJB2aNnQ==}
    -    engines: {node: '>=12'}
    +  d3-brush@3.0.0:
         dependencies:
           d3-dispatch: 3.0.1
           d3-drag: 3.0.0
           d3-interpolate: 3.0.1
           d3-selection: 3.0.0
           d3-transition: 3.0.1(d3-selection@3.0.0)
    -    dev: false
     
    -  /d3-chord@3.0.1:
    -    resolution: {integrity: sha512-VE5S6TNa+j8msksl7HwjxMHDM2yNK3XCkusIlpX5kwauBfXuyLAtNg9jCp/iHH61tgI4sb6R/EIMWCqEIdjT/g==}
    -    engines: {node: '>=12'}
    +  d3-chord@3.0.1:
         dependencies:
           d3-path: 3.1.0
    -    dev: false
     
    -  /d3-color@3.1.0:
    -    resolution: {integrity: sha512-zg/chbXyeBtMQ1LbD/WSoW2DpC3I0mpmPdW+ynRTj/x2DAWYrIY7qeZIHidozwV24m4iavr15lNwIwLxRmOxhA==}
    -    engines: {node: '>=12'}
    -    dev: false
    +  d3-color@3.1.0: {}
     
    -  /d3-contour@4.0.2:
    -    resolution: {integrity: sha512-4EzFTRIikzs47RGmdxbeUvLWtGedDUNkTcmzoeyg4sP/dvCexO47AaQL7VKy/gul85TOxw+IBgA8US2xwbToNA==}
    -    engines: {node: '>=12'}
    +  d3-contour@4.0.2:
         dependencies:
           d3-array: 3.2.4
    -    dev: false
     
    -  /d3-delaunay@6.0.4:
    -    resolution: {integrity: sha512-mdjtIZ1XLAM8bm/hx3WwjfHt6Sggek7qH043O8KEjDXN40xi3vx/6pYSVTwLjEgiXQTbvaouWKynLBiUZ6SK6A==}
    -    engines: {node: '>=12'}
    +  d3-delaunay@6.0.4:
         dependencies:
           delaunator: 5.0.1
    -    dev: false
     
    -  /d3-dispatch@3.0.1:
    -    resolution: {integrity: sha512-rzUyPU/S7rwUflMyLc1ETDeBj0NRuHKKAcvukozwhshr6g6c5d8zh4c2gQjY2bZ0dXeGLWc1PF174P2tVvKhfg==}
    -    engines: {node: '>=12'}
    -    dev: false
    +  d3-dispatch@3.0.1: {}
     
    -  /d3-drag@3.0.0:
    -    resolution: {integrity: sha512-pWbUJLdETVA8lQNJecMxoXfH6x+mO2UQo8rSmZ+QqxcbyA3hfeprFgIT//HW2nlHChWeIIMwS2Fq+gEARkhTkg==}
    -    engines: {node: '>=12'}
    +  d3-drag@3.0.0:
         dependencies:
           d3-dispatch: 3.0.1
           d3-selection: 3.0.0
    -    dev: false
     
    -  /d3-dsv@3.0.1:
    -    resolution: {integrity: sha512-UG6OvdI5afDIFP9w4G0mNq50dSOsXHJaRE8arAS5o9ApWnIElp8GZw1Dun8vP8OyHOZ/QJUKUJwxiiCCnUwm+Q==}
    -    engines: {node: '>=12'}
    -    hasBin: true
    +  d3-dsv@3.0.1:
         dependencies:
           commander: 7.2.0
           iconv-lite: 0.6.3
           rw: 1.3.3
    -    dev: false
     
    -  /d3-ease@3.0.1:
    -    resolution: {integrity: sha512-wR/XK3D3XcLIZwpbvQwQ5fK+8Ykds1ip7A2Txe0yxncXSdq1L9skcG7blcedkOX+ZcgxGAmLX1FrRGbADwzi0w==}
    -    engines: {node: '>=12'}
    -    dev: false
    +  d3-ease@3.0.1: {}
     
    -  /d3-fetch@3.0.1:
    -    resolution: {integrity: sha512-kpkQIM20n3oLVBKGg6oHrUchHM3xODkTzjMoj7aWQFq5QEM+R6E4WkzT5+tojDY7yjez8KgCBRoj4aEr99Fdqw==}
    -    engines: {node: '>=12'}
    +  d3-fetch@3.0.1:
         dependencies:
           d3-dsv: 3.0.1
    -    dev: false
     
    -  /d3-force@3.0.0:
    -    resolution: {integrity: sha512-zxV/SsA+U4yte8051P4ECydjD/S+qeYtnaIyAs9tgHCqfguma/aAQDjo85A9Z6EKhBirHRJHXIgJUlffT4wdLg==}
    -    engines: {node: '>=12'}
    +  d3-force@3.0.0:
         dependencies:
           d3-dispatch: 3.0.1
           d3-quadtree: 3.0.1
           d3-timer: 3.0.1
    -    dev: false
     
    -  /d3-format@3.1.0:
    -    resolution: {integrity: sha512-YyUI6AEuY/Wpt8KWLgZHsIU86atmikuoOmCfommt0LYHiQSPjvX2AcFc38PX0CBpr2RCyZhjex+NS/LPOv6YqA==}
    -    engines: {node: '>=12'}
    -    dev: false
    +  d3-format@3.1.0: {}
     
    -  /d3-geo@3.1.0:
    -    resolution: {integrity: sha512-JEo5HxXDdDYXCaWdwLRt79y7giK8SbhZJbFWXqbRTolCHFI5jRqteLzCsq51NKbUoX0PjBVSohxrx+NoOUujYA==}
    -    engines: {node: '>=12'}
    +  d3-geo@3.1.0:
         dependencies:
           d3-array: 3.2.4
    -    dev: false
     
    -  /d3-hierarchy@3.1.2:
    -    resolution: {integrity: sha512-FX/9frcub54beBdugHjDCdikxThEqjnR93Qt7PvQTOHxyiNCAlvMrHhclk3cD5VeAaq9fxmfRp+CnWw9rEMBuA==}
    -    engines: {node: '>=12'}
    -    dev: false
    +  d3-hierarchy@3.1.2: {}
     
    -  /d3-interpolate@3.0.1:
    -    resolution: {integrity: sha512-3bYs1rOD33uo8aqJfKP3JWPAibgw8Zm2+L9vBKEHJ2Rg+viTR7o5Mmv5mZcieN+FRYaAOWX5SJATX6k1PWz72g==}
    -    engines: {node: '>=12'}
    +  d3-interpolate@3.0.1:
         dependencies:
           d3-color: 3.1.0
    -    dev: false
     
    -  /d3-path@1.0.9:
    -    resolution: {integrity: sha512-VLaYcn81dtHVTjEHd8B+pbe9yHWpXKZUC87PzoFmsFrJqgFwDe/qxfp5MlfsfM1V5E/iVt0MmEbWQ7FVIXh/bg==}
    -    dev: false
    +  d3-path@1.0.9: {}
     
    -  /d3-path@3.1.0:
    -    resolution: {integrity: sha512-p3KP5HCf/bvjBSSKuXid6Zqijx7wIfNW+J/maPs+iwR35at5JCbLUT0LzF1cnjbCHWhqzQTIN2Jpe8pRebIEFQ==}
    -    engines: {node: '>=12'}
    -    dev: false
    +  d3-path@3.1.0: {}
     
    -  /d3-polygon@3.0.1:
    -    resolution: {integrity: sha512-3vbA7vXYwfe1SYhED++fPUQlWSYTTGmFmQiany/gdbiWgU/iEyQzyymwL9SkJjFFuCS4902BSzewVGsHHmHtXg==}
    -    engines: {node: '>=12'}
    -    dev: false
    +  d3-polygon@3.0.1: {}
     
    -  /d3-quadtree@3.0.1:
    -    resolution: {integrity: sha512-04xDrxQTDTCFwP5H6hRhsRcb9xxv2RzkcsygFzmkSIOJy3PeRJP7sNk3VRIbKXcog561P9oU0/rVH6vDROAgUw==}
    -    engines: {node: '>=12'}
    -    dev: false
    +  d3-quadtree@3.0.1: {}
     
    -  /d3-random@3.0.1:
    -    resolution: {integrity: sha512-FXMe9GfxTxqd5D6jFsQ+DJ8BJS4E/fT5mqqdjovykEB2oFbTMDVdg1MGFxfQW+FBOGoB++k8swBrgwSHT1cUXQ==}
    -    engines: {node: '>=12'}
    -    dev: false
    +  d3-random@3.0.1: {}
     
    -  /d3-sankey@0.12.3:
    -    resolution: {integrity: sha512-nQhsBRmM19Ax5xEIPLMY9ZmJ/cDvd1BG3UVvt5h3WRxKg5zGRbvnteTyWAbzeSvlh3tW7ZEmq4VwR5mB3tutmQ==}
    +  d3-sankey@0.12.3:
         dependencies:
           d3-array: 2.12.1
           d3-shape: 1.3.7
    -    dev: false
     
    -  /d3-scale-chromatic@3.0.0:
    -    resolution: {integrity: sha512-Lx9thtxAKrO2Pq6OO2Ua474opeziKr279P/TKZsMAhYyNDD3EnCffdbgeSYN5O7m2ByQsxtuP2CSDczNUIZ22g==}
    -    engines: {node: '>=12'}
    +  d3-scale-chromatic@3.0.0:
         dependencies:
           d3-color: 3.1.0
           d3-interpolate: 3.0.1
    -    dev: false
     
    -  /d3-scale@4.0.2:
    -    resolution: {integrity: sha512-GZW464g1SH7ag3Y7hXjf8RoUuAFIqklOAq3MRl4OaWabTFJY9PN/E1YklhXLh+OQ3fM9yS2nOkCoS+WLZ6kvxQ==}
    -    engines: {node: '>=12'}
    +  d3-scale@4.0.2:
         dependencies:
           d3-array: 3.2.4
           d3-format: 3.1.0
           d3-interpolate: 3.0.1
           d3-time: 3.1.0
           d3-time-format: 4.1.0
    -    dev: false
     
    -  /d3-selection@3.0.0:
    -    resolution: {integrity: sha512-fmTRWbNMmsmWq6xJV8D19U/gw/bwrHfNXxrIN+HfZgnzqTHp9jOmKMhsTUjXOJnZOdZY9Q28y4yebKzqDKlxlQ==}
    -    engines: {node: '>=12'}
    -    dev: false
    +  d3-selection@3.0.0: {}
     
    -  /d3-shape@1.3.7:
    -    resolution: {integrity: sha512-EUkvKjqPFUAZyOlhY5gzCxCeI0Aep04LwIRpsZ/mLFelJiUfnK56jo5JMDSE7yyP2kLSb6LtF+S5chMk7uqPqw==}
    +  d3-shape@1.3.7:
         dependencies:
           d3-path: 1.0.9
    -    dev: false
     
    -  /d3-shape@3.2.0:
    -    resolution: {integrity: sha512-SaLBuwGm3MOViRq2ABk3eLoxwZELpH6zhl3FbAoJ7Vm1gofKx6El1Ib5z23NUEhF9AsGl7y+dzLe5Cw2AArGTA==}
    -    engines: {node: '>=12'}
    +  d3-shape@3.2.0:
         dependencies:
           d3-path: 3.1.0
    -    dev: false
     
    -  /d3-time-format@4.1.0:
    -    resolution: {integrity: sha512-dJxPBlzC7NugB2PDLwo9Q8JiTR3M3e4/XANkreKSUxF8vvXKqm1Yfq4Q5dl8budlunRVlUUaDUgFt7eA8D6NLg==}
    -    engines: {node: '>=12'}
    +  d3-time-format@4.1.0:
         dependencies:
           d3-time: 3.1.0
    -    dev: false
     
    -  /d3-time@3.1.0:
    -    resolution: {integrity: sha512-VqKjzBLejbSMT4IgbmVgDjpkYrNWUYJnbCGo874u7MMKIWsILRX+OpX/gTk8MqjpT1A/c6HY2dCA77ZN0lkQ2Q==}
    -    engines: {node: '>=12'}
    +  d3-time@3.1.0:
         dependencies:
           d3-array: 3.2.4
    -    dev: false
     
    -  /d3-timer@3.0.1:
    -    resolution: {integrity: sha512-ndfJ/JxxMd3nw31uyKoY2naivF+r29V+Lc0svZxe1JvvIRmi8hUsrMvdOwgS1o6uBHmiz91geQ0ylPP0aj1VUA==}
    -    engines: {node: '>=12'}
    -    dev: false
    +  d3-timer@3.0.1: {}
     
    -  /d3-transition@3.0.1(d3-selection@3.0.0):
    -    resolution: {integrity: sha512-ApKvfjsSR6tg06xrL434C0WydLr7JewBB3V+/39RMHsaXTOG0zmt/OAXeng5M5LBm0ojmxJrpomQVZ1aPvBL4w==}
    -    engines: {node: '>=12'}
    -    peerDependencies:
    -      d3-selection: 2 - 3
    +  d3-transition@3.0.1(d3-selection@3.0.0):
         dependencies:
           d3-color: 3.1.0
           d3-dispatch: 3.0.1
    @@ -7780,22 +13597,16 @@ packages:
           d3-interpolate: 3.0.1
           d3-selection: 3.0.0
           d3-timer: 3.0.1
    -    dev: false
     
    -  /d3-zoom@3.0.0:
    -    resolution: {integrity: sha512-b8AmV3kfQaqWAuacbPuNbL6vahnOJflOhexLzMMNLga62+/nh0JzvJ0aO/5a5MVgUFGS7Hu1P9P03o3fJkDCyw==}
    -    engines: {node: '>=12'}
    +  d3-zoom@3.0.0:
         dependencies:
           d3-dispatch: 3.0.1
           d3-drag: 3.0.0
           d3-interpolate: 3.0.1
           d3-selection: 3.0.0
           d3-transition: 3.0.1(d3-selection@3.0.0)
    -    dev: false
     
    -  /d3@7.9.0:
    -    resolution: {integrity: sha512-e1U46jVP+w7Iut8Jt8ri1YsPOvFpg46k+K8TpCb0P+zjCkjkPnV7WzfDJzMHy1LnA+wj5pLT1wjO901gLXeEhA==}
    -    engines: {node: '>=12'}
    +  d3@7.9.0:
         dependencies:
           d3-array: 3.2.4
           d3-axis: 3.0.0
    @@ -7827,466 +13638,254 @@ packages:
           d3-timer: 3.0.1
           d3-transition: 3.0.1(d3-selection@3.0.0)
           d3-zoom: 3.0.0
    -    dev: false
     
    -  /d@1.0.2:
    -    resolution: {integrity: sha512-MOqHvMWF9/9MX6nza0KgvFH4HpMU0EF5uUDXqX/BtxtU8NfB0QzRtJ8Oe/6SuS4kbhyzVJwjd97EA4PKrzJ8bw==}
    -    engines: {node: '>=0.12'}
    +  d@1.0.2:
         dependencies:
           es5-ext: 0.10.64
           type: 2.7.2
    -    dev: true
     
    -  /dagre-d3-es@7.0.10:
    -    resolution: {integrity: sha512-qTCQmEhcynucuaZgY5/+ti3X/rnszKZhEQH/ZdWdtP1tA/y3VoHJzcVrO9pjjJCNpigfscAtoUB5ONcd2wNn0A==}
    +  dagre-d3-es@7.0.10:
         dependencies:
           d3: 7.9.0
           lodash-es: 4.17.21
    -    dev: false
     
    -  /dashdash@1.14.1:
    -    resolution: {integrity: sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g==}
    -    engines: {node: '>=0.10'}
    +  dashdash@1.14.1:
         dependencies:
           assert-plus: 1.0.0
    -    dev: true
     
    -  /data-uri-to-buffer@4.0.1:
    -    resolution: {integrity: sha512-0R9ikRb668HB7QDxT1vkpuUBtqc53YyAwMwGeUFKRojY/NWKvdZ+9UYtRfGmhqNbRkTSVpMbmyhXipFFv2cb/A==}
    -    engines: {node: '>= 12'}
    -    dev: true
    +  data-uri-to-buffer@4.0.1: {}
     
    -  /data-urls@5.0.0:
    -    resolution: {integrity: sha512-ZYP5VBHshaDAiVZxjbRVcFJpc+4xGgT0bK3vzy1HLN8jTO975HEbuYzZJcHoQEY5K1a0z8YayJkyVETa08eNTg==}
    -    engines: {node: '>=18'}
    +  data-urls@5.0.0:
         dependencies:
           whatwg-mimetype: 4.0.0
           whatwg-url: 14.0.0
    -    dev: true
     
    -  /data-view-buffer@1.0.1:
    -    resolution: {integrity: sha512-0lht7OugA5x3iJLOWFhWK/5ehONdprk0ISXqVFn/NFrDu+cuc8iADFrGQz5BnRK7LLU3JmkbXSxaqX+/mXYtUA==}
    -    engines: {node: '>= 0.4'}
    +  data-view-buffer@1.0.1:
         dependencies:
           call-bind: 1.0.7
           es-errors: 1.3.0
           is-data-view: 1.0.1
    -    dev: true
     
    -  /data-view-byte-length@1.0.1:
    -    resolution: {integrity: sha512-4J7wRJD3ABAzr8wP+OcIcqq2dlUKp4DVflx++hs5h5ZKydWMI6/D/fAot+yh6g2tHh8fLFTvNOaVN357NvSrOQ==}
    -    engines: {node: '>= 0.4'}
    +  data-view-byte-length@1.0.1:
         dependencies:
           call-bind: 1.0.7
           es-errors: 1.3.0
           is-data-view: 1.0.1
    -    dev: true
     
    -  /data-view-byte-offset@1.0.0:
    -    resolution: {integrity: sha512-t/Ygsytq+R995EJ5PZlD4Cu56sWa8InXySaViRzw9apusqsOO2bQP+SbYzAhR0pFKoB+43lYy8rWban9JSuXnA==}
    -    engines: {node: '>= 0.4'}
    +  data-view-byte-offset@1.0.0:
         dependencies:
           call-bind: 1.0.7
           es-errors: 1.3.0
           is-data-view: 1.0.1
    -    dev: true
     
    -  /date-fns@2.30.0:
    -    resolution: {integrity: sha512-fnULvOpxnC5/Vg3NCiWelDsLiUc9bRwAPs/+LfTLNvetFCtCTN+yQz15C/fs4AwX1R9K5GLtLfn8QW+dWisaAw==}
    -    engines: {node: '>=0.11'}
    +  date-fns@2.30.0:
         dependencies:
           '@babel/runtime': 7.24.0
    -    dev: true
     
    -  /dayjs@1.11.10:
    -    resolution: {integrity: sha512-vjAczensTgRcqDERK0SR2XMwsF/tSvnvlv6VcF2GIhg6Sx4yOIt/irsr1RDJsKiIyBzJDpCoXiWWq28MqH2cnQ==}
    -    dev: true
    +  dayjs@1.11.10: {}
     
    -  /dayjs@1.11.11:
    -    resolution: {integrity: sha512-okzr3f11N6WuqYtZSvm+F776mB41wRZMhKP+hc34YdW+KmtYYK9iqvHSwo2k9FEH3fhGXvOPV6yz2IcSrfRUDg==}
    +  dayjs@1.11.11: {}
     
    -  /debug@2.6.9:
    -    resolution: {integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==}
    -    peerDependencies:
    -      supports-color: '*'
    -    peerDependenciesMeta:
    -      supports-color:
    -        optional: true
    +  debug@2.6.9:
         dependencies:
           ms: 2.0.0
    -    dev: true
     
    -  /debug@3.2.7(supports-color@8.1.1):
    -    resolution: {integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==}
    -    peerDependencies:
    -      supports-color: '*'
    -    peerDependenciesMeta:
    -      supports-color:
    -        optional: true
    +  debug@3.2.7(supports-color@8.1.1):
         dependencies:
           ms: 2.1.3
    +    optionalDependencies:
           supports-color: 8.1.1
    -    dev: true
     
    -  /debug@4.3.3:
    -    resolution: {integrity: sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==}
    -    engines: {node: '>=6.0'}
    -    peerDependencies:
    -      supports-color: '*'
    -    peerDependenciesMeta:
    -      supports-color:
    -        optional: true
    +  debug@4.3.3:
         dependencies:
           ms: 2.1.2
    -    dev: true
     
    -  /debug@4.3.4(supports-color@8.1.1):
    -    resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==}
    -    engines: {node: '>=6.0'}
    -    peerDependencies:
    -      supports-color: '*'
    -    peerDependenciesMeta:
    -      supports-color:
    -        optional: true
    +  debug@4.3.4(supports-color@8.1.1):
         dependencies:
           ms: 2.1.2
    +    optionalDependencies:
           supports-color: 8.1.1
     
    -  /decamelize@1.2.0:
    -    resolution: {integrity: sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==}
    -    engines: {node: '>=0.10.0'}
    -    dev: true
    +  decamelize@1.2.0: {}
     
    -  /decimal.js@10.4.3:
    -    resolution: {integrity: sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA==}
    -    dev: true
    +  decimal.js@10.4.3: {}
     
    -  /decode-named-character-reference@1.0.2:
    -    resolution: {integrity: sha512-O8x12RzrUF8xyVcY0KJowWsmaJxQbmy0/EtnNtHRpsOcT7dFk5W598coHqBVpmWo1oQQfsCqfCmkZN5DJrZVdg==}
    +  decode-named-character-reference@1.0.2:
         dependencies:
           character-entities: 2.0.2
     
    -  /decompress-response@6.0.0:
    -    resolution: {integrity: sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==}
    -    engines: {node: '>=10'}
    +  decompress-response@6.0.0:
         dependencies:
           mimic-response: 3.1.0
    -    dev: true
     
    -  /dedent@1.5.1:
    -    resolution: {integrity: sha512-+LxW+KLWxu3HW3M2w2ympwtqPrqYRzU8fqi6Fhd18fBALe15blJPI/I4+UHveMVG6lJqB4JNd4UG0S5cnVHwIg==}
    -    peerDependencies:
    -      babel-plugin-macros: ^3.1.0
    -    peerDependenciesMeta:
    -      babel-plugin-macros:
    -        optional: true
    -    dev: true
    +  dedent@1.5.1: {}
     
    -  /deep-eql@4.1.3:
    -    resolution: {integrity: sha512-WaEtAOpRA1MQ0eohqZjpGD8zdI0Ovsm8mmFhaDN8dvDZzyoUMcYDnf5Y6iu7HTXxf8JDS23qWa4a+hKCDyOPzw==}
    -    engines: {node: '>=6'}
    +  deep-eql@4.1.3:
         dependencies:
           type-detect: 4.0.8
    -    dev: true
     
    -  /deep-is@0.1.4:
    -    resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==}
    -    dev: true
    +  deep-is@0.1.4: {}
     
    -  /deepmerge@4.3.1:
    -    resolution: {integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==}
    -    engines: {node: '>=0.10.0'}
    -    dev: true
    +  deepmerge@4.3.1: {}
     
    -  /default-gateway@6.0.3:
    -    resolution: {integrity: sha512-fwSOJsbbNzZ/CUFpqFBqYfYNLj1NbMPm8MMCIzHjC83iSJRBEGmDUxU+WP661BaBQImeC2yHwXtz+P/O9o+XEg==}
    -    engines: {node: '>= 10'}
    +  default-gateway@6.0.3:
         dependencies:
           execa: 5.1.1
    -    dev: true
     
    -  /default-require-extensions@3.0.1:
    -    resolution: {integrity: sha512-eXTJmRbm2TIt9MgWTsOH1wEuhew6XGZcMeGKCtLedIg/NCsg1iBePXkceTdK4Fii7pzmN9tGsZhKzZ4h7O/fxw==}
    -    engines: {node: '>=8'}
    +  default-require-extensions@3.0.1:
         dependencies:
           strip-bom: 4.0.0
    -    dev: true
     
    -  /defer-to-connect@2.0.1:
    -    resolution: {integrity: sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg==}
    -    engines: {node: '>=10'}
    -    dev: true
    +  defer-to-connect@2.0.1: {}
     
    -  /define-data-property@1.1.4:
    -    resolution: {integrity: sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==}
    -    engines: {node: '>= 0.4'}
    +  define-data-property@1.1.4:
         dependencies:
           es-define-property: 1.0.0
           es-errors: 1.3.0
           gopd: 1.0.1
    -    dev: true
     
    -  /define-lazy-prop@2.0.0:
    -    resolution: {integrity: sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==}
    -    engines: {node: '>=8'}
    -    dev: true
    +  define-lazy-prop@2.0.0: {}
     
    -  /define-properties@1.2.1:
    -    resolution: {integrity: sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==}
    -    engines: {node: '>= 0.4'}
    +  define-properties@1.2.1:
         dependencies:
           define-data-property: 1.1.4
           has-property-descriptors: 1.0.2
           object-keys: 1.1.1
    -    dev: true
     
    -  /defu@6.1.4:
    -    resolution: {integrity: sha512-mEQCMmwJu317oSz8CwdIOdwf3xMif1ttiM8LTufzc3g6kR+9Pe236twL8j3IYT1F7GfRgGcW6MWxzZjLIkuHIg==}
    -    dev: true
    +  defu@6.1.4: {}
     
    -  /delaunator@5.0.1:
    -    resolution: {integrity: sha512-8nvh+XBe96aCESrGOqMp/84b13H9cdKbG5P2ejQCh4d4sK9RL4371qou9drQjMhvnPmhWl5hnmqbEE0fXr9Xnw==}
    +  delaunator@5.0.1:
         dependencies:
           robust-predicates: 3.0.2
    -    dev: false
     
    -  /delayed-stream@1.0.0:
    -    resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==}
    -    engines: {node: '>=0.4.0'}
    -    dev: true
    +  delayed-stream@1.0.0: {}
     
    -  /depd@1.1.2:
    -    resolution: {integrity: sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==}
    -    engines: {node: '>= 0.6'}
    -    dev: true
    +  depd@1.1.2: {}
     
    -  /depd@2.0.0:
    -    resolution: {integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==}
    -    engines: {node: '>= 0.8'}
    -    dev: true
    +  depd@2.0.0: {}
     
    -  /dequal@2.0.3:
    -    resolution: {integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==}
    -    engines: {node: '>=6'}
    +  dequal@2.0.3: {}
     
    -  /destr@2.0.3:
    -    resolution: {integrity: sha512-2N3BOUU4gYMpTP24s5rF5iP7BDr7uNTCs4ozw3kf/eKfvWSIu93GEBi5m427YoyJoeOzQ5smuu4nNAPGb8idSQ==}
    -    dev: true
    +  destr@2.0.3: {}
     
    -  /destroy@1.2.0:
    -    resolution: {integrity: sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==}
    -    engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16}
    -    dev: true
    +  destroy@1.2.0: {}
     
    -  /detect-newline@3.1.0:
    -    resolution: {integrity: sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==}
    -    engines: {node: '>=8'}
    -    dev: true
    +  detect-newline@3.1.0: {}
     
    -  /detect-node@2.1.0:
    -    resolution: {integrity: sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==}
    -    dev: true
    +  detect-node@2.1.0: {}
     
    -  /devlop@1.1.0:
    -    resolution: {integrity: sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA==}
    +  devlop@1.1.0:
         dependencies:
           dequal: 2.0.3
     
    -  /didyoumean@1.2.2:
    -    resolution: {integrity: sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==}
    -    dev: false
    +  didyoumean@1.2.2: {}
     
    -  /diff-sequences@29.6.3:
    -    resolution: {integrity: sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==}
    -    engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
    -    dev: true
    +  diff-sequences@29.6.3: {}
     
    -  /dir-glob@3.0.1:
    -    resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==}
    -    engines: {node: '>=8'}
    +  dir-glob@3.0.1:
         dependencies:
           path-type: 4.0.0
    -    dev: true
     
    -  /dlv@1.1.3:
    -    resolution: {integrity: sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==}
    -    dev: false
    +  dlv@1.1.3: {}
     
    -  /dns-equal@1.0.0:
    -    resolution: {integrity: sha512-z+paD6YUQsk+AbGCEM4PrOXSss5gd66QfcVBFTKR/HpFL9jCqikS94HYwKww6fQyO7IxrIIyUu+g0Ka9tUS2Cg==}
    -    dev: true
    +  dns-equal@1.0.0: {}
     
    -  /dns-packet@5.6.0:
    -    resolution: {integrity: sha512-rza3UH1LwdHh9qyPXp8lkwpjSNk/AMD3dPytUoRoqnypDUhY0xvbdmVhWOfxO68frEfV9BU8V12Ez7ZsHGZpCQ==}
    -    engines: {node: '>=6'}
    +  dns-packet@5.6.0:
         dependencies:
           '@leichtgewicht/ip-codec': 2.0.4
    -    dev: true
     
    -  /doctrine@3.0.0:
    -    resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==}
    -    engines: {node: '>=6.0.0'}
    +  doctrine@3.0.0:
         dependencies:
           esutils: 2.0.3
    -    dev: true
     
    -  /dom-serializer@2.0.0:
    -    resolution: {integrity: sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==}
    +  dom-serializer@2.0.0:
         dependencies:
           domelementtype: 2.3.0
           domhandler: 5.0.3
           entities: 4.5.0
    -    dev: true
     
    -  /dom-to-image-more@2.16.0:
    -    resolution: {integrity: sha512-RyjtkaM/zVy90uJ20lT+/G7MwBZx6l/ePliq5CQOeAnPeew7aUGS6IqRWBkHpstU+POmhaKA8A9H9qf476gisQ==}
    -    dev: false
    +  dom-to-image-more@2.16.0: {}
     
    -  /domelementtype@2.3.0:
    -    resolution: {integrity: sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==}
    -    dev: true
    +  domelementtype@2.3.0: {}
     
    -  /domhandler@5.0.3:
    -    resolution: {integrity: sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==}
    -    engines: {node: '>= 4'}
    +  domhandler@5.0.3:
         dependencies:
           domelementtype: 2.3.0
    -    dev: true
     
    -  /dompurify@3.1.3:
    -    resolution: {integrity: sha512-5sOWYSNPaxz6o2MUPvtyxTTqR4D3L77pr5rUQoWgD5ROQtVIZQgJkXbo1DLlK3vj11YGw5+LnF4SYti4gZmwng==}
    -    dev: false
    +  dompurify@3.1.2: {}
     
    -  /domutils@3.1.0:
    -    resolution: {integrity: sha512-H78uMmQtI2AhgDJjWeQmHwJJ2bLPD3GMmO7Zja/ZZh84wkm+4ut+IUnUdRa8uCGX88DiVx1j6FRe1XfxEgjEZA==}
    +  domutils@3.1.0:
         dependencies:
           dom-serializer: 2.0.0
           domelementtype: 2.3.0
           domhandler: 5.0.3
    -    dev: true
     
    -  /dot-prop@6.0.1:
    -    resolution: {integrity: sha512-tE7ztYzXHIeyvc7N+hR3oi7FIbf/NIjVP9hmAt3yMXzrQ072/fpjGLx2GxNxGxUl5V73MEqYzioOMoVhGMJ5cA==}
    -    engines: {node: '>=10'}
    +  dot-prop@6.0.1:
         dependencies:
           is-obj: 2.0.0
    -    dev: true
     
    -  /dotenv@16.4.5:
    -    resolution: {integrity: sha512-ZmdL2rui+eB2YwhsWzjInR8LldtZHGDoQ1ugH85ppHKwpUHL7j7rN0Ti9NCnGiQbhaZ11FpR+7ao1dNsmduNUg==}
    -    engines: {node: '>=12'}
    -    dev: true
    +  dotenv@16.4.5: {}
     
    -  /duplexer@0.1.2:
    -    resolution: {integrity: sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==}
    -    dev: true
    +  duplexer@0.1.2: {}
     
    -  /eastasianwidth@0.2.0:
    -    resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==}
    +  eastasianwidth@0.2.0: {}
     
    -  /ebnf-parser@0.1.10:
    -    resolution: {integrity: sha512-urvSxVQ6XJcoTpc+/x2pWhhuOX4aljCNQpwzw+ifZvV1andZkAmiJc3Rq1oGEAQmcjiLceyMXOy1l8ms8qs2fQ==}
    -    dev: true
    +  ebnf-parser@0.1.10: {}
     
    -  /ecc-jsbn@0.1.2:
    -    resolution: {integrity: sha512-eh9O+hwRHNbG4BLTjEl3nw044CkGm5X6LoaCf7LPp7UU8Qrt47JYNi6nPX8xjW97TKGKm1ouctg0QSpZe9qrnw==}
    +  ecc-jsbn@0.1.2:
         dependencies:
           jsbn: 0.1.1
           safer-buffer: 2.1.2
    -    dev: true
    -
    -  /ee-first@1.1.1:
    -    resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==}
    -    dev: true
     
    -  /ejs@3.1.10:
    -    resolution: {integrity: sha512-UeJmFfOrAQS8OJWPZ4qtgHyWExa088/MtK5UEyoJGFH67cDEXkZSviOiKRCZ4Xij0zxI3JECgYs3oKx+AizQBA==}
    -    engines: {node: '>=0.10.0'}
    -    hasBin: true
    +  ee-first@1.1.1: {}
    +
    +  ejs@3.1.10:
         dependencies:
    -      jake: 10.9.1
    -    dev: true
    +      jake: 10.8.7
     
    -  /electron-to-chromium@1.4.692:
    -    resolution: {integrity: sha512-d5rZRka9n2Y3MkWRN74IoAsxR0HK3yaAt7T50e3iT9VZmCCQDT3geXUO5ZRMhDToa1pkCeQXuNo+0g+NfDOVPA==}
    -    dev: true
    +  electron-to-chromium@1.4.692: {}
     
    -  /elkjs@0.9.3:
    -    resolution: {integrity: sha512-f/ZeWvW/BCXbhGEf1Ujp29EASo/lk1FDnETgNKwJrsVvGZhUWCZyg3xLJjAsxfOmt8KjswHmI5EwCQcPMpOYhQ==}
    -    dev: false
    +  elkjs@0.9.3: {}
     
    -  /emittery@0.13.1:
    -    resolution: {integrity: sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==}
    -    engines: {node: '>=12'}
    -    dev: true
    +  emittery@0.13.1: {}
     
    -  /emoji-regex@10.3.0:
    -    resolution: {integrity: sha512-QpLs9D9v9kArv4lfDEgg1X/gN5XLnf/A6l9cs8SPZLRZR3ZkY9+kwIQTxm+fsSej5UMYGE8fdoaZVIBlqG0XTw==}
    -    dev: true
    +  emoji-regex@10.3.0: {}
     
    -  /emoji-regex@8.0.0:
    -    resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==}
    +  emoji-regex@8.0.0: {}
     
    -  /emoji-regex@9.2.2:
    -    resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==}
    +  emoji-regex@9.2.2: {}
     
    -  /encodeurl@1.0.2:
    -    resolution: {integrity: sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==}
    -    engines: {node: '>= 0.8'}
    -    dev: true
    +  encodeurl@1.0.2: {}
     
    -  /encoding@0.1.13:
    -    resolution: {integrity: sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==}
    +  encoding@0.1.13:
         dependencies:
           iconv-lite: 0.6.3
    -    dev: true
     
    -  /end-of-stream@1.4.4:
    -    resolution: {integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==}
    +  end-of-stream@1.4.4:
         dependencies:
           once: 1.4.0
    -    dev: true
     
    -  /enhanced-resolve@5.16.0:
    -    resolution: {integrity: sha512-O+QWCviPNSSLAD9Ucn8Awv+poAkqn3T1XY5/N7kR7rQO9yfSGWkYZDwpJ+iKF7B8rxaQKWngSqACpgzeapSyoA==}
    -    engines: {node: '>=10.13.0'}
    +  enhanced-resolve@5.16.0:
         dependencies:
           graceful-fs: 4.2.11
           tapable: 2.2.1
    -    dev: true
     
    -  /enquirer@2.4.1:
    -    resolution: {integrity: sha512-rRqJg/6gd538VHvR3PSrdRBb/1Vy2YfzHqzvbhGIQpDRKIa4FgV/54b5Q1xYSxOOwKvjXweS26E0Q+nAMwp2pQ==}
    -    engines: {node: '>=8.6'}
    +  enquirer@2.4.1:
         dependencies:
           ansi-colors: 4.1.3
           strip-ansi: 6.0.1
    -    dev: true
     
    -  /entities@3.0.1:
    -    resolution: {integrity: sha512-WiyBqoomrwMdFG1e0kqvASYfnlb0lp8M5o5Fw2OFq1hNZxxcNk8Ik0Xm7LxzBhuidnZB/UtBqVCgUz3kBOP51Q==}
    -    engines: {node: '>=0.12'}
    -    dev: true
    +  entities@3.0.1: {}
     
    -  /entities@4.5.0:
    -    resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==}
    -    engines: {node: '>=0.12'}
    +  entities@4.5.0: {}
     
    -  /envinfo@7.10.0:
    -    resolution: {integrity: sha512-ZtUjZO6l5mwTHvc1L9+1q5p/R3wTopcfqMW8r5t8SJSKqeVI/LtajORwRFEKpEFuekjD0VBjwu1HMxL4UalIRw==}
    -    engines: {node: '>=4'}
    -    hasBin: true
    -    dev: true
    +  envinfo@7.10.0: {}
     
    -  /error-ex@1.3.2:
    -    resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==}
    +  error-ex@1.3.2:
         dependencies:
           is-arrayish: 0.2.1
    -    dev: true
     
    -  /es-abstract@1.23.3:
    -    resolution: {integrity: sha512-e+HfNH61Bj1X9/jLc5v1owaLYuHdeHHSQlkhCBiTK8rBvKaULl/beGMxwrMXjpYrv4pz22BlY570vVePA2ho4A==}
    -    engines: {node: '>= 0.4'}
    +  es-abstract@1.23.3:
         dependencies:
           array-buffer-byte-length: 1.0.1
           arraybuffer.prototype.slice: 1.0.3
    @@ -8334,99 +13933,61 @@ packages:
           typed-array-length: 1.0.6
           unbox-primitive: 1.0.2
           which-typed-array: 1.1.15
    -    dev: true
     
    -  /es-define-property@1.0.0:
    -    resolution: {integrity: sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==}
    -    engines: {node: '>= 0.4'}
    +  es-define-property@1.0.0:
         dependencies:
           get-intrinsic: 1.2.4
    -    dev: true
     
    -  /es-errors@1.3.0:
    -    resolution: {integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==}
    -    engines: {node: '>= 0.4'}
    -    dev: true
    +  es-errors@1.3.0: {}
     
    -  /es-module-lexer@1.4.1:
    -    resolution: {integrity: sha512-cXLGjP0c4T3flZJKQSuziYoq7MlT+rnvfZjfp7h+I7K9BNX54kP9nyWvdbwjQ4u1iWbOL4u96fgeZLToQlZC7w==}
    -    dev: true
    +  es-module-lexer@1.4.1: {}
     
    -  /es-object-atoms@1.0.0:
    -    resolution: {integrity: sha512-MZ4iQ6JwHOBQjahnjwaC1ZtIBH+2ohjamzAO3oaHcXYup7qxjF2fixyH+Q71voWHeOkI2q/TnJao/KfXYIZWbw==}
    -    engines: {node: '>= 0.4'}
    +  es-object-atoms@1.0.0:
         dependencies:
           es-errors: 1.3.0
    -    dev: true
     
    -  /es-set-tostringtag@2.0.3:
    -    resolution: {integrity: sha512-3T8uNMC3OQTHkFUsFq8r/BwAXLHvU/9O9mE0fBc/MY5iq/8H7ncvO947LmYA6ldWw9Uh8Yhf25zu6n7nML5QWQ==}
    -    engines: {node: '>= 0.4'}
    +  es-set-tostringtag@2.0.3:
         dependencies:
           get-intrinsic: 1.2.4
           has-tostringtag: 1.0.2
           hasown: 2.0.2
    -    dev: true
     
    -  /es-to-primitive@1.2.1:
    -    resolution: {integrity: sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==}
    -    engines: {node: '>= 0.4'}
    +  es-to-primitive@1.2.1:
         dependencies:
           is-callable: 1.2.7
           is-date-object: 1.0.5
           is-symbol: 1.0.4
    -    dev: true
     
    -  /es2015-i18n-tag@1.6.1:
    -    resolution: {integrity: sha512-MYoh9p+JTkgnzBh0MEBON6xUyzdmwT6wzsmmFJvZujGSXiI2kM+3XvFl6+AcIO2eeL6VWgtX9szSiDTMwDxyYA==}
    -    engines: {node: '>= 4.0.0'}
    -    dev: true
    +  es2015-i18n-tag@1.6.1: {}
     
    -  /es5-ext@0.10.64:
    -    resolution: {integrity: sha512-p2snDhiLaXe6dahss1LddxqEm+SkuDvV8dnIQG0MWjyHpcMNfXKPE+/Cc0y+PhxJX3A4xGNeFCj5oc0BUh6deg==}
    -    engines: {node: '>=0.10'}
    -    requiresBuild: true
    +  es5-ext@0.10.64:
         dependencies:
           es6-iterator: 2.0.3
           es6-symbol: 3.1.4
           esniff: 2.0.1
           next-tick: 1.1.0
    -    dev: true
     
    -  /es6-error@4.1.1:
    -    resolution: {integrity: sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg==}
    -    dev: true
    +  es6-error@4.1.1: {}
     
    -  /es6-iterator@2.0.3:
    -    resolution: {integrity: sha512-zw4SRzoUkd+cl+ZoE15A9o1oQd920Bb0iOJMQkQhl3jNc03YqVjAhG7scf9C5KWRU/R13Orf588uCC6525o02g==}
    +  es6-iterator@2.0.3:
         dependencies:
           d: 1.0.2
           es5-ext: 0.10.64
           es6-symbol: 3.1.4
    -    dev: true
     
    -  /es6-symbol@3.1.4:
    -    resolution: {integrity: sha512-U9bFFjX8tFiATgtkJ1zg25+KviIXpgRvRHS8sau3GfhVzThRQrOeksPeT0BWW2MNZs1OEWJ1DPXOQMn0KKRkvg==}
    -    engines: {node: '>=0.12'}
    +  es6-symbol@3.1.4:
         dependencies:
           d: 1.0.2
           ext: 1.7.0
    -    dev: true
     
    -  /es6-weak-map@2.0.3:
    -    resolution: {integrity: sha512-p5um32HOTO1kP+w7PRnB+5lQ43Z6muuMuIMffvDN8ZB4GcnjLBV6zGStpbASIMk4DCAvEaamhe2zhyCb/QXXsA==}
    +  es6-weak-map@2.0.3:
         dependencies:
           d: 1.0.2
           es5-ext: 0.10.64
           es6-iterator: 2.0.3
           es6-symbol: 3.1.4
    -    dev: true
     
    -  /esbuild@0.19.12:
    -    resolution: {integrity: sha512-aARqgq8roFBj054KvQr5f1sFu0D65G+miZRCuJyJ0G13Zwx7vRar5Zhn2tkQNzIXcBrNVsv/8stehpj+GAjgbg==}
    -    engines: {node: '>=12'}
    -    hasBin: true
    -    requiresBuild: true
    +  esbuild@0.19.12:
         optionalDependencies:
           '@esbuild/aix-ppc64': 0.19.12
           '@esbuild/android-arm': 0.19.12
    @@ -8451,13 +14012,8 @@ packages:
           '@esbuild/win32-arm64': 0.19.12
           '@esbuild/win32-ia32': 0.19.12
           '@esbuild/win32-x64': 0.19.12
    -    dev: true
     
    -  /esbuild@0.20.2:
    -    resolution: {integrity: sha512-WdOOppmUNU+IbZ0PaDiTst80zjnrOkyJNHoKupIcVyU8Lvla3Ugx94VzkQ32Ijqd7UhHJy75gNWDMUekcrSJ6g==}
    -    engines: {node: '>=12'}
    -    hasBin: true
    -    requiresBuild: true
    +  esbuild@0.20.2:
         optionalDependencies:
           '@esbuild/aix-ppc64': 0.20.2
           '@esbuild/android-arm': 0.20.2
    @@ -8482,103 +14038,54 @@ packages:
           '@esbuild/win32-arm64': 0.20.2
           '@esbuild/win32-ia32': 0.20.2
           '@esbuild/win32-x64': 0.20.2
    -    dev: true
     
    -  /escalade@3.1.2:
    -    resolution: {integrity: sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==}
    -    engines: {node: '>=6'}
    -    dev: true
    +  escalade@3.1.2: {}
     
    -  /escape-html@1.0.3:
    -    resolution: {integrity: sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==}
    -    dev: true
    +  escape-html@1.0.3: {}
     
    -  /escape-string-regexp@1.0.5:
    -    resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==}
    -    engines: {node: '>=0.8.0'}
    -    dev: true
    +  escape-string-regexp@1.0.5: {}
     
    -  /escape-string-regexp@2.0.0:
    -    resolution: {integrity: sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==}
    -    engines: {node: '>=8'}
    -    dev: true
    +  escape-string-regexp@2.0.0: {}
     
    -  /escape-string-regexp@4.0.0:
    -    resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==}
    -    engines: {node: '>=10'}
    -    dev: true
    +  escape-string-regexp@4.0.0: {}
     
    -  /escape-string-regexp@5.0.0:
    -    resolution: {integrity: sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==}
    -    engines: {node: '>=12'}
    -    dev: true
    +  escape-string-regexp@5.0.0: {}
     
    -  /escodegen@1.3.3:
    -    resolution: {integrity: sha512-z9FWgKc48wjMlpzF5ymKS1AF8OIgnKLp9VyN7KbdtyrP/9lndwUFqCtMm+TAJmJf7KJFFYc4cFJfVTTGkKEwsA==}
    -    engines: {node: '>=0.10.0'}
    -    hasBin: true
    +  escodegen@1.3.3:
         dependencies:
           esprima: 1.1.1
           estraverse: 1.5.1
           esutils: 1.0.0
         optionalDependencies:
           source-map: 0.1.43
    -    dev: true
     
    -  /eslint-config-prettier@9.1.0(eslint@8.57.0):
    -    resolution: {integrity: sha512-NSWl5BFQWEPi1j4TjVNItzYV7dZXZ+wP6I6ZhrBGpChQhZRUaElihE9uRRkcbRnNb76UMKDF3r+WTmNcGPKsqw==}
    -    hasBin: true
    -    peerDependencies:
    -      eslint: '>=7.0.0'
    +  eslint-config-prettier@9.1.0(eslint@8.57.0):
         dependencies:
           eslint: 8.57.0
    -    dev: true
     
    -  /eslint-plugin-cypress@2.15.2(eslint@8.57.0):
    -    resolution: {integrity: sha512-CtcFEQTDKyftpI22FVGpx8bkpKyYXBlNge6zSo0pl5/qJvBAnzaD76Vu2AsP16d6mTj478Ldn2mhgrWV+Xr0vQ==}
    -    peerDependencies:
    -      eslint: '>= 3.2.1'
    +  eslint-plugin-cypress@2.15.2(eslint@8.57.0):
         dependencies:
           eslint: 8.57.0
           globals: 13.24.0
    -    dev: true
     
    -  /eslint-plugin-html@8.1.1:
    -    resolution: {integrity: sha512-6qmlJsc40D2m3Dn9oEH+0PAOkJhxVu0f5sVItqpCE0YWgYnyP4xCjBc3UWTHaJcY9ARkWOLIIuXLq0ndRnQOHw==}
    -    engines: {node: '>=16.0.0'}
    +  eslint-plugin-html@8.1.1:
         dependencies:
           htmlparser2: 9.1.0
    -    dev: true
     
    -  /eslint-plugin-jest@27.9.0(@typescript-eslint/eslint-plugin@7.6.0)(eslint@8.57.0)(jest@29.7.0)(typescript@5.4.5):
    -    resolution: {integrity: sha512-QIT7FH7fNmd9n4se7FFKHbsLKGQiw885Ds6Y/sxKgCZ6natwCsXdgPOADnYVxN2QrRweF0FZWbJ6S7Rsn7llug==}
    -    engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
    -    peerDependencies:
    -      '@typescript-eslint/eslint-plugin': ^5.0.0 || ^6.0.0 || ^7.0.0
    -      eslint: ^7.0.0 || ^8.0.0
    -      jest: '*'
    -    peerDependenciesMeta:
    -      '@typescript-eslint/eslint-plugin':
    -        optional: true
    -      jest:
    -        optional: true
    +  eslint-plugin-jest@27.9.0(@typescript-eslint/eslint-plugin@7.6.0(@typescript-eslint/parser@7.6.0(eslint@8.57.0)(typescript@5.4.5))(eslint@8.57.0)(typescript@5.4.5))(eslint@8.57.0)(jest@29.7.0(@types/node@20.12.7))(typescript@5.4.5):
         dependencies:
    -      '@typescript-eslint/eslint-plugin': 7.6.0(@typescript-eslint/parser@7.6.0)(eslint@8.57.0)(typescript@5.4.5)
           '@typescript-eslint/utils': 5.62.0(eslint@8.57.0)(typescript@5.4.5)
           eslint: 8.57.0
    -      jest: 29.7.0(@types/node@20.12.12)
    +    optionalDependencies:
    +      '@typescript-eslint/eslint-plugin': 7.6.0(@typescript-eslint/parser@7.6.0(eslint@8.57.0)(typescript@5.4.5))(eslint@8.57.0)(typescript@5.4.5)
    +      jest: 29.7.0(@types/node@20.12.7)
         transitivePeerDependencies:
           - supports-color
           - typescript
    -    dev: true
     
    -  /eslint-plugin-jsdoc@48.2.5(eslint@8.57.0):
    -    resolution: {integrity: sha512-ZeTfKV474W1N9niWfawpwsXGu+ZoMXu4417eBROX31d7ZuOk8zyG66SO77DpJ2+A9Wa2scw/jRqBPnnQo7VbcQ==}
    -    engines: {node: '>=18'}
    -    peerDependencies:
    -      eslint: ^7.0.0 || ^8.0.0 || ^9.0.0
    +  eslint-plugin-jsdoc@48.2.3(eslint@8.57.0):
         dependencies:
    -      '@es-joy/jsdoccomment': 0.43.0
    +      '@es-joy/jsdoccomment': 0.42.0
           are-docs-informative: 0.0.2
           comment-parser: 1.4.1
           debug: 4.3.4(supports-color@8.1.1)
    @@ -8586,59 +14093,36 @@ packages:
           eslint: 8.57.0
           esquery: 1.5.0
           is-builtin-module: 3.2.1
    -      semver: 7.6.2
    +      semver: 7.6.0
           spdx-expression-parse: 4.0.0
         transitivePeerDependencies:
           - supports-color
    -    dev: true
     
    -  /eslint-plugin-json@3.1.0:
    -    resolution: {integrity: sha512-MrlG2ynFEHe7wDGwbUuFPsaT2b1uhuEFhJ+W1f1u+1C2EkXmTYJp4B1aAdQQ8M+CC3t//N/oRKiIVw14L2HR1g==}
    -    engines: {node: '>=12.0'}
    +  eslint-plugin-json@3.1.0:
         dependencies:
           lodash: 4.17.21
           vscode-json-languageservice: 4.2.1
    -    dev: true
     
    -  /eslint-plugin-lodash@7.4.0(eslint@8.57.0):
    -    resolution: {integrity: sha512-Tl83UwVXqe1OVeBRKUeWcfg6/pCW1GTRObbdnbEJgYwjxp5Q92MEWQaH9+dmzbRt6kvYU1Mp893E79nJiCSM8A==}
    -    engines: {node: '>=10'}
    -    peerDependencies:
    -      eslint: '>=2'
    +  eslint-plugin-lodash@7.4.0(eslint@8.57.0):
         dependencies:
           eslint: 8.57.0
           lodash: 4.17.21
    -    dev: true
     
    -  /eslint-plugin-markdown@4.0.1(eslint@8.57.0):
    -    resolution: {integrity: sha512-5/MnGvYU0i8MbHH5cg8S+Vl3DL+bqRNYshk1xUO86DilNBaxtTkhH+5FD0/yO03AmlI6+lfNFdk2yOw72EPzpA==}
    -    engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
    -    peerDependencies:
    -      eslint: '>=8'
    +  eslint-plugin-markdown@4.0.1(eslint@8.57.0):
         dependencies:
           eslint: 8.57.0
           mdast-util-from-markdown: 0.8.5
         transitivePeerDependencies:
           - supports-color
    -    dev: true
     
    -  /eslint-plugin-no-only-tests@3.1.0:
    -    resolution: {integrity: sha512-Lf4YW/bL6Un1R6A76pRZyE1dl1vr31G/ev8UzIc/geCgFWyrKil8hVjYqWVKGB/UIGmb6Slzs9T0wNezdSVegw==}
    -    engines: {node: '>=5.0.0'}
    -    dev: true
    +  eslint-plugin-no-only-tests@3.1.0: {}
     
    -  /eslint-plugin-tsdoc@0.2.17:
    -    resolution: {integrity: sha512-xRmVi7Zx44lOBuYqG8vzTXuL6IdGOeF9nHX17bjJ8+VE6fsxpdGem0/SBTmAwgYMKYB1WBkqRJVQ+n8GK041pA==}
    +  eslint-plugin-tsdoc@0.2.17:
         dependencies:
           '@microsoft/tsdoc': 0.14.2
           '@microsoft/tsdoc-config': 0.16.2
    -    dev: true
     
    -  /eslint-plugin-unicorn@51.0.1(eslint@8.57.0):
    -    resolution: {integrity: sha512-MuR/+9VuB0fydoI0nIn2RDA5WISRn4AsJyNSaNKLVwie9/ONvQhxOBbkfSICBPnzKrB77Fh6CZZXjgTt/4Latw==}
    -    engines: {node: '>=16'}
    -    peerDependencies:
    -      eslint: '>=8.56.0'
    +  eslint-plugin-unicorn@51.0.1(eslint@8.57.0):
         dependencies:
           '@babel/helper-validator-identifier': 7.22.20
           '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0)
    @@ -8659,38 +14143,22 @@ packages:
           strip-indent: 3.0.0
         transitivePeerDependencies:
           - supports-color
    -    dev: true
     
    -  /eslint-scope@5.1.1:
    -    resolution: {integrity: sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==}
    -    engines: {node: '>=8.0.0'}
    +  eslint-scope@5.1.1:
         dependencies:
           esrecurse: 4.3.0
           estraverse: 4.3.0
    -    dev: true
     
    -  /eslint-scope@7.2.2:
    -    resolution: {integrity: sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==}
    -    engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
    +  eslint-scope@7.2.2:
         dependencies:
           esrecurse: 4.3.0
           estraverse: 5.3.0
    -    dev: true
     
    -  /eslint-visitor-keys@3.4.3:
    -    resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==}
    -    engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
    -    dev: true
    +  eslint-visitor-keys@3.4.3: {}
     
    -  /eslint-visitor-keys@4.0.0:
    -    resolution: {integrity: sha512-OtIRv/2GyiF6o/d8K7MYKKbXrOUBIK6SfkIRM4Z0dY3w+LiQ0vy3F57m0Z71bjbyeiWFiHJ8brqnmE6H6/jEuw==}
    -    engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
    -    dev: true
    +  eslint-visitor-keys@4.0.0: {}
     
    -  /eslint@8.57.0:
    -    resolution: {integrity: sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==}
    -    engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
    -    hasBin: true
    +  eslint@8.57.0:
         dependencies:
           '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0)
           '@eslint-community/regexpp': 4.10.0
    @@ -8732,114 +14200,64 @@ packages:
           text-table: 0.2.0
         transitivePeerDependencies:
           - supports-color
    -    dev: true
     
    -  /esniff@2.0.1:
    -    resolution: {integrity: sha512-kTUIGKQ/mDPFoJ0oVfcmyJn4iBDRptjNVIzwIFR7tqWXdVI9xfA2RMwY/gbSpJG3lkdWNEjLap/NqVHZiJsdfg==}
    -    engines: {node: '>=0.10'}
    +  esniff@2.0.1:
         dependencies:
           d: 1.0.2
           es5-ext: 0.10.64
           event-emitter: 0.3.5
           type: 2.7.2
    -    dev: true
     
    -  /espree@10.0.1:
    -    resolution: {integrity: sha512-MWkrWZbJsL2UwnjxTX3gG8FneachS/Mwg7tdGXce011sJd5b0JG54vat5KHnfSBODZ3Wvzd2WnjxyzsRoVv+ww==}
    -    engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
    +  espree@10.0.1:
         dependencies:
           acorn: 8.11.3
           acorn-jsx: 5.3.2(acorn@8.11.3)
           eslint-visitor-keys: 4.0.0
    -    dev: true
     
    -  /espree@9.6.1:
    -    resolution: {integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==}
    -    engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
    +  espree@9.6.1:
         dependencies:
           acorn: 8.11.3
           acorn-jsx: 5.3.2(acorn@8.11.3)
           eslint-visitor-keys: 3.4.3
    -    dev: true
     
    -  /esprima@1.1.1:
    -    resolution: {integrity: sha512-qxxB994/7NtERxgXdFgLHIs9M6bhLXc6qtUmWZ3L8+gTQ9qaoyki2887P2IqAYsoENyr8SUbTutStDniOHSDHg==}
    -    engines: {node: '>=0.4.0'}
    -    hasBin: true
    -    dev: true
    +  esprima@1.1.1: {}
     
    -  /esprima@4.0.1:
    -    resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==}
    -    engines: {node: '>=4'}
    -    hasBin: true
    -    dev: true
    +  esprima@4.0.1: {}
     
    -  /esquery@1.5.0:
    -    resolution: {integrity: sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==}
    -    engines: {node: '>=0.10'}
    +  esquery@1.5.0:
         dependencies:
           estraverse: 5.3.0
    -    dev: true
     
    -  /esrecurse@4.3.0:
    -    resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==}
    -    engines: {node: '>=4.0'}
    +  esrecurse@4.3.0:
         dependencies:
           estraverse: 5.3.0
    -    dev: true
     
    -  /estraverse@1.5.1:
    -    resolution: {integrity: sha512-FpCjJDfmo3vsc/1zKSeqR5k42tcIhxFIlvq+h9j0fO2q/h2uLKyweq7rYJ+0CoVvrGQOxIS5wyBrW/+vF58BUQ==}
    -    engines: {node: '>=0.4.0'}
    -    dev: true
    +  estraverse@1.5.1: {}
     
    -  /estraverse@4.3.0:
    -    resolution: {integrity: sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==}
    -    engines: {node: '>=4.0'}
    -    dev: true
    +  estraverse@4.3.0: {}
     
    -  /estraverse@5.3.0:
    -    resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==}
    -    engines: {node: '>=4.0'}
    -    dev: true
    +  estraverse@5.3.0: {}
     
    -  /estree-walker@1.0.1:
    -    resolution: {integrity: sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg==}
    -    dev: true
    +  estree-walker@1.0.1: {}
     
    -  /estree-walker@2.0.2:
    -    resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==}
    +  estree-walker@2.0.2: {}
     
    -  /estree-walker@3.0.3:
    -    resolution: {integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==}
    +  estree-walker@3.0.3:
         dependencies:
           '@types/estree': 1.0.5
    -    dev: true
     
    -  /esutils@1.0.0:
    -    resolution: {integrity: sha512-x/iYH53X3quDwfHRz4y8rn4XcEwwCJeWsul9pF1zldMbGtgOtMNBEOuYWwB1EQlK2LRa1fev3YAgym/RElp5Cg==}
    -    engines: {node: '>=0.10.0'}
    -    dev: true
    +  esutils@1.0.0: {}
     
    -  /esutils@2.0.3:
    -    resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==}
    -    engines: {node: '>=0.10.0'}
    -    dev: true
    +  esutils@2.0.3: {}
     
    -  /etag@1.8.1:
    -    resolution: {integrity: sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==}
    -    engines: {node: '>= 0.6'}
    -    dev: true
    +  etag@1.8.1: {}
     
    -  /event-emitter@0.3.5:
    -    resolution: {integrity: sha512-D9rRn9y7kLPnJ+hMq7S/nhvoKwwvVJahBi2BPmx3bvbsEdK3W9ii8cBSGjP+72/LnM4n6fo3+dkCX5FeTQruXA==}
    +  event-emitter@0.3.5:
         dependencies:
           d: 1.0.2
           es5-ext: 0.10.64
    -    dev: true
     
    -  /event-stream@3.3.4:
    -    resolution: {integrity: sha512-QHpkERcGsR0T7Qm3HNJSyXKEEj8AHNxkY3PK8TS2KJvQ7NiSHe3DDpwVKKtoYprL/AreyzFBeIkBIWChAqn60g==}
    +  event-stream@3.3.4:
         dependencies:
           duplexer: 0.1.2
           from: 0.1.7
    @@ -8848,31 +14266,18 @@ packages:
           split: 0.3.3
           stream-combiner: 0.0.4
           through: 2.3.8
    -    dev: true
     
    -  /event-target-shim@5.0.1:
    -    resolution: {integrity: sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==}
    -    engines: {node: '>=6'}
    +  event-target-shim@5.0.1: {}
     
    -  /eventemitter2@6.4.7:
    -    resolution: {integrity: sha512-tYUSVOGeQPKt/eC1ABfhHy5Xd96N3oIijJvN3O9+TsC28T5V9yX9oEfEK5faP0EFSNVOG97qtAS68GBrQB2hDg==}
    -    dev: true
    +  eventemitter2@6.4.7: {}
     
    -  /eventemitter3@4.0.7:
    -    resolution: {integrity: sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==}
    -    dev: true
    +  eventemitter3@4.0.7: {}
     
    -  /eventemitter3@5.0.1:
    -    resolution: {integrity: sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA==}
    -    dev: true
    +  eventemitter3@5.0.1: {}
     
    -  /events@3.3.0:
    -    resolution: {integrity: sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==}
    -    engines: {node: '>=0.8.x'}
    +  events@3.3.0: {}
     
    -  /execa@1.0.0:
    -    resolution: {integrity: sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==}
    -    engines: {node: '>=6'}
    +  execa@1.0.0:
         dependencies:
           cross-spawn: 6.0.5
           get-stream: 4.1.0
    @@ -8881,11 +14286,8 @@ packages:
           p-finally: 1.0.0
           signal-exit: 3.0.7
           strip-eof: 1.0.0
    -    dev: true
     
    -  /execa@4.1.0:
    -    resolution: {integrity: sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA==}
    -    engines: {node: '>=10'}
    +  execa@4.1.0:
         dependencies:
           cross-spawn: 7.0.3
           get-stream: 5.2.0
    @@ -8896,11 +14298,8 @@ packages:
           onetime: 5.1.2
           signal-exit: 3.0.7
           strip-final-newline: 2.0.0
    -    dev: true
     
    -  /execa@5.1.1:
    -    resolution: {integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==}
    -    engines: {node: '>=10'}
    +  execa@5.1.1:
         dependencies:
           cross-spawn: 7.0.3
           get-stream: 6.0.1
    @@ -8911,11 +14310,8 @@ packages:
           onetime: 5.1.2
           signal-exit: 3.0.7
           strip-final-newline: 2.0.0
    -    dev: true
     
    -  /execa@8.0.1:
    -    resolution: {integrity: sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==}
    -    engines: {node: '>=16.17'}
    +  execa@8.0.1:
         dependencies:
           cross-spawn: 7.0.3
           get-stream: 8.0.1
    @@ -8926,73 +14322,22 @@ packages:
           onetime: 6.0.0
           signal-exit: 4.1.0
           strip-final-newline: 3.0.0
    -    dev: true
     
    -  /executable@4.1.1:
    -    resolution: {integrity: sha512-8iA79xD3uAch729dUG8xaaBBFGaEa0wdD2VkYLFHwlqosEj/jT66AzcreRDSgV7ehnNLBW2WR5jIXwGKjVdTLg==}
    -    engines: {node: '>=4'}
    +  executable@4.1.1:
         dependencies:
           pify: 2.3.0
    -    dev: true
     
    -  /exit@0.1.2:
    -    resolution: {integrity: sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==}
    -    engines: {node: '>= 0.8.0'}
    -    dev: true
    +  exit@0.1.2: {}
     
    -  /expect@29.7.0:
    -    resolution: {integrity: sha512-2Zks0hf1VLFYI1kbh0I5jP3KHHyCHpkfyHBzsSXRFgl/Bg9mWYfMW8oD+PdMPlEwy5HNsR9JutYy6pMeOh61nw==}
    -    engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
    +  expect@29.7.0:
         dependencies:
           '@jest/expect-utils': 29.7.0
           jest-get-type: 29.6.3
           jest-matcher-utils: 29.7.0
           jest-message-util: 29.7.0
           jest-util: 29.7.0
    -    dev: true
    -
    -  /express@4.18.2:
    -    resolution: {integrity: sha512-5/PsL6iGPdfQ/lKM1UuielYgv3BUoJfz1aUwU9vHZ+J7gyvwdQXFEBIEIaxeGf0GIcreATNyBExtalisDbuMqQ==}
    -    engines: {node: '>= 0.10.0'}
    -    dependencies:
    -      accepts: 1.3.8
    -      array-flatten: 1.1.1
    -      body-parser: 1.20.1
    -      content-disposition: 0.5.4
    -      content-type: 1.0.5
    -      cookie: 0.5.0
    -      cookie-signature: 1.0.6
    -      debug: 2.6.9
    -      depd: 2.0.0
    -      encodeurl: 1.0.2
    -      escape-html: 1.0.3
    -      etag: 1.8.1
    -      finalhandler: 1.2.0
    -      fresh: 0.5.2
    -      http-errors: 2.0.0
    -      merge-descriptors: 1.0.1
    -      methods: 1.1.2
    -      on-finished: 2.4.1
    -      parseurl: 1.3.3
    -      path-to-regexp: 0.1.7
    -      proxy-addr: 2.0.7
    -      qs: 6.11.0
    -      range-parser: 1.2.1
    -      safe-buffer: 5.2.1
    -      send: 0.18.0
    -      serve-static: 1.15.0
    -      setprototypeof: 1.2.0
    -      statuses: 2.0.1
    -      type-is: 1.6.18
    -      utils-merge: 1.0.1
    -      vary: 1.1.2
    -    transitivePeerDependencies:
    -      - supports-color
    -    dev: true
     
    -  /express@4.19.1:
    -    resolution: {integrity: sha512-K4w1/Bp7y8iSiVObmCrtq8Cs79XjJc/RU2YYkZQ7wpUu5ZyZ7MtPHkqoMz4pf+mgXfNvo2qft8D9OnrH2ABk9w==}
    -    engines: {node: '>= 0.10.0'}
    +  express@4.19.1:
         dependencies:
           accepts: 1.3.8
           array-flatten: 1.1.1
    @@ -9027,11 +14372,8 @@ packages:
           vary: 1.1.2
         transitivePeerDependencies:
           - supports-color
    -    dev: true
     
    -  /express@4.19.2:
    -    resolution: {integrity: sha512-5T6nhjsT+EOMzuck8JjBHARTHfMht0POzlA60WV2pMD3gyXw2LZnZ+ueGdNxG+0calOJcWKbpFcuzLZ91YWq9Q==}
    -    engines: {node: '>= 0.10.0'}
    +  express@4.19.2:
         dependencies:
           accepts: 1.3.8
           array-flatten: 1.1.1
    @@ -9066,22 +14408,14 @@ packages:
           vary: 1.1.2
         transitivePeerDependencies:
           - supports-color
    -    dev: true
     
    -  /ext@1.7.0:
    -    resolution: {integrity: sha512-6hxeJYaL110a9b5TEJSj0gojyHQAmA2ch5Os+ySCiA1QGdS697XWY1pzsrSjqA9LDEEgdB/KypIlR59RcLuHYw==}
    +  ext@1.7.0:
         dependencies:
           type: 2.7.2
    -    dev: true
     
    -  /extend@3.0.2:
    -    resolution: {integrity: sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==}
    -    dev: true
    +  extend@3.0.2: {}
     
    -  /extract-zip@2.0.1(supports-color@8.1.1):
    -    resolution: {integrity: sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg==}
    -    engines: {node: '>= 10.17.0'}
    -    hasBin: true
    +  extract-zip@2.0.1(supports-color@8.1.1):
         dependencies:
           debug: 4.3.4(supports-color@8.1.1)
           get-stream: 5.2.0
    @@ -9090,33 +14424,18 @@ packages:
           '@types/yauzl': 2.10.3
         transitivePeerDependencies:
           - supports-color
    -    dev: true
     
    -  /extsprintf@1.3.0:
    -    resolution: {integrity: sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g==}
    -    engines: {'0': node >=0.6.0}
    -    dev: true
    +  extsprintf@1.3.0: {}
     
    -  /fast-content-type-parse@1.1.0:
    -    resolution: {integrity: sha512-fBHHqSTFLVnR61C+gltJuE5GkVQMV0S2nqUO8TJ+5Z3qAKG8vAx4FKai1s5jq/inV1+sREynIWSuQ6HgoSXpDQ==}
    -    dev: true
    +  fast-content-type-parse@1.1.0: {}
     
    -  /fast-decode-uri-component@1.0.1:
    -    resolution: {integrity: sha512-WKgKWg5eUxvRZGwW8FvfbaH7AXSh2cL+3j5fMGzUMCxWBJ3dV3a7Wz8y2f/uQ0e3B6WmodD3oS54jTQ9HVTIIg==}
    -    dev: true
    +  fast-decode-uri-component@1.0.1: {}
     
    -  /fast-deep-equal@3.1.3:
    -    resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==}
    -    dev: true
    +  fast-deep-equal@3.1.3: {}
     
    -  /fast-equals@5.0.1:
    -    resolution: {integrity: sha512-WF1Wi8PwwSY7/6Kx0vKXtw8RwuSGoM1bvDaJbu7MxDlR1vovZjIAKrnzyrThgAjm6JDTu0fVgWXDlMGspodfoQ==}
    -    engines: {node: '>=6.0.0'}
    -    dev: true
    +  fast-equals@5.0.1: {}
     
    -  /fast-glob@3.3.2:
    -    resolution: {integrity: sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==}
    -    engines: {node: '>=8.6.0'}
    +  fast-glob@3.3.2:
         dependencies:
           '@nodelib/fs.stat': 2.0.5
           '@nodelib/fs.walk': 1.2.8
    @@ -9124,47 +14443,28 @@ packages:
           merge2: 1.4.1
           micromatch: 4.0.5
     
    -  /fast-json-stable-stringify@2.1.0:
    -    resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==}
    -    dev: true
    +  fast-json-stable-stringify@2.1.0: {}
     
    -  /fast-json-stringify@2.7.13:
    -    resolution: {integrity: sha512-ar+hQ4+OIurUGjSJD1anvYSDcUflywhKjfxnsW4TBTD7+u0tJufv6DKRWoQk3vI6YBOWMoz0TQtfbe7dxbQmvA==}
    -    engines: {node: '>= 10.0.0'}
    +  fast-json-stringify@2.7.13:
         dependencies:
           ajv: 6.12.6
           deepmerge: 4.3.1
           rfdc: 1.3.1
           string-similarity: 4.0.4
    -    dev: true
     
    -  /fast-levenshtein@2.0.6:
    -    resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==}
    -    dev: true
    +  fast-levenshtein@2.0.6: {}
     
    -  /fast-redact@3.5.0:
    -    resolution: {integrity: sha512-dwsoQlS7h9hMeYUq1W++23NDcBLV4KqONnITDV9DjfS3q1SgDGVrBdvvTLUotWtPSD7asWDV9/CmsZPy8Hf70A==}
    -    engines: {node: '>=6'}
    +  fast-redact@3.5.0: {}
     
    -  /fast-safe-stringify@2.1.1:
    -    resolution: {integrity: sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==}
    -    dev: true
    +  fast-safe-stringify@2.1.1: {}
     
    -  /fastest-levenshtein@1.0.16:
    -    resolution: {integrity: sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg==}
    -    engines: {node: '>= 4.9.1'}
    -    dev: true
    +  fastest-levenshtein@1.0.16: {}
     
    -  /fastestsmallesttextencoderdecoder@1.0.22:
    -    resolution: {integrity: sha512-Pb8d48e+oIuY4MaM64Cd7OW1gt4nxCHs7/ddPPZ/Ic3sg8yVGM7O9wDvZ7us6ScaUupzM+pfBolwtYhN1IxBIw==}
    -    dev: true
    +  fastestsmallesttextencoderdecoder@1.0.22: {}
     
    -  /fastify-plugin@3.0.1:
    -    resolution: {integrity: sha512-qKcDXmuZadJqdTm6vlCqioEbyewF60b/0LOFCcYN1B6BIZGlYJumWWOYs70SFYLDAH4YqdE1cxH/RKMG7rFxgA==}
    -    dev: true
    +  fastify-plugin@3.0.1: {}
     
    -  /fastify@3.29.5:
    -    resolution: {integrity: sha512-FBDgb1gkenZxxh4sTD6AdI6mFnZnsgckpjIXzIvfLSYCa4isfQeD8QWGPib63dxq6btnY0l1j8I0xYhMvUb+sw==}
    +  fastify@3.29.5:
         dependencies:
           '@fastify/ajv-compiler': 1.1.0
           '@fastify/error': 2.0.0
    @@ -9180,102 +14480,67 @@ packages:
           proxy-addr: 2.0.7
           rfdc: 1.3.1
           secure-json-parse: 2.7.0
    -      semver: 7.5.4
    +      semver: 7.6.0
           tiny-lru: 8.0.2
         transitivePeerDependencies:
           - supports-color
    -    dev: true
     
    -  /fastq@1.17.1:
    -    resolution: {integrity: sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==}
    +  fastq@1.17.1:
         dependencies:
           reusify: 1.0.4
     
    -  /fault@2.0.1:
    -    resolution: {integrity: sha512-WtySTkS4OKev5JtpHXnib4Gxiurzh5NCGvWrFaZ34m6JehfTUhKZvn9njTfw48t6JumVQOmrKqpmGcdwxnhqBQ==}
    +  fault@2.0.1:
         dependencies:
           format: 0.2.2
    -    dev: true
     
    -  /faye-websocket@0.11.4:
    -    resolution: {integrity: sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g==}
    -    engines: {node: '>=0.8.0'}
    +  faye-websocket@0.11.4:
         dependencies:
           websocket-driver: 0.7.4
    -    dev: true
     
    -  /fb-watchman@2.0.2:
    -    resolution: {integrity: sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==}
    +  fb-watchman@2.0.2:
         dependencies:
           bser: 2.1.1
    -    dev: true
     
    -  /fd-slicer@1.1.0:
    -    resolution: {integrity: sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==}
    +  fd-slicer@1.1.0:
         dependencies:
           pend: 1.2.0
    -    dev: true
     
    -  /ferrum@1.9.4:
    -    resolution: {integrity: sha512-ooNerLoIht/dK4CQJux93z/hnt9JysrXniJCI3r6YRgmHeXC57EJ8XaTCT1Gm8LfhIAeWxyJA0O7d/W3pqDYRg==}
    +  ferrum@1.9.4:
         dependencies:
           fastestsmallesttextencoderdecoder: 1.0.22
           lodash.isplainobject: 4.0.6
           xxhashjs: 0.2.2
    -    dev: true
     
    -  /fetch-blob@3.2.0:
    -    resolution: {integrity: sha512-7yAQpD2UMJzLi1Dqv7qFYnPbaPx7ZfFK6PiIxQ4PfkGPyNyl2Ugx+a/umUonmKqjhM4DnfbMvdX6otXq83soQQ==}
    -    engines: {node: ^12.20 || >= 14.13}
    +  fetch-blob@3.2.0:
         dependencies:
           node-domexception: 1.0.0
           web-streams-polyfill: 3.3.3
    -    dev: true
     
    -  /fflate@0.8.2:
    -    resolution: {integrity: sha512-cPJU47OaAoCbg0pBvzsgpTPhmhqI5eJjh/JIu8tPj5q+T7iLvW/JAYUqmE7KOB4R1ZyEhzBaIQpQpardBF5z8A==}
    -    dev: true
    +  fflate@0.8.2: {}
     
    -  /figures@3.2.0:
    -    resolution: {integrity: sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==}
    -    engines: {node: '>=8'}
    +  figures@3.2.0:
         dependencies:
           escape-string-regexp: 1.0.5
    -    dev: true
     
    -  /file-entry-cache@6.0.1:
    -    resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==}
    -    engines: {node: ^10.12.0 || >=12.0.0}
    +  file-entry-cache@6.0.1:
         dependencies:
           flat-cache: 3.2.0
    -    dev: true
     
    -  /file-entry-cache@8.0.0:
    -    resolution: {integrity: sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==}
    -    engines: {node: '>=16.0.0'}
    +  file-entry-cache@8.0.0:
         dependencies:
           flat-cache: 4.0.1
    -    dev: true
     
    -  /file-saver@2.0.5:
    -    resolution: {integrity: sha512-P9bmyZ3h/PRG+Nzga+rbdI4OEpNDzAVyy74uVO9ATgzLK6VtAsYybF/+TOCvrc0MO793d6+42lLyZTw7/ArVzA==}
    -    dev: false
    +  file-saver@2.0.5: {}
     
    -  /filelist@1.0.4:
    -    resolution: {integrity: sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==}
    +  filelist@1.0.4:
         dependencies:
           minimatch: 5.1.6
    -    dev: true
     
    -  /fill-range@7.0.1:
    -    resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==}
    -    engines: {node: '>=8'}
    +  fill-range@7.0.1:
         dependencies:
           to-regex-range: 5.0.1
     
    -  /finalhandler@1.2.0:
    -    resolution: {integrity: sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==}
    -    engines: {node: '>= 0.8'}
    +  finalhandler@1.2.0:
         dependencies:
           debug: 2.6.9
           encodeurl: 1.0.2
    @@ -9286,433 +14551,258 @@ packages:
           unpipe: 1.0.0
         transitivePeerDependencies:
           - supports-color
    -    dev: true
     
    -  /find-cache-dir@3.3.2:
    -    resolution: {integrity: sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==}
    -    engines: {node: '>=8'}
    +  find-cache-dir@3.3.2:
         dependencies:
           commondir: 1.0.1
           make-dir: 3.1.0
           pkg-dir: 4.2.0
    -    dev: true
     
    -  /find-cache-dir@4.0.0:
    -    resolution: {integrity: sha512-9ZonPT4ZAK4a+1pUPVPZJapbi7O5qbbJPdYw/NOQWZZbVLdDTYM3A4R9z/DpAM08IDaFGsvPgiGZ82WEwUDWjg==}
    -    engines: {node: '>=14.16'}
    +  find-cache-dir@4.0.0:
         dependencies:
           common-path-prefix: 3.0.0
           pkg-dir: 7.0.0
    -    dev: true
     
    -  /find-my-way@4.5.1:
    -    resolution: {integrity: sha512-kE0u7sGoUFbMXcOG/xpkmz4sRLCklERnBcg7Ftuu1iAxsfEt2S46RLJ3Sq7vshsEy2wJT2hZxE58XZK27qa8kg==}
    -    engines: {node: '>=10'}
    +  find-my-way@4.5.1:
         dependencies:
           fast-decode-uri-component: 1.0.1
           fast-deep-equal: 3.1.3
           safe-regex2: 2.0.0
           semver-store: 0.3.0
    -    dev: true
     
    -  /find-process@1.4.7:
    -    resolution: {integrity: sha512-/U4CYp1214Xrp3u3Fqr9yNynUrr5Le4y0SsJh2lMDDSbpwYSz3M2SMWQC+wqcx79cN8PQtHQIL8KnuY9M66fdg==}
    -    hasBin: true
    +  find-process@1.4.7:
         dependencies:
           chalk: 4.1.2
           commander: 5.1.0
           debug: 4.3.4(supports-color@8.1.1)
         transitivePeerDependencies:
           - supports-color
    -    dev: true
     
    -  /find-up-simple@1.0.0:
    -    resolution: {integrity: sha512-q7Us7kcjj2VMePAa02hDAF6d+MzsdsAWEwYyOpwUtlerRBkOEPBCRZrAV4XfcSN8fHAgaD0hP7miwoay6DCprw==}
    -    engines: {node: '>=18'}
    -    dev: true
    +  find-up-simple@1.0.0: {}
     
    -  /find-up@3.0.0:
    -    resolution: {integrity: sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==}
    -    engines: {node: '>=6'}
    +  find-up@3.0.0:
         dependencies:
           locate-path: 3.0.0
    -    dev: true
     
    -  /find-up@4.1.0:
    -    resolution: {integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==}
    -    engines: {node: '>=8'}
    +  find-up@4.1.0:
         dependencies:
           locate-path: 5.0.0
           path-exists: 4.0.0
    -    dev: true
     
    -  /find-up@5.0.0:
    -    resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==}
    -    engines: {node: '>=10'}
    +  find-up@5.0.0:
         dependencies:
           locate-path: 6.0.0
           path-exists: 4.0.0
    -    dev: true
     
    -  /find-up@6.3.0:
    -    resolution: {integrity: sha512-v2ZsoEuVHYy8ZIlYqwPe/39Cy+cFDzp4dXPaxNvkEuouymu+2Jbz0PxpKarJHYJTmv2HWT3O382qY8l4jMWthw==}
    -    engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
    +  find-up@6.3.0:
         dependencies:
           locate-path: 7.2.0
           path-exists: 5.0.0
    -    dev: true
     
    -  /flat-cache@3.2.0:
    -    resolution: {integrity: sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==}
    -    engines: {node: ^10.12.0 || >=12.0.0}
    +  flat-cache@3.2.0:
         dependencies:
           flatted: 3.3.1
           keyv: 4.5.4
           rimraf: 3.0.2
    -    dev: true
     
    -  /flat-cache@4.0.1:
    -    resolution: {integrity: sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==}
    -    engines: {node: '>=16'}
    +  flat-cache@4.0.1:
         dependencies:
           flatted: 3.3.1
           keyv: 4.5.4
    -    dev: true
     
    -  /flatstr@1.0.12:
    -    resolution: {integrity: sha512-4zPxDyhCyiN2wIAtSLI6gc82/EjqZc1onI4Mz/l0pWrAlsSfYH/2ZIcU+e3oA2wDwbzIWNKwa23F8rh6+DRWkw==}
    -    dev: true
    +  flatstr@1.0.12: {}
     
    -  /flatted@3.3.1:
    -    resolution: {integrity: sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==}
    -    dev: true
    +  flatted@3.3.1: {}
     
    -  /flexsearch@0.7.43:
    -    resolution: {integrity: sha512-c5o/+Um8aqCSOXGcZoqZOm+NqtVwNsvVpWv6lfmSclU954O3wvQKxxK8zj74fPaSJbXpSLTs4PRhh+wnoCXnKg==}
    -    dev: true
    +  flexsearch@0.7.43: {}
     
    -  /focus-trap@7.5.4:
    -    resolution: {integrity: sha512-N7kHdlgsO/v+iD/dMoJKtsSqs5Dz/dXZVebRgJw23LDk+jMi/974zyiOYDziY2JPp8xivq9BmUGwIJMiuSBi7w==}
    +  focus-trap@7.5.4:
         dependencies:
           tabbable: 6.2.0
    -    dev: true
     
    -  /follow-redirects@1.15.5(debug@4.3.4):
    -    resolution: {integrity: sha512-vSFWUON1B+yAw1VN4xMfxgn5fTUiaOzAJCKBwIIgT/+7CuGy9+r+5gITvP62j3RmaD5Ph65UaERdOSRGUzZtgw==}
    -    engines: {node: '>=4.0'}
    -    peerDependencies:
    -      debug: '*'
    -    peerDependenciesMeta:
    -      debug:
    -        optional: true
    -    dependencies:
    +  follow-redirects@1.15.5(debug@4.3.4):
    +    optionalDependencies:
           debug: 4.3.4(supports-color@8.1.1)
    -    dev: true
     
    -  /font-awesome@4.7.0:
    -    resolution: {integrity: sha512-U6kGnykA/6bFmg1M/oT9EkFeIYv7JlX3bozwQJWiiLz6L0w3F5vBVPxHlwyX/vtNq1ckcpRKOB9f2Qal/VtFpg==}
    -    engines: {node: '>=0.10.3'}
    -    dev: false
    +  font-awesome@4.7.0: {}
     
    -  /for-each@0.3.3:
    -    resolution: {integrity: sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==}
    +  for-each@0.3.3:
         dependencies:
           is-callable: 1.2.7
    -    dev: true
     
    -  /foreground-child@2.0.0:
    -    resolution: {integrity: sha512-dCIq9FpEcyQyXKCkyzmlPTFNgrCzPudOe+mhvJU5zAtlBnGVy2yKxtfsxK2tQBThwq225jcvBjpw1Gr40uzZCA==}
    -    engines: {node: '>=8.0.0'}
    +  foreground-child@2.0.0:
         dependencies:
           cross-spawn: 7.0.3
           signal-exit: 3.0.7
    -    dev: true
     
    -  /foreground-child@3.1.1:
    -    resolution: {integrity: sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg==}
    -    engines: {node: '>=14'}
    +  foreground-child@3.1.1:
         dependencies:
           cross-spawn: 7.0.3
           signal-exit: 4.1.0
     
    -  /forever-agent@0.6.1:
    -    resolution: {integrity: sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw==}
    -    dev: true
    +  forever-agent@0.6.1: {}
     
    -  /form-data@2.3.3:
    -    resolution: {integrity: sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==}
    -    engines: {node: '>= 0.12'}
    +  form-data@2.3.3:
         dependencies:
           asynckit: 0.4.0
           combined-stream: 1.0.8
           mime-types: 2.1.35
    -    dev: true
     
    -  /form-data@4.0.0:
    -    resolution: {integrity: sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==}
    -    engines: {node: '>= 6'}
    +  form-data@4.0.0:
         dependencies:
           asynckit: 0.4.0
           combined-stream: 1.0.8
           mime-types: 2.1.35
    -    dev: true
     
    -  /format@0.2.2:
    -    resolution: {integrity: sha512-wzsgA6WOq+09wrU1tsJ09udeR/YZRaeArL9e1wPbFg3GG2yDnC2ldKpxs4xunpFF9DgqCqOIra3bc1HWrJ37Ww==}
    -    engines: {node: '>=0.4.x'}
    -    dev: true
    +  format@0.2.2: {}
     
    -  /formdata-polyfill@4.0.10:
    -    resolution: {integrity: sha512-buewHzMvYL29jdeQTVILecSaZKnt/RJWjoZCF5OW60Z67/GmSLBkOFM7qh1PI3zFNtJbaZL5eQu1vLfazOwj4g==}
    -    engines: {node: '>=12.20.0'}
    +  formdata-polyfill@4.0.10:
         dependencies:
           fetch-blob: 3.2.0
    -    dev: true
     
    -  /forwarded@0.2.0:
    -    resolution: {integrity: sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==}
    -    engines: {node: '>= 0.6'}
    -    dev: true
    +  forwarded@0.2.0: {}
     
    -  /fresh@0.5.2:
    -    resolution: {integrity: sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==}
    -    engines: {node: '>= 0.6'}
    -    dev: true
    +  fresh@0.5.2: {}
     
    -  /from@0.1.7:
    -    resolution: {integrity: sha512-twe20eF1OxVxp/ML/kq2p1uc6KvFK/+vs8WjEbeKmV2He22MKm7YF2ANIt+EOqhJ5L3K/SuuPhk0hWQDjOM23g==}
    -    dev: true
    +  from@0.1.7: {}
     
    -  /fromentries@1.3.2:
    -    resolution: {integrity: sha512-cHEpEQHUg0f8XdtZCc2ZAhrHzKzT0MrFUTcvx+hfxYu7rGMDc5SKoXFh+n4YigxsHXRzc6OrCshdR1bWH6HHyg==}
    -    dev: true
    +  fromentries@1.3.2: {}
     
    -  /fs-extra@11.1.1:
    -    resolution: {integrity: sha512-MGIE4HOvQCeUCzmlHs0vXpih4ysz4wg9qiSAu6cd42lVwPbTM1TjV7RusoyQqMmk/95gdQZX72u+YW+c3eEpFQ==}
    -    engines: {node: '>=14.14'}
    +  fs-extra@11.1.1:
         dependencies:
           graceful-fs: 4.2.11
           jsonfile: 6.1.0
           universalify: 2.0.1
    -    dev: true
     
    -  /fs-extra@11.2.0:
    -    resolution: {integrity: sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw==}
    -    engines: {node: '>=14.14'}
    +  fs-extra@11.2.0:
         dependencies:
           graceful-fs: 4.2.11
           jsonfile: 6.1.0
           universalify: 2.0.1
    -    dev: true
     
    -  /fs-extra@7.0.1:
    -    resolution: {integrity: sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==}
    -    engines: {node: '>=6 <7 || >=8'}
    +  fs-extra@7.0.1:
         dependencies:
           graceful-fs: 4.2.11
           jsonfile: 4.0.0
           universalify: 0.1.2
    -    dev: true
     
    -  /fs-extra@9.1.0:
    -    resolution: {integrity: sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==}
    -    engines: {node: '>=10'}
    +  fs-extra@9.1.0:
         dependencies:
           at-least-node: 1.0.0
           graceful-fs: 4.2.11
           jsonfile: 6.1.0
           universalify: 2.0.1
    -    dev: true
     
    -  /fs-monkey@1.0.4:
    -    resolution: {integrity: sha512-INM/fWAxMICjttnD0DX1rBvinKskj5G1w+oy/pnm9u/tSlnBrzFonJMcalKJ30P8RRsPzKcCG7Q8l0jx5Fh9YQ==}
    -    dev: true
    +  fs-monkey@1.0.4: {}
     
    -  /fs.realpath@1.0.0:
    -    resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==}
    -    dev: true
    +  fs.realpath@1.0.0: {}
     
    -  /fsevents@2.3.3:
    -    resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==}
    -    engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0}
    -    os: [darwin]
    -    requiresBuild: true
    +  fsevents@2.3.3:
         optional: true
     
    -  /function-bind@1.1.1:
    -    resolution: {integrity: sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==}
    -    dev: true
    +  function-bind@1.1.2: {}
     
    -  /function-bind@1.1.2:
    -    resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==}
    -
    -  /function.prototype.name@1.1.6:
    -    resolution: {integrity: sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==}
    -    engines: {node: '>= 0.4'}
    +  function.prototype.name@1.1.6:
         dependencies:
           call-bind: 1.0.7
           define-properties: 1.2.1
           es-abstract: 1.23.3
           functions-have-names: 1.2.3
    -    dev: true
     
    -  /functions-have-names@1.2.3:
    -    resolution: {integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==}
    -    dev: true
    +  functions-have-names@1.2.3: {}
     
    -  /gensequence@7.0.0:
    -    resolution: {integrity: sha512-47Frx13aZh01afHJTB3zTtKIlFI6vWY+MYCN9Qpew6i52rfKjnhCF/l1YlC8UmEMvvntZZ6z4PiCcmyuedR2aQ==}
    -    engines: {node: '>=18'}
    -    dev: true
    +  gensequence@7.0.0: {}
     
    -  /gensync@1.0.0-beta.2:
    -    resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==}
    -    engines: {node: '>=6.9.0'}
    -    dev: true
    +  gensync@1.0.0-beta.2: {}
     
    -  /get-caller-file@2.0.5:
    -    resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==}
    -    engines: {node: 6.* || 8.* || >= 10.*}
    -    dev: true
    +  get-caller-file@2.0.5: {}
     
    -  /get-east-asian-width@1.2.0:
    -    resolution: {integrity: sha512-2nk+7SIVb14QrgXFHcm84tD4bKQz0RxPuMT8Ag5KPOq7J5fEmAg0UbXdTOSHqNuHSU28k55qnceesxXRZGzKWA==}
    -    engines: {node: '>=18'}
    -    dev: true
    +  get-east-asian-width@1.2.0: {}
     
    -  /get-func-name@2.0.2:
    -    resolution: {integrity: sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ==}
    -    dev: true
    +  get-func-name@2.0.2: {}
     
    -  /get-intrinsic@1.2.4:
    -    resolution: {integrity: sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==}
    -    engines: {node: '>= 0.4'}
    +  get-intrinsic@1.2.4:
         dependencies:
           es-errors: 1.3.0
           function-bind: 1.1.2
           has-proto: 1.0.3
           has-symbols: 1.0.3
           hasown: 2.0.2
    -    dev: true
     
    -  /get-own-enumerable-property-symbols@3.0.2:
    -    resolution: {integrity: sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g==}
    -    dev: true
    +  get-own-enumerable-property-symbols@3.0.2: {}
     
    -  /get-package-type@0.1.0:
    -    resolution: {integrity: sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==}
    -    engines: {node: '>=8.0.0'}
    -    dev: true
    +  get-package-type@0.1.0: {}
     
    -  /get-stdin@5.0.1:
    -    resolution: {integrity: sha512-jZV7n6jGE3Gt7fgSTJoz91Ak5MuTLwMwkoYdjxuJ/AmjIsE1UC03y/IWkZCQGEvVNS9qoRNwy5BCqxImv0FVeA==}
    -    engines: {node: '>=0.12.0'}
    -    dev: true
    +  get-stdin@5.0.1: {}
     
    -  /get-stdin@8.0.0:
    -    resolution: {integrity: sha512-sY22aA6xchAzprjyqmSEQv4UbAAzRN0L2dQB0NlN5acTTK9Don6nhoc3eAbUnpZiCANAMfd/+40kVdKfFygohg==}
    -    engines: {node: '>=10'}
    -    dev: true
    +  get-stdin@8.0.0: {}
     
    -  /get-stdin@9.0.0:
    -    resolution: {integrity: sha512-dVKBjfWisLAicarI2Sf+JuBE/DghV4UzNAVe9yhEJuzeREd3JhOTE9cUaJTeSa77fsbQUK3pcOpJfM59+VKZaA==}
    -    engines: {node: '>=12'}
    -    dev: true
    +  get-stdin@9.0.0: {}
     
    -  /get-stream@4.1.0:
    -    resolution: {integrity: sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==}
    -    engines: {node: '>=6'}
    +  get-stream@4.1.0:
         dependencies:
           pump: 3.0.0
    -    dev: true
     
    -  /get-stream@5.2.0:
    -    resolution: {integrity: sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==}
    -    engines: {node: '>=8'}
    +  get-stream@5.2.0:
         dependencies:
           pump: 3.0.0
    -    dev: true
     
    -  /get-stream@6.0.1:
    -    resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==}
    -    engines: {node: '>=10'}
    -    dev: true
    +  get-stream@6.0.1: {}
     
    -  /get-stream@8.0.1:
    -    resolution: {integrity: sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==}
    -    engines: {node: '>=16'}
    -    dev: true
    +  get-stream@8.0.1: {}
     
    -  /get-symbol-description@1.0.2:
    -    resolution: {integrity: sha512-g0QYk1dZBxGwk+Ngc+ltRH2IBp2f7zBkBMBJZCDerh6EhlhSR6+9irMCuT/09zD6qkarHUSn529sK/yL4S27mg==}
    -    engines: {node: '>= 0.4'}
    +  get-symbol-description@1.0.2:
         dependencies:
           call-bind: 1.0.7
           es-errors: 1.3.0
           get-intrinsic: 1.2.4
    -    dev: true
     
    -  /get-tsconfig@4.7.3:
    -    resolution: {integrity: sha512-ZvkrzoUA0PQZM6fy6+/Hce561s+faD1rsNwhnO5FelNjyy7EMGJ3Rz1AQ8GYDWjhRs/7dBLOEJvhK8MiEJOAFg==}
    +  get-tsconfig@4.7.3:
         dependencies:
           resolve-pkg-maps: 1.0.0
    -    dev: true
     
    -  /getos@3.2.1:
    -    resolution: {integrity: sha512-U56CfOK17OKgTVqozZjUKNdkfEv6jk5WISBJ8SHoagjE6L69zOwl3Z+O8myjY9MEW3i2HPWQBt/LTbCgcC973Q==}
    +  getos@3.2.1:
         dependencies:
           async: 3.2.5
    -    dev: true
     
    -  /getpass@0.1.7:
    -    resolution: {integrity: sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng==}
    +  getpass@0.1.7:
         dependencies:
           assert-plus: 1.0.0
    -    dev: true
     
    -  /github-slugger@2.0.0:
    -    resolution: {integrity: sha512-IaOQ9puYtjrkq7Y0Ygl9KDZnrf/aiUJYUpVf89y8kyaxbRG7Y1SrX/jaumrv81vc61+kiMempujsM3Yw7w5qcw==}
    -    dev: true
    +  github-slugger@2.0.0: {}
     
    -  /glob-parent@5.1.2:
    -    resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==}
    -    engines: {node: '>= 6'}
    +  glob-parent@5.1.2:
         dependencies:
           is-glob: 4.0.3
     
    -  /glob-parent@6.0.2:
    -    resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==}
    -    engines: {node: '>=10.13.0'}
    +  glob-parent@6.0.2:
         dependencies:
           is-glob: 4.0.3
     
    -  /glob-promise@4.2.2(glob@7.2.3):
    -    resolution: {integrity: sha512-xcUzJ8NWN5bktoTIX7eOclO1Npxd/dyVqUJxlLIDasT4C7KZyqlPIwkdJ0Ypiy3p2ZKahTjK4M9uC3sNSfNMzw==}
    -    engines: {node: '>=12'}
    -    peerDependencies:
    -      glob: ^7.1.6
    +  glob-promise@4.2.2(glob@7.2.3):
         dependencies:
           '@types/glob': 7.2.0
           glob: 7.2.3
    -    dev: true
     
    -  /glob-to-regexp@0.4.1:
    -    resolution: {integrity: sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==}
    -    dev: true
    +  glob-to-regexp@0.4.1: {}
     
    -  /glob@10.3.15:
    -    resolution: {integrity: sha512-0c6RlJt1TICLyvJYIApxb8GsXoai0KUP7AxKKAtsYXdgJR1mGEUa7DgwShbdk1nly0PYoZj01xd4hzbq3fsjpw==}
    -    engines: {node: '>=16 || 14 >=14.18'}
    -    hasBin: true
    +  glob@10.3.10:
         dependencies:
           foreground-child: 3.1.1
           jackspeak: 2.3.6
           minimatch: 9.0.4
    -      minipass: 7.1.1
    -      path-scurry: 1.11.1
    +      minipass: 7.0.4
    +      path-scurry: 1.10.1
     
    -  /glob@7.2.3:
    -    resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==}
    +  glob@10.3.12:
    +    dependencies:
    +      foreground-child: 3.1.1
    +      jackspeak: 2.3.6
    +      minimatch: 9.0.4
    +      minipass: 7.0.4
    +      path-scurry: 1.10.2
    +
    +  glob@7.2.3:
         dependencies:
           fs.realpath: 1.0.0
           inflight: 1.0.6
    @@ -9720,56 +14810,35 @@ packages:
           minimatch: 3.1.2
           once: 1.4.0
           path-is-absolute: 1.0.1
    -    dev: true
     
    -  /glob@8.1.0:
    -    resolution: {integrity: sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==}
    -    engines: {node: '>=12'}
    +  glob@8.1.0:
         dependencies:
           fs.realpath: 1.0.0
           inflight: 1.0.6
           inherits: 2.0.4
           minimatch: 5.1.6
           once: 1.4.0
    -    dev: true
     
    -  /global-directory@4.0.1:
    -    resolution: {integrity: sha512-wHTUcDUoZ1H5/0iVqEudYW4/kAlN5cZ3j/bXn0Dpbizl9iaUVeWSHqiOjsgk6OW2bkLclbBjzewBz6weQ1zA2Q==}
    -    engines: {node: '>=18'}
    +  global-directory@4.0.1:
         dependencies:
           ini: 4.1.1
    -    dev: true
     
    -  /global-dirs@3.0.1:
    -    resolution: {integrity: sha512-NBcGGFbBA9s1VzD41QXDG+3++t9Mn5t1FpLdhESY6oKY4gYTFpX4wO3sqGUa0Srjtbfj3szX0RnemmrVRUdULA==}
    -    engines: {node: '>=10'}
    +  global-dirs@3.0.1:
         dependencies:
           ini: 2.0.0
    -    dev: true
     
    -  /globals@11.12.0:
    -    resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==}
    -    engines: {node: '>=4'}
    -    dev: true
    +  globals@11.12.0: {}
     
    -  /globals@13.24.0:
    -    resolution: {integrity: sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==}
    -    engines: {node: '>=8'}
    +  globals@13.24.0:
         dependencies:
           type-fest: 0.20.2
    -    dev: true
     
    -  /globalthis@1.0.4:
    -    resolution: {integrity: sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==}
    -    engines: {node: '>= 0.4'}
    +  globalthis@1.0.4:
         dependencies:
           define-properties: 1.2.1
           gopd: 1.0.1
    -    dev: true
     
    -  /globby@11.1.0:
    -    resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==}
    -    engines: {node: '>=10'}
    +  globby@11.1.0:
         dependencies:
           array-union: 2.1.0
           dir-glob: 3.0.1
    @@ -9777,22 +14846,16 @@ packages:
           ignore: 5.3.1
           merge2: 1.4.1
           slash: 3.0.0
    -    dev: true
     
    -  /globby@13.2.2:
    -    resolution: {integrity: sha512-Y1zNGV+pzQdh7H39l9zgB4PJqjRNqydvdYCDG4HFXM4XuvSaQQlEc91IU1yALL8gUTDomgBAfz3XJdmUS+oo0w==}
    -    engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
    +  globby@13.2.2:
         dependencies:
           dir-glob: 3.0.1
           fast-glob: 3.3.2
           ignore: 5.3.1
           merge2: 1.4.1
           slash: 4.0.0
    -    dev: true
     
    -  /globby@14.0.1:
    -    resolution: {integrity: sha512-jOMLD2Z7MAhyG8aJpNOpmziMOP4rPLcc95oQPKXBazW82z+CEgPFBQvEpRUa1KeIMUJo4Wsm+q6uzO/Q/4BksQ==}
    -    engines: {node: '>=18'}
    +  globby@14.0.1:
         dependencies:
           '@sindresorhus/merge-streams': 2.3.0
           fast-glob: 3.3.2
    @@ -9800,21 +14863,14 @@ packages:
           path-type: 5.0.0
           slash: 5.1.0
           unicorn-magic: 0.1.0
    -    dev: true
     
    -  /glur@1.1.2:
    -    resolution: {integrity: sha512-l+8esYHTKOx2G/Aao4lEQ0bnHWg4fWtJbVoZZT9Knxi01pB8C80BR85nONLFwkkQoFRCmXY+BUcGZN3yZ2QsRA==}
    -    dev: true
    +  glur@1.1.2: {}
     
    -  /gopd@1.0.1:
    -    resolution: {integrity: sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==}
    +  gopd@1.0.1:
         dependencies:
           get-intrinsic: 1.2.4
    -    dev: true
     
    -  /got@11.8.6:
    -    resolution: {integrity: sha512-6tfZ91bOr7bOXnK7PRDCGBLa1H4U080YHNaAQ2KsMGlLEzRbk44nsZF2E1IeRc3vtJHPVbKCYgdFbaGO2ljd8g==}
    -    engines: {node: '>=10.19.0'}
    +  got@11.8.6:
         dependencies:
           '@sindresorhus/is': 4.6.0
           '@szmarczak/http-timer': 4.0.6
    @@ -9827,31 +14883,18 @@ packages:
           lowercase-keys: 2.0.0
           p-cancelable: 2.1.1
           responselike: 2.0.1
    -    dev: true
     
    -  /graceful-fs@4.2.11:
    -    resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==}
    -    dev: true
    +  graceful-fs@4.2.11: {}
     
    -  /graphemer@1.4.0:
    -    resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==}
    -    dev: true
    +  graphemer@1.4.0: {}
     
    -  /gzip-size@6.0.0:
    -    resolution: {integrity: sha512-ax7ZYomf6jqPTQ4+XCpUGyXKHk5WweS+e05MBO4/y3WJ5RkmPXNKvX+bx1behVILVwr6JSQvZAku021CHPXG3Q==}
    -    engines: {node: '>=10'}
    +  gzip-size@6.0.0:
         dependencies:
           duplexer: 0.1.2
    -    dev: true
     
    -  /handle-thing@2.0.1:
    -    resolution: {integrity: sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg==}
    -    dev: true
    +  handle-thing@2.0.1: {}
     
    -  /handlebars@4.7.8:
    -    resolution: {integrity: sha512-vafaFqs8MZkRrSX7sFVUdo3ap/eNiLnb4IakshzvP56X5Nr1iGKAIqdX6tMlm6HcNRIkr6AxO5jFEoJzzpT8aQ==}
    -    engines: {node: '>=0.4.7'}
    -    hasBin: true
    +  handlebars@4.7.8:
         dependencies:
           minimist: 1.2.8
           neo-async: 2.6.2
    @@ -9859,754 +14902,422 @@ packages:
           wordwrap: 1.0.0
         optionalDependencies:
           uglify-js: 3.17.4
    -    dev: true
     
    -  /has-ansi@2.0.0:
    -    resolution: {integrity: sha512-C8vBJ8DwUCx19vhm7urhTuUsr4/IyP6l4VzNQDv+ryHQObW3TTTp9yB68WpYgRe2bbaGuZ/se74IqFeVnMnLZg==}
    -    engines: {node: '>=0.10.0'}
    +  has-ansi@2.0.0:
         dependencies:
           ansi-regex: 2.1.1
    -    dev: true
     
    -  /has-bigints@1.0.2:
    -    resolution: {integrity: sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==}
    -    dev: true
    +  has-bigints@1.0.2: {}
     
    -  /has-flag@3.0.0:
    -    resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==}
    -    engines: {node: '>=4'}
    -    dev: true
    +  has-flag@3.0.0: {}
     
    -  /has-flag@4.0.0:
    -    resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==}
    -    engines: {node: '>=8'}
    +  has-flag@4.0.0: {}
     
    -  /has-own-prop@2.0.0:
    -    resolution: {integrity: sha512-Pq0h+hvsVm6dDEa8x82GnLSYHOzNDt7f0ddFa3FqcQlgzEiptPqL+XrOJNavjOzSYiYWIrgeVYYgGlLmnxwilQ==}
    -    engines: {node: '>=8'}
    -    dev: true
    +  has-own-prop@2.0.0: {}
     
    -  /has-property-descriptors@1.0.2:
    -    resolution: {integrity: sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==}
    +  has-property-descriptors@1.0.2:
         dependencies:
           es-define-property: 1.0.0
    -    dev: true
     
    -  /has-proto@1.0.3:
    -    resolution: {integrity: sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==}
    -    engines: {node: '>= 0.4'}
    -    dev: true
    +  has-proto@1.0.3: {}
     
    -  /has-symbols@1.0.3:
    -    resolution: {integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==}
    -    engines: {node: '>= 0.4'}
    -    dev: true
    +  has-symbols@1.0.3: {}
     
    -  /has-tostringtag@1.0.2:
    -    resolution: {integrity: sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==}
    -    engines: {node: '>= 0.4'}
    +  has-tostringtag@1.0.2:
         dependencies:
           has-symbols: 1.0.3
    -    dev: true
     
    -  /has@1.0.3:
    -    resolution: {integrity: sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==}
    -    engines: {node: '>= 0.4.0'}
    +  has@1.0.3:
         dependencies:
    -      function-bind: 1.1.1
    -    dev: true
    +      function-bind: 1.1.2
     
    -  /hasha@5.2.2:
    -    resolution: {integrity: sha512-Hrp5vIK/xr5SkeN2onO32H0MgNZ0f17HRNH39WfL0SYUNOTZ5Lz1TJ8Pajo/87dYGEFlLMm7mIc/k/s6Bvz9HQ==}
    -    engines: {node: '>=8'}
    +  hasha@5.2.2:
         dependencies:
           is-stream: 2.0.1
           type-fest: 0.8.1
    -    dev: true
     
    -  /hasown@2.0.2:
    -    resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==}
    -    engines: {node: '>= 0.4'}
    +  hasown@2.0.2:
         dependencies:
           function-bind: 1.1.2
     
    -  /heap@0.2.7:
    -    resolution: {integrity: sha512-2bsegYkkHO+h/9MGbn6KWcE45cHZgPANo5LXF7EvWdT0yT2EguSVO1nDgU5c8+ZOPwp2vMNa7YFsJhVcDR9Sdg==}
    -    dev: false
    +  heap@0.2.7: {}
     
    -  /highlight.js@10.7.3:
    -    resolution: {integrity: sha512-tzcUFauisWKNHaRkN4Wjl/ZA07gENAjFl3J/c480dprkGTg5EQstgaNFqBfUqCq54kZRIEcreTsAgF/m2quD7A==}
    -    dev: false
    +  highlight.js@10.7.3: {}
     
    -  /hookable@5.5.3:
    -    resolution: {integrity: sha512-Yc+BQe8SvoXH1643Qez1zqLRmbA5rCL+sSmk6TVos0LWVfNIB7PGncdlId77WzLGSIB5KaWgTaNTs2lNVEI6VQ==}
    -    dev: true
    +  hookable@5.5.3: {}
     
    -  /hosted-git-info@2.8.9:
    -    resolution: {integrity: sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==}
    -    dev: true
    +  hosted-git-info@2.8.9: {}
     
    -  /hpack.js@2.1.6:
    -    resolution: {integrity: sha512-zJxVehUdMGIKsRaNt7apO2Gqp0BdqW5yaiGHXXmbpvxgBYVZnAql+BJb4RO5ad2MgpbZKn5G6nMnegrH1FcNYQ==}
    +  hpack.js@2.1.6:
         dependencies:
           inherits: 2.0.4
           obuf: 1.1.2
           readable-stream: 2.3.8
           wbuf: 1.7.3
    -    dev: true
     
    -  /html-encoding-sniffer@4.0.0:
    -    resolution: {integrity: sha512-Y22oTqIU4uuPgEemfz7NDJz6OeKf12Lsu+QC+s3BVpda64lTiMYCyGwg5ki4vFxkMwQdeZDl2adZoqUgdFuTgQ==}
    -    engines: {node: '>=18'}
    +  html-encoding-sniffer@4.0.0:
         dependencies:
           whatwg-encoding: 3.1.1
    -    dev: true
     
    -  /html-entities@2.4.0:
    -    resolution: {integrity: sha512-igBTJcNNNhvZFRtm8uA6xMY6xYleeDwn3PeBCkDz7tHttv4F2hsDI2aPgNERWzvRcNYHNT3ymRaQzllmXj4YsQ==}
    -    dev: true
    +  html-entities@2.4.0: {}
     
    -  /html-escaper@2.0.2:
    -    resolution: {integrity: sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==}
    -    dev: true
    +  html-escaper@2.0.2: {}
     
    -  /html-to-image@1.11.11:
    -    resolution: {integrity: sha512-9gux8QhvjRO/erSnDPv28noDZcPZmYE7e1vFsBLKLlRlKDSqNJYebj6Qz1TGd5lsRV+X+xYyjCKjuZdABinWjA==}
    -    dev: false
    +  html-to-image@1.11.11: {}
     
    -  /htmlparser2@9.1.0:
    -    resolution: {integrity: sha512-5zfg6mHUoaer/97TxnGpxmbR7zJtPwIYFMZ/H5ucTlPZhKvtum05yiPK3Mgai3a0DyVxv7qYqoweaEd2nrYQzQ==}
    +  htmlparser2@9.1.0:
         dependencies:
           domelementtype: 2.3.0
           domhandler: 5.0.3
           domutils: 3.1.0
           entities: 4.5.0
    -    dev: true
     
    -  /http-cache-semantics@4.1.1:
    -    resolution: {integrity: sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==}
    -    dev: true
    +  http-cache-semantics@4.1.1: {}
     
    -  /http-deceiver@1.2.7:
    -    resolution: {integrity: sha512-LmpOGxTfbpgtGVxJrj5k7asXHCgNZp5nLfp+hWc8QQRqtb7fUy6kRY3BO1h9ddF6yIPYUARgxGOwB42DnxIaNw==}
    -    dev: true
    +  http-deceiver@1.2.7: {}
     
    -  /http-errors@1.6.3:
    -    resolution: {integrity: sha512-lks+lVC8dgGyh97jxvxeYTWQFvh4uw4yC12gVl63Cg30sjPX4wuGcdkICVXDAESr6OJGjqGA8Iz5mkeN6zlD7A==}
    -    engines: {node: '>= 0.6'}
    +  http-errors@1.6.3:
         dependencies:
           depd: 1.1.2
           inherits: 2.0.3
           setprototypeof: 1.1.0
           statuses: 1.5.0
    -    dev: true
     
    -  /http-errors@2.0.0:
    -    resolution: {integrity: sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==}
    -    engines: {node: '>= 0.8'}
    +  http-errors@2.0.0:
         dependencies:
           depd: 2.0.0
           inherits: 2.0.4
           setprototypeof: 1.2.0
           statuses: 2.0.1
           toidentifier: 1.0.1
    -    dev: true
     
    -  /http-parser-js@0.5.8:
    -    resolution: {integrity: sha512-SGeBX54F94Wgu5RH3X5jsDtf4eHyRogWX1XGT3b4HuW3tQPM4AaBzoUji/4AAJNXCEOWZ5O0DgZmJw1947gD5Q==}
    -    dev: true
    +  http-parser-js@0.5.8: {}
     
    -  /http-proxy-agent@5.0.0:
    -    resolution: {integrity: sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==}
    -    engines: {node: '>= 6'}
    +  http-proxy-agent@5.0.0:
         dependencies:
           '@tootallnate/once': 2.0.0
           agent-base: 6.0.2
           debug: 4.3.4(supports-color@8.1.1)
         transitivePeerDependencies:
           - supports-color
    -    dev: true
     
    -  /http-proxy-agent@7.0.2:
    -    resolution: {integrity: sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==}
    -    engines: {node: '>= 14'}
    +  http-proxy-agent@7.0.2:
         dependencies:
           agent-base: 7.1.0
           debug: 4.3.4(supports-color@8.1.1)
         transitivePeerDependencies:
           - supports-color
    -    dev: true
     
    -  /http-proxy-middleware@2.0.6(@types/express@4.17.21):
    -    resolution: {integrity: sha512-ya/UeJ6HVBYxrgYotAZo1KvPWlgB48kUJLDePFeneHsVujFaW5WNj2NgWCAE//B1Dl02BIfYlpNgBy8Kf8Rjmw==}
    -    engines: {node: '>=12.0.0'}
    -    peerDependencies:
    -      '@types/express': ^4.17.13
    -    peerDependenciesMeta:
    -      '@types/express':
    -        optional: true
    +  http-proxy-middleware@2.0.6(@types/express@4.17.21):
         dependencies:
    -      '@types/express': 4.17.21
           '@types/http-proxy': 1.17.11
           http-proxy: 1.18.1
           is-glob: 4.0.3
           is-plain-obj: 3.0.0
           micromatch: 4.0.5
    +    optionalDependencies:
    +      '@types/express': 4.17.21
         transitivePeerDependencies:
           - debug
    -    dev: true
     
    -  /http-proxy@1.18.1:
    -    resolution: {integrity: sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==}
    -    engines: {node: '>=8.0.0'}
    +  http-proxy@1.18.1:
         dependencies:
           eventemitter3: 4.0.7
           follow-redirects: 1.15.5(debug@4.3.4)
           requires-port: 1.0.0
         transitivePeerDependencies:
           - debug
    -    dev: true
     
    -  /http-signature@1.3.6:
    -    resolution: {integrity: sha512-3adrsD6zqo4GsTqtO7FyrejHNv+NgiIfAfv68+jVlFmSr9OGy7zrxONceFRLKvnnZA5jbxQBX1u9PpB6Wi32Gw==}
    -    engines: {node: '>=0.10'}
    +  http-signature@1.3.6:
         dependencies:
           assert-plus: 1.0.0
           jsprim: 2.0.2
           sshpk: 1.18.0
    -    dev: true
     
    -  /http2-wrapper@1.0.3:
    -    resolution: {integrity: sha512-V+23sDMr12Wnz7iTcDeJr3O6AIxlnvT/bmaAAAP/Xda35C90p9599p0F1eHR/N1KILWSoWVAiOMFjBBXaXSMxg==}
    -    engines: {node: '>=10.19.0'}
    +  http2-wrapper@1.0.3:
         dependencies:
           quick-lru: 5.1.1
           resolve-alpn: 1.2.1
    -    dev: true
     
    -  /https-localhost@4.7.1:
    -    resolution: {integrity: sha512-rl+NFV0l67/0W7fZwk4LB5gS6HdhtSFLpCpf1N+KD5WQAXtPXX1QE8H0cP8VNJii18rtpTkE9eAHdUfJ0goAnQ==}
    -    hasBin: true
    +  https-localhost@4.7.1:
         dependencies:
           appdata-path: 1.0.0
           compression: 1.7.4
           cors: 2.8.5
    -      express: 4.18.2
    +      express: 4.19.2
           spdy: 4.0.2
           uglify-js: 3.17.4
         transitivePeerDependencies:
           - supports-color
    -    dev: true
     
    -  /https-proxy-agent@5.0.1:
    -    resolution: {integrity: sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==}
    -    engines: {node: '>= 6'}
    +  https-proxy-agent@5.0.1:
         dependencies:
           agent-base: 6.0.2
           debug: 4.3.4(supports-color@8.1.1)
         transitivePeerDependencies:
           - supports-color
    -    dev: true
     
    -  /https-proxy-agent@7.0.4:
    -    resolution: {integrity: sha512-wlwpilI7YdjSkWaQ/7omYBMTliDcmCN8OLihO6I9B86g06lMyAoqgoDpV0XqoaPOKj+0DIdAvnsWfyAAhmimcg==}
    -    engines: {node: '>= 14'}
    +  https-proxy-agent@7.0.4:
         dependencies:
           agent-base: 7.1.0
           debug: 4.3.4(supports-color@8.1.1)
         transitivePeerDependencies:
           - supports-color
    -    dev: true
     
    -  /human-signals@1.1.1:
    -    resolution: {integrity: sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==}
    -    engines: {node: '>=8.12.0'}
    -    dev: true
    +  human-signals@1.1.1: {}
     
    -  /human-signals@2.1.0:
    -    resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==}
    -    engines: {node: '>=10.17.0'}
    -    dev: true
    +  human-signals@2.1.0: {}
     
    -  /human-signals@5.0.0:
    -    resolution: {integrity: sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==}
    -    engines: {node: '>=16.17.0'}
    -    dev: true
    +  human-signals@5.0.0: {}
     
    -  /husky@9.0.11:
    -    resolution: {integrity: sha512-AB6lFlbwwyIqMdHYhwPe+kjOC3Oc5P3nThEoW/AaO2BX3vJDjWPFxYLxokUZOo6RNX20He3AaT8sESs9NJcmEw==}
    -    engines: {node: '>=18'}
    -    hasBin: true
    -    dev: true
    +  husky@9.0.11: {}
     
    -  /iconv-lite@0.4.24:
    -    resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==}
    -    engines: {node: '>=0.10.0'}
    +  iconv-lite@0.4.24:
         dependencies:
           safer-buffer: 2.1.2
    -    dev: true
     
    -  /iconv-lite@0.6.3:
    -    resolution: {integrity: sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==}
    -    engines: {node: '>=0.10.0'}
    +  iconv-lite@0.6.3:
         dependencies:
           safer-buffer: 2.1.2
     
    -  /idb@7.1.1:
    -    resolution: {integrity: sha512-gchesWBzyvGHRO9W8tzUWFDycow5gwjvFKfyV9FF32Y7F50yZMp7mP+T2mJIWFx49zicqyC4uefHM17o6xKIVQ==}
    -    dev: true
    +  idb@7.1.1: {}
     
    -  /ieee754@1.2.1:
    -    resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==}
    +  ieee754@1.2.1: {}
     
    -  /ignore@5.3.1:
    -    resolution: {integrity: sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==}
    -    engines: {node: '>= 4'}
    -    dev: true
    +  ignore@5.3.1: {}
     
    -  /import-fresh@3.3.0:
    -    resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==}
    -    engines: {node: '>=6'}
    +  import-fresh@3.3.0:
         dependencies:
           parent-module: 1.0.1
           resolve-from: 4.0.0
    -    dev: true
     
    -  /import-local@3.1.0:
    -    resolution: {integrity: sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==}
    -    engines: {node: '>=8'}
    -    hasBin: true
    +  import-local@3.1.0:
         dependencies:
           pkg-dir: 4.2.0
           resolve-cwd: 3.0.0
    -    dev: true
    -
    -  /import-meta-resolve@4.0.0:
    -    resolution: {integrity: sha512-okYUR7ZQPH+efeuMJGlq4f8ubUgO50kByRPyt/Cy1Io4PSRsPjxME+YlVaCOx+NIToW7hCsZNFJyTPFFKepRSA==}
    -    dev: true
     
    -  /imurmurhash@0.1.4:
    -    resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==}
    -    engines: {node: '>=0.8.19'}
    -    dev: true
    +  import-meta-resolve@4.0.0: {}
     
    -  /indent-string@4.0.0:
    -    resolution: {integrity: sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==}
    -    engines: {node: '>=8'}
    -    dev: true
    +  imurmurhash@0.1.4: {}
     
    -  /indent-string@5.0.0:
    -    resolution: {integrity: sha512-m6FAo/spmsW2Ab2fU35JTYwtOKa2yAwXSwgjSv1TJzh4Mh7mC3lzAOVLBprb72XsTrgkEIsl7YrFNAiDiRhIGg==}
    -    engines: {node: '>=12'}
    -    dev: true
    +  indent-string@4.0.0: {}
     
    -  /inflight@1.0.6:
    -    resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==}
    +  indent-string@5.0.0: {}
    +
    +  inflight@1.0.6:
         dependencies:
           once: 1.4.0
           wrappy: 1.0.2
    -    dev: true
     
    -  /inherits@2.0.3:
    -    resolution: {integrity: sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==}
    -    dev: true
    +  inherits@2.0.3: {}
     
    -  /inherits@2.0.4:
    -    resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==}
    -    dev: true
    +  inherits@2.0.4: {}
     
    -  /ini@2.0.0:
    -    resolution: {integrity: sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA==}
    -    engines: {node: '>=10'}
    -    dev: true
    +  ini@2.0.0: {}
     
    -  /ini@3.0.1:
    -    resolution: {integrity: sha512-it4HyVAUTKBc6m8e1iXWvXSTdndF7HbdN713+kvLrymxTaU4AUBWrJ4vEooP+V7fexnVD3LKcBshjGGPefSMUQ==}
    -    engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0}
    -    dev: true
    +  ini@3.0.1: {}
     
    -  /ini@4.1.1:
    -    resolution: {integrity: sha512-QQnnxNyfvmHFIsj7gkPcYymR8Jdw/o7mp5ZFihxn6h8Ci6fh3Dx4E1gPjpQEpIuPo9XVNY/ZUwh4BPMjGyL01g==}
    -    engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0}
    -    dev: true
    +  ini@4.1.1: {}
     
    -  /internal-slot@1.0.7:
    -    resolution: {integrity: sha512-NGnrKwXzSms2qUUih/ILZ5JBqNTSa1+ZmP6flaIp6KmSElgE9qdndzS3cqjrDovwFdmwsGsLdeFgB6suw+1e9g==}
    -    engines: {node: '>= 0.4'}
    +  internal-slot@1.0.7:
         dependencies:
           es-errors: 1.3.0
           hasown: 2.0.2
           side-channel: 1.0.6
    -    dev: true
     
    -  /internmap@1.0.1:
    -    resolution: {integrity: sha512-lDB5YccMydFBtasVtxnZ3MRBHuaoE8GKsppq+EchKL2U4nK/DmEpPHNH8MZe5HkMtpSiTSOZwfN0tzYjO/lJEw==}
    -    dev: false
    +  internmap@1.0.1: {}
     
    -  /internmap@2.0.3:
    -    resolution: {integrity: sha512-5Hh7Y1wQbvY5ooGgPbDaL5iYLAPzMTUrjMulskHLH6wnv/A+1q5rgEaiuqEjB+oxGXIVZs1FF+R/KPN3ZSQYYg==}
    -    engines: {node: '>=12'}
    -    dev: false
    +  internmap@2.0.3: {}
     
    -  /interpret@2.2.0:
    -    resolution: {integrity: sha512-Ju0Bz/cEia55xDwUWEa8+olFpCiQoypjnQySseKtmjNrnps3P+xfpUmGr90T7yjlVJmOtybRvPXhKMbHr+fWnw==}
    -    engines: {node: '>= 0.10'}
    -    dev: true
    +  interpret@2.2.0: {}
     
    -  /ipaddr.js@1.9.1:
    -    resolution: {integrity: sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==}
    -    engines: {node: '>= 0.10'}
    -    dev: true
    +  ipaddr.js@1.9.1: {}
     
    -  /ipaddr.js@2.1.0:
    -    resolution: {integrity: sha512-LlbxQ7xKzfBusov6UMi4MFpEg0m+mAm9xyNGEduwXMEDuf4WfzB/RZwMVYEd7IKGvh4IUkEXYxtAVu9T3OelJQ==}
    -    engines: {node: '>= 10'}
    -    dev: true
    +  ipaddr.js@2.1.0: {}
     
    -  /is-alphabetical@1.0.4:
    -    resolution: {integrity: sha512-DwzsA04LQ10FHTZuL0/grVDk4rFoVH1pjAToYwBrHSxcrBIGQuXrQMtD5U1b0U2XVgKZCTLLP8u2Qxqhy3l2Vg==}
    -    dev: true
    +  is-alphabetical@1.0.4: {}
     
    -  /is-alphanumerical@1.0.4:
    -    resolution: {integrity: sha512-UzoZUr+XfVz3t3v4KyGEniVL9BDRoQtY7tOyrRybkVNjDFWyo1yhXNGrrBTQxp3ib9BLAWs7k2YKBQsFRkZG9A==}
    +  is-alphanumerical@1.0.4:
         dependencies:
           is-alphabetical: 1.0.4
           is-decimal: 1.0.4
    -    dev: true
     
    -  /is-array-buffer@3.0.4:
    -    resolution: {integrity: sha512-wcjaerHw0ydZwfhiKbXJWLDY8A7yV7KhjQOpb83hGgGfId/aQa4TOvwyzn2PuswW2gPCYEL/nEAiSVpdOj1lXw==}
    -    engines: {node: '>= 0.4'}
    +  is-array-buffer@3.0.4:
         dependencies:
           call-bind: 1.0.7
           get-intrinsic: 1.2.4
    -    dev: true
     
    -  /is-arrayish@0.2.1:
    -    resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==}
    -    dev: true
    +  is-arrayish@0.2.1: {}
     
    -  /is-arrayish@0.3.2:
    -    resolution: {integrity: sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==}
    -    dev: false
    +  is-arrayish@0.3.2: {}
     
    -  /is-bigint@1.0.4:
    -    resolution: {integrity: sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==}
    +  is-bigint@1.0.4:
         dependencies:
           has-bigints: 1.0.2
    -    dev: true
     
    -  /is-binary-path@2.1.0:
    -    resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==}
    -    engines: {node: '>=8'}
    +  is-binary-path@2.1.0:
         dependencies:
           binary-extensions: 2.2.0
     
    -  /is-boolean-object@1.1.2:
    -    resolution: {integrity: sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==}
    -    engines: {node: '>= 0.4'}
    +  is-boolean-object@1.1.2:
         dependencies:
           call-bind: 1.0.7
           has-tostringtag: 1.0.2
    -    dev: true
     
    -  /is-builtin-module@3.2.1:
    -    resolution: {integrity: sha512-BSLE3HnV2syZ0FK0iMA/yUGplUeMmNz4AW5fnTunbCIqZi4vG3WjJT9FHMy5D69xmAYBHXQhJdALdpwVxV501A==}
    -    engines: {node: '>=6'}
    +  is-builtin-module@3.2.1:
         dependencies:
           builtin-modules: 3.3.0
    -    dev: true
     
    -  /is-callable@1.2.7:
    -    resolution: {integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==}
    -    engines: {node: '>= 0.4'}
    -    dev: true
    +  is-callable@1.2.7: {}
     
    -  /is-ci@3.0.1:
    -    resolution: {integrity: sha512-ZYvCgrefwqoQ6yTyYUbQu64HsITZ3NfKX1lzaEYdkTDcfKzzCI/wthRRYKkdjHKFVgNiXKAKm65Zo1pk2as/QQ==}
    -    hasBin: true
    +  is-ci@3.0.1:
         dependencies:
           ci-info: 3.9.0
    -    dev: true
     
    -  /is-core-module@2.13.0:
    -    resolution: {integrity: sha512-Z7dk6Qo8pOCp3l4tsX2C5ZVas4V+UxwQodwZhLopL91TX8UyyHEXafPcyoeeWuLrwzHcr3igO78wNLwHJHsMCQ==}
    +  is-core-module@2.13.0:
         dependencies:
           has: 1.0.3
    -    dev: true
     
    -  /is-core-module@2.13.1:
    -    resolution: {integrity: sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==}
    +  is-core-module@2.13.1:
         dependencies:
           hasown: 2.0.2
     
    -  /is-data-view@1.0.1:
    -    resolution: {integrity: sha512-AHkaJrsUVW6wq6JS8y3JnM/GJF/9cf+k20+iDzlSaJrinEo5+7vRiteOSwBhHRiAyQATN1AmY4hwzxJKPmYf+w==}
    -    engines: {node: '>= 0.4'}
    +  is-data-view@1.0.1:
         dependencies:
           is-typed-array: 1.1.13
    -    dev: true
     
    -  /is-date-object@1.0.5:
    -    resolution: {integrity: sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==}
    -    engines: {node: '>= 0.4'}
    +  is-date-object@1.0.5:
         dependencies:
           has-tostringtag: 1.0.2
    -    dev: true
     
    -  /is-decimal@1.0.4:
    -    resolution: {integrity: sha512-RGdriMmQQvZ2aqaQq3awNA6dCGtKpiDFcOzrTWrDAT2MiWrKQVPmxLGHl7Y2nNu6led0kEyoX0enY0qXYsv9zw==}
    -    dev: true
    +  is-decimal@1.0.4: {}
     
    -  /is-docker@2.2.1:
    -    resolution: {integrity: sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==}
    -    engines: {node: '>=8'}
    -    hasBin: true
    -    dev: true
    +  is-docker@2.2.1: {}
     
    -  /is-extglob@2.1.1:
    -    resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==}
    -    engines: {node: '>=0.10.0'}
    +  is-extglob@2.1.1: {}
     
    -  /is-fullwidth-code-point@3.0.0:
    -    resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==}
    -    engines: {node: '>=8'}
    +  is-fullwidth-code-point@3.0.0: {}
     
    -  /is-fullwidth-code-point@4.0.0:
    -    resolution: {integrity: sha512-O4L094N2/dZ7xqVdrXhh9r1KODPJpFms8B5sGdJLPy664AgvXsreZUyCQQNItZRDlYug4xStLjNp/sz3HvBowQ==}
    -    engines: {node: '>=12'}
    -    dev: true
    +  is-fullwidth-code-point@4.0.0: {}
     
    -  /is-fullwidth-code-point@5.0.0:
    -    resolution: {integrity: sha512-OVa3u9kkBbw7b8Xw5F9P+D/T9X+Z4+JruYVNapTjPYZYUznQ5YfWeFkOj606XYYW8yugTfC8Pj0hYqvi4ryAhA==}
    -    engines: {node: '>=18'}
    +  is-fullwidth-code-point@5.0.0:
         dependencies:
           get-east-asian-width: 1.2.0
    -    dev: true
     
    -  /is-generator-fn@2.1.0:
    -    resolution: {integrity: sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==}
    -    engines: {node: '>=6'}
    -    dev: true
    +  is-generator-fn@2.1.0: {}
     
    -  /is-glob@4.0.3:
    -    resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==}
    -    engines: {node: '>=0.10.0'}
    +  is-glob@4.0.3:
         dependencies:
           is-extglob: 2.1.1
     
    -  /is-hexadecimal@1.0.4:
    -    resolution: {integrity: sha512-gyPJuv83bHMpocVYoqof5VDiZveEoGoFL8m3BXNb2VW8Xs+rz9kqO8LOQ5DH6EsuvilT1ApazU0pyl+ytbPtlw==}
    -    dev: true
    +  is-hexadecimal@1.0.4: {}
     
    -  /is-installed-globally@0.4.0:
    -    resolution: {integrity: sha512-iwGqO3J21aaSkC7jWnHP/difazwS7SFeIqxv6wEtLU8Y5KlzFTjyqcSIT0d8s4+dDhKytsk9PJZ2BkS5eZwQRQ==}
    -    engines: {node: '>=10'}
    +  is-installed-globally@0.4.0:
         dependencies:
           global-dirs: 3.0.1
           is-path-inside: 3.0.3
    -    dev: true
     
    -  /is-localhost-ip@2.0.0:
    -    resolution: {integrity: sha512-vlgs2cSgMOfnKU8c1ewgKPyum9rVrjjLLW2HBdL5i0iAJjOs8NY55ZBd/hqUTaYR0EO9CKZd3hVSC2HlIbygTQ==}
    -    engines: {node: '>=12'}
    -    dev: true
    +  is-localhost-ip@2.0.0: {}
     
    -  /is-module@1.0.0:
    -    resolution: {integrity: sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g==}
    -    dev: true
    +  is-module@1.0.0: {}
     
    -  /is-negative-zero@2.0.3:
    -    resolution: {integrity: sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==}
    -    engines: {node: '>= 0.4'}
    -    dev: true
    +  is-negative-zero@2.0.3: {}
     
    -  /is-number-object@1.0.7:
    -    resolution: {integrity: sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==}
    -    engines: {node: '>= 0.4'}
    +  is-number-object@1.0.7:
         dependencies:
           has-tostringtag: 1.0.2
    -    dev: true
     
    -  /is-number@7.0.0:
    -    resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==}
    -    engines: {node: '>=0.12.0'}
    +  is-number@7.0.0: {}
     
    -  /is-obj@1.0.1:
    -    resolution: {integrity: sha512-l4RyHgRqGN4Y3+9JHVrNqO+tN0rV5My76uW5/nuO4K1b6vw5G8d/cmFjP9tRfEsdhZNt0IFdZuK/c2Vr4Nb+Qg==}
    -    engines: {node: '>=0.10.0'}
    -    dev: true
    +  is-obj@1.0.1: {}
     
    -  /is-obj@2.0.0:
    -    resolution: {integrity: sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==}
    -    engines: {node: '>=8'}
    -    dev: true
    +  is-obj@2.0.0: {}
     
    -  /is-path-inside@3.0.3:
    -    resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==}
    -    engines: {node: '>=8'}
    -    dev: true
    +  is-path-inside@3.0.3: {}
     
    -  /is-plain-obj@3.0.0:
    -    resolution: {integrity: sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA==}
    -    engines: {node: '>=10'}
    -    dev: true
    +  is-plain-obj@3.0.0: {}
     
    -  /is-plain-obj@4.1.0:
    -    resolution: {integrity: sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==}
    -    engines: {node: '>=12'}
    -    dev: true
    +  is-plain-obj@4.1.0: {}
     
    -  /is-plain-object@2.0.4:
    -    resolution: {integrity: sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==}
    -    engines: {node: '>=0.10.0'}
    +  is-plain-object@2.0.4:
         dependencies:
           isobject: 3.0.1
    -    dev: true
     
    -  /is-potential-custom-element-name@1.0.1:
    -    resolution: {integrity: sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==}
    -    dev: true
    +  is-potential-custom-element-name@1.0.1: {}
     
    -  /is-promise@2.2.2:
    -    resolution: {integrity: sha512-+lP4/6lKUBfQjZ2pdxThZvLUAafmZb8OAxFb8XXtiQmS35INgr85hdOGoEs124ez1FCnZJt6jau/T+alh58QFQ==}
    -    dev: true
    +  is-promise@2.2.2: {}
     
    -  /is-regex@1.1.4:
    -    resolution: {integrity: sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==}
    -    engines: {node: '>= 0.4'}
    +  is-regex@1.1.4:
         dependencies:
           call-bind: 1.0.7
           has-tostringtag: 1.0.2
    -    dev: true
     
    -  /is-regexp@1.0.0:
    -    resolution: {integrity: sha512-7zjFAPO4/gwyQAAgRRmqeEeyIICSdmCqa3tsVHMdBzaXXRiqopZL4Cyghg/XulGWrtABTpbnYYzzIRffLkP4oA==}
    -    engines: {node: '>=0.10.0'}
    -    dev: true
    +  is-regexp@1.0.0: {}
     
    -  /is-shared-array-buffer@1.0.3:
    -    resolution: {integrity: sha512-nA2hv5XIhLR3uVzDDfCIknerhx8XUKnstuOERPNNIinXG7v9u+ohXF67vxm4TPTEPU6lm61ZkwP3c9PCB97rhg==}
    -    engines: {node: '>= 0.4'}
    +  is-shared-array-buffer@1.0.3:
         dependencies:
           call-bind: 1.0.7
    -    dev: true
     
    -  /is-stream@1.1.0:
    -    resolution: {integrity: sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==}
    -    engines: {node: '>=0.10.0'}
    -    dev: true
    +  is-stream@1.1.0: {}
     
    -  /is-stream@2.0.1:
    -    resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==}
    -    engines: {node: '>=8'}
    -    dev: true
    +  is-stream@2.0.1: {}
     
    -  /is-stream@3.0.0:
    -    resolution: {integrity: sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==}
    -    engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
    -    dev: true
    +  is-stream@3.0.0: {}
     
    -  /is-string@1.0.7:
    -    resolution: {integrity: sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==}
    -    engines: {node: '>= 0.4'}
    +  is-string@1.0.7:
         dependencies:
           has-tostringtag: 1.0.2
    -    dev: true
     
    -  /is-symbol@1.0.4:
    -    resolution: {integrity: sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==}
    -    engines: {node: '>= 0.4'}
    +  is-symbol@1.0.4:
         dependencies:
           has-symbols: 1.0.3
    -    dev: true
     
    -  /is-typed-array@1.1.13:
    -    resolution: {integrity: sha512-uZ25/bUAlUY5fR4OKT4rZQEBrzQWYV9ZJYGGsUmEJ6thodVJ1HX64ePQ6Z0qPWP+m+Uq6e9UugrE38jeYsDSMw==}
    -    engines: {node: '>= 0.4'}
    +  is-typed-array@1.1.13:
         dependencies:
           which-typed-array: 1.1.15
    -    dev: true
     
    -  /is-typedarray@1.0.0:
    -    resolution: {integrity: sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==}
    -    dev: true
    +  is-typedarray@1.0.0: {}
     
    -  /is-unicode-supported@0.1.0:
    -    resolution: {integrity: sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==}
    -    engines: {node: '>=10'}
    -    dev: true
    +  is-unicode-supported@0.1.0: {}
     
    -  /is-weakref@1.0.2:
    -    resolution: {integrity: sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==}
    +  is-weakref@1.0.2:
         dependencies:
           call-bind: 1.0.7
    -    dev: true
     
    -  /is-windows@1.0.2:
    -    resolution: {integrity: sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==}
    -    engines: {node: '>=0.10.0'}
    -    dev: true
    +  is-windows@1.0.2: {}
     
    -  /is-wsl@2.2.0:
    -    resolution: {integrity: sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==}
    -    engines: {node: '>=8'}
    +  is-wsl@2.2.0:
         dependencies:
           is-docker: 2.2.1
    -    dev: true
     
    -  /isarray@1.0.0:
    -    resolution: {integrity: sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==}
    -    dev: true
    +  isarray@1.0.0: {}
     
    -  /isarray@2.0.5:
    -    resolution: {integrity: sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==}
    -    dev: true
    +  isarray@2.0.5: {}
     
    -  /isexe@2.0.0:
    -    resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==}
    +  isexe@2.0.0: {}
     
    -  /isobject@3.0.1:
    -    resolution: {integrity: sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==}
    -    engines: {node: '>=0.10.0'}
    -    dev: true
    +  isobject@3.0.1: {}
     
    -  /isstream@0.1.2:
    -    resolution: {integrity: sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g==}
    -    dev: true
    +  isstream@0.1.2: {}
     
    -  /istanbul-lib-coverage@3.2.0:
    -    resolution: {integrity: sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw==}
    -    engines: {node: '>=8'}
    -    dev: true
    +  istanbul-lib-coverage@3.2.0: {}
     
    -  /istanbul-lib-coverage@3.2.2:
    -    resolution: {integrity: sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==}
    -    engines: {node: '>=8'}
    -    dev: true
    +  istanbul-lib-coverage@3.2.2: {}
     
    -  /istanbul-lib-hook@3.0.0:
    -    resolution: {integrity: sha512-Pt/uge1Q9s+5VAZ+pCo16TYMWPBIl+oaNIjgLQxcX0itS6ueeaA+pEfThZpH8WxhFgCiEb8sAJY6MdUKgiIWaQ==}
    -    engines: {node: '>=8'}
    +  istanbul-lib-hook@3.0.0:
         dependencies:
           append-transform: 2.0.0
    -    dev: true
     
    -  /istanbul-lib-instrument@4.0.3:
    -    resolution: {integrity: sha512-BXgQl9kf4WTCPCCpmFGoJkz/+uhvm7h7PFKUYxh7qarQd3ER33vHG//qaE8eN25l07YqZPpHXU9I09l/RD5aGQ==}
    -    engines: {node: '>=8'}
    +  istanbul-lib-instrument@4.0.3:
         dependencies:
    -      '@babel/core': 7.24.5
    +      '@babel/core': 7.24.4
           '@istanbuljs/schema': 0.1.3
           istanbul-lib-coverage: 3.2.0
           semver: 6.3.1
         transitivePeerDependencies:
           - supports-color
    -    dev: true
     
    -  /istanbul-lib-instrument@5.2.1:
    -    resolution: {integrity: sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==}
    -    engines: {node: '>=8'}
    +  istanbul-lib-instrument@5.2.1:
         dependencies:
           '@babel/core': 7.24.5
           '@babel/parser': 7.24.5
    @@ -10615,24 +15326,18 @@ packages:
           semver: 6.3.1
         transitivePeerDependencies:
           - supports-color
    -    dev: true
     
    -  /istanbul-lib-instrument@6.0.2:
    -    resolution: {integrity: sha512-1WUsZ9R1lA0HtBSohTkm39WTPlNKSJ5iFk7UwqXkBLoHQT+hfqPsfsTDVuZdKGaBwn7din9bS7SsnoAr943hvw==}
    -    engines: {node: '>=10'}
    +  istanbul-lib-instrument@6.0.2:
         dependencies:
    -      '@babel/core': 7.24.5
    +      '@babel/core': 7.24.4
           '@babel/parser': 7.24.5
           '@istanbuljs/schema': 0.1.3
           istanbul-lib-coverage: 3.2.2
    -      semver: 7.6.1
    +      semver: 7.6.0
         transitivePeerDependencies:
           - supports-color
    -    dev: true
     
    -  /istanbul-lib-processinfo@2.0.3:
    -    resolution: {integrity: sha512-NkwHbo3E00oybX6NGJi6ar0B29vxyvNwoC7eJ4G4Yq28UfY758Hgn/heV8VRFhevPED4LXfFz0DQ8z/0kw9zMg==}
    -    engines: {node: '>=8'}
    +  istanbul-lib-processinfo@2.0.3:
         dependencies:
           archy: 1.0.0
           cross-spawn: 7.0.3
    @@ -10640,100 +15345,70 @@ packages:
           p-map: 3.0.0
           rimraf: 3.0.2
           uuid: 8.3.2
    -    dev: true
     
    -  /istanbul-lib-report@3.0.1:
    -    resolution: {integrity: sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==}
    -    engines: {node: '>=10'}
    +  istanbul-lib-report@3.0.1:
         dependencies:
    -      istanbul-lib-coverage: 3.2.2
    +      istanbul-lib-coverage: 3.2.0
           make-dir: 4.0.0
           supports-color: 7.2.0
    -    dev: true
     
    -  /istanbul-lib-source-maps@4.0.1:
    -    resolution: {integrity: sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==}
    -    engines: {node: '>=10'}
    +  istanbul-lib-source-maps@4.0.1:
         dependencies:
           debug: 4.3.4(supports-color@8.1.1)
           istanbul-lib-coverage: 3.2.0
           source-map: 0.6.1
         transitivePeerDependencies:
           - supports-color
    -    dev: true
     
    -  /istanbul-lib-source-maps@5.0.4:
    -    resolution: {integrity: sha512-wHOoEsNJTVltaJp8eVkm8w+GVkVNHT2YDYo53YdzQEL2gWm1hBX5cGFR9hQJtuGLebidVX7et3+dmDZrmclduw==}
    -    engines: {node: '>=10'}
    +  istanbul-lib-source-maps@5.0.4:
         dependencies:
           '@jridgewell/trace-mapping': 0.3.25
           debug: 4.3.4(supports-color@8.1.1)
           istanbul-lib-coverage: 3.2.2
         transitivePeerDependencies:
           - supports-color
    -    dev: true
     
    -  /istanbul-reports@3.1.6:
    -    resolution: {integrity: sha512-TLgnMkKg3iTDsQ9PbPTdpfAK2DzjF9mqUG7RMgcQl8oFjad8ob4laGxv5XV5U9MAfx8D6tSJiUyuAwzLicaxlg==}
    -    engines: {node: '>=8'}
    +  istanbul-reports@3.1.6:
         dependencies:
           html-escaper: 2.0.2
           istanbul-lib-report: 3.0.1
    -    dev: true
     
    -  /istanbul-reports@3.1.7:
    -    resolution: {integrity: sha512-BewmUXImeuRk2YY0PVbxgKAysvhRPUQE0h5QRM++nVWyubKGV0l8qQ5op8+B2DOmwSe63Jivj0BjkPQVf8fP5g==}
    -    engines: {node: '>=8'}
    +  istanbul-reports@3.1.7:
         dependencies:
           html-escaper: 2.0.2
           istanbul-lib-report: 3.0.1
    -    dev: true
     
    -  /iterm2-version@4.2.0:
    -    resolution: {integrity: sha512-IoiNVk4SMPu6uTcK+1nA5QaHNok2BMDLjSl5UomrOixe5g4GkylhPwuiGdw00ysSCrXAKNMfFTu+u/Lk5f6OLQ==}
    -    engines: {node: '>=8'}
    +  iterm2-version@4.2.0:
         dependencies:
           app-path: 3.3.0
           plist: 3.1.0
    -    dev: true
     
    -  /jackspeak@2.3.6:
    -    resolution: {integrity: sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ==}
    -    engines: {node: '>=14'}
    +  jackspeak@2.3.6:
         dependencies:
           '@isaacs/cliui': 8.0.2
         optionalDependencies:
           '@pkgjs/parseargs': 0.11.0
     
    -  /jake@10.9.1:
    -    resolution: {integrity: sha512-61btcOHNnLnsOdtLgA5efqQWjnSi/vow5HbI7HMdKKWqvrKR1bLK3BPlJn9gcSaP2ewuamUSMB5XEy76KUIS2w==}
    -    engines: {node: '>=10'}
    -    hasBin: true
    +  jake@10.8.7:
         dependencies:
           async: 3.2.5
           chalk: 4.1.2
           filelist: 1.0.4
           minimatch: 3.1.2
    -    dev: true
     
    -  /jest-changed-files@29.7.0:
    -    resolution: {integrity: sha512-fEArFiwf1BpQ+4bXSprcDc3/x4HSzL4al2tozwVpDFpsxALjLYdyiIK4e5Vz66GQJIbXJ82+35PtysofptNX2w==}
    -    engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
    +  jest-changed-files@29.7.0:
         dependencies:
           execa: 5.1.1
           jest-util: 29.7.0
           p-limit: 3.1.0
    -    dev: true
     
    -  /jest-circus@29.7.0:
    -    resolution: {integrity: sha512-3E1nCMgipcTkCocFwM90XXQab9bS+GMsjdpmPrlelaxwD93Ad8iVEjX/vvHPdLPnFf+L40u+5+iutRdA1N9myw==}
    -    engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
    +  jest-circus@29.7.0:
         dependencies:
           '@jest/environment': 29.7.0
           '@jest/expect': 29.7.0
           '@jest/test-result': 29.7.0
           '@jest/types': 29.6.3
    -      '@types/node': 20.12.12
    +      '@types/node': 20.12.7
           chalk: 4.1.2
           co: 4.6.0
           dedent: 1.5.1
    @@ -10752,26 +15427,17 @@ packages:
         transitivePeerDependencies:
           - babel-plugin-macros
           - supports-color
    -    dev: true
     
    -  /jest-cli@29.7.0(@types/node@20.12.12):
    -    resolution: {integrity: sha512-OVVobw2IubN/GSYsxETi+gOe7Ka59EFMR/twOU3Jb2GnKKeMGJB5SGUUrEz3SFVmJASUdZUzy83sLNNQ2gZslg==}
    -    engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
    -    hasBin: true
    -    peerDependencies:
    -      node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0
    -    peerDependenciesMeta:
    -      node-notifier:
    -        optional: true
    +  jest-cli@29.7.0(@types/node@20.12.7):
         dependencies:
           '@jest/core': 29.7.0
           '@jest/test-result': 29.7.0
           '@jest/types': 29.6.3
           chalk: 4.1.2
    -      create-jest: 29.7.0(@types/node@20.12.12)
    +      create-jest: 29.7.0(@types/node@20.12.7)
           exit: 0.1.2
           import-local: 3.1.0
    -      jest-config: 29.7.0(@types/node@20.12.12)
    +      jest-config: 29.7.0(@types/node@20.12.7)
           jest-util: 29.7.0
           jest-validate: 29.7.0
           yargs: 17.7.2
    @@ -10780,24 +15446,12 @@ packages:
           - babel-plugin-macros
           - supports-color
           - ts-node
    -    dev: true
     
    -  /jest-config@29.7.0(@types/node@20.12.12):
    -    resolution: {integrity: sha512-uXbpfeQ7R6TZBqI3/TxCU4q4ttk3u0PJeC+E0zbfSoSjq6bJ7buBPxzQPL0ifrkY4DNu4JUdk0ImlBUYi840eQ==}
    -    engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
    -    peerDependencies:
    -      '@types/node': '*'
    -      ts-node: '>=9.0.0'
    -    peerDependenciesMeta:
    -      '@types/node':
    -        optional: true
    -      ts-node:
    -        optional: true
    +  jest-config@29.7.0(@types/node@20.12.7):
         dependencies:
           '@babel/core': 7.24.5
           '@jest/test-sequencer': 29.7.0
           '@jest/types': 29.6.3
    -      '@types/node': 20.12.12
           babel-jest: 29.7.0(@babel/core@7.24.5)
           chalk: 4.1.2
           ci-info: 3.9.0
    @@ -10817,63 +15471,47 @@ packages:
           pretty-format: 29.7.0
           slash: 3.0.0
           strip-json-comments: 3.1.1
    +    optionalDependencies:
    +      '@types/node': 20.12.7
         transitivePeerDependencies:
           - babel-plugin-macros
           - supports-color
    -    dev: true
     
    -  /jest-diff@29.7.0:
    -    resolution: {integrity: sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw==}
    -    engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
    +  jest-diff@29.7.0:
         dependencies:
           chalk: 4.1.2
           diff-sequences: 29.6.3
           jest-get-type: 29.6.3
           pretty-format: 29.7.0
    -    dev: true
     
    -  /jest-docblock@29.7.0:
    -    resolution: {integrity: sha512-q617Auw3A612guyaFgsbFeYpNP5t2aoUNLwBUbc/0kD1R4t9ixDbyFTHd1nok4epoVFpr7PmeWHrhvuV3XaJ4g==}
    -    engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
    +  jest-docblock@29.7.0:
         dependencies:
           detect-newline: 3.1.0
    -    dev: true
     
    -  /jest-each@29.7.0:
    -    resolution: {integrity: sha512-gns+Er14+ZrEoC5fhOfYCY1LOHHr0TI+rQUHZS8Ttw2l7gl+80eHc/gFf2Ktkw0+SIACDTeWvpFcv3B04VembQ==}
    -    engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
    +  jest-each@29.7.0:
         dependencies:
           '@jest/types': 29.6.3
           chalk: 4.1.2
           jest-get-type: 29.6.3
           jest-util: 29.7.0
           pretty-format: 29.7.0
    -    dev: true
     
    -  /jest-environment-node@29.7.0:
    -    resolution: {integrity: sha512-DOSwCRqXirTOyheM+4d5YZOrWcdu0LNZ87ewUoywbcb2XR4wKgqiG8vNeYwhjFMbEkfju7wx2GYH0P2gevGvFw==}
    -    engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
    +  jest-environment-node@29.7.0:
         dependencies:
           '@jest/environment': 29.7.0
           '@jest/fake-timers': 29.7.0
           '@jest/types': 29.6.3
    -      '@types/node': 20.12.12
    +      '@types/node': 20.12.7
           jest-mock: 29.7.0
           jest-util: 29.7.0
    -    dev: true
     
    -  /jest-get-type@29.6.3:
    -    resolution: {integrity: sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw==}
    -    engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
    -    dev: true
    +  jest-get-type@29.6.3: {}
     
    -  /jest-haste-map@29.7.0:
    -    resolution: {integrity: sha512-fP8u2pyfqx0K1rGn1R9pyE0/KTn+G7PxktWidOBTqFPLYX0b9ksaMFkhK5vrS3DVun09pckLdlx90QthlW7AmA==}
    -    engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
    +  jest-haste-map@29.7.0:
         dependencies:
           '@jest/types': 29.6.3
           '@types/graceful-fs': 4.1.9
    -      '@types/node': 20.12.12
    +      '@types/node': 20.12.7
           anymatch: 3.1.3
           fb-watchman: 2.0.2
           graceful-fs: 4.2.11
    @@ -10884,47 +15522,33 @@ packages:
           walker: 1.0.8
         optionalDependencies:
           fsevents: 2.3.3
    -    dev: true
     
    -  /jest-image-snapshot@4.2.0(jest@29.7.0):
    -    resolution: {integrity: sha512-6aAqv2wtfOgxiJeBayBCqHo1zX+A12SUNNzo7rIxiXh6W6xYVu8QyHWkada8HeRi+QUTHddp0O0Xa6kmQr+xbQ==}
    -    engines: {node: '>= 10.14.2'}
    -    peerDependencies:
    -      jest: '>=20 <=26'
    +  jest-image-snapshot@4.2.0(jest@29.7.0(@types/node@20.12.7)):
         dependencies:
           chalk: 1.1.3
           get-stdin: 5.0.1
           glur: 1.1.2
    -      jest: 29.7.0(@types/node@20.12.12)
    +      jest: 29.7.0(@types/node@20.12.7)
           lodash: 4.17.21
           mkdirp: 0.5.6
           pixelmatch: 5.3.0
           pngjs: 3.4.0
           rimraf: 2.7.1
           ssim.js: 3.5.0
    -    dev: true
     
    -  /jest-leak-detector@29.7.0:
    -    resolution: {integrity: sha512-kYA8IJcSYtST2BY9I+SMC32nDpBT3J2NvWJx8+JCuCdl/CR1I4EKUJROiP8XtCcxqgTTBGJNdbB1A8XRKbTetw==}
    -    engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
    +  jest-leak-detector@29.7.0:
         dependencies:
           jest-get-type: 29.6.3
           pretty-format: 29.7.0
    -    dev: true
     
    -  /jest-matcher-utils@29.7.0:
    -    resolution: {integrity: sha512-sBkD+Xi9DtcChsI3L3u0+N0opgPYnCRPtGcQYrgXmR+hmt/fYfWAL0xRXYU8eWOdfuLgBe0YCW3AFtnRLagq/g==}
    -    engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
    +  jest-matcher-utils@29.7.0:
         dependencies:
           chalk: 4.1.2
           jest-diff: 29.7.0
           jest-get-type: 29.6.3
           pretty-format: 29.7.0
    -    dev: true
     
    -  /jest-message-util@29.7.0:
    -    resolution: {integrity: sha512-GBEV4GRADeP+qtB2+6u61stea8mGcOT4mCtrYISZwfu9/ISHFJ/5zOMXYbpBE9RsS5+Gb63DW4FgmnKJ79Kf6w==}
    -    engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
    +  jest-message-util@29.7.0:
         dependencies:
           '@babel/code-frame': 7.24.2
           '@jest/types': 29.6.3
    @@ -10935,47 +15559,27 @@ packages:
           pretty-format: 29.7.0
           slash: 3.0.0
           stack-utils: 2.0.6
    -    dev: true
     
    -  /jest-mock@29.7.0:
    -    resolution: {integrity: sha512-ITOMZn+UkYS4ZFh83xYAOzWStloNzJFO2s8DWrE4lhtGD+AorgnbkiKERe4wQVBydIGPx059g6riW5Btp6Llnw==}
    -    engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
    +  jest-mock@29.7.0:
         dependencies:
           '@jest/types': 29.6.3
    -      '@types/node': 20.12.12
    +      '@types/node': 20.12.7
           jest-util: 29.7.0
    -    dev: true
     
    -  /jest-pnp-resolver@1.2.3(jest-resolve@29.7.0):
    -    resolution: {integrity: sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==}
    -    engines: {node: '>=6'}
    -    peerDependencies:
    -      jest-resolve: '*'
    -    peerDependenciesMeta:
    -      jest-resolve:
    -        optional: true
    -    dependencies:
    +  jest-pnp-resolver@1.2.3(jest-resolve@29.7.0):
    +    optionalDependencies:
           jest-resolve: 29.7.0
    -    dev: true
     
    -  /jest-regex-util@29.6.3:
    -    resolution: {integrity: sha512-KJJBsRCyyLNWCNBOvZyRDnAIfUiRJ8v+hOBQYGn8gDyF3UegwiP4gwRR3/SDa42g1YbVycTidUF3rKjyLFDWbg==}
    -    engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
    -    dev: true
    +  jest-regex-util@29.6.3: {}
     
    -  /jest-resolve-dependencies@29.7.0:
    -    resolution: {integrity: sha512-un0zD/6qxJ+S0et7WxeI3H5XSe9lTBBR7bOHCHXkKR6luG5mwDDlIzVQ0V5cZCuoTgEdcdwzTghYkTWfubi+nA==}
    -    engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
    +  jest-resolve-dependencies@29.7.0:
         dependencies:
           jest-regex-util: 29.6.3
           jest-snapshot: 29.7.0
         transitivePeerDependencies:
           - supports-color
    -    dev: true
     
    -  /jest-resolve@29.7.0:
    -    resolution: {integrity: sha512-IOVhZSrg+UvVAshDSDtHyFCCBUl/Q3AAJv8iZ6ZjnZ74xzvwuzLXid9IIIPgTnY62SJjfuupMKZsZQRsCvxEgA==}
    -    engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
    +  jest-resolve@29.7.0:
         dependencies:
           chalk: 4.1.2
           graceful-fs: 4.2.11
    @@ -10986,18 +15590,15 @@ packages:
           resolve: 1.22.8
           resolve.exports: 2.0.2
           slash: 3.0.0
    -    dev: true
     
    -  /jest-runner@29.7.0:
    -    resolution: {integrity: sha512-fsc4N6cPCAahybGBfTRcq5wFR6fpLznMg47sY5aDpsoejOcVYFb07AHuSnR0liMcPTgBsA3ZJL6kFOjPdoNipQ==}
    -    engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
    +  jest-runner@29.7.0:
         dependencies:
           '@jest/console': 29.7.0
           '@jest/environment': 29.7.0
           '@jest/test-result': 29.7.0
           '@jest/transform': 29.7.0
           '@jest/types': 29.6.3
    -      '@types/node': 20.12.12
    +      '@types/node': 20.12.7
           chalk: 4.1.2
           emittery: 0.13.1
           graceful-fs: 4.2.11
    @@ -11015,11 +15616,8 @@ packages:
           source-map-support: 0.5.13
         transitivePeerDependencies:
           - supports-color
    -    dev: true
     
    -  /jest-runtime@29.7.0:
    -    resolution: {integrity: sha512-gUnLjgwdGqW7B4LvOIkbKs9WGbn+QLqRQQ9juC6HndeDiezIwhDP+mhMwHWCEcfQ5RUXa6OPnFF8BJh5xegwwQ==}
    -    engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
    +  jest-runtime@29.7.0:
         dependencies:
           '@jest/environment': 29.7.0
           '@jest/fake-timers': 29.7.0
    @@ -11028,7 +15626,7 @@ packages:
           '@jest/test-result': 29.7.0
           '@jest/transform': 29.7.0
           '@jest/types': 29.6.3
    -      '@types/node': 20.12.12
    +      '@types/node': 20.12.7
           chalk: 4.1.2
           cjs-module-lexer: 1.2.3
           collect-v8-coverage: 1.0.2
    @@ -11045,11 +15643,8 @@ packages:
           strip-bom: 4.0.0
         transitivePeerDependencies:
           - supports-color
    -    dev: true
     
    -  /jest-snapshot@29.7.0:
    -    resolution: {integrity: sha512-Rm0BMWtxBcioHr1/OX5YCP8Uov4riHvKPknOGs804Zg9JGZgmIBkbtlxJC/7Z4msKYVbIJtfU+tKb8xlYNfdkw==}
    -    engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
    +  jest-snapshot@29.7.0:
         dependencies:
           '@babel/core': 7.24.5
           '@babel/generator': 7.24.5
    @@ -11070,26 +15665,20 @@ packages:
           jest-util: 29.7.0
           natural-compare: 1.4.0
           pretty-format: 29.7.0
    -      semver: 7.6.2
    +      semver: 7.6.0
         transitivePeerDependencies:
           - supports-color
    -    dev: true
     
    -  /jest-util@29.7.0:
    -    resolution: {integrity: sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA==}
    -    engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
    +  jest-util@29.7.0:
         dependencies:
           '@jest/types': 29.6.3
    -      '@types/node': 20.12.12
    +      '@types/node': 20.12.7
           chalk: 4.1.2
           ci-info: 3.9.0
           graceful-fs: 4.2.11
           picomatch: 2.3.1
    -    dev: true
     
    -  /jest-validate@29.7.0:
    -    resolution: {integrity: sha512-ZB7wHqaRGVw/9hST/OuFUReG7M8vKeq0/J2egIGLdvjHCmYqGARhzXmtgi+gVeZ5uXFF219aOc3Ls2yLg27tkw==}
    -    engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
    +  jest-validate@29.7.0:
         dependencies:
           '@jest/types': 29.6.3
           camelcase: 6.3.0
    @@ -11097,75 +15686,49 @@ packages:
           jest-get-type: 29.6.3
           leven: 3.1.0
           pretty-format: 29.7.0
    -    dev: true
     
    -  /jest-watcher@29.7.0:
    -    resolution: {integrity: sha512-49Fg7WXkU3Vl2h6LbLtMQ/HyB6rXSIX7SqvBLQmssRBGN9I0PNvPmAmCWSOY6SOvrjhI/F7/bGAv9RtnsPA03g==}
    -    engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
    +  jest-watcher@29.7.0:
         dependencies:
           '@jest/test-result': 29.7.0
           '@jest/types': 29.6.3
    -      '@types/node': 20.12.12
    +      '@types/node': 20.12.7
           ansi-escapes: 4.3.2
           chalk: 4.1.2
           emittery: 0.13.1
           jest-util: 29.7.0
           string-length: 4.0.2
    -    dev: true
     
    -  /jest-worker@27.5.1:
    -    resolution: {integrity: sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==}
    -    engines: {node: '>= 10.13.0'}
    +  jest-worker@27.5.1:
         dependencies:
    -      '@types/node': 20.12.12
    +      '@types/node': 20.12.7
           merge-stream: 2.0.0
           supports-color: 8.1.1
    -    dev: true
     
    -  /jest-worker@29.7.0:
    -    resolution: {integrity: sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==}
    -    engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
    +  jest-worker@29.7.0:
         dependencies:
    -      '@types/node': 20.12.12
    +      '@types/node': 20.12.7
           jest-util: 29.7.0
           merge-stream: 2.0.0
           supports-color: 8.1.1
    -    dev: true
     
    -  /jest@29.7.0(@types/node@20.12.12):
    -    resolution: {integrity: sha512-NIy3oAFp9shda19hy4HK0HRTWKtPJmGdnvywu01nOqNC2vZg+Z+fvJDxpMQA88eb2I9EcafcdjYgsDthnYTvGw==}
    -    engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
    -    hasBin: true
    -    peerDependencies:
    -      node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0
    -    peerDependenciesMeta:
    -      node-notifier:
    -        optional: true
    +  jest@29.7.0(@types/node@20.12.7):
         dependencies:
           '@jest/core': 29.7.0
           '@jest/types': 29.6.3
           import-local: 3.1.0
    -      jest-cli: 29.7.0(@types/node@20.12.12)
    +      jest-cli: 29.7.0(@types/node@20.12.7)
         transitivePeerDependencies:
           - '@types/node'
           - babel-plugin-macros
           - supports-color
           - ts-node
    -    dev: true
     
    -  /jison-lex@0.3.4:
    -    resolution: {integrity: sha512-EBh5wrXhls1cUwROd5DcDHR1sG7CdsCFSqY1027+YA1RGxz+BX2TDLAhdsQf40YEtFDGoiO0Qm8PpnBl2EzDJw==}
    -    engines: {node: '>=0.4'}
    -    hasBin: true
    +  jison-lex@0.3.4:
         dependencies:
           lex-parser: 0.1.4
           nomnom: 1.5.2
    -    dev: true
     
    -  /jison@0.4.18:
    -    resolution: {integrity: sha512-FKkCiJvozgC7VTHhMJ00a0/IApSxhlGsFIshLW6trWJ8ONX2TQJBBz6DlcO1Gffy4w9LT+uL+PA+CVnUSJMF7w==}
    -    engines: {node: '>=0.4'}
    -    hasBin: true
    +  jison@0.4.18:
         dependencies:
           JSONSelect: 0.4.0
           cjson: 0.3.0
    @@ -11175,74 +15738,41 @@ packages:
           jison-lex: 0.3.4
           lex-parser: 0.1.4
           nomnom: 1.5.2
    -    dev: true
     
    -  /jiti@1.21.0:
    -    resolution: {integrity: sha512-gFqAIbuKyyso/3G2qhiO2OM6shY6EPP/R0+mkDbyspxKazh8BXDC5FiFsUjlczgdNz/vfra0da2y+aHrusLG/Q==}
    -    hasBin: true
    +  jiti@1.21.0: {}
     
    -  /jju@1.4.0:
    -    resolution: {integrity: sha512-8wb9Yw966OSxApiCt0K3yNJL8pnNeIv+OEq2YMidz4FKP6nonSRoOXc80iXY4JaN2FC11B9qsNmDsm+ZOfMROA==}
    -    dev: true
    +  jju@1.4.0: {}
     
    -  /joi@17.12.2:
    -    resolution: {integrity: sha512-RonXAIzCiHLc8ss3Ibuz45u28GOsWE1UpfDXLbN/9NKbL4tCJf8TWYVKsoYuuh+sAUt7fsSNpA+r2+TBA6Wjmw==}
    +  joi@17.12.2:
         dependencies:
           '@hapi/hoek': 9.3.0
           '@hapi/topo': 5.1.0
           '@sideway/address': 4.1.5
           '@sideway/formula': 3.0.1
           '@sideway/pinpoint': 2.0.0
    -    dev: true
     
    -  /jpeg-js@0.4.4:
    -    resolution: {integrity: sha512-WZzeDOEtTOBK4Mdsar0IqEU5sMr3vSV2RqkAIzUEV2BHnUfKGyswWFPFwK5EeDo93K3FohSHbLAjj0s1Wzd+dg==}
    -    dev: true
    +  jpeg-js@0.4.4: {}
     
    -  /js-base64@3.7.7:
    -    resolution: {integrity: sha512-7rCnleh0z2CkXhH67J8K1Ytz0b2Y+yxTPL+/KOJoa20hfnVQ/3/T6W/KflYI4bRHRagNeXeU2bkNGI3v1oS/lw==}
    -    dev: true
    +  js-base64@3.7.7: {}
     
    -  /js-tokens@4.0.0:
    -    resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==}
    -    dev: true
    +  js-tokens@4.0.0: {}
     
    -  /js-tokens@9.0.0:
    -    resolution: {integrity: sha512-WriZw1luRMlmV3LGJaR6QOJjWwgLUTf89OwT2lUOyjX2dJGBwgmIkbcz+7WFZjrZM635JOIR517++e/67CP9dQ==}
    -    dev: true
    +  js-tokens@9.0.0: {}
     
    -  /js-yaml@3.14.1:
    -    resolution: {integrity: sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==}
    -    hasBin: true
    +  js-yaml@3.14.1:
         dependencies:
           argparse: 1.0.10
           esprima: 4.0.1
    -    dev: true
     
    -  /js-yaml@4.1.0:
    -    resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==}
    -    hasBin: true
    +  js-yaml@4.1.0:
         dependencies:
           argparse: 2.0.1
    -    dev: true
     
    -  /jsbn@0.1.1:
    -    resolution: {integrity: sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg==}
    -    dev: true
    +  jsbn@0.1.1: {}
     
    -  /jsdoc-type-pratt-parser@4.0.0:
    -    resolution: {integrity: sha512-YtOli5Cmzy3q4dP26GraSOeAhqecewG04hoO8DY56CH4KJ9Fvv5qKWUCCo3HZob7esJQHCv6/+bnTy72xZZaVQ==}
    -    engines: {node: '>=12.0.0'}
    -    dev: true
    +  jsdoc-type-pratt-parser@4.0.0: {}
     
    -  /jsdom@24.0.0:
    -    resolution: {integrity: sha512-UDS2NayCvmXSXVP6mpTj+73JnNQadZlr9N68189xib2tx5Mls7swlTNao26IoHv46BZJFvXygyRtyXd1feAk1A==}
    -    engines: {node: '>=18'}
    -    peerDependencies:
    -      canvas: ^2.11.2
    -    peerDependenciesMeta:
    -      canvas:
    -        optional: true
    +  jsdom@24.0.0:
         dependencies:
           cssstyle: 4.0.1
           data-urls: 5.0.0
    @@ -11269,37 +15799,18 @@ packages:
           - bufferutil
           - supports-color
           - utf-8-validate
    -    dev: true
     
    -  /jsesc@0.5.0:
    -    resolution: {integrity: sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==}
    -    hasBin: true
    -    dev: true
    +  jsesc@0.5.0: {}
     
    -  /jsesc@2.5.2:
    -    resolution: {integrity: sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==}
    -    engines: {node: '>=4'}
    -    hasBin: true
    -    dev: true
    +  jsesc@2.5.2: {}
     
    -  /jsesc@3.0.2:
    -    resolution: {integrity: sha512-xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g==}
    -    engines: {node: '>=6'}
    -    hasBin: true
    -    dev: true
    +  jsesc@3.0.2: {}
     
    -  /json-buffer@3.0.1:
    -    resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==}
    -    dev: true
    +  json-buffer@3.0.1: {}
     
    -  /json-parse-even-better-errors@2.3.1:
    -    resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==}
    -    dev: true
    +  json-parse-even-better-errors@2.3.1: {}
     
    -  /json-schema-to-typescript@13.1.2:
    -    resolution: {integrity: sha512-17G+mjx4nunvOpkPvcz7fdwUwYCEwyH8vR3Ym3rFiQ8uzAL3go+c1306Kk7iGRk8HuXBXqy+JJJmpYl0cvOllw==}
    -    engines: {node: '>=12.0.0'}
    -    hasBin: true
    +  json-schema-to-typescript@13.1.2:
         dependencies:
           '@bcherny/json-schema-ref-parser': 10.0.5-fork
           '@types/json-schema': 7.0.15
    @@ -11315,125 +15826,68 @@ packages:
           mkdirp: 1.0.4
           mz: 2.7.0
           prettier: 2.8.8
    -    dev: true
     
    -  /json-schema-traverse@0.4.1:
    -    resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==}
    -    dev: true
    +  json-schema-traverse@0.4.1: {}
     
    -  /json-schema-traverse@1.0.0:
    -    resolution: {integrity: sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==}
    -    dev: true
    +  json-schema-traverse@1.0.0: {}
     
    -  /json-schema@0.4.0:
    -    resolution: {integrity: sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==}
    -    dev: true
    +  json-schema@0.4.0: {}
     
    -  /json-stable-stringify-without-jsonify@1.0.1:
    -    resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==}
    -    dev: true
    +  json-stable-stringify-without-jsonify@1.0.1: {}
     
    -  /json-stringify-safe@5.0.1:
    -    resolution: {integrity: sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==}
    -    dev: true
    +  json-stringify-safe@5.0.1: {}
     
    -  /json5@2.2.3:
    -    resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==}
    -    engines: {node: '>=6'}
    -    hasBin: true
    -    dev: true
    +  json5@2.2.3: {}
     
    -  /jsonc-parser@3.2.1:
    -    resolution: {integrity: sha512-AilxAyFOAcK5wA1+LeaySVBrHsGQvUFCDWXKpZjzaL0PqW+xfBOttn8GNtWKFWqneyMZj41MWF9Kl6iPWLwgOA==}
    -    dev: true
    +  jsonc-parser@3.2.1: {}
     
    -  /jsonfile@4.0.0:
    -    resolution: {integrity: sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==}
    +  jsonfile@4.0.0:
         optionalDependencies:
           graceful-fs: 4.2.11
    -    dev: true
     
    -  /jsonfile@6.1.0:
    -    resolution: {integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==}
    +  jsonfile@6.1.0:
         dependencies:
           universalify: 2.0.1
         optionalDependencies:
           graceful-fs: 4.2.11
    -    dev: true
     
    -  /jsonlint@1.6.0:
    -    resolution: {integrity: sha512-x6YLBe6NjdpmIeiklwQOxsZuYj/SOWkT33GlTpaG1UdFGjdWjPcxJ1CWZAX3wA7tarz8E2YHF6KiW5HTapPlXw==}
    -    engines: {node: '>= 0.6'}
    -    hasBin: true
    +  jsonlint@1.6.0:
         dependencies:
           JSV: 4.0.2
           nomnom: 1.5.2
    -    dev: true
     
    -  /jsonpointer@5.0.1:
    -    resolution: {integrity: sha512-p/nXbhSEcu3pZRdkW1OfJhpsVtW1gd4Wa1fnQc9YLiTfAjn0312eMKimbdIQzuZl9aa9xUGaRlP9T/CJE/ditQ==}
    -    engines: {node: '>=0.10.0'}
    -    dev: true
    +  jsonpointer@5.0.1: {}
     
    -  /jsonschema@1.4.1:
    -    resolution: {integrity: sha512-S6cATIPVv1z0IlxdN+zUk5EPjkGCdnhN4wVSBlvoUO1tOLJootbo9CquNJmbIh4yikWHiUedhRYrNPn1arpEmQ==}
    -    dev: true
    +  jsonschema@1.4.1: {}
     
    -  /jsprim@2.0.2:
    -    resolution: {integrity: sha512-gqXddjPqQ6G40VdnI6T6yObEC+pDNvyP95wdQhkWkg7crHH3km5qP1FsOXEkzEQwnz6gz5qGTn1c2Y52wP3OyQ==}
    -    engines: {'0': node >=0.6.0}
    +  jsprim@2.0.2:
         dependencies:
           assert-plus: 1.0.0
           extsprintf: 1.3.0
           json-schema: 0.4.0
           verror: 1.10.0
    -    dev: true
     
    -  /junk@4.0.1:
    -    resolution: {integrity: sha512-Qush0uP+G8ZScpGMZvHUiRfI0YBWuB3gVBYlI0v0vvOJt5FLicco+IkP0a50LqTTQhmts/m6tP5SWE+USyIvcQ==}
    -    engines: {node: '>=12.20'}
    -    dev: true
    +  junk@4.0.1: {}
     
    -  /katex@0.16.10:
    -    resolution: {integrity: sha512-ZiqaC04tp2O5utMsl2TEZTXxa6WSC4yo0fv5ML++D3QZv/vx2Mct0mTlRx3O+uUkjfuAgOkzsCmq5MiUEsDDdA==}
    -    hasBin: true
    +  katex@0.16.10:
         dependencies:
           commander: 8.3.0
    -    dev: false
     
    -  /keyv@4.5.4:
    -    resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==}
    +  keyv@4.5.4:
         dependencies:
           json-buffer: 3.0.1
    -    dev: true
     
    -  /khroma@2.1.0:
    -    resolution: {integrity: sha512-Ls993zuzfayK269Svk9hzpeGUKob/sIgZzyHYdjQoAdQetRKpOLj+k/QQQ/6Qi0Yz65mlROrfd+Ev+1+7dz9Kw==}
    -    dev: false
    +  khroma@2.1.0: {}
     
    -  /kind-of@6.0.3:
    -    resolution: {integrity: sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==}
    -    engines: {node: '>=0.10.0'}
    -    dev: true
    +  kind-of@6.0.3: {}
     
    -  /kleur@3.0.3:
    -    resolution: {integrity: sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==}
    -    engines: {node: '>=6'}
    -    dev: true
    +  kleur@3.0.3: {}
     
    -  /kolorist@1.8.0:
    -    resolution: {integrity: sha512-Y+60/zizpJ3HRH8DCss+q95yr6145JXZo46OTpFvDZWLfRCE4qChOyk1b26nMaNpfHHgxagk9dXT5OP0Tfe+dQ==}
    -    dev: true
    +  kolorist@1.8.0: {}
     
    -  /ky@0.30.0:
    -    resolution: {integrity: sha512-X/u76z4JtDVq10u1JA5UQfatPxgPaVDMYTrgHyiTpGN2z4TMEJkIHsoSBBSg9SWZEIXTKsi9kHgiQ9o3Y/4yog==}
    -    engines: {node: '>=12'}
    -    dev: true
    +  ky@0.30.0: {}
     
    -  /langium-cli@3.0.3:
    -    resolution: {integrity: sha512-g6PdhEq5IiYWK/oiySILglPvFdK6ofQdzC+U7PJmFH++bDKu0DGdxjWzDauUN5WUDyVQETWKgtYDmmbcxPzN0w==}
    -    engines: {node: '>=16.0.0'}
    -    hasBin: true
    +  langium-cli@3.0.3:
         dependencies:
           chalk: 5.3.0
           commander: 11.0.0
    @@ -11442,18 +15896,13 @@ packages:
           langium: 3.0.0
           langium-railroad: 3.0.0
           lodash: 4.17.21
    -    dev: true
     
    -  /langium-railroad@3.0.0:
    -    resolution: {integrity: sha512-GQOnQBGl5gJqzgK/4bKvJO5QhJGNnprpYH6Fghbl4FviVLHwP6yzyqiouDelLSoCadChCr2JqKaBp5HXv7CgWw==}
    +  langium-railroad@3.0.0:
         dependencies:
           langium: 3.0.0
           railroad-diagrams: 1.0.0
    -    dev: true
     
    -  /langium@3.0.0:
    -    resolution: {integrity: sha512-+Ez9EoiByeoTu/2BXmEaZ06iPNXM6thWJp02KfBO/raSMyCJ4jw7AkWWa+zBCTm0+Tw1Fj9FOxdqSskyN5nAwg==}
    -    engines: {node: '>=16.0.0'}
    +  langium@3.0.0:
         dependencies:
           chevrotain: 11.0.3
           chevrotain-allstar: 0.3.1(chevrotain@11.0.3)
    @@ -11461,76 +15910,44 @@ packages:
           vscode-languageserver-textdocument: 1.0.11
           vscode-uri: 3.0.8
     
    -  /launch-editor@2.6.1:
    -    resolution: {integrity: sha512-eB/uXmFVpY4zezmGp5XtU21kwo7GBbKB+EQ+UZeWtGb9yAM5xt/Evk+lYH3eRNAtId+ej4u7TYPFZ07w4s7rRw==}
    +  launch-editor@2.6.1:
         dependencies:
           picocolors: 1.0.0
           shell-quote: 1.8.1
    -    dev: true
     
    -  /layout-base@1.0.2:
    -    resolution: {integrity: sha512-8h2oVEZNktL4BH2JCOI90iD1yXwL6iNW7KcCKT2QZgQJR2vbqDsldCTPRU9NifTCqHZci57XvQQ15YTu+sTYPg==}
    -    dev: false
    +  layout-base@1.0.2: {}
     
    -  /lazy-ass@1.6.0:
    -    resolution: {integrity: sha512-cc8oEVoctTvsFZ/Oje/kGnHbpWHYBe8IAJe4C0QNc3t8uM/0Y8+erSz/7Y1ALuXTEZTMvxXwO6YbX1ey3ujiZw==}
    -    engines: {node: '> 0.8'}
    -    dev: true
    +  lazy-ass@1.6.0: {}
     
    -  /leven@3.1.0:
    -    resolution: {integrity: sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==}
    -    engines: {node: '>=6'}
    -    dev: true
    +  leven@3.1.0: {}
     
    -  /levn@0.4.1:
    -    resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==}
    -    engines: {node: '>= 0.8.0'}
    +  levn@0.4.1:
         dependencies:
           prelude-ls: 1.2.1
           type-check: 0.4.0
    -    dev: true
     
    -  /lex-parser@0.1.4:
    -    resolution: {integrity: sha512-DuAEISsr1H4LOpmFLkyMc8YStiRWZCO8hMsoXAXSbgyfvs2WQhSt0+/FBv3ZU/JBFZMGcE+FWzEBSzwUU7U27w==}
    -    dev: true
    +  lex-parser@0.1.4: {}
     
    -  /light-my-request@4.12.0:
    -    resolution: {integrity: sha512-0y+9VIfJEsPVzK5ArSIJ8Dkxp8QMP7/aCuxCUtG/tr9a2NoOf/snATE/OUc05XUplJCEnRh6gTkH7xh9POt1DQ==}
    +  light-my-request@4.12.0:
         dependencies:
           ajv: 8.12.0
           cookie: 0.5.0
           process-warning: 1.0.0
           set-cookie-parser: 2.6.0
    -    dev: true
     
    -  /lilconfig@2.1.0:
    -    resolution: {integrity: sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==}
    -    engines: {node: '>=10'}
    -    dev: false
    +  lilconfig@2.1.0: {}
     
    -  /lilconfig@3.0.0:
    -    resolution: {integrity: sha512-K2U4W2Ff5ibV7j7ydLr+zLAkIg5JJ4lPn1Ltsdt+Tz/IjQ8buJ55pZAxoP34lqIiwtF9iAvtLv3JGv7CAyAg+g==}
    -    engines: {node: '>=14'}
    -    dev: true
    +  lilconfig@3.0.0: {}
     
    -  /lilconfig@3.1.1:
    -    resolution: {integrity: sha512-O18pf7nyvHTckunPWCV1XUNXU1piu01y2b7ATJ0ppkUkk8ocqVWBrYjJBCwHDjD/ZWcfyrA0P4gKhzWGi5EINQ==}
    -    engines: {node: '>=14'}
    -    dev: false
    +  lilconfig@3.1.1: {}
     
    -  /lines-and-columns@1.2.4:
    -    resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==}
    +  lines-and-columns@1.2.4: {}
     
    -  /linkify-it@4.0.1:
    -    resolution: {integrity: sha512-C7bfi1UZmoj8+PQx22XyeXCuBlokoyWQL5pWSP+EI6nzRylyThouddufc2c1NDIcP9k5agmN9fLpA7VNJfIiqw==}
    +  linkify-it@4.0.1:
         dependencies:
           uc.micro: 1.0.6
    -    dev: true
     
    -  /lint-staged@15.2.2:
    -    resolution: {integrity: sha512-TiTt93OPh1OZOsb5B7k96A/ATl2AjIZo+vnzFZ6oHK5FuTk63ByDtxGQpHm+kFETjEWqgkF95M8FRXKR/LEBcw==}
    -    engines: {node: '>=18.12.0'}
    -    hasBin: true
    +  lint-staged@15.2.2:
         dependencies:
           chalk: 5.3.0
           commander: 11.1.0
    @@ -11544,31 +15961,21 @@ packages:
           yaml: 2.3.4
         transitivePeerDependencies:
           - supports-color
    -    dev: true
     
    -  /listr2@3.14.0(enquirer@2.4.1):
    -    resolution: {integrity: sha512-TyWI8G99GX9GjE54cJ+RrNMcIFBfwMPxc3XTFiAYGN4s10hWROGtOg7+O6u6LE3mNkyld7RSLE6nrKBvTfcs3g==}
    -    engines: {node: '>=10.0.0'}
    -    peerDependencies:
    -      enquirer: '>= 2.3.0 < 3'
    -    peerDependenciesMeta:
    -      enquirer:
    -        optional: true
    +  listr2@3.14.0(enquirer@2.4.1):
         dependencies:
           cli-truncate: 2.1.0
           colorette: 2.0.20
    -      enquirer: 2.4.1
           log-update: 4.0.0
           p-map: 4.0.0
           rfdc: 1.3.1
           rxjs: 7.8.1
           through: 2.3.8
           wrap-ansi: 7.0.0
    -    dev: true
    +    optionalDependencies:
    +      enquirer: 2.4.1
     
    -  /listr2@8.0.1:
    -    resolution: {integrity: sha512-ovJXBXkKGfq+CwmKTjluEqFi3p4h8xvkxGQQAQan22YCgef4KZ1mKGjzfGh6PL6AW5Csw0QiQPNuQyH+6Xk3hA==}
    -    engines: {node: '>=18.0.0'}
    +  listr2@8.0.1:
         dependencies:
           cli-truncate: 4.0.0
           colorette: 2.0.20
    @@ -11576,256 +15983,155 @@ packages:
           log-update: 6.0.0
           rfdc: 1.3.1
           wrap-ansi: 9.0.0
    -    dev: true
     
    -  /loader-runner@4.3.0:
    -    resolution: {integrity: sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==}
    -    engines: {node: '>=6.11.5'}
    -    dev: true
    +  loader-runner@4.3.0: {}
     
    -  /local-pkg@0.4.3:
    -    resolution: {integrity: sha512-SFppqq5p42fe2qcZQqqEOiVRXl+WCP1MdT6k7BDEW1j++sp5fIY+/fdRQitvKgB5BrBcmrs5m/L0v2FrU5MY1g==}
    -    engines: {node: '>=14'}
    -    dev: true
    +  local-pkg@0.4.3: {}
     
    -  /local-pkg@0.5.0:
    -    resolution: {integrity: sha512-ok6z3qlYyCDS4ZEU27HaU6x/xZa9Whf8jD4ptH5UZTQYZVYeb9bnZ3ojVhiJNLiXK1Hfc0GNbLXcmZ5plLDDBg==}
    -    engines: {node: '>=14'}
    +  local-pkg@0.5.0:
         dependencies:
           mlly: 1.6.1
           pkg-types: 1.1.0
    -    dev: true
     
    -  /locate-path@3.0.0:
    -    resolution: {integrity: sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==}
    -    engines: {node: '>=6'}
    +  locate-path@3.0.0:
         dependencies:
           p-locate: 3.0.0
           path-exists: 3.0.0
    -    dev: true
     
    -  /locate-path@5.0.0:
    -    resolution: {integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==}
    -    engines: {node: '>=8'}
    +  locate-path@5.0.0:
         dependencies:
           p-locate: 4.1.0
    -    dev: true
     
    -  /locate-path@6.0.0:
    -    resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==}
    -    engines: {node: '>=10'}
    +  locate-path@6.0.0:
         dependencies:
           p-locate: 5.0.0
    -    dev: true
     
    -  /locate-path@7.2.0:
    -    resolution: {integrity: sha512-gvVijfZvn7R+2qyPX8mAuKcFGDf6Nc61GdvGafQsHL0sBIxfKzA+usWn4GFC/bk+QdwPUD4kWFJLhElipq+0VA==}
    -    engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
    +  locate-path@7.2.0:
         dependencies:
           p-locate: 6.0.0
    -    dev: true
     
    -  /lodash-es@4.17.21:
    -    resolution: {integrity: sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==}
    +  lodash-es@4.17.21: {}
     
    -  /lodash.debounce@4.0.8:
    -    resolution: {integrity: sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==}
    -    dev: true
    +  lodash.debounce@4.0.8: {}
     
    -  /lodash.flattendeep@4.4.0:
    -    resolution: {integrity: sha512-uHaJFihxmJcEX3kT4I23ABqKKalJ/zDrDg0lsFtc1h+3uw49SIJ5beyhx5ExVRti3AvKoOJngIj7xz3oylPdWQ==}
    -    dev: true
    +  lodash.flattendeep@4.4.0: {}
     
    -  /lodash.isplainobject@4.0.6:
    -    resolution: {integrity: sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==}
    -    dev: true
    +  lodash.isplainobject@4.0.6: {}
     
    -  /lodash.merge@4.6.2:
    -    resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==}
    -    dev: true
    +  lodash.merge@4.6.2: {}
     
    -  /lodash.once@4.1.1:
    -    resolution: {integrity: sha512-Sb487aTOCr9drQVL8pIxOzVhafOjZN9UU54hiN8PU3uAiSV7lx1yYNpbNmex2PK6dSJoNTSJUUswT651yww3Mg==}
    -    dev: true
    +  lodash.once@4.1.1: {}
     
    -  /lodash.sortby@4.7.0:
    -    resolution: {integrity: sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA==}
    -    dev: true
    +  lodash.sortby@4.7.0: {}
     
    -  /lodash@4.17.21:
    -    resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==}
    +  lodash@4.17.21: {}
     
    -  /log-symbols@4.1.0:
    -    resolution: {integrity: sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==}
    -    engines: {node: '>=10'}
    +  log-symbols@4.1.0:
         dependencies:
           chalk: 4.1.2
           is-unicode-supported: 0.1.0
    -    dev: true
     
    -  /log-update@4.0.0:
    -    resolution: {integrity: sha512-9fkkDevMefjg0mmzWFBW8YkFP91OrizzkW3diF7CpG+S2EYdy4+TVfGwz1zeF8x7hCx1ovSPTOE9Ngib74qqUg==}
    -    engines: {node: '>=10'}
    +  log-update@4.0.0:
         dependencies:
           ansi-escapes: 4.3.2
           cli-cursor: 3.1.0
           slice-ansi: 4.0.0
           wrap-ansi: 6.2.0
    -    dev: true
     
    -  /log-update@6.0.0:
    -    resolution: {integrity: sha512-niTvB4gqvtof056rRIrTZvjNYE4rCUzO6X/X+kYjd7WFxXeJ0NwEFnRxX6ehkvv3jTwrXnNdtAak5XYZuIyPFw==}
    -    engines: {node: '>=18'}
    +  log-update@6.0.0:
         dependencies:
           ansi-escapes: 6.2.1
           cli-cursor: 4.0.0
           slice-ansi: 7.1.0
           strip-ansi: 7.1.0
           wrap-ansi: 9.0.0
    -    dev: true
     
    -  /loglevel-plugin-prefix@0.8.4:
    -    resolution: {integrity: sha512-WpG9CcFAOjz/FtNht+QJeGpvVl/cdR6P0z6OcXSkr8wFJOsV2GRj2j10JLfjuA4aYkcKCNIEqRGCyTife9R8/g==}
    -    dev: true
    +  loglevel-plugin-prefix@0.8.4: {}
     
    -  /loglevel@1.9.1:
    -    resolution: {integrity: sha512-hP3I3kCrDIMuRwAwHltphhDM1r8i55H33GgqjXbrisuJhF4kRhW1dNuxsRklp4bXl8DSdLaNLuiL4A/LWRfxvg==}
    -    engines: {node: '>= 0.6.0'}
    -    dev: true
    +  loglevel@1.9.1: {}
     
    -  /longest-streak@3.1.0:
    -    resolution: {integrity: sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g==}
    -    dev: true
    +  longest-streak@3.1.0: {}
     
    -  /loupe@2.3.7:
    -    resolution: {integrity: sha512-zSMINGVYkdpYSOBmLi0D1Uo7JU9nVdQKrHxC8eYlV+9YKK9WePqAlL7lSlorG/U2Fw1w0hTBmaa/jrQ3UbPHtA==}
    +  loupe@2.3.7:
         dependencies:
           get-func-name: 2.0.2
    -    dev: true
     
    -  /lowercase-keys@2.0.0:
    -    resolution: {integrity: sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==}
    -    engines: {node: '>=8'}
    -    dev: true
    +  lowercase-keys@2.0.0: {}
     
    -  /lru-cache@10.2.2:
    -    resolution: {integrity: sha512-9hp3Vp2/hFQUiIwKo8XCeFVnrg8Pk3TYNPIR7tJADKi5YfcF7vEaK7avFHTlSy3kOKYaJQaalfEo6YuXdceBOQ==}
    -    engines: {node: 14 || >=16.14}
    +  lru-cache@10.2.1: {}
     
    -  /lru-cache@5.1.1:
    -    resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==}
    +  lru-cache@5.1.1:
         dependencies:
           yallist: 3.1.1
    -    dev: true
     
    -  /lru-cache@6.0.0:
    -    resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==}
    -    engines: {node: '>=10'}
    +  lru-cache@6.0.0:
         dependencies:
           yallist: 4.0.0
    -    dev: true
     
    -  /lru-queue@0.1.0:
    -    resolution: {integrity: sha512-BpdYkt9EvGl8OfWHDQPISVpcl5xZthb+XPsbELj5AQXxIC8IriDZIQYjBJPEm5rS420sjZ0TLEzRcq5KdBhYrQ==}
    +  lru-queue@0.1.0:
         dependencies:
           es5-ext: 0.10.64
    -    dev: true
     
    -  /lunr@2.3.9:
    -    resolution: {integrity: sha512-zTU3DaZaF3Rt9rhN3uBMGQD3dD2/vFQqnvZCDv4dl5iOzq2IZQqTxu90r4E5J+nP70J3ilqVCrbho2eWaeW8Ow==}
    -    dev: true
    +  lunr@2.3.9: {}
     
    -  /magic-string@0.25.9:
    -    resolution: {integrity: sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==}
    +  magic-string@0.25.9:
         dependencies:
           sourcemap-codec: 1.4.8
    -    dev: true
     
    -  /magic-string@0.30.10:
    -    resolution: {integrity: sha512-iIRwTIf0QKV3UAnYK4PU8uiEc4SRh5jX0mwpIwETPpHdhVM4f53RSwS/vXvN1JhGX+Cs7B8qIq3d6AH49O5fAQ==}
    +  magic-string@0.30.10:
         dependencies:
           '@jridgewell/sourcemap-codec': 1.4.15
     
    -  /magic-string@0.30.5:
    -    resolution: {integrity: sha512-7xlpfBaQaP/T6Vh8MO/EqXSW5En6INHEvEXQiuff7Gku0PWjU3uf6w/j9o7O+SpB5fOAkrI5HeoNgwjEO0pFsA==}
    -    engines: {node: '>=12'}
    +  magic-string@0.30.5:
         dependencies:
           '@jridgewell/sourcemap-codec': 1.4.15
    -    dev: true
     
    -  /magicast@0.3.4:
    -    resolution: {integrity: sha512-TyDF/Pn36bBji9rWKHlZe+PZb6Mx5V8IHCSxk7X4aljM4e/vyDvZZYwHewdVaqiA0nb3ghfHU/6AUpDxWoER2Q==}
    +  magicast@0.3.4:
         dependencies:
           '@babel/parser': 7.24.5
           '@babel/types': 7.24.5
           source-map-js: 1.2.0
    -    dev: true
     
    -  /make-dir@3.1.0:
    -    resolution: {integrity: sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==}
    -    engines: {node: '>=8'}
    +  make-dir@3.1.0:
         dependencies:
           semver: 6.3.1
    -    dev: true
     
    -  /make-dir@4.0.0:
    -    resolution: {integrity: sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==}
    -    engines: {node: '>=10'}
    +  make-dir@4.0.0:
         dependencies:
    -      semver: 7.6.2
    -    dev: true
    +      semver: 7.6.0
     
    -  /makeerror@1.0.12:
    -    resolution: {integrity: sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==}
    +  makeerror@1.0.12:
         dependencies:
           tmpl: 1.0.5
    -    dev: true
     
    -  /map-stream@0.1.0:
    -    resolution: {integrity: sha512-CkYQrPYZfWnu/DAmVCpTSX/xHpKZ80eKh2lAkyA6AJTef6bW+6JpbQZN5rofum7da+SyN1bi5ctTm+lTfcCW3g==}
    -    dev: true
    +  map-stream@0.1.0: {}
     
    -  /mark.js@8.11.1:
    -    resolution: {integrity: sha512-1I+1qpDt4idfgLQG+BNWmrqku+7/2bi5nLf4YwF8y8zXvmfiTBY3PV3ZibfrjBueCByROpuBjLLFCajqkgYoLQ==}
    -    dev: true
    +  mark.js@8.11.1: {}
     
    -  /markdown-it@13.0.1:
    -    resolution: {integrity: sha512-lTlxriVoy2criHP0JKRhO2VDG9c2ypWCsT237eDiLqi09rmbKoUetyGHq2uOIRoRS//kfoJckS0eUzzkDR+k2Q==}
    -    hasBin: true
    +  markdown-it@13.0.1:
         dependencies:
           argparse: 2.0.1
           entities: 3.0.1
           linkify-it: 4.0.1
           mdurl: 1.0.1
           uc.micro: 1.0.6
    -    dev: true
     
    -  /markdown-table@3.0.3:
    -    resolution: {integrity: sha512-Z1NL3Tb1M9wH4XESsCDEksWoKTdlUafKc4pt0GRwjUyXaCFZ+dc3g2erqB6zm3szA2IUSi7VnPI+o/9jnxh9hw==}
    -    dev: true
    +  markdown-table@3.0.3: {}
     
    -  /marked@4.3.0:
    -    resolution: {integrity: sha512-PRsaiG84bK+AMvxziE/lCFss8juXjNaWzVbN5tXAm4XjeaS9NAHhop+PjQxz2A9h8Q4M/xGmzP8vqNwy6JeK0A==}
    -    engines: {node: '>= 12'}
    -    hasBin: true
    +  marked@4.3.0: {}
     
    -  /mdast-builder@1.1.1:
    -    resolution: {integrity: sha512-a3KBk/LmYD6wKsWi8WJrGU/rXR4yuF4Men0JO0z6dSZCm5FrXXWTRDjqK0vGSqa+1M6p9edeuypZAZAzSehTUw==}
    +  mdast-builder@1.1.1:
         dependencies:
           '@types/unist': 2.0.10
    -    dev: true
     
    -  /mdast-util-find-and-replace@3.0.1:
    -    resolution: {integrity: sha512-SG21kZHGC3XRTSUhtofZkBzZTJNM5ecCi0SK2IMKmSXR8vO3peL+kb1O0z7Zl83jKtutG4k5Wv/W7V3/YHvzPA==}
    +  mdast-util-find-and-replace@3.0.1:
         dependencies:
           '@types/mdast': 4.0.3
           escape-string-regexp: 5.0.0
           unist-util-is: 6.0.0
           unist-util-visit-parents: 6.0.1
    -    dev: true
     
    -  /mdast-util-from-markdown@0.8.5:
    -    resolution: {integrity: sha512-2hkTXtYYnr+NubD/g6KGBS/0mFmBcifAsI0yIWRiRo0PjVs6SSOSOdtzbp6kSGnShDN6G5aWZpKQ2lWRy27mWQ==}
    +  mdast-util-from-markdown@0.8.5:
         dependencies:
           '@types/mdast': 3.0.15
           mdast-util-to-string: 2.0.0
    @@ -11834,12 +16140,10 @@ packages:
           unist-util-stringify-position: 2.0.3
         transitivePeerDependencies:
           - supports-color
    -    dev: true
     
    -  /mdast-util-from-markdown@2.0.0:
    -    resolution: {integrity: sha512-n7MTOr/z+8NAX/wmhhDji8O3bRvPTV/U0oTCaZJkjhPSKTPhS3xufVhKGF8s1pJ7Ox4QgoIU7KHseh09S+9rTA==}
    +  mdast-util-from-markdown@2.0.0:
         dependencies:
    -      '@types/mdast': 4.0.4
    +      '@types/mdast': 4.0.3
           '@types/unist': 3.0.2
           decode-named-character-reference: 1.0.2
           devlop: 1.1.0
    @@ -11854,8 +16158,7 @@ packages:
         transitivePeerDependencies:
           - supports-color
     
    -  /mdast-util-frontmatter@2.0.1:
    -    resolution: {integrity: sha512-LRqI9+wdgC25P0URIJY9vwocIzCcksduHQ9OF2joxQoyTNVduwLAFUzjoopuRJbJAReaKrNQKAZKL3uCMugWJA==}
    +  mdast-util-frontmatter@2.0.1:
         dependencies:
           '@types/mdast': 4.0.3
           devlop: 1.1.0
    @@ -11865,20 +16168,16 @@ packages:
           micromark-extension-frontmatter: 2.0.0
         transitivePeerDependencies:
           - supports-color
    -    dev: true
     
    -  /mdast-util-gfm-autolink-literal@2.0.0:
    -    resolution: {integrity: sha512-FyzMsduZZHSc3i0Px3PQcBT4WJY/X/RCtEJKuybiC6sjPqLv7h1yqAkmILZtuxMSsUyaLUWNp71+vQH2zqp5cg==}
    +  mdast-util-gfm-autolink-literal@2.0.0:
         dependencies:
           '@types/mdast': 4.0.3
           ccount: 2.0.1
           devlop: 1.1.0
           mdast-util-find-and-replace: 3.0.1
           micromark-util-character: 2.1.0
    -    dev: true
     
    -  /mdast-util-gfm-footnote@2.0.0:
    -    resolution: {integrity: sha512-5jOT2boTSVkMnQ7LTrd6n/18kqwjmuYqo7JUPe+tRCY6O7dAuTFMtTPauYYrMPpox9hlN0uOx/FL8XvEfG9/mQ==}
    +  mdast-util-gfm-footnote@2.0.0:
         dependencies:
           '@types/mdast': 4.0.3
           devlop: 1.1.0
    @@ -11887,20 +16186,16 @@ packages:
           micromark-util-normalize-identifier: 2.0.0
         transitivePeerDependencies:
           - supports-color
    -    dev: true
     
    -  /mdast-util-gfm-strikethrough@2.0.0:
    -    resolution: {integrity: sha512-mKKb915TF+OC5ptj5bJ7WFRPdYtuHv0yTRxK2tJvi+BDqbkiG7h7u/9SI89nRAYcmap2xHQL9D+QG/6wSrTtXg==}
    +  mdast-util-gfm-strikethrough@2.0.0:
         dependencies:
           '@types/mdast': 4.0.3
           mdast-util-from-markdown: 2.0.0
           mdast-util-to-markdown: 2.1.0
         transitivePeerDependencies:
           - supports-color
    -    dev: true
     
    -  /mdast-util-gfm-table@2.0.0:
    -    resolution: {integrity: sha512-78UEvebzz/rJIxLvE7ZtDd/vIQ0RHv+3Mh5DR96p7cS7HsBhYIICDBCu8csTNWNO6tBWfqXPWekRuj2FNOGOZg==}
    +  mdast-util-gfm-table@2.0.0:
         dependencies:
           '@types/mdast': 4.0.3
           devlop: 1.1.0
    @@ -11909,10 +16204,8 @@ packages:
           mdast-util-to-markdown: 2.1.0
         transitivePeerDependencies:
           - supports-color
    -    dev: true
     
    -  /mdast-util-gfm-task-list-item@2.0.0:
    -    resolution: {integrity: sha512-IrtvNvjxC1o06taBAVJznEnkiHxLFTzgonUdy8hzFVeDun0uTjxxrRGVaNFqkU1wJR3RBPEfsxmU6jDWPofrTQ==}
    +  mdast-util-gfm-task-list-item@2.0.0:
         dependencies:
           '@types/mdast': 4.0.3
           devlop: 1.1.0
    @@ -11920,10 +16213,8 @@ packages:
           mdast-util-to-markdown: 2.1.0
         transitivePeerDependencies:
           - supports-color
    -    dev: true
     
    -  /mdast-util-gfm@3.0.0:
    -    resolution: {integrity: sha512-dgQEX5Amaq+DuUqf26jJqSK9qgixgd6rYDHAv4aTBuA92cTknZlKpPfa86Z/s8Dj8xsAQpFfBmPUHWJBWqS4Bw==}
    +  mdast-util-gfm@3.0.0:
         dependencies:
           mdast-util-from-markdown: 2.0.0
           mdast-util-gfm-autolink-literal: 2.0.0
    @@ -11934,17 +16225,13 @@ packages:
           mdast-util-to-markdown: 2.1.0
         transitivePeerDependencies:
           - supports-color
    -    dev: true
     
    -  /mdast-util-phrasing@4.1.0:
    -    resolution: {integrity: sha512-TqICwyvJJpBwvGAMZjj4J2n0X8QWp21b9l0o7eXyVJ25YNWYbJDVIyD1bZXE6WtV6RmKJVYmQAKWa0zWOABz2w==}
    +  mdast-util-phrasing@4.1.0:
         dependencies:
           '@types/mdast': 4.0.3
           unist-util-is: 6.0.0
    -    dev: true
     
    -  /mdast-util-to-markdown@2.1.0:
    -    resolution: {integrity: sha512-SR2VnIEdVNCJbP6y7kVTJgPLifdr8WEU440fQec7qHoHOUz/oJ2jmNRqdDQ3rbiStOXb2mCDGTuwsK5OPUgYlQ==}
    +  mdast-util-to-markdown@2.1.0:
         dependencies:
           '@types/mdast': 4.0.3
           '@types/unist': 3.0.2
    @@ -11954,43 +16241,26 @@ packages:
           micromark-util-decode-string: 2.0.0
           unist-util-visit: 5.0.0
           zwitch: 2.0.4
    -    dev: true
     
    -  /mdast-util-to-string@2.0.0:
    -    resolution: {integrity: sha512-AW4DRS3QbBayY/jJmD8437V1Gombjf8RSOUCMFBuo5iHi58AGEgVCKQ+ezHkZZDpAQS75hcBMpLqjpJTjtUL7w==}
    -    dev: true
    +  mdast-util-to-string@2.0.0: {}
     
    -  /mdast-util-to-string@4.0.0:
    -    resolution: {integrity: sha512-0H44vDimn51F0YwvxSJSm0eCDOJTRlmN0R1yBh4HLj9wiV1Dn0QoXGbvFAWj2hSItVTlCmBF1hqKlIyUBVFLPg==}
    +  mdast-util-to-string@4.0.0:
         dependencies:
           '@types/mdast': 4.0.3
     
    -  /mdn-data@2.0.30:
    -    resolution: {integrity: sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==}
    -    dev: true
    +  mdn-data@2.0.30: {}
     
    -  /mdn-data@2.1.0:
    -    resolution: {integrity: sha512-dbAWH6A+2NGuVJlQFrTKHJc07Vqn5frnhyTOGz+7BsK7V2hHdoBcwoiyV3QVhLHYpM/zqe2OSUn5ZWbVXLBB8A==}
    -    dev: true
    +  mdn-data@2.1.0: {}
     
    -  /mdurl@1.0.1:
    -    resolution: {integrity: sha512-/sKlQJCBYVY9Ers9hqzKou4H6V5UWc/M59TH2dvkt+84itfnq7uFOMLpOiOS4ujvHP4etln18fmIxA5R5fll0g==}
    -    dev: true
    +  mdurl@1.0.1: {}
     
    -  /media-typer@0.3.0:
    -    resolution: {integrity: sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==}
    -    engines: {node: '>= 0.6'}
    -    dev: true
    +  media-typer@0.3.0: {}
     
    -  /memfs@3.5.3:
    -    resolution: {integrity: sha512-UERzLsxzllchadvbPs5aolHh65ISpKpM+ccLbOJ8/vvpBKmAWf+la7dXFy7Mr0ySHbdHrFv5kGFCUHHe6GFEmw==}
    -    engines: {node: '>= 4.0.0'}
    +  memfs@3.5.3:
         dependencies:
           fs-monkey: 1.0.4
    -    dev: true
     
    -  /memoizee@0.4.15:
    -    resolution: {integrity: sha512-UBWmJpLZd5STPm7PMUlOw/TSy972M+z8gcyQ5veOnSDRREz/0bmpyTfKt3/51DhEBqCZQn1udM/5flcSPYhkdQ==}
    +  memoizee@0.4.15:
         dependencies:
           d: 1.0.2
           es5-ext: 0.10.64
    @@ -12000,32 +16270,18 @@ packages:
           lru-queue: 0.1.0
           next-tick: 1.1.0
           timers-ext: 0.1.7
    -    dev: true
     
    -  /meow@12.1.1:
    -    resolution: {integrity: sha512-BhXM0Au22RwUneMPwSCnyhTOizdWoIEPU9sp0Aqa1PnDMR5Wv2FGXYDjuzJEIX+Eo2Rb8xuYe5jrnm5QowQFkw==}
    -    engines: {node: '>=16.10'}
    -    dev: true
    +  meow@12.1.1: {}
     
    -  /merge-descriptors@1.0.1:
    -    resolution: {integrity: sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==}
    -    dev: true
    +  merge-descriptors@1.0.1: {}
     
    -  /merge-stream@2.0.0:
    -    resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==}
    -    dev: true
    +  merge-stream@2.0.0: {}
     
    -  /merge2@1.4.1:
    -    resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==}
    -    engines: {node: '>= 8'}
    +  merge2@1.4.1: {}
     
    -  /methods@1.1.2:
    -    resolution: {integrity: sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==}
    -    engines: {node: '>= 0.6'}
    -    dev: true
    +  methods@1.1.2: {}
     
    -  /micromark-core-commonmark@2.0.0:
    -    resolution: {integrity: sha512-jThOz/pVmAYUtkroV3D5c1osFXAMv9e0ypGDOIZuCeAe91/sD6BoE2Sjzt30yuXtwOYUmySOhMas/PVyh02itA==}
    +  micromark-core-commonmark@2.0.0:
         dependencies:
           decode-named-character-reference: 1.0.2
           devlop: 1.1.0
    @@ -12044,26 +16300,21 @@ packages:
           micromark-util-symbol: 2.0.0
           micromark-util-types: 2.0.0
     
    -  /micromark-extension-frontmatter@2.0.0:
    -    resolution: {integrity: sha512-C4AkuM3dA58cgZha7zVnuVxBhDsbttIMiytjgsM2XbHAB2faRVaHRle40558FBN+DJcrLNCoqG5mlrpdU4cRtg==}
    +  micromark-extension-frontmatter@2.0.0:
         dependencies:
           fault: 2.0.1
           micromark-util-character: 2.1.0
           micromark-util-symbol: 2.0.0
           micromark-util-types: 2.0.0
    -    dev: true
     
    -  /micromark-extension-gfm-autolink-literal@2.0.0:
    -    resolution: {integrity: sha512-rTHfnpt/Q7dEAK1Y5ii0W8bhfJlVJFnJMHIPisfPK3gpVNuOP0VnRl96+YJ3RYWV/P4gFeQoGKNlT3RhuvpqAg==}
    +  micromark-extension-gfm-autolink-literal@2.0.0:
         dependencies:
           micromark-util-character: 2.1.0
           micromark-util-sanitize-uri: 2.0.0
           micromark-util-symbol: 2.0.0
           micromark-util-types: 2.0.0
    -    dev: true
     
    -  /micromark-extension-gfm-footnote@2.0.0:
    -    resolution: {integrity: sha512-6Rzu0CYRKDv3BfLAUnZsSlzx3ak6HAoI85KTiijuKIz5UxZxbUI+pD6oHgw+6UtQuiRwnGRhzMmPRv4smcz0fg==}
    +  micromark-extension-gfm-footnote@2.0.0:
         dependencies:
           devlop: 1.1.0
           micromark-core-commonmark: 2.0.0
    @@ -12073,10 +16324,8 @@ packages:
           micromark-util-sanitize-uri: 2.0.0
           micromark-util-symbol: 2.0.0
           micromark-util-types: 2.0.0
    -    dev: true
     
    -  /micromark-extension-gfm-strikethrough@2.0.0:
    -    resolution: {integrity: sha512-c3BR1ClMp5fxxmwP6AoOY2fXO9U8uFMKs4ADD66ahLTNcwzSCyRVU4k7LPV5Nxo/VJiR4TdzxRQY2v3qIUceCw==}
    +  micromark-extension-gfm-strikethrough@2.0.0:
         dependencies:
           devlop: 1.1.0
           micromark-util-chunked: 2.0.0
    @@ -12084,36 +16333,28 @@ packages:
           micromark-util-resolve-all: 2.0.0
           micromark-util-symbol: 2.0.0
           micromark-util-types: 2.0.0
    -    dev: true
     
    -  /micromark-extension-gfm-table@2.0.0:
    -    resolution: {integrity: sha512-PoHlhypg1ItIucOaHmKE8fbin3vTLpDOUg8KAr8gRCF1MOZI9Nquq2i/44wFvviM4WuxJzc3demT8Y3dkfvYrw==}
    +  micromark-extension-gfm-table@2.0.0:
         dependencies:
           devlop: 1.1.0
           micromark-factory-space: 2.0.0
           micromark-util-character: 2.1.0
           micromark-util-symbol: 2.0.0
           micromark-util-types: 2.0.0
    -    dev: true
     
    -  /micromark-extension-gfm-tagfilter@2.0.0:
    -    resolution: {integrity: sha512-xHlTOmuCSotIA8TW1mDIM6X2O1SiX5P9IuDtqGonFhEK0qgRI4yeC6vMxEV2dgyr2TiD+2PQ10o+cOhdVAcwfg==}
    +  micromark-extension-gfm-tagfilter@2.0.0:
         dependencies:
           micromark-util-types: 2.0.0
    -    dev: true
     
    -  /micromark-extension-gfm-task-list-item@2.0.1:
    -    resolution: {integrity: sha512-cY5PzGcnULaN5O7T+cOzfMoHjBW7j+T9D2sucA5d/KbsBTPcYdebm9zUd9zzdgJGCwahV+/W78Z3nbulBYVbTw==}
    +  micromark-extension-gfm-task-list-item@2.0.1:
         dependencies:
           devlop: 1.1.0
           micromark-factory-space: 2.0.0
           micromark-util-character: 2.1.0
           micromark-util-symbol: 2.0.0
           micromark-util-types: 2.0.0
    -    dev: true
     
    -  /micromark-extension-gfm@3.0.0:
    -    resolution: {integrity: sha512-vsKArQsicm7t0z2GugkCKtZehqUm31oeGBV/KVSorWSy8ZlNAv7ytjFhvaryUiCUJYqs+NoE6AFhpQvBTM6Q4w==}
    +  micromark-extension-gfm@3.0.0:
         dependencies:
           micromark-extension-gfm-autolink-literal: 2.0.0
           micromark-extension-gfm-footnote: 2.0.0
    @@ -12123,130 +16364,107 @@ packages:
           micromark-extension-gfm-task-list-item: 2.0.1
           micromark-util-combine-extensions: 2.0.0
           micromark-util-types: 2.0.0
    -    dev: true
     
    -  /micromark-factory-destination@2.0.0:
    -    resolution: {integrity: sha512-j9DGrQLm/Uhl2tCzcbLhy5kXsgkHUrjJHg4fFAeoMRwJmJerT9aw4FEhIbZStWN8A3qMwOp1uzHr4UL8AInxtA==}
    +  micromark-factory-destination@2.0.0:
         dependencies:
           micromark-util-character: 2.1.0
           micromark-util-symbol: 2.0.0
           micromark-util-types: 2.0.0
     
    -  /micromark-factory-label@2.0.0:
    -    resolution: {integrity: sha512-RR3i96ohZGde//4WSe/dJsxOX6vxIg9TimLAS3i4EhBAFx8Sm5SmqVfR8E87DPSR31nEAjZfbt91OMZWcNgdZw==}
    +  micromark-factory-label@2.0.0:
         dependencies:
           devlop: 1.1.0
           micromark-util-character: 2.1.0
           micromark-util-symbol: 2.0.0
           micromark-util-types: 2.0.0
     
    -  /micromark-factory-space@2.0.0:
    -    resolution: {integrity: sha512-TKr+LIDX2pkBJXFLzpyPyljzYK3MtmllMUMODTQJIUfDGncESaqB90db9IAUcz4AZAJFdd8U9zOp9ty1458rxg==}
    +  micromark-factory-space@2.0.0:
         dependencies:
           micromark-util-character: 2.1.0
           micromark-util-types: 2.0.0
     
    -  /micromark-factory-title@2.0.0:
    -    resolution: {integrity: sha512-jY8CSxmpWLOxS+t8W+FG3Xigc0RDQA9bKMY/EwILvsesiRniiVMejYTE4wumNc2f4UbAa4WsHqe3J1QS1sli+A==}
    +  micromark-factory-title@2.0.0:
         dependencies:
           micromark-factory-space: 2.0.0
           micromark-util-character: 2.1.0
           micromark-util-symbol: 2.0.0
           micromark-util-types: 2.0.0
     
    -  /micromark-factory-whitespace@2.0.0:
    -    resolution: {integrity: sha512-28kbwaBjc5yAI1XadbdPYHX/eDnqaUFVikLwrO7FDnKG7lpgxnvk/XGRhX/PN0mOZ+dBSZ+LgunHS+6tYQAzhA==}
    +  micromark-factory-whitespace@2.0.0:
         dependencies:
           micromark-factory-space: 2.0.0
           micromark-util-character: 2.1.0
           micromark-util-symbol: 2.0.0
           micromark-util-types: 2.0.0
     
    -  /micromark-util-character@2.1.0:
    -    resolution: {integrity: sha512-KvOVV+X1yLBfs9dCBSopq/+G1PcgT3lAK07mC4BzXi5E7ahzMAF8oIupDDJ6mievI6F+lAATkbQQlQixJfT3aQ==}
    +  micromark-util-character@2.1.0:
         dependencies:
           micromark-util-symbol: 2.0.0
           micromark-util-types: 2.0.0
     
    -  /micromark-util-chunked@2.0.0:
    -    resolution: {integrity: sha512-anK8SWmNphkXdaKgz5hJvGa7l00qmcaUQoMYsBwDlSKFKjc6gjGXPDw3FNL3Nbwq5L8gE+RCbGqTw49FK5Qyvg==}
    +  micromark-util-chunked@2.0.0:
         dependencies:
           micromark-util-symbol: 2.0.0
     
    -  /micromark-util-classify-character@2.0.0:
    -    resolution: {integrity: sha512-S0ze2R9GH+fu41FA7pbSqNWObo/kzwf8rN/+IGlW/4tC6oACOs8B++bh+i9bVyNnwCcuksbFwsBme5OCKXCwIw==}
    +  micromark-util-classify-character@2.0.0:
         dependencies:
           micromark-util-character: 2.1.0
           micromark-util-symbol: 2.0.0
           micromark-util-types: 2.0.0
     
    -  /micromark-util-combine-extensions@2.0.0:
    -    resolution: {integrity: sha512-vZZio48k7ON0fVS3CUgFatWHoKbbLTK/rT7pzpJ4Bjp5JjkZeasRfrS9wsBdDJK2cJLHMckXZdzPSSr1B8a4oQ==}
    +  micromark-util-combine-extensions@2.0.0:
         dependencies:
           micromark-util-chunked: 2.0.0
           micromark-util-types: 2.0.0
     
    -  /micromark-util-decode-numeric-character-reference@2.0.1:
    -    resolution: {integrity: sha512-bmkNc7z8Wn6kgjZmVHOX3SowGmVdhYS7yBpMnuMnPzDq/6xwVA604DuOXMZTO1lvq01g+Adfa0pE2UKGlxL1XQ==}
    +  micromark-util-decode-numeric-character-reference@2.0.1:
         dependencies:
           micromark-util-symbol: 2.0.0
     
    -  /micromark-util-decode-string@2.0.0:
    -    resolution: {integrity: sha512-r4Sc6leeUTn3P6gk20aFMj2ntPwn6qpDZqWvYmAG6NgvFTIlj4WtrAudLi65qYoaGdXYViXYw2pkmn7QnIFasA==}
    +  micromark-util-decode-string@2.0.0:
         dependencies:
           decode-named-character-reference: 1.0.2
           micromark-util-character: 2.1.0
           micromark-util-decode-numeric-character-reference: 2.0.1
           micromark-util-symbol: 2.0.0
     
    -  /micromark-util-encode@2.0.0:
    -    resolution: {integrity: sha512-pS+ROfCXAGLWCOc8egcBvT0kf27GoWMqtdarNfDcjb6YLuV5cM3ioG45Ys2qOVqeqSbjaKg72vU+Wby3eddPsA==}
    +  micromark-util-encode@2.0.0: {}
     
    -  /micromark-util-html-tag-name@2.0.0:
    -    resolution: {integrity: sha512-xNn4Pqkj2puRhKdKTm8t1YHC/BAjx6CEwRFXntTaRf/x16aqka6ouVoutm+QdkISTlT7e2zU7U4ZdlDLJd2Mcw==}
    +  micromark-util-html-tag-name@2.0.0: {}
     
    -  /micromark-util-normalize-identifier@2.0.0:
    -    resolution: {integrity: sha512-2xhYT0sfo85FMrUPtHcPo2rrp1lwbDEEzpx7jiH2xXJLqBuy4H0GgXk5ToU8IEwoROtXuL8ND0ttVa4rNqYK3w==}
    +  micromark-util-normalize-identifier@2.0.0:
         dependencies:
           micromark-util-symbol: 2.0.0
     
    -  /micromark-util-resolve-all@2.0.0:
    -    resolution: {integrity: sha512-6KU6qO7DZ7GJkaCgwBNtplXCvGkJToU86ybBAUdavvgsCiG8lSSvYxr9MhwmQ+udpzywHsl4RpGJsYWG1pDOcA==}
    +  micromark-util-resolve-all@2.0.0:
         dependencies:
           micromark-util-types: 2.0.0
     
    -  /micromark-util-sanitize-uri@2.0.0:
    -    resolution: {integrity: sha512-WhYv5UEcZrbAtlsnPuChHUAsu/iBPOVaEVsntLBIdpibO0ddy8OzavZz3iL2xVvBZOpolujSliP65Kq0/7KIYw==}
    +  micromark-util-sanitize-uri@2.0.0:
         dependencies:
           micromark-util-character: 2.1.0
           micromark-util-encode: 2.0.0
           micromark-util-symbol: 2.0.0
     
    -  /micromark-util-subtokenize@2.0.0:
    -    resolution: {integrity: sha512-vc93L1t+gpR3p8jxeVdaYlbV2jTYteDje19rNSS/H5dlhxUYll5Fy6vJ2cDwP8RnsXi818yGty1ayP55y3W6fg==}
    +  micromark-util-subtokenize@2.0.0:
         dependencies:
           devlop: 1.1.0
           micromark-util-chunked: 2.0.0
           micromark-util-symbol: 2.0.0
           micromark-util-types: 2.0.0
     
    -  /micromark-util-symbol@2.0.0:
    -    resolution: {integrity: sha512-8JZt9ElZ5kyTnO94muPxIGS8oyElRJaiJO8EzV6ZSyGQ1Is8xwl4Q45qU5UOg+bGH4AikWziz0iN4sFLWs8PGw==}
    +  micromark-util-symbol@2.0.0: {}
     
    -  /micromark-util-types@2.0.0:
    -    resolution: {integrity: sha512-oNh6S2WMHWRZrmutsRmDDfkzKtxF+bc2VxLC9dvtrDIRFln627VsFP6fLMgTryGDljgLPjkrzQSDcPrjPyDJ5w==}
    +  micromark-util-types@2.0.0: {}
     
    -  /micromark@2.11.4:
    -    resolution: {integrity: sha512-+WoovN/ppKolQOFIAajxi7Lu9kInbPxFuTBVEavFcL8eAfVstoc5MocPmqBeAdBOJV00uaVjegzH4+MA0DN/uA==}
    +  micromark@2.11.4:
         dependencies:
           debug: 4.3.4(supports-color@8.1.1)
           parse-entities: 2.0.0
         transitivePeerDependencies:
           - supports-color
    -    dev: true
     
    -  /micromark@4.0.0:
    -    resolution: {integrity: sha512-o/sd0nMof8kYff+TqcDx3VSrgBTcZpSvYcAHIfHhv5VAuNmisCxjhx6YmxS8PFEpb9z5WKWKPdzf0jM23ro3RQ==}
    +  micromark@4.0.0:
         dependencies:
           '@types/debug': 4.1.12
           debug: 4.3.4(supports-color@8.1.1)
    @@ -12268,295 +16486,160 @@ packages:
         transitivePeerDependencies:
           - supports-color
     
    -  /micromatch@4.0.5:
    -    resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==}
    -    engines: {node: '>=8.6'}
    +  micromatch@4.0.5:
         dependencies:
           braces: 3.0.2
           picomatch: 2.3.1
     
    -  /mime-db@1.52.0:
    -    resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==}
    -    engines: {node: '>= 0.6'}
    -    dev: true
    +  mime-db@1.52.0: {}
     
    -  /mime-types@2.1.35:
    -    resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==}
    -    engines: {node: '>= 0.6'}
    +  mime-types@2.1.35:
         dependencies:
           mime-db: 1.52.0
    -    dev: true
     
    -  /mime@1.6.0:
    -    resolution: {integrity: sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==}
    -    engines: {node: '>=4'}
    -    hasBin: true
    -    dev: true
    +  mime@1.6.0: {}
     
    -  /mimic-fn@2.1.0:
    -    resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==}
    -    engines: {node: '>=6'}
    -    dev: true
    +  mimic-fn@2.1.0: {}
     
    -  /mimic-fn@4.0.0:
    -    resolution: {integrity: sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==}
    -    engines: {node: '>=12'}
    -    dev: true
    +  mimic-fn@4.0.0: {}
     
    -  /mimic-response@1.0.1:
    -    resolution: {integrity: sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==}
    -    engines: {node: '>=4'}
    -    dev: true
    +  mimic-response@1.0.1: {}
     
    -  /mimic-response@3.1.0:
    -    resolution: {integrity: sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==}
    -    engines: {node: '>=10'}
    -    dev: true
    +  mimic-response@3.1.0: {}
     
    -  /min-indent@1.0.1:
    -    resolution: {integrity: sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==}
    -    engines: {node: '>=4'}
    -    dev: true
    +  min-indent@1.0.1: {}
     
    -  /minimalistic-assert@1.0.1:
    -    resolution: {integrity: sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==}
    -    dev: true
    +  minimalistic-assert@1.0.1: {}
     
    -  /minimatch@3.1.2:
    -    resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==}
    +  minimatch@3.1.2:
         dependencies:
           brace-expansion: 1.1.11
    -    dev: true
     
    -  /minimatch@5.1.6:
    -    resolution: {integrity: sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==}
    -    engines: {node: '>=10'}
    +  minimatch@5.1.6:
         dependencies:
           brace-expansion: 2.0.1
    -    dev: true
     
    -  /minimatch@9.0.3:
    -    resolution: {integrity: sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==}
    -    engines: {node: '>=16 || 14 >=14.17'}
    +  minimatch@9.0.3:
         dependencies:
           brace-expansion: 2.0.1
    -    dev: true
     
    -  /minimatch@9.0.4:
    -    resolution: {integrity: sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw==}
    -    engines: {node: '>=16 || 14 >=14.17'}
    +  minimatch@9.0.4:
         dependencies:
           brace-expansion: 2.0.1
     
    -  /minimist@1.2.8:
    -    resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==}
    -    dev: true
    +  minimist@1.2.8: {}
     
    -  /minipass@7.1.1:
    -    resolution: {integrity: sha512-UZ7eQ+h8ywIRAW1hIEl2AqdwzJucU/Kp59+8kkZeSvafXhZjul247BvIJjEVFVeON6d7lM46XX1HXCduKAS8VA==}
    -    engines: {node: '>=16 || 14 >=14.17'}
    +  minipass@7.0.4: {}
     
    -  /minisearch@6.3.0:
    -    resolution: {integrity: sha512-ihFnidEeU8iXzcVHy74dhkxh/dn8Dc08ERl0xwoMMGqp4+LvRSCgicb+zGqWthVokQKvCSxITlh3P08OzdTYCQ==}
    -    dev: true
    +  minisearch@6.3.0: {}
     
    -  /mitt@3.0.1:
    -    resolution: {integrity: sha512-vKivATfr97l2/QBCYAkXYDbrIWPM2IIKEl7YPhjCvKlG3kE2gm+uBo6nEXK3M5/Ffh/FLpKExzOQ3JJoJGFKBw==}
    -    dev: true
    +  mitt@3.0.1: {}
     
    -  /mkdirp@0.5.6:
    -    resolution: {integrity: sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==}
    -    hasBin: true
    +  mkdirp@0.5.6:
         dependencies:
           minimist: 1.2.8
    -    dev: true
     
    -  /mkdirp@1.0.4:
    -    resolution: {integrity: sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==}
    -    engines: {node: '>=10'}
    -    hasBin: true
    -    dev: true
    +  mkdirp@1.0.4: {}
     
    -  /mlly@1.6.1:
    -    resolution: {integrity: sha512-vLgaHvaeunuOXHSmEbZ9izxPx3USsk8KCQ8iC+aTlp5sKRSoZvwhHh5L9VbKSaVC6sJDqbyohIS76E2VmHIPAA==}
    +  mlly@1.6.1:
         dependencies:
           acorn: 8.11.3
           pathe: 1.1.2
           pkg-types: 1.1.0
           ufo: 1.5.3
    -    dev: true
     
    -  /mrmime@2.0.0:
    -    resolution: {integrity: sha512-eu38+hdgojoyq63s+yTpN4XMBdt5l8HhMhc4VKLO9KM5caLIBvUm4thi7fFaxyTmCKeNnXZ5pAlBwCUnhA09uw==}
    -    engines: {node: '>=10'}
    -    dev: true
    +  mrmime@2.0.0: {}
     
    -  /ms@2.0.0:
    -    resolution: {integrity: sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==}
    -    dev: true
    +  ms@2.0.0: {}
     
    -  /ms@2.1.2:
    -    resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==}
    +  ms@2.1.2: {}
     
    -  /ms@2.1.3:
    -    resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==}
    -    dev: true
    +  ms@2.1.3: {}
     
    -  /multicast-dns@7.2.5:
    -    resolution: {integrity: sha512-2eznPJP8z2BFLX50tf0LuODrpINqP1RVIm/CObbTcBRITQgmC/TjcREF1NeTBzIcR5XO/ukWo+YHOjBbFwIupg==}
    -    hasBin: true
    +  multicast-dns@7.2.5:
         dependencies:
           dns-packet: 5.6.0
           thunky: 1.1.0
    -    dev: true
     
    -  /mz@2.7.0:
    -    resolution: {integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==}
    +  mz@2.7.0:
         dependencies:
           any-promise: 1.3.0
           object-assign: 4.1.1
           thenify-all: 1.6.0
     
    -  /nanoid@3.3.7:
    -    resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==}
    -    engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1}
    -    hasBin: true
    +  nanoid@3.3.7: {}
     
    -  /natural-compare@1.4.0:
    -    resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==}
    -    dev: true
    +  natural-compare@1.4.0: {}
     
    -  /negotiator@0.6.3:
    -    resolution: {integrity: sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==}
    -    engines: {node: '>= 0.6'}
    -    dev: true
    +  negotiator@0.6.3: {}
     
    -  /neo-async@2.6.2:
    -    resolution: {integrity: sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==}
    -    dev: true
    +  neo-async@2.6.2: {}
     
    -  /nested-error-stacks@2.1.1:
    -    resolution: {integrity: sha512-9iN1ka/9zmX1ZvLV9ewJYEk9h7RyRRtqdK0woXcqohu8EWIerfPUjYJPg0ULy0UqP7cslmdGc8xKDJcojlKiaw==}
    -    dev: true
    +  nested-error-stacks@2.1.1: {}
     
    -  /next-tick@1.1.0:
    -    resolution: {integrity: sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ==}
    -    dev: true
    +  next-tick@1.1.0: {}
     
    -  /nice-try@1.0.5:
    -    resolution: {integrity: sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==}
    -    dev: true
    +  nice-try@1.0.5: {}
     
    -  /node-cleanup@2.1.2:
    -    resolution: {integrity: sha512-qN8v/s2PAJwGUtr1/hYTpNKlD6Y9rc4p8KSmJXyGdYGZsDGKXrGThikLFP9OCHFeLeEpQzPwiAtdIvBLqm//Hw==}
    -    dev: true
    +  node-cleanup@2.1.2: {}
     
    -  /node-domexception@1.0.0:
    -    resolution: {integrity: sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==}
    -    engines: {node: '>=10.5.0'}
    -    dev: true
    +  node-domexception@1.0.0: {}
     
    -  /node-fetch-native@1.6.4:
    -    resolution: {integrity: sha512-IhOigYzAKHd244OC0JIMIUrjzctirCmPkaIfhDeGcEETWof5zKYUW7e7MYvChGWh/4CJeXEgsRyGzuF334rOOQ==}
    -    dev: true
    +  node-fetch-native@1.6.4: {}
     
    -  /node-fetch@2.6.7(encoding@0.1.13):
    -    resolution: {integrity: sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==}
    -    engines: {node: 4.x || >=6.0.0}
    -    peerDependencies:
    -      encoding: ^0.1.0
    -    peerDependenciesMeta:
    -      encoding:
    -        optional: true
    +  node-fetch@2.6.7(encoding@0.1.13):
         dependencies:
    -      encoding: 0.1.13
           whatwg-url: 5.0.0
    -    dev: true
    +    optionalDependencies:
    +      encoding: 0.1.13
     
    -  /node-fetch@3.3.1:
    -    resolution: {integrity: sha512-cRVc/kyto/7E5shrWca1Wsea4y6tL9iYJE5FBCius3JQfb/4P4I295PfhgbJQBLTx6lATE4z+wK0rPM4VS2uow==}
    -    engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
    +  node-fetch@3.3.1:
         dependencies:
           data-uri-to-buffer: 4.0.1
           fetch-blob: 3.2.0
           formdata-polyfill: 4.0.10
    -    dev: true
     
    -  /node-forge@1.3.1:
    -    resolution: {integrity: sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==}
    -    engines: {node: '>= 6.13.0'}
    -    dev: true
    +  node-forge@1.3.1: {}
     
    -  /node-int64@0.4.0:
    -    resolution: {integrity: sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==}
    -    dev: true
    +  node-int64@0.4.0: {}
     
    -  /node-preload@0.2.1:
    -    resolution: {integrity: sha512-RM5oyBy45cLEoHqCeh+MNuFAxO0vTFBLskvQbOKnEE7YTTSN4tbN8QWDIPQ6L+WvKsB/qLEGpYe2ZZ9d4W9OIQ==}
    -    engines: {node: '>=8'}
    +  node-preload@0.2.1:
         dependencies:
           process-on-spawn: 1.0.0
    -    dev: true
     
    -  /node-releases@2.0.14:
    -    resolution: {integrity: sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==}
    -    dev: true
    +  node-releases@2.0.14: {}
     
    -  /nomnom@1.5.2:
    -    resolution: {integrity: sha512-fiVbT7BqxiQqjlR9U3FDGOSERFCKoXVCdxV2FwZuNN7/cmJ42iQx35nUFOAFDcyvemu9Adp+IlsCGlKQYLmBKw==}
    -    deprecated: Package no longer supported. Contact support@npmjs.com for more info.
    +  nomnom@1.5.2:
         dependencies:
           colors: 0.5.1
           underscore: 1.1.7
    -    dev: true
     
    -  /normalize-package-data@2.5.0:
    -    resolution: {integrity: sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==}
    +  normalize-package-data@2.5.0:
         dependencies:
           hosted-git-info: 2.8.9
           resolve: 1.22.8
           semver: 5.7.2
           validate-npm-package-license: 3.0.4
    -    dev: true
     
    -  /normalize-path@3.0.0:
    -    resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==}
    -    engines: {node: '>=0.10.0'}
    +  normalize-path@3.0.0: {}
     
    -  /normalize-url@6.1.0:
    -    resolution: {integrity: sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==}
    -    engines: {node: '>=10'}
    -    dev: true
    +  normalize-url@6.1.0: {}
     
    -  /npm-run-path@2.0.2:
    -    resolution: {integrity: sha512-lJxZYlT4DW/bRUtFh1MQIWqmLwQfAxnqWG4HhEdjMlkrJYnJn0Jrr2u3mgxqaWsdiBc76TYkTG/mhrnYTuzfHw==}
    -    engines: {node: '>=4'}
    +  npm-run-path@2.0.2:
         dependencies:
           path-key: 2.0.1
    -    dev: true
     
    -  /npm-run-path@4.0.1:
    -    resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==}
    -    engines: {node: '>=8'}
    +  npm-run-path@4.0.1:
         dependencies:
           path-key: 3.1.1
    -    dev: true
     
    -  /npm-run-path@5.3.0:
    -    resolution: {integrity: sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==}
    -    engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
    +  npm-run-path@5.3.0:
         dependencies:
           path-key: 4.0.0
    -    dev: true
     
    -  /nwsapi@2.2.7:
    -    resolution: {integrity: sha512-ub5E4+FBPKwAZx0UwIQOjYWGHTEq5sPqHQNRN8Z9e4A7u3Tj1weLJsL59yH9vmvqEtBHaOmT6cYQKIZOxp35FQ==}
    -    dev: true
    +  nwsapi@2.2.7: {}
     
    -  /nyc@15.1.0:
    -    resolution: {integrity: sha512-jMW04n9SxKdKi1ZMGhvUTHBN0EICCRkHemEoE5jm6mTYcqcdas0ATzgUgejlQUHMvpnOZqGB5Xxsv9KxJW1j8A==}
    -    engines: {node: '>=8.9'}
    -    hasBin: true
    +  nyc@15.1.0:
         dependencies:
           '@istanbuljs/load-nyc-config': 1.1.0
           '@istanbuljs/schema': 0.1.3
    @@ -12587,101 +16670,59 @@ packages:
           yargs: 15.4.1
         transitivePeerDependencies:
           - supports-color
    -    dev: true
     
    -  /object-assign@4.1.1:
    -    resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==}
    -    engines: {node: '>=0.10.0'}
    +  object-assign@4.1.1: {}
     
    -  /object-hash@3.0.0:
    -    resolution: {integrity: sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==}
    -    engines: {node: '>= 6'}
    -    dev: false
    +  object-hash@3.0.0: {}
     
    -  /object-inspect@1.13.1:
    -    resolution: {integrity: sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==}
    -    dev: true
    +  object-inspect@1.13.1: {}
     
    -  /object-keys@1.1.1:
    -    resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==}
    -    engines: {node: '>= 0.4'}
    -    dev: true
    +  object-keys@1.1.1: {}
     
    -  /object.assign@4.1.5:
    -    resolution: {integrity: sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ==}
    -    engines: {node: '>= 0.4'}
    +  object.assign@4.1.5:
         dependencies:
           call-bind: 1.0.7
           define-properties: 1.2.1
           has-symbols: 1.0.3
           object-keys: 1.1.1
    -    dev: true
     
    -  /obuf@1.1.2:
    -    resolution: {integrity: sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==}
    -    dev: true
    +  obuf@1.1.2: {}
     
    -  /ofetch@1.3.4:
    -    resolution: {integrity: sha512-KLIET85ik3vhEfS+3fDlc/BAZiAp+43QEC/yCo5zkNoY2YaKvNkOaFr/6wCFgFH1kuYQM5pMNi0Tg8koiIemtw==}
    +  ofetch@1.3.4:
         dependencies:
           destr: 2.0.3
           node-fetch-native: 1.6.4
           ufo: 1.5.3
    -    dev: true
     
    -  /omggif@1.0.10:
    -    resolution: {integrity: sha512-LMJTtvgc/nugXj0Vcrrs68Mn2D1r0zf630VNtqtpI1FEO7e+O9FP4gqs9AcnBaSEeoHIPm28u6qgPR0oyEpGSw==}
    -    dev: true
    +  omggif@1.0.10: {}
     
    -  /on-exit-leak-free@2.1.2:
    -    resolution: {integrity: sha512-0eJJY6hXLGf1udHwfNftBqH+g73EU4B504nZeKpz1sYRKafAghwxEJunB2O7rDZkL4PGfsMVnTXZ2EjibbqcsA==}
    -    engines: {node: '>=14.0.0'}
    -    dev: false
    +  on-exit-leak-free@2.1.2: {}
     
    -  /on-finished@2.4.1:
    -    resolution: {integrity: sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==}
    -    engines: {node: '>= 0.8'}
    +  on-finished@2.4.1:
         dependencies:
           ee-first: 1.1.1
    -    dev: true
     
    -  /on-headers@1.0.2:
    -    resolution: {integrity: sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==}
    -    engines: {node: '>= 0.8'}
    -    dev: true
    +  on-headers@1.0.2: {}
     
    -  /once@1.4.0:
    -    resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==}
    +  once@1.4.0:
         dependencies:
           wrappy: 1.0.2
    -    dev: true
     
    -  /onetime@5.1.2:
    -    resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==}
    -    engines: {node: '>=6'}
    +  onetime@5.1.2:
         dependencies:
           mimic-fn: 2.1.0
    -    dev: true
     
    -  /onetime@6.0.0:
    -    resolution: {integrity: sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==}
    -    engines: {node: '>=12'}
    +  onetime@6.0.0:
         dependencies:
           mimic-fn: 4.0.0
    -    dev: true
     
    -  /open@8.4.2:
    -    resolution: {integrity: sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==}
    -    engines: {node: '>=12'}
    +  open@8.4.2:
         dependencies:
           define-lazy-prop: 2.0.0
           is-docker: 2.2.1
           is-wsl: 2.2.0
    -    dev: true
     
    -  /optionator@0.9.3:
    -    resolution: {integrity: sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==}
    -    engines: {node: '>= 0.8.0'}
    +  optionator@0.9.3:
         dependencies:
           '@aashutoshrathi/word-wrap': 1.2.6
           deep-is: 0.1.4
    @@ -12689,171 +16730,96 @@ packages:
           levn: 0.4.1
           prelude-ls: 1.2.1
           type-check: 0.4.0
    -    dev: true
     
    -  /ospath@1.2.2:
    -    resolution: {integrity: sha512-o6E5qJV5zkAbIDNhGSIlyOhScKXgQrSRMilfph0clDfM0nEnBOlKlH4sWDmG95BW/CvwNz0vmm7dJVtU2KlMiA==}
    -    dev: true
    +  ospath@1.2.2: {}
     
    -  /p-cancelable@2.1.1:
    -    resolution: {integrity: sha512-BZOr3nRQHOntUjTrH8+Lh54smKHoHyur8We1V8DSMVrl5A2malOOwuJRnKRDjSnkoeBh4at6BwEnb5I7Jl31wg==}
    -    engines: {node: '>=8'}
    -    dev: true
    +  p-cancelable@2.1.1: {}
     
    -  /p-event@5.0.1:
    -    resolution: {integrity: sha512-dd589iCQ7m1L0bmC5NLlVYfy3TbBEsMUfWx9PyAgPeIcFZ/E2yaTZ4Rz4MiBmmJShviiftHVXOqfnfzJ6kyMrQ==}
    -    engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
    +  p-event@5.0.1:
         dependencies:
           p-timeout: 5.1.0
    -    dev: true
     
    -  /p-filter@3.0.0:
    -    resolution: {integrity: sha512-QtoWLjXAW++uTX67HZQz1dbTpqBfiidsB6VtQUC9iR85S120+s0T5sO6s+B5MLzFcZkrEd/DGMmCjR+f2Qpxwg==}
    -    engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
    +  p-filter@3.0.0:
         dependencies:
           p-map: 5.5.0
    -    dev: true
     
    -  /p-finally@1.0.0:
    -    resolution: {integrity: sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow==}
    -    engines: {node: '>=4'}
    -    dev: true
    +  p-finally@1.0.0: {}
     
    -  /p-iteration@1.1.8:
    -    resolution: {integrity: sha512-IMFBSDIYcPNnW7uWYGrBqmvTiq7W0uB0fJn6shQZs7dlF3OvrHOre+JT9ikSZ7gZS3vWqclVgoQSvToJrns7uQ==}
    -    engines: {node: '>=8.0.0'}
    -    dev: true
    +  p-iteration@1.1.8: {}
     
    -  /p-limit@2.3.0:
    -    resolution: {integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==}
    -    engines: {node: '>=6'}
    +  p-limit@2.3.0:
         dependencies:
           p-try: 2.2.0
    -    dev: true
     
    -  /p-limit@3.1.0:
    -    resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==}
    -    engines: {node: '>=10'}
    +  p-limit@3.1.0:
         dependencies:
           yocto-queue: 0.1.0
    -    dev: true
     
    -  /p-limit@4.0.0:
    -    resolution: {integrity: sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ==}
    -    engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
    +  p-limit@4.0.0:
         dependencies:
           yocto-queue: 1.0.0
    -    dev: true
     
    -  /p-limit@5.0.0:
    -    resolution: {integrity: sha512-/Eaoq+QyLSiXQ4lyYV23f14mZRQcXnxfHrN0vCai+ak9G0pp9iEQukIIZq5NccEvwRB8PUnZT0KsOoDCINS1qQ==}
    -    engines: {node: '>=18'}
    +  p-limit@5.0.0:
         dependencies:
           yocto-queue: 1.0.0
    -    dev: true
     
    -  /p-locate@3.0.0:
    -    resolution: {integrity: sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==}
    -    engines: {node: '>=6'}
    +  p-locate@3.0.0:
         dependencies:
           p-limit: 2.3.0
    -    dev: true
     
    -  /p-locate@4.1.0:
    -    resolution: {integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==}
    -    engines: {node: '>=8'}
    +  p-locate@4.1.0:
         dependencies:
           p-limit: 2.3.0
    -    dev: true
     
    -  /p-locate@5.0.0:
    -    resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==}
    -    engines: {node: '>=10'}
    +  p-locate@5.0.0:
         dependencies:
           p-limit: 3.1.0
    -    dev: true
     
    -  /p-locate@6.0.0:
    -    resolution: {integrity: sha512-wPrq66Llhl7/4AGC6I+cqxT07LhXvWL08LNXz1fENOw0Ap4sRZZ/gZpTTJ5jpurzzzfS2W/Ge9BY3LgLjCShcw==}
    -    engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
    +  p-locate@6.0.0:
         dependencies:
           p-limit: 4.0.0
    -    dev: true
     
    -  /p-map@3.0.0:
    -    resolution: {integrity: sha512-d3qXVTF/s+W+CdJ5A29wywV2n8CQQYahlgz2bFiA+4eVNJbHJodPZ+/gXwPGh0bOqA+j8S+6+ckmvLGPk1QpxQ==}
    -    engines: {node: '>=8'}
    +  p-map@3.0.0:
         dependencies:
           aggregate-error: 3.1.0
    -    dev: true
     
    -  /p-map@4.0.0:
    -    resolution: {integrity: sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==}
    -    engines: {node: '>=10'}
    +  p-map@4.0.0:
         dependencies:
           aggregate-error: 3.1.0
    -    dev: true
     
    -  /p-map@5.5.0:
    -    resolution: {integrity: sha512-VFqfGDHlx87K66yZrNdI4YGtD70IRyd+zSvgks6mzHPRNkoKy+9EKP4SFC77/vTTQYmRmti7dvqC+m5jBrBAcg==}
    -    engines: {node: '>=12'}
    +  p-map@5.5.0:
         dependencies:
           aggregate-error: 4.0.1
    -    dev: true
     
    -  /p-map@6.0.0:
    -    resolution: {integrity: sha512-T8BatKGY+k5rU+Q/GTYgrEf2r4xRMevAN5mtXc2aPc4rS1j3s+vWTaO2Wag94neXuCAUAs8cxBL9EeB5EA6diw==}
    -    engines: {node: '>=16'}
    -    dev: true
    +  p-map@6.0.0: {}
     
    -  /p-retry@4.6.2:
    -    resolution: {integrity: sha512-312Id396EbJdvRONlngUx0NydfrIQ5lsYu0znKVUzVvArzEIt08V1qhtyESbGVd1FGX7UKtiFp5uwKZdM8wIuQ==}
    -    engines: {node: '>=8'}
    +  p-retry@4.6.2:
         dependencies:
           '@types/retry': 0.12.0
           retry: 0.13.1
    -    dev: true
     
    -  /p-timeout@5.1.0:
    -    resolution: {integrity: sha512-auFDyzzzGZZZdHz3BtET9VEz0SE/uMEAx7uWfGPucfzEwwe/xH0iVeZibQmANYE/hp9T2+UUZT5m+BKyrDp3Ew==}
    -    engines: {node: '>=12'}
    -    dev: true
    +  p-timeout@5.1.0: {}
     
    -  /p-try@2.2.0:
    -    resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==}
    -    engines: {node: '>=6'}
    -    dev: true
    +  p-try@2.2.0: {}
     
    -  /package-hash@4.0.0:
    -    resolution: {integrity: sha512-whdkPIooSu/bASggZ96BWVvZTRMOFxnyUG5PnTSGKoJE2gd5mbVNmR2Nj20QFzxYYgAXpoqC+AiXzl+UMRh7zQ==}
    -    engines: {node: '>=8'}
    +  package-hash@4.0.0:
         dependencies:
           graceful-fs: 4.2.11
           hasha: 5.2.2
           lodash.flattendeep: 4.4.0
           release-zalgo: 1.0.0
    -    dev: true
     
    -  /pako@1.0.11:
    -    resolution: {integrity: sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==}
    -    dev: true
    +  pako@1.0.11: {}
     
    -  /parent-module@1.0.1:
    -    resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==}
    -    engines: {node: '>=6'}
    +  parent-module@1.0.1:
         dependencies:
           callsites: 3.1.0
    -    dev: true
     
    -  /parent-module@2.0.0:
    -    resolution: {integrity: sha512-uo0Z9JJeWzv8BG+tRcapBKNJ0dro9cLyczGzulS6EfeyAdeC9sbojtW6XwvYxJkEne9En+J2XEl4zyglVeIwFg==}
    -    engines: {node: '>=8'}
    +  parent-module@2.0.0:
         dependencies:
           callsites: 3.1.0
    -    dev: true
     
    -  /parse-entities@2.0.0:
    -    resolution: {integrity: sha512-kkywGpCcRYhqQIchaWqZ875wzpS/bMKhz5HnN3p7wveJTkTtyAB/AlnS0f8DFSqYW1T82t6yEAkEcB+A1I3MbQ==}
    +  parse-entities@2.0.0:
         dependencies:
           character-entities: 1.2.4
           character-entities-legacy: 1.1.4
    @@ -12861,152 +16827,86 @@ packages:
           is-alphanumerical: 1.0.4
           is-decimal: 1.0.4
           is-hexadecimal: 1.0.4
    -    dev: true
     
    -  /parse-json@5.2.0:
    -    resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==}
    -    engines: {node: '>=8'}
    +  parse-json@5.2.0:
         dependencies:
           '@babel/code-frame': 7.24.2
           error-ex: 1.3.2
           json-parse-even-better-errors: 2.3.1
           lines-and-columns: 1.2.4
    -    dev: true
     
    -  /parse5@7.1.2:
    -    resolution: {integrity: sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==}
    +  parse5@7.1.2:
         dependencies:
           entities: 4.5.0
    -    dev: true
     
    -  /parseurl@1.3.3:
    -    resolution: {integrity: sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==}
    -    engines: {node: '>= 0.8'}
    -    dev: true
    +  parseurl@1.3.3: {}
     
    -  /path-browserify@1.0.1:
    -    resolution: {integrity: sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==}
    -    dev: true
    +  path-browserify@1.0.1: {}
     
    -  /path-exists@3.0.0:
    -    resolution: {integrity: sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==}
    -    engines: {node: '>=4'}
    -    dev: true
    +  path-exists@3.0.0: {}
     
    -  /path-exists@4.0.0:
    -    resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==}
    -    engines: {node: '>=8'}
    -    dev: true
    +  path-exists@4.0.0: {}
     
    -  /path-exists@5.0.0:
    -    resolution: {integrity: sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ==}
    -    engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
    -    dev: true
    +  path-exists@5.0.0: {}
     
    -  /path-is-absolute@1.0.1:
    -    resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==}
    -    engines: {node: '>=0.10.0'}
    -    dev: true
    +  path-is-absolute@1.0.1: {}
     
    -  /path-key@2.0.1:
    -    resolution: {integrity: sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==}
    -    engines: {node: '>=4'}
    -    dev: true
    +  path-key@2.0.1: {}
     
    -  /path-key@3.1.1:
    -    resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==}
    -    engines: {node: '>=8'}
    +  path-key@3.1.1: {}
     
    -  /path-key@4.0.0:
    -    resolution: {integrity: sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==}
    -    engines: {node: '>=12'}
    -    dev: true
    +  path-key@4.0.0: {}
     
    -  /path-parse@1.0.7:
    -    resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==}
    +  path-parse@1.0.7: {}
     
    -  /path-scurry@1.11.1:
    -    resolution: {integrity: sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==}
    -    engines: {node: '>=16 || 14 >=14.18'}
    +  path-scurry@1.10.1:
         dependencies:
    -      lru-cache: 10.2.2
    -      minipass: 7.1.1
    +      lru-cache: 10.2.1
    +      minipass: 7.0.4
     
    -  /path-to-regexp@0.1.7:
    -    resolution: {integrity: sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==}
    -    dev: true
    +  path-scurry@1.10.2:
    +    dependencies:
    +      lru-cache: 10.2.1
    +      minipass: 7.0.4
     
    -  /path-type@4.0.0:
    -    resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==}
    -    engines: {node: '>=8'}
    -    dev: true
    +  path-to-regexp@0.1.7: {}
     
    -  /path-type@5.0.0:
    -    resolution: {integrity: sha512-5HviZNaZcfqP95rwpv+1HDgUamezbqdSYTyzjTvwtJSnIH+3vnbmWsItli8OFEndS984VT55M3jduxZbX351gg==}
    -    engines: {node: '>=12'}
    -    dev: true
    +  path-type@4.0.0: {}
     
    -  /pathe@1.1.2:
    -    resolution: {integrity: sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==}
    -    dev: true
    +  path-type@5.0.0: {}
     
    -  /pathval@1.1.1:
    -    resolution: {integrity: sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==}
    -    dev: true
    +  pathe@1.1.2: {}
     
    -  /pause-stream@0.0.11:
    -    resolution: {integrity: sha512-e3FBlXLmN/D1S+zHzanP4E/4Z60oFAa3O051qt1pxa7DEJWKAyil6upYVXCWadEnuoqa4Pkc9oUx9zsxYeRv8A==}
    +  pathval@1.1.1: {}
    +
    +  pause-stream@0.0.11:
         dependencies:
           through: 2.3.8
    -    dev: true
     
    -  /pend@1.2.0:
    -    resolution: {integrity: sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==}
    -    dev: true
    +  pend@1.2.0: {}
     
    -  /perfect-debounce@1.0.0:
    -    resolution: {integrity: sha512-xCy9V055GLEqoFaHoC1SoLIaLmWctgCUaBaWxDZ7/Zx4CTyX7cJQLJOok/orfjZAh9kEYpjJa4d0KcJmCbctZA==}
    -    dev: true
    +  perfect-debounce@1.0.0: {}
     
    -  /performance-now@2.1.0:
    -    resolution: {integrity: sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==}
    -    dev: true
    +  performance-now@2.1.0: {}
     
    -  /picocolors@1.0.0:
    -    resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==}
    +  picocolors@1.0.0: {}
     
    -  /picomatch@2.3.1:
    -    resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==}
    -    engines: {node: '>=8.6'}
    +  picomatch@2.3.1: {}
     
    -  /pidtree@0.6.0:
    -    resolution: {integrity: sha512-eG2dWTVw5bzqGRztnHExczNxt5VGsE6OwTeCG3fdUf9KBsZzO3R5OIIIzWR+iZA0NtZ+RDVdaoE2dK1cn6jH4g==}
    -    engines: {node: '>=0.10'}
    -    hasBin: true
    -    dev: true
    +  pidtree@0.6.0: {}
     
    -  /pify@2.3.0:
    -    resolution: {integrity: sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==}
    -    engines: {node: '>=0.10.0'}
    +  pify@2.3.0: {}
     
    -  /pino-abstract-transport@1.1.0:
    -    resolution: {integrity: sha512-lsleG3/2a/JIWUtf9Q5gUNErBqwIu1tUKTT3dUzaf5DySw9ra1wcqKjJjLX1VTY64Wk1eEOYsVGSaGfCK85ekA==}
    +  pino-abstract-transport@1.1.0:
         dependencies:
           readable-stream: 4.5.2
           split2: 4.2.0
    -    dev: false
     
    -  /pino-std-serializers@3.2.0:
    -    resolution: {integrity: sha512-EqX4pwDPrt3MuOAAUBMU0Tk5kR/YcCM5fNPEzgCO2zJ5HfX0vbiH9HbJglnyeQsN96Kznae6MWD47pZB5avTrg==}
    -    dev: true
    +  pino-std-serializers@3.2.0: {}
     
    -  /pino-std-serializers@6.2.2:
    -    resolution: {integrity: sha512-cHjPPsE+vhj/tnhCy/wiMh3M3z3h/j15zHQX+S9GkTBgqJuTuJzYJ4gUyACLhDaJ7kk9ba9iRDmbH2tJU03OiA==}
    -    dev: false
    +  pino-std-serializers@6.2.2: {}
     
    -  /pino@6.14.0:
    -    resolution: {integrity: sha512-iuhEDel3Z3hF9Jfe44DPXR8l07bhjuFY3GMHIXbjnY9XcafbyDDwl2sN2vw2GjMPf5Nkoe+OFao7ffn9SXaKDg==}
    -    hasBin: true
    +  pino@6.14.0:
         dependencies:
           fast-redact: 3.5.0
           fast-safe-stringify: 2.1.1
    @@ -13015,11 +16915,8 @@ packages:
           process-warning: 1.0.0
           quick-format-unescaped: 4.0.4
           sonic-boom: 1.4.1
    -    dev: true
     
    -  /pino@8.20.0:
    -    resolution: {integrity: sha512-uhIfMj5TVp+WynVASaVEJFTncTUe4dHBq6CWplu/vBgvGHhvBvQfxz+vcOrnnBQdORH3izaGEurLfNlq3YxdFQ==}
    -    hasBin: true
    +  pino@8.20.0:
         dependencies:
           atomic-sleep: 1.0.0
           fast-redact: 3.5.0
    @@ -13032,170 +16929,91 @@ packages:
           safe-stable-stringify: 2.4.3
           sonic-boom: 3.8.1
           thread-stream: 2.4.1
    -    dev: false
     
    -  /pirates@4.0.6:
    -    resolution: {integrity: sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==}
    -    engines: {node: '>= 6'}
    +  pirates@4.0.6: {}
     
    -  /pixelmatch@5.3.0:
    -    resolution: {integrity: sha512-o8mkY4E/+LNUf6LzX96ht6k6CEDi65k9G2rjMtBe9Oo+VPKSvl+0GKHuH/AlG+GA5LPG/i5hrekkxUc3s2HU+Q==}
    -    hasBin: true
    +  pixelmatch@5.3.0:
         dependencies:
           pngjs: 6.0.0
    -    dev: true
     
    -  /pkg-dir@3.0.0:
    -    resolution: {integrity: sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==}
    -    engines: {node: '>=6'}
    +  pkg-dir@3.0.0:
         dependencies:
           find-up: 3.0.0
    -    dev: true
     
    -  /pkg-dir@4.2.0:
    -    resolution: {integrity: sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==}
    -    engines: {node: '>=8'}
    +  pkg-dir@4.2.0:
         dependencies:
           find-up: 4.1.0
    -    dev: true
     
    -  /pkg-dir@7.0.0:
    -    resolution: {integrity: sha512-Ie9z/WINcxxLp27BKOCHGde4ITq9UklYKDzVo1nhk5sqGEXU3FpkwP5GM2voTGJkGd9B3Otl+Q4uwSOeSUtOBA==}
    -    engines: {node: '>=14.16'}
    +  pkg-dir@7.0.0:
         dependencies:
           find-up: 6.3.0
    -    dev: true
     
    -  /pkg-types@1.1.0:
    -    resolution: {integrity: sha512-/RpmvKdxKf8uILTtoOhAgf30wYbP2Qw+L9p3Rvshx1JZVX+XQNZQFjlbmGHEGIm4CkVPlSn+NXmIM8+9oWQaSA==}
    +  pkg-types@1.1.0:
         dependencies:
           confbox: 0.1.7
           mlly: 1.6.1
           pathe: 1.1.2
    -    dev: true
     
    -  /plist@3.1.0:
    -    resolution: {integrity: sha512-uysumyrvkUX0rX/dEVqt8gC3sTBzd4zoWfLeS29nb53imdaXVvLINYXTI2GNqzaMuvacNx4uJQ8+b3zXR0pkgQ==}
    -    engines: {node: '>=10.4.0'}
    +  plist@3.1.0:
         dependencies:
           '@xmldom/xmldom': 0.8.10
           base64-js: 1.5.1
           xmlbuilder: 15.1.1
    -    dev: true
     
    -  /pluralize@8.0.0:
    -    resolution: {integrity: sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA==}
    -    engines: {node: '>=4'}
    -    dev: true
    +  pluralize@8.0.0: {}
     
    -  /png-async@0.9.4:
    -    resolution: {integrity: sha512-B//AXX9TkneKfgtOpT1mdUnnhk2BImGD+a98vImsMU8uo1dBeHyW/kM2erWZ/CsYteTPU/xKG+t6T62heHkC3A==}
    -    dev: true
    +  png-async@0.9.4: {}
     
    -  /pngjs@3.4.0:
    -    resolution: {integrity: sha512-NCrCHhWmnQklfH4MtJMRjZ2a8c80qXeMlQMv2uVp9ISJMTt562SbGd6n2oq0PaPgKm7Z6pL9E2UlLIhC+SHL3w==}
    -    engines: {node: '>=4.0.0'}
    -    dev: true
    +  pngjs@3.4.0: {}
     
    -  /pngjs@6.0.0:
    -    resolution: {integrity: sha512-TRzzuFRRmEoSW/p1KVAmiOgPco2Irlah+bGFCeNfJXxxYGwSw7YwAOAcd7X28K/m5bjBWKsC29KyoMfHbypayg==}
    -    engines: {node: '>=12.13.0'}
    -    dev: true
    +  pngjs@6.0.0: {}
     
    -  /pnpm@8.15.8:
    -    resolution: {integrity: sha512-0aAp4aRHrZC8ls1YsPrUhtKZPVMYVjlve6vy2D6xgju4PFo9D8GPZ1stEDIdSesWH+zjb+gTSqWCPs0hX+7Tkg==}
    -    engines: {node: '>=16.14'}
    -    hasBin: true
    -    dev: true
    +  pnpm@8.15.8: {}
     
    -  /possible-typed-array-names@1.0.0:
    -    resolution: {integrity: sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q==}
    -    engines: {node: '>= 0.4'}
    -    dev: true
    +  possible-typed-array-names@1.0.0: {}
     
    -  /postcss-import@15.1.0(postcss@8.4.38):
    -    resolution: {integrity: sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==}
    -    engines: {node: '>=14.0.0'}
    -    peerDependencies:
    -      postcss: ^8.0.0
    +  postcss-import@15.1.0(postcss@8.4.38):
         dependencies:
           postcss: 8.4.38
           postcss-value-parser: 4.2.0
           read-cache: 1.0.0
           resolve: 1.22.8
    -    dev: false
     
    -  /postcss-js@4.0.1(postcss@8.4.38):
    -    resolution: {integrity: sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==}
    -    engines: {node: ^12 || ^14 || >= 16}
    -    peerDependencies:
    -      postcss: ^8.4.21
    +  postcss-js@4.0.1(postcss@8.4.38):
         dependencies:
           camelcase-css: 2.0.1
           postcss: 8.4.38
    -    dev: false
     
    -  /postcss-load-config@4.0.2(postcss@8.4.38):
    -    resolution: {integrity: sha512-bSVhyJGL00wMVoPUzAVAnbEoWyqRxkjv64tUl427SKnPrENtq6hJwUojroMz2VB+Q1edmi4IfrAPpami5VVgMQ==}
    -    engines: {node: '>= 14'}
    -    peerDependencies:
    -      postcss: '>=8.0.9'
    -      ts-node: '>=9.0.0'
    -    peerDependenciesMeta:
    -      postcss:
    -        optional: true
    -      ts-node:
    -        optional: true
    +  postcss-load-config@4.0.2(postcss@8.4.38):
         dependencies:
           lilconfig: 3.1.1
    -      postcss: 8.4.38
           yaml: 2.4.1
    -    dev: false
    +    optionalDependencies:
    +      postcss: 8.4.38
     
    -  /postcss-nested@6.0.1(postcss@8.4.38):
    -    resolution: {integrity: sha512-mEp4xPMi5bSWiMbsgoPfcP74lsWLHkQbZc3sY+jWYd65CUwXrUaTp0fmNpa01ZcETKlIgUdFN/MpS2xZtqL9dQ==}
    -    engines: {node: '>=12.0'}
    -    peerDependencies:
    -      postcss: ^8.2.14
    +  postcss-nested@6.0.1(postcss@8.4.38):
         dependencies:
           postcss: 8.4.38
           postcss-selector-parser: 6.0.16
    -    dev: false
     
    -  /postcss-selector-parser@6.0.16:
    -    resolution: {integrity: sha512-A0RVJrX+IUkVZbW3ClroRWurercFhieevHB38sr2+l9eUClMqome3LmEmnhlNy+5Mr2EYN6B2Kaw9wYdd+VHiw==}
    -    engines: {node: '>=4'}
    +  postcss-selector-parser@6.0.16:
         dependencies:
           cssesc: 3.0.0
           util-deprecate: 1.0.2
    -    dev: false
     
    -  /postcss-value-parser@4.2.0:
    -    resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==}
    -    dev: false
    +  postcss-value-parser@4.2.0: {}
     
    -  /postcss@8.4.38:
    -    resolution: {integrity: sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A==}
    -    engines: {node: ^10 || ^12 || >=14}
    +  postcss@8.4.38:
         dependencies:
           nanoid: 3.3.7
           picocolors: 1.0.0
           source-map-js: 1.2.0
     
    -  /preact@10.21.0:
    -    resolution: {integrity: sha512-aQAIxtzWEwH8ou+OovWVSVNlFImL7xUCwJX3YMqA3U8iKCNC34999fFOnWjYNsylgfPgMexpbk7WYOLtKr/mxg==}
    -    dev: true
    +  preact@10.21.0: {}
     
    -  /prelude-ls@1.2.1:
    -    resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==}
    -    engines: {node: '>= 0.8.0'}
    -    dev: true
    +  prelude-ls@1.2.1: {}
     
    -  /prettier-plugin-jsdoc@1.3.0(prettier@3.2.5):
    -    resolution: {integrity: sha512-cQm8xIa0fN9ieJFMXACQd6JPycl+8ouOijAqUqu44EF/s4fXL3Wi9sKXuEaodsEWgCN42Xby/bNhqgM1iWx4uw==}
    -    engines: {node: '>=14.13.1 || >=16.0.0'}
    -    peerDependencies:
    -      prettier: ^3.0.0
    +  prettier-plugin-jsdoc@1.3.0(prettier@3.2.5):
         dependencies:
           binary-searching: 2.0.5
           comment-parser: 1.4.1
    @@ -13203,213 +17021,115 @@ packages:
           prettier: 3.2.5
         transitivePeerDependencies:
           - supports-color
    -    dev: true
    -
    -  /prettier@2.8.8:
    -    resolution: {integrity: sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==}
    -    engines: {node: '>=10.13.0'}
    -    hasBin: true
    -    dev: true
     
    -  /prettier@3.2.5:
    -    resolution: {integrity: sha512-3/GWa9aOC0YeD7LUfvOG2NiDyhOWRvt1k+rcKhOuYnMY24iiCphgneUfJDyFXd6rZCAnuLBv6UeAULtrhT/F4A==}
    -    engines: {node: '>=14'}
    -    hasBin: true
    -    dev: true
    +  prettier@2.8.8: {}
     
    -  /pretty-bytes@5.6.0:
    -    resolution: {integrity: sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg==}
    -    engines: {node: '>=6'}
    -    dev: true
    +  prettier@3.2.5: {}
     
    -  /pretty-bytes@6.1.1:
    -    resolution: {integrity: sha512-mQUvGU6aUFQ+rNvTIAcZuWGRT9a6f6Yrg9bHs4ImKF+HZCEK+plBvnAZYSIQztknZF2qnzNtr6F8s0+IuptdlQ==}
    -    engines: {node: ^14.13.1 || >=16.0.0}
    -    dev: true
    +  pretty-bytes@5.6.0: {}
     
    -  /pretty-format@29.7.0:
    -    resolution: {integrity: sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==}
    -    engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
    +  pretty-bytes@6.1.1: {}
    +
    +  pretty-format@29.7.0:
         dependencies:
           '@jest/schemas': 29.6.3
           ansi-styles: 5.2.0
           react-is: 18.2.0
    -    dev: true
     
    -  /process-nextick-args@2.0.1:
    -    resolution: {integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==}
    -    dev: true
    +  process-nextick-args@2.0.1: {}
     
    -  /process-on-spawn@1.0.0:
    -    resolution: {integrity: sha512-1WsPDsUSMmZH5LeMLegqkPDrsGgsWwk1Exipy2hvB0o/F0ASzbpIctSCcZIK1ykJvtTJULEH+20WOFjMvGnCTg==}
    -    engines: {node: '>=8'}
    +  process-on-spawn@1.0.0:
         dependencies:
           fromentries: 1.3.2
    -    dev: true
     
    -  /process-warning@1.0.0:
    -    resolution: {integrity: sha512-du4wfLyj4yCZq1VupnVSZmRsPJsNuxoDQFdCFHLaYiEbFBD7QE0a+I4D7hOxrVnh78QE/YipFAj9lXHiXocV+Q==}
    -    dev: true
    +  process-warning@1.0.0: {}
     
    -  /process-warning@3.0.0:
    -    resolution: {integrity: sha512-mqn0kFRl0EoqhnL0GQ0veqFHyIN1yig9RHh/InzORTUiZHFRAur+aMtRkELNwGs9aNwKS6tg/An4NYBPGwvtzQ==}
    -    dev: false
    +  process-warning@3.0.0: {}
     
    -  /process@0.11.10:
    -    resolution: {integrity: sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==}
    -    engines: {node: '>= 0.6.0'}
    +  process@0.11.10: {}
     
    -  /prompts@2.4.2:
    -    resolution: {integrity: sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==}
    -    engines: {node: '>= 6'}
    +  prompts@2.4.2:
         dependencies:
           kleur: 3.0.3
           sisteransi: 1.0.5
    -    dev: true
     
    -  /proxy-addr@2.0.7:
    -    resolution: {integrity: sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==}
    -    engines: {node: '>= 0.10'}
    +  proxy-addr@2.0.7:
         dependencies:
           forwarded: 0.2.0
           ipaddr.js: 1.9.1
    -    dev: true
     
    -  /proxy-from-env@1.0.0:
    -    resolution: {integrity: sha512-F2JHgJQ1iqwnHDcQjVBsq3n/uoaFL+iPW/eAeL7kVxy/2RrWaN4WroKjjvbsoRtv0ftelNyC01bjRhn/bhcf4A==}
    -    dev: true
    +  proxy-from-env@1.0.0: {}
     
    -  /proxy-from-env@1.1.0:
    -    resolution: {integrity: sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==}
    -    dev: true
    +  proxy-from-env@1.1.0: {}
     
    -  /ps-tree@1.2.0:
    -    resolution: {integrity: sha512-0VnamPPYHl4uaU/nSFeZZpR21QAWRz+sRv4iW9+v/GS/J5U5iZB5BNN6J0RMoOvdx2gWM2+ZFMIm58q24e4UYA==}
    -    engines: {node: '>= 0.10'}
    -    hasBin: true
    +  ps-tree@1.2.0:
         dependencies:
           event-stream: 3.3.4
    -    dev: true
     
    -  /psl@1.9.0:
    -    resolution: {integrity: sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==}
    -    dev: true
    +  psl@1.9.0: {}
     
    -  /pump@3.0.0:
    -    resolution: {integrity: sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==}
    +  pump@3.0.0:
         dependencies:
           end-of-stream: 1.4.4
           once: 1.4.0
    -    dev: true
     
    -  /punycode@2.3.1:
    -    resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==}
    -    engines: {node: '>=6'}
    -    dev: true
    +  punycode@2.3.1: {}
     
    -  /pure-rand@6.0.4:
    -    resolution: {integrity: sha512-LA0Y9kxMYv47GIPJy6MI84fqTd2HmYZI83W/kM/SkKfDlajnZYfmXFTxkbY+xSBPkLJxltMa9hIkmdc29eguMA==}
    -    dev: true
    +  pure-rand@6.0.4: {}
     
    -  /qs@6.10.4:
    -    resolution: {integrity: sha512-OQiU+C+Ds5qiH91qh/mg0w+8nwQuLjM4F4M/PbmhDOoYehPh+Fb0bDjtR1sOvy7YKxvj28Y/M0PhP5uVX0kB+g==}
    -    engines: {node: '>=0.6'}
    +  qs@6.10.4:
         dependencies:
           side-channel: 1.0.6
    -    dev: true
     
    -  /qs@6.11.0:
    -    resolution: {integrity: sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==}
    -    engines: {node: '>=0.6'}
    +  qs@6.11.0:
         dependencies:
           side-channel: 1.0.6
    -    dev: true
     
    -  /querystringify@2.2.0:
    -    resolution: {integrity: sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==}
    -    dev: true
    +  querystringify@2.2.0: {}
     
    -  /queue-microtask@1.2.3:
    -    resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==}
    +  queue-microtask@1.2.3: {}
     
    -  /quick-format-unescaped@4.0.4:
    -    resolution: {integrity: sha512-tYC1Q1hgyRuHgloV/YXs2w15unPVh8qfu/qCTfhTYamaw7fyhumKa2yGpdSo87vY32rIclj+4fWYQXUMs9EHvg==}
    +  quick-format-unescaped@4.0.4: {}
     
    -  /quick-lru@5.1.1:
    -    resolution: {integrity: sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==}
    -    engines: {node: '>=10'}
    -    dev: true
    +  quick-lru@5.1.1: {}
     
    -  /railroad-diagrams@1.0.0:
    -    resolution: {integrity: sha512-cz93DjNeLY0idrCNOH6PviZGRN9GJhsdm9hpn1YCS879fj4W+x5IFJhhkRZcwVgMmFF7R82UA/7Oh+R8lLZg6A==}
    -    dev: true
    +  railroad-diagrams@1.0.0: {}
     
    -  /ramda@0.28.0:
    -    resolution: {integrity: sha512-9QnLuG/kPVgWvMQ4aODhsBUFKOUmnbUnsSXACv+NCQZcHbeb+v8Lodp8OVxtRULN1/xOyYLLaL6npE6dMq5QTA==}
    -    dev: false
    +  ramda@0.28.0: {}
     
    -  /randombytes@2.1.0:
    -    resolution: {integrity: sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==}
    +  randombytes@2.1.0:
         dependencies:
           safe-buffer: 5.2.1
    -    dev: true
     
    -  /range-parser@1.2.1:
    -    resolution: {integrity: sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==}
    -    engines: {node: '>= 0.6'}
    -    dev: true
    -
    -  /raw-body@2.5.1:
    -    resolution: {integrity: sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==}
    -    engines: {node: '>= 0.8'}
    -    dependencies:
    -      bytes: 3.1.2
    -      http-errors: 2.0.0
    -      iconv-lite: 0.4.24
    -      unpipe: 1.0.0
    -    dev: true
    +  range-parser@1.2.1: {}
     
    -  /raw-body@2.5.2:
    -    resolution: {integrity: sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==}
    -    engines: {node: '>= 0.8'}
    +  raw-body@2.5.2:
         dependencies:
           bytes: 3.1.2
           http-errors: 2.0.0
           iconv-lite: 0.4.24
           unpipe: 1.0.0
    -    dev: true
     
    -  /react-is@18.2.0:
    -    resolution: {integrity: sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==}
    -    dev: true
    +  react-is@18.2.0: {}
     
    -  /read-cache@1.0.0:
    -    resolution: {integrity: sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==}
    +  read-cache@1.0.0:
         dependencies:
           pify: 2.3.0
    -    dev: false
     
    -  /read-pkg-up@7.0.1:
    -    resolution: {integrity: sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==}
    -    engines: {node: '>=8'}
    +  read-pkg-up@7.0.1:
         dependencies:
           find-up: 4.1.0
           read-pkg: 5.2.0
           type-fest: 0.8.1
    -    dev: true
     
    -  /read-pkg@5.2.0:
    -    resolution: {integrity: sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==}
    -    engines: {node: '>=8'}
    +  read-pkg@5.2.0:
         dependencies:
           '@types/normalize-package-data': 2.4.1
           normalize-package-data: 2.5.0
           parse-json: 5.2.0
           type-fest: 0.6.0
    -    dev: true
     
    -  /readable-stream@2.3.8:
    -    resolution: {integrity: sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==}
    +  readable-stream@2.3.8:
         dependencies:
           core-util-is: 1.0.3
           inherits: 2.0.4
    @@ -13418,85 +17138,53 @@ packages:
           safe-buffer: 5.1.2
           string_decoder: 1.1.1
           util-deprecate: 1.0.2
    -    dev: true
     
    -  /readable-stream@3.6.2:
    -    resolution: {integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==}
    -    engines: {node: '>= 6'}
    +  readable-stream@3.6.2:
         dependencies:
           inherits: 2.0.4
           string_decoder: 1.3.0
           util-deprecate: 1.0.2
    -    dev: true
     
    -  /readable-stream@4.5.2:
    -    resolution: {integrity: sha512-yjavECdqeZ3GLXNgRXgeQEdz9fvDDkNKyHnbHRFtOr7/LcfgBcmct7t/ET+HaCTqfh06OzoAxrkN/IfjJBVe+g==}
    -    engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
    +  readable-stream@4.5.2:
         dependencies:
           abort-controller: 3.0.0
           buffer: 6.0.3
           events: 3.3.0
           process: 0.11.10
           string_decoder: 1.3.0
    -    dev: false
     
    -  /readdirp@3.6.0:
    -    resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==}
    -    engines: {node: '>=8.10.0'}
    +  readdirp@3.6.0:
         dependencies:
           picomatch: 2.3.1
     
    -  /real-require@0.2.0:
    -    resolution: {integrity: sha512-57frrGM/OCTLqLOAh0mhVA9VBMHd+9U7Zb2THMGdBUoZVOtGbJzjxsYGDJ3A9AYYCP4hn6y1TVbaOfzWtm5GFg==}
    -    engines: {node: '>= 12.13.0'}
    -    dev: false
    +  real-require@0.2.0: {}
     
    -  /rechoir@0.7.1:
    -    resolution: {integrity: sha512-/njmZ8s1wVeR6pjTZ+0nCnv8SpZNRMT2D1RLOJQESlYFDBvwpTA4KWJpZ+sBJ4+vhjILRcK7JIFdGCdxEAAitg==}
    -    engines: {node: '>= 0.10'}
    +  rechoir@0.7.1:
         dependencies:
    -      resolve: 1.22.4
    -    dev: true
    +      resolve: 1.22.8
     
    -  /regenerate-unicode-properties@10.1.1:
    -    resolution: {integrity: sha512-X007RyZLsCJVVrjgEFVpLUTZwyOZk3oiL75ZcuYjlIWd6rNJtOjkBwQc5AsRrpbKVkxN6sklw/k/9m2jJYOf8Q==}
    -    engines: {node: '>=4'}
    +  regenerate-unicode-properties@10.1.1:
         dependencies:
           regenerate: 1.4.2
    -    dev: true
     
    -  /regenerate@1.4.2:
    -    resolution: {integrity: sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==}
    -    dev: true
    +  regenerate@1.4.2: {}
     
    -  /regenerator-runtime@0.14.1:
    -    resolution: {integrity: sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==}
    -    dev: true
    +  regenerator-runtime@0.14.1: {}
     
    -  /regenerator-transform@0.15.2:
    -    resolution: {integrity: sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg==}
    +  regenerator-transform@0.15.2:
         dependencies:
           '@babel/runtime': 7.24.5
    -    dev: true
     
    -  /regexp-tree@0.1.27:
    -    resolution: {integrity: sha512-iETxpjK6YoRWJG5o6hXLwvjYAoW+FEZn9os0PD/b6AP6xQwsa/Y7lCVgIixBbUPMfhu+i2LtdeAqVTgGlQarfA==}
    -    hasBin: true
    -    dev: true
    +  regexp-tree@0.1.27: {}
     
    -  /regexp.prototype.flags@1.5.2:
    -    resolution: {integrity: sha512-NcDiDkTLuPR+++OCKB0nWafEmhg/Da8aUPLPMQbK+bxKKCm1/S5he+AqYa4PlMCVBalb4/yxIRub6qkEx5yJbw==}
    -    engines: {node: '>= 0.4'}
    +  regexp.prototype.flags@1.5.2:
         dependencies:
           call-bind: 1.0.7
           define-properties: 1.2.1
           es-errors: 1.3.0
           set-function-name: 2.0.2
    -    dev: true
     
    -  /regexpu-core@5.3.2:
    -    resolution: {integrity: sha512-RAM5FlZz+Lhmo7db9L298p2vHP5ZywrVXmVXpmAD9GuL5MPH6t9ROw1iA/wfHkQ76Qe7AaPF0nGuim96/IrQMQ==}
    -    engines: {node: '>=4'}
    +  regexpu-core@5.3.2:
         dependencies:
           '@babel/regjsgen': 0.8.0
           regenerate: 1.4.2
    @@ -13504,31 +17192,20 @@ packages:
           regjsparser: 0.9.1
           unicode-match-property-ecmascript: 2.0.0
           unicode-match-property-value-ecmascript: 2.1.0
    -    dev: true
     
    -  /regjsparser@0.10.0:
    -    resolution: {integrity: sha512-qx+xQGZVsy55CH0a1hiVwHmqjLryfh7wQyF5HO07XJ9f7dQMY/gPQHhlyDkIzJKC+x2fUCpCcUODUUUFrm7SHA==}
    -    hasBin: true
    +  regjsparser@0.10.0:
         dependencies:
           jsesc: 0.5.0
    -    dev: true
     
    -  /regjsparser@0.9.1:
    -    resolution: {integrity: sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==}
    -    hasBin: true
    +  regjsparser@0.9.1:
         dependencies:
           jsesc: 0.5.0
    -    dev: true
     
    -  /release-zalgo@1.0.0:
    -    resolution: {integrity: sha512-gUAyHVHPPC5wdqX/LG4LWtRYtgjxyX78oanFNTMMyFEfOqdC54s3eE82imuWKbOeqYht2CrNf64Qb8vgmmtZGA==}
    -    engines: {node: '>=4'}
    +  release-zalgo@1.0.0:
         dependencies:
           es6-error: 4.1.1
    -    dev: true
     
    -  /remark-frontmatter@5.0.0:
    -    resolution: {integrity: sha512-XTFYvNASMe5iPN0719nPrdItC9aU0ssC4v14mH1BCi1u0n1gAocqcujWUrByftZTbLhRtiKRyjYTSIOcr69UVQ==}
    +  remark-frontmatter@5.0.0:
         dependencies:
           '@types/mdast': 4.0.3
           mdast-util-frontmatter: 2.0.1
    @@ -13536,10 +17213,8 @@ packages:
           unified: 11.0.4
         transitivePeerDependencies:
           - supports-color
    -    dev: true
     
    -  /remark-gfm@4.0.0:
    -    resolution: {integrity: sha512-U92vJgBPkbw4Zfu/IiW2oTZLSL3Zpv+uI7My2eq8JxKgqraFdU8YUGicEJCEgSbeaG+QDFqIcwwfMTOEelPxuA==}
    +  remark-gfm@4.0.0:
         dependencies:
           '@types/mdast': 4.0.3
           mdast-util-gfm: 3.0.0
    @@ -13549,10 +17224,8 @@ packages:
           unified: 11.0.4
         transitivePeerDependencies:
           - supports-color
    -    dev: true
     
    -  /remark-parse@11.0.0:
    -    resolution: {integrity: sha512-FCxlKLNGknS5ba/1lmpYijMUzX2esxW5xQqjWxw2eHFfS2MSdaHVINFmhjo+qN1WhZhNimq0dZATN9pH0IDrpA==}
    +  remark-parse@11.0.0:
         dependencies:
           '@types/mdast': 4.0.3
           mdast-util-from-markdown: 2.0.0
    @@ -13560,18 +17233,14 @@ packages:
           unified: 11.0.4
         transitivePeerDependencies:
           - supports-color
    -    dev: true
     
    -  /remark-stringify@11.0.0:
    -    resolution: {integrity: sha512-1OSmLd3awB/t8qdoEOMazZkNsfVTeY4fTsgzcQFdXNq8ToTN4ZGwrMnlda4K6smTFKD+GRV6O48i6Z4iKgPPpw==}
    +  remark-stringify@11.0.0:
         dependencies:
           '@types/mdast': 4.0.3
           mdast-util-to-markdown: 2.1.0
           unified: 11.0.4
    -    dev: true
     
    -  /remark@15.0.1:
    -    resolution: {integrity: sha512-Eht5w30ruCXgFmxVUSlNWQ9iiimq07URKeFS3hNc8cUWy1llX4KDWfyEDZRycMc+znsN9Ux5/tJ/BFdgdOwA3A==}
    +  remark@15.0.1:
         dependencies:
           '@types/mdast': 4.0.3
           remark-parse: 11.0.0
    @@ -13579,185 +17248,102 @@ packages:
           unified: 11.0.4
         transitivePeerDependencies:
           - supports-color
    -    dev: true
     
    -  /repeat-string@1.6.1:
    -    resolution: {integrity: sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w==}
    -    engines: {node: '>=0.10'}
    -    dev: true
    +  repeat-string@1.6.1: {}
     
    -  /request-progress@3.0.0:
    -    resolution: {integrity: sha512-MnWzEHHaxHO2iWiQuHrUPBi/1WeBf5PkxQqNyNvLl9VAYSdXkP8tQ3pBSeCPD+yw0v0Aq1zosWLz0BdeXpWwZg==}
    +  request-progress@3.0.0:
         dependencies:
           throttleit: 1.0.1
    -    dev: true
     
    -  /require-directory@2.1.1:
    -    resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==}
    -    engines: {node: '>=0.10.0'}
    -    dev: true
    +  require-directory@2.1.1: {}
     
    -  /require-from-string@2.0.2:
    -    resolution: {integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==}
    -    engines: {node: '>=0.10.0'}
    -    dev: true
    +  require-from-string@2.0.2: {}
     
    -  /require-main-filename@2.0.0:
    -    resolution: {integrity: sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==}
    -    dev: true
    +  require-main-filename@2.0.0: {}
     
    -  /requires-port@1.0.0:
    -    resolution: {integrity: sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==}
    -    dev: true
    +  requires-port@1.0.0: {}
     
    -  /resolve-alpn@1.2.1:
    -    resolution: {integrity: sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g==}
    -    dev: true
    +  resolve-alpn@1.2.1: {}
     
    -  /resolve-cwd@3.0.0:
    -    resolution: {integrity: sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==}
    -    engines: {node: '>=8'}
    +  resolve-cwd@3.0.0:
         dependencies:
           resolve-from: 5.0.0
    -    dev: true
     
    -  /resolve-from@4.0.0:
    -    resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==}
    -    engines: {node: '>=4'}
    -    dev: true
    +  resolve-from@4.0.0: {}
     
    -  /resolve-from@5.0.0:
    -    resolution: {integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==}
    -    engines: {node: '>=8'}
    -    dev: true
    +  resolve-from@5.0.0: {}
     
    -  /resolve-pkg-maps@1.0.0:
    -    resolution: {integrity: sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==}
    -    dev: true
    +  resolve-pkg-maps@1.0.0: {}
     
    -  /resolve.exports@2.0.2:
    -    resolution: {integrity: sha512-X2UW6Nw3n/aMgDVy+0rSqgHlv39WZAlZrXCdnbyEiKm17DSqHX4MmQMaST3FbeWR5FTuRcUwYAziZajji0Y7mg==}
    -    engines: {node: '>=10'}
    -    dev: true
    +  resolve.exports@2.0.2: {}
     
    -  /resolve@1.19.0:
    -    resolution: {integrity: sha512-rArEXAgsBG4UgRGcynxWIWKFvh/XZCcS8UJdHhwy91zwAvCZIbcs+vAbflgBnNjYMs/i/i+/Ux6IZhML1yPvxg==}
    +  resolve@1.19.0:
         dependencies:
    -      is-core-module: 2.13.0
    +      is-core-module: 2.13.1
           path-parse: 1.0.7
    -    dev: true
     
    -  /resolve@1.22.4:
    -    resolution: {integrity: sha512-PXNdCiPqDqeUou+w1C2eTQbNfxKSuMxqTCuvlmmMsk1NWHL5fRrhY6Pl0qEYYc6+QqGClco1Qj8XnjPego4wfg==}
    -    hasBin: true
    +  resolve@1.22.4:
         dependencies:
           is-core-module: 2.13.0
           path-parse: 1.0.7
           supports-preserve-symlinks-flag: 1.0.0
    -    dev: true
     
    -  /resolve@1.22.8:
    -    resolution: {integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==}
    -    hasBin: true
    +  resolve@1.22.8:
         dependencies:
           is-core-module: 2.13.1
           path-parse: 1.0.7
           supports-preserve-symlinks-flag: 1.0.0
     
    -  /responselike@2.0.1:
    -    resolution: {integrity: sha512-4gl03wn3hj1HP3yzgdI7d3lCkF95F21Pz4BPGvKHinyQzALR5CapwC8yIi0Rh58DEMQ/SguC03wFj2k0M/mHhw==}
    +  responselike@2.0.1:
         dependencies:
           lowercase-keys: 2.0.0
    -    dev: true
     
    -  /restore-cursor@3.1.0:
    -    resolution: {integrity: sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==}
    -    engines: {node: '>=8'}
    +  restore-cursor@3.1.0:
         dependencies:
           onetime: 5.1.2
           signal-exit: 3.0.7
    -    dev: true
     
    -  /restore-cursor@4.0.0:
    -    resolution: {integrity: sha512-I9fPXU9geO9bHOt9pHHOhOkYerIMsmVaWB0rA2AI9ERh/+x/i7MV5HKBNrg+ljO5eoPVgCcnFuRjJ9uH6I/3eg==}
    -    engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
    +  restore-cursor@4.0.0:
         dependencies:
           onetime: 5.1.2
           signal-exit: 3.0.7
    -    dev: true
     
    -  /ret@0.2.2:
    -    resolution: {integrity: sha512-M0b3YWQs7R3Z917WRQy1HHA7Ba7D8hvZg6UE5mLykJxQVE2ju0IXbGlaHPPlkY+WN7wFP+wUMXmBFA0aV6vYGQ==}
    -    engines: {node: '>=4'}
    -    dev: true
    +  ret@0.2.2: {}
     
    -  /retry@0.13.1:
    -    resolution: {integrity: sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==}
    -    engines: {node: '>= 4'}
    -    dev: true
    +  retry@0.13.1: {}
     
    -  /reusify@1.0.4:
    -    resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==}
    -    engines: {iojs: '>=1.0.0', node: '>=0.10.0'}
    +  reusify@1.0.4: {}
     
    -  /rfdc@1.3.1:
    -    resolution: {integrity: sha512-r5a3l5HzYlIC68TpmYKlxWjmOP6wiPJ1vWv2HeLhNsRZMrCkxeqxiHlQ21oXmQ4F3SiryXBHhAD7JZqvOJjFmg==}
    -    dev: true
    +  rfdc@1.3.1: {}
     
    -  /rimraf@2.7.1:
    -    resolution: {integrity: sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==}
    -    hasBin: true
    +  rimraf@2.7.1:
         dependencies:
           glob: 7.2.3
    -    dev: true
     
    -  /rimraf@3.0.2:
    -    resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==}
    -    hasBin: true
    +  rimraf@3.0.2:
         dependencies:
           glob: 7.2.3
    -    dev: true
     
    -  /rimraf@5.0.7:
    -    resolution: {integrity: sha512-nV6YcJo5wbLW77m+8KjH8aB/7/rxQy9SZ0HY5shnwULfS+9nmTtVXAJET5NdZmCzA4fPI/Hm1wo/Po/4mopOdg==}
    -    engines: {node: '>=14.18'}
    -    hasBin: true
    +  rimraf@5.0.5:
         dependencies:
    -      glob: 10.3.15
    -    dev: true
    +      glob: 10.3.10
     
    -  /robust-predicates@3.0.2:
    -    resolution: {integrity: sha512-IXgzBWvWQwE6PrDI05OvmXUIruQTcoMDzRsOd5CDvHCVLcLHMTSYvOK5Cm46kWqlV3yAbuSpBZdJ5oP5OUoStg==}
    -    dev: false
    +  robust-predicates@3.0.2: {}
     
    -  /rollup-plugin-visualizer@5.12.0:
    -    resolution: {integrity: sha512-8/NU9jXcHRs7Nnj07PF2o4gjxmm9lXIrZ8r175bT9dK8qoLlvKTwRMArRCMgpMGlq8CTLugRvEmyMeMXIU2pNQ==}
    -    engines: {node: '>=14'}
    -    hasBin: true
    -    peerDependencies:
    -      rollup: 2.x || 3.x || 4.x
    -    peerDependenciesMeta:
    -      rollup:
    -        optional: true
    +  rollup-plugin-visualizer@5.12.0(rollup@4.17.2):
         dependencies:
           open: 8.4.2
           picomatch: 2.3.1
           source-map: 0.7.4
           yargs: 17.7.2
    -    dev: true
    +    optionalDependencies:
    +      rollup: 4.17.2
     
    -  /rollup@2.79.1:
    -    resolution: {integrity: sha512-uKxbd0IhMZOhjAiD5oAFp7BqvkA4Dv47qpOCtaNvng4HBwdbWtdOh8f5nZNuk2rp51PMGk3bzfWu5oayNEuYnw==}
    -    engines: {node: '>=10.0.0'}
    -    hasBin: true
    +  rollup@2.79.1:
         optionalDependencies:
           fsevents: 2.3.3
    -    dev: true
     
    -  /rollup@4.17.2:
    -    resolution: {integrity: sha512-/9ClTJPByC0U4zNLowV1tMBe8yMEAxewtR3cUNX5BoEpGH3dQEWpJLr6CLp0fPdYRF/fzVOgvDb1zXuakwF5kQ==}
    -    engines: {node: '>=18.0.0', npm: '>=8.0.0'}
    -    hasBin: true
    +  rollup@4.17.2:
         dependencies:
           '@types/estree': 1.0.5
         optionalDependencies:
    @@ -13778,157 +17364,86 @@ packages:
           '@rollup/rollup-win32-ia32-msvc': 4.17.2
           '@rollup/rollup-win32-x64-msvc': 4.17.2
           fsevents: 2.3.3
    -    dev: true
     
    -  /rrweb-cssom@0.6.0:
    -    resolution: {integrity: sha512-APM0Gt1KoXBz0iIkkdB/kfvGOwC4UuJFeG/c+yV7wSc7q96cG/kJ0HiYCnzivD9SB53cLV1MlHFNfOuPaadYSw==}
    -    dev: true
    +  rrweb-cssom@0.6.0: {}
     
    -  /run-parallel@1.2.0:
    -    resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==}
    +  run-parallel@1.2.0:
         dependencies:
           queue-microtask: 1.2.3
     
    -  /rw@1.3.3:
    -    resolution: {integrity: sha512-PdhdWy89SiZogBLaw42zdeqtRJ//zFd2PgQavcICDUgJT5oW10QCRKbJ6bg4r0/UY2M6BWd5tkxuGFRvCkgfHQ==}
    -    dev: false
    +  rw@1.3.3: {}
     
    -  /rxjs@7.8.1:
    -    resolution: {integrity: sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==}
    +  rxjs@7.8.1:
         dependencies:
           tslib: 2.6.2
    -    dev: true
     
    -  /safe-array-concat@1.1.2:
    -    resolution: {integrity: sha512-vj6RsCsWBCf19jIeHEfkRMw8DPiBb+DMXklQ/1SGDHOMlHdPUkZXFQ2YdplS23zESTijAcurb1aSgJA3AgMu1Q==}
    -    engines: {node: '>=0.4'}
    +  safe-array-concat@1.1.2:
         dependencies:
           call-bind: 1.0.7
           get-intrinsic: 1.2.4
           has-symbols: 1.0.3
           isarray: 2.0.5
    -    dev: true
     
    -  /safe-buffer@5.1.2:
    -    resolution: {integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==}
    -    dev: true
    +  safe-buffer@5.1.2: {}
     
    -  /safe-buffer@5.2.1:
    -    resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==}
    +  safe-buffer@5.2.1: {}
     
    -  /safe-regex-test@1.0.3:
    -    resolution: {integrity: sha512-CdASjNJPvRa7roO6Ra/gLYBTzYzzPyyBXxIMdGW3USQLyjWEls2RgW5UBTXaQVp+OrpeCK3bLem8smtmheoRuw==}
    -    engines: {node: '>= 0.4'}
    +  safe-regex-test@1.0.3:
         dependencies:
           call-bind: 1.0.7
           es-errors: 1.3.0
           is-regex: 1.1.4
    -    dev: true
     
    -  /safe-regex2@2.0.0:
    -    resolution: {integrity: sha512-PaUSFsUaNNuKwkBijoAPHAK6/eM6VirvyPWlZ7BAQy4D+hCvh4B6lIG+nPdhbFfIbP+gTGBcrdsOaUs0F+ZBOQ==}
    +  safe-regex2@2.0.0:
         dependencies:
           ret: 0.2.2
    -    dev: true
     
    -  /safe-stable-stringify@2.4.3:
    -    resolution: {integrity: sha512-e2bDA2WJT0wxseVd4lsDP4+3ONX6HpMXQa1ZhFQ7SU+GjvORCmShbCMltrtIDfkYhVHrOcPtj+KhmDBdPdZD1g==}
    -    engines: {node: '>=10'}
    -    dev: false
    +  safe-stable-stringify@2.4.3: {}
     
    -  /safer-buffer@2.1.2:
    -    resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==}
    +  safer-buffer@2.1.2: {}
     
    -  /saxes@6.0.0:
    -    resolution: {integrity: sha512-xAg7SOnEhrm5zI3puOOKyy1OMcMlIJZYNJY7xLBwSze0UjhPLnWfj2GF2EpT0jmzaJKIWKHLsaSSajf35bcYnA==}
    -    engines: {node: '>=v12.22.7'}
    +  saxes@6.0.0:
         dependencies:
           xmlchars: 2.2.0
    -    dev: true
     
    -  /schema-utils@3.3.0:
    -    resolution: {integrity: sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==}
    -    engines: {node: '>= 10.13.0'}
    +  schema-utils@3.3.0:
         dependencies:
           '@types/json-schema': 7.0.15
           ajv: 6.12.6
           ajv-keywords: 3.5.2(ajv@6.12.6)
    -    dev: true
     
    -  /schema-utils@4.2.0:
    -    resolution: {integrity: sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw==}
    -    engines: {node: '>= 12.13.0'}
    +  schema-utils@4.2.0:
         dependencies:
           '@types/json-schema': 7.0.15
           ajv: 8.12.0
           ajv-formats: 2.1.1(ajv@8.12.0)
           ajv-keywords: 5.1.0(ajv@8.12.0)
    -    dev: true
     
    -  /search-insights@2.13.0:
    -    resolution: {integrity: sha512-Orrsjf9trHHxFRuo9/rzm0KIWmgzE8RMlZMzuhZOJ01Rnz3D0YBAe+V6473t6/H6c7irs6Lt48brULAiRWb3Vw==}
    -    dev: true
    +  search-insights@2.13.0: {}
     
    -  /secure-json-parse@2.7.0:
    -    resolution: {integrity: sha512-6aU+Rwsezw7VR8/nyvKTx8QpWH9FrcYiXXlqC4z5d5XQBDRqtbfsRjnwGyqbi3gddNtWHuEk9OANUotL26qKUw==}
    -    dev: true
    +  secure-json-parse@2.7.0: {}
     
    -  /select-hose@2.0.0:
    -    resolution: {integrity: sha512-mEugaLK+YfkijB4fx0e6kImuJdCIt2LxCRcbEYPqRGCs4F2ogyfZU5IAZRdjCP8JPq2AtdNoC/Dux63d9Kiryg==}
    -    dev: true
    +  select-hose@2.0.0: {}
     
    -  /selfsigned@2.1.1:
    -    resolution: {integrity: sha512-GSL3aowiF7wa/WtSFwnUrludWFoNhftq8bUkH9pkzjpN2XSPOAYEgg6e0sS9s0rZwgJzJiQRPU18A6clnoW5wQ==}
    -    engines: {node: '>=10'}
    +  selfsigned@2.1.1:
         dependencies:
           node-forge: 1.3.1
    -    dev: true
     
    -  /semver-store@0.3.0:
    -    resolution: {integrity: sha512-TcZvGMMy9vodEFSse30lWinkj+JgOBvPn8wRItpQRSayhc+4ssDs335uklkfvQQJgL/WvmHLVj4Ycv2s7QCQMg==}
    -    dev: true
    +  semver-store@0.3.0: {}
     
    -  /semver@5.7.2:
    -    resolution: {integrity: sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==}
    -    hasBin: true
    -    dev: true
    +  semver@5.7.2: {}
     
    -  /semver@6.3.1:
    -    resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==}
    -    hasBin: true
    -    dev: true
    +  semver@6.3.1: {}
     
    -  /semver@7.5.4:
    -    resolution: {integrity: sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==}
    -    engines: {node: '>=10'}
    -    hasBin: true
    +  semver@7.5.4:
         dependencies:
           lru-cache: 6.0.0
    -    dev: true
     
    -  /semver@7.6.0:
    -    resolution: {integrity: sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==}
    -    engines: {node: '>=10'}
    -    hasBin: true
    +  semver@7.6.0:
         dependencies:
           lru-cache: 6.0.0
    -    dev: true
     
    -  /semver@7.6.1:
    -    resolution: {integrity: sha512-f/vbBsu+fOiYt+lmwZV0rVwJScl46HppnOA1ZvIuBWKOTlllpyJ3bfVax76/OrhCH38dyxoDIA8K7uB963IYgA==}
    -    engines: {node: '>=10'}
    -    hasBin: true
    -    dev: true
    -
    -  /semver@7.6.2:
    -    resolution: {integrity: sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==}
    -    engines: {node: '>=10'}
    -    hasBin: true
    -    dev: true
    -
    -  /send@0.18.0:
    -    resolution: {integrity: sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==}
    -    engines: {node: '>= 0.8.0'}
    +  send@0.18.0:
         dependencies:
           debug: 2.6.9
           depd: 2.0.0
    @@ -13945,17 +17460,12 @@ packages:
           statuses: 2.0.1
         transitivePeerDependencies:
           - supports-color
    -    dev: true
     
    -  /serialize-javascript@6.0.2:
    -    resolution: {integrity: sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==}
    +  serialize-javascript@6.0.2:
         dependencies:
           randombytes: 2.1.0
    -    dev: true
     
    -  /serve-index@1.9.1:
    -    resolution: {integrity: sha512-pXHfKNP4qujrtteMrSBb0rc8HJ9Ms/GrXwcUtUtD5s4ewDJI8bT3Cz2zTVRMKtri49pLx2e0Ya8ziP5Ya2pZZw==}
    -    engines: {node: '>= 0.8.0'}
    +  serve-index@1.9.1:
         dependencies:
           accepts: 1.3.8
           batch: 0.6.1
    @@ -13966,11 +17476,8 @@ packages:
           parseurl: 1.3.3
         transitivePeerDependencies:
           - supports-color
    -    dev: true
     
    -  /serve-static@1.15.0:
    -    resolution: {integrity: sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==}
    -    engines: {node: '>= 0.8.0'}
    +  serve-static@1.15.0:
         dependencies:
           encodeurl: 1.0.2
           escape-html: 1.0.3
    @@ -13978,19 +17485,12 @@ packages:
           send: 0.18.0
         transitivePeerDependencies:
           - supports-color
    -    dev: true
     
    -  /set-blocking@2.0.0:
    -    resolution: {integrity: sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==}
    -    dev: true
    +  set-blocking@2.0.0: {}
     
    -  /set-cookie-parser@2.6.0:
    -    resolution: {integrity: sha512-RVnVQxTXuerk653XfuliOxBP81Sf0+qfQE73LIYKcyMYHG94AuH0kgrQpRDuTZnSmjpysHmzxJXKNfa6PjFhyQ==}
    -    dev: true
    +  set-cookie-parser@2.6.0: {}
     
    -  /set-function-length@1.2.2:
    -    resolution: {integrity: sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==}
    -    engines: {node: '>= 0.4'}
    +  set-function-length@1.2.2:
         dependencies:
           define-data-property: 1.1.4
           es-errors: 1.3.0
    @@ -13998,255 +17498,151 @@ packages:
           get-intrinsic: 1.2.4
           gopd: 1.0.1
           has-property-descriptors: 1.0.2
    -    dev: true
     
    -  /set-function-name@2.0.2:
    -    resolution: {integrity: sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==}
    -    engines: {node: '>= 0.4'}
    +  set-function-name@2.0.2:
         dependencies:
           define-data-property: 1.1.4
           es-errors: 1.3.0
           functions-have-names: 1.2.3
           has-property-descriptors: 1.0.2
    -    dev: true
     
    -  /setprototypeof@1.1.0:
    -    resolution: {integrity: sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==}
    -    dev: true
    +  setprototypeof@1.1.0: {}
     
    -  /setprototypeof@1.2.0:
    -    resolution: {integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==}
    -    dev: true
    +  setprototypeof@1.2.0: {}
     
    -  /shallow-clone@3.0.1:
    -    resolution: {integrity: sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==}
    -    engines: {node: '>=8'}
    +  shallow-clone@3.0.1:
         dependencies:
           kind-of: 6.0.3
    -    dev: true
     
    -  /shebang-command@1.2.0:
    -    resolution: {integrity: sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==}
    -    engines: {node: '>=0.10.0'}
    +  shebang-command@1.2.0:
         dependencies:
           shebang-regex: 1.0.0
    -    dev: true
     
    -  /shebang-command@2.0.0:
    -    resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==}
    -    engines: {node: '>=8'}
    +  shebang-command@2.0.0:
         dependencies:
           shebang-regex: 3.0.0
     
    -  /shebang-regex@1.0.0:
    -    resolution: {integrity: sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==}
    -    engines: {node: '>=0.10.0'}
    -    dev: true
    +  shebang-regex@1.0.0: {}
     
    -  /shebang-regex@3.0.0:
    -    resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==}
    -    engines: {node: '>=8'}
    +  shebang-regex@3.0.0: {}
     
    -  /shell-quote@1.8.1:
    -    resolution: {integrity: sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA==}
    -    dev: true
    +  shell-quote@1.8.1: {}
     
    -  /shiki@0.14.7:
    -    resolution: {integrity: sha512-dNPAPrxSc87ua2sKJ3H5dQ/6ZaY8RNnaAqK+t0eG7p0Soi2ydiqbGOTaZCqaYvA/uZYfS1LJnemt3Q+mSfcPCg==}
    +  shiki@0.14.7:
         dependencies:
           ansi-sequence-parser: 1.1.1
           jsonc-parser: 3.2.1
           vscode-oniguruma: 1.7.0
           vscode-textmate: 8.0.0
    -    dev: true
     
    -  /shiki@1.4.0:
    -    resolution: {integrity: sha512-5WIn0OL8PWm7JhnTwRWXniy6eEDY234mRrERVlFa646V2ErQqwIFd2UML7e0Pq9eqSKLoMa3Ke+xbsF+DAuy+Q==}
    +  shiki@1.4.0:
         dependencies:
           '@shikijs/core': 1.4.0
    -    dev: true
     
    -  /side-channel@1.0.6:
    -    resolution: {integrity: sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==}
    -    engines: {node: '>= 0.4'}
    +  side-channel@1.0.6:
         dependencies:
           call-bind: 1.0.7
           es-errors: 1.3.0
           get-intrinsic: 1.2.4
           object-inspect: 1.13.1
    -    dev: true
     
    -  /siginfo@2.0.0:
    -    resolution: {integrity: sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==}
    -    dev: true
    +  siginfo@2.0.0: {}
     
    -  /signal-exit@3.0.7:
    -    resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==}
    -    dev: true
    +  signal-exit@3.0.7: {}
     
    -  /signal-exit@4.1.0:
    -    resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==}
    -    engines: {node: '>=14'}
    +  signal-exit@4.1.0: {}
     
    -  /simple-swizzle@0.2.2:
    -    resolution: {integrity: sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg==}
    +  simple-swizzle@0.2.2:
         dependencies:
           is-arrayish: 0.3.2
    -    dev: false
     
    -  /sirv@2.0.4:
    -    resolution: {integrity: sha512-94Bdh3cC2PKrbgSOUqTiGPWVZeSiXfKOVZNJniWoqrWrRkB1CJzBU3NEbiTsPcYy1lDsANA/THzS+9WBiy5nfQ==}
    -    engines: {node: '>= 10'}
    +  sirv@2.0.4:
         dependencies:
           '@polka/url': 1.0.0-next.25
           mrmime: 2.0.0
           totalist: 3.0.1
    -    dev: true
     
    -  /sisteransi@1.0.5:
    -    resolution: {integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==}
    -    dev: true
    +  sisteransi@1.0.5: {}
     
    -  /slash@3.0.0:
    -    resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==}
    -    engines: {node: '>=8'}
    -    dev: true
    +  slash@3.0.0: {}
     
    -  /slash@4.0.0:
    -    resolution: {integrity: sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==}
    -    engines: {node: '>=12'}
    -    dev: true
    +  slash@4.0.0: {}
     
    -  /slash@5.1.0:
    -    resolution: {integrity: sha512-ZA6oR3T/pEyuqwMgAKT0/hAv8oAXckzbkmR0UkUosQ+Mc4RxGoJkRmwHgHufaenlyAgE1Mxgpdcrf75y6XcnDg==}
    -    engines: {node: '>=14.16'}
    -    dev: true
    +  slash@5.1.0: {}
     
    -  /slice-ansi@3.0.0:
    -    resolution: {integrity: sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ==}
    -    engines: {node: '>=8'}
    +  slice-ansi@3.0.0:
         dependencies:
           ansi-styles: 4.3.0
           astral-regex: 2.0.0
           is-fullwidth-code-point: 3.0.0
    -    dev: true
     
    -  /slice-ansi@4.0.0:
    -    resolution: {integrity: sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==}
    -    engines: {node: '>=10'}
    +  slice-ansi@4.0.0:
         dependencies:
           ansi-styles: 4.3.0
           astral-regex: 2.0.0
           is-fullwidth-code-point: 3.0.0
    -    dev: true
     
    -  /slice-ansi@5.0.0:
    -    resolution: {integrity: sha512-FC+lgizVPfie0kkhqUScwRu1O/lF6NOgJmlCgK+/LYxDCTk8sGelYaHDhFcDN+Sn3Cv+3VSa4Byeo+IMCzpMgQ==}
    -    engines: {node: '>=12'}
    +  slice-ansi@5.0.0:
         dependencies:
           ansi-styles: 6.2.1
           is-fullwidth-code-point: 4.0.0
    -    dev: true
     
    -  /slice-ansi@7.1.0:
    -    resolution: {integrity: sha512-bSiSngZ/jWeX93BqeIAbImyTbEihizcwNjFoRUIY/T1wWQsfsm2Vw1agPKylXvQTU7iASGdHhyqRlqQzfz+Htg==}
    -    engines: {node: '>=18'}
    +  slice-ansi@7.1.0:
         dependencies:
           ansi-styles: 6.2.1
           is-fullwidth-code-point: 5.0.0
    -    dev: true
     
    -  /smob@1.5.0:
    -    resolution: {integrity: sha512-g6T+p7QO8npa+/hNx9ohv1E5pVCmWrVCUzUXJyLdMmftX6ER0oiWY/w9knEonLpnOp6b6FenKnMfR8gqwWdwig==}
    -    dev: true
    +  smob@1.5.0: {}
     
    -  /sockjs@0.3.24:
    -    resolution: {integrity: sha512-GJgLTZ7vYb/JtPSSZ10hsOYIvEYsjbNU+zPdIHcUaWVNUEPivzxku31865sSSud0Da0W4lEeOPlmw93zLQchuQ==}
    +  sockjs@0.3.24:
         dependencies:
           faye-websocket: 0.11.4
           uuid: 8.3.2
           websocket-driver: 0.7.4
    -    dev: true
     
    -  /sonic-boom@1.4.1:
    -    resolution: {integrity: sha512-LRHh/A8tpW7ru89lrlkU4AszXt1dbwSjVWguGrmlxE7tawVmDBlI1PILMkXAxJTwqhgsEeTHzj36D5CmHgQmNg==}
    +  sonic-boom@1.4.1:
         dependencies:
           atomic-sleep: 1.0.0
           flatstr: 1.0.12
    -    dev: true
     
    -  /sonic-boom@3.8.1:
    -    resolution: {integrity: sha512-y4Z8LCDBuum+PBP3lSV7RHrXscqksve/bi0as7mhwVnBW+/wUqKT/2Kb7um8yqcFy0duYbbPxzt89Zy2nOCaxg==}
    +  sonic-boom@3.8.1:
         dependencies:
           atomic-sleep: 1.0.0
    -    dev: false
     
    -  /source-map-js@1.0.1:
    -    resolution: {integrity: sha512-4+TN2b3tqOCd/kaGRJ/sTYA0tR0mdXx26ipdolxcwtJVqEnqNYvlCAt1q3ypy4QMlYus+Zh34RNtYLoq2oQ4IA==}
    -    engines: {node: '>=0.10.0'}
    -    dev: true
    +  source-map-js@1.0.1: {}
     
    -  /source-map-js@1.0.2:
    -    resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==}
    -    engines: {node: '>=0.10.0'}
    -    dev: true
    +  source-map-js@1.0.2: {}
     
    -  /source-map-js@1.2.0:
    -    resolution: {integrity: sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==}
    -    engines: {node: '>=0.10.0'}
    +  source-map-js@1.2.0: {}
     
    -  /source-map-support@0.5.13:
    -    resolution: {integrity: sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==}
    +  source-map-support@0.5.13:
         dependencies:
           buffer-from: 1.1.2
           source-map: 0.6.1
    -    dev: true
     
    -  /source-map-support@0.5.21:
    -    resolution: {integrity: sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==}
    +  source-map-support@0.5.21:
         dependencies:
           buffer-from: 1.1.2
           source-map: 0.6.1
    -    dev: true
     
    -  /source-map@0.1.43:
    -    resolution: {integrity: sha512-VtCvB9SIQhk3aF6h+N85EaqIaBFIAfZ9Cu+NJHHVvc8BbEcnvDcFw6sqQ2dQrT6SlOrZq3tIvyD9+EGq/lJryQ==}
    -    engines: {node: '>=0.8.0'}
    -    requiresBuild: true
    +  source-map@0.1.43:
         dependencies:
           amdefine: 1.0.1
    -    dev: true
         optional: true
     
    -  /source-map@0.6.1:
    -    resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==}
    -    engines: {node: '>=0.10.0'}
    -    dev: true
    +  source-map@0.6.1: {}
     
    -  /source-map@0.7.4:
    -    resolution: {integrity: sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==}
    -    engines: {node: '>= 8'}
    -    dev: true
    +  source-map@0.7.4: {}
     
    -  /source-map@0.8.0-beta.0:
    -    resolution: {integrity: sha512-2ymg6oRBpebeZi9UUNsgQ89bhx01TcTkmNTGnNO88imTmbSgy4nfujrgVEFKWpMTEGA11EDkTt7mqObTPdigIA==}
    -    engines: {node: '>= 8'}
    +  source-map@0.8.0-beta.0:
         dependencies:
           whatwg-url: 7.1.0
    -    dev: true
     
    -  /sourcemap-codec@1.4.8:
    -    resolution: {integrity: sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==}
    -    deprecated: Please use @jridgewell/sourcemap-codec instead
    -    dev: true
    +  sourcemap-codec@1.4.8: {}
     
    -  /spawn-command@0.0.2:
    -    resolution: {integrity: sha512-zC8zGoGkmc8J9ndvml8Xksr1Amk9qBujgbF0JAIWO7kXr43w0h/0GJNM/Vustixu+YE8N/MTrQ7N31FvHUACxQ==}
    -    dev: true
    +  spawn-command@0.0.2: {}
     
    -  /spawn-wrap@2.0.0:
    -    resolution: {integrity: sha512-EeajNjfN9zMnULLwhZZQU3GWBoFNkbngTUPfaawT4RkMiviTxcX0qfhVbGey39mfctfDHkWtuecgQ8NJcyQWHg==}
    -    engines: {node: '>=8'}
    +  spawn-wrap@2.0.0:
         dependencies:
           foreground-child: 2.0.0
           is-windows: 1.0.2
    @@ -14254,39 +17650,27 @@ packages:
           rimraf: 3.0.2
           signal-exit: 3.0.7
           which: 2.0.2
    -    dev: true
     
    -  /spdx-correct@3.2.0:
    -    resolution: {integrity: sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==}
    +  spdx-correct@3.2.0:
         dependencies:
           spdx-expression-parse: 3.0.1
           spdx-license-ids: 3.0.17
    -    dev: true
     
    -  /spdx-exceptions@2.5.0:
    -    resolution: {integrity: sha512-PiU42r+xO4UbUS1buo3LPJkjlO7430Xn5SVAhdpzzsPHsjbYVflnnFdATgabnLude+Cqu25p6N+g2lw/PFsa4w==}
    -    dev: true
    +  spdx-exceptions@2.5.0: {}
     
    -  /spdx-expression-parse@3.0.1:
    -    resolution: {integrity: sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==}
    +  spdx-expression-parse@3.0.1:
         dependencies:
           spdx-exceptions: 2.5.0
           spdx-license-ids: 3.0.17
    -    dev: true
     
    -  /spdx-expression-parse@4.0.0:
    -    resolution: {integrity: sha512-Clya5JIij/7C6bRR22+tnGXbc4VKlibKSVj2iHvVeX5iMW7s1SIQlqu699JkODJJIhh/pUu8L0/VLh8xflD+LQ==}
    +  spdx-expression-parse@4.0.0:
         dependencies:
           spdx-exceptions: 2.5.0
           spdx-license-ids: 3.0.17
    -    dev: true
     
    -  /spdx-license-ids@3.0.17:
    -    resolution: {integrity: sha512-sh8PWc/ftMqAAdFiBu6Fy6JUOYjqDJBJvIhpfDMyHrr0Rbp5liZqd4TjtQ/RgfLjKFZb+LMx5hpml5qOWy0qvg==}
    -    dev: true
    +  spdx-license-ids@3.0.17: {}
     
    -  /spdy-transport@3.0.0:
    -    resolution: {integrity: sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==}
    +  spdy-transport@3.0.0:
         dependencies:
           debug: 4.3.4(supports-color@8.1.1)
           detect-node: 2.1.0
    @@ -14296,11 +17680,8 @@ packages:
           wbuf: 1.7.3
         transitivePeerDependencies:
           - supports-color
    -    dev: true
     
    -  /spdy@4.0.2:
    -    resolution: {integrity: sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA==}
    -    engines: {node: '>=6.0.0'}
    +  spdy@4.0.2:
         dependencies:
           debug: 4.3.4(supports-color@8.1.1)
           handle-thing: 2.0.1
    @@ -14309,32 +17690,18 @@ packages:
           spdy-transport: 3.0.0
         transitivePeerDependencies:
           - supports-color
    -    dev: true
     
    -  /speakingurl@14.0.1:
    -    resolution: {integrity: sha512-1POYv7uv2gXoyGFpBCmpDVSNV74IfsWlDW216UPjbWufNf+bSU6GdbDsxdcxtfwb4xlI3yxzOTKClUosxARYrQ==}
    -    engines: {node: '>=0.10.0'}
    -    dev: true
    +  speakingurl@14.0.1: {}
     
    -  /split2@4.2.0:
    -    resolution: {integrity: sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg==}
    -    engines: {node: '>= 10.x'}
    -    dev: false
    +  split2@4.2.0: {}
     
    -  /split@0.3.3:
    -    resolution: {integrity: sha512-wD2AeVmxXRBoX44wAycgjVpMhvbwdI2aZjCkvfNcH1YqHQvJVa1duWc73OyVGJUc05fhFaTZeQ/PYsrmyH0JVA==}
    +  split@0.3.3:
         dependencies:
           through: 2.3.8
    -    dev: true
     
    -  /sprintf-js@1.0.3:
    -    resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==}
    -    dev: true
    +  sprintf-js@1.0.3: {}
     
    -  /sshpk@1.18.0:
    -    resolution: {integrity: sha512-2p2KJZTSqQ/I3+HX42EpYOa2l3f8Erv8MWKsy2I9uf4wA7yFIkXRffYdsx86y6z4vHtV8u7g+pPlr8/4ouAxsQ==}
    -    engines: {node: '>=0.10.0'}
    -    hasBin: true
    +  sshpk@1.18.0:
         dependencies:
           asn1: 0.2.6
           assert-plus: 1.0.0
    @@ -14345,27 +17712,16 @@ packages:
           jsbn: 0.1.1
           safer-buffer: 2.1.2
           tweetnacl: 0.14.5
    -    dev: true
     
    -  /ssim.js@3.5.0:
    -    resolution: {integrity: sha512-Aj6Jl2z6oDmgYFFbQqK7fght19bXdOxY7Tj03nF+03M9gCBAjeIiO8/PlEGMfKDwYpw4q6iBqVq2YuREorGg/g==}
    -    dev: true
    +  ssim.js@3.5.0: {}
     
    -  /stack-utils@2.0.6:
    -    resolution: {integrity: sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==}
    -    engines: {node: '>=10'}
    +  stack-utils@2.0.6:
         dependencies:
           escape-string-regexp: 2.0.0
    -    dev: true
     
    -  /stackback@0.0.2:
    -    resolution: {integrity: sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==}
    -    dev: true
    +  stackback@0.0.2: {}
     
    -  /start-server-and-test@2.0.3:
    -    resolution: {integrity: sha512-QsVObjfjFZKJE6CS6bSKNwWZCKBG6975/jKRPPGFfFh+yOQglSeGXiNWjzgQNXdphcBI9nXbyso9tPfX4YAUhg==}
    -    engines: {node: '>=16'}
    -    hasBin: true
    +  start-server-and-test@2.0.3:
         dependencies:
           arg: 5.0.2
           bluebird: 3.7.2
    @@ -14377,74 +17733,45 @@ packages:
           wait-on: 7.2.0(debug@4.3.4)
         transitivePeerDependencies:
           - supports-color
    -    dev: true
     
    -  /statuses@1.5.0:
    -    resolution: {integrity: sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==}
    -    engines: {node: '>= 0.6'}
    -    dev: true
    +  statuses@1.5.0: {}
     
    -  /statuses@2.0.1:
    -    resolution: {integrity: sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==}
    -    engines: {node: '>= 0.8'}
    -    dev: true
    +  statuses@2.0.1: {}
     
    -  /std-env@3.7.0:
    -    resolution: {integrity: sha512-JPbdCEQLj1w5GilpiHAx3qJvFndqybBysA3qUOnznweH4QbNYUsW/ea8QzSrnh0vNsezMMw5bcVool8lM0gwzg==}
    -    dev: true
    +  std-env@3.7.0: {}
     
    -  /stream-combiner@0.0.4:
    -    resolution: {integrity: sha512-rT00SPnTVyRsaSz5zgSPma/aHSOic5U1prhYdRy5HS2kTZviFpmDgzilbtsJsxiroqACmayynDN/9VzIbX5DOw==}
    +  stream-combiner@0.0.4:
         dependencies:
           duplexer: 0.1.2
    -    dev: true
     
    -  /string-argv@0.3.2:
    -    resolution: {integrity: sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q==}
    -    engines: {node: '>=0.6.19'}
    -    dev: true
    +  string-argv@0.3.2: {}
     
    -  /string-length@4.0.2:
    -    resolution: {integrity: sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==}
    -    engines: {node: '>=10'}
    +  string-length@4.0.2:
         dependencies:
           char-regex: 1.0.2
           strip-ansi: 6.0.1
    -    dev: true
     
    -  /string-similarity@4.0.4:
    -    resolution: {integrity: sha512-/q/8Q4Bl4ZKAPjj8WerIBJWALKkaPRfrvhfF8k/B23i4nzrlRj2/go1m90In7nG/3XDSbOo0+pu6RvCTM9RGMQ==}
    -    deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.
    -    dev: true
    +  string-similarity@4.0.4: {}
     
    -  /string-width@4.2.3:
    -    resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==}
    -    engines: {node: '>=8'}
    +  string-width@4.2.3:
         dependencies:
           emoji-regex: 8.0.0
           is-fullwidth-code-point: 3.0.0
           strip-ansi: 6.0.1
     
    -  /string-width@5.1.2:
    -    resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==}
    -    engines: {node: '>=12'}
    +  string-width@5.1.2:
         dependencies:
           eastasianwidth: 0.2.0
           emoji-regex: 9.2.2
           strip-ansi: 7.1.0
     
    -  /string-width@7.1.0:
    -    resolution: {integrity: sha512-SEIJCWiX7Kg4c129n48aDRwLbFb2LJmXXFrWBG4NGaRtMQ3myKPKbwrD1BKqQn74oCoNMBVrfDEr5M9YxCsrkw==}
    -    engines: {node: '>=18'}
    +  string-width@7.1.0:
         dependencies:
           emoji-regex: 10.3.0
           get-east-asian-width: 1.2.0
           strip-ansi: 7.1.0
    -    dev: true
     
    -  /string.prototype.matchall@4.0.11:
    -    resolution: {integrity: sha512-NUdh0aDavY2og7IbBPenWqR9exH+E26Sv8e0/eTe1tltDGZL+GtBkDAnnyBtmekfK6/Dq3MkcGtzXFEd1LQrtg==}
    -    engines: {node: '>= 0.4'}
    +  string.prototype.matchall@4.0.11:
         dependencies:
           call-bind: 1.0.7
           define-properties: 1.2.1
    @@ -14458,184 +17785,110 @@ packages:
           regexp.prototype.flags: 1.5.2
           set-function-name: 2.0.2
           side-channel: 1.0.6
    -    dev: true
     
    -  /string.prototype.trim@1.2.9:
    -    resolution: {integrity: sha512-klHuCNxiMZ8MlsOihJhJEBJAiMVqU3Z2nEXWfWnIqjN0gEFS9J9+IxKozWWtQGcgoa1WUZzLjKPTr4ZHNFTFxw==}
    -    engines: {node: '>= 0.4'}
    +  string.prototype.trim@1.2.9:
         dependencies:
           call-bind: 1.0.7
           define-properties: 1.2.1
           es-abstract: 1.23.3
           es-object-atoms: 1.0.0
    -    dev: true
     
    -  /string.prototype.trimend@1.0.8:
    -    resolution: {integrity: sha512-p73uL5VCHCO2BZZ6krwwQE3kCzM7NKmis8S//xEC6fQonchbum4eP6kR4DLEjQFO3Wnj3Fuo8NM0kOSjVdHjZQ==}
    +  string.prototype.trimend@1.0.8:
         dependencies:
           call-bind: 1.0.7
           define-properties: 1.2.1
           es-object-atoms: 1.0.0
    -    dev: true
     
    -  /string.prototype.trimstart@1.0.8:
    -    resolution: {integrity: sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==}
    -    engines: {node: '>= 0.4'}
    +  string.prototype.trimstart@1.0.8:
         dependencies:
           call-bind: 1.0.7
           define-properties: 1.2.1
           es-object-atoms: 1.0.0
    -    dev: true
     
    -  /string_decoder@1.1.1:
    -    resolution: {integrity: sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==}
    +  string_decoder@1.1.1:
         dependencies:
           safe-buffer: 5.1.2
    -    dev: true
     
    -  /string_decoder@1.3.0:
    -    resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==}
    +  string_decoder@1.3.0:
         dependencies:
           safe-buffer: 5.2.1
     
    -  /stringify-object@3.3.0:
    -    resolution: {integrity: sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw==}
    -    engines: {node: '>=4'}
    +  stringify-object@3.3.0:
         dependencies:
           get-own-enumerable-property-symbols: 3.0.2
           is-obj: 1.0.1
           is-regexp: 1.0.0
    -    dev: true
     
    -  /strip-ansi@3.0.1:
    -    resolution: {integrity: sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==}
    -    engines: {node: '>=0.10.0'}
    +  strip-ansi@3.0.1:
         dependencies:
           ansi-regex: 2.1.1
    -    dev: true
     
    -  /strip-ansi@6.0.1:
    -    resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==}
    -    engines: {node: '>=8'}
    +  strip-ansi@6.0.1:
         dependencies:
           ansi-regex: 5.0.1
     
    -  /strip-ansi@7.1.0:
    -    resolution: {integrity: sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==}
    -    engines: {node: '>=12'}
    +  strip-ansi@7.1.0:
         dependencies:
           ansi-regex: 6.0.1
     
    -  /strip-bom@4.0.0:
    -    resolution: {integrity: sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==}
    -    engines: {node: '>=8'}
    -    dev: true
    +  strip-bom@4.0.0: {}
     
    -  /strip-comments@2.0.1:
    -    resolution: {integrity: sha512-ZprKx+bBLXv067WTCALv8SSz5l2+XhpYCsVtSqlMnkAXMWDq+/ekVbl1ghqP9rUHTzv6sm/DwCOiYutU/yp1fw==}
    -    engines: {node: '>=10'}
    -    dev: true
    +  strip-comments@2.0.1: {}
     
    -  /strip-eof@1.0.0:
    -    resolution: {integrity: sha512-7FCwGGmx8mD5xQd3RPUvnSpUXHM3BWuzjtpD4TXsfcZ9EL4azvVVUscFYwD9nx8Kh+uCBC00XBtAykoMHwTh8Q==}
    -    engines: {node: '>=0.10.0'}
    -    dev: true
    +  strip-eof@1.0.0: {}
     
    -  /strip-final-newline@2.0.0:
    -    resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==}
    -    engines: {node: '>=6'}
    -    dev: true
    +  strip-final-newline@2.0.0: {}
     
    -  /strip-final-newline@3.0.0:
    -    resolution: {integrity: sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==}
    -    engines: {node: '>=12'}
    -    dev: true
    +  strip-final-newline@3.0.0: {}
     
    -  /strip-indent@3.0.0:
    -    resolution: {integrity: sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==}
    -    engines: {node: '>=8'}
    +  strip-indent@3.0.0:
         dependencies:
           min-indent: 1.0.1
    -    dev: true
     
    -  /strip-json-comments@3.1.1:
    -    resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==}
    -    engines: {node: '>=8'}
    -    dev: true
    +  strip-json-comments@3.1.1: {}
     
    -  /strip-literal@2.1.0:
    -    resolution: {integrity: sha512-Op+UycaUt/8FbN/Z2TWPBLge3jWrP3xj10f3fnYxf052bKuS3EKs1ZQcVGjnEMdsNVAM+plXRdmjrZ/KgG3Skw==}
    +  strip-literal@2.1.0:
         dependencies:
           js-tokens: 9.0.0
    -    dev: true
     
    -  /stylis@4.3.2:
    -    resolution: {integrity: sha512-bhtUjWd/z6ltJiQwg0dUfxEJ+W+jdqQd8TbWLWyeIJHlnsqmGLRFFd8e5mA0AZi/zx90smXRlN66YMTcaSFifg==}
    -    dev: false
    +  stylis@4.3.2: {}
     
    -  /sucrase@3.35.0:
    -    resolution: {integrity: sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA==}
    -    engines: {node: '>=16 || 14 >=14.17'}
    -    hasBin: true
    +  sucrase@3.35.0:
         dependencies:
           '@jridgewell/gen-mapping': 0.3.5
           commander: 4.1.1
    -      glob: 10.3.15
    +      glob: 10.3.12
           lines-and-columns: 1.2.4
           mz: 2.7.0
           pirates: 4.0.6
           ts-interface-checker: 0.1.13
    -    dev: false
     
    -  /supports-color@2.0.0:
    -    resolution: {integrity: sha512-KKNVtd6pCYgPIKU4cp2733HWYCpplQhddZLBUryaAHou723x+FRzQ5Df824Fj+IyyuiQTRoub4SnIFfIcrp70g==}
    -    engines: {node: '>=0.8.0'}
    -    dev: true
    +  supports-color@2.0.0: {}
     
    -  /supports-color@5.5.0:
    -    resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==}
    -    engines: {node: '>=4'}
    +  supports-color@5.5.0:
         dependencies:
           has-flag: 3.0.0
    -    dev: true
     
    -  /supports-color@7.2.0:
    -    resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==}
    -    engines: {node: '>=8'}
    +  supports-color@7.2.0:
         dependencies:
           has-flag: 4.0.0
    -    dev: true
     
    -  /supports-color@8.1.1:
    -    resolution: {integrity: sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==}
    -    engines: {node: '>=10'}
    +  supports-color@8.1.1:
         dependencies:
           has-flag: 4.0.0
     
    -  /supports-preserve-symlinks-flag@1.0.0:
    -    resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==}
    -    engines: {node: '>= 0.4'}
    +  supports-preserve-symlinks-flag@1.0.0: {}
     
    -  /symbol-tree@3.2.4:
    -    resolution: {integrity: sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==}
    -    dev: true
    +  symbol-tree@3.2.4: {}
     
    -  /synckit@0.9.0:
    -    resolution: {integrity: sha512-7RnqIMq572L8PeEzKeBINYEJDDxpcH8JEgLwUqBd3TkofhFRbkq4QLR0u+36avGAhCRbk2nnmjcW9SE531hPDg==}
    -    engines: {node: ^14.18.0 || >=16.0.0}
    +  synckit@0.9.0:
         dependencies:
           '@pkgr/core': 0.1.1
           tslib: 2.6.2
    -    dev: true
     
    -  /tabbable@6.2.0:
    -    resolution: {integrity: sha512-Cat63mxsVJlzYvN51JmVXIgNoUokrIaT2zLclCXjRd8boZ0004U4KCs/sToJ75C6sdlByWxpYnb5Boif1VSFew==}
    -    dev: true
    +  tabbable@6.2.0: {}
     
    -  /tailwindcss@3.4.3:
    -    resolution: {integrity: sha512-U7sxQk/n397Bmx4JHbJx/iSOOv5G+II3f1kpLpY2QeUv5DcPdcTsYLlusZfq1NthHS1c1cZoyFmmkex1rzke0A==}
    -    engines: {node: '>=14.0.0'}
    -    hasBin: true
    +  tailwindcss@3.4.3:
         dependencies:
           '@alloc/quick-lru': 5.2.0
           arg: 5.0.2
    @@ -14661,16 +17914,10 @@ packages:
           sucrase: 3.35.0
         transitivePeerDependencies:
           - ts-node
    -    dev: false
     
    -  /tapable@2.2.1:
    -    resolution: {integrity: sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==}
    -    engines: {node: '>=6'}
    -    dev: true
    +  tapable@2.2.1: {}
     
    -  /teen_process@1.16.0:
    -    resolution: {integrity: sha512-RnW7HHZD1XuhSTzD3djYOdIl1adE3oNEprE3HOFFxWs5m4FZsqYRhKJ4mDU2udtNGMLUS7jV7l8vVRLWAvmPDw==}
    -    engines: {'0': node}
    +  teen_process@1.16.0:
         dependencies:
           '@babel/runtime': 7.24.4
           bluebird: 3.7.2
    @@ -14678,362 +17925,209 @@ packages:
           shell-quote: 1.8.1
           source-map-support: 0.5.21
           which: 2.0.2
    -    dev: true
     
    -  /temp-dir@2.0.0:
    -    resolution: {integrity: sha512-aoBAniQmmwtcKp/7BzsH8Cxzv8OL736p7v1ihGb5e9DJ9kTwGWHrQrVB5+lfVDzfGrdRzXch+ig7LHaY1JTOrg==}
    -    engines: {node: '>=8'}
    -    dev: true
    +  temp-dir@2.0.0: {}
     
    -  /tempy@0.6.0:
    -    resolution: {integrity: sha512-G13vtMYPT/J8A4X2SjdtBTphZlrp1gKv6hZiOjw14RCWg6GbHuQBGtjlx75xLbYV/wEc0D7G5K4rxKP/cXk8Bw==}
    -    engines: {node: '>=10'}
    +  tempy@0.6.0:
         dependencies:
           is-stream: 2.0.1
           temp-dir: 2.0.0
           type-fest: 0.16.0
           unique-string: 2.0.0
    -    dev: true
     
    -  /term-img@4.1.0:
    -    resolution: {integrity: sha512-DFpBhaF5j+2f7kheKFc1ajsAUUDGOaNPpKPtiIMxlbfud6mvfFZuWGnTRpaujUa5J7yl6cIw/h6nyr4mSsENPg==}
    -    engines: {node: '>=8'}
    +  term-img@4.1.0:
         dependencies:
           ansi-escapes: 4.3.2
           iterm2-version: 4.2.0
    -    dev: true
     
    -  /terser-webpack-plugin@5.3.10(esbuild@0.20.2)(webpack@5.91.0):
    -    resolution: {integrity: sha512-BKFPWlPDndPs+NGGCr1U59t0XScL5317Y0UReNrHaw9/FwhPENlq6bfgs+4yPfyP51vqC1bQ4rp1EfXW5ZSH9w==}
    -    engines: {node: '>= 10.13.0'}
    -    peerDependencies:
    -      '@swc/core': '*'
    -      esbuild: '*'
    -      uglify-js: '*'
    -      webpack: ^5.1.0
    -    peerDependenciesMeta:
    -      '@swc/core':
    -        optional: true
    -      esbuild:
    -        optional: true
    -      uglify-js:
    -        optional: true
    +  terser-webpack-plugin@5.3.10(esbuild@0.20.2)(webpack@5.91.0(esbuild@0.20.2)(webpack-cli@4.10.0)):
         dependencies:
           '@jridgewell/trace-mapping': 0.3.25
    -      esbuild: 0.20.2
           jest-worker: 27.5.1
           schema-utils: 3.3.0
           serialize-javascript: 6.0.2
           terser: 5.29.2
           webpack: 5.91.0(esbuild@0.20.2)(webpack-cli@4.10.0)
    -    dev: true
    +    optionalDependencies:
    +      esbuild: 0.20.2
     
    -  /terser@5.29.2:
    -    resolution: {integrity: sha512-ZiGkhUBIM+7LwkNjXYJq8svgkd+QK3UUr0wJqY4MieaezBSAIPgbSPZyIx0idM6XWK5CMzSWa8MJIzmRcB8Caw==}
    -    engines: {node: '>=10'}
    -    hasBin: true
    +  terser-webpack-plugin@5.3.10(esbuild@0.20.2)(webpack@5.91.0(esbuild@0.20.2)):
    +    dependencies:
    +      '@jridgewell/trace-mapping': 0.3.25
    +      jest-worker: 27.5.1
    +      schema-utils: 3.3.0
    +      serialize-javascript: 6.0.2
    +      terser: 5.29.2
    +      webpack: 5.91.0(esbuild@0.20.2)
    +    optionalDependencies:
    +      esbuild: 0.20.2
    +
    +  terser@5.29.2:
         dependencies:
           '@jridgewell/source-map': 0.3.6
           acorn: 8.11.3
           commander: 2.20.3
           source-map-support: 0.5.21
    -    dev: true
     
    -  /terser@5.31.0:
    -    resolution: {integrity: sha512-Q1JFAoUKE5IMfI4Z/lkE/E6+SwgzO+x4tq4v1AyBLRj8VSYvRO6A/rQrPg1yud4g0En9EKI1TvFRF2tQFcoUkg==}
    -    engines: {node: '>=10'}
    -    hasBin: true
    +  terser@5.31.0:
         dependencies:
           '@jridgewell/source-map': 0.3.6
           acorn: 8.11.3
           commander: 2.20.3
           source-map-support: 0.5.21
    -    dev: true
     
    -  /test-exclude@6.0.0:
    -    resolution: {integrity: sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==}
    -    engines: {node: '>=8'}
    +  test-exclude@6.0.0:
         dependencies:
           '@istanbuljs/schema': 0.1.3
           glob: 7.2.3
           minimatch: 3.1.2
    -    dev: true
     
    -  /text-table@0.2.0:
    -    resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==}
    -    dev: true
    +  text-table@0.2.0: {}
     
    -  /thenify-all@1.6.0:
    -    resolution: {integrity: sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==}
    -    engines: {node: '>=0.8'}
    +  thenify-all@1.6.0:
         dependencies:
           thenify: 3.3.1
     
    -  /thenify@3.3.1:
    -    resolution: {integrity: sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==}
    +  thenify@3.3.1:
         dependencies:
           any-promise: 1.3.0
     
    -  /thread-stream@2.4.1:
    -    resolution: {integrity: sha512-d/Ex2iWd1whipbT681JmTINKw0ZwOUBZm7+Gjs64DHuX34mmw8vJL2bFAaNacaW72zYiTJxSHi5abUuOi5nsfg==}
    +  thread-stream@2.4.1:
         dependencies:
           real-require: 0.2.0
    -    dev: false
     
    -  /throat@6.0.2:
    -    resolution: {integrity: sha512-WKexMoJj3vEuK0yFEapj8y64V0A6xcuPuK9Gt1d0R+dzCSJc0lHqQytAbSB4cDAK0dWh4T0E2ETkoLE2WZ41OQ==}
    -    dev: true
    +  throat@6.0.2: {}
     
    -  /throttleit@1.0.1:
    -    resolution: {integrity: sha512-vDZpf9Chs9mAdfY046mcPt8fg5QSZr37hEH4TXYBnDF+izxgrbRGUAAaBvIk/fJm9aOFCGFd1EsNg5AZCbnQCQ==}
    -    dev: true
    +  throttleit@1.0.1: {}
     
    -  /through@2.3.8:
    -    resolution: {integrity: sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==}
    -    dev: true
    +  through@2.3.8: {}
     
    -  /thunky@1.1.0:
    -    resolution: {integrity: sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==}
    -    dev: true
    +  thunky@1.1.0: {}
     
    -  /timers-ext@0.1.7:
    -    resolution: {integrity: sha512-b85NUNzTSdodShTIbky6ZF02e8STtVVfD+fu4aXXShEELpozH+bCpJLYMPZbsABN2wDH7fJpqIoXxJpzbf0NqQ==}
    +  timers-ext@0.1.7:
         dependencies:
           es5-ext: 0.10.64
           next-tick: 1.1.0
    -    dev: true
     
    -  /tiny-lru@8.0.2:
    -    resolution: {integrity: sha512-ApGvZ6vVvTNdsmt676grvCkUCGwzG9IqXma5Z07xJgiC5L7akUMof5U8G2JTI9Rz/ovtVhJBlY6mNhEvtjzOIg==}
    -    engines: {node: '>=6'}
    -    dev: true
    +  tiny-lru@8.0.2: {}
     
    -  /tinybench@2.8.0:
    -    resolution: {integrity: sha512-1/eK7zUnIklz4JUUlL+658n58XO2hHLQfSk1Zf2LKieUjxidN16eKFEoDEfjHc3ohofSSqK3X5yO6VGb6iW8Lw==}
    -    dev: true
    +  tinybench@2.8.0: {}
     
    -  /tinypool@0.8.4:
    -    resolution: {integrity: sha512-i11VH5gS6IFeLY3gMBQ00/MmLncVP7JLXOw1vlgkytLmJK7QnEr7NXf0LBdxfmNPAeyetukOk0bOYrJrFGjYJQ==}
    -    engines: {node: '>=14.0.0'}
    -    dev: true
    +  tinypool@0.8.4: {}
     
    -  /tinyspy@2.2.1:
    -    resolution: {integrity: sha512-KYad6Vy5VDWV4GH3fjpseMQ/XU2BhIYP7Vzd0LG44qRWm/Yt2WCOTicFdvmgo6gWaqooMQCawTtILVQJupKu7A==}
    -    engines: {node: '>=14.0.0'}
    -    dev: true
    +  tinyspy@2.2.1: {}
     
    -  /tmp@0.2.3:
    -    resolution: {integrity: sha512-nZD7m9iCPC5g0pYmcaxogYKggSfLsdxl8of3Q/oIbqCqLLIO9IAF0GWjX1z9NZRHPiXv8Wex4yDCaZsgEw0Y8w==}
    -    engines: {node: '>=14.14'}
    -    dev: true
    +  tmp@0.2.3: {}
     
    -  /tmpl@1.0.5:
    -    resolution: {integrity: sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==}
    -    dev: true
    +  tmpl@1.0.5: {}
     
    -  /to-fast-properties@2.0.0:
    -    resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==}
    -    engines: {node: '>=4'}
    +  to-fast-properties@2.0.0: {}
     
    -  /to-regex-range@5.0.1:
    -    resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==}
    -    engines: {node: '>=8.0'}
    +  to-regex-range@5.0.1:
         dependencies:
           is-number: 7.0.0
     
    -  /toidentifier@1.0.1:
    -    resolution: {integrity: sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==}
    -    engines: {node: '>=0.6'}
    -    dev: true
    +  toidentifier@1.0.1: {}
     
    -  /totalist@3.0.1:
    -    resolution: {integrity: sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ==}
    -    engines: {node: '>=6'}
    -    dev: true
    +  totalist@3.0.1: {}
     
    -  /tough-cookie@4.1.3:
    -    resolution: {integrity: sha512-aX/y5pVRkfRnfmuX+OdbSdXvPe6ieKX/G2s7e98f4poJHnqH3281gDPm/metm6E/WRamfx7WC4HUqkWHfQHprw==}
    -    engines: {node: '>=6'}
    +  tough-cookie@4.1.3:
         dependencies:
           psl: 1.9.0
           punycode: 2.3.1
           universalify: 0.2.0
           url-parse: 1.5.10
    -    dev: true
     
    -  /tr46@0.0.3:
    -    resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==}
    -    dev: true
    +  tr46@0.0.3: {}
     
    -  /tr46@1.0.1:
    -    resolution: {integrity: sha512-dTpowEjclQ7Kgx5SdBkqRzVhERQXov8/l9Ft9dVM9fmg0W0KQSVaXX9T4i6twCPNtYiZM53lpSSUAwJbFPOHxA==}
    +  tr46@1.0.1:
         dependencies:
           punycode: 2.3.1
    -    dev: true
     
    -  /tr46@5.0.0:
    -    resolution: {integrity: sha512-tk2G5R2KRwBd+ZN0zaEXpmzdKyOYksXwywulIX95MBODjSzMIuQnQ3m8JxgbhnL1LeVo7lqQKsYa1O3Htl7K5g==}
    -    engines: {node: '>=18'}
    +  tr46@5.0.0:
         dependencies:
           punycode: 2.3.1
    -    dev: true
     
    -  /traverse@0.3.9:
    -    resolution: {integrity: sha512-iawgk0hLP3SxGKDfnDJf8wTz4p2qImnyihM5Hh/sGvQ3K37dPi/w8sRhdNIxYA1TwFwc5mDhIJq+O0RsvXBKdQ==}
    -    dev: true
    +  traverse@0.3.9: {}
     
    -  /tree-kill@1.2.2:
    -    resolution: {integrity: sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==}
    -    hasBin: true
    -    dev: true
    +  tree-kill@1.2.2: {}
     
    -  /trough@2.2.0:
    -    resolution: {integrity: sha512-tmMpK00BjZiUyVyvrBK7knerNgmgvcV/KLVyuma/SC+TQN167GrMRciANTz09+k3zW8L8t60jWO1GpfkZdjTaw==}
    -    dev: true
    +  trough@2.2.0: {}
     
    -  /ts-api-utils@1.3.0(typescript@5.4.5):
    -    resolution: {integrity: sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ==}
    -    engines: {node: '>=16'}
    -    peerDependencies:
    -      typescript: '>=4.2.0'
    +  ts-api-utils@1.3.0(typescript@5.4.5):
         dependencies:
           typescript: 5.4.5
    -    dev: true
     
    -  /ts-dedent@2.2.0:
    -    resolution: {integrity: sha512-q5W7tVM71e2xjHZTlgfTDoPF/SmqKG5hddq9SzR49CH2hayqRKJtQ4mtRlSxKaJlR/+9rEM+mnBHf7I2/BQcpQ==}
    -    engines: {node: '>=6.10'}
    -    dev: false
    +  ts-dedent@2.2.0: {}
     
    -  /ts-interface-checker@0.1.13:
    -    resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==}
    -    dev: false
    +  ts-interface-checker@0.1.13: {}
     
    -  /ts-toolbelt@6.15.5:
    -    resolution: {integrity: sha512-FZIXf1ksVyLcfr7M317jbB67XFJhOO1YqdTcuGaq9q5jLUoTikukZ+98TPjKiP2jC5CgmYdWWYs0s2nLSU0/1A==}
    -    dev: false
    +  ts-toolbelt@6.15.5: {}
     
    -  /tslib@1.14.1:
    -    resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==}
    -    dev: true
    +  tslib@1.14.1: {}
     
    -  /tslib@2.6.2:
    -    resolution: {integrity: sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==}
    -    dev: true
    +  tslib@2.6.2: {}
     
    -  /tsutils@3.21.0(typescript@5.4.5):
    -    resolution: {integrity: sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==}
    -    engines: {node: '>= 6'}
    -    peerDependencies:
    -      typescript: '>=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta'
    +  tsutils@3.21.0(typescript@5.4.5):
         dependencies:
           tslib: 1.14.1
           typescript: 5.4.5
    -    dev: true
     
    -  /tsx@4.7.3:
    -    resolution: {integrity: sha512-+fQnMqIp/jxZEXLcj6WzYy9FhcS5/Dfk8y4AtzJ6ejKcKqmfTF8Gso/jtrzDggCF2zTU20gJa6n8XqPYwDAUYQ==}
    -    engines: {node: '>=18.0.0'}
    -    hasBin: true
    +  tsx@4.7.3:
         dependencies:
           esbuild: 0.19.12
           get-tsconfig: 4.7.3
         optionalDependencies:
           fsevents: 2.3.3
    -    dev: true
     
    -  /tunnel-agent@0.6.0:
    -    resolution: {integrity: sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==}
    +  tunnel-agent@0.6.0:
         dependencies:
           safe-buffer: 5.2.1
    -    dev: true
     
    -  /tweetnacl@0.14.5:
    -    resolution: {integrity: sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==}
    -    dev: true
    +  tweetnacl@0.14.5: {}
     
    -  /type-check@0.4.0:
    -    resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==}
    -    engines: {node: '>= 0.8.0'}
    +  type-check@0.4.0:
         dependencies:
           prelude-ls: 1.2.1
    -    dev: true
     
    -  /type-detect@4.0.8:
    -    resolution: {integrity: sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==}
    -    engines: {node: '>=4'}
    -    dev: true
    +  type-detect@4.0.8: {}
     
    -  /type-fest@0.16.0:
    -    resolution: {integrity: sha512-eaBzG6MxNzEn9kiwvtre90cXaNLkmadMWa1zQMs3XORCXNbsH/OewwbxC5ia9dCxIxnTAsSxXJaa/p5y8DlvJg==}
    -    engines: {node: '>=10'}
    -    dev: true
    +  type-fest@0.16.0: {}
     
    -  /type-fest@0.20.2:
    -    resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==}
    -    engines: {node: '>=10'}
    -    dev: true
    +  type-fest@0.20.2: {}
     
    -  /type-fest@0.21.3:
    -    resolution: {integrity: sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==}
    -    engines: {node: '>=10'}
    -    dev: true
    +  type-fest@0.21.3: {}
     
    -  /type-fest@0.6.0:
    -    resolution: {integrity: sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==}
    -    engines: {node: '>=8'}
    -    dev: true
    +  type-fest@0.6.0: {}
     
    -  /type-fest@0.8.1:
    -    resolution: {integrity: sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==}
    -    engines: {node: '>=8'}
    -    dev: true
    +  type-fest@0.8.1: {}
     
    -  /type-fest@1.4.0:
    -    resolution: {integrity: sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA==}
    -    engines: {node: '>=10'}
    -    dev: true
    +  type-fest@1.4.0: {}
     
    -  /type-fest@4.15.0:
    -    resolution: {integrity: sha512-tB9lu0pQpX5KJq54g+oHOLumOx+pMep4RaM6liXh2PKmVRFF+/vAtUP0ZaJ0kOySfVNjF6doBWPHhBhISKdlIA==}
    -    engines: {node: '>=16'}
    -    dev: true
    +  type-fest@4.15.0: {}
     
    -  /type-is@1.6.18:
    -    resolution: {integrity: sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==}
    -    engines: {node: '>= 0.6'}
    +  type-is@1.6.18:
         dependencies:
           media-typer: 0.3.0
           mime-types: 2.1.35
    -    dev: true
     
    -  /type@2.7.2:
    -    resolution: {integrity: sha512-dzlvlNlt6AXU7EBSfpAscydQ7gXB+pPGsPnfJnZpiNJBDj7IaJzQlBZYGdEi4R9HmPdBv2XmWJ6YUtoTa7lmCw==}
    -    dev: true
    +  type@2.7.2: {}
     
    -  /typed-array-buffer@1.0.2:
    -    resolution: {integrity: sha512-gEymJYKZtKXzzBzM4jqa9w6Q1Jjm7x2d+sh19AdsD4wqnMPDYyvwpsIc2Q/835kHuo3BEQ7CjelGhfTsoBb2MQ==}
    -    engines: {node: '>= 0.4'}
    +  typed-array-buffer@1.0.2:
         dependencies:
           call-bind: 1.0.7
           es-errors: 1.3.0
           is-typed-array: 1.1.13
    -    dev: true
     
    -  /typed-array-byte-length@1.0.1:
    -    resolution: {integrity: sha512-3iMJ9q0ao7WE9tWcaYKIptkNBuOIcZCCT0d4MRvuuH88fEoEH62IuQe0OtraD3ebQEoTRk8XCBoknUNc1Y67pw==}
    -    engines: {node: '>= 0.4'}
    +  typed-array-byte-length@1.0.1:
         dependencies:
           call-bind: 1.0.7
           for-each: 0.3.3
           gopd: 1.0.1
           has-proto: 1.0.3
           is-typed-array: 1.1.13
    -    dev: true
     
    -  /typed-array-byte-offset@1.0.2:
    -    resolution: {integrity: sha512-Ous0vodHa56FviZucS2E63zkgtgrACj7omjwd/8lTEMEPFFyjfixMZ1ZXenpgCFBBt4EC1J2XsyVS2gkG0eTFA==}
    -    engines: {node: '>= 0.4'}
    +  typed-array-byte-offset@1.0.2:
         dependencies:
           available-typed-arrays: 1.0.7
           call-bind: 1.0.7
    @@ -15041,11 +18135,8 @@ packages:
           gopd: 1.0.1
           has-proto: 1.0.3
           is-typed-array: 1.1.13
    -    dev: true
     
    -  /typed-array-length@1.0.6:
    -    resolution: {integrity: sha512-/OxDN6OtAk5KBpGb28T+HZc2M+ADtvRxXrKKbUwtsLgdoxgX13hyy7ek6bFRl5+aBs2yZzB0c4CnQfAtVypW/g==}
    -    engines: {node: '>= 0.4'}
    +  typed-array-length@1.0.6:
         dependencies:
           call-bind: 1.0.7
           for-each: 0.3.3
    @@ -15053,111 +18144,63 @@ packages:
           has-proto: 1.0.3
           is-typed-array: 1.1.13
           possible-typed-array-names: 1.0.0
    -    dev: true
     
    -  /typedarray-to-buffer@3.1.5:
    -    resolution: {integrity: sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==}
    +  typedarray-to-buffer@3.1.5:
         dependencies:
           is-typedarray: 1.0.0
    -    dev: true
     
    -  /typedoc-plugin-markdown@3.17.1(typedoc@0.25.13):
    -    resolution: {integrity: sha512-QzdU3fj0Kzw2XSdoL15ExLASt2WPqD7FbLeaqwT70+XjKyTshBnUlQA5nNREO1C2P8Uen0CDjsBLMsCQ+zd0lw==}
    -    peerDependencies:
    -      typedoc: '>=0.24.0'
    +  typedoc-plugin-markdown@3.17.1(typedoc@0.25.13(typescript@5.4.5)):
         dependencies:
           handlebars: 4.7.8
           typedoc: 0.25.13(typescript@5.4.5)
    -    dev: true
     
    -  /typedoc@0.25.13(typescript@5.4.5):
    -    resolution: {integrity: sha512-pQqiwiJ+Z4pigfOnnysObszLiU3mVLWAExSPf+Mu06G/qsc3wzbuM56SZQvONhHLncLUhYzOVkjFFpFfL5AzhQ==}
    -    engines: {node: '>= 16'}
    -    hasBin: true
    -    peerDependencies:
    -      typescript: 4.6.x || 4.7.x || 4.8.x || 4.9.x || 5.0.x || 5.1.x || 5.2.x || 5.3.x || 5.4.x
    +  typedoc@0.25.13(typescript@5.4.5):
         dependencies:
           lunr: 2.3.9
           marked: 4.3.0
           minimatch: 9.0.4
           shiki: 0.14.7
           typescript: 5.4.5
    -    dev: true
     
    -  /typescript@5.4.5:
    -    resolution: {integrity: sha512-vcI4UpRgg81oIRUFwR0WSIHKt11nJ7SAVlYNIu+QpqeyXP+gpQJy/Z4+F0aGxSE4MqwjyXvW/TzgkLAx2AGHwQ==}
    -    engines: {node: '>=14.17'}
    -    hasBin: true
    +  typescript@5.4.5: {}
     
    -  /uc.micro@1.0.6:
    -    resolution: {integrity: sha512-8Y75pvTYkLJW2hWQHXxoqRgV7qb9B+9vFEtidML+7koHUFapnVJAZ6cKs+Qjz5Aw3aZWHMC6u0wJE3At+nSGwA==}
    -    dev: true
    +  uc.micro@1.0.6: {}
     
    -  /ufo@1.5.3:
    -    resolution: {integrity: sha512-Y7HYmWaFwPUmkoQCUIAYpKqkOf+SbVj/2fJJZ4RJMCfZp0rTGwRbzQD+HghfnhKOjL9E01okqz+ncJskGYfBNw==}
    -    dev: true
    +  ufo@1.5.3: {}
     
    -  /uglify-js@3.17.4:
    -    resolution: {integrity: sha512-T9q82TJI9e/C1TAxYvfb16xO120tMVFZrGA3f9/P4424DNu6ypK103y0GPFVa17yotwSyZW5iYXgjYHkGrJW/g==}
    -    engines: {node: '>=0.8.0'}
    -    hasBin: true
    -    dev: true
    +  uglify-js@3.17.4: {}
     
    -  /unbox-primitive@1.0.2:
    -    resolution: {integrity: sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==}
    +  unbox-primitive@1.0.2:
         dependencies:
           call-bind: 1.0.7
           has-bigints: 1.0.2
           has-symbols: 1.0.3
           which-boxed-primitive: 1.0.2
    -    dev: true
     
    -  /unconfig@0.3.13:
    -    resolution: {integrity: sha512-N9Ph5NC4+sqtcOjPfHrRcHekBCadCXWTBzp2VYYbySOHW0PfD9XLCeXshTXjkPYwLrBr9AtSeU0CZmkYECJhng==}
    +  unconfig@0.3.13:
         dependencies:
           '@antfu/utils': 0.7.7
           defu: 6.1.4
           jiti: 1.21.0
    -    dev: true
     
    -  /underscore@1.1.7:
    -    resolution: {integrity: sha512-w4QtCHoLBXw1mjofIDoMyexaEdWGMedWNDhlWTtT1V1lCRqi65Pnoygkh6+WRdr+Bm8ldkBNkNeCsXGMlQS9HQ==}
    -    dev: true
    +  underscore@1.1.7: {}
     
    -  /undici-types@5.26.5:
    -    resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==}
    -    dev: true
    +  undici-types@5.26.5: {}
     
    -  /unicode-canonical-property-names-ecmascript@2.0.0:
    -    resolution: {integrity: sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==}
    -    engines: {node: '>=4'}
    -    dev: true
    +  unicode-canonical-property-names-ecmascript@2.0.0: {}
     
    -  /unicode-match-property-ecmascript@2.0.0:
    -    resolution: {integrity: sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==}
    -    engines: {node: '>=4'}
    +  unicode-match-property-ecmascript@2.0.0:
         dependencies:
           unicode-canonical-property-names-ecmascript: 2.0.0
           unicode-property-aliases-ecmascript: 2.1.0
    -    dev: true
     
    -  /unicode-match-property-value-ecmascript@2.1.0:
    -    resolution: {integrity: sha512-qxkjQt6qjg/mYscYMC0XKRn3Rh0wFPlfxB0xkt9CfyTvpX1Ra0+rAmdX2QyAobptSEvuy4RtpPRui6XkV+8wjA==}
    -    engines: {node: '>=4'}
    -    dev: true
    +  unicode-match-property-value-ecmascript@2.1.0: {}
     
    -  /unicode-property-aliases-ecmascript@2.1.0:
    -    resolution: {integrity: sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==}
    -    engines: {node: '>=4'}
    -    dev: true
    +  unicode-property-aliases-ecmascript@2.1.0: {}
     
    -  /unicorn-magic@0.1.0:
    -    resolution: {integrity: sha512-lRfVq8fE8gz6QMBuDM6a+LO3IAzTi05H6gCVaUpir2E1Rwpo4ZUog45KpNXKC/Mn3Yb9UDuHumeFTo9iV/D9FQ==}
    -    engines: {node: '>=18'}
    -    dev: true
    +  unicorn-magic@0.1.0: {}
     
    -  /unified@11.0.4:
    -    resolution: {integrity: sha512-apMPnyLjAX+ty4OrNap7yumyVAMlKx5IWU2wlzzUdYJO9A8f1p9m/gywF/GM2ZDFcjQPrx59Mc90KwmxsoklxQ==}
    +  unified@11.0.4:
         dependencies:
           '@types/unist': 3.0.2
           bail: 2.0.2
    @@ -15166,92 +18209,53 @@ packages:
           is-plain-obj: 4.1.0
           trough: 2.2.0
           vfile: 6.0.1
    -    dev: true
     
    -  /unique-string@2.0.0:
    -    resolution: {integrity: sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg==}
    -    engines: {node: '>=8'}
    +  unique-string@2.0.0:
         dependencies:
           crypto-random-string: 2.0.0
    -    dev: true
     
    -  /unique-string@3.0.0:
    -    resolution: {integrity: sha512-VGXBUVwxKMBUznyffQweQABPRRW1vHZAbadFZud4pLFAqRGvv/96vafgjWFqzourzr8YonlQiPgH0YCJfawoGQ==}
    -    engines: {node: '>=12'}
    +  unique-string@3.0.0:
         dependencies:
           crypto-random-string: 4.0.0
    -    dev: true
     
    -  /unist-util-flatmap@1.0.0:
    -    resolution: {integrity: sha512-IG32jcKJlhARCYT2LsYPJWdoXYkzz3ESAdl1aa2hn9Auh+cgUmU6wgkII4yCc/1GgeWibRdELdCZh/p3QKQ1dQ==}
    -    dev: true
    +  unist-util-flatmap@1.0.0: {}
     
    -  /unist-util-inspect@8.0.0:
    -    resolution: {integrity: sha512-/3Wn/wU6/H6UEo4FoYUeo8KUePN8ERiZpQYFWYoihOsr1DoDuv80PeB0hobVZyYSvALa2e556bG1A1/AbwU4yg==}
    +  unist-util-inspect@8.0.0:
         dependencies:
           '@types/unist': 3.0.2
    -    dev: true
     
    -  /unist-util-is@6.0.0:
    -    resolution: {integrity: sha512-2qCTHimwdxLfz+YzdGfkqNlH0tLi9xjTnHddPmJwtIG9MGsdbutfTc4P+haPD7l7Cjxf/WZj+we5qfVPvvxfYw==}
    +  unist-util-is@6.0.0:
         dependencies:
           '@types/unist': 3.0.2
    -    dev: true
     
    -  /unist-util-stringify-position@2.0.3:
    -    resolution: {integrity: sha512-3faScn5I+hy9VleOq/qNbAd6pAx7iH5jYBMS9I1HgQVijz/4mv5Bvw5iw1sC/90CODiKo81G/ps8AJrISn687g==}
    +  unist-util-stringify-position@2.0.3:
         dependencies:
           '@types/unist': 2.0.10
    -    dev: true
     
    -  /unist-util-stringify-position@4.0.0:
    -    resolution: {integrity: sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==}
    +  unist-util-stringify-position@4.0.0:
         dependencies:
           '@types/unist': 3.0.2
     
    -  /unist-util-visit-parents@6.0.1:
    -    resolution: {integrity: sha512-L/PqWzfTP9lzzEa6CKs0k2nARxTdZduw3zyh8d2NVBnsyvHjSX4TWse388YrrQKbvI8w20fGjGlhgT96WwKykw==}
    +  unist-util-visit-parents@6.0.1:
         dependencies:
           '@types/unist': 3.0.2
           unist-util-is: 6.0.0
    -    dev: true
     
    -  /unist-util-visit@5.0.0:
    -    resolution: {integrity: sha512-MR04uvD+07cwl/yhVuVWAtw+3GOR/knlL55Nd/wAdblk27GCVt3lqpTivy/tkJcZoNPzTwS1Y+KMojlLDhoTzg==}
    +  unist-util-visit@5.0.0:
         dependencies:
           '@types/unist': 3.0.2
           unist-util-is: 6.0.0
           unist-util-visit-parents: 6.0.1
    -    dev: true
     
    -  /universalify@0.1.2:
    -    resolution: {integrity: sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==}
    -    engines: {node: '>= 4.0.0'}
    -    dev: true
    +  universalify@0.1.2: {}
     
    -  /universalify@0.2.0:
    -    resolution: {integrity: sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==}
    -    engines: {node: '>= 4.0.0'}
    -    dev: true
    +  universalify@0.2.0: {}
     
    -  /universalify@2.0.1:
    -    resolution: {integrity: sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==}
    -    engines: {node: '>= 10.0.0'}
    -    dev: true
    +  universalify@2.0.1: {}
     
    -  /unocss@0.59.4(postcss@8.4.38)(rollup@2.79.1)(vite@5.2.11):
    -    resolution: {integrity: sha512-QmCVjRObvVu/gsGrJGVt0NnrdhFFn314BUZn2WQyXV9rIvHLRmG5bIu0j5vibJkj7ZhFchTrnTM1pTFXP1xt5g==}
    -    engines: {node: '>=14'}
    -    peerDependencies:
    -      '@unocss/webpack': 0.59.4
    -      vite: ^2.9.0 || ^3.0.0-0 || ^4.0.0 || ^5.0.0-0
    -    peerDependenciesMeta:
    -      '@unocss/webpack':
    -        optional: true
    -      vite:
    -        optional: true
    +  unocss@0.59.4(postcss@8.4.38)(rollup@2.79.1)(vite@5.2.10(@types/node@20.12.7)(terser@5.31.0)):
         dependencies:
    -      '@unocss/astro': 0.59.4(rollup@2.79.1)(vite@5.2.11)
    +      '@unocss/astro': 0.59.4(rollup@2.79.1)(vite@5.2.10(@types/node@20.12.7)(terser@5.31.0))
           '@unocss/cli': 0.59.4(rollup@2.79.1)
           '@unocss/core': 0.59.4
           '@unocss/extractor-arbitrary-variants': 0.59.4
    @@ -15270,31 +18274,17 @@ packages:
           '@unocss/transformer-compile-class': 0.59.4
           '@unocss/transformer-directives': 0.59.4
           '@unocss/transformer-variant-group': 0.59.4
    -      '@unocss/vite': 0.59.4(rollup@2.79.1)(vite@5.2.11)
    -      vite: 5.2.11(@types/node@20.12.12)
    +      '@unocss/vite': 0.59.4(rollup@2.79.1)(vite@5.2.10(@types/node@20.12.7)(terser@5.31.0))
    +    optionalDependencies:
    +      vite: 5.2.10(@types/node@20.12.7)(terser@5.31.0)
         transitivePeerDependencies:
           - postcss
           - rollup
           - supports-color
    -    dev: true
     
    -  /unpipe@1.0.0:
    -    resolution: {integrity: sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==}
    -    engines: {node: '>= 0.8'}
    -    dev: true
    +  unpipe@1.0.0: {}
     
    -  /unplugin-vue-components@0.26.0(rollup@2.79.1)(vue@3.4.27):
    -    resolution: {integrity: sha512-s7IdPDlnOvPamjunVxw8kNgKNK8A5KM1YpK5j/p97jEKTjlPNrA0nZBiSfAKKlK1gWZuyWXlKL5dk3EDw874LQ==}
    -    engines: {node: '>=14'}
    -    peerDependencies:
    -      '@babel/parser': ^7.15.8
    -      '@nuxt/kit': ^3.2.2
    -      vue: 2 || 3
    -    peerDependenciesMeta:
    -      '@babel/parser':
    -        optional: true
    -      '@nuxt/kit':
    -        optional: true
    +  unplugin-vue-components@0.26.0(@babel/parser@7.24.5)(rollup@2.79.1)(vue@3.4.26(typescript@5.4.5)):
         dependencies:
           '@antfu/utils': 0.7.6
           '@rollup/pluginutils': 5.1.0(rollup@2.79.1)
    @@ -15306,128 +18296,84 @@ packages:
           minimatch: 9.0.3
           resolve: 1.22.4
           unplugin: 1.4.0
    -      vue: 3.4.27(typescript@5.4.5)
    +      vue: 3.4.26(typescript@5.4.5)
    +    optionalDependencies:
    +      '@babel/parser': 7.24.5
         transitivePeerDependencies:
           - rollup
           - supports-color
    -    dev: true
     
    -  /unplugin@1.4.0:
    -    resolution: {integrity: sha512-5x4eIEL6WgbzqGtF9UV8VEC/ehKptPXDS6L2b0mv4FRMkJxRtjaJfOWDd6a8+kYbqsjklix7yWP0N3SUepjXcg==}
    +  unplugin@1.4.0:
         dependencies:
           acorn: 8.11.3
           chokidar: 3.6.0
           webpack-sources: 3.2.3
           webpack-virtual-modules: 0.5.0
    -    dev: true
     
    -  /untildify@4.0.0:
    -    resolution: {integrity: sha512-KK8xQ1mkzZeg9inewmFVDNkg3l5LUhoq9kN6iWYB/CC9YMG8HA+c1Q8HwDe6dEX7kErrEVNVBO3fWsVq5iDgtw==}
    -    engines: {node: '>=8'}
    -    dev: true
    +  untildify@4.0.0: {}
     
    -  /upath@1.2.0:
    -    resolution: {integrity: sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==}
    -    engines: {node: '>=4'}
    -    dev: true
    +  upath@1.2.0: {}
     
    -  /update-browserslist-db@1.0.13(browserslist@4.23.0):
    -    resolution: {integrity: sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==}
    -    hasBin: true
    -    peerDependencies:
    -      browserslist: '>= 4.21.0'
    +  update-browserslist-db@1.0.13(browserslist@4.23.0):
         dependencies:
           browserslist: 4.23.0
           escalade: 3.1.2
           picocolors: 1.0.0
    -    dev: true
     
    -  /uri-js@4.4.1:
    -    resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==}
    +  uri-js@4.4.1:
         dependencies:
           punycode: 2.3.1
    -    dev: true
     
    -  /url-parse@1.5.10:
    -    resolution: {integrity: sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==}
    +  url-parse@1.5.10:
         dependencies:
           querystringify: 2.2.0
           requires-port: 1.0.0
    -    dev: true
     
    -  /util-deprecate@1.0.2:
    -    resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==}
    +  util-deprecate@1.0.2: {}
     
    -  /utils-merge@1.0.1:
    -    resolution: {integrity: sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==}
    -    engines: {node: '>= 0.4.0'}
    -    dev: true
    +  utils-merge@1.0.1: {}
     
    -  /uuid@8.3.2:
    -    resolution: {integrity: sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==}
    -    hasBin: true
    -    dev: true
    +  uuid@8.3.2: {}
     
    -  /uuid@9.0.1:
    -    resolution: {integrity: sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==}
    -    hasBin: true
    -    dev: false
    +  uuid@9.0.1: {}
     
    -  /v8-to-istanbul@9.2.0:
    -    resolution: {integrity: sha512-/EH/sDgxU2eGxajKdwLCDmQ4FWq+kpi3uCmBGpw1xJtnAxEjlD8j8PEiGWpCIMIs3ciNAgH0d3TTJiUkYzyZjA==}
    -    engines: {node: '>=10.12.0'}
    +  v8-to-istanbul@9.2.0:
         dependencies:
           '@jridgewell/trace-mapping': 0.3.25
           '@types/istanbul-lib-coverage': 2.0.6
           convert-source-map: 2.0.0
    -    dev: true
     
    -  /validate-npm-package-license@3.0.4:
    -    resolution: {integrity: sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==}
    +  validate-npm-package-license@3.0.4:
         dependencies:
           spdx-correct: 3.2.0
           spdx-expression-parse: 3.0.1
    -    dev: true
     
    -  /vary@1.1.2:
    -    resolution: {integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==}
    -    engines: {node: '>= 0.8'}
    -    dev: true
    +  vary@1.1.2: {}
     
    -  /verror@1.10.0:
    -    resolution: {integrity: sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw==}
    -    engines: {'0': node >=0.6.0}
    +  verror@1.10.0:
         dependencies:
           assert-plus: 1.0.0
           core-util-is: 1.0.2
           extsprintf: 1.3.0
    -    dev: true
     
    -  /vfile-message@4.0.2:
    -    resolution: {integrity: sha512-jRDZ1IMLttGj41KcZvlrYAaI3CfqpLpfpf+Mfig13viT6NKvRzWZ+lXz0Y5D60w6uJIBAOGq9mSHf0gktF0duw==}
    +  vfile-message@4.0.2:
         dependencies:
           '@types/unist': 3.0.2
           unist-util-stringify-position: 4.0.0
    -    dev: true
     
    -  /vfile@6.0.1:
    -    resolution: {integrity: sha512-1bYqc7pt6NIADBJ98UiG0Bn/CHIVOoZ/IyEkqIruLg0mE1BKzkOXY2D6CSqQIcKqgadppE5lrxgWXJmXd7zZJw==}
    +  vfile@6.0.1:
         dependencies:
           '@types/unist': 3.0.2
           unist-util-stringify-position: 4.0.0
           vfile-message: 4.0.2
    -    dev: true
     
    -  /vite-node@1.5.3(@types/node@20.12.12):
    -    resolution: {integrity: sha512-axFo00qiCpU/JLd8N1gu9iEYL3xTbMbMrbe5nDp9GL0nb6gurIdZLkkFogZXWnE8Oyy5kfSLwNVIcVsnhE7lgQ==}
    -    engines: {node: ^18.0.0 || >=20.0.0}
    -    hasBin: true
    +  vite-node@1.5.3(@types/node@20.12.7)(terser@5.31.0):
         dependencies:
           cac: 6.7.14
           debug: 4.3.4(supports-color@8.1.1)
           pathe: 1.1.2
           picocolors: 1.0.0
    -      vite: 5.2.11(@types/node@20.12.12)
    +      vite: 5.2.10(@types/node@20.12.7)(terser@5.31.0)
         transitivePeerDependencies:
           - '@types/node'
           - less
    @@ -15437,12 +18383,8 @@ packages:
           - sugarss
           - supports-color
           - terser
    -    dev: true
     
    -  /vite-plugin-istanbul@6.0.2(vite@5.2.11):
    -    resolution: {integrity: sha512-0/sKwjEEIwbEyl43xX7onX3dIbMJAsigNsKyyVPalG1oRFo5jn3qkJbS2PUfp9wrr3piy1eT6qRoeeum2p4B2A==}
    -    peerDependencies:
    -      vite: '>=4 <=6'
    +  vite-plugin-istanbul@6.0.0(vite@5.2.10(@types/node@20.12.7)(terser@5.31.0)):
         dependencies:
           '@istanbuljs/load-nyc-config': 1.1.0
           espree: 10.0.1
    @@ -15450,150 +18392,60 @@ packages:
           picocolors: 1.0.0
           source-map: 0.7.4
           test-exclude: 6.0.0
    -      vite: 5.2.11(@types/node@20.12.12)
    +      vite: 5.2.10(@types/node@20.12.7)(terser@5.31.0)
         transitivePeerDependencies:
           - supports-color
    -    dev: true
     
    -  /vite-plugin-pwa@0.19.8(vite@5.2.11)(workbox-build@7.1.0)(workbox-window@7.0.0):
    -    resolution: {integrity: sha512-e1oK0dfhzhDhY3VBuML6c0h8Xfx6EkOVYqolj7g+u8eRfdauZe5RLteCIA/c5gH0CBQ0CNFAuv/AFTx4Z7IXTw==}
    -    engines: {node: '>=16.0.0'}
    -    peerDependencies:
    -      '@vite-pwa/assets-generator': ^0.2.4
    -      vite: ^3.1.0 || ^4.0.0 || ^5.0.0
    -      workbox-build: ^7.0.0
    -      workbox-window: ^7.0.0
    -    peerDependenciesMeta:
    -      '@vite-pwa/assets-generator':
    -        optional: true
    +  vite-plugin-pwa@0.19.8(vite@5.2.10(@types/node@20.12.7)(terser@5.31.0))(workbox-build@7.1.0(@types/babel__core@7.20.5))(workbox-window@7.0.0):
         dependencies:
           debug: 4.3.4(supports-color@8.1.1)
           fast-glob: 3.3.2
           pretty-bytes: 6.1.1
    -      vite: 5.2.11(@types/node@20.12.12)
    -      workbox-build: 7.1.0
    +      vite: 5.2.10(@types/node@20.12.7)(terser@5.31.0)
    +      workbox-build: 7.1.0(@types/babel__core@7.20.5)
           workbox-window: 7.0.0
         transitivePeerDependencies:
           - supports-color
    -    dev: true
    -
    -  /vite@5.2.10(@types/node@20.12.12):
    -    resolution: {integrity: sha512-PAzgUZbP7msvQvqdSD+ErD5qGnSFiGOoWmV5yAKUEI0kdhjbH6nMWVyZQC/hSc4aXwc0oJ9aEdIiF9Oje0JFCw==}
    -    engines: {node: ^18.0.0 || >=20.0.0}
    -    hasBin: true
    -    peerDependencies:
    -      '@types/node': ^18.0.0 || >=20.0.0
    -      less: '*'
    -      lightningcss: ^1.21.0
    -      sass: '*'
    -      stylus: '*'
    -      sugarss: '*'
    -      terser: ^5.4.0
    -    peerDependenciesMeta:
    -      '@types/node':
    -        optional: true
    -      less:
    -        optional: true
    -      lightningcss:
    -        optional: true
    -      sass:
    -        optional: true
    -      stylus:
    -        optional: true
    -      sugarss:
    -        optional: true
    -      terser:
    -        optional: true
    -    dependencies:
    -      '@types/node': 20.12.12
    -      esbuild: 0.20.2
    -      postcss: 8.4.38
    -      rollup: 4.17.2
    -    optionalDependencies:
    -      fsevents: 2.3.3
    -    dev: true
     
    -  /vite@5.2.11(@types/node@20.12.12):
    -    resolution: {integrity: sha512-HndV31LWW05i1BLPMUCE1B9E9GFbOu1MbenhS58FuK6owSO5qHm7GiCotrNY1YE5rMeQSFBGmT5ZaLEjFizgiQ==}
    -    engines: {node: ^18.0.0 || >=20.0.0}
    -    hasBin: true
    -    peerDependencies:
    -      '@types/node': ^18.0.0 || >=20.0.0
    -      less: '*'
    -      lightningcss: ^1.21.0
    -      sass: '*'
    -      stylus: '*'
    -      sugarss: '*'
    -      terser: ^5.4.0
    -    peerDependenciesMeta:
    -      '@types/node':
    -        optional: true
    -      less:
    -        optional: true
    -      lightningcss:
    -        optional: true
    -      sass:
    -        optional: true
    -      stylus:
    -        optional: true
    -      sugarss:
    -        optional: true
    -      terser:
    -        optional: true
    +  vite@5.2.10(@types/node@20.12.7)(terser@5.31.0):
         dependencies:
    -      '@types/node': 20.12.12
           esbuild: 0.20.2
           postcss: 8.4.38
           rollup: 4.17.2
         optionalDependencies:
    +      '@types/node': 20.12.7
           fsevents: 2.3.3
    -    dev: true
    +      terser: 5.31.0
     
    -  /vitepress-plugin-search@1.0.4-alpha.22(flexsearch@0.7.43)(vitepress@1.1.4)(vue@3.4.27):
    -    resolution: {integrity: sha512-IAOEJu+kjVY+0pb6/PeRjIbr175HFFbnMdLmLjqcy7VWxkabIRZbLoQL1VUYDZl804o/Or+GaX02gsiMOnVxFA==}
    -    engines: {node: ^14.13.1 || ^16.7.0 || >=18}
    -    peerDependencies:
    -      flexsearch: ^0.7.31
    -      vitepress: ^1.0.0-rc.35
    -      vue: '3'
    +  vitepress-plugin-search@1.0.4-alpha.22(flexsearch@0.7.43)(vitepress@1.1.4(@algolia/client-search@4.23.3)(@types/node@20.12.7)(axios@1.6.7)(postcss@8.4.38)(search-insights@2.13.0)(terser@5.31.0)(typescript@5.4.5))(vue@3.4.26(typescript@5.4.5)):
         dependencies:
           '@types/flexsearch': 0.7.3
           '@types/markdown-it': 12.2.3
           flexsearch: 0.7.43
           glob-to-regexp: 0.4.1
           markdown-it: 13.0.1
    -      vitepress: 1.1.4(@algolia/client-search@4.23.3)(@types/node@20.12.12)(postcss@8.4.38)(search-insights@2.13.0)(typescript@5.4.5)
    -      vue: 3.4.27(typescript@5.4.5)
    -    dev: true
    +      vitepress: 1.1.4(@algolia/client-search@4.23.3)(@types/node@20.12.7)(axios@1.6.7)(postcss@8.4.38)(search-insights@2.13.0)(terser@5.31.0)(typescript@5.4.5)
    +      vue: 3.4.26(typescript@5.4.5)
     
    -  /vitepress@1.1.4(@algolia/client-search@4.23.3)(@types/node@20.12.12)(postcss@8.4.38)(search-insights@2.13.0)(typescript@5.4.5):
    -    resolution: {integrity: sha512-bWIzFZXpPB6NIDBuWnS20aMADH+FcFKDfQNYFvbOWij03PR29eImTceQHIzCKordjXYBhM/TjE5VKFTUJ3EheA==}
    -    hasBin: true
    -    peerDependencies:
    -      markdown-it-mathjax3: ^4
    -      postcss: ^8
    -    peerDependenciesMeta:
    -      markdown-it-mathjax3:
    -        optional: true
    -      postcss:
    -        optional: true
    +  vitepress@1.1.4(@algolia/client-search@4.23.3)(@types/node@20.12.7)(axios@1.6.7)(postcss@8.4.38)(search-insights@2.13.0)(terser@5.31.0)(typescript@5.4.5):
         dependencies:
           '@docsearch/css': 3.6.0
           '@docsearch/js': 3.6.0(@algolia/client-search@4.23.3)(search-insights@2.13.0)
           '@shikijs/core': 1.4.0
           '@shikijs/transformers': 1.4.0
           '@types/markdown-it': 14.0.1
    -      '@vitejs/plugin-vue': 5.0.4(vite@5.2.10)(vue@3.4.26)
    -      '@vue/devtools-api': 7.1.3(vue@3.4.26)
    -      '@vueuse/core': 10.9.0(vue@3.4.26)
    -      '@vueuse/integrations': 10.9.0(focus-trap@7.5.4)(vue@3.4.26)
    +      '@vitejs/plugin-vue': 5.0.4(vite@5.2.10(@types/node@20.12.7)(terser@5.31.0))(vue@3.4.26(typescript@5.4.5))
    +      '@vue/devtools-api': 7.1.3(vue@3.4.26(typescript@5.4.5))
    +      '@vueuse/core': 10.9.0(vue@3.4.26(typescript@5.4.5))
    +      '@vueuse/integrations': 10.9.0(axios@1.6.7)(focus-trap@7.5.4)(vue@3.4.26(typescript@5.4.5))
           focus-trap: 7.5.4
           mark.js: 8.11.1
           minisearch: 6.3.0
    -      postcss: 8.4.38
           shiki: 1.4.0
    -      vite: 5.2.10(@types/node@20.12.12)
    +      vite: 5.2.10(@types/node@20.12.7)(terser@5.31.0)
           vue: 3.4.26(typescript@5.4.5)
    +    optionalDependencies:
    +      postcss: 8.4.38
         transitivePeerDependencies:
           - '@algolia/client-search'
           - '@types/node'
    @@ -15620,45 +18472,18 @@ packages:
           - terser
           - typescript
           - universal-cookie
    -    dev: true
     
    -  /vitest@1.5.3(@types/node@20.12.12)(@vitest/ui@1.5.3)(jsdom@24.0.0):
    -    resolution: {integrity: sha512-2oM7nLXylw3mQlW6GXnRriw+7YvZFk/YNV8AxIC3Z3MfFbuziLGWP9GPxxu/7nRlXhqyxBikpamr+lEEj1sUEw==}
    -    engines: {node: ^18.0.0 || >=20.0.0}
    -    hasBin: true
    -    peerDependencies:
    -      '@edge-runtime/vm': '*'
    -      '@types/node': ^18.0.0 || >=20.0.0
    -      '@vitest/browser': 1.5.3
    -      '@vitest/ui': 1.5.3
    -      happy-dom: '*'
    -      jsdom: '*'
    -    peerDependenciesMeta:
    -      '@edge-runtime/vm':
    -        optional: true
    -      '@types/node':
    -        optional: true
    -      '@vitest/browser':
    -        optional: true
    -      '@vitest/ui':
    -        optional: true
    -      happy-dom:
    -        optional: true
    -      jsdom:
    -        optional: true
    +  vitest@1.5.3(@types/node@20.12.7)(@vitest/ui@1.5.3)(jsdom@24.0.0)(terser@5.31.0):
         dependencies:
    -      '@types/node': 20.12.12
           '@vitest/expect': 1.5.3
           '@vitest/runner': 1.5.3
           '@vitest/snapshot': 1.5.3
           '@vitest/spy': 1.5.3
    -      '@vitest/ui': 1.5.3(vitest@1.5.3)
           '@vitest/utils': 1.5.3
           acorn-walk: 8.3.2
           chai: 4.4.1
           debug: 4.3.4(supports-color@8.1.1)
           execa: 8.0.1
    -      jsdom: 24.0.0
           local-pkg: 0.5.0
           magic-string: 0.30.10
           pathe: 1.1.2
    @@ -15667,9 +18492,13 @@ packages:
           strip-literal: 2.1.0
           tinybench: 2.8.0
           tinypool: 0.8.4
    -      vite: 5.2.11(@types/node@20.12.12)
    -      vite-node: 1.5.3(@types/node@20.12.12)
    +      vite: 5.2.10(@types/node@20.12.7)(terser@5.31.0)
    +      vite-node: 1.5.3(@types/node@20.12.7)(terser@5.31.0)
           why-is-node-running: 2.2.2
    +    optionalDependencies:
    +      '@types/node': 20.12.7
    +      '@vitest/ui': 1.5.3(vitest@1.5.3)
    +      jsdom: 24.0.0
         transitivePeerDependencies:
           - less
           - lightningcss
    @@ -15678,171 +18507,78 @@ packages:
           - sugarss
           - supports-color
           - terser
    -    dev: true
     
    -  /vscode-json-languageservice@4.2.1:
    -    resolution: {integrity: sha512-xGmv9QIWs2H8obGbWg+sIPI/3/pFgj/5OWBhNzs00BkYQ9UaB2F6JJaGB/2/YOZJ3BvLXQTC4Q7muqU25QgAhA==}
    +  vscode-json-languageservice@4.2.1:
         dependencies:
           jsonc-parser: 3.2.1
           vscode-languageserver-textdocument: 1.0.11
           vscode-languageserver-types: 3.17.3
           vscode-nls: 5.2.0
           vscode-uri: 3.0.8
    -    dev: true
     
    -  /vscode-jsonrpc@8.2.0:
    -    resolution: {integrity: sha512-C+r0eKJUIfiDIfwJhria30+TYWPtuHJXHtI7J0YlOmKAo7ogxP20T0zxB7HZQIFhIyvoBPwWskjxrvAtfjyZfA==}
    -    engines: {node: '>=14.0.0'}
    +  vscode-jsonrpc@8.2.0: {}
     
    -  /vscode-languageserver-protocol@3.17.5:
    -    resolution: {integrity: sha512-mb1bvRJN8SVznADSGWM9u/b07H7Ecg0I3OgXDuLdn307rl/J3A9YD6/eYOssqhecL27hK1IPZAsaqh00i/Jljg==}
    +  vscode-languageserver-protocol@3.17.5:
         dependencies:
           vscode-jsonrpc: 8.2.0
           vscode-languageserver-types: 3.17.5
     
    -  /vscode-languageserver-textdocument@1.0.11:
    -    resolution: {integrity: sha512-X+8T3GoiwTVlJbicx/sIAF+yuJAqz8VvwJyoMVhwEMoEKE/fkDmrqUgDMyBECcM2A2frVZIUj5HI/ErRXCfOeA==}
    +  vscode-languageserver-textdocument@1.0.11: {}
     
    -  /vscode-languageserver-types@3.17.3:
    -    resolution: {integrity: sha512-SYU4z1dL0PyIMd4Vj8YOqFvHu7Hz/enbWtpfnVbJHU4Nd1YNYx8u0ennumc6h48GQNeOLxmwySmnADouT/AuZA==}
    -    dev: true
    +  vscode-languageserver-types@3.17.3: {}
     
    -  /vscode-languageserver-types@3.17.5:
    -    resolution: {integrity: sha512-Ld1VelNuX9pdF39h2Hgaeb5hEZM2Z3jUrrMgWQAu82jMtZp7p3vJT3BzToKtZI7NgQssZje5o0zryOrhQvzQAg==}
    +  vscode-languageserver-types@3.17.5: {}
     
    -  /vscode-languageserver@9.0.1:
    -    resolution: {integrity: sha512-woByF3PDpkHFUreUa7Hos7+pUWdeWMXRd26+ZX2A8cFx6v/JPTtd4/uN0/jB6XQHYaOlHbio03NTHCqrgG5n7g==}
    -    hasBin: true
    +  vscode-languageserver@9.0.1:
         dependencies:
           vscode-languageserver-protocol: 3.17.5
    -
    -  /vscode-nls@5.2.0:
    -    resolution: {integrity: sha512-RAaHx7B14ZU04EU31pT+rKz2/zSl7xMsfIZuo8pd+KZO6PXtQmpevpq3vxvWNcrGbdmhM/rr5Uw5Mz+NBfhVng==}
    -    dev: true
    -
    -  /vscode-oniguruma@1.7.0:
    -    resolution: {integrity: sha512-L9WMGRfrjOhgHSdOYgCt/yRMsXzLDJSL7BPrOZt73gU0iWO4mpqzqQzOz5srxqTvMBaR0XZTSrVWo4j55Rc6cA==}
    -    dev: true
    -
    -  /vscode-textmate@8.0.0:
    -    resolution: {integrity: sha512-AFbieoL7a5LMqcnOF04ji+rpXadgOXnZsxQr//r83kLPr7biP7am3g9zbaZIaBGwBRWeSvoMD4mgPdX3e4NWBg==}
    -    dev: true
    -
    -  /vscode-uri@3.0.8:
    -    resolution: {integrity: sha512-AyFQ0EVmsOZOlAnxoFOGOq1SQDWAB7C6aqMGS23svWAllfOaxbuFvcT8D1i8z3Gyn8fraVeZNNmN6e9bxxXkKw==}
    -
    -  /vue-demi@0.13.11(vue@3.4.21):
    -    resolution: {integrity: sha512-IR8HoEEGM65YY3ZJYAjMlKygDQn25D5ajNFNoKh9RSDMQtlzCxtfQjdQgv9jjK+m3377SsJXY8ysq8kLCZL25A==}
    -    engines: {node: '>=12'}
    -    hasBin: true
    -    requiresBuild: true
    -    peerDependencies:
    -      '@vue/composition-api': ^1.0.0-rc.1
    -      vue: ^3.0.0-0 || ^2.6.0
    -    peerDependenciesMeta:
    -      '@vue/composition-api':
    -        optional: true
    -    dependencies:
    -      vue: 3.4.21(typescript@5.4.5)
    -    dev: false
    -
    -  /vue-demi@0.14.7(vue@3.4.26):
    -    resolution: {integrity: sha512-EOG8KXDQNwkJILkx/gPcoL/7vH+hORoBaKgGe+6W7VFMvCYJfmF2dGbvgDroVnI8LU7/kTu8mbjRZGBU1z9NTA==}
    -    engines: {node: '>=12'}
    -    hasBin: true
    -    requiresBuild: true
    -    peerDependencies:
    -      '@vue/composition-api': ^1.0.0-rc.1
    -      vue: ^3.0.0-0 || ^2.6.0
    -    peerDependenciesMeta:
    -      '@vue/composition-api':
    -        optional: true
    -    dependencies:
    -      vue: 3.4.26(typescript@5.4.5)
    -    dev: true
    -
    -  /vue-demi@0.14.7(vue@3.4.27):
    -    resolution: {integrity: sha512-EOG8KXDQNwkJILkx/gPcoL/7vH+hORoBaKgGe+6W7VFMvCYJfmF2dGbvgDroVnI8LU7/kTu8mbjRZGBU1z9NTA==}
    -    engines: {node: '>=12'}
    -    hasBin: true
    -    requiresBuild: true
    -    peerDependencies:
    -      '@vue/composition-api': ^1.0.0-rc.1
    -      vue: ^3.0.0-0 || ^2.6.0
    -    peerDependenciesMeta:
    -      '@vue/composition-api':
    -        optional: true
    +
    +  vscode-nls@5.2.0: {}
    +
    +  vscode-oniguruma@1.7.0: {}
    +
    +  vscode-textmate@8.0.0: {}
    +
    +  vscode-uri@3.0.8: {}
    +
    +  vue-demi@0.13.11(vue@3.4.21(typescript@5.4.5)):
         dependencies:
    -      vue: 3.4.27(typescript@5.4.5)
    -    dev: false
    +      vue: 3.4.21(typescript@5.4.5)
     
    -  /vue@3.4.21(typescript@5.4.5):
    -    resolution: {integrity: sha512-5hjyV/jLEIKD/jYl4cavMcnzKwjMKohureP8ejn3hhEjwhWIhWeuzL2kJAjzl/WyVsgPY56Sy4Z40C3lVshxXA==}
    -    peerDependencies:
    -      typescript: '*'
    -    peerDependenciesMeta:
    -      typescript:
    -        optional: true
    +  vue-demi@0.14.7(vue@3.4.26(typescript@5.4.5)):
    +    dependencies:
    +      vue: 3.4.26(typescript@5.4.5)
    +
    +  vue@3.4.21(typescript@5.4.5):
         dependencies:
           '@vue/compiler-dom': 3.4.21
           '@vue/compiler-sfc': 3.4.21
           '@vue/runtime-dom': 3.4.21
    -      '@vue/server-renderer': 3.4.21(vue@3.4.21)
    +      '@vue/server-renderer': 3.4.21(vue@3.4.21(typescript@5.4.5))
           '@vue/shared': 3.4.21
    +    optionalDependencies:
           typescript: 5.4.5
    -    dev: false
     
    -  /vue@3.4.26(typescript@5.4.5):
    -    resolution: {integrity: sha512-bUIq/p+VB+0xrJubaemrfhk1/FiW9iX+pDV+62I/XJ6EkspAO9/DXEjbDFoe8pIfOZBqfk45i9BMc41ptP/uRg==}
    -    peerDependencies:
    -      typescript: '*'
    -    peerDependenciesMeta:
    -      typescript:
    -        optional: true
    +  vue@3.4.26(typescript@5.4.5):
         dependencies:
           '@vue/compiler-dom': 3.4.26
           '@vue/compiler-sfc': 3.4.26
           '@vue/runtime-dom': 3.4.26
    -      '@vue/server-renderer': 3.4.26(vue@3.4.26)
    +      '@vue/server-renderer': 3.4.26(vue@3.4.26(typescript@5.4.5))
           '@vue/shared': 3.4.26
    -      typescript: 5.4.5
    -    dev: true
    -
    -  /vue@3.4.27(typescript@5.4.5):
    -    resolution: {integrity: sha512-8s/56uK6r01r1icG/aEOHqyMVxd1bkYcSe9j8HcKtr/xTOFWvnzIVTehNW+5Yt89f+DLBe4A569pnZLS5HzAMA==}
    -    peerDependencies:
    -      typescript: '*'
    -    peerDependenciesMeta:
    -      typescript:
    -        optional: true
    -    dependencies:
    -      '@vue/compiler-dom': 3.4.27
    -      '@vue/compiler-sfc': 3.4.27
    -      '@vue/runtime-dom': 3.4.27
    -      '@vue/server-renderer': 3.4.27(vue@3.4.27)
    -      '@vue/shared': 3.4.27
    +    optionalDependencies:
           typescript: 5.4.5
     
    -  /vuex@4.1.0(vue@3.4.21):
    -    resolution: {integrity: sha512-hmV6UerDrPcgbSy9ORAtNXDr9M4wlNP4pEFKye4ujJF8oqgFFuxDCdOLS3eNoRTtq5O3hoBDh9Doj1bQMYHRbQ==}
    -    peerDependencies:
    -      vue: ^3.2.0
    +  vuex@4.1.0(vue@3.4.21(typescript@5.4.5)):
         dependencies:
           '@vue/devtools-api': 6.6.1
           vue: 3.4.21(typescript@5.4.5)
    -    dev: false
     
    -  /w3c-xmlserializer@5.0.0:
    -    resolution: {integrity: sha512-o8qghlI8NZHU1lLPrpi2+Uq7abh4GGPpYANlalzWxyWteJOCsr/P+oPBA49TOLu5FTZO4d3F9MnWJfiMo4BkmA==}
    -    engines: {node: '>=18'}
    +  w3c-xmlserializer@5.0.0:
         dependencies:
           xml-name-validator: 5.0.0
    -    dev: true
     
    -  /wait-on@7.2.0(debug@4.3.4):
    -    resolution: {integrity: sha512-wCQcHkRazgjG5XoAq9jbTMLpNIjoSlZslrJ2+N9MxDsGEv1HnFoVjOCexL0ESva7Y9cu350j+DWADdk54s4AFQ==}
    -    engines: {node: '>=12.0.0'}
    -    hasBin: true
    +  wait-on@7.2.0(debug@4.3.4):
         dependencies:
           axios: 1.6.7(debug@4.3.4)
           joi: 17.12.2
    @@ -15851,38 +18587,25 @@ packages:
           rxjs: 7.8.1
         transitivePeerDependencies:
           - debug
    -    dev: true
     
    -  /walker@1.0.8:
    -    resolution: {integrity: sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==}
    +  walker@1.0.8:
         dependencies:
           makeerror: 1.0.12
    -    dev: true
     
    -  /watchpack@2.4.1:
    -    resolution: {integrity: sha512-8wrBCMtVhqcXP2Sup1ctSkga6uc2Bx0IIvKyT7yTFier5AXHooSI+QyQQAtTb7+E0IUCCKyTFmXqdqgum2XWGg==}
    -    engines: {node: '>=10.13.0'}
    +  watchpack@2.4.1:
         dependencies:
           glob-to-regexp: 0.4.1
           graceful-fs: 4.2.11
    -    dev: true
     
    -  /wbuf@1.7.3:
    -    resolution: {integrity: sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==}
    +  wbuf@1.7.3:
         dependencies:
           minimalistic-assert: 1.0.1
    -    dev: true
     
    -  /web-streams-polyfill@3.3.3:
    -    resolution: {integrity: sha512-d2JWLCivmZYTSIoge9MsgFCZrt571BikcWGYkjC1khllbTeDlGqZ2D8vD8E/lJa8WGWbb7Plm8/XJYV7IJHZZw==}
    -    engines: {node: '>= 8'}
    -    dev: true
    +  web-streams-polyfill@3.3.3: {}
     
    -  /webdriver@7.31.1(typescript@5.4.5):
    -    resolution: {integrity: sha512-nCdJLxRnYvOMFqTEX7sqQtF/hV/Jgov0Y6ICeOm1DMTlZSRRDaUsBMlEAPkEwif9uBJYdM0znv8qzfX358AGqQ==}
    -    engines: {node: '>=12.0.0'}
    +  webdriver@7.31.1(typescript@5.4.5):
         dependencies:
    -      '@types/node': 18.19.33
    +      '@types/node': 18.19.31
           '@wdio/config': 7.31.1(typescript@5.4.5)
           '@wdio/logger': 7.26.0
           '@wdio/protocols': 7.27.0
    @@ -15893,45 +18616,19 @@ packages:
           lodash.merge: 4.6.2
         transitivePeerDependencies:
           - typescript
    -    dev: true
     
    -  /webidl-conversions@3.0.1:
    -    resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==}
    -    dev: true
    +  webidl-conversions@3.0.1: {}
     
    -  /webidl-conversions@4.0.2:
    -    resolution: {integrity: sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==}
    -    dev: true
    +  webidl-conversions@4.0.2: {}
     
    -  /webidl-conversions@7.0.0:
    -    resolution: {integrity: sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==}
    -    engines: {node: '>=12'}
    -    dev: true
    +  webidl-conversions@7.0.0: {}
     
    -  /webpack-cli@4.10.0(webpack-dev-server@4.15.2)(webpack@5.91.0):
    -    resolution: {integrity: sha512-NLhDfH/h4O6UOy+0LSso42xvYypClINuMNBVVzX4vX98TmTaTUxwRbXdhucbFMd2qLaCTcLq/PdYrvi8onw90w==}
    -    engines: {node: '>=10.13.0'}
    -    hasBin: true
    -    peerDependencies:
    -      '@webpack-cli/generators': '*'
    -      '@webpack-cli/migrate': '*'
    -      webpack: 4.x.x || 5.x.x
    -      webpack-bundle-analyzer: '*'
    -      webpack-dev-server: '*'
    -    peerDependenciesMeta:
    -      '@webpack-cli/generators':
    -        optional: true
    -      '@webpack-cli/migrate':
    -        optional: true
    -      webpack-bundle-analyzer:
    -        optional: true
    -      webpack-dev-server:
    -        optional: true
    +  webpack-cli@4.10.0(webpack-dev-server@4.15.2)(webpack@5.91.0):
         dependencies:
           '@discoveryjs/json-ext': 0.5.7
    -      '@webpack-cli/configtest': 1.2.0(webpack-cli@4.10.0)(webpack@5.91.0)
    -      '@webpack-cli/info': 1.5.0(webpack-cli@4.10.0)
    -      '@webpack-cli/serve': 1.7.0(webpack-cli@4.10.0)(webpack-dev-server@4.15.2)
    +      '@webpack-cli/configtest': 1.2.0(webpack-cli@4.10.0(webpack-dev-server@4.15.2)(webpack@5.91.0))(webpack@5.91.0(esbuild@0.20.2)(webpack-cli@4.10.0))
    +      '@webpack-cli/info': 1.5.0(webpack-cli@4.10.0(webpack-dev-server@4.15.2)(webpack@5.91.0))
    +      '@webpack-cli/serve': 1.7.0(webpack-cli@4.10.0(webpack-dev-server@4.15.2)(webpack@5.91.0))(webpack-dev-server@4.15.2(webpack-cli@4.10.0)(webpack@5.91.0))
           colorette: 2.0.20
           commander: 7.2.0
           cross-spawn: 7.0.3
    @@ -15940,15 +18637,11 @@ packages:
           interpret: 2.2.0
           rechoir: 0.7.1
           webpack: 5.91.0(esbuild@0.20.2)(webpack-cli@4.10.0)
    -      webpack-dev-server: 4.15.2(webpack-cli@4.10.0)(webpack@5.91.0)
           webpack-merge: 5.9.0
    -    dev: true
    +    optionalDependencies:
    +      webpack-dev-server: 4.15.2(webpack-cli@4.10.0)(webpack@5.91.0)
     
    -  /webpack-dev-middleware@5.3.4(webpack@5.91.0):
    -    resolution: {integrity: sha512-BVdTqhhs+0IfoeAf7EoH5WE+exCmqGerHfDM0IL096Px60Tq2Mn9MAbnaGUe6HiMa41KMCYF19gyzZmBcq/o4Q==}
    -    engines: {node: '>= 12.13.0'}
    -    peerDependencies:
    -      webpack: ^4.0.0 || ^5.0.0
    +  webpack-dev-middleware@5.3.4(webpack@5.91.0(esbuild@0.20.2)(webpack-cli@4.10.0)):
         dependencies:
           colorette: 2.0.20
           memfs: 3.5.3
    @@ -15956,20 +18649,8 @@ packages:
           range-parser: 1.2.1
           schema-utils: 4.2.0
           webpack: 5.91.0(esbuild@0.20.2)(webpack-cli@4.10.0)
    -    dev: true
     
    -  /webpack-dev-server@4.15.2(webpack-cli@4.10.0)(webpack@5.91.0):
    -    resolution: {integrity: sha512-0XavAZbNJ5sDrCbkpWL8mia0o5WPOd2YGtxrEiZkBK9FjLppIUK2TgxK6qGD2P3hUXTJNNPVibrerKcx5WkR1g==}
    -    engines: {node: '>= 12.13.0'}
    -    hasBin: true
    -    peerDependencies:
    -      webpack: ^4.37.0 || ^5.0.0
    -      webpack-cli: '*'
    -    peerDependenciesMeta:
    -      webpack:
    -        optional: true
    -      webpack-cli:
    -        optional: true
    +  webpack-dev-server@4.15.2(webpack-cli@4.10.0)(webpack@5.91.0):
         dependencies:
           '@types/bonjour': 3.5.10
           '@types/connect-history-api-fallback': 1.5.0
    @@ -15999,43 +18680,27 @@ packages:
           serve-index: 1.9.1
           sockjs: 0.3.24
           spdy: 4.0.2
    +      webpack-dev-middleware: 5.3.4(webpack@5.91.0(esbuild@0.20.2)(webpack-cli@4.10.0))
    +      ws: 8.16.0
    +    optionalDependencies:
           webpack: 5.91.0(esbuild@0.20.2)(webpack-cli@4.10.0)
           webpack-cli: 4.10.0(webpack-dev-server@4.15.2)(webpack@5.91.0)
    -      webpack-dev-middleware: 5.3.4(webpack@5.91.0)
    -      ws: 8.16.0
         transitivePeerDependencies:
           - bufferutil
           - debug
           - supports-color
           - utf-8-validate
    -    dev: true
     
    -  /webpack-merge@5.9.0:
    -    resolution: {integrity: sha512-6NbRQw4+Sy50vYNTw7EyOn41OZItPiXB8GNv3INSoe3PSFaHJEz3SHTrYVaRm2LilNGnFUzh0FAwqPEmU/CwDg==}
    -    engines: {node: '>=10.0.0'}
    +  webpack-merge@5.9.0:
         dependencies:
           clone-deep: 4.0.1
           wildcard: 2.0.1
    -    dev: true
     
    -  /webpack-sources@3.2.3:
    -    resolution: {integrity: sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==}
    -    engines: {node: '>=10.13.0'}
    -    dev: true
    +  webpack-sources@3.2.3: {}
     
    -  /webpack-virtual-modules@0.5.0:
    -    resolution: {integrity: sha512-kyDivFZ7ZM0BVOUteVbDFhlRt7Ah/CSPwJdi8hBpkK7QLumUqdLtVfm/PX/hkcnrvr0i77fO5+TjZ94Pe+C9iw==}
    -    dev: true
    +  webpack-virtual-modules@0.5.0: {}
     
    -  /webpack@5.91.0(esbuild@0.20.2)(webpack-cli@4.10.0):
    -    resolution: {integrity: sha512-rzVwlLeBWHJbmgTC/8TvAcu5vpJNII+MelQpylD4jNERPwpBJOE2lEcko1zJX3QJeLjTTAnQxn/OJ8bjDzVQaw==}
    -    engines: {node: '>=10.13.0'}
    -    hasBin: true
    -    peerDependencies:
    -      webpack-cli: '*'
    -    peerDependenciesMeta:
    -      webpack-cli:
    -        optional: true
    +  webpack@5.91.0(esbuild@0.20.2):
         dependencies:
           '@types/eslint-scope': 3.7.7
           '@types/estree': 1.0.5
    @@ -16058,150 +18723,132 @@ packages:
           neo-async: 2.6.2
           schema-utils: 3.3.0
           tapable: 2.2.1
    -      terser-webpack-plugin: 5.3.10(esbuild@0.20.2)(webpack@5.91.0)
    +      terser-webpack-plugin: 5.3.10(esbuild@0.20.2)(webpack@5.91.0(esbuild@0.20.2))
           watchpack: 2.4.1
    -      webpack-cli: 4.10.0(webpack-dev-server@4.15.2)(webpack@5.91.0)
           webpack-sources: 3.2.3
         transitivePeerDependencies:
           - '@swc/core'
           - esbuild
           - uglify-js
    -    dev: true
     
    -  /websocket-driver@0.7.4:
    -    resolution: {integrity: sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg==}
    -    engines: {node: '>=0.8.0'}
    +  webpack@5.91.0(esbuild@0.20.2)(webpack-cli@4.10.0):
    +    dependencies:
    +      '@types/eslint-scope': 3.7.7
    +      '@types/estree': 1.0.5
    +      '@webassemblyjs/ast': 1.12.1
    +      '@webassemblyjs/wasm-edit': 1.12.1
    +      '@webassemblyjs/wasm-parser': 1.12.1
    +      acorn: 8.11.3
    +      acorn-import-assertions: 1.9.0(acorn@8.11.3)
    +      browserslist: 4.23.0
    +      chrome-trace-event: 1.0.3
    +      enhanced-resolve: 5.16.0
    +      es-module-lexer: 1.4.1
    +      eslint-scope: 5.1.1
    +      events: 3.3.0
    +      glob-to-regexp: 0.4.1
    +      graceful-fs: 4.2.11
    +      json-parse-even-better-errors: 2.3.1
    +      loader-runner: 4.3.0
    +      mime-types: 2.1.35
    +      neo-async: 2.6.2
    +      schema-utils: 3.3.0
    +      tapable: 2.2.1
    +      terser-webpack-plugin: 5.3.10(esbuild@0.20.2)(webpack@5.91.0(esbuild@0.20.2)(webpack-cli@4.10.0))
    +      watchpack: 2.4.1
    +      webpack-sources: 3.2.3
    +    optionalDependencies:
    +      webpack-cli: 4.10.0(webpack-dev-server@4.15.2)(webpack@5.91.0)
    +    transitivePeerDependencies:
    +      - '@swc/core'
    +      - esbuild
    +      - uglify-js
    +
    +  websocket-driver@0.7.4:
         dependencies:
           http-parser-js: 0.5.8
           safe-buffer: 5.2.1
           websocket-extensions: 0.1.4
    -    dev: true
     
    -  /websocket-extensions@0.1.4:
    -    resolution: {integrity: sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==}
    -    engines: {node: '>=0.8.0'}
    -    dev: true
    +  websocket-extensions@0.1.4: {}
     
    -  /whatwg-encoding@3.1.1:
    -    resolution: {integrity: sha512-6qN4hJdMwfYBtE3YBTTHhoeuUrDBPZmbQaxWAqSALV/MeEnR5z1xd8UKud2RAkFoPkmB+hli1TZSnyi84xz1vQ==}
    -    engines: {node: '>=18'}
    +  whatwg-encoding@3.1.1:
         dependencies:
           iconv-lite: 0.6.3
    -    dev: true
     
    -  /whatwg-mimetype@4.0.0:
    -    resolution: {integrity: sha512-QaKxh0eNIi2mE9p2vEdzfagOKHCcj1pJ56EEHGQOVxp8r9/iszLUUV7v89x9O1p/T+NlTM5W7jW6+cz4Fq1YVg==}
    -    engines: {node: '>=18'}
    -    dev: true
    +  whatwg-mimetype@4.0.0: {}
     
    -  /whatwg-url@14.0.0:
    -    resolution: {integrity: sha512-1lfMEm2IEr7RIV+f4lUNPOqfFL+pO+Xw3fJSqmjX9AbXcXcYOkCe1P6+9VBZB6n94af16NfZf+sSk0JCBZC9aw==}
    -    engines: {node: '>=18'}
    +  whatwg-url@14.0.0:
         dependencies:
           tr46: 5.0.0
           webidl-conversions: 7.0.0
    -    dev: true
     
    -  /whatwg-url@5.0.0:
    -    resolution: {integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==}
    +  whatwg-url@5.0.0:
         dependencies:
           tr46: 0.0.3
           webidl-conversions: 3.0.1
    -    dev: true
     
    -  /whatwg-url@7.1.0:
    -    resolution: {integrity: sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==}
    +  whatwg-url@7.1.0:
         dependencies:
           lodash.sortby: 4.7.0
           tr46: 1.0.1
           webidl-conversions: 4.0.2
    -    dev: true
     
    -  /which-boxed-primitive@1.0.2:
    -    resolution: {integrity: sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==}
    +  which-boxed-primitive@1.0.2:
         dependencies:
           is-bigint: 1.0.4
           is-boolean-object: 1.1.2
           is-number-object: 1.0.7
           is-string: 1.0.7
           is-symbol: 1.0.4
    -    dev: true
     
    -  /which-module@2.0.1:
    -    resolution: {integrity: sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ==}
    -    dev: true
    +  which-module@2.0.1: {}
     
    -  /which-typed-array@1.1.15:
    -    resolution: {integrity: sha512-oV0jmFtUky6CXfkqehVvBP/LSWJ2sy4vWMioiENyJLePrBO/yKyV9OyJySfAKosh+RYkIl5zJCNZ8/4JncrpdA==}
    -    engines: {node: '>= 0.4'}
    +  which-typed-array@1.1.15:
         dependencies:
           available-typed-arrays: 1.0.7
           call-bind: 1.0.7
           for-each: 0.3.3
           gopd: 1.0.1
           has-tostringtag: 1.0.2
    -    dev: true
     
    -  /which@1.3.1:
    -    resolution: {integrity: sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==}
    -    hasBin: true
    +  which@1.3.1:
         dependencies:
           isexe: 2.0.0
    -    dev: true
     
    -  /which@2.0.2:
    -    resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==}
    -    engines: {node: '>= 8'}
    -    hasBin: true
    +  which@2.0.2:
         dependencies:
           isexe: 2.0.0
     
    -  /why-is-node-running@2.2.2:
    -    resolution: {integrity: sha512-6tSwToZxTOcotxHeA+qGCq1mVzKR3CwcJGmVcY+QE8SHy6TnpFnh8PAvPNHYr7EcuVeG0QSMxtYCuO1ta/G/oA==}
    -    engines: {node: '>=8'}
    -    hasBin: true
    +  why-is-node-running@2.2.2:
         dependencies:
           siginfo: 2.0.0
           stackback: 0.0.2
    -    dev: true
     
    -  /widest-line@3.1.0:
    -    resolution: {integrity: sha512-NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg==}
    -    engines: {node: '>=8'}
    +  widest-line@3.1.0:
         dependencies:
           string-width: 4.2.3
    -    dev: true
     
    -  /wildcard@2.0.1:
    -    resolution: {integrity: sha512-CC1bOL87PIWSBhDcTrdeLo6eGT7mCFtrg0uIJtqJUFyK+eJnzl8A1niH56uu7KMa5XFrtiV+AQuHO3n7DsHnLQ==}
    -    dev: true
    +  wildcard@2.0.1: {}
     
    -  /wordwrap@1.0.0:
    -    resolution: {integrity: sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==}
    -    dev: true
    +  wordwrap@1.0.0: {}
     
    -  /workbox-background-sync@7.1.0:
    -    resolution: {integrity: sha512-rMbgrzueVWDFcEq1610YyDW71z0oAXLfdRHRQcKw4SGihkfOK0JUEvqWHFwA6rJ+6TClnMIn7KQI5PNN1XQXwQ==}
    +  workbox-background-sync@7.1.0:
         dependencies:
           idb: 7.1.1
           workbox-core: 7.1.0
    -    dev: true
     
    -  /workbox-broadcast-update@7.1.0:
    -    resolution: {integrity: sha512-O36hIfhjej/c5ar95pO67k1GQw0/bw5tKP7CERNgK+JdxBANQhDmIuOXZTNvwb2IHBx9hj2kxvcDyRIh5nzOgQ==}
    +  workbox-broadcast-update@7.1.0:
         dependencies:
           workbox-core: 7.1.0
    -    dev: true
     
    -  /workbox-build@7.1.0:
    -    resolution: {integrity: sha512-F6R94XAxjB2j4ETMkP1EXKfjECOtDmyvt0vz3BzgWJMI68TNSXIVNkgatwUKBlPGOfy9n2F/4voYRNAhEvPJNg==}
    -    engines: {node: '>=16.0.0'}
    +  workbox-build@7.1.0(@types/babel__core@7.20.5):
         dependencies:
           '@apideck/better-ajv-errors': 0.3.6(ajv@8.13.0)
           '@babel/core': 7.24.5
           '@babel/preset-env': 7.24.5(@babel/core@7.24.5)
           '@babel/runtime': 7.24.5
    -      '@rollup/plugin-babel': 5.3.1(@babel/core@7.24.5)(rollup@2.79.1)
    +      '@rollup/plugin-babel': 5.3.1(@babel/core@7.24.5)(@types/babel__core@7.20.5)(rollup@2.79.1)
           '@rollup/plugin-node-resolve': 15.2.3(rollup@2.79.1)
           '@rollup/plugin-replace': 2.4.2(rollup@2.79.1)
           '@rollup/plugin-terser': 0.4.4(rollup@2.79.1)
    @@ -16237,60 +18884,42 @@ packages:
         transitivePeerDependencies:
           - '@types/babel__core'
           - supports-color
    -    dev: true
     
    -  /workbox-cacheable-response@7.1.0:
    -    resolution: {integrity: sha512-iwsLBll8Hvua3xCuBB9h92+/e0wdsmSVgR2ZlvcfjepZWwhd3osumQB3x9o7flj+FehtWM2VHbZn8UJeBXXo6Q==}
    +  workbox-cacheable-response@7.1.0:
         dependencies:
           workbox-core: 7.1.0
    -    dev: true
     
    -  /workbox-core@7.0.0:
    -    resolution: {integrity: sha512-81JkAAZtfVP8darBpfRTovHg8DGAVrKFgHpOArZbdFd78VqHr5Iw65f2guwjE2NlCFbPFDoez3D3/6ZvhI/rwQ==}
    -    dev: true
    +  workbox-core@7.0.0: {}
     
    -  /workbox-core@7.1.0:
    -    resolution: {integrity: sha512-5KB4KOY8rtL31nEF7BfvU7FMzKT4B5TkbYa2tzkS+Peqj0gayMT9SytSFtNzlrvMaWgv6y/yvP9C0IbpFjV30Q==}
    -    dev: true
    +  workbox-core@7.1.0: {}
     
    -  /workbox-expiration@7.1.0:
    -    resolution: {integrity: sha512-m5DcMY+A63rJlPTbbBNtpJ20i3enkyOtSgYfv/l8h+D6YbbNiA0zKEkCUaMsdDlxggla1oOfRkyqTvl5Ni5KQQ==}
    +  workbox-expiration@7.1.0:
         dependencies:
           idb: 7.1.1
           workbox-core: 7.1.0
    -    dev: true
     
    -  /workbox-google-analytics@7.1.0:
    -    resolution: {integrity: sha512-FvE53kBQHfVTcZyczeBVRexhh7JTkyQ8HAvbVY6mXd2n2A7Oyz/9fIwnY406ZcDhvE4NFfKGjW56N4gBiqkrew==}
    +  workbox-google-analytics@7.1.0:
         dependencies:
           workbox-background-sync: 7.1.0
           workbox-core: 7.1.0
           workbox-routing: 7.1.0
           workbox-strategies: 7.1.0
    -    dev: true
     
    -  /workbox-navigation-preload@7.1.0:
    -    resolution: {integrity: sha512-4wyAbo0vNI/X0uWNJhCMKxnPanNyhybsReMGN9QUpaePLTiDpKxPqFxl4oUmBNddPwIXug01eTSLVIFXimRG/A==}
    +  workbox-navigation-preload@7.1.0:
         dependencies:
           workbox-core: 7.1.0
    -    dev: true
     
    -  /workbox-precaching@7.1.0:
    -    resolution: {integrity: sha512-LyxzQts+UEpgtmfnolo0hHdNjoB7EoRWcF7EDslt+lQGd0lW4iTvvSe3v5JiIckQSB5KTW5xiCqjFviRKPj1zA==}
    +  workbox-precaching@7.1.0:
         dependencies:
           workbox-core: 7.1.0
           workbox-routing: 7.1.0
           workbox-strategies: 7.1.0
    -    dev: true
     
    -  /workbox-range-requests@7.1.0:
    -    resolution: {integrity: sha512-m7+O4EHolNs5yb/79CrnwPR/g/PRzMFYEdo01LqwixVnc/sbzNSvKz0d04OE3aMRel1CwAAZQheRsqGDwATgPQ==}
    +  workbox-range-requests@7.1.0:
         dependencies:
           workbox-core: 7.1.0
    -    dev: true
     
    -  /workbox-recipes@7.1.0:
    -    resolution: {integrity: sha512-NRrk4ycFN9BHXJB6WrKiRX3W3w75YNrNrzSX9cEZgFB5ubeGoO8s/SDmOYVrFYp9HMw6sh1Pm3eAY/1gVS8YLg==}
    +  workbox-recipes@7.1.0:
         dependencies:
           workbox-cacheable-response: 7.1.0
           workbox-core: 7.1.0
    @@ -16298,207 +18927,108 @@ packages:
           workbox-precaching: 7.1.0
           workbox-routing: 7.1.0
           workbox-strategies: 7.1.0
    -    dev: true
     
    -  /workbox-routing@7.1.0:
    -    resolution: {integrity: sha512-oOYk+kLriUY2QyHkIilxUlVcFqwduLJB7oRZIENbqPGeBP/3TWHYNNdmGNhz1dvKuw7aqvJ7CQxn27/jprlTdg==}
    +  workbox-routing@7.1.0:
         dependencies:
           workbox-core: 7.1.0
    -    dev: true
     
    -  /workbox-strategies@7.1.0:
    -    resolution: {integrity: sha512-/UracPiGhUNehGjRm/tLUQ+9PtWmCbRufWtV0tNrALuf+HZ4F7cmObSEK+E4/Bx1p8Syx2tM+pkIrvtyetdlew==}
    +  workbox-strategies@7.1.0:
         dependencies:
           workbox-core: 7.1.0
    -    dev: true
     
    -  /workbox-streams@7.1.0:
    -    resolution: {integrity: sha512-WyHAVxRXBMfysM8ORwiZnI98wvGWTVAq/lOyBjf00pXFvG0mNaVz4Ji+u+fKa/mf1i2SnTfikoYKto4ihHeS6w==}
    +  workbox-streams@7.1.0:
         dependencies:
           workbox-core: 7.1.0
           workbox-routing: 7.1.0
    -    dev: true
     
    -  /workbox-sw@7.1.0:
    -    resolution: {integrity: sha512-Hml/9+/njUXBglv3dtZ9WBKHI235AQJyLBV1G7EFmh4/mUdSQuXui80RtjDeVRrXnm/6QWgRUEHG3/YBVbxtsA==}
    -    dev: true
    +  workbox-sw@7.1.0: {}
     
    -  /workbox-window@7.0.0:
    -    resolution: {integrity: sha512-j7P/bsAWE/a7sxqTzXo3P2ALb1reTfZdvVp6OJ/uLr/C2kZAMvjeWGm8V4htQhor7DOvYg0sSbFN2+flT5U0qA==}
    +  workbox-window@7.0.0:
         dependencies:
           '@types/trusted-types': 2.0.3
           workbox-core: 7.0.0
    -    dev: true
     
    -  /workbox-window@7.1.0:
    -    resolution: {integrity: sha512-ZHeROyqR+AS5UPzholQRDttLFqGMwP0Np8MKWAdyxsDETxq3qOAyXvqessc3GniohG6e0mAqSQyKOHmT8zPF7g==}
    +  workbox-window@7.1.0:
         dependencies:
           '@types/trusted-types': 2.0.7
           workbox-core: 7.1.0
    -    dev: true
     
    -  /wrap-ansi@6.2.0:
    -    resolution: {integrity: sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==}
    -    engines: {node: '>=8'}
    +  wrap-ansi@6.2.0:
         dependencies:
           ansi-styles: 4.3.0
           string-width: 4.2.3
           strip-ansi: 6.0.1
    -    dev: true
     
    -  /wrap-ansi@7.0.0:
    -    resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==}
    -    engines: {node: '>=10'}
    +  wrap-ansi@7.0.0:
         dependencies:
           ansi-styles: 4.3.0
           string-width: 4.2.3
           strip-ansi: 6.0.1
     
    -  /wrap-ansi@8.1.0:
    -    resolution: {integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==}
    -    engines: {node: '>=12'}
    +  wrap-ansi@8.1.0:
         dependencies:
           ansi-styles: 6.2.1
           string-width: 5.1.2
           strip-ansi: 7.1.0
     
    -  /wrap-ansi@9.0.0:
    -    resolution: {integrity: sha512-G8ura3S+3Z2G+mkgNRq8dqaFZAuxfsxpBB8OCTGRTCtp+l/v9nbFNmCUP1BZMts3G1142MsZfn6eeUKrr4PD1Q==}
    -    engines: {node: '>=18'}
    +  wrap-ansi@9.0.0:
         dependencies:
           ansi-styles: 6.2.1
           string-width: 7.1.0
           strip-ansi: 7.1.0
    -    dev: true
     
    -  /wrappy@1.0.2:
    -    resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==}
    -    dev: true
    +  wrappy@1.0.2: {}
     
    -  /write-file-atomic@3.0.3:
    -    resolution: {integrity: sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==}
    +  write-file-atomic@3.0.3:
         dependencies:
           imurmurhash: 0.1.4
           is-typedarray: 1.0.0
           signal-exit: 3.0.7
           typedarray-to-buffer: 3.1.5
    -    dev: true
     
    -  /write-file-atomic@4.0.2:
    -    resolution: {integrity: sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==}
    -    engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0}
    +  write-file-atomic@4.0.2:
         dependencies:
           imurmurhash: 0.1.4
           signal-exit: 3.0.7
    -    dev: true
     
    -  /ws@8.13.0:
    -    resolution: {integrity: sha512-x9vcZYTrFPC7aSIbj7sRCYo7L/Xb8Iy+pW0ng0wt2vCJv7M9HOMy0UoN3rr+IFC7hb7vXoqS+P9ktyLLLhO+LA==}
    -    engines: {node: '>=10.0.0'}
    -    peerDependencies:
    -      bufferutil: ^4.0.1
    -      utf-8-validate: '>=5.0.2'
    -    peerDependenciesMeta:
    -      bufferutil:
    -        optional: true
    -      utf-8-validate:
    -        optional: true
    -    dev: true
    +  ws@8.13.0: {}
     
    -  /ws@8.16.0:
    -    resolution: {integrity: sha512-HS0c//TP7Ina87TfiPUz1rQzMhHrl/SG2guqRcTOIUYD2q8uhUdNHZYJUaQ8aTGPzCh+c6oawMKW35nFl1dxyQ==}
    -    engines: {node: '>=10.0.0'}
    -    peerDependencies:
    -      bufferutil: ^4.0.1
    -      utf-8-validate: '>=5.0.2'
    -    peerDependenciesMeta:
    -      bufferutil:
    -        optional: true
    -      utf-8-validate:
    -        optional: true
    -    dev: true
    +  ws@8.16.0: {}
     
    -  /ws@8.5.0:
    -    resolution: {integrity: sha512-BWX0SWVgLPzYwF8lTzEy1egjhS4S4OEAHfsO8o65WOVsrnSRGaSiUaa9e0ggGlkMTtBlmOpEXiie9RUcBO86qg==}
    -    engines: {node: '>=10.0.0'}
    -    peerDependencies:
    -      bufferutil: ^4.0.1
    -      utf-8-validate: ^5.0.2
    -    peerDependenciesMeta:
    -      bufferutil:
    -        optional: true
    -      utf-8-validate:
    -        optional: true
    -    dev: true
    +  ws@8.5.0: {}
     
    -  /xdg-basedir@5.1.0:
    -    resolution: {integrity: sha512-GCPAHLvrIH13+c0SuacwvRYj2SxJXQ4kaVTT5xgL3kPrz56XxkF21IGhjSE1+W0aw7gpBWRGXLCPnPby6lSpmQ==}
    -    engines: {node: '>=12'}
    -    dev: true
    +  xdg-basedir@5.1.0: {}
     
    -  /xml-name-validator@5.0.0:
    -    resolution: {integrity: sha512-EvGK8EJ3DhaHfbRlETOWAS5pO9MZITeauHKJyb8wyajUfQUenkIg2MvLDTZ4T/TgIcm3HU0TFBgWWboAZ30UHg==}
    -    engines: {node: '>=18'}
    -    dev: true
    +  xml-name-validator@5.0.0: {}
     
    -  /xmlbuilder@15.1.1:
    -    resolution: {integrity: sha512-yMqGBqtXyeN1e3TGYvgNgDVZ3j84W4cwkOXQswghol6APgZWaff9lnbvN7MHYJOiXsvGPXtjTYJEiC9J2wv9Eg==}
    -    engines: {node: '>=8.0'}
    -    dev: true
    +  xmlbuilder@15.1.1: {}
     
    -  /xmlchars@2.2.0:
    -    resolution: {integrity: sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==}
    -    dev: true
    +  xmlchars@2.2.0: {}
     
    -  /xxhashjs@0.2.2:
    -    resolution: {integrity: sha512-AkTuIuVTET12tpsVIQo+ZU6f/qDmKuRUcjaqR+OIvm+aCBsZ95i7UVY5WJ9TMsSaZ0DA2WxoZ4acu0sPH+OKAw==}
    +  xxhashjs@0.2.2:
         dependencies:
           cuint: 0.2.2
    -    dev: true
     
    -  /y18n@4.0.3:
    -    resolution: {integrity: sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==}
    -    dev: true
    +  y18n@4.0.3: {}
     
    -  /y18n@5.0.8:
    -    resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==}
    -    engines: {node: '>=10'}
    -    dev: true
    +  y18n@5.0.8: {}
     
    -  /yallist@3.1.1:
    -    resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==}
    -    dev: true
    +  yallist@3.1.1: {}
     
    -  /yallist@4.0.0:
    -    resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==}
    -    dev: true
    +  yallist@4.0.0: {}
     
    -  /yaml@2.3.4:
    -    resolution: {integrity: sha512-8aAvwVUSHpfEqTQ4w/KMlf3HcRdt50E5ODIQJBw1fQ5RL34xabzxtUlzTXVqc4rkZsPbvrXKWnABCD7kWSmocA==}
    -    engines: {node: '>= 14'}
    -    dev: true
    +  yaml@2.3.4: {}
     
    -  /yaml@2.4.1:
    -    resolution: {integrity: sha512-pIXzoImaqmfOrL7teGUBt/T7ZDnyeGBWyXQBvOVhLkWLN37GXv8NMLK406UY6dS51JfcQHsmcW5cJ441bHg6Lg==}
    -    engines: {node: '>= 14'}
    -    hasBin: true
    +  yaml@2.4.1: {}
     
    -  /yargs-parser@18.1.3:
    -    resolution: {integrity: sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==}
    -    engines: {node: '>=6'}
    +  yargs-parser@18.1.3:
         dependencies:
           camelcase: 5.3.1
           decamelize: 1.2.0
    -    dev: true
     
    -  /yargs-parser@21.1.1:
    -    resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==}
    -    engines: {node: '>=12'}
    -    dev: true
    +  yargs-parser@21.1.1: {}
     
    -  /yargs@15.4.1:
    -    resolution: {integrity: sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==}
    -    engines: {node: '>=8'}
    +  yargs@15.4.1:
         dependencies:
           cliui: 6.0.0
           decamelize: 1.2.0
    @@ -16511,11 +19041,8 @@ packages:
           which-module: 2.0.1
           y18n: 4.0.3
           yargs-parser: 18.1.3
    -    dev: true
     
    -  /yargs@17.7.2:
    -    resolution: {integrity: sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==}
    -    engines: {node: '>=12'}
    +  yargs@17.7.2:
         dependencies:
           cliui: 8.0.1
           escalade: 3.1.2
    @@ -16524,25 +19051,14 @@ packages:
           string-width: 4.2.3
           y18n: 5.0.8
           yargs-parser: 21.1.1
    -    dev: true
     
    -  /yauzl@2.10.0:
    -    resolution: {integrity: sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==}
    +  yauzl@2.10.0:
         dependencies:
           buffer-crc32: 0.2.13
           fd-slicer: 1.1.0
    -    dev: true
     
    -  /yocto-queue@0.1.0:
    -    resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==}
    -    engines: {node: '>=10'}
    -    dev: true
    +  yocto-queue@0.1.0: {}
     
    -  /yocto-queue@1.0.0:
    -    resolution: {integrity: sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==}
    -    engines: {node: '>=12.20'}
    -    dev: true
    +  yocto-queue@1.0.0: {}
     
    -  /zwitch@2.0.4:
    -    resolution: {integrity: sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==}
    -    dev: true
    +  zwitch@2.0.4: {}
    
    From 60c79dfb2fe7376f6c3ca9c0ba637298e5dfbf00 Mon Sep 17 00:00:00 2001
    From: Sidharth Vinod 
    Date: Tue, 21 May 2024 17:55:10 +0530
    Subject: [PATCH 429/789] Add d3
    
    ---
     packages/mermaid-layout-elk/package.json | 3 ++-
     pnpm-lock.yaml                           | 3 +++
     2 files changed, 5 insertions(+), 1 deletion(-)
    
    diff --git a/packages/mermaid-layout-elk/package.json b/packages/mermaid-layout-elk/package.json
    index 68c47023c7..888cb56d92 100644
    --- a/packages/mermaid-layout-elk/package.json
    +++ b/packages/mermaid-layout-elk/package.json
    @@ -31,7 +31,8 @@
       ],
       "license": "MIT",
       "dependencies": {
    -    "elkjs": "^0.9.3"
    +    "elkjs": "^0.9.3",
    +    "d3": "^7.9.0"
       },
       "devDependencies": {
         "mermaid": "workspace:^"
    diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
    index 6531085106..98b7a02673 100644
    --- a/pnpm-lock.yaml
    +++ b/pnpm-lock.yaml
    @@ -436,6 +436,9 @@ importers:
     
       packages/mermaid-layout-elk:
         dependencies:
    +      d3:
    +        specifier: ^7.9.0
    +        version: 7.9.0
           elkjs:
             specifier: ^0.9.3
             version: 0.9.3
    
    From 75b0ee3dafe81b1c2c5d05758f4204e900c38a1d Mon Sep 17 00:00:00 2001
    From: Sidharth Vinod 
    Date: Tue, 21 May 2024 17:56:50 +0530
    Subject: [PATCH 430/789] Remove unused code
    
    ---
     packages/mermaid-layout-elk/src/index.ts | 27 ------------------------
     1 file changed, 27 deletions(-)
    
    diff --git a/packages/mermaid-layout-elk/src/index.ts b/packages/mermaid-layout-elk/src/index.ts
    index eb860436eb..fe8733293c 100644
    --- a/packages/mermaid-layout-elk/src/index.ts
    +++ b/packages/mermaid-layout-elk/src/index.ts
    @@ -214,25 +214,6 @@ const addSubGraphs = function (nodeArr) {
       return parentLookupDb;
     };
     
    -const insertChildren = (nodeArray, parentLookupDb) => {
    -  nodeArray.forEach((node) => {
    -    // Check if we have reached the end of the tree
    -    if (!node.children) {
    -      node.children = [];
    -    }
    -    // Check if the node has children
    -    const childIds = parentLookupDb.childrenById[node.id];
    -    // If the node has children, add them to the node
    -    if (childIds) {
    -      childIds.forEach((childId) => {
    -        node.children.push(nodeDb[childId]);
    -      });
    -    }
    -    // Recursive call
    -    insertChildren(node.children, parentLookupDb);
    -  });
    -};
    -
     const getEdgeStartEndPoint = (edge, dir) => {
       let source = edge.start;
       let target = edge.end;
    @@ -272,14 +253,6 @@ const calcOffset = function (src, dest, parentLookupDb) {
     
     /**
      * Add edges to graph based on parsed graph definition
    - *
    - * @param {object} edges The edges to add to the graph
    - * @param {object} g The graph object
    - * @param cy
    - * @param diagObj
    - * @param dataForLayout
    - * @param graph
    - * @param svg
      */
     export const addEdges = function (dataForLayout, graph, svg) {
       log.info('abc78 DAGA edges = ', dataForLayout);
    
    From ca2c112c9a26510cb66223ddd4949ce5ddb5844d Mon Sep 17 00:00:00 2001
    From: Sidharth Vinod 
    Date: Tue, 21 May 2024 17:58:02 +0530
    Subject: [PATCH 431/789] Fix cspell
    
    ---
     .cspell/code-terms.txt | 1 +
     1 file changed, 1 insertion(+)
    
    diff --git a/.cspell/code-terms.txt b/.cspell/code-terms.txt
    index 640b32d53a..f2b37dcaf4 100644
    --- a/.cspell/code-terms.txt
    +++ b/.cspell/code-terms.txt
    @@ -27,6 +27,7 @@ controly
     CSSCLASS
     CYLINDEREND
     CYLINDERSTART
    +DAGA
     datakey
     DEND
     descr
    
    From cf20ccb126b69fdae58c124ae95955101b6f4e26 Mon Sep 17 00:00:00 2001
    From: Sidharth Vinod 
    Date: Tue, 21 May 2024 18:28:21 +0530
    Subject: [PATCH 432/789] Create FUNDING.json
    
    ---
     FUNDING.json | 7 +++++++
     1 file changed, 7 insertions(+)
     create mode 100644 FUNDING.json
    
    diff --git a/FUNDING.json b/FUNDING.json
    new file mode 100644
    index 0000000000..a1df876f47
    --- /dev/null
    +++ b/FUNDING.json
    @@ -0,0 +1,7 @@
    +{
    +  "drips": {
    +    "ethereum": {
    +      "ownedBy": "0x0831DDFe60d009d9448CC976157b539089aB821E"
    +    }
    +  }
    +}
    
    From aa63f320f8e8a21041cc366d715a4261c15c2953 Mon Sep 17 00:00:00 2001
    From: Sidharth Vinod 
    Date: Tue, 21 May 2024 22:24:04 +0530
    Subject: [PATCH 433/789] Minor cleanups
    
    ---
     .build/jisonTransformer.ts     | 1 +
     .esbuild/build.ts              | 4 ++--
     .esbuild/util.ts               | 2 +-
     packages/mermaid/tsconfig.json | 3 +--
     vite.config.ts                 | 1 -
     5 files changed, 5 insertions(+), 6 deletions(-)
    
    diff --git a/.build/jisonTransformer.ts b/.build/jisonTransformer.ts
    index 314df8a33f..b603502306 100644
    --- a/.build/jisonTransformer.ts
    +++ b/.build/jisonTransformer.ts
    @@ -1,6 +1,7 @@
     import jison from 'jison';
     
     export const transformJison = (src: string): string => {
    +  // @ts-ignore - Jison is not typed properly
       const parser = new jison.Generator(src, {
         moduleType: 'js',
         'token-stack': true,
    diff --git a/.esbuild/build.ts b/.esbuild/build.ts
    index 3c87f9d621..471fb5c661 100644
    --- a/.esbuild/build.ts
    +++ b/.esbuild/build.ts
    @@ -7,8 +7,8 @@ import { MermaidBuildOptions, defaultOptions, getBuildConfig } from './util.js';
     const shouldVisualize = process.argv.includes('--visualize');
     
     const buildPackage = async (entryName: keyof typeof packageOptions) => {
    -  const commonOptions = { ...defaultOptions, entryName } as const;
    -  const buildConfigs = [
    +  const commonOptions: MermaidBuildOptions = { ...defaultOptions, entryName } as const;
    +  const buildConfigs: MermaidBuildOptions[] = [
         // package.mjs
         { ...commonOptions },
         // package.min.mjs
    diff --git a/.esbuild/util.ts b/.esbuild/util.ts
    index 5c21cbf452..7e0fd27ea3 100644
    --- a/.esbuild/util.ts
    +++ b/.esbuild/util.ts
    @@ -8,7 +8,7 @@ import { jisonPlugin } from './jisonPlugin.js';
     
     const __dirname = fileURLToPath(new URL('.', import.meta.url));
     
    -export interface MermaidBuildOptions {
    +export interface MermaidBuildOptions extends BuildOptions {
       minify: boolean;
       core: boolean;
       metafile: boolean;
    diff --git a/packages/mermaid/tsconfig.json b/packages/mermaid/tsconfig.json
    index 0111d1647b..bb3a8106b5 100644
    --- a/packages/mermaid/tsconfig.json
    +++ b/packages/mermaid/tsconfig.json
    @@ -8,7 +8,6 @@
         "paths": {
           "$root/*": ["src/*"]
         }
    -
       },
    -  "include": ["./src/**/*.ts", "./package.json"],
    +  "include": ["./src/**/*.ts", "./package.json"]
     }
    diff --git a/vite.config.ts b/vite.config.ts
    index 935e4e44bf..dc59a6aba5 100644
    --- a/vite.config.ts
    +++ b/vite.config.ts
    @@ -15,7 +15,6 @@ export default defineConfig({
       plugins: [
         jison(),
         jsonSchemaPlugin(), // handles .schema.yaml JSON Schema files
    -    // @ts-expect-error According to the type definitions, rollup plugins are incompatible with vite
         typescript({ compilerOptions: { declaration: false } }),
       ],
       test: {
    
    From 5b66810646a12ef36452c2323fb92353efa50358 Mon Sep 17 00:00:00 2001
    From: Sidharth Vinod 
    Date: Wed, 22 May 2024 17:01:34 +0530
    Subject: [PATCH 434/789] feat: Remove direct file dependency of mermaid from
     elk, by using peerDependency.
    
    ---
     .build/common.ts                              |  7 +---
     cypress/platform/knsv2.html                   |  2 +
     packages/mermaid-layout-elk/package.json      |  2 +-
     packages/mermaid-layout-elk/src/layouts.ts    | 17 ++++++++
     .../src/{index.ts => render.ts}               | 27 +++++++------
     packages/mermaid-layout-elk/tsconfig.json     |  2 +-
     packages/mermaid/src/internals.ts             | 31 ++++++++++++++
     packages/mermaid/src/mermaid.ts               | 12 ++++++
     packages/mermaid/src/rendering-util/render.js | 34 ----------------
     packages/mermaid/src/rendering-util/render.ts | 40 +++++++++++++++++++
     pnpm-lock.yaml                                |  1 -
     tsconfig.json                                 |  2 +-
     12 files changed, 120 insertions(+), 57 deletions(-)
     create mode 100644 packages/mermaid-layout-elk/src/layouts.ts
     rename packages/mermaid-layout-elk/src/{index.ts => render.ts} (96%)
     create mode 100644 packages/mermaid/src/internals.ts
     delete mode 100644 packages/mermaid/src/rendering-util/render.js
     create mode 100644 packages/mermaid/src/rendering-util/render.ts
    
    diff --git a/.build/common.ts b/.build/common.ts
    index f128e50977..e2190974f9 100644
    --- a/.build/common.ts
    +++ b/.build/common.ts
    @@ -22,14 +22,9 @@ export const packageOptions = {
         packageName: 'mermaid-zenuml',
         file: 'detector.ts',
       },
    -  'mermaid-flowchart-elk': {
    -    name: 'mermaid-flowchart-elk',
    -    packageName: 'mermaid-flowchart-elk',
    -    file: 'detector.ts',
    -  },
       'mermaid-layout-elk': {
         name: 'mermaid-layout-elk',
         packageName: 'mermaid-layout-elk',
    -    file: 'index.ts',
    +    file: 'layouts.ts',
       },
     } as const;
    diff --git a/cypress/platform/knsv2.html b/cypress/platform/knsv2.html
    index 185012596e..5f1c0fb333 100644
    --- a/cypress/platform/knsv2.html
    +++ b/cypress/platform/knsv2.html
    @@ -508,6 +508,8 @@
           // import mindmap from '../../packages/mermaid-mindmap/src/detector';
           // import example from '../../packages/mermaid-example-diagram/src/mermaid-example-diagram.core.mjs';
           import mermaid from './mermaid.esm.mjs';
    +      import { layouts } from './mermaid-layout-elk.esm.mjs';
    +      mermaid.registerLayoutLoaders(layouts);
           // await mermaid.registerExternalDiagrams([example]);
           mermaid.parseError = function (err, hash) {
             // console.error('Mermaid error: ', err);
    diff --git a/packages/mermaid-layout-elk/package.json b/packages/mermaid-layout-elk/package.json
    index 888cb56d92..4f80546827 100644
    --- a/packages/mermaid-layout-elk/package.json
    +++ b/packages/mermaid-layout-elk/package.json
    @@ -34,7 +34,7 @@
         "elkjs": "^0.9.3",
         "d3": "^7.9.0"
       },
    -  "devDependencies": {
    +  "peerDependencies": {
         "mermaid": "workspace:^"
       },
       "files": [
    diff --git a/packages/mermaid-layout-elk/src/layouts.ts b/packages/mermaid-layout-elk/src/layouts.ts
    new file mode 100644
    index 0000000000..a6075386b3
    --- /dev/null
    +++ b/packages/mermaid-layout-elk/src/layouts.ts
    @@ -0,0 +1,17 @@
    +import type { LayoutLoaderDefinition } from 'mermaid';
    +
    +const loader = async () => await import(`./render.js`);
    +const algos = ['elk.stress', 'elk.force', 'elk.mrtree', 'elk.sporeOverlap'];
    +
    +export const layouts: LayoutLoaderDefinition[] = [
    +  {
    +    name: 'elk',
    +    loader,
    +    algorithm: 'elk.layered',
    +  },
    +  ...algos.map((algo) => ({
    +    name: algo,
    +    loader,
    +    algorithm: algo,
    +  })),
    +];
    diff --git a/packages/mermaid-layout-elk/src/index.ts b/packages/mermaid-layout-elk/src/render.ts
    similarity index 96%
    rename from packages/mermaid-layout-elk/src/index.ts
    rename to packages/mermaid-layout-elk/src/render.ts
    index fe8733293c..12563b23fa 100644
    --- a/packages/mermaid-layout-elk/src/index.ts
    +++ b/packages/mermaid-layout-elk/src/render.ts
    @@ -1,21 +1,22 @@
     // @ts-nocheck File not ready to check types
    -
    +import { curveLinear } from 'd3';
     import ELK from 'elkjs/lib/elk.bundled.js';
    -import { getConfig } from '../../mermaid/src/config.js';
    -import common from '../../mermaid/src/diagrams/common/common.js';
    -import { log } from '../../mermaid/src/logger.js';
    -import { insertCluster } from '../../mermaid/src/rendering-util/rendering-elements/clusters.js';
    -import {
    +import mermaid from 'mermaid';
    +import { findCommonAncestor } from './find-common-ancestor.js';
    +
    +const {
    +  common,
    +  getConfig,
    +  insertCluster,
       insertEdge,
       insertEdgeLabel,
    +  insertMarkers,
    +  insertNode,
    +  interpolateToCurve,
    +  labelHelper,
    +  log,
       positionEdgeLabel,
    -} from '../../mermaid/src/rendering-util/rendering-elements/edges.js';
    -import { curveLinear } from 'd3';
    -import { interpolateToCurve } from '../../mermaid/src/utils.js';
    -import insertMarkers from '../../mermaid/src/rendering-util/rendering-elements/markers.js';
    -import { insertNode } from '../../mermaid/src/rendering-util/rendering-elements/nodes.js';
    -import { labelHelper } from '../../mermaid/src/rendering-util/rendering-elements/shapes/util.js';
    -import { findCommonAncestor } from './find-common-ancestor.js';
    +} = mermaid.internalHelpers;
     
     const nodeDb = {};
     const portPos = {};
    diff --git a/packages/mermaid-layout-elk/tsconfig.json b/packages/mermaid-layout-elk/tsconfig.json
    index 5a41d06030..0d701ceded 100644
    --- a/packages/mermaid-layout-elk/tsconfig.json
    +++ b/packages/mermaid-layout-elk/tsconfig.json
    @@ -1,7 +1,7 @@
     {
       "extends": "../../tsconfig.json",
       "compilerOptions": {
    -    "rootDir": "../..",
    +    "rootDir": "./src",
         "outDir": "./dist",
         "types": ["vitest/importMeta", "vitest/globals"]
       },
    diff --git a/packages/mermaid/src/internals.ts b/packages/mermaid/src/internals.ts
    new file mode 100644
    index 0000000000..cebcd4ace6
    --- /dev/null
    +++ b/packages/mermaid/src/internals.ts
    @@ -0,0 +1,31 @@
    +import { getConfig } from './config.js';
    +import common from './diagrams/common/common.js';
    +import { log } from './logger.js';
    +import { insertCluster } from './rendering-util/rendering-elements/clusters.js';
    +import {
    +  insertEdge,
    +  insertEdgeLabel,
    +  positionEdgeLabel,
    +} from './rendering-util/rendering-elements/edges.js';
    +import insertMarkers from './rendering-util/rendering-elements/markers.js';
    +import { insertNode } from './rendering-util/rendering-elements/nodes.js';
    +import { labelHelper } from './rendering-util/rendering-elements/shapes/util.js';
    +import { interpolateToCurve } from './utils.js';
    +
    +/**
    + * Internal helpers for mermaid
    + * @deprecated - This should not be used by external packages, as the definitions will change without notice.
    + */
    +export const internalHelpers = {
    +  common,
    +  getConfig,
    +  insertCluster,
    +  insertEdge,
    +  insertEdgeLabel,
    +  insertMarkers,
    +  insertNode,
    +  interpolateToCurve,
    +  labelHelper,
    +  log,
    +  positionEdgeLabel,
    +};
    diff --git a/packages/mermaid/src/mermaid.ts b/packages/mermaid/src/mermaid.ts
    index 8194872d44..dc9b01e25e 100644
    --- a/packages/mermaid/src/mermaid.ts
    +++ b/packages/mermaid/src/mermaid.ts
    @@ -16,6 +16,9 @@ import type { DetailedError } from './utils.js';
     import type { ExternalDiagramDefinition } from './diagram-api/types.js';
     import type { UnknownDiagramError } from './errors.js';
     import { addDiagrams } from './diagram-api/diagram-orchestration.js';
    +import { registerLayoutLoaders } from './rendering-util/render.js';
    +import type { LayoutLoaderDefinition } from './rendering-util/render.js';
    +import { internalHelpers } from './internals.js';
     
     export type {
       MermaidConfig,
    @@ -26,6 +29,7 @@ export type {
       ParseOptions,
       ParseResult,
       UnknownDiagramError,
    +  LayoutLoaderDefinition,
     };
     
     export interface RunOptions {
    @@ -413,11 +417,17 @@ export interface Mermaid {
       render: typeof render;
       init: typeof init;
       run: typeof run;
    +  registerLayoutLoaders: typeof registerLayoutLoaders;
       registerExternalDiagrams: typeof registerExternalDiagrams;
       initialize: typeof initialize;
       contentLoaded: typeof contentLoaded;
       setParseErrorHandler: typeof setParseErrorHandler;
       detectType: typeof detectType;
    +  /**
    +   * Internal helpers for mermaid
    +   * @deprecated - This should not be used by external packages, as the definitions will change without notice.
    +   */
    +  internalHelpers: typeof internalHelpers;
     }
     
     const mermaid: Mermaid = {
    @@ -428,11 +438,13 @@ const mermaid: Mermaid = {
       init,
       run,
       registerExternalDiagrams,
    +  registerLayoutLoaders,
       initialize,
       parseError: undefined,
       contentLoaded,
       setParseErrorHandler,
       detectType,
    +  internalHelpers,
     };
     
     export default mermaid;
    diff --git a/packages/mermaid/src/rendering-util/render.js b/packages/mermaid/src/rendering-util/render.js
    deleted file mode 100644
    index 8e15f5ccf4..0000000000
    --- a/packages/mermaid/src/rendering-util/render.js
    +++ /dev/null
    @@ -1,34 +0,0 @@
    -export const render = async (data4Layout, svg, element) => {
    -  switch (data4Layout.layoutAlgorithm) {
    -    case 'dagre': {
    -      const layoutRenderer = await import('./layout-algorithms/dagre/index.js');
    -      return layoutRenderer.render(data4Layout, svg, element);
    -    }
    -
    -    case 'elk': {
    -      // TODO: Should fix this import path
    -      const layoutRenderer = await import('../../../mermaid-layout-elk/src/index.js');
    -      return layoutRenderer.render(data4Layout, svg, element, 'elk.layered');
    -    }
    -    case 'stress': {
    -      // TODO: Should fix this import path
    -      const layoutRenderer = await import('../../../mermaid-layout-elk/src/index.js');
    -      return layoutRenderer.render(data4Layout, svg, element, 'elk.stress');
    -    }
    -    case 'force': {
    -      // TODO: Should fix this import path
    -      const layoutRenderer = await import('../../../mermaid-layout-elk/src/index.js');
    -      return layoutRenderer.render(data4Layout, svg, element, 'elk.force');
    -    }
    -    case 'mrtree': {
    -      // TODO: Should fix this import path
    -      const layoutRenderer = await import('../../../mermaid-layout-elk/src/index.js');
    -      return layoutRenderer.render(data4Layout, svg, element, 'elk.mrtree');
    -    }
    -    case 'sporeOverlap': {
    -      // TODO: Should fix this import path
    -      const layoutRenderer = await import('../../../mermaid-layout-elk/src/index.js');
    -      return layoutRenderer.render(data4Layout, svg, element, 'elk.sporeOverlap');
    -    }
    -  }
    -};
    diff --git a/packages/mermaid/src/rendering-util/render.ts b/packages/mermaid/src/rendering-util/render.ts
    new file mode 100644
    index 0000000000..489e6ba58e
    --- /dev/null
    +++ b/packages/mermaid/src/rendering-util/render.ts
    @@ -0,0 +1,40 @@
    +export interface LayoutAlgorithm {
    +  render(data4Layout: any, svg: any, element: any, algorithm?: string): any;
    +}
    +
    +export type LayoutLoader = () => Promise;
    +export interface LayoutLoaderDefinition {
    +  name: string;
    +  loader: LayoutLoader;
    +  algorithm?: string;
    +}
    +
    +const layoutAlgorithms: Record = {};
    +
    +export const registerLayoutLoaders = (loaders: LayoutLoaderDefinition[]) => {
    +  for (const loader of loaders) {
    +    layoutAlgorithms[loader.name] = loader;
    +  }
    +};
    +
    +// TODO: Should we load dagre without lazy loading?
    +const registerDefaultLayoutLoaders = () => {
    +  registerLayoutLoaders([
    +    {
    +      name: 'dagre',
    +      loader: async () => await import('./layout-algorithms/dagre/index.js'),
    +    },
    +  ]);
    +};
    +
    +registerDefaultLayoutLoaders();
    +
    +export const render = async (data4Layout: any, svg: any, element: any) => {
    +  if (!(data4Layout.layoutAlgorithm in layoutAlgorithms)) {
    +    throw new Error(`Unknown layout algorithm: ${data4Layout.layoutAlgorithm}`);
    +  }
    +
    +  const layoutDefinition = layoutAlgorithms[data4Layout.layoutAlgorithm];
    +  const layoutRenderer = await layoutDefinition.loader();
    +  return layoutRenderer.render(data4Layout, svg, element, layoutDefinition.algorithm);
    +};
    diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
    index 98b7a02673..be1ef7f2f6 100644
    --- a/pnpm-lock.yaml
    +++ b/pnpm-lock.yaml
    @@ -442,7 +442,6 @@ importers:
           elkjs:
             specifier: ^0.9.3
             version: 0.9.3
    -    devDependencies:
           mermaid:
             specifier: workspace:^
             version: link:../mermaid
    diff --git a/tsconfig.json b/tsconfig.json
    index 4cbf209a33..ea03c97777 100644
    --- a/tsconfig.json
    +++ b/tsconfig.json
    @@ -66,7 +66,7 @@
         // "newLine": "crlf",                                /* Set the newline character for emitting files. */
         // "stripInternal": true,                            /* Disable emitting declarations that have `@internal` in their JSDoc comments. */
         // "noEmitHelpers": true,                            /* Disable generating custom helper functions like `__extends` in compiled output. */
    -    // "noEmitOnError": true,                            /* Disable emitting files if any type checking errors are reported. */
    +    "noEmitOnError": false /* Disable emitting files if any type checking errors are reported. */,
         // "preserveConstEnums": true,                       /* Disable erasing `const enum` declarations in generated code. */
         // "declarationDir": "./",                           /* Specify the output directory for generated declaration files. */
         // "preserveValueImports": true,                     /* Preserve unused imported values in the JavaScript output that would otherwise be removed. */
    
    From 2377a0d753731148d02e3a3dc0f52a656c66b0a2 Mon Sep 17 00:00:00 2001
    From: Sidharth Vinod 
    Date: Wed, 22 May 2024 18:04:33 +0530
    Subject: [PATCH 435/789] chore: Cleanup state renderer v3
    
    ---
     .../state/stateRenderer-v3-unified.ts         | 35 ++++---------------
     1 file changed, 6 insertions(+), 29 deletions(-)
    
    diff --git a/packages/mermaid/src/diagrams/state/stateRenderer-v3-unified.ts b/packages/mermaid/src/diagrams/state/stateRenderer-v3-unified.ts
    index 949e2d05fd..f87fa254fd 100644
    --- a/packages/mermaid/src/diagrams/state/stateRenderer-v3-unified.ts
    +++ b/packages/mermaid/src/diagrams/state/stateRenderer-v3-unified.ts
    @@ -1,34 +1,12 @@
    -import { log } from '../../logger.js';
    -import type { DiagramStyleClassDef } from '../../diagram-api/types.js';
    -import type { LayoutData, LayoutMethod } from '../../rendering-util/types.js';
     import { getConfig } from '../../diagram-api/diagramAPI.js';
    -import doLayout from '../../rendering-util/doLayout.js';
    -import performRender from '../../rendering-util/performRender.js';
    +import type { DiagramStyleClassDef } from '../../diagram-api/types.js';
    +import { log } from '../../logger.js';
    +import { getDiagramElements } from '../../rendering-util/inserElementsForSize.js';
     import { render } from '../../rendering-util/render.js';
    -import insertElementsForSize, {
    -  getDiagramElements,
    -} from '../../rendering-util/inserElementsForSize.js';
     import { setupViewPortForSVG } from '../../rendering-util/setupViewPortForSVG.js';
    -import {
    -  DEFAULT_DIAGRAM_DIRECTION,
    -  DEFAULT_NESTED_DOC_DIR,
    -  STMT_STATE,
    -  STMT_RELATION,
    -  DEFAULT_STATE_TYPE,
    -  DIVIDER_TYPE,
    -  CSS_DIAGRAM,
    -} from './stateCommon.js';
    +import type { LayoutData } from '../../rendering-util/types.js';
     import utils from '../../utils.js';
    -
    -// Configuration
    -const conf: Record = {};
    -
    -export const setConf = function (cnf: Record) {
    -  const keys = Object.keys(cnf);
    -  for (const key of keys) {
    -    conf[key] = cnf[key];
    -  }
    -};
    +import { CSS_DIAGRAM, DEFAULT_NESTED_DOC_DIR } from './stateCommon.js';
     
     /**
      * Get the direction from the statement items.
    @@ -54,7 +32,7 @@ const getDir = (parsedItem: any, defaultDir = DEFAULT_NESTED_DOC_DIR) => {
     export const getClasses = function (
       text: string,
       diagramObj: any
    -): Record {
    +): Map {
       diagramObj.db.extract(diagramObj.db.getRootDocV2());
       return diagramObj.db.getClasses();
     };
    @@ -108,7 +86,6 @@ export const draw = async function (text: string, id: string, _version: string,
     };
     
     export default {
    -  setConf,
       getClasses,
       draw,
     };
    
    From ddaa7afbb5ef1239f37d5206c0e1009fff816b22 Mon Sep 17 00:00:00 2001
    From: Knut Sveidqvist 
    Date: Wed, 22 May 2024 16:02:57 +0200
    Subject: [PATCH 436/789] #5237 Handling paddings in subgraphs for state
     diagrams
    
    ---
     .../mermaid/src/diagrams/state/dataFetcher.js |   6 +-
     .../layout-algorithms/dagre/index.js          | 113 +++++++++++++-----
     .../rendering-elements/clusters.js            |   8 +-
     .../rendering-elements/nodes.js               |  10 +-
     .../mermaid/src/schemas/config.schema.yaml    |   5 +
     5 files changed, 99 insertions(+), 43 deletions(-)
    
    diff --git a/packages/mermaid/src/diagrams/state/dataFetcher.js b/packages/mermaid/src/diagrams/state/dataFetcher.js
    index d553a48342..ce93cd865d 100644
    --- a/packages/mermaid/src/diagrams/state/dataFetcher.js
    +++ b/packages/mermaid/src/diagrams/state/dataFetcher.js
    @@ -302,7 +302,7 @@ export const dataFetcher = (parent, parsedItem, diagramStates, nodes, edges, alt
           domId: stateDomId(itemId, graphItemCount),
           type: newNode.type,
           isGroup: newNode.type === 'group',
    -      padding: 15,
    +      padding: 8,
           rx: 10,
           ry: 10,
           useRough,
    @@ -328,7 +328,7 @@ export const dataFetcher = (parent, parsedItem, diagramStates, nodes, edges, alt
             domId: stateDomId(itemId, graphItemCount, NOTE),
             type: newNode.type,
             isGroup: newNode.type === 'group',
    -        padding: 15, //getConfig().flowchart.padding
    +        padding: 0, //getConfig().flowchart.padding
             useRough,
           };
           const groupData = {
    @@ -341,7 +341,7 @@ export const dataFetcher = (parent, parsedItem, diagramStates, nodes, edges, alt
             domId: stateDomId(itemId, graphItemCount, PARENT),
             type: 'group',
             isGroup: true,
    -        padding: 0, //getConfig().flowchart.padding
    +        padding: 16, //getConfig().flowchart.padding
             useRough,
           };
           graphItemCount++;
    diff --git a/packages/mermaid/src/rendering-util/layout-algorithms/dagre/index.js b/packages/mermaid/src/rendering-util/layout-algorithms/dagre/index.js
    index 3a20a2e0e1..ff229600f0 100644
    --- a/packages/mermaid/src/rendering-util/layout-algorithms/dagre/index.js
    +++ b/packages/mermaid/src/rendering-util/layout-algorithms/dagre/index.js
    @@ -54,7 +54,14 @@ const recursiveRender = async (_elem, graph, diagramType, id, parentCluster, sit
           if (parentCluster !== undefined) {
             const data = JSON.parse(JSON.stringify(parentCluster.clusterData));
             // data.clusterPositioning = true;
    -        log.info('Setting data for cluster XXX (', v, ') ', data, parentCluster);
    +        log.trace(
    +          'Setting data for parent cluster XXX\n Node.id = ',
    +          v,
    +          '\n data=',
    +          data.height,
    +          '\nParent cluster',
    +          parentCluster.height
    +        );
             graph.setNode(parentCluster.id, data);
             if (!graph.parent(v)) {
               log.trace('Setting parent', v, parentCluster.id);
    @@ -64,7 +71,8 @@ const recursiveRender = async (_elem, graph, diagramType, id, parentCluster, sit
           log.info('(Insert) Node XXX' + v + ': ' + JSON.stringify(graph.node(v)));
           if (node && node.clusterNode) {
             // const children = graph.children(v);
    -        log.info('Cluster identified', v, node.width, graph.node(v));
    +        log.info('Cluster identified XXX', v, node.width, graph.node(v));
    +        // "o" will contain the full cluster not just the children
             const o = await recursiveRender(
               nodes,
               node.graph,
    @@ -76,10 +84,18 @@ const recursiveRender = async (_elem, graph, diagramType, id, parentCluster, sit
             const newEl = o.elem;
             updateNodeBounds(node, newEl);
             node.diff = o.diff || 0;
    -        log.info('Node bounds (abc123)', v, node, node.width, node.x, node.y);
    +        log.trace(
    +          'New compound node after recursive render XAX',
    +          v,
    +          'width',
    +          // node,
    +          node.width,
    +          'height',
    +          node.height
    +          // node.x,
    +          // node.y
    +        );
             setNodeElem(newEl, node);
    -
    -        log.warn('Recursive render complete ', newEl, node);
           } else {
             if (graph.children(v).length > 0) {
               // This is a cluster but not to be rendered recursively
    @@ -89,7 +105,7 @@ const recursiveRender = async (_elem, graph, diagramType, id, parentCluster, sit
               clusterDb[node.id] = { id: findNonClusterChild(node.id, graph), node };
               // insertCluster(clusters, graph.node(v));
             } else {
    -          log.info('Node - the non recursive path', v, node.id, node);
    +          log.trace('Node - the non recursive path XAX', v, node.id, node);
               await insertNode(nodes, graph.node(v), dir);
             }
           }
    @@ -113,20 +129,26 @@ const recursiveRender = async (_elem, graph, diagramType, id, parentCluster, sit
       graph.edges().forEach(function (e) {
         log.info('Edge ' + e.v + ' -> ' + e.w + ': ' + JSON.stringify(e));
       });
    -  log.info('#############################################');
    -  log.info('###                Layout                 ###');
    -  log.info('#############################################');
    -  log.info(graph);
    +
    +  log.info('############################################# XXX');
    +  log.info('###                Layout                 ### XXX');
    +  log.info('############################################# XXX');
    +
       dagreLayout(graph);
    +
       log.info('Graph after layout:', graphlibJson.write(graph));
       // Move the nodes to the correct place
       let diff = 0;
    -  const { subGraphTitleTotalMargin } = getSubGraphTitleMargins(siteConfig);
    +  log.info('Need the size here XAX', graph.node('T1')?.height);
    +  let { subGraphTitleTotalMargin } = getSubGraphTitleMargins(siteConfig);
    +  subGraphTitleTotalMargin = 0;
       sortNodesByHierarchy(graph).forEach(function (v) {
         const node = graph.node(v);
    -    log.info('Position ' + v + ': ' + JSON.stringify(graph.node(v)));
    +    const p = graph.node(node?.parentId);
    +    subGraphTitleTotalMargin = p?.offsetY || subGraphTitleTotalMargin;
    +
         log.info(
    -      'Position ' + v + ': (' + node.x,
    +      'Position XAX' + v + ': (' + node.x,
           ',' + node.y,
           ') width: ',
           node.width,
    @@ -134,19 +156,55 @@ const recursiveRender = async (_elem, graph, diagramType, id, parentCluster, sit
           node.height
         );
         if (node && node.clusterNode) {
    -      // clusterDb[node.id].node = node;
    -      node.y += subGraphTitleTotalMargin;
    +      const parent = graph.node(node.parentId);
    +      node.y += 2;
    +      node.x -= 8;
    +      log.trace('A tainted cluster node XAX', v, node.id, node.width, node.height, node.x, node.y);
    +      clusterDb[node.id].node = node;
    +      // node.y += subGraphTitleTotalMargin - 10;
    +      node.y -= (node.offsetY || 0) / 2;
           positionNode(node);
         } else {
           // Non cluster node
           if (graph.children(v).length > 0) {
    -        // A cluster in the non-recursive way
    -        // positionCluster(node);
    -        node.height += subGraphTitleTotalMargin;
    +        node.height += 0;
    +        const parent = graph.node(node.parentId);
    +        node.y += (node.offsetY || 0) / 2;
             insertCluster(clusters, node);
    +
    +        // A cluster in the non-recursive way
    +        log.trace(
    +          'A pure cluster node with children XAX',
    +          v,
    +          node.id,
    +          node.width,
    +          node.height,
    +          node.x,
    +          node.y,
    +          'offset',
    +          parent?.offsetY
    +        );
             clusterDb[node.id].node = node;
           } else {
    -        node.y += subGraphTitleTotalMargin / 2;
    +        const parent = graph.node(node.parentId);
    +        node.y += (parent?.offsetY || 0) / 2;
    +        log.trace(
    +          'A regular node XAX - using the padding',
    +          v,
    +          node.id,
    +          'parent',
    +          node.parentId,
    +          node.width,
    +          node.height,
    +          node.x,
    +          node.y,
    +          'offsetY',
    +          node.offsetY,
    +          'parent',
    +          parent,
    +          node
    +        );
    +
             positionNode(node);
           }
         }
    @@ -169,9 +227,14 @@ const recursiveRender = async (_elem, graph, diagramType, id, parentCluster, sit
           diff = n.diff;
         }
       });
    +  log.trace('Returning from recursive render XAX', elem, diff);
       return { elem, diff };
     };
    -
    +/**
    + * ###############################################################
    + * Render the graph
    + * ###############################################################
    + */
     export const render = async (data4Layout, svg, element) => {
       // Create the input mermaid.graph
       const graph = new graphlib.Graph({
    @@ -223,13 +286,3 @@ export const render = async (data4Layout, svg, element) => {
         siteConfig
       );
     };
    -
    -// const shapeDefinitions = {};
    -// export const addShape = ({ shapeType: fun }) => {
    -//   shapeDefinitions[shapeType] = fun;
    -// };
    -
    -// const arrowDefinitions = {};
    -// export const addArrow = ({ arrowType: fun }) => {
    -//   arrowDefinitions[arrowType] = fun;
    -// };
    diff --git a/packages/mermaid/src/rendering-util/rendering-elements/clusters.js b/packages/mermaid/src/rendering-util/rendering-elements/clusters.js
    index b807409edd..f8eeed633d 100644
    --- a/packages/mermaid/src/rendering-util/rendering-elements/clusters.js
    +++ b/packages/mermaid/src/rendering-util/rendering-elements/clusters.js
    @@ -247,6 +247,8 @@ const roundedWithTitle = (parent, node) => {
     
       const rectBox = rect.node().getBBox();
       node.height = rectBox.height;
    +  node.offsetX = 0;
    +  node.offsetY = 20;
     
       node.intersect = function (point) {
         return intersectRect(node, point);
    @@ -292,8 +294,9 @@ const divider = (parent, node) => {
       }
       const rectBox = rect.node().getBBox();
       node.width = rectBox.width;
    -  node.height = rectBox.height;
    -  node.diff = -node.padding / 2;
    +  node.height = rectBox.height - node.padding;
    +  node.diff = 0; //-node.padding / 2;
    +  node.offsetY = 0;
       node.intersect = function (point) {
         return intersectRect(node, point);
       };
    @@ -306,7 +309,6 @@ const shapes = { rect, roundedWithTitle, noteGroup, divider };
     let clusterElems = {};
     
     export const insertCluster = (elem, node) => {
    -  log.trace('Inserting cluster');
       const shape = node.shape || 'rect';
       const cluster = shapes[shape](elem, node);
       clusterElems[node.id] = cluster;
    diff --git a/packages/mermaid/src/rendering-util/rendering-elements/nodes.js b/packages/mermaid/src/rendering-util/rendering-elements/nodes.js
    index 3013d2fba8..7216749c84 100644
    --- a/packages/mermaid/src/rendering-util/rendering-elements/nodes.js
    +++ b/packages/mermaid/src/rendering-util/rendering-elements/nodes.js
    @@ -75,16 +75,12 @@ export const positionNode = (node) => {
         node,
         'translate(' + (node.x - node.width / 2 - 5) + ', ' + node.width / 2 + ')'
       );
    -  const padding = 8;
    -  const diff = node.diff || 0;
    +
    +  const diff = 0;
       if (node.clusterNode) {
         el.attr(
           'transform',
    -      'translate(' +
    -        (node.x + diff - node.width / 2) +
    -        ', ' +
    -        (node.y - node.height / 2 - padding) +
    -        ')'
    +      'translate(' + (node.x + diff - node.width / 2) + ', ' + (node.y - node.height / 2) + ')'
         );
       } else {
         el.attr('transform', 'translate(' + node.x + ', ' + node.y + ')');
    diff --git a/packages/mermaid/src/schemas/config.schema.yaml b/packages/mermaid/src/schemas/config.schema.yaml
    index 9146e2d948..46f99ad9ee 100644
    --- a/packages/mermaid/src/schemas/config.schema.yaml
    +++ b/packages/mermaid/src/schemas/config.schema.yaml
    @@ -100,6 +100,11 @@ properties:
         type: integer
         default: 500
         minimum: 0
    +  mergeEdges:
    +    description: |
    +      Elk specific option that allows edge egdes to share path where it convenient. It can make for pretty diagrams but can also make it harder to read the diagram.
    +    type: boolean
    +    default: false
       darkMode:
         type: boolean
         default: false
    
    From 5413668c1a3e35128fed0ed254a277f057444411 Mon Sep 17 00:00:00 2001
    From: Knut Sveidqvist 
    Date: Wed, 22 May 2024 16:18:00 +0200
    Subject: [PATCH 437/789] #5237 Handling paddings in subgraphs for state
     diagrams
    
    ---
     packages/mermaid/src/config.type.ts           |  5 ++++
     .../layout-algorithms/dagre/index.js          | 24 +++++++++++++------
     2 files changed, 22 insertions(+), 7 deletions(-)
    
    diff --git a/packages/mermaid/src/config.type.ts b/packages/mermaid/src/config.type.ts
    index a98f0a5597..d4432501db 100644
    --- a/packages/mermaid/src/config.type.ts
    +++ b/packages/mermaid/src/config.type.ts
    @@ -88,6 +88,11 @@ export interface MermaidConfig {
        *
        */
       maxEdges?: number;
    +  /**
    +   * Elk specific option that allows edge egdes to share path where it convenient. It can make for pretty diagrams but can also make it harder to read the diagram.
    +   *
    +   */
    +  mergeEdges?: boolean;
       darkMode?: boolean;
       htmlLabels?: boolean;
       /**
    diff --git a/packages/mermaid/src/rendering-util/layout-algorithms/dagre/index.js b/packages/mermaid/src/rendering-util/layout-algorithms/dagre/index.js
    index ff229600f0..8263d907a2 100644
    --- a/packages/mermaid/src/rendering-util/layout-algorithms/dagre/index.js
    +++ b/packages/mermaid/src/rendering-util/layout-algorithms/dagre/index.js
    @@ -156,10 +156,20 @@ const recursiveRender = async (_elem, graph, diagramType, id, parentCluster, sit
           node.height
         );
         if (node && node.clusterNode) {
    -      const parent = graph.node(node.parentId);
    -      node.y += 2;
    +      const parentId = graph.parent(v);
    +      node.y = parentId ? node.y + 2 : node.y - 8;
           node.x -= 8;
    -      log.trace('A tainted cluster node XAX', v, node.id, node.width, node.height, node.x, node.y);
    +      // node.y -= 8;
    +      log.info(
    +        'A tainted cluster node XBX',
    +        v,
    +        node.id,
    +        node.width,
    +        node.height,
    +        node.x,
    +        node.y,
    +        graph.parent(v)
    +      );
           clusterDb[node.id].node = node;
           // node.y += subGraphTitleTotalMargin - 10;
           node.y -= (node.offsetY || 0) / 2;
    @@ -173,8 +183,8 @@ const recursiveRender = async (_elem, graph, diagramType, id, parentCluster, sit
             insertCluster(clusters, node);
     
             // A cluster in the non-recursive way
    -        log.trace(
    -          'A pure cluster node with children XAX',
    +        log.info(
    +          'A pure cluster node with children XBX',
               v,
               node.id,
               node.width,
    @@ -188,8 +198,8 @@ const recursiveRender = async (_elem, graph, diagramType, id, parentCluster, sit
           } else {
             const parent = graph.node(node.parentId);
             node.y += (parent?.offsetY || 0) / 2;
    -        log.trace(
    -          'A regular node XAX - using the padding',
    +        log.info(
    +          'A regular node XBX - using the padding',
               v,
               node.id,
               'parent',
    
    From 52e0dc64647fabf171c7491390c802e885f55fd1 Mon Sep 17 00:00:00 2001
    From: Sidharth Vinod 
    Date: Thu, 23 May 2024 10:06:42 +0530
    Subject: [PATCH 438/789] chore: Suppress type errors
    
    Should fix properly
    ---
     .../stateRenderer-v3-unified-step-by-step.ts  | 58 -------------------
     .../state/stateRenderer-v3-unified.ts         | 16 ++---
     ...ntsForSize.js => insertElementsForSize.js} |  0
     .../src/rendering-util/performRender.ts       |  3 -
     .../rendering-elements/shapes/choice.ts       |  2 +
     .../rendering-elements/shapes/forkJoin.ts     |  2 +-
     .../rendering-elements/shapes/note.ts         |  1 +
     .../rendering-elements/shapes/rect.ts         |  3 +-
     .../rendering-elements/shapes/stateEnd.ts     |  1 +
     .../rendering-elements/shapes/stateStart.ts   |  2 +
     10 files changed, 18 insertions(+), 70 deletions(-)
     delete mode 100644 packages/mermaid/src/diagrams/state/stateRenderer-v3-unified-step-by-step.ts
     rename packages/mermaid/src/rendering-util/{inserElementsForSize.js => insertElementsForSize.js} (100%)
     delete mode 100644 packages/mermaid/src/rendering-util/performRender.ts
    
    diff --git a/packages/mermaid/src/diagrams/state/stateRenderer-v3-unified-step-by-step.ts b/packages/mermaid/src/diagrams/state/stateRenderer-v3-unified-step-by-step.ts
    deleted file mode 100644
    index 936375f119..0000000000
    --- a/packages/mermaid/src/diagrams/state/stateRenderer-v3-unified-step-by-step.ts
    +++ /dev/null
    @@ -1,58 +0,0 @@
    -import { log } from '../../logger.js';
    -import type { DiagramStyleClassDef } from '../../diagram-api/types.js';
    -import type { LayoutData, LayoutMethod } from '../../rendering-util/types.js';
    -import { getConfig } from '../../diagram-api/diagramAPI.js';
    -import doLayout from '../../rendering-util/doLayout.js';
    -import performRender from '../../rendering-util/performRender.js';
    -import insertElementsForSize, {
    -  getDiagramElements,
    -} from '../../rendering-util/inserElementsForSize.js';
    -
    -// Configuration
    -const conf: Record = {};
    -
    -export const setConf = function (cnf: Record) {
    -  const keys = Object.keys(cnf);
    -  for (const key of keys) {
    -    conf[key] = cnf[key];
    -  }
    -};
    -
    -export const getClasses = function (
    -  text: string,
    -  diagramObj: any
    -): Record {
    -  diagramObj.db.extract(diagramObj.db.getRootDocV2());
    -  return diagramObj.db.getClasses();
    -};
    -
    -export const draw = async function (text: string, id: string, _version: string, diag: any) {
    -  log.info('Drawing state diagram (v2)', id);
    -  const { securityLevel, state: conf } = getConfig();
    -
    -  // Extracting the data from the parsed structure into a more usable form
    -  // Not related to the refactoring, but this is the first step in the rendering process
    -  diag.db.extract(diag.db.getRootDocV2());
    -
    -  // The getData method provided in all supported diagrams is used to extract the data from the parsed structure
    -  // into the Layout data format
    -  const data4Layout = diag.db.getData() as LayoutData;
    -  // Create the root SVG
    -  const { svg, element } = getDiagramElements(id, securityLevel);
    -  // For some diagrams this call is not needed, but in the state diagram it is
    -  await insertElementsForSize(element, data4Layout);
    -
    -  console.log('data4Layout:', data4Layout);
    -
    -  // Now we have layout data with real sizes, we can perform the layout
    -  const data4Rendering = doLayout(data4Layout, id, _version, 'dagre-wrapper');
    -
    -  // The performRender method provided in all supported diagrams is used to render the data
    -  performRender(data4Rendering);
    -};
    -
    -export default {
    -  setConf,
    -  getClasses,
    -  draw,
    -};
    diff --git a/packages/mermaid/src/diagrams/state/stateRenderer-v3-unified.ts b/packages/mermaid/src/diagrams/state/stateRenderer-v3-unified.ts
    index f87fa254fd..ce8ad8f644 100644
    --- a/packages/mermaid/src/diagrams/state/stateRenderer-v3-unified.ts
    +++ b/packages/mermaid/src/diagrams/state/stateRenderer-v3-unified.ts
    @@ -1,7 +1,7 @@
     import { getConfig } from '../../diagram-api/diagramAPI.js';
     import type { DiagramStyleClassDef } from '../../diagram-api/types.js';
     import { log } from '../../logger.js';
    -import { getDiagramElements } from '../../rendering-util/inserElementsForSize.js';
    +import { getDiagramElements } from '../../rendering-util/insertElementsForSize.js';
     import { render } from '../../rendering-util/render.js';
     import { setupViewPortForSVG } from '../../rendering-util/setupViewPortForSVG.js';
     import type { LayoutData } from '../../rendering-util/types.js';
    @@ -65,12 +65,14 @@ export const draw = async function (text: string, id: string, _version: string,
       // performRender(data4Rendering);
     
       data4Layout.type = diag.type;
    -  // data4Layout.layoutAlgorithm = 'dagre-wrapper';
    -  // data4Layout.layoutAlgorithm = 'elk';
       data4Layout.layoutAlgorithm = layout;
       data4Layout.direction = DIR;
    -  data4Layout.nodeSpacing = conf.nodeSpacing || 50;
    -  data4Layout.rankSpacing = conf.rankSpacing || 50;
    +
    +  // TODO: Should we move these two to baseConfig? These types are not there in StateConfig.
    +  // @ts-expect-error
    +  data4Layout.nodeSpacing = conf?.nodeSpacing || 50;
    +  // @ts-expect-error
    +  data4Layout.rankSpacing = conf?.rankSpacing || 50;
       data4Layout.markers = ['barb'];
       data4Layout.diagramId = id;
       console.log('REF1:', data4Layout);
    @@ -79,10 +81,10 @@ export const draw = async function (text: string, id: string, _version: string,
       utils.insertTitle(
         element,
         'statediagramTitleText',
    -    conf.titleTopMargin,
    +    conf?.titleTopMargin ?? 25,
         diag.db.getDiagramTitle()
       );
    -  setupViewPortForSVG(svg, padding, CSS_DIAGRAM, conf.useMaxWidth);
    +  setupViewPortForSVG(svg, padding, CSS_DIAGRAM, conf?.useMaxWidth ?? true);
     };
     
     export default {
    diff --git a/packages/mermaid/src/rendering-util/inserElementsForSize.js b/packages/mermaid/src/rendering-util/insertElementsForSize.js
    similarity index 100%
    rename from packages/mermaid/src/rendering-util/inserElementsForSize.js
    rename to packages/mermaid/src/rendering-util/insertElementsForSize.js
    diff --git a/packages/mermaid/src/rendering-util/performRender.ts b/packages/mermaid/src/rendering-util/performRender.ts
    deleted file mode 100644
    index a862c6efb6..0000000000
    --- a/packages/mermaid/src/rendering-util/performRender.ts
    +++ /dev/null
    @@ -1,3 +0,0 @@
    -import { RenderData } from './types';
    -const performRender = (data: RenderData) => { };
    -export default performRender;
    diff --git a/packages/mermaid/src/rendering-util/rendering-elements/shapes/choice.ts b/packages/mermaid/src/rendering-util/rendering-elements/shapes/choice.ts
    index c9e27cf8a2..9c062e7223 100644
    --- a/packages/mermaid/src/rendering-util/rendering-elements/shapes/choice.ts
    +++ b/packages/mermaid/src/rendering-util/rendering-elements/shapes/choice.ts
    @@ -23,6 +23,7 @@ export const choice = (parent: SVG, node: Node) => {
     
       let choice;
       if (node.useRough) {
    +    // @ts-ignore
         const rc = rough.svg(shapeSvg);
         const pointArr = points.map(function (d) {
           return [d.x, d.y];
    @@ -41,6 +42,7 @@ export const choice = (parent: SVG, node: Node) => {
       }
     
       // center the circle around its coordinate
    +  // @ts-ignore
       choice.attr('class', 'state-start').attr('r', 7).attr('width', 28).attr('height', 28);
       node.width = 28;
       node.height = 28;
    diff --git a/packages/mermaid/src/rendering-util/rendering-elements/shapes/forkJoin.ts b/packages/mermaid/src/rendering-util/rendering-elements/shapes/forkJoin.ts
    index 687f188478..01f5c9adcf 100644
    --- a/packages/mermaid/src/rendering-util/rendering-elements/shapes/forkJoin.ts
    +++ b/packages/mermaid/src/rendering-util/rendering-elements/shapes/forkJoin.ts
    @@ -1,4 +1,3 @@
    -import { log } from '$root/logger.js';
     import { updateNodeBounds } from './util.js';
     import intersect from '../intersect/index.js';
     import type { Node } from '$root/rendering-util/types.d.ts';
    @@ -27,6 +26,7 @@ export const forkJoin = (parent: SVG, node: Node, dir: string) => {
     
       let shape;
       if (node.useRough) {
    +    // @ts-ignore
         const rc = rough.svg(shapeSvg);
         const roughNode = rc.rectangle(x, y, width, height, solidStateFill(lineColor));
         shape = shapeSvg.insert(() => roughNode);
    diff --git a/packages/mermaid/src/rendering-util/rendering-elements/shapes/note.ts b/packages/mermaid/src/rendering-util/rendering-elements/shapes/note.ts
    index 5ba4ba4517..d85d3f2cab 100644
    --- a/packages/mermaid/src/rendering-util/rendering-elements/shapes/note.ts
    +++ b/packages/mermaid/src/rendering-util/rendering-elements/shapes/note.ts
    @@ -30,6 +30,7 @@ export const note = async (parent: SVGAElement, node: Node) => {
     
       if (useRough) {
         // add the rect
    +    // @ts-ignore
         const rc = rough.svg(shapeSvg);
         const roughNode = rc.rectangle(x, y, totalWidth, totalHeight, {
           roughness: 0.7,
    diff --git a/packages/mermaid/src/rendering-util/rendering-elements/shapes/rect.ts b/packages/mermaid/src/rendering-util/rendering-elements/shapes/rect.ts
    index 9ced7ee1f7..44a2454f25 100644
    --- a/packages/mermaid/src/rendering-util/rendering-elements/shapes/rect.ts
    +++ b/packages/mermaid/src/rendering-util/rendering-elements/shapes/rect.ts
    @@ -75,8 +75,9 @@ export const rect = async (parent: SVGAElement, node: Node) => {
       const y = -bbox.height / 2 - halfPadding;
     
       let rect;
    -  const { rx, ry, style: cssStyles, useRough } = node;
    +  const { rx, ry, cssStyles, useRough } = node;
       if (useRough) {
    +    // @ts-ignore
         const rc = rough.svg(shapeSvg);
         const options = userNodeOverrides(node, {
           roughness: 0.7,
    diff --git a/packages/mermaid/src/rendering-util/rendering-elements/shapes/stateEnd.ts b/packages/mermaid/src/rendering-util/rendering-elements/shapes/stateEnd.ts
    index 47518a5760..a9db831297 100644
    --- a/packages/mermaid/src/rendering-util/rendering-elements/shapes/stateEnd.ts
    +++ b/packages/mermaid/src/rendering-util/rendering-elements/shapes/stateEnd.ts
    @@ -18,6 +18,7 @@ export const stateEnd = (parent: SVG, node: Node) => {
       let circle;
       let innerCircle;
       if (node.useRough) {
    +    // @ts-ignore
         const rc = rough.svg(shapeSvg);
         const roughNode = rc.circle(0, 0, 14, { ...solidStateFill(lineColor), roughness: 0.5 });
         const roughInnerNode = rc.circle(0, 0, 5, { ...solidStateFill(lineColor), fillStyle: 'solid' });
    diff --git a/packages/mermaid/src/rendering-util/rendering-elements/shapes/stateStart.ts b/packages/mermaid/src/rendering-util/rendering-elements/shapes/stateStart.ts
    index 9474902fa5..12cb3bd3d0 100644
    --- a/packages/mermaid/src/rendering-util/rendering-elements/shapes/stateStart.ts
    +++ b/packages/mermaid/src/rendering-util/rendering-elements/shapes/stateStart.ts
    @@ -18,6 +18,7 @@ export const stateStart = (parent: SVG, node: Node) => {
     
       let circle;
       if (node.useRough) {
    +    // @ts-ignore
         const rc = rough.svg(shapeSvg);
         const roughNode = rc.circle(0, 0, 14, solidStateFill(lineColor));
         circle = shapeSvg.insert(() => roughNode);
    @@ -26,6 +27,7 @@ export const stateStart = (parent: SVG, node: Node) => {
       }
     
       // center the circle around its coordinate
    +  // @ts-ignore
       circle.attr('class', 'state-start').attr('r', 7).attr('width', 14).attr('height', 14);
     
       updateNodeBounds(node, circle);
    
    From 47776e3ca1b930d3754b2ed4bdff5267979380c7 Mon Sep 17 00:00:00 2001
    From: Knut Sveidqvist 
    Date: Thu, 23 May 2024 10:50:39 +0200
    Subject: [PATCH 439/789] #5237 Handling label size for elk layout
    
    ---
     cypress/platform/knsv2.html                   |    63 +-
     cypress/platform/state-refactor.html          |     2 +
     packages/mermaid-layout-elk/src/render.ts     |    29 +-
     .../mermaid/src/diagrams/state/dataFetcher.js |    10 +-
     .../layout-algorithms/dagre/index.js          |     3 +-
     pnpm-lock.yaml                                | 20263 +++++++---------
     6 files changed, 9170 insertions(+), 11200 deletions(-)
    
    diff --git a/cypress/platform/knsv2.html b/cypress/platform/knsv2.html
    index 5f1c0fb333..ce59a7bc21 100644
    --- a/cypress/platform/knsv2.html
    +++ b/cypress/platform/knsv2.html
    @@ -75,7 +75,61 @@
         
       
       
    +    
    +      %%{init: {"layout": "elk", "mergeEdges": true} }%%
    +stateDiagram
    +  direction TB
    +  T00 --> T0
    +      
    +
    +      %%{init: {"layout": "dagre", "mergeEdges": true} }%%
    +stateDiagram
    +  direction TB
    +  State T1 {
    +    T11
    +  }
    +      
    +
    +      %%{init: {"layout": "dagre", "mergeEdges": true} }%%
    +stateDiagram
    +State T1 {
    +    T21
    +    --
    +    T22
    +    }
    +      
    +
    +      %%{init: {"layout": "elk", "mergeEdges": true} }%%
    +stateDiagram
    +  direction TB
    +  State T1 {
    +    T11
    +  }
    +      
    +      %%{init: {"layout": "elk", "mergeEdges": true} }%%
    +stateDiagram
    +State T1 {
    +    T21
    +    --
    +    T22
    +    }
    +      
    +
    +      %%{init: {"layout": "elk", "mergeEdges": true} }%%
    +stateDiagram
    +  [*] --> T1
    +  T1 --> T2
    +  T1 --> T3
    +  T1 --> T4
    +      
    +
           %%{init: {"layout": "elk"} }%%
     stateDiagram
       [*] --> T1
    @@ -85,7 +139,7 @@
       T1 --> T3
           
    -
    +    
     stateDiagram
       State1: The state with a note
       note right of State1
    @@ -94,8 +148,9 @@
       end note
           
    -
    +    
     stateDiagram-v2
    +    direction LR
         [*] --> Active
     
         state Active {
    @@ -531,7 +586,7 @@
           //   useMaxWidth: false,
           // });
           mermaid.initialize({
    -        // theme: 'dark',
    +        theme: 'base',
             handdrawnSeed: 12,
             // look: 'handdrawn',
             // layout: 'dagre',
    @@ -544,7 +599,7 @@
               noteFontFamily: 'courier',
               messageFontFamily: 'courier',
             },
    -        fontSize: 16,
    +        fontSize: 12,
             logLevel: 0,
           });
           function callback() {
    diff --git a/cypress/platform/state-refactor.html b/cypress/platform/state-refactor.html
    index 829217bc14..ef764715a7 100644
    --- a/cypress/platform/state-refactor.html
    +++ b/cypress/platform/state-refactor.html
    @@ -1221,6 +1221,8 @@
     
       
    +
    +
    +
    \ No newline at end of file
    diff --git a/cypress/platform/flowchart-sate.html b/cypress/platform/flowchart-sate.html
    new file mode 100644
    index 0000000000..83e46363a8
    --- /dev/null
    +++ b/cypress/platform/flowchart-sate.html
    @@ -0,0 +1,183 @@
    +
    +
    +
    +  
    +  
    +  
    +  
    +  
    +  
    +  
    +  
    +  
    +  
    +
    +  
    +
    +
    +
    +  
    +    
    +      
    +      
    +      
    +      
    +      
    +    
    +    
    +      
    +      
    +      
    + 
    +    
    +   
    +
    +  
    DagreDagre with roughELKELK with rough
    + +
    +
    +
    +      flowchart LR
    +    id1([This is the text in the box])
    +
    +  
    +
    +
    +
    +%%{init: {"look": "handdrawn"} }%%
    +stateDiagram-v2 
    +    stateA
    +
    +      
    +
    +
    +%%{init: {"look": "handdrawn"} }%%
    +flowchart LR
    +    id1([This is the text in the box])
    +
    +
    +      
    +
    + + + + + + \ No newline at end of file diff --git a/packages/mermaid/src/diagrams/flowchart/flowDb.ts b/packages/mermaid/src/diagrams/flowchart/flowDb.ts index ef4ae0a76c..605e8d5eab 100644 --- a/packages/mermaid/src/diagrams/flowchart/flowDb.ts +++ b/packages/mermaid/src/diagrams/flowchart/flowDb.ts @@ -774,6 +774,7 @@ export const getData = () => { // extract(getRootDocV2()); // const diagramStates = getStates(); + const useRough = config.look === 'handdrawn'; const n = getVertices(); n.forEach((vertex) => { const node: Node = { @@ -788,11 +789,12 @@ export const getData = () => { domId: vertex.domId, type: undefined, isGroup: false, + useRough, }; nodes.push(node); }); - const useRough = config.look === 'handdrawn'; + //const useRough = config.look === 'handdrawn'; return { nodes, edges, other: {}, config }; }; diff --git a/packages/mermaid/src/diagrams/flowchart/flowRenderer-v3-unified.ts b/packages/mermaid/src/diagrams/flowchart/flowRenderer-v3-unified.ts index bf2d921766..01bf79fcbf 100644 --- a/packages/mermaid/src/diagrams/flowchart/flowRenderer-v3-unified.ts +++ b/packages/mermaid/src/diagrams/flowchart/flowRenderer-v3-unified.ts @@ -3,7 +3,7 @@ import type { DiagramStyleClassDef } from '../../diagram-api/types.js'; import type { LayoutData, LayoutMethod } from '../../rendering-util/types.js'; import { getConfig } from '../../diagram-api/diagramAPI.js'; import { render } from '../../rendering-util/render.js'; -import { getDiagramElements } from '../../rendering-util/inserElementsForSize.js'; +import { getDiagramElements } from '../../rendering-util/insertElementsForSize.js'; import { setupViewPortForSVG } from '../../rendering-util/setupViewPortForSVG.js'; import { getDirection } from './flowDb.js'; diff --git a/packages/mermaid/src/rendering-util/rendering-elements/nodes.js b/packages/mermaid/src/rendering-util/rendering-elements/nodes.js index 52219ac08c..d03fd257ac 100644 --- a/packages/mermaid/src/rendering-util/rendering-elements/nodes.js +++ b/packages/mermaid/src/rendering-util/rendering-elements/nodes.js @@ -7,8 +7,19 @@ import { stateEnd } from './shapes/stateEnd.ts'; import { forkJoin } from './shapes/forkJoin.ts'; import { choice } from './shapes/choice.ts'; import { note } from './shapes/note.ts'; +import { stadium } from './shapes/stadium.js'; import { getConfig } from '$root/diagram-api/diagramAPI.js'; - +import { subroutine } from './shapes/subroutine.js'; +import { cylinder } from './shapes/cylinder.js'; +import { circle } from './shapes/circle.js'; +import { doublecircle } from './shapes/doubleCircle.js'; +import { rect_left_inv_arrow } from './shapes/rectLeftInvArrow.js'; +import { question } from './shapes/question.js'; +import { hexagon } from './shapes/hexagon.js'; +import { lean_right } from './shapes/leanRight.js'; +import { lean_left } from './shapes/leanLeft.js'; +import { trapezoid } from './shapes/trapezoid.js'; +import { inv_trapezoid } from './shapes/invertedTrapezoid.js'; const formatClass = (str) => { if (str) { return ' ' + str; @@ -26,6 +37,18 @@ const shapes = { note, roundedRect, squareRect, + stadium, + subroutine, + cylinder, + circle, + doublecircle, + odd: rect_left_inv_arrow, + diamond: question, + hexagon, + lean_right, + lean_left, + trapezoid, + inv_trapezoid, }; let nodeElems = {}; @@ -34,6 +57,18 @@ export const insertNode = async (elem, node, dir) => { let newEl; let el; + if (node) { + console.log('BLA: rect node', JSON.stringify(node)); + } + //special check for rect shape (with or without rounded corners) + if (node.shape === 'rect') { + if (node.rx && node.ry) { + node.shape = 'roundedRect'; + } else { + node.shape = 'squareRect'; + } + } + // Add link when appropriate if (node.link) { let target; diff --git a/packages/mermaid/src/rendering-util/rendering-elements/shapes/circle.ts b/packages/mermaid/src/rendering-util/rendering-elements/shapes/circle.ts new file mode 100644 index 0000000000..0574ab6cbd --- /dev/null +++ b/packages/mermaid/src/rendering-util/rendering-elements/shapes/circle.ts @@ -0,0 +1,58 @@ +import { log } from '$root/logger.js'; +import { labelHelper, updateNodeBounds } from './util.js'; +import intersect from '../intersect/index.js'; +import { getConfig } from '$root/diagram-api/diagramAPI.js'; +import type { Node } from '$root/rendering-util/types.d.ts'; +import { userNodeOverrides } from '$root/rendering-util/rendering-elements/shapes/handdrawnStyles.js'; +import rough from 'roughjs'; + +export const circle = async (parent: SVGAElement, node: Node): Promise => { + const { themeVariables, handdrawnSeed } = getConfig(); + const { nodeBorder, mainBkg } = themeVariables; + + const { shapeSvg, bbox, halfPadding } = await labelHelper( + parent, + node, + 'node ' + node.cssClasses, + true + ); + + const radius = bbox.width / 2 + halfPadding; + let circleElem; + const { cssStyles, useRough } = node; + + if (useRough) { + console.log('Circle: Inside use useRough'); + const rc = rough.svg(shapeSvg); + const options = userNodeOverrides(node, { + roughness: 0.9, + fill: mainBkg, + fillStyle: 'hachure', + fillWeight: 1.5, + stroke: nodeBorder, + seed: handdrawnSeed, + strokeWidth: 1, + }); + const roughNode = rc.circle(0, 0, radius * 2, options); + + circleElem = shapeSvg.insert(() => roughNode, ':first-child'); + circleElem.attr('class', 'basic label-container').attr('style', cssStyles); + } else { + circleElem = shapeSvg + .insert('circle', ':first-child') + .attr('class', 'basic label-container') + .attr('style', cssStyles) + .attr('r', radius) + .attr('cx', 0) + .attr('cy', 0); + } + + updateNodeBounds(node, circleElem); + + node.intersect = function (point) { + log.info('Circle intersect', node, radius, point); + return intersect.circle(node, radius, point); + }; + + return shapeSvg; +}; diff --git a/packages/mermaid/src/rendering-util/rendering-elements/shapes/cylinder.ts b/packages/mermaid/src/rendering-util/rendering-elements/shapes/cylinder.ts new file mode 100644 index 0000000000..cd12792c63 --- /dev/null +++ b/packages/mermaid/src/rendering-util/rendering-elements/shapes/cylinder.ts @@ -0,0 +1,116 @@ +import { log } from '$root/logger.js'; +import { labelHelper, updateNodeBounds } from './util.js'; +import intersect from '../intersect/index.js'; +import { getConfig } from '$root/diagram-api/diagramAPI.js'; +import type { Node } from '$root/rendering-util/types.d.ts'; +import { userNodeOverrides } from '$root/rendering-util/rendering-elements/shapes/handdrawnStyles.js'; +import rough from 'roughjs'; + +/** + * Creates an SVG path for a cylindrical shape. + * @param {number} x - The x coordinate of the top-left corner. + * @param {number} y - The y coordinate of the top-left corner. + * @param {number} width - The width of the cylinder. + * @param {number} height - The height of the cylinder. + * @param {number} rx - The x-radius of the cylinder's ends. + * @param {number} ry - The y-radius of the cylinder's ends. + * @returns {string} The path data for the cylindrical shape. + */ +export const createCylinderPathD = ( + x: number, + y: number, + width: number, + height: number, + rx: number, + ry: number +): string => { + return [ + `M${x},${y + ry}`, + `a${rx},${ry} 0,0,0 ${width},0`, + `a${rx},${ry} 0,0,0 ${-width},0`, + `l0,${height}`, + `a${rx},${ry} 0,0,0 ${width},0`, + `l0,${-height}`, + ].join(' '); +}; + +export const cylinder = async (parent: SVGAElement, node: Node) => { + const { themeVariables, handdrawnSeed } = getConfig(); + const { nodeBorder, mainBkg } = themeVariables; + + const { shapeSvg, bbox, halfPadding } = await labelHelper( + parent, + node, + 'node ' + node.cssClasses, // + ' ' + node.class, + true + ); + + const w = bbox.width + node.padding; + const rx = w / 2; + const ry = rx / (2.5 + w / 50); + const h = bbox.height + ry + node.padding; + + let cylinder: d3.Selection; + const { cssStyles, useRough } = node; + + if (useRough) { + console.log('Cylinder: Inside use useRough'); + const rc = rough.svg(shapeSvg); + const options = userNodeOverrides(node, { + roughness: 0.7, + fill: mainBkg, + fillStyle: 'hachure', + fillWeight: 1.5, + stroke: nodeBorder, + seed: handdrawnSeed, + strokeWidth: 1, + }); + const pathData = createCylinderPathD(0, 0, w, h, rx, ry); + const roughNode = rc.path(pathData, options); + + cylinder = shapeSvg.insert(() => roughNode, ':first-child'); + cylinder.attr('class', 'basic label-container'); + if (cssStyles) { + cylinder.attr('style', cssStyles); + } + } else { + const pathData = createCylinderPathD(0, 0, w, h, rx, ry); + cylinder = shapeSvg + .insert('path', ':first-child') + .attr('d', pathData) + .attr('class', 'basic label-container') + .attr('style', cssStyles); + } + + cylinder.attr('label-offset-y', ry); + cylinder.attr('transform', `translate(${-w / 2}, ${-(h / 2 + ry)})`); + + updateNodeBounds(node, cylinder); + + node.intersect = function (point) { + const pos = intersect.rect(node, point); + const x = pos.x - (node.x ?? 0); + + if ( + rx != 0 && + (Math.abs(x) < (node.width ?? 0) / 2 || + (Math.abs(x) == (node.width ?? 0) / 2 && + Math.abs(pos.y - (node.y ?? 0)) > (node.height ?? 0) / 2 - ry)) + ) { + let y = ry * ry * (1 - (x * x) / (rx * rx)); + if (y != 0) { + y = Math.sqrt(y); + } + y = ry - y; + if (point.y - (node.y ?? 0) > 0) { + y = -y; + } + + pos.y += y; + } + + return pos; + }; + + return shapeSvg; +}; diff --git a/packages/mermaid/src/rendering-util/rendering-elements/shapes/doubleCircle.ts b/packages/mermaid/src/rendering-util/rendering-elements/shapes/doubleCircle.ts new file mode 100644 index 0000000000..49e4051c3d --- /dev/null +++ b/packages/mermaid/src/rendering-util/rendering-elements/shapes/doubleCircle.ts @@ -0,0 +1,81 @@ +import { log } from '$root/logger.js'; +import { labelHelper, updateNodeBounds } from './util.js'; +import intersect from '../intersect/index.js'; +import { getConfig } from '$root/diagram-api/diagramAPI.js'; +import type { Node } from '$root/rendering-util/types.d.ts'; +import { userNodeOverrides } from '$root/rendering-util/rendering-elements/shapes/handdrawnStyles.js'; +import rough from 'roughjs'; +//import d3 from 'd3'; + +export const doublecircle = async (parent: SVGAElement, node: Node): Promise => { + const { themeVariables, handdrawnSeed } = getConfig(); + const { nodeBorder, mainBkg } = themeVariables; + + const { shapeSvg, bbox, halfPadding } = await labelHelper( + parent, + node, + 'node ' + node.cssClasses, + true + ); + const gap = 5; + const outerRadius = bbox.width / 2 + halfPadding + gap; + const innerRadius = bbox.width / 2 + halfPadding; + + let circleGroup; + const { cssStyles, useRough } = node; + + if (useRough) { + console.log('DoubleCircle: Inside use useRough'); + const rc = rough.svg(shapeSvg); + const outerOptions = userNodeOverrides(node, { + roughness: 0.9, + fill: mainBkg, + fillStyle: 'hachure', + fillWeight: 1.5, + stroke: nodeBorder, + seed: handdrawnSeed, + strokeWidth: 1, + }); + + const innerOptions = { ...outerOptions, fill: mainBkg }; + const outerRoughNode = rc.circle(0, 0, outerRadius * 2, outerOptions); + const innerRoughNode = rc.circle(0, 0, innerRadius * 2, innerOptions); + + circleGroup = shapeSvg.insert('g', ':first-child'); + circleGroup.attr('class', node.cssClasses).attr('style', cssStyles); + // d3.select(outerRoughNode).attr('class', 'outer-circle').attr('style', cssStyles); + // d3.select(innerRoughNode).attr('class', 'inner-circle').attr('style', cssStyles); + + circleGroup.node()?.appendChild(outerRoughNode); + circleGroup.node()?.appendChild(innerRoughNode); + } else { + circleGroup = shapeSvg.insert('g', ':first-child'); + const outerCircle = circleGroup.insert('circle', ':first-child'); + const innerCircle = circleGroup.insert('circle', ':first-child'); + + circleGroup.attr('class', 'basic label-container').attr('style', cssStyles); + + outerCircle + .attr('class', 'outer-circle') + .attr('style', cssStyles) + .attr('r', outerRadius) + .attr('cx', 0) + .attr('cy', 0); + + innerCircle + .attr('class', 'inner-circle') + .attr('style', cssStyles) + .attr('r', innerRadius) + .attr('cx', 0) + .attr('cy', 0); + } + + updateNodeBounds(node, circleGroup); + + node.intersect = function (point) { + log.info('DoubleCircle intersect', node, outerRadius, point); + return intersect.circle(node, outerRadius, point); + }; + + return shapeSvg; +}; diff --git a/packages/mermaid/src/rendering-util/rendering-elements/shapes/drawRect.ts b/packages/mermaid/src/rendering-util/rendering-elements/shapes/drawRect.ts index ac1b690c16..70b3fa6a1a 100644 --- a/packages/mermaid/src/rendering-util/rendering-elements/shapes/drawRect.ts +++ b/packages/mermaid/src/rendering-util/rendering-elements/shapes/drawRect.ts @@ -68,7 +68,14 @@ export const drawRect = async (parent: SVGAElement, node: Node, options: RectOpt const y = -bbox.height / 2 - halfPadding; let rect; - const { rx, ry, cssStyles, useRough } = node; + let { rx, ry, cssStyles, useRough } = node; + + //use options rx, ry overrides if present + if (options && options.rx && options.ry) { + rx = options.rx; + ry = options.ry; + } + if (useRough) { // @ts-ignore TODO: Fix rough typings const rc = rough.svg(shapeSvg); @@ -81,6 +88,8 @@ export const drawRect = async (parent: SVGAElement, node: Node, options: RectOpt stroke: nodeBorder, seed: handdrawnSeed, }); + + console.log('rect options: ', options); const roughNode = rx || ry ? rc.path(createRoundedRectPathD(x, y, totalWidth, totalHeight, rx || 0), options) diff --git a/packages/mermaid/src/rendering-util/rendering-elements/shapes/hexagon.ts b/packages/mermaid/src/rendering-util/rendering-elements/shapes/hexagon.ts new file mode 100644 index 0000000000..e9070d8d38 --- /dev/null +++ b/packages/mermaid/src/rendering-util/rendering-elements/shapes/hexagon.ts @@ -0,0 +1,105 @@ +import { log } from '$root/logger.js'; +import { labelHelper, updateNodeBounds } from './util.js'; +import intersect from '../intersect/index.js'; +import { getConfig } from '$root/diagram-api/diagramAPI.js'; +import type { Node } from '$root/rendering-util/types.d.ts'; +import { userNodeOverrides } from '$root/rendering-util/rendering-elements/shapes/handdrawnStyles.js'; +import rough from 'roughjs'; + +import { insertPolygonShape } from './insertPolygonShape.js'; + +/** + * Creates an SVG path for a hexagon shape. + * @param {number} x - The x coordinate of the top-left corner. + * @param {number} y - The y coordinate of the top-left corner. + * @param {number} width - The width of the hexagon. + * @param {number} height - The height of the hexagon. + * @param {number} m - The margin size for the hexagon. + * @returns {string} The path data for the hexagon shape. + */ +export const createHexagonPathD = ( + x: number, + y: number, + width: number, + height: number, + m: number +): string => { + return [ + `M${x + m},${y}`, + `L${x + width - m},${y}`, + `L${x + width},${y - height / 2}`, + `L${x + width - m},${y - height}`, + `L${x + m},${y - height}`, + `L${x},${y - height / 2}`, + 'Z', + ].join(' '); +}; + +export const hexagon = async (parent: SVGAElement, node: Node): Promise => { + const { themeVariables, handdrawnSeed } = getConfig(); + const { nodeBorder, mainBkg } = themeVariables; + + const { shapeSvg, bbox, halfPadding } = await labelHelper( + parent, + node, + 'node ' + node.cssClasses, + true + ); + + const f = 4; + const h = bbox.height + node.padding; + const m = h / f; + const w = bbox.width + 2 * m + node.padding; + const points = [ + { x: m, y: 0 }, + { x: w - m, y: 0 }, + { x: w, y: -h / 2 }, + { x: w - m, y: -h }, + { x: m, y: -h }, + { x: 0, y: -h / 2 }, + ]; + + let polygon: d3.Selection; + const { cssStyles, useRough } = node; + + if (useRough) { + console.log('Hexagon: Inside use useRough'); + const rc = rough.svg(shapeSvg); + const options = userNodeOverrides(node, { + roughness: 0.7, + fill: mainBkg, + fillStyle: 'hachure', + fillWeight: 1.5, + stroke: nodeBorder, + seed: handdrawnSeed, + strokeWidth: 1, + }); + const pathData = createHexagonPathD(0, 0, w, h, m); + const roughNode = rc.path(pathData, options); + + polygon = shapeSvg + .insert(() => roughNode, ':first-child') + .attr('transform', `translate(${-w / 2}, ${h / 2})`); + + if (cssStyles) { + polygon.attr('style', cssStyles); + } + } else { + polygon = insertPolygonShape(shapeSvg, w, h, points); + } + + if (cssStyles) { + polygon.attr('style', cssStyles); + } + + node.width = w; + node.height = h; + + updateNodeBounds(node, polygon); + + node.intersect = function (point) { + return intersect.polygon(node, points, point); + }; + + return shapeSvg; +}; diff --git a/packages/mermaid/src/rendering-util/rendering-elements/shapes/insertPolygonShape.ts b/packages/mermaid/src/rendering-util/rendering-elements/shapes/insertPolygonShape.ts new file mode 100644 index 0000000000..6d121b3e14 --- /dev/null +++ b/packages/mermaid/src/rendering-util/rendering-elements/shapes/insertPolygonShape.ts @@ -0,0 +1,25 @@ +/** + * @param parent + * @param w + * @param h + * @param points + */ +export function insertPolygonShape( + parent: any, + w: number, + h: number, + points: { x: number; y: number }[] +) { + return parent + .insert('polygon', ':first-child') + .attr( + 'points', + points + .map(function (d) { + return d.x + ',' + d.y; + }) + .join(' ') + ) + .attr('class', 'label-container') + .attr('transform', 'translate(' + -w / 2 + ',' + h / 2 + ')'); +} diff --git a/packages/mermaid/src/rendering-util/rendering-elements/shapes/invertedTrapezoid.ts b/packages/mermaid/src/rendering-util/rendering-elements/shapes/invertedTrapezoid.ts new file mode 100644 index 0000000000..809d6dd07f --- /dev/null +++ b/packages/mermaid/src/rendering-util/rendering-elements/shapes/invertedTrapezoid.ts @@ -0,0 +1,96 @@ +import { log } from '$root/logger.js'; +import { labelHelper, updateNodeBounds } from './util.js'; +import intersect from '../intersect/index.js'; +import { getConfig } from '$root/diagram-api/diagramAPI.js'; +import type { Node } from '$root/rendering-util/types.d.ts'; +import { userNodeOverrides } from '$root/rendering-util/rendering-elements/shapes/handdrawnStyles.js'; +import rough from 'roughjs'; +import { insertPolygonShape } from './insertPolygonShape.js'; + +/** + * Creates an SVG path for an inverted trapezoid shape. + * @param {number} x - The x coordinate of the top-left corner. + * @param {number} y - The y coordinate of the top-left corner. + * @param {number} width - The width of the shape. + * @param {number} height - The height of the shape. + * @returns {string} The path data for the inverted trapezoid shape. + */ +export const createInvertedTrapezoidPathD = ( + x: number, + y: number, + width: number, + height: number +): string => { + return [ + `M${x + height / 6},${y}`, + `L${x + width - height / 6},${y}`, + `L${x + width + (2 * height) / 6},${y - height}`, + `L${x - (2 * height) / 6},${y - height}`, + 'Z', + ].join(' '); +}; + +export const inv_trapezoid = async (parent: SVGAElement, node: Node): Promise => { + const { themeVariables, handdrawnSeed } = getConfig(); + const { nodeBorder, mainBkg } = themeVariables; + + const { shapeSvg, bbox, halfPadding } = await labelHelper( + parent, + node, + 'node ' + node.cssClasses, + true + ); + + const w = bbox.width + node.padding; + const h = bbox.height + node.padding; + const points = [ + { x: h / 6, y: 0 }, + { x: w - h / 6, y: 0 }, + { x: w + (2 * h) / 6, y: -h }, + { x: (-2 * h) / 6, y: -h }, + ]; + + let polygon: d3.Selection; + const { cssStyles, useRough } = node; + + if (useRough) { + console.log('Inverted Trapezoid: Inside use useRough'); + const rc = rough.svg(shapeSvg); + const options = userNodeOverrides(node, { + roughness: 0.7, + fill: mainBkg, + fillStyle: 'hachure', + fillWeight: 1.5, + stroke: nodeBorder, + seed: handdrawnSeed, + strokeWidth: 1, + }); + const pathData = createInvertedTrapezoidPathD(0, 0, w, h); + const roughNode = rc.path(pathData, options); + + polygon = shapeSvg + .insert(() => roughNode, ':first-child') + .attr('transform', `translate(${-w / 2}, ${h / 2})`); + + if (cssStyles) { + polygon.attr('style', cssStyles); + } + } else { + polygon = insertPolygonShape(shapeSvg, w, h, points); + } + + if (cssStyles) { + polygon.attr('style', cssStyles); + } + + node.width = w; + node.height = h; + + updateNodeBounds(node, polygon); + + node.intersect = function (point) { + return intersect.polygon(node, points, point); + }; + + return shapeSvg; +}; diff --git a/packages/mermaid/src/rendering-util/rendering-elements/shapes/leanLeft.ts b/packages/mermaid/src/rendering-util/rendering-elements/shapes/leanLeft.ts new file mode 100644 index 0000000000..0cfaf7c010 --- /dev/null +++ b/packages/mermaid/src/rendering-util/rendering-elements/shapes/leanLeft.ts @@ -0,0 +1,96 @@ +import { log } from '$root/logger.js'; +import { labelHelper, updateNodeBounds } from './util.js'; +import intersect from '../intersect/index.js'; +import { getConfig } from '$root/diagram-api/diagramAPI.js'; +import type { Node } from '$root/rendering-util/types.d.ts'; +import { userNodeOverrides } from '$root/rendering-util/rendering-elements/shapes/handdrawnStyles.js'; +import rough from 'roughjs'; +import { insertPolygonShape } from './insertPolygonShape.js'; + +/** + * Creates an SVG path for a lean left shape. + * @param {number} x - The x coordinate of the top-left corner. + * @param {number} y - The y coordinate of the top-left corner. + * @param {number} width - The width of the shape. + * @param {number} height - The height of the shape. + * @returns {string} The path data for the lean left shape. + */ +export const createLeanLeftPathD = ( + x: number, + y: number, + width: number, + height: number +): string => { + return [ + `M${x + (2 * height) / 6},${y}`, + `L${x + width + height / 6},${y}`, + `L${x + width - (2 * height) / 6},${y - height}`, + `L${x - height / 6},${y - height}`, + 'Z', + ].join(' '); +}; + +export const lean_left = async (parent: SVGAElement, node: Node): Promise => { + const { themeVariables, handdrawnSeed } = getConfig(); + const { nodeBorder, mainBkg } = themeVariables; + + const { shapeSvg, bbox, halfPadding } = await labelHelper( + parent, + node, + 'node ' + node.cssClasses, + true + ); + + const w = bbox.width + node.padding; + const h = bbox.height + node.padding; + const points = [ + { x: (2 * h) / 6, y: 0 }, + { x: w + h / 6, y: 0 }, + { x: w - (2 * h) / 6, y: -h }, + { x: -h / 6, y: -h }, + ]; + + let polygon: d3.Selection; + const { cssStyles, useRough } = node; + + if (useRough) { + console.log('Lean Left: Inside use useRough'); + const rc = rough.svg(shapeSvg); + const options = userNodeOverrides(node, { + roughness: 0.7, + fill: mainBkg, + fillStyle: 'hachure', + fillWeight: 1.5, + stroke: nodeBorder, + seed: handdrawnSeed, + strokeWidth: 1, + }); + const pathData = createLeanLeftPathD(0, 0, w, h); + const roughNode = rc.path(pathData, options); + + polygon = shapeSvg + .insert(() => roughNode, ':first-child') + .attr('transform', `translate(${-w / 2}, ${h / 2})`); + + if (cssStyles) { + polygon.attr('style', cssStyles); + } + } else { + polygon = insertPolygonShape(shapeSvg, w, h, points); + } + + if (cssStyles) { + polygon.attr('style', cssStyles); + } + + node.width = w; + node.height = h; + + updateNodeBounds(node, polygon); + + node.intersect = function (point) { + return intersect.polygon(node, points, point); + }; + + return shapeSvg; +}; diff --git a/packages/mermaid/src/rendering-util/rendering-elements/shapes/leanRight.ts b/packages/mermaid/src/rendering-util/rendering-elements/shapes/leanRight.ts new file mode 100644 index 0000000000..711be91f71 --- /dev/null +++ b/packages/mermaid/src/rendering-util/rendering-elements/shapes/leanRight.ts @@ -0,0 +1,96 @@ +import { log } from '$root/logger.js'; +import { labelHelper, updateNodeBounds } from './util.js'; +import intersect from '../intersect/index.js'; +import { getConfig } from '$root/diagram-api/diagramAPI.js'; +import type { Node } from '$root/rendering-util/types.d.ts'; +import { userNodeOverrides } from '$root/rendering-util/rendering-elements/shapes/handdrawnStyles.js'; +import rough from 'roughjs'; +import { insertPolygonShape } from './insertPolygonShape.js'; + +/** + * Creates an SVG path for a lean right shape. + * @param {number} x - The x coordinate of the top-left corner. + * @param {number} y - The y coordinate of the top-left corner. + * @param {number} width - The width of the shape. + * @param {number} height - The height of the shape. + * @returns {string} The path data for the lean right shape. + */ +export const createLeanRightPathD = ( + x: number, + y: number, + width: number, + height: number +): string => { + return [ + `M${x - (2 * height) / 6},${y}`, + `L${x + width - height / 6},${y}`, + `L${x + width + (2 * height) / 6},${y - height}`, + `L${x + height / 6},${y - height}`, + 'Z', + ].join(' '); +}; + +export const lean_right = async (parent: SVGAElement, node: Node): Promise => { + const { themeVariables, handdrawnSeed } = getConfig(); + const { nodeBorder, mainBkg } = themeVariables; + + const { shapeSvg, bbox, halfPadding } = await labelHelper( + parent, + node, + 'node ' + node.cssClasses, + true + ); + + const w = bbox.width + node.padding; + const h = bbox.height + node.padding; + const points = [ + { x: (-2 * h) / 6, y: 0 }, + { x: w - h / 6, y: 0 }, + { x: w + (2 * h) / 6, y: -h }, + { x: h / 6, y: -h }, + ]; + + let polygon: d3.Selection; + const { cssStyles, useRough } = node; + + if (useRough) { + console.log('Lean Right: Inside use useRough'); + const rc = rough.svg(shapeSvg); + const options = userNodeOverrides(node, { + roughness: 0.7, + fill: mainBkg, + fillStyle: 'hachure', + fillWeight: 1.5, + stroke: nodeBorder, + seed: handdrawnSeed, + strokeWidth: 1, + }); + const pathData = createLeanRightPathD(0, 0, w, h); + const roughNode = rc.path(pathData, options); + + polygon = shapeSvg + .insert(() => roughNode, ':first-child') + .attr('transform', `translate(${-w / 2}, ${h / 2})`); + + if (cssStyles) { + polygon.attr('style', cssStyles); + } + } else { + polygon = insertPolygonShape(shapeSvg, w, h, points); + } + + if (cssStyles) { + polygon.attr('style', cssStyles); + } + + node.width = w; + node.height = h; + + updateNodeBounds(node, polygon); + + node.intersect = function (point) { + return intersect.polygon(node, points, point); + }; + + return shapeSvg; +}; diff --git a/packages/mermaid/src/rendering-util/rendering-elements/shapes/question.ts b/packages/mermaid/src/rendering-util/rendering-elements/shapes/question.ts new file mode 100644 index 0000000000..fd68766e57 --- /dev/null +++ b/packages/mermaid/src/rendering-util/rendering-elements/shapes/question.ts @@ -0,0 +1,90 @@ +import { log } from '$root/logger.js'; +import { labelHelper, updateNodeBounds } from './util.js'; +import intersect from '../intersect/index.js'; +import { getConfig } from '$root/diagram-api/diagramAPI.js'; +import type { Node } from '$root/rendering-util/types.d.ts'; +import { userNodeOverrides } from '$root/rendering-util/rendering-elements/shapes/handdrawnStyles.js'; +import rough from 'roughjs'; +import { insertPolygonShape } from './insertPolygonShape.js'; + +/** + * Creates an SVG path for a decision box shape (question shape). + * @param {number} x - The x coordinate of the top-left corner. + * @param {number} y - The y coordinate of the top-left corner. + * @param {number} size - The size of the shape. + * @returns {string} The path data for the decision box shape. + */ +export const createDecisionBoxPathD = (x: number, y: number, size: number): string => { + return [ + `M${x + size / 2},${y}`, + `L${x + size},${y - size / 2}`, + `L${x + size / 2},${y - size}`, + `L${x},${y - size / 2}`, + 'Z', + ].join(' '); +}; + +export const question = async (parent: SVGAElement, node: Node): Promise => { + const { themeVariables, handdrawnSeed } = getConfig(); + const { nodeBorder, mainBkg } = themeVariables; + + const { shapeSvg, bbox, halfPadding } = await labelHelper( + parent, + node, + 'node ' + node.cssClasses, + true + ); + + const w = bbox.width + node.padding; + const h = bbox.height + node.padding; + const s = w + h; + + const points = [ + { x: s / 2, y: 0 }, + { x: s, y: -s / 2 }, + { x: s / 2, y: -s }, + { x: 0, y: -s / 2 }, + ]; + + let polygon: d3.Selection; + const { cssStyles, useRough } = node; + + if (useRough) { + console.log('DecisionBox: Inside use useRough'); + const rc = rough.svg(shapeSvg); + const options = userNodeOverrides(node, { + roughness: 0.7, + fill: mainBkg, + fillStyle: 'hachure', + fillWeight: 1.5, + stroke: nodeBorder, + seed: handdrawnSeed, + strokeWidth: 1, + }); + const pathData = createDecisionBoxPathD(0, 0, s); + const roughNode = rc.path(pathData, options); + + polygon = shapeSvg + .insert(() => roughNode, ':first-child') + .attr('transform', `translate(${-s / 2}, ${s / 2})`); + + if (cssStyles) { + polygon.attr('style', cssStyles); + } + } else { + polygon = insertPolygonShape(shapeSvg, s, s, points); + } + + if (cssStyles) { + polygon.attr('style', cssStyles); + } + + updateNodeBounds(node, polygon); + + node.intersect = function (point) { + log.warn('Intersect called'); + return intersect.polygon(node, points, point); + }; + + return shapeSvg; +}; diff --git a/packages/mermaid/src/rendering-util/rendering-elements/shapes/rectLeftInvArrow.ts b/packages/mermaid/src/rendering-util/rendering-elements/shapes/rectLeftInvArrow.ts new file mode 100644 index 0000000000..afcc1fb7d0 --- /dev/null +++ b/packages/mermaid/src/rendering-util/rendering-elements/shapes/rectLeftInvArrow.ts @@ -0,0 +1,94 @@ +import { log } from '$root/logger.js'; +import { labelHelper, updateNodeBounds } from './util.js'; +import intersect from '../intersect/index.js'; +import { getConfig } from '$root/diagram-api/diagramAPI.js'; +import type { Node } from '$root/rendering-util/types.d.ts'; +import { userNodeOverrides } from '$root/rendering-util/rendering-elements/shapes/handdrawnStyles.js'; +import rough from 'roughjs'; +import { insertPolygonShape } from './insertPolygonShape.js'; + +/** + * Creates an SVG path for a special polygon shape with a left-inverted arrow. + * @param {number} x - The x coordinate of the top-left corner. + * @param {number} y - The y coordinate of the top-left corner. + * @param {number} width - The width of the shape. + * @param {number} height - The height of the shape. + * @returns {string} The path data for the special polygon shape. + */ +export const createPolygonPathD = (x: number, y: number, width: number, height: number): string => { + return [ + `M${x - height / 2},${y}`, + `L${x + width},${y}`, + `L${x + width},${y - height}`, + `L${x - height / 2},${y - height}`, + `L${x},${y - height / 2}`, + 'Z', + ].join(' '); +}; + +export const rect_left_inv_arrow = async ( + parent: SVGAElement, + node: Node +): Promise => { + const { themeVariables, handdrawnSeed } = getConfig(); + const { nodeBorder, mainBkg } = themeVariables; + + const { shapeSvg, bbox, halfPadding } = await labelHelper( + parent, + node, + 'node ' + node.cssClasses, + true + ); + + const w = bbox.width + node.padding; + const h = bbox.height + node.padding; + const points = [ + { x: -h / 2, y: 0 }, + { x: w, y: 0 }, + { x: w, y: -h }, + { x: -h / 2, y: -h }, + { x: 0, y: -h / 2 }, + ]; + + let polygon; + const { cssStyles, useRough } = node; + + if (useRough) { + console.log('Polygon: Inside use useRough'); + const rc = rough.svg(shapeSvg); + const options = userNodeOverrides(node, { + roughness: 0.7, + fill: mainBkg, + fillStyle: 'hachure', + fillWeight: 1.5, + stroke: nodeBorder, + seed: handdrawnSeed, + strokeWidth: 1, + }); + const pathData = createPolygonPathD(0, 0, w, h); + const roughNode = rc.path(pathData, options); + + polygon = shapeSvg + .insert(() => roughNode, ':first-child') + .attr('transform', `translate(${-w / 2}, ${h / 2})`); + if (cssStyles) { + polygon.attr('style', cssStyles); + } + } else { + polygon = insertPolygonShape(shapeSvg, w, h, points); + } + + if (cssStyles) { + polygon.attr('style', cssStyles); + } + node.width = w + h; + node.height = h; + + updateNodeBounds(node, polygon); + + node.intersect = function (point) { + return intersect.polygon(node, points, point); + }; + + return shapeSvg; +}; diff --git a/packages/mermaid/src/rendering-util/rendering-elements/shapes/stadium.ts b/packages/mermaid/src/rendering-util/rendering-elements/shapes/stadium.ts new file mode 100644 index 0000000000..423f2392a7 --- /dev/null +++ b/packages/mermaid/src/rendering-util/rendering-elements/shapes/stadium.ts @@ -0,0 +1,111 @@ +import { log } from '$root/logger.js'; +import { labelHelper, updateNodeBounds } from './util.js'; +import intersect from '../intersect/index.js'; +import { getConfig } from '$root/diagram-api/diagramAPI.js'; +import type { Node } from '$root/rendering-util/types.d.ts'; +import { userNodeOverrides } from '$root/rendering-util/rendering-elements/shapes/handdrawnStyles.js'; +import rough from 'roughjs'; +import { createRoundedRectPathD } from './roundedRectPath.js'; + +export const createStadiumPathD = ( + x: number, + y: number, + totalWidth: number, + totalHeight: number +) => { + const radius = totalHeight / 2; + return [ + 'M', + x + radius, + y, // Move to the start of the top-left arc + 'H', + x + totalWidth - radius, // Draw horizontal line to the start of the top-right arc + 'A', + radius, + radius, + 0, + 0, + 1, + x + totalWidth, + y + radius, // Draw top-right arc + 'H', + x, // Draw horizontal line to the start of the bottom-right arc + 'A', + radius, + radius, + 0, + 0, + 1, + x + totalWidth - radius, + y + totalHeight, // Draw bottom-right arc + 'H', + x + radius, // Draw horizontal line to the start of the bottom-left arc + 'A', + radius, + radius, + 0, + 0, + 1, + x, + y + radius, // Draw bottom-left arc + 'Z', // Close the path + ].join(' '); +}; + +export const stadium = async (parent: SVGAElement, node: Node) => { + const { themeVariables, handdrawnSeed } = getConfig(); + const { nodeBorder, mainBkg } = themeVariables; + + const { shapeSvg, bbox, halfPadding } = await labelHelper( + parent, + node, + 'node ' + node.cssClasses, // + ' ' + node.class, + true + ); + + const h = bbox.height + node.padding; + const w = bbox.width + h / 4 + node.padding; + + let rect; + const { cssStyles, useRough } = node; + if (useRough) { + console.log('Stadium:Inside use useRough'); + const rc = rough.svg(shapeSvg); + const options = userNodeOverrides(node, { + roughness: 0.7, + fill: mainBkg, + fillStyle: 'hachure', // solid fill + fillWeight: 3.5, + stroke: nodeBorder, + seed: handdrawnSeed, + // strokeWidth: 1, + }); + + console.log('Stadium options: ', options); + const pathData = createRoundedRectPathD(-w / 2, -h / 2, w, h, h / 3); + const roughNode = rc.path(pathData, options); + + rect = shapeSvg.insert(() => roughNode, ':first-child'); + rect.attr('class', 'basic label-container').attr('style', cssStyles); + } else { + rect = shapeSvg.insert('rect', ':first-child'); + + rect + .attr('class', 'basic label-container') + .attr('style', cssStyles) + .attr('rx', h / 2) + .attr('ry', h / 2) + .attr('x', -w / 2) + .attr('y', -h / 2) + .attr('width', w) + .attr('height', h); + } + + updateNodeBounds(node, rect); + + node.intersect = function (point) { + return intersect.rect(node, point); + }; + + return shapeSvg; +}; diff --git a/packages/mermaid/src/rendering-util/rendering-elements/shapes/subroutine.ts b/packages/mermaid/src/rendering-util/rendering-elements/shapes/subroutine.ts new file mode 100644 index 0000000000..eacd53e276 --- /dev/null +++ b/packages/mermaid/src/rendering-util/rendering-elements/shapes/subroutine.ts @@ -0,0 +1,97 @@ +import { log } from '$root/logger.js'; +import { labelHelper, updateNodeBounds } from './util.js'; +import intersect from '../intersect/index.js'; +import { getConfig } from '$root/diagram-api/diagramAPI.js'; +import type { Node } from '$root/rendering-util/types.d.ts'; +import { userNodeOverrides } from '$root/rendering-util/rendering-elements/shapes/handdrawnStyles.js'; +import rough from 'roughjs'; +import { insertPolygonShape } from './insertPolygonShape.js'; + +export const createSubroutinePathD = ( + x: number, + y: number, + width: number, + height: number +): string => { + const offset = 8; + return [ + `M${x - offset},${y}`, + `H${x + width + offset}`, + `V${y + height}`, + `H${x - offset}`, + `V${y}`, + 'M', + x, + y, + 'H', + x + width, + 'V', + y + height, + 'H', + x, + 'Z', + ].join(' '); +}; + +export const subroutine = async (parent: SVGAElement, node: Node) => { + const { themeVariables, handdrawnSeed } = getConfig(); + const { nodeBorder, mainBkg } = themeVariables; + + const { shapeSvg, bbox, halfPadding } = await labelHelper( + parent, + node, + 'node ' + node.cssClasses, // + ' ' + node.class, + true + ); + + const w = bbox.width + node.padding; + const h = bbox.height + node.padding; + + let rect; + const { cssStyles, useRough } = node; + if (useRough) { + const rc = rough.svg(shapeSvg); + const options = userNodeOverrides(node, { + roughness: 0.7, + fill: mainBkg, + fillStyle: 'hachure', + fillWeight: 1.5, + stroke: nodeBorder, + seed: handdrawnSeed, + strokeWidth: 1, + }); + const pathData = createSubroutinePathD(-w / 2, -h / 2, w, h); + const roughNode = rc.path(pathData, options); + + rect = shapeSvg.insert(() => roughNode, ':first-child'); + rect.attr('class', 'basic label-container').attr('style', cssStyles); + } + + const points = [ + { x: 0, y: 0 }, + { x: w, y: 0 }, + { x: w, y: -h }, + { x: 0, y: -h }, + { x: 0, y: 0 }, + { x: -8, y: 0 }, + { x: w + 8, y: 0 }, + { x: w + 8, y: -h }, + { x: -8, y: -h }, + { x: -8, y: 0 }, + ]; + + const el = insertPolygonShape(shapeSvg, w, h, points); + if (cssStyles) { + el.attr('style', cssStyles); + } + + updateNodeBounds(node, el); + + node.intersect = function (point) { + return intersect.polygon(node, points, point); + }; + + return shapeSvg; +}; + +export default subroutine; diff --git a/packages/mermaid/src/rendering-util/rendering-elements/shapes/trapezoid.ts b/packages/mermaid/src/rendering-util/rendering-elements/shapes/trapezoid.ts new file mode 100644 index 0000000000..6a26f83e14 --- /dev/null +++ b/packages/mermaid/src/rendering-util/rendering-elements/shapes/trapezoid.ts @@ -0,0 +1,96 @@ +import { log } from '$root/logger.js'; +import { labelHelper, updateNodeBounds } from './util.js'; +import intersect from '../intersect/index.js'; +import { getConfig } from '$root/diagram-api/diagramAPI.js'; +import type { Node } from '$root/rendering-util/types.d.ts'; +import { userNodeOverrides } from '$root/rendering-util/rendering-elements/shapes/handdrawnStyles.js'; +import rough from 'roughjs'; +import { insertPolygonShape } from './insertPolygonShape.js'; + +/** + * Creates an SVG path for a trapezoid shape. + * @param {number} x - The x coordinate of the top-left corner. + * @param {number} y - The y coordinate of the top-left corner. + * @param {number} width - The width of the shape. + * @param {number} height - The height of the shape. + * @returns {string} The path data for the trapezoid shape. + */ +export const createTrapezoidPathD = ( + x: number, + y: number, + width: number, + height: number +): string => { + return [ + `M${x - (2 * height) / 6},${y}`, + `L${x + width + (2 * height) / 6},${y}`, + `L${x + width - height / 6},${y - height}`, + `L${x + height / 6},${y - height}`, + 'Z', + ].join(' '); +}; + +export const trapezoid = async (parent: SVGAElement, node: Node): Promise => { + const { themeVariables, handdrawnSeed } = getConfig(); + const { nodeBorder, mainBkg } = themeVariables; + + const { shapeSvg, bbox, halfPadding } = await labelHelper( + parent, + node, + 'node ' + node.cssClasses, + true + ); + + const w = bbox.width + node.padding; + const h = bbox.height + node.padding; + const points = [ + { x: (-2 * h) / 6, y: 0 }, + { x: w + (2 * h) / 6, y: 0 }, + { x: w - h / 6, y: -h }, + { x: h / 6, y: -h }, + ]; + + let polygon: d3.Selection; + const { cssStyles, useRough } = node; + + if (useRough) { + console.log('Trapezoid: Inside use useRough'); + const rc = rough.svg(shapeSvg); + const options = userNodeOverrides(node, { + roughness: 0.7, + fill: mainBkg, + fillStyle: 'hachure', + fillWeight: 1.5, + //stroke: nodeBorder, + seed: handdrawnSeed, + //strokeWidth: 1, + }); + const pathData = createTrapezoidPathD(0, 0, w, h); + const roughNode = rc.path(pathData, options); + + polygon = shapeSvg + .insert(() => roughNode, ':first-child') + .attr('transform', `translate(${-w / 2}, ${h / 2})`); + + if (cssStyles) { + polygon.attr('style', cssStyles); + } + } else { + polygon = insertPolygonShape(shapeSvg, w, h, points); + } + + if (cssStyles) { + polygon.attr('style', cssStyles); + } + + node.width = w; + node.height = h; + + updateNodeBounds(node, polygon); + + node.intersect = function (point) { + return intersect.polygon(node, points, point); + }; + + return shapeSvg; +}; diff --git a/packages/mermaid/src/rendering-util/types.d.ts b/packages/mermaid/src/rendering-util/types.d.ts index 997d93d62b..4b8750725f 100644 --- a/packages/mermaid/src/rendering-util/types.d.ts +++ b/packages/mermaid/src/rendering-util/types.d.ts @@ -57,6 +57,10 @@ interface Node { borderStyle?: string; borderWidth?: number; labelTextColor?: string; + + // Flowchart specific properties + x?: number; + y?: number; } // Common properties for any edge in the system From b8dd4b9048b967d563e463f94dfc26f9dc76ee26 Mon Sep 17 00:00:00 2001 From: Knut Sveidqvist Date: Mon, 27 May 2024 17:42:07 +0200 Subject: [PATCH 455/789] #5237 Finishing the roughup of the nodes --- cypress/platform/flowchart-sate.html | 14 ++--- .../rendering-elements/shapes/circle.ts | 20 ++---- .../rendering-elements/shapes/cylinder.ts | 61 ++++++++++-------- .../rendering-elements/shapes/doubleCircle.ts | 20 ++---- .../rendering-elements/shapes/drawRect.ts | 62 +------------------ .../shapes/handdrawnStyles.ts | 23 ++++++- .../rendering-elements/shapes/hexagon.ts | 20 ++---- .../shapes/invertedTrapezoid.ts | 24 ++----- .../rendering-elements/shapes/leanLeft.ts | 25 ++------ .../rendering-elements/shapes/leanRight.ts | 25 ++------ .../rendering-elements/shapes/question.ts | 25 ++------ .../shapes/rectLeftInvArrow.ts | 25 ++------ .../rendering-elements/shapes/stadium.ts | 28 ++------- .../rendering-elements/shapes/subroutine.ts | 62 ++++++++----------- .../rendering-elements/shapes/trapezoid.ts | 24 ++----- .../rendering-elements/shapes/util.js | 3 + 16 files changed, 136 insertions(+), 325 deletions(-) diff --git a/cypress/platform/flowchart-sate.html b/cypress/platform/flowchart-sate.html index 83e46363a8..61c3c167d4 100644 --- a/cypress/platform/flowchart-sate.html +++ b/cypress/platform/flowchart-sate.html @@ -91,10 +91,8 @@ - - - - + + - + - +
    DagreDagre with roughELKELK with roughState roughFlowchart rough
    @@ -111,7 +109,7 @@
     %%{init: {"look": "handdrawn"} }%%
    -stateDiagram-v2 
    +stateDiagram-v2
         stateA
     
           
    @@ -120,14 +118,14 @@
     %%{init: {"look": "handdrawn"} }%%
     flowchart LR
    -    id1([This is the text in the box])
    +    id1[[This is the text in the box]]
     
     
           
    diff --git a/packages/mermaid/src/rendering-util/rendering-elements/shapes/circle.ts b/packages/mermaid/src/rendering-util/rendering-elements/shapes/circle.ts index 0574ab6cbd..48054cce3c 100644 --- a/packages/mermaid/src/rendering-util/rendering-elements/shapes/circle.ts +++ b/packages/mermaid/src/rendering-util/rendering-elements/shapes/circle.ts @@ -1,19 +1,15 @@ import { log } from '$root/logger.js'; -import { labelHelper, updateNodeBounds } from './util.js'; +import { labelHelper, updateNodeBounds, getNodeClasses } from './util.js'; import intersect from '../intersect/index.js'; -import { getConfig } from '$root/diagram-api/diagramAPI.js'; import type { Node } from '$root/rendering-util/types.d.ts'; import { userNodeOverrides } from '$root/rendering-util/rendering-elements/shapes/handdrawnStyles.js'; import rough from 'roughjs'; export const circle = async (parent: SVGAElement, node: Node): Promise => { - const { themeVariables, handdrawnSeed } = getConfig(); - const { nodeBorder, mainBkg } = themeVariables; - const { shapeSvg, bbox, halfPadding } = await labelHelper( parent, node, - 'node ' + node.cssClasses, + getNodeClasses(node), true ); @@ -22,17 +18,9 @@ export const circle = async (parent: SVGAElement, node: Node): Promise roughNode, ':first-child'); diff --git a/packages/mermaid/src/rendering-util/rendering-elements/shapes/cylinder.ts b/packages/mermaid/src/rendering-util/rendering-elements/shapes/cylinder.ts index cd12792c63..f8e8493826 100644 --- a/packages/mermaid/src/rendering-util/rendering-elements/shapes/cylinder.ts +++ b/packages/mermaid/src/rendering-util/rendering-elements/shapes/cylinder.ts @@ -1,7 +1,6 @@ import { log } from '$root/logger.js'; -import { labelHelper, updateNodeBounds } from './util.js'; +import { labelHelper, updateNodeBounds, getNodeClasses } from './util.js'; import intersect from '../intersect/index.js'; -import { getConfig } from '$root/diagram-api/diagramAPI.js'; import type { Node } from '$root/rendering-util/types.d.ts'; import { userNodeOverrides } from '$root/rendering-util/rendering-elements/shapes/handdrawnStyles.js'; import rough from 'roughjs'; @@ -33,17 +32,35 @@ export const createCylinderPathD = ( `l0,${-height}`, ].join(' '); }; - +export const createOuterCylinderPathD = ( + x: number, + y: number, + width: number, + height: number, + rx: number, + ry: number +): string => { + return [ + `M${x},${y + ry}`, + `M${x + width},${y + ry}`, + `a${rx},${ry} 0,0,0 ${-width},0`, + `l0,${height}`, + `a${rx},${ry} 0,0,0 ${width},0`, + `l0,${-height}`, + ].join(' '); +}; +export const createInnerCylinderPathD = ( + x: number, + y: number, + width: number, + height: number, + rx: number, + ry: number +): string => { + return [`M${x - width / 2},${-height / 2}`, `a${rx},${ry} 0,0,0 ${width},0`].join(' '); +}; export const cylinder = async (parent: SVGAElement, node: Node) => { - const { themeVariables, handdrawnSeed } = getConfig(); - const { nodeBorder, mainBkg } = themeVariables; - - const { shapeSvg, bbox, halfPadding } = await labelHelper( - parent, - node, - 'node ' + node.cssClasses, // + ' ' + node.class, - true - ); + const { shapeSvg, bbox } = await labelHelper(parent, node, getNodeClasses(node), true); const w = bbox.width + node.padding; const rx = w / 2; @@ -54,21 +71,15 @@ export const cylinder = async (parent: SVGAElement, node: Node) => { const { cssStyles, useRough } = node; if (useRough) { - console.log('Cylinder: Inside use useRough'); + // @ts-ignore const rc = rough.svg(shapeSvg); - const options = userNodeOverrides(node, { - roughness: 0.7, - fill: mainBkg, - fillStyle: 'hachure', - fillWeight: 1.5, - stroke: nodeBorder, - seed: handdrawnSeed, - strokeWidth: 1, - }); - const pathData = createCylinderPathD(0, 0, w, h, rx, ry); - const roughNode = rc.path(pathData, options); + const outerPathData = createOuterCylinderPathD(0, 0, w, h, rx, ry); + const innerPathData = createInnerCylinderPathD(0, ry, w, h, rx, ry); + const outerNode = rc.path(outerPathData, userNodeOverrides(node, {})); + const innerLine = rc.path(innerPathData, userNodeOverrides(node, { fill: 'none' })); - cylinder = shapeSvg.insert(() => roughNode, ':first-child'); + cylinder = shapeSvg.insert(() => innerLine, ':first-child'); + cylinder = shapeSvg.insert(() => outerNode, ':first-child'); cylinder.attr('class', 'basic label-container'); if (cssStyles) { cylinder.attr('style', cssStyles); diff --git a/packages/mermaid/src/rendering-util/rendering-elements/shapes/doubleCircle.ts b/packages/mermaid/src/rendering-util/rendering-elements/shapes/doubleCircle.ts index 49e4051c3d..b32420cc0b 100644 --- a/packages/mermaid/src/rendering-util/rendering-elements/shapes/doubleCircle.ts +++ b/packages/mermaid/src/rendering-util/rendering-elements/shapes/doubleCircle.ts @@ -1,5 +1,5 @@ import { log } from '$root/logger.js'; -import { labelHelper, updateNodeBounds } from './util.js'; +import { labelHelper, updateNodeBounds, getNodeClasses } from './util.js'; import intersect from '../intersect/index.js'; import { getConfig } from '$root/diagram-api/diagramAPI.js'; import type { Node } from '$root/rendering-util/types.d.ts'; @@ -8,8 +8,8 @@ import rough from 'roughjs'; //import d3 from 'd3'; export const doublecircle = async (parent: SVGAElement, node: Node): Promise => { - const { themeVariables, handdrawnSeed } = getConfig(); - const { nodeBorder, mainBkg } = themeVariables; + const { themeVariables } = getConfig(); + const { mainBkg } = themeVariables; const { shapeSvg, bbox, halfPadding } = await labelHelper( parent, @@ -25,17 +25,9 @@ export const doublecircle = async (parent: SVGAElement, node: Node): Promise, -// borders: string | undefined, -// totalWidth: number, -// totalHeight: number -// ) { -// if (!borders) { -// return; -// } -// const strokeDashArray: number[] = []; -// const addBorder = (length: number) => { -// strokeDashArray.push(length, 0); -// }; -// const skipBorder = (length: number) => { -// strokeDashArray.push(0, length); -// }; -// if (borders.includes('t')) { -// log.debug('add top border'); -// addBorder(totalWidth); -// } else { -// skipBorder(totalWidth); -// } -// if (borders.includes('r')) { -// log.debug('add right border'); -// addBorder(totalHeight); -// } else { -// skipBorder(totalHeight); -// } -// if (borders.includes('b')) { -// log.debug('add bottom border'); -// addBorder(totalWidth); -// } else { -// skipBorder(totalWidth); -// } -// if (borders.includes('l')) { -// log.debug('add left border'); -// addBorder(totalHeight); -// } else { -// skipBorder(totalHeight); -// } - -// rect.attr('stroke-dasharray', strokeDashArray.join(' ')); -// } - export const drawRect = async (parent: SVGAElement, node: Node, options: RectOptions) => { - const { themeVariables, handdrawnSeed } = getConfig(); - const { nodeBorder, mainBkg } = themeVariables; - const { shapeSvg, bbox, halfPadding } = await labelHelper( parent, node, - 'node ' + node.cssClasses, // + ' ' + node.class, + getNodeClasses(node), true ); @@ -79,15 +31,7 @@ export const drawRect = async (parent: SVGAElement, node: Node, options: RectOpt if (useRough) { // @ts-ignore TODO: Fix rough typings const rc = rough.svg(shapeSvg); - const options = userNodeOverrides(node, { - roughness: 0.7, - fill: mainBkg, - // fillStyle: 'solid', // solid fill' - fillStyle: 'hachure', // solid fill' - fillWeight: 3.5, - stroke: nodeBorder, - seed: handdrawnSeed, - }); + const options = userNodeOverrides(node, {}); console.log('rect options: ', options); const roughNode = diff --git a/packages/mermaid/src/rendering-util/rendering-elements/shapes/handdrawnStyles.ts b/packages/mermaid/src/rendering-util/rendering-elements/shapes/handdrawnStyles.ts index 462ce9f3d9..21e8f28356 100644 --- a/packages/mermaid/src/rendering-util/rendering-elements/shapes/handdrawnStyles.ts +++ b/packages/mermaid/src/rendering-util/rendering-elements/shapes/handdrawnStyles.ts @@ -18,8 +18,25 @@ export const solidStateFill = (color: string) => { // Striped fill like start or fork nodes in state diagrams // TODO remove any export const userNodeOverrides = (node: Node, options: any) => { - const result = Object.assign({}, options); - result.fill = node.backgroundColor || options.fill; - result.stroke = node.borderColor || options.stroke; + const { themeVariables, handdrawnSeed } = getConfig(); + const { nodeBorder, mainBkg } = themeVariables; + const result = Object.assign( + { + roughness: 0.7, + fill: mainBkg, + fillStyle: 'hachure', // solid fill + fillWeight: 3.5, + stroke: nodeBorder, + seed: handdrawnSeed, + strokeWidth: 1, + }, + options + ); + if (node.backgroundColor) { + result.fill = node.backgroundColor; + } + if (node.borderColor) { + result.stroke = node.borderColor; + } return result; }; diff --git a/packages/mermaid/src/rendering-util/rendering-elements/shapes/hexagon.ts b/packages/mermaid/src/rendering-util/rendering-elements/shapes/hexagon.ts index e9070d8d38..0678e6013d 100644 --- a/packages/mermaid/src/rendering-util/rendering-elements/shapes/hexagon.ts +++ b/packages/mermaid/src/rendering-util/rendering-elements/shapes/hexagon.ts @@ -1,7 +1,6 @@ import { log } from '$root/logger.js'; -import { labelHelper, updateNodeBounds } from './util.js'; +import { labelHelper, updateNodeBounds, getNodeClasses } from './util.js'; import intersect from '../intersect/index.js'; -import { getConfig } from '$root/diagram-api/diagramAPI.js'; import type { Node } from '$root/rendering-util/types.d.ts'; import { userNodeOverrides } from '$root/rendering-util/rendering-elements/shapes/handdrawnStyles.js'; import rough from 'roughjs'; @@ -36,13 +35,10 @@ export const createHexagonPathD = ( }; export const hexagon = async (parent: SVGAElement, node: Node): Promise => { - const { themeVariables, handdrawnSeed } = getConfig(); - const { nodeBorder, mainBkg } = themeVariables; - const { shapeSvg, bbox, halfPadding } = await labelHelper( parent, node, - 'node ' + node.cssClasses, + getNodeClasses(node), true ); @@ -63,17 +59,9 @@ export const hexagon = async (parent: SVGAElement, node: Node): Promise => { - const { themeVariables, handdrawnSeed } = getConfig(); - const { nodeBorder, mainBkg } = themeVariables; - - const { shapeSvg, bbox, halfPadding } = await labelHelper( - parent, - node, - 'node ' + node.cssClasses, - true - ); + const { shapeSvg, bbox } = await labelHelper(parent, node, getNodeClasses(node), true); const w = bbox.width + node.padding; const h = bbox.height + node.padding; @@ -54,17 +46,9 @@ export const inv_trapezoid = async (parent: SVGAElement, node: Node): Promise => { - const { themeVariables, handdrawnSeed } = getConfig(); - const { nodeBorder, mainBkg } = themeVariables; - - const { shapeSvg, bbox, halfPadding } = await labelHelper( - parent, - node, - 'node ' + node.cssClasses, - true - ); + const { shapeSvg, bbox } = await labelHelper(parent, node, getNodeClasses(node), true); const w = bbox.width + node.padding; const h = bbox.height + node.padding; @@ -54,17 +45,9 @@ export const lean_left = async (parent: SVGAElement, node: Node): Promise => { - const { themeVariables, handdrawnSeed } = getConfig(); - const { nodeBorder, mainBkg } = themeVariables; - - const { shapeSvg, bbox, halfPadding } = await labelHelper( - parent, - node, - 'node ' + node.cssClasses, - true - ); + const { shapeSvg, bbox } = await labelHelper(parent, node, getNodeClasses(node), true); const w = bbox.width + node.padding; const h = bbox.height + node.padding; @@ -54,17 +45,9 @@ export const lean_right = async (parent: SVGAElement, node: Node): Promise => { - const { themeVariables, handdrawnSeed } = getConfig(); - const { nodeBorder, mainBkg } = themeVariables; - - const { shapeSvg, bbox, halfPadding } = await labelHelper( - parent, - node, - 'node ' + node.cssClasses, - true - ); + const { shapeSvg, bbox } = await labelHelper(parent, node, getNodeClasses(node), true); const w = bbox.width + node.padding; const h = bbox.height + node.padding; @@ -50,17 +41,9 @@ export const question = async (parent: SVGAElement, node: Node): Promise => { - const { themeVariables, handdrawnSeed } = getConfig(); - const { nodeBorder, mainBkg } = themeVariables; - - const { shapeSvg, bbox, halfPadding } = await labelHelper( - parent, - node, - 'node ' + node.cssClasses, - true - ); + const { shapeSvg, bbox } = await labelHelper(parent, node, getNodeClasses(node), true); const w = bbox.width + node.padding; const h = bbox.height + node.padding; @@ -54,17 +45,9 @@ export const rect_left_inv_arrow = async ( const { cssStyles, useRough } = node; if (useRough) { - console.log('Polygon: Inside use useRough'); + // @ts-ignore const rc = rough.svg(shapeSvg); - const options = userNodeOverrides(node, { - roughness: 0.7, - fill: mainBkg, - fillStyle: 'hachure', - fillWeight: 1.5, - stroke: nodeBorder, - seed: handdrawnSeed, - strokeWidth: 1, - }); + const options = userNodeOverrides(node, {}); const pathData = createPolygonPathD(0, 0, w, h); const roughNode = rc.path(pathData, options); diff --git a/packages/mermaid/src/rendering-util/rendering-elements/shapes/stadium.ts b/packages/mermaid/src/rendering-util/rendering-elements/shapes/stadium.ts index 423f2392a7..102e490698 100644 --- a/packages/mermaid/src/rendering-util/rendering-elements/shapes/stadium.ts +++ b/packages/mermaid/src/rendering-util/rendering-elements/shapes/stadium.ts @@ -1,7 +1,6 @@ import { log } from '$root/logger.js'; -import { labelHelper, updateNodeBounds } from './util.js'; +import { labelHelper, updateNodeBounds, getNodeClasses } from './util.js'; import intersect from '../intersect/index.js'; -import { getConfig } from '$root/diagram-api/diagramAPI.js'; import type { Node } from '$root/rendering-util/types.d.ts'; import { userNodeOverrides } from '$root/rendering-util/rendering-elements/shapes/handdrawnStyles.js'; import rough from 'roughjs'; @@ -53,15 +52,7 @@ export const createStadiumPathD = ( }; export const stadium = async (parent: SVGAElement, node: Node) => { - const { themeVariables, handdrawnSeed } = getConfig(); - const { nodeBorder, mainBkg } = themeVariables; - - const { shapeSvg, bbox, halfPadding } = await labelHelper( - parent, - node, - 'node ' + node.cssClasses, // + ' ' + node.class, - true - ); + const { shapeSvg, bbox } = await labelHelper(parent, node, getNodeClasses(node), true); const h = bbox.height + node.padding; const w = bbox.width + h / 4 + node.padding; @@ -69,20 +60,11 @@ export const stadium = async (parent: SVGAElement, node: Node) => { let rect; const { cssStyles, useRough } = node; if (useRough) { - console.log('Stadium:Inside use useRough'); + // @ts-ignore const rc = rough.svg(shapeSvg); - const options = userNodeOverrides(node, { - roughness: 0.7, - fill: mainBkg, - fillStyle: 'hachure', // solid fill - fillWeight: 3.5, - stroke: nodeBorder, - seed: handdrawnSeed, - // strokeWidth: 1, - }); + const options = userNodeOverrides(node, {}); - console.log('Stadium options: ', options); - const pathData = createRoundedRectPathD(-w / 2, -h / 2, w, h, h / 3); + const pathData = createRoundedRectPathD(-w / 2, -h / 2, w, h, h / 2); const roughNode = rc.path(pathData, options); rect = shapeSvg.insert(() => roughNode, ':first-child'); diff --git a/packages/mermaid/src/rendering-util/rendering-elements/shapes/subroutine.ts b/packages/mermaid/src/rendering-util/rendering-elements/shapes/subroutine.ts index eacd53e276..4046cfcc99 100644 --- a/packages/mermaid/src/rendering-util/rendering-elements/shapes/subroutine.ts +++ b/packages/mermaid/src/rendering-util/rendering-elements/shapes/subroutine.ts @@ -1,7 +1,6 @@ import { log } from '$root/logger.js'; -import { labelHelper, updateNodeBounds } from './util.js'; +import { labelHelper, updateNodeBounds, getNodeClasses } from './util.js'; import intersect from '../intersect/index.js'; -import { getConfig } from '$root/diagram-api/diagramAPI.js'; import type { Node } from '$root/rendering-util/types.d.ts'; import { userNodeOverrides } from '$root/rendering-util/rendering-elements/shapes/handdrawnStyles.js'; import rough from 'roughjs'; @@ -34,39 +33,14 @@ export const createSubroutinePathD = ( }; export const subroutine = async (parent: SVGAElement, node: Node) => { - const { themeVariables, handdrawnSeed } = getConfig(); - const { nodeBorder, mainBkg } = themeVariables; - - const { shapeSvg, bbox, halfPadding } = await labelHelper( - parent, - node, - 'node ' + node.cssClasses, // + ' ' + node.class, - true - ); - + const { shapeSvg, bbox } = await labelHelper(parent, node, getNodeClasses(node), true); + const halfPadding = (node?.padding || 0) / 2; const w = bbox.width + node.padding; const h = bbox.height + node.padding; - + const x = -bbox.width / 2 - halfPadding; + const y = -bbox.height / 2 - halfPadding; let rect; const { cssStyles, useRough } = node; - if (useRough) { - const rc = rough.svg(shapeSvg); - const options = userNodeOverrides(node, { - roughness: 0.7, - fill: mainBkg, - fillStyle: 'hachure', - fillWeight: 1.5, - stroke: nodeBorder, - seed: handdrawnSeed, - strokeWidth: 1, - }); - const pathData = createSubroutinePathD(-w / 2, -h / 2, w, h); - const roughNode = rc.path(pathData, options); - - rect = shapeSvg.insert(() => roughNode, ':first-child'); - rect.attr('class', 'basic label-container').attr('style', cssStyles); - } - const points = [ { x: 0, y: 0 }, { x: w, y: 0 }, @@ -80,12 +54,28 @@ export const subroutine = async (parent: SVGAElement, node: Node) => { { x: -8, y: 0 }, ]; - const el = insertPolygonShape(shapeSvg, w, h, points); - if (cssStyles) { - el.attr('style', cssStyles); - } + if (useRough) { + // @ts-ignore + const rc = rough.svg(shapeSvg); + const options = userNodeOverrides(node, {}); + const pathData = createSubroutinePathD(-w / 2, -h / 2, w, h); - updateNodeBounds(node, el); + const roughNode = rc.rectangle(x - 8, y, w + 16, h, options); + const l1 = rc.line(x, y, x, y + h, options); + const l2 = rc.line(x + w, y, x + w, y + h, options); + + shapeSvg.insert(() => l1, ':first-child'); + shapeSvg.insert(() => l2, ':first-child'); + rect = shapeSvg.insert(() => roughNode, ':first-child'); + + rect.attr('class', 'basic label-container').attr('style', cssStyles); + } else { + const el = insertPolygonShape(shapeSvg, w, h, points); + if (cssStyles) { + el.attr('style', cssStyles); + } + updateNodeBounds(node, el); + } node.intersect = function (point) { return intersect.polygon(node, points, point); diff --git a/packages/mermaid/src/rendering-util/rendering-elements/shapes/trapezoid.ts b/packages/mermaid/src/rendering-util/rendering-elements/shapes/trapezoid.ts index 6a26f83e14..1a6a2d1c24 100644 --- a/packages/mermaid/src/rendering-util/rendering-elements/shapes/trapezoid.ts +++ b/packages/mermaid/src/rendering-util/rendering-elements/shapes/trapezoid.ts @@ -1,7 +1,6 @@ import { log } from '$root/logger.js'; -import { labelHelper, updateNodeBounds } from './util.js'; +import { labelHelper, updateNodeBounds, getNodeClasses } from './util.js'; import intersect from '../intersect/index.js'; -import { getConfig } from '$root/diagram-api/diagramAPI.js'; import type { Node } from '$root/rendering-util/types.d.ts'; import { userNodeOverrides } from '$root/rendering-util/rendering-elements/shapes/handdrawnStyles.js'; import rough from 'roughjs'; @@ -31,15 +30,7 @@ export const createTrapezoidPathD = ( }; export const trapezoid = async (parent: SVGAElement, node: Node): Promise => { - const { themeVariables, handdrawnSeed } = getConfig(); - const { nodeBorder, mainBkg } = themeVariables; - - const { shapeSvg, bbox, halfPadding } = await labelHelper( - parent, - node, - 'node ' + node.cssClasses, - true - ); + const { shapeSvg, bbox } = await labelHelper(parent, node, getNodeClasses(node), true); const w = bbox.width + node.padding; const h = bbox.height + node.padding; @@ -55,16 +46,9 @@ export const trapezoid = async (parent: SVGAElement, node: Node): Promise + (node.useRough ? 'rough-node' : 'node') + ' ' + node.cssClasses + ' ' + (extra || ''); From 8fb9b21f59814dfa90879e1ed3a17554b6e89e30 Mon Sep 17 00:00:00 2001 From: Knut Sveidqvist Date: Tue, 28 May 2024 08:50:16 +0200 Subject: [PATCH 456/789] #5237 Fix four double circle background --- .../rendering-elements/shapes/doubleCircle.ts | 11 ++++------- .../rendering-elements/shapes/handdrawnStyles.ts | 2 +- 2 files changed, 5 insertions(+), 8 deletions(-) diff --git a/packages/mermaid/src/rendering-util/rendering-elements/shapes/doubleCircle.ts b/packages/mermaid/src/rendering-util/rendering-elements/shapes/doubleCircle.ts index b32420cc0b..d3bda9c86b 100644 --- a/packages/mermaid/src/rendering-util/rendering-elements/shapes/doubleCircle.ts +++ b/packages/mermaid/src/rendering-util/rendering-elements/shapes/doubleCircle.ts @@ -1,20 +1,16 @@ import { log } from '$root/logger.js'; import { labelHelper, updateNodeBounds, getNodeClasses } from './util.js'; import intersect from '../intersect/index.js'; -import { getConfig } from '$root/diagram-api/diagramAPI.js'; import type { Node } from '$root/rendering-util/types.d.ts'; import { userNodeOverrides } from '$root/rendering-util/rendering-elements/shapes/handdrawnStyles.js'; import rough from 'roughjs'; //import d3 from 'd3'; export const doublecircle = async (parent: SVGAElement, node: Node): Promise => { - const { themeVariables } = getConfig(); - const { mainBkg } = themeVariables; - const { shapeSvg, bbox, halfPadding } = await labelHelper( parent, node, - 'node ' + node.cssClasses, + getNodeClasses(node), true ); const gap = 5; @@ -27,13 +23,14 @@ export const doublecircle = async (parent: SVGAElement, node: Node): Promise outerRoughNode, ':first-child'); circleGroup.attr('class', node.cssClasses).attr('style', cssStyles); circleGroup.node()?.appendChild(outerRoughNode); diff --git a/packages/mermaid/src/rendering-util/rendering-elements/shapes/handdrawnStyles.ts b/packages/mermaid/src/rendering-util/rendering-elements/shapes/handdrawnStyles.ts index 21e8f28356..45bc2e5bac 100644 --- a/packages/mermaid/src/rendering-util/rendering-elements/shapes/handdrawnStyles.ts +++ b/packages/mermaid/src/rendering-util/rendering-elements/shapes/handdrawnStyles.ts @@ -28,7 +28,7 @@ export const userNodeOverrides = (node: Node, options: any) => { fillWeight: 3.5, stroke: nodeBorder, seed: handdrawnSeed, - strokeWidth: 1, + strokeWidth: 1.3, }, options ); From 9855bdbaaadbff9ce1b27c77d74e4146e9eda82e Mon Sep 17 00:00:00 2001 From: Knut Sveidqvist Date: Tue, 28 May 2024 15:27:13 +0200 Subject: [PATCH 457/789] Fix for edge issue with small corners --- cypress/platform/knsv2.html | 113 +++++++----------- packages/mermaid-layout-elk/src/render.ts | 7 ++ .../rendering-elements/edges.js | 45 +++---- .../rendering-elements/shapes/drawRect.ts | 1 - 4 files changed, 75 insertions(+), 91 deletions(-) diff --git a/cypress/platform/knsv2.html b/cypress/platform/knsv2.html index 1c46866c53..52aa9bc6a3 100644 --- a/cypress/platform/knsv2.html +++ b/cypress/platform/knsv2.html @@ -80,52 +80,23 @@ init: { "theme":"base", "fontFamily": "Kalam", - "themeVariables": { - "background": "#FFFFFF", - "primaryColor": "#7bdfa7", - "primaryTextColor": "#3c3c3b", - "secondaryColor": "#642470", - "secondaryTextColor": "#3c3c3b", - "tertiaryColor": "#1c736D", - "tertiaryTextColor": "#3c3c3b", - "noteBkgColor": "#9fd8ef", - "loopTextColor": "#636362", - "labelBoxBkgColor": "#642470", - "labelBoxBorderColor": "#642470", - "labelTextColor": "#d4d4d4", - "signalTextColor": "#636362", - "signalColor": "#642470" - } - } -}%% -sequenceDiagram - Alice->>+John: Hello John, how are you? - Alice->>+John: John, can you hear me? - John-->>-Alice: Hi Alice, I can hear you! - John-->>-Alice: I feel great! -
    -
    -%%{
    -  init: {
    -    "theme":"base",
    -  "fontFamily": "Forth Bold",
    -  "themeVariables": {
    -    "background": "#FFFFFF",
    -    "primaryColor": "#7bdfa7",
    -    "primaryTextColor": "#3c3c3b",
    -    "secondaryColor": "#642470",
    -    "secondaryTextColor": "#3c3c3b",
    -    "tertiaryColor": "#1c736D",
    -    "tertiaryTextColor": "#3c3c3b",
    -    "noteBkgColor": "#9fd8ef",
    -    "loopTextColor": "#636362",
    -    "labelBoxBkgColor": "#642470",
    -    "labelBoxBorderColor": "#642470",
    -    "labelTextColor": "#d4d4d4",
    -    "signalTextColor": "#636362",
    -    "signalColor": "#642470"
    -  }
    +  "themeVariables":
    +    {
    +      "background": "#FFFFFF",
    +      "primaryColor": "#7bdfa7",
    +      "primaryTextColor": "#3c3c3b",
    +      "secondaryColor": "#642470",
    +      "secondaryTextColor": "#3c3c3b",
    +      "tertiaryColor": "#1c736D",
    +      "tertiaryTextColor": "#3c3c3b",
    +      "noteBkgColor": "#9fd8ef",
    +      "loopTextColor": "#636362",
    +      "labelBoxBkgColor": "#642470",
    +      "labelBoxBorderColor": "#642470",
    +      "labelTextColor": "#d4d4d4",
    +      "signalTextColor": "#636362",
    +      "signalColor": "#642470"
    +    }
       }
     }%%
     sequenceDiagram
    @@ -137,29 +108,35 @@
         >
     
         
    -      %%{init: {"layout": "elk", "mergeEdges": true} }%%
    +      %%{init: {"layout": "dagre", "mergeEdges": true} }%%
     stateDiagram
    -      A --> B
    +      A: This is A
           
    -
    -      %%{init: {"layout": "elk", "mergeEdges": true} }%%
    +    
    +      %%{init: {"layout": "dagre", "mergeEdges": true} }%%
     flowchart
           A --> B(This is B)
           
    -      %%{init: {"layout": "elk", "mergeEdges": false, "elk.nodePlacement.strategy": "NETWORK_SIMPLEX"} }%%
    -stateDiagram
    -  State T0 {
    -    direction LR
    -    A --> B
    -  }
    -  State T1 {
    -    [*] --> NumLockOff
    -    NumLockOff --> NumLockOn : EvNumLockPressed
    -    NumLockOn --> NumLockOff : EvNumLockPressed
    -  }
    +      %%{init: {"layout": "elk", "mergeEdges": false, "elk.nodePlacement.strategy": "SIMPLE"} }%%
    +      stateDiagram
    +    state if_state <<choice>>
    +    [*] --> IsPositive
    +    IsPositive --> if_state
    +    if_state --> False: if n < 0
    +    if_state --> True : if n >= 0
    +      
    +
    +      %%{init: {"layout": "elk", "mergeEdges": false, "elk.nodePlacement.strategy": "SIMPLE"} }%%
    +      stateDiagram
    +    state if_state <<choice>>
    +    [*] --> IsPositive
    +    IsPositive --> if_state
    +    if_state --> False: if n < 0
    +    if_state --> True : if n >= 0
           
    @@ -250,16 +227,16 @@
             console.error('Mermaid error: ', err);
           };
           mermaid.initialize({
    -        theme: 'base',
    +        // theme: 'base',
             handdrawnSeed: 12,
             look: 'handdrawn',
    -        'elk.nodePlacement.strategy': 'NETWORK_SIMPLEX',
    +
             // layout: 'dagre',
    -        layout: 'elk',
    +        // layout: 'elk',
             flowchart: { titleTopMargin: 10 },
             // fontFamily: 'Caveat',
    -        // fontFamily: 'Kalam',
    -        fontFamily: 'courier',
    +        fontFamily: 'Kalam',
    +        // fontFamily: 'courier',
             sequence: {
               actorFontFamily: 'courier',
               noteFontFamily: 'courier',
    @@ -275,10 +252,6 @@
             console.error('In parse error:');
             console.error(err);
           };
    -      // mermaid.test1('first_slow', 1200).then((r) => console.info(r));
    -      // mermaid.test1('second_fast', 200).then((r) => console.info(r));
    -      // mermaid.test1('third_fast', 200).then((r) => console.info(r));
    -      // mermaid.test1('forth_slow', 1200).then((r) => console.info(r));
         
       
     
    diff --git a/packages/mermaid-layout-elk/src/render.ts b/packages/mermaid-layout-elk/src/render.ts
    index a72d3369e4..9e7fc3941c 100644
    --- a/packages/mermaid-layout-elk/src/render.ts
    +++ b/packages/mermaid-layout-elk/src/render.ts
    @@ -468,6 +468,13 @@ export const render = async (data4Layout, svg, element, algorithm) => {
           'elk.layered.mergeEdges': data4Layout.config.mergeEdges,
           'elk.direction': 'DOWN',
           'spacing.baseValue': 30,
    +      'spacing.nodeNode': 40,
    +      'spacing.nodeNodeBetweenLayers': 45,
    +      // 'spacing.edgeNode': 40,
    +      // 'spacing.edgeNodeBetweenLayers': 30,
    +      // 'spacing.edgeEdge': 30,
    +      // 'spacing.edgeEdgeBetweenLayers': 40,
    +      // 'spacing.nodeSelfLoop': 50,
         },
         children: [],
         edges: [],
    diff --git a/packages/mermaid/src/rendering-util/rendering-elements/edges.js b/packages/mermaid/src/rendering-util/rendering-elements/edges.js
    index ad1573596d..1450f5bab9 100644
    --- a/packages/mermaid/src/rendering-util/rendering-elements/edges.js
    +++ b/packages/mermaid/src/rendering-util/rendering-elements/edges.js
    @@ -436,34 +436,38 @@ const fixCorners = function (lineData) {
           // Find a new point on the line point 5 points back and push it to the new array
           const newPrevPoint = findAdjacentPoint(prevPoint, cornerPoint, 5);
           const newNextPoint = findAdjacentPoint(nextPoint, cornerPoint, 5);
    -      newLineData.push(newPrevPoint);
     
           const xDiff = newNextPoint.x - newPrevPoint.x;
           const yDiff = newNextPoint.y - newPrevPoint.y;
    +      newLineData.push(newPrevPoint);
     
           const a = Math.sqrt(2) * 2;
           let newCornerPoint = { x: cornerPoint.x, y: cornerPoint.y };
    -      if (cornerPoint.x === newPrevPoint.x) {
    -        // if (yDiff > 0) {
    -        newCornerPoint = {
    -          x: xDiff < 0 ? newPrevPoint.x - 5 + a : newPrevPoint.x + 5 - a,
    -          y: yDiff < 0 ? newPrevPoint.y - a : newPrevPoint.y + a,
    -        };
    -        // } else {
    -        //   newCornerPoint = { x: newPrevPoint.x - a, y: newPrevPoint.y + a };
    -        // }
    +      if (Math.abs(nextPoint.x - prevPoint.x) > 10 && Math.abs(nextPoint.y - prevPoint.y) >= 10) {
    +        console.log(
    +          'Corner point fixing',
    +          Math.abs(nextPoint.x - prevPoint.x),
    +          Math.abs(nextPoint.y - prevPoint.y)
    +        );
    +        const r = 5;
    +        if (cornerPoint.x === newPrevPoint.x) {
    +          newCornerPoint = {
    +            x: xDiff < 0 ? newPrevPoint.x - r + a : newPrevPoint.x + r - a,
    +            y: yDiff < 0 ? newPrevPoint.y - a : newPrevPoint.y + a,
    +          };
    +        } else {
    +          newCornerPoint = {
    +            x: xDiff < 0 ? newPrevPoint.x - a : newPrevPoint.x + a,
    +            y: yDiff < 0 ? newPrevPoint.y - r + a : newPrevPoint.y + r - a,
    +          };
    +        }
           } else {
    -        // if (yDiff > 0) {
    -        //   newCornerPoint = { x: newPrevPoint.x - 5 + a, y: newPrevPoint.y + a };
    -        // } else {
    -        newCornerPoint = {
    -          x: xDiff < 0 ? newPrevPoint.x - a : newPrevPoint.x + a,
    -          y: yDiff < 0 ? newPrevPoint.y - 5 + a : newPrevPoint.y + 5 - a,
    -        };
    -        // }
    +        console.log(
    +          'Corner point skipping fixing',
    +          Math.abs(nextPoint.x - prevPoint.x),
    +          Math.abs(nextPoint.y - prevPoint.y)
    +        );
           }
    -
    -      // newLineData.push(cornerPoint);
           newLineData.push(newCornerPoint, newNextPoint);
         } else {
           newLineData.push(lineData[i]);
    @@ -632,6 +636,7 @@ export const insertEdge = function (elem, edge, clusterDb, diagramType, graph, i
       //     .attr('cx', point.x)
       //     .attr('cy', point.y);
       // });
    +
       // lineData.forEach((point) => {
       //   elem
       //     .append('circle')
    diff --git a/packages/mermaid/src/rendering-util/rendering-elements/shapes/drawRect.ts b/packages/mermaid/src/rendering-util/rendering-elements/shapes/drawRect.ts
    index e8355e1a88..db47746f8f 100644
    --- a/packages/mermaid/src/rendering-util/rendering-elements/shapes/drawRect.ts
    +++ b/packages/mermaid/src/rendering-util/rendering-elements/shapes/drawRect.ts
    @@ -33,7 +33,6 @@ export const drawRect = async (parent: SVGAElement, node: Node, options: RectOpt
         const rc = rough.svg(shapeSvg);
         const options = userNodeOverrides(node, {});
     
    -    console.log('rect options: ', options);
         const roughNode =
           rx || ry
             ? rc.path(createRoundedRectPathD(x, y, totalWidth, totalHeight, rx || 0), options)
    
    From 4266b2e4ca84a00f66b381fbdb62e6a6859dfb20 Mon Sep 17 00:00:00 2001
    From: Knut Sveidqvist 
    Date: Fri, 31 May 2024 11:27:12 +0200
    Subject: [PATCH 458/789] #5237 Bugfixes
    
    ---
     .../mermaid/src/diagrams/state/dataFetcher.js | 35 ++++++++++++---
     .../mermaid/src/diagrams/state/stateDb.js     |  4 +-
     .../rendering-elements/edges.js               | 45 +++++++++----------
     .../rendering-elements/nodes.js               |  4 +-
     .../rendering-elements/shapes/roundedRect.ts  |  1 -
     5 files changed, 52 insertions(+), 37 deletions(-)
    
    diff --git a/packages/mermaid/src/diagrams/state/dataFetcher.js b/packages/mermaid/src/diagrams/state/dataFetcher.js
    index d69c64d7a5..b8302cc225 100644
    --- a/packages/mermaid/src/diagrams/state/dataFetcher.js
    +++ b/packages/mermaid/src/diagrams/state/dataFetcher.js
    @@ -54,16 +54,16 @@ export function stateDomId(itemId = '', counter = 0, type = '', typeSpacer = DOM
       return `${DOMID_STATE}-${itemId}${typeStr}-${counter}`;
     }
     
    -const setupDoc = (parentParsedItem, doc, diagramStates, nodes, edges, altFlag, useRough) => {
    +const setupDoc = (parentParsedItem, doc, diagramStates, nodes, edges, altFlag, useRough, look) => {
       // graphItemCount = 0;
       log.trace('items', doc);
       doc.forEach((item) => {
         switch (item.stmt) {
           case STMT_STATE:
    -        dataFetcher(parentParsedItem, item, diagramStates, nodes, edges, altFlag, useRough);
    +        dataFetcher(parentParsedItem, item, diagramStates, nodes, edges, altFlag, useRough, look);
             break;
           case DEFAULT_STATE_TYPE:
    -        dataFetcher(parentParsedItem, item, diagramStates, nodes, edges, altFlag, useRough);
    +        dataFetcher(parentParsedItem, item, diagramStates, nodes, edges, altFlag, useRough, look);
             break;
           case STMT_RELATION:
             {
    @@ -74,7 +74,8 @@ const setupDoc = (parentParsedItem, doc, diagramStates, nodes, edges, altFlag, u
                 nodes,
                 edges,
                 altFlag,
    -            useRough
    +            useRough,
    +            look
               );
               dataFetcher(
                 parentParsedItem,
    @@ -83,7 +84,8 @@ const setupDoc = (parentParsedItem, doc, diagramStates, nodes, edges, altFlag, u
                 nodes,
                 edges,
                 altFlag,
    -            useRough
    +            useRough,
    +            look
               );
               const edgeData = {
                 id: 'edge' + graphItemCount,
    @@ -100,6 +102,7 @@ const setupDoc = (parentParsedItem, doc, diagramStates, nodes, edges, altFlag, u
                 thickness: G_EDGE_THICKNESS,
                 classes: CSS_EDGE,
                 useRough,
    +            look,
               };
               edges.push(edgeData);
               //g.setEdge(item.state1.id, item.state2.id, edgeData, graphItemCount);
    @@ -210,7 +213,16 @@ function getClassesFromDbInfo(dbInfoItem) {
         }
       }
     }
    -export const dataFetcher = (parent, parsedItem, diagramStates, nodes, edges, altFlag, useRough) => {
    +export const dataFetcher = (
    +  parent,
    +  parsedItem,
    +  diagramStates,
    +  nodes,
    +  edges,
    +  altFlag,
    +  useRough,
    +  look
    +) => {
       const itemId = parsedItem.id;
       const classStr = getClassesFromDbInfo(diagramStates[itemId]);
     
    @@ -301,6 +313,7 @@ export const dataFetcher = (parent, parsedItem, diagramStates, nodes, edges, alt
           rx: 10,
           ry: 10,
           useRough,
    +      look,
         };
     
         // Clear the label for dividers who have no description
    @@ -330,6 +343,7 @@ export const dataFetcher = (parent, parsedItem, diagramStates, nodes, edges, alt
             isGroup: newNode.type === 'group',
             padding: 0, //getConfig().flowchart.padding
             useRough,
    +        look,
           };
           const groupData = {
             labelStyle: '',
    @@ -343,6 +357,7 @@ export const dataFetcher = (parent, parsedItem, diagramStates, nodes, edges, alt
             isGroup: true,
             padding: 16, //getConfig().flowchart.padding
             useRough,
    +        look,
           };
           graphItemCount++;
     
    @@ -382,6 +397,7 @@ export const dataFetcher = (parent, parsedItem, diagramStates, nodes, edges, alt
             labelType: G_EDGE_LABELTYPE,
             thickness: G_EDGE_THICKNESS,
             useRough,
    +        look,
           });
         } else {
           insertOrUpdateNode(nodes, nodeData);
    @@ -389,6 +405,11 @@ export const dataFetcher = (parent, parsedItem, diagramStates, nodes, edges, alt
       }
       if (parsedItem.doc) {
         log.trace('Adding nodes children ');
    -    setupDoc(parsedItem, parsedItem.doc, diagramStates, nodes, edges, !altFlag, useRough);
    +    setupDoc(parsedItem, parsedItem.doc, diagramStates, nodes, edges, !altFlag, useRough, look);
       }
     };
    +
    +export const reset = () => {
    +  nodeDb = {};
    +  graphItemCount = 0;
    +};
    diff --git a/packages/mermaid/src/diagrams/state/stateDb.js b/packages/mermaid/src/diagrams/state/stateDb.js
    index 7193820c07..c4d24f002a 100644
    --- a/packages/mermaid/src/diagrams/state/stateDb.js
    +++ b/packages/mermaid/src/diagrams/state/stateDb.js
    @@ -11,7 +11,7 @@ import {
       setDiagramTitle,
       getDiagramTitle,
     } from '../common/commonDb.js';
    -import { dataFetcher } from './dataFetcher.js';
    +import { dataFetcher, reset as resetDataFetching } from './dataFetcher.js';
     
     import {
       DEFAULT_DIAGRAM_DIRECTION,
    @@ -583,6 +583,8 @@ export const getData = () => {
       const diagramStates = getStates();
       const config = getConfig();
       const useRough = config.look === 'handdrawn';
    +  const look = config.look;
    +  resetDataFetching();
       dataFetcher(undefined, getRootDocV2(), diagramStates, nodes, edges, true, useRough);
     
       console.log('State Nodes XDX:', nodes);
    diff --git a/packages/mermaid/src/rendering-util/rendering-elements/edges.js b/packages/mermaid/src/rendering-util/rendering-elements/edges.js
    index 1450f5bab9..90ba9ff718 100644
    --- a/packages/mermaid/src/rendering-util/rendering-elements/edges.js
    +++ b/packages/mermaid/src/rendering-util/rendering-elements/edges.js
    @@ -436,38 +436,34 @@ const fixCorners = function (lineData) {
           // Find a new point on the line point 5 points back and push it to the new array
           const newPrevPoint = findAdjacentPoint(prevPoint, cornerPoint, 5);
           const newNextPoint = findAdjacentPoint(nextPoint, cornerPoint, 5);
    +      newLineData.push(newPrevPoint);
     
           const xDiff = newNextPoint.x - newPrevPoint.x;
           const yDiff = newNextPoint.y - newPrevPoint.y;
    -      newLineData.push(newPrevPoint);
     
           const a = Math.sqrt(2) * 2;
           let newCornerPoint = { x: cornerPoint.x, y: cornerPoint.y };
    -      if (Math.abs(nextPoint.x - prevPoint.x) > 10 && Math.abs(nextPoint.y - prevPoint.y) >= 10) {
    -        console.log(
    -          'Corner point fixing',
    -          Math.abs(nextPoint.x - prevPoint.x),
    -          Math.abs(nextPoint.y - prevPoint.y)
    -        );
    -        const r = 5;
    -        if (cornerPoint.x === newPrevPoint.x) {
    -          newCornerPoint = {
    -            x: xDiff < 0 ? newPrevPoint.x - r + a : newPrevPoint.x + r - a,
    -            y: yDiff < 0 ? newPrevPoint.y - a : newPrevPoint.y + a,
    -          };
    -        } else {
    -          newCornerPoint = {
    -            x: xDiff < 0 ? newPrevPoint.x - a : newPrevPoint.x + a,
    -            y: yDiff < 0 ? newPrevPoint.y - r + a : newPrevPoint.y + r - a,
    -          };
    -        }
    +      if (cornerPoint.x === newPrevPoint.x) {
    +        // if (yDiff > 0) {
    +        newCornerPoint = {
    +          x: xDiff < 0 ? newPrevPoint.x - 5 + a : newPrevPoint.x + 5 - a,
    +          y: yDiff < 0 ? newPrevPoint.y - a : newPrevPoint.y + a,
    +        };
    +        // } else {
    +        //   newCornerPoint = { x: newPrevPoint.x - a, y: newPrevPoint.y + a };
    +        // }
           } else {
    -        console.log(
    -          'Corner point skipping fixing',
    -          Math.abs(nextPoint.x - prevPoint.x),
    -          Math.abs(nextPoint.y - prevPoint.y)
    -        );
    +        // if (yDiff > 0) {
    +        //   newCornerPoint = { x: newPrevPoint.x - 5 + a, y: newPrevPoint.y + a };
    +        // } else {
    +        newCornerPoint = {
    +          x: xDiff < 0 ? newPrevPoint.x - a : newPrevPoint.x + a,
    +          y: yDiff < 0 ? newPrevPoint.y - 5 + a : newPrevPoint.y + 5 - a,
    +        };
    +        // }
           }
    +
    +      // newLineData.push(cornerPoint);
           newLineData.push(newCornerPoint, newNextPoint);
         } else {
           newLineData.push(lineData[i]);
    @@ -475,7 +471,6 @@ const fixCorners = function (lineData) {
       }
       return newLineData;
     };
    -
     /**
      * Given a line, this function will return a new line where the corners are rounded.
      * @param lineData
    diff --git a/packages/mermaid/src/rendering-util/rendering-elements/nodes.js b/packages/mermaid/src/rendering-util/rendering-elements/nodes.js
    index d03fd257ac..6dcec7266b 100644
    --- a/packages/mermaid/src/rendering-util/rendering-elements/nodes.js
    +++ b/packages/mermaid/src/rendering-util/rendering-elements/nodes.js
    @@ -36,6 +36,7 @@ const shapes = {
       choice,
       note,
       roundedRect,
    +  rectWithTitle: roundedRect,
       squareRect,
       stadium,
       subroutine,
    @@ -57,9 +58,6 @@ export const insertNode = async (elem, node, dir) => {
       let newEl;
       let el;
     
    -  if (node) {
    -    console.log('BLA: rect node', JSON.stringify(node));
    -  }
       //special check for rect shape (with or without rounded corners)
       if (node.shape === 'rect') {
         if (node.rx && node.ry) {
    diff --git a/packages/mermaid/src/rendering-util/rendering-elements/shapes/roundedRect.ts b/packages/mermaid/src/rendering-util/rendering-elements/shapes/roundedRect.ts
    index aa254c0009..6361161321 100644
    --- a/packages/mermaid/src/rendering-util/rendering-elements/shapes/roundedRect.ts
    +++ b/packages/mermaid/src/rendering-util/rendering-elements/shapes/roundedRect.ts
    @@ -8,6 +8,5 @@ export const roundedRect = async (parent: SVGAElement, node: Node) => {
         classes: '',
       } as RectOptions;
     
    -  console.log('roundedRect XDX');
       return drawRect(parent, node, options);
     };
    
    From 2c9c3b457126915e9e18c7866e33ab6fb5e123ec Mon Sep 17 00:00:00 2001
    From: Knut Sveidqvist 
    Date: Fri, 31 May 2024 11:55:26 +0200
    Subject: [PATCH 459/789] #5237 Elk curve fix
    
    ---
     packages/mermaid-layout-elk/src/render.ts     |  4 +-
     .../rendering-elements/edges.js               | 44 ++++++++++---------
     2 files changed, 26 insertions(+), 22 deletions(-)
    
    diff --git a/packages/mermaid-layout-elk/src/render.ts b/packages/mermaid-layout-elk/src/render.ts
    index 9e7fc3941c..61221298cf 100644
    --- a/packages/mermaid-layout-elk/src/render.ts
    +++ b/packages/mermaid-layout-elk/src/render.ts
    @@ -468,8 +468,8 @@ export const render = async (data4Layout, svg, element, algorithm) => {
           'elk.layered.mergeEdges': data4Layout.config.mergeEdges,
           'elk.direction': 'DOWN',
           'spacing.baseValue': 30,
    -      'spacing.nodeNode': 40,
    -      'spacing.nodeNodeBetweenLayers': 45,
    +      // 'spacing.nodeNode': 40,
    +      // 'spacing.nodeNodeBetweenLayers': 45,
           // 'spacing.edgeNode': 40,
           // 'spacing.edgeNodeBetweenLayers': 30,
           // 'spacing.edgeEdge': 30,
    diff --git a/packages/mermaid/src/rendering-util/rendering-elements/edges.js b/packages/mermaid/src/rendering-util/rendering-elements/edges.js
    index 90ba9ff718..1406c23706 100644
    --- a/packages/mermaid/src/rendering-util/rendering-elements/edges.js
    +++ b/packages/mermaid/src/rendering-util/rendering-elements/edges.js
    @@ -436,34 +436,38 @@ const fixCorners = function (lineData) {
           // Find a new point on the line point 5 points back and push it to the new array
           const newPrevPoint = findAdjacentPoint(prevPoint, cornerPoint, 5);
           const newNextPoint = findAdjacentPoint(nextPoint, cornerPoint, 5);
    -      newLineData.push(newPrevPoint);
     
           const xDiff = newNextPoint.x - newPrevPoint.x;
           const yDiff = newNextPoint.y - newPrevPoint.y;
    +      newLineData.push(newPrevPoint);
     
           const a = Math.sqrt(2) * 2;
           let newCornerPoint = { x: cornerPoint.x, y: cornerPoint.y };
    -      if (cornerPoint.x === newPrevPoint.x) {
    -        // if (yDiff > 0) {
    -        newCornerPoint = {
    -          x: xDiff < 0 ? newPrevPoint.x - 5 + a : newPrevPoint.x + 5 - a,
    -          y: yDiff < 0 ? newPrevPoint.y - a : newPrevPoint.y + a,
    -        };
    -        // } else {
    -        //   newCornerPoint = { x: newPrevPoint.x - a, y: newPrevPoint.y + a };
    -        // }
    +      if (Math.abs(nextPoint.x - prevPoint.x) > 10 && Math.abs(nextPoint.y - prevPoint.y) >= 10) {
    +        console.log(
    +          'Corner point fixing',
    +          Math.abs(nextPoint.x - prevPoint.x),
    +          Math.abs(nextPoint.y - prevPoint.y)
    +        );
    +        const r = 3;
    +        if (cornerPoint.x === newPrevPoint.x) {
    +          newCornerPoint = {
    +            x: xDiff < 0 ? newPrevPoint.x - r + a : newPrevPoint.x + r - a,
    +            y: yDiff < 0 ? newPrevPoint.y - a : newPrevPoint.y + a,
    +          };
    +        } else {
    +          newCornerPoint = {
    +            x: xDiff < 0 ? newPrevPoint.x - a : newPrevPoint.x + a,
    +            y: yDiff < 0 ? newPrevPoint.y - r + a : newPrevPoint.y + r - a,
    +          };
    +        }
           } else {
    -        // if (yDiff > 0) {
    -        //   newCornerPoint = { x: newPrevPoint.x - 5 + a, y: newPrevPoint.y + a };
    -        // } else {
    -        newCornerPoint = {
    -          x: xDiff < 0 ? newPrevPoint.x - a : newPrevPoint.x + a,
    -          y: yDiff < 0 ? newPrevPoint.y - 5 + a : newPrevPoint.y + 5 - a,
    -        };
    -        // }
    +        console.log(
    +          'Corner point skipping fixing',
    +          Math.abs(nextPoint.x - prevPoint.x),
    +          Math.abs(nextPoint.y - prevPoint.y)
    +        );
           }
    -
    -      // newLineData.push(cornerPoint);
           newLineData.push(newCornerPoint, newNextPoint);
         } else {
           newLineData.push(lineData[i]);
    
    From cca1c417497ecf87212bffeb2ae8b6b628123ae3 Mon Sep 17 00:00:00 2001
    From: Knut Sveidqvist 
    Date: Fri, 31 May 2024 12:04:38 +0200
    Subject: [PATCH 460/789] #5237 Adding look to data4Layout generation and
     radius fix
    
    ---
     packages/mermaid/src/diagrams/state/stateDb.js                  | 2 +-
     packages/mermaid/src/rendering-util/rendering-elements/edges.js | 2 +-
     2 files changed, 2 insertions(+), 2 deletions(-)
    
    diff --git a/packages/mermaid/src/diagrams/state/stateDb.js b/packages/mermaid/src/diagrams/state/stateDb.js
    index c4d24f002a..b01f608ea5 100644
    --- a/packages/mermaid/src/diagrams/state/stateDb.js
    +++ b/packages/mermaid/src/diagrams/state/stateDb.js
    @@ -585,7 +585,7 @@ export const getData = () => {
       const useRough = config.look === 'handdrawn';
       const look = config.look;
       resetDataFetching();
    -  dataFetcher(undefined, getRootDocV2(), diagramStates, nodes, edges, true, useRough);
    +  dataFetcher(undefined, getRootDocV2(), diagramStates, nodes, edges, true, useRough, look);
     
       console.log('State Nodes XDX:', nodes);
       return { nodes, edges, other: {}, config };
    diff --git a/packages/mermaid/src/rendering-util/rendering-elements/edges.js b/packages/mermaid/src/rendering-util/rendering-elements/edges.js
    index 1406c23706..8c07173a84 100644
    --- a/packages/mermaid/src/rendering-util/rendering-elements/edges.js
    +++ b/packages/mermaid/src/rendering-util/rendering-elements/edges.js
    @@ -449,7 +449,7 @@ const fixCorners = function (lineData) {
               Math.abs(nextPoint.x - prevPoint.x),
               Math.abs(nextPoint.y - prevPoint.y)
             );
    -        const r = 3;
    +        const r = 5;
             if (cornerPoint.x === newPrevPoint.x) {
               newCornerPoint = {
                 x: xDiff < 0 ? newPrevPoint.x - r + a : newPrevPoint.x + r - a,
    
    From 46fe7313790e353df484aed7859ae56151ac158c Mon Sep 17 00:00:00 2001
    From: OG-NI 
    Date: Sat, 1 Jun 2024 21:48:34 +0200
    Subject: [PATCH 461/789] fixed incorrect spacing, added e2e-test
    
    ---
     cypress/integration/rendering/xyChart.spec.js      | 12 ++++++++++++
     packages/mermaid/src/diagrams/xychart/xychartDb.ts |  2 +-
     2 files changed, 13 insertions(+), 1 deletion(-)
    
    diff --git a/cypress/integration/rendering/xyChart.spec.js b/cypress/integration/rendering/xyChart.spec.js
    index 85d998c50b..49e435ba2d 100644
    --- a/cypress/integration/rendering/xyChart.spec.js
    +++ b/cypress/integration/rendering/xyChart.spec.js
    @@ -319,4 +319,16 @@ describe('XY Chart', () => {
         );
         cy.get('svg');
       });
    +  it('should use the correct distances between data points', () => {
    +    imgSnapshotTest(
    +      `
    +      xychart-beta
    +        x-axis 0 --> 2
    +        line [0, 1, 0, 1]
    +        bar [1, 0, 1, 0]
    +      `,
    +      {}
    +    );
    +    cy.get('svg');
    +  });
     });
    diff --git a/packages/mermaid/src/diagrams/xychart/xychartDb.ts b/packages/mermaid/src/diagrams/xychart/xychartDb.ts
    index 637477f28b..23b90724cd 100644
    --- a/packages/mermaid/src/diagrams/xychart/xychartDb.ts
    +++ b/packages/mermaid/src/diagrams/xychart/xychartDb.ts
    @@ -143,7 +143,7 @@ function transformDataWithoutCategory(data: number[]): SimplePlotDataType {
       if (isLinearAxisData(xyChartData.xAxis)) {
         const min = xyChartData.xAxis.min;
         const max = xyChartData.xAxis.max;
    -    const step = (max - min + 1) / data.length;
    +    const step = (max - min) / (data.length - 1);
         const categories: string[] = [];
         for (let i = min; i <= max; i += step) {
           categories.push(`${i}`);
    
    From 01297fa042c25cad585a9bf681af34ba4f8fcb22 Mon Sep 17 00:00:00 2001
    From: Ashish Jain 
    Date: Mon, 3 Jun 2024 14:16:35 +0200
    Subject: [PATCH 462/789] 5237 Adjust classDef and note position data
    
    ---
     .../mermaid/src/diagrams/state/dataFetcher.js | 20 ++++++++++++++++---
     .../mermaid/src/diagrams/state/stateDb.js     |  2 --
     2 files changed, 17 insertions(+), 5 deletions(-)
    
    diff --git a/packages/mermaid/src/diagrams/state/dataFetcher.js b/packages/mermaid/src/diagrams/state/dataFetcher.js
    index b8302cc225..342b76125d 100644
    --- a/packages/mermaid/src/diagrams/state/dataFetcher.js
    +++ b/packages/mermaid/src/diagrams/state/dataFetcher.js
    @@ -206,8 +206,20 @@ function getClassesFromDbInfo(dbInfoItem) {
       if (dbInfoItem === undefined || dbInfoItem === null) {
         return '';
       } else {
    -    if (dbInfoItem.cssClasses) {
    -      return dbInfoItem.cssClasses.join(' ');
    +    if (dbInfoItem.classes) {
    +      let classStr = '';
    +      // for each class in classes, add it to the string as comma separated
    +      for (let i = 0; i < dbInfoItem.classes.length; i++) {
    +        //do not add comma for the last class
    +        if (i === dbInfoItem.classes.length - 1) {
    +          classStr += dbInfoItem.classes[i];
    +        }
    +        //add comma for all other classes
    +        else {
    +          classStr += dbInfoItem.classes[i] + ',';
    +        }
    +      }
    +      return classStr;
         } else {
           return '';
         }
    @@ -224,7 +236,7 @@ export const dataFetcher = (
       look
     ) => {
       const itemId = parsedItem.id;
    -  const classStr = getClassesFromDbInfo(diagramStates[itemId]);
    +  const classStr = getClassesFromDbInfo(diagramStates.get(itemId));
     
       if (itemId !== 'root') {
         let shape = SHAPE_STATE;
    @@ -344,6 +356,7 @@ export const dataFetcher = (
             padding: 0, //getConfig().flowchart.padding
             useRough,
             look,
    +        position: parsedItem.note.position,
           };
           const groupData = {
             labelStyle: '',
    @@ -358,6 +371,7 @@ export const dataFetcher = (
             padding: 16, //getConfig().flowchart.padding
             useRough,
             look,
    +        position: parsedItem.note.position,
           };
           graphItemCount++;
     
    diff --git a/packages/mermaid/src/diagrams/state/stateDb.js b/packages/mermaid/src/diagrams/state/stateDb.js
    index b01f608ea5..1b7f542fb7 100644
    --- a/packages/mermaid/src/diagrams/state/stateDb.js
    +++ b/packages/mermaid/src/diagrams/state/stateDb.js
    @@ -586,8 +586,6 @@ export const getData = () => {
       const look = config.look;
       resetDataFetching();
       dataFetcher(undefined, getRootDocV2(), diagramStates, nodes, edges, true, useRough, look);
    -
    -  console.log('State Nodes XDX:', nodes);
       return { nodes, edges, other: {}, config };
     };
     
    
    From d9d4a677ab7bdc29a4b10cfa8b25bb434af07a6a Mon Sep 17 00:00:00 2001
    From: Ashish Jain 
    Date: Mon, 3 Jun 2024 14:43:00 +0200
    Subject: [PATCH 463/789] 5237 Adjust classDef and note position data
    
    ---
     packages/mermaid/src/diagrams/state/dataFetcher.js | 2 +-
     1 file changed, 1 insertion(+), 1 deletion(-)
    
    diff --git a/packages/mermaid/src/diagrams/state/dataFetcher.js b/packages/mermaid/src/diagrams/state/dataFetcher.js
    index 342b76125d..3bdf1abe05 100644
    --- a/packages/mermaid/src/diagrams/state/dataFetcher.js
    +++ b/packages/mermaid/src/diagrams/state/dataFetcher.js
    @@ -216,7 +216,7 @@ function getClassesFromDbInfo(dbInfoItem) {
             }
             //add comma for all other classes
             else {
    -          classStr += dbInfoItem.classes[i] + ',';
    +          classStr += dbInfoItem.classes[i] + ' ';
             }
           }
           return classStr;
    
    From a85f36c3be7247c59f2e91d945917f84ad508096 Mon Sep 17 00:00:00 2001
    From: Knut Sveidqvist 
    Date: Tue, 4 Jun 2024 16:34:20 +0200
    Subject: [PATCH 464/789] #5237 Enabling edges using the unified renderer for
     flowcharts
    
    ---
     cypress/platform/knsv2.html                   | 68 ++++++++-----------
     packages/mermaid-layout-elk/src/render.ts     |  7 +-
     .../mermaid/src/diagrams/flowchart/flowDb.ts  | 33 ++++++++-
     .../src/diagrams/flowchart/flowDiagram-v2.ts  |  2 +-
     .../flowchart/flowRenderer-v3-unified.ts      |  3 +-
     .../mermaid/src/diagrams/flowchart/types.ts   |  2 +-
     .../mermaid/src/diagrams/state/stateDb.js     |  1 -
     .../layout-algorithms/dagre/index.js          |  6 +-
     .../rendering-elements/edges.js               | 32 ++++-----
     .../rendering-elements/shapes/question.ts     |  2 +-
     .../mermaid/src/rendering-util/types.d.ts     |  2 +-
     11 files changed, 89 insertions(+), 69 deletions(-)
    
    diff --git a/cypress/platform/knsv2.html b/cypress/platform/knsv2.html
    index 52aa9bc6a3..99836dd1c3 100644
    --- a/cypress/platform/knsv2.html
    +++ b/cypress/platform/knsv2.html
    @@ -76,47 +76,31 @@
       
       
         
    -%%{
    -  init: {
    -  "theme":"base",
    -  "fontFamily": "Kalam",
    -  "themeVariables":
    -    {
    -      "background": "#FFFFFF",
    -      "primaryColor": "#7bdfa7",
    -      "primaryTextColor": "#3c3c3b",
    -      "secondaryColor": "#642470",
    -      "secondaryTextColor": "#3c3c3b",
    -      "tertiaryColor": "#1c736D",
    -      "tertiaryTextColor": "#3c3c3b",
    -      "noteBkgColor": "#9fd8ef",
    -      "loopTextColor": "#636362",
    -      "labelBoxBkgColor": "#642470",
    -      "labelBoxBorderColor": "#642470",
    -      "labelTextColor": "#d4d4d4",
    -      "signalTextColor": "#636362",
    -      "signalColor": "#642470"
    -    }
    -  }
    -}%%
    -sequenceDiagram
    -    Alice->>+John: Hello John, how are you?
    -    Alice->>+John: John, can you hear me?
    -    John-->>-Alice: Hi Alice, I can hear you!
    -    John-->>-Alice: I feel great!
    +stateDiagram-v2
    +    state if_state <>
    +    [*] --> IsPositive
    +    IsPositive --> if_state
    +    if_state --> False: if n < 0
    +    if_state --> True : if n >= 0
           
    -
    -      %%{init: {"layout": "dagre", "mergeEdges": true} }%%
    -stateDiagram
    -      A: This is A
    +flowchart LR
    +    A[Start] --> B{Is it?} --> B1 & B2
    +
           
    -
    -      %%{init: {"layout": "dagre", "mergeEdges": true} }%%
    -flowchart
    -      A --> B(This is B)
    +    
    +      %%{init: {"layout": "dagre", "mergeEdges": false} }%%
    +flowchart LR
    +      A ==> B(This is B)
    +    A[Start] --> B(Is it?)
    +    B -- Yes --> C[OK]
    +    C --> D[Rethink]
    +    D --> B
    +    B -. No ...-> E[End]
    +
    +
           
    @@ -129,7 +113,7 @@
         if_state --> True : if n >= 0
           
    -
    +    
           %%{init: {"layout": "elk", "mergeEdges": false, "elk.nodePlacement.strategy": "SIMPLE"} }%%
           stateDiagram
         state if_state <<choice>>
    @@ -228,11 +212,13 @@
           };
           mermaid.initialize({
             // theme: 'base',
    -        handdrawnSeed: 12,
    -        look: 'handdrawn',
    -
    -        // layout: 'dagre',
    +        // handdrawnSeed: 12,
    +        // look: 'handdrawn',
    +        'elk.nodePlacement.strategy': 'NETWORK_SIMPLEX',
    +        layout: 'dagre',
             // layout: 'elk',
    +        // layout: 'fixed',
    +        htmlLabels: false,
             flowchart: { titleTopMargin: 10 },
             // fontFamily: 'Caveat',
             fontFamily: 'Kalam',
    diff --git a/packages/mermaid-layout-elk/src/render.ts b/packages/mermaid-layout-elk/src/render.ts
    index 61221298cf..b5ed9a8d31 100644
    --- a/packages/mermaid-layout-elk/src/render.ts
    +++ b/packages/mermaid-layout-elk/src/render.ts
    @@ -561,8 +561,8 @@ export const render = async (data4Layout, svg, element, algorithm) => {
       drawNodes(0, 0, g.children, svg, subGraphsEl, 0);
       g.edges?.map((edge) => {
         // (elem, edge, clusterDb, diagramType, graph, id)
    -    edge.start = nodeDb[edge.sources[0]];
    -    edge.end = nodeDb[edge.targets[0]];
    +    const startNode = nodeDb[edge.sources[0]];
    +    const endNode = nodeDb[edge.targets[0]];
         const sourceId = edge.start.id;
         const targetId = edge.end.id;
     
    @@ -586,7 +586,8 @@ export const render = async (data4Layout, svg, element, algorithm) => {
             edge,
             clusterDb,
             data4Layout.type,
    -        g,
    +        startNode,
    +        endNode,
             data4Layout.diagramId
           );
     
    diff --git a/packages/mermaid/src/diagrams/flowchart/flowDb.ts b/packages/mermaid/src/diagrams/flowchart/flowDb.ts
    index 605e8d5eab..bb4f4ecf22 100644
    --- a/packages/mermaid/src/diagrams/flowchart/flowDb.ts
    +++ b/packages/mermaid/src/diagrams/flowchart/flowDb.ts
    @@ -1,5 +1,5 @@
     import { select } from 'd3';
    -import utils from '../../utils.js';
    +import utils, { getEdgeId } from '../../utils.js';
     import { getConfig, defaultConfig } from '../../diagram-api/diagramAPI.js';
     import common from '../common/common.js';
     import type { LayoutData, LayoutMethod, Node, Edge } from '../../rendering-util/types.js';
    @@ -794,6 +794,37 @@ export const getData = () => {
         nodes.push(node);
       });
     
    +  const e = getEdges();
    +  e.forEach((rawEdge, index) => {
    +    const edge: Edge = {
    +      id: getEdgeId(rawEdge.start, rawEdge.end, { counter: index, prefix: 'edge' }),
    +      start: rawEdge.start,
    +      end: rawEdge.end,
    +      type: rawEdge.type || 'normal',
    +      label: rawEdge.text,
    +      labelpos: 'c',
    +      //   labelStyle: '',
    +      //   cssStyles: rawEdge.styles.join(' '),
    +      thickness: rawEdge.stroke,
    +      minlen: rawEdge.length,
    +      classes: 'edge-thickness-normal edge-pattern-solid flowchart-link',
    +      arrowhead: 'none',
    +      arrowTypeEnd: 'arrow_point',
    +      arrowheadStyle: 'fill: #333',
    +      // stroke: rawEdge.pattern,
    +      pattern: rawEdge.stroke,
    +      //   shape: getTypeFromVertex(rawEdge),
    +      //   dir: rawEdge.dir,
    +      //   domId: verawEdgertex.domId,
    +      //   rawEdge: undefined,
    +      //   isGroup: false,
    +      useRough,
    +    };
    +    // console.log('rawEdge SPLIT', rawEdge, index);
    +    edges.push(edge);
    +  });
    +  console.log('edges SPLIT', edges);
    +
       //const useRough = config.look === 'handdrawn';
     
       return { nodes, edges, other: {}, config };
    diff --git a/packages/mermaid/src/diagrams/flowchart/flowDiagram-v2.ts b/packages/mermaid/src/diagrams/flowchart/flowDiagram-v2.ts
    index e3db21540e..1be74da55e 100644
    --- a/packages/mermaid/src/diagrams/flowchart/flowDiagram-v2.ts
    +++ b/packages/mermaid/src/diagrams/flowchart/flowDiagram-v2.ts
    @@ -1,7 +1,7 @@
     // @ts-ignore: JISON doesn't support types
     import flowParser from './parser/flow.jison';
     import flowDb from './flowDb.js';
    -// import flowRendererV2 from './flowRenderer-v2.js';
    +import flowRendererV2 from './flowRenderer-v2.js';
     import flowRendererV3 from './flowRenderer-v3-unified.js';
     import flowStyles from './styles.js';
     import type { MermaidConfig } from '../../config.type.js';
    diff --git a/packages/mermaid/src/diagrams/flowchart/flowRenderer-v3-unified.ts b/packages/mermaid/src/diagrams/flowchart/flowRenderer-v3-unified.ts
    index 01bf79fcbf..1d6b353d6b 100644
    --- a/packages/mermaid/src/diagrams/flowchart/flowRenderer-v3-unified.ts
    +++ b/packages/mermaid/src/diagrams/flowchart/flowRenderer-v3-unified.ts
    @@ -60,7 +60,8 @@ export const draw = async function (text: string, id: string, _version: string,
       data4Layout.direction = DIR;
       data4Layout.nodeSpacing = conf?.nodeSpacing || 50;
       data4Layout.rankSpacing = conf?.rankSpacing || 50;
    -  data4Layout.markers = ['barb'];
    +  data4Layout.markers = ['point', 'circle', 'cross'];
    +
       data4Layout.diagramId = id;
       console.log('REF1:', data4Layout);
       await render(data4Layout, svg, element);
    diff --git a/packages/mermaid/src/diagrams/flowchart/types.ts b/packages/mermaid/src/diagrams/flowchart/types.ts
    index 954759f393..59ccf6a1d8 100644
    --- a/packages/mermaid/src/diagrams/flowchart/types.ts
    +++ b/packages/mermaid/src/diagrams/flowchart/types.ts
    @@ -23,7 +23,7 @@ export interface FlowEdge {
       end: string;
       interpolate?: string;
       type?: string;
    -  stroke?: string;
    +  stroke?: 'normal' | 'thick' | 'invisible';
       style?: string[];
       length?: number;
       text: string;
    diff --git a/packages/mermaid/src/diagrams/state/stateDb.js b/packages/mermaid/src/diagrams/state/stateDb.js
    index 1b7f542fb7..f6bddf0eae 100644
    --- a/packages/mermaid/src/diagrams/state/stateDb.js
    +++ b/packages/mermaid/src/diagrams/state/stateDb.js
    @@ -579,7 +579,6 @@ export const getData = () => {
       //     nodes.push({...currentDocument.states[key]});
       //   }
       // }
    -  extract(getRootDocV2());
       const diagramStates = getStates();
       const config = getConfig();
       const useRough = config.look === 'handdrawn';
    diff --git a/packages/mermaid/src/rendering-util/layout-algorithms/dagre/index.js b/packages/mermaid/src/rendering-util/layout-algorithms/dagre/index.js
    index 3ba76ff9f9..0237e20b8f 100644
    --- a/packages/mermaid/src/rendering-util/layout-algorithms/dagre/index.js
    +++ b/packages/mermaid/src/rendering-util/layout-algorithms/dagre/index.js
    @@ -230,7 +230,9 @@ const recursiveRender = async (_elem, graph, diagramType, id, parentCluster, sit
         log.info('Edge ' + e.v + ' -> ' + e.w + ': ' + JSON.stringify(edge), edge);
     
         edge.points.forEach((point) => (point.y += subGraphTitleTotalMargin / 2));
    -    const paths = insertEdge(edgePaths, edge, clusterDb, diagramType, graph, id);
    +    const startNode = graph.node(e.v);
    +    var endNode = graph.node(e.w);
    +    const paths = insertEdge(edgePaths, edge, clusterDb, diagramType, startNode, endNode, id);
         positionEdgeLabel(edge, paths);
       });
     
    @@ -284,7 +286,7 @@ export const render = async (data4Layout, svg, element) => {
     
       log.debug('Edges:', data4Layout.edges);
       data4Layout.edges.forEach((edge) => {
    -    graph.setEdge(edge.start, edge.end, { ...edge });
    +    graph.setEdge(edge.start, edge.end, { ...edge }, edge.id);
       });
     
       log.warn('Graph at first:', JSON.stringify(graphlibJson.write(graph)));
    diff --git a/packages/mermaid/src/rendering-util/rendering-elements/edges.js b/packages/mermaid/src/rendering-util/rendering-elements/edges.js
    index 8c07173a84..8b9e03fc77 100644
    --- a/packages/mermaid/src/rendering-util/rendering-elements/edges.js
    +++ b/packages/mermaid/src/rendering-util/rendering-elements/edges.js
    @@ -493,28 +493,28 @@ function roundedCornersLine(lineData) {
       }
       return path;
     }
    -export const insertEdge = function (elem, edge, clusterDb, diagramType, graph, id) {
    +export const insertEdge = function (elem, edge, clusterDb, diagramType, startNode, endNode, id) {
       const { handdrawnSeed } = getConfig();
       let points = edge.points;
       let pointsHasChanged = false;
    -  const tail = edge.start;
    -  var head = edge.end;
    +  const tail = startNode;
    +  var head = endNode;
     
    -  log.info('abc88 InsertEdge: ', points);
    +  // log.info('abc88 InsertEdge SPLIT: ', points, edge.start, id);
       if (head.intersect && tail.intersect) {
    -    log.info('abc88 InsertEdge: 0.5', points);
    -    // points = points.slice(1, edge.points.length - 1);
    -    log.info('abc88 InsertEdge: 0.7', points);
    -    // points.unshift(tail.intersect(points[0]));
    -    //   log.info(
    -    //     'Last point abc88',
    -    //     points[points.length - 1],
    -    //     head,
    -    //     head.intersect(points[points.length - 1])
    -    //   );
    -    //   points.push(head.intersect(points[points.length - 1]));
    +    // log.info('abc88 InsertEdge SPLIT: 0.5', points);
    +    points = points.slice(1, edge.points.length - 1);
    +    // log.info('abc88 InsertEdge SPLIT: 0.7', points);
    +    points.unshift(tail.intersect(points[0]));
    +    log.info(
    +      'Last point abc88',
    +      points[points.length - 1],
    +      head,
    +      head.intersect(points[points.length - 1])
    +    );
    +    points.push(head.intersect(points[points.length - 1]));
       }
    -  log.info('abc88 InsertEdge 2: ', points);
    +  // log.info('abc88 InsertEdge 2 SPLIT: ', points);
       if (edge.toCluster) {
         log.info('to cluster abc88', clusterDb[edge.toCluster]);
         points = cutPathAtIntersect(edge.points, clusterDb[edge.toCluster].node);
    diff --git a/packages/mermaid/src/rendering-util/rendering-elements/shapes/question.ts b/packages/mermaid/src/rendering-util/rendering-elements/shapes/question.ts
    index 98c6d47077..c72e567cf9 100644
    --- a/packages/mermaid/src/rendering-util/rendering-elements/shapes/question.ts
    +++ b/packages/mermaid/src/rendering-util/rendering-elements/shapes/question.ts
    @@ -65,7 +65,7 @@ export const question = async (parent: SVGAElement, node: Node): Promise
    Date: Tue, 4 Jun 2024 14:58:47 -0700
    Subject: [PATCH 465/789] move arrowhead adjustment to buildMessageModel
    
    ---
     .../src/diagrams/sequence/sequenceRenderer.ts   | 17 +++++++++--------
     1 file changed, 9 insertions(+), 8 deletions(-)
    
    diff --git a/packages/mermaid/src/diagrams/sequence/sequenceRenderer.ts b/packages/mermaid/src/diagrams/sequence/sequenceRenderer.ts
    index fb434b8b0e..2cbef59de6 100644
    --- a/packages/mermaid/src/diagrams/sequence/sequenceRenderer.ts
    +++ b/packages/mermaid/src/diagrams/sequence/sequenceRenderer.ts
    @@ -425,14 +425,7 @@ const drawMessage = async function (diagram, msgModel, lineStartY: number, diagO
         }
       } else {
         line = diagram.append('line');
    -    let adjustedStartx = startx;
    -    if (
    -      type === diagObj.db.LINETYPE.BIDIRECTIONAL_DOTTED ||
    -      type === diagObj.db.LINETYPE.BIDIRECTIONAL_SOLID
    -    ) {
    -      startx < stopx ? (adjustedStartx += 3) : (adjustedStartx -= 3);
    -    }
    -    line.attr('x1', adjustedStartx);
    +    line.attr('x1', startx);
         line.attr('y1', lineStartY);
         line.attr('x2', stopx);
         line.attr('y2', lineStartY);
    @@ -1481,6 +1474,14 @@ const buildMessageModel = function (msg, actors, diagObj) {
         if (![diagObj.db.LINETYPE.SOLID_OPEN, diagObj.db.LINETYPE.DOTTED_OPEN].includes(msg.type)) {
           stopx += adjustValue(3);
         }
    +
    +    if (
    +      ![diagObj.db.LINETYPE.BIDIRECTIONAL_SOLID, diagObj.db.LINETYPE.BIDIRECTIONAL_DOTTED].includes(
    +        msg.type
    +      )
    +    ) {
    +      startx -= adjustValue(3);
    +    }
       }
     
       const allBounds = [fromLeft, fromRight, toLeft, toRight];
    
    From d2d7f2bcb03a2d3200e226186574a75a6fef8660 Mon Sep 17 00:00:00 2001
    From: Ronid1 
    Date: Tue, 4 Jun 2024 15:10:50 -0700
    Subject: [PATCH 466/789] update arrow startx position
    
    ---
     packages/mermaid/src/diagrams/sequence/sequenceRenderer.ts | 7 +++++--
     1 file changed, 5 insertions(+), 2 deletions(-)
    
    diff --git a/packages/mermaid/src/diagrams/sequence/sequenceRenderer.ts b/packages/mermaid/src/diagrams/sequence/sequenceRenderer.ts
    index 2cbef59de6..42bacd5d62 100644
    --- a/packages/mermaid/src/diagrams/sequence/sequenceRenderer.ts
    +++ b/packages/mermaid/src/diagrams/sequence/sequenceRenderer.ts
    @@ -1435,7 +1435,7 @@ const buildMessageModel = function (msg, actors, diagObj) {
       const [fromLeft, fromRight] = activationBounds(msg.from, actors);
       const [toLeft, toRight] = activationBounds(msg.to, actors);
       const isArrowToRight = fromLeft <= toLeft;
    -  const startx = isArrowToRight ? fromRight : fromLeft;
    +  let startx = isArrowToRight ? fromRight : fromLeft;
       let stopx = isArrowToRight ? toLeft : toRight;
     
       // As the line width is considered, the left and right values will be off by 2.
    @@ -1475,8 +1475,11 @@ const buildMessageModel = function (msg, actors, diagObj) {
           stopx += adjustValue(3);
         }
     
    +    /**
    +     * Shorten start position of bidirectional arrow to accommodate for second arrowhead
    +     */
         if (
    -      ![diagObj.db.LINETYPE.BIDIRECTIONAL_SOLID, diagObj.db.LINETYPE.BIDIRECTIONAL_DOTTED].includes(
    +      [diagObj.db.LINETYPE.BIDIRECTIONAL_SOLID, diagObj.db.LINETYPE.BIDIRECTIONAL_DOTTED].includes(
             msg.type
           )
         ) {
    
    From 83ca6897bd0623707b9b3897d56a69873b583ec5 Mon Sep 17 00:00:00 2001
    From: Ronid1 
    Date: Tue, 4 Jun 2024 15:23:57 -0700
    Subject: [PATCH 467/789] fix tests
    
    ---
     .../mermaid/src/diagrams/sequence/sequenceDiagram.spec.js | 8 ++++----
     1 file changed, 4 insertions(+), 4 deletions(-)
    
    diff --git a/packages/mermaid/src/diagrams/sequence/sequenceDiagram.spec.js b/packages/mermaid/src/diagrams/sequence/sequenceDiagram.spec.js
    index 48931e14ec..87a686129d 100644
    --- a/packages/mermaid/src/diagrams/sequence/sequenceDiagram.spec.js
    +++ b/packages/mermaid/src/diagrams/sequence/sequenceDiagram.spec.js
    @@ -523,8 +523,8 @@ Alice<<->>Bob:Hello Bob, how are you?`;
     
         await mermaidAPI.parse(str);
         const actors = diagram.db.getActors();
    -    expect(actors.Alice.description).toBe('Alice');
    -    expect(actors.Bob.description).toBe('Bob');
    +    expect(actors.get('Alice').description).toBe('Alice');
    +    expect(actors.get('Bob').description).toBe('Bob');
     
         const messages = diagram.db.getMessages();
     
    @@ -538,8 +538,8 @@ Alice<<->>Bob:Hello Bob, how are you?`;
     
         await mermaidAPI.parse(str);
         const actors = diagram.db.getActors();
    -    expect(actors.Alice.description).toBe('Alice');
    -    expect(actors.Bob.description).toBe('Bob');
    +    expect(actors.get('Alice').description).toBe('Alice');
    +    expect(actors.get('Bob').description).toBe('Bob');
     
         const messages = diagram.db.getMessages();
     
    
    From 3754ac08724be638d2c3dd6c944457c7df5397c2 Mon Sep 17 00:00:00 2001
    From: Ronid1 
    Date: Thu, 6 Jun 2024 18:15:11 -0700
    Subject: [PATCH 468/789] fix note z position
    
    ---
     packages/mermaid/src/diagrams/sequence/svgDraw.js | 4 ++--
     1 file changed, 2 insertions(+), 2 deletions(-)
    
    diff --git a/packages/mermaid/src/diagrams/sequence/svgDraw.js b/packages/mermaid/src/diagrams/sequence/svgDraw.js
    index 568074b537..848455f78c 100644
    --- a/packages/mermaid/src/diagrams/sequence/svgDraw.js
    +++ b/packages/mermaid/src/diagrams/sequence/svgDraw.js
    @@ -415,11 +415,11 @@ const drawActorTypeActor = async function (elem, actor, conf, isFooter) {
       const center = actor.x + actor.width / 2;
       const centerY = actorY + 80;
     
    -  elem.lower();
    +  const line = elem.append('g').lower();
     
       if (!isFooter) {
         actorCnt++;
    -    elem
    +    line
           .append('line')
           .attr('id', 'actor' + actorCnt)
           .attr('x1', center)
    
    From b285466130fed911e4c9d82ed9179246b7ee1a70 Mon Sep 17 00:00:00 2001
    From: Ronid1 
    Date: Thu, 6 Jun 2024 18:33:55 -0700
    Subject: [PATCH 469/789] add integration test
    
    ---
     .../integration/rendering/sequencediagram.spec.js    | 12 ++++++++++++
     1 file changed, 12 insertions(+)
    
    diff --git a/cypress/integration/rendering/sequencediagram.spec.js b/cypress/integration/rendering/sequencediagram.spec.js
    index 1285a0832d..8e15f3facc 100644
    --- a/cypress/integration/rendering/sequencediagram.spec.js
    +++ b/cypress/integration/rendering/sequencediagram.spec.js
    @@ -464,6 +464,18 @@ context('Sequence diagram', () => {
             {}
           );
         });
    +    it('should render notes over actors and participant', () => {
    +      imgSnapshotTest(
    +        `
    +        sequenceDiagram
    +        actor Alice
    +        participant Charlie
    +        note over Alice: some note
    +        note over Charlie: other note
    +      `,
    +        {}
    +      );
    +    });
         it('should render long messages from an actor to the left to one to the right', () => {
           imgSnapshotTest(
             `
    
    From 1b29135cc1cc2ac1a27848f514f3bca6d391cdc6 Mon Sep 17 00:00:00 2001
    From: Knut Sveidqvist 
    Date: Fri, 7 Jun 2024 20:23:44 +0200
    Subject: [PATCH 470/789] #5237 Enabling subgraphs using the unified renderer
     for flowcharts
    
    ---
     cypress/platform/knsv2.html                   | 18 +++---
     .../mermaid/src/diagrams/flowchart/flowDb.ts  | 24 +++++++-
     .../dagre/mermaid-graphlib.js                 |  4 +-
     .../rendering-elements/clusters.js            | 58 ++++++++++++++-----
     4 files changed, 76 insertions(+), 28 deletions(-)
    
    diff --git a/cypress/platform/knsv2.html b/cypress/platform/knsv2.html
    index 99836dd1c3..514f98409c 100644
    --- a/cypress/platform/knsv2.html
    +++ b/cypress/platform/knsv2.html
    @@ -84,13 +84,17 @@
         if_state --> True : if n >= 0
           
    -
    +    
     flowchart LR
    -    A[Start] --> B{Is it?} --> B1 & B2
    +    subgraph Apa
    +      A[Start] --> B
    +    end
    +    Apa --> C
    +    A --> C
     
           
    -
    +    
           %%{init: {"layout": "dagre", "mergeEdges": false} }%%
     flowchart LR
           A ==> B(This is B)
    @@ -213,12 +217,12 @@
           mermaid.initialize({
             // theme: 'base',
             // handdrawnSeed: 12,
    -        // look: 'handdrawn',
    -        'elk.nodePlacement.strategy': 'NETWORK_SIMPLEX',
    -        layout: 'dagre',
    +        look: 'handdrawn',
    +        // 'elk.nodePlacement.strategy': 'NETWORK_SIMPLEX',
    +        // layout: 'dagre',
             // layout: 'elk',
             // layout: 'fixed',
    -        htmlLabels: false,
    +        // htmlLabels: false,
             flowchart: { titleTopMargin: 10 },
             // fontFamily: 'Caveat',
             fontFamily: 'Kalam',
    diff --git a/packages/mermaid/src/diagrams/flowchart/flowDb.ts b/packages/mermaid/src/diagrams/flowchart/flowDb.ts
    index bb4f4ecf22..b3976adf5b 100644
    --- a/packages/mermaid/src/diagrams/flowchart/flowDb.ts
    +++ b/packages/mermaid/src/diagrams/flowchart/flowDb.ts
    @@ -775,20 +775,39 @@ export const getData = () => {
       // extract(getRootDocV2());
       // const diagramStates = getStates();
       const useRough = config.look === 'handdrawn';
    +  const subGraphs = getSubGraphs();
    +  log.info('Subgraphs - ', subGraphs);
    +  const parentDB = new Map();
    +  const subGraphDB = new Map();
    +
    +  for (let i = subGraphs.length - 1; i >= 0; i--) {
    +    const subGraph = subGraphs[i];
    +    if (subGraph.nodes.length > 0) {
    +      subGraphDB.set(subGraph.id, true);
    +    }
    +    subGraph.nodes.forEach((id) => {
    +      parentDB.set(id, subGraph.id);
    +    });
    +  }
    +
       const n = getVertices();
       n.forEach((vertex) => {
    +    let parentId = parentDB.get(vertex.id);
    +    let isGroup = subGraphDB.get(vertex.id) || false;
    +
         const node: Node = {
           id: vertex.id,
           label: vertex.text,
           labelStyle: '',
    +      parentId,
           padding: config.flowchart?.padding || 8,
           cssStyles: vertex.styles.join(' '),
           cssClasses: vertex.classes.join(' '),
           shape: getTypeFromVertex(vertex),
           dir: vertex.dir,
           domId: vertex.domId,
    -      type: undefined,
    -      isGroup: false,
    +      type: isGroup ? 'group' : undefined,
    +      isGroup,
           useRough,
         };
         nodes.push(node);
    @@ -823,7 +842,6 @@ export const getData = () => {
         // console.log('rawEdge SPLIT', rawEdge, index);
         edges.push(edge);
       });
    -  console.log('edges SPLIT', edges);
     
       //const useRough = config.look === 'handdrawn';
     
    diff --git a/packages/mermaid/src/rendering-util/layout-algorithms/dagre/mermaid-graphlib.js b/packages/mermaid/src/rendering-util/layout-algorithms/dagre/mermaid-graphlib.js
    index f56cba2857..73b6797dfc 100644
    --- a/packages/mermaid/src/rendering-util/layout-algorithms/dagre/mermaid-graphlib.js
    +++ b/packages/mermaid/src/rendering-util/layout-algorithms/dagre/mermaid-graphlib.js
    @@ -159,10 +159,8 @@ export const validate = (graph) => {
      * @param {any} graph
      */
     export const findNonClusterChild = (id, graph) => {
    -  // const node = graph.node(id);
       log.trace('Searching', id);
    -  // const children = graph.children(id).reverse();
    -  const children = graph.children(id); //.reverse();
    +  const children = graph.children(id).reverse();
       log.trace('Searching children of id ', id, children);
       if (children.length < 1) {
         log.trace('This is a valid node', id);
    diff --git a/packages/mermaid/src/rendering-util/rendering-elements/clusters.js b/packages/mermaid/src/rendering-util/rendering-elements/clusters.js
    index a4b8f896d1..2a197993a7 100644
    --- a/packages/mermaid/src/rendering-util/rendering-elements/clusters.js
    +++ b/packages/mermaid/src/rendering-util/rendering-elements/clusters.js
    @@ -8,17 +8,18 @@ import { createText } from '../createText.ts';
     import intersectRect from '../rendering-elements/intersect/intersect-rect.js';
     import createLabel from './createLabel.js';
     import { createRoundedRectPathD } from './shapes/roundedRectPath.ts';
    +import { userNodeOverrides } from '$root/rendering-util/rendering-elements/shapes/handdrawnStyles.js';
     
     const rect = (parent, node) => {
       log.info('Creating subgraph rect for ', node.id, node);
       const siteConfig = getConfig();
    +  const { themeVariables, handdrawnSeed } = siteConfig;
    +  const { clusterBkg, clusterBorder } = themeVariables;
    +  let { useRough } = node;
     
       // Add outer g element
       const shapeSvg = parent.insert('g').attr('class', 'cluster').attr('id', node.id);
     
    -  // add the rect
    -  const rect = shapeSvg.insert('rect', ':first-child');
    -
       const useHtmlLabels = evaluate(siteConfig.flowchart.htmlLabels);
     
       // Create the label and insert it after the rect
    @@ -44,7 +45,6 @@ const rect = (parent, node) => {
       }
     
       const padding = 0 * node.padding;
    -  const halfPadding = padding / 2;
     
       const width = node.width <= bbox.width + padding ? bbox.width + padding : node.width;
       if (node.width <= bbox.width + padding) {
    @@ -53,17 +53,45 @@ const rect = (parent, node) => {
         node.diff = -node.padding / 2;
       }
     
    +  const totalWidth = width + padding;
    +  const totalHeight = node.height + padding;
    +  const x = node.x - totalWidth / 2;
    +  const y = node.y - totalHeight / 2;
    +
       log.trace('Data ', node, JSON.stringify(node));
    -  // center the rect around its coordinate
    -  rect
    -    .attr('style', node.cssStyles)
    -    .attr('rx', node.rx)
    -    .attr('ry', node.ry)
    -    .attr('x', node.x - width / 2)
    -    .attr('y', node.y - node.height / 2 - halfPadding)
    -    .attr('width', width)
    -    .attr('height', node.height + padding);
    +  let rect;
    +  if (useRough) {
    +    // @ts-ignore TODO: Fix rough typings
    +    const rc = rough.svg(shapeSvg);
    +    const options = userNodeOverrides(node, {
    +      roughness: 0.7,
    +      fill: clusterBkg,
    +      // fill: 'red',
    +      stroke: clusterBorder,
    +      fillWeight: 3,
    +      seed: handdrawnSeed,
    +      stroke: clusterBorder,
    +    });
    +    const roughNode = rc.path(createRoundedRectPathD(x, y, totalWidth, totalHeight, 0), options);
    +    // console.log('Rough node insert CXC', roughNode);
     
    +    rect = shapeSvg.insert(() => {
    +      console.log('Rough node insert CXC', roughNode);
    +      return roughNode;
    +    }, ':first-child');
    +  } else {
    +    // add the rect
    +    rect = shapeSvg.insert('rect', ':first-child');
    +    // center the rect around its coordinate
    +    rect
    +      .attr('style', node.cssStyles)
    +      .attr('rx', node.rx)
    +      .attr('ry', node.ry)
    +      .attr('x', x)
    +      .attr('y', y)
    +      .attr('width', totalWidth)
    +      .attr('height', totalHeight);
    +  }
       const { subGraphTitleTopMargin } = getSubGraphTitleMargins(siteConfig);
       if (useHtmlLabels) {
         labelEl.attr(
    @@ -303,8 +331,8 @@ const divider = (parent, node) => {
     
       return { cluster: shapeSvg, labelBBox: { width: 0, height: 0 } };
     };
    -
    -const shapes = { rect, roundedWithTitle, noteGroup, divider };
    +const squareRect = rect;
    +const shapes = { rect, squareRect, roundedWithTitle, noteGroup, divider };
     
     let clusterElems = {};
     
    
    From 1c4dd9b923970618f89f962a3bceecdad64244de Mon Sep 17 00:00:00 2001
    From: Nikolay Rozhkov 
    Date: Sun, 9 Jun 2024 01:23:38 +0300
    Subject: [PATCH 471/789] Fixed entrypoint path
    
    ---
     docker-compose.yml | 3 +--
     1 file changed, 1 insertion(+), 2 deletions(-)
    
    diff --git a/docker-compose.yml b/docker-compose.yml
    index d591073e8f..6c378b3196 100644
    --- a/docker-compose.yml
    +++ b/docker-compose.yml
    @@ -1,4 +1,3 @@
    -version: '3.9'
     services:
       mermaid:
         build:
    @@ -8,7 +7,7 @@ services:
         tty: true
         working_dir: /mermaid
         mem_limit: '8G'
    -    entrypoint: docker-entrypoint.sh
    +    entrypoint: ./docker-entrypoint.sh
         environment:
           - NODE_OPTIONS=--max_old_space_size=8192
         volumes:
    
    From 7fbe1661ec62b677efb27c028e4276bcca9faafe Mon Sep 17 00:00:00 2001
    From: Knut Sveidqvist 
    Date: Sun, 9 Jun 2024 15:32:28 +0200
    Subject: [PATCH 472/789] #5237 Fix for edges in when using elk and subgraphs
     regarding offset and direction of marker in some edge cases
    
    ---
     cypress/platform/knsv2.html                   | 36 +++++----
     packages/mermaid-layout-elk/src/render.ts     | 17 ++--
     .../mermaid/src/diagrams/flowchart/flowDb.ts  | 77 ++++++++++++++-----
     packages/mermaid/src/rendering-util/render.ts |  4 +
     .../rendering-elements/edges.js               | 20 +++--
     .../rendering-elements/markers.js             | 12 +--
     packages/mermaid/src/utils/lineWithOffset.ts  |  2 +-
     7 files changed, 110 insertions(+), 58 deletions(-)
    
    diff --git a/cypress/platform/knsv2.html b/cypress/platform/knsv2.html
    index 514f98409c..b2598bfbc2 100644
    --- a/cypress/platform/knsv2.html
    +++ b/cypress/platform/knsv2.html
    @@ -75,22 +75,28 @@
         
       
       
    -    
    -stateDiagram-v2
    -    state if_state <>
    -    [*] --> IsPositive
    -    IsPositive --> if_state
    -    if_state --> False: if n < 0
    -    if_state --> True : if n >= 0
    +    
    +stateDiagram
    +direction LR
    +      state Gorilla0 {
    +        state Apa0 {
    +          A0 --> B0
    +        }
    +
    +      }
    +      Apa0 --> C0
    +      A0 --> C0
           
     flowchart LR
    -    subgraph Apa
    -      A[Start] --> B
    +    subgraph Gorilla
    +      subgraph Apa
    +        A[A] --- B
    +      end
         end
    -    Apa --> C
    -    A --> C
    +    Apa --- C
    +    A --x C
     
           
    @@ -117,7 +123,7 @@ if_state --> True : if n >= 0
    -
    +    
           %%{init: {"layout": "elk", "mergeEdges": false, "elk.nodePlacement.strategy": "SIMPLE"} }%%
           stateDiagram
         state if_state <<choice>>
    @@ -132,8 +138,10 @@
     stateDiagram
       direction TB
       State T1 {
    -    T11
    +    T11 --> T12
       }
    +  T1 --> T2
    +  T11 --> T2
           
    @@ -220,7 +228,7 @@
             look: 'handdrawn',
             // 'elk.nodePlacement.strategy': 'NETWORK_SIMPLEX',
             // layout: 'dagre',
    -        // layout: 'elk',
    +        layout: 'elk',
             // layout: 'fixed',
             // htmlLabels: false,
             flowchart: { titleTopMargin: 10 },
    diff --git a/packages/mermaid-layout-elk/src/render.ts b/packages/mermaid-layout-elk/src/render.ts
    index b5ed9a8d31..379cffefd2 100644
    --- a/packages/mermaid-layout-elk/src/render.ts
    +++ b/packages/mermaid-layout-elk/src/render.ts
    @@ -60,7 +60,7 @@ export const addVertex = async (nodeEl, graph, nodeArr, node) => {
       graph.children.push(child);
       nodeDb[node.id] = child;
     
    -  //     // Add the element to the DOM
    +  // Add the element to the DOM
       if (!node.isGroup) {
         const childNodeEl = await insertNode(nodeEl, node, node.dir);
         boundingBox = childNodeEl.node().getBBox();
    @@ -93,7 +93,7 @@ export const addVertex = async (nodeEl, graph, nodeArr, node) => {
     
     export const addVertices = async function (nodeEl, nodeArr, graph, parentId) {
       const siblings = nodeArr.filter((node) => node.parentId === parentId);
    -  log.info('addVertices DAGA', siblings, parentId);
    +  log.info('addVertices APA12', siblings, parentId);
       // Iterate through each item in the vertex object (containing all the vertices found) in the graph definition
       await Promise.all(
         siblings.map(async (node) => {
    @@ -512,9 +512,7 @@ export const render = async (data4Layout, svg, element, algorithm) => {
         const node = nodeDb[n.id];
     
         // Subgraph
    -    console.log('Subgraph XCX before');
         if (parentLookupDb.childrenById[node.id] !== undefined) {
    -      console.log('Subgraph XCX', node.id, node, node.labelData);
           node.labels = [
             {
               text: node.labelText,
    @@ -553,9 +551,9 @@ export const render = async (data4Layout, svg, element, algorithm) => {
         }
       });
     
    -  console.log('before layout', JSON.stringify(elkGraph, null, 2));
    +  // log.info('before layout', JSON.stringify(elkGraph, null, 2));
       const g = await elk.layout(elkGraph);
    -  log.info('after layout', JSON.stringify(g));
    +  // log.info('after layout', JSON.stringify(g));
     
       // debugger;
       drawNodes(0, 0, g.children, svg, subGraphsEl, 0);
    @@ -563,11 +561,11 @@ export const render = async (data4Layout, svg, element, algorithm) => {
         // (elem, edge, clusterDb, diagramType, graph, id)
         const startNode = nodeDb[edge.sources[0]];
         const endNode = nodeDb[edge.targets[0]];
    -    const sourceId = edge.start.id;
    -    const targetId = edge.end.id;
    +    const sourceId = edge.start;
    +    const targetId = edge.end;
     
         const offset = calcOffset(sourceId, targetId, parentLookupDb);
    -
    +    log.info('APA12 offset', offset, sourceId, targetId, edge);
         if (edge.sections) {
           const src = edge.sections[0].startPoint;
           const dest = edge.sections[0].endPoint;
    @@ -590,6 +588,7 @@ export const render = async (data4Layout, svg, element, algorithm) => {
             endNode,
             data4Layout.diagramId
           );
    +      log.info('APA12 edge points after insert', JSON.stringify(edge.points));
     
           edge.x = edge.labels[0].x + offset.x + edge.labels[0].width / 2;
           edge.y = edge.labels[0].y + offset.y + edge.labels[0].height / 2;
    diff --git a/packages/mermaid/src/diagrams/flowchart/flowDb.ts b/packages/mermaid/src/diagrams/flowchart/flowDb.ts
    index b3976adf5b..b2c38efe81 100644
    --- a/packages/mermaid/src/diagrams/flowchart/flowDb.ts
    +++ b/packages/mermaid/src/diagrams/flowchart/flowDb.ts
    @@ -767,6 +767,39 @@ const getTypeFromVertex = (vertex: FlowVertex) => {
       return vertex.type || 'squareRect';
     };
     
    +const findNode = (nodes: Node[], id: string) => nodes.find((node) => node.id === id);
    +
    +const addNodeFromVertex = (
    +  vertex: FlowVertex,
    +  nodes: Node[],
    +  parentDB: Map,
    +  subGraphDB: Map,
    +  config: any,
    +  useRough: boolean
    +): Node => {
    +  let parentId = parentDB.get(vertex.id);
    +  let isGroup = subGraphDB.get(vertex.id) || false;
    +
    +  let node = findNode(nodes, vertex.id);
    +  if (!node) {
    +    nodes.push({
    +      id: vertex.id,
    +      label: vertex.text,
    +      labelStyle: '',
    +      parentId,
    +      padding: config.flowchart?.padding || 8,
    +      cssStyles: vertex.styles.join(' '),
    +      cssClasses: vertex.classes.join(' '),
    +      shape: getTypeFromVertex(vertex),
    +      dir: vertex.dir,
    +      domId: vertex.domId,
    +      type: isGroup ? 'group' : undefined,
    +      isGroup,
    +      useRough,
    +    });
    +  }
    +};
    +
     export const getData = () => {
       const config = getConfig();
       const nodes: Node[] = [];
    @@ -776,7 +809,7 @@ export const getData = () => {
       // const diagramStates = getStates();
       const useRough = config.look === 'handdrawn';
       const subGraphs = getSubGraphs();
    -  log.info('Subgraphs - ', subGraphs);
    +  log.info('Subgraphs - APA12', subGraphs);
       const parentDB = new Map();
       const subGraphDB = new Map();
     
    @@ -788,31 +821,34 @@ export const getData = () => {
         subGraph.nodes.forEach((id) => {
           parentDB.set(id, subGraph.id);
         });
    +    nodes.push({
    +      id: subGraph.id,
    +      label: subGraph.title,
    +      labelStyle: '',
    +      parentId: parentDB.get(subGraph.id),
    +      padding: config.flowchart?.padding || 8,
    +      cssStyles: '',
    +      cssClasses: '',
    +      shape: 'rect',
    +      dir: subGraph.dir,
    +      domId: subGraph.domId,
    +      type: 'group',
    +      isGroup: true,
    +      useRough,
    +    });
       }
    +  console.log('APA12 nodes - 1', nodes.length);
     
       const n = getVertices();
       n.forEach((vertex) => {
    -    let parentId = parentDB.get(vertex.id);
    -    let isGroup = subGraphDB.get(vertex.id) || false;
    -
    -    const node: Node = {
    -      id: vertex.id,
    -      label: vertex.text,
    -      labelStyle: '',
    -      parentId,
    -      padding: config.flowchart?.padding || 8,
    -      cssStyles: vertex.styles.join(' '),
    -      cssClasses: vertex.classes.join(' '),
    -      shape: getTypeFromVertex(vertex),
    -      dir: vertex.dir,
    -      domId: vertex.domId,
    -      type: isGroup ? 'group' : undefined,
    -      isGroup,
    -      useRough,
    -    };
    -    nodes.push(node);
    +    const node = addNodeFromVertex(vertex, nodes, parentDB, subGraphDB, config, useRough);
    +    if (node) {
    +      nodes.push(node);
    +    }
       });
     
    +  console.log('APA12 nodes', nodes.length);
    +
       const e = getEdges();
       e.forEach((rawEdge, index) => {
         const edge: Edge = {
    @@ -829,6 +865,7 @@ export const getData = () => {
           classes: 'edge-thickness-normal edge-pattern-solid flowchart-link',
           arrowhead: 'none',
           arrowTypeEnd: 'arrow_point',
    +      // arrowTypeEnd: 'arrow_barb',
           arrowheadStyle: 'fill: #333',
           // stroke: rawEdge.pattern,
           pattern: rawEdge.stroke,
    diff --git a/packages/mermaid/src/rendering-util/render.ts b/packages/mermaid/src/rendering-util/render.ts
    index 489e6ba58e..442780c753 100644
    --- a/packages/mermaid/src/rendering-util/render.ts
    +++ b/packages/mermaid/src/rendering-util/render.ts
    @@ -24,6 +24,10 @@ const registerDefaultLayoutLoaders = () => {
           name: 'dagre',
           loader: async () => await import('./layout-algorithms/dagre/index.js'),
         },
    +    // {
    +    //   name: 'elk',
    +    //   loader: async () => await import('../../../mermaid-layout-elk/src/render.js'),
    +    // },
       ]);
     };
     
    diff --git a/packages/mermaid/src/rendering-util/rendering-elements/edges.js b/packages/mermaid/src/rendering-util/rendering-elements/edges.js
    index 8b9e03fc77..cf1da09099 100644
    --- a/packages/mermaid/src/rendering-util/rendering-elements/edges.js
    +++ b/packages/mermaid/src/rendering-util/rendering-elements/edges.js
    @@ -533,14 +533,14 @@ export const insertEdge = function (elem, edge, clusterDb, diagramType, startNod
       let lineData = points.filter((p) => !Number.isNaN(p.y));
       const { cornerPoints, cornerPointPositions } = extractCornerPoints(lineData);
       lineData = fixCorners(lineData);
    -  let lastPoint = lineData[0];
    +  let lastPoint = lineData[lineData.length - 1];
       if (lineData.length > 1) {
         lastPoint = lineData[lineData.length - 1];
         const secondLastPoint = lineData[lineData.length - 2];
         // Calculate the mid point of the last two points
    -    const diffX = (lastPoint.x - secondLastPoint.x) / 4;
    -    const diffY = (lastPoint.y - secondLastPoint.y) / 4;
    -    const midPoint = { x: secondLastPoint.x + 3 * diffX, y: secondLastPoint.y + 3 * diffY };
    +    const diffX = (lastPoint.x - secondLastPoint.x) / 2;
    +    const diffY = (lastPoint.y - secondLastPoint.y) / 2;
    +    const midPoint = { x: secondLastPoint.x + diffX, y: secondLastPoint.y + diffY };
         lineData.splice(-1, 0, midPoint);
       }
       // This is the accessor function we talked about above
    @@ -596,11 +596,16 @@ export const insertEdge = function (elem, edge, clusterDb, diagramType, startNod
       let useRough = edge.useRough;
       let svgPath;
       let path = '';
    -
    +  let linePath = lineFunction(lineData);
       if (useRough) {
         const rc = rough.svg(elem);
         const ld = Object.assign([], lineData);
    -    const svgPathNode = rc.path(lineFunction(ld.splice(0, ld.length - 1)), {
    +    // const svgPathNode = rc.path(lineFunction(ld.splice(0, ld.length-1)), {
    +    // const svgPathNode = rc.path(lineFunction(ld), {
    +    //   roughness: 0.3,
    +    //   seed: handdrawnSeed,
    +    // });
    +    const svgPathNode = rc.path(linePath, {
           roughness: 0.3,
           seed: handdrawnSeed,
         });
    @@ -614,13 +619,12 @@ export const insertEdge = function (elem, edge, clusterDb, diagramType, startNod
           .attr('class', ' ' + strokeClasses + (edge.classes ? ' ' + edge.classes : ''))
           .attr('style', edge.style);
         let d = svgPath.attr('d');
    -    d = d + ' L ' + lastPoint.x + ' ' + lastPoint.y;
         svgPath.attr('d', d);
         elem.node().appendChild(svgPath.node());
       } else {
         svgPath = elem
           .append('path')
    -      .attr('d', lineFunction(lineData))
    +      .attr('d', linePath)
           .attr('id', edge.id)
           .attr('class', ' ' + strokeClasses + (edge.classes ? ' ' + edge.classes : ''))
           .attr('style', edge.style);
    diff --git a/packages/mermaid/src/rendering-util/rendering-elements/markers.js b/packages/mermaid/src/rendering-util/rendering-elements/markers.js
    index c7cfcfe7fb..00d45e47d2 100644
    --- a/packages/mermaid/src/rendering-util/rendering-elements/markers.js
    +++ b/packages/mermaid/src/rendering-util/rendering-elements/markers.js
    @@ -159,11 +159,11 @@ const point = (elem, type, id) => {
         .attr('id', id + '_' + type + '-pointEnd')
         .attr('class', 'marker ' + type)
         .attr('viewBox', '0 0 10 10')
    -    .attr('refX', 6)
    +    .attr('refX', 5)
         .attr('refY', 5)
         .attr('markerUnits', 'userSpaceOnUse')
    -    .attr('markerWidth', 12)
    -    .attr('markerHeight', 12)
    +    .attr('markerWidth', 8)
    +    .attr('markerHeight', 8)
         .attr('orient', 'auto')
         .append('path')
         .attr('d', 'M 0 0 L 10 5 L 0 10 z')
    @@ -178,8 +178,8 @@ const point = (elem, type, id) => {
         .attr('refX', 4.5)
         .attr('refY', 5)
         .attr('markerUnits', 'userSpaceOnUse')
    -    .attr('markerWidth', 12)
    -    .attr('markerHeight', 12)
    +    .attr('markerWidth', 11)
    +    .attr('markerHeight', 11)
         .attr('orient', 'auto')
         .append('path')
         .attr('d', 'M 0 5 L 10 10 L 10 0 z')
    @@ -272,7 +272,7 @@ const barb = (elem, type, id) => {
         .attr('refY', 7)
         .attr('markerWidth', 20)
         .attr('markerHeight', 14)
    -    .attr('markerUnits', 'strokeWidth')
    +    .attr('markerUnits', 'userSpaceOnUse')
         .attr('orient', 'auto')
         .append('path')
         .attr('d', 'M 19,7 L9,13 L14,7 L9,1 Z');
    diff --git a/packages/mermaid/src/utils/lineWithOffset.ts b/packages/mermaid/src/utils/lineWithOffset.ts
    index af0cd3b46e..8f82111f90 100644
    --- a/packages/mermaid/src/utils/lineWithOffset.ts
    +++ b/packages/mermaid/src/utils/lineWithOffset.ts
    @@ -9,7 +9,7 @@ const markerOffsets = {
       composition: 18,
       dependency: 6,
       lollipop: 13.5,
    -  arrow_point: 5.3,
    +  arrow_point: 4,
     } as const;
     
     /**
    
    From ce3d0a23de68467bd8343da9a101cf986ec6e983 Mon Sep 17 00:00:00 2001
    From: cmmoran 
    Date: Mon, 10 Jun 2024 07:06:39 +0000
    Subject: [PATCH 473/789] chore: update browsers list
    
    ---
     pnpm-lock.yaml | 2097 ++++++++++++++++++++++++++++++------------------
     1 file changed, 1329 insertions(+), 768 deletions(-)
    
    diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
    index ceaab85854..3cf45df604 100644
    --- a/pnpm-lock.yaml
    +++ b/pnpm-lock.yaml
    @@ -60,7 +60,7 @@ importers:
             version: 7.6.0(eslint@8.57.0)(typescript@5.4.5)
           '@vitest/coverage-v8':
             specifier: ^1.4.0
    -        version: 1.5.3(vitest@1.5.3(@types/node@20.12.7)(@vitest/ui@1.5.3)(jsdom@24.0.0)(terser@5.31.0))
    +        version: 1.5.3(vitest@1.5.3(@types/node@20.12.7)(@vitest/ui@1.5.3)(jsdom@24.0.0)(terser@5.31.1))
           '@vitest/spy':
             specifier: ^1.4.0
             version: 1.5.3
    @@ -192,13 +192,13 @@ importers:
             version: 5.4.5
           vite:
             specifier: ^5.2.3
    -        version: 5.2.10(@types/node@20.12.7)(terser@5.31.0)
    +        version: 5.2.10(@types/node@20.12.7)(terser@5.31.1)
           vite-plugin-istanbul:
             specifier: ^6.0.0
    -        version: 6.0.0(vite@5.2.10(@types/node@20.12.7)(terser@5.31.0))
    +        version: 6.0.0(vite@5.2.10(@types/node@20.12.7)(terser@5.31.1))
           vitest:
             specifier: ^1.4.0
    -        version: 1.5.3(@types/node@20.12.7)(@vitest/ui@1.5.3)(jsdom@24.0.0)(terser@5.31.0)
    +        version: 1.5.3(@types/node@20.12.7)(@vitest/ui@1.5.3)(jsdom@24.0.0)(terser@5.31.1)
     
       packages/mermaid:
         dependencies:
    @@ -473,10 +473,10 @@ importers:
             version: 0.59.4
           '@vite-pwa/vitepress':
             specifier: ^0.4.0
    -        version: 0.4.0(vite-plugin-pwa@0.19.8(vite@5.2.10(@types/node@20.12.7)(terser@5.31.0))(workbox-build@7.1.0(@types/babel__core@7.20.5))(workbox-window@7.0.0))
    +        version: 0.4.0(vite-plugin-pwa@0.19.8(vite@5.2.10(@types/node@20.12.7)(terser@5.31.1))(workbox-build@7.1.0(@types/babel__core@7.20.5))(workbox-window@7.0.0))
           '@vitejs/plugin-vue':
             specifier: ^5.0.0
    -        version: 5.0.4(vite@5.2.10(@types/node@20.12.7)(terser@5.31.0))(vue@3.4.26(typescript@5.4.5))
    +        version: 5.0.4(vite@5.2.10(@types/node@20.12.7)(terser@5.31.1))(vue@3.4.26(typescript@5.4.5))
           fast-glob:
             specifier: ^3.3.2
             version: 3.3.2
    @@ -488,19 +488,19 @@ importers:
             version: 1.1.2
           unocss:
             specifier: ^0.59.0
    -        version: 0.59.4(postcss@8.4.38)(rollup@2.79.1)(vite@5.2.10(@types/node@20.12.7)(terser@5.31.0))
    +        version: 0.59.4(postcss@8.4.38)(rollup@2.79.1)(vite@5.2.10(@types/node@20.12.7)(terser@5.31.1))
           unplugin-vue-components:
             specifier: ^0.26.0
    -        version: 0.26.0(@babel/parser@7.24.5)(rollup@2.79.1)(vue@3.4.26(typescript@5.4.5))
    +        version: 0.26.0(@babel/parser@7.24.7)(rollup@2.79.1)(vue@3.4.26(typescript@5.4.5))
           vite:
             specifier: ^5.0.0
    -        version: 5.2.10(@types/node@20.12.7)(terser@5.31.0)
    +        version: 5.2.10(@types/node@20.12.7)(terser@5.31.1)
           vite-plugin-pwa:
             specifier: ^0.19.7
    -        version: 0.19.8(vite@5.2.10(@types/node@20.12.7)(terser@5.31.0))(workbox-build@7.1.0(@types/babel__core@7.20.5))(workbox-window@7.0.0)
    +        version: 0.19.8(vite@5.2.10(@types/node@20.12.7)(terser@5.31.1))(workbox-build@7.1.0(@types/babel__core@7.20.5))(workbox-window@7.0.0)
           vitepress:
             specifier: 1.1.4
    -        version: 1.1.4(@algolia/client-search@4.23.3)(@types/node@20.12.7)(axios@1.6.7)(postcss@8.4.38)(search-insights@2.13.0)(terser@5.31.0)(typescript@5.4.5)
    +        version: 1.1.4(@algolia/client-search@4.23.3)(@types/node@20.12.7)(axios@1.6.7)(postcss@8.4.38)(search-insights@2.13.0)(terser@5.31.1)(typescript@5.4.5)
           workbox-window:
             specifier: ^7.0.0
             version: 7.0.0
    @@ -752,10 +752,18 @@ packages:
         resolution: {integrity: sha512-y5+tLQyV8pg3fsiln67BVLD1P13Eg4lh5RW9mF0zUuvLrv9uIQ4MCL+CRT+FTsBlBjcIan6PGsLcBN0m3ClUyQ==}
         engines: {node: '>=6.9.0'}
     
    +  '@babel/code-frame@7.24.7':
    +    resolution: {integrity: sha512-BcYH1CVJBO9tvyIZ2jVeXgSIMvGZ2FDRvDdOIVQyuklNKSsx+eppDEBq/g47Ayw+RqNFE+URvOShmf+f/qwAlA==}
    +    engines: {node: '>=6.9.0'}
    +
       '@babel/compat-data@7.24.4':
         resolution: {integrity: sha512-vg8Gih2MLK+kOkHJp4gBEIkyaIi00jgWot2D9QOmmfLC8jINSOzmCLta6Bvz/JSBCqnegV0L80jhxkol5GWNfQ==}
         engines: {node: '>=6.9.0'}
     
    +  '@babel/compat-data@7.24.7':
    +    resolution: {integrity: sha512-qJzAIcv03PyaWqxRgO4mSU3lihncDT296vnyuE2O8uA4w3UHWI4S3hgeZd1L8W1Bft40w9JxJ2b412iDUFFRhw==}
    +    engines: {node: '>=6.9.0'}
    +
       '@babel/core@7.24.4':
         resolution: {integrity: sha512-MBVlMXP+kkl5394RBLSxxk/iLTeVGuXTV3cIDXavPpMMqnSnt6apKgan/U8O3USWZCWZT/TbgfEpKa4uMgN4Dg==}
         engines: {node: '>=6.9.0'}
    @@ -764,30 +772,52 @@ packages:
         resolution: {integrity: sha512-tVQRucExLQ02Boi4vdPp49svNGcfL2GhdTCT9aldhXgCJVAI21EtRfBettiuLUwce/7r6bFdgs6JFkcdTiFttA==}
         engines: {node: '>=6.9.0'}
     
    +  '@babel/core@7.24.7':
    +    resolution: {integrity: sha512-nykK+LEK86ahTkX/3TgauT0ikKoNCfKHEaZYTUVupJdTLzGNvrblu4u6fa7DhZONAltdf8e662t/abY8idrd/g==}
    +    engines: {node: '>=6.9.0'}
    +
       '@babel/generator@7.24.5':
         resolution: {integrity: sha512-x32i4hEXvr+iI0NEoEfDKzlemF8AmtOP8CcrRaEcpzysWuoEb1KknpcvMsHKPONoKZiDuItklgWhB18xEhr9PA==}
         engines: {node: '>=6.9.0'}
     
    +  '@babel/generator@7.24.7':
    +    resolution: {integrity: sha512-oipXieGC3i45Y1A41t4tAqpnEZWgB/lC6Ehh6+rOviR5XWpTtMmLN+fGjz9vOiNRt0p6RtO6DtD0pdU3vpqdSA==}
    +    engines: {node: '>=6.9.0'}
    +
       '@babel/helper-annotate-as-pure@7.22.5':
         resolution: {integrity: sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg==}
         engines: {node: '>=6.9.0'}
     
    -  '@babel/helper-builder-binary-assignment-operator-visitor@7.22.15':
    -    resolution: {integrity: sha512-QkBXwGgaoC2GtGZRoma6kv7Szfv06khvhFav67ZExau2RaXzy8MpHSMO2PNoP2XtmQphJQRHFfg77Bq731Yizw==}
    +  '@babel/helper-annotate-as-pure@7.24.7':
    +    resolution: {integrity: sha512-BaDeOonYvhdKw+JoMVkAixAAJzG2jVPIwWoKBPdYuY9b452e2rPuI9QPYh3KpofZ3pW2akOmwZLOiOsHMiqRAg==}
    +    engines: {node: '>=6.9.0'}
    +
    +  '@babel/helper-builder-binary-assignment-operator-visitor@7.24.7':
    +    resolution: {integrity: sha512-xZeCVVdwb4MsDBkkyZ64tReWYrLRHlMN72vP7Bdm3OUOuyFZExhsHUUnuWnm2/XOlAJzR0LfPpB56WXZn0X/lA==}
         engines: {node: '>=6.9.0'}
     
       '@babel/helper-compilation-targets@7.23.6':
         resolution: {integrity: sha512-9JB548GZoQVmzrFgp8o7KxdgkTGm6xs9DW0o/Pim72UDjzr5ObUQ6ZzYPqA+g9OTS2bBQoctLJrky0RDCAWRgQ==}
         engines: {node: '>=6.9.0'}
     
    +  '@babel/helper-compilation-targets@7.24.7':
    +    resolution: {integrity: sha512-ctSdRHBi20qWOfy27RUb4Fhp07KSJ3sXcuSvTrXrc4aG8NSYDo1ici3Vhg9bg69y5bj0Mr1lh0aeEgTvc12rMg==}
    +    engines: {node: '>=6.9.0'}
    +
       '@babel/helper-create-class-features-plugin@7.24.5':
         resolution: {integrity: sha512-uRc4Cv8UQWnE4NXlYTIIdM7wfFkOqlFztcC/gVXDKohKoVB3OyonfelUBaJzSwpBntZ2KYGF/9S7asCHsXwW6g==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0
     
    -  '@babel/helper-create-regexp-features-plugin@7.22.15':
    -    resolution: {integrity: sha512-29FkPLFjn4TPEa3RE7GpW+qbE8tlsu3jntNYNfcGsc49LphF1PQIiD+vMZ1z1xVOKt+93khA9tc2JBs3kBjA7w==}
    +  '@babel/helper-create-class-features-plugin@7.24.7':
    +    resolution: {integrity: sha512-kTkaDl7c9vO80zeX1rJxnuRpEsD5tA81yh11X1gQo+PhSti3JS+7qeZo9U4RHobKRiFPKaGK3svUAeb8D0Q7eg==}
    +    engines: {node: '>=6.9.0'}
    +    peerDependencies:
    +      '@babel/core': ^7.0.0
    +
    +  '@babel/helper-create-regexp-features-plugin@7.24.7':
    +    resolution: {integrity: sha512-03TCmXy2FtXJEZfbXDTSqq1fRJArk7lX9DOFC/47VthYcxyIOx+eXQmdo6DOQvrbpIix+KfXwvuXdFDZHxt+rA==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0
    @@ -801,38 +831,72 @@ packages:
         resolution: {integrity: sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==}
         engines: {node: '>=6.9.0'}
     
    +  '@babel/helper-environment-visitor@7.24.7':
    +    resolution: {integrity: sha512-DoiN84+4Gnd0ncbBOM9AZENV4a5ZiL39HYMyZJGZ/AZEykHYdJw0wW3kdcsh9/Kn+BRXHLkkklZ51ecPKmI1CQ==}
    +    engines: {node: '>=6.9.0'}
    +
       '@babel/helper-function-name@7.23.0':
         resolution: {integrity: sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==}
         engines: {node: '>=6.9.0'}
     
    +  '@babel/helper-function-name@7.24.7':
    +    resolution: {integrity: sha512-FyoJTsj/PEUWu1/TYRiXTIHc8lbw+TDYkZuoE43opPS5TrI7MyONBE1oNvfguEXAD9yhQRrVBnXdXzSLQl9XnA==}
    +    engines: {node: '>=6.9.0'}
    +
       '@babel/helper-hoist-variables@7.22.5':
         resolution: {integrity: sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==}
         engines: {node: '>=6.9.0'}
     
    +  '@babel/helper-hoist-variables@7.24.7':
    +    resolution: {integrity: sha512-MJJwhkoGy5c4ehfoRyrJ/owKeMl19U54h27YYftT0o2teQ3FJ3nQUf/I3LlJsX4l3qlw7WRXUmiyajvHXoTubQ==}
    +    engines: {node: '>=6.9.0'}
    +
       '@babel/helper-member-expression-to-functions@7.24.5':
         resolution: {integrity: sha512-4owRteeihKWKamtqg4JmWSsEZU445xpFRXPEwp44HbgbxdWlUV1b4Agg4lkA806Lil5XM/e+FJyS0vj5T6vmcA==}
         engines: {node: '>=6.9.0'}
     
    +  '@babel/helper-member-expression-to-functions@7.24.7':
    +    resolution: {integrity: sha512-LGeMaf5JN4hAT471eJdBs/GK1DoYIJ5GCtZN/EsL6KUiiDZOvO/eKE11AMZJa2zP4zk4qe9V2O/hxAmkRc8p6w==}
    +    engines: {node: '>=6.9.0'}
    +
       '@babel/helper-module-imports@7.24.3':
         resolution: {integrity: sha512-viKb0F9f2s0BCS22QSF308z/+1YWKV/76mwt61NBzS5izMzDPwdq1pTrzf+Li3npBWX9KdQbkeCt1jSAM7lZqg==}
         engines: {node: '>=6.9.0'}
     
    +  '@babel/helper-module-imports@7.24.7':
    +    resolution: {integrity: sha512-8AyH3C+74cgCVVXow/myrynrAGv+nTVg5vKu2nZph9x7RcRwzmh0VFallJuFTZ9mx6u4eSdXZfcOzSqTUm0HCA==}
    +    engines: {node: '>=6.9.0'}
    +
       '@babel/helper-module-transforms@7.24.5':
         resolution: {integrity: sha512-9GxeY8c2d2mdQUP1Dye0ks3VDyIMS98kt/llQ2nUId8IsWqTF0l1LkSX0/uP7l7MCDrzXS009Hyhe2gzTiGW8A==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0
     
    +  '@babel/helper-module-transforms@7.24.7':
    +    resolution: {integrity: sha512-1fuJEwIrp+97rM4RWdO+qrRsZlAeL1lQJoPqtCYWv0NL115XM93hIH4CSRln2w52SqvmY5hqdtauB6QFCDiZNQ==}
    +    engines: {node: '>=6.9.0'}
    +    peerDependencies:
    +      '@babel/core': ^7.0.0
    +
       '@babel/helper-optimise-call-expression@7.22.5':
         resolution: {integrity: sha512-HBwaojN0xFRx4yIvpwGqxiV2tUfl7401jlok564NgB9EHS1y6QT17FmKWm4ztqjeVdXLuC4fSvHc5ePpQjoTbw==}
         engines: {node: '>=6.9.0'}
     
    +  '@babel/helper-optimise-call-expression@7.24.7':
    +    resolution: {integrity: sha512-jKiTsW2xmWwxT1ixIdfXUZp+P5yURx2suzLZr5Hi64rURpDYdMW0pv+Uf17EYk2Rd428Lx4tLsnjGJzYKDM/6A==}
    +    engines: {node: '>=6.9.0'}
    +
       '@babel/helper-plugin-utils@7.24.5':
         resolution: {integrity: sha512-xjNLDopRzW2o6ba0gKbkZq5YWEBaK3PCyTOY1K2P/O07LGMhMqlMXPxwN4S5/RhWuCobT8z0jrlKGlYmeR1OhQ==}
         engines: {node: '>=6.9.0'}
     
    -  '@babel/helper-remap-async-to-generator@7.22.20':
    -    resolution: {integrity: sha512-pBGyV4uBqOns+0UvhsTO8qgl8hO89PmiDYv+/COyp1aeMcmfrfruz+/nCMFiYyFF/Knn0yfrC85ZzNFjembFTw==}
    +  '@babel/helper-plugin-utils@7.24.7':
    +    resolution: {integrity: sha512-Rq76wjt7yz9AAc1KnlRKNAi/dMSVWgDRx43FHoJEbcYU6xOWaE2dVPwcdTukJrjxS65GITyfbvEYHvkirZ6uEg==}
    +    engines: {node: '>=6.9.0'}
    +
    +  '@babel/helper-remap-async-to-generator@7.24.7':
    +    resolution: {integrity: sha512-9pKLcTlZ92hNZMQfGCHImUpDOlAgkkpqalWEeftW5FBya75k8Li2ilerxkM/uBEj01iBZXcCIB/bwvDYgWyibA==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0
    @@ -843,22 +907,44 @@ packages:
         peerDependencies:
           '@babel/core': ^7.0.0
     
    +  '@babel/helper-replace-supers@7.24.7':
    +    resolution: {integrity: sha512-qTAxxBM81VEyoAY0TtLrx1oAEJc09ZK67Q9ljQToqCnA+55eNwCORaxlKyu+rNfX86o8OXRUSNUnrtsAZXM9sg==}
    +    engines: {node: '>=6.9.0'}
    +    peerDependencies:
    +      '@babel/core': ^7.0.0
    +
       '@babel/helper-simple-access@7.24.5':
         resolution: {integrity: sha512-uH3Hmf5q5n7n8mz7arjUlDOCbttY/DW4DYhE6FUsjKJ/oYC1kQQUvwEQWxRwUpX9qQKRXeqLwWxrqilMrf32sQ==}
         engines: {node: '>=6.9.0'}
     
    +  '@babel/helper-simple-access@7.24.7':
    +    resolution: {integrity: sha512-zBAIvbCMh5Ts+b86r/CjU+4XGYIs+R1j951gxI3KmmxBMhCg4oQMsv6ZXQ64XOm/cvzfU1FmoCyt6+owc5QMYg==}
    +    engines: {node: '>=6.9.0'}
    +
       '@babel/helper-skip-transparent-expression-wrappers@7.22.5':
         resolution: {integrity: sha512-tK14r66JZKiC43p8Ki33yLBVJKlQDFoA8GYN67lWCDCqoL6EMMSuM9b+Iff2jHaM/RRFYl7K+iiru7hbRqNx8Q==}
         engines: {node: '>=6.9.0'}
     
    +  '@babel/helper-skip-transparent-expression-wrappers@7.24.7':
    +    resolution: {integrity: sha512-IO+DLT3LQUElMbpzlatRASEyQtfhSE0+m465v++3jyyXeBTBUjtVZg28/gHeV5mrTJqvEKhKroBGAvhW+qPHiQ==}
    +    engines: {node: '>=6.9.0'}
    +
       '@babel/helper-split-export-declaration@7.24.5':
         resolution: {integrity: sha512-5CHncttXohrHk8GWOFCcCl4oRD9fKosWlIRgWm4ql9VYioKm52Mk2xsmoohvm7f3JoiLSM5ZgJuRaf5QZZYd3Q==}
         engines: {node: '>=6.9.0'}
     
    +  '@babel/helper-split-export-declaration@7.24.7':
    +    resolution: {integrity: sha512-oy5V7pD+UvfkEATUKvIjvIAH/xCzfsFVw7ygW2SI6NClZzquT+mwdTfgfdbUiceh6iQO0CHtCPsyze/MZ2YbAA==}
    +    engines: {node: '>=6.9.0'}
    +
       '@babel/helper-string-parser@7.24.1':
         resolution: {integrity: sha512-2ofRCjnnA9y+wk8b9IAREroeUP02KHp431N2mhKniy2yKIDKpbrHv9eXwm8cBeWQYcJmzv5qKCu65P47eCF7CQ==}
         engines: {node: '>=6.9.0'}
     
    +  '@babel/helper-string-parser@7.24.7':
    +    resolution: {integrity: sha512-7MbVt6xrwFQbunH2DNQsAP5sTGxfqQtErvBIvIMi6EQnbgUOuVYanvREcmFrOPhoXBrTtjhhP+lW+o5UfK+tDg==}
    +    engines: {node: '>=6.9.0'}
    +
       '@babel/helper-validator-identifier@7.22.20':
         resolution: {integrity: sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==}
         engines: {node: '>=6.9.0'}
    @@ -867,47 +953,68 @@ packages:
         resolution: {integrity: sha512-3q93SSKX2TWCG30M2G2kwaKeTYgEUp5Snjuj8qm729SObL6nbtUldAi37qbxkD5gg3xnBio+f9nqpSepGZMvxA==}
         engines: {node: '>=6.9.0'}
     
    +  '@babel/helper-validator-identifier@7.24.7':
    +    resolution: {integrity: sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w==}
    +    engines: {node: '>=6.9.0'}
    +
       '@babel/helper-validator-option@7.23.5':
         resolution: {integrity: sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw==}
         engines: {node: '>=6.9.0'}
     
    -  '@babel/helper-wrap-function@7.24.5':
    -    resolution: {integrity: sha512-/xxzuNvgRl4/HLNKvnFwdhdgN3cpLxgLROeLDl83Yx0AJ1SGvq1ak0OszTOjDfiB8Vx03eJbeDWh9r+jCCWttw==}
    +  '@babel/helper-validator-option@7.24.7':
    +    resolution: {integrity: sha512-yy1/KvjhV/ZCL+SM7hBrvnZJ3ZuT9OuZgIJAGpPEToANvc3iM6iDvBnRjtElWibHU6n8/LPR/EjX9EtIEYO3pw==}
    +    engines: {node: '>=6.9.0'}
    +
    +  '@babel/helper-wrap-function@7.24.7':
    +    resolution: {integrity: sha512-N9JIYk3TD+1vq/wn77YnJOqMtfWhNewNE+DJV4puD2X7Ew9J4JvrzrFDfTfyv5EgEXVy9/Wt8QiOErzEmv5Ifw==}
         engines: {node: '>=6.9.0'}
     
       '@babel/helpers@7.24.5':
         resolution: {integrity: sha512-CiQmBMMpMQHwM5m01YnrM6imUG1ebgYJ+fAIW4FZe6m4qHTPaRHti+R8cggAwkdz4oXhtO4/K9JWlh+8hIfR2Q==}
         engines: {node: '>=6.9.0'}
     
    +  '@babel/helpers@7.24.7':
    +    resolution: {integrity: sha512-NlmJJtvcw72yRJRcnCmGvSi+3jDEg8qFu3z0AFoymmzLx5ERVWyzd9kVXr7Th9/8yIJi2Zc6av4Tqz3wFs8QWg==}
    +    engines: {node: '>=6.9.0'}
    +
       '@babel/highlight@7.24.2':
         resolution: {integrity: sha512-Yac1ao4flkTxTteCDZLEvdxg2fZfz1v8M4QpaGypq/WPDqg3ijHYbDfs+LG5hvzSoqaSZ9/Z9lKSP3CjZjv+pA==}
         engines: {node: '>=6.9.0'}
     
    +  '@babel/highlight@7.24.7':
    +    resolution: {integrity: sha512-EStJpq4OuY8xYfhGVXngigBJRWxftKX9ksiGDnmlY3o7B/V7KIAc9X4oiK87uPJSc/vs5L869bem5fhZa8caZw==}
    +    engines: {node: '>=6.9.0'}
    +
       '@babel/parser@7.24.5':
         resolution: {integrity: sha512-EOv5IK8arwh3LI47dz1b0tKUb/1uhHAnHJOrjgtQMIpu1uXd9mlFrJg9IUgGUgZ41Ch0K8REPTYpO7B76b4vJg==}
         engines: {node: '>=6.0.0'}
         hasBin: true
     
    -  '@babel/plugin-bugfix-firefox-class-in-computed-class-key@7.24.5':
    -    resolution: {integrity: sha512-LdXRi1wEMTrHVR4Zc9F8OewC3vdm5h4QB6L71zy6StmYeqGi1b3ttIO8UC+BfZKcH9jdr4aI249rBkm+3+YvHw==}
    +  '@babel/parser@7.24.7':
    +    resolution: {integrity: sha512-9uUYRm6OqQrCqQdG1iCBwBPZgN8ciDBro2nIOFaiRz1/BCxaI7CNvQbDHvsArAC7Tw9Hda/B3U+6ui9u4HWXPw==}
    +    engines: {node: '>=6.0.0'}
    +    hasBin: true
    +
    +  '@babel/plugin-bugfix-firefox-class-in-computed-class-key@7.24.7':
    +    resolution: {integrity: sha512-TiT1ss81W80eQsN+722OaeQMY/G4yTb4G9JrqeiDADs3N8lbPMGldWi9x8tyqCW5NLx1Jh2AvkE6r6QvEltMMQ==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0
     
    -  '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.24.1':
    -    resolution: {integrity: sha512-y4HqEnkelJIOQGd+3g1bTeKsA5c6qM7eOn7VggGVbBc0y8MLSKHacwcIE2PplNlQSj0PqS9rrXL/nkPVK+kUNg==}
    +  '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.24.7':
    +    resolution: {integrity: sha512-unaQgZ/iRu/By6tsjMZzpeBZjChYfLYry6HrEXPoz3KmfF0sVBQ1l8zKMQ4xRGLWVsjuvB8nQfjNP/DcfEOCsg==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0
     
    -  '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.24.1':
    -    resolution: {integrity: sha512-Hj791Ii4ci8HqnaKHAlLNs+zaLXb0EzSDhiAWp5VNlyvCNymYfacs64pxTxbH1znW/NcArSmwpmG9IKE/TUVVQ==}
    +  '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.24.7':
    +    resolution: {integrity: sha512-+izXIbke1T33mY4MSNnrqhPXDz01WYhEf3yF5NbnUtkiNnm+XBZJl3kNfoK6NKmYlz/D07+l2GWVK/QfDkNCuQ==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.13.0
     
    -  '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.24.1':
    -    resolution: {integrity: sha512-m9m/fXsXLiHfwdgydIFnpk+7jlVbnvlK5B2EKiPdLUb6WX654ZaaEWJUjk8TftRbZpK0XibovlLWX4KIZhV6jw==}
    +  '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.24.7':
    +    resolution: {integrity: sha512-utA4HuR6F4Vvcr+o4DnjL8fCOlgRFGbeeBEGNg3ZTrLFw6VWG5XmUrvcQ0FjIYMU2ST4XcR2Wsp7t9qOAPnxMg==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0
    @@ -949,14 +1056,14 @@ packages:
         peerDependencies:
           '@babel/core': ^7.0.0-0
     
    -  '@babel/plugin-syntax-import-assertions@7.24.1':
    -    resolution: {integrity: sha512-IuwnI5XnuF189t91XbxmXeCDz3qs6iDRO7GJ++wcfgeXNs/8FmIlKcpDSXNVyuLQxlwvskmI3Ct73wUODkJBlQ==}
    +  '@babel/plugin-syntax-import-assertions@7.24.7':
    +    resolution: {integrity: sha512-Ec3NRUMoi8gskrkBe3fNmEQfxDvY8bgfQpz6jlk/41kX9eUjvpyqWU7PBP/pLAvMaSQjbMNKJmvX57jP+M6bPg==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
     
    -  '@babel/plugin-syntax-import-attributes@7.24.1':
    -    resolution: {integrity: sha512-zhQTMH0X2nVLnb04tz+s7AMuasX8U0FnpE+nHTOhSOINjWMnopoZTxtIKsd45n4GQ/HIZLyfIpoul8e2m0DnRA==}
    +  '@babel/plugin-syntax-import-attributes@7.24.7':
    +    resolution: {integrity: sha512-hbX+lKKeUMGihnK8nvKqmXBInriT3GVjzXKFriV3YC6APGxMbP8RZNFwy91+hocLXq90Mta+HshoB31802bb8A==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
    @@ -1031,134 +1138,134 @@ packages:
         peerDependencies:
           '@babel/core': ^7.0.0
     
    -  '@babel/plugin-transform-arrow-functions@7.24.1':
    -    resolution: {integrity: sha512-ngT/3NkRhsaep9ck9uj2Xhv9+xB1zShY3tM3g6om4xxCELwCDN4g4Aq5dRn48+0hasAql7s2hdBOysCfNpr4fw==}
    +  '@babel/plugin-transform-arrow-functions@7.24.7':
    +    resolution: {integrity: sha512-Dt9LQs6iEY++gXUwY03DNFat5C2NbO48jj+j/bSAz6b3HgPs39qcPiYt77fDObIcFwj3/C2ICX9YMwGflUoSHQ==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
     
    -  '@babel/plugin-transform-async-generator-functions@7.24.3':
    -    resolution: {integrity: sha512-Qe26CMYVjpQxJ8zxM1340JFNjZaF+ISWpr1Kt/jGo+ZTUzKkfw/pphEWbRCb+lmSM6k/TOgfYLvmbHkUQ0asIg==}
    +  '@babel/plugin-transform-async-generator-functions@7.24.7':
    +    resolution: {integrity: sha512-o+iF77e3u7ZS4AoAuJvapz9Fm001PuD2V3Lp6OSE4FYQke+cSewYtnek+THqGRWyQloRCyvWL1OkyfNEl9vr/g==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
     
    -  '@babel/plugin-transform-async-to-generator@7.24.1':
    -    resolution: {integrity: sha512-AawPptitRXp1y0n4ilKcGbRYWfbbzFWz2NqNu7dacYDtFtz0CMjG64b3LQsb3KIgnf4/obcUL78hfaOS7iCUfw==}
    +  '@babel/plugin-transform-async-to-generator@7.24.7':
    +    resolution: {integrity: sha512-SQY01PcJfmQ+4Ash7NE+rpbLFbmqA2GPIgqzxfFTL4t1FKRq4zTms/7htKpoCUI9OcFYgzqfmCdH53s6/jn5fA==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
     
    -  '@babel/plugin-transform-block-scoped-functions@7.24.1':
    -    resolution: {integrity: sha512-TWWC18OShZutrv9C6mye1xwtam+uNi2bnTOCBUd5sZxyHOiWbU6ztSROofIMrK84uweEZC219POICK/sTYwfgg==}
    +  '@babel/plugin-transform-block-scoped-functions@7.24.7':
    +    resolution: {integrity: sha512-yO7RAz6EsVQDaBH18IDJcMB1HnrUn2FJ/Jslc/WtPPWcjhpUJXU/rjbwmluzp7v/ZzWcEhTMXELnnsz8djWDwQ==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
     
    -  '@babel/plugin-transform-block-scoping@7.24.5':
    -    resolution: {integrity: sha512-sMfBc3OxghjC95BkYrYocHL3NaOplrcaunblzwXhGmlPwpmfsxr4vK+mBBt49r+S240vahmv+kUxkeKgs+haCw==}
    +  '@babel/plugin-transform-block-scoping@7.24.7':
    +    resolution: {integrity: sha512-Nd5CvgMbWc+oWzBsuaMcbwjJWAcp5qzrbg69SZdHSP7AMY0AbWFqFO0WTFCA1jxhMCwodRwvRec8k0QUbZk7RQ==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
     
    -  '@babel/plugin-transform-class-properties@7.24.1':
    -    resolution: {integrity: sha512-OMLCXi0NqvJfORTaPQBwqLXHhb93wkBKZ4aNwMl6WtehO7ar+cmp+89iPEQPqxAnxsOKTaMcs3POz3rKayJ72g==}
    +  '@babel/plugin-transform-class-properties@7.24.7':
    +    resolution: {integrity: sha512-vKbfawVYayKcSeSR5YYzzyXvsDFWU2mD8U5TFeXtbCPLFUqe7GyCgvO6XDHzje862ODrOwy6WCPmKeWHbCFJ4w==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
     
    -  '@babel/plugin-transform-class-static-block@7.24.4':
    -    resolution: {integrity: sha512-B8q7Pz870Hz/q9UgP8InNpY01CSLDSCyqX7zcRuv3FcPl87A2G17lASroHWaCtbdIcbYzOZ7kWmXFKbijMSmFg==}
    +  '@babel/plugin-transform-class-static-block@7.24.7':
    +    resolution: {integrity: sha512-HMXK3WbBPpZQufbMG4B46A90PkuuhN9vBCb5T8+VAHqvAqvcLi+2cKoukcpmUYkszLhScU3l1iudhrks3DggRQ==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.12.0
     
    -  '@babel/plugin-transform-classes@7.24.5':
    -    resolution: {integrity: sha512-gWkLP25DFj2dwe9Ck8uwMOpko4YsqyfZJrOmqqcegeDYEbp7rmn4U6UQZNj08UF6MaX39XenSpKRCvpDRBtZ7Q==}
    +  '@babel/plugin-transform-classes@7.24.7':
    +    resolution: {integrity: sha512-CFbbBigp8ln4FU6Bpy6g7sE8B/WmCmzvivzUC6xDAdWVsjYTXijpuuGJmYkAaoWAzcItGKT3IOAbxRItZ5HTjw==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
     
    -  '@babel/plugin-transform-computed-properties@7.24.1':
    -    resolution: {integrity: sha512-5pJGVIUfJpOS+pAqBQd+QMaTD2vCL/HcePooON6pDpHgRp4gNRmzyHTPIkXntwKsq3ayUFVfJaIKPw2pOkOcTw==}
    +  '@babel/plugin-transform-computed-properties@7.24.7':
    +    resolution: {integrity: sha512-25cS7v+707Gu6Ds2oY6tCkUwsJ9YIDbggd9+cu9jzzDgiNq7hR/8dkzxWfKWnTic26vsI3EsCXNd4iEB6e8esQ==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
     
    -  '@babel/plugin-transform-destructuring@7.24.5':
    -    resolution: {integrity: sha512-SZuuLyfxvsm+Ah57I/i1HVjveBENYK9ue8MJ7qkc7ndoNjqquJiElzA7f5yaAXjyW2hKojosOTAQQRX50bPSVg==}
    +  '@babel/plugin-transform-destructuring@7.24.7':
    +    resolution: {integrity: sha512-19eJO/8kdCQ9zISOf+SEUJM/bAUIsvY3YDnXZTupUCQ8LgrWnsG/gFB9dvXqdXnRXMAM8fvt7b0CBKQHNGy1mw==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
     
    -  '@babel/plugin-transform-dotall-regex@7.24.1':
    -    resolution: {integrity: sha512-p7uUxgSoZwZ2lPNMzUkqCts3xlp8n+o05ikjy7gbtFJSt9gdU88jAmtfmOxHM14noQXBxfgzf2yRWECiNVhTCw==}
    +  '@babel/plugin-transform-dotall-regex@7.24.7':
    +    resolution: {integrity: sha512-ZOA3W+1RRTSWvyqcMJDLqbchh7U4NRGqwRfFSVbOLS/ePIP4vHB5e8T8eXcuqyN1QkgKyj5wuW0lcS85v4CrSw==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
     
    -  '@babel/plugin-transform-duplicate-keys@7.24.1':
    -    resolution: {integrity: sha512-msyzuUnvsjsaSaocV6L7ErfNsa5nDWL1XKNnDePLgmz+WdU4w/J8+AxBMrWfi9m4IxfL5sZQKUPQKDQeeAT6lA==}
    +  '@babel/plugin-transform-duplicate-keys@7.24.7':
    +    resolution: {integrity: sha512-JdYfXyCRihAe46jUIliuL2/s0x0wObgwwiGxw/UbgJBr20gQBThrokO4nYKgWkD7uBaqM7+9x5TU7NkExZJyzw==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
     
    -  '@babel/plugin-transform-dynamic-import@7.24.1':
    -    resolution: {integrity: sha512-av2gdSTyXcJVdI+8aFZsCAtR29xJt0S5tas+Ef8NvBNmD1a+N/3ecMLeMBgfcK+xzsjdLDT6oHt+DFPyeqUbDA==}
    +  '@babel/plugin-transform-dynamic-import@7.24.7':
    +    resolution: {integrity: sha512-sc3X26PhZQDb3JhORmakcbvkeInvxz+A8oda99lj7J60QRuPZvNAk9wQlTBS1ZynelDrDmTU4pw1tyc5d5ZMUg==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
     
    -  '@babel/plugin-transform-exponentiation-operator@7.24.1':
    -    resolution: {integrity: sha512-U1yX13dVBSwS23DEAqU+Z/PkwE9/m7QQy8Y9/+Tdb8UWYaGNDYwTLi19wqIAiROr8sXVum9A/rtiH5H0boUcTw==}
    +  '@babel/plugin-transform-exponentiation-operator@7.24.7':
    +    resolution: {integrity: sha512-Rqe/vSc9OYgDajNIK35u7ot+KeCoetqQYFXM4Epf7M7ez3lWlOjrDjrwMei6caCVhfdw+mIKD4cgdGNy5JQotQ==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
     
    -  '@babel/plugin-transform-export-namespace-from@7.24.1':
    -    resolution: {integrity: sha512-Ft38m/KFOyzKw2UaJFkWG9QnHPG/Q/2SkOrRk4pNBPg5IPZ+dOxcmkK5IyuBcxiNPyyYowPGUReyBvrvZs7IlQ==}
    +  '@babel/plugin-transform-export-namespace-from@7.24.7':
    +    resolution: {integrity: sha512-v0K9uNYsPL3oXZ/7F9NNIbAj2jv1whUEtyA6aujhekLs56R++JDQuzRcP2/z4WX5Vg/c5lE9uWZA0/iUoFhLTA==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
     
    -  '@babel/plugin-transform-for-of@7.24.1':
    -    resolution: {integrity: sha512-OxBdcnF04bpdQdR3i4giHZNZQn7cm8RQKcSwA17wAAqEELo1ZOwp5FFgeptWUQXFyT9kwHo10aqqauYkRZPCAg==}
    +  '@babel/plugin-transform-for-of@7.24.7':
    +    resolution: {integrity: sha512-wo9ogrDG1ITTTBsy46oGiN1dS9A7MROBTcYsfS8DtsImMkHk9JXJ3EWQM6X2SUw4x80uGPlwj0o00Uoc6nEE3g==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
     
    -  '@babel/plugin-transform-function-name@7.24.1':
    -    resolution: {integrity: sha512-BXmDZpPlh7jwicKArQASrj8n22/w6iymRnvHYYd2zO30DbE277JO20/7yXJT3QxDPtiQiOxQBbZH4TpivNXIxA==}
    +  '@babel/plugin-transform-function-name@7.24.7':
    +    resolution: {integrity: sha512-U9FcnA821YoILngSmYkW6FjyQe2TyZD5pHt4EVIhmcTkrJw/3KqcrRSxuOo5tFZJi7TE19iDyI1u+weTI7bn2w==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
     
    -  '@babel/plugin-transform-json-strings@7.24.1':
    -    resolution: {integrity: sha512-U7RMFmRvoasscrIFy5xA4gIp8iWnWubnKkKuUGJjsuOH7GfbMkB+XZzeslx2kLdEGdOJDamEmCqOks6e8nv8DQ==}
    +  '@babel/plugin-transform-json-strings@7.24.7':
    +    resolution: {integrity: sha512-2yFnBGDvRuxAaE/f0vfBKvtnvvqU8tGpMHqMNpTN2oWMKIR3NqFkjaAgGwawhqK/pIN2T3XdjGPdaG0vDhOBGw==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
     
    -  '@babel/plugin-transform-literals@7.24.1':
    -    resolution: {integrity: sha512-zn9pwz8U7nCqOYIiBaOxoQOtYmMODXTJnkxG4AtX8fPmnCRYWBOHD0qcpwS9e2VDSp1zNJYpdnFMIKb8jmwu6g==}
    +  '@babel/plugin-transform-literals@7.24.7':
    +    resolution: {integrity: sha512-vcwCbb4HDH+hWi8Pqenwnjy+UiklO4Kt1vfspcQYFhJdpthSnW8XvWGyDZWKNVrVbVViI/S7K9PDJZiUmP2fYQ==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
     
    -  '@babel/plugin-transform-logical-assignment-operators@7.24.1':
    -    resolution: {integrity: sha512-OhN6J4Bpz+hIBqItTeWJujDOfNP+unqv/NJgyhlpSqgBTPm37KkMmZV6SYcOj+pnDbdcl1qRGV/ZiIjX9Iy34w==}
    +  '@babel/plugin-transform-logical-assignment-operators@7.24.7':
    +    resolution: {integrity: sha512-4D2tpwlQ1odXmTEIFWy9ELJcZHqrStlzK/dAOWYyxX3zT0iXQB6banjgeOJQXzEc4S0E0a5A+hahxPaEFYftsw==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
     
    -  '@babel/plugin-transform-member-expression-literals@7.24.1':
    -    resolution: {integrity: sha512-4ojai0KysTWXzHseJKa1XPNXKRbuUrhkOPY4rEGeR+7ChlJVKxFa3H3Bz+7tWaGKgJAXUWKOGmltN+u9B3+CVg==}
    +  '@babel/plugin-transform-member-expression-literals@7.24.7':
    +    resolution: {integrity: sha512-T/hRC1uqrzXMKLQ6UCwMT85S3EvqaBXDGf0FaMf4446Qx9vKwlghvee0+uuZcDUCZU5RuNi4781UQ7R308zzBw==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
     
    -  '@babel/plugin-transform-modules-amd@7.24.1':
    -    resolution: {integrity: sha512-lAxNHi4HVtjnHd5Rxg3D5t99Xm6H7b04hUS7EHIXcUl2EV4yl1gWdqZrNzXnSrHveL9qMdbODlLF55mvgjAfaQ==}
    +  '@babel/plugin-transform-modules-amd@7.24.7':
    +    resolution: {integrity: sha512-9+pB1qxV3vs/8Hdmz/CulFB8w2tuu6EB94JZFsjdqxQokwGa9Unap7Bo2gGBGIvPmDIVvQrom7r5m/TCDMURhg==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
    @@ -1169,128 +1276,134 @@ packages:
         peerDependencies:
           '@babel/core': ^7.0.0-0
     
    -  '@babel/plugin-transform-modules-systemjs@7.24.1':
    -    resolution: {integrity: sha512-mqQ3Zh9vFO1Tpmlt8QPnbwGHzNz3lpNEMxQb1kAemn/erstyqw1r9KeOlOfo3y6xAnFEcOv2tSyrXfmMk+/YZA==}
    +  '@babel/plugin-transform-modules-commonjs@7.24.7':
    +    resolution: {integrity: sha512-iFI8GDxtevHJ/Z22J5xQpVqFLlMNstcLXh994xifFwxxGslr2ZXXLWgtBeLctOD63UFDArdvN6Tg8RFw+aEmjQ==}
    +    engines: {node: '>=6.9.0'}
    +    peerDependencies:
    +      '@babel/core': ^7.0.0-0
    +
    +  '@babel/plugin-transform-modules-systemjs@7.24.7':
    +    resolution: {integrity: sha512-GYQE0tW7YoaN13qFh3O1NCY4MPkUiAH3fiF7UcV/I3ajmDKEdG3l+UOcbAm4zUE3gnvUU+Eni7XrVKo9eO9auw==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
     
    -  '@babel/plugin-transform-modules-umd@7.24.1':
    -    resolution: {integrity: sha512-tuA3lpPj+5ITfcCluy6nWonSL7RvaG0AOTeAuvXqEKS34lnLzXpDb0dcP6K8jD0zWZFNDVly90AGFJPnm4fOYg==}
    +  '@babel/plugin-transform-modules-umd@7.24.7':
    +    resolution: {integrity: sha512-3aytQvqJ/h9z4g8AsKPLvD4Zqi2qT+L3j7XoFFu1XBlZWEl2/1kWnhmAbxpLgPrHSY0M6UA02jyTiwUVtiKR6A==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
     
    -  '@babel/plugin-transform-named-capturing-groups-regex@7.22.5':
    -    resolution: {integrity: sha512-YgLLKmS3aUBhHaxp5hi1WJTgOUb/NCuDHzGT9z9WTt3YG+CPRhJs6nprbStx6DnWM4dh6gt7SU3sZodbZ08adQ==}
    +  '@babel/plugin-transform-named-capturing-groups-regex@7.24.7':
    +    resolution: {integrity: sha512-/jr7h/EWeJtk1U/uz2jlsCioHkZk1JJZVcc8oQsJ1dUlaJD83f4/6Zeh2aHt9BIFokHIsSeDfhUmju0+1GPd6g==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0
     
    -  '@babel/plugin-transform-new-target@7.24.1':
    -    resolution: {integrity: sha512-/rurytBM34hYy0HKZQyA0nHbQgQNFm4Q/BOc9Hflxi2X3twRof7NaE5W46j4kQitm7SvACVRXsa6N/tSZxvPug==}
    +  '@babel/plugin-transform-new-target@7.24.7':
    +    resolution: {integrity: sha512-RNKwfRIXg4Ls/8mMTza5oPF5RkOW8Wy/WgMAp1/F1yZ8mMbtwXW+HDoJiOsagWrAhI5f57Vncrmr9XeT4CVapA==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
     
    -  '@babel/plugin-transform-nullish-coalescing-operator@7.24.1':
    -    resolution: {integrity: sha512-iQ+caew8wRrhCikO5DrUYx0mrmdhkaELgFa+7baMcVuhxIkN7oxt06CZ51D65ugIb1UWRQ8oQe+HXAVM6qHFjw==}
    +  '@babel/plugin-transform-nullish-coalescing-operator@7.24.7':
    +    resolution: {integrity: sha512-Ts7xQVk1OEocqzm8rHMXHlxvsfZ0cEF2yomUqpKENHWMF4zKk175Y4q8H5knJes6PgYad50uuRmt3UJuhBw8pQ==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
     
    -  '@babel/plugin-transform-numeric-separator@7.24.1':
    -    resolution: {integrity: sha512-7GAsGlK4cNL2OExJH1DzmDeKnRv/LXq0eLUSvudrehVA5Rgg4bIrqEUW29FbKMBRT0ztSqisv7kjP+XIC4ZMNw==}
    +  '@babel/plugin-transform-numeric-separator@7.24.7':
    +    resolution: {integrity: sha512-e6q1TiVUzvH9KRvicuxdBTUj4AdKSRwzIyFFnfnezpCfP2/7Qmbb8qbU2j7GODbl4JMkblitCQjKYUaX/qkkwA==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
     
    -  '@babel/plugin-transform-object-rest-spread@7.24.5':
    -    resolution: {integrity: sha512-7EauQHszLGM3ay7a161tTQH7fj+3vVM/gThlz5HpFtnygTxjrlvoeq7MPVA1Vy9Q555OB8SnAOsMkLShNkkrHA==}
    +  '@babel/plugin-transform-object-rest-spread@7.24.7':
    +    resolution: {integrity: sha512-4QrHAr0aXQCEFni2q4DqKLD31n2DL+RxcwnNjDFkSG0eNQ/xCavnRkfCUjsyqGC2OviNJvZOF/mQqZBw7i2C5Q==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
     
    -  '@babel/plugin-transform-object-super@7.24.1':
    -    resolution: {integrity: sha512-oKJqR3TeI5hSLRxudMjFQ9re9fBVUU0GICqM3J1mi8MqlhVr6hC/ZN4ttAyMuQR6EZZIY6h/exe5swqGNNIkWQ==}
    +  '@babel/plugin-transform-object-super@7.24.7':
    +    resolution: {integrity: sha512-A/vVLwN6lBrMFmMDmPPz0jnE6ZGx7Jq7d6sT/Ev4H65RER6pZ+kczlf1DthF5N0qaPHBsI7UXiE8Zy66nmAovg==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
     
    -  '@babel/plugin-transform-optional-catch-binding@7.24.1':
    -    resolution: {integrity: sha512-oBTH7oURV4Y+3EUrf6cWn1OHio3qG/PVwO5J03iSJmBg6m2EhKjkAu/xuaXaYwWW9miYtvbWv4LNf0AmR43LUA==}
    +  '@babel/plugin-transform-optional-catch-binding@7.24.7':
    +    resolution: {integrity: sha512-uLEndKqP5BfBbC/5jTwPxLh9kqPWWgzN/f8w6UwAIirAEqiIVJWWY312X72Eub09g5KF9+Zn7+hT7sDxmhRuKA==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
     
    -  '@babel/plugin-transform-optional-chaining@7.24.5':
    -    resolution: {integrity: sha512-xWCkmwKT+ihmA6l7SSTpk8e4qQl/274iNbSKRRS8mpqFR32ksy36+a+LWY8OXCCEefF8WFlnOHVsaDI2231wBg==}
    +  '@babel/plugin-transform-optional-chaining@7.24.7':
    +    resolution: {integrity: sha512-tK+0N9yd4j+x/4hxF3F0e0fu/VdcxU18y5SevtyM/PCFlQvXbR0Zmlo2eBrKtVipGNFzpq56o8WsIIKcJFUCRQ==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
     
    -  '@babel/plugin-transform-parameters@7.24.5':
    -    resolution: {integrity: sha512-9Co00MqZ2aoky+4j2jhofErthm6QVLKbpQrvz20c3CH9KQCLHyNB+t2ya4/UrRpQGR+Wrwjg9foopoeSdnHOkA==}
    +  '@babel/plugin-transform-parameters@7.24.7':
    +    resolution: {integrity: sha512-yGWW5Rr+sQOhK0Ot8hjDJuxU3XLRQGflvT4lhlSY0DFvdb3TwKaY26CJzHtYllU0vT9j58hc37ndFPsqT1SrzA==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
     
    -  '@babel/plugin-transform-private-methods@7.24.1':
    -    resolution: {integrity: sha512-tGvisebwBO5em4PaYNqt4fkw56K2VALsAbAakY0FjTYqJp7gfdrgr7YX76Or8/cpik0W6+tj3rZ0uHU9Oil4tw==}
    +  '@babel/plugin-transform-private-methods@7.24.7':
    +    resolution: {integrity: sha512-COTCOkG2hn4JKGEKBADkA8WNb35TGkkRbI5iT845dB+NyqgO8Hn+ajPbSnIQznneJTa3d30scb6iz/DhH8GsJQ==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
     
    -  '@babel/plugin-transform-private-property-in-object@7.24.5':
    -    resolution: {integrity: sha512-JM4MHZqnWR04jPMujQDTBVRnqxpLLpx2tkn7iPn+Hmsc0Gnb79yvRWOkvqFOx3Z7P7VxiRIR22c4eGSNj87OBQ==}
    +  '@babel/plugin-transform-private-property-in-object@7.24.7':
    +    resolution: {integrity: sha512-9z76mxwnwFxMyxZWEgdgECQglF2Q7cFLm0kMf8pGwt+GSJsY0cONKj/UuO4bOH0w/uAel3ekS4ra5CEAyJRmDA==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
     
    -  '@babel/plugin-transform-property-literals@7.24.1':
    -    resolution: {integrity: sha512-LetvD7CrHmEx0G442gOomRr66d7q8HzzGGr4PMHGr+5YIm6++Yke+jxj246rpvsbyhJwCLxcTn6zW1P1BSenqA==}
    +  '@babel/plugin-transform-property-literals@7.24.7':
    +    resolution: {integrity: sha512-EMi4MLQSHfd2nrCqQEWxFdha2gBCqU4ZcCng4WBGZ5CJL4bBRW0ptdqqDdeirGZcpALazVVNJqRmsO8/+oNCBA==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
     
    -  '@babel/plugin-transform-regenerator@7.24.1':
    -    resolution: {integrity: sha512-sJwZBCzIBE4t+5Q4IGLaaun5ExVMRY0lYwos/jNecjMrVCygCdph3IKv0tkP5Fc87e/1+bebAmEAGBfnRD+cnw==}
    +  '@babel/plugin-transform-regenerator@7.24.7':
    +    resolution: {integrity: sha512-lq3fvXPdimDrlg6LWBoqj+r/DEWgONuwjuOuQCSYgRroXDH/IdM1C0IZf59fL5cHLpjEH/O6opIRBbqv7ELnuA==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
     
    -  '@babel/plugin-transform-reserved-words@7.24.1':
    -    resolution: {integrity: sha512-JAclqStUfIwKN15HrsQADFgeZt+wexNQ0uLhuqvqAUFoqPMjEcFCYZBhq0LUdz6dZK/mD+rErhW71fbx8RYElg==}
    +  '@babel/plugin-transform-reserved-words@7.24.7':
    +    resolution: {integrity: sha512-0DUq0pHcPKbjFZCfTss/pGkYMfy3vFWydkUBd9r0GHpIyfs2eCDENvqadMycRS9wZCXR41wucAfJHJmwA0UmoQ==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
     
    -  '@babel/plugin-transform-shorthand-properties@7.24.1':
    -    resolution: {integrity: sha512-LyjVB1nsJ6gTTUKRjRWx9C1s9hE7dLfP/knKdrfeH9UPtAGjYGgxIbFfx7xyLIEWs7Xe1Gnf8EWiUqfjLhInZA==}
    +  '@babel/plugin-transform-shorthand-properties@7.24.7':
    +    resolution: {integrity: sha512-KsDsevZMDsigzbA09+vacnLpmPH4aWjcZjXdyFKGzpplxhbeB4wYtury3vglQkg6KM/xEPKt73eCjPPf1PgXBA==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
     
    -  '@babel/plugin-transform-spread@7.24.1':
    -    resolution: {integrity: sha512-KjmcIM+fxgY+KxPVbjelJC6hrH1CgtPmTvdXAfn3/a9CnWGSTY7nH4zm5+cjmWJybdcPSsD0++QssDsjcpe47g==}
    +  '@babel/plugin-transform-spread@7.24.7':
    +    resolution: {integrity: sha512-x96oO0I09dgMDxJaANcRyD4ellXFLLiWhuwDxKZX5g2rWP1bTPkBSwCYv96VDXVT1bD9aPj8tppr5ITIh8hBng==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
     
    -  '@babel/plugin-transform-sticky-regex@7.24.1':
    -    resolution: {integrity: sha512-9v0f1bRXgPVcPrngOQvLXeGNNVLc8UjMVfebo9ka0WF3/7+aVUHmaJVT3sa0XCzEFioPfPHZiOcYG9qOsH63cw==}
    +  '@babel/plugin-transform-sticky-regex@7.24.7':
    +    resolution: {integrity: sha512-kHPSIJc9v24zEml5geKg9Mjx5ULpfncj0wRpYtxbvKyTtHCYDkVE3aHQ03FrpEo4gEe2vrJJS1Y9CJTaThA52g==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
     
    -  '@babel/plugin-transform-template-literals@7.24.1':
    -    resolution: {integrity: sha512-WRkhROsNzriarqECASCNu/nojeXCDTE/F2HmRgOzi7NGvyfYGq1NEjKBK3ckLfRgGc6/lPAqP0vDOSw3YtG34g==}
    +  '@babel/plugin-transform-template-literals@7.24.7':
    +    resolution: {integrity: sha512-AfDTQmClklHCOLxtGoP7HkeMw56k1/bTQjwsfhL6pppo/M4TOBSq+jjBUBLmV/4oeFg4GWMavIl44ZeCtmmZTw==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
     
    -  '@babel/plugin-transform-typeof-symbol@7.24.5':
    -    resolution: {integrity: sha512-UTGnhYVZtTAjdwOTzT+sCyXmTn8AhaxOS/MjG9REclZ6ULHWF9KoCZur0HSGU7hk8PdBFKKbYe6+gqdXWz84Jg==}
    +  '@babel/plugin-transform-typeof-symbol@7.24.7':
    +    resolution: {integrity: sha512-VtR8hDy7YLB7+Pet9IarXjg/zgCMSF+1mNS/EQEiEaUPoFXCVsHG64SIxcaaI2zJgRiv+YmgaQESUfWAdbjzgg==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
    @@ -1301,26 +1414,26 @@ packages:
         peerDependencies:
           '@babel/core': ^7.0.0-0
     
    -  '@babel/plugin-transform-unicode-escapes@7.24.1':
    -    resolution: {integrity: sha512-RlkVIcWT4TLI96zM660S877E7beKlQw7Ig+wqkKBiWfj0zH5Q4h50q6er4wzZKRNSYpfo6ILJ+hrJAGSX2qcNw==}
    +  '@babel/plugin-transform-unicode-escapes@7.24.7':
    +    resolution: {integrity: sha512-U3ap1gm5+4edc2Q/P+9VrBNhGkfnf+8ZqppY71Bo/pzZmXhhLdqgaUl6cuB07O1+AQJtCLfaOmswiNbSQ9ivhw==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
     
    -  '@babel/plugin-transform-unicode-property-regex@7.24.1':
    -    resolution: {integrity: sha512-Ss4VvlfYV5huWApFsF8/Sq0oXnGO+jB+rijFEFugTd3cwSObUSnUi88djgR5528Csl0uKlrI331kRqe56Ov2Ng==}
    +  '@babel/plugin-transform-unicode-property-regex@7.24.7':
    +    resolution: {integrity: sha512-uH2O4OV5M9FZYQrwc7NdVmMxQJOCCzFeYudlZSzUAHRFeOujQefa92E74TQDVskNHCzOXoigEuoyzHDhaEaK5w==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
     
    -  '@babel/plugin-transform-unicode-regex@7.24.1':
    -    resolution: {integrity: sha512-2A/94wgZgxfTsiLaQ2E36XAOdcZmGAaEEgVmxQWwZXWkGhvoHbaqXcKnU8zny4ycpu3vNqg0L/PcCiYtHtA13g==}
    +  '@babel/plugin-transform-unicode-regex@7.24.7':
    +    resolution: {integrity: sha512-hlQ96MBZSAXUq7ltkjtu3FJCCSMx/j629ns3hA3pXnBXjanNP0LHi+JpPeA81zaWgVK1VGH95Xuy7u0RyQ8kMg==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
     
    -  '@babel/plugin-transform-unicode-sets-regex@7.24.1':
    -    resolution: {integrity: sha512-fqj4WuzzS+ukpgerpAoOnMfQXwUHFxXUZUE84oL2Kao2N8uSlvcpnAidKASgsNgzZHBsHWvcm8s9FPWUhAb8fA==}
    +  '@babel/plugin-transform-unicode-sets-regex@7.24.7':
    +    resolution: {integrity: sha512-2G8aAvF4wy1w/AGZkemprdGMRg5o6zPNhbHVImRz3lss55TYCBd6xStN19rt8XJHq20sqV0JbyWjOWwQRwV/wg==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0
    @@ -1331,6 +1444,12 @@ packages:
         peerDependencies:
           '@babel/core': ^7.0.0-0
     
    +  '@babel/preset-env@7.24.7':
    +    resolution: {integrity: sha512-1YZNsc+y6cTvWlDHidMBsQZrZfEFjRIo/BZCT906PMdzOyXtSLTgqGdrpcuTDCXyd11Am5uQULtDIcCfnTc8fQ==}
    +    engines: {node: '>=6.9.0'}
    +    peerDependencies:
    +      '@babel/core': ^7.0.0-0
    +
       '@babel/preset-modules@0.1.6-no-external-plugins':
         resolution: {integrity: sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA==}
         peerDependencies:
    @@ -1353,22 +1472,34 @@ packages:
         resolution: {integrity: sha512-dkxf7+hn8mFBwKjs9bvBlArzLVxVbS8usaPUDd5p2a9JCL9tB8OaOVN1isD4+Xyk4ns89/xeOmbQvgdK7IIVdA==}
         engines: {node: '>=6.9.0'}
     
    -  '@babel/runtime@7.24.5':
    -    resolution: {integrity: sha512-Nms86NXrsaeU9vbBJKni6gXiEXZ4CVpYVzEjDH9Sb8vmZ3UljyA1GSOJl/6LGPO8EHLuSF9H+IxNXHPX8QHJ4g==}
    +  '@babel/runtime@7.24.7':
    +    resolution: {integrity: sha512-UwgBRMjJP+xv857DCngvqXI3Iq6J4v0wXmwc6sapg+zyhbwmQX67LUEFrkK5tbyJ30jGuG3ZvWpBiB9LCy1kWw==}
         engines: {node: '>=6.9.0'}
     
       '@babel/template@7.24.0':
         resolution: {integrity: sha512-Bkf2q8lMB0AFpX0NFEqSbx1OkTHf0f+0j82mkw+ZpzBnkk7e9Ql0891vlfgi+kHwOk8tQjiQHpqh4LaSa0fKEA==}
         engines: {node: '>=6.9.0'}
     
    +  '@babel/template@7.24.7':
    +    resolution: {integrity: sha512-jYqfPrU9JTF0PmPy1tLYHW4Mp4KlgxJD9l2nP9fD6yT/ICi554DmrWBAEYpIelzjHf1msDP3PxJIRt/nFNfBig==}
    +    engines: {node: '>=6.9.0'}
    +
       '@babel/traverse@7.24.5':
         resolution: {integrity: sha512-7aaBLeDQ4zYcUFDUD41lJc1fG8+5IU9DaNSJAgal866FGvmD5EbWQgnEC6kO1gGLsX0esNkfnJSndbTXA3r7UA==}
         engines: {node: '>=6.9.0'}
     
    +  '@babel/traverse@7.24.7':
    +    resolution: {integrity: sha512-yb65Ed5S/QAcewNPh0nZczy9JdYXkkAbIsEo+P7BE7yO3txAY30Y/oPa3QkQ5It3xVG2kpKMg9MsdxZaO31uKA==}
    +    engines: {node: '>=6.9.0'}
    +
       '@babel/types@7.24.5':
         resolution: {integrity: sha512-6mQNsaLeXTw0nxYUYu+NSa4Hx4BlF1x1x8/PMFbiR+GBSr+2DkECc69b8hgy2frEodNcvPffeH8YfWd3LI6jhQ==}
         engines: {node: '>=6.9.0'}
     
    +  '@babel/types@7.24.7':
    +    resolution: {integrity: sha512-XEFXSlxiG5td2EJRe8vOmRbaXVgfcBlszKujvVmWIK/UpywWljQCfzAv3RQCGujWQ1RD4YYWEAqDXfuJiy8f5Q==}
    +    engines: {node: '>=6.9.0'}
    +
       '@bcherny/json-schema-ref-parser@10.0.5-fork':
         resolution: {integrity: sha512-E/jKbPoca1tfUPj3iSbitDZTGnq6FUFjkH6L8U2oDwSuwK1WhnnVtCG7oFOTg/DDnyoXbQYUiUiGOibHqaGVnw==}
         engines: {node: '>= 16'}
    @@ -3213,8 +3344,8 @@ packages:
       ajv@8.12.0:
         resolution: {integrity: sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==}
     
    -  ajv@8.13.0:
    -    resolution: {integrity: sha512-PRA911Blj99jR5RMeTunVbNXMF6Lp4vZXnk5GQjcnUWUTsrXtekg/pnmFFI2u/I36Y/2bITGS30GZCXei6uNkA==}
    +  ajv@8.16.0:
    +    resolution: {integrity: sha512-F0twR8U1ZU67JIEtekUcLkXkoO5mMMmgGD8sK/xUFzJ805jxHQl92hImFAqqXMyMYjSPOyUPAwHYhB72g5sTXw==}
     
       algoliasearch@4.23.3:
         resolution: {integrity: sha512-Le/3YgNvjW9zxIQMRhUHuhiUjAlKY/zsdZpfq4dlLqg6mEm0nL6yk+7f2hDOtLpxsgE4jSzDmvHL7nXdBp5feg==}
    @@ -3874,8 +4005,8 @@ packages:
       core-js-compat@3.36.0:
         resolution: {integrity: sha512-iV9Pd/PsgjNWBXeq8XRtWVSgz2tKAfhfvBs7qxYty+RlRd+OCksaWmOnc4JKrTc1cToXL1N0s3l/vwlxPtdElw==}
     
    -  core-js-compat@3.37.0:
    -    resolution: {integrity: sha512-vYq4L+T8aS5UuFg4UwDhc7YNRWVeVZwltad9C/jV3R2LgVOpS9BDr7l/WL6BN0dbV3k1XejPTHqqEzJgsa0frA==}
    +  core-js-compat@3.37.1:
    +    resolution: {integrity: sha512-9TNiImhKvQqSUkOvk/mMRZzOANTiEVC7WaBNhHcKM7x+/5E1l5NvsysR19zuDQScE8k+kfQXWRN3AtS/eOSHpg==}
     
       core-util-is@1.0.2:
         resolution: {integrity: sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==}
    @@ -4226,6 +4357,15 @@ packages:
           supports-color:
             optional: true
     
    +  debug@4.3.5:
    +    resolution: {integrity: sha512-pt0bNEmneDIvdL1Xsd9oDQ/wrQRkXDT4AUWlNZNPKvW5x/jyO9VFXkJUP07vQ2upmw5PlaITaPKc31jK13V+jg==}
    +    engines: {node: '>=6.0'}
    +    peerDependencies:
    +      supports-color: '*'
    +    peerDependenciesMeta:
    +      supports-color:
    +        optional: true
    +
       decamelize@1.2.0:
         resolution: {integrity: sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==}
         engines: {node: '>=0.10.0'}
    @@ -5676,8 +5816,8 @@ packages:
         resolution: {integrity: sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ==}
         engines: {node: '>=14'}
     
    -  jake@10.8.7:
    -    resolution: {integrity: sha512-ZDi3aP+fG/LchyBzUM804VjddnwfSfsdeYkwt8NcbKRvo4rFkjhs456iLFn3k2ZUWvNe4i48WACDbza8fhq2+w==}
    +  jake@10.9.1:
    +    resolution: {integrity: sha512-61btcOHNnLnsOdtLgA5efqQWjnSi/vow5HbI7HMdKKWqvrKR1bLK3BPlJn9gcSaP2ewuamUSMB5XEy76KUIS2w==}
         engines: {node: '>=10'}
         hasBin: true
     
    @@ -6801,6 +6941,9 @@ packages:
       picocolors@1.0.0:
         resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==}
     
    +  picocolors@1.0.1:
    +    resolution: {integrity: sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew==}
    +
       picomatch@2.3.1:
         resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==}
         engines: {node: '>=8.6'}
    @@ -7756,6 +7899,11 @@ packages:
         engines: {node: '>=10'}
         hasBin: true
     
    +  terser@5.31.1:
    +    resolution: {integrity: sha512-37upzU1+viGvuFtBo9NPufCb9dwM0+l9hMxYyWfBA+fbwrPqNJAhbZ6W47bBFnZHKHTUBnMvi87434qq+qnxOg==}
    +    engines: {node: '>=10'}
    +    hasBin: true
    +
       test-exclude@6.0.0:
         resolution: {integrity: sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==}
         engines: {node: '>=8'}
    @@ -8806,9 +8954,9 @@ snapshots:
     
       '@antfu/utils@0.7.7': {}
     
    -  '@apideck/better-ajv-errors@0.3.6(ajv@8.13.0)':
    +  '@apideck/better-ajv-errors@0.3.6(ajv@8.16.0)':
         dependencies:
    -      ajv: 8.13.0
    +      ajv: 8.16.0
           json-schema: 0.4.0
           jsonpointer: 5.0.1
           leven: 3.1.0
    @@ -9062,8 +9210,15 @@ snapshots:
           '@babel/highlight': 7.24.2
           picocolors: 1.0.0
     
    +  '@babel/code-frame@7.24.7':
    +    dependencies:
    +      '@babel/highlight': 7.24.7
    +      picocolors: 1.0.1
    +
       '@babel/compat-data@7.24.4': {}
     
    +  '@babel/compat-data@7.24.7': {}
    +
       '@babel/core@7.24.4':
         dependencies:
           '@ampproject/remapping': 2.3.0
    @@ -9104,6 +9259,26 @@ snapshots:
         transitivePeerDependencies:
           - supports-color
     
    +  '@babel/core@7.24.7':
    +    dependencies:
    +      '@ampproject/remapping': 2.3.0
    +      '@babel/code-frame': 7.24.7
    +      '@babel/generator': 7.24.7
    +      '@babel/helper-compilation-targets': 7.24.7
    +      '@babel/helper-module-transforms': 7.24.7(@babel/core@7.24.7)
    +      '@babel/helpers': 7.24.7
    +      '@babel/parser': 7.24.7
    +      '@babel/template': 7.24.7
    +      '@babel/traverse': 7.24.7
    +      '@babel/types': 7.24.7
    +      convert-source-map: 2.0.0
    +      debug: 4.3.5
    +      gensync: 1.0.0-beta.2
    +      json5: 2.2.3
    +      semver: 6.3.1
    +    transitivePeerDependencies:
    +      - supports-color
    +
       '@babel/generator@7.24.5':
         dependencies:
           '@babel/types': 7.24.5
    @@ -9111,13 +9286,27 @@ snapshots:
           '@jridgewell/trace-mapping': 0.3.25
           jsesc: 2.5.2
     
    +  '@babel/generator@7.24.7':
    +    dependencies:
    +      '@babel/types': 7.24.7
    +      '@jridgewell/gen-mapping': 0.3.5
    +      '@jridgewell/trace-mapping': 0.3.25
    +      jsesc: 2.5.2
    +
       '@babel/helper-annotate-as-pure@7.22.5':
         dependencies:
           '@babel/types': 7.24.5
     
    -  '@babel/helper-builder-binary-assignment-operator-visitor@7.22.15':
    +  '@babel/helper-annotate-as-pure@7.24.7':
         dependencies:
    -      '@babel/types': 7.24.5
    +      '@babel/types': 7.24.7
    +
    +  '@babel/helper-builder-binary-assignment-operator-visitor@7.24.7':
    +    dependencies:
    +      '@babel/traverse': 7.24.7
    +      '@babel/types': 7.24.7
    +    transitivePeerDependencies:
    +      - supports-color
     
       '@babel/helper-compilation-targets@7.23.6':
         dependencies:
    @@ -9127,17 +9316,12 @@ snapshots:
           lru-cache: 5.1.1
           semver: 6.3.1
     
    -  '@babel/helper-create-class-features-plugin@7.24.5(@babel/core@7.24.4)':
    +  '@babel/helper-compilation-targets@7.24.7':
         dependencies:
    -      '@babel/core': 7.24.4
    -      '@babel/helper-annotate-as-pure': 7.22.5
    -      '@babel/helper-environment-visitor': 7.22.20
    -      '@babel/helper-function-name': 7.23.0
    -      '@babel/helper-member-expression-to-functions': 7.24.5
    -      '@babel/helper-optimise-call-expression': 7.22.5
    -      '@babel/helper-replace-supers': 7.24.1(@babel/core@7.24.4)
    -      '@babel/helper-skip-transparent-expression-wrappers': 7.22.5
    -      '@babel/helper-split-export-declaration': 7.24.5
    +      '@babel/compat-data': 7.24.7
    +      '@babel/helper-validator-option': 7.24.7
    +      browserslist: 4.23.0
    +      lru-cache: 5.1.1
           semver: 6.3.1
     
       '@babel/helper-create-class-features-plugin@7.24.5(@babel/core@7.24.5)':
    @@ -9153,37 +9337,67 @@ snapshots:
           '@babel/helper-split-export-declaration': 7.24.5
           semver: 6.3.1
     
    -  '@babel/helper-create-regexp-features-plugin@7.22.15(@babel/core@7.24.4)':
    +  '@babel/helper-create-class-features-plugin@7.24.7(@babel/core@7.24.4)':
         dependencies:
           '@babel/core': 7.24.4
    -      '@babel/helper-annotate-as-pure': 7.22.5
    +      '@babel/helper-annotate-as-pure': 7.24.7
    +      '@babel/helper-environment-visitor': 7.24.7
    +      '@babel/helper-function-name': 7.24.7
    +      '@babel/helper-member-expression-to-functions': 7.24.7
    +      '@babel/helper-optimise-call-expression': 7.24.7
    +      '@babel/helper-replace-supers': 7.24.7(@babel/core@7.24.4)
    +      '@babel/helper-skip-transparent-expression-wrappers': 7.24.7
    +      '@babel/helper-split-export-declaration': 7.24.7
    +      semver: 6.3.1
    +    transitivePeerDependencies:
    +      - supports-color
    +
    +  '@babel/helper-create-class-features-plugin@7.24.7(@babel/core@7.24.7)':
    +    dependencies:
    +      '@babel/core': 7.24.7
    +      '@babel/helper-annotate-as-pure': 7.24.7
    +      '@babel/helper-environment-visitor': 7.24.7
    +      '@babel/helper-function-name': 7.24.7
    +      '@babel/helper-member-expression-to-functions': 7.24.7
    +      '@babel/helper-optimise-call-expression': 7.24.7
    +      '@babel/helper-replace-supers': 7.24.7(@babel/core@7.24.7)
    +      '@babel/helper-skip-transparent-expression-wrappers': 7.24.7
    +      '@babel/helper-split-export-declaration': 7.24.7
    +      semver: 6.3.1
    +    transitivePeerDependencies:
    +      - supports-color
    +
    +  '@babel/helper-create-regexp-features-plugin@7.24.7(@babel/core@7.24.4)':
    +    dependencies:
    +      '@babel/core': 7.24.4
    +      '@babel/helper-annotate-as-pure': 7.24.7
           regexpu-core: 5.3.2
           semver: 6.3.1
     
    -  '@babel/helper-create-regexp-features-plugin@7.22.15(@babel/core@7.24.5)':
    +  '@babel/helper-create-regexp-features-plugin@7.24.7(@babel/core@7.24.7)':
         dependencies:
    -      '@babel/core': 7.24.5
    -      '@babel/helper-annotate-as-pure': 7.22.5
    +      '@babel/core': 7.24.7
    +      '@babel/helper-annotate-as-pure': 7.24.7
           regexpu-core: 5.3.2
           semver: 6.3.1
     
       '@babel/helper-define-polyfill-provider@0.6.2(@babel/core@7.24.4)':
         dependencies:
           '@babel/core': 7.24.4
    -      '@babel/helper-compilation-targets': 7.23.6
    -      '@babel/helper-plugin-utils': 7.24.5
    -      debug: 4.3.4(supports-color@8.1.1)
    +      '@babel/helper-compilation-targets': 7.24.7
    +      '@babel/helper-plugin-utils': 7.24.7
    +      debug: 4.3.5
           lodash.debounce: 4.0.8
           resolve: 1.22.8
         transitivePeerDependencies:
           - supports-color
     
    -  '@babel/helper-define-polyfill-provider@0.6.2(@babel/core@7.24.5)':
    +  '@babel/helper-define-polyfill-provider@0.6.2(@babel/core@7.24.7)':
         dependencies:
    -      '@babel/core': 7.24.5
    -      '@babel/helper-compilation-targets': 7.23.6
    -      '@babel/helper-plugin-utils': 7.24.5
    -      debug: 4.3.4(supports-color@8.1.1)
    +      '@babel/core': 7.24.7
    +      '@babel/helper-compilation-targets': 7.24.7
    +      '@babel/helper-plugin-utils': 7.24.7
    +      debug: 4.3.5
           lodash.debounce: 4.0.8
           resolve: 1.22.8
         transitivePeerDependencies:
    @@ -9191,23 +9405,50 @@ snapshots:
     
       '@babel/helper-environment-visitor@7.22.20': {}
     
    +  '@babel/helper-environment-visitor@7.24.7':
    +    dependencies:
    +      '@babel/types': 7.24.7
    +
       '@babel/helper-function-name@7.23.0':
         dependencies:
           '@babel/template': 7.24.0
           '@babel/types': 7.24.5
     
    +  '@babel/helper-function-name@7.24.7':
    +    dependencies:
    +      '@babel/template': 7.24.7
    +      '@babel/types': 7.24.7
    +
       '@babel/helper-hoist-variables@7.22.5':
         dependencies:
           '@babel/types': 7.24.5
     
    +  '@babel/helper-hoist-variables@7.24.7':
    +    dependencies:
    +      '@babel/types': 7.24.7
    +
       '@babel/helper-member-expression-to-functions@7.24.5':
         dependencies:
           '@babel/types': 7.24.5
     
    +  '@babel/helper-member-expression-to-functions@7.24.7':
    +    dependencies:
    +      '@babel/traverse': 7.24.7
    +      '@babel/types': 7.24.7
    +    transitivePeerDependencies:
    +      - supports-color
    +
       '@babel/helper-module-imports@7.24.3':
         dependencies:
           '@babel/types': 7.24.5
     
    +  '@babel/helper-module-imports@7.24.7':
    +    dependencies:
    +      '@babel/traverse': 7.24.7
    +      '@babel/types': 7.24.7
    +    transitivePeerDependencies:
    +      - supports-color
    +
       '@babel/helper-module-transforms@7.24.5(@babel/core@7.24.4)':
         dependencies:
           '@babel/core': 7.24.4
    @@ -9226,32 +9467,57 @@ snapshots:
           '@babel/helper-split-export-declaration': 7.24.5
           '@babel/helper-validator-identifier': 7.24.5
     
    +  '@babel/helper-module-transforms@7.24.7(@babel/core@7.24.4)':
    +    dependencies:
    +      '@babel/core': 7.24.4
    +      '@babel/helper-environment-visitor': 7.24.7
    +      '@babel/helper-module-imports': 7.24.7
    +      '@babel/helper-simple-access': 7.24.7
    +      '@babel/helper-split-export-declaration': 7.24.7
    +      '@babel/helper-validator-identifier': 7.24.7
    +    transitivePeerDependencies:
    +      - supports-color
    +
    +  '@babel/helper-module-transforms@7.24.7(@babel/core@7.24.7)':
    +    dependencies:
    +      '@babel/core': 7.24.7
    +      '@babel/helper-environment-visitor': 7.24.7
    +      '@babel/helper-module-imports': 7.24.7
    +      '@babel/helper-simple-access': 7.24.7
    +      '@babel/helper-split-export-declaration': 7.24.7
    +      '@babel/helper-validator-identifier': 7.24.7
    +    transitivePeerDependencies:
    +      - supports-color
    +
       '@babel/helper-optimise-call-expression@7.22.5':
         dependencies:
           '@babel/types': 7.24.5
     
    +  '@babel/helper-optimise-call-expression@7.24.7':
    +    dependencies:
    +      '@babel/types': 7.24.7
    +
       '@babel/helper-plugin-utils@7.24.5': {}
     
    -  '@babel/helper-remap-async-to-generator@7.22.20(@babel/core@7.24.4)':
    -    dependencies:
    -      '@babel/core': 7.24.4
    -      '@babel/helper-annotate-as-pure': 7.22.5
    -      '@babel/helper-environment-visitor': 7.22.20
    -      '@babel/helper-wrap-function': 7.24.5
    +  '@babel/helper-plugin-utils@7.24.7': {}
     
    -  '@babel/helper-remap-async-to-generator@7.22.20(@babel/core@7.24.5)':
    +  '@babel/helper-remap-async-to-generator@7.24.7(@babel/core@7.24.4)':
         dependencies:
    -      '@babel/core': 7.24.5
    -      '@babel/helper-annotate-as-pure': 7.22.5
    -      '@babel/helper-environment-visitor': 7.22.20
    -      '@babel/helper-wrap-function': 7.24.5
    +      '@babel/core': 7.24.4
    +      '@babel/helper-annotate-as-pure': 7.24.7
    +      '@babel/helper-environment-visitor': 7.24.7
    +      '@babel/helper-wrap-function': 7.24.7
    +    transitivePeerDependencies:
    +      - supports-color
     
    -  '@babel/helper-replace-supers@7.24.1(@babel/core@7.24.4)':
    +  '@babel/helper-remap-async-to-generator@7.24.7(@babel/core@7.24.7)':
         dependencies:
    -      '@babel/core': 7.24.4
    -      '@babel/helper-environment-visitor': 7.22.20
    -      '@babel/helper-member-expression-to-functions': 7.24.5
    -      '@babel/helper-optimise-call-expression': 7.22.5
    +      '@babel/core': 7.24.7
    +      '@babel/helper-annotate-as-pure': 7.24.7
    +      '@babel/helper-environment-visitor': 7.24.7
    +      '@babel/helper-wrap-function': 7.24.7
    +    transitivePeerDependencies:
    +      - supports-color
     
       '@babel/helper-replace-supers@7.24.1(@babel/core@7.24.5)':
         dependencies:
    @@ -9260,31 +9526,76 @@ snapshots:
           '@babel/helper-member-expression-to-functions': 7.24.5
           '@babel/helper-optimise-call-expression': 7.22.5
     
    +  '@babel/helper-replace-supers@7.24.7(@babel/core@7.24.4)':
    +    dependencies:
    +      '@babel/core': 7.24.4
    +      '@babel/helper-environment-visitor': 7.24.7
    +      '@babel/helper-member-expression-to-functions': 7.24.7
    +      '@babel/helper-optimise-call-expression': 7.24.7
    +    transitivePeerDependencies:
    +      - supports-color
    +
    +  '@babel/helper-replace-supers@7.24.7(@babel/core@7.24.7)':
    +    dependencies:
    +      '@babel/core': 7.24.7
    +      '@babel/helper-environment-visitor': 7.24.7
    +      '@babel/helper-member-expression-to-functions': 7.24.7
    +      '@babel/helper-optimise-call-expression': 7.24.7
    +    transitivePeerDependencies:
    +      - supports-color
    +
       '@babel/helper-simple-access@7.24.5':
         dependencies:
           '@babel/types': 7.24.5
     
    +  '@babel/helper-simple-access@7.24.7':
    +    dependencies:
    +      '@babel/traverse': 7.24.7
    +      '@babel/types': 7.24.7
    +    transitivePeerDependencies:
    +      - supports-color
    +
       '@babel/helper-skip-transparent-expression-wrappers@7.22.5':
         dependencies:
           '@babel/types': 7.24.5
     
    +  '@babel/helper-skip-transparent-expression-wrappers@7.24.7':
    +    dependencies:
    +      '@babel/traverse': 7.24.7
    +      '@babel/types': 7.24.7
    +    transitivePeerDependencies:
    +      - supports-color
    +
       '@babel/helper-split-export-declaration@7.24.5':
         dependencies:
           '@babel/types': 7.24.5
     
    +  '@babel/helper-split-export-declaration@7.24.7':
    +    dependencies:
    +      '@babel/types': 7.24.7
    +
       '@babel/helper-string-parser@7.24.1': {}
     
    +  '@babel/helper-string-parser@7.24.7': {}
    +
       '@babel/helper-validator-identifier@7.22.20': {}
     
       '@babel/helper-validator-identifier@7.24.5': {}
     
    +  '@babel/helper-validator-identifier@7.24.7': {}
    +
       '@babel/helper-validator-option@7.23.5': {}
     
    -  '@babel/helper-wrap-function@7.24.5':
    +  '@babel/helper-validator-option@7.24.7': {}
    +
    +  '@babel/helper-wrap-function@7.24.7':
         dependencies:
    -      '@babel/helper-function-name': 7.23.0
    -      '@babel/template': 7.24.0
    -      '@babel/types': 7.24.5
    +      '@babel/helper-function-name': 7.24.7
    +      '@babel/template': 7.24.7
    +      '@babel/traverse': 7.24.7
    +      '@babel/types': 7.24.7
    +    transitivePeerDependencies:
    +      - supports-color
     
       '@babel/helpers@7.24.5':
         dependencies:
    @@ -9294,6 +9605,11 @@ snapshots:
         transitivePeerDependencies:
           - supports-color
     
    +  '@babel/helpers@7.24.7':
    +    dependencies:
    +      '@babel/template': 7.24.7
    +      '@babel/types': 7.24.7
    +
       '@babel/highlight@7.24.2':
         dependencies:
           '@babel/helper-validator-identifier': 7.24.5
    @@ -9301,65 +9617,80 @@ snapshots:
           js-tokens: 4.0.0
           picocolors: 1.0.0
     
    +  '@babel/highlight@7.24.7':
    +    dependencies:
    +      '@babel/helper-validator-identifier': 7.24.7
    +      chalk: 2.4.2
    +      js-tokens: 4.0.0
    +      picocolors: 1.0.1
    +
       '@babel/parser@7.24.5':
         dependencies:
           '@babel/types': 7.24.5
     
    -  '@babel/plugin-bugfix-firefox-class-in-computed-class-key@7.24.5(@babel/core@7.24.4)':
    +  '@babel/parser@7.24.7':
    +    dependencies:
    +      '@babel/types': 7.24.7
    +
    +  '@babel/plugin-bugfix-firefox-class-in-computed-class-key@7.24.7(@babel/core@7.24.4)':
         dependencies:
           '@babel/core': 7.24.4
    -      '@babel/helper-environment-visitor': 7.22.20
    -      '@babel/helper-plugin-utils': 7.24.5
    +      '@babel/helper-environment-visitor': 7.24.7
    +      '@babel/helper-plugin-utils': 7.24.7
     
    -  '@babel/plugin-bugfix-firefox-class-in-computed-class-key@7.24.5(@babel/core@7.24.5)':
    +  '@babel/plugin-bugfix-firefox-class-in-computed-class-key@7.24.7(@babel/core@7.24.7)':
         dependencies:
    -      '@babel/core': 7.24.5
    -      '@babel/helper-environment-visitor': 7.22.20
    -      '@babel/helper-plugin-utils': 7.24.5
    +      '@babel/core': 7.24.7
    +      '@babel/helper-environment-visitor': 7.24.7
    +      '@babel/helper-plugin-utils': 7.24.7
     
    -  '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.24.1(@babel/core@7.24.4)':
    +  '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.24.7(@babel/core@7.24.4)':
         dependencies:
           '@babel/core': 7.24.4
    -      '@babel/helper-plugin-utils': 7.24.5
    +      '@babel/helper-plugin-utils': 7.24.7
     
    -  '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.24.1(@babel/core@7.24.5)':
    +  '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.24.7(@babel/core@7.24.7)':
         dependencies:
    -      '@babel/core': 7.24.5
    -      '@babel/helper-plugin-utils': 7.24.5
    +      '@babel/core': 7.24.7
    +      '@babel/helper-plugin-utils': 7.24.7
     
    -  '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.24.1(@babel/core@7.24.4)':
    +  '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.24.7(@babel/core@7.24.4)':
         dependencies:
           '@babel/core': 7.24.4
    -      '@babel/helper-plugin-utils': 7.24.5
    -      '@babel/helper-skip-transparent-expression-wrappers': 7.22.5
    -      '@babel/plugin-transform-optional-chaining': 7.24.5(@babel/core@7.24.4)
    +      '@babel/helper-plugin-utils': 7.24.7
    +      '@babel/helper-skip-transparent-expression-wrappers': 7.24.7
    +      '@babel/plugin-transform-optional-chaining': 7.24.7(@babel/core@7.24.4)
    +    transitivePeerDependencies:
    +      - supports-color
     
    -  '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.24.1(@babel/core@7.24.5)':
    +  '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.24.7(@babel/core@7.24.7)':
         dependencies:
    -      '@babel/core': 7.24.5
    -      '@babel/helper-plugin-utils': 7.24.5
    -      '@babel/helper-skip-transparent-expression-wrappers': 7.22.5
    -      '@babel/plugin-transform-optional-chaining': 7.24.5(@babel/core@7.24.5)
    +      '@babel/core': 7.24.7
    +      '@babel/helper-plugin-utils': 7.24.7
    +      '@babel/helper-skip-transparent-expression-wrappers': 7.24.7
    +      '@babel/plugin-transform-optional-chaining': 7.24.7(@babel/core@7.24.7)
    +    transitivePeerDependencies:
    +      - supports-color
     
    -  '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.24.1(@babel/core@7.24.4)':
    +  '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.24.7(@babel/core@7.24.4)':
         dependencies:
           '@babel/core': 7.24.4
    -      '@babel/helper-environment-visitor': 7.22.20
    -      '@babel/helper-plugin-utils': 7.24.5
    +      '@babel/helper-environment-visitor': 7.24.7
    +      '@babel/helper-plugin-utils': 7.24.7
     
    -  '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.24.1(@babel/core@7.24.5)':
    +  '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.24.7(@babel/core@7.24.7)':
         dependencies:
    -      '@babel/core': 7.24.5
    -      '@babel/helper-environment-visitor': 7.22.20
    -      '@babel/helper-plugin-utils': 7.24.5
    +      '@babel/core': 7.24.7
    +      '@babel/helper-environment-visitor': 7.24.7
    +      '@babel/helper-plugin-utils': 7.24.7
     
       '@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2(@babel/core@7.24.4)':
         dependencies:
           '@babel/core': 7.24.4
     
    -  '@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2(@babel/core@7.24.5)':
    +  '@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2(@babel/core@7.24.7)':
         dependencies:
    -      '@babel/core': 7.24.5
    +      '@babel/core': 7.24.7
     
       '@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.24.4)':
         dependencies:
    @@ -9371,6 +9702,11 @@ snapshots:
           '@babel/core': 7.24.5
           '@babel/helper-plugin-utils': 7.24.5
     
    +  '@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.24.7)':
    +    dependencies:
    +      '@babel/core': 7.24.7
    +      '@babel/helper-plugin-utils': 7.24.5
    +
       '@babel/plugin-syntax-bigint@7.8.3(@babel/core@7.24.5)':
         dependencies:
           '@babel/core': 7.24.5
    @@ -9386,55 +9722,60 @@ snapshots:
           '@babel/core': 7.24.5
           '@babel/helper-plugin-utils': 7.24.5
     
    +  '@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.24.7)':
    +    dependencies:
    +      '@babel/core': 7.24.7
    +      '@babel/helper-plugin-utils': 7.24.5
    +
       '@babel/plugin-syntax-class-static-block@7.14.5(@babel/core@7.24.4)':
         dependencies:
           '@babel/core': 7.24.4
    -      '@babel/helper-plugin-utils': 7.24.5
    +      '@babel/helper-plugin-utils': 7.24.7
     
    -  '@babel/plugin-syntax-class-static-block@7.14.5(@babel/core@7.24.5)':
    +  '@babel/plugin-syntax-class-static-block@7.14.5(@babel/core@7.24.7)':
         dependencies:
    -      '@babel/core': 7.24.5
    -      '@babel/helper-plugin-utils': 7.24.5
    +      '@babel/core': 7.24.7
    +      '@babel/helper-plugin-utils': 7.24.7
     
       '@babel/plugin-syntax-dynamic-import@7.8.3(@babel/core@7.24.4)':
         dependencies:
           '@babel/core': 7.24.4
    -      '@babel/helper-plugin-utils': 7.24.5
    +      '@babel/helper-plugin-utils': 7.24.7
     
    -  '@babel/plugin-syntax-dynamic-import@7.8.3(@babel/core@7.24.5)':
    +  '@babel/plugin-syntax-dynamic-import@7.8.3(@babel/core@7.24.7)':
         dependencies:
    -      '@babel/core': 7.24.5
    -      '@babel/helper-plugin-utils': 7.24.5
    +      '@babel/core': 7.24.7
    +      '@babel/helper-plugin-utils': 7.24.7
     
       '@babel/plugin-syntax-export-namespace-from@7.8.3(@babel/core@7.24.4)':
         dependencies:
           '@babel/core': 7.24.4
    -      '@babel/helper-plugin-utils': 7.24.5
    +      '@babel/helper-plugin-utils': 7.24.7
     
    -  '@babel/plugin-syntax-export-namespace-from@7.8.3(@babel/core@7.24.5)':
    +  '@babel/plugin-syntax-export-namespace-from@7.8.3(@babel/core@7.24.7)':
         dependencies:
    -      '@babel/core': 7.24.5
    -      '@babel/helper-plugin-utils': 7.24.5
    +      '@babel/core': 7.24.7
    +      '@babel/helper-plugin-utils': 7.24.7
     
    -  '@babel/plugin-syntax-import-assertions@7.24.1(@babel/core@7.24.4)':
    +  '@babel/plugin-syntax-import-assertions@7.24.7(@babel/core@7.24.4)':
         dependencies:
           '@babel/core': 7.24.4
    -      '@babel/helper-plugin-utils': 7.24.5
    +      '@babel/helper-plugin-utils': 7.24.7
     
    -  '@babel/plugin-syntax-import-assertions@7.24.1(@babel/core@7.24.5)':
    +  '@babel/plugin-syntax-import-assertions@7.24.7(@babel/core@7.24.7)':
         dependencies:
    -      '@babel/core': 7.24.5
    -      '@babel/helper-plugin-utils': 7.24.5
    +      '@babel/core': 7.24.7
    +      '@babel/helper-plugin-utils': 7.24.7
     
    -  '@babel/plugin-syntax-import-attributes@7.24.1(@babel/core@7.24.4)':
    +  '@babel/plugin-syntax-import-attributes@7.24.7(@babel/core@7.24.4)':
         dependencies:
           '@babel/core': 7.24.4
    -      '@babel/helper-plugin-utils': 7.24.5
    +      '@babel/helper-plugin-utils': 7.24.7
     
    -  '@babel/plugin-syntax-import-attributes@7.24.1(@babel/core@7.24.5)':
    +  '@babel/plugin-syntax-import-attributes@7.24.7(@babel/core@7.24.7)':
         dependencies:
    -      '@babel/core': 7.24.5
    -      '@babel/helper-plugin-utils': 7.24.5
    +      '@babel/core': 7.24.7
    +      '@babel/helper-plugin-utils': 7.24.7
     
       '@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.24.4)':
         dependencies:
    @@ -9446,7 +9787,12 @@ snapshots:
           '@babel/core': 7.24.5
           '@babel/helper-plugin-utils': 7.24.5
     
    -  '@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.24.4)':
    +  '@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.24.7)':
    +    dependencies:
    +      '@babel/core': 7.24.7
    +      '@babel/helper-plugin-utils': 7.24.5
    +
    +  '@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.24.4)':
         dependencies:
           '@babel/core': 7.24.4
           '@babel/helper-plugin-utils': 7.24.5
    @@ -9456,6 +9802,11 @@ snapshots:
           '@babel/core': 7.24.5
           '@babel/helper-plugin-utils': 7.24.5
     
    +  '@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.24.7)':
    +    dependencies:
    +      '@babel/core': 7.24.7
    +      '@babel/helper-plugin-utils': 7.24.5
    +
       '@babel/plugin-syntax-jsx@7.24.1(@babel/core@7.24.5)':
         dependencies:
           '@babel/core': 7.24.5
    @@ -9471,6 +9822,11 @@ snapshots:
           '@babel/core': 7.24.5
           '@babel/helper-plugin-utils': 7.24.5
     
    +  '@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.24.7)':
    +    dependencies:
    +      '@babel/core': 7.24.7
    +      '@babel/helper-plugin-utils': 7.24.5
    +
       '@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.24.4)':
         dependencies:
           '@babel/core': 7.24.4
    @@ -9481,6 +9837,11 @@ snapshots:
           '@babel/core': 7.24.5
           '@babel/helper-plugin-utils': 7.24.5
     
    +  '@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.24.7)':
    +    dependencies:
    +      '@babel/core': 7.24.7
    +      '@babel/helper-plugin-utils': 7.24.5
    +
       '@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.24.4)':
         dependencies:
           '@babel/core': 7.24.4
    @@ -9491,6 +9852,11 @@ snapshots:
           '@babel/core': 7.24.5
           '@babel/helper-plugin-utils': 7.24.5
     
    +  '@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.24.7)':
    +    dependencies:
    +      '@babel/core': 7.24.7
    +      '@babel/helper-plugin-utils': 7.24.5
    +
       '@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.24.4)':
         dependencies:
           '@babel/core': 7.24.4
    @@ -9501,6 +9867,11 @@ snapshots:
           '@babel/core': 7.24.5
           '@babel/helper-plugin-utils': 7.24.5
     
    +  '@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.24.7)':
    +    dependencies:
    +      '@babel/core': 7.24.7
    +      '@babel/helper-plugin-utils': 7.24.5
    +
       '@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.24.4)':
         dependencies:
           '@babel/core': 7.24.4
    @@ -9511,6 +9882,11 @@ snapshots:
           '@babel/core': 7.24.5
           '@babel/helper-plugin-utils': 7.24.5
     
    +  '@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.24.7)':
    +    dependencies:
    +      '@babel/core': 7.24.7
    +      '@babel/helper-plugin-utils': 7.24.5
    +
       '@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.24.4)':
         dependencies:
           '@babel/core': 7.24.4
    @@ -9521,15 +9897,20 @@ snapshots:
           '@babel/core': 7.24.5
           '@babel/helper-plugin-utils': 7.24.5
     
    +  '@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.24.7)':
    +    dependencies:
    +      '@babel/core': 7.24.7
    +      '@babel/helper-plugin-utils': 7.24.5
    +
       '@babel/plugin-syntax-private-property-in-object@7.14.5(@babel/core@7.24.4)':
         dependencies:
           '@babel/core': 7.24.4
    -      '@babel/helper-plugin-utils': 7.24.5
    +      '@babel/helper-plugin-utils': 7.24.7
     
    -  '@babel/plugin-syntax-private-property-in-object@7.14.5(@babel/core@7.24.5)':
    +  '@babel/plugin-syntax-private-property-in-object@7.14.5(@babel/core@7.24.7)':
         dependencies:
    -      '@babel/core': 7.24.5
    -      '@babel/helper-plugin-utils': 7.24.5
    +      '@babel/core': 7.24.7
    +      '@babel/helper-plugin-utils': 7.24.7
     
       '@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.24.4)':
         dependencies:
    @@ -9541,6 +9922,11 @@ snapshots:
           '@babel/core': 7.24.5
           '@babel/helper-plugin-utils': 7.24.5
     
    +  '@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.24.7)':
    +    dependencies:
    +      '@babel/core': 7.24.7
    +      '@babel/helper-plugin-utils': 7.24.5
    +
       '@babel/plugin-syntax-typescript@7.24.1(@babel/core@7.24.5)':
         dependencies:
           '@babel/core': 7.24.5
    @@ -9549,550 +9935,621 @@ snapshots:
       '@babel/plugin-syntax-unicode-sets-regex@7.18.6(@babel/core@7.24.4)':
         dependencies:
           '@babel/core': 7.24.4
    -      '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.24.4)
    -      '@babel/helper-plugin-utils': 7.24.5
    +      '@babel/helper-create-regexp-features-plugin': 7.24.7(@babel/core@7.24.4)
    +      '@babel/helper-plugin-utils': 7.24.7
     
    -  '@babel/plugin-syntax-unicode-sets-regex@7.18.6(@babel/core@7.24.5)':
    +  '@babel/plugin-syntax-unicode-sets-regex@7.18.6(@babel/core@7.24.7)':
         dependencies:
    -      '@babel/core': 7.24.5
    -      '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.24.5)
    -      '@babel/helper-plugin-utils': 7.24.5
    +      '@babel/core': 7.24.7
    +      '@babel/helper-create-regexp-features-plugin': 7.24.7(@babel/core@7.24.7)
    +      '@babel/helper-plugin-utils': 7.24.7
     
    -  '@babel/plugin-transform-arrow-functions@7.24.1(@babel/core@7.24.4)':
    +  '@babel/plugin-transform-arrow-functions@7.24.7(@babel/core@7.24.4)':
         dependencies:
           '@babel/core': 7.24.4
    -      '@babel/helper-plugin-utils': 7.24.5
    +      '@babel/helper-plugin-utils': 7.24.7
     
    -  '@babel/plugin-transform-arrow-functions@7.24.1(@babel/core@7.24.5)':
    +  '@babel/plugin-transform-arrow-functions@7.24.7(@babel/core@7.24.7)':
         dependencies:
    -      '@babel/core': 7.24.5
    -      '@babel/helper-plugin-utils': 7.24.5
    +      '@babel/core': 7.24.7
    +      '@babel/helper-plugin-utils': 7.24.7
     
    -  '@babel/plugin-transform-async-generator-functions@7.24.3(@babel/core@7.24.4)':
    +  '@babel/plugin-transform-async-generator-functions@7.24.7(@babel/core@7.24.4)':
         dependencies:
           '@babel/core': 7.24.4
    -      '@babel/helper-environment-visitor': 7.22.20
    -      '@babel/helper-plugin-utils': 7.24.5
    -      '@babel/helper-remap-async-to-generator': 7.22.20(@babel/core@7.24.4)
    +      '@babel/helper-environment-visitor': 7.24.7
    +      '@babel/helper-plugin-utils': 7.24.7
    +      '@babel/helper-remap-async-to-generator': 7.24.7(@babel/core@7.24.4)
           '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.24.4)
    +    transitivePeerDependencies:
    +      - supports-color
     
    -  '@babel/plugin-transform-async-generator-functions@7.24.3(@babel/core@7.24.5)':
    +  '@babel/plugin-transform-async-generator-functions@7.24.7(@babel/core@7.24.7)':
         dependencies:
    -      '@babel/core': 7.24.5
    -      '@babel/helper-environment-visitor': 7.22.20
    -      '@babel/helper-plugin-utils': 7.24.5
    -      '@babel/helper-remap-async-to-generator': 7.22.20(@babel/core@7.24.5)
    -      '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.24.5)
    +      '@babel/core': 7.24.7
    +      '@babel/helper-environment-visitor': 7.24.7
    +      '@babel/helper-plugin-utils': 7.24.7
    +      '@babel/helper-remap-async-to-generator': 7.24.7(@babel/core@7.24.7)
    +      '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.24.7)
    +    transitivePeerDependencies:
    +      - supports-color
     
    -  '@babel/plugin-transform-async-to-generator@7.24.1(@babel/core@7.24.4)':
    +  '@babel/plugin-transform-async-to-generator@7.24.7(@babel/core@7.24.4)':
         dependencies:
           '@babel/core': 7.24.4
    -      '@babel/helper-module-imports': 7.24.3
    -      '@babel/helper-plugin-utils': 7.24.5
    -      '@babel/helper-remap-async-to-generator': 7.22.20(@babel/core@7.24.4)
    +      '@babel/helper-module-imports': 7.24.7
    +      '@babel/helper-plugin-utils': 7.24.7
    +      '@babel/helper-remap-async-to-generator': 7.24.7(@babel/core@7.24.4)
    +    transitivePeerDependencies:
    +      - supports-color
     
    -  '@babel/plugin-transform-async-to-generator@7.24.1(@babel/core@7.24.5)':
    +  '@babel/plugin-transform-async-to-generator@7.24.7(@babel/core@7.24.7)':
         dependencies:
    -      '@babel/core': 7.24.5
    -      '@babel/helper-module-imports': 7.24.3
    -      '@babel/helper-plugin-utils': 7.24.5
    -      '@babel/helper-remap-async-to-generator': 7.22.20(@babel/core@7.24.5)
    +      '@babel/core': 7.24.7
    +      '@babel/helper-module-imports': 7.24.7
    +      '@babel/helper-plugin-utils': 7.24.7
    +      '@babel/helper-remap-async-to-generator': 7.24.7(@babel/core@7.24.7)
    +    transitivePeerDependencies:
    +      - supports-color
     
    -  '@babel/plugin-transform-block-scoped-functions@7.24.1(@babel/core@7.24.4)':
    +  '@babel/plugin-transform-block-scoped-functions@7.24.7(@babel/core@7.24.4)':
         dependencies:
           '@babel/core': 7.24.4
    -      '@babel/helper-plugin-utils': 7.24.5
    +      '@babel/helper-plugin-utils': 7.24.7
     
    -  '@babel/plugin-transform-block-scoped-functions@7.24.1(@babel/core@7.24.5)':
    +  '@babel/plugin-transform-block-scoped-functions@7.24.7(@babel/core@7.24.7)':
         dependencies:
    -      '@babel/core': 7.24.5
    -      '@babel/helper-plugin-utils': 7.24.5
    +      '@babel/core': 7.24.7
    +      '@babel/helper-plugin-utils': 7.24.7
     
    -  '@babel/plugin-transform-block-scoping@7.24.5(@babel/core@7.24.4)':
    +  '@babel/plugin-transform-block-scoping@7.24.7(@babel/core@7.24.4)':
         dependencies:
           '@babel/core': 7.24.4
    -      '@babel/helper-plugin-utils': 7.24.5
    +      '@babel/helper-plugin-utils': 7.24.7
     
    -  '@babel/plugin-transform-block-scoping@7.24.5(@babel/core@7.24.5)':
    +  '@babel/plugin-transform-block-scoping@7.24.7(@babel/core@7.24.7)':
         dependencies:
    -      '@babel/core': 7.24.5
    -      '@babel/helper-plugin-utils': 7.24.5
    +      '@babel/core': 7.24.7
    +      '@babel/helper-plugin-utils': 7.24.7
     
    -  '@babel/plugin-transform-class-properties@7.24.1(@babel/core@7.24.4)':
    +  '@babel/plugin-transform-class-properties@7.24.7(@babel/core@7.24.4)':
         dependencies:
           '@babel/core': 7.24.4
    -      '@babel/helper-create-class-features-plugin': 7.24.5(@babel/core@7.24.4)
    -      '@babel/helper-plugin-utils': 7.24.5
    +      '@babel/helper-create-class-features-plugin': 7.24.7(@babel/core@7.24.4)
    +      '@babel/helper-plugin-utils': 7.24.7
    +    transitivePeerDependencies:
    +      - supports-color
     
    -  '@babel/plugin-transform-class-properties@7.24.1(@babel/core@7.24.5)':
    +  '@babel/plugin-transform-class-properties@7.24.7(@babel/core@7.24.7)':
         dependencies:
    -      '@babel/core': 7.24.5
    -      '@babel/helper-create-class-features-plugin': 7.24.5(@babel/core@7.24.5)
    -      '@babel/helper-plugin-utils': 7.24.5
    +      '@babel/core': 7.24.7
    +      '@babel/helper-create-class-features-plugin': 7.24.7(@babel/core@7.24.7)
    +      '@babel/helper-plugin-utils': 7.24.7
    +    transitivePeerDependencies:
    +      - supports-color
     
    -  '@babel/plugin-transform-class-static-block@7.24.4(@babel/core@7.24.4)':
    +  '@babel/plugin-transform-class-static-block@7.24.7(@babel/core@7.24.4)':
         dependencies:
           '@babel/core': 7.24.4
    -      '@babel/helper-create-class-features-plugin': 7.24.5(@babel/core@7.24.4)
    -      '@babel/helper-plugin-utils': 7.24.5
    +      '@babel/helper-create-class-features-plugin': 7.24.7(@babel/core@7.24.4)
    +      '@babel/helper-plugin-utils': 7.24.7
           '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.24.4)
    +    transitivePeerDependencies:
    +      - supports-color
     
    -  '@babel/plugin-transform-class-static-block@7.24.4(@babel/core@7.24.5)':
    +  '@babel/plugin-transform-class-static-block@7.24.7(@babel/core@7.24.7)':
         dependencies:
    -      '@babel/core': 7.24.5
    -      '@babel/helper-create-class-features-plugin': 7.24.5(@babel/core@7.24.5)
    -      '@babel/helper-plugin-utils': 7.24.5
    -      '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.24.5)
    +      '@babel/core': 7.24.7
    +      '@babel/helper-create-class-features-plugin': 7.24.7(@babel/core@7.24.7)
    +      '@babel/helper-plugin-utils': 7.24.7
    +      '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.24.7)
    +    transitivePeerDependencies:
    +      - supports-color
     
    -  '@babel/plugin-transform-classes@7.24.5(@babel/core@7.24.4)':
    +  '@babel/plugin-transform-classes@7.24.7(@babel/core@7.24.4)':
         dependencies:
           '@babel/core': 7.24.4
    -      '@babel/helper-annotate-as-pure': 7.22.5
    -      '@babel/helper-compilation-targets': 7.23.6
    -      '@babel/helper-environment-visitor': 7.22.20
    -      '@babel/helper-function-name': 7.23.0
    -      '@babel/helper-plugin-utils': 7.24.5
    -      '@babel/helper-replace-supers': 7.24.1(@babel/core@7.24.4)
    -      '@babel/helper-split-export-declaration': 7.24.5
    +      '@babel/helper-annotate-as-pure': 7.24.7
    +      '@babel/helper-compilation-targets': 7.24.7
    +      '@babel/helper-environment-visitor': 7.24.7
    +      '@babel/helper-function-name': 7.24.7
    +      '@babel/helper-plugin-utils': 7.24.7
    +      '@babel/helper-replace-supers': 7.24.7(@babel/core@7.24.4)
    +      '@babel/helper-split-export-declaration': 7.24.7
           globals: 11.12.0
    +    transitivePeerDependencies:
    +      - supports-color
     
    -  '@babel/plugin-transform-classes@7.24.5(@babel/core@7.24.5)':
    +  '@babel/plugin-transform-classes@7.24.7(@babel/core@7.24.7)':
         dependencies:
    -      '@babel/core': 7.24.5
    -      '@babel/helper-annotate-as-pure': 7.22.5
    -      '@babel/helper-compilation-targets': 7.23.6
    -      '@babel/helper-environment-visitor': 7.22.20
    -      '@babel/helper-function-name': 7.23.0
    -      '@babel/helper-plugin-utils': 7.24.5
    -      '@babel/helper-replace-supers': 7.24.1(@babel/core@7.24.5)
    -      '@babel/helper-split-export-declaration': 7.24.5
    +      '@babel/core': 7.24.7
    +      '@babel/helper-annotate-as-pure': 7.24.7
    +      '@babel/helper-compilation-targets': 7.24.7
    +      '@babel/helper-environment-visitor': 7.24.7
    +      '@babel/helper-function-name': 7.24.7
    +      '@babel/helper-plugin-utils': 7.24.7
    +      '@babel/helper-replace-supers': 7.24.7(@babel/core@7.24.7)
    +      '@babel/helper-split-export-declaration': 7.24.7
           globals: 11.12.0
    +    transitivePeerDependencies:
    +      - supports-color
     
    -  '@babel/plugin-transform-computed-properties@7.24.1(@babel/core@7.24.4)':
    +  '@babel/plugin-transform-computed-properties@7.24.7(@babel/core@7.24.4)':
         dependencies:
           '@babel/core': 7.24.4
    -      '@babel/helper-plugin-utils': 7.24.5
    -      '@babel/template': 7.24.0
    +      '@babel/helper-plugin-utils': 7.24.7
    +      '@babel/template': 7.24.7
     
    -  '@babel/plugin-transform-computed-properties@7.24.1(@babel/core@7.24.5)':
    +  '@babel/plugin-transform-computed-properties@7.24.7(@babel/core@7.24.7)':
         dependencies:
    -      '@babel/core': 7.24.5
    -      '@babel/helper-plugin-utils': 7.24.5
    -      '@babel/template': 7.24.0
    +      '@babel/core': 7.24.7
    +      '@babel/helper-plugin-utils': 7.24.7
    +      '@babel/template': 7.24.7
     
    -  '@babel/plugin-transform-destructuring@7.24.5(@babel/core@7.24.4)':
    +  '@babel/plugin-transform-destructuring@7.24.7(@babel/core@7.24.4)':
         dependencies:
           '@babel/core': 7.24.4
    -      '@babel/helper-plugin-utils': 7.24.5
    +      '@babel/helper-plugin-utils': 7.24.7
     
    -  '@babel/plugin-transform-destructuring@7.24.5(@babel/core@7.24.5)':
    +  '@babel/plugin-transform-destructuring@7.24.7(@babel/core@7.24.7)':
         dependencies:
    -      '@babel/core': 7.24.5
    -      '@babel/helper-plugin-utils': 7.24.5
    +      '@babel/core': 7.24.7
    +      '@babel/helper-plugin-utils': 7.24.7
     
    -  '@babel/plugin-transform-dotall-regex@7.24.1(@babel/core@7.24.4)':
    +  '@babel/plugin-transform-dotall-regex@7.24.7(@babel/core@7.24.4)':
         dependencies:
           '@babel/core': 7.24.4
    -      '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.24.4)
    -      '@babel/helper-plugin-utils': 7.24.5
    +      '@babel/helper-create-regexp-features-plugin': 7.24.7(@babel/core@7.24.4)
    +      '@babel/helper-plugin-utils': 7.24.7
     
    -  '@babel/plugin-transform-dotall-regex@7.24.1(@babel/core@7.24.5)':
    +  '@babel/plugin-transform-dotall-regex@7.24.7(@babel/core@7.24.7)':
         dependencies:
    -      '@babel/core': 7.24.5
    -      '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.24.5)
    -      '@babel/helper-plugin-utils': 7.24.5
    +      '@babel/core': 7.24.7
    +      '@babel/helper-create-regexp-features-plugin': 7.24.7(@babel/core@7.24.7)
    +      '@babel/helper-plugin-utils': 7.24.7
     
    -  '@babel/plugin-transform-duplicate-keys@7.24.1(@babel/core@7.24.4)':
    +  '@babel/plugin-transform-duplicate-keys@7.24.7(@babel/core@7.24.4)':
         dependencies:
           '@babel/core': 7.24.4
    -      '@babel/helper-plugin-utils': 7.24.5
    +      '@babel/helper-plugin-utils': 7.24.7
     
    -  '@babel/plugin-transform-duplicate-keys@7.24.1(@babel/core@7.24.5)':
    +  '@babel/plugin-transform-duplicate-keys@7.24.7(@babel/core@7.24.7)':
         dependencies:
    -      '@babel/core': 7.24.5
    -      '@babel/helper-plugin-utils': 7.24.5
    +      '@babel/core': 7.24.7
    +      '@babel/helper-plugin-utils': 7.24.7
     
    -  '@babel/plugin-transform-dynamic-import@7.24.1(@babel/core@7.24.4)':
    +  '@babel/plugin-transform-dynamic-import@7.24.7(@babel/core@7.24.4)':
         dependencies:
           '@babel/core': 7.24.4
    -      '@babel/helper-plugin-utils': 7.24.5
    +      '@babel/helper-plugin-utils': 7.24.7
           '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.24.4)
     
    -  '@babel/plugin-transform-dynamic-import@7.24.1(@babel/core@7.24.5)':
    +  '@babel/plugin-transform-dynamic-import@7.24.7(@babel/core@7.24.7)':
         dependencies:
    -      '@babel/core': 7.24.5
    -      '@babel/helper-plugin-utils': 7.24.5
    -      '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.24.5)
    +      '@babel/core': 7.24.7
    +      '@babel/helper-plugin-utils': 7.24.7
    +      '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.24.7)
     
    -  '@babel/plugin-transform-exponentiation-operator@7.24.1(@babel/core@7.24.4)':
    +  '@babel/plugin-transform-exponentiation-operator@7.24.7(@babel/core@7.24.4)':
         dependencies:
           '@babel/core': 7.24.4
    -      '@babel/helper-builder-binary-assignment-operator-visitor': 7.22.15
    -      '@babel/helper-plugin-utils': 7.24.5
    +      '@babel/helper-builder-binary-assignment-operator-visitor': 7.24.7
    +      '@babel/helper-plugin-utils': 7.24.7
    +    transitivePeerDependencies:
    +      - supports-color
     
    -  '@babel/plugin-transform-exponentiation-operator@7.24.1(@babel/core@7.24.5)':
    +  '@babel/plugin-transform-exponentiation-operator@7.24.7(@babel/core@7.24.7)':
         dependencies:
    -      '@babel/core': 7.24.5
    -      '@babel/helper-builder-binary-assignment-operator-visitor': 7.22.15
    -      '@babel/helper-plugin-utils': 7.24.5
    +      '@babel/core': 7.24.7
    +      '@babel/helper-builder-binary-assignment-operator-visitor': 7.24.7
    +      '@babel/helper-plugin-utils': 7.24.7
    +    transitivePeerDependencies:
    +      - supports-color
     
    -  '@babel/plugin-transform-export-namespace-from@7.24.1(@babel/core@7.24.4)':
    +  '@babel/plugin-transform-export-namespace-from@7.24.7(@babel/core@7.24.4)':
         dependencies:
           '@babel/core': 7.24.4
    -      '@babel/helper-plugin-utils': 7.24.5
    +      '@babel/helper-plugin-utils': 7.24.7
           '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.24.4)
     
    -  '@babel/plugin-transform-export-namespace-from@7.24.1(@babel/core@7.24.5)':
    +  '@babel/plugin-transform-export-namespace-from@7.24.7(@babel/core@7.24.7)':
         dependencies:
    -      '@babel/core': 7.24.5
    -      '@babel/helper-plugin-utils': 7.24.5
    -      '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.24.5)
    +      '@babel/core': 7.24.7
    +      '@babel/helper-plugin-utils': 7.24.7
    +      '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.24.7)
     
    -  '@babel/plugin-transform-for-of@7.24.1(@babel/core@7.24.4)':
    +  '@babel/plugin-transform-for-of@7.24.7(@babel/core@7.24.4)':
         dependencies:
           '@babel/core': 7.24.4
    -      '@babel/helper-plugin-utils': 7.24.5
    -      '@babel/helper-skip-transparent-expression-wrappers': 7.22.5
    +      '@babel/helper-plugin-utils': 7.24.7
    +      '@babel/helper-skip-transparent-expression-wrappers': 7.24.7
    +    transitivePeerDependencies:
    +      - supports-color
     
    -  '@babel/plugin-transform-for-of@7.24.1(@babel/core@7.24.5)':
    +  '@babel/plugin-transform-for-of@7.24.7(@babel/core@7.24.7)':
         dependencies:
    -      '@babel/core': 7.24.5
    -      '@babel/helper-plugin-utils': 7.24.5
    -      '@babel/helper-skip-transparent-expression-wrappers': 7.22.5
    +      '@babel/core': 7.24.7
    +      '@babel/helper-plugin-utils': 7.24.7
    +      '@babel/helper-skip-transparent-expression-wrappers': 7.24.7
    +    transitivePeerDependencies:
    +      - supports-color
     
    -  '@babel/plugin-transform-function-name@7.24.1(@babel/core@7.24.4)':
    +  '@babel/plugin-transform-function-name@7.24.7(@babel/core@7.24.4)':
         dependencies:
           '@babel/core': 7.24.4
    -      '@babel/helper-compilation-targets': 7.23.6
    -      '@babel/helper-function-name': 7.23.0
    -      '@babel/helper-plugin-utils': 7.24.5
    +      '@babel/helper-compilation-targets': 7.24.7
    +      '@babel/helper-function-name': 7.24.7
    +      '@babel/helper-plugin-utils': 7.24.7
     
    -  '@babel/plugin-transform-function-name@7.24.1(@babel/core@7.24.5)':
    +  '@babel/plugin-transform-function-name@7.24.7(@babel/core@7.24.7)':
         dependencies:
    -      '@babel/core': 7.24.5
    -      '@babel/helper-compilation-targets': 7.23.6
    -      '@babel/helper-function-name': 7.23.0
    -      '@babel/helper-plugin-utils': 7.24.5
    +      '@babel/core': 7.24.7
    +      '@babel/helper-compilation-targets': 7.24.7
    +      '@babel/helper-function-name': 7.24.7
    +      '@babel/helper-plugin-utils': 7.24.7
     
    -  '@babel/plugin-transform-json-strings@7.24.1(@babel/core@7.24.4)':
    +  '@babel/plugin-transform-json-strings@7.24.7(@babel/core@7.24.4)':
         dependencies:
           '@babel/core': 7.24.4
    -      '@babel/helper-plugin-utils': 7.24.5
    +      '@babel/helper-plugin-utils': 7.24.7
           '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.24.4)
     
    -  '@babel/plugin-transform-json-strings@7.24.1(@babel/core@7.24.5)':
    +  '@babel/plugin-transform-json-strings@7.24.7(@babel/core@7.24.7)':
         dependencies:
    -      '@babel/core': 7.24.5
    -      '@babel/helper-plugin-utils': 7.24.5
    -      '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.24.5)
    +      '@babel/core': 7.24.7
    +      '@babel/helper-plugin-utils': 7.24.7
    +      '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.24.7)
     
    -  '@babel/plugin-transform-literals@7.24.1(@babel/core@7.24.4)':
    +  '@babel/plugin-transform-literals@7.24.7(@babel/core@7.24.4)':
         dependencies:
           '@babel/core': 7.24.4
    -      '@babel/helper-plugin-utils': 7.24.5
    +      '@babel/helper-plugin-utils': 7.24.7
     
    -  '@babel/plugin-transform-literals@7.24.1(@babel/core@7.24.5)':
    +  '@babel/plugin-transform-literals@7.24.7(@babel/core@7.24.7)':
         dependencies:
    -      '@babel/core': 7.24.5
    -      '@babel/helper-plugin-utils': 7.24.5
    +      '@babel/core': 7.24.7
    +      '@babel/helper-plugin-utils': 7.24.7
     
    -  '@babel/plugin-transform-logical-assignment-operators@7.24.1(@babel/core@7.24.4)':
    +  '@babel/plugin-transform-logical-assignment-operators@7.24.7(@babel/core@7.24.4)':
         dependencies:
           '@babel/core': 7.24.4
    -      '@babel/helper-plugin-utils': 7.24.5
    +      '@babel/helper-plugin-utils': 7.24.7
           '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.24.4)
     
    -  '@babel/plugin-transform-logical-assignment-operators@7.24.1(@babel/core@7.24.5)':
    +  '@babel/plugin-transform-logical-assignment-operators@7.24.7(@babel/core@7.24.7)':
         dependencies:
    -      '@babel/core': 7.24.5
    -      '@babel/helper-plugin-utils': 7.24.5
    -      '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.24.5)
    +      '@babel/core': 7.24.7
    +      '@babel/helper-plugin-utils': 7.24.7
    +      '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.24.7)
     
    -  '@babel/plugin-transform-member-expression-literals@7.24.1(@babel/core@7.24.4)':
    +  '@babel/plugin-transform-member-expression-literals@7.24.7(@babel/core@7.24.4)':
         dependencies:
           '@babel/core': 7.24.4
    -      '@babel/helper-plugin-utils': 7.24.5
    +      '@babel/helper-plugin-utils': 7.24.7
     
    -  '@babel/plugin-transform-member-expression-literals@7.24.1(@babel/core@7.24.5)':
    +  '@babel/plugin-transform-member-expression-literals@7.24.7(@babel/core@7.24.7)':
         dependencies:
    -      '@babel/core': 7.24.5
    -      '@babel/helper-plugin-utils': 7.24.5
    +      '@babel/core': 7.24.7
    +      '@babel/helper-plugin-utils': 7.24.7
     
    -  '@babel/plugin-transform-modules-amd@7.24.1(@babel/core@7.24.4)':
    +  '@babel/plugin-transform-modules-amd@7.24.7(@babel/core@7.24.4)':
         dependencies:
           '@babel/core': 7.24.4
    -      '@babel/helper-module-transforms': 7.24.5(@babel/core@7.24.4)
    -      '@babel/helper-plugin-utils': 7.24.5
    +      '@babel/helper-module-transforms': 7.24.7(@babel/core@7.24.4)
    +      '@babel/helper-plugin-utils': 7.24.7
    +    transitivePeerDependencies:
    +      - supports-color
     
    -  '@babel/plugin-transform-modules-amd@7.24.1(@babel/core@7.24.5)':
    +  '@babel/plugin-transform-modules-amd@7.24.7(@babel/core@7.24.7)':
    +    dependencies:
    +      '@babel/core': 7.24.7
    +      '@babel/helper-module-transforms': 7.24.7(@babel/core@7.24.7)
    +      '@babel/helper-plugin-utils': 7.24.7
    +    transitivePeerDependencies:
    +      - supports-color
    +
    +  '@babel/plugin-transform-modules-commonjs@7.24.1(@babel/core@7.24.5)':
         dependencies:
           '@babel/core': 7.24.5
           '@babel/helper-module-transforms': 7.24.5(@babel/core@7.24.5)
           '@babel/helper-plugin-utils': 7.24.5
    +      '@babel/helper-simple-access': 7.24.5
     
    -  '@babel/plugin-transform-modules-commonjs@7.24.1(@babel/core@7.24.4)':
    +  '@babel/plugin-transform-modules-commonjs@7.24.7(@babel/core@7.24.4)':
         dependencies:
           '@babel/core': 7.24.4
    -      '@babel/helper-module-transforms': 7.24.5(@babel/core@7.24.4)
    -      '@babel/helper-plugin-utils': 7.24.5
    -      '@babel/helper-simple-access': 7.24.5
    +      '@babel/helper-module-transforms': 7.24.7(@babel/core@7.24.4)
    +      '@babel/helper-plugin-utils': 7.24.7
    +      '@babel/helper-simple-access': 7.24.7
    +    transitivePeerDependencies:
    +      - supports-color
     
    -  '@babel/plugin-transform-modules-commonjs@7.24.1(@babel/core@7.24.5)':
    +  '@babel/plugin-transform-modules-commonjs@7.24.7(@babel/core@7.24.7)':
         dependencies:
    -      '@babel/core': 7.24.5
    -      '@babel/helper-module-transforms': 7.24.5(@babel/core@7.24.5)
    -      '@babel/helper-plugin-utils': 7.24.5
    -      '@babel/helper-simple-access': 7.24.5
    +      '@babel/core': 7.24.7
    +      '@babel/helper-module-transforms': 7.24.7(@babel/core@7.24.7)
    +      '@babel/helper-plugin-utils': 7.24.7
    +      '@babel/helper-simple-access': 7.24.7
    +    transitivePeerDependencies:
    +      - supports-color
     
    -  '@babel/plugin-transform-modules-systemjs@7.24.1(@babel/core@7.24.4)':
    +  '@babel/plugin-transform-modules-systemjs@7.24.7(@babel/core@7.24.4)':
         dependencies:
           '@babel/core': 7.24.4
    -      '@babel/helper-hoist-variables': 7.22.5
    -      '@babel/helper-module-transforms': 7.24.5(@babel/core@7.24.4)
    -      '@babel/helper-plugin-utils': 7.24.5
    -      '@babel/helper-validator-identifier': 7.24.5
    +      '@babel/helper-hoist-variables': 7.24.7
    +      '@babel/helper-module-transforms': 7.24.7(@babel/core@7.24.4)
    +      '@babel/helper-plugin-utils': 7.24.7
    +      '@babel/helper-validator-identifier': 7.24.7
    +    transitivePeerDependencies:
    +      - supports-color
     
    -  '@babel/plugin-transform-modules-systemjs@7.24.1(@babel/core@7.24.5)':
    +  '@babel/plugin-transform-modules-systemjs@7.24.7(@babel/core@7.24.7)':
         dependencies:
    -      '@babel/core': 7.24.5
    -      '@babel/helper-hoist-variables': 7.22.5
    -      '@babel/helper-module-transforms': 7.24.5(@babel/core@7.24.5)
    -      '@babel/helper-plugin-utils': 7.24.5
    -      '@babel/helper-validator-identifier': 7.24.5
    +      '@babel/core': 7.24.7
    +      '@babel/helper-hoist-variables': 7.24.7
    +      '@babel/helper-module-transforms': 7.24.7(@babel/core@7.24.7)
    +      '@babel/helper-plugin-utils': 7.24.7
    +      '@babel/helper-validator-identifier': 7.24.7
    +    transitivePeerDependencies:
    +      - supports-color
     
    -  '@babel/plugin-transform-modules-umd@7.24.1(@babel/core@7.24.4)':
    +  '@babel/plugin-transform-modules-umd@7.24.7(@babel/core@7.24.4)':
         dependencies:
           '@babel/core': 7.24.4
    -      '@babel/helper-module-transforms': 7.24.5(@babel/core@7.24.4)
    -      '@babel/helper-plugin-utils': 7.24.5
    +      '@babel/helper-module-transforms': 7.24.7(@babel/core@7.24.4)
    +      '@babel/helper-plugin-utils': 7.24.7
    +    transitivePeerDependencies:
    +      - supports-color
     
    -  '@babel/plugin-transform-modules-umd@7.24.1(@babel/core@7.24.5)':
    +  '@babel/plugin-transform-modules-umd@7.24.7(@babel/core@7.24.7)':
         dependencies:
    -      '@babel/core': 7.24.5
    -      '@babel/helper-module-transforms': 7.24.5(@babel/core@7.24.5)
    -      '@babel/helper-plugin-utils': 7.24.5
    +      '@babel/core': 7.24.7
    +      '@babel/helper-module-transforms': 7.24.7(@babel/core@7.24.7)
    +      '@babel/helper-plugin-utils': 7.24.7
    +    transitivePeerDependencies:
    +      - supports-color
     
    -  '@babel/plugin-transform-named-capturing-groups-regex@7.22.5(@babel/core@7.24.4)':
    +  '@babel/plugin-transform-named-capturing-groups-regex@7.24.7(@babel/core@7.24.4)':
         dependencies:
           '@babel/core': 7.24.4
    -      '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.24.4)
    -      '@babel/helper-plugin-utils': 7.24.5
    +      '@babel/helper-create-regexp-features-plugin': 7.24.7(@babel/core@7.24.4)
    +      '@babel/helper-plugin-utils': 7.24.7
     
    -  '@babel/plugin-transform-named-capturing-groups-regex@7.22.5(@babel/core@7.24.5)':
    +  '@babel/plugin-transform-named-capturing-groups-regex@7.24.7(@babel/core@7.24.7)':
         dependencies:
    -      '@babel/core': 7.24.5
    -      '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.24.5)
    -      '@babel/helper-plugin-utils': 7.24.5
    +      '@babel/core': 7.24.7
    +      '@babel/helper-create-regexp-features-plugin': 7.24.7(@babel/core@7.24.7)
    +      '@babel/helper-plugin-utils': 7.24.7
     
    -  '@babel/plugin-transform-new-target@7.24.1(@babel/core@7.24.4)':
    +  '@babel/plugin-transform-new-target@7.24.7(@babel/core@7.24.4)':
         dependencies:
           '@babel/core': 7.24.4
    -      '@babel/helper-plugin-utils': 7.24.5
    +      '@babel/helper-plugin-utils': 7.24.7
     
    -  '@babel/plugin-transform-new-target@7.24.1(@babel/core@7.24.5)':
    +  '@babel/plugin-transform-new-target@7.24.7(@babel/core@7.24.7)':
         dependencies:
    -      '@babel/core': 7.24.5
    -      '@babel/helper-plugin-utils': 7.24.5
    +      '@babel/core': 7.24.7
    +      '@babel/helper-plugin-utils': 7.24.7
     
    -  '@babel/plugin-transform-nullish-coalescing-operator@7.24.1(@babel/core@7.24.4)':
    +  '@babel/plugin-transform-nullish-coalescing-operator@7.24.7(@babel/core@7.24.4)':
         dependencies:
           '@babel/core': 7.24.4
    -      '@babel/helper-plugin-utils': 7.24.5
    +      '@babel/helper-plugin-utils': 7.24.7
           '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.24.4)
     
    -  '@babel/plugin-transform-nullish-coalescing-operator@7.24.1(@babel/core@7.24.5)':
    +  '@babel/plugin-transform-nullish-coalescing-operator@7.24.7(@babel/core@7.24.7)':
         dependencies:
    -      '@babel/core': 7.24.5
    -      '@babel/helper-plugin-utils': 7.24.5
    -      '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.24.5)
    +      '@babel/core': 7.24.7
    +      '@babel/helper-plugin-utils': 7.24.7
    +      '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.24.7)
     
    -  '@babel/plugin-transform-numeric-separator@7.24.1(@babel/core@7.24.4)':
    +  '@babel/plugin-transform-numeric-separator@7.24.7(@babel/core@7.24.4)':
         dependencies:
           '@babel/core': 7.24.4
    -      '@babel/helper-plugin-utils': 7.24.5
    +      '@babel/helper-plugin-utils': 7.24.7
           '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.24.4)
     
    -  '@babel/plugin-transform-numeric-separator@7.24.1(@babel/core@7.24.5)':
    +  '@babel/plugin-transform-numeric-separator@7.24.7(@babel/core@7.24.7)':
         dependencies:
    -      '@babel/core': 7.24.5
    -      '@babel/helper-plugin-utils': 7.24.5
    -      '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.24.5)
    +      '@babel/core': 7.24.7
    +      '@babel/helper-plugin-utils': 7.24.7
    +      '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.24.7)
     
    -  '@babel/plugin-transform-object-rest-spread@7.24.5(@babel/core@7.24.4)':
    +  '@babel/plugin-transform-object-rest-spread@7.24.7(@babel/core@7.24.4)':
         dependencies:
           '@babel/core': 7.24.4
    -      '@babel/helper-compilation-targets': 7.23.6
    -      '@babel/helper-plugin-utils': 7.24.5
    +      '@babel/helper-compilation-targets': 7.24.7
    +      '@babel/helper-plugin-utils': 7.24.7
           '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.24.4)
    -      '@babel/plugin-transform-parameters': 7.24.5(@babel/core@7.24.4)
    +      '@babel/plugin-transform-parameters': 7.24.7(@babel/core@7.24.4)
     
    -  '@babel/plugin-transform-object-rest-spread@7.24.5(@babel/core@7.24.5)':
    +  '@babel/plugin-transform-object-rest-spread@7.24.7(@babel/core@7.24.7)':
         dependencies:
    -      '@babel/core': 7.24.5
    -      '@babel/helper-compilation-targets': 7.23.6
    -      '@babel/helper-plugin-utils': 7.24.5
    -      '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.24.5)
    -      '@babel/plugin-transform-parameters': 7.24.5(@babel/core@7.24.5)
    +      '@babel/core': 7.24.7
    +      '@babel/helper-compilation-targets': 7.24.7
    +      '@babel/helper-plugin-utils': 7.24.7
    +      '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.24.7)
    +      '@babel/plugin-transform-parameters': 7.24.7(@babel/core@7.24.7)
     
    -  '@babel/plugin-transform-object-super@7.24.1(@babel/core@7.24.4)':
    +  '@babel/plugin-transform-object-super@7.24.7(@babel/core@7.24.4)':
         dependencies:
           '@babel/core': 7.24.4
    -      '@babel/helper-plugin-utils': 7.24.5
    -      '@babel/helper-replace-supers': 7.24.1(@babel/core@7.24.4)
    +      '@babel/helper-plugin-utils': 7.24.7
    +      '@babel/helper-replace-supers': 7.24.7(@babel/core@7.24.4)
    +    transitivePeerDependencies:
    +      - supports-color
     
    -  '@babel/plugin-transform-object-super@7.24.1(@babel/core@7.24.5)':
    +  '@babel/plugin-transform-object-super@7.24.7(@babel/core@7.24.7)':
         dependencies:
    -      '@babel/core': 7.24.5
    -      '@babel/helper-plugin-utils': 7.24.5
    -      '@babel/helper-replace-supers': 7.24.1(@babel/core@7.24.5)
    +      '@babel/core': 7.24.7
    +      '@babel/helper-plugin-utils': 7.24.7
    +      '@babel/helper-replace-supers': 7.24.7(@babel/core@7.24.7)
    +    transitivePeerDependencies:
    +      - supports-color
     
    -  '@babel/plugin-transform-optional-catch-binding@7.24.1(@babel/core@7.24.4)':
    +  '@babel/plugin-transform-optional-catch-binding@7.24.7(@babel/core@7.24.4)':
         dependencies:
           '@babel/core': 7.24.4
    -      '@babel/helper-plugin-utils': 7.24.5
    +      '@babel/helper-plugin-utils': 7.24.7
           '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.24.4)
     
    -  '@babel/plugin-transform-optional-catch-binding@7.24.1(@babel/core@7.24.5)':
    +  '@babel/plugin-transform-optional-catch-binding@7.24.7(@babel/core@7.24.7)':
         dependencies:
    -      '@babel/core': 7.24.5
    -      '@babel/helper-plugin-utils': 7.24.5
    -      '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.24.5)
    +      '@babel/core': 7.24.7
    +      '@babel/helper-plugin-utils': 7.24.7
    +      '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.24.7)
     
    -  '@babel/plugin-transform-optional-chaining@7.24.5(@babel/core@7.24.4)':
    +  '@babel/plugin-transform-optional-chaining@7.24.7(@babel/core@7.24.4)':
         dependencies:
           '@babel/core': 7.24.4
    -      '@babel/helper-plugin-utils': 7.24.5
    -      '@babel/helper-skip-transparent-expression-wrappers': 7.22.5
    +      '@babel/helper-plugin-utils': 7.24.7
    +      '@babel/helper-skip-transparent-expression-wrappers': 7.24.7
           '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.24.4)
    +    transitivePeerDependencies:
    +      - supports-color
     
    -  '@babel/plugin-transform-optional-chaining@7.24.5(@babel/core@7.24.5)':
    +  '@babel/plugin-transform-optional-chaining@7.24.7(@babel/core@7.24.7)':
         dependencies:
    -      '@babel/core': 7.24.5
    -      '@babel/helper-plugin-utils': 7.24.5
    -      '@babel/helper-skip-transparent-expression-wrappers': 7.22.5
    -      '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.24.5)
    +      '@babel/core': 7.24.7
    +      '@babel/helper-plugin-utils': 7.24.7
    +      '@babel/helper-skip-transparent-expression-wrappers': 7.24.7
    +      '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.24.7)
    +    transitivePeerDependencies:
    +      - supports-color
     
    -  '@babel/plugin-transform-parameters@7.24.5(@babel/core@7.24.4)':
    +  '@babel/plugin-transform-parameters@7.24.7(@babel/core@7.24.4)':
         dependencies:
           '@babel/core': 7.24.4
    -      '@babel/helper-plugin-utils': 7.24.5
    +      '@babel/helper-plugin-utils': 7.24.7
     
    -  '@babel/plugin-transform-parameters@7.24.5(@babel/core@7.24.5)':
    +  '@babel/plugin-transform-parameters@7.24.7(@babel/core@7.24.7)':
         dependencies:
    -      '@babel/core': 7.24.5
    -      '@babel/helper-plugin-utils': 7.24.5
    +      '@babel/core': 7.24.7
    +      '@babel/helper-plugin-utils': 7.24.7
     
    -  '@babel/plugin-transform-private-methods@7.24.1(@babel/core@7.24.4)':
    +  '@babel/plugin-transform-private-methods@7.24.7(@babel/core@7.24.4)':
         dependencies:
           '@babel/core': 7.24.4
    -      '@babel/helper-create-class-features-plugin': 7.24.5(@babel/core@7.24.4)
    -      '@babel/helper-plugin-utils': 7.24.5
    +      '@babel/helper-create-class-features-plugin': 7.24.7(@babel/core@7.24.4)
    +      '@babel/helper-plugin-utils': 7.24.7
    +    transitivePeerDependencies:
    +      - supports-color
     
    -  '@babel/plugin-transform-private-methods@7.24.1(@babel/core@7.24.5)':
    +  '@babel/plugin-transform-private-methods@7.24.7(@babel/core@7.24.7)':
         dependencies:
    -      '@babel/core': 7.24.5
    -      '@babel/helper-create-class-features-plugin': 7.24.5(@babel/core@7.24.5)
    -      '@babel/helper-plugin-utils': 7.24.5
    +      '@babel/core': 7.24.7
    +      '@babel/helper-create-class-features-plugin': 7.24.7(@babel/core@7.24.7)
    +      '@babel/helper-plugin-utils': 7.24.7
    +    transitivePeerDependencies:
    +      - supports-color
     
    -  '@babel/plugin-transform-private-property-in-object@7.24.5(@babel/core@7.24.4)':
    +  '@babel/plugin-transform-private-property-in-object@7.24.7(@babel/core@7.24.4)':
         dependencies:
           '@babel/core': 7.24.4
    -      '@babel/helper-annotate-as-pure': 7.22.5
    -      '@babel/helper-create-class-features-plugin': 7.24.5(@babel/core@7.24.4)
    -      '@babel/helper-plugin-utils': 7.24.5
    +      '@babel/helper-annotate-as-pure': 7.24.7
    +      '@babel/helper-create-class-features-plugin': 7.24.7(@babel/core@7.24.4)
    +      '@babel/helper-plugin-utils': 7.24.7
           '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.24.4)
    +    transitivePeerDependencies:
    +      - supports-color
     
    -  '@babel/plugin-transform-private-property-in-object@7.24.5(@babel/core@7.24.5)':
    +  '@babel/plugin-transform-private-property-in-object@7.24.7(@babel/core@7.24.7)':
         dependencies:
    -      '@babel/core': 7.24.5
    -      '@babel/helper-annotate-as-pure': 7.22.5
    -      '@babel/helper-create-class-features-plugin': 7.24.5(@babel/core@7.24.5)
    -      '@babel/helper-plugin-utils': 7.24.5
    -      '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.24.5)
    +      '@babel/core': 7.24.7
    +      '@babel/helper-annotate-as-pure': 7.24.7
    +      '@babel/helper-create-class-features-plugin': 7.24.7(@babel/core@7.24.7)
    +      '@babel/helper-plugin-utils': 7.24.7
    +      '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.24.7)
    +    transitivePeerDependencies:
    +      - supports-color
     
    -  '@babel/plugin-transform-property-literals@7.24.1(@babel/core@7.24.4)':
    +  '@babel/plugin-transform-property-literals@7.24.7(@babel/core@7.24.4)':
         dependencies:
           '@babel/core': 7.24.4
    -      '@babel/helper-plugin-utils': 7.24.5
    +      '@babel/helper-plugin-utils': 7.24.7
     
    -  '@babel/plugin-transform-property-literals@7.24.1(@babel/core@7.24.5)':
    +  '@babel/plugin-transform-property-literals@7.24.7(@babel/core@7.24.7)':
         dependencies:
    -      '@babel/core': 7.24.5
    -      '@babel/helper-plugin-utils': 7.24.5
    +      '@babel/core': 7.24.7
    +      '@babel/helper-plugin-utils': 7.24.7
     
    -  '@babel/plugin-transform-regenerator@7.24.1(@babel/core@7.24.4)':
    +  '@babel/plugin-transform-regenerator@7.24.7(@babel/core@7.24.4)':
         dependencies:
           '@babel/core': 7.24.4
    -      '@babel/helper-plugin-utils': 7.24.5
    +      '@babel/helper-plugin-utils': 7.24.7
           regenerator-transform: 0.15.2
     
    -  '@babel/plugin-transform-regenerator@7.24.1(@babel/core@7.24.5)':
    +  '@babel/plugin-transform-regenerator@7.24.7(@babel/core@7.24.7)':
         dependencies:
    -      '@babel/core': 7.24.5
    -      '@babel/helper-plugin-utils': 7.24.5
    +      '@babel/core': 7.24.7
    +      '@babel/helper-plugin-utils': 7.24.7
           regenerator-transform: 0.15.2
     
    -  '@babel/plugin-transform-reserved-words@7.24.1(@babel/core@7.24.4)':
    +  '@babel/plugin-transform-reserved-words@7.24.7(@babel/core@7.24.4)':
         dependencies:
           '@babel/core': 7.24.4
    -      '@babel/helper-plugin-utils': 7.24.5
    +      '@babel/helper-plugin-utils': 7.24.7
     
    -  '@babel/plugin-transform-reserved-words@7.24.1(@babel/core@7.24.5)':
    +  '@babel/plugin-transform-reserved-words@7.24.7(@babel/core@7.24.7)':
         dependencies:
    -      '@babel/core': 7.24.5
    -      '@babel/helper-plugin-utils': 7.24.5
    +      '@babel/core': 7.24.7
    +      '@babel/helper-plugin-utils': 7.24.7
     
    -  '@babel/plugin-transform-shorthand-properties@7.24.1(@babel/core@7.24.4)':
    +  '@babel/plugin-transform-shorthand-properties@7.24.7(@babel/core@7.24.4)':
         dependencies:
           '@babel/core': 7.24.4
    -      '@babel/helper-plugin-utils': 7.24.5
    +      '@babel/helper-plugin-utils': 7.24.7
     
    -  '@babel/plugin-transform-shorthand-properties@7.24.1(@babel/core@7.24.5)':
    +  '@babel/plugin-transform-shorthand-properties@7.24.7(@babel/core@7.24.7)':
         dependencies:
    -      '@babel/core': 7.24.5
    -      '@babel/helper-plugin-utils': 7.24.5
    +      '@babel/core': 7.24.7
    +      '@babel/helper-plugin-utils': 7.24.7
     
    -  '@babel/plugin-transform-spread@7.24.1(@babel/core@7.24.4)':
    +  '@babel/plugin-transform-spread@7.24.7(@babel/core@7.24.4)':
         dependencies:
           '@babel/core': 7.24.4
    -      '@babel/helper-plugin-utils': 7.24.5
    -      '@babel/helper-skip-transparent-expression-wrappers': 7.22.5
    +      '@babel/helper-plugin-utils': 7.24.7
    +      '@babel/helper-skip-transparent-expression-wrappers': 7.24.7
    +    transitivePeerDependencies:
    +      - supports-color
     
    -  '@babel/plugin-transform-spread@7.24.1(@babel/core@7.24.5)':
    +  '@babel/plugin-transform-spread@7.24.7(@babel/core@7.24.7)':
         dependencies:
    -      '@babel/core': 7.24.5
    -      '@babel/helper-plugin-utils': 7.24.5
    -      '@babel/helper-skip-transparent-expression-wrappers': 7.22.5
    +      '@babel/core': 7.24.7
    +      '@babel/helper-plugin-utils': 7.24.7
    +      '@babel/helper-skip-transparent-expression-wrappers': 7.24.7
    +    transitivePeerDependencies:
    +      - supports-color
     
    -  '@babel/plugin-transform-sticky-regex@7.24.1(@babel/core@7.24.4)':
    +  '@babel/plugin-transform-sticky-regex@7.24.7(@babel/core@7.24.4)':
         dependencies:
           '@babel/core': 7.24.4
    -      '@babel/helper-plugin-utils': 7.24.5
    +      '@babel/helper-plugin-utils': 7.24.7
     
    -  '@babel/plugin-transform-sticky-regex@7.24.1(@babel/core@7.24.5)':
    +  '@babel/plugin-transform-sticky-regex@7.24.7(@babel/core@7.24.7)':
         dependencies:
    -      '@babel/core': 7.24.5
    -      '@babel/helper-plugin-utils': 7.24.5
    +      '@babel/core': 7.24.7
    +      '@babel/helper-plugin-utils': 7.24.7
     
    -  '@babel/plugin-transform-template-literals@7.24.1(@babel/core@7.24.4)':
    +  '@babel/plugin-transform-template-literals@7.24.7(@babel/core@7.24.4)':
         dependencies:
           '@babel/core': 7.24.4
    -      '@babel/helper-plugin-utils': 7.24.5
    +      '@babel/helper-plugin-utils': 7.24.7
     
    -  '@babel/plugin-transform-template-literals@7.24.1(@babel/core@7.24.5)':
    +  '@babel/plugin-transform-template-literals@7.24.7(@babel/core@7.24.7)':
         dependencies:
    -      '@babel/core': 7.24.5
    -      '@babel/helper-plugin-utils': 7.24.5
    +      '@babel/core': 7.24.7
    +      '@babel/helper-plugin-utils': 7.24.7
     
    -  '@babel/plugin-transform-typeof-symbol@7.24.5(@babel/core@7.24.4)':
    +  '@babel/plugin-transform-typeof-symbol@7.24.7(@babel/core@7.24.4)':
         dependencies:
           '@babel/core': 7.24.4
    -      '@babel/helper-plugin-utils': 7.24.5
    +      '@babel/helper-plugin-utils': 7.24.7
     
    -  '@babel/plugin-transform-typeof-symbol@7.24.5(@babel/core@7.24.5)':
    +  '@babel/plugin-transform-typeof-symbol@7.24.7(@babel/core@7.24.7)':
         dependencies:
    -      '@babel/core': 7.24.5
    -      '@babel/helper-plugin-utils': 7.24.5
    +      '@babel/core': 7.24.7
    +      '@babel/helper-plugin-utils': 7.24.7
     
       '@babel/plugin-transform-typescript@7.24.4(@babel/core@7.24.5)':
         dependencies:
    @@ -10102,71 +10559,71 @@ snapshots:
           '@babel/helper-plugin-utils': 7.24.5
           '@babel/plugin-syntax-typescript': 7.24.1(@babel/core@7.24.5)
     
    -  '@babel/plugin-transform-unicode-escapes@7.24.1(@babel/core@7.24.4)':
    +  '@babel/plugin-transform-unicode-escapes@7.24.7(@babel/core@7.24.4)':
         dependencies:
           '@babel/core': 7.24.4
    -      '@babel/helper-plugin-utils': 7.24.5
    +      '@babel/helper-plugin-utils': 7.24.7
     
    -  '@babel/plugin-transform-unicode-escapes@7.24.1(@babel/core@7.24.5)':
    +  '@babel/plugin-transform-unicode-escapes@7.24.7(@babel/core@7.24.7)':
         dependencies:
    -      '@babel/core': 7.24.5
    -      '@babel/helper-plugin-utils': 7.24.5
    +      '@babel/core': 7.24.7
    +      '@babel/helper-plugin-utils': 7.24.7
     
    -  '@babel/plugin-transform-unicode-property-regex@7.24.1(@babel/core@7.24.4)':
    +  '@babel/plugin-transform-unicode-property-regex@7.24.7(@babel/core@7.24.4)':
         dependencies:
           '@babel/core': 7.24.4
    -      '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.24.4)
    -      '@babel/helper-plugin-utils': 7.24.5
    +      '@babel/helper-create-regexp-features-plugin': 7.24.7(@babel/core@7.24.4)
    +      '@babel/helper-plugin-utils': 7.24.7
     
    -  '@babel/plugin-transform-unicode-property-regex@7.24.1(@babel/core@7.24.5)':
    +  '@babel/plugin-transform-unicode-property-regex@7.24.7(@babel/core@7.24.7)':
         dependencies:
    -      '@babel/core': 7.24.5
    -      '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.24.5)
    -      '@babel/helper-plugin-utils': 7.24.5
    +      '@babel/core': 7.24.7
    +      '@babel/helper-create-regexp-features-plugin': 7.24.7(@babel/core@7.24.7)
    +      '@babel/helper-plugin-utils': 7.24.7
     
    -  '@babel/plugin-transform-unicode-regex@7.24.1(@babel/core@7.24.4)':
    +  '@babel/plugin-transform-unicode-regex@7.24.7(@babel/core@7.24.4)':
         dependencies:
           '@babel/core': 7.24.4
    -      '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.24.4)
    -      '@babel/helper-plugin-utils': 7.24.5
    +      '@babel/helper-create-regexp-features-plugin': 7.24.7(@babel/core@7.24.4)
    +      '@babel/helper-plugin-utils': 7.24.7
     
    -  '@babel/plugin-transform-unicode-regex@7.24.1(@babel/core@7.24.5)':
    +  '@babel/plugin-transform-unicode-regex@7.24.7(@babel/core@7.24.7)':
         dependencies:
    -      '@babel/core': 7.24.5
    -      '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.24.5)
    -      '@babel/helper-plugin-utils': 7.24.5
    +      '@babel/core': 7.24.7
    +      '@babel/helper-create-regexp-features-plugin': 7.24.7(@babel/core@7.24.7)
    +      '@babel/helper-plugin-utils': 7.24.7
     
    -  '@babel/plugin-transform-unicode-sets-regex@7.24.1(@babel/core@7.24.4)':
    +  '@babel/plugin-transform-unicode-sets-regex@7.24.7(@babel/core@7.24.4)':
         dependencies:
           '@babel/core': 7.24.4
    -      '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.24.4)
    -      '@babel/helper-plugin-utils': 7.24.5
    +      '@babel/helper-create-regexp-features-plugin': 7.24.7(@babel/core@7.24.4)
    +      '@babel/helper-plugin-utils': 7.24.7
     
    -  '@babel/plugin-transform-unicode-sets-regex@7.24.1(@babel/core@7.24.5)':
    +  '@babel/plugin-transform-unicode-sets-regex@7.24.7(@babel/core@7.24.7)':
         dependencies:
    -      '@babel/core': 7.24.5
    -      '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.24.5)
    -      '@babel/helper-plugin-utils': 7.24.5
    +      '@babel/core': 7.24.7
    +      '@babel/helper-create-regexp-features-plugin': 7.24.7(@babel/core@7.24.7)
    +      '@babel/helper-plugin-utils': 7.24.7
     
       '@babel/preset-env@7.24.5(@babel/core@7.24.4)':
         dependencies:
    -      '@babel/compat-data': 7.24.4
    +      '@babel/compat-data': 7.24.7
           '@babel/core': 7.24.4
    -      '@babel/helper-compilation-targets': 7.23.6
    -      '@babel/helper-plugin-utils': 7.24.5
    -      '@babel/helper-validator-option': 7.23.5
    -      '@babel/plugin-bugfix-firefox-class-in-computed-class-key': 7.24.5(@babel/core@7.24.4)
    -      '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression': 7.24.1(@babel/core@7.24.4)
    -      '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.24.1(@babel/core@7.24.4)
    -      '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly': 7.24.1(@babel/core@7.24.4)
    +      '@babel/helper-compilation-targets': 7.24.7
    +      '@babel/helper-plugin-utils': 7.24.7
    +      '@babel/helper-validator-option': 7.24.7
    +      '@babel/plugin-bugfix-firefox-class-in-computed-class-key': 7.24.7(@babel/core@7.24.4)
    +      '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression': 7.24.7(@babel/core@7.24.4)
    +      '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.24.7(@babel/core@7.24.4)
    +      '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly': 7.24.7(@babel/core@7.24.4)
           '@babel/plugin-proposal-private-property-in-object': 7.21.0-placeholder-for-preset-env.2(@babel/core@7.24.4)
           '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.24.4)
           '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.24.4)
           '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.24.4)
           '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.24.4)
           '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.24.4)
    -      '@babel/plugin-syntax-import-assertions': 7.24.1(@babel/core@7.24.4)
    -      '@babel/plugin-syntax-import-attributes': 7.24.1(@babel/core@7.24.4)
    +      '@babel/plugin-syntax-import-assertions': 7.24.7(@babel/core@7.24.4)
    +      '@babel/plugin-syntax-import-attributes': 7.24.7(@babel/core@7.24.4)
           '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.24.4)
           '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.24.4)
           '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.24.4)
    @@ -10178,146 +10635,146 @@ snapshots:
           '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.24.4)
           '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.24.4)
           '@babel/plugin-syntax-unicode-sets-regex': 7.18.6(@babel/core@7.24.4)
    -      '@babel/plugin-transform-arrow-functions': 7.24.1(@babel/core@7.24.4)
    -      '@babel/plugin-transform-async-generator-functions': 7.24.3(@babel/core@7.24.4)
    -      '@babel/plugin-transform-async-to-generator': 7.24.1(@babel/core@7.24.4)
    -      '@babel/plugin-transform-block-scoped-functions': 7.24.1(@babel/core@7.24.4)
    -      '@babel/plugin-transform-block-scoping': 7.24.5(@babel/core@7.24.4)
    -      '@babel/plugin-transform-class-properties': 7.24.1(@babel/core@7.24.4)
    -      '@babel/plugin-transform-class-static-block': 7.24.4(@babel/core@7.24.4)
    -      '@babel/plugin-transform-classes': 7.24.5(@babel/core@7.24.4)
    -      '@babel/plugin-transform-computed-properties': 7.24.1(@babel/core@7.24.4)
    -      '@babel/plugin-transform-destructuring': 7.24.5(@babel/core@7.24.4)
    -      '@babel/plugin-transform-dotall-regex': 7.24.1(@babel/core@7.24.4)
    -      '@babel/plugin-transform-duplicate-keys': 7.24.1(@babel/core@7.24.4)
    -      '@babel/plugin-transform-dynamic-import': 7.24.1(@babel/core@7.24.4)
    -      '@babel/plugin-transform-exponentiation-operator': 7.24.1(@babel/core@7.24.4)
    -      '@babel/plugin-transform-export-namespace-from': 7.24.1(@babel/core@7.24.4)
    -      '@babel/plugin-transform-for-of': 7.24.1(@babel/core@7.24.4)
    -      '@babel/plugin-transform-function-name': 7.24.1(@babel/core@7.24.4)
    -      '@babel/plugin-transform-json-strings': 7.24.1(@babel/core@7.24.4)
    -      '@babel/plugin-transform-literals': 7.24.1(@babel/core@7.24.4)
    -      '@babel/plugin-transform-logical-assignment-operators': 7.24.1(@babel/core@7.24.4)
    -      '@babel/plugin-transform-member-expression-literals': 7.24.1(@babel/core@7.24.4)
    -      '@babel/plugin-transform-modules-amd': 7.24.1(@babel/core@7.24.4)
    -      '@babel/plugin-transform-modules-commonjs': 7.24.1(@babel/core@7.24.4)
    -      '@babel/plugin-transform-modules-systemjs': 7.24.1(@babel/core@7.24.4)
    -      '@babel/plugin-transform-modules-umd': 7.24.1(@babel/core@7.24.4)
    -      '@babel/plugin-transform-named-capturing-groups-regex': 7.22.5(@babel/core@7.24.4)
    -      '@babel/plugin-transform-new-target': 7.24.1(@babel/core@7.24.4)
    -      '@babel/plugin-transform-nullish-coalescing-operator': 7.24.1(@babel/core@7.24.4)
    -      '@babel/plugin-transform-numeric-separator': 7.24.1(@babel/core@7.24.4)
    -      '@babel/plugin-transform-object-rest-spread': 7.24.5(@babel/core@7.24.4)
    -      '@babel/plugin-transform-object-super': 7.24.1(@babel/core@7.24.4)
    -      '@babel/plugin-transform-optional-catch-binding': 7.24.1(@babel/core@7.24.4)
    -      '@babel/plugin-transform-optional-chaining': 7.24.5(@babel/core@7.24.4)
    -      '@babel/plugin-transform-parameters': 7.24.5(@babel/core@7.24.4)
    -      '@babel/plugin-transform-private-methods': 7.24.1(@babel/core@7.24.4)
    -      '@babel/plugin-transform-private-property-in-object': 7.24.5(@babel/core@7.24.4)
    -      '@babel/plugin-transform-property-literals': 7.24.1(@babel/core@7.24.4)
    -      '@babel/plugin-transform-regenerator': 7.24.1(@babel/core@7.24.4)
    -      '@babel/plugin-transform-reserved-words': 7.24.1(@babel/core@7.24.4)
    -      '@babel/plugin-transform-shorthand-properties': 7.24.1(@babel/core@7.24.4)
    -      '@babel/plugin-transform-spread': 7.24.1(@babel/core@7.24.4)
    -      '@babel/plugin-transform-sticky-regex': 7.24.1(@babel/core@7.24.4)
    -      '@babel/plugin-transform-template-literals': 7.24.1(@babel/core@7.24.4)
    -      '@babel/plugin-transform-typeof-symbol': 7.24.5(@babel/core@7.24.4)
    -      '@babel/plugin-transform-unicode-escapes': 7.24.1(@babel/core@7.24.4)
    -      '@babel/plugin-transform-unicode-property-regex': 7.24.1(@babel/core@7.24.4)
    -      '@babel/plugin-transform-unicode-regex': 7.24.1(@babel/core@7.24.4)
    -      '@babel/plugin-transform-unicode-sets-regex': 7.24.1(@babel/core@7.24.4)
    +      '@babel/plugin-transform-arrow-functions': 7.24.7(@babel/core@7.24.4)
    +      '@babel/plugin-transform-async-generator-functions': 7.24.7(@babel/core@7.24.4)
    +      '@babel/plugin-transform-async-to-generator': 7.24.7(@babel/core@7.24.4)
    +      '@babel/plugin-transform-block-scoped-functions': 7.24.7(@babel/core@7.24.4)
    +      '@babel/plugin-transform-block-scoping': 7.24.7(@babel/core@7.24.4)
    +      '@babel/plugin-transform-class-properties': 7.24.7(@babel/core@7.24.4)
    +      '@babel/plugin-transform-class-static-block': 7.24.7(@babel/core@7.24.4)
    +      '@babel/plugin-transform-classes': 7.24.7(@babel/core@7.24.4)
    +      '@babel/plugin-transform-computed-properties': 7.24.7(@babel/core@7.24.4)
    +      '@babel/plugin-transform-destructuring': 7.24.7(@babel/core@7.24.4)
    +      '@babel/plugin-transform-dotall-regex': 7.24.7(@babel/core@7.24.4)
    +      '@babel/plugin-transform-duplicate-keys': 7.24.7(@babel/core@7.24.4)
    +      '@babel/plugin-transform-dynamic-import': 7.24.7(@babel/core@7.24.4)
    +      '@babel/plugin-transform-exponentiation-operator': 7.24.7(@babel/core@7.24.4)
    +      '@babel/plugin-transform-export-namespace-from': 7.24.7(@babel/core@7.24.4)
    +      '@babel/plugin-transform-for-of': 7.24.7(@babel/core@7.24.4)
    +      '@babel/plugin-transform-function-name': 7.24.7(@babel/core@7.24.4)
    +      '@babel/plugin-transform-json-strings': 7.24.7(@babel/core@7.24.4)
    +      '@babel/plugin-transform-literals': 7.24.7(@babel/core@7.24.4)
    +      '@babel/plugin-transform-logical-assignment-operators': 7.24.7(@babel/core@7.24.4)
    +      '@babel/plugin-transform-member-expression-literals': 7.24.7(@babel/core@7.24.4)
    +      '@babel/plugin-transform-modules-amd': 7.24.7(@babel/core@7.24.4)
    +      '@babel/plugin-transform-modules-commonjs': 7.24.7(@babel/core@7.24.4)
    +      '@babel/plugin-transform-modules-systemjs': 7.24.7(@babel/core@7.24.4)
    +      '@babel/plugin-transform-modules-umd': 7.24.7(@babel/core@7.24.4)
    +      '@babel/plugin-transform-named-capturing-groups-regex': 7.24.7(@babel/core@7.24.4)
    +      '@babel/plugin-transform-new-target': 7.24.7(@babel/core@7.24.4)
    +      '@babel/plugin-transform-nullish-coalescing-operator': 7.24.7(@babel/core@7.24.4)
    +      '@babel/plugin-transform-numeric-separator': 7.24.7(@babel/core@7.24.4)
    +      '@babel/plugin-transform-object-rest-spread': 7.24.7(@babel/core@7.24.4)
    +      '@babel/plugin-transform-object-super': 7.24.7(@babel/core@7.24.4)
    +      '@babel/plugin-transform-optional-catch-binding': 7.24.7(@babel/core@7.24.4)
    +      '@babel/plugin-transform-optional-chaining': 7.24.7(@babel/core@7.24.4)
    +      '@babel/plugin-transform-parameters': 7.24.7(@babel/core@7.24.4)
    +      '@babel/plugin-transform-private-methods': 7.24.7(@babel/core@7.24.4)
    +      '@babel/plugin-transform-private-property-in-object': 7.24.7(@babel/core@7.24.4)
    +      '@babel/plugin-transform-property-literals': 7.24.7(@babel/core@7.24.4)
    +      '@babel/plugin-transform-regenerator': 7.24.7(@babel/core@7.24.4)
    +      '@babel/plugin-transform-reserved-words': 7.24.7(@babel/core@7.24.4)
    +      '@babel/plugin-transform-shorthand-properties': 7.24.7(@babel/core@7.24.4)
    +      '@babel/plugin-transform-spread': 7.24.7(@babel/core@7.24.4)
    +      '@babel/plugin-transform-sticky-regex': 7.24.7(@babel/core@7.24.4)
    +      '@babel/plugin-transform-template-literals': 7.24.7(@babel/core@7.24.4)
    +      '@babel/plugin-transform-typeof-symbol': 7.24.7(@babel/core@7.24.4)
    +      '@babel/plugin-transform-unicode-escapes': 7.24.7(@babel/core@7.24.4)
    +      '@babel/plugin-transform-unicode-property-regex': 7.24.7(@babel/core@7.24.4)
    +      '@babel/plugin-transform-unicode-regex': 7.24.7(@babel/core@7.24.4)
    +      '@babel/plugin-transform-unicode-sets-regex': 7.24.7(@babel/core@7.24.4)
           '@babel/preset-modules': 0.1.6-no-external-plugins(@babel/core@7.24.4)
           babel-plugin-polyfill-corejs2: 0.4.11(@babel/core@7.24.4)
           babel-plugin-polyfill-corejs3: 0.10.4(@babel/core@7.24.4)
           babel-plugin-polyfill-regenerator: 0.6.2(@babel/core@7.24.4)
    -      core-js-compat: 3.37.0
    +      core-js-compat: 3.37.1
           semver: 6.3.1
         transitivePeerDependencies:
           - supports-color
     
    -  '@babel/preset-env@7.24.5(@babel/core@7.24.5)':
    -    dependencies:
    -      '@babel/compat-data': 7.24.4
    -      '@babel/core': 7.24.5
    -      '@babel/helper-compilation-targets': 7.23.6
    -      '@babel/helper-plugin-utils': 7.24.5
    -      '@babel/helper-validator-option': 7.23.5
    -      '@babel/plugin-bugfix-firefox-class-in-computed-class-key': 7.24.5(@babel/core@7.24.5)
    -      '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression': 7.24.1(@babel/core@7.24.5)
    -      '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.24.1(@babel/core@7.24.5)
    -      '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly': 7.24.1(@babel/core@7.24.5)
    -      '@babel/plugin-proposal-private-property-in-object': 7.21.0-placeholder-for-preset-env.2(@babel/core@7.24.5)
    -      '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.24.5)
    -      '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.24.5)
    -      '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.24.5)
    -      '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.24.5)
    -      '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.24.5)
    -      '@babel/plugin-syntax-import-assertions': 7.24.1(@babel/core@7.24.5)
    -      '@babel/plugin-syntax-import-attributes': 7.24.1(@babel/core@7.24.5)
    -      '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.24.5)
    -      '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.24.5)
    -      '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.24.5)
    -      '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.24.5)
    -      '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.24.5)
    -      '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.24.5)
    -      '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.24.5)
    -      '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.24.5)
    -      '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.24.5)
    -      '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.24.5)
    -      '@babel/plugin-syntax-unicode-sets-regex': 7.18.6(@babel/core@7.24.5)
    -      '@babel/plugin-transform-arrow-functions': 7.24.1(@babel/core@7.24.5)
    -      '@babel/plugin-transform-async-generator-functions': 7.24.3(@babel/core@7.24.5)
    -      '@babel/plugin-transform-async-to-generator': 7.24.1(@babel/core@7.24.5)
    -      '@babel/plugin-transform-block-scoped-functions': 7.24.1(@babel/core@7.24.5)
    -      '@babel/plugin-transform-block-scoping': 7.24.5(@babel/core@7.24.5)
    -      '@babel/plugin-transform-class-properties': 7.24.1(@babel/core@7.24.5)
    -      '@babel/plugin-transform-class-static-block': 7.24.4(@babel/core@7.24.5)
    -      '@babel/plugin-transform-classes': 7.24.5(@babel/core@7.24.5)
    -      '@babel/plugin-transform-computed-properties': 7.24.1(@babel/core@7.24.5)
    -      '@babel/plugin-transform-destructuring': 7.24.5(@babel/core@7.24.5)
    -      '@babel/plugin-transform-dotall-regex': 7.24.1(@babel/core@7.24.5)
    -      '@babel/plugin-transform-duplicate-keys': 7.24.1(@babel/core@7.24.5)
    -      '@babel/plugin-transform-dynamic-import': 7.24.1(@babel/core@7.24.5)
    -      '@babel/plugin-transform-exponentiation-operator': 7.24.1(@babel/core@7.24.5)
    -      '@babel/plugin-transform-export-namespace-from': 7.24.1(@babel/core@7.24.5)
    -      '@babel/plugin-transform-for-of': 7.24.1(@babel/core@7.24.5)
    -      '@babel/plugin-transform-function-name': 7.24.1(@babel/core@7.24.5)
    -      '@babel/plugin-transform-json-strings': 7.24.1(@babel/core@7.24.5)
    -      '@babel/plugin-transform-literals': 7.24.1(@babel/core@7.24.5)
    -      '@babel/plugin-transform-logical-assignment-operators': 7.24.1(@babel/core@7.24.5)
    -      '@babel/plugin-transform-member-expression-literals': 7.24.1(@babel/core@7.24.5)
    -      '@babel/plugin-transform-modules-amd': 7.24.1(@babel/core@7.24.5)
    -      '@babel/plugin-transform-modules-commonjs': 7.24.1(@babel/core@7.24.5)
    -      '@babel/plugin-transform-modules-systemjs': 7.24.1(@babel/core@7.24.5)
    -      '@babel/plugin-transform-modules-umd': 7.24.1(@babel/core@7.24.5)
    -      '@babel/plugin-transform-named-capturing-groups-regex': 7.22.5(@babel/core@7.24.5)
    -      '@babel/plugin-transform-new-target': 7.24.1(@babel/core@7.24.5)
    -      '@babel/plugin-transform-nullish-coalescing-operator': 7.24.1(@babel/core@7.24.5)
    -      '@babel/plugin-transform-numeric-separator': 7.24.1(@babel/core@7.24.5)
    -      '@babel/plugin-transform-object-rest-spread': 7.24.5(@babel/core@7.24.5)
    -      '@babel/plugin-transform-object-super': 7.24.1(@babel/core@7.24.5)
    -      '@babel/plugin-transform-optional-catch-binding': 7.24.1(@babel/core@7.24.5)
    -      '@babel/plugin-transform-optional-chaining': 7.24.5(@babel/core@7.24.5)
    -      '@babel/plugin-transform-parameters': 7.24.5(@babel/core@7.24.5)
    -      '@babel/plugin-transform-private-methods': 7.24.1(@babel/core@7.24.5)
    -      '@babel/plugin-transform-private-property-in-object': 7.24.5(@babel/core@7.24.5)
    -      '@babel/plugin-transform-property-literals': 7.24.1(@babel/core@7.24.5)
    -      '@babel/plugin-transform-regenerator': 7.24.1(@babel/core@7.24.5)
    -      '@babel/plugin-transform-reserved-words': 7.24.1(@babel/core@7.24.5)
    -      '@babel/plugin-transform-shorthand-properties': 7.24.1(@babel/core@7.24.5)
    -      '@babel/plugin-transform-spread': 7.24.1(@babel/core@7.24.5)
    -      '@babel/plugin-transform-sticky-regex': 7.24.1(@babel/core@7.24.5)
    -      '@babel/plugin-transform-template-literals': 7.24.1(@babel/core@7.24.5)
    -      '@babel/plugin-transform-typeof-symbol': 7.24.5(@babel/core@7.24.5)
    -      '@babel/plugin-transform-unicode-escapes': 7.24.1(@babel/core@7.24.5)
    -      '@babel/plugin-transform-unicode-property-regex': 7.24.1(@babel/core@7.24.5)
    -      '@babel/plugin-transform-unicode-regex': 7.24.1(@babel/core@7.24.5)
    -      '@babel/plugin-transform-unicode-sets-regex': 7.24.1(@babel/core@7.24.5)
    -      '@babel/preset-modules': 0.1.6-no-external-plugins(@babel/core@7.24.5)
    -      babel-plugin-polyfill-corejs2: 0.4.11(@babel/core@7.24.5)
    -      babel-plugin-polyfill-corejs3: 0.10.4(@babel/core@7.24.5)
    -      babel-plugin-polyfill-regenerator: 0.6.2(@babel/core@7.24.5)
    -      core-js-compat: 3.37.0
    +  '@babel/preset-env@7.24.7(@babel/core@7.24.7)':
    +    dependencies:
    +      '@babel/compat-data': 7.24.7
    +      '@babel/core': 7.24.7
    +      '@babel/helper-compilation-targets': 7.24.7
    +      '@babel/helper-plugin-utils': 7.24.7
    +      '@babel/helper-validator-option': 7.24.7
    +      '@babel/plugin-bugfix-firefox-class-in-computed-class-key': 7.24.7(@babel/core@7.24.7)
    +      '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression': 7.24.7(@babel/core@7.24.7)
    +      '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.24.7(@babel/core@7.24.7)
    +      '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly': 7.24.7(@babel/core@7.24.7)
    +      '@babel/plugin-proposal-private-property-in-object': 7.21.0-placeholder-for-preset-env.2(@babel/core@7.24.7)
    +      '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.24.7)
    +      '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.24.7)
    +      '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.24.7)
    +      '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.24.7)
    +      '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.24.7)
    +      '@babel/plugin-syntax-import-assertions': 7.24.7(@babel/core@7.24.7)
    +      '@babel/plugin-syntax-import-attributes': 7.24.7(@babel/core@7.24.7)
    +      '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.24.7)
    +      '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.24.7)
    +      '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.24.7)
    +      '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.24.7)
    +      '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.24.7)
    +      '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.24.7)
    +      '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.24.7)
    +      '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.24.7)
    +      '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.24.7)
    +      '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.24.7)
    +      '@babel/plugin-syntax-unicode-sets-regex': 7.18.6(@babel/core@7.24.7)
    +      '@babel/plugin-transform-arrow-functions': 7.24.7(@babel/core@7.24.7)
    +      '@babel/plugin-transform-async-generator-functions': 7.24.7(@babel/core@7.24.7)
    +      '@babel/plugin-transform-async-to-generator': 7.24.7(@babel/core@7.24.7)
    +      '@babel/plugin-transform-block-scoped-functions': 7.24.7(@babel/core@7.24.7)
    +      '@babel/plugin-transform-block-scoping': 7.24.7(@babel/core@7.24.7)
    +      '@babel/plugin-transform-class-properties': 7.24.7(@babel/core@7.24.7)
    +      '@babel/plugin-transform-class-static-block': 7.24.7(@babel/core@7.24.7)
    +      '@babel/plugin-transform-classes': 7.24.7(@babel/core@7.24.7)
    +      '@babel/plugin-transform-computed-properties': 7.24.7(@babel/core@7.24.7)
    +      '@babel/plugin-transform-destructuring': 7.24.7(@babel/core@7.24.7)
    +      '@babel/plugin-transform-dotall-regex': 7.24.7(@babel/core@7.24.7)
    +      '@babel/plugin-transform-duplicate-keys': 7.24.7(@babel/core@7.24.7)
    +      '@babel/plugin-transform-dynamic-import': 7.24.7(@babel/core@7.24.7)
    +      '@babel/plugin-transform-exponentiation-operator': 7.24.7(@babel/core@7.24.7)
    +      '@babel/plugin-transform-export-namespace-from': 7.24.7(@babel/core@7.24.7)
    +      '@babel/plugin-transform-for-of': 7.24.7(@babel/core@7.24.7)
    +      '@babel/plugin-transform-function-name': 7.24.7(@babel/core@7.24.7)
    +      '@babel/plugin-transform-json-strings': 7.24.7(@babel/core@7.24.7)
    +      '@babel/plugin-transform-literals': 7.24.7(@babel/core@7.24.7)
    +      '@babel/plugin-transform-logical-assignment-operators': 7.24.7(@babel/core@7.24.7)
    +      '@babel/plugin-transform-member-expression-literals': 7.24.7(@babel/core@7.24.7)
    +      '@babel/plugin-transform-modules-amd': 7.24.7(@babel/core@7.24.7)
    +      '@babel/plugin-transform-modules-commonjs': 7.24.7(@babel/core@7.24.7)
    +      '@babel/plugin-transform-modules-systemjs': 7.24.7(@babel/core@7.24.7)
    +      '@babel/plugin-transform-modules-umd': 7.24.7(@babel/core@7.24.7)
    +      '@babel/plugin-transform-named-capturing-groups-regex': 7.24.7(@babel/core@7.24.7)
    +      '@babel/plugin-transform-new-target': 7.24.7(@babel/core@7.24.7)
    +      '@babel/plugin-transform-nullish-coalescing-operator': 7.24.7(@babel/core@7.24.7)
    +      '@babel/plugin-transform-numeric-separator': 7.24.7(@babel/core@7.24.7)
    +      '@babel/plugin-transform-object-rest-spread': 7.24.7(@babel/core@7.24.7)
    +      '@babel/plugin-transform-object-super': 7.24.7(@babel/core@7.24.7)
    +      '@babel/plugin-transform-optional-catch-binding': 7.24.7(@babel/core@7.24.7)
    +      '@babel/plugin-transform-optional-chaining': 7.24.7(@babel/core@7.24.7)
    +      '@babel/plugin-transform-parameters': 7.24.7(@babel/core@7.24.7)
    +      '@babel/plugin-transform-private-methods': 7.24.7(@babel/core@7.24.7)
    +      '@babel/plugin-transform-private-property-in-object': 7.24.7(@babel/core@7.24.7)
    +      '@babel/plugin-transform-property-literals': 7.24.7(@babel/core@7.24.7)
    +      '@babel/plugin-transform-regenerator': 7.24.7(@babel/core@7.24.7)
    +      '@babel/plugin-transform-reserved-words': 7.24.7(@babel/core@7.24.7)
    +      '@babel/plugin-transform-shorthand-properties': 7.24.7(@babel/core@7.24.7)
    +      '@babel/plugin-transform-spread': 7.24.7(@babel/core@7.24.7)
    +      '@babel/plugin-transform-sticky-regex': 7.24.7(@babel/core@7.24.7)
    +      '@babel/plugin-transform-template-literals': 7.24.7(@babel/core@7.24.7)
    +      '@babel/plugin-transform-typeof-symbol': 7.24.7(@babel/core@7.24.7)
    +      '@babel/plugin-transform-unicode-escapes': 7.24.7(@babel/core@7.24.7)
    +      '@babel/plugin-transform-unicode-property-regex': 7.24.7(@babel/core@7.24.7)
    +      '@babel/plugin-transform-unicode-regex': 7.24.7(@babel/core@7.24.7)
    +      '@babel/plugin-transform-unicode-sets-regex': 7.24.7(@babel/core@7.24.7)
    +      '@babel/preset-modules': 0.1.6-no-external-plugins(@babel/core@7.24.7)
    +      babel-plugin-polyfill-corejs2: 0.4.11(@babel/core@7.24.7)
    +      babel-plugin-polyfill-corejs3: 0.10.4(@babel/core@7.24.7)
    +      babel-plugin-polyfill-regenerator: 0.6.2(@babel/core@7.24.7)
    +      core-js-compat: 3.37.1
           semver: 6.3.1
         transitivePeerDependencies:
           - supports-color
    @@ -10325,15 +10782,15 @@ snapshots:
       '@babel/preset-modules@0.1.6-no-external-plugins(@babel/core@7.24.4)':
         dependencies:
           '@babel/core': 7.24.4
    -      '@babel/helper-plugin-utils': 7.24.5
    -      '@babel/types': 7.24.5
    +      '@babel/helper-plugin-utils': 7.24.7
    +      '@babel/types': 7.24.7
           esutils: 2.0.3
     
    -  '@babel/preset-modules@0.1.6-no-external-plugins(@babel/core@7.24.5)':
    +  '@babel/preset-modules@0.1.6-no-external-plugins(@babel/core@7.24.7)':
         dependencies:
    -      '@babel/core': 7.24.5
    -      '@babel/helper-plugin-utils': 7.24.5
    -      '@babel/types': 7.24.5
    +      '@babel/core': 7.24.7
    +      '@babel/helper-plugin-utils': 7.24.7
    +      '@babel/types': 7.24.7
           esutils: 2.0.3
     
       '@babel/preset-typescript@7.24.1(@babel/core@7.24.5)':
    @@ -10355,7 +10812,7 @@ snapshots:
         dependencies:
           regenerator-runtime: 0.14.1
     
    -  '@babel/runtime@7.24.5':
    +  '@babel/runtime@7.24.7':
         dependencies:
           regenerator-runtime: 0.14.1
     
    @@ -10365,6 +10822,12 @@ snapshots:
           '@babel/parser': 7.24.5
           '@babel/types': 7.24.5
     
    +  '@babel/template@7.24.7':
    +    dependencies:
    +      '@babel/code-frame': 7.24.7
    +      '@babel/parser': 7.24.7
    +      '@babel/types': 7.24.7
    +
       '@babel/traverse@7.24.5':
         dependencies:
           '@babel/code-frame': 7.24.2
    @@ -10380,12 +10843,33 @@ snapshots:
         transitivePeerDependencies:
           - supports-color
     
    +  '@babel/traverse@7.24.7':
    +    dependencies:
    +      '@babel/code-frame': 7.24.7
    +      '@babel/generator': 7.24.7
    +      '@babel/helper-environment-visitor': 7.24.7
    +      '@babel/helper-function-name': 7.24.7
    +      '@babel/helper-hoist-variables': 7.24.7
    +      '@babel/helper-split-export-declaration': 7.24.7
    +      '@babel/parser': 7.24.7
    +      '@babel/types': 7.24.7
    +      debug: 4.3.5
    +      globals: 11.12.0
    +    transitivePeerDependencies:
    +      - supports-color
    +
       '@babel/types@7.24.5':
         dependencies:
           '@babel/helper-string-parser': 7.24.1
           '@babel/helper-validator-identifier': 7.24.5
           to-fast-properties: 2.0.0
     
    +  '@babel/types@7.24.7':
    +    dependencies:
    +      '@babel/helper-string-parser': 7.24.7
    +      '@babel/helper-validator-identifier': 7.24.7
    +      to-fast-properties: 2.0.0
    +
       '@bcherny/json-schema-ref-parser@10.0.5-fork':
         dependencies:
           '@jsdevtools/ono': 7.1.3
    @@ -11171,14 +11655,16 @@ snapshots:
     
       '@polka/url@1.0.0-next.25': {}
     
    -  '@rollup/plugin-babel@5.3.1(@babel/core@7.24.5)(@types/babel__core@7.20.5)(rollup@2.79.1)':
    +  '@rollup/plugin-babel@5.3.1(@babel/core@7.24.7)(@types/babel__core@7.20.5)(rollup@2.79.1)':
         dependencies:
    -      '@babel/core': 7.24.5
    -      '@babel/helper-module-imports': 7.24.3
    +      '@babel/core': 7.24.7
    +      '@babel/helper-module-imports': 7.24.7
           '@rollup/pluginutils': 3.1.0(rollup@2.79.1)
           rollup: 2.79.1
         optionalDependencies:
           '@types/babel__core': 7.20.5
    +    transitivePeerDependencies:
    +      - supports-color
     
       '@rollup/plugin-node-resolve@15.2.3(rollup@2.79.1)':
         dependencies:
    @@ -11201,7 +11687,7 @@ snapshots:
         dependencies:
           serialize-javascript: 6.0.2
           smob: 1.5.0
    -      terser: 5.31.0
    +      terser: 5.31.1
         optionalDependencies:
           rollup: 2.79.1
     
    @@ -11871,13 +12357,13 @@ snapshots:
     
       '@ungap/structured-clone@1.2.0': {}
     
    -  '@unocss/astro@0.59.4(rollup@2.79.1)(vite@5.2.10(@types/node@20.12.7)(terser@5.31.0))':
    +  '@unocss/astro@0.59.4(rollup@2.79.1)(vite@5.2.10(@types/node@20.12.7)(terser@5.31.1))':
         dependencies:
           '@unocss/core': 0.59.4
           '@unocss/reset': 0.59.4
    -      '@unocss/vite': 0.59.4(rollup@2.79.1)(vite@5.2.10(@types/node@20.12.7)(terser@5.31.0))
    +      '@unocss/vite': 0.59.4(rollup@2.79.1)(vite@5.2.10(@types/node@20.12.7)(terser@5.31.1))
         optionalDependencies:
    -      vite: 5.2.10(@types/node@20.12.7)(terser@5.31.0)
    +      vite: 5.2.10(@types/node@20.12.7)(terser@5.31.1)
         transitivePeerDependencies:
           - rollup
     
    @@ -12008,7 +12494,7 @@ snapshots:
         dependencies:
           '@unocss/core': 0.59.4
     
    -  '@unocss/vite@0.59.4(rollup@2.79.1)(vite@5.2.10(@types/node@20.12.7)(terser@5.31.0))':
    +  '@unocss/vite@0.59.4(rollup@2.79.1)(vite@5.2.10(@types/node@20.12.7)(terser@5.31.1))':
         dependencies:
           '@ampproject/remapping': 2.3.0
           '@rollup/pluginutils': 5.1.0(rollup@2.79.1)
    @@ -12020,20 +12506,25 @@ snapshots:
           chokidar: 3.6.0
           fast-glob: 3.3.2
           magic-string: 0.30.10
    -      vite: 5.2.10(@types/node@20.12.7)(terser@5.31.0)
    +      vite: 5.2.10(@types/node@20.12.7)(terser@5.31.1)
         transitivePeerDependencies:
           - rollup
     
    -  '@vite-pwa/vitepress@0.4.0(vite-plugin-pwa@0.19.8(vite@5.2.10(@types/node@20.12.7)(terser@5.31.0))(workbox-build@7.1.0(@types/babel__core@7.20.5))(workbox-window@7.0.0))':
    +  '@vite-pwa/vitepress@0.4.0(vite-plugin-pwa@0.19.8(vite@5.2.10(@types/node@20.12.7)(terser@5.31.1))(workbox-build@7.1.0(@types/babel__core@7.20.5))(workbox-window@7.0.0))':
         dependencies:
    -      vite-plugin-pwa: 0.19.8(vite@5.2.10(@types/node@20.12.7)(terser@5.31.0))(workbox-build@7.1.0(@types/babel__core@7.20.5))(workbox-window@7.0.0)
    +      vite-plugin-pwa: 0.19.8(vite@5.2.10(@types/node@20.12.7)(terser@5.31.1))(workbox-build@7.1.0(@types/babel__core@7.20.5))(workbox-window@7.0.0)
     
       '@vitejs/plugin-vue@5.0.4(vite@5.2.10(@types/node@20.12.7)(terser@5.31.0))(vue@3.4.26(typescript@5.4.5))':
         dependencies:
           vite: 5.2.10(@types/node@20.12.7)(terser@5.31.0)
           vue: 3.4.26(typescript@5.4.5)
     
    -  '@vitest/coverage-v8@1.5.3(vitest@1.5.3(@types/node@20.12.7)(@vitest/ui@1.5.3)(jsdom@24.0.0)(terser@5.31.0))':
    +  '@vitejs/plugin-vue@5.0.4(vite@5.2.10(@types/node@20.12.7)(terser@5.31.1))(vue@3.4.26(typescript@5.4.5))':
    +    dependencies:
    +      vite: 5.2.10(@types/node@20.12.7)(terser@5.31.1)
    +      vue: 3.4.26(typescript@5.4.5)
    +
    +  '@vitest/coverage-v8@1.5.3(vitest@1.5.3(@types/node@20.12.7)(@vitest/ui@1.5.3)(jsdom@24.0.0)(terser@5.31.1))':
         dependencies:
           '@ampproject/remapping': 2.3.0
           '@bcoe/v8-coverage': 0.2.3
    @@ -12048,7 +12539,7 @@ snapshots:
           std-env: 3.7.0
           strip-literal: 2.1.0
           test-exclude: 6.0.0
    -      vitest: 1.5.3(@types/node@20.12.7)(@vitest/ui@1.5.3)(jsdom@24.0.0)(terser@5.31.0)
    +      vitest: 1.5.3(@types/node@20.12.7)(@vitest/ui@1.5.3)(jsdom@24.0.0)(terser@5.31.1)
         transitivePeerDependencies:
           - supports-color
     
    @@ -12083,7 +12574,7 @@ snapshots:
           pathe: 1.1.2
           picocolors: 1.0.0
           sirv: 2.0.4
    -      vitest: 1.5.3(@types/node@20.12.7)(@vitest/ui@1.5.3)(jsdom@24.0.0)(terser@5.31.0)
    +      vitest: 1.5.3(@types/node@20.12.7)(@vitest/ui@1.5.3)(jsdom@24.0.0)(terser@5.31.1)
     
       '@vitest/utils@1.5.3':
         dependencies:
    @@ -12493,7 +12984,7 @@ snapshots:
           require-from-string: 2.0.2
           uri-js: 4.4.1
     
    -  ajv@8.13.0:
    +  ajv@8.16.0:
         dependencies:
           fast-deep-equal: 3.1.3
           json-schema-traverse: 1.0.0
    @@ -12698,18 +13189,18 @@ snapshots:
     
       babel-plugin-polyfill-corejs2@0.4.11(@babel/core@7.24.4):
         dependencies:
    -      '@babel/compat-data': 7.24.4
    +      '@babel/compat-data': 7.24.7
           '@babel/core': 7.24.4
           '@babel/helper-define-polyfill-provider': 0.6.2(@babel/core@7.24.4)
           semver: 6.3.1
         transitivePeerDependencies:
           - supports-color
     
    -  babel-plugin-polyfill-corejs2@0.4.11(@babel/core@7.24.5):
    +  babel-plugin-polyfill-corejs2@0.4.11(@babel/core@7.24.7):
         dependencies:
    -      '@babel/compat-data': 7.24.4
    -      '@babel/core': 7.24.5
    -      '@babel/helper-define-polyfill-provider': 0.6.2(@babel/core@7.24.5)
    +      '@babel/compat-data': 7.24.7
    +      '@babel/core': 7.24.7
    +      '@babel/helper-define-polyfill-provider': 0.6.2(@babel/core@7.24.7)
           semver: 6.3.1
         transitivePeerDependencies:
           - supports-color
    @@ -12718,15 +13209,15 @@ snapshots:
         dependencies:
           '@babel/core': 7.24.4
           '@babel/helper-define-polyfill-provider': 0.6.2(@babel/core@7.24.4)
    -      core-js-compat: 3.37.0
    +      core-js-compat: 3.37.1
         transitivePeerDependencies:
           - supports-color
     
    -  babel-plugin-polyfill-corejs3@0.10.4(@babel/core@7.24.5):
    +  babel-plugin-polyfill-corejs3@0.10.4(@babel/core@7.24.7):
         dependencies:
    -      '@babel/core': 7.24.5
    -      '@babel/helper-define-polyfill-provider': 0.6.2(@babel/core@7.24.5)
    -      core-js-compat: 3.37.0
    +      '@babel/core': 7.24.7
    +      '@babel/helper-define-polyfill-provider': 0.6.2(@babel/core@7.24.7)
    +      core-js-compat: 3.37.1
         transitivePeerDependencies:
           - supports-color
     
    @@ -12737,10 +13228,10 @@ snapshots:
         transitivePeerDependencies:
           - supports-color
     
    -  babel-plugin-polyfill-regenerator@0.6.2(@babel/core@7.24.5):
    +  babel-plugin-polyfill-regenerator@0.6.2(@babel/core@7.24.7):
         dependencies:
    -      '@babel/core': 7.24.5
    -      '@babel/helper-define-polyfill-provider': 0.6.2(@babel/core@7.24.5)
    +      '@babel/core': 7.24.7
    +      '@babel/helper-define-polyfill-provider': 0.6.2(@babel/core@7.24.7)
         transitivePeerDependencies:
           - supports-color
     
    @@ -13223,7 +13714,7 @@ snapshots:
         dependencies:
           browserslist: 4.23.0
     
    -  core-js-compat@3.37.0:
    +  core-js-compat@3.37.1:
         dependencies:
           browserslist: 4.23.0
     
    @@ -13706,6 +14197,10 @@ snapshots:
         optionalDependencies:
           supports-color: 8.1.1
     
    +  debug@4.3.5:
    +    dependencies:
    +      ms: 2.1.2
    +
       decamelize@1.2.0: {}
     
       decimal.js@10.4.3: {}
    @@ -13841,7 +14336,7 @@ snapshots:
     
       ejs@3.1.10:
         dependencies:
    -      jake: 10.8.7
    +      jake: 10.9.1
     
       electron-to-chromium@1.4.692: {}
     
    @@ -15389,7 +15884,7 @@ snapshots:
         optionalDependencies:
           '@pkgjs/parseargs': 0.11.0
     
    -  jake@10.8.7:
    +  jake@10.9.1:
         dependencies:
           async: 3.2.5
           chalk: 4.1.2
    @@ -16891,6 +17386,8 @@ snapshots:
     
       picocolors@1.0.0: {}
     
    +  picocolors@1.0.1: {}
    +
       picomatch@2.3.1: {}
     
       pidtree@0.6.0: {}
    @@ -17173,7 +17670,7 @@ snapshots:
     
       regenerator-transform@0.15.2:
         dependencies:
    -      '@babel/runtime': 7.24.5
    +      '@babel/runtime': 7.24.7
     
       regexp-tree@0.1.27: {}
     
    @@ -17975,6 +18472,14 @@ snapshots:
           acorn: 8.11.3
           commander: 2.20.3
           source-map-support: 0.5.21
    +    optional: true
    +
    +  terser@5.31.1:
    +    dependencies:
    +      '@jridgewell/source-map': 0.3.6
    +      acorn: 8.11.3
    +      commander: 2.20.3
    +      source-map-support: 0.5.21
     
       test-exclude@6.0.0:
         dependencies:
    @@ -18253,9 +18758,9 @@ snapshots:
     
       universalify@2.0.1: {}
     
    -  unocss@0.59.4(postcss@8.4.38)(rollup@2.79.1)(vite@5.2.10(@types/node@20.12.7)(terser@5.31.0)):
    +  unocss@0.59.4(postcss@8.4.38)(rollup@2.79.1)(vite@5.2.10(@types/node@20.12.7)(terser@5.31.1)):
         dependencies:
    -      '@unocss/astro': 0.59.4(rollup@2.79.1)(vite@5.2.10(@types/node@20.12.7)(terser@5.31.0))
    +      '@unocss/astro': 0.59.4(rollup@2.79.1)(vite@5.2.10(@types/node@20.12.7)(terser@5.31.1))
           '@unocss/cli': 0.59.4(rollup@2.79.1)
           '@unocss/core': 0.59.4
           '@unocss/extractor-arbitrary-variants': 0.59.4
    @@ -18274,9 +18779,9 @@ snapshots:
           '@unocss/transformer-compile-class': 0.59.4
           '@unocss/transformer-directives': 0.59.4
           '@unocss/transformer-variant-group': 0.59.4
    -      '@unocss/vite': 0.59.4(rollup@2.79.1)(vite@5.2.10(@types/node@20.12.7)(terser@5.31.0))
    +      '@unocss/vite': 0.59.4(rollup@2.79.1)(vite@5.2.10(@types/node@20.12.7)(terser@5.31.1))
         optionalDependencies:
    -      vite: 5.2.10(@types/node@20.12.7)(terser@5.31.0)
    +      vite: 5.2.10(@types/node@20.12.7)(terser@5.31.1)
         transitivePeerDependencies:
           - postcss
           - rollup
    @@ -18284,7 +18789,7 @@ snapshots:
     
       unpipe@1.0.0: {}
     
    -  unplugin-vue-components@0.26.0(@babel/parser@7.24.5)(rollup@2.79.1)(vue@3.4.26(typescript@5.4.5)):
    +  unplugin-vue-components@0.26.0(@babel/parser@7.24.7)(rollup@2.79.1)(vue@3.4.26(typescript@5.4.5)):
         dependencies:
           '@antfu/utils': 0.7.6
           '@rollup/pluginutils': 5.1.0(rollup@2.79.1)
    @@ -18298,7 +18803,7 @@ snapshots:
           unplugin: 1.4.0
           vue: 3.4.26(typescript@5.4.5)
         optionalDependencies:
    -      '@babel/parser': 7.24.5
    +      '@babel/parser': 7.24.7
         transitivePeerDependencies:
           - rollup
           - supports-color
    @@ -18367,13 +18872,13 @@ snapshots:
           unist-util-stringify-position: 4.0.0
           vfile-message: 4.0.2
     
    -  vite-node@1.5.3(@types/node@20.12.7)(terser@5.31.0):
    +  vite-node@1.5.3(@types/node@20.12.7)(terser@5.31.1):
         dependencies:
           cac: 6.7.14
           debug: 4.3.4(supports-color@8.1.1)
           pathe: 1.1.2
           picocolors: 1.0.0
    -      vite: 5.2.10(@types/node@20.12.7)(terser@5.31.0)
    +      vite: 5.2.10(@types/node@20.12.7)(terser@5.31.1)
         transitivePeerDependencies:
           - '@types/node'
           - less
    @@ -18384,7 +18889,7 @@ snapshots:
           - supports-color
           - terser
     
    -  vite-plugin-istanbul@6.0.0(vite@5.2.10(@types/node@20.12.7)(terser@5.31.0)):
    +  vite-plugin-istanbul@6.0.0(vite@5.2.10(@types/node@20.12.7)(terser@5.31.1)):
         dependencies:
           '@istanbuljs/load-nyc-config': 1.1.0
           espree: 10.0.1
    @@ -18392,16 +18897,16 @@ snapshots:
           picocolors: 1.0.0
           source-map: 0.7.4
           test-exclude: 6.0.0
    -      vite: 5.2.10(@types/node@20.12.7)(terser@5.31.0)
    +      vite: 5.2.10(@types/node@20.12.7)(terser@5.31.1)
         transitivePeerDependencies:
           - supports-color
     
    -  vite-plugin-pwa@0.19.8(vite@5.2.10(@types/node@20.12.7)(terser@5.31.0))(workbox-build@7.1.0(@types/babel__core@7.20.5))(workbox-window@7.0.0):
    +  vite-plugin-pwa@0.19.8(vite@5.2.10(@types/node@20.12.7)(terser@5.31.1))(workbox-build@7.1.0(@types/babel__core@7.20.5))(workbox-window@7.0.0):
         dependencies:
           debug: 4.3.4(supports-color@8.1.1)
           fast-glob: 3.3.2
           pretty-bytes: 6.1.1
    -      vite: 5.2.10(@types/node@20.12.7)(terser@5.31.0)
    +      vite: 5.2.10(@types/node@20.12.7)(terser@5.31.1)
           workbox-build: 7.1.0(@types/babel__core@7.20.5)
           workbox-window: 7.0.0
         transitivePeerDependencies:
    @@ -18417,6 +18922,16 @@ snapshots:
           fsevents: 2.3.3
           terser: 5.31.0
     
    +  vite@5.2.10(@types/node@20.12.7)(terser@5.31.1):
    +    dependencies:
    +      esbuild: 0.20.2
    +      postcss: 8.4.38
    +      rollup: 4.17.2
    +    optionalDependencies:
    +      '@types/node': 20.12.7
    +      fsevents: 2.3.3
    +      terser: 5.31.1
    +
       vitepress-plugin-search@1.0.4-alpha.22(flexsearch@0.7.43)(vitepress@1.1.4(@algolia/client-search@4.23.3)(@types/node@20.12.7)(axios@1.6.7)(postcss@8.4.38)(search-insights@2.13.0)(terser@5.31.0)(typescript@5.4.5))(vue@3.4.26(typescript@5.4.5)):
         dependencies:
           '@types/flexsearch': 0.7.3
    @@ -18473,7 +18988,53 @@ snapshots:
           - typescript
           - universal-cookie
     
    -  vitest@1.5.3(@types/node@20.12.7)(@vitest/ui@1.5.3)(jsdom@24.0.0)(terser@5.31.0):
    +  vitepress@1.1.4(@algolia/client-search@4.23.3)(@types/node@20.12.7)(axios@1.6.7)(postcss@8.4.38)(search-insights@2.13.0)(terser@5.31.1)(typescript@5.4.5):
    +    dependencies:
    +      '@docsearch/css': 3.6.0
    +      '@docsearch/js': 3.6.0(@algolia/client-search@4.23.3)(search-insights@2.13.0)
    +      '@shikijs/core': 1.4.0
    +      '@shikijs/transformers': 1.4.0
    +      '@types/markdown-it': 14.0.1
    +      '@vitejs/plugin-vue': 5.0.4(vite@5.2.10(@types/node@20.12.7)(terser@5.31.1))(vue@3.4.26(typescript@5.4.5))
    +      '@vue/devtools-api': 7.1.3(vue@3.4.26(typescript@5.4.5))
    +      '@vueuse/core': 10.9.0(vue@3.4.26(typescript@5.4.5))
    +      '@vueuse/integrations': 10.9.0(axios@1.6.7)(focus-trap@7.5.4)(vue@3.4.26(typescript@5.4.5))
    +      focus-trap: 7.5.4
    +      mark.js: 8.11.1
    +      minisearch: 6.3.0
    +      shiki: 1.4.0
    +      vite: 5.2.10(@types/node@20.12.7)(terser@5.31.1)
    +      vue: 3.4.26(typescript@5.4.5)
    +    optionalDependencies:
    +      postcss: 8.4.38
    +    transitivePeerDependencies:
    +      - '@algolia/client-search'
    +      - '@types/node'
    +      - '@types/react'
    +      - '@vue/composition-api'
    +      - async-validator
    +      - axios
    +      - change-case
    +      - drauu
    +      - fuse.js
    +      - idb-keyval
    +      - jwt-decode
    +      - less
    +      - lightningcss
    +      - nprogress
    +      - qrcode
    +      - react
    +      - react-dom
    +      - sass
    +      - search-insights
    +      - sortablejs
    +      - stylus
    +      - sugarss
    +      - terser
    +      - typescript
    +      - universal-cookie
    +
    +  vitest@1.5.3(@types/node@20.12.7)(@vitest/ui@1.5.3)(jsdom@24.0.0)(terser@5.31.1):
         dependencies:
           '@vitest/expect': 1.5.3
           '@vitest/runner': 1.5.3
    @@ -18492,8 +19053,8 @@ snapshots:
           strip-literal: 2.1.0
           tinybench: 2.8.0
           tinypool: 0.8.4
    -      vite: 5.2.10(@types/node@20.12.7)(terser@5.31.0)
    -      vite-node: 1.5.3(@types/node@20.12.7)(terser@5.31.0)
    +      vite: 5.2.10(@types/node@20.12.7)(terser@5.31.1)
    +      vite-node: 1.5.3(@types/node@20.12.7)(terser@5.31.1)
           why-is-node-running: 2.2.2
         optionalDependencies:
           '@types/node': 20.12.7
    @@ -18844,16 +19405,16 @@ snapshots:
     
       workbox-build@7.1.0(@types/babel__core@7.20.5):
         dependencies:
    -      '@apideck/better-ajv-errors': 0.3.6(ajv@8.13.0)
    -      '@babel/core': 7.24.5
    -      '@babel/preset-env': 7.24.5(@babel/core@7.24.5)
    -      '@babel/runtime': 7.24.5
    -      '@rollup/plugin-babel': 5.3.1(@babel/core@7.24.5)(@types/babel__core@7.20.5)(rollup@2.79.1)
    +      '@apideck/better-ajv-errors': 0.3.6(ajv@8.16.0)
    +      '@babel/core': 7.24.7
    +      '@babel/preset-env': 7.24.7(@babel/core@7.24.7)
    +      '@babel/runtime': 7.24.7
    +      '@rollup/plugin-babel': 5.3.1(@babel/core@7.24.7)(@types/babel__core@7.20.5)(rollup@2.79.1)
           '@rollup/plugin-node-resolve': 15.2.3(rollup@2.79.1)
           '@rollup/plugin-replace': 2.4.2(rollup@2.79.1)
           '@rollup/plugin-terser': 0.4.4(rollup@2.79.1)
           '@surma/rollup-plugin-off-main-thread': 2.2.3
    -      ajv: 8.13.0
    +      ajv: 8.16.0
           common-tags: 1.8.2
           fast-json-stable-stringify: 2.1.0
           fs-extra: 9.1.0
    
    From ea69d26a607769f47cb9dcf275c7cdb4e0e0fd56 Mon Sep 17 00:00:00 2001
    From: Knut Sveidqvist 
    Date: Mon, 10 Jun 2024 13:50:06 +0200
    Subject: [PATCH 474/789] #5237 Fix for incorrect handling of self loops with
     elk layout
    
    ---
     packages/mermaid-layout-elk/src/find-common-ancestor.ts | 5 +++++
     1 file changed, 5 insertions(+)
    
    diff --git a/packages/mermaid-layout-elk/src/find-common-ancestor.ts b/packages/mermaid-layout-elk/src/find-common-ancestor.ts
    index ebdc01cf76..83990b2f39 100644
    --- a/packages/mermaid-layout-elk/src/find-common-ancestor.ts
    +++ b/packages/mermaid-layout-elk/src/find-common-ancestor.ts
    @@ -7,6 +7,11 @@ export const findCommonAncestor = (id1: string, id2: string, treeData: TreeData)
       const { parentById } = treeData;
       const visited = new Set();
       let currentId = id1;
    +
    +  if (id1 === id2) {
    +    return parentById[id1] || 'root';
    +  }
    +
       while (currentId) {
         visited.add(currentId);
         if (currentId === id2) {
    
    From aaa4e8a794a8a3f2e81a3acbe3180a905b271dec Mon Sep 17 00:00:00 2001
    From: Knut Sveidqvist 
    Date: Mon, 10 Jun 2024 13:55:12 +0200
    Subject: [PATCH 475/789] test commit
    
    ---
     cypress/platform/knsv2.html | 40 +++++++++++++++++++++++++++++++------
     1 file changed, 34 insertions(+), 6 deletions(-)
    
    diff --git a/cypress/platform/knsv2.html b/cypress/platform/knsv2.html
    index b2598bfbc2..bb035bd39f 100644
    --- a/cypress/platform/knsv2.html
    +++ b/cypress/platform/knsv2.html
    @@ -76,6 +76,23 @@
       
       
         
    +flowchart LR
    + subgraph Apa["Apa"]
    +        A["Start"]
    +        B["This is B"]
    +  end
    +    A --> B & C["C"]
    +    Apa --> C
    +      
    +
    +flowchart LR
    + subgraph Apa["Apa"]
    +    B --> B &   C
    +  end
    +      
    +
     stateDiagram
     direction LR
           state Gorilla0 {
    @@ -88,7 +105,7 @@
           A0 --> C0
           
    -
    +    
     flowchart LR
         subgraph Gorilla
           subgraph Apa
    @@ -101,6 +118,17 @@
           
    +flowchart LR
    + subgraph Apa["Apa"]
    +        A["Start"]
    +        B["This is B"]
    +  end
    +    A --> B & C["C"]
    +    Apa --> C
    +
    +      
    +
           %%{init: {"layout": "dagre", "mergeEdges": false} }%%
     flowchart LR
           A ==> B(This is B)
    @@ -123,7 +151,7 @@
         if_state --> True : if n >= 0
           
    -
    +    
           %%{init: {"layout": "elk", "mergeEdges": false, "elk.nodePlacement.strategy": "SIMPLE"} }%%
           stateDiagram
         state if_state <<choice>>
    @@ -217,18 +245,18 @@
     
         
    -
    -
    -
    \ No newline at end of file
    +      function callback() {
    +        alert('It worked');
    +      }
    +      mermaid.parseError = function (err, hash) {
    +        console.error('In parse error:');
    +        console.error(err);
    +      };
    +
    +      let coll = document.getElementsByClassName('collapsible');
    +      for (const element of coll) {
    +        element.addEventListener('click', function () {
    +          this.classList.toggle('active');
    +          let content = this.nextElementSibling;
    +          if (content.style.maxHeight) {
    +            content.style.maxHeight = null;
    +          } else {
    +            content.style.maxHeight = content.scrollHeight + 'px';
    +          }
    +        });
    +      }
    +    
    +  
    +
    diff --git a/cypress/platform/flowchart-sate.html b/cypress/platform/flowchart-sate.html
    index 61c3c167d4..49809d73c7 100644
    --- a/cypress/platform/flowchart-sate.html
    +++ b/cypress/platform/flowchart-sate.html
    @@ -1,181 +1,191 @@
     
    -
    -
    -  
    -  
    -  
    -  
    -  
    -  
    -  
    -  
    -  
    -  
    -
    -  
    -
    -
    -
    -  
    -    
    -      
    -      
    -      
    -    
    -    
    -      
    State roughFlowchart rough
    - -
    -
    -
    +  
    +    
    +    
    +    
    +    
    +    
    +    
    +    
    +    
    +    
    +    
    +
    +    
    +  
    +
    +  
    +    
    +      
    +        
    +        
    +        
    +        
    +      
    +      
    +        
    -      
    -      
    +        
    -
    -    
    -
    -
    -  
    State roughFlowchart rough
    + +
    +
    +
           flowchart LR
         id1([This is the text in the box])
     
    -  
    + +
    -
    -
    +        
    +        
    +
     %%{init: {"look": "handdrawn"} }%%
     stateDiagram-v2
         stateA
     
    -      
    -
    -
    +      
    +
    +
     %%{init: {"look": "handdrawn"} }%%
     flowchart LR
         id1[[This is the text in the box]]
     
     
    -      
    -
    - - - - - - \ No newline at end of file + function callback() { + alert('It worked'); + } + mermaid.parseError = function (err, hash) { + console.error('In parse error:'); + console.error(err); + }; + + let coll = document.getElementsByClassName('collapsible'); + for (const element of coll) { + element.addEventListener('click', function () { + this.classList.toggle('active'); + let content = this.nextElementSibling; + if (content.style.maxHeight) { + content.style.maxHeight = null; + } else { + content.style.maxHeight = content.scrollHeight + 'px'; + } + }); + } + + + diff --git a/cypress/platform/state-refactor.html b/cypress/platform/state-refactor.html index 6bad8d2c67..3d2a47e47a 100644 --- a/cypress/platform/state-refactor.html +++ b/cypress/platform/state-refactor.html @@ -105,6 +105,7 @@ stateId
    +
    
    From fc17733770d26418a849617839fba825b348ea56 Mon Sep 17 00:00:00 2001
    From: Ashish Jain 
    Date: Thu, 13 Jun 2024 14:17:36 +0200
    Subject: [PATCH 490/789] #5237 Fix eslint error
    
    ---
     cypress/platform/knsv2.html | 1 +
     1 file changed, 1 insertion(+)
    
    diff --git a/cypress/platform/knsv2.html b/cypress/platform/knsv2.html
    index 9c91100bbe..40cb5a9336 100644
    --- a/cypress/platform/knsv2.html
    +++ b/cypress/platform/knsv2.html
    @@ -153,6 +153,7 @@
         end
         Apa --- C
         A --x C
    +    
     ---
    
    From ec0e9b86801838e4d78ce2481c594e46175bc3f8 Mon Sep 17 00:00:00 2001
    From: Knut Sveidqvist 
    Date: Thu, 13 Jun 2024 14:25:31 +0200
    Subject: [PATCH 491/789] 5237 Fixes after visual tests
    
    ---
     cypress/helpers/util.ts                       |     2 +-
     cypress/platform/viewer.js                    |     6 +-
     package.json                                  |    11 +-
     .../src/diagrams/flowchart/flowDiagram-v2.ts  |     9 +-
     .../mermaid/src/diagrams/state/dataFetcher.js |     2 +-
     packages/mermaid/src/diagrams/state/styles.js |     1 +
     .../layout-algorithms/dagre/index.js          |     4 +-
     .../rendering-elements/clusters.js            |    33 +-
     .../rendering-elements/nodes.js               |     5 +-
     .../rendering-elements/shapes/drawRect.ts     |    13 +-
     .../rendering-elements/shapes/note.ts         |     4 +-
     .../rendering-elements/shapes/roundedRect.ts  |     2 +
     .../rendering-elements/shapes/squareRect.ts   |     2 +
     .../mermaid/src/rendering-util/types.d.ts     |     2 +
     packages/mermaid/src/themes/theme-default.js  |     2 +-
     pnpm-lock.yaml                                | 21181 +++++++---------
     16 files changed, 9430 insertions(+), 11849 deletions(-)
    
    diff --git a/cypress/helpers/util.ts b/cypress/helpers/util.ts
    index aed5d7973c..d7db7dfb50 100644
    --- a/cypress/helpers/util.ts
    +++ b/cypress/helpers/util.ts
    @@ -109,7 +109,7 @@ export const openURLAndVerifyRendering = (
       }
     
       cy.visit(url);
    -  cy.window().should('have.property', 'rendered', true);
    +  // cy.window().should('have.property', 'rendered', true);
       cy.get('svg').should('be.visible');
     
       if (validation) {
    diff --git a/cypress/platform/viewer.js b/cypress/platform/viewer.js
    index 482a90646d..390b84b9ee 100644
    --- a/cypress/platform/viewer.js
    +++ b/cypress/platform/viewer.js
    @@ -1,5 +1,5 @@
     import mermaid from './mermaid.esm.mjs';
    -import flowchartELK from './mermaid-flowchart-elk.esm.mjs';
    +// import flowchartELK from './mermaid-flowchart-elk.esm.mjs';
     import externalExample from './mermaid-example-diagram.esm.mjs';
     import zenUml from './mermaid-zenuml.esm.mjs';
     
    @@ -9,6 +9,7 @@ function b64ToUtf8(str) {
     
     // Adds a rendered flag to window when rendering is done, so cypress can wait for it.
     function markRendered() {
    +  console.log('Done rendering');
       if (window.Cypress) {
         window.rendered = true;
       }
    @@ -46,7 +47,8 @@ const contentLoaded = async function () {
           document.getElementsByTagName('body')[0].appendChild(div);
         }
     
    -    await mermaid.registerExternalDiagrams([externalExample, zenUml, flowchartELK]);
    +    // await mermaid.registerExternalDiagrams([externalExample, zenUml, flowchartELK]);
    +    await mermaid.registerExternalDiagrams([externalExample, zenUml]);
         mermaid.initialize(graphObj.mermaid);
         await mermaid.run();
       }
    diff --git a/package.json b/package.json
    index 55bc454f5b..4774130f02 100644
    --- a/package.json
    +++ b/package.json
    @@ -61,7 +61,7 @@
         ]
       },
       "devDependencies": {
    -    "@applitools/eyes-cypress": "^3.42.3",
    +    "@applitools/eyes-cypress": "^3.44.4",
         "@cspell/eslint-plugin": "^8.6.0",
         "@cypress/code-coverage": "^3.12.30",
         "@rollup/plugin-typescript": "^11.1.6",
    @@ -85,7 +85,7 @@
         "cors": "^2.8.5",
         "cross-env": "^7.0.3",
         "cspell": "^8.6.0",
    -    "cypress": "^13.7.1",
    +    "cypress": "^13.11.0",
         "cypress-image-snapshot": "^4.0.1",
         "esbuild": "^0.20.2",
         "eslint": "^8.57.0",
    @@ -126,10 +126,5 @@
       },
       "nyc": {
         "report-dir": "coverage/cypress"
    -  },
    -  "pnpm": {
    -    "patchedDependencies": {
    -      "cytoscape@3.28.1": "patches/cytoscape@3.28.1.patch"
    -    }
       }
    -}
    +}
    \ No newline at end of file
    diff --git a/packages/mermaid/src/diagrams/flowchart/flowDiagram-v2.ts b/packages/mermaid/src/diagrams/flowchart/flowDiagram-v2.ts
    index 1be74da55e..ee5123a9ed 100644
    --- a/packages/mermaid/src/diagrams/flowchart/flowDiagram-v2.ts
    +++ b/packages/mermaid/src/diagrams/flowchart/flowDiagram-v2.ts
    @@ -2,7 +2,7 @@
     import flowParser from './parser/flow.jison';
     import flowDb from './flowDb.js';
     import flowRendererV2 from './flowRenderer-v2.js';
    -import flowRendererV3 from './flowRenderer-v3-unified.js';
    +// import flowRendererV3 from './flowRenderer-v3-unified.js';
     import flowStyles from './styles.js';
     import type { MermaidConfig } from '../../config.type.js';
     import { setConfig } from '../../diagram-api/diagramAPI.js';
    @@ -10,8 +10,8 @@ import { setConfig } from '../../diagram-api/diagramAPI.js';
     export const diagram = {
       parser: flowParser,
       db: flowDb,
    -  // renderer: flowRendererV2,
    -  renderer: flowRendererV3,
    +  renderer: flowRendererV2,
    +  // renderer: flowRendererV3,
       styles: flowStyles,
       init: (cnf: MermaidConfig) => {
         if (!cnf.flowchart) {
    @@ -20,7 +20,8 @@ export const diagram = {
         cnf.flowchart.arrowMarkerAbsolute = cnf.arrowMarkerAbsolute;
         // flowchart-v2 uses dagre-wrapper, which doesn't have access to flowchart cnf
         setConfig({ flowchart: { arrowMarkerAbsolute: cnf.arrowMarkerAbsolute } });
    -    flowRendererV3.setConf(cnf.flowchart);
    +    flowRendererV2.setConf(cnf.flowchart);
    +    // flowRendererV3.setConf(cnf.flowchart);
         flowDb.clear();
         flowDb.setGen('gen-2');
       },
    diff --git a/packages/mermaid/src/diagrams/state/dataFetcher.js b/packages/mermaid/src/diagrams/state/dataFetcher.js
    index 613fd8779b..e094d21686 100644
    --- a/packages/mermaid/src/diagrams/state/dataFetcher.js
    +++ b/packages/mermaid/src/diagrams/state/dataFetcher.js
    @@ -324,7 +324,7 @@ export const dataFetcher = (parent, parsedItem, diagramStates, nodes, edges, alt
             domId: stateDomId(itemId, graphItemCount, NOTE),
             type: newNode.type,
             isGroup: newNode.type === 'group',
    -        padding: 0, //getConfig().flowchart.padding
    +        padding: getConfig().flowchart.padding,
             look,
             position: parsedItem.note.position,
           };
    diff --git a/packages/mermaid/src/diagrams/state/styles.js b/packages/mermaid/src/diagrams/state/styles.js
    index e2a70ffec2..32d6b89a92 100644
    --- a/packages/mermaid/src/diagrams/state/styles.js
    +++ b/packages/mermaid/src/diagrams/state/styles.js
    @@ -133,6 +133,7 @@ g.stateGroup line {
     
     .cluster-label, .nodeLabel {
       color: ${options.stateLabelColor};
    +  // line-height: 1;
     }
     
     .statediagram-cluster rect.outer {
    diff --git a/packages/mermaid/src/rendering-util/layout-algorithms/dagre/index.js b/packages/mermaid/src/rendering-util/layout-algorithms/dagre/index.js
    index 3e8d35ccbd..2b0db91b3d 100644
    --- a/packages/mermaid/src/rendering-util/layout-algorithms/dagre/index.js
    +++ b/packages/mermaid/src/rendering-util/layout-algorithms/dagre/index.js
    @@ -183,7 +183,7 @@ const recursiveRender = async (_elem, graph, diagramType, id, parentCluster, sit
             const halfPadding = node?.padding / 2 || 0;
             const labelHeight = node?.labelBBox?.height || 0;
             const offsetY = labelHeight - halfPadding || 0;
    -        node.y += offsetY + (parent?.offsetY / 2 || 0);
    +        // node.y += offsetY + (parent?.offsetY / 2 || 0);
             // node.offsetY = offsetY;
             insertCluster(clusters, node);
     
    @@ -244,7 +244,7 @@ const recursiveRender = async (_elem, graph, diagramType, id, parentCluster, sit
           diff = n.diff;
         }
       });
    -  log.trace('Returning from recursive render XAX', elem, diff);
    +  log.warn('Returning from recursive render XAX', elem, diff);
       return { elem, diff };
     };
     /**
    diff --git a/packages/mermaid/src/rendering-util/rendering-elements/clusters.js b/packages/mermaid/src/rendering-util/rendering-elements/clusters.js
    index 2bbb13c620..a4882034f1 100644
    --- a/packages/mermaid/src/rendering-util/rendering-elements/clusters.js
    +++ b/packages/mermaid/src/rendering-util/rendering-elements/clusters.js
    @@ -177,7 +177,13 @@ const roundedWithTitle = (parent, node) => {
         themeVariables;
     
       // Add outer g element
    -  const shapeSvg = parent.insert('g').attr('class', node.cssClasses).attr('id', node.id);
    +  const shapeSvg = parent
    +    .insert('g')
    +    .attr('class', node.cssClasses)
    +    .attr('id', node.id)
    +    .attr('data-et', 'node')
    +    .attr('data-node', 'true')
    +    .attr('data-id', node.id);
     
       // add the rect
       const outerRectG = shapeSvg.insert('g', ':first-child');
    @@ -190,6 +196,7 @@ const roundedWithTitle = (parent, node) => {
     
       // Get the size of the label
       let bbox = text.getBBox();
    +
       if (evaluate(siteConfig.flowchart.htmlLabels)) {
         const div = text.children[0];
         const dv = select(text);
    @@ -197,6 +204,7 @@ const roundedWithTitle = (parent, node) => {
         dv.attr('width', bbox.width);
         dv.attr('height', bbox.height);
       }
    +
       const padding = 0 * node.padding;
       const halfPadding = padding / 2;
     
    @@ -216,9 +224,10 @@ const roundedWithTitle = (parent, node) => {
       // }
       const x = node.x - width / 2 - halfPadding;
       const y = node.y - node.height / 2 - halfPadding;
    -  const innerY = node.y - node.height / 2 - halfPadding + bbox.height - 1;
    +  const innerY = node.y - node.height / 2 - halfPadding + bbox.height + 2;
       const height = node.height + padding;
    -  const innerHeight = node.height + padding - bbox.height - 3;
    +  const innerHeight = node.height + padding - bbox.height - 6;
    +  const look = siteConfig.look;
     
       // add the rect
       let rect;
    @@ -248,9 +257,16 @@ const roundedWithTitle = (parent, node) => {
         innerRect = shapeSvg.insert(() => roughInnerNode);
       } else {
         rect = outerRectG.insert('rect', ':first-child');
    +    let outerRectClass = 'outer';
    +    if (look === 'neo') {
    +      outerRectClass = 'outer state-shadow-neo';
    +    } else {
    +      outerRectClass = 'outer';
    +    }
    +
         // center the rect around its coordinate
         rect
    -      .attr('class', 'outer')
    +      .attr('class', outerRectClass)
           .attr('x', x)
           .attr('y', y)
           .attr('width', width)
    @@ -263,16 +279,9 @@ const roundedWithTitle = (parent, node) => {
           .attr('height', innerHeight);
       }
     
    -  // Center the label
       label.attr(
         'transform',
    -    `translate(${node.x - bbox.width / 2}, ${
    -      node.y -
    -      node.height / 2 -
    -      node.padding +
    -      bbox.height / 2 -
    -      (evaluate(siteConfig.flowchart.htmlLabels) ? 5 : 3)
    -    })`
    +    `translate(${node.x - bbox.width / 2}, ${y + 1 - (evaluate(siteConfig.flowchart.htmlLabels) ? 0 : 3)})`
       );
     
       const rectBox = rect.node().getBBox();
    diff --git a/packages/mermaid/src/rendering-util/rendering-elements/nodes.js b/packages/mermaid/src/rendering-util/rendering-elements/nodes.js
    index 6dcec7266b..9878a9da97 100644
    --- a/packages/mermaid/src/rendering-util/rendering-elements/nodes.js
    +++ b/packages/mermaid/src/rendering-util/rendering-elements/nodes.js
    @@ -103,6 +103,7 @@ export const clear = () => {
     };
     
     export const positionNode = (node) => {
    +  console.log('Position node', node, node.diff);
       const el = nodeElems[node.id];
     
       log.trace(
    @@ -111,8 +112,8 @@ export const positionNode = (node) => {
         node,
         'translate(' + (node.x - node.width / 2 - 5) + ', ' + node.width / 2 + ')'
       );
    -
    -  const diff = 0;
    +  // Handling of the case where teh label grows the cluster
    +  const diff = node.diff || 0;
       if (node.clusterNode) {
         el.attr(
           'transform',
    diff --git a/packages/mermaid/src/rendering-util/rendering-elements/shapes/drawRect.ts b/packages/mermaid/src/rendering-util/rendering-elements/shapes/drawRect.ts
    index 6c54d2d0c0..050e49b275 100644
    --- a/packages/mermaid/src/rendering-util/rendering-elements/shapes/drawRect.ts
    +++ b/packages/mermaid/src/rendering-util/rendering-elements/shapes/drawRect.ts
    @@ -5,8 +5,12 @@ import type { Node, RectOptions } from '$root/rendering-util/types.d.ts';
     import { createRoundedRectPathD } from './roundedRectPath.js';
     import { userNodeOverrides } from '$root/rendering-util/rendering-elements/shapes/handdrawnStyles.js';
     import rough from 'roughjs';
    +import { getConfig } from '$root/diagram-api/diagramAPI.js';
     
     export const drawRect = async (parent: SVGAElement, node: Node, options: RectOptions) => {
    +  const { themeVariables, handdrawnSeed, look } = getConfig();
    +  const { nodeBorder, mainBkg } = themeVariables;
    +
       const { shapeSvg, bbox, halfPadding } = await labelHelper(
         parent,
         node,
    @@ -14,12 +18,13 @@ export const drawRect = async (parent: SVGAElement, node: Node, options: RectOpt
         true
       );
     
    -  const totalWidth = bbox.width + node.padding;
    -  const totalHeight = bbox.height + node.padding;
    -  const x = -bbox.width / 2 - halfPadding;
    -  const y = -bbox.height / 2 - halfPadding;
    +  const totalWidth = Math.max(bbox.width + options.labelPaddingX * 2, node?.width || 0);
    +  const totalHeight = Math.max(bbox.height + options.labelPaddingY * 2, node?.height || 0);
    +  const x = -totalWidth / 2;
    +  const y = -totalHeight / 2;
     
       let rect;
    +  node.look = look;
       let { rx, ry } = node;
       const { cssStyles } = node;
     
    diff --git a/packages/mermaid/src/rendering-util/rendering-elements/shapes/note.ts b/packages/mermaid/src/rendering-util/rendering-elements/shapes/note.ts
    index 79c7129a10..0c84ef59ee 100644
    --- a/packages/mermaid/src/rendering-util/rendering-elements/shapes/note.ts
    +++ b/packages/mermaid/src/rendering-util/rendering-elements/shapes/note.ts
    @@ -25,8 +25,8 @@ export const note = async (parent: SVGAElement, node: Node) => {
       let rect;
       const totalWidth = bbox.width + node.padding;
       const totalHeight = bbox.height + node.padding;
    -  const x = -bbox.width / 2 - halfPadding;
    -  const y = -bbox.height / 2 - halfPadding;
    +  const x = -totalWidth / 2;
    +  const y = -totalHeight / 2;
     
       if (node.look === 'handdrawn') {
         // add the rect
    diff --git a/packages/mermaid/src/rendering-util/rendering-elements/shapes/roundedRect.ts b/packages/mermaid/src/rendering-util/rendering-elements/shapes/roundedRect.ts
    index 6361161321..8a28b63ad4 100644
    --- a/packages/mermaid/src/rendering-util/rendering-elements/shapes/roundedRect.ts
    +++ b/packages/mermaid/src/rendering-util/rendering-elements/shapes/roundedRect.ts
    @@ -6,6 +6,8 @@ export const roundedRect = async (parent: SVGAElement, node: Node) => {
         rx: 5,
         ry: 5,
         classes: '',
    +    labelPaddingX: (node?.padding || 0) * 1,
    +    labelPaddingY: (node?.padding || 0) * 1,
       } as RectOptions;
     
       return drawRect(parent, node, options);
    diff --git a/packages/mermaid/src/rendering-util/rendering-elements/shapes/squareRect.ts b/packages/mermaid/src/rendering-util/rendering-elements/shapes/squareRect.ts
    index 8946b141c4..8daeaec7a9 100644
    --- a/packages/mermaid/src/rendering-util/rendering-elements/shapes/squareRect.ts
    +++ b/packages/mermaid/src/rendering-util/rendering-elements/shapes/squareRect.ts
    @@ -6,6 +6,8 @@ export const squareRect = async (parent: SVGAElement, node: Node) => {
         rx: 0,
         ry: 0,
         classes: '',
    +    labelPaddingX: (node?.padding || 0) * 2,
    +    labelPaddingY: (node?.padding || 0) * 1,
       } as RectOptions;
       return drawRect(parent, node, options);
     };
    diff --git a/packages/mermaid/src/rendering-util/types.d.ts b/packages/mermaid/src/rendering-util/types.d.ts
    index e1f16737b2..c7efdc5049 100644
    --- a/packages/mermaid/src/rendering-util/types.d.ts
    +++ b/packages/mermaid/src/rendering-util/types.d.ts
    @@ -99,6 +99,8 @@ interface Edge {
     interface RectOptions {
       rx: number;
       ry: number;
    +  labelPaddingX: number;
    +  labelPaddingY: number;
       classes: string;
     }
     
    diff --git a/packages/mermaid/src/themes/theme-default.js b/packages/mermaid/src/themes/theme-default.js
    index dea1a6163b..e16edf8b37 100644
    --- a/packages/mermaid/src/themes/theme-default.js
    +++ b/packages/mermaid/src/themes/theme-default.js
    @@ -34,7 +34,7 @@ class Theme {
         this.arrowheadColor = '#333333';
         this.fontFamily = '"trebuchet ms", verdana, arial, sans-serif';
         this.fontSize = '16px';
    -    this.labelBackground = 'rgba(232,232,232,0.6)';
    +    this.labelBackground = 'rgba(232,232,232,0.8)';
         this.textColor = '#333';
         this.THEME_COLOR_LIMIT = 12;
     
    diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
    index 8c658ce9b9..68e1dacf9b 100644
    --- a/pnpm-lock.yaml
    +++ b/pnpm-lock.yaml
    @@ -1,27 +1,22 @@
    -lockfileVersion: '9.0'
    +lockfileVersion: '6.0'
     
     settings:
       autoInstallPeers: true
       excludeLinksFromLockfile: false
     
    -patchedDependencies:
    -  cytoscape@3.28.1:
    -    hash: claipxynndhyqyu2csninuoh5e
    -    path: patches/cytoscape@3.28.1.patch
    -
     importers:
     
       .:
         devDependencies:
           '@applitools/eyes-cypress':
    -        specifier: ^3.42.3
    -        version: 3.43.1(typescript@5.4.5)
    +        specifier: ^3.44.4
    +        version: 3.44.4(typescript@5.4.5)
           '@cspell/eslint-plugin':
             specifier: ^8.6.0
    -        version: 8.7.0(eslint@8.57.0)
    +        version: 8.8.4(eslint@8.57.0)
           '@cypress/code-coverage':
             specifier: ^3.12.30
    -        version: 3.12.38(@babel/core@7.24.5)(@babel/preset-env@7.24.5)(babel-loader@9.1.3)(cypress@13.7.3)(webpack@5.91.0)
    +        version: 3.12.39(@babel/core@7.24.7)(@babel/preset-env@7.24.7)(babel-loader@9.1.3)(cypress@13.11.0)(webpack@5.92.0)
           '@rollup/plugin-typescript':
             specifier: ^11.1.6
             version: 11.1.6(typescript@5.4.5)
    @@ -39,37 +34,37 @@ importers:
             version: 4.0.9
           '@types/jsdom':
             specifier: ^21.1.6
    -        version: 21.1.6
    +        version: 21.1.7
           '@types/lodash':
             specifier: ^4.17.0
    -        version: 4.17.0
    +        version: 4.17.5
           '@types/mdast':
             specifier: ^4.0.3
    -        version: 4.0.3
    +        version: 4.0.4
           '@types/node':
             specifier: ^20.11.30
    -        version: 20.12.7
    +        version: 20.14.2
           '@types/rollup-plugin-visualizer':
             specifier: ^4.2.4
             version: 4.2.4
           '@typescript-eslint/eslint-plugin':
             specifier: ^7.3.1
    -        version: 7.6.0(@typescript-eslint/parser@7.6.0)(eslint@8.57.0)(typescript@5.4.5)
    +        version: 7.13.0(@typescript-eslint/parser@7.13.0)(eslint@8.57.0)(typescript@5.4.5)
           '@typescript-eslint/parser':
             specifier: ^7.3.1
    -        version: 7.6.0(eslint@8.57.0)(typescript@5.4.5)
    +        version: 7.13.0(eslint@8.57.0)(typescript@5.4.5)
           '@vitest/coverage-v8':
             specifier: ^1.4.0
    -        version: 1.5.3(vitest@1.5.3)
    +        version: 1.6.0(vitest@1.6.0)
           '@vitest/spy':
             specifier: ^1.4.0
    -        version: 1.5.3
    +        version: 1.6.0
           '@vitest/ui':
             specifier: ^1.4.0
    -        version: 1.5.3(vitest@1.5.3)
    +        version: 1.6.0(vitest@1.6.0)
           ajv:
             specifier: ^8.12.0
    -        version: 8.12.0
    +        version: 8.16.0
           chokidar:
             specifier: ^3.6.0
             version: 3.6.0
    @@ -84,13 +79,13 @@ importers:
             version: 7.0.3
           cspell:
             specifier: ^8.6.0
    -        version: 8.7.0
    +        version: 8.8.4
           cypress:
    -        specifier: ^13.7.1
    -        version: 13.7.3
    +        specifier: ^13.11.0
    +        version: 13.11.0
           cypress-image-snapshot:
             specifier: ^4.0.1
    -        version: 4.0.1(cypress@13.7.3)(jest@29.7.0)
    +        version: 4.0.1(cypress@13.11.0)(jest@29.7.0)
           esbuild:
             specifier: ^0.20.2
             version: 0.20.2
    @@ -108,10 +103,10 @@ importers:
             version: 8.1.1
           eslint-plugin-jest:
             specifier: ^27.9.0
    -        version: 27.9.0(@typescript-eslint/eslint-plugin@7.6.0)(eslint@8.57.0)(jest@29.7.0)(typescript@5.4.5)
    +        version: 27.9.0(@typescript-eslint/eslint-plugin@7.13.0)(eslint@8.57.0)(jest@29.7.0)(typescript@5.4.5)
           eslint-plugin-jsdoc:
             specifier: ^48.2.1
    -        version: 48.2.3(eslint@8.57.0)
    +        version: 48.2.9(eslint@8.57.0)
           eslint-plugin-json:
             specifier: ^3.1.0
             version: 3.1.0
    @@ -141,7 +136,7 @@ importers:
             version: 9.0.11
           jest:
             specifier: ^29.7.0
    -        version: 29.7.0(@types/node@20.12.7)
    +        version: 29.7.0(@types/node@20.14.2)
           jison:
             specifier: ^0.4.18
             version: 0.4.18
    @@ -150,13 +145,13 @@ importers:
             version: 4.1.0
           jsdom:
             specifier: ^24.0.0
    -        version: 24.0.0
    +        version: 24.1.0
           langium-cli:
             specifier: 3.0.3
             version: 3.0.3
           lint-staged:
             specifier: ^15.2.2
    -        version: 15.2.2
    +        version: 15.2.7
           markdown-table:
             specifier: ^3.0.3
             version: 3.0.3
    @@ -171,49 +166,49 @@ importers:
             version: 8.15.8
           prettier:
             specifier: ^3.2.5
    -        version: 3.2.5
    +        version: 3.3.2
           prettier-plugin-jsdoc:
             specifier: ^1.3.0
    -        version: 1.3.0(prettier@3.2.5)
    +        version: 1.3.0(prettier@3.3.2)
           rimraf:
             specifier: ^5.0.5
    -        version: 5.0.5
    +        version: 5.0.7
           rollup-plugin-visualizer:
             specifier: ^5.12.0
             version: 5.12.0
           start-server-and-test:
             specifier: ^2.0.3
    -        version: 2.0.3
    +        version: 2.0.4
           tsx:
             specifier: ^4.7.1
    -        version: 4.7.3
    +        version: 4.15.4
           typescript:
             specifier: ^5.4.3
             version: 5.4.5
           vite:
             specifier: ^5.2.3
    -        version: 5.2.10(@types/node@20.12.7)
    +        version: 5.2.13(@types/node@20.14.2)
           vite-plugin-istanbul:
             specifier: ^6.0.0
    -        version: 6.0.0(vite@5.2.10)
    +        version: 6.0.2(vite@5.2.13)
           vitest:
             specifier: ^1.4.0
    -        version: 1.5.3(@types/node@20.12.7)(@vitest/ui@1.5.3)(jsdom@24.0.0)
    +        version: 1.6.0(@types/node@20.14.2)(@vitest/ui@1.6.0)(jsdom@24.1.0)
     
       packages/mermaid:
         dependencies:
           '@braintree/sanitize-url':
             specifier: ^7.0.1
    -        version: 7.0.1
    +        version: 7.0.2
           '@mermaid-js/parser':
             specifier: workspace:^
             version: link:../parser
           cytoscape:
             specifier: ^3.28.1
    -        version: 3.28.1(patch_hash=claipxynndhyqyu2csninuoh5e)
    +        version: 3.29.2
           cytoscape-cose-bilkent:
             specifier: ^4.1.0
    -        version: 4.1.0(cytoscape@3.28.1)
    +        version: 4.1.0(cytoscape@3.29.2)
           d3:
             specifier: ^7.9.0
             version: 7.9.0
    @@ -228,7 +223,7 @@ importers:
             version: 1.11.11
           dompurify:
             specifier: ^3.0.11
    -        version: 3.1.2
    +        version: 3.1.5
           katex:
             specifier: ^0.16.9
             version: 0.16.10
    @@ -240,7 +235,7 @@ importers:
             version: 4.17.21
           mdast-util-from-markdown:
             specifier: ^2.0.0
    -        version: 2.0.0
    +        version: 2.0.1
           roughjs:
             specifier: ^4.6.6
             version: 4.6.6
    @@ -259,7 +254,7 @@ importers:
             version: 8.0.2
           '@types/cytoscape':
             specifier: ^3.19.16
    -        version: 3.21.0
    +        version: 3.21.3
           '@types/d3':
             specifier: ^7.4.3
             version: 7.4.3
    @@ -283,7 +278,7 @@ importers:
             version: 3.0.5
           '@types/jsdom':
             specifier: ^21.1.6
    -        version: 21.1.6
    +        version: 21.1.7
           '@types/katex':
             specifier: ^0.16.7
             version: 0.16.7
    @@ -298,19 +293,19 @@ importers:
             version: 3.0.0
           '@types/stylis':
             specifier: ^4.2.5
    -        version: 4.2.5
    +        version: 4.2.6
           '@types/uuid':
             specifier: ^9.0.8
             version: 9.0.8
           '@typescript-eslint/eslint-plugin':
             specifier: ^7.3.1
    -        version: 7.6.0(@typescript-eslint/parser@7.6.0)(eslint@8.57.0)(typescript@5.4.5)
    +        version: 7.13.0(@typescript-eslint/parser@7.13.0)(eslint@8.57.0)(typescript@5.4.5)
           '@typescript-eslint/parser':
             specifier: ^7.3.1
    -        version: 7.6.0(eslint@8.57.0)(typescript@5.4.5)
    +        version: 7.13.0(eslint@8.57.0)(typescript@5.4.5)
           ajv:
             specifier: ^8.12.0
    -        version: 8.12.0
    +        version: 8.16.0
           chokidar:
             specifier: ^3.6.0
             version: 3.6.0
    @@ -334,19 +329,19 @@ importers:
             version: 3.7.7
           jsdom:
             specifier: ^24.0.0
    -        version: 24.0.0
    +        version: 24.1.0
           json-schema-to-typescript:
             specifier: ^13.1.2
             version: 13.1.2
           micromatch:
             specifier: ^4.0.5
    -        version: 4.0.5
    +        version: 4.0.7
           path-browserify:
             specifier: ^1.0.1
             version: 1.0.1
           prettier:
             specifier: ^3.2.5
    -        version: 3.2.5
    +        version: 3.3.2
           remark:
             specifier: ^15.0.1
             version: 15.0.1
    @@ -358,13 +353,13 @@ importers:
             version: 4.0.0
           rimraf:
             specifier: ^5.0.5
    -        version: 5.0.5
    +        version: 5.0.7
           start-server-and-test:
             specifier: ^2.0.3
    -        version: 2.0.3
    +        version: 2.0.4
           type-fest:
             specifier: ^4.13.1
    -        version: 4.15.0
    +        version: 4.20.0
           typedoc:
             specifier: ^0.25.12
             version: 0.25.13(typescript@5.4.5)
    @@ -382,16 +377,16 @@ importers:
             version: 5.0.0
           vitepress:
             specifier: ^1.0.1
    -        version: 1.1.4(@algolia/client-search@4.23.3)(@types/node@20.12.7)(postcss@8.4.38)(search-insights@2.13.0)(typescript@5.4.5)
    +        version: 1.1.4(@algolia/client-search@4.23.3)(@types/node@20.14.2)(postcss@8.4.38)(search-insights@2.14.0)(typescript@5.4.5)
           vitepress-plugin-search:
             specifier: 1.0.4-alpha.22
    -        version: 1.0.4-alpha.22(flexsearch@0.7.43)(vitepress@1.1.4)(vue@3.4.26)
    +        version: 1.0.4-alpha.22(flexsearch@0.7.43)(vitepress@1.1.4)(vue@3.4.27)
     
       packages/mermaid-example-diagram:
         dependencies:
           '@braintree/sanitize-url':
             specifier: ^7.0.0
    -        version: 7.0.1
    +        version: 7.0.2
           d3:
             specifier: ^7.9.0
             version: 7.9.0
    @@ -407,7 +402,7 @@ importers:
             version: link:../mermaid
           rimraf:
             specifier: ^5.0.5
    -        version: 5.0.5
    +        version: 5.0.7
     
       packages/mermaid-flowchart-elk:
         dependencies:
    @@ -432,7 +427,7 @@ importers:
             version: link:../mermaid
           rimraf:
             specifier: ^5.0.5
    -        version: 5.0.5
    +        version: 5.0.7
     
       packages/mermaid-layout-elk:
         dependencies:
    @@ -450,7 +445,7 @@ importers:
         dependencies:
           '@zenuml/core':
             specifier: ^3.19.2
    -        version: 3.21.2(typescript@5.4.5)
    +        version: 3.23.22(typescript@5.4.5)
         devDependencies:
           mermaid:
             specifier: workspace:^
    @@ -463,23 +458,23 @@ importers:
             version: 7.4.47
           '@vueuse/core':
             specifier: ^10.9.0
    -        version: 10.9.0(vue@3.4.26)
    +        version: 10.11.0(vue@3.4.27)
           font-awesome:
             specifier: ^4.7.0
             version: 4.7.0
           jiti:
             specifier: ^1.21.0
    -        version: 1.21.0
    +        version: 1.21.6
           mermaid:
             specifier: workspace:^
             version: link:../..
           vue:
             specifier: ^3.4.21
    -        version: 3.4.26(typescript@5.4.5)
    +        version: 3.4.27(typescript@5.4.5)
         devDependencies:
           '@iconify-json/carbon':
             specifier: ^1.1.31
    -        version: 1.1.32
    +        version: 1.1.35
           '@unocss/reset':
             specifier: ^0.59.0
             version: 0.59.4
    @@ -488,7 +483,7 @@ importers:
             version: 0.4.0(vite-plugin-pwa@0.19.8)
           '@vitejs/plugin-vue':
             specifier: ^5.0.0
    -        version: 5.0.4(vite@5.2.10)(vue@3.4.26)
    +        version: 5.0.5(vite@5.2.13)(vue@3.4.27)
           fast-glob:
             specifier: ^3.3.2
             version: 3.3.2
    @@ -500,41 +495,41 @@ importers:
             version: 1.1.2
           unocss:
             specifier: ^0.59.0
    -        version: 0.59.4(postcss@8.4.38)(rollup@2.79.1)(vite@5.2.10)
    +        version: 0.59.4(postcss@8.4.38)(rollup@2.79.1)(vite@5.2.13)
           unplugin-vue-components:
             specifier: ^0.26.0
    -        version: 0.26.0(rollup@2.79.1)(vue@3.4.26)
    +        version: 0.26.0(rollup@2.79.1)(vue@3.4.27)
           vite:
             specifier: ^5.0.0
    -        version: 5.2.10(@types/node@20.12.7)
    +        version: 5.2.13(@types/node@20.14.2)
           vite-plugin-pwa:
             specifier: ^0.19.7
    -        version: 0.19.8(vite@5.2.10)(workbox-build@7.1.0)(workbox-window@7.0.0)
    +        version: 0.19.8(vite@5.2.13)(workbox-build@7.1.1)(workbox-window@7.1.0)
           vitepress:
             specifier: 1.1.4
    -        version: 1.1.4(@algolia/client-search@4.23.3)(@types/node@20.12.7)(postcss@8.4.38)(search-insights@2.13.0)(typescript@5.4.5)
    +        version: 1.1.4(@algolia/client-search@4.23.3)(@types/node@20.14.2)(postcss@8.4.38)(search-insights@2.14.0)(typescript@5.4.5)
           workbox-window:
             specifier: ^7.0.0
    -        version: 7.0.0
    +        version: 7.1.0
     
       packages/mermaid/src/vitepress:
         dependencies:
           '@vueuse/core':
             specifier: ^10.1.0
    -        version: 10.9.0(vue@3.4.26)
    +        version: 10.11.0(vue@3.4.27)
           jiti:
             specifier: ^1.18.2
    -        version: 1.21.0
    +        version: 1.21.6
           mermaid:
             specifier: workspace:^
             version: link:../..
           vue:
             specifier: ^3.3
    -        version: 3.4.26(typescript@5.4.5)
    +        version: 3.4.27(typescript@5.4.5)
         devDependencies:
           '@iconify-json/carbon':
             specifier: ^1.1.16
    -        version: 1.1.32
    +        version: 1.1.35
           '@unocss/reset':
             specifier: ^0.58.0
             version: 0.58.9
    @@ -543,7 +538,7 @@ importers:
             version: 0.3.1(vite-plugin-pwa@0.17.5)
           '@vitejs/plugin-vue':
             specifier: ^4.2.1
    -        version: 4.6.2(vite@4.5.3)(vue@3.4.26)
    +        version: 4.6.2(vite@4.5.3)(vue@3.4.27)
           fast-glob:
             specifier: ^3.2.12
             version: 3.3.2
    @@ -558,16 +553,16 @@ importers:
             version: 0.58.9(postcss@8.4.38)(rollup@2.79.1)(vite@4.5.3)
           unplugin-vue-components:
             specifier: ^0.26.0
    -        version: 0.26.0(rollup@2.79.1)(vue@3.4.26)
    +        version: 0.26.0(rollup@2.79.1)(vue@3.4.27)
           vite:
             specifier: ^4.4.12
    -        version: 4.5.3(@types/node@20.12.7)
    +        version: 4.5.3(@types/node@20.14.2)
           vite-plugin-pwa:
             specifier: ^0.17.0
    -        version: 0.17.5(vite@4.5.3)(workbox-build@7.1.0)(workbox-window@7.1.0)
    +        version: 0.17.5(vite@4.5.3)(workbox-build@7.1.1)(workbox-window@7.1.0)
           vitepress:
             specifier: 1.0.0-rc.39
    -        version: 1.0.0-rc.39(@algolia/client-search@4.23.3)(@types/node@20.12.7)(postcss@8.4.38)(search-insights@2.13.0)(typescript@5.4.5)
    +        version: 1.0.0-rc.39(@algolia/client-search@4.23.3)(@types/node@20.14.2)(postcss@8.4.38)(search-insights@2.14.0)(typescript@5.4.5)
           workbox-window:
             specifier: ^7.0.0
             version: 7.1.0
    @@ -593,1107 +588,2328 @@ importers:
         devDependencies:
           webpack:
             specifier: ^5.91.0
    -        version: 5.91.0(esbuild@0.20.2)(webpack-cli@4.10.0)
    +        version: 5.92.0(esbuild@0.20.2)(webpack-cli@4.10.0)
           webpack-cli:
             specifier: ^4.10.0
    -        version: 4.10.0(webpack-dev-server@4.15.2)(webpack@5.91.0)
    +        version: 4.10.0(webpack-dev-server@4.15.2)(webpack@5.92.0)
           webpack-dev-server:
             specifier: ^4.15.2
    -        version: 4.15.2(webpack-cli@4.10.0)(webpack@5.91.0)
    +        version: 4.15.2(webpack-cli@4.10.0)(webpack@5.92.0)
     
     packages:
     
    -  '@aashutoshrathi/word-wrap@1.2.6':
    -    resolution: {integrity: sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==}
    -    engines: {node: '>=0.10.0'}
    -
    -  '@adobe/jsonschema2md@8.0.2':
    +  /@adobe/jsonschema2md@8.0.2:
         resolution: {integrity: sha512-g90Rtz1Xghp9HTfbtBH2Pf5IpuUY1Ry9Wps5NNuNmxucbtmnCY4/1KXmtwe0yKxnknPF7nt5/Y8TOekMh450tQ==}
         engines: {node: ^18.0.0 || >= 20.0.0}
         hasBin: true
    +    dependencies:
    +      '@types/json-schema': 7.0.15
    +      '@types/mdast': 4.0.4
    +      es2015-i18n-tag: 1.6.1
    +      ferrum: 1.9.4
    +      fs-extra: 11.2.0
    +      github-slugger: 2.0.0
    +      js-yaml: 4.1.0
    +      json-schema: 0.4.0
    +      mdast-builder: 1.1.1
    +      mdast-util-to-string: 4.0.0
    +      readdirp: 3.6.0
    +      remark-gfm: 4.0.0
    +      remark-parse: 11.0.0
    +      remark-stringify: 11.0.0
    +      unified: 11.0.4
    +      unist-util-inspect: 8.0.0
    +      yargs: 17.7.2
    +    transitivePeerDependencies:
    +      - supports-color
    +    dev: true
     
    -  '@algolia/autocomplete-core@1.9.3':
    +  /@algolia/autocomplete-core@1.9.3(@algolia/client-search@4.23.3)(algoliasearch@4.23.3)(search-insights@2.14.0):
         resolution: {integrity: sha512-009HdfugtGCdC4JdXUbVJClA0q0zh24yyePn+KUGk3rP7j8FEe/m5Yo/z65gn6nP/cM39PxpzqKrL7A6fP6PPw==}
    +    dependencies:
    +      '@algolia/autocomplete-plugin-algolia-insights': 1.9.3(@algolia/client-search@4.23.3)(algoliasearch@4.23.3)(search-insights@2.14.0)
    +      '@algolia/autocomplete-shared': 1.9.3(@algolia/client-search@4.23.3)(algoliasearch@4.23.3)
    +    transitivePeerDependencies:
    +      - '@algolia/client-search'
    +      - algoliasearch
    +      - search-insights
    +    dev: true
     
    -  '@algolia/autocomplete-plugin-algolia-insights@1.9.3':
    +  /@algolia/autocomplete-plugin-algolia-insights@1.9.3(@algolia/client-search@4.23.3)(algoliasearch@4.23.3)(search-insights@2.14.0):
         resolution: {integrity: sha512-a/yTUkcO/Vyy+JffmAnTWbr4/90cLzw+CC3bRbhnULr/EM0fGNvM13oQQ14f2moLMcVDyAx/leczLlAOovhSZg==}
         peerDependencies:
           search-insights: '>= 1 < 3'
    +    dependencies:
    +      '@algolia/autocomplete-shared': 1.9.3(@algolia/client-search@4.23.3)(algoliasearch@4.23.3)
    +      search-insights: 2.14.0
    +    transitivePeerDependencies:
    +      - '@algolia/client-search'
    +      - algoliasearch
    +    dev: true
     
    -  '@algolia/autocomplete-preset-algolia@1.9.3':
    +  /@algolia/autocomplete-preset-algolia@1.9.3(@algolia/client-search@4.23.3)(algoliasearch@4.23.3):
         resolution: {integrity: sha512-d4qlt6YmrLMYy95n5TB52wtNDr6EgAIPH81dvvvW8UmuWRgxEtY0NJiPwl/h95JtG2vmRM804M0DSwMCNZlzRA==}
         peerDependencies:
           '@algolia/client-search': '>= 4.9.1 < 6'
           algoliasearch: '>= 4.9.1 < 6'
    +    dependencies:
    +      '@algolia/autocomplete-shared': 1.9.3(@algolia/client-search@4.23.3)(algoliasearch@4.23.3)
    +      '@algolia/client-search': 4.23.3
    +      algoliasearch: 4.23.3
    +    dev: true
     
    -  '@algolia/autocomplete-shared@1.9.3':
    +  /@algolia/autocomplete-shared@1.9.3(@algolia/client-search@4.23.3)(algoliasearch@4.23.3):
         resolution: {integrity: sha512-Wnm9E4Ye6Rl6sTTqjoymD+l8DjSTHsHboVRYrKgEt8Q7UHm9nYbqhN/i0fhUYA3OAEH7WA8x3jfpnmJm3rKvaQ==}
         peerDependencies:
           '@algolia/client-search': '>= 4.9.1 < 6'
           algoliasearch: '>= 4.9.1 < 6'
    +    dependencies:
    +      '@algolia/client-search': 4.23.3
    +      algoliasearch: 4.23.3
    +    dev: true
     
    -  '@algolia/cache-browser-local-storage@4.23.3':
    +  /@algolia/cache-browser-local-storage@4.23.3:
         resolution: {integrity: sha512-vRHXYCpPlTDE7i6UOy2xE03zHF2C8MEFjPN2v7fRbqVpcOvAUQK81x3Kc21xyb5aSIpYCjWCZbYZuz8Glyzyyg==}
    +    dependencies:
    +      '@algolia/cache-common': 4.23.3
    +    dev: true
     
    -  '@algolia/cache-common@4.23.3':
    +  /@algolia/cache-common@4.23.3:
         resolution: {integrity: sha512-h9XcNI6lxYStaw32pHpB1TMm0RuxphF+Ik4o7tcQiodEdpKK+wKufY6QXtba7t3k8eseirEMVB83uFFF3Nu54A==}
    +    dev: true
     
    -  '@algolia/cache-in-memory@4.23.3':
    +  /@algolia/cache-in-memory@4.23.3:
         resolution: {integrity: sha512-yvpbuUXg/+0rbcagxNT7un0eo3czx2Uf0y4eiR4z4SD7SiptwYTpbuS0IHxcLHG3lq22ukx1T6Kjtk/rT+mqNg==}
    +    dependencies:
    +      '@algolia/cache-common': 4.23.3
    +    dev: true
     
    -  '@algolia/client-account@4.23.3':
    +  /@algolia/client-account@4.23.3:
         resolution: {integrity: sha512-hpa6S5d7iQmretHHF40QGq6hz0anWEHGlULcTIT9tbUssWUriN9AUXIFQ8Ei4w9azD0hc1rUok9/DeQQobhQMA==}
    +    dependencies:
    +      '@algolia/client-common': 4.23.3
    +      '@algolia/client-search': 4.23.3
    +      '@algolia/transporter': 4.23.3
    +    dev: true
     
    -  '@algolia/client-analytics@4.23.3':
    +  /@algolia/client-analytics@4.23.3:
         resolution: {integrity: sha512-LBsEARGS9cj8VkTAVEZphjxTjMVCci+zIIiRhpFun9jGDUlS1XmhCW7CTrnaWeIuCQS/2iPyRqSy1nXPjcBLRA==}
    +    dependencies:
    +      '@algolia/client-common': 4.23.3
    +      '@algolia/client-search': 4.23.3
    +      '@algolia/requester-common': 4.23.3
    +      '@algolia/transporter': 4.23.3
    +    dev: true
     
    -  '@algolia/client-common@4.23.3':
    +  /@algolia/client-common@4.23.3:
         resolution: {integrity: sha512-l6EiPxdAlg8CYhroqS5ybfIczsGUIAC47slLPOMDeKSVXYG1n0qGiz4RjAHLw2aD0xzh2EXZ7aRguPfz7UKDKw==}
    +    dependencies:
    +      '@algolia/requester-common': 4.23.3
    +      '@algolia/transporter': 4.23.3
    +    dev: true
     
    -  '@algolia/client-personalization@4.23.3':
    +  /@algolia/client-personalization@4.23.3:
         resolution: {integrity: sha512-3E3yF3Ocr1tB/xOZiuC3doHQBQ2zu2MPTYZ0d4lpfWads2WTKG7ZzmGnsHmm63RflvDeLK/UVx7j2b3QuwKQ2g==}
    +    dependencies:
    +      '@algolia/client-common': 4.23.3
    +      '@algolia/requester-common': 4.23.3
    +      '@algolia/transporter': 4.23.3
    +    dev: true
     
    -  '@algolia/client-search@4.23.3':
    +  /@algolia/client-search@4.23.3:
         resolution: {integrity: sha512-P4VAKFHqU0wx9O+q29Q8YVuaowaZ5EM77rxfmGnkHUJggh28useXQdopokgwMeYw2XUht49WX5RcTQ40rZIabw==}
    +    dependencies:
    +      '@algolia/client-common': 4.23.3
    +      '@algolia/requester-common': 4.23.3
    +      '@algolia/transporter': 4.23.3
    +    dev: true
     
    -  '@algolia/logger-common@4.23.3':
    +  /@algolia/logger-common@4.23.3:
         resolution: {integrity: sha512-y9kBtmJwiZ9ZZ+1Ek66P0M68mHQzKRxkW5kAAXYN/rdzgDN0d2COsViEFufxJ0pb45K4FRcfC7+33YB4BLrZ+g==}
    +    dev: true
     
    -  '@algolia/logger-console@4.23.3':
    +  /@algolia/logger-console@4.23.3:
         resolution: {integrity: sha512-8xoiseoWDKuCVnWP8jHthgaeobDLolh00KJAdMe9XPrWPuf1by732jSpgy2BlsLTaT9m32pHI8CRfrOqQzHv3A==}
    +    dependencies:
    +      '@algolia/logger-common': 4.23.3
    +    dev: true
     
    -  '@algolia/recommend@4.23.3':
    +  /@algolia/recommend@4.23.3:
         resolution: {integrity: sha512-9fK4nXZF0bFkdcLBRDexsnGzVmu4TSYZqxdpgBW2tEyfuSSY54D4qSRkLmNkrrz4YFvdh2GM1gA8vSsnZPR73w==}
    +    dependencies:
    +      '@algolia/cache-browser-local-storage': 4.23.3
    +      '@algolia/cache-common': 4.23.3
    +      '@algolia/cache-in-memory': 4.23.3
    +      '@algolia/client-common': 4.23.3
    +      '@algolia/client-search': 4.23.3
    +      '@algolia/logger-common': 4.23.3
    +      '@algolia/logger-console': 4.23.3
    +      '@algolia/requester-browser-xhr': 4.23.3
    +      '@algolia/requester-common': 4.23.3
    +      '@algolia/requester-node-http': 4.23.3
    +      '@algolia/transporter': 4.23.3
    +    dev: true
     
    -  '@algolia/requester-browser-xhr@4.23.3':
    +  /@algolia/requester-browser-xhr@4.23.3:
         resolution: {integrity: sha512-jDWGIQ96BhXbmONAQsasIpTYWslyjkiGu0Quydjlowe+ciqySpiDUrJHERIRfELE5+wFc7hc1Q5hqjGoV7yghw==}
    +    dependencies:
    +      '@algolia/requester-common': 4.23.3
    +    dev: true
     
    -  '@algolia/requester-common@4.23.3':
    +  /@algolia/requester-common@4.23.3:
         resolution: {integrity: sha512-xloIdr/bedtYEGcXCiF2muajyvRhwop4cMZo+K2qzNht0CMzlRkm8YsDdj5IaBhshqfgmBb3rTg4sL4/PpvLYw==}
    +    dev: true
     
    -  '@algolia/requester-node-http@4.23.3':
    +  /@algolia/requester-node-http@4.23.3:
         resolution: {integrity: sha512-zgu++8Uj03IWDEJM3fuNl34s746JnZOWn1Uz5taV1dFyJhVM/kTNw9Ik7YJWiUNHJQXcaD8IXD1eCb0nq/aByA==}
    +    dependencies:
    +      '@algolia/requester-common': 4.23.3
    +    dev: true
     
    -  '@algolia/transporter@4.23.3':
    +  /@algolia/transporter@4.23.3:
         resolution: {integrity: sha512-Wjl5gttqnf/gQKJA+dafnD0Y6Yw97yvfY8R9h0dQltX1GXTgNs1zWgvtWW0tHl1EgMdhAyw189uWiZMnL3QebQ==}
    +    dependencies:
    +      '@algolia/cache-common': 4.23.3
    +      '@algolia/logger-common': 4.23.3
    +      '@algolia/requester-common': 4.23.3
    +    dev: true
     
    -  '@alloc/quick-lru@5.2.0':
    +  /@alloc/quick-lru@5.2.0:
         resolution: {integrity: sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==}
         engines: {node: '>=10'}
    +    dev: false
     
    -  '@ampproject/remapping@2.3.0':
    +  /@ampproject/remapping@2.3.0:
         resolution: {integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==}
         engines: {node: '>=6.0.0'}
    +    dependencies:
    +      '@jridgewell/gen-mapping': 0.3.5
    +      '@jridgewell/trace-mapping': 0.3.25
    +    dev: true
     
    -  '@antfu/install-pkg@0.1.1':
    +  /@antfu/install-pkg@0.1.1:
         resolution: {integrity: sha512-LyB/8+bSfa0DFGC06zpCEfs89/XoWZwws5ygEa5D+Xsm3OfI+aXQ86VgVG7Acyef+rSZ5HE7J8rrxzrQeM3PjQ==}
    +    dependencies:
    +      execa: 5.1.1
    +      find-up: 5.0.0
    +    dev: true
     
    -  '@antfu/utils@0.7.6':
    -    resolution: {integrity: sha512-pvFiLP2BeOKA/ZOS6jxx4XhKzdVLHDhGlFEaZ2flWWYf2xOqVniqpk38I04DFRyz+L0ASggl7SkItTc+ZLju4w==}
    -
    -  '@antfu/utils@0.7.7':
    -    resolution: {integrity: sha512-gFPqTG7otEJ8uP6wrhDv6mqwGWYZKNvAcCq6u9hOj0c+IKCEsY4L1oC9trPq2SaWIzAfHvqfBDxF591JkMf+kg==}
    +  /@antfu/utils@0.7.8:
    +    resolution: {integrity: sha512-rWQkqXRESdjXtc+7NRfK9lASQjpXJu1ayp7qi1d23zZorY+wBHVLHHoVcMsEnkqEBWTFqbztO7/QdJFzyEcLTg==}
    +    dev: true
     
    -  '@apideck/better-ajv-errors@0.3.6':
    +  /@apideck/better-ajv-errors@0.3.6(ajv@8.16.0):
         resolution: {integrity: sha512-P+ZygBLZtkp0qqOAJJVX4oX/sFo5JR3eBWwwuqHHhK0GIgQOKWrAfiAaWX0aArHkRWHMuggFEgAZNxVPwPZYaA==}
         engines: {node: '>=10'}
         peerDependencies:
           ajv: '>=8'
    +    dependencies:
    +      ajv: 8.16.0
    +      json-schema: 0.4.0
    +      jsonpointer: 5.0.1
    +      leven: 3.1.0
    +    dev: true
     
    -  '@applitools/core-base@1.10.1':
    -    resolution: {integrity: sha512-s4q72eyPLaV1D5xXH1He72y/yCdSihL4oNs6vRe+IxP2CSDH8b42B+8Ps2nAPMNxatp7nzpHq/jRfXHv24Z1ZQ==}
    +  /@applitools/core-base@1.15.1:
    +    resolution: {integrity: sha512-1oGrLAuEwGFjjMJRWtSMDO8H1sHCkTSl6H+lCULz2e8gN5KYKKO9CawR/mHUS41VgxOjub9QzMd4ppypAnMeBw==}
         engines: {node: '>=12.13.0'}
    +    dependencies:
    +      '@applitools/image': 1.1.12
    +      '@applitools/logger': 2.0.17
    +      '@applitools/req': 1.7.1
    +      '@applitools/utils': 1.7.3
    +      abort-controller: 3.0.0
    +      throat: 6.0.2
    +    transitivePeerDependencies:
    +      - supports-color
    +    dev: true
     
    -  '@applitools/core@4.11.1':
    -    resolution: {integrity: sha512-j+LbBn6e7KMONzacFNI+VxEJjBB+3TxxntJrhzBJE9hUzhLuXYR8+oVcpJf0FHyfwruUEF9Fsi+A2K++d3uG5g==}
    +  /@applitools/core@4.16.1(typescript@5.4.5):
    +    resolution: {integrity: sha512-eMvX9gEch8rLZlJwvaFd8+1C/9vK7iTK7kanL41L9PANtHLnrfMKoxEZI/0g4d2+JBbM/e/6JIVL0KMrN4a1Qg==}
         engines: {node: '>=12.13.0'}
         hasBin: true
    +    dependencies:
    +      '@applitools/core-base': 1.15.1
    +      '@applitools/dom-capture': 11.2.8
    +      '@applitools/dom-snapshot': 4.11.2
    +      '@applitools/driver': 1.17.3
    +      '@applitools/ec-client': 1.8.7(typescript@5.4.5)
    +      '@applitools/logger': 2.0.17
    +      '@applitools/nml-client': 1.8.6
    +      '@applitools/req': 1.7.1
    +      '@applitools/screenshoter': 3.8.32
    +      '@applitools/snippets': 2.4.26
    +      '@applitools/socket': 1.1.17
    +      '@applitools/spec-driver-webdriver': 1.1.8(webdriver@7.31.1)
    +      '@applitools/ufg-client': 1.12.1
    +      '@applitools/utils': 1.7.3
    +      '@types/ws': 8.5.5
    +      abort-controller: 3.0.0
    +      chalk: 4.1.2
    +      node-fetch: 2.6.7(encoding@0.1.13)
    +      semver: 7.5.4
    +      webdriver: 7.31.1(typescript@5.4.5)
    +      ws: 8.13.0
    +      yargs: 17.7.2
    +    transitivePeerDependencies:
    +      - bufferutil
    +      - encoding
    +      - supports-color
    +      - typescript
    +      - utf-8-validate
    +    dev: true
     
    -  '@applitools/css-tree@1.1.2':
    -    resolution: {integrity: sha512-+DBY7Rf/PorHniPYNNG9rDbQcjuXvrVTx3vXXMz7h4m8h8wjUDq5afIUQ9QSTj3H8awXKHRg1o9XJl5yA6cxOg==}
    +  /@applitools/css-tree@1.1.3:
    +    resolution: {integrity: sha512-Eb55KoqN8MbIPFENS1EK7mJ0FE7FCTz2WAHQXWTr6CXQ/OM48mqC7B3ZdICm3JqqW0gtyxIQwJt27MaYBJnA5w==}
         engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0}
    +    dependencies:
    +      mdn-data: 2.1.0
    +      source-map-js: 1.0.1
    +    dev: true
     
    -  '@applitools/dom-capture@11.2.6':
    -    resolution: {integrity: sha512-USNpYDaj+L8GcPX0pJFHbDpaHc/IFWJVvFiGrOWylgPPinBWtco52mj7lv5urSX9rVyxEF41awszA2BOFOIV3Q==}
    +  /@applitools/dom-capture@11.2.8:
    +    resolution: {integrity: sha512-pfHGqYK1jWJFbeNoIzP0oqe7JKElDJhGy0oY3WbTQh0imqW0z32wHdt6C7a7lf0STMp/FsKXr5R2EwtxqVhslA==}
         engines: {node: '>=12.13.0'}
    +    dependencies:
    +      '@applitools/dom-shared': 1.0.14
    +      '@applitools/functional-commons': 1.6.0
    +    dev: true
     
    -  '@applitools/dom-shared@1.0.13':
    -    resolution: {integrity: sha512-FcZKhdnPcV42IT9tPK80Tlzs6Xxsv11hgfgMqKscOOtgZ02xK9d8w1tuSMRO9VFDzCLaEFe/QSLk8/FgrDMy7w==}
    +  /@applitools/dom-shared@1.0.14:
    +    resolution: {integrity: sha512-k/hTQuoz6HjVdyLxrZM6RoBiIw8445dMJbgXXLnV2Sg+ylqr5SEf0YmRQivqOyxw8Vghgu4tcNmK05MYIwqAfQ==}
         engines: {node: '>=12.13.0'}
    +    dev: true
     
    -  '@applitools/dom-snapshot@4.9.2':
    -    resolution: {integrity: sha512-edAoScuJvrwbj6MSy7WCph1+eK9SMB+8UAAcbGRK1kTlvsRSYJ4fjMyw6A6tEhVKeRY/u6Byn0LELY2YmQukLQ==}
    +  /@applitools/dom-snapshot@4.11.2:
    +    resolution: {integrity: sha512-RUCeqfsVBAubsO9LL9/fpKBrraATnnuiVtc7PXl5mAxPt22WU+vgisDV/zBINeLphcXV7KaW6iARcjsxyLsyuQ==}
         engines: {node: '>=12.13.0'}
    +    dependencies:
    +      '@applitools/css-tree': 1.1.3
    +      '@applitools/dom-shared': 1.0.14
    +      '@applitools/functional-commons': 1.6.0
    +      pako: 1.0.11
    +    dev: true
     
    -  '@applitools/driver@1.16.5':
    -    resolution: {integrity: sha512-/KfxNXRKX02Ru8h55R402H2pOfwQv0XSLvg83T8rJJ6SuAAGsnT+a2orvHmj2tfb7hkEBoe1AuXdRZPdQVZLYg==}
    +  /@applitools/driver@1.17.3:
    +    resolution: {integrity: sha512-DNDEaX54TJ9vVxFCtdcJKGSS3R6UEUOo/nEe2ZybQhT+dw5lSlfIPih9SX+CzOwBW50HHhaboeq9PHCbBm1T5A==}
         engines: {node: '>=12.13.0'}
    +    dependencies:
    +      '@applitools/logger': 2.0.17
    +      '@applitools/snippets': 2.4.26
    +      '@applitools/utils': 1.7.3
    +      semver: 7.5.4
    +    transitivePeerDependencies:
    +      - supports-color
    +    dev: true
     
    -  '@applitools/ec-client@1.7.32':
    -    resolution: {integrity: sha512-jwjrcpuQLAEManS3V5bCB6BMgl4+/SL95uRwM8yIRQpHw0+l0w6yTuqOAmrygPHTKphHNjDurDia0lmt30IrQA==}
    +  /@applitools/ec-client@1.8.7(typescript@5.4.5):
    +    resolution: {integrity: sha512-Gv4xqqV1tRmIItuKDFN45KXgHuUBJpvhev2MJwJTaRzSRty+DaMgJKkGWRxSC8GWmCXWx46vqc1kiZhJufexQg==}
         engines: {node: '>=12.13.0'}
         hasBin: true
    +    dependencies:
    +      '@applitools/core-base': 1.15.1
    +      '@applitools/driver': 1.17.3
    +      '@applitools/logger': 2.0.17
    +      '@applitools/req': 1.7.1
    +      '@applitools/socket': 1.1.17
    +      '@applitools/spec-driver-webdriver': 1.1.8(webdriver@7.31.1)
    +      '@applitools/tunnel-client': 1.5.4
    +      '@applitools/utils': 1.7.3
    +      abort-controller: 3.0.0
    +      webdriver: 7.31.1(typescript@5.4.5)
    +      yargs: 17.7.2
    +    transitivePeerDependencies:
    +      - supports-color
    +      - typescript
    +    dev: true
     
    -  '@applitools/eg-frpc@1.0.5':
    +  /@applitools/eg-frpc@1.0.5:
         resolution: {integrity: sha512-9qUNiCK3R3VKxIAaLr5HO5QnUx6TioLFkJ2JcpU1ZqefApt1X2bdfS7eA4TGDXDWv/a0OIl2Lddzuo5/h3vbTw==}
         engines: {node: '>=12.13.0'}
    +    dev: true
     
    -  '@applitools/eg-socks5-proxy-server@0.5.6':
    +  /@applitools/eg-socks5-proxy-server@0.5.6:
         resolution: {integrity: sha512-SjjDBFeiKspX3nHKOoSQ+l4JUiJK3xJiWAEaR8b+GuMvnGFLnrvAECHhuXXG00+LwBJM8WKmfxEe17nvZe+nhg==}
         engines: {node: '>=12'}
    +    dependencies:
    +      binary: 0.3.0
    +      is-localhost-ip: 2.0.0
    +    dev: true
     
    -  '@applitools/execution-grid-tunnel@2.1.10':
    -    resolution: {integrity: sha512-d/haRUUehvfRQXu/idhxaWnJY0zThsjuGRz0wPTElQtLoYP2s5zmkrB0ahTqkLc9FsYdTrYKhFYWpp6R6yp17Q==}
    -    engines: {node: '>=12.13.0'}
    +  /@applitools/execution-grid-tunnel@3.0.4:
    +    resolution: {integrity: sha512-4f4wUk9Ko4ZpG3ylnj/7acFid+kVR1oKvwWdRXmmUmKxJK5PECfHTQm3g/BvRuVWHmgQG55FGWpda0VSIXC4dg==}
    +    engines: {node: '>=14.0.0'}
         hasBin: true
    +    dependencies:
    +      '@applitools/eg-frpc': 1.0.5
    +      '@applitools/eg-socks5-proxy-server': 0.5.6
    +      '@applitools/logger': 1.1.53
    +      dotenv: 16.4.5
    +      encoding: 0.1.13
    +      fastify: 3.29.5
    +      fastify-plugin: 3.0.1
    +      find-process: 1.4.7
    +      ini: 3.0.1
    +      node-cleanup: 2.1.2
    +      node-fetch: 2.6.7(encoding@0.1.13)
    +      p-retry: 4.6.2
    +      teen_process: 1.16.0
    +      uuid: 9.0.1
    +    transitivePeerDependencies:
    +      - supports-color
    +    dev: true
     
    -  '@applitools/eyes-cypress@3.43.1':
    -    resolution: {integrity: sha512-qq7vKsMRiZj1s21G9s1umma9NfDAeproqjygKcrEwMQ7+dGTpPrBbttC25S+Ge50a4PmIoZ6yao4FxKviC3J+Q==}
    +  /@applitools/eyes-cypress@3.44.4(typescript@5.4.5):
    +    resolution: {integrity: sha512-+ROcvMoILibPoCp2bnqLWpqeALYgzww09L/UFnA3UoKSMOaewhOXmLWzUrCk4Ol+dVlM6+Wx1Oe7bIr2nsE6PQ==}
         engines: {node: '>=12.13.0'}
         hasBin: true
    +    dependencies:
    +      '@applitools/core': 4.16.1(typescript@5.4.5)
    +      '@applitools/eyes': 1.20.1(typescript@5.4.5)
    +      '@applitools/functional-commons': 1.6.0
    +      '@applitools/logger': 2.0.17
    +      '@applitools/utils': 1.7.3
    +      boxen: 5.1.2
    +      chalk: 3.0.0
    +      semver: 7.5.4
    +      uuid: 8.3.2
    +      ws: 8.5.0
    +    transitivePeerDependencies:
    +      - bufferutil
    +      - encoding
    +      - supports-color
    +      - typescript
    +      - utf-8-validate
    +    dev: true
     
    -  '@applitools/eyes@1.17.1':
    -    resolution: {integrity: sha512-kgDgILH4yuKBEve4J93Y9XXqF2GPfoEPbrSM3lJY4JUvTFl2q6czfAVtZO7HfQkTFuW4Q/YK2wZg/sTGCWznnQ==}
    +  /@applitools/eyes@1.20.1(typescript@5.4.5):
    +    resolution: {integrity: sha512-ancPuIyLzancnr0RKf55e8orbYRrd64tfN3PWL4JHADw9gKxJyLO5lhtnGO2P0mGaaztBNYOE3cn8HMPBhiPvg==}
         engines: {node: '>=12.13.0'}
    +    dependencies:
    +      '@applitools/core': 4.16.1(typescript@5.4.5)
    +      '@applitools/logger': 2.0.17
    +      '@applitools/utils': 1.7.3
    +    transitivePeerDependencies:
    +      - bufferutil
    +      - encoding
    +      - supports-color
    +      - typescript
    +      - utf-8-validate
    +    dev: true
     
    -  '@applitools/functional-commons@1.6.0':
    +  /@applitools/functional-commons@1.6.0:
         resolution: {integrity: sha512-fwiF0CbeYHDEOTD/NKaFgaI8LvRcGYG2GaJJiRwcedKko16sQ8F3TK5wXfj2Ytjf+8gjwHwsEEX550z3yvDWxA==}
         engines: {node: '>=8.0.0'}
    +    dev: true
     
    -  '@applitools/image@1.1.9':
    -    resolution: {integrity: sha512-R86re+yofXSBamTuzSLwFB57fzaf7aiKvyx675uw8e/XfqQy3vhGbp8Bh23lUZX9y7ngf2ldrpnQ7nQrvmtJuA==}
    +  /@applitools/image@1.1.12:
    +    resolution: {integrity: sha512-BYee69EaTs68fDX+Nx09nYsaoX7eW+RB0Njtd8IlwG4dO3zOu4uSgOe+qTPhoY/+ezEV9e/Otli3K0uSgwQgqQ==}
         engines: {node: '>=12.13.0'}
    +    dependencies:
    +      '@applitools/utils': 1.7.3
    +      bmpimagejs: 1.0.4
    +      jpeg-js: 0.4.4
    +      omggif: 1.0.10
    +      png-async: 0.9.4
    +    dev: true
     
    -  '@applitools/logger@1.1.53':
    +  /@applitools/logger@1.1.53:
         resolution: {integrity: sha512-4mlzYxc0MgM3WIxEwKqIjn9W7G7kMtQc2bFRxozViKOXypTfr72j8iODs88wcetP0GsXtplhZQ5/6aZN5WY9ug==}
         engines: {node: '>=12.13.0'}
    +    dependencies:
    +      '@applitools/utils': 1.3.36
    +      chalk: 4.1.2
    +      debug: 4.3.3
    +    transitivePeerDependencies:
    +      - supports-color
    +    dev: true
     
    -  '@applitools/logger@2.0.14':
    -    resolution: {integrity: sha512-oq/RPjs/3BjR3EdLohHhzzVufBYEMMhOUmZlCnvgmCJIhUsa3ceq8Ta2E99TUzSny9xkl962JoRDfLQg/vS+Ww==}
    +  /@applitools/logger@2.0.17:
    +    resolution: {integrity: sha512-Z8OZPkiA9h7bcxiwqVBZRB00aajYFYsb6FZq8pdGeln6ZxQCzw9+Cx/b2MbCWyE6i7dxnY6sUPWzUdMsBqgMPg==}
         engines: {node: '>=12.13.0'}
    +    dependencies:
    +      '@applitools/utils': 1.7.3
    +      chalk: 4.1.2
    +      debug: 4.3.4
    +    transitivePeerDependencies:
    +      - supports-color
    +    dev: true
     
    -  '@applitools/nml-client@1.7.5':
    -    resolution: {integrity: sha512-VeZy/aik9a9PMSE2NNq2LYgwu7FEj/hkGgwVv4M13jdH8/e+RI+fnjEVcky7hE6F1AjsY3HRHvbIrnUBDmF0/g==}
    +  /@applitools/nml-client@1.8.6:
    +    resolution: {integrity: sha512-VLL187YAJaE5NrfdzOQZAQdDaXroOzsWyE+OUCsA90lBR9PkJ0jNYzv0zKdT/pbihwmaFQ/tdwB0DkIFbtUmRQ==}
         engines: {node: '>=12.13.0'}
    +    dependencies:
    +      '@applitools/logger': 2.0.17
    +      '@applitools/req': 1.7.1
    +      '@applitools/utils': 1.7.3
    +    transitivePeerDependencies:
    +      - supports-color
    +    dev: true
     
    -  '@applitools/req@1.6.5':
    -    resolution: {integrity: sha512-EV6SNrABc/MEknQ5hSEUm0TgNlcOQXLM5W7VV2nObuVOMu35XL4BuVJH9Wivg4WiV6O1ZJ2rvpZ9ju0x4DHFsQ==}
    +  /@applitools/req@1.7.1:
    +    resolution: {integrity: sha512-Y2Hud6cw9bJForuC68iY+TFHgREknL16RUEfUfB+nsU7uVF0w35ppFDmstXI0KPeWXCIaTayJJzGVYcCJBrsjA==}
         engines: {node: '>=16.13.0'}
    +    dependencies:
    +      '@applitools/utils': 1.7.3
    +      abort-controller: 3.0.0
    +      http-proxy-agent: 5.0.0
    +      https-proxy-agent: 5.0.1
    +      node-fetch: 3.3.1
    +    transitivePeerDependencies:
    +      - supports-color
    +    dev: true
     
    -  '@applitools/screenshoter@3.8.27':
    -    resolution: {integrity: sha512-YIByICLMOmfc7gDXIzT9Qc/lVeqzXKjkOu47aKncEmKy2pcOUkMDmbVdhlP+M7pRIaaoPOmsC0CQpdteTGFi/g==}
    +  /@applitools/screenshoter@3.8.32:
    +    resolution: {integrity: sha512-pqD4ULDujWLgomL33qKQhmol2VWo9wHRrjKmbjB45+MHbgaCFjgrSKQ4ASJ1lFzTnAcVi+5SKclqF990hTauXA==}
         engines: {node: '>=12.13.0'}
    +    dependencies:
    +      '@applitools/image': 1.1.12
    +      '@applitools/logger': 2.0.17
    +      '@applitools/snippets': 2.4.26
    +      '@applitools/utils': 1.7.3
    +    transitivePeerDependencies:
    +      - supports-color
    +    dev: true
     
    -  '@applitools/snippets@2.4.25':
    -    resolution: {integrity: sha512-vnU9qq1IGkNpvh7Qy0m196t1u3mpx7NNUeHyJRVnJ53Ok4sb9s/KKrkrU9xYkKYY+T3AEvoN0Rp5LVVrKBHGQw==}
    +  /@applitools/snippets@2.4.26:
    +    resolution: {integrity: sha512-ZUeKMavqMdfBpXoQgHHJAA0Sk0f4+rjfYJc5j5+DgiKolfhLRBQLODzcSJQdRq1PBye9sl8LbryZstTyBjWeEA==}
         engines: {node: '>=12.13.0'}
    +    dev: true
     
    -  '@applitools/socket@1.1.14':
    -    resolution: {integrity: sha512-o43hNnD/PN5T5MFR3cZ5OC+b5PpkV/PeTk8z844sNtGyziS9GEpO0vYfG2XLq/mZg0YQurrXtYupUMndV+0wDg==}
    +  /@applitools/socket@1.1.17:
    +    resolution: {integrity: sha512-9ygwIlQSukIhXTNTH++atBRMuTidP5MumG2cRujDxGkVrOTE+qbWVKGASZLJgjZ59hoSIHqCnJVnl3zId8Z5ig==}
         engines: {node: '>=12.13.0'}
    +    dependencies:
    +      '@applitools/logger': 2.0.17
    +      '@applitools/utils': 1.7.3
    +    transitivePeerDependencies:
    +      - supports-color
    +    dev: true
     
    -  '@applitools/spec-driver-webdriver@1.1.3':
    -    resolution: {integrity: sha512-L9uhnKdX5Ts/FBS7J1Xq/SV9qQ6codgssKDPVwOytvQEhtJnohGRdnAIgRDdLANPq7j4JCV0SyeCNyYeljwErw==}
    +  /@applitools/spec-driver-webdriver@1.1.8(webdriver@7.31.1):
    +    resolution: {integrity: sha512-xLl7YAfNYUpdnvu6bJ7138xYePPg3HepN1nWa9ptzLoq1ZHXkEfnO61pGxjYNHiT+c0YSuerMxk3VIwCw+fB0Q==}
         engines: {node: '>=12.13.0'}
         peerDependencies:
           webdriver: '>=6.0.0'
    +    dependencies:
    +      '@applitools/driver': 1.17.3
    +      '@applitools/utils': 1.7.3
    +      http-proxy-agent: 5.0.0
    +      https-proxy-agent: 5.0.1
    +      webdriver: 7.31.1(typescript@5.4.5)
    +    transitivePeerDependencies:
    +      - supports-color
    +    dev: true
     
    -  '@applitools/tunnel-client@1.4.1':
    -    resolution: {integrity: sha512-/oGPWwk+p6qu/u3IUNXA7ZG1jkC9myg3Jv3yu014+i8Ltd9dp+OcUCH8Q4kN/W8RFBjLcRvahpbzWNd0cnYWQA==}
    +  /@applitools/tunnel-client@1.5.4:
    +    resolution: {integrity: sha512-nERMZIT7YF7QnMdfPXsNZ2AwtcXoE6+iru3mmDXucrTP3PgF1cI1XRxbdSnFD3zyjoRtoEPFTA9LuB+6YrjflA==}
         engines: {node: '>=12.13.0'}
         hasBin: true
    +    dependencies:
    +      '@applitools/execution-grid-tunnel': 3.0.4
    +      '@applitools/logger': 2.0.17
    +      '@applitools/req': 1.7.1
    +      '@applitools/socket': 1.1.17
    +      '@applitools/utils': 1.7.3
    +      abort-controller: 3.0.0
    +      yargs: 17.7.2
    +    transitivePeerDependencies:
    +      - supports-color
    +    dev: true
     
    -  '@applitools/ufg-client@1.10.2':
    -    resolution: {integrity: sha512-2F2nSZwxnMF+zZ5wiQuOJhyAbD/s4Wui8zHet2YL69ZZkhDMtMwYLtU/6VtUd9ZrzSYtBX32KE2ynfWraZ+zbg==}
    +  /@applitools/ufg-client@1.12.1:
    +    resolution: {integrity: sha512-vgtOgkXZcy70nc3AH30p6u6As5VdsvJNRHyz7/IqbKE7JynaIz/TCwsjPZR/GcOf7JixPbs37TPM2ffR4Idl0Q==}
         engines: {node: '>=12.13.0'}
    +    dependencies:
    +      '@applitools/css-tree': 1.1.3
    +      '@applitools/image': 1.1.12
    +      '@applitools/logger': 2.0.17
    +      '@applitools/req': 1.7.1
    +      '@applitools/utils': 1.7.3
    +      '@xmldom/xmldom': 0.8.10
    +      abort-controller: 3.0.0
    +      throat: 6.0.2
    +    transitivePeerDependencies:
    +      - supports-color
    +    dev: true
     
    -  '@applitools/utils@1.3.36':
    +  /@applitools/utils@1.3.36:
         resolution: {integrity: sha512-eROEssh7wIW+V87PvLiHI2hUPxqoBxXFMRx3+z5qOZqXUPSR1Uz7EMFwxZcDDR7T6C3O3UDckB2aVB5fJAg5JA==}
         engines: {node: '>=12.13.0'}
    +    dev: true
     
    -  '@applitools/utils@1.7.0':
    -    resolution: {integrity: sha512-CvBxdfPZ3ss1hOD8Yr9y2SzVfqLKBA/0N3gfQd5qafMrBhI0wuCycQmiclpAQNEVNkbhqn8/t6dOeeYgapjyDw==}
    +  /@applitools/utils@1.7.3:
    +    resolution: {integrity: sha512-zbW1ebQX8UuAt1vuDn+yBIsQ4+uzhzAKYXAYN7Zm4lyrEoIegpJtd3ivN1Q+xi4QXigpjRHWyCiCV+aVX970wA==}
         engines: {node: '>=12.13.0'}
    +    dev: true
     
    -  '@babel/code-frame@7.24.2':
    -    resolution: {integrity: sha512-y5+tLQyV8pg3fsiln67BVLD1P13Eg4lh5RW9mF0zUuvLrv9uIQ4MCL+CRT+FTsBlBjcIan6PGsLcBN0m3ClUyQ==}
    -    engines: {node: '>=6.9.0'}
    -
    -  '@babel/compat-data@7.24.4':
    -    resolution: {integrity: sha512-vg8Gih2MLK+kOkHJp4gBEIkyaIi00jgWot2D9QOmmfLC8jINSOzmCLta6Bvz/JSBCqnegV0L80jhxkol5GWNfQ==}
    +  /@babel/code-frame@7.24.7:
    +    resolution: {integrity: sha512-BcYH1CVJBO9tvyIZ2jVeXgSIMvGZ2FDRvDdOIVQyuklNKSsx+eppDEBq/g47Ayw+RqNFE+URvOShmf+f/qwAlA==}
         engines: {node: '>=6.9.0'}
    +    dependencies:
    +      '@babel/highlight': 7.24.7
    +      picocolors: 1.0.1
    +    dev: true
     
    -  '@babel/core@7.24.4':
    -    resolution: {integrity: sha512-MBVlMXP+kkl5394RBLSxxk/iLTeVGuXTV3cIDXavPpMMqnSnt6apKgan/U8O3USWZCWZT/TbgfEpKa4uMgN4Dg==}
    +  /@babel/compat-data@7.24.7:
    +    resolution: {integrity: sha512-qJzAIcv03PyaWqxRgO4mSU3lihncDT296vnyuE2O8uA4w3UHWI4S3hgeZd1L8W1Bft40w9JxJ2b412iDUFFRhw==}
         engines: {node: '>=6.9.0'}
    +    dev: true
     
    -  '@babel/core@7.24.5':
    -    resolution: {integrity: sha512-tVQRucExLQ02Boi4vdPp49svNGcfL2GhdTCT9aldhXgCJVAI21EtRfBettiuLUwce/7r6bFdgs6JFkcdTiFttA==}
    +  /@babel/core@7.24.7:
    +    resolution: {integrity: sha512-nykK+LEK86ahTkX/3TgauT0ikKoNCfKHEaZYTUVupJdTLzGNvrblu4u6fa7DhZONAltdf8e662t/abY8idrd/g==}
         engines: {node: '>=6.9.0'}
    +    dependencies:
    +      '@ampproject/remapping': 2.3.0
    +      '@babel/code-frame': 7.24.7
    +      '@babel/generator': 7.24.7
    +      '@babel/helper-compilation-targets': 7.24.7
    +      '@babel/helper-module-transforms': 7.24.7(@babel/core@7.24.7)
    +      '@babel/helpers': 7.24.7
    +      '@babel/parser': 7.24.7
    +      '@babel/template': 7.24.7
    +      '@babel/traverse': 7.24.7
    +      '@babel/types': 7.24.7
    +      convert-source-map: 2.0.0
    +      debug: 4.3.5(supports-color@8.1.1)
    +      gensync: 1.0.0-beta.2
    +      json5: 2.2.3
    +      semver: 6.3.1
    +    transitivePeerDependencies:
    +      - supports-color
    +    dev: true
     
    -  '@babel/generator@7.24.5':
    -    resolution: {integrity: sha512-x32i4hEXvr+iI0NEoEfDKzlemF8AmtOP8CcrRaEcpzysWuoEb1KknpcvMsHKPONoKZiDuItklgWhB18xEhr9PA==}
    +  /@babel/generator@7.24.7:
    +    resolution: {integrity: sha512-oipXieGC3i45Y1A41t4tAqpnEZWgB/lC6Ehh6+rOviR5XWpTtMmLN+fGjz9vOiNRt0p6RtO6DtD0pdU3vpqdSA==}
         engines: {node: '>=6.9.0'}
    +    dependencies:
    +      '@babel/types': 7.24.7
    +      '@jridgewell/gen-mapping': 0.3.5
    +      '@jridgewell/trace-mapping': 0.3.25
    +      jsesc: 2.5.2
    +    dev: true
     
    -  '@babel/helper-annotate-as-pure@7.22.5':
    -    resolution: {integrity: sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg==}
    +  /@babel/helper-annotate-as-pure@7.24.7:
    +    resolution: {integrity: sha512-BaDeOonYvhdKw+JoMVkAixAAJzG2jVPIwWoKBPdYuY9b452e2rPuI9QPYh3KpofZ3pW2akOmwZLOiOsHMiqRAg==}
         engines: {node: '>=6.9.0'}
    +    dependencies:
    +      '@babel/types': 7.24.7
    +    dev: true
     
    -  '@babel/helper-builder-binary-assignment-operator-visitor@7.22.15':
    -    resolution: {integrity: sha512-QkBXwGgaoC2GtGZRoma6kv7Szfv06khvhFav67ZExau2RaXzy8MpHSMO2PNoP2XtmQphJQRHFfg77Bq731Yizw==}
    +  /@babel/helper-builder-binary-assignment-operator-visitor@7.24.7:
    +    resolution: {integrity: sha512-xZeCVVdwb4MsDBkkyZ64tReWYrLRHlMN72vP7Bdm3OUOuyFZExhsHUUnuWnm2/XOlAJzR0LfPpB56WXZn0X/lA==}
         engines: {node: '>=6.9.0'}
    +    dependencies:
    +      '@babel/traverse': 7.24.7
    +      '@babel/types': 7.24.7
    +    transitivePeerDependencies:
    +      - supports-color
    +    dev: true
     
    -  '@babel/helper-compilation-targets@7.23.6':
    -    resolution: {integrity: sha512-9JB548GZoQVmzrFgp8o7KxdgkTGm6xs9DW0o/Pim72UDjzr5ObUQ6ZzYPqA+g9OTS2bBQoctLJrky0RDCAWRgQ==}
    +  /@babel/helper-compilation-targets@7.24.7:
    +    resolution: {integrity: sha512-ctSdRHBi20qWOfy27RUb4Fhp07KSJ3sXcuSvTrXrc4aG8NSYDo1ici3Vhg9bg69y5bj0Mr1lh0aeEgTvc12rMg==}
         engines: {node: '>=6.9.0'}
    +    dependencies:
    +      '@babel/compat-data': 7.24.7
    +      '@babel/helper-validator-option': 7.24.7
    +      browserslist: 4.23.1
    +      lru-cache: 5.1.1
    +      semver: 6.3.1
    +    dev: true
     
    -  '@babel/helper-create-class-features-plugin@7.24.5':
    -    resolution: {integrity: sha512-uRc4Cv8UQWnE4NXlYTIIdM7wfFkOqlFztcC/gVXDKohKoVB3OyonfelUBaJzSwpBntZ2KYGF/9S7asCHsXwW6g==}
    +  /@babel/helper-create-class-features-plugin@7.24.7(@babel/core@7.24.7):
    +    resolution: {integrity: sha512-kTkaDl7c9vO80zeX1rJxnuRpEsD5tA81yh11X1gQo+PhSti3JS+7qeZo9U4RHobKRiFPKaGK3svUAeb8D0Q7eg==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0
    +    dependencies:
    +      '@babel/core': 7.24.7
    +      '@babel/helper-annotate-as-pure': 7.24.7
    +      '@babel/helper-environment-visitor': 7.24.7
    +      '@babel/helper-function-name': 7.24.7
    +      '@babel/helper-member-expression-to-functions': 7.24.7
    +      '@babel/helper-optimise-call-expression': 7.24.7
    +      '@babel/helper-replace-supers': 7.24.7(@babel/core@7.24.7)
    +      '@babel/helper-skip-transparent-expression-wrappers': 7.24.7
    +      '@babel/helper-split-export-declaration': 7.24.7
    +      semver: 6.3.1
    +    transitivePeerDependencies:
    +      - supports-color
    +    dev: true
     
    -  '@babel/helper-create-regexp-features-plugin@7.22.15':
    -    resolution: {integrity: sha512-29FkPLFjn4TPEa3RE7GpW+qbE8tlsu3jntNYNfcGsc49LphF1PQIiD+vMZ1z1xVOKt+93khA9tc2JBs3kBjA7w==}
    +  /@babel/helper-create-regexp-features-plugin@7.24.7(@babel/core@7.24.7):
    +    resolution: {integrity: sha512-03TCmXy2FtXJEZfbXDTSqq1fRJArk7lX9DOFC/47VthYcxyIOx+eXQmdo6DOQvrbpIix+KfXwvuXdFDZHxt+rA==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0
    -
    -  '@babel/helper-define-polyfill-provider@0.6.2':
    +    dependencies:
    +      '@babel/core': 7.24.7
    +      '@babel/helper-annotate-as-pure': 7.24.7
    +      regexpu-core: 5.3.2
    +      semver: 6.3.1
    +    dev: true
    +
    +  /@babel/helper-define-polyfill-provider@0.6.2(@babel/core@7.24.7):
         resolution: {integrity: sha512-LV76g+C502biUK6AyZ3LK10vDpDyCzZnhZFXkH1L75zHPj68+qc8Zfpx2th+gzwA2MzyK+1g/3EPl62yFnVttQ==}
         peerDependencies:
           '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0
    +    dependencies:
    +      '@babel/core': 7.24.7
    +      '@babel/helper-compilation-targets': 7.24.7
    +      '@babel/helper-plugin-utils': 7.24.7
    +      debug: 4.3.5(supports-color@8.1.1)
    +      lodash.debounce: 4.0.8
    +      resolve: 1.22.8
    +    transitivePeerDependencies:
    +      - supports-color
    +    dev: true
     
    -  '@babel/helper-environment-visitor@7.22.20':
    -    resolution: {integrity: sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==}
    +  /@babel/helper-environment-visitor@7.24.7:
    +    resolution: {integrity: sha512-DoiN84+4Gnd0ncbBOM9AZENV4a5ZiL39HYMyZJGZ/AZEykHYdJw0wW3kdcsh9/Kn+BRXHLkkklZ51ecPKmI1CQ==}
         engines: {node: '>=6.9.0'}
    +    dependencies:
    +      '@babel/types': 7.24.7
    +    dev: true
     
    -  '@babel/helper-function-name@7.23.0':
    -    resolution: {integrity: sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==}
    +  /@babel/helper-function-name@7.24.7:
    +    resolution: {integrity: sha512-FyoJTsj/PEUWu1/TYRiXTIHc8lbw+TDYkZuoE43opPS5TrI7MyONBE1oNvfguEXAD9yhQRrVBnXdXzSLQl9XnA==}
         engines: {node: '>=6.9.0'}
    +    dependencies:
    +      '@babel/template': 7.24.7
    +      '@babel/types': 7.24.7
    +    dev: true
     
    -  '@babel/helper-hoist-variables@7.22.5':
    -    resolution: {integrity: sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==}
    +  /@babel/helper-hoist-variables@7.24.7:
    +    resolution: {integrity: sha512-MJJwhkoGy5c4ehfoRyrJ/owKeMl19U54h27YYftT0o2teQ3FJ3nQUf/I3LlJsX4l3qlw7WRXUmiyajvHXoTubQ==}
         engines: {node: '>=6.9.0'}
    +    dependencies:
    +      '@babel/types': 7.24.7
    +    dev: true
     
    -  '@babel/helper-member-expression-to-functions@7.24.5':
    -    resolution: {integrity: sha512-4owRteeihKWKamtqg4JmWSsEZU445xpFRXPEwp44HbgbxdWlUV1b4Agg4lkA806Lil5XM/e+FJyS0vj5T6vmcA==}
    +  /@babel/helper-member-expression-to-functions@7.24.7:
    +    resolution: {integrity: sha512-LGeMaf5JN4hAT471eJdBs/GK1DoYIJ5GCtZN/EsL6KUiiDZOvO/eKE11AMZJa2zP4zk4qe9V2O/hxAmkRc8p6w==}
         engines: {node: '>=6.9.0'}
    +    dependencies:
    +      '@babel/traverse': 7.24.7
    +      '@babel/types': 7.24.7
    +    transitivePeerDependencies:
    +      - supports-color
    +    dev: true
     
    -  '@babel/helper-module-imports@7.24.3':
    -    resolution: {integrity: sha512-viKb0F9f2s0BCS22QSF308z/+1YWKV/76mwt61NBzS5izMzDPwdq1pTrzf+Li3npBWX9KdQbkeCt1jSAM7lZqg==}
    +  /@babel/helper-module-imports@7.24.7:
    +    resolution: {integrity: sha512-8AyH3C+74cgCVVXow/myrynrAGv+nTVg5vKu2nZph9x7RcRwzmh0VFallJuFTZ9mx6u4eSdXZfcOzSqTUm0HCA==}
         engines: {node: '>=6.9.0'}
    +    dependencies:
    +      '@babel/traverse': 7.24.7
    +      '@babel/types': 7.24.7
    +    transitivePeerDependencies:
    +      - supports-color
    +    dev: true
     
    -  '@babel/helper-module-transforms@7.24.5':
    -    resolution: {integrity: sha512-9GxeY8c2d2mdQUP1Dye0ks3VDyIMS98kt/llQ2nUId8IsWqTF0l1LkSX0/uP7l7MCDrzXS009Hyhe2gzTiGW8A==}
    +  /@babel/helper-module-transforms@7.24.7(@babel/core@7.24.7):
    +    resolution: {integrity: sha512-1fuJEwIrp+97rM4RWdO+qrRsZlAeL1lQJoPqtCYWv0NL115XM93hIH4CSRln2w52SqvmY5hqdtauB6QFCDiZNQ==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0
    +    dependencies:
    +      '@babel/core': 7.24.7
    +      '@babel/helper-environment-visitor': 7.24.7
    +      '@babel/helper-module-imports': 7.24.7
    +      '@babel/helper-simple-access': 7.24.7
    +      '@babel/helper-split-export-declaration': 7.24.7
    +      '@babel/helper-validator-identifier': 7.24.7
    +    transitivePeerDependencies:
    +      - supports-color
    +    dev: true
     
    -  '@babel/helper-optimise-call-expression@7.22.5':
    -    resolution: {integrity: sha512-HBwaojN0xFRx4yIvpwGqxiV2tUfl7401jlok564NgB9EHS1y6QT17FmKWm4ztqjeVdXLuC4fSvHc5ePpQjoTbw==}
    +  /@babel/helper-optimise-call-expression@7.24.7:
    +    resolution: {integrity: sha512-jKiTsW2xmWwxT1ixIdfXUZp+P5yURx2suzLZr5Hi64rURpDYdMW0pv+Uf17EYk2Rd428Lx4tLsnjGJzYKDM/6A==}
         engines: {node: '>=6.9.0'}
    +    dependencies:
    +      '@babel/types': 7.24.7
    +    dev: true
     
    -  '@babel/helper-plugin-utils@7.24.5':
    -    resolution: {integrity: sha512-xjNLDopRzW2o6ba0gKbkZq5YWEBaK3PCyTOY1K2P/O07LGMhMqlMXPxwN4S5/RhWuCobT8z0jrlKGlYmeR1OhQ==}
    +  /@babel/helper-plugin-utils@7.24.7:
    +    resolution: {integrity: sha512-Rq76wjt7yz9AAc1KnlRKNAi/dMSVWgDRx43FHoJEbcYU6xOWaE2dVPwcdTukJrjxS65GITyfbvEYHvkirZ6uEg==}
         engines: {node: '>=6.9.0'}
    +    dev: true
     
    -  '@babel/helper-remap-async-to-generator@7.22.20':
    -    resolution: {integrity: sha512-pBGyV4uBqOns+0UvhsTO8qgl8hO89PmiDYv+/COyp1aeMcmfrfruz+/nCMFiYyFF/Knn0yfrC85ZzNFjembFTw==}
    +  /@babel/helper-remap-async-to-generator@7.24.7(@babel/core@7.24.7):
    +    resolution: {integrity: sha512-9pKLcTlZ92hNZMQfGCHImUpDOlAgkkpqalWEeftW5FBya75k8Li2ilerxkM/uBEj01iBZXcCIB/bwvDYgWyibA==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0
    +    dependencies:
    +      '@babel/core': 7.24.7
    +      '@babel/helper-annotate-as-pure': 7.24.7
    +      '@babel/helper-environment-visitor': 7.24.7
    +      '@babel/helper-wrap-function': 7.24.7
    +    transitivePeerDependencies:
    +      - supports-color
    +    dev: true
     
    -  '@babel/helper-replace-supers@7.24.1':
    -    resolution: {integrity: sha512-QCR1UqC9BzG5vZl8BMicmZ28RuUBnHhAMddD8yHFHDRH9lLTZ9uUPehX8ctVPT8l0TKblJidqcgUUKGVrePleQ==}
    +  /@babel/helper-replace-supers@7.24.7(@babel/core@7.24.7):
    +    resolution: {integrity: sha512-qTAxxBM81VEyoAY0TtLrx1oAEJc09ZK67Q9ljQToqCnA+55eNwCORaxlKyu+rNfX86o8OXRUSNUnrtsAZXM9sg==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0
    +    dependencies:
    +      '@babel/core': 7.24.7
    +      '@babel/helper-environment-visitor': 7.24.7
    +      '@babel/helper-member-expression-to-functions': 7.24.7
    +      '@babel/helper-optimise-call-expression': 7.24.7
    +    transitivePeerDependencies:
    +      - supports-color
    +    dev: true
     
    -  '@babel/helper-simple-access@7.24.5':
    -    resolution: {integrity: sha512-uH3Hmf5q5n7n8mz7arjUlDOCbttY/DW4DYhE6FUsjKJ/oYC1kQQUvwEQWxRwUpX9qQKRXeqLwWxrqilMrf32sQ==}
    -    engines: {node: '>=6.9.0'}
    -
    -  '@babel/helper-skip-transparent-expression-wrappers@7.22.5':
    -    resolution: {integrity: sha512-tK14r66JZKiC43p8Ki33yLBVJKlQDFoA8GYN67lWCDCqoL6EMMSuM9b+Iff2jHaM/RRFYl7K+iiru7hbRqNx8Q==}
    +  /@babel/helper-simple-access@7.24.7:
    +    resolution: {integrity: sha512-zBAIvbCMh5Ts+b86r/CjU+4XGYIs+R1j951gxI3KmmxBMhCg4oQMsv6ZXQ64XOm/cvzfU1FmoCyt6+owc5QMYg==}
         engines: {node: '>=6.9.0'}
    +    dependencies:
    +      '@babel/traverse': 7.24.7
    +      '@babel/types': 7.24.7
    +    transitivePeerDependencies:
    +      - supports-color
    +    dev: true
     
    -  '@babel/helper-split-export-declaration@7.24.5':
    -    resolution: {integrity: sha512-5CHncttXohrHk8GWOFCcCl4oRD9fKosWlIRgWm4ql9VYioKm52Mk2xsmoohvm7f3JoiLSM5ZgJuRaf5QZZYd3Q==}
    +  /@babel/helper-skip-transparent-expression-wrappers@7.24.7:
    +    resolution: {integrity: sha512-IO+DLT3LQUElMbpzlatRASEyQtfhSE0+m465v++3jyyXeBTBUjtVZg28/gHeV5mrTJqvEKhKroBGAvhW+qPHiQ==}
         engines: {node: '>=6.9.0'}
    +    dependencies:
    +      '@babel/traverse': 7.24.7
    +      '@babel/types': 7.24.7
    +    transitivePeerDependencies:
    +      - supports-color
    +    dev: true
     
    -  '@babel/helper-string-parser@7.24.1':
    -    resolution: {integrity: sha512-2ofRCjnnA9y+wk8b9IAREroeUP02KHp431N2mhKniy2yKIDKpbrHv9eXwm8cBeWQYcJmzv5qKCu65P47eCF7CQ==}
    +  /@babel/helper-split-export-declaration@7.24.7:
    +    resolution: {integrity: sha512-oy5V7pD+UvfkEATUKvIjvIAH/xCzfsFVw7ygW2SI6NClZzquT+mwdTfgfdbUiceh6iQO0CHtCPsyze/MZ2YbAA==}
         engines: {node: '>=6.9.0'}
    +    dependencies:
    +      '@babel/types': 7.24.7
    +    dev: true
     
    -  '@babel/helper-validator-identifier@7.22.20':
    -    resolution: {integrity: sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==}
    +  /@babel/helper-string-parser@7.24.7:
    +    resolution: {integrity: sha512-7MbVt6xrwFQbunH2DNQsAP5sTGxfqQtErvBIvIMi6EQnbgUOuVYanvREcmFrOPhoXBrTtjhhP+lW+o5UfK+tDg==}
         engines: {node: '>=6.9.0'}
     
    -  '@babel/helper-validator-identifier@7.24.5':
    -    resolution: {integrity: sha512-3q93SSKX2TWCG30M2G2kwaKeTYgEUp5Snjuj8qm729SObL6nbtUldAi37qbxkD5gg3xnBio+f9nqpSepGZMvxA==}
    +  /@babel/helper-validator-identifier@7.24.7:
    +    resolution: {integrity: sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w==}
         engines: {node: '>=6.9.0'}
     
    -  '@babel/helper-validator-option@7.23.5':
    -    resolution: {integrity: sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw==}
    +  /@babel/helper-validator-option@7.24.7:
    +    resolution: {integrity: sha512-yy1/KvjhV/ZCL+SM7hBrvnZJ3ZuT9OuZgIJAGpPEToANvc3iM6iDvBnRjtElWibHU6n8/LPR/EjX9EtIEYO3pw==}
         engines: {node: '>=6.9.0'}
    +    dev: true
     
    -  '@babel/helper-wrap-function@7.24.5':
    -    resolution: {integrity: sha512-/xxzuNvgRl4/HLNKvnFwdhdgN3cpLxgLROeLDl83Yx0AJ1SGvq1ak0OszTOjDfiB8Vx03eJbeDWh9r+jCCWttw==}
    +  /@babel/helper-wrap-function@7.24.7:
    +    resolution: {integrity: sha512-N9JIYk3TD+1vq/wn77YnJOqMtfWhNewNE+DJV4puD2X7Ew9J4JvrzrFDfTfyv5EgEXVy9/Wt8QiOErzEmv5Ifw==}
         engines: {node: '>=6.9.0'}
    +    dependencies:
    +      '@babel/helper-function-name': 7.24.7
    +      '@babel/template': 7.24.7
    +      '@babel/traverse': 7.24.7
    +      '@babel/types': 7.24.7
    +    transitivePeerDependencies:
    +      - supports-color
    +    dev: true
     
    -  '@babel/helpers@7.24.5':
    -    resolution: {integrity: sha512-CiQmBMMpMQHwM5m01YnrM6imUG1ebgYJ+fAIW4FZe6m4qHTPaRHti+R8cggAwkdz4oXhtO4/K9JWlh+8hIfR2Q==}
    +  /@babel/helpers@7.24.7:
    +    resolution: {integrity: sha512-NlmJJtvcw72yRJRcnCmGvSi+3jDEg8qFu3z0AFoymmzLx5ERVWyzd9kVXr7Th9/8yIJi2Zc6av4Tqz3wFs8QWg==}
         engines: {node: '>=6.9.0'}
    +    dependencies:
    +      '@babel/template': 7.24.7
    +      '@babel/types': 7.24.7
    +    dev: true
     
    -  '@babel/highlight@7.24.2':
    -    resolution: {integrity: sha512-Yac1ao4flkTxTteCDZLEvdxg2fZfz1v8M4QpaGypq/WPDqg3ijHYbDfs+LG5hvzSoqaSZ9/Z9lKSP3CjZjv+pA==}
    +  /@babel/highlight@7.24.7:
    +    resolution: {integrity: sha512-EStJpq4OuY8xYfhGVXngigBJRWxftKX9ksiGDnmlY3o7B/V7KIAc9X4oiK87uPJSc/vs5L869bem5fhZa8caZw==}
         engines: {node: '>=6.9.0'}
    +    dependencies:
    +      '@babel/helper-validator-identifier': 7.24.7
    +      chalk: 2.4.2
    +      js-tokens: 4.0.0
    +      picocolors: 1.0.1
    +    dev: true
     
    -  '@babel/parser@7.24.5':
    -    resolution: {integrity: sha512-EOv5IK8arwh3LI47dz1b0tKUb/1uhHAnHJOrjgtQMIpu1uXd9mlFrJg9IUgGUgZ41Ch0K8REPTYpO7B76b4vJg==}
    +  /@babel/parser@7.24.7:
    +    resolution: {integrity: sha512-9uUYRm6OqQrCqQdG1iCBwBPZgN8ciDBro2nIOFaiRz1/BCxaI7CNvQbDHvsArAC7Tw9Hda/B3U+6ui9u4HWXPw==}
         engines: {node: '>=6.0.0'}
         hasBin: true
    +    dependencies:
    +      '@babel/types': 7.24.7
     
    -  '@babel/plugin-bugfix-firefox-class-in-computed-class-key@7.24.5':
    -    resolution: {integrity: sha512-LdXRi1wEMTrHVR4Zc9F8OewC3vdm5h4QB6L71zy6StmYeqGi1b3ttIO8UC+BfZKcH9jdr4aI249rBkm+3+YvHw==}
    +  /@babel/plugin-bugfix-firefox-class-in-computed-class-key@7.24.7(@babel/core@7.24.7):
    +    resolution: {integrity: sha512-TiT1ss81W80eQsN+722OaeQMY/G4yTb4G9JrqeiDADs3N8lbPMGldWi9x8tyqCW5NLx1Jh2AvkE6r6QvEltMMQ==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0
    +    dependencies:
    +      '@babel/core': 7.24.7
    +      '@babel/helper-environment-visitor': 7.24.7
    +      '@babel/helper-plugin-utils': 7.24.7
    +    dev: true
     
    -  '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.24.1':
    -    resolution: {integrity: sha512-y4HqEnkelJIOQGd+3g1bTeKsA5c6qM7eOn7VggGVbBc0y8MLSKHacwcIE2PplNlQSj0PqS9rrXL/nkPVK+kUNg==}
    +  /@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.24.7(@babel/core@7.24.7):
    +    resolution: {integrity: sha512-unaQgZ/iRu/By6tsjMZzpeBZjChYfLYry6HrEXPoz3KmfF0sVBQ1l8zKMQ4xRGLWVsjuvB8nQfjNP/DcfEOCsg==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0
    +    dependencies:
    +      '@babel/core': 7.24.7
    +      '@babel/helper-plugin-utils': 7.24.7
    +    dev: true
     
    -  '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.24.1':
    -    resolution: {integrity: sha512-Hj791Ii4ci8HqnaKHAlLNs+zaLXb0EzSDhiAWp5VNlyvCNymYfacs64pxTxbH1znW/NcArSmwpmG9IKE/TUVVQ==}
    +  /@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.24.7(@babel/core@7.24.7):
    +    resolution: {integrity: sha512-+izXIbke1T33mY4MSNnrqhPXDz01WYhEf3yF5NbnUtkiNnm+XBZJl3kNfoK6NKmYlz/D07+l2GWVK/QfDkNCuQ==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.13.0
    +    dependencies:
    +      '@babel/core': 7.24.7
    +      '@babel/helper-plugin-utils': 7.24.7
    +      '@babel/helper-skip-transparent-expression-wrappers': 7.24.7
    +      '@babel/plugin-transform-optional-chaining': 7.24.7(@babel/core@7.24.7)
    +    transitivePeerDependencies:
    +      - supports-color
    +    dev: true
     
    -  '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.24.1':
    -    resolution: {integrity: sha512-m9m/fXsXLiHfwdgydIFnpk+7jlVbnvlK5B2EKiPdLUb6WX654ZaaEWJUjk8TftRbZpK0XibovlLWX4KIZhV6jw==}
    +  /@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.24.7(@babel/core@7.24.7):
    +    resolution: {integrity: sha512-utA4HuR6F4Vvcr+o4DnjL8fCOlgRFGbeeBEGNg3ZTrLFw6VWG5XmUrvcQ0FjIYMU2ST4XcR2Wsp7t9qOAPnxMg==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0
    +    dependencies:
    +      '@babel/core': 7.24.7
    +      '@babel/helper-environment-visitor': 7.24.7
    +      '@babel/helper-plugin-utils': 7.24.7
    +    dev: true
     
    -  '@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2':
    +  /@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2(@babel/core@7.24.7):
         resolution: {integrity: sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
    +    dependencies:
    +      '@babel/core': 7.24.7
    +    dev: true
     
    -  '@babel/plugin-syntax-async-generators@7.8.4':
    +  /@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.24.7):
         resolution: {integrity: sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==}
         peerDependencies:
           '@babel/core': ^7.0.0-0
    +    dependencies:
    +      '@babel/core': 7.24.7
    +      '@babel/helper-plugin-utils': 7.24.7
    +    dev: true
     
    -  '@babel/plugin-syntax-bigint@7.8.3':
    +  /@babel/plugin-syntax-bigint@7.8.3(@babel/core@7.24.7):
         resolution: {integrity: sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==}
         peerDependencies:
           '@babel/core': ^7.0.0-0
    +    dependencies:
    +      '@babel/core': 7.24.7
    +      '@babel/helper-plugin-utils': 7.24.7
    +    dev: true
     
    -  '@babel/plugin-syntax-class-properties@7.12.13':
    +  /@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.24.7):
         resolution: {integrity: sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==}
         peerDependencies:
           '@babel/core': ^7.0.0-0
    +    dependencies:
    +      '@babel/core': 7.24.7
    +      '@babel/helper-plugin-utils': 7.24.7
    +    dev: true
     
    -  '@babel/plugin-syntax-class-static-block@7.14.5':
    +  /@babel/plugin-syntax-class-static-block@7.14.5(@babel/core@7.24.7):
         resolution: {integrity: sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
    +    dependencies:
    +      '@babel/core': 7.24.7
    +      '@babel/helper-plugin-utils': 7.24.7
    +    dev: true
     
    -  '@babel/plugin-syntax-dynamic-import@7.8.3':
    +  /@babel/plugin-syntax-dynamic-import@7.8.3(@babel/core@7.24.7):
         resolution: {integrity: sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==}
         peerDependencies:
           '@babel/core': ^7.0.0-0
    +    dependencies:
    +      '@babel/core': 7.24.7
    +      '@babel/helper-plugin-utils': 7.24.7
    +    dev: true
     
    -  '@babel/plugin-syntax-export-namespace-from@7.8.3':
    +  /@babel/plugin-syntax-export-namespace-from@7.8.3(@babel/core@7.24.7):
         resolution: {integrity: sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==}
         peerDependencies:
           '@babel/core': ^7.0.0-0
    +    dependencies:
    +      '@babel/core': 7.24.7
    +      '@babel/helper-plugin-utils': 7.24.7
    +    dev: true
     
    -  '@babel/plugin-syntax-import-assertions@7.24.1':
    -    resolution: {integrity: sha512-IuwnI5XnuF189t91XbxmXeCDz3qs6iDRO7GJ++wcfgeXNs/8FmIlKcpDSXNVyuLQxlwvskmI3Ct73wUODkJBlQ==}
    +  /@babel/plugin-syntax-import-assertions@7.24.7(@babel/core@7.24.7):
    +    resolution: {integrity: sha512-Ec3NRUMoi8gskrkBe3fNmEQfxDvY8bgfQpz6jlk/41kX9eUjvpyqWU7PBP/pLAvMaSQjbMNKJmvX57jP+M6bPg==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
    +    dependencies:
    +      '@babel/core': 7.24.7
    +      '@babel/helper-plugin-utils': 7.24.7
    +    dev: true
     
    -  '@babel/plugin-syntax-import-attributes@7.24.1':
    -    resolution: {integrity: sha512-zhQTMH0X2nVLnb04tz+s7AMuasX8U0FnpE+nHTOhSOINjWMnopoZTxtIKsd45n4GQ/HIZLyfIpoul8e2m0DnRA==}
    +  /@babel/plugin-syntax-import-attributes@7.24.7(@babel/core@7.24.7):
    +    resolution: {integrity: sha512-hbX+lKKeUMGihnK8nvKqmXBInriT3GVjzXKFriV3YC6APGxMbP8RZNFwy91+hocLXq90Mta+HshoB31802bb8A==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
    +    dependencies:
    +      '@babel/core': 7.24.7
    +      '@babel/helper-plugin-utils': 7.24.7
    +    dev: true
     
    -  '@babel/plugin-syntax-import-meta@7.10.4':
    +  /@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.24.7):
         resolution: {integrity: sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==}
         peerDependencies:
           '@babel/core': ^7.0.0-0
    +    dependencies:
    +      '@babel/core': 7.24.7
    +      '@babel/helper-plugin-utils': 7.24.7
    +    dev: true
     
    -  '@babel/plugin-syntax-json-strings@7.8.3':
    +  /@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.24.7):
         resolution: {integrity: sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==}
         peerDependencies:
           '@babel/core': ^7.0.0-0
    +    dependencies:
    +      '@babel/core': 7.24.7
    +      '@babel/helper-plugin-utils': 7.24.7
    +    dev: true
     
    -  '@babel/plugin-syntax-jsx@7.24.1':
    -    resolution: {integrity: sha512-2eCtxZXf+kbkMIsXS4poTvT4Yu5rXiRa+9xGVT56raghjmBTKMpFNc9R4IDiB4emao9eO22Ox7CxuJG7BgExqA==}
    +  /@babel/plugin-syntax-jsx@7.24.7(@babel/core@7.24.7):
    +    resolution: {integrity: sha512-6ddciUPe/mpMnOKv/U+RSd2vvVy+Yw/JfBB0ZHYjEZt9NLHmCUylNYlsbqCCS1Bffjlb0fCwC9Vqz+sBz6PsiQ==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
    +    dependencies:
    +      '@babel/core': 7.24.7
    +      '@babel/helper-plugin-utils': 7.24.7
    +    dev: true
     
    -  '@babel/plugin-syntax-logical-assignment-operators@7.10.4':
    +  /@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.24.7):
         resolution: {integrity: sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==}
         peerDependencies:
           '@babel/core': ^7.0.0-0
    +    dependencies:
    +      '@babel/core': 7.24.7
    +      '@babel/helper-plugin-utils': 7.24.7
    +    dev: true
     
    -  '@babel/plugin-syntax-nullish-coalescing-operator@7.8.3':
    +  /@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.24.7):
         resolution: {integrity: sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==}
         peerDependencies:
           '@babel/core': ^7.0.0-0
    +    dependencies:
    +      '@babel/core': 7.24.7
    +      '@babel/helper-plugin-utils': 7.24.7
    +    dev: true
     
    -  '@babel/plugin-syntax-numeric-separator@7.10.4':
    +  /@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.24.7):
         resolution: {integrity: sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==}
         peerDependencies:
           '@babel/core': ^7.0.0-0
    +    dependencies:
    +      '@babel/core': 7.24.7
    +      '@babel/helper-plugin-utils': 7.24.7
    +    dev: true
     
    -  '@babel/plugin-syntax-object-rest-spread@7.8.3':
    +  /@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.24.7):
         resolution: {integrity: sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==}
         peerDependencies:
           '@babel/core': ^7.0.0-0
    +    dependencies:
    +      '@babel/core': 7.24.7
    +      '@babel/helper-plugin-utils': 7.24.7
    +    dev: true
     
    -  '@babel/plugin-syntax-optional-catch-binding@7.8.3':
    +  /@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.24.7):
         resolution: {integrity: sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==}
         peerDependencies:
           '@babel/core': ^7.0.0-0
    +    dependencies:
    +      '@babel/core': 7.24.7
    +      '@babel/helper-plugin-utils': 7.24.7
    +    dev: true
     
    -  '@babel/plugin-syntax-optional-chaining@7.8.3':
    +  /@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.24.7):
         resolution: {integrity: sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==}
         peerDependencies:
           '@babel/core': ^7.0.0-0
    +    dependencies:
    +      '@babel/core': 7.24.7
    +      '@babel/helper-plugin-utils': 7.24.7
    +    dev: true
     
    -  '@babel/plugin-syntax-private-property-in-object@7.14.5':
    +  /@babel/plugin-syntax-private-property-in-object@7.14.5(@babel/core@7.24.7):
         resolution: {integrity: sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
    +    dependencies:
    +      '@babel/core': 7.24.7
    +      '@babel/helper-plugin-utils': 7.24.7
    +    dev: true
     
    -  '@babel/plugin-syntax-top-level-await@7.14.5':
    +  /@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.24.7):
         resolution: {integrity: sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
    +    dependencies:
    +      '@babel/core': 7.24.7
    +      '@babel/helper-plugin-utils': 7.24.7
    +    dev: true
     
    -  '@babel/plugin-syntax-typescript@7.24.1':
    -    resolution: {integrity: sha512-Yhnmvy5HZEnHUty6i++gcfH1/l68AHnItFHnaCv6hn9dNh0hQvvQJsxpi4BMBFN5DLeHBuucT/0DgzXif/OyRw==}
    +  /@babel/plugin-syntax-typescript@7.24.7(@babel/core@7.24.7):
    +    resolution: {integrity: sha512-c/+fVeJBB0FeKsFvwytYiUD+LBvhHjGSI0g446PRGdSVGZLRNArBUno2PETbAly3tpiNAQR5XaZ+JslxkotsbA==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
    +    dependencies:
    +      '@babel/core': 7.24.7
    +      '@babel/helper-plugin-utils': 7.24.7
    +    dev: true
     
    -  '@babel/plugin-syntax-unicode-sets-regex@7.18.6':
    +  /@babel/plugin-syntax-unicode-sets-regex@7.18.6(@babel/core@7.24.7):
         resolution: {integrity: sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0
    +    dependencies:
    +      '@babel/core': 7.24.7
    +      '@babel/helper-create-regexp-features-plugin': 7.24.7(@babel/core@7.24.7)
    +      '@babel/helper-plugin-utils': 7.24.7
    +    dev: true
     
    -  '@babel/plugin-transform-arrow-functions@7.24.1':
    -    resolution: {integrity: sha512-ngT/3NkRhsaep9ck9uj2Xhv9+xB1zShY3tM3g6om4xxCELwCDN4g4Aq5dRn48+0hasAql7s2hdBOysCfNpr4fw==}
    +  /@babel/plugin-transform-arrow-functions@7.24.7(@babel/core@7.24.7):
    +    resolution: {integrity: sha512-Dt9LQs6iEY++gXUwY03DNFat5C2NbO48jj+j/bSAz6b3HgPs39qcPiYt77fDObIcFwj3/C2ICX9YMwGflUoSHQ==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
    +    dependencies:
    +      '@babel/core': 7.24.7
    +      '@babel/helper-plugin-utils': 7.24.7
    +    dev: true
     
    -  '@babel/plugin-transform-async-generator-functions@7.24.3':
    -    resolution: {integrity: sha512-Qe26CMYVjpQxJ8zxM1340JFNjZaF+ISWpr1Kt/jGo+ZTUzKkfw/pphEWbRCb+lmSM6k/TOgfYLvmbHkUQ0asIg==}
    +  /@babel/plugin-transform-async-generator-functions@7.24.7(@babel/core@7.24.7):
    +    resolution: {integrity: sha512-o+iF77e3u7ZS4AoAuJvapz9Fm001PuD2V3Lp6OSE4FYQke+cSewYtnek+THqGRWyQloRCyvWL1OkyfNEl9vr/g==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
    +    dependencies:
    +      '@babel/core': 7.24.7
    +      '@babel/helper-environment-visitor': 7.24.7
    +      '@babel/helper-plugin-utils': 7.24.7
    +      '@babel/helper-remap-async-to-generator': 7.24.7(@babel/core@7.24.7)
    +      '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.24.7)
    +    transitivePeerDependencies:
    +      - supports-color
    +    dev: true
     
    -  '@babel/plugin-transform-async-to-generator@7.24.1':
    -    resolution: {integrity: sha512-AawPptitRXp1y0n4ilKcGbRYWfbbzFWz2NqNu7dacYDtFtz0CMjG64b3LQsb3KIgnf4/obcUL78hfaOS7iCUfw==}
    +  /@babel/plugin-transform-async-to-generator@7.24.7(@babel/core@7.24.7):
    +    resolution: {integrity: sha512-SQY01PcJfmQ+4Ash7NE+rpbLFbmqA2GPIgqzxfFTL4t1FKRq4zTms/7htKpoCUI9OcFYgzqfmCdH53s6/jn5fA==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
    +    dependencies:
    +      '@babel/core': 7.24.7
    +      '@babel/helper-module-imports': 7.24.7
    +      '@babel/helper-plugin-utils': 7.24.7
    +      '@babel/helper-remap-async-to-generator': 7.24.7(@babel/core@7.24.7)
    +    transitivePeerDependencies:
    +      - supports-color
    +    dev: true
     
    -  '@babel/plugin-transform-block-scoped-functions@7.24.1':
    -    resolution: {integrity: sha512-TWWC18OShZutrv9C6mye1xwtam+uNi2bnTOCBUd5sZxyHOiWbU6ztSROofIMrK84uweEZC219POICK/sTYwfgg==}
    +  /@babel/plugin-transform-block-scoped-functions@7.24.7(@babel/core@7.24.7):
    +    resolution: {integrity: sha512-yO7RAz6EsVQDaBH18IDJcMB1HnrUn2FJ/Jslc/WtPPWcjhpUJXU/rjbwmluzp7v/ZzWcEhTMXELnnsz8djWDwQ==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
    +    dependencies:
    +      '@babel/core': 7.24.7
    +      '@babel/helper-plugin-utils': 7.24.7
    +    dev: true
     
    -  '@babel/plugin-transform-block-scoping@7.24.5':
    -    resolution: {integrity: sha512-sMfBc3OxghjC95BkYrYocHL3NaOplrcaunblzwXhGmlPwpmfsxr4vK+mBBt49r+S240vahmv+kUxkeKgs+haCw==}
    +  /@babel/plugin-transform-block-scoping@7.24.7(@babel/core@7.24.7):
    +    resolution: {integrity: sha512-Nd5CvgMbWc+oWzBsuaMcbwjJWAcp5qzrbg69SZdHSP7AMY0AbWFqFO0WTFCA1jxhMCwodRwvRec8k0QUbZk7RQ==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
    +    dependencies:
    +      '@babel/core': 7.24.7
    +      '@babel/helper-plugin-utils': 7.24.7
    +    dev: true
     
    -  '@babel/plugin-transform-class-properties@7.24.1':
    -    resolution: {integrity: sha512-OMLCXi0NqvJfORTaPQBwqLXHhb93wkBKZ4aNwMl6WtehO7ar+cmp+89iPEQPqxAnxsOKTaMcs3POz3rKayJ72g==}
    +  /@babel/plugin-transform-class-properties@7.24.7(@babel/core@7.24.7):
    +    resolution: {integrity: sha512-vKbfawVYayKcSeSR5YYzzyXvsDFWU2mD8U5TFeXtbCPLFUqe7GyCgvO6XDHzje862ODrOwy6WCPmKeWHbCFJ4w==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
    +    dependencies:
    +      '@babel/core': 7.24.7
    +      '@babel/helper-create-class-features-plugin': 7.24.7(@babel/core@7.24.7)
    +      '@babel/helper-plugin-utils': 7.24.7
    +    transitivePeerDependencies:
    +      - supports-color
    +    dev: true
     
    -  '@babel/plugin-transform-class-static-block@7.24.4':
    -    resolution: {integrity: sha512-B8q7Pz870Hz/q9UgP8InNpY01CSLDSCyqX7zcRuv3FcPl87A2G17lASroHWaCtbdIcbYzOZ7kWmXFKbijMSmFg==}
    +  /@babel/plugin-transform-class-static-block@7.24.7(@babel/core@7.24.7):
    +    resolution: {integrity: sha512-HMXK3WbBPpZQufbMG4B46A90PkuuhN9vBCb5T8+VAHqvAqvcLi+2cKoukcpmUYkszLhScU3l1iudhrks3DggRQ==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.12.0
    +    dependencies:
    +      '@babel/core': 7.24.7
    +      '@babel/helper-create-class-features-plugin': 7.24.7(@babel/core@7.24.7)
    +      '@babel/helper-plugin-utils': 7.24.7
    +      '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.24.7)
    +    transitivePeerDependencies:
    +      - supports-color
    +    dev: true
     
    -  '@babel/plugin-transform-classes@7.24.5':
    -    resolution: {integrity: sha512-gWkLP25DFj2dwe9Ck8uwMOpko4YsqyfZJrOmqqcegeDYEbp7rmn4U6UQZNj08UF6MaX39XenSpKRCvpDRBtZ7Q==}
    +  /@babel/plugin-transform-classes@7.24.7(@babel/core@7.24.7):
    +    resolution: {integrity: sha512-CFbbBigp8ln4FU6Bpy6g7sE8B/WmCmzvivzUC6xDAdWVsjYTXijpuuGJmYkAaoWAzcItGKT3IOAbxRItZ5HTjw==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
    +    dependencies:
    +      '@babel/core': 7.24.7
    +      '@babel/helper-annotate-as-pure': 7.24.7
    +      '@babel/helper-compilation-targets': 7.24.7
    +      '@babel/helper-environment-visitor': 7.24.7
    +      '@babel/helper-function-name': 7.24.7
    +      '@babel/helper-plugin-utils': 7.24.7
    +      '@babel/helper-replace-supers': 7.24.7(@babel/core@7.24.7)
    +      '@babel/helper-split-export-declaration': 7.24.7
    +      globals: 11.12.0
    +    transitivePeerDependencies:
    +      - supports-color
    +    dev: true
     
    -  '@babel/plugin-transform-computed-properties@7.24.1':
    -    resolution: {integrity: sha512-5pJGVIUfJpOS+pAqBQd+QMaTD2vCL/HcePooON6pDpHgRp4gNRmzyHTPIkXntwKsq3ayUFVfJaIKPw2pOkOcTw==}
    +  /@babel/plugin-transform-computed-properties@7.24.7(@babel/core@7.24.7):
    +    resolution: {integrity: sha512-25cS7v+707Gu6Ds2oY6tCkUwsJ9YIDbggd9+cu9jzzDgiNq7hR/8dkzxWfKWnTic26vsI3EsCXNd4iEB6e8esQ==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
    +    dependencies:
    +      '@babel/core': 7.24.7
    +      '@babel/helper-plugin-utils': 7.24.7
    +      '@babel/template': 7.24.7
    +    dev: true
     
    -  '@babel/plugin-transform-destructuring@7.24.5':
    -    resolution: {integrity: sha512-SZuuLyfxvsm+Ah57I/i1HVjveBENYK9ue8MJ7qkc7ndoNjqquJiElzA7f5yaAXjyW2hKojosOTAQQRX50bPSVg==}
    +  /@babel/plugin-transform-destructuring@7.24.7(@babel/core@7.24.7):
    +    resolution: {integrity: sha512-19eJO/8kdCQ9zISOf+SEUJM/bAUIsvY3YDnXZTupUCQ8LgrWnsG/gFB9dvXqdXnRXMAM8fvt7b0CBKQHNGy1mw==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
    +    dependencies:
    +      '@babel/core': 7.24.7
    +      '@babel/helper-plugin-utils': 7.24.7
    +    dev: true
     
    -  '@babel/plugin-transform-dotall-regex@7.24.1':
    -    resolution: {integrity: sha512-p7uUxgSoZwZ2lPNMzUkqCts3xlp8n+o05ikjy7gbtFJSt9gdU88jAmtfmOxHM14noQXBxfgzf2yRWECiNVhTCw==}
    +  /@babel/plugin-transform-dotall-regex@7.24.7(@babel/core@7.24.7):
    +    resolution: {integrity: sha512-ZOA3W+1RRTSWvyqcMJDLqbchh7U4NRGqwRfFSVbOLS/ePIP4vHB5e8T8eXcuqyN1QkgKyj5wuW0lcS85v4CrSw==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
    +    dependencies:
    +      '@babel/core': 7.24.7
    +      '@babel/helper-create-regexp-features-plugin': 7.24.7(@babel/core@7.24.7)
    +      '@babel/helper-plugin-utils': 7.24.7
    +    dev: true
     
    -  '@babel/plugin-transform-duplicate-keys@7.24.1':
    -    resolution: {integrity: sha512-msyzuUnvsjsaSaocV6L7ErfNsa5nDWL1XKNnDePLgmz+WdU4w/J8+AxBMrWfi9m4IxfL5sZQKUPQKDQeeAT6lA==}
    +  /@babel/plugin-transform-duplicate-keys@7.24.7(@babel/core@7.24.7):
    +    resolution: {integrity: sha512-JdYfXyCRihAe46jUIliuL2/s0x0wObgwwiGxw/UbgJBr20gQBThrokO4nYKgWkD7uBaqM7+9x5TU7NkExZJyzw==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
    +    dependencies:
    +      '@babel/core': 7.24.7
    +      '@babel/helper-plugin-utils': 7.24.7
    +    dev: true
     
    -  '@babel/plugin-transform-dynamic-import@7.24.1':
    -    resolution: {integrity: sha512-av2gdSTyXcJVdI+8aFZsCAtR29xJt0S5tas+Ef8NvBNmD1a+N/3ecMLeMBgfcK+xzsjdLDT6oHt+DFPyeqUbDA==}
    +  /@babel/plugin-transform-dynamic-import@7.24.7(@babel/core@7.24.7):
    +    resolution: {integrity: sha512-sc3X26PhZQDb3JhORmakcbvkeInvxz+A8oda99lj7J60QRuPZvNAk9wQlTBS1ZynelDrDmTU4pw1tyc5d5ZMUg==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
    +    dependencies:
    +      '@babel/core': 7.24.7
    +      '@babel/helper-plugin-utils': 7.24.7
    +      '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.24.7)
    +    dev: true
     
    -  '@babel/plugin-transform-exponentiation-operator@7.24.1':
    -    resolution: {integrity: sha512-U1yX13dVBSwS23DEAqU+Z/PkwE9/m7QQy8Y9/+Tdb8UWYaGNDYwTLi19wqIAiROr8sXVum9A/rtiH5H0boUcTw==}
    +  /@babel/plugin-transform-exponentiation-operator@7.24.7(@babel/core@7.24.7):
    +    resolution: {integrity: sha512-Rqe/vSc9OYgDajNIK35u7ot+KeCoetqQYFXM4Epf7M7ez3lWlOjrDjrwMei6caCVhfdw+mIKD4cgdGNy5JQotQ==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
    +    dependencies:
    +      '@babel/core': 7.24.7
    +      '@babel/helper-builder-binary-assignment-operator-visitor': 7.24.7
    +      '@babel/helper-plugin-utils': 7.24.7
    +    transitivePeerDependencies:
    +      - supports-color
    +    dev: true
     
    -  '@babel/plugin-transform-export-namespace-from@7.24.1':
    -    resolution: {integrity: sha512-Ft38m/KFOyzKw2UaJFkWG9QnHPG/Q/2SkOrRk4pNBPg5IPZ+dOxcmkK5IyuBcxiNPyyYowPGUReyBvrvZs7IlQ==}
    +  /@babel/plugin-transform-export-namespace-from@7.24.7(@babel/core@7.24.7):
    +    resolution: {integrity: sha512-v0K9uNYsPL3oXZ/7F9NNIbAj2jv1whUEtyA6aujhekLs56R++JDQuzRcP2/z4WX5Vg/c5lE9uWZA0/iUoFhLTA==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
    +    dependencies:
    +      '@babel/core': 7.24.7
    +      '@babel/helper-plugin-utils': 7.24.7
    +      '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.24.7)
    +    dev: true
     
    -  '@babel/plugin-transform-for-of@7.24.1':
    -    resolution: {integrity: sha512-OxBdcnF04bpdQdR3i4giHZNZQn7cm8RQKcSwA17wAAqEELo1ZOwp5FFgeptWUQXFyT9kwHo10aqqauYkRZPCAg==}
    +  /@babel/plugin-transform-for-of@7.24.7(@babel/core@7.24.7):
    +    resolution: {integrity: sha512-wo9ogrDG1ITTTBsy46oGiN1dS9A7MROBTcYsfS8DtsImMkHk9JXJ3EWQM6X2SUw4x80uGPlwj0o00Uoc6nEE3g==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
    +    dependencies:
    +      '@babel/core': 7.24.7
    +      '@babel/helper-plugin-utils': 7.24.7
    +      '@babel/helper-skip-transparent-expression-wrappers': 7.24.7
    +    transitivePeerDependencies:
    +      - supports-color
    +    dev: true
     
    -  '@babel/plugin-transform-function-name@7.24.1':
    -    resolution: {integrity: sha512-BXmDZpPlh7jwicKArQASrj8n22/w6iymRnvHYYd2zO30DbE277JO20/7yXJT3QxDPtiQiOxQBbZH4TpivNXIxA==}
    +  /@babel/plugin-transform-function-name@7.24.7(@babel/core@7.24.7):
    +    resolution: {integrity: sha512-U9FcnA821YoILngSmYkW6FjyQe2TyZD5pHt4EVIhmcTkrJw/3KqcrRSxuOo5tFZJi7TE19iDyI1u+weTI7bn2w==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
    +    dependencies:
    +      '@babel/core': 7.24.7
    +      '@babel/helper-compilation-targets': 7.24.7
    +      '@babel/helper-function-name': 7.24.7
    +      '@babel/helper-plugin-utils': 7.24.7
    +    dev: true
     
    -  '@babel/plugin-transform-json-strings@7.24.1':
    -    resolution: {integrity: sha512-U7RMFmRvoasscrIFy5xA4gIp8iWnWubnKkKuUGJjsuOH7GfbMkB+XZzeslx2kLdEGdOJDamEmCqOks6e8nv8DQ==}
    +  /@babel/plugin-transform-json-strings@7.24.7(@babel/core@7.24.7):
    +    resolution: {integrity: sha512-2yFnBGDvRuxAaE/f0vfBKvtnvvqU8tGpMHqMNpTN2oWMKIR3NqFkjaAgGwawhqK/pIN2T3XdjGPdaG0vDhOBGw==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
    +    dependencies:
    +      '@babel/core': 7.24.7
    +      '@babel/helper-plugin-utils': 7.24.7
    +      '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.24.7)
    +    dev: true
     
    -  '@babel/plugin-transform-literals@7.24.1':
    -    resolution: {integrity: sha512-zn9pwz8U7nCqOYIiBaOxoQOtYmMODXTJnkxG4AtX8fPmnCRYWBOHD0qcpwS9e2VDSp1zNJYpdnFMIKb8jmwu6g==}
    +  /@babel/plugin-transform-literals@7.24.7(@babel/core@7.24.7):
    +    resolution: {integrity: sha512-vcwCbb4HDH+hWi8Pqenwnjy+UiklO4Kt1vfspcQYFhJdpthSnW8XvWGyDZWKNVrVbVViI/S7K9PDJZiUmP2fYQ==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
    +    dependencies:
    +      '@babel/core': 7.24.7
    +      '@babel/helper-plugin-utils': 7.24.7
    +    dev: true
     
    -  '@babel/plugin-transform-logical-assignment-operators@7.24.1':
    -    resolution: {integrity: sha512-OhN6J4Bpz+hIBqItTeWJujDOfNP+unqv/NJgyhlpSqgBTPm37KkMmZV6SYcOj+pnDbdcl1qRGV/ZiIjX9Iy34w==}
    +  /@babel/plugin-transform-logical-assignment-operators@7.24.7(@babel/core@7.24.7):
    +    resolution: {integrity: sha512-4D2tpwlQ1odXmTEIFWy9ELJcZHqrStlzK/dAOWYyxX3zT0iXQB6banjgeOJQXzEc4S0E0a5A+hahxPaEFYftsw==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
    +    dependencies:
    +      '@babel/core': 7.24.7
    +      '@babel/helper-plugin-utils': 7.24.7
    +      '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.24.7)
    +    dev: true
     
    -  '@babel/plugin-transform-member-expression-literals@7.24.1':
    -    resolution: {integrity: sha512-4ojai0KysTWXzHseJKa1XPNXKRbuUrhkOPY4rEGeR+7ChlJVKxFa3H3Bz+7tWaGKgJAXUWKOGmltN+u9B3+CVg==}
    +  /@babel/plugin-transform-member-expression-literals@7.24.7(@babel/core@7.24.7):
    +    resolution: {integrity: sha512-T/hRC1uqrzXMKLQ6UCwMT85S3EvqaBXDGf0FaMf4446Qx9vKwlghvee0+uuZcDUCZU5RuNi4781UQ7R308zzBw==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
    +    dependencies:
    +      '@babel/core': 7.24.7
    +      '@babel/helper-plugin-utils': 7.24.7
    +    dev: true
     
    -  '@babel/plugin-transform-modules-amd@7.24.1':
    -    resolution: {integrity: sha512-lAxNHi4HVtjnHd5Rxg3D5t99Xm6H7b04hUS7EHIXcUl2EV4yl1gWdqZrNzXnSrHveL9qMdbODlLF55mvgjAfaQ==}
    +  /@babel/plugin-transform-modules-amd@7.24.7(@babel/core@7.24.7):
    +    resolution: {integrity: sha512-9+pB1qxV3vs/8Hdmz/CulFB8w2tuu6EB94JZFsjdqxQokwGa9Unap7Bo2gGBGIvPmDIVvQrom7r5m/TCDMURhg==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
    +    dependencies:
    +      '@babel/core': 7.24.7
    +      '@babel/helper-module-transforms': 7.24.7(@babel/core@7.24.7)
    +      '@babel/helper-plugin-utils': 7.24.7
    +    transitivePeerDependencies:
    +      - supports-color
    +    dev: true
     
    -  '@babel/plugin-transform-modules-commonjs@7.24.1':
    -    resolution: {integrity: sha512-szog8fFTUxBfw0b98gEWPaEqF42ZUD/T3bkynW/wtgx2p/XCP55WEsb+VosKceRSd6njipdZvNogqdtI4Q0chw==}
    +  /@babel/plugin-transform-modules-commonjs@7.24.7(@babel/core@7.24.7):
    +    resolution: {integrity: sha512-iFI8GDxtevHJ/Z22J5xQpVqFLlMNstcLXh994xifFwxxGslr2ZXXLWgtBeLctOD63UFDArdvN6Tg8RFw+aEmjQ==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
    +    dependencies:
    +      '@babel/core': 7.24.7
    +      '@babel/helper-module-transforms': 7.24.7(@babel/core@7.24.7)
    +      '@babel/helper-plugin-utils': 7.24.7
    +      '@babel/helper-simple-access': 7.24.7
    +    transitivePeerDependencies:
    +      - supports-color
    +    dev: true
     
    -  '@babel/plugin-transform-modules-systemjs@7.24.1':
    -    resolution: {integrity: sha512-mqQ3Zh9vFO1Tpmlt8QPnbwGHzNz3lpNEMxQb1kAemn/erstyqw1r9KeOlOfo3y6xAnFEcOv2tSyrXfmMk+/YZA==}
    +  /@babel/plugin-transform-modules-systemjs@7.24.7(@babel/core@7.24.7):
    +    resolution: {integrity: sha512-GYQE0tW7YoaN13qFh3O1NCY4MPkUiAH3fiF7UcV/I3ajmDKEdG3l+UOcbAm4zUE3gnvUU+Eni7XrVKo9eO9auw==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
    +    dependencies:
    +      '@babel/core': 7.24.7
    +      '@babel/helper-hoist-variables': 7.24.7
    +      '@babel/helper-module-transforms': 7.24.7(@babel/core@7.24.7)
    +      '@babel/helper-plugin-utils': 7.24.7
    +      '@babel/helper-validator-identifier': 7.24.7
    +    transitivePeerDependencies:
    +      - supports-color
    +    dev: true
     
    -  '@babel/plugin-transform-modules-umd@7.24.1':
    -    resolution: {integrity: sha512-tuA3lpPj+5ITfcCluy6nWonSL7RvaG0AOTeAuvXqEKS34lnLzXpDb0dcP6K8jD0zWZFNDVly90AGFJPnm4fOYg==}
    +  /@babel/plugin-transform-modules-umd@7.24.7(@babel/core@7.24.7):
    +    resolution: {integrity: sha512-3aytQvqJ/h9z4g8AsKPLvD4Zqi2qT+L3j7XoFFu1XBlZWEl2/1kWnhmAbxpLgPrHSY0M6UA02jyTiwUVtiKR6A==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
    +    dependencies:
    +      '@babel/core': 7.24.7
    +      '@babel/helper-module-transforms': 7.24.7(@babel/core@7.24.7)
    +      '@babel/helper-plugin-utils': 7.24.7
    +    transitivePeerDependencies:
    +      - supports-color
    +    dev: true
     
    -  '@babel/plugin-transform-named-capturing-groups-regex@7.22.5':
    -    resolution: {integrity: sha512-YgLLKmS3aUBhHaxp5hi1WJTgOUb/NCuDHzGT9z9WTt3YG+CPRhJs6nprbStx6DnWM4dh6gt7SU3sZodbZ08adQ==}
    +  /@babel/plugin-transform-named-capturing-groups-regex@7.24.7(@babel/core@7.24.7):
    +    resolution: {integrity: sha512-/jr7h/EWeJtk1U/uz2jlsCioHkZk1JJZVcc8oQsJ1dUlaJD83f4/6Zeh2aHt9BIFokHIsSeDfhUmju0+1GPd6g==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0
    +    dependencies:
    +      '@babel/core': 7.24.7
    +      '@babel/helper-create-regexp-features-plugin': 7.24.7(@babel/core@7.24.7)
    +      '@babel/helper-plugin-utils': 7.24.7
    +    dev: true
     
    -  '@babel/plugin-transform-new-target@7.24.1':
    -    resolution: {integrity: sha512-/rurytBM34hYy0HKZQyA0nHbQgQNFm4Q/BOc9Hflxi2X3twRof7NaE5W46j4kQitm7SvACVRXsa6N/tSZxvPug==}
    +  /@babel/plugin-transform-new-target@7.24.7(@babel/core@7.24.7):
    +    resolution: {integrity: sha512-RNKwfRIXg4Ls/8mMTza5oPF5RkOW8Wy/WgMAp1/F1yZ8mMbtwXW+HDoJiOsagWrAhI5f57Vncrmr9XeT4CVapA==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
    +    dependencies:
    +      '@babel/core': 7.24.7
    +      '@babel/helper-plugin-utils': 7.24.7
    +    dev: true
     
    -  '@babel/plugin-transform-nullish-coalescing-operator@7.24.1':
    -    resolution: {integrity: sha512-iQ+caew8wRrhCikO5DrUYx0mrmdhkaELgFa+7baMcVuhxIkN7oxt06CZ51D65ugIb1UWRQ8oQe+HXAVM6qHFjw==}
    +  /@babel/plugin-transform-nullish-coalescing-operator@7.24.7(@babel/core@7.24.7):
    +    resolution: {integrity: sha512-Ts7xQVk1OEocqzm8rHMXHlxvsfZ0cEF2yomUqpKENHWMF4zKk175Y4q8H5knJes6PgYad50uuRmt3UJuhBw8pQ==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
    +    dependencies:
    +      '@babel/core': 7.24.7
    +      '@babel/helper-plugin-utils': 7.24.7
    +      '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.24.7)
    +    dev: true
     
    -  '@babel/plugin-transform-numeric-separator@7.24.1':
    -    resolution: {integrity: sha512-7GAsGlK4cNL2OExJH1DzmDeKnRv/LXq0eLUSvudrehVA5Rgg4bIrqEUW29FbKMBRT0ztSqisv7kjP+XIC4ZMNw==}
    +  /@babel/plugin-transform-numeric-separator@7.24.7(@babel/core@7.24.7):
    +    resolution: {integrity: sha512-e6q1TiVUzvH9KRvicuxdBTUj4AdKSRwzIyFFnfnezpCfP2/7Qmbb8qbU2j7GODbl4JMkblitCQjKYUaX/qkkwA==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
    +    dependencies:
    +      '@babel/core': 7.24.7
    +      '@babel/helper-plugin-utils': 7.24.7
    +      '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.24.7)
    +    dev: true
     
    -  '@babel/plugin-transform-object-rest-spread@7.24.5':
    -    resolution: {integrity: sha512-7EauQHszLGM3ay7a161tTQH7fj+3vVM/gThlz5HpFtnygTxjrlvoeq7MPVA1Vy9Q555OB8SnAOsMkLShNkkrHA==}
    +  /@babel/plugin-transform-object-rest-spread@7.24.7(@babel/core@7.24.7):
    +    resolution: {integrity: sha512-4QrHAr0aXQCEFni2q4DqKLD31n2DL+RxcwnNjDFkSG0eNQ/xCavnRkfCUjsyqGC2OviNJvZOF/mQqZBw7i2C5Q==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
    +    dependencies:
    +      '@babel/core': 7.24.7
    +      '@babel/helper-compilation-targets': 7.24.7
    +      '@babel/helper-plugin-utils': 7.24.7
    +      '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.24.7)
    +      '@babel/plugin-transform-parameters': 7.24.7(@babel/core@7.24.7)
    +    dev: true
     
    -  '@babel/plugin-transform-object-super@7.24.1':
    -    resolution: {integrity: sha512-oKJqR3TeI5hSLRxudMjFQ9re9fBVUU0GICqM3J1mi8MqlhVr6hC/ZN4ttAyMuQR6EZZIY6h/exe5swqGNNIkWQ==}
    +  /@babel/plugin-transform-object-super@7.24.7(@babel/core@7.24.7):
    +    resolution: {integrity: sha512-A/vVLwN6lBrMFmMDmPPz0jnE6ZGx7Jq7d6sT/Ev4H65RER6pZ+kczlf1DthF5N0qaPHBsI7UXiE8Zy66nmAovg==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
    +    dependencies:
    +      '@babel/core': 7.24.7
    +      '@babel/helper-plugin-utils': 7.24.7
    +      '@babel/helper-replace-supers': 7.24.7(@babel/core@7.24.7)
    +    transitivePeerDependencies:
    +      - supports-color
    +    dev: true
     
    -  '@babel/plugin-transform-optional-catch-binding@7.24.1':
    -    resolution: {integrity: sha512-oBTH7oURV4Y+3EUrf6cWn1OHio3qG/PVwO5J03iSJmBg6m2EhKjkAu/xuaXaYwWW9miYtvbWv4LNf0AmR43LUA==}
    +  /@babel/plugin-transform-optional-catch-binding@7.24.7(@babel/core@7.24.7):
    +    resolution: {integrity: sha512-uLEndKqP5BfBbC/5jTwPxLh9kqPWWgzN/f8w6UwAIirAEqiIVJWWY312X72Eub09g5KF9+Zn7+hT7sDxmhRuKA==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
    +    dependencies:
    +      '@babel/core': 7.24.7
    +      '@babel/helper-plugin-utils': 7.24.7
    +      '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.24.7)
    +    dev: true
     
    -  '@babel/plugin-transform-optional-chaining@7.24.5':
    -    resolution: {integrity: sha512-xWCkmwKT+ihmA6l7SSTpk8e4qQl/274iNbSKRRS8mpqFR32ksy36+a+LWY8OXCCEefF8WFlnOHVsaDI2231wBg==}
    +  /@babel/plugin-transform-optional-chaining@7.24.7(@babel/core@7.24.7):
    +    resolution: {integrity: sha512-tK+0N9yd4j+x/4hxF3F0e0fu/VdcxU18y5SevtyM/PCFlQvXbR0Zmlo2eBrKtVipGNFzpq56o8WsIIKcJFUCRQ==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
    +    dependencies:
    +      '@babel/core': 7.24.7
    +      '@babel/helper-plugin-utils': 7.24.7
    +      '@babel/helper-skip-transparent-expression-wrappers': 7.24.7
    +      '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.24.7)
    +    transitivePeerDependencies:
    +      - supports-color
    +    dev: true
     
    -  '@babel/plugin-transform-parameters@7.24.5':
    -    resolution: {integrity: sha512-9Co00MqZ2aoky+4j2jhofErthm6QVLKbpQrvz20c3CH9KQCLHyNB+t2ya4/UrRpQGR+Wrwjg9foopoeSdnHOkA==}
    +  /@babel/plugin-transform-parameters@7.24.7(@babel/core@7.24.7):
    +    resolution: {integrity: sha512-yGWW5Rr+sQOhK0Ot8hjDJuxU3XLRQGflvT4lhlSY0DFvdb3TwKaY26CJzHtYllU0vT9j58hc37ndFPsqT1SrzA==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
    +    dependencies:
    +      '@babel/core': 7.24.7
    +      '@babel/helper-plugin-utils': 7.24.7
    +    dev: true
     
    -  '@babel/plugin-transform-private-methods@7.24.1':
    -    resolution: {integrity: sha512-tGvisebwBO5em4PaYNqt4fkw56K2VALsAbAakY0FjTYqJp7gfdrgr7YX76Or8/cpik0W6+tj3rZ0uHU9Oil4tw==}
    +  /@babel/plugin-transform-private-methods@7.24.7(@babel/core@7.24.7):
    +    resolution: {integrity: sha512-COTCOkG2hn4JKGEKBADkA8WNb35TGkkRbI5iT845dB+NyqgO8Hn+ajPbSnIQznneJTa3d30scb6iz/DhH8GsJQ==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
    +    dependencies:
    +      '@babel/core': 7.24.7
    +      '@babel/helper-create-class-features-plugin': 7.24.7(@babel/core@7.24.7)
    +      '@babel/helper-plugin-utils': 7.24.7
    +    transitivePeerDependencies:
    +      - supports-color
    +    dev: true
     
    -  '@babel/plugin-transform-private-property-in-object@7.24.5':
    -    resolution: {integrity: sha512-JM4MHZqnWR04jPMujQDTBVRnqxpLLpx2tkn7iPn+Hmsc0Gnb79yvRWOkvqFOx3Z7P7VxiRIR22c4eGSNj87OBQ==}
    +  /@babel/plugin-transform-private-property-in-object@7.24.7(@babel/core@7.24.7):
    +    resolution: {integrity: sha512-9z76mxwnwFxMyxZWEgdgECQglF2Q7cFLm0kMf8pGwt+GSJsY0cONKj/UuO4bOH0w/uAel3ekS4ra5CEAyJRmDA==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
    +    dependencies:
    +      '@babel/core': 7.24.7
    +      '@babel/helper-annotate-as-pure': 7.24.7
    +      '@babel/helper-create-class-features-plugin': 7.24.7(@babel/core@7.24.7)
    +      '@babel/helper-plugin-utils': 7.24.7
    +      '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.24.7)
    +    transitivePeerDependencies:
    +      - supports-color
    +    dev: true
     
    -  '@babel/plugin-transform-property-literals@7.24.1':
    -    resolution: {integrity: sha512-LetvD7CrHmEx0G442gOomRr66d7q8HzzGGr4PMHGr+5YIm6++Yke+jxj246rpvsbyhJwCLxcTn6zW1P1BSenqA==}
    +  /@babel/plugin-transform-property-literals@7.24.7(@babel/core@7.24.7):
    +    resolution: {integrity: sha512-EMi4MLQSHfd2nrCqQEWxFdha2gBCqU4ZcCng4WBGZ5CJL4bBRW0ptdqqDdeirGZcpALazVVNJqRmsO8/+oNCBA==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
    +    dependencies:
    +      '@babel/core': 7.24.7
    +      '@babel/helper-plugin-utils': 7.24.7
    +    dev: true
     
    -  '@babel/plugin-transform-regenerator@7.24.1':
    -    resolution: {integrity: sha512-sJwZBCzIBE4t+5Q4IGLaaun5ExVMRY0lYwos/jNecjMrVCygCdph3IKv0tkP5Fc87e/1+bebAmEAGBfnRD+cnw==}
    +  /@babel/plugin-transform-regenerator@7.24.7(@babel/core@7.24.7):
    +    resolution: {integrity: sha512-lq3fvXPdimDrlg6LWBoqj+r/DEWgONuwjuOuQCSYgRroXDH/IdM1C0IZf59fL5cHLpjEH/O6opIRBbqv7ELnuA==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
    +    dependencies:
    +      '@babel/core': 7.24.7
    +      '@babel/helper-plugin-utils': 7.24.7
    +      regenerator-transform: 0.15.2
    +    dev: true
     
    -  '@babel/plugin-transform-reserved-words@7.24.1':
    -    resolution: {integrity: sha512-JAclqStUfIwKN15HrsQADFgeZt+wexNQ0uLhuqvqAUFoqPMjEcFCYZBhq0LUdz6dZK/mD+rErhW71fbx8RYElg==}
    +  /@babel/plugin-transform-reserved-words@7.24.7(@babel/core@7.24.7):
    +    resolution: {integrity: sha512-0DUq0pHcPKbjFZCfTss/pGkYMfy3vFWydkUBd9r0GHpIyfs2eCDENvqadMycRS9wZCXR41wucAfJHJmwA0UmoQ==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
    +    dependencies:
    +      '@babel/core': 7.24.7
    +      '@babel/helper-plugin-utils': 7.24.7
    +    dev: true
     
    -  '@babel/plugin-transform-shorthand-properties@7.24.1':
    -    resolution: {integrity: sha512-LyjVB1nsJ6gTTUKRjRWx9C1s9hE7dLfP/knKdrfeH9UPtAGjYGgxIbFfx7xyLIEWs7Xe1Gnf8EWiUqfjLhInZA==}
    +  /@babel/plugin-transform-shorthand-properties@7.24.7(@babel/core@7.24.7):
    +    resolution: {integrity: sha512-KsDsevZMDsigzbA09+vacnLpmPH4aWjcZjXdyFKGzpplxhbeB4wYtury3vglQkg6KM/xEPKt73eCjPPf1PgXBA==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
    +    dependencies:
    +      '@babel/core': 7.24.7
    +      '@babel/helper-plugin-utils': 7.24.7
    +    dev: true
     
    -  '@babel/plugin-transform-spread@7.24.1':
    -    resolution: {integrity: sha512-KjmcIM+fxgY+KxPVbjelJC6hrH1CgtPmTvdXAfn3/a9CnWGSTY7nH4zm5+cjmWJybdcPSsD0++QssDsjcpe47g==}
    +  /@babel/plugin-transform-spread@7.24.7(@babel/core@7.24.7):
    +    resolution: {integrity: sha512-x96oO0I09dgMDxJaANcRyD4ellXFLLiWhuwDxKZX5g2rWP1bTPkBSwCYv96VDXVT1bD9aPj8tppr5ITIh8hBng==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
    +    dependencies:
    +      '@babel/core': 7.24.7
    +      '@babel/helper-plugin-utils': 7.24.7
    +      '@babel/helper-skip-transparent-expression-wrappers': 7.24.7
    +    transitivePeerDependencies:
    +      - supports-color
    +    dev: true
     
    -  '@babel/plugin-transform-sticky-regex@7.24.1':
    -    resolution: {integrity: sha512-9v0f1bRXgPVcPrngOQvLXeGNNVLc8UjMVfebo9ka0WF3/7+aVUHmaJVT3sa0XCzEFioPfPHZiOcYG9qOsH63cw==}
    +  /@babel/plugin-transform-sticky-regex@7.24.7(@babel/core@7.24.7):
    +    resolution: {integrity: sha512-kHPSIJc9v24zEml5geKg9Mjx5ULpfncj0wRpYtxbvKyTtHCYDkVE3aHQ03FrpEo4gEe2vrJJS1Y9CJTaThA52g==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
    +    dependencies:
    +      '@babel/core': 7.24.7
    +      '@babel/helper-plugin-utils': 7.24.7
    +    dev: true
     
    -  '@babel/plugin-transform-template-literals@7.24.1':
    -    resolution: {integrity: sha512-WRkhROsNzriarqECASCNu/nojeXCDTE/F2HmRgOzi7NGvyfYGq1NEjKBK3ckLfRgGc6/lPAqP0vDOSw3YtG34g==}
    +  /@babel/plugin-transform-template-literals@7.24.7(@babel/core@7.24.7):
    +    resolution: {integrity: sha512-AfDTQmClklHCOLxtGoP7HkeMw56k1/bTQjwsfhL6pppo/M4TOBSq+jjBUBLmV/4oeFg4GWMavIl44ZeCtmmZTw==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
    +    dependencies:
    +      '@babel/core': 7.24.7
    +      '@babel/helper-plugin-utils': 7.24.7
    +    dev: true
     
    -  '@babel/plugin-transform-typeof-symbol@7.24.5':
    -    resolution: {integrity: sha512-UTGnhYVZtTAjdwOTzT+sCyXmTn8AhaxOS/MjG9REclZ6ULHWF9KoCZur0HSGU7hk8PdBFKKbYe6+gqdXWz84Jg==}
    +  /@babel/plugin-transform-typeof-symbol@7.24.7(@babel/core@7.24.7):
    +    resolution: {integrity: sha512-VtR8hDy7YLB7+Pet9IarXjg/zgCMSF+1mNS/EQEiEaUPoFXCVsHG64SIxcaaI2zJgRiv+YmgaQESUfWAdbjzgg==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
    +    dependencies:
    +      '@babel/core': 7.24.7
    +      '@babel/helper-plugin-utils': 7.24.7
    +    dev: true
     
    -  '@babel/plugin-transform-typescript@7.24.4':
    -    resolution: {integrity: sha512-79t3CQ8+oBGk/80SQ8MN3Bs3obf83zJ0YZjDmDaEZN8MqhMI760apl5z6a20kFeMXBwJX99VpKT8CKxEBp5H1g==}
    +  /@babel/plugin-transform-typescript@7.24.7(@babel/core@7.24.7):
    +    resolution: {integrity: sha512-iLD3UNkgx2n/HrjBesVbYX6j0yqn/sJktvbtKKgcaLIQ4bTTQ8obAypc1VpyHPD2y4Phh9zHOaAt8e/L14wCpw==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
    +    dependencies:
    +      '@babel/core': 7.24.7
    +      '@babel/helper-annotate-as-pure': 7.24.7
    +      '@babel/helper-create-class-features-plugin': 7.24.7(@babel/core@7.24.7)
    +      '@babel/helper-plugin-utils': 7.24.7
    +      '@babel/plugin-syntax-typescript': 7.24.7(@babel/core@7.24.7)
    +    transitivePeerDependencies:
    +      - supports-color
    +    dev: true
     
    -  '@babel/plugin-transform-unicode-escapes@7.24.1':
    -    resolution: {integrity: sha512-RlkVIcWT4TLI96zM660S877E7beKlQw7Ig+wqkKBiWfj0zH5Q4h50q6er4wzZKRNSYpfo6ILJ+hrJAGSX2qcNw==}
    +  /@babel/plugin-transform-unicode-escapes@7.24.7(@babel/core@7.24.7):
    +    resolution: {integrity: sha512-U3ap1gm5+4edc2Q/P+9VrBNhGkfnf+8ZqppY71Bo/pzZmXhhLdqgaUl6cuB07O1+AQJtCLfaOmswiNbSQ9ivhw==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
    +    dependencies:
    +      '@babel/core': 7.24.7
    +      '@babel/helper-plugin-utils': 7.24.7
    +    dev: true
     
    -  '@babel/plugin-transform-unicode-property-regex@7.24.1':
    -    resolution: {integrity: sha512-Ss4VvlfYV5huWApFsF8/Sq0oXnGO+jB+rijFEFugTd3cwSObUSnUi88djgR5528Csl0uKlrI331kRqe56Ov2Ng==}
    +  /@babel/plugin-transform-unicode-property-regex@7.24.7(@babel/core@7.24.7):
    +    resolution: {integrity: sha512-uH2O4OV5M9FZYQrwc7NdVmMxQJOCCzFeYudlZSzUAHRFeOujQefa92E74TQDVskNHCzOXoigEuoyzHDhaEaK5w==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
    +    dependencies:
    +      '@babel/core': 7.24.7
    +      '@babel/helper-create-regexp-features-plugin': 7.24.7(@babel/core@7.24.7)
    +      '@babel/helper-plugin-utils': 7.24.7
    +    dev: true
     
    -  '@babel/plugin-transform-unicode-regex@7.24.1':
    -    resolution: {integrity: sha512-2A/94wgZgxfTsiLaQ2E36XAOdcZmGAaEEgVmxQWwZXWkGhvoHbaqXcKnU8zny4ycpu3vNqg0L/PcCiYtHtA13g==}
    +  /@babel/plugin-transform-unicode-regex@7.24.7(@babel/core@7.24.7):
    +    resolution: {integrity: sha512-hlQ96MBZSAXUq7ltkjtu3FJCCSMx/j629ns3hA3pXnBXjanNP0LHi+JpPeA81zaWgVK1VGH95Xuy7u0RyQ8kMg==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
    +    dependencies:
    +      '@babel/core': 7.24.7
    +      '@babel/helper-create-regexp-features-plugin': 7.24.7(@babel/core@7.24.7)
    +      '@babel/helper-plugin-utils': 7.24.7
    +    dev: true
     
    -  '@babel/plugin-transform-unicode-sets-regex@7.24.1':
    -    resolution: {integrity: sha512-fqj4WuzzS+ukpgerpAoOnMfQXwUHFxXUZUE84oL2Kao2N8uSlvcpnAidKASgsNgzZHBsHWvcm8s9FPWUhAb8fA==}
    +  /@babel/plugin-transform-unicode-sets-regex@7.24.7(@babel/core@7.24.7):
    +    resolution: {integrity: sha512-2G8aAvF4wy1w/AGZkemprdGMRg5o6zPNhbHVImRz3lss55TYCBd6xStN19rt8XJHq20sqV0JbyWjOWwQRwV/wg==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0
    +    dependencies:
    +      '@babel/core': 7.24.7
    +      '@babel/helper-create-regexp-features-plugin': 7.24.7(@babel/core@7.24.7)
    +      '@babel/helper-plugin-utils': 7.24.7
    +    dev: true
     
    -  '@babel/preset-env@7.24.5':
    -    resolution: {integrity: sha512-UGK2ifKtcC8i5AI4cH+sbLLuLc2ktYSFJgBAXorKAsHUZmrQ1q6aQ6i3BvU24wWs2AAKqQB6kq3N9V9Gw1HiMQ==}
    +  /@babel/preset-env@7.24.7(@babel/core@7.24.7):
    +    resolution: {integrity: sha512-1YZNsc+y6cTvWlDHidMBsQZrZfEFjRIo/BZCT906PMdzOyXtSLTgqGdrpcuTDCXyd11Am5uQULtDIcCfnTc8fQ==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
    +    dependencies:
    +      '@babel/compat-data': 7.24.7
    +      '@babel/core': 7.24.7
    +      '@babel/helper-compilation-targets': 7.24.7
    +      '@babel/helper-plugin-utils': 7.24.7
    +      '@babel/helper-validator-option': 7.24.7
    +      '@babel/plugin-bugfix-firefox-class-in-computed-class-key': 7.24.7(@babel/core@7.24.7)
    +      '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression': 7.24.7(@babel/core@7.24.7)
    +      '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.24.7(@babel/core@7.24.7)
    +      '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly': 7.24.7(@babel/core@7.24.7)
    +      '@babel/plugin-proposal-private-property-in-object': 7.21.0-placeholder-for-preset-env.2(@babel/core@7.24.7)
    +      '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.24.7)
    +      '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.24.7)
    +      '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.24.7)
    +      '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.24.7)
    +      '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.24.7)
    +      '@babel/plugin-syntax-import-assertions': 7.24.7(@babel/core@7.24.7)
    +      '@babel/plugin-syntax-import-attributes': 7.24.7(@babel/core@7.24.7)
    +      '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.24.7)
    +      '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.24.7)
    +      '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.24.7)
    +      '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.24.7)
    +      '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.24.7)
    +      '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.24.7)
    +      '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.24.7)
    +      '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.24.7)
    +      '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.24.7)
    +      '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.24.7)
    +      '@babel/plugin-syntax-unicode-sets-regex': 7.18.6(@babel/core@7.24.7)
    +      '@babel/plugin-transform-arrow-functions': 7.24.7(@babel/core@7.24.7)
    +      '@babel/plugin-transform-async-generator-functions': 7.24.7(@babel/core@7.24.7)
    +      '@babel/plugin-transform-async-to-generator': 7.24.7(@babel/core@7.24.7)
    +      '@babel/plugin-transform-block-scoped-functions': 7.24.7(@babel/core@7.24.7)
    +      '@babel/plugin-transform-block-scoping': 7.24.7(@babel/core@7.24.7)
    +      '@babel/plugin-transform-class-properties': 7.24.7(@babel/core@7.24.7)
    +      '@babel/plugin-transform-class-static-block': 7.24.7(@babel/core@7.24.7)
    +      '@babel/plugin-transform-classes': 7.24.7(@babel/core@7.24.7)
    +      '@babel/plugin-transform-computed-properties': 7.24.7(@babel/core@7.24.7)
    +      '@babel/plugin-transform-destructuring': 7.24.7(@babel/core@7.24.7)
    +      '@babel/plugin-transform-dotall-regex': 7.24.7(@babel/core@7.24.7)
    +      '@babel/plugin-transform-duplicate-keys': 7.24.7(@babel/core@7.24.7)
    +      '@babel/plugin-transform-dynamic-import': 7.24.7(@babel/core@7.24.7)
    +      '@babel/plugin-transform-exponentiation-operator': 7.24.7(@babel/core@7.24.7)
    +      '@babel/plugin-transform-export-namespace-from': 7.24.7(@babel/core@7.24.7)
    +      '@babel/plugin-transform-for-of': 7.24.7(@babel/core@7.24.7)
    +      '@babel/plugin-transform-function-name': 7.24.7(@babel/core@7.24.7)
    +      '@babel/plugin-transform-json-strings': 7.24.7(@babel/core@7.24.7)
    +      '@babel/plugin-transform-literals': 7.24.7(@babel/core@7.24.7)
    +      '@babel/plugin-transform-logical-assignment-operators': 7.24.7(@babel/core@7.24.7)
    +      '@babel/plugin-transform-member-expression-literals': 7.24.7(@babel/core@7.24.7)
    +      '@babel/plugin-transform-modules-amd': 7.24.7(@babel/core@7.24.7)
    +      '@babel/plugin-transform-modules-commonjs': 7.24.7(@babel/core@7.24.7)
    +      '@babel/plugin-transform-modules-systemjs': 7.24.7(@babel/core@7.24.7)
    +      '@babel/plugin-transform-modules-umd': 7.24.7(@babel/core@7.24.7)
    +      '@babel/plugin-transform-named-capturing-groups-regex': 7.24.7(@babel/core@7.24.7)
    +      '@babel/plugin-transform-new-target': 7.24.7(@babel/core@7.24.7)
    +      '@babel/plugin-transform-nullish-coalescing-operator': 7.24.7(@babel/core@7.24.7)
    +      '@babel/plugin-transform-numeric-separator': 7.24.7(@babel/core@7.24.7)
    +      '@babel/plugin-transform-object-rest-spread': 7.24.7(@babel/core@7.24.7)
    +      '@babel/plugin-transform-object-super': 7.24.7(@babel/core@7.24.7)
    +      '@babel/plugin-transform-optional-catch-binding': 7.24.7(@babel/core@7.24.7)
    +      '@babel/plugin-transform-optional-chaining': 7.24.7(@babel/core@7.24.7)
    +      '@babel/plugin-transform-parameters': 7.24.7(@babel/core@7.24.7)
    +      '@babel/plugin-transform-private-methods': 7.24.7(@babel/core@7.24.7)
    +      '@babel/plugin-transform-private-property-in-object': 7.24.7(@babel/core@7.24.7)
    +      '@babel/plugin-transform-property-literals': 7.24.7(@babel/core@7.24.7)
    +      '@babel/plugin-transform-regenerator': 7.24.7(@babel/core@7.24.7)
    +      '@babel/plugin-transform-reserved-words': 7.24.7(@babel/core@7.24.7)
    +      '@babel/plugin-transform-shorthand-properties': 7.24.7(@babel/core@7.24.7)
    +      '@babel/plugin-transform-spread': 7.24.7(@babel/core@7.24.7)
    +      '@babel/plugin-transform-sticky-regex': 7.24.7(@babel/core@7.24.7)
    +      '@babel/plugin-transform-template-literals': 7.24.7(@babel/core@7.24.7)
    +      '@babel/plugin-transform-typeof-symbol': 7.24.7(@babel/core@7.24.7)
    +      '@babel/plugin-transform-unicode-escapes': 7.24.7(@babel/core@7.24.7)
    +      '@babel/plugin-transform-unicode-property-regex': 7.24.7(@babel/core@7.24.7)
    +      '@babel/plugin-transform-unicode-regex': 7.24.7(@babel/core@7.24.7)
    +      '@babel/plugin-transform-unicode-sets-regex': 7.24.7(@babel/core@7.24.7)
    +      '@babel/preset-modules': 0.1.6-no-external-plugins(@babel/core@7.24.7)
    +      babel-plugin-polyfill-corejs2: 0.4.11(@babel/core@7.24.7)
    +      babel-plugin-polyfill-corejs3: 0.10.4(@babel/core@7.24.7)
    +      babel-plugin-polyfill-regenerator: 0.6.2(@babel/core@7.24.7)
    +      core-js-compat: 3.37.1
    +      semver: 6.3.1
    +    transitivePeerDependencies:
    +      - supports-color
    +    dev: true
     
    -  '@babel/preset-modules@0.1.6-no-external-plugins':
    +  /@babel/preset-modules@0.1.6-no-external-plugins(@babel/core@7.24.7):
         resolution: {integrity: sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA==}
         peerDependencies:
           '@babel/core': ^7.0.0-0 || ^8.0.0-0 <8.0.0
    +    dependencies:
    +      '@babel/core': 7.24.7
    +      '@babel/helper-plugin-utils': 7.24.7
    +      '@babel/types': 7.24.7
    +      esutils: 2.0.3
    +    dev: true
     
    -  '@babel/preset-typescript@7.24.1':
    -    resolution: {integrity: sha512-1DBaMmRDpuYQBPWD8Pf/WEwCrtgRHxsZnP4mIy9G/X+hFfbI47Q2G4t1Paakld84+qsk2fSsUPMKg71jkoOOaQ==}
    +  /@babel/preset-typescript@7.24.7(@babel/core@7.24.7):
    +    resolution: {integrity: sha512-SyXRe3OdWwIwalxDg5UtJnJQO+YPcTfwiIY2B0Xlddh9o7jpWLvv8X1RthIeDOxQ+O1ML5BLPCONToObyVQVuQ==}
         engines: {node: '>=6.9.0'}
         peerDependencies:
           '@babel/core': ^7.0.0-0
    +    dependencies:
    +      '@babel/core': 7.24.7
    +      '@babel/helper-plugin-utils': 7.24.7
    +      '@babel/helper-validator-option': 7.24.7
    +      '@babel/plugin-syntax-jsx': 7.24.7(@babel/core@7.24.7)
    +      '@babel/plugin-transform-modules-commonjs': 7.24.7(@babel/core@7.24.7)
    +      '@babel/plugin-transform-typescript': 7.24.7(@babel/core@7.24.7)
    +    transitivePeerDependencies:
    +      - supports-color
    +    dev: true
     
    -  '@babel/regjsgen@0.8.0':
    +  /@babel/regjsgen@0.8.0:
         resolution: {integrity: sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA==}
    +    dev: true
     
    -  '@babel/runtime@7.24.0':
    -    resolution: {integrity: sha512-Chk32uHMg6TnQdvw2e9IlqPpFX/6NLuK0Ys2PqLb7/gL5uFn9mXvK715FGLlOLQrcO4qIkNHkvPGktzzXexsFw==}
    -    engines: {node: '>=6.9.0'}
    -
    -  '@babel/runtime@7.24.4':
    -    resolution: {integrity: sha512-dkxf7+hn8mFBwKjs9bvBlArzLVxVbS8usaPUDd5p2a9JCL9tB8OaOVN1isD4+Xyk4ns89/xeOmbQvgdK7IIVdA==}
    -    engines: {node: '>=6.9.0'}
    -
    -  '@babel/runtime@7.24.5':
    -    resolution: {integrity: sha512-Nms86NXrsaeU9vbBJKni6gXiEXZ4CVpYVzEjDH9Sb8vmZ3UljyA1GSOJl/6LGPO8EHLuSF9H+IxNXHPX8QHJ4g==}
    +  /@babel/runtime@7.24.7:
    +    resolution: {integrity: sha512-UwgBRMjJP+xv857DCngvqXI3Iq6J4v0wXmwc6sapg+zyhbwmQX67LUEFrkK5tbyJ30jGuG3ZvWpBiB9LCy1kWw==}
         engines: {node: '>=6.9.0'}
    +    dependencies:
    +      regenerator-runtime: 0.14.1
    +    dev: true
     
    -  '@babel/template@7.24.0':
    -    resolution: {integrity: sha512-Bkf2q8lMB0AFpX0NFEqSbx1OkTHf0f+0j82mkw+ZpzBnkk7e9Ql0891vlfgi+kHwOk8tQjiQHpqh4LaSa0fKEA==}
    +  /@babel/template@7.24.7:
    +    resolution: {integrity: sha512-jYqfPrU9JTF0PmPy1tLYHW4Mp4KlgxJD9l2nP9fD6yT/ICi554DmrWBAEYpIelzjHf1msDP3PxJIRt/nFNfBig==}
         engines: {node: '>=6.9.0'}
    +    dependencies:
    +      '@babel/code-frame': 7.24.7
    +      '@babel/parser': 7.24.7
    +      '@babel/types': 7.24.7
    +    dev: true
     
    -  '@babel/traverse@7.24.5':
    -    resolution: {integrity: sha512-7aaBLeDQ4zYcUFDUD41lJc1fG8+5IU9DaNSJAgal866FGvmD5EbWQgnEC6kO1gGLsX0esNkfnJSndbTXA3r7UA==}
    +  /@babel/traverse@7.24.7:
    +    resolution: {integrity: sha512-yb65Ed5S/QAcewNPh0nZczy9JdYXkkAbIsEo+P7BE7yO3txAY30Y/oPa3QkQ5It3xVG2kpKMg9MsdxZaO31uKA==}
         engines: {node: '>=6.9.0'}
    +    dependencies:
    +      '@babel/code-frame': 7.24.7
    +      '@babel/generator': 7.24.7
    +      '@babel/helper-environment-visitor': 7.24.7
    +      '@babel/helper-function-name': 7.24.7
    +      '@babel/helper-hoist-variables': 7.24.7
    +      '@babel/helper-split-export-declaration': 7.24.7
    +      '@babel/parser': 7.24.7
    +      '@babel/types': 7.24.7
    +      debug: 4.3.5(supports-color@8.1.1)
    +      globals: 11.12.0
    +    transitivePeerDependencies:
    +      - supports-color
    +    dev: true
     
    -  '@babel/types@7.24.5':
    -    resolution: {integrity: sha512-6mQNsaLeXTw0nxYUYu+NSa4Hx4BlF1x1x8/PMFbiR+GBSr+2DkECc69b8hgy2frEodNcvPffeH8YfWd3LI6jhQ==}
    +  /@babel/types@7.24.7:
    +    resolution: {integrity: sha512-XEFXSlxiG5td2EJRe8vOmRbaXVgfcBlszKujvVmWIK/UpywWljQCfzAv3RQCGujWQ1RD4YYWEAqDXfuJiy8f5Q==}
         engines: {node: '>=6.9.0'}
    +    dependencies:
    +      '@babel/helper-string-parser': 7.24.7
    +      '@babel/helper-validator-identifier': 7.24.7
    +      to-fast-properties: 2.0.0
     
    -  '@bcherny/json-schema-ref-parser@10.0.5-fork':
    +  /@bcherny/json-schema-ref-parser@10.0.5-fork:
         resolution: {integrity: sha512-E/jKbPoca1tfUPj3iSbitDZTGnq6FUFjkH6L8U2oDwSuwK1WhnnVtCG7oFOTg/DDnyoXbQYUiUiGOibHqaGVnw==}
         engines: {node: '>= 16'}
    +    dependencies:
    +      '@jsdevtools/ono': 7.1.3
    +      '@types/json-schema': 7.0.15
    +      call-me-maybe: 1.0.2
    +      js-yaml: 4.1.0
    +    dev: true
     
    -  '@bcoe/v8-coverage@0.2.3':
    +  /@bcoe/v8-coverage@0.2.3:
         resolution: {integrity: sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==}
    +    dev: true
     
    -  '@braintree/sanitize-url@7.0.1':
    -    resolution: {integrity: sha512-URg8UM6lfC9ZYqFipItRSxYJdgpU5d2Z4KnjsJ+rj6tgAmGme7E+PQNCiud8g0HDaZKMovu2qjfa0f5Ge0Vlsg==}
    +  /@braintree/sanitize-url@7.0.2:
    +    resolution: {integrity: sha512-NVf/1YycDMs6+FxS0Tb/W8MjJRDQdXF+tBfDtZ5UZeiRUkTmwKc4vmYCKZTyymfJk1gnMsauvZSX/HiV9jOABw==}
    +    dev: false
     
    -  '@chevrotain/cst-dts-gen@11.0.3':
    +  /@chevrotain/cst-dts-gen@11.0.3:
         resolution: {integrity: sha512-BvIKpRLeS/8UbfxXxgC33xOumsacaeCKAjAeLyOn7Pcp95HiRbrpl14S+9vaZLolnbssPIUuiUd8IvgkRyt6NQ==}
    +    dependencies:
    +      '@chevrotain/gast': 11.0.3
    +      '@chevrotain/types': 11.0.3
    +      lodash-es: 4.17.21
     
    -  '@chevrotain/gast@11.0.3':
    +  /@chevrotain/gast@11.0.3:
         resolution: {integrity: sha512-+qNfcoNk70PyS/uxmj3li5NiECO+2YKZZQMbmjTqRI3Qchu8Hig/Q9vgkHpI3alNjr7M+a2St5pw5w5F6NL5/Q==}
    +    dependencies:
    +      '@chevrotain/types': 11.0.3
    +      lodash-es: 4.17.21
     
    -  '@chevrotain/regexp-to-ast@11.0.3':
    +  /@chevrotain/regexp-to-ast@11.0.3:
         resolution: {integrity: sha512-1fMHaBZxLFvWI067AVbGJav1eRY7N8DDvYCTwGBiE/ytKBgP8azTdgyrKyWZ9Mfh09eHWb5PgTSO8wi7U824RA==}
     
    -  '@chevrotain/types@11.0.3':
    +  /@chevrotain/types@11.0.3:
         resolution: {integrity: sha512-gsiM3G8b58kZC2HaWR50gu6Y1440cHiJ+i3JUvcp/35JchYejb2+5MVeJK0iKThYpAa/P2PYFV4hoi44HD+aHQ==}
     
    -  '@chevrotain/utils@11.0.3':
    +  /@chevrotain/utils@11.0.3:
         resolution: {integrity: sha512-YslZMgtJUyuMbZ+aKvfF3x1f5liK4mWNxghFRv7jqRR9C3R3fAOGTTKvxXDa2Y1s9zSbcpuO0cAxDYsc9SrXoQ==}
     
    -  '@colors/colors@1.5.0':
    +  /@colors/colors@1.5.0:
         resolution: {integrity: sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==}
         engines: {node: '>=0.1.90'}
    +    requiresBuild: true
    +    dev: true
    +    optional: true
     
    -  '@cspell/cspell-bundled-dicts@8.7.0':
    -    resolution: {integrity: sha512-B5YQI7Dd9m0JHTmHgs7PiyP4BWXzl8ixpK+HGOwhxzh7GyfFt1Eo/gxMxBDX/9SaewEzeb2OjRpRKEFtEsto3A==}
    +  /@cspell/cspell-bundled-dicts@8.8.4:
    +    resolution: {integrity: sha512-k9ZMO2kayQFXB3B45b1xXze3MceAMNy9U+D7NTnWB1i3S0y8LhN53U9JWWgqHGPQaHaLHzizL7/w1aGHTA149Q==}
         engines: {node: '>=18'}
    +    dependencies:
    +      '@cspell/dict-ada': 4.0.2
    +      '@cspell/dict-aws': 4.0.2
    +      '@cspell/dict-bash': 4.1.3
    +      '@cspell/dict-companies': 3.1.2
    +      '@cspell/dict-cpp': 5.1.9
    +      '@cspell/dict-cryptocurrencies': 5.0.0
    +      '@cspell/dict-csharp': 4.0.2
    +      '@cspell/dict-css': 4.0.12
    +      '@cspell/dict-dart': 2.0.3
    +      '@cspell/dict-django': 4.1.0
    +      '@cspell/dict-docker': 1.1.7
    +      '@cspell/dict-dotnet': 5.0.2
    +      '@cspell/dict-elixir': 4.0.3
    +      '@cspell/dict-en-common-misspellings': 2.0.1
    +      '@cspell/dict-en-gb': 1.1.33
    +      '@cspell/dict-en_us': 4.3.21
    +      '@cspell/dict-filetypes': 3.0.4
    +      '@cspell/dict-fonts': 4.0.0
    +      '@cspell/dict-fsharp': 1.0.1
    +      '@cspell/dict-fullstack': 3.1.8
    +      '@cspell/dict-gaming-terms': 1.0.5
    +      '@cspell/dict-git': 3.0.0
    +      '@cspell/dict-golang': 6.0.9
    +      '@cspell/dict-google': 1.0.1
    +      '@cspell/dict-haskell': 4.0.1
    +      '@cspell/dict-html': 4.0.5
    +      '@cspell/dict-html-symbol-entities': 4.0.0
    +      '@cspell/dict-java': 5.0.7
    +      '@cspell/dict-julia': 1.0.1
    +      '@cspell/dict-k8s': 1.0.5
    +      '@cspell/dict-latex': 4.0.0
    +      '@cspell/dict-lorem-ipsum': 4.0.0
    +      '@cspell/dict-lua': 4.0.3
    +      '@cspell/dict-makefile': 1.0.0
    +      '@cspell/dict-monkeyc': 1.0.6
    +      '@cspell/dict-node': 5.0.1
    +      '@cspell/dict-npm': 5.0.16
    +      '@cspell/dict-php': 4.0.8
    +      '@cspell/dict-powershell': 5.0.4
    +      '@cspell/dict-public-licenses': 2.0.7
    +      '@cspell/dict-python': 4.2.1
    +      '@cspell/dict-r': 2.0.1
    +      '@cspell/dict-ruby': 5.0.2
    +      '@cspell/dict-rust': 4.0.4
    +      '@cspell/dict-scala': 5.0.2
    +      '@cspell/dict-software-terms': 3.4.5
    +      '@cspell/dict-sql': 2.1.3
    +      '@cspell/dict-svelte': 1.0.2
    +      '@cspell/dict-swift': 2.0.1
    +      '@cspell/dict-terraform': 1.0.0
    +      '@cspell/dict-typescript': 3.1.5
    +      '@cspell/dict-vue': 3.0.0
    +    dev: true
     
    -  '@cspell/cspell-json-reporter@8.7.0':
    -    resolution: {integrity: sha512-LTQPEvXvCqnc+ok9WXpSISZyt4/nGse9fVEM430g0BpGzKpt3RMx49B8uasvvnanzCuikaW9+wFLmwgvraERhA==}
    +  /@cspell/cspell-json-reporter@8.8.4:
    +    resolution: {integrity: sha512-ITpOeNyDHD+4B9QmLJx6YYtrB1saRsrCLluZ34YaICemNLuumVRP1vSjcdoBtefvGugCOn5nPK7igw0r/vdAvA==}
         engines: {node: '>=18'}
    +    dependencies:
    +      '@cspell/cspell-types': 8.8.4
    +    dev: true
     
    -  '@cspell/cspell-pipe@8.7.0':
    -    resolution: {integrity: sha512-ePqddIQ4arqPQgOkC146SkZxvZb9/jL7xIM5Igy2n3tiWTC5ijrX/mbHpPZ1VGcFck+1M0cJUuyhuJk+vMj3rg==}
    +  /@cspell/cspell-pipe@8.8.4:
    +    resolution: {integrity: sha512-Uis9iIEcv1zOogXiDVSegm9nzo5NRmsRDsW8CteLRg6PhyZ0nnCY1PZIUy3SbGF0vIcb/M+XsdLSh2wOPqTXww==}
         engines: {node: '>=18'}
    +    dev: true
     
    -  '@cspell/cspell-resolver@8.7.0':
    -    resolution: {integrity: sha512-grZwDFYqcBYQDaz4AkUtdyqc4UUH2J3/7yWVkBbYDPE+FQHa9ofFXzXxyjs56GJlPfi9ULpe5/Wz6uVLg8rQkQ==}
    +  /@cspell/cspell-resolver@8.8.4:
    +    resolution: {integrity: sha512-eZVw31nSeh6xKl7TzzkZVMTX/mgwhUw40/q1Sqo7CTPurIBg66oelEqKRclX898jzd2/qSK+ZFwBDxvV7QH38A==}
         engines: {node: '>=18'}
    +    dependencies:
    +      global-directory: 4.0.1
    +    dev: true
     
    -  '@cspell/cspell-service-bus@8.7.0':
    -    resolution: {integrity: sha512-KW48iu0nTDzbedixc7iB7K7mlAZQ7QeMLuM/akxigOlvtOdVJrRa9Pfn44lwejts1ANb/IXil3GH8YylkVi76Q==}
    +  /@cspell/cspell-service-bus@8.8.4:
    +    resolution: {integrity: sha512-KtwJ38uPLrm2Q8osmMIAl2NToA/CMyZCxck4msQJnskdo30IPSdA1Rh0w6zXinmh1eVe0zNEVCeJ2+x23HqW+g==}
         engines: {node: '>=18'}
    +    dev: true
     
    -  '@cspell/cspell-types@8.7.0':
    -    resolution: {integrity: sha512-Rb+LCE5I9JEb/LE8nSViVSF8z1CWv/z4mPBIG37VMa7aUx2gAQa6gJekNfpY9YZiMzx4Tv3gDujN80ytks4pGA==}
    +  /@cspell/cspell-types@8.8.4:
    +    resolution: {integrity: sha512-ya9Jl4+lghx2eUuZNY6pcbbrnResgEAomvglhdbEGqy+B5MPEqY5Jt45APEmGqHzTNks7oFFaiTIbXYJAFBR7A==}
         engines: {node: '>=18'}
    +    dev: true
     
    -  '@cspell/dict-ada@4.0.2':
    +  /@cspell/dict-ada@4.0.2:
         resolution: {integrity: sha512-0kENOWQeHjUlfyId/aCM/mKXtkEgV0Zu2RhUXCBr4hHo9F9vph+Uu8Ww2b0i5a4ZixoIkudGA+eJvyxrG1jUpA==}
    +    dev: true
     
    -  '@cspell/dict-aws@4.0.1':
    -    resolution: {integrity: sha512-NXO+kTPQGqaaJKa4kO92NAXoqS+i99dQzf3/L1BxxWVSBS3/k1f3uhmqIh7Crb/n22W793lOm0D9x952BFga3Q==}
    +  /@cspell/dict-aws@4.0.2:
    +    resolution: {integrity: sha512-aNGHWSV7dRLTIn8WJemzLoMF62qOaiUQlgnsCwH5fRCD/00gsWCwg106pnbkmK4AyabyxzneOV4dfecDJWkSxw==}
    +    dev: true
     
    -  '@cspell/dict-bash@4.1.3':
    +  /@cspell/dict-bash@4.1.3:
         resolution: {integrity: sha512-tOdI3QVJDbQSwPjUkOiQFhYcu2eedmX/PtEpVWg0aFps/r6AyjUQINtTgpqMYnYuq8O1QUIQqnpx21aovcgZCw==}
    +    dev: true
     
    -  '@cspell/dict-companies@3.0.31':
    -    resolution: {integrity: sha512-hKVpV/lcGKP4/DpEPS8P4osPvFH/YVLJaDn9cBIOH6/HSmL5LbFgJNKpMGaYRbhm2FEX56MKE3yn/MNeNYuesQ==}
    +  /@cspell/dict-companies@3.1.2:
    +    resolution: {integrity: sha512-OwR5i1xbYuJX7FtHQySmTy3iJtPV1rZQ3jFCxFGwrA1xRQ4rtRcDQ+sTXBCIAoJHkXa84f9J3zsngOKmMGyS/w==}
    +    dev: true
     
    -  '@cspell/dict-cpp@5.1.3':
    -    resolution: {integrity: sha512-sqnriXRAInZH9W75C+APBh6dtben9filPqVbIsiRMUXGg+s02ekz0z6LbS7kXeJ5mD2qXoMLBrv13qH2eIwutQ==}
    +  /@cspell/dict-cpp@5.1.9:
    +    resolution: {integrity: sha512-lZmPKn3qfkWQ7tr+yw6JhuhscsyRgRHEOpOd0fhtPt0N154FNsGebGGLW0SOZUuGgW7Nk3lCCwHP85GIemnlqQ==}
    +    dev: true
     
    -  '@cspell/dict-cryptocurrencies@5.0.0':
    +  /@cspell/dict-cryptocurrencies@5.0.0:
         resolution: {integrity: sha512-Z4ARIw5+bvmShL+4ZrhDzGhnc9znaAGHOEMaB/GURdS/jdoreEDY34wdN0NtdLHDO5KO7GduZnZyqGdRoiSmYA==}
    +    dev: true
     
    -  '@cspell/dict-csharp@4.0.2':
    +  /@cspell/dict-csharp@4.0.2:
         resolution: {integrity: sha512-1JMofhLK+4p4KairF75D3A924m5ERMgd1GvzhwK2geuYgd2ZKuGW72gvXpIV7aGf52E3Uu1kDXxxGAiZ5uVG7g==}
    +    dev: true
     
    -  '@cspell/dict-css@4.0.12':
    +  /@cspell/dict-css@4.0.12:
         resolution: {integrity: sha512-vGBgPM92MkHQF5/2jsWcnaahOZ+C6OE/fPvd5ScBP72oFY9tn5GLuomcyO0z8vWCr2e0nUSX1OGimPtcQAlvSw==}
    +    dev: true
     
    -  '@cspell/dict-dart@2.0.3':
    +  /@cspell/dict-dart@2.0.3:
         resolution: {integrity: sha512-cLkwo1KT5CJY5N5RJVHks2genFkNCl/WLfj+0fFjqNR+tk3tBI1LY7ldr9piCtSFSm4x9pO1x6IV3kRUY1lLiw==}
    +    dev: true
     
    -  '@cspell/dict-data-science@1.0.11':
    -    resolution: {integrity: sha512-TaHAZRVe0Zlcc3C23StZqqbzC0NrodRwoSAc8dis+5qLeLLnOCtagYQeROQvDlcDg3X/VVEO9Whh4W/z4PAmYQ==}
    +  /@cspell/dict-data-science@2.0.1:
    +    resolution: {integrity: sha512-xeutkzK0eBe+LFXOFU2kJeAYO6IuFUc1g7iRLr7HeCmlC4rsdGclwGHh61KmttL3+YHQytYStxaRBdGAXWC8Lw==}
    +    dev: true
     
    -  '@cspell/dict-django@4.1.0':
    +  /@cspell/dict-django@4.1.0:
         resolution: {integrity: sha512-bKJ4gPyrf+1c78Z0Oc4trEB9MuhcB+Yg+uTTWsvhY6O2ncFYbB/LbEZfqhfmmuK/XJJixXfI1laF2zicyf+l0w==}
    +    dev: true
     
    -  '@cspell/dict-docker@1.1.7':
    +  /@cspell/dict-docker@1.1.7:
         resolution: {integrity: sha512-XlXHAr822euV36GGsl2J1CkBIVg3fZ6879ZOg5dxTIssuhUOCiV2BuzKZmt6aIFmcdPmR14+9i9Xq+3zuxeX0A==}
    +    dev: true
     
    -  '@cspell/dict-dotnet@5.0.0':
    -    resolution: {integrity: sha512-EOwGd533v47aP5QYV8GlSSKkmM9Eq8P3G/eBzSpH3Nl2+IneDOYOBLEUraHuiCtnOkNsz0xtZHArYhAB2bHWAw==}
    +  /@cspell/dict-dotnet@5.0.2:
    +    resolution: {integrity: sha512-UD/pO2A2zia/YZJ8Kck/F6YyDSpCMq0YvItpd4YbtDVzPREfTZ48FjZsbYi4Jhzwfvc6o8R56JusAE58P+4sNQ==}
    +    dev: true
     
    -  '@cspell/dict-elixir@4.0.3':
    +  /@cspell/dict-elixir@4.0.3:
         resolution: {integrity: sha512-g+uKLWvOp9IEZvrIvBPTr/oaO6619uH/wyqypqvwpmnmpjcfi8+/hqZH8YNKt15oviK8k4CkINIqNhyndG9d9Q==}
    +    dev: true
     
    -  '@cspell/dict-en-common-misspellings@2.0.0':
    -    resolution: {integrity: sha512-NOg8dlv37/YqLkCfBs5OXeJm/Wcfb/CzeOmOZJ2ZXRuxwsNuolb4TREUce0yAXRqMhawahY5TSDRJJBgKjBOdw==}
    +  /@cspell/dict-en-common-misspellings@2.0.1:
    +    resolution: {integrity: sha512-uWaP8UG4uvcPyqaG0FzPKCm5kfmhsiiQ45Fs6b3/AEAqfq7Fj1JW0+S3qRt85FQA9SoU6gUJCz9wkK/Ylh7m5A==}
    +    dev: true
     
    -  '@cspell/dict-en-gb@1.1.33':
    +  /@cspell/dict-en-gb@1.1.33:
         resolution: {integrity: sha512-tKSSUf9BJEV+GJQAYGw5e+ouhEe2ZXE620S7BLKe3ZmpnjlNG9JqlnaBhkIMxKnNFkLY2BP/EARzw31AZnOv4g==}
    +    dev: true
     
    -  '@cspell/dict-en_us@4.3.18':
    -    resolution: {integrity: sha512-D8jGT7Zi3+e8zIpT0NqGKvvzehcvUETFlOA0NxcRStkw7H7mgouHxKFU+u7t3tvCoGNwh2gwjCqZQlK8ZXwQHw==}
    +  /@cspell/dict-en_us@4.3.21:
    +    resolution: {integrity: sha512-Bzoo2aS4Pej/MGIFlATpp0wMt9IzVHrhDjdV7FgkAIXbjrOn67ojbTxCgWs8AuCNVfK8lBYGEvs5+ElH1msF8w==}
    +    dev: true
     
    -  '@cspell/dict-filetypes@3.0.3':
    -    resolution: {integrity: sha512-J9UP+qwwBLfOQ8Qg9tAsKtSY/WWmjj21uj6zXTI9hRLD1eG1uUOLcfVovAmtmVqUWziPSKMr87F6SXI3xmJXgw==}
    +  /@cspell/dict-filetypes@3.0.4:
    +    resolution: {integrity: sha512-IBi8eIVdykoGgIv5wQhOURi5lmCNJq0we6DvqKoPQJHthXbgsuO1qrHSiUVydMiQl/XvcnUWTMeAlVUlUClnVg==}
    +    dev: true
     
    -  '@cspell/dict-fonts@4.0.0':
    +  /@cspell/dict-fonts@4.0.0:
         resolution: {integrity: sha512-t9V4GeN/m517UZn63kZPUYP3OQg5f0OBLSd3Md5CU3eH1IFogSvTzHHnz4Wqqbv8NNRiBZ3HfdY/pqREZ6br3Q==}
    +    dev: true
     
    -  '@cspell/dict-fsharp@1.0.1':
    +  /@cspell/dict-fsharp@1.0.1:
         resolution: {integrity: sha512-23xyPcD+j+NnqOjRHgW3IU7Li912SX9wmeefcY0QxukbAxJ/vAN4rBpjSwwYZeQPAn3fxdfdNZs03fg+UM+4yQ==}
    +    dev: true
     
    -  '@cspell/dict-fullstack@3.1.5':
    -    resolution: {integrity: sha512-6ppvo1dkXUZ3fbYn/wwzERxCa76RtDDl5Afzv2lijLoijGGUw5yYdLBKJnx8PJBGNLh829X352ftE7BElG4leA==}
    +  /@cspell/dict-fullstack@3.1.8:
    +    resolution: {integrity: sha512-YRlZupL7uqMCtEBK0bDP9BrcPnjDhz7m4GBqCc1EYqfXauHbLmDT8ELha7T/E7wsFKniHSjzwDZzhNXo2lusRQ==}
    +    dev: true
     
    -  '@cspell/dict-gaming-terms@1.0.5':
    +  /@cspell/dict-gaming-terms@1.0.5:
         resolution: {integrity: sha512-C3riccZDD3d9caJQQs1+MPfrUrQ+0KHdlj9iUR1QD92FgTOF6UxoBpvHUUZ9YSezslcmpFQK4xQQ5FUGS7uWfw==}
    +    dev: true
     
    -  '@cspell/dict-git@3.0.0':
    +  /@cspell/dict-git@3.0.0:
         resolution: {integrity: sha512-simGS/lIiXbEaqJu9E2VPoYW1OTC2xrwPPXNXFMa2uo/50av56qOuaxDrZ5eH1LidFXwoc8HROCHYeKoNrDLSw==}
    +    dev: true
    +
    +  /@cspell/dict-golang@6.0.9:
    +    resolution: {integrity: sha512-etDt2WQauyEQDA+qPS5QtkYTb2I9l5IfQftAllVoB1aOrT6bxxpHvMEpJ0Hsn/vezxrCqa/BmtUbRxllIxIuSg==}
    +    dev: true
     
    -  '@cspell/dict-golang@6.0.5':
    -    resolution: {integrity: sha512-w4mEqGz4/wV+BBljLxduFNkMrd3rstBNDXmoX5kD4UTzIb4Sy0QybWCtg2iVT+R0KWiRRA56QKOvBsgXiddksA==}
    +  /@cspell/dict-google@1.0.1:
    +    resolution: {integrity: sha512-dQr4M3n95uOhtloNSgB9tYYGXGGEGEykkFyRtfcp5pFuEecYUa0BSgtlGKx9RXVtJtKgR+yFT/a5uQSlt8WjqQ==}
    +    dev: true
     
    -  '@cspell/dict-haskell@4.0.1':
    +  /@cspell/dict-haskell@4.0.1:
         resolution: {integrity: sha512-uRrl65mGrOmwT7NxspB4xKXFUenNC7IikmpRZW8Uzqbqcu7ZRCUfstuVH7T1rmjRgRkjcIjE4PC11luDou4wEQ==}
    +    dev: true
     
    -  '@cspell/dict-html-symbol-entities@4.0.0':
    +  /@cspell/dict-html-symbol-entities@4.0.0:
         resolution: {integrity: sha512-HGRu+48ErJjoweR5IbcixxETRewrBb0uxQBd6xFGcxbEYCX8CnQFTAmKI5xNaIt2PKaZiJH3ijodGSqbKdsxhw==}
    +    dev: true
     
    -  '@cspell/dict-html@4.0.5':
    +  /@cspell/dict-html@4.0.5:
         resolution: {integrity: sha512-p0brEnRybzSSWi8sGbuVEf7jSTDmXPx7XhQUb5bgG6b54uj+Z0Qf0V2n8b/LWwIPJNd1GygaO9l8k3HTCy1h4w==}
    +    dev: true
     
    -  '@cspell/dict-java@5.0.6':
    -    resolution: {integrity: sha512-kdE4AHHHrixyZ5p6zyms1SLoYpaJarPxrz8Tveo6gddszBVVwIUZ+JkQE1bWNLK740GWzIXdkznpUfw1hP9nXw==}
    +  /@cspell/dict-java@5.0.7:
    +    resolution: {integrity: sha512-ejQ9iJXYIq7R09BScU2y5OUGrSqwcD+J5mHFOKbduuQ5s/Eh/duz45KOzykeMLI6KHPVxhBKpUPBWIsfewECpQ==}
    +    dev: true
     
    -  '@cspell/dict-julia@1.0.1':
    +  /@cspell/dict-julia@1.0.1:
         resolution: {integrity: sha512-4JsCLCRhhLMLiaHpmR7zHFjj1qOauzDI5ZzCNQS31TUMfsOo26jAKDfo0jljFAKgw5M2fEG7sKr8IlPpQAYrmQ==}
    +    dev: true
     
    -  '@cspell/dict-k8s@1.0.2':
    -    resolution: {integrity: sha512-tLT7gZpNPnGa+IIFvK9SP1LrSpPpJ94a/DulzAPOb1Q2UBFwdpFd82UWhio0RNShduvKG/WiMZf/wGl98pn+VQ==}
    +  /@cspell/dict-k8s@1.0.5:
    +    resolution: {integrity: sha512-Cj+/ZV4S+MKlwfocSJZqe/2UAd/sY8YtlZjbK25VN1nCnrsKrBjfkX29vclwSj1U9aJg4Z9jw/uMjoaKu9ZrpQ==}
    +    dev: true
     
    -  '@cspell/dict-latex@4.0.0':
    +  /@cspell/dict-latex@4.0.0:
         resolution: {integrity: sha512-LPY4y6D5oI7D3d+5JMJHK/wxYTQa2lJMSNxps2JtuF8hbAnBQb3igoWEjEbIbRRH1XBM0X8dQqemnjQNCiAtxQ==}
    +    dev: true
     
    -  '@cspell/dict-lorem-ipsum@4.0.0':
    +  /@cspell/dict-lorem-ipsum@4.0.0:
         resolution: {integrity: sha512-1l3yjfNvMzZPibW8A7mQU4kTozwVZVw0AvFEdy+NcqtbxH+TvbSkNMqROOFWrkD2PjnKG0+Ea0tHI2Pi6Gchnw==}
    +    dev: true
     
    -  '@cspell/dict-lua@4.0.3':
    +  /@cspell/dict-lua@4.0.3:
         resolution: {integrity: sha512-lDHKjsrrbqPaea13+G9s0rtXjMO06gPXPYRjRYawbNmo4E/e3XFfVzeci3OQDQNDmf2cPOwt9Ef5lu2lDmwfJg==}
    +    dev: true
     
    -  '@cspell/dict-makefile@1.0.0':
    +  /@cspell/dict-makefile@1.0.0:
         resolution: {integrity: sha512-3W9tHPcSbJa6s0bcqWo6VisEDTSN5zOtDbnPabF7rbyjRpNo0uHXHRJQF8gAbFzoTzBBhgkTmrfSiuyQm7vBUQ==}
    +    dev: true
     
    -  '@cspell/dict-monkeyc@1.0.6':
    +  /@cspell/dict-monkeyc@1.0.6:
         resolution: {integrity: sha512-oO8ZDu/FtZ55aq9Mb67HtaCnsLn59xvhO/t2mLLTHAp667hJFxpp7bCtr2zOrR1NELzFXmKln/2lw/PvxMSvrA==}
    +    dev: true
     
    -  '@cspell/dict-node@4.0.3':
    -    resolution: {integrity: sha512-sFlUNI5kOogy49KtPg8SMQYirDGIAoKBO3+cDLIwD4MLdsWy1q0upc7pzGht3mrjuyMiPRUV14Bb0rkVLrxOhg==}
    +  /@cspell/dict-node@5.0.1:
    +    resolution: {integrity: sha512-lax/jGz9h3Dv83v8LHa5G0bf6wm8YVRMzbjJPG/9rp7cAGPtdrga+XANFq+B7bY5+jiSA3zvj10LUFCFjnnCCg==}
    +    dev: true
     
    -  '@cspell/dict-npm@5.0.15':
    -    resolution: {integrity: sha512-sX0X5YWNW54F4baW7b5JJB6705OCBIZtUqjOghlJNORS5No7QY1IX1zc5FxNNu4gsaCZITAmfMi4ityXEsEThA==}
    +  /@cspell/dict-npm@5.0.16:
    +    resolution: {integrity: sha512-ZWPnLAziEcSCvV0c8k9Qj88pfMu+wZwM5Qks87ShsfBgI8uLZ9tGHravA7gmjH1Gd7Bgxy2ulvXtSqIWPh1lew==}
    +    dev: true
     
    -  '@cspell/dict-php@4.0.6':
    -    resolution: {integrity: sha512-ySAXisf7twoVFZqBV2o/DKiCLIDTHNqfnj0EfH9OoOUR7HL3rb6zJkm0viLUFDO2G/8SyIi6YrN/6KX+Scjjjg==}
    +  /@cspell/dict-php@4.0.8:
    +    resolution: {integrity: sha512-TBw3won4MCBQ2wdu7kvgOCR3dY2Tb+LJHgDUpuquy3WnzGiSDJ4AVelrZdE1xu7mjFJUr4q48aB21YT5uQqPZA==}
    +    dev: true
     
    -  '@cspell/dict-powershell@5.0.3':
    -    resolution: {integrity: sha512-lEdzrcyau6mgzu1ie98GjOEegwVHvoaWtzQnm1ie4DyZgMr+N6D0Iyj1lzvtmt0snvsDFa5F2bsYzf3IMKcpcA==}
    +  /@cspell/dict-powershell@5.0.4:
    +    resolution: {integrity: sha512-eosDShapDgBWN9ULF7+sRNdUtzRnUdsfEdBSchDm8FZA4HOqxUSZy3b/cX/Rdw0Fnw0AKgk0kzgXw7tS6vwJMQ==}
    +    dev: true
     
    -  '@cspell/dict-public-licenses@2.0.6':
    -    resolution: {integrity: sha512-bHqpSpJvLCUcWxj1ov/Ki8WjmESpYwRpQlqfdchekOTc93Huhvjm/RXVN1R4fVf4Hspyem1QVkCGqAmjJMj6sw==}
    +  /@cspell/dict-public-licenses@2.0.7:
    +    resolution: {integrity: sha512-KlBXuGcN3LE7tQi/GEqKiDewWGGuopiAD0zRK1QilOx5Co8XAvs044gk4MNIQftc8r0nHeUI+irJKLGcR36DIQ==}
    +    dev: true
     
    -  '@cspell/dict-python@4.1.11':
    -    resolution: {integrity: sha512-XG+v3PumfzUW38huSbfT15Vqt3ihNb462ulfXifpQllPok5OWynhszCLCRQjQReV+dgz784ST4ggRxW452/kVg==}
    +  /@cspell/dict-python@4.2.1:
    +    resolution: {integrity: sha512-9X2jRgyM0cxBoFQRo4Zc8oacyWnXi+0/bMI5FGibZNZV4y/o9UoFEr6agjU260/cXHTjIdkX233nN7eb7dtyRg==}
    +    dependencies:
    +      '@cspell/dict-data-science': 2.0.1
    +    dev: true
     
    -  '@cspell/dict-r@2.0.1':
    +  /@cspell/dict-r@2.0.1:
         resolution: {integrity: sha512-KCmKaeYMLm2Ip79mlYPc8p+B2uzwBp4KMkzeLd5E6jUlCL93Y5Nvq68wV5fRLDRTf7N1LvofkVFWfDcednFOgA==}
    +    dev: true
     
    -  '@cspell/dict-ruby@5.0.2':
    +  /@cspell/dict-ruby@5.0.2:
         resolution: {integrity: sha512-cIh8KTjpldzFzKGgrqUX4bFyav5lC52hXDKo4LbRuMVncs3zg4hcSf4HtURY+f2AfEZzN6ZKzXafQpThq3dl2g==}
    +    dev: true
     
    -  '@cspell/dict-rust@4.0.2':
    -    resolution: {integrity: sha512-RhziKDrklzOntxAbY3AvNR58wnFGIo3YS8+dNeLY36GFuWOvXDHFStYw5Pod4f/VXbO/+1tXtywCC4zWfB2p1w==}
    +  /@cspell/dict-rust@4.0.4:
    +    resolution: {integrity: sha512-v9/LcZknt/Xq7m1jdTWiQEtmkVVKdE1etAfGL2sgcWpZYewEa459HeWndNA0gfzQrpWX9sYay18mt7pqClJEdA==}
    +    dev: true
     
    -  '@cspell/dict-scala@5.0.0':
    -    resolution: {integrity: sha512-ph0twaRoV+ylui022clEO1dZ35QbeEQaKTaV2sPOsdwIokABPIiK09oWwGK9qg7jRGQwVaRPEq0Vp+IG1GpqSQ==}
    +  /@cspell/dict-scala@5.0.2:
    +    resolution: {integrity: sha512-v97ClgidZt99JUm7OjhQugDHmhx4U8fcgunHvD/BsXWjXNj4cTr0m0YjofyZoL44WpICsNuFV9F/sv9OM5HUEw==}
    +    dev: true
     
    -  '@cspell/dict-software-terms@3.3.18':
    -    resolution: {integrity: sha512-LJZGGMGqS8KzgXJrSMs3T+6GoqHG9z8Bc+rqLzLzbtoR3FbsMasE9U8oP2PmS3q7jJLFjQkzmg508DrcuZuo2g==}
    +  /@cspell/dict-software-terms@3.4.5:
    +    resolution: {integrity: sha512-CAOeZKvvj27bJTNKzPD7jYg/iK4LPwn3NmolAfoFnxtnCBxA6d20Car6IbPx9g4U6Ik3Vnk4CT3ziXeeBDB2Kw==}
    +    dev: true
     
    -  '@cspell/dict-sql@2.1.3':
    +  /@cspell/dict-sql@2.1.3:
         resolution: {integrity: sha512-SEyTNKJrjqD6PAzZ9WpdSu6P7wgdNtGV2RV8Kpuw1x6bV+YsSptuClYG+JSdRExBTE6LwIe1bTklejUp3ZP8TQ==}
    +    dev: true
     
    -  '@cspell/dict-svelte@1.0.2':
    +  /@cspell/dict-svelte@1.0.2:
         resolution: {integrity: sha512-rPJmnn/GsDs0btNvrRBciOhngKV98yZ9SHmg8qI6HLS8hZKvcXc0LMsf9LLuMK1TmS2+WQFAan6qeqg6bBxL2Q==}
    +    dev: true
     
    -  '@cspell/dict-swift@2.0.1':
    +  /@cspell/dict-swift@2.0.1:
         resolution: {integrity: sha512-gxrCMUOndOk7xZFmXNtkCEeroZRnS2VbeaIPiymGRHj5H+qfTAzAKxtv7jJbVA3YYvEzWcVE2oKDP4wcbhIERw==}
    +    dev: true
     
    -  '@cspell/dict-terraform@1.0.0':
    +  /@cspell/dict-terraform@1.0.0:
         resolution: {integrity: sha512-Ak+vy4HP/bOgzf06BAMC30+ZvL9mzv21xLM2XtfnBLTDJGdxlk/nK0U6QT8VfFLqJ0ZZSpyOxGsUebWDCTr/zQ==}
    +    dev: true
     
    -  '@cspell/dict-typescript@3.1.3':
    -    resolution: {integrity: sha512-TdD789OWwOImH/IMyz/QRA6LJz7ScI/qbn1YOkcAW3AROvgbc0oKAxzp08+Xu8tj4GROrJ9UqZdh0t9xQCPkPg==}
    +  /@cspell/dict-typescript@3.1.5:
    +    resolution: {integrity: sha512-EkIwwNV/xqEoBPJml2S16RXj65h1kvly8dfDLgXerrKw6puybZdvAHerAph6/uPTYdtLcsPyJYkPt5ISOJYrtw==}
    +    dev: true
     
    -  '@cspell/dict-vue@3.0.0':
    +  /@cspell/dict-vue@3.0.0:
         resolution: {integrity: sha512-niiEMPWPV9IeRBRzZ0TBZmNnkK3olkOPYxC1Ny2AX4TGlYRajcW0WUtoSHmvvjZNfWLSg2L6ruiBeuPSbjnG6A==}
    +    dev: true
     
    -  '@cspell/dynamic-import@8.7.0':
    -    resolution: {integrity: sha512-xlEPdiHVDu+4xYkvwjL9MgklxOi9XB+Pr1H9s3Ww9WEq+q6BA3xOHxLIU/k8mhqFTMZGFZRCsdy/EwMu6SyRhQ==}
    +  /@cspell/dynamic-import@8.8.4:
    +    resolution: {integrity: sha512-tseSxrybznkmsmPaAB4aoHB9wr8Q2fOMIy3dm+yQv+U1xj+JHTN9OnUvy9sKiq0p3DQGWm/VylgSgsYaXrEHKQ==}
         engines: {node: '>=18.0'}
    +    dependencies:
    +      import-meta-resolve: 4.1.0
    +    dev: true
     
    -  '@cspell/eslint-plugin@8.7.0':
    -    resolution: {integrity: sha512-ZITI9ybL5vsOukUzMyyBc5eKndEag7Pe4Z19br2w92xyNCZtHeAoDzp1eo1OeRilT7zBXCdXEDzvvNiNAHhg9A==}
    +  /@cspell/eslint-plugin@8.8.4(eslint@8.57.0):
    +    resolution: {integrity: sha512-hZ85qj+ETrckfkJb0RvNZ5iZw5qXbLYhNb71nFPfTVp3/6uBOfx0EfN/ZXbkZg63BLpSx0y2dmb22zgJ2VJMgg==}
         engines: {node: '>=18'}
         peerDependencies:
           eslint: ^7 || ^8 || ^9
    +    dependencies:
    +      '@cspell/cspell-types': 8.8.4
    +      cspell-lib: 8.8.4
    +      eslint: 8.57.0
    +      estree-walker: 3.0.3
    +      synckit: 0.9.0
    +    dev: true
     
    -  '@cspell/strong-weak-map@8.7.0':
    -    resolution: {integrity: sha512-0bo0WwDr2lzGoCP7vbpWbDpPyuOrHKK+218txnUpx6Pn1EDBLfcDQsiZED5B6zlpwgbGi6y3vc0rWtJbjKvwzg==}
    +  /@cspell/strong-weak-map@8.8.4:
    +    resolution: {integrity: sha512-gticEJGR6yyGeLjf+mJ0jZotWYRLVQ+J0v1VpsR1nKnXTRJY15BWXgEA/ifbU/+clpyCek79NiCIXCvmP1WT4A==}
         engines: {node: '>=18'}
    +    dev: true
     
    -  '@cypress/code-coverage@3.12.38':
    -    resolution: {integrity: sha512-1jYHxAeweMBD5hvrHdzpwmS0yHQ/AKHC1BsoAgYtvYYRe/aOkAeWUwy3CaOTQzyVOMa+cWFElPYYusf1WiW85A==}
    +  /@cypress/code-coverage@3.12.39(@babel/core@7.24.7)(@babel/preset-env@7.24.7)(babel-loader@9.1.3)(cypress@13.11.0)(webpack@5.92.0):
    +    resolution: {integrity: sha512-ja7I/GRmkSAW9e3O7pideWcNUEHao0WT6sRyXQEURoxkJUASJssJ7Kb/bd3eMYmkUCiD5CRFqWR5BGF4mWVaUw==}
         peerDependencies:
           '@babel/core': ^7.0.1
           '@babel/preset-env': ^7.0.0
           babel-loader: ^8.3 || ^9
           cypress: '*'
           webpack: ^4 || ^5
    +    dependencies:
    +      '@babel/core': 7.24.7
    +      '@babel/preset-env': 7.24.7(@babel/core@7.24.7)
    +      '@cypress/webpack-preprocessor': 6.0.2(@babel/core@7.24.7)(@babel/preset-env@7.24.7)(babel-loader@9.1.3)(webpack@5.92.0)
    +      babel-loader: 9.1.3(@babel/core@7.24.7)(webpack@5.92.0)
    +      chalk: 4.1.2
    +      cypress: 13.11.0
    +      dayjs: 1.11.10
    +      debug: 4.3.4
    +      execa: 4.1.0
    +      globby: 11.1.0
    +      istanbul-lib-coverage: 3.2.2
    +      js-yaml: 4.1.0
    +      nyc: 15.1.0
    +      webpack: 5.92.0(esbuild@0.20.2)(webpack-cli@4.10.0)
    +    transitivePeerDependencies:
    +      - supports-color
    +    dev: true
     
    -  '@cypress/request@3.0.1':
    +  /@cypress/request@3.0.1:
         resolution: {integrity: sha512-TWivJlJi8ZDx2wGOw1dbLuHJKUYX7bWySw377nlnGOW3hP9/MUKIsEdXT/YngWxVdgNCHRBmFlBipE+5/2ZZlQ==}
         engines: {node: '>= 6'}
    -
    -  '@cypress/webpack-preprocessor@6.0.1':
    -    resolution: {integrity: sha512-WVNeFVSnFKxE3WZNRIriduTgqJRpevaiJIPlfqYTTzfXRD7X1Pv4woDE+G4caPV9bJqVKmVFiwzrXMRNeJxpxA==}
    -    peerDependencies:
    -      '@babel/core': ^7.0.1
    -      '@babel/preset-env': ^7.0.0
    -      babel-loader: ^8.3 || ^9
    -      webpack: ^4 || ^5
    -
    -  '@cypress/xvfb@1.2.4':
    -    resolution: {integrity: sha512-skbBzPggOVYCbnGgV+0dmBdW/s77ZkAOXIC1knS8NagwDjBrNC1LuXtQJeiN6l+m7lzmHtaoUw/ctJKdqkG57Q==}
    -
    -  '@discoveryjs/json-ext@0.5.7':
    -    resolution: {integrity: sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw==}
    -    engines: {node: '>=10.0.0'}
    -
    -  '@docsearch/css@3.6.0':
    +    dependencies:
    +      aws-sign2: 0.7.0
    +      aws4: 1.13.0
    +      caseless: 0.12.0
    +      combined-stream: 1.0.8
    +      extend: 3.0.2
    +      forever-agent: 0.6.1
    +      form-data: 2.3.3
    +      http-signature: 1.3.6
    +      is-typedarray: 1.0.0
    +      isstream: 0.1.2
    +      json-stringify-safe: 5.0.1
    +      mime-types: 2.1.35
    +      performance-now: 2.1.0
    +      qs: 6.10.4
    +      safe-buffer: 5.2.1
    +      tough-cookie: 4.1.4
    +      tunnel-agent: 0.6.0
    +      uuid: 8.3.2
    +    dev: true
    +
    +  /@cypress/webpack-preprocessor@6.0.2(@babel/core@7.24.7)(@babel/preset-env@7.24.7)(babel-loader@9.1.3)(webpack@5.92.0):
    +    resolution: {integrity: sha512-0+1+4iy4W9PE6R5ywBNKAZoFp8Sf//w3UJ+CKTqkcAjA29b+dtsD0iFT70DsYE0BMqUM1PO7HXFGbXllQ+bRAA==}
    +    peerDependencies:
    +      '@babel/core': ^7.0.1
    +      '@babel/preset-env': ^7.0.0
    +      babel-loader: ^8.3 || ^9
    +      webpack: ^4 || ^5
    +    dependencies:
    +      '@babel/core': 7.24.7
    +      '@babel/preset-env': 7.24.7(@babel/core@7.24.7)
    +      babel-loader: 9.1.3(@babel/core@7.24.7)(webpack@5.92.0)
    +      bluebird: 3.7.1
    +      debug: 4.3.4
    +      lodash: 4.17.21
    +      webpack: 5.92.0(esbuild@0.20.2)(webpack-cli@4.10.0)
    +    transitivePeerDependencies:
    +      - supports-color
    +    dev: true
    +
    +  /@cypress/xvfb@1.2.4(supports-color@8.1.1):
    +    resolution: {integrity: sha512-skbBzPggOVYCbnGgV+0dmBdW/s77ZkAOXIC1knS8NagwDjBrNC1LuXtQJeiN6l+m7lzmHtaoUw/ctJKdqkG57Q==}
    +    dependencies:
    +      debug: 3.2.7(supports-color@8.1.1)
    +      lodash.once: 4.1.1
    +    transitivePeerDependencies:
    +      - supports-color
    +    dev: true
    +
    +  /@discoveryjs/json-ext@0.5.7:
    +    resolution: {integrity: sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw==}
    +    engines: {node: '>=10.0.0'}
    +    dev: true
    +
    +  /@docsearch/css@3.6.0:
         resolution: {integrity: sha512-+sbxb71sWre+PwDK7X2T8+bhS6clcVMLwBPznX45Qu6opJcgRjAp7gYSDzVFp187J+feSj5dNBN1mJoi6ckkUQ==}
    +    dev: true
     
    -  '@docsearch/js@3.6.0':
    +  /@docsearch/js@3.6.0(@algolia/client-search@4.23.3)(search-insights@2.14.0):
         resolution: {integrity: sha512-QujhqINEElrkIfKwyyyTfbsfMAYCkylInLYMRqHy7PHc8xTBQCow73tlo/Kc7oIwBrCLf0P3YhjlOeV4v8hevQ==}
    +    dependencies:
    +      '@docsearch/react': 3.6.0(@algolia/client-search@4.23.3)(search-insights@2.14.0)
    +      preact: 10.22.0
    +    transitivePeerDependencies:
    +      - '@algolia/client-search'
    +      - '@types/react'
    +      - react
    +      - react-dom
    +      - search-insights
    +    dev: true
     
    -  '@docsearch/react@3.6.0':
    +  /@docsearch/react@3.6.0(@algolia/client-search@4.23.3)(search-insights@2.14.0):
         resolution: {integrity: sha512-HUFut4ztcVNmqy9gp/wxNbC7pTOHhgVVkHVGCACTuLhUKUhKAF9KYHJtMiLUJxEqiFLQiuri1fWF8zqwM/cu1w==}
         peerDependencies:
           '@types/react': '>= 16.8.0 < 19.0.0'
    @@ -1709,453 +2925,705 @@ packages:
             optional: true
           search-insights:
             optional: true
    +    dependencies:
    +      '@algolia/autocomplete-core': 1.9.3(@algolia/client-search@4.23.3)(algoliasearch@4.23.3)(search-insights@2.14.0)
    +      '@algolia/autocomplete-preset-algolia': 1.9.3(@algolia/client-search@4.23.3)(algoliasearch@4.23.3)
    +      '@docsearch/css': 3.6.0
    +      algoliasearch: 4.23.3
    +      search-insights: 2.14.0
    +    transitivePeerDependencies:
    +      - '@algolia/client-search'
    +    dev: true
     
    -  '@es-joy/jsdoccomment@0.42.0':
    -    resolution: {integrity: sha512-R1w57YlVA6+YE01wch3GPYn6bCsrOV3YW/5oGGE2tmX6JcL9Nr+b5IikrjMPF+v9CV3ay+obImEdsDhovhJrzw==}
    +  /@es-joy/jsdoccomment@0.43.1:
    +    resolution: {integrity: sha512-I238eDtOolvCuvtxrnqtlBaw0BwdQuYqK7eA6XIonicMdOOOb75mqdIzkGDUbS04+1Di007rgm9snFRNeVrOog==}
         engines: {node: '>=16'}
    +    dependencies:
    +      '@types/eslint': 8.56.10
    +      '@types/estree': 1.0.5
    +      '@typescript-eslint/types': 7.13.0
    +      comment-parser: 1.4.1
    +      esquery: 1.5.0
    +      jsdoc-type-pratt-parser: 4.0.0
    +    dev: true
     
    -  '@esbuild/aix-ppc64@0.19.12':
    -    resolution: {integrity: sha512-bmoCYyWdEL3wDQIVbcyzRyeKLgk2WtWLTWz1ZIAZF/EGbNOwSA6ew3PftJ1PqMiOOGu0OyFMzG53L0zqIpPeNA==}
    +  /@esbuild/aix-ppc64@0.20.2:
    +    resolution: {integrity: sha512-D+EBOJHXdNZcLJRBkhENNG8Wji2kgc9AZ9KiPr1JuZjsNtyHzrsfLRrY0tk2H2aoFu6RANO1y1iPPUCDYWkb5g==}
         engines: {node: '>=12'}
         cpu: [ppc64]
         os: [aix]
    +    requiresBuild: true
    +    dev: true
    +    optional: true
     
    -  '@esbuild/aix-ppc64@0.20.2':
    -    resolution: {integrity: sha512-D+EBOJHXdNZcLJRBkhENNG8Wji2kgc9AZ9KiPr1JuZjsNtyHzrsfLRrY0tk2H2aoFu6RANO1y1iPPUCDYWkb5g==}
    +  /@esbuild/aix-ppc64@0.21.5:
    +    resolution: {integrity: sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ==}
         engines: {node: '>=12'}
         cpu: [ppc64]
         os: [aix]
    +    requiresBuild: true
    +    dev: true
    +    optional: true
     
    -  '@esbuild/android-arm64@0.18.20':
    +  /@esbuild/android-arm64@0.18.20:
         resolution: {integrity: sha512-Nz4rJcchGDtENV0eMKUNa6L12zz2zBDXuhj/Vjh18zGqB44Bi7MBMSXjgunJgjRhCmKOjnPuZp4Mb6OKqtMHLQ==}
         engines: {node: '>=12'}
         cpu: [arm64]
         os: [android]
    +    requiresBuild: true
    +    dev: true
    +    optional: true
     
    -  '@esbuild/android-arm64@0.19.12':
    -    resolution: {integrity: sha512-P0UVNGIienjZv3f5zq0DP3Nt2IE/3plFzuaS96vihvD0Hd6H/q4WXUGpCxD/E8YrSXfNyRPbpTq+T8ZQioSuPA==}
    +  /@esbuild/android-arm64@0.20.2:
    +    resolution: {integrity: sha512-mRzjLacRtl/tWU0SvD8lUEwb61yP9cqQo6noDZP/O8VkwafSYwZ4yWy24kan8jE/IMERpYncRt2dw438LP3Xmg==}
         engines: {node: '>=12'}
         cpu: [arm64]
         os: [android]
    +    requiresBuild: true
    +    dev: true
    +    optional: true
     
    -  '@esbuild/android-arm64@0.20.2':
    -    resolution: {integrity: sha512-mRzjLacRtl/tWU0SvD8lUEwb61yP9cqQo6noDZP/O8VkwafSYwZ4yWy24kan8jE/IMERpYncRt2dw438LP3Xmg==}
    +  /@esbuild/android-arm64@0.21.5:
    +    resolution: {integrity: sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A==}
         engines: {node: '>=12'}
         cpu: [arm64]
         os: [android]
    +    requiresBuild: true
    +    dev: true
    +    optional: true
     
    -  '@esbuild/android-arm@0.18.20':
    +  /@esbuild/android-arm@0.18.20:
         resolution: {integrity: sha512-fyi7TDI/ijKKNZTUJAQqiG5T7YjJXgnzkURqmGj13C6dCqckZBLdl4h7bkhHt/t0WP+zO9/zwroDvANaOqO5Sw==}
         engines: {node: '>=12'}
         cpu: [arm]
         os: [android]
    +    requiresBuild: true
    +    dev: true
    +    optional: true
     
    -  '@esbuild/android-arm@0.19.12':
    -    resolution: {integrity: sha512-qg/Lj1mu3CdQlDEEiWrlC4eaPZ1KztwGJ9B6J+/6G+/4ewxJg7gqj8eVYWvao1bXrqGiW2rsBZFSX3q2lcW05w==}
    +  /@esbuild/android-arm@0.20.2:
    +    resolution: {integrity: sha512-t98Ra6pw2VaDhqNWO2Oph2LXbz/EJcnLmKLGBJwEwXX/JAN83Fym1rU8l0JUWK6HkIbWONCSSatf4sf2NBRx/w==}
         engines: {node: '>=12'}
         cpu: [arm]
         os: [android]
    +    requiresBuild: true
    +    dev: true
    +    optional: true
     
    -  '@esbuild/android-arm@0.20.2':
    -    resolution: {integrity: sha512-t98Ra6pw2VaDhqNWO2Oph2LXbz/EJcnLmKLGBJwEwXX/JAN83Fym1rU8l0JUWK6HkIbWONCSSatf4sf2NBRx/w==}
    +  /@esbuild/android-arm@0.21.5:
    +    resolution: {integrity: sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg==}
         engines: {node: '>=12'}
         cpu: [arm]
         os: [android]
    +    requiresBuild: true
    +    dev: true
    +    optional: true
     
    -  '@esbuild/android-x64@0.18.20':
    +  /@esbuild/android-x64@0.18.20:
         resolution: {integrity: sha512-8GDdlePJA8D6zlZYJV/jnrRAi6rOiNaCC/JclcXpB+KIuvfBN4owLtgzY2bsxnx666XjJx2kDPUmnTtR8qKQUg==}
         engines: {node: '>=12'}
         cpu: [x64]
         os: [android]
    +    requiresBuild: true
    +    dev: true
    +    optional: true
     
    -  '@esbuild/android-x64@0.19.12':
    -    resolution: {integrity: sha512-3k7ZoUW6Q6YqhdhIaq/WZ7HwBpnFBlW905Fa4s4qWJyiNOgT1dOqDiVAQFwBH7gBRZr17gLrlFCRzF6jFh7Kew==}
    +  /@esbuild/android-x64@0.20.2:
    +    resolution: {integrity: sha512-btzExgV+/lMGDDa194CcUQm53ncxzeBrWJcncOBxuC6ndBkKxnHdFJn86mCIgTELsooUmwUm9FkhSp5HYu00Rg==}
         engines: {node: '>=12'}
         cpu: [x64]
         os: [android]
    +    requiresBuild: true
    +    dev: true
    +    optional: true
     
    -  '@esbuild/android-x64@0.20.2':
    -    resolution: {integrity: sha512-btzExgV+/lMGDDa194CcUQm53ncxzeBrWJcncOBxuC6ndBkKxnHdFJn86mCIgTELsooUmwUm9FkhSp5HYu00Rg==}
    +  /@esbuild/android-x64@0.21.5:
    +    resolution: {integrity: sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA==}
         engines: {node: '>=12'}
         cpu: [x64]
         os: [android]
    +    requiresBuild: true
    +    dev: true
    +    optional: true
     
    -  '@esbuild/darwin-arm64@0.18.20':
    +  /@esbuild/darwin-arm64@0.18.20:
         resolution: {integrity: sha512-bxRHW5kHU38zS2lPTPOyuyTm+S+eobPUnTNkdJEfAddYgEcll4xkT8DB9d2008DtTbl7uJag2HuE5NZAZgnNEA==}
         engines: {node: '>=12'}
         cpu: [arm64]
         os: [darwin]
    +    requiresBuild: true
    +    dev: true
    +    optional: true
     
    -  '@esbuild/darwin-arm64@0.19.12':
    -    resolution: {integrity: sha512-B6IeSgZgtEzGC42jsI+YYu9Z3HKRxp8ZT3cqhvliEHovq8HSX2YX8lNocDn79gCKJXOSaEot9MVYky7AKjCs8g==}
    +  /@esbuild/darwin-arm64@0.20.2:
    +    resolution: {integrity: sha512-4J6IRT+10J3aJH3l1yzEg9y3wkTDgDk7TSDFX+wKFiWjqWp/iCfLIYzGyasx9l0SAFPT1HwSCR+0w/h1ES/MjA==}
         engines: {node: '>=12'}
         cpu: [arm64]
         os: [darwin]
    +    requiresBuild: true
    +    dev: true
    +    optional: true
     
    -  '@esbuild/darwin-arm64@0.20.2':
    -    resolution: {integrity: sha512-4J6IRT+10J3aJH3l1yzEg9y3wkTDgDk7TSDFX+wKFiWjqWp/iCfLIYzGyasx9l0SAFPT1HwSCR+0w/h1ES/MjA==}
    +  /@esbuild/darwin-arm64@0.21.5:
    +    resolution: {integrity: sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ==}
         engines: {node: '>=12'}
         cpu: [arm64]
         os: [darwin]
    +    requiresBuild: true
    +    dev: true
    +    optional: true
     
    -  '@esbuild/darwin-x64@0.18.20':
    +  /@esbuild/darwin-x64@0.18.20:
         resolution: {integrity: sha512-pc5gxlMDxzm513qPGbCbDukOdsGtKhfxD1zJKXjCCcU7ju50O7MeAZ8c4krSJcOIJGFR+qx21yMMVYwiQvyTyQ==}
         engines: {node: '>=12'}
         cpu: [x64]
         os: [darwin]
    +    requiresBuild: true
    +    dev: true
    +    optional: true
     
    -  '@esbuild/darwin-x64@0.19.12':
    -    resolution: {integrity: sha512-hKoVkKzFiToTgn+41qGhsUJXFlIjxI/jSYeZf3ugemDYZldIXIxhvwN6erJGlX4t5h417iFuheZ7l+YVn05N3A==}
    +  /@esbuild/darwin-x64@0.20.2:
    +    resolution: {integrity: sha512-tBcXp9KNphnNH0dfhv8KYkZhjc+H3XBkF5DKtswJblV7KlT9EI2+jeA8DgBjp908WEuYll6pF+UStUCfEpdysA==}
         engines: {node: '>=12'}
         cpu: [x64]
         os: [darwin]
    +    requiresBuild: true
    +    dev: true
    +    optional: true
     
    -  '@esbuild/darwin-x64@0.20.2':
    -    resolution: {integrity: sha512-tBcXp9KNphnNH0dfhv8KYkZhjc+H3XBkF5DKtswJblV7KlT9EI2+jeA8DgBjp908WEuYll6pF+UStUCfEpdysA==}
    +  /@esbuild/darwin-x64@0.21.5:
    +    resolution: {integrity: sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw==}
         engines: {node: '>=12'}
         cpu: [x64]
         os: [darwin]
    +    requiresBuild: true
    +    dev: true
    +    optional: true
     
    -  '@esbuild/freebsd-arm64@0.18.20':
    +  /@esbuild/freebsd-arm64@0.18.20:
         resolution: {integrity: sha512-yqDQHy4QHevpMAaxhhIwYPMv1NECwOvIpGCZkECn8w2WFHXjEwrBn3CeNIYsibZ/iZEUemj++M26W3cNR5h+Tw==}
         engines: {node: '>=12'}
         cpu: [arm64]
         os: [freebsd]
    +    requiresBuild: true
    +    dev: true
    +    optional: true
     
    -  '@esbuild/freebsd-arm64@0.19.12':
    -    resolution: {integrity: sha512-4aRvFIXmwAcDBw9AueDQ2YnGmz5L6obe5kmPT8Vd+/+x/JMVKCgdcRwH6APrbpNXsPz+K653Qg8HB/oXvXVukA==}
    +  /@esbuild/freebsd-arm64@0.20.2:
    +    resolution: {integrity: sha512-d3qI41G4SuLiCGCFGUrKsSeTXyWG6yem1KcGZVS+3FYlYhtNoNgYrWcvkOoaqMhwXSMrZRl69ArHsGJ9mYdbbw==}
         engines: {node: '>=12'}
         cpu: [arm64]
         os: [freebsd]
    +    requiresBuild: true
    +    dev: true
    +    optional: true
     
    -  '@esbuild/freebsd-arm64@0.20.2':
    -    resolution: {integrity: sha512-d3qI41G4SuLiCGCFGUrKsSeTXyWG6yem1KcGZVS+3FYlYhtNoNgYrWcvkOoaqMhwXSMrZRl69ArHsGJ9mYdbbw==}
    +  /@esbuild/freebsd-arm64@0.21.5:
    +    resolution: {integrity: sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g==}
         engines: {node: '>=12'}
         cpu: [arm64]
         os: [freebsd]
    +    requiresBuild: true
    +    dev: true
    +    optional: true
     
    -  '@esbuild/freebsd-x64@0.18.20':
    +  /@esbuild/freebsd-x64@0.18.20:
         resolution: {integrity: sha512-tgWRPPuQsd3RmBZwarGVHZQvtzfEBOreNuxEMKFcd5DaDn2PbBxfwLcj4+aenoh7ctXcbXmOQIn8HI6mCSw5MQ==}
         engines: {node: '>=12'}
         cpu: [x64]
         os: [freebsd]
    +    requiresBuild: true
    +    dev: true
    +    optional: true
     
    -  '@esbuild/freebsd-x64@0.19.12':
    -    resolution: {integrity: sha512-EYoXZ4d8xtBoVN7CEwWY2IN4ho76xjYXqSXMNccFSx2lgqOG/1TBPW0yPx1bJZk94qu3tX0fycJeeQsKovA8gg==}
    +  /@esbuild/freebsd-x64@0.20.2:
    +    resolution: {integrity: sha512-d+DipyvHRuqEeM5zDivKV1KuXn9WeRX6vqSqIDgwIfPQtwMP4jaDsQsDncjTDDsExT4lR/91OLjRo8bmC1e+Cw==}
         engines: {node: '>=12'}
         cpu: [x64]
         os: [freebsd]
    +    requiresBuild: true
    +    dev: true
    +    optional: true
     
    -  '@esbuild/freebsd-x64@0.20.2':
    -    resolution: {integrity: sha512-d+DipyvHRuqEeM5zDivKV1KuXn9WeRX6vqSqIDgwIfPQtwMP4jaDsQsDncjTDDsExT4lR/91OLjRo8bmC1e+Cw==}
    +  /@esbuild/freebsd-x64@0.21.5:
    +    resolution: {integrity: sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ==}
         engines: {node: '>=12'}
         cpu: [x64]
         os: [freebsd]
    +    requiresBuild: true
    +    dev: true
    +    optional: true
     
    -  '@esbuild/linux-arm64@0.18.20':
    +  /@esbuild/linux-arm64@0.18.20:
         resolution: {integrity: sha512-2YbscF+UL7SQAVIpnWvYwM+3LskyDmPhe31pE7/aoTMFKKzIc9lLbyGUpmmb8a8AixOL61sQ/mFh3jEjHYFvdA==}
         engines: {node: '>=12'}
         cpu: [arm64]
         os: [linux]
    +    requiresBuild: true
    +    dev: true
    +    optional: true
     
    -  '@esbuild/linux-arm64@0.19.12':
    -    resolution: {integrity: sha512-EoTjyYyLuVPfdPLsGVVVC8a0p1BFFvtpQDB/YLEhaXyf/5bczaGeN15QkR+O4S5LeJ92Tqotve7i1jn35qwvdA==}
    +  /@esbuild/linux-arm64@0.20.2:
    +    resolution: {integrity: sha512-9pb6rBjGvTFNira2FLIWqDk/uaf42sSyLE8j1rnUpuzsODBq7FvpwHYZxQ/It/8b+QOS1RYfqgGFNLRI+qlq2A==}
         engines: {node: '>=12'}
         cpu: [arm64]
         os: [linux]
    +    requiresBuild: true
    +    dev: true
    +    optional: true
     
    -  '@esbuild/linux-arm64@0.20.2':
    -    resolution: {integrity: sha512-9pb6rBjGvTFNira2FLIWqDk/uaf42sSyLE8j1rnUpuzsODBq7FvpwHYZxQ/It/8b+QOS1RYfqgGFNLRI+qlq2A==}
    +  /@esbuild/linux-arm64@0.21.5:
    +    resolution: {integrity: sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q==}
         engines: {node: '>=12'}
         cpu: [arm64]
         os: [linux]
    +    requiresBuild: true
    +    dev: true
    +    optional: true
     
    -  '@esbuild/linux-arm@0.18.20':
    +  /@esbuild/linux-arm@0.18.20:
         resolution: {integrity: sha512-/5bHkMWnq1EgKr1V+Ybz3s1hWXok7mDFUMQ4cG10AfW3wL02PSZi5kFpYKrptDsgb2WAJIvRcDm+qIvXf/apvg==}
         engines: {node: '>=12'}
         cpu: [arm]
         os: [linux]
    +    requiresBuild: true
    +    dev: true
    +    optional: true
     
    -  '@esbuild/linux-arm@0.19.12':
    -    resolution: {integrity: sha512-J5jPms//KhSNv+LO1S1TX1UWp1ucM6N6XuL6ITdKWElCu8wXP72l9MM0zDTzzeikVyqFE6U8YAV9/tFyj0ti+w==}
    +  /@esbuild/linux-arm@0.20.2:
    +    resolution: {integrity: sha512-VhLPeR8HTMPccbuWWcEUD1Az68TqaTYyj6nfE4QByZIQEQVWBB8vup8PpR7y1QHL3CpcF6xd5WVBU/+SBEvGTg==}
         engines: {node: '>=12'}
         cpu: [arm]
         os: [linux]
    +    requiresBuild: true
    +    dev: true
    +    optional: true
     
    -  '@esbuild/linux-arm@0.20.2':
    -    resolution: {integrity: sha512-VhLPeR8HTMPccbuWWcEUD1Az68TqaTYyj6nfE4QByZIQEQVWBB8vup8PpR7y1QHL3CpcF6xd5WVBU/+SBEvGTg==}
    +  /@esbuild/linux-arm@0.21.5:
    +    resolution: {integrity: sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA==}
         engines: {node: '>=12'}
         cpu: [arm]
         os: [linux]
    +    requiresBuild: true
    +    dev: true
    +    optional: true
     
    -  '@esbuild/linux-ia32@0.18.20':
    +  /@esbuild/linux-ia32@0.18.20:
         resolution: {integrity: sha512-P4etWwq6IsReT0E1KHU40bOnzMHoH73aXp96Fs8TIT6z9Hu8G6+0SHSw9i2isWrD2nbx2qo5yUqACgdfVGx7TA==}
         engines: {node: '>=12'}
         cpu: [ia32]
         os: [linux]
    +    requiresBuild: true
    +    dev: true
    +    optional: true
     
    -  '@esbuild/linux-ia32@0.19.12':
    -    resolution: {integrity: sha512-Thsa42rrP1+UIGaWz47uydHSBOgTUnwBwNq59khgIwktK6x60Hivfbux9iNR0eHCHzOLjLMLfUMLCypBkZXMHA==}
    +  /@esbuild/linux-ia32@0.20.2:
    +    resolution: {integrity: sha512-o10utieEkNPFDZFQm9CoP7Tvb33UutoJqg3qKf1PWVeeJhJw0Q347PxMvBgVVFgouYLGIhFYG0UGdBumROyiig==}
         engines: {node: '>=12'}
         cpu: [ia32]
         os: [linux]
    +    requiresBuild: true
    +    dev: true
    +    optional: true
     
    -  '@esbuild/linux-ia32@0.20.2':
    -    resolution: {integrity: sha512-o10utieEkNPFDZFQm9CoP7Tvb33UutoJqg3qKf1PWVeeJhJw0Q347PxMvBgVVFgouYLGIhFYG0UGdBumROyiig==}
    +  /@esbuild/linux-ia32@0.21.5:
    +    resolution: {integrity: sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg==}
         engines: {node: '>=12'}
         cpu: [ia32]
         os: [linux]
    +    requiresBuild: true
    +    dev: true
    +    optional: true
     
    -  '@esbuild/linux-loong64@0.18.20':
    +  /@esbuild/linux-loong64@0.18.20:
         resolution: {integrity: sha512-nXW8nqBTrOpDLPgPY9uV+/1DjxoQ7DoB2N8eocyq8I9XuqJ7BiAMDMf9n1xZM9TgW0J8zrquIb/A7s3BJv7rjg==}
         engines: {node: '>=12'}
         cpu: [loong64]
         os: [linux]
    +    requiresBuild: true
    +    dev: true
    +    optional: true
     
    -  '@esbuild/linux-loong64@0.19.12':
    -    resolution: {integrity: sha512-LiXdXA0s3IqRRjm6rV6XaWATScKAXjI4R4LoDlvO7+yQqFdlr1Bax62sRwkVvRIrwXxvtYEHHI4dm50jAXkuAA==}
    +  /@esbuild/linux-loong64@0.20.2:
    +    resolution: {integrity: sha512-PR7sp6R/UC4CFVomVINKJ80pMFlfDfMQMYynX7t1tNTeivQ6XdX5r2XovMmha/VjR1YN/HgHWsVcTRIMkymrgQ==}
         engines: {node: '>=12'}
         cpu: [loong64]
         os: [linux]
    +    requiresBuild: true
    +    dev: true
    +    optional: true
     
    -  '@esbuild/linux-loong64@0.20.2':
    -    resolution: {integrity: sha512-PR7sp6R/UC4CFVomVINKJ80pMFlfDfMQMYynX7t1tNTeivQ6XdX5r2XovMmha/VjR1YN/HgHWsVcTRIMkymrgQ==}
    +  /@esbuild/linux-loong64@0.21.5:
    +    resolution: {integrity: sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg==}
         engines: {node: '>=12'}
         cpu: [loong64]
         os: [linux]
    +    requiresBuild: true
    +    dev: true
    +    optional: true
     
    -  '@esbuild/linux-mips64el@0.18.20':
    +  /@esbuild/linux-mips64el@0.18.20:
         resolution: {integrity: sha512-d5NeaXZcHp8PzYy5VnXV3VSd2D328Zb+9dEq5HE6bw6+N86JVPExrA6O68OPwobntbNJ0pzCpUFZTo3w0GyetQ==}
         engines: {node: '>=12'}
         cpu: [mips64el]
         os: [linux]
    +    requiresBuild: true
    +    dev: true
    +    optional: true
     
    -  '@esbuild/linux-mips64el@0.19.12':
    -    resolution: {integrity: sha512-fEnAuj5VGTanfJ07ff0gOA6IPsvrVHLVb6Lyd1g2/ed67oU1eFzL0r9WL7ZzscD+/N6i3dWumGE1Un4f7Amf+w==}
    +  /@esbuild/linux-mips64el@0.20.2:
    +    resolution: {integrity: sha512-4BlTqeutE/KnOiTG5Y6Sb/Hw6hsBOZapOVF6njAESHInhlQAghVVZL1ZpIctBOoTFbQyGW+LsVYZ8lSSB3wkjA==}
         engines: {node: '>=12'}
         cpu: [mips64el]
         os: [linux]
    +    requiresBuild: true
    +    dev: true
    +    optional: true
     
    -  '@esbuild/linux-mips64el@0.20.2':
    -    resolution: {integrity: sha512-4BlTqeutE/KnOiTG5Y6Sb/Hw6hsBOZapOVF6njAESHInhlQAghVVZL1ZpIctBOoTFbQyGW+LsVYZ8lSSB3wkjA==}
    +  /@esbuild/linux-mips64el@0.21.5:
    +    resolution: {integrity: sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg==}
         engines: {node: '>=12'}
         cpu: [mips64el]
         os: [linux]
    +    requiresBuild: true
    +    dev: true
    +    optional: true
     
    -  '@esbuild/linux-ppc64@0.18.20':
    +  /@esbuild/linux-ppc64@0.18.20:
         resolution: {integrity: sha512-WHPyeScRNcmANnLQkq6AfyXRFr5D6N2sKgkFo2FqguP44Nw2eyDlbTdZwd9GYk98DZG9QItIiTlFLHJHjxP3FA==}
         engines: {node: '>=12'}
         cpu: [ppc64]
         os: [linux]
    +    requiresBuild: true
    +    dev: true
    +    optional: true
     
    -  '@esbuild/linux-ppc64@0.19.12':
    -    resolution: {integrity: sha512-nYJA2/QPimDQOh1rKWedNOe3Gfc8PabU7HT3iXWtNUbRzXS9+vgB0Fjaqr//XNbd82mCxHzik2qotuI89cfixg==}
    +  /@esbuild/linux-ppc64@0.20.2:
    +    resolution: {integrity: sha512-rD3KsaDprDcfajSKdn25ooz5J5/fWBylaaXkuotBDGnMnDP1Uv5DLAN/45qfnf3JDYyJv/ytGHQaziHUdyzaAg==}
         engines: {node: '>=12'}
         cpu: [ppc64]
         os: [linux]
    +    requiresBuild: true
    +    dev: true
    +    optional: true
     
    -  '@esbuild/linux-ppc64@0.20.2':
    -    resolution: {integrity: sha512-rD3KsaDprDcfajSKdn25ooz5J5/fWBylaaXkuotBDGnMnDP1Uv5DLAN/45qfnf3JDYyJv/ytGHQaziHUdyzaAg==}
    +  /@esbuild/linux-ppc64@0.21.5:
    +    resolution: {integrity: sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w==}
         engines: {node: '>=12'}
         cpu: [ppc64]
         os: [linux]
    +    requiresBuild: true
    +    dev: true
    +    optional: true
     
    -  '@esbuild/linux-riscv64@0.18.20':
    +  /@esbuild/linux-riscv64@0.18.20:
         resolution: {integrity: sha512-WSxo6h5ecI5XH34KC7w5veNnKkju3zBRLEQNY7mv5mtBmrP/MjNBCAlsM2u5hDBlS3NGcTQpoBvRzqBcRtpq1A==}
         engines: {node: '>=12'}
         cpu: [riscv64]
         os: [linux]
    +    requiresBuild: true
    +    dev: true
    +    optional: true
     
    -  '@esbuild/linux-riscv64@0.19.12':
    -    resolution: {integrity: sha512-2MueBrlPQCw5dVJJpQdUYgeqIzDQgw3QtiAHUC4RBz9FXPrskyyU3VI1hw7C0BSKB9OduwSJ79FTCqtGMWqJHg==}
    +  /@esbuild/linux-riscv64@0.20.2:
    +    resolution: {integrity: sha512-snwmBKacKmwTMmhLlz/3aH1Q9T8v45bKYGE3j26TsaOVtjIag4wLfWSiZykXzXuE1kbCE+zJRmwp+ZbIHinnVg==}
         engines: {node: '>=12'}
         cpu: [riscv64]
         os: [linux]
    +    requiresBuild: true
    +    dev: true
    +    optional: true
     
    -  '@esbuild/linux-riscv64@0.20.2':
    -    resolution: {integrity: sha512-snwmBKacKmwTMmhLlz/3aH1Q9T8v45bKYGE3j26TsaOVtjIag4wLfWSiZykXzXuE1kbCE+zJRmwp+ZbIHinnVg==}
    +  /@esbuild/linux-riscv64@0.21.5:
    +    resolution: {integrity: sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA==}
         engines: {node: '>=12'}
         cpu: [riscv64]
         os: [linux]
    +    requiresBuild: true
    +    dev: true
    +    optional: true
     
    -  '@esbuild/linux-s390x@0.18.20':
    +  /@esbuild/linux-s390x@0.18.20:
         resolution: {integrity: sha512-+8231GMs3mAEth6Ja1iK0a1sQ3ohfcpzpRLH8uuc5/KVDFneH6jtAJLFGafpzpMRO6DzJ6AvXKze9LfFMrIHVQ==}
         engines: {node: '>=12'}
         cpu: [s390x]
         os: [linux]
    +    requiresBuild: true
    +    dev: true
    +    optional: true
     
    -  '@esbuild/linux-s390x@0.19.12':
    -    resolution: {integrity: sha512-+Pil1Nv3Umes4m3AZKqA2anfhJiVmNCYkPchwFJNEJN5QxmTs1uzyy4TvmDrCRNT2ApwSari7ZIgrPeUx4UZDg==}
    +  /@esbuild/linux-s390x@0.20.2:
    +    resolution: {integrity: sha512-wcWISOobRWNm3cezm5HOZcYz1sKoHLd8VL1dl309DiixxVFoFe/o8HnwuIwn6sXre88Nwj+VwZUvJf4AFxkyrQ==}
         engines: {node: '>=12'}
         cpu: [s390x]
         os: [linux]
    +    requiresBuild: true
    +    dev: true
    +    optional: true
     
    -  '@esbuild/linux-s390x@0.20.2':
    -    resolution: {integrity: sha512-wcWISOobRWNm3cezm5HOZcYz1sKoHLd8VL1dl309DiixxVFoFe/o8HnwuIwn6sXre88Nwj+VwZUvJf4AFxkyrQ==}
    +  /@esbuild/linux-s390x@0.21.5:
    +    resolution: {integrity: sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A==}
         engines: {node: '>=12'}
         cpu: [s390x]
         os: [linux]
    +    requiresBuild: true
    +    dev: true
    +    optional: true
     
    -  '@esbuild/linux-x64@0.18.20':
    +  /@esbuild/linux-x64@0.18.20:
         resolution: {integrity: sha512-UYqiqemphJcNsFEskc73jQ7B9jgwjWrSayxawS6UVFZGWrAAtkzjxSqnoclCXxWtfwLdzU+vTpcNYhpn43uP1w==}
         engines: {node: '>=12'}
         cpu: [x64]
         os: [linux]
    +    requiresBuild: true
    +    dev: true
    +    optional: true
     
    -  '@esbuild/linux-x64@0.19.12':
    -    resolution: {integrity: sha512-B71g1QpxfwBvNrfyJdVDexenDIt1CiDN1TIXLbhOw0KhJzE78KIFGX6OJ9MrtC0oOqMWf+0xop4qEU8JrJTwCg==}
    +  /@esbuild/linux-x64@0.20.2:
    +    resolution: {integrity: sha512-1MdwI6OOTsfQfek8sLwgyjOXAu+wKhLEoaOLTjbijk6E2WONYpH9ZU2mNtR+lZ2B4uwr+usqGuVfFT9tMtGvGw==}
         engines: {node: '>=12'}
         cpu: [x64]
         os: [linux]
    +    requiresBuild: true
    +    dev: true
    +    optional: true
     
    -  '@esbuild/linux-x64@0.20.2':
    -    resolution: {integrity: sha512-1MdwI6OOTsfQfek8sLwgyjOXAu+wKhLEoaOLTjbijk6E2WONYpH9ZU2mNtR+lZ2B4uwr+usqGuVfFT9tMtGvGw==}
    +  /@esbuild/linux-x64@0.21.5:
    +    resolution: {integrity: sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ==}
         engines: {node: '>=12'}
         cpu: [x64]
         os: [linux]
    +    requiresBuild: true
    +    dev: true
    +    optional: true
     
    -  '@esbuild/netbsd-x64@0.18.20':
    +  /@esbuild/netbsd-x64@0.18.20:
         resolution: {integrity: sha512-iO1c++VP6xUBUmltHZoMtCUdPlnPGdBom6IrO4gyKPFFVBKioIImVooR5I83nTew5UOYrk3gIJhbZh8X44y06A==}
         engines: {node: '>=12'}
         cpu: [x64]
         os: [netbsd]
    +    requiresBuild: true
    +    dev: true
    +    optional: true
     
    -  '@esbuild/netbsd-x64@0.19.12':
    -    resolution: {integrity: sha512-3ltjQ7n1owJgFbuC61Oj++XhtzmymoCihNFgT84UAmJnxJfm4sYCiSLTXZtE00VWYpPMYc+ZQmB6xbSdVh0JWA==}
    +  /@esbuild/netbsd-x64@0.20.2:
    +    resolution: {integrity: sha512-K8/DhBxcVQkzYc43yJXDSyjlFeHQJBiowJ0uVL6Tor3jGQfSGHNNJcWxNbOI8v5k82prYqzPuwkzHt3J1T1iZQ==}
         engines: {node: '>=12'}
         cpu: [x64]
         os: [netbsd]
    +    requiresBuild: true
    +    dev: true
    +    optional: true
     
    -  '@esbuild/netbsd-x64@0.20.2':
    -    resolution: {integrity: sha512-K8/DhBxcVQkzYc43yJXDSyjlFeHQJBiowJ0uVL6Tor3jGQfSGHNNJcWxNbOI8v5k82prYqzPuwkzHt3J1T1iZQ==}
    +  /@esbuild/netbsd-x64@0.21.5:
    +    resolution: {integrity: sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg==}
         engines: {node: '>=12'}
         cpu: [x64]
         os: [netbsd]
    +    requiresBuild: true
    +    dev: true
    +    optional: true
     
    -  '@esbuild/openbsd-x64@0.18.20':
    +  /@esbuild/openbsd-x64@0.18.20:
         resolution: {integrity: sha512-e5e4YSsuQfX4cxcygw/UCPIEP6wbIL+se3sxPdCiMbFLBWu0eiZOJ7WoD+ptCLrmjZBK1Wk7I6D/I3NglUGOxg==}
         engines: {node: '>=12'}
         cpu: [x64]
         os: [openbsd]
    +    requiresBuild: true
    +    dev: true
    +    optional: true
     
    -  '@esbuild/openbsd-x64@0.19.12':
    -    resolution: {integrity: sha512-RbrfTB9SWsr0kWmb9srfF+L933uMDdu9BIzdA7os2t0TXhCRjrQyCeOt6wVxr79CKD4c+p+YhCj31HBkYcXebw==}
    +  /@esbuild/openbsd-x64@0.20.2:
    +    resolution: {integrity: sha512-eMpKlV0SThJmmJgiVyN9jTPJ2VBPquf6Kt/nAoo6DgHAoN57K15ZghiHaMvqjCye/uU4X5u3YSMgVBI1h3vKrQ==}
         engines: {node: '>=12'}
         cpu: [x64]
         os: [openbsd]
    +    requiresBuild: true
    +    dev: true
    +    optional: true
     
    -  '@esbuild/openbsd-x64@0.20.2':
    -    resolution: {integrity: sha512-eMpKlV0SThJmmJgiVyN9jTPJ2VBPquf6Kt/nAoo6DgHAoN57K15ZghiHaMvqjCye/uU4X5u3YSMgVBI1h3vKrQ==}
    +  /@esbuild/openbsd-x64@0.21.5:
    +    resolution: {integrity: sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow==}
         engines: {node: '>=12'}
         cpu: [x64]
         os: [openbsd]
    +    requiresBuild: true
    +    dev: true
    +    optional: true
     
    -  '@esbuild/sunos-x64@0.18.20':
    +  /@esbuild/sunos-x64@0.18.20:
         resolution: {integrity: sha512-kDbFRFp0YpTQVVrqUd5FTYmWo45zGaXe0X8E1G/LKFC0v8x0vWrhOWSLITcCn63lmZIxfOMXtCfti/RxN/0wnQ==}
         engines: {node: '>=12'}
         cpu: [x64]
         os: [sunos]
    +    requiresBuild: true
    +    dev: true
    +    optional: true
     
    -  '@esbuild/sunos-x64@0.19.12':
    -    resolution: {integrity: sha512-HKjJwRrW8uWtCQnQOz9qcU3mUZhTUQvi56Q8DPTLLB+DawoiQdjsYq+j+D3s9I8VFtDr+F9CjgXKKC4ss89IeA==}
    +  /@esbuild/sunos-x64@0.20.2:
    +    resolution: {integrity: sha512-2UyFtRC6cXLyejf/YEld4Hajo7UHILetzE1vsRcGL3earZEW77JxrFjH4Ez2qaTiEfMgAXxfAZCm1fvM/G/o8w==}
         engines: {node: '>=12'}
         cpu: [x64]
         os: [sunos]
    +    requiresBuild: true
    +    dev: true
    +    optional: true
     
    -  '@esbuild/sunos-x64@0.20.2':
    -    resolution: {integrity: sha512-2UyFtRC6cXLyejf/YEld4Hajo7UHILetzE1vsRcGL3earZEW77JxrFjH4Ez2qaTiEfMgAXxfAZCm1fvM/G/o8w==}
    +  /@esbuild/sunos-x64@0.21.5:
    +    resolution: {integrity: sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg==}
         engines: {node: '>=12'}
         cpu: [x64]
         os: [sunos]
    +    requiresBuild: true
    +    dev: true
    +    optional: true
     
    -  '@esbuild/win32-arm64@0.18.20':
    +  /@esbuild/win32-arm64@0.18.20:
         resolution: {integrity: sha512-ddYFR6ItYgoaq4v4JmQQaAI5s7npztfV4Ag6NrhiaW0RrnOXqBkgwZLofVTlq1daVTQNhtI5oieTvkRPfZrePg==}
         engines: {node: '>=12'}
         cpu: [arm64]
         os: [win32]
    +    requiresBuild: true
    +    dev: true
    +    optional: true
     
    -  '@esbuild/win32-arm64@0.19.12':
    -    resolution: {integrity: sha512-URgtR1dJnmGvX864pn1B2YUYNzjmXkuJOIqG2HdU62MVS4EHpU2946OZoTMnRUHklGtJdJZ33QfzdjGACXhn1A==}
    +  /@esbuild/win32-arm64@0.20.2:
    +    resolution: {integrity: sha512-GRibxoawM9ZCnDxnP3usoUDO9vUkpAxIIZ6GQI+IlVmr5kP3zUq+l17xELTHMWTWzjxa2guPNyrpq1GWmPvcGQ==}
         engines: {node: '>=12'}
         cpu: [arm64]
         os: [win32]
    +    requiresBuild: true
    +    dev: true
    +    optional: true
     
    -  '@esbuild/win32-arm64@0.20.2':
    -    resolution: {integrity: sha512-GRibxoawM9ZCnDxnP3usoUDO9vUkpAxIIZ6GQI+IlVmr5kP3zUq+l17xELTHMWTWzjxa2guPNyrpq1GWmPvcGQ==}
    +  /@esbuild/win32-arm64@0.21.5:
    +    resolution: {integrity: sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A==}
         engines: {node: '>=12'}
         cpu: [arm64]
         os: [win32]
    +    requiresBuild: true
    +    dev: true
    +    optional: true
     
    -  '@esbuild/win32-ia32@0.18.20':
    +  /@esbuild/win32-ia32@0.18.20:
         resolution: {integrity: sha512-Wv7QBi3ID/rROT08SABTS7eV4hX26sVduqDOTe1MvGMjNd3EjOz4b7zeexIR62GTIEKrfJXKL9LFxTYgkyeu7g==}
         engines: {node: '>=12'}
         cpu: [ia32]
         os: [win32]
    +    requiresBuild: true
    +    dev: true
    +    optional: true
     
    -  '@esbuild/win32-ia32@0.19.12':
    -    resolution: {integrity: sha512-+ZOE6pUkMOJfmxmBZElNOx72NKpIa/HFOMGzu8fqzQJ5kgf6aTGrcJaFsNiVMH4JKpMipyK+7k0n2UXN7a8YKQ==}
    +  /@esbuild/win32-ia32@0.20.2:
    +    resolution: {integrity: sha512-HfLOfn9YWmkSKRQqovpnITazdtquEW8/SoHW7pWpuEeguaZI4QnCRW6b+oZTztdBnZOS2hqJ6im/D5cPzBTTlQ==}
         engines: {node: '>=12'}
         cpu: [ia32]
         os: [win32]
    +    requiresBuild: true
    +    dev: true
    +    optional: true
     
    -  '@esbuild/win32-ia32@0.20.2':
    -    resolution: {integrity: sha512-HfLOfn9YWmkSKRQqovpnITazdtquEW8/SoHW7pWpuEeguaZI4QnCRW6b+oZTztdBnZOS2hqJ6im/D5cPzBTTlQ==}
    +  /@esbuild/win32-ia32@0.21.5:
    +    resolution: {integrity: sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA==}
         engines: {node: '>=12'}
         cpu: [ia32]
         os: [win32]
    +    requiresBuild: true
    +    dev: true
    +    optional: true
     
    -  '@esbuild/win32-x64@0.18.20':
    +  /@esbuild/win32-x64@0.18.20:
         resolution: {integrity: sha512-kTdfRcSiDfQca/y9QIkng02avJ+NCaQvrMejlsB3RRv5sE9rRoeBPISaZpKxHELzRxZyLvNts1P27W3wV+8geQ==}
         engines: {node: '>=12'}
         cpu: [x64]
         os: [win32]
    +    requiresBuild: true
    +    dev: true
    +    optional: true
     
    -  '@esbuild/win32-x64@0.19.12':
    -    resolution: {integrity: sha512-T1QyPSDCyMXaO3pzBkF96E8xMkiRYbUEZADd29SyPGabqxMViNoii+NcK7eWJAEoU6RZyEm5lVSIjTmcdoB9HA==}
    +  /@esbuild/win32-x64@0.20.2:
    +    resolution: {integrity: sha512-N49X4lJX27+l9jbLKSqZ6bKNjzQvHaT8IIFUy+YIqmXQdjYCToGWwOItDrfby14c78aDd5NHQl29xingXfCdLQ==}
         engines: {node: '>=12'}
         cpu: [x64]
         os: [win32]
    +    requiresBuild: true
    +    dev: true
    +    optional: true
     
    -  '@esbuild/win32-x64@0.20.2':
    -    resolution: {integrity: sha512-N49X4lJX27+l9jbLKSqZ6bKNjzQvHaT8IIFUy+YIqmXQdjYCToGWwOItDrfby14c78aDd5NHQl29xingXfCdLQ==}
    +  /@esbuild/win32-x64@0.21.5:
    +    resolution: {integrity: sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw==}
         engines: {node: '>=12'}
         cpu: [x64]
         os: [win32]
    +    requiresBuild: true
    +    dev: true
    +    optional: true
     
    -  '@eslint-community/eslint-utils@4.4.0':
    +  /@eslint-community/eslint-utils@4.4.0(eslint@8.57.0):
         resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==}
         engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
         peerDependencies:
           eslint: ^6.0.0 || ^7.0.0 || >=8.0.0
    +    dependencies:
    +      eslint: 8.57.0
    +      eslint-visitor-keys: 3.4.3
    +    dev: true
     
    -  '@eslint-community/regexpp@4.10.0':
    -    resolution: {integrity: sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==}
    +  /@eslint-community/regexpp@4.10.1:
    +    resolution: {integrity: sha512-Zm2NGpWELsQAD1xsJzGQpYfvICSsFkEpU0jxBjfdC6uNEWXcHnfs9hScFWtXVDVl+rBQJGrl4g1vcKIejpH9dA==}
         engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0}
    +    dev: true
     
    -  '@eslint/eslintrc@2.1.4':
    +  /@eslint/eslintrc@2.1.4:
         resolution: {integrity: sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==}
         engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
    +    dependencies:
    +      ajv: 6.12.6
    +      debug: 4.3.5(supports-color@8.1.1)
    +      espree: 9.6.1
    +      globals: 13.24.0
    +      ignore: 5.3.1
    +      import-fresh: 3.3.0
    +      js-yaml: 4.1.0
    +      minimatch: 3.1.2
    +      strip-json-comments: 3.1.1
    +    transitivePeerDependencies:
    +      - supports-color
    +    dev: true
     
    -  '@eslint/js@8.57.0':
    +  /@eslint/js@8.57.0:
         resolution: {integrity: sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==}
         engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
    +    dev: true
     
    -  '@fastify/ajv-compiler@1.1.0':
    +  /@fastify/ajv-compiler@1.1.0:
         resolution: {integrity: sha512-gvCOUNpXsWrIQ3A4aXCLIdblL0tDq42BG/2Xw7oxbil9h11uow10ztS2GuFazNBfjbrsZ5nl+nPl5jDSjj5TSg==}
    +    dependencies:
    +      ajv: 6.12.6
    +    dev: true
     
    -  '@fastify/error@2.0.0':
    +  /@fastify/error@2.0.0:
         resolution: {integrity: sha512-wI3fpfDT0t7p8E6dA2eTECzzOd+bZsZCJ2Hcv+Onn2b7ZwK3RwD27uW2QDaMtQhAfWQQP+WNK7nKf0twLsBf9w==}
    +    dev: true
     
    -  '@floating-ui/core@1.6.0':
    -    resolution: {integrity: sha512-PcF++MykgmTj3CIyOQbKA/hDzOAiqI3mhuoN44WRCopIs1sgoDoU4oty4Jtqaj/y3oDU6fnVSm4QG0a3t5i0+g==}
    +  /@floating-ui/core@1.6.2:
    +    resolution: {integrity: sha512-+2XpQV9LLZeanU4ZevzRnGFg2neDeKHgFLjP6YLW+tly0IvrhqT4u8enLGjLH3qeh85g19xY5rsAusfwTdn5lg==}
    +    dependencies:
    +      '@floating-ui/utils': 0.2.2
    +    dev: false
     
    -  '@floating-ui/dom@1.6.3':
    -    resolution: {integrity: sha512-RnDthu3mzPlQ31Ss/BTwQ1zjzIhr3lk1gZB1OC56h/1vEtaXkESrOqL5fQVMfXpwGtRwX+YsZBdyHtJMQnkArw==}
    +  /@floating-ui/dom@1.6.5:
    +    resolution: {integrity: sha512-Nsdud2X65Dz+1RHjAIP0t8z5e2ff/IRbei6BqFrl1urT8sDVzM1HMQ+R0XcU5ceRfyO3I6ayeqIfh+6Wb8LGTw==}
    +    dependencies:
    +      '@floating-ui/core': 1.6.2
    +      '@floating-ui/utils': 0.2.2
    +    dev: false
     
    -  '@floating-ui/utils@0.2.1':
    -    resolution: {integrity: sha512-9TANp6GPoMtYzQdt54kfAyMmz1+osLlXdg2ENroU7zzrtflTLrrC/lgrIfaSe+Wu0b89GKccT7vxXA0MoAIO+Q==}
    +  /@floating-ui/utils@0.2.2:
    +    resolution: {integrity: sha512-J4yDIIthosAsRZ5CPYP/jQvUAQtlZTTD/4suA08/FEnlxqW3sKS9iAhgsa9VYLZ6vDHn/ixJgIqRQPotoBjxIw==}
    +    dev: false
     
    -  '@floating-ui/vue@0.2.1':
    +  /@floating-ui/vue@0.2.1(vue@3.4.27):
         resolution: {integrity: sha512-HE+EIeakID7wI6vUwF0yMpaW48bNaPj8QtnQaRMkaQFhQReVBA4bY6fmJ3J7X+dqVgDbMhyfCG0fBJfdQMdWxQ==}
         peerDependencies:
           '@vue/composition-api': ^1.0.0-rc.1
    @@ -2163,67 +3631,140 @@ packages:
         peerDependenciesMeta:
           '@vue/composition-api':
             optional: true
    +    dependencies:
    +      '@floating-ui/dom': 1.6.5
    +      vue: 3.4.27(typescript@5.4.5)
    +      vue-demi: 0.13.11(vue@3.4.27)
    +    dev: false
     
    -  '@hapi/hoek@9.3.0':
    +  /@hapi/hoek@9.3.0:
         resolution: {integrity: sha512-/c6rf4UJlmHlC9b5BaNvzAcFv7HZ2QHaV0D4/HNlBdvFnvQq8RI4kYdhyPCl7Xj+oWvTWQ8ujhqS53LIgAe6KQ==}
    +    dev: true
     
    -  '@hapi/topo@5.1.0':
    +  /@hapi/topo@5.1.0:
         resolution: {integrity: sha512-foQZKJig7Ob0BMAYBfcJk8d77QtOe7Wo4ox7ff1lQYoNNAb6jwcY1ncdoy2e9wQZzvNy7ODZCYJkK8kzmcAnAg==}
    +    dependencies:
    +      '@hapi/hoek': 9.3.0
    +    dev: true
     
    -  '@headlessui-float/vue@0.11.4':
    +  /@headlessui-float/vue@0.11.4(vue@3.4.27):
         resolution: {integrity: sha512-hNGQTT3trknSB78ZI3usvnJACLyEUmacvk5Q8JQizJ8k+8GYLvhKklGIhJVO1E3litEzW6yyjPgfg6aEJ+1p6g==}
         peerDependencies:
           vue: ^3.0.0
    +    dependencies:
    +      '@floating-ui/core': 1.6.2
    +      '@floating-ui/dom': 1.6.5
    +      '@floating-ui/vue': 0.2.1(vue@3.4.27)
    +      vue: 3.4.27(typescript@5.4.5)
    +    transitivePeerDependencies:
    +      - '@vue/composition-api'
    +    dev: false
     
    -  '@headlessui/tailwindcss@0.2.0':
    -    resolution: {integrity: sha512-fpL830Fln1SykOCboExsWr3JIVeQKieLJ3XytLe/tt1A0XzqUthOftDmjcCYLW62w7mQI7wXcoPXr3tZ9QfGxw==}
    +  /@headlessui/tailwindcss@0.2.1(tailwindcss@3.4.4):
    +    resolution: {integrity: sha512-2+5+NZ+RzMyrVeCZOxdbvkUSssSxGvcUxphkIfSVLpRiKsj+/63T2TOL9dBYMXVfj/CGr6hMxSRInzXv6YY7sA==}
         engines: {node: '>=10'}
         peerDependencies:
           tailwindcss: ^3.0
    +    dependencies:
    +      tailwindcss: 3.4.4
    +    dev: false
     
    -  '@headlessui/vue@1.7.19':
    -    resolution: {integrity: sha512-VFjKPybogux/5/QYGSq4zgG/x3RcxId15W8uguAJAjPBxelI23dwjOjTx/mIiMkM/Hd3rzFxcf2aIp56eEWRcA==}
    +  /@headlessui/vue@1.7.22(vue@3.4.27):
    +    resolution: {integrity: sha512-Hoffjoolq1rY+LOfJ+B/OvkhuBXXBFgd8oBlN+l1TApma2dB0En0ucFZrwQtb33SmcCqd32EQd0y07oziXWNYg==}
         engines: {node: '>=10'}
         peerDependencies:
           vue: ^3.2.0
    +    dependencies:
    +      '@tanstack/vue-virtual': 3.5.1(vue@3.4.27)
    +      vue: 3.4.27(typescript@5.4.5)
    +    dev: false
     
    -  '@humanwhocodes/config-array@0.11.14':
    +  /@humanwhocodes/config-array@0.11.14:
         resolution: {integrity: sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==}
         engines: {node: '>=10.10.0'}
    +    deprecated: Use @eslint/config-array instead
    +    dependencies:
    +      '@humanwhocodes/object-schema': 2.0.3
    +      debug: 4.3.5(supports-color@8.1.1)
    +      minimatch: 3.1.2
    +    transitivePeerDependencies:
    +      - supports-color
    +    dev: true
     
    -  '@humanwhocodes/module-importer@1.0.1':
    +  /@humanwhocodes/module-importer@1.0.1:
         resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==}
         engines: {node: '>=12.22'}
    +    dev: true
     
    -  '@humanwhocodes/object-schema@2.0.2':
    -    resolution: {integrity: sha512-6EwiSjwWYP7pTckG6I5eyFANjPhmPjUX9JRLUSfNPC7FX7zK9gyZAfUEaECL6ALTpGX5AjnBq3C9XmVWPitNpw==}
    +  /@humanwhocodes/object-schema@2.0.3:
    +    resolution: {integrity: sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==}
    +    deprecated: Use @eslint/object-schema instead
    +    dev: true
     
    -  '@iconify-json/carbon@1.1.32':
    -    resolution: {integrity: sha512-9X8wVI7AmcnjTyOdDoCgyNwcFL9lb++nacDS2yLANTc27F4y9Q8pJIfUVsakR4KcGqSSBCyXwEmBDeopeTZFqA==}
    +  /@iconify-json/carbon@1.1.35:
    +    resolution: {integrity: sha512-zKqioWceqFRiLJvxpjcCpVP3j2YcokYshlbwSAHBhOih5XNUymUS3hm1kpV4KljMI1xWH96UcozHaaf6x4YzdA==}
    +    dependencies:
    +      '@iconify/types': 2.0.0
    +    dev: true
     
    -  '@iconify/types@2.0.0':
    +  /@iconify/types@2.0.0:
         resolution: {integrity: sha512-+wluvCrRhXrhyOmRDJ3q8mux9JkKy5SJ/v8ol2tu4FVjyYvtEzkc/3pK15ET6RKg4b4w4BmTk1+gsCUhf21Ykg==}
    +    dev: true
     
    -  '@iconify/utils@2.1.23':
    -    resolution: {integrity: sha512-YGNbHKM5tyDvdWZ92y2mIkrfvm5Fvhe6WJSkWu7vvOFhMtYDP0casZpoRz0XEHZCrYsR4stdGT3cZ52yp5qZdQ==}
    +  /@iconify/utils@2.1.24:
    +    resolution: {integrity: sha512-H8r2KpL5uKyrkb3z9/3HD/22JcxqW3BJyjEWZhX2T7DehnYVZthEap1cNsEl/UtCDC3TlpNmwiPX8wg3y8E4dg==}
    +    dependencies:
    +      '@antfu/install-pkg': 0.1.1
    +      '@antfu/utils': 0.7.8
    +      '@iconify/types': 2.0.0
    +      debug: 4.3.5(supports-color@8.1.1)
    +      kolorist: 1.8.0
    +      local-pkg: 0.5.0
    +      mlly: 1.7.1
    +    transitivePeerDependencies:
    +      - supports-color
    +    dev: true
     
    -  '@isaacs/cliui@8.0.2':
    +  /@isaacs/cliui@8.0.2:
         resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==}
         engines: {node: '>=12'}
    +    dependencies:
    +      string-width: 5.1.2
    +      string-width-cjs: /string-width@4.2.3
    +      strip-ansi: 7.1.0
    +      strip-ansi-cjs: /strip-ansi@6.0.1
    +      wrap-ansi: 8.1.0
    +      wrap-ansi-cjs: /wrap-ansi@7.0.0
     
    -  '@istanbuljs/load-nyc-config@1.1.0':
    +  /@istanbuljs/load-nyc-config@1.1.0:
         resolution: {integrity: sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==}
         engines: {node: '>=8'}
    +    dependencies:
    +      camelcase: 5.3.1
    +      find-up: 4.1.0
    +      get-package-type: 0.1.0
    +      js-yaml: 3.14.1
    +      resolve-from: 5.0.0
    +    dev: true
     
    -  '@istanbuljs/schema@0.1.3':
    +  /@istanbuljs/schema@0.1.3:
         resolution: {integrity: sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==}
         engines: {node: '>=8'}
    +    dev: true
     
    -  '@jest/console@29.7.0':
    +  /@jest/console@29.7.0:
         resolution: {integrity: sha512-5Ni4CU7XHQi32IJ398EEP4RrB8eV09sXP2ROqD4bksHrnTree52PsxvX8tpL8LvTZ3pFzXyPbNQReSN41CAhOg==}
         engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
    +    dependencies:
    +      '@jest/types': 29.6.3
    +      '@types/node': 20.14.2
    +      chalk: 4.1.2
    +      jest-message-util: 29.7.0
    +      jest-util: 29.7.0
    +      slash: 3.0.0
    +    dev: true
     
    -  '@jest/core@29.7.0':
    +  /@jest/core@29.7.0:
         resolution: {integrity: sha512-n7aeXWKMnGtDA48y8TLWJPJmLmmZ642Ceo78cYWEpiD7FzDgmNDV/GCVRorPABdXLJZ/9wzzgZAlHjXjxDHGsg==}
         engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
         peerDependencies:
    @@ -2231,8662 +3772,20 @@ packages:
         peerDependenciesMeta:
           node-notifier:
             optional: true
    -
    -  '@jest/environment@29.7.0':
    -    resolution: {integrity: sha512-aQIfHDq33ExsN4jP1NWGXhxgQ/wixs60gDiKO+XVMd8Mn0NWPWgc34ZQDTb2jKaUWQ7MuwoitXAsN2XVXNMpAw==}
    -    engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
    -
    -  '@jest/expect-utils@29.7.0':
    -    resolution: {integrity: sha512-GlsNBWiFQFCVi9QVSx7f5AgMeLxe9YCCs5PuP2O2LdjDAA8Jh9eX7lA1Jq/xdXw3Wb3hyvlFNfZIfcRetSzYcA==}
    -    engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
    -
    -  '@jest/expect@29.7.0':
    -    resolution: {integrity: sha512-8uMeAMycttpva3P1lBHB8VciS9V0XAr3GymPpipdyQXbBcuhkLQOSe8E/p92RyAdToS6ZD1tFkX+CkhoECE0dQ==}
    -    engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
    -
    -  '@jest/fake-timers@29.7.0':
    -    resolution: {integrity: sha512-q4DH1Ha4TTFPdxLsqDXK1d3+ioSL7yL5oCMJZgDYm6i+6CygW5E5xVr/D1HdsGxjt1ZWSfUAs9OxSB/BNelWrQ==}
    -    engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
    -
    -  '@jest/globals@29.7.0':
    -    resolution: {integrity: sha512-mpiz3dutLbkW2MNFubUGUEVLkTGiqW6yLVTA+JbP6fI6J5iL9Y0Nlg8k95pcF8ctKwCS7WVxteBs29hhfAotzQ==}
    -    engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
    -
    -  '@jest/reporters@29.7.0':
    -    resolution: {integrity: sha512-DApq0KJbJOEzAFYjHADNNxAE3KbhxQB1y5Kplb5Waqw6zVbuWatSnMjE5gs8FUgEPmNsnZA3NCWl9NG0ia04Pg==}
    -    engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
    -    peerDependencies:
    -      node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0
    -    peerDependenciesMeta:
    -      node-notifier:
    -        optional: true
    -
    -  '@jest/schemas@29.6.3':
    -    resolution: {integrity: sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==}
    -    engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
    -
    -  '@jest/source-map@29.6.3':
    -    resolution: {integrity: sha512-MHjT95QuipcPrpLM+8JMSzFx6eHp5Bm+4XeFDJlwsvVBjmKNiIAvasGK2fxz2WbGRlnvqehFbh07MMa7n3YJnw==}
    -    engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
    -
    -  '@jest/test-result@29.7.0':
    -    resolution: {integrity: sha512-Fdx+tv6x1zlkJPcWXmMDAG2HBnaR9XPSd5aDWQVsfrZmLVT3lU1cwyxLgRmXR9yrq4NBoEm9BMsfgFzTQAbJYA==}
    -    engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
    -
    -  '@jest/test-sequencer@29.7.0':
    -    resolution: {integrity: sha512-GQwJ5WZVrKnOJuiYiAF52UNUJXgTZx1NHjFSEB0qEMmSZKAkdMoIzw/Cj6x6NF4AvV23AUqDpFzQkN/eYCYTxw==}
    -    engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
    -
    -  '@jest/transform@29.7.0':
    -    resolution: {integrity: sha512-ok/BTPFzFKVMwO5eOHRrvnBVHdRy9IrsrW1GpMaQ9MCnilNLXQKmAX8s1YXDFaai9xJpac2ySzV0YeRRECr2Vw==}
    -    engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
    -
    -  '@jest/types@29.6.3':
    -    resolution: {integrity: sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==}
    -    engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
    -
    -  '@jridgewell/gen-mapping@0.3.5':
    -    resolution: {integrity: sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==}
    -    engines: {node: '>=6.0.0'}
    -
    -  '@jridgewell/resolve-uri@3.1.2':
    -    resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==}
    -    engines: {node: '>=6.0.0'}
    -
    -  '@jridgewell/set-array@1.2.1':
    -    resolution: {integrity: sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==}
    -    engines: {node: '>=6.0.0'}
    -
    -  '@jridgewell/source-map@0.3.6':
    -    resolution: {integrity: sha512-1ZJTZebgqllO79ue2bm3rIGud/bOe0pP5BjSRCRxxYkEZS8STV7zN84UBbiYu7jy+eCKSnVIUgoWWE/tt+shMQ==}
    -
    -  '@jridgewell/sourcemap-codec@1.4.15':
    -    resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==}
    -
    -  '@jridgewell/trace-mapping@0.3.25':
    -    resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==}
    -
    -  '@jsdevtools/ono@7.1.3':
    -    resolution: {integrity: sha512-4JQNk+3mVzK3xh2rqd6RB4J46qUR19azEHBneZyTZM+c456qOrbbM/5xcR8huNCCcbVt7+UmizG6GuUvPvKUYg==}
    -
    -  '@leichtgewicht/ip-codec@2.0.4':
    -    resolution: {integrity: sha512-Hcv+nVC0kZnQ3tD9GVu5xSMR4VVYOteQIr/hwFPVEvPdlXqgGEuRjiheChHgdM+JyqdgNcmzZOX/tnl0JOiI7A==}
    -
    -  '@mdi/font@7.4.47':
    -    resolution: {integrity: sha512-43MtGpd585SNzHZPcYowu/84Vz2a2g31TvPMTm9uTiCSWzaheQySUcSyUH/46fPnuPQWof2yd0pGBtzee/IQWw==}
    -
    -  '@microsoft/tsdoc-config@0.16.2':
    -    resolution: {integrity: sha512-OGiIzzoBLgWWR0UdRJX98oYO+XKGf7tiK4Zk6tQ/E4IJqGCe7dvkTvgDZV5cFJUzLGDOjeAXrnZoA6QkVySuxw==}
    -
    -  '@microsoft/tsdoc@0.14.2':
    -    resolution: {integrity: sha512-9b8mPpKrfeGRuhFH5iO1iwCLeIIsV6+H1sRfxbkoGXIyQE2BTsPd9zqSqQJ+pv5sJ/hT5M1zvOFL02MnEezFug==}
    -
    -  '@nodelib/fs.scandir@2.1.5':
    -    resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==}
    -    engines: {node: '>= 8'}
    -
    -  '@nodelib/fs.stat@2.0.5':
    -    resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==}
    -    engines: {node: '>= 8'}
    -
    -  '@nodelib/fs.walk@1.2.8':
    -    resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==}
    -    engines: {node: '>= 8'}
    -
    -  '@pkgjs/parseargs@0.11.0':
    -    resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==}
    -    engines: {node: '>=14'}
    -
    -  '@pkgr/core@0.1.1':
    -    resolution: {integrity: sha512-cq8o4cWH0ibXh9VGi5P20Tu9XF/0fFXl9EUinr9QfTM7a7p0oTA4iJRCQWppXR1Pg8dSM0UCItCkPwsk9qWWYA==}
    -    engines: {node: ^12.20.0 || ^14.18.0 || >=16.0.0}
    -
    -  '@polka/url@1.0.0-next.25':
    -    resolution: {integrity: sha512-j7P6Rgr3mmtdkeDGTe0E/aYyWEWVtc5yFXtHCRHs28/jptDEWfaVOc5T7cblqy1XKPPfCxJc/8DwQ5YgLOZOVQ==}
    -
    -  '@rollup/plugin-babel@5.3.1':
    -    resolution: {integrity: sha512-WFfdLWU/xVWKeRQnKmIAQULUI7Il0gZnBIH/ZFO069wYIfPu+8zrfp/KMW0atmELoRDq8FbiP3VCss9MhCut7Q==}
    -    engines: {node: '>= 10.0.0'}
    -    peerDependencies:
    -      '@babel/core': ^7.0.0
    -      '@types/babel__core': ^7.1.9
    -      rollup: ^1.20.0||^2.0.0
    -    peerDependenciesMeta:
    -      '@types/babel__core':
    -        optional: true
    -
    -  '@rollup/plugin-node-resolve@15.2.3':
    -    resolution: {integrity: sha512-j/lym8nf5E21LwBT4Df1VD6hRO2L2iwUeUmP7litikRsVp1H6NWx20NEp0Y7su+7XGc476GnXXc4kFeZNGmaSQ==}
    -    engines: {node: '>=14.0.0'}
    -    peerDependencies:
    -      rollup: ^2.78.0||^3.0.0||^4.0.0
    -    peerDependenciesMeta:
    -      rollup:
    -        optional: true
    -
    -  '@rollup/plugin-replace@2.4.2':
    -    resolution: {integrity: sha512-IGcu+cydlUMZ5En85jxHH4qj2hta/11BHq95iHEyb2sbgiN0eCdzvUcHw5gt9pBL5lTi4JDYJ1acCoMGpTvEZg==}
    -    peerDependencies:
    -      rollup: ^1.20.0 || ^2.0.0
    -
    -  '@rollup/plugin-terser@0.4.4':
    -    resolution: {integrity: sha512-XHeJC5Bgvs8LfukDwWZp7yeqin6ns8RTl2B9avbejt6tZqsqvVoWI7ZTQrcNsfKEDWBTnTxM8nMDkO2IFFbd0A==}
    -    engines: {node: '>=14.0.0'}
    -    peerDependencies:
    -      rollup: ^2.0.0||^3.0.0||^4.0.0
    -    peerDependenciesMeta:
    -      rollup:
    -        optional: true
    -
    -  '@rollup/plugin-typescript@11.1.6':
    -    resolution: {integrity: sha512-R92yOmIACgYdJ7dJ97p4K69I8gg6IEHt8M7dUBxN3W6nrO8uUxX5ixl0yU/N3aZTi8WhPuICvOHXQvF6FaykAA==}
    -    engines: {node: '>=14.0.0'}
    -    peerDependencies:
    -      rollup: ^2.14.0||^3.0.0||^4.0.0
    -      tslib: '*'
    -      typescript: '>=3.7.0'
    -    peerDependenciesMeta:
    -      rollup:
    -        optional: true
    -      tslib:
    -        optional: true
    -
    -  '@rollup/pluginutils@3.1.0':
    -    resolution: {integrity: sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg==}
    -    engines: {node: '>= 8.0.0'}
    -    peerDependencies:
    -      rollup: ^1.20.0||^2.0.0
    -
    -  '@rollup/pluginutils@5.1.0':
    -    resolution: {integrity: sha512-XTIWOPPcpvyKI6L1NHo0lFlCyznUEyPmPY1mc3KpPVDYulHSTvyeLNVW00QTLIAFNhR3kYnJTQHeGqU4M3n09g==}
    -    engines: {node: '>=14.0.0'}
    -    peerDependencies:
    -      rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0
    -    peerDependenciesMeta:
    -      rollup:
    -        optional: true
    -
    -  '@rollup/rollup-android-arm-eabi@4.17.2':
    -    resolution: {integrity: sha512-NM0jFxY8bB8QLkoKxIQeObCaDlJKewVlIEkuyYKm5An1tdVZ966w2+MPQ2l8LBZLjR+SgyV+nRkTIunzOYBMLQ==}
    -    cpu: [arm]
    -    os: [android]
    -
    -  '@rollup/rollup-android-arm64@4.17.2':
    -    resolution: {integrity: sha512-yeX/Usk7daNIVwkq2uGoq2BYJKZY1JfyLTaHO/jaiSwi/lsf8fTFoQW/n6IdAsx5tx+iotu2zCJwz8MxI6D/Bw==}
    -    cpu: [arm64]
    -    os: [android]
    -
    -  '@rollup/rollup-darwin-arm64@4.17.2':
    -    resolution: {integrity: sha512-kcMLpE6uCwls023+kknm71ug7MZOrtXo+y5p/tsg6jltpDtgQY1Eq5sGfHcQfb+lfuKwhBmEURDga9N0ol4YPw==}
    -    cpu: [arm64]
    -    os: [darwin]
    -
    -  '@rollup/rollup-darwin-x64@4.17.2':
    -    resolution: {integrity: sha512-AtKwD0VEx0zWkL0ZjixEkp5tbNLzX+FCqGG1SvOu993HnSz4qDI6S4kGzubrEJAljpVkhRSlg5bzpV//E6ysTQ==}
    -    cpu: [x64]
    -    os: [darwin]
    -
    -  '@rollup/rollup-linux-arm-gnueabihf@4.17.2':
    -    resolution: {integrity: sha512-3reX2fUHqN7sffBNqmEyMQVj/CKhIHZd4y631duy0hZqI8Qoqf6lTtmAKvJFYa6bhU95B1D0WgzHkmTg33In0A==}
    -    cpu: [arm]
    -    os: [linux]
    -
    -  '@rollup/rollup-linux-arm-musleabihf@4.17.2':
    -    resolution: {integrity: sha512-uSqpsp91mheRgw96xtyAGP9FW5ChctTFEoXP0r5FAzj/3ZRv3Uxjtc7taRQSaQM/q85KEKjKsZuiZM3GyUivRg==}
    -    cpu: [arm]
    -    os: [linux]
    -
    -  '@rollup/rollup-linux-arm64-gnu@4.17.2':
    -    resolution: {integrity: sha512-EMMPHkiCRtE8Wdk3Qhtciq6BndLtstqZIroHiiGzB3C5LDJmIZcSzVtLRbwuXuUft1Cnv+9fxuDtDxz3k3EW2A==}
    -    cpu: [arm64]
    -    os: [linux]
    -
    -  '@rollup/rollup-linux-arm64-musl@4.17.2':
    -    resolution: {integrity: sha512-NMPylUUZ1i0z/xJUIx6VUhISZDRT+uTWpBcjdv0/zkp7b/bQDF+NfnfdzuTiB1G6HTodgoFa93hp0O1xl+/UbA==}
    -    cpu: [arm64]
    -    os: [linux]
    -
    -  '@rollup/rollup-linux-powerpc64le-gnu@4.17.2':
    -    resolution: {integrity: sha512-T19My13y8uYXPw/L/k0JYaX1fJKFT/PWdXiHr8mTbXWxjVF1t+8Xl31DgBBvEKclw+1b00Chg0hxE2O7bTG7GQ==}
    -    cpu: [ppc64]
    -    os: [linux]
    -
    -  '@rollup/rollup-linux-riscv64-gnu@4.17.2':
    -    resolution: {integrity: sha512-BOaNfthf3X3fOWAB+IJ9kxTgPmMqPPH5f5k2DcCsRrBIbWnaJCgX2ll77dV1TdSy9SaXTR5iDXRL8n7AnoP5cg==}
    -    cpu: [riscv64]
    -    os: [linux]
    -
    -  '@rollup/rollup-linux-s390x-gnu@4.17.2':
    -    resolution: {integrity: sha512-W0UP/x7bnn3xN2eYMql2T/+wpASLE5SjObXILTMPUBDB/Fg/FxC+gX4nvCfPBCbNhz51C+HcqQp2qQ4u25ok6g==}
    -    cpu: [s390x]
    -    os: [linux]
    -
    -  '@rollup/rollup-linux-x64-gnu@4.17.2':
    -    resolution: {integrity: sha512-Hy7pLwByUOuyaFC6mAr7m+oMC+V7qyifzs/nW2OJfC8H4hbCzOX07Ov0VFk/zP3kBsELWNFi7rJtgbKYsav9QQ==}
    -    cpu: [x64]
    -    os: [linux]
    -
    -  '@rollup/rollup-linux-x64-musl@4.17.2':
    -    resolution: {integrity: sha512-h1+yTWeYbRdAyJ/jMiVw0l6fOOm/0D1vNLui9iPuqgRGnXA0u21gAqOyB5iHjlM9MMfNOm9RHCQ7zLIzT0x11Q==}
    -    cpu: [x64]
    -    os: [linux]
    -
    -  '@rollup/rollup-win32-arm64-msvc@4.17.2':
    -    resolution: {integrity: sha512-tmdtXMfKAjy5+IQsVtDiCfqbynAQE/TQRpWdVataHmhMb9DCoJxp9vLcCBjEQWMiUYxO1QprH/HbY9ragCEFLA==}
    -    cpu: [arm64]
    -    os: [win32]
    -
    -  '@rollup/rollup-win32-ia32-msvc@4.17.2':
    -    resolution: {integrity: sha512-7II/QCSTAHuE5vdZaQEwJq2ZACkBpQDOmQsE6D6XUbnBHW8IAhm4eTufL6msLJorzrHDFv3CF8oCA/hSIRuZeQ==}
    -    cpu: [ia32]
    -    os: [win32]
    -
    -  '@rollup/rollup-win32-x64-msvc@4.17.2':
    -    resolution: {integrity: sha512-TGGO7v7qOq4CYmSBVEYpI1Y5xDuCEnbVC5Vth8mOsW0gDSzxNrVERPc790IGHsrT2dQSimgMr9Ub3Y1Jci5/8w==}
    -    cpu: [x64]
    -    os: [win32]
    -
    -  '@shikijs/core@1.4.0':
    -    resolution: {integrity: sha512-CxpKLntAi64h3j+TwWqVIQObPTED0FyXLHTTh3MKXtqiQNn2JGcMQQ362LftDbc9kYbDtrksNMNoVmVXzKFYUQ==}
    -
    -  '@shikijs/transformers@1.4.0':
    -    resolution: {integrity: sha512-kzvlWmWYYSeaLKRce/kgmFFORUtBtFahfXRKndor0b60ocYiXufBQM6d6w1PlMuUkdk55aor9xLvy9wy7hTEJg==}
    -
    -  '@sideway/address@4.1.5':
    -    resolution: {integrity: sha512-IqO/DUQHUkPeixNQ8n0JA6102hT9CmaljNTPmQ1u8MEhBo/R4Q8eKLN/vGZxuebwOroDB4cbpjheD4+/sKFK4Q==}
    -
    -  '@sideway/formula@3.0.1':
    -    resolution: {integrity: sha512-/poHZJJVjx3L+zVD6g9KgHfYnb443oi7wLu/XKojDviHy6HOEOA6z1Trk5aR1dGcmPenJEgb2sK2I80LeS3MIg==}
    -
    -  '@sideway/pinpoint@2.0.0':
    -    resolution: {integrity: sha512-RNiOoTPkptFtSVzQevY/yWtZwf/RxyVnPy/OcA9HBM3MlGDnBEYL5B41H0MTn0Uec8Hi+2qUtTfG2WWZBmMejQ==}
    -
    -  '@sinclair/typebox@0.27.8':
    -    resolution: {integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==}
    -
    -  '@sindresorhus/is@4.6.0':
    -    resolution: {integrity: sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw==}
    -    engines: {node: '>=10'}
    -
    -  '@sindresorhus/merge-streams@2.3.0':
    -    resolution: {integrity: sha512-LtoMMhxAlorcGhmFYI+LhPgbPZCkgP6ra1YL604EeF6U98pLlQ3iWIGMdWSC+vWmPBWBNgmDBAhnAobLROJmwg==}
    -    engines: {node: '>=18'}
    -
    -  '@sinonjs/commons@3.0.1':
    -    resolution: {integrity: sha512-K3mCHKQ9sVh8o1C9cxkwxaOmXoAMlDxC1mYyHrjqOWEcBjYr76t96zL2zlj5dUGZ3HSw240X1qgH3Mjf1yJWpQ==}
    -
    -  '@sinonjs/fake-timers@10.3.0':
    -    resolution: {integrity: sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA==}
    -
    -  '@surma/rollup-plugin-off-main-thread@2.2.3':
    -    resolution: {integrity: sha512-lR8q/9W7hZpMWweNiAKU7NQerBnzQQLvi8qnTDU/fxItPhtZVMbPV3lbCwjhIlNBe9Bbr5V+KHshvWmVSG9cxQ==}
    -
    -  '@szmarczak/http-timer@4.0.6':
    -    resolution: {integrity: sha512-4BAffykYOgO+5nzBWYwE3W90sBgLJoUPRWWcL8wlyiM8IB8ipJz3UMJ9KXQd1RKQXpKp8Tutn80HZtWsu2u76w==}
    -    engines: {node: '>=10'}
    -
    -  '@tanstack/virtual-core@3.2.1':
    -    resolution: {integrity: sha512-nO0d4vRzsmpBQCJYyClNHPPoUMI4nXNfrm6IcCRL33ncWMoNVpURh9YebEHPw8KrtsP2VSJIHE4gf4XFGk1OGg==}
    -
    -  '@tanstack/vue-virtual@3.2.1':
    -    resolution: {integrity: sha512-NWJL8zJ4kwCkUzWd2jLKN9NTxj9RjYyaJwtA16j9urfbnMIdKe2g2HNymq0jGj+fmX/9nd58d6h78LrZ7I/J+A==}
    -    peerDependencies:
    -      vue: ^2.7.0 || ^3.0.0
    -
    -  '@tootallnate/once@2.0.0':
    -    resolution: {integrity: sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==}
    -    engines: {node: '>= 10'}
    -
    -  '@types/assert@1.5.10':
    -    resolution: {integrity: sha512-qEO+AUgYab7GVbeDDgUNCU3o0aZUoIMpNAe+w5LDbRxfxQX7vQAdDgwj1AroX+i8KaV56FWg0srXlSZROnsrIQ==}
    -
    -  '@types/babel__core@7.20.5':
    -    resolution: {integrity: sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==}
    -
    -  '@types/babel__generator@7.6.8':
    -    resolution: {integrity: sha512-ASsj+tpEDsEiFr1arWrlN6V3mdfjRMZt6LtK/Vp/kreFLnr5QH5+DhvD5nINYZXzwJvXeGq+05iUXcAzVrqWtw==}
    -
    -  '@types/babel__template@7.4.4':
    -    resolution: {integrity: sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==}
    -
    -  '@types/babel__traverse@7.20.5':
    -    resolution: {integrity: sha512-WXCyOcRtH37HAUkpXhUduaxdm82b4GSlyTqajXviN4EfiuPgNYR109xMCKvpl6zPIpua0DGlMEDCq+g8EdoheQ==}
    -
    -  '@types/body-parser@1.19.5':
    -    resolution: {integrity: sha512-fB3Zu92ucau0iQ0JMCFQE7b/dv8Ot07NI3KaZIkIUNXq82k4eBAqUaneXfleGY9JWskeS9y+u0nXMyspcuQrCg==}
    -
    -  '@types/bonjour@3.5.10':
    -    resolution: {integrity: sha512-p7ienRMiS41Nu2/igbJxxLDWrSZ0WxM8UQgCeO9KhoVF7cOVFkrKsiDr1EsJIla8vV3oEEjGcz11jc5yimhzZw==}
    -
    -  '@types/braces@3.0.4':
    -    resolution: {integrity: sha512-0WR3b8eaISjEW7RpZnclONaLFDf7buaowRHdqLp4vLj54AsSAYWfh3DRbfiYJY9XDxMgx1B4sE1Afw2PGpuHOA==}
    -
    -  '@types/cacheable-request@6.0.3':
    -    resolution: {integrity: sha512-IQ3EbTzGxIigb1I3qPZc1rWJnH0BmSKv5QYTalEwweFvyBDLSAe24zP0le/hyi7ecGfZVlIVAg4BZqb8WBwKqw==}
    -
    -  '@types/connect-history-api-fallback@1.5.0':
    -    resolution: {integrity: sha512-4x5FkPpLipqwthjPsF7ZRbOv3uoLUFkTA9G9v583qi4pACvq0uTELrB8OLUzPWUI4IJIyvM85vzkV1nyiI2Lig==}
    -
    -  '@types/connect@3.4.38':
    -    resolution: {integrity: sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==}
    -
    -  '@types/cors@2.8.17':
    -    resolution: {integrity: sha512-8CGDvrBj1zgo2qE+oS3pOCyYNqCPryMWY2bGfwA0dcfopWGgxs+78df0Rs3rc9THP4JkOhLsAa+15VdpAqkcUA==}
    -
    -  '@types/cytoscape@3.21.0':
    -    resolution: {integrity: sha512-RN5SPiyVDpUP+LoOlxxlOYAMzkE7iuv3gA1jt3Hx2qTwArpZVPPdO+SI0hUj49OAn4QABR7JK9Gi0hibzGE0Aw==}
    -
    -  '@types/d3-array@3.2.1':
    -    resolution: {integrity: sha512-Y2Jn2idRrLzUfAKV2LyRImR+y4oa2AntrgID95SHJxuMUrkNXmanDSed71sRNZysveJVt1hLLemQZIady0FpEg==}
    -
    -  '@types/d3-axis@3.0.6':
    -    resolution: {integrity: sha512-pYeijfZuBd87T0hGn0FO1vQ/cgLk6E1ALJjfkC0oJ8cbwkZl3TpgS8bVBLZN+2jjGgg38epgxb2zmoGtSfvgMw==}
    -
    -  '@types/d3-brush@3.0.6':
    -    resolution: {integrity: sha512-nH60IZNNxEcrh6L1ZSMNA28rj27ut/2ZmI3r96Zd+1jrZD++zD3LsMIjWlvg4AYrHn/Pqz4CF3veCxGjtbqt7A==}
    -
    -  '@types/d3-chord@3.0.6':
    -    resolution: {integrity: sha512-LFYWWd8nwfwEmTZG9PfQxd17HbNPksHBiJHaKuY1XeqscXacsS2tyoo6OdRsjf+NQYeB6XrNL3a25E3gH69lcg==}
    -
    -  '@types/d3-color@3.1.3':
    -    resolution: {integrity: sha512-iO90scth9WAbmgv7ogoq57O9YpKmFBbmoEoCHDB2xMBY0+/KVrqAaCDyCE16dUspeOvIxFFRI+0sEtqDqy2b4A==}
    -
    -  '@types/d3-contour@3.0.6':
    -    resolution: {integrity: sha512-BjzLgXGnCWjUSYGfH1cpdo41/hgdWETu4YxpezoztawmqsvCeep+8QGfiY6YbDvfgHz/DkjeIkkZVJavB4a3rg==}
    -
    -  '@types/d3-delaunay@6.0.4':
    -    resolution: {integrity: sha512-ZMaSKu4THYCU6sV64Lhg6qjf1orxBthaC161plr5KuPHo3CNm8DTHiLw/5Eq2b6TsNP0W0iJrUOFscY6Q450Hw==}
    -
    -  '@types/d3-dispatch@3.0.6':
    -    resolution: {integrity: sha512-4fvZhzMeeuBJYZXRXrRIQnvUYfyXwYmLsdiN7XXmVNQKKw1cM8a5WdID0g1hVFZDqT9ZqZEY5pD44p24VS7iZQ==}
    -
    -  '@types/d3-drag@3.0.7':
    -    resolution: {integrity: sha512-HE3jVKlzU9AaMazNufooRJ5ZpWmLIoc90A37WU2JMmeq28w1FQqCZswHZ3xR+SuxYftzHq6WU6KJHvqxKzTxxQ==}
    -
    -  '@types/d3-dsv@3.0.7':
    -    resolution: {integrity: sha512-n6QBF9/+XASqcKK6waudgL0pf/S5XHPPI8APyMLLUHd8NqouBGLsU8MgtO7NINGtPBtk9Kko/W4ea0oAspwh9g==}
    -
    -  '@types/d3-ease@3.0.2':
    -    resolution: {integrity: sha512-NcV1JjO5oDzoK26oMzbILE6HW7uVXOHLQvHshBUW4UMdZGfiY6v5BeQwh9a9tCzv+CeefZQHJt5SRgK154RtiA==}
    -
    -  '@types/d3-fetch@3.0.7':
    -    resolution: {integrity: sha512-fTAfNmxSb9SOWNB9IoG5c8Hg6R+AzUHDRlsXsDZsNp6sxAEOP0tkP3gKkNSO/qmHPoBFTxNrjDprVHDQDvo5aA==}
    -
    -  '@types/d3-force@3.0.9':
    -    resolution: {integrity: sha512-IKtvyFdb4Q0LWna6ymywQsEYjK/94SGhPrMfEr1TIc5OBeziTi+1jcCvttts8e0UWZIxpasjnQk9MNk/3iS+kA==}
    -
    -  '@types/d3-format@3.0.4':
    -    resolution: {integrity: sha512-fALi2aI6shfg7vM5KiR1wNJnZ7r6UuggVqtDA+xiEdPZQwy/trcQaHnwShLuLdta2rTymCNpxYTiMZX/e09F4g==}
    -
    -  '@types/d3-geo@3.1.0':
    -    resolution: {integrity: sha512-856sckF0oP/diXtS4jNsiQw/UuK5fQG8l/a9VVLeSouf1/PPbBE1i1W852zVwKwYCBkFJJB7nCFTbk6UMEXBOQ==}
    -
    -  '@types/d3-hierarchy@3.1.6':
    -    resolution: {integrity: sha512-qlmD/8aMk5xGorUvTUWHCiumvgaUXYldYjNVOWtYoTYY/L+WwIEAmJxUmTgr9LoGNG0PPAOmqMDJVDPc7DOpPw==}
    -
    -  '@types/d3-interpolate@3.0.4':
    -    resolution: {integrity: sha512-mgLPETlrpVV1YRJIglr4Ez47g7Yxjl1lj7YKsiMCb27VJH9W8NVM6Bb9d8kkpG/uAQS5AmbA48q2IAolKKo1MA==}
    -
    -  '@types/d3-path@1.0.11':
    -    resolution: {integrity: sha512-4pQMp8ldf7UaB/gR8Fvvy69psNHkTpD/pVw3vmEi8iZAB9EPMBruB1JvHO4BIq9QkUUd2lV1F5YXpMNj7JPBpw==}
    -
    -  '@types/d3-path@3.1.0':
    -    resolution: {integrity: sha512-P2dlU/q51fkOc/Gfl3Ul9kicV7l+ra934qBFXCFhrZMOL6du1TM0pm1ThYvENukyOn5h9v+yMJ9Fn5JK4QozrQ==}
    -
    -  '@types/d3-polygon@3.0.2':
    -    resolution: {integrity: sha512-ZuWOtMaHCkN9xoeEMr1ubW2nGWsp4nIql+OPQRstu4ypeZ+zk3YKqQT0CXVe/PYqrKpZAi+J9mTs05TKwjXSRA==}
    -
    -  '@types/d3-quadtree@3.0.6':
    -    resolution: {integrity: sha512-oUzyO1/Zm6rsxKRHA1vH0NEDG58HrT5icx/azi9MF1TWdtttWl0UIUsjEQBBh+SIkrpd21ZjEv7ptxWys1ncsg==}
    -
    -  '@types/d3-random@3.0.3':
    -    resolution: {integrity: sha512-Imagg1vJ3y76Y2ea0871wpabqp613+8/r0mCLEBfdtqC7xMSfj9idOnmBYyMoULfHePJyxMAw3nWhJxzc+LFwQ==}
    -
    -  '@types/d3-sankey@0.12.4':
    -    resolution: {integrity: sha512-YTicQNwioitIlvuvlfW2GfO6sKxpohzg2cSQttlXAPjFwoBuN+XpGLhUN3kLutG/dI3GCLC+DUorqiJt7Naetw==}
    -
    -  '@types/d3-scale-chromatic@3.0.3':
    -    resolution: {integrity: sha512-laXM4+1o5ImZv3RpFAsTRn3TEkzqkytiOY0Dz0sq5cnd1dtNlk6sHLon4OvqaiJb28T0S/TdsBI3Sjsy+keJrw==}
    -
    -  '@types/d3-scale@4.0.8':
    -    resolution: {integrity: sha512-gkK1VVTr5iNiYJ7vWDI+yUFFlszhNMtVeneJ6lUTKPjprsvLLI9/tgEGiXJOnlINJA8FyA88gfnQsHbybVZrYQ==}
    -
    -  '@types/d3-selection@3.0.10':
    -    resolution: {integrity: sha512-cuHoUgS/V3hLdjJOLTT691+G2QoqAjCVLmr4kJXR4ha56w1Zdu8UUQ5TxLRqudgNjwXeQxKMq4j+lyf9sWuslg==}
    -
    -  '@types/d3-shape@1.3.12':
    -    resolution: {integrity: sha512-8oMzcd4+poSLGgV0R1Q1rOlx/xdmozS4Xab7np0eamFFUYq71AU9pOCJEFnkXW2aI/oXdVYJzw6pssbSut7Z9Q==}
    -
    -  '@types/d3-shape@3.1.6':
    -    resolution: {integrity: sha512-5KKk5aKGu2I+O6SONMYSNflgiP0WfZIQvVUMan50wHsLG1G94JlxEVnCpQARfTtzytuY0p/9PXXZb3I7giofIA==}
    -
    -  '@types/d3-time-format@4.0.3':
    -    resolution: {integrity: sha512-5xg9rC+wWL8kdDj153qZcsJ0FWiFt0J5RB6LYUNZjwSnesfblqrI/bJ1wBdJ8OQfncgbJG5+2F+qfqnqyzYxyg==}
    -
    -  '@types/d3-time@3.0.3':
    -    resolution: {integrity: sha512-2p6olUZ4w3s+07q3Tm2dbiMZy5pCDfYwtLXXHUnVzXgQlZ/OyPtUz6OL382BkOuGlLXqfT+wqv8Fw2v8/0geBw==}
    -
    -  '@types/d3-timer@3.0.2':
    -    resolution: {integrity: sha512-Ps3T8E8dZDam6fUyNiMkekK3XUsaUEik+idO9/YjPtfj2qruF8tFBXS7XhtE4iIXBLxhmLjP3SXpLhVf21I9Lw==}
    -
    -  '@types/d3-transition@3.0.8':
    -    resolution: {integrity: sha512-ew63aJfQ/ms7QQ4X7pk5NxQ9fZH/z+i24ZfJ6tJSfqxJMrYLiK01EAs2/Rtw/JreGUsS3pLPNV644qXFGnoZNQ==}
    -
    -  '@types/d3-zoom@3.0.8':
    -    resolution: {integrity: sha512-iqMC4/YlFCSlO8+2Ii1GGGliCAY4XdeG748w5vQUbevlbDu0zSjH/+jojorQVBK/se0j6DUFNPBGSqD3YWYnDw==}
    -
    -  '@types/d3@7.4.3':
    -    resolution: {integrity: sha512-lZXZ9ckh5R8uiFVt8ogUNf+pIrK4EsWrx2Np75WvF/eTpJ0FMHNhjXk8CKEx/+gpHbNQyJWehbFaTvqmHWB3ww==}
    -
    -  '@types/debug@4.1.12':
    -    resolution: {integrity: sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==}
    -
    -  '@types/dompurify@3.0.5':
    -    resolution: {integrity: sha512-1Wg0g3BtQF7sSb27fJQAKck1HECM6zV1EB66j8JH9i3LCjYabJa0FSdiSgsD5K/RbrsR0SiraKacLB+T8ZVYAg==}
    -
    -  '@types/eslint-scope@3.7.7':
    -    resolution: {integrity: sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg==}
    -
    -  '@types/eslint@8.56.10':
    -    resolution: {integrity: sha512-Shavhk87gCtY2fhXDctcfS3e6FdxWkCx1iUZ9eEUbh7rTqlZT0/IzOkCOVt0fCjcFuZ9FPYfuezTBImfHCDBGQ==}
    -
    -  '@types/estree@0.0.39':
    -    resolution: {integrity: sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==}
    -
    -  '@types/estree@1.0.5':
    -    resolution: {integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==}
    -
    -  '@types/express-serve-static-core@4.17.43':
    -    resolution: {integrity: sha512-oaYtiBirUOPQGSWNGPWnzyAFJ0BP3cwvN4oWZQY+zUBwpVIGsKUkpBpSztp74drYcjavs7SKFZ4DX1V2QeN8rg==}
    -
    -  '@types/express@4.17.21':
    -    resolution: {integrity: sha512-ejlPM315qwLpaQlQDTjPdsUFSc6ZsP4AN6AlWnogPjQ7CVi7PYF3YVz+CY3jE2pwYf7E/7HlDAN0rV2GxTG0HQ==}
    -
    -  '@types/flexsearch@0.7.3':
    -    resolution: {integrity: sha512-HXwADeHEP4exXkCIwy2n1+i0f1ilP1ETQOH5KDOugjkTFZPntWo0Gr8stZOaebkxsdx+k0X/K6obU/+it07ocg==}
    -
    -  '@types/geojson@7946.0.14':
    -    resolution: {integrity: sha512-WCfD5Ht3ZesJUsONdhvm84dmzWOiOzOAqOncN0++w0lBw1o8OuDNJF2McvvCef/yBqb/HYRahp1BYtODFQ8bRg==}
    -
    -  '@types/glob@7.2.0':
    -    resolution: {integrity: sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA==}
    -
    -  '@types/glob@8.1.0':
    -    resolution: {integrity: sha512-IO+MJPVhoqz+28h1qLAcBEH2+xHMK6MTyHJc7MTnnYb6wsoLR29POVGJ7LycmVXIqyy/4/2ShP5sUwTXuOwb/w==}
    -
    -  '@types/graceful-fs@4.1.9':
    -    resolution: {integrity: sha512-olP3sd1qOEe5dXTSaFvQG+02VdRXcdytWLAZsAq1PecU8uqQAhkrnbli7DagjtXKW/Bl7YJbUsa8MPcuc8LHEQ==}
    -
    -  '@types/http-cache-semantics@4.0.4':
    -    resolution: {integrity: sha512-1m0bIFVc7eJWyve9S0RnuRgcQqF/Xd5QsUZAZeQFr1Q3/p9JWoQQEqmVy+DPTNpGXwhgIetAoYF8JSc33q29QA==}
    -
    -  '@types/http-errors@2.0.4':
    -    resolution: {integrity: sha512-D0CFMMtydbJAegzOyHjtiKPLlvnm3iTZyZRSZoLq2mRhDdmLfIWOCYPfQJ4cu2erKghU++QvjcUjp/5h7hESpA==}
    -
    -  '@types/http-proxy@1.17.11':
    -    resolution: {integrity: sha512-HC8G7c1WmaF2ekqpnFq626xd3Zz0uvaqFmBJNRZCGEZCXkvSdJoNFn/8Ygbd9fKNQj8UzLdCETaI0UWPAjK7IA==}
    -
    -  '@types/istanbul-lib-coverage@2.0.6':
    -    resolution: {integrity: sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==}
    -
    -  '@types/istanbul-lib-report@3.0.3':
    -    resolution: {integrity: sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA==}
    -
    -  '@types/istanbul-reports@3.0.4':
    -    resolution: {integrity: sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==}
    -
    -  '@types/js-yaml@4.0.9':
    -    resolution: {integrity: sha512-k4MGaQl5TGo/iipqb2UDG2UwjXziSWkh0uysQelTlJpX1qGlpUZYm8PnO4DxG1qBomtJUdYJ6qR6xdIah10JLg==}
    -
    -  '@types/jsdom@21.1.6':
    -    resolution: {integrity: sha512-/7kkMsC+/kMs7gAYmmBR9P0vGTnOoLhQhyhQJSlXGI5bzTHp6xdo0TtKWQAsz6pmSAeVqKSbqeyP6hytqr9FDw==}
    -
    -  '@types/json-schema@7.0.15':
    -    resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==}
    -
    -  '@types/katex@0.16.7':
    -    resolution: {integrity: sha512-HMwFiRujE5PjrgwHQ25+bsLJgowjGjm5Z8FVSf0N6PwgJrwxH0QxzHYDcKsTfV3wva0vzrpqMTJS2jXPr5BMEQ==}
    -
    -  '@types/keyv@3.1.4':
    -    resolution: {integrity: sha512-BQ5aZNSCpj7D6K2ksrRCTmKRLEpnPvWDiLPfoGyhZ++8YtiK9d/3DBKPJgry359X/P1PfruyYwvnvwFjuEiEIg==}
    -
    -  '@types/linkify-it@3.0.5':
    -    resolution: {integrity: sha512-yg6E+u0/+Zjva+buc3EIb+29XEg4wltq7cSmd4Uc2EE/1nUVmxyzpX6gUXD0V8jIrG0r7YeOGVIbYRkxeooCtw==}
    -
    -  '@types/lodash-es@4.17.12':
    -    resolution: {integrity: sha512-0NgftHUcV4v34VhXm8QBSftKVXtbkBG3ViCjs6+eJ5a6y6Mi/jiFGPc1sC7QK+9BFhWrURE3EOggmWaSxL9OzQ==}
    -
    -  '@types/lodash@4.17.0':
    -    resolution: {integrity: sha512-t7dhREVv6dbNj0q17X12j7yDG4bD/DHYX7o5/DbDxobP0HnGPgpRz2Ej77aL7TZT3DSw13fqUTj8J4mMnqa7WA==}
    -
    -  '@types/markdown-it@12.2.3':
    -    resolution: {integrity: sha512-GKMHFfv3458yYy+v/N8gjufHO6MSZKCOXpZc5GXIWWy8uldwfmPn98vp81gZ5f9SVw8YYBctgfJ22a2d7AOMeQ==}
    -
    -  '@types/markdown-it@13.0.8':
    -    resolution: {integrity: sha512-V+KmpgiipS+zoypeUSS9ojesWtY/0k4XfqcK2fnVrX/qInJhX7rsCxZ/rygiPH2zxlPPrhfuW0I6ddMcWTKLsg==}
    -
    -  '@types/markdown-it@14.0.1':
    -    resolution: {integrity: sha512-6WfOG3jXR78DW8L5cTYCVVGAsIFZskRHCDo5tbqa+qtKVt4oDRVH7hyIWu1SpDQJlmIoEivNQZ5h+AGAOrgOtQ==}
    -
    -  '@types/mdast@3.0.15':
    -    resolution: {integrity: sha512-LnwD+mUEfxWMa1QpDraczIn6k0Ee3SMicuYSSzS6ZYl2gKS09EClnJYGd8Du6rfc5r/GZEk5o1mRb8TaTj03sQ==}
    -
    -  '@types/mdast@4.0.3':
    -    resolution: {integrity: sha512-LsjtqsyF+d2/yFOYaN22dHZI1Cpwkrj+g06G8+qtUKlhovPW89YhqSnfKtMbkgmEtYpH2gydRNULd6y8mciAFg==}
    -
    -  '@types/mdurl@1.0.5':
    -    resolution: {integrity: sha512-6L6VymKTzYSrEf4Nev4Xa1LCHKrlTlYCBMTlQKFuddo1CvQcE52I0mwfOJayueUC7MJuXOeHTcIU683lzd0cUA==}
    -
    -  '@types/micromatch@4.0.7':
    -    resolution: {integrity: sha512-C/FMQ8HJAZhTsDpl4wDKZdMeeW5USjgzOczUwTGbRc1ZopPgOhIEnxY2ZgUrsuyy4DwK1JVOJZKFakv3TbCKiA==}
    -
    -  '@types/mime@1.3.5':
    -    resolution: {integrity: sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w==}
    -
    -  '@types/mime@3.0.4':
    -    resolution: {integrity: sha512-iJt33IQnVRkqeqC7PzBHPTC6fDlRNRW8vjrgqtScAhrmMwe8c4Eo7+fUGTa+XdWrpEgpyKWMYmi2dIwMAYRzPw==}
    -
    -  '@types/minimatch@5.1.2':
    -    resolution: {integrity: sha512-K0VQKziLUWkVKiRVrx4a40iPaxTUefQmjtkQofBkYRcoaaL/8rhwDWww9qWbrgicNOgnpIsMxyNIUM4+n6dUIA==}
    -
    -  '@types/ms@0.7.34':
    -    resolution: {integrity: sha512-nG96G3Wp6acyAgJqGasjODb+acrI7KltPiRxzHPXnP3NgI28bpQDRv53olbqGXbfcgF5aiiHmO3xpwEpS5Ld9g==}
    -
    -  '@types/node@18.19.31':
    -    resolution: {integrity: sha512-ArgCD39YpyyrtFKIqMDvjz79jto5fcI/SVUs2HwB+f0dAzq68yqOdyaSivLiLugSziTpNXLQrVb7RZFmdZzbhA==}
    -
    -  '@types/node@20.11.30':
    -    resolution: {integrity: sha512-dHM6ZxwlmuZaRmUPfv1p+KrdD1Dci04FbdEm/9wEMouFqxYoFl5aMkt0VMAUtYRQDyYvD41WJLukhq/ha3YuTw==}
    -
    -  '@types/node@20.12.7':
    -    resolution: {integrity: sha512-wq0cICSkRLVaf3UGLMGItu/PtdY7oaXaI/RVU+xliKVOtRna3PRY57ZDfztpDL0n11vfymMUnXv8QwYCO7L1wg==}
    -
    -  '@types/normalize-package-data@2.4.1':
    -    resolution: {integrity: sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw==}
    -
    -  '@types/prettier@2.7.3':
    -    resolution: {integrity: sha512-+68kP9yzs4LMp7VNh8gdzMSPZFL44MLGqiHWvttYJe+6qnuVr4Ek9wSBQoveqY/r+LwjCcU29kNVkidwim+kYA==}
    -
    -  '@types/prettier@3.0.0':
    -    resolution: {integrity: sha512-mFMBfMOz8QxhYVbuINtswBp9VL2b4Y0QqYHwqLz3YbgtfAcat2Dl6Y1o4e22S/OVE6Ebl9m7wWiMT2lSbAs1wA==}
    -    deprecated: This is a stub types definition. prettier provides its own type definitions, so you do not need this installed.
    -
    -  '@types/qs@6.9.12':
    -    resolution: {integrity: sha512-bZcOkJ6uWrL0Qb2NAWKa7TBU+mJHPzhx9jjLL1KHF+XpzEcR7EXHvjbHlGtR/IsP1vyPrehuS6XqkmaePy//mg==}
    -
    -  '@types/ramda@0.28.25':
    -    resolution: {integrity: sha512-HrQNqQAGcITpn9HAJFamDxm7iZeeXiP/95pN5OMbNniDjzCCeOHbBKNGmUy8NRi0fhYS+/cXeo91MFC+06gbow==}
    -
    -  '@types/range-parser@1.2.7':
    -    resolution: {integrity: sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ==}
    -
    -  '@types/resolve@1.20.2':
    -    resolution: {integrity: sha512-60BCwRFOZCQhDncwQdxxeOEEkbc5dIMccYLwbxsS4TUNeVECQ/pBJ0j09mrHOl/JJvpRPGwO9SvE4nR2Nb/a4Q==}
    -
    -  '@types/responselike@1.0.3':
    -    resolution: {integrity: sha512-H/+L+UkTV33uf49PH5pCAUBVPNj2nDBXTN+qS1dOwyyg24l3CcicicCA7ca+HMvJBZcFgl5r8e+RR6elsb4Lyw==}
    -
    -  '@types/retry@0.12.0':
    -    resolution: {integrity: sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA==}
    -
    -  '@types/rollup-plugin-visualizer@4.2.4':
    -    resolution: {integrity: sha512-BW4Q6D1Qy5gno5qHWrnMDC2dOe/TAKXvqCpckOggCCu+XpS+ZZJJ1lq1+K3bvYccoO3Y7f5kglbFAgYGqCgULg==}
    -
    -  '@types/semver@7.5.8':
    -    resolution: {integrity: sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==}
    -
    -  '@types/send@0.17.4':
    -    resolution: {integrity: sha512-x2EM6TJOybec7c52BX0ZspPodMsQUd5L6PRwOunVyVUhXiBSKf3AezDL8Dgvgt5o0UfKNfuA0eMLr2wLT4AiBA==}
    -
    -  '@types/serve-index@1.9.1':
    -    resolution: {integrity: sha512-d/Hs3nWDxNL2xAczmOVZNj92YZCS6RGxfBPjKzuu/XirCgXdpKEb88dYNbrYGint6IVWLNP+yonwVAuRC0T2Dg==}
    -
    -  '@types/serve-static@1.15.5':
    -    resolution: {integrity: sha512-PDRk21MnK70hja/YF8AHfC7yIsiQHn1rcXx7ijCFBX/k+XQJhQT/gw3xekXKJvx+5SXaMMS8oqQy09Mzvz2TuQ==}
    -
    -  '@types/sinonjs__fake-timers@8.1.1':
    -    resolution: {integrity: sha512-0kSuKjAS0TrGLJ0M/+8MaFkGsQhZpB6pxOmvS3K8FYI72K//YmdfoW9X2qPsAKh1mkwxGD5zib9s1FIFed6E8g==}
    -
    -  '@types/sizzle@2.3.8':
    -    resolution: {integrity: sha512-0vWLNK2D5MT9dg0iOo8GlKguPAU02QjmZitPEsXRuJXU/OGIOt9vT9Fc26wtYuavLxtO45v9PGleoL9Z0k1LHg==}
    -
    -  '@types/sockjs@0.3.33':
    -    resolution: {integrity: sha512-f0KEEe05NvUnat+boPTZ0dgaLZ4SfSouXUgv5noUiefG2ajgKjmETo9ZJyuqsl7dfl2aHlLJUiki6B4ZYldiiw==}
    -
    -  '@types/stack-utils@2.0.3':
    -    resolution: {integrity: sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw==}
    -
    -  '@types/stylis@4.2.5':
    -    resolution: {integrity: sha512-1Xve+NMN7FWjY14vLoY5tL3BVEQ/n42YLwaqJIPYhotZ9uBHt87VceMwWQpzmdEt2TNXIorIFG+YeCUUW7RInw==}
    -
    -  '@types/tough-cookie@4.0.5':
    -    resolution: {integrity: sha512-/Ad8+nIOV7Rl++6f1BdKxFSMgmoqEoYbHRpPcx3JEfv8VRsQe9Z4mCXeJBzxs7mbHY/XOZZuXlRNfhpVPbs6ZA==}
    -
    -  '@types/trusted-types@2.0.3':
    -    resolution: {integrity: sha512-NfQ4gyz38SL8sDNrSixxU2Os1a5xcdFxipAFxYEuLUlvU2uDwS4NUpsImcf1//SlWItCVMMLiylsxbmNMToV/g==}
    -
    -  '@types/trusted-types@2.0.7':
    -    resolution: {integrity: sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw==}
    -
    -  '@types/unist@2.0.10':
    -    resolution: {integrity: sha512-IfYcSBWE3hLpBg8+X2SEa8LVkJdJEkT2Ese2aaLs3ptGdVtABxndrMaxuFlQ1qdFf9Q5rDvDpxI3WwgvKFAsQA==}
    -
    -  '@types/unist@3.0.2':
    -    resolution: {integrity: sha512-dqId9J8K/vGi5Zr7oo212BGii5m3q5Hxlkwy3WpYuKPklmBEvsbMYYyLxAQpSffdLl/gdW0XUpKWFvYmyoWCoQ==}
    -
    -  '@types/uuid@9.0.8':
    -    resolution: {integrity: sha512-jg+97EGIcY9AGHJJRaaPVgetKDsrTgbRjQ5Msgjh/DQKEFl0DtyRr/VCOyD1T2R1MNeWPK/u7JoGhlDZnKBAfA==}
    -
    -  '@types/web-bluetooth@0.0.20':
    -    resolution: {integrity: sha512-g9gZnnXVq7gM7v3tJCWV/qw7w+KeOlSHAhgF9RytFyifW6AF61hdT2ucrYhPq9hLs5JIryeupHV3qGk95dH9ow==}
    -
    -  '@types/ws@8.5.5':
    -    resolution: {integrity: sha512-lwhs8hktwxSjf9UaZ9tG5M03PGogvFaH8gUgLNbN9HKIg0dvv6q+gkSuJ8HN4/VbyxkuLzCjlN7GquQ0gUJfIg==}
    -
    -  '@types/yargs-parser@21.0.3':
    -    resolution: {integrity: sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==}
    -
    -  '@types/yargs@17.0.32':
    -    resolution: {integrity: sha512-xQ67Yc/laOG5uMfX/093MRlGGCIBzZMarVa+gfNKJxWAIgykYpVGkBdbqEzGDDfCrVUj6Hiff4mTZ5BA6TmAog==}
    -
    -  '@types/yauzl@2.10.3':
    -    resolution: {integrity: sha512-oJoftv0LSuaDZE3Le4DbKX+KS9G36NzOeSap90UIK0yMA/NhKJhqlSGtNDORNRaIbQfzjXDrQa0ytJ6mNRGz/Q==}
    -
    -  '@typescript-eslint/eslint-plugin@7.6.0':
    -    resolution: {integrity: sha512-gKmTNwZnblUdnTIJu3e9kmeRRzV2j1a/LUO27KNNAnIC5zjy1aSvXSRp4rVNlmAoHlQ7HzX42NbKpcSr4jF80A==}
    -    engines: {node: ^18.18.0 || >=20.0.0}
    -    peerDependencies:
    -      '@typescript-eslint/parser': ^7.0.0
    -      eslint: ^8.56.0
    -      typescript: '*'
    -    peerDependenciesMeta:
    -      typescript:
    -        optional: true
    -
    -  '@typescript-eslint/parser@7.6.0':
    -    resolution: {integrity: sha512-usPMPHcwX3ZoPWnBnhhorc14NJw9J4HpSXQX4urF2TPKG0au0XhJoZyX62fmvdHONUkmyUe74Hzm1//XA+BoYg==}
    -    engines: {node: ^18.18.0 || >=20.0.0}
    -    peerDependencies:
    -      eslint: ^8.56.0
    -      typescript: '*'
    -    peerDependenciesMeta:
    -      typescript:
    -        optional: true
    -
    -  '@typescript-eslint/scope-manager@5.62.0':
    -    resolution: {integrity: sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w==}
    -    engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
    -
    -  '@typescript-eslint/scope-manager@7.6.0':
    -    resolution: {integrity: sha512-ngttyfExA5PsHSx0rdFgnADMYQi+Zkeiv4/ZxGYUWd0nLs63Ha0ksmp8VMxAIC0wtCFxMos7Lt3PszJssG/E6w==}
    -    engines: {node: ^18.18.0 || >=20.0.0}
    -
    -  '@typescript-eslint/type-utils@7.6.0':
    -    resolution: {integrity: sha512-NxAfqAPNLG6LTmy7uZgpK8KcuiS2NZD/HlThPXQRGwz6u7MDBWRVliEEl1Gj6U7++kVJTpehkhZzCJLMK66Scw==}
    -    engines: {node: ^18.18.0 || >=20.0.0}
    -    peerDependencies:
    -      eslint: ^8.56.0
    -      typescript: '*'
    -    peerDependenciesMeta:
    -      typescript:
    -        optional: true
    -
    -  '@typescript-eslint/types@5.62.0':
    -    resolution: {integrity: sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ==}
    -    engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
    -
    -  '@typescript-eslint/types@7.6.0':
    -    resolution: {integrity: sha512-h02rYQn8J+MureCvHVVzhl69/GAfQGPQZmOMjG1KfCl7o3HtMSlPaPUAPu6lLctXI5ySRGIYk94clD/AUMCUgQ==}
    -    engines: {node: ^18.18.0 || >=20.0.0}
    -
    -  '@typescript-eslint/typescript-estree@5.62.0':
    -    resolution: {integrity: sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA==}
    -    engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
    -    peerDependencies:
    -      typescript: '*'
    -    peerDependenciesMeta:
    -      typescript:
    -        optional: true
    -
    -  '@typescript-eslint/typescript-estree@7.6.0':
    -    resolution: {integrity: sha512-+7Y/GP9VuYibecrCQWSKgl3GvUM5cILRttpWtnAu8GNL9j11e4tbuGZmZjJ8ejnKYyBRb2ddGQ3rEFCq3QjMJw==}
    -    engines: {node: ^18.18.0 || >=20.0.0}
    -    peerDependencies:
    -      typescript: '*'
    -    peerDependenciesMeta:
    -      typescript:
    -        optional: true
    -
    -  '@typescript-eslint/utils@5.62.0':
    -    resolution: {integrity: sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ==}
    -    engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
    -    peerDependencies:
    -      eslint: ^6.0.0 || ^7.0.0 || ^8.0.0
    -
    -  '@typescript-eslint/utils@7.6.0':
    -    resolution: {integrity: sha512-x54gaSsRRI+Nwz59TXpCsr6harB98qjXYzsRxGqvA5Ue3kQH+FxS7FYU81g/omn22ML2pZJkisy6Q+ElK8pBCA==}
    -    engines: {node: ^18.18.0 || >=20.0.0}
    -    peerDependencies:
    -      eslint: ^8.56.0
    -
    -  '@typescript-eslint/visitor-keys@5.62.0':
    -    resolution: {integrity: sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw==}
    -    engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
    -
    -  '@typescript-eslint/visitor-keys@7.6.0':
    -    resolution: {integrity: sha512-4eLB7t+LlNUmXzfOu1VAIAdkjbu5xNSerURS9X/S5TUKWFRpXRQZbmtPqgKmYx8bj3J0irtQXSiWAOY82v+cgw==}
    -    engines: {node: ^18.18.0 || >=20.0.0}
    -
    -  '@ungap/structured-clone@1.2.0':
    -    resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==}
    -
    -  '@unocss/astro@0.58.9':
    -    resolution: {integrity: sha512-VWfHNC0EfawFxLfb3uI+QcMGBN+ju+BYtutzeZTjilLKj31X2UpqIh8fepixL6ljgZzB3fweqg2xtUMC0gMnoQ==}
    -    peerDependencies:
    -      vite: ^2.9.0 || ^3.0.0-0 || ^4.0.0 || ^5.0.0-0
    -    peerDependenciesMeta:
    -      vite:
    -        optional: true
    -
    -  '@unocss/astro@0.59.4':
    -    resolution: {integrity: sha512-DU3OR5MMR1Uvvec4/wB9EetDASHRg19Moy6z/MiIhn8JWJ0QzWYgSeJcfUX8exomMYv6WUEQJL+CyLI34Wmn8w==}
    -    peerDependencies:
    -      vite: ^2.9.0 || ^3.0.0-0 || ^4.0.0 || ^5.0.0-0
    -    peerDependenciesMeta:
    -      vite:
    -        optional: true
    -
    -  '@unocss/cli@0.58.9':
    -    resolution: {integrity: sha512-q7qlwX3V6UaqljWUQ5gMj36yTA9eLuuRywahdQWt1ioy4aPF/MEEfnMBZf/ntrqf5tIT5TO8fE11nvCco2Q/sA==}
    -    engines: {node: '>=14'}
    -    hasBin: true
    -
    -  '@unocss/cli@0.59.4':
    -    resolution: {integrity: sha512-TT+WKedSifhsRqnpoYD2LfyYipVzEbzIU4DDGIaDNeDxGXYOGpb876zzkPDcvZSpI37IJ/efkkV7PGYpPBcQBQ==}
    -    engines: {node: '>=14'}
    -    hasBin: true
    -
    -  '@unocss/config@0.58.9':
    -    resolution: {integrity: sha512-90wRXIyGNI8UenWxvHUcH4l4rgq813MsTzYWsf6ZKyLLvkFjV2b2EfGXI27GPvZ7fVE1OAqx+wJNTw8CyQxwag==}
    -    engines: {node: '>=14'}
    -
    -  '@unocss/config@0.59.4':
    -    resolution: {integrity: sha512-h3yhj+D5Ygn5R7gbK4wMrtXZX6FF5DF6YD517sSSb0XB3lxHD9PhhT4HaV1hpHknvu0cMFU3460M45+TN1TI0Q==}
    -    engines: {node: '>=14'}
    -
    -  '@unocss/core@0.58.9':
    -    resolution: {integrity: sha512-wYpPIPPsOIbIoMIDuH8ihehJk5pAZmyFKXIYO/Kro98GEOFhz6lJoLsy6/PZuitlgp2/TSlubUuWGjHWvp5osw==}
    -
    -  '@unocss/core@0.59.4':
    -    resolution: {integrity: sha512-bBZ1sgcAtezQVZ1BST9IS3jqcsTLyqKNjiIf7FTnX3DHpfpYuMDFzSOtmkZDzBleOLO/CtcRWjT0HwTSQAmV0A==}
    -
    -  '@unocss/extractor-arbitrary-variants@0.58.9':
    -    resolution: {integrity: sha512-M/BvPdbEEMdhcFQh/z2Bf9gylO1Ky/ZnpIvKWS1YJPLt4KA7UWXSUf+ZNTFxX+X58Is5qAb5hNh/XBQmL3gbXg==}
    -
    -  '@unocss/extractor-arbitrary-variants@0.59.4':
    -    resolution: {integrity: sha512-RDe4FgMGJQ+tp9GLvhPHni7Cc2O0lHBRMElVlN8LoXJAdODMICdbrEPGJlEfrc+7x/QgVFoR895KpYJh3hIgGA==}
    -
    -  '@unocss/inspector@0.58.9':
    -    resolution: {integrity: sha512-uRzqkCNeBmEvFePXcfIFcQPMlCXd9/bLwa5OkBthiOILwQdH1uRIW3GWAa2SWspu+kZLP0Ly3SjZ9Wqi+5ZtTw==}
    -
    -  '@unocss/inspector@0.59.4':
    -    resolution: {integrity: sha512-QczJFNDiggmekkJyNcbcZIUVwlhvxz7ZwjnSf0w7K4znxfjKkZ1hNUbqLviM1HumkTKOdT27VISW7saN/ysO4w==}
    -
    -  '@unocss/postcss@0.58.9':
    -    resolution: {integrity: sha512-PnKmH6Qhimw35yO6u6yx9SHaX2NmvbRNPDvMDHA/1xr3M8L0o8U88tgKbWfm65NEGF3R1zJ9A8rjtZn/LPkgPA==}
    -    engines: {node: '>=14'}
    -    peerDependencies:
    -      postcss: ^8.4.21
    -
    -  '@unocss/postcss@0.59.4':
    -    resolution: {integrity: sha512-KVz+AD7McHKp7VEWHbFahhyyVEo0oP/e1vnuNSuPlHthe+1V2zfH6lps+iJcvfL2072r5J+0PvD/1kOp5ryUSg==}
    -    engines: {node: '>=14'}
    -    peerDependencies:
    -      postcss: ^8.4.21
    -
    -  '@unocss/preset-attributify@0.58.9':
    -    resolution: {integrity: sha512-ucP+kXRFcwmBmHohUVv31bE/SejMAMo7Hjb0QcKVLyHlzRWUJsfNR+jTAIGIUSYxN7Q8MeigYsongGo3nIeJnQ==}
    -
    -  '@unocss/preset-attributify@0.59.4':
    -    resolution: {integrity: sha512-BeogWuYaIakC1gmOZFFCjFVWmu/m3AqEX8UYQS6tY6lAaK2L4Qf4AstYBlT2zAMxy9LNxPDxFQrvfSfFk5Klsg==}
    -
    -  '@unocss/preset-icons@0.58.9':
    -    resolution: {integrity: sha512-9dS48+yAunsbS0ylOW2Wisozwpn3nGY1CqTiidkUnrMnrZK3al579A7srUX9NyPWWDjprO7eU/JkWbdDQSmFFA==}
    -
    -  '@unocss/preset-icons@0.59.4':
    -    resolution: {integrity: sha512-Afjwh5oC4KRE8TNZDUkRK6hvvV1wKLrS1e5trniE0B0AM9HK3PBolQaIU7QmzPv6WQrog+MZgIwafg1eqsPUCA==}
    -
    -  '@unocss/preset-mini@0.58.9':
    -    resolution: {integrity: sha512-m4aDGYtueP8QGsU3FsyML63T/w5Mtr4htme2jXy6m50+tzC1PPHaIBstMTMQfLc6h8UOregPJyGHB5iYQZGEvQ==}
    -
    -  '@unocss/preset-mini@0.59.4':
    -    resolution: {integrity: sha512-ZLywGrXi1OCr4My5vX2rLUb5Xgx6ufR9WTQOvpQJGBdIV/jnZn/pyE5avCs476SnOq2K172lnd8mFmTK7/zArA==}
    -
    -  '@unocss/preset-tagify@0.58.9':
    -    resolution: {integrity: sha512-obh75XrRmxYwrQMflzvhQUMeHwd/R9bEDhTWUW9aBTolBy4eNypmQwOhHCKh5Xi4Dg6o0xj6GWC/jcCj1SPLog==}
    -
    -  '@unocss/preset-tagify@0.59.4':
    -    resolution: {integrity: sha512-vWMdTUoghOSmTbdmZtERssffmdUdOuhh4vUdl0R8Kv6KxB0PkvEFCu2FItn97nRJdSPlZSFxxDkaOIg9w+STNQ==}
    -
    -  '@unocss/preset-typography@0.58.9':
    -    resolution: {integrity: sha512-hrsaqKlcZni3Vh4fwXC+lP9e92FQYbqtmlZw2jpxlVwwH5aLzwk4d4MiFQGyhCfzuSDYm0Zd52putFVV02J7bA==}
    -
    -  '@unocss/preset-typography@0.59.4':
    -    resolution: {integrity: sha512-ZX9bxZUqlXK1qEDzO5lkK96ICt9itR/oNyn/7mMc1JPqwj263LumQMn5silocgzoLSUXEeq//L6GylqYjkL8GA==}
    -
    -  '@unocss/preset-uno@0.58.9':
    -    resolution: {integrity: sha512-Fze+X2Z/EegCkRdDRgwwvFBmXBenNR1AG8KxAyz8iPeWbhOBaRra2sn2ScryrfH6SbJHpw26ZyJXycAdS0Fq3A==}
    -
    -  '@unocss/preset-uno@0.59.4':
    -    resolution: {integrity: sha512-G1f8ZluplvXZ3bERj+sM/8zzY//XD++nNOlAQNKOANSVht3qEoJebrfEiMClNpA5qW5VWOZhEhPkh0M7GsXtnA==}
    -
    -  '@unocss/preset-web-fonts@0.58.9':
    -    resolution: {integrity: sha512-XtiO+Z+RYnNYomNkS2XxaQiY++CrQZKOfNGw5htgIrb32QtYVQSkyYQ3jDw7JmMiCWlZ4E72cV/zUb++WrZLxg==}
    -
    -  '@unocss/preset-web-fonts@0.59.4':
    -    resolution: {integrity: sha512-ehutTjKHnf2KPmdatN42N9a8+y+glKSU3UlcBRNsVIIXVIlaBQuPVGZSPhnMtrKD17IgWylXq2K6RJK+ab0hZA==}
    -
    -  '@unocss/preset-wind@0.58.9':
    -    resolution: {integrity: sha512-7l+7Vx5UoN80BmJKiqDXaJJ6EUqrnUQYv8NxCThFi5lYuHzxsYWZPLU3k3XlWRUQt8XL+6rYx7mMBmD7EUSHyw==}
    -
    -  '@unocss/preset-wind@0.59.4':
    -    resolution: {integrity: sha512-CNX6w0ZpSQg/i1oF0/WKWzto8PtLqoknC5h8JmmcGb7VsyBQeV0oNnhbURxpbuMEhbv1MWVIGvk8a+P6y0rFkQ==}
    -
    -  '@unocss/reset@0.58.9':
    -    resolution: {integrity: sha512-nA2pg3tnwlquq+FDOHyKwZvs20A6iBsKPU7Yjb48JrNnzoaXqE+O9oN6782IG2yKVW4AcnsAnAnM4cxXhGzy1w==}
    -
    -  '@unocss/reset@0.59.4':
    -    resolution: {integrity: sha512-Upy4xzdWl4RChbLAXBq1BoR4WqxXMoIfjvtcwSZcZK2sylXCFAseSWnyzJFdSiXPqNfmMuNgPXgiSxiQB+cmNA==}
    -
    -  '@unocss/rule-utils@0.58.9':
    -    resolution: {integrity: sha512-45bDa+elmlFLthhJmKr2ltKMAB0yoXnDMQ6Zp5j3OiRB7dDMBkwYRPvHLvIe+34Ey7tDt/kvvDPtWMpPl2quUQ==}
    -    engines: {node: '>=14'}
    -
    -  '@unocss/rule-utils@0.59.4':
    -    resolution: {integrity: sha512-1qoLJlBWAkS4D4sg73990S1MT7E8E5md/YhopKjTQuEC9SyeVmEg+5pR/Xd8xhPKMqbcuBPl/DS8b6l/GQO56A==}
    -    engines: {node: '>=14'}
    -
    -  '@unocss/scope@0.58.9':
    -    resolution: {integrity: sha512-BIwcpx0R3bE0rYa9JVDJTk0GX32EBvnbvufBpNkWfC5tb7g+B7nMkVq9ichanksYCCxrIQQo0mrIz5PNzu9sGA==}
    -
    -  '@unocss/scope@0.59.4':
    -    resolution: {integrity: sha512-wBQJ39kw4Tfj4km7AoGvSIobPKVnRZVsgc0bema5Y0PL3g1NeVQ/LopBI2zEJWdpxGXUWxSDsXm7BZo6qVlD/A==}
    -
    -  '@unocss/transformer-attributify-jsx-babel@0.58.9':
    -    resolution: {integrity: sha512-UGaQoGZg+3QrsPtnGHPECmsGn4EQb2KSdZ4eGEn2YssjKv+CcQhzRvpEUgnuF/F+jGPkCkS/G/YEQBHRWBY54Q==}
    -
    -  '@unocss/transformer-attributify-jsx-babel@0.59.4':
    -    resolution: {integrity: sha512-xtCRSgeTaDBiNJLVX7oOSFe63JiFB5nrdK23PHn3IlZM9O7Bxx4ZxI3MQJtFZFQNE+INFko+DVyY1WiFEm1p/Q==}
    -
    -  '@unocss/transformer-attributify-jsx@0.58.9':
    -    resolution: {integrity: sha512-jpL3PRwf8t43v1agUdQn2EHGgfdWfvzsMxFtoybO88xzOikzAJaaouteNtojc/fQat2T9iBduDxVj5egdKmhdQ==}
    -
    -  '@unocss/transformer-attributify-jsx@0.59.4':
    -    resolution: {integrity: sha512-m4b83utzKMfUQH/45V2QkjJoXd8Tu2pRP1nic91Xf7QRceyKDD+BxoTneo2JNC2K274cQu7HqqotnCm2aFfEGw==}
    -
    -  '@unocss/transformer-compile-class@0.58.9':
    -    resolution: {integrity: sha512-l2VpCqelJ6Tgc1kfSODxBtg7fCGPVRr2EUzTg1LrGYKa2McbKuc/wV/2DWKHGxL6+voWi7a2C9XflqGDXXutuQ==}
    -
    -  '@unocss/transformer-compile-class@0.59.4':
    -    resolution: {integrity: sha512-Vgk2OCLPW0pU+Uzr1IgDtHVspSBb+gPrQFkV+5gxHk9ZdKi3oYKxLuufVWYDSwv7o9yfQGbYrMH9YLsjRsnA7Q==}
    -
    -  '@unocss/transformer-directives@0.58.9':
    -    resolution: {integrity: sha512-pLOUsdoY2ugVntJXg0xuGjO9XZ2xCiMxTPRtpZ4TsEzUtdEzMswR06Y8VWvNciTB/Zqxcz9ta8rD0DKePOfSuw==}
    -
    -  '@unocss/transformer-directives@0.59.4':
    -    resolution: {integrity: sha512-nXUTEclUbs0vQ4KfLhKt4J/5SLSEq1az2FNlJmiXMmqmn75X89OrtCu2OJu9sGXhn+YyBApxgcSSdxmtpqMi1Q==}
    -
    -  '@unocss/transformer-variant-group@0.58.9':
    -    resolution: {integrity: sha512-3A6voHSnFcyw6xpcZT6oxE+KN4SHRnG4z862tdtWvRGcN+jGyNr20ylEZtnbk4xj0VNMeGHHQRZ0WLvmrAwvOQ==}
    -
    -  '@unocss/transformer-variant-group@0.59.4':
    -    resolution: {integrity: sha512-9XLixxn1NRgP62Kj4R/NC/rpqhql5F2s6ulJ8CAMTEbd/NylVhEANluPGDVUGcLJ4cj6E02hFa8C1PLGSm7/xw==}
    -
    -  '@unocss/vite@0.58.9':
    -    resolution: {integrity: sha512-mmppBuulAHCal+sC0Qz36Y99t0HicAmznpj70Kzwl7g/yvXwm58/DW2OnpCWw+uA8/JBft/+z3zE+XvrI+T1HA==}
    -    peerDependencies:
    -      vite: ^2.9.0 || ^3.0.0-0 || ^4.0.0 || ^5.0.0-0
    -
    -  '@unocss/vite@0.59.4':
    -    resolution: {integrity: sha512-q7GN7vkQYn79n7vYIUlaa7gXGwc7pk0Qo3z3ZFwWGE43/DtZnn2Hwl5UjgBAgi9McA+xqHJEHRsJnI7HJPHUYA==}
    -    peerDependencies:
    -      vite: ^2.9.0 || ^3.0.0-0 || ^4.0.0 || ^5.0.0-0
    -
    -  '@vite-pwa/vitepress@0.3.1':
    -    resolution: {integrity: sha512-krgiYQCWXUkpQCx+IHdsanFFpAzfH5pY86MARDa6as5ZNmG18mb/gC6MEahFV67V0xfMfTaNL4B8dQNzzcikLw==}
    -    peerDependencies:
    -      vite-plugin-pwa: '>=0.17.2 <1'
    -
    -  '@vite-pwa/vitepress@0.4.0':
    -    resolution: {integrity: sha512-MrsSCK5EBCzQAQgq5/3XHaFIjkypda58Wzy6PkDwZoRHnWexik0C2GUxMOe+RA+qdpGxB0mEkhqajeOmuYMvhw==}
    -    peerDependencies:
    -      '@vite-pwa/assets-generator': ^0.2.4
    -      vite-plugin-pwa: '>=0.19.0 <1'
    -    peerDependenciesMeta:
    -      '@vite-pwa/assets-generator':
    -        optional: true
    -
    -  '@vitejs/plugin-vue@4.6.2':
    -    resolution: {integrity: sha512-kqf7SGFoG+80aZG6Pf+gsZIVvGSCKE98JbiWqcCV9cThtg91Jav0yvYFC9Zb+jKetNGF6ZKeoaxgZfND21fWKw==}
    -    engines: {node: ^14.18.0 || >=16.0.0}
    -    peerDependencies:
    -      vite: ^4.0.0 || ^5.0.0
    -      vue: ^3.2.25
    -
    -  '@vitejs/plugin-vue@5.0.4':
    -    resolution: {integrity: sha512-WS3hevEszI6CEVEx28F8RjTX97k3KsrcY6kvTg7+Whm5y3oYvcqzVeGCU3hxSAn4uY2CLCkeokkGKpoctccilQ==}
    -    engines: {node: ^18.0.0 || >=20.0.0}
    -    peerDependencies:
    -      vite: ^5.0.0
    -      vue: ^3.2.25
    -
    -  '@vitest/coverage-v8@1.5.3':
    -    resolution: {integrity: sha512-DPyGSu/fPHOJuPxzFSQoT4N/Fu/2aJfZRtEpEp8GI7NHsXBGE94CQ+pbEGBUMFjatsHPDJw/+TAF9r4ens2CNw==}
    -    peerDependencies:
    -      vitest: 1.5.3
    -
    -  '@vitest/expect@1.5.3':
    -    resolution: {integrity: sha512-y+waPz31pOFr3rD7vWTbwiLe5+MgsMm40jTZbQE8p8/qXyBX3CQsIXRx9XK12IbY7q/t5a5aM/ckt33b4PxK2g==}
    -
    -  '@vitest/runner@1.5.3':
    -    resolution: {integrity: sha512-7PlfuReN8692IKQIdCxwir1AOaP5THfNkp0Uc4BKr2na+9lALNit7ub9l3/R7MP8aV61+mHKRGiqEKRIwu6iiQ==}
    -
    -  '@vitest/snapshot@1.5.3':
    -    resolution: {integrity: sha512-K3mvIsjyKYBhNIDujMD2gfQEzddLe51nNOAf45yKRt/QFJcUIeTQd2trRvv6M6oCBHNVnZwFWbQ4yj96ibiDsA==}
    -
    -  '@vitest/spy@1.5.3':
    -    resolution: {integrity: sha512-Llj7Jgs6lbnL55WoshJUUacdJfjU2honvGcAJBxhra5TPEzTJH8ZuhI3p/JwqqfnTr4PmP7nDmOXP53MS7GJlg==}
    -
    -  '@vitest/ui@1.5.3':
    -    resolution: {integrity: sha512-DoSA5YxcUmeBEK7kJHzXiL2I0d9AijWI33arnUrwiWFDxgZPDxTjvSVsiXhe8qfqhloIHkwazl5E2rhlDd/ErA==}
    -    peerDependencies:
    -      vitest: 1.5.3
    -
    -  '@vitest/utils@1.5.3':
    -    resolution: {integrity: sha512-rE9DTN1BRhzkzqNQO+kw8ZgfeEBCLXiHJwetk668shmNBpSagQxneT5eSqEBLP+cqSiAeecvQmbpFfdMyLcIQA==}
    -
    -  '@vue/compat@3.4.21':
    -    resolution: {integrity: sha512-hKM6C5tTqduZcNOwp4oBa6qplAQ0NsMvGtLCTKmkhjVqrFzUfS9CyLN6ktzEfPwbgeC/wYYd7PtH+H8jNGvTjQ==}
    -    peerDependencies:
    -      vue: 3.4.21
    -
    -  '@vue/compiler-core@3.4.21':
    -    resolution: {integrity: sha512-MjXawxZf2SbZszLPYxaFCjxfibYrzr3eYbKxwpLR9EQN+oaziSu3qKVbwBERj1IFIB8OLUewxB5m/BFzi613og==}
    -
    -  '@vue/compiler-core@3.4.26':
    -    resolution: {integrity: sha512-N9Vil6Hvw7NaiyFUFBPXrAyETIGlQ8KcFMkyk6hW1Cl6NvoqvP+Y8p1Eqvx+UdqsnrnI9+HMUEJegzia3mhXmQ==}
    -
    -  '@vue/compiler-dom@3.4.21':
    -    resolution: {integrity: sha512-IZC6FKowtT1sl0CR5DpXSiEB5ayw75oT2bma1BEhV7RRR1+cfwLrxc2Z8Zq/RGFzJ8w5r9QtCOvTjQgdn0IKmA==}
    -
    -  '@vue/compiler-dom@3.4.26':
    -    resolution: {integrity: sha512-4CWbR5vR9fMg23YqFOhr6t6WB1Fjt62d6xdFPyj8pxrYub7d+OgZaObMsoxaF9yBUHPMiPFK303v61PwAuGvZA==}
    -
    -  '@vue/compiler-sfc@3.4.21':
    -    resolution: {integrity: sha512-me7epoTxYlY+2CUM7hy9PCDdpMPfIwrOvAXud2Upk10g4YLv9UBW7kL798TvMeDhPthkZ0CONNrK2GoeI1ODiQ==}
    -
    -  '@vue/compiler-sfc@3.4.26':
    -    resolution: {integrity: sha512-It1dp+FAOCgluYSVYlDn5DtZBxk1NCiJJfu2mlQqa/b+k8GL6NG/3/zRbJnHdhV2VhxFghaDq5L4K+1dakW6cw==}
    -
    -  '@vue/compiler-ssr@3.4.21':
    -    resolution: {integrity: sha512-M5+9nI2lPpAsgXOGQobnIueVqc9sisBFexh5yMIMRAPYLa7+5wEJs8iqOZc1WAa9WQbx9GR2twgznU8LTIiZ4Q==}
    -
    -  '@vue/compiler-ssr@3.4.26':
    -    resolution: {integrity: sha512-FNwLfk7LlEPRY/g+nw2VqiDKcnDTVdCfBREekF8X74cPLiWHUX6oldktf/Vx28yh4STNy7t+/yuLoMBBF7YDiQ==}
    -
    -  '@vue/devtools-api@6.6.1':
    -    resolution: {integrity: sha512-LgPscpE3Vs0x96PzSSB4IGVSZXZBZHpfxs+ZA1d+VEPwHdOXowy/Y2CsvCAIFrf+ssVU1pD1jidj505EpUnfbA==}
    -
    -  '@vue/devtools-api@7.1.3':
    -    resolution: {integrity: sha512-W8IwFJ/o5iUk78jpqhvScbgCsPiOp2uileDVC0NDtW38gCWhsnu9SeBTjcdu3lbwLdsjc+H1c5Msd/x9ApbcFA==}
    -
    -  '@vue/devtools-kit@7.1.3':
    -    resolution: {integrity: sha512-NFskFSJMVCBXTkByuk2llzI3KD3Blcm7WqiRorWjD6nClHPgkH5BobDH08rfulqq5ocRt5xV+3qOT1Q9FXJrwQ==}
    -    peerDependencies:
    -      vue: ^3.0.0
    -
    -  '@vue/devtools-shared@7.1.3':
    -    resolution: {integrity: sha512-KJ3AfgjTn3tJz/XKF+BlVShNPecim3G21oHRue+YQOsooW+0s+qXvm09U09aO7yBza5SivL1QgxSrzAbiKWjhQ==}
    -
    -  '@vue/reactivity@3.4.21':
    -    resolution: {integrity: sha512-UhenImdc0L0/4ahGCyEzc/pZNwVgcglGy9HVzJ1Bq2Mm9qXOpP8RyNTjookw/gOCUlXSEtuZ2fUg5nrHcoqJcw==}
    -
    -  '@vue/reactivity@3.4.26':
    -    resolution: {integrity: sha512-E/ynEAu/pw0yotJeLdvZEsp5Olmxt+9/WqzvKff0gE67tw73gmbx6tRkiagE/eH0UCubzSlGRebCbidB1CpqZQ==}
    -
    -  '@vue/runtime-core@3.4.21':
    -    resolution: {integrity: sha512-pQthsuYzE1XcGZznTKn73G0s14eCJcjaLvp3/DKeYWoFacD9glJoqlNBxt3W2c5S40t6CCcpPf+jG01N3ULyrA==}
    -
    -  '@vue/runtime-core@3.4.26':
    -    resolution: {integrity: sha512-AFJDLpZvhT4ujUgZSIL9pdNcO23qVFh7zWCsNdGQBw8ecLNxOOnPcK9wTTIYCmBJnuPHpukOwo62a2PPivihqw==}
    -
    -  '@vue/runtime-dom@3.4.21':
    -    resolution: {integrity: sha512-gvf+C9cFpevsQxbkRBS1NpU8CqxKw0ebqMvLwcGQrNpx6gqRDodqKqA+A2VZZpQ9RpK2f9yfg8VbW/EpdFUOJw==}
    -
    -  '@vue/runtime-dom@3.4.26':
    -    resolution: {integrity: sha512-UftYA2hUXR2UOZD/Fc3IndZuCOOJgFxJsWOxDkhfVcwLbsfh2CdXE2tG4jWxBZuDAs9J9PzRTUFt1PgydEtItw==}
    -
    -  '@vue/server-renderer@3.4.21':
    -    resolution: {integrity: sha512-aV1gXyKSN6Rz+6kZ6kr5+Ll14YzmIbeuWe7ryJl5muJ4uwSwY/aStXTixx76TwkZFJLm1aAlA/HSWEJ4EyiMkg==}
    -    peerDependencies:
    -      vue: 3.4.21
    -
    -  '@vue/server-renderer@3.4.26':
    -    resolution: {integrity: sha512-xoGAqSjYDPGAeRWxeoYwqJFD/gw7mpgzOvSxEmjWaFO2rE6qpbD1PC172YRpvKhrihkyHJkNDADFXTfCyVGhKw==}
    -    peerDependencies:
    -      vue: 3.4.26
    -
    -  '@vue/shared@3.4.21':
    -    resolution: {integrity: sha512-PuJe7vDIi6VYSinuEbUIQgMIRZGgM8e4R+G+/dQTk0X1NEdvgvvgv7m+rfmDH1gZzyA1OjjoWskvHlfRNfQf3g==}
    -
    -  '@vue/shared@3.4.26':
    -    resolution: {integrity: sha512-Fg4zwR0GNnjzodMt3KRy2AWGMKQXByl56+4HjN87soxLNU9P5xcJkstAlIeEF3cU6UYOzmJl1tV0dVPGIljCnQ==}
    -
    -  '@vueuse/core@10.9.0':
    -    resolution: {integrity: sha512-/1vjTol8SXnx6xewDEKfS0Ra//ncg4Hb0DaZiwKf7drgfMsKFExQ+FnnENcN6efPen+1kIzhLQoGSy0eDUVOMg==}
    -
    -  '@vueuse/integrations@10.9.0':
    -    resolution: {integrity: sha512-acK+A01AYdWSvL4BZmCoJAcyHJ6EqhmkQEXbQLwev1MY7NBnS+hcEMx/BzVoR9zKI+UqEPMD9u6PsyAuiTRT4Q==}
    -    peerDependencies:
    -      async-validator: '*'
    -      axios: '*'
    -      change-case: '*'
    -      drauu: '*'
    -      focus-trap: '*'
    -      fuse.js: '*'
    -      idb-keyval: '*'
    -      jwt-decode: '*'
    -      nprogress: '*'
    -      qrcode: '*'
    -      sortablejs: '*'
    -      universal-cookie: '*'
    -    peerDependenciesMeta:
    -      async-validator:
    -        optional: true
    -      axios:
    -        optional: true
    -      change-case:
    -        optional: true
    -      drauu:
    -        optional: true
    -      focus-trap:
    -        optional: true
    -      fuse.js:
    -        optional: true
    -      idb-keyval:
    -        optional: true
    -      jwt-decode:
    -        optional: true
    -      nprogress:
    -        optional: true
    -      qrcode:
    -        optional: true
    -      sortablejs:
    -        optional: true
    -      universal-cookie:
    -        optional: true
    -
    -  '@vueuse/metadata@10.9.0':
    -    resolution: {integrity: sha512-iddNbg3yZM0X7qFY2sAotomgdHK7YJ6sKUvQqbvwnf7TmaVPxS4EJydcNsVejNdS8iWCtDk+fYXr7E32nyTnGA==}
    -
    -  '@vueuse/shared@10.9.0':
    -    resolution: {integrity: sha512-Uud2IWncmAfJvRaFYzv5OHDli+FbOzxiVEQdLCKQKLyhz94PIyFC3CHcH7EDMwIn8NPtD06+PNbC/PiO0LGLtw==}
    -
    -  '@wdio/config@7.31.1':
    -    resolution: {integrity: sha512-WAfswbCatwiaDVqy6kfF/5T8/WS/US/SRhBGUFrfBuGMIe+RRoHgy7jURFWSvUIE7CNHj8yvs46fLUcxhXjzcQ==}
    -    engines: {node: '>=12.0.0'}
    -
    -  '@wdio/logger@7.26.0':
    -    resolution: {integrity: sha512-kQj9s5JudAG9qB+zAAcYGPHVfATl2oqKgqj47yjehOQ1zzG33xmtL1ArFbQKWhDG32y1A8sN6b0pIqBEIwgg8Q==}
    -    engines: {node: '>=12.0.0'}
    -
    -  '@wdio/protocols@7.27.0':
    -    resolution: {integrity: sha512-hT/U22R5i3HhwPjkaKAG0yd59eaOaZB0eibRj2+esCImkb5Y6rg8FirrlYRxIGFVBl0+xZV0jKHzR5+o097nvg==}
    -    engines: {node: '>=12.0.0'}
    -
    -  '@wdio/types@7.30.2':
    -    resolution: {integrity: sha512-uZ8o7FX8RyBsaXiOWa59UKTCHTtADNvOArYTcHNEIzt+rh4JdB/uwqfc8y4TCNA2kYm7PWaQpUFwpStLeg0H1Q==}
    -    engines: {node: '>=12.0.0'}
    -    peerDependencies:
    -      typescript: ^4.6.2
    -    peerDependenciesMeta:
    -      typescript:
    -        optional: true
    -
    -  '@wdio/utils@7.30.2':
    -    resolution: {integrity: sha512-np7I+smszFUennbQKdzbMN/zUL3s3EZq9pCCUcTRjjs9TE4tnn0wfmGdoz2o7REYu6kn9NfFFJyVIM2VtBbKEA==}
    -    engines: {node: '>=12.0.0'}
    -
    -  '@webassemblyjs/ast@1.12.1':
    -    resolution: {integrity: sha512-EKfMUOPRRUTy5UII4qJDGPpqfwjOmZ5jeGFwid9mnoqIFK+e0vqoi1qH56JpmZSzEL53jKnNzScdmftJyG5xWg==}
    -
    -  '@webassemblyjs/floating-point-hex-parser@1.11.6':
    -    resolution: {integrity: sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw==}
    -
    -  '@webassemblyjs/helper-api-error@1.11.6':
    -    resolution: {integrity: sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q==}
    -
    -  '@webassemblyjs/helper-buffer@1.12.1':
    -    resolution: {integrity: sha512-nzJwQw99DNDKr9BVCOZcLuJJUlqkJh+kVzVl6Fmq/tI5ZtEyWT1KZMyOXltXLZJmDtvLCDgwsyrkohEtopTXCw==}
    -
    -  '@webassemblyjs/helper-numbers@1.11.6':
    -    resolution: {integrity: sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g==}
    -
    -  '@webassemblyjs/helper-wasm-bytecode@1.11.6':
    -    resolution: {integrity: sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA==}
    -
    -  '@webassemblyjs/helper-wasm-section@1.12.1':
    -    resolution: {integrity: sha512-Jif4vfB6FJlUlSbgEMHUyk1j234GTNG9dBJ4XJdOySoj518Xj0oGsNi59cUQF4RRMS9ouBUxDDdyBVfPTypa5g==}
    -
    -  '@webassemblyjs/ieee754@1.11.6':
    -    resolution: {integrity: sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg==}
    -
    -  '@webassemblyjs/leb128@1.11.6':
    -    resolution: {integrity: sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ==}
    -
    -  '@webassemblyjs/utf8@1.11.6':
    -    resolution: {integrity: sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA==}
    -
    -  '@webassemblyjs/wasm-edit@1.12.1':
    -    resolution: {integrity: sha512-1DuwbVvADvS5mGnXbE+c9NfA8QRcZ6iKquqjjmR10k6o+zzsRVesil54DKexiowcFCPdr/Q0qaMgB01+SQ1u6g==}
    -
    -  '@webassemblyjs/wasm-gen@1.12.1':
    -    resolution: {integrity: sha512-TDq4Ojh9fcohAw6OIMXqiIcTq5KUXTGRkVxbSo1hQnSy6lAM5GSdfwWeSxpAo0YzgsgF182E/U0mDNhuA0tW7w==}
    -
    -  '@webassemblyjs/wasm-opt@1.12.1':
    -    resolution: {integrity: sha512-Jg99j/2gG2iaz3hijw857AVYekZe2SAskcqlWIZXjji5WStnOpVoat3gQfT/Q5tb2djnCjBtMocY/Su1GfxPBg==}
    -
    -  '@webassemblyjs/wasm-parser@1.12.1':
    -    resolution: {integrity: sha512-xikIi7c2FHXysxXe3COrVUPSheuBtpcfhbpFj4gmu7KRLYOzANztwUU0IbsqvMqzuNK2+glRGWCEqZo1WCLyAQ==}
    -
    -  '@webassemblyjs/wast-printer@1.12.1':
    -    resolution: {integrity: sha512-+X4WAlOisVWQMikjbcvY2e0rwPsKQ9F688lksZhBcPycBBuii3O7m8FACbDMWDojpAqvjIncrG8J0XHKyQfVeA==}
    -
    -  '@webpack-cli/configtest@1.2.0':
    -    resolution: {integrity: sha512-4FB8Tj6xyVkyqjj1OaTqCjXYULB9FMkqQ8yGrZjRDrYh0nOE+7Lhs45WioWQQMV+ceFlE368Ukhe6xdvJM9Egg==}
    -    peerDependencies:
    -      webpack: 4.x.x || 5.x.x
    -      webpack-cli: 4.x.x
    -
    -  '@webpack-cli/info@1.5.0':
    -    resolution: {integrity: sha512-e8tSXZpw2hPl2uMJY6fsMswaok5FdlGNRTktvFk2sD8RjH0hE2+XistawJx1vmKteh4NmGmNUrp+Tb2w+udPcQ==}
    -    peerDependencies:
    -      webpack-cli: 4.x.x
    -
    -  '@webpack-cli/serve@1.7.0':
    -    resolution: {integrity: sha512-oxnCNGj88fL+xzV+dacXs44HcDwf1ovs3AuEzvP7mqXw7fQntqIhQ1BRmynh4qEKQSSSRSWVyXRjmTbZIX9V2Q==}
    -    peerDependencies:
    -      webpack-cli: 4.x.x
    -      webpack-dev-server: '*'
    -    peerDependenciesMeta:
    -      webpack-dev-server:
    -        optional: true
    -
    -  '@xmldom/xmldom@0.8.10':
    -    resolution: {integrity: sha512-2WALfTl4xo2SkGCYRt6rDTFfk9R1czmBvUQy12gK2KuRKIpWEhcbbzy8EZXtz/jkRqHX8bFEc6FC1HjX4TUWYw==}
    -    engines: {node: '>=10.0.0'}
    -
    -  '@xtuc/ieee754@1.2.0':
    -    resolution: {integrity: sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==}
    -
    -  '@xtuc/long@4.2.2':
    -    resolution: {integrity: sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==}
    -
    -  '@zenuml/core@3.21.2':
    -    resolution: {integrity: sha512-e63W3sb+cSafRaN+g2l2sYMdFMxDC0bRMqo+spRW48LoK0/7MQsSf6f9xEtSly/iTaXUGedw1TpvktzAxeKFjA==}
    -    engines: {node: '>=12.0.0'}
    -
    -  JSONSelect@0.4.0:
    -    resolution: {integrity: sha512-VRLR3Su35MH+XV2lrvh9O7qWoug/TUyj9tLDjn9rtpUCNnILLrHjgd/tB0KrhugCxUpj3UqoLqfYb3fLJdIQQQ==}
    -    engines: {node: '>=0.4.7'}
    -
    -  JSV@4.0.2:
    -    resolution: {integrity: sha512-ZJ6wx9xaKJ3yFUhq5/sk82PJMuUyLk277I8mQeyDgCTjGdjWJIvPfaU5LIXaMuaN2UO1X3kZH4+lgphublZUHw==}
    -
    -  abort-controller@3.0.0:
    -    resolution: {integrity: sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==}
    -    engines: {node: '>=6.5'}
    -
    -  abstract-logging@2.0.1:
    -    resolution: {integrity: sha512-2BjRTZxTPvheOvGbBslFSYOUkr+SjPtOnrLP33f+VIWLzezQpZcqVg7ja3L4dBXmzzgwT+a029jRx5PCi3JuiA==}
    -
    -  accepts@1.3.8:
    -    resolution: {integrity: sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==}
    -    engines: {node: '>= 0.6'}
    -
    -  acorn-import-assertions@1.9.0:
    -    resolution: {integrity: sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA==}
    -    peerDependencies:
    -      acorn: ^8
    -
    -  acorn-jsx@5.3.2:
    -    resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==}
    -    peerDependencies:
    -      acorn: ^6.0.0 || ^7.0.0 || ^8.0.0
    -
    -  acorn-walk@8.3.2:
    -    resolution: {integrity: sha512-cjkyv4OtNCIeqhHrfS81QWXoCBPExR/J62oyEqepVw8WaQeSqpW2uhuLPh1m9eWhDuOo/jUXVTlifvesOWp/4A==}
    -    engines: {node: '>=0.4.0'}
    -
    -  acorn@8.11.3:
    -    resolution: {integrity: sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==}
    -    engines: {node: '>=0.4.0'}
    -    hasBin: true
    -
    -  agent-base@6.0.2:
    -    resolution: {integrity: sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==}
    -    engines: {node: '>= 6.0.0'}
    -
    -  agent-base@7.1.0:
    -    resolution: {integrity: sha512-o/zjMZRhJxny7OyEF+Op8X+efiELC7k7yOjMzgfzVqOzXqkBkWI79YoTdOtsuWd5BWhAGAuOY/Xa6xpiaWXiNg==}
    -    engines: {node: '>= 14'}
    -
    -  aggregate-error@3.1.0:
    -    resolution: {integrity: sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==}
    -    engines: {node: '>=8'}
    -
    -  aggregate-error@4.0.1:
    -    resolution: {integrity: sha512-0poP0T7el6Vq3rstR8Mn4V/IQrpBLO6POkUSrN7RhyY+GF/InCFShQzsQ39T25gkHhLgSLByyAz+Kjb+c2L98w==}
    -    engines: {node: '>=12'}
    -
    -  ajv-formats@2.1.1:
    -    resolution: {integrity: sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==}
    -    peerDependencies:
    -      ajv: ^8.0.0
    -    peerDependenciesMeta:
    -      ajv:
    -        optional: true
    -
    -  ajv-keywords@3.5.2:
    -    resolution: {integrity: sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==}
    -    peerDependencies:
    -      ajv: ^6.9.1
    -
    -  ajv-keywords@5.1.0:
    -    resolution: {integrity: sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==}
    -    peerDependencies:
    -      ajv: ^8.8.2
    -
    -  ajv@6.12.6:
    -    resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==}
    -
    -  ajv@8.12.0:
    -    resolution: {integrity: sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==}
    -
    -  ajv@8.13.0:
    -    resolution: {integrity: sha512-PRA911Blj99jR5RMeTunVbNXMF6Lp4vZXnk5GQjcnUWUTsrXtekg/pnmFFI2u/I36Y/2bITGS30GZCXei6uNkA==}
    -
    -  algoliasearch@4.23.3:
    -    resolution: {integrity: sha512-Le/3YgNvjW9zxIQMRhUHuhiUjAlKY/zsdZpfq4dlLqg6mEm0nL6yk+7f2hDOtLpxsgE4jSzDmvHL7nXdBp5feg==}
    -
    -  amdefine@1.0.1:
    -    resolution: {integrity: sha512-S2Hw0TtNkMJhIabBwIojKL9YHO5T0n5eNqWJ7Lrlel/zDbftQpxpapi8tZs3X1HWa+u+QeydGmzzNU0m09+Rcg==}
    -    engines: {node: '>=0.4.2'}
    -
    -  ansi-align@3.0.1:
    -    resolution: {integrity: sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==}
    -
    -  ansi-colors@4.1.3:
    -    resolution: {integrity: sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==}
    -    engines: {node: '>=6'}
    -
    -  ansi-escapes@4.3.2:
    -    resolution: {integrity: sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==}
    -    engines: {node: '>=8'}
    -
    -  ansi-escapes@6.2.1:
    -    resolution: {integrity: sha512-4nJ3yixlEthEJ9Rk4vPcdBRkZvQZlYyu8j4/Mqz5sgIkddmEnH2Yj2ZrnP9S3tQOvSNRUIgVNF/1yPpRAGNRig==}
    -    engines: {node: '>=14.16'}
    -
    -  ansi-html-community@0.0.8:
    -    resolution: {integrity: sha512-1APHAyr3+PCamwNw3bXCPp4HFLONZt/yIH0sZp0/469KWNTEy+qN5jQ3GVX6DMZ1UXAi34yVwtTeaG/HpBuuzw==}
    -    engines: {'0': node >= 0.8.0}
    -    hasBin: true
    -
    -  ansi-regex@2.1.1:
    -    resolution: {integrity: sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==}
    -    engines: {node: '>=0.10.0'}
    -
    -  ansi-regex@5.0.1:
    -    resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==}
    -    engines: {node: '>=8'}
    -
    -  ansi-regex@6.0.1:
    -    resolution: {integrity: sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==}
    -    engines: {node: '>=12'}
    -
    -  ansi-sequence-parser@1.1.1:
    -    resolution: {integrity: sha512-vJXt3yiaUL4UU546s3rPXlsry/RnM730G1+HkpKE012AN0sx1eOrxSu95oKDIonskeLTijMgqWZ3uDEe3NFvyg==}
    -
    -  ansi-styles@2.2.1:
    -    resolution: {integrity: sha512-kmCevFghRiWM7HB5zTPULl4r9bVFSWjz62MhqizDGUrq2NWuNMQyuv4tHHoKJHs69M/MF64lEcHdYIocrdWQYA==}
    -    engines: {node: '>=0.10.0'}
    -
    -  ansi-styles@3.2.1:
    -    resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==}
    -    engines: {node: '>=4'}
    -
    -  ansi-styles@4.3.0:
    -    resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==}
    -    engines: {node: '>=8'}
    -
    -  ansi-styles@5.2.0:
    -    resolution: {integrity: sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==}
    -    engines: {node: '>=10'}
    -
    -  ansi-styles@6.2.1:
    -    resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==}
    -    engines: {node: '>=12'}
    -
    -  antlr4@4.11.0:
    -    resolution: {integrity: sha512-GUGlpE2JUjAN+G8G5vY+nOoeyNhHsXoIJwP1XF1oRw89vifA1K46T6SEkwLwr7drihN7I/lf0DIjKc4OZvBX8w==}
    -    engines: {node: '>=14'}
    -
    -  any-promise@1.3.0:
    -    resolution: {integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==}
    -
    -  anymatch@3.1.3:
    -    resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==}
    -    engines: {node: '>= 8'}
    -
    -  app-path@3.3.0:
    -    resolution: {integrity: sha512-EAgEXkdcxH1cgEePOSsmUtw9ItPl0KTxnh/pj9ZbhvbKbij9x0oX6PWpGnorDr0DS5AosLgoa5n3T/hZmKQpYA==}
    -    engines: {node: '>=8'}
    -
    -  appdata-path@1.0.0:
    -    resolution: {integrity: sha512-ZbH3ezXfnT/YE3NdqduIt4lBV+H0ybvA2Qx3K76gIjQvh8gROpDFdDLpx6B1QJtW7zxisCbpTlCLhKqoR8cDBw==}
    -
    -  append-transform@2.0.0:
    -    resolution: {integrity: sha512-7yeyCEurROLQJFv5Xj4lEGTy0borxepjFv1g22oAdqFu//SrAlDl1O1Nxx15SH1RoliUml6p8dwJW9jvZughhg==}
    -    engines: {node: '>=8'}
    -
    -  arch@2.2.0:
    -    resolution: {integrity: sha512-Of/R0wqp83cgHozfIYLbBMnej79U/SVGOOyuB3VVFv1NRM/PSFMK12x9KVtiYzJqmnU5WR2qp0Z5rHb7sWGnFQ==}
    -
    -  archy@1.0.0:
    -    resolution: {integrity: sha512-Xg+9RwCg/0p32teKdGMPTPnVXKD0w3DfHnFTficozsAgsvq2XenPJq/MYpzzQ/v8zrOyJn6Ds39VA4JIDwFfqw==}
    -
    -  are-docs-informative@0.0.2:
    -    resolution: {integrity: sha512-ixiS0nLNNG5jNQzgZJNoUpBKdo9yTYZMGJ+QgT2jmjR7G7+QHRCc4v6LQ3NgE7EBJq+o0ams3waJwkrlBom8Ig==}
    -    engines: {node: '>=14'}
    -
    -  arg@5.0.2:
    -    resolution: {integrity: sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==}
    -
    -  argparse@1.0.10:
    -    resolution: {integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==}
    -
    -  argparse@2.0.1:
    -    resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==}
    -
    -  array-buffer-byte-length@1.0.1:
    -    resolution: {integrity: sha512-ahC5W1xgou+KTXix4sAO8Ki12Q+jf4i0+tmk3sC+zgcynshkHxzpXdImBehiUYKKKDwvfFiJl1tZt6ewscS1Mg==}
    -    engines: {node: '>= 0.4'}
    -
    -  array-flatten@1.1.1:
    -    resolution: {integrity: sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==}
    -
    -  array-flatten@2.1.2:
    -    resolution: {integrity: sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ==}
    -
    -  array-timsort@1.0.3:
    -    resolution: {integrity: sha512-/+3GRL7dDAGEfM6TseQk/U+mi18TU2Ms9I3UlLdUMhz2hbvGNTKdj9xniwXfUqgYhHxRx0+8UnKkvlNwVU+cWQ==}
    -
    -  array-union@2.1.0:
    -    resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==}
    -    engines: {node: '>=8'}
    -
    -  arraybuffer.prototype.slice@1.0.3:
    -    resolution: {integrity: sha512-bMxMKAjg13EBSVscxTaYA4mRc5t1UAXa2kXiGTNfZ079HIWXEkKmkgFrh/nJqamaLSrXO5H4WFFkPEaLJWbs3A==}
    -    engines: {node: '>= 0.4'}
    -
    -  arrify@3.0.0:
    -    resolution: {integrity: sha512-tLkvA81vQG/XqE2mjDkGQHoOINtMHtysSnemrmoGe6PydDPMRbVugqyk4A6V/WDWEfm3l+0d8anA9r8cv/5Jaw==}
    -    engines: {node: '>=12'}
    -
    -  asn1@0.2.6:
    -    resolution: {integrity: sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==}
    -
    -  assert-plus@1.0.0:
    -    resolution: {integrity: sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==}
    -    engines: {node: '>=0.8'}
    -
    -  assertion-error@1.1.0:
    -    resolution: {integrity: sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==}
    -
    -  astral-regex@2.0.0:
    -    resolution: {integrity: sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==}
    -    engines: {node: '>=8'}
    -
    -  async@3.2.5:
    -    resolution: {integrity: sha512-baNZyqaaLhyLVKm/DlvdW051MSgO6b8eVfIezl9E5PqWxFgzLm/wQntEW4zOytVburDEr0JlALEpdOFwvErLsg==}
    -
    -  asynckit@0.4.0:
    -    resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==}
    -
    -  at-least-node@1.0.0:
    -    resolution: {integrity: sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==}
    -    engines: {node: '>= 4.0.0'}
    -
    -  atomic-sleep@1.0.0:
    -    resolution: {integrity: sha512-kNOjDqAh7px0XWNI+4QbzoiR/nTkHAWNud2uvnJquD1/x5a7EQZMJT0AczqK0Qn67oY/TTQ1LbUKajZpp3I9tQ==}
    -    engines: {node: '>=8.0.0'}
    -
    -  available-typed-arrays@1.0.7:
    -    resolution: {integrity: sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==}
    -    engines: {node: '>= 0.4'}
    -
    -  avvio@7.2.5:
    -    resolution: {integrity: sha512-AOhBxyLVdpOad3TujtC9kL/9r3HnTkxwQ5ggOsYrvvZP1cCFvzHWJd5XxZDFuTn+IN8vkKSG5SEJrd27vCSbeA==}
    -
    -  aws-sign2@0.7.0:
    -    resolution: {integrity: sha512-08kcGqnYf/YmjoRhfxyu+CLxBjUtHLXLXX/vUfx9l2LYzG3c1m61nrpyFUZI6zeS+Li/wWMMidD9KgrqtGq3mA==}
    -
    -  aws4@1.12.0:
    -    resolution: {integrity: sha512-NmWvPnx0F1SfrQbYwOi7OeaNGokp9XhzNioJ/CSBs8Qa4vxug81mhJEAVZwxXuBmYB5KDRfMq/F3RR0BIU7sWg==}
    -
    -  axios@1.6.7:
    -    resolution: {integrity: sha512-/hDJGff6/c7u0hDkvkGxR/oy6CbCs8ziCsC7SqmhjfozqiJGc8Z11wrv9z9lYfY4K8l+H9TpjcMDX0xOZmx+RA==}
    -
    -  babel-jest@29.7.0:
    -    resolution: {integrity: sha512-BrvGY3xZSwEcCzKvKsCi2GgHqDqsYkOP4/by5xCgIwGXQxIEh+8ew3gmrE1y7XRR6LHZIj6yLYnUi/mm2KXKBg==}
    -    engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
    -    peerDependencies:
    -      '@babel/core': ^7.8.0
    -
    -  babel-loader@9.1.3:
    -    resolution: {integrity: sha512-xG3ST4DglodGf8qSwv0MdeWLhrDsw/32QMdTO5T1ZIp9gQur0HkCyFs7Awskr10JKXFXwpAhiCuYX5oGXnRGbw==}
    -    engines: {node: '>= 14.15.0'}
    -    peerDependencies:
    -      '@babel/core': ^7.12.0
    -      webpack: '>=5'
    -
    -  babel-plugin-istanbul@6.1.1:
    -    resolution: {integrity: sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==}
    -    engines: {node: '>=8'}
    -
    -  babel-plugin-jest-hoist@29.6.3:
    -    resolution: {integrity: sha512-ESAc/RJvGTFEzRwOTT4+lNDk/GNHMkKbNzsvT0qKRfDyyYTskxB5rnU2njIDYVxXCBHHEI1c0YwHob3WaYujOg==}
    -    engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
    -
    -  babel-plugin-polyfill-corejs2@0.4.11:
    -    resolution: {integrity: sha512-sMEJ27L0gRHShOh5G54uAAPaiCOygY/5ratXuiyb2G46FmlSpc9eFCzYVyDiPxfNbwzA7mYahmjQc5q+CZQ09Q==}
    -    peerDependencies:
    -      '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0
    -
    -  babel-plugin-polyfill-corejs3@0.10.4:
    -    resolution: {integrity: sha512-25J6I8NGfa5YkCDogHRID3fVCadIR8/pGl1/spvCkzb6lVn6SR3ojpx9nOn9iEBcUsjY24AmdKm5khcfKdylcg==}
    -    peerDependencies:
    -      '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0
    -
    -  babel-plugin-polyfill-regenerator@0.6.2:
    -    resolution: {integrity: sha512-2R25rQZWP63nGwaAswvDazbPXfrM3HwVoBXK6HcqeKrSrL/JqcC/rDcf95l4r7LXLyxDXc8uQDa064GubtCABg==}
    -    peerDependencies:
    -      '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0
    -
    -  babel-preset-current-node-syntax@1.0.1:
    -    resolution: {integrity: sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==}
    -    peerDependencies:
    -      '@babel/core': ^7.0.0
    -
    -  babel-preset-jest@29.6.3:
    -    resolution: {integrity: sha512-0B3bhxR6snWXJZtR/RliHTDPRgn1sNHOR0yVtq/IiQFyuOVjFS+wuio/R4gSNkyYmKmJB4wGZv2NZanmKmTnNA==}
    -    engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
    -    peerDependencies:
    -      '@babel/core': ^7.0.0
    -
    -  bail@2.0.2:
    -    resolution: {integrity: sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw==}
    -
    -  balanced-match@1.0.2:
    -    resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==}
    -
    -  base64-js@1.5.1:
    -    resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==}
    -
    -  batch@0.6.1:
    -    resolution: {integrity: sha512-x+VAiMRL6UPkx+kudNvxTl6hB2XNNCG2r+7wixVfIYwu/2HKRXimwQyaumLjMveWvT2Hkd/cAJw+QBMfJ/EKVw==}
    -
    -  bcrypt-pbkdf@1.0.2:
    -    resolution: {integrity: sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w==}
    -
    -  binary-extensions@2.2.0:
    -    resolution: {integrity: sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==}
    -    engines: {node: '>=8'}
    -
    -  binary-searching@2.0.5:
    -    resolution: {integrity: sha512-v4N2l3RxL+m4zDxyxz3Ne2aTmiPn8ZUpKFpdPtO+ItW1NcTCXA7JeHG5GMBSvoKSkQZ9ycS+EouDVxYB9ufKWA==}
    -
    -  binary@0.3.0:
    -    resolution: {integrity: sha512-D4H1y5KYwpJgK8wk1Cue5LLPgmwHKYSChkbspQg5JtVuR5ulGckxfR62H3AE9UDkdMC8yyXlqYihuz3Aqg2XZg==}
    -
    -  blob-util@2.0.2:
    -    resolution: {integrity: sha512-T7JQa+zsXXEa6/8ZhHcQEW1UFfVM49Ts65uBkFL6fz2QmrElqmbajIDJvuA0tEhRe5eIjpV9ZF+0RfZR9voJFQ==}
    -
    -  bluebird@3.7.1:
    -    resolution: {integrity: sha512-DdmyoGCleJnkbp3nkbxTLJ18rjDsE4yCggEwKNXkeV123sPNfOCYeDoeuOY+F2FrSjO1YXcTU+dsy96KMy+gcg==}
    -
    -  bluebird@3.7.2:
    -    resolution: {integrity: sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==}
    -
    -  bmpimagejs@1.0.4:
    -    resolution: {integrity: sha512-21oKU7kbRt2OgOOj7rdiNr/yznDNUQ585plxR00rsmECcZr+6O1oCwB8OIoSHk/bDhbG8mFXIdeQuCPHgZ6QBw==}
    -
    -  body-parser@1.20.2:
    -    resolution: {integrity: sha512-ml9pReCu3M61kGlqoTm2umSXTlRTuGTx0bfYj+uIUKKYycG5NtSbeetV3faSU6R7ajOPw0g/J1PvK4qNy7s5bA==}
    -    engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16}
    -
    -  bonjour-service@1.1.1:
    -    resolution: {integrity: sha512-Z/5lQRMOG9k7W+FkeGTNjh7htqn/2LMnfOvBZ8pynNZCM9MwkQkI3zeI4oz09uWdcgmgHugVvBqxGg4VQJ5PCg==}
    -
    -  boxen@5.1.2:
    -    resolution: {integrity: sha512-9gYgQKXx+1nP8mP7CzFyaUARhg7D3n1dF/FnErWmu9l6JvGpNUN278h0aSb+QjoiKSWG+iZ3uHrcqk0qrY9RQQ==}
    -    engines: {node: '>=10'}
    -
    -  brace-expansion@1.1.11:
    -    resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==}
    -
    -  brace-expansion@2.0.1:
    -    resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==}
    -
    -  braces@3.0.2:
    -    resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==}
    -    engines: {node: '>=8'}
    -
    -  browserslist@4.23.0:
    -    resolution: {integrity: sha512-QW8HiM1shhT2GuzkvklfjcKDiWFXHOeFCIA/huJPwHsslwcydgk7X+z2zXpEijP98UCY7HbubZt5J2Zgvf0CaQ==}
    -    engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7}
    -    hasBin: true
    -
    -  bser@2.1.1:
    -    resolution: {integrity: sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==}
    -
    -  buffer-crc32@0.2.13:
    -    resolution: {integrity: sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==}
    -
    -  buffer-from@1.1.2:
    -    resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==}
    -
    -  buffer@5.7.1:
    -    resolution: {integrity: sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==}
    -
    -  buffer@6.0.3:
    -    resolution: {integrity: sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==}
    -
    -  buffers@0.1.1:
    -    resolution: {integrity: sha512-9q/rDEGSb/Qsvv2qvzIzdluL5k7AaJOTrw23z9reQthrbF7is4CtlT0DXyO1oei2DCp4uojjzQ7igaSHp1kAEQ==}
    -    engines: {node: '>=0.2.0'}
    -
    -  builtin-modules@3.3.0:
    -    resolution: {integrity: sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==}
    -    engines: {node: '>=6'}
    -
    -  bytes@3.0.0:
    -    resolution: {integrity: sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw==}
    -    engines: {node: '>= 0.8'}
    -
    -  bytes@3.1.2:
    -    resolution: {integrity: sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==}
    -    engines: {node: '>= 0.8'}
    -
    -  cac@6.7.14:
    -    resolution: {integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==}
    -    engines: {node: '>=8'}
    -
    -  cacheable-lookup@5.0.4:
    -    resolution: {integrity: sha512-2/kNscPhpcxrOigMZzbiWF7dz8ilhb/nIHU3EyZiXWXpeq/au8qJ8VhdftMkty3n7Gj6HIGalQG8oiBNB3AJgA==}
    -    engines: {node: '>=10.6.0'}
    -
    -  cacheable-request@7.0.4:
    -    resolution: {integrity: sha512-v+p6ongsrp0yTGbJXjgxPow2+DL93DASP4kXCDKb8/bwRtt9OEF3whggkkDkGNzgcWy2XaF4a8nZglC7uElscg==}
    -    engines: {node: '>=8'}
    -
    -  cachedir@2.4.0:
    -    resolution: {integrity: sha512-9EtFOZR8g22CL7BWjJ9BUx1+A/djkofnyW3aOXZORNW2kxoUpx2h+uN2cOqwPmFhnpVmxg+KW2OjOSgChTEvsQ==}
    -    engines: {node: '>=6'}
    -
    -  caching-transform@4.0.0:
    -    resolution: {integrity: sha512-kpqOvwXnjjN44D89K5ccQC+RUrsy7jB/XLlRrx0D7/2HNcTPqzsb6XgYoErwko6QsV184CA2YgS1fxDiiDZMWA==}
    -    engines: {node: '>=8'}
    -
    -  call-bind@1.0.7:
    -    resolution: {integrity: sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==}
    -    engines: {node: '>= 0.4'}
    -
    -  call-me-maybe@1.0.2:
    -    resolution: {integrity: sha512-HpX65o1Hnr9HH25ojC1YGs7HCQLq0GCOibSaWER0eNpgJ/Z1MZv2mTc7+xh6WOPxbRVcmgbv4hGU+uSQ/2xFZQ==}
    -
    -  callsites@3.1.0:
    -    resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==}
    -    engines: {node: '>=6'}
    -
    -  camelcase-css@2.0.1:
    -    resolution: {integrity: sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==}
    -    engines: {node: '>= 6'}
    -
    -  camelcase@5.3.1:
    -    resolution: {integrity: sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==}
    -    engines: {node: '>=6'}
    -
    -  camelcase@6.3.0:
    -    resolution: {integrity: sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==}
    -    engines: {node: '>=10'}
    -
    -  caniuse-lite@1.0.30001594:
    -    resolution: {integrity: sha512-VblSX6nYqyJVs8DKFMldE2IVCJjZ225LW00ydtUWwh5hk9IfkTOffO6r8gJNsH0qqqeAF8KrbMYA2VEwTlGW5g==}
    -
    -  caseless@0.12.0:
    -    resolution: {integrity: sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==}
    -
    -  ccount@2.0.1:
    -    resolution: {integrity: sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==}
    -
    -  chai@4.4.1:
    -    resolution: {integrity: sha512-13sOfMv2+DWduEU+/xbun3LScLoqN17nBeTLUsmDfKdoiC1fr0n9PU4guu4AhRcOVFk/sW8LyZWHuhWtQZiF+g==}
    -    engines: {node: '>=4'}
    -
    -  chainsaw@0.1.0:
    -    resolution: {integrity: sha512-75kWfWt6MEKNC8xYXIdRpDehRYY/tNSgwKaJq+dbbDcxORuVrrQ+SEHoWsniVn9XPYfP4gmdWIeDk/4YNp1rNQ==}
    -
    -  chalk-template@1.1.0:
    -    resolution: {integrity: sha512-T2VJbcDuZQ0Tb2EWwSotMPJjgpy1/tGee1BTpUNsGZ/qgNjV2t7Mvu+d4600U564nbLesN1x2dPL+xii174Ekg==}
    -    engines: {node: '>=14.16'}
    -
    -  chalk@1.1.3:
    -    resolution: {integrity: sha512-U3lRVLMSlsCfjqYPbLyVv11M9CPW4I728d6TCKMAOJueEeB9/8o+eSsMnxPJD+Q+K909sdESg7C+tIkoH6on1A==}
    -    engines: {node: '>=0.10.0'}
    -
    -  chalk@2.4.2:
    -    resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==}
    -    engines: {node: '>=4'}
    -
    -  chalk@3.0.0:
    -    resolution: {integrity: sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==}
    -    engines: {node: '>=8'}
    -
    -  chalk@4.1.2:
    -    resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==}
    -    engines: {node: '>=10'}
    -
    -  chalk@5.3.0:
    -    resolution: {integrity: sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==}
    -    engines: {node: ^12.17.0 || ^14.13 || >=16.0.0}
    -
    -  char-regex@1.0.2:
    -    resolution: {integrity: sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==}
    -    engines: {node: '>=10'}
    -
    -  character-entities-legacy@1.1.4:
    -    resolution: {integrity: sha512-3Xnr+7ZFS1uxeiUDvV02wQ+QDbc55o97tIV5zHScSPJpcLm/r0DFPcoY3tYRp+VZukxuMeKgXYmsXQHO05zQeA==}
    -
    -  character-entities@1.2.4:
    -    resolution: {integrity: sha512-iBMyeEHxfVnIakwOuDXpVkc54HijNgCyQB2w0VfGQThle6NXn50zU6V/u+LDhxHcDUPojn6Kpga3PTAD8W1bQw==}
    -
    -  character-entities@2.0.2:
    -    resolution: {integrity: sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ==}
    -
    -  character-reference-invalid@1.1.4:
    -    resolution: {integrity: sha512-mKKUkUbhPpQlCOfIuZkvSEgktjPFIsZKRRbC6KWVEMvlzblj3i3asQv5ODsrwt0N3pHAEvjP8KTQPHkp0+6jOg==}
    -
    -  check-error@1.0.3:
    -    resolution: {integrity: sha512-iKEoDYaRmd1mxM90a2OEfWhjsjPpYPuQ+lMYsoxB126+t8fw7ySEO48nmDg5COTjxDI65/Y2OWpeEHk3ZOe8zg==}
    -
    -  check-more-types@2.24.0:
    -    resolution: {integrity: sha512-Pj779qHxV2tuapviy1bSZNEL1maXr13bPYpsvSDB68HlYcYuhlDrmGd63i0JHMCLKzc7rUSNIrpdJlhVlNwrxA==}
    -    engines: {node: '>= 0.8.0'}
    -
    -  chevrotain-allstar@0.3.1:
    -    resolution: {integrity: sha512-b7g+y9A0v4mxCW1qUhf3BSVPg+/NvGErk/dOkrDaHA0nQIQGAtrOjlX//9OQtRlSCy+x9rfB5N8yC71lH1nvMw==}
    -    peerDependencies:
    -      chevrotain: ^11.0.0
    -
    -  chevrotain@11.0.3:
    -    resolution: {integrity: sha512-ci2iJH6LeIkvP9eJW6gpueU8cnZhv85ELY8w8WiFtNjMHA5ad6pQLaJo9mEly/9qUyCpvqX8/POVUTf18/HFdw==}
    -
    -  chokidar@3.6.0:
    -    resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==}
    -    engines: {node: '>= 8.10.0'}
    -
    -  chrome-trace-event@1.0.3:
    -    resolution: {integrity: sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==}
    -    engines: {node: '>=6.0'}
    -
    -  ci-info@3.9.0:
    -    resolution: {integrity: sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==}
    -    engines: {node: '>=8'}
    -
    -  ci-info@4.0.0:
    -    resolution: {integrity: sha512-TdHqgGf9odd8SXNuxtUBVx8Nv+qZOejE6qyqiy5NtbYYQOeFa6zmHkxlPzmaLxWWHsU6nJmB7AETdVPi+2NBUg==}
    -    engines: {node: '>=8'}
    -
    -  cjs-module-lexer@1.2.3:
    -    resolution: {integrity: sha512-0TNiGstbQmCFwt4akjjBg5pLRTSyj/PkWQ1ZoO2zntmg9yLqSRxwEa4iCfQLGjqhiqBfOJa7W/E8wfGrTDmlZQ==}
    -
    -  cjson@0.3.0:
    -    resolution: {integrity: sha512-bBRQcCIHzI1IVH59fR0bwGrFmi3Btb/JNwM/n401i1DnYgWndpsUBiQRAddLflkZage20A2d25OAWZZk0vBRlA==}
    -    engines: {node: '>= 0.3.0'}
    -
    -  clap@3.1.1:
    -    resolution: {integrity: sha512-vp42956Ax06WwaaheYEqEOgXZ3VKJxgccZ0gJL0HpyiupkIS9RVJFo5eDU1BPeQAOqz+cclndZg4DCqG1sJReQ==}
    -    engines: {node: ^12.20.0 || ^14.13.0 || >=15.0.0, npm: '>=7.0.0'}
    -
    -  clean-regexp@1.0.0:
    -    resolution: {integrity: sha512-GfisEZEJvzKrmGWkvfhgzcz/BllN1USeqD2V6tg14OAOgaCD2Z/PUEuxnAZ/nPvmaHRG7a8y77p1T/IRQ4D1Hw==}
    -    engines: {node: '>=4'}
    -
    -  clean-stack@2.2.0:
    -    resolution: {integrity: sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==}
    -    engines: {node: '>=6'}
    -
    -  clean-stack@4.2.0:
    -    resolution: {integrity: sha512-LYv6XPxoyODi36Dp976riBtSY27VmFo+MKqEU9QCCWyTrdEPDog+RWA7xQWHi6Vbp61j5c4cdzzX1NidnwtUWg==}
    -    engines: {node: '>=12'}
    -
    -  clear-module@4.1.2:
    -    resolution: {integrity: sha512-LWAxzHqdHsAZlPlEyJ2Poz6AIs384mPeqLVCru2p0BrP9G/kVGuhNyZYClLO6cXlnuJjzC8xtsJIuMjKqLXoAw==}
    -    engines: {node: '>=8'}
    -
    -  cli-boxes@2.2.1:
    -    resolution: {integrity: sha512-y4coMcylgSCdVinjiDBuR8PCC2bLjyGTwEmPb9NHR/QaNU6EUOXcTY/s6VjGMD6ENSEaeQYHCY0GNGS5jfMwPw==}
    -    engines: {node: '>=6'}
    -
    -  cli-color@2.0.4:
    -    resolution: {integrity: sha512-zlnpg0jNcibNrO7GG9IeHH7maWFeCz+Ja1wx/7tZNU5ASSSSZ+/qZciM0/LHCYxSdqv5h2sdbQ/PXYdOuetXvA==}
    -    engines: {node: '>=0.10'}
    -
    -  cli-cursor@3.1.0:
    -    resolution: {integrity: sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==}
    -    engines: {node: '>=8'}
    -
    -  cli-cursor@4.0.0:
    -    resolution: {integrity: sha512-VGtlMu3x/4DOtIUwEkRezxUZ2lBacNJCHash0N0WeZDBS+7Ux1dm3XWAgWYxLJFMMdOeXMHXorshEFhbMSGelg==}
    -    engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
    -
    -  cli-table3@0.6.4:
    -    resolution: {integrity: sha512-Lm3L0p+/npIQWNIiyF/nAn7T5dnOwR3xNTHXYEBFBFVPXzCVNZ5lqEC/1eo/EVfpDsQ1I+TX4ORPQgp+UI0CRw==}
    -    engines: {node: 10.* || >= 12.*}
    -
    -  cli-truncate@2.1.0:
    -    resolution: {integrity: sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg==}
    -    engines: {node: '>=8'}
    -
    -  cli-truncate@4.0.0:
    -    resolution: {integrity: sha512-nPdaFdQ0h/GEigbPClz11D0v/ZJEwxmeVZGeMo3Z5StPtUTkA9o1lD6QwoirYiSDzbcwn2XcjwmCp68W1IS4TA==}
    -    engines: {node: '>=18'}
    -
    -  cliui@6.0.0:
    -    resolution: {integrity: sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==}
    -
    -  cliui@8.0.1:
    -    resolution: {integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==}
    -    engines: {node: '>=12'}
    -
    -  clone-deep@4.0.1:
    -    resolution: {integrity: sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==}
    -    engines: {node: '>=6'}
    -
    -  clone-response@1.0.3:
    -    resolution: {integrity: sha512-ROoL94jJH2dUVML2Y/5PEDNaSHgeOdSDicUyS7izcF63G6sTc/FTjLub4b8Il9S8S0beOfYt0TaA5qvFK+w0wA==}
    -
    -  co@4.6.0:
    -    resolution: {integrity: sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==}
    -    engines: {iojs: '>= 1.0.0', node: '>= 0.12.0'}
    -
    -  collect-v8-coverage@1.0.2:
    -    resolution: {integrity: sha512-lHl4d5/ONEbLlJvaJNtsF/Lz+WvB07u2ycqTYbdrq7UypDXailES4valYb2eWiJFxZlVmpGekfqoxQhzyFdT4Q==}
    -
    -  color-convert@1.9.3:
    -    resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==}
    -
    -  color-convert@2.0.1:
    -    resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==}
    -    engines: {node: '>=7.0.0'}
    -
    -  color-name@1.1.3:
    -    resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==}
    -
    -  color-name@1.1.4:
    -    resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==}
    -
    -  color-string@1.9.1:
    -    resolution: {integrity: sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==}
    -
    -  colorette@2.0.20:
    -    resolution: {integrity: sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==}
    -
    -  colors@0.5.1:
    -    resolution: {integrity: sha512-XjsuUwpDeY98+yz959OlUK6m7mLBM+1MEG5oaenfuQnNnrQk1WvtcvFgN3FNDP3f2NmZ211t0mNEfSEN1h0eIg==}
    -    engines: {node: '>=0.1.90'}
    -
    -  combined-stream@1.0.8:
    -    resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==}
    -    engines: {node: '>= 0.8'}
    -
    -  commander@11.0.0:
    -    resolution: {integrity: sha512-9HMlXtt/BNoYr8ooyjjNRdIilOTkVJXB+GhxMTtOKwk0R4j4lS4NpjuqmRxroBfnfTSHQIHQB7wryHhXarNjmQ==}
    -    engines: {node: '>=16'}
    -
    -  commander@11.1.0:
    -    resolution: {integrity: sha512-yPVavfyCcRhmorC7rWlkHn15b4wDVgVmBA7kV4QVBsF7kv/9TKJAbAXVTxvTnwP8HHKjRCJDClKbciiYS7p0DQ==}
    -    engines: {node: '>=16'}
    -
    -  commander@12.0.0:
    -    resolution: {integrity: sha512-MwVNWlYjDTtOjX5PiD7o5pK0UrFU/OYgcJfjjK4RaHZETNtjJqrZa9Y9ds88+A+f+d5lv+561eZ+yCKoS3gbAA==}
    -    engines: {node: '>=18'}
    -
    -  commander@2.20.3:
    -    resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==}
    -
    -  commander@4.1.1:
    -    resolution: {integrity: sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==}
    -    engines: {node: '>= 6'}
    -
    -  commander@5.1.0:
    -    resolution: {integrity: sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg==}
    -    engines: {node: '>= 6'}
    -
    -  commander@6.2.1:
    -    resolution: {integrity: sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA==}
    -    engines: {node: '>= 6'}
    -
    -  commander@7.2.0:
    -    resolution: {integrity: sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==}
    -    engines: {node: '>= 10'}
    -
    -  commander@8.3.0:
    -    resolution: {integrity: sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==}
    -    engines: {node: '>= 12'}
    -
    -  comment-json@4.2.3:
    -    resolution: {integrity: sha512-SsxdiOf064DWoZLH799Ata6u7iV658A11PlWtZATDlXPpKGJnbJZ5Z24ybixAi+LUUqJ/GKowAejtC5GFUG7Tw==}
    -    engines: {node: '>= 6'}
    -
    -  comment-parser@1.4.1:
    -    resolution: {integrity: sha512-buhp5kePrmda3vhc5B9t7pUQXAb2Tnd0qgpkIhPhkHXxJpiPJ11H0ZEU0oBpJ2QztSbzG/ZxMj/CHsYJqRHmyg==}
    -    engines: {node: '>= 12.0.0'}
    -
    -  common-path-prefix@3.0.0:
    -    resolution: {integrity: sha512-QE33hToZseCH3jS0qN96O/bSh3kaw/h+Tq7ngyY9eWDUnTlTNUyqfqvCXioLe5Na5jFsL78ra/wuBU4iuEgd4w==}
    -
    -  common-tags@1.8.2:
    -    resolution: {integrity: sha512-gk/Z852D2Wtb//0I+kRFNKKE9dIIVirjoqPoA1wJU+XePVXZfGeBpk45+A1rKO4Q43prqWBNY/MiIeRLbPWUaA==}
    -    engines: {node: '>=4.0.0'}
    -
    -  commondir@1.0.1:
    -    resolution: {integrity: sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==}
    -
    -  compressible@2.0.18:
    -    resolution: {integrity: sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==}
    -    engines: {node: '>= 0.6'}
    -
    -  compression@1.7.4:
    -    resolution: {integrity: sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==}
    -    engines: {node: '>= 0.8.0'}
    -
    -  concat-map@0.0.1:
    -    resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==}
    -
    -  concurrently@8.2.2:
    -    resolution: {integrity: sha512-1dP4gpXFhei8IOtlXRE/T/4H88ElHgTiUzh71YUmtjTEHMSRS2Z/fgOxHSxxusGHogsRfxNq1vyAwxSC+EVyDg==}
    -    engines: {node: ^14.13.0 || >=16.0.0}
    -    hasBin: true
    -
    -  confbox@0.1.7:
    -    resolution: {integrity: sha512-uJcB/FKZtBMCJpK8MQji6bJHgu1tixKPxRLeGkNzBoOZzpnZUJm0jm2/sBDWcuBx1dYgxV4JU+g5hmNxCyAmdA==}
    -
    -  configstore@6.0.0:
    -    resolution: {integrity: sha512-cD31W1v3GqUlQvbBCGcXmd2Nj9SvLDOP1oQ0YFuLETufzSPaKp11rYBsSOm7rCsW3OnIRAFM3OxRhceaXNYHkA==}
    -    engines: {node: '>=12'}
    -
    -  connect-history-api-fallback@2.0.0:
    -    resolution: {integrity: sha512-U73+6lQFmfiNPrYbXqr6kZ1i1wiRqXnp2nhMsINseWXO8lDau0LGEffJ8kQi4EjLZympVgRdvqjAgiZ1tgzDDA==}
    -    engines: {node: '>=0.8'}
    -
    -  consola@3.2.3:
    -    resolution: {integrity: sha512-I5qxpzLv+sJhTVEoLYNcTW+bThDCPsit0vLNKShZx6rLtpilNpmmeTPaeqJb9ZE9dV3DGaeby6Vuhrw38WjeyQ==}
    -    engines: {node: ^14.18.0 || >=16.10.0}
    -
    -  content-disposition@0.5.4:
    -    resolution: {integrity: sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==}
    -    engines: {node: '>= 0.6'}
    -
    -  content-type@1.0.5:
    -    resolution: {integrity: sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==}
    -    engines: {node: '>= 0.6'}
    -
    -  convert-source-map@1.9.0:
    -    resolution: {integrity: sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==}
    -
    -  convert-source-map@2.0.0:
    -    resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==}
    -
    -  cookie-signature@1.0.6:
    -    resolution: {integrity: sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==}
    -
    -  cookie@0.5.0:
    -    resolution: {integrity: sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==}
    -    engines: {node: '>= 0.6'}
    -
    -  cookie@0.6.0:
    -    resolution: {integrity: sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==}
    -    engines: {node: '>= 0.6'}
    -
    -  core-js-compat@3.36.0:
    -    resolution: {integrity: sha512-iV9Pd/PsgjNWBXeq8XRtWVSgz2tKAfhfvBs7qxYty+RlRd+OCksaWmOnc4JKrTc1cToXL1N0s3l/vwlxPtdElw==}
    -
    -  core-js-compat@3.37.0:
    -    resolution: {integrity: sha512-vYq4L+T8aS5UuFg4UwDhc7YNRWVeVZwltad9C/jV3R2LgVOpS9BDr7l/WL6BN0dbV3k1XejPTHqqEzJgsa0frA==}
    -
    -  core-util-is@1.0.2:
    -    resolution: {integrity: sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==}
    -
    -  core-util-is@1.0.3:
    -    resolution: {integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==}
    -
    -  cors@2.8.5:
    -    resolution: {integrity: sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==}
    -    engines: {node: '>= 0.10'}
    -
    -  cose-base@1.0.3:
    -    resolution: {integrity: sha512-s9whTXInMSgAp/NVXVNuVxVKzGH2qck3aQlVHxDCdAEPgtMKwc4Wq6/QKhgdEdgbLSi9rBTAcPoRa6JpiG4ksg==}
    -
    -  cp-file@10.0.0:
    -    resolution: {integrity: sha512-vy2Vi1r2epK5WqxOLnskeKeZkdZvTKfFZQCplE3XWsP+SUJyd5XAUFC9lFgTjjXJF2GMne/UML14iEmkAaDfFg==}
    -    engines: {node: '>=14.16'}
    -
    -  cpy-cli@5.0.0:
    -    resolution: {integrity: sha512-fb+DZYbL9KHc0BC4NYqGRrDIJZPXUmjjtqdw4XRRg8iV8dIfghUX/WiL+q4/B/KFTy3sK6jsbUhBaz0/Hxg7IQ==}
    -    engines: {node: '>=16'}
    -    hasBin: true
    -
    -  cpy@10.1.0:
    -    resolution: {integrity: sha512-VC2Gs20JcTyeQob6UViBLnyP0bYHkBh6EiKzot9vi2DmeGlFT9Wd7VG3NBrkNx/jYvFBeyDOMMHdHQhbtKLgHQ==}
    -    engines: {node: '>=16'}
    -
    -  create-jest@29.7.0:
    -    resolution: {integrity: sha512-Adz2bdH0Vq3F53KEMJOoftQFutWCukm6J24wbPWRO4k1kMY7gS7ds/uoJkNuV8wDCtWWnuwGcJwpWcih+zEW1Q==}
    -    engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
    -    hasBin: true
    -
    -  cross-env@7.0.3:
    -    resolution: {integrity: sha512-+/HKd6EgcQCJGh2PSjZuUitQBQynKor4wrFbRg4DtAgS1aWO+gU52xpH7M9ScGgXSYmAVS9bIJ8EzuaGw0oNAw==}
    -    engines: {node: '>=10.14', npm: '>=6', yarn: '>=1'}
    -    hasBin: true
    -
    -  cross-spawn@6.0.5:
    -    resolution: {integrity: sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==}
    -    engines: {node: '>=4.8'}
    -
    -  cross-spawn@7.0.3:
    -    resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==}
    -    engines: {node: '>= 8'}
    -
    -  crypto-random-string@2.0.0:
    -    resolution: {integrity: sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==}
    -    engines: {node: '>=8'}
    -
    -  crypto-random-string@4.0.0:
    -    resolution: {integrity: sha512-x8dy3RnvYdlUcPOjkEHqozhiwzKNSq7GcPuXFbnyMOCHxX8V3OgIg/pYuabl2sbUPfIJaeAQB7PMOK8DFIdoRA==}
    -    engines: {node: '>=12'}
    -
    -  cspell-config-lib@8.7.0:
    -    resolution: {integrity: sha512-depsd01GbLBo71/tfRrL5iECWQLS4CjCxA9C01dVkFAJqVB0s+K9KLKjTlq5aHOhcvo9Z3dHV+bGQCf5/Q7bfw==}
    -    engines: {node: '>=18'}
    -
    -  cspell-dictionary@8.7.0:
    -    resolution: {integrity: sha512-S6IpZSzIMxlOO/33NgCOuP0TPH2mZbw8d5CP44z5jajflloq8l74MeJLkeDzYfCRcm0Rtk0A5drBeMg+Ai34OA==}
    -    engines: {node: '>=18'}
    -
    -  cspell-gitignore@8.7.0:
    -    resolution: {integrity: sha512-yvUZ86qyopUpDgn+YXP1qTpUe/lp65ZFvpMtw21lWHTFlg1OWKntr349EQU/5ben/K6koxk1FiElCBV7Lr4uFg==}
    -    engines: {node: '>=18'}
    -    hasBin: true
    -
    -  cspell-glob@8.7.0:
    -    resolution: {integrity: sha512-AMdfx0gvROA/aIL8t8b5Y5NtMgscGZELFj6WhCSZiQSuWRxXUKiLGGLUFjx2y0hgXN9LUYOo6aBjvhnxI/v71g==}
    -    engines: {node: '>=18'}
    -
    -  cspell-grammar@8.7.0:
    -    resolution: {integrity: sha512-SGcXc7322wU2WNRi7vtpToWDXTqZHhxqvR+aIXHT2kkxlMSWp3Rvfpshd0ckgY54nZtgw7R/JtKND2jeACRpwQ==}
    -    engines: {node: '>=18'}
    -    hasBin: true
    -
    -  cspell-io@8.7.0:
    -    resolution: {integrity: sha512-o7OltyyvVkRG1gQrIqGpN5pUkHNnv6rvihb7Qu6cJ8jITinLGuWJuEQpgt0eF5yIr624jDbFwSzAxsFox8riQg==}
    -    engines: {node: '>=18'}
    -
    -  cspell-lib@8.7.0:
    -    resolution: {integrity: sha512-qDSHZGekwiDmouYRECTQokE+hgAuPqREm+Hb+G3DoIo3ZK5H47TtEUo8fNCw22XsKefcF8X28LiyoZwiYHVpSg==}
    -    engines: {node: '>=18'}
    -
    -  cspell-trie-lib@8.7.0:
    -    resolution: {integrity: sha512-W3Nh2cO7gMV91r+hLqyTMgKlvRl4W5diKs5YiyOxjZumRkMBy42IzcNYtgIIacOxghklv96F5Bd1Vx/zY6ylGA==}
    -    engines: {node: '>=18'}
    -
    -  cspell@8.7.0:
    -    resolution: {integrity: sha512-77nRPgLl240C6FK8RKVKo34lP15Lzp/6bk+SKYJFwUKKXlcgWXDis+Lw4JolA741/JgHtuxmhW1C8P7dCKjJ3w==}
    -    engines: {node: '>=18'}
    -    hasBin: true
    -
    -  css-tree@2.3.1:
    -    resolution: {integrity: sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw==}
    -    engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0}
    -
    -  cssesc@3.0.0:
    -    resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==}
    -    engines: {node: '>=4'}
    -    hasBin: true
    -
    -  cssstyle@4.0.1:
    -    resolution: {integrity: sha512-8ZYiJ3A/3OkDd093CBT/0UKDWry7ak4BdPTFP2+QEP7cmhouyq/Up709ASSj2cK02BbZiMgk7kYjZNS4QP5qrQ==}
    -    engines: {node: '>=18'}
    -
    -  csstree-validator@3.0.0:
    -    resolution: {integrity: sha512-Y5OSq3wI0Xz6L7DCgJQtQ97U+v99SkX9r663VjpvUMJPhEr0A149OxiAGqcnokB5bt81irgnMudspBzujzqn0w==}
    -    engines: {node: ^12.20.0 || ^14.13.0 || >=15.0.0, npm: '>=7.0.0'}
    -    hasBin: true
    -
    -  csstype@3.1.3:
    -    resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==}
    -
    -  cuint@0.2.2:
    -    resolution: {integrity: sha512-d4ZVpCW31eWwCMe1YT3ur7mUDnTXbgwyzaL320DrcRT45rfjYxkt5QWLrmOJ+/UEAI2+fQgKe/fCjR8l4TpRgw==}
    -
    -  cypress-image-snapshot@4.0.1:
    -    resolution: {integrity: sha512-PBpnhX/XItlx3/DAk5ozsXQHUi72exybBNH5Mpqj1DVmjq+S5Jd9WE5CRa4q5q0zuMZb2V2VpXHth6MjFpgj9Q==}
    -    engines: {node: '>=8'}
    -    peerDependencies:
    -      cypress: ^4.5.0
    -
    -  cypress@13.7.3:
    -    resolution: {integrity: sha512-uoecY6FTCAuIEqLUYkTrxamDBjMHTYak/1O7jtgwboHiTnS1NaMOoR08KcTrbRZFCBvYOiS4tEkQRmsV+xcrag==}
    -    engines: {node: ^16.0.0 || ^18.0.0 || >=20.0.0}
    -    hasBin: true
    -
    -  cytoscape-cose-bilkent@4.1.0:
    -    resolution: {integrity: sha512-wgQlVIUJF13Quxiv5e1gstZ08rnZj2XaLHGoFMYXz7SkNfCDOOteKBE6SYRfA9WxxI/iBc3ajfDoc6hb/MRAHQ==}
    -    peerDependencies:
    -      cytoscape: ^3.2.0
    -
    -  cytoscape@3.28.1:
    -    resolution: {integrity: sha512-xyItz4O/4zp9/239wCcH8ZcFuuZooEeF8KHRmzjDfGdXsj3OG9MFSMA0pJE0uX3uCN/ygof6hHf4L7lst+JaDg==}
    -    engines: {node: '>=0.10'}
    -
    -  d3-array@2.12.1:
    -    resolution: {integrity: sha512-B0ErZK/66mHtEsR1TkPEEkwdy+WDesimkM5gpZr5Dsg54BiTA5RXtYW5qTLIAcekaS9xfZrzBLF/OAkB3Qn1YQ==}
    -
    -  d3-array@3.2.4:
    -    resolution: {integrity: sha512-tdQAmyA18i4J7wprpYq8ClcxZy3SC31QMeByyCFyRt7BVHdREQZ5lpzoe5mFEYZUWe+oq8HBvk9JjpibyEV4Jg==}
    -    engines: {node: '>=12'}
    -
    -  d3-axis@3.0.0:
    -    resolution: {integrity: sha512-IH5tgjV4jE/GhHkRV0HiVYPDtvfjHQlQfJHs0usq7M30XcSBvOotpmH1IgkcXsO/5gEQZD43B//fc7SRT5S+xw==}
    -    engines: {node: '>=12'}
    -
    -  d3-brush@3.0.0:
    -    resolution: {integrity: sha512-ALnjWlVYkXsVIGlOsuWH1+3udkYFI48Ljihfnh8FZPF2QS9o+PzGLBslO0PjzVoHLZ2KCVgAM8NVkXPJB2aNnQ==}
    -    engines: {node: '>=12'}
    -
    -  d3-chord@3.0.1:
    -    resolution: {integrity: sha512-VE5S6TNa+j8msksl7HwjxMHDM2yNK3XCkusIlpX5kwauBfXuyLAtNg9jCp/iHH61tgI4sb6R/EIMWCqEIdjT/g==}
    -    engines: {node: '>=12'}
    -
    -  d3-color@3.1.0:
    -    resolution: {integrity: sha512-zg/chbXyeBtMQ1LbD/WSoW2DpC3I0mpmPdW+ynRTj/x2DAWYrIY7qeZIHidozwV24m4iavr15lNwIwLxRmOxhA==}
    -    engines: {node: '>=12'}
    -
    -  d3-contour@4.0.2:
    -    resolution: {integrity: sha512-4EzFTRIikzs47RGmdxbeUvLWtGedDUNkTcmzoeyg4sP/dvCexO47AaQL7VKy/gul85TOxw+IBgA8US2xwbToNA==}
    -    engines: {node: '>=12'}
    -
    -  d3-delaunay@6.0.4:
    -    resolution: {integrity: sha512-mdjtIZ1XLAM8bm/hx3WwjfHt6Sggek7qH043O8KEjDXN40xi3vx/6pYSVTwLjEgiXQTbvaouWKynLBiUZ6SK6A==}
    -    engines: {node: '>=12'}
    -
    -  d3-dispatch@3.0.1:
    -    resolution: {integrity: sha512-rzUyPU/S7rwUflMyLc1ETDeBj0NRuHKKAcvukozwhshr6g6c5d8zh4c2gQjY2bZ0dXeGLWc1PF174P2tVvKhfg==}
    -    engines: {node: '>=12'}
    -
    -  d3-drag@3.0.0:
    -    resolution: {integrity: sha512-pWbUJLdETVA8lQNJecMxoXfH6x+mO2UQo8rSmZ+QqxcbyA3hfeprFgIT//HW2nlHChWeIIMwS2Fq+gEARkhTkg==}
    -    engines: {node: '>=12'}
    -
    -  d3-dsv@3.0.1:
    -    resolution: {integrity: sha512-UG6OvdI5afDIFP9w4G0mNq50dSOsXHJaRE8arAS5o9ApWnIElp8GZw1Dun8vP8OyHOZ/QJUKUJwxiiCCnUwm+Q==}
    -    engines: {node: '>=12'}
    -    hasBin: true
    -
    -  d3-ease@3.0.1:
    -    resolution: {integrity: sha512-wR/XK3D3XcLIZwpbvQwQ5fK+8Ykds1ip7A2Txe0yxncXSdq1L9skcG7blcedkOX+ZcgxGAmLX1FrRGbADwzi0w==}
    -    engines: {node: '>=12'}
    -
    -  d3-fetch@3.0.1:
    -    resolution: {integrity: sha512-kpkQIM20n3oLVBKGg6oHrUchHM3xODkTzjMoj7aWQFq5QEM+R6E4WkzT5+tojDY7yjez8KgCBRoj4aEr99Fdqw==}
    -    engines: {node: '>=12'}
    -
    -  d3-force@3.0.0:
    -    resolution: {integrity: sha512-zxV/SsA+U4yte8051P4ECydjD/S+qeYtnaIyAs9tgHCqfguma/aAQDjo85A9Z6EKhBirHRJHXIgJUlffT4wdLg==}
    -    engines: {node: '>=12'}
    -
    -  d3-format@3.1.0:
    -    resolution: {integrity: sha512-YyUI6AEuY/Wpt8KWLgZHsIU86atmikuoOmCfommt0LYHiQSPjvX2AcFc38PX0CBpr2RCyZhjex+NS/LPOv6YqA==}
    -    engines: {node: '>=12'}
    -
    -  d3-geo@3.1.0:
    -    resolution: {integrity: sha512-JEo5HxXDdDYXCaWdwLRt79y7giK8SbhZJbFWXqbRTolCHFI5jRqteLzCsq51NKbUoX0PjBVSohxrx+NoOUujYA==}
    -    engines: {node: '>=12'}
    -
    -  d3-hierarchy@3.1.2:
    -    resolution: {integrity: sha512-FX/9frcub54beBdugHjDCdikxThEqjnR93Qt7PvQTOHxyiNCAlvMrHhclk3cD5VeAaq9fxmfRp+CnWw9rEMBuA==}
    -    engines: {node: '>=12'}
    -
    -  d3-interpolate@3.0.1:
    -    resolution: {integrity: sha512-3bYs1rOD33uo8aqJfKP3JWPAibgw8Zm2+L9vBKEHJ2Rg+viTR7o5Mmv5mZcieN+FRYaAOWX5SJATX6k1PWz72g==}
    -    engines: {node: '>=12'}
    -
    -  d3-path@1.0.9:
    -    resolution: {integrity: sha512-VLaYcn81dtHVTjEHd8B+pbe9yHWpXKZUC87PzoFmsFrJqgFwDe/qxfp5MlfsfM1V5E/iVt0MmEbWQ7FVIXh/bg==}
    -
    -  d3-path@3.1.0:
    -    resolution: {integrity: sha512-p3KP5HCf/bvjBSSKuXid6Zqijx7wIfNW+J/maPs+iwR35at5JCbLUT0LzF1cnjbCHWhqzQTIN2Jpe8pRebIEFQ==}
    -    engines: {node: '>=12'}
    -
    -  d3-polygon@3.0.1:
    -    resolution: {integrity: sha512-3vbA7vXYwfe1SYhED++fPUQlWSYTTGmFmQiany/gdbiWgU/iEyQzyymwL9SkJjFFuCS4902BSzewVGsHHmHtXg==}
    -    engines: {node: '>=12'}
    -
    -  d3-quadtree@3.0.1:
    -    resolution: {integrity: sha512-04xDrxQTDTCFwP5H6hRhsRcb9xxv2RzkcsygFzmkSIOJy3PeRJP7sNk3VRIbKXcog561P9oU0/rVH6vDROAgUw==}
    -    engines: {node: '>=12'}
    -
    -  d3-random@3.0.1:
    -    resolution: {integrity: sha512-FXMe9GfxTxqd5D6jFsQ+DJ8BJS4E/fT5mqqdjovykEB2oFbTMDVdg1MGFxfQW+FBOGoB++k8swBrgwSHT1cUXQ==}
    -    engines: {node: '>=12'}
    -
    -  d3-sankey@0.12.3:
    -    resolution: {integrity: sha512-nQhsBRmM19Ax5xEIPLMY9ZmJ/cDvd1BG3UVvt5h3WRxKg5zGRbvnteTyWAbzeSvlh3tW7ZEmq4VwR5mB3tutmQ==}
    -
    -  d3-scale-chromatic@3.0.0:
    -    resolution: {integrity: sha512-Lx9thtxAKrO2Pq6OO2Ua474opeziKr279P/TKZsMAhYyNDD3EnCffdbgeSYN5O7m2ByQsxtuP2CSDczNUIZ22g==}
    -    engines: {node: '>=12'}
    -
    -  d3-scale@4.0.2:
    -    resolution: {integrity: sha512-GZW464g1SH7ag3Y7hXjf8RoUuAFIqklOAq3MRl4OaWabTFJY9PN/E1YklhXLh+OQ3fM9yS2nOkCoS+WLZ6kvxQ==}
    -    engines: {node: '>=12'}
    -
    -  d3-selection@3.0.0:
    -    resolution: {integrity: sha512-fmTRWbNMmsmWq6xJV8D19U/gw/bwrHfNXxrIN+HfZgnzqTHp9jOmKMhsTUjXOJnZOdZY9Q28y4yebKzqDKlxlQ==}
    -    engines: {node: '>=12'}
    -
    -  d3-shape@1.3.7:
    -    resolution: {integrity: sha512-EUkvKjqPFUAZyOlhY5gzCxCeI0Aep04LwIRpsZ/mLFelJiUfnK56jo5JMDSE7yyP2kLSb6LtF+S5chMk7uqPqw==}
    -
    -  d3-shape@3.2.0:
    -    resolution: {integrity: sha512-SaLBuwGm3MOViRq2ABk3eLoxwZELpH6zhl3FbAoJ7Vm1gofKx6El1Ib5z23NUEhF9AsGl7y+dzLe5Cw2AArGTA==}
    -    engines: {node: '>=12'}
    -
    -  d3-time-format@4.1.0:
    -    resolution: {integrity: sha512-dJxPBlzC7NugB2PDLwo9Q8JiTR3M3e4/XANkreKSUxF8vvXKqm1Yfq4Q5dl8budlunRVlUUaDUgFt7eA8D6NLg==}
    -    engines: {node: '>=12'}
    -
    -  d3-time@3.1.0:
    -    resolution: {integrity: sha512-VqKjzBLejbSMT4IgbmVgDjpkYrNWUYJnbCGo874u7MMKIWsILRX+OpX/gTk8MqjpT1A/c6HY2dCA77ZN0lkQ2Q==}
    -    engines: {node: '>=12'}
    -
    -  d3-timer@3.0.1:
    -    resolution: {integrity: sha512-ndfJ/JxxMd3nw31uyKoY2naivF+r29V+Lc0svZxe1JvvIRmi8hUsrMvdOwgS1o6uBHmiz91geQ0ylPP0aj1VUA==}
    -    engines: {node: '>=12'}
    -
    -  d3-transition@3.0.1:
    -    resolution: {integrity: sha512-ApKvfjsSR6tg06xrL434C0WydLr7JewBB3V+/39RMHsaXTOG0zmt/OAXeng5M5LBm0ojmxJrpomQVZ1aPvBL4w==}
    -    engines: {node: '>=12'}
    -    peerDependencies:
    -      d3-selection: 2 - 3
    -
    -  d3-zoom@3.0.0:
    -    resolution: {integrity: sha512-b8AmV3kfQaqWAuacbPuNbL6vahnOJflOhexLzMMNLga62+/nh0JzvJ0aO/5a5MVgUFGS7Hu1P9P03o3fJkDCyw==}
    -    engines: {node: '>=12'}
    -
    -  d3@7.9.0:
    -    resolution: {integrity: sha512-e1U46jVP+w7Iut8Jt8ri1YsPOvFpg46k+K8TpCb0P+zjCkjkPnV7WzfDJzMHy1LnA+wj5pLT1wjO901gLXeEhA==}
    -    engines: {node: '>=12'}
    -
    -  d@1.0.2:
    -    resolution: {integrity: sha512-MOqHvMWF9/9MX6nza0KgvFH4HpMU0EF5uUDXqX/BtxtU8NfB0QzRtJ8Oe/6SuS4kbhyzVJwjd97EA4PKrzJ8bw==}
    -    engines: {node: '>=0.12'}
    -
    -  dagre-d3-es@7.0.10:
    -    resolution: {integrity: sha512-qTCQmEhcynucuaZgY5/+ti3X/rnszKZhEQH/ZdWdtP1tA/y3VoHJzcVrO9pjjJCNpigfscAtoUB5ONcd2wNn0A==}
    -
    -  dashdash@1.14.1:
    -    resolution: {integrity: sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g==}
    -    engines: {node: '>=0.10'}
    -
    -  data-uri-to-buffer@4.0.1:
    -    resolution: {integrity: sha512-0R9ikRb668HB7QDxT1vkpuUBtqc53YyAwMwGeUFKRojY/NWKvdZ+9UYtRfGmhqNbRkTSVpMbmyhXipFFv2cb/A==}
    -    engines: {node: '>= 12'}
    -
    -  data-urls@5.0.0:
    -    resolution: {integrity: sha512-ZYP5VBHshaDAiVZxjbRVcFJpc+4xGgT0bK3vzy1HLN8jTO975HEbuYzZJcHoQEY5K1a0z8YayJkyVETa08eNTg==}
    -    engines: {node: '>=18'}
    -
    -  data-view-buffer@1.0.1:
    -    resolution: {integrity: sha512-0lht7OugA5x3iJLOWFhWK/5ehONdprk0ISXqVFn/NFrDu+cuc8iADFrGQz5BnRK7LLU3JmkbXSxaqX+/mXYtUA==}
    -    engines: {node: '>= 0.4'}
    -
    -  data-view-byte-length@1.0.1:
    -    resolution: {integrity: sha512-4J7wRJD3ABAzr8wP+OcIcqq2dlUKp4DVflx++hs5h5ZKydWMI6/D/fAot+yh6g2tHh8fLFTvNOaVN357NvSrOQ==}
    -    engines: {node: '>= 0.4'}
    -
    -  data-view-byte-offset@1.0.0:
    -    resolution: {integrity: sha512-t/Ygsytq+R995EJ5PZlD4Cu56sWa8InXySaViRzw9apusqsOO2bQP+SbYzAhR0pFKoB+43lYy8rWban9JSuXnA==}
    -    engines: {node: '>= 0.4'}
    -
    -  date-fns@2.30.0:
    -    resolution: {integrity: sha512-fnULvOpxnC5/Vg3NCiWelDsLiUc9bRwAPs/+LfTLNvetFCtCTN+yQz15C/fs4AwX1R9K5GLtLfn8QW+dWisaAw==}
    -    engines: {node: '>=0.11'}
    -
    -  dayjs@1.11.10:
    -    resolution: {integrity: sha512-vjAczensTgRcqDERK0SR2XMwsF/tSvnvlv6VcF2GIhg6Sx4yOIt/irsr1RDJsKiIyBzJDpCoXiWWq28MqH2cnQ==}
    -
    -  dayjs@1.11.11:
    -    resolution: {integrity: sha512-okzr3f11N6WuqYtZSvm+F776mB41wRZMhKP+hc34YdW+KmtYYK9iqvHSwo2k9FEH3fhGXvOPV6yz2IcSrfRUDg==}
    -
    -  debug@2.6.9:
    -    resolution: {integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==}
    -    peerDependencies:
    -      supports-color: '*'
    -    peerDependenciesMeta:
    -      supports-color:
    -        optional: true
    -
    -  debug@3.2.7:
    -    resolution: {integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==}
    -    peerDependencies:
    -      supports-color: '*'
    -    peerDependenciesMeta:
    -      supports-color:
    -        optional: true
    -
    -  debug@4.3.3:
    -    resolution: {integrity: sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==}
    -    engines: {node: '>=6.0'}
    -    peerDependencies:
    -      supports-color: '*'
    -    peerDependenciesMeta:
    -      supports-color:
    -        optional: true
    -
    -  debug@4.3.4:
    -    resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==}
    -    engines: {node: '>=6.0'}
    -    peerDependencies:
    -      supports-color: '*'
    -    peerDependenciesMeta:
    -      supports-color:
    -        optional: true
    -
    -  decamelize@1.2.0:
    -    resolution: {integrity: sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==}
    -    engines: {node: '>=0.10.0'}
    -
    -  decimal.js@10.4.3:
    -    resolution: {integrity: sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA==}
    -
    -  decode-named-character-reference@1.0.2:
    -    resolution: {integrity: sha512-O8x12RzrUF8xyVcY0KJowWsmaJxQbmy0/EtnNtHRpsOcT7dFk5W598coHqBVpmWo1oQQfsCqfCmkZN5DJrZVdg==}
    -
    -  decompress-response@6.0.0:
    -    resolution: {integrity: sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==}
    -    engines: {node: '>=10'}
    -
    -  dedent@1.5.1:
    -    resolution: {integrity: sha512-+LxW+KLWxu3HW3M2w2ympwtqPrqYRzU8fqi6Fhd18fBALe15blJPI/I4+UHveMVG6lJqB4JNd4UG0S5cnVHwIg==}
    -    peerDependencies:
    -      babel-plugin-macros: ^3.1.0
    -    peerDependenciesMeta:
    -      babel-plugin-macros:
    -        optional: true
    -
    -  deep-eql@4.1.3:
    -    resolution: {integrity: sha512-WaEtAOpRA1MQ0eohqZjpGD8zdI0Ovsm8mmFhaDN8dvDZzyoUMcYDnf5Y6iu7HTXxf8JDS23qWa4a+hKCDyOPzw==}
    -    engines: {node: '>=6'}
    -
    -  deep-is@0.1.4:
    -    resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==}
    -
    -  deepmerge@4.3.1:
    -    resolution: {integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==}
    -    engines: {node: '>=0.10.0'}
    -
    -  default-gateway@6.0.3:
    -    resolution: {integrity: sha512-fwSOJsbbNzZ/CUFpqFBqYfYNLj1NbMPm8MMCIzHjC83iSJRBEGmDUxU+WP661BaBQImeC2yHwXtz+P/O9o+XEg==}
    -    engines: {node: '>= 10'}
    -
    -  default-require-extensions@3.0.1:
    -    resolution: {integrity: sha512-eXTJmRbm2TIt9MgWTsOH1wEuhew6XGZcMeGKCtLedIg/NCsg1iBePXkceTdK4Fii7pzmN9tGsZhKzZ4h7O/fxw==}
    -    engines: {node: '>=8'}
    -
    -  defer-to-connect@2.0.1:
    -    resolution: {integrity: sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg==}
    -    engines: {node: '>=10'}
    -
    -  define-data-property@1.1.4:
    -    resolution: {integrity: sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==}
    -    engines: {node: '>= 0.4'}
    -
    -  define-lazy-prop@2.0.0:
    -    resolution: {integrity: sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==}
    -    engines: {node: '>=8'}
    -
    -  define-properties@1.2.1:
    -    resolution: {integrity: sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==}
    -    engines: {node: '>= 0.4'}
    -
    -  defu@6.1.4:
    -    resolution: {integrity: sha512-mEQCMmwJu317oSz8CwdIOdwf3xMif1ttiM8LTufzc3g6kR+9Pe236twL8j3IYT1F7GfRgGcW6MWxzZjLIkuHIg==}
    -
    -  delaunator@5.0.1:
    -    resolution: {integrity: sha512-8nvh+XBe96aCESrGOqMp/84b13H9cdKbG5P2ejQCh4d4sK9RL4371qou9drQjMhvnPmhWl5hnmqbEE0fXr9Xnw==}
    -
    -  delayed-stream@1.0.0:
    -    resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==}
    -    engines: {node: '>=0.4.0'}
    -
    -  depd@1.1.2:
    -    resolution: {integrity: sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==}
    -    engines: {node: '>= 0.6'}
    -
    -  depd@2.0.0:
    -    resolution: {integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==}
    -    engines: {node: '>= 0.8'}
    -
    -  dequal@2.0.3:
    -    resolution: {integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==}
    -    engines: {node: '>=6'}
    -
    -  destr@2.0.3:
    -    resolution: {integrity: sha512-2N3BOUU4gYMpTP24s5rF5iP7BDr7uNTCs4ozw3kf/eKfvWSIu93GEBi5m427YoyJoeOzQ5smuu4nNAPGb8idSQ==}
    -
    -  destroy@1.2.0:
    -    resolution: {integrity: sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==}
    -    engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16}
    -
    -  detect-newline@3.1.0:
    -    resolution: {integrity: sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==}
    -    engines: {node: '>=8'}
    -
    -  detect-node@2.1.0:
    -    resolution: {integrity: sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==}
    -
    -  devlop@1.1.0:
    -    resolution: {integrity: sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA==}
    -
    -  didyoumean@1.2.2:
    -    resolution: {integrity: sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==}
    -
    -  diff-sequences@29.6.3:
    -    resolution: {integrity: sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==}
    -    engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
    -
    -  dir-glob@3.0.1:
    -    resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==}
    -    engines: {node: '>=8'}
    -
    -  dlv@1.1.3:
    -    resolution: {integrity: sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==}
    -
    -  dns-equal@1.0.0:
    -    resolution: {integrity: sha512-z+paD6YUQsk+AbGCEM4PrOXSss5gd66QfcVBFTKR/HpFL9jCqikS94HYwKww6fQyO7IxrIIyUu+g0Ka9tUS2Cg==}
    -
    -  dns-packet@5.6.0:
    -    resolution: {integrity: sha512-rza3UH1LwdHh9qyPXp8lkwpjSNk/AMD3dPytUoRoqnypDUhY0xvbdmVhWOfxO68frEfV9BU8V12Ez7ZsHGZpCQ==}
    -    engines: {node: '>=6'}
    -
    -  doctrine@3.0.0:
    -    resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==}
    -    engines: {node: '>=6.0.0'}
    -
    -  dom-serializer@2.0.0:
    -    resolution: {integrity: sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==}
    -
    -  dom-to-image-more@2.16.0:
    -    resolution: {integrity: sha512-RyjtkaM/zVy90uJ20lT+/G7MwBZx6l/ePliq5CQOeAnPeew7aUGS6IqRWBkHpstU+POmhaKA8A9H9qf476gisQ==}
    -
    -  domelementtype@2.3.0:
    -    resolution: {integrity: sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==}
    -
    -  domhandler@5.0.3:
    -    resolution: {integrity: sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==}
    -    engines: {node: '>= 4'}
    -
    -  dompurify@3.1.2:
    -    resolution: {integrity: sha512-hLGGBI1tw5N8qTELr3blKjAML/LY4ANxksbS612UiJyDfyf/2D092Pvm+S7pmeTGJRqvlJkFzBoHBQKgQlOQVg==}
    -
    -  domutils@3.1.0:
    -    resolution: {integrity: sha512-H78uMmQtI2AhgDJjWeQmHwJJ2bLPD3GMmO7Zja/ZZh84wkm+4ut+IUnUdRa8uCGX88DiVx1j6FRe1XfxEgjEZA==}
    -
    -  dot-prop@6.0.1:
    -    resolution: {integrity: sha512-tE7ztYzXHIeyvc7N+hR3oi7FIbf/NIjVP9hmAt3yMXzrQ072/fpjGLx2GxNxGxUl5V73MEqYzioOMoVhGMJ5cA==}
    -    engines: {node: '>=10'}
    -
    -  dotenv@16.4.5:
    -    resolution: {integrity: sha512-ZmdL2rui+eB2YwhsWzjInR8LldtZHGDoQ1ugH85ppHKwpUHL7j7rN0Ti9NCnGiQbhaZ11FpR+7ao1dNsmduNUg==}
    -    engines: {node: '>=12'}
    -
    -  duplexer@0.1.2:
    -    resolution: {integrity: sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==}
    -
    -  eastasianwidth@0.2.0:
    -    resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==}
    -
    -  ebnf-parser@0.1.10:
    -    resolution: {integrity: sha512-urvSxVQ6XJcoTpc+/x2pWhhuOX4aljCNQpwzw+ifZvV1andZkAmiJc3Rq1oGEAQmcjiLceyMXOy1l8ms8qs2fQ==}
    -
    -  ecc-jsbn@0.1.2:
    -    resolution: {integrity: sha512-eh9O+hwRHNbG4BLTjEl3nw044CkGm5X6LoaCf7LPp7UU8Qrt47JYNi6nPX8xjW97TKGKm1ouctg0QSpZe9qrnw==}
    -
    -  ee-first@1.1.1:
    -    resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==}
    -
    -  ejs@3.1.10:
    -    resolution: {integrity: sha512-UeJmFfOrAQS8OJWPZ4qtgHyWExa088/MtK5UEyoJGFH67cDEXkZSviOiKRCZ4Xij0zxI3JECgYs3oKx+AizQBA==}
    -    engines: {node: '>=0.10.0'}
    -    hasBin: true
    -
    -  electron-to-chromium@1.4.692:
    -    resolution: {integrity: sha512-d5rZRka9n2Y3MkWRN74IoAsxR0HK3yaAt7T50e3iT9VZmCCQDT3geXUO5ZRMhDToa1pkCeQXuNo+0g+NfDOVPA==}
    -
    -  elkjs@0.9.3:
    -    resolution: {integrity: sha512-f/ZeWvW/BCXbhGEf1Ujp29EASo/lk1FDnETgNKwJrsVvGZhUWCZyg3xLJjAsxfOmt8KjswHmI5EwCQcPMpOYhQ==}
    -
    -  emittery@0.13.1:
    -    resolution: {integrity: sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==}
    -    engines: {node: '>=12'}
    -
    -  emoji-regex@10.3.0:
    -    resolution: {integrity: sha512-QpLs9D9v9kArv4lfDEgg1X/gN5XLnf/A6l9cs8SPZLRZR3ZkY9+kwIQTxm+fsSej5UMYGE8fdoaZVIBlqG0XTw==}
    -
    -  emoji-regex@8.0.0:
    -    resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==}
    -
    -  emoji-regex@9.2.2:
    -    resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==}
    -
    -  encodeurl@1.0.2:
    -    resolution: {integrity: sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==}
    -    engines: {node: '>= 0.8'}
    -
    -  encoding@0.1.13:
    -    resolution: {integrity: sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==}
    -
    -  end-of-stream@1.4.4:
    -    resolution: {integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==}
    -
    -  enhanced-resolve@5.16.0:
    -    resolution: {integrity: sha512-O+QWCviPNSSLAD9Ucn8Awv+poAkqn3T1XY5/N7kR7rQO9yfSGWkYZDwpJ+iKF7B8rxaQKWngSqACpgzeapSyoA==}
    -    engines: {node: '>=10.13.0'}
    -
    -  enquirer@2.4.1:
    -    resolution: {integrity: sha512-rRqJg/6gd538VHvR3PSrdRBb/1Vy2YfzHqzvbhGIQpDRKIa4FgV/54b5Q1xYSxOOwKvjXweS26E0Q+nAMwp2pQ==}
    -    engines: {node: '>=8.6'}
    -
    -  entities@3.0.1:
    -    resolution: {integrity: sha512-WiyBqoomrwMdFG1e0kqvASYfnlb0lp8M5o5Fw2OFq1hNZxxcNk8Ik0Xm7LxzBhuidnZB/UtBqVCgUz3kBOP51Q==}
    -    engines: {node: '>=0.12'}
    -
    -  entities@4.5.0:
    -    resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==}
    -    engines: {node: '>=0.12'}
    -
    -  envinfo@7.10.0:
    -    resolution: {integrity: sha512-ZtUjZO6l5mwTHvc1L9+1q5p/R3wTopcfqMW8r5t8SJSKqeVI/LtajORwRFEKpEFuekjD0VBjwu1HMxL4UalIRw==}
    -    engines: {node: '>=4'}
    -    hasBin: true
    -
    -  error-ex@1.3.2:
    -    resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==}
    -
    -  es-abstract@1.23.3:
    -    resolution: {integrity: sha512-e+HfNH61Bj1X9/jLc5v1owaLYuHdeHHSQlkhCBiTK8rBvKaULl/beGMxwrMXjpYrv4pz22BlY570vVePA2ho4A==}
    -    engines: {node: '>= 0.4'}
    -
    -  es-define-property@1.0.0:
    -    resolution: {integrity: sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==}
    -    engines: {node: '>= 0.4'}
    -
    -  es-errors@1.3.0:
    -    resolution: {integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==}
    -    engines: {node: '>= 0.4'}
    -
    -  es-module-lexer@1.4.1:
    -    resolution: {integrity: sha512-cXLGjP0c4T3flZJKQSuziYoq7MlT+rnvfZjfp7h+I7K9BNX54kP9nyWvdbwjQ4u1iWbOL4u96fgeZLToQlZC7w==}
    -
    -  es-object-atoms@1.0.0:
    -    resolution: {integrity: sha512-MZ4iQ6JwHOBQjahnjwaC1ZtIBH+2ohjamzAO3oaHcXYup7qxjF2fixyH+Q71voWHeOkI2q/TnJao/KfXYIZWbw==}
    -    engines: {node: '>= 0.4'}
    -
    -  es-set-tostringtag@2.0.3:
    -    resolution: {integrity: sha512-3T8uNMC3OQTHkFUsFq8r/BwAXLHvU/9O9mE0fBc/MY5iq/8H7ncvO947LmYA6ldWw9Uh8Yhf25zu6n7nML5QWQ==}
    -    engines: {node: '>= 0.4'}
    -
    -  es-to-primitive@1.2.1:
    -    resolution: {integrity: sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==}
    -    engines: {node: '>= 0.4'}
    -
    -  es2015-i18n-tag@1.6.1:
    -    resolution: {integrity: sha512-MYoh9p+JTkgnzBh0MEBON6xUyzdmwT6wzsmmFJvZujGSXiI2kM+3XvFl6+AcIO2eeL6VWgtX9szSiDTMwDxyYA==}
    -    engines: {node: '>= 4.0.0'}
    -
    -  es5-ext@0.10.64:
    -    resolution: {integrity: sha512-p2snDhiLaXe6dahss1LddxqEm+SkuDvV8dnIQG0MWjyHpcMNfXKPE+/Cc0y+PhxJX3A4xGNeFCj5oc0BUh6deg==}
    -    engines: {node: '>=0.10'}
    -
    -  es6-error@4.1.1:
    -    resolution: {integrity: sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg==}
    -
    -  es6-iterator@2.0.3:
    -    resolution: {integrity: sha512-zw4SRzoUkd+cl+ZoE15A9o1oQd920Bb0iOJMQkQhl3jNc03YqVjAhG7scf9C5KWRU/R13Orf588uCC6525o02g==}
    -
    -  es6-symbol@3.1.4:
    -    resolution: {integrity: sha512-U9bFFjX8tFiATgtkJ1zg25+KviIXpgRvRHS8sau3GfhVzThRQrOeksPeT0BWW2MNZs1OEWJ1DPXOQMn0KKRkvg==}
    -    engines: {node: '>=0.12'}
    -
    -  es6-weak-map@2.0.3:
    -    resolution: {integrity: sha512-p5um32HOTO1kP+w7PRnB+5lQ43Z6muuMuIMffvDN8ZB4GcnjLBV6zGStpbASIMk4DCAvEaamhe2zhyCb/QXXsA==}
    -
    -  esbuild@0.18.20:
    -    resolution: {integrity: sha512-ceqxoedUrcayh7Y7ZX6NdbbDzGROiyVBgC4PriJThBKSVPWnnFHZAkfI1lJT8QFkOwH4qOS2SJkS4wvpGl8BpA==}
    -    engines: {node: '>=12'}
    -    hasBin: true
    -
    -  esbuild@0.19.12:
    -    resolution: {integrity: sha512-aARqgq8roFBj054KvQr5f1sFu0D65G+miZRCuJyJ0G13Zwx7vRar5Zhn2tkQNzIXcBrNVsv/8stehpj+GAjgbg==}
    -    engines: {node: '>=12'}
    -    hasBin: true
    -
    -  esbuild@0.20.2:
    -    resolution: {integrity: sha512-WdOOppmUNU+IbZ0PaDiTst80zjnrOkyJNHoKupIcVyU8Lvla3Ugx94VzkQ32Ijqd7UhHJy75gNWDMUekcrSJ6g==}
    -    engines: {node: '>=12'}
    -    hasBin: true
    -
    -  escalade@3.1.2:
    -    resolution: {integrity: sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==}
    -    engines: {node: '>=6'}
    -
    -  escape-html@1.0.3:
    -    resolution: {integrity: sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==}
    -
    -  escape-string-regexp@1.0.5:
    -    resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==}
    -    engines: {node: '>=0.8.0'}
    -
    -  escape-string-regexp@2.0.0:
    -    resolution: {integrity: sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==}
    -    engines: {node: '>=8'}
    -
    -  escape-string-regexp@4.0.0:
    -    resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==}
    -    engines: {node: '>=10'}
    -
    -  escape-string-regexp@5.0.0:
    -    resolution: {integrity: sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==}
    -    engines: {node: '>=12'}
    -
    -  escodegen@1.3.3:
    -    resolution: {integrity: sha512-z9FWgKc48wjMlpzF5ymKS1AF8OIgnKLp9VyN7KbdtyrP/9lndwUFqCtMm+TAJmJf7KJFFYc4cFJfVTTGkKEwsA==}
    -    engines: {node: '>=0.10.0'}
    -    hasBin: true
    -
    -  eslint-config-prettier@9.1.0:
    -    resolution: {integrity: sha512-NSWl5BFQWEPi1j4TjVNItzYV7dZXZ+wP6I6ZhrBGpChQhZRUaElihE9uRRkcbRnNb76UMKDF3r+WTmNcGPKsqw==}
    -    hasBin: true
    -    peerDependencies:
    -      eslint: '>=7.0.0'
    -
    -  eslint-plugin-cypress@2.15.2:
    -    resolution: {integrity: sha512-CtcFEQTDKyftpI22FVGpx8bkpKyYXBlNge6zSo0pl5/qJvBAnzaD76Vu2AsP16d6mTj478Ldn2mhgrWV+Xr0vQ==}
    -    peerDependencies:
    -      eslint: '>= 3.2.1'
    -
    -  eslint-plugin-html@8.1.1:
    -    resolution: {integrity: sha512-6qmlJsc40D2m3Dn9oEH+0PAOkJhxVu0f5sVItqpCE0YWgYnyP4xCjBc3UWTHaJcY9ARkWOLIIuXLq0ndRnQOHw==}
    -    engines: {node: '>=16.0.0'}
    -
    -  eslint-plugin-jest@27.9.0:
    -    resolution: {integrity: sha512-QIT7FH7fNmd9n4se7FFKHbsLKGQiw885Ds6Y/sxKgCZ6natwCsXdgPOADnYVxN2QrRweF0FZWbJ6S7Rsn7llug==}
    -    engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
    -    peerDependencies:
    -      '@typescript-eslint/eslint-plugin': ^5.0.0 || ^6.0.0 || ^7.0.0
    -      eslint: ^7.0.0 || ^8.0.0
    -      jest: '*'
    -    peerDependenciesMeta:
    -      '@typescript-eslint/eslint-plugin':
    -        optional: true
    -      jest:
    -        optional: true
    -
    -  eslint-plugin-jsdoc@48.2.3:
    -    resolution: {integrity: sha512-r9DMAmFs66VNvNqRLLjHejdnJtILrt3xGi+Qx0op0oRfFGVpOR1Hb3BC++MacseHx93d8SKYPhyrC9BS7Os2QA==}
    -    engines: {node: '>=18'}
    -    peerDependencies:
    -      eslint: ^7.0.0 || ^8.0.0 || ^9.0.0
    -
    -  eslint-plugin-json@3.1.0:
    -    resolution: {integrity: sha512-MrlG2ynFEHe7wDGwbUuFPsaT2b1uhuEFhJ+W1f1u+1C2EkXmTYJp4B1aAdQQ8M+CC3t//N/oRKiIVw14L2HR1g==}
    -    engines: {node: '>=12.0'}
    -
    -  eslint-plugin-lodash@7.4.0:
    -    resolution: {integrity: sha512-Tl83UwVXqe1OVeBRKUeWcfg6/pCW1GTRObbdnbEJgYwjxp5Q92MEWQaH9+dmzbRt6kvYU1Mp893E79nJiCSM8A==}
    -    engines: {node: '>=10'}
    -    peerDependencies:
    -      eslint: '>=2'
    -
    -  eslint-plugin-markdown@4.0.1:
    -    resolution: {integrity: sha512-5/MnGvYU0i8MbHH5cg8S+Vl3DL+bqRNYshk1xUO86DilNBaxtTkhH+5FD0/yO03AmlI6+lfNFdk2yOw72EPzpA==}
    -    engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
    -    peerDependencies:
    -      eslint: '>=8'
    -
    -  eslint-plugin-no-only-tests@3.1.0:
    -    resolution: {integrity: sha512-Lf4YW/bL6Un1R6A76pRZyE1dl1vr31G/ev8UzIc/geCgFWyrKil8hVjYqWVKGB/UIGmb6Slzs9T0wNezdSVegw==}
    -    engines: {node: '>=5.0.0'}
    -
    -  eslint-plugin-tsdoc@0.2.17:
    -    resolution: {integrity: sha512-xRmVi7Zx44lOBuYqG8vzTXuL6IdGOeF9nHX17bjJ8+VE6fsxpdGem0/SBTmAwgYMKYB1WBkqRJVQ+n8GK041pA==}
    -
    -  eslint-plugin-unicorn@51.0.1:
    -    resolution: {integrity: sha512-MuR/+9VuB0fydoI0nIn2RDA5WISRn4AsJyNSaNKLVwie9/ONvQhxOBbkfSICBPnzKrB77Fh6CZZXjgTt/4Latw==}
    -    engines: {node: '>=16'}
    -    peerDependencies:
    -      eslint: '>=8.56.0'
    -
    -  eslint-scope@5.1.1:
    -    resolution: {integrity: sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==}
    -    engines: {node: '>=8.0.0'}
    -
    -  eslint-scope@7.2.2:
    -    resolution: {integrity: sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==}
    -    engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
    -
    -  eslint-visitor-keys@3.4.3:
    -    resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==}
    -    engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
    -
    -  eslint-visitor-keys@4.0.0:
    -    resolution: {integrity: sha512-OtIRv/2GyiF6o/d8K7MYKKbXrOUBIK6SfkIRM4Z0dY3w+LiQ0vy3F57m0Z71bjbyeiWFiHJ8brqnmE6H6/jEuw==}
    -    engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
    -
    -  eslint@8.57.0:
    -    resolution: {integrity: sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==}
    -    engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
    -    hasBin: true
    -
    -  esniff@2.0.1:
    -    resolution: {integrity: sha512-kTUIGKQ/mDPFoJ0oVfcmyJn4iBDRptjNVIzwIFR7tqWXdVI9xfA2RMwY/gbSpJG3lkdWNEjLap/NqVHZiJsdfg==}
    -    engines: {node: '>=0.10'}
    -
    -  espree@10.0.1:
    -    resolution: {integrity: sha512-MWkrWZbJsL2UwnjxTX3gG8FneachS/Mwg7tdGXce011sJd5b0JG54vat5KHnfSBODZ3Wvzd2WnjxyzsRoVv+ww==}
    -    engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
    -
    -  espree@9.6.1:
    -    resolution: {integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==}
    -    engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
    -
    -  esprima@1.1.1:
    -    resolution: {integrity: sha512-qxxB994/7NtERxgXdFgLHIs9M6bhLXc6qtUmWZ3L8+gTQ9qaoyki2887P2IqAYsoENyr8SUbTutStDniOHSDHg==}
    -    engines: {node: '>=0.4.0'}
    -    hasBin: true
    -
    -  esprima@4.0.1:
    -    resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==}
    -    engines: {node: '>=4'}
    -    hasBin: true
    -
    -  esquery@1.5.0:
    -    resolution: {integrity: sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==}
    -    engines: {node: '>=0.10'}
    -
    -  esrecurse@4.3.0:
    -    resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==}
    -    engines: {node: '>=4.0'}
    -
    -  estraverse@1.5.1:
    -    resolution: {integrity: sha512-FpCjJDfmo3vsc/1zKSeqR5k42tcIhxFIlvq+h9j0fO2q/h2uLKyweq7rYJ+0CoVvrGQOxIS5wyBrW/+vF58BUQ==}
    -    engines: {node: '>=0.4.0'}
    -
    -  estraverse@4.3.0:
    -    resolution: {integrity: sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==}
    -    engines: {node: '>=4.0'}
    -
    -  estraverse@5.3.0:
    -    resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==}
    -    engines: {node: '>=4.0'}
    -
    -  estree-walker@1.0.1:
    -    resolution: {integrity: sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg==}
    -
    -  estree-walker@2.0.2:
    -    resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==}
    -
    -  estree-walker@3.0.3:
    -    resolution: {integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==}
    -
    -  esutils@1.0.0:
    -    resolution: {integrity: sha512-x/iYH53X3quDwfHRz4y8rn4XcEwwCJeWsul9pF1zldMbGtgOtMNBEOuYWwB1EQlK2LRa1fev3YAgym/RElp5Cg==}
    -    engines: {node: '>=0.10.0'}
    -
    -  esutils@2.0.3:
    -    resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==}
    -    engines: {node: '>=0.10.0'}
    -
    -  etag@1.8.1:
    -    resolution: {integrity: sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==}
    -    engines: {node: '>= 0.6'}
    -
    -  event-emitter@0.3.5:
    -    resolution: {integrity: sha512-D9rRn9y7kLPnJ+hMq7S/nhvoKwwvVJahBi2BPmx3bvbsEdK3W9ii8cBSGjP+72/LnM4n6fo3+dkCX5FeTQruXA==}
    -
    -  event-stream@3.3.4:
    -    resolution: {integrity: sha512-QHpkERcGsR0T7Qm3HNJSyXKEEj8AHNxkY3PK8TS2KJvQ7NiSHe3DDpwVKKtoYprL/AreyzFBeIkBIWChAqn60g==}
    -
    -  event-target-shim@5.0.1:
    -    resolution: {integrity: sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==}
    -    engines: {node: '>=6'}
    -
    -  eventemitter2@6.4.7:
    -    resolution: {integrity: sha512-tYUSVOGeQPKt/eC1ABfhHy5Xd96N3oIijJvN3O9+TsC28T5V9yX9oEfEK5faP0EFSNVOG97qtAS68GBrQB2hDg==}
    -
    -  eventemitter3@4.0.7:
    -    resolution: {integrity: sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==}
    -
    -  eventemitter3@5.0.1:
    -    resolution: {integrity: sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA==}
    -
    -  events@3.3.0:
    -    resolution: {integrity: sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==}
    -    engines: {node: '>=0.8.x'}
    -
    -  execa@1.0.0:
    -    resolution: {integrity: sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==}
    -    engines: {node: '>=6'}
    -
    -  execa@4.1.0:
    -    resolution: {integrity: sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA==}
    -    engines: {node: '>=10'}
    -
    -  execa@5.1.1:
    -    resolution: {integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==}
    -    engines: {node: '>=10'}
    -
    -  execa@8.0.1:
    -    resolution: {integrity: sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==}
    -    engines: {node: '>=16.17'}
    -
    -  executable@4.1.1:
    -    resolution: {integrity: sha512-8iA79xD3uAch729dUG8xaaBBFGaEa0wdD2VkYLFHwlqosEj/jT66AzcreRDSgV7ehnNLBW2WR5jIXwGKjVdTLg==}
    -    engines: {node: '>=4'}
    -
    -  exit@0.1.2:
    -    resolution: {integrity: sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==}
    -    engines: {node: '>= 0.8.0'}
    -
    -  expect@29.7.0:
    -    resolution: {integrity: sha512-2Zks0hf1VLFYI1kbh0I5jP3KHHyCHpkfyHBzsSXRFgl/Bg9mWYfMW8oD+PdMPlEwy5HNsR9JutYy6pMeOh61nw==}
    -    engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
    -
    -  express@4.19.1:
    -    resolution: {integrity: sha512-K4w1/Bp7y8iSiVObmCrtq8Cs79XjJc/RU2YYkZQ7wpUu5ZyZ7MtPHkqoMz4pf+mgXfNvo2qft8D9OnrH2ABk9w==}
    -    engines: {node: '>= 0.10.0'}
    -
    -  express@4.19.2:
    -    resolution: {integrity: sha512-5T6nhjsT+EOMzuck8JjBHARTHfMht0POzlA60WV2pMD3gyXw2LZnZ+ueGdNxG+0calOJcWKbpFcuzLZ91YWq9Q==}
    -    engines: {node: '>= 0.10.0'}
    -
    -  ext@1.7.0:
    -    resolution: {integrity: sha512-6hxeJYaL110a9b5TEJSj0gojyHQAmA2ch5Os+ySCiA1QGdS697XWY1pzsrSjqA9LDEEgdB/KypIlR59RcLuHYw==}
    -
    -  extend@3.0.2:
    -    resolution: {integrity: sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==}
    -
    -  extract-zip@2.0.1:
    -    resolution: {integrity: sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg==}
    -    engines: {node: '>= 10.17.0'}
    -    hasBin: true
    -
    -  extsprintf@1.3.0:
    -    resolution: {integrity: sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g==}
    -    engines: {'0': node >=0.6.0}
    -
    -  fast-content-type-parse@1.1.0:
    -    resolution: {integrity: sha512-fBHHqSTFLVnR61C+gltJuE5GkVQMV0S2nqUO8TJ+5Z3qAKG8vAx4FKai1s5jq/inV1+sREynIWSuQ6HgoSXpDQ==}
    -
    -  fast-decode-uri-component@1.0.1:
    -    resolution: {integrity: sha512-WKgKWg5eUxvRZGwW8FvfbaH7AXSh2cL+3j5fMGzUMCxWBJ3dV3a7Wz8y2f/uQ0e3B6WmodD3oS54jTQ9HVTIIg==}
    -
    -  fast-deep-equal@3.1.3:
    -    resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==}
    -
    -  fast-equals@5.0.1:
    -    resolution: {integrity: sha512-WF1Wi8PwwSY7/6Kx0vKXtw8RwuSGoM1bvDaJbu7MxDlR1vovZjIAKrnzyrThgAjm6JDTu0fVgWXDlMGspodfoQ==}
    -    engines: {node: '>=6.0.0'}
    -
    -  fast-glob@3.3.2:
    -    resolution: {integrity: sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==}
    -    engines: {node: '>=8.6.0'}
    -
    -  fast-json-stable-stringify@2.1.0:
    -    resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==}
    -
    -  fast-json-stringify@2.7.13:
    -    resolution: {integrity: sha512-ar+hQ4+OIurUGjSJD1anvYSDcUflywhKjfxnsW4TBTD7+u0tJufv6DKRWoQk3vI6YBOWMoz0TQtfbe7dxbQmvA==}
    -    engines: {node: '>= 10.0.0'}
    -
    -  fast-levenshtein@2.0.6:
    -    resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==}
    -
    -  fast-redact@3.5.0:
    -    resolution: {integrity: sha512-dwsoQlS7h9hMeYUq1W++23NDcBLV4KqONnITDV9DjfS3q1SgDGVrBdvvTLUotWtPSD7asWDV9/CmsZPy8Hf70A==}
    -    engines: {node: '>=6'}
    -
    -  fast-safe-stringify@2.1.1:
    -    resolution: {integrity: sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==}
    -
    -  fastest-levenshtein@1.0.16:
    -    resolution: {integrity: sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg==}
    -    engines: {node: '>= 4.9.1'}
    -
    -  fastestsmallesttextencoderdecoder@1.0.22:
    -    resolution: {integrity: sha512-Pb8d48e+oIuY4MaM64Cd7OW1gt4nxCHs7/ddPPZ/Ic3sg8yVGM7O9wDvZ7us6ScaUupzM+pfBolwtYhN1IxBIw==}
    -
    -  fastify-plugin@3.0.1:
    -    resolution: {integrity: sha512-qKcDXmuZadJqdTm6vlCqioEbyewF60b/0LOFCcYN1B6BIZGlYJumWWOYs70SFYLDAH4YqdE1cxH/RKMG7rFxgA==}
    -
    -  fastify@3.29.5:
    -    resolution: {integrity: sha512-FBDgb1gkenZxxh4sTD6AdI6mFnZnsgckpjIXzIvfLSYCa4isfQeD8QWGPib63dxq6btnY0l1j8I0xYhMvUb+sw==}
    -
    -  fastq@1.17.1:
    -    resolution: {integrity: sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==}
    -
    -  fault@2.0.1:
    -    resolution: {integrity: sha512-WtySTkS4OKev5JtpHXnib4Gxiurzh5NCGvWrFaZ34m6JehfTUhKZvn9njTfw48t6JumVQOmrKqpmGcdwxnhqBQ==}
    -
    -  faye-websocket@0.11.4:
    -    resolution: {integrity: sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g==}
    -    engines: {node: '>=0.8.0'}
    -
    -  fb-watchman@2.0.2:
    -    resolution: {integrity: sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==}
    -
    -  fd-slicer@1.1.0:
    -    resolution: {integrity: sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==}
    -
    -  ferrum@1.9.4:
    -    resolution: {integrity: sha512-ooNerLoIht/dK4CQJux93z/hnt9JysrXniJCI3r6YRgmHeXC57EJ8XaTCT1Gm8LfhIAeWxyJA0O7d/W3pqDYRg==}
    -
    -  fetch-blob@3.2.0:
    -    resolution: {integrity: sha512-7yAQpD2UMJzLi1Dqv7qFYnPbaPx7ZfFK6PiIxQ4PfkGPyNyl2Ugx+a/umUonmKqjhM4DnfbMvdX6otXq83soQQ==}
    -    engines: {node: ^12.20 || >= 14.13}
    -
    -  fflate@0.8.2:
    -    resolution: {integrity: sha512-cPJU47OaAoCbg0pBvzsgpTPhmhqI5eJjh/JIu8tPj5q+T7iLvW/JAYUqmE7KOB4R1ZyEhzBaIQpQpardBF5z8A==}
    -
    -  figures@3.2.0:
    -    resolution: {integrity: sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==}
    -    engines: {node: '>=8'}
    -
    -  file-entry-cache@6.0.1:
    -    resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==}
    -    engines: {node: ^10.12.0 || >=12.0.0}
    -
    -  file-entry-cache@8.0.0:
    -    resolution: {integrity: sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==}
    -    engines: {node: '>=16.0.0'}
    -
    -  file-saver@2.0.5:
    -    resolution: {integrity: sha512-P9bmyZ3h/PRG+Nzga+rbdI4OEpNDzAVyy74uVO9ATgzLK6VtAsYybF/+TOCvrc0MO793d6+42lLyZTw7/ArVzA==}
    -
    -  filelist@1.0.4:
    -    resolution: {integrity: sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==}
    -
    -  fill-range@7.0.1:
    -    resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==}
    -    engines: {node: '>=8'}
    -
    -  finalhandler@1.2.0:
    -    resolution: {integrity: sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==}
    -    engines: {node: '>= 0.8'}
    -
    -  find-cache-dir@3.3.2:
    -    resolution: {integrity: sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==}
    -    engines: {node: '>=8'}
    -
    -  find-cache-dir@4.0.0:
    -    resolution: {integrity: sha512-9ZonPT4ZAK4a+1pUPVPZJapbi7O5qbbJPdYw/NOQWZZbVLdDTYM3A4R9z/DpAM08IDaFGsvPgiGZ82WEwUDWjg==}
    -    engines: {node: '>=14.16'}
    -
    -  find-my-way@4.5.1:
    -    resolution: {integrity: sha512-kE0u7sGoUFbMXcOG/xpkmz4sRLCklERnBcg7Ftuu1iAxsfEt2S46RLJ3Sq7vshsEy2wJT2hZxE58XZK27qa8kg==}
    -    engines: {node: '>=10'}
    -
    -  find-process@1.4.7:
    -    resolution: {integrity: sha512-/U4CYp1214Xrp3u3Fqr9yNynUrr5Le4y0SsJh2lMDDSbpwYSz3M2SMWQC+wqcx79cN8PQtHQIL8KnuY9M66fdg==}
    -    hasBin: true
    -
    -  find-up-simple@1.0.0:
    -    resolution: {integrity: sha512-q7Us7kcjj2VMePAa02hDAF6d+MzsdsAWEwYyOpwUtlerRBkOEPBCRZrAV4XfcSN8fHAgaD0hP7miwoay6DCprw==}
    -    engines: {node: '>=18'}
    -
    -  find-up@3.0.0:
    -    resolution: {integrity: sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==}
    -    engines: {node: '>=6'}
    -
    -  find-up@4.1.0:
    -    resolution: {integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==}
    -    engines: {node: '>=8'}
    -
    -  find-up@5.0.0:
    -    resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==}
    -    engines: {node: '>=10'}
    -
    -  find-up@6.3.0:
    -    resolution: {integrity: sha512-v2ZsoEuVHYy8ZIlYqwPe/39Cy+cFDzp4dXPaxNvkEuouymu+2Jbz0PxpKarJHYJTmv2HWT3O382qY8l4jMWthw==}
    -    engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
    -
    -  flat-cache@3.2.0:
    -    resolution: {integrity: sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==}
    -    engines: {node: ^10.12.0 || >=12.0.0}
    -
    -  flat-cache@4.0.1:
    -    resolution: {integrity: sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==}
    -    engines: {node: '>=16'}
    -
    -  flatstr@1.0.12:
    -    resolution: {integrity: sha512-4zPxDyhCyiN2wIAtSLI6gc82/EjqZc1onI4Mz/l0pWrAlsSfYH/2ZIcU+e3oA2wDwbzIWNKwa23F8rh6+DRWkw==}
    -
    -  flatted@3.3.1:
    -    resolution: {integrity: sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==}
    -
    -  flexsearch@0.7.43:
    -    resolution: {integrity: sha512-c5o/+Um8aqCSOXGcZoqZOm+NqtVwNsvVpWv6lfmSclU954O3wvQKxxK8zj74fPaSJbXpSLTs4PRhh+wnoCXnKg==}
    -
    -  focus-trap@7.5.4:
    -    resolution: {integrity: sha512-N7kHdlgsO/v+iD/dMoJKtsSqs5Dz/dXZVebRgJw23LDk+jMi/974zyiOYDziY2JPp8xivq9BmUGwIJMiuSBi7w==}
    -
    -  follow-redirects@1.15.5:
    -    resolution: {integrity: sha512-vSFWUON1B+yAw1VN4xMfxgn5fTUiaOzAJCKBwIIgT/+7CuGy9+r+5gITvP62j3RmaD5Ph65UaERdOSRGUzZtgw==}
    -    engines: {node: '>=4.0'}
    -    peerDependencies:
    -      debug: '*'
    -    peerDependenciesMeta:
    -      debug:
    -        optional: true
    -
    -  font-awesome@4.7.0:
    -    resolution: {integrity: sha512-U6kGnykA/6bFmg1M/oT9EkFeIYv7JlX3bozwQJWiiLz6L0w3F5vBVPxHlwyX/vtNq1ckcpRKOB9f2Qal/VtFpg==}
    -    engines: {node: '>=0.10.3'}
    -
    -  for-each@0.3.3:
    -    resolution: {integrity: sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==}
    -
    -  foreground-child@2.0.0:
    -    resolution: {integrity: sha512-dCIq9FpEcyQyXKCkyzmlPTFNgrCzPudOe+mhvJU5zAtlBnGVy2yKxtfsxK2tQBThwq225jcvBjpw1Gr40uzZCA==}
    -    engines: {node: '>=8.0.0'}
    -
    -  foreground-child@3.1.1:
    -    resolution: {integrity: sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg==}
    -    engines: {node: '>=14'}
    -
    -  forever-agent@0.6.1:
    -    resolution: {integrity: sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw==}
    -
    -  form-data@2.3.3:
    -    resolution: {integrity: sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==}
    -    engines: {node: '>= 0.12'}
    -
    -  form-data@4.0.0:
    -    resolution: {integrity: sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==}
    -    engines: {node: '>= 6'}
    -
    -  format@0.2.2:
    -    resolution: {integrity: sha512-wzsgA6WOq+09wrU1tsJ09udeR/YZRaeArL9e1wPbFg3GG2yDnC2ldKpxs4xunpFF9DgqCqOIra3bc1HWrJ37Ww==}
    -    engines: {node: '>=0.4.x'}
    -
    -  formdata-polyfill@4.0.10:
    -    resolution: {integrity: sha512-buewHzMvYL29jdeQTVILecSaZKnt/RJWjoZCF5OW60Z67/GmSLBkOFM7qh1PI3zFNtJbaZL5eQu1vLfazOwj4g==}
    -    engines: {node: '>=12.20.0'}
    -
    -  forwarded@0.2.0:
    -    resolution: {integrity: sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==}
    -    engines: {node: '>= 0.6'}
    -
    -  fresh@0.5.2:
    -    resolution: {integrity: sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==}
    -    engines: {node: '>= 0.6'}
    -
    -  from@0.1.7:
    -    resolution: {integrity: sha512-twe20eF1OxVxp/ML/kq2p1uc6KvFK/+vs8WjEbeKmV2He22MKm7YF2ANIt+EOqhJ5L3K/SuuPhk0hWQDjOM23g==}
    -
    -  fromentries@1.3.2:
    -    resolution: {integrity: sha512-cHEpEQHUg0f8XdtZCc2ZAhrHzKzT0MrFUTcvx+hfxYu7rGMDc5SKoXFh+n4YigxsHXRzc6OrCshdR1bWH6HHyg==}
    -
    -  fs-extra@11.1.1:
    -    resolution: {integrity: sha512-MGIE4HOvQCeUCzmlHs0vXpih4ysz4wg9qiSAu6cd42lVwPbTM1TjV7RusoyQqMmk/95gdQZX72u+YW+c3eEpFQ==}
    -    engines: {node: '>=14.14'}
    -
    -  fs-extra@11.2.0:
    -    resolution: {integrity: sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw==}
    -    engines: {node: '>=14.14'}
    -
    -  fs-extra@7.0.1:
    -    resolution: {integrity: sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==}
    -    engines: {node: '>=6 <7 || >=8'}
    -
    -  fs-extra@9.1.0:
    -    resolution: {integrity: sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==}
    -    engines: {node: '>=10'}
    -
    -  fs-monkey@1.0.4:
    -    resolution: {integrity: sha512-INM/fWAxMICjttnD0DX1rBvinKskj5G1w+oy/pnm9u/tSlnBrzFonJMcalKJ30P8RRsPzKcCG7Q8l0jx5Fh9YQ==}
    -
    -  fs.realpath@1.0.0:
    -    resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==}
    -
    -  fsevents@2.3.3:
    -    resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==}
    -    engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0}
    -    os: [darwin]
    -
    -  function-bind@1.1.2:
    -    resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==}
    -
    -  function.prototype.name@1.1.6:
    -    resolution: {integrity: sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==}
    -    engines: {node: '>= 0.4'}
    -
    -  functions-have-names@1.2.3:
    -    resolution: {integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==}
    -
    -  gensequence@7.0.0:
    -    resolution: {integrity: sha512-47Frx13aZh01afHJTB3zTtKIlFI6vWY+MYCN9Qpew6i52rfKjnhCF/l1YlC8UmEMvvntZZ6z4PiCcmyuedR2aQ==}
    -    engines: {node: '>=18'}
    -
    -  gensync@1.0.0-beta.2:
    -    resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==}
    -    engines: {node: '>=6.9.0'}
    -
    -  get-caller-file@2.0.5:
    -    resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==}
    -    engines: {node: 6.* || 8.* || >= 10.*}
    -
    -  get-east-asian-width@1.2.0:
    -    resolution: {integrity: sha512-2nk+7SIVb14QrgXFHcm84tD4bKQz0RxPuMT8Ag5KPOq7J5fEmAg0UbXdTOSHqNuHSU28k55qnceesxXRZGzKWA==}
    -    engines: {node: '>=18'}
    -
    -  get-func-name@2.0.2:
    -    resolution: {integrity: sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ==}
    -
    -  get-intrinsic@1.2.4:
    -    resolution: {integrity: sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==}
    -    engines: {node: '>= 0.4'}
    -
    -  get-own-enumerable-property-symbols@3.0.2:
    -    resolution: {integrity: sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g==}
    -
    -  get-package-type@0.1.0:
    -    resolution: {integrity: sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==}
    -    engines: {node: '>=8.0.0'}
    -
    -  get-stdin@5.0.1:
    -    resolution: {integrity: sha512-jZV7n6jGE3Gt7fgSTJoz91Ak5MuTLwMwkoYdjxuJ/AmjIsE1UC03y/IWkZCQGEvVNS9qoRNwy5BCqxImv0FVeA==}
    -    engines: {node: '>=0.12.0'}
    -
    -  get-stdin@8.0.0:
    -    resolution: {integrity: sha512-sY22aA6xchAzprjyqmSEQv4UbAAzRN0L2dQB0NlN5acTTK9Don6nhoc3eAbUnpZiCANAMfd/+40kVdKfFygohg==}
    -    engines: {node: '>=10'}
    -
    -  get-stdin@9.0.0:
    -    resolution: {integrity: sha512-dVKBjfWisLAicarI2Sf+JuBE/DghV4UzNAVe9yhEJuzeREd3JhOTE9cUaJTeSa77fsbQUK3pcOpJfM59+VKZaA==}
    -    engines: {node: '>=12'}
    -
    -  get-stream@4.1.0:
    -    resolution: {integrity: sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==}
    -    engines: {node: '>=6'}
    -
    -  get-stream@5.2.0:
    -    resolution: {integrity: sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==}
    -    engines: {node: '>=8'}
    -
    -  get-stream@6.0.1:
    -    resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==}
    -    engines: {node: '>=10'}
    -
    -  get-stream@8.0.1:
    -    resolution: {integrity: sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==}
    -    engines: {node: '>=16'}
    -
    -  get-symbol-description@1.0.2:
    -    resolution: {integrity: sha512-g0QYk1dZBxGwk+Ngc+ltRH2IBp2f7zBkBMBJZCDerh6EhlhSR6+9irMCuT/09zD6qkarHUSn529sK/yL4S27mg==}
    -    engines: {node: '>= 0.4'}
    -
    -  get-tsconfig@4.7.3:
    -    resolution: {integrity: sha512-ZvkrzoUA0PQZM6fy6+/Hce561s+faD1rsNwhnO5FelNjyy7EMGJ3Rz1AQ8GYDWjhRs/7dBLOEJvhK8MiEJOAFg==}
    -
    -  getos@3.2.1:
    -    resolution: {integrity: sha512-U56CfOK17OKgTVqozZjUKNdkfEv6jk5WISBJ8SHoagjE6L69zOwl3Z+O8myjY9MEW3i2HPWQBt/LTbCgcC973Q==}
    -
    -  getpass@0.1.7:
    -    resolution: {integrity: sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng==}
    -
    -  github-slugger@2.0.0:
    -    resolution: {integrity: sha512-IaOQ9puYtjrkq7Y0Ygl9KDZnrf/aiUJYUpVf89y8kyaxbRG7Y1SrX/jaumrv81vc61+kiMempujsM3Yw7w5qcw==}
    -
    -  glob-parent@5.1.2:
    -    resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==}
    -    engines: {node: '>= 6'}
    -
    -  glob-parent@6.0.2:
    -    resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==}
    -    engines: {node: '>=10.13.0'}
    -
    -  glob-promise@4.2.2:
    -    resolution: {integrity: sha512-xcUzJ8NWN5bktoTIX7eOclO1Npxd/dyVqUJxlLIDasT4C7KZyqlPIwkdJ0Ypiy3p2ZKahTjK4M9uC3sNSfNMzw==}
    -    engines: {node: '>=12'}
    -    peerDependencies:
    -      glob: ^7.1.6
    -
    -  glob-to-regexp@0.4.1:
    -    resolution: {integrity: sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==}
    -
    -  glob@10.3.10:
    -    resolution: {integrity: sha512-fa46+tv1Ak0UPK1TOy/pZrIybNNt4HCv7SDzwyfiOZkvZLEbjsZkJBPtDHVshZjbecAoAGSC20MjLDG/qr679g==}
    -    engines: {node: '>=16 || 14 >=14.17'}
    -    hasBin: true
    -
    -  glob@10.3.12:
    -    resolution: {integrity: sha512-TCNv8vJ+xz4QiqTpfOJA7HvYv+tNIRHKfUWw/q+v2jdgN4ebz+KY9tGx5J4rHP0o84mNP+ApH66HRX8us3Khqg==}
    -    engines: {node: '>=16 || 14 >=14.17'}
    -    hasBin: true
    -
    -  glob@7.2.3:
    -    resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==}
    -
    -  glob@8.1.0:
    -    resolution: {integrity: sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==}
    -    engines: {node: '>=12'}
    -
    -  global-directory@4.0.1:
    -    resolution: {integrity: sha512-wHTUcDUoZ1H5/0iVqEudYW4/kAlN5cZ3j/bXn0Dpbizl9iaUVeWSHqiOjsgk6OW2bkLclbBjzewBz6weQ1zA2Q==}
    -    engines: {node: '>=18'}
    -
    -  global-dirs@3.0.1:
    -    resolution: {integrity: sha512-NBcGGFbBA9s1VzD41QXDG+3++t9Mn5t1FpLdhESY6oKY4gYTFpX4wO3sqGUa0Srjtbfj3szX0RnemmrVRUdULA==}
    -    engines: {node: '>=10'}
    -
    -  globals@11.12.0:
    -    resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==}
    -    engines: {node: '>=4'}
    -
    -  globals@13.24.0:
    -    resolution: {integrity: sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==}
    -    engines: {node: '>=8'}
    -
    -  globalthis@1.0.4:
    -    resolution: {integrity: sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==}
    -    engines: {node: '>= 0.4'}
    -
    -  globby@11.1.0:
    -    resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==}
    -    engines: {node: '>=10'}
    -
    -  globby@13.2.2:
    -    resolution: {integrity: sha512-Y1zNGV+pzQdh7H39l9zgB4PJqjRNqydvdYCDG4HFXM4XuvSaQQlEc91IU1yALL8gUTDomgBAfz3XJdmUS+oo0w==}
    -    engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
    -
    -  globby@14.0.1:
    -    resolution: {integrity: sha512-jOMLD2Z7MAhyG8aJpNOpmziMOP4rPLcc95oQPKXBazW82z+CEgPFBQvEpRUa1KeIMUJo4Wsm+q6uzO/Q/4BksQ==}
    -    engines: {node: '>=18'}
    -
    -  glur@1.1.2:
    -    resolution: {integrity: sha512-l+8esYHTKOx2G/Aao4lEQ0bnHWg4fWtJbVoZZT9Knxi01pB8C80BR85nONLFwkkQoFRCmXY+BUcGZN3yZ2QsRA==}
    -
    -  gopd@1.0.1:
    -    resolution: {integrity: sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==}
    -
    -  got@11.8.6:
    -    resolution: {integrity: sha512-6tfZ91bOr7bOXnK7PRDCGBLa1H4U080YHNaAQ2KsMGlLEzRbk44nsZF2E1IeRc3vtJHPVbKCYgdFbaGO2ljd8g==}
    -    engines: {node: '>=10.19.0'}
    -
    -  graceful-fs@4.2.11:
    -    resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==}
    -
    -  graphemer@1.4.0:
    -    resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==}
    -
    -  gzip-size@6.0.0:
    -    resolution: {integrity: sha512-ax7ZYomf6jqPTQ4+XCpUGyXKHk5WweS+e05MBO4/y3WJ5RkmPXNKvX+bx1behVILVwr6JSQvZAku021CHPXG3Q==}
    -    engines: {node: '>=10'}
    -
    -  hachure-fill@0.5.2:
    -    resolution: {integrity: sha512-3GKBOn+m2LX9iq+JC1064cSFprJY4jL1jCXTcpnfER5HYE2l/4EfWSGzkPa/ZDBmYI0ZOEj5VHV/eKnPGkHuOg==}
    -
    -  handle-thing@2.0.1:
    -    resolution: {integrity: sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg==}
    -
    -  handlebars@4.7.8:
    -    resolution: {integrity: sha512-vafaFqs8MZkRrSX7sFVUdo3ap/eNiLnb4IakshzvP56X5Nr1iGKAIqdX6tMlm6HcNRIkr6AxO5jFEoJzzpT8aQ==}
    -    engines: {node: '>=0.4.7'}
    -    hasBin: true
    -
    -  has-ansi@2.0.0:
    -    resolution: {integrity: sha512-C8vBJ8DwUCx19vhm7urhTuUsr4/IyP6l4VzNQDv+ryHQObW3TTTp9yB68WpYgRe2bbaGuZ/se74IqFeVnMnLZg==}
    -    engines: {node: '>=0.10.0'}
    -
    -  has-bigints@1.0.2:
    -    resolution: {integrity: sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==}
    -
    -  has-flag@3.0.0:
    -    resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==}
    -    engines: {node: '>=4'}
    -
    -  has-flag@4.0.0:
    -    resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==}
    -    engines: {node: '>=8'}
    -
    -  has-own-prop@2.0.0:
    -    resolution: {integrity: sha512-Pq0h+hvsVm6dDEa8x82GnLSYHOzNDt7f0ddFa3FqcQlgzEiptPqL+XrOJNavjOzSYiYWIrgeVYYgGlLmnxwilQ==}
    -    engines: {node: '>=8'}
    -
    -  has-property-descriptors@1.0.2:
    -    resolution: {integrity: sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==}
    -
    -  has-proto@1.0.3:
    -    resolution: {integrity: sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==}
    -    engines: {node: '>= 0.4'}
    -
    -  has-symbols@1.0.3:
    -    resolution: {integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==}
    -    engines: {node: '>= 0.4'}
    -
    -  has-tostringtag@1.0.2:
    -    resolution: {integrity: sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==}
    -    engines: {node: '>= 0.4'}
    -
    -  has@1.0.3:
    -    resolution: {integrity: sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==}
    -    engines: {node: '>= 0.4.0'}
    -
    -  hasha@5.2.2:
    -    resolution: {integrity: sha512-Hrp5vIK/xr5SkeN2onO32H0MgNZ0f17HRNH39WfL0SYUNOTZ5Lz1TJ8Pajo/87dYGEFlLMm7mIc/k/s6Bvz9HQ==}
    -    engines: {node: '>=8'}
    -
    -  hasown@2.0.2:
    -    resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==}
    -    engines: {node: '>= 0.4'}
    -
    -  heap@0.2.7:
    -    resolution: {integrity: sha512-2bsegYkkHO+h/9MGbn6KWcE45cHZgPANo5LXF7EvWdT0yT2EguSVO1nDgU5c8+ZOPwp2vMNa7YFsJhVcDR9Sdg==}
    -
    -  highlight.js@10.7.3:
    -    resolution: {integrity: sha512-tzcUFauisWKNHaRkN4Wjl/ZA07gENAjFl3J/c480dprkGTg5EQstgaNFqBfUqCq54kZRIEcreTsAgF/m2quD7A==}
    -
    -  hookable@5.5.3:
    -    resolution: {integrity: sha512-Yc+BQe8SvoXH1643Qez1zqLRmbA5rCL+sSmk6TVos0LWVfNIB7PGncdlId77WzLGSIB5KaWgTaNTs2lNVEI6VQ==}
    -
    -  hosted-git-info@2.8.9:
    -    resolution: {integrity: sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==}
    -
    -  hpack.js@2.1.6:
    -    resolution: {integrity: sha512-zJxVehUdMGIKsRaNt7apO2Gqp0BdqW5yaiGHXXmbpvxgBYVZnAql+BJb4RO5ad2MgpbZKn5G6nMnegrH1FcNYQ==}
    -
    -  html-encoding-sniffer@4.0.0:
    -    resolution: {integrity: sha512-Y22oTqIU4uuPgEemfz7NDJz6OeKf12Lsu+QC+s3BVpda64lTiMYCyGwg5ki4vFxkMwQdeZDl2adZoqUgdFuTgQ==}
    -    engines: {node: '>=18'}
    -
    -  html-entities@2.4.0:
    -    resolution: {integrity: sha512-igBTJcNNNhvZFRtm8uA6xMY6xYleeDwn3PeBCkDz7tHttv4F2hsDI2aPgNERWzvRcNYHNT3ymRaQzllmXj4YsQ==}
    -
    -  html-escaper@2.0.2:
    -    resolution: {integrity: sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==}
    -
    -  html-to-image@1.11.11:
    -    resolution: {integrity: sha512-9gux8QhvjRO/erSnDPv28noDZcPZmYE7e1vFsBLKLlRlKDSqNJYebj6Qz1TGd5lsRV+X+xYyjCKjuZdABinWjA==}
    -
    -  htmlparser2@9.1.0:
    -    resolution: {integrity: sha512-5zfg6mHUoaer/97TxnGpxmbR7zJtPwIYFMZ/H5ucTlPZhKvtum05yiPK3Mgai3a0DyVxv7qYqoweaEd2nrYQzQ==}
    -
    -  http-cache-semantics@4.1.1:
    -    resolution: {integrity: sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==}
    -
    -  http-deceiver@1.2.7:
    -    resolution: {integrity: sha512-LmpOGxTfbpgtGVxJrj5k7asXHCgNZp5nLfp+hWc8QQRqtb7fUy6kRY3BO1h9ddF6yIPYUARgxGOwB42DnxIaNw==}
    -
    -  http-errors@1.6.3:
    -    resolution: {integrity: sha512-lks+lVC8dgGyh97jxvxeYTWQFvh4uw4yC12gVl63Cg30sjPX4wuGcdkICVXDAESr6OJGjqGA8Iz5mkeN6zlD7A==}
    -    engines: {node: '>= 0.6'}
    -
    -  http-errors@2.0.0:
    -    resolution: {integrity: sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==}
    -    engines: {node: '>= 0.8'}
    -
    -  http-parser-js@0.5.8:
    -    resolution: {integrity: sha512-SGeBX54F94Wgu5RH3X5jsDtf4eHyRogWX1XGT3b4HuW3tQPM4AaBzoUji/4AAJNXCEOWZ5O0DgZmJw1947gD5Q==}
    -
    -  http-proxy-agent@5.0.0:
    -    resolution: {integrity: sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==}
    -    engines: {node: '>= 6'}
    -
    -  http-proxy-agent@7.0.2:
    -    resolution: {integrity: sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==}
    -    engines: {node: '>= 14'}
    -
    -  http-proxy-middleware@2.0.6:
    -    resolution: {integrity: sha512-ya/UeJ6HVBYxrgYotAZo1KvPWlgB48kUJLDePFeneHsVujFaW5WNj2NgWCAE//B1Dl02BIfYlpNgBy8Kf8Rjmw==}
    -    engines: {node: '>=12.0.0'}
    -    peerDependencies:
    -      '@types/express': ^4.17.13
    -    peerDependenciesMeta:
    -      '@types/express':
    -        optional: true
    -
    -  http-proxy@1.18.1:
    -    resolution: {integrity: sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==}
    -    engines: {node: '>=8.0.0'}
    -
    -  http-signature@1.3.6:
    -    resolution: {integrity: sha512-3adrsD6zqo4GsTqtO7FyrejHNv+NgiIfAfv68+jVlFmSr9OGy7zrxONceFRLKvnnZA5jbxQBX1u9PpB6Wi32Gw==}
    -    engines: {node: '>=0.10'}
    -
    -  http2-wrapper@1.0.3:
    -    resolution: {integrity: sha512-V+23sDMr12Wnz7iTcDeJr3O6AIxlnvT/bmaAAAP/Xda35C90p9599p0F1eHR/N1KILWSoWVAiOMFjBBXaXSMxg==}
    -    engines: {node: '>=10.19.0'}
    -
    -  https-localhost@4.7.1:
    -    resolution: {integrity: sha512-rl+NFV0l67/0W7fZwk4LB5gS6HdhtSFLpCpf1N+KD5WQAXtPXX1QE8H0cP8VNJii18rtpTkE9eAHdUfJ0goAnQ==}
    -    hasBin: true
    -
    -  https-proxy-agent@5.0.1:
    -    resolution: {integrity: sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==}
    -    engines: {node: '>= 6'}
    -
    -  https-proxy-agent@7.0.4:
    -    resolution: {integrity: sha512-wlwpilI7YdjSkWaQ/7omYBMTliDcmCN8OLihO6I9B86g06lMyAoqgoDpV0XqoaPOKj+0DIdAvnsWfyAAhmimcg==}
    -    engines: {node: '>= 14'}
    -
    -  human-signals@1.1.1:
    -    resolution: {integrity: sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==}
    -    engines: {node: '>=8.12.0'}
    -
    -  human-signals@2.1.0:
    -    resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==}
    -    engines: {node: '>=10.17.0'}
    -
    -  human-signals@5.0.0:
    -    resolution: {integrity: sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==}
    -    engines: {node: '>=16.17.0'}
    -
    -  husky@9.0.11:
    -    resolution: {integrity: sha512-AB6lFlbwwyIqMdHYhwPe+kjOC3Oc5P3nThEoW/AaO2BX3vJDjWPFxYLxokUZOo6RNX20He3AaT8sESs9NJcmEw==}
    -    engines: {node: '>=18'}
    -    hasBin: true
    -
    -  iconv-lite@0.4.24:
    -    resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==}
    -    engines: {node: '>=0.10.0'}
    -
    -  iconv-lite@0.6.3:
    -    resolution: {integrity: sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==}
    -    engines: {node: '>=0.10.0'}
    -
    -  idb@7.1.1:
    -    resolution: {integrity: sha512-gchesWBzyvGHRO9W8tzUWFDycow5gwjvFKfyV9FF32Y7F50yZMp7mP+T2mJIWFx49zicqyC4uefHM17o6xKIVQ==}
    -
    -  ieee754@1.2.1:
    -    resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==}
    -
    -  ignore@5.3.1:
    -    resolution: {integrity: sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==}
    -    engines: {node: '>= 4'}
    -
    -  import-fresh@3.3.0:
    -    resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==}
    -    engines: {node: '>=6'}
    -
    -  import-local@3.1.0:
    -    resolution: {integrity: sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==}
    -    engines: {node: '>=8'}
    -    hasBin: true
    -
    -  import-meta-resolve@4.0.0:
    -    resolution: {integrity: sha512-okYUR7ZQPH+efeuMJGlq4f8ubUgO50kByRPyt/Cy1Io4PSRsPjxME+YlVaCOx+NIToW7hCsZNFJyTPFFKepRSA==}
    -
    -  imurmurhash@0.1.4:
    -    resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==}
    -    engines: {node: '>=0.8.19'}
    -
    -  indent-string@4.0.0:
    -    resolution: {integrity: sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==}
    -    engines: {node: '>=8'}
    -
    -  indent-string@5.0.0:
    -    resolution: {integrity: sha512-m6FAo/spmsW2Ab2fU35JTYwtOKa2yAwXSwgjSv1TJzh4Mh7mC3lzAOVLBprb72XsTrgkEIsl7YrFNAiDiRhIGg==}
    -    engines: {node: '>=12'}
    -
    -  inflight@1.0.6:
    -    resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==}
    -
    -  inherits@2.0.3:
    -    resolution: {integrity: sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==}
    -
    -  inherits@2.0.4:
    -    resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==}
    -
    -  ini@2.0.0:
    -    resolution: {integrity: sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA==}
    -    engines: {node: '>=10'}
    -
    -  ini@3.0.1:
    -    resolution: {integrity: sha512-it4HyVAUTKBc6m8e1iXWvXSTdndF7HbdN713+kvLrymxTaU4AUBWrJ4vEooP+V7fexnVD3LKcBshjGGPefSMUQ==}
    -    engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0}
    -
    -  ini@4.1.1:
    -    resolution: {integrity: sha512-QQnnxNyfvmHFIsj7gkPcYymR8Jdw/o7mp5ZFihxn6h8Ci6fh3Dx4E1gPjpQEpIuPo9XVNY/ZUwh4BPMjGyL01g==}
    -    engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0}
    -
    -  internal-slot@1.0.7:
    -    resolution: {integrity: sha512-NGnrKwXzSms2qUUih/ILZ5JBqNTSa1+ZmP6flaIp6KmSElgE9qdndzS3cqjrDovwFdmwsGsLdeFgB6suw+1e9g==}
    -    engines: {node: '>= 0.4'}
    -
    -  internmap@1.0.1:
    -    resolution: {integrity: sha512-lDB5YccMydFBtasVtxnZ3MRBHuaoE8GKsppq+EchKL2U4nK/DmEpPHNH8MZe5HkMtpSiTSOZwfN0tzYjO/lJEw==}
    -
    -  internmap@2.0.3:
    -    resolution: {integrity: sha512-5Hh7Y1wQbvY5ooGgPbDaL5iYLAPzMTUrjMulskHLH6wnv/A+1q5rgEaiuqEjB+oxGXIVZs1FF+R/KPN3ZSQYYg==}
    -    engines: {node: '>=12'}
    -
    -  interpret@2.2.0:
    -    resolution: {integrity: sha512-Ju0Bz/cEia55xDwUWEa8+olFpCiQoypjnQySseKtmjNrnps3P+xfpUmGr90T7yjlVJmOtybRvPXhKMbHr+fWnw==}
    -    engines: {node: '>= 0.10'}
    -
    -  ipaddr.js@1.9.1:
    -    resolution: {integrity: sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==}
    -    engines: {node: '>= 0.10'}
    -
    -  ipaddr.js@2.1.0:
    -    resolution: {integrity: sha512-LlbxQ7xKzfBusov6UMi4MFpEg0m+mAm9xyNGEduwXMEDuf4WfzB/RZwMVYEd7IKGvh4IUkEXYxtAVu9T3OelJQ==}
    -    engines: {node: '>= 10'}
    -
    -  is-alphabetical@1.0.4:
    -    resolution: {integrity: sha512-DwzsA04LQ10FHTZuL0/grVDk4rFoVH1pjAToYwBrHSxcrBIGQuXrQMtD5U1b0U2XVgKZCTLLP8u2Qxqhy3l2Vg==}
    -
    -  is-alphanumerical@1.0.4:
    -    resolution: {integrity: sha512-UzoZUr+XfVz3t3v4KyGEniVL9BDRoQtY7tOyrRybkVNjDFWyo1yhXNGrrBTQxp3ib9BLAWs7k2YKBQsFRkZG9A==}
    -
    -  is-array-buffer@3.0.4:
    -    resolution: {integrity: sha512-wcjaerHw0ydZwfhiKbXJWLDY8A7yV7KhjQOpb83hGgGfId/aQa4TOvwyzn2PuswW2gPCYEL/nEAiSVpdOj1lXw==}
    -    engines: {node: '>= 0.4'}
    -
    -  is-arrayish@0.2.1:
    -    resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==}
    -
    -  is-arrayish@0.3.2:
    -    resolution: {integrity: sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==}
    -
    -  is-bigint@1.0.4:
    -    resolution: {integrity: sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==}
    -
    -  is-binary-path@2.1.0:
    -    resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==}
    -    engines: {node: '>=8'}
    -
    -  is-boolean-object@1.1.2:
    -    resolution: {integrity: sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==}
    -    engines: {node: '>= 0.4'}
    -
    -  is-builtin-module@3.2.1:
    -    resolution: {integrity: sha512-BSLE3HnV2syZ0FK0iMA/yUGplUeMmNz4AW5fnTunbCIqZi4vG3WjJT9FHMy5D69xmAYBHXQhJdALdpwVxV501A==}
    -    engines: {node: '>=6'}
    -
    -  is-callable@1.2.7:
    -    resolution: {integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==}
    -    engines: {node: '>= 0.4'}
    -
    -  is-ci@3.0.1:
    -    resolution: {integrity: sha512-ZYvCgrefwqoQ6yTyYUbQu64HsITZ3NfKX1lzaEYdkTDcfKzzCI/wthRRYKkdjHKFVgNiXKAKm65Zo1pk2as/QQ==}
    -    hasBin: true
    -
    -  is-core-module@2.13.0:
    -    resolution: {integrity: sha512-Z7dk6Qo8pOCp3l4tsX2C5ZVas4V+UxwQodwZhLopL91TX8UyyHEXafPcyoeeWuLrwzHcr3igO78wNLwHJHsMCQ==}
    -
    -  is-core-module@2.13.1:
    -    resolution: {integrity: sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==}
    -
    -  is-data-view@1.0.1:
    -    resolution: {integrity: sha512-AHkaJrsUVW6wq6JS8y3JnM/GJF/9cf+k20+iDzlSaJrinEo5+7vRiteOSwBhHRiAyQATN1AmY4hwzxJKPmYf+w==}
    -    engines: {node: '>= 0.4'}
    -
    -  is-date-object@1.0.5:
    -    resolution: {integrity: sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==}
    -    engines: {node: '>= 0.4'}
    -
    -  is-decimal@1.0.4:
    -    resolution: {integrity: sha512-RGdriMmQQvZ2aqaQq3awNA6dCGtKpiDFcOzrTWrDAT2MiWrKQVPmxLGHl7Y2nNu6led0kEyoX0enY0qXYsv9zw==}
    -
    -  is-docker@2.2.1:
    -    resolution: {integrity: sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==}
    -    engines: {node: '>=8'}
    -    hasBin: true
    -
    -  is-extglob@2.1.1:
    -    resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==}
    -    engines: {node: '>=0.10.0'}
    -
    -  is-fullwidth-code-point@3.0.0:
    -    resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==}
    -    engines: {node: '>=8'}
    -
    -  is-fullwidth-code-point@4.0.0:
    -    resolution: {integrity: sha512-O4L094N2/dZ7xqVdrXhh9r1KODPJpFms8B5sGdJLPy664AgvXsreZUyCQQNItZRDlYug4xStLjNp/sz3HvBowQ==}
    -    engines: {node: '>=12'}
    -
    -  is-fullwidth-code-point@5.0.0:
    -    resolution: {integrity: sha512-OVa3u9kkBbw7b8Xw5F9P+D/T9X+Z4+JruYVNapTjPYZYUznQ5YfWeFkOj606XYYW8yugTfC8Pj0hYqvi4ryAhA==}
    -    engines: {node: '>=18'}
    -
    -  is-generator-fn@2.1.0:
    -    resolution: {integrity: sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==}
    -    engines: {node: '>=6'}
    -
    -  is-glob@4.0.3:
    -    resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==}
    -    engines: {node: '>=0.10.0'}
    -
    -  is-hexadecimal@1.0.4:
    -    resolution: {integrity: sha512-gyPJuv83bHMpocVYoqof5VDiZveEoGoFL8m3BXNb2VW8Xs+rz9kqO8LOQ5DH6EsuvilT1ApazU0pyl+ytbPtlw==}
    -
    -  is-installed-globally@0.4.0:
    -    resolution: {integrity: sha512-iwGqO3J21aaSkC7jWnHP/difazwS7SFeIqxv6wEtLU8Y5KlzFTjyqcSIT0d8s4+dDhKytsk9PJZ2BkS5eZwQRQ==}
    -    engines: {node: '>=10'}
    -
    -  is-localhost-ip@2.0.0:
    -    resolution: {integrity: sha512-vlgs2cSgMOfnKU8c1ewgKPyum9rVrjjLLW2HBdL5i0iAJjOs8NY55ZBd/hqUTaYR0EO9CKZd3hVSC2HlIbygTQ==}
    -    engines: {node: '>=12'}
    -
    -  is-module@1.0.0:
    -    resolution: {integrity: sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g==}
    -
    -  is-negative-zero@2.0.3:
    -    resolution: {integrity: sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==}
    -    engines: {node: '>= 0.4'}
    -
    -  is-number-object@1.0.7:
    -    resolution: {integrity: sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==}
    -    engines: {node: '>= 0.4'}
    -
    -  is-number@7.0.0:
    -    resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==}
    -    engines: {node: '>=0.12.0'}
    -
    -  is-obj@1.0.1:
    -    resolution: {integrity: sha512-l4RyHgRqGN4Y3+9JHVrNqO+tN0rV5My76uW5/nuO4K1b6vw5G8d/cmFjP9tRfEsdhZNt0IFdZuK/c2Vr4Nb+Qg==}
    -    engines: {node: '>=0.10.0'}
    -
    -  is-obj@2.0.0:
    -    resolution: {integrity: sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==}
    -    engines: {node: '>=8'}
    -
    -  is-path-inside@3.0.3:
    -    resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==}
    -    engines: {node: '>=8'}
    -
    -  is-plain-obj@3.0.0:
    -    resolution: {integrity: sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA==}
    -    engines: {node: '>=10'}
    -
    -  is-plain-obj@4.1.0:
    -    resolution: {integrity: sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==}
    -    engines: {node: '>=12'}
    -
    -  is-plain-object@2.0.4:
    -    resolution: {integrity: sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==}
    -    engines: {node: '>=0.10.0'}
    -
    -  is-potential-custom-element-name@1.0.1:
    -    resolution: {integrity: sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==}
    -
    -  is-promise@2.2.2:
    -    resolution: {integrity: sha512-+lP4/6lKUBfQjZ2pdxThZvLUAafmZb8OAxFb8XXtiQmS35INgr85hdOGoEs124ez1FCnZJt6jau/T+alh58QFQ==}
    -
    -  is-regex@1.1.4:
    -    resolution: {integrity: sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==}
    -    engines: {node: '>= 0.4'}
    -
    -  is-regexp@1.0.0:
    -    resolution: {integrity: sha512-7zjFAPO4/gwyQAAgRRmqeEeyIICSdmCqa3tsVHMdBzaXXRiqopZL4Cyghg/XulGWrtABTpbnYYzzIRffLkP4oA==}
    -    engines: {node: '>=0.10.0'}
    -
    -  is-shared-array-buffer@1.0.3:
    -    resolution: {integrity: sha512-nA2hv5XIhLR3uVzDDfCIknerhx8XUKnstuOERPNNIinXG7v9u+ohXF67vxm4TPTEPU6lm61ZkwP3c9PCB97rhg==}
    -    engines: {node: '>= 0.4'}
    -
    -  is-stream@1.1.0:
    -    resolution: {integrity: sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==}
    -    engines: {node: '>=0.10.0'}
    -
    -  is-stream@2.0.1:
    -    resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==}
    -    engines: {node: '>=8'}
    -
    -  is-stream@3.0.0:
    -    resolution: {integrity: sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==}
    -    engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
    -
    -  is-string@1.0.7:
    -    resolution: {integrity: sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==}
    -    engines: {node: '>= 0.4'}
    -
    -  is-symbol@1.0.4:
    -    resolution: {integrity: sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==}
    -    engines: {node: '>= 0.4'}
    -
    -  is-typed-array@1.1.13:
    -    resolution: {integrity: sha512-uZ25/bUAlUY5fR4OKT4rZQEBrzQWYV9ZJYGGsUmEJ6thodVJ1HX64ePQ6Z0qPWP+m+Uq6e9UugrE38jeYsDSMw==}
    -    engines: {node: '>= 0.4'}
    -
    -  is-typedarray@1.0.0:
    -    resolution: {integrity: sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==}
    -
    -  is-unicode-supported@0.1.0:
    -    resolution: {integrity: sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==}
    -    engines: {node: '>=10'}
    -
    -  is-weakref@1.0.2:
    -    resolution: {integrity: sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==}
    -
    -  is-windows@1.0.2:
    -    resolution: {integrity: sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==}
    -    engines: {node: '>=0.10.0'}
    -
    -  is-wsl@2.2.0:
    -    resolution: {integrity: sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==}
    -    engines: {node: '>=8'}
    -
    -  isarray@1.0.0:
    -    resolution: {integrity: sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==}
    -
    -  isarray@2.0.5:
    -    resolution: {integrity: sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==}
    -
    -  isexe@2.0.0:
    -    resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==}
    -
    -  isobject@3.0.1:
    -    resolution: {integrity: sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==}
    -    engines: {node: '>=0.10.0'}
    -
    -  isstream@0.1.2:
    -    resolution: {integrity: sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g==}
    -
    -  istanbul-lib-coverage@3.2.0:
    -    resolution: {integrity: sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw==}
    -    engines: {node: '>=8'}
    -
    -  istanbul-lib-coverage@3.2.2:
    -    resolution: {integrity: sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==}
    -    engines: {node: '>=8'}
    -
    -  istanbul-lib-hook@3.0.0:
    -    resolution: {integrity: sha512-Pt/uge1Q9s+5VAZ+pCo16TYMWPBIl+oaNIjgLQxcX0itS6ueeaA+pEfThZpH8WxhFgCiEb8sAJY6MdUKgiIWaQ==}
    -    engines: {node: '>=8'}
    -
    -  istanbul-lib-instrument@4.0.3:
    -    resolution: {integrity: sha512-BXgQl9kf4WTCPCCpmFGoJkz/+uhvm7h7PFKUYxh7qarQd3ER33vHG//qaE8eN25l07YqZPpHXU9I09l/RD5aGQ==}
    -    engines: {node: '>=8'}
    -
    -  istanbul-lib-instrument@5.2.1:
    -    resolution: {integrity: sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==}
    -    engines: {node: '>=8'}
    -
    -  istanbul-lib-instrument@6.0.2:
    -    resolution: {integrity: sha512-1WUsZ9R1lA0HtBSohTkm39WTPlNKSJ5iFk7UwqXkBLoHQT+hfqPsfsTDVuZdKGaBwn7din9bS7SsnoAr943hvw==}
    -    engines: {node: '>=10'}
    -
    -  istanbul-lib-processinfo@2.0.3:
    -    resolution: {integrity: sha512-NkwHbo3E00oybX6NGJi6ar0B29vxyvNwoC7eJ4G4Yq28UfY758Hgn/heV8VRFhevPED4LXfFz0DQ8z/0kw9zMg==}
    -    engines: {node: '>=8'}
    -
    -  istanbul-lib-report@3.0.1:
    -    resolution: {integrity: sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==}
    -    engines: {node: '>=10'}
    -
    -  istanbul-lib-source-maps@4.0.1:
    -    resolution: {integrity: sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==}
    -    engines: {node: '>=10'}
    -
    -  istanbul-lib-source-maps@5.0.4:
    -    resolution: {integrity: sha512-wHOoEsNJTVltaJp8eVkm8w+GVkVNHT2YDYo53YdzQEL2gWm1hBX5cGFR9hQJtuGLebidVX7et3+dmDZrmclduw==}
    -    engines: {node: '>=10'}
    -
    -  istanbul-reports@3.1.6:
    -    resolution: {integrity: sha512-TLgnMkKg3iTDsQ9PbPTdpfAK2DzjF9mqUG7RMgcQl8oFjad8ob4laGxv5XV5U9MAfx8D6tSJiUyuAwzLicaxlg==}
    -    engines: {node: '>=8'}
    -
    -  istanbul-reports@3.1.7:
    -    resolution: {integrity: sha512-BewmUXImeuRk2YY0PVbxgKAysvhRPUQE0h5QRM++nVWyubKGV0l8qQ5op8+B2DOmwSe63Jivj0BjkPQVf8fP5g==}
    -    engines: {node: '>=8'}
    -
    -  iterm2-version@4.2.0:
    -    resolution: {integrity: sha512-IoiNVk4SMPu6uTcK+1nA5QaHNok2BMDLjSl5UomrOixe5g4GkylhPwuiGdw00ysSCrXAKNMfFTu+u/Lk5f6OLQ==}
    -    engines: {node: '>=8'}
    -
    -  jackspeak@2.3.6:
    -    resolution: {integrity: sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ==}
    -    engines: {node: '>=14'}
    -
    -  jake@10.8.7:
    -    resolution: {integrity: sha512-ZDi3aP+fG/LchyBzUM804VjddnwfSfsdeYkwt8NcbKRvo4rFkjhs456iLFn3k2ZUWvNe4i48WACDbza8fhq2+w==}
    -    engines: {node: '>=10'}
    -    hasBin: true
    -
    -  jest-changed-files@29.7.0:
    -    resolution: {integrity: sha512-fEArFiwf1BpQ+4bXSprcDc3/x4HSzL4al2tozwVpDFpsxALjLYdyiIK4e5Vz66GQJIbXJ82+35PtysofptNX2w==}
    -    engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
    -
    -  jest-circus@29.7.0:
    -    resolution: {integrity: sha512-3E1nCMgipcTkCocFwM90XXQab9bS+GMsjdpmPrlelaxwD93Ad8iVEjX/vvHPdLPnFf+L40u+5+iutRdA1N9myw==}
    -    engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
    -
    -  jest-cli@29.7.0:
    -    resolution: {integrity: sha512-OVVobw2IubN/GSYsxETi+gOe7Ka59EFMR/twOU3Jb2GnKKeMGJB5SGUUrEz3SFVmJASUdZUzy83sLNNQ2gZslg==}
    -    engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
    -    hasBin: true
    -    peerDependencies:
    -      node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0
    -    peerDependenciesMeta:
    -      node-notifier:
    -        optional: true
    -
    -  jest-config@29.7.0:
    -    resolution: {integrity: sha512-uXbpfeQ7R6TZBqI3/TxCU4q4ttk3u0PJeC+E0zbfSoSjq6bJ7buBPxzQPL0ifrkY4DNu4JUdk0ImlBUYi840eQ==}
    -    engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
    -    peerDependencies:
    -      '@types/node': '*'
    -      ts-node: '>=9.0.0'
    -    peerDependenciesMeta:
    -      '@types/node':
    -        optional: true
    -      ts-node:
    -        optional: true
    -
    -  jest-diff@29.7.0:
    -    resolution: {integrity: sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw==}
    -    engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
    -
    -  jest-docblock@29.7.0:
    -    resolution: {integrity: sha512-q617Auw3A612guyaFgsbFeYpNP5t2aoUNLwBUbc/0kD1R4t9ixDbyFTHd1nok4epoVFpr7PmeWHrhvuV3XaJ4g==}
    -    engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
    -
    -  jest-each@29.7.0:
    -    resolution: {integrity: sha512-gns+Er14+ZrEoC5fhOfYCY1LOHHr0TI+rQUHZS8Ttw2l7gl+80eHc/gFf2Ktkw0+SIACDTeWvpFcv3B04VembQ==}
    -    engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
    -
    -  jest-environment-node@29.7.0:
    -    resolution: {integrity: sha512-DOSwCRqXirTOyheM+4d5YZOrWcdu0LNZ87ewUoywbcb2XR4wKgqiG8vNeYwhjFMbEkfju7wx2GYH0P2gevGvFw==}
    -    engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
    -
    -  jest-get-type@29.6.3:
    -    resolution: {integrity: sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw==}
    -    engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
    -
    -  jest-haste-map@29.7.0:
    -    resolution: {integrity: sha512-fP8u2pyfqx0K1rGn1R9pyE0/KTn+G7PxktWidOBTqFPLYX0b9ksaMFkhK5vrS3DVun09pckLdlx90QthlW7AmA==}
    -    engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
    -
    -  jest-image-snapshot@4.2.0:
    -    resolution: {integrity: sha512-6aAqv2wtfOgxiJeBayBCqHo1zX+A12SUNNzo7rIxiXh6W6xYVu8QyHWkada8HeRi+QUTHddp0O0Xa6kmQr+xbQ==}
    -    engines: {node: '>= 10.14.2'}
    -    peerDependencies:
    -      jest: '>=20 <=26'
    -
    -  jest-leak-detector@29.7.0:
    -    resolution: {integrity: sha512-kYA8IJcSYtST2BY9I+SMC32nDpBT3J2NvWJx8+JCuCdl/CR1I4EKUJROiP8XtCcxqgTTBGJNdbB1A8XRKbTetw==}
    -    engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
    -
    -  jest-matcher-utils@29.7.0:
    -    resolution: {integrity: sha512-sBkD+Xi9DtcChsI3L3u0+N0opgPYnCRPtGcQYrgXmR+hmt/fYfWAL0xRXYU8eWOdfuLgBe0YCW3AFtnRLagq/g==}
    -    engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
    -
    -  jest-message-util@29.7.0:
    -    resolution: {integrity: sha512-GBEV4GRADeP+qtB2+6u61stea8mGcOT4mCtrYISZwfu9/ISHFJ/5zOMXYbpBE9RsS5+Gb63DW4FgmnKJ79Kf6w==}
    -    engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
    -
    -  jest-mock@29.7.0:
    -    resolution: {integrity: sha512-ITOMZn+UkYS4ZFh83xYAOzWStloNzJFO2s8DWrE4lhtGD+AorgnbkiKERe4wQVBydIGPx059g6riW5Btp6Llnw==}
    -    engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
    -
    -  jest-pnp-resolver@1.2.3:
    -    resolution: {integrity: sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==}
    -    engines: {node: '>=6'}
    -    peerDependencies:
    -      jest-resolve: '*'
    -    peerDependenciesMeta:
    -      jest-resolve:
    -        optional: true
    -
    -  jest-regex-util@29.6.3:
    -    resolution: {integrity: sha512-KJJBsRCyyLNWCNBOvZyRDnAIfUiRJ8v+hOBQYGn8gDyF3UegwiP4gwRR3/SDa42g1YbVycTidUF3rKjyLFDWbg==}
    -    engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
    -
    -  jest-resolve-dependencies@29.7.0:
    -    resolution: {integrity: sha512-un0zD/6qxJ+S0et7WxeI3H5XSe9lTBBR7bOHCHXkKR6luG5mwDDlIzVQ0V5cZCuoTgEdcdwzTghYkTWfubi+nA==}
    -    engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
    -
    -  jest-resolve@29.7.0:
    -    resolution: {integrity: sha512-IOVhZSrg+UvVAshDSDtHyFCCBUl/Q3AAJv8iZ6ZjnZ74xzvwuzLXid9IIIPgTnY62SJjfuupMKZsZQRsCvxEgA==}
    -    engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
    -
    -  jest-runner@29.7.0:
    -    resolution: {integrity: sha512-fsc4N6cPCAahybGBfTRcq5wFR6fpLznMg47sY5aDpsoejOcVYFb07AHuSnR0liMcPTgBsA3ZJL6kFOjPdoNipQ==}
    -    engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
    -
    -  jest-runtime@29.7.0:
    -    resolution: {integrity: sha512-gUnLjgwdGqW7B4LvOIkbKs9WGbn+QLqRQQ9juC6HndeDiezIwhDP+mhMwHWCEcfQ5RUXa6OPnFF8BJh5xegwwQ==}
    -    engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
    -
    -  jest-snapshot@29.7.0:
    -    resolution: {integrity: sha512-Rm0BMWtxBcioHr1/OX5YCP8Uov4riHvKPknOGs804Zg9JGZgmIBkbtlxJC/7Z4msKYVbIJtfU+tKb8xlYNfdkw==}
    -    engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
    -
    -  jest-util@29.7.0:
    -    resolution: {integrity: sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA==}
    -    engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
    -
    -  jest-validate@29.7.0:
    -    resolution: {integrity: sha512-ZB7wHqaRGVw/9hST/OuFUReG7M8vKeq0/J2egIGLdvjHCmYqGARhzXmtgi+gVeZ5uXFF219aOc3Ls2yLg27tkw==}
    -    engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
    -
    -  jest-watcher@29.7.0:
    -    resolution: {integrity: sha512-49Fg7WXkU3Vl2h6LbLtMQ/HyB6rXSIX7SqvBLQmssRBGN9I0PNvPmAmCWSOY6SOvrjhI/F7/bGAv9RtnsPA03g==}
    -    engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
    -
    -  jest-worker@27.5.1:
    -    resolution: {integrity: sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==}
    -    engines: {node: '>= 10.13.0'}
    -
    -  jest-worker@29.7.0:
    -    resolution: {integrity: sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==}
    -    engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
    -
    -  jest@29.7.0:
    -    resolution: {integrity: sha512-NIy3oAFp9shda19hy4HK0HRTWKtPJmGdnvywu01nOqNC2vZg+Z+fvJDxpMQA88eb2I9EcafcdjYgsDthnYTvGw==}
    -    engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
    -    hasBin: true
    -    peerDependencies:
    -      node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0
    -    peerDependenciesMeta:
    -      node-notifier:
    -        optional: true
    -
    -  jison-lex@0.3.4:
    -    resolution: {integrity: sha512-EBh5wrXhls1cUwROd5DcDHR1sG7CdsCFSqY1027+YA1RGxz+BX2TDLAhdsQf40YEtFDGoiO0Qm8PpnBl2EzDJw==}
    -    engines: {node: '>=0.4'}
    -    hasBin: true
    -
    -  jison@0.4.18:
    -    resolution: {integrity: sha512-FKkCiJvozgC7VTHhMJ00a0/IApSxhlGsFIshLW6trWJ8ONX2TQJBBz6DlcO1Gffy4w9LT+uL+PA+CVnUSJMF7w==}
    -    engines: {node: '>=0.4'}
    -    hasBin: true
    -
    -  jiti@1.21.0:
    -    resolution: {integrity: sha512-gFqAIbuKyyso/3G2qhiO2OM6shY6EPP/R0+mkDbyspxKazh8BXDC5FiFsUjlczgdNz/vfra0da2y+aHrusLG/Q==}
    -    hasBin: true
    -
    -  jju@1.4.0:
    -    resolution: {integrity: sha512-8wb9Yw966OSxApiCt0K3yNJL8pnNeIv+OEq2YMidz4FKP6nonSRoOXc80iXY4JaN2FC11B9qsNmDsm+ZOfMROA==}
    -
    -  joi@17.12.2:
    -    resolution: {integrity: sha512-RonXAIzCiHLc8ss3Ibuz45u28GOsWE1UpfDXLbN/9NKbL4tCJf8TWYVKsoYuuh+sAUt7fsSNpA+r2+TBA6Wjmw==}
    -
    -  jpeg-js@0.4.4:
    -    resolution: {integrity: sha512-WZzeDOEtTOBK4Mdsar0IqEU5sMr3vSV2RqkAIzUEV2BHnUfKGyswWFPFwK5EeDo93K3FohSHbLAjj0s1Wzd+dg==}
    -
    -  js-base64@3.7.7:
    -    resolution: {integrity: sha512-7rCnleh0z2CkXhH67J8K1Ytz0b2Y+yxTPL+/KOJoa20hfnVQ/3/T6W/KflYI4bRHRagNeXeU2bkNGI3v1oS/lw==}
    -
    -  js-tokens@4.0.0:
    -    resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==}
    -
    -  js-tokens@9.0.0:
    -    resolution: {integrity: sha512-WriZw1luRMlmV3LGJaR6QOJjWwgLUTf89OwT2lUOyjX2dJGBwgmIkbcz+7WFZjrZM635JOIR517++e/67CP9dQ==}
    -
    -  js-yaml@3.14.1:
    -    resolution: {integrity: sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==}
    -    hasBin: true
    -
    -  js-yaml@4.1.0:
    -    resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==}
    -    hasBin: true
    -
    -  jsbn@0.1.1:
    -    resolution: {integrity: sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg==}
    -
    -  jsdoc-type-pratt-parser@4.0.0:
    -    resolution: {integrity: sha512-YtOli5Cmzy3q4dP26GraSOeAhqecewG04hoO8DY56CH4KJ9Fvv5qKWUCCo3HZob7esJQHCv6/+bnTy72xZZaVQ==}
    -    engines: {node: '>=12.0.0'}
    -
    -  jsdom@24.0.0:
    -    resolution: {integrity: sha512-UDS2NayCvmXSXVP6mpTj+73JnNQadZlr9N68189xib2tx5Mls7swlTNao26IoHv46BZJFvXygyRtyXd1feAk1A==}
    -    engines: {node: '>=18'}
    -    peerDependencies:
    -      canvas: ^2.11.2
    -    peerDependenciesMeta:
    -      canvas:
    -        optional: true
    -
    -  jsesc@0.5.0:
    -    resolution: {integrity: sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==}
    -    hasBin: true
    -
    -  jsesc@2.5.2:
    -    resolution: {integrity: sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==}
    -    engines: {node: '>=4'}
    -    hasBin: true
    -
    -  jsesc@3.0.2:
    -    resolution: {integrity: sha512-xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g==}
    -    engines: {node: '>=6'}
    -    hasBin: true
    -
    -  json-buffer@3.0.1:
    -    resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==}
    -
    -  json-parse-even-better-errors@2.3.1:
    -    resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==}
    -
    -  json-schema-to-typescript@13.1.2:
    -    resolution: {integrity: sha512-17G+mjx4nunvOpkPvcz7fdwUwYCEwyH8vR3Ym3rFiQ8uzAL3go+c1306Kk7iGRk8HuXBXqy+JJJmpYl0cvOllw==}
    -    engines: {node: '>=12.0.0'}
    -    hasBin: true
    -
    -  json-schema-traverse@0.4.1:
    -    resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==}
    -
    -  json-schema-traverse@1.0.0:
    -    resolution: {integrity: sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==}
    -
    -  json-schema@0.4.0:
    -    resolution: {integrity: sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==}
    -
    -  json-stable-stringify-without-jsonify@1.0.1:
    -    resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==}
    -
    -  json-stringify-safe@5.0.1:
    -    resolution: {integrity: sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==}
    -
    -  json5@2.2.3:
    -    resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==}
    -    engines: {node: '>=6'}
    -    hasBin: true
    -
    -  jsonc-parser@3.2.1:
    -    resolution: {integrity: sha512-AilxAyFOAcK5wA1+LeaySVBrHsGQvUFCDWXKpZjzaL0PqW+xfBOttn8GNtWKFWqneyMZj41MWF9Kl6iPWLwgOA==}
    -
    -  jsonfile@4.0.0:
    -    resolution: {integrity: sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==}
    -
    -  jsonfile@6.1.0:
    -    resolution: {integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==}
    -
    -  jsonlint@1.6.0:
    -    resolution: {integrity: sha512-x6YLBe6NjdpmIeiklwQOxsZuYj/SOWkT33GlTpaG1UdFGjdWjPcxJ1CWZAX3wA7tarz8E2YHF6KiW5HTapPlXw==}
    -    engines: {node: '>= 0.6'}
    -    hasBin: true
    -
    -  jsonpointer@5.0.1:
    -    resolution: {integrity: sha512-p/nXbhSEcu3pZRdkW1OfJhpsVtW1gd4Wa1fnQc9YLiTfAjn0312eMKimbdIQzuZl9aa9xUGaRlP9T/CJE/ditQ==}
    -    engines: {node: '>=0.10.0'}
    -
    -  jsonschema@1.4.1:
    -    resolution: {integrity: sha512-S6cATIPVv1z0IlxdN+zUk5EPjkGCdnhN4wVSBlvoUO1tOLJootbo9CquNJmbIh4yikWHiUedhRYrNPn1arpEmQ==}
    -
    -  jsprim@2.0.2:
    -    resolution: {integrity: sha512-gqXddjPqQ6G40VdnI6T6yObEC+pDNvyP95wdQhkWkg7crHH3km5qP1FsOXEkzEQwnz6gz5qGTn1c2Y52wP3OyQ==}
    -    engines: {'0': node >=0.6.0}
    -
    -  junk@4.0.1:
    -    resolution: {integrity: sha512-Qush0uP+G8ZScpGMZvHUiRfI0YBWuB3gVBYlI0v0vvOJt5FLicco+IkP0a50LqTTQhmts/m6tP5SWE+USyIvcQ==}
    -    engines: {node: '>=12.20'}
    -
    -  katex@0.16.10:
    -    resolution: {integrity: sha512-ZiqaC04tp2O5utMsl2TEZTXxa6WSC4yo0fv5ML++D3QZv/vx2Mct0mTlRx3O+uUkjfuAgOkzsCmq5MiUEsDDdA==}
    -    hasBin: true
    -
    -  keyv@4.5.4:
    -    resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==}
    -
    -  khroma@2.1.0:
    -    resolution: {integrity: sha512-Ls993zuzfayK269Svk9hzpeGUKob/sIgZzyHYdjQoAdQetRKpOLj+k/QQQ/6Qi0Yz65mlROrfd+Ev+1+7dz9Kw==}
    -
    -  kind-of@6.0.3:
    -    resolution: {integrity: sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==}
    -    engines: {node: '>=0.10.0'}
    -
    -  kleur@3.0.3:
    -    resolution: {integrity: sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==}
    -    engines: {node: '>=6'}
    -
    -  kolorist@1.8.0:
    -    resolution: {integrity: sha512-Y+60/zizpJ3HRH8DCss+q95yr6145JXZo46OTpFvDZWLfRCE4qChOyk1b26nMaNpfHHgxagk9dXT5OP0Tfe+dQ==}
    -
    -  ky@0.30.0:
    -    resolution: {integrity: sha512-X/u76z4JtDVq10u1JA5UQfatPxgPaVDMYTrgHyiTpGN2z4TMEJkIHsoSBBSg9SWZEIXTKsi9kHgiQ9o3Y/4yog==}
    -    engines: {node: '>=12'}
    -
    -  langium-cli@3.0.3:
    -    resolution: {integrity: sha512-g6PdhEq5IiYWK/oiySILglPvFdK6ofQdzC+U7PJmFH++bDKu0DGdxjWzDauUN5WUDyVQETWKgtYDmmbcxPzN0w==}
    -    engines: {node: '>=16.0.0'}
    -    hasBin: true
    -
    -  langium-railroad@3.0.0:
    -    resolution: {integrity: sha512-GQOnQBGl5gJqzgK/4bKvJO5QhJGNnprpYH6Fghbl4FviVLHwP6yzyqiouDelLSoCadChCr2JqKaBp5HXv7CgWw==}
    -
    -  langium@3.0.0:
    -    resolution: {integrity: sha512-+Ez9EoiByeoTu/2BXmEaZ06iPNXM6thWJp02KfBO/raSMyCJ4jw7AkWWa+zBCTm0+Tw1Fj9FOxdqSskyN5nAwg==}
    -    engines: {node: '>=16.0.0'}
    -
    -  launch-editor@2.6.1:
    -    resolution: {integrity: sha512-eB/uXmFVpY4zezmGp5XtU21kwo7GBbKB+EQ+UZeWtGb9yAM5xt/Evk+lYH3eRNAtId+ej4u7TYPFZ07w4s7rRw==}
    -
    -  layout-base@1.0.2:
    -    resolution: {integrity: sha512-8h2oVEZNktL4BH2JCOI90iD1yXwL6iNW7KcCKT2QZgQJR2vbqDsldCTPRU9NifTCqHZci57XvQQ15YTu+sTYPg==}
    -
    -  lazy-ass@1.6.0:
    -    resolution: {integrity: sha512-cc8oEVoctTvsFZ/Oje/kGnHbpWHYBe8IAJe4C0QNc3t8uM/0Y8+erSz/7Y1ALuXTEZTMvxXwO6YbX1ey3ujiZw==}
    -    engines: {node: '> 0.8'}
    -
    -  leven@3.1.0:
    -    resolution: {integrity: sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==}
    -    engines: {node: '>=6'}
    -
    -  levn@0.4.1:
    -    resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==}
    -    engines: {node: '>= 0.8.0'}
    -
    -  lex-parser@0.1.4:
    -    resolution: {integrity: sha512-DuAEISsr1H4LOpmFLkyMc8YStiRWZCO8hMsoXAXSbgyfvs2WQhSt0+/FBv3ZU/JBFZMGcE+FWzEBSzwUU7U27w==}
    -
    -  light-my-request@4.12.0:
    -    resolution: {integrity: sha512-0y+9VIfJEsPVzK5ArSIJ8Dkxp8QMP7/aCuxCUtG/tr9a2NoOf/snATE/OUc05XUplJCEnRh6gTkH7xh9POt1DQ==}
    -
    -  lilconfig@2.1.0:
    -    resolution: {integrity: sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==}
    -    engines: {node: '>=10'}
    -
    -  lilconfig@3.0.0:
    -    resolution: {integrity: sha512-K2U4W2Ff5ibV7j7ydLr+zLAkIg5JJ4lPn1Ltsdt+Tz/IjQ8buJ55pZAxoP34lqIiwtF9iAvtLv3JGv7CAyAg+g==}
    -    engines: {node: '>=14'}
    -
    -  lilconfig@3.1.1:
    -    resolution: {integrity: sha512-O18pf7nyvHTckunPWCV1XUNXU1piu01y2b7ATJ0ppkUkk8ocqVWBrYjJBCwHDjD/ZWcfyrA0P4gKhzWGi5EINQ==}
    -    engines: {node: '>=14'}
    -
    -  lines-and-columns@1.2.4:
    -    resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==}
    -
    -  linkify-it@4.0.1:
    -    resolution: {integrity: sha512-C7bfi1UZmoj8+PQx22XyeXCuBlokoyWQL5pWSP+EI6nzRylyThouddufc2c1NDIcP9k5agmN9fLpA7VNJfIiqw==}
    -
    -  lint-staged@15.2.2:
    -    resolution: {integrity: sha512-TiTt93OPh1OZOsb5B7k96A/ATl2AjIZo+vnzFZ6oHK5FuTk63ByDtxGQpHm+kFETjEWqgkF95M8FRXKR/LEBcw==}
    -    engines: {node: '>=18.12.0'}
    -    hasBin: true
    -
    -  listr2@3.14.0:
    -    resolution: {integrity: sha512-TyWI8G99GX9GjE54cJ+RrNMcIFBfwMPxc3XTFiAYGN4s10hWROGtOg7+O6u6LE3mNkyld7RSLE6nrKBvTfcs3g==}
    -    engines: {node: '>=10.0.0'}
    -    peerDependencies:
    -      enquirer: '>= 2.3.0 < 3'
    -    peerDependenciesMeta:
    -      enquirer:
    -        optional: true
    -
    -  listr2@8.0.1:
    -    resolution: {integrity: sha512-ovJXBXkKGfq+CwmKTjluEqFi3p4h8xvkxGQQAQan22YCgef4KZ1mKGjzfGh6PL6AW5Csw0QiQPNuQyH+6Xk3hA==}
    -    engines: {node: '>=18.0.0'}
    -
    -  loader-runner@4.3.0:
    -    resolution: {integrity: sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==}
    -    engines: {node: '>=6.11.5'}
    -
    -  local-pkg@0.4.3:
    -    resolution: {integrity: sha512-SFppqq5p42fe2qcZQqqEOiVRXl+WCP1MdT6k7BDEW1j++sp5fIY+/fdRQitvKgB5BrBcmrs5m/L0v2FrU5MY1g==}
    -    engines: {node: '>=14'}
    -
    -  local-pkg@0.5.0:
    -    resolution: {integrity: sha512-ok6z3qlYyCDS4ZEU27HaU6x/xZa9Whf8jD4ptH5UZTQYZVYeb9bnZ3ojVhiJNLiXK1Hfc0GNbLXcmZ5plLDDBg==}
    -    engines: {node: '>=14'}
    -
    -  locate-path@3.0.0:
    -    resolution: {integrity: sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==}
    -    engines: {node: '>=6'}
    -
    -  locate-path@5.0.0:
    -    resolution: {integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==}
    -    engines: {node: '>=8'}
    -
    -  locate-path@6.0.0:
    -    resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==}
    -    engines: {node: '>=10'}
    -
    -  locate-path@7.2.0:
    -    resolution: {integrity: sha512-gvVijfZvn7R+2qyPX8mAuKcFGDf6Nc61GdvGafQsHL0sBIxfKzA+usWn4GFC/bk+QdwPUD4kWFJLhElipq+0VA==}
    -    engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
    -
    -  lodash-es@4.17.21:
    -    resolution: {integrity: sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==}
    -
    -  lodash.debounce@4.0.8:
    -    resolution: {integrity: sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==}
    -
    -  lodash.flattendeep@4.4.0:
    -    resolution: {integrity: sha512-uHaJFihxmJcEX3kT4I23ABqKKalJ/zDrDg0lsFtc1h+3uw49SIJ5beyhx5ExVRti3AvKoOJngIj7xz3oylPdWQ==}
    -
    -  lodash.isplainobject@4.0.6:
    -    resolution: {integrity: sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==}
    -
    -  lodash.merge@4.6.2:
    -    resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==}
    -
    -  lodash.once@4.1.1:
    -    resolution: {integrity: sha512-Sb487aTOCr9drQVL8pIxOzVhafOjZN9UU54hiN8PU3uAiSV7lx1yYNpbNmex2PK6dSJoNTSJUUswT651yww3Mg==}
    -
    -  lodash.sortby@4.7.0:
    -    resolution: {integrity: sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA==}
    -
    -  lodash@4.17.21:
    -    resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==}
    -
    -  log-symbols@4.1.0:
    -    resolution: {integrity: sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==}
    -    engines: {node: '>=10'}
    -
    -  log-update@4.0.0:
    -    resolution: {integrity: sha512-9fkkDevMefjg0mmzWFBW8YkFP91OrizzkW3diF7CpG+S2EYdy4+TVfGwz1zeF8x7hCx1ovSPTOE9Ngib74qqUg==}
    -    engines: {node: '>=10'}
    -
    -  log-update@6.0.0:
    -    resolution: {integrity: sha512-niTvB4gqvtof056rRIrTZvjNYE4rCUzO6X/X+kYjd7WFxXeJ0NwEFnRxX6ehkvv3jTwrXnNdtAak5XYZuIyPFw==}
    -    engines: {node: '>=18'}
    -
    -  loglevel-plugin-prefix@0.8.4:
    -    resolution: {integrity: sha512-WpG9CcFAOjz/FtNht+QJeGpvVl/cdR6P0z6OcXSkr8wFJOsV2GRj2j10JLfjuA4aYkcKCNIEqRGCyTife9R8/g==}
    -
    -  loglevel@1.9.1:
    -    resolution: {integrity: sha512-hP3I3kCrDIMuRwAwHltphhDM1r8i55H33GgqjXbrisuJhF4kRhW1dNuxsRklp4bXl8DSdLaNLuiL4A/LWRfxvg==}
    -    engines: {node: '>= 0.6.0'}
    -
    -  longest-streak@3.1.0:
    -    resolution: {integrity: sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g==}
    -
    -  loupe@2.3.7:
    -    resolution: {integrity: sha512-zSMINGVYkdpYSOBmLi0D1Uo7JU9nVdQKrHxC8eYlV+9YKK9WePqAlL7lSlorG/U2Fw1w0hTBmaa/jrQ3UbPHtA==}
    -
    -  lowercase-keys@2.0.0:
    -    resolution: {integrity: sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==}
    -    engines: {node: '>=8'}
    -
    -  lru-cache@10.2.1:
    -    resolution: {integrity: sha512-tS24spDe/zXhWbNPErCHs/AGOzbKGHT+ybSBqmdLm8WZ1xXLWvH8Qn71QPAlqVhd0qUTWjy+Kl9JmISgDdEjsA==}
    -    engines: {node: 14 || >=16.14}
    -
    -  lru-cache@5.1.1:
    -    resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==}
    -
    -  lru-cache@6.0.0:
    -    resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==}
    -    engines: {node: '>=10'}
    -
    -  lru-queue@0.1.0:
    -    resolution: {integrity: sha512-BpdYkt9EvGl8OfWHDQPISVpcl5xZthb+XPsbELj5AQXxIC8IriDZIQYjBJPEm5rS420sjZ0TLEzRcq5KdBhYrQ==}
    -
    -  lunr@2.3.9:
    -    resolution: {integrity: sha512-zTU3DaZaF3Rt9rhN3uBMGQD3dD2/vFQqnvZCDv4dl5iOzq2IZQqTxu90r4E5J+nP70J3ilqVCrbho2eWaeW8Ow==}
    -
    -  magic-string@0.25.9:
    -    resolution: {integrity: sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==}
    -
    -  magic-string@0.30.10:
    -    resolution: {integrity: sha512-iIRwTIf0QKV3UAnYK4PU8uiEc4SRh5jX0mwpIwETPpHdhVM4f53RSwS/vXvN1JhGX+Cs7B8qIq3d6AH49O5fAQ==}
    -
    -  magic-string@0.30.5:
    -    resolution: {integrity: sha512-7xlpfBaQaP/T6Vh8MO/EqXSW5En6INHEvEXQiuff7Gku0PWjU3uf6w/j9o7O+SpB5fOAkrI5HeoNgwjEO0pFsA==}
    -    engines: {node: '>=12'}
    -
    -  magicast@0.3.4:
    -    resolution: {integrity: sha512-TyDF/Pn36bBji9rWKHlZe+PZb6Mx5V8IHCSxk7X4aljM4e/vyDvZZYwHewdVaqiA0nb3ghfHU/6AUpDxWoER2Q==}
    -
    -  make-dir@3.1.0:
    -    resolution: {integrity: sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==}
    -    engines: {node: '>=8'}
    -
    -  make-dir@4.0.0:
    -    resolution: {integrity: sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==}
    -    engines: {node: '>=10'}
    -
    -  makeerror@1.0.12:
    -    resolution: {integrity: sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==}
    -
    -  map-stream@0.1.0:
    -    resolution: {integrity: sha512-CkYQrPYZfWnu/DAmVCpTSX/xHpKZ80eKh2lAkyA6AJTef6bW+6JpbQZN5rofum7da+SyN1bi5ctTm+lTfcCW3g==}
    -
    -  mark.js@8.11.1:
    -    resolution: {integrity: sha512-1I+1qpDt4idfgLQG+BNWmrqku+7/2bi5nLf4YwF8y8zXvmfiTBY3PV3ZibfrjBueCByROpuBjLLFCajqkgYoLQ==}
    -
    -  markdown-it@13.0.1:
    -    resolution: {integrity: sha512-lTlxriVoy2criHP0JKRhO2VDG9c2ypWCsT237eDiLqi09rmbKoUetyGHq2uOIRoRS//kfoJckS0eUzzkDR+k2Q==}
    -    hasBin: true
    -
    -  markdown-table@3.0.3:
    -    resolution: {integrity: sha512-Z1NL3Tb1M9wH4XESsCDEksWoKTdlUafKc4pt0GRwjUyXaCFZ+dc3g2erqB6zm3szA2IUSi7VnPI+o/9jnxh9hw==}
    -
    -  marked@4.3.0:
    -    resolution: {integrity: sha512-PRsaiG84bK+AMvxziE/lCFss8juXjNaWzVbN5tXAm4XjeaS9NAHhop+PjQxz2A9h8Q4M/xGmzP8vqNwy6JeK0A==}
    -    engines: {node: '>= 12'}
    -    hasBin: true
    -
    -  mdast-builder@1.1.1:
    -    resolution: {integrity: sha512-a3KBk/LmYD6wKsWi8WJrGU/rXR4yuF4Men0JO0z6dSZCm5FrXXWTRDjqK0vGSqa+1M6p9edeuypZAZAzSehTUw==}
    -
    -  mdast-util-find-and-replace@3.0.1:
    -    resolution: {integrity: sha512-SG21kZHGC3XRTSUhtofZkBzZTJNM5ecCi0SK2IMKmSXR8vO3peL+kb1O0z7Zl83jKtutG4k5Wv/W7V3/YHvzPA==}
    -
    -  mdast-util-from-markdown@0.8.5:
    -    resolution: {integrity: sha512-2hkTXtYYnr+NubD/g6KGBS/0mFmBcifAsI0yIWRiRo0PjVs6SSOSOdtzbp6kSGnShDN6G5aWZpKQ2lWRy27mWQ==}
    -
    -  mdast-util-from-markdown@2.0.0:
    -    resolution: {integrity: sha512-n7MTOr/z+8NAX/wmhhDji8O3bRvPTV/U0oTCaZJkjhPSKTPhS3xufVhKGF8s1pJ7Ox4QgoIU7KHseh09S+9rTA==}
    -
    -  mdast-util-frontmatter@2.0.1:
    -    resolution: {integrity: sha512-LRqI9+wdgC25P0URIJY9vwocIzCcksduHQ9OF2joxQoyTNVduwLAFUzjoopuRJbJAReaKrNQKAZKL3uCMugWJA==}
    -
    -  mdast-util-gfm-autolink-literal@2.0.0:
    -    resolution: {integrity: sha512-FyzMsduZZHSc3i0Px3PQcBT4WJY/X/RCtEJKuybiC6sjPqLv7h1yqAkmILZtuxMSsUyaLUWNp71+vQH2zqp5cg==}
    -
    -  mdast-util-gfm-footnote@2.0.0:
    -    resolution: {integrity: sha512-5jOT2boTSVkMnQ7LTrd6n/18kqwjmuYqo7JUPe+tRCY6O7dAuTFMtTPauYYrMPpox9hlN0uOx/FL8XvEfG9/mQ==}
    -
    -  mdast-util-gfm-strikethrough@2.0.0:
    -    resolution: {integrity: sha512-mKKb915TF+OC5ptj5bJ7WFRPdYtuHv0yTRxK2tJvi+BDqbkiG7h7u/9SI89nRAYcmap2xHQL9D+QG/6wSrTtXg==}
    -
    -  mdast-util-gfm-table@2.0.0:
    -    resolution: {integrity: sha512-78UEvebzz/rJIxLvE7ZtDd/vIQ0RHv+3Mh5DR96p7cS7HsBhYIICDBCu8csTNWNO6tBWfqXPWekRuj2FNOGOZg==}
    -
    -  mdast-util-gfm-task-list-item@2.0.0:
    -    resolution: {integrity: sha512-IrtvNvjxC1o06taBAVJznEnkiHxLFTzgonUdy8hzFVeDun0uTjxxrRGVaNFqkU1wJR3RBPEfsxmU6jDWPofrTQ==}
    -
    -  mdast-util-gfm@3.0.0:
    -    resolution: {integrity: sha512-dgQEX5Amaq+DuUqf26jJqSK9qgixgd6rYDHAv4aTBuA92cTknZlKpPfa86Z/s8Dj8xsAQpFfBmPUHWJBWqS4Bw==}
    -
    -  mdast-util-phrasing@4.1.0:
    -    resolution: {integrity: sha512-TqICwyvJJpBwvGAMZjj4J2n0X8QWp21b9l0o7eXyVJ25YNWYbJDVIyD1bZXE6WtV6RmKJVYmQAKWa0zWOABz2w==}
    -
    -  mdast-util-to-markdown@2.1.0:
    -    resolution: {integrity: sha512-SR2VnIEdVNCJbP6y7kVTJgPLifdr8WEU440fQec7qHoHOUz/oJ2jmNRqdDQ3rbiStOXb2mCDGTuwsK5OPUgYlQ==}
    -
    -  mdast-util-to-string@2.0.0:
    -    resolution: {integrity: sha512-AW4DRS3QbBayY/jJmD8437V1Gombjf8RSOUCMFBuo5iHi58AGEgVCKQ+ezHkZZDpAQS75hcBMpLqjpJTjtUL7w==}
    -
    -  mdast-util-to-string@4.0.0:
    -    resolution: {integrity: sha512-0H44vDimn51F0YwvxSJSm0eCDOJTRlmN0R1yBh4HLj9wiV1Dn0QoXGbvFAWj2hSItVTlCmBF1hqKlIyUBVFLPg==}
    -
    -  mdn-data@2.0.30:
    -    resolution: {integrity: sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==}
    -
    -  mdn-data@2.1.0:
    -    resolution: {integrity: sha512-dbAWH6A+2NGuVJlQFrTKHJc07Vqn5frnhyTOGz+7BsK7V2hHdoBcwoiyV3QVhLHYpM/zqe2OSUn5ZWbVXLBB8A==}
    -
    -  mdurl@1.0.1:
    -    resolution: {integrity: sha512-/sKlQJCBYVY9Ers9hqzKou4H6V5UWc/M59TH2dvkt+84itfnq7uFOMLpOiOS4ujvHP4etln18fmIxA5R5fll0g==}
    -
    -  media-typer@0.3.0:
    -    resolution: {integrity: sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==}
    -    engines: {node: '>= 0.6'}
    -
    -  memfs@3.5.3:
    -    resolution: {integrity: sha512-UERzLsxzllchadvbPs5aolHh65ISpKpM+ccLbOJ8/vvpBKmAWf+la7dXFy7Mr0ySHbdHrFv5kGFCUHHe6GFEmw==}
    -    engines: {node: '>= 4.0.0'}
    -
    -  memoizee@0.4.15:
    -    resolution: {integrity: sha512-UBWmJpLZd5STPm7PMUlOw/TSy972M+z8gcyQ5veOnSDRREz/0bmpyTfKt3/51DhEBqCZQn1udM/5flcSPYhkdQ==}
    -
    -  meow@12.1.1:
    -    resolution: {integrity: sha512-BhXM0Au22RwUneMPwSCnyhTOizdWoIEPU9sp0Aqa1PnDMR5Wv2FGXYDjuzJEIX+Eo2Rb8xuYe5jrnm5QowQFkw==}
    -    engines: {node: '>=16.10'}
    -
    -  merge-descriptors@1.0.1:
    -    resolution: {integrity: sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==}
    -
    -  merge-stream@2.0.0:
    -    resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==}
    -
    -  merge2@1.4.1:
    -    resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==}
    -    engines: {node: '>= 8'}
    -
    -  methods@1.1.2:
    -    resolution: {integrity: sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==}
    -    engines: {node: '>= 0.6'}
    -
    -  micromark-core-commonmark@2.0.0:
    -    resolution: {integrity: sha512-jThOz/pVmAYUtkroV3D5c1osFXAMv9e0ypGDOIZuCeAe91/sD6BoE2Sjzt30yuXtwOYUmySOhMas/PVyh02itA==}
    -
    -  micromark-extension-frontmatter@2.0.0:
    -    resolution: {integrity: sha512-C4AkuM3dA58cgZha7zVnuVxBhDsbttIMiytjgsM2XbHAB2faRVaHRle40558FBN+DJcrLNCoqG5mlrpdU4cRtg==}
    -
    -  micromark-extension-gfm-autolink-literal@2.0.0:
    -    resolution: {integrity: sha512-rTHfnpt/Q7dEAK1Y5ii0W8bhfJlVJFnJMHIPisfPK3gpVNuOP0VnRl96+YJ3RYWV/P4gFeQoGKNlT3RhuvpqAg==}
    -
    -  micromark-extension-gfm-footnote@2.0.0:
    -    resolution: {integrity: sha512-6Rzu0CYRKDv3BfLAUnZsSlzx3ak6HAoI85KTiijuKIz5UxZxbUI+pD6oHgw+6UtQuiRwnGRhzMmPRv4smcz0fg==}
    -
    -  micromark-extension-gfm-strikethrough@2.0.0:
    -    resolution: {integrity: sha512-c3BR1ClMp5fxxmwP6AoOY2fXO9U8uFMKs4ADD66ahLTNcwzSCyRVU4k7LPV5Nxo/VJiR4TdzxRQY2v3qIUceCw==}
    -
    -  micromark-extension-gfm-table@2.0.0:
    -    resolution: {integrity: sha512-PoHlhypg1ItIucOaHmKE8fbin3vTLpDOUg8KAr8gRCF1MOZI9Nquq2i/44wFvviM4WuxJzc3demT8Y3dkfvYrw==}
    -
    -  micromark-extension-gfm-tagfilter@2.0.0:
    -    resolution: {integrity: sha512-xHlTOmuCSotIA8TW1mDIM6X2O1SiX5P9IuDtqGonFhEK0qgRI4yeC6vMxEV2dgyr2TiD+2PQ10o+cOhdVAcwfg==}
    -
    -  micromark-extension-gfm-task-list-item@2.0.1:
    -    resolution: {integrity: sha512-cY5PzGcnULaN5O7T+cOzfMoHjBW7j+T9D2sucA5d/KbsBTPcYdebm9zUd9zzdgJGCwahV+/W78Z3nbulBYVbTw==}
    -
    -  micromark-extension-gfm@3.0.0:
    -    resolution: {integrity: sha512-vsKArQsicm7t0z2GugkCKtZehqUm31oeGBV/KVSorWSy8ZlNAv7ytjFhvaryUiCUJYqs+NoE6AFhpQvBTM6Q4w==}
    -
    -  micromark-factory-destination@2.0.0:
    -    resolution: {integrity: sha512-j9DGrQLm/Uhl2tCzcbLhy5kXsgkHUrjJHg4fFAeoMRwJmJerT9aw4FEhIbZStWN8A3qMwOp1uzHr4UL8AInxtA==}
    -
    -  micromark-factory-label@2.0.0:
    -    resolution: {integrity: sha512-RR3i96ohZGde//4WSe/dJsxOX6vxIg9TimLAS3i4EhBAFx8Sm5SmqVfR8E87DPSR31nEAjZfbt91OMZWcNgdZw==}
    -
    -  micromark-factory-space@2.0.0:
    -    resolution: {integrity: sha512-TKr+LIDX2pkBJXFLzpyPyljzYK3MtmllMUMODTQJIUfDGncESaqB90db9IAUcz4AZAJFdd8U9zOp9ty1458rxg==}
    -
    -  micromark-factory-title@2.0.0:
    -    resolution: {integrity: sha512-jY8CSxmpWLOxS+t8W+FG3Xigc0RDQA9bKMY/EwILvsesiRniiVMejYTE4wumNc2f4UbAa4WsHqe3J1QS1sli+A==}
    -
    -  micromark-factory-whitespace@2.0.0:
    -    resolution: {integrity: sha512-28kbwaBjc5yAI1XadbdPYHX/eDnqaUFVikLwrO7FDnKG7lpgxnvk/XGRhX/PN0mOZ+dBSZ+LgunHS+6tYQAzhA==}
    -
    -  micromark-util-character@2.1.0:
    -    resolution: {integrity: sha512-KvOVV+X1yLBfs9dCBSopq/+G1PcgT3lAK07mC4BzXi5E7ahzMAF8oIupDDJ6mievI6F+lAATkbQQlQixJfT3aQ==}
    -
    -  micromark-util-chunked@2.0.0:
    -    resolution: {integrity: sha512-anK8SWmNphkXdaKgz5hJvGa7l00qmcaUQoMYsBwDlSKFKjc6gjGXPDw3FNL3Nbwq5L8gE+RCbGqTw49FK5Qyvg==}
    -
    -  micromark-util-classify-character@2.0.0:
    -    resolution: {integrity: sha512-S0ze2R9GH+fu41FA7pbSqNWObo/kzwf8rN/+IGlW/4tC6oACOs8B++bh+i9bVyNnwCcuksbFwsBme5OCKXCwIw==}
    -
    -  micromark-util-combine-extensions@2.0.0:
    -    resolution: {integrity: sha512-vZZio48k7ON0fVS3CUgFatWHoKbbLTK/rT7pzpJ4Bjp5JjkZeasRfrS9wsBdDJK2cJLHMckXZdzPSSr1B8a4oQ==}
    -
    -  micromark-util-decode-numeric-character-reference@2.0.1:
    -    resolution: {integrity: sha512-bmkNc7z8Wn6kgjZmVHOX3SowGmVdhYS7yBpMnuMnPzDq/6xwVA604DuOXMZTO1lvq01g+Adfa0pE2UKGlxL1XQ==}
    -
    -  micromark-util-decode-string@2.0.0:
    -    resolution: {integrity: sha512-r4Sc6leeUTn3P6gk20aFMj2ntPwn6qpDZqWvYmAG6NgvFTIlj4WtrAudLi65qYoaGdXYViXYw2pkmn7QnIFasA==}
    -
    -  micromark-util-encode@2.0.0:
    -    resolution: {integrity: sha512-pS+ROfCXAGLWCOc8egcBvT0kf27GoWMqtdarNfDcjb6YLuV5cM3ioG45Ys2qOVqeqSbjaKg72vU+Wby3eddPsA==}
    -
    -  micromark-util-html-tag-name@2.0.0:
    -    resolution: {integrity: sha512-xNn4Pqkj2puRhKdKTm8t1YHC/BAjx6CEwRFXntTaRf/x16aqka6ouVoutm+QdkISTlT7e2zU7U4ZdlDLJd2Mcw==}
    -
    -  micromark-util-normalize-identifier@2.0.0:
    -    resolution: {integrity: sha512-2xhYT0sfo85FMrUPtHcPo2rrp1lwbDEEzpx7jiH2xXJLqBuy4H0GgXk5ToU8IEwoROtXuL8ND0ttVa4rNqYK3w==}
    -
    -  micromark-util-resolve-all@2.0.0:
    -    resolution: {integrity: sha512-6KU6qO7DZ7GJkaCgwBNtplXCvGkJToU86ybBAUdavvgsCiG8lSSvYxr9MhwmQ+udpzywHsl4RpGJsYWG1pDOcA==}
    -
    -  micromark-util-sanitize-uri@2.0.0:
    -    resolution: {integrity: sha512-WhYv5UEcZrbAtlsnPuChHUAsu/iBPOVaEVsntLBIdpibO0ddy8OzavZz3iL2xVvBZOpolujSliP65Kq0/7KIYw==}
    -
    -  micromark-util-subtokenize@2.0.0:
    -    resolution: {integrity: sha512-vc93L1t+gpR3p8jxeVdaYlbV2jTYteDje19rNSS/H5dlhxUYll5Fy6vJ2cDwP8RnsXi818yGty1ayP55y3W6fg==}
    -
    -  micromark-util-symbol@2.0.0:
    -    resolution: {integrity: sha512-8JZt9ElZ5kyTnO94muPxIGS8oyElRJaiJO8EzV6ZSyGQ1Is8xwl4Q45qU5UOg+bGH4AikWziz0iN4sFLWs8PGw==}
    -
    -  micromark-util-types@2.0.0:
    -    resolution: {integrity: sha512-oNh6S2WMHWRZrmutsRmDDfkzKtxF+bc2VxLC9dvtrDIRFln627VsFP6fLMgTryGDljgLPjkrzQSDcPrjPyDJ5w==}
    -
    -  micromark@2.11.4:
    -    resolution: {integrity: sha512-+WoovN/ppKolQOFIAajxi7Lu9kInbPxFuTBVEavFcL8eAfVstoc5MocPmqBeAdBOJV00uaVjegzH4+MA0DN/uA==}
    -
    -  micromark@4.0.0:
    -    resolution: {integrity: sha512-o/sd0nMof8kYff+TqcDx3VSrgBTcZpSvYcAHIfHhv5VAuNmisCxjhx6YmxS8PFEpb9z5WKWKPdzf0jM23ro3RQ==}
    -
    -  micromatch@4.0.5:
    -    resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==}
    -    engines: {node: '>=8.6'}
    -
    -  mime-db@1.52.0:
    -    resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==}
    -    engines: {node: '>= 0.6'}
    -
    -  mime-types@2.1.35:
    -    resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==}
    -    engines: {node: '>= 0.6'}
    -
    -  mime@1.6.0:
    -    resolution: {integrity: sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==}
    -    engines: {node: '>=4'}
    -    hasBin: true
    -
    -  mimic-fn@2.1.0:
    -    resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==}
    -    engines: {node: '>=6'}
    -
    -  mimic-fn@4.0.0:
    -    resolution: {integrity: sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==}
    -    engines: {node: '>=12'}
    -
    -  mimic-response@1.0.1:
    -    resolution: {integrity: sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==}
    -    engines: {node: '>=4'}
    -
    -  mimic-response@3.1.0:
    -    resolution: {integrity: sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==}
    -    engines: {node: '>=10'}
    -
    -  min-indent@1.0.1:
    -    resolution: {integrity: sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==}
    -    engines: {node: '>=4'}
    -
    -  minimalistic-assert@1.0.1:
    -    resolution: {integrity: sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==}
    -
    -  minimatch@3.1.2:
    -    resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==}
    -
    -  minimatch@5.1.6:
    -    resolution: {integrity: sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==}
    -    engines: {node: '>=10'}
    -
    -  minimatch@9.0.3:
    -    resolution: {integrity: sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==}
    -    engines: {node: '>=16 || 14 >=14.17'}
    -
    -  minimatch@9.0.4:
    -    resolution: {integrity: sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw==}
    -    engines: {node: '>=16 || 14 >=14.17'}
    -
    -  minimist@1.2.8:
    -    resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==}
    -
    -  minipass@7.0.4:
    -    resolution: {integrity: sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ==}
    -    engines: {node: '>=16 || 14 >=14.17'}
    -
    -  minisearch@6.3.0:
    -    resolution: {integrity: sha512-ihFnidEeU8iXzcVHy74dhkxh/dn8Dc08ERl0xwoMMGqp4+LvRSCgicb+zGqWthVokQKvCSxITlh3P08OzdTYCQ==}
    -
    -  mitt@3.0.1:
    -    resolution: {integrity: sha512-vKivATfr97l2/QBCYAkXYDbrIWPM2IIKEl7YPhjCvKlG3kE2gm+uBo6nEXK3M5/Ffh/FLpKExzOQ3JJoJGFKBw==}
    -
    -  mkdirp@0.5.6:
    -    resolution: {integrity: sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==}
    -    hasBin: true
    -
    -  mkdirp@1.0.4:
    -    resolution: {integrity: sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==}
    -    engines: {node: '>=10'}
    -    hasBin: true
    -
    -  mlly@1.6.1:
    -    resolution: {integrity: sha512-vLgaHvaeunuOXHSmEbZ9izxPx3USsk8KCQ8iC+aTlp5sKRSoZvwhHh5L9VbKSaVC6sJDqbyohIS76E2VmHIPAA==}
    -
    -  mrmime@2.0.0:
    -    resolution: {integrity: sha512-eu38+hdgojoyq63s+yTpN4XMBdt5l8HhMhc4VKLO9KM5caLIBvUm4thi7fFaxyTmCKeNnXZ5pAlBwCUnhA09uw==}
    -    engines: {node: '>=10'}
    -
    -  ms@2.0.0:
    -    resolution: {integrity: sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==}
    -
    -  ms@2.1.2:
    -    resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==}
    -
    -  ms@2.1.3:
    -    resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==}
    -
    -  multicast-dns@7.2.5:
    -    resolution: {integrity: sha512-2eznPJP8z2BFLX50tf0LuODrpINqP1RVIm/CObbTcBRITQgmC/TjcREF1NeTBzIcR5XO/ukWo+YHOjBbFwIupg==}
    -    hasBin: true
    -
    -  mz@2.7.0:
    -    resolution: {integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==}
    -
    -  nanoid@3.3.7:
    -    resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==}
    -    engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1}
    -    hasBin: true
    -
    -  natural-compare@1.4.0:
    -    resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==}
    -
    -  negotiator@0.6.3:
    -    resolution: {integrity: sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==}
    -    engines: {node: '>= 0.6'}
    -
    -  neo-async@2.6.2:
    -    resolution: {integrity: sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==}
    -
    -  nested-error-stacks@2.1.1:
    -    resolution: {integrity: sha512-9iN1ka/9zmX1ZvLV9ewJYEk9h7RyRRtqdK0woXcqohu8EWIerfPUjYJPg0ULy0UqP7cslmdGc8xKDJcojlKiaw==}
    -
    -  next-tick@1.1.0:
    -    resolution: {integrity: sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ==}
    -
    -  nice-try@1.0.5:
    -    resolution: {integrity: sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==}
    -
    -  node-cleanup@2.1.2:
    -    resolution: {integrity: sha512-qN8v/s2PAJwGUtr1/hYTpNKlD6Y9rc4p8KSmJXyGdYGZsDGKXrGThikLFP9OCHFeLeEpQzPwiAtdIvBLqm//Hw==}
    -
    -  node-domexception@1.0.0:
    -    resolution: {integrity: sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==}
    -    engines: {node: '>=10.5.0'}
    -
    -  node-fetch-native@1.6.4:
    -    resolution: {integrity: sha512-IhOigYzAKHd244OC0JIMIUrjzctirCmPkaIfhDeGcEETWof5zKYUW7e7MYvChGWh/4CJeXEgsRyGzuF334rOOQ==}
    -
    -  node-fetch@2.6.7:
    -    resolution: {integrity: sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==}
    -    engines: {node: 4.x || >=6.0.0}
    -    peerDependencies:
    -      encoding: ^0.1.0
    -    peerDependenciesMeta:
    -      encoding:
    -        optional: true
    -
    -  node-fetch@3.3.1:
    -    resolution: {integrity: sha512-cRVc/kyto/7E5shrWca1Wsea4y6tL9iYJE5FBCius3JQfb/4P4I295PfhgbJQBLTx6lATE4z+wK0rPM4VS2uow==}
    -    engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
    -
    -  node-forge@1.3.1:
    -    resolution: {integrity: sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==}
    -    engines: {node: '>= 6.13.0'}
    -
    -  node-int64@0.4.0:
    -    resolution: {integrity: sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==}
    -
    -  node-preload@0.2.1:
    -    resolution: {integrity: sha512-RM5oyBy45cLEoHqCeh+MNuFAxO0vTFBLskvQbOKnEE7YTTSN4tbN8QWDIPQ6L+WvKsB/qLEGpYe2ZZ9d4W9OIQ==}
    -    engines: {node: '>=8'}
    -
    -  node-releases@2.0.14:
    -    resolution: {integrity: sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==}
    -
    -  nomnom@1.5.2:
    -    resolution: {integrity: sha512-fiVbT7BqxiQqjlR9U3FDGOSERFCKoXVCdxV2FwZuNN7/cmJ42iQx35nUFOAFDcyvemu9Adp+IlsCGlKQYLmBKw==}
    -    deprecated: Package no longer supported. Contact support@npmjs.com for more info.
    -
    -  normalize-package-data@2.5.0:
    -    resolution: {integrity: sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==}
    -
    -  normalize-path@3.0.0:
    -    resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==}
    -    engines: {node: '>=0.10.0'}
    -
    -  normalize-url@6.1.0:
    -    resolution: {integrity: sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==}
    -    engines: {node: '>=10'}
    -
    -  npm-run-path@2.0.2:
    -    resolution: {integrity: sha512-lJxZYlT4DW/bRUtFh1MQIWqmLwQfAxnqWG4HhEdjMlkrJYnJn0Jrr2u3mgxqaWsdiBc76TYkTG/mhrnYTuzfHw==}
    -    engines: {node: '>=4'}
    -
    -  npm-run-path@4.0.1:
    -    resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==}
    -    engines: {node: '>=8'}
    -
    -  npm-run-path@5.3.0:
    -    resolution: {integrity: sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==}
    -    engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
    -
    -  nwsapi@2.2.7:
    -    resolution: {integrity: sha512-ub5E4+FBPKwAZx0UwIQOjYWGHTEq5sPqHQNRN8Z9e4A7u3Tj1weLJsL59yH9vmvqEtBHaOmT6cYQKIZOxp35FQ==}
    -
    -  nyc@15.1.0:
    -    resolution: {integrity: sha512-jMW04n9SxKdKi1ZMGhvUTHBN0EICCRkHemEoE5jm6mTYcqcdas0ATzgUgejlQUHMvpnOZqGB5Xxsv9KxJW1j8A==}
    -    engines: {node: '>=8.9'}
    -    hasBin: true
    -
    -  object-assign@4.1.1:
    -    resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==}
    -    engines: {node: '>=0.10.0'}
    -
    -  object-hash@3.0.0:
    -    resolution: {integrity: sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==}
    -    engines: {node: '>= 6'}
    -
    -  object-inspect@1.13.1:
    -    resolution: {integrity: sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==}
    -
    -  object-keys@1.1.1:
    -    resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==}
    -    engines: {node: '>= 0.4'}
    -
    -  object.assign@4.1.5:
    -    resolution: {integrity: sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ==}
    -    engines: {node: '>= 0.4'}
    -
    -  obuf@1.1.2:
    -    resolution: {integrity: sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==}
    -
    -  ofetch@1.3.4:
    -    resolution: {integrity: sha512-KLIET85ik3vhEfS+3fDlc/BAZiAp+43QEC/yCo5zkNoY2YaKvNkOaFr/6wCFgFH1kuYQM5pMNi0Tg8koiIemtw==}
    -
    -  omggif@1.0.10:
    -    resolution: {integrity: sha512-LMJTtvgc/nugXj0Vcrrs68Mn2D1r0zf630VNtqtpI1FEO7e+O9FP4gqs9AcnBaSEeoHIPm28u6qgPR0oyEpGSw==}
    -
    -  on-exit-leak-free@2.1.2:
    -    resolution: {integrity: sha512-0eJJY6hXLGf1udHwfNftBqH+g73EU4B504nZeKpz1sYRKafAghwxEJunB2O7rDZkL4PGfsMVnTXZ2EjibbqcsA==}
    -    engines: {node: '>=14.0.0'}
    -
    -  on-finished@2.4.1:
    -    resolution: {integrity: sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==}
    -    engines: {node: '>= 0.8'}
    -
    -  on-headers@1.0.2:
    -    resolution: {integrity: sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==}
    -    engines: {node: '>= 0.8'}
    -
    -  once@1.4.0:
    -    resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==}
    -
    -  onetime@5.1.2:
    -    resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==}
    -    engines: {node: '>=6'}
    -
    -  onetime@6.0.0:
    -    resolution: {integrity: sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==}
    -    engines: {node: '>=12'}
    -
    -  open@8.4.2:
    -    resolution: {integrity: sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==}
    -    engines: {node: '>=12'}
    -
    -  optionator@0.9.3:
    -    resolution: {integrity: sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==}
    -    engines: {node: '>= 0.8.0'}
    -
    -  ospath@1.2.2:
    -    resolution: {integrity: sha512-o6E5qJV5zkAbIDNhGSIlyOhScKXgQrSRMilfph0clDfM0nEnBOlKlH4sWDmG95BW/CvwNz0vmm7dJVtU2KlMiA==}
    -
    -  p-cancelable@2.1.1:
    -    resolution: {integrity: sha512-BZOr3nRQHOntUjTrH8+Lh54smKHoHyur8We1V8DSMVrl5A2malOOwuJRnKRDjSnkoeBh4at6BwEnb5I7Jl31wg==}
    -    engines: {node: '>=8'}
    -
    -  p-event@5.0.1:
    -    resolution: {integrity: sha512-dd589iCQ7m1L0bmC5NLlVYfy3TbBEsMUfWx9PyAgPeIcFZ/E2yaTZ4Rz4MiBmmJShviiftHVXOqfnfzJ6kyMrQ==}
    -    engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
    -
    -  p-filter@3.0.0:
    -    resolution: {integrity: sha512-QtoWLjXAW++uTX67HZQz1dbTpqBfiidsB6VtQUC9iR85S120+s0T5sO6s+B5MLzFcZkrEd/DGMmCjR+f2Qpxwg==}
    -    engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
    -
    -  p-finally@1.0.0:
    -    resolution: {integrity: sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow==}
    -    engines: {node: '>=4'}
    -
    -  p-iteration@1.1.8:
    -    resolution: {integrity: sha512-IMFBSDIYcPNnW7uWYGrBqmvTiq7W0uB0fJn6shQZs7dlF3OvrHOre+JT9ikSZ7gZS3vWqclVgoQSvToJrns7uQ==}
    -    engines: {node: '>=8.0.0'}
    -
    -  p-limit@2.3.0:
    -    resolution: {integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==}
    -    engines: {node: '>=6'}
    -
    -  p-limit@3.1.0:
    -    resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==}
    -    engines: {node: '>=10'}
    -
    -  p-limit@4.0.0:
    -    resolution: {integrity: sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ==}
    -    engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
    -
    -  p-limit@5.0.0:
    -    resolution: {integrity: sha512-/Eaoq+QyLSiXQ4lyYV23f14mZRQcXnxfHrN0vCai+ak9G0pp9iEQukIIZq5NccEvwRB8PUnZT0KsOoDCINS1qQ==}
    -    engines: {node: '>=18'}
    -
    -  p-locate@3.0.0:
    -    resolution: {integrity: sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==}
    -    engines: {node: '>=6'}
    -
    -  p-locate@4.1.0:
    -    resolution: {integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==}
    -    engines: {node: '>=8'}
    -
    -  p-locate@5.0.0:
    -    resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==}
    -    engines: {node: '>=10'}
    -
    -  p-locate@6.0.0:
    -    resolution: {integrity: sha512-wPrq66Llhl7/4AGC6I+cqxT07LhXvWL08LNXz1fENOw0Ap4sRZZ/gZpTTJ5jpurzzzfS2W/Ge9BY3LgLjCShcw==}
    -    engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
    -
    -  p-map@3.0.0:
    -    resolution: {integrity: sha512-d3qXVTF/s+W+CdJ5A29wywV2n8CQQYahlgz2bFiA+4eVNJbHJodPZ+/gXwPGh0bOqA+j8S+6+ckmvLGPk1QpxQ==}
    -    engines: {node: '>=8'}
    -
    -  p-map@4.0.0:
    -    resolution: {integrity: sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==}
    -    engines: {node: '>=10'}
    -
    -  p-map@5.5.0:
    -    resolution: {integrity: sha512-VFqfGDHlx87K66yZrNdI4YGtD70IRyd+zSvgks6mzHPRNkoKy+9EKP4SFC77/vTTQYmRmti7dvqC+m5jBrBAcg==}
    -    engines: {node: '>=12'}
    -
    -  p-map@6.0.0:
    -    resolution: {integrity: sha512-T8BatKGY+k5rU+Q/GTYgrEf2r4xRMevAN5mtXc2aPc4rS1j3s+vWTaO2Wag94neXuCAUAs8cxBL9EeB5EA6diw==}
    -    engines: {node: '>=16'}
    -
    -  p-retry@4.6.2:
    -    resolution: {integrity: sha512-312Id396EbJdvRONlngUx0NydfrIQ5lsYu0znKVUzVvArzEIt08V1qhtyESbGVd1FGX7UKtiFp5uwKZdM8wIuQ==}
    -    engines: {node: '>=8'}
    -
    -  p-timeout@5.1.0:
    -    resolution: {integrity: sha512-auFDyzzzGZZZdHz3BtET9VEz0SE/uMEAx7uWfGPucfzEwwe/xH0iVeZibQmANYE/hp9T2+UUZT5m+BKyrDp3Ew==}
    -    engines: {node: '>=12'}
    -
    -  p-try@2.2.0:
    -    resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==}
    -    engines: {node: '>=6'}
    -
    -  package-hash@4.0.0:
    -    resolution: {integrity: sha512-whdkPIooSu/bASggZ96BWVvZTRMOFxnyUG5PnTSGKoJE2gd5mbVNmR2Nj20QFzxYYgAXpoqC+AiXzl+UMRh7zQ==}
    -    engines: {node: '>=8'}
    -
    -  pako@1.0.11:
    -    resolution: {integrity: sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==}
    -
    -  parent-module@1.0.1:
    -    resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==}
    -    engines: {node: '>=6'}
    -
    -  parent-module@2.0.0:
    -    resolution: {integrity: sha512-uo0Z9JJeWzv8BG+tRcapBKNJ0dro9cLyczGzulS6EfeyAdeC9sbojtW6XwvYxJkEne9En+J2XEl4zyglVeIwFg==}
    -    engines: {node: '>=8'}
    -
    -  parse-entities@2.0.0:
    -    resolution: {integrity: sha512-kkywGpCcRYhqQIchaWqZ875wzpS/bMKhz5HnN3p7wveJTkTtyAB/AlnS0f8DFSqYW1T82t6yEAkEcB+A1I3MbQ==}
    -
    -  parse-json@5.2.0:
    -    resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==}
    -    engines: {node: '>=8'}
    -
    -  parse5@7.1.2:
    -    resolution: {integrity: sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==}
    -
    -  parseurl@1.3.3:
    -    resolution: {integrity: sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==}
    -    engines: {node: '>= 0.8'}
    -
    -  path-browserify@1.0.1:
    -    resolution: {integrity: sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==}
    -
    -  path-data-parser@0.1.0:
    -    resolution: {integrity: sha512-NOnmBpt5Y2RWbuv0LMzsayp3lVylAHLPUTut412ZA3l+C4uw4ZVkQbjShYCQ8TCpUMdPapr4YjUqLYD6v68j+w==}
    -
    -  path-exists@3.0.0:
    -    resolution: {integrity: sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==}
    -    engines: {node: '>=4'}
    -
    -  path-exists@4.0.0:
    -    resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==}
    -    engines: {node: '>=8'}
    -
    -  path-exists@5.0.0:
    -    resolution: {integrity: sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ==}
    -    engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
    -
    -  path-is-absolute@1.0.1:
    -    resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==}
    -    engines: {node: '>=0.10.0'}
    -
    -  path-key@2.0.1:
    -    resolution: {integrity: sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==}
    -    engines: {node: '>=4'}
    -
    -  path-key@3.1.1:
    -    resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==}
    -    engines: {node: '>=8'}
    -
    -  path-key@4.0.0:
    -    resolution: {integrity: sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==}
    -    engines: {node: '>=12'}
    -
    -  path-parse@1.0.7:
    -    resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==}
    -
    -  path-scurry@1.10.1:
    -    resolution: {integrity: sha512-MkhCqzzBEpPvxxQ71Md0b1Kk51W01lrYvlMzSUaIzNsODdd7mqhiimSZlr+VegAz5Z6Vzt9Xg2ttE//XBhH3EQ==}
    -    engines: {node: '>=16 || 14 >=14.17'}
    -
    -  path-scurry@1.10.2:
    -    resolution: {integrity: sha512-7xTavNy5RQXnsjANvVvMkEjvloOinkAjv/Z6Ildz9v2RinZ4SBKTWFOVRbaF8p0vpHnyjV/UwNDdKuUv6M5qcA==}
    -    engines: {node: '>=16 || 14 >=14.17'}
    -
    -  path-to-regexp@0.1.7:
    -    resolution: {integrity: sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==}
    -
    -  path-type@4.0.0:
    -    resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==}
    -    engines: {node: '>=8'}
    -
    -  path-type@5.0.0:
    -    resolution: {integrity: sha512-5HviZNaZcfqP95rwpv+1HDgUamezbqdSYTyzjTvwtJSnIH+3vnbmWsItli8OFEndS984VT55M3jduxZbX351gg==}
    -    engines: {node: '>=12'}
    -
    -  pathe@1.1.2:
    -    resolution: {integrity: sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==}
    -
    -  pathval@1.1.1:
    -    resolution: {integrity: sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==}
    -
    -  pause-stream@0.0.11:
    -    resolution: {integrity: sha512-e3FBlXLmN/D1S+zHzanP4E/4Z60oFAa3O051qt1pxa7DEJWKAyil6upYVXCWadEnuoqa4Pkc9oUx9zsxYeRv8A==}
    -
    -  pend@1.2.0:
    -    resolution: {integrity: sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==}
    -
    -  perfect-debounce@1.0.0:
    -    resolution: {integrity: sha512-xCy9V055GLEqoFaHoC1SoLIaLmWctgCUaBaWxDZ7/Zx4CTyX7cJQLJOok/orfjZAh9kEYpjJa4d0KcJmCbctZA==}
    -
    -  performance-now@2.1.0:
    -    resolution: {integrity: sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==}
    -
    -  picocolors@1.0.0:
    -    resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==}
    -
    -  picomatch@2.3.1:
    -    resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==}
    -    engines: {node: '>=8.6'}
    -
    -  pidtree@0.6.0:
    -    resolution: {integrity: sha512-eG2dWTVw5bzqGRztnHExczNxt5VGsE6OwTeCG3fdUf9KBsZzO3R5OIIIzWR+iZA0NtZ+RDVdaoE2dK1cn6jH4g==}
    -    engines: {node: '>=0.10'}
    -    hasBin: true
    -
    -  pify@2.3.0:
    -    resolution: {integrity: sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==}
    -    engines: {node: '>=0.10.0'}
    -
    -  pino-abstract-transport@1.1.0:
    -    resolution: {integrity: sha512-lsleG3/2a/JIWUtf9Q5gUNErBqwIu1tUKTT3dUzaf5DySw9ra1wcqKjJjLX1VTY64Wk1eEOYsVGSaGfCK85ekA==}
    -
    -  pino-std-serializers@3.2.0:
    -    resolution: {integrity: sha512-EqX4pwDPrt3MuOAAUBMU0Tk5kR/YcCM5fNPEzgCO2zJ5HfX0vbiH9HbJglnyeQsN96Kznae6MWD47pZB5avTrg==}
    -
    -  pino-std-serializers@6.2.2:
    -    resolution: {integrity: sha512-cHjPPsE+vhj/tnhCy/wiMh3M3z3h/j15zHQX+S9GkTBgqJuTuJzYJ4gUyACLhDaJ7kk9ba9iRDmbH2tJU03OiA==}
    -
    -  pino@6.14.0:
    -    resolution: {integrity: sha512-iuhEDel3Z3hF9Jfe44DPXR8l07bhjuFY3GMHIXbjnY9XcafbyDDwl2sN2vw2GjMPf5Nkoe+OFao7ffn9SXaKDg==}
    -    hasBin: true
    -
    -  pino@8.20.0:
    -    resolution: {integrity: sha512-uhIfMj5TVp+WynVASaVEJFTncTUe4dHBq6CWplu/vBgvGHhvBvQfxz+vcOrnnBQdORH3izaGEurLfNlq3YxdFQ==}
    -    hasBin: true
    -
    -  pirates@4.0.6:
    -    resolution: {integrity: sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==}
    -    engines: {node: '>= 6'}
    -
    -  pixelmatch@5.3.0:
    -    resolution: {integrity: sha512-o8mkY4E/+LNUf6LzX96ht6k6CEDi65k9G2rjMtBe9Oo+VPKSvl+0GKHuH/AlG+GA5LPG/i5hrekkxUc3s2HU+Q==}
    -    hasBin: true
    -
    -  pkg-dir@3.0.0:
    -    resolution: {integrity: sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==}
    -    engines: {node: '>=6'}
    -
    -  pkg-dir@4.2.0:
    -    resolution: {integrity: sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==}
    -    engines: {node: '>=8'}
    -
    -  pkg-dir@7.0.0:
    -    resolution: {integrity: sha512-Ie9z/WINcxxLp27BKOCHGde4ITq9UklYKDzVo1nhk5sqGEXU3FpkwP5GM2voTGJkGd9B3Otl+Q4uwSOeSUtOBA==}
    -    engines: {node: '>=14.16'}
    -
    -  pkg-types@1.1.0:
    -    resolution: {integrity: sha512-/RpmvKdxKf8uILTtoOhAgf30wYbP2Qw+L9p3Rvshx1JZVX+XQNZQFjlbmGHEGIm4CkVPlSn+NXmIM8+9oWQaSA==}
    -
    -  plist@3.1.0:
    -    resolution: {integrity: sha512-uysumyrvkUX0rX/dEVqt8gC3sTBzd4zoWfLeS29nb53imdaXVvLINYXTI2GNqzaMuvacNx4uJQ8+b3zXR0pkgQ==}
    -    engines: {node: '>=10.4.0'}
    -
    -  pluralize@8.0.0:
    -    resolution: {integrity: sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA==}
    -    engines: {node: '>=4'}
    -
    -  png-async@0.9.4:
    -    resolution: {integrity: sha512-B//AXX9TkneKfgtOpT1mdUnnhk2BImGD+a98vImsMU8uo1dBeHyW/kM2erWZ/CsYteTPU/xKG+t6T62heHkC3A==}
    -
    -  pngjs@3.4.0:
    -    resolution: {integrity: sha512-NCrCHhWmnQklfH4MtJMRjZ2a8c80qXeMlQMv2uVp9ISJMTt562SbGd6n2oq0PaPgKm7Z6pL9E2UlLIhC+SHL3w==}
    -    engines: {node: '>=4.0.0'}
    -
    -  pngjs@6.0.0:
    -    resolution: {integrity: sha512-TRzzuFRRmEoSW/p1KVAmiOgPco2Irlah+bGFCeNfJXxxYGwSw7YwAOAcd7X28K/m5bjBWKsC29KyoMfHbypayg==}
    -    engines: {node: '>=12.13.0'}
    -
    -  pnpm@8.15.8:
    -    resolution: {integrity: sha512-0aAp4aRHrZC8ls1YsPrUhtKZPVMYVjlve6vy2D6xgju4PFo9D8GPZ1stEDIdSesWH+zjb+gTSqWCPs0hX+7Tkg==}
    -    engines: {node: '>=16.14'}
    -    hasBin: true
    -
    -  points-on-curve@0.2.0:
    -    resolution: {integrity: sha512-0mYKnYYe9ZcqMCWhUjItv/oHjvgEsfKvnUTg8sAtnHr3GVy7rGkXCb6d5cSyqrWqL4k81b9CPg3urd+T7aop3A==}
    -
    -  points-on-path@0.2.1:
    -    resolution: {integrity: sha512-25ClnWWuw7JbWZcgqY/gJ4FQWadKxGWk+3kR/7kD0tCaDtPPMj7oHu2ToLaVhfpnHrZzYby2w6tUA0eOIuUg8g==}
    -
    -  possible-typed-array-names@1.0.0:
    -    resolution: {integrity: sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q==}
    -    engines: {node: '>= 0.4'}
    -
    -  postcss-import@15.1.0:
    -    resolution: {integrity: sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==}
    -    engines: {node: '>=14.0.0'}
    -    peerDependencies:
    -      postcss: ^8.0.0
    -
    -  postcss-js@4.0.1:
    -    resolution: {integrity: sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==}
    -    engines: {node: ^12 || ^14 || >= 16}
    -    peerDependencies:
    -      postcss: ^8.4.21
    -
    -  postcss-load-config@4.0.2:
    -    resolution: {integrity: sha512-bSVhyJGL00wMVoPUzAVAnbEoWyqRxkjv64tUl427SKnPrENtq6hJwUojroMz2VB+Q1edmi4IfrAPpami5VVgMQ==}
    -    engines: {node: '>= 14'}
    -    peerDependencies:
    -      postcss: '>=8.0.9'
    -      ts-node: '>=9.0.0'
    -    peerDependenciesMeta:
    -      postcss:
    -        optional: true
    -      ts-node:
    -        optional: true
    -
    -  postcss-nested@6.0.1:
    -    resolution: {integrity: sha512-mEp4xPMi5bSWiMbsgoPfcP74lsWLHkQbZc3sY+jWYd65CUwXrUaTp0fmNpa01ZcETKlIgUdFN/MpS2xZtqL9dQ==}
    -    engines: {node: '>=12.0'}
    -    peerDependencies:
    -      postcss: ^8.2.14
    -
    -  postcss-selector-parser@6.0.16:
    -    resolution: {integrity: sha512-A0RVJrX+IUkVZbW3ClroRWurercFhieevHB38sr2+l9eUClMqome3LmEmnhlNy+5Mr2EYN6B2Kaw9wYdd+VHiw==}
    -    engines: {node: '>=4'}
    -
    -  postcss-value-parser@4.2.0:
    -    resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==}
    -
    -  postcss@8.4.38:
    -    resolution: {integrity: sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A==}
    -    engines: {node: ^10 || ^12 || >=14}
    -
    -  preact@10.21.0:
    -    resolution: {integrity: sha512-aQAIxtzWEwH8ou+OovWVSVNlFImL7xUCwJX3YMqA3U8iKCNC34999fFOnWjYNsylgfPgMexpbk7WYOLtKr/mxg==}
    -
    -  prelude-ls@1.2.1:
    -    resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==}
    -    engines: {node: '>= 0.8.0'}
    -
    -  prettier-plugin-jsdoc@1.3.0:
    -    resolution: {integrity: sha512-cQm8xIa0fN9ieJFMXACQd6JPycl+8ouOijAqUqu44EF/s4fXL3Wi9sKXuEaodsEWgCN42Xby/bNhqgM1iWx4uw==}
    -    engines: {node: '>=14.13.1 || >=16.0.0'}
    -    peerDependencies:
    -      prettier: ^3.0.0
    -
    -  prettier@2.8.8:
    -    resolution: {integrity: sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==}
    -    engines: {node: '>=10.13.0'}
    -    hasBin: true
    -
    -  prettier@3.2.5:
    -    resolution: {integrity: sha512-3/GWa9aOC0YeD7LUfvOG2NiDyhOWRvt1k+rcKhOuYnMY24iiCphgneUfJDyFXd6rZCAnuLBv6UeAULtrhT/F4A==}
    -    engines: {node: '>=14'}
    -    hasBin: true
    -
    -  pretty-bytes@5.6.0:
    -    resolution: {integrity: sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg==}
    -    engines: {node: '>=6'}
    -
    -  pretty-bytes@6.1.1:
    -    resolution: {integrity: sha512-mQUvGU6aUFQ+rNvTIAcZuWGRT9a6f6Yrg9bHs4ImKF+HZCEK+plBvnAZYSIQztknZF2qnzNtr6F8s0+IuptdlQ==}
    -    engines: {node: ^14.13.1 || >=16.0.0}
    -
    -  pretty-format@29.7.0:
    -    resolution: {integrity: sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==}
    -    engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
    -
    -  process-nextick-args@2.0.1:
    -    resolution: {integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==}
    -
    -  process-on-spawn@1.0.0:
    -    resolution: {integrity: sha512-1WsPDsUSMmZH5LeMLegqkPDrsGgsWwk1Exipy2hvB0o/F0ASzbpIctSCcZIK1ykJvtTJULEH+20WOFjMvGnCTg==}
    -    engines: {node: '>=8'}
    -
    -  process-warning@1.0.0:
    -    resolution: {integrity: sha512-du4wfLyj4yCZq1VupnVSZmRsPJsNuxoDQFdCFHLaYiEbFBD7QE0a+I4D7hOxrVnh78QE/YipFAj9lXHiXocV+Q==}
    -
    -  process-warning@3.0.0:
    -    resolution: {integrity: sha512-mqn0kFRl0EoqhnL0GQ0veqFHyIN1yig9RHh/InzORTUiZHFRAur+aMtRkELNwGs9aNwKS6tg/An4NYBPGwvtzQ==}
    -
    -  process@0.11.10:
    -    resolution: {integrity: sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==}
    -    engines: {node: '>= 0.6.0'}
    -
    -  prompts@2.4.2:
    -    resolution: {integrity: sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==}
    -    engines: {node: '>= 6'}
    -
    -  proxy-addr@2.0.7:
    -    resolution: {integrity: sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==}
    -    engines: {node: '>= 0.10'}
    -
    -  proxy-from-env@1.0.0:
    -    resolution: {integrity: sha512-F2JHgJQ1iqwnHDcQjVBsq3n/uoaFL+iPW/eAeL7kVxy/2RrWaN4WroKjjvbsoRtv0ftelNyC01bjRhn/bhcf4A==}
    -
    -  proxy-from-env@1.1.0:
    -    resolution: {integrity: sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==}
    -
    -  ps-tree@1.2.0:
    -    resolution: {integrity: sha512-0VnamPPYHl4uaU/nSFeZZpR21QAWRz+sRv4iW9+v/GS/J5U5iZB5BNN6J0RMoOvdx2gWM2+ZFMIm58q24e4UYA==}
    -    engines: {node: '>= 0.10'}
    -    hasBin: true
    -
    -  psl@1.9.0:
    -    resolution: {integrity: sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==}
    -
    -  pump@3.0.0:
    -    resolution: {integrity: sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==}
    -
    -  punycode@2.3.1:
    -    resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==}
    -    engines: {node: '>=6'}
    -
    -  pure-rand@6.0.4:
    -    resolution: {integrity: sha512-LA0Y9kxMYv47GIPJy6MI84fqTd2HmYZI83W/kM/SkKfDlajnZYfmXFTxkbY+xSBPkLJxltMa9hIkmdc29eguMA==}
    -
    -  qs@6.10.4:
    -    resolution: {integrity: sha512-OQiU+C+Ds5qiH91qh/mg0w+8nwQuLjM4F4M/PbmhDOoYehPh+Fb0bDjtR1sOvy7YKxvj28Y/M0PhP5uVX0kB+g==}
    -    engines: {node: '>=0.6'}
    -
    -  qs@6.11.0:
    -    resolution: {integrity: sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==}
    -    engines: {node: '>=0.6'}
    -
    -  querystringify@2.2.0:
    -    resolution: {integrity: sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==}
    -
    -  queue-microtask@1.2.3:
    -    resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==}
    -
    -  quick-format-unescaped@4.0.4:
    -    resolution: {integrity: sha512-tYC1Q1hgyRuHgloV/YXs2w15unPVh8qfu/qCTfhTYamaw7fyhumKa2yGpdSo87vY32rIclj+4fWYQXUMs9EHvg==}
    -
    -  quick-lru@5.1.1:
    -    resolution: {integrity: sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==}
    -    engines: {node: '>=10'}
    -
    -  railroad-diagrams@1.0.0:
    -    resolution: {integrity: sha512-cz93DjNeLY0idrCNOH6PviZGRN9GJhsdm9hpn1YCS879fj4W+x5IFJhhkRZcwVgMmFF7R82UA/7Oh+R8lLZg6A==}
    -
    -  ramda@0.28.0:
    -    resolution: {integrity: sha512-9QnLuG/kPVgWvMQ4aODhsBUFKOUmnbUnsSXACv+NCQZcHbeb+v8Lodp8OVxtRULN1/xOyYLLaL6npE6dMq5QTA==}
    -
    -  randombytes@2.1.0:
    -    resolution: {integrity: sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==}
    -
    -  range-parser@1.2.1:
    -    resolution: {integrity: sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==}
    -    engines: {node: '>= 0.6'}
    -
    -  raw-body@2.5.2:
    -    resolution: {integrity: sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==}
    -    engines: {node: '>= 0.8'}
    -
    -  react-is@18.2.0:
    -    resolution: {integrity: sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==}
    -
    -  read-cache@1.0.0:
    -    resolution: {integrity: sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==}
    -
    -  read-pkg-up@7.0.1:
    -    resolution: {integrity: sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==}
    -    engines: {node: '>=8'}
    -
    -  read-pkg@5.2.0:
    -    resolution: {integrity: sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==}
    -    engines: {node: '>=8'}
    -
    -  readable-stream@2.3.8:
    -    resolution: {integrity: sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==}
    -
    -  readable-stream@3.6.2:
    -    resolution: {integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==}
    -    engines: {node: '>= 6'}
    -
    -  readable-stream@4.5.2:
    -    resolution: {integrity: sha512-yjavECdqeZ3GLXNgRXgeQEdz9fvDDkNKyHnbHRFtOr7/LcfgBcmct7t/ET+HaCTqfh06OzoAxrkN/IfjJBVe+g==}
    -    engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
    -
    -  readdirp@3.6.0:
    -    resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==}
    -    engines: {node: '>=8.10.0'}
    -
    -  real-require@0.2.0:
    -    resolution: {integrity: sha512-57frrGM/OCTLqLOAh0mhVA9VBMHd+9U7Zb2THMGdBUoZVOtGbJzjxsYGDJ3A9AYYCP4hn6y1TVbaOfzWtm5GFg==}
    -    engines: {node: '>= 12.13.0'}
    -
    -  rechoir@0.7.1:
    -    resolution: {integrity: sha512-/njmZ8s1wVeR6pjTZ+0nCnv8SpZNRMT2D1RLOJQESlYFDBvwpTA4KWJpZ+sBJ4+vhjILRcK7JIFdGCdxEAAitg==}
    -    engines: {node: '>= 0.10'}
    -
    -  regenerate-unicode-properties@10.1.1:
    -    resolution: {integrity: sha512-X007RyZLsCJVVrjgEFVpLUTZwyOZk3oiL75ZcuYjlIWd6rNJtOjkBwQc5AsRrpbKVkxN6sklw/k/9m2jJYOf8Q==}
    -    engines: {node: '>=4'}
    -
    -  regenerate@1.4.2:
    -    resolution: {integrity: sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==}
    -
    -  regenerator-runtime@0.14.1:
    -    resolution: {integrity: sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==}
    -
    -  regenerator-transform@0.15.2:
    -    resolution: {integrity: sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg==}
    -
    -  regexp-tree@0.1.27:
    -    resolution: {integrity: sha512-iETxpjK6YoRWJG5o6hXLwvjYAoW+FEZn9os0PD/b6AP6xQwsa/Y7lCVgIixBbUPMfhu+i2LtdeAqVTgGlQarfA==}
    -    hasBin: true
    -
    -  regexp.prototype.flags@1.5.2:
    -    resolution: {integrity: sha512-NcDiDkTLuPR+++OCKB0nWafEmhg/Da8aUPLPMQbK+bxKKCm1/S5he+AqYa4PlMCVBalb4/yxIRub6qkEx5yJbw==}
    -    engines: {node: '>= 0.4'}
    -
    -  regexpu-core@5.3.2:
    -    resolution: {integrity: sha512-RAM5FlZz+Lhmo7db9L298p2vHP5ZywrVXmVXpmAD9GuL5MPH6t9ROw1iA/wfHkQ76Qe7AaPF0nGuim96/IrQMQ==}
    -    engines: {node: '>=4'}
    -
    -  regjsparser@0.10.0:
    -    resolution: {integrity: sha512-qx+xQGZVsy55CH0a1hiVwHmqjLryfh7wQyF5HO07XJ9f7dQMY/gPQHhlyDkIzJKC+x2fUCpCcUODUUUFrm7SHA==}
    -    hasBin: true
    -
    -  regjsparser@0.9.1:
    -    resolution: {integrity: sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==}
    -    hasBin: true
    -
    -  release-zalgo@1.0.0:
    -    resolution: {integrity: sha512-gUAyHVHPPC5wdqX/LG4LWtRYtgjxyX78oanFNTMMyFEfOqdC54s3eE82imuWKbOeqYht2CrNf64Qb8vgmmtZGA==}
    -    engines: {node: '>=4'}
    -
    -  remark-frontmatter@5.0.0:
    -    resolution: {integrity: sha512-XTFYvNASMe5iPN0719nPrdItC9aU0ssC4v14mH1BCi1u0n1gAocqcujWUrByftZTbLhRtiKRyjYTSIOcr69UVQ==}
    -
    -  remark-gfm@4.0.0:
    -    resolution: {integrity: sha512-U92vJgBPkbw4Zfu/IiW2oTZLSL3Zpv+uI7My2eq8JxKgqraFdU8YUGicEJCEgSbeaG+QDFqIcwwfMTOEelPxuA==}
    -
    -  remark-parse@11.0.0:
    -    resolution: {integrity: sha512-FCxlKLNGknS5ba/1lmpYijMUzX2esxW5xQqjWxw2eHFfS2MSdaHVINFmhjo+qN1WhZhNimq0dZATN9pH0IDrpA==}
    -
    -  remark-stringify@11.0.0:
    -    resolution: {integrity: sha512-1OSmLd3awB/t8qdoEOMazZkNsfVTeY4fTsgzcQFdXNq8ToTN4ZGwrMnlda4K6smTFKD+GRV6O48i6Z4iKgPPpw==}
    -
    -  remark@15.0.1:
    -    resolution: {integrity: sha512-Eht5w30ruCXgFmxVUSlNWQ9iiimq07URKeFS3hNc8cUWy1llX4KDWfyEDZRycMc+znsN9Ux5/tJ/BFdgdOwA3A==}
    -
    -  repeat-string@1.6.1:
    -    resolution: {integrity: sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w==}
    -    engines: {node: '>=0.10'}
    -
    -  request-progress@3.0.0:
    -    resolution: {integrity: sha512-MnWzEHHaxHO2iWiQuHrUPBi/1WeBf5PkxQqNyNvLl9VAYSdXkP8tQ3pBSeCPD+yw0v0Aq1zosWLz0BdeXpWwZg==}
    -
    -  require-directory@2.1.1:
    -    resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==}
    -    engines: {node: '>=0.10.0'}
    -
    -  require-from-string@2.0.2:
    -    resolution: {integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==}
    -    engines: {node: '>=0.10.0'}
    -
    -  require-main-filename@2.0.0:
    -    resolution: {integrity: sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==}
    -
    -  requires-port@1.0.0:
    -    resolution: {integrity: sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==}
    -
    -  resolve-alpn@1.2.1:
    -    resolution: {integrity: sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g==}
    -
    -  resolve-cwd@3.0.0:
    -    resolution: {integrity: sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==}
    -    engines: {node: '>=8'}
    -
    -  resolve-from@4.0.0:
    -    resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==}
    -    engines: {node: '>=4'}
    -
    -  resolve-from@5.0.0:
    -    resolution: {integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==}
    -    engines: {node: '>=8'}
    -
    -  resolve-pkg-maps@1.0.0:
    -    resolution: {integrity: sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==}
    -
    -  resolve.exports@2.0.2:
    -    resolution: {integrity: sha512-X2UW6Nw3n/aMgDVy+0rSqgHlv39WZAlZrXCdnbyEiKm17DSqHX4MmQMaST3FbeWR5FTuRcUwYAziZajji0Y7mg==}
    -    engines: {node: '>=10'}
    -
    -  resolve@1.19.0:
    -    resolution: {integrity: sha512-rArEXAgsBG4UgRGcynxWIWKFvh/XZCcS8UJdHhwy91zwAvCZIbcs+vAbflgBnNjYMs/i/i+/Ux6IZhML1yPvxg==}
    -
    -  resolve@1.22.4:
    -    resolution: {integrity: sha512-PXNdCiPqDqeUou+w1C2eTQbNfxKSuMxqTCuvlmmMsk1NWHL5fRrhY6Pl0qEYYc6+QqGClco1Qj8XnjPego4wfg==}
    -    hasBin: true
    -
    -  resolve@1.22.8:
    -    resolution: {integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==}
    -    hasBin: true
    -
    -  responselike@2.0.1:
    -    resolution: {integrity: sha512-4gl03wn3hj1HP3yzgdI7d3lCkF95F21Pz4BPGvKHinyQzALR5CapwC8yIi0Rh58DEMQ/SguC03wFj2k0M/mHhw==}
    -
    -  restore-cursor@3.1.0:
    -    resolution: {integrity: sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==}
    -    engines: {node: '>=8'}
    -
    -  restore-cursor@4.0.0:
    -    resolution: {integrity: sha512-I9fPXU9geO9bHOt9pHHOhOkYerIMsmVaWB0rA2AI9ERh/+x/i7MV5HKBNrg+ljO5eoPVgCcnFuRjJ9uH6I/3eg==}
    -    engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
    -
    -  ret@0.2.2:
    -    resolution: {integrity: sha512-M0b3YWQs7R3Z917WRQy1HHA7Ba7D8hvZg6UE5mLykJxQVE2ju0IXbGlaHPPlkY+WN7wFP+wUMXmBFA0aV6vYGQ==}
    -    engines: {node: '>=4'}
    -
    -  retry@0.13.1:
    -    resolution: {integrity: sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==}
    -    engines: {node: '>= 4'}
    -
    -  reusify@1.0.4:
    -    resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==}
    -    engines: {iojs: '>=1.0.0', node: '>=0.10.0'}
    -
    -  rfdc@1.3.1:
    -    resolution: {integrity: sha512-r5a3l5HzYlIC68TpmYKlxWjmOP6wiPJ1vWv2HeLhNsRZMrCkxeqxiHlQ21oXmQ4F3SiryXBHhAD7JZqvOJjFmg==}
    -
    -  rimraf@2.7.1:
    -    resolution: {integrity: sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==}
    -    hasBin: true
    -
    -  rimraf@3.0.2:
    -    resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==}
    -    hasBin: true
    -
    -  rimraf@5.0.5:
    -    resolution: {integrity: sha512-CqDakW+hMe/Bz202FPEymy68P+G50RfMQK+Qo5YUqc9SPipvbGjCGKd0RSKEelbsfQuw3g5NZDSrlZZAJurH1A==}
    -    engines: {node: '>=14'}
    -    hasBin: true
    -
    -  robust-predicates@3.0.2:
    -    resolution: {integrity: sha512-IXgzBWvWQwE6PrDI05OvmXUIruQTcoMDzRsOd5CDvHCVLcLHMTSYvOK5Cm46kWqlV3yAbuSpBZdJ5oP5OUoStg==}
    -
    -  rollup-plugin-visualizer@5.12.0:
    -    resolution: {integrity: sha512-8/NU9jXcHRs7Nnj07PF2o4gjxmm9lXIrZ8r175bT9dK8qoLlvKTwRMArRCMgpMGlq8CTLugRvEmyMeMXIU2pNQ==}
    -    engines: {node: '>=14'}
    -    hasBin: true
    -    peerDependencies:
    -      rollup: 2.x || 3.x || 4.x
    -    peerDependenciesMeta:
    -      rollup:
    -        optional: true
    -
    -  rollup@2.79.1:
    -    resolution: {integrity: sha512-uKxbd0IhMZOhjAiD5oAFp7BqvkA4Dv47qpOCtaNvng4HBwdbWtdOh8f5nZNuk2rp51PMGk3bzfWu5oayNEuYnw==}
    -    engines: {node: '>=10.0.0'}
    -    hasBin: true
    -
    -  rollup@3.29.4:
    -    resolution: {integrity: sha512-oWzmBZwvYrU0iJHtDmhsm662rC15FRXmcjCk1xD771dFDx5jJ02ufAQQTn0etB2emNk4J9EZg/yWKpsn9BWGRw==}
    -    engines: {node: '>=14.18.0', npm: '>=8.0.0'}
    -    hasBin: true
    -
    -  rollup@4.17.2:
    -    resolution: {integrity: sha512-/9ClTJPByC0U4zNLowV1tMBe8yMEAxewtR3cUNX5BoEpGH3dQEWpJLr6CLp0fPdYRF/fzVOgvDb1zXuakwF5kQ==}
    -    engines: {node: '>=18.0.0', npm: '>=8.0.0'}
    -    hasBin: true
    -
    -  roughjs@4.6.6:
    -    resolution: {integrity: sha512-ZUz/69+SYpFN/g/lUlo2FXcIjRkSu3nDarreVdGGndHEBJ6cXPdKguS8JGxwj5HA5xIbVKSmLgr5b3AWxtRfvQ==}
    -
    -  rrweb-cssom@0.6.0:
    -    resolution: {integrity: sha512-APM0Gt1KoXBz0iIkkdB/kfvGOwC4UuJFeG/c+yV7wSc7q96cG/kJ0HiYCnzivD9SB53cLV1MlHFNfOuPaadYSw==}
    -
    -  run-parallel@1.2.0:
    -    resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==}
    -
    -  rw@1.3.3:
    -    resolution: {integrity: sha512-PdhdWy89SiZogBLaw42zdeqtRJ//zFd2PgQavcICDUgJT5oW10QCRKbJ6bg4r0/UY2M6BWd5tkxuGFRvCkgfHQ==}
    -
    -  rxjs@7.8.1:
    -    resolution: {integrity: sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==}
    -
    -  safe-array-concat@1.1.2:
    -    resolution: {integrity: sha512-vj6RsCsWBCf19jIeHEfkRMw8DPiBb+DMXklQ/1SGDHOMlHdPUkZXFQ2YdplS23zESTijAcurb1aSgJA3AgMu1Q==}
    -    engines: {node: '>=0.4'}
    -
    -  safe-buffer@5.1.2:
    -    resolution: {integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==}
    -
    -  safe-buffer@5.2.1:
    -    resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==}
    -
    -  safe-regex-test@1.0.3:
    -    resolution: {integrity: sha512-CdASjNJPvRa7roO6Ra/gLYBTzYzzPyyBXxIMdGW3USQLyjWEls2RgW5UBTXaQVp+OrpeCK3bLem8smtmheoRuw==}
    -    engines: {node: '>= 0.4'}
    -
    -  safe-regex2@2.0.0:
    -    resolution: {integrity: sha512-PaUSFsUaNNuKwkBijoAPHAK6/eM6VirvyPWlZ7BAQy4D+hCvh4B6lIG+nPdhbFfIbP+gTGBcrdsOaUs0F+ZBOQ==}
    -
    -  safe-stable-stringify@2.4.3:
    -    resolution: {integrity: sha512-e2bDA2WJT0wxseVd4lsDP4+3ONX6HpMXQa1ZhFQ7SU+GjvORCmShbCMltrtIDfkYhVHrOcPtj+KhmDBdPdZD1g==}
    -    engines: {node: '>=10'}
    -
    -  safer-buffer@2.1.2:
    -    resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==}
    -
    -  saxes@6.0.0:
    -    resolution: {integrity: sha512-xAg7SOnEhrm5zI3puOOKyy1OMcMlIJZYNJY7xLBwSze0UjhPLnWfj2GF2EpT0jmzaJKIWKHLsaSSajf35bcYnA==}
    -    engines: {node: '>=v12.22.7'}
    -
    -  schema-utils@3.3.0:
    -    resolution: {integrity: sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==}
    -    engines: {node: '>= 10.13.0'}
    -
    -  schema-utils@4.2.0:
    -    resolution: {integrity: sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw==}
    -    engines: {node: '>= 12.13.0'}
    -
    -  search-insights@2.13.0:
    -    resolution: {integrity: sha512-Orrsjf9trHHxFRuo9/rzm0KIWmgzE8RMlZMzuhZOJ01Rnz3D0YBAe+V6473t6/H6c7irs6Lt48brULAiRWb3Vw==}
    -
    -  secure-json-parse@2.7.0:
    -    resolution: {integrity: sha512-6aU+Rwsezw7VR8/nyvKTx8QpWH9FrcYiXXlqC4z5d5XQBDRqtbfsRjnwGyqbi3gddNtWHuEk9OANUotL26qKUw==}
    -
    -  select-hose@2.0.0:
    -    resolution: {integrity: sha512-mEugaLK+YfkijB4fx0e6kImuJdCIt2LxCRcbEYPqRGCs4F2ogyfZU5IAZRdjCP8JPq2AtdNoC/Dux63d9Kiryg==}
    -
    -  selfsigned@2.1.1:
    -    resolution: {integrity: sha512-GSL3aowiF7wa/WtSFwnUrludWFoNhftq8bUkH9pkzjpN2XSPOAYEgg6e0sS9s0rZwgJzJiQRPU18A6clnoW5wQ==}
    -    engines: {node: '>=10'}
    -
    -  semver-store@0.3.0:
    -    resolution: {integrity: sha512-TcZvGMMy9vodEFSse30lWinkj+JgOBvPn8wRItpQRSayhc+4ssDs335uklkfvQQJgL/WvmHLVj4Ycv2s7QCQMg==}
    -
    -  semver@5.7.2:
    -    resolution: {integrity: sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==}
    -    hasBin: true
    -
    -  semver@6.3.1:
    -    resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==}
    -    hasBin: true
    -
    -  semver@7.5.4:
    -    resolution: {integrity: sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==}
    -    engines: {node: '>=10'}
    -    hasBin: true
    -
    -  semver@7.6.0:
    -    resolution: {integrity: sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==}
    -    engines: {node: '>=10'}
    -    hasBin: true
    -
    -  send@0.18.0:
    -    resolution: {integrity: sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==}
    -    engines: {node: '>= 0.8.0'}
    -
    -  serialize-javascript@6.0.2:
    -    resolution: {integrity: sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==}
    -
    -  serve-index@1.9.1:
    -    resolution: {integrity: sha512-pXHfKNP4qujrtteMrSBb0rc8HJ9Ms/GrXwcUtUtD5s4ewDJI8bT3Cz2zTVRMKtri49pLx2e0Ya8ziP5Ya2pZZw==}
    -    engines: {node: '>= 0.8.0'}
    -
    -  serve-static@1.15.0:
    -    resolution: {integrity: sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==}
    -    engines: {node: '>= 0.8.0'}
    -
    -  set-blocking@2.0.0:
    -    resolution: {integrity: sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==}
    -
    -  set-cookie-parser@2.6.0:
    -    resolution: {integrity: sha512-RVnVQxTXuerk653XfuliOxBP81Sf0+qfQE73LIYKcyMYHG94AuH0kgrQpRDuTZnSmjpysHmzxJXKNfa6PjFhyQ==}
    -
    -  set-function-length@1.2.2:
    -    resolution: {integrity: sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==}
    -    engines: {node: '>= 0.4'}
    -
    -  set-function-name@2.0.2:
    -    resolution: {integrity: sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==}
    -    engines: {node: '>= 0.4'}
    -
    -  setprototypeof@1.1.0:
    -    resolution: {integrity: sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==}
    -
    -  setprototypeof@1.2.0:
    -    resolution: {integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==}
    -
    -  shallow-clone@3.0.1:
    -    resolution: {integrity: sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==}
    -    engines: {node: '>=8'}
    -
    -  shebang-command@1.2.0:
    -    resolution: {integrity: sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==}
    -    engines: {node: '>=0.10.0'}
    -
    -  shebang-command@2.0.0:
    -    resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==}
    -    engines: {node: '>=8'}
    -
    -  shebang-regex@1.0.0:
    -    resolution: {integrity: sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==}
    -    engines: {node: '>=0.10.0'}
    -
    -  shebang-regex@3.0.0:
    -    resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==}
    -    engines: {node: '>=8'}
    -
    -  shell-quote@1.8.1:
    -    resolution: {integrity: sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA==}
    -
    -  shiki@0.14.7:
    -    resolution: {integrity: sha512-dNPAPrxSc87ua2sKJ3H5dQ/6ZaY8RNnaAqK+t0eG7p0Soi2ydiqbGOTaZCqaYvA/uZYfS1LJnemt3Q+mSfcPCg==}
    -
    -  shiki@1.4.0:
    -    resolution: {integrity: sha512-5WIn0OL8PWm7JhnTwRWXniy6eEDY234mRrERVlFa646V2ErQqwIFd2UML7e0Pq9eqSKLoMa3Ke+xbsF+DAuy+Q==}
    -
    -  shikiji-core@0.9.19:
    -    resolution: {integrity: sha512-AFJu/vcNT21t0e6YrfadZ+9q86gvPum6iywRyt1OtIPjPFe25RQnYJyxHQPMLKCCWA992TPxmEmbNcOZCAJclw==}
    -
    -  shikiji-transformers@0.9.19:
    -    resolution: {integrity: sha512-lGLI7Z8frQrIBbhZ74/eiJtxMoCQRbpaHEB+gcfvdIy+ZFaAtXncJGnc52932/UET+Y4GyKtwwC/vjWUCp+c/Q==}
    -
    -  shikiji@0.9.19:
    -    resolution: {integrity: sha512-Kw2NHWktdcdypCj1GkKpXH4o6Vxz8B8TykPlPuLHOGSV8VkhoCLcFOH4k19K4LXAQYRQmxg+0X/eM+m2sLhAkg==}
    -
    -  side-channel@1.0.6:
    -    resolution: {integrity: sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==}
    -    engines: {node: '>= 0.4'}
    -
    -  siginfo@2.0.0:
    -    resolution: {integrity: sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==}
    -
    -  signal-exit@3.0.7:
    -    resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==}
    -
    -  signal-exit@4.1.0:
    -    resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==}
    -    engines: {node: '>=14'}
    -
    -  simple-swizzle@0.2.2:
    -    resolution: {integrity: sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg==}
    -
    -  sirv@2.0.4:
    -    resolution: {integrity: sha512-94Bdh3cC2PKrbgSOUqTiGPWVZeSiXfKOVZNJniWoqrWrRkB1CJzBU3NEbiTsPcYy1lDsANA/THzS+9WBiy5nfQ==}
    -    engines: {node: '>= 10'}
    -
    -  sisteransi@1.0.5:
    -    resolution: {integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==}
    -
    -  slash@3.0.0:
    -    resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==}
    -    engines: {node: '>=8'}
    -
    -  slash@4.0.0:
    -    resolution: {integrity: sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==}
    -    engines: {node: '>=12'}
    -
    -  slash@5.1.0:
    -    resolution: {integrity: sha512-ZA6oR3T/pEyuqwMgAKT0/hAv8oAXckzbkmR0UkUosQ+Mc4RxGoJkRmwHgHufaenlyAgE1Mxgpdcrf75y6XcnDg==}
    -    engines: {node: '>=14.16'}
    -
    -  slice-ansi@3.0.0:
    -    resolution: {integrity: sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ==}
    -    engines: {node: '>=8'}
    -
    -  slice-ansi@4.0.0:
    -    resolution: {integrity: sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==}
    -    engines: {node: '>=10'}
    -
    -  slice-ansi@5.0.0:
    -    resolution: {integrity: sha512-FC+lgizVPfie0kkhqUScwRu1O/lF6NOgJmlCgK+/LYxDCTk8sGelYaHDhFcDN+Sn3Cv+3VSa4Byeo+IMCzpMgQ==}
    -    engines: {node: '>=12'}
    -
    -  slice-ansi@7.1.0:
    -    resolution: {integrity: sha512-bSiSngZ/jWeX93BqeIAbImyTbEihizcwNjFoRUIY/T1wWQsfsm2Vw1agPKylXvQTU7iASGdHhyqRlqQzfz+Htg==}
    -    engines: {node: '>=18'}
    -
    -  smob@1.5.0:
    -    resolution: {integrity: sha512-g6T+p7QO8npa+/hNx9ohv1E5pVCmWrVCUzUXJyLdMmftX6ER0oiWY/w9knEonLpnOp6b6FenKnMfR8gqwWdwig==}
    -
    -  sockjs@0.3.24:
    -    resolution: {integrity: sha512-GJgLTZ7vYb/JtPSSZ10hsOYIvEYsjbNU+zPdIHcUaWVNUEPivzxku31865sSSud0Da0W4lEeOPlmw93zLQchuQ==}
    -
    -  sonic-boom@1.4.1:
    -    resolution: {integrity: sha512-LRHh/A8tpW7ru89lrlkU4AszXt1dbwSjVWguGrmlxE7tawVmDBlI1PILMkXAxJTwqhgsEeTHzj36D5CmHgQmNg==}
    -
    -  sonic-boom@3.8.1:
    -    resolution: {integrity: sha512-y4Z8LCDBuum+PBP3lSV7RHrXscqksve/bi0as7mhwVnBW+/wUqKT/2Kb7um8yqcFy0duYbbPxzt89Zy2nOCaxg==}
    -
    -  source-map-js@1.0.1:
    -    resolution: {integrity: sha512-4+TN2b3tqOCd/kaGRJ/sTYA0tR0mdXx26ipdolxcwtJVqEnqNYvlCAt1q3ypy4QMlYus+Zh34RNtYLoq2oQ4IA==}
    -    engines: {node: '>=0.10.0'}
    -
    -  source-map-js@1.0.2:
    -    resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==}
    -    engines: {node: '>=0.10.0'}
    -
    -  source-map-js@1.2.0:
    -    resolution: {integrity: sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==}
    -    engines: {node: '>=0.10.0'}
    -
    -  source-map-support@0.5.13:
    -    resolution: {integrity: sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==}
    -
    -  source-map-support@0.5.21:
    -    resolution: {integrity: sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==}
    -
    -  source-map@0.1.43:
    -    resolution: {integrity: sha512-VtCvB9SIQhk3aF6h+N85EaqIaBFIAfZ9Cu+NJHHVvc8BbEcnvDcFw6sqQ2dQrT6SlOrZq3tIvyD9+EGq/lJryQ==}
    -    engines: {node: '>=0.8.0'}
    -
    -  source-map@0.6.1:
    -    resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==}
    -    engines: {node: '>=0.10.0'}
    -
    -  source-map@0.7.4:
    -    resolution: {integrity: sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==}
    -    engines: {node: '>= 8'}
    -
    -  source-map@0.8.0-beta.0:
    -    resolution: {integrity: sha512-2ymg6oRBpebeZi9UUNsgQ89bhx01TcTkmNTGnNO88imTmbSgy4nfujrgVEFKWpMTEGA11EDkTt7mqObTPdigIA==}
    -    engines: {node: '>= 8'}
    -
    -  sourcemap-codec@1.4.8:
    -    resolution: {integrity: sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==}
    -    deprecated: Please use @jridgewell/sourcemap-codec instead
    -
    -  spawn-command@0.0.2:
    -    resolution: {integrity: sha512-zC8zGoGkmc8J9ndvml8Xksr1Amk9qBujgbF0JAIWO7kXr43w0h/0GJNM/Vustixu+YE8N/MTrQ7N31FvHUACxQ==}
    -
    -  spawn-wrap@2.0.0:
    -    resolution: {integrity: sha512-EeajNjfN9zMnULLwhZZQU3GWBoFNkbngTUPfaawT4RkMiviTxcX0qfhVbGey39mfctfDHkWtuecgQ8NJcyQWHg==}
    -    engines: {node: '>=8'}
    -
    -  spdx-correct@3.2.0:
    -    resolution: {integrity: sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==}
    -
    -  spdx-exceptions@2.5.0:
    -    resolution: {integrity: sha512-PiU42r+xO4UbUS1buo3LPJkjlO7430Xn5SVAhdpzzsPHsjbYVflnnFdATgabnLude+Cqu25p6N+g2lw/PFsa4w==}
    -
    -  spdx-expression-parse@3.0.1:
    -    resolution: {integrity: sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==}
    -
    -  spdx-expression-parse@4.0.0:
    -    resolution: {integrity: sha512-Clya5JIij/7C6bRR22+tnGXbc4VKlibKSVj2iHvVeX5iMW7s1SIQlqu699JkODJJIhh/pUu8L0/VLh8xflD+LQ==}
    -
    -  spdx-license-ids@3.0.17:
    -    resolution: {integrity: sha512-sh8PWc/ftMqAAdFiBu6Fy6JUOYjqDJBJvIhpfDMyHrr0Rbp5liZqd4TjtQ/RgfLjKFZb+LMx5hpml5qOWy0qvg==}
    -
    -  spdy-transport@3.0.0:
    -    resolution: {integrity: sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==}
    -
    -  spdy@4.0.2:
    -    resolution: {integrity: sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA==}
    -    engines: {node: '>=6.0.0'}
    -
    -  speakingurl@14.0.1:
    -    resolution: {integrity: sha512-1POYv7uv2gXoyGFpBCmpDVSNV74IfsWlDW216UPjbWufNf+bSU6GdbDsxdcxtfwb4xlI3yxzOTKClUosxARYrQ==}
    -    engines: {node: '>=0.10.0'}
    -
    -  split2@4.2.0:
    -    resolution: {integrity: sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg==}
    -    engines: {node: '>= 10.x'}
    -
    -  split@0.3.3:
    -    resolution: {integrity: sha512-wD2AeVmxXRBoX44wAycgjVpMhvbwdI2aZjCkvfNcH1YqHQvJVa1duWc73OyVGJUc05fhFaTZeQ/PYsrmyH0JVA==}
    -
    -  sprintf-js@1.0.3:
    -    resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==}
    -
    -  sshpk@1.18.0:
    -    resolution: {integrity: sha512-2p2KJZTSqQ/I3+HX42EpYOa2l3f8Erv8MWKsy2I9uf4wA7yFIkXRffYdsx86y6z4vHtV8u7g+pPlr8/4ouAxsQ==}
    -    engines: {node: '>=0.10.0'}
    -    hasBin: true
    -
    -  ssim.js@3.5.0:
    -    resolution: {integrity: sha512-Aj6Jl2z6oDmgYFFbQqK7fght19bXdOxY7Tj03nF+03M9gCBAjeIiO8/PlEGMfKDwYpw4q6iBqVq2YuREorGg/g==}
    -
    -  stack-utils@2.0.6:
    -    resolution: {integrity: sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==}
    -    engines: {node: '>=10'}
    -
    -  stackback@0.0.2:
    -    resolution: {integrity: sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==}
    -
    -  start-server-and-test@2.0.3:
    -    resolution: {integrity: sha512-QsVObjfjFZKJE6CS6bSKNwWZCKBG6975/jKRPPGFfFh+yOQglSeGXiNWjzgQNXdphcBI9nXbyso9tPfX4YAUhg==}
    -    engines: {node: '>=16'}
    -    hasBin: true
    -
    -  statuses@1.5.0:
    -    resolution: {integrity: sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==}
    -    engines: {node: '>= 0.6'}
    -
    -  statuses@2.0.1:
    -    resolution: {integrity: sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==}
    -    engines: {node: '>= 0.8'}
    -
    -  std-env@3.7.0:
    -    resolution: {integrity: sha512-JPbdCEQLj1w5GilpiHAx3qJvFndqybBysA3qUOnznweH4QbNYUsW/ea8QzSrnh0vNsezMMw5bcVool8lM0gwzg==}
    -
    -  stream-combiner@0.0.4:
    -    resolution: {integrity: sha512-rT00SPnTVyRsaSz5zgSPma/aHSOic5U1prhYdRy5HS2kTZviFpmDgzilbtsJsxiroqACmayynDN/9VzIbX5DOw==}
    -
    -  string-argv@0.3.2:
    -    resolution: {integrity: sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q==}
    -    engines: {node: '>=0.6.19'}
    -
    -  string-length@4.0.2:
    -    resolution: {integrity: sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==}
    -    engines: {node: '>=10'}
    -
    -  string-similarity@4.0.4:
    -    resolution: {integrity: sha512-/q/8Q4Bl4ZKAPjj8WerIBJWALKkaPRfrvhfF8k/B23i4nzrlRj2/go1m90In7nG/3XDSbOo0+pu6RvCTM9RGMQ==}
    -    deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.
    -
    -  string-width@4.2.3:
    -    resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==}
    -    engines: {node: '>=8'}
    -
    -  string-width@5.1.2:
    -    resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==}
    -    engines: {node: '>=12'}
    -
    -  string-width@7.1.0:
    -    resolution: {integrity: sha512-SEIJCWiX7Kg4c129n48aDRwLbFb2LJmXXFrWBG4NGaRtMQ3myKPKbwrD1BKqQn74oCoNMBVrfDEr5M9YxCsrkw==}
    -    engines: {node: '>=18'}
    -
    -  string.prototype.matchall@4.0.11:
    -    resolution: {integrity: sha512-NUdh0aDavY2og7IbBPenWqR9exH+E26Sv8e0/eTe1tltDGZL+GtBkDAnnyBtmekfK6/Dq3MkcGtzXFEd1LQrtg==}
    -    engines: {node: '>= 0.4'}
    -
    -  string.prototype.trim@1.2.9:
    -    resolution: {integrity: sha512-klHuCNxiMZ8MlsOihJhJEBJAiMVqU3Z2nEXWfWnIqjN0gEFS9J9+IxKozWWtQGcgoa1WUZzLjKPTr4ZHNFTFxw==}
    -    engines: {node: '>= 0.4'}
    -
    -  string.prototype.trimend@1.0.8:
    -    resolution: {integrity: sha512-p73uL5VCHCO2BZZ6krwwQE3kCzM7NKmis8S//xEC6fQonchbum4eP6kR4DLEjQFO3Wnj3Fuo8NM0kOSjVdHjZQ==}
    -
    -  string.prototype.trimstart@1.0.8:
    -    resolution: {integrity: sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==}
    -    engines: {node: '>= 0.4'}
    -
    -  string_decoder@1.1.1:
    -    resolution: {integrity: sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==}
    -
    -  string_decoder@1.3.0:
    -    resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==}
    -
    -  stringify-object@3.3.0:
    -    resolution: {integrity: sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw==}
    -    engines: {node: '>=4'}
    -
    -  strip-ansi@3.0.1:
    -    resolution: {integrity: sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==}
    -    engines: {node: '>=0.10.0'}
    -
    -  strip-ansi@6.0.1:
    -    resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==}
    -    engines: {node: '>=8'}
    -
    -  strip-ansi@7.1.0:
    -    resolution: {integrity: sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==}
    -    engines: {node: '>=12'}
    -
    -  strip-bom@4.0.0:
    -    resolution: {integrity: sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==}
    -    engines: {node: '>=8'}
    -
    -  strip-comments@2.0.1:
    -    resolution: {integrity: sha512-ZprKx+bBLXv067WTCALv8SSz5l2+XhpYCsVtSqlMnkAXMWDq+/ekVbl1ghqP9rUHTzv6sm/DwCOiYutU/yp1fw==}
    -    engines: {node: '>=10'}
    -
    -  strip-eof@1.0.0:
    -    resolution: {integrity: sha512-7FCwGGmx8mD5xQd3RPUvnSpUXHM3BWuzjtpD4TXsfcZ9EL4azvVVUscFYwD9nx8Kh+uCBC00XBtAykoMHwTh8Q==}
    -    engines: {node: '>=0.10.0'}
    -
    -  strip-final-newline@2.0.0:
    -    resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==}
    -    engines: {node: '>=6'}
    -
    -  strip-final-newline@3.0.0:
    -    resolution: {integrity: sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==}
    -    engines: {node: '>=12'}
    -
    -  strip-indent@3.0.0:
    -    resolution: {integrity: sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==}
    -    engines: {node: '>=8'}
    -
    -  strip-json-comments@3.1.1:
    -    resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==}
    -    engines: {node: '>=8'}
    -
    -  strip-literal@2.1.0:
    -    resolution: {integrity: sha512-Op+UycaUt/8FbN/Z2TWPBLge3jWrP3xj10f3fnYxf052bKuS3EKs1ZQcVGjnEMdsNVAM+plXRdmjrZ/KgG3Skw==}
    -
    -  stylis@4.3.2:
    -    resolution: {integrity: sha512-bhtUjWd/z6ltJiQwg0dUfxEJ+W+jdqQd8TbWLWyeIJHlnsqmGLRFFd8e5mA0AZi/zx90smXRlN66YMTcaSFifg==}
    -
    -  sucrase@3.35.0:
    -    resolution: {integrity: sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA==}
    -    engines: {node: '>=16 || 14 >=14.17'}
    -    hasBin: true
    -
    -  supports-color@2.0.0:
    -    resolution: {integrity: sha512-KKNVtd6pCYgPIKU4cp2733HWYCpplQhddZLBUryaAHou723x+FRzQ5Df824Fj+IyyuiQTRoub4SnIFfIcrp70g==}
    -    engines: {node: '>=0.8.0'}
    -
    -  supports-color@5.5.0:
    -    resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==}
    -    engines: {node: '>=4'}
    -
    -  supports-color@7.2.0:
    -    resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==}
    -    engines: {node: '>=8'}
    -
    -  supports-color@8.1.1:
    -    resolution: {integrity: sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==}
    -    engines: {node: '>=10'}
    -
    -  supports-preserve-symlinks-flag@1.0.0:
    -    resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==}
    -    engines: {node: '>= 0.4'}
    -
    -  symbol-tree@3.2.4:
    -    resolution: {integrity: sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==}
    -
    -  synckit@0.9.0:
    -    resolution: {integrity: sha512-7RnqIMq572L8PeEzKeBINYEJDDxpcH8JEgLwUqBd3TkofhFRbkq4QLR0u+36avGAhCRbk2nnmjcW9SE531hPDg==}
    -    engines: {node: ^14.18.0 || >=16.0.0}
    -
    -  tabbable@6.2.0:
    -    resolution: {integrity: sha512-Cat63mxsVJlzYvN51JmVXIgNoUokrIaT2zLclCXjRd8boZ0004U4KCs/sToJ75C6sdlByWxpYnb5Boif1VSFew==}
    -
    -  tailwindcss@3.4.3:
    -    resolution: {integrity: sha512-U7sxQk/n397Bmx4JHbJx/iSOOv5G+II3f1kpLpY2QeUv5DcPdcTsYLlusZfq1NthHS1c1cZoyFmmkex1rzke0A==}
    -    engines: {node: '>=14.0.0'}
    -    hasBin: true
    -
    -  tapable@2.2.1:
    -    resolution: {integrity: sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==}
    -    engines: {node: '>=6'}
    -
    -  teen_process@1.16.0:
    -    resolution: {integrity: sha512-RnW7HHZD1XuhSTzD3djYOdIl1adE3oNEprE3HOFFxWs5m4FZsqYRhKJ4mDU2udtNGMLUS7jV7l8vVRLWAvmPDw==}
    -    engines: {'0': node}
    -
    -  temp-dir@2.0.0:
    -    resolution: {integrity: sha512-aoBAniQmmwtcKp/7BzsH8Cxzv8OL736p7v1ihGb5e9DJ9kTwGWHrQrVB5+lfVDzfGrdRzXch+ig7LHaY1JTOrg==}
    -    engines: {node: '>=8'}
    -
    -  tempy@0.6.0:
    -    resolution: {integrity: sha512-G13vtMYPT/J8A4X2SjdtBTphZlrp1gKv6hZiOjw14RCWg6GbHuQBGtjlx75xLbYV/wEc0D7G5K4rxKP/cXk8Bw==}
    -    engines: {node: '>=10'}
    -
    -  term-img@4.1.0:
    -    resolution: {integrity: sha512-DFpBhaF5j+2f7kheKFc1ajsAUUDGOaNPpKPtiIMxlbfud6mvfFZuWGnTRpaujUa5J7yl6cIw/h6nyr4mSsENPg==}
    -    engines: {node: '>=8'}
    -
    -  terser-webpack-plugin@5.3.10:
    -    resolution: {integrity: sha512-BKFPWlPDndPs+NGGCr1U59t0XScL5317Y0UReNrHaw9/FwhPENlq6bfgs+4yPfyP51vqC1bQ4rp1EfXW5ZSH9w==}
    -    engines: {node: '>= 10.13.0'}
    -    peerDependencies:
    -      '@swc/core': '*'
    -      esbuild: '*'
    -      uglify-js: '*'
    -      webpack: ^5.1.0
    -    peerDependenciesMeta:
    -      '@swc/core':
    -        optional: true
    -      esbuild:
    -        optional: true
    -      uglify-js:
    -        optional: true
    -
    -  terser@5.29.2:
    -    resolution: {integrity: sha512-ZiGkhUBIM+7LwkNjXYJq8svgkd+QK3UUr0wJqY4MieaezBSAIPgbSPZyIx0idM6XWK5CMzSWa8MJIzmRcB8Caw==}
    -    engines: {node: '>=10'}
    -    hasBin: true
    -
    -  terser@5.31.0:
    -    resolution: {integrity: sha512-Q1JFAoUKE5IMfI4Z/lkE/E6+SwgzO+x4tq4v1AyBLRj8VSYvRO6A/rQrPg1yud4g0En9EKI1TvFRF2tQFcoUkg==}
    -    engines: {node: '>=10'}
    -    hasBin: true
    -
    -  test-exclude@6.0.0:
    -    resolution: {integrity: sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==}
    -    engines: {node: '>=8'}
    -
    -  text-table@0.2.0:
    -    resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==}
    -
    -  thenify-all@1.6.0:
    -    resolution: {integrity: sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==}
    -    engines: {node: '>=0.8'}
    -
    -  thenify@3.3.1:
    -    resolution: {integrity: sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==}
    -
    -  thread-stream@2.4.1:
    -    resolution: {integrity: sha512-d/Ex2iWd1whipbT681JmTINKw0ZwOUBZm7+Gjs64DHuX34mmw8vJL2bFAaNacaW72zYiTJxSHi5abUuOi5nsfg==}
    -
    -  throat@6.0.2:
    -    resolution: {integrity: sha512-WKexMoJj3vEuK0yFEapj8y64V0A6xcuPuK9Gt1d0R+dzCSJc0lHqQytAbSB4cDAK0dWh4T0E2ETkoLE2WZ41OQ==}
    -
    -  throttleit@1.0.1:
    -    resolution: {integrity: sha512-vDZpf9Chs9mAdfY046mcPt8fg5QSZr37hEH4TXYBnDF+izxgrbRGUAAaBvIk/fJm9aOFCGFd1EsNg5AZCbnQCQ==}
    -
    -  through@2.3.8:
    -    resolution: {integrity: sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==}
    -
    -  thunky@1.1.0:
    -    resolution: {integrity: sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==}
    -
    -  timers-ext@0.1.7:
    -    resolution: {integrity: sha512-b85NUNzTSdodShTIbky6ZF02e8STtVVfD+fu4aXXShEELpozH+bCpJLYMPZbsABN2wDH7fJpqIoXxJpzbf0NqQ==}
    -
    -  tiny-lru@8.0.2:
    -    resolution: {integrity: sha512-ApGvZ6vVvTNdsmt676grvCkUCGwzG9IqXma5Z07xJgiC5L7akUMof5U8G2JTI9Rz/ovtVhJBlY6mNhEvtjzOIg==}
    -    engines: {node: '>=6'}
    -
    -  tinybench@2.8.0:
    -    resolution: {integrity: sha512-1/eK7zUnIklz4JUUlL+658n58XO2hHLQfSk1Zf2LKieUjxidN16eKFEoDEfjHc3ohofSSqK3X5yO6VGb6iW8Lw==}
    -
    -  tinypool@0.8.4:
    -    resolution: {integrity: sha512-i11VH5gS6IFeLY3gMBQ00/MmLncVP7JLXOw1vlgkytLmJK7QnEr7NXf0LBdxfmNPAeyetukOk0bOYrJrFGjYJQ==}
    -    engines: {node: '>=14.0.0'}
    -
    -  tinyspy@2.2.1:
    -    resolution: {integrity: sha512-KYad6Vy5VDWV4GH3fjpseMQ/XU2BhIYP7Vzd0LG44qRWm/Yt2WCOTicFdvmgo6gWaqooMQCawTtILVQJupKu7A==}
    -    engines: {node: '>=14.0.0'}
    -
    -  tmp@0.2.3:
    -    resolution: {integrity: sha512-nZD7m9iCPC5g0pYmcaxogYKggSfLsdxl8of3Q/oIbqCqLLIO9IAF0GWjX1z9NZRHPiXv8Wex4yDCaZsgEw0Y8w==}
    -    engines: {node: '>=14.14'}
    -
    -  tmpl@1.0.5:
    -    resolution: {integrity: sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==}
    -
    -  to-fast-properties@2.0.0:
    -    resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==}
    -    engines: {node: '>=4'}
    -
    -  to-regex-range@5.0.1:
    -    resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==}
    -    engines: {node: '>=8.0'}
    -
    -  toidentifier@1.0.1:
    -    resolution: {integrity: sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==}
    -    engines: {node: '>=0.6'}
    -
    -  totalist@3.0.1:
    -    resolution: {integrity: sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ==}
    -    engines: {node: '>=6'}
    -
    -  tough-cookie@4.1.3:
    -    resolution: {integrity: sha512-aX/y5pVRkfRnfmuX+OdbSdXvPe6ieKX/G2s7e98f4poJHnqH3281gDPm/metm6E/WRamfx7WC4HUqkWHfQHprw==}
    -    engines: {node: '>=6'}
    -
    -  tr46@0.0.3:
    -    resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==}
    -
    -  tr46@1.0.1:
    -    resolution: {integrity: sha512-dTpowEjclQ7Kgx5SdBkqRzVhERQXov8/l9Ft9dVM9fmg0W0KQSVaXX9T4i6twCPNtYiZM53lpSSUAwJbFPOHxA==}
    -
    -  tr46@5.0.0:
    -    resolution: {integrity: sha512-tk2G5R2KRwBd+ZN0zaEXpmzdKyOYksXwywulIX95MBODjSzMIuQnQ3m8JxgbhnL1LeVo7lqQKsYa1O3Htl7K5g==}
    -    engines: {node: '>=18'}
    -
    -  traverse@0.3.9:
    -    resolution: {integrity: sha512-iawgk0hLP3SxGKDfnDJf8wTz4p2qImnyihM5Hh/sGvQ3K37dPi/w8sRhdNIxYA1TwFwc5mDhIJq+O0RsvXBKdQ==}
    -
    -  tree-kill@1.2.2:
    -    resolution: {integrity: sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==}
    -    hasBin: true
    -
    -  trough@2.2.0:
    -    resolution: {integrity: sha512-tmMpK00BjZiUyVyvrBK7knerNgmgvcV/KLVyuma/SC+TQN167GrMRciANTz09+k3zW8L8t60jWO1GpfkZdjTaw==}
    -
    -  ts-api-utils@1.3.0:
    -    resolution: {integrity: sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ==}
    -    engines: {node: '>=16'}
    -    peerDependencies:
    -      typescript: '>=4.2.0'
    -
    -  ts-dedent@2.2.0:
    -    resolution: {integrity: sha512-q5W7tVM71e2xjHZTlgfTDoPF/SmqKG5hddq9SzR49CH2hayqRKJtQ4mtRlSxKaJlR/+9rEM+mnBHf7I2/BQcpQ==}
    -    engines: {node: '>=6.10'}
    -
    -  ts-interface-checker@0.1.13:
    -    resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==}
    -
    -  ts-toolbelt@6.15.5:
    -    resolution: {integrity: sha512-FZIXf1ksVyLcfr7M317jbB67XFJhOO1YqdTcuGaq9q5jLUoTikukZ+98TPjKiP2jC5CgmYdWWYs0s2nLSU0/1A==}
    -
    -  tslib@1.14.1:
    -    resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==}
    -
    -  tslib@2.6.2:
    -    resolution: {integrity: sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==}
    -
    -  tsutils@3.21.0:
    -    resolution: {integrity: sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==}
    -    engines: {node: '>= 6'}
    -    peerDependencies:
    -      typescript: '>=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta'
    -
    -  tsx@4.7.3:
    -    resolution: {integrity: sha512-+fQnMqIp/jxZEXLcj6WzYy9FhcS5/Dfk8y4AtzJ6ejKcKqmfTF8Gso/jtrzDggCF2zTU20gJa6n8XqPYwDAUYQ==}
    -    engines: {node: '>=18.0.0'}
    -    hasBin: true
    -
    -  tunnel-agent@0.6.0:
    -    resolution: {integrity: sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==}
    -
    -  tweetnacl@0.14.5:
    -    resolution: {integrity: sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==}
    -
    -  type-check@0.4.0:
    -    resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==}
    -    engines: {node: '>= 0.8.0'}
    -
    -  type-detect@4.0.8:
    -    resolution: {integrity: sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==}
    -    engines: {node: '>=4'}
    -
    -  type-fest@0.16.0:
    -    resolution: {integrity: sha512-eaBzG6MxNzEn9kiwvtre90cXaNLkmadMWa1zQMs3XORCXNbsH/OewwbxC5ia9dCxIxnTAsSxXJaa/p5y8DlvJg==}
    -    engines: {node: '>=10'}
    -
    -  type-fest@0.20.2:
    -    resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==}
    -    engines: {node: '>=10'}
    -
    -  type-fest@0.21.3:
    -    resolution: {integrity: sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==}
    -    engines: {node: '>=10'}
    -
    -  type-fest@0.6.0:
    -    resolution: {integrity: sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==}
    -    engines: {node: '>=8'}
    -
    -  type-fest@0.8.1:
    -    resolution: {integrity: sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==}
    -    engines: {node: '>=8'}
    -
    -  type-fest@1.4.0:
    -    resolution: {integrity: sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA==}
    -    engines: {node: '>=10'}
    -
    -  type-fest@4.15.0:
    -    resolution: {integrity: sha512-tB9lu0pQpX5KJq54g+oHOLumOx+pMep4RaM6liXh2PKmVRFF+/vAtUP0ZaJ0kOySfVNjF6doBWPHhBhISKdlIA==}
    -    engines: {node: '>=16'}
    -
    -  type-is@1.6.18:
    -    resolution: {integrity: sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==}
    -    engines: {node: '>= 0.6'}
    -
    -  type@2.7.2:
    -    resolution: {integrity: sha512-dzlvlNlt6AXU7EBSfpAscydQ7gXB+pPGsPnfJnZpiNJBDj7IaJzQlBZYGdEi4R9HmPdBv2XmWJ6YUtoTa7lmCw==}
    -
    -  typed-array-buffer@1.0.2:
    -    resolution: {integrity: sha512-gEymJYKZtKXzzBzM4jqa9w6Q1Jjm7x2d+sh19AdsD4wqnMPDYyvwpsIc2Q/835kHuo3BEQ7CjelGhfTsoBb2MQ==}
    -    engines: {node: '>= 0.4'}
    -
    -  typed-array-byte-length@1.0.1:
    -    resolution: {integrity: sha512-3iMJ9q0ao7WE9tWcaYKIptkNBuOIcZCCT0d4MRvuuH88fEoEH62IuQe0OtraD3ebQEoTRk8XCBoknUNc1Y67pw==}
    -    engines: {node: '>= 0.4'}
    -
    -  typed-array-byte-offset@1.0.2:
    -    resolution: {integrity: sha512-Ous0vodHa56FviZucS2E63zkgtgrACj7omjwd/8lTEMEPFFyjfixMZ1ZXenpgCFBBt4EC1J2XsyVS2gkG0eTFA==}
    -    engines: {node: '>= 0.4'}
    -
    -  typed-array-length@1.0.6:
    -    resolution: {integrity: sha512-/OxDN6OtAk5KBpGb28T+HZc2M+ADtvRxXrKKbUwtsLgdoxgX13hyy7ek6bFRl5+aBs2yZzB0c4CnQfAtVypW/g==}
    -    engines: {node: '>= 0.4'}
    -
    -  typedarray-to-buffer@3.1.5:
    -    resolution: {integrity: sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==}
    -
    -  typedoc-plugin-markdown@3.17.1:
    -    resolution: {integrity: sha512-QzdU3fj0Kzw2XSdoL15ExLASt2WPqD7FbLeaqwT70+XjKyTshBnUlQA5nNREO1C2P8Uen0CDjsBLMsCQ+zd0lw==}
    -    peerDependencies:
    -      typedoc: '>=0.24.0'
    -
    -  typedoc@0.25.13:
    -    resolution: {integrity: sha512-pQqiwiJ+Z4pigfOnnysObszLiU3mVLWAExSPf+Mu06G/qsc3wzbuM56SZQvONhHLncLUhYzOVkjFFpFfL5AzhQ==}
    -    engines: {node: '>= 16'}
    -    hasBin: true
    -    peerDependencies:
    -      typescript: 4.6.x || 4.7.x || 4.8.x || 4.9.x || 5.0.x || 5.1.x || 5.2.x || 5.3.x || 5.4.x
    -
    -  typescript@5.4.5:
    -    resolution: {integrity: sha512-vcI4UpRgg81oIRUFwR0WSIHKt11nJ7SAVlYNIu+QpqeyXP+gpQJy/Z4+F0aGxSE4MqwjyXvW/TzgkLAx2AGHwQ==}
    -    engines: {node: '>=14.17'}
    -    hasBin: true
    -
    -  uc.micro@1.0.6:
    -    resolution: {integrity: sha512-8Y75pvTYkLJW2hWQHXxoqRgV7qb9B+9vFEtidML+7koHUFapnVJAZ6cKs+Qjz5Aw3aZWHMC6u0wJE3At+nSGwA==}
    -
    -  ufo@1.5.3:
    -    resolution: {integrity: sha512-Y7HYmWaFwPUmkoQCUIAYpKqkOf+SbVj/2fJJZ4RJMCfZp0rTGwRbzQD+HghfnhKOjL9E01okqz+ncJskGYfBNw==}
    -
    -  uglify-js@3.17.4:
    -    resolution: {integrity: sha512-T9q82TJI9e/C1TAxYvfb16xO120tMVFZrGA3f9/P4424DNu6ypK103y0GPFVa17yotwSyZW5iYXgjYHkGrJW/g==}
    -    engines: {node: '>=0.8.0'}
    -    hasBin: true
    -
    -  unbox-primitive@1.0.2:
    -    resolution: {integrity: sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==}
    -
    -  unconfig@0.3.13:
    -    resolution: {integrity: sha512-N9Ph5NC4+sqtcOjPfHrRcHekBCadCXWTBzp2VYYbySOHW0PfD9XLCeXshTXjkPYwLrBr9AtSeU0CZmkYECJhng==}
    -
    -  underscore@1.1.7:
    -    resolution: {integrity: sha512-w4QtCHoLBXw1mjofIDoMyexaEdWGMedWNDhlWTtT1V1lCRqi65Pnoygkh6+WRdr+Bm8ldkBNkNeCsXGMlQS9HQ==}
    -
    -  undici-types@5.26.5:
    -    resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==}
    -
    -  unicode-canonical-property-names-ecmascript@2.0.0:
    -    resolution: {integrity: sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==}
    -    engines: {node: '>=4'}
    -
    -  unicode-match-property-ecmascript@2.0.0:
    -    resolution: {integrity: sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==}
    -    engines: {node: '>=4'}
    -
    -  unicode-match-property-value-ecmascript@2.1.0:
    -    resolution: {integrity: sha512-qxkjQt6qjg/mYscYMC0XKRn3Rh0wFPlfxB0xkt9CfyTvpX1Ra0+rAmdX2QyAobptSEvuy4RtpPRui6XkV+8wjA==}
    -    engines: {node: '>=4'}
    -
    -  unicode-property-aliases-ecmascript@2.1.0:
    -    resolution: {integrity: sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==}
    -    engines: {node: '>=4'}
    -
    -  unicorn-magic@0.1.0:
    -    resolution: {integrity: sha512-lRfVq8fE8gz6QMBuDM6a+LO3IAzTi05H6gCVaUpir2E1Rwpo4ZUog45KpNXKC/Mn3Yb9UDuHumeFTo9iV/D9FQ==}
    -    engines: {node: '>=18'}
    -
    -  unified@11.0.4:
    -    resolution: {integrity: sha512-apMPnyLjAX+ty4OrNap7yumyVAMlKx5IWU2wlzzUdYJO9A8f1p9m/gywF/GM2ZDFcjQPrx59Mc90KwmxsoklxQ==}
    -
    -  unique-string@2.0.0:
    -    resolution: {integrity: sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg==}
    -    engines: {node: '>=8'}
    -
    -  unique-string@3.0.0:
    -    resolution: {integrity: sha512-VGXBUVwxKMBUznyffQweQABPRRW1vHZAbadFZud4pLFAqRGvv/96vafgjWFqzourzr8YonlQiPgH0YCJfawoGQ==}
    -    engines: {node: '>=12'}
    -
    -  unist-util-flatmap@1.0.0:
    -    resolution: {integrity: sha512-IG32jcKJlhARCYT2LsYPJWdoXYkzz3ESAdl1aa2hn9Auh+cgUmU6wgkII4yCc/1GgeWibRdELdCZh/p3QKQ1dQ==}
    -
    -  unist-util-inspect@8.0.0:
    -    resolution: {integrity: sha512-/3Wn/wU6/H6UEo4FoYUeo8KUePN8ERiZpQYFWYoihOsr1DoDuv80PeB0hobVZyYSvALa2e556bG1A1/AbwU4yg==}
    -
    -  unist-util-is@6.0.0:
    -    resolution: {integrity: sha512-2qCTHimwdxLfz+YzdGfkqNlH0tLi9xjTnHddPmJwtIG9MGsdbutfTc4P+haPD7l7Cjxf/WZj+we5qfVPvvxfYw==}
    -
    -  unist-util-stringify-position@2.0.3:
    -    resolution: {integrity: sha512-3faScn5I+hy9VleOq/qNbAd6pAx7iH5jYBMS9I1HgQVijz/4mv5Bvw5iw1sC/90CODiKo81G/ps8AJrISn687g==}
    -
    -  unist-util-stringify-position@4.0.0:
    -    resolution: {integrity: sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==}
    -
    -  unist-util-visit-parents@6.0.1:
    -    resolution: {integrity: sha512-L/PqWzfTP9lzzEa6CKs0k2nARxTdZduw3zyh8d2NVBnsyvHjSX4TWse388YrrQKbvI8w20fGjGlhgT96WwKykw==}
    -
    -  unist-util-visit@5.0.0:
    -    resolution: {integrity: sha512-MR04uvD+07cwl/yhVuVWAtw+3GOR/knlL55Nd/wAdblk27GCVt3lqpTivy/tkJcZoNPzTwS1Y+KMojlLDhoTzg==}
    -
    -  universalify@0.1.2:
    -    resolution: {integrity: sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==}
    -    engines: {node: '>= 4.0.0'}
    -
    -  universalify@0.2.0:
    -    resolution: {integrity: sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==}
    -    engines: {node: '>= 4.0.0'}
    -
    -  universalify@2.0.1:
    -    resolution: {integrity: sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==}
    -    engines: {node: '>= 10.0.0'}
    -
    -  unocss@0.58.9:
    -    resolution: {integrity: sha512-aqANXXP0RrtN4kSaTLn/7I6wh8o45LUdVgPzGu7Fan2DfH2+wpIs6frlnlHlOymnb+52dp6kXluQinddaUKW1A==}
    -    engines: {node: '>=14'}
    -    peerDependencies:
    -      '@unocss/webpack': 0.58.9
    -      vite: ^2.9.0 || ^3.0.0-0 || ^4.0.0 || ^5.0.0-0
    -    peerDependenciesMeta:
    -      '@unocss/webpack':
    -        optional: true
    -      vite:
    -        optional: true
    -
    -  unocss@0.59.4:
    -    resolution: {integrity: sha512-QmCVjRObvVu/gsGrJGVt0NnrdhFFn314BUZn2WQyXV9rIvHLRmG5bIu0j5vibJkj7ZhFchTrnTM1pTFXP1xt5g==}
    -    engines: {node: '>=14'}
    -    peerDependencies:
    -      '@unocss/webpack': 0.59.4
    -      vite: ^2.9.0 || ^3.0.0-0 || ^4.0.0 || ^5.0.0-0
    -    peerDependenciesMeta:
    -      '@unocss/webpack':
    -        optional: true
    -      vite:
    -        optional: true
    -
    -  unpipe@1.0.0:
    -    resolution: {integrity: sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==}
    -    engines: {node: '>= 0.8'}
    -
    -  unplugin-vue-components@0.26.0:
    -    resolution: {integrity: sha512-s7IdPDlnOvPamjunVxw8kNgKNK8A5KM1YpK5j/p97jEKTjlPNrA0nZBiSfAKKlK1gWZuyWXlKL5dk3EDw874LQ==}
    -    engines: {node: '>=14'}
    -    peerDependencies:
    -      '@babel/parser': ^7.15.8
    -      '@nuxt/kit': ^3.2.2
    -      vue: 2 || 3
    -    peerDependenciesMeta:
    -      '@babel/parser':
    -        optional: true
    -      '@nuxt/kit':
    -        optional: true
    -
    -  unplugin@1.4.0:
    -    resolution: {integrity: sha512-5x4eIEL6WgbzqGtF9UV8VEC/ehKptPXDS6L2b0mv4FRMkJxRtjaJfOWDd6a8+kYbqsjklix7yWP0N3SUepjXcg==}
    -
    -  untildify@4.0.0:
    -    resolution: {integrity: sha512-KK8xQ1mkzZeg9inewmFVDNkg3l5LUhoq9kN6iWYB/CC9YMG8HA+c1Q8HwDe6dEX7kErrEVNVBO3fWsVq5iDgtw==}
    -    engines: {node: '>=8'}
    -
    -  upath@1.2.0:
    -    resolution: {integrity: sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==}
    -    engines: {node: '>=4'}
    -
    -  update-browserslist-db@1.0.13:
    -    resolution: {integrity: sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==}
    -    hasBin: true
    -    peerDependencies:
    -      browserslist: '>= 4.21.0'
    -
    -  uri-js@4.4.1:
    -    resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==}
    -
    -  url-parse@1.5.10:
    -    resolution: {integrity: sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==}
    -
    -  util-deprecate@1.0.2:
    -    resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==}
    -
    -  utils-merge@1.0.1:
    -    resolution: {integrity: sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==}
    -    engines: {node: '>= 0.4.0'}
    -
    -  uuid@8.3.2:
    -    resolution: {integrity: sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==}
    -    hasBin: true
    -
    -  uuid@9.0.1:
    -    resolution: {integrity: sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==}
    -    hasBin: true
    -
    -  v8-to-istanbul@9.2.0:
    -    resolution: {integrity: sha512-/EH/sDgxU2eGxajKdwLCDmQ4FWq+kpi3uCmBGpw1xJtnAxEjlD8j8PEiGWpCIMIs3ciNAgH0d3TTJiUkYzyZjA==}
    -    engines: {node: '>=10.12.0'}
    -
    -  validate-npm-package-license@3.0.4:
    -    resolution: {integrity: sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==}
    -
    -  vary@1.1.2:
    -    resolution: {integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==}
    -    engines: {node: '>= 0.8'}
    -
    -  verror@1.10.0:
    -    resolution: {integrity: sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw==}
    -    engines: {'0': node >=0.6.0}
    -
    -  vfile-message@4.0.2:
    -    resolution: {integrity: sha512-jRDZ1IMLttGj41KcZvlrYAaI3CfqpLpfpf+Mfig13viT6NKvRzWZ+lXz0Y5D60w6uJIBAOGq9mSHf0gktF0duw==}
    -
    -  vfile@6.0.1:
    -    resolution: {integrity: sha512-1bYqc7pt6NIADBJ98UiG0Bn/CHIVOoZ/IyEkqIruLg0mE1BKzkOXY2D6CSqQIcKqgadppE5lrxgWXJmXd7zZJw==}
    -
    -  vite-node@1.5.3:
    -    resolution: {integrity: sha512-axFo00qiCpU/JLd8N1gu9iEYL3xTbMbMrbe5nDp9GL0nb6gurIdZLkkFogZXWnE8Oyy5kfSLwNVIcVsnhE7lgQ==}
    -    engines: {node: ^18.0.0 || >=20.0.0}
    -    hasBin: true
    -
    -  vite-plugin-istanbul@6.0.0:
    -    resolution: {integrity: sha512-Vwh2XdesjcLwaPbHSOiWHh+0s7CNovQTPEjUCTkqmJUe0FN2TKsOp0qpoaklOuwrKlL9elhD5fPFxi5lmG62zA==}
    -    peerDependencies:
    -      vite: '>=4 <=6'
    -
    -  vite-plugin-pwa@0.17.5:
    -    resolution: {integrity: sha512-UxRNPiJBzh4tqU/vc8G2TxmrUTzT6BqvSzhszLk62uKsf+npXdvLxGDz9C675f4BJi6MbD2tPnJhi5txlMzxbQ==}
    -    engines: {node: '>=16.0.0'}
    -    peerDependencies:
    -      vite: ^3.1.0 || ^4.0.0 || ^5.0.0
    -      workbox-build: ^7.0.0
    -      workbox-window: ^7.0.0
    -
    -  vite-plugin-pwa@0.19.8:
    -    resolution: {integrity: sha512-e1oK0dfhzhDhY3VBuML6c0h8Xfx6EkOVYqolj7g+u8eRfdauZe5RLteCIA/c5gH0CBQ0CNFAuv/AFTx4Z7IXTw==}
    -    engines: {node: '>=16.0.0'}
    -    peerDependencies:
    -      '@vite-pwa/assets-generator': ^0.2.4
    -      vite: ^3.1.0 || ^4.0.0 || ^5.0.0
    -      workbox-build: ^7.0.0
    -      workbox-window: ^7.0.0
    -    peerDependenciesMeta:
    -      '@vite-pwa/assets-generator':
    -        optional: true
    -
    -  vite@4.5.3:
    -    resolution: {integrity: sha512-kQL23kMeX92v3ph7IauVkXkikdDRsYMGTVl5KY2E9OY4ONLvkHf04MDTbnfo6NKxZiDLWzVpP5oTa8hQD8U3dg==}
    -    engines: {node: ^14.18.0 || >=16.0.0}
    -    hasBin: true
    -    peerDependencies:
    -      '@types/node': '>= 14'
    -      less: '*'
    -      lightningcss: ^1.21.0
    -      sass: '*'
    -      stylus: '*'
    -      sugarss: '*'
    -      terser: ^5.4.0
    -    peerDependenciesMeta:
    -      '@types/node':
    -        optional: true
    -      less:
    -        optional: true
    -      lightningcss:
    -        optional: true
    -      sass:
    -        optional: true
    -      stylus:
    -        optional: true
    -      sugarss:
    -        optional: true
    -      terser:
    -        optional: true
    -
    -  vite@5.2.10:
    -    resolution: {integrity: sha512-PAzgUZbP7msvQvqdSD+ErD5qGnSFiGOoWmV5yAKUEI0kdhjbH6nMWVyZQC/hSc4aXwc0oJ9aEdIiF9Oje0JFCw==}
    -    engines: {node: ^18.0.0 || >=20.0.0}
    -    hasBin: true
    -    peerDependencies:
    -      '@types/node': ^18.0.0 || >=20.0.0
    -      less: '*'
    -      lightningcss: ^1.21.0
    -      sass: '*'
    -      stylus: '*'
    -      sugarss: '*'
    -      terser: ^5.4.0
    -    peerDependenciesMeta:
    -      '@types/node':
    -        optional: true
    -      less:
    -        optional: true
    -      lightningcss:
    -        optional: true
    -      sass:
    -        optional: true
    -      stylus:
    -        optional: true
    -      sugarss:
    -        optional: true
    -      terser:
    -        optional: true
    -
    -  vitepress-plugin-search@1.0.4-alpha.22:
    -    resolution: {integrity: sha512-IAOEJu+kjVY+0pb6/PeRjIbr175HFFbnMdLmLjqcy7VWxkabIRZbLoQL1VUYDZl804o/Or+GaX02gsiMOnVxFA==}
    -    engines: {node: ^14.13.1 || ^16.7.0 || >=18}
    -    peerDependencies:
    -      flexsearch: ^0.7.31
    -      vitepress: ^1.0.0-rc.35
    -      vue: '3'
    -
    -  vitepress@1.0.0-rc.39:
    -    resolution: {integrity: sha512-EcgoRlAAp37WOxUOYv45oxyhLrcy3Upey+mKpqW3ldsg6Ol4trPndRBk2GO0QiSvEKlb9BMerk49D/bFICN6kg==}
    -    hasBin: true
    -    peerDependencies:
    -      markdown-it-mathjax3: ^4.3.2
    -      postcss: ^8.4.33
    -    peerDependenciesMeta:
    -      markdown-it-mathjax3:
    -        optional: true
    -      postcss:
    -        optional: true
    -
    -  vitepress@1.1.4:
    -    resolution: {integrity: sha512-bWIzFZXpPB6NIDBuWnS20aMADH+FcFKDfQNYFvbOWij03PR29eImTceQHIzCKordjXYBhM/TjE5VKFTUJ3EheA==}
    -    hasBin: true
    -    peerDependencies:
    -      markdown-it-mathjax3: ^4
    -      postcss: ^8
    -    peerDependenciesMeta:
    -      markdown-it-mathjax3:
    -        optional: true
    -      postcss:
    -        optional: true
    -
    -  vitest@1.5.3:
    -    resolution: {integrity: sha512-2oM7nLXylw3mQlW6GXnRriw+7YvZFk/YNV8AxIC3Z3MfFbuziLGWP9GPxxu/7nRlXhqyxBikpamr+lEEj1sUEw==}
    -    engines: {node: ^18.0.0 || >=20.0.0}
    -    hasBin: true
    -    peerDependencies:
    -      '@edge-runtime/vm': '*'
    -      '@types/node': ^18.0.0 || >=20.0.0
    -      '@vitest/browser': 1.5.3
    -      '@vitest/ui': 1.5.3
    -      happy-dom: '*'
    -      jsdom: '*'
    -    peerDependenciesMeta:
    -      '@edge-runtime/vm':
    -        optional: true
    -      '@types/node':
    -        optional: true
    -      '@vitest/browser':
    -        optional: true
    -      '@vitest/ui':
    -        optional: true
    -      happy-dom:
    -        optional: true
    -      jsdom:
    -        optional: true
    -
    -  vscode-json-languageservice@4.2.1:
    -    resolution: {integrity: sha512-xGmv9QIWs2H8obGbWg+sIPI/3/pFgj/5OWBhNzs00BkYQ9UaB2F6JJaGB/2/YOZJ3BvLXQTC4Q7muqU25QgAhA==}
    -
    -  vscode-jsonrpc@8.2.0:
    -    resolution: {integrity: sha512-C+r0eKJUIfiDIfwJhria30+TYWPtuHJXHtI7J0YlOmKAo7ogxP20T0zxB7HZQIFhIyvoBPwWskjxrvAtfjyZfA==}
    -    engines: {node: '>=14.0.0'}
    -
    -  vscode-languageserver-protocol@3.17.5:
    -    resolution: {integrity: sha512-mb1bvRJN8SVznADSGWM9u/b07H7Ecg0I3OgXDuLdn307rl/J3A9YD6/eYOssqhecL27hK1IPZAsaqh00i/Jljg==}
    -
    -  vscode-languageserver-textdocument@1.0.11:
    -    resolution: {integrity: sha512-X+8T3GoiwTVlJbicx/sIAF+yuJAqz8VvwJyoMVhwEMoEKE/fkDmrqUgDMyBECcM2A2frVZIUj5HI/ErRXCfOeA==}
    -
    -  vscode-languageserver-types@3.17.3:
    -    resolution: {integrity: sha512-SYU4z1dL0PyIMd4Vj8YOqFvHu7Hz/enbWtpfnVbJHU4Nd1YNYx8u0ennumc6h48GQNeOLxmwySmnADouT/AuZA==}
    -
    -  vscode-languageserver-types@3.17.5:
    -    resolution: {integrity: sha512-Ld1VelNuX9pdF39h2Hgaeb5hEZM2Z3jUrrMgWQAu82jMtZp7p3vJT3BzToKtZI7NgQssZje5o0zryOrhQvzQAg==}
    -
    -  vscode-languageserver@9.0.1:
    -    resolution: {integrity: sha512-woByF3PDpkHFUreUa7Hos7+pUWdeWMXRd26+ZX2A8cFx6v/JPTtd4/uN0/jB6XQHYaOlHbio03NTHCqrgG5n7g==}
    -    hasBin: true
    -
    -  vscode-nls@5.2.0:
    -    resolution: {integrity: sha512-RAaHx7B14ZU04EU31pT+rKz2/zSl7xMsfIZuo8pd+KZO6PXtQmpevpq3vxvWNcrGbdmhM/rr5Uw5Mz+NBfhVng==}
    -
    -  vscode-oniguruma@1.7.0:
    -    resolution: {integrity: sha512-L9WMGRfrjOhgHSdOYgCt/yRMsXzLDJSL7BPrOZt73gU0iWO4mpqzqQzOz5srxqTvMBaR0XZTSrVWo4j55Rc6cA==}
    -
    -  vscode-textmate@8.0.0:
    -    resolution: {integrity: sha512-AFbieoL7a5LMqcnOF04ji+rpXadgOXnZsxQr//r83kLPr7biP7am3g9zbaZIaBGwBRWeSvoMD4mgPdX3e4NWBg==}
    -
    -  vscode-uri@3.0.8:
    -    resolution: {integrity: sha512-AyFQ0EVmsOZOlAnxoFOGOq1SQDWAB7C6aqMGS23svWAllfOaxbuFvcT8D1i8z3Gyn8fraVeZNNmN6e9bxxXkKw==}
    -
    -  vue-demi@0.13.11:
    -    resolution: {integrity: sha512-IR8HoEEGM65YY3ZJYAjMlKygDQn25D5ajNFNoKh9RSDMQtlzCxtfQjdQgv9jjK+m3377SsJXY8ysq8kLCZL25A==}
    -    engines: {node: '>=12'}
    -    hasBin: true
    -    peerDependencies:
    -      '@vue/composition-api': ^1.0.0-rc.1
    -      vue: ^3.0.0-0 || ^2.6.0
    -    peerDependenciesMeta:
    -      '@vue/composition-api':
    -        optional: true
    -
    -  vue-demi@0.14.7:
    -    resolution: {integrity: sha512-EOG8KXDQNwkJILkx/gPcoL/7vH+hORoBaKgGe+6W7VFMvCYJfmF2dGbvgDroVnI8LU7/kTu8mbjRZGBU1z9NTA==}
    -    engines: {node: '>=12'}
    -    hasBin: true
    -    peerDependencies:
    -      '@vue/composition-api': ^1.0.0-rc.1
    -      vue: ^3.0.0-0 || ^2.6.0
    -    peerDependenciesMeta:
    -      '@vue/composition-api':
    -        optional: true
    -
    -  vue@3.4.21:
    -    resolution: {integrity: sha512-5hjyV/jLEIKD/jYl4cavMcnzKwjMKohureP8ejn3hhEjwhWIhWeuzL2kJAjzl/WyVsgPY56Sy4Z40C3lVshxXA==}
    -    peerDependencies:
    -      typescript: '*'
    -    peerDependenciesMeta:
    -      typescript:
    -        optional: true
    -
    -  vue@3.4.26:
    -    resolution: {integrity: sha512-bUIq/p+VB+0xrJubaemrfhk1/FiW9iX+pDV+62I/XJ6EkspAO9/DXEjbDFoe8pIfOZBqfk45i9BMc41ptP/uRg==}
    -    peerDependencies:
    -      typescript: '*'
    -    peerDependenciesMeta:
    -      typescript:
    -        optional: true
    -
    -  vuex@4.1.0:
    -    resolution: {integrity: sha512-hmV6UerDrPcgbSy9ORAtNXDr9M4wlNP4pEFKye4ujJF8oqgFFuxDCdOLS3eNoRTtq5O3hoBDh9Doj1bQMYHRbQ==}
    -    peerDependencies:
    -      vue: ^3.2.0
    -
    -  w3c-xmlserializer@5.0.0:
    -    resolution: {integrity: sha512-o8qghlI8NZHU1lLPrpi2+Uq7abh4GGPpYANlalzWxyWteJOCsr/P+oPBA49TOLu5FTZO4d3F9MnWJfiMo4BkmA==}
    -    engines: {node: '>=18'}
    -
    -  wait-on@7.2.0:
    -    resolution: {integrity: sha512-wCQcHkRazgjG5XoAq9jbTMLpNIjoSlZslrJ2+N9MxDsGEv1HnFoVjOCexL0ESva7Y9cu350j+DWADdk54s4AFQ==}
    -    engines: {node: '>=12.0.0'}
    -    hasBin: true
    -
    -  walker@1.0.8:
    -    resolution: {integrity: sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==}
    -
    -  watchpack@2.4.1:
    -    resolution: {integrity: sha512-8wrBCMtVhqcXP2Sup1ctSkga6uc2Bx0IIvKyT7yTFier5AXHooSI+QyQQAtTb7+E0IUCCKyTFmXqdqgum2XWGg==}
    -    engines: {node: '>=10.13.0'}
    -
    -  wbuf@1.7.3:
    -    resolution: {integrity: sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==}
    -
    -  web-streams-polyfill@3.3.3:
    -    resolution: {integrity: sha512-d2JWLCivmZYTSIoge9MsgFCZrt571BikcWGYkjC1khllbTeDlGqZ2D8vD8E/lJa8WGWbb7Plm8/XJYV7IJHZZw==}
    -    engines: {node: '>= 8'}
    -
    -  webdriver@7.31.1:
    -    resolution: {integrity: sha512-nCdJLxRnYvOMFqTEX7sqQtF/hV/Jgov0Y6ICeOm1DMTlZSRRDaUsBMlEAPkEwif9uBJYdM0znv8qzfX358AGqQ==}
    -    engines: {node: '>=12.0.0'}
    -
    -  webidl-conversions@3.0.1:
    -    resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==}
    -
    -  webidl-conversions@4.0.2:
    -    resolution: {integrity: sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==}
    -
    -  webidl-conversions@7.0.0:
    -    resolution: {integrity: sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==}
    -    engines: {node: '>=12'}
    -
    -  webpack-cli@4.10.0:
    -    resolution: {integrity: sha512-NLhDfH/h4O6UOy+0LSso42xvYypClINuMNBVVzX4vX98TmTaTUxwRbXdhucbFMd2qLaCTcLq/PdYrvi8onw90w==}
    -    engines: {node: '>=10.13.0'}
    -    hasBin: true
    -    peerDependencies:
    -      '@webpack-cli/generators': '*'
    -      '@webpack-cli/migrate': '*'
    -      webpack: 4.x.x || 5.x.x
    -      webpack-bundle-analyzer: '*'
    -      webpack-dev-server: '*'
    -    peerDependenciesMeta:
    -      '@webpack-cli/generators':
    -        optional: true
    -      '@webpack-cli/migrate':
    -        optional: true
    -      webpack-bundle-analyzer:
    -        optional: true
    -      webpack-dev-server:
    -        optional: true
    -
    -  webpack-dev-middleware@5.3.4:
    -    resolution: {integrity: sha512-BVdTqhhs+0IfoeAf7EoH5WE+exCmqGerHfDM0IL096Px60Tq2Mn9MAbnaGUe6HiMa41KMCYF19gyzZmBcq/o4Q==}
    -    engines: {node: '>= 12.13.0'}
    -    peerDependencies:
    -      webpack: ^4.0.0 || ^5.0.0
    -
    -  webpack-dev-server@4.15.2:
    -    resolution: {integrity: sha512-0XavAZbNJ5sDrCbkpWL8mia0o5WPOd2YGtxrEiZkBK9FjLppIUK2TgxK6qGD2P3hUXTJNNPVibrerKcx5WkR1g==}
    -    engines: {node: '>= 12.13.0'}
    -    hasBin: true
    -    peerDependencies:
    -      webpack: ^4.37.0 || ^5.0.0
    -      webpack-cli: '*'
    -    peerDependenciesMeta:
    -      webpack:
    -        optional: true
    -      webpack-cli:
    -        optional: true
    -
    -  webpack-merge@5.9.0:
    -    resolution: {integrity: sha512-6NbRQw4+Sy50vYNTw7EyOn41OZItPiXB8GNv3INSoe3PSFaHJEz3SHTrYVaRm2LilNGnFUzh0FAwqPEmU/CwDg==}
    -    engines: {node: '>=10.0.0'}
    -
    -  webpack-sources@3.2.3:
    -    resolution: {integrity: sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==}
    -    engines: {node: '>=10.13.0'}
    -
    -  webpack-virtual-modules@0.5.0:
    -    resolution: {integrity: sha512-kyDivFZ7ZM0BVOUteVbDFhlRt7Ah/CSPwJdi8hBpkK7QLumUqdLtVfm/PX/hkcnrvr0i77fO5+TjZ94Pe+C9iw==}
    -
    -  webpack@5.91.0:
    -    resolution: {integrity: sha512-rzVwlLeBWHJbmgTC/8TvAcu5vpJNII+MelQpylD4jNERPwpBJOE2lEcko1zJX3QJeLjTTAnQxn/OJ8bjDzVQaw==}
    -    engines: {node: '>=10.13.0'}
    -    hasBin: true
    -    peerDependencies:
    -      webpack-cli: '*'
    -    peerDependenciesMeta:
    -      webpack-cli:
    -        optional: true
    -
    -  websocket-driver@0.7.4:
    -    resolution: {integrity: sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg==}
    -    engines: {node: '>=0.8.0'}
    -
    -  websocket-extensions@0.1.4:
    -    resolution: {integrity: sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==}
    -    engines: {node: '>=0.8.0'}
    -
    -  whatwg-encoding@3.1.1:
    -    resolution: {integrity: sha512-6qN4hJdMwfYBtE3YBTTHhoeuUrDBPZmbQaxWAqSALV/MeEnR5z1xd8UKud2RAkFoPkmB+hli1TZSnyi84xz1vQ==}
    -    engines: {node: '>=18'}
    -
    -  whatwg-mimetype@4.0.0:
    -    resolution: {integrity: sha512-QaKxh0eNIi2mE9p2vEdzfagOKHCcj1pJ56EEHGQOVxp8r9/iszLUUV7v89x9O1p/T+NlTM5W7jW6+cz4Fq1YVg==}
    -    engines: {node: '>=18'}
    -
    -  whatwg-url@14.0.0:
    -    resolution: {integrity: sha512-1lfMEm2IEr7RIV+f4lUNPOqfFL+pO+Xw3fJSqmjX9AbXcXcYOkCe1P6+9VBZB6n94af16NfZf+sSk0JCBZC9aw==}
    -    engines: {node: '>=18'}
    -
    -  whatwg-url@5.0.0:
    -    resolution: {integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==}
    -
    -  whatwg-url@7.1.0:
    -    resolution: {integrity: sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==}
    -
    -  which-boxed-primitive@1.0.2:
    -    resolution: {integrity: sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==}
    -
    -  which-module@2.0.1:
    -    resolution: {integrity: sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ==}
    -
    -  which-typed-array@1.1.15:
    -    resolution: {integrity: sha512-oV0jmFtUky6CXfkqehVvBP/LSWJ2sy4vWMioiENyJLePrBO/yKyV9OyJySfAKosh+RYkIl5zJCNZ8/4JncrpdA==}
    -    engines: {node: '>= 0.4'}
    -
    -  which@1.3.1:
    -    resolution: {integrity: sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==}
    -    hasBin: true
    -
    -  which@2.0.2:
    -    resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==}
    -    engines: {node: '>= 8'}
    -    hasBin: true
    -
    -  why-is-node-running@2.2.2:
    -    resolution: {integrity: sha512-6tSwToZxTOcotxHeA+qGCq1mVzKR3CwcJGmVcY+QE8SHy6TnpFnh8PAvPNHYr7EcuVeG0QSMxtYCuO1ta/G/oA==}
    -    engines: {node: '>=8'}
    -    hasBin: true
    -
    -  widest-line@3.1.0:
    -    resolution: {integrity: sha512-NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg==}
    -    engines: {node: '>=8'}
    -
    -  wildcard@2.0.1:
    -    resolution: {integrity: sha512-CC1bOL87PIWSBhDcTrdeLo6eGT7mCFtrg0uIJtqJUFyK+eJnzl8A1niH56uu7KMa5XFrtiV+AQuHO3n7DsHnLQ==}
    -
    -  wordwrap@1.0.0:
    -    resolution: {integrity: sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==}
    -
    -  workbox-background-sync@7.1.0:
    -    resolution: {integrity: sha512-rMbgrzueVWDFcEq1610YyDW71z0oAXLfdRHRQcKw4SGihkfOK0JUEvqWHFwA6rJ+6TClnMIn7KQI5PNN1XQXwQ==}
    -
    -  workbox-broadcast-update@7.1.0:
    -    resolution: {integrity: sha512-O36hIfhjej/c5ar95pO67k1GQw0/bw5tKP7CERNgK+JdxBANQhDmIuOXZTNvwb2IHBx9hj2kxvcDyRIh5nzOgQ==}
    -
    -  workbox-build@7.1.0:
    -    resolution: {integrity: sha512-F6R94XAxjB2j4ETMkP1EXKfjECOtDmyvt0vz3BzgWJMI68TNSXIVNkgatwUKBlPGOfy9n2F/4voYRNAhEvPJNg==}
    -    engines: {node: '>=16.0.0'}
    -
    -  workbox-cacheable-response@7.1.0:
    -    resolution: {integrity: sha512-iwsLBll8Hvua3xCuBB9h92+/e0wdsmSVgR2ZlvcfjepZWwhd3osumQB3x9o7flj+FehtWM2VHbZn8UJeBXXo6Q==}
    -
    -  workbox-core@7.0.0:
    -    resolution: {integrity: sha512-81JkAAZtfVP8darBpfRTovHg8DGAVrKFgHpOArZbdFd78VqHr5Iw65f2guwjE2NlCFbPFDoez3D3/6ZvhI/rwQ==}
    -
    -  workbox-core@7.1.0:
    -    resolution: {integrity: sha512-5KB4KOY8rtL31nEF7BfvU7FMzKT4B5TkbYa2tzkS+Peqj0gayMT9SytSFtNzlrvMaWgv6y/yvP9C0IbpFjV30Q==}
    -
    -  workbox-expiration@7.1.0:
    -    resolution: {integrity: sha512-m5DcMY+A63rJlPTbbBNtpJ20i3enkyOtSgYfv/l8h+D6YbbNiA0zKEkCUaMsdDlxggla1oOfRkyqTvl5Ni5KQQ==}
    -
    -  workbox-google-analytics@7.1.0:
    -    resolution: {integrity: sha512-FvE53kBQHfVTcZyczeBVRexhh7JTkyQ8HAvbVY6mXd2n2A7Oyz/9fIwnY406ZcDhvE4NFfKGjW56N4gBiqkrew==}
    -
    -  workbox-navigation-preload@7.1.0:
    -    resolution: {integrity: sha512-4wyAbo0vNI/X0uWNJhCMKxnPanNyhybsReMGN9QUpaePLTiDpKxPqFxl4oUmBNddPwIXug01eTSLVIFXimRG/A==}
    -
    -  workbox-precaching@7.1.0:
    -    resolution: {integrity: sha512-LyxzQts+UEpgtmfnolo0hHdNjoB7EoRWcF7EDslt+lQGd0lW4iTvvSe3v5JiIckQSB5KTW5xiCqjFviRKPj1zA==}
    -
    -  workbox-range-requests@7.1.0:
    -    resolution: {integrity: sha512-m7+O4EHolNs5yb/79CrnwPR/g/PRzMFYEdo01LqwixVnc/sbzNSvKz0d04OE3aMRel1CwAAZQheRsqGDwATgPQ==}
    -
    -  workbox-recipes@7.1.0:
    -    resolution: {integrity: sha512-NRrk4ycFN9BHXJB6WrKiRX3W3w75YNrNrzSX9cEZgFB5ubeGoO8s/SDmOYVrFYp9HMw6sh1Pm3eAY/1gVS8YLg==}
    -
    -  workbox-routing@7.1.0:
    -    resolution: {integrity: sha512-oOYk+kLriUY2QyHkIilxUlVcFqwduLJB7oRZIENbqPGeBP/3TWHYNNdmGNhz1dvKuw7aqvJ7CQxn27/jprlTdg==}
    -
    -  workbox-strategies@7.1.0:
    -    resolution: {integrity: sha512-/UracPiGhUNehGjRm/tLUQ+9PtWmCbRufWtV0tNrALuf+HZ4F7cmObSEK+E4/Bx1p8Syx2tM+pkIrvtyetdlew==}
    -
    -  workbox-streams@7.1.0:
    -    resolution: {integrity: sha512-WyHAVxRXBMfysM8ORwiZnI98wvGWTVAq/lOyBjf00pXFvG0mNaVz4Ji+u+fKa/mf1i2SnTfikoYKto4ihHeS6w==}
    -
    -  workbox-sw@7.1.0:
    -    resolution: {integrity: sha512-Hml/9+/njUXBglv3dtZ9WBKHI235AQJyLBV1G7EFmh4/mUdSQuXui80RtjDeVRrXnm/6QWgRUEHG3/YBVbxtsA==}
    -
    -  workbox-window@7.0.0:
    -    resolution: {integrity: sha512-j7P/bsAWE/a7sxqTzXo3P2ALb1reTfZdvVp6OJ/uLr/C2kZAMvjeWGm8V4htQhor7DOvYg0sSbFN2+flT5U0qA==}
    -
    -  workbox-window@7.1.0:
    -    resolution: {integrity: sha512-ZHeROyqR+AS5UPzholQRDttLFqGMwP0Np8MKWAdyxsDETxq3qOAyXvqessc3GniohG6e0mAqSQyKOHmT8zPF7g==}
    -
    -  wrap-ansi@6.2.0:
    -    resolution: {integrity: sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==}
    -    engines: {node: '>=8'}
    -
    -  wrap-ansi@7.0.0:
    -    resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==}
    -    engines: {node: '>=10'}
    -
    -  wrap-ansi@8.1.0:
    -    resolution: {integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==}
    -    engines: {node: '>=12'}
    -
    -  wrap-ansi@9.0.0:
    -    resolution: {integrity: sha512-G8ura3S+3Z2G+mkgNRq8dqaFZAuxfsxpBB8OCTGRTCtp+l/v9nbFNmCUP1BZMts3G1142MsZfn6eeUKrr4PD1Q==}
    -    engines: {node: '>=18'}
    -
    -  wrappy@1.0.2:
    -    resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==}
    -
    -  write-file-atomic@3.0.3:
    -    resolution: {integrity: sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==}
    -
    -  write-file-atomic@4.0.2:
    -    resolution: {integrity: sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==}
    -    engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0}
    -
    -  ws@8.13.0:
    -    resolution: {integrity: sha512-x9vcZYTrFPC7aSIbj7sRCYo7L/Xb8Iy+pW0ng0wt2vCJv7M9HOMy0UoN3rr+IFC7hb7vXoqS+P9ktyLLLhO+LA==}
    -    engines: {node: '>=10.0.0'}
    -    peerDependencies:
    -      bufferutil: ^4.0.1
    -      utf-8-validate: '>=5.0.2'
    -    peerDependenciesMeta:
    -      bufferutil:
    -        optional: true
    -      utf-8-validate:
    -        optional: true
    -
    -  ws@8.16.0:
    -    resolution: {integrity: sha512-HS0c//TP7Ina87TfiPUz1rQzMhHrl/SG2guqRcTOIUYD2q8uhUdNHZYJUaQ8aTGPzCh+c6oawMKW35nFl1dxyQ==}
    -    engines: {node: '>=10.0.0'}
    -    peerDependencies:
    -      bufferutil: ^4.0.1
    -      utf-8-validate: '>=5.0.2'
    -    peerDependenciesMeta:
    -      bufferutil:
    -        optional: true
    -      utf-8-validate:
    -        optional: true
    -
    -  ws@8.5.0:
    -    resolution: {integrity: sha512-BWX0SWVgLPzYwF8lTzEy1egjhS4S4OEAHfsO8o65WOVsrnSRGaSiUaa9e0ggGlkMTtBlmOpEXiie9RUcBO86qg==}
    -    engines: {node: '>=10.0.0'}
    -    peerDependencies:
    -      bufferutil: ^4.0.1
    -      utf-8-validate: ^5.0.2
    -    peerDependenciesMeta:
    -      bufferutil:
    -        optional: true
    -      utf-8-validate:
    -        optional: true
    -
    -  xdg-basedir@5.1.0:
    -    resolution: {integrity: sha512-GCPAHLvrIH13+c0SuacwvRYj2SxJXQ4kaVTT5xgL3kPrz56XxkF21IGhjSE1+W0aw7gpBWRGXLCPnPby6lSpmQ==}
    -    engines: {node: '>=12'}
    -
    -  xml-name-validator@5.0.0:
    -    resolution: {integrity: sha512-EvGK8EJ3DhaHfbRlETOWAS5pO9MZITeauHKJyb8wyajUfQUenkIg2MvLDTZ4T/TgIcm3HU0TFBgWWboAZ30UHg==}
    -    engines: {node: '>=18'}
    -
    -  xmlbuilder@15.1.1:
    -    resolution: {integrity: sha512-yMqGBqtXyeN1e3TGYvgNgDVZ3j84W4cwkOXQswghol6APgZWaff9lnbvN7MHYJOiXsvGPXtjTYJEiC9J2wv9Eg==}
    -    engines: {node: '>=8.0'}
    -
    -  xmlchars@2.2.0:
    -    resolution: {integrity: sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==}
    -
    -  xxhashjs@0.2.2:
    -    resolution: {integrity: sha512-AkTuIuVTET12tpsVIQo+ZU6f/qDmKuRUcjaqR+OIvm+aCBsZ95i7UVY5WJ9TMsSaZ0DA2WxoZ4acu0sPH+OKAw==}
    -
    -  y18n@4.0.3:
    -    resolution: {integrity: sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==}
    -
    -  y18n@5.0.8:
    -    resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==}
    -    engines: {node: '>=10'}
    -
    -  yallist@3.1.1:
    -    resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==}
    -
    -  yallist@4.0.0:
    -    resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==}
    -
    -  yaml@2.3.4:
    -    resolution: {integrity: sha512-8aAvwVUSHpfEqTQ4w/KMlf3HcRdt50E5ODIQJBw1fQ5RL34xabzxtUlzTXVqc4rkZsPbvrXKWnABCD7kWSmocA==}
    -    engines: {node: '>= 14'}
    -
    -  yaml@2.4.1:
    -    resolution: {integrity: sha512-pIXzoImaqmfOrL7teGUBt/T7ZDnyeGBWyXQBvOVhLkWLN37GXv8NMLK406UY6dS51JfcQHsmcW5cJ441bHg6Lg==}
    -    engines: {node: '>= 14'}
    -    hasBin: true
    -
    -  yargs-parser@18.1.3:
    -    resolution: {integrity: sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==}
    -    engines: {node: '>=6'}
    -
    -  yargs-parser@21.1.1:
    -    resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==}
    -    engines: {node: '>=12'}
    -
    -  yargs@15.4.1:
    -    resolution: {integrity: sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==}
    -    engines: {node: '>=8'}
    -
    -  yargs@17.7.2:
    -    resolution: {integrity: sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==}
    -    engines: {node: '>=12'}
    -
    -  yauzl@2.10.0:
    -    resolution: {integrity: sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==}
    -
    -  yocto-queue@0.1.0:
    -    resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==}
    -    engines: {node: '>=10'}
    -
    -  yocto-queue@1.0.0:
    -    resolution: {integrity: sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==}
    -    engines: {node: '>=12.20'}
    -
    -  zwitch@2.0.4:
    -    resolution: {integrity: sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==}
    -
    -snapshots:
    -
    -  '@aashutoshrathi/word-wrap@1.2.6': {}
    -
    -  '@adobe/jsonschema2md@8.0.2':
    -    dependencies:
    -      '@types/json-schema': 7.0.15
    -      '@types/mdast': 4.0.3
    -      es2015-i18n-tag: 1.6.1
    -      ferrum: 1.9.4
    -      fs-extra: 11.2.0
    -      github-slugger: 2.0.0
    -      js-yaml: 4.1.0
    -      json-schema: 0.4.0
    -      mdast-builder: 1.1.1
    -      mdast-util-to-string: 4.0.0
    -      readdirp: 3.6.0
    -      remark-gfm: 4.0.0
    -      remark-parse: 11.0.0
    -      remark-stringify: 11.0.0
    -      unified: 11.0.4
    -      unist-util-inspect: 8.0.0
    -      yargs: 17.7.2
    -    transitivePeerDependencies:
    -      - supports-color
    -
    -  '@algolia/autocomplete-core@1.9.3(@algolia/client-search@4.23.3)(algoliasearch@4.23.3)(search-insights@2.13.0)':
    -    dependencies:
    -      '@algolia/autocomplete-plugin-algolia-insights': 1.9.3(@algolia/client-search@4.23.3)(algoliasearch@4.23.3)(search-insights@2.13.0)
    -      '@algolia/autocomplete-shared': 1.9.3(@algolia/client-search@4.23.3)(algoliasearch@4.23.3)
    -    transitivePeerDependencies:
    -      - '@algolia/client-search'
    -      - algoliasearch
    -      - search-insights
    -
    -  '@algolia/autocomplete-plugin-algolia-insights@1.9.3(@algolia/client-search@4.23.3)(algoliasearch@4.23.3)(search-insights@2.13.0)':
    -    dependencies:
    -      '@algolia/autocomplete-shared': 1.9.3(@algolia/client-search@4.23.3)(algoliasearch@4.23.3)
    -      search-insights: 2.13.0
    -    transitivePeerDependencies:
    -      - '@algolia/client-search'
    -      - algoliasearch
    -
    -  '@algolia/autocomplete-preset-algolia@1.9.3(@algolia/client-search@4.23.3)(algoliasearch@4.23.3)':
    -    dependencies:
    -      '@algolia/autocomplete-shared': 1.9.3(@algolia/client-search@4.23.3)(algoliasearch@4.23.3)
    -      '@algolia/client-search': 4.23.3
    -      algoliasearch: 4.23.3
    -
    -  '@algolia/autocomplete-shared@1.9.3(@algolia/client-search@4.23.3)(algoliasearch@4.23.3)':
    -    dependencies:
    -      '@algolia/client-search': 4.23.3
    -      algoliasearch: 4.23.3
    -
    -  '@algolia/cache-browser-local-storage@4.23.3':
    -    dependencies:
    -      '@algolia/cache-common': 4.23.3
    -
    -  '@algolia/cache-common@4.23.3': {}
    -
    -  '@algolia/cache-in-memory@4.23.3':
    -    dependencies:
    -      '@algolia/cache-common': 4.23.3
    -
    -  '@algolia/client-account@4.23.3':
    -    dependencies:
    -      '@algolia/client-common': 4.23.3
    -      '@algolia/client-search': 4.23.3
    -      '@algolia/transporter': 4.23.3
    -
    -  '@algolia/client-analytics@4.23.3':
    -    dependencies:
    -      '@algolia/client-common': 4.23.3
    -      '@algolia/client-search': 4.23.3
    -      '@algolia/requester-common': 4.23.3
    -      '@algolia/transporter': 4.23.3
    -
    -  '@algolia/client-common@4.23.3':
    -    dependencies:
    -      '@algolia/requester-common': 4.23.3
    -      '@algolia/transporter': 4.23.3
    -
    -  '@algolia/client-personalization@4.23.3':
    -    dependencies:
    -      '@algolia/client-common': 4.23.3
    -      '@algolia/requester-common': 4.23.3
    -      '@algolia/transporter': 4.23.3
    -
    -  '@algolia/client-search@4.23.3':
    -    dependencies:
    -      '@algolia/client-common': 4.23.3
    -      '@algolia/requester-common': 4.23.3
    -      '@algolia/transporter': 4.23.3
    -
    -  '@algolia/logger-common@4.23.3': {}
    -
    -  '@algolia/logger-console@4.23.3':
    -    dependencies:
    -      '@algolia/logger-common': 4.23.3
    -
    -  '@algolia/recommend@4.23.3':
    -    dependencies:
    -      '@algolia/cache-browser-local-storage': 4.23.3
    -      '@algolia/cache-common': 4.23.3
    -      '@algolia/cache-in-memory': 4.23.3
    -      '@algolia/client-common': 4.23.3
    -      '@algolia/client-search': 4.23.3
    -      '@algolia/logger-common': 4.23.3
    -      '@algolia/logger-console': 4.23.3
    -      '@algolia/requester-browser-xhr': 4.23.3
    -      '@algolia/requester-common': 4.23.3
    -      '@algolia/requester-node-http': 4.23.3
    -      '@algolia/transporter': 4.23.3
    -
    -  '@algolia/requester-browser-xhr@4.23.3':
    -    dependencies:
    -      '@algolia/requester-common': 4.23.3
    -
    -  '@algolia/requester-common@4.23.3': {}
    -
    -  '@algolia/requester-node-http@4.23.3':
    -    dependencies:
    -      '@algolia/requester-common': 4.23.3
    -
    -  '@algolia/transporter@4.23.3':
    -    dependencies:
    -      '@algolia/cache-common': 4.23.3
    -      '@algolia/logger-common': 4.23.3
    -      '@algolia/requester-common': 4.23.3
    -
    -  '@alloc/quick-lru@5.2.0': {}
    -
    -  '@ampproject/remapping@2.3.0':
    -    dependencies:
    -      '@jridgewell/gen-mapping': 0.3.5
    -      '@jridgewell/trace-mapping': 0.3.25
    -
    -  '@antfu/install-pkg@0.1.1':
    -    dependencies:
    -      execa: 5.1.1
    -      find-up: 5.0.0
    -
    -  '@antfu/utils@0.7.6': {}
    -
    -  '@antfu/utils@0.7.7': {}
    -
    -  '@apideck/better-ajv-errors@0.3.6(ajv@8.13.0)':
    -    dependencies:
    -      ajv: 8.13.0
    -      json-schema: 0.4.0
    -      jsonpointer: 5.0.1
    -      leven: 3.1.0
    -
    -  '@applitools/core-base@1.10.1':
    -    dependencies:
    -      '@applitools/image': 1.1.9
    -      '@applitools/logger': 2.0.14
    -      '@applitools/req': 1.6.5
    -      '@applitools/utils': 1.7.0
    -      abort-controller: 3.0.0
    -      throat: 6.0.2
    -    transitivePeerDependencies:
    -      - supports-color
    -
    -  '@applitools/core@4.11.1(typescript@5.4.5)':
    -    dependencies:
    -      '@applitools/core-base': 1.10.1
    -      '@applitools/dom-capture': 11.2.6
    -      '@applitools/dom-snapshot': 4.9.2
    -      '@applitools/driver': 1.16.5
    -      '@applitools/ec-client': 1.7.32(typescript@5.4.5)
    -      '@applitools/logger': 2.0.14
    -      '@applitools/nml-client': 1.7.5
    -      '@applitools/req': 1.6.5
    -      '@applitools/screenshoter': 3.8.27
    -      '@applitools/snippets': 2.4.25
    -      '@applitools/socket': 1.1.14
    -      '@applitools/spec-driver-webdriver': 1.1.3(webdriver@7.31.1)
    -      '@applitools/ufg-client': 1.10.2
    -      '@applitools/utils': 1.7.0
    -      '@types/ws': 8.5.5
    -      abort-controller: 3.0.0
    -      chalk: 4.1.2
    -      node-fetch: 2.6.7(encoding@0.1.13)
    -      semver: 7.5.4
    -      webdriver: 7.31.1(typescript@5.4.5)
    -      ws: 8.13.0
    -      yargs: 17.7.2
    -    transitivePeerDependencies:
    -      - bufferutil
    -      - encoding
    -      - supports-color
    -      - typescript
    -      - utf-8-validate
    -
    -  '@applitools/css-tree@1.1.2':
    -    dependencies:
    -      mdn-data: 2.1.0
    -      source-map-js: 1.0.1
    -
    -  '@applitools/dom-capture@11.2.6':
    -    dependencies:
    -      '@applitools/dom-shared': 1.0.13
    -      '@applitools/functional-commons': 1.6.0
    -
    -  '@applitools/dom-shared@1.0.13': {}
    -
    -  '@applitools/dom-snapshot@4.9.2':
    -    dependencies:
    -      '@applitools/css-tree': 1.1.2
    -      '@applitools/dom-shared': 1.0.13
    -      '@applitools/functional-commons': 1.6.0
    -      pako: 1.0.11
    -
    -  '@applitools/driver@1.16.5':
    -    dependencies:
    -      '@applitools/logger': 2.0.14
    -      '@applitools/snippets': 2.4.25
    -      '@applitools/utils': 1.7.0
    -      semver: 7.5.4
    -    transitivePeerDependencies:
    -      - supports-color
    -
    -  '@applitools/ec-client@1.7.32(typescript@5.4.5)':
    -    dependencies:
    -      '@applitools/core-base': 1.10.1
    -      '@applitools/driver': 1.16.5
    -      '@applitools/logger': 2.0.14
    -      '@applitools/req': 1.6.5
    -      '@applitools/socket': 1.1.14
    -      '@applitools/spec-driver-webdriver': 1.1.3(webdriver@7.31.1)
    -      '@applitools/tunnel-client': 1.4.1
    -      '@applitools/utils': 1.7.0
    -      abort-controller: 3.0.0
    -      webdriver: 7.31.1(typescript@5.4.5)
    -      yargs: 17.7.2
    -    transitivePeerDependencies:
    -      - supports-color
    -      - typescript
    -
    -  '@applitools/eg-frpc@1.0.5': {}
    -
    -  '@applitools/eg-socks5-proxy-server@0.5.6':
    -    dependencies:
    -      binary: 0.3.0
    -      is-localhost-ip: 2.0.0
    -
    -  '@applitools/execution-grid-tunnel@2.1.10':
    -    dependencies:
    -      '@applitools/eg-frpc': 1.0.5
    -      '@applitools/eg-socks5-proxy-server': 0.5.6
    -      '@applitools/logger': 1.1.53
    -      dotenv: 16.4.5
    -      encoding: 0.1.13
    -      fastify: 3.29.5
    -      fastify-plugin: 3.0.1
    -      find-process: 1.4.7
    -      ini: 3.0.1
    -      node-cleanup: 2.1.2
    -      node-fetch: 2.6.7(encoding@0.1.13)
    -      p-retry: 4.6.2
    -      teen_process: 1.16.0
    -    transitivePeerDependencies:
    -      - supports-color
    -
    -  '@applitools/eyes-cypress@3.43.1(typescript@5.4.5)':
    -    dependencies:
    -      '@applitools/core': 4.11.1(typescript@5.4.5)
    -      '@applitools/eyes': 1.17.1(typescript@5.4.5)
    -      '@applitools/functional-commons': 1.6.0
    -      '@applitools/logger': 2.0.14
    -      '@applitools/utils': 1.7.0
    -      boxen: 5.1.2
    -      chalk: 3.0.0
    -      semver: 7.5.4
    -      uuid: 8.3.2
    -      ws: 8.5.0
    -    transitivePeerDependencies:
    -      - bufferutil
    -      - encoding
    -      - supports-color
    -      - typescript
    -      - utf-8-validate
    -
    -  '@applitools/eyes@1.17.1(typescript@5.4.5)':
    -    dependencies:
    -      '@applitools/core': 4.11.1(typescript@5.4.5)
    -      '@applitools/logger': 2.0.14
    -      '@applitools/utils': 1.7.0
    -    transitivePeerDependencies:
    -      - bufferutil
    -      - encoding
    -      - supports-color
    -      - typescript
    -      - utf-8-validate
    -
    -  '@applitools/functional-commons@1.6.0': {}
    -
    -  '@applitools/image@1.1.9':
    -    dependencies:
    -      '@applitools/utils': 1.7.0
    -      bmpimagejs: 1.0.4
    -      jpeg-js: 0.4.4
    -      omggif: 1.0.10
    -      png-async: 0.9.4
    -
    -  '@applitools/logger@1.1.53':
    -    dependencies:
    -      '@applitools/utils': 1.3.36
    -      chalk: 4.1.2
    -      debug: 4.3.3
    -    transitivePeerDependencies:
    -      - supports-color
    -
    -  '@applitools/logger@2.0.14':
    -    dependencies:
    -      '@applitools/utils': 1.7.0
    -      chalk: 4.1.2
    -      debug: 4.3.4(supports-color@8.1.1)
    -    transitivePeerDependencies:
    -      - supports-color
    -
    -  '@applitools/nml-client@1.7.5':
    -    dependencies:
    -      '@applitools/logger': 2.0.14
    -      '@applitools/req': 1.6.5
    -      '@applitools/utils': 1.7.0
    -    transitivePeerDependencies:
    -      - supports-color
    -
    -  '@applitools/req@1.6.5':
    -    dependencies:
    -      '@applitools/utils': 1.7.0
    -      abort-controller: 3.0.0
    -      http-proxy-agent: 5.0.0
    -      https-proxy-agent: 5.0.1
    -      node-fetch: 3.3.1
    -    transitivePeerDependencies:
    -      - supports-color
    -
    -  '@applitools/screenshoter@3.8.27':
    -    dependencies:
    -      '@applitools/image': 1.1.9
    -      '@applitools/logger': 2.0.14
    -      '@applitools/snippets': 2.4.25
    -      '@applitools/utils': 1.7.0
    -    transitivePeerDependencies:
    -      - supports-color
    -
    -  '@applitools/snippets@2.4.25': {}
    -
    -  '@applitools/socket@1.1.14':
    -    dependencies:
    -      '@applitools/logger': 2.0.14
    -      '@applitools/utils': 1.7.0
    -    transitivePeerDependencies:
    -      - supports-color
    -
    -  '@applitools/spec-driver-webdriver@1.1.3(webdriver@7.31.1)':
    -    dependencies:
    -      '@applitools/driver': 1.16.5
    -      '@applitools/utils': 1.7.0
    -      http-proxy-agent: 5.0.0
    -      https-proxy-agent: 5.0.1
    -      webdriver: 7.31.1(typescript@5.4.5)
    -    transitivePeerDependencies:
    -      - supports-color
    -
    -  '@applitools/tunnel-client@1.4.1':
    -    dependencies:
    -      '@applitools/execution-grid-tunnel': 2.1.10
    -      '@applitools/logger': 2.0.14
    -      '@applitools/req': 1.6.5
    -      '@applitools/socket': 1.1.14
    -      '@applitools/utils': 1.7.0
    -      abort-controller: 3.0.0
    -      yargs: 17.7.2
    -    transitivePeerDependencies:
    -      - supports-color
    -
    -  '@applitools/ufg-client@1.10.2':
    -    dependencies:
    -      '@applitools/css-tree': 1.1.2
    -      '@applitools/image': 1.1.9
    -      '@applitools/logger': 2.0.14
    -      '@applitools/req': 1.6.5
    -      '@applitools/utils': 1.7.0
    -      '@xmldom/xmldom': 0.8.10
    -      abort-controller: 3.0.0
    -      throat: 6.0.2
    -    transitivePeerDependencies:
    -      - supports-color
    -
    -  '@applitools/utils@1.3.36': {}
    -
    -  '@applitools/utils@1.7.0': {}
    -
    -  '@babel/code-frame@7.24.2':
    -    dependencies:
    -      '@babel/highlight': 7.24.2
    -      picocolors: 1.0.0
    -
    -  '@babel/compat-data@7.24.4': {}
    -
    -  '@babel/core@7.24.4':
    -    dependencies:
    -      '@ampproject/remapping': 2.3.0
    -      '@babel/code-frame': 7.24.2
    -      '@babel/generator': 7.24.5
    -      '@babel/helper-compilation-targets': 7.23.6
    -      '@babel/helper-module-transforms': 7.24.5(@babel/core@7.24.4)
    -      '@babel/helpers': 7.24.5
    -      '@babel/parser': 7.24.5
    -      '@babel/template': 7.24.0
    -      '@babel/traverse': 7.24.5
    -      '@babel/types': 7.24.5
    -      convert-source-map: 2.0.0
    -      debug: 4.3.4(supports-color@8.1.1)
    -      gensync: 1.0.0-beta.2
    -      json5: 2.2.3
    -      semver: 6.3.1
    -    transitivePeerDependencies:
    -      - supports-color
    -
    -  '@babel/core@7.24.5':
    -    dependencies:
    -      '@ampproject/remapping': 2.3.0
    -      '@babel/code-frame': 7.24.2
    -      '@babel/generator': 7.24.5
    -      '@babel/helper-compilation-targets': 7.23.6
    -      '@babel/helper-module-transforms': 7.24.5(@babel/core@7.24.5)
    -      '@babel/helpers': 7.24.5
    -      '@babel/parser': 7.24.5
    -      '@babel/template': 7.24.0
    -      '@babel/traverse': 7.24.5
    -      '@babel/types': 7.24.5
    -      convert-source-map: 2.0.0
    -      debug: 4.3.4(supports-color@8.1.1)
    -      gensync: 1.0.0-beta.2
    -      json5: 2.2.3
    -      semver: 6.3.1
    -    transitivePeerDependencies:
    -      - supports-color
    -
    -  '@babel/generator@7.24.5':
    -    dependencies:
    -      '@babel/types': 7.24.5
    -      '@jridgewell/gen-mapping': 0.3.5
    -      '@jridgewell/trace-mapping': 0.3.25
    -      jsesc: 2.5.2
    -
    -  '@babel/helper-annotate-as-pure@7.22.5':
    -    dependencies:
    -      '@babel/types': 7.24.5
    -
    -  '@babel/helper-builder-binary-assignment-operator-visitor@7.22.15':
    -    dependencies:
    -      '@babel/types': 7.24.5
    -
    -  '@babel/helper-compilation-targets@7.23.6':
    -    dependencies:
    -      '@babel/compat-data': 7.24.4
    -      '@babel/helper-validator-option': 7.23.5
    -      browserslist: 4.23.0
    -      lru-cache: 5.1.1
    -      semver: 6.3.1
    -
    -  '@babel/helper-create-class-features-plugin@7.24.5(@babel/core@7.24.5)':
    -    dependencies:
    -      '@babel/core': 7.24.5
    -      '@babel/helper-annotate-as-pure': 7.22.5
    -      '@babel/helper-environment-visitor': 7.22.20
    -      '@babel/helper-function-name': 7.23.0
    -      '@babel/helper-member-expression-to-functions': 7.24.5
    -      '@babel/helper-optimise-call-expression': 7.22.5
    -      '@babel/helper-replace-supers': 7.24.1(@babel/core@7.24.5)
    -      '@babel/helper-skip-transparent-expression-wrappers': 7.22.5
    -      '@babel/helper-split-export-declaration': 7.24.5
    -      semver: 6.3.1
    -
    -  '@babel/helper-create-regexp-features-plugin@7.22.15(@babel/core@7.24.5)':
    -    dependencies:
    -      '@babel/core': 7.24.5
    -      '@babel/helper-annotate-as-pure': 7.22.5
    -      regexpu-core: 5.3.2
    -      semver: 6.3.1
    -
    -  '@babel/helper-define-polyfill-provider@0.6.2(@babel/core@7.24.5)':
    -    dependencies:
    -      '@babel/core': 7.24.5
    -      '@babel/helper-compilation-targets': 7.23.6
    -      '@babel/helper-plugin-utils': 7.24.5
    -      debug: 4.3.4(supports-color@8.1.1)
    -      lodash.debounce: 4.0.8
    -      resolve: 1.22.8
    -    transitivePeerDependencies:
    -      - supports-color
    -
    -  '@babel/helper-environment-visitor@7.22.20': {}
    -
    -  '@babel/helper-function-name@7.23.0':
    -    dependencies:
    -      '@babel/template': 7.24.0
    -      '@babel/types': 7.24.5
    -
    -  '@babel/helper-hoist-variables@7.22.5':
    -    dependencies:
    -      '@babel/types': 7.24.5
    -
    -  '@babel/helper-member-expression-to-functions@7.24.5':
    -    dependencies:
    -      '@babel/types': 7.24.5
    -
    -  '@babel/helper-module-imports@7.24.3':
    -    dependencies:
    -      '@babel/types': 7.24.5
    -
    -  '@babel/helper-module-transforms@7.24.5(@babel/core@7.24.4)':
    -    dependencies:
    -      '@babel/core': 7.24.4
    -      '@babel/helper-environment-visitor': 7.22.20
    -      '@babel/helper-module-imports': 7.24.3
    -      '@babel/helper-simple-access': 7.24.5
    -      '@babel/helper-split-export-declaration': 7.24.5
    -      '@babel/helper-validator-identifier': 7.24.5
    -
    -  '@babel/helper-module-transforms@7.24.5(@babel/core@7.24.5)':
    -    dependencies:
    -      '@babel/core': 7.24.5
    -      '@babel/helper-environment-visitor': 7.22.20
    -      '@babel/helper-module-imports': 7.24.3
    -      '@babel/helper-simple-access': 7.24.5
    -      '@babel/helper-split-export-declaration': 7.24.5
    -      '@babel/helper-validator-identifier': 7.24.5
    -
    -  '@babel/helper-optimise-call-expression@7.22.5':
    -    dependencies:
    -      '@babel/types': 7.24.5
    -
    -  '@babel/helper-plugin-utils@7.24.5': {}
    -
    -  '@babel/helper-remap-async-to-generator@7.22.20(@babel/core@7.24.5)':
    -    dependencies:
    -      '@babel/core': 7.24.5
    -      '@babel/helper-annotate-as-pure': 7.22.5
    -      '@babel/helper-environment-visitor': 7.22.20
    -      '@babel/helper-wrap-function': 7.24.5
    -
    -  '@babel/helper-replace-supers@7.24.1(@babel/core@7.24.5)':
    -    dependencies:
    -      '@babel/core': 7.24.5
    -      '@babel/helper-environment-visitor': 7.22.20
    -      '@babel/helper-member-expression-to-functions': 7.24.5
    -      '@babel/helper-optimise-call-expression': 7.22.5
    -
    -  '@babel/helper-simple-access@7.24.5':
    -    dependencies:
    -      '@babel/types': 7.24.5
    -
    -  '@babel/helper-skip-transparent-expression-wrappers@7.22.5':
    -    dependencies:
    -      '@babel/types': 7.24.5
    -
    -  '@babel/helper-split-export-declaration@7.24.5':
    -    dependencies:
    -      '@babel/types': 7.24.5
    -
    -  '@babel/helper-string-parser@7.24.1': {}
    -
    -  '@babel/helper-validator-identifier@7.22.20': {}
    -
    -  '@babel/helper-validator-identifier@7.24.5': {}
    -
    -  '@babel/helper-validator-option@7.23.5': {}
    -
    -  '@babel/helper-wrap-function@7.24.5':
    -    dependencies:
    -      '@babel/helper-function-name': 7.23.0
    -      '@babel/template': 7.24.0
    -      '@babel/types': 7.24.5
    -
    -  '@babel/helpers@7.24.5':
    -    dependencies:
    -      '@babel/template': 7.24.0
    -      '@babel/traverse': 7.24.5
    -      '@babel/types': 7.24.5
    -    transitivePeerDependencies:
    -      - supports-color
    -
    -  '@babel/highlight@7.24.2':
    -    dependencies:
    -      '@babel/helper-validator-identifier': 7.24.5
    -      chalk: 2.4.2
    -      js-tokens: 4.0.0
    -      picocolors: 1.0.0
    -
    -  '@babel/parser@7.24.5':
    -    dependencies:
    -      '@babel/types': 7.24.5
    -
    -  '@babel/plugin-bugfix-firefox-class-in-computed-class-key@7.24.5(@babel/core@7.24.5)':
    -    dependencies:
    -      '@babel/core': 7.24.5
    -      '@babel/helper-environment-visitor': 7.22.20
    -      '@babel/helper-plugin-utils': 7.24.5
    -
    -  '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.24.1(@babel/core@7.24.5)':
    -    dependencies:
    -      '@babel/core': 7.24.5
    -      '@babel/helper-plugin-utils': 7.24.5
    -
    -  '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.24.1(@babel/core@7.24.5)':
    -    dependencies:
    -      '@babel/core': 7.24.5
    -      '@babel/helper-plugin-utils': 7.24.5
    -      '@babel/helper-skip-transparent-expression-wrappers': 7.22.5
    -      '@babel/plugin-transform-optional-chaining': 7.24.5(@babel/core@7.24.5)
    -
    -  '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.24.1(@babel/core@7.24.5)':
    -    dependencies:
    -      '@babel/core': 7.24.5
    -      '@babel/helper-environment-visitor': 7.22.20
    -      '@babel/helper-plugin-utils': 7.24.5
    -
    -  '@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2(@babel/core@7.24.5)':
    -    dependencies:
    -      '@babel/core': 7.24.5
    -
    -  '@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.24.5)':
    -    dependencies:
    -      '@babel/core': 7.24.5
    -      '@babel/helper-plugin-utils': 7.24.5
    -
    -  '@babel/plugin-syntax-bigint@7.8.3(@babel/core@7.24.5)':
    -    dependencies:
    -      '@babel/core': 7.24.5
    -      '@babel/helper-plugin-utils': 7.24.5
    -
    -  '@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.24.5)':
    -    dependencies:
    -      '@babel/core': 7.24.5
    -      '@babel/helper-plugin-utils': 7.24.5
    -
    -  '@babel/plugin-syntax-class-static-block@7.14.5(@babel/core@7.24.5)':
    -    dependencies:
    -      '@babel/core': 7.24.5
    -      '@babel/helper-plugin-utils': 7.24.5
    -
    -  '@babel/plugin-syntax-dynamic-import@7.8.3(@babel/core@7.24.5)':
    -    dependencies:
    -      '@babel/core': 7.24.5
    -      '@babel/helper-plugin-utils': 7.24.5
    -
    -  '@babel/plugin-syntax-export-namespace-from@7.8.3(@babel/core@7.24.5)':
    -    dependencies:
    -      '@babel/core': 7.24.5
    -      '@babel/helper-plugin-utils': 7.24.5
    -
    -  '@babel/plugin-syntax-import-assertions@7.24.1(@babel/core@7.24.5)':
    -    dependencies:
    -      '@babel/core': 7.24.5
    -      '@babel/helper-plugin-utils': 7.24.5
    -
    -  '@babel/plugin-syntax-import-attributes@7.24.1(@babel/core@7.24.5)':
    -    dependencies:
    -      '@babel/core': 7.24.5
    -      '@babel/helper-plugin-utils': 7.24.5
    -
    -  '@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.24.5)':
    -    dependencies:
    -      '@babel/core': 7.24.5
    -      '@babel/helper-plugin-utils': 7.24.5
    -
    -  '@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.24.5)':
    -    dependencies:
    -      '@babel/core': 7.24.5
    -      '@babel/helper-plugin-utils': 7.24.5
    -
    -  '@babel/plugin-syntax-jsx@7.24.1(@babel/core@7.24.5)':
    -    dependencies:
    -      '@babel/core': 7.24.5
    -      '@babel/helper-plugin-utils': 7.24.5
    -
    -  '@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.24.5)':
    -    dependencies:
    -      '@babel/core': 7.24.5
    -      '@babel/helper-plugin-utils': 7.24.5
    -
    -  '@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.24.5)':
    -    dependencies:
    -      '@babel/core': 7.24.5
    -      '@babel/helper-plugin-utils': 7.24.5
    -
    -  '@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.24.5)':
    -    dependencies:
    -      '@babel/core': 7.24.5
    -      '@babel/helper-plugin-utils': 7.24.5
    -
    -  '@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.24.5)':
    -    dependencies:
    -      '@babel/core': 7.24.5
    -      '@babel/helper-plugin-utils': 7.24.5
    -
    -  '@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.24.5)':
    -    dependencies:
    -      '@babel/core': 7.24.5
    -      '@babel/helper-plugin-utils': 7.24.5
    -
    -  '@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.24.5)':
    -    dependencies:
    -      '@babel/core': 7.24.5
    -      '@babel/helper-plugin-utils': 7.24.5
    -
    -  '@babel/plugin-syntax-private-property-in-object@7.14.5(@babel/core@7.24.5)':
    -    dependencies:
    -      '@babel/core': 7.24.5
    -      '@babel/helper-plugin-utils': 7.24.5
    -
    -  '@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.24.5)':
    -    dependencies:
    -      '@babel/core': 7.24.5
    -      '@babel/helper-plugin-utils': 7.24.5
    -
    -  '@babel/plugin-syntax-typescript@7.24.1(@babel/core@7.24.5)':
    -    dependencies:
    -      '@babel/core': 7.24.5
    -      '@babel/helper-plugin-utils': 7.24.5
    -
    -  '@babel/plugin-syntax-unicode-sets-regex@7.18.6(@babel/core@7.24.5)':
    -    dependencies:
    -      '@babel/core': 7.24.5
    -      '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.24.5)
    -      '@babel/helper-plugin-utils': 7.24.5
    -
    -  '@babel/plugin-transform-arrow-functions@7.24.1(@babel/core@7.24.5)':
    -    dependencies:
    -      '@babel/core': 7.24.5
    -      '@babel/helper-plugin-utils': 7.24.5
    -
    -  '@babel/plugin-transform-async-generator-functions@7.24.3(@babel/core@7.24.5)':
    -    dependencies:
    -      '@babel/core': 7.24.5
    -      '@babel/helper-environment-visitor': 7.22.20
    -      '@babel/helper-plugin-utils': 7.24.5
    -      '@babel/helper-remap-async-to-generator': 7.22.20(@babel/core@7.24.5)
    -      '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.24.5)
    -
    -  '@babel/plugin-transform-async-to-generator@7.24.1(@babel/core@7.24.5)':
    -    dependencies:
    -      '@babel/core': 7.24.5
    -      '@babel/helper-module-imports': 7.24.3
    -      '@babel/helper-plugin-utils': 7.24.5
    -      '@babel/helper-remap-async-to-generator': 7.22.20(@babel/core@7.24.5)
    -
    -  '@babel/plugin-transform-block-scoped-functions@7.24.1(@babel/core@7.24.5)':
    -    dependencies:
    -      '@babel/core': 7.24.5
    -      '@babel/helper-plugin-utils': 7.24.5
    -
    -  '@babel/plugin-transform-block-scoping@7.24.5(@babel/core@7.24.5)':
    -    dependencies:
    -      '@babel/core': 7.24.5
    -      '@babel/helper-plugin-utils': 7.24.5
    -
    -  '@babel/plugin-transform-class-properties@7.24.1(@babel/core@7.24.5)':
    -    dependencies:
    -      '@babel/core': 7.24.5
    -      '@babel/helper-create-class-features-plugin': 7.24.5(@babel/core@7.24.5)
    -      '@babel/helper-plugin-utils': 7.24.5
    -
    -  '@babel/plugin-transform-class-static-block@7.24.4(@babel/core@7.24.5)':
    -    dependencies:
    -      '@babel/core': 7.24.5
    -      '@babel/helper-create-class-features-plugin': 7.24.5(@babel/core@7.24.5)
    -      '@babel/helper-plugin-utils': 7.24.5
    -      '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.24.5)
    -
    -  '@babel/plugin-transform-classes@7.24.5(@babel/core@7.24.5)':
    -    dependencies:
    -      '@babel/core': 7.24.5
    -      '@babel/helper-annotate-as-pure': 7.22.5
    -      '@babel/helper-compilation-targets': 7.23.6
    -      '@babel/helper-environment-visitor': 7.22.20
    -      '@babel/helper-function-name': 7.23.0
    -      '@babel/helper-plugin-utils': 7.24.5
    -      '@babel/helper-replace-supers': 7.24.1(@babel/core@7.24.5)
    -      '@babel/helper-split-export-declaration': 7.24.5
    -      globals: 11.12.0
    -
    -  '@babel/plugin-transform-computed-properties@7.24.1(@babel/core@7.24.5)':
    -    dependencies:
    -      '@babel/core': 7.24.5
    -      '@babel/helper-plugin-utils': 7.24.5
    -      '@babel/template': 7.24.0
    -
    -  '@babel/plugin-transform-destructuring@7.24.5(@babel/core@7.24.5)':
    -    dependencies:
    -      '@babel/core': 7.24.5
    -      '@babel/helper-plugin-utils': 7.24.5
    -
    -  '@babel/plugin-transform-dotall-regex@7.24.1(@babel/core@7.24.5)':
    -    dependencies:
    -      '@babel/core': 7.24.5
    -      '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.24.5)
    -      '@babel/helper-plugin-utils': 7.24.5
    -
    -  '@babel/plugin-transform-duplicate-keys@7.24.1(@babel/core@7.24.5)':
    -    dependencies:
    -      '@babel/core': 7.24.5
    -      '@babel/helper-plugin-utils': 7.24.5
    -
    -  '@babel/plugin-transform-dynamic-import@7.24.1(@babel/core@7.24.5)':
    -    dependencies:
    -      '@babel/core': 7.24.5
    -      '@babel/helper-plugin-utils': 7.24.5
    -      '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.24.5)
    -
    -  '@babel/plugin-transform-exponentiation-operator@7.24.1(@babel/core@7.24.5)':
    -    dependencies:
    -      '@babel/core': 7.24.5
    -      '@babel/helper-builder-binary-assignment-operator-visitor': 7.22.15
    -      '@babel/helper-plugin-utils': 7.24.5
    -
    -  '@babel/plugin-transform-export-namespace-from@7.24.1(@babel/core@7.24.5)':
    -    dependencies:
    -      '@babel/core': 7.24.5
    -      '@babel/helper-plugin-utils': 7.24.5
    -      '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.24.5)
    -
    -  '@babel/plugin-transform-for-of@7.24.1(@babel/core@7.24.5)':
    -    dependencies:
    -      '@babel/core': 7.24.5
    -      '@babel/helper-plugin-utils': 7.24.5
    -      '@babel/helper-skip-transparent-expression-wrappers': 7.22.5
    -
    -  '@babel/plugin-transform-function-name@7.24.1(@babel/core@7.24.5)':
    -    dependencies:
    -      '@babel/core': 7.24.5
    -      '@babel/helper-compilation-targets': 7.23.6
    -      '@babel/helper-function-name': 7.23.0
    -      '@babel/helper-plugin-utils': 7.24.5
    -
    -  '@babel/plugin-transform-json-strings@7.24.1(@babel/core@7.24.5)':
    -    dependencies:
    -      '@babel/core': 7.24.5
    -      '@babel/helper-plugin-utils': 7.24.5
    -      '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.24.5)
    -
    -  '@babel/plugin-transform-literals@7.24.1(@babel/core@7.24.5)':
    -    dependencies:
    -      '@babel/core': 7.24.5
    -      '@babel/helper-plugin-utils': 7.24.5
    -
    -  '@babel/plugin-transform-logical-assignment-operators@7.24.1(@babel/core@7.24.5)':
    -    dependencies:
    -      '@babel/core': 7.24.5
    -      '@babel/helper-plugin-utils': 7.24.5
    -      '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.24.5)
    -
    -  '@babel/plugin-transform-member-expression-literals@7.24.1(@babel/core@7.24.5)':
    -    dependencies:
    -      '@babel/core': 7.24.5
    -      '@babel/helper-plugin-utils': 7.24.5
    -
    -  '@babel/plugin-transform-modules-amd@7.24.1(@babel/core@7.24.5)':
    -    dependencies:
    -      '@babel/core': 7.24.5
    -      '@babel/helper-module-transforms': 7.24.5(@babel/core@7.24.5)
    -      '@babel/helper-plugin-utils': 7.24.5
    -
    -  '@babel/plugin-transform-modules-commonjs@7.24.1(@babel/core@7.24.5)':
    -    dependencies:
    -      '@babel/core': 7.24.5
    -      '@babel/helper-module-transforms': 7.24.5(@babel/core@7.24.5)
    -      '@babel/helper-plugin-utils': 7.24.5
    -      '@babel/helper-simple-access': 7.24.5
    -
    -  '@babel/plugin-transform-modules-systemjs@7.24.1(@babel/core@7.24.5)':
    -    dependencies:
    -      '@babel/core': 7.24.5
    -      '@babel/helper-hoist-variables': 7.22.5
    -      '@babel/helper-module-transforms': 7.24.5(@babel/core@7.24.5)
    -      '@babel/helper-plugin-utils': 7.24.5
    -      '@babel/helper-validator-identifier': 7.24.5
    -
    -  '@babel/plugin-transform-modules-umd@7.24.1(@babel/core@7.24.5)':
    -    dependencies:
    -      '@babel/core': 7.24.5
    -      '@babel/helper-module-transforms': 7.24.5(@babel/core@7.24.5)
    -      '@babel/helper-plugin-utils': 7.24.5
    -
    -  '@babel/plugin-transform-named-capturing-groups-regex@7.22.5(@babel/core@7.24.5)':
    -    dependencies:
    -      '@babel/core': 7.24.5
    -      '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.24.5)
    -      '@babel/helper-plugin-utils': 7.24.5
    -
    -  '@babel/plugin-transform-new-target@7.24.1(@babel/core@7.24.5)':
    -    dependencies:
    -      '@babel/core': 7.24.5
    -      '@babel/helper-plugin-utils': 7.24.5
    -
    -  '@babel/plugin-transform-nullish-coalescing-operator@7.24.1(@babel/core@7.24.5)':
    -    dependencies:
    -      '@babel/core': 7.24.5
    -      '@babel/helper-plugin-utils': 7.24.5
    -      '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.24.5)
    -
    -  '@babel/plugin-transform-numeric-separator@7.24.1(@babel/core@7.24.5)':
    -    dependencies:
    -      '@babel/core': 7.24.5
    -      '@babel/helper-plugin-utils': 7.24.5
    -      '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.24.5)
    -
    -  '@babel/plugin-transform-object-rest-spread@7.24.5(@babel/core@7.24.5)':
    -    dependencies:
    -      '@babel/core': 7.24.5
    -      '@babel/helper-compilation-targets': 7.23.6
    -      '@babel/helper-plugin-utils': 7.24.5
    -      '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.24.5)
    -      '@babel/plugin-transform-parameters': 7.24.5(@babel/core@7.24.5)
    -
    -  '@babel/plugin-transform-object-super@7.24.1(@babel/core@7.24.5)':
    -    dependencies:
    -      '@babel/core': 7.24.5
    -      '@babel/helper-plugin-utils': 7.24.5
    -      '@babel/helper-replace-supers': 7.24.1(@babel/core@7.24.5)
    -
    -  '@babel/plugin-transform-optional-catch-binding@7.24.1(@babel/core@7.24.5)':
    -    dependencies:
    -      '@babel/core': 7.24.5
    -      '@babel/helper-plugin-utils': 7.24.5
    -      '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.24.5)
    -
    -  '@babel/plugin-transform-optional-chaining@7.24.5(@babel/core@7.24.5)':
    -    dependencies:
    -      '@babel/core': 7.24.5
    -      '@babel/helper-plugin-utils': 7.24.5
    -      '@babel/helper-skip-transparent-expression-wrappers': 7.22.5
    -      '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.24.5)
    -
    -  '@babel/plugin-transform-parameters@7.24.5(@babel/core@7.24.5)':
    -    dependencies:
    -      '@babel/core': 7.24.5
    -      '@babel/helper-plugin-utils': 7.24.5
    -
    -  '@babel/plugin-transform-private-methods@7.24.1(@babel/core@7.24.5)':
    -    dependencies:
    -      '@babel/core': 7.24.5
    -      '@babel/helper-create-class-features-plugin': 7.24.5(@babel/core@7.24.5)
    -      '@babel/helper-plugin-utils': 7.24.5
    -
    -  '@babel/plugin-transform-private-property-in-object@7.24.5(@babel/core@7.24.5)':
    -    dependencies:
    -      '@babel/core': 7.24.5
    -      '@babel/helper-annotate-as-pure': 7.22.5
    -      '@babel/helper-create-class-features-plugin': 7.24.5(@babel/core@7.24.5)
    -      '@babel/helper-plugin-utils': 7.24.5
    -      '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.24.5)
    -
    -  '@babel/plugin-transform-property-literals@7.24.1(@babel/core@7.24.5)':
    -    dependencies:
    -      '@babel/core': 7.24.5
    -      '@babel/helper-plugin-utils': 7.24.5
    -
    -  '@babel/plugin-transform-regenerator@7.24.1(@babel/core@7.24.5)':
    -    dependencies:
    -      '@babel/core': 7.24.5
    -      '@babel/helper-plugin-utils': 7.24.5
    -      regenerator-transform: 0.15.2
    -
    -  '@babel/plugin-transform-reserved-words@7.24.1(@babel/core@7.24.5)':
    -    dependencies:
    -      '@babel/core': 7.24.5
    -      '@babel/helper-plugin-utils': 7.24.5
    -
    -  '@babel/plugin-transform-shorthand-properties@7.24.1(@babel/core@7.24.5)':
    -    dependencies:
    -      '@babel/core': 7.24.5
    -      '@babel/helper-plugin-utils': 7.24.5
    -
    -  '@babel/plugin-transform-spread@7.24.1(@babel/core@7.24.5)':
    -    dependencies:
    -      '@babel/core': 7.24.5
    -      '@babel/helper-plugin-utils': 7.24.5
    -      '@babel/helper-skip-transparent-expression-wrappers': 7.22.5
    -
    -  '@babel/plugin-transform-sticky-regex@7.24.1(@babel/core@7.24.5)':
    -    dependencies:
    -      '@babel/core': 7.24.5
    -      '@babel/helper-plugin-utils': 7.24.5
    -
    -  '@babel/plugin-transform-template-literals@7.24.1(@babel/core@7.24.5)':
    -    dependencies:
    -      '@babel/core': 7.24.5
    -      '@babel/helper-plugin-utils': 7.24.5
    -
    -  '@babel/plugin-transform-typeof-symbol@7.24.5(@babel/core@7.24.5)':
    -    dependencies:
    -      '@babel/core': 7.24.5
    -      '@babel/helper-plugin-utils': 7.24.5
    -
    -  '@babel/plugin-transform-typescript@7.24.4(@babel/core@7.24.5)':
    -    dependencies:
    -      '@babel/core': 7.24.5
    -      '@babel/helper-annotate-as-pure': 7.22.5
    -      '@babel/helper-create-class-features-plugin': 7.24.5(@babel/core@7.24.5)
    -      '@babel/helper-plugin-utils': 7.24.5
    -      '@babel/plugin-syntax-typescript': 7.24.1(@babel/core@7.24.5)
    -
    -  '@babel/plugin-transform-unicode-escapes@7.24.1(@babel/core@7.24.5)':
    -    dependencies:
    -      '@babel/core': 7.24.5
    -      '@babel/helper-plugin-utils': 7.24.5
    -
    -  '@babel/plugin-transform-unicode-property-regex@7.24.1(@babel/core@7.24.5)':
    -    dependencies:
    -      '@babel/core': 7.24.5
    -      '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.24.5)
    -      '@babel/helper-plugin-utils': 7.24.5
    -
    -  '@babel/plugin-transform-unicode-regex@7.24.1(@babel/core@7.24.5)':
    -    dependencies:
    -      '@babel/core': 7.24.5
    -      '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.24.5)
    -      '@babel/helper-plugin-utils': 7.24.5
    -
    -  '@babel/plugin-transform-unicode-sets-regex@7.24.1(@babel/core@7.24.5)':
    -    dependencies:
    -      '@babel/core': 7.24.5
    -      '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.24.5)
    -      '@babel/helper-plugin-utils': 7.24.5
    -
    -  '@babel/preset-env@7.24.5(@babel/core@7.24.5)':
    -    dependencies:
    -      '@babel/compat-data': 7.24.4
    -      '@babel/core': 7.24.5
    -      '@babel/helper-compilation-targets': 7.23.6
    -      '@babel/helper-plugin-utils': 7.24.5
    -      '@babel/helper-validator-option': 7.23.5
    -      '@babel/plugin-bugfix-firefox-class-in-computed-class-key': 7.24.5(@babel/core@7.24.5)
    -      '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression': 7.24.1(@babel/core@7.24.5)
    -      '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.24.1(@babel/core@7.24.5)
    -      '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly': 7.24.1(@babel/core@7.24.5)
    -      '@babel/plugin-proposal-private-property-in-object': 7.21.0-placeholder-for-preset-env.2(@babel/core@7.24.5)
    -      '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.24.5)
    -      '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.24.5)
    -      '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.24.5)
    -      '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.24.5)
    -      '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.24.5)
    -      '@babel/plugin-syntax-import-assertions': 7.24.1(@babel/core@7.24.5)
    -      '@babel/plugin-syntax-import-attributes': 7.24.1(@babel/core@7.24.5)
    -      '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.24.5)
    -      '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.24.5)
    -      '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.24.5)
    -      '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.24.5)
    -      '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.24.5)
    -      '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.24.5)
    -      '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.24.5)
    -      '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.24.5)
    -      '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.24.5)
    -      '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.24.5)
    -      '@babel/plugin-syntax-unicode-sets-regex': 7.18.6(@babel/core@7.24.5)
    -      '@babel/plugin-transform-arrow-functions': 7.24.1(@babel/core@7.24.5)
    -      '@babel/plugin-transform-async-generator-functions': 7.24.3(@babel/core@7.24.5)
    -      '@babel/plugin-transform-async-to-generator': 7.24.1(@babel/core@7.24.5)
    -      '@babel/plugin-transform-block-scoped-functions': 7.24.1(@babel/core@7.24.5)
    -      '@babel/plugin-transform-block-scoping': 7.24.5(@babel/core@7.24.5)
    -      '@babel/plugin-transform-class-properties': 7.24.1(@babel/core@7.24.5)
    -      '@babel/plugin-transform-class-static-block': 7.24.4(@babel/core@7.24.5)
    -      '@babel/plugin-transform-classes': 7.24.5(@babel/core@7.24.5)
    -      '@babel/plugin-transform-computed-properties': 7.24.1(@babel/core@7.24.5)
    -      '@babel/plugin-transform-destructuring': 7.24.5(@babel/core@7.24.5)
    -      '@babel/plugin-transform-dotall-regex': 7.24.1(@babel/core@7.24.5)
    -      '@babel/plugin-transform-duplicate-keys': 7.24.1(@babel/core@7.24.5)
    -      '@babel/plugin-transform-dynamic-import': 7.24.1(@babel/core@7.24.5)
    -      '@babel/plugin-transform-exponentiation-operator': 7.24.1(@babel/core@7.24.5)
    -      '@babel/plugin-transform-export-namespace-from': 7.24.1(@babel/core@7.24.5)
    -      '@babel/plugin-transform-for-of': 7.24.1(@babel/core@7.24.5)
    -      '@babel/plugin-transform-function-name': 7.24.1(@babel/core@7.24.5)
    -      '@babel/plugin-transform-json-strings': 7.24.1(@babel/core@7.24.5)
    -      '@babel/plugin-transform-literals': 7.24.1(@babel/core@7.24.5)
    -      '@babel/plugin-transform-logical-assignment-operators': 7.24.1(@babel/core@7.24.5)
    -      '@babel/plugin-transform-member-expression-literals': 7.24.1(@babel/core@7.24.5)
    -      '@babel/plugin-transform-modules-amd': 7.24.1(@babel/core@7.24.5)
    -      '@babel/plugin-transform-modules-commonjs': 7.24.1(@babel/core@7.24.5)
    -      '@babel/plugin-transform-modules-systemjs': 7.24.1(@babel/core@7.24.5)
    -      '@babel/plugin-transform-modules-umd': 7.24.1(@babel/core@7.24.5)
    -      '@babel/plugin-transform-named-capturing-groups-regex': 7.22.5(@babel/core@7.24.5)
    -      '@babel/plugin-transform-new-target': 7.24.1(@babel/core@7.24.5)
    -      '@babel/plugin-transform-nullish-coalescing-operator': 7.24.1(@babel/core@7.24.5)
    -      '@babel/plugin-transform-numeric-separator': 7.24.1(@babel/core@7.24.5)
    -      '@babel/plugin-transform-object-rest-spread': 7.24.5(@babel/core@7.24.5)
    -      '@babel/plugin-transform-object-super': 7.24.1(@babel/core@7.24.5)
    -      '@babel/plugin-transform-optional-catch-binding': 7.24.1(@babel/core@7.24.5)
    -      '@babel/plugin-transform-optional-chaining': 7.24.5(@babel/core@7.24.5)
    -      '@babel/plugin-transform-parameters': 7.24.5(@babel/core@7.24.5)
    -      '@babel/plugin-transform-private-methods': 7.24.1(@babel/core@7.24.5)
    -      '@babel/plugin-transform-private-property-in-object': 7.24.5(@babel/core@7.24.5)
    -      '@babel/plugin-transform-property-literals': 7.24.1(@babel/core@7.24.5)
    -      '@babel/plugin-transform-regenerator': 7.24.1(@babel/core@7.24.5)
    -      '@babel/plugin-transform-reserved-words': 7.24.1(@babel/core@7.24.5)
    -      '@babel/plugin-transform-shorthand-properties': 7.24.1(@babel/core@7.24.5)
    -      '@babel/plugin-transform-spread': 7.24.1(@babel/core@7.24.5)
    -      '@babel/plugin-transform-sticky-regex': 7.24.1(@babel/core@7.24.5)
    -      '@babel/plugin-transform-template-literals': 7.24.1(@babel/core@7.24.5)
    -      '@babel/plugin-transform-typeof-symbol': 7.24.5(@babel/core@7.24.5)
    -      '@babel/plugin-transform-unicode-escapes': 7.24.1(@babel/core@7.24.5)
    -      '@babel/plugin-transform-unicode-property-regex': 7.24.1(@babel/core@7.24.5)
    -      '@babel/plugin-transform-unicode-regex': 7.24.1(@babel/core@7.24.5)
    -      '@babel/plugin-transform-unicode-sets-regex': 7.24.1(@babel/core@7.24.5)
    -      '@babel/preset-modules': 0.1.6-no-external-plugins(@babel/core@7.24.5)
    -      babel-plugin-polyfill-corejs2: 0.4.11(@babel/core@7.24.5)
    -      babel-plugin-polyfill-corejs3: 0.10.4(@babel/core@7.24.5)
    -      babel-plugin-polyfill-regenerator: 0.6.2(@babel/core@7.24.5)
    -      core-js-compat: 3.37.0
    -      semver: 6.3.1
    -    transitivePeerDependencies:
    -      - supports-color
    -
    -  '@babel/preset-modules@0.1.6-no-external-plugins(@babel/core@7.24.5)':
    -    dependencies:
    -      '@babel/core': 7.24.5
    -      '@babel/helper-plugin-utils': 7.24.5
    -      '@babel/types': 7.24.5
    -      esutils: 2.0.3
    -
    -  '@babel/preset-typescript@7.24.1(@babel/core@7.24.5)':
    -    dependencies:
    -      '@babel/core': 7.24.5
    -      '@babel/helper-plugin-utils': 7.24.5
    -      '@babel/helper-validator-option': 7.23.5
    -      '@babel/plugin-syntax-jsx': 7.24.1(@babel/core@7.24.5)
    -      '@babel/plugin-transform-modules-commonjs': 7.24.1(@babel/core@7.24.5)
    -      '@babel/plugin-transform-typescript': 7.24.4(@babel/core@7.24.5)
    -
    -  '@babel/regjsgen@0.8.0': {}
    -
    -  '@babel/runtime@7.24.0':
    -    dependencies:
    -      regenerator-runtime: 0.14.1
    -
    -  '@babel/runtime@7.24.4':
    -    dependencies:
    -      regenerator-runtime: 0.14.1
    -
    -  '@babel/runtime@7.24.5':
    -    dependencies:
    -      regenerator-runtime: 0.14.1
    -
    -  '@babel/template@7.24.0':
    -    dependencies:
    -      '@babel/code-frame': 7.24.2
    -      '@babel/parser': 7.24.5
    -      '@babel/types': 7.24.5
    -
    -  '@babel/traverse@7.24.5':
    -    dependencies:
    -      '@babel/code-frame': 7.24.2
    -      '@babel/generator': 7.24.5
    -      '@babel/helper-environment-visitor': 7.22.20
    -      '@babel/helper-function-name': 7.23.0
    -      '@babel/helper-hoist-variables': 7.22.5
    -      '@babel/helper-split-export-declaration': 7.24.5
    -      '@babel/parser': 7.24.5
    -      '@babel/types': 7.24.5
    -      debug: 4.3.4(supports-color@8.1.1)
    -      globals: 11.12.0
    -    transitivePeerDependencies:
    -      - supports-color
    -
    -  '@babel/types@7.24.5':
    -    dependencies:
    -      '@babel/helper-string-parser': 7.24.1
    -      '@babel/helper-validator-identifier': 7.24.5
    -      to-fast-properties: 2.0.0
    -
    -  '@bcherny/json-schema-ref-parser@10.0.5-fork':
    -    dependencies:
    -      '@jsdevtools/ono': 7.1.3
    -      '@types/json-schema': 7.0.15
    -      call-me-maybe: 1.0.2
    -      js-yaml: 4.1.0
    -
    -  '@bcoe/v8-coverage@0.2.3': {}
    -
    -  '@braintree/sanitize-url@7.0.1': {}
    -
    -  '@chevrotain/cst-dts-gen@11.0.3':
    -    dependencies:
    -      '@chevrotain/gast': 11.0.3
    -      '@chevrotain/types': 11.0.3
    -      lodash-es: 4.17.21
    -
    -  '@chevrotain/gast@11.0.3':
    -    dependencies:
    -      '@chevrotain/types': 11.0.3
    -      lodash-es: 4.17.21
    -
    -  '@chevrotain/regexp-to-ast@11.0.3': {}
    -
    -  '@chevrotain/types@11.0.3': {}
    -
    -  '@chevrotain/utils@11.0.3': {}
    -
    -  '@colors/colors@1.5.0':
    -    optional: true
    -
    -  '@cspell/cspell-bundled-dicts@8.7.0':
    -    dependencies:
    -      '@cspell/dict-ada': 4.0.2
    -      '@cspell/dict-aws': 4.0.1
    -      '@cspell/dict-bash': 4.1.3
    -      '@cspell/dict-companies': 3.0.31
    -      '@cspell/dict-cpp': 5.1.3
    -      '@cspell/dict-cryptocurrencies': 5.0.0
    -      '@cspell/dict-csharp': 4.0.2
    -      '@cspell/dict-css': 4.0.12
    -      '@cspell/dict-dart': 2.0.3
    -      '@cspell/dict-django': 4.1.0
    -      '@cspell/dict-docker': 1.1.7
    -      '@cspell/dict-dotnet': 5.0.0
    -      '@cspell/dict-elixir': 4.0.3
    -      '@cspell/dict-en-common-misspellings': 2.0.0
    -      '@cspell/dict-en-gb': 1.1.33
    -      '@cspell/dict-en_us': 4.3.18
    -      '@cspell/dict-filetypes': 3.0.3
    -      '@cspell/dict-fonts': 4.0.0
    -      '@cspell/dict-fsharp': 1.0.1
    -      '@cspell/dict-fullstack': 3.1.5
    -      '@cspell/dict-gaming-terms': 1.0.5
    -      '@cspell/dict-git': 3.0.0
    -      '@cspell/dict-golang': 6.0.5
    -      '@cspell/dict-haskell': 4.0.1
    -      '@cspell/dict-html': 4.0.5
    -      '@cspell/dict-html-symbol-entities': 4.0.0
    -      '@cspell/dict-java': 5.0.6
    -      '@cspell/dict-julia': 1.0.1
    -      '@cspell/dict-k8s': 1.0.2
    -      '@cspell/dict-latex': 4.0.0
    -      '@cspell/dict-lorem-ipsum': 4.0.0
    -      '@cspell/dict-lua': 4.0.3
    -      '@cspell/dict-makefile': 1.0.0
    -      '@cspell/dict-monkeyc': 1.0.6
    -      '@cspell/dict-node': 4.0.3
    -      '@cspell/dict-npm': 5.0.15
    -      '@cspell/dict-php': 4.0.6
    -      '@cspell/dict-powershell': 5.0.3
    -      '@cspell/dict-public-licenses': 2.0.6
    -      '@cspell/dict-python': 4.1.11
    -      '@cspell/dict-r': 2.0.1
    -      '@cspell/dict-ruby': 5.0.2
    -      '@cspell/dict-rust': 4.0.2
    -      '@cspell/dict-scala': 5.0.0
    -      '@cspell/dict-software-terms': 3.3.18
    -      '@cspell/dict-sql': 2.1.3
    -      '@cspell/dict-svelte': 1.0.2
    -      '@cspell/dict-swift': 2.0.1
    -      '@cspell/dict-terraform': 1.0.0
    -      '@cspell/dict-typescript': 3.1.3
    -      '@cspell/dict-vue': 3.0.0
    -
    -  '@cspell/cspell-json-reporter@8.7.0':
    -    dependencies:
    -      '@cspell/cspell-types': 8.7.0
    -
    -  '@cspell/cspell-pipe@8.7.0': {}
    -
    -  '@cspell/cspell-resolver@8.7.0':
    -    dependencies:
    -      global-directory: 4.0.1
    -
    -  '@cspell/cspell-service-bus@8.7.0': {}
    -
    -  '@cspell/cspell-types@8.7.0': {}
    -
    -  '@cspell/dict-ada@4.0.2': {}
    -
    -  '@cspell/dict-aws@4.0.1': {}
    -
    -  '@cspell/dict-bash@4.1.3': {}
    -
    -  '@cspell/dict-companies@3.0.31': {}
    -
    -  '@cspell/dict-cpp@5.1.3': {}
    -
    -  '@cspell/dict-cryptocurrencies@5.0.0': {}
    -
    -  '@cspell/dict-csharp@4.0.2': {}
    -
    -  '@cspell/dict-css@4.0.12': {}
    -
    -  '@cspell/dict-dart@2.0.3': {}
    -
    -  '@cspell/dict-data-science@1.0.11': {}
    -
    -  '@cspell/dict-django@4.1.0': {}
    -
    -  '@cspell/dict-docker@1.1.7': {}
    -
    -  '@cspell/dict-dotnet@5.0.0': {}
    -
    -  '@cspell/dict-elixir@4.0.3': {}
    -
    -  '@cspell/dict-en-common-misspellings@2.0.0': {}
    -
    -  '@cspell/dict-en-gb@1.1.33': {}
    -
    -  '@cspell/dict-en_us@4.3.18': {}
    -
    -  '@cspell/dict-filetypes@3.0.3': {}
    -
    -  '@cspell/dict-fonts@4.0.0': {}
    -
    -  '@cspell/dict-fsharp@1.0.1': {}
    -
    -  '@cspell/dict-fullstack@3.1.5': {}
    -
    -  '@cspell/dict-gaming-terms@1.0.5': {}
    -
    -  '@cspell/dict-git@3.0.0': {}
    -
    -  '@cspell/dict-golang@6.0.5': {}
    -
    -  '@cspell/dict-haskell@4.0.1': {}
    -
    -  '@cspell/dict-html-symbol-entities@4.0.0': {}
    -
    -  '@cspell/dict-html@4.0.5': {}
    -
    -  '@cspell/dict-java@5.0.6': {}
    -
    -  '@cspell/dict-julia@1.0.1': {}
    -
    -  '@cspell/dict-k8s@1.0.2': {}
    -
    -  '@cspell/dict-latex@4.0.0': {}
    -
    -  '@cspell/dict-lorem-ipsum@4.0.0': {}
    -
    -  '@cspell/dict-lua@4.0.3': {}
    -
    -  '@cspell/dict-makefile@1.0.0': {}
    -
    -  '@cspell/dict-monkeyc@1.0.6': {}
    -
    -  '@cspell/dict-node@4.0.3': {}
    -
    -  '@cspell/dict-npm@5.0.15': {}
    -
    -  '@cspell/dict-php@4.0.6': {}
    -
    -  '@cspell/dict-powershell@5.0.3': {}
    -
    -  '@cspell/dict-public-licenses@2.0.6': {}
    -
    -  '@cspell/dict-python@4.1.11':
    -    dependencies:
    -      '@cspell/dict-data-science': 1.0.11
    -
    -  '@cspell/dict-r@2.0.1': {}
    -
    -  '@cspell/dict-ruby@5.0.2': {}
    -
    -  '@cspell/dict-rust@4.0.2': {}
    -
    -  '@cspell/dict-scala@5.0.0': {}
    -
    -  '@cspell/dict-software-terms@3.3.18': {}
    -
    -  '@cspell/dict-sql@2.1.3': {}
    -
    -  '@cspell/dict-svelte@1.0.2': {}
    -
    -  '@cspell/dict-swift@2.0.1': {}
    -
    -  '@cspell/dict-terraform@1.0.0': {}
    -
    -  '@cspell/dict-typescript@3.1.3': {}
    -
    -  '@cspell/dict-vue@3.0.0': {}
    -
    -  '@cspell/dynamic-import@8.7.0':
    -    dependencies:
    -      import-meta-resolve: 4.0.0
    -
    -  '@cspell/eslint-plugin@8.7.0(eslint@8.57.0)':
    -    dependencies:
    -      '@cspell/cspell-types': 8.7.0
    -      cspell-lib: 8.7.0
    -      eslint: 8.57.0
    -      estree-walker: 3.0.3
    -      synckit: 0.9.0
    -
    -  '@cspell/strong-weak-map@8.7.0': {}
    -
    -  '@cypress/code-coverage@3.12.38(@babel/core@7.24.5)(@babel/preset-env@7.24.5)(babel-loader@9.1.3)(cypress@13.7.3)(webpack@5.91.0)':
    -    dependencies:
    -      '@babel/core': 7.24.5
    -      '@babel/preset-env': 7.24.5(@babel/core@7.24.5)
    -      '@cypress/webpack-preprocessor': 6.0.1(@babel/core@7.24.5)(@babel/preset-env@7.24.5)(babel-loader@9.1.3)(webpack@5.91.0)
    -      babel-loader: 9.1.3(@babel/core@7.24.5)(webpack@5.91.0)
    -      chalk: 4.1.2
    -      cypress: 13.7.3
    -      dayjs: 1.11.10
    -      debug: 4.3.4(supports-color@8.1.1)
    -      execa: 4.1.0
    -      globby: 11.1.0
    -      istanbul-lib-coverage: 3.2.2
    -      js-yaml: 4.1.0
    -      nyc: 15.1.0
    -      webpack: 5.91.0(esbuild@0.20.2)(webpack-cli@4.10.0)
    -    transitivePeerDependencies:
    -      - supports-color
    -
    -  '@cypress/request@3.0.1':
    -    dependencies:
    -      aws-sign2: 0.7.0
    -      aws4: 1.12.0
    -      caseless: 0.12.0
    -      combined-stream: 1.0.8
    -      extend: 3.0.2
    -      forever-agent: 0.6.1
    -      form-data: 2.3.3
    -      http-signature: 1.3.6
    -      is-typedarray: 1.0.0
    -      isstream: 0.1.2
    -      json-stringify-safe: 5.0.1
    -      mime-types: 2.1.35
    -      performance-now: 2.1.0
    -      qs: 6.10.4
    -      safe-buffer: 5.2.1
    -      tough-cookie: 4.1.3
    -      tunnel-agent: 0.6.0
    -      uuid: 8.3.2
    -
    -  '@cypress/webpack-preprocessor@6.0.1(@babel/core@7.24.5)(@babel/preset-env@7.24.5)(babel-loader@9.1.3)(webpack@5.91.0)':
    -    dependencies:
    -      '@babel/core': 7.24.5
    -      '@babel/preset-env': 7.24.5(@babel/core@7.24.5)
    -      babel-loader: 9.1.3(@babel/core@7.24.5)(webpack@5.91.0)
    -      bluebird: 3.7.1
    -      debug: 4.3.4(supports-color@8.1.1)
    -      lodash: 4.17.21
    -      webpack: 5.91.0(esbuild@0.20.2)(webpack-cli@4.10.0)
    -    transitivePeerDependencies:
    -      - supports-color
    -
    -  '@cypress/xvfb@1.2.4(supports-color@8.1.1)':
    -    dependencies:
    -      debug: 3.2.7(supports-color@8.1.1)
    -      lodash.once: 4.1.1
    -    transitivePeerDependencies:
    -      - supports-color
    -
    -  '@discoveryjs/json-ext@0.5.7': {}
    -
    -  '@docsearch/css@3.6.0': {}
    -
    -  '@docsearch/js@3.6.0(@algolia/client-search@4.23.3)(search-insights@2.13.0)':
    -    dependencies:
    -      '@docsearch/react': 3.6.0(@algolia/client-search@4.23.3)(search-insights@2.13.0)
    -      preact: 10.21.0
    -    transitivePeerDependencies:
    -      - '@algolia/client-search'
    -      - '@types/react'
    -      - react
    -      - react-dom
    -      - search-insights
    -
    -  '@docsearch/react@3.6.0(@algolia/client-search@4.23.3)(search-insights@2.13.0)':
    -    dependencies:
    -      '@algolia/autocomplete-core': 1.9.3(@algolia/client-search@4.23.3)(algoliasearch@4.23.3)(search-insights@2.13.0)
    -      '@algolia/autocomplete-preset-algolia': 1.9.3(@algolia/client-search@4.23.3)(algoliasearch@4.23.3)
    -      '@docsearch/css': 3.6.0
    -      algoliasearch: 4.23.3
    -      search-insights: 2.13.0
    -    transitivePeerDependencies:
    -      - '@algolia/client-search'
    -
    -  '@es-joy/jsdoccomment@0.42.0':
    -    dependencies:
    -      comment-parser: 1.4.1
    -      esquery: 1.5.0
    -      jsdoc-type-pratt-parser: 4.0.0
    -
    -  '@esbuild/aix-ppc64@0.19.12':
    -    optional: true
    -
    -  '@esbuild/aix-ppc64@0.20.2':
    -    optional: true
    -
    -  '@esbuild/android-arm64@0.18.20':
    -    optional: true
    -
    -  '@esbuild/android-arm64@0.19.12':
    -    optional: true
    -
    -  '@esbuild/android-arm64@0.20.2':
    -    optional: true
    -
    -  '@esbuild/android-arm@0.18.20':
    -    optional: true
    -
    -  '@esbuild/android-arm@0.19.12':
    -    optional: true
    -
    -  '@esbuild/android-arm@0.20.2':
    -    optional: true
    -
    -  '@esbuild/android-x64@0.18.20':
    -    optional: true
    -
    -  '@esbuild/android-x64@0.19.12':
    -    optional: true
    -
    -  '@esbuild/android-x64@0.20.2':
    -    optional: true
    -
    -  '@esbuild/darwin-arm64@0.18.20':
    -    optional: true
    -
    -  '@esbuild/darwin-arm64@0.19.12':
    -    optional: true
    -
    -  '@esbuild/darwin-arm64@0.20.2':
    -    optional: true
    -
    -  '@esbuild/darwin-x64@0.18.20':
    -    optional: true
    -
    -  '@esbuild/darwin-x64@0.19.12':
    -    optional: true
    -
    -  '@esbuild/darwin-x64@0.20.2':
    -    optional: true
    -
    -  '@esbuild/freebsd-arm64@0.18.20':
    -    optional: true
    -
    -  '@esbuild/freebsd-arm64@0.19.12':
    -    optional: true
    -
    -  '@esbuild/freebsd-arm64@0.20.2':
    -    optional: true
    -
    -  '@esbuild/freebsd-x64@0.18.20':
    -    optional: true
    -
    -  '@esbuild/freebsd-x64@0.19.12':
    -    optional: true
    -
    -  '@esbuild/freebsd-x64@0.20.2':
    -    optional: true
    -
    -  '@esbuild/linux-arm64@0.18.20':
    -    optional: true
    -
    -  '@esbuild/linux-arm64@0.19.12':
    -    optional: true
    -
    -  '@esbuild/linux-arm64@0.20.2':
    -    optional: true
    -
    -  '@esbuild/linux-arm@0.18.20':
    -    optional: true
    -
    -  '@esbuild/linux-arm@0.19.12':
    -    optional: true
    -
    -  '@esbuild/linux-arm@0.20.2':
    -    optional: true
    -
    -  '@esbuild/linux-ia32@0.18.20':
    -    optional: true
    -
    -  '@esbuild/linux-ia32@0.19.12':
    -    optional: true
    -
    -  '@esbuild/linux-ia32@0.20.2':
    -    optional: true
    -
    -  '@esbuild/linux-loong64@0.18.20':
    -    optional: true
    -
    -  '@esbuild/linux-loong64@0.19.12':
    -    optional: true
    -
    -  '@esbuild/linux-loong64@0.20.2':
    -    optional: true
    -
    -  '@esbuild/linux-mips64el@0.18.20':
    -    optional: true
    -
    -  '@esbuild/linux-mips64el@0.19.12':
    -    optional: true
    -
    -  '@esbuild/linux-mips64el@0.20.2':
    -    optional: true
    -
    -  '@esbuild/linux-ppc64@0.18.20':
    -    optional: true
    -
    -  '@esbuild/linux-ppc64@0.19.12':
    -    optional: true
    -
    -  '@esbuild/linux-ppc64@0.20.2':
    -    optional: true
    -
    -  '@esbuild/linux-riscv64@0.18.20':
    -    optional: true
    -
    -  '@esbuild/linux-riscv64@0.19.12':
    -    optional: true
    -
    -  '@esbuild/linux-riscv64@0.20.2':
    -    optional: true
    -
    -  '@esbuild/linux-s390x@0.18.20':
    -    optional: true
    -
    -  '@esbuild/linux-s390x@0.19.12':
    -    optional: true
    -
    -  '@esbuild/linux-s390x@0.20.2':
    -    optional: true
    -
    -  '@esbuild/linux-x64@0.18.20':
    -    optional: true
    -
    -  '@esbuild/linux-x64@0.19.12':
    -    optional: true
    -
    -  '@esbuild/linux-x64@0.20.2':
    -    optional: true
    -
    -  '@esbuild/netbsd-x64@0.18.20':
    -    optional: true
    -
    -  '@esbuild/netbsd-x64@0.19.12':
    -    optional: true
    -
    -  '@esbuild/netbsd-x64@0.20.2':
    -    optional: true
    -
    -  '@esbuild/openbsd-x64@0.18.20':
    -    optional: true
    -
    -  '@esbuild/openbsd-x64@0.19.12':
    -    optional: true
    -
    -  '@esbuild/openbsd-x64@0.20.2':
    -    optional: true
    -
    -  '@esbuild/sunos-x64@0.18.20':
    -    optional: true
    -
    -  '@esbuild/sunos-x64@0.19.12':
    -    optional: true
    -
    -  '@esbuild/sunos-x64@0.20.2':
    -    optional: true
    -
    -  '@esbuild/win32-arm64@0.18.20':
    -    optional: true
    -
    -  '@esbuild/win32-arm64@0.19.12':
    -    optional: true
    -
    -  '@esbuild/win32-arm64@0.20.2':
    -    optional: true
    -
    -  '@esbuild/win32-ia32@0.18.20':
    -    optional: true
    -
    -  '@esbuild/win32-ia32@0.19.12':
    -    optional: true
    -
    -  '@esbuild/win32-ia32@0.20.2':
    -    optional: true
    -
    -  '@esbuild/win32-x64@0.18.20':
    -    optional: true
    -
    -  '@esbuild/win32-x64@0.19.12':
    -    optional: true
    -
    -  '@esbuild/win32-x64@0.20.2':
    -    optional: true
    -
    -  '@eslint-community/eslint-utils@4.4.0(eslint@8.57.0)':
    -    dependencies:
    -      eslint: 8.57.0
    -      eslint-visitor-keys: 3.4.3
    -
    -  '@eslint-community/regexpp@4.10.0': {}
    -
    -  '@eslint/eslintrc@2.1.4':
    -    dependencies:
    -      ajv: 6.12.6
    -      debug: 4.3.4(supports-color@8.1.1)
    -      espree: 9.6.1
    -      globals: 13.24.0
    -      ignore: 5.3.1
    -      import-fresh: 3.3.0
    -      js-yaml: 4.1.0
    -      minimatch: 3.1.2
    -      strip-json-comments: 3.1.1
    -    transitivePeerDependencies:
    -      - supports-color
    -
    -  '@eslint/js@8.57.0': {}
    -
    -  '@fastify/ajv-compiler@1.1.0':
    -    dependencies:
    -      ajv: 6.12.6
    -
    -  '@fastify/error@2.0.0': {}
    -
    -  '@floating-ui/core@1.6.0':
    -    dependencies:
    -      '@floating-ui/utils': 0.2.1
    -
    -  '@floating-ui/dom@1.6.3':
    -    dependencies:
    -      '@floating-ui/core': 1.6.0
    -      '@floating-ui/utils': 0.2.1
    -
    -  '@floating-ui/utils@0.2.1': {}
    -
    -  '@floating-ui/vue@0.2.1(vue@3.4.21)':
    -    dependencies:
    -      '@floating-ui/dom': 1.6.3
    -      vue: 3.4.21(typescript@5.4.5)
    -      vue-demi: 0.13.11(vue@3.4.21)
    -
    -  '@hapi/hoek@9.3.0': {}
    -
    -  '@hapi/topo@5.1.0':
    -    dependencies:
    -      '@hapi/hoek': 9.3.0
    -
    -  '@headlessui-float/vue@0.11.4(vue@3.4.21)':
    -    dependencies:
    -      '@floating-ui/core': 1.6.0
    -      '@floating-ui/dom': 1.6.3
    -      '@floating-ui/vue': 0.2.1(vue@3.4.21)
    -      vue: 3.4.21(typescript@5.4.5)
    -    transitivePeerDependencies:
    -      - '@vue/composition-api'
    -
    -  '@headlessui/tailwindcss@0.2.0(tailwindcss@3.4.3)':
    -    dependencies:
    -      tailwindcss: 3.4.3
    -
    -  '@headlessui/vue@1.7.19(vue@3.4.21)':
    -    dependencies:
    -      '@tanstack/vue-virtual': 3.2.1(vue@3.4.21)
    -      vue: 3.4.21(typescript@5.4.5)
    -
    -  '@humanwhocodes/config-array@0.11.14':
    -    dependencies:
    -      '@humanwhocodes/object-schema': 2.0.2
    -      debug: 4.3.4(supports-color@8.1.1)
    -      minimatch: 3.1.2
    -    transitivePeerDependencies:
    -      - supports-color
    -
    -  '@humanwhocodes/module-importer@1.0.1': {}
    -
    -  '@humanwhocodes/object-schema@2.0.2': {}
    -
    -  '@iconify-json/carbon@1.1.32':
    -    dependencies:
    -      '@iconify/types': 2.0.0
    -
    -  '@iconify/types@2.0.0': {}
    -
    -  '@iconify/utils@2.1.23':
    -    dependencies:
    -      '@antfu/install-pkg': 0.1.1
    -      '@antfu/utils': 0.7.7
    -      '@iconify/types': 2.0.0
    -      debug: 4.3.4(supports-color@8.1.1)
    -      kolorist: 1.8.0
    -      local-pkg: 0.5.0
    -      mlly: 1.6.1
    -    transitivePeerDependencies:
    -      - supports-color
    -
    -  '@isaacs/cliui@8.0.2':
    -    dependencies:
    -      string-width: 5.1.2
    -      string-width-cjs: string-width@4.2.3
    -      strip-ansi: 7.1.0
    -      strip-ansi-cjs: strip-ansi@6.0.1
    -      wrap-ansi: 8.1.0
    -      wrap-ansi-cjs: wrap-ansi@7.0.0
    -
    -  '@istanbuljs/load-nyc-config@1.1.0':
    -    dependencies:
    -      camelcase: 5.3.1
    -      find-up: 4.1.0
    -      get-package-type: 0.1.0
    -      js-yaml: 3.14.1
    -      resolve-from: 5.0.0
    -
    -  '@istanbuljs/schema@0.1.3': {}
    -
    -  '@jest/console@29.7.0':
    -    dependencies:
    -      '@jest/types': 29.6.3
    -      '@types/node': 20.12.7
    -      chalk: 4.1.2
    -      jest-message-util: 29.7.0
    -      jest-util: 29.7.0
    -      slash: 3.0.0
    -
    -  '@jest/core@29.7.0':
         dependencies:
           '@jest/console': 29.7.0
           '@jest/reporters': 29.7.0
           '@jest/test-result': 29.7.0
           '@jest/transform': 29.7.0
           '@jest/types': 29.6.3
    -      '@types/node': 20.12.7
    +      '@types/node': 20.14.2
           ansi-escapes: 4.3.2
           chalk: 4.1.2
           ci-info: 3.9.0
           exit: 0.1.2
           graceful-fs: 4.2.11
           jest-changed-files: 29.7.0
    -      jest-config: 29.7.0(@types/node@20.12.7)
    +      jest-config: 29.7.0(@types/node@20.14.2)
           jest-haste-map: 29.7.0
           jest-message-util: 29.7.0
           jest-regex-util: 29.6.3
    @@ -10898,7 +3797,7 @@ snapshots:
           jest-util: 29.7.0
           jest-validate: 29.7.0
           jest-watcher: 29.7.0
    -      micromatch: 4.0.5
    +      micromatch: 4.0.7
           pretty-format: 29.7.0
           slash: 3.0.0
           strip-ansi: 6.0.1
    @@ -10906,35 +3805,50 @@ snapshots:
           - babel-plugin-macros
           - supports-color
           - ts-node
    +    dev: true
     
    -  '@jest/environment@29.7.0':
    +  /@jest/environment@29.7.0:
    +    resolution: {integrity: sha512-aQIfHDq33ExsN4jP1NWGXhxgQ/wixs60gDiKO+XVMd8Mn0NWPWgc34ZQDTb2jKaUWQ7MuwoitXAsN2XVXNMpAw==}
    +    engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
         dependencies:
           '@jest/fake-timers': 29.7.0
           '@jest/types': 29.6.3
    -      '@types/node': 20.12.7
    +      '@types/node': 20.14.2
           jest-mock: 29.7.0
    +    dev: true
     
    -  '@jest/expect-utils@29.7.0':
    +  /@jest/expect-utils@29.7.0:
    +    resolution: {integrity: sha512-GlsNBWiFQFCVi9QVSx7f5AgMeLxe9YCCs5PuP2O2LdjDAA8Jh9eX7lA1Jq/xdXw3Wb3hyvlFNfZIfcRetSzYcA==}
    +    engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
         dependencies:
           jest-get-type: 29.6.3
    +    dev: true
     
    -  '@jest/expect@29.7.0':
    +  /@jest/expect@29.7.0:
    +    resolution: {integrity: sha512-8uMeAMycttpva3P1lBHB8VciS9V0XAr3GymPpipdyQXbBcuhkLQOSe8E/p92RyAdToS6ZD1tFkX+CkhoECE0dQ==}
    +    engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
         dependencies:
           expect: 29.7.0
           jest-snapshot: 29.7.0
         transitivePeerDependencies:
           - supports-color
    +    dev: true
     
    -  '@jest/fake-timers@29.7.0':
    +  /@jest/fake-timers@29.7.0:
    +    resolution: {integrity: sha512-q4DH1Ha4TTFPdxLsqDXK1d3+ioSL7yL5oCMJZgDYm6i+6CygW5E5xVr/D1HdsGxjt1ZWSfUAs9OxSB/BNelWrQ==}
    +    engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
         dependencies:
           '@jest/types': 29.6.3
           '@sinonjs/fake-timers': 10.3.0
    -      '@types/node': 20.12.7
    +      '@types/node': 20.14.2
           jest-message-util: 29.7.0
           jest-mock: 29.7.0
           jest-util: 29.7.0
    +    dev: true
     
    -  '@jest/globals@29.7.0':
    +  /@jest/globals@29.7.0:
    +    resolution: {integrity: sha512-mpiz3dutLbkW2MNFubUGUEVLkTGiqW6yLVTA+JbP6fI6J5iL9Y0Nlg8k95pcF8ctKwCS7WVxteBs29hhfAotzQ==}
    +    engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
         dependencies:
           '@jest/environment': 29.7.0
           '@jest/expect': 29.7.0
    @@ -10942,8 +3856,16 @@ snapshots:
           jest-mock: 29.7.0
         transitivePeerDependencies:
           - supports-color
    +    dev: true
     
    -  '@jest/reporters@29.7.0':
    +  /@jest/reporters@29.7.0:
    +    resolution: {integrity: sha512-DApq0KJbJOEzAFYjHADNNxAE3KbhxQB1y5Kplb5Waqw6zVbuWatSnMjE5gs8FUgEPmNsnZA3NCWl9NG0ia04Pg==}
    +    engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
    +    peerDependencies:
    +      node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0
    +    peerDependenciesMeta:
    +      node-notifier:
    +        optional: true
         dependencies:
           '@bcoe/v8-coverage': 0.2.3
           '@jest/console': 29.7.0
    @@ -10951,7 +3873,7 @@ snapshots:
           '@jest/transform': 29.7.0
           '@jest/types': 29.6.3
           '@jridgewell/trace-mapping': 0.3.25
    -      '@types/node': 20.12.7
    +      '@types/node': 20.14.2
           chalk: 4.1.2
           collect-v8-coverage: 1.0.2
           exit: 0.1.2
    @@ -10971,34 +3893,49 @@ snapshots:
           v8-to-istanbul: 9.2.0
         transitivePeerDependencies:
           - supports-color
    +    dev: true
     
    -  '@jest/schemas@29.6.3':
    +  /@jest/schemas@29.6.3:
    +    resolution: {integrity: sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==}
    +    engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
         dependencies:
           '@sinclair/typebox': 0.27.8
    +    dev: true
     
    -  '@jest/source-map@29.6.3':
    +  /@jest/source-map@29.6.3:
    +    resolution: {integrity: sha512-MHjT95QuipcPrpLM+8JMSzFx6eHp5Bm+4XeFDJlwsvVBjmKNiIAvasGK2fxz2WbGRlnvqehFbh07MMa7n3YJnw==}
    +    engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
         dependencies:
           '@jridgewell/trace-mapping': 0.3.25
           callsites: 3.1.0
           graceful-fs: 4.2.11
    +    dev: true
     
    -  '@jest/test-result@29.7.0':
    +  /@jest/test-result@29.7.0:
    +    resolution: {integrity: sha512-Fdx+tv6x1zlkJPcWXmMDAG2HBnaR9XPSd5aDWQVsfrZmLVT3lU1cwyxLgRmXR9yrq4NBoEm9BMsfgFzTQAbJYA==}
    +    engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
         dependencies:
           '@jest/console': 29.7.0
           '@jest/types': 29.6.3
           '@types/istanbul-lib-coverage': 2.0.6
           collect-v8-coverage: 1.0.2
    +    dev: true
     
    -  '@jest/test-sequencer@29.7.0':
    +  /@jest/test-sequencer@29.7.0:
    +    resolution: {integrity: sha512-GQwJ5WZVrKnOJuiYiAF52UNUJXgTZx1NHjFSEB0qEMmSZKAkdMoIzw/Cj6x6NF4AvV23AUqDpFzQkN/eYCYTxw==}
    +    engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
         dependencies:
           '@jest/test-result': 29.7.0
           graceful-fs: 4.2.11
           jest-haste-map: 29.7.0
           slash: 3.0.0
    +    dev: true
     
    -  '@jest/transform@29.7.0':
    +  /@jest/transform@29.7.0:
    +    resolution: {integrity: sha512-ok/BTPFzFKVMwO5eOHRrvnBVHdRy9IrsrW1GpMaQ9MCnilNLXQKmAX8s1YXDFaai9xJpac2ySzV0YeRRECr2Vw==}
    +    engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
         dependencies:
    -      '@babel/core': 7.24.5
    +      '@babel/core': 7.24.7
           '@jest/types': 29.6.3
           '@jridgewell/trace-mapping': 0.3.25
           babel-plugin-istanbul: 6.1.1
    @@ -11009,86 +3946,143 @@ snapshots:
           jest-haste-map: 29.7.0
           jest-regex-util: 29.6.3
           jest-util: 29.7.0
    -      micromatch: 4.0.5
    +      micromatch: 4.0.7
           pirates: 4.0.6
           slash: 3.0.0
           write-file-atomic: 4.0.2
         transitivePeerDependencies:
           - supports-color
    +    dev: true
     
    -  '@jest/types@29.6.3':
    +  /@jest/types@29.6.3:
    +    resolution: {integrity: sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==}
    +    engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
         dependencies:
           '@jest/schemas': 29.6.3
           '@types/istanbul-lib-coverage': 2.0.6
           '@types/istanbul-reports': 3.0.4
    -      '@types/node': 20.12.7
    +      '@types/node': 20.14.2
           '@types/yargs': 17.0.32
           chalk: 4.1.2
    +    dev: true
     
    -  '@jridgewell/gen-mapping@0.3.5':
    +  /@jridgewell/gen-mapping@0.3.5:
    +    resolution: {integrity: sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==}
    +    engines: {node: '>=6.0.0'}
         dependencies:
           '@jridgewell/set-array': 1.2.1
           '@jridgewell/sourcemap-codec': 1.4.15
           '@jridgewell/trace-mapping': 0.3.25
     
    -  '@jridgewell/resolve-uri@3.1.2': {}
    +  /@jridgewell/resolve-uri@3.1.2:
    +    resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==}
    +    engines: {node: '>=6.0.0'}
     
    -  '@jridgewell/set-array@1.2.1': {}
    +  /@jridgewell/set-array@1.2.1:
    +    resolution: {integrity: sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==}
    +    engines: {node: '>=6.0.0'}
     
    -  '@jridgewell/source-map@0.3.6':
    +  /@jridgewell/source-map@0.3.6:
    +    resolution: {integrity: sha512-1ZJTZebgqllO79ue2bm3rIGud/bOe0pP5BjSRCRxxYkEZS8STV7zN84UBbiYu7jy+eCKSnVIUgoWWE/tt+shMQ==}
         dependencies:
           '@jridgewell/gen-mapping': 0.3.5
           '@jridgewell/trace-mapping': 0.3.25
    +    dev: true
     
    -  '@jridgewell/sourcemap-codec@1.4.15': {}
    +  /@jridgewell/sourcemap-codec@1.4.15:
    +    resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==}
     
    -  '@jridgewell/trace-mapping@0.3.25':
    +  /@jridgewell/trace-mapping@0.3.25:
    +    resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==}
         dependencies:
           '@jridgewell/resolve-uri': 3.1.2
           '@jridgewell/sourcemap-codec': 1.4.15
     
    -  '@jsdevtools/ono@7.1.3': {}
    +  /@jsdevtools/ono@7.1.3:
    +    resolution: {integrity: sha512-4JQNk+3mVzK3xh2rqd6RB4J46qUR19azEHBneZyTZM+c456qOrbbM/5xcR8huNCCcbVt7+UmizG6GuUvPvKUYg==}
    +    dev: true
     
    -  '@leichtgewicht/ip-codec@2.0.4': {}
    +  /@leichtgewicht/ip-codec@2.0.5:
    +    resolution: {integrity: sha512-Vo+PSpZG2/fmgmiNzYK9qWRh8h/CHrwD0mo1h1DzL4yzHNSfWYujGTYsWGreD000gcgmZ7K4Ys6Tx9TxtsKdDw==}
    +    dev: true
     
    -  '@mdi/font@7.4.47': {}
    +  /@mdi/font@7.4.47:
    +    resolution: {integrity: sha512-43MtGpd585SNzHZPcYowu/84Vz2a2g31TvPMTm9uTiCSWzaheQySUcSyUH/46fPnuPQWof2yd0pGBtzee/IQWw==}
    +    dev: false
     
    -  '@microsoft/tsdoc-config@0.16.2':
    +  /@microsoft/tsdoc-config@0.16.2:
    +    resolution: {integrity: sha512-OGiIzzoBLgWWR0UdRJX98oYO+XKGf7tiK4Zk6tQ/E4IJqGCe7dvkTvgDZV5cFJUzLGDOjeAXrnZoA6QkVySuxw==}
         dependencies:
           '@microsoft/tsdoc': 0.14.2
           ajv: 6.12.6
           jju: 1.4.0
           resolve: 1.19.0
    +    dev: true
     
    -  '@microsoft/tsdoc@0.14.2': {}
    +  /@microsoft/tsdoc@0.14.2:
    +    resolution: {integrity: sha512-9b8mPpKrfeGRuhFH5iO1iwCLeIIsV6+H1sRfxbkoGXIyQE2BTsPd9zqSqQJ+pv5sJ/hT5M1zvOFL02MnEezFug==}
    +    dev: true
     
    -  '@nodelib/fs.scandir@2.1.5':
    +  /@nodelib/fs.scandir@2.1.5:
    +    resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==}
    +    engines: {node: '>= 8'}
         dependencies:
           '@nodelib/fs.stat': 2.0.5
           run-parallel: 1.2.0
     
    -  '@nodelib/fs.stat@2.0.5': {}
    +  /@nodelib/fs.stat@2.0.5:
    +    resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==}
    +    engines: {node: '>= 8'}
     
    -  '@nodelib/fs.walk@1.2.8':
    +  /@nodelib/fs.walk@1.2.8:
    +    resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==}
    +    engines: {node: '>= 8'}
         dependencies:
           '@nodelib/fs.scandir': 2.1.5
           fastq: 1.17.1
     
    -  '@pkgjs/parseargs@0.11.0':
    +  /@pkgjs/parseargs@0.11.0:
    +    resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==}
    +    engines: {node: '>=14'}
    +    requiresBuild: true
         optional: true
     
    -  '@pkgr/core@0.1.1': {}
    +  /@pkgr/core@0.1.1:
    +    resolution: {integrity: sha512-cq8o4cWH0ibXh9VGi5P20Tu9XF/0fFXl9EUinr9QfTM7a7p0oTA4iJRCQWppXR1Pg8dSM0UCItCkPwsk9qWWYA==}
    +    engines: {node: ^12.20.0 || ^14.18.0 || >=16.0.0}
    +    dev: true
     
    -  '@polka/url@1.0.0-next.25': {}
    +  /@polka/url@1.0.0-next.25:
    +    resolution: {integrity: sha512-j7P6Rgr3mmtdkeDGTe0E/aYyWEWVtc5yFXtHCRHs28/jptDEWfaVOc5T7cblqy1XKPPfCxJc/8DwQ5YgLOZOVQ==}
    +    dev: true
     
    -  '@rollup/plugin-babel@5.3.1(@babel/core@7.24.5)(rollup@2.79.1)':
    +  /@rollup/plugin-babel@5.3.1(@babel/core@7.24.7)(rollup@2.79.1):
    +    resolution: {integrity: sha512-WFfdLWU/xVWKeRQnKmIAQULUI7Il0gZnBIH/ZFO069wYIfPu+8zrfp/KMW0atmELoRDq8FbiP3VCss9MhCut7Q==}
    +    engines: {node: '>= 10.0.0'}
    +    peerDependencies:
    +      '@babel/core': ^7.0.0
    +      '@types/babel__core': ^7.1.9
    +      rollup: ^1.20.0||^2.0.0
    +    peerDependenciesMeta:
    +      '@types/babel__core':
    +        optional: true
         dependencies:
    -      '@babel/core': 7.24.5
    -      '@babel/helper-module-imports': 7.24.3
    +      '@babel/core': 7.24.7
    +      '@babel/helper-module-imports': 7.24.7
           '@rollup/pluginutils': 3.1.0(rollup@2.79.1)
           rollup: 2.79.1
    +    transitivePeerDependencies:
    +      - supports-color
    +    dev: true
     
    -  '@rollup/plugin-node-resolve@15.2.3(rollup@2.79.1)':
    +  /@rollup/plugin-node-resolve@15.2.3(rollup@2.79.1):
    +    resolution: {integrity: sha512-j/lym8nf5E21LwBT4Df1VD6hRO2L2iwUeUmP7litikRsVp1H6NWx20NEp0Y7su+7XGc476GnXXc4kFeZNGmaSQ==}
    +    engines: {node: '>=14.0.0'}
    +    peerDependencies:
    +      rollup: ^2.78.0||^3.0.0||^4.0.0
    +    peerDependenciesMeta:
    +      rollup:
    +        optional: true
         dependencies:
           '@rollup/pluginutils': 5.1.0(rollup@2.79.1)
           '@types/resolve': 1.20.2
    @@ -11097,287 +4091,534 @@ snapshots:
           is-module: 1.0.0
           resolve: 1.22.8
           rollup: 2.79.1
    +    dev: true
     
    -  '@rollup/plugin-replace@2.4.2(rollup@2.79.1)':
    +  /@rollup/plugin-replace@2.4.2(rollup@2.79.1):
    +    resolution: {integrity: sha512-IGcu+cydlUMZ5En85jxHH4qj2hta/11BHq95iHEyb2sbgiN0eCdzvUcHw5gt9pBL5lTi4JDYJ1acCoMGpTvEZg==}
    +    peerDependencies:
    +      rollup: ^1.20.0 || ^2.0.0
         dependencies:
           '@rollup/pluginutils': 3.1.0(rollup@2.79.1)
           magic-string: 0.25.9
           rollup: 2.79.1
    +    dev: true
     
    -  '@rollup/plugin-terser@0.4.4(rollup@2.79.1)':
    +  /@rollup/plugin-terser@0.4.4(rollup@2.79.1):
    +    resolution: {integrity: sha512-XHeJC5Bgvs8LfukDwWZp7yeqin6ns8RTl2B9avbejt6tZqsqvVoWI7ZTQrcNsfKEDWBTnTxM8nMDkO2IFFbd0A==}
    +    engines: {node: '>=14.0.0'}
    +    peerDependencies:
    +      rollup: ^2.0.0||^3.0.0||^4.0.0
    +    peerDependenciesMeta:
    +      rollup:
    +        optional: true
         dependencies:
           rollup: 2.79.1
           serialize-javascript: 6.0.2
           smob: 1.5.0
    -      terser: 5.31.0
    +      terser: 5.31.1
    +    dev: true
     
    -  '@rollup/plugin-typescript@11.1.6(typescript@5.4.5)':
    +  /@rollup/plugin-typescript@11.1.6(typescript@5.4.5):
    +    resolution: {integrity: sha512-R92yOmIACgYdJ7dJ97p4K69I8gg6IEHt8M7dUBxN3W6nrO8uUxX5ixl0yU/N3aZTi8WhPuICvOHXQvF6FaykAA==}
    +    engines: {node: '>=14.0.0'}
    +    peerDependencies:
    +      rollup: ^2.14.0||^3.0.0||^4.0.0
    +      tslib: '*'
    +      typescript: '>=3.7.0'
    +    peerDependenciesMeta:
    +      rollup:
    +        optional: true
    +      tslib:
    +        optional: true
         dependencies:
           '@rollup/pluginutils': 5.1.0(rollup@2.79.1)
           resolve: 1.22.8
           typescript: 5.4.5
    +    dev: true
     
    -  '@rollup/pluginutils@3.1.0(rollup@2.79.1)':
    +  /@rollup/pluginutils@3.1.0(rollup@2.79.1):
    +    resolution: {integrity: sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg==}
    +    engines: {node: '>= 8.0.0'}
    +    peerDependencies:
    +      rollup: ^1.20.0||^2.0.0
         dependencies:
           '@types/estree': 0.0.39
           estree-walker: 1.0.1
           picomatch: 2.3.1
           rollup: 2.79.1
    +    dev: true
     
    -  '@rollup/pluginutils@5.1.0(rollup@2.79.1)':
    +  /@rollup/pluginutils@5.1.0(rollup@2.79.1):
    +    resolution: {integrity: sha512-XTIWOPPcpvyKI6L1NHo0lFlCyznUEyPmPY1mc3KpPVDYulHSTvyeLNVW00QTLIAFNhR3kYnJTQHeGqU4M3n09g==}
    +    engines: {node: '>=14.0.0'}
    +    peerDependencies:
    +      rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0
    +    peerDependenciesMeta:
    +      rollup:
    +        optional: true
         dependencies:
           '@types/estree': 1.0.5
           estree-walker: 2.0.2
           picomatch: 2.3.1
           rollup: 2.79.1
    +    dev: true
     
    -  '@rollup/rollup-android-arm-eabi@4.17.2':
    +  /@rollup/rollup-android-arm-eabi@4.18.0:
    +    resolution: {integrity: sha512-Tya6xypR10giZV1XzxmH5wr25VcZSncG0pZIjfePT0OVBvqNEurzValetGNarVrGiq66EBVAFn15iYX4w6FKgQ==}
    +    cpu: [arm]
    +    os: [android]
    +    requiresBuild: true
    +    dev: true
         optional: true
     
    -  '@rollup/rollup-android-arm64@4.17.2':
    +  /@rollup/rollup-android-arm64@4.18.0:
    +    resolution: {integrity: sha512-avCea0RAP03lTsDhEyfy+hpfr85KfyTctMADqHVhLAF3MlIkq83CP8UfAHUssgXTYd+6er6PaAhx/QGv4L1EiA==}
    +    cpu: [arm64]
    +    os: [android]
    +    requiresBuild: true
    +    dev: true
         optional: true
     
    -  '@rollup/rollup-darwin-arm64@4.17.2':
    +  /@rollup/rollup-darwin-arm64@4.18.0:
    +    resolution: {integrity: sha512-IWfdwU7KDSm07Ty0PuA/W2JYoZ4iTj3TUQjkVsO/6U+4I1jN5lcR71ZEvRh52sDOERdnNhhHU57UITXz5jC1/w==}
    +    cpu: [arm64]
    +    os: [darwin]
    +    requiresBuild: true
    +    dev: true
         optional: true
     
    -  '@rollup/rollup-darwin-x64@4.17.2':
    +  /@rollup/rollup-darwin-x64@4.18.0:
    +    resolution: {integrity: sha512-n2LMsUz7Ynu7DoQrSQkBf8iNrjOGyPLrdSg802vk6XT3FtsgX6JbE8IHRvposskFm9SNxzkLYGSq9QdpLYpRNA==}
    +    cpu: [x64]
    +    os: [darwin]
    +    requiresBuild: true
    +    dev: true
         optional: true
     
    -  '@rollup/rollup-linux-arm-gnueabihf@4.17.2':
    +  /@rollup/rollup-linux-arm-gnueabihf@4.18.0:
    +    resolution: {integrity: sha512-C/zbRYRXFjWvz9Z4haRxcTdnkPt1BtCkz+7RtBSuNmKzMzp3ZxdM28Mpccn6pt28/UWUCTXa+b0Mx1k3g6NOMA==}
    +    cpu: [arm]
    +    os: [linux]
    +    requiresBuild: true
    +    dev: true
         optional: true
     
    -  '@rollup/rollup-linux-arm-musleabihf@4.17.2':
    +  /@rollup/rollup-linux-arm-musleabihf@4.18.0:
    +    resolution: {integrity: sha512-l3m9ewPgjQSXrUMHg93vt0hYCGnrMOcUpTz6FLtbwljo2HluS4zTXFy2571YQbisTnfTKPZ01u/ukJdQTLGh9A==}
    +    cpu: [arm]
    +    os: [linux]
    +    requiresBuild: true
    +    dev: true
         optional: true
     
    -  '@rollup/rollup-linux-arm64-gnu@4.17.2':
    +  /@rollup/rollup-linux-arm64-gnu@4.18.0:
    +    resolution: {integrity: sha512-rJ5D47d8WD7J+7STKdCUAgmQk49xuFrRi9pZkWoRD1UeSMakbcepWXPF8ycChBoAqs1pb2wzvbY6Q33WmN2ftw==}
    +    cpu: [arm64]
    +    os: [linux]
    +    requiresBuild: true
    +    dev: true
         optional: true
     
    -  '@rollup/rollup-linux-arm64-musl@4.17.2':
    +  /@rollup/rollup-linux-arm64-musl@4.18.0:
    +    resolution: {integrity: sha512-be6Yx37b24ZwxQ+wOQXXLZqpq4jTckJhtGlWGZs68TgdKXJgw54lUUoFYrg6Zs/kjzAQwEwYbp8JxZVzZLRepQ==}
    +    cpu: [arm64]
    +    os: [linux]
    +    requiresBuild: true
    +    dev: true
         optional: true
     
    -  '@rollup/rollup-linux-powerpc64le-gnu@4.17.2':
    +  /@rollup/rollup-linux-powerpc64le-gnu@4.18.0:
    +    resolution: {integrity: sha512-hNVMQK+qrA9Todu9+wqrXOHxFiD5YmdEi3paj6vP02Kx1hjd2LLYR2eaN7DsEshg09+9uzWi2W18MJDlG0cxJA==}
    +    cpu: [ppc64]
    +    os: [linux]
    +    requiresBuild: true
    +    dev: true
         optional: true
     
    -  '@rollup/rollup-linux-riscv64-gnu@4.17.2':
    +  /@rollup/rollup-linux-riscv64-gnu@4.18.0:
    +    resolution: {integrity: sha512-ROCM7i+m1NfdrsmvwSzoxp9HFtmKGHEqu5NNDiZWQtXLA8S5HBCkVvKAxJ8U+CVctHwV2Gb5VUaK7UAkzhDjlg==}
    +    cpu: [riscv64]
    +    os: [linux]
    +    requiresBuild: true
    +    dev: true
         optional: true
     
    -  '@rollup/rollup-linux-s390x-gnu@4.17.2':
    +  /@rollup/rollup-linux-s390x-gnu@4.18.0:
    +    resolution: {integrity: sha512-0UyyRHyDN42QL+NbqevXIIUnKA47A+45WyasO+y2bGJ1mhQrfrtXUpTxCOrfxCR4esV3/RLYyucGVPiUsO8xjg==}
    +    cpu: [s390x]
    +    os: [linux]
    +    requiresBuild: true
    +    dev: true
         optional: true
     
    -  '@rollup/rollup-linux-x64-gnu@4.17.2':
    +  /@rollup/rollup-linux-x64-gnu@4.18.0:
    +    resolution: {integrity: sha512-xuglR2rBVHA5UsI8h8UbX4VJ470PtGCf5Vpswh7p2ukaqBGFTnsfzxUBetoWBWymHMxbIG0Cmx7Y9qDZzr648w==}
    +    cpu: [x64]
    +    os: [linux]
    +    requiresBuild: true
    +    dev: true
         optional: true
     
    -  '@rollup/rollup-linux-x64-musl@4.17.2':
    +  /@rollup/rollup-linux-x64-musl@4.18.0:
    +    resolution: {integrity: sha512-LKaqQL9osY/ir2geuLVvRRs+utWUNilzdE90TpyoX0eNqPzWjRm14oMEE+YLve4k/NAqCdPkGYDaDF5Sw+xBfg==}
    +    cpu: [x64]
    +    os: [linux]
    +    requiresBuild: true
    +    dev: true
         optional: true
     
    -  '@rollup/rollup-win32-arm64-msvc@4.17.2':
    +  /@rollup/rollup-win32-arm64-msvc@4.18.0:
    +    resolution: {integrity: sha512-7J6TkZQFGo9qBKH0pk2cEVSRhJbL6MtfWxth7Y5YmZs57Pi+4x6c2dStAUvaQkHQLnEQv1jzBUW43GvZW8OFqA==}
    +    cpu: [arm64]
    +    os: [win32]
    +    requiresBuild: true
    +    dev: true
         optional: true
     
    -  '@rollup/rollup-win32-ia32-msvc@4.17.2':
    +  /@rollup/rollup-win32-ia32-msvc@4.18.0:
    +    resolution: {integrity: sha512-Txjh+IxBPbkUB9+SXZMpv+b/vnTEtFyfWZgJ6iyCmt2tdx0OF5WhFowLmnh8ENGNpfUlUZkdI//4IEmhwPieNg==}
    +    cpu: [ia32]
    +    os: [win32]
    +    requiresBuild: true
    +    dev: true
         optional: true
     
    -  '@rollup/rollup-win32-x64-msvc@4.17.2':
    +  /@rollup/rollup-win32-x64-msvc@4.18.0:
    +    resolution: {integrity: sha512-UOo5FdvOL0+eIVTgS4tIdbW+TtnBLWg1YBCcU2KWM7nuNwRz9bksDX1bekJJCpu25N1DVWaCwnT39dVQxzqS8g==}
    +    cpu: [x64]
    +    os: [win32]
    +    requiresBuild: true
    +    dev: true
         optional: true
     
    -  '@shikijs/core@1.4.0': {}
    +  /@shikijs/core@1.6.4:
    +    resolution: {integrity: sha512-WTU9rzZae1p2v6LOxMf6LhtmZOkIHYYW160IuahUyJy7YXPPjyWZLR1ag+SgD22ZMxZtz1gfU6Tccc8t0Il/XA==}
    +    dev: true
     
    -  '@shikijs/transformers@1.4.0':
    +  /@shikijs/transformers@1.6.4:
    +    resolution: {integrity: sha512-NqDt7gUg3ayVBnsipT/KoL1pqsVbsvT/2cB0pb5SG2q72qjAv9Lb5OP99pL//BMmI+sMTo+TeARntklyBu4mZQ==}
         dependencies:
    -      shiki: 1.4.0
    +      shiki: 1.6.4
    +    dev: true
     
    -  '@sideway/address@4.1.5':
    +  /@sideway/address@4.1.5:
    +    resolution: {integrity: sha512-IqO/DUQHUkPeixNQ8n0JA6102hT9CmaljNTPmQ1u8MEhBo/R4Q8eKLN/vGZxuebwOroDB4cbpjheD4+/sKFK4Q==}
         dependencies:
           '@hapi/hoek': 9.3.0
    +    dev: true
     
    -  '@sideway/formula@3.0.1': {}
    +  /@sideway/formula@3.0.1:
    +    resolution: {integrity: sha512-/poHZJJVjx3L+zVD6g9KgHfYnb443oi7wLu/XKojDviHy6HOEOA6z1Trk5aR1dGcmPenJEgb2sK2I80LeS3MIg==}
    +    dev: true
     
    -  '@sideway/pinpoint@2.0.0': {}
    +  /@sideway/pinpoint@2.0.0:
    +    resolution: {integrity: sha512-RNiOoTPkptFtSVzQevY/yWtZwf/RxyVnPy/OcA9HBM3MlGDnBEYL5B41H0MTn0Uec8Hi+2qUtTfG2WWZBmMejQ==}
    +    dev: true
     
    -  '@sinclair/typebox@0.27.8': {}
    +  /@sinclair/typebox@0.27.8:
    +    resolution: {integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==}
    +    dev: true
     
    -  '@sindresorhus/is@4.6.0': {}
    +  /@sindresorhus/is@4.6.0:
    +    resolution: {integrity: sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw==}
    +    engines: {node: '>=10'}
    +    dev: true
     
    -  '@sindresorhus/merge-streams@2.3.0': {}
    +  /@sindresorhus/merge-streams@2.3.0:
    +    resolution: {integrity: sha512-LtoMMhxAlorcGhmFYI+LhPgbPZCkgP6ra1YL604EeF6U98pLlQ3iWIGMdWSC+vWmPBWBNgmDBAhnAobLROJmwg==}
    +    engines: {node: '>=18'}
    +    dev: true
     
    -  '@sinonjs/commons@3.0.1':
    +  /@sinonjs/commons@3.0.1:
    +    resolution: {integrity: sha512-K3mCHKQ9sVh8o1C9cxkwxaOmXoAMlDxC1mYyHrjqOWEcBjYr76t96zL2zlj5dUGZ3HSw240X1qgH3Mjf1yJWpQ==}
         dependencies:
           type-detect: 4.0.8
    +    dev: true
     
    -  '@sinonjs/fake-timers@10.3.0':
    +  /@sinonjs/fake-timers@10.3.0:
    +    resolution: {integrity: sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA==}
         dependencies:
           '@sinonjs/commons': 3.0.1
    +    dev: true
     
    -  '@surma/rollup-plugin-off-main-thread@2.2.3':
    +  /@surma/rollup-plugin-off-main-thread@2.2.3:
    +    resolution: {integrity: sha512-lR8q/9W7hZpMWweNiAKU7NQerBnzQQLvi8qnTDU/fxItPhtZVMbPV3lbCwjhIlNBe9Bbr5V+KHshvWmVSG9cxQ==}
         dependencies:
           ejs: 3.1.10
           json5: 2.2.3
           magic-string: 0.25.9
           string.prototype.matchall: 4.0.11
    +    dev: true
     
    -  '@szmarczak/http-timer@4.0.6':
    +  /@szmarczak/http-timer@4.0.6:
    +    resolution: {integrity: sha512-4BAffykYOgO+5nzBWYwE3W90sBgLJoUPRWWcL8wlyiM8IB8ipJz3UMJ9KXQd1RKQXpKp8Tutn80HZtWsu2u76w==}
    +    engines: {node: '>=10'}
         dependencies:
           defer-to-connect: 2.0.1
    +    dev: true
     
    -  '@tanstack/virtual-core@3.2.1': {}
    +  /@tanstack/virtual-core@3.5.1:
    +    resolution: {integrity: sha512-046+AUSiDru/V9pajE1du8WayvBKeCvJ2NmKPy/mR8/SbKKrqmSbj7LJBfXE+nSq4f5TBXvnCzu0kcYebI9WdQ==}
    +    dev: false
     
    -  '@tanstack/vue-virtual@3.2.1(vue@3.4.21)':
    +  /@tanstack/vue-virtual@3.5.1(vue@3.4.27):
    +    resolution: {integrity: sha512-6mc4HtDPieDVKD6GqzHiJkdzuqRNdQZuoIbkwE6af939WV+w62YmSF69jN+BOqClqh/ObiW+X1VOQx1Pftrx1A==}
    +    peerDependencies:
    +      vue: ^2.7.0 || ^3.0.0
         dependencies:
    -      '@tanstack/virtual-core': 3.2.1
    -      vue: 3.4.21(typescript@5.4.5)
    +      '@tanstack/virtual-core': 3.5.1
    +      vue: 3.4.27(typescript@5.4.5)
    +    dev: false
     
    -  '@tootallnate/once@2.0.0': {}
    +  /@tootallnate/once@2.0.0:
    +    resolution: {integrity: sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==}
    +    engines: {node: '>= 10'}
    +    dev: true
     
    -  '@types/assert@1.5.10': {}
    +  /@types/assert@1.5.10:
    +    resolution: {integrity: sha512-qEO+AUgYab7GVbeDDgUNCU3o0aZUoIMpNAe+w5LDbRxfxQX7vQAdDgwj1AroX+i8KaV56FWg0srXlSZROnsrIQ==}
    +    dev: false
     
    -  '@types/babel__core@7.20.5':
    +  /@types/babel__core@7.20.5:
    +    resolution: {integrity: sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==}
         dependencies:
    -      '@babel/parser': 7.24.5
    -      '@babel/types': 7.24.5
    +      '@babel/parser': 7.24.7
    +      '@babel/types': 7.24.7
           '@types/babel__generator': 7.6.8
           '@types/babel__template': 7.4.4
    -      '@types/babel__traverse': 7.20.5
    +      '@types/babel__traverse': 7.20.6
    +    dev: true
     
    -  '@types/babel__generator@7.6.8':
    +  /@types/babel__generator@7.6.8:
    +    resolution: {integrity: sha512-ASsj+tpEDsEiFr1arWrlN6V3mdfjRMZt6LtK/Vp/kreFLnr5QH5+DhvD5nINYZXzwJvXeGq+05iUXcAzVrqWtw==}
         dependencies:
    -      '@babel/types': 7.24.5
    +      '@babel/types': 7.24.7
    +    dev: true
     
    -  '@types/babel__template@7.4.4':
    +  /@types/babel__template@7.4.4:
    +    resolution: {integrity: sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==}
         dependencies:
    -      '@babel/parser': 7.24.5
    -      '@babel/types': 7.24.5
    +      '@babel/parser': 7.24.7
    +      '@babel/types': 7.24.7
    +    dev: true
     
    -  '@types/babel__traverse@7.20.5':
    +  /@types/babel__traverse@7.20.6:
    +    resolution: {integrity: sha512-r1bzfrm0tomOI8g1SzvCaQHo6Lcv6zu0EA+W2kHrt8dyrHQxGzBBL4kdkzIS+jBMV+EYcMAEAqXqYaLJq5rOZg==}
         dependencies:
    -      '@babel/types': 7.24.5
    +      '@babel/types': 7.24.7
    +    dev: true
     
    -  '@types/body-parser@1.19.5':
    +  /@types/body-parser@1.19.5:
    +    resolution: {integrity: sha512-fB3Zu92ucau0iQ0JMCFQE7b/dv8Ot07NI3KaZIkIUNXq82k4eBAqUaneXfleGY9JWskeS9y+u0nXMyspcuQrCg==}
         dependencies:
           '@types/connect': 3.4.38
    -      '@types/node': 20.12.7
    +      '@types/node': 20.14.2
    +    dev: true
     
    -  '@types/bonjour@3.5.10':
    +  /@types/bonjour@3.5.13:
    +    resolution: {integrity: sha512-z9fJ5Im06zvUL548KvYNecEVlA7cVDkGUi6kZusb04mpyEFKCIZJvloCcmpmLaIahDpOQGHaHmG6imtPMmPXGQ==}
         dependencies:
    -      '@types/node': 20.12.7
    +      '@types/node': 20.14.2
    +    dev: true
     
    -  '@types/braces@3.0.4': {}
    +  /@types/braces@3.0.4:
    +    resolution: {integrity: sha512-0WR3b8eaISjEW7RpZnclONaLFDf7buaowRHdqLp4vLj54AsSAYWfh3DRbfiYJY9XDxMgx1B4sE1Afw2PGpuHOA==}
    +    dev: true
     
    -  '@types/cacheable-request@6.0.3':
    +  /@types/cacheable-request@6.0.3:
    +    resolution: {integrity: sha512-IQ3EbTzGxIigb1I3qPZc1rWJnH0BmSKv5QYTalEwweFvyBDLSAe24zP0le/hyi7ecGfZVlIVAg4BZqb8WBwKqw==}
         dependencies:
           '@types/http-cache-semantics': 4.0.4
           '@types/keyv': 3.1.4
    -      '@types/node': 20.12.7
    +      '@types/node': 20.14.2
           '@types/responselike': 1.0.3
    +    dev: true
     
    -  '@types/connect-history-api-fallback@1.5.0':
    +  /@types/connect-history-api-fallback@1.5.4:
    +    resolution: {integrity: sha512-n6Cr2xS1h4uAulPRdlw6Jl6s1oG8KrVilPN2yUITEs+K48EzMJJ3W1xy8K5eWuFvjp3R74AOIGSmp2UfBJ8HFw==}
         dependencies:
    -      '@types/express-serve-static-core': 4.17.43
    -      '@types/node': 20.12.7
    +      '@types/express-serve-static-core': 4.19.3
    +      '@types/node': 20.14.2
    +    dev: true
     
    -  '@types/connect@3.4.38':
    +  /@types/connect@3.4.38:
    +    resolution: {integrity: sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==}
         dependencies:
    -      '@types/node': 20.12.7
    +      '@types/node': 20.14.2
    +    dev: true
     
    -  '@types/cors@2.8.17':
    +  /@types/cors@2.8.17:
    +    resolution: {integrity: sha512-8CGDvrBj1zgo2qE+oS3pOCyYNqCPryMWY2bGfwA0dcfopWGgxs+78df0Rs3rc9THP4JkOhLsAa+15VdpAqkcUA==}
         dependencies:
    -      '@types/node': 20.12.7
    +      '@types/node': 20.14.2
    +    dev: true
     
    -  '@types/cytoscape@3.21.0': {}
    +  /@types/cytoscape@3.21.3:
    +    resolution: {integrity: sha512-z8hhiKk8XAOh5uLPocxP06sp7ytI24F/tBSb6O72cDtUM85XLP2cQHCJtRO7vQWGWmUlAc3jnTIzWmviDngK6g==}
    +    dev: true
     
    -  '@types/d3-array@3.2.1': {}
    +  /@types/d3-array@3.2.1:
    +    resolution: {integrity: sha512-Y2Jn2idRrLzUfAKV2LyRImR+y4oa2AntrgID95SHJxuMUrkNXmanDSed71sRNZysveJVt1hLLemQZIady0FpEg==}
    +    dev: true
     
    -  '@types/d3-axis@3.0.6':
    +  /@types/d3-axis@3.0.6:
    +    resolution: {integrity: sha512-pYeijfZuBd87T0hGn0FO1vQ/cgLk6E1ALJjfkC0oJ8cbwkZl3TpgS8bVBLZN+2jjGgg38epgxb2zmoGtSfvgMw==}
         dependencies:
           '@types/d3-selection': 3.0.10
    +    dev: true
     
    -  '@types/d3-brush@3.0.6':
    +  /@types/d3-brush@3.0.6:
    +    resolution: {integrity: sha512-nH60IZNNxEcrh6L1ZSMNA28rj27ut/2ZmI3r96Zd+1jrZD++zD3LsMIjWlvg4AYrHn/Pqz4CF3veCxGjtbqt7A==}
         dependencies:
           '@types/d3-selection': 3.0.10
    +    dev: true
     
    -  '@types/d3-chord@3.0.6': {}
    +  /@types/d3-chord@3.0.6:
    +    resolution: {integrity: sha512-LFYWWd8nwfwEmTZG9PfQxd17HbNPksHBiJHaKuY1XeqscXacsS2tyoo6OdRsjf+NQYeB6XrNL3a25E3gH69lcg==}
    +    dev: true
     
    -  '@types/d3-color@3.1.3': {}
    +  /@types/d3-color@3.1.3:
    +    resolution: {integrity: sha512-iO90scth9WAbmgv7ogoq57O9YpKmFBbmoEoCHDB2xMBY0+/KVrqAaCDyCE16dUspeOvIxFFRI+0sEtqDqy2b4A==}
    +    dev: true
     
    -  '@types/d3-contour@3.0.6':
    +  /@types/d3-contour@3.0.6:
    +    resolution: {integrity: sha512-BjzLgXGnCWjUSYGfH1cpdo41/hgdWETu4YxpezoztawmqsvCeep+8QGfiY6YbDvfgHz/DkjeIkkZVJavB4a3rg==}
         dependencies:
           '@types/d3-array': 3.2.1
           '@types/geojson': 7946.0.14
    +    dev: true
     
    -  '@types/d3-delaunay@6.0.4': {}
    +  /@types/d3-delaunay@6.0.4:
    +    resolution: {integrity: sha512-ZMaSKu4THYCU6sV64Lhg6qjf1orxBthaC161plr5KuPHo3CNm8DTHiLw/5Eq2b6TsNP0W0iJrUOFscY6Q450Hw==}
    +    dev: true
     
    -  '@types/d3-dispatch@3.0.6': {}
    +  /@types/d3-dispatch@3.0.6:
    +    resolution: {integrity: sha512-4fvZhzMeeuBJYZXRXrRIQnvUYfyXwYmLsdiN7XXmVNQKKw1cM8a5WdID0g1hVFZDqT9ZqZEY5pD44p24VS7iZQ==}
    +    dev: true
     
    -  '@types/d3-drag@3.0.7':
    +  /@types/d3-drag@3.0.7:
    +    resolution: {integrity: sha512-HE3jVKlzU9AaMazNufooRJ5ZpWmLIoc90A37WU2JMmeq28w1FQqCZswHZ3xR+SuxYftzHq6WU6KJHvqxKzTxxQ==}
         dependencies:
           '@types/d3-selection': 3.0.10
    +    dev: true
     
    -  '@types/d3-dsv@3.0.7': {}
    +  /@types/d3-dsv@3.0.7:
    +    resolution: {integrity: sha512-n6QBF9/+XASqcKK6waudgL0pf/S5XHPPI8APyMLLUHd8NqouBGLsU8MgtO7NINGtPBtk9Kko/W4ea0oAspwh9g==}
    +    dev: true
     
    -  '@types/d3-ease@3.0.2': {}
    +  /@types/d3-ease@3.0.2:
    +    resolution: {integrity: sha512-NcV1JjO5oDzoK26oMzbILE6HW7uVXOHLQvHshBUW4UMdZGfiY6v5BeQwh9a9tCzv+CeefZQHJt5SRgK154RtiA==}
    +    dev: true
     
    -  '@types/d3-fetch@3.0.7':
    +  /@types/d3-fetch@3.0.7:
    +    resolution: {integrity: sha512-fTAfNmxSb9SOWNB9IoG5c8Hg6R+AzUHDRlsXsDZsNp6sxAEOP0tkP3gKkNSO/qmHPoBFTxNrjDprVHDQDvo5aA==}
         dependencies:
           '@types/d3-dsv': 3.0.7
    +    dev: true
     
    -  '@types/d3-force@3.0.9': {}
    +  /@types/d3-force@3.0.9:
    +    resolution: {integrity: sha512-IKtvyFdb4Q0LWna6ymywQsEYjK/94SGhPrMfEr1TIc5OBeziTi+1jcCvttts8e0UWZIxpasjnQk9MNk/3iS+kA==}
    +    dev: true
     
    -  '@types/d3-format@3.0.4': {}
    +  /@types/d3-format@3.0.4:
    +    resolution: {integrity: sha512-fALi2aI6shfg7vM5KiR1wNJnZ7r6UuggVqtDA+xiEdPZQwy/trcQaHnwShLuLdta2rTymCNpxYTiMZX/e09F4g==}
    +    dev: true
     
    -  '@types/d3-geo@3.1.0':
    +  /@types/d3-geo@3.1.0:
    +    resolution: {integrity: sha512-856sckF0oP/diXtS4jNsiQw/UuK5fQG8l/a9VVLeSouf1/PPbBE1i1W852zVwKwYCBkFJJB7nCFTbk6UMEXBOQ==}
         dependencies:
           '@types/geojson': 7946.0.14
    +    dev: true
     
    -  '@types/d3-hierarchy@3.1.6': {}
    +  /@types/d3-hierarchy@3.1.7:
    +    resolution: {integrity: sha512-tJFtNoYBtRtkNysX1Xq4sxtjK8YgoWUNpIiUee0/jHGRwqvzYxkq0hGVbbOGSz+JgFxxRu4K8nb3YpG3CMARtg==}
    +    dev: true
     
    -  '@types/d3-interpolate@3.0.4':
    +  /@types/d3-interpolate@3.0.4:
    +    resolution: {integrity: sha512-mgLPETlrpVV1YRJIglr4Ez47g7Yxjl1lj7YKsiMCb27VJH9W8NVM6Bb9d8kkpG/uAQS5AmbA48q2IAolKKo1MA==}
         dependencies:
           '@types/d3-color': 3.1.3
    +    dev: true
     
    -  '@types/d3-path@1.0.11': {}
    +  /@types/d3-path@1.0.11:
    +    resolution: {integrity: sha512-4pQMp8ldf7UaB/gR8Fvvy69psNHkTpD/pVw3vmEi8iZAB9EPMBruB1JvHO4BIq9QkUUd2lV1F5YXpMNj7JPBpw==}
    +    dev: true
     
    -  '@types/d3-path@3.1.0': {}
    +  /@types/d3-path@3.1.0:
    +    resolution: {integrity: sha512-P2dlU/q51fkOc/Gfl3Ul9kicV7l+ra934qBFXCFhrZMOL6du1TM0pm1ThYvENukyOn5h9v+yMJ9Fn5JK4QozrQ==}
    +    dev: true
     
    -  '@types/d3-polygon@3.0.2': {}
    +  /@types/d3-polygon@3.0.2:
    +    resolution: {integrity: sha512-ZuWOtMaHCkN9xoeEMr1ubW2nGWsp4nIql+OPQRstu4ypeZ+zk3YKqQT0CXVe/PYqrKpZAi+J9mTs05TKwjXSRA==}
    +    dev: true
     
    -  '@types/d3-quadtree@3.0.6': {}
    +  /@types/d3-quadtree@3.0.6:
    +    resolution: {integrity: sha512-oUzyO1/Zm6rsxKRHA1vH0NEDG58HrT5icx/azi9MF1TWdtttWl0UIUsjEQBBh+SIkrpd21ZjEv7ptxWys1ncsg==}
    +    dev: true
     
    -  '@types/d3-random@3.0.3': {}
    +  /@types/d3-random@3.0.3:
    +    resolution: {integrity: sha512-Imagg1vJ3y76Y2ea0871wpabqp613+8/r0mCLEBfdtqC7xMSfj9idOnmBYyMoULfHePJyxMAw3nWhJxzc+LFwQ==}
    +    dev: true
     
    -  '@types/d3-sankey@0.12.4':
    +  /@types/d3-sankey@0.12.4:
    +    resolution: {integrity: sha512-YTicQNwioitIlvuvlfW2GfO6sKxpohzg2cSQttlXAPjFwoBuN+XpGLhUN3kLutG/dI3GCLC+DUorqiJt7Naetw==}
         dependencies:
           '@types/d3-shape': 1.3.12
    +    dev: true
     
    -  '@types/d3-scale-chromatic@3.0.3': {}
    +  /@types/d3-scale-chromatic@3.0.3:
    +    resolution: {integrity: sha512-laXM4+1o5ImZv3RpFAsTRn3TEkzqkytiOY0Dz0sq5cnd1dtNlk6sHLon4OvqaiJb28T0S/TdsBI3Sjsy+keJrw==}
    +    dev: true
     
    -  '@types/d3-scale@4.0.8':
    +  /@types/d3-scale@4.0.8:
    +    resolution: {integrity: sha512-gkK1VVTr5iNiYJ7vWDI+yUFFlszhNMtVeneJ6lUTKPjprsvLLI9/tgEGiXJOnlINJA8FyA88gfnQsHbybVZrYQ==}
         dependencies:
           '@types/d3-time': 3.0.3
    +    dev: true
     
    -  '@types/d3-selection@3.0.10': {}
    +  /@types/d3-selection@3.0.10:
    +    resolution: {integrity: sha512-cuHoUgS/V3hLdjJOLTT691+G2QoqAjCVLmr4kJXR4ha56w1Zdu8UUQ5TxLRqudgNjwXeQxKMq4j+lyf9sWuslg==}
    +    dev: true
     
    -  '@types/d3-shape@1.3.12':
    +  /@types/d3-shape@1.3.12:
    +    resolution: {integrity: sha512-8oMzcd4+poSLGgV0R1Q1rOlx/xdmozS4Xab7np0eamFFUYq71AU9pOCJEFnkXW2aI/oXdVYJzw6pssbSut7Z9Q==}
         dependencies:
           '@types/d3-path': 1.0.11
    +    dev: true
     
    -  '@types/d3-shape@3.1.6':
    +  /@types/d3-shape@3.1.6:
    +    resolution: {integrity: sha512-5KKk5aKGu2I+O6SONMYSNflgiP0WfZIQvVUMan50wHsLG1G94JlxEVnCpQARfTtzytuY0p/9PXXZb3I7giofIA==}
         dependencies:
           '@types/d3-path': 3.1.0
    +    dev: true
     
    -  '@types/d3-time-format@4.0.3': {}
    +  /@types/d3-time-format@4.0.3:
    +    resolution: {integrity: sha512-5xg9rC+wWL8kdDj153qZcsJ0FWiFt0J5RB6LYUNZjwSnesfblqrI/bJ1wBdJ8OQfncgbJG5+2F+qfqnqyzYxyg==}
    +    dev: true
     
    -  '@types/d3-time@3.0.3': {}
    +  /@types/d3-time@3.0.3:
    +    resolution: {integrity: sha512-2p6olUZ4w3s+07q3Tm2dbiMZy5pCDfYwtLXXHUnVzXgQlZ/OyPtUz6OL382BkOuGlLXqfT+wqv8Fw2v8/0geBw==}
    +    dev: true
     
    -  '@types/d3-timer@3.0.2': {}
    +  /@types/d3-timer@3.0.2:
    +    resolution: {integrity: sha512-Ps3T8E8dZDam6fUyNiMkekK3XUsaUEik+idO9/YjPtfj2qruF8tFBXS7XhtE4iIXBLxhmLjP3SXpLhVf21I9Lw==}
    +    dev: true
     
    -  '@types/d3-transition@3.0.8':
    +  /@types/d3-transition@3.0.8:
    +    resolution: {integrity: sha512-ew63aJfQ/ms7QQ4X7pk5NxQ9fZH/z+i24ZfJ6tJSfqxJMrYLiK01EAs2/Rtw/JreGUsS3pLPNV644qXFGnoZNQ==}
         dependencies:
           '@types/d3-selection': 3.0.10
    +    dev: true
     
    -  '@types/d3-zoom@3.0.8':
    +  /@types/d3-zoom@3.0.8:
    +    resolution: {integrity: sha512-iqMC4/YlFCSlO8+2Ii1GGGliCAY4XdeG748w5vQUbevlbDu0zSjH/+jojorQVBK/se0j6DUFNPBGSqD3YWYnDw==}
         dependencies:
           '@types/d3-interpolate': 3.0.4
           '@types/d3-selection': 3.0.10
    +    dev: true
     
    -  '@types/d3@7.4.3':
    +  /@types/d3@7.4.3:
    +    resolution: {integrity: sha512-lZXZ9ckh5R8uiFVt8ogUNf+pIrK4EsWrx2Np75WvF/eTpJ0FMHNhjXk8CKEx/+gpHbNQyJWehbFaTvqmHWB3ww==}
         dependencies:
           '@types/d3-array': 3.2.1
           '@types/d3-axis': 3.0.6
    @@ -11394,7 +4635,7 @@ snapshots:
           '@types/d3-force': 3.0.9
           '@types/d3-format': 3.0.4
           '@types/d3-geo': 3.1.0
    -      '@types/d3-hierarchy': 3.1.6
    +      '@types/d3-hierarchy': 3.1.7
           '@types/d3-interpolate': 3.0.4
           '@types/d3-path': 3.1.0
           '@types/d3-polygon': 3.0.2
    @@ -11409,322 +4650,526 @@ snapshots:
           '@types/d3-timer': 3.0.2
           '@types/d3-transition': 3.0.8
           '@types/d3-zoom': 3.0.8
    +    dev: true
     
    -  '@types/debug@4.1.12':
    +  /@types/debug@4.1.12:
    +    resolution: {integrity: sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==}
         dependencies:
           '@types/ms': 0.7.34
     
    -  '@types/dompurify@3.0.5':
    +  /@types/dompurify@3.0.5:
    +    resolution: {integrity: sha512-1Wg0g3BtQF7sSb27fJQAKck1HECM6zV1EB66j8JH9i3LCjYabJa0FSdiSgsD5K/RbrsR0SiraKacLB+T8ZVYAg==}
         dependencies:
           '@types/trusted-types': 2.0.7
    +    dev: true
     
    -  '@types/eslint-scope@3.7.7':
    +  /@types/eslint-scope@3.7.7:
    +    resolution: {integrity: sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg==}
         dependencies:
           '@types/eslint': 8.56.10
           '@types/estree': 1.0.5
    +    dev: true
     
    -  '@types/eslint@8.56.10':
    +  /@types/eslint@8.56.10:
    +    resolution: {integrity: sha512-Shavhk87gCtY2fhXDctcfS3e6FdxWkCx1iUZ9eEUbh7rTqlZT0/IzOkCOVt0fCjcFuZ9FPYfuezTBImfHCDBGQ==}
         dependencies:
           '@types/estree': 1.0.5
           '@types/json-schema': 7.0.15
    +    dev: true
     
    -  '@types/estree@0.0.39': {}
    +  /@types/estree@0.0.39:
    +    resolution: {integrity: sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==}
    +    dev: true
     
    -  '@types/estree@1.0.5': {}
    +  /@types/estree@1.0.5:
    +    resolution: {integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==}
    +    dev: true
     
    -  '@types/express-serve-static-core@4.17.43':
    +  /@types/express-serve-static-core@4.19.3:
    +    resolution: {integrity: sha512-KOzM7MhcBFlmnlr/fzISFF5vGWVSvN6fTd4T+ExOt08bA/dA5kpSzY52nMsI1KDFmUREpJelPYyuslLRSjjgCg==}
         dependencies:
    -      '@types/node': 20.12.7
    -      '@types/qs': 6.9.12
    +      '@types/node': 20.14.2
    +      '@types/qs': 6.9.15
           '@types/range-parser': 1.2.7
           '@types/send': 0.17.4
    +    dev: true
     
    -  '@types/express@4.17.21':
    +  /@types/express@4.17.21:
    +    resolution: {integrity: sha512-ejlPM315qwLpaQlQDTjPdsUFSc6ZsP4AN6AlWnogPjQ7CVi7PYF3YVz+CY3jE2pwYf7E/7HlDAN0rV2GxTG0HQ==}
         dependencies:
           '@types/body-parser': 1.19.5
    -      '@types/express-serve-static-core': 4.17.43
    -      '@types/qs': 6.9.12
    -      '@types/serve-static': 1.15.5
    +      '@types/express-serve-static-core': 4.19.3
    +      '@types/qs': 6.9.15
    +      '@types/serve-static': 1.15.7
    +    dev: true
     
    -  '@types/flexsearch@0.7.3': {}
    +  /@types/flexsearch@0.7.6:
    +    resolution: {integrity: sha512-H5IXcRn96/gaDmo+rDl2aJuIJsob8dgOXDqf8K0t8rWZd1AFNaaspmRsElESiU+EWE33qfbFPgI0OC/B1g9FCA==}
    +    dev: true
     
    -  '@types/geojson@7946.0.14': {}
    +  /@types/geojson@7946.0.14:
    +    resolution: {integrity: sha512-WCfD5Ht3ZesJUsONdhvm84dmzWOiOzOAqOncN0++w0lBw1o8OuDNJF2McvvCef/yBqb/HYRahp1BYtODFQ8bRg==}
    +    dev: true
     
    -  '@types/glob@7.2.0':
    +  /@types/glob@7.2.0:
    +    resolution: {integrity: sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA==}
         dependencies:
           '@types/minimatch': 5.1.2
    -      '@types/node': 20.12.7
    +      '@types/node': 20.14.2
    +    dev: true
     
    -  '@types/glob@8.1.0':
    +  /@types/glob@8.1.0:
    +    resolution: {integrity: sha512-IO+MJPVhoqz+28h1qLAcBEH2+xHMK6MTyHJc7MTnnYb6wsoLR29POVGJ7LycmVXIqyy/4/2ShP5sUwTXuOwb/w==}
         dependencies:
           '@types/minimatch': 5.1.2
    -      '@types/node': 20.12.7
    +      '@types/node': 20.14.2
    +    dev: true
     
    -  '@types/graceful-fs@4.1.9':
    +  /@types/graceful-fs@4.1.9:
    +    resolution: {integrity: sha512-olP3sd1qOEe5dXTSaFvQG+02VdRXcdytWLAZsAq1PecU8uqQAhkrnbli7DagjtXKW/Bl7YJbUsa8MPcuc8LHEQ==}
         dependencies:
    -      '@types/node': 20.12.7
    +      '@types/node': 20.14.2
    +    dev: true
     
    -  '@types/http-cache-semantics@4.0.4': {}
    +  /@types/http-cache-semantics@4.0.4:
    +    resolution: {integrity: sha512-1m0bIFVc7eJWyve9S0RnuRgcQqF/Xd5QsUZAZeQFr1Q3/p9JWoQQEqmVy+DPTNpGXwhgIetAoYF8JSc33q29QA==}
    +    dev: true
     
    -  '@types/http-errors@2.0.4': {}
    +  /@types/http-errors@2.0.4:
    +    resolution: {integrity: sha512-D0CFMMtydbJAegzOyHjtiKPLlvnm3iTZyZRSZoLq2mRhDdmLfIWOCYPfQJ4cu2erKghU++QvjcUjp/5h7hESpA==}
    +    dev: true
     
    -  '@types/http-proxy@1.17.11':
    +  /@types/http-proxy@1.17.14:
    +    resolution: {integrity: sha512-SSrD0c1OQzlFX7pGu1eXxSEjemej64aaNPRhhVYUGqXh0BtldAAx37MG8btcumvpgKyZp1F5Gn3JkktdxiFv6w==}
         dependencies:
    -      '@types/node': 20.12.7
    +      '@types/node': 20.14.2
    +    dev: true
     
    -  '@types/istanbul-lib-coverage@2.0.6': {}
    +  /@types/istanbul-lib-coverage@2.0.6:
    +    resolution: {integrity: sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==}
    +    dev: true
     
    -  '@types/istanbul-lib-report@3.0.3':
    +  /@types/istanbul-lib-report@3.0.3:
    +    resolution: {integrity: sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA==}
         dependencies:
           '@types/istanbul-lib-coverage': 2.0.6
    +    dev: true
     
    -  '@types/istanbul-reports@3.0.4':
    +  /@types/istanbul-reports@3.0.4:
    +    resolution: {integrity: sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==}
         dependencies:
           '@types/istanbul-lib-report': 3.0.3
    +    dev: true
     
    -  '@types/js-yaml@4.0.9': {}
    +  /@types/js-yaml@4.0.9:
    +    resolution: {integrity: sha512-k4MGaQl5TGo/iipqb2UDG2UwjXziSWkh0uysQelTlJpX1qGlpUZYm8PnO4DxG1qBomtJUdYJ6qR6xdIah10JLg==}
    +    dev: true
     
    -  '@types/jsdom@21.1.6':
    +  /@types/jsdom@21.1.7:
    +    resolution: {integrity: sha512-yOriVnggzrnQ3a9OKOCxaVuSug3w3/SbOj5i7VwXWZEyUNl3bLF9V3MfxGbZKuwqJOQyRfqXyROBB1CoZLFWzA==}
         dependencies:
    -      '@types/node': 20.11.30
    +      '@types/node': 20.14.2
           '@types/tough-cookie': 4.0.5
           parse5: 7.1.2
    +    dev: true
     
    -  '@types/json-schema@7.0.15': {}
    +  /@types/json-schema@7.0.15:
    +    resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==}
    +    dev: true
     
    -  '@types/katex@0.16.7': {}
    +  /@types/katex@0.16.7:
    +    resolution: {integrity: sha512-HMwFiRujE5PjrgwHQ25+bsLJgowjGjm5Z8FVSf0N6PwgJrwxH0QxzHYDcKsTfV3wva0vzrpqMTJS2jXPr5BMEQ==}
    +    dev: true
     
    -  '@types/keyv@3.1.4':
    +  /@types/keyv@3.1.4:
    +    resolution: {integrity: sha512-BQ5aZNSCpj7D6K2ksrRCTmKRLEpnPvWDiLPfoGyhZ++8YtiK9d/3DBKPJgry359X/P1PfruyYwvnvwFjuEiEIg==}
         dependencies:
    -      '@types/node': 20.12.7
    +      '@types/node': 20.14.2
    +    dev: true
    +
    +  /@types/linkify-it@3.0.5:
    +    resolution: {integrity: sha512-yg6E+u0/+Zjva+buc3EIb+29XEg4wltq7cSmd4Uc2EE/1nUVmxyzpX6gUXD0V8jIrG0r7YeOGVIbYRkxeooCtw==}
    +    dev: true
     
    -  '@types/linkify-it@3.0.5': {}
    +  /@types/linkify-it@5.0.0:
    +    resolution: {integrity: sha512-sVDA58zAw4eWAffKOaQH5/5j3XeayukzDk+ewSsnv3p4yJEZHCCzMDiZM8e0OUrRvmpGZ85jf4yDHkHsgBNr9Q==}
    +    dev: true
     
    -  '@types/lodash-es@4.17.12':
    +  /@types/lodash-es@4.17.12:
    +    resolution: {integrity: sha512-0NgftHUcV4v34VhXm8QBSftKVXtbkBG3ViCjs6+eJ5a6y6Mi/jiFGPc1sC7QK+9BFhWrURE3EOggmWaSxL9OzQ==}
         dependencies:
    -      '@types/lodash': 4.17.0
    +      '@types/lodash': 4.17.5
    +    dev: true
     
    -  '@types/lodash@4.17.0': {}
    +  /@types/lodash@4.17.5:
    +    resolution: {integrity: sha512-MBIOHVZqVqgfro1euRDWX7OO0fBVUUMrN6Pwm8LQsz8cWhEpihlvR70ENj3f40j58TNxZaWv2ndSkInykNBBJw==}
    +    dev: true
     
    -  '@types/markdown-it@12.2.3':
    +  /@types/markdown-it@12.2.3:
    +    resolution: {integrity: sha512-GKMHFfv3458yYy+v/N8gjufHO6MSZKCOXpZc5GXIWWy8uldwfmPn98vp81gZ5f9SVw8YYBctgfJ22a2d7AOMeQ==}
         dependencies:
    -      '@types/linkify-it': 3.0.5
    -      '@types/mdurl': 1.0.5
    +      '@types/linkify-it': 5.0.0
    +      '@types/mdurl': 2.0.0
    +    dev: true
     
    -  '@types/markdown-it@13.0.8':
    +  /@types/markdown-it@13.0.8:
    +    resolution: {integrity: sha512-V+KmpgiipS+zoypeUSS9ojesWtY/0k4XfqcK2fnVrX/qInJhX7rsCxZ/rygiPH2zxlPPrhfuW0I6ddMcWTKLsg==}
         dependencies:
           '@types/linkify-it': 3.0.5
           '@types/mdurl': 1.0.5
    +    dev: true
     
    -  '@types/markdown-it@14.0.1':
    +  /@types/markdown-it@14.1.1:
    +    resolution: {integrity: sha512-4NpsnpYl2Gt1ljyBGrKMxFYAYvpqbnnkgP/i/g+NLpjEUa3obn1XJCur9YbEXKDAkaXqsR1LbDnGEJ0MmKFxfg==}
         dependencies:
    -      '@types/linkify-it': 3.0.5
    -      '@types/mdurl': 1.0.5
    +      '@types/linkify-it': 5.0.0
    +      '@types/mdurl': 2.0.0
    +    dev: true
     
    -  '@types/mdast@3.0.15':
    +  /@types/mdast@3.0.15:
    +    resolution: {integrity: sha512-LnwD+mUEfxWMa1QpDraczIn6k0Ee3SMicuYSSzS6ZYl2gKS09EClnJYGd8Du6rfc5r/GZEk5o1mRb8TaTj03sQ==}
         dependencies:
           '@types/unist': 2.0.10
    +    dev: true
     
    -  '@types/mdast@4.0.3':
    +  /@types/mdast@4.0.4:
    +    resolution: {integrity: sha512-kGaNbPh1k7AFzgpud/gMdvIm5xuECykRR+JnWKQno9TAXVa6WIVCGTPvYGekIDL4uwCZQSYbUxNBSb1aUo79oA==}
         dependencies:
    -      '@types/unist': 2.0.10
    +      '@types/unist': 3.0.2
    +
    +  /@types/mdurl@1.0.5:
    +    resolution: {integrity: sha512-6L6VymKTzYSrEf4Nev4Xa1LCHKrlTlYCBMTlQKFuddo1CvQcE52I0mwfOJayueUC7MJuXOeHTcIU683lzd0cUA==}
    +    dev: true
     
    -  '@types/mdurl@1.0.5': {}
    +  /@types/mdurl@2.0.0:
    +    resolution: {integrity: sha512-RGdgjQUZba5p6QEFAVx2OGb8rQDL/cPRG7GiedRzMcJ1tYnUANBncjbSB1NRGwbvjcPeikRABz2nshyPk1bhWg==}
    +    dev: true
     
    -  '@types/micromatch@4.0.7':
    +  /@types/micromatch@4.0.7:
    +    resolution: {integrity: sha512-C/FMQ8HJAZhTsDpl4wDKZdMeeW5USjgzOczUwTGbRc1ZopPgOhIEnxY2ZgUrsuyy4DwK1JVOJZKFakv3TbCKiA==}
         dependencies:
           '@types/braces': 3.0.4
    +    dev: true
     
    -  '@types/mime@1.3.5': {}
    -
    -  '@types/mime@3.0.4': {}
    +  /@types/mime@1.3.5:
    +    resolution: {integrity: sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w==}
    +    dev: true
     
    -  '@types/minimatch@5.1.2': {}
    +  /@types/minimatch@5.1.2:
    +    resolution: {integrity: sha512-K0VQKziLUWkVKiRVrx4a40iPaxTUefQmjtkQofBkYRcoaaL/8rhwDWww9qWbrgicNOgnpIsMxyNIUM4+n6dUIA==}
    +    dev: true
     
    -  '@types/ms@0.7.34': {}
    +  /@types/ms@0.7.34:
    +    resolution: {integrity: sha512-nG96G3Wp6acyAgJqGasjODb+acrI7KltPiRxzHPXnP3NgI28bpQDRv53olbqGXbfcgF5aiiHmO3xpwEpS5Ld9g==}
     
    -  '@types/node@18.19.31':
    +  /@types/node-forge@1.3.11:
    +    resolution: {integrity: sha512-FQx220y22OKNTqaByeBGqHWYz4cl94tpcxeFdvBo3wjG6XPBuZ0BNgNZRV5J5TFmmcsJ4IzsLkmGRiQbnYsBEQ==}
         dependencies:
    -      undici-types: 5.26.5
    +      '@types/node': 20.14.2
    +    dev: true
     
    -  '@types/node@20.11.30':
    +  /@types/node@18.19.34:
    +    resolution: {integrity: sha512-eXF4pfBNV5DAMKGbI02NnDtWrQ40hAN558/2vvS4gMpMIxaf6JmD7YjnZbq0Q9TDSSkKBamime8ewRoomHdt4g==}
         dependencies:
           undici-types: 5.26.5
    +    dev: true
     
    -  '@types/node@20.12.7':
    +  /@types/node@20.14.2:
    +    resolution: {integrity: sha512-xyu6WAMVwv6AKFLB+e/7ySZVr/0zLCzOa7rSpq6jNwpqOrUbcACDWC+53d4n2QHOnDou0fbIsg8wZu/sxrnI4Q==}
         dependencies:
           undici-types: 5.26.5
    +    dev: true
     
    -  '@types/normalize-package-data@2.4.1': {}
    +  /@types/normalize-package-data@2.4.4:
    +    resolution: {integrity: sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==}
    +    dev: true
     
    -  '@types/prettier@2.7.3': {}
    +  /@types/prettier@2.7.3:
    +    resolution: {integrity: sha512-+68kP9yzs4LMp7VNh8gdzMSPZFL44MLGqiHWvttYJe+6qnuVr4Ek9wSBQoveqY/r+LwjCcU29kNVkidwim+kYA==}
    +    dev: true
     
    -  '@types/prettier@3.0.0':
    +  /@types/prettier@3.0.0:
    +    resolution: {integrity: sha512-mFMBfMOz8QxhYVbuINtswBp9VL2b4Y0QqYHwqLz3YbgtfAcat2Dl6Y1o4e22S/OVE6Ebl9m7wWiMT2lSbAs1wA==}
    +    deprecated: This is a stub types definition. prettier provides its own type definitions, so you do not need this installed.
         dependencies:
    -      prettier: 3.2.5
    +      prettier: 3.3.2
    +    dev: true
     
    -  '@types/qs@6.9.12': {}
    +  /@types/qs@6.9.15:
    +    resolution: {integrity: sha512-uXHQKES6DQKKCLh441Xv/dwxOq1TVS3JPUMlEqoEglvlhR6Mxnlew/Xq/LRVHpLyk7iK3zODe1qYHIMltO7XGg==}
    +    dev: true
     
    -  '@types/ramda@0.28.25':
    +  /@types/ramda@0.28.25:
    +    resolution: {integrity: sha512-HrQNqQAGcITpn9HAJFamDxm7iZeeXiP/95pN5OMbNniDjzCCeOHbBKNGmUy8NRi0fhYS+/cXeo91MFC+06gbow==}
         dependencies:
           ts-toolbelt: 6.15.5
    +    dev: false
     
    -  '@types/range-parser@1.2.7': {}
    +  /@types/range-parser@1.2.7:
    +    resolution: {integrity: sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ==}
    +    dev: true
     
    -  '@types/resolve@1.20.2': {}
    +  /@types/resolve@1.20.2:
    +    resolution: {integrity: sha512-60BCwRFOZCQhDncwQdxxeOEEkbc5dIMccYLwbxsS4TUNeVECQ/pBJ0j09mrHOl/JJvpRPGwO9SvE4nR2Nb/a4Q==}
    +    dev: true
     
    -  '@types/responselike@1.0.3':
    +  /@types/responselike@1.0.3:
    +    resolution: {integrity: sha512-H/+L+UkTV33uf49PH5pCAUBVPNj2nDBXTN+qS1dOwyyg24l3CcicicCA7ca+HMvJBZcFgl5r8e+RR6elsb4Lyw==}
         dependencies:
    -      '@types/node': 20.12.7
    +      '@types/node': 20.14.2
    +    dev: true
     
    -  '@types/retry@0.12.0': {}
    +  /@types/retry@0.12.0:
    +    resolution: {integrity: sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA==}
    +    dev: true
     
    -  '@types/rollup-plugin-visualizer@4.2.4':
    +  /@types/rollup-plugin-visualizer@4.2.4:
    +    resolution: {integrity: sha512-BW4Q6D1Qy5gno5qHWrnMDC2dOe/TAKXvqCpckOggCCu+XpS+ZZJJ1lq1+K3bvYccoO3Y7f5kglbFAgYGqCgULg==}
         dependencies:
           rollup: 2.79.1
    +    dev: true
     
    -  '@types/semver@7.5.8': {}
    +  /@types/semver@7.5.8:
    +    resolution: {integrity: sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==}
    +    dev: true
     
    -  '@types/send@0.17.4':
    +  /@types/send@0.17.4:
    +    resolution: {integrity: sha512-x2EM6TJOybec7c52BX0ZspPodMsQUd5L6PRwOunVyVUhXiBSKf3AezDL8Dgvgt5o0UfKNfuA0eMLr2wLT4AiBA==}
         dependencies:
           '@types/mime': 1.3.5
    -      '@types/node': 20.12.7
    +      '@types/node': 20.14.2
    +    dev: true
     
    -  '@types/serve-index@1.9.1':
    +  /@types/serve-index@1.9.4:
    +    resolution: {integrity: sha512-qLpGZ/c2fhSs5gnYsQxtDEq3Oy8SXPClIXkW5ghvAvsNuVSA8k+gCONcUCS/UjLEYvYps+e8uBtfgXgvhwfNug==}
         dependencies:
           '@types/express': 4.17.21
    +    dev: true
     
    -  '@types/serve-static@1.15.5':
    +  /@types/serve-static@1.15.7:
    +    resolution: {integrity: sha512-W8Ym+h8nhuRwaKPaDw34QUkwsGi6Rc4yYqvKFo5rm2FUEhCFbzVWrxXUxuKK8TASjWsysJY0nsmNCGhCOIsrOw==}
         dependencies:
           '@types/http-errors': 2.0.4
    -      '@types/mime': 3.0.4
    -      '@types/node': 20.12.7
    +      '@types/node': 20.14.2
    +      '@types/send': 0.17.4
    +    dev: true
     
    -  '@types/sinonjs__fake-timers@8.1.1': {}
    +  /@types/sinonjs__fake-timers@8.1.1:
    +    resolution: {integrity: sha512-0kSuKjAS0TrGLJ0M/+8MaFkGsQhZpB6pxOmvS3K8FYI72K//YmdfoW9X2qPsAKh1mkwxGD5zib9s1FIFed6E8g==}
    +    dev: true
     
    -  '@types/sizzle@2.3.8': {}
    +  /@types/sizzle@2.3.8:
    +    resolution: {integrity: sha512-0vWLNK2D5MT9dg0iOo8GlKguPAU02QjmZitPEsXRuJXU/OGIOt9vT9Fc26wtYuavLxtO45v9PGleoL9Z0k1LHg==}
    +    dev: true
     
    -  '@types/sockjs@0.3.33':
    +  /@types/sockjs@0.3.36:
    +    resolution: {integrity: sha512-MK9V6NzAS1+Ud7JV9lJLFqW85VbC9dq3LmwZCuBe4wBDgKC0Kj/jd8Xl+nSviU+Qc3+m7umHHyHg//2KSa0a0Q==}
         dependencies:
    -      '@types/node': 20.12.7
    +      '@types/node': 20.14.2
    +    dev: true
     
    -  '@types/stack-utils@2.0.3': {}
    +  /@types/stack-utils@2.0.3:
    +    resolution: {integrity: sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw==}
    +    dev: true
     
    -  '@types/stylis@4.2.5': {}
    +  /@types/stylis@4.2.6:
    +    resolution: {integrity: sha512-4nebF2ZJGzQk0ka0O6+FZUWceyFv4vWq/0dXBMmrSeAwzOuOd/GxE5Pa64d/ndeNLG73dXoBsRzvtsVsYUv6Uw==}
    +    dev: true
     
    -  '@types/tough-cookie@4.0.5': {}
    +  /@types/tough-cookie@4.0.5:
    +    resolution: {integrity: sha512-/Ad8+nIOV7Rl++6f1BdKxFSMgmoqEoYbHRpPcx3JEfv8VRsQe9Z4mCXeJBzxs7mbHY/XOZZuXlRNfhpVPbs6ZA==}
    +    dev: true
     
    -  '@types/trusted-types@2.0.3': {}
    +  /@types/trusted-types@2.0.7:
    +    resolution: {integrity: sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw==}
    +    dev: true
     
    -  '@types/trusted-types@2.0.7': {}
    +  /@types/unist@2.0.10:
    +    resolution: {integrity: sha512-IfYcSBWE3hLpBg8+X2SEa8LVkJdJEkT2Ese2aaLs3ptGdVtABxndrMaxuFlQ1qdFf9Q5rDvDpxI3WwgvKFAsQA==}
    +    dev: true
     
    -  '@types/unist@2.0.10': {}
    +  /@types/unist@3.0.2:
    +    resolution: {integrity: sha512-dqId9J8K/vGi5Zr7oo212BGii5m3q5Hxlkwy3WpYuKPklmBEvsbMYYyLxAQpSffdLl/gdW0XUpKWFvYmyoWCoQ==}
     
    -  '@types/unist@3.0.2': {}
    +  /@types/uuid@9.0.8:
    +    resolution: {integrity: sha512-jg+97EGIcY9AGHJJRaaPVgetKDsrTgbRjQ5Msgjh/DQKEFl0DtyRr/VCOyD1T2R1MNeWPK/u7JoGhlDZnKBAfA==}
    +    dev: true
     
    -  '@types/uuid@9.0.8': {}
    +  /@types/web-bluetooth@0.0.20:
    +    resolution: {integrity: sha512-g9gZnnXVq7gM7v3tJCWV/qw7w+KeOlSHAhgF9RytFyifW6AF61hdT2ucrYhPq9hLs5JIryeupHV3qGk95dH9ow==}
     
    -  '@types/web-bluetooth@0.0.20': {}
    +  /@types/ws@8.5.10:
    +    resolution: {integrity: sha512-vmQSUcfalpIq0R9q7uTo2lXs6eGIpt9wtnLdMv9LVpIjCA/+ufZRozlVoVelIYixx1ugCBKDhn89vnsEGOCx9A==}
    +    dependencies:
    +      '@types/node': 20.14.2
    +    dev: true
     
    -  '@types/ws@8.5.5':
    +  /@types/ws@8.5.5:
    +    resolution: {integrity: sha512-lwhs8hktwxSjf9UaZ9tG5M03PGogvFaH8gUgLNbN9HKIg0dvv6q+gkSuJ8HN4/VbyxkuLzCjlN7GquQ0gUJfIg==}
         dependencies:
    -      '@types/node': 20.12.7
    +      '@types/node': 20.14.2
    +    dev: true
     
    -  '@types/yargs-parser@21.0.3': {}
    +  /@types/yargs-parser@21.0.3:
    +    resolution: {integrity: sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==}
    +    dev: true
     
    -  '@types/yargs@17.0.32':
    +  /@types/yargs@17.0.32:
    +    resolution: {integrity: sha512-xQ67Yc/laOG5uMfX/093MRlGGCIBzZMarVa+gfNKJxWAIgykYpVGkBdbqEzGDDfCrVUj6Hiff4mTZ5BA6TmAog==}
         dependencies:
           '@types/yargs-parser': 21.0.3
    +    dev: true
     
    -  '@types/yauzl@2.10.3':
    +  /@types/yauzl@2.10.3:
    +    resolution: {integrity: sha512-oJoftv0LSuaDZE3Le4DbKX+KS9G36NzOeSap90UIK0yMA/NhKJhqlSGtNDORNRaIbQfzjXDrQa0ytJ6mNRGz/Q==}
    +    requiresBuild: true
         dependencies:
    -      '@types/node': 20.12.7
    +      '@types/node': 20.14.2
    +    dev: true
         optional: true
     
    -  '@typescript-eslint/eslint-plugin@7.6.0(@typescript-eslint/parser@7.6.0)(eslint@8.57.0)(typescript@5.4.5)':
    +  /@typescript-eslint/eslint-plugin@7.13.0(@typescript-eslint/parser@7.13.0)(eslint@8.57.0)(typescript@5.4.5):
    +    resolution: {integrity: sha512-FX1X6AF0w8MdVFLSdqwqN/me2hyhuQg4ykN6ZpVhh1ij/80pTvDKclX1sZB9iqex8SjQfVhwMKs3JtnnMLzG9w==}
    +    engines: {node: ^18.18.0 || >=20.0.0}
    +    peerDependencies:
    +      '@typescript-eslint/parser': ^7.0.0
    +      eslint: ^8.56.0
    +      typescript: '*'
    +    peerDependenciesMeta:
    +      typescript:
    +        optional: true
         dependencies:
    -      '@eslint-community/regexpp': 4.10.0
    -      '@typescript-eslint/parser': 7.6.0(eslint@8.57.0)(typescript@5.4.5)
    -      '@typescript-eslint/scope-manager': 7.6.0
    -      '@typescript-eslint/type-utils': 7.6.0(eslint@8.57.0)(typescript@5.4.5)
    -      '@typescript-eslint/utils': 7.6.0(eslint@8.57.0)(typescript@5.4.5)
    -      '@typescript-eslint/visitor-keys': 7.6.0
    -      debug: 4.3.4(supports-color@8.1.1)
    +      '@eslint-community/regexpp': 4.10.1
    +      '@typescript-eslint/parser': 7.13.0(eslint@8.57.0)(typescript@5.4.5)
    +      '@typescript-eslint/scope-manager': 7.13.0
    +      '@typescript-eslint/type-utils': 7.13.0(eslint@8.57.0)(typescript@5.4.5)
    +      '@typescript-eslint/utils': 7.13.0(eslint@8.57.0)(typescript@5.4.5)
    +      '@typescript-eslint/visitor-keys': 7.13.0
           eslint: 8.57.0
           graphemer: 1.4.0
           ignore: 5.3.1
           natural-compare: 1.4.0
    -      semver: 7.6.0
           ts-api-utils: 1.3.0(typescript@5.4.5)
           typescript: 5.4.5
         transitivePeerDependencies:
           - supports-color
    +    dev: true
     
    -  '@typescript-eslint/parser@7.6.0(eslint@8.57.0)(typescript@5.4.5)':
    +  /@typescript-eslint/parser@7.13.0(eslint@8.57.0)(typescript@5.4.5):
    +    resolution: {integrity: sha512-EjMfl69KOS9awXXe83iRN7oIEXy9yYdqWfqdrFAYAAr6syP8eLEFI7ZE4939antx2mNgPRW/o1ybm2SFYkbTVA==}
    +    engines: {node: ^18.18.0 || >=20.0.0}
    +    peerDependencies:
    +      eslint: ^8.56.0
    +      typescript: '*'
    +    peerDependenciesMeta:
    +      typescript:
    +        optional: true
         dependencies:
    -      '@typescript-eslint/scope-manager': 7.6.0
    -      '@typescript-eslint/types': 7.6.0
    -      '@typescript-eslint/typescript-estree': 7.6.0(typescript@5.4.5)
    -      '@typescript-eslint/visitor-keys': 7.6.0
    -      debug: 4.3.4(supports-color@8.1.1)
    +      '@typescript-eslint/scope-manager': 7.13.0
    +      '@typescript-eslint/types': 7.13.0
    +      '@typescript-eslint/typescript-estree': 7.13.0(typescript@5.4.5)
    +      '@typescript-eslint/visitor-keys': 7.13.0
    +      debug: 4.3.5(supports-color@8.1.1)
           eslint: 8.57.0
           typescript: 5.4.5
         transitivePeerDependencies:
           - supports-color
    +    dev: true
     
    -  '@typescript-eslint/scope-manager@5.62.0':
    +  /@typescript-eslint/scope-manager@5.62.0:
    +    resolution: {integrity: sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w==}
    +    engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
         dependencies:
           '@typescript-eslint/types': 5.62.0
           '@typescript-eslint/visitor-keys': 5.62.0
    +    dev: true
     
    -  '@typescript-eslint/scope-manager@7.6.0':
    +  /@typescript-eslint/scope-manager@7.13.0:
    +    resolution: {integrity: sha512-ZrMCe1R6a01T94ilV13egvcnvVJ1pxShkE0+NDjDzH4nvG1wXpwsVI5bZCvE7AEDH1mXEx5tJSVR68bLgG7Dng==}
    +    engines: {node: ^18.18.0 || >=20.0.0}
         dependencies:
    -      '@typescript-eslint/types': 7.6.0
    -      '@typescript-eslint/visitor-keys': 7.6.0
    +      '@typescript-eslint/types': 7.13.0
    +      '@typescript-eslint/visitor-keys': 7.13.0
    +    dev: true
     
    -  '@typescript-eslint/type-utils@7.6.0(eslint@8.57.0)(typescript@5.4.5)':
    +  /@typescript-eslint/type-utils@7.13.0(eslint@8.57.0)(typescript@5.4.5):
    +    resolution: {integrity: sha512-xMEtMzxq9eRkZy48XuxlBFzpVMDurUAfDu5Rz16GouAtXm0TaAoTFzqWUFPPuQYXI/CDaH/Bgx/fk/84t/Bc9A==}
    +    engines: {node: ^18.18.0 || >=20.0.0}
    +    peerDependencies:
    +      eslint: ^8.56.0
    +      typescript: '*'
    +    peerDependenciesMeta:
    +      typescript:
    +        optional: true
         dependencies:
    -      '@typescript-eslint/typescript-estree': 7.6.0(typescript@5.4.5)
    -      '@typescript-eslint/utils': 7.6.0(eslint@8.57.0)(typescript@5.4.5)
    -      debug: 4.3.4(supports-color@8.1.1)
    +      '@typescript-eslint/typescript-estree': 7.13.0(typescript@5.4.5)
    +      '@typescript-eslint/utils': 7.13.0(eslint@8.57.0)(typescript@5.4.5)
    +      debug: 4.3.5(supports-color@8.1.1)
           eslint: 8.57.0
           ts-api-utils: 1.3.0(typescript@5.4.5)
           typescript: 5.4.5
         transitivePeerDependencies:
           - supports-color
    +    dev: true
     
    -  '@typescript-eslint/types@5.62.0': {}
    +  /@typescript-eslint/types@5.62.0:
    +    resolution: {integrity: sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ==}
    +    engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
    +    dev: true
     
    -  '@typescript-eslint/types@7.6.0': {}
    +  /@typescript-eslint/types@7.13.0:
    +    resolution: {integrity: sha512-QWuwm9wcGMAuTsxP+qz6LBBd3Uq8I5Nv8xb0mk54jmNoCyDspnMvVsOxI6IsMmway5d1S9Su2+sCKv1st2l6eA==}
    +    engines: {node: ^18.18.0 || >=20.0.0}
    +    dev: true
     
    -  '@typescript-eslint/typescript-estree@5.62.0(typescript@5.4.5)':
    +  /@typescript-eslint/typescript-estree@5.62.0(typescript@5.4.5):
    +    resolution: {integrity: sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA==}
    +    engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
    +    peerDependencies:
    +      typescript: '*'
    +    peerDependenciesMeta:
    +      typescript:
    +        optional: true
         dependencies:
           '@typescript-eslint/types': 5.62.0
           '@typescript-eslint/visitor-keys': 5.62.0
    -      debug: 4.3.4(supports-color@8.1.1)
    +      debug: 4.3.5(supports-color@8.1.1)
           globby: 11.1.0
           is-glob: 4.0.3
    -      semver: 7.6.0
    +      semver: 7.6.2
           tsutils: 3.21.0(typescript@5.4.5)
           typescript: 5.4.5
         transitivePeerDependencies:
           - supports-color
    +    dev: true
     
    -  '@typescript-eslint/typescript-estree@7.6.0(typescript@5.4.5)':
    +  /@typescript-eslint/typescript-estree@7.13.0(typescript@5.4.5):
    +    resolution: {integrity: sha512-cAvBvUoobaoIcoqox1YatXOnSl3gx92rCZoMRPzMNisDiM12siGilSM4+dJAekuuHTibI2hVC2fYK79iSFvWjw==}
    +    engines: {node: ^18.18.0 || >=20.0.0}
    +    peerDependencies:
    +      typescript: '*'
    +    peerDependenciesMeta:
    +      typescript:
    +        optional: true
         dependencies:
    -      '@typescript-eslint/types': 7.6.0
    -      '@typescript-eslint/visitor-keys': 7.6.0
    -      debug: 4.3.4(supports-color@8.1.1)
    +      '@typescript-eslint/types': 7.13.0
    +      '@typescript-eslint/visitor-keys': 7.13.0
    +      debug: 4.3.5(supports-color@8.1.1)
           globby: 11.1.0
           is-glob: 4.0.3
           minimatch: 9.0.4
    -      semver: 7.6.0
    +      semver: 7.6.2
           ts-api-utils: 1.3.0(typescript@5.4.5)
           typescript: 5.4.5
         transitivePeerDependencies:
           - supports-color
    +    dev: true
     
    -  '@typescript-eslint/utils@5.62.0(eslint@8.57.0)(typescript@5.4.5)':
    +  /@typescript-eslint/utils@5.62.0(eslint@8.57.0)(typescript@5.4.5):
    +    resolution: {integrity: sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ==}
    +    engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
    +    peerDependencies:
    +      eslint: ^6.0.0 || ^7.0.0 || ^8.0.0
         dependencies:
           '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0)
           '@types/json-schema': 7.0.15
    @@ -11734,56 +5179,84 @@ snapshots:
           '@typescript-eslint/typescript-estree': 5.62.0(typescript@5.4.5)
           eslint: 8.57.0
           eslint-scope: 5.1.1
    -      semver: 7.6.0
    +      semver: 7.6.2
         transitivePeerDependencies:
           - supports-color
           - typescript
    +    dev: true
     
    -  '@typescript-eslint/utils@7.6.0(eslint@8.57.0)(typescript@5.4.5)':
    +  /@typescript-eslint/utils@7.13.0(eslint@8.57.0)(typescript@5.4.5):
    +    resolution: {integrity: sha512-jceD8RgdKORVnB4Y6BqasfIkFhl4pajB1wVxrF4akxD2QPM8GNYjgGwEzYS+437ewlqqrg7Dw+6dhdpjMpeBFQ==}
    +    engines: {node: ^18.18.0 || >=20.0.0}
    +    peerDependencies:
    +      eslint: ^8.56.0
         dependencies:
           '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0)
    -      '@types/json-schema': 7.0.15
    -      '@types/semver': 7.5.8
    -      '@typescript-eslint/scope-manager': 7.6.0
    -      '@typescript-eslint/types': 7.6.0
    -      '@typescript-eslint/typescript-estree': 7.6.0(typescript@5.4.5)
    +      '@typescript-eslint/scope-manager': 7.13.0
    +      '@typescript-eslint/types': 7.13.0
    +      '@typescript-eslint/typescript-estree': 7.13.0(typescript@5.4.5)
           eslint: 8.57.0
    -      semver: 7.6.0
         transitivePeerDependencies:
           - supports-color
           - typescript
    +    dev: true
     
    -  '@typescript-eslint/visitor-keys@5.62.0':
    +  /@typescript-eslint/visitor-keys@5.62.0:
    +    resolution: {integrity: sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw==}
    +    engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
         dependencies:
           '@typescript-eslint/types': 5.62.0
           eslint-visitor-keys: 3.4.3
    +    dev: true
     
    -  '@typescript-eslint/visitor-keys@7.6.0':
    +  /@typescript-eslint/visitor-keys@7.13.0:
    +    resolution: {integrity: sha512-nxn+dozQx+MK61nn/JP+M4eCkHDSxSLDpgE3WcQo0+fkjEolnaB5jswvIKC4K56By8MMgIho7f1PVxERHEo8rw==}
    +    engines: {node: ^18.18.0 || >=20.0.0}
         dependencies:
    -      '@typescript-eslint/types': 7.6.0
    +      '@typescript-eslint/types': 7.13.0
           eslint-visitor-keys: 3.4.3
    +    dev: true
     
    -  '@ungap/structured-clone@1.2.0': {}
    +  /@ungap/structured-clone@1.2.0:
    +    resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==}
    +    dev: true
     
    -  '@unocss/astro@0.58.9(rollup@2.79.1)(vite@4.5.3)':
    +  /@unocss/astro@0.58.9(rollup@2.79.1)(vite@4.5.3):
    +    resolution: {integrity: sha512-VWfHNC0EfawFxLfb3uI+QcMGBN+ju+BYtutzeZTjilLKj31X2UpqIh8fepixL6ljgZzB3fweqg2xtUMC0gMnoQ==}
    +    peerDependencies:
    +      vite: ^2.9.0 || ^3.0.0-0 || ^4.0.0 || ^5.0.0-0
    +    peerDependenciesMeta:
    +      vite:
    +        optional: true
         dependencies:
           '@unocss/core': 0.58.9
           '@unocss/reset': 0.58.9
           '@unocss/vite': 0.58.9(rollup@2.79.1)(vite@4.5.3)
    -      vite: 4.5.3(@types/node@20.12.7)
    +      vite: 4.5.3(@types/node@20.14.2)
         transitivePeerDependencies:
           - rollup
    +    dev: true
     
    -  '@unocss/astro@0.59.4(rollup@2.79.1)(vite@5.2.10)':
    +  /@unocss/astro@0.59.4(rollup@2.79.1)(vite@5.2.13):
    +    resolution: {integrity: sha512-DU3OR5MMR1Uvvec4/wB9EetDASHRg19Moy6z/MiIhn8JWJ0QzWYgSeJcfUX8exomMYv6WUEQJL+CyLI34Wmn8w==}
    +    peerDependencies:
    +      vite: ^2.9.0 || ^3.0.0-0 || ^4.0.0 || ^5.0.0-0
    +    peerDependenciesMeta:
    +      vite:
    +        optional: true
         dependencies:
           '@unocss/core': 0.59.4
           '@unocss/reset': 0.59.4
    -      '@unocss/vite': 0.59.4(rollup@2.79.1)(vite@5.2.10)
    -      vite: 5.2.10(@types/node@20.12.7)
    +      '@unocss/vite': 0.59.4(rollup@2.79.1)(vite@5.2.13)
    +      vite: 5.2.13(@types/node@20.14.2)
         transitivePeerDependencies:
           - rollup
    +    dev: true
     
    -  '@unocss/cli@0.58.9(rollup@2.79.1)':
    +  /@unocss/cli@0.58.9(rollup@2.79.1):
    +    resolution: {integrity: sha512-q7qlwX3V6UaqljWUQ5gMj36yTA9eLuuRywahdQWt1ioy4aPF/MEEfnMBZf/ntrqf5tIT5TO8fE11nvCco2Q/sA==}
    +    engines: {node: '>=14'}
    +    hasBin: true
         dependencies:
           '@ampproject/remapping': 2.3.0
           '@rollup/pluginutils': 5.1.0(rollup@2.79.1)
    @@ -11800,8 +5273,12 @@ snapshots:
           perfect-debounce: 1.0.0
         transitivePeerDependencies:
           - rollup
    +    dev: true
     
    -  '@unocss/cli@0.59.4(rollup@2.79.1)':
    +  /@unocss/cli@0.59.4(rollup@2.79.1):
    +    resolution: {integrity: sha512-TT+WKedSifhsRqnpoYD2LfyYipVzEbzIU4DDGIaDNeDxGXYOGpb876zzkPDcvZSpI37IJ/efkkV7PGYpPBcQBQ==}
    +    engines: {node: '>=14'}
    +    hasBin: true
         dependencies:
           '@ampproject/remapping': 2.3.0
           '@rollup/pluginutils': 5.1.0(rollup@2.79.1)
    @@ -11818,44 +5295,67 @@ snapshots:
           perfect-debounce: 1.0.0
         transitivePeerDependencies:
           - rollup
    +    dev: true
     
    -  '@unocss/config@0.58.9':
    +  /@unocss/config@0.58.9:
    +    resolution: {integrity: sha512-90wRXIyGNI8UenWxvHUcH4l4rgq813MsTzYWsf6ZKyLLvkFjV2b2EfGXI27GPvZ7fVE1OAqx+wJNTw8CyQxwag==}
    +    engines: {node: '>=14'}
         dependencies:
           '@unocss/core': 0.58.9
           unconfig: 0.3.13
    +    dev: true
     
    -  '@unocss/config@0.59.4':
    +  /@unocss/config@0.59.4:
    +    resolution: {integrity: sha512-h3yhj+D5Ygn5R7gbK4wMrtXZX6FF5DF6YD517sSSb0XB3lxHD9PhhT4HaV1hpHknvu0cMFU3460M45+TN1TI0Q==}
    +    engines: {node: '>=14'}
         dependencies:
           '@unocss/core': 0.59.4
           unconfig: 0.3.13
    +    dev: true
     
    -  '@unocss/core@0.58.9': {}
    +  /@unocss/core@0.58.9:
    +    resolution: {integrity: sha512-wYpPIPPsOIbIoMIDuH8ihehJk5pAZmyFKXIYO/Kro98GEOFhz6lJoLsy6/PZuitlgp2/TSlubUuWGjHWvp5osw==}
    +    dev: true
     
    -  '@unocss/core@0.59.4': {}
    +  /@unocss/core@0.59.4:
    +    resolution: {integrity: sha512-bBZ1sgcAtezQVZ1BST9IS3jqcsTLyqKNjiIf7FTnX3DHpfpYuMDFzSOtmkZDzBleOLO/CtcRWjT0HwTSQAmV0A==}
    +    dev: true
     
    -  '@unocss/extractor-arbitrary-variants@0.58.9':
    +  /@unocss/extractor-arbitrary-variants@0.58.9:
    +    resolution: {integrity: sha512-M/BvPdbEEMdhcFQh/z2Bf9gylO1Ky/ZnpIvKWS1YJPLt4KA7UWXSUf+ZNTFxX+X58Is5qAb5hNh/XBQmL3gbXg==}
         dependencies:
           '@unocss/core': 0.58.9
    +    dev: true
     
    -  '@unocss/extractor-arbitrary-variants@0.59.4':
    +  /@unocss/extractor-arbitrary-variants@0.59.4:
    +    resolution: {integrity: sha512-RDe4FgMGJQ+tp9GLvhPHni7Cc2O0lHBRMElVlN8LoXJAdODMICdbrEPGJlEfrc+7x/QgVFoR895KpYJh3hIgGA==}
         dependencies:
           '@unocss/core': 0.59.4
    +    dev: true
     
    -  '@unocss/inspector@0.58.9':
    +  /@unocss/inspector@0.58.9:
    +    resolution: {integrity: sha512-uRzqkCNeBmEvFePXcfIFcQPMlCXd9/bLwa5OkBthiOILwQdH1uRIW3GWAa2SWspu+kZLP0Ly3SjZ9Wqi+5ZtTw==}
         dependencies:
           '@unocss/core': 0.58.9
           '@unocss/rule-utils': 0.58.9
           gzip-size: 6.0.0
           sirv: 2.0.4
    +    dev: true
     
    -  '@unocss/inspector@0.59.4':
    +  /@unocss/inspector@0.59.4:
    +    resolution: {integrity: sha512-QczJFNDiggmekkJyNcbcZIUVwlhvxz7ZwjnSf0w7K4znxfjKkZ1hNUbqLviM1HumkTKOdT27VISW7saN/ysO4w==}
         dependencies:
           '@unocss/core': 0.59.4
           '@unocss/rule-utils': 0.59.4
           gzip-size: 6.0.0
           sirv: 2.0.4
    +    dev: true
     
    -  '@unocss/postcss@0.58.9(postcss@8.4.38)':
    +  /@unocss/postcss@0.58.9(postcss@8.4.38):
    +    resolution: {integrity: sha512-PnKmH6Qhimw35yO6u6yx9SHaX2NmvbRNPDvMDHA/1xr3M8L0o8U88tgKbWfm65NEGF3R1zJ9A8rjtZn/LPkgPA==}
    +    engines: {node: '>=14'}
    +    peerDependencies:
    +      postcss: ^8.4.21
         dependencies:
           '@unocss/config': 0.58.9
           '@unocss/core': 0.58.9
    @@ -11864,8 +5364,13 @@ snapshots:
           fast-glob: 3.3.2
           magic-string: 0.30.10
           postcss: 8.4.38
    +    dev: true
     
    -  '@unocss/postcss@0.59.4(postcss@8.4.38)':
    +  /@unocss/postcss@0.59.4(postcss@8.4.38):
    +    resolution: {integrity: sha512-KVz+AD7McHKp7VEWHbFahhyyVEo0oP/e1vnuNSuPlHthe+1V2zfH6lps+iJcvfL2072r5J+0PvD/1kOp5ryUSg==}
    +    engines: {node: '>=14'}
    +    peerDependencies:
    +      postcss: ^8.4.21
         dependencies:
           '@unocss/config': 0.59.4
           '@unocss/core': 0.59.4
    @@ -11874,170 +5379,240 @@ snapshots:
           fast-glob: 3.3.2
           magic-string: 0.30.10
           postcss: 8.4.38
    +    dev: true
     
    -  '@unocss/preset-attributify@0.58.9':
    +  /@unocss/preset-attributify@0.58.9:
    +    resolution: {integrity: sha512-ucP+kXRFcwmBmHohUVv31bE/SejMAMo7Hjb0QcKVLyHlzRWUJsfNR+jTAIGIUSYxN7Q8MeigYsongGo3nIeJnQ==}
         dependencies:
           '@unocss/core': 0.58.9
    +    dev: true
     
    -  '@unocss/preset-attributify@0.59.4':
    +  /@unocss/preset-attributify@0.59.4:
    +    resolution: {integrity: sha512-BeogWuYaIakC1gmOZFFCjFVWmu/m3AqEX8UYQS6tY6lAaK2L4Qf4AstYBlT2zAMxy9LNxPDxFQrvfSfFk5Klsg==}
         dependencies:
           '@unocss/core': 0.59.4
    +    dev: true
     
    -  '@unocss/preset-icons@0.58.9':
    +  /@unocss/preset-icons@0.58.9:
    +    resolution: {integrity: sha512-9dS48+yAunsbS0ylOW2Wisozwpn3nGY1CqTiidkUnrMnrZK3al579A7srUX9NyPWWDjprO7eU/JkWbdDQSmFFA==}
         dependencies:
    -      '@iconify/utils': 2.1.23
    +      '@iconify/utils': 2.1.24
           '@unocss/core': 0.58.9
           ofetch: 1.3.4
         transitivePeerDependencies:
           - supports-color
    +    dev: true
     
    -  '@unocss/preset-icons@0.59.4':
    +  /@unocss/preset-icons@0.59.4:
    +    resolution: {integrity: sha512-Afjwh5oC4KRE8TNZDUkRK6hvvV1wKLrS1e5trniE0B0AM9HK3PBolQaIU7QmzPv6WQrog+MZgIwafg1eqsPUCA==}
         dependencies:
    -      '@iconify/utils': 2.1.23
    +      '@iconify/utils': 2.1.24
           '@unocss/core': 0.59.4
           ofetch: 1.3.4
         transitivePeerDependencies:
           - supports-color
    +    dev: true
     
    -  '@unocss/preset-mini@0.58.9':
    +  /@unocss/preset-mini@0.58.9:
    +    resolution: {integrity: sha512-m4aDGYtueP8QGsU3FsyML63T/w5Mtr4htme2jXy6m50+tzC1PPHaIBstMTMQfLc6h8UOregPJyGHB5iYQZGEvQ==}
         dependencies:
           '@unocss/core': 0.58.9
           '@unocss/extractor-arbitrary-variants': 0.58.9
           '@unocss/rule-utils': 0.58.9
    +    dev: true
     
    -  '@unocss/preset-mini@0.59.4':
    +  /@unocss/preset-mini@0.59.4:
    +    resolution: {integrity: sha512-ZLywGrXi1OCr4My5vX2rLUb5Xgx6ufR9WTQOvpQJGBdIV/jnZn/pyE5avCs476SnOq2K172lnd8mFmTK7/zArA==}
         dependencies:
           '@unocss/core': 0.59.4
           '@unocss/extractor-arbitrary-variants': 0.59.4
           '@unocss/rule-utils': 0.59.4
    +    dev: true
     
    -  '@unocss/preset-tagify@0.58.9':
    +  /@unocss/preset-tagify@0.58.9:
    +    resolution: {integrity: sha512-obh75XrRmxYwrQMflzvhQUMeHwd/R9bEDhTWUW9aBTolBy4eNypmQwOhHCKh5Xi4Dg6o0xj6GWC/jcCj1SPLog==}
         dependencies:
           '@unocss/core': 0.58.9
    +    dev: true
     
    -  '@unocss/preset-tagify@0.59.4':
    +  /@unocss/preset-tagify@0.59.4:
    +    resolution: {integrity: sha512-vWMdTUoghOSmTbdmZtERssffmdUdOuhh4vUdl0R8Kv6KxB0PkvEFCu2FItn97nRJdSPlZSFxxDkaOIg9w+STNQ==}
         dependencies:
           '@unocss/core': 0.59.4
    +    dev: true
     
    -  '@unocss/preset-typography@0.58.9':
    +  /@unocss/preset-typography@0.58.9:
    +    resolution: {integrity: sha512-hrsaqKlcZni3Vh4fwXC+lP9e92FQYbqtmlZw2jpxlVwwH5aLzwk4d4MiFQGyhCfzuSDYm0Zd52putFVV02J7bA==}
         dependencies:
           '@unocss/core': 0.58.9
           '@unocss/preset-mini': 0.58.9
    +    dev: true
     
    -  '@unocss/preset-typography@0.59.4':
    +  /@unocss/preset-typography@0.59.4:
    +    resolution: {integrity: sha512-ZX9bxZUqlXK1qEDzO5lkK96ICt9itR/oNyn/7mMc1JPqwj263LumQMn5silocgzoLSUXEeq//L6GylqYjkL8GA==}
         dependencies:
           '@unocss/core': 0.59.4
           '@unocss/preset-mini': 0.59.4
    +    dev: true
     
    -  '@unocss/preset-uno@0.58.9':
    +  /@unocss/preset-uno@0.58.9:
    +    resolution: {integrity: sha512-Fze+X2Z/EegCkRdDRgwwvFBmXBenNR1AG8KxAyz8iPeWbhOBaRra2sn2ScryrfH6SbJHpw26ZyJXycAdS0Fq3A==}
         dependencies:
           '@unocss/core': 0.58.9
           '@unocss/preset-mini': 0.58.9
           '@unocss/preset-wind': 0.58.9
           '@unocss/rule-utils': 0.58.9
    +    dev: true
     
    -  '@unocss/preset-uno@0.59.4':
    +  /@unocss/preset-uno@0.59.4:
    +    resolution: {integrity: sha512-G1f8ZluplvXZ3bERj+sM/8zzY//XD++nNOlAQNKOANSVht3qEoJebrfEiMClNpA5qW5VWOZhEhPkh0M7GsXtnA==}
         dependencies:
           '@unocss/core': 0.59.4
           '@unocss/preset-mini': 0.59.4
           '@unocss/preset-wind': 0.59.4
           '@unocss/rule-utils': 0.59.4
    +    dev: true
     
    -  '@unocss/preset-web-fonts@0.58.9':
    +  /@unocss/preset-web-fonts@0.58.9:
    +    resolution: {integrity: sha512-XtiO+Z+RYnNYomNkS2XxaQiY++CrQZKOfNGw5htgIrb32QtYVQSkyYQ3jDw7JmMiCWlZ4E72cV/zUb++WrZLxg==}
         dependencies:
           '@unocss/core': 0.58.9
           ofetch: 1.3.4
    +    dev: true
     
    -  '@unocss/preset-web-fonts@0.59.4':
    +  /@unocss/preset-web-fonts@0.59.4:
    +    resolution: {integrity: sha512-ehutTjKHnf2KPmdatN42N9a8+y+glKSU3UlcBRNsVIIXVIlaBQuPVGZSPhnMtrKD17IgWylXq2K6RJK+ab0hZA==}
         dependencies:
           '@unocss/core': 0.59.4
           ofetch: 1.3.4
    +    dev: true
     
    -  '@unocss/preset-wind@0.58.9':
    +  /@unocss/preset-wind@0.58.9:
    +    resolution: {integrity: sha512-7l+7Vx5UoN80BmJKiqDXaJJ6EUqrnUQYv8NxCThFi5lYuHzxsYWZPLU3k3XlWRUQt8XL+6rYx7mMBmD7EUSHyw==}
         dependencies:
           '@unocss/core': 0.58.9
           '@unocss/preset-mini': 0.58.9
           '@unocss/rule-utils': 0.58.9
    +    dev: true
     
    -  '@unocss/preset-wind@0.59.4':
    +  /@unocss/preset-wind@0.59.4:
    +    resolution: {integrity: sha512-CNX6w0ZpSQg/i1oF0/WKWzto8PtLqoknC5h8JmmcGb7VsyBQeV0oNnhbURxpbuMEhbv1MWVIGvk8a+P6y0rFkQ==}
         dependencies:
           '@unocss/core': 0.59.4
           '@unocss/preset-mini': 0.59.4
           '@unocss/rule-utils': 0.59.4
    +    dev: true
     
    -  '@unocss/reset@0.58.9': {}
    +  /@unocss/reset@0.58.9:
    +    resolution: {integrity: sha512-nA2pg3tnwlquq+FDOHyKwZvs20A6iBsKPU7Yjb48JrNnzoaXqE+O9oN6782IG2yKVW4AcnsAnAnM4cxXhGzy1w==}
    +    dev: true
     
    -  '@unocss/reset@0.59.4': {}
    +  /@unocss/reset@0.59.4:
    +    resolution: {integrity: sha512-Upy4xzdWl4RChbLAXBq1BoR4WqxXMoIfjvtcwSZcZK2sylXCFAseSWnyzJFdSiXPqNfmMuNgPXgiSxiQB+cmNA==}
    +    dev: true
     
    -  '@unocss/rule-utils@0.58.9':
    +  /@unocss/rule-utils@0.58.9:
    +    resolution: {integrity: sha512-45bDa+elmlFLthhJmKr2ltKMAB0yoXnDMQ6Zp5j3OiRB7dDMBkwYRPvHLvIe+34Ey7tDt/kvvDPtWMpPl2quUQ==}
    +    engines: {node: '>=14'}
         dependencies:
           '@unocss/core': 0.58.9
           magic-string: 0.30.10
    +    dev: true
     
    -  '@unocss/rule-utils@0.59.4':
    +  /@unocss/rule-utils@0.59.4:
    +    resolution: {integrity: sha512-1qoLJlBWAkS4D4sg73990S1MT7E8E5md/YhopKjTQuEC9SyeVmEg+5pR/Xd8xhPKMqbcuBPl/DS8b6l/GQO56A==}
    +    engines: {node: '>=14'}
         dependencies:
           '@unocss/core': 0.59.4
           magic-string: 0.30.10
    +    dev: true
     
    -  '@unocss/scope@0.58.9': {}
    +  /@unocss/scope@0.58.9:
    +    resolution: {integrity: sha512-BIwcpx0R3bE0rYa9JVDJTk0GX32EBvnbvufBpNkWfC5tb7g+B7nMkVq9ichanksYCCxrIQQo0mrIz5PNzu9sGA==}
    +    dev: true
     
    -  '@unocss/scope@0.59.4': {}
    +  /@unocss/scope@0.59.4:
    +    resolution: {integrity: sha512-wBQJ39kw4Tfj4km7AoGvSIobPKVnRZVsgc0bema5Y0PL3g1NeVQ/LopBI2zEJWdpxGXUWxSDsXm7BZo6qVlD/A==}
    +    dev: true
     
    -  '@unocss/transformer-attributify-jsx-babel@0.58.9':
    +  /@unocss/transformer-attributify-jsx-babel@0.58.9:
    +    resolution: {integrity: sha512-UGaQoGZg+3QrsPtnGHPECmsGn4EQb2KSdZ4eGEn2YssjKv+CcQhzRvpEUgnuF/F+jGPkCkS/G/YEQBHRWBY54Q==}
         dependencies:
    -      '@babel/core': 7.24.5
    -      '@babel/plugin-syntax-jsx': 7.24.1(@babel/core@7.24.5)
    -      '@babel/preset-typescript': 7.24.1(@babel/core@7.24.5)
    +      '@babel/core': 7.24.7
    +      '@babel/plugin-syntax-jsx': 7.24.7(@babel/core@7.24.7)
    +      '@babel/preset-typescript': 7.24.7(@babel/core@7.24.7)
           '@unocss/core': 0.58.9
         transitivePeerDependencies:
           - supports-color
    +    dev: true
     
    -  '@unocss/transformer-attributify-jsx-babel@0.59.4':
    +  /@unocss/transformer-attributify-jsx-babel@0.59.4:
    +    resolution: {integrity: sha512-xtCRSgeTaDBiNJLVX7oOSFe63JiFB5nrdK23PHn3IlZM9O7Bxx4ZxI3MQJtFZFQNE+INFko+DVyY1WiFEm1p/Q==}
         dependencies:
    -      '@babel/core': 7.24.5
    -      '@babel/plugin-syntax-jsx': 7.24.1(@babel/core@7.24.5)
    -      '@babel/preset-typescript': 7.24.1(@babel/core@7.24.5)
    +      '@babel/core': 7.24.7
    +      '@babel/plugin-syntax-jsx': 7.24.7(@babel/core@7.24.7)
    +      '@babel/preset-typescript': 7.24.7(@babel/core@7.24.7)
           '@unocss/core': 0.59.4
         transitivePeerDependencies:
           - supports-color
    +    dev: true
     
    -  '@unocss/transformer-attributify-jsx@0.58.9':
    +  /@unocss/transformer-attributify-jsx@0.58.9:
    +    resolution: {integrity: sha512-jpL3PRwf8t43v1agUdQn2EHGgfdWfvzsMxFtoybO88xzOikzAJaaouteNtojc/fQat2T9iBduDxVj5egdKmhdQ==}
         dependencies:
           '@unocss/core': 0.58.9
    +    dev: true
     
    -  '@unocss/transformer-attributify-jsx@0.59.4':
    +  /@unocss/transformer-attributify-jsx@0.59.4:
    +    resolution: {integrity: sha512-m4b83utzKMfUQH/45V2QkjJoXd8Tu2pRP1nic91Xf7QRceyKDD+BxoTneo2JNC2K274cQu7HqqotnCm2aFfEGw==}
         dependencies:
           '@unocss/core': 0.59.4
    +    dev: true
     
    -  '@unocss/transformer-compile-class@0.58.9':
    +  /@unocss/transformer-compile-class@0.58.9:
    +    resolution: {integrity: sha512-l2VpCqelJ6Tgc1kfSODxBtg7fCGPVRr2EUzTg1LrGYKa2McbKuc/wV/2DWKHGxL6+voWi7a2C9XflqGDXXutuQ==}
         dependencies:
           '@unocss/core': 0.58.9
    +    dev: true
     
    -  '@unocss/transformer-compile-class@0.59.4':
    +  /@unocss/transformer-compile-class@0.59.4:
    +    resolution: {integrity: sha512-Vgk2OCLPW0pU+Uzr1IgDtHVspSBb+gPrQFkV+5gxHk9ZdKi3oYKxLuufVWYDSwv7o9yfQGbYrMH9YLsjRsnA7Q==}
         dependencies:
           '@unocss/core': 0.59.4
    +    dev: true
     
    -  '@unocss/transformer-directives@0.58.9':
    +  /@unocss/transformer-directives@0.58.9:
    +    resolution: {integrity: sha512-pLOUsdoY2ugVntJXg0xuGjO9XZ2xCiMxTPRtpZ4TsEzUtdEzMswR06Y8VWvNciTB/Zqxcz9ta8rD0DKePOfSuw==}
         dependencies:
           '@unocss/core': 0.58.9
           '@unocss/rule-utils': 0.58.9
           css-tree: 2.3.1
    +    dev: true
     
    -  '@unocss/transformer-directives@0.59.4':
    +  /@unocss/transformer-directives@0.59.4:
    +    resolution: {integrity: sha512-nXUTEclUbs0vQ4KfLhKt4J/5SLSEq1az2FNlJmiXMmqmn75X89OrtCu2OJu9sGXhn+YyBApxgcSSdxmtpqMi1Q==}
         dependencies:
           '@unocss/core': 0.59.4
           '@unocss/rule-utils': 0.59.4
           css-tree: 2.3.1
    +    dev: true
     
    -  '@unocss/transformer-variant-group@0.58.9':
    +  /@unocss/transformer-variant-group@0.58.9:
    +    resolution: {integrity: sha512-3A6voHSnFcyw6xpcZT6oxE+KN4SHRnG4z862tdtWvRGcN+jGyNr20ylEZtnbk4xj0VNMeGHHQRZ0WLvmrAwvOQ==}
         dependencies:
           '@unocss/core': 0.58.9
    +    dev: true
     
    -  '@unocss/transformer-variant-group@0.59.4':
    +  /@unocss/transformer-variant-group@0.59.4:
    +    resolution: {integrity: sha512-9XLixxn1NRgP62Kj4R/NC/rpqhql5F2s6ulJ8CAMTEbd/NylVhEANluPGDVUGcLJ4cj6E02hFa8C1PLGSm7/xw==}
         dependencies:
           '@unocss/core': 0.59.4
    +    dev: true
     
    -  '@unocss/vite@0.58.9(rollup@2.79.1)(vite@4.5.3)':
    +  /@unocss/vite@0.58.9(rollup@2.79.1)(vite@4.5.3):
    +    resolution: {integrity: sha512-mmppBuulAHCal+sC0Qz36Y99t0HicAmznpj70Kzwl7g/yvXwm58/DW2OnpCWw+uA8/JBft/+z3zE+XvrI+T1HA==}
    +    peerDependencies:
    +      vite: ^2.9.0 || ^3.0.0-0 || ^4.0.0 || ^5.0.0-0
         dependencies:
           '@ampproject/remapping': 2.3.0
           '@rollup/pluginutils': 5.1.0(rollup@2.79.1)
    @@ -12049,11 +5624,15 @@ snapshots:
           chokidar: 3.6.0
           fast-glob: 3.3.2
           magic-string: 0.30.10
    -      vite: 4.5.3(@types/node@20.12.7)
    +      vite: 4.5.3(@types/node@20.14.2)
         transitivePeerDependencies:
           - rollup
    +    dev: true
     
    -  '@unocss/vite@0.59.4(rollup@2.79.1)(vite@5.2.10)':
    +  /@unocss/vite@0.59.4(rollup@2.79.1)(vite@5.2.13):
    +    resolution: {integrity: sha512-q7GN7vkQYn79n7vYIUlaa7gXGwc7pk0Qo3z3ZFwWGE43/DtZnn2Hwl5UjgBAgi9McA+xqHJEHRsJnI7HJPHUYA==}
    +    peerDependencies:
    +      vite: ^2.9.0 || ^3.0.0-0 || ^4.0.0 || ^5.0.0-0
         dependencies:
           '@ampproject/remapping': 2.3.0
           '@rollup/pluginutils': 5.1.0(rollup@2.79.1)
    @@ -12065,251 +5644,310 @@ snapshots:
           chokidar: 3.6.0
           fast-glob: 3.3.2
           magic-string: 0.30.10
    -      vite: 5.2.10(@types/node@20.12.7)
    +      vite: 5.2.13(@types/node@20.14.2)
         transitivePeerDependencies:
           - rollup
    +    dev: true
     
    -  '@vite-pwa/vitepress@0.3.1(vite-plugin-pwa@0.17.5)':
    +  /@vite-pwa/vitepress@0.3.1(vite-plugin-pwa@0.17.5):
    +    resolution: {integrity: sha512-krgiYQCWXUkpQCx+IHdsanFFpAzfH5pY86MARDa6as5ZNmG18mb/gC6MEahFV67V0xfMfTaNL4B8dQNzzcikLw==}
    +    peerDependencies:
    +      vite-plugin-pwa: '>=0.17.2 <1'
         dependencies:
    -      vite-plugin-pwa: 0.17.5(vite@4.5.3)(workbox-build@7.1.0)(workbox-window@7.1.0)
    +      vite-plugin-pwa: 0.17.5(vite@4.5.3)(workbox-build@7.1.1)(workbox-window@7.1.0)
    +    dev: true
     
    -  '@vite-pwa/vitepress@0.4.0(vite-plugin-pwa@0.19.8)':
    +  /@vite-pwa/vitepress@0.4.0(vite-plugin-pwa@0.19.8):
    +    resolution: {integrity: sha512-MrsSCK5EBCzQAQgq5/3XHaFIjkypda58Wzy6PkDwZoRHnWexik0C2GUxMOe+RA+qdpGxB0mEkhqajeOmuYMvhw==}
    +    peerDependencies:
    +      '@vite-pwa/assets-generator': ^0.2.4
    +      vite-plugin-pwa: '>=0.19.0 <1'
    +    peerDependenciesMeta:
    +      '@vite-pwa/assets-generator':
    +        optional: true
         dependencies:
    -      vite-plugin-pwa: 0.19.8(vite@5.2.10)(workbox-build@7.1.0)(workbox-window@7.0.0)
    +      vite-plugin-pwa: 0.19.8(vite@5.2.13)(workbox-build@7.1.1)(workbox-window@7.1.0)
    +    dev: true
     
    -  '@vitejs/plugin-vue@4.6.2(vite@4.5.3)(vue@3.4.26)':
    +  /@vitejs/plugin-vue@4.6.2(vite@4.5.3)(vue@3.4.27):
    +    resolution: {integrity: sha512-kqf7SGFoG+80aZG6Pf+gsZIVvGSCKE98JbiWqcCV9cThtg91Jav0yvYFC9Zb+jKetNGF6ZKeoaxgZfND21fWKw==}
    +    engines: {node: ^14.18.0 || >=16.0.0}
    +    peerDependencies:
    +      vite: ^4.0.0 || ^5.0.0
    +      vue: ^3.2.25
         dependencies:
    -      vite: 4.5.3(@types/node@20.12.7)
    -      vue: 3.4.26(typescript@5.4.5)
    +      vite: 4.5.3(@types/node@20.14.2)
    +      vue: 3.4.27(typescript@5.4.5)
    +    dev: true
     
    -  '@vitejs/plugin-vue@5.0.4(vite@5.2.10)(vue@3.4.26)':
    +  /@vitejs/plugin-vue@5.0.5(vite@5.2.13)(vue@3.4.27):
    +    resolution: {integrity: sha512-LOjm7XeIimLBZyzinBQ6OSm3UBCNVCpLkxGC0oWmm2YPzVZoxMsdvNVimLTBzpAnR9hl/yn1SHGuRfe6/Td9rQ==}
    +    engines: {node: ^18.0.0 || >=20.0.0}
    +    peerDependencies:
    +      vite: ^5.0.0
    +      vue: ^3.2.25
         dependencies:
    -      vite: 5.2.10(@types/node@20.12.7)
    -      vue: 3.4.26(typescript@5.4.5)
    +      vite: 5.2.13(@types/node@20.14.2)
    +      vue: 3.4.27(typescript@5.4.5)
    +    dev: true
     
    -  '@vitest/coverage-v8@1.5.3(vitest@1.5.3)':
    +  /@vitest/coverage-v8@1.6.0(vitest@1.6.0):
    +    resolution: {integrity: sha512-KvapcbMY/8GYIG0rlwwOKCVNRc0OL20rrhFkg/CHNzncV03TE2XWvO5w9uZYoxNiMEBacAJt3unSOiZ7svePew==}
    +    peerDependencies:
    +      vitest: 1.6.0
         dependencies:
           '@ampproject/remapping': 2.3.0
           '@bcoe/v8-coverage': 0.2.3
    -      debug: 4.3.4(supports-color@8.1.1)
    +      debug: 4.3.5(supports-color@8.1.1)
           istanbul-lib-coverage: 3.2.2
           istanbul-lib-report: 3.0.1
           istanbul-lib-source-maps: 5.0.4
           istanbul-reports: 3.1.7
           magic-string: 0.30.10
           magicast: 0.3.4
    -      picocolors: 1.0.0
    +      picocolors: 1.0.1
           std-env: 3.7.0
           strip-literal: 2.1.0
           test-exclude: 6.0.0
    -      vitest: 1.5.3(@types/node@20.12.7)(@vitest/ui@1.5.3)(jsdom@24.0.0)
    +      vitest: 1.6.0(@types/node@20.14.2)(@vitest/ui@1.6.0)(jsdom@24.1.0)
         transitivePeerDependencies:
           - supports-color
    +    dev: true
     
    -  '@vitest/expect@1.5.3':
    +  /@vitest/expect@1.6.0:
    +    resolution: {integrity: sha512-ixEvFVQjycy/oNgHjqsL6AZCDduC+tflRluaHIzKIsdbzkLn2U/iBnVeJwB6HsIjQBdfMR8Z0tRxKUsvFJEeWQ==}
         dependencies:
    -      '@vitest/spy': 1.5.3
    -      '@vitest/utils': 1.5.3
    +      '@vitest/spy': 1.6.0
    +      '@vitest/utils': 1.6.0
           chai: 4.4.1
    +    dev: true
     
    -  '@vitest/runner@1.5.3':
    +  /@vitest/runner@1.6.0:
    +    resolution: {integrity: sha512-P4xgwPjwesuBiHisAVz/LSSZtDjOTPYZVmNAnpHHSR6ONrf8eCJOFRvUwdHn30F5M1fxhqtl7QZQUk2dprIXAg==}
         dependencies:
    -      '@vitest/utils': 1.5.3
    +      '@vitest/utils': 1.6.0
           p-limit: 5.0.0
           pathe: 1.1.2
    +    dev: true
     
    -  '@vitest/snapshot@1.5.3':
    +  /@vitest/snapshot@1.6.0:
    +    resolution: {integrity: sha512-+Hx43f8Chus+DCmygqqfetcAZrDJwvTj0ymqjQq4CvmpKFSTVteEOBzCusu1x2tt4OJcvBflyHUE0DZSLgEMtQ==}
         dependencies:
           magic-string: 0.30.10
           pathe: 1.1.2
           pretty-format: 29.7.0
    +    dev: true
     
    -  '@vitest/spy@1.5.3':
    +  /@vitest/spy@1.6.0:
    +    resolution: {integrity: sha512-leUTap6B/cqi/bQkXUu6bQV5TZPx7pmMBKBQiI0rJA8c3pB56ZsaTbREnF7CJfmvAS4V2cXIBAh/3rVwrrCYgw==}
         dependencies:
           tinyspy: 2.2.1
    +    dev: true
     
    -  '@vitest/ui@1.5.3(vitest@1.5.3)':
    +  /@vitest/ui@1.6.0(vitest@1.6.0):
    +    resolution: {integrity: sha512-k3Lyo+ONLOgylctiGovRKy7V4+dIN2yxstX3eY5cWFXH6WP+ooVX79YSyi0GagdTQzLmT43BF27T0s6dOIPBXA==}
    +    peerDependencies:
    +      vitest: 1.6.0
         dependencies:
    -      '@vitest/utils': 1.5.3
    +      '@vitest/utils': 1.6.0
           fast-glob: 3.3.2
           fflate: 0.8.2
           flatted: 3.3.1
           pathe: 1.1.2
    -      picocolors: 1.0.0
    +      picocolors: 1.0.1
           sirv: 2.0.4
    -      vitest: 1.5.3(@types/node@20.12.7)(@vitest/ui@1.5.3)(jsdom@24.0.0)
    +      vitest: 1.6.0(@types/node@20.14.2)(@vitest/ui@1.6.0)(jsdom@24.1.0)
    +    dev: true
     
    -  '@vitest/utils@1.5.3':
    +  /@vitest/utils@1.6.0:
    +    resolution: {integrity: sha512-21cPiuGMoMZwiOHa2i4LXkMkMkCGzA+MVFV70jRwHo95dL4x/ts5GZhML1QWuy7yfp3WzK3lRvZi3JnXTYqrBw==}
         dependencies:
           diff-sequences: 29.6.3
           estree-walker: 3.0.3
           loupe: 2.3.7
           pretty-format: 29.7.0
    +    dev: true
     
    -  '@vue/compat@3.4.21(vue@3.4.21)':
    -    dependencies:
    -      '@babel/parser': 7.24.5
    -      estree-walker: 2.0.2
    -      source-map-js: 1.2.0
    -      vue: 3.4.21(typescript@5.4.5)
    -
    -  '@vue/compiler-core@3.4.21':
    +  /@vue/compat@3.4.27(vue@3.4.27):
    +    resolution: {integrity: sha512-H2W93cPe9WXXkHiYEeX7f2Z8/znElm44fxgj8uBhgC6cxvjDUOLIcIJySs+FZvv6JM+Re/SBUnlcr4LJMaQZzw==}
    +    peerDependencies:
    +      vue: 3.4.27
         dependencies:
    -      '@babel/parser': 7.24.5
    -      '@vue/shared': 3.4.21
    -      entities: 4.5.0
    +      '@babel/parser': 7.24.7
           estree-walker: 2.0.2
           source-map-js: 1.2.0
    +      vue: 3.4.27(typescript@5.4.5)
    +    dev: false
     
    -  '@vue/compiler-core@3.4.26':
    +  /@vue/compiler-core@3.4.27:
    +    resolution: {integrity: sha512-E+RyqY24KnyDXsCuQrI+mlcdW3ALND6U7Gqa/+bVwbcpcR3BRRIckFoz7Qyd4TTlnugtwuI7YgjbvsLmxb+yvg==}
         dependencies:
    -      '@babel/parser': 7.24.5
    -      '@vue/shared': 3.4.26
    +      '@babel/parser': 7.24.7
    +      '@vue/shared': 3.4.27
           entities: 4.5.0
           estree-walker: 2.0.2
           source-map-js: 1.2.0
     
    -  '@vue/compiler-dom@3.4.21':
    -    dependencies:
    -      '@vue/compiler-core': 3.4.21
    -      '@vue/shared': 3.4.21
    -
    -  '@vue/compiler-dom@3.4.26':
    +  /@vue/compiler-dom@3.4.27:
    +    resolution: {integrity: sha512-kUTvochG/oVgE1w5ViSr3KUBh9X7CWirebA3bezTbB5ZKBQZwR2Mwj9uoSKRMFcz4gSMzzLXBPD6KpCLb9nvWw==}
         dependencies:
    -      '@vue/compiler-core': 3.4.26
    -      '@vue/shared': 3.4.26
    +      '@vue/compiler-core': 3.4.27
    +      '@vue/shared': 3.4.27
     
    -  '@vue/compiler-sfc@3.4.21':
    +  /@vue/compiler-sfc@3.4.27:
    +    resolution: {integrity: sha512-nDwntUEADssW8e0rrmE0+OrONwmRlegDA1pD6QhVeXxjIytV03yDqTey9SBDiALsvAd5U4ZrEKbMyVXhX6mCGA==}
         dependencies:
    -      '@babel/parser': 7.24.5
    -      '@vue/compiler-core': 3.4.21
    -      '@vue/compiler-dom': 3.4.21
    -      '@vue/compiler-ssr': 3.4.21
    -      '@vue/shared': 3.4.21
    +      '@babel/parser': 7.24.7
    +      '@vue/compiler-core': 3.4.27
    +      '@vue/compiler-dom': 3.4.27
    +      '@vue/compiler-ssr': 3.4.27
    +      '@vue/shared': 3.4.27
           estree-walker: 2.0.2
           magic-string: 0.30.10
           postcss: 8.4.38
           source-map-js: 1.2.0
     
    -  '@vue/compiler-sfc@3.4.26':
    +  /@vue/compiler-ssr@3.4.27:
    +    resolution: {integrity: sha512-CVRzSJIltzMG5FcidsW0jKNQnNRYC8bT21VegyMMtHmhW3UOI7knmUehzswXLrExDLE6lQCZdrhD4ogI7c+vuw==}
         dependencies:
    -      '@babel/parser': 7.24.5
    -      '@vue/compiler-core': 3.4.26
    -      '@vue/compiler-dom': 3.4.26
    -      '@vue/compiler-ssr': 3.4.26
    -      '@vue/shared': 3.4.26
    -      estree-walker: 2.0.2
    -      magic-string: 0.30.10
    -      postcss: 8.4.38
    -      source-map-js: 1.2.0
    -
    -  '@vue/compiler-ssr@3.4.21':
    -    dependencies:
    -      '@vue/compiler-dom': 3.4.21
    -      '@vue/shared': 3.4.21
    -
    -  '@vue/compiler-ssr@3.4.26':
    -    dependencies:
    -      '@vue/compiler-dom': 3.4.26
    -      '@vue/shared': 3.4.26
    +      '@vue/compiler-dom': 3.4.27
    +      '@vue/shared': 3.4.27
     
    -  '@vue/devtools-api@6.6.1': {}
    +  /@vue/devtools-api@6.6.3:
    +    resolution: {integrity: sha512-0MiMsFma/HqA6g3KLKn+AGpL1kgKhFWszC9U29NfpWK5LE7bjeXxySWJrOJ77hBz+TBrBQ7o4QJqbPbqbs8rJw==}
     
    -  '@vue/devtools-api@7.1.3(vue@3.4.26)':
    +  /@vue/devtools-api@7.2.1(vue@3.4.27):
    +    resolution: {integrity: sha512-6oNCtyFOrNdqm6GUkFujsCgFlpbsHLnZqq7edeM/+cxAbMyCWvsaCsIMUaz7AiluKLccCGEM8fhOsjaKgBvb7g==}
         dependencies:
    -      '@vue/devtools-kit': 7.1.3(vue@3.4.26)
    +      '@vue/devtools-kit': 7.2.1(vue@3.4.27)
         transitivePeerDependencies:
           - vue
    +    dev: true
     
    -  '@vue/devtools-kit@7.1.3(vue@3.4.26)':
    +  /@vue/devtools-kit@7.2.1(vue@3.4.27):
    +    resolution: {integrity: sha512-Wak/fin1X0Q8LLIfCAHBrdaaB+R6IdpSXsDByPHbQ3BmkCP0/cIo/oEGp9i0U2+gEqD4L3V9RDjNf1S34DTzQQ==}
    +    peerDependencies:
    +      vue: ^3.0.0
         dependencies:
    -      '@vue/devtools-shared': 7.1.3
    +      '@vue/devtools-shared': 7.2.1
           hookable: 5.5.3
           mitt: 3.0.1
           perfect-debounce: 1.0.0
           speakingurl: 14.0.1
    -      vue: 3.4.26(typescript@5.4.5)
    -
    -  '@vue/devtools-shared@7.1.3':
    -    dependencies:
    -      rfdc: 1.3.1
    -
    -  '@vue/reactivity@3.4.21':
    -    dependencies:
    -      '@vue/shared': 3.4.21
    -
    -  '@vue/reactivity@3.4.26':
    -    dependencies:
    -      '@vue/shared': 3.4.26
    +      vue: 3.4.27(typescript@5.4.5)
    +    dev: true
     
    -  '@vue/runtime-core@3.4.21':
    +  /@vue/devtools-shared@7.2.1:
    +    resolution: {integrity: sha512-PCJF4UknJmOal68+X9XHyVeQ+idv0LFujkTOIW30+GaMJqwFVN9LkQKX4gLqn61KkGMdJTzQ1bt7EJag3TI6AA==}
         dependencies:
    -      '@vue/reactivity': 3.4.21
    -      '@vue/shared': 3.4.21
    +      rfdc: 1.4.1
    +    dev: true
     
    -  '@vue/runtime-core@3.4.26':
    +  /@vue/reactivity@3.4.27:
    +    resolution: {integrity: sha512-kK0g4NknW6JX2yySLpsm2jlunZJl2/RJGZ0H9ddHdfBVHcNzxmQ0sS0b09ipmBoQpY8JM2KmUw+a6sO8Zo+zIA==}
         dependencies:
    -      '@vue/reactivity': 3.4.26
    -      '@vue/shared': 3.4.26
    +      '@vue/shared': 3.4.27
     
    -  '@vue/runtime-dom@3.4.21':
    +  /@vue/runtime-core@3.4.27:
    +    resolution: {integrity: sha512-7aYA9GEbOOdviqVvcuweTLe5Za4qBZkUY7SvET6vE8kyypxVgaT1ixHLg4urtOlrApdgcdgHoTZCUuTGap/5WA==}
         dependencies:
    -      '@vue/runtime-core': 3.4.21
    -      '@vue/shared': 3.4.21
    -      csstype: 3.1.3
    +      '@vue/reactivity': 3.4.27
    +      '@vue/shared': 3.4.27
     
    -  '@vue/runtime-dom@3.4.26':
    +  /@vue/runtime-dom@3.4.27:
    +    resolution: {integrity: sha512-ScOmP70/3NPM+TW9hvVAz6VWWtZJqkbdf7w6ySsws+EsqtHvkhxaWLecrTorFxsawelM5Ys9FnDEMt6BPBDS0Q==}
         dependencies:
    -      '@vue/runtime-core': 3.4.26
    -      '@vue/shared': 3.4.26
    +      '@vue/runtime-core': 3.4.27
    +      '@vue/shared': 3.4.27
           csstype: 3.1.3
     
    -  '@vue/server-renderer@3.4.21(vue@3.4.21)':
    -    dependencies:
    -      '@vue/compiler-ssr': 3.4.21
    -      '@vue/shared': 3.4.21
    -      vue: 3.4.21(typescript@5.4.5)
    -
    -  '@vue/server-renderer@3.4.26(vue@3.4.26)':
    +  /@vue/server-renderer@3.4.27(vue@3.4.27):
    +    resolution: {integrity: sha512-dlAMEuvmeA3rJsOMJ2J1kXU7o7pOxgsNHVr9K8hB3ImIkSuBrIdy0vF66h8gf8Tuinf1TK3mPAz2+2sqyf3KzA==}
    +    peerDependencies:
    +      vue: 3.4.27
         dependencies:
    -      '@vue/compiler-ssr': 3.4.26
    -      '@vue/shared': 3.4.26
    -      vue: 3.4.26(typescript@5.4.5)
    +      '@vue/compiler-ssr': 3.4.27
    +      '@vue/shared': 3.4.27
    +      vue: 3.4.27(typescript@5.4.5)
     
    -  '@vue/shared@3.4.21': {}
    +  /@vue/shared@3.4.27:
    +    resolution: {integrity: sha512-DL3NmY2OFlqmYYrzp39yi3LDkKxa5vZVwxWdQ3rG0ekuWscHraeIbnI8t+aZK7qhYqEqWKTUdijadunb9pnrgA==}
     
    -  '@vue/shared@3.4.26': {}
    -
    -  '@vueuse/core@10.9.0(vue@3.4.26)':
    +  /@vueuse/core@10.11.0(vue@3.4.27):
    +    resolution: {integrity: sha512-x3sD4Mkm7PJ+pcq3HX8PLPBadXCAlSDR/waK87dz0gQE+qJnaaFhc/dZVfJz+IUYzTMVGum2QlR7ImiJQN4s6g==}
         dependencies:
           '@types/web-bluetooth': 0.0.20
    -      '@vueuse/metadata': 10.9.0
    -      '@vueuse/shared': 10.9.0(vue@3.4.26)
    -      vue-demi: 0.14.7(vue@3.4.26)
    +      '@vueuse/metadata': 10.11.0
    +      '@vueuse/shared': 10.11.0(vue@3.4.27)
    +      vue-demi: 0.14.8(vue@3.4.27)
         transitivePeerDependencies:
           - '@vue/composition-api'
           - vue
     
    -  '@vueuse/integrations@10.9.0(focus-trap@7.5.4)(vue@3.4.26)':
    +  /@vueuse/integrations@10.11.0(focus-trap@7.5.4)(vue@3.4.27):
    +    resolution: {integrity: sha512-Pp6MtWEIr+NDOccWd8j59Kpjy5YDXogXI61Kb1JxvSfVBO8NzFQkmrKmSZz47i+ZqHnIzxaT38L358yDHTncZg==}
    +    peerDependencies:
    +      async-validator: ^4
    +      axios: ^1
    +      change-case: ^4
    +      drauu: ^0.3
    +      focus-trap: ^7
    +      fuse.js: ^6
    +      idb-keyval: ^6
    +      jwt-decode: ^3
    +      nprogress: ^0.2
    +      qrcode: ^1.5
    +      sortablejs: ^1
    +      universal-cookie: ^6
    +    peerDependenciesMeta:
    +      async-validator:
    +        optional: true
    +      axios:
    +        optional: true
    +      change-case:
    +        optional: true
    +      drauu:
    +        optional: true
    +      focus-trap:
    +        optional: true
    +      fuse.js:
    +        optional: true
    +      idb-keyval:
    +        optional: true
    +      jwt-decode:
    +        optional: true
    +      nprogress:
    +        optional: true
    +      qrcode:
    +        optional: true
    +      sortablejs:
    +        optional: true
    +      universal-cookie:
    +        optional: true
         dependencies:
    -      '@vueuse/core': 10.9.0(vue@3.4.26)
    -      '@vueuse/shared': 10.9.0(vue@3.4.26)
    +      '@vueuse/core': 10.11.0(vue@3.4.27)
    +      '@vueuse/shared': 10.11.0(vue@3.4.27)
           focus-trap: 7.5.4
    -      vue-demi: 0.14.7(vue@3.4.26)
    +      vue-demi: 0.14.8(vue@3.4.27)
         transitivePeerDependencies:
           - '@vue/composition-api'
           - vue
    +    dev: true
     
    -  '@vueuse/metadata@10.9.0': {}
    +  /@vueuse/metadata@10.11.0:
    +    resolution: {integrity: sha512-kQX7l6l8dVWNqlqyN3ePW3KmjCQO3ZMgXuBMddIu83CmucrsBfXlH+JoviYyRBws/yLTQO8g3Pbw+bdIoVm4oQ==}
     
    -  '@vueuse/shared@10.9.0(vue@3.4.26)':
    +  /@vueuse/shared@10.11.0(vue@3.4.27):
    +    resolution: {integrity: sha512-fyNoIXEq3PfX1L3NkNhtVQUSRtqYwJtJg+Bp9rIzculIZWHTkKSysujrOk2J+NrRulLTQH9+3gGSfYLWSEWU1A==}
         dependencies:
    -      vue-demi: 0.14.7(vue@3.4.26)
    +      vue-demi: 0.14.8(vue@3.4.27)
         transitivePeerDependencies:
           - '@vue/composition-api'
           - vue
     
    -  '@wdio/config@7.31.1(typescript@5.4.5)':
    +  /@wdio/config@7.31.1(typescript@5.4.5):
    +    resolution: {integrity: sha512-WAfswbCatwiaDVqy6kfF/5T8/WS/US/SRhBGUFrfBuGMIe+RRoHgy7jURFWSvUIE7CNHj8yvs46fLUcxhXjzcQ==}
    +    engines: {node: '>=12.0.0'}
         dependencies:
           '@types/glob': 8.1.0
           '@wdio/logger': 7.26.0
    @@ -12319,67 +5957,106 @@ snapshots:
           glob: 8.1.0
         transitivePeerDependencies:
           - typescript
    +    dev: true
     
    -  '@wdio/logger@7.26.0':
    +  /@wdio/logger@7.26.0:
    +    resolution: {integrity: sha512-kQj9s5JudAG9qB+zAAcYGPHVfATl2oqKgqj47yjehOQ1zzG33xmtL1ArFbQKWhDG32y1A8sN6b0pIqBEIwgg8Q==}
    +    engines: {node: '>=12.0.0'}
         dependencies:
           chalk: 4.1.2
           loglevel: 1.9.1
           loglevel-plugin-prefix: 0.8.4
           strip-ansi: 6.0.1
    +    dev: true
     
    -  '@wdio/protocols@7.27.0': {}
    +  /@wdio/protocols@7.27.0:
    +    resolution: {integrity: sha512-hT/U22R5i3HhwPjkaKAG0yd59eaOaZB0eibRj2+esCImkb5Y6rg8FirrlYRxIGFVBl0+xZV0jKHzR5+o097nvg==}
    +    engines: {node: '>=12.0.0'}
    +    dev: true
     
    -  '@wdio/types@7.30.2(typescript@5.4.5)':
    +  /@wdio/types@7.30.2(typescript@5.4.5):
    +    resolution: {integrity: sha512-uZ8o7FX8RyBsaXiOWa59UKTCHTtADNvOArYTcHNEIzt+rh4JdB/uwqfc8y4TCNA2kYm7PWaQpUFwpStLeg0H1Q==}
    +    engines: {node: '>=12.0.0'}
    +    peerDependencies:
    +      typescript: ^4.6.2
    +    peerDependenciesMeta:
    +      typescript:
    +        optional: true
         dependencies:
    -      '@types/node': 18.19.31
    +      '@types/node': 18.19.34
           got: 11.8.6
           typescript: 5.4.5
    +    dev: true
     
    -  '@wdio/utils@7.30.2(typescript@5.4.5)':
    +  /@wdio/utils@7.30.2(typescript@5.4.5):
    +    resolution: {integrity: sha512-np7I+smszFUennbQKdzbMN/zUL3s3EZq9pCCUcTRjjs9TE4tnn0wfmGdoz2o7REYu6kn9NfFFJyVIM2VtBbKEA==}
    +    engines: {node: '>=12.0.0'}
         dependencies:
           '@wdio/logger': 7.26.0
           '@wdio/types': 7.30.2(typescript@5.4.5)
           p-iteration: 1.1.8
         transitivePeerDependencies:
           - typescript
    +    dev: true
     
    -  '@webassemblyjs/ast@1.12.1':
    +  /@webassemblyjs/ast@1.12.1:
    +    resolution: {integrity: sha512-EKfMUOPRRUTy5UII4qJDGPpqfwjOmZ5jeGFwid9mnoqIFK+e0vqoi1qH56JpmZSzEL53jKnNzScdmftJyG5xWg==}
         dependencies:
           '@webassemblyjs/helper-numbers': 1.11.6
           '@webassemblyjs/helper-wasm-bytecode': 1.11.6
    +    dev: true
     
    -  '@webassemblyjs/floating-point-hex-parser@1.11.6': {}
    +  /@webassemblyjs/floating-point-hex-parser@1.11.6:
    +    resolution: {integrity: sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw==}
    +    dev: true
     
    -  '@webassemblyjs/helper-api-error@1.11.6': {}
    +  /@webassemblyjs/helper-api-error@1.11.6:
    +    resolution: {integrity: sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q==}
    +    dev: true
     
    -  '@webassemblyjs/helper-buffer@1.12.1': {}
    +  /@webassemblyjs/helper-buffer@1.12.1:
    +    resolution: {integrity: sha512-nzJwQw99DNDKr9BVCOZcLuJJUlqkJh+kVzVl6Fmq/tI5ZtEyWT1KZMyOXltXLZJmDtvLCDgwsyrkohEtopTXCw==}
    +    dev: true
     
    -  '@webassemblyjs/helper-numbers@1.11.6':
    +  /@webassemblyjs/helper-numbers@1.11.6:
    +    resolution: {integrity: sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g==}
         dependencies:
           '@webassemblyjs/floating-point-hex-parser': 1.11.6
           '@webassemblyjs/helper-api-error': 1.11.6
           '@xtuc/long': 4.2.2
    +    dev: true
     
    -  '@webassemblyjs/helper-wasm-bytecode@1.11.6': {}
    +  /@webassemblyjs/helper-wasm-bytecode@1.11.6:
    +    resolution: {integrity: sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA==}
    +    dev: true
     
    -  '@webassemblyjs/helper-wasm-section@1.12.1':
    +  /@webassemblyjs/helper-wasm-section@1.12.1:
    +    resolution: {integrity: sha512-Jif4vfB6FJlUlSbgEMHUyk1j234GTNG9dBJ4XJdOySoj518Xj0oGsNi59cUQF4RRMS9ouBUxDDdyBVfPTypa5g==}
         dependencies:
           '@webassemblyjs/ast': 1.12.1
           '@webassemblyjs/helper-buffer': 1.12.1
           '@webassemblyjs/helper-wasm-bytecode': 1.11.6
           '@webassemblyjs/wasm-gen': 1.12.1
    +    dev: true
     
    -  '@webassemblyjs/ieee754@1.11.6':
    +  /@webassemblyjs/ieee754@1.11.6:
    +    resolution: {integrity: sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg==}
         dependencies:
           '@xtuc/ieee754': 1.2.0
    +    dev: true
     
    -  '@webassemblyjs/leb128@1.11.6':
    +  /@webassemblyjs/leb128@1.11.6:
    +    resolution: {integrity: sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ==}
         dependencies:
           '@xtuc/long': 4.2.2
    +    dev: true
     
    -  '@webassemblyjs/utf8@1.11.6': {}
    +  /@webassemblyjs/utf8@1.11.6:
    +    resolution: {integrity: sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA==}
    +    dev: true
     
    -  '@webassemblyjs/wasm-edit@1.12.1':
    +  /@webassemblyjs/wasm-edit@1.12.1:
    +    resolution: {integrity: sha512-1DuwbVvADvS5mGnXbE+c9NfA8QRcZ6iKquqjjmR10k6o+zzsRVesil54DKexiowcFCPdr/Q0qaMgB01+SQ1u6g==}
         dependencies:
           '@webassemblyjs/ast': 1.12.1
           '@webassemblyjs/helper-buffer': 1.12.1
    @@ -12389,23 +6066,29 @@ snapshots:
           '@webassemblyjs/wasm-opt': 1.12.1
           '@webassemblyjs/wasm-parser': 1.12.1
           '@webassemblyjs/wast-printer': 1.12.1
    +    dev: true
     
    -  '@webassemblyjs/wasm-gen@1.12.1':
    +  /@webassemblyjs/wasm-gen@1.12.1:
    +    resolution: {integrity: sha512-TDq4Ojh9fcohAw6OIMXqiIcTq5KUXTGRkVxbSo1hQnSy6lAM5GSdfwWeSxpAo0YzgsgF182E/U0mDNhuA0tW7w==}
         dependencies:
           '@webassemblyjs/ast': 1.12.1
           '@webassemblyjs/helper-wasm-bytecode': 1.11.6
           '@webassemblyjs/ieee754': 1.11.6
           '@webassemblyjs/leb128': 1.11.6
           '@webassemblyjs/utf8': 1.11.6
    +    dev: true
     
    -  '@webassemblyjs/wasm-opt@1.12.1':
    +  /@webassemblyjs/wasm-opt@1.12.1:
    +    resolution: {integrity: sha512-Jg99j/2gG2iaz3hijw857AVYekZe2SAskcqlWIZXjji5WStnOpVoat3gQfT/Q5tb2djnCjBtMocY/Su1GfxPBg==}
         dependencies:
           '@webassemblyjs/ast': 1.12.1
           '@webassemblyjs/helper-buffer': 1.12.1
           '@webassemblyjs/wasm-gen': 1.12.1
           '@webassemblyjs/wasm-parser': 1.12.1
    +    dev: true
     
    -  '@webassemblyjs/wasm-parser@1.12.1':
    +  /@webassemblyjs/wasm-parser@1.12.1:
    +    resolution: {integrity: sha512-xikIi7c2FHXysxXe3COrVUPSheuBtpcfhbpFj4gmu7KRLYOzANztwUU0IbsqvMqzuNK2+glRGWCEqZo1WCLyAQ==}
         dependencies:
           '@webassemblyjs/ast': 1.12.1
           '@webassemblyjs/helper-api-error': 1.11.6
    @@ -12413,41 +6096,70 @@ snapshots:
           '@webassemblyjs/ieee754': 1.11.6
           '@webassemblyjs/leb128': 1.11.6
           '@webassemblyjs/utf8': 1.11.6
    +    dev: true
     
    -  '@webassemblyjs/wast-printer@1.12.1':
    +  /@webassemblyjs/wast-printer@1.12.1:
    +    resolution: {integrity: sha512-+X4WAlOisVWQMikjbcvY2e0rwPsKQ9F688lksZhBcPycBBuii3O7m8FACbDMWDojpAqvjIncrG8J0XHKyQfVeA==}
         dependencies:
           '@webassemblyjs/ast': 1.12.1
           '@xtuc/long': 4.2.2
    +    dev: true
     
    -  '@webpack-cli/configtest@1.2.0(webpack-cli@4.10.0)(webpack@5.91.0)':
    +  /@webpack-cli/configtest@1.2.0(webpack-cli@4.10.0)(webpack@5.92.0):
    +    resolution: {integrity: sha512-4FB8Tj6xyVkyqjj1OaTqCjXYULB9FMkqQ8yGrZjRDrYh0nOE+7Lhs45WioWQQMV+ceFlE368Ukhe6xdvJM9Egg==}
    +    peerDependencies:
    +      webpack: 4.x.x || 5.x.x
    +      webpack-cli: 4.x.x
         dependencies:
    -      webpack: 5.91.0(esbuild@0.20.2)(webpack-cli@4.10.0)
    -      webpack-cli: 4.10.0(webpack-dev-server@4.15.2)(webpack@5.91.0)
    +      webpack: 5.92.0(esbuild@0.20.2)(webpack-cli@4.10.0)
    +      webpack-cli: 4.10.0(webpack-dev-server@4.15.2)(webpack@5.92.0)
    +    dev: true
     
    -  '@webpack-cli/info@1.5.0(webpack-cli@4.10.0)':
    +  /@webpack-cli/info@1.5.0(webpack-cli@4.10.0):
    +    resolution: {integrity: sha512-e8tSXZpw2hPl2uMJY6fsMswaok5FdlGNRTktvFk2sD8RjH0hE2+XistawJx1vmKteh4NmGmNUrp+Tb2w+udPcQ==}
    +    peerDependencies:
    +      webpack-cli: 4.x.x
         dependencies:
    -      envinfo: 7.10.0
    -      webpack-cli: 4.10.0(webpack-dev-server@4.15.2)(webpack@5.91.0)
    +      envinfo: 7.13.0
    +      webpack-cli: 4.10.0(webpack-dev-server@4.15.2)(webpack@5.92.0)
    +    dev: true
     
    -  '@webpack-cli/serve@1.7.0(webpack-cli@4.10.0)(webpack-dev-server@4.15.2)':
    +  /@webpack-cli/serve@1.7.0(webpack-cli@4.10.0)(webpack-dev-server@4.15.2):
    +    resolution: {integrity: sha512-oxnCNGj88fL+xzV+dacXs44HcDwf1ovs3AuEzvP7mqXw7fQntqIhQ1BRmynh4qEKQSSSRSWVyXRjmTbZIX9V2Q==}
    +    peerDependencies:
    +      webpack-cli: 4.x.x
    +      webpack-dev-server: '*'
    +    peerDependenciesMeta:
    +      webpack-dev-server:
    +        optional: true
         dependencies:
    -      webpack-cli: 4.10.0(webpack-dev-server@4.15.2)(webpack@5.91.0)
    -      webpack-dev-server: 4.15.2(webpack-cli@4.10.0)(webpack@5.91.0)
    +      webpack-cli: 4.10.0(webpack-dev-server@4.15.2)(webpack@5.92.0)
    +      webpack-dev-server: 4.15.2(webpack-cli@4.10.0)(webpack@5.92.0)
    +    dev: true
     
    -  '@xmldom/xmldom@0.8.10': {}
    +  /@xmldom/xmldom@0.8.10:
    +    resolution: {integrity: sha512-2WALfTl4xo2SkGCYRt6rDTFfk9R1czmBvUQy12gK2KuRKIpWEhcbbzy8EZXtz/jkRqHX8bFEc6FC1HjX4TUWYw==}
    +    engines: {node: '>=10.0.0'}
    +    dev: true
     
    -  '@xtuc/ieee754@1.2.0': {}
    +  /@xtuc/ieee754@1.2.0:
    +    resolution: {integrity: sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==}
    +    dev: true
     
    -  '@xtuc/long@4.2.2': {}
    +  /@xtuc/long@4.2.2:
    +    resolution: {integrity: sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==}
    +    dev: true
     
    -  '@zenuml/core@3.21.2(typescript@5.4.5)':
    +  /@zenuml/core@3.23.22(typescript@5.4.5):
    +    resolution: {integrity: sha512-2bdAP2Mwtc7J7wfVrmbDYChmWXS+nZZIH4pdhXvADykeAmlCTDMin67dbNpjiTp4BUFtY7dUmM6nXK2+ZWB/yg==}
    +    engines: {node: '>=12.0.0'}
         dependencies:
    -      '@headlessui-float/vue': 0.11.4(vue@3.4.21)
    -      '@headlessui/tailwindcss': 0.2.0(tailwindcss@3.4.3)
    -      '@headlessui/vue': 1.7.19(vue@3.4.21)
    +      '@headlessui-float/vue': 0.11.4(vue@3.4.27)
    +      '@headlessui/tailwindcss': 0.2.1(tailwindcss@3.4.4)
    +      '@headlessui/vue': 1.7.22(vue@3.4.27)
           '@types/assert': 1.5.10
           '@types/ramda': 0.28.25
    -      '@vue/compat': 3.4.21(vue@3.4.21)
    +      '@vue/compat': 3.4.27(vue@3.4.27)
           antlr4: 4.11.0
           color-string: 1.9.1
           dom-to-image-more: 2.16.0
    @@ -12456,101 +6168,154 @@ snapshots:
           html-to-image: 1.11.11
           lodash: 4.17.21
           marked: 4.3.0
    -      pino: 8.20.0
    +      pino: 8.21.0
           postcss: 8.4.38
           ramda: 0.28.0
    -      tailwindcss: 3.4.3
    -      vue: 3.4.21(typescript@5.4.5)
    -      vuex: 4.1.0(vue@3.4.21)
    +      tailwindcss: 3.4.4
    +      vue: 3.4.27(typescript@5.4.5)
    +      vuex: 4.1.0(vue@3.4.27)
         transitivePeerDependencies:
           - '@vue/composition-api'
           - ts-node
           - typescript
    +    dev: false
     
    -  JSONSelect@0.4.0: {}
    +  /JSONSelect@0.4.0:
    +    resolution: {integrity: sha512-VRLR3Su35MH+XV2lrvh9O7qWoug/TUyj9tLDjn9rtpUCNnILLrHjgd/tB0KrhugCxUpj3UqoLqfYb3fLJdIQQQ==}
    +    engines: {node: '>=0.4.7'}
    +    dev: true
     
    -  JSV@4.0.2: {}
    +  /JSV@4.0.2:
    +    resolution: {integrity: sha512-ZJ6wx9xaKJ3yFUhq5/sk82PJMuUyLk277I8mQeyDgCTjGdjWJIvPfaU5LIXaMuaN2UO1X3kZH4+lgphublZUHw==}
    +    dev: true
     
    -  abort-controller@3.0.0:
    +  /abort-controller@3.0.0:
    +    resolution: {integrity: sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==}
    +    engines: {node: '>=6.5'}
         dependencies:
           event-target-shim: 5.0.1
     
    -  abstract-logging@2.0.1: {}
    +  /abstract-logging@2.0.1:
    +    resolution: {integrity: sha512-2BjRTZxTPvheOvGbBslFSYOUkr+SjPtOnrLP33f+VIWLzezQpZcqVg7ja3L4dBXmzzgwT+a029jRx5PCi3JuiA==}
    +    dev: true
     
    -  accepts@1.3.8:
    +  /accepts@1.3.8:
    +    resolution: {integrity: sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==}
    +    engines: {node: '>= 0.6'}
         dependencies:
           mime-types: 2.1.35
           negotiator: 0.6.3
    +    dev: true
     
    -  acorn-import-assertions@1.9.0(acorn@8.11.3):
    +  /acorn-import-attributes@1.9.5(acorn@8.11.3):
    +    resolution: {integrity: sha512-n02Vykv5uA3eHGM/Z2dQrcD56kL8TyDb2p1+0P83PClMnC/nc+anbQRhIOWnSq4Ke/KvDPrY3C9hDtC/A3eHnQ==}
    +    peerDependencies:
    +      acorn: ^8
         dependencies:
           acorn: 8.11.3
    +    dev: true
     
    -  acorn-jsx@5.3.2(acorn@8.11.3):
    +  /acorn-jsx@5.3.2(acorn@8.11.3):
    +    resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==}
    +    peerDependencies:
    +      acorn: ^6.0.0 || ^7.0.0 || ^8.0.0
         dependencies:
           acorn: 8.11.3
    +    dev: true
     
    -  acorn-walk@8.3.2: {}
    +  /acorn-walk@8.3.2:
    +    resolution: {integrity: sha512-cjkyv4OtNCIeqhHrfS81QWXoCBPExR/J62oyEqepVw8WaQeSqpW2uhuLPh1m9eWhDuOo/jUXVTlifvesOWp/4A==}
    +    engines: {node: '>=0.4.0'}
    +    dev: true
     
    -  acorn@8.11.3: {}
    +  /acorn@8.11.3:
    +    resolution: {integrity: sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==}
    +    engines: {node: '>=0.4.0'}
    +    hasBin: true
    +    dev: true
     
    -  agent-base@6.0.2:
    +  /agent-base@6.0.2:
    +    resolution: {integrity: sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==}
    +    engines: {node: '>= 6.0.0'}
         dependencies:
    -      debug: 4.3.4(supports-color@8.1.1)
    +      debug: 4.3.5(supports-color@8.1.1)
         transitivePeerDependencies:
           - supports-color
    +    dev: true
     
    -  agent-base@7.1.0:
    +  /agent-base@7.1.1:
    +    resolution: {integrity: sha512-H0TSyFNDMomMNJQBn8wFV5YC/2eJ+VXECwOadZJT554xP6cODZHPX3H9QMQECxvrgiSOP1pHjy1sMWQVYJOUOA==}
    +    engines: {node: '>= 14'}
         dependencies:
    -      debug: 4.3.4(supports-color@8.1.1)
    +      debug: 4.3.5(supports-color@8.1.1)
         transitivePeerDependencies:
           - supports-color
    +    dev: true
     
    -  aggregate-error@3.1.0:
    +  /aggregate-error@3.1.0:
    +    resolution: {integrity: sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==}
    +    engines: {node: '>=8'}
         dependencies:
           clean-stack: 2.2.0
           indent-string: 4.0.0
    +    dev: true
     
    -  aggregate-error@4.0.1:
    +  /aggregate-error@4.0.1:
    +    resolution: {integrity: sha512-0poP0T7el6Vq3rstR8Mn4V/IQrpBLO6POkUSrN7RhyY+GF/InCFShQzsQ39T25gkHhLgSLByyAz+Kjb+c2L98w==}
    +    engines: {node: '>=12'}
         dependencies:
           clean-stack: 4.2.0
           indent-string: 5.0.0
    +    dev: true
     
    -  ajv-formats@2.1.1(ajv@8.12.0):
    +  /ajv-formats@2.1.1(ajv@8.16.0):
    +    resolution: {integrity: sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==}
    +    peerDependencies:
    +      ajv: ^8.0.0
    +    peerDependenciesMeta:
    +      ajv:
    +        optional: true
         dependencies:
    -      ajv: 8.12.0
    +      ajv: 8.16.0
    +    dev: true
     
    -  ajv-keywords@3.5.2(ajv@6.12.6):
    +  /ajv-keywords@3.5.2(ajv@6.12.6):
    +    resolution: {integrity: sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==}
    +    peerDependencies:
    +      ajv: ^6.9.1
         dependencies:
           ajv: 6.12.6
    +    dev: true
     
    -  ajv-keywords@5.1.0(ajv@8.12.0):
    +  /ajv-keywords@5.1.0(ajv@8.16.0):
    +    resolution: {integrity: sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==}
    +    peerDependencies:
    +      ajv: ^8.8.2
         dependencies:
    -      ajv: 8.12.0
    +      ajv: 8.16.0
           fast-deep-equal: 3.1.3
    +    dev: true
     
    -  ajv@6.12.6:
    +  /ajv@6.12.6:
    +    resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==}
         dependencies:
           fast-deep-equal: 3.1.3
           fast-json-stable-stringify: 2.1.0
           json-schema-traverse: 0.4.1
           uri-js: 4.4.1
    +    dev: true
     
    -  ajv@8.12.0:
    -    dependencies:
    -      fast-deep-equal: 3.1.3
    -      json-schema-traverse: 1.0.0
    -      require-from-string: 2.0.2
    -      uri-js: 4.4.1
    -
    -  ajv@8.13.0:
    +  /ajv@8.16.0:
    +    resolution: {integrity: sha512-F0twR8U1ZU67JIEtekUcLkXkoO5mMMmgGD8sK/xUFzJ805jxHQl92hImFAqqXMyMYjSPOyUPAwHYhB72g5sTXw==}
         dependencies:
           fast-deep-equal: 3.1.3
           json-schema-traverse: 1.0.0
           require-from-string: 2.0.2
           uri-js: 4.4.1
    +    dev: true
     
    -  algoliasearch@4.23.3:
    +  /algoliasearch@4.23.3:
    +    resolution: {integrity: sha512-Le/3YgNvjW9zxIQMRhUHuhiUjAlKY/zsdZpfq4dlLqg6mEm0nL6yk+7f2hDOtLpxsgE4jSzDmvHL7nXdBp5feg==}
         dependencies:
           '@algolia/cache-browser-local-storage': 4.23.3
           '@algolia/cache-common': 4.23.3
    @@ -12567,93 +6332,171 @@ snapshots:
           '@algolia/requester-common': 4.23.3
           '@algolia/requester-node-http': 4.23.3
           '@algolia/transporter': 4.23.3
    +    dev: true
     
    -  amdefine@1.0.1:
    +  /amdefine@1.0.1:
    +    resolution: {integrity: sha512-S2Hw0TtNkMJhIabBwIojKL9YHO5T0n5eNqWJ7Lrlel/zDbftQpxpapi8tZs3X1HWa+u+QeydGmzzNU0m09+Rcg==}
    +    engines: {node: '>=0.4.2'}
    +    requiresBuild: true
    +    dev: true
         optional: true
     
    -  ansi-align@3.0.1:
    +  /ansi-align@3.0.1:
    +    resolution: {integrity: sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==}
         dependencies:
           string-width: 4.2.3
    +    dev: true
     
    -  ansi-colors@4.1.3: {}
    +  /ansi-colors@4.1.3:
    +    resolution: {integrity: sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==}
    +    engines: {node: '>=6'}
    +    dev: true
     
    -  ansi-escapes@4.3.2:
    +  /ansi-escapes@4.3.2:
    +    resolution: {integrity: sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==}
    +    engines: {node: '>=8'}
         dependencies:
           type-fest: 0.21.3
    +    dev: true
     
    -  ansi-escapes@6.2.1: {}
    +  /ansi-escapes@6.2.1:
    +    resolution: {integrity: sha512-4nJ3yixlEthEJ9Rk4vPcdBRkZvQZlYyu8j4/Mqz5sgIkddmEnH2Yj2ZrnP9S3tQOvSNRUIgVNF/1yPpRAGNRig==}
    +    engines: {node: '>=14.16'}
    +    dev: true
     
    -  ansi-html-community@0.0.8: {}
    +  /ansi-html-community@0.0.8:
    +    resolution: {integrity: sha512-1APHAyr3+PCamwNw3bXCPp4HFLONZt/yIH0sZp0/469KWNTEy+qN5jQ3GVX6DMZ1UXAi34yVwtTeaG/HpBuuzw==}
    +    engines: {'0': node >= 0.8.0}
    +    hasBin: true
    +    dev: true
     
    -  ansi-regex@2.1.1: {}
    +  /ansi-regex@2.1.1:
    +    resolution: {integrity: sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==}
    +    engines: {node: '>=0.10.0'}
    +    dev: true
     
    -  ansi-regex@5.0.1: {}
    +  /ansi-regex@5.0.1:
    +    resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==}
    +    engines: {node: '>=8'}
     
    -  ansi-regex@6.0.1: {}
    +  /ansi-regex@6.0.1:
    +    resolution: {integrity: sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==}
    +    engines: {node: '>=12'}
     
    -  ansi-sequence-parser@1.1.1: {}
    +  /ansi-sequence-parser@1.1.1:
    +    resolution: {integrity: sha512-vJXt3yiaUL4UU546s3rPXlsry/RnM730G1+HkpKE012AN0sx1eOrxSu95oKDIonskeLTijMgqWZ3uDEe3NFvyg==}
    +    dev: true
     
    -  ansi-styles@2.2.1: {}
    +  /ansi-styles@2.2.1:
    +    resolution: {integrity: sha512-kmCevFghRiWM7HB5zTPULl4r9bVFSWjz62MhqizDGUrq2NWuNMQyuv4tHHoKJHs69M/MF64lEcHdYIocrdWQYA==}
    +    engines: {node: '>=0.10.0'}
    +    dev: true
     
    -  ansi-styles@3.2.1:
    +  /ansi-styles@3.2.1:
    +    resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==}
    +    engines: {node: '>=4'}
         dependencies:
           color-convert: 1.9.3
    +    dev: true
     
    -  ansi-styles@4.3.0:
    +  /ansi-styles@4.3.0:
    +    resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==}
    +    engines: {node: '>=8'}
         dependencies:
           color-convert: 2.0.1
     
    -  ansi-styles@5.2.0: {}
    +  /ansi-styles@5.2.0:
    +    resolution: {integrity: sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==}
    +    engines: {node: '>=10'}
    +    dev: true
     
    -  ansi-styles@6.2.1: {}
    +  /ansi-styles@6.2.1:
    +    resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==}
    +    engines: {node: '>=12'}
     
    -  antlr4@4.11.0: {}
    +  /antlr4@4.11.0:
    +    resolution: {integrity: sha512-GUGlpE2JUjAN+G8G5vY+nOoeyNhHsXoIJwP1XF1oRw89vifA1K46T6SEkwLwr7drihN7I/lf0DIjKc4OZvBX8w==}
    +    engines: {node: '>=14'}
    +    dev: false
     
    -  any-promise@1.3.0: {}
    +  /any-promise@1.3.0:
    +    resolution: {integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==}
     
    -  anymatch@3.1.3:
    +  /anymatch@3.1.3:
    +    resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==}
    +    engines: {node: '>= 8'}
         dependencies:
           normalize-path: 3.0.0
           picomatch: 2.3.1
     
    -  app-path@3.3.0:
    +  /app-path@3.3.0:
    +    resolution: {integrity: sha512-EAgEXkdcxH1cgEePOSsmUtw9ItPl0KTxnh/pj9ZbhvbKbij9x0oX6PWpGnorDr0DS5AosLgoa5n3T/hZmKQpYA==}
    +    engines: {node: '>=8'}
         dependencies:
           execa: 1.0.0
    +    dev: true
     
    -  appdata-path@1.0.0: {}
    +  /appdata-path@1.0.0:
    +    resolution: {integrity: sha512-ZbH3ezXfnT/YE3NdqduIt4lBV+H0ybvA2Qx3K76gIjQvh8gROpDFdDLpx6B1QJtW7zxisCbpTlCLhKqoR8cDBw==}
    +    dev: true
     
    -  append-transform@2.0.0:
    +  /append-transform@2.0.0:
    +    resolution: {integrity: sha512-7yeyCEurROLQJFv5Xj4lEGTy0borxepjFv1g22oAdqFu//SrAlDl1O1Nxx15SH1RoliUml6p8dwJW9jvZughhg==}
    +    engines: {node: '>=8'}
         dependencies:
           default-require-extensions: 3.0.1
    +    dev: true
     
    -  arch@2.2.0: {}
    +  /arch@2.2.0:
    +    resolution: {integrity: sha512-Of/R0wqp83cgHozfIYLbBMnej79U/SVGOOyuB3VVFv1NRM/PSFMK12x9KVtiYzJqmnU5WR2qp0Z5rHb7sWGnFQ==}
    +    dev: true
     
    -  archy@1.0.0: {}
    +  /archy@1.0.0:
    +    resolution: {integrity: sha512-Xg+9RwCg/0p32teKdGMPTPnVXKD0w3DfHnFTficozsAgsvq2XenPJq/MYpzzQ/v8zrOyJn6Ds39VA4JIDwFfqw==}
    +    dev: true
     
    -  are-docs-informative@0.0.2: {}
    +  /are-docs-informative@0.0.2:
    +    resolution: {integrity: sha512-ixiS0nLNNG5jNQzgZJNoUpBKdo9yTYZMGJ+QgT2jmjR7G7+QHRCc4v6LQ3NgE7EBJq+o0ams3waJwkrlBom8Ig==}
    +    engines: {node: '>=14'}
    +    dev: true
     
    -  arg@5.0.2: {}
    +  /arg@5.0.2:
    +    resolution: {integrity: sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==}
     
    -  argparse@1.0.10:
    +  /argparse@1.0.10:
    +    resolution: {integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==}
         dependencies:
           sprintf-js: 1.0.3
    +    dev: true
     
    -  argparse@2.0.1: {}
    +  /argparse@2.0.1:
    +    resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==}
    +    dev: true
     
    -  array-buffer-byte-length@1.0.1:
    +  /array-buffer-byte-length@1.0.1:
    +    resolution: {integrity: sha512-ahC5W1xgou+KTXix4sAO8Ki12Q+jf4i0+tmk3sC+zgcynshkHxzpXdImBehiUYKKKDwvfFiJl1tZt6ewscS1Mg==}
    +    engines: {node: '>= 0.4'}
         dependencies:
           call-bind: 1.0.7
           is-array-buffer: 3.0.4
    +    dev: true
     
    -  array-flatten@1.1.1: {}
    -
    -  array-flatten@2.1.2: {}
    +  /array-flatten@1.1.1:
    +    resolution: {integrity: sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==}
    +    dev: true
     
    -  array-timsort@1.0.3: {}
    +  /array-timsort@1.0.3:
    +    resolution: {integrity: sha512-/+3GRL7dDAGEfM6TseQk/U+mi18TU2Ms9I3UlLdUMhz2hbvGNTKdj9xniwXfUqgYhHxRx0+8UnKkvlNwVU+cWQ==}
    +    dev: true
     
    -  array-union@2.1.0: {}
    +  /array-union@2.1.0:
    +    resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==}
    +    engines: {node: '>=8'}
    +    dev: true
     
    -  arraybuffer.prototype.slice@1.0.3:
    +  /arraybuffer.prototype.slice@1.0.3:
    +    resolution: {integrity: sha512-bMxMKAjg13EBSVscxTaYA4mRc5t1UAXa2kXiGTNfZ079HIWXEkKmkgFrh/nJqamaLSrXO5H4WFFkPEaLJWbs3A==}
    +    engines: {node: '>= 0.4'}
         dependencies:
           array-buffer-byte-length: 1.0.1
           call-bind: 1.0.7
    @@ -12663,165 +6506,261 @@ snapshots:
           get-intrinsic: 1.2.4
           is-array-buffer: 3.0.4
           is-shared-array-buffer: 1.0.3
    +    dev: true
     
    -  arrify@3.0.0: {}
    +  /arrify@3.0.0:
    +    resolution: {integrity: sha512-tLkvA81vQG/XqE2mjDkGQHoOINtMHtysSnemrmoGe6PydDPMRbVugqyk4A6V/WDWEfm3l+0d8anA9r8cv/5Jaw==}
    +    engines: {node: '>=12'}
    +    dev: true
     
    -  asn1@0.2.6:
    +  /asn1@0.2.6:
    +    resolution: {integrity: sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==}
         dependencies:
           safer-buffer: 2.1.2
    +    dev: true
     
    -  assert-plus@1.0.0: {}
    +  /assert-plus@1.0.0:
    +    resolution: {integrity: sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==}
    +    engines: {node: '>=0.8'}
    +    dev: true
     
    -  assertion-error@1.1.0: {}
    +  /assertion-error@1.1.0:
    +    resolution: {integrity: sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==}
    +    dev: true
     
    -  astral-regex@2.0.0: {}
    +  /astral-regex@2.0.0:
    +    resolution: {integrity: sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==}
    +    engines: {node: '>=8'}
    +    dev: true
     
    -  async@3.2.5: {}
    +  /async@3.2.5:
    +    resolution: {integrity: sha512-baNZyqaaLhyLVKm/DlvdW051MSgO6b8eVfIezl9E5PqWxFgzLm/wQntEW4zOytVburDEr0JlALEpdOFwvErLsg==}
    +    dev: true
     
    -  asynckit@0.4.0: {}
    +  /asynckit@0.4.0:
    +    resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==}
    +    dev: true
     
    -  at-least-node@1.0.0: {}
    +  /at-least-node@1.0.0:
    +    resolution: {integrity: sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==}
    +    engines: {node: '>= 4.0.0'}
    +    dev: true
     
    -  atomic-sleep@1.0.0: {}
    +  /atomic-sleep@1.0.0:
    +    resolution: {integrity: sha512-kNOjDqAh7px0XWNI+4QbzoiR/nTkHAWNud2uvnJquD1/x5a7EQZMJT0AczqK0Qn67oY/TTQ1LbUKajZpp3I9tQ==}
    +    engines: {node: '>=8.0.0'}
     
    -  available-typed-arrays@1.0.7:
    +  /available-typed-arrays@1.0.7:
    +    resolution: {integrity: sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==}
    +    engines: {node: '>= 0.4'}
         dependencies:
           possible-typed-array-names: 1.0.0
    +    dev: true
     
    -  avvio@7.2.5:
    +  /avvio@7.2.5:
    +    resolution: {integrity: sha512-AOhBxyLVdpOad3TujtC9kL/9r3HnTkxwQ5ggOsYrvvZP1cCFvzHWJd5XxZDFuTn+IN8vkKSG5SEJrd27vCSbeA==}
         dependencies:
           archy: 1.0.0
    -      debug: 4.3.4(supports-color@8.1.1)
    +      debug: 4.3.5(supports-color@8.1.1)
           fastq: 1.17.1
           queue-microtask: 1.2.3
         transitivePeerDependencies:
           - supports-color
    +    dev: true
     
    -  aws-sign2@0.7.0: {}
    +  /aws-sign2@0.7.0:
    +    resolution: {integrity: sha512-08kcGqnYf/YmjoRhfxyu+CLxBjUtHLXLXX/vUfx9l2LYzG3c1m61nrpyFUZI6zeS+Li/wWMMidD9KgrqtGq3mA==}
    +    dev: true
     
    -  aws4@1.12.0: {}
    +  /aws4@1.13.0:
    +    resolution: {integrity: sha512-3AungXC4I8kKsS9PuS4JH2nc+0bVY/mjgrephHTIi8fpEeGsTHBUJeosp0Wc1myYMElmD0B3Oc4XL/HVJ4PV2g==}
    +    dev: true
     
    -  axios@1.6.7(debug@4.3.4):
    +  /axios@1.7.2(debug@4.3.5):
    +    resolution: {integrity: sha512-2A8QhOMrbomlDuiLeK9XibIBzuHeRcqqNOHp0Cyp5EoJ1IFDh+XZH3A6BkXtv0K4gFGCI0Y4BM7B1wOEi0Rmgw==}
         dependencies:
    -      follow-redirects: 1.15.5(debug@4.3.4)
    +      follow-redirects: 1.15.6(debug@4.3.5)
           form-data: 4.0.0
           proxy-from-env: 1.1.0
         transitivePeerDependencies:
           - debug
    +    dev: true
     
    -  babel-jest@29.7.0(@babel/core@7.24.5):
    +  /babel-jest@29.7.0(@babel/core@7.24.7):
    +    resolution: {integrity: sha512-BrvGY3xZSwEcCzKvKsCi2GgHqDqsYkOP4/by5xCgIwGXQxIEh+8ew3gmrE1y7XRR6LHZIj6yLYnUi/mm2KXKBg==}
    +    engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
    +    peerDependencies:
    +      '@babel/core': ^7.8.0
         dependencies:
    -      '@babel/core': 7.24.5
    +      '@babel/core': 7.24.7
           '@jest/transform': 29.7.0
           '@types/babel__core': 7.20.5
           babel-plugin-istanbul: 6.1.1
    -      babel-preset-jest: 29.6.3(@babel/core@7.24.5)
    +      babel-preset-jest: 29.6.3(@babel/core@7.24.7)
           chalk: 4.1.2
           graceful-fs: 4.2.11
           slash: 3.0.0
         transitivePeerDependencies:
           - supports-color
    +    dev: true
     
    -  babel-loader@9.1.3(@babel/core@7.24.5)(webpack@5.91.0):
    +  /babel-loader@9.1.3(@babel/core@7.24.7)(webpack@5.92.0):
    +    resolution: {integrity: sha512-xG3ST4DglodGf8qSwv0MdeWLhrDsw/32QMdTO5T1ZIp9gQur0HkCyFs7Awskr10JKXFXwpAhiCuYX5oGXnRGbw==}
    +    engines: {node: '>= 14.15.0'}
    +    peerDependencies:
    +      '@babel/core': ^7.12.0
    +      webpack: '>=5'
         dependencies:
    -      '@babel/core': 7.24.5
    +      '@babel/core': 7.24.7
           find-cache-dir: 4.0.0
           schema-utils: 4.2.0
    -      webpack: 5.91.0(esbuild@0.20.2)(webpack-cli@4.10.0)
    +      webpack: 5.92.0(esbuild@0.20.2)(webpack-cli@4.10.0)
    +    dev: true
     
    -  babel-plugin-istanbul@6.1.1:
    +  /babel-plugin-istanbul@6.1.1:
    +    resolution: {integrity: sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==}
    +    engines: {node: '>=8'}
         dependencies:
    -      '@babel/helper-plugin-utils': 7.24.5
    +      '@babel/helper-plugin-utils': 7.24.7
           '@istanbuljs/load-nyc-config': 1.1.0
           '@istanbuljs/schema': 0.1.3
           istanbul-lib-instrument: 5.2.1
           test-exclude: 6.0.0
         transitivePeerDependencies:
           - supports-color
    +    dev: true
     
    -  babel-plugin-jest-hoist@29.6.3:
    +  /babel-plugin-jest-hoist@29.6.3:
    +    resolution: {integrity: sha512-ESAc/RJvGTFEzRwOTT4+lNDk/GNHMkKbNzsvT0qKRfDyyYTskxB5rnU2njIDYVxXCBHHEI1c0YwHob3WaYujOg==}
    +    engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
         dependencies:
    -      '@babel/template': 7.24.0
    -      '@babel/types': 7.24.5
    +      '@babel/template': 7.24.7
    +      '@babel/types': 7.24.7
           '@types/babel__core': 7.20.5
    -      '@types/babel__traverse': 7.20.5
    +      '@types/babel__traverse': 7.20.6
    +    dev: true
     
    -  babel-plugin-polyfill-corejs2@0.4.11(@babel/core@7.24.5):
    +  /babel-plugin-polyfill-corejs2@0.4.11(@babel/core@7.24.7):
    +    resolution: {integrity: sha512-sMEJ27L0gRHShOh5G54uAAPaiCOygY/5ratXuiyb2G46FmlSpc9eFCzYVyDiPxfNbwzA7mYahmjQc5q+CZQ09Q==}
    +    peerDependencies:
    +      '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0
         dependencies:
    -      '@babel/compat-data': 7.24.4
    -      '@babel/core': 7.24.5
    -      '@babel/helper-define-polyfill-provider': 0.6.2(@babel/core@7.24.5)
    +      '@babel/compat-data': 7.24.7
    +      '@babel/core': 7.24.7
    +      '@babel/helper-define-polyfill-provider': 0.6.2(@babel/core@7.24.7)
           semver: 6.3.1
         transitivePeerDependencies:
           - supports-color
    +    dev: true
     
    -  babel-plugin-polyfill-corejs3@0.10.4(@babel/core@7.24.5):
    +  /babel-plugin-polyfill-corejs3@0.10.4(@babel/core@7.24.7):
    +    resolution: {integrity: sha512-25J6I8NGfa5YkCDogHRID3fVCadIR8/pGl1/spvCkzb6lVn6SR3ojpx9nOn9iEBcUsjY24AmdKm5khcfKdylcg==}
    +    peerDependencies:
    +      '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0
         dependencies:
    -      '@babel/core': 7.24.5
    -      '@babel/helper-define-polyfill-provider': 0.6.2(@babel/core@7.24.5)
    -      core-js-compat: 3.37.0
    +      '@babel/core': 7.24.7
    +      '@babel/helper-define-polyfill-provider': 0.6.2(@babel/core@7.24.7)
    +      core-js-compat: 3.37.1
         transitivePeerDependencies:
           - supports-color
    +    dev: true
     
    -  babel-plugin-polyfill-regenerator@0.6.2(@babel/core@7.24.5):
    +  /babel-plugin-polyfill-regenerator@0.6.2(@babel/core@7.24.7):
    +    resolution: {integrity: sha512-2R25rQZWP63nGwaAswvDazbPXfrM3HwVoBXK6HcqeKrSrL/JqcC/rDcf95l4r7LXLyxDXc8uQDa064GubtCABg==}
    +    peerDependencies:
    +      '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0
         dependencies:
    -      '@babel/core': 7.24.5
    -      '@babel/helper-define-polyfill-provider': 0.6.2(@babel/core@7.24.5)
    +      '@babel/core': 7.24.7
    +      '@babel/helper-define-polyfill-provider': 0.6.2(@babel/core@7.24.7)
         transitivePeerDependencies:
           - supports-color
    +    dev: true
     
    -  babel-preset-current-node-syntax@1.0.1(@babel/core@7.24.5):
    -    dependencies:
    -      '@babel/core': 7.24.5
    -      '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.24.5)
    -      '@babel/plugin-syntax-bigint': 7.8.3(@babel/core@7.24.5)
    -      '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.24.5)
    -      '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.24.5)
    -      '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.24.5)
    -      '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.24.5)
    -      '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.24.5)
    -      '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.24.5)
    -      '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.24.5)
    -      '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.24.5)
    -      '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.24.5)
    -      '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.24.5)
    -
    -  babel-preset-jest@29.6.3(@babel/core@7.24.5):
    -    dependencies:
    -      '@babel/core': 7.24.5
    +  /babel-preset-current-node-syntax@1.0.1(@babel/core@7.24.7):
    +    resolution: {integrity: sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==}
    +    peerDependencies:
    +      '@babel/core': ^7.0.0
    +    dependencies:
    +      '@babel/core': 7.24.7
    +      '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.24.7)
    +      '@babel/plugin-syntax-bigint': 7.8.3(@babel/core@7.24.7)
    +      '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.24.7)
    +      '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.24.7)
    +      '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.24.7)
    +      '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.24.7)
    +      '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.24.7)
    +      '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.24.7)
    +      '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.24.7)
    +      '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.24.7)
    +      '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.24.7)
    +      '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.24.7)
    +    dev: true
    +
    +  /babel-preset-jest@29.6.3(@babel/core@7.24.7):
    +    resolution: {integrity: sha512-0B3bhxR6snWXJZtR/RliHTDPRgn1sNHOR0yVtq/IiQFyuOVjFS+wuio/R4gSNkyYmKmJB4wGZv2NZanmKmTnNA==}
    +    engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
    +    peerDependencies:
    +      '@babel/core': ^7.0.0
    +    dependencies:
    +      '@babel/core': 7.24.7
           babel-plugin-jest-hoist: 29.6.3
    -      babel-preset-current-node-syntax: 1.0.1(@babel/core@7.24.5)
    +      babel-preset-current-node-syntax: 1.0.1(@babel/core@7.24.7)
    +    dev: true
     
    -  bail@2.0.2: {}
    +  /bail@2.0.2:
    +    resolution: {integrity: sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw==}
    +    dev: true
     
    -  balanced-match@1.0.2: {}
    +  /balanced-match@1.0.2:
    +    resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==}
     
    -  base64-js@1.5.1: {}
    +  /base64-js@1.5.1:
    +    resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==}
     
    -  batch@0.6.1: {}
    +  /batch@0.6.1:
    +    resolution: {integrity: sha512-x+VAiMRL6UPkx+kudNvxTl6hB2XNNCG2r+7wixVfIYwu/2HKRXimwQyaumLjMveWvT2Hkd/cAJw+QBMfJ/EKVw==}
    +    dev: true
     
    -  bcrypt-pbkdf@1.0.2:
    +  /bcrypt-pbkdf@1.0.2:
    +    resolution: {integrity: sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w==}
         dependencies:
           tweetnacl: 0.14.5
    +    dev: true
     
    -  binary-extensions@2.2.0: {}
    +  /binary-extensions@2.3.0:
    +    resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==}
    +    engines: {node: '>=8'}
     
    -  binary-searching@2.0.5: {}
    +  /binary-searching@2.0.5:
    +    resolution: {integrity: sha512-v4N2l3RxL+m4zDxyxz3Ne2aTmiPn8ZUpKFpdPtO+ItW1NcTCXA7JeHG5GMBSvoKSkQZ9ycS+EouDVxYB9ufKWA==}
    +    dev: true
     
    -  binary@0.3.0:
    +  /binary@0.3.0:
    +    resolution: {integrity: sha512-D4H1y5KYwpJgK8wk1Cue5LLPgmwHKYSChkbspQg5JtVuR5ulGckxfR62H3AE9UDkdMC8yyXlqYihuz3Aqg2XZg==}
         dependencies:
           buffers: 0.1.1
           chainsaw: 0.1.0
    +    dev: true
     
    -  blob-util@2.0.2: {}
    +  /blob-util@2.0.2:
    +    resolution: {integrity: sha512-T7JQa+zsXXEa6/8ZhHcQEW1UFfVM49Ts65uBkFL6fz2QmrElqmbajIDJvuA0tEhRe5eIjpV9ZF+0RfZR9voJFQ==}
    +    dev: true
     
    -  bluebird@3.7.1: {}
    +  /bluebird@3.7.1:
    +    resolution: {integrity: sha512-DdmyoGCleJnkbp3nkbxTLJ18rjDsE4yCggEwKNXkeV123sPNfOCYeDoeuOY+F2FrSjO1YXcTU+dsy96KMy+gcg==}
    +    dev: true
     
    -  bluebird@3.7.2: {}
    +  /bluebird@3.7.2:
    +    resolution: {integrity: sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==}
    +    dev: true
     
    -  bmpimagejs@1.0.4: {}
    +  /bmpimagejs@1.0.4:
    +    resolution: {integrity: sha512-21oKU7kbRt2OgOOj7rdiNr/yznDNUQ585plxR00rsmECcZr+6O1oCwB8OIoSHk/bDhbG8mFXIdeQuCPHgZ6QBw==}
    +    dev: true
     
    -  body-parser@1.20.2:
    +  /body-parser@1.20.2:
    +    resolution: {integrity: sha512-ml9pReCu3M61kGlqoTm2umSXTlRTuGTx0bfYj+uIUKKYycG5NtSbeetV3faSU6R7ajOPw0g/J1PvK4qNy7s5bA==}
    +    engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16}
         dependencies:
           bytes: 3.1.2
           content-type: 1.0.5
    @@ -12837,15 +6776,18 @@ snapshots:
           unpipe: 1.0.0
         transitivePeerDependencies:
           - supports-color
    +    dev: true
     
    -  bonjour-service@1.1.1:
    +  /bonjour-service@1.2.1:
    +    resolution: {integrity: sha512-oSzCS2zV14bh2kji6vNe7vrpJYCHGvcZnlffFQ1MEoX/WOeQ/teD8SYWKR942OI3INjq8OMNJlbPK5LLLUxFDw==}
         dependencies:
    -      array-flatten: 2.1.2
    -      dns-equal: 1.0.0
           fast-deep-equal: 3.1.3
           multicast-dns: 7.2.5
    +    dev: true
     
    -  boxen@5.1.2:
    +  /boxen@5.1.2:
    +    resolution: {integrity: sha512-9gYgQKXx+1nP8mP7CzFyaUARhg7D3n1dF/FnErWmu9l6JvGpNUN278h0aSb+QjoiKSWG+iZ3uHrcqk0qrY9RQQ==}
    +    engines: {node: '>=10'}
         dependencies:
           ansi-align: 3.0.1
           camelcase: 6.3.0
    @@ -12855,58 +6797,98 @@ snapshots:
           type-fest: 0.20.2
           widest-line: 3.1.0
           wrap-ansi: 7.0.0
    +    dev: true
     
    -  brace-expansion@1.1.11:
    +  /brace-expansion@1.1.11:
    +    resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==}
         dependencies:
           balanced-match: 1.0.2
           concat-map: 0.0.1
    +    dev: true
     
    -  brace-expansion@2.0.1:
    +  /brace-expansion@2.0.1:
    +    resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==}
         dependencies:
           balanced-match: 1.0.2
     
    -  braces@3.0.2:
    +  /braces@3.0.3:
    +    resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==}
    +    engines: {node: '>=8'}
         dependencies:
    -      fill-range: 7.0.1
    +      fill-range: 7.1.1
     
    -  browserslist@4.23.0:
    +  /browserslist@4.23.1:
    +    resolution: {integrity: sha512-TUfofFo/KsK/bWZ9TWQ5O26tsWW4Uhmt8IYklbnUa70udB6P2wA7w7o4PY4muaEPBQaAX+CEnmmIA41NVHtPVw==}
    +    engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7}
    +    hasBin: true
         dependencies:
    -      caniuse-lite: 1.0.30001594
    -      electron-to-chromium: 1.4.692
    +      caniuse-lite: 1.0.30001633
    +      electron-to-chromium: 1.4.801
           node-releases: 2.0.14
    -      update-browserslist-db: 1.0.13(browserslist@4.23.0)
    +      update-browserslist-db: 1.0.16(browserslist@4.23.1)
    +    dev: true
     
    -  bser@2.1.1:
    +  /bser@2.1.1:
    +    resolution: {integrity: sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==}
         dependencies:
           node-int64: 0.4.0
    +    dev: true
     
    -  buffer-crc32@0.2.13: {}
    +  /buffer-crc32@0.2.13:
    +    resolution: {integrity: sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==}
    +    dev: true
     
    -  buffer-from@1.1.2: {}
    +  /buffer-from@1.1.2:
    +    resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==}
    +    dev: true
     
    -  buffer@5.7.1:
    +  /buffer@5.7.1:
    +    resolution: {integrity: sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==}
         dependencies:
           base64-js: 1.5.1
           ieee754: 1.2.1
    +    dev: true
     
    -  buffer@6.0.3:
    +  /buffer@6.0.3:
    +    resolution: {integrity: sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==}
         dependencies:
           base64-js: 1.5.1
           ieee754: 1.2.1
    +    dev: false
     
    -  buffers@0.1.1: {}
    +  /buffers@0.1.1:
    +    resolution: {integrity: sha512-9q/rDEGSb/Qsvv2qvzIzdluL5k7AaJOTrw23z9reQthrbF7is4CtlT0DXyO1oei2DCp4uojjzQ7igaSHp1kAEQ==}
    +    engines: {node: '>=0.2.0'}
    +    dev: true
     
    -  builtin-modules@3.3.0: {}
    +  /builtin-modules@3.3.0:
    +    resolution: {integrity: sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==}
    +    engines: {node: '>=6'}
    +    dev: true
     
    -  bytes@3.0.0: {}
    +  /bytes@3.0.0:
    +    resolution: {integrity: sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw==}
    +    engines: {node: '>= 0.8'}
    +    dev: true
     
    -  bytes@3.1.2: {}
    +  /bytes@3.1.2:
    +    resolution: {integrity: sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==}
    +    engines: {node: '>= 0.8'}
    +    dev: true
     
    -  cac@6.7.14: {}
    +  /cac@6.7.14:
    +    resolution: {integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==}
    +    engines: {node: '>=8'}
    +    dev: true
     
    -  cacheable-lookup@5.0.4: {}
    +  /cacheable-lookup@5.0.4:
    +    resolution: {integrity: sha512-2/kNscPhpcxrOigMZzbiWF7dz8ilhb/nIHU3EyZiXWXpeq/au8qJ8VhdftMkty3n7Gj6HIGalQG8oiBNB3AJgA==}
    +    engines: {node: '>=10.6.0'}
    +    dev: true
     
    -  cacheable-request@7.0.4:
    +  /cacheable-request@7.0.4:
    +    resolution: {integrity: sha512-v+p6ongsrp0yTGbJXjgxPow2+DL93DASP4kXCDKb8/bwRtt9OEF3whggkkDkGNzgcWy2XaF4a8nZglC7uElscg==}
    +    engines: {node: '>=8'}
         dependencies:
           clone-response: 1.0.3
           get-stream: 5.2.0
    @@ -12915,106 +6897,178 @@ snapshots:
           lowercase-keys: 2.0.0
           normalize-url: 6.1.0
           responselike: 2.0.1
    +    dev: true
     
    -  cachedir@2.4.0: {}
    +  /cachedir@2.4.0:
    +    resolution: {integrity: sha512-9EtFOZR8g22CL7BWjJ9BUx1+A/djkofnyW3aOXZORNW2kxoUpx2h+uN2cOqwPmFhnpVmxg+KW2OjOSgChTEvsQ==}
    +    engines: {node: '>=6'}
    +    dev: true
     
    -  caching-transform@4.0.0:
    +  /caching-transform@4.0.0:
    +    resolution: {integrity: sha512-kpqOvwXnjjN44D89K5ccQC+RUrsy7jB/XLlRrx0D7/2HNcTPqzsb6XgYoErwko6QsV184CA2YgS1fxDiiDZMWA==}
    +    engines: {node: '>=8'}
         dependencies:
           hasha: 5.2.2
           make-dir: 3.1.0
           package-hash: 4.0.0
           write-file-atomic: 3.0.3
    +    dev: true
     
    -  call-bind@1.0.7:
    +  /call-bind@1.0.7:
    +    resolution: {integrity: sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==}
    +    engines: {node: '>= 0.4'}
         dependencies:
           es-define-property: 1.0.0
           es-errors: 1.3.0
           function-bind: 1.1.2
           get-intrinsic: 1.2.4
           set-function-length: 1.2.2
    +    dev: true
     
    -  call-me-maybe@1.0.2: {}
    +  /call-me-maybe@1.0.2:
    +    resolution: {integrity: sha512-HpX65o1Hnr9HH25ojC1YGs7HCQLq0GCOibSaWER0eNpgJ/Z1MZv2mTc7+xh6WOPxbRVcmgbv4hGU+uSQ/2xFZQ==}
    +    dev: true
     
    -  callsites@3.1.0: {}
    +  /callsites@3.1.0:
    +    resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==}
    +    engines: {node: '>=6'}
    +    dev: true
     
    -  camelcase-css@2.0.1: {}
    +  /camelcase-css@2.0.1:
    +    resolution: {integrity: sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==}
    +    engines: {node: '>= 6'}
    +    dev: false
     
    -  camelcase@5.3.1: {}
    +  /camelcase@5.3.1:
    +    resolution: {integrity: sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==}
    +    engines: {node: '>=6'}
    +    dev: true
     
    -  camelcase@6.3.0: {}
    +  /camelcase@6.3.0:
    +    resolution: {integrity: sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==}
    +    engines: {node: '>=10'}
    +    dev: true
     
    -  caniuse-lite@1.0.30001594: {}
    +  /caniuse-lite@1.0.30001633:
    +    resolution: {integrity: sha512-6sT0yf/z5jqf8tISAgpJDrmwOpLsrpnyCdD/lOZKvKkkJK4Dn0X5i7KF7THEZhOq+30bmhwBlNEaqPUiHiKtZg==}
    +    dev: true
     
    -  caseless@0.12.0: {}
    +  /caseless@0.12.0:
    +    resolution: {integrity: sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==}
    +    dev: true
     
    -  ccount@2.0.1: {}
    +  /ccount@2.0.1:
    +    resolution: {integrity: sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==}
    +    dev: true
     
    -  chai@4.4.1:
    +  /chai@4.4.1:
    +    resolution: {integrity: sha512-13sOfMv2+DWduEU+/xbun3LScLoqN17nBeTLUsmDfKdoiC1fr0n9PU4guu4AhRcOVFk/sW8LyZWHuhWtQZiF+g==}
    +    engines: {node: '>=4'}
         dependencies:
           assertion-error: 1.1.0
           check-error: 1.0.3
    -      deep-eql: 4.1.3
    +      deep-eql: 4.1.4
           get-func-name: 2.0.2
           loupe: 2.3.7
           pathval: 1.1.1
           type-detect: 4.0.8
    +    dev: true
     
    -  chainsaw@0.1.0:
    +  /chainsaw@0.1.0:
    +    resolution: {integrity: sha512-75kWfWt6MEKNC8xYXIdRpDehRYY/tNSgwKaJq+dbbDcxORuVrrQ+SEHoWsniVn9XPYfP4gmdWIeDk/4YNp1rNQ==}
         dependencies:
           traverse: 0.3.9
    +    dev: true
     
    -  chalk-template@1.1.0:
    +  /chalk-template@1.1.0:
    +    resolution: {integrity: sha512-T2VJbcDuZQ0Tb2EWwSotMPJjgpy1/tGee1BTpUNsGZ/qgNjV2t7Mvu+d4600U564nbLesN1x2dPL+xii174Ekg==}
    +    engines: {node: '>=14.16'}
         dependencies:
           chalk: 5.3.0
    +    dev: true
     
    -  chalk@1.1.3:
    +  /chalk@1.1.3:
    +    resolution: {integrity: sha512-U3lRVLMSlsCfjqYPbLyVv11M9CPW4I728d6TCKMAOJueEeB9/8o+eSsMnxPJD+Q+K909sdESg7C+tIkoH6on1A==}
    +    engines: {node: '>=0.10.0'}
         dependencies:
           ansi-styles: 2.2.1
           escape-string-regexp: 1.0.5
           has-ansi: 2.0.0
           strip-ansi: 3.0.1
           supports-color: 2.0.0
    +    dev: true
     
    -  chalk@2.4.2:
    +  /chalk@2.4.2:
    +    resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==}
    +    engines: {node: '>=4'}
         dependencies:
           ansi-styles: 3.2.1
           escape-string-regexp: 1.0.5
           supports-color: 5.5.0
    +    dev: true
     
    -  chalk@3.0.0:
    +  /chalk@3.0.0:
    +    resolution: {integrity: sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==}
    +    engines: {node: '>=8'}
         dependencies:
           ansi-styles: 4.3.0
           supports-color: 7.2.0
    +    dev: true
     
    -  chalk@4.1.2:
    +  /chalk@4.1.2:
    +    resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==}
    +    engines: {node: '>=10'}
         dependencies:
           ansi-styles: 4.3.0
           supports-color: 7.2.0
    +    dev: true
     
    -  chalk@5.3.0: {}
    +  /chalk@5.3.0:
    +    resolution: {integrity: sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==}
    +    engines: {node: ^12.17.0 || ^14.13 || >=16.0.0}
    +    dev: true
     
    -  char-regex@1.0.2: {}
    +  /char-regex@1.0.2:
    +    resolution: {integrity: sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==}
    +    engines: {node: '>=10'}
    +    dev: true
     
    -  character-entities-legacy@1.1.4: {}
    +  /character-entities-legacy@1.1.4:
    +    resolution: {integrity: sha512-3Xnr+7ZFS1uxeiUDvV02wQ+QDbc55o97tIV5zHScSPJpcLm/r0DFPcoY3tYRp+VZukxuMeKgXYmsXQHO05zQeA==}
    +    dev: true
     
    -  character-entities@1.2.4: {}
    +  /character-entities@1.2.4:
    +    resolution: {integrity: sha512-iBMyeEHxfVnIakwOuDXpVkc54HijNgCyQB2w0VfGQThle6NXn50zU6V/u+LDhxHcDUPojn6Kpga3PTAD8W1bQw==}
    +    dev: true
     
    -  character-entities@2.0.2: {}
    +  /character-entities@2.0.2:
    +    resolution: {integrity: sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ==}
     
    -  character-reference-invalid@1.1.4: {}
    +  /character-reference-invalid@1.1.4:
    +    resolution: {integrity: sha512-mKKUkUbhPpQlCOfIuZkvSEgktjPFIsZKRRbC6KWVEMvlzblj3i3asQv5ODsrwt0N3pHAEvjP8KTQPHkp0+6jOg==}
    +    dev: true
     
    -  check-error@1.0.3:
    +  /check-error@1.0.3:
    +    resolution: {integrity: sha512-iKEoDYaRmd1mxM90a2OEfWhjsjPpYPuQ+lMYsoxB126+t8fw7ySEO48nmDg5COTjxDI65/Y2OWpeEHk3ZOe8zg==}
         dependencies:
           get-func-name: 2.0.2
    +    dev: true
     
    -  check-more-types@2.24.0: {}
    +  /check-more-types@2.24.0:
    +    resolution: {integrity: sha512-Pj779qHxV2tuapviy1bSZNEL1maXr13bPYpsvSDB68HlYcYuhlDrmGd63i0JHMCLKzc7rUSNIrpdJlhVlNwrxA==}
    +    engines: {node: '>= 0.8.0'}
    +    dev: true
     
    -  chevrotain-allstar@0.3.1(chevrotain@11.0.3):
    +  /chevrotain-allstar@0.3.1(chevrotain@11.0.3):
    +    resolution: {integrity: sha512-b7g+y9A0v4mxCW1qUhf3BSVPg+/NvGErk/dOkrDaHA0nQIQGAtrOjlX//9OQtRlSCy+x9rfB5N8yC71lH1nvMw==}
    +    peerDependencies:
    +      chevrotain: ^11.0.0
         dependencies:
           chevrotain: 11.0.3
           lodash-es: 4.17.21
     
    -  chevrotain@11.0.3:
    +  /chevrotain@11.0.3:
    +    resolution: {integrity: sha512-ci2iJH6LeIkvP9eJW6gpueU8cnZhv85ELY8w8WiFtNjMHA5ad6pQLaJo9mEly/9qUyCpvqX8/POVUTf18/HFdw==}
         dependencies:
           '@chevrotain/cst-dts-gen': 11.0.3
           '@chevrotain/gast': 11.0.3
    @@ -13023,10 +7077,12 @@ snapshots:
           '@chevrotain/utils': 11.0.3
           lodash-es: 4.17.21
     
    -  chokidar@3.6.0:
    +  /chokidar@3.6.0:
    +    resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==}
    +    engines: {node: '>= 8.10.0'}
         dependencies:
           anymatch: 3.1.3
    -      braces: 3.0.2
    +      braces: 3.0.3
           glob-parent: 5.1.2
           is-binary-path: 2.1.0
           is-glob: 4.0.3
    @@ -13035,161 +7091,281 @@ snapshots:
         optionalDependencies:
           fsevents: 2.3.3
     
    -  chrome-trace-event@1.0.3: {}
    +  /chrome-trace-event@1.0.4:
    +    resolution: {integrity: sha512-rNjApaLzuwaOTjCiT8lSDdGN1APCiqkChLMJxJPWLunPAt5fy8xgU9/jNOchV84wfIxrA0lRQB7oCT8jrn/wrQ==}
    +    engines: {node: '>=6.0'}
    +    dev: true
     
    -  ci-info@3.9.0: {}
    +  /ci-info@3.9.0:
    +    resolution: {integrity: sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==}
    +    engines: {node: '>=8'}
    +    dev: true
     
    -  ci-info@4.0.0: {}
    +  /ci-info@4.0.0:
    +    resolution: {integrity: sha512-TdHqgGf9odd8SXNuxtUBVx8Nv+qZOejE6qyqiy5NtbYYQOeFa6zmHkxlPzmaLxWWHsU6nJmB7AETdVPi+2NBUg==}
    +    engines: {node: '>=8'}
    +    dev: true
     
    -  cjs-module-lexer@1.2.3: {}
    +  /cjs-module-lexer@1.3.1:
    +    resolution: {integrity: sha512-a3KdPAANPbNE4ZUv9h6LckSl9zLsYOP4MBmhIPkRaeyybt+r4UghLvq+xw/YwUcC1gqylCkL4rdVs3Lwupjm4Q==}
    +    dev: true
     
    -  cjson@0.3.0:
    +  /cjson@0.3.0:
    +    resolution: {integrity: sha512-bBRQcCIHzI1IVH59fR0bwGrFmi3Btb/JNwM/n401i1DnYgWndpsUBiQRAddLflkZage20A2d25OAWZZk0vBRlA==}
    +    engines: {node: '>= 0.3.0'}
         dependencies:
           jsonlint: 1.6.0
    +    dev: true
     
    -  clap@3.1.1:
    +  /clap@3.1.1:
    +    resolution: {integrity: sha512-vp42956Ax06WwaaheYEqEOgXZ3VKJxgccZ0gJL0HpyiupkIS9RVJFo5eDU1BPeQAOqz+cclndZg4DCqG1sJReQ==}
    +    engines: {node: ^12.20.0 || ^14.13.0 || >=15.0.0, npm: '>=7.0.0'}
         dependencies:
           ansi-colors: 4.1.3
    +    dev: true
     
    -  clean-regexp@1.0.0:
    +  /clean-regexp@1.0.0:
    +    resolution: {integrity: sha512-GfisEZEJvzKrmGWkvfhgzcz/BllN1USeqD2V6tg14OAOgaCD2Z/PUEuxnAZ/nPvmaHRG7a8y77p1T/IRQ4D1Hw==}
    +    engines: {node: '>=4'}
         dependencies:
           escape-string-regexp: 1.0.5
    +    dev: true
     
    -  clean-stack@2.2.0: {}
    +  /clean-stack@2.2.0:
    +    resolution: {integrity: sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==}
    +    engines: {node: '>=6'}
    +    dev: true
     
    -  clean-stack@4.2.0:
    +  /clean-stack@4.2.0:
    +    resolution: {integrity: sha512-LYv6XPxoyODi36Dp976riBtSY27VmFo+MKqEU9QCCWyTrdEPDog+RWA7xQWHi6Vbp61j5c4cdzzX1NidnwtUWg==}
    +    engines: {node: '>=12'}
         dependencies:
           escape-string-regexp: 5.0.0
    +    dev: true
     
    -  clear-module@4.1.2:
    +  /clear-module@4.1.2:
    +    resolution: {integrity: sha512-LWAxzHqdHsAZlPlEyJ2Poz6AIs384mPeqLVCru2p0BrP9G/kVGuhNyZYClLO6cXlnuJjzC8xtsJIuMjKqLXoAw==}
    +    engines: {node: '>=8'}
         dependencies:
           parent-module: 2.0.0
           resolve-from: 5.0.0
    +    dev: true
     
    -  cli-boxes@2.2.1: {}
    +  /cli-boxes@2.2.1:
    +    resolution: {integrity: sha512-y4coMcylgSCdVinjiDBuR8PCC2bLjyGTwEmPb9NHR/QaNU6EUOXcTY/s6VjGMD6ENSEaeQYHCY0GNGS5jfMwPw==}
    +    engines: {node: '>=6'}
    +    dev: true
     
    -  cli-color@2.0.4:
    +  /cli-color@2.0.4:
    +    resolution: {integrity: sha512-zlnpg0jNcibNrO7GG9IeHH7maWFeCz+Ja1wx/7tZNU5ASSSSZ+/qZciM0/LHCYxSdqv5h2sdbQ/PXYdOuetXvA==}
    +    engines: {node: '>=0.10'}
         dependencies:
           d: 1.0.2
           es5-ext: 0.10.64
           es6-iterator: 2.0.3
    -      memoizee: 0.4.15
    -      timers-ext: 0.1.7
    +      memoizee: 0.4.17
    +      timers-ext: 0.1.8
    +    dev: true
     
    -  cli-cursor@3.1.0:
    +  /cli-cursor@3.1.0:
    +    resolution: {integrity: sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==}
    +    engines: {node: '>=8'}
         dependencies:
           restore-cursor: 3.1.0
    +    dev: true
     
    -  cli-cursor@4.0.0:
    +  /cli-cursor@4.0.0:
    +    resolution: {integrity: sha512-VGtlMu3x/4DOtIUwEkRezxUZ2lBacNJCHash0N0WeZDBS+7Ux1dm3XWAgWYxLJFMMdOeXMHXorshEFhbMSGelg==}
    +    engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
         dependencies:
           restore-cursor: 4.0.0
    +    dev: true
     
    -  cli-table3@0.6.4:
    +  /cli-table3@0.6.5:
    +    resolution: {integrity: sha512-+W/5efTR7y5HRD7gACw9yQjqMVvEMLBHmboM/kPWam+H+Hmyrgjh6YncVKK122YZkXrLudzTuAukUw9FnMf7IQ==}
    +    engines: {node: 10.* || >= 12.*}
         dependencies:
           string-width: 4.2.3
         optionalDependencies:
           '@colors/colors': 1.5.0
    +    dev: true
     
    -  cli-truncate@2.1.0:
    +  /cli-truncate@2.1.0:
    +    resolution: {integrity: sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg==}
    +    engines: {node: '>=8'}
         dependencies:
           slice-ansi: 3.0.0
           string-width: 4.2.3
    +    dev: true
     
    -  cli-truncate@4.0.0:
    +  /cli-truncate@4.0.0:
    +    resolution: {integrity: sha512-nPdaFdQ0h/GEigbPClz11D0v/ZJEwxmeVZGeMo3Z5StPtUTkA9o1lD6QwoirYiSDzbcwn2XcjwmCp68W1IS4TA==}
    +    engines: {node: '>=18'}
         dependencies:
           slice-ansi: 5.0.0
           string-width: 7.1.0
    +    dev: true
     
    -  cliui@6.0.0:
    +  /cliui@6.0.0:
    +    resolution: {integrity: sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==}
         dependencies:
           string-width: 4.2.3
           strip-ansi: 6.0.1
           wrap-ansi: 6.2.0
    +    dev: true
     
    -  cliui@8.0.1:
    +  /cliui@8.0.1:
    +    resolution: {integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==}
    +    engines: {node: '>=12'}
         dependencies:
           string-width: 4.2.3
           strip-ansi: 6.0.1
           wrap-ansi: 7.0.0
    +    dev: true
     
    -  clone-deep@4.0.1:
    +  /clone-deep@4.0.1:
    +    resolution: {integrity: sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==}
    +    engines: {node: '>=6'}
         dependencies:
           is-plain-object: 2.0.4
           kind-of: 6.0.3
           shallow-clone: 3.0.1
    +    dev: true
     
    -  clone-response@1.0.3:
    +  /clone-response@1.0.3:
    +    resolution: {integrity: sha512-ROoL94jJH2dUVML2Y/5PEDNaSHgeOdSDicUyS7izcF63G6sTc/FTjLub4b8Il9S8S0beOfYt0TaA5qvFK+w0wA==}
         dependencies:
           mimic-response: 1.0.1
    +    dev: true
     
    -  co@4.6.0: {}
    +  /co@4.6.0:
    +    resolution: {integrity: sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==}
    +    engines: {iojs: '>= 1.0.0', node: '>= 0.12.0'}
    +    dev: true
     
    -  collect-v8-coverage@1.0.2: {}
    +  /collect-v8-coverage@1.0.2:
    +    resolution: {integrity: sha512-lHl4d5/ONEbLlJvaJNtsF/Lz+WvB07u2ycqTYbdrq7UypDXailES4valYb2eWiJFxZlVmpGekfqoxQhzyFdT4Q==}
    +    dev: true
     
    -  color-convert@1.9.3:
    +  /color-convert@1.9.3:
    +    resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==}
         dependencies:
           color-name: 1.1.3
    +    dev: true
     
    -  color-convert@2.0.1:
    +  /color-convert@2.0.1:
    +    resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==}
    +    engines: {node: '>=7.0.0'}
         dependencies:
           color-name: 1.1.4
     
    -  color-name@1.1.3: {}
    +  /color-name@1.1.3:
    +    resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==}
    +    dev: true
     
    -  color-name@1.1.4: {}
    +  /color-name@1.1.4:
    +    resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==}
     
    -  color-string@1.9.1:
    +  /color-string@1.9.1:
    +    resolution: {integrity: sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==}
         dependencies:
           color-name: 1.1.4
           simple-swizzle: 0.2.2
    +    dev: false
     
    -  colorette@2.0.20: {}
    +  /colorette@2.0.20:
    +    resolution: {integrity: sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==}
    +    dev: true
     
    -  colors@0.5.1: {}
    +  /colors@0.5.1:
    +    resolution: {integrity: sha512-XjsuUwpDeY98+yz959OlUK6m7mLBM+1MEG5oaenfuQnNnrQk1WvtcvFgN3FNDP3f2NmZ211t0mNEfSEN1h0eIg==}
    +    engines: {node: '>=0.1.90'}
    +    dev: true
     
    -  combined-stream@1.0.8:
    +  /combined-stream@1.0.8:
    +    resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==}
    +    engines: {node: '>= 0.8'}
         dependencies:
           delayed-stream: 1.0.0
    +    dev: true
     
    -  commander@11.0.0: {}
    -
    -  commander@11.1.0: {}
    +  /commander@11.0.0:
    +    resolution: {integrity: sha512-9HMlXtt/BNoYr8ooyjjNRdIilOTkVJXB+GhxMTtOKwk0R4j4lS4NpjuqmRxroBfnfTSHQIHQB7wryHhXarNjmQ==}
    +    engines: {node: '>=16'}
    +    dev: true
     
    -  commander@12.0.0: {}
    +  /commander@12.1.0:
    +    resolution: {integrity: sha512-Vw8qHK3bZM9y/P10u3Vib8o/DdkvA2OtPtZvD871QKjy74Wj1WSKFILMPRPSdUSx5RFK1arlJzEtA4PkFgnbuA==}
    +    engines: {node: '>=18'}
    +    dev: true
     
    -  commander@2.20.3: {}
    +  /commander@2.20.3:
    +    resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==}
    +    dev: true
     
    -  commander@4.1.1: {}
    +  /commander@4.1.1:
    +    resolution: {integrity: sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==}
    +    engines: {node: '>= 6'}
    +    dev: false
     
    -  commander@5.1.0: {}
    +  /commander@5.1.0:
    +    resolution: {integrity: sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg==}
    +    engines: {node: '>= 6'}
    +    dev: true
     
    -  commander@6.2.1: {}
    +  /commander@6.2.1:
    +    resolution: {integrity: sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA==}
    +    engines: {node: '>= 6'}
    +    dev: true
     
    -  commander@7.2.0: {}
    +  /commander@7.2.0:
    +    resolution: {integrity: sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==}
    +    engines: {node: '>= 10'}
     
    -  commander@8.3.0: {}
    +  /commander@8.3.0:
    +    resolution: {integrity: sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==}
    +    engines: {node: '>= 12'}
    +    dev: false
     
    -  comment-json@4.2.3:
    +  /comment-json@4.2.3:
    +    resolution: {integrity: sha512-SsxdiOf064DWoZLH799Ata6u7iV658A11PlWtZATDlXPpKGJnbJZ5Z24ybixAi+LUUqJ/GKowAejtC5GFUG7Tw==}
    +    engines: {node: '>= 6'}
         dependencies:
           array-timsort: 1.0.3
           core-util-is: 1.0.3
           esprima: 4.0.1
           has-own-prop: 2.0.0
           repeat-string: 1.6.1
    +    dev: true
     
    -  comment-parser@1.4.1: {}
    +  /comment-parser@1.4.1:
    +    resolution: {integrity: sha512-buhp5kePrmda3vhc5B9t7pUQXAb2Tnd0qgpkIhPhkHXxJpiPJ11H0ZEU0oBpJ2QztSbzG/ZxMj/CHsYJqRHmyg==}
    +    engines: {node: '>= 12.0.0'}
    +    dev: true
     
    -  common-path-prefix@3.0.0: {}
    +  /common-path-prefix@3.0.0:
    +    resolution: {integrity: sha512-QE33hToZseCH3jS0qN96O/bSh3kaw/h+Tq7ngyY9eWDUnTlTNUyqfqvCXioLe5Na5jFsL78ra/wuBU4iuEgd4w==}
    +    dev: true
     
    -  common-tags@1.8.2: {}
    +  /common-tags@1.8.2:
    +    resolution: {integrity: sha512-gk/Z852D2Wtb//0I+kRFNKKE9dIIVirjoqPoA1wJU+XePVXZfGeBpk45+A1rKO4Q43prqWBNY/MiIeRLbPWUaA==}
    +    engines: {node: '>=4.0.0'}
    +    dev: true
     
    -  commondir@1.0.1: {}
    +  /commondir@1.0.1:
    +    resolution: {integrity: sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==}
    +    dev: true
     
    -  compressible@2.0.18:
    +  /compressible@2.0.18:
    +    resolution: {integrity: sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==}
    +    engines: {node: '>= 0.6'}
         dependencies:
           mime-db: 1.52.0
    +    dev: true
     
    -  compression@1.7.4:
    +  /compression@1.7.4:
    +    resolution: {integrity: sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==}
    +    engines: {node: '>= 0.8.0'}
         dependencies:
           accepts: 1.3.8
           bytes: 3.0.0
    @@ -13200,10 +7376,16 @@ snapshots:
           vary: 1.1.2
         transitivePeerDependencies:
           - supports-color
    +    dev: true
     
    -  concat-map@0.0.1: {}
    +  /concat-map@0.0.1:
    +    resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==}
    +    dev: true
     
    -  concurrently@8.2.2:
    +  /concurrently@8.2.2:
    +    resolution: {integrity: sha512-1dP4gpXFhei8IOtlXRE/T/4H88ElHgTiUzh71YUmtjTEHMSRS2Z/fgOxHSxxusGHogsRfxNq1vyAwxSC+EVyDg==}
    +    engines: {node: ^14.13.0 || >=16.0.0}
    +    hasBin: true
         dependencies:
           chalk: 4.1.2
           date-fns: 2.30.0
    @@ -13214,87 +7396,126 @@ snapshots:
           supports-color: 8.1.1
           tree-kill: 1.2.2
           yargs: 17.7.2
    +    dev: true
     
    -  confbox@0.1.7: {}
    -
    -  configstore@6.0.0:
    -    dependencies:
    -      dot-prop: 6.0.1
    -      graceful-fs: 4.2.11
    -      unique-string: 3.0.0
    -      write-file-atomic: 3.0.3
    -      xdg-basedir: 5.1.0
    +  /confbox@0.1.7:
    +    resolution: {integrity: sha512-uJcB/FKZtBMCJpK8MQji6bJHgu1tixKPxRLeGkNzBoOZzpnZUJm0jm2/sBDWcuBx1dYgxV4JU+g5hmNxCyAmdA==}
    +    dev: true
     
    -  connect-history-api-fallback@2.0.0: {}
    +  /connect-history-api-fallback@2.0.0:
    +    resolution: {integrity: sha512-U73+6lQFmfiNPrYbXqr6kZ1i1wiRqXnp2nhMsINseWXO8lDau0LGEffJ8kQi4EjLZympVgRdvqjAgiZ1tgzDDA==}
    +    engines: {node: '>=0.8'}
    +    dev: true
     
    -  consola@3.2.3: {}
    +  /consola@3.2.3:
    +    resolution: {integrity: sha512-I5qxpzLv+sJhTVEoLYNcTW+bThDCPsit0vLNKShZx6rLtpilNpmmeTPaeqJb9ZE9dV3DGaeby6Vuhrw38WjeyQ==}
    +    engines: {node: ^14.18.0 || >=16.10.0}
    +    dev: true
     
    -  content-disposition@0.5.4:
    +  /content-disposition@0.5.4:
    +    resolution: {integrity: sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==}
    +    engines: {node: '>= 0.6'}
         dependencies:
           safe-buffer: 5.2.1
    +    dev: true
     
    -  content-type@1.0.5: {}
    -
    -  convert-source-map@1.9.0: {}
    +  /content-type@1.0.5:
    +    resolution: {integrity: sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==}
    +    engines: {node: '>= 0.6'}
    +    dev: true
     
    -  convert-source-map@2.0.0: {}
    +  /convert-source-map@1.9.0:
    +    resolution: {integrity: sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==}
    +    dev: true
     
    -  cookie-signature@1.0.6: {}
    +  /convert-source-map@2.0.0:
    +    resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==}
    +    dev: true
     
    -  cookie@0.5.0: {}
    +  /cookie-signature@1.0.6:
    +    resolution: {integrity: sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==}
    +    dev: true
     
    -  cookie@0.6.0: {}
    +  /cookie@0.5.0:
    +    resolution: {integrity: sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==}
    +    engines: {node: '>= 0.6'}
    +    dev: true
     
    -  core-js-compat@3.36.0:
    -    dependencies:
    -      browserslist: 4.23.0
    +  /cookie@0.6.0:
    +    resolution: {integrity: sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==}
    +    engines: {node: '>= 0.6'}
    +    dev: true
     
    -  core-js-compat@3.37.0:
    +  /core-js-compat@3.37.1:
    +    resolution: {integrity: sha512-9TNiImhKvQqSUkOvk/mMRZzOANTiEVC7WaBNhHcKM7x+/5E1l5NvsysR19zuDQScE8k+kfQXWRN3AtS/eOSHpg==}
         dependencies:
    -      browserslist: 4.23.0
    +      browserslist: 4.23.1
    +    dev: true
     
    -  core-util-is@1.0.2: {}
    +  /core-util-is@1.0.2:
    +    resolution: {integrity: sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==}
    +    dev: true
     
    -  core-util-is@1.0.3: {}
    +  /core-util-is@1.0.3:
    +    resolution: {integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==}
    +    dev: true
     
    -  cors@2.8.5:
    +  /cors@2.8.5:
    +    resolution: {integrity: sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==}
    +    engines: {node: '>= 0.10'}
         dependencies:
           object-assign: 4.1.1
           vary: 1.1.2
    +    dev: true
     
    -  cose-base@1.0.3:
    +  /cose-base@1.0.3:
    +    resolution: {integrity: sha512-s9whTXInMSgAp/NVXVNuVxVKzGH2qck3aQlVHxDCdAEPgtMKwc4Wq6/QKhgdEdgbLSi9rBTAcPoRa6JpiG4ksg==}
         dependencies:
           layout-base: 1.0.2
    +    dev: false
     
    -  cp-file@10.0.0:
    +  /cp-file@10.0.0:
    +    resolution: {integrity: sha512-vy2Vi1r2epK5WqxOLnskeKeZkdZvTKfFZQCplE3XWsP+SUJyd5XAUFC9lFgTjjXJF2GMne/UML14iEmkAaDfFg==}
    +    engines: {node: '>=14.16'}
         dependencies:
           graceful-fs: 4.2.11
           nested-error-stacks: 2.1.1
           p-event: 5.0.1
    +    dev: true
     
    -  cpy-cli@5.0.0:
    +  /cpy-cli@5.0.0:
    +    resolution: {integrity: sha512-fb+DZYbL9KHc0BC4NYqGRrDIJZPXUmjjtqdw4XRRg8iV8dIfghUX/WiL+q4/B/KFTy3sK6jsbUhBaz0/Hxg7IQ==}
    +    engines: {node: '>=16'}
    +    hasBin: true
         dependencies:
           cpy: 10.1.0
           meow: 12.1.1
    +    dev: true
     
    -  cpy@10.1.0:
    +  /cpy@10.1.0:
    +    resolution: {integrity: sha512-VC2Gs20JcTyeQob6UViBLnyP0bYHkBh6EiKzot9vi2DmeGlFT9Wd7VG3NBrkNx/jYvFBeyDOMMHdHQhbtKLgHQ==}
    +    engines: {node: '>=16'}
         dependencies:
           arrify: 3.0.0
           cp-file: 10.0.0
           globby: 13.2.2
           junk: 4.0.1
    -      micromatch: 4.0.5
    +      micromatch: 4.0.7
           nested-error-stacks: 2.1.1
           p-filter: 3.0.0
           p-map: 6.0.0
    +    dev: true
     
    -  create-jest@29.7.0(@types/node@20.12.7):
    +  /create-jest@29.7.0(@types/node@20.14.2):
    +    resolution: {integrity: sha512-Adz2bdH0Vq3F53KEMJOoftQFutWCukm6J24wbPWRO4k1kMY7gS7ds/uoJkNuV8wDCtWWnuwGcJwpWcih+zEW1Q==}
    +    engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
    +    hasBin: true
         dependencies:
           '@jest/types': 29.6.3
           chalk: 4.1.2
           exit: 0.1.2
           graceful-fs: 4.2.11
    -      jest-config: 29.7.0(@types/node@20.12.7)
    +      jest-config: 29.7.0(@types/node@20.14.2)
           jest-util: 29.7.0
           prompts: 2.4.2
         transitivePeerDependencies:
    @@ -13302,139 +7523,200 @@ snapshots:
           - babel-plugin-macros
           - supports-color
           - ts-node
    +    dev: true
     
    -  cross-env@7.0.3:
    +  /cross-env@7.0.3:
    +    resolution: {integrity: sha512-+/HKd6EgcQCJGh2PSjZuUitQBQynKor4wrFbRg4DtAgS1aWO+gU52xpH7M9ScGgXSYmAVS9bIJ8EzuaGw0oNAw==}
    +    engines: {node: '>=10.14', npm: '>=6', yarn: '>=1'}
    +    hasBin: true
         dependencies:
           cross-spawn: 7.0.3
    +    dev: true
     
    -  cross-spawn@6.0.5:
    +  /cross-spawn@6.0.5:
    +    resolution: {integrity: sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==}
    +    engines: {node: '>=4.8'}
         dependencies:
           nice-try: 1.0.5
           path-key: 2.0.1
           semver: 5.7.2
           shebang-command: 1.2.0
           which: 1.3.1
    +    dev: true
     
    -  cross-spawn@7.0.3:
    +  /cross-spawn@7.0.3:
    +    resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==}
    +    engines: {node: '>= 8'}
         dependencies:
           path-key: 3.1.1
           shebang-command: 2.0.0
           which: 2.0.2
     
    -  crypto-random-string@2.0.0: {}
    -
    -  crypto-random-string@4.0.0:
    -    dependencies:
    -      type-fest: 1.4.0
    +  /crypto-random-string@2.0.0:
    +    resolution: {integrity: sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==}
    +    engines: {node: '>=8'}
    +    dev: true
     
    -  cspell-config-lib@8.7.0:
    +  /cspell-config-lib@8.8.4:
    +    resolution: {integrity: sha512-Xf+aL669Cm+MYZTZULVWRQXB7sRWx9qs0hPrgqxeaWabLUISK57/qwcI24TPVdYakUCoud9Nv+woGi5FcqV5ZQ==}
    +    engines: {node: '>=18'}
         dependencies:
    -      '@cspell/cspell-types': 8.7.0
    +      '@cspell/cspell-types': 8.8.4
           comment-json: 4.2.3
    -      yaml: 2.4.1
    +      yaml: 2.4.5
    +    dev: true
     
    -  cspell-dictionary@8.7.0:
    +  /cspell-dictionary@8.8.4:
    +    resolution: {integrity: sha512-eDi61MDDZycS5EASz5FiYKJykLEyBT0mCvkYEUCsGVoqw8T9gWuWybwwqde3CMq9TOwns5pxGcFs2v9RYgtN5A==}
    +    engines: {node: '>=18'}
         dependencies:
    -      '@cspell/cspell-pipe': 8.7.0
    -      '@cspell/cspell-types': 8.7.0
    -      cspell-trie-lib: 8.7.0
    +      '@cspell/cspell-pipe': 8.8.4
    +      '@cspell/cspell-types': 8.8.4
    +      cspell-trie-lib: 8.8.4
           fast-equals: 5.0.1
           gensequence: 7.0.0
    +    dev: true
     
    -  cspell-gitignore@8.7.0:
    +  /cspell-gitignore@8.8.4:
    +    resolution: {integrity: sha512-rLdxpBh0kp0scwqNBZaWVnxEVmSK3UWyVSZmyEL4jmmjusHYM9IggfedOhO4EfGCIdQ32j21TevE0tTslyc4iA==}
    +    engines: {node: '>=18'}
    +    hasBin: true
         dependencies:
    -      cspell-glob: 8.7.0
    +      cspell-glob: 8.8.4
           find-up-simple: 1.0.0
    +    dev: true
     
    -  cspell-glob@8.7.0:
    +  /cspell-glob@8.8.4:
    +    resolution: {integrity: sha512-+tRrOfTSbF/44uNl4idMZVPNfNM6WTmra4ZL44nx23iw1ikNhqZ+m0PC1oCVSlURNBEn8faFXjC/oT2BfgxoUQ==}
    +    engines: {node: '>=18'}
         dependencies:
    -      micromatch: 4.0.5
    +      micromatch: 4.0.7
    +    dev: true
     
    -  cspell-grammar@8.7.0:
    +  /cspell-grammar@8.8.4:
    +    resolution: {integrity: sha512-UxDO517iW6vs/8l4OhLpdMR7Bp+tkquvtld1gWz8WYQiDwORyf0v5a3nMh4ILYZGoolOSnDuI9UjWOLI6L/vvQ==}
    +    engines: {node: '>=18'}
    +    hasBin: true
         dependencies:
    -      '@cspell/cspell-pipe': 8.7.0
    -      '@cspell/cspell-types': 8.7.0
    +      '@cspell/cspell-pipe': 8.8.4
    +      '@cspell/cspell-types': 8.8.4
    +    dev: true
     
    -  cspell-io@8.7.0:
    +  /cspell-io@8.8.4:
    +    resolution: {integrity: sha512-aqB/QMx+xns46QSyPEqi05uguCSxvqRnh2S/ZOhhjPlKma/7hK9niPRcwKwJXJEtNzdiZZkkC1uZt9aJe/7FTA==}
    +    engines: {node: '>=18'}
         dependencies:
    -      '@cspell/cspell-service-bus': 8.7.0
    +      '@cspell/cspell-service-bus': 8.8.4
    +    dev: true
     
    -  cspell-lib@8.7.0:
    +  /cspell-lib@8.8.4:
    +    resolution: {integrity: sha512-hK8gYtdQ9Lh86c8cEHITt5SaoJbfvXoY/wtpR4k393YR+eAxKziyv8ihQyFE/Z/FwuqtNvDrSntP9NLwTivd3g==}
    +    engines: {node: '>=18'}
         dependencies:
    -      '@cspell/cspell-bundled-dicts': 8.7.0
    -      '@cspell/cspell-pipe': 8.7.0
    -      '@cspell/cspell-resolver': 8.7.0
    -      '@cspell/cspell-types': 8.7.0
    -      '@cspell/dynamic-import': 8.7.0
    -      '@cspell/strong-weak-map': 8.7.0
    +      '@cspell/cspell-bundled-dicts': 8.8.4
    +      '@cspell/cspell-pipe': 8.8.4
    +      '@cspell/cspell-resolver': 8.8.4
    +      '@cspell/cspell-types': 8.8.4
    +      '@cspell/dynamic-import': 8.8.4
    +      '@cspell/strong-weak-map': 8.8.4
           clear-module: 4.1.2
           comment-json: 4.2.3
    -      configstore: 6.0.0
    -      cspell-config-lib: 8.7.0
    -      cspell-dictionary: 8.7.0
    -      cspell-glob: 8.7.0
    -      cspell-grammar: 8.7.0
    -      cspell-io: 8.7.0
    -      cspell-trie-lib: 8.7.0
    +      cspell-config-lib: 8.8.4
    +      cspell-dictionary: 8.8.4
    +      cspell-glob: 8.8.4
    +      cspell-grammar: 8.8.4
    +      cspell-io: 8.8.4
    +      cspell-trie-lib: 8.8.4
    +      env-paths: 3.0.0
           fast-equals: 5.0.1
           gensequence: 7.0.0
           import-fresh: 3.3.0
           resolve-from: 5.0.0
           vscode-languageserver-textdocument: 1.0.11
           vscode-uri: 3.0.8
    +      xdg-basedir: 5.1.0
    +    dev: true
     
    -  cspell-trie-lib@8.7.0:
    +  /cspell-trie-lib@8.8.4:
    +    resolution: {integrity: sha512-yCld4ZL+pFa5DL+Arfvmkv3cCQUOfdRlxElOzdkRZqWyO6h/UmO8xZb21ixVYHiqhJGZmwc3BG9Xuw4go+RLig==}
    +    engines: {node: '>=18'}
         dependencies:
    -      '@cspell/cspell-pipe': 8.7.0
    -      '@cspell/cspell-types': 8.7.0
    +      '@cspell/cspell-pipe': 8.8.4
    +      '@cspell/cspell-types': 8.8.4
           gensequence: 7.0.0
    +    dev: true
     
    -  cspell@8.7.0:
    +  /cspell@8.8.4:
    +    resolution: {integrity: sha512-eRUHiXvh4iRapw3lqE1nGOEAyYVfa/0lgK/e34SpcM/ECm4QuvbfY7Yl0ozCbiYywecog0RVbeJJUEYJTN5/Mg==}
    +    engines: {node: '>=18'}
    +    hasBin: true
         dependencies:
    -      '@cspell/cspell-json-reporter': 8.7.0
    -      '@cspell/cspell-pipe': 8.7.0
    -      '@cspell/cspell-types': 8.7.0
    -      '@cspell/dynamic-import': 8.7.0
    +      '@cspell/cspell-json-reporter': 8.8.4
    +      '@cspell/cspell-pipe': 8.8.4
    +      '@cspell/cspell-types': 8.8.4
    +      '@cspell/dynamic-import': 8.8.4
           chalk: 5.3.0
           chalk-template: 1.1.0
    -      commander: 12.0.0
    -      cspell-gitignore: 8.7.0
    -      cspell-glob: 8.7.0
    -      cspell-io: 8.7.0
    -      cspell-lib: 8.7.0
    +      commander: 12.1.0
    +      cspell-gitignore: 8.8.4
    +      cspell-glob: 8.8.4
    +      cspell-io: 8.8.4
    +      cspell-lib: 8.8.4
           fast-glob: 3.3.2
           fast-json-stable-stringify: 2.1.0
           file-entry-cache: 8.0.0
           get-stdin: 9.0.0
    -      semver: 7.6.0
    +      semver: 7.6.2
           strip-ansi: 7.1.0
           vscode-uri: 3.0.8
    +    dev: true
     
    -  css-tree@2.3.1:
    +  /css-tree@2.3.1:
    +    resolution: {integrity: sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw==}
    +    engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0}
         dependencies:
           mdn-data: 2.0.30
    -      source-map-js: 1.0.2
    +      source-map-js: 1.2.0
    +    dev: true
     
    -  cssesc@3.0.0: {}
    +  /cssesc@3.0.0:
    +    resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==}
    +    engines: {node: '>=4'}
    +    hasBin: true
    +    dev: false
     
    -  cssstyle@4.0.1:
    +  /cssstyle@4.0.1:
    +    resolution: {integrity: sha512-8ZYiJ3A/3OkDd093CBT/0UKDWry7ak4BdPTFP2+QEP7cmhouyq/Up709ASSj2cK02BbZiMgk7kYjZNS4QP5qrQ==}
    +    engines: {node: '>=18'}
         dependencies:
           rrweb-cssom: 0.6.0
    +    dev: true
     
    -  csstree-validator@3.0.0:
    +  /csstree-validator@3.0.0:
    +    resolution: {integrity: sha512-Y5OSq3wI0Xz6L7DCgJQtQ97U+v99SkX9r663VjpvUMJPhEr0A149OxiAGqcnokB5bt81irgnMudspBzujzqn0w==}
    +    engines: {node: ^12.20.0 || ^14.13.0 || >=15.0.0, npm: '>=7.0.0'}
    +    hasBin: true
         dependencies:
           clap: 3.1.1
           css-tree: 2.3.1
    -      resolve: 1.22.4
    +      resolve: 1.22.8
    +    dev: true
     
    -  csstype@3.1.3: {}
    +  /csstype@3.1.3:
    +    resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==}
     
    -  cuint@0.2.2: {}
    +  /cuint@0.2.2:
    +    resolution: {integrity: sha512-d4ZVpCW31eWwCMe1YT3ur7mUDnTXbgwyzaL320DrcRT45rfjYxkt5QWLrmOJ+/UEAI2+fQgKe/fCjR8l4TpRgw==}
    +    dev: true
     
    -  cypress-image-snapshot@4.0.1(cypress@13.7.3)(jest@29.7.0):
    +  /cypress-image-snapshot@4.0.1(cypress@13.11.0)(jest@29.7.0):
    +    resolution: {integrity: sha512-PBpnhX/XItlx3/DAk5ozsXQHUi72exybBNH5Mpqj1DVmjq+S5Jd9WE5CRa4q5q0zuMZb2V2VpXHth6MjFpgj9Q==}
    +    engines: {node: '>=8'}
    +    peerDependencies:
    +      cypress: ^4.5.0
         dependencies:
           chalk: 2.4.2
    -      cypress: 13.7.3
    +      cypress: 13.11.0
           fs-extra: 7.0.1
           glob: 7.2.3
           jest-image-snapshot: 4.2.0(jest@29.7.0)
    @@ -13442,8 +7724,13 @@ snapshots:
           term-img: 4.1.0
         transitivePeerDependencies:
           - jest
    +    dev: true
     
    -  cypress@13.7.3:
    +  /cypress@13.11.0:
    +    resolution: {integrity: sha512-NXXogbAxVlVje4XHX+Cx5eMFZv4Dho/2rIcdBHg9CNPFUGZdM4cRdgIgM7USmNYsC12XY0bZENEQ+KBk72fl+A==}
    +    engines: {node: ^16.0.0 || ^18.0.0 || >=20.0.0}
    +    hasBin: true
    +    requiresBuild: true
         dependencies:
           '@cypress/request': 3.0.1
           '@cypress/xvfb': 1.2.4(supports-color@8.1.1)
    @@ -13457,11 +7744,11 @@ snapshots:
           chalk: 4.1.2
           check-more-types: 2.24.0
           cli-cursor: 3.1.0
    -      cli-table3: 0.6.4
    +      cli-table3: 0.6.5
           commander: 6.2.1
           common-tags: 1.8.2
           dayjs: 1.11.11
    -      debug: 4.3.4(supports-color@8.1.1)
    +      debug: 4.3.5(supports-color@8.1.1)
           enquirer: 2.4.1
           eventemitter2: 6.4.7
           execa: 4.1.0
    @@ -13482,140 +7769,242 @@ snapshots:
           process: 0.11.10
           proxy-from-env: 1.0.0
           request-progress: 3.0.0
    -      semver: 7.6.0
    +      semver: 7.6.2
           supports-color: 8.1.1
           tmp: 0.2.3
           untildify: 4.0.0
           yauzl: 2.10.0
    +    dev: true
     
    -  cytoscape-cose-bilkent@4.1.0(cytoscape@3.28.1):
    +  /cytoscape-cose-bilkent@4.1.0(cytoscape@3.29.2):
    +    resolution: {integrity: sha512-wgQlVIUJF13Quxiv5e1gstZ08rnZj2XaLHGoFMYXz7SkNfCDOOteKBE6SYRfA9WxxI/iBc3ajfDoc6hb/MRAHQ==}
    +    peerDependencies:
    +      cytoscape: ^3.2.0
         dependencies:
           cose-base: 1.0.3
    -      cytoscape: 3.28.1(patch_hash=claipxynndhyqyu2csninuoh5e)
    +      cytoscape: 3.29.2
    +    dev: false
     
    -  cytoscape@3.28.1(patch_hash=claipxynndhyqyu2csninuoh5e):
    -    dependencies:
    -      heap: 0.2.7
    -      lodash: 4.17.21
    +  /cytoscape@3.29.2:
    +    resolution: {integrity: sha512-2G1ycU28Nh7OHT9rkXRLpCDP30MKH1dXJORZuBhtEhEW7pKwgPi77ImqlCWinouyE1PNepIOGZBOrE84DG7LyQ==}
    +    engines: {node: '>=0.10'}
    +    dev: false
     
    -  d3-array@2.12.1:
    +  /d3-array@2.12.1:
    +    resolution: {integrity: sha512-B0ErZK/66mHtEsR1TkPEEkwdy+WDesimkM5gpZr5Dsg54BiTA5RXtYW5qTLIAcekaS9xfZrzBLF/OAkB3Qn1YQ==}
         dependencies:
           internmap: 1.0.1
    +    dev: false
     
    -  d3-array@3.2.4:
    +  /d3-array@3.2.4:
    +    resolution: {integrity: sha512-tdQAmyA18i4J7wprpYq8ClcxZy3SC31QMeByyCFyRt7BVHdREQZ5lpzoe5mFEYZUWe+oq8HBvk9JjpibyEV4Jg==}
    +    engines: {node: '>=12'}
         dependencies:
           internmap: 2.0.3
    +    dev: false
     
    -  d3-axis@3.0.0: {}
    +  /d3-axis@3.0.0:
    +    resolution: {integrity: sha512-IH5tgjV4jE/GhHkRV0HiVYPDtvfjHQlQfJHs0usq7M30XcSBvOotpmH1IgkcXsO/5gEQZD43B//fc7SRT5S+xw==}
    +    engines: {node: '>=12'}
    +    dev: false
     
    -  d3-brush@3.0.0:
    +  /d3-brush@3.0.0:
    +    resolution: {integrity: sha512-ALnjWlVYkXsVIGlOsuWH1+3udkYFI48Ljihfnh8FZPF2QS9o+PzGLBslO0PjzVoHLZ2KCVgAM8NVkXPJB2aNnQ==}
    +    engines: {node: '>=12'}
         dependencies:
           d3-dispatch: 3.0.1
           d3-drag: 3.0.0
           d3-interpolate: 3.0.1
           d3-selection: 3.0.0
           d3-transition: 3.0.1(d3-selection@3.0.0)
    +    dev: false
     
    -  d3-chord@3.0.1:
    +  /d3-chord@3.0.1:
    +    resolution: {integrity: sha512-VE5S6TNa+j8msksl7HwjxMHDM2yNK3XCkusIlpX5kwauBfXuyLAtNg9jCp/iHH61tgI4sb6R/EIMWCqEIdjT/g==}
    +    engines: {node: '>=12'}
         dependencies:
           d3-path: 3.1.0
    +    dev: false
     
    -  d3-color@3.1.0: {}
    +  /d3-color@3.1.0:
    +    resolution: {integrity: sha512-zg/chbXyeBtMQ1LbD/WSoW2DpC3I0mpmPdW+ynRTj/x2DAWYrIY7qeZIHidozwV24m4iavr15lNwIwLxRmOxhA==}
    +    engines: {node: '>=12'}
    +    dev: false
     
    -  d3-contour@4.0.2:
    +  /d3-contour@4.0.2:
    +    resolution: {integrity: sha512-4EzFTRIikzs47RGmdxbeUvLWtGedDUNkTcmzoeyg4sP/dvCexO47AaQL7VKy/gul85TOxw+IBgA8US2xwbToNA==}
    +    engines: {node: '>=12'}
         dependencies:
           d3-array: 3.2.4
    +    dev: false
     
    -  d3-delaunay@6.0.4:
    +  /d3-delaunay@6.0.4:
    +    resolution: {integrity: sha512-mdjtIZ1XLAM8bm/hx3WwjfHt6Sggek7qH043O8KEjDXN40xi3vx/6pYSVTwLjEgiXQTbvaouWKynLBiUZ6SK6A==}
    +    engines: {node: '>=12'}
         dependencies:
           delaunator: 5.0.1
    +    dev: false
     
    -  d3-dispatch@3.0.1: {}
    +  /d3-dispatch@3.0.1:
    +    resolution: {integrity: sha512-rzUyPU/S7rwUflMyLc1ETDeBj0NRuHKKAcvukozwhshr6g6c5d8zh4c2gQjY2bZ0dXeGLWc1PF174P2tVvKhfg==}
    +    engines: {node: '>=12'}
    +    dev: false
     
    -  d3-drag@3.0.0:
    +  /d3-drag@3.0.0:
    +    resolution: {integrity: sha512-pWbUJLdETVA8lQNJecMxoXfH6x+mO2UQo8rSmZ+QqxcbyA3hfeprFgIT//HW2nlHChWeIIMwS2Fq+gEARkhTkg==}
    +    engines: {node: '>=12'}
         dependencies:
           d3-dispatch: 3.0.1
           d3-selection: 3.0.0
    +    dev: false
     
    -  d3-dsv@3.0.1:
    +  /d3-dsv@3.0.1:
    +    resolution: {integrity: sha512-UG6OvdI5afDIFP9w4G0mNq50dSOsXHJaRE8arAS5o9ApWnIElp8GZw1Dun8vP8OyHOZ/QJUKUJwxiiCCnUwm+Q==}
    +    engines: {node: '>=12'}
    +    hasBin: true
         dependencies:
           commander: 7.2.0
           iconv-lite: 0.6.3
           rw: 1.3.3
    +    dev: false
     
    -  d3-ease@3.0.1: {}
    +  /d3-ease@3.0.1:
    +    resolution: {integrity: sha512-wR/XK3D3XcLIZwpbvQwQ5fK+8Ykds1ip7A2Txe0yxncXSdq1L9skcG7blcedkOX+ZcgxGAmLX1FrRGbADwzi0w==}
    +    engines: {node: '>=12'}
    +    dev: false
     
    -  d3-fetch@3.0.1:
    +  /d3-fetch@3.0.1:
    +    resolution: {integrity: sha512-kpkQIM20n3oLVBKGg6oHrUchHM3xODkTzjMoj7aWQFq5QEM+R6E4WkzT5+tojDY7yjez8KgCBRoj4aEr99Fdqw==}
    +    engines: {node: '>=12'}
         dependencies:
           d3-dsv: 3.0.1
    +    dev: false
     
    -  d3-force@3.0.0:
    +  /d3-force@3.0.0:
    +    resolution: {integrity: sha512-zxV/SsA+U4yte8051P4ECydjD/S+qeYtnaIyAs9tgHCqfguma/aAQDjo85A9Z6EKhBirHRJHXIgJUlffT4wdLg==}
    +    engines: {node: '>=12'}
         dependencies:
           d3-dispatch: 3.0.1
           d3-quadtree: 3.0.1
           d3-timer: 3.0.1
    +    dev: false
     
    -  d3-format@3.1.0: {}
    +  /d3-format@3.1.0:
    +    resolution: {integrity: sha512-YyUI6AEuY/Wpt8KWLgZHsIU86atmikuoOmCfommt0LYHiQSPjvX2AcFc38PX0CBpr2RCyZhjex+NS/LPOv6YqA==}
    +    engines: {node: '>=12'}
    +    dev: false
     
    -  d3-geo@3.1.0:
    +  /d3-geo@3.1.1:
    +    resolution: {integrity: sha512-637ln3gXKXOwhalDzinUgY83KzNWZRKbYubaG+fGVuc/dxO64RRljtCTnf5ecMyE1RIdtqpkVcq0IbtU2S8j2Q==}
    +    engines: {node: '>=12'}
         dependencies:
           d3-array: 3.2.4
    +    dev: false
     
    -  d3-hierarchy@3.1.2: {}
    +  /d3-hierarchy@3.1.2:
    +    resolution: {integrity: sha512-FX/9frcub54beBdugHjDCdikxThEqjnR93Qt7PvQTOHxyiNCAlvMrHhclk3cD5VeAaq9fxmfRp+CnWw9rEMBuA==}
    +    engines: {node: '>=12'}
    +    dev: false
     
    -  d3-interpolate@3.0.1:
    +  /d3-interpolate@3.0.1:
    +    resolution: {integrity: sha512-3bYs1rOD33uo8aqJfKP3JWPAibgw8Zm2+L9vBKEHJ2Rg+viTR7o5Mmv5mZcieN+FRYaAOWX5SJATX6k1PWz72g==}
    +    engines: {node: '>=12'}
         dependencies:
           d3-color: 3.1.0
    +    dev: false
     
    -  d3-path@1.0.9: {}
    +  /d3-path@1.0.9:
    +    resolution: {integrity: sha512-VLaYcn81dtHVTjEHd8B+pbe9yHWpXKZUC87PzoFmsFrJqgFwDe/qxfp5MlfsfM1V5E/iVt0MmEbWQ7FVIXh/bg==}
    +    dev: false
     
    -  d3-path@3.1.0: {}
    +  /d3-path@3.1.0:
    +    resolution: {integrity: sha512-p3KP5HCf/bvjBSSKuXid6Zqijx7wIfNW+J/maPs+iwR35at5JCbLUT0LzF1cnjbCHWhqzQTIN2Jpe8pRebIEFQ==}
    +    engines: {node: '>=12'}
    +    dev: false
     
    -  d3-polygon@3.0.1: {}
    +  /d3-polygon@3.0.1:
    +    resolution: {integrity: sha512-3vbA7vXYwfe1SYhED++fPUQlWSYTTGmFmQiany/gdbiWgU/iEyQzyymwL9SkJjFFuCS4902BSzewVGsHHmHtXg==}
    +    engines: {node: '>=12'}
    +    dev: false
     
    -  d3-quadtree@3.0.1: {}
    +  /d3-quadtree@3.0.1:
    +    resolution: {integrity: sha512-04xDrxQTDTCFwP5H6hRhsRcb9xxv2RzkcsygFzmkSIOJy3PeRJP7sNk3VRIbKXcog561P9oU0/rVH6vDROAgUw==}
    +    engines: {node: '>=12'}
    +    dev: false
     
    -  d3-random@3.0.1: {}
    +  /d3-random@3.0.1:
    +    resolution: {integrity: sha512-FXMe9GfxTxqd5D6jFsQ+DJ8BJS4E/fT5mqqdjovykEB2oFbTMDVdg1MGFxfQW+FBOGoB++k8swBrgwSHT1cUXQ==}
    +    engines: {node: '>=12'}
    +    dev: false
     
    -  d3-sankey@0.12.3:
    +  /d3-sankey@0.12.3:
    +    resolution: {integrity: sha512-nQhsBRmM19Ax5xEIPLMY9ZmJ/cDvd1BG3UVvt5h3WRxKg5zGRbvnteTyWAbzeSvlh3tW7ZEmq4VwR5mB3tutmQ==}
         dependencies:
           d3-array: 2.12.1
           d3-shape: 1.3.7
    +    dev: false
     
    -  d3-scale-chromatic@3.0.0:
    +  /d3-scale-chromatic@3.1.0:
    +    resolution: {integrity: sha512-A3s5PWiZ9YCXFye1o246KoscMWqf8BsD9eRiJ3He7C9OBaxKhAd5TFCdEx/7VbKtxxTsu//1mMJFrEt572cEyQ==}
    +    engines: {node: '>=12'}
         dependencies:
           d3-color: 3.1.0
           d3-interpolate: 3.0.1
    +    dev: false
     
    -  d3-scale@4.0.2:
    +  /d3-scale@4.0.2:
    +    resolution: {integrity: sha512-GZW464g1SH7ag3Y7hXjf8RoUuAFIqklOAq3MRl4OaWabTFJY9PN/E1YklhXLh+OQ3fM9yS2nOkCoS+WLZ6kvxQ==}
    +    engines: {node: '>=12'}
         dependencies:
           d3-array: 3.2.4
           d3-format: 3.1.0
           d3-interpolate: 3.0.1
           d3-time: 3.1.0
           d3-time-format: 4.1.0
    +    dev: false
     
    -  d3-selection@3.0.0: {}
    +  /d3-selection@3.0.0:
    +    resolution: {integrity: sha512-fmTRWbNMmsmWq6xJV8D19U/gw/bwrHfNXxrIN+HfZgnzqTHp9jOmKMhsTUjXOJnZOdZY9Q28y4yebKzqDKlxlQ==}
    +    engines: {node: '>=12'}
    +    dev: false
     
    -  d3-shape@1.3.7:
    +  /d3-shape@1.3.7:
    +    resolution: {integrity: sha512-EUkvKjqPFUAZyOlhY5gzCxCeI0Aep04LwIRpsZ/mLFelJiUfnK56jo5JMDSE7yyP2kLSb6LtF+S5chMk7uqPqw==}
         dependencies:
           d3-path: 1.0.9
    +    dev: false
     
    -  d3-shape@3.2.0:
    +  /d3-shape@3.2.0:
    +    resolution: {integrity: sha512-SaLBuwGm3MOViRq2ABk3eLoxwZELpH6zhl3FbAoJ7Vm1gofKx6El1Ib5z23NUEhF9AsGl7y+dzLe5Cw2AArGTA==}
    +    engines: {node: '>=12'}
         dependencies:
           d3-path: 3.1.0
    +    dev: false
     
    -  d3-time-format@4.1.0:
    +  /d3-time-format@4.1.0:
    +    resolution: {integrity: sha512-dJxPBlzC7NugB2PDLwo9Q8JiTR3M3e4/XANkreKSUxF8vvXKqm1Yfq4Q5dl8budlunRVlUUaDUgFt7eA8D6NLg==}
    +    engines: {node: '>=12'}
         dependencies:
           d3-time: 3.1.0
    +    dev: false
     
    -  d3-time@3.1.0:
    +  /d3-time@3.1.0:
    +    resolution: {integrity: sha512-VqKjzBLejbSMT4IgbmVgDjpkYrNWUYJnbCGo874u7MMKIWsILRX+OpX/gTk8MqjpT1A/c6HY2dCA77ZN0lkQ2Q==}
    +    engines: {node: '>=12'}
         dependencies:
           d3-array: 3.2.4
    +    dev: false
     
    -  d3-timer@3.0.1: {}
    +  /d3-timer@3.0.1:
    +    resolution: {integrity: sha512-ndfJ/JxxMd3nw31uyKoY2naivF+r29V+Lc0svZxe1JvvIRmi8hUsrMvdOwgS1o6uBHmiz91geQ0ylPP0aj1VUA==}
    +    engines: {node: '>=12'}
    +    dev: false
     
    -  d3-transition@3.0.1(d3-selection@3.0.0):
    +  /d3-transition@3.0.1(d3-selection@3.0.0):
    +    resolution: {integrity: sha512-ApKvfjsSR6tg06xrL434C0WydLr7JewBB3V+/39RMHsaXTOG0zmt/OAXeng5M5LBm0ojmxJrpomQVZ1aPvBL4w==}
    +    engines: {node: '>=12'}
    +    peerDependencies:
    +      d3-selection: 2 - 3
         dependencies:
           d3-color: 3.1.0
           d3-dispatch: 3.0.1
    @@ -13623,16 +8012,22 @@ snapshots:
           d3-interpolate: 3.0.1
           d3-selection: 3.0.0
           d3-timer: 3.0.1
    +    dev: false
     
    -  d3-zoom@3.0.0:
    +  /d3-zoom@3.0.0:
    +    resolution: {integrity: sha512-b8AmV3kfQaqWAuacbPuNbL6vahnOJflOhexLzMMNLga62+/nh0JzvJ0aO/5a5MVgUFGS7Hu1P9P03o3fJkDCyw==}
    +    engines: {node: '>=12'}
         dependencies:
           d3-dispatch: 3.0.1
           d3-drag: 3.0.0
           d3-interpolate: 3.0.1
           d3-selection: 3.0.0
           d3-transition: 3.0.1(d3-selection@3.0.0)
    +    dev: false
     
    -  d3@7.9.0:
    +  /d3@7.9.0:
    +    resolution: {integrity: sha512-e1U46jVP+w7Iut8Jt8ri1YsPOvFpg46k+K8TpCb0P+zjCkjkPnV7WzfDJzMHy1LnA+wj5pLT1wjO901gLXeEhA==}
    +    engines: {node: '>=12'}
         dependencies:
           d3-array: 3.2.4
           d3-axis: 3.0.0
    @@ -13648,7 +8043,7 @@ snapshots:
           d3-fetch: 3.0.1
           d3-force: 3.0.0
           d3-format: 3.1.0
    -      d3-geo: 3.1.0
    +      d3-geo: 3.1.1
           d3-hierarchy: 3.1.2
           d3-interpolate: 3.0.1
           d3-path: 3.1.0
    @@ -13656,7 +8051,7 @@ snapshots:
           d3-quadtree: 3.0.1
           d3-random: 3.0.1
           d3-scale: 4.0.2
    -      d3-scale-chromatic: 3.0.0
    +      d3-scale-chromatic: 3.1.0
           d3-selection: 3.0.0
           d3-shape: 3.2.0
           d3-time: 3.1.0
    @@ -13664,252 +8059,472 @@ snapshots:
           d3-timer: 3.0.1
           d3-transition: 3.0.1(d3-selection@3.0.0)
           d3-zoom: 3.0.0
    +    dev: false
     
    -  d@1.0.2:
    +  /d@1.0.2:
    +    resolution: {integrity: sha512-MOqHvMWF9/9MX6nza0KgvFH4HpMU0EF5uUDXqX/BtxtU8NfB0QzRtJ8Oe/6SuS4kbhyzVJwjd97EA4PKrzJ8bw==}
    +    engines: {node: '>=0.12'}
         dependencies:
           es5-ext: 0.10.64
    -      type: 2.7.2
    +      type: 2.7.3
    +    dev: true
     
    -  dagre-d3-es@7.0.10:
    +  /dagre-d3-es@7.0.10:
    +    resolution: {integrity: sha512-qTCQmEhcynucuaZgY5/+ti3X/rnszKZhEQH/ZdWdtP1tA/y3VoHJzcVrO9pjjJCNpigfscAtoUB5ONcd2wNn0A==}
         dependencies:
           d3: 7.9.0
           lodash-es: 4.17.21
    +    dev: false
     
    -  dashdash@1.14.1:
    +  /dashdash@1.14.1:
    +    resolution: {integrity: sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g==}
    +    engines: {node: '>=0.10'}
         dependencies:
           assert-plus: 1.0.0
    +    dev: true
     
    -  data-uri-to-buffer@4.0.1: {}
    +  /data-uri-to-buffer@4.0.1:
    +    resolution: {integrity: sha512-0R9ikRb668HB7QDxT1vkpuUBtqc53YyAwMwGeUFKRojY/NWKvdZ+9UYtRfGmhqNbRkTSVpMbmyhXipFFv2cb/A==}
    +    engines: {node: '>= 12'}
    +    dev: true
     
    -  data-urls@5.0.0:
    +  /data-urls@5.0.0:
    +    resolution: {integrity: sha512-ZYP5VBHshaDAiVZxjbRVcFJpc+4xGgT0bK3vzy1HLN8jTO975HEbuYzZJcHoQEY5K1a0z8YayJkyVETa08eNTg==}
    +    engines: {node: '>=18'}
         dependencies:
           whatwg-mimetype: 4.0.0
           whatwg-url: 14.0.0
    +    dev: true
     
    -  data-view-buffer@1.0.1:
    +  /data-view-buffer@1.0.1:
    +    resolution: {integrity: sha512-0lht7OugA5x3iJLOWFhWK/5ehONdprk0ISXqVFn/NFrDu+cuc8iADFrGQz5BnRK7LLU3JmkbXSxaqX+/mXYtUA==}
    +    engines: {node: '>= 0.4'}
         dependencies:
           call-bind: 1.0.7
           es-errors: 1.3.0
           is-data-view: 1.0.1
    +    dev: true
     
    -  data-view-byte-length@1.0.1:
    +  /data-view-byte-length@1.0.1:
    +    resolution: {integrity: sha512-4J7wRJD3ABAzr8wP+OcIcqq2dlUKp4DVflx++hs5h5ZKydWMI6/D/fAot+yh6g2tHh8fLFTvNOaVN357NvSrOQ==}
    +    engines: {node: '>= 0.4'}
         dependencies:
           call-bind: 1.0.7
           es-errors: 1.3.0
           is-data-view: 1.0.1
    +    dev: true
     
    -  data-view-byte-offset@1.0.0:
    +  /data-view-byte-offset@1.0.0:
    +    resolution: {integrity: sha512-t/Ygsytq+R995EJ5PZlD4Cu56sWa8InXySaViRzw9apusqsOO2bQP+SbYzAhR0pFKoB+43lYy8rWban9JSuXnA==}
    +    engines: {node: '>= 0.4'}
         dependencies:
           call-bind: 1.0.7
           es-errors: 1.3.0
           is-data-view: 1.0.1
    +    dev: true
     
    -  date-fns@2.30.0:
    +  /date-fns@2.30.0:
    +    resolution: {integrity: sha512-fnULvOpxnC5/Vg3NCiWelDsLiUc9bRwAPs/+LfTLNvetFCtCTN+yQz15C/fs4AwX1R9K5GLtLfn8QW+dWisaAw==}
    +    engines: {node: '>=0.11'}
         dependencies:
    -      '@babel/runtime': 7.24.0
    +      '@babel/runtime': 7.24.7
    +    dev: true
     
    -  dayjs@1.11.10: {}
    +  /dayjs@1.11.10:
    +    resolution: {integrity: sha512-vjAczensTgRcqDERK0SR2XMwsF/tSvnvlv6VcF2GIhg6Sx4yOIt/irsr1RDJsKiIyBzJDpCoXiWWq28MqH2cnQ==}
    +    dev: true
     
    -  dayjs@1.11.11: {}
    +  /dayjs@1.11.11:
    +    resolution: {integrity: sha512-okzr3f11N6WuqYtZSvm+F776mB41wRZMhKP+hc34YdW+KmtYYK9iqvHSwo2k9FEH3fhGXvOPV6yz2IcSrfRUDg==}
     
    -  debug@2.6.9:
    +  /debug@2.6.9:
    +    resolution: {integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==}
    +    peerDependencies:
    +      supports-color: '*'
    +    peerDependenciesMeta:
    +      supports-color:
    +        optional: true
         dependencies:
           ms: 2.0.0
    +    dev: true
     
    -  debug@3.2.7(supports-color@8.1.1):
    +  /debug@3.2.7(supports-color@8.1.1):
    +    resolution: {integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==}
    +    peerDependencies:
    +      supports-color: '*'
    +    peerDependenciesMeta:
    +      supports-color:
    +        optional: true
         dependencies:
           ms: 2.1.3
           supports-color: 8.1.1
    +    dev: true
    +
    +  /debug@4.3.3:
    +    resolution: {integrity: sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==}
    +    engines: {node: '>=6.0'}
    +    peerDependencies:
    +      supports-color: '*'
    +    peerDependenciesMeta:
    +      supports-color:
    +        optional: true
    +    dependencies:
    +      ms: 2.1.2
    +    dev: true
     
    -  debug@4.3.3:
    +  /debug@4.3.4:
    +    resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==}
    +    engines: {node: '>=6.0'}
    +    peerDependencies:
    +      supports-color: '*'
    +    peerDependenciesMeta:
    +      supports-color:
    +        optional: true
         dependencies:
           ms: 2.1.2
    +    dev: true
     
    -  debug@4.3.4(supports-color@8.1.1):
    +  /debug@4.3.5(supports-color@8.1.1):
    +    resolution: {integrity: sha512-pt0bNEmneDIvdL1Xsd9oDQ/wrQRkXDT4AUWlNZNPKvW5x/jyO9VFXkJUP07vQ2upmw5PlaITaPKc31jK13V+jg==}
    +    engines: {node: '>=6.0'}
    +    peerDependencies:
    +      supports-color: '*'
    +    peerDependenciesMeta:
    +      supports-color:
    +        optional: true
         dependencies:
           ms: 2.1.2
           supports-color: 8.1.1
     
    -  decamelize@1.2.0: {}
    +  /decamelize@1.2.0:
    +    resolution: {integrity: sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==}
    +    engines: {node: '>=0.10.0'}
    +    dev: true
     
    -  decimal.js@10.4.3: {}
    +  /decimal.js@10.4.3:
    +    resolution: {integrity: sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA==}
    +    dev: true
     
    -  decode-named-character-reference@1.0.2:
    +  /decode-named-character-reference@1.0.2:
    +    resolution: {integrity: sha512-O8x12RzrUF8xyVcY0KJowWsmaJxQbmy0/EtnNtHRpsOcT7dFk5W598coHqBVpmWo1oQQfsCqfCmkZN5DJrZVdg==}
         dependencies:
           character-entities: 2.0.2
     
    -  decompress-response@6.0.0:
    +  /decompress-response@6.0.0:
    +    resolution: {integrity: sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==}
    +    engines: {node: '>=10'}
         dependencies:
           mimic-response: 3.1.0
    +    dev: true
     
    -  dedent@1.5.1: {}
    +  /dedent@1.5.3:
    +    resolution: {integrity: sha512-NHQtfOOW68WD8lgypbLA5oT+Bt0xXJhiYvoR6SmmNXZfpzOGXwdKWmcwG8N7PwVVWV3eF/68nmD9BaJSsTBhyQ==}
    +    peerDependencies:
    +      babel-plugin-macros: ^3.1.0
    +    peerDependenciesMeta:
    +      babel-plugin-macros:
    +        optional: true
    +    dev: true
     
    -  deep-eql@4.1.3:
    +  /deep-eql@4.1.4:
    +    resolution: {integrity: sha512-SUwdGfqdKOwxCPeVYjwSyRpJ7Z+fhpwIAtmCUdZIWZ/YP5R9WAsyuSgpLVDi9bjWoN2LXHNss/dk3urXtdQxGg==}
    +    engines: {node: '>=6'}
         dependencies:
           type-detect: 4.0.8
    +    dev: true
     
    -  deep-is@0.1.4: {}
    +  /deep-is@0.1.4:
    +    resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==}
    +    dev: true
     
    -  deepmerge@4.3.1: {}
    +  /deepmerge@4.3.1:
    +    resolution: {integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==}
    +    engines: {node: '>=0.10.0'}
    +    dev: true
     
    -  default-gateway@6.0.3:
    +  /default-gateway@6.0.3:
    +    resolution: {integrity: sha512-fwSOJsbbNzZ/CUFpqFBqYfYNLj1NbMPm8MMCIzHjC83iSJRBEGmDUxU+WP661BaBQImeC2yHwXtz+P/O9o+XEg==}
    +    engines: {node: '>= 10'}
         dependencies:
           execa: 5.1.1
    +    dev: true
     
    -  default-require-extensions@3.0.1:
    +  /default-require-extensions@3.0.1:
    +    resolution: {integrity: sha512-eXTJmRbm2TIt9MgWTsOH1wEuhew6XGZcMeGKCtLedIg/NCsg1iBePXkceTdK4Fii7pzmN9tGsZhKzZ4h7O/fxw==}
    +    engines: {node: '>=8'}
         dependencies:
           strip-bom: 4.0.0
    +    dev: true
     
    -  defer-to-connect@2.0.1: {}
    +  /defer-to-connect@2.0.1:
    +    resolution: {integrity: sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg==}
    +    engines: {node: '>=10'}
    +    dev: true
     
    -  define-data-property@1.1.4:
    +  /define-data-property@1.1.4:
    +    resolution: {integrity: sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==}
    +    engines: {node: '>= 0.4'}
         dependencies:
           es-define-property: 1.0.0
           es-errors: 1.3.0
           gopd: 1.0.1
    +    dev: true
     
    -  define-lazy-prop@2.0.0: {}
    +  /define-lazy-prop@2.0.0:
    +    resolution: {integrity: sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==}
    +    engines: {node: '>=8'}
    +    dev: true
     
    -  define-properties@1.2.1:
    +  /define-properties@1.2.1:
    +    resolution: {integrity: sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==}
    +    engines: {node: '>= 0.4'}
         dependencies:
           define-data-property: 1.1.4
           has-property-descriptors: 1.0.2
           object-keys: 1.1.1
    +    dev: true
     
    -  defu@6.1.4: {}
    +  /defu@6.1.4:
    +    resolution: {integrity: sha512-mEQCMmwJu317oSz8CwdIOdwf3xMif1ttiM8LTufzc3g6kR+9Pe236twL8j3IYT1F7GfRgGcW6MWxzZjLIkuHIg==}
    +    dev: true
     
    -  delaunator@5.0.1:
    +  /delaunator@5.0.1:
    +    resolution: {integrity: sha512-8nvh+XBe96aCESrGOqMp/84b13H9cdKbG5P2ejQCh4d4sK9RL4371qou9drQjMhvnPmhWl5hnmqbEE0fXr9Xnw==}
         dependencies:
           robust-predicates: 3.0.2
    +    dev: false
     
    -  delayed-stream@1.0.0: {}
    +  /delayed-stream@1.0.0:
    +    resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==}
    +    engines: {node: '>=0.4.0'}
    +    dev: true
     
    -  depd@1.1.2: {}
    +  /depd@1.1.2:
    +    resolution: {integrity: sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==}
    +    engines: {node: '>= 0.6'}
    +    dev: true
     
    -  depd@2.0.0: {}
    +  /depd@2.0.0:
    +    resolution: {integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==}
    +    engines: {node: '>= 0.8'}
    +    dev: true
     
    -  dequal@2.0.3: {}
    +  /dequal@2.0.3:
    +    resolution: {integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==}
    +    engines: {node: '>=6'}
     
    -  destr@2.0.3: {}
    +  /destr@2.0.3:
    +    resolution: {integrity: sha512-2N3BOUU4gYMpTP24s5rF5iP7BDr7uNTCs4ozw3kf/eKfvWSIu93GEBi5m427YoyJoeOzQ5smuu4nNAPGb8idSQ==}
    +    dev: true
     
    -  destroy@1.2.0: {}
    +  /destroy@1.2.0:
    +    resolution: {integrity: sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==}
    +    engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16}
    +    dev: true
     
    -  detect-newline@3.1.0: {}
    +  /detect-newline@3.1.0:
    +    resolution: {integrity: sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==}
    +    engines: {node: '>=8'}
    +    dev: true
     
    -  detect-node@2.1.0: {}
    +  /detect-node@2.1.0:
    +    resolution: {integrity: sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==}
    +    dev: true
     
    -  devlop@1.1.0:
    +  /devlop@1.1.0:
    +    resolution: {integrity: sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA==}
         dependencies:
           dequal: 2.0.3
     
    -  didyoumean@1.2.2: {}
    +  /didyoumean@1.2.2:
    +    resolution: {integrity: sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==}
    +    dev: false
     
    -  diff-sequences@29.6.3: {}
    +  /diff-sequences@29.6.3:
    +    resolution: {integrity: sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==}
    +    engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
    +    dev: true
     
    -  dir-glob@3.0.1:
    +  /dir-glob@3.0.1:
    +    resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==}
    +    engines: {node: '>=8'}
         dependencies:
           path-type: 4.0.0
    +    dev: true
     
    -  dlv@1.1.3: {}
    -
    -  dns-equal@1.0.0: {}
    +  /dlv@1.1.3:
    +    resolution: {integrity: sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==}
    +    dev: false
     
    -  dns-packet@5.6.0:
    +  /dns-packet@5.6.1:
    +    resolution: {integrity: sha512-l4gcSouhcgIKRvyy99RNVOgxXiicE+2jZoNmaNmZ6JXiGajBOJAesk1OBlJuM5k2c+eudGdLxDqXuPCKIj6kpw==}
    +    engines: {node: '>=6'}
         dependencies:
    -      '@leichtgewicht/ip-codec': 2.0.4
    +      '@leichtgewicht/ip-codec': 2.0.5
    +    dev: true
     
    -  doctrine@3.0.0:
    +  /doctrine@3.0.0:
    +    resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==}
    +    engines: {node: '>=6.0.0'}
         dependencies:
           esutils: 2.0.3
    +    dev: true
     
    -  dom-serializer@2.0.0:
    +  /dom-serializer@2.0.0:
    +    resolution: {integrity: sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==}
         dependencies:
           domelementtype: 2.3.0
           domhandler: 5.0.3
           entities: 4.5.0
    +    dev: true
     
    -  dom-to-image-more@2.16.0: {}
    +  /dom-to-image-more@2.16.0:
    +    resolution: {integrity: sha512-RyjtkaM/zVy90uJ20lT+/G7MwBZx6l/ePliq5CQOeAnPeew7aUGS6IqRWBkHpstU+POmhaKA8A9H9qf476gisQ==}
    +    dev: false
     
    -  domelementtype@2.3.0: {}
    +  /domelementtype@2.3.0:
    +    resolution: {integrity: sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==}
    +    dev: true
     
    -  domhandler@5.0.3:
    +  /domhandler@5.0.3:
    +    resolution: {integrity: sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==}
    +    engines: {node: '>= 4'}
         dependencies:
           domelementtype: 2.3.0
    +    dev: true
     
    -  dompurify@3.1.2: {}
    +  /dompurify@3.1.5:
    +    resolution: {integrity: sha512-lwG+n5h8QNpxtyrJW/gJWckL+1/DQiYMX8f7t8Z2AZTPw1esVrqjI63i7Zc2Gz0aKzLVMYC1V1PL/ky+aY/NgA==}
    +    dev: false
     
    -  domutils@3.1.0:
    +  /domutils@3.1.0:
    +    resolution: {integrity: sha512-H78uMmQtI2AhgDJjWeQmHwJJ2bLPD3GMmO7Zja/ZZh84wkm+4ut+IUnUdRa8uCGX88DiVx1j6FRe1XfxEgjEZA==}
         dependencies:
           dom-serializer: 2.0.0
           domelementtype: 2.3.0
           domhandler: 5.0.3
    +    dev: true
     
    -  dot-prop@6.0.1:
    -    dependencies:
    -      is-obj: 2.0.0
    -
    -  dotenv@16.4.5: {}
    +  /dotenv@16.4.5:
    +    resolution: {integrity: sha512-ZmdL2rui+eB2YwhsWzjInR8LldtZHGDoQ1ugH85ppHKwpUHL7j7rN0Ti9NCnGiQbhaZ11FpR+7ao1dNsmduNUg==}
    +    engines: {node: '>=12'}
    +    dev: true
     
    -  duplexer@0.1.2: {}
    +  /duplexer@0.1.2:
    +    resolution: {integrity: sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==}
    +    dev: true
     
    -  eastasianwidth@0.2.0: {}
    +  /eastasianwidth@0.2.0:
    +    resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==}
     
    -  ebnf-parser@0.1.10: {}
    +  /ebnf-parser@0.1.10:
    +    resolution: {integrity: sha512-urvSxVQ6XJcoTpc+/x2pWhhuOX4aljCNQpwzw+ifZvV1andZkAmiJc3Rq1oGEAQmcjiLceyMXOy1l8ms8qs2fQ==}
    +    dev: true
     
    -  ecc-jsbn@0.1.2:
    +  /ecc-jsbn@0.1.2:
    +    resolution: {integrity: sha512-eh9O+hwRHNbG4BLTjEl3nw044CkGm5X6LoaCf7LPp7UU8Qrt47JYNi6nPX8xjW97TKGKm1ouctg0QSpZe9qrnw==}
         dependencies:
           jsbn: 0.1.1
           safer-buffer: 2.1.2
    +    dev: true
     
    -  ee-first@1.1.1: {}
    +  /ee-first@1.1.1:
    +    resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==}
    +    dev: true
     
    -  ejs@3.1.10:
    +  /ejs@3.1.10:
    +    resolution: {integrity: sha512-UeJmFfOrAQS8OJWPZ4qtgHyWExa088/MtK5UEyoJGFH67cDEXkZSviOiKRCZ4Xij0zxI3JECgYs3oKx+AizQBA==}
    +    engines: {node: '>=0.10.0'}
    +    hasBin: true
         dependencies:
    -      jake: 10.8.7
    +      jake: 10.9.1
    +    dev: true
     
    -  electron-to-chromium@1.4.692: {}
    +  /electron-to-chromium@1.4.801:
    +    resolution: {integrity: sha512-PnlUz15ii38MZMD2/CEsAzyee8tv9vFntX5nhtd2/4tv4HqY7C5q2faUAjmkXS/UFpVooJ/5H6kayRKYWoGMXQ==}
    +    dev: true
     
    -  elkjs@0.9.3: {}
    +  /elkjs@0.9.3:
    +    resolution: {integrity: sha512-f/ZeWvW/BCXbhGEf1Ujp29EASo/lk1FDnETgNKwJrsVvGZhUWCZyg3xLJjAsxfOmt8KjswHmI5EwCQcPMpOYhQ==}
    +    dev: false
     
    -  emittery@0.13.1: {}
    +  /emittery@0.13.1:
    +    resolution: {integrity: sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==}
    +    engines: {node: '>=12'}
    +    dev: true
     
    -  emoji-regex@10.3.0: {}
    +  /emoji-regex@10.3.0:
    +    resolution: {integrity: sha512-QpLs9D9v9kArv4lfDEgg1X/gN5XLnf/A6l9cs8SPZLRZR3ZkY9+kwIQTxm+fsSej5UMYGE8fdoaZVIBlqG0XTw==}
    +    dev: true
     
    -  emoji-regex@8.0.0: {}
    +  /emoji-regex@8.0.0:
    +    resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==}
     
    -  emoji-regex@9.2.2: {}
    +  /emoji-regex@9.2.2:
    +    resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==}
     
    -  encodeurl@1.0.2: {}
    +  /encodeurl@1.0.2:
    +    resolution: {integrity: sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==}
    +    engines: {node: '>= 0.8'}
    +    dev: true
     
    -  encoding@0.1.13:
    +  /encoding@0.1.13:
    +    resolution: {integrity: sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==}
         dependencies:
           iconv-lite: 0.6.3
    +    dev: true
     
    -  end-of-stream@1.4.4:
    +  /end-of-stream@1.4.4:
    +    resolution: {integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==}
         dependencies:
           once: 1.4.0
    +    dev: true
     
    -  enhanced-resolve@5.16.0:
    +  /enhanced-resolve@5.17.0:
    +    resolution: {integrity: sha512-dwDPwZL0dmye8Txp2gzFmA6sxALaSvdRDjPH0viLcKrtlOL3tw62nWWweVD1SdILDTJrbrL6tdWVN58Wo6U3eA==}
    +    engines: {node: '>=10.13.0'}
         dependencies:
           graceful-fs: 4.2.11
           tapable: 2.2.1
    +    dev: true
     
    -  enquirer@2.4.1:
    +  /enquirer@2.4.1:
    +    resolution: {integrity: sha512-rRqJg/6gd538VHvR3PSrdRBb/1Vy2YfzHqzvbhGIQpDRKIa4FgV/54b5Q1xYSxOOwKvjXweS26E0Q+nAMwp2pQ==}
    +    engines: {node: '>=8.6'}
         dependencies:
           ansi-colors: 4.1.3
           strip-ansi: 6.0.1
    +    dev: true
    +
    +  /entities@3.0.1:
    +    resolution: {integrity: sha512-WiyBqoomrwMdFG1e0kqvASYfnlb0lp8M5o5Fw2OFq1hNZxxcNk8Ik0Xm7LxzBhuidnZB/UtBqVCgUz3kBOP51Q==}
    +    engines: {node: '>=0.12'}
    +    dev: true
     
    -  entities@3.0.1: {}
    +  /entities@4.5.0:
    +    resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==}
    +    engines: {node: '>=0.12'}
     
    -  entities@4.5.0: {}
    +  /env-paths@3.0.0:
    +    resolution: {integrity: sha512-dtJUTepzMW3Lm/NPxRf3wP4642UWhjL2sQxc+ym2YMj1m/H2zDNQOlezafzkHwn6sMstjHTwG6iQQsctDW/b1A==}
    +    engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
    +    dev: true
     
    -  envinfo@7.10.0: {}
    +  /envinfo@7.13.0:
    +    resolution: {integrity: sha512-cvcaMr7KqXVh4nyzGTVqTum+gAiL265x5jUWQIDLq//zOGbW+gSW/C+OWLleY/rs9Qole6AZLMXPbtIFQbqu+Q==}
    +    engines: {node: '>=4'}
    +    hasBin: true
    +    dev: true
     
    -  error-ex@1.3.2:
    +  /error-ex@1.3.2:
    +    resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==}
         dependencies:
           is-arrayish: 0.2.1
    +    dev: true
     
    -  es-abstract@1.23.3:
    +  /es-abstract@1.23.3:
    +    resolution: {integrity: sha512-e+HfNH61Bj1X9/jLc5v1owaLYuHdeHHSQlkhCBiTK8rBvKaULl/beGMxwrMXjpYrv4pz22BlY570vVePA2ho4A==}
    +    engines: {node: '>= 0.4'}
         dependencies:
           array-buffer-byte-length: 1.0.1
           arraybuffer.prototype.slice: 1.0.3
    @@ -13957,61 +8572,99 @@ snapshots:
           typed-array-length: 1.0.6
           unbox-primitive: 1.0.2
           which-typed-array: 1.1.15
    +    dev: true
     
    -  es-define-property@1.0.0:
    +  /es-define-property@1.0.0:
    +    resolution: {integrity: sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==}
    +    engines: {node: '>= 0.4'}
         dependencies:
           get-intrinsic: 1.2.4
    +    dev: true
     
    -  es-errors@1.3.0: {}
    +  /es-errors@1.3.0:
    +    resolution: {integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==}
    +    engines: {node: '>= 0.4'}
    +    dev: true
     
    -  es-module-lexer@1.4.1: {}
    +  /es-module-lexer@1.5.3:
    +    resolution: {integrity: sha512-i1gCgmR9dCl6Vil6UKPI/trA69s08g/syhiDK9TG0Nf1RJjjFI+AzoWW7sPufzkgYAn861skuCwJa0pIIHYxvg==}
    +    dev: true
     
    -  es-object-atoms@1.0.0:
    +  /es-object-atoms@1.0.0:
    +    resolution: {integrity: sha512-MZ4iQ6JwHOBQjahnjwaC1ZtIBH+2ohjamzAO3oaHcXYup7qxjF2fixyH+Q71voWHeOkI2q/TnJao/KfXYIZWbw==}
    +    engines: {node: '>= 0.4'}
         dependencies:
           es-errors: 1.3.0
    +    dev: true
     
    -  es-set-tostringtag@2.0.3:
    +  /es-set-tostringtag@2.0.3:
    +    resolution: {integrity: sha512-3T8uNMC3OQTHkFUsFq8r/BwAXLHvU/9O9mE0fBc/MY5iq/8H7ncvO947LmYA6ldWw9Uh8Yhf25zu6n7nML5QWQ==}
    +    engines: {node: '>= 0.4'}
         dependencies:
           get-intrinsic: 1.2.4
           has-tostringtag: 1.0.2
           hasown: 2.0.2
    +    dev: true
     
    -  es-to-primitive@1.2.1:
    +  /es-to-primitive@1.2.1:
    +    resolution: {integrity: sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==}
    +    engines: {node: '>= 0.4'}
         dependencies:
           is-callable: 1.2.7
           is-date-object: 1.0.5
           is-symbol: 1.0.4
    +    dev: true
     
    -  es2015-i18n-tag@1.6.1: {}
    +  /es2015-i18n-tag@1.6.1:
    +    resolution: {integrity: sha512-MYoh9p+JTkgnzBh0MEBON6xUyzdmwT6wzsmmFJvZujGSXiI2kM+3XvFl6+AcIO2eeL6VWgtX9szSiDTMwDxyYA==}
    +    engines: {node: '>= 4.0.0'}
    +    dev: true
     
    -  es5-ext@0.10.64:
    +  /es5-ext@0.10.64:
    +    resolution: {integrity: sha512-p2snDhiLaXe6dahss1LddxqEm+SkuDvV8dnIQG0MWjyHpcMNfXKPE+/Cc0y+PhxJX3A4xGNeFCj5oc0BUh6deg==}
    +    engines: {node: '>=0.10'}
    +    requiresBuild: true
         dependencies:
           es6-iterator: 2.0.3
           es6-symbol: 3.1.4
           esniff: 2.0.1
           next-tick: 1.1.0
    +    dev: true
     
    -  es6-error@4.1.1: {}
    +  /es6-error@4.1.1:
    +    resolution: {integrity: sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg==}
    +    dev: true
     
    -  es6-iterator@2.0.3:
    +  /es6-iterator@2.0.3:
    +    resolution: {integrity: sha512-zw4SRzoUkd+cl+ZoE15A9o1oQd920Bb0iOJMQkQhl3jNc03YqVjAhG7scf9C5KWRU/R13Orf588uCC6525o02g==}
         dependencies:
           d: 1.0.2
           es5-ext: 0.10.64
           es6-symbol: 3.1.4
    +    dev: true
     
    -  es6-symbol@3.1.4:
    +  /es6-symbol@3.1.4:
    +    resolution: {integrity: sha512-U9bFFjX8tFiATgtkJ1zg25+KviIXpgRvRHS8sau3GfhVzThRQrOeksPeT0BWW2MNZs1OEWJ1DPXOQMn0KKRkvg==}
    +    engines: {node: '>=0.12'}
         dependencies:
           d: 1.0.2
           ext: 1.7.0
    +    dev: true
     
    -  es6-weak-map@2.0.3:
    +  /es6-weak-map@2.0.3:
    +    resolution: {integrity: sha512-p5um32HOTO1kP+w7PRnB+5lQ43Z6muuMuIMffvDN8ZB4GcnjLBV6zGStpbASIMk4DCAvEaamhe2zhyCb/QXXsA==}
         dependencies:
           d: 1.0.2
           es5-ext: 0.10.64
           es6-iterator: 2.0.3
           es6-symbol: 3.1.4
    +    dev: true
     
    -  esbuild@0.18.20:
    +  /esbuild@0.18.20:
    +    resolution: {integrity: sha512-ceqxoedUrcayh7Y7ZX6NdbbDzGROiyVBgC4PriJThBKSVPWnnFHZAkfI1lJT8QFkOwH4qOS2SJkS4wvpGl8BpA==}
    +    engines: {node: '>=12'}
    +    hasBin: true
    +    requiresBuild: true
         optionalDependencies:
           '@esbuild/android-arm': 0.18.20
           '@esbuild/android-arm64': 0.18.20
    @@ -14035,34 +8688,13 @@ snapshots:
           '@esbuild/win32-arm64': 0.18.20
           '@esbuild/win32-ia32': 0.18.20
           '@esbuild/win32-x64': 0.18.20
    +    dev: true
     
    -  esbuild@0.19.12:
    -    optionalDependencies:
    -      '@esbuild/aix-ppc64': 0.19.12
    -      '@esbuild/android-arm': 0.19.12
    -      '@esbuild/android-arm64': 0.19.12
    -      '@esbuild/android-x64': 0.19.12
    -      '@esbuild/darwin-arm64': 0.19.12
    -      '@esbuild/darwin-x64': 0.19.12
    -      '@esbuild/freebsd-arm64': 0.19.12
    -      '@esbuild/freebsd-x64': 0.19.12
    -      '@esbuild/linux-arm': 0.19.12
    -      '@esbuild/linux-arm64': 0.19.12
    -      '@esbuild/linux-ia32': 0.19.12
    -      '@esbuild/linux-loong64': 0.19.12
    -      '@esbuild/linux-mips64el': 0.19.12
    -      '@esbuild/linux-ppc64': 0.19.12
    -      '@esbuild/linux-riscv64': 0.19.12
    -      '@esbuild/linux-s390x': 0.19.12
    -      '@esbuild/linux-x64': 0.19.12
    -      '@esbuild/netbsd-x64': 0.19.12
    -      '@esbuild/openbsd-x64': 0.19.12
    -      '@esbuild/sunos-x64': 0.19.12
    -      '@esbuild/win32-arm64': 0.19.12
    -      '@esbuild/win32-ia32': 0.19.12
    -      '@esbuild/win32-x64': 0.19.12
    -
    -  esbuild@0.20.2:
    +  /esbuild@0.20.2:
    +    resolution: {integrity: sha512-WdOOppmUNU+IbZ0PaDiTst80zjnrOkyJNHoKupIcVyU8Lvla3Ugx94VzkQ32Ijqd7UhHJy75gNWDMUekcrSJ6g==}
    +    engines: {node: '>=12'}
    +    hasBin: true
    +    requiresBuild: true
         optionalDependencies:
           '@esbuild/aix-ppc64': 0.20.2
           '@esbuild/android-arm': 0.20.2
    @@ -14087,97 +8719,200 @@ snapshots:
           '@esbuild/win32-arm64': 0.20.2
           '@esbuild/win32-ia32': 0.20.2
           '@esbuild/win32-x64': 0.20.2
    +    dev: true
     
    -  escalade@3.1.2: {}
    +  /esbuild@0.21.5:
    +    resolution: {integrity: sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==}
    +    engines: {node: '>=12'}
    +    hasBin: true
    +    requiresBuild: true
    +    optionalDependencies:
    +      '@esbuild/aix-ppc64': 0.21.5
    +      '@esbuild/android-arm': 0.21.5
    +      '@esbuild/android-arm64': 0.21.5
    +      '@esbuild/android-x64': 0.21.5
    +      '@esbuild/darwin-arm64': 0.21.5
    +      '@esbuild/darwin-x64': 0.21.5
    +      '@esbuild/freebsd-arm64': 0.21.5
    +      '@esbuild/freebsd-x64': 0.21.5
    +      '@esbuild/linux-arm': 0.21.5
    +      '@esbuild/linux-arm64': 0.21.5
    +      '@esbuild/linux-ia32': 0.21.5
    +      '@esbuild/linux-loong64': 0.21.5
    +      '@esbuild/linux-mips64el': 0.21.5
    +      '@esbuild/linux-ppc64': 0.21.5
    +      '@esbuild/linux-riscv64': 0.21.5
    +      '@esbuild/linux-s390x': 0.21.5
    +      '@esbuild/linux-x64': 0.21.5
    +      '@esbuild/netbsd-x64': 0.21.5
    +      '@esbuild/openbsd-x64': 0.21.5
    +      '@esbuild/sunos-x64': 0.21.5
    +      '@esbuild/win32-arm64': 0.21.5
    +      '@esbuild/win32-ia32': 0.21.5
    +      '@esbuild/win32-x64': 0.21.5
    +    dev: true
    +
    +  /escalade@3.1.2:
    +    resolution: {integrity: sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==}
    +    engines: {node: '>=6'}
    +    dev: true
     
    -  escape-html@1.0.3: {}
    +  /escape-html@1.0.3:
    +    resolution: {integrity: sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==}
    +    dev: true
     
    -  escape-string-regexp@1.0.5: {}
    +  /escape-string-regexp@1.0.5:
    +    resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==}
    +    engines: {node: '>=0.8.0'}
    +    dev: true
     
    -  escape-string-regexp@2.0.0: {}
    +  /escape-string-regexp@2.0.0:
    +    resolution: {integrity: sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==}
    +    engines: {node: '>=8'}
    +    dev: true
     
    -  escape-string-regexp@4.0.0: {}
    +  /escape-string-regexp@4.0.0:
    +    resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==}
    +    engines: {node: '>=10'}
    +    dev: true
     
    -  escape-string-regexp@5.0.0: {}
    +  /escape-string-regexp@5.0.0:
    +    resolution: {integrity: sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==}
    +    engines: {node: '>=12'}
    +    dev: true
     
    -  escodegen@1.3.3:
    +  /escodegen@1.3.3:
    +    resolution: {integrity: sha512-z9FWgKc48wjMlpzF5ymKS1AF8OIgnKLp9VyN7KbdtyrP/9lndwUFqCtMm+TAJmJf7KJFFYc4cFJfVTTGkKEwsA==}
    +    engines: {node: '>=0.10.0'}
    +    hasBin: true
         dependencies:
           esprima: 1.1.1
           estraverse: 1.5.1
           esutils: 1.0.0
         optionalDependencies:
           source-map: 0.1.43
    +    dev: true
     
    -  eslint-config-prettier@9.1.0(eslint@8.57.0):
    +  /eslint-config-prettier@9.1.0(eslint@8.57.0):
    +    resolution: {integrity: sha512-NSWl5BFQWEPi1j4TjVNItzYV7dZXZ+wP6I6ZhrBGpChQhZRUaElihE9uRRkcbRnNb76UMKDF3r+WTmNcGPKsqw==}
    +    hasBin: true
    +    peerDependencies:
    +      eslint: '>=7.0.0'
         dependencies:
           eslint: 8.57.0
    +    dev: true
     
    -  eslint-plugin-cypress@2.15.2(eslint@8.57.0):
    +  /eslint-plugin-cypress@2.15.2(eslint@8.57.0):
    +    resolution: {integrity: sha512-CtcFEQTDKyftpI22FVGpx8bkpKyYXBlNge6zSo0pl5/qJvBAnzaD76Vu2AsP16d6mTj478Ldn2mhgrWV+Xr0vQ==}
    +    peerDependencies:
    +      eslint: '>= 3.2.1'
         dependencies:
           eslint: 8.57.0
           globals: 13.24.0
    +    dev: true
     
    -  eslint-plugin-html@8.1.1:
    +  /eslint-plugin-html@8.1.1:
    +    resolution: {integrity: sha512-6qmlJsc40D2m3Dn9oEH+0PAOkJhxVu0f5sVItqpCE0YWgYnyP4xCjBc3UWTHaJcY9ARkWOLIIuXLq0ndRnQOHw==}
    +    engines: {node: '>=16.0.0'}
         dependencies:
           htmlparser2: 9.1.0
    +    dev: true
     
    -  eslint-plugin-jest@27.9.0(@typescript-eslint/eslint-plugin@7.6.0)(eslint@8.57.0)(jest@29.7.0)(typescript@5.4.5):
    +  /eslint-plugin-jest@27.9.0(@typescript-eslint/eslint-plugin@7.13.0)(eslint@8.57.0)(jest@29.7.0)(typescript@5.4.5):
    +    resolution: {integrity: sha512-QIT7FH7fNmd9n4se7FFKHbsLKGQiw885Ds6Y/sxKgCZ6natwCsXdgPOADnYVxN2QrRweF0FZWbJ6S7Rsn7llug==}
    +    engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
    +    peerDependencies:
    +      '@typescript-eslint/eslint-plugin': ^5.0.0 || ^6.0.0 || ^7.0.0
    +      eslint: ^7.0.0 || ^8.0.0
    +      jest: '*'
    +    peerDependenciesMeta:
    +      '@typescript-eslint/eslint-plugin':
    +        optional: true
    +      jest:
    +        optional: true
         dependencies:
    -      '@typescript-eslint/eslint-plugin': 7.6.0(@typescript-eslint/parser@7.6.0)(eslint@8.57.0)(typescript@5.4.5)
    +      '@typescript-eslint/eslint-plugin': 7.13.0(@typescript-eslint/parser@7.13.0)(eslint@8.57.0)(typescript@5.4.5)
           '@typescript-eslint/utils': 5.62.0(eslint@8.57.0)(typescript@5.4.5)
           eslint: 8.57.0
    -      jest: 29.7.0(@types/node@20.12.7)
    +      jest: 29.7.0(@types/node@20.14.2)
         transitivePeerDependencies:
           - supports-color
           - typescript
    +    dev: true
     
    -  eslint-plugin-jsdoc@48.2.3(eslint@8.57.0):
    +  /eslint-plugin-jsdoc@48.2.9(eslint@8.57.0):
    +    resolution: {integrity: sha512-ErpKyr2mEUEkcdZ4nwW/cvDjClvAcvJMEXkGGll0wf8sro8h6qeQ3qlZyp1vM1dRk8Ap6rMdke8FnP94QBIaVQ==}
    +    engines: {node: '>=18'}
    +    peerDependencies:
    +      eslint: ^7.0.0 || ^8.0.0 || ^9.0.0
         dependencies:
    -      '@es-joy/jsdoccomment': 0.42.0
    +      '@es-joy/jsdoccomment': 0.43.1
           are-docs-informative: 0.0.2
           comment-parser: 1.4.1
    -      debug: 4.3.4(supports-color@8.1.1)
    +      debug: 4.3.5(supports-color@8.1.1)
           escape-string-regexp: 4.0.0
           eslint: 8.57.0
           esquery: 1.5.0
    -      is-builtin-module: 3.2.1
    -      semver: 7.6.0
    +      semver: 7.6.2
           spdx-expression-parse: 4.0.0
         transitivePeerDependencies:
           - supports-color
    +    dev: true
     
    -  eslint-plugin-json@3.1.0:
    +  /eslint-plugin-json@3.1.0:
    +    resolution: {integrity: sha512-MrlG2ynFEHe7wDGwbUuFPsaT2b1uhuEFhJ+W1f1u+1C2EkXmTYJp4B1aAdQQ8M+CC3t//N/oRKiIVw14L2HR1g==}
    +    engines: {node: '>=12.0'}
         dependencies:
           lodash: 4.17.21
           vscode-json-languageservice: 4.2.1
    +    dev: true
     
    -  eslint-plugin-lodash@7.4.0(eslint@8.57.0):
    +  /eslint-plugin-lodash@7.4.0(eslint@8.57.0):
    +    resolution: {integrity: sha512-Tl83UwVXqe1OVeBRKUeWcfg6/pCW1GTRObbdnbEJgYwjxp5Q92MEWQaH9+dmzbRt6kvYU1Mp893E79nJiCSM8A==}
    +    engines: {node: '>=10'}
    +    peerDependencies:
    +      eslint: '>=2'
         dependencies:
           eslint: 8.57.0
           lodash: 4.17.21
    +    dev: true
     
    -  eslint-plugin-markdown@4.0.1(eslint@8.57.0):
    +  /eslint-plugin-markdown@4.0.1(eslint@8.57.0):
    +    resolution: {integrity: sha512-5/MnGvYU0i8MbHH5cg8S+Vl3DL+bqRNYshk1xUO86DilNBaxtTkhH+5FD0/yO03AmlI6+lfNFdk2yOw72EPzpA==}
    +    engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
    +    peerDependencies:
    +      eslint: '>=8'
         dependencies:
           eslint: 8.57.0
           mdast-util-from-markdown: 0.8.5
         transitivePeerDependencies:
           - supports-color
    +    dev: true
     
    -  eslint-plugin-no-only-tests@3.1.0: {}
    +  /eslint-plugin-no-only-tests@3.1.0:
    +    resolution: {integrity: sha512-Lf4YW/bL6Un1R6A76pRZyE1dl1vr31G/ev8UzIc/geCgFWyrKil8hVjYqWVKGB/UIGmb6Slzs9T0wNezdSVegw==}
    +    engines: {node: '>=5.0.0'}
    +    dev: true
     
    -  eslint-plugin-tsdoc@0.2.17:
    +  /eslint-plugin-tsdoc@0.2.17:
    +    resolution: {integrity: sha512-xRmVi7Zx44lOBuYqG8vzTXuL6IdGOeF9nHX17bjJ8+VE6fsxpdGem0/SBTmAwgYMKYB1WBkqRJVQ+n8GK041pA==}
         dependencies:
           '@microsoft/tsdoc': 0.14.2
           '@microsoft/tsdoc-config': 0.16.2
    +    dev: true
     
    -  eslint-plugin-unicorn@51.0.1(eslint@8.57.0):
    +  /eslint-plugin-unicorn@51.0.1(eslint@8.57.0):
    +    resolution: {integrity: sha512-MuR/+9VuB0fydoI0nIn2RDA5WISRn4AsJyNSaNKLVwie9/ONvQhxOBbkfSICBPnzKrB77Fh6CZZXjgTt/4Latw==}
    +    engines: {node: '>=16'}
    +    peerDependencies:
    +      eslint: '>=8.56.0'
         dependencies:
    -      '@babel/helper-validator-identifier': 7.22.20
    +      '@babel/helper-validator-identifier': 7.24.7
           '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0)
           '@eslint/eslintrc': 2.1.4
           ci-info: 4.0.0
           clean-regexp: 1.0.0
    -      core-js-compat: 3.36.0
    +      core-js-compat: 3.37.1
           eslint: 8.57.0
           esquery: 1.5.0
           indent-string: 4.0.0
    @@ -14187,29 +8922,45 @@ snapshots:
           read-pkg-up: 7.0.1
           regexp-tree: 0.1.27
           regjsparser: 0.10.0
    -      semver: 7.6.0
    +      semver: 7.6.2
           strip-indent: 3.0.0
         transitivePeerDependencies:
           - supports-color
    +    dev: true
     
    -  eslint-scope@5.1.1:
    +  /eslint-scope@5.1.1:
    +    resolution: {integrity: sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==}
    +    engines: {node: '>=8.0.0'}
         dependencies:
           esrecurse: 4.3.0
           estraverse: 4.3.0
    +    dev: true
     
    -  eslint-scope@7.2.2:
    +  /eslint-scope@7.2.2:
    +    resolution: {integrity: sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==}
    +    engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
         dependencies:
           esrecurse: 4.3.0
           estraverse: 5.3.0
    +    dev: true
     
    -  eslint-visitor-keys@3.4.3: {}
    +  /eslint-visitor-keys@3.4.3:
    +    resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==}
    +    engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
    +    dev: true
     
    -  eslint-visitor-keys@4.0.0: {}
    +  /eslint-visitor-keys@4.0.0:
    +    resolution: {integrity: sha512-OtIRv/2GyiF6o/d8K7MYKKbXrOUBIK6SfkIRM4Z0dY3w+LiQ0vy3F57m0Z71bjbyeiWFiHJ8brqnmE6H6/jEuw==}
    +    engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
    +    dev: true
     
    -  eslint@8.57.0:
    +  /eslint@8.57.0:
    +    resolution: {integrity: sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==}
    +    engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
    +    hasBin: true
         dependencies:
           '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0)
    -      '@eslint-community/regexpp': 4.10.0
    +      '@eslint-community/regexpp': 4.10.1
           '@eslint/eslintrc': 2.1.4
           '@eslint/js': 8.57.0
           '@humanwhocodes/config-array': 0.11.14
    @@ -14219,7 +8970,7 @@ snapshots:
           ajv: 6.12.6
           chalk: 4.1.2
           cross-spawn: 7.0.3
    -      debug: 4.3.4(supports-color@8.1.1)
    +      debug: 4.3.5(supports-color@8.1.1)
           doctrine: 3.0.0
           escape-string-regexp: 4.0.0
           eslint-scope: 7.2.2
    @@ -14243,69 +8994,119 @@ snapshots:
           lodash.merge: 4.6.2
           minimatch: 3.1.2
           natural-compare: 1.4.0
    -      optionator: 0.9.3
    +      optionator: 0.9.4
           strip-ansi: 6.0.1
           text-table: 0.2.0
         transitivePeerDependencies:
           - supports-color
    +    dev: true
     
    -  esniff@2.0.1:
    +  /esniff@2.0.1:
    +    resolution: {integrity: sha512-kTUIGKQ/mDPFoJ0oVfcmyJn4iBDRptjNVIzwIFR7tqWXdVI9xfA2RMwY/gbSpJG3lkdWNEjLap/NqVHZiJsdfg==}
    +    engines: {node: '>=0.10'}
         dependencies:
           d: 1.0.2
           es5-ext: 0.10.64
           event-emitter: 0.3.5
    -      type: 2.7.2
    +      type: 2.7.3
    +    dev: true
     
    -  espree@10.0.1:
    +  /espree@10.0.1:
    +    resolution: {integrity: sha512-MWkrWZbJsL2UwnjxTX3gG8FneachS/Mwg7tdGXce011sJd5b0JG54vat5KHnfSBODZ3Wvzd2WnjxyzsRoVv+ww==}
    +    engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
         dependencies:
           acorn: 8.11.3
           acorn-jsx: 5.3.2(acorn@8.11.3)
           eslint-visitor-keys: 4.0.0
    +    dev: true
     
    -  espree@9.6.1:
    +  /espree@9.6.1:
    +    resolution: {integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==}
    +    engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
         dependencies:
           acorn: 8.11.3
           acorn-jsx: 5.3.2(acorn@8.11.3)
           eslint-visitor-keys: 3.4.3
    +    dev: true
     
    -  esprima@1.1.1: {}
    +  /esprima@1.1.1:
    +    resolution: {integrity: sha512-qxxB994/7NtERxgXdFgLHIs9M6bhLXc6qtUmWZ3L8+gTQ9qaoyki2887P2IqAYsoENyr8SUbTutStDniOHSDHg==}
    +    engines: {node: '>=0.4.0'}
    +    hasBin: true
    +    dev: true
     
    -  esprima@4.0.1: {}
    +  /esprima@4.0.1:
    +    resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==}
    +    engines: {node: '>=4'}
    +    hasBin: true
    +    dev: true
     
    -  esquery@1.5.0:
    +  /esquery@1.5.0:
    +    resolution: {integrity: sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==}
    +    engines: {node: '>=0.10'}
         dependencies:
           estraverse: 5.3.0
    +    dev: true
     
    -  esrecurse@4.3.0:
    +  /esrecurse@4.3.0:
    +    resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==}
    +    engines: {node: '>=4.0'}
         dependencies:
           estraverse: 5.3.0
    +    dev: true
     
    -  estraverse@1.5.1: {}
    +  /estraverse@1.5.1:
    +    resolution: {integrity: sha512-FpCjJDfmo3vsc/1zKSeqR5k42tcIhxFIlvq+h9j0fO2q/h2uLKyweq7rYJ+0CoVvrGQOxIS5wyBrW/+vF58BUQ==}
    +    engines: {node: '>=0.4.0'}
    +    dev: true
     
    -  estraverse@4.3.0: {}
    +  /estraverse@4.3.0:
    +    resolution: {integrity: sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==}
    +    engines: {node: '>=4.0'}
    +    dev: true
     
    -  estraverse@5.3.0: {}
    +  /estraverse@5.3.0:
    +    resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==}
    +    engines: {node: '>=4.0'}
    +    dev: true
     
    -  estree-walker@1.0.1: {}
    +  /estree-walker@1.0.1:
    +    resolution: {integrity: sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg==}
    +    dev: true
     
    -  estree-walker@2.0.2: {}
    +  /estree-walker@2.0.2:
    +    resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==}
     
    -  estree-walker@3.0.3:
    +  /estree-walker@3.0.3:
    +    resolution: {integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==}
         dependencies:
           '@types/estree': 1.0.5
    +    dev: true
     
    -  esutils@1.0.0: {}
    +  /esutils@1.0.0:
    +    resolution: {integrity: sha512-x/iYH53X3quDwfHRz4y8rn4XcEwwCJeWsul9pF1zldMbGtgOtMNBEOuYWwB1EQlK2LRa1fev3YAgym/RElp5Cg==}
    +    engines: {node: '>=0.10.0'}
    +    dev: true
     
    -  esutils@2.0.3: {}
    +  /esutils@2.0.3:
    +    resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==}
    +    engines: {node: '>=0.10.0'}
    +    dev: true
     
    -  etag@1.8.1: {}
    +  /etag@1.8.1:
    +    resolution: {integrity: sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==}
    +    engines: {node: '>= 0.6'}
    +    dev: true
     
    -  event-emitter@0.3.5:
    +  /event-emitter@0.3.5:
    +    resolution: {integrity: sha512-D9rRn9y7kLPnJ+hMq7S/nhvoKwwvVJahBi2BPmx3bvbsEdK3W9ii8cBSGjP+72/LnM4n6fo3+dkCX5FeTQruXA==}
         dependencies:
           d: 1.0.2
           es5-ext: 0.10.64
    +    dev: true
     
    -  event-stream@3.3.4:
    +  /event-stream@3.3.4:
    +    resolution: {integrity: sha512-QHpkERcGsR0T7Qm3HNJSyXKEEj8AHNxkY3PK8TS2KJvQ7NiSHe3DDpwVKKtoYprL/AreyzFBeIkBIWChAqn60g==}
         dependencies:
           duplexer: 0.1.2
           from: 0.1.7
    @@ -14314,18 +9115,31 @@ snapshots:
           split: 0.3.3
           stream-combiner: 0.0.4
           through: 2.3.8
    +    dev: true
     
    -  event-target-shim@5.0.1: {}
    +  /event-target-shim@5.0.1:
    +    resolution: {integrity: sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==}
    +    engines: {node: '>=6'}
     
    -  eventemitter2@6.4.7: {}
    +  /eventemitter2@6.4.7:
    +    resolution: {integrity: sha512-tYUSVOGeQPKt/eC1ABfhHy5Xd96N3oIijJvN3O9+TsC28T5V9yX9oEfEK5faP0EFSNVOG97qtAS68GBrQB2hDg==}
    +    dev: true
     
    -  eventemitter3@4.0.7: {}
    +  /eventemitter3@4.0.7:
    +    resolution: {integrity: sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==}
    +    dev: true
     
    -  eventemitter3@5.0.1: {}
    +  /eventemitter3@5.0.1:
    +    resolution: {integrity: sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA==}
    +    dev: true
     
    -  events@3.3.0: {}
    +  /events@3.3.0:
    +    resolution: {integrity: sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==}
    +    engines: {node: '>=0.8.x'}
     
    -  execa@1.0.0:
    +  /execa@1.0.0:
    +    resolution: {integrity: sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==}
    +    engines: {node: '>=6'}
         dependencies:
           cross-spawn: 6.0.5
           get-stream: 4.1.0
    @@ -14334,8 +9148,11 @@ snapshots:
           p-finally: 1.0.0
           signal-exit: 3.0.7
           strip-eof: 1.0.0
    +    dev: true
     
    -  execa@4.1.0:
    +  /execa@4.1.0:
    +    resolution: {integrity: sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA==}
    +    engines: {node: '>=10'}
         dependencies:
           cross-spawn: 7.0.3
           get-stream: 5.2.0
    @@ -14346,8 +9163,11 @@ snapshots:
           onetime: 5.1.2
           signal-exit: 3.0.7
           strip-final-newline: 2.0.0
    +    dev: true
     
    -  execa@5.1.1:
    +  /execa@5.1.1:
    +    resolution: {integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==}
    +    engines: {node: '>=10'}
         dependencies:
           cross-spawn: 7.0.3
           get-stream: 6.0.1
    @@ -14358,8 +9178,11 @@ snapshots:
           onetime: 5.1.2
           signal-exit: 3.0.7
           strip-final-newline: 2.0.0
    +    dev: true
     
    -  execa@8.0.1:
    +  /execa@8.0.1:
    +    resolution: {integrity: sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==}
    +    engines: {node: '>=16.17'}
         dependencies:
           cross-spawn: 7.0.3
           get-stream: 8.0.1
    @@ -14370,58 +9193,34 @@ snapshots:
           onetime: 6.0.0
           signal-exit: 4.1.0
           strip-final-newline: 3.0.0
    +    dev: true
     
    -  executable@4.1.1:
    +  /executable@4.1.1:
    +    resolution: {integrity: sha512-8iA79xD3uAch729dUG8xaaBBFGaEa0wdD2VkYLFHwlqosEj/jT66AzcreRDSgV7ehnNLBW2WR5jIXwGKjVdTLg==}
    +    engines: {node: '>=4'}
         dependencies:
           pify: 2.3.0
    +    dev: true
     
    -  exit@0.1.2: {}
    +  /exit@0.1.2:
    +    resolution: {integrity: sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==}
    +    engines: {node: '>= 0.8.0'}
    +    dev: true
     
    -  expect@29.7.0:
    +  /expect@29.7.0:
    +    resolution: {integrity: sha512-2Zks0hf1VLFYI1kbh0I5jP3KHHyCHpkfyHBzsSXRFgl/Bg9mWYfMW8oD+PdMPlEwy5HNsR9JutYy6pMeOh61nw==}
    +    engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
         dependencies:
           '@jest/expect-utils': 29.7.0
           jest-get-type: 29.6.3
           jest-matcher-utils: 29.7.0
           jest-message-util: 29.7.0
           jest-util: 29.7.0
    +    dev: true
     
    -  express@4.19.1:
    -    dependencies:
    -      accepts: 1.3.8
    -      array-flatten: 1.1.1
    -      body-parser: 1.20.2
    -      content-disposition: 0.5.4
    -      content-type: 1.0.5
    -      cookie: 0.6.0
    -      cookie-signature: 1.0.6
    -      debug: 2.6.9
    -      depd: 2.0.0
    -      encodeurl: 1.0.2
    -      escape-html: 1.0.3
    -      etag: 1.8.1
    -      finalhandler: 1.2.0
    -      fresh: 0.5.2
    -      http-errors: 2.0.0
    -      merge-descriptors: 1.0.1
    -      methods: 1.1.2
    -      on-finished: 2.4.1
    -      parseurl: 1.3.3
    -      path-to-regexp: 0.1.7
    -      proxy-addr: 2.0.7
    -      qs: 6.11.0
    -      range-parser: 1.2.1
    -      safe-buffer: 5.2.1
    -      send: 0.18.0
    -      serve-static: 1.15.0
    -      setprototypeof: 1.2.0
    -      statuses: 2.0.1
    -      type-is: 1.6.18
    -      utils-merge: 1.0.1
    -      vary: 1.1.2
    -    transitivePeerDependencies:
    -      - supports-color
    -
    -  express@4.19.2:
    +  /express@4.19.2:
    +    resolution: {integrity: sha512-5T6nhjsT+EOMzuck8JjBHARTHfMht0POzlA60WV2pMD3gyXw2LZnZ+ueGdNxG+0calOJcWKbpFcuzLZ91YWq9Q==}
    +    engines: {node: '>= 0.10.0'}
         dependencies:
           accepts: 1.3.8
           array-flatten: 1.1.1
    @@ -14456,63 +9255,105 @@ snapshots:
           vary: 1.1.2
         transitivePeerDependencies:
           - supports-color
    +    dev: true
     
    -  ext@1.7.0:
    +  /ext@1.7.0:
    +    resolution: {integrity: sha512-6hxeJYaL110a9b5TEJSj0gojyHQAmA2ch5Os+ySCiA1QGdS697XWY1pzsrSjqA9LDEEgdB/KypIlR59RcLuHYw==}
         dependencies:
    -      type: 2.7.2
    +      type: 2.7.3
    +    dev: true
     
    -  extend@3.0.2: {}
    +  /extend@3.0.2:
    +    resolution: {integrity: sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==}
    +    dev: true
     
    -  extract-zip@2.0.1(supports-color@8.1.1):
    +  /extract-zip@2.0.1(supports-color@8.1.1):
    +    resolution: {integrity: sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg==}
    +    engines: {node: '>= 10.17.0'}
    +    hasBin: true
         dependencies:
    -      debug: 4.3.4(supports-color@8.1.1)
    +      debug: 4.3.5(supports-color@8.1.1)
           get-stream: 5.2.0
           yauzl: 2.10.0
         optionalDependencies:
           '@types/yauzl': 2.10.3
         transitivePeerDependencies:
           - supports-color
    +    dev: true
     
    -  extsprintf@1.3.0: {}
    +  /extsprintf@1.3.0:
    +    resolution: {integrity: sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g==}
    +    engines: {'0': node >=0.6.0}
    +    dev: true
     
    -  fast-content-type-parse@1.1.0: {}
    +  /fast-content-type-parse@1.1.0:
    +    resolution: {integrity: sha512-fBHHqSTFLVnR61C+gltJuE5GkVQMV0S2nqUO8TJ+5Z3qAKG8vAx4FKai1s5jq/inV1+sREynIWSuQ6HgoSXpDQ==}
    +    dev: true
     
    -  fast-decode-uri-component@1.0.1: {}
    +  /fast-decode-uri-component@1.0.1:
    +    resolution: {integrity: sha512-WKgKWg5eUxvRZGwW8FvfbaH7AXSh2cL+3j5fMGzUMCxWBJ3dV3a7Wz8y2f/uQ0e3B6WmodD3oS54jTQ9HVTIIg==}
    +    dev: true
     
    -  fast-deep-equal@3.1.3: {}
    +  /fast-deep-equal@3.1.3:
    +    resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==}
    +    dev: true
     
    -  fast-equals@5.0.1: {}
    +  /fast-equals@5.0.1:
    +    resolution: {integrity: sha512-WF1Wi8PwwSY7/6Kx0vKXtw8RwuSGoM1bvDaJbu7MxDlR1vovZjIAKrnzyrThgAjm6JDTu0fVgWXDlMGspodfoQ==}
    +    engines: {node: '>=6.0.0'}
    +    dev: true
     
    -  fast-glob@3.3.2:
    +  /fast-glob@3.3.2:
    +    resolution: {integrity: sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==}
    +    engines: {node: '>=8.6.0'}
         dependencies:
           '@nodelib/fs.stat': 2.0.5
           '@nodelib/fs.walk': 1.2.8
           glob-parent: 5.1.2
           merge2: 1.4.1
    -      micromatch: 4.0.5
    +      micromatch: 4.0.7
     
    -  fast-json-stable-stringify@2.1.0: {}
    +  /fast-json-stable-stringify@2.1.0:
    +    resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==}
    +    dev: true
     
    -  fast-json-stringify@2.7.13:
    +  /fast-json-stringify@2.7.13:
    +    resolution: {integrity: sha512-ar+hQ4+OIurUGjSJD1anvYSDcUflywhKjfxnsW4TBTD7+u0tJufv6DKRWoQk3vI6YBOWMoz0TQtfbe7dxbQmvA==}
    +    engines: {node: '>= 10.0.0'}
         dependencies:
           ajv: 6.12.6
           deepmerge: 4.3.1
    -      rfdc: 1.3.1
    +      rfdc: 1.4.1
           string-similarity: 4.0.4
    +    dev: true
     
    -  fast-levenshtein@2.0.6: {}
    +  /fast-levenshtein@2.0.6:
    +    resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==}
    +    dev: true
     
    -  fast-redact@3.5.0: {}
    +  /fast-redact@3.5.0:
    +    resolution: {integrity: sha512-dwsoQlS7h9hMeYUq1W++23NDcBLV4KqONnITDV9DjfS3q1SgDGVrBdvvTLUotWtPSD7asWDV9/CmsZPy8Hf70A==}
    +    engines: {node: '>=6'}
     
    -  fast-safe-stringify@2.1.1: {}
    +  /fast-safe-stringify@2.1.1:
    +    resolution: {integrity: sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==}
    +    dev: true
     
    -  fastest-levenshtein@1.0.16: {}
    +  /fastest-levenshtein@1.0.16:
    +    resolution: {integrity: sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg==}
    +    engines: {node: '>= 4.9.1'}
    +    dev: true
     
    -  fastestsmallesttextencoderdecoder@1.0.22: {}
    +  /fastestsmallesttextencoderdecoder@1.0.22:
    +    resolution: {integrity: sha512-Pb8d48e+oIuY4MaM64Cd7OW1gt4nxCHs7/ddPPZ/Ic3sg8yVGM7O9wDvZ7us6ScaUupzM+pfBolwtYhN1IxBIw==}
    +    dev: true
     
    -  fastify-plugin@3.0.1: {}
    +  /fastify-plugin@3.0.1:
    +    resolution: {integrity: sha512-qKcDXmuZadJqdTm6vlCqioEbyewF60b/0LOFCcYN1B6BIZGlYJumWWOYs70SFYLDAH4YqdE1cxH/RKMG7rFxgA==}
    +    dev: true
     
    -  fastify@3.29.5:
    +  /fastify@3.29.5:
    +    resolution: {integrity: sha512-FBDgb1gkenZxxh4sTD6AdI6mFnZnsgckpjIXzIvfLSYCa4isfQeD8QWGPib63dxq6btnY0l1j8I0xYhMvUb+sw==}
         dependencies:
           '@fastify/ajv-compiler': 1.1.0
           '@fastify/error': 2.0.0
    @@ -14526,69 +9367,104 @@ snapshots:
           pino: 6.14.0
           process-warning: 1.0.0
           proxy-addr: 2.0.7
    -      rfdc: 1.3.1
    +      rfdc: 1.4.1
           secure-json-parse: 2.7.0
    -      semver: 7.6.0
    +      semver: 7.5.4
           tiny-lru: 8.0.2
         transitivePeerDependencies:
           - supports-color
    +    dev: true
     
    -  fastq@1.17.1:
    +  /fastq@1.17.1:
    +    resolution: {integrity: sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==}
         dependencies:
           reusify: 1.0.4
     
    -  fault@2.0.1:
    +  /fault@2.0.1:
    +    resolution: {integrity: sha512-WtySTkS4OKev5JtpHXnib4Gxiurzh5NCGvWrFaZ34m6JehfTUhKZvn9njTfw48t6JumVQOmrKqpmGcdwxnhqBQ==}
         dependencies:
           format: 0.2.2
    +    dev: true
     
    -  faye-websocket@0.11.4:
    +  /faye-websocket@0.11.4:
    +    resolution: {integrity: sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g==}
    +    engines: {node: '>=0.8.0'}
         dependencies:
           websocket-driver: 0.7.4
    +    dev: true
     
    -  fb-watchman@2.0.2:
    +  /fb-watchman@2.0.2:
    +    resolution: {integrity: sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==}
         dependencies:
           bser: 2.1.1
    +    dev: true
     
    -  fd-slicer@1.1.0:
    +  /fd-slicer@1.1.0:
    +    resolution: {integrity: sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==}
         dependencies:
           pend: 1.2.0
    +    dev: true
     
    -  ferrum@1.9.4:
    +  /ferrum@1.9.4:
    +    resolution: {integrity: sha512-ooNerLoIht/dK4CQJux93z/hnt9JysrXniJCI3r6YRgmHeXC57EJ8XaTCT1Gm8LfhIAeWxyJA0O7d/W3pqDYRg==}
         dependencies:
           fastestsmallesttextencoderdecoder: 1.0.22
           lodash.isplainobject: 4.0.6
           xxhashjs: 0.2.2
    +    dev: true
     
    -  fetch-blob@3.2.0:
    +  /fetch-blob@3.2.0:
    +    resolution: {integrity: sha512-7yAQpD2UMJzLi1Dqv7qFYnPbaPx7ZfFK6PiIxQ4PfkGPyNyl2Ugx+a/umUonmKqjhM4DnfbMvdX6otXq83soQQ==}
    +    engines: {node: ^12.20 || >= 14.13}
         dependencies:
           node-domexception: 1.0.0
           web-streams-polyfill: 3.3.3
    +    dev: true
     
    -  fflate@0.8.2: {}
    +  /fflate@0.8.2:
    +    resolution: {integrity: sha512-cPJU47OaAoCbg0pBvzsgpTPhmhqI5eJjh/JIu8tPj5q+T7iLvW/JAYUqmE7KOB4R1ZyEhzBaIQpQpardBF5z8A==}
    +    dev: true
     
    -  figures@3.2.0:
    +  /figures@3.2.0:
    +    resolution: {integrity: sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==}
    +    engines: {node: '>=8'}
         dependencies:
           escape-string-regexp: 1.0.5
    +    dev: true
     
    -  file-entry-cache@6.0.1:
    +  /file-entry-cache@6.0.1:
    +    resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==}
    +    engines: {node: ^10.12.0 || >=12.0.0}
         dependencies:
           flat-cache: 3.2.0
    +    dev: true
     
    -  file-entry-cache@8.0.0:
    +  /file-entry-cache@8.0.0:
    +    resolution: {integrity: sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==}
    +    engines: {node: '>=16.0.0'}
         dependencies:
           flat-cache: 4.0.1
    +    dev: true
     
    -  file-saver@2.0.5: {}
    +  /file-saver@2.0.5:
    +    resolution: {integrity: sha512-P9bmyZ3h/PRG+Nzga+rbdI4OEpNDzAVyy74uVO9ATgzLK6VtAsYybF/+TOCvrc0MO793d6+42lLyZTw7/ArVzA==}
    +    dev: false
     
    -  filelist@1.0.4:
    +  /filelist@1.0.4:
    +    resolution: {integrity: sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==}
         dependencies:
           minimatch: 5.1.6
    +    dev: true
     
    -  fill-range@7.0.1:
    +  /fill-range@7.1.1:
    +    resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==}
    +    engines: {node: '>=8'}
         dependencies:
           to-regex-range: 5.0.1
     
    -  finalhandler@1.2.0:
    +  /finalhandler@1.2.0:
    +    resolution: {integrity: sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==}
    +    engines: {node: '>= 0.8'}
         dependencies:
           debug: 2.6.9
           encodeurl: 1.0.2
    @@ -14599,258 +9475,435 @@ snapshots:
           unpipe: 1.0.0
         transitivePeerDependencies:
           - supports-color
    +    dev: true
     
    -  find-cache-dir@3.3.2:
    +  /find-cache-dir@3.3.2:
    +    resolution: {integrity: sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==}
    +    engines: {node: '>=8'}
         dependencies:
           commondir: 1.0.1
           make-dir: 3.1.0
           pkg-dir: 4.2.0
    +    dev: true
     
    -  find-cache-dir@4.0.0:
    +  /find-cache-dir@4.0.0:
    +    resolution: {integrity: sha512-9ZonPT4ZAK4a+1pUPVPZJapbi7O5qbbJPdYw/NOQWZZbVLdDTYM3A4R9z/DpAM08IDaFGsvPgiGZ82WEwUDWjg==}
    +    engines: {node: '>=14.16'}
         dependencies:
           common-path-prefix: 3.0.0
           pkg-dir: 7.0.0
    +    dev: true
     
    -  find-my-way@4.5.1:
    +  /find-my-way@4.5.1:
    +    resolution: {integrity: sha512-kE0u7sGoUFbMXcOG/xpkmz4sRLCklERnBcg7Ftuu1iAxsfEt2S46RLJ3Sq7vshsEy2wJT2hZxE58XZK27qa8kg==}
    +    engines: {node: '>=10'}
         dependencies:
           fast-decode-uri-component: 1.0.1
           fast-deep-equal: 3.1.3
           safe-regex2: 2.0.0
           semver-store: 0.3.0
    +    dev: true
     
    -  find-process@1.4.7:
    +  /find-process@1.4.7:
    +    resolution: {integrity: sha512-/U4CYp1214Xrp3u3Fqr9yNynUrr5Le4y0SsJh2lMDDSbpwYSz3M2SMWQC+wqcx79cN8PQtHQIL8KnuY9M66fdg==}
    +    hasBin: true
         dependencies:
           chalk: 4.1.2
           commander: 5.1.0
    -      debug: 4.3.4(supports-color@8.1.1)
    +      debug: 4.3.5(supports-color@8.1.1)
         transitivePeerDependencies:
           - supports-color
    +    dev: true
     
    -  find-up-simple@1.0.0: {}
    +  /find-up-simple@1.0.0:
    +    resolution: {integrity: sha512-q7Us7kcjj2VMePAa02hDAF6d+MzsdsAWEwYyOpwUtlerRBkOEPBCRZrAV4XfcSN8fHAgaD0hP7miwoay6DCprw==}
    +    engines: {node: '>=18'}
    +    dev: true
     
    -  find-up@3.0.0:
    +  /find-up@3.0.0:
    +    resolution: {integrity: sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==}
    +    engines: {node: '>=6'}
         dependencies:
           locate-path: 3.0.0
    +    dev: true
     
    -  find-up@4.1.0:
    +  /find-up@4.1.0:
    +    resolution: {integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==}
    +    engines: {node: '>=8'}
         dependencies:
           locate-path: 5.0.0
           path-exists: 4.0.0
    +    dev: true
     
    -  find-up@5.0.0:
    +  /find-up@5.0.0:
    +    resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==}
    +    engines: {node: '>=10'}
         dependencies:
           locate-path: 6.0.0
           path-exists: 4.0.0
    +    dev: true
     
    -  find-up@6.3.0:
    +  /find-up@6.3.0:
    +    resolution: {integrity: sha512-v2ZsoEuVHYy8ZIlYqwPe/39Cy+cFDzp4dXPaxNvkEuouymu+2Jbz0PxpKarJHYJTmv2HWT3O382qY8l4jMWthw==}
    +    engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
         dependencies:
           locate-path: 7.2.0
           path-exists: 5.0.0
    +    dev: true
     
    -  flat-cache@3.2.0:
    +  /flat-cache@3.2.0:
    +    resolution: {integrity: sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==}
    +    engines: {node: ^10.12.0 || >=12.0.0}
         dependencies:
           flatted: 3.3.1
           keyv: 4.5.4
           rimraf: 3.0.2
    +    dev: true
     
    -  flat-cache@4.0.1:
    +  /flat-cache@4.0.1:
    +    resolution: {integrity: sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==}
    +    engines: {node: '>=16'}
         dependencies:
           flatted: 3.3.1
           keyv: 4.5.4
    +    dev: true
    +
    +  /flat@5.0.2:
    +    resolution: {integrity: sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==}
    +    hasBin: true
    +    dev: true
     
    -  flatstr@1.0.12: {}
    +  /flatstr@1.0.12:
    +    resolution: {integrity: sha512-4zPxDyhCyiN2wIAtSLI6gc82/EjqZc1onI4Mz/l0pWrAlsSfYH/2ZIcU+e3oA2wDwbzIWNKwa23F8rh6+DRWkw==}
    +    dev: true
     
    -  flatted@3.3.1: {}
    +  /flatted@3.3.1:
    +    resolution: {integrity: sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==}
    +    dev: true
     
    -  flexsearch@0.7.43: {}
    +  /flexsearch@0.7.43:
    +    resolution: {integrity: sha512-c5o/+Um8aqCSOXGcZoqZOm+NqtVwNsvVpWv6lfmSclU954O3wvQKxxK8zj74fPaSJbXpSLTs4PRhh+wnoCXnKg==}
    +    dev: true
     
    -  focus-trap@7.5.4:
    +  /focus-trap@7.5.4:
    +    resolution: {integrity: sha512-N7kHdlgsO/v+iD/dMoJKtsSqs5Dz/dXZVebRgJw23LDk+jMi/974zyiOYDziY2JPp8xivq9BmUGwIJMiuSBi7w==}
         dependencies:
           tabbable: 6.2.0
    +    dev: true
     
    -  follow-redirects@1.15.5(debug@4.3.4):
    +  /follow-redirects@1.15.6(debug@4.3.5):
    +    resolution: {integrity: sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA==}
    +    engines: {node: '>=4.0'}
    +    peerDependencies:
    +      debug: '*'
    +    peerDependenciesMeta:
    +      debug:
    +        optional: true
         dependencies:
    -      debug: 4.3.4(supports-color@8.1.1)
    +      debug: 4.3.5(supports-color@8.1.1)
    +    dev: true
     
    -  font-awesome@4.7.0: {}
    +  /font-awesome@4.7.0:
    +    resolution: {integrity: sha512-U6kGnykA/6bFmg1M/oT9EkFeIYv7JlX3bozwQJWiiLz6L0w3F5vBVPxHlwyX/vtNq1ckcpRKOB9f2Qal/VtFpg==}
    +    engines: {node: '>=0.10.3'}
    +    dev: false
     
    -  for-each@0.3.3:
    +  /for-each@0.3.3:
    +    resolution: {integrity: sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==}
         dependencies:
           is-callable: 1.2.7
    +    dev: true
     
    -  foreground-child@2.0.0:
    +  /foreground-child@2.0.0:
    +    resolution: {integrity: sha512-dCIq9FpEcyQyXKCkyzmlPTFNgrCzPudOe+mhvJU5zAtlBnGVy2yKxtfsxK2tQBThwq225jcvBjpw1Gr40uzZCA==}
    +    engines: {node: '>=8.0.0'}
         dependencies:
           cross-spawn: 7.0.3
           signal-exit: 3.0.7
    +    dev: true
     
    -  foreground-child@3.1.1:
    +  /foreground-child@3.2.0:
    +    resolution: {integrity: sha512-CrWQNaEl1/6WeZoarcM9LHupTo3RpZO2Pdk1vktwzPiQTsJnAKJmm3TACKeG5UZbWDfaH2AbvYxzP96y0MT7fA==}
    +    engines: {node: '>=14'}
         dependencies:
           cross-spawn: 7.0.3
           signal-exit: 4.1.0
     
    -  forever-agent@0.6.1: {}
    +  /forever-agent@0.6.1:
    +    resolution: {integrity: sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw==}
    +    dev: true
     
    -  form-data@2.3.3:
    +  /form-data@2.3.3:
    +    resolution: {integrity: sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==}
    +    engines: {node: '>= 0.12'}
         dependencies:
           asynckit: 0.4.0
           combined-stream: 1.0.8
           mime-types: 2.1.35
    +    dev: true
     
    -  form-data@4.0.0:
    +  /form-data@4.0.0:
    +    resolution: {integrity: sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==}
    +    engines: {node: '>= 6'}
         dependencies:
           asynckit: 0.4.0
           combined-stream: 1.0.8
           mime-types: 2.1.35
    +    dev: true
     
    -  format@0.2.2: {}
    +  /format@0.2.2:
    +    resolution: {integrity: sha512-wzsgA6WOq+09wrU1tsJ09udeR/YZRaeArL9e1wPbFg3GG2yDnC2ldKpxs4xunpFF9DgqCqOIra3bc1HWrJ37Ww==}
    +    engines: {node: '>=0.4.x'}
    +    dev: true
     
    -  formdata-polyfill@4.0.10:
    +  /formdata-polyfill@4.0.10:
    +    resolution: {integrity: sha512-buewHzMvYL29jdeQTVILecSaZKnt/RJWjoZCF5OW60Z67/GmSLBkOFM7qh1PI3zFNtJbaZL5eQu1vLfazOwj4g==}
    +    engines: {node: '>=12.20.0'}
         dependencies:
           fetch-blob: 3.2.0
    +    dev: true
     
    -  forwarded@0.2.0: {}
    +  /forwarded@0.2.0:
    +    resolution: {integrity: sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==}
    +    engines: {node: '>= 0.6'}
    +    dev: true
     
    -  fresh@0.5.2: {}
    +  /fresh@0.5.2:
    +    resolution: {integrity: sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==}
    +    engines: {node: '>= 0.6'}
    +    dev: true
     
    -  from@0.1.7: {}
    +  /from@0.1.7:
    +    resolution: {integrity: sha512-twe20eF1OxVxp/ML/kq2p1uc6KvFK/+vs8WjEbeKmV2He22MKm7YF2ANIt+EOqhJ5L3K/SuuPhk0hWQDjOM23g==}
    +    dev: true
     
    -  fromentries@1.3.2: {}
    +  /fromentries@1.3.2:
    +    resolution: {integrity: sha512-cHEpEQHUg0f8XdtZCc2ZAhrHzKzT0MrFUTcvx+hfxYu7rGMDc5SKoXFh+n4YigxsHXRzc6OrCshdR1bWH6HHyg==}
    +    dev: true
     
    -  fs-extra@11.1.1:
    +  /fs-extra@11.1.1:
    +    resolution: {integrity: sha512-MGIE4HOvQCeUCzmlHs0vXpih4ysz4wg9qiSAu6cd42lVwPbTM1TjV7RusoyQqMmk/95gdQZX72u+YW+c3eEpFQ==}
    +    engines: {node: '>=14.14'}
         dependencies:
           graceful-fs: 4.2.11
           jsonfile: 6.1.0
           universalify: 2.0.1
    +    dev: true
     
    -  fs-extra@11.2.0:
    +  /fs-extra@11.2.0:
    +    resolution: {integrity: sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw==}
    +    engines: {node: '>=14.14'}
         dependencies:
           graceful-fs: 4.2.11
           jsonfile: 6.1.0
           universalify: 2.0.1
    +    dev: true
     
    -  fs-extra@7.0.1:
    +  /fs-extra@7.0.1:
    +    resolution: {integrity: sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==}
    +    engines: {node: '>=6 <7 || >=8'}
         dependencies:
           graceful-fs: 4.2.11
           jsonfile: 4.0.0
           universalify: 0.1.2
    +    dev: true
     
    -  fs-extra@9.1.0:
    +  /fs-extra@9.1.0:
    +    resolution: {integrity: sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==}
    +    engines: {node: '>=10'}
         dependencies:
           at-least-node: 1.0.0
           graceful-fs: 4.2.11
           jsonfile: 6.1.0
           universalify: 2.0.1
    +    dev: true
     
    -  fs-monkey@1.0.4: {}
    +  /fs-monkey@1.0.6:
    +    resolution: {integrity: sha512-b1FMfwetIKymC0eioW7mTywihSQE4oLzQn1dB6rZB5fx/3NpNEdAWeCSMB+60/AeT0TCXsxzAlcYVEFCTAksWg==}
    +    dev: true
     
    -  fs.realpath@1.0.0: {}
    +  /fs.realpath@1.0.0:
    +    resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==}
    +    dev: true
     
    -  fsevents@2.3.3:
    +  /fsevents@2.3.3:
    +    resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==}
    +    engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0}
    +    os: [darwin]
    +    requiresBuild: true
         optional: true
     
    -  function-bind@1.1.2: {}
    +  /function-bind@1.1.2:
    +    resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==}
     
    -  function.prototype.name@1.1.6:
    +  /function.prototype.name@1.1.6:
    +    resolution: {integrity: sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==}
    +    engines: {node: '>= 0.4'}
         dependencies:
           call-bind: 1.0.7
           define-properties: 1.2.1
           es-abstract: 1.23.3
           functions-have-names: 1.2.3
    +    dev: true
     
    -  functions-have-names@1.2.3: {}
    +  /functions-have-names@1.2.3:
    +    resolution: {integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==}
    +    dev: true
     
    -  gensequence@7.0.0: {}
    +  /gensequence@7.0.0:
    +    resolution: {integrity: sha512-47Frx13aZh01afHJTB3zTtKIlFI6vWY+MYCN9Qpew6i52rfKjnhCF/l1YlC8UmEMvvntZZ6z4PiCcmyuedR2aQ==}
    +    engines: {node: '>=18'}
    +    dev: true
     
    -  gensync@1.0.0-beta.2: {}
    +  /gensync@1.0.0-beta.2:
    +    resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==}
    +    engines: {node: '>=6.9.0'}
    +    dev: true
     
    -  get-caller-file@2.0.5: {}
    +  /get-caller-file@2.0.5:
    +    resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==}
    +    engines: {node: 6.* || 8.* || >= 10.*}
    +    dev: true
     
    -  get-east-asian-width@1.2.0: {}
    +  /get-east-asian-width@1.2.0:
    +    resolution: {integrity: sha512-2nk+7SIVb14QrgXFHcm84tD4bKQz0RxPuMT8Ag5KPOq7J5fEmAg0UbXdTOSHqNuHSU28k55qnceesxXRZGzKWA==}
    +    engines: {node: '>=18'}
    +    dev: true
     
    -  get-func-name@2.0.2: {}
    +  /get-func-name@2.0.2:
    +    resolution: {integrity: sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ==}
    +    dev: true
     
    -  get-intrinsic@1.2.4:
    +  /get-intrinsic@1.2.4:
    +    resolution: {integrity: sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==}
    +    engines: {node: '>= 0.4'}
         dependencies:
           es-errors: 1.3.0
           function-bind: 1.1.2
           has-proto: 1.0.3
           has-symbols: 1.0.3
           hasown: 2.0.2
    +    dev: true
     
    -  get-own-enumerable-property-symbols@3.0.2: {}
    +  /get-own-enumerable-property-symbols@3.0.2:
    +    resolution: {integrity: sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g==}
    +    dev: true
     
    -  get-package-type@0.1.0: {}
    +  /get-package-type@0.1.0:
    +    resolution: {integrity: sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==}
    +    engines: {node: '>=8.0.0'}
    +    dev: true
     
    -  get-stdin@5.0.1: {}
    +  /get-stdin@5.0.1:
    +    resolution: {integrity: sha512-jZV7n6jGE3Gt7fgSTJoz91Ak5MuTLwMwkoYdjxuJ/AmjIsE1UC03y/IWkZCQGEvVNS9qoRNwy5BCqxImv0FVeA==}
    +    engines: {node: '>=0.12.0'}
    +    dev: true
     
    -  get-stdin@8.0.0: {}
    +  /get-stdin@8.0.0:
    +    resolution: {integrity: sha512-sY22aA6xchAzprjyqmSEQv4UbAAzRN0L2dQB0NlN5acTTK9Don6nhoc3eAbUnpZiCANAMfd/+40kVdKfFygohg==}
    +    engines: {node: '>=10'}
    +    dev: true
     
    -  get-stdin@9.0.0: {}
    +  /get-stdin@9.0.0:
    +    resolution: {integrity: sha512-dVKBjfWisLAicarI2Sf+JuBE/DghV4UzNAVe9yhEJuzeREd3JhOTE9cUaJTeSa77fsbQUK3pcOpJfM59+VKZaA==}
    +    engines: {node: '>=12'}
    +    dev: true
     
    -  get-stream@4.1.0:
    +  /get-stream@4.1.0:
    +    resolution: {integrity: sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==}
    +    engines: {node: '>=6'}
         dependencies:
           pump: 3.0.0
    +    dev: true
     
    -  get-stream@5.2.0:
    +  /get-stream@5.2.0:
    +    resolution: {integrity: sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==}
    +    engines: {node: '>=8'}
         dependencies:
           pump: 3.0.0
    +    dev: true
     
    -  get-stream@6.0.1: {}
    +  /get-stream@6.0.1:
    +    resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==}
    +    engines: {node: '>=10'}
    +    dev: true
     
    -  get-stream@8.0.1: {}
    +  /get-stream@8.0.1:
    +    resolution: {integrity: sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==}
    +    engines: {node: '>=16'}
    +    dev: true
     
    -  get-symbol-description@1.0.2:
    +  /get-symbol-description@1.0.2:
    +    resolution: {integrity: sha512-g0QYk1dZBxGwk+Ngc+ltRH2IBp2f7zBkBMBJZCDerh6EhlhSR6+9irMCuT/09zD6qkarHUSn529sK/yL4S27mg==}
    +    engines: {node: '>= 0.4'}
         dependencies:
           call-bind: 1.0.7
           es-errors: 1.3.0
           get-intrinsic: 1.2.4
    +    dev: true
     
    -  get-tsconfig@4.7.3:
    +  /get-tsconfig@4.7.5:
    +    resolution: {integrity: sha512-ZCuZCnlqNzjb4QprAzXKdpp/gh6KTxSJuw3IBsPnV/7fV4NxC9ckB+vPTt8w7fJA0TaSD7c55BR47JD6MEDyDw==}
         dependencies:
           resolve-pkg-maps: 1.0.0
    +    dev: true
     
    -  getos@3.2.1:
    +  /getos@3.2.1:
    +    resolution: {integrity: sha512-U56CfOK17OKgTVqozZjUKNdkfEv6jk5WISBJ8SHoagjE6L69zOwl3Z+O8myjY9MEW3i2HPWQBt/LTbCgcC973Q==}
         dependencies:
           async: 3.2.5
    +    dev: true
     
    -  getpass@0.1.7:
    +  /getpass@0.1.7:
    +    resolution: {integrity: sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng==}
         dependencies:
           assert-plus: 1.0.0
    +    dev: true
     
    -  github-slugger@2.0.0: {}
    +  /github-slugger@2.0.0:
    +    resolution: {integrity: sha512-IaOQ9puYtjrkq7Y0Ygl9KDZnrf/aiUJYUpVf89y8kyaxbRG7Y1SrX/jaumrv81vc61+kiMempujsM3Yw7w5qcw==}
    +    dev: true
     
    -  glob-parent@5.1.2:
    +  /glob-parent@5.1.2:
    +    resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==}
    +    engines: {node: '>= 6'}
         dependencies:
           is-glob: 4.0.3
     
    -  glob-parent@6.0.2:
    +  /glob-parent@6.0.2:
    +    resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==}
    +    engines: {node: '>=10.13.0'}
         dependencies:
           is-glob: 4.0.3
     
    -  glob-promise@4.2.2(glob@7.2.3):
    +  /glob-promise@4.2.2(glob@7.2.3):
    +    resolution: {integrity: sha512-xcUzJ8NWN5bktoTIX7eOclO1Npxd/dyVqUJxlLIDasT4C7KZyqlPIwkdJ0Ypiy3p2ZKahTjK4M9uC3sNSfNMzw==}
    +    engines: {node: '>=12'}
    +    peerDependencies:
    +      glob: ^7.1.6
         dependencies:
           '@types/glob': 7.2.0
           glob: 7.2.3
    +    dev: true
     
    -  glob-to-regexp@0.4.1: {}
    -
    -  glob@10.3.10:
    -    dependencies:
    -      foreground-child: 3.1.1
    -      jackspeak: 2.3.6
    -      minimatch: 9.0.4
    -      minipass: 7.0.4
    -      path-scurry: 1.10.1
    +  /glob-to-regexp@0.4.1:
    +    resolution: {integrity: sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==}
    +    dev: true
     
    -  glob@10.3.12:
    +  /glob@10.4.1:
    +    resolution: {integrity: sha512-2jelhlq3E4ho74ZyVLN03oKdAZVUa6UDZzFLVH1H7dnoax+y9qyaq8zBkfDIggjniU19z0wU18y16jMB2eyVIw==}
    +    engines: {node: '>=16 || 14 >=14.18'}
    +    hasBin: true
         dependencies:
    -      foreground-child: 3.1.1
    -      jackspeak: 2.3.6
    +      foreground-child: 3.2.0
    +      jackspeak: 3.4.0
           minimatch: 9.0.4
    -      minipass: 7.0.4
    -      path-scurry: 1.10.2
    +      minipass: 7.1.2
    +      path-scurry: 1.11.1
     
    -  glob@7.2.3:
    +  /glob@7.2.3:
    +    resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==}
    +    deprecated: Glob versions prior to v9 are no longer supported
         dependencies:
           fs.realpath: 1.0.0
           inflight: 1.0.6
    @@ -14858,35 +9911,57 @@ snapshots:
           minimatch: 3.1.2
           once: 1.4.0
           path-is-absolute: 1.0.1
    +    dev: true
     
    -  glob@8.1.0:
    +  /glob@8.1.0:
    +    resolution: {integrity: sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==}
    +    engines: {node: '>=12'}
    +    deprecated: Glob versions prior to v9 are no longer supported
         dependencies:
           fs.realpath: 1.0.0
           inflight: 1.0.6
           inherits: 2.0.4
           minimatch: 5.1.6
           once: 1.4.0
    +    dev: true
     
    -  global-directory@4.0.1:
    +  /global-directory@4.0.1:
    +    resolution: {integrity: sha512-wHTUcDUoZ1H5/0iVqEudYW4/kAlN5cZ3j/bXn0Dpbizl9iaUVeWSHqiOjsgk6OW2bkLclbBjzewBz6weQ1zA2Q==}
    +    engines: {node: '>=18'}
         dependencies:
           ini: 4.1.1
    +    dev: true
     
    -  global-dirs@3.0.1:
    +  /global-dirs@3.0.1:
    +    resolution: {integrity: sha512-NBcGGFbBA9s1VzD41QXDG+3++t9Mn5t1FpLdhESY6oKY4gYTFpX4wO3sqGUa0Srjtbfj3szX0RnemmrVRUdULA==}
    +    engines: {node: '>=10'}
         dependencies:
           ini: 2.0.0
    +    dev: true
     
    -  globals@11.12.0: {}
    +  /globals@11.12.0:
    +    resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==}
    +    engines: {node: '>=4'}
    +    dev: true
     
    -  globals@13.24.0:
    +  /globals@13.24.0:
    +    resolution: {integrity: sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==}
    +    engines: {node: '>=8'}
         dependencies:
           type-fest: 0.20.2
    +    dev: true
     
    -  globalthis@1.0.4:
    +  /globalthis@1.0.4:
    +    resolution: {integrity: sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==}
    +    engines: {node: '>= 0.4'}
         dependencies:
           define-properties: 1.2.1
           gopd: 1.0.1
    +    dev: true
     
    -  globby@11.1.0:
    +  /globby@11.1.0:
    +    resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==}
    +    engines: {node: '>=10'}
         dependencies:
           array-union: 2.1.0
           dir-glob: 3.0.1
    @@ -14894,16 +9969,22 @@ snapshots:
           ignore: 5.3.1
           merge2: 1.4.1
           slash: 3.0.0
    +    dev: true
     
    -  globby@13.2.2:
    +  /globby@13.2.2:
    +    resolution: {integrity: sha512-Y1zNGV+pzQdh7H39l9zgB4PJqjRNqydvdYCDG4HFXM4XuvSaQQlEc91IU1yALL8gUTDomgBAfz3XJdmUS+oo0w==}
    +    engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
         dependencies:
           dir-glob: 3.0.1
           fast-glob: 3.3.2
           ignore: 5.3.1
           merge2: 1.4.1
           slash: 4.0.0
    +    dev: true
     
    -  globby@14.0.1:
    +  /globby@14.0.1:
    +    resolution: {integrity: sha512-jOMLD2Z7MAhyG8aJpNOpmziMOP4rPLcc95oQPKXBazW82z+CEgPFBQvEpRUa1KeIMUJo4Wsm+q6uzO/Q/4BksQ==}
    +    engines: {node: '>=18'}
         dependencies:
           '@sindresorhus/merge-streams': 2.3.0
           fast-glob: 3.3.2
    @@ -14911,14 +9992,21 @@ snapshots:
           path-type: 5.0.0
           slash: 5.1.0
           unicorn-magic: 0.1.0
    +    dev: true
     
    -  glur@1.1.2: {}
    +  /glur@1.1.2:
    +    resolution: {integrity: sha512-l+8esYHTKOx2G/Aao4lEQ0bnHWg4fWtJbVoZZT9Knxi01pB8C80BR85nONLFwkkQoFRCmXY+BUcGZN3yZ2QsRA==}
    +    dev: true
     
    -  gopd@1.0.1:
    +  /gopd@1.0.1:
    +    resolution: {integrity: sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==}
         dependencies:
           get-intrinsic: 1.2.4
    +    dev: true
     
    -  got@11.8.6:
    +  /got@11.8.6:
    +    resolution: {integrity: sha512-6tfZ91bOr7bOXnK7PRDCGBLa1H4U080YHNaAQ2KsMGlLEzRbk44nsZF2E1IeRc3vtJHPVbKCYgdFbaGO2ljd8g==}
    +    engines: {node: '>=10.19.0'}
         dependencies:
           '@sindresorhus/is': 4.6.0
           '@szmarczak/http-timer': 4.0.6
    @@ -14931,536 +10019,886 @@ snapshots:
           lowercase-keys: 2.0.0
           p-cancelable: 2.1.1
           responselike: 2.0.1
    +    dev: true
     
    -  graceful-fs@4.2.11: {}
    +  /graceful-fs@4.2.11:
    +    resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==}
    +    dev: true
     
    -  graphemer@1.4.0: {}
    +  /graphemer@1.4.0:
    +    resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==}
    +    dev: true
     
    -  gzip-size@6.0.0:
    +  /gzip-size@6.0.0:
    +    resolution: {integrity: sha512-ax7ZYomf6jqPTQ4+XCpUGyXKHk5WweS+e05MBO4/y3WJ5RkmPXNKvX+bx1behVILVwr6JSQvZAku021CHPXG3Q==}
    +    engines: {node: '>=10'}
         dependencies:
           duplexer: 0.1.2
    +    dev: true
     
    -  hachure-fill@0.5.2: {}
    +  /hachure-fill@0.5.2:
    +    resolution: {integrity: sha512-3GKBOn+m2LX9iq+JC1064cSFprJY4jL1jCXTcpnfER5HYE2l/4EfWSGzkPa/ZDBmYI0ZOEj5VHV/eKnPGkHuOg==}
    +    dev: false
     
    -  handle-thing@2.0.1: {}
    +  /handle-thing@2.0.1:
    +    resolution: {integrity: sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg==}
    +    dev: true
     
    -  handlebars@4.7.8:
    +  /handlebars@4.7.8:
    +    resolution: {integrity: sha512-vafaFqs8MZkRrSX7sFVUdo3ap/eNiLnb4IakshzvP56X5Nr1iGKAIqdX6tMlm6HcNRIkr6AxO5jFEoJzzpT8aQ==}
    +    engines: {node: '>=0.4.7'}
    +    hasBin: true
         dependencies:
           minimist: 1.2.8
           neo-async: 2.6.2
           source-map: 0.6.1
           wordwrap: 1.0.0
         optionalDependencies:
    -      uglify-js: 3.17.4
    +      uglify-js: 3.18.0
    +    dev: true
     
    -  has-ansi@2.0.0:
    +  /has-ansi@2.0.0:
    +    resolution: {integrity: sha512-C8vBJ8DwUCx19vhm7urhTuUsr4/IyP6l4VzNQDv+ryHQObW3TTTp9yB68WpYgRe2bbaGuZ/se74IqFeVnMnLZg==}
    +    engines: {node: '>=0.10.0'}
         dependencies:
           ansi-regex: 2.1.1
    +    dev: true
     
    -  has-bigints@1.0.2: {}
    +  /has-bigints@1.0.2:
    +    resolution: {integrity: sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==}
    +    dev: true
     
    -  has-flag@3.0.0: {}
    +  /has-flag@3.0.0:
    +    resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==}
    +    engines: {node: '>=4'}
    +    dev: true
     
    -  has-flag@4.0.0: {}
    +  /has-flag@4.0.0:
    +    resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==}
    +    engines: {node: '>=8'}
     
    -  has-own-prop@2.0.0: {}
    +  /has-own-prop@2.0.0:
    +    resolution: {integrity: sha512-Pq0h+hvsVm6dDEa8x82GnLSYHOzNDt7f0ddFa3FqcQlgzEiptPqL+XrOJNavjOzSYiYWIrgeVYYgGlLmnxwilQ==}
    +    engines: {node: '>=8'}
    +    dev: true
     
    -  has-property-descriptors@1.0.2:
    +  /has-property-descriptors@1.0.2:
    +    resolution: {integrity: sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==}
         dependencies:
           es-define-property: 1.0.0
    +    dev: true
     
    -  has-proto@1.0.3: {}
    +  /has-proto@1.0.3:
    +    resolution: {integrity: sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==}
    +    engines: {node: '>= 0.4'}
    +    dev: true
     
    -  has-symbols@1.0.3: {}
    +  /has-symbols@1.0.3:
    +    resolution: {integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==}
    +    engines: {node: '>= 0.4'}
    +    dev: true
     
    -  has-tostringtag@1.0.2:
    +  /has-tostringtag@1.0.2:
    +    resolution: {integrity: sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==}
    +    engines: {node: '>= 0.4'}
         dependencies:
           has-symbols: 1.0.3
    +    dev: true
     
    -  has@1.0.3:
    -    dependencies:
    -      function-bind: 1.1.2
    -
    -  hasha@5.2.2:
    +  /hasha@5.2.2:
    +    resolution: {integrity: sha512-Hrp5vIK/xr5SkeN2onO32H0MgNZ0f17HRNH39WfL0SYUNOTZ5Lz1TJ8Pajo/87dYGEFlLMm7mIc/k/s6Bvz9HQ==}
    +    engines: {node: '>=8'}
         dependencies:
           is-stream: 2.0.1
           type-fest: 0.8.1
    +    dev: true
     
    -  hasown@2.0.2:
    +  /hasown@2.0.2:
    +    resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==}
    +    engines: {node: '>= 0.4'}
         dependencies:
           function-bind: 1.1.2
     
    -  heap@0.2.7: {}
    -
    -  highlight.js@10.7.3: {}
    +  /highlight.js@10.7.3:
    +    resolution: {integrity: sha512-tzcUFauisWKNHaRkN4Wjl/ZA07gENAjFl3J/c480dprkGTg5EQstgaNFqBfUqCq54kZRIEcreTsAgF/m2quD7A==}
    +    dev: false
     
    -  hookable@5.5.3: {}
    +  /hookable@5.5.3:
    +    resolution: {integrity: sha512-Yc+BQe8SvoXH1643Qez1zqLRmbA5rCL+sSmk6TVos0LWVfNIB7PGncdlId77WzLGSIB5KaWgTaNTs2lNVEI6VQ==}
    +    dev: true
     
    -  hosted-git-info@2.8.9: {}
    +  /hosted-git-info@2.8.9:
    +    resolution: {integrity: sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==}
    +    dev: true
     
    -  hpack.js@2.1.6:
    +  /hpack.js@2.1.6:
    +    resolution: {integrity: sha512-zJxVehUdMGIKsRaNt7apO2Gqp0BdqW5yaiGHXXmbpvxgBYVZnAql+BJb4RO5ad2MgpbZKn5G6nMnegrH1FcNYQ==}
         dependencies:
           inherits: 2.0.4
           obuf: 1.1.2
           readable-stream: 2.3.8
           wbuf: 1.7.3
    +    dev: true
     
    -  html-encoding-sniffer@4.0.0:
    +  /html-encoding-sniffer@4.0.0:
    +    resolution: {integrity: sha512-Y22oTqIU4uuPgEemfz7NDJz6OeKf12Lsu+QC+s3BVpda64lTiMYCyGwg5ki4vFxkMwQdeZDl2adZoqUgdFuTgQ==}
    +    engines: {node: '>=18'}
         dependencies:
           whatwg-encoding: 3.1.1
    +    dev: true
     
    -  html-entities@2.4.0: {}
    +  /html-entities@2.5.2:
    +    resolution: {integrity: sha512-K//PSRMQk4FZ78Kyau+mZurHn3FH0Vwr+H36eE0rPbeYkRRi9YxceYPhuN60UwWorxyKHhqoAJl2OFKa4BVtaA==}
    +    dev: true
     
    -  html-escaper@2.0.2: {}
    +  /html-escaper@2.0.2:
    +    resolution: {integrity: sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==}
    +    dev: true
     
    -  html-to-image@1.11.11: {}
    +  /html-to-image@1.11.11:
    +    resolution: {integrity: sha512-9gux8QhvjRO/erSnDPv28noDZcPZmYE7e1vFsBLKLlRlKDSqNJYebj6Qz1TGd5lsRV+X+xYyjCKjuZdABinWjA==}
    +    dev: false
     
    -  htmlparser2@9.1.0:
    +  /htmlparser2@9.1.0:
    +    resolution: {integrity: sha512-5zfg6mHUoaer/97TxnGpxmbR7zJtPwIYFMZ/H5ucTlPZhKvtum05yiPK3Mgai3a0DyVxv7qYqoweaEd2nrYQzQ==}
         dependencies:
           domelementtype: 2.3.0
           domhandler: 5.0.3
           domutils: 3.1.0
           entities: 4.5.0
    +    dev: true
     
    -  http-cache-semantics@4.1.1: {}
    +  /http-cache-semantics@4.1.1:
    +    resolution: {integrity: sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==}
    +    dev: true
     
    -  http-deceiver@1.2.7: {}
    +  /http-deceiver@1.2.7:
    +    resolution: {integrity: sha512-LmpOGxTfbpgtGVxJrj5k7asXHCgNZp5nLfp+hWc8QQRqtb7fUy6kRY3BO1h9ddF6yIPYUARgxGOwB42DnxIaNw==}
    +    dev: true
     
    -  http-errors@1.6.3:
    +  /http-errors@1.6.3:
    +    resolution: {integrity: sha512-lks+lVC8dgGyh97jxvxeYTWQFvh4uw4yC12gVl63Cg30sjPX4wuGcdkICVXDAESr6OJGjqGA8Iz5mkeN6zlD7A==}
    +    engines: {node: '>= 0.6'}
         dependencies:
           depd: 1.1.2
           inherits: 2.0.3
           setprototypeof: 1.1.0
           statuses: 1.5.0
    +    dev: true
     
    -  http-errors@2.0.0:
    +  /http-errors@2.0.0:
    +    resolution: {integrity: sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==}
    +    engines: {node: '>= 0.8'}
         dependencies:
           depd: 2.0.0
           inherits: 2.0.4
           setprototypeof: 1.2.0
           statuses: 2.0.1
           toidentifier: 1.0.1
    +    dev: true
     
    -  http-parser-js@0.5.8: {}
    +  /http-parser-js@0.5.8:
    +    resolution: {integrity: sha512-SGeBX54F94Wgu5RH3X5jsDtf4eHyRogWX1XGT3b4HuW3tQPM4AaBzoUji/4AAJNXCEOWZ5O0DgZmJw1947gD5Q==}
    +    dev: true
     
    -  http-proxy-agent@5.0.0:
    +  /http-proxy-agent@5.0.0:
    +    resolution: {integrity: sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==}
    +    engines: {node: '>= 6'}
         dependencies:
           '@tootallnate/once': 2.0.0
           agent-base: 6.0.2
    -      debug: 4.3.4(supports-color@8.1.1)
    +      debug: 4.3.5(supports-color@8.1.1)
         transitivePeerDependencies:
           - supports-color
    +    dev: true
     
    -  http-proxy-agent@7.0.2:
    +  /http-proxy-agent@7.0.2:
    +    resolution: {integrity: sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==}
    +    engines: {node: '>= 14'}
         dependencies:
    -      agent-base: 7.1.0
    -      debug: 4.3.4(supports-color@8.1.1)
    +      agent-base: 7.1.1
    +      debug: 4.3.5(supports-color@8.1.1)
         transitivePeerDependencies:
           - supports-color
    +    dev: true
     
    -  http-proxy-middleware@2.0.6(@types/express@4.17.21):
    +  /http-proxy-middleware@2.0.6(@types/express@4.17.21):
    +    resolution: {integrity: sha512-ya/UeJ6HVBYxrgYotAZo1KvPWlgB48kUJLDePFeneHsVujFaW5WNj2NgWCAE//B1Dl02BIfYlpNgBy8Kf8Rjmw==}
    +    engines: {node: '>=12.0.0'}
    +    peerDependencies:
    +      '@types/express': ^4.17.13
    +    peerDependenciesMeta:
    +      '@types/express':
    +        optional: true
         dependencies:
           '@types/express': 4.17.21
    -      '@types/http-proxy': 1.17.11
    +      '@types/http-proxy': 1.17.14
           http-proxy: 1.18.1
           is-glob: 4.0.3
           is-plain-obj: 3.0.0
    -      micromatch: 4.0.5
    +      micromatch: 4.0.7
         transitivePeerDependencies:
           - debug
    +    dev: true
     
    -  http-proxy@1.18.1:
    +  /http-proxy@1.18.1:
    +    resolution: {integrity: sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==}
    +    engines: {node: '>=8.0.0'}
         dependencies:
           eventemitter3: 4.0.7
    -      follow-redirects: 1.15.5(debug@4.3.4)
    +      follow-redirects: 1.15.6(debug@4.3.5)
           requires-port: 1.0.0
         transitivePeerDependencies:
           - debug
    +    dev: true
     
    -  http-signature@1.3.6:
    +  /http-signature@1.3.6:
    +    resolution: {integrity: sha512-3adrsD6zqo4GsTqtO7FyrejHNv+NgiIfAfv68+jVlFmSr9OGy7zrxONceFRLKvnnZA5jbxQBX1u9PpB6Wi32Gw==}
    +    engines: {node: '>=0.10'}
         dependencies:
           assert-plus: 1.0.0
           jsprim: 2.0.2
           sshpk: 1.18.0
    +    dev: true
     
    -  http2-wrapper@1.0.3:
    +  /http2-wrapper@1.0.3:
    +    resolution: {integrity: sha512-V+23sDMr12Wnz7iTcDeJr3O6AIxlnvT/bmaAAAP/Xda35C90p9599p0F1eHR/N1KILWSoWVAiOMFjBBXaXSMxg==}
    +    engines: {node: '>=10.19.0'}
         dependencies:
           quick-lru: 5.1.1
           resolve-alpn: 1.2.1
    +    dev: true
     
    -  https-localhost@4.7.1:
    +  /https-localhost@4.7.1:
    +    resolution: {integrity: sha512-rl+NFV0l67/0W7fZwk4LB5gS6HdhtSFLpCpf1N+KD5WQAXtPXX1QE8H0cP8VNJii18rtpTkE9eAHdUfJ0goAnQ==}
    +    hasBin: true
         dependencies:
           appdata-path: 1.0.0
           compression: 1.7.4
           cors: 2.8.5
           express: 4.19.2
           spdy: 4.0.2
    -      uglify-js: 3.17.4
    +      uglify-js: 3.18.0
         transitivePeerDependencies:
           - supports-color
    +    dev: true
     
    -  https-proxy-agent@5.0.1:
    +  /https-proxy-agent@5.0.1:
    +    resolution: {integrity: sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==}
    +    engines: {node: '>= 6'}
         dependencies:
           agent-base: 6.0.2
    -      debug: 4.3.4(supports-color@8.1.1)
    +      debug: 4.3.5(supports-color@8.1.1)
         transitivePeerDependencies:
           - supports-color
    +    dev: true
     
    -  https-proxy-agent@7.0.4:
    +  /https-proxy-agent@7.0.4:
    +    resolution: {integrity: sha512-wlwpilI7YdjSkWaQ/7omYBMTliDcmCN8OLihO6I9B86g06lMyAoqgoDpV0XqoaPOKj+0DIdAvnsWfyAAhmimcg==}
    +    engines: {node: '>= 14'}
         dependencies:
    -      agent-base: 7.1.0
    -      debug: 4.3.4(supports-color@8.1.1)
    +      agent-base: 7.1.1
    +      debug: 4.3.5(supports-color@8.1.1)
         transitivePeerDependencies:
           - supports-color
    +    dev: true
     
    -  human-signals@1.1.1: {}
    +  /human-signals@1.1.1:
    +    resolution: {integrity: sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==}
    +    engines: {node: '>=8.12.0'}
    +    dev: true
     
    -  human-signals@2.1.0: {}
    +  /human-signals@2.1.0:
    +    resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==}
    +    engines: {node: '>=10.17.0'}
    +    dev: true
     
    -  human-signals@5.0.0: {}
    +  /human-signals@5.0.0:
    +    resolution: {integrity: sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==}
    +    engines: {node: '>=16.17.0'}
    +    dev: true
     
    -  husky@9.0.11: {}
    +  /husky@9.0.11:
    +    resolution: {integrity: sha512-AB6lFlbwwyIqMdHYhwPe+kjOC3Oc5P3nThEoW/AaO2BX3vJDjWPFxYLxokUZOo6RNX20He3AaT8sESs9NJcmEw==}
    +    engines: {node: '>=18'}
    +    hasBin: true
    +    dev: true
     
    -  iconv-lite@0.4.24:
    +  /iconv-lite@0.4.24:
    +    resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==}
    +    engines: {node: '>=0.10.0'}
         dependencies:
           safer-buffer: 2.1.2
    +    dev: true
     
    -  iconv-lite@0.6.3:
    +  /iconv-lite@0.6.3:
    +    resolution: {integrity: sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==}
    +    engines: {node: '>=0.10.0'}
         dependencies:
           safer-buffer: 2.1.2
     
    -  idb@7.1.1: {}
    +  /idb@7.1.1:
    +    resolution: {integrity: sha512-gchesWBzyvGHRO9W8tzUWFDycow5gwjvFKfyV9FF32Y7F50yZMp7mP+T2mJIWFx49zicqyC4uefHM17o6xKIVQ==}
    +    dev: true
     
    -  ieee754@1.2.1: {}
    +  /ieee754@1.2.1:
    +    resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==}
     
    -  ignore@5.3.1: {}
    +  /ignore@5.3.1:
    +    resolution: {integrity: sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==}
    +    engines: {node: '>= 4'}
    +    dev: true
     
    -  import-fresh@3.3.0:
    +  /import-fresh@3.3.0:
    +    resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==}
    +    engines: {node: '>=6'}
         dependencies:
           parent-module: 1.0.1
           resolve-from: 4.0.0
    +    dev: true
     
    -  import-local@3.1.0:
    +  /import-local@3.1.0:
    +    resolution: {integrity: sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==}
    +    engines: {node: '>=8'}
    +    hasBin: true
         dependencies:
           pkg-dir: 4.2.0
           resolve-cwd: 3.0.0
    +    dev: true
     
    -  import-meta-resolve@4.0.0: {}
    +  /import-meta-resolve@4.1.0:
    +    resolution: {integrity: sha512-I6fiaX09Xivtk+THaMfAwnA3MVA5Big1WHF1Dfx9hFuvNIWpXnorlkzhcQf6ehrqQiiZECRt1poOAkPmer3ruw==}
    +    dev: true
     
    -  imurmurhash@0.1.4: {}
    +  /imurmurhash@0.1.4:
    +    resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==}
    +    engines: {node: '>=0.8.19'}
    +    dev: true
     
    -  indent-string@4.0.0: {}
    +  /indent-string@4.0.0:
    +    resolution: {integrity: sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==}
    +    engines: {node: '>=8'}
    +    dev: true
     
    -  indent-string@5.0.0: {}
    +  /indent-string@5.0.0:
    +    resolution: {integrity: sha512-m6FAo/spmsW2Ab2fU35JTYwtOKa2yAwXSwgjSv1TJzh4Mh7mC3lzAOVLBprb72XsTrgkEIsl7YrFNAiDiRhIGg==}
    +    engines: {node: '>=12'}
    +    dev: true
     
    -  inflight@1.0.6:
    +  /inflight@1.0.6:
    +    resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==}
    +    deprecated: This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.
         dependencies:
           once: 1.4.0
           wrappy: 1.0.2
    +    dev: true
     
    -  inherits@2.0.3: {}
    +  /inherits@2.0.3:
    +    resolution: {integrity: sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==}
    +    dev: true
     
    -  inherits@2.0.4: {}
    +  /inherits@2.0.4:
    +    resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==}
    +    dev: true
     
    -  ini@2.0.0: {}
    +  /ini@2.0.0:
    +    resolution: {integrity: sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA==}
    +    engines: {node: '>=10'}
    +    dev: true
     
    -  ini@3.0.1: {}
    +  /ini@3.0.1:
    +    resolution: {integrity: sha512-it4HyVAUTKBc6m8e1iXWvXSTdndF7HbdN713+kvLrymxTaU4AUBWrJ4vEooP+V7fexnVD3LKcBshjGGPefSMUQ==}
    +    engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0}
    +    dev: true
     
    -  ini@4.1.1: {}
    +  /ini@4.1.1:
    +    resolution: {integrity: sha512-QQnnxNyfvmHFIsj7gkPcYymR8Jdw/o7mp5ZFihxn6h8Ci6fh3Dx4E1gPjpQEpIuPo9XVNY/ZUwh4BPMjGyL01g==}
    +    engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0}
    +    dev: true
     
    -  internal-slot@1.0.7:
    +  /internal-slot@1.0.7:
    +    resolution: {integrity: sha512-NGnrKwXzSms2qUUih/ILZ5JBqNTSa1+ZmP6flaIp6KmSElgE9qdndzS3cqjrDovwFdmwsGsLdeFgB6suw+1e9g==}
    +    engines: {node: '>= 0.4'}
         dependencies:
           es-errors: 1.3.0
           hasown: 2.0.2
           side-channel: 1.0.6
    +    dev: true
     
    -  internmap@1.0.1: {}
    +  /internmap@1.0.1:
    +    resolution: {integrity: sha512-lDB5YccMydFBtasVtxnZ3MRBHuaoE8GKsppq+EchKL2U4nK/DmEpPHNH8MZe5HkMtpSiTSOZwfN0tzYjO/lJEw==}
    +    dev: false
     
    -  internmap@2.0.3: {}
    +  /internmap@2.0.3:
    +    resolution: {integrity: sha512-5Hh7Y1wQbvY5ooGgPbDaL5iYLAPzMTUrjMulskHLH6wnv/A+1q5rgEaiuqEjB+oxGXIVZs1FF+R/KPN3ZSQYYg==}
    +    engines: {node: '>=12'}
    +    dev: false
     
    -  interpret@2.2.0: {}
    +  /interpret@2.2.0:
    +    resolution: {integrity: sha512-Ju0Bz/cEia55xDwUWEa8+olFpCiQoypjnQySseKtmjNrnps3P+xfpUmGr90T7yjlVJmOtybRvPXhKMbHr+fWnw==}
    +    engines: {node: '>= 0.10'}
    +    dev: true
     
    -  ipaddr.js@1.9.1: {}
    +  /ipaddr.js@1.9.1:
    +    resolution: {integrity: sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==}
    +    engines: {node: '>= 0.10'}
    +    dev: true
     
    -  ipaddr.js@2.1.0: {}
    +  /ipaddr.js@2.2.0:
    +    resolution: {integrity: sha512-Ag3wB2o37wslZS19hZqorUnrnzSkpOVy+IiiDEiTqNubEYpYuHWIf6K4psgN2ZWKExS4xhVCrRVfb/wfW8fWJA==}
    +    engines: {node: '>= 10'}
    +    dev: true
     
    -  is-alphabetical@1.0.4: {}
    +  /is-alphabetical@1.0.4:
    +    resolution: {integrity: sha512-DwzsA04LQ10FHTZuL0/grVDk4rFoVH1pjAToYwBrHSxcrBIGQuXrQMtD5U1b0U2XVgKZCTLLP8u2Qxqhy3l2Vg==}
    +    dev: true
     
    -  is-alphanumerical@1.0.4:
    +  /is-alphanumerical@1.0.4:
    +    resolution: {integrity: sha512-UzoZUr+XfVz3t3v4KyGEniVL9BDRoQtY7tOyrRybkVNjDFWyo1yhXNGrrBTQxp3ib9BLAWs7k2YKBQsFRkZG9A==}
         dependencies:
           is-alphabetical: 1.0.4
           is-decimal: 1.0.4
    +    dev: true
     
    -  is-array-buffer@3.0.4:
    +  /is-array-buffer@3.0.4:
    +    resolution: {integrity: sha512-wcjaerHw0ydZwfhiKbXJWLDY8A7yV7KhjQOpb83hGgGfId/aQa4TOvwyzn2PuswW2gPCYEL/nEAiSVpdOj1lXw==}
    +    engines: {node: '>= 0.4'}
         dependencies:
           call-bind: 1.0.7
           get-intrinsic: 1.2.4
    +    dev: true
     
    -  is-arrayish@0.2.1: {}
    +  /is-arrayish@0.2.1:
    +    resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==}
    +    dev: true
     
    -  is-arrayish@0.3.2: {}
    +  /is-arrayish@0.3.2:
    +    resolution: {integrity: sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==}
    +    dev: false
     
    -  is-bigint@1.0.4:
    +  /is-bigint@1.0.4:
    +    resolution: {integrity: sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==}
         dependencies:
           has-bigints: 1.0.2
    +    dev: true
     
    -  is-binary-path@2.1.0:
    +  /is-binary-path@2.1.0:
    +    resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==}
    +    engines: {node: '>=8'}
         dependencies:
    -      binary-extensions: 2.2.0
    +      binary-extensions: 2.3.0
     
    -  is-boolean-object@1.1.2:
    +  /is-boolean-object@1.1.2:
    +    resolution: {integrity: sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==}
    +    engines: {node: '>= 0.4'}
         dependencies:
           call-bind: 1.0.7
           has-tostringtag: 1.0.2
    +    dev: true
     
    -  is-builtin-module@3.2.1:
    +  /is-builtin-module@3.2.1:
    +    resolution: {integrity: sha512-BSLE3HnV2syZ0FK0iMA/yUGplUeMmNz4AW5fnTunbCIqZi4vG3WjJT9FHMy5D69xmAYBHXQhJdALdpwVxV501A==}
    +    engines: {node: '>=6'}
         dependencies:
           builtin-modules: 3.3.0
    +    dev: true
     
    -  is-callable@1.2.7: {}
    +  /is-callable@1.2.7:
    +    resolution: {integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==}
    +    engines: {node: '>= 0.4'}
    +    dev: true
     
    -  is-ci@3.0.1:
    +  /is-ci@3.0.1:
    +    resolution: {integrity: sha512-ZYvCgrefwqoQ6yTyYUbQu64HsITZ3NfKX1lzaEYdkTDcfKzzCI/wthRRYKkdjHKFVgNiXKAKm65Zo1pk2as/QQ==}
    +    hasBin: true
         dependencies:
           ci-info: 3.9.0
    +    dev: true
     
    -  is-core-module@2.13.0:
    -    dependencies:
    -      has: 1.0.3
    -
    -  is-core-module@2.13.1:
    +  /is-core-module@2.13.1:
    +    resolution: {integrity: sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==}
         dependencies:
           hasown: 2.0.2
     
    -  is-data-view@1.0.1:
    +  /is-data-view@1.0.1:
    +    resolution: {integrity: sha512-AHkaJrsUVW6wq6JS8y3JnM/GJF/9cf+k20+iDzlSaJrinEo5+7vRiteOSwBhHRiAyQATN1AmY4hwzxJKPmYf+w==}
    +    engines: {node: '>= 0.4'}
         dependencies:
           is-typed-array: 1.1.13
    +    dev: true
     
    -  is-date-object@1.0.5:
    +  /is-date-object@1.0.5:
    +    resolution: {integrity: sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==}
    +    engines: {node: '>= 0.4'}
         dependencies:
           has-tostringtag: 1.0.2
    +    dev: true
     
    -  is-decimal@1.0.4: {}
    +  /is-decimal@1.0.4:
    +    resolution: {integrity: sha512-RGdriMmQQvZ2aqaQq3awNA6dCGtKpiDFcOzrTWrDAT2MiWrKQVPmxLGHl7Y2nNu6led0kEyoX0enY0qXYsv9zw==}
    +    dev: true
     
    -  is-docker@2.2.1: {}
    +  /is-docker@2.2.1:
    +    resolution: {integrity: sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==}
    +    engines: {node: '>=8'}
    +    hasBin: true
    +    dev: true
     
    -  is-extglob@2.1.1: {}
    +  /is-extglob@2.1.1:
    +    resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==}
    +    engines: {node: '>=0.10.0'}
     
    -  is-fullwidth-code-point@3.0.0: {}
    +  /is-fullwidth-code-point@3.0.0:
    +    resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==}
    +    engines: {node: '>=8'}
     
    -  is-fullwidth-code-point@4.0.0: {}
    +  /is-fullwidth-code-point@4.0.0:
    +    resolution: {integrity: sha512-O4L094N2/dZ7xqVdrXhh9r1KODPJpFms8B5sGdJLPy664AgvXsreZUyCQQNItZRDlYug4xStLjNp/sz3HvBowQ==}
    +    engines: {node: '>=12'}
    +    dev: true
     
    -  is-fullwidth-code-point@5.0.0:
    +  /is-fullwidth-code-point@5.0.0:
    +    resolution: {integrity: sha512-OVa3u9kkBbw7b8Xw5F9P+D/T9X+Z4+JruYVNapTjPYZYUznQ5YfWeFkOj606XYYW8yugTfC8Pj0hYqvi4ryAhA==}
    +    engines: {node: '>=18'}
         dependencies:
           get-east-asian-width: 1.2.0
    +    dev: true
     
    -  is-generator-fn@2.1.0: {}
    +  /is-generator-fn@2.1.0:
    +    resolution: {integrity: sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==}
    +    engines: {node: '>=6'}
    +    dev: true
     
    -  is-glob@4.0.3:
    +  /is-glob@4.0.3:
    +    resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==}
    +    engines: {node: '>=0.10.0'}
         dependencies:
           is-extglob: 2.1.1
     
    -  is-hexadecimal@1.0.4: {}
    +  /is-hexadecimal@1.0.4:
    +    resolution: {integrity: sha512-gyPJuv83bHMpocVYoqof5VDiZveEoGoFL8m3BXNb2VW8Xs+rz9kqO8LOQ5DH6EsuvilT1ApazU0pyl+ytbPtlw==}
    +    dev: true
     
    -  is-installed-globally@0.4.0:
    +  /is-installed-globally@0.4.0:
    +    resolution: {integrity: sha512-iwGqO3J21aaSkC7jWnHP/difazwS7SFeIqxv6wEtLU8Y5KlzFTjyqcSIT0d8s4+dDhKytsk9PJZ2BkS5eZwQRQ==}
    +    engines: {node: '>=10'}
         dependencies:
           global-dirs: 3.0.1
           is-path-inside: 3.0.3
    +    dev: true
     
    -  is-localhost-ip@2.0.0: {}
    +  /is-localhost-ip@2.0.0:
    +    resolution: {integrity: sha512-vlgs2cSgMOfnKU8c1ewgKPyum9rVrjjLLW2HBdL5i0iAJjOs8NY55ZBd/hqUTaYR0EO9CKZd3hVSC2HlIbygTQ==}
    +    engines: {node: '>=12'}
    +    dev: true
     
    -  is-module@1.0.0: {}
    +  /is-module@1.0.0:
    +    resolution: {integrity: sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g==}
    +    dev: true
     
    -  is-negative-zero@2.0.3: {}
    +  /is-negative-zero@2.0.3:
    +    resolution: {integrity: sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==}
    +    engines: {node: '>= 0.4'}
    +    dev: true
     
    -  is-number-object@1.0.7:
    +  /is-number-object@1.0.7:
    +    resolution: {integrity: sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==}
    +    engines: {node: '>= 0.4'}
         dependencies:
           has-tostringtag: 1.0.2
    +    dev: true
     
    -  is-number@7.0.0: {}
    -
    -  is-obj@1.0.1: {}
    +  /is-number@7.0.0:
    +    resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==}
    +    engines: {node: '>=0.12.0'}
     
    -  is-obj@2.0.0: {}
    +  /is-obj@1.0.1:
    +    resolution: {integrity: sha512-l4RyHgRqGN4Y3+9JHVrNqO+tN0rV5My76uW5/nuO4K1b6vw5G8d/cmFjP9tRfEsdhZNt0IFdZuK/c2Vr4Nb+Qg==}
    +    engines: {node: '>=0.10.0'}
    +    dev: true
     
    -  is-path-inside@3.0.3: {}
    +  /is-path-inside@3.0.3:
    +    resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==}
    +    engines: {node: '>=8'}
    +    dev: true
     
    -  is-plain-obj@3.0.0: {}
    +  /is-plain-obj@3.0.0:
    +    resolution: {integrity: sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA==}
    +    engines: {node: '>=10'}
    +    dev: true
     
    -  is-plain-obj@4.1.0: {}
    +  /is-plain-obj@4.1.0:
    +    resolution: {integrity: sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==}
    +    engines: {node: '>=12'}
    +    dev: true
     
    -  is-plain-object@2.0.4:
    +  /is-plain-object@2.0.4:
    +    resolution: {integrity: sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==}
    +    engines: {node: '>=0.10.0'}
         dependencies:
           isobject: 3.0.1
    +    dev: true
     
    -  is-potential-custom-element-name@1.0.1: {}
    +  /is-potential-custom-element-name@1.0.1:
    +    resolution: {integrity: sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==}
    +    dev: true
     
    -  is-promise@2.2.2: {}
    +  /is-promise@2.2.2:
    +    resolution: {integrity: sha512-+lP4/6lKUBfQjZ2pdxThZvLUAafmZb8OAxFb8XXtiQmS35INgr85hdOGoEs124ez1FCnZJt6jau/T+alh58QFQ==}
    +    dev: true
     
    -  is-regex@1.1.4:
    +  /is-regex@1.1.4:
    +    resolution: {integrity: sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==}
    +    engines: {node: '>= 0.4'}
         dependencies:
           call-bind: 1.0.7
           has-tostringtag: 1.0.2
    +    dev: true
     
    -  is-regexp@1.0.0: {}
    +  /is-regexp@1.0.0:
    +    resolution: {integrity: sha512-7zjFAPO4/gwyQAAgRRmqeEeyIICSdmCqa3tsVHMdBzaXXRiqopZL4Cyghg/XulGWrtABTpbnYYzzIRffLkP4oA==}
    +    engines: {node: '>=0.10.0'}
    +    dev: true
     
    -  is-shared-array-buffer@1.0.3:
    +  /is-shared-array-buffer@1.0.3:
    +    resolution: {integrity: sha512-nA2hv5XIhLR3uVzDDfCIknerhx8XUKnstuOERPNNIinXG7v9u+ohXF67vxm4TPTEPU6lm61ZkwP3c9PCB97rhg==}
    +    engines: {node: '>= 0.4'}
         dependencies:
           call-bind: 1.0.7
    +    dev: true
     
    -  is-stream@1.1.0: {}
    +  /is-stream@1.1.0:
    +    resolution: {integrity: sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==}
    +    engines: {node: '>=0.10.0'}
    +    dev: true
     
    -  is-stream@2.0.1: {}
    +  /is-stream@2.0.1:
    +    resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==}
    +    engines: {node: '>=8'}
    +    dev: true
     
    -  is-stream@3.0.0: {}
    +  /is-stream@3.0.0:
    +    resolution: {integrity: sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==}
    +    engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
    +    dev: true
     
    -  is-string@1.0.7:
    +  /is-string@1.0.7:
    +    resolution: {integrity: sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==}
    +    engines: {node: '>= 0.4'}
         dependencies:
           has-tostringtag: 1.0.2
    +    dev: true
     
    -  is-symbol@1.0.4:
    +  /is-symbol@1.0.4:
    +    resolution: {integrity: sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==}
    +    engines: {node: '>= 0.4'}
         dependencies:
           has-symbols: 1.0.3
    +    dev: true
     
    -  is-typed-array@1.1.13:
    +  /is-typed-array@1.1.13:
    +    resolution: {integrity: sha512-uZ25/bUAlUY5fR4OKT4rZQEBrzQWYV9ZJYGGsUmEJ6thodVJ1HX64ePQ6Z0qPWP+m+Uq6e9UugrE38jeYsDSMw==}
    +    engines: {node: '>= 0.4'}
         dependencies:
           which-typed-array: 1.1.15
    +    dev: true
     
    -  is-typedarray@1.0.0: {}
    +  /is-typedarray@1.0.0:
    +    resolution: {integrity: sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==}
    +    dev: true
     
    -  is-unicode-supported@0.1.0: {}
    +  /is-unicode-supported@0.1.0:
    +    resolution: {integrity: sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==}
    +    engines: {node: '>=10'}
    +    dev: true
     
    -  is-weakref@1.0.2:
    +  /is-weakref@1.0.2:
    +    resolution: {integrity: sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==}
         dependencies:
           call-bind: 1.0.7
    +    dev: true
     
    -  is-windows@1.0.2: {}
    +  /is-windows@1.0.2:
    +    resolution: {integrity: sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==}
    +    engines: {node: '>=0.10.0'}
    +    dev: true
     
    -  is-wsl@2.2.0:
    +  /is-wsl@2.2.0:
    +    resolution: {integrity: sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==}
    +    engines: {node: '>=8'}
         dependencies:
           is-docker: 2.2.1
    +    dev: true
     
    -  isarray@1.0.0: {}
    -
    -  isarray@2.0.5: {}
    +  /isarray@1.0.0:
    +    resolution: {integrity: sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==}
    +    dev: true
     
    -  isexe@2.0.0: {}
    +  /isarray@2.0.5:
    +    resolution: {integrity: sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==}
    +    dev: true
     
    -  isobject@3.0.1: {}
    +  /isexe@2.0.0:
    +    resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==}
     
    -  isstream@0.1.2: {}
    +  /isobject@3.0.1:
    +    resolution: {integrity: sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==}
    +    engines: {node: '>=0.10.0'}
    +    dev: true
     
    -  istanbul-lib-coverage@3.2.0: {}
    +  /isstream@0.1.2:
    +    resolution: {integrity: sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g==}
    +    dev: true
     
    -  istanbul-lib-coverage@3.2.2: {}
    +  /istanbul-lib-coverage@3.2.2:
    +    resolution: {integrity: sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==}
    +    engines: {node: '>=8'}
    +    dev: true
     
    -  istanbul-lib-hook@3.0.0:
    +  /istanbul-lib-hook@3.0.0:
    +    resolution: {integrity: sha512-Pt/uge1Q9s+5VAZ+pCo16TYMWPBIl+oaNIjgLQxcX0itS6ueeaA+pEfThZpH8WxhFgCiEb8sAJY6MdUKgiIWaQ==}
    +    engines: {node: '>=8'}
         dependencies:
           append-transform: 2.0.0
    +    dev: true
     
    -  istanbul-lib-instrument@4.0.3:
    +  /istanbul-lib-instrument@4.0.3:
    +    resolution: {integrity: sha512-BXgQl9kf4WTCPCCpmFGoJkz/+uhvm7h7PFKUYxh7qarQd3ER33vHG//qaE8eN25l07YqZPpHXU9I09l/RD5aGQ==}
    +    engines: {node: '>=8'}
         dependencies:
    -      '@babel/core': 7.24.4
    +      '@babel/core': 7.24.7
           '@istanbuljs/schema': 0.1.3
    -      istanbul-lib-coverage: 3.2.0
    +      istanbul-lib-coverage: 3.2.2
           semver: 6.3.1
         transitivePeerDependencies:
           - supports-color
    +    dev: true
     
    -  istanbul-lib-instrument@5.2.1:
    +  /istanbul-lib-instrument@5.2.1:
    +    resolution: {integrity: sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==}
    +    engines: {node: '>=8'}
         dependencies:
    -      '@babel/core': 7.24.5
    -      '@babel/parser': 7.24.5
    +      '@babel/core': 7.24.7
    +      '@babel/parser': 7.24.7
           '@istanbuljs/schema': 0.1.3
           istanbul-lib-coverage: 3.2.2
           semver: 6.3.1
         transitivePeerDependencies:
           - supports-color
    +    dev: true
     
    -  istanbul-lib-instrument@6.0.2:
    +  /istanbul-lib-instrument@6.0.2:
    +    resolution: {integrity: sha512-1WUsZ9R1lA0HtBSohTkm39WTPlNKSJ5iFk7UwqXkBLoHQT+hfqPsfsTDVuZdKGaBwn7din9bS7SsnoAr943hvw==}
    +    engines: {node: '>=10'}
         dependencies:
    -      '@babel/core': 7.24.4
    -      '@babel/parser': 7.24.5
    +      '@babel/core': 7.24.7
    +      '@babel/parser': 7.24.7
           '@istanbuljs/schema': 0.1.3
           istanbul-lib-coverage: 3.2.2
    -      semver: 7.6.0
    +      semver: 7.6.2
         transitivePeerDependencies:
           - supports-color
    +    dev: true
     
    -  istanbul-lib-processinfo@2.0.3:
    +  /istanbul-lib-processinfo@2.0.3:
    +    resolution: {integrity: sha512-NkwHbo3E00oybX6NGJi6ar0B29vxyvNwoC7eJ4G4Yq28UfY758Hgn/heV8VRFhevPED4LXfFz0DQ8z/0kw9zMg==}
    +    engines: {node: '>=8'}
         dependencies:
           archy: 1.0.0
           cross-spawn: 7.0.3
    -      istanbul-lib-coverage: 3.2.0
    +      istanbul-lib-coverage: 3.2.2
           p-map: 3.0.0
           rimraf: 3.0.2
           uuid: 8.3.2
    +    dev: true
     
    -  istanbul-lib-report@3.0.1:
    +  /istanbul-lib-report@3.0.1:
    +    resolution: {integrity: sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==}
    +    engines: {node: '>=10'}
         dependencies:
    -      istanbul-lib-coverage: 3.2.0
    +      istanbul-lib-coverage: 3.2.2
           make-dir: 4.0.0
           supports-color: 7.2.0
    +    dev: true
     
    -  istanbul-lib-source-maps@4.0.1:
    +  /istanbul-lib-source-maps@4.0.1:
    +    resolution: {integrity: sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==}
    +    engines: {node: '>=10'}
         dependencies:
    -      debug: 4.3.4(supports-color@8.1.1)
    -      istanbul-lib-coverage: 3.2.0
    +      debug: 4.3.5(supports-color@8.1.1)
    +      istanbul-lib-coverage: 3.2.2
           source-map: 0.6.1
         transitivePeerDependencies:
           - supports-color
    +    dev: true
     
    -  istanbul-lib-source-maps@5.0.4:
    +  /istanbul-lib-source-maps@5.0.4:
    +    resolution: {integrity: sha512-wHOoEsNJTVltaJp8eVkm8w+GVkVNHT2YDYo53YdzQEL2gWm1hBX5cGFR9hQJtuGLebidVX7et3+dmDZrmclduw==}
    +    engines: {node: '>=10'}
         dependencies:
           '@jridgewell/trace-mapping': 0.3.25
    -      debug: 4.3.4(supports-color@8.1.1)
    +      debug: 4.3.5(supports-color@8.1.1)
           istanbul-lib-coverage: 3.2.2
         transitivePeerDependencies:
           - supports-color
    +    dev: true
     
    -  istanbul-reports@3.1.6:
    -    dependencies:
    -      html-escaper: 2.0.2
    -      istanbul-lib-report: 3.0.1
    -
    -  istanbul-reports@3.1.7:
    +  /istanbul-reports@3.1.7:
    +    resolution: {integrity: sha512-BewmUXImeuRk2YY0PVbxgKAysvhRPUQE0h5QRM++nVWyubKGV0l8qQ5op8+B2DOmwSe63Jivj0BjkPQVf8fP5g==}
    +    engines: {node: '>=8'}
         dependencies:
           html-escaper: 2.0.2
           istanbul-lib-report: 3.0.1
    +    dev: true
     
    -  iterm2-version@4.2.0:
    +  /iterm2-version@4.2.0:
    +    resolution: {integrity: sha512-IoiNVk4SMPu6uTcK+1nA5QaHNok2BMDLjSl5UomrOixe5g4GkylhPwuiGdw00ysSCrXAKNMfFTu+u/Lk5f6OLQ==}
    +    engines: {node: '>=8'}
         dependencies:
           app-path: 3.3.0
           plist: 3.1.0
    +    dev: true
     
    -  jackspeak@2.3.6:
    +  /jackspeak@3.4.0:
    +    resolution: {integrity: sha512-JVYhQnN59LVPFCEcVa2C3CrEKYacvjRfqIQl+h8oi91aLYQVWRYbxjPcv1bUiUy/kLmQaANrYfNMCO3kuEDHfw==}
    +    engines: {node: '>=14'}
         dependencies:
           '@isaacs/cliui': 8.0.2
         optionalDependencies:
           '@pkgjs/parseargs': 0.11.0
     
    -  jake@10.8.7:
    +  /jake@10.9.1:
    +    resolution: {integrity: sha512-61btcOHNnLnsOdtLgA5efqQWjnSi/vow5HbI7HMdKKWqvrKR1bLK3BPlJn9gcSaP2ewuamUSMB5XEy76KUIS2w==}
    +    engines: {node: '>=10'}
    +    hasBin: true
         dependencies:
           async: 3.2.5
           chalk: 4.1.2
           filelist: 1.0.4
           minimatch: 3.1.2
    +    dev: true
     
    -  jest-changed-files@29.7.0:
    +  /jest-changed-files@29.7.0:
    +    resolution: {integrity: sha512-fEArFiwf1BpQ+4bXSprcDc3/x4HSzL4al2tozwVpDFpsxALjLYdyiIK4e5Vz66GQJIbXJ82+35PtysofptNX2w==}
    +    engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
         dependencies:
           execa: 5.1.1
           jest-util: 29.7.0
           p-limit: 3.1.0
    +    dev: true
     
    -  jest-circus@29.7.0:
    +  /jest-circus@29.7.0:
    +    resolution: {integrity: sha512-3E1nCMgipcTkCocFwM90XXQab9bS+GMsjdpmPrlelaxwD93Ad8iVEjX/vvHPdLPnFf+L40u+5+iutRdA1N9myw==}
    +    engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
         dependencies:
           '@jest/environment': 29.7.0
           '@jest/expect': 29.7.0
           '@jest/test-result': 29.7.0
           '@jest/types': 29.6.3
    -      '@types/node': 20.12.7
    +      '@types/node': 20.14.2
           chalk: 4.1.2
           co: 4.6.0
    -      dedent: 1.5.1
    +      dedent: 1.5.3
           is-generator-fn: 2.1.0
           jest-each: 29.7.0
           jest-matcher-utils: 29.7.0
    @@ -15470,23 +10908,32 @@ snapshots:
           jest-util: 29.7.0
           p-limit: 3.1.0
           pretty-format: 29.7.0
    -      pure-rand: 6.0.4
    +      pure-rand: 6.1.0
           slash: 3.0.0
           stack-utils: 2.0.6
         transitivePeerDependencies:
           - babel-plugin-macros
           - supports-color
    +    dev: true
     
    -  jest-cli@29.7.0(@types/node@20.12.7):
    +  /jest-cli@29.7.0(@types/node@20.14.2):
    +    resolution: {integrity: sha512-OVVobw2IubN/GSYsxETi+gOe7Ka59EFMR/twOU3Jb2GnKKeMGJB5SGUUrEz3SFVmJASUdZUzy83sLNNQ2gZslg==}
    +    engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
    +    hasBin: true
    +    peerDependencies:
    +      node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0
    +    peerDependenciesMeta:
    +      node-notifier:
    +        optional: true
         dependencies:
           '@jest/core': 29.7.0
           '@jest/test-result': 29.7.0
           '@jest/types': 29.6.3
           chalk: 4.1.2
    -      create-jest: 29.7.0(@types/node@20.12.7)
    +      create-jest: 29.7.0(@types/node@20.14.2)
           exit: 0.1.2
           import-local: 3.1.0
    -      jest-config: 29.7.0(@types/node@20.12.7)
    +      jest-config: 29.7.0(@types/node@20.14.2)
           jest-util: 29.7.0
           jest-validate: 29.7.0
           yargs: 17.7.2
    @@ -15495,14 +10942,25 @@ snapshots:
           - babel-plugin-macros
           - supports-color
           - ts-node
    +    dev: true
     
    -  jest-config@29.7.0(@types/node@20.12.7):
    +  /jest-config@29.7.0(@types/node@20.14.2):
    +    resolution: {integrity: sha512-uXbpfeQ7R6TZBqI3/TxCU4q4ttk3u0PJeC+E0zbfSoSjq6bJ7buBPxzQPL0ifrkY4DNu4JUdk0ImlBUYi840eQ==}
    +    engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
    +    peerDependencies:
    +      '@types/node': '*'
    +      ts-node: '>=9.0.0'
    +    peerDependenciesMeta:
    +      '@types/node':
    +        optional: true
    +      ts-node:
    +        optional: true
         dependencies:
    -      '@babel/core': 7.24.5
    +      '@babel/core': 7.24.7
           '@jest/test-sequencer': 29.7.0
           '@jest/types': 29.6.3
    -      '@types/node': 20.12.7
    -      babel-jest: 29.7.0(@babel/core@7.24.5)
    +      '@types/node': 20.14.2
    +      babel-jest: 29.7.0(@babel/core@7.24.7)
           chalk: 4.1.2
           ci-info: 3.9.0
           deepmerge: 4.3.1
    @@ -15516,7 +10974,7 @@ snapshots:
           jest-runner: 29.7.0
           jest-util: 29.7.0
           jest-validate: 29.7.0
    -      micromatch: 4.0.5
    +      micromatch: 4.0.7
           parse-json: 5.2.0
           pretty-format: 29.7.0
           slash: 3.0.0
    @@ -15524,110 +10982,162 @@ snapshots:
         transitivePeerDependencies:
           - babel-plugin-macros
           - supports-color
    +    dev: true
     
    -  jest-diff@29.7.0:
    +  /jest-diff@29.7.0:
    +    resolution: {integrity: sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw==}
    +    engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
         dependencies:
           chalk: 4.1.2
           diff-sequences: 29.6.3
           jest-get-type: 29.6.3
           pretty-format: 29.7.0
    +    dev: true
     
    -  jest-docblock@29.7.0:
    +  /jest-docblock@29.7.0:
    +    resolution: {integrity: sha512-q617Auw3A612guyaFgsbFeYpNP5t2aoUNLwBUbc/0kD1R4t9ixDbyFTHd1nok4epoVFpr7PmeWHrhvuV3XaJ4g==}
    +    engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
         dependencies:
           detect-newline: 3.1.0
    +    dev: true
     
    -  jest-each@29.7.0:
    +  /jest-each@29.7.0:
    +    resolution: {integrity: sha512-gns+Er14+ZrEoC5fhOfYCY1LOHHr0TI+rQUHZS8Ttw2l7gl+80eHc/gFf2Ktkw0+SIACDTeWvpFcv3B04VembQ==}
    +    engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
         dependencies:
           '@jest/types': 29.6.3
           chalk: 4.1.2
           jest-get-type: 29.6.3
           jest-util: 29.7.0
           pretty-format: 29.7.0
    +    dev: true
     
    -  jest-environment-node@29.7.0:
    +  /jest-environment-node@29.7.0:
    +    resolution: {integrity: sha512-DOSwCRqXirTOyheM+4d5YZOrWcdu0LNZ87ewUoywbcb2XR4wKgqiG8vNeYwhjFMbEkfju7wx2GYH0P2gevGvFw==}
    +    engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
         dependencies:
           '@jest/environment': 29.7.0
           '@jest/fake-timers': 29.7.0
           '@jest/types': 29.6.3
    -      '@types/node': 20.12.7
    +      '@types/node': 20.14.2
           jest-mock: 29.7.0
           jest-util: 29.7.0
    +    dev: true
     
    -  jest-get-type@29.6.3: {}
    +  /jest-get-type@29.6.3:
    +    resolution: {integrity: sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw==}
    +    engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
    +    dev: true
     
    -  jest-haste-map@29.7.0:
    +  /jest-haste-map@29.7.0:
    +    resolution: {integrity: sha512-fP8u2pyfqx0K1rGn1R9pyE0/KTn+G7PxktWidOBTqFPLYX0b9ksaMFkhK5vrS3DVun09pckLdlx90QthlW7AmA==}
    +    engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
         dependencies:
           '@jest/types': 29.6.3
           '@types/graceful-fs': 4.1.9
    -      '@types/node': 20.12.7
    +      '@types/node': 20.14.2
           anymatch: 3.1.3
           fb-watchman: 2.0.2
           graceful-fs: 4.2.11
           jest-regex-util: 29.6.3
           jest-util: 29.7.0
           jest-worker: 29.7.0
    -      micromatch: 4.0.5
    +      micromatch: 4.0.7
           walker: 1.0.8
         optionalDependencies:
           fsevents: 2.3.3
    +    dev: true
     
    -  jest-image-snapshot@4.2.0(jest@29.7.0):
    +  /jest-image-snapshot@4.2.0(jest@29.7.0):
    +    resolution: {integrity: sha512-6aAqv2wtfOgxiJeBayBCqHo1zX+A12SUNNzo7rIxiXh6W6xYVu8QyHWkada8HeRi+QUTHddp0O0Xa6kmQr+xbQ==}
    +    engines: {node: '>= 10.14.2'}
    +    peerDependencies:
    +      jest: '>=20 <=26'
         dependencies:
           chalk: 1.1.3
           get-stdin: 5.0.1
           glur: 1.1.2
    -      jest: 29.7.0(@types/node@20.12.7)
    +      jest: 29.7.0(@types/node@20.14.2)
           lodash: 4.17.21
           mkdirp: 0.5.6
           pixelmatch: 5.3.0
           pngjs: 3.4.0
           rimraf: 2.7.1
           ssim.js: 3.5.0
    +    dev: true
     
    -  jest-leak-detector@29.7.0:
    +  /jest-leak-detector@29.7.0:
    +    resolution: {integrity: sha512-kYA8IJcSYtST2BY9I+SMC32nDpBT3J2NvWJx8+JCuCdl/CR1I4EKUJROiP8XtCcxqgTTBGJNdbB1A8XRKbTetw==}
    +    engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
         dependencies:
           jest-get-type: 29.6.3
           pretty-format: 29.7.0
    +    dev: true
     
    -  jest-matcher-utils@29.7.0:
    +  /jest-matcher-utils@29.7.0:
    +    resolution: {integrity: sha512-sBkD+Xi9DtcChsI3L3u0+N0opgPYnCRPtGcQYrgXmR+hmt/fYfWAL0xRXYU8eWOdfuLgBe0YCW3AFtnRLagq/g==}
    +    engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
         dependencies:
           chalk: 4.1.2
           jest-diff: 29.7.0
           jest-get-type: 29.6.3
           pretty-format: 29.7.0
    +    dev: true
     
    -  jest-message-util@29.7.0:
    +  /jest-message-util@29.7.0:
    +    resolution: {integrity: sha512-GBEV4GRADeP+qtB2+6u61stea8mGcOT4mCtrYISZwfu9/ISHFJ/5zOMXYbpBE9RsS5+Gb63DW4FgmnKJ79Kf6w==}
    +    engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
         dependencies:
    -      '@babel/code-frame': 7.24.2
    +      '@babel/code-frame': 7.24.7
           '@jest/types': 29.6.3
           '@types/stack-utils': 2.0.3
           chalk: 4.1.2
           graceful-fs: 4.2.11
    -      micromatch: 4.0.5
    +      micromatch: 4.0.7
           pretty-format: 29.7.0
           slash: 3.0.0
           stack-utils: 2.0.6
    +    dev: true
     
    -  jest-mock@29.7.0:
    +  /jest-mock@29.7.0:
    +    resolution: {integrity: sha512-ITOMZn+UkYS4ZFh83xYAOzWStloNzJFO2s8DWrE4lhtGD+AorgnbkiKERe4wQVBydIGPx059g6riW5Btp6Llnw==}
    +    engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
         dependencies:
           '@jest/types': 29.6.3
    -      '@types/node': 20.12.7
    +      '@types/node': 20.14.2
           jest-util: 29.7.0
    +    dev: true
     
    -  jest-pnp-resolver@1.2.3(jest-resolve@29.7.0):
    +  /jest-pnp-resolver@1.2.3(jest-resolve@29.7.0):
    +    resolution: {integrity: sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==}
    +    engines: {node: '>=6'}
    +    peerDependencies:
    +      jest-resolve: '*'
    +    peerDependenciesMeta:
    +      jest-resolve:
    +        optional: true
         dependencies:
           jest-resolve: 29.7.0
    +    dev: true
     
    -  jest-regex-util@29.6.3: {}
    +  /jest-regex-util@29.6.3:
    +    resolution: {integrity: sha512-KJJBsRCyyLNWCNBOvZyRDnAIfUiRJ8v+hOBQYGn8gDyF3UegwiP4gwRR3/SDa42g1YbVycTidUF3rKjyLFDWbg==}
    +    engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
    +    dev: true
     
    -  jest-resolve-dependencies@29.7.0:
    +  /jest-resolve-dependencies@29.7.0:
    +    resolution: {integrity: sha512-un0zD/6qxJ+S0et7WxeI3H5XSe9lTBBR7bOHCHXkKR6luG5mwDDlIzVQ0V5cZCuoTgEdcdwzTghYkTWfubi+nA==}
    +    engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
         dependencies:
           jest-regex-util: 29.6.3
           jest-snapshot: 29.7.0
         transitivePeerDependencies:
           - supports-color
    +    dev: true
     
    -  jest-resolve@29.7.0:
    +  /jest-resolve@29.7.0:
    +    resolution: {integrity: sha512-IOVhZSrg+UvVAshDSDtHyFCCBUl/Q3AAJv8iZ6ZjnZ74xzvwuzLXid9IIIPgTnY62SJjfuupMKZsZQRsCvxEgA==}
    +    engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
         dependencies:
           chalk: 4.1.2
           graceful-fs: 4.2.11
    @@ -15638,15 +11148,18 @@ snapshots:
           resolve: 1.22.8
           resolve.exports: 2.0.2
           slash: 3.0.0
    +    dev: true
     
    -  jest-runner@29.7.0:
    +  /jest-runner@29.7.0:
    +    resolution: {integrity: sha512-fsc4N6cPCAahybGBfTRcq5wFR6fpLznMg47sY5aDpsoejOcVYFb07AHuSnR0liMcPTgBsA3ZJL6kFOjPdoNipQ==}
    +    engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
         dependencies:
           '@jest/console': 29.7.0
           '@jest/environment': 29.7.0
           '@jest/test-result': 29.7.0
           '@jest/transform': 29.7.0
           '@jest/types': 29.6.3
    -      '@types/node': 20.12.7
    +      '@types/node': 20.14.2
           chalk: 4.1.2
           emittery: 0.13.1
           graceful-fs: 4.2.11
    @@ -15664,8 +11177,11 @@ snapshots:
           source-map-support: 0.5.13
         transitivePeerDependencies:
           - supports-color
    +    dev: true
     
    -  jest-runtime@29.7.0:
    +  /jest-runtime@29.7.0:
    +    resolution: {integrity: sha512-gUnLjgwdGqW7B4LvOIkbKs9WGbn+QLqRQQ9juC6HndeDiezIwhDP+mhMwHWCEcfQ5RUXa6OPnFF8BJh5xegwwQ==}
    +    engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
         dependencies:
           '@jest/environment': 29.7.0
           '@jest/fake-timers': 29.7.0
    @@ -15674,9 +11190,9 @@ snapshots:
           '@jest/test-result': 29.7.0
           '@jest/transform': 29.7.0
           '@jest/types': 29.6.3
    -      '@types/node': 20.12.7
    +      '@types/node': 20.14.2
           chalk: 4.1.2
    -      cjs-module-lexer: 1.2.3
    +      cjs-module-lexer: 1.3.1
           collect-v8-coverage: 1.0.2
           glob: 7.2.3
           graceful-fs: 4.2.11
    @@ -15691,18 +11207,21 @@ snapshots:
           strip-bom: 4.0.0
         transitivePeerDependencies:
           - supports-color
    +    dev: true
     
    -  jest-snapshot@29.7.0:
    +  /jest-snapshot@29.7.0:
    +    resolution: {integrity: sha512-Rm0BMWtxBcioHr1/OX5YCP8Uov4riHvKPknOGs804Zg9JGZgmIBkbtlxJC/7Z4msKYVbIJtfU+tKb8xlYNfdkw==}
    +    engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
         dependencies:
    -      '@babel/core': 7.24.5
    -      '@babel/generator': 7.24.5
    -      '@babel/plugin-syntax-jsx': 7.24.1(@babel/core@7.24.5)
    -      '@babel/plugin-syntax-typescript': 7.24.1(@babel/core@7.24.5)
    -      '@babel/types': 7.24.5
    +      '@babel/core': 7.24.7
    +      '@babel/generator': 7.24.7
    +      '@babel/plugin-syntax-jsx': 7.24.7(@babel/core@7.24.7)
    +      '@babel/plugin-syntax-typescript': 7.24.7(@babel/core@7.24.7)
    +      '@babel/types': 7.24.7
           '@jest/expect-utils': 29.7.0
           '@jest/transform': 29.7.0
           '@jest/types': 29.6.3
    -      babel-preset-current-node-syntax: 1.0.1(@babel/core@7.24.5)
    +      babel-preset-current-node-syntax: 1.0.1(@babel/core@7.24.7)
           chalk: 4.1.2
           expect: 29.7.0
           graceful-fs: 4.2.11
    @@ -15713,20 +11232,26 @@ snapshots:
           jest-util: 29.7.0
           natural-compare: 1.4.0
           pretty-format: 29.7.0
    -      semver: 7.6.0
    +      semver: 7.6.2
         transitivePeerDependencies:
           - supports-color
    +    dev: true
     
    -  jest-util@29.7.0:
    +  /jest-util@29.7.0:
    +    resolution: {integrity: sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA==}
    +    engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
         dependencies:
           '@jest/types': 29.6.3
    -      '@types/node': 20.12.7
    +      '@types/node': 20.14.2
           chalk: 4.1.2
           ci-info: 3.9.0
           graceful-fs: 4.2.11
           picomatch: 2.3.1
    +    dev: true
     
    -  jest-validate@29.7.0:
    +  /jest-validate@29.7.0:
    +    resolution: {integrity: sha512-ZB7wHqaRGVw/9hST/OuFUReG7M8vKeq0/J2egIGLdvjHCmYqGARhzXmtgi+gVeZ5uXFF219aOc3Ls2yLg27tkw==}
    +    engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
         dependencies:
           '@jest/types': 29.6.3
           camelcase: 6.3.0
    @@ -15734,49 +11259,75 @@ snapshots:
           jest-get-type: 29.6.3
           leven: 3.1.0
           pretty-format: 29.7.0
    +    dev: true
     
    -  jest-watcher@29.7.0:
    +  /jest-watcher@29.7.0:
    +    resolution: {integrity: sha512-49Fg7WXkU3Vl2h6LbLtMQ/HyB6rXSIX7SqvBLQmssRBGN9I0PNvPmAmCWSOY6SOvrjhI/F7/bGAv9RtnsPA03g==}
    +    engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
         dependencies:
           '@jest/test-result': 29.7.0
           '@jest/types': 29.6.3
    -      '@types/node': 20.12.7
    +      '@types/node': 20.14.2
           ansi-escapes: 4.3.2
           chalk: 4.1.2
           emittery: 0.13.1
           jest-util: 29.7.0
           string-length: 4.0.2
    +    dev: true
     
    -  jest-worker@27.5.1:
    +  /jest-worker@27.5.1:
    +    resolution: {integrity: sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==}
    +    engines: {node: '>= 10.13.0'}
         dependencies:
    -      '@types/node': 20.12.7
    +      '@types/node': 20.14.2
           merge-stream: 2.0.0
           supports-color: 8.1.1
    +    dev: true
     
    -  jest-worker@29.7.0:
    +  /jest-worker@29.7.0:
    +    resolution: {integrity: sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==}
    +    engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
         dependencies:
    -      '@types/node': 20.12.7
    +      '@types/node': 20.14.2
           jest-util: 29.7.0
           merge-stream: 2.0.0
           supports-color: 8.1.1
    +    dev: true
     
    -  jest@29.7.0(@types/node@20.12.7):
    +  /jest@29.7.0(@types/node@20.14.2):
    +    resolution: {integrity: sha512-NIy3oAFp9shda19hy4HK0HRTWKtPJmGdnvywu01nOqNC2vZg+Z+fvJDxpMQA88eb2I9EcafcdjYgsDthnYTvGw==}
    +    engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
    +    hasBin: true
    +    peerDependencies:
    +      node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0
    +    peerDependenciesMeta:
    +      node-notifier:
    +        optional: true
         dependencies:
           '@jest/core': 29.7.0
           '@jest/types': 29.6.3
           import-local: 3.1.0
    -      jest-cli: 29.7.0(@types/node@20.12.7)
    +      jest-cli: 29.7.0(@types/node@20.14.2)
         transitivePeerDependencies:
           - '@types/node'
           - babel-plugin-macros
           - supports-color
           - ts-node
    +    dev: true
     
    -  jison-lex@0.3.4:
    +  /jison-lex@0.3.4:
    +    resolution: {integrity: sha512-EBh5wrXhls1cUwROd5DcDHR1sG7CdsCFSqY1027+YA1RGxz+BX2TDLAhdsQf40YEtFDGoiO0Qm8PpnBl2EzDJw==}
    +    engines: {node: '>=0.4'}
    +    hasBin: true
         dependencies:
           lex-parser: 0.1.4
           nomnom: 1.5.2
    +    dev: true
     
    -  jison@0.4.18:
    +  /jison@0.4.18:
    +    resolution: {integrity: sha512-FKkCiJvozgC7VTHhMJ00a0/IApSxhlGsFIshLW6trWJ8ONX2TQJBBz6DlcO1Gffy4w9LT+uL+PA+CVnUSJMF7w==}
    +    engines: {node: '>=0.4'}
    +    hasBin: true
         dependencies:
           JSONSelect: 0.4.0
           cjson: 0.3.0
    @@ -15786,41 +11337,74 @@ snapshots:
           jison-lex: 0.3.4
           lex-parser: 0.1.4
           nomnom: 1.5.2
    +    dev: true
     
    -  jiti@1.21.0: {}
    +  /jiti@1.21.6:
    +    resolution: {integrity: sha512-2yTgeWTWzMWkHu6Jp9NKgePDaYHbntiwvYuuJLbbN9vl7DC9DvXKOB2BC3ZZ92D3cvV/aflH0osDfwpHepQ53w==}
    +    hasBin: true
     
    -  jju@1.4.0: {}
    +  /jju@1.4.0:
    +    resolution: {integrity: sha512-8wb9Yw966OSxApiCt0K3yNJL8pnNeIv+OEq2YMidz4FKP6nonSRoOXc80iXY4JaN2FC11B9qsNmDsm+ZOfMROA==}
    +    dev: true
     
    -  joi@17.12.2:
    +  /joi@17.13.1:
    +    resolution: {integrity: sha512-vaBlIKCyo4FCUtCm7Eu4QZd/q02bWcxfUO6YSXAZOWF6gzcLBeba8kwotUdYJjDLW8Cz8RywsSOqiNJZW0mNvg==}
         dependencies:
           '@hapi/hoek': 9.3.0
           '@hapi/topo': 5.1.0
           '@sideway/address': 4.1.5
           '@sideway/formula': 3.0.1
           '@sideway/pinpoint': 2.0.0
    +    dev: true
     
    -  jpeg-js@0.4.4: {}
    +  /jpeg-js@0.4.4:
    +    resolution: {integrity: sha512-WZzeDOEtTOBK4Mdsar0IqEU5sMr3vSV2RqkAIzUEV2BHnUfKGyswWFPFwK5EeDo93K3FohSHbLAjj0s1Wzd+dg==}
    +    dev: true
     
    -  js-base64@3.7.7: {}
    +  /js-base64@3.7.7:
    +    resolution: {integrity: sha512-7rCnleh0z2CkXhH67J8K1Ytz0b2Y+yxTPL+/KOJoa20hfnVQ/3/T6W/KflYI4bRHRagNeXeU2bkNGI3v1oS/lw==}
    +    dev: true
     
    -  js-tokens@4.0.0: {}
    +  /js-tokens@4.0.0:
    +    resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==}
    +    dev: true
     
    -  js-tokens@9.0.0: {}
    +  /js-tokens@9.0.0:
    +    resolution: {integrity: sha512-WriZw1luRMlmV3LGJaR6QOJjWwgLUTf89OwT2lUOyjX2dJGBwgmIkbcz+7WFZjrZM635JOIR517++e/67CP9dQ==}
    +    dev: true
     
    -  js-yaml@3.14.1:
    +  /js-yaml@3.14.1:
    +    resolution: {integrity: sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==}
    +    hasBin: true
         dependencies:
           argparse: 1.0.10
           esprima: 4.0.1
    +    dev: true
     
    -  js-yaml@4.1.0:
    +  /js-yaml@4.1.0:
    +    resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==}
    +    hasBin: true
         dependencies:
           argparse: 2.0.1
    +    dev: true
     
    -  jsbn@0.1.1: {}
    +  /jsbn@0.1.1:
    +    resolution: {integrity: sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg==}
    +    dev: true
     
    -  jsdoc-type-pratt-parser@4.0.0: {}
    +  /jsdoc-type-pratt-parser@4.0.0:
    +    resolution: {integrity: sha512-YtOli5Cmzy3q4dP26GraSOeAhqecewG04hoO8DY56CH4KJ9Fvv5qKWUCCo3HZob7esJQHCv6/+bnTy72xZZaVQ==}
    +    engines: {node: '>=12.0.0'}
    +    dev: true
     
    -  jsdom@24.0.0:
    +  /jsdom@24.1.0:
    +    resolution: {integrity: sha512-6gpM7pRXCwIOKxX47cgOyvyQDN/Eh0f1MeKySBV2xGdKtqJBLj8P25eY3EVCWo2mglDDzozR2r2MW4T+JiNUZA==}
    +    engines: {node: '>=18'}
    +    peerDependencies:
    +      canvas: ^2.11.2
    +    peerDependenciesMeta:
    +      canvas:
    +        optional: true
         dependencies:
           cssstyle: 4.0.1
           data-urls: 5.0.0
    @@ -15830,39 +11414,58 @@ snapshots:
           http-proxy-agent: 7.0.2
           https-proxy-agent: 7.0.4
           is-potential-custom-element-name: 1.0.1
    -      nwsapi: 2.2.7
    +      nwsapi: 2.2.10
           parse5: 7.1.2
    -      rrweb-cssom: 0.6.0
    +      rrweb-cssom: 0.7.1
           saxes: 6.0.0
           symbol-tree: 3.2.4
    -      tough-cookie: 4.1.3
    +      tough-cookie: 4.1.4
           w3c-xmlserializer: 5.0.0
           webidl-conversions: 7.0.0
           whatwg-encoding: 3.1.1
           whatwg-mimetype: 4.0.0
           whatwg-url: 14.0.0
    -      ws: 8.16.0
    +      ws: 8.17.0
           xml-name-validator: 5.0.0
         transitivePeerDependencies:
           - bufferutil
           - supports-color
           - utf-8-validate
    +    dev: true
     
    -  jsesc@0.5.0: {}
    +  /jsesc@0.5.0:
    +    resolution: {integrity: sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==}
    +    hasBin: true
    +    dev: true
     
    -  jsesc@2.5.2: {}
    +  /jsesc@2.5.2:
    +    resolution: {integrity: sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==}
    +    engines: {node: '>=4'}
    +    hasBin: true
    +    dev: true
     
    -  jsesc@3.0.2: {}
    +  /jsesc@3.0.2:
    +    resolution: {integrity: sha512-xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g==}
    +    engines: {node: '>=6'}
    +    hasBin: true
    +    dev: true
     
    -  json-buffer@3.0.1: {}
    +  /json-buffer@3.0.1:
    +    resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==}
    +    dev: true
     
    -  json-parse-even-better-errors@2.3.1: {}
    +  /json-parse-even-better-errors@2.3.1:
    +    resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==}
    +    dev: true
     
    -  json-schema-to-typescript@13.1.2:
    +  /json-schema-to-typescript@13.1.2:
    +    resolution: {integrity: sha512-17G+mjx4nunvOpkPvcz7fdwUwYCEwyH8vR3Ym3rFiQ8uzAL3go+c1306Kk7iGRk8HuXBXqy+JJJmpYl0cvOllw==}
    +    engines: {node: '>=12.0.0'}
    +    hasBin: true
         dependencies:
           '@bcherny/json-schema-ref-parser': 10.0.5-fork
           '@types/json-schema': 7.0.15
    -      '@types/lodash': 4.17.0
    +      '@types/lodash': 4.17.5
           '@types/prettier': 2.7.3
           cli-color: 2.0.4
           get-stdin: 8.0.0
    @@ -15874,68 +11477,125 @@ snapshots:
           mkdirp: 1.0.4
           mz: 2.7.0
           prettier: 2.8.8
    +    dev: true
     
    -  json-schema-traverse@0.4.1: {}
    +  /json-schema-traverse@0.4.1:
    +    resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==}
    +    dev: true
     
    -  json-schema-traverse@1.0.0: {}
    +  /json-schema-traverse@1.0.0:
    +    resolution: {integrity: sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==}
    +    dev: true
     
    -  json-schema@0.4.0: {}
    +  /json-schema@0.4.0:
    +    resolution: {integrity: sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==}
    +    dev: true
     
    -  json-stable-stringify-without-jsonify@1.0.1: {}
    +  /json-stable-stringify-without-jsonify@1.0.1:
    +    resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==}
    +    dev: true
     
    -  json-stringify-safe@5.0.1: {}
    +  /json-stringify-safe@5.0.1:
    +    resolution: {integrity: sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==}
    +    dev: true
     
    -  json5@2.2.3: {}
    +  /json5@2.2.3:
    +    resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==}
    +    engines: {node: '>=6'}
    +    hasBin: true
    +    dev: true
     
    -  jsonc-parser@3.2.1: {}
    +  /jsonc-parser@3.2.1:
    +    resolution: {integrity: sha512-AilxAyFOAcK5wA1+LeaySVBrHsGQvUFCDWXKpZjzaL0PqW+xfBOttn8GNtWKFWqneyMZj41MWF9Kl6iPWLwgOA==}
    +    dev: true
     
    -  jsonfile@4.0.0:
    +  /jsonfile@4.0.0:
    +    resolution: {integrity: sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==}
         optionalDependencies:
           graceful-fs: 4.2.11
    +    dev: true
     
    -  jsonfile@6.1.0:
    +  /jsonfile@6.1.0:
    +    resolution: {integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==}
         dependencies:
           universalify: 2.0.1
         optionalDependencies:
           graceful-fs: 4.2.11
    +    dev: true
     
    -  jsonlint@1.6.0:
    +  /jsonlint@1.6.0:
    +    resolution: {integrity: sha512-x6YLBe6NjdpmIeiklwQOxsZuYj/SOWkT33GlTpaG1UdFGjdWjPcxJ1CWZAX3wA7tarz8E2YHF6KiW5HTapPlXw==}
    +    engines: {node: '>= 0.6'}
    +    hasBin: true
         dependencies:
           JSV: 4.0.2
           nomnom: 1.5.2
    +    dev: true
     
    -  jsonpointer@5.0.1: {}
    +  /jsonpointer@5.0.1:
    +    resolution: {integrity: sha512-p/nXbhSEcu3pZRdkW1OfJhpsVtW1gd4Wa1fnQc9YLiTfAjn0312eMKimbdIQzuZl9aa9xUGaRlP9T/CJE/ditQ==}
    +    engines: {node: '>=0.10.0'}
    +    dev: true
     
    -  jsonschema@1.4.1: {}
    +  /jsonschema@1.4.1:
    +    resolution: {integrity: sha512-S6cATIPVv1z0IlxdN+zUk5EPjkGCdnhN4wVSBlvoUO1tOLJootbo9CquNJmbIh4yikWHiUedhRYrNPn1arpEmQ==}
    +    dev: true
     
    -  jsprim@2.0.2:
    +  /jsprim@2.0.2:
    +    resolution: {integrity: sha512-gqXddjPqQ6G40VdnI6T6yObEC+pDNvyP95wdQhkWkg7crHH3km5qP1FsOXEkzEQwnz6gz5qGTn1c2Y52wP3OyQ==}
    +    engines: {'0': node >=0.6.0}
         dependencies:
           assert-plus: 1.0.0
           extsprintf: 1.3.0
           json-schema: 0.4.0
           verror: 1.10.0
    +    dev: true
     
    -  junk@4.0.1: {}
    +  /junk@4.0.1:
    +    resolution: {integrity: sha512-Qush0uP+G8ZScpGMZvHUiRfI0YBWuB3gVBYlI0v0vvOJt5FLicco+IkP0a50LqTTQhmts/m6tP5SWE+USyIvcQ==}
    +    engines: {node: '>=12.20'}
    +    dev: true
     
    -  katex@0.16.10:
    +  /katex@0.16.10:
    +    resolution: {integrity: sha512-ZiqaC04tp2O5utMsl2TEZTXxa6WSC4yo0fv5ML++D3QZv/vx2Mct0mTlRx3O+uUkjfuAgOkzsCmq5MiUEsDDdA==}
    +    hasBin: true
         dependencies:
           commander: 8.3.0
    +    dev: false
     
    -  keyv@4.5.4:
    +  /keyv@4.5.4:
    +    resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==}
         dependencies:
           json-buffer: 3.0.1
    +    dev: true
     
    -  khroma@2.1.0: {}
    +  /khroma@2.1.0:
    +    resolution: {integrity: sha512-Ls993zuzfayK269Svk9hzpeGUKob/sIgZzyHYdjQoAdQetRKpOLj+k/QQQ/6Qi0Yz65mlROrfd+Ev+1+7dz9Kw==}
    +    dev: false
     
    -  kind-of@6.0.3: {}
    +  /kind-of@6.0.3:
    +    resolution: {integrity: sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==}
    +    engines: {node: '>=0.10.0'}
    +    dev: true
     
    -  kleur@3.0.3: {}
    +  /kleur@3.0.3:
    +    resolution: {integrity: sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==}
    +    engines: {node: '>=6'}
    +    dev: true
     
    -  kolorist@1.8.0: {}
    +  /kolorist@1.8.0:
    +    resolution: {integrity: sha512-Y+60/zizpJ3HRH8DCss+q95yr6145JXZo46OTpFvDZWLfRCE4qChOyk1b26nMaNpfHHgxagk9dXT5OP0Tfe+dQ==}
    +    dev: true
     
    -  ky@0.30.0: {}
    +  /ky@0.30.0:
    +    resolution: {integrity: sha512-X/u76z4JtDVq10u1JA5UQfatPxgPaVDMYTrgHyiTpGN2z4TMEJkIHsoSBBSg9SWZEIXTKsi9kHgiQ9o3Y/4yog==}
    +    engines: {node: '>=12'}
    +    dev: true
     
    -  langium-cli@3.0.3:
    +  /langium-cli@3.0.3:
    +    resolution: {integrity: sha512-g6PdhEq5IiYWK/oiySILglPvFdK6ofQdzC+U7PJmFH++bDKu0DGdxjWzDauUN5WUDyVQETWKgtYDmmbcxPzN0w==}
    +    engines: {node: '>=16.0.0'}
    +    hasBin: true
         dependencies:
           chalk: 5.3.0
           commander: 11.0.0
    @@ -15944,13 +11604,18 @@ snapshots:
           langium: 3.0.0
           langium-railroad: 3.0.0
           lodash: 4.17.21
    +    dev: true
     
    -  langium-railroad@3.0.0:
    +  /langium-railroad@3.0.0:
    +    resolution: {integrity: sha512-GQOnQBGl5gJqzgK/4bKvJO5QhJGNnprpYH6Fghbl4FviVLHwP6yzyqiouDelLSoCadChCr2JqKaBp5HXv7CgWw==}
         dependencies:
           langium: 3.0.0
           railroad-diagrams: 1.0.0
    +    dev: true
     
    -  langium@3.0.0:
    +  /langium@3.0.0:
    +    resolution: {integrity: sha512-+Ez9EoiByeoTu/2BXmEaZ06iPNXM6thWJp02KfBO/raSMyCJ4jw7AkWWa+zBCTm0+Tw1Fj9FOxdqSskyN5nAwg==}
    +    engines: {node: '>=16.0.0'}
         dependencies:
           chevrotain: 11.0.3
           chevrotain-allstar: 0.3.1(chevrotain@11.0.3)
    @@ -15958,227 +11623,358 @@ snapshots:
           vscode-languageserver-textdocument: 1.0.11
           vscode-uri: 3.0.8
     
    -  launch-editor@2.6.1:
    +  /launch-editor@2.6.1:
    +    resolution: {integrity: sha512-eB/uXmFVpY4zezmGp5XtU21kwo7GBbKB+EQ+UZeWtGb9yAM5xt/Evk+lYH3eRNAtId+ej4u7TYPFZ07w4s7rRw==}
         dependencies:
    -      picocolors: 1.0.0
    +      picocolors: 1.0.1
           shell-quote: 1.8.1
    +    dev: true
     
    -  layout-base@1.0.2: {}
    +  /layout-base@1.0.2:
    +    resolution: {integrity: sha512-8h2oVEZNktL4BH2JCOI90iD1yXwL6iNW7KcCKT2QZgQJR2vbqDsldCTPRU9NifTCqHZci57XvQQ15YTu+sTYPg==}
    +    dev: false
     
    -  lazy-ass@1.6.0: {}
    +  /lazy-ass@1.6.0:
    +    resolution: {integrity: sha512-cc8oEVoctTvsFZ/Oje/kGnHbpWHYBe8IAJe4C0QNc3t8uM/0Y8+erSz/7Y1ALuXTEZTMvxXwO6YbX1ey3ujiZw==}
    +    engines: {node: '> 0.8'}
    +    dev: true
     
    -  leven@3.1.0: {}
    +  /leven@3.1.0:
    +    resolution: {integrity: sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==}
    +    engines: {node: '>=6'}
    +    dev: true
     
    -  levn@0.4.1:
    +  /levn@0.4.1:
    +    resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==}
    +    engines: {node: '>= 0.8.0'}
         dependencies:
           prelude-ls: 1.2.1
           type-check: 0.4.0
    +    dev: true
     
    -  lex-parser@0.1.4: {}
    +  /lex-parser@0.1.4:
    +    resolution: {integrity: sha512-DuAEISsr1H4LOpmFLkyMc8YStiRWZCO8hMsoXAXSbgyfvs2WQhSt0+/FBv3ZU/JBFZMGcE+FWzEBSzwUU7U27w==}
    +    dev: true
     
    -  light-my-request@4.12.0:
    +  /light-my-request@4.12.0:
    +    resolution: {integrity: sha512-0y+9VIfJEsPVzK5ArSIJ8Dkxp8QMP7/aCuxCUtG/tr9a2NoOf/snATE/OUc05XUplJCEnRh6gTkH7xh9POt1DQ==}
         dependencies:
    -      ajv: 8.12.0
    +      ajv: 8.16.0
           cookie: 0.5.0
           process-warning: 1.0.0
           set-cookie-parser: 2.6.0
    +    dev: true
     
    -  lilconfig@2.1.0: {}
    -
    -  lilconfig@3.0.0: {}
    +  /lilconfig@2.1.0:
    +    resolution: {integrity: sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==}
    +    engines: {node: '>=10'}
    +    dev: false
     
    -  lilconfig@3.1.1: {}
    +  /lilconfig@3.1.2:
    +    resolution: {integrity: sha512-eop+wDAvpItUys0FWkHIKeC9ybYrTGbU41U5K7+bttZZeohvnY7M9dZ5kB21GNWiFT2q1OoPTvncPCgSOVO5ow==}
    +    engines: {node: '>=14'}
     
    -  lines-and-columns@1.2.4: {}
    +  /lines-and-columns@1.2.4:
    +    resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==}
     
    -  linkify-it@4.0.1:
    +  /linkify-it@4.0.1:
    +    resolution: {integrity: sha512-C7bfi1UZmoj8+PQx22XyeXCuBlokoyWQL5pWSP+EI6nzRylyThouddufc2c1NDIcP9k5agmN9fLpA7VNJfIiqw==}
         dependencies:
           uc.micro: 1.0.6
    +    dev: true
     
    -  lint-staged@15.2.2:
    +  /lint-staged@15.2.7:
    +    resolution: {integrity: sha512-+FdVbbCZ+yoh7E/RosSdqKJyUM2OEjTciH0TFNkawKgvFp1zbGlEC39RADg+xKBG1R4mhoH2j85myBQZ5wR+lw==}
    +    engines: {node: '>=18.12.0'}
    +    hasBin: true
         dependencies:
           chalk: 5.3.0
    -      commander: 11.1.0
    -      debug: 4.3.4(supports-color@8.1.1)
    +      commander: 12.1.0
    +      debug: 4.3.5(supports-color@8.1.1)
           execa: 8.0.1
    -      lilconfig: 3.0.0
    -      listr2: 8.0.1
    -      micromatch: 4.0.5
    +      lilconfig: 3.1.2
    +      listr2: 8.2.1
    +      micromatch: 4.0.7
           pidtree: 0.6.0
           string-argv: 0.3.2
    -      yaml: 2.3.4
    +      yaml: 2.4.5
         transitivePeerDependencies:
           - supports-color
    +    dev: true
     
    -  listr2@3.14.0(enquirer@2.4.1):
    +  /listr2@3.14.0(enquirer@2.4.1):
    +    resolution: {integrity: sha512-TyWI8G99GX9GjE54cJ+RrNMcIFBfwMPxc3XTFiAYGN4s10hWROGtOg7+O6u6LE3mNkyld7RSLE6nrKBvTfcs3g==}
    +    engines: {node: '>=10.0.0'}
    +    peerDependencies:
    +      enquirer: '>= 2.3.0 < 3'
    +    peerDependenciesMeta:
    +      enquirer:
    +        optional: true
         dependencies:
           cli-truncate: 2.1.0
           colorette: 2.0.20
           enquirer: 2.4.1
           log-update: 4.0.0
           p-map: 4.0.0
    -      rfdc: 1.3.1
    +      rfdc: 1.4.1
           rxjs: 7.8.1
           through: 2.3.8
           wrap-ansi: 7.0.0
    +    dev: true
     
    -  listr2@8.0.1:
    +  /listr2@8.2.1:
    +    resolution: {integrity: sha512-irTfvpib/rNiD637xeevjO2l3Z5loZmuaRi0L0YE5LfijwVY96oyVn0DFD3o/teAok7nfobMG1THvvcHh/BP6g==}
    +    engines: {node: '>=18.0.0'}
         dependencies:
           cli-truncate: 4.0.0
           colorette: 2.0.20
           eventemitter3: 5.0.1
           log-update: 6.0.0
    -      rfdc: 1.3.1
    +      rfdc: 1.4.1
           wrap-ansi: 9.0.0
    +    dev: true
     
    -  loader-runner@4.3.0: {}
    +  /loader-runner@4.3.0:
    +    resolution: {integrity: sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==}
    +    engines: {node: '>=6.11.5'}
    +    dev: true
     
    -  local-pkg@0.4.3: {}
    +  /local-pkg@0.4.3:
    +    resolution: {integrity: sha512-SFppqq5p42fe2qcZQqqEOiVRXl+WCP1MdT6k7BDEW1j++sp5fIY+/fdRQitvKgB5BrBcmrs5m/L0v2FrU5MY1g==}
    +    engines: {node: '>=14'}
    +    dev: true
     
    -  local-pkg@0.5.0:
    +  /local-pkg@0.5.0:
    +    resolution: {integrity: sha512-ok6z3qlYyCDS4ZEU27HaU6x/xZa9Whf8jD4ptH5UZTQYZVYeb9bnZ3ojVhiJNLiXK1Hfc0GNbLXcmZ5plLDDBg==}
    +    engines: {node: '>=14'}
         dependencies:
    -      mlly: 1.6.1
    -      pkg-types: 1.1.0
    +      mlly: 1.7.1
    +      pkg-types: 1.1.1
    +    dev: true
     
    -  locate-path@3.0.0:
    +  /locate-path@3.0.0:
    +    resolution: {integrity: sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==}
    +    engines: {node: '>=6'}
         dependencies:
           p-locate: 3.0.0
           path-exists: 3.0.0
    +    dev: true
     
    -  locate-path@5.0.0:
    +  /locate-path@5.0.0:
    +    resolution: {integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==}
    +    engines: {node: '>=8'}
         dependencies:
           p-locate: 4.1.0
    +    dev: true
     
    -  locate-path@6.0.0:
    +  /locate-path@6.0.0:
    +    resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==}
    +    engines: {node: '>=10'}
         dependencies:
           p-locate: 5.0.0
    +    dev: true
     
    -  locate-path@7.2.0:
    +  /locate-path@7.2.0:
    +    resolution: {integrity: sha512-gvVijfZvn7R+2qyPX8mAuKcFGDf6Nc61GdvGafQsHL0sBIxfKzA+usWn4GFC/bk+QdwPUD4kWFJLhElipq+0VA==}
    +    engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
         dependencies:
           p-locate: 6.0.0
    +    dev: true
     
    -  lodash-es@4.17.21: {}
    +  /lodash-es@4.17.21:
    +    resolution: {integrity: sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==}
     
    -  lodash.debounce@4.0.8: {}
    +  /lodash.debounce@4.0.8:
    +    resolution: {integrity: sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==}
    +    dev: true
     
    -  lodash.flattendeep@4.4.0: {}
    +  /lodash.flattendeep@4.4.0:
    +    resolution: {integrity: sha512-uHaJFihxmJcEX3kT4I23ABqKKalJ/zDrDg0lsFtc1h+3uw49SIJ5beyhx5ExVRti3AvKoOJngIj7xz3oylPdWQ==}
    +    dev: true
     
    -  lodash.isplainobject@4.0.6: {}
    +  /lodash.isplainobject@4.0.6:
    +    resolution: {integrity: sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==}
    +    dev: true
     
    -  lodash.merge@4.6.2: {}
    +  /lodash.merge@4.6.2:
    +    resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==}
    +    dev: true
     
    -  lodash.once@4.1.1: {}
    +  /lodash.once@4.1.1:
    +    resolution: {integrity: sha512-Sb487aTOCr9drQVL8pIxOzVhafOjZN9UU54hiN8PU3uAiSV7lx1yYNpbNmex2PK6dSJoNTSJUUswT651yww3Mg==}
    +    dev: true
     
    -  lodash.sortby@4.7.0: {}
    +  /lodash.sortby@4.7.0:
    +    resolution: {integrity: sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA==}
    +    dev: true
     
    -  lodash@4.17.21: {}
    +  /lodash@4.17.21:
    +    resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==}
     
    -  log-symbols@4.1.0:
    +  /log-symbols@4.1.0:
    +    resolution: {integrity: sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==}
    +    engines: {node: '>=10'}
         dependencies:
           chalk: 4.1.2
           is-unicode-supported: 0.1.0
    +    dev: true
     
    -  log-update@4.0.0:
    +  /log-update@4.0.0:
    +    resolution: {integrity: sha512-9fkkDevMefjg0mmzWFBW8YkFP91OrizzkW3diF7CpG+S2EYdy4+TVfGwz1zeF8x7hCx1ovSPTOE9Ngib74qqUg==}
    +    engines: {node: '>=10'}
         dependencies:
           ansi-escapes: 4.3.2
           cli-cursor: 3.1.0
           slice-ansi: 4.0.0
           wrap-ansi: 6.2.0
    +    dev: true
     
    -  log-update@6.0.0:
    +  /log-update@6.0.0:
    +    resolution: {integrity: sha512-niTvB4gqvtof056rRIrTZvjNYE4rCUzO6X/X+kYjd7WFxXeJ0NwEFnRxX6ehkvv3jTwrXnNdtAak5XYZuIyPFw==}
    +    engines: {node: '>=18'}
         dependencies:
           ansi-escapes: 6.2.1
           cli-cursor: 4.0.0
           slice-ansi: 7.1.0
           strip-ansi: 7.1.0
           wrap-ansi: 9.0.0
    +    dev: true
     
    -  loglevel-plugin-prefix@0.8.4: {}
    +  /loglevel-plugin-prefix@0.8.4:
    +    resolution: {integrity: sha512-WpG9CcFAOjz/FtNht+QJeGpvVl/cdR6P0z6OcXSkr8wFJOsV2GRj2j10JLfjuA4aYkcKCNIEqRGCyTife9R8/g==}
    +    dev: true
     
    -  loglevel@1.9.1: {}
    +  /loglevel@1.9.1:
    +    resolution: {integrity: sha512-hP3I3kCrDIMuRwAwHltphhDM1r8i55H33GgqjXbrisuJhF4kRhW1dNuxsRklp4bXl8DSdLaNLuiL4A/LWRfxvg==}
    +    engines: {node: '>= 0.6.0'}
    +    dev: true
     
    -  longest-streak@3.1.0: {}
    +  /longest-streak@3.1.0:
    +    resolution: {integrity: sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g==}
    +    dev: true
     
    -  loupe@2.3.7:
    +  /loupe@2.3.7:
    +    resolution: {integrity: sha512-zSMINGVYkdpYSOBmLi0D1Uo7JU9nVdQKrHxC8eYlV+9YKK9WePqAlL7lSlorG/U2Fw1w0hTBmaa/jrQ3UbPHtA==}
         dependencies:
           get-func-name: 2.0.2
    +    dev: true
     
    -  lowercase-keys@2.0.0: {}
    +  /lowercase-keys@2.0.0:
    +    resolution: {integrity: sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==}
    +    engines: {node: '>=8'}
    +    dev: true
     
    -  lru-cache@10.2.1: {}
    +  /lru-cache@10.2.2:
    +    resolution: {integrity: sha512-9hp3Vp2/hFQUiIwKo8XCeFVnrg8Pk3TYNPIR7tJADKi5YfcF7vEaK7avFHTlSy3kOKYaJQaalfEo6YuXdceBOQ==}
    +    engines: {node: 14 || >=16.14}
     
    -  lru-cache@5.1.1:
    +  /lru-cache@5.1.1:
    +    resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==}
         dependencies:
           yallist: 3.1.1
    +    dev: true
     
    -  lru-cache@6.0.0:
    +  /lru-cache@6.0.0:
    +    resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==}
    +    engines: {node: '>=10'}
         dependencies:
           yallist: 4.0.0
    +    dev: true
     
    -  lru-queue@0.1.0:
    +  /lru-queue@0.1.0:
    +    resolution: {integrity: sha512-BpdYkt9EvGl8OfWHDQPISVpcl5xZthb+XPsbELj5AQXxIC8IriDZIQYjBJPEm5rS420sjZ0TLEzRcq5KdBhYrQ==}
         dependencies:
           es5-ext: 0.10.64
    +    dev: true
     
    -  lunr@2.3.9: {}
    +  /lunr@2.3.9:
    +    resolution: {integrity: sha512-zTU3DaZaF3Rt9rhN3uBMGQD3dD2/vFQqnvZCDv4dl5iOzq2IZQqTxu90r4E5J+nP70J3ilqVCrbho2eWaeW8Ow==}
    +    dev: true
     
    -  magic-string@0.25.9:
    +  /magic-string@0.25.9:
    +    resolution: {integrity: sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==}
         dependencies:
           sourcemap-codec: 1.4.8
    +    dev: true
     
    -  magic-string@0.30.10:
    -    dependencies:
    -      '@jridgewell/sourcemap-codec': 1.4.15
    -
    -  magic-string@0.30.5:
    +  /magic-string@0.30.10:
    +    resolution: {integrity: sha512-iIRwTIf0QKV3UAnYK4PU8uiEc4SRh5jX0mwpIwETPpHdhVM4f53RSwS/vXvN1JhGX+Cs7B8qIq3d6AH49O5fAQ==}
         dependencies:
           '@jridgewell/sourcemap-codec': 1.4.15
     
    -  magicast@0.3.4:
    +  /magicast@0.3.4:
    +    resolution: {integrity: sha512-TyDF/Pn36bBji9rWKHlZe+PZb6Mx5V8IHCSxk7X4aljM4e/vyDvZZYwHewdVaqiA0nb3ghfHU/6AUpDxWoER2Q==}
         dependencies:
    -      '@babel/parser': 7.24.5
    -      '@babel/types': 7.24.5
    +      '@babel/parser': 7.24.7
    +      '@babel/types': 7.24.7
           source-map-js: 1.2.0
    +    dev: true
     
    -  make-dir@3.1.0:
    +  /make-dir@3.1.0:
    +    resolution: {integrity: sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==}
    +    engines: {node: '>=8'}
         dependencies:
           semver: 6.3.1
    +    dev: true
     
    -  make-dir@4.0.0:
    +  /make-dir@4.0.0:
    +    resolution: {integrity: sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==}
    +    engines: {node: '>=10'}
         dependencies:
    -      semver: 7.6.0
    +      semver: 7.6.2
    +    dev: true
     
    -  makeerror@1.0.12:
    +  /makeerror@1.0.12:
    +    resolution: {integrity: sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==}
         dependencies:
           tmpl: 1.0.5
    +    dev: true
     
    -  map-stream@0.1.0: {}
    +  /map-stream@0.1.0:
    +    resolution: {integrity: sha512-CkYQrPYZfWnu/DAmVCpTSX/xHpKZ80eKh2lAkyA6AJTef6bW+6JpbQZN5rofum7da+SyN1bi5ctTm+lTfcCW3g==}
    +    dev: true
     
    -  mark.js@8.11.1: {}
    +  /mark.js@8.11.1:
    +    resolution: {integrity: sha512-1I+1qpDt4idfgLQG+BNWmrqku+7/2bi5nLf4YwF8y8zXvmfiTBY3PV3ZibfrjBueCByROpuBjLLFCajqkgYoLQ==}
    +    dev: true
     
    -  markdown-it@13.0.1:
    +  /markdown-it@13.0.2:
    +    resolution: {integrity: sha512-FtwnEuuK+2yVU7goGn/MJ0WBZMM9ZPgU9spqlFs7/A/pDIUNSOQZhUgOqYCficIuR2QaFnrt8LHqBWsbTAoI5w==}
    +    hasBin: true
         dependencies:
           argparse: 2.0.1
           entities: 3.0.1
           linkify-it: 4.0.1
           mdurl: 1.0.1
           uc.micro: 1.0.6
    +    dev: true
     
    -  markdown-table@3.0.3: {}
    +  /markdown-table@3.0.3:
    +    resolution: {integrity: sha512-Z1NL3Tb1M9wH4XESsCDEksWoKTdlUafKc4pt0GRwjUyXaCFZ+dc3g2erqB6zm3szA2IUSi7VnPI+o/9jnxh9hw==}
    +    dev: true
     
    -  marked@4.3.0: {}
    +  /marked@4.3.0:
    +    resolution: {integrity: sha512-PRsaiG84bK+AMvxziE/lCFss8juXjNaWzVbN5tXAm4XjeaS9NAHhop+PjQxz2A9h8Q4M/xGmzP8vqNwy6JeK0A==}
    +    engines: {node: '>= 12'}
    +    hasBin: true
     
    -  mdast-builder@1.1.1:
    +  /mdast-builder@1.1.1:
    +    resolution: {integrity: sha512-a3KBk/LmYD6wKsWi8WJrGU/rXR4yuF4Men0JO0z6dSZCm5FrXXWTRDjqK0vGSqa+1M6p9edeuypZAZAzSehTUw==}
         dependencies:
           '@types/unist': 2.0.10
    +    dev: true
     
    -  mdast-util-find-and-replace@3.0.1:
    +  /mdast-util-find-and-replace@3.0.1:
    +    resolution: {integrity: sha512-SG21kZHGC3XRTSUhtofZkBzZTJNM5ecCi0SK2IMKmSXR8vO3peL+kb1O0z7Zl83jKtutG4k5Wv/W7V3/YHvzPA==}
         dependencies:
    -      '@types/mdast': 4.0.3
    +      '@types/mdast': 4.0.4
           escape-string-regexp: 5.0.0
           unist-util-is: 6.0.0
           unist-util-visit-parents: 6.0.1
    +    dev: true
     
    -  mdast-util-from-markdown@0.8.5:
    +  /mdast-util-from-markdown@0.8.5:
    +    resolution: {integrity: sha512-2hkTXtYYnr+NubD/g6KGBS/0mFmBcifAsI0yIWRiRo0PjVs6SSOSOdtzbp6kSGnShDN6G5aWZpKQ2lWRy27mWQ==}
         dependencies:
           '@types/mdast': 3.0.15
           mdast-util-to-string: 2.0.0
    @@ -16187,10 +11983,12 @@ snapshots:
           unist-util-stringify-position: 2.0.3
         transitivePeerDependencies:
           - supports-color
    +    dev: true
     
    -  mdast-util-from-markdown@2.0.0:
    +  /mdast-util-from-markdown@2.0.1:
    +    resolution: {integrity: sha512-aJEUyzZ6TzlsX2s5B4Of7lN7EQtAxvtradMMglCQDyaTFgse6CmtmdJ15ElnVRlCg1vpNyVtbem0PWzlNieZsA==}
         dependencies:
    -      '@types/mdast': 4.0.3
    +      '@types/mdast': 4.0.4
           '@types/unist': 3.0.2
           decode-named-character-reference: 1.0.2
           devlop: 1.1.0
    @@ -16205,65 +12003,78 @@ snapshots:
         transitivePeerDependencies:
           - supports-color
     
    -  mdast-util-frontmatter@2.0.1:
    +  /mdast-util-frontmatter@2.0.1:
    +    resolution: {integrity: sha512-LRqI9+wdgC25P0URIJY9vwocIzCcksduHQ9OF2joxQoyTNVduwLAFUzjoopuRJbJAReaKrNQKAZKL3uCMugWJA==}
         dependencies:
    -      '@types/mdast': 4.0.3
    +      '@types/mdast': 4.0.4
           devlop: 1.1.0
           escape-string-regexp: 5.0.0
    -      mdast-util-from-markdown: 2.0.0
    +      mdast-util-from-markdown: 2.0.1
           mdast-util-to-markdown: 2.1.0
           micromark-extension-frontmatter: 2.0.0
         transitivePeerDependencies:
           - supports-color
    +    dev: true
     
    -  mdast-util-gfm-autolink-literal@2.0.0:
    +  /mdast-util-gfm-autolink-literal@2.0.0:
    +    resolution: {integrity: sha512-FyzMsduZZHSc3i0Px3PQcBT4WJY/X/RCtEJKuybiC6sjPqLv7h1yqAkmILZtuxMSsUyaLUWNp71+vQH2zqp5cg==}
         dependencies:
    -      '@types/mdast': 4.0.3
    +      '@types/mdast': 4.0.4
           ccount: 2.0.1
           devlop: 1.1.0
           mdast-util-find-and-replace: 3.0.1
           micromark-util-character: 2.1.0
    +    dev: true
     
    -  mdast-util-gfm-footnote@2.0.0:
    +  /mdast-util-gfm-footnote@2.0.0:
    +    resolution: {integrity: sha512-5jOT2boTSVkMnQ7LTrd6n/18kqwjmuYqo7JUPe+tRCY6O7dAuTFMtTPauYYrMPpox9hlN0uOx/FL8XvEfG9/mQ==}
         dependencies:
    -      '@types/mdast': 4.0.3
    +      '@types/mdast': 4.0.4
           devlop: 1.1.0
    -      mdast-util-from-markdown: 2.0.0
    +      mdast-util-from-markdown: 2.0.1
           mdast-util-to-markdown: 2.1.0
           micromark-util-normalize-identifier: 2.0.0
         transitivePeerDependencies:
           - supports-color
    +    dev: true
     
    -  mdast-util-gfm-strikethrough@2.0.0:
    +  /mdast-util-gfm-strikethrough@2.0.0:
    +    resolution: {integrity: sha512-mKKb915TF+OC5ptj5bJ7WFRPdYtuHv0yTRxK2tJvi+BDqbkiG7h7u/9SI89nRAYcmap2xHQL9D+QG/6wSrTtXg==}
         dependencies:
    -      '@types/mdast': 4.0.3
    -      mdast-util-from-markdown: 2.0.0
    +      '@types/mdast': 4.0.4
    +      mdast-util-from-markdown: 2.0.1
           mdast-util-to-markdown: 2.1.0
         transitivePeerDependencies:
           - supports-color
    +    dev: true
     
    -  mdast-util-gfm-table@2.0.0:
    +  /mdast-util-gfm-table@2.0.0:
    +    resolution: {integrity: sha512-78UEvebzz/rJIxLvE7ZtDd/vIQ0RHv+3Mh5DR96p7cS7HsBhYIICDBCu8csTNWNO6tBWfqXPWekRuj2FNOGOZg==}
         dependencies:
    -      '@types/mdast': 4.0.3
    +      '@types/mdast': 4.0.4
           devlop: 1.1.0
           markdown-table: 3.0.3
    -      mdast-util-from-markdown: 2.0.0
    +      mdast-util-from-markdown: 2.0.1
           mdast-util-to-markdown: 2.1.0
         transitivePeerDependencies:
           - supports-color
    +    dev: true
     
    -  mdast-util-gfm-task-list-item@2.0.0:
    +  /mdast-util-gfm-task-list-item@2.0.0:
    +    resolution: {integrity: sha512-IrtvNvjxC1o06taBAVJznEnkiHxLFTzgonUdy8hzFVeDun0uTjxxrRGVaNFqkU1wJR3RBPEfsxmU6jDWPofrTQ==}
         dependencies:
    -      '@types/mdast': 4.0.3
    +      '@types/mdast': 4.0.4
           devlop: 1.1.0
    -      mdast-util-from-markdown: 2.0.0
    +      mdast-util-from-markdown: 2.0.1
           mdast-util-to-markdown: 2.1.0
         transitivePeerDependencies:
           - supports-color
    +    dev: true
     
    -  mdast-util-gfm@3.0.0:
    +  /mdast-util-gfm@3.0.0:
    +    resolution: {integrity: sha512-dgQEX5Amaq+DuUqf26jJqSK9qgixgd6rYDHAv4aTBuA92cTknZlKpPfa86Z/s8Dj8xsAQpFfBmPUHWJBWqS4Bw==}
         dependencies:
    -      mdast-util-from-markdown: 2.0.0
    +      mdast-util-from-markdown: 2.0.1
           mdast-util-gfm-autolink-literal: 2.0.0
           mdast-util-gfm-footnote: 2.0.0
           mdast-util-gfm-strikethrough: 2.0.0
    @@ -16272,15 +12083,19 @@ snapshots:
           mdast-util-to-markdown: 2.1.0
         transitivePeerDependencies:
           - supports-color
    +    dev: true
     
    -  mdast-util-phrasing@4.1.0:
    +  /mdast-util-phrasing@4.1.0:
    +    resolution: {integrity: sha512-TqICwyvJJpBwvGAMZjj4J2n0X8QWp21b9l0o7eXyVJ25YNWYbJDVIyD1bZXE6WtV6RmKJVYmQAKWa0zWOABz2w==}
         dependencies:
    -      '@types/mdast': 4.0.3
    +      '@types/mdast': 4.0.4
           unist-util-is: 6.0.0
    +    dev: true
     
    -  mdast-util-to-markdown@2.1.0:
    +  /mdast-util-to-markdown@2.1.0:
    +    resolution: {integrity: sha512-SR2VnIEdVNCJbP6y7kVTJgPLifdr8WEU440fQec7qHoHOUz/oJ2jmNRqdDQ3rbiStOXb2mCDGTuwsK5OPUgYlQ==}
         dependencies:
    -      '@types/mdast': 4.0.3
    +      '@types/mdast': 4.0.4
           '@types/unist': 3.0.2
           longest-streak: 3.1.0
           mdast-util-phrasing: 4.1.0
    @@ -16288,26 +12103,44 @@ snapshots:
           micromark-util-decode-string: 2.0.0
           unist-util-visit: 5.0.0
           zwitch: 2.0.4
    +    dev: true
     
    -  mdast-util-to-string@2.0.0: {}
    +  /mdast-util-to-string@2.0.0:
    +    resolution: {integrity: sha512-AW4DRS3QbBayY/jJmD8437V1Gombjf8RSOUCMFBuo5iHi58AGEgVCKQ+ezHkZZDpAQS75hcBMpLqjpJTjtUL7w==}
    +    dev: true
     
    -  mdast-util-to-string@4.0.0:
    +  /mdast-util-to-string@4.0.0:
    +    resolution: {integrity: sha512-0H44vDimn51F0YwvxSJSm0eCDOJTRlmN0R1yBh4HLj9wiV1Dn0QoXGbvFAWj2hSItVTlCmBF1hqKlIyUBVFLPg==}
         dependencies:
    -      '@types/mdast': 4.0.3
    +      '@types/mdast': 4.0.4
     
    -  mdn-data@2.0.30: {}
    +  /mdn-data@2.0.30:
    +    resolution: {integrity: sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==}
    +    dev: true
     
    -  mdn-data@2.1.0: {}
    +  /mdn-data@2.1.0:
    +    resolution: {integrity: sha512-dbAWH6A+2NGuVJlQFrTKHJc07Vqn5frnhyTOGz+7BsK7V2hHdoBcwoiyV3QVhLHYpM/zqe2OSUn5ZWbVXLBB8A==}
    +    dev: true
     
    -  mdurl@1.0.1: {}
    +  /mdurl@1.0.1:
    +    resolution: {integrity: sha512-/sKlQJCBYVY9Ers9hqzKou4H6V5UWc/M59TH2dvkt+84itfnq7uFOMLpOiOS4ujvHP4etln18fmIxA5R5fll0g==}
    +    dev: true
     
    -  media-typer@0.3.0: {}
    +  /media-typer@0.3.0:
    +    resolution: {integrity: sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==}
    +    engines: {node: '>= 0.6'}
    +    dev: true
     
    -  memfs@3.5.3:
    +  /memfs@3.5.3:
    +    resolution: {integrity: sha512-UERzLsxzllchadvbPs5aolHh65ISpKpM+ccLbOJ8/vvpBKmAWf+la7dXFy7Mr0ySHbdHrFv5kGFCUHHe6GFEmw==}
    +    engines: {node: '>= 4.0.0'}
         dependencies:
    -      fs-monkey: 1.0.4
    +      fs-monkey: 1.0.6
    +    dev: true
     
    -  memoizee@0.4.15:
    +  /memoizee@0.4.17:
    +    resolution: {integrity: sha512-DGqD7Hjpi/1or4F/aYAspXKNm5Yili0QDAFAY4QYvpqpgiY6+1jOfqpmByzjxbWd/T9mChbCArXAbDAsTm5oXA==}
    +    engines: {node: '>=0.12'}
         dependencies:
           d: 1.0.2
           es5-ext: 0.10.64
    @@ -16316,19 +12149,33 @@ snapshots:
           is-promise: 2.2.2
           lru-queue: 0.1.0
           next-tick: 1.1.0
    -      timers-ext: 0.1.7
    +      timers-ext: 0.1.8
    +    dev: true
     
    -  meow@12.1.1: {}
    +  /meow@12.1.1:
    +    resolution: {integrity: sha512-BhXM0Au22RwUneMPwSCnyhTOizdWoIEPU9sp0Aqa1PnDMR5Wv2FGXYDjuzJEIX+Eo2Rb8xuYe5jrnm5QowQFkw==}
    +    engines: {node: '>=16.10'}
    +    dev: true
     
    -  merge-descriptors@1.0.1: {}
    +  /merge-descriptors@1.0.1:
    +    resolution: {integrity: sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==}
    +    dev: true
     
    -  merge-stream@2.0.0: {}
    +  /merge-stream@2.0.0:
    +    resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==}
    +    dev: true
     
    -  merge2@1.4.1: {}
    +  /merge2@1.4.1:
    +    resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==}
    +    engines: {node: '>= 8'}
     
    -  methods@1.1.2: {}
    +  /methods@1.1.2:
    +    resolution: {integrity: sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==}
    +    engines: {node: '>= 0.6'}
    +    dev: true
     
    -  micromark-core-commonmark@2.0.0:
    +  /micromark-core-commonmark@2.0.1:
    +    resolution: {integrity: sha512-CUQyKr1e///ZODyD1U3xit6zXwy1a8q2a1S1HKtIlmgvurrEpaw/Y9y6KSIbF8P59cn/NjzHyO+Q2fAyYLQrAA==}
         dependencies:
           decode-named-character-reference: 1.0.2
           devlop: 1.1.0
    @@ -16343,36 +12190,43 @@ snapshots:
           micromark-util-html-tag-name: 2.0.0
           micromark-util-normalize-identifier: 2.0.0
           micromark-util-resolve-all: 2.0.0
    -      micromark-util-subtokenize: 2.0.0
    +      micromark-util-subtokenize: 2.0.1
           micromark-util-symbol: 2.0.0
           micromark-util-types: 2.0.0
     
    -  micromark-extension-frontmatter@2.0.0:
    +  /micromark-extension-frontmatter@2.0.0:
    +    resolution: {integrity: sha512-C4AkuM3dA58cgZha7zVnuVxBhDsbttIMiytjgsM2XbHAB2faRVaHRle40558FBN+DJcrLNCoqG5mlrpdU4cRtg==}
         dependencies:
           fault: 2.0.1
           micromark-util-character: 2.1.0
           micromark-util-symbol: 2.0.0
           micromark-util-types: 2.0.0
    +    dev: true
     
    -  micromark-extension-gfm-autolink-literal@2.0.0:
    +  /micromark-extension-gfm-autolink-literal@2.0.0:
    +    resolution: {integrity: sha512-rTHfnpt/Q7dEAK1Y5ii0W8bhfJlVJFnJMHIPisfPK3gpVNuOP0VnRl96+YJ3RYWV/P4gFeQoGKNlT3RhuvpqAg==}
         dependencies:
           micromark-util-character: 2.1.0
           micromark-util-sanitize-uri: 2.0.0
           micromark-util-symbol: 2.0.0
           micromark-util-types: 2.0.0
    +    dev: true
     
    -  micromark-extension-gfm-footnote@2.0.0:
    +  /micromark-extension-gfm-footnote@2.0.0:
    +    resolution: {integrity: sha512-6Rzu0CYRKDv3BfLAUnZsSlzx3ak6HAoI85KTiijuKIz5UxZxbUI+pD6oHgw+6UtQuiRwnGRhzMmPRv4smcz0fg==}
         dependencies:
           devlop: 1.1.0
    -      micromark-core-commonmark: 2.0.0
    +      micromark-core-commonmark: 2.0.1
           micromark-factory-space: 2.0.0
           micromark-util-character: 2.1.0
           micromark-util-normalize-identifier: 2.0.0
           micromark-util-sanitize-uri: 2.0.0
           micromark-util-symbol: 2.0.0
           micromark-util-types: 2.0.0
    +    dev: true
     
    -  micromark-extension-gfm-strikethrough@2.0.0:
    +  /micromark-extension-gfm-strikethrough@2.0.0:
    +    resolution: {integrity: sha512-c3BR1ClMp5fxxmwP6AoOY2fXO9U8uFMKs4ADD66ahLTNcwzSCyRVU4k7LPV5Nxo/VJiR4TdzxRQY2v3qIUceCw==}
         dependencies:
           devlop: 1.1.0
           micromark-util-chunked: 2.0.0
    @@ -16380,28 +12234,36 @@ snapshots:
           micromark-util-resolve-all: 2.0.0
           micromark-util-symbol: 2.0.0
           micromark-util-types: 2.0.0
    +    dev: true
     
    -  micromark-extension-gfm-table@2.0.0:
    +  /micromark-extension-gfm-table@2.0.0:
    +    resolution: {integrity: sha512-PoHlhypg1ItIucOaHmKE8fbin3vTLpDOUg8KAr8gRCF1MOZI9Nquq2i/44wFvviM4WuxJzc3demT8Y3dkfvYrw==}
         dependencies:
           devlop: 1.1.0
           micromark-factory-space: 2.0.0
           micromark-util-character: 2.1.0
           micromark-util-symbol: 2.0.0
           micromark-util-types: 2.0.0
    +    dev: true
     
    -  micromark-extension-gfm-tagfilter@2.0.0:
    +  /micromark-extension-gfm-tagfilter@2.0.0:
    +    resolution: {integrity: sha512-xHlTOmuCSotIA8TW1mDIM6X2O1SiX5P9IuDtqGonFhEK0qgRI4yeC6vMxEV2dgyr2TiD+2PQ10o+cOhdVAcwfg==}
         dependencies:
           micromark-util-types: 2.0.0
    +    dev: true
     
    -  micromark-extension-gfm-task-list-item@2.0.1:
    +  /micromark-extension-gfm-task-list-item@2.0.1:
    +    resolution: {integrity: sha512-cY5PzGcnULaN5O7T+cOzfMoHjBW7j+T9D2sucA5d/KbsBTPcYdebm9zUd9zzdgJGCwahV+/W78Z3nbulBYVbTw==}
         dependencies:
           devlop: 1.1.0
           micromark-factory-space: 2.0.0
           micromark-util-character: 2.1.0
           micromark-util-symbol: 2.0.0
           micromark-util-types: 2.0.0
    +    dev: true
     
    -  micromark-extension-gfm@3.0.0:
    +  /micromark-extension-gfm@3.0.0:
    +    resolution: {integrity: sha512-vsKArQsicm7t0z2GugkCKtZehqUm31oeGBV/KVSorWSy8ZlNAv7ytjFhvaryUiCUJYqs+NoE6AFhpQvBTM6Q4w==}
         dependencies:
           micromark-extension-gfm-autolink-literal: 2.0.0
           micromark-extension-gfm-footnote: 2.0.0
    @@ -16411,113 +12273,136 @@ snapshots:
           micromark-extension-gfm-task-list-item: 2.0.1
           micromark-util-combine-extensions: 2.0.0
           micromark-util-types: 2.0.0
    +    dev: true
     
    -  micromark-factory-destination@2.0.0:
    +  /micromark-factory-destination@2.0.0:
    +    resolution: {integrity: sha512-j9DGrQLm/Uhl2tCzcbLhy5kXsgkHUrjJHg4fFAeoMRwJmJerT9aw4FEhIbZStWN8A3qMwOp1uzHr4UL8AInxtA==}
         dependencies:
           micromark-util-character: 2.1.0
           micromark-util-symbol: 2.0.0
           micromark-util-types: 2.0.0
     
    -  micromark-factory-label@2.0.0:
    +  /micromark-factory-label@2.0.0:
    +    resolution: {integrity: sha512-RR3i96ohZGde//4WSe/dJsxOX6vxIg9TimLAS3i4EhBAFx8Sm5SmqVfR8E87DPSR31nEAjZfbt91OMZWcNgdZw==}
         dependencies:
           devlop: 1.1.0
           micromark-util-character: 2.1.0
           micromark-util-symbol: 2.0.0
           micromark-util-types: 2.0.0
     
    -  micromark-factory-space@2.0.0:
    +  /micromark-factory-space@2.0.0:
    +    resolution: {integrity: sha512-TKr+LIDX2pkBJXFLzpyPyljzYK3MtmllMUMODTQJIUfDGncESaqB90db9IAUcz4AZAJFdd8U9zOp9ty1458rxg==}
         dependencies:
           micromark-util-character: 2.1.0
           micromark-util-types: 2.0.0
     
    -  micromark-factory-title@2.0.0:
    +  /micromark-factory-title@2.0.0:
    +    resolution: {integrity: sha512-jY8CSxmpWLOxS+t8W+FG3Xigc0RDQA9bKMY/EwILvsesiRniiVMejYTE4wumNc2f4UbAa4WsHqe3J1QS1sli+A==}
         dependencies:
           micromark-factory-space: 2.0.0
           micromark-util-character: 2.1.0
           micromark-util-symbol: 2.0.0
           micromark-util-types: 2.0.0
     
    -  micromark-factory-whitespace@2.0.0:
    +  /micromark-factory-whitespace@2.0.0:
    +    resolution: {integrity: sha512-28kbwaBjc5yAI1XadbdPYHX/eDnqaUFVikLwrO7FDnKG7lpgxnvk/XGRhX/PN0mOZ+dBSZ+LgunHS+6tYQAzhA==}
         dependencies:
           micromark-factory-space: 2.0.0
           micromark-util-character: 2.1.0
           micromark-util-symbol: 2.0.0
           micromark-util-types: 2.0.0
     
    -  micromark-util-character@2.1.0:
    +  /micromark-util-character@2.1.0:
    +    resolution: {integrity: sha512-KvOVV+X1yLBfs9dCBSopq/+G1PcgT3lAK07mC4BzXi5E7ahzMAF8oIupDDJ6mievI6F+lAATkbQQlQixJfT3aQ==}
         dependencies:
           micromark-util-symbol: 2.0.0
           micromark-util-types: 2.0.0
     
    -  micromark-util-chunked@2.0.0:
    +  /micromark-util-chunked@2.0.0:
    +    resolution: {integrity: sha512-anK8SWmNphkXdaKgz5hJvGa7l00qmcaUQoMYsBwDlSKFKjc6gjGXPDw3FNL3Nbwq5L8gE+RCbGqTw49FK5Qyvg==}
         dependencies:
           micromark-util-symbol: 2.0.0
     
    -  micromark-util-classify-character@2.0.0:
    +  /micromark-util-classify-character@2.0.0:
    +    resolution: {integrity: sha512-S0ze2R9GH+fu41FA7pbSqNWObo/kzwf8rN/+IGlW/4tC6oACOs8B++bh+i9bVyNnwCcuksbFwsBme5OCKXCwIw==}
         dependencies:
           micromark-util-character: 2.1.0
           micromark-util-symbol: 2.0.0
           micromark-util-types: 2.0.0
     
    -  micromark-util-combine-extensions@2.0.0:
    +  /micromark-util-combine-extensions@2.0.0:
    +    resolution: {integrity: sha512-vZZio48k7ON0fVS3CUgFatWHoKbbLTK/rT7pzpJ4Bjp5JjkZeasRfrS9wsBdDJK2cJLHMckXZdzPSSr1B8a4oQ==}
         dependencies:
           micromark-util-chunked: 2.0.0
           micromark-util-types: 2.0.0
     
    -  micromark-util-decode-numeric-character-reference@2.0.1:
    +  /micromark-util-decode-numeric-character-reference@2.0.1:
    +    resolution: {integrity: sha512-bmkNc7z8Wn6kgjZmVHOX3SowGmVdhYS7yBpMnuMnPzDq/6xwVA604DuOXMZTO1lvq01g+Adfa0pE2UKGlxL1XQ==}
         dependencies:
           micromark-util-symbol: 2.0.0
     
    -  micromark-util-decode-string@2.0.0:
    +  /micromark-util-decode-string@2.0.0:
    +    resolution: {integrity: sha512-r4Sc6leeUTn3P6gk20aFMj2ntPwn6qpDZqWvYmAG6NgvFTIlj4WtrAudLi65qYoaGdXYViXYw2pkmn7QnIFasA==}
         dependencies:
           decode-named-character-reference: 1.0.2
           micromark-util-character: 2.1.0
           micromark-util-decode-numeric-character-reference: 2.0.1
           micromark-util-symbol: 2.0.0
     
    -  micromark-util-encode@2.0.0: {}
    +  /micromark-util-encode@2.0.0:
    +    resolution: {integrity: sha512-pS+ROfCXAGLWCOc8egcBvT0kf27GoWMqtdarNfDcjb6YLuV5cM3ioG45Ys2qOVqeqSbjaKg72vU+Wby3eddPsA==}
     
    -  micromark-util-html-tag-name@2.0.0: {}
    +  /micromark-util-html-tag-name@2.0.0:
    +    resolution: {integrity: sha512-xNn4Pqkj2puRhKdKTm8t1YHC/BAjx6CEwRFXntTaRf/x16aqka6ouVoutm+QdkISTlT7e2zU7U4ZdlDLJd2Mcw==}
     
    -  micromark-util-normalize-identifier@2.0.0:
    +  /micromark-util-normalize-identifier@2.0.0:
    +    resolution: {integrity: sha512-2xhYT0sfo85FMrUPtHcPo2rrp1lwbDEEzpx7jiH2xXJLqBuy4H0GgXk5ToU8IEwoROtXuL8ND0ttVa4rNqYK3w==}
         dependencies:
           micromark-util-symbol: 2.0.0
     
    -  micromark-util-resolve-all@2.0.0:
    +  /micromark-util-resolve-all@2.0.0:
    +    resolution: {integrity: sha512-6KU6qO7DZ7GJkaCgwBNtplXCvGkJToU86ybBAUdavvgsCiG8lSSvYxr9MhwmQ+udpzywHsl4RpGJsYWG1pDOcA==}
         dependencies:
           micromark-util-types: 2.0.0
     
    -  micromark-util-sanitize-uri@2.0.0:
    +  /micromark-util-sanitize-uri@2.0.0:
    +    resolution: {integrity: sha512-WhYv5UEcZrbAtlsnPuChHUAsu/iBPOVaEVsntLBIdpibO0ddy8OzavZz3iL2xVvBZOpolujSliP65Kq0/7KIYw==}
         dependencies:
           micromark-util-character: 2.1.0
           micromark-util-encode: 2.0.0
           micromark-util-symbol: 2.0.0
     
    -  micromark-util-subtokenize@2.0.0:
    +  /micromark-util-subtokenize@2.0.1:
    +    resolution: {integrity: sha512-jZNtiFl/1aY73yS3UGQkutD0UbhTt68qnRpw2Pifmz5wV9h8gOVsN70v+Lq/f1rKaU/W8pxRe8y8Q9FX1AOe1Q==}
         dependencies:
           devlop: 1.1.0
           micromark-util-chunked: 2.0.0
           micromark-util-symbol: 2.0.0
           micromark-util-types: 2.0.0
     
    -  micromark-util-symbol@2.0.0: {}
    +  /micromark-util-symbol@2.0.0:
    +    resolution: {integrity: sha512-8JZt9ElZ5kyTnO94muPxIGS8oyElRJaiJO8EzV6ZSyGQ1Is8xwl4Q45qU5UOg+bGH4AikWziz0iN4sFLWs8PGw==}
     
    -  micromark-util-types@2.0.0: {}
    +  /micromark-util-types@2.0.0:
    +    resolution: {integrity: sha512-oNh6S2WMHWRZrmutsRmDDfkzKtxF+bc2VxLC9dvtrDIRFln627VsFP6fLMgTryGDljgLPjkrzQSDcPrjPyDJ5w==}
     
    -  micromark@2.11.4:
    +  /micromark@2.11.4:
    +    resolution: {integrity: sha512-+WoovN/ppKolQOFIAajxi7Lu9kInbPxFuTBVEavFcL8eAfVstoc5MocPmqBeAdBOJV00uaVjegzH4+MA0DN/uA==}
         dependencies:
    -      debug: 4.3.4(supports-color@8.1.1)
    +      debug: 4.3.5(supports-color@8.1.1)
           parse-entities: 2.0.0
         transitivePeerDependencies:
           - supports-color
    +    dev: true
     
    -  micromark@4.0.0:
    +  /micromark@4.0.0:
    +    resolution: {integrity: sha512-o/sd0nMof8kYff+TqcDx3VSrgBTcZpSvYcAHIfHhv5VAuNmisCxjhx6YmxS8PFEpb9z5WKWKPdzf0jM23ro3RQ==}
         dependencies:
           '@types/debug': 4.1.12
    -      debug: 4.3.4(supports-color@8.1.1)
    +      debug: 4.3.5(supports-color@8.1.1)
           decode-named-character-reference: 1.0.2
           devlop: 1.1.0
    -      micromark-core-commonmark: 2.0.0
    +      micromark-core-commonmark: 2.0.1
           micromark-factory-space: 2.0.0
           micromark-util-character: 2.1.0
           micromark-util-chunked: 2.0.0
    @@ -16527,165 +12412,294 @@ snapshots:
           micromark-util-normalize-identifier: 2.0.0
           micromark-util-resolve-all: 2.0.0
           micromark-util-sanitize-uri: 2.0.0
    -      micromark-util-subtokenize: 2.0.0
    +      micromark-util-subtokenize: 2.0.1
           micromark-util-symbol: 2.0.0
           micromark-util-types: 2.0.0
         transitivePeerDependencies:
           - supports-color
     
    -  micromatch@4.0.5:
    +  /micromatch@4.0.7:
    +    resolution: {integrity: sha512-LPP/3KorzCwBxfeUuZmaR6bG2kdeHSbe0P2tY3FLRU4vYrjYz5hI4QZwV0njUx3jeuKe67YukQ1LSPZBKDqO/Q==}
    +    engines: {node: '>=8.6'}
         dependencies:
    -      braces: 3.0.2
    +      braces: 3.0.3
           picomatch: 2.3.1
     
    -  mime-db@1.52.0: {}
    +  /mime-db@1.52.0:
    +    resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==}
    +    engines: {node: '>= 0.6'}
    +    dev: true
     
    -  mime-types@2.1.35:
    +  /mime-types@2.1.35:
    +    resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==}
    +    engines: {node: '>= 0.6'}
         dependencies:
           mime-db: 1.52.0
    +    dev: true
     
    -  mime@1.6.0: {}
    +  /mime@1.6.0:
    +    resolution: {integrity: sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==}
    +    engines: {node: '>=4'}
    +    hasBin: true
    +    dev: true
     
    -  mimic-fn@2.1.0: {}
    +  /mimic-fn@2.1.0:
    +    resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==}
    +    engines: {node: '>=6'}
    +    dev: true
     
    -  mimic-fn@4.0.0: {}
    +  /mimic-fn@4.0.0:
    +    resolution: {integrity: sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==}
    +    engines: {node: '>=12'}
    +    dev: true
     
    -  mimic-response@1.0.1: {}
    +  /mimic-response@1.0.1:
    +    resolution: {integrity: sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==}
    +    engines: {node: '>=4'}
    +    dev: true
     
    -  mimic-response@3.1.0: {}
    +  /mimic-response@3.1.0:
    +    resolution: {integrity: sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==}
    +    engines: {node: '>=10'}
    +    dev: true
     
    -  min-indent@1.0.1: {}
    +  /min-indent@1.0.1:
    +    resolution: {integrity: sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==}
    +    engines: {node: '>=4'}
    +    dev: true
     
    -  minimalistic-assert@1.0.1: {}
    +  /minimalistic-assert@1.0.1:
    +    resolution: {integrity: sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==}
    +    dev: true
     
    -  minimatch@3.1.2:
    +  /minimatch@3.1.2:
    +    resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==}
         dependencies:
           brace-expansion: 1.1.11
    +    dev: true
     
    -  minimatch@5.1.6:
    -    dependencies:
    -      brace-expansion: 2.0.1
    -
    -  minimatch@9.0.3:
    +  /minimatch@5.1.6:
    +    resolution: {integrity: sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==}
    +    engines: {node: '>=10'}
         dependencies:
           brace-expansion: 2.0.1
    +    dev: true
     
    -  minimatch@9.0.4:
    +  /minimatch@9.0.4:
    +    resolution: {integrity: sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw==}
    +    engines: {node: '>=16 || 14 >=14.17'}
         dependencies:
           brace-expansion: 2.0.1
     
    -  minimist@1.2.8: {}
    +  /minimist@1.2.8:
    +    resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==}
    +    dev: true
     
    -  minipass@7.0.4: {}
    +  /minipass@7.1.2:
    +    resolution: {integrity: sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==}
    +    engines: {node: '>=16 || 14 >=14.17'}
     
    -  minisearch@6.3.0: {}
    +  /minisearch@6.3.0:
    +    resolution: {integrity: sha512-ihFnidEeU8iXzcVHy74dhkxh/dn8Dc08ERl0xwoMMGqp4+LvRSCgicb+zGqWthVokQKvCSxITlh3P08OzdTYCQ==}
    +    dev: true
     
    -  mitt@3.0.1: {}
    +  /mitt@3.0.1:
    +    resolution: {integrity: sha512-vKivATfr97l2/QBCYAkXYDbrIWPM2IIKEl7YPhjCvKlG3kE2gm+uBo6nEXK3M5/Ffh/FLpKExzOQ3JJoJGFKBw==}
    +    dev: true
     
    -  mkdirp@0.5.6:
    +  /mkdirp@0.5.6:
    +    resolution: {integrity: sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==}
    +    hasBin: true
         dependencies:
           minimist: 1.2.8
    +    dev: true
     
    -  mkdirp@1.0.4: {}
    +  /mkdirp@1.0.4:
    +    resolution: {integrity: sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==}
    +    engines: {node: '>=10'}
    +    hasBin: true
    +    dev: true
     
    -  mlly@1.6.1:
    +  /mlly@1.7.1:
    +    resolution: {integrity: sha512-rrVRZRELyQzrIUAVMHxP97kv+G786pHmOKzuFII8zDYahFBS7qnHh2AlYSl1GAHhaMPCz6/oHjVMcfFYgFYHgA==}
         dependencies:
           acorn: 8.11.3
           pathe: 1.1.2
    -      pkg-types: 1.1.0
    +      pkg-types: 1.1.1
           ufo: 1.5.3
    +    dev: true
     
    -  mrmime@2.0.0: {}
    +  /mrmime@2.0.0:
    +    resolution: {integrity: sha512-eu38+hdgojoyq63s+yTpN4XMBdt5l8HhMhc4VKLO9KM5caLIBvUm4thi7fFaxyTmCKeNnXZ5pAlBwCUnhA09uw==}
    +    engines: {node: '>=10'}
    +    dev: true
     
    -  ms@2.0.0: {}
    +  /ms@2.0.0:
    +    resolution: {integrity: sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==}
    +    dev: true
     
    -  ms@2.1.2: {}
    +  /ms@2.1.2:
    +    resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==}
     
    -  ms@2.1.3: {}
    +  /ms@2.1.3:
    +    resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==}
    +    dev: true
     
    -  multicast-dns@7.2.5:
    +  /multicast-dns@7.2.5:
    +    resolution: {integrity: sha512-2eznPJP8z2BFLX50tf0LuODrpINqP1RVIm/CObbTcBRITQgmC/TjcREF1NeTBzIcR5XO/ukWo+YHOjBbFwIupg==}
    +    hasBin: true
         dependencies:
    -      dns-packet: 5.6.0
    +      dns-packet: 5.6.1
           thunky: 1.1.0
    +    dev: true
     
    -  mz@2.7.0:
    +  /mz@2.7.0:
    +    resolution: {integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==}
         dependencies:
           any-promise: 1.3.0
           object-assign: 4.1.1
           thenify-all: 1.6.0
     
    -  nanoid@3.3.7: {}
    +  /nanoid@3.3.7:
    +    resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==}
    +    engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1}
    +    hasBin: true
     
    -  natural-compare@1.4.0: {}
    +  /natural-compare@1.4.0:
    +    resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==}
    +    dev: true
     
    -  negotiator@0.6.3: {}
    +  /negotiator@0.6.3:
    +    resolution: {integrity: sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==}
    +    engines: {node: '>= 0.6'}
    +    dev: true
     
    -  neo-async@2.6.2: {}
    +  /neo-async@2.6.2:
    +    resolution: {integrity: sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==}
    +    dev: true
     
    -  nested-error-stacks@2.1.1: {}
    +  /nested-error-stacks@2.1.1:
    +    resolution: {integrity: sha512-9iN1ka/9zmX1ZvLV9ewJYEk9h7RyRRtqdK0woXcqohu8EWIerfPUjYJPg0ULy0UqP7cslmdGc8xKDJcojlKiaw==}
    +    dev: true
     
    -  next-tick@1.1.0: {}
    +  /next-tick@1.1.0:
    +    resolution: {integrity: sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ==}
    +    dev: true
     
    -  nice-try@1.0.5: {}
    +  /nice-try@1.0.5:
    +    resolution: {integrity: sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==}
    +    dev: true
     
    -  node-cleanup@2.1.2: {}
    +  /node-cleanup@2.1.2:
    +    resolution: {integrity: sha512-qN8v/s2PAJwGUtr1/hYTpNKlD6Y9rc4p8KSmJXyGdYGZsDGKXrGThikLFP9OCHFeLeEpQzPwiAtdIvBLqm//Hw==}
    +    dev: true
     
    -  node-domexception@1.0.0: {}
    +  /node-domexception@1.0.0:
    +    resolution: {integrity: sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==}
    +    engines: {node: '>=10.5.0'}
    +    dev: true
     
    -  node-fetch-native@1.6.4: {}
    +  /node-fetch-native@1.6.4:
    +    resolution: {integrity: sha512-IhOigYzAKHd244OC0JIMIUrjzctirCmPkaIfhDeGcEETWof5zKYUW7e7MYvChGWh/4CJeXEgsRyGzuF334rOOQ==}
    +    dev: true
     
    -  node-fetch@2.6.7(encoding@0.1.13):
    +  /node-fetch@2.6.7(encoding@0.1.13):
    +    resolution: {integrity: sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==}
    +    engines: {node: 4.x || >=6.0.0}
    +    peerDependencies:
    +      encoding: ^0.1.0
    +    peerDependenciesMeta:
    +      encoding:
    +        optional: true
         dependencies:
           encoding: 0.1.13
           whatwg-url: 5.0.0
    +    dev: true
     
    -  node-fetch@3.3.1:
    +  /node-fetch@3.3.1:
    +    resolution: {integrity: sha512-cRVc/kyto/7E5shrWca1Wsea4y6tL9iYJE5FBCius3JQfb/4P4I295PfhgbJQBLTx6lATE4z+wK0rPM4VS2uow==}
    +    engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
         dependencies:
           data-uri-to-buffer: 4.0.1
           fetch-blob: 3.2.0
           formdata-polyfill: 4.0.10
    +    dev: true
     
    -  node-forge@1.3.1: {}
    +  /node-forge@1.3.1:
    +    resolution: {integrity: sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==}
    +    engines: {node: '>= 6.13.0'}
    +    dev: true
     
    -  node-int64@0.4.0: {}
    +  /node-int64@0.4.0:
    +    resolution: {integrity: sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==}
    +    dev: true
     
    -  node-preload@0.2.1:
    +  /node-preload@0.2.1:
    +    resolution: {integrity: sha512-RM5oyBy45cLEoHqCeh+MNuFAxO0vTFBLskvQbOKnEE7YTTSN4tbN8QWDIPQ6L+WvKsB/qLEGpYe2ZZ9d4W9OIQ==}
    +    engines: {node: '>=8'}
         dependencies:
           process-on-spawn: 1.0.0
    +    dev: true
     
    -  node-releases@2.0.14: {}
    +  /node-releases@2.0.14:
    +    resolution: {integrity: sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==}
    +    dev: true
     
    -  nomnom@1.5.2:
    +  /nomnom@1.5.2:
    +    resolution: {integrity: sha512-fiVbT7BqxiQqjlR9U3FDGOSERFCKoXVCdxV2FwZuNN7/cmJ42iQx35nUFOAFDcyvemu9Adp+IlsCGlKQYLmBKw==}
    +    deprecated: Package no longer supported. Contact support@npmjs.com for more info.
         dependencies:
           colors: 0.5.1
           underscore: 1.1.7
    +    dev: true
     
    -  normalize-package-data@2.5.0:
    +  /normalize-package-data@2.5.0:
    +    resolution: {integrity: sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==}
         dependencies:
           hosted-git-info: 2.8.9
           resolve: 1.22.8
           semver: 5.7.2
           validate-npm-package-license: 3.0.4
    +    dev: true
     
    -  normalize-path@3.0.0: {}
    +  /normalize-path@3.0.0:
    +    resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==}
    +    engines: {node: '>=0.10.0'}
     
    -  normalize-url@6.1.0: {}
    +  /normalize-url@6.1.0:
    +    resolution: {integrity: sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==}
    +    engines: {node: '>=10'}
    +    dev: true
     
    -  npm-run-path@2.0.2:
    +  /npm-run-path@2.0.2:
    +    resolution: {integrity: sha512-lJxZYlT4DW/bRUtFh1MQIWqmLwQfAxnqWG4HhEdjMlkrJYnJn0Jrr2u3mgxqaWsdiBc76TYkTG/mhrnYTuzfHw==}
    +    engines: {node: '>=4'}
         dependencies:
           path-key: 2.0.1
    +    dev: true
     
    -  npm-run-path@4.0.1:
    +  /npm-run-path@4.0.1:
    +    resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==}
    +    engines: {node: '>=8'}
         dependencies:
           path-key: 3.1.1
    +    dev: true
     
    -  npm-run-path@5.3.0:
    +  /npm-run-path@5.3.0:
    +    resolution: {integrity: sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==}
    +    engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
         dependencies:
           path-key: 4.0.0
    +    dev: true
     
    -  nwsapi@2.2.7: {}
    +  /nwsapi@2.2.10:
    +    resolution: {integrity: sha512-QK0sRs7MKv0tKe1+5uZIQk/C8XGza4DAnztJG8iD+TpJIORARrCxczA738awHrZoHeTjSSoHqao2teO0dC/gFQ==}
    +    dev: true
     
    -  nyc@15.1.0:
    +  /nyc@15.1.0:
    +    resolution: {integrity: sha512-jMW04n9SxKdKi1ZMGhvUTHBN0EICCRkHemEoE5jm6mTYcqcdas0ATzgUgejlQUHMvpnOZqGB5Xxsv9KxJW1j8A==}
    +    engines: {node: '>=8.9'}
    +    hasBin: true
         dependencies:
           '@istanbuljs/load-nyc-config': 1.1.0
           '@istanbuljs/schema': 0.1.3
    @@ -16697,13 +12711,13 @@ snapshots:
           foreground-child: 2.0.0
           get-package-type: 0.1.0
           glob: 7.2.3
    -      istanbul-lib-coverage: 3.2.0
    +      istanbul-lib-coverage: 3.2.2
           istanbul-lib-hook: 3.0.0
           istanbul-lib-instrument: 4.0.3
           istanbul-lib-processinfo: 2.0.3
           istanbul-lib-report: 3.0.1
           istanbul-lib-source-maps: 4.0.1
    -      istanbul-reports: 3.1.6
    +      istanbul-reports: 3.1.7
           make-dir: 3.1.0
           node-preload: 0.2.1
           p-map: 3.0.0
    @@ -16716,156 +12730,273 @@ snapshots:
           yargs: 15.4.1
         transitivePeerDependencies:
           - supports-color
    +    dev: true
     
    -  object-assign@4.1.1: {}
    +  /object-assign@4.1.1:
    +    resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==}
    +    engines: {node: '>=0.10.0'}
     
    -  object-hash@3.0.0: {}
    +  /object-hash@3.0.0:
    +    resolution: {integrity: sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==}
    +    engines: {node: '>= 6'}
    +    dev: false
     
    -  object-inspect@1.13.1: {}
    +  /object-inspect@1.13.1:
    +    resolution: {integrity: sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==}
    +    dev: true
     
    -  object-keys@1.1.1: {}
    +  /object-keys@1.1.1:
    +    resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==}
    +    engines: {node: '>= 0.4'}
    +    dev: true
     
    -  object.assign@4.1.5:
    +  /object.assign@4.1.5:
    +    resolution: {integrity: sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ==}
    +    engines: {node: '>= 0.4'}
         dependencies:
           call-bind: 1.0.7
           define-properties: 1.2.1
           has-symbols: 1.0.3
           object-keys: 1.1.1
    +    dev: true
     
    -  obuf@1.1.2: {}
    +  /obuf@1.1.2:
    +    resolution: {integrity: sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==}
    +    dev: true
     
    -  ofetch@1.3.4:
    +  /ofetch@1.3.4:
    +    resolution: {integrity: sha512-KLIET85ik3vhEfS+3fDlc/BAZiAp+43QEC/yCo5zkNoY2YaKvNkOaFr/6wCFgFH1kuYQM5pMNi0Tg8koiIemtw==}
         dependencies:
           destr: 2.0.3
           node-fetch-native: 1.6.4
           ufo: 1.5.3
    +    dev: true
     
    -  omggif@1.0.10: {}
    +  /omggif@1.0.10:
    +    resolution: {integrity: sha512-LMJTtvgc/nugXj0Vcrrs68Mn2D1r0zf630VNtqtpI1FEO7e+O9FP4gqs9AcnBaSEeoHIPm28u6qgPR0oyEpGSw==}
    +    dev: true
     
    -  on-exit-leak-free@2.1.2: {}
    +  /on-exit-leak-free@2.1.2:
    +    resolution: {integrity: sha512-0eJJY6hXLGf1udHwfNftBqH+g73EU4B504nZeKpz1sYRKafAghwxEJunB2O7rDZkL4PGfsMVnTXZ2EjibbqcsA==}
    +    engines: {node: '>=14.0.0'}
    +    dev: false
     
    -  on-finished@2.4.1:
    +  /on-finished@2.4.1:
    +    resolution: {integrity: sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==}
    +    engines: {node: '>= 0.8'}
         dependencies:
           ee-first: 1.1.1
    +    dev: true
     
    -  on-headers@1.0.2: {}
    +  /on-headers@1.0.2:
    +    resolution: {integrity: sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==}
    +    engines: {node: '>= 0.8'}
    +    dev: true
     
    -  once@1.4.0:
    +  /once@1.4.0:
    +    resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==}
         dependencies:
           wrappy: 1.0.2
    +    dev: true
     
    -  onetime@5.1.2:
    +  /onetime@5.1.2:
    +    resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==}
    +    engines: {node: '>=6'}
         dependencies:
           mimic-fn: 2.1.0
    +    dev: true
     
    -  onetime@6.0.0:
    +  /onetime@6.0.0:
    +    resolution: {integrity: sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==}
    +    engines: {node: '>=12'}
         dependencies:
           mimic-fn: 4.0.0
    +    dev: true
     
    -  open@8.4.2:
    +  /open@8.4.2:
    +    resolution: {integrity: sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==}
    +    engines: {node: '>=12'}
         dependencies:
           define-lazy-prop: 2.0.0
           is-docker: 2.2.1
           is-wsl: 2.2.0
    +    dev: true
     
    -  optionator@0.9.3:
    +  /optionator@0.9.4:
    +    resolution: {integrity: sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==}
    +    engines: {node: '>= 0.8.0'}
         dependencies:
    -      '@aashutoshrathi/word-wrap': 1.2.6
           deep-is: 0.1.4
           fast-levenshtein: 2.0.6
           levn: 0.4.1
           prelude-ls: 1.2.1
           type-check: 0.4.0
    +      word-wrap: 1.2.5
    +    dev: true
     
    -  ospath@1.2.2: {}
    +  /ospath@1.2.2:
    +    resolution: {integrity: sha512-o6E5qJV5zkAbIDNhGSIlyOhScKXgQrSRMilfph0clDfM0nEnBOlKlH4sWDmG95BW/CvwNz0vmm7dJVtU2KlMiA==}
    +    dev: true
     
    -  p-cancelable@2.1.1: {}
    +  /p-cancelable@2.1.1:
    +    resolution: {integrity: sha512-BZOr3nRQHOntUjTrH8+Lh54smKHoHyur8We1V8DSMVrl5A2malOOwuJRnKRDjSnkoeBh4at6BwEnb5I7Jl31wg==}
    +    engines: {node: '>=8'}
    +    dev: true
     
    -  p-event@5.0.1:
    +  /p-event@5.0.1:
    +    resolution: {integrity: sha512-dd589iCQ7m1L0bmC5NLlVYfy3TbBEsMUfWx9PyAgPeIcFZ/E2yaTZ4Rz4MiBmmJShviiftHVXOqfnfzJ6kyMrQ==}
    +    engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
         dependencies:
           p-timeout: 5.1.0
    +    dev: true
     
    -  p-filter@3.0.0:
    +  /p-filter@3.0.0:
    +    resolution: {integrity: sha512-QtoWLjXAW++uTX67HZQz1dbTpqBfiidsB6VtQUC9iR85S120+s0T5sO6s+B5MLzFcZkrEd/DGMmCjR+f2Qpxwg==}
    +    engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
         dependencies:
           p-map: 5.5.0
    +    dev: true
     
    -  p-finally@1.0.0: {}
    +  /p-finally@1.0.0:
    +    resolution: {integrity: sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow==}
    +    engines: {node: '>=4'}
    +    dev: true
     
    -  p-iteration@1.1.8: {}
    +  /p-iteration@1.1.8:
    +    resolution: {integrity: sha512-IMFBSDIYcPNnW7uWYGrBqmvTiq7W0uB0fJn6shQZs7dlF3OvrHOre+JT9ikSZ7gZS3vWqclVgoQSvToJrns7uQ==}
    +    engines: {node: '>=8.0.0'}
    +    dev: true
     
    -  p-limit@2.3.0:
    +  /p-limit@2.3.0:
    +    resolution: {integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==}
    +    engines: {node: '>=6'}
         dependencies:
           p-try: 2.2.0
    +    dev: true
     
    -  p-limit@3.1.0:
    +  /p-limit@3.1.0:
    +    resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==}
    +    engines: {node: '>=10'}
         dependencies:
           yocto-queue: 0.1.0
    +    dev: true
     
    -  p-limit@4.0.0:
    +  /p-limit@4.0.0:
    +    resolution: {integrity: sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ==}
    +    engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
         dependencies:
           yocto-queue: 1.0.0
    +    dev: true
     
    -  p-limit@5.0.0:
    +  /p-limit@5.0.0:
    +    resolution: {integrity: sha512-/Eaoq+QyLSiXQ4lyYV23f14mZRQcXnxfHrN0vCai+ak9G0pp9iEQukIIZq5NccEvwRB8PUnZT0KsOoDCINS1qQ==}
    +    engines: {node: '>=18'}
         dependencies:
           yocto-queue: 1.0.0
    +    dev: true
     
    -  p-locate@3.0.0:
    +  /p-locate@3.0.0:
    +    resolution: {integrity: sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==}
    +    engines: {node: '>=6'}
         dependencies:
           p-limit: 2.3.0
    +    dev: true
     
    -  p-locate@4.1.0:
    +  /p-locate@4.1.0:
    +    resolution: {integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==}
    +    engines: {node: '>=8'}
         dependencies:
           p-limit: 2.3.0
    +    dev: true
     
    -  p-locate@5.0.0:
    +  /p-locate@5.0.0:
    +    resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==}
    +    engines: {node: '>=10'}
         dependencies:
           p-limit: 3.1.0
    +    dev: true
     
    -  p-locate@6.0.0:
    +  /p-locate@6.0.0:
    +    resolution: {integrity: sha512-wPrq66Llhl7/4AGC6I+cqxT07LhXvWL08LNXz1fENOw0Ap4sRZZ/gZpTTJ5jpurzzzfS2W/Ge9BY3LgLjCShcw==}
    +    engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
         dependencies:
           p-limit: 4.0.0
    +    dev: true
     
    -  p-map@3.0.0:
    +  /p-map@3.0.0:
    +    resolution: {integrity: sha512-d3qXVTF/s+W+CdJ5A29wywV2n8CQQYahlgz2bFiA+4eVNJbHJodPZ+/gXwPGh0bOqA+j8S+6+ckmvLGPk1QpxQ==}
    +    engines: {node: '>=8'}
         dependencies:
           aggregate-error: 3.1.0
    +    dev: true
     
    -  p-map@4.0.0:
    +  /p-map@4.0.0:
    +    resolution: {integrity: sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==}
    +    engines: {node: '>=10'}
         dependencies:
           aggregate-error: 3.1.0
    +    dev: true
     
    -  p-map@5.5.0:
    +  /p-map@5.5.0:
    +    resolution: {integrity: sha512-VFqfGDHlx87K66yZrNdI4YGtD70IRyd+zSvgks6mzHPRNkoKy+9EKP4SFC77/vTTQYmRmti7dvqC+m5jBrBAcg==}
    +    engines: {node: '>=12'}
         dependencies:
           aggregate-error: 4.0.1
    +    dev: true
     
    -  p-map@6.0.0: {}
    +  /p-map@6.0.0:
    +    resolution: {integrity: sha512-T8BatKGY+k5rU+Q/GTYgrEf2r4xRMevAN5mtXc2aPc4rS1j3s+vWTaO2Wag94neXuCAUAs8cxBL9EeB5EA6diw==}
    +    engines: {node: '>=16'}
    +    dev: true
     
    -  p-retry@4.6.2:
    +  /p-retry@4.6.2:
    +    resolution: {integrity: sha512-312Id396EbJdvRONlngUx0NydfrIQ5lsYu0znKVUzVvArzEIt08V1qhtyESbGVd1FGX7UKtiFp5uwKZdM8wIuQ==}
    +    engines: {node: '>=8'}
         dependencies:
           '@types/retry': 0.12.0
           retry: 0.13.1
    +    dev: true
     
    -  p-timeout@5.1.0: {}
    +  /p-timeout@5.1.0:
    +    resolution: {integrity: sha512-auFDyzzzGZZZdHz3BtET9VEz0SE/uMEAx7uWfGPucfzEwwe/xH0iVeZibQmANYE/hp9T2+UUZT5m+BKyrDp3Ew==}
    +    engines: {node: '>=12'}
    +    dev: true
     
    -  p-try@2.2.0: {}
    +  /p-try@2.2.0:
    +    resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==}
    +    engines: {node: '>=6'}
    +    dev: true
     
    -  package-hash@4.0.0:
    +  /package-hash@4.0.0:
    +    resolution: {integrity: sha512-whdkPIooSu/bASggZ96BWVvZTRMOFxnyUG5PnTSGKoJE2gd5mbVNmR2Nj20QFzxYYgAXpoqC+AiXzl+UMRh7zQ==}
    +    engines: {node: '>=8'}
         dependencies:
           graceful-fs: 4.2.11
           hasha: 5.2.2
           lodash.flattendeep: 4.4.0
           release-zalgo: 1.0.0
    +    dev: true
     
    -  pako@1.0.11: {}
    +  /pako@1.0.11:
    +    resolution: {integrity: sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==}
    +    dev: true
     
    -  parent-module@1.0.1:
    +  /parent-module@1.0.1:
    +    resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==}
    +    engines: {node: '>=6'}
         dependencies:
           callsites: 3.1.0
    +    dev: true
     
    -  parent-module@2.0.0:
    +  /parent-module@2.0.0:
    +    resolution: {integrity: sha512-uo0Z9JJeWzv8BG+tRcapBKNJ0dro9cLyczGzulS6EfeyAdeC9sbojtW6XwvYxJkEne9En+J2XEl4zyglVeIwFg==}
    +    engines: {node: '>=8'}
         dependencies:
           callsites: 3.1.0
    +    dev: true
     
    -  parse-entities@2.0.0:
    +  /parse-entities@2.0.0:
    +    resolution: {integrity: sha512-kkywGpCcRYhqQIchaWqZ875wzpS/bMKhz5HnN3p7wveJTkTtyAB/AlnS0f8DFSqYW1T82t6yEAkEcB+A1I3MbQ==}
         dependencies:
           character-entities: 1.2.4
           character-entities-legacy: 1.1.4
    @@ -16873,88 +13004,156 @@ snapshots:
           is-alphanumerical: 1.0.4
           is-decimal: 1.0.4
           is-hexadecimal: 1.0.4
    +    dev: true
     
    -  parse-json@5.2.0:
    +  /parse-json@5.2.0:
    +    resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==}
    +    engines: {node: '>=8'}
         dependencies:
    -      '@babel/code-frame': 7.24.2
    +      '@babel/code-frame': 7.24.7
           error-ex: 1.3.2
           json-parse-even-better-errors: 2.3.1
           lines-and-columns: 1.2.4
    +    dev: true
     
    -  parse5@7.1.2:
    +  /parse5@7.1.2:
    +    resolution: {integrity: sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==}
         dependencies:
           entities: 4.5.0
    +    dev: true
     
    -  parseurl@1.3.3: {}
    -
    -  path-browserify@1.0.1: {}
    +  /parseurl@1.3.3:
    +    resolution: {integrity: sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==}
    +    engines: {node: '>= 0.8'}
    +    dev: true
     
    -  path-data-parser@0.1.0: {}
    +  /path-browserify@1.0.1:
    +    resolution: {integrity: sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==}
    +    dev: true
     
    -  path-exists@3.0.0: {}
    +  /path-data-parser@0.1.0:
    +    resolution: {integrity: sha512-NOnmBpt5Y2RWbuv0LMzsayp3lVylAHLPUTut412ZA3l+C4uw4ZVkQbjShYCQ8TCpUMdPapr4YjUqLYD6v68j+w==}
    +    dev: false
     
    -  path-exists@4.0.0: {}
    +  /path-exists@3.0.0:
    +    resolution: {integrity: sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==}
    +    engines: {node: '>=4'}
    +    dev: true
     
    -  path-exists@5.0.0: {}
    +  /path-exists@4.0.0:
    +    resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==}
    +    engines: {node: '>=8'}
    +    dev: true
     
    -  path-is-absolute@1.0.1: {}
    +  /path-exists@5.0.0:
    +    resolution: {integrity: sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ==}
    +    engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
    +    dev: true
     
    -  path-key@2.0.1: {}
    +  /path-is-absolute@1.0.1:
    +    resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==}
    +    engines: {node: '>=0.10.0'}
    +    dev: true
     
    -  path-key@3.1.1: {}
    +  /path-key@2.0.1:
    +    resolution: {integrity: sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==}
    +    engines: {node: '>=4'}
    +    dev: true
     
    -  path-key@4.0.0: {}
    +  /path-key@3.1.1:
    +    resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==}
    +    engines: {node: '>=8'}
     
    -  path-parse@1.0.7: {}
    +  /path-key@4.0.0:
    +    resolution: {integrity: sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==}
    +    engines: {node: '>=12'}
    +    dev: true
     
    -  path-scurry@1.10.1:
    -    dependencies:
    -      lru-cache: 10.2.1
    -      minipass: 7.0.4
    +  /path-parse@1.0.7:
    +    resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==}
     
    -  path-scurry@1.10.2:
    +  /path-scurry@1.11.1:
    +    resolution: {integrity: sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==}
    +    engines: {node: '>=16 || 14 >=14.18'}
         dependencies:
    -      lru-cache: 10.2.1
    -      minipass: 7.0.4
    +      lru-cache: 10.2.2
    +      minipass: 7.1.2
     
    -  path-to-regexp@0.1.7: {}
    +  /path-to-regexp@0.1.7:
    +    resolution: {integrity: sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==}
    +    dev: true
     
    -  path-type@4.0.0: {}
    +  /path-type@4.0.0:
    +    resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==}
    +    engines: {node: '>=8'}
    +    dev: true
     
    -  path-type@5.0.0: {}
    +  /path-type@5.0.0:
    +    resolution: {integrity: sha512-5HviZNaZcfqP95rwpv+1HDgUamezbqdSYTyzjTvwtJSnIH+3vnbmWsItli8OFEndS984VT55M3jduxZbX351gg==}
    +    engines: {node: '>=12'}
    +    dev: true
     
    -  pathe@1.1.2: {}
    +  /pathe@1.1.2:
    +    resolution: {integrity: sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==}
    +    dev: true
     
    -  pathval@1.1.1: {}
    +  /pathval@1.1.1:
    +    resolution: {integrity: sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==}
    +    dev: true
     
    -  pause-stream@0.0.11:
    +  /pause-stream@0.0.11:
    +    resolution: {integrity: sha512-e3FBlXLmN/D1S+zHzanP4E/4Z60oFAa3O051qt1pxa7DEJWKAyil6upYVXCWadEnuoqa4Pkc9oUx9zsxYeRv8A==}
         dependencies:
           through: 2.3.8
    +    dev: true
     
    -  pend@1.2.0: {}
    +  /pend@1.2.0:
    +    resolution: {integrity: sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==}
    +    dev: true
     
    -  perfect-debounce@1.0.0: {}
    +  /perfect-debounce@1.0.0:
    +    resolution: {integrity: sha512-xCy9V055GLEqoFaHoC1SoLIaLmWctgCUaBaWxDZ7/Zx4CTyX7cJQLJOok/orfjZAh9kEYpjJa4d0KcJmCbctZA==}
    +    dev: true
     
    -  performance-now@2.1.0: {}
    +  /performance-now@2.1.0:
    +    resolution: {integrity: sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==}
    +    dev: true
     
    -  picocolors@1.0.0: {}
    +  /picocolors@1.0.1:
    +    resolution: {integrity: sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew==}
     
    -  picomatch@2.3.1: {}
    +  /picomatch@2.3.1:
    +    resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==}
    +    engines: {node: '>=8.6'}
     
    -  pidtree@0.6.0: {}
    +  /pidtree@0.6.0:
    +    resolution: {integrity: sha512-eG2dWTVw5bzqGRztnHExczNxt5VGsE6OwTeCG3fdUf9KBsZzO3R5OIIIzWR+iZA0NtZ+RDVdaoE2dK1cn6jH4g==}
    +    engines: {node: '>=0.10'}
    +    hasBin: true
    +    dev: true
     
    -  pify@2.3.0: {}
    +  /pify@2.3.0:
    +    resolution: {integrity: sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==}
    +    engines: {node: '>=0.10.0'}
     
    -  pino-abstract-transport@1.1.0:
    +  /pino-abstract-transport@1.2.0:
    +    resolution: {integrity: sha512-Guhh8EZfPCfH+PMXAb6rKOjGQEoy0xlAIn+irODG5kgfYV+BQ0rGYYWTIel3P5mmyXqkYkPmdIkywsn6QKUR1Q==}
         dependencies:
           readable-stream: 4.5.2
           split2: 4.2.0
    +    dev: false
     
    -  pino-std-serializers@3.2.0: {}
    +  /pino-std-serializers@3.2.0:
    +    resolution: {integrity: sha512-EqX4pwDPrt3MuOAAUBMU0Tk5kR/YcCM5fNPEzgCO2zJ5HfX0vbiH9HbJglnyeQsN96Kznae6MWD47pZB5avTrg==}
    +    dev: true
     
    -  pino-std-serializers@6.2.2: {}
    +  /pino-std-serializers@6.2.2:
    +    resolution: {integrity: sha512-cHjPPsE+vhj/tnhCy/wiMh3M3z3h/j15zHQX+S9GkTBgqJuTuJzYJ4gUyACLhDaJ7kk9ba9iRDmbH2tJU03OiA==}
    +    dev: false
     
    -  pino@6.14.0:
    +  /pino@6.14.0:
    +    resolution: {integrity: sha512-iuhEDel3Z3hF9Jfe44DPXR8l07bhjuFY3GMHIXbjnY9XcafbyDDwl2sN2vw2GjMPf5Nkoe+OFao7ffn9SXaKDg==}
    +    hasBin: true
         dependencies:
           fast-redact: 3.5.0
           fast-safe-stringify: 2.1.1
    @@ -16963,227 +13162,402 @@ snapshots:
           process-warning: 1.0.0
           quick-format-unescaped: 4.0.4
           sonic-boom: 1.4.1
    +    dev: true
     
    -  pino@8.20.0:
    +  /pino@8.21.0:
    +    resolution: {integrity: sha512-ip4qdzjkAyDDZklUaZkcRFb2iA118H9SgRh8yzTkSQK8HilsOJF7rSY8HoW5+I0M46AZgX/pxbprf2vvzQCE0Q==}
    +    hasBin: true
         dependencies:
           atomic-sleep: 1.0.0
           fast-redact: 3.5.0
           on-exit-leak-free: 2.1.2
    -      pino-abstract-transport: 1.1.0
    +      pino-abstract-transport: 1.2.0
           pino-std-serializers: 6.2.2
           process-warning: 3.0.0
           quick-format-unescaped: 4.0.4
           real-require: 0.2.0
           safe-stable-stringify: 2.4.3
           sonic-boom: 3.8.1
    -      thread-stream: 2.4.1
    +      thread-stream: 2.7.0
    +    dev: false
     
    -  pirates@4.0.6: {}
    +  /pirates@4.0.6:
    +    resolution: {integrity: sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==}
    +    engines: {node: '>= 6'}
     
    -  pixelmatch@5.3.0:
    +  /pixelmatch@5.3.0:
    +    resolution: {integrity: sha512-o8mkY4E/+LNUf6LzX96ht6k6CEDi65k9G2rjMtBe9Oo+VPKSvl+0GKHuH/AlG+GA5LPG/i5hrekkxUc3s2HU+Q==}
    +    hasBin: true
         dependencies:
           pngjs: 6.0.0
    +    dev: true
     
    -  pkg-dir@3.0.0:
    +  /pkg-dir@3.0.0:
    +    resolution: {integrity: sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==}
    +    engines: {node: '>=6'}
         dependencies:
           find-up: 3.0.0
    +    dev: true
     
    -  pkg-dir@4.2.0:
    +  /pkg-dir@4.2.0:
    +    resolution: {integrity: sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==}
    +    engines: {node: '>=8'}
         dependencies:
           find-up: 4.1.0
    +    dev: true
     
    -  pkg-dir@7.0.0:
    +  /pkg-dir@7.0.0:
    +    resolution: {integrity: sha512-Ie9z/WINcxxLp27BKOCHGde4ITq9UklYKDzVo1nhk5sqGEXU3FpkwP5GM2voTGJkGd9B3Otl+Q4uwSOeSUtOBA==}
    +    engines: {node: '>=14.16'}
         dependencies:
           find-up: 6.3.0
    +    dev: true
     
    -  pkg-types@1.1.0:
    +  /pkg-types@1.1.1:
    +    resolution: {integrity: sha512-ko14TjmDuQJ14zsotODv7dBlwxKhUKQEhuhmbqo1uCi9BB0Z2alo/wAXg6q1dTR5TyuqYyWhjtfe/Tsh+X28jQ==}
         dependencies:
           confbox: 0.1.7
    -      mlly: 1.6.1
    +      mlly: 1.7.1
           pathe: 1.1.2
    +    dev: true
     
    -  plist@3.1.0:
    +  /plist@3.1.0:
    +    resolution: {integrity: sha512-uysumyrvkUX0rX/dEVqt8gC3sTBzd4zoWfLeS29nb53imdaXVvLINYXTI2GNqzaMuvacNx4uJQ8+b3zXR0pkgQ==}
    +    engines: {node: '>=10.4.0'}
         dependencies:
           '@xmldom/xmldom': 0.8.10
           base64-js: 1.5.1
           xmlbuilder: 15.1.1
    +    dev: true
     
    -  pluralize@8.0.0: {}
    +  /pluralize@8.0.0:
    +    resolution: {integrity: sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA==}
    +    engines: {node: '>=4'}
    +    dev: true
     
    -  png-async@0.9.4: {}
    +  /png-async@0.9.4:
    +    resolution: {integrity: sha512-B//AXX9TkneKfgtOpT1mdUnnhk2BImGD+a98vImsMU8uo1dBeHyW/kM2erWZ/CsYteTPU/xKG+t6T62heHkC3A==}
    +    dev: true
     
    -  pngjs@3.4.0: {}
    +  /pngjs@3.4.0:
    +    resolution: {integrity: sha512-NCrCHhWmnQklfH4MtJMRjZ2a8c80qXeMlQMv2uVp9ISJMTt562SbGd6n2oq0PaPgKm7Z6pL9E2UlLIhC+SHL3w==}
    +    engines: {node: '>=4.0.0'}
    +    dev: true
     
    -  pngjs@6.0.0: {}
    +  /pngjs@6.0.0:
    +    resolution: {integrity: sha512-TRzzuFRRmEoSW/p1KVAmiOgPco2Irlah+bGFCeNfJXxxYGwSw7YwAOAcd7X28K/m5bjBWKsC29KyoMfHbypayg==}
    +    engines: {node: '>=12.13.0'}
    +    dev: true
     
    -  pnpm@8.15.8: {}
    +  /pnpm@8.15.8:
    +    resolution: {integrity: sha512-0aAp4aRHrZC8ls1YsPrUhtKZPVMYVjlve6vy2D6xgju4PFo9D8GPZ1stEDIdSesWH+zjb+gTSqWCPs0hX+7Tkg==}
    +    engines: {node: '>=16.14'}
    +    hasBin: true
    +    dev: true
     
    -  points-on-curve@0.2.0: {}
    +  /points-on-curve@0.2.0:
    +    resolution: {integrity: sha512-0mYKnYYe9ZcqMCWhUjItv/oHjvgEsfKvnUTg8sAtnHr3GVy7rGkXCb6d5cSyqrWqL4k81b9CPg3urd+T7aop3A==}
    +    dev: false
     
    -  points-on-path@0.2.1:
    +  /points-on-path@0.2.1:
    +    resolution: {integrity: sha512-25ClnWWuw7JbWZcgqY/gJ4FQWadKxGWk+3kR/7kD0tCaDtPPMj7oHu2ToLaVhfpnHrZzYby2w6tUA0eOIuUg8g==}
         dependencies:
           path-data-parser: 0.1.0
           points-on-curve: 0.2.0
    +    dev: false
     
    -  possible-typed-array-names@1.0.0: {}
    +  /possible-typed-array-names@1.0.0:
    +    resolution: {integrity: sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q==}
    +    engines: {node: '>= 0.4'}
    +    dev: true
     
    -  postcss-import@15.1.0(postcss@8.4.38):
    +  /postcss-import@15.1.0(postcss@8.4.38):
    +    resolution: {integrity: sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==}
    +    engines: {node: '>=14.0.0'}
    +    peerDependencies:
    +      postcss: ^8.0.0
         dependencies:
           postcss: 8.4.38
           postcss-value-parser: 4.2.0
           read-cache: 1.0.0
           resolve: 1.22.8
    +    dev: false
     
    -  postcss-js@4.0.1(postcss@8.4.38):
    +  /postcss-js@4.0.1(postcss@8.4.38):
    +    resolution: {integrity: sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==}
    +    engines: {node: ^12 || ^14 || >= 16}
    +    peerDependencies:
    +      postcss: ^8.4.21
         dependencies:
           camelcase-css: 2.0.1
           postcss: 8.4.38
    +    dev: false
     
    -  postcss-load-config@4.0.2(postcss@8.4.38):
    +  /postcss-load-config@4.0.2(postcss@8.4.38):
    +    resolution: {integrity: sha512-bSVhyJGL00wMVoPUzAVAnbEoWyqRxkjv64tUl427SKnPrENtq6hJwUojroMz2VB+Q1edmi4IfrAPpami5VVgMQ==}
    +    engines: {node: '>= 14'}
    +    peerDependencies:
    +      postcss: '>=8.0.9'
    +      ts-node: '>=9.0.0'
    +    peerDependenciesMeta:
    +      postcss:
    +        optional: true
    +      ts-node:
    +        optional: true
         dependencies:
    -      lilconfig: 3.1.1
    +      lilconfig: 3.1.2
           postcss: 8.4.38
    -      yaml: 2.4.1
    +      yaml: 2.4.5
    +    dev: false
     
    -  postcss-nested@6.0.1(postcss@8.4.38):
    +  /postcss-nested@6.0.1(postcss@8.4.38):
    +    resolution: {integrity: sha512-mEp4xPMi5bSWiMbsgoPfcP74lsWLHkQbZc3sY+jWYd65CUwXrUaTp0fmNpa01ZcETKlIgUdFN/MpS2xZtqL9dQ==}
    +    engines: {node: '>=12.0'}
    +    peerDependencies:
    +      postcss: ^8.2.14
         dependencies:
           postcss: 8.4.38
    -      postcss-selector-parser: 6.0.16
    +      postcss-selector-parser: 6.1.0
    +    dev: false
     
    -  postcss-selector-parser@6.0.16:
    +  /postcss-selector-parser@6.1.0:
    +    resolution: {integrity: sha512-UMz42UD0UY0EApS0ZL9o1XnLhSTtvvvLe5Dc2H2O56fvRZi+KulDyf5ctDhhtYJBGKStV2FL1fy6253cmLgqVQ==}
    +    engines: {node: '>=4'}
         dependencies:
           cssesc: 3.0.0
           util-deprecate: 1.0.2
    +    dev: false
     
    -  postcss-value-parser@4.2.0: {}
    +  /postcss-value-parser@4.2.0:
    +    resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==}
    +    dev: false
     
    -  postcss@8.4.38:
    +  /postcss@8.4.38:
    +    resolution: {integrity: sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A==}
    +    engines: {node: ^10 || ^12 || >=14}
         dependencies:
           nanoid: 3.3.7
    -      picocolors: 1.0.0
    +      picocolors: 1.0.1
           source-map-js: 1.2.0
     
    -  preact@10.21.0: {}
    +  /preact@10.22.0:
    +    resolution: {integrity: sha512-RRurnSjJPj4rp5K6XoP45Ui33ncb7e4H7WiOHVpjbkvqvA3U+N8Z6Qbo0AE6leGYBV66n8EhEaFixvIu3SkxFw==}
    +    dev: true
     
    -  prelude-ls@1.2.1: {}
    +  /prelude-ls@1.2.1:
    +    resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==}
    +    engines: {node: '>= 0.8.0'}
    +    dev: true
     
    -  prettier-plugin-jsdoc@1.3.0(prettier@3.2.5):
    +  /prettier-plugin-jsdoc@1.3.0(prettier@3.3.2):
    +    resolution: {integrity: sha512-cQm8xIa0fN9ieJFMXACQd6JPycl+8ouOijAqUqu44EF/s4fXL3Wi9sKXuEaodsEWgCN42Xby/bNhqgM1iWx4uw==}
    +    engines: {node: '>=14.13.1 || >=16.0.0'}
    +    peerDependencies:
    +      prettier: ^3.0.0
         dependencies:
           binary-searching: 2.0.5
           comment-parser: 1.4.1
    -      mdast-util-from-markdown: 2.0.0
    -      prettier: 3.2.5
    +      mdast-util-from-markdown: 2.0.1
    +      prettier: 3.3.2
         transitivePeerDependencies:
           - supports-color
    +    dev: true
     
    -  prettier@2.8.8: {}
    +  /prettier@2.8.8:
    +    resolution: {integrity: sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==}
    +    engines: {node: '>=10.13.0'}
    +    hasBin: true
    +    dev: true
     
    -  prettier@3.2.5: {}
    +  /prettier@3.3.2:
    +    resolution: {integrity: sha512-rAVeHYMcv8ATV5d508CFdn+8/pHPpXeIid1DdrPwXnaAdH7cqjVbpJaT5eq4yRAFU/lsbwYwSF/n5iNrdJHPQA==}
    +    engines: {node: '>=14'}
    +    hasBin: true
    +    dev: true
     
    -  pretty-bytes@5.6.0: {}
    +  /pretty-bytes@5.6.0:
    +    resolution: {integrity: sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg==}
    +    engines: {node: '>=6'}
    +    dev: true
     
    -  pretty-bytes@6.1.1: {}
    +  /pretty-bytes@6.1.1:
    +    resolution: {integrity: sha512-mQUvGU6aUFQ+rNvTIAcZuWGRT9a6f6Yrg9bHs4ImKF+HZCEK+plBvnAZYSIQztknZF2qnzNtr6F8s0+IuptdlQ==}
    +    engines: {node: ^14.13.1 || >=16.0.0}
    +    dev: true
     
    -  pretty-format@29.7.0:
    +  /pretty-format@29.7.0:
    +    resolution: {integrity: sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==}
    +    engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
         dependencies:
           '@jest/schemas': 29.6.3
           ansi-styles: 5.2.0
    -      react-is: 18.2.0
    +      react-is: 18.3.1
    +    dev: true
     
    -  process-nextick-args@2.0.1: {}
    +  /process-nextick-args@2.0.1:
    +    resolution: {integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==}
    +    dev: true
     
    -  process-on-spawn@1.0.0:
    +  /process-on-spawn@1.0.0:
    +    resolution: {integrity: sha512-1WsPDsUSMmZH5LeMLegqkPDrsGgsWwk1Exipy2hvB0o/F0ASzbpIctSCcZIK1ykJvtTJULEH+20WOFjMvGnCTg==}
    +    engines: {node: '>=8'}
         dependencies:
           fromentries: 1.3.2
    +    dev: true
     
    -  process-warning@1.0.0: {}
    +  /process-warning@1.0.0:
    +    resolution: {integrity: sha512-du4wfLyj4yCZq1VupnVSZmRsPJsNuxoDQFdCFHLaYiEbFBD7QE0a+I4D7hOxrVnh78QE/YipFAj9lXHiXocV+Q==}
    +    dev: true
     
    -  process-warning@3.0.0: {}
    +  /process-warning@3.0.0:
    +    resolution: {integrity: sha512-mqn0kFRl0EoqhnL0GQ0veqFHyIN1yig9RHh/InzORTUiZHFRAur+aMtRkELNwGs9aNwKS6tg/An4NYBPGwvtzQ==}
    +    dev: false
     
    -  process@0.11.10: {}
    +  /process@0.11.10:
    +    resolution: {integrity: sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==}
    +    engines: {node: '>= 0.6.0'}
     
    -  prompts@2.4.2:
    +  /prompts@2.4.2:
    +    resolution: {integrity: sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==}
    +    engines: {node: '>= 6'}
         dependencies:
           kleur: 3.0.3
           sisteransi: 1.0.5
    +    dev: true
     
    -  proxy-addr@2.0.7:
    +  /proxy-addr@2.0.7:
    +    resolution: {integrity: sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==}
    +    engines: {node: '>= 0.10'}
         dependencies:
           forwarded: 0.2.0
           ipaddr.js: 1.9.1
    +    dev: true
     
    -  proxy-from-env@1.0.0: {}
    +  /proxy-from-env@1.0.0:
    +    resolution: {integrity: sha512-F2JHgJQ1iqwnHDcQjVBsq3n/uoaFL+iPW/eAeL7kVxy/2RrWaN4WroKjjvbsoRtv0ftelNyC01bjRhn/bhcf4A==}
    +    dev: true
     
    -  proxy-from-env@1.1.0: {}
    +  /proxy-from-env@1.1.0:
    +    resolution: {integrity: sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==}
    +    dev: true
     
    -  ps-tree@1.2.0:
    +  /ps-tree@1.2.0:
    +    resolution: {integrity: sha512-0VnamPPYHl4uaU/nSFeZZpR21QAWRz+sRv4iW9+v/GS/J5U5iZB5BNN6J0RMoOvdx2gWM2+ZFMIm58q24e4UYA==}
    +    engines: {node: '>= 0.10'}
    +    hasBin: true
         dependencies:
           event-stream: 3.3.4
    +    dev: true
     
    -  psl@1.9.0: {}
    +  /psl@1.9.0:
    +    resolution: {integrity: sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==}
    +    dev: true
     
    -  pump@3.0.0:
    +  /pump@3.0.0:
    +    resolution: {integrity: sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==}
         dependencies:
           end-of-stream: 1.4.4
           once: 1.4.0
    +    dev: true
     
    -  punycode@2.3.1: {}
    +  /punycode@2.3.1:
    +    resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==}
    +    engines: {node: '>=6'}
    +    dev: true
     
    -  pure-rand@6.0.4: {}
    +  /pure-rand@6.1.0:
    +    resolution: {integrity: sha512-bVWawvoZoBYpp6yIoQtQXHZjmz35RSVHnUOTefl8Vcjr8snTPY1wnpSPMWekcFwbxI6gtmT7rSYPFvz71ldiOA==}
    +    dev: true
     
    -  qs@6.10.4:
    +  /qs@6.10.4:
    +    resolution: {integrity: sha512-OQiU+C+Ds5qiH91qh/mg0w+8nwQuLjM4F4M/PbmhDOoYehPh+Fb0bDjtR1sOvy7YKxvj28Y/M0PhP5uVX0kB+g==}
    +    engines: {node: '>=0.6'}
         dependencies:
           side-channel: 1.0.6
    +    dev: true
     
    -  qs@6.11.0:
    +  /qs@6.11.0:
    +    resolution: {integrity: sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==}
    +    engines: {node: '>=0.6'}
         dependencies:
           side-channel: 1.0.6
    +    dev: true
     
    -  querystringify@2.2.0: {}
    +  /querystringify@2.2.0:
    +    resolution: {integrity: sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==}
    +    dev: true
     
    -  queue-microtask@1.2.3: {}
    +  /queue-microtask@1.2.3:
    +    resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==}
     
    -  quick-format-unescaped@4.0.4: {}
    +  /quick-format-unescaped@4.0.4:
    +    resolution: {integrity: sha512-tYC1Q1hgyRuHgloV/YXs2w15unPVh8qfu/qCTfhTYamaw7fyhumKa2yGpdSo87vY32rIclj+4fWYQXUMs9EHvg==}
     
    -  quick-lru@5.1.1: {}
    +  /quick-lru@5.1.1:
    +    resolution: {integrity: sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==}
    +    engines: {node: '>=10'}
    +    dev: true
     
    -  railroad-diagrams@1.0.0: {}
    +  /railroad-diagrams@1.0.0:
    +    resolution: {integrity: sha512-cz93DjNeLY0idrCNOH6PviZGRN9GJhsdm9hpn1YCS879fj4W+x5IFJhhkRZcwVgMmFF7R82UA/7Oh+R8lLZg6A==}
    +    dev: true
     
    -  ramda@0.28.0: {}
    +  /ramda@0.28.0:
    +    resolution: {integrity: sha512-9QnLuG/kPVgWvMQ4aODhsBUFKOUmnbUnsSXACv+NCQZcHbeb+v8Lodp8OVxtRULN1/xOyYLLaL6npE6dMq5QTA==}
    +    dev: false
     
    -  randombytes@2.1.0:
    +  /randombytes@2.1.0:
    +    resolution: {integrity: sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==}
         dependencies:
           safe-buffer: 5.2.1
    +    dev: true
     
    -  range-parser@1.2.1: {}
    +  /range-parser@1.2.1:
    +    resolution: {integrity: sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==}
    +    engines: {node: '>= 0.6'}
    +    dev: true
     
    -  raw-body@2.5.2:
    +  /raw-body@2.5.2:
    +    resolution: {integrity: sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==}
    +    engines: {node: '>= 0.8'}
         dependencies:
           bytes: 3.1.2
           http-errors: 2.0.0
           iconv-lite: 0.4.24
           unpipe: 1.0.0
    +    dev: true
     
    -  react-is@18.2.0: {}
    +  /react-is@18.3.1:
    +    resolution: {integrity: sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==}
    +    dev: true
     
    -  read-cache@1.0.0:
    +  /read-cache@1.0.0:
    +    resolution: {integrity: sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==}
         dependencies:
           pify: 2.3.0
    +    dev: false
     
    -  read-pkg-up@7.0.1:
    +  /read-pkg-up@7.0.1:
    +    resolution: {integrity: sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==}
    +    engines: {node: '>=8'}
         dependencies:
           find-up: 4.1.0
           read-pkg: 5.2.0
           type-fest: 0.8.1
    +    dev: true
     
    -  read-pkg@5.2.0:
    +  /read-pkg@5.2.0:
    +    resolution: {integrity: sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==}
    +    engines: {node: '>=8'}
         dependencies:
    -      '@types/normalize-package-data': 2.4.1
    +      '@types/normalize-package-data': 2.4.4
           normalize-package-data: 2.5.0
           parse-json: 5.2.0
           type-fest: 0.6.0
    +    dev: true
     
    -  readable-stream@2.3.8:
    +  /readable-stream@2.3.8:
    +    resolution: {integrity: sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==}
         dependencies:
           core-util-is: 1.0.3
           inherits: 2.0.4
    @@ -17192,53 +13566,85 @@ snapshots:
           safe-buffer: 5.1.2
           string_decoder: 1.1.1
           util-deprecate: 1.0.2
    +    dev: true
     
    -  readable-stream@3.6.2:
    +  /readable-stream@3.6.2:
    +    resolution: {integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==}
    +    engines: {node: '>= 6'}
         dependencies:
           inherits: 2.0.4
           string_decoder: 1.3.0
           util-deprecate: 1.0.2
    +    dev: true
     
    -  readable-stream@4.5.2:
    +  /readable-stream@4.5.2:
    +    resolution: {integrity: sha512-yjavECdqeZ3GLXNgRXgeQEdz9fvDDkNKyHnbHRFtOr7/LcfgBcmct7t/ET+HaCTqfh06OzoAxrkN/IfjJBVe+g==}
    +    engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
         dependencies:
           abort-controller: 3.0.0
           buffer: 6.0.3
           events: 3.3.0
           process: 0.11.10
           string_decoder: 1.3.0
    +    dev: false
     
    -  readdirp@3.6.0:
    +  /readdirp@3.6.0:
    +    resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==}
    +    engines: {node: '>=8.10.0'}
         dependencies:
           picomatch: 2.3.1
     
    -  real-require@0.2.0: {}
    +  /real-require@0.2.0:
    +    resolution: {integrity: sha512-57frrGM/OCTLqLOAh0mhVA9VBMHd+9U7Zb2THMGdBUoZVOtGbJzjxsYGDJ3A9AYYCP4hn6y1TVbaOfzWtm5GFg==}
    +    engines: {node: '>= 12.13.0'}
    +    dev: false
     
    -  rechoir@0.7.1:
    +  /rechoir@0.7.1:
    +    resolution: {integrity: sha512-/njmZ8s1wVeR6pjTZ+0nCnv8SpZNRMT2D1RLOJQESlYFDBvwpTA4KWJpZ+sBJ4+vhjILRcK7JIFdGCdxEAAitg==}
    +    engines: {node: '>= 0.10'}
         dependencies:
           resolve: 1.22.8
    +    dev: true
     
    -  regenerate-unicode-properties@10.1.1:
    +  /regenerate-unicode-properties@10.1.1:
    +    resolution: {integrity: sha512-X007RyZLsCJVVrjgEFVpLUTZwyOZk3oiL75ZcuYjlIWd6rNJtOjkBwQc5AsRrpbKVkxN6sklw/k/9m2jJYOf8Q==}
    +    engines: {node: '>=4'}
         dependencies:
           regenerate: 1.4.2
    +    dev: true
     
    -  regenerate@1.4.2: {}
    +  /regenerate@1.4.2:
    +    resolution: {integrity: sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==}
    +    dev: true
     
    -  regenerator-runtime@0.14.1: {}
    +  /regenerator-runtime@0.14.1:
    +    resolution: {integrity: sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==}
    +    dev: true
     
    -  regenerator-transform@0.15.2:
    +  /regenerator-transform@0.15.2:
    +    resolution: {integrity: sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg==}
         dependencies:
    -      '@babel/runtime': 7.24.5
    +      '@babel/runtime': 7.24.7
    +    dev: true
     
    -  regexp-tree@0.1.27: {}
    +  /regexp-tree@0.1.27:
    +    resolution: {integrity: sha512-iETxpjK6YoRWJG5o6hXLwvjYAoW+FEZn9os0PD/b6AP6xQwsa/Y7lCVgIixBbUPMfhu+i2LtdeAqVTgGlQarfA==}
    +    hasBin: true
    +    dev: true
     
    -  regexp.prototype.flags@1.5.2:
    +  /regexp.prototype.flags@1.5.2:
    +    resolution: {integrity: sha512-NcDiDkTLuPR+++OCKB0nWafEmhg/Da8aUPLPMQbK+bxKKCm1/S5he+AqYa4PlMCVBalb4/yxIRub6qkEx5yJbw==}
    +    engines: {node: '>= 0.4'}
         dependencies:
           call-bind: 1.0.7
           define-properties: 1.2.1
           es-errors: 1.3.0
           set-function-name: 2.0.2
    +    dev: true
     
    -  regexpu-core@5.3.2:
    +  /regexpu-core@5.3.2:
    +    resolution: {integrity: sha512-RAM5FlZz+Lhmo7db9L298p2vHP5ZywrVXmVXpmAD9GuL5MPH6t9ROw1iA/wfHkQ76Qe7AaPF0nGuim96/IrQMQ==}
    +    engines: {node: '>=4'}
         dependencies:
           '@babel/regjsgen': 0.8.0
           regenerate: 1.4.2
    @@ -17246,31 +13652,44 @@ snapshots:
           regjsparser: 0.9.1
           unicode-match-property-ecmascript: 2.0.0
           unicode-match-property-value-ecmascript: 2.1.0
    +    dev: true
     
    -  regjsparser@0.10.0:
    +  /regjsparser@0.10.0:
    +    resolution: {integrity: sha512-qx+xQGZVsy55CH0a1hiVwHmqjLryfh7wQyF5HO07XJ9f7dQMY/gPQHhlyDkIzJKC+x2fUCpCcUODUUUFrm7SHA==}
    +    hasBin: true
         dependencies:
           jsesc: 0.5.0
    +    dev: true
     
    -  regjsparser@0.9.1:
    +  /regjsparser@0.9.1:
    +    resolution: {integrity: sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==}
    +    hasBin: true
         dependencies:
           jsesc: 0.5.0
    +    dev: true
     
    -  release-zalgo@1.0.0:
    +  /release-zalgo@1.0.0:
    +    resolution: {integrity: sha512-gUAyHVHPPC5wdqX/LG4LWtRYtgjxyX78oanFNTMMyFEfOqdC54s3eE82imuWKbOeqYht2CrNf64Qb8vgmmtZGA==}
    +    engines: {node: '>=4'}
         dependencies:
           es6-error: 4.1.1
    +    dev: true
     
    -  remark-frontmatter@5.0.0:
    +  /remark-frontmatter@5.0.0:
    +    resolution: {integrity: sha512-XTFYvNASMe5iPN0719nPrdItC9aU0ssC4v14mH1BCi1u0n1gAocqcujWUrByftZTbLhRtiKRyjYTSIOcr69UVQ==}
         dependencies:
    -      '@types/mdast': 4.0.3
    +      '@types/mdast': 4.0.4
           mdast-util-frontmatter: 2.0.1
           micromark-extension-frontmatter: 2.0.0
           unified: 11.0.4
         transitivePeerDependencies:
           - supports-color
    +    dev: true
     
    -  remark-gfm@4.0.0:
    +  /remark-gfm@4.0.0:
    +    resolution: {integrity: sha512-U92vJgBPkbw4Zfu/IiW2oTZLSL3Zpv+uI7My2eq8JxKgqraFdU8YUGicEJCEgSbeaG+QDFqIcwwfMTOEelPxuA==}
         dependencies:
    -      '@types/mdast': 4.0.3
    +      '@types/mdast': 4.0.4
           mdast-util-gfm: 3.0.0
           micromark-extension-gfm: 3.0.0
           remark-parse: 11.0.0
    @@ -17278,235 +13697,387 @@ snapshots:
           unified: 11.0.4
         transitivePeerDependencies:
           - supports-color
    +    dev: true
     
    -  remark-parse@11.0.0:
    +  /remark-parse@11.0.0:
    +    resolution: {integrity: sha512-FCxlKLNGknS5ba/1lmpYijMUzX2esxW5xQqjWxw2eHFfS2MSdaHVINFmhjo+qN1WhZhNimq0dZATN9pH0IDrpA==}
         dependencies:
    -      '@types/mdast': 4.0.3
    -      mdast-util-from-markdown: 2.0.0
    +      '@types/mdast': 4.0.4
    +      mdast-util-from-markdown: 2.0.1
           micromark-util-types: 2.0.0
           unified: 11.0.4
         transitivePeerDependencies:
           - supports-color
    +    dev: true
     
    -  remark-stringify@11.0.0:
    +  /remark-stringify@11.0.0:
    +    resolution: {integrity: sha512-1OSmLd3awB/t8qdoEOMazZkNsfVTeY4fTsgzcQFdXNq8ToTN4ZGwrMnlda4K6smTFKD+GRV6O48i6Z4iKgPPpw==}
         dependencies:
    -      '@types/mdast': 4.0.3
    +      '@types/mdast': 4.0.4
           mdast-util-to-markdown: 2.1.0
           unified: 11.0.4
    +    dev: true
     
    -  remark@15.0.1:
    +  /remark@15.0.1:
    +    resolution: {integrity: sha512-Eht5w30ruCXgFmxVUSlNWQ9iiimq07URKeFS3hNc8cUWy1llX4KDWfyEDZRycMc+znsN9Ux5/tJ/BFdgdOwA3A==}
         dependencies:
    -      '@types/mdast': 4.0.3
    +      '@types/mdast': 4.0.4
           remark-parse: 11.0.0
           remark-stringify: 11.0.0
           unified: 11.0.4
         transitivePeerDependencies:
           - supports-color
    +    dev: true
     
    -  repeat-string@1.6.1: {}
    +  /repeat-string@1.6.1:
    +    resolution: {integrity: sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w==}
    +    engines: {node: '>=0.10'}
    +    dev: true
     
    -  request-progress@3.0.0:
    +  /request-progress@3.0.0:
    +    resolution: {integrity: sha512-MnWzEHHaxHO2iWiQuHrUPBi/1WeBf5PkxQqNyNvLl9VAYSdXkP8tQ3pBSeCPD+yw0v0Aq1zosWLz0BdeXpWwZg==}
         dependencies:
           throttleit: 1.0.1
    +    dev: true
     
    -  require-directory@2.1.1: {}
    +  /require-directory@2.1.1:
    +    resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==}
    +    engines: {node: '>=0.10.0'}
    +    dev: true
     
    -  require-from-string@2.0.2: {}
    +  /require-from-string@2.0.2:
    +    resolution: {integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==}
    +    engines: {node: '>=0.10.0'}
    +    dev: true
     
    -  require-main-filename@2.0.0: {}
    +  /require-main-filename@2.0.0:
    +    resolution: {integrity: sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==}
    +    dev: true
     
    -  requires-port@1.0.0: {}
    +  /requires-port@1.0.0:
    +    resolution: {integrity: sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==}
    +    dev: true
     
    -  resolve-alpn@1.2.1: {}
    +  /resolve-alpn@1.2.1:
    +    resolution: {integrity: sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g==}
    +    dev: true
     
    -  resolve-cwd@3.0.0:
    +  /resolve-cwd@3.0.0:
    +    resolution: {integrity: sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==}
    +    engines: {node: '>=8'}
         dependencies:
           resolve-from: 5.0.0
    +    dev: true
     
    -  resolve-from@4.0.0: {}
    +  /resolve-from@4.0.0:
    +    resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==}
    +    engines: {node: '>=4'}
    +    dev: true
     
    -  resolve-from@5.0.0: {}
    +  /resolve-from@5.0.0:
    +    resolution: {integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==}
    +    engines: {node: '>=8'}
    +    dev: true
     
    -  resolve-pkg-maps@1.0.0: {}
    +  /resolve-pkg-maps@1.0.0:
    +    resolution: {integrity: sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==}
    +    dev: true
     
    -  resolve.exports@2.0.2: {}
    +  /resolve.exports@2.0.2:
    +    resolution: {integrity: sha512-X2UW6Nw3n/aMgDVy+0rSqgHlv39WZAlZrXCdnbyEiKm17DSqHX4MmQMaST3FbeWR5FTuRcUwYAziZajji0Y7mg==}
    +    engines: {node: '>=10'}
    +    dev: true
     
    -  resolve@1.19.0:
    +  /resolve@1.19.0:
    +    resolution: {integrity: sha512-rArEXAgsBG4UgRGcynxWIWKFvh/XZCcS8UJdHhwy91zwAvCZIbcs+vAbflgBnNjYMs/i/i+/Ux6IZhML1yPvxg==}
         dependencies:
           is-core-module: 2.13.1
           path-parse: 1.0.7
    +    dev: true
     
    -  resolve@1.22.4:
    -    dependencies:
    -      is-core-module: 2.13.0
    -      path-parse: 1.0.7
    -      supports-preserve-symlinks-flag: 1.0.0
    -
    -  resolve@1.22.8:
    +  /resolve@1.22.8:
    +    resolution: {integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==}
    +    hasBin: true
         dependencies:
           is-core-module: 2.13.1
           path-parse: 1.0.7
           supports-preserve-symlinks-flag: 1.0.0
     
    -  responselike@2.0.1:
    +  /responselike@2.0.1:
    +    resolution: {integrity: sha512-4gl03wn3hj1HP3yzgdI7d3lCkF95F21Pz4BPGvKHinyQzALR5CapwC8yIi0Rh58DEMQ/SguC03wFj2k0M/mHhw==}
         dependencies:
           lowercase-keys: 2.0.0
    +    dev: true
     
    -  restore-cursor@3.1.0:
    +  /restore-cursor@3.1.0:
    +    resolution: {integrity: sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==}
    +    engines: {node: '>=8'}
         dependencies:
           onetime: 5.1.2
           signal-exit: 3.0.7
    +    dev: true
     
    -  restore-cursor@4.0.0:
    +  /restore-cursor@4.0.0:
    +    resolution: {integrity: sha512-I9fPXU9geO9bHOt9pHHOhOkYerIMsmVaWB0rA2AI9ERh/+x/i7MV5HKBNrg+ljO5eoPVgCcnFuRjJ9uH6I/3eg==}
    +    engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
         dependencies:
           onetime: 5.1.2
           signal-exit: 3.0.7
    +    dev: true
     
    -  ret@0.2.2: {}
    +  /ret@0.2.2:
    +    resolution: {integrity: sha512-M0b3YWQs7R3Z917WRQy1HHA7Ba7D8hvZg6UE5mLykJxQVE2ju0IXbGlaHPPlkY+WN7wFP+wUMXmBFA0aV6vYGQ==}
    +    engines: {node: '>=4'}
    +    dev: true
     
    -  retry@0.13.1: {}
    +  /retry@0.13.1:
    +    resolution: {integrity: sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==}
    +    engines: {node: '>= 4'}
    +    dev: true
     
    -  reusify@1.0.4: {}
    +  /reusify@1.0.4:
    +    resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==}
    +    engines: {iojs: '>=1.0.0', node: '>=0.10.0'}
     
    -  rfdc@1.3.1: {}
    +  /rfdc@1.4.1:
    +    resolution: {integrity: sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA==}
    +    dev: true
     
    -  rimraf@2.7.1:
    +  /rimraf@2.7.1:
    +    resolution: {integrity: sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==}
    +    deprecated: Rimraf versions prior to v4 are no longer supported
    +    hasBin: true
         dependencies:
           glob: 7.2.3
    +    dev: true
     
    -  rimraf@3.0.2:
    +  /rimraf@3.0.2:
    +    resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==}
    +    deprecated: Rimraf versions prior to v4 are no longer supported
    +    hasBin: true
         dependencies:
           glob: 7.2.3
    +    dev: true
     
    -  rimraf@5.0.5:
    +  /rimraf@5.0.7:
    +    resolution: {integrity: sha512-nV6YcJo5wbLW77m+8KjH8aB/7/rxQy9SZ0HY5shnwULfS+9nmTtVXAJET5NdZmCzA4fPI/Hm1wo/Po/4mopOdg==}
    +    engines: {node: '>=14.18'}
    +    hasBin: true
         dependencies:
    -      glob: 10.3.10
    +      glob: 10.4.1
    +    dev: true
     
    -  robust-predicates@3.0.2: {}
    +  /robust-predicates@3.0.2:
    +    resolution: {integrity: sha512-IXgzBWvWQwE6PrDI05OvmXUIruQTcoMDzRsOd5CDvHCVLcLHMTSYvOK5Cm46kWqlV3yAbuSpBZdJ5oP5OUoStg==}
    +    dev: false
     
    -  rollup-plugin-visualizer@5.12.0:
    +  /rollup-plugin-visualizer@5.12.0:
    +    resolution: {integrity: sha512-8/NU9jXcHRs7Nnj07PF2o4gjxmm9lXIrZ8r175bT9dK8qoLlvKTwRMArRCMgpMGlq8CTLugRvEmyMeMXIU2pNQ==}
    +    engines: {node: '>=14'}
    +    hasBin: true
    +    peerDependencies:
    +      rollup: 2.x || 3.x || 4.x
    +    peerDependenciesMeta:
    +      rollup:
    +        optional: true
         dependencies:
           open: 8.4.2
           picomatch: 2.3.1
           source-map: 0.7.4
           yargs: 17.7.2
    +    dev: true
     
    -  rollup@2.79.1:
    +  /rollup@2.79.1:
    +    resolution: {integrity: sha512-uKxbd0IhMZOhjAiD5oAFp7BqvkA4Dv47qpOCtaNvng4HBwdbWtdOh8f5nZNuk2rp51PMGk3bzfWu5oayNEuYnw==}
    +    engines: {node: '>=10.0.0'}
    +    hasBin: true
         optionalDependencies:
           fsevents: 2.3.3
    +    dev: true
     
    -  rollup@3.29.4:
    +  /rollup@3.29.4:
    +    resolution: {integrity: sha512-oWzmBZwvYrU0iJHtDmhsm662rC15FRXmcjCk1xD771dFDx5jJ02ufAQQTn0etB2emNk4J9EZg/yWKpsn9BWGRw==}
    +    engines: {node: '>=14.18.0', npm: '>=8.0.0'}
    +    hasBin: true
         optionalDependencies:
           fsevents: 2.3.3
    +    dev: true
     
    -  rollup@4.17.2:
    +  /rollup@4.18.0:
    +    resolution: {integrity: sha512-QmJz14PX3rzbJCN1SG4Xe/bAAX2a6NpCP8ab2vfu2GiUr8AQcr2nCV/oEO3yneFarB67zk8ShlIyWb2LGTb3Sg==}
    +    engines: {node: '>=18.0.0', npm: '>=8.0.0'}
    +    hasBin: true
         dependencies:
           '@types/estree': 1.0.5
         optionalDependencies:
    -      '@rollup/rollup-android-arm-eabi': 4.17.2
    -      '@rollup/rollup-android-arm64': 4.17.2
    -      '@rollup/rollup-darwin-arm64': 4.17.2
    -      '@rollup/rollup-darwin-x64': 4.17.2
    -      '@rollup/rollup-linux-arm-gnueabihf': 4.17.2
    -      '@rollup/rollup-linux-arm-musleabihf': 4.17.2
    -      '@rollup/rollup-linux-arm64-gnu': 4.17.2
    -      '@rollup/rollup-linux-arm64-musl': 4.17.2
    -      '@rollup/rollup-linux-powerpc64le-gnu': 4.17.2
    -      '@rollup/rollup-linux-riscv64-gnu': 4.17.2
    -      '@rollup/rollup-linux-s390x-gnu': 4.17.2
    -      '@rollup/rollup-linux-x64-gnu': 4.17.2
    -      '@rollup/rollup-linux-x64-musl': 4.17.2
    -      '@rollup/rollup-win32-arm64-msvc': 4.17.2
    -      '@rollup/rollup-win32-ia32-msvc': 4.17.2
    -      '@rollup/rollup-win32-x64-msvc': 4.17.2
    +      '@rollup/rollup-android-arm-eabi': 4.18.0
    +      '@rollup/rollup-android-arm64': 4.18.0
    +      '@rollup/rollup-darwin-arm64': 4.18.0
    +      '@rollup/rollup-darwin-x64': 4.18.0
    +      '@rollup/rollup-linux-arm-gnueabihf': 4.18.0
    +      '@rollup/rollup-linux-arm-musleabihf': 4.18.0
    +      '@rollup/rollup-linux-arm64-gnu': 4.18.0
    +      '@rollup/rollup-linux-arm64-musl': 4.18.0
    +      '@rollup/rollup-linux-powerpc64le-gnu': 4.18.0
    +      '@rollup/rollup-linux-riscv64-gnu': 4.18.0
    +      '@rollup/rollup-linux-s390x-gnu': 4.18.0
    +      '@rollup/rollup-linux-x64-gnu': 4.18.0
    +      '@rollup/rollup-linux-x64-musl': 4.18.0
    +      '@rollup/rollup-win32-arm64-msvc': 4.18.0
    +      '@rollup/rollup-win32-ia32-msvc': 4.18.0
    +      '@rollup/rollup-win32-x64-msvc': 4.18.0
           fsevents: 2.3.3
    +    dev: true
     
    -  roughjs@4.6.6:
    +  /roughjs@4.6.6:
    +    resolution: {integrity: sha512-ZUz/69+SYpFN/g/lUlo2FXcIjRkSu3nDarreVdGGndHEBJ6cXPdKguS8JGxwj5HA5xIbVKSmLgr5b3AWxtRfvQ==}
         dependencies:
           hachure-fill: 0.5.2
           path-data-parser: 0.1.0
           points-on-curve: 0.2.0
           points-on-path: 0.2.1
    +    dev: false
    +
    +  /rrweb-cssom@0.6.0:
    +    resolution: {integrity: sha512-APM0Gt1KoXBz0iIkkdB/kfvGOwC4UuJFeG/c+yV7wSc7q96cG/kJ0HiYCnzivD9SB53cLV1MlHFNfOuPaadYSw==}
    +    dev: true
     
    -  rrweb-cssom@0.6.0: {}
    +  /rrweb-cssom@0.7.1:
    +    resolution: {integrity: sha512-TrEMa7JGdVm0UThDJSx7ddw5nVm3UJS9o9CCIZ72B1vSyEZoziDqBYP3XIoi/12lKrJR8rE3jeFHMok2F/Mnsg==}
    +    dev: true
     
    -  run-parallel@1.2.0:
    +  /run-parallel@1.2.0:
    +    resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==}
         dependencies:
           queue-microtask: 1.2.3
     
    -  rw@1.3.3: {}
    +  /rw@1.3.3:
    +    resolution: {integrity: sha512-PdhdWy89SiZogBLaw42zdeqtRJ//zFd2PgQavcICDUgJT5oW10QCRKbJ6bg4r0/UY2M6BWd5tkxuGFRvCkgfHQ==}
    +    dev: false
     
    -  rxjs@7.8.1:
    +  /rxjs@7.8.1:
    +    resolution: {integrity: sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==}
         dependencies:
    -      tslib: 2.6.2
    +      tslib: 2.6.3
    +    dev: true
     
    -  safe-array-concat@1.1.2:
    +  /safe-array-concat@1.1.2:
    +    resolution: {integrity: sha512-vj6RsCsWBCf19jIeHEfkRMw8DPiBb+DMXklQ/1SGDHOMlHdPUkZXFQ2YdplS23zESTijAcurb1aSgJA3AgMu1Q==}
    +    engines: {node: '>=0.4'}
         dependencies:
           call-bind: 1.0.7
           get-intrinsic: 1.2.4
           has-symbols: 1.0.3
           isarray: 2.0.5
    +    dev: true
     
    -  safe-buffer@5.1.2: {}
    +  /safe-buffer@5.1.2:
    +    resolution: {integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==}
    +    dev: true
     
    -  safe-buffer@5.2.1: {}
    +  /safe-buffer@5.2.1:
    +    resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==}
     
    -  safe-regex-test@1.0.3:
    +  /safe-regex-test@1.0.3:
    +    resolution: {integrity: sha512-CdASjNJPvRa7roO6Ra/gLYBTzYzzPyyBXxIMdGW3USQLyjWEls2RgW5UBTXaQVp+OrpeCK3bLem8smtmheoRuw==}
    +    engines: {node: '>= 0.4'}
         dependencies:
           call-bind: 1.0.7
           es-errors: 1.3.0
           is-regex: 1.1.4
    +    dev: true
     
    -  safe-regex2@2.0.0:
    +  /safe-regex2@2.0.0:
    +    resolution: {integrity: sha512-PaUSFsUaNNuKwkBijoAPHAK6/eM6VirvyPWlZ7BAQy4D+hCvh4B6lIG+nPdhbFfIbP+gTGBcrdsOaUs0F+ZBOQ==}
         dependencies:
           ret: 0.2.2
    +    dev: true
     
    -  safe-stable-stringify@2.4.3: {}
    +  /safe-stable-stringify@2.4.3:
    +    resolution: {integrity: sha512-e2bDA2WJT0wxseVd4lsDP4+3ONX6HpMXQa1ZhFQ7SU+GjvORCmShbCMltrtIDfkYhVHrOcPtj+KhmDBdPdZD1g==}
    +    engines: {node: '>=10'}
    +    dev: false
     
    -  safer-buffer@2.1.2: {}
    +  /safer-buffer@2.1.2:
    +    resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==}
     
    -  saxes@6.0.0:
    +  /saxes@6.0.0:
    +    resolution: {integrity: sha512-xAg7SOnEhrm5zI3puOOKyy1OMcMlIJZYNJY7xLBwSze0UjhPLnWfj2GF2EpT0jmzaJKIWKHLsaSSajf35bcYnA==}
    +    engines: {node: '>=v12.22.7'}
         dependencies:
           xmlchars: 2.2.0
    +    dev: true
     
    -  schema-utils@3.3.0:
    +  /schema-utils@3.3.0:
    +    resolution: {integrity: sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==}
    +    engines: {node: '>= 10.13.0'}
         dependencies:
           '@types/json-schema': 7.0.15
           ajv: 6.12.6
           ajv-keywords: 3.5.2(ajv@6.12.6)
    +    dev: true
     
    -  schema-utils@4.2.0:
    +  /schema-utils@4.2.0:
    +    resolution: {integrity: sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw==}
    +    engines: {node: '>= 12.13.0'}
         dependencies:
           '@types/json-schema': 7.0.15
    -      ajv: 8.12.0
    -      ajv-formats: 2.1.1(ajv@8.12.0)
    -      ajv-keywords: 5.1.0(ajv@8.12.0)
    +      ajv: 8.16.0
    +      ajv-formats: 2.1.1(ajv@8.16.0)
    +      ajv-keywords: 5.1.0(ajv@8.16.0)
    +    dev: true
     
    -  search-insights@2.13.0: {}
    +  /search-insights@2.14.0:
    +    resolution: {integrity: sha512-OLN6MsPMCghDOqlCtsIsYgtsC0pnwVTyT9Mu6A3ewOj1DxvzZF6COrn2g86E/c05xbktB0XN04m/t1Z+n+fTGw==}
    +    dev: true
     
    -  secure-json-parse@2.7.0: {}
    +  /secure-json-parse@2.7.0:
    +    resolution: {integrity: sha512-6aU+Rwsezw7VR8/nyvKTx8QpWH9FrcYiXXlqC4z5d5XQBDRqtbfsRjnwGyqbi3gddNtWHuEk9OANUotL26qKUw==}
    +    dev: true
     
    -  select-hose@2.0.0: {}
    +  /select-hose@2.0.0:
    +    resolution: {integrity: sha512-mEugaLK+YfkijB4fx0e6kImuJdCIt2LxCRcbEYPqRGCs4F2ogyfZU5IAZRdjCP8JPq2AtdNoC/Dux63d9Kiryg==}
    +    dev: true
     
    -  selfsigned@2.1.1:
    +  /selfsigned@2.4.1:
    +    resolution: {integrity: sha512-th5B4L2U+eGLq1TVh7zNRGBapioSORUeymIydxgFpwww9d2qyKvtuPU2jJuHvYAwwqi2Y596QBL3eEqcPEYL8Q==}
    +    engines: {node: '>=10'}
         dependencies:
    +      '@types/node-forge': 1.3.11
           node-forge: 1.3.1
    +    dev: true
     
    -  semver-store@0.3.0: {}
    +  /semver-store@0.3.0:
    +    resolution: {integrity: sha512-TcZvGMMy9vodEFSse30lWinkj+JgOBvPn8wRItpQRSayhc+4ssDs335uklkfvQQJgL/WvmHLVj4Ycv2s7QCQMg==}
    +    dev: true
     
    -  semver@5.7.2: {}
    +  /semver@5.7.2:
    +    resolution: {integrity: sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==}
    +    hasBin: true
    +    dev: true
     
    -  semver@6.3.1: {}
    +  /semver@6.3.1:
    +    resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==}
    +    hasBin: true
    +    dev: true
     
    -  semver@7.5.4:
    +  /semver@7.5.4:
    +    resolution: {integrity: sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==}
    +    engines: {node: '>=10'}
    +    hasBin: true
         dependencies:
           lru-cache: 6.0.0
    +    dev: true
     
    -  semver@7.6.0:
    -    dependencies:
    -      lru-cache: 6.0.0
    +  /semver@7.6.2:
    +    resolution: {integrity: sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==}
    +    engines: {node: '>=10'}
    +    hasBin: true
    +    dev: true
     
    -  send@0.18.0:
    +  /send@0.18.0:
    +    resolution: {integrity: sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==}
    +    engines: {node: '>= 0.8.0'}
         dependencies:
           debug: 2.6.9
           depd: 2.0.0
    @@ -17523,12 +14094,17 @@ snapshots:
           statuses: 2.0.1
         transitivePeerDependencies:
           - supports-color
    +    dev: true
     
    -  serialize-javascript@6.0.2:
    +  /serialize-javascript@6.0.2:
    +    resolution: {integrity: sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==}
         dependencies:
           randombytes: 2.1.0
    +    dev: true
     
    -  serve-index@1.9.1:
    +  /serve-index@1.9.1:
    +    resolution: {integrity: sha512-pXHfKNP4qujrtteMrSBb0rc8HJ9Ms/GrXwcUtUtD5s4ewDJI8bT3Cz2zTVRMKtri49pLx2e0Ya8ziP5Ya2pZZw==}
    +    engines: {node: '>= 0.8.0'}
         dependencies:
           accepts: 1.3.8
           batch: 0.6.1
    @@ -17539,8 +14115,11 @@ snapshots:
           parseurl: 1.3.3
         transitivePeerDependencies:
           - supports-color
    +    dev: true
     
    -  serve-static@1.15.0:
    +  /serve-static@1.15.0:
    +    resolution: {integrity: sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==}
    +    engines: {node: '>= 0.8.0'}
         dependencies:
           encodeurl: 1.0.2
           escape-html: 1.0.3
    @@ -17548,12 +14127,19 @@ snapshots:
           send: 0.18.0
         transitivePeerDependencies:
           - supports-color
    +    dev: true
     
    -  set-blocking@2.0.0: {}
    +  /set-blocking@2.0.0:
    +    resolution: {integrity: sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==}
    +    dev: true
     
    -  set-cookie-parser@2.6.0: {}
    +  /set-cookie-parser@2.6.0:
    +    resolution: {integrity: sha512-RVnVQxTXuerk653XfuliOxBP81Sf0+qfQE73LIYKcyMYHG94AuH0kgrQpRDuTZnSmjpysHmzxJXKNfa6PjFhyQ==}
    +    dev: true
     
    -  set-function-length@1.2.2:
    +  /set-function-length@1.2.2:
    +    resolution: {integrity: sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==}
    +    engines: {node: '>= 0.4'}
         dependencies:
           define-data-property: 1.1.4
           es-errors: 1.3.0
    @@ -17561,161 +14147,266 @@ snapshots:
           get-intrinsic: 1.2.4
           gopd: 1.0.1
           has-property-descriptors: 1.0.2
    +    dev: true
     
    -  set-function-name@2.0.2:
    +  /set-function-name@2.0.2:
    +    resolution: {integrity: sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==}
    +    engines: {node: '>= 0.4'}
         dependencies:
           define-data-property: 1.1.4
           es-errors: 1.3.0
           functions-have-names: 1.2.3
           has-property-descriptors: 1.0.2
    +    dev: true
     
    -  setprototypeof@1.1.0: {}
    +  /setprototypeof@1.1.0:
    +    resolution: {integrity: sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==}
    +    dev: true
     
    -  setprototypeof@1.2.0: {}
    +  /setprototypeof@1.2.0:
    +    resolution: {integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==}
    +    dev: true
     
    -  shallow-clone@3.0.1:
    +  /shallow-clone@3.0.1:
    +    resolution: {integrity: sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==}
    +    engines: {node: '>=8'}
         dependencies:
           kind-of: 6.0.3
    +    dev: true
     
    -  shebang-command@1.2.0:
    +  /shebang-command@1.2.0:
    +    resolution: {integrity: sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==}
    +    engines: {node: '>=0.10.0'}
         dependencies:
           shebang-regex: 1.0.0
    +    dev: true
     
    -  shebang-command@2.0.0:
    +  /shebang-command@2.0.0:
    +    resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==}
    +    engines: {node: '>=8'}
         dependencies:
           shebang-regex: 3.0.0
     
    -  shebang-regex@1.0.0: {}
    +  /shebang-regex@1.0.0:
    +    resolution: {integrity: sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==}
    +    engines: {node: '>=0.10.0'}
    +    dev: true
     
    -  shebang-regex@3.0.0: {}
    +  /shebang-regex@3.0.0:
    +    resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==}
    +    engines: {node: '>=8'}
     
    -  shell-quote@1.8.1: {}
    +  /shell-quote@1.8.1:
    +    resolution: {integrity: sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA==}
    +    dev: true
     
    -  shiki@0.14.7:
    +  /shiki@0.14.7:
    +    resolution: {integrity: sha512-dNPAPrxSc87ua2sKJ3H5dQ/6ZaY8RNnaAqK+t0eG7p0Soi2ydiqbGOTaZCqaYvA/uZYfS1LJnemt3Q+mSfcPCg==}
         dependencies:
           ansi-sequence-parser: 1.1.1
           jsonc-parser: 3.2.1
           vscode-oniguruma: 1.7.0
           vscode-textmate: 8.0.0
    +    dev: true
     
    -  shiki@1.4.0:
    +  /shiki@1.6.4:
    +    resolution: {integrity: sha512-X88chM7w8jnadoZtjPTi5ahCJx9pc9f8GfEkZAEYUTlcUZIEw2D/RY86HI/LkkE7Nj8TQWkiBfaFTJ3VJT6ESg==}
         dependencies:
    -      '@shikijs/core': 1.4.0
    +      '@shikijs/core': 1.6.4
    +    dev: true
     
    -  shikiji-core@0.9.19: {}
    +  /shikiji-core@0.9.19:
    +    resolution: {integrity: sha512-AFJu/vcNT21t0e6YrfadZ+9q86gvPum6iywRyt1OtIPjPFe25RQnYJyxHQPMLKCCWA992TPxmEmbNcOZCAJclw==}
    +    dev: true
     
    -  shikiji-transformers@0.9.19:
    +  /shikiji-transformers@0.9.19:
    +    resolution: {integrity: sha512-lGLI7Z8frQrIBbhZ74/eiJtxMoCQRbpaHEB+gcfvdIy+ZFaAtXncJGnc52932/UET+Y4GyKtwwC/vjWUCp+c/Q==}
         dependencies:
           shikiji: 0.9.19
    +    dev: true
     
    -  shikiji@0.9.19:
    +  /shikiji@0.9.19:
    +    resolution: {integrity: sha512-Kw2NHWktdcdypCj1GkKpXH4o6Vxz8B8TykPlPuLHOGSV8VkhoCLcFOH4k19K4LXAQYRQmxg+0X/eM+m2sLhAkg==}
         dependencies:
           shikiji-core: 0.9.19
    +    dev: true
     
    -  side-channel@1.0.6:
    +  /side-channel@1.0.6:
    +    resolution: {integrity: sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==}
    +    engines: {node: '>= 0.4'}
         dependencies:
           call-bind: 1.0.7
           es-errors: 1.3.0
           get-intrinsic: 1.2.4
           object-inspect: 1.13.1
    +    dev: true
     
    -  siginfo@2.0.0: {}
    +  /siginfo@2.0.0:
    +    resolution: {integrity: sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==}
    +    dev: true
     
    -  signal-exit@3.0.7: {}
    +  /signal-exit@3.0.7:
    +    resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==}
    +    dev: true
     
    -  signal-exit@4.1.0: {}
    +  /signal-exit@4.1.0:
    +    resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==}
    +    engines: {node: '>=14'}
     
    -  simple-swizzle@0.2.2:
    +  /simple-swizzle@0.2.2:
    +    resolution: {integrity: sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg==}
         dependencies:
           is-arrayish: 0.3.2
    +    dev: false
     
    -  sirv@2.0.4:
    +  /sirv@2.0.4:
    +    resolution: {integrity: sha512-94Bdh3cC2PKrbgSOUqTiGPWVZeSiXfKOVZNJniWoqrWrRkB1CJzBU3NEbiTsPcYy1lDsANA/THzS+9WBiy5nfQ==}
    +    engines: {node: '>= 10'}
         dependencies:
           '@polka/url': 1.0.0-next.25
           mrmime: 2.0.0
           totalist: 3.0.1
    +    dev: true
     
    -  sisteransi@1.0.5: {}
    +  /sisteransi@1.0.5:
    +    resolution: {integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==}
    +    dev: true
     
    -  slash@3.0.0: {}
    +  /slash@3.0.0:
    +    resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==}
    +    engines: {node: '>=8'}
    +    dev: true
     
    -  slash@4.0.0: {}
    +  /slash@4.0.0:
    +    resolution: {integrity: sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==}
    +    engines: {node: '>=12'}
    +    dev: true
     
    -  slash@5.1.0: {}
    +  /slash@5.1.0:
    +    resolution: {integrity: sha512-ZA6oR3T/pEyuqwMgAKT0/hAv8oAXckzbkmR0UkUosQ+Mc4RxGoJkRmwHgHufaenlyAgE1Mxgpdcrf75y6XcnDg==}
    +    engines: {node: '>=14.16'}
    +    dev: true
     
    -  slice-ansi@3.0.0:
    +  /slice-ansi@3.0.0:
    +    resolution: {integrity: sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ==}
    +    engines: {node: '>=8'}
         dependencies:
           ansi-styles: 4.3.0
           astral-regex: 2.0.0
           is-fullwidth-code-point: 3.0.0
    +    dev: true
     
    -  slice-ansi@4.0.0:
    +  /slice-ansi@4.0.0:
    +    resolution: {integrity: sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==}
    +    engines: {node: '>=10'}
         dependencies:
           ansi-styles: 4.3.0
           astral-regex: 2.0.0
           is-fullwidth-code-point: 3.0.0
    +    dev: true
     
    -  slice-ansi@5.0.0:
    +  /slice-ansi@5.0.0:
    +    resolution: {integrity: sha512-FC+lgizVPfie0kkhqUScwRu1O/lF6NOgJmlCgK+/LYxDCTk8sGelYaHDhFcDN+Sn3Cv+3VSa4Byeo+IMCzpMgQ==}
    +    engines: {node: '>=12'}
         dependencies:
           ansi-styles: 6.2.1
           is-fullwidth-code-point: 4.0.0
    +    dev: true
     
    -  slice-ansi@7.1.0:
    +  /slice-ansi@7.1.0:
    +    resolution: {integrity: sha512-bSiSngZ/jWeX93BqeIAbImyTbEihizcwNjFoRUIY/T1wWQsfsm2Vw1agPKylXvQTU7iASGdHhyqRlqQzfz+Htg==}
    +    engines: {node: '>=18'}
         dependencies:
           ansi-styles: 6.2.1
           is-fullwidth-code-point: 5.0.0
    +    dev: true
     
    -  smob@1.5.0: {}
    +  /smob@1.5.0:
    +    resolution: {integrity: sha512-g6T+p7QO8npa+/hNx9ohv1E5pVCmWrVCUzUXJyLdMmftX6ER0oiWY/w9knEonLpnOp6b6FenKnMfR8gqwWdwig==}
    +    dev: true
     
    -  sockjs@0.3.24:
    +  /sockjs@0.3.24:
    +    resolution: {integrity: sha512-GJgLTZ7vYb/JtPSSZ10hsOYIvEYsjbNU+zPdIHcUaWVNUEPivzxku31865sSSud0Da0W4lEeOPlmw93zLQchuQ==}
         dependencies:
           faye-websocket: 0.11.4
           uuid: 8.3.2
           websocket-driver: 0.7.4
    +    dev: true
     
    -  sonic-boom@1.4.1:
    +  /sonic-boom@1.4.1:
    +    resolution: {integrity: sha512-LRHh/A8tpW7ru89lrlkU4AszXt1dbwSjVWguGrmlxE7tawVmDBlI1PILMkXAxJTwqhgsEeTHzj36D5CmHgQmNg==}
         dependencies:
           atomic-sleep: 1.0.0
           flatstr: 1.0.12
    +    dev: true
     
    -  sonic-boom@3.8.1:
    +  /sonic-boom@3.8.1:
    +    resolution: {integrity: sha512-y4Z8LCDBuum+PBP3lSV7RHrXscqksve/bi0as7mhwVnBW+/wUqKT/2Kb7um8yqcFy0duYbbPxzt89Zy2nOCaxg==}
         dependencies:
           atomic-sleep: 1.0.0
    +    dev: false
     
    -  source-map-js@1.0.1: {}
    -
    -  source-map-js@1.0.2: {}
    +  /source-map-js@1.0.1:
    +    resolution: {integrity: sha512-4+TN2b3tqOCd/kaGRJ/sTYA0tR0mdXx26ipdolxcwtJVqEnqNYvlCAt1q3ypy4QMlYus+Zh34RNtYLoq2oQ4IA==}
    +    engines: {node: '>=0.10.0'}
    +    dev: true
     
    -  source-map-js@1.2.0: {}
    +  /source-map-js@1.2.0:
    +    resolution: {integrity: sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==}
    +    engines: {node: '>=0.10.0'}
     
    -  source-map-support@0.5.13:
    +  /source-map-support@0.5.13:
    +    resolution: {integrity: sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==}
         dependencies:
           buffer-from: 1.1.2
           source-map: 0.6.1
    +    dev: true
     
    -  source-map-support@0.5.21:
    +  /source-map-support@0.5.21:
    +    resolution: {integrity: sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==}
         dependencies:
           buffer-from: 1.1.2
           source-map: 0.6.1
    +    dev: true
     
    -  source-map@0.1.43:
    +  /source-map@0.1.43:
    +    resolution: {integrity: sha512-VtCvB9SIQhk3aF6h+N85EaqIaBFIAfZ9Cu+NJHHVvc8BbEcnvDcFw6sqQ2dQrT6SlOrZq3tIvyD9+EGq/lJryQ==}
    +    engines: {node: '>=0.8.0'}
    +    requiresBuild: true
         dependencies:
           amdefine: 1.0.1
    +    dev: true
         optional: true
     
    -  source-map@0.6.1: {}
    +  /source-map@0.6.1:
    +    resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==}
    +    engines: {node: '>=0.10.0'}
    +    dev: true
     
    -  source-map@0.7.4: {}
    +  /source-map@0.7.4:
    +    resolution: {integrity: sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==}
    +    engines: {node: '>= 8'}
    +    dev: true
     
    -  source-map@0.8.0-beta.0:
    +  /source-map@0.8.0-beta.0:
    +    resolution: {integrity: sha512-2ymg6oRBpebeZi9UUNsgQ89bhx01TcTkmNTGnNO88imTmbSgy4nfujrgVEFKWpMTEGA11EDkTt7mqObTPdigIA==}
    +    engines: {node: '>= 8'}
         dependencies:
           whatwg-url: 7.1.0
    +    dev: true
     
    -  sourcemap-codec@1.4.8: {}
    +  /sourcemap-codec@1.4.8:
    +    resolution: {integrity: sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==}
    +    deprecated: Please use @jridgewell/sourcemap-codec instead
    +    dev: true
     
    -  spawn-command@0.0.2: {}
    +  /spawn-command@0.0.2:
    +    resolution: {integrity: sha512-zC8zGoGkmc8J9ndvml8Xksr1Amk9qBujgbF0JAIWO7kXr43w0h/0GJNM/Vustixu+YE8N/MTrQ7N31FvHUACxQ==}
    +    dev: true
     
    -  spawn-wrap@2.0.0:
    +  /spawn-wrap@2.0.0:
    +    resolution: {integrity: sha512-EeajNjfN9zMnULLwhZZQU3GWBoFNkbngTUPfaawT4RkMiviTxcX0qfhVbGey39mfctfDHkWtuecgQ8NJcyQWHg==}
    +    engines: {node: '>=8'}
         dependencies:
           foreground-child: 2.0.0
           is-windows: 1.0.2
    @@ -17723,29 +14414,41 @@ snapshots:
           rimraf: 3.0.2
           signal-exit: 3.0.7
           which: 2.0.2
    +    dev: true
     
    -  spdx-correct@3.2.0:
    +  /spdx-correct@3.2.0:
    +    resolution: {integrity: sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==}
         dependencies:
           spdx-expression-parse: 3.0.1
    -      spdx-license-ids: 3.0.17
    +      spdx-license-ids: 3.0.18
    +    dev: true
     
    -  spdx-exceptions@2.5.0: {}
    +  /spdx-exceptions@2.5.0:
    +    resolution: {integrity: sha512-PiU42r+xO4UbUS1buo3LPJkjlO7430Xn5SVAhdpzzsPHsjbYVflnnFdATgabnLude+Cqu25p6N+g2lw/PFsa4w==}
    +    dev: true
     
    -  spdx-expression-parse@3.0.1:
    +  /spdx-expression-parse@3.0.1:
    +    resolution: {integrity: sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==}
         dependencies:
           spdx-exceptions: 2.5.0
    -      spdx-license-ids: 3.0.17
    +      spdx-license-ids: 3.0.18
    +    dev: true
     
    -  spdx-expression-parse@4.0.0:
    +  /spdx-expression-parse@4.0.0:
    +    resolution: {integrity: sha512-Clya5JIij/7C6bRR22+tnGXbc4VKlibKSVj2iHvVeX5iMW7s1SIQlqu699JkODJJIhh/pUu8L0/VLh8xflD+LQ==}
         dependencies:
           spdx-exceptions: 2.5.0
    -      spdx-license-ids: 3.0.17
    +      spdx-license-ids: 3.0.18
    +    dev: true
     
    -  spdx-license-ids@3.0.17: {}
    +  /spdx-license-ids@3.0.18:
    +    resolution: {integrity: sha512-xxRs31BqRYHwiMzudOrpSiHtZ8i/GeionCBDSilhYRj+9gIcI8wCZTlXZKu9vZIVqViP3dcp9qE5G6AlIaD+TQ==}
    +    dev: true
     
    -  spdy-transport@3.0.0:
    +  /spdy-transport@3.0.0:
    +    resolution: {integrity: sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==}
         dependencies:
    -      debug: 4.3.4(supports-color@8.1.1)
    +      debug: 4.3.5(supports-color@8.1.1)
           detect-node: 2.1.0
           hpack.js: 2.1.6
           obuf: 1.1.2
    @@ -17753,28 +14456,45 @@ snapshots:
           wbuf: 1.7.3
         transitivePeerDependencies:
           - supports-color
    +    dev: true
     
    -  spdy@4.0.2:
    +  /spdy@4.0.2:
    +    resolution: {integrity: sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA==}
    +    engines: {node: '>=6.0.0'}
         dependencies:
    -      debug: 4.3.4(supports-color@8.1.1)
    +      debug: 4.3.5(supports-color@8.1.1)
           handle-thing: 2.0.1
           http-deceiver: 1.2.7
           select-hose: 2.0.0
           spdy-transport: 3.0.0
         transitivePeerDependencies:
           - supports-color
    +    dev: true
     
    -  speakingurl@14.0.1: {}
    +  /speakingurl@14.0.1:
    +    resolution: {integrity: sha512-1POYv7uv2gXoyGFpBCmpDVSNV74IfsWlDW216UPjbWufNf+bSU6GdbDsxdcxtfwb4xlI3yxzOTKClUosxARYrQ==}
    +    engines: {node: '>=0.10.0'}
    +    dev: true
     
    -  split2@4.2.0: {}
    +  /split2@4.2.0:
    +    resolution: {integrity: sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg==}
    +    engines: {node: '>= 10.x'}
    +    dev: false
     
    -  split@0.3.3:
    +  /split@0.3.3:
    +    resolution: {integrity: sha512-wD2AeVmxXRBoX44wAycgjVpMhvbwdI2aZjCkvfNcH1YqHQvJVa1duWc73OyVGJUc05fhFaTZeQ/PYsrmyH0JVA==}
         dependencies:
           through: 2.3.8
    +    dev: true
     
    -  sprintf-js@1.0.3: {}
    +  /sprintf-js@1.0.3:
    +    resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==}
    +    dev: true
     
    -  sshpk@1.18.0:
    +  /sshpk@1.18.0:
    +    resolution: {integrity: sha512-2p2KJZTSqQ/I3+HX42EpYOa2l3f8Erv8MWKsy2I9uf4wA7yFIkXRffYdsx86y6z4vHtV8u7g+pPlr8/4ouAxsQ==}
    +    engines: {node: '>=0.10.0'}
    +    hasBin: true
         dependencies:
           asn1: 0.2.6
           assert-plus: 1.0.0
    @@ -17785,66 +14505,106 @@ snapshots:
           jsbn: 0.1.1
           safer-buffer: 2.1.2
           tweetnacl: 0.14.5
    +    dev: true
     
    -  ssim.js@3.5.0: {}
    +  /ssim.js@3.5.0:
    +    resolution: {integrity: sha512-Aj6Jl2z6oDmgYFFbQqK7fght19bXdOxY7Tj03nF+03M9gCBAjeIiO8/PlEGMfKDwYpw4q6iBqVq2YuREorGg/g==}
    +    dev: true
     
    -  stack-utils@2.0.6:
    +  /stack-utils@2.0.6:
    +    resolution: {integrity: sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==}
    +    engines: {node: '>=10'}
         dependencies:
           escape-string-regexp: 2.0.0
    +    dev: true
     
    -  stackback@0.0.2: {}
    +  /stackback@0.0.2:
    +    resolution: {integrity: sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==}
    +    dev: true
     
    -  start-server-and-test@2.0.3:
    +  /start-server-and-test@2.0.4:
    +    resolution: {integrity: sha512-CKNeBTcP0hVqIlNismHMudb9q3lLdAjcVPO13/7gfI66fcJpeIb/o4NzQd1JK/CD+lfWVqr10ZH9Y14+OwlJuw==}
    +    engines: {node: '>=16'}
    +    hasBin: true
         dependencies:
           arg: 5.0.2
           bluebird: 3.7.2
           check-more-types: 2.24.0
    -      debug: 4.3.4(supports-color@8.1.1)
    +      debug: 4.3.5(supports-color@8.1.1)
           execa: 5.1.1
           lazy-ass: 1.6.0
           ps-tree: 1.2.0
    -      wait-on: 7.2.0(debug@4.3.4)
    +      wait-on: 7.2.0(debug@4.3.5)
         transitivePeerDependencies:
           - supports-color
    +    dev: true
     
    -  statuses@1.5.0: {}
    +  /statuses@1.5.0:
    +    resolution: {integrity: sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==}
    +    engines: {node: '>= 0.6'}
    +    dev: true
     
    -  statuses@2.0.1: {}
    +  /statuses@2.0.1:
    +    resolution: {integrity: sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==}
    +    engines: {node: '>= 0.8'}
    +    dev: true
     
    -  std-env@3.7.0: {}
    +  /std-env@3.7.0:
    +    resolution: {integrity: sha512-JPbdCEQLj1w5GilpiHAx3qJvFndqybBysA3qUOnznweH4QbNYUsW/ea8QzSrnh0vNsezMMw5bcVool8lM0gwzg==}
    +    dev: true
     
    -  stream-combiner@0.0.4:
    +  /stream-combiner@0.0.4:
    +    resolution: {integrity: sha512-rT00SPnTVyRsaSz5zgSPma/aHSOic5U1prhYdRy5HS2kTZviFpmDgzilbtsJsxiroqACmayynDN/9VzIbX5DOw==}
         dependencies:
           duplexer: 0.1.2
    +    dev: true
     
    -  string-argv@0.3.2: {}
    +  /string-argv@0.3.2:
    +    resolution: {integrity: sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q==}
    +    engines: {node: '>=0.6.19'}
    +    dev: true
     
    -  string-length@4.0.2:
    +  /string-length@4.0.2:
    +    resolution: {integrity: sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==}
    +    engines: {node: '>=10'}
         dependencies:
           char-regex: 1.0.2
           strip-ansi: 6.0.1
    +    dev: true
     
    -  string-similarity@4.0.4: {}
    +  /string-similarity@4.0.4:
    +    resolution: {integrity: sha512-/q/8Q4Bl4ZKAPjj8WerIBJWALKkaPRfrvhfF8k/B23i4nzrlRj2/go1m90In7nG/3XDSbOo0+pu6RvCTM9RGMQ==}
    +    deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.
    +    dev: true
     
    -  string-width@4.2.3:
    +  /string-width@4.2.3:
    +    resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==}
    +    engines: {node: '>=8'}
         dependencies:
           emoji-regex: 8.0.0
           is-fullwidth-code-point: 3.0.0
           strip-ansi: 6.0.1
     
    -  string-width@5.1.2:
    +  /string-width@5.1.2:
    +    resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==}
    +    engines: {node: '>=12'}
         dependencies:
           eastasianwidth: 0.2.0
           emoji-regex: 9.2.2
           strip-ansi: 7.1.0
     
    -  string-width@7.1.0:
    +  /string-width@7.1.0:
    +    resolution: {integrity: sha512-SEIJCWiX7Kg4c129n48aDRwLbFb2LJmXXFrWBG4NGaRtMQ3myKPKbwrD1BKqQn74oCoNMBVrfDEr5M9YxCsrkw==}
    +    engines: {node: '>=18'}
         dependencies:
           emoji-regex: 10.3.0
           get-east-asian-width: 1.2.0
           strip-ansi: 7.1.0
    +    dev: true
     
    -  string.prototype.matchall@4.0.11:
    +  /string.prototype.matchall@4.0.11:
    +    resolution: {integrity: sha512-NUdh0aDavY2og7IbBPenWqR9exH+E26Sv8e0/eTe1tltDGZL+GtBkDAnnyBtmekfK6/Dq3MkcGtzXFEd1LQrtg==}
    +    engines: {node: '>= 0.4'}
         dependencies:
           call-bind: 1.0.7
           define-properties: 1.2.1
    @@ -17858,110 +14618,184 @@ snapshots:
           regexp.prototype.flags: 1.5.2
           set-function-name: 2.0.2
           side-channel: 1.0.6
    +    dev: true
     
    -  string.prototype.trim@1.2.9:
    +  /string.prototype.trim@1.2.9:
    +    resolution: {integrity: sha512-klHuCNxiMZ8MlsOihJhJEBJAiMVqU3Z2nEXWfWnIqjN0gEFS9J9+IxKozWWtQGcgoa1WUZzLjKPTr4ZHNFTFxw==}
    +    engines: {node: '>= 0.4'}
         dependencies:
           call-bind: 1.0.7
           define-properties: 1.2.1
           es-abstract: 1.23.3
           es-object-atoms: 1.0.0
    +    dev: true
     
    -  string.prototype.trimend@1.0.8:
    +  /string.prototype.trimend@1.0.8:
    +    resolution: {integrity: sha512-p73uL5VCHCO2BZZ6krwwQE3kCzM7NKmis8S//xEC6fQonchbum4eP6kR4DLEjQFO3Wnj3Fuo8NM0kOSjVdHjZQ==}
         dependencies:
           call-bind: 1.0.7
           define-properties: 1.2.1
           es-object-atoms: 1.0.0
    +    dev: true
     
    -  string.prototype.trimstart@1.0.8:
    +  /string.prototype.trimstart@1.0.8:
    +    resolution: {integrity: sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==}
    +    engines: {node: '>= 0.4'}
         dependencies:
           call-bind: 1.0.7
           define-properties: 1.2.1
           es-object-atoms: 1.0.0
    +    dev: true
     
    -  string_decoder@1.1.1:
    +  /string_decoder@1.1.1:
    +    resolution: {integrity: sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==}
         dependencies:
           safe-buffer: 5.1.2
    +    dev: true
     
    -  string_decoder@1.3.0:
    +  /string_decoder@1.3.0:
    +    resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==}
         dependencies:
           safe-buffer: 5.2.1
     
    -  stringify-object@3.3.0:
    +  /stringify-object@3.3.0:
    +    resolution: {integrity: sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw==}
    +    engines: {node: '>=4'}
         dependencies:
           get-own-enumerable-property-symbols: 3.0.2
           is-obj: 1.0.1
           is-regexp: 1.0.0
    +    dev: true
     
    -  strip-ansi@3.0.1:
    +  /strip-ansi@3.0.1:
    +    resolution: {integrity: sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==}
    +    engines: {node: '>=0.10.0'}
         dependencies:
           ansi-regex: 2.1.1
    +    dev: true
     
    -  strip-ansi@6.0.1:
    +  /strip-ansi@6.0.1:
    +    resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==}
    +    engines: {node: '>=8'}
         dependencies:
           ansi-regex: 5.0.1
     
    -  strip-ansi@7.1.0:
    +  /strip-ansi@7.1.0:
    +    resolution: {integrity: sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==}
    +    engines: {node: '>=12'}
         dependencies:
           ansi-regex: 6.0.1
     
    -  strip-bom@4.0.0: {}
    +  /strip-bom@4.0.0:
    +    resolution: {integrity: sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==}
    +    engines: {node: '>=8'}
    +    dev: true
     
    -  strip-comments@2.0.1: {}
    +  /strip-comments@2.0.1:
    +    resolution: {integrity: sha512-ZprKx+bBLXv067WTCALv8SSz5l2+XhpYCsVtSqlMnkAXMWDq+/ekVbl1ghqP9rUHTzv6sm/DwCOiYutU/yp1fw==}
    +    engines: {node: '>=10'}
    +    dev: true
     
    -  strip-eof@1.0.0: {}
    +  /strip-eof@1.0.0:
    +    resolution: {integrity: sha512-7FCwGGmx8mD5xQd3RPUvnSpUXHM3BWuzjtpD4TXsfcZ9EL4azvVVUscFYwD9nx8Kh+uCBC00XBtAykoMHwTh8Q==}
    +    engines: {node: '>=0.10.0'}
    +    dev: true
     
    -  strip-final-newline@2.0.0: {}
    +  /strip-final-newline@2.0.0:
    +    resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==}
    +    engines: {node: '>=6'}
    +    dev: true
     
    -  strip-final-newline@3.0.0: {}
    +  /strip-final-newline@3.0.0:
    +    resolution: {integrity: sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==}
    +    engines: {node: '>=12'}
    +    dev: true
     
    -  strip-indent@3.0.0:
    +  /strip-indent@3.0.0:
    +    resolution: {integrity: sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==}
    +    engines: {node: '>=8'}
         dependencies:
           min-indent: 1.0.1
    +    dev: true
     
    -  strip-json-comments@3.1.1: {}
    +  /strip-json-comments@3.1.1:
    +    resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==}
    +    engines: {node: '>=8'}
    +    dev: true
     
    -  strip-literal@2.1.0:
    +  /strip-literal@2.1.0:
    +    resolution: {integrity: sha512-Op+UycaUt/8FbN/Z2TWPBLge3jWrP3xj10f3fnYxf052bKuS3EKs1ZQcVGjnEMdsNVAM+plXRdmjrZ/KgG3Skw==}
         dependencies:
           js-tokens: 9.0.0
    +    dev: true
     
    -  stylis@4.3.2: {}
    +  /stylis@4.3.2:
    +    resolution: {integrity: sha512-bhtUjWd/z6ltJiQwg0dUfxEJ+W+jdqQd8TbWLWyeIJHlnsqmGLRFFd8e5mA0AZi/zx90smXRlN66YMTcaSFifg==}
    +    dev: false
     
    -  sucrase@3.35.0:
    +  /sucrase@3.35.0:
    +    resolution: {integrity: sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA==}
    +    engines: {node: '>=16 || 14 >=14.17'}
    +    hasBin: true
         dependencies:
           '@jridgewell/gen-mapping': 0.3.5
           commander: 4.1.1
    -      glob: 10.3.12
    +      glob: 10.4.1
           lines-and-columns: 1.2.4
           mz: 2.7.0
           pirates: 4.0.6
           ts-interface-checker: 0.1.13
    +    dev: false
     
    -  supports-color@2.0.0: {}
    +  /supports-color@2.0.0:
    +    resolution: {integrity: sha512-KKNVtd6pCYgPIKU4cp2733HWYCpplQhddZLBUryaAHou723x+FRzQ5Df824Fj+IyyuiQTRoub4SnIFfIcrp70g==}
    +    engines: {node: '>=0.8.0'}
    +    dev: true
     
    -  supports-color@5.5.0:
    +  /supports-color@5.5.0:
    +    resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==}
    +    engines: {node: '>=4'}
         dependencies:
           has-flag: 3.0.0
    +    dev: true
     
    -  supports-color@7.2.0:
    +  /supports-color@7.2.0:
    +    resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==}
    +    engines: {node: '>=8'}
         dependencies:
           has-flag: 4.0.0
    +    dev: true
     
    -  supports-color@8.1.1:
    +  /supports-color@8.1.1:
    +    resolution: {integrity: sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==}
    +    engines: {node: '>=10'}
         dependencies:
           has-flag: 4.0.0
     
    -  supports-preserve-symlinks-flag@1.0.0: {}
    +  /supports-preserve-symlinks-flag@1.0.0:
    +    resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==}
    +    engines: {node: '>= 0.4'}
     
    -  symbol-tree@3.2.4: {}
    +  /symbol-tree@3.2.4:
    +    resolution: {integrity: sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==}
    +    dev: true
     
    -  synckit@0.9.0:
    +  /synckit@0.9.0:
    +    resolution: {integrity: sha512-7RnqIMq572L8PeEzKeBINYEJDDxpcH8JEgLwUqBd3TkofhFRbkq4QLR0u+36avGAhCRbk2nnmjcW9SE531hPDg==}
    +    engines: {node: ^14.18.0 || >=16.0.0}
         dependencies:
           '@pkgr/core': 0.1.1
    -      tslib: 2.6.2
    +      tslib: 2.6.3
    +    dev: true
     
    -  tabbable@6.2.0: {}
    +  /tabbable@6.2.0:
    +    resolution: {integrity: sha512-Cat63mxsVJlzYvN51JmVXIgNoUokrIaT2zLclCXjRd8boZ0004U4KCs/sToJ75C6sdlByWxpYnb5Boif1VSFew==}
    +    dev: true
     
    -  tailwindcss@3.4.3:
    +  /tailwindcss@3.4.4:
    +    resolution: {integrity: sha512-ZoyXOdJjISB7/BcLTR6SEsLgKtDStYyYZVLsUtWChO4Ps20CBad7lfJKVDiejocV4ME1hLmyY0WJE3hSDcmQ2A==}
    +    engines: {node: '>=14.0.0'}
    +    hasBin: true
         dependencies:
           '@alloc/quick-lru': 5.2.0
           arg: 5.0.2
    @@ -17971,224 +14805,380 @@ snapshots:
           fast-glob: 3.3.2
           glob-parent: 6.0.2
           is-glob: 4.0.3
    -      jiti: 1.21.0
    +      jiti: 1.21.6
           lilconfig: 2.1.0
    -      micromatch: 4.0.5
    +      micromatch: 4.0.7
           normalize-path: 3.0.0
           object-hash: 3.0.0
    -      picocolors: 1.0.0
    +      picocolors: 1.0.1
           postcss: 8.4.38
           postcss-import: 15.1.0(postcss@8.4.38)
           postcss-js: 4.0.1(postcss@8.4.38)
           postcss-load-config: 4.0.2(postcss@8.4.38)
           postcss-nested: 6.0.1(postcss@8.4.38)
    -      postcss-selector-parser: 6.0.16
    +      postcss-selector-parser: 6.1.0
           resolve: 1.22.8
           sucrase: 3.35.0
         transitivePeerDependencies:
           - ts-node
    +    dev: false
     
    -  tapable@2.2.1: {}
    +  /tapable@2.2.1:
    +    resolution: {integrity: sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==}
    +    engines: {node: '>=6'}
    +    dev: true
     
    -  teen_process@1.16.0:
    +  /teen_process@1.16.0:
    +    resolution: {integrity: sha512-RnW7HHZD1XuhSTzD3djYOdIl1adE3oNEprE3HOFFxWs5m4FZsqYRhKJ4mDU2udtNGMLUS7jV7l8vVRLWAvmPDw==}
    +    engines: {'0': node}
         dependencies:
    -      '@babel/runtime': 7.24.4
    +      '@babel/runtime': 7.24.7
           bluebird: 3.7.2
           lodash: 4.17.21
           shell-quote: 1.8.1
           source-map-support: 0.5.21
           which: 2.0.2
    +    dev: true
     
    -  temp-dir@2.0.0: {}
    +  /temp-dir@2.0.0:
    +    resolution: {integrity: sha512-aoBAniQmmwtcKp/7BzsH8Cxzv8OL736p7v1ihGb5e9DJ9kTwGWHrQrVB5+lfVDzfGrdRzXch+ig7LHaY1JTOrg==}
    +    engines: {node: '>=8'}
    +    dev: true
     
    -  tempy@0.6.0:
    +  /tempy@0.6.0:
    +    resolution: {integrity: sha512-G13vtMYPT/J8A4X2SjdtBTphZlrp1gKv6hZiOjw14RCWg6GbHuQBGtjlx75xLbYV/wEc0D7G5K4rxKP/cXk8Bw==}
    +    engines: {node: '>=10'}
         dependencies:
           is-stream: 2.0.1
           temp-dir: 2.0.0
           type-fest: 0.16.0
           unique-string: 2.0.0
    +    dev: true
     
    -  term-img@4.1.0:
    +  /term-img@4.1.0:
    +    resolution: {integrity: sha512-DFpBhaF5j+2f7kheKFc1ajsAUUDGOaNPpKPtiIMxlbfud6mvfFZuWGnTRpaujUa5J7yl6cIw/h6nyr4mSsENPg==}
    +    engines: {node: '>=8'}
         dependencies:
           ansi-escapes: 4.3.2
           iterm2-version: 4.2.0
    +    dev: true
     
    -  terser-webpack-plugin@5.3.10(esbuild@0.20.2)(webpack@5.91.0):
    +  /terser-webpack-plugin@5.3.10(esbuild@0.20.2)(webpack@5.92.0):
    +    resolution: {integrity: sha512-BKFPWlPDndPs+NGGCr1U59t0XScL5317Y0UReNrHaw9/FwhPENlq6bfgs+4yPfyP51vqC1bQ4rp1EfXW5ZSH9w==}
    +    engines: {node: '>= 10.13.0'}
    +    peerDependencies:
    +      '@swc/core': '*'
    +      esbuild: '*'
    +      uglify-js: '*'
    +      webpack: ^5.1.0
    +    peerDependenciesMeta:
    +      '@swc/core':
    +        optional: true
    +      esbuild:
    +        optional: true
    +      uglify-js:
    +        optional: true
         dependencies:
           '@jridgewell/trace-mapping': 0.3.25
           esbuild: 0.20.2
           jest-worker: 27.5.1
           schema-utils: 3.3.0
           serialize-javascript: 6.0.2
    -      terser: 5.29.2
    -      webpack: 5.91.0(esbuild@0.20.2)(webpack-cli@4.10.0)
    -
    -  terser@5.29.2:
    -    dependencies:
    -      '@jridgewell/source-map': 0.3.6
    -      acorn: 8.11.3
    -      commander: 2.20.3
    -      source-map-support: 0.5.21
    +      terser: 5.31.1
    +      webpack: 5.92.0(esbuild@0.20.2)(webpack-cli@4.10.0)
    +    dev: true
     
    -  terser@5.31.0:
    +  /terser@5.31.1:
    +    resolution: {integrity: sha512-37upzU1+viGvuFtBo9NPufCb9dwM0+l9hMxYyWfBA+fbwrPqNJAhbZ6W47bBFnZHKHTUBnMvi87434qq+qnxOg==}
    +    engines: {node: '>=10'}
    +    hasBin: true
         dependencies:
           '@jridgewell/source-map': 0.3.6
           acorn: 8.11.3
           commander: 2.20.3
           source-map-support: 0.5.21
    +    dev: true
     
    -  test-exclude@6.0.0:
    +  /test-exclude@6.0.0:
    +    resolution: {integrity: sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==}
    +    engines: {node: '>=8'}
         dependencies:
           '@istanbuljs/schema': 0.1.3
           glob: 7.2.3
           minimatch: 3.1.2
    +    dev: true
     
    -  text-table@0.2.0: {}
    +  /text-table@0.2.0:
    +    resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==}
    +    dev: true
     
    -  thenify-all@1.6.0:
    +  /thenify-all@1.6.0:
    +    resolution: {integrity: sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==}
    +    engines: {node: '>=0.8'}
         dependencies:
           thenify: 3.3.1
     
    -  thenify@3.3.1:
    +  /thenify@3.3.1:
    +    resolution: {integrity: sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==}
         dependencies:
           any-promise: 1.3.0
     
    -  thread-stream@2.4.1:
    +  /thread-stream@2.7.0:
    +    resolution: {integrity: sha512-qQiRWsU/wvNolI6tbbCKd9iKaTnCXsTwVxhhKM6nctPdujTyztjlbUkUTUymidWcMnZ5pWR0ej4a0tjsW021vw==}
         dependencies:
           real-require: 0.2.0
    +    dev: false
     
    -  throat@6.0.2: {}
    +  /throat@6.0.2:
    +    resolution: {integrity: sha512-WKexMoJj3vEuK0yFEapj8y64V0A6xcuPuK9Gt1d0R+dzCSJc0lHqQytAbSB4cDAK0dWh4T0E2ETkoLE2WZ41OQ==}
    +    dev: true
     
    -  throttleit@1.0.1: {}
    +  /throttleit@1.0.1:
    +    resolution: {integrity: sha512-vDZpf9Chs9mAdfY046mcPt8fg5QSZr37hEH4TXYBnDF+izxgrbRGUAAaBvIk/fJm9aOFCGFd1EsNg5AZCbnQCQ==}
    +    dev: true
     
    -  through@2.3.8: {}
    +  /through@2.3.8:
    +    resolution: {integrity: sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==}
    +    dev: true
     
    -  thunky@1.1.0: {}
    +  /thunky@1.1.0:
    +    resolution: {integrity: sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==}
    +    dev: true
     
    -  timers-ext@0.1.7:
    +  /timers-ext@0.1.8:
    +    resolution: {integrity: sha512-wFH7+SEAcKfJpfLPkrgMPvvwnEtj8W4IurvEyrKsDleXnKLCDw71w8jltvfLa8Rm4qQxxT4jmDBYbJG/z7qoww==}
    +    engines: {node: '>=0.12'}
         dependencies:
           es5-ext: 0.10.64
           next-tick: 1.1.0
    +    dev: true
     
    -  tiny-lru@8.0.2: {}
    +  /tiny-lru@8.0.2:
    +    resolution: {integrity: sha512-ApGvZ6vVvTNdsmt676grvCkUCGwzG9IqXma5Z07xJgiC5L7akUMof5U8G2JTI9Rz/ovtVhJBlY6mNhEvtjzOIg==}
    +    engines: {node: '>=6'}
    +    dev: true
     
    -  tinybench@2.8.0: {}
    +  /tinybench@2.8.0:
    +    resolution: {integrity: sha512-1/eK7zUnIklz4JUUlL+658n58XO2hHLQfSk1Zf2LKieUjxidN16eKFEoDEfjHc3ohofSSqK3X5yO6VGb6iW8Lw==}
    +    dev: true
     
    -  tinypool@0.8.4: {}
    +  /tinypool@0.8.4:
    +    resolution: {integrity: sha512-i11VH5gS6IFeLY3gMBQ00/MmLncVP7JLXOw1vlgkytLmJK7QnEr7NXf0LBdxfmNPAeyetukOk0bOYrJrFGjYJQ==}
    +    engines: {node: '>=14.0.0'}
    +    dev: true
     
    -  tinyspy@2.2.1: {}
    +  /tinyspy@2.2.1:
    +    resolution: {integrity: sha512-KYad6Vy5VDWV4GH3fjpseMQ/XU2BhIYP7Vzd0LG44qRWm/Yt2WCOTicFdvmgo6gWaqooMQCawTtILVQJupKu7A==}
    +    engines: {node: '>=14.0.0'}
    +    dev: true
     
    -  tmp@0.2.3: {}
    +  /tmp@0.2.3:
    +    resolution: {integrity: sha512-nZD7m9iCPC5g0pYmcaxogYKggSfLsdxl8of3Q/oIbqCqLLIO9IAF0GWjX1z9NZRHPiXv8Wex4yDCaZsgEw0Y8w==}
    +    engines: {node: '>=14.14'}
    +    dev: true
     
    -  tmpl@1.0.5: {}
    +  /tmpl@1.0.5:
    +    resolution: {integrity: sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==}
    +    dev: true
     
    -  to-fast-properties@2.0.0: {}
    +  /to-fast-properties@2.0.0:
    +    resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==}
    +    engines: {node: '>=4'}
     
    -  to-regex-range@5.0.1:
    +  /to-regex-range@5.0.1:
    +    resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==}
    +    engines: {node: '>=8.0'}
         dependencies:
           is-number: 7.0.0
     
    -  toidentifier@1.0.1: {}
    +  /toidentifier@1.0.1:
    +    resolution: {integrity: sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==}
    +    engines: {node: '>=0.6'}
    +    dev: true
     
    -  totalist@3.0.1: {}
    +  /totalist@3.0.1:
    +    resolution: {integrity: sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ==}
    +    engines: {node: '>=6'}
    +    dev: true
     
    -  tough-cookie@4.1.3:
    +  /tough-cookie@4.1.4:
    +    resolution: {integrity: sha512-Loo5UUvLD9ScZ6jh8beX1T6sO1w2/MpCRpEP7V280GKMVUQ0Jzar2U3UJPsrdbziLEMMhu3Ujnq//rhiFuIeag==}
    +    engines: {node: '>=6'}
         dependencies:
           psl: 1.9.0
           punycode: 2.3.1
           universalify: 0.2.0
           url-parse: 1.5.10
    +    dev: true
     
    -  tr46@0.0.3: {}
    +  /tr46@0.0.3:
    +    resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==}
    +    dev: true
     
    -  tr46@1.0.1:
    +  /tr46@1.0.1:
    +    resolution: {integrity: sha512-dTpowEjclQ7Kgx5SdBkqRzVhERQXov8/l9Ft9dVM9fmg0W0KQSVaXX9T4i6twCPNtYiZM53lpSSUAwJbFPOHxA==}
         dependencies:
           punycode: 2.3.1
    +    dev: true
     
    -  tr46@5.0.0:
    +  /tr46@5.0.0:
    +    resolution: {integrity: sha512-tk2G5R2KRwBd+ZN0zaEXpmzdKyOYksXwywulIX95MBODjSzMIuQnQ3m8JxgbhnL1LeVo7lqQKsYa1O3Htl7K5g==}
    +    engines: {node: '>=18'}
         dependencies:
           punycode: 2.3.1
    +    dev: true
     
    -  traverse@0.3.9: {}
    +  /traverse@0.3.9:
    +    resolution: {integrity: sha512-iawgk0hLP3SxGKDfnDJf8wTz4p2qImnyihM5Hh/sGvQ3K37dPi/w8sRhdNIxYA1TwFwc5mDhIJq+O0RsvXBKdQ==}
    +    dev: true
     
    -  tree-kill@1.2.2: {}
    +  /tree-kill@1.2.2:
    +    resolution: {integrity: sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==}
    +    hasBin: true
    +    dev: true
     
    -  trough@2.2.0: {}
    +  /trough@2.2.0:
    +    resolution: {integrity: sha512-tmMpK00BjZiUyVyvrBK7knerNgmgvcV/KLVyuma/SC+TQN167GrMRciANTz09+k3zW8L8t60jWO1GpfkZdjTaw==}
    +    dev: true
     
    -  ts-api-utils@1.3.0(typescript@5.4.5):
    +  /ts-api-utils@1.3.0(typescript@5.4.5):
    +    resolution: {integrity: sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ==}
    +    engines: {node: '>=16'}
    +    peerDependencies:
    +      typescript: '>=4.2.0'
         dependencies:
           typescript: 5.4.5
    +    dev: true
     
    -  ts-dedent@2.2.0: {}
    +  /ts-dedent@2.2.0:
    +    resolution: {integrity: sha512-q5W7tVM71e2xjHZTlgfTDoPF/SmqKG5hddq9SzR49CH2hayqRKJtQ4mtRlSxKaJlR/+9rEM+mnBHf7I2/BQcpQ==}
    +    engines: {node: '>=6.10'}
    +    dev: false
     
    -  ts-interface-checker@0.1.13: {}
    +  /ts-interface-checker@0.1.13:
    +    resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==}
    +    dev: false
     
    -  ts-toolbelt@6.15.5: {}
    +  /ts-toolbelt@6.15.5:
    +    resolution: {integrity: sha512-FZIXf1ksVyLcfr7M317jbB67XFJhOO1YqdTcuGaq9q5jLUoTikukZ+98TPjKiP2jC5CgmYdWWYs0s2nLSU0/1A==}
    +    dev: false
     
    -  tslib@1.14.1: {}
    +  /tslib@1.14.1:
    +    resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==}
    +    dev: true
     
    -  tslib@2.6.2: {}
    +  /tslib@2.6.3:
    +    resolution: {integrity: sha512-xNvxJEOUiWPGhUuUdQgAJPKOOJfGnIyKySOc09XkKsgdUV/3E2zvwZYdejjmRgPCgcym1juLH3226yA7sEFJKQ==}
    +    dev: true
     
    -  tsutils@3.21.0(typescript@5.4.5):
    +  /tsutils@3.21.0(typescript@5.4.5):
    +    resolution: {integrity: sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==}
    +    engines: {node: '>= 6'}
    +    peerDependencies:
    +      typescript: '>=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta'
         dependencies:
           tslib: 1.14.1
           typescript: 5.4.5
    +    dev: true
     
    -  tsx@4.7.3:
    +  /tsx@4.15.4:
    +    resolution: {integrity: sha512-d++FLCwJLrXaBFtRcqdPBzu6FiVOJ2j+UsvUZPtoTrnYtCGU5CEW7iHXtNZfA2fcRTvJFWPqA6SWBuB0GSva9w==}
    +    engines: {node: '>=18.0.0'}
    +    hasBin: true
         dependencies:
    -      esbuild: 0.19.12
    -      get-tsconfig: 4.7.3
    +      esbuild: 0.21.5
    +      get-tsconfig: 4.7.5
         optionalDependencies:
           fsevents: 2.3.3
    +    dev: true
     
    -  tunnel-agent@0.6.0:
    +  /tunnel-agent@0.6.0:
    +    resolution: {integrity: sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==}
         dependencies:
           safe-buffer: 5.2.1
    +    dev: true
     
    -  tweetnacl@0.14.5: {}
    +  /tweetnacl@0.14.5:
    +    resolution: {integrity: sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==}
    +    dev: true
     
    -  type-check@0.4.0:
    +  /type-check@0.4.0:
    +    resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==}
    +    engines: {node: '>= 0.8.0'}
         dependencies:
           prelude-ls: 1.2.1
    +    dev: true
     
    -  type-detect@4.0.8: {}
    -
    -  type-fest@0.16.0: {}
    +  /type-detect@4.0.8:
    +    resolution: {integrity: sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==}
    +    engines: {node: '>=4'}
    +    dev: true
     
    -  type-fest@0.20.2: {}
    +  /type-fest@0.16.0:
    +    resolution: {integrity: sha512-eaBzG6MxNzEn9kiwvtre90cXaNLkmadMWa1zQMs3XORCXNbsH/OewwbxC5ia9dCxIxnTAsSxXJaa/p5y8DlvJg==}
    +    engines: {node: '>=10'}
    +    dev: true
     
    -  type-fest@0.21.3: {}
    +  /type-fest@0.20.2:
    +    resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==}
    +    engines: {node: '>=10'}
    +    dev: true
     
    -  type-fest@0.6.0: {}
    +  /type-fest@0.21.3:
    +    resolution: {integrity: sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==}
    +    engines: {node: '>=10'}
    +    dev: true
     
    -  type-fest@0.8.1: {}
    +  /type-fest@0.6.0:
    +    resolution: {integrity: sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==}
    +    engines: {node: '>=8'}
    +    dev: true
     
    -  type-fest@1.4.0: {}
    +  /type-fest@0.8.1:
    +    resolution: {integrity: sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==}
    +    engines: {node: '>=8'}
    +    dev: true
     
    -  type-fest@4.15.0: {}
    +  /type-fest@4.20.0:
    +    resolution: {integrity: sha512-MBh+PHUHHisjXf4tlx0CFWoMdjx8zCMLJHOjnV1prABYZFHqtFOyauCIK2/7w4oIfwkF8iNhLtnJEfVY2vn3iw==}
    +    engines: {node: '>=16'}
    +    dev: true
     
    -  type-is@1.6.18:
    +  /type-is@1.6.18:
    +    resolution: {integrity: sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==}
    +    engines: {node: '>= 0.6'}
         dependencies:
           media-typer: 0.3.0
           mime-types: 2.1.35
    +    dev: true
     
    -  type@2.7.2: {}
    +  /type@2.7.3:
    +    resolution: {integrity: sha512-8j+1QmAbPvLZow5Qpi6NCaN8FB60p/6x8/vfNqOk/hC+HuvFZhL4+WfekuhQLiqFZXOgQdrs3B+XxEmCc6b3FQ==}
    +    dev: true
     
    -  typed-array-buffer@1.0.2:
    +  /typed-array-buffer@1.0.2:
    +    resolution: {integrity: sha512-gEymJYKZtKXzzBzM4jqa9w6Q1Jjm7x2d+sh19AdsD4wqnMPDYyvwpsIc2Q/835kHuo3BEQ7CjelGhfTsoBb2MQ==}
    +    engines: {node: '>= 0.4'}
         dependencies:
           call-bind: 1.0.7
           es-errors: 1.3.0
           is-typed-array: 1.1.13
    +    dev: true
     
    -  typed-array-byte-length@1.0.1:
    +  /typed-array-byte-length@1.0.1:
    +    resolution: {integrity: sha512-3iMJ9q0ao7WE9tWcaYKIptkNBuOIcZCCT0d4MRvuuH88fEoEH62IuQe0OtraD3ebQEoTRk8XCBoknUNc1Y67pw==}
    +    engines: {node: '>= 0.4'}
         dependencies:
           call-bind: 1.0.7
           for-each: 0.3.3
           gopd: 1.0.1
           has-proto: 1.0.3
           is-typed-array: 1.1.13
    +    dev: true
     
    -  typed-array-byte-offset@1.0.2:
    +  /typed-array-byte-offset@1.0.2:
    +    resolution: {integrity: sha512-Ous0vodHa56FviZucS2E63zkgtgrACj7omjwd/8lTEMEPFFyjfixMZ1ZXenpgCFBBt4EC1J2XsyVS2gkG0eTFA==}
    +    engines: {node: '>= 0.4'}
         dependencies:
           available-typed-arrays: 1.0.7
           call-bind: 1.0.7
    @@ -18196,8 +15186,11 @@ snapshots:
           gopd: 1.0.1
           has-proto: 1.0.3
           is-typed-array: 1.1.13
    +    dev: true
     
    -  typed-array-length@1.0.6:
    +  /typed-array-length@1.0.6:
    +    resolution: {integrity: sha512-/OxDN6OtAk5KBpGb28T+HZc2M+ADtvRxXrKKbUwtsLgdoxgX13hyy7ek6bFRl5+aBs2yZzB0c4CnQfAtVypW/g==}
    +    engines: {node: '>= 0.4'}
         dependencies:
           call-bind: 1.0.7
           for-each: 0.3.3
    @@ -18205,63 +15198,111 @@ snapshots:
           has-proto: 1.0.3
           is-typed-array: 1.1.13
           possible-typed-array-names: 1.0.0
    +    dev: true
     
    -  typedarray-to-buffer@3.1.5:
    +  /typedarray-to-buffer@3.1.5:
    +    resolution: {integrity: sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==}
         dependencies:
           is-typedarray: 1.0.0
    +    dev: true
     
    -  typedoc-plugin-markdown@3.17.1(typedoc@0.25.13):
    +  /typedoc-plugin-markdown@3.17.1(typedoc@0.25.13):
    +    resolution: {integrity: sha512-QzdU3fj0Kzw2XSdoL15ExLASt2WPqD7FbLeaqwT70+XjKyTshBnUlQA5nNREO1C2P8Uen0CDjsBLMsCQ+zd0lw==}
    +    peerDependencies:
    +      typedoc: '>=0.24.0'
         dependencies:
           handlebars: 4.7.8
           typedoc: 0.25.13(typescript@5.4.5)
    +    dev: true
     
    -  typedoc@0.25.13(typescript@5.4.5):
    +  /typedoc@0.25.13(typescript@5.4.5):
    +    resolution: {integrity: sha512-pQqiwiJ+Z4pigfOnnysObszLiU3mVLWAExSPf+Mu06G/qsc3wzbuM56SZQvONhHLncLUhYzOVkjFFpFfL5AzhQ==}
    +    engines: {node: '>= 16'}
    +    hasBin: true
    +    peerDependencies:
    +      typescript: 4.6.x || 4.7.x || 4.8.x || 4.9.x || 5.0.x || 5.1.x || 5.2.x || 5.3.x || 5.4.x
         dependencies:
           lunr: 2.3.9
           marked: 4.3.0
           minimatch: 9.0.4
           shiki: 0.14.7
           typescript: 5.4.5
    +    dev: true
     
    -  typescript@5.4.5: {}
    +  /typescript@5.4.5:
    +    resolution: {integrity: sha512-vcI4UpRgg81oIRUFwR0WSIHKt11nJ7SAVlYNIu+QpqeyXP+gpQJy/Z4+F0aGxSE4MqwjyXvW/TzgkLAx2AGHwQ==}
    +    engines: {node: '>=14.17'}
    +    hasBin: true
     
    -  uc.micro@1.0.6: {}
    +  /uc.micro@1.0.6:
    +    resolution: {integrity: sha512-8Y75pvTYkLJW2hWQHXxoqRgV7qb9B+9vFEtidML+7koHUFapnVJAZ6cKs+Qjz5Aw3aZWHMC6u0wJE3At+nSGwA==}
    +    dev: true
     
    -  ufo@1.5.3: {}
    +  /ufo@1.5.3:
    +    resolution: {integrity: sha512-Y7HYmWaFwPUmkoQCUIAYpKqkOf+SbVj/2fJJZ4RJMCfZp0rTGwRbzQD+HghfnhKOjL9E01okqz+ncJskGYfBNw==}
    +    dev: true
     
    -  uglify-js@3.17.4: {}
    +  /uglify-js@3.18.0:
    +    resolution: {integrity: sha512-SyVVbcNBCk0dzr9XL/R/ySrmYf0s372K6/hFklzgcp2lBFyXtw4I7BOdDjlLhE1aVqaI/SHWXWmYdlZxuyF38A==}
    +    engines: {node: '>=0.8.0'}
    +    hasBin: true
    +    dev: true
     
    -  unbox-primitive@1.0.2:
    +  /unbox-primitive@1.0.2:
    +    resolution: {integrity: sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==}
         dependencies:
           call-bind: 1.0.7
           has-bigints: 1.0.2
           has-symbols: 1.0.3
           which-boxed-primitive: 1.0.2
    +    dev: true
     
    -  unconfig@0.3.13:
    +  /unconfig@0.3.13:
    +    resolution: {integrity: sha512-N9Ph5NC4+sqtcOjPfHrRcHekBCadCXWTBzp2VYYbySOHW0PfD9XLCeXshTXjkPYwLrBr9AtSeU0CZmkYECJhng==}
         dependencies:
    -      '@antfu/utils': 0.7.7
    +      '@antfu/utils': 0.7.8
           defu: 6.1.4
    -      jiti: 1.21.0
    +      jiti: 1.21.6
    +    dev: true
     
    -  underscore@1.1.7: {}
    +  /underscore@1.1.7:
    +    resolution: {integrity: sha512-w4QtCHoLBXw1mjofIDoMyexaEdWGMedWNDhlWTtT1V1lCRqi65Pnoygkh6+WRdr+Bm8ldkBNkNeCsXGMlQS9HQ==}
    +    dev: true
     
    -  undici-types@5.26.5: {}
    +  /undici-types@5.26.5:
    +    resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==}
    +    dev: true
     
    -  unicode-canonical-property-names-ecmascript@2.0.0: {}
    +  /unicode-canonical-property-names-ecmascript@2.0.0:
    +    resolution: {integrity: sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==}
    +    engines: {node: '>=4'}
    +    dev: true
     
    -  unicode-match-property-ecmascript@2.0.0:
    +  /unicode-match-property-ecmascript@2.0.0:
    +    resolution: {integrity: sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==}
    +    engines: {node: '>=4'}
         dependencies:
           unicode-canonical-property-names-ecmascript: 2.0.0
           unicode-property-aliases-ecmascript: 2.1.0
    +    dev: true
     
    -  unicode-match-property-value-ecmascript@2.1.0: {}
    +  /unicode-match-property-value-ecmascript@2.1.0:
    +    resolution: {integrity: sha512-qxkjQt6qjg/mYscYMC0XKRn3Rh0wFPlfxB0xkt9CfyTvpX1Ra0+rAmdX2QyAobptSEvuy4RtpPRui6XkV+8wjA==}
    +    engines: {node: '>=4'}
    +    dev: true
     
    -  unicode-property-aliases-ecmascript@2.1.0: {}
    +  /unicode-property-aliases-ecmascript@2.1.0:
    +    resolution: {integrity: sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==}
    +    engines: {node: '>=4'}
    +    dev: true
     
    -  unicorn-magic@0.1.0: {}
    +  /unicorn-magic@0.1.0:
    +    resolution: {integrity: sha512-lRfVq8fE8gz6QMBuDM6a+LO3IAzTi05H6gCVaUpir2E1Rwpo4ZUog45KpNXKC/Mn3Yb9UDuHumeFTo9iV/D9FQ==}
    +    engines: {node: '>=18'}
    +    dev: true
     
    -  unified@11.0.4:
    +  /unified@11.0.4:
    +    resolution: {integrity: sha512-apMPnyLjAX+ty4OrNap7yumyVAMlKx5IWU2wlzzUdYJO9A8f1p9m/gywF/GM2ZDFcjQPrx59Mc90KwmxsoklxQ==}
         dependencies:
           '@types/unist': 3.0.2
           bail: 2.0.2
    @@ -18270,51 +15311,83 @@ snapshots:
           is-plain-obj: 4.1.0
           trough: 2.2.0
           vfile: 6.0.1
    +    dev: true
     
    -  unique-string@2.0.0:
    +  /unique-string@2.0.0:
    +    resolution: {integrity: sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg==}
    +    engines: {node: '>=8'}
         dependencies:
           crypto-random-string: 2.0.0
    +    dev: true
     
    -  unique-string@3.0.0:
    -    dependencies:
    -      crypto-random-string: 4.0.0
    -
    -  unist-util-flatmap@1.0.0: {}
    +  /unist-util-flatmap@1.0.0:
    +    resolution: {integrity: sha512-IG32jcKJlhARCYT2LsYPJWdoXYkzz3ESAdl1aa2hn9Auh+cgUmU6wgkII4yCc/1GgeWibRdELdCZh/p3QKQ1dQ==}
    +    dev: true
     
    -  unist-util-inspect@8.0.0:
    +  /unist-util-inspect@8.0.0:
    +    resolution: {integrity: sha512-/3Wn/wU6/H6UEo4FoYUeo8KUePN8ERiZpQYFWYoihOsr1DoDuv80PeB0hobVZyYSvALa2e556bG1A1/AbwU4yg==}
         dependencies:
           '@types/unist': 3.0.2
    +    dev: true
     
    -  unist-util-is@6.0.0:
    +  /unist-util-is@6.0.0:
    +    resolution: {integrity: sha512-2qCTHimwdxLfz+YzdGfkqNlH0tLi9xjTnHddPmJwtIG9MGsdbutfTc4P+haPD7l7Cjxf/WZj+we5qfVPvvxfYw==}
         dependencies:
           '@types/unist': 3.0.2
    +    dev: true
     
    -  unist-util-stringify-position@2.0.3:
    +  /unist-util-stringify-position@2.0.3:
    +    resolution: {integrity: sha512-3faScn5I+hy9VleOq/qNbAd6pAx7iH5jYBMS9I1HgQVijz/4mv5Bvw5iw1sC/90CODiKo81G/ps8AJrISn687g==}
         dependencies:
           '@types/unist': 2.0.10
    +    dev: true
     
    -  unist-util-stringify-position@4.0.0:
    +  /unist-util-stringify-position@4.0.0:
    +    resolution: {integrity: sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==}
         dependencies:
           '@types/unist': 3.0.2
     
    -  unist-util-visit-parents@6.0.1:
    +  /unist-util-visit-parents@6.0.1:
    +    resolution: {integrity: sha512-L/PqWzfTP9lzzEa6CKs0k2nARxTdZduw3zyh8d2NVBnsyvHjSX4TWse388YrrQKbvI8w20fGjGlhgT96WwKykw==}
         dependencies:
           '@types/unist': 3.0.2
           unist-util-is: 6.0.0
    +    dev: true
     
    -  unist-util-visit@5.0.0:
    +  /unist-util-visit@5.0.0:
    +    resolution: {integrity: sha512-MR04uvD+07cwl/yhVuVWAtw+3GOR/knlL55Nd/wAdblk27GCVt3lqpTivy/tkJcZoNPzTwS1Y+KMojlLDhoTzg==}
         dependencies:
           '@types/unist': 3.0.2
           unist-util-is: 6.0.0
           unist-util-visit-parents: 6.0.1
    +    dev: true
     
    -  universalify@0.1.2: {}
    +  /universalify@0.1.2:
    +    resolution: {integrity: sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==}
    +    engines: {node: '>= 4.0.0'}
    +    dev: true
     
    -  universalify@0.2.0: {}
    +  /universalify@0.2.0:
    +    resolution: {integrity: sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==}
    +    engines: {node: '>= 4.0.0'}
    +    dev: true
     
    -  universalify@2.0.1: {}
    +  /universalify@2.0.1:
    +    resolution: {integrity: sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==}
    +    engines: {node: '>= 10.0.0'}
    +    dev: true
     
    -  unocss@0.58.9(postcss@8.4.38)(rollup@2.79.1)(vite@4.5.3):
    +  /unocss@0.58.9(postcss@8.4.38)(rollup@2.79.1)(vite@4.5.3):
    +    resolution: {integrity: sha512-aqANXXP0RrtN4kSaTLn/7I6wh8o45LUdVgPzGu7Fan2DfH2+wpIs6frlnlHlOymnb+52dp6kXluQinddaUKW1A==}
    +    engines: {node: '>=14'}
    +    peerDependencies:
    +      '@unocss/webpack': 0.58.9
    +      vite: ^2.9.0 || ^3.0.0-0 || ^4.0.0 || ^5.0.0-0
    +    peerDependenciesMeta:
    +      '@unocss/webpack':
    +        optional: true
    +      vite:
    +        optional: true
         dependencies:
           '@unocss/astro': 0.58.9(rollup@2.79.1)(vite@4.5.3)
           '@unocss/cli': 0.58.9(rollup@2.79.1)
    @@ -18336,15 +15409,26 @@ snapshots:
           '@unocss/transformer-directives': 0.58.9
           '@unocss/transformer-variant-group': 0.58.9
           '@unocss/vite': 0.58.9(rollup@2.79.1)(vite@4.5.3)
    -      vite: 4.5.3(@types/node@20.12.7)
    +      vite: 4.5.3(@types/node@20.14.2)
         transitivePeerDependencies:
           - postcss
           - rollup
           - supports-color
    +    dev: true
     
    -  unocss@0.59.4(postcss@8.4.38)(rollup@2.79.1)(vite@5.2.10):
    +  /unocss@0.59.4(postcss@8.4.38)(rollup@2.79.1)(vite@5.2.13):
    +    resolution: {integrity: sha512-QmCVjRObvVu/gsGrJGVt0NnrdhFFn314BUZn2WQyXV9rIvHLRmG5bIu0j5vibJkj7ZhFchTrnTM1pTFXP1xt5g==}
    +    engines: {node: '>=14'}
    +    peerDependencies:
    +      '@unocss/webpack': 0.59.4
    +      vite: ^2.9.0 || ^3.0.0-0 || ^4.0.0 || ^5.0.0-0
    +    peerDependenciesMeta:
    +      '@unocss/webpack':
    +        optional: true
    +      vite:
    +        optional: true
         dependencies:
    -      '@unocss/astro': 0.59.4(rollup@2.79.1)(vite@5.2.10)
    +      '@unocss/astro': 0.59.4(rollup@2.79.1)(vite@5.2.13)
           '@unocss/cli': 0.59.4(rollup@2.79.1)
           '@unocss/core': 0.59.4
           '@unocss/extractor-arbitrary-variants': 0.59.4
    @@ -18363,103 +15447,164 @@ snapshots:
           '@unocss/transformer-compile-class': 0.59.4
           '@unocss/transformer-directives': 0.59.4
           '@unocss/transformer-variant-group': 0.59.4
    -      '@unocss/vite': 0.59.4(rollup@2.79.1)(vite@5.2.10)
    -      vite: 5.2.10(@types/node@20.12.7)
    +      '@unocss/vite': 0.59.4(rollup@2.79.1)(vite@5.2.13)
    +      vite: 5.2.13(@types/node@20.14.2)
         transitivePeerDependencies:
           - postcss
           - rollup
           - supports-color
    +    dev: true
     
    -  unpipe@1.0.0: {}
    +  /unpipe@1.0.0:
    +    resolution: {integrity: sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==}
    +    engines: {node: '>= 0.8'}
    +    dev: true
     
    -  unplugin-vue-components@0.26.0(rollup@2.79.1)(vue@3.4.26):
    +  /unplugin-vue-components@0.26.0(rollup@2.79.1)(vue@3.4.27):
    +    resolution: {integrity: sha512-s7IdPDlnOvPamjunVxw8kNgKNK8A5KM1YpK5j/p97jEKTjlPNrA0nZBiSfAKKlK1gWZuyWXlKL5dk3EDw874LQ==}
    +    engines: {node: '>=14'}
    +    peerDependencies:
    +      '@babel/parser': ^7.15.8
    +      '@nuxt/kit': ^3.2.2
    +      vue: 2 || 3
    +    peerDependenciesMeta:
    +      '@babel/parser':
    +        optional: true
    +      '@nuxt/kit':
    +        optional: true
         dependencies:
    -      '@antfu/utils': 0.7.6
    +      '@antfu/utils': 0.7.8
           '@rollup/pluginutils': 5.1.0(rollup@2.79.1)
           chokidar: 3.6.0
    -      debug: 4.3.4(supports-color@8.1.1)
    +      debug: 4.3.5(supports-color@8.1.1)
           fast-glob: 3.3.2
           local-pkg: 0.4.3
    -      magic-string: 0.30.5
    -      minimatch: 9.0.3
    -      resolve: 1.22.4
    -      unplugin: 1.4.0
    -      vue: 3.4.26(typescript@5.4.5)
    +      magic-string: 0.30.10
    +      minimatch: 9.0.4
    +      resolve: 1.22.8
    +      unplugin: 1.10.1
    +      vue: 3.4.27(typescript@5.4.5)
         transitivePeerDependencies:
           - rollup
           - supports-color
    +    dev: true
     
    -  unplugin@1.4.0:
    +  /unplugin@1.10.1:
    +    resolution: {integrity: sha512-d6Mhq8RJeGA8UfKCu54Um4lFA0eSaRa3XxdAJg8tIdxbu1ubW0hBCZUL7yI2uGyYCRndvbK8FLHzqy2XKfeMsg==}
    +    engines: {node: '>=14.0.0'}
         dependencies:
           acorn: 8.11.3
           chokidar: 3.6.0
           webpack-sources: 3.2.3
    -      webpack-virtual-modules: 0.5.0
    +      webpack-virtual-modules: 0.6.2
    +    dev: true
     
    -  untildify@4.0.0: {}
    +  /untildify@4.0.0:
    +    resolution: {integrity: sha512-KK8xQ1mkzZeg9inewmFVDNkg3l5LUhoq9kN6iWYB/CC9YMG8HA+c1Q8HwDe6dEX7kErrEVNVBO3fWsVq5iDgtw==}
    +    engines: {node: '>=8'}
    +    dev: true
     
    -  upath@1.2.0: {}
    +  /upath@1.2.0:
    +    resolution: {integrity: sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==}
    +    engines: {node: '>=4'}
    +    dev: true
     
    -  update-browserslist-db@1.0.13(browserslist@4.23.0):
    +  /update-browserslist-db@1.0.16(browserslist@4.23.1):
    +    resolution: {integrity: sha512-KVbTxlBYlckhF5wgfyZXTWnMn7MMZjMu9XG8bPlliUOP9ThaF4QnhP8qrjrH7DRzHfSk0oQv1wToW+iA5GajEQ==}
    +    hasBin: true
    +    peerDependencies:
    +      browserslist: '>= 4.21.0'
         dependencies:
    -      browserslist: 4.23.0
    +      browserslist: 4.23.1
           escalade: 3.1.2
    -      picocolors: 1.0.0
    +      picocolors: 1.0.1
    +    dev: true
     
    -  uri-js@4.4.1:
    +  /uri-js@4.4.1:
    +    resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==}
         dependencies:
           punycode: 2.3.1
    +    dev: true
     
    -  url-parse@1.5.10:
    +  /url-parse@1.5.10:
    +    resolution: {integrity: sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==}
         dependencies:
           querystringify: 2.2.0
           requires-port: 1.0.0
    +    dev: true
     
    -  util-deprecate@1.0.2: {}
    +  /util-deprecate@1.0.2:
    +    resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==}
     
    -  utils-merge@1.0.1: {}
    +  /utils-merge@1.0.1:
    +    resolution: {integrity: sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==}
    +    engines: {node: '>= 0.4.0'}
    +    dev: true
     
    -  uuid@8.3.2: {}
    +  /uuid@8.3.2:
    +    resolution: {integrity: sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==}
    +    hasBin: true
    +    dev: true
     
    -  uuid@9.0.1: {}
    +  /uuid@9.0.1:
    +    resolution: {integrity: sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==}
    +    hasBin: true
     
    -  v8-to-istanbul@9.2.0:
    +  /v8-to-istanbul@9.2.0:
    +    resolution: {integrity: sha512-/EH/sDgxU2eGxajKdwLCDmQ4FWq+kpi3uCmBGpw1xJtnAxEjlD8j8PEiGWpCIMIs3ciNAgH0d3TTJiUkYzyZjA==}
    +    engines: {node: '>=10.12.0'}
         dependencies:
           '@jridgewell/trace-mapping': 0.3.25
           '@types/istanbul-lib-coverage': 2.0.6
           convert-source-map: 2.0.0
    +    dev: true
     
    -  validate-npm-package-license@3.0.4:
    +  /validate-npm-package-license@3.0.4:
    +    resolution: {integrity: sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==}
         dependencies:
           spdx-correct: 3.2.0
           spdx-expression-parse: 3.0.1
    +    dev: true
     
    -  vary@1.1.2: {}
    +  /vary@1.1.2:
    +    resolution: {integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==}
    +    engines: {node: '>= 0.8'}
    +    dev: true
     
    -  verror@1.10.0:
    +  /verror@1.10.0:
    +    resolution: {integrity: sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw==}
    +    engines: {'0': node >=0.6.0}
         dependencies:
           assert-plus: 1.0.0
           core-util-is: 1.0.2
           extsprintf: 1.3.0
    +    dev: true
     
    -  vfile-message@4.0.2:
    +  /vfile-message@4.0.2:
    +    resolution: {integrity: sha512-jRDZ1IMLttGj41KcZvlrYAaI3CfqpLpfpf+Mfig13viT6NKvRzWZ+lXz0Y5D60w6uJIBAOGq9mSHf0gktF0duw==}
         dependencies:
           '@types/unist': 3.0.2
           unist-util-stringify-position: 4.0.0
    +    dev: true
     
    -  vfile@6.0.1:
    +  /vfile@6.0.1:
    +    resolution: {integrity: sha512-1bYqc7pt6NIADBJ98UiG0Bn/CHIVOoZ/IyEkqIruLg0mE1BKzkOXY2D6CSqQIcKqgadppE5lrxgWXJmXd7zZJw==}
         dependencies:
           '@types/unist': 3.0.2
           unist-util-stringify-position: 4.0.0
           vfile-message: 4.0.2
    +    dev: true
     
    -  vite-node@1.5.3(@types/node@20.12.7):
    +  /vite-node@1.6.0(@types/node@20.14.2):
    +    resolution: {integrity: sha512-de6HJgzC+TFzOu0NTC4RAIsyf/DY/ibWDYQUcuEA84EMHhcefTUGkjFHKKEJhQN4A+6I0u++kr3l36ZF2d7XRw==}
    +    engines: {node: ^18.0.0 || >=20.0.0}
    +    hasBin: true
         dependencies:
           cac: 6.7.14
    -      debug: 4.3.4(supports-color@8.1.1)
    +      debug: 4.3.5(supports-color@8.1.1)
           pathe: 1.1.2
    -      picocolors: 1.0.0
    -      vite: 5.2.10(@types/node@20.12.7)
    +      picocolors: 1.0.1
    +      vite: 5.2.13(@types/node@20.14.2)
         transitivePeerDependencies:
           - '@types/node'
           - less
    @@ -18469,78 +15614,172 @@ snapshots:
           - sugarss
           - supports-color
           - terser
    +    dev: true
     
    -  vite-plugin-istanbul@6.0.0(vite@5.2.10):
    +  /vite-plugin-istanbul@6.0.2(vite@5.2.13):
    +    resolution: {integrity: sha512-0/sKwjEEIwbEyl43xX7onX3dIbMJAsigNsKyyVPalG1oRFo5jn3qkJbS2PUfp9wrr3piy1eT6qRoeeum2p4B2A==}
    +    peerDependencies:
    +      vite: '>=4 <=6'
         dependencies:
           '@istanbuljs/load-nyc-config': 1.1.0
           espree: 10.0.1
           istanbul-lib-instrument: 6.0.2
    -      picocolors: 1.0.0
    +      picocolors: 1.0.1
           source-map: 0.7.4
           test-exclude: 6.0.0
    -      vite: 5.2.10(@types/node@20.12.7)
    +      vite: 5.2.13(@types/node@20.14.2)
         transitivePeerDependencies:
           - supports-color
    +    dev: true
     
    -  vite-plugin-pwa@0.17.5(vite@4.5.3)(workbox-build@7.1.0)(workbox-window@7.1.0):
    +  /vite-plugin-pwa@0.17.5(vite@4.5.3)(workbox-build@7.1.1)(workbox-window@7.1.0):
    +    resolution: {integrity: sha512-UxRNPiJBzh4tqU/vc8G2TxmrUTzT6BqvSzhszLk62uKsf+npXdvLxGDz9C675f4BJi6MbD2tPnJhi5txlMzxbQ==}
    +    engines: {node: '>=16.0.0'}
    +    peerDependencies:
    +      vite: ^3.1.0 || ^4.0.0 || ^5.0.0
    +      workbox-build: ^7.0.0
    +      workbox-window: ^7.0.0
         dependencies:
    -      debug: 4.3.4(supports-color@8.1.1)
    +      debug: 4.3.5(supports-color@8.1.1)
           fast-glob: 3.3.2
           pretty-bytes: 6.1.1
    -      vite: 4.5.3(@types/node@20.12.7)
    -      workbox-build: 7.1.0
    +      vite: 4.5.3(@types/node@20.14.2)
    +      workbox-build: 7.1.1
           workbox-window: 7.1.0
         transitivePeerDependencies:
           - supports-color
    +    dev: true
     
    -  vite-plugin-pwa@0.19.8(vite@5.2.10)(workbox-build@7.1.0)(workbox-window@7.0.0):
    +  /vite-plugin-pwa@0.19.8(vite@5.2.13)(workbox-build@7.1.1)(workbox-window@7.1.0):
    +    resolution: {integrity: sha512-e1oK0dfhzhDhY3VBuML6c0h8Xfx6EkOVYqolj7g+u8eRfdauZe5RLteCIA/c5gH0CBQ0CNFAuv/AFTx4Z7IXTw==}
    +    engines: {node: '>=16.0.0'}
    +    peerDependencies:
    +      '@vite-pwa/assets-generator': ^0.2.4
    +      vite: ^3.1.0 || ^4.0.0 || ^5.0.0
    +      workbox-build: ^7.0.0
    +      workbox-window: ^7.0.0
    +    peerDependenciesMeta:
    +      '@vite-pwa/assets-generator':
    +        optional: true
         dependencies:
    -      debug: 4.3.4(supports-color@8.1.1)
    +      debug: 4.3.5(supports-color@8.1.1)
           fast-glob: 3.3.2
           pretty-bytes: 6.1.1
    -      vite: 5.2.10(@types/node@20.12.7)
    -      workbox-build: 7.1.0
    -      workbox-window: 7.0.0
    +      vite: 5.2.13(@types/node@20.14.2)
    +      workbox-build: 7.1.1
    +      workbox-window: 7.1.0
         transitivePeerDependencies:
           - supports-color
    +    dev: true
     
    -  vite@4.5.3(@types/node@20.12.7):
    +  /vite@4.5.3(@types/node@20.14.2):
    +    resolution: {integrity: sha512-kQL23kMeX92v3ph7IauVkXkikdDRsYMGTVl5KY2E9OY4ONLvkHf04MDTbnfo6NKxZiDLWzVpP5oTa8hQD8U3dg==}
    +    engines: {node: ^14.18.0 || >=16.0.0}
    +    hasBin: true
    +    peerDependencies:
    +      '@types/node': '>= 14'
    +      less: '*'
    +      lightningcss: ^1.21.0
    +      sass: '*'
    +      stylus: '*'
    +      sugarss: '*'
    +      terser: ^5.4.0
    +    peerDependenciesMeta:
    +      '@types/node':
    +        optional: true
    +      less:
    +        optional: true
    +      lightningcss:
    +        optional: true
    +      sass:
    +        optional: true
    +      stylus:
    +        optional: true
    +      sugarss:
    +        optional: true
    +      terser:
    +        optional: true
         dependencies:
    -      '@types/node': 20.12.7
    +      '@types/node': 20.14.2
           esbuild: 0.18.20
           postcss: 8.4.38
           rollup: 3.29.4
         optionalDependencies:
           fsevents: 2.3.3
    +    dev: true
     
    -  vite@5.2.10(@types/node@20.12.7):
    +  /vite@5.2.13(@types/node@20.14.2):
    +    resolution: {integrity: sha512-SSq1noJfY9pR3I1TUENL3rQYDQCFqgD+lM6fTRAM8Nv6Lsg5hDLaXkjETVeBt+7vZBCMoibD+6IWnT2mJ+Zb/A==}
    +    engines: {node: ^18.0.0 || >=20.0.0}
    +    hasBin: true
    +    peerDependencies:
    +      '@types/node': ^18.0.0 || >=20.0.0
    +      less: '*'
    +      lightningcss: ^1.21.0
    +      sass: '*'
    +      stylus: '*'
    +      sugarss: '*'
    +      terser: ^5.4.0
    +    peerDependenciesMeta:
    +      '@types/node':
    +        optional: true
    +      less:
    +        optional: true
    +      lightningcss:
    +        optional: true
    +      sass:
    +        optional: true
    +      stylus:
    +        optional: true
    +      sugarss:
    +        optional: true
    +      terser:
    +        optional: true
         dependencies:
    -      '@types/node': 20.12.7
    +      '@types/node': 20.14.2
           esbuild: 0.20.2
           postcss: 8.4.38
    -      rollup: 4.17.2
    +      rollup: 4.18.0
         optionalDependencies:
           fsevents: 2.3.3
    +    dev: true
     
    -  vitepress-plugin-search@1.0.4-alpha.22(flexsearch@0.7.43)(vitepress@1.1.4)(vue@3.4.26):
    +  /vitepress-plugin-search@1.0.4-alpha.22(flexsearch@0.7.43)(vitepress@1.1.4)(vue@3.4.27):
    +    resolution: {integrity: sha512-IAOEJu+kjVY+0pb6/PeRjIbr175HFFbnMdLmLjqcy7VWxkabIRZbLoQL1VUYDZl804o/Or+GaX02gsiMOnVxFA==}
    +    engines: {node: ^14.13.1 || ^16.7.0 || >=18}
    +    peerDependencies:
    +      flexsearch: ^0.7.31
    +      vitepress: ^1.0.0-rc.35
    +      vue: '3'
         dependencies:
    -      '@types/flexsearch': 0.7.3
    +      '@types/flexsearch': 0.7.6
           '@types/markdown-it': 12.2.3
           flexsearch: 0.7.43
           glob-to-regexp: 0.4.1
    -      markdown-it: 13.0.1
    -      vitepress: 1.1.4(@algolia/client-search@4.23.3)(@types/node@20.12.7)(postcss@8.4.38)(search-insights@2.13.0)(typescript@5.4.5)
    -      vue: 3.4.26(typescript@5.4.5)
    +      markdown-it: 13.0.2
    +      vitepress: 1.1.4(@algolia/client-search@4.23.3)(@types/node@20.14.2)(postcss@8.4.38)(search-insights@2.14.0)(typescript@5.4.5)
    +      vue: 3.4.27(typescript@5.4.5)
    +    dev: true
     
    -  vitepress@1.0.0-rc.39(@algolia/client-search@4.23.3)(@types/node@20.12.7)(postcss@8.4.38)(search-insights@2.13.0)(typescript@5.4.5):
    +  /vitepress@1.0.0-rc.39(@algolia/client-search@4.23.3)(@types/node@20.14.2)(postcss@8.4.38)(search-insights@2.14.0)(typescript@5.4.5):
    +    resolution: {integrity: sha512-EcgoRlAAp37WOxUOYv45oxyhLrcy3Upey+mKpqW3ldsg6Ol4trPndRBk2GO0QiSvEKlb9BMerk49D/bFICN6kg==}
    +    hasBin: true
    +    peerDependencies:
    +      markdown-it-mathjax3: ^4.3.2
    +      postcss: ^8.4.33
    +    peerDependenciesMeta:
    +      markdown-it-mathjax3:
    +        optional: true
    +      postcss:
    +        optional: true
         dependencies:
           '@docsearch/css': 3.6.0
    -      '@docsearch/js': 3.6.0(@algolia/client-search@4.23.3)(search-insights@2.13.0)
    +      '@docsearch/js': 3.6.0(@algolia/client-search@4.23.3)(search-insights@2.14.0)
           '@types/markdown-it': 13.0.8
    -      '@vitejs/plugin-vue': 5.0.4(vite@5.2.10)(vue@3.4.26)
    -      '@vue/devtools-api': 6.6.1
    -      '@vueuse/core': 10.9.0(vue@3.4.26)
    -      '@vueuse/integrations': 10.9.0(focus-trap@7.5.4)(vue@3.4.26)
    +      '@vitejs/plugin-vue': 5.0.5(vite@5.2.13)(vue@3.4.27)
    +      '@vue/devtools-api': 6.6.3
    +      '@vueuse/core': 10.11.0(vue@3.4.27)
    +      '@vueuse/integrations': 10.11.0(focus-trap@7.5.4)(vue@3.4.27)
           focus-trap: 7.5.4
           mark.js: 8.11.1
           minisearch: 6.3.0
    @@ -18548,8 +15787,8 @@ snapshots:
           shikiji: 0.9.19
           shikiji-core: 0.9.19
           shikiji-transformers: 0.9.19
    -      vite: 5.2.10(@types/node@20.12.7)
    -      vue: 3.4.26(typescript@5.4.5)
    +      vite: 5.2.13(@types/node@20.14.2)
    +      vue: 3.4.27(typescript@5.4.5)
         transitivePeerDependencies:
           - '@algolia/client-search'
           - '@types/node'
    @@ -18576,25 +15815,36 @@ snapshots:
           - terser
           - typescript
           - universal-cookie
    +    dev: true
     
    -  vitepress@1.1.4(@algolia/client-search@4.23.3)(@types/node@20.12.7)(postcss@8.4.38)(search-insights@2.13.0)(typescript@5.4.5):
    +  /vitepress@1.1.4(@algolia/client-search@4.23.3)(@types/node@20.14.2)(postcss@8.4.38)(search-insights@2.14.0)(typescript@5.4.5):
    +    resolution: {integrity: sha512-bWIzFZXpPB6NIDBuWnS20aMADH+FcFKDfQNYFvbOWij03PR29eImTceQHIzCKordjXYBhM/TjE5VKFTUJ3EheA==}
    +    hasBin: true
    +    peerDependencies:
    +      markdown-it-mathjax3: ^4
    +      postcss: ^8
    +    peerDependenciesMeta:
    +      markdown-it-mathjax3:
    +        optional: true
    +      postcss:
    +        optional: true
         dependencies:
           '@docsearch/css': 3.6.0
    -      '@docsearch/js': 3.6.0(@algolia/client-search@4.23.3)(search-insights@2.13.0)
    -      '@shikijs/core': 1.4.0
    -      '@shikijs/transformers': 1.4.0
    -      '@types/markdown-it': 14.0.1
    -      '@vitejs/plugin-vue': 5.0.4(vite@5.2.10)(vue@3.4.26)
    -      '@vue/devtools-api': 7.1.3(vue@3.4.26)
    -      '@vueuse/core': 10.9.0(vue@3.4.26)
    -      '@vueuse/integrations': 10.9.0(focus-trap@7.5.4)(vue@3.4.26)
    +      '@docsearch/js': 3.6.0(@algolia/client-search@4.23.3)(search-insights@2.14.0)
    +      '@shikijs/core': 1.6.4
    +      '@shikijs/transformers': 1.6.4
    +      '@types/markdown-it': 14.1.1
    +      '@vitejs/plugin-vue': 5.0.5(vite@5.2.13)(vue@3.4.27)
    +      '@vue/devtools-api': 7.2.1(vue@3.4.27)
    +      '@vueuse/core': 10.11.0(vue@3.4.27)
    +      '@vueuse/integrations': 10.11.0(focus-trap@7.5.4)(vue@3.4.27)
           focus-trap: 7.5.4
           mark.js: 8.11.1
           minisearch: 6.3.0
           postcss: 8.4.38
    -      shiki: 1.4.0
    -      vite: 5.2.10(@types/node@20.12.7)
    -      vue: 3.4.26(typescript@5.4.5)
    +      shiki: 1.6.4
    +      vite: 5.2.13(@types/node@20.14.2)
    +      vue: 3.4.27(typescript@5.4.5)
         transitivePeerDependencies:
           - '@algolia/client-search'
           - '@types/node'
    @@ -18621,31 +15871,55 @@ snapshots:
           - terser
           - typescript
           - universal-cookie
    +    dev: true
     
    -  vitest@1.5.3(@types/node@20.12.7)(@vitest/ui@1.5.3)(jsdom@24.0.0):
    +  /vitest@1.6.0(@types/node@20.14.2)(@vitest/ui@1.6.0)(jsdom@24.1.0):
    +    resolution: {integrity: sha512-H5r/dN06swuFnzNFhq/dnz37bPXnq8xB2xB5JOVk8K09rUtoeNN+LHWkoQ0A/i3hvbUKKcCei9KpbxqHMLhLLA==}
    +    engines: {node: ^18.0.0 || >=20.0.0}
    +    hasBin: true
    +    peerDependencies:
    +      '@edge-runtime/vm': '*'
    +      '@types/node': ^18.0.0 || >=20.0.0
    +      '@vitest/browser': 1.6.0
    +      '@vitest/ui': 1.6.0
    +      happy-dom: '*'
    +      jsdom: '*'
    +    peerDependenciesMeta:
    +      '@edge-runtime/vm':
    +        optional: true
    +      '@types/node':
    +        optional: true
    +      '@vitest/browser':
    +        optional: true
    +      '@vitest/ui':
    +        optional: true
    +      happy-dom:
    +        optional: true
    +      jsdom:
    +        optional: true
         dependencies:
    -      '@types/node': 20.12.7
    -      '@vitest/expect': 1.5.3
    -      '@vitest/runner': 1.5.3
    -      '@vitest/snapshot': 1.5.3
    -      '@vitest/spy': 1.5.3
    -      '@vitest/ui': 1.5.3(vitest@1.5.3)
    -      '@vitest/utils': 1.5.3
    +      '@types/node': 20.14.2
    +      '@vitest/expect': 1.6.0
    +      '@vitest/runner': 1.6.0
    +      '@vitest/snapshot': 1.6.0
    +      '@vitest/spy': 1.6.0
    +      '@vitest/ui': 1.6.0(vitest@1.6.0)
    +      '@vitest/utils': 1.6.0
           acorn-walk: 8.3.2
           chai: 4.4.1
    -      debug: 4.3.4(supports-color@8.1.1)
    +      debug: 4.3.5(supports-color@8.1.1)
           execa: 8.0.1
    -      jsdom: 24.0.0
    +      jsdom: 24.1.0
           local-pkg: 0.5.0
           magic-string: 0.30.10
           pathe: 1.1.2
    -      picocolors: 1.0.0
    +      picocolors: 1.0.1
           std-env: 3.7.0
           strip-literal: 2.1.0
           tinybench: 2.8.0
           tinypool: 0.8.4
    -      vite: 5.2.10(@types/node@20.12.7)
    -      vite-node: 1.5.3(@types/node@20.12.7)
    +      vite: 5.2.13(@types/node@20.14.2)
    +      vite-node: 1.6.0(@types/node@20.14.2)
           why-is-node-running: 2.2.2
         transitivePeerDependencies:
           - less
    @@ -18655,103 +15929,159 @@ snapshots:
           - sugarss
           - supports-color
           - terser
    +    dev: true
     
    -  vscode-json-languageservice@4.2.1:
    +  /vscode-json-languageservice@4.2.1:
    +    resolution: {integrity: sha512-xGmv9QIWs2H8obGbWg+sIPI/3/pFgj/5OWBhNzs00BkYQ9UaB2F6JJaGB/2/YOZJ3BvLXQTC4Q7muqU25QgAhA==}
         dependencies:
           jsonc-parser: 3.2.1
           vscode-languageserver-textdocument: 1.0.11
    -      vscode-languageserver-types: 3.17.3
    +      vscode-languageserver-types: 3.17.5
           vscode-nls: 5.2.0
           vscode-uri: 3.0.8
    +    dev: true
     
    -  vscode-jsonrpc@8.2.0: {}
    +  /vscode-jsonrpc@8.2.0:
    +    resolution: {integrity: sha512-C+r0eKJUIfiDIfwJhria30+TYWPtuHJXHtI7J0YlOmKAo7ogxP20T0zxB7HZQIFhIyvoBPwWskjxrvAtfjyZfA==}
    +    engines: {node: '>=14.0.0'}
     
    -  vscode-languageserver-protocol@3.17.5:
    +  /vscode-languageserver-protocol@3.17.5:
    +    resolution: {integrity: sha512-mb1bvRJN8SVznADSGWM9u/b07H7Ecg0I3OgXDuLdn307rl/J3A9YD6/eYOssqhecL27hK1IPZAsaqh00i/Jljg==}
         dependencies:
           vscode-jsonrpc: 8.2.0
           vscode-languageserver-types: 3.17.5
     
    -  vscode-languageserver-textdocument@1.0.11: {}
    -
    -  vscode-languageserver-types@3.17.3: {}
    +  /vscode-languageserver-textdocument@1.0.11:
    +    resolution: {integrity: sha512-X+8T3GoiwTVlJbicx/sIAF+yuJAqz8VvwJyoMVhwEMoEKE/fkDmrqUgDMyBECcM2A2frVZIUj5HI/ErRXCfOeA==}
     
    -  vscode-languageserver-types@3.17.5: {}
    +  /vscode-languageserver-types@3.17.5:
    +    resolution: {integrity: sha512-Ld1VelNuX9pdF39h2Hgaeb5hEZM2Z3jUrrMgWQAu82jMtZp7p3vJT3BzToKtZI7NgQssZje5o0zryOrhQvzQAg==}
     
    -  vscode-languageserver@9.0.1:
    +  /vscode-languageserver@9.0.1:
    +    resolution: {integrity: sha512-woByF3PDpkHFUreUa7Hos7+pUWdeWMXRd26+ZX2A8cFx6v/JPTtd4/uN0/jB6XQHYaOlHbio03NTHCqrgG5n7g==}
    +    hasBin: true
         dependencies:
           vscode-languageserver-protocol: 3.17.5
     
    -  vscode-nls@5.2.0: {}
    -
    -  vscode-oniguruma@1.7.0: {}
    +  /vscode-nls@5.2.0:
    +    resolution: {integrity: sha512-RAaHx7B14ZU04EU31pT+rKz2/zSl7xMsfIZuo8pd+KZO6PXtQmpevpq3vxvWNcrGbdmhM/rr5Uw5Mz+NBfhVng==}
    +    dev: true
     
    -  vscode-textmate@8.0.0: {}
    +  /vscode-oniguruma@1.7.0:
    +    resolution: {integrity: sha512-L9WMGRfrjOhgHSdOYgCt/yRMsXzLDJSL7BPrOZt73gU0iWO4mpqzqQzOz5srxqTvMBaR0XZTSrVWo4j55Rc6cA==}
    +    dev: true
     
    -  vscode-uri@3.0.8: {}
    +  /vscode-textmate@8.0.0:
    +    resolution: {integrity: sha512-AFbieoL7a5LMqcnOF04ji+rpXadgOXnZsxQr//r83kLPr7biP7am3g9zbaZIaBGwBRWeSvoMD4mgPdX3e4NWBg==}
    +    dev: true
     
    -  vue-demi@0.13.11(vue@3.4.21):
    -    dependencies:
    -      vue: 3.4.21(typescript@5.4.5)
    +  /vscode-uri@3.0.8:
    +    resolution: {integrity: sha512-AyFQ0EVmsOZOlAnxoFOGOq1SQDWAB7C6aqMGS23svWAllfOaxbuFvcT8D1i8z3Gyn8fraVeZNNmN6e9bxxXkKw==}
     
    -  vue-demi@0.14.7(vue@3.4.26):
    +  /vue-demi@0.13.11(vue@3.4.27):
    +    resolution: {integrity: sha512-IR8HoEEGM65YY3ZJYAjMlKygDQn25D5ajNFNoKh9RSDMQtlzCxtfQjdQgv9jjK+m3377SsJXY8ysq8kLCZL25A==}
    +    engines: {node: '>=12'}
    +    hasBin: true
    +    requiresBuild: true
    +    peerDependencies:
    +      '@vue/composition-api': ^1.0.0-rc.1
    +      vue: ^3.0.0-0 || ^2.6.0
    +    peerDependenciesMeta:
    +      '@vue/composition-api':
    +        optional: true
         dependencies:
    -      vue: 3.4.26(typescript@5.4.5)
    +      vue: 3.4.27(typescript@5.4.5)
    +    dev: false
     
    -  vue@3.4.21(typescript@5.4.5):
    +  /vue-demi@0.14.8(vue@3.4.27):
    +    resolution: {integrity: sha512-Uuqnk9YE9SsWeReYqK2alDI5YzciATE0r2SkA6iMAtuXvNTMNACJLJEXNXaEy94ECuBe4Sk6RzRU80kjdbIo1Q==}
    +    engines: {node: '>=12'}
    +    hasBin: true
    +    requiresBuild: true
    +    peerDependencies:
    +      '@vue/composition-api': ^1.0.0-rc.1
    +      vue: ^3.0.0-0 || ^2.6.0
    +    peerDependenciesMeta:
    +      '@vue/composition-api':
    +        optional: true
         dependencies:
    -      '@vue/compiler-dom': 3.4.21
    -      '@vue/compiler-sfc': 3.4.21
    -      '@vue/runtime-dom': 3.4.21
    -      '@vue/server-renderer': 3.4.21(vue@3.4.21)
    -      '@vue/shared': 3.4.21
    -      typescript: 5.4.5
    +      vue: 3.4.27(typescript@5.4.5)
     
    -  vue@3.4.26(typescript@5.4.5):
    +  /vue@3.4.27(typescript@5.4.5):
    +    resolution: {integrity: sha512-8s/56uK6r01r1icG/aEOHqyMVxd1bkYcSe9j8HcKtr/xTOFWvnzIVTehNW+5Yt89f+DLBe4A569pnZLS5HzAMA==}
    +    peerDependencies:
    +      typescript: '*'
    +    peerDependenciesMeta:
    +      typescript:
    +        optional: true
         dependencies:
    -      '@vue/compiler-dom': 3.4.26
    -      '@vue/compiler-sfc': 3.4.26
    -      '@vue/runtime-dom': 3.4.26
    -      '@vue/server-renderer': 3.4.26(vue@3.4.26)
    -      '@vue/shared': 3.4.26
    +      '@vue/compiler-dom': 3.4.27
    +      '@vue/compiler-sfc': 3.4.27
    +      '@vue/runtime-dom': 3.4.27
    +      '@vue/server-renderer': 3.4.27(vue@3.4.27)
    +      '@vue/shared': 3.4.27
           typescript: 5.4.5
     
    -  vuex@4.1.0(vue@3.4.21):
    +  /vuex@4.1.0(vue@3.4.27):
    +    resolution: {integrity: sha512-hmV6UerDrPcgbSy9ORAtNXDr9M4wlNP4pEFKye4ujJF8oqgFFuxDCdOLS3eNoRTtq5O3hoBDh9Doj1bQMYHRbQ==}
    +    peerDependencies:
    +      vue: ^3.2.0
         dependencies:
    -      '@vue/devtools-api': 6.6.1
    -      vue: 3.4.21(typescript@5.4.5)
    +      '@vue/devtools-api': 6.6.3
    +      vue: 3.4.27(typescript@5.4.5)
    +    dev: false
     
    -  w3c-xmlserializer@5.0.0:
    +  /w3c-xmlserializer@5.0.0:
    +    resolution: {integrity: sha512-o8qghlI8NZHU1lLPrpi2+Uq7abh4GGPpYANlalzWxyWteJOCsr/P+oPBA49TOLu5FTZO4d3F9MnWJfiMo4BkmA==}
    +    engines: {node: '>=18'}
         dependencies:
           xml-name-validator: 5.0.0
    +    dev: true
     
    -  wait-on@7.2.0(debug@4.3.4):
    +  /wait-on@7.2.0(debug@4.3.5):
    +    resolution: {integrity: sha512-wCQcHkRazgjG5XoAq9jbTMLpNIjoSlZslrJ2+N9MxDsGEv1HnFoVjOCexL0ESva7Y9cu350j+DWADdk54s4AFQ==}
    +    engines: {node: '>=12.0.0'}
    +    hasBin: true
         dependencies:
    -      axios: 1.6.7(debug@4.3.4)
    -      joi: 17.12.2
    +      axios: 1.7.2(debug@4.3.5)
    +      joi: 17.13.1
           lodash: 4.17.21
           minimist: 1.2.8
           rxjs: 7.8.1
         transitivePeerDependencies:
           - debug
    +    dev: true
     
    -  walker@1.0.8:
    +  /walker@1.0.8:
    +    resolution: {integrity: sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==}
         dependencies:
           makeerror: 1.0.12
    +    dev: true
     
    -  watchpack@2.4.1:
    +  /watchpack@2.4.1:
    +    resolution: {integrity: sha512-8wrBCMtVhqcXP2Sup1ctSkga6uc2Bx0IIvKyT7yTFier5AXHooSI+QyQQAtTb7+E0IUCCKyTFmXqdqgum2XWGg==}
    +    engines: {node: '>=10.13.0'}
         dependencies:
           glob-to-regexp: 0.4.1
           graceful-fs: 4.2.11
    +    dev: true
     
    -  wbuf@1.7.3:
    +  /wbuf@1.7.3:
    +    resolution: {integrity: sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==}
         dependencies:
           minimalistic-assert: 1.0.1
    +    dev: true
     
    -  web-streams-polyfill@3.3.3: {}
    +  /web-streams-polyfill@3.3.3:
    +    resolution: {integrity: sha512-d2JWLCivmZYTSIoge9MsgFCZrt571BikcWGYkjC1khllbTeDlGqZ2D8vD8E/lJa8WGWbb7Plm8/XJYV7IJHZZw==}
    +    engines: {node: '>= 8'}
    +    dev: true
     
    -  webdriver@7.31.1(typescript@5.4.5):
    +  /webdriver@7.31.1(typescript@5.4.5):
    +    resolution: {integrity: sha512-nCdJLxRnYvOMFqTEX7sqQtF/hV/Jgov0Y6ICeOm1DMTlZSRRDaUsBMlEAPkEwif9uBJYdM0znv8qzfX358AGqQ==}
    +    engines: {node: '>=12.0.0'}
         dependencies:
    -      '@types/node': 18.19.31
    +      '@types/node': 18.19.34
           '@wdio/config': 7.31.1(typescript@5.4.5)
           '@wdio/logger': 7.26.0
           '@wdio/protocols': 7.27.0
    @@ -18762,17 +16092,43 @@ snapshots:
           lodash.merge: 4.6.2
         transitivePeerDependencies:
           - typescript
    +    dev: true
     
    -  webidl-conversions@3.0.1: {}
    +  /webidl-conversions@3.0.1:
    +    resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==}
    +    dev: true
     
    -  webidl-conversions@4.0.2: {}
    +  /webidl-conversions@4.0.2:
    +    resolution: {integrity: sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==}
    +    dev: true
     
    -  webidl-conversions@7.0.0: {}
    +  /webidl-conversions@7.0.0:
    +    resolution: {integrity: sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==}
    +    engines: {node: '>=12'}
    +    dev: true
     
    -  webpack-cli@4.10.0(webpack-dev-server@4.15.2)(webpack@5.91.0):
    +  /webpack-cli@4.10.0(webpack-dev-server@4.15.2)(webpack@5.92.0):
    +    resolution: {integrity: sha512-NLhDfH/h4O6UOy+0LSso42xvYypClINuMNBVVzX4vX98TmTaTUxwRbXdhucbFMd2qLaCTcLq/PdYrvi8onw90w==}
    +    engines: {node: '>=10.13.0'}
    +    hasBin: true
    +    peerDependencies:
    +      '@webpack-cli/generators': '*'
    +      '@webpack-cli/migrate': '*'
    +      webpack: 4.x.x || 5.x.x
    +      webpack-bundle-analyzer: '*'
    +      webpack-dev-server: '*'
    +    peerDependenciesMeta:
    +      '@webpack-cli/generators':
    +        optional: true
    +      '@webpack-cli/migrate':
    +        optional: true
    +      webpack-bundle-analyzer:
    +        optional: true
    +      webpack-dev-server:
    +        optional: true
         dependencies:
           '@discoveryjs/json-ext': 0.5.7
    -      '@webpack-cli/configtest': 1.2.0(webpack-cli@4.10.0)(webpack@5.91.0)
    +      '@webpack-cli/configtest': 1.2.0(webpack-cli@4.10.0)(webpack@5.92.0)
           '@webpack-cli/info': 1.5.0(webpack-cli@4.10.0)
           '@webpack-cli/serve': 1.7.0(webpack-cli@4.10.0)(webpack-dev-server@4.15.2)
           colorette: 2.0.20
    @@ -18782,69 +16138,104 @@ snapshots:
           import-local: 3.1.0
           interpret: 2.2.0
           rechoir: 0.7.1
    -      webpack: 5.91.0(esbuild@0.20.2)(webpack-cli@4.10.0)
    -      webpack-dev-server: 4.15.2(webpack-cli@4.10.0)(webpack@5.91.0)
    -      webpack-merge: 5.9.0
    +      webpack: 5.92.0(esbuild@0.20.2)(webpack-cli@4.10.0)
    +      webpack-dev-server: 4.15.2(webpack-cli@4.10.0)(webpack@5.92.0)
    +      webpack-merge: 5.10.0
    +    dev: true
     
    -  webpack-dev-middleware@5.3.4(webpack@5.91.0):
    +  /webpack-dev-middleware@5.3.4(webpack@5.92.0):
    +    resolution: {integrity: sha512-BVdTqhhs+0IfoeAf7EoH5WE+exCmqGerHfDM0IL096Px60Tq2Mn9MAbnaGUe6HiMa41KMCYF19gyzZmBcq/o4Q==}
    +    engines: {node: '>= 12.13.0'}
    +    peerDependencies:
    +      webpack: ^4.0.0 || ^5.0.0
         dependencies:
           colorette: 2.0.20
           memfs: 3.5.3
           mime-types: 2.1.35
           range-parser: 1.2.1
           schema-utils: 4.2.0
    -      webpack: 5.91.0(esbuild@0.20.2)(webpack-cli@4.10.0)
    +      webpack: 5.92.0(esbuild@0.20.2)(webpack-cli@4.10.0)
    +    dev: true
     
    -  webpack-dev-server@4.15.2(webpack-cli@4.10.0)(webpack@5.91.0):
    +  /webpack-dev-server@4.15.2(webpack-cli@4.10.0)(webpack@5.92.0):
    +    resolution: {integrity: sha512-0XavAZbNJ5sDrCbkpWL8mia0o5WPOd2YGtxrEiZkBK9FjLppIUK2TgxK6qGD2P3hUXTJNNPVibrerKcx5WkR1g==}
    +    engines: {node: '>= 12.13.0'}
    +    hasBin: true
    +    peerDependencies:
    +      webpack: ^4.37.0 || ^5.0.0
    +      webpack-cli: '*'
    +    peerDependenciesMeta:
    +      webpack:
    +        optional: true
    +      webpack-cli:
    +        optional: true
         dependencies:
    -      '@types/bonjour': 3.5.10
    -      '@types/connect-history-api-fallback': 1.5.0
    +      '@types/bonjour': 3.5.13
    +      '@types/connect-history-api-fallback': 1.5.4
           '@types/express': 4.17.21
    -      '@types/serve-index': 1.9.1
    -      '@types/serve-static': 1.15.5
    -      '@types/sockjs': 0.3.33
    -      '@types/ws': 8.5.5
    +      '@types/serve-index': 1.9.4
    +      '@types/serve-static': 1.15.7
    +      '@types/sockjs': 0.3.36
    +      '@types/ws': 8.5.10
           ansi-html-community: 0.0.8
    -      bonjour-service: 1.1.1
    +      bonjour-service: 1.2.1
           chokidar: 3.6.0
           colorette: 2.0.20
           compression: 1.7.4
           connect-history-api-fallback: 2.0.0
           default-gateway: 6.0.3
    -      express: 4.19.1
    +      express: 4.19.2
           graceful-fs: 4.2.11
    -      html-entities: 2.4.0
    +      html-entities: 2.5.2
           http-proxy-middleware: 2.0.6(@types/express@4.17.21)
    -      ipaddr.js: 2.1.0
    +      ipaddr.js: 2.2.0
           launch-editor: 2.6.1
           open: 8.4.2
           p-retry: 4.6.2
           rimraf: 3.0.2
           schema-utils: 4.2.0
    -      selfsigned: 2.1.1
    +      selfsigned: 2.4.1
           serve-index: 1.9.1
           sockjs: 0.3.24
           spdy: 4.0.2
    -      webpack: 5.91.0(esbuild@0.20.2)(webpack-cli@4.10.0)
    -      webpack-cli: 4.10.0(webpack-dev-server@4.15.2)(webpack@5.91.0)
    -      webpack-dev-middleware: 5.3.4(webpack@5.91.0)
    -      ws: 8.16.0
    +      webpack: 5.92.0(esbuild@0.20.2)(webpack-cli@4.10.0)
    +      webpack-cli: 4.10.0(webpack-dev-server@4.15.2)(webpack@5.92.0)
    +      webpack-dev-middleware: 5.3.4(webpack@5.92.0)
    +      ws: 8.17.0
         transitivePeerDependencies:
           - bufferutil
           - debug
           - supports-color
           - utf-8-validate
    +    dev: true
     
    -  webpack-merge@5.9.0:
    +  /webpack-merge@5.10.0:
    +    resolution: {integrity: sha512-+4zXKdx7UnO+1jaN4l2lHVD+mFvnlZQP/6ljaJVb4SZiwIKeUnrT5l0gkT8z+n4hKpC+jpOv6O9R+gLtag7pSA==}
    +    engines: {node: '>=10.0.0'}
         dependencies:
           clone-deep: 4.0.1
    +      flat: 5.0.2
           wildcard: 2.0.1
    +    dev: true
     
    -  webpack-sources@3.2.3: {}
    +  /webpack-sources@3.2.3:
    +    resolution: {integrity: sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==}
    +    engines: {node: '>=10.13.0'}
    +    dev: true
     
    -  webpack-virtual-modules@0.5.0: {}
    +  /webpack-virtual-modules@0.6.2:
    +    resolution: {integrity: sha512-66/V2i5hQanC51vBQKPH4aI8NMAcBW59FVBs+rC7eGHupMyfn34q7rZIE+ETlJ+XTevqfUhVVBgSUNSW2flEUQ==}
    +    dev: true
     
    -  webpack@5.91.0(esbuild@0.20.2)(webpack-cli@4.10.0):
    +  /webpack@5.92.0(esbuild@0.20.2)(webpack-cli@4.10.0):
    +    resolution: {integrity: sha512-Bsw2X39MYIgxouNATyVpCNVWBCuUwDgWtN78g6lSdPJRLaQ/PUVm/oXcaRAyY/sMFoKFQrsPeqvTizWtq7QPCA==}
    +    engines: {node: '>=10.13.0'}
    +    hasBin: true
    +    peerDependencies:
    +      webpack-cli: '*'
    +    peerDependenciesMeta:
    +      webpack-cli:
    +        optional: true
         dependencies:
           '@types/eslint-scope': 3.7.7
           '@types/estree': 1.0.5
    @@ -18852,11 +16243,11 @@ snapshots:
           '@webassemblyjs/wasm-edit': 1.12.1
           '@webassemblyjs/wasm-parser': 1.12.1
           acorn: 8.11.3
    -      acorn-import-assertions: 1.9.0(acorn@8.11.3)
    -      browserslist: 4.23.0
    -      chrome-trace-event: 1.0.3
    -      enhanced-resolve: 5.16.0
    -      es-module-lexer: 1.4.1
    +      acorn-import-attributes: 1.9.5(acorn@8.11.3)
    +      browserslist: 4.23.1
    +      chrome-trace-event: 1.0.4
    +      enhanced-resolve: 5.17.0
    +      es-module-lexer: 1.5.3
           eslint-scope: 5.1.1
           events: 3.3.0
           glob-to-regexp: 0.4.1
    @@ -18867,105 +16258,160 @@ snapshots:
           neo-async: 2.6.2
           schema-utils: 3.3.0
           tapable: 2.2.1
    -      terser-webpack-plugin: 5.3.10(esbuild@0.20.2)(webpack@5.91.0)
    +      terser-webpack-plugin: 5.3.10(esbuild@0.20.2)(webpack@5.92.0)
           watchpack: 2.4.1
    -      webpack-cli: 4.10.0(webpack-dev-server@4.15.2)(webpack@5.91.0)
    +      webpack-cli: 4.10.0(webpack-dev-server@4.15.2)(webpack@5.92.0)
           webpack-sources: 3.2.3
         transitivePeerDependencies:
           - '@swc/core'
           - esbuild
           - uglify-js
    +    dev: true
     
    -  websocket-driver@0.7.4:
    +  /websocket-driver@0.7.4:
    +    resolution: {integrity: sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg==}
    +    engines: {node: '>=0.8.0'}
         dependencies:
           http-parser-js: 0.5.8
           safe-buffer: 5.2.1
           websocket-extensions: 0.1.4
    +    dev: true
     
    -  websocket-extensions@0.1.4: {}
    +  /websocket-extensions@0.1.4:
    +    resolution: {integrity: sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==}
    +    engines: {node: '>=0.8.0'}
    +    dev: true
     
    -  whatwg-encoding@3.1.1:
    +  /whatwg-encoding@3.1.1:
    +    resolution: {integrity: sha512-6qN4hJdMwfYBtE3YBTTHhoeuUrDBPZmbQaxWAqSALV/MeEnR5z1xd8UKud2RAkFoPkmB+hli1TZSnyi84xz1vQ==}
    +    engines: {node: '>=18'}
         dependencies:
           iconv-lite: 0.6.3
    +    dev: true
     
    -  whatwg-mimetype@4.0.0: {}
    +  /whatwg-mimetype@4.0.0:
    +    resolution: {integrity: sha512-QaKxh0eNIi2mE9p2vEdzfagOKHCcj1pJ56EEHGQOVxp8r9/iszLUUV7v89x9O1p/T+NlTM5W7jW6+cz4Fq1YVg==}
    +    engines: {node: '>=18'}
    +    dev: true
     
    -  whatwg-url@14.0.0:
    +  /whatwg-url@14.0.0:
    +    resolution: {integrity: sha512-1lfMEm2IEr7RIV+f4lUNPOqfFL+pO+Xw3fJSqmjX9AbXcXcYOkCe1P6+9VBZB6n94af16NfZf+sSk0JCBZC9aw==}
    +    engines: {node: '>=18'}
         dependencies:
           tr46: 5.0.0
           webidl-conversions: 7.0.0
    +    dev: true
     
    -  whatwg-url@5.0.0:
    +  /whatwg-url@5.0.0:
    +    resolution: {integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==}
         dependencies:
           tr46: 0.0.3
           webidl-conversions: 3.0.1
    +    dev: true
     
    -  whatwg-url@7.1.0:
    +  /whatwg-url@7.1.0:
    +    resolution: {integrity: sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==}
         dependencies:
           lodash.sortby: 4.7.0
           tr46: 1.0.1
           webidl-conversions: 4.0.2
    +    dev: true
     
    -  which-boxed-primitive@1.0.2:
    +  /which-boxed-primitive@1.0.2:
    +    resolution: {integrity: sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==}
         dependencies:
           is-bigint: 1.0.4
           is-boolean-object: 1.1.2
           is-number-object: 1.0.7
           is-string: 1.0.7
           is-symbol: 1.0.4
    +    dev: true
     
    -  which-module@2.0.1: {}
    +  /which-module@2.0.1:
    +    resolution: {integrity: sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ==}
    +    dev: true
     
    -  which-typed-array@1.1.15:
    +  /which-typed-array@1.1.15:
    +    resolution: {integrity: sha512-oV0jmFtUky6CXfkqehVvBP/LSWJ2sy4vWMioiENyJLePrBO/yKyV9OyJySfAKosh+RYkIl5zJCNZ8/4JncrpdA==}
    +    engines: {node: '>= 0.4'}
         dependencies:
           available-typed-arrays: 1.0.7
           call-bind: 1.0.7
           for-each: 0.3.3
           gopd: 1.0.1
           has-tostringtag: 1.0.2
    +    dev: true
     
    -  which@1.3.1:
    +  /which@1.3.1:
    +    resolution: {integrity: sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==}
    +    hasBin: true
         dependencies:
           isexe: 2.0.0
    +    dev: true
     
    -  which@2.0.2:
    +  /which@2.0.2:
    +    resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==}
    +    engines: {node: '>= 8'}
    +    hasBin: true
         dependencies:
           isexe: 2.0.0
     
    -  why-is-node-running@2.2.2:
    +  /why-is-node-running@2.2.2:
    +    resolution: {integrity: sha512-6tSwToZxTOcotxHeA+qGCq1mVzKR3CwcJGmVcY+QE8SHy6TnpFnh8PAvPNHYr7EcuVeG0QSMxtYCuO1ta/G/oA==}
    +    engines: {node: '>=8'}
    +    hasBin: true
         dependencies:
           siginfo: 2.0.0
           stackback: 0.0.2
    +    dev: true
     
    -  widest-line@3.1.0:
    +  /widest-line@3.1.0:
    +    resolution: {integrity: sha512-NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg==}
    +    engines: {node: '>=8'}
         dependencies:
           string-width: 4.2.3
    +    dev: true
    +
    +  /wildcard@2.0.1:
    +    resolution: {integrity: sha512-CC1bOL87PIWSBhDcTrdeLo6eGT7mCFtrg0uIJtqJUFyK+eJnzl8A1niH56uu7KMa5XFrtiV+AQuHO3n7DsHnLQ==}
    +    dev: true
     
    -  wildcard@2.0.1: {}
    +  /word-wrap@1.2.5:
    +    resolution: {integrity: sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==}
    +    engines: {node: '>=0.10.0'}
    +    dev: true
     
    -  wordwrap@1.0.0: {}
    +  /wordwrap@1.0.0:
    +    resolution: {integrity: sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==}
    +    dev: true
     
    -  workbox-background-sync@7.1.0:
    +  /workbox-background-sync@7.1.0:
    +    resolution: {integrity: sha512-rMbgrzueVWDFcEq1610YyDW71z0oAXLfdRHRQcKw4SGihkfOK0JUEvqWHFwA6rJ+6TClnMIn7KQI5PNN1XQXwQ==}
         dependencies:
           idb: 7.1.1
           workbox-core: 7.1.0
    +    dev: true
     
    -  workbox-broadcast-update@7.1.0:
    +  /workbox-broadcast-update@7.1.0:
    +    resolution: {integrity: sha512-O36hIfhjej/c5ar95pO67k1GQw0/bw5tKP7CERNgK+JdxBANQhDmIuOXZTNvwb2IHBx9hj2kxvcDyRIh5nzOgQ==}
         dependencies:
           workbox-core: 7.1.0
    +    dev: true
     
    -  workbox-build@7.1.0:
    +  /workbox-build@7.1.1:
    +    resolution: {integrity: sha512-WdkVdC70VMpf5NBCtNbiwdSZeKVuhTEd5PV3mAwpTQCGAB5XbOny1P9egEgNdetv4srAMmMKjvBk4RD58LpooA==}
    +    engines: {node: '>=16.0.0'}
         dependencies:
    -      '@apideck/better-ajv-errors': 0.3.6(ajv@8.13.0)
    -      '@babel/core': 7.24.5
    -      '@babel/preset-env': 7.24.5(@babel/core@7.24.5)
    -      '@babel/runtime': 7.24.5
    -      '@rollup/plugin-babel': 5.3.1(@babel/core@7.24.5)(rollup@2.79.1)
    +      '@apideck/better-ajv-errors': 0.3.6(ajv@8.16.0)
    +      '@babel/core': 7.24.7
    +      '@babel/preset-env': 7.24.7(@babel/core@7.24.7)
    +      '@babel/runtime': 7.24.7
    +      '@rollup/plugin-babel': 5.3.1(@babel/core@7.24.7)(rollup@2.79.1)
           '@rollup/plugin-node-resolve': 15.2.3(rollup@2.79.1)
           '@rollup/plugin-replace': 2.4.2(rollup@2.79.1)
           '@rollup/plugin-terser': 0.4.4(rollup@2.79.1)
           '@surma/rollup-plugin-off-main-thread': 2.2.3
    -      ajv: 8.13.0
    +      ajv: 8.16.0
           common-tags: 1.8.2
           fast-json-stable-stringify: 2.1.0
           fs-extra: 9.1.0
    @@ -18996,42 +16442,56 @@ snapshots:
         transitivePeerDependencies:
           - '@types/babel__core'
           - supports-color
    +    dev: true
     
    -  workbox-cacheable-response@7.1.0:
    +  /workbox-cacheable-response@7.1.0:
    +    resolution: {integrity: sha512-iwsLBll8Hvua3xCuBB9h92+/e0wdsmSVgR2ZlvcfjepZWwhd3osumQB3x9o7flj+FehtWM2VHbZn8UJeBXXo6Q==}
         dependencies:
           workbox-core: 7.1.0
    +    dev: true
     
    -  workbox-core@7.0.0: {}
    -
    -  workbox-core@7.1.0: {}
    +  /workbox-core@7.1.0:
    +    resolution: {integrity: sha512-5KB4KOY8rtL31nEF7BfvU7FMzKT4B5TkbYa2tzkS+Peqj0gayMT9SytSFtNzlrvMaWgv6y/yvP9C0IbpFjV30Q==}
    +    dev: true
     
    -  workbox-expiration@7.1.0:
    +  /workbox-expiration@7.1.0:
    +    resolution: {integrity: sha512-m5DcMY+A63rJlPTbbBNtpJ20i3enkyOtSgYfv/l8h+D6YbbNiA0zKEkCUaMsdDlxggla1oOfRkyqTvl5Ni5KQQ==}
         dependencies:
           idb: 7.1.1
           workbox-core: 7.1.0
    +    dev: true
     
    -  workbox-google-analytics@7.1.0:
    +  /workbox-google-analytics@7.1.0:
    +    resolution: {integrity: sha512-FvE53kBQHfVTcZyczeBVRexhh7JTkyQ8HAvbVY6mXd2n2A7Oyz/9fIwnY406ZcDhvE4NFfKGjW56N4gBiqkrew==}
         dependencies:
           workbox-background-sync: 7.1.0
           workbox-core: 7.1.0
           workbox-routing: 7.1.0
           workbox-strategies: 7.1.0
    +    dev: true
     
    -  workbox-navigation-preload@7.1.0:
    +  /workbox-navigation-preload@7.1.0:
    +    resolution: {integrity: sha512-4wyAbo0vNI/X0uWNJhCMKxnPanNyhybsReMGN9QUpaePLTiDpKxPqFxl4oUmBNddPwIXug01eTSLVIFXimRG/A==}
         dependencies:
           workbox-core: 7.1.0
    +    dev: true
     
    -  workbox-precaching@7.1.0:
    +  /workbox-precaching@7.1.0:
    +    resolution: {integrity: sha512-LyxzQts+UEpgtmfnolo0hHdNjoB7EoRWcF7EDslt+lQGd0lW4iTvvSe3v5JiIckQSB5KTW5xiCqjFviRKPj1zA==}
         dependencies:
           workbox-core: 7.1.0
           workbox-routing: 7.1.0
           workbox-strategies: 7.1.0
    +    dev: true
     
    -  workbox-range-requests@7.1.0:
    +  /workbox-range-requests@7.1.0:
    +    resolution: {integrity: sha512-m7+O4EHolNs5yb/79CrnwPR/g/PRzMFYEdo01LqwixVnc/sbzNSvKz0d04OE3aMRel1CwAAZQheRsqGDwATgPQ==}
         dependencies:
           workbox-core: 7.1.0
    +    dev: true
     
    -  workbox-recipes@7.1.0:
    +  /workbox-recipes@7.1.0:
    +    resolution: {integrity: sha512-NRrk4ycFN9BHXJB6WrKiRX3W3w75YNrNrzSX9cEZgFB5ubeGoO8s/SDmOYVrFYp9HMw6sh1Pm3eAY/1gVS8YLg==}
         dependencies:
           workbox-cacheable-response: 7.1.0
           workbox-core: 7.1.0
    @@ -19039,108 +16499,195 @@ snapshots:
           workbox-precaching: 7.1.0
           workbox-routing: 7.1.0
           workbox-strategies: 7.1.0
    +    dev: true
     
    -  workbox-routing@7.1.0:
    +  /workbox-routing@7.1.0:
    +    resolution: {integrity: sha512-oOYk+kLriUY2QyHkIilxUlVcFqwduLJB7oRZIENbqPGeBP/3TWHYNNdmGNhz1dvKuw7aqvJ7CQxn27/jprlTdg==}
         dependencies:
           workbox-core: 7.1.0
    +    dev: true
     
    -  workbox-strategies@7.1.0:
    +  /workbox-strategies@7.1.0:
    +    resolution: {integrity: sha512-/UracPiGhUNehGjRm/tLUQ+9PtWmCbRufWtV0tNrALuf+HZ4F7cmObSEK+E4/Bx1p8Syx2tM+pkIrvtyetdlew==}
         dependencies:
           workbox-core: 7.1.0
    +    dev: true
     
    -  workbox-streams@7.1.0:
    +  /workbox-streams@7.1.0:
    +    resolution: {integrity: sha512-WyHAVxRXBMfysM8ORwiZnI98wvGWTVAq/lOyBjf00pXFvG0mNaVz4Ji+u+fKa/mf1i2SnTfikoYKto4ihHeS6w==}
         dependencies:
           workbox-core: 7.1.0
           workbox-routing: 7.1.0
    +    dev: true
     
    -  workbox-sw@7.1.0: {}
    -
    -  workbox-window@7.0.0:
    -    dependencies:
    -      '@types/trusted-types': 2.0.3
    -      workbox-core: 7.0.0
    +  /workbox-sw@7.1.0:
    +    resolution: {integrity: sha512-Hml/9+/njUXBglv3dtZ9WBKHI235AQJyLBV1G7EFmh4/mUdSQuXui80RtjDeVRrXnm/6QWgRUEHG3/YBVbxtsA==}
    +    dev: true
     
    -  workbox-window@7.1.0:
    +  /workbox-window@7.1.0:
    +    resolution: {integrity: sha512-ZHeROyqR+AS5UPzholQRDttLFqGMwP0Np8MKWAdyxsDETxq3qOAyXvqessc3GniohG6e0mAqSQyKOHmT8zPF7g==}
         dependencies:
           '@types/trusted-types': 2.0.7
           workbox-core: 7.1.0
    +    dev: true
     
    -  wrap-ansi@6.2.0:
    +  /wrap-ansi@6.2.0:
    +    resolution: {integrity: sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==}
    +    engines: {node: '>=8'}
         dependencies:
           ansi-styles: 4.3.0
           string-width: 4.2.3
           strip-ansi: 6.0.1
    +    dev: true
     
    -  wrap-ansi@7.0.0:
    +  /wrap-ansi@7.0.0:
    +    resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==}
    +    engines: {node: '>=10'}
         dependencies:
           ansi-styles: 4.3.0
           string-width: 4.2.3
           strip-ansi: 6.0.1
     
    -  wrap-ansi@8.1.0:
    +  /wrap-ansi@8.1.0:
    +    resolution: {integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==}
    +    engines: {node: '>=12'}
         dependencies:
           ansi-styles: 6.2.1
           string-width: 5.1.2
           strip-ansi: 7.1.0
     
    -  wrap-ansi@9.0.0:
    +  /wrap-ansi@9.0.0:
    +    resolution: {integrity: sha512-G8ura3S+3Z2G+mkgNRq8dqaFZAuxfsxpBB8OCTGRTCtp+l/v9nbFNmCUP1BZMts3G1142MsZfn6eeUKrr4PD1Q==}
    +    engines: {node: '>=18'}
         dependencies:
           ansi-styles: 6.2.1
           string-width: 7.1.0
           strip-ansi: 7.1.0
    +    dev: true
     
    -  wrappy@1.0.2: {}
    +  /wrappy@1.0.2:
    +    resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==}
    +    dev: true
     
    -  write-file-atomic@3.0.3:
    +  /write-file-atomic@3.0.3:
    +    resolution: {integrity: sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==}
         dependencies:
           imurmurhash: 0.1.4
           is-typedarray: 1.0.0
           signal-exit: 3.0.7
           typedarray-to-buffer: 3.1.5
    +    dev: true
     
    -  write-file-atomic@4.0.2:
    +  /write-file-atomic@4.0.2:
    +    resolution: {integrity: sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==}
    +    engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0}
         dependencies:
           imurmurhash: 0.1.4
           signal-exit: 3.0.7
    +    dev: true
     
    -  ws@8.13.0: {}
    +  /ws@8.13.0:
    +    resolution: {integrity: sha512-x9vcZYTrFPC7aSIbj7sRCYo7L/Xb8Iy+pW0ng0wt2vCJv7M9HOMy0UoN3rr+IFC7hb7vXoqS+P9ktyLLLhO+LA==}
    +    engines: {node: '>=10.0.0'}
    +    peerDependencies:
    +      bufferutil: ^4.0.1
    +      utf-8-validate: '>=5.0.2'
    +    peerDependenciesMeta:
    +      bufferutil:
    +        optional: true
    +      utf-8-validate:
    +        optional: true
    +    dev: true
     
    -  ws@8.16.0: {}
    +  /ws@8.17.0:
    +    resolution: {integrity: sha512-uJq6108EgZMAl20KagGkzCKfMEjxmKvZHG7Tlq0Z6nOky7YF7aq4mOx6xK8TJ/i1LeK4Qus7INktacctDgY8Ow==}
    +    engines: {node: '>=10.0.0'}
    +    peerDependencies:
    +      bufferutil: ^4.0.1
    +      utf-8-validate: '>=5.0.2'
    +    peerDependenciesMeta:
    +      bufferutil:
    +        optional: true
    +      utf-8-validate:
    +        optional: true
    +    dev: true
     
    -  ws@8.5.0: {}
    +  /ws@8.5.0:
    +    resolution: {integrity: sha512-BWX0SWVgLPzYwF8lTzEy1egjhS4S4OEAHfsO8o65WOVsrnSRGaSiUaa9e0ggGlkMTtBlmOpEXiie9RUcBO86qg==}
    +    engines: {node: '>=10.0.0'}
    +    peerDependencies:
    +      bufferutil: ^4.0.1
    +      utf-8-validate: ^5.0.2
    +    peerDependenciesMeta:
    +      bufferutil:
    +        optional: true
    +      utf-8-validate:
    +        optional: true
    +    dev: true
     
    -  xdg-basedir@5.1.0: {}
    +  /xdg-basedir@5.1.0:
    +    resolution: {integrity: sha512-GCPAHLvrIH13+c0SuacwvRYj2SxJXQ4kaVTT5xgL3kPrz56XxkF21IGhjSE1+W0aw7gpBWRGXLCPnPby6lSpmQ==}
    +    engines: {node: '>=12'}
    +    dev: true
     
    -  xml-name-validator@5.0.0: {}
    +  /xml-name-validator@5.0.0:
    +    resolution: {integrity: sha512-EvGK8EJ3DhaHfbRlETOWAS5pO9MZITeauHKJyb8wyajUfQUenkIg2MvLDTZ4T/TgIcm3HU0TFBgWWboAZ30UHg==}
    +    engines: {node: '>=18'}
    +    dev: true
     
    -  xmlbuilder@15.1.1: {}
    +  /xmlbuilder@15.1.1:
    +    resolution: {integrity: sha512-yMqGBqtXyeN1e3TGYvgNgDVZ3j84W4cwkOXQswghol6APgZWaff9lnbvN7MHYJOiXsvGPXtjTYJEiC9J2wv9Eg==}
    +    engines: {node: '>=8.0'}
    +    dev: true
     
    -  xmlchars@2.2.0: {}
    +  /xmlchars@2.2.0:
    +    resolution: {integrity: sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==}
    +    dev: true
     
    -  xxhashjs@0.2.2:
    +  /xxhashjs@0.2.2:
    +    resolution: {integrity: sha512-AkTuIuVTET12tpsVIQo+ZU6f/qDmKuRUcjaqR+OIvm+aCBsZ95i7UVY5WJ9TMsSaZ0DA2WxoZ4acu0sPH+OKAw==}
         dependencies:
           cuint: 0.2.2
    +    dev: true
     
    -  y18n@4.0.3: {}
    -
    -  y18n@5.0.8: {}
    +  /y18n@4.0.3:
    +    resolution: {integrity: sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==}
    +    dev: true
     
    -  yallist@3.1.1: {}
    +  /y18n@5.0.8:
    +    resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==}
    +    engines: {node: '>=10'}
    +    dev: true
     
    -  yallist@4.0.0: {}
    +  /yallist@3.1.1:
    +    resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==}
    +    dev: true
     
    -  yaml@2.3.4: {}
    +  /yallist@4.0.0:
    +    resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==}
    +    dev: true
     
    -  yaml@2.4.1: {}
    +  /yaml@2.4.5:
    +    resolution: {integrity: sha512-aBx2bnqDzVOyNKfsysjA2ms5ZlnjSAW2eG3/L5G/CSujfjLJTJsEw1bGw8kCf04KodQWk1pxlGnZ56CRxiawmg==}
    +    engines: {node: '>= 14'}
    +    hasBin: true
     
    -  yargs-parser@18.1.3:
    +  /yargs-parser@18.1.3:
    +    resolution: {integrity: sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==}
    +    engines: {node: '>=6'}
         dependencies:
           camelcase: 5.3.1
           decamelize: 1.2.0
    +    dev: true
     
    -  yargs-parser@21.1.1: {}
    +  /yargs-parser@21.1.1:
    +    resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==}
    +    engines: {node: '>=12'}
    +    dev: true
     
    -  yargs@15.4.1:
    +  /yargs@15.4.1:
    +    resolution: {integrity: sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==}
    +    engines: {node: '>=8'}
         dependencies:
           cliui: 6.0.0
           decamelize: 1.2.0
    @@ -19153,8 +16700,11 @@ snapshots:
           which-module: 2.0.1
           y18n: 4.0.3
           yargs-parser: 18.1.3
    +    dev: true
     
    -  yargs@17.7.2:
    +  /yargs@17.7.2:
    +    resolution: {integrity: sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==}
    +    engines: {node: '>=12'}
         dependencies:
           cliui: 8.0.1
           escalade: 3.1.2
    @@ -19163,14 +16713,25 @@ snapshots:
           string-width: 4.2.3
           y18n: 5.0.8
           yargs-parser: 21.1.1
    +    dev: true
     
    -  yauzl@2.10.0:
    +  /yauzl@2.10.0:
    +    resolution: {integrity: sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==}
         dependencies:
           buffer-crc32: 0.2.13
           fd-slicer: 1.1.0
    +    dev: true
     
    -  yocto-queue@0.1.0: {}
    +  /yocto-queue@0.1.0:
    +    resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==}
    +    engines: {node: '>=10'}
    +    dev: true
     
    -  yocto-queue@1.0.0: {}
    +  /yocto-queue@1.0.0:
    +    resolution: {integrity: sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==}
    +    engines: {node: '>=12.20'}
    +    dev: true
     
    -  zwitch@2.0.4: {}
    +  /zwitch@2.0.4:
    +    resolution: {integrity: sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==}
    +    dev: true
    
    From 926762a80047b7614ead9d663e710ad521c366ff Mon Sep 17 00:00:00 2001
    From: Knut Sveidqvist 
    Date: Thu, 13 Jun 2024 14:27:10 +0200
    Subject: [PATCH 492/789] 5237 Fixes after visual tests
    
    ---
     cypress/platform/knsv2.html | 24 ++++++++----------------
     1 file changed, 8 insertions(+), 16 deletions(-)
    
    diff --git a/cypress/platform/knsv2.html b/cypress/platform/knsv2.html
    index 9c91100bbe..e5fdf92b52 100644
    --- a/cypress/platform/knsv2.html
    +++ b/cypress/platform/knsv2.html
    @@ -77,12 +77,8 @@
       
         
     flowchart LR
    -subgraph Apa["Apa"]
    -    A["Start"]
    -    B["This is B"]
    -end
    -    A --> B & C["C"]
    -    Apa --> C
    +
    +    Apa --AA--> C
           
    @@ -131,7 +127,7 @@
     A --> B & C["C"]
           
    -
    +    
     stateDiagram
     direction LR
           state Gorilla0 {
    @@ -142,6 +138,7 @@
           }
           Apa0 --> C0
           A0 --> C0
    +      C1: "`This is C`"
           
    @@ -182,14 +179,9 @@
     
           
    -
    +    
     flowchart LR
    - subgraph Apa["Apa"]
    -        A["Start"]
    -        B["This is B"]
    -  end
    -    A --> B & C["C"]
    -    Apa --> C
    +    Apa --Hello--> C
     
           
    @@ -327,13 +319,13 @@ // handdrawnSeed: 12, // look: 'handdrawn', // 'elk.nodePlacement.strategy': 'NETWORK_SIMPLEX', - layout: 'dagre', + // layout: 'dagre', // layout: 'elk', // layout: 'fixed', // htmlLabels: false, flowchart: { titleTopMargin: 10 }, // fontFamily: 'Caveat', - fontFamily: 'Kalam', + // fontFamily: 'Kalam', // fontFamily: 'courier', sequence: { actorFontFamily: 'courier', From 94512c0780d2dc7fe141385591b0864f003a34ed Mon Sep 17 00:00:00 2001 From: Ashish Jain Date: Thu, 13 Jun 2024 14:50:52 +0200 Subject: [PATCH 493/789] Fix lint issues --- package.json | 6 +- packages/mermaid/src/config.type.ts | 2 + .../src/diagrams/flowchart/elk/detector.ts | 2 +- .../mermaid/src/diagrams/flowchart/flowDb.ts | 2 +- .../src/diagrams/flowchart/flowDetector-v2.ts | 1 + .../state/stateRenderer-v3-unified.ts | 3 +- .../rendering-elements/nodes.js | 1 - .../mermaid/src/schemas/config.schema.yaml | 11 + pnpm-lock.yaml | 19458 +++++++++------- 9 files changed, 10491 insertions(+), 8995 deletions(-) diff --git a/package.json b/package.json index 4774130f02..64e6e07cb3 100644 --- a/package.json +++ b/package.json @@ -25,8 +25,8 @@ "dev:vite": "tsx .vite/server.ts", "dev:coverage": "pnpm coverage:cypress:clean && VITE_COVERAGE=true pnpm dev:vite", "release": "pnpm build", - "lint": "cross-env NODE_OPTIONS=--max_old_space_size=8192 eslint --cache --cache-strategy content . && pnpm lint:jison && prettier --cache --check .", - "lint:fix": "cross-env NODE_OPTIONS=--max_old_space_size=8192 eslint --cache --cache-strategy content --fix . && prettier --write . && tsx scripts/fixCSpell.ts", + "lint": "cross-env NODE_OPTIONS=--max_old_space_size=48192 eslint --cache --cache-strategy content . && pnpm lint:jison && prettier --cache --check .", + "lint:fix": "cross-env NODE_OPTIONS=--max_old_space_size=48192 eslint --cache --cache-strategy content --fix . && prettier --write . && tsx scripts/fixCSpell.ts", "lint:jison": "tsx ./scripts/jison/lint.mts", "contributors": "tsx scripts/updateContributors.ts", "cypress": "cypress run", @@ -127,4 +127,4 @@ "nyc": { "report-dir": "coverage/cypress" } -} \ No newline at end of file +} diff --git a/packages/mermaid/src/config.type.ts b/packages/mermaid/src/config.type.ts index afe6361441..20b9634c25 100644 --- a/packages/mermaid/src/config.type.ts +++ b/packages/mermaid/src/config.type.ts @@ -725,6 +725,8 @@ export interface StateDiagramConfig extends BaseDiagramConfig { textHeight?: number; titleShift?: number; noteMargin?: number; + nodeSpacing?: number; + rankSpacing?: number; forkWidth?: number; forkHeight?: number; miniPadding?: number; diff --git a/packages/mermaid/src/diagrams/flowchart/elk/detector.ts b/packages/mermaid/src/diagrams/flowchart/elk/detector.ts index b476ff11ba..11c5b907e7 100644 --- a/packages/mermaid/src/diagrams/flowchart/elk/detector.ts +++ b/packages/mermaid/src/diagrams/flowchart/elk/detector.ts @@ -26,7 +26,7 @@ const detector: DiagramDetector = (txt, config): boolean => { } return false; }; - +// @ts-ignore - TODO: Fix after refactor const loader: DiagramLoader = async () => { const { diagram } = await import('../flowDiagram-v2.js'); return { id, diagram }; diff --git a/packages/mermaid/src/diagrams/flowchart/flowDb.ts b/packages/mermaid/src/diagrams/flowchart/flowDb.ts index 65b675a9d1..fe42b3c1ed 100644 --- a/packages/mermaid/src/diagrams/flowchart/flowDb.ts +++ b/packages/mermaid/src/diagrams/flowchart/flowDb.ts @@ -852,7 +852,7 @@ export const getData = () => { const n = getVertices(); n.forEach((vertex) => { - addNodeFromVertex(vertex, nodes, parentDB, subGraphDB, config, config.look); + addNodeFromVertex(vertex, nodes, parentDB, subGraphDB, config, config.look || 'classic'); }); const e = getEdges(); diff --git a/packages/mermaid/src/diagrams/flowchart/flowDetector-v2.ts b/packages/mermaid/src/diagrams/flowchart/flowDetector-v2.ts index dda5a67f0d..fa4decf6b4 100644 --- a/packages/mermaid/src/diagrams/flowchart/flowDetector-v2.ts +++ b/packages/mermaid/src/diagrams/flowchart/flowDetector-v2.ts @@ -18,6 +18,7 @@ const detector: DiagramDetector = (txt, config) => { return /^\s*flowchart/.test(txt); }; +// @ts-ignore - TODO: Fix after refactor const loader: DiagramLoader = async () => { const { diagram } = await import('./flowDiagram-v2.js'); return { id, diagram }; diff --git a/packages/mermaid/src/diagrams/state/stateRenderer-v3-unified.ts b/packages/mermaid/src/diagrams/state/stateRenderer-v3-unified.ts index 4ab71e4e29..938dcd0167 100644 --- a/packages/mermaid/src/diagrams/state/stateRenderer-v3-unified.ts +++ b/packages/mermaid/src/diagrams/state/stateRenderer-v3-unified.ts @@ -69,9 +69,8 @@ export const draw = async function (text: string, id: string, _version: string, data4Layout.direction = DIR; // TODO: Should we move these two to baseConfig? These types are not there in StateConfig. - // @ts-expect-error TODO: Will be fixed after config refactor + data4Layout.nodeSpacing = conf?.nodeSpacing || 50; - // @ts-expect-error TODO: Will be fixed after config refactor data4Layout.rankSpacing = conf?.rankSpacing || 50; data4Layout.markers = ['barb']; data4Layout.diagramId = id; diff --git a/packages/mermaid/src/rendering-util/rendering-elements/nodes.js b/packages/mermaid/src/rendering-util/rendering-elements/nodes.js index 9878a9da97..c9fb0c529a 100644 --- a/packages/mermaid/src/rendering-util/rendering-elements/nodes.js +++ b/packages/mermaid/src/rendering-util/rendering-elements/nodes.js @@ -103,7 +103,6 @@ export const clear = () => { }; export const positionNode = (node) => { - console.log('Position node', node, node.diff); const el = nodeElems[node.id]; log.trace( diff --git a/packages/mermaid/src/schemas/config.schema.yaml b/packages/mermaid/src/schemas/config.schema.yaml index 107a0e2ecb..398b32bfed 100644 --- a/packages/mermaid/src/schemas/config.schema.yaml +++ b/packages/mermaid/src/schemas/config.schema.yaml @@ -52,6 +52,7 @@ required: - sankey - packet - block + - look properties: theme: description: | @@ -1291,6 +1292,16 @@ $defs: # JSON Schema definition (maybe we should move these to a separate file) noteMargin: type: number default: 10 + nodeSpacing: + type: integer + minimum: 0 + # should the default value be 50? + # see https://github.com/mermaid-js/mermaid/blob/7647ae317a7b2130e32777248d25a9c4d24b8f9f/packages/mermaid/src/diagrams/class/classRenderer-v2.ts#L258 + rankSpacing: + type: integer + minimum: 0 + # should the default value be 50? + # see https://github.com/mermaid-js/mermaid/blob/7647ae317a7b2130e32777248d25a9c4d24b8f9f/packages/mermaid/src/diagrams/class/classRenderer-v2.ts#L259 forkWidth: type: number default: 70 diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 68e1dacf9b..03bf0223ee 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -1,4 +1,4 @@ -lockfileVersion: '6.0' +lockfileVersion: '9.0' settings: autoInstallPeers: true @@ -10,16 +10,16 @@ importers: devDependencies: '@applitools/eyes-cypress': specifier: ^3.44.4 - version: 3.44.4(typescript@5.4.5) + version: 3.44.4(encoding@0.1.13)(typescript@5.4.5) '@cspell/eslint-plugin': specifier: ^8.6.0 version: 8.8.4(eslint@8.57.0) '@cypress/code-coverage': specifier: ^3.12.30 - version: 3.12.39(@babel/core@7.24.7)(@babel/preset-env@7.24.7)(babel-loader@9.1.3)(cypress@13.11.0)(webpack@5.92.0) + version: 3.12.39(@babel/core@7.24.7)(@babel/preset-env@7.24.7(@babel/core@7.24.7))(babel-loader@9.1.3(@babel/core@7.24.7)(webpack@5.92.0(esbuild@0.20.2)))(cypress@13.11.0)(webpack@5.92.0(esbuild@0.20.2)) '@rollup/plugin-typescript': specifier: ^11.1.6 - version: 11.1.6(typescript@5.4.5) + version: 11.1.6(rollup@4.18.0)(tslib@2.6.3)(typescript@5.4.5) '@types/cors': specifier: ^2.8.17 version: 2.8.17 @@ -49,13 +49,13 @@ importers: version: 4.2.4 '@typescript-eslint/eslint-plugin': specifier: ^7.3.1 - version: 7.13.0(@typescript-eslint/parser@7.13.0)(eslint@8.57.0)(typescript@5.4.5) + version: 7.13.0(@typescript-eslint/parser@7.13.0(eslint@8.57.0)(typescript@5.4.5))(eslint@8.57.0)(typescript@5.4.5) '@typescript-eslint/parser': specifier: ^7.3.1 version: 7.13.0(eslint@8.57.0)(typescript@5.4.5) '@vitest/coverage-v8': specifier: ^1.4.0 - version: 1.6.0(vitest@1.6.0) + version: 1.6.0(vitest@1.6.0(@types/node@20.14.2)(@vitest/ui@1.6.0)(jsdom@24.1.0)(terser@5.31.1)) '@vitest/spy': specifier: ^1.4.0 version: 1.6.0 @@ -85,7 +85,7 @@ importers: version: 13.11.0 cypress-image-snapshot: specifier: ^4.0.1 - version: 4.0.1(cypress@13.11.0)(jest@29.7.0) + version: 4.0.1(cypress@13.11.0)(jest@29.7.0(@types/node@20.14.2)) esbuild: specifier: ^0.20.2 version: 0.20.2 @@ -103,7 +103,7 @@ importers: version: 8.1.1 eslint-plugin-jest: specifier: ^27.9.0 - version: 27.9.0(@typescript-eslint/eslint-plugin@7.13.0)(eslint@8.57.0)(jest@29.7.0)(typescript@5.4.5) + version: 27.9.0(@typescript-eslint/eslint-plugin@7.13.0(@typescript-eslint/parser@7.13.0(eslint@8.57.0)(typescript@5.4.5))(eslint@8.57.0)(typescript@5.4.5))(eslint@8.57.0)(jest@29.7.0(@types/node@20.14.2))(typescript@5.4.5) eslint-plugin-jsdoc: specifier: ^48.2.1 version: 48.2.9(eslint@8.57.0) @@ -175,7 +175,7 @@ importers: version: 5.0.7 rollup-plugin-visualizer: specifier: ^5.12.0 - version: 5.12.0 + version: 5.12.0(rollup@4.18.0) start-server-and-test: specifier: ^2.0.3 version: 2.0.4 @@ -187,13 +187,13 @@ importers: version: 5.4.5 vite: specifier: ^5.2.3 - version: 5.2.13(@types/node@20.14.2) + version: 5.2.13(@types/node@20.14.2)(terser@5.31.1) vite-plugin-istanbul: specifier: ^6.0.0 - version: 6.0.2(vite@5.2.13) + version: 6.0.2(vite@5.2.13(@types/node@20.14.2)(terser@5.31.1)) vitest: specifier: ^1.4.0 - version: 1.6.0(@types/node@20.14.2)(@vitest/ui@1.6.0)(jsdom@24.1.0) + version: 1.6.0(@types/node@20.14.2)(@vitest/ui@1.6.0)(jsdom@24.1.0)(terser@5.31.1) packages/mermaid: dependencies: @@ -299,7 +299,7 @@ importers: version: 9.0.8 '@typescript-eslint/eslint-plugin': specifier: ^7.3.1 - version: 7.13.0(@typescript-eslint/parser@7.13.0)(eslint@8.57.0)(typescript@5.4.5) + version: 7.13.0(@typescript-eslint/parser@7.13.0(eslint@8.57.0)(typescript@5.4.5))(eslint@8.57.0)(typescript@5.4.5) '@typescript-eslint/parser': specifier: ^7.3.1 version: 7.13.0(eslint@8.57.0)(typescript@5.4.5) @@ -365,7 +365,7 @@ importers: version: 0.25.13(typescript@5.4.5) typedoc-plugin-markdown: specifier: ^3.17.1 - version: 3.17.1(typedoc@0.25.13) + version: 3.17.1(typedoc@0.25.13(typescript@5.4.5)) typescript: specifier: ^5.4.3 version: 5.4.5 @@ -377,10 +377,10 @@ importers: version: 5.0.0 vitepress: specifier: ^1.0.1 - version: 1.1.4(@algolia/client-search@4.23.3)(@types/node@20.14.2)(postcss@8.4.38)(search-insights@2.14.0)(typescript@5.4.5) + version: 1.1.4(@algolia/client-search@4.23.3)(@types/node@20.14.2)(axios@1.7.2)(postcss@8.4.38)(search-insights@2.14.0)(terser@5.31.1)(typescript@5.4.5) vitepress-plugin-search: specifier: 1.0.4-alpha.22 - version: 1.0.4-alpha.22(flexsearch@0.7.43)(vitepress@1.1.4)(vue@3.4.27) + version: 1.0.4-alpha.22(flexsearch@0.7.43)(vitepress@1.1.4(@algolia/client-search@4.23.3)(@types/node@20.14.2)(axios@1.7.2)(postcss@8.4.38)(search-insights@2.14.0)(terser@5.31.1)(typescript@5.4.5))(vue@3.4.27(typescript@5.4.5)) packages/mermaid-example-diagram: dependencies: @@ -458,7 +458,7 @@ importers: version: 7.4.47 '@vueuse/core': specifier: ^10.9.0 - version: 10.11.0(vue@3.4.27) + version: 10.11.0(vue@3.4.27(typescript@5.4.5)) font-awesome: specifier: ^4.7.0 version: 4.7.0 @@ -480,10 +480,10 @@ importers: version: 0.59.4 '@vite-pwa/vitepress': specifier: ^0.4.0 - version: 0.4.0(vite-plugin-pwa@0.19.8) + version: 0.4.0(vite-plugin-pwa@0.19.8(vite@5.2.13(@types/node@20.14.2)(terser@5.31.1))(workbox-build@7.1.1(@types/babel__core@7.20.5))(workbox-window@7.1.0)) '@vitejs/plugin-vue': specifier: ^5.0.0 - version: 5.0.5(vite@5.2.13)(vue@3.4.27) + version: 5.0.5(vite@5.2.13(@types/node@20.14.2)(terser@5.31.1))(vue@3.4.27(typescript@5.4.5)) fast-glob: specifier: ^3.3.2 version: 3.3.2 @@ -495,74 +495,19 @@ importers: version: 1.1.2 unocss: specifier: ^0.59.0 - version: 0.59.4(postcss@8.4.38)(rollup@2.79.1)(vite@5.2.13) + version: 0.59.4(postcss@8.4.38)(rollup@2.79.1)(vite@5.2.13(@types/node@20.14.2)(terser@5.31.1)) unplugin-vue-components: specifier: ^0.26.0 - version: 0.26.0(rollup@2.79.1)(vue@3.4.27) + version: 0.26.0(@babel/parser@7.24.7)(rollup@2.79.1)(vue@3.4.27(typescript@5.4.5)) vite: specifier: ^5.0.0 - version: 5.2.13(@types/node@20.14.2) + version: 5.2.13(@types/node@20.14.2)(terser@5.31.1) vite-plugin-pwa: specifier: ^0.19.7 - version: 0.19.8(vite@5.2.13)(workbox-build@7.1.1)(workbox-window@7.1.0) + version: 0.19.8(vite@5.2.13(@types/node@20.14.2)(terser@5.31.1))(workbox-build@7.1.1(@types/babel__core@7.20.5))(workbox-window@7.1.0) vitepress: specifier: 1.1.4 - version: 1.1.4(@algolia/client-search@4.23.3)(@types/node@20.14.2)(postcss@8.4.38)(search-insights@2.14.0)(typescript@5.4.5) - workbox-window: - specifier: ^7.0.0 - version: 7.1.0 - - packages/mermaid/src/vitepress: - dependencies: - '@vueuse/core': - specifier: ^10.1.0 - version: 10.11.0(vue@3.4.27) - jiti: - specifier: ^1.18.2 - version: 1.21.6 - mermaid: - specifier: workspace:^ - version: link:../.. - vue: - specifier: ^3.3 - version: 3.4.27(typescript@5.4.5) - devDependencies: - '@iconify-json/carbon': - specifier: ^1.1.16 - version: 1.1.35 - '@unocss/reset': - specifier: ^0.58.0 - version: 0.58.9 - '@vite-pwa/vitepress': - specifier: ^0.3.0 - version: 0.3.1(vite-plugin-pwa@0.17.5) - '@vitejs/plugin-vue': - specifier: ^4.2.1 - version: 4.6.2(vite@4.5.3)(vue@3.4.27) - fast-glob: - specifier: ^3.2.12 - version: 3.3.2 - https-localhost: - specifier: ^4.7.1 - version: 4.7.1 - pathe: - specifier: ^1.1.0 - version: 1.1.2 - unocss: - specifier: ^0.58.0 - version: 0.58.9(postcss@8.4.38)(rollup@2.79.1)(vite@4.5.3) - unplugin-vue-components: - specifier: ^0.26.0 - version: 0.26.0(rollup@2.79.1)(vue@3.4.27) - vite: - specifier: ^4.4.12 - version: 4.5.3(@types/node@20.14.2) - vite-plugin-pwa: - specifier: ^0.17.0 - version: 0.17.5(vite@4.5.3)(workbox-build@7.1.1)(workbox-window@7.1.0) - vitepress: - specifier: 1.0.0-rc.39 - version: 1.0.0-rc.39(@algolia/client-search@4.23.3)(@types/node@20.14.2)(postcss@8.4.38)(search-insights@2.14.0)(typescript@5.4.5) + version: 1.1.4(@algolia/client-search@4.23.3)(@types/node@20.14.2)(axios@1.7.2)(postcss@8.4.38)(search-insights@2.14.0)(terser@5.31.1)(typescript@5.4.5) workbox-window: specifier: ^7.0.0 version: 7.1.0 @@ -598,2217 +543,1043 @@ importers: packages: - /@adobe/jsonschema2md@8.0.2: + '@adobe/jsonschema2md@8.0.2': resolution: {integrity: sha512-g90Rtz1Xghp9HTfbtBH2Pf5IpuUY1Ry9Wps5NNuNmxucbtmnCY4/1KXmtwe0yKxnknPF7nt5/Y8TOekMh450tQ==} engines: {node: ^18.0.0 || >= 20.0.0} hasBin: true - dependencies: - '@types/json-schema': 7.0.15 - '@types/mdast': 4.0.4 - es2015-i18n-tag: 1.6.1 - ferrum: 1.9.4 - fs-extra: 11.2.0 - github-slugger: 2.0.0 - js-yaml: 4.1.0 - json-schema: 0.4.0 - mdast-builder: 1.1.1 - mdast-util-to-string: 4.0.0 - readdirp: 3.6.0 - remark-gfm: 4.0.0 - remark-parse: 11.0.0 - remark-stringify: 11.0.0 - unified: 11.0.4 - unist-util-inspect: 8.0.0 - yargs: 17.7.2 - transitivePeerDependencies: - - supports-color - dev: true - /@algolia/autocomplete-core@1.9.3(@algolia/client-search@4.23.3)(algoliasearch@4.23.3)(search-insights@2.14.0): + '@algolia/autocomplete-core@1.9.3': resolution: {integrity: sha512-009HdfugtGCdC4JdXUbVJClA0q0zh24yyePn+KUGk3rP7j8FEe/m5Yo/z65gn6nP/cM39PxpzqKrL7A6fP6PPw==} - dependencies: - '@algolia/autocomplete-plugin-algolia-insights': 1.9.3(@algolia/client-search@4.23.3)(algoliasearch@4.23.3)(search-insights@2.14.0) - '@algolia/autocomplete-shared': 1.9.3(@algolia/client-search@4.23.3)(algoliasearch@4.23.3) - transitivePeerDependencies: - - '@algolia/client-search' - - algoliasearch - - search-insights - dev: true - /@algolia/autocomplete-plugin-algolia-insights@1.9.3(@algolia/client-search@4.23.3)(algoliasearch@4.23.3)(search-insights@2.14.0): + '@algolia/autocomplete-plugin-algolia-insights@1.9.3': resolution: {integrity: sha512-a/yTUkcO/Vyy+JffmAnTWbr4/90cLzw+CC3bRbhnULr/EM0fGNvM13oQQ14f2moLMcVDyAx/leczLlAOovhSZg==} peerDependencies: search-insights: '>= 1 < 3' - dependencies: - '@algolia/autocomplete-shared': 1.9.3(@algolia/client-search@4.23.3)(algoliasearch@4.23.3) - search-insights: 2.14.0 - transitivePeerDependencies: - - '@algolia/client-search' - - algoliasearch - dev: true - /@algolia/autocomplete-preset-algolia@1.9.3(@algolia/client-search@4.23.3)(algoliasearch@4.23.3): + '@algolia/autocomplete-preset-algolia@1.9.3': resolution: {integrity: sha512-d4qlt6YmrLMYy95n5TB52wtNDr6EgAIPH81dvvvW8UmuWRgxEtY0NJiPwl/h95JtG2vmRM804M0DSwMCNZlzRA==} peerDependencies: '@algolia/client-search': '>= 4.9.1 < 6' algoliasearch: '>= 4.9.1 < 6' - dependencies: - '@algolia/autocomplete-shared': 1.9.3(@algolia/client-search@4.23.3)(algoliasearch@4.23.3) - '@algolia/client-search': 4.23.3 - algoliasearch: 4.23.3 - dev: true - /@algolia/autocomplete-shared@1.9.3(@algolia/client-search@4.23.3)(algoliasearch@4.23.3): + '@algolia/autocomplete-shared@1.9.3': resolution: {integrity: sha512-Wnm9E4Ye6Rl6sTTqjoymD+l8DjSTHsHboVRYrKgEt8Q7UHm9nYbqhN/i0fhUYA3OAEH7WA8x3jfpnmJm3rKvaQ==} peerDependencies: '@algolia/client-search': '>= 4.9.1 < 6' algoliasearch: '>= 4.9.1 < 6' - dependencies: - '@algolia/client-search': 4.23.3 - algoliasearch: 4.23.3 - dev: true - /@algolia/cache-browser-local-storage@4.23.3: + '@algolia/cache-browser-local-storage@4.23.3': resolution: {integrity: sha512-vRHXYCpPlTDE7i6UOy2xE03zHF2C8MEFjPN2v7fRbqVpcOvAUQK81x3Kc21xyb5aSIpYCjWCZbYZuz8Glyzyyg==} - dependencies: - '@algolia/cache-common': 4.23.3 - dev: true - /@algolia/cache-common@4.23.3: + '@algolia/cache-common@4.23.3': resolution: {integrity: sha512-h9XcNI6lxYStaw32pHpB1TMm0RuxphF+Ik4o7tcQiodEdpKK+wKufY6QXtba7t3k8eseirEMVB83uFFF3Nu54A==} - dev: true - /@algolia/cache-in-memory@4.23.3: + '@algolia/cache-in-memory@4.23.3': resolution: {integrity: sha512-yvpbuUXg/+0rbcagxNT7un0eo3czx2Uf0y4eiR4z4SD7SiptwYTpbuS0IHxcLHG3lq22ukx1T6Kjtk/rT+mqNg==} - dependencies: - '@algolia/cache-common': 4.23.3 - dev: true - /@algolia/client-account@4.23.3: + '@algolia/client-account@4.23.3': resolution: {integrity: sha512-hpa6S5d7iQmretHHF40QGq6hz0anWEHGlULcTIT9tbUssWUriN9AUXIFQ8Ei4w9azD0hc1rUok9/DeQQobhQMA==} - dependencies: - '@algolia/client-common': 4.23.3 - '@algolia/client-search': 4.23.3 - '@algolia/transporter': 4.23.3 - dev: true - /@algolia/client-analytics@4.23.3: + '@algolia/client-analytics@4.23.3': resolution: {integrity: sha512-LBsEARGS9cj8VkTAVEZphjxTjMVCci+zIIiRhpFun9jGDUlS1XmhCW7CTrnaWeIuCQS/2iPyRqSy1nXPjcBLRA==} - dependencies: - '@algolia/client-common': 4.23.3 - '@algolia/client-search': 4.23.3 - '@algolia/requester-common': 4.23.3 - '@algolia/transporter': 4.23.3 - dev: true - /@algolia/client-common@4.23.3: + '@algolia/client-common@4.23.3': resolution: {integrity: sha512-l6EiPxdAlg8CYhroqS5ybfIczsGUIAC47slLPOMDeKSVXYG1n0qGiz4RjAHLw2aD0xzh2EXZ7aRguPfz7UKDKw==} - dependencies: - '@algolia/requester-common': 4.23.3 - '@algolia/transporter': 4.23.3 - dev: true - /@algolia/client-personalization@4.23.3: + '@algolia/client-personalization@4.23.3': resolution: {integrity: sha512-3E3yF3Ocr1tB/xOZiuC3doHQBQ2zu2MPTYZ0d4lpfWads2WTKG7ZzmGnsHmm63RflvDeLK/UVx7j2b3QuwKQ2g==} - dependencies: - '@algolia/client-common': 4.23.3 - '@algolia/requester-common': 4.23.3 - '@algolia/transporter': 4.23.3 - dev: true - /@algolia/client-search@4.23.3: + '@algolia/client-search@4.23.3': resolution: {integrity: sha512-P4VAKFHqU0wx9O+q29Q8YVuaowaZ5EM77rxfmGnkHUJggh28useXQdopokgwMeYw2XUht49WX5RcTQ40rZIabw==} - dependencies: - '@algolia/client-common': 4.23.3 - '@algolia/requester-common': 4.23.3 - '@algolia/transporter': 4.23.3 - dev: true - /@algolia/logger-common@4.23.3: + '@algolia/logger-common@4.23.3': resolution: {integrity: sha512-y9kBtmJwiZ9ZZ+1Ek66P0M68mHQzKRxkW5kAAXYN/rdzgDN0d2COsViEFufxJ0pb45K4FRcfC7+33YB4BLrZ+g==} - dev: true - /@algolia/logger-console@4.23.3: + '@algolia/logger-console@4.23.3': resolution: {integrity: sha512-8xoiseoWDKuCVnWP8jHthgaeobDLolh00KJAdMe9XPrWPuf1by732jSpgy2BlsLTaT9m32pHI8CRfrOqQzHv3A==} - dependencies: - '@algolia/logger-common': 4.23.3 - dev: true - /@algolia/recommend@4.23.3: + '@algolia/recommend@4.23.3': resolution: {integrity: sha512-9fK4nXZF0bFkdcLBRDexsnGzVmu4TSYZqxdpgBW2tEyfuSSY54D4qSRkLmNkrrz4YFvdh2GM1gA8vSsnZPR73w==} - dependencies: - '@algolia/cache-browser-local-storage': 4.23.3 - '@algolia/cache-common': 4.23.3 - '@algolia/cache-in-memory': 4.23.3 - '@algolia/client-common': 4.23.3 - '@algolia/client-search': 4.23.3 - '@algolia/logger-common': 4.23.3 - '@algolia/logger-console': 4.23.3 - '@algolia/requester-browser-xhr': 4.23.3 - '@algolia/requester-common': 4.23.3 - '@algolia/requester-node-http': 4.23.3 - '@algolia/transporter': 4.23.3 - dev: true - /@algolia/requester-browser-xhr@4.23.3: + '@algolia/requester-browser-xhr@4.23.3': resolution: {integrity: sha512-jDWGIQ96BhXbmONAQsasIpTYWslyjkiGu0Quydjlowe+ciqySpiDUrJHERIRfELE5+wFc7hc1Q5hqjGoV7yghw==} - dependencies: - '@algolia/requester-common': 4.23.3 - dev: true - /@algolia/requester-common@4.23.3: + '@algolia/requester-common@4.23.3': resolution: {integrity: sha512-xloIdr/bedtYEGcXCiF2muajyvRhwop4cMZo+K2qzNht0CMzlRkm8YsDdj5IaBhshqfgmBb3rTg4sL4/PpvLYw==} - dev: true - /@algolia/requester-node-http@4.23.3: + '@algolia/requester-node-http@4.23.3': resolution: {integrity: sha512-zgu++8Uj03IWDEJM3fuNl34s746JnZOWn1Uz5taV1dFyJhVM/kTNw9Ik7YJWiUNHJQXcaD8IXD1eCb0nq/aByA==} - dependencies: - '@algolia/requester-common': 4.23.3 - dev: true - /@algolia/transporter@4.23.3: + '@algolia/transporter@4.23.3': resolution: {integrity: sha512-Wjl5gttqnf/gQKJA+dafnD0Y6Yw97yvfY8R9h0dQltX1GXTgNs1zWgvtWW0tHl1EgMdhAyw189uWiZMnL3QebQ==} - dependencies: - '@algolia/cache-common': 4.23.3 - '@algolia/logger-common': 4.23.3 - '@algolia/requester-common': 4.23.3 - dev: true - /@alloc/quick-lru@5.2.0: + '@alloc/quick-lru@5.2.0': resolution: {integrity: sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==} engines: {node: '>=10'} - dev: false - /@ampproject/remapping@2.3.0: + '@ampproject/remapping@2.3.0': resolution: {integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==} engines: {node: '>=6.0.0'} - dependencies: - '@jridgewell/gen-mapping': 0.3.5 - '@jridgewell/trace-mapping': 0.3.25 - dev: true - /@antfu/install-pkg@0.1.1: + '@antfu/install-pkg@0.1.1': resolution: {integrity: sha512-LyB/8+bSfa0DFGC06zpCEfs89/XoWZwws5ygEa5D+Xsm3OfI+aXQ86VgVG7Acyef+rSZ5HE7J8rrxzrQeM3PjQ==} - dependencies: - execa: 5.1.1 - find-up: 5.0.0 - dev: true - /@antfu/utils@0.7.8: + '@antfu/utils@0.7.8': resolution: {integrity: sha512-rWQkqXRESdjXtc+7NRfK9lASQjpXJu1ayp7qi1d23zZorY+wBHVLHHoVcMsEnkqEBWTFqbztO7/QdJFzyEcLTg==} - dev: true - /@apideck/better-ajv-errors@0.3.6(ajv@8.16.0): + '@apideck/better-ajv-errors@0.3.6': resolution: {integrity: sha512-P+ZygBLZtkp0qqOAJJVX4oX/sFo5JR3eBWwwuqHHhK0GIgQOKWrAfiAaWX0aArHkRWHMuggFEgAZNxVPwPZYaA==} engines: {node: '>=10'} peerDependencies: ajv: '>=8' - dependencies: - ajv: 8.16.0 - json-schema: 0.4.0 - jsonpointer: 5.0.1 - leven: 3.1.0 - dev: true - /@applitools/core-base@1.15.1: + '@applitools/core-base@1.15.1': resolution: {integrity: sha512-1oGrLAuEwGFjjMJRWtSMDO8H1sHCkTSl6H+lCULz2e8gN5KYKKO9CawR/mHUS41VgxOjub9QzMd4ppypAnMeBw==} engines: {node: '>=12.13.0'} - dependencies: - '@applitools/image': 1.1.12 - '@applitools/logger': 2.0.17 - '@applitools/req': 1.7.1 - '@applitools/utils': 1.7.3 - abort-controller: 3.0.0 - throat: 6.0.2 - transitivePeerDependencies: - - supports-color - dev: true - /@applitools/core@4.16.1(typescript@5.4.5): + '@applitools/core@4.16.1': resolution: {integrity: sha512-eMvX9gEch8rLZlJwvaFd8+1C/9vK7iTK7kanL41L9PANtHLnrfMKoxEZI/0g4d2+JBbM/e/6JIVL0KMrN4a1Qg==} engines: {node: '>=12.13.0'} hasBin: true - dependencies: - '@applitools/core-base': 1.15.1 - '@applitools/dom-capture': 11.2.8 - '@applitools/dom-snapshot': 4.11.2 - '@applitools/driver': 1.17.3 - '@applitools/ec-client': 1.8.7(typescript@5.4.5) - '@applitools/logger': 2.0.17 - '@applitools/nml-client': 1.8.6 - '@applitools/req': 1.7.1 - '@applitools/screenshoter': 3.8.32 - '@applitools/snippets': 2.4.26 - '@applitools/socket': 1.1.17 - '@applitools/spec-driver-webdriver': 1.1.8(webdriver@7.31.1) - '@applitools/ufg-client': 1.12.1 - '@applitools/utils': 1.7.3 - '@types/ws': 8.5.5 - abort-controller: 3.0.0 - chalk: 4.1.2 - node-fetch: 2.6.7(encoding@0.1.13) - semver: 7.5.4 - webdriver: 7.31.1(typescript@5.4.5) - ws: 8.13.0 - yargs: 17.7.2 - transitivePeerDependencies: - - bufferutil - - encoding - - supports-color - - typescript - - utf-8-validate - dev: true - /@applitools/css-tree@1.1.3: + '@applitools/css-tree@1.1.3': resolution: {integrity: sha512-Eb55KoqN8MbIPFENS1EK7mJ0FE7FCTz2WAHQXWTr6CXQ/OM48mqC7B3ZdICm3JqqW0gtyxIQwJt27MaYBJnA5w==} engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0} - dependencies: - mdn-data: 2.1.0 - source-map-js: 1.0.1 - dev: true - /@applitools/dom-capture@11.2.8: + '@applitools/dom-capture@11.2.8': resolution: {integrity: sha512-pfHGqYK1jWJFbeNoIzP0oqe7JKElDJhGy0oY3WbTQh0imqW0z32wHdt6C7a7lf0STMp/FsKXr5R2EwtxqVhslA==} engines: {node: '>=12.13.0'} - dependencies: - '@applitools/dom-shared': 1.0.14 - '@applitools/functional-commons': 1.6.0 - dev: true - /@applitools/dom-shared@1.0.14: + '@applitools/dom-shared@1.0.14': resolution: {integrity: sha512-k/hTQuoz6HjVdyLxrZM6RoBiIw8445dMJbgXXLnV2Sg+ylqr5SEf0YmRQivqOyxw8Vghgu4tcNmK05MYIwqAfQ==} engines: {node: '>=12.13.0'} - dev: true - /@applitools/dom-snapshot@4.11.2: + '@applitools/dom-snapshot@4.11.2': resolution: {integrity: sha512-RUCeqfsVBAubsO9LL9/fpKBrraATnnuiVtc7PXl5mAxPt22WU+vgisDV/zBINeLphcXV7KaW6iARcjsxyLsyuQ==} engines: {node: '>=12.13.0'} - dependencies: - '@applitools/css-tree': 1.1.3 - '@applitools/dom-shared': 1.0.14 - '@applitools/functional-commons': 1.6.0 - pako: 1.0.11 - dev: true - /@applitools/driver@1.17.3: + '@applitools/driver@1.17.3': resolution: {integrity: sha512-DNDEaX54TJ9vVxFCtdcJKGSS3R6UEUOo/nEe2ZybQhT+dw5lSlfIPih9SX+CzOwBW50HHhaboeq9PHCbBm1T5A==} engines: {node: '>=12.13.0'} - dependencies: - '@applitools/logger': 2.0.17 - '@applitools/snippets': 2.4.26 - '@applitools/utils': 1.7.3 - semver: 7.5.4 - transitivePeerDependencies: - - supports-color - dev: true - /@applitools/ec-client@1.8.7(typescript@5.4.5): + '@applitools/ec-client@1.8.7': resolution: {integrity: sha512-Gv4xqqV1tRmIItuKDFN45KXgHuUBJpvhev2MJwJTaRzSRty+DaMgJKkGWRxSC8GWmCXWx46vqc1kiZhJufexQg==} engines: {node: '>=12.13.0'} hasBin: true - dependencies: - '@applitools/core-base': 1.15.1 - '@applitools/driver': 1.17.3 - '@applitools/logger': 2.0.17 - '@applitools/req': 1.7.1 - '@applitools/socket': 1.1.17 - '@applitools/spec-driver-webdriver': 1.1.8(webdriver@7.31.1) - '@applitools/tunnel-client': 1.5.4 - '@applitools/utils': 1.7.3 - abort-controller: 3.0.0 - webdriver: 7.31.1(typescript@5.4.5) - yargs: 17.7.2 - transitivePeerDependencies: - - supports-color - - typescript - dev: true - /@applitools/eg-frpc@1.0.5: + '@applitools/eg-frpc@1.0.5': resolution: {integrity: sha512-9qUNiCK3R3VKxIAaLr5HO5QnUx6TioLFkJ2JcpU1ZqefApt1X2bdfS7eA4TGDXDWv/a0OIl2Lddzuo5/h3vbTw==} engines: {node: '>=12.13.0'} - dev: true - /@applitools/eg-socks5-proxy-server@0.5.6: + '@applitools/eg-socks5-proxy-server@0.5.6': resolution: {integrity: sha512-SjjDBFeiKspX3nHKOoSQ+l4JUiJK3xJiWAEaR8b+GuMvnGFLnrvAECHhuXXG00+LwBJM8WKmfxEe17nvZe+nhg==} engines: {node: '>=12'} - dependencies: - binary: 0.3.0 - is-localhost-ip: 2.0.0 - dev: true - /@applitools/execution-grid-tunnel@3.0.4: + '@applitools/execution-grid-tunnel@3.0.4': resolution: {integrity: sha512-4f4wUk9Ko4ZpG3ylnj/7acFid+kVR1oKvwWdRXmmUmKxJK5PECfHTQm3g/BvRuVWHmgQG55FGWpda0VSIXC4dg==} engines: {node: '>=14.0.0'} hasBin: true - dependencies: - '@applitools/eg-frpc': 1.0.5 - '@applitools/eg-socks5-proxy-server': 0.5.6 - '@applitools/logger': 1.1.53 - dotenv: 16.4.5 - encoding: 0.1.13 - fastify: 3.29.5 - fastify-plugin: 3.0.1 - find-process: 1.4.7 - ini: 3.0.1 - node-cleanup: 2.1.2 - node-fetch: 2.6.7(encoding@0.1.13) - p-retry: 4.6.2 - teen_process: 1.16.0 - uuid: 9.0.1 - transitivePeerDependencies: - - supports-color - dev: true - /@applitools/eyes-cypress@3.44.4(typescript@5.4.5): + '@applitools/eyes-cypress@3.44.4': resolution: {integrity: sha512-+ROcvMoILibPoCp2bnqLWpqeALYgzww09L/UFnA3UoKSMOaewhOXmLWzUrCk4Ol+dVlM6+Wx1Oe7bIr2nsE6PQ==} engines: {node: '>=12.13.0'} hasBin: true - dependencies: - '@applitools/core': 4.16.1(typescript@5.4.5) - '@applitools/eyes': 1.20.1(typescript@5.4.5) - '@applitools/functional-commons': 1.6.0 - '@applitools/logger': 2.0.17 - '@applitools/utils': 1.7.3 - boxen: 5.1.2 - chalk: 3.0.0 - semver: 7.5.4 - uuid: 8.3.2 - ws: 8.5.0 - transitivePeerDependencies: - - bufferutil - - encoding - - supports-color - - typescript - - utf-8-validate - dev: true - /@applitools/eyes@1.20.1(typescript@5.4.5): + '@applitools/eyes@1.20.1': resolution: {integrity: sha512-ancPuIyLzancnr0RKf55e8orbYRrd64tfN3PWL4JHADw9gKxJyLO5lhtnGO2P0mGaaztBNYOE3cn8HMPBhiPvg==} engines: {node: '>=12.13.0'} - dependencies: - '@applitools/core': 4.16.1(typescript@5.4.5) - '@applitools/logger': 2.0.17 - '@applitools/utils': 1.7.3 - transitivePeerDependencies: - - bufferutil - - encoding - - supports-color - - typescript - - utf-8-validate - dev: true - /@applitools/functional-commons@1.6.0: + '@applitools/functional-commons@1.6.0': resolution: {integrity: sha512-fwiF0CbeYHDEOTD/NKaFgaI8LvRcGYG2GaJJiRwcedKko16sQ8F3TK5wXfj2Ytjf+8gjwHwsEEX550z3yvDWxA==} engines: {node: '>=8.0.0'} - dev: true - /@applitools/image@1.1.12: + '@applitools/image@1.1.12': resolution: {integrity: sha512-BYee69EaTs68fDX+Nx09nYsaoX7eW+RB0Njtd8IlwG4dO3zOu4uSgOe+qTPhoY/+ezEV9e/Otli3K0uSgwQgqQ==} engines: {node: '>=12.13.0'} - dependencies: - '@applitools/utils': 1.7.3 - bmpimagejs: 1.0.4 - jpeg-js: 0.4.4 - omggif: 1.0.10 - png-async: 0.9.4 - dev: true - /@applitools/logger@1.1.53: + '@applitools/logger@1.1.53': resolution: {integrity: sha512-4mlzYxc0MgM3WIxEwKqIjn9W7G7kMtQc2bFRxozViKOXypTfr72j8iODs88wcetP0GsXtplhZQ5/6aZN5WY9ug==} engines: {node: '>=12.13.0'} - dependencies: - '@applitools/utils': 1.3.36 - chalk: 4.1.2 - debug: 4.3.3 - transitivePeerDependencies: - - supports-color - dev: true - /@applitools/logger@2.0.17: + '@applitools/logger@2.0.17': resolution: {integrity: sha512-Z8OZPkiA9h7bcxiwqVBZRB00aajYFYsb6FZq8pdGeln6ZxQCzw9+Cx/b2MbCWyE6i7dxnY6sUPWzUdMsBqgMPg==} engines: {node: '>=12.13.0'} - dependencies: - '@applitools/utils': 1.7.3 - chalk: 4.1.2 - debug: 4.3.4 - transitivePeerDependencies: - - supports-color - dev: true - /@applitools/nml-client@1.8.6: + '@applitools/nml-client@1.8.6': resolution: {integrity: sha512-VLL187YAJaE5NrfdzOQZAQdDaXroOzsWyE+OUCsA90lBR9PkJ0jNYzv0zKdT/pbihwmaFQ/tdwB0DkIFbtUmRQ==} engines: {node: '>=12.13.0'} - dependencies: - '@applitools/logger': 2.0.17 - '@applitools/req': 1.7.1 - '@applitools/utils': 1.7.3 - transitivePeerDependencies: - - supports-color - dev: true - /@applitools/req@1.7.1: + '@applitools/req@1.7.1': resolution: {integrity: sha512-Y2Hud6cw9bJForuC68iY+TFHgREknL16RUEfUfB+nsU7uVF0w35ppFDmstXI0KPeWXCIaTayJJzGVYcCJBrsjA==} engines: {node: '>=16.13.0'} - dependencies: - '@applitools/utils': 1.7.3 - abort-controller: 3.0.0 - http-proxy-agent: 5.0.0 - https-proxy-agent: 5.0.1 - node-fetch: 3.3.1 - transitivePeerDependencies: - - supports-color - dev: true - /@applitools/screenshoter@3.8.32: + '@applitools/screenshoter@3.8.32': resolution: {integrity: sha512-pqD4ULDujWLgomL33qKQhmol2VWo9wHRrjKmbjB45+MHbgaCFjgrSKQ4ASJ1lFzTnAcVi+5SKclqF990hTauXA==} engines: {node: '>=12.13.0'} - dependencies: - '@applitools/image': 1.1.12 - '@applitools/logger': 2.0.17 - '@applitools/snippets': 2.4.26 - '@applitools/utils': 1.7.3 - transitivePeerDependencies: - - supports-color - dev: true - /@applitools/snippets@2.4.26: + '@applitools/snippets@2.4.26': resolution: {integrity: sha512-ZUeKMavqMdfBpXoQgHHJAA0Sk0f4+rjfYJc5j5+DgiKolfhLRBQLODzcSJQdRq1PBye9sl8LbryZstTyBjWeEA==} engines: {node: '>=12.13.0'} - dev: true - /@applitools/socket@1.1.17: + '@applitools/socket@1.1.17': resolution: {integrity: sha512-9ygwIlQSukIhXTNTH++atBRMuTidP5MumG2cRujDxGkVrOTE+qbWVKGASZLJgjZ59hoSIHqCnJVnl3zId8Z5ig==} engines: {node: '>=12.13.0'} - dependencies: - '@applitools/logger': 2.0.17 - '@applitools/utils': 1.7.3 - transitivePeerDependencies: - - supports-color - dev: true - /@applitools/spec-driver-webdriver@1.1.8(webdriver@7.31.1): + '@applitools/spec-driver-webdriver@1.1.8': resolution: {integrity: sha512-xLl7YAfNYUpdnvu6bJ7138xYePPg3HepN1nWa9ptzLoq1ZHXkEfnO61pGxjYNHiT+c0YSuerMxk3VIwCw+fB0Q==} engines: {node: '>=12.13.0'} peerDependencies: webdriver: '>=6.0.0' - dependencies: - '@applitools/driver': 1.17.3 - '@applitools/utils': 1.7.3 - http-proxy-agent: 5.0.0 - https-proxy-agent: 5.0.1 - webdriver: 7.31.1(typescript@5.4.5) - transitivePeerDependencies: - - supports-color - dev: true - /@applitools/tunnel-client@1.5.4: + '@applitools/tunnel-client@1.5.4': resolution: {integrity: sha512-nERMZIT7YF7QnMdfPXsNZ2AwtcXoE6+iru3mmDXucrTP3PgF1cI1XRxbdSnFD3zyjoRtoEPFTA9LuB+6YrjflA==} engines: {node: '>=12.13.0'} hasBin: true - dependencies: - '@applitools/execution-grid-tunnel': 3.0.4 - '@applitools/logger': 2.0.17 - '@applitools/req': 1.7.1 - '@applitools/socket': 1.1.17 - '@applitools/utils': 1.7.3 - abort-controller: 3.0.0 - yargs: 17.7.2 - transitivePeerDependencies: - - supports-color - dev: true - /@applitools/ufg-client@1.12.1: + '@applitools/ufg-client@1.12.1': resolution: {integrity: sha512-vgtOgkXZcy70nc3AH30p6u6As5VdsvJNRHyz7/IqbKE7JynaIz/TCwsjPZR/GcOf7JixPbs37TPM2ffR4Idl0Q==} engines: {node: '>=12.13.0'} - dependencies: - '@applitools/css-tree': 1.1.3 - '@applitools/image': 1.1.12 - '@applitools/logger': 2.0.17 - '@applitools/req': 1.7.1 - '@applitools/utils': 1.7.3 - '@xmldom/xmldom': 0.8.10 - abort-controller: 3.0.0 - throat: 6.0.2 - transitivePeerDependencies: - - supports-color - dev: true - /@applitools/utils@1.3.36: + '@applitools/utils@1.3.36': resolution: {integrity: sha512-eROEssh7wIW+V87PvLiHI2hUPxqoBxXFMRx3+z5qOZqXUPSR1Uz7EMFwxZcDDR7T6C3O3UDckB2aVB5fJAg5JA==} engines: {node: '>=12.13.0'} - dev: true - /@applitools/utils@1.7.3: + '@applitools/utils@1.7.3': resolution: {integrity: sha512-zbW1ebQX8UuAt1vuDn+yBIsQ4+uzhzAKYXAYN7Zm4lyrEoIegpJtd3ivN1Q+xi4QXigpjRHWyCiCV+aVX970wA==} engines: {node: '>=12.13.0'} - dev: true - /@babel/code-frame@7.24.7: + '@babel/code-frame@7.24.7': resolution: {integrity: sha512-BcYH1CVJBO9tvyIZ2jVeXgSIMvGZ2FDRvDdOIVQyuklNKSsx+eppDEBq/g47Ayw+RqNFE+URvOShmf+f/qwAlA==} engines: {node: '>=6.9.0'} - dependencies: - '@babel/highlight': 7.24.7 - picocolors: 1.0.1 - dev: true - /@babel/compat-data@7.24.7: + '@babel/compat-data@7.24.7': resolution: {integrity: sha512-qJzAIcv03PyaWqxRgO4mSU3lihncDT296vnyuE2O8uA4w3UHWI4S3hgeZd1L8W1Bft40w9JxJ2b412iDUFFRhw==} engines: {node: '>=6.9.0'} - dev: true - /@babel/core@7.24.7: + '@babel/core@7.24.7': resolution: {integrity: sha512-nykK+LEK86ahTkX/3TgauT0ikKoNCfKHEaZYTUVupJdTLzGNvrblu4u6fa7DhZONAltdf8e662t/abY8idrd/g==} engines: {node: '>=6.9.0'} - dependencies: - '@ampproject/remapping': 2.3.0 - '@babel/code-frame': 7.24.7 - '@babel/generator': 7.24.7 - '@babel/helper-compilation-targets': 7.24.7 - '@babel/helper-module-transforms': 7.24.7(@babel/core@7.24.7) - '@babel/helpers': 7.24.7 - '@babel/parser': 7.24.7 - '@babel/template': 7.24.7 - '@babel/traverse': 7.24.7 - '@babel/types': 7.24.7 - convert-source-map: 2.0.0 - debug: 4.3.5(supports-color@8.1.1) - gensync: 1.0.0-beta.2 - json5: 2.2.3 - semver: 6.3.1 - transitivePeerDependencies: - - supports-color - dev: true - /@babel/generator@7.24.7: + '@babel/generator@7.24.7': resolution: {integrity: sha512-oipXieGC3i45Y1A41t4tAqpnEZWgB/lC6Ehh6+rOviR5XWpTtMmLN+fGjz9vOiNRt0p6RtO6DtD0pdU3vpqdSA==} engines: {node: '>=6.9.0'} - dependencies: - '@babel/types': 7.24.7 - '@jridgewell/gen-mapping': 0.3.5 - '@jridgewell/trace-mapping': 0.3.25 - jsesc: 2.5.2 - dev: true - /@babel/helper-annotate-as-pure@7.24.7: + '@babel/helper-annotate-as-pure@7.24.7': resolution: {integrity: sha512-BaDeOonYvhdKw+JoMVkAixAAJzG2jVPIwWoKBPdYuY9b452e2rPuI9QPYh3KpofZ3pW2akOmwZLOiOsHMiqRAg==} engines: {node: '>=6.9.0'} - dependencies: - '@babel/types': 7.24.7 - dev: true - /@babel/helper-builder-binary-assignment-operator-visitor@7.24.7: + '@babel/helper-builder-binary-assignment-operator-visitor@7.24.7': resolution: {integrity: sha512-xZeCVVdwb4MsDBkkyZ64tReWYrLRHlMN72vP7Bdm3OUOuyFZExhsHUUnuWnm2/XOlAJzR0LfPpB56WXZn0X/lA==} engines: {node: '>=6.9.0'} - dependencies: - '@babel/traverse': 7.24.7 - '@babel/types': 7.24.7 - transitivePeerDependencies: - - supports-color - dev: true - /@babel/helper-compilation-targets@7.24.7: + '@babel/helper-compilation-targets@7.24.7': resolution: {integrity: sha512-ctSdRHBi20qWOfy27RUb4Fhp07KSJ3sXcuSvTrXrc4aG8NSYDo1ici3Vhg9bg69y5bj0Mr1lh0aeEgTvc12rMg==} engines: {node: '>=6.9.0'} - dependencies: - '@babel/compat-data': 7.24.7 - '@babel/helper-validator-option': 7.24.7 - browserslist: 4.23.1 - lru-cache: 5.1.1 - semver: 6.3.1 - dev: true - /@babel/helper-create-class-features-plugin@7.24.7(@babel/core@7.24.7): + '@babel/helper-create-class-features-plugin@7.24.7': resolution: {integrity: sha512-kTkaDl7c9vO80zeX1rJxnuRpEsD5tA81yh11X1gQo+PhSti3JS+7qeZo9U4RHobKRiFPKaGK3svUAeb8D0Q7eg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 - dependencies: - '@babel/core': 7.24.7 - '@babel/helper-annotate-as-pure': 7.24.7 - '@babel/helper-environment-visitor': 7.24.7 - '@babel/helper-function-name': 7.24.7 - '@babel/helper-member-expression-to-functions': 7.24.7 - '@babel/helper-optimise-call-expression': 7.24.7 - '@babel/helper-replace-supers': 7.24.7(@babel/core@7.24.7) - '@babel/helper-skip-transparent-expression-wrappers': 7.24.7 - '@babel/helper-split-export-declaration': 7.24.7 - semver: 6.3.1 - transitivePeerDependencies: - - supports-color - dev: true - /@babel/helper-create-regexp-features-plugin@7.24.7(@babel/core@7.24.7): + '@babel/helper-create-regexp-features-plugin@7.24.7': resolution: {integrity: sha512-03TCmXy2FtXJEZfbXDTSqq1fRJArk7lX9DOFC/47VthYcxyIOx+eXQmdo6DOQvrbpIix+KfXwvuXdFDZHxt+rA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 - dependencies: - '@babel/core': 7.24.7 - '@babel/helper-annotate-as-pure': 7.24.7 - regexpu-core: 5.3.2 - semver: 6.3.1 - dev: true - /@babel/helper-define-polyfill-provider@0.6.2(@babel/core@7.24.7): + '@babel/helper-define-polyfill-provider@0.6.2': resolution: {integrity: sha512-LV76g+C502biUK6AyZ3LK10vDpDyCzZnhZFXkH1L75zHPj68+qc8Zfpx2th+gzwA2MzyK+1g/3EPl62yFnVttQ==} peerDependencies: '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 - dependencies: - '@babel/core': 7.24.7 - '@babel/helper-compilation-targets': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 - debug: 4.3.5(supports-color@8.1.1) - lodash.debounce: 4.0.8 - resolve: 1.22.8 - transitivePeerDependencies: - - supports-color - dev: true - /@babel/helper-environment-visitor@7.24.7: + '@babel/helper-environment-visitor@7.24.7': resolution: {integrity: sha512-DoiN84+4Gnd0ncbBOM9AZENV4a5ZiL39HYMyZJGZ/AZEykHYdJw0wW3kdcsh9/Kn+BRXHLkkklZ51ecPKmI1CQ==} engines: {node: '>=6.9.0'} - dependencies: - '@babel/types': 7.24.7 - dev: true - /@babel/helper-function-name@7.24.7: + '@babel/helper-function-name@7.24.7': resolution: {integrity: sha512-FyoJTsj/PEUWu1/TYRiXTIHc8lbw+TDYkZuoE43opPS5TrI7MyONBE1oNvfguEXAD9yhQRrVBnXdXzSLQl9XnA==} engines: {node: '>=6.9.0'} - dependencies: - '@babel/template': 7.24.7 - '@babel/types': 7.24.7 - dev: true - /@babel/helper-hoist-variables@7.24.7: + '@babel/helper-hoist-variables@7.24.7': resolution: {integrity: sha512-MJJwhkoGy5c4ehfoRyrJ/owKeMl19U54h27YYftT0o2teQ3FJ3nQUf/I3LlJsX4l3qlw7WRXUmiyajvHXoTubQ==} engines: {node: '>=6.9.0'} - dependencies: - '@babel/types': 7.24.7 - dev: true - /@babel/helper-member-expression-to-functions@7.24.7: + '@babel/helper-member-expression-to-functions@7.24.7': resolution: {integrity: sha512-LGeMaf5JN4hAT471eJdBs/GK1DoYIJ5GCtZN/EsL6KUiiDZOvO/eKE11AMZJa2zP4zk4qe9V2O/hxAmkRc8p6w==} engines: {node: '>=6.9.0'} - dependencies: - '@babel/traverse': 7.24.7 - '@babel/types': 7.24.7 - transitivePeerDependencies: - - supports-color - dev: true - /@babel/helper-module-imports@7.24.7: + '@babel/helper-module-imports@7.24.7': resolution: {integrity: sha512-8AyH3C+74cgCVVXow/myrynrAGv+nTVg5vKu2nZph9x7RcRwzmh0VFallJuFTZ9mx6u4eSdXZfcOzSqTUm0HCA==} engines: {node: '>=6.9.0'} - dependencies: - '@babel/traverse': 7.24.7 - '@babel/types': 7.24.7 - transitivePeerDependencies: - - supports-color - dev: true - /@babel/helper-module-transforms@7.24.7(@babel/core@7.24.7): + '@babel/helper-module-transforms@7.24.7': resolution: {integrity: sha512-1fuJEwIrp+97rM4RWdO+qrRsZlAeL1lQJoPqtCYWv0NL115XM93hIH4CSRln2w52SqvmY5hqdtauB6QFCDiZNQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 - dependencies: - '@babel/core': 7.24.7 - '@babel/helper-environment-visitor': 7.24.7 - '@babel/helper-module-imports': 7.24.7 - '@babel/helper-simple-access': 7.24.7 - '@babel/helper-split-export-declaration': 7.24.7 - '@babel/helper-validator-identifier': 7.24.7 - transitivePeerDependencies: - - supports-color - dev: true - /@babel/helper-optimise-call-expression@7.24.7: + '@babel/helper-optimise-call-expression@7.24.7': resolution: {integrity: sha512-jKiTsW2xmWwxT1ixIdfXUZp+P5yURx2suzLZr5Hi64rURpDYdMW0pv+Uf17EYk2Rd428Lx4tLsnjGJzYKDM/6A==} engines: {node: '>=6.9.0'} - dependencies: - '@babel/types': 7.24.7 - dev: true - /@babel/helper-plugin-utils@7.24.7: + '@babel/helper-plugin-utils@7.24.7': resolution: {integrity: sha512-Rq76wjt7yz9AAc1KnlRKNAi/dMSVWgDRx43FHoJEbcYU6xOWaE2dVPwcdTukJrjxS65GITyfbvEYHvkirZ6uEg==} engines: {node: '>=6.9.0'} - dev: true - /@babel/helper-remap-async-to-generator@7.24.7(@babel/core@7.24.7): + '@babel/helper-remap-async-to-generator@7.24.7': resolution: {integrity: sha512-9pKLcTlZ92hNZMQfGCHImUpDOlAgkkpqalWEeftW5FBya75k8Li2ilerxkM/uBEj01iBZXcCIB/bwvDYgWyibA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 - dependencies: - '@babel/core': 7.24.7 - '@babel/helper-annotate-as-pure': 7.24.7 - '@babel/helper-environment-visitor': 7.24.7 - '@babel/helper-wrap-function': 7.24.7 - transitivePeerDependencies: - - supports-color - dev: true - /@babel/helper-replace-supers@7.24.7(@babel/core@7.24.7): + '@babel/helper-replace-supers@7.24.7': resolution: {integrity: sha512-qTAxxBM81VEyoAY0TtLrx1oAEJc09ZK67Q9ljQToqCnA+55eNwCORaxlKyu+rNfX86o8OXRUSNUnrtsAZXM9sg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 - dependencies: - '@babel/core': 7.24.7 - '@babel/helper-environment-visitor': 7.24.7 - '@babel/helper-member-expression-to-functions': 7.24.7 - '@babel/helper-optimise-call-expression': 7.24.7 - transitivePeerDependencies: - - supports-color - dev: true - /@babel/helper-simple-access@7.24.7: + '@babel/helper-simple-access@7.24.7': resolution: {integrity: sha512-zBAIvbCMh5Ts+b86r/CjU+4XGYIs+R1j951gxI3KmmxBMhCg4oQMsv6ZXQ64XOm/cvzfU1FmoCyt6+owc5QMYg==} engines: {node: '>=6.9.0'} - dependencies: - '@babel/traverse': 7.24.7 - '@babel/types': 7.24.7 - transitivePeerDependencies: - - supports-color - dev: true - /@babel/helper-skip-transparent-expression-wrappers@7.24.7: + '@babel/helper-skip-transparent-expression-wrappers@7.24.7': resolution: {integrity: sha512-IO+DLT3LQUElMbpzlatRASEyQtfhSE0+m465v++3jyyXeBTBUjtVZg28/gHeV5mrTJqvEKhKroBGAvhW+qPHiQ==} engines: {node: '>=6.9.0'} - dependencies: - '@babel/traverse': 7.24.7 - '@babel/types': 7.24.7 - transitivePeerDependencies: - - supports-color - dev: true - /@babel/helper-split-export-declaration@7.24.7: + '@babel/helper-split-export-declaration@7.24.7': resolution: {integrity: sha512-oy5V7pD+UvfkEATUKvIjvIAH/xCzfsFVw7ygW2SI6NClZzquT+mwdTfgfdbUiceh6iQO0CHtCPsyze/MZ2YbAA==} engines: {node: '>=6.9.0'} - dependencies: - '@babel/types': 7.24.7 - dev: true - /@babel/helper-string-parser@7.24.7: + '@babel/helper-string-parser@7.24.7': resolution: {integrity: sha512-7MbVt6xrwFQbunH2DNQsAP5sTGxfqQtErvBIvIMi6EQnbgUOuVYanvREcmFrOPhoXBrTtjhhP+lW+o5UfK+tDg==} engines: {node: '>=6.9.0'} - /@babel/helper-validator-identifier@7.24.7: + '@babel/helper-validator-identifier@7.24.7': resolution: {integrity: sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w==} engines: {node: '>=6.9.0'} - /@babel/helper-validator-option@7.24.7: + '@babel/helper-validator-option@7.24.7': resolution: {integrity: sha512-yy1/KvjhV/ZCL+SM7hBrvnZJ3ZuT9OuZgIJAGpPEToANvc3iM6iDvBnRjtElWibHU6n8/LPR/EjX9EtIEYO3pw==} engines: {node: '>=6.9.0'} - dev: true - /@babel/helper-wrap-function@7.24.7: + '@babel/helper-wrap-function@7.24.7': resolution: {integrity: sha512-N9JIYk3TD+1vq/wn77YnJOqMtfWhNewNE+DJV4puD2X7Ew9J4JvrzrFDfTfyv5EgEXVy9/Wt8QiOErzEmv5Ifw==} engines: {node: '>=6.9.0'} - dependencies: - '@babel/helper-function-name': 7.24.7 - '@babel/template': 7.24.7 - '@babel/traverse': 7.24.7 - '@babel/types': 7.24.7 - transitivePeerDependencies: - - supports-color - dev: true - /@babel/helpers@7.24.7: + '@babel/helpers@7.24.7': resolution: {integrity: sha512-NlmJJtvcw72yRJRcnCmGvSi+3jDEg8qFu3z0AFoymmzLx5ERVWyzd9kVXr7Th9/8yIJi2Zc6av4Tqz3wFs8QWg==} engines: {node: '>=6.9.0'} - dependencies: - '@babel/template': 7.24.7 - '@babel/types': 7.24.7 - dev: true - /@babel/highlight@7.24.7: + '@babel/highlight@7.24.7': resolution: {integrity: sha512-EStJpq4OuY8xYfhGVXngigBJRWxftKX9ksiGDnmlY3o7B/V7KIAc9X4oiK87uPJSc/vs5L869bem5fhZa8caZw==} engines: {node: '>=6.9.0'} - dependencies: - '@babel/helper-validator-identifier': 7.24.7 - chalk: 2.4.2 - js-tokens: 4.0.0 - picocolors: 1.0.1 - dev: true - /@babel/parser@7.24.7: + '@babel/parser@7.24.7': resolution: {integrity: sha512-9uUYRm6OqQrCqQdG1iCBwBPZgN8ciDBro2nIOFaiRz1/BCxaI7CNvQbDHvsArAC7Tw9Hda/B3U+6ui9u4HWXPw==} engines: {node: '>=6.0.0'} hasBin: true - dependencies: - '@babel/types': 7.24.7 - /@babel/plugin-bugfix-firefox-class-in-computed-class-key@7.24.7(@babel/core@7.24.7): + '@babel/plugin-bugfix-firefox-class-in-computed-class-key@7.24.7': resolution: {integrity: sha512-TiT1ss81W80eQsN+722OaeQMY/G4yTb4G9JrqeiDADs3N8lbPMGldWi9x8tyqCW5NLx1Jh2AvkE6r6QvEltMMQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 - dependencies: - '@babel/core': 7.24.7 - '@babel/helper-environment-visitor': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 - dev: true - /@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.24.7(@babel/core@7.24.7): + '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.24.7': resolution: {integrity: sha512-unaQgZ/iRu/By6tsjMZzpeBZjChYfLYry6HrEXPoz3KmfF0sVBQ1l8zKMQ4xRGLWVsjuvB8nQfjNP/DcfEOCsg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 - dependencies: - '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 - dev: true - /@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.24.7(@babel/core@7.24.7): + '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.24.7': resolution: {integrity: sha512-+izXIbke1T33mY4MSNnrqhPXDz01WYhEf3yF5NbnUtkiNnm+XBZJl3kNfoK6NKmYlz/D07+l2GWVK/QfDkNCuQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.13.0 - dependencies: - '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 - '@babel/helper-skip-transparent-expression-wrappers': 7.24.7 - '@babel/plugin-transform-optional-chaining': 7.24.7(@babel/core@7.24.7) - transitivePeerDependencies: - - supports-color - dev: true - /@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.24.7(@babel/core@7.24.7): + '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.24.7': resolution: {integrity: sha512-utA4HuR6F4Vvcr+o4DnjL8fCOlgRFGbeeBEGNg3ZTrLFw6VWG5XmUrvcQ0FjIYMU2ST4XcR2Wsp7t9qOAPnxMg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 - dependencies: - '@babel/core': 7.24.7 - '@babel/helper-environment-visitor': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 - dev: true - /@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2(@babel/core@7.24.7): + '@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2': resolution: {integrity: sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.24.7 - dev: true - /@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.24.7): + '@babel/plugin-syntax-async-generators@7.8.4': resolution: {integrity: sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==} peerDependencies: '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 - dev: true - /@babel/plugin-syntax-bigint@7.8.3(@babel/core@7.24.7): + '@babel/plugin-syntax-bigint@7.8.3': resolution: {integrity: sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==} peerDependencies: '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 - dev: true - /@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.24.7): + '@babel/plugin-syntax-class-properties@7.12.13': resolution: {integrity: sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==} peerDependencies: '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 - dev: true - /@babel/plugin-syntax-class-static-block@7.14.5(@babel/core@7.24.7): + '@babel/plugin-syntax-class-static-block@7.14.5': resolution: {integrity: sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 - dev: true - /@babel/plugin-syntax-dynamic-import@7.8.3(@babel/core@7.24.7): + '@babel/plugin-syntax-dynamic-import@7.8.3': resolution: {integrity: sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==} peerDependencies: '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 - dev: true - /@babel/plugin-syntax-export-namespace-from@7.8.3(@babel/core@7.24.7): + '@babel/plugin-syntax-export-namespace-from@7.8.3': resolution: {integrity: sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==} peerDependencies: '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 - dev: true - /@babel/plugin-syntax-import-assertions@7.24.7(@babel/core@7.24.7): + '@babel/plugin-syntax-import-assertions@7.24.7': resolution: {integrity: sha512-Ec3NRUMoi8gskrkBe3fNmEQfxDvY8bgfQpz6jlk/41kX9eUjvpyqWU7PBP/pLAvMaSQjbMNKJmvX57jP+M6bPg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 - dev: true - /@babel/plugin-syntax-import-attributes@7.24.7(@babel/core@7.24.7): + '@babel/plugin-syntax-import-attributes@7.24.7': resolution: {integrity: sha512-hbX+lKKeUMGihnK8nvKqmXBInriT3GVjzXKFriV3YC6APGxMbP8RZNFwy91+hocLXq90Mta+HshoB31802bb8A==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 - dev: true - /@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.24.7): + '@babel/plugin-syntax-import-meta@7.10.4': resolution: {integrity: sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==} peerDependencies: '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 - dev: true - /@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.24.7): + '@babel/plugin-syntax-json-strings@7.8.3': resolution: {integrity: sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==} peerDependencies: '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 - dev: true - /@babel/plugin-syntax-jsx@7.24.7(@babel/core@7.24.7): + '@babel/plugin-syntax-jsx@7.24.7': resolution: {integrity: sha512-6ddciUPe/mpMnOKv/U+RSd2vvVy+Yw/JfBB0ZHYjEZt9NLHmCUylNYlsbqCCS1Bffjlb0fCwC9Vqz+sBz6PsiQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 - dev: true - /@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.24.7): + '@babel/plugin-syntax-logical-assignment-operators@7.10.4': resolution: {integrity: sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==} peerDependencies: '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 - dev: true - /@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.24.7): + '@babel/plugin-syntax-nullish-coalescing-operator@7.8.3': resolution: {integrity: sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==} peerDependencies: '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 - dev: true - /@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.24.7): + '@babel/plugin-syntax-numeric-separator@7.10.4': resolution: {integrity: sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==} peerDependencies: '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 - dev: true - /@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.24.7): + '@babel/plugin-syntax-object-rest-spread@7.8.3': resolution: {integrity: sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==} peerDependencies: '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 - dev: true - /@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.24.7): + '@babel/plugin-syntax-optional-catch-binding@7.8.3': resolution: {integrity: sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==} peerDependencies: '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 - dev: true - /@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.24.7): + '@babel/plugin-syntax-optional-chaining@7.8.3': resolution: {integrity: sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==} peerDependencies: '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 - dev: true - /@babel/plugin-syntax-private-property-in-object@7.14.5(@babel/core@7.24.7): + '@babel/plugin-syntax-private-property-in-object@7.14.5': resolution: {integrity: sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 - dev: true - /@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.24.7): + '@babel/plugin-syntax-top-level-await@7.14.5': resolution: {integrity: sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 - dev: true - /@babel/plugin-syntax-typescript@7.24.7(@babel/core@7.24.7): + '@babel/plugin-syntax-typescript@7.24.7': resolution: {integrity: sha512-c/+fVeJBB0FeKsFvwytYiUD+LBvhHjGSI0g446PRGdSVGZLRNArBUno2PETbAly3tpiNAQR5XaZ+JslxkotsbA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 - dev: true - /@babel/plugin-syntax-unicode-sets-regex@7.18.6(@babel/core@7.24.7): + '@babel/plugin-syntax-unicode-sets-regex@7.18.6': resolution: {integrity: sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 - dependencies: - '@babel/core': 7.24.7 - '@babel/helper-create-regexp-features-plugin': 7.24.7(@babel/core@7.24.7) - '@babel/helper-plugin-utils': 7.24.7 - dev: true - /@babel/plugin-transform-arrow-functions@7.24.7(@babel/core@7.24.7): + '@babel/plugin-transform-arrow-functions@7.24.7': resolution: {integrity: sha512-Dt9LQs6iEY++gXUwY03DNFat5C2NbO48jj+j/bSAz6b3HgPs39qcPiYt77fDObIcFwj3/C2ICX9YMwGflUoSHQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 - dev: true - /@babel/plugin-transform-async-generator-functions@7.24.7(@babel/core@7.24.7): + '@babel/plugin-transform-async-generator-functions@7.24.7': resolution: {integrity: sha512-o+iF77e3u7ZS4AoAuJvapz9Fm001PuD2V3Lp6OSE4FYQke+cSewYtnek+THqGRWyQloRCyvWL1OkyfNEl9vr/g==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.24.7 - '@babel/helper-environment-visitor': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 - '@babel/helper-remap-async-to-generator': 7.24.7(@babel/core@7.24.7) - '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.24.7) - transitivePeerDependencies: - - supports-color - dev: true - /@babel/plugin-transform-async-to-generator@7.24.7(@babel/core@7.24.7): + '@babel/plugin-transform-async-to-generator@7.24.7': resolution: {integrity: sha512-SQY01PcJfmQ+4Ash7NE+rpbLFbmqA2GPIgqzxfFTL4t1FKRq4zTms/7htKpoCUI9OcFYgzqfmCdH53s6/jn5fA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.24.7 - '@babel/helper-module-imports': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 - '@babel/helper-remap-async-to-generator': 7.24.7(@babel/core@7.24.7) - transitivePeerDependencies: - - supports-color - dev: true - /@babel/plugin-transform-block-scoped-functions@7.24.7(@babel/core@7.24.7): + '@babel/plugin-transform-block-scoped-functions@7.24.7': resolution: {integrity: sha512-yO7RAz6EsVQDaBH18IDJcMB1HnrUn2FJ/Jslc/WtPPWcjhpUJXU/rjbwmluzp7v/ZzWcEhTMXELnnsz8djWDwQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 - dev: true - /@babel/plugin-transform-block-scoping@7.24.7(@babel/core@7.24.7): + '@babel/plugin-transform-block-scoping@7.24.7': resolution: {integrity: sha512-Nd5CvgMbWc+oWzBsuaMcbwjJWAcp5qzrbg69SZdHSP7AMY0AbWFqFO0WTFCA1jxhMCwodRwvRec8k0QUbZk7RQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 - dev: true - /@babel/plugin-transform-class-properties@7.24.7(@babel/core@7.24.7): + '@babel/plugin-transform-class-properties@7.24.7': resolution: {integrity: sha512-vKbfawVYayKcSeSR5YYzzyXvsDFWU2mD8U5TFeXtbCPLFUqe7GyCgvO6XDHzje862ODrOwy6WCPmKeWHbCFJ4w==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.24.7 - '@babel/helper-create-class-features-plugin': 7.24.7(@babel/core@7.24.7) - '@babel/helper-plugin-utils': 7.24.7 - transitivePeerDependencies: - - supports-color - dev: true - /@babel/plugin-transform-class-static-block@7.24.7(@babel/core@7.24.7): + '@babel/plugin-transform-class-static-block@7.24.7': resolution: {integrity: sha512-HMXK3WbBPpZQufbMG4B46A90PkuuhN9vBCb5T8+VAHqvAqvcLi+2cKoukcpmUYkszLhScU3l1iudhrks3DggRQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.12.0 - dependencies: - '@babel/core': 7.24.7 - '@babel/helper-create-class-features-plugin': 7.24.7(@babel/core@7.24.7) - '@babel/helper-plugin-utils': 7.24.7 - '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.24.7) - transitivePeerDependencies: - - supports-color - dev: true - /@babel/plugin-transform-classes@7.24.7(@babel/core@7.24.7): + '@babel/plugin-transform-classes@7.24.7': resolution: {integrity: sha512-CFbbBigp8ln4FU6Bpy6g7sE8B/WmCmzvivzUC6xDAdWVsjYTXijpuuGJmYkAaoWAzcItGKT3IOAbxRItZ5HTjw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.24.7 - '@babel/helper-annotate-as-pure': 7.24.7 - '@babel/helper-compilation-targets': 7.24.7 - '@babel/helper-environment-visitor': 7.24.7 - '@babel/helper-function-name': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 - '@babel/helper-replace-supers': 7.24.7(@babel/core@7.24.7) - '@babel/helper-split-export-declaration': 7.24.7 - globals: 11.12.0 - transitivePeerDependencies: - - supports-color - dev: true - /@babel/plugin-transform-computed-properties@7.24.7(@babel/core@7.24.7): + '@babel/plugin-transform-computed-properties@7.24.7': resolution: {integrity: sha512-25cS7v+707Gu6Ds2oY6tCkUwsJ9YIDbggd9+cu9jzzDgiNq7hR/8dkzxWfKWnTic26vsI3EsCXNd4iEB6e8esQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 - '@babel/template': 7.24.7 - dev: true - /@babel/plugin-transform-destructuring@7.24.7(@babel/core@7.24.7): + '@babel/plugin-transform-destructuring@7.24.7': resolution: {integrity: sha512-19eJO/8kdCQ9zISOf+SEUJM/bAUIsvY3YDnXZTupUCQ8LgrWnsG/gFB9dvXqdXnRXMAM8fvt7b0CBKQHNGy1mw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 - dev: true - /@babel/plugin-transform-dotall-regex@7.24.7(@babel/core@7.24.7): + '@babel/plugin-transform-dotall-regex@7.24.7': resolution: {integrity: sha512-ZOA3W+1RRTSWvyqcMJDLqbchh7U4NRGqwRfFSVbOLS/ePIP4vHB5e8T8eXcuqyN1QkgKyj5wuW0lcS85v4CrSw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.24.7 - '@babel/helper-create-regexp-features-plugin': 7.24.7(@babel/core@7.24.7) - '@babel/helper-plugin-utils': 7.24.7 - dev: true - /@babel/plugin-transform-duplicate-keys@7.24.7(@babel/core@7.24.7): + '@babel/plugin-transform-duplicate-keys@7.24.7': resolution: {integrity: sha512-JdYfXyCRihAe46jUIliuL2/s0x0wObgwwiGxw/UbgJBr20gQBThrokO4nYKgWkD7uBaqM7+9x5TU7NkExZJyzw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 - dev: true - /@babel/plugin-transform-dynamic-import@7.24.7(@babel/core@7.24.7): + '@babel/plugin-transform-dynamic-import@7.24.7': resolution: {integrity: sha512-sc3X26PhZQDb3JhORmakcbvkeInvxz+A8oda99lj7J60QRuPZvNAk9wQlTBS1ZynelDrDmTU4pw1tyc5d5ZMUg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 - '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.24.7) - dev: true - /@babel/plugin-transform-exponentiation-operator@7.24.7(@babel/core@7.24.7): + '@babel/plugin-transform-exponentiation-operator@7.24.7': resolution: {integrity: sha512-Rqe/vSc9OYgDajNIK35u7ot+KeCoetqQYFXM4Epf7M7ez3lWlOjrDjrwMei6caCVhfdw+mIKD4cgdGNy5JQotQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.24.7 - '@babel/helper-builder-binary-assignment-operator-visitor': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 - transitivePeerDependencies: - - supports-color - dev: true - /@babel/plugin-transform-export-namespace-from@7.24.7(@babel/core@7.24.7): + '@babel/plugin-transform-export-namespace-from@7.24.7': resolution: {integrity: sha512-v0K9uNYsPL3oXZ/7F9NNIbAj2jv1whUEtyA6aujhekLs56R++JDQuzRcP2/z4WX5Vg/c5lE9uWZA0/iUoFhLTA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 - '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.24.7) - dev: true - /@babel/plugin-transform-for-of@7.24.7(@babel/core@7.24.7): + '@babel/plugin-transform-for-of@7.24.7': resolution: {integrity: sha512-wo9ogrDG1ITTTBsy46oGiN1dS9A7MROBTcYsfS8DtsImMkHk9JXJ3EWQM6X2SUw4x80uGPlwj0o00Uoc6nEE3g==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 - '@babel/helper-skip-transparent-expression-wrappers': 7.24.7 - transitivePeerDependencies: - - supports-color - dev: true - /@babel/plugin-transform-function-name@7.24.7(@babel/core@7.24.7): + '@babel/plugin-transform-function-name@7.24.7': resolution: {integrity: sha512-U9FcnA821YoILngSmYkW6FjyQe2TyZD5pHt4EVIhmcTkrJw/3KqcrRSxuOo5tFZJi7TE19iDyI1u+weTI7bn2w==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.24.7 - '@babel/helper-compilation-targets': 7.24.7 - '@babel/helper-function-name': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 - dev: true - /@babel/plugin-transform-json-strings@7.24.7(@babel/core@7.24.7): + '@babel/plugin-transform-json-strings@7.24.7': resolution: {integrity: sha512-2yFnBGDvRuxAaE/f0vfBKvtnvvqU8tGpMHqMNpTN2oWMKIR3NqFkjaAgGwawhqK/pIN2T3XdjGPdaG0vDhOBGw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 - '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.24.7) - dev: true - /@babel/plugin-transform-literals@7.24.7(@babel/core@7.24.7): + '@babel/plugin-transform-literals@7.24.7': resolution: {integrity: sha512-vcwCbb4HDH+hWi8Pqenwnjy+UiklO4Kt1vfspcQYFhJdpthSnW8XvWGyDZWKNVrVbVViI/S7K9PDJZiUmP2fYQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 - dev: true - /@babel/plugin-transform-logical-assignment-operators@7.24.7(@babel/core@7.24.7): + '@babel/plugin-transform-logical-assignment-operators@7.24.7': resolution: {integrity: sha512-4D2tpwlQ1odXmTEIFWy9ELJcZHqrStlzK/dAOWYyxX3zT0iXQB6banjgeOJQXzEc4S0E0a5A+hahxPaEFYftsw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 - '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.24.7) - dev: true - /@babel/plugin-transform-member-expression-literals@7.24.7(@babel/core@7.24.7): + '@babel/plugin-transform-member-expression-literals@7.24.7': resolution: {integrity: sha512-T/hRC1uqrzXMKLQ6UCwMT85S3EvqaBXDGf0FaMf4446Qx9vKwlghvee0+uuZcDUCZU5RuNi4781UQ7R308zzBw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 - dev: true - /@babel/plugin-transform-modules-amd@7.24.7(@babel/core@7.24.7): + '@babel/plugin-transform-modules-amd@7.24.7': resolution: {integrity: sha512-9+pB1qxV3vs/8Hdmz/CulFB8w2tuu6EB94JZFsjdqxQokwGa9Unap7Bo2gGBGIvPmDIVvQrom7r5m/TCDMURhg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.24.7 - '@babel/helper-module-transforms': 7.24.7(@babel/core@7.24.7) - '@babel/helper-plugin-utils': 7.24.7 - transitivePeerDependencies: - - supports-color - dev: true - /@babel/plugin-transform-modules-commonjs@7.24.7(@babel/core@7.24.7): + '@babel/plugin-transform-modules-commonjs@7.24.7': resolution: {integrity: sha512-iFI8GDxtevHJ/Z22J5xQpVqFLlMNstcLXh994xifFwxxGslr2ZXXLWgtBeLctOD63UFDArdvN6Tg8RFw+aEmjQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.24.7 - '@babel/helper-module-transforms': 7.24.7(@babel/core@7.24.7) - '@babel/helper-plugin-utils': 7.24.7 - '@babel/helper-simple-access': 7.24.7 - transitivePeerDependencies: - - supports-color - dev: true - /@babel/plugin-transform-modules-systemjs@7.24.7(@babel/core@7.24.7): + '@babel/plugin-transform-modules-systemjs@7.24.7': resolution: {integrity: sha512-GYQE0tW7YoaN13qFh3O1NCY4MPkUiAH3fiF7UcV/I3ajmDKEdG3l+UOcbAm4zUE3gnvUU+Eni7XrVKo9eO9auw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.24.7 - '@babel/helper-hoist-variables': 7.24.7 - '@babel/helper-module-transforms': 7.24.7(@babel/core@7.24.7) - '@babel/helper-plugin-utils': 7.24.7 - '@babel/helper-validator-identifier': 7.24.7 - transitivePeerDependencies: - - supports-color - dev: true - /@babel/plugin-transform-modules-umd@7.24.7(@babel/core@7.24.7): + '@babel/plugin-transform-modules-umd@7.24.7': resolution: {integrity: sha512-3aytQvqJ/h9z4g8AsKPLvD4Zqi2qT+L3j7XoFFu1XBlZWEl2/1kWnhmAbxpLgPrHSY0M6UA02jyTiwUVtiKR6A==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.24.7 - '@babel/helper-module-transforms': 7.24.7(@babel/core@7.24.7) - '@babel/helper-plugin-utils': 7.24.7 - transitivePeerDependencies: - - supports-color - dev: true - /@babel/plugin-transform-named-capturing-groups-regex@7.24.7(@babel/core@7.24.7): + '@babel/plugin-transform-named-capturing-groups-regex@7.24.7': resolution: {integrity: sha512-/jr7h/EWeJtk1U/uz2jlsCioHkZk1JJZVcc8oQsJ1dUlaJD83f4/6Zeh2aHt9BIFokHIsSeDfhUmju0+1GPd6g==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 - dependencies: - '@babel/core': 7.24.7 - '@babel/helper-create-regexp-features-plugin': 7.24.7(@babel/core@7.24.7) - '@babel/helper-plugin-utils': 7.24.7 - dev: true - /@babel/plugin-transform-new-target@7.24.7(@babel/core@7.24.7): + '@babel/plugin-transform-new-target@7.24.7': resolution: {integrity: sha512-RNKwfRIXg4Ls/8mMTza5oPF5RkOW8Wy/WgMAp1/F1yZ8mMbtwXW+HDoJiOsagWrAhI5f57Vncrmr9XeT4CVapA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 - dev: true - /@babel/plugin-transform-nullish-coalescing-operator@7.24.7(@babel/core@7.24.7): + '@babel/plugin-transform-nullish-coalescing-operator@7.24.7': resolution: {integrity: sha512-Ts7xQVk1OEocqzm8rHMXHlxvsfZ0cEF2yomUqpKENHWMF4zKk175Y4q8H5knJes6PgYad50uuRmt3UJuhBw8pQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 - '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.24.7) - dev: true - /@babel/plugin-transform-numeric-separator@7.24.7(@babel/core@7.24.7): + '@babel/plugin-transform-numeric-separator@7.24.7': resolution: {integrity: sha512-e6q1TiVUzvH9KRvicuxdBTUj4AdKSRwzIyFFnfnezpCfP2/7Qmbb8qbU2j7GODbl4JMkblitCQjKYUaX/qkkwA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 - '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.24.7) - dev: true - /@babel/plugin-transform-object-rest-spread@7.24.7(@babel/core@7.24.7): + '@babel/plugin-transform-object-rest-spread@7.24.7': resolution: {integrity: sha512-4QrHAr0aXQCEFni2q4DqKLD31n2DL+RxcwnNjDFkSG0eNQ/xCavnRkfCUjsyqGC2OviNJvZOF/mQqZBw7i2C5Q==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.24.7 - '@babel/helper-compilation-targets': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 - '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.24.7) - '@babel/plugin-transform-parameters': 7.24.7(@babel/core@7.24.7) - dev: true - /@babel/plugin-transform-object-super@7.24.7(@babel/core@7.24.7): + '@babel/plugin-transform-object-super@7.24.7': resolution: {integrity: sha512-A/vVLwN6lBrMFmMDmPPz0jnE6ZGx7Jq7d6sT/Ev4H65RER6pZ+kczlf1DthF5N0qaPHBsI7UXiE8Zy66nmAovg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 - '@babel/helper-replace-supers': 7.24.7(@babel/core@7.24.7) - transitivePeerDependencies: - - supports-color - dev: true - /@babel/plugin-transform-optional-catch-binding@7.24.7(@babel/core@7.24.7): + '@babel/plugin-transform-optional-catch-binding@7.24.7': resolution: {integrity: sha512-uLEndKqP5BfBbC/5jTwPxLh9kqPWWgzN/f8w6UwAIirAEqiIVJWWY312X72Eub09g5KF9+Zn7+hT7sDxmhRuKA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 - '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.24.7) - dev: true - /@babel/plugin-transform-optional-chaining@7.24.7(@babel/core@7.24.7): + '@babel/plugin-transform-optional-chaining@7.24.7': resolution: {integrity: sha512-tK+0N9yd4j+x/4hxF3F0e0fu/VdcxU18y5SevtyM/PCFlQvXbR0Zmlo2eBrKtVipGNFzpq56o8WsIIKcJFUCRQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 - '@babel/helper-skip-transparent-expression-wrappers': 7.24.7 - '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.24.7) - transitivePeerDependencies: - - supports-color - dev: true - /@babel/plugin-transform-parameters@7.24.7(@babel/core@7.24.7): + '@babel/plugin-transform-parameters@7.24.7': resolution: {integrity: sha512-yGWW5Rr+sQOhK0Ot8hjDJuxU3XLRQGflvT4lhlSY0DFvdb3TwKaY26CJzHtYllU0vT9j58hc37ndFPsqT1SrzA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 - dev: true - /@babel/plugin-transform-private-methods@7.24.7(@babel/core@7.24.7): + '@babel/plugin-transform-private-methods@7.24.7': resolution: {integrity: sha512-COTCOkG2hn4JKGEKBADkA8WNb35TGkkRbI5iT845dB+NyqgO8Hn+ajPbSnIQznneJTa3d30scb6iz/DhH8GsJQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.24.7 - '@babel/helper-create-class-features-plugin': 7.24.7(@babel/core@7.24.7) - '@babel/helper-plugin-utils': 7.24.7 - transitivePeerDependencies: - - supports-color - dev: true - /@babel/plugin-transform-private-property-in-object@7.24.7(@babel/core@7.24.7): + '@babel/plugin-transform-private-property-in-object@7.24.7': resolution: {integrity: sha512-9z76mxwnwFxMyxZWEgdgECQglF2Q7cFLm0kMf8pGwt+GSJsY0cONKj/UuO4bOH0w/uAel3ekS4ra5CEAyJRmDA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.24.7 - '@babel/helper-annotate-as-pure': 7.24.7 - '@babel/helper-create-class-features-plugin': 7.24.7(@babel/core@7.24.7) - '@babel/helper-plugin-utils': 7.24.7 - '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.24.7) - transitivePeerDependencies: - - supports-color - dev: true - /@babel/plugin-transform-property-literals@7.24.7(@babel/core@7.24.7): + '@babel/plugin-transform-property-literals@7.24.7': resolution: {integrity: sha512-EMi4MLQSHfd2nrCqQEWxFdha2gBCqU4ZcCng4WBGZ5CJL4bBRW0ptdqqDdeirGZcpALazVVNJqRmsO8/+oNCBA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 - dev: true - /@babel/plugin-transform-regenerator@7.24.7(@babel/core@7.24.7): + '@babel/plugin-transform-regenerator@7.24.7': resolution: {integrity: sha512-lq3fvXPdimDrlg6LWBoqj+r/DEWgONuwjuOuQCSYgRroXDH/IdM1C0IZf59fL5cHLpjEH/O6opIRBbqv7ELnuA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 - regenerator-transform: 0.15.2 - dev: true - /@babel/plugin-transform-reserved-words@7.24.7(@babel/core@7.24.7): + '@babel/plugin-transform-reserved-words@7.24.7': resolution: {integrity: sha512-0DUq0pHcPKbjFZCfTss/pGkYMfy3vFWydkUBd9r0GHpIyfs2eCDENvqadMycRS9wZCXR41wucAfJHJmwA0UmoQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 - dev: true - /@babel/plugin-transform-shorthand-properties@7.24.7(@babel/core@7.24.7): + '@babel/plugin-transform-shorthand-properties@7.24.7': resolution: {integrity: sha512-KsDsevZMDsigzbA09+vacnLpmPH4aWjcZjXdyFKGzpplxhbeB4wYtury3vglQkg6KM/xEPKt73eCjPPf1PgXBA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 - dev: true - /@babel/plugin-transform-spread@7.24.7(@babel/core@7.24.7): + '@babel/plugin-transform-spread@7.24.7': resolution: {integrity: sha512-x96oO0I09dgMDxJaANcRyD4ellXFLLiWhuwDxKZX5g2rWP1bTPkBSwCYv96VDXVT1bD9aPj8tppr5ITIh8hBng==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 - '@babel/helper-skip-transparent-expression-wrappers': 7.24.7 - transitivePeerDependencies: - - supports-color - dev: true - /@babel/plugin-transform-sticky-regex@7.24.7(@babel/core@7.24.7): + '@babel/plugin-transform-sticky-regex@7.24.7': resolution: {integrity: sha512-kHPSIJc9v24zEml5geKg9Mjx5ULpfncj0wRpYtxbvKyTtHCYDkVE3aHQ03FrpEo4gEe2vrJJS1Y9CJTaThA52g==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 - dev: true - /@babel/plugin-transform-template-literals@7.24.7(@babel/core@7.24.7): + '@babel/plugin-transform-template-literals@7.24.7': resolution: {integrity: sha512-AfDTQmClklHCOLxtGoP7HkeMw56k1/bTQjwsfhL6pppo/M4TOBSq+jjBUBLmV/4oeFg4GWMavIl44ZeCtmmZTw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 - dev: true - /@babel/plugin-transform-typeof-symbol@7.24.7(@babel/core@7.24.7): + '@babel/plugin-transform-typeof-symbol@7.24.7': resolution: {integrity: sha512-VtR8hDy7YLB7+Pet9IarXjg/zgCMSF+1mNS/EQEiEaUPoFXCVsHG64SIxcaaI2zJgRiv+YmgaQESUfWAdbjzgg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 - dev: true - /@babel/plugin-transform-typescript@7.24.7(@babel/core@7.24.7): + '@babel/plugin-transform-typescript@7.24.7': resolution: {integrity: sha512-iLD3UNkgx2n/HrjBesVbYX6j0yqn/sJktvbtKKgcaLIQ4bTTQ8obAypc1VpyHPD2y4Phh9zHOaAt8e/L14wCpw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.24.7 - '@babel/helper-annotate-as-pure': 7.24.7 - '@babel/helper-create-class-features-plugin': 7.24.7(@babel/core@7.24.7) - '@babel/helper-plugin-utils': 7.24.7 - '@babel/plugin-syntax-typescript': 7.24.7(@babel/core@7.24.7) - transitivePeerDependencies: - - supports-color - dev: true - /@babel/plugin-transform-unicode-escapes@7.24.7(@babel/core@7.24.7): + '@babel/plugin-transform-unicode-escapes@7.24.7': resolution: {integrity: sha512-U3ap1gm5+4edc2Q/P+9VrBNhGkfnf+8ZqppY71Bo/pzZmXhhLdqgaUl6cuB07O1+AQJtCLfaOmswiNbSQ9ivhw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 - dev: true - /@babel/plugin-transform-unicode-property-regex@7.24.7(@babel/core@7.24.7): + '@babel/plugin-transform-unicode-property-regex@7.24.7': resolution: {integrity: sha512-uH2O4OV5M9FZYQrwc7NdVmMxQJOCCzFeYudlZSzUAHRFeOujQefa92E74TQDVskNHCzOXoigEuoyzHDhaEaK5w==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.24.7 - '@babel/helper-create-regexp-features-plugin': 7.24.7(@babel/core@7.24.7) - '@babel/helper-plugin-utils': 7.24.7 - dev: true - /@babel/plugin-transform-unicode-regex@7.24.7(@babel/core@7.24.7): + '@babel/plugin-transform-unicode-regex@7.24.7': resolution: {integrity: sha512-hlQ96MBZSAXUq7ltkjtu3FJCCSMx/j629ns3hA3pXnBXjanNP0LHi+JpPeA81zaWgVK1VGH95Xuy7u0RyQ8kMg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.24.7 - '@babel/helper-create-regexp-features-plugin': 7.24.7(@babel/core@7.24.7) - '@babel/helper-plugin-utils': 7.24.7 - dev: true - /@babel/plugin-transform-unicode-sets-regex@7.24.7(@babel/core@7.24.7): + '@babel/plugin-transform-unicode-sets-regex@7.24.7': resolution: {integrity: sha512-2G8aAvF4wy1w/AGZkemprdGMRg5o6zPNhbHVImRz3lss55TYCBd6xStN19rt8XJHq20sqV0JbyWjOWwQRwV/wg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 - dependencies: - '@babel/core': 7.24.7 - '@babel/helper-create-regexp-features-plugin': 7.24.7(@babel/core@7.24.7) - '@babel/helper-plugin-utils': 7.24.7 - dev: true - /@babel/preset-env@7.24.7(@babel/core@7.24.7): + '@babel/preset-env@7.24.7': resolution: {integrity: sha512-1YZNsc+y6cTvWlDHidMBsQZrZfEFjRIo/BZCT906PMdzOyXtSLTgqGdrpcuTDCXyd11Am5uQULtDIcCfnTc8fQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - dependencies: - '@babel/compat-data': 7.24.7 - '@babel/core': 7.24.7 - '@babel/helper-compilation-targets': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 - '@babel/helper-validator-option': 7.24.7 - '@babel/plugin-bugfix-firefox-class-in-computed-class-key': 7.24.7(@babel/core@7.24.7) - '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression': 7.24.7(@babel/core@7.24.7) - '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.24.7(@babel/core@7.24.7) - '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly': 7.24.7(@babel/core@7.24.7) - '@babel/plugin-proposal-private-property-in-object': 7.21.0-placeholder-for-preset-env.2(@babel/core@7.24.7) - '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.24.7) - '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.24.7) - '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.24.7) - '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.24.7) - '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.24.7) - '@babel/plugin-syntax-import-assertions': 7.24.7(@babel/core@7.24.7) - '@babel/plugin-syntax-import-attributes': 7.24.7(@babel/core@7.24.7) - '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.24.7) - '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.24.7) - '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.24.7) - '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.24.7) - '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.24.7) - '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.24.7) - '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.24.7) - '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.24.7) - '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.24.7) - '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.24.7) - '@babel/plugin-syntax-unicode-sets-regex': 7.18.6(@babel/core@7.24.7) - '@babel/plugin-transform-arrow-functions': 7.24.7(@babel/core@7.24.7) - '@babel/plugin-transform-async-generator-functions': 7.24.7(@babel/core@7.24.7) - '@babel/plugin-transform-async-to-generator': 7.24.7(@babel/core@7.24.7) - '@babel/plugin-transform-block-scoped-functions': 7.24.7(@babel/core@7.24.7) - '@babel/plugin-transform-block-scoping': 7.24.7(@babel/core@7.24.7) - '@babel/plugin-transform-class-properties': 7.24.7(@babel/core@7.24.7) - '@babel/plugin-transform-class-static-block': 7.24.7(@babel/core@7.24.7) - '@babel/plugin-transform-classes': 7.24.7(@babel/core@7.24.7) - '@babel/plugin-transform-computed-properties': 7.24.7(@babel/core@7.24.7) - '@babel/plugin-transform-destructuring': 7.24.7(@babel/core@7.24.7) - '@babel/plugin-transform-dotall-regex': 7.24.7(@babel/core@7.24.7) - '@babel/plugin-transform-duplicate-keys': 7.24.7(@babel/core@7.24.7) - '@babel/plugin-transform-dynamic-import': 7.24.7(@babel/core@7.24.7) - '@babel/plugin-transform-exponentiation-operator': 7.24.7(@babel/core@7.24.7) - '@babel/plugin-transform-export-namespace-from': 7.24.7(@babel/core@7.24.7) - '@babel/plugin-transform-for-of': 7.24.7(@babel/core@7.24.7) - '@babel/plugin-transform-function-name': 7.24.7(@babel/core@7.24.7) - '@babel/plugin-transform-json-strings': 7.24.7(@babel/core@7.24.7) - '@babel/plugin-transform-literals': 7.24.7(@babel/core@7.24.7) - '@babel/plugin-transform-logical-assignment-operators': 7.24.7(@babel/core@7.24.7) - '@babel/plugin-transform-member-expression-literals': 7.24.7(@babel/core@7.24.7) - '@babel/plugin-transform-modules-amd': 7.24.7(@babel/core@7.24.7) - '@babel/plugin-transform-modules-commonjs': 7.24.7(@babel/core@7.24.7) - '@babel/plugin-transform-modules-systemjs': 7.24.7(@babel/core@7.24.7) - '@babel/plugin-transform-modules-umd': 7.24.7(@babel/core@7.24.7) - '@babel/plugin-transform-named-capturing-groups-regex': 7.24.7(@babel/core@7.24.7) - '@babel/plugin-transform-new-target': 7.24.7(@babel/core@7.24.7) - '@babel/plugin-transform-nullish-coalescing-operator': 7.24.7(@babel/core@7.24.7) - '@babel/plugin-transform-numeric-separator': 7.24.7(@babel/core@7.24.7) - '@babel/plugin-transform-object-rest-spread': 7.24.7(@babel/core@7.24.7) - '@babel/plugin-transform-object-super': 7.24.7(@babel/core@7.24.7) - '@babel/plugin-transform-optional-catch-binding': 7.24.7(@babel/core@7.24.7) - '@babel/plugin-transform-optional-chaining': 7.24.7(@babel/core@7.24.7) - '@babel/plugin-transform-parameters': 7.24.7(@babel/core@7.24.7) - '@babel/plugin-transform-private-methods': 7.24.7(@babel/core@7.24.7) - '@babel/plugin-transform-private-property-in-object': 7.24.7(@babel/core@7.24.7) - '@babel/plugin-transform-property-literals': 7.24.7(@babel/core@7.24.7) - '@babel/plugin-transform-regenerator': 7.24.7(@babel/core@7.24.7) - '@babel/plugin-transform-reserved-words': 7.24.7(@babel/core@7.24.7) - '@babel/plugin-transform-shorthand-properties': 7.24.7(@babel/core@7.24.7) - '@babel/plugin-transform-spread': 7.24.7(@babel/core@7.24.7) - '@babel/plugin-transform-sticky-regex': 7.24.7(@babel/core@7.24.7) - '@babel/plugin-transform-template-literals': 7.24.7(@babel/core@7.24.7) - '@babel/plugin-transform-typeof-symbol': 7.24.7(@babel/core@7.24.7) - '@babel/plugin-transform-unicode-escapes': 7.24.7(@babel/core@7.24.7) - '@babel/plugin-transform-unicode-property-regex': 7.24.7(@babel/core@7.24.7) - '@babel/plugin-transform-unicode-regex': 7.24.7(@babel/core@7.24.7) - '@babel/plugin-transform-unicode-sets-regex': 7.24.7(@babel/core@7.24.7) - '@babel/preset-modules': 0.1.6-no-external-plugins(@babel/core@7.24.7) - babel-plugin-polyfill-corejs2: 0.4.11(@babel/core@7.24.7) - babel-plugin-polyfill-corejs3: 0.10.4(@babel/core@7.24.7) - babel-plugin-polyfill-regenerator: 0.6.2(@babel/core@7.24.7) - core-js-compat: 3.37.1 - semver: 6.3.1 - transitivePeerDependencies: - - supports-color - dev: true - /@babel/preset-modules@0.1.6-no-external-plugins(@babel/core@7.24.7): + '@babel/preset-modules@0.1.6-no-external-plugins': resolution: {integrity: sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA==} peerDependencies: '@babel/core': ^7.0.0-0 || ^8.0.0-0 <8.0.0 - dependencies: - '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 - '@babel/types': 7.24.7 - esutils: 2.0.3 - dev: true - /@babel/preset-typescript@7.24.7(@babel/core@7.24.7): + '@babel/preset-typescript@7.24.7': resolution: {integrity: sha512-SyXRe3OdWwIwalxDg5UtJnJQO+YPcTfwiIY2B0Xlddh9o7jpWLvv8X1RthIeDOxQ+O1ML5BLPCONToObyVQVuQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 - '@babel/helper-validator-option': 7.24.7 - '@babel/plugin-syntax-jsx': 7.24.7(@babel/core@7.24.7) - '@babel/plugin-transform-modules-commonjs': 7.24.7(@babel/core@7.24.7) - '@babel/plugin-transform-typescript': 7.24.7(@babel/core@7.24.7) - transitivePeerDependencies: - - supports-color - dev: true - /@babel/regjsgen@0.8.0: + '@babel/regjsgen@0.8.0': resolution: {integrity: sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA==} - dev: true - /@babel/runtime@7.24.7: + '@babel/runtime@7.24.7': resolution: {integrity: sha512-UwgBRMjJP+xv857DCngvqXI3Iq6J4v0wXmwc6sapg+zyhbwmQX67LUEFrkK5tbyJ30jGuG3ZvWpBiB9LCy1kWw==} engines: {node: '>=6.9.0'} - dependencies: - regenerator-runtime: 0.14.1 - dev: true - /@babel/template@7.24.7: + '@babel/template@7.24.7': resolution: {integrity: sha512-jYqfPrU9JTF0PmPy1tLYHW4Mp4KlgxJD9l2nP9fD6yT/ICi554DmrWBAEYpIelzjHf1msDP3PxJIRt/nFNfBig==} engines: {node: '>=6.9.0'} - dependencies: - '@babel/code-frame': 7.24.7 - '@babel/parser': 7.24.7 - '@babel/types': 7.24.7 - dev: true - /@babel/traverse@7.24.7: + '@babel/traverse@7.24.7': resolution: {integrity: sha512-yb65Ed5S/QAcewNPh0nZczy9JdYXkkAbIsEo+P7BE7yO3txAY30Y/oPa3QkQ5It3xVG2kpKMg9MsdxZaO31uKA==} engines: {node: '>=6.9.0'} - dependencies: - '@babel/code-frame': 7.24.7 - '@babel/generator': 7.24.7 - '@babel/helper-environment-visitor': 7.24.7 - '@babel/helper-function-name': 7.24.7 - '@babel/helper-hoist-variables': 7.24.7 - '@babel/helper-split-export-declaration': 7.24.7 - '@babel/parser': 7.24.7 - '@babel/types': 7.24.7 - debug: 4.3.5(supports-color@8.1.1) - globals: 11.12.0 - transitivePeerDependencies: - - supports-color - dev: true - /@babel/types@7.24.7: + '@babel/types@7.24.7': resolution: {integrity: sha512-XEFXSlxiG5td2EJRe8vOmRbaXVgfcBlszKujvVmWIK/UpywWljQCfzAv3RQCGujWQ1RD4YYWEAqDXfuJiy8f5Q==} engines: {node: '>=6.9.0'} - dependencies: - '@babel/helper-string-parser': 7.24.7 - '@babel/helper-validator-identifier': 7.24.7 - to-fast-properties: 2.0.0 - /@bcherny/json-schema-ref-parser@10.0.5-fork: + '@bcherny/json-schema-ref-parser@10.0.5-fork': resolution: {integrity: sha512-E/jKbPoca1tfUPj3iSbitDZTGnq6FUFjkH6L8U2oDwSuwK1WhnnVtCG7oFOTg/DDnyoXbQYUiUiGOibHqaGVnw==} engines: {node: '>= 16'} - dependencies: - '@jsdevtools/ono': 7.1.3 - '@types/json-schema': 7.0.15 - call-me-maybe: 1.0.2 - js-yaml: 4.1.0 - dev: true - /@bcoe/v8-coverage@0.2.3: + '@bcoe/v8-coverage@0.2.3': resolution: {integrity: sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==} - dev: true - /@braintree/sanitize-url@7.0.2: + '@braintree/sanitize-url@7.0.2': resolution: {integrity: sha512-NVf/1YycDMs6+FxS0Tb/W8MjJRDQdXF+tBfDtZ5UZeiRUkTmwKc4vmYCKZTyymfJk1gnMsauvZSX/HiV9jOABw==} - dev: false - /@chevrotain/cst-dts-gen@11.0.3: + '@chevrotain/cst-dts-gen@11.0.3': resolution: {integrity: sha512-BvIKpRLeS/8UbfxXxgC33xOumsacaeCKAjAeLyOn7Pcp95HiRbrpl14S+9vaZLolnbssPIUuiUd8IvgkRyt6NQ==} - dependencies: - '@chevrotain/gast': 11.0.3 - '@chevrotain/types': 11.0.3 - lodash-es: 4.17.21 - /@chevrotain/gast@11.0.3: + '@chevrotain/gast@11.0.3': resolution: {integrity: sha512-+qNfcoNk70PyS/uxmj3li5NiECO+2YKZZQMbmjTqRI3Qchu8Hig/Q9vgkHpI3alNjr7M+a2St5pw5w5F6NL5/Q==} - dependencies: - '@chevrotain/types': 11.0.3 - lodash-es: 4.17.21 - /@chevrotain/regexp-to-ast@11.0.3: + '@chevrotain/regexp-to-ast@11.0.3': resolution: {integrity: sha512-1fMHaBZxLFvWI067AVbGJav1eRY7N8DDvYCTwGBiE/ytKBgP8azTdgyrKyWZ9Mfh09eHWb5PgTSO8wi7U824RA==} - /@chevrotain/types@11.0.3: + '@chevrotain/types@11.0.3': resolution: {integrity: sha512-gsiM3G8b58kZC2HaWR50gu6Y1440cHiJ+i3JUvcp/35JchYejb2+5MVeJK0iKThYpAa/P2PYFV4hoi44HD+aHQ==} - /@chevrotain/utils@11.0.3: + '@chevrotain/utils@11.0.3': resolution: {integrity: sha512-YslZMgtJUyuMbZ+aKvfF3x1f5liK4mWNxghFRv7jqRR9C3R3fAOGTTKvxXDa2Y1s9zSbcpuO0cAxDYsc9SrXoQ==} - /@colors/colors@1.5.0: + '@colors/colors@1.5.0': resolution: {integrity: sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==} engines: {node: '>=0.1.90'} - requiresBuild: true - dev: true - optional: true - /@cspell/cspell-bundled-dicts@8.8.4: + '@cspell/cspell-bundled-dicts@8.8.4': resolution: {integrity: sha512-k9ZMO2kayQFXB3B45b1xXze3MceAMNy9U+D7NTnWB1i3S0y8LhN53U9JWWgqHGPQaHaLHzizL7/w1aGHTA149Q==} engines: {node: '>=18'} - dependencies: - '@cspell/dict-ada': 4.0.2 - '@cspell/dict-aws': 4.0.2 - '@cspell/dict-bash': 4.1.3 - '@cspell/dict-companies': 3.1.2 - '@cspell/dict-cpp': 5.1.9 - '@cspell/dict-cryptocurrencies': 5.0.0 - '@cspell/dict-csharp': 4.0.2 - '@cspell/dict-css': 4.0.12 - '@cspell/dict-dart': 2.0.3 - '@cspell/dict-django': 4.1.0 - '@cspell/dict-docker': 1.1.7 - '@cspell/dict-dotnet': 5.0.2 - '@cspell/dict-elixir': 4.0.3 - '@cspell/dict-en-common-misspellings': 2.0.1 - '@cspell/dict-en-gb': 1.1.33 - '@cspell/dict-en_us': 4.3.21 - '@cspell/dict-filetypes': 3.0.4 - '@cspell/dict-fonts': 4.0.0 - '@cspell/dict-fsharp': 1.0.1 - '@cspell/dict-fullstack': 3.1.8 - '@cspell/dict-gaming-terms': 1.0.5 - '@cspell/dict-git': 3.0.0 - '@cspell/dict-golang': 6.0.9 - '@cspell/dict-google': 1.0.1 - '@cspell/dict-haskell': 4.0.1 - '@cspell/dict-html': 4.0.5 - '@cspell/dict-html-symbol-entities': 4.0.0 - '@cspell/dict-java': 5.0.7 - '@cspell/dict-julia': 1.0.1 - '@cspell/dict-k8s': 1.0.5 - '@cspell/dict-latex': 4.0.0 - '@cspell/dict-lorem-ipsum': 4.0.0 - '@cspell/dict-lua': 4.0.3 - '@cspell/dict-makefile': 1.0.0 - '@cspell/dict-monkeyc': 1.0.6 - '@cspell/dict-node': 5.0.1 - '@cspell/dict-npm': 5.0.16 - '@cspell/dict-php': 4.0.8 - '@cspell/dict-powershell': 5.0.4 - '@cspell/dict-public-licenses': 2.0.7 - '@cspell/dict-python': 4.2.1 - '@cspell/dict-r': 2.0.1 - '@cspell/dict-ruby': 5.0.2 - '@cspell/dict-rust': 4.0.4 - '@cspell/dict-scala': 5.0.2 - '@cspell/dict-software-terms': 3.4.5 - '@cspell/dict-sql': 2.1.3 - '@cspell/dict-svelte': 1.0.2 - '@cspell/dict-swift': 2.0.1 - '@cspell/dict-terraform': 1.0.0 - '@cspell/dict-typescript': 3.1.5 - '@cspell/dict-vue': 3.0.0 - dev: true - /@cspell/cspell-json-reporter@8.8.4: + '@cspell/cspell-json-reporter@8.8.4': resolution: {integrity: sha512-ITpOeNyDHD+4B9QmLJx6YYtrB1saRsrCLluZ34YaICemNLuumVRP1vSjcdoBtefvGugCOn5nPK7igw0r/vdAvA==} engines: {node: '>=18'} - dependencies: - '@cspell/cspell-types': 8.8.4 - dev: true - /@cspell/cspell-pipe@8.8.4: + '@cspell/cspell-pipe@8.8.4': resolution: {integrity: sha512-Uis9iIEcv1zOogXiDVSegm9nzo5NRmsRDsW8CteLRg6PhyZ0nnCY1PZIUy3SbGF0vIcb/M+XsdLSh2wOPqTXww==} engines: {node: '>=18'} - dev: true - /@cspell/cspell-resolver@8.8.4: + '@cspell/cspell-resolver@8.8.4': resolution: {integrity: sha512-eZVw31nSeh6xKl7TzzkZVMTX/mgwhUw40/q1Sqo7CTPurIBg66oelEqKRclX898jzd2/qSK+ZFwBDxvV7QH38A==} engines: {node: '>=18'} - dependencies: - global-directory: 4.0.1 - dev: true - /@cspell/cspell-service-bus@8.8.4: + '@cspell/cspell-service-bus@8.8.4': resolution: {integrity: sha512-KtwJ38uPLrm2Q8osmMIAl2NToA/CMyZCxck4msQJnskdo30IPSdA1Rh0w6zXinmh1eVe0zNEVCeJ2+x23HqW+g==} engines: {node: '>=18'} - dev: true - /@cspell/cspell-types@8.8.4: + '@cspell/cspell-types@8.8.4': resolution: {integrity: sha512-ya9Jl4+lghx2eUuZNY6pcbbrnResgEAomvglhdbEGqy+B5MPEqY5Jt45APEmGqHzTNks7oFFaiTIbXYJAFBR7A==} engines: {node: '>=18'} - dev: true - /@cspell/dict-ada@4.0.2: + '@cspell/dict-ada@4.0.2': resolution: {integrity: sha512-0kENOWQeHjUlfyId/aCM/mKXtkEgV0Zu2RhUXCBr4hHo9F9vph+Uu8Ww2b0i5a4ZixoIkudGA+eJvyxrG1jUpA==} - dev: true - /@cspell/dict-aws@4.0.2: + '@cspell/dict-aws@4.0.2': resolution: {integrity: sha512-aNGHWSV7dRLTIn8WJemzLoMF62qOaiUQlgnsCwH5fRCD/00gsWCwg106pnbkmK4AyabyxzneOV4dfecDJWkSxw==} - dev: true - /@cspell/dict-bash@4.1.3: + '@cspell/dict-bash@4.1.3': resolution: {integrity: sha512-tOdI3QVJDbQSwPjUkOiQFhYcu2eedmX/PtEpVWg0aFps/r6AyjUQINtTgpqMYnYuq8O1QUIQqnpx21aovcgZCw==} - dev: true - /@cspell/dict-companies@3.1.2: + '@cspell/dict-companies@3.1.2': resolution: {integrity: sha512-OwR5i1xbYuJX7FtHQySmTy3iJtPV1rZQ3jFCxFGwrA1xRQ4rtRcDQ+sTXBCIAoJHkXa84f9J3zsngOKmMGyS/w==} - dev: true - /@cspell/dict-cpp@5.1.9: + '@cspell/dict-cpp@5.1.9': resolution: {integrity: sha512-lZmPKn3qfkWQ7tr+yw6JhuhscsyRgRHEOpOd0fhtPt0N154FNsGebGGLW0SOZUuGgW7Nk3lCCwHP85GIemnlqQ==} - dev: true - /@cspell/dict-cryptocurrencies@5.0.0: + '@cspell/dict-cryptocurrencies@5.0.0': resolution: {integrity: sha512-Z4ARIw5+bvmShL+4ZrhDzGhnc9znaAGHOEMaB/GURdS/jdoreEDY34wdN0NtdLHDO5KO7GduZnZyqGdRoiSmYA==} - dev: true - /@cspell/dict-csharp@4.0.2: + '@cspell/dict-csharp@4.0.2': resolution: {integrity: sha512-1JMofhLK+4p4KairF75D3A924m5ERMgd1GvzhwK2geuYgd2ZKuGW72gvXpIV7aGf52E3Uu1kDXxxGAiZ5uVG7g==} - dev: true - /@cspell/dict-css@4.0.12: + '@cspell/dict-css@4.0.12': resolution: {integrity: sha512-vGBgPM92MkHQF5/2jsWcnaahOZ+C6OE/fPvd5ScBP72oFY9tn5GLuomcyO0z8vWCr2e0nUSX1OGimPtcQAlvSw==} - dev: true - /@cspell/dict-dart@2.0.3: + '@cspell/dict-dart@2.0.3': resolution: {integrity: sha512-cLkwo1KT5CJY5N5RJVHks2genFkNCl/WLfj+0fFjqNR+tk3tBI1LY7ldr9piCtSFSm4x9pO1x6IV3kRUY1lLiw==} - dev: true - /@cspell/dict-data-science@2.0.1: + '@cspell/dict-data-science@2.0.1': resolution: {integrity: sha512-xeutkzK0eBe+LFXOFU2kJeAYO6IuFUc1g7iRLr7HeCmlC4rsdGclwGHh61KmttL3+YHQytYStxaRBdGAXWC8Lw==} - dev: true - /@cspell/dict-django@4.1.0: + '@cspell/dict-django@4.1.0': resolution: {integrity: sha512-bKJ4gPyrf+1c78Z0Oc4trEB9MuhcB+Yg+uTTWsvhY6O2ncFYbB/LbEZfqhfmmuK/XJJixXfI1laF2zicyf+l0w==} - dev: true - /@cspell/dict-docker@1.1.7: + '@cspell/dict-docker@1.1.7': resolution: {integrity: sha512-XlXHAr822euV36GGsl2J1CkBIVg3fZ6879ZOg5dxTIssuhUOCiV2BuzKZmt6aIFmcdPmR14+9i9Xq+3zuxeX0A==} - dev: true - /@cspell/dict-dotnet@5.0.2: + '@cspell/dict-dotnet@5.0.2': resolution: {integrity: sha512-UD/pO2A2zia/YZJ8Kck/F6YyDSpCMq0YvItpd4YbtDVzPREfTZ48FjZsbYi4Jhzwfvc6o8R56JusAE58P+4sNQ==} - dev: true - /@cspell/dict-elixir@4.0.3: + '@cspell/dict-elixir@4.0.3': resolution: {integrity: sha512-g+uKLWvOp9IEZvrIvBPTr/oaO6619uH/wyqypqvwpmnmpjcfi8+/hqZH8YNKt15oviK8k4CkINIqNhyndG9d9Q==} - dev: true - /@cspell/dict-en-common-misspellings@2.0.1: + '@cspell/dict-en-common-misspellings@2.0.1': resolution: {integrity: sha512-uWaP8UG4uvcPyqaG0FzPKCm5kfmhsiiQ45Fs6b3/AEAqfq7Fj1JW0+S3qRt85FQA9SoU6gUJCz9wkK/Ylh7m5A==} - dev: true - /@cspell/dict-en-gb@1.1.33: + '@cspell/dict-en-gb@1.1.33': resolution: {integrity: sha512-tKSSUf9BJEV+GJQAYGw5e+ouhEe2ZXE620S7BLKe3ZmpnjlNG9JqlnaBhkIMxKnNFkLY2BP/EARzw31AZnOv4g==} - dev: true - /@cspell/dict-en_us@4.3.21: + '@cspell/dict-en_us@4.3.21': resolution: {integrity: sha512-Bzoo2aS4Pej/MGIFlATpp0wMt9IzVHrhDjdV7FgkAIXbjrOn67ojbTxCgWs8AuCNVfK8lBYGEvs5+ElH1msF8w==} - dev: true - /@cspell/dict-filetypes@3.0.4: + '@cspell/dict-filetypes@3.0.4': resolution: {integrity: sha512-IBi8eIVdykoGgIv5wQhOURi5lmCNJq0we6DvqKoPQJHthXbgsuO1qrHSiUVydMiQl/XvcnUWTMeAlVUlUClnVg==} - dev: true - /@cspell/dict-fonts@4.0.0: + '@cspell/dict-fonts@4.0.0': resolution: {integrity: sha512-t9V4GeN/m517UZn63kZPUYP3OQg5f0OBLSd3Md5CU3eH1IFogSvTzHHnz4Wqqbv8NNRiBZ3HfdY/pqREZ6br3Q==} - dev: true - /@cspell/dict-fsharp@1.0.1: + '@cspell/dict-fsharp@1.0.1': resolution: {integrity: sha512-23xyPcD+j+NnqOjRHgW3IU7Li912SX9wmeefcY0QxukbAxJ/vAN4rBpjSwwYZeQPAn3fxdfdNZs03fg+UM+4yQ==} - dev: true - /@cspell/dict-fullstack@3.1.8: + '@cspell/dict-fullstack@3.1.8': resolution: {integrity: sha512-YRlZupL7uqMCtEBK0bDP9BrcPnjDhz7m4GBqCc1EYqfXauHbLmDT8ELha7T/E7wsFKniHSjzwDZzhNXo2lusRQ==} - dev: true - /@cspell/dict-gaming-terms@1.0.5: + '@cspell/dict-gaming-terms@1.0.5': resolution: {integrity: sha512-C3riccZDD3d9caJQQs1+MPfrUrQ+0KHdlj9iUR1QD92FgTOF6UxoBpvHUUZ9YSezslcmpFQK4xQQ5FUGS7uWfw==} - dev: true - /@cspell/dict-git@3.0.0: + '@cspell/dict-git@3.0.0': resolution: {integrity: sha512-simGS/lIiXbEaqJu9E2VPoYW1OTC2xrwPPXNXFMa2uo/50av56qOuaxDrZ5eH1LidFXwoc8HROCHYeKoNrDLSw==} - dev: true - /@cspell/dict-golang@6.0.9: + '@cspell/dict-golang@6.0.9': resolution: {integrity: sha512-etDt2WQauyEQDA+qPS5QtkYTb2I9l5IfQftAllVoB1aOrT6bxxpHvMEpJ0Hsn/vezxrCqa/BmtUbRxllIxIuSg==} - dev: true - /@cspell/dict-google@1.0.1: + '@cspell/dict-google@1.0.1': resolution: {integrity: sha512-dQr4M3n95uOhtloNSgB9tYYGXGGEGEykkFyRtfcp5pFuEecYUa0BSgtlGKx9RXVtJtKgR+yFT/a5uQSlt8WjqQ==} - dev: true - /@cspell/dict-haskell@4.0.1: + '@cspell/dict-haskell@4.0.1': resolution: {integrity: sha512-uRrl65mGrOmwT7NxspB4xKXFUenNC7IikmpRZW8Uzqbqcu7ZRCUfstuVH7T1rmjRgRkjcIjE4PC11luDou4wEQ==} - dev: true - /@cspell/dict-html-symbol-entities@4.0.0: + '@cspell/dict-html-symbol-entities@4.0.0': resolution: {integrity: sha512-HGRu+48ErJjoweR5IbcixxETRewrBb0uxQBd6xFGcxbEYCX8CnQFTAmKI5xNaIt2PKaZiJH3ijodGSqbKdsxhw==} - dev: true - /@cspell/dict-html@4.0.5: + '@cspell/dict-html@4.0.5': resolution: {integrity: sha512-p0brEnRybzSSWi8sGbuVEf7jSTDmXPx7XhQUb5bgG6b54uj+Z0Qf0V2n8b/LWwIPJNd1GygaO9l8k3HTCy1h4w==} - dev: true - /@cspell/dict-java@5.0.7: + '@cspell/dict-java@5.0.7': resolution: {integrity: sha512-ejQ9iJXYIq7R09BScU2y5OUGrSqwcD+J5mHFOKbduuQ5s/Eh/duz45KOzykeMLI6KHPVxhBKpUPBWIsfewECpQ==} - dev: true - /@cspell/dict-julia@1.0.1: + '@cspell/dict-julia@1.0.1': resolution: {integrity: sha512-4JsCLCRhhLMLiaHpmR7zHFjj1qOauzDI5ZzCNQS31TUMfsOo26jAKDfo0jljFAKgw5M2fEG7sKr8IlPpQAYrmQ==} - dev: true - /@cspell/dict-k8s@1.0.5: + '@cspell/dict-k8s@1.0.5': resolution: {integrity: sha512-Cj+/ZV4S+MKlwfocSJZqe/2UAd/sY8YtlZjbK25VN1nCnrsKrBjfkX29vclwSj1U9aJg4Z9jw/uMjoaKu9ZrpQ==} - dev: true - /@cspell/dict-latex@4.0.0: + '@cspell/dict-latex@4.0.0': resolution: {integrity: sha512-LPY4y6D5oI7D3d+5JMJHK/wxYTQa2lJMSNxps2JtuF8hbAnBQb3igoWEjEbIbRRH1XBM0X8dQqemnjQNCiAtxQ==} - dev: true - /@cspell/dict-lorem-ipsum@4.0.0: + '@cspell/dict-lorem-ipsum@4.0.0': resolution: {integrity: sha512-1l3yjfNvMzZPibW8A7mQU4kTozwVZVw0AvFEdy+NcqtbxH+TvbSkNMqROOFWrkD2PjnKG0+Ea0tHI2Pi6Gchnw==} - dev: true - /@cspell/dict-lua@4.0.3: + '@cspell/dict-lua@4.0.3': resolution: {integrity: sha512-lDHKjsrrbqPaea13+G9s0rtXjMO06gPXPYRjRYawbNmo4E/e3XFfVzeci3OQDQNDmf2cPOwt9Ef5lu2lDmwfJg==} - dev: true - /@cspell/dict-makefile@1.0.0: + '@cspell/dict-makefile@1.0.0': resolution: {integrity: sha512-3W9tHPcSbJa6s0bcqWo6VisEDTSN5zOtDbnPabF7rbyjRpNo0uHXHRJQF8gAbFzoTzBBhgkTmrfSiuyQm7vBUQ==} - dev: true - /@cspell/dict-monkeyc@1.0.6: + '@cspell/dict-monkeyc@1.0.6': resolution: {integrity: sha512-oO8ZDu/FtZ55aq9Mb67HtaCnsLn59xvhO/t2mLLTHAp667hJFxpp7bCtr2zOrR1NELzFXmKln/2lw/PvxMSvrA==} - dev: true - /@cspell/dict-node@5.0.1: + '@cspell/dict-node@5.0.1': resolution: {integrity: sha512-lax/jGz9h3Dv83v8LHa5G0bf6wm8YVRMzbjJPG/9rp7cAGPtdrga+XANFq+B7bY5+jiSA3zvj10LUFCFjnnCCg==} - dev: true - /@cspell/dict-npm@5.0.16: + '@cspell/dict-npm@5.0.16': resolution: {integrity: sha512-ZWPnLAziEcSCvV0c8k9Qj88pfMu+wZwM5Qks87ShsfBgI8uLZ9tGHravA7gmjH1Gd7Bgxy2ulvXtSqIWPh1lew==} - dev: true - /@cspell/dict-php@4.0.8: + '@cspell/dict-php@4.0.8': resolution: {integrity: sha512-TBw3won4MCBQ2wdu7kvgOCR3dY2Tb+LJHgDUpuquy3WnzGiSDJ4AVelrZdE1xu7mjFJUr4q48aB21YT5uQqPZA==} - dev: true - /@cspell/dict-powershell@5.0.4: + '@cspell/dict-powershell@5.0.4': resolution: {integrity: sha512-eosDShapDgBWN9ULF7+sRNdUtzRnUdsfEdBSchDm8FZA4HOqxUSZy3b/cX/Rdw0Fnw0AKgk0kzgXw7tS6vwJMQ==} - dev: true - /@cspell/dict-public-licenses@2.0.7: + '@cspell/dict-public-licenses@2.0.7': resolution: {integrity: sha512-KlBXuGcN3LE7tQi/GEqKiDewWGGuopiAD0zRK1QilOx5Co8XAvs044gk4MNIQftc8r0nHeUI+irJKLGcR36DIQ==} - dev: true - /@cspell/dict-python@4.2.1: + '@cspell/dict-python@4.2.1': resolution: {integrity: sha512-9X2jRgyM0cxBoFQRo4Zc8oacyWnXi+0/bMI5FGibZNZV4y/o9UoFEr6agjU260/cXHTjIdkX233nN7eb7dtyRg==} - dependencies: - '@cspell/dict-data-science': 2.0.1 - dev: true - /@cspell/dict-r@2.0.1: + '@cspell/dict-r@2.0.1': resolution: {integrity: sha512-KCmKaeYMLm2Ip79mlYPc8p+B2uzwBp4KMkzeLd5E6jUlCL93Y5Nvq68wV5fRLDRTf7N1LvofkVFWfDcednFOgA==} - dev: true - /@cspell/dict-ruby@5.0.2: + '@cspell/dict-ruby@5.0.2': resolution: {integrity: sha512-cIh8KTjpldzFzKGgrqUX4bFyav5lC52hXDKo4LbRuMVncs3zg4hcSf4HtURY+f2AfEZzN6ZKzXafQpThq3dl2g==} - dev: true - /@cspell/dict-rust@4.0.4: + '@cspell/dict-rust@4.0.4': resolution: {integrity: sha512-v9/LcZknt/Xq7m1jdTWiQEtmkVVKdE1etAfGL2sgcWpZYewEa459HeWndNA0gfzQrpWX9sYay18mt7pqClJEdA==} - dev: true - /@cspell/dict-scala@5.0.2: + '@cspell/dict-scala@5.0.2': resolution: {integrity: sha512-v97ClgidZt99JUm7OjhQugDHmhx4U8fcgunHvD/BsXWjXNj4cTr0m0YjofyZoL44WpICsNuFV9F/sv9OM5HUEw==} - dev: true - /@cspell/dict-software-terms@3.4.5: + '@cspell/dict-software-terms@3.4.5': resolution: {integrity: sha512-CAOeZKvvj27bJTNKzPD7jYg/iK4LPwn3NmolAfoFnxtnCBxA6d20Car6IbPx9g4U6Ik3Vnk4CT3ziXeeBDB2Kw==} - dev: true - /@cspell/dict-sql@2.1.3: + '@cspell/dict-sql@2.1.3': resolution: {integrity: sha512-SEyTNKJrjqD6PAzZ9WpdSu6P7wgdNtGV2RV8Kpuw1x6bV+YsSptuClYG+JSdRExBTE6LwIe1bTklejUp3ZP8TQ==} - dev: true - /@cspell/dict-svelte@1.0.2: + '@cspell/dict-svelte@1.0.2': resolution: {integrity: sha512-rPJmnn/GsDs0btNvrRBciOhngKV98yZ9SHmg8qI6HLS8hZKvcXc0LMsf9LLuMK1TmS2+WQFAan6qeqg6bBxL2Q==} - dev: true - /@cspell/dict-swift@2.0.1: + '@cspell/dict-swift@2.0.1': resolution: {integrity: sha512-gxrCMUOndOk7xZFmXNtkCEeroZRnS2VbeaIPiymGRHj5H+qfTAzAKxtv7jJbVA3YYvEzWcVE2oKDP4wcbhIERw==} - dev: true - /@cspell/dict-terraform@1.0.0: + '@cspell/dict-terraform@1.0.0': resolution: {integrity: sha512-Ak+vy4HP/bOgzf06BAMC30+ZvL9mzv21xLM2XtfnBLTDJGdxlk/nK0U6QT8VfFLqJ0ZZSpyOxGsUebWDCTr/zQ==} - dev: true - /@cspell/dict-typescript@3.1.5: + '@cspell/dict-typescript@3.1.5': resolution: {integrity: sha512-EkIwwNV/xqEoBPJml2S16RXj65h1kvly8dfDLgXerrKw6puybZdvAHerAph6/uPTYdtLcsPyJYkPt5ISOJYrtw==} - dev: true - /@cspell/dict-vue@3.0.0: + '@cspell/dict-vue@3.0.0': resolution: {integrity: sha512-niiEMPWPV9IeRBRzZ0TBZmNnkK3olkOPYxC1Ny2AX4TGlYRajcW0WUtoSHmvvjZNfWLSg2L6ruiBeuPSbjnG6A==} - dev: true - /@cspell/dynamic-import@8.8.4: + '@cspell/dynamic-import@8.8.4': resolution: {integrity: sha512-tseSxrybznkmsmPaAB4aoHB9wr8Q2fOMIy3dm+yQv+U1xj+JHTN9OnUvy9sKiq0p3DQGWm/VylgSgsYaXrEHKQ==} engines: {node: '>=18.0'} - dependencies: - import-meta-resolve: 4.1.0 - dev: true - /@cspell/eslint-plugin@8.8.4(eslint@8.57.0): + '@cspell/eslint-plugin@8.8.4': resolution: {integrity: sha512-hZ85qj+ETrckfkJb0RvNZ5iZw5qXbLYhNb71nFPfTVp3/6uBOfx0EfN/ZXbkZg63BLpSx0y2dmb22zgJ2VJMgg==} engines: {node: '>=18'} peerDependencies: eslint: ^7 || ^8 || ^9 - dependencies: - '@cspell/cspell-types': 8.8.4 - cspell-lib: 8.8.4 - eslint: 8.57.0 - estree-walker: 3.0.3 - synckit: 0.9.0 - dev: true - /@cspell/strong-weak-map@8.8.4: + '@cspell/strong-weak-map@8.8.4': resolution: {integrity: sha512-gticEJGR6yyGeLjf+mJ0jZotWYRLVQ+J0v1VpsR1nKnXTRJY15BWXgEA/ifbU/+clpyCek79NiCIXCvmP1WT4A==} engines: {node: '>=18'} - dev: true - /@cypress/code-coverage@3.12.39(@babel/core@7.24.7)(@babel/preset-env@7.24.7)(babel-loader@9.1.3)(cypress@13.11.0)(webpack@5.92.0): + '@cypress/code-coverage@3.12.39': resolution: {integrity: sha512-ja7I/GRmkSAW9e3O7pideWcNUEHao0WT6sRyXQEURoxkJUASJssJ7Kb/bd3eMYmkUCiD5CRFqWR5BGF4mWVaUw==} peerDependencies: '@babel/core': ^7.0.1 @@ -2816,100 +1587,33 @@ packages: babel-loader: ^8.3 || ^9 cypress: '*' webpack: ^4 || ^5 - dependencies: - '@babel/core': 7.24.7 - '@babel/preset-env': 7.24.7(@babel/core@7.24.7) - '@cypress/webpack-preprocessor': 6.0.2(@babel/core@7.24.7)(@babel/preset-env@7.24.7)(babel-loader@9.1.3)(webpack@5.92.0) - babel-loader: 9.1.3(@babel/core@7.24.7)(webpack@5.92.0) - chalk: 4.1.2 - cypress: 13.11.0 - dayjs: 1.11.10 - debug: 4.3.4 - execa: 4.1.0 - globby: 11.1.0 - istanbul-lib-coverage: 3.2.2 - js-yaml: 4.1.0 - nyc: 15.1.0 - webpack: 5.92.0(esbuild@0.20.2)(webpack-cli@4.10.0) - transitivePeerDependencies: - - supports-color - dev: true - /@cypress/request@3.0.1: + '@cypress/request@3.0.1': resolution: {integrity: sha512-TWivJlJi8ZDx2wGOw1dbLuHJKUYX7bWySw377nlnGOW3hP9/MUKIsEdXT/YngWxVdgNCHRBmFlBipE+5/2ZZlQ==} engines: {node: '>= 6'} - dependencies: - aws-sign2: 0.7.0 - aws4: 1.13.0 - caseless: 0.12.0 - combined-stream: 1.0.8 - extend: 3.0.2 - forever-agent: 0.6.1 - form-data: 2.3.3 - http-signature: 1.3.6 - is-typedarray: 1.0.0 - isstream: 0.1.2 - json-stringify-safe: 5.0.1 - mime-types: 2.1.35 - performance-now: 2.1.0 - qs: 6.10.4 - safe-buffer: 5.2.1 - tough-cookie: 4.1.4 - tunnel-agent: 0.6.0 - uuid: 8.3.2 - dev: true - /@cypress/webpack-preprocessor@6.0.2(@babel/core@7.24.7)(@babel/preset-env@7.24.7)(babel-loader@9.1.3)(webpack@5.92.0): + '@cypress/webpack-preprocessor@6.0.2': resolution: {integrity: sha512-0+1+4iy4W9PE6R5ywBNKAZoFp8Sf//w3UJ+CKTqkcAjA29b+dtsD0iFT70DsYE0BMqUM1PO7HXFGbXllQ+bRAA==} peerDependencies: '@babel/core': ^7.0.1 '@babel/preset-env': ^7.0.0 babel-loader: ^8.3 || ^9 webpack: ^4 || ^5 - dependencies: - '@babel/core': 7.24.7 - '@babel/preset-env': 7.24.7(@babel/core@7.24.7) - babel-loader: 9.1.3(@babel/core@7.24.7)(webpack@5.92.0) - bluebird: 3.7.1 - debug: 4.3.4 - lodash: 4.17.21 - webpack: 5.92.0(esbuild@0.20.2)(webpack-cli@4.10.0) - transitivePeerDependencies: - - supports-color - dev: true - /@cypress/xvfb@1.2.4(supports-color@8.1.1): + '@cypress/xvfb@1.2.4': resolution: {integrity: sha512-skbBzPggOVYCbnGgV+0dmBdW/s77ZkAOXIC1knS8NagwDjBrNC1LuXtQJeiN6l+m7lzmHtaoUw/ctJKdqkG57Q==} - dependencies: - debug: 3.2.7(supports-color@8.1.1) - lodash.once: 4.1.1 - transitivePeerDependencies: - - supports-color - dev: true - /@discoveryjs/json-ext@0.5.7: + '@discoveryjs/json-ext@0.5.7': resolution: {integrity: sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw==} engines: {node: '>=10.0.0'} - dev: true - /@docsearch/css@3.6.0: + '@docsearch/css@3.6.0': resolution: {integrity: sha512-+sbxb71sWre+PwDK7X2T8+bhS6clcVMLwBPznX45Qu6opJcgRjAp7gYSDzVFp187J+feSj5dNBN1mJoi6ckkUQ==} - dev: true - /@docsearch/js@3.6.0(@algolia/client-search@4.23.3)(search-insights@2.14.0): + '@docsearch/js@3.6.0': resolution: {integrity: sha512-QujhqINEElrkIfKwyyyTfbsfMAYCkylInLYMRqHy7PHc8xTBQCow73tlo/Kc7oIwBrCLf0P3YhjlOeV4v8hevQ==} - dependencies: - '@docsearch/react': 3.6.0(@algolia/client-search@4.23.3)(search-insights@2.14.0) - preact: 10.22.0 - transitivePeerDependencies: - - '@algolia/client-search' - - '@types/react' - - react - - react-dom - - search-insights - dev: true - /@docsearch/react@3.6.0(@algolia/client-search@4.23.3)(search-insights@2.14.0): + '@docsearch/react@3.6.0': resolution: {integrity: sha512-HUFut4ztcVNmqy9gp/wxNbC7pTOHhgVVkHVGCACTuLhUKUhKAF9KYHJtMiLUJxEqiFLQiuri1fWF8zqwM/cu1w==} peerDependencies: '@types/react': '>= 16.8.0 < 19.0.0' @@ -2925,705 +1629,321 @@ packages: optional: true search-insights: optional: true - dependencies: - '@algolia/autocomplete-core': 1.9.3(@algolia/client-search@4.23.3)(algoliasearch@4.23.3)(search-insights@2.14.0) - '@algolia/autocomplete-preset-algolia': 1.9.3(@algolia/client-search@4.23.3)(algoliasearch@4.23.3) - '@docsearch/css': 3.6.0 - algoliasearch: 4.23.3 - search-insights: 2.14.0 - transitivePeerDependencies: - - '@algolia/client-search' - dev: true - /@es-joy/jsdoccomment@0.43.1: + '@es-joy/jsdoccomment@0.43.1': resolution: {integrity: sha512-I238eDtOolvCuvtxrnqtlBaw0BwdQuYqK7eA6XIonicMdOOOb75mqdIzkGDUbS04+1Di007rgm9snFRNeVrOog==} engines: {node: '>=16'} - dependencies: - '@types/eslint': 8.56.10 - '@types/estree': 1.0.5 - '@typescript-eslint/types': 7.13.0 - comment-parser: 1.4.1 - esquery: 1.5.0 - jsdoc-type-pratt-parser: 4.0.0 - dev: true - /@esbuild/aix-ppc64@0.20.2: + '@esbuild/aix-ppc64@0.20.2': resolution: {integrity: sha512-D+EBOJHXdNZcLJRBkhENNG8Wji2kgc9AZ9KiPr1JuZjsNtyHzrsfLRrY0tk2H2aoFu6RANO1y1iPPUCDYWkb5g==} engines: {node: '>=12'} cpu: [ppc64] os: [aix] - requiresBuild: true - dev: true - optional: true - /@esbuild/aix-ppc64@0.21.5: + '@esbuild/aix-ppc64@0.21.5': resolution: {integrity: sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ==} engines: {node: '>=12'} cpu: [ppc64] os: [aix] - requiresBuild: true - dev: true - optional: true - /@esbuild/android-arm64@0.18.20: - resolution: {integrity: sha512-Nz4rJcchGDtENV0eMKUNa6L12zz2zBDXuhj/Vjh18zGqB44Bi7MBMSXjgunJgjRhCmKOjnPuZp4Mb6OKqtMHLQ==} - engines: {node: '>=12'} - cpu: [arm64] - os: [android] - requiresBuild: true - dev: true - optional: true - - /@esbuild/android-arm64@0.20.2: + '@esbuild/android-arm64@0.20.2': resolution: {integrity: sha512-mRzjLacRtl/tWU0SvD8lUEwb61yP9cqQo6noDZP/O8VkwafSYwZ4yWy24kan8jE/IMERpYncRt2dw438LP3Xmg==} engines: {node: '>=12'} cpu: [arm64] os: [android] - requiresBuild: true - dev: true - optional: true - /@esbuild/android-arm64@0.21.5: + '@esbuild/android-arm64@0.21.5': resolution: {integrity: sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A==} engines: {node: '>=12'} cpu: [arm64] os: [android] - requiresBuild: true - dev: true - optional: true - - /@esbuild/android-arm@0.18.20: - resolution: {integrity: sha512-fyi7TDI/ijKKNZTUJAQqiG5T7YjJXgnzkURqmGj13C6dCqckZBLdl4h7bkhHt/t0WP+zO9/zwroDvANaOqO5Sw==} - engines: {node: '>=12'} - cpu: [arm] - os: [android] - requiresBuild: true - dev: true - optional: true - /@esbuild/android-arm@0.20.2: + '@esbuild/android-arm@0.20.2': resolution: {integrity: sha512-t98Ra6pw2VaDhqNWO2Oph2LXbz/EJcnLmKLGBJwEwXX/JAN83Fym1rU8l0JUWK6HkIbWONCSSatf4sf2NBRx/w==} engines: {node: '>=12'} cpu: [arm] os: [android] - requiresBuild: true - dev: true - optional: true - /@esbuild/android-arm@0.21.5: + '@esbuild/android-arm@0.21.5': resolution: {integrity: sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg==} engines: {node: '>=12'} cpu: [arm] os: [android] - requiresBuild: true - dev: true - optional: true - - /@esbuild/android-x64@0.18.20: - resolution: {integrity: sha512-8GDdlePJA8D6zlZYJV/jnrRAi6rOiNaCC/JclcXpB+KIuvfBN4owLtgzY2bsxnx666XjJx2kDPUmnTtR8qKQUg==} - engines: {node: '>=12'} - cpu: [x64] - os: [android] - requiresBuild: true - dev: true - optional: true - /@esbuild/android-x64@0.20.2: + '@esbuild/android-x64@0.20.2': resolution: {integrity: sha512-btzExgV+/lMGDDa194CcUQm53ncxzeBrWJcncOBxuC6ndBkKxnHdFJn86mCIgTELsooUmwUm9FkhSp5HYu00Rg==} engines: {node: '>=12'} cpu: [x64] os: [android] - requiresBuild: true - dev: true - optional: true - /@esbuild/android-x64@0.21.5: + '@esbuild/android-x64@0.21.5': resolution: {integrity: sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA==} engines: {node: '>=12'} cpu: [x64] os: [android] - requiresBuild: true - dev: true - optional: true - - /@esbuild/darwin-arm64@0.18.20: - resolution: {integrity: sha512-bxRHW5kHU38zS2lPTPOyuyTm+S+eobPUnTNkdJEfAddYgEcll4xkT8DB9d2008DtTbl7uJag2HuE5NZAZgnNEA==} - engines: {node: '>=12'} - cpu: [arm64] - os: [darwin] - requiresBuild: true - dev: true - optional: true - /@esbuild/darwin-arm64@0.20.2: + '@esbuild/darwin-arm64@0.20.2': resolution: {integrity: sha512-4J6IRT+10J3aJH3l1yzEg9y3wkTDgDk7TSDFX+wKFiWjqWp/iCfLIYzGyasx9l0SAFPT1HwSCR+0w/h1ES/MjA==} engines: {node: '>=12'} cpu: [arm64] os: [darwin] - requiresBuild: true - dev: true - optional: true - /@esbuild/darwin-arm64@0.21.5: + '@esbuild/darwin-arm64@0.21.5': resolution: {integrity: sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ==} engines: {node: '>=12'} cpu: [arm64] os: [darwin] - requiresBuild: true - dev: true - optional: true - - /@esbuild/darwin-x64@0.18.20: - resolution: {integrity: sha512-pc5gxlMDxzm513qPGbCbDukOdsGtKhfxD1zJKXjCCcU7ju50O7MeAZ8c4krSJcOIJGFR+qx21yMMVYwiQvyTyQ==} - engines: {node: '>=12'} - cpu: [x64] - os: [darwin] - requiresBuild: true - dev: true - optional: true - /@esbuild/darwin-x64@0.20.2: + '@esbuild/darwin-x64@0.20.2': resolution: {integrity: sha512-tBcXp9KNphnNH0dfhv8KYkZhjc+H3XBkF5DKtswJblV7KlT9EI2+jeA8DgBjp908WEuYll6pF+UStUCfEpdysA==} engines: {node: '>=12'} cpu: [x64] os: [darwin] - requiresBuild: true - dev: true - optional: true - /@esbuild/darwin-x64@0.21.5: + '@esbuild/darwin-x64@0.21.5': resolution: {integrity: sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw==} engines: {node: '>=12'} cpu: [x64] os: [darwin] - requiresBuild: true - dev: true - optional: true - - /@esbuild/freebsd-arm64@0.18.20: - resolution: {integrity: sha512-yqDQHy4QHevpMAaxhhIwYPMv1NECwOvIpGCZkECn8w2WFHXjEwrBn3CeNIYsibZ/iZEUemj++M26W3cNR5h+Tw==} - engines: {node: '>=12'} - cpu: [arm64] - os: [freebsd] - requiresBuild: true - dev: true - optional: true - /@esbuild/freebsd-arm64@0.20.2: + '@esbuild/freebsd-arm64@0.20.2': resolution: {integrity: sha512-d3qI41G4SuLiCGCFGUrKsSeTXyWG6yem1KcGZVS+3FYlYhtNoNgYrWcvkOoaqMhwXSMrZRl69ArHsGJ9mYdbbw==} engines: {node: '>=12'} cpu: [arm64] os: [freebsd] - requiresBuild: true - dev: true - optional: true - /@esbuild/freebsd-arm64@0.21.5: + '@esbuild/freebsd-arm64@0.21.5': resolution: {integrity: sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g==} engines: {node: '>=12'} cpu: [arm64] os: [freebsd] - requiresBuild: true - dev: true - optional: true - - /@esbuild/freebsd-x64@0.18.20: - resolution: {integrity: sha512-tgWRPPuQsd3RmBZwarGVHZQvtzfEBOreNuxEMKFcd5DaDn2PbBxfwLcj4+aenoh7ctXcbXmOQIn8HI6mCSw5MQ==} - engines: {node: '>=12'} - cpu: [x64] - os: [freebsd] - requiresBuild: true - dev: true - optional: true - /@esbuild/freebsd-x64@0.20.2: + '@esbuild/freebsd-x64@0.20.2': resolution: {integrity: sha512-d+DipyvHRuqEeM5zDivKV1KuXn9WeRX6vqSqIDgwIfPQtwMP4jaDsQsDncjTDDsExT4lR/91OLjRo8bmC1e+Cw==} engines: {node: '>=12'} cpu: [x64] os: [freebsd] - requiresBuild: true - dev: true - optional: true - /@esbuild/freebsd-x64@0.21.5: + '@esbuild/freebsd-x64@0.21.5': resolution: {integrity: sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ==} engines: {node: '>=12'} cpu: [x64] os: [freebsd] - requiresBuild: true - dev: true - optional: true - - /@esbuild/linux-arm64@0.18.20: - resolution: {integrity: sha512-2YbscF+UL7SQAVIpnWvYwM+3LskyDmPhe31pE7/aoTMFKKzIc9lLbyGUpmmb8a8AixOL61sQ/mFh3jEjHYFvdA==} - engines: {node: '>=12'} - cpu: [arm64] - os: [linux] - requiresBuild: true - dev: true - optional: true - /@esbuild/linux-arm64@0.20.2: + '@esbuild/linux-arm64@0.20.2': resolution: {integrity: sha512-9pb6rBjGvTFNira2FLIWqDk/uaf42sSyLE8j1rnUpuzsODBq7FvpwHYZxQ/It/8b+QOS1RYfqgGFNLRI+qlq2A==} engines: {node: '>=12'} cpu: [arm64] os: [linux] - requiresBuild: true - dev: true - optional: true - /@esbuild/linux-arm64@0.21.5: + '@esbuild/linux-arm64@0.21.5': resolution: {integrity: sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q==} engines: {node: '>=12'} cpu: [arm64] os: [linux] - requiresBuild: true - dev: true - optional: true - - /@esbuild/linux-arm@0.18.20: - resolution: {integrity: sha512-/5bHkMWnq1EgKr1V+Ybz3s1hWXok7mDFUMQ4cG10AfW3wL02PSZi5kFpYKrptDsgb2WAJIvRcDm+qIvXf/apvg==} - engines: {node: '>=12'} - cpu: [arm] - os: [linux] - requiresBuild: true - dev: true - optional: true - /@esbuild/linux-arm@0.20.2: + '@esbuild/linux-arm@0.20.2': resolution: {integrity: sha512-VhLPeR8HTMPccbuWWcEUD1Az68TqaTYyj6nfE4QByZIQEQVWBB8vup8PpR7y1QHL3CpcF6xd5WVBU/+SBEvGTg==} engines: {node: '>=12'} cpu: [arm] os: [linux] - requiresBuild: true - dev: true - optional: true - /@esbuild/linux-arm@0.21.5: + '@esbuild/linux-arm@0.21.5': resolution: {integrity: sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA==} engines: {node: '>=12'} cpu: [arm] os: [linux] - requiresBuild: true - dev: true - optional: true - - /@esbuild/linux-ia32@0.18.20: - resolution: {integrity: sha512-P4etWwq6IsReT0E1KHU40bOnzMHoH73aXp96Fs8TIT6z9Hu8G6+0SHSw9i2isWrD2nbx2qo5yUqACgdfVGx7TA==} - engines: {node: '>=12'} - cpu: [ia32] - os: [linux] - requiresBuild: true - dev: true - optional: true - /@esbuild/linux-ia32@0.20.2: + '@esbuild/linux-ia32@0.20.2': resolution: {integrity: sha512-o10utieEkNPFDZFQm9CoP7Tvb33UutoJqg3qKf1PWVeeJhJw0Q347PxMvBgVVFgouYLGIhFYG0UGdBumROyiig==} engines: {node: '>=12'} cpu: [ia32] os: [linux] - requiresBuild: true - dev: true - optional: true - /@esbuild/linux-ia32@0.21.5: + '@esbuild/linux-ia32@0.21.5': resolution: {integrity: sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg==} engines: {node: '>=12'} cpu: [ia32] os: [linux] - requiresBuild: true - dev: true - optional: true - - /@esbuild/linux-loong64@0.18.20: - resolution: {integrity: sha512-nXW8nqBTrOpDLPgPY9uV+/1DjxoQ7DoB2N8eocyq8I9XuqJ7BiAMDMf9n1xZM9TgW0J8zrquIb/A7s3BJv7rjg==} - engines: {node: '>=12'} - cpu: [loong64] - os: [linux] - requiresBuild: true - dev: true - optional: true - /@esbuild/linux-loong64@0.20.2: + '@esbuild/linux-loong64@0.20.2': resolution: {integrity: sha512-PR7sp6R/UC4CFVomVINKJ80pMFlfDfMQMYynX7t1tNTeivQ6XdX5r2XovMmha/VjR1YN/HgHWsVcTRIMkymrgQ==} engines: {node: '>=12'} cpu: [loong64] os: [linux] - requiresBuild: true - dev: true - optional: true - /@esbuild/linux-loong64@0.21.5: + '@esbuild/linux-loong64@0.21.5': resolution: {integrity: sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg==} engines: {node: '>=12'} cpu: [loong64] os: [linux] - requiresBuild: true - dev: true - optional: true - - /@esbuild/linux-mips64el@0.18.20: - resolution: {integrity: sha512-d5NeaXZcHp8PzYy5VnXV3VSd2D328Zb+9dEq5HE6bw6+N86JVPExrA6O68OPwobntbNJ0pzCpUFZTo3w0GyetQ==} - engines: {node: '>=12'} - cpu: [mips64el] - os: [linux] - requiresBuild: true - dev: true - optional: true - /@esbuild/linux-mips64el@0.20.2: + '@esbuild/linux-mips64el@0.20.2': resolution: {integrity: sha512-4BlTqeutE/KnOiTG5Y6Sb/Hw6hsBOZapOVF6njAESHInhlQAghVVZL1ZpIctBOoTFbQyGW+LsVYZ8lSSB3wkjA==} engines: {node: '>=12'} cpu: [mips64el] os: [linux] - requiresBuild: true - dev: true - optional: true - /@esbuild/linux-mips64el@0.21.5: + '@esbuild/linux-mips64el@0.21.5': resolution: {integrity: sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg==} engines: {node: '>=12'} cpu: [mips64el] os: [linux] - requiresBuild: true - dev: true - optional: true - - /@esbuild/linux-ppc64@0.18.20: - resolution: {integrity: sha512-WHPyeScRNcmANnLQkq6AfyXRFr5D6N2sKgkFo2FqguP44Nw2eyDlbTdZwd9GYk98DZG9QItIiTlFLHJHjxP3FA==} - engines: {node: '>=12'} - cpu: [ppc64] - os: [linux] - requiresBuild: true - dev: true - optional: true - /@esbuild/linux-ppc64@0.20.2: + '@esbuild/linux-ppc64@0.20.2': resolution: {integrity: sha512-rD3KsaDprDcfajSKdn25ooz5J5/fWBylaaXkuotBDGnMnDP1Uv5DLAN/45qfnf3JDYyJv/ytGHQaziHUdyzaAg==} engines: {node: '>=12'} cpu: [ppc64] os: [linux] - requiresBuild: true - dev: true - optional: true - /@esbuild/linux-ppc64@0.21.5: + '@esbuild/linux-ppc64@0.21.5': resolution: {integrity: sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w==} engines: {node: '>=12'} cpu: [ppc64] os: [linux] - requiresBuild: true - dev: true - optional: true - - /@esbuild/linux-riscv64@0.18.20: - resolution: {integrity: sha512-WSxo6h5ecI5XH34KC7w5veNnKkju3zBRLEQNY7mv5mtBmrP/MjNBCAlsM2u5hDBlS3NGcTQpoBvRzqBcRtpq1A==} - engines: {node: '>=12'} - cpu: [riscv64] - os: [linux] - requiresBuild: true - dev: true - optional: true - /@esbuild/linux-riscv64@0.20.2: + '@esbuild/linux-riscv64@0.20.2': resolution: {integrity: sha512-snwmBKacKmwTMmhLlz/3aH1Q9T8v45bKYGE3j26TsaOVtjIag4wLfWSiZykXzXuE1kbCE+zJRmwp+ZbIHinnVg==} engines: {node: '>=12'} cpu: [riscv64] os: [linux] - requiresBuild: true - dev: true - optional: true - /@esbuild/linux-riscv64@0.21.5: + '@esbuild/linux-riscv64@0.21.5': resolution: {integrity: sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA==} engines: {node: '>=12'} cpu: [riscv64] os: [linux] - requiresBuild: true - dev: true - optional: true - - /@esbuild/linux-s390x@0.18.20: - resolution: {integrity: sha512-+8231GMs3mAEth6Ja1iK0a1sQ3ohfcpzpRLH8uuc5/KVDFneH6jtAJLFGafpzpMRO6DzJ6AvXKze9LfFMrIHVQ==} - engines: {node: '>=12'} - cpu: [s390x] - os: [linux] - requiresBuild: true - dev: true - optional: true - /@esbuild/linux-s390x@0.20.2: + '@esbuild/linux-s390x@0.20.2': resolution: {integrity: sha512-wcWISOobRWNm3cezm5HOZcYz1sKoHLd8VL1dl309DiixxVFoFe/o8HnwuIwn6sXre88Nwj+VwZUvJf4AFxkyrQ==} engines: {node: '>=12'} cpu: [s390x] os: [linux] - requiresBuild: true - dev: true - optional: true - /@esbuild/linux-s390x@0.21.5: + '@esbuild/linux-s390x@0.21.5': resolution: {integrity: sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A==} engines: {node: '>=12'} cpu: [s390x] os: [linux] - requiresBuild: true - dev: true - optional: true - - /@esbuild/linux-x64@0.18.20: - resolution: {integrity: sha512-UYqiqemphJcNsFEskc73jQ7B9jgwjWrSayxawS6UVFZGWrAAtkzjxSqnoclCXxWtfwLdzU+vTpcNYhpn43uP1w==} - engines: {node: '>=12'} - cpu: [x64] - os: [linux] - requiresBuild: true - dev: true - optional: true - /@esbuild/linux-x64@0.20.2: + '@esbuild/linux-x64@0.20.2': resolution: {integrity: sha512-1MdwI6OOTsfQfek8sLwgyjOXAu+wKhLEoaOLTjbijk6E2WONYpH9ZU2mNtR+lZ2B4uwr+usqGuVfFT9tMtGvGw==} engines: {node: '>=12'} cpu: [x64] os: [linux] - requiresBuild: true - dev: true - optional: true - /@esbuild/linux-x64@0.21.5: + '@esbuild/linux-x64@0.21.5': resolution: {integrity: sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ==} engines: {node: '>=12'} cpu: [x64] os: [linux] - requiresBuild: true - dev: true - optional: true - /@esbuild/netbsd-x64@0.18.20: - resolution: {integrity: sha512-iO1c++VP6xUBUmltHZoMtCUdPlnPGdBom6IrO4gyKPFFVBKioIImVooR5I83nTew5UOYrk3gIJhbZh8X44y06A==} - engines: {node: '>=12'} - cpu: [x64] - os: [netbsd] - requiresBuild: true - dev: true - optional: true - - /@esbuild/netbsd-x64@0.20.2: + '@esbuild/netbsd-x64@0.20.2': resolution: {integrity: sha512-K8/DhBxcVQkzYc43yJXDSyjlFeHQJBiowJ0uVL6Tor3jGQfSGHNNJcWxNbOI8v5k82prYqzPuwkzHt3J1T1iZQ==} engines: {node: '>=12'} cpu: [x64] os: [netbsd] - requiresBuild: true - dev: true - optional: true - /@esbuild/netbsd-x64@0.21.5: + '@esbuild/netbsd-x64@0.21.5': resolution: {integrity: sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg==} engines: {node: '>=12'} cpu: [x64] os: [netbsd] - requiresBuild: true - dev: true - optional: true - - /@esbuild/openbsd-x64@0.18.20: - resolution: {integrity: sha512-e5e4YSsuQfX4cxcygw/UCPIEP6wbIL+se3sxPdCiMbFLBWu0eiZOJ7WoD+ptCLrmjZBK1Wk7I6D/I3NglUGOxg==} - engines: {node: '>=12'} - cpu: [x64] - os: [openbsd] - requiresBuild: true - dev: true - optional: true - /@esbuild/openbsd-x64@0.20.2: + '@esbuild/openbsd-x64@0.20.2': resolution: {integrity: sha512-eMpKlV0SThJmmJgiVyN9jTPJ2VBPquf6Kt/nAoo6DgHAoN57K15ZghiHaMvqjCye/uU4X5u3YSMgVBI1h3vKrQ==} engines: {node: '>=12'} cpu: [x64] os: [openbsd] - requiresBuild: true - dev: true - optional: true - /@esbuild/openbsd-x64@0.21.5: + '@esbuild/openbsd-x64@0.21.5': resolution: {integrity: sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow==} engines: {node: '>=12'} cpu: [x64] os: [openbsd] - requiresBuild: true - dev: true - optional: true - - /@esbuild/sunos-x64@0.18.20: - resolution: {integrity: sha512-kDbFRFp0YpTQVVrqUd5FTYmWo45zGaXe0X8E1G/LKFC0v8x0vWrhOWSLITcCn63lmZIxfOMXtCfti/RxN/0wnQ==} - engines: {node: '>=12'} - cpu: [x64] - os: [sunos] - requiresBuild: true - dev: true - optional: true - /@esbuild/sunos-x64@0.20.2: + '@esbuild/sunos-x64@0.20.2': resolution: {integrity: sha512-2UyFtRC6cXLyejf/YEld4Hajo7UHILetzE1vsRcGL3earZEW77JxrFjH4Ez2qaTiEfMgAXxfAZCm1fvM/G/o8w==} engines: {node: '>=12'} cpu: [x64] os: [sunos] - requiresBuild: true - dev: true - optional: true - /@esbuild/sunos-x64@0.21.5: + '@esbuild/sunos-x64@0.21.5': resolution: {integrity: sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg==} engines: {node: '>=12'} cpu: [x64] os: [sunos] - requiresBuild: true - dev: true - optional: true - - /@esbuild/win32-arm64@0.18.20: - resolution: {integrity: sha512-ddYFR6ItYgoaq4v4JmQQaAI5s7npztfV4Ag6NrhiaW0RrnOXqBkgwZLofVTlq1daVTQNhtI5oieTvkRPfZrePg==} - engines: {node: '>=12'} - cpu: [arm64] - os: [win32] - requiresBuild: true - dev: true - optional: true - /@esbuild/win32-arm64@0.20.2: + '@esbuild/win32-arm64@0.20.2': resolution: {integrity: sha512-GRibxoawM9ZCnDxnP3usoUDO9vUkpAxIIZ6GQI+IlVmr5kP3zUq+l17xELTHMWTWzjxa2guPNyrpq1GWmPvcGQ==} engines: {node: '>=12'} cpu: [arm64] os: [win32] - requiresBuild: true - dev: true - optional: true - /@esbuild/win32-arm64@0.21.5: + '@esbuild/win32-arm64@0.21.5': resolution: {integrity: sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A==} engines: {node: '>=12'} cpu: [arm64] os: [win32] - requiresBuild: true - dev: true - optional: true - - /@esbuild/win32-ia32@0.18.20: - resolution: {integrity: sha512-Wv7QBi3ID/rROT08SABTS7eV4hX26sVduqDOTe1MvGMjNd3EjOz4b7zeexIR62GTIEKrfJXKL9LFxTYgkyeu7g==} - engines: {node: '>=12'} - cpu: [ia32] - os: [win32] - requiresBuild: true - dev: true - optional: true - /@esbuild/win32-ia32@0.20.2: + '@esbuild/win32-ia32@0.20.2': resolution: {integrity: sha512-HfLOfn9YWmkSKRQqovpnITazdtquEW8/SoHW7pWpuEeguaZI4QnCRW6b+oZTztdBnZOS2hqJ6im/D5cPzBTTlQ==} engines: {node: '>=12'} cpu: [ia32] os: [win32] - requiresBuild: true - dev: true - optional: true - /@esbuild/win32-ia32@0.21.5: + '@esbuild/win32-ia32@0.21.5': resolution: {integrity: sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA==} engines: {node: '>=12'} cpu: [ia32] os: [win32] - requiresBuild: true - dev: true - optional: true - - /@esbuild/win32-x64@0.18.20: - resolution: {integrity: sha512-kTdfRcSiDfQca/y9QIkng02avJ+NCaQvrMejlsB3RRv5sE9rRoeBPISaZpKxHELzRxZyLvNts1P27W3wV+8geQ==} - engines: {node: '>=12'} - cpu: [x64] - os: [win32] - requiresBuild: true - dev: true - optional: true - /@esbuild/win32-x64@0.20.2: + '@esbuild/win32-x64@0.20.2': resolution: {integrity: sha512-N49X4lJX27+l9jbLKSqZ6bKNjzQvHaT8IIFUy+YIqmXQdjYCToGWwOItDrfby14c78aDd5NHQl29xingXfCdLQ==} engines: {node: '>=12'} cpu: [x64] os: [win32] - requiresBuild: true - dev: true - optional: true - /@esbuild/win32-x64@0.21.5: + '@esbuild/win32-x64@0.21.5': resolution: {integrity: sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw==} engines: {node: '>=12'} cpu: [x64] os: [win32] - requiresBuild: true - dev: true - optional: true - /@eslint-community/eslint-utils@4.4.0(eslint@8.57.0): + '@eslint-community/eslint-utils@4.4.0': resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 - dependencies: - eslint: 8.57.0 - eslint-visitor-keys: 3.4.3 - dev: true - /@eslint-community/regexpp@4.10.1: + '@eslint-community/regexpp@4.10.1': resolution: {integrity: sha512-Zm2NGpWELsQAD1xsJzGQpYfvICSsFkEpU0jxBjfdC6uNEWXcHnfs9hScFWtXVDVl+rBQJGrl4g1vcKIejpH9dA==} engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} - dev: true - /@eslint/eslintrc@2.1.4: + '@eslint/eslintrc@2.1.4': resolution: {integrity: sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - dependencies: - ajv: 6.12.6 - debug: 4.3.5(supports-color@8.1.1) - espree: 9.6.1 - globals: 13.24.0 - ignore: 5.3.1 - import-fresh: 3.3.0 - js-yaml: 4.1.0 - minimatch: 3.1.2 - strip-json-comments: 3.1.1 - transitivePeerDependencies: - - supports-color - dev: true - /@eslint/js@8.57.0: + '@eslint/js@8.57.0': resolution: {integrity: sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - dev: true - /@fastify/ajv-compiler@1.1.0: + '@fastify/ajv-compiler@1.1.0': resolution: {integrity: sha512-gvCOUNpXsWrIQ3A4aXCLIdblL0tDq42BG/2Xw7oxbil9h11uow10ztS2GuFazNBfjbrsZ5nl+nPl5jDSjj5TSg==} - dependencies: - ajv: 6.12.6 - dev: true - /@fastify/error@2.0.0: + '@fastify/error@2.0.0': resolution: {integrity: sha512-wI3fpfDT0t7p8E6dA2eTECzzOd+bZsZCJ2Hcv+Onn2b7ZwK3RwD27uW2QDaMtQhAfWQQP+WNK7nKf0twLsBf9w==} - dev: true - /@floating-ui/core@1.6.2: + '@floating-ui/core@1.6.2': resolution: {integrity: sha512-+2XpQV9LLZeanU4ZevzRnGFg2neDeKHgFLjP6YLW+tly0IvrhqT4u8enLGjLH3qeh85g19xY5rsAusfwTdn5lg==} - dependencies: - '@floating-ui/utils': 0.2.2 - dev: false - /@floating-ui/dom@1.6.5: + '@floating-ui/dom@1.6.5': resolution: {integrity: sha512-Nsdud2X65Dz+1RHjAIP0t8z5e2ff/IRbei6BqFrl1urT8sDVzM1HMQ+R0XcU5ceRfyO3I6ayeqIfh+6Wb8LGTw==} - dependencies: - '@floating-ui/core': 1.6.2 - '@floating-ui/utils': 0.2.2 - dev: false - /@floating-ui/utils@0.2.2: + '@floating-ui/utils@0.2.2': resolution: {integrity: sha512-J4yDIIthosAsRZ5CPYP/jQvUAQtlZTTD/4suA08/FEnlxqW3sKS9iAhgsa9VYLZ6vDHn/ixJgIqRQPotoBjxIw==} - dev: false - /@floating-ui/vue@0.2.1(vue@3.4.27): + '@floating-ui/vue@0.2.1': resolution: {integrity: sha512-HE+EIeakID7wI6vUwF0yMpaW48bNaPj8QtnQaRMkaQFhQReVBA4bY6fmJ3J7X+dqVgDbMhyfCG0fBJfdQMdWxQ==} peerDependencies: '@vue/composition-api': ^1.0.0-rc.1 @@ -3631,88 +1951,8343 @@ packages: peerDependenciesMeta: '@vue/composition-api': optional: true - dependencies: - '@floating-ui/dom': 1.6.5 - vue: 3.4.27(typescript@5.4.5) - vue-demi: 0.13.11(vue@3.4.27) - dev: false - /@hapi/hoek@9.3.0: + '@hapi/hoek@9.3.0': resolution: {integrity: sha512-/c6rf4UJlmHlC9b5BaNvzAcFv7HZ2QHaV0D4/HNlBdvFnvQq8RI4kYdhyPCl7Xj+oWvTWQ8ujhqS53LIgAe6KQ==} - dev: true - /@hapi/topo@5.1.0: + '@hapi/topo@5.1.0': resolution: {integrity: sha512-foQZKJig7Ob0BMAYBfcJk8d77QtOe7Wo4ox7ff1lQYoNNAb6jwcY1ncdoy2e9wQZzvNy7ODZCYJkK8kzmcAnAg==} - dependencies: - '@hapi/hoek': 9.3.0 - dev: true - /@headlessui-float/vue@0.11.4(vue@3.4.27): + '@headlessui-float/vue@0.11.4': resolution: {integrity: sha512-hNGQTT3trknSB78ZI3usvnJACLyEUmacvk5Q8JQizJ8k+8GYLvhKklGIhJVO1E3litEzW6yyjPgfg6aEJ+1p6g==} peerDependencies: vue: ^3.0.0 - dependencies: - '@floating-ui/core': 1.6.2 - '@floating-ui/dom': 1.6.5 - '@floating-ui/vue': 0.2.1(vue@3.4.27) - vue: 3.4.27(typescript@5.4.5) - transitivePeerDependencies: - - '@vue/composition-api' - dev: false - /@headlessui/tailwindcss@0.2.1(tailwindcss@3.4.4): + '@headlessui/tailwindcss@0.2.1': resolution: {integrity: sha512-2+5+NZ+RzMyrVeCZOxdbvkUSssSxGvcUxphkIfSVLpRiKsj+/63T2TOL9dBYMXVfj/CGr6hMxSRInzXv6YY7sA==} engines: {node: '>=10'} peerDependencies: tailwindcss: ^3.0 + + '@headlessui/vue@1.7.22': + resolution: {integrity: sha512-Hoffjoolq1rY+LOfJ+B/OvkhuBXXBFgd8oBlN+l1TApma2dB0En0ucFZrwQtb33SmcCqd32EQd0y07oziXWNYg==} + engines: {node: '>=10'} + peerDependencies: + vue: ^3.2.0 + + '@humanwhocodes/config-array@0.11.14': + resolution: {integrity: sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==} + engines: {node: '>=10.10.0'} + deprecated: Use @eslint/config-array instead + + '@humanwhocodes/module-importer@1.0.1': + resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==} + engines: {node: '>=12.22'} + + '@humanwhocodes/object-schema@2.0.3': + resolution: {integrity: sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==} + deprecated: Use @eslint/object-schema instead + + '@iconify-json/carbon@1.1.35': + resolution: {integrity: sha512-zKqioWceqFRiLJvxpjcCpVP3j2YcokYshlbwSAHBhOih5XNUymUS3hm1kpV4KljMI1xWH96UcozHaaf6x4YzdA==} + + '@iconify/types@2.0.0': + resolution: {integrity: sha512-+wluvCrRhXrhyOmRDJ3q8mux9JkKy5SJ/v8ol2tu4FVjyYvtEzkc/3pK15ET6RKg4b4w4BmTk1+gsCUhf21Ykg==} + + '@iconify/utils@2.1.24': + resolution: {integrity: sha512-H8r2KpL5uKyrkb3z9/3HD/22JcxqW3BJyjEWZhX2T7DehnYVZthEap1cNsEl/UtCDC3TlpNmwiPX8wg3y8E4dg==} + + '@isaacs/cliui@8.0.2': + resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==} + engines: {node: '>=12'} + + '@istanbuljs/load-nyc-config@1.1.0': + resolution: {integrity: sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==} + engines: {node: '>=8'} + + '@istanbuljs/schema@0.1.3': + resolution: {integrity: sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==} + engines: {node: '>=8'} + + '@jest/console@29.7.0': + resolution: {integrity: sha512-5Ni4CU7XHQi32IJ398EEP4RrB8eV09sXP2ROqD4bksHrnTree52PsxvX8tpL8LvTZ3pFzXyPbNQReSN41CAhOg==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + '@jest/core@29.7.0': + resolution: {integrity: sha512-n7aeXWKMnGtDA48y8TLWJPJmLmmZ642Ceo78cYWEpiD7FzDgmNDV/GCVRorPABdXLJZ/9wzzgZAlHjXjxDHGsg==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + peerDependencies: + node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 + peerDependenciesMeta: + node-notifier: + optional: true + + '@jest/environment@29.7.0': + resolution: {integrity: sha512-aQIfHDq33ExsN4jP1NWGXhxgQ/wixs60gDiKO+XVMd8Mn0NWPWgc34ZQDTb2jKaUWQ7MuwoitXAsN2XVXNMpAw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + '@jest/expect-utils@29.7.0': + resolution: {integrity: sha512-GlsNBWiFQFCVi9QVSx7f5AgMeLxe9YCCs5PuP2O2LdjDAA8Jh9eX7lA1Jq/xdXw3Wb3hyvlFNfZIfcRetSzYcA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + '@jest/expect@29.7.0': + resolution: {integrity: sha512-8uMeAMycttpva3P1lBHB8VciS9V0XAr3GymPpipdyQXbBcuhkLQOSe8E/p92RyAdToS6ZD1tFkX+CkhoECE0dQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + '@jest/fake-timers@29.7.0': + resolution: {integrity: sha512-q4DH1Ha4TTFPdxLsqDXK1d3+ioSL7yL5oCMJZgDYm6i+6CygW5E5xVr/D1HdsGxjt1ZWSfUAs9OxSB/BNelWrQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + '@jest/globals@29.7.0': + resolution: {integrity: sha512-mpiz3dutLbkW2MNFubUGUEVLkTGiqW6yLVTA+JbP6fI6J5iL9Y0Nlg8k95pcF8ctKwCS7WVxteBs29hhfAotzQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + '@jest/reporters@29.7.0': + resolution: {integrity: sha512-DApq0KJbJOEzAFYjHADNNxAE3KbhxQB1y5Kplb5Waqw6zVbuWatSnMjE5gs8FUgEPmNsnZA3NCWl9NG0ia04Pg==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + peerDependencies: + node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 + peerDependenciesMeta: + node-notifier: + optional: true + + '@jest/schemas@29.6.3': + resolution: {integrity: sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + '@jest/source-map@29.6.3': + resolution: {integrity: sha512-MHjT95QuipcPrpLM+8JMSzFx6eHp5Bm+4XeFDJlwsvVBjmKNiIAvasGK2fxz2WbGRlnvqehFbh07MMa7n3YJnw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + '@jest/test-result@29.7.0': + resolution: {integrity: sha512-Fdx+tv6x1zlkJPcWXmMDAG2HBnaR9XPSd5aDWQVsfrZmLVT3lU1cwyxLgRmXR9yrq4NBoEm9BMsfgFzTQAbJYA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + '@jest/test-sequencer@29.7.0': + resolution: {integrity: sha512-GQwJ5WZVrKnOJuiYiAF52UNUJXgTZx1NHjFSEB0qEMmSZKAkdMoIzw/Cj6x6NF4AvV23AUqDpFzQkN/eYCYTxw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + '@jest/transform@29.7.0': + resolution: {integrity: sha512-ok/BTPFzFKVMwO5eOHRrvnBVHdRy9IrsrW1GpMaQ9MCnilNLXQKmAX8s1YXDFaai9xJpac2ySzV0YeRRECr2Vw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + '@jest/types@29.6.3': + resolution: {integrity: sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + '@jridgewell/gen-mapping@0.3.5': + resolution: {integrity: sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==} + engines: {node: '>=6.0.0'} + + '@jridgewell/resolve-uri@3.1.2': + resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==} + engines: {node: '>=6.0.0'} + + '@jridgewell/set-array@1.2.1': + resolution: {integrity: sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==} + engines: {node: '>=6.0.0'} + + '@jridgewell/source-map@0.3.6': + resolution: {integrity: sha512-1ZJTZebgqllO79ue2bm3rIGud/bOe0pP5BjSRCRxxYkEZS8STV7zN84UBbiYu7jy+eCKSnVIUgoWWE/tt+shMQ==} + + '@jridgewell/sourcemap-codec@1.4.15': + resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==} + + '@jridgewell/trace-mapping@0.3.25': + resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==} + + '@jsdevtools/ono@7.1.3': + resolution: {integrity: sha512-4JQNk+3mVzK3xh2rqd6RB4J46qUR19azEHBneZyTZM+c456qOrbbM/5xcR8huNCCcbVt7+UmizG6GuUvPvKUYg==} + + '@leichtgewicht/ip-codec@2.0.5': + resolution: {integrity: sha512-Vo+PSpZG2/fmgmiNzYK9qWRh8h/CHrwD0mo1h1DzL4yzHNSfWYujGTYsWGreD000gcgmZ7K4Ys6Tx9TxtsKdDw==} + + '@mdi/font@7.4.47': + resolution: {integrity: sha512-43MtGpd585SNzHZPcYowu/84Vz2a2g31TvPMTm9uTiCSWzaheQySUcSyUH/46fPnuPQWof2yd0pGBtzee/IQWw==} + + '@microsoft/tsdoc-config@0.16.2': + resolution: {integrity: sha512-OGiIzzoBLgWWR0UdRJX98oYO+XKGf7tiK4Zk6tQ/E4IJqGCe7dvkTvgDZV5cFJUzLGDOjeAXrnZoA6QkVySuxw==} + + '@microsoft/tsdoc@0.14.2': + resolution: {integrity: sha512-9b8mPpKrfeGRuhFH5iO1iwCLeIIsV6+H1sRfxbkoGXIyQE2BTsPd9zqSqQJ+pv5sJ/hT5M1zvOFL02MnEezFug==} + + '@nodelib/fs.scandir@2.1.5': + resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} + engines: {node: '>= 8'} + + '@nodelib/fs.stat@2.0.5': + resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} + engines: {node: '>= 8'} + + '@nodelib/fs.walk@1.2.8': + resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} + engines: {node: '>= 8'} + + '@pkgjs/parseargs@0.11.0': + resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==} + engines: {node: '>=14'} + + '@pkgr/core@0.1.1': + resolution: {integrity: sha512-cq8o4cWH0ibXh9VGi5P20Tu9XF/0fFXl9EUinr9QfTM7a7p0oTA4iJRCQWppXR1Pg8dSM0UCItCkPwsk9qWWYA==} + engines: {node: ^12.20.0 || ^14.18.0 || >=16.0.0} + + '@polka/url@1.0.0-next.25': + resolution: {integrity: sha512-j7P6Rgr3mmtdkeDGTe0E/aYyWEWVtc5yFXtHCRHs28/jptDEWfaVOc5T7cblqy1XKPPfCxJc/8DwQ5YgLOZOVQ==} + + '@rollup/plugin-babel@5.3.1': + resolution: {integrity: sha512-WFfdLWU/xVWKeRQnKmIAQULUI7Il0gZnBIH/ZFO069wYIfPu+8zrfp/KMW0atmELoRDq8FbiP3VCss9MhCut7Q==} + engines: {node: '>= 10.0.0'} + peerDependencies: + '@babel/core': ^7.0.0 + '@types/babel__core': ^7.1.9 + rollup: ^1.20.0||^2.0.0 + peerDependenciesMeta: + '@types/babel__core': + optional: true + + '@rollup/plugin-node-resolve@15.2.3': + resolution: {integrity: sha512-j/lym8nf5E21LwBT4Df1VD6hRO2L2iwUeUmP7litikRsVp1H6NWx20NEp0Y7su+7XGc476GnXXc4kFeZNGmaSQ==} + engines: {node: '>=14.0.0'} + peerDependencies: + rollup: ^2.78.0||^3.0.0||^4.0.0 + peerDependenciesMeta: + rollup: + optional: true + + '@rollup/plugin-replace@2.4.2': + resolution: {integrity: sha512-IGcu+cydlUMZ5En85jxHH4qj2hta/11BHq95iHEyb2sbgiN0eCdzvUcHw5gt9pBL5lTi4JDYJ1acCoMGpTvEZg==} + peerDependencies: + rollup: ^1.20.0 || ^2.0.0 + + '@rollup/plugin-terser@0.4.4': + resolution: {integrity: sha512-XHeJC5Bgvs8LfukDwWZp7yeqin6ns8RTl2B9avbejt6tZqsqvVoWI7ZTQrcNsfKEDWBTnTxM8nMDkO2IFFbd0A==} + engines: {node: '>=14.0.0'} + peerDependencies: + rollup: ^2.0.0||^3.0.0||^4.0.0 + peerDependenciesMeta: + rollup: + optional: true + + '@rollup/plugin-typescript@11.1.6': + resolution: {integrity: sha512-R92yOmIACgYdJ7dJ97p4K69I8gg6IEHt8M7dUBxN3W6nrO8uUxX5ixl0yU/N3aZTi8WhPuICvOHXQvF6FaykAA==} + engines: {node: '>=14.0.0'} + peerDependencies: + rollup: ^2.14.0||^3.0.0||^4.0.0 + tslib: '*' + typescript: '>=3.7.0' + peerDependenciesMeta: + rollup: + optional: true + tslib: + optional: true + + '@rollup/pluginutils@3.1.0': + resolution: {integrity: sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg==} + engines: {node: '>= 8.0.0'} + peerDependencies: + rollup: ^1.20.0||^2.0.0 + + '@rollup/pluginutils@5.1.0': + resolution: {integrity: sha512-XTIWOPPcpvyKI6L1NHo0lFlCyznUEyPmPY1mc3KpPVDYulHSTvyeLNVW00QTLIAFNhR3kYnJTQHeGqU4M3n09g==} + engines: {node: '>=14.0.0'} + peerDependencies: + rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0 + peerDependenciesMeta: + rollup: + optional: true + + '@rollup/rollup-android-arm-eabi@4.18.0': + resolution: {integrity: sha512-Tya6xypR10giZV1XzxmH5wr25VcZSncG0pZIjfePT0OVBvqNEurzValetGNarVrGiq66EBVAFn15iYX4w6FKgQ==} + cpu: [arm] + os: [android] + + '@rollup/rollup-android-arm64@4.18.0': + resolution: {integrity: sha512-avCea0RAP03lTsDhEyfy+hpfr85KfyTctMADqHVhLAF3MlIkq83CP8UfAHUssgXTYd+6er6PaAhx/QGv4L1EiA==} + cpu: [arm64] + os: [android] + + '@rollup/rollup-darwin-arm64@4.18.0': + resolution: {integrity: sha512-IWfdwU7KDSm07Ty0PuA/W2JYoZ4iTj3TUQjkVsO/6U+4I1jN5lcR71ZEvRh52sDOERdnNhhHU57UITXz5jC1/w==} + cpu: [arm64] + os: [darwin] + + '@rollup/rollup-darwin-x64@4.18.0': + resolution: {integrity: sha512-n2LMsUz7Ynu7DoQrSQkBf8iNrjOGyPLrdSg802vk6XT3FtsgX6JbE8IHRvposskFm9SNxzkLYGSq9QdpLYpRNA==} + cpu: [x64] + os: [darwin] + + '@rollup/rollup-linux-arm-gnueabihf@4.18.0': + resolution: {integrity: sha512-C/zbRYRXFjWvz9Z4haRxcTdnkPt1BtCkz+7RtBSuNmKzMzp3ZxdM28Mpccn6pt28/UWUCTXa+b0Mx1k3g6NOMA==} + cpu: [arm] + os: [linux] + + '@rollup/rollup-linux-arm-musleabihf@4.18.0': + resolution: {integrity: sha512-l3m9ewPgjQSXrUMHg93vt0hYCGnrMOcUpTz6FLtbwljo2HluS4zTXFy2571YQbisTnfTKPZ01u/ukJdQTLGh9A==} + cpu: [arm] + os: [linux] + + '@rollup/rollup-linux-arm64-gnu@4.18.0': + resolution: {integrity: sha512-rJ5D47d8WD7J+7STKdCUAgmQk49xuFrRi9pZkWoRD1UeSMakbcepWXPF8ycChBoAqs1pb2wzvbY6Q33WmN2ftw==} + cpu: [arm64] + os: [linux] + + '@rollup/rollup-linux-arm64-musl@4.18.0': + resolution: {integrity: sha512-be6Yx37b24ZwxQ+wOQXXLZqpq4jTckJhtGlWGZs68TgdKXJgw54lUUoFYrg6Zs/kjzAQwEwYbp8JxZVzZLRepQ==} + cpu: [arm64] + os: [linux] + + '@rollup/rollup-linux-powerpc64le-gnu@4.18.0': + resolution: {integrity: sha512-hNVMQK+qrA9Todu9+wqrXOHxFiD5YmdEi3paj6vP02Kx1hjd2LLYR2eaN7DsEshg09+9uzWi2W18MJDlG0cxJA==} + cpu: [ppc64] + os: [linux] + + '@rollup/rollup-linux-riscv64-gnu@4.18.0': + resolution: {integrity: sha512-ROCM7i+m1NfdrsmvwSzoxp9HFtmKGHEqu5NNDiZWQtXLA8S5HBCkVvKAxJ8U+CVctHwV2Gb5VUaK7UAkzhDjlg==} + cpu: [riscv64] + os: [linux] + + '@rollup/rollup-linux-s390x-gnu@4.18.0': + resolution: {integrity: sha512-0UyyRHyDN42QL+NbqevXIIUnKA47A+45WyasO+y2bGJ1mhQrfrtXUpTxCOrfxCR4esV3/RLYyucGVPiUsO8xjg==} + cpu: [s390x] + os: [linux] + + '@rollup/rollup-linux-x64-gnu@4.18.0': + resolution: {integrity: sha512-xuglR2rBVHA5UsI8h8UbX4VJ470PtGCf5Vpswh7p2ukaqBGFTnsfzxUBetoWBWymHMxbIG0Cmx7Y9qDZzr648w==} + cpu: [x64] + os: [linux] + + '@rollup/rollup-linux-x64-musl@4.18.0': + resolution: {integrity: sha512-LKaqQL9osY/ir2geuLVvRRs+utWUNilzdE90TpyoX0eNqPzWjRm14oMEE+YLve4k/NAqCdPkGYDaDF5Sw+xBfg==} + cpu: [x64] + os: [linux] + + '@rollup/rollup-win32-arm64-msvc@4.18.0': + resolution: {integrity: sha512-7J6TkZQFGo9qBKH0pk2cEVSRhJbL6MtfWxth7Y5YmZs57Pi+4x6c2dStAUvaQkHQLnEQv1jzBUW43GvZW8OFqA==} + cpu: [arm64] + os: [win32] + + '@rollup/rollup-win32-ia32-msvc@4.18.0': + resolution: {integrity: sha512-Txjh+IxBPbkUB9+SXZMpv+b/vnTEtFyfWZgJ6iyCmt2tdx0OF5WhFowLmnh8ENGNpfUlUZkdI//4IEmhwPieNg==} + cpu: [ia32] + os: [win32] + + '@rollup/rollup-win32-x64-msvc@4.18.0': + resolution: {integrity: sha512-UOo5FdvOL0+eIVTgS4tIdbW+TtnBLWg1YBCcU2KWM7nuNwRz9bksDX1bekJJCpu25N1DVWaCwnT39dVQxzqS8g==} + cpu: [x64] + os: [win32] + + '@shikijs/core@1.6.4': + resolution: {integrity: sha512-WTU9rzZae1p2v6LOxMf6LhtmZOkIHYYW160IuahUyJy7YXPPjyWZLR1ag+SgD22ZMxZtz1gfU6Tccc8t0Il/XA==} + + '@shikijs/transformers@1.6.4': + resolution: {integrity: sha512-NqDt7gUg3ayVBnsipT/KoL1pqsVbsvT/2cB0pb5SG2q72qjAv9Lb5OP99pL//BMmI+sMTo+TeARntklyBu4mZQ==} + + '@sideway/address@4.1.5': + resolution: {integrity: sha512-IqO/DUQHUkPeixNQ8n0JA6102hT9CmaljNTPmQ1u8MEhBo/R4Q8eKLN/vGZxuebwOroDB4cbpjheD4+/sKFK4Q==} + + '@sideway/formula@3.0.1': + resolution: {integrity: sha512-/poHZJJVjx3L+zVD6g9KgHfYnb443oi7wLu/XKojDviHy6HOEOA6z1Trk5aR1dGcmPenJEgb2sK2I80LeS3MIg==} + + '@sideway/pinpoint@2.0.0': + resolution: {integrity: sha512-RNiOoTPkptFtSVzQevY/yWtZwf/RxyVnPy/OcA9HBM3MlGDnBEYL5B41H0MTn0Uec8Hi+2qUtTfG2WWZBmMejQ==} + + '@sinclair/typebox@0.27.8': + resolution: {integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==} + + '@sindresorhus/is@4.6.0': + resolution: {integrity: sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw==} + engines: {node: '>=10'} + + '@sindresorhus/merge-streams@2.3.0': + resolution: {integrity: sha512-LtoMMhxAlorcGhmFYI+LhPgbPZCkgP6ra1YL604EeF6U98pLlQ3iWIGMdWSC+vWmPBWBNgmDBAhnAobLROJmwg==} + engines: {node: '>=18'} + + '@sinonjs/commons@3.0.1': + resolution: {integrity: sha512-K3mCHKQ9sVh8o1C9cxkwxaOmXoAMlDxC1mYyHrjqOWEcBjYr76t96zL2zlj5dUGZ3HSw240X1qgH3Mjf1yJWpQ==} + + '@sinonjs/fake-timers@10.3.0': + resolution: {integrity: sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA==} + + '@surma/rollup-plugin-off-main-thread@2.2.3': + resolution: {integrity: sha512-lR8q/9W7hZpMWweNiAKU7NQerBnzQQLvi8qnTDU/fxItPhtZVMbPV3lbCwjhIlNBe9Bbr5V+KHshvWmVSG9cxQ==} + + '@szmarczak/http-timer@4.0.6': + resolution: {integrity: sha512-4BAffykYOgO+5nzBWYwE3W90sBgLJoUPRWWcL8wlyiM8IB8ipJz3UMJ9KXQd1RKQXpKp8Tutn80HZtWsu2u76w==} + engines: {node: '>=10'} + + '@tanstack/virtual-core@3.5.1': + resolution: {integrity: sha512-046+AUSiDru/V9pajE1du8WayvBKeCvJ2NmKPy/mR8/SbKKrqmSbj7LJBfXE+nSq4f5TBXvnCzu0kcYebI9WdQ==} + + '@tanstack/vue-virtual@3.5.1': + resolution: {integrity: sha512-6mc4HtDPieDVKD6GqzHiJkdzuqRNdQZuoIbkwE6af939WV+w62YmSF69jN+BOqClqh/ObiW+X1VOQx1Pftrx1A==} + peerDependencies: + vue: ^2.7.0 || ^3.0.0 + + '@tootallnate/once@2.0.0': + resolution: {integrity: sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==} + engines: {node: '>= 10'} + + '@types/assert@1.5.10': + resolution: {integrity: sha512-qEO+AUgYab7GVbeDDgUNCU3o0aZUoIMpNAe+w5LDbRxfxQX7vQAdDgwj1AroX+i8KaV56FWg0srXlSZROnsrIQ==} + + '@types/babel__core@7.20.5': + resolution: {integrity: sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==} + + '@types/babel__generator@7.6.8': + resolution: {integrity: sha512-ASsj+tpEDsEiFr1arWrlN6V3mdfjRMZt6LtK/Vp/kreFLnr5QH5+DhvD5nINYZXzwJvXeGq+05iUXcAzVrqWtw==} + + '@types/babel__template@7.4.4': + resolution: {integrity: sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==} + + '@types/babel__traverse@7.20.6': + resolution: {integrity: sha512-r1bzfrm0tomOI8g1SzvCaQHo6Lcv6zu0EA+W2kHrt8dyrHQxGzBBL4kdkzIS+jBMV+EYcMAEAqXqYaLJq5rOZg==} + + '@types/body-parser@1.19.5': + resolution: {integrity: sha512-fB3Zu92ucau0iQ0JMCFQE7b/dv8Ot07NI3KaZIkIUNXq82k4eBAqUaneXfleGY9JWskeS9y+u0nXMyspcuQrCg==} + + '@types/bonjour@3.5.13': + resolution: {integrity: sha512-z9fJ5Im06zvUL548KvYNecEVlA7cVDkGUi6kZusb04mpyEFKCIZJvloCcmpmLaIahDpOQGHaHmG6imtPMmPXGQ==} + + '@types/braces@3.0.4': + resolution: {integrity: sha512-0WR3b8eaISjEW7RpZnclONaLFDf7buaowRHdqLp4vLj54AsSAYWfh3DRbfiYJY9XDxMgx1B4sE1Afw2PGpuHOA==} + + '@types/cacheable-request@6.0.3': + resolution: {integrity: sha512-IQ3EbTzGxIigb1I3qPZc1rWJnH0BmSKv5QYTalEwweFvyBDLSAe24zP0le/hyi7ecGfZVlIVAg4BZqb8WBwKqw==} + + '@types/connect-history-api-fallback@1.5.4': + resolution: {integrity: sha512-n6Cr2xS1h4uAulPRdlw6Jl6s1oG8KrVilPN2yUITEs+K48EzMJJ3W1xy8K5eWuFvjp3R74AOIGSmp2UfBJ8HFw==} + + '@types/connect@3.4.38': + resolution: {integrity: sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==} + + '@types/cors@2.8.17': + resolution: {integrity: sha512-8CGDvrBj1zgo2qE+oS3pOCyYNqCPryMWY2bGfwA0dcfopWGgxs+78df0Rs3rc9THP4JkOhLsAa+15VdpAqkcUA==} + + '@types/cytoscape@3.21.3': + resolution: {integrity: sha512-z8hhiKk8XAOh5uLPocxP06sp7ytI24F/tBSb6O72cDtUM85XLP2cQHCJtRO7vQWGWmUlAc3jnTIzWmviDngK6g==} + + '@types/d3-array@3.2.1': + resolution: {integrity: sha512-Y2Jn2idRrLzUfAKV2LyRImR+y4oa2AntrgID95SHJxuMUrkNXmanDSed71sRNZysveJVt1hLLemQZIady0FpEg==} + + '@types/d3-axis@3.0.6': + resolution: {integrity: sha512-pYeijfZuBd87T0hGn0FO1vQ/cgLk6E1ALJjfkC0oJ8cbwkZl3TpgS8bVBLZN+2jjGgg38epgxb2zmoGtSfvgMw==} + + '@types/d3-brush@3.0.6': + resolution: {integrity: sha512-nH60IZNNxEcrh6L1ZSMNA28rj27ut/2ZmI3r96Zd+1jrZD++zD3LsMIjWlvg4AYrHn/Pqz4CF3veCxGjtbqt7A==} + + '@types/d3-chord@3.0.6': + resolution: {integrity: sha512-LFYWWd8nwfwEmTZG9PfQxd17HbNPksHBiJHaKuY1XeqscXacsS2tyoo6OdRsjf+NQYeB6XrNL3a25E3gH69lcg==} + + '@types/d3-color@3.1.3': + resolution: {integrity: sha512-iO90scth9WAbmgv7ogoq57O9YpKmFBbmoEoCHDB2xMBY0+/KVrqAaCDyCE16dUspeOvIxFFRI+0sEtqDqy2b4A==} + + '@types/d3-contour@3.0.6': + resolution: {integrity: sha512-BjzLgXGnCWjUSYGfH1cpdo41/hgdWETu4YxpezoztawmqsvCeep+8QGfiY6YbDvfgHz/DkjeIkkZVJavB4a3rg==} + + '@types/d3-delaunay@6.0.4': + resolution: {integrity: sha512-ZMaSKu4THYCU6sV64Lhg6qjf1orxBthaC161plr5KuPHo3CNm8DTHiLw/5Eq2b6TsNP0W0iJrUOFscY6Q450Hw==} + + '@types/d3-dispatch@3.0.6': + resolution: {integrity: sha512-4fvZhzMeeuBJYZXRXrRIQnvUYfyXwYmLsdiN7XXmVNQKKw1cM8a5WdID0g1hVFZDqT9ZqZEY5pD44p24VS7iZQ==} + + '@types/d3-drag@3.0.7': + resolution: {integrity: sha512-HE3jVKlzU9AaMazNufooRJ5ZpWmLIoc90A37WU2JMmeq28w1FQqCZswHZ3xR+SuxYftzHq6WU6KJHvqxKzTxxQ==} + + '@types/d3-dsv@3.0.7': + resolution: {integrity: sha512-n6QBF9/+XASqcKK6waudgL0pf/S5XHPPI8APyMLLUHd8NqouBGLsU8MgtO7NINGtPBtk9Kko/W4ea0oAspwh9g==} + + '@types/d3-ease@3.0.2': + resolution: {integrity: sha512-NcV1JjO5oDzoK26oMzbILE6HW7uVXOHLQvHshBUW4UMdZGfiY6v5BeQwh9a9tCzv+CeefZQHJt5SRgK154RtiA==} + + '@types/d3-fetch@3.0.7': + resolution: {integrity: sha512-fTAfNmxSb9SOWNB9IoG5c8Hg6R+AzUHDRlsXsDZsNp6sxAEOP0tkP3gKkNSO/qmHPoBFTxNrjDprVHDQDvo5aA==} + + '@types/d3-force@3.0.9': + resolution: {integrity: sha512-IKtvyFdb4Q0LWna6ymywQsEYjK/94SGhPrMfEr1TIc5OBeziTi+1jcCvttts8e0UWZIxpasjnQk9MNk/3iS+kA==} + + '@types/d3-format@3.0.4': + resolution: {integrity: sha512-fALi2aI6shfg7vM5KiR1wNJnZ7r6UuggVqtDA+xiEdPZQwy/trcQaHnwShLuLdta2rTymCNpxYTiMZX/e09F4g==} + + '@types/d3-geo@3.1.0': + resolution: {integrity: sha512-856sckF0oP/diXtS4jNsiQw/UuK5fQG8l/a9VVLeSouf1/PPbBE1i1W852zVwKwYCBkFJJB7nCFTbk6UMEXBOQ==} + + '@types/d3-hierarchy@3.1.7': + resolution: {integrity: sha512-tJFtNoYBtRtkNysX1Xq4sxtjK8YgoWUNpIiUee0/jHGRwqvzYxkq0hGVbbOGSz+JgFxxRu4K8nb3YpG3CMARtg==} + + '@types/d3-interpolate@3.0.4': + resolution: {integrity: sha512-mgLPETlrpVV1YRJIglr4Ez47g7Yxjl1lj7YKsiMCb27VJH9W8NVM6Bb9d8kkpG/uAQS5AmbA48q2IAolKKo1MA==} + + '@types/d3-path@1.0.11': + resolution: {integrity: sha512-4pQMp8ldf7UaB/gR8Fvvy69psNHkTpD/pVw3vmEi8iZAB9EPMBruB1JvHO4BIq9QkUUd2lV1F5YXpMNj7JPBpw==} + + '@types/d3-path@3.1.0': + resolution: {integrity: sha512-P2dlU/q51fkOc/Gfl3Ul9kicV7l+ra934qBFXCFhrZMOL6du1TM0pm1ThYvENukyOn5h9v+yMJ9Fn5JK4QozrQ==} + + '@types/d3-polygon@3.0.2': + resolution: {integrity: sha512-ZuWOtMaHCkN9xoeEMr1ubW2nGWsp4nIql+OPQRstu4ypeZ+zk3YKqQT0CXVe/PYqrKpZAi+J9mTs05TKwjXSRA==} + + '@types/d3-quadtree@3.0.6': + resolution: {integrity: sha512-oUzyO1/Zm6rsxKRHA1vH0NEDG58HrT5icx/azi9MF1TWdtttWl0UIUsjEQBBh+SIkrpd21ZjEv7ptxWys1ncsg==} + + '@types/d3-random@3.0.3': + resolution: {integrity: sha512-Imagg1vJ3y76Y2ea0871wpabqp613+8/r0mCLEBfdtqC7xMSfj9idOnmBYyMoULfHePJyxMAw3nWhJxzc+LFwQ==} + + '@types/d3-sankey@0.12.4': + resolution: {integrity: sha512-YTicQNwioitIlvuvlfW2GfO6sKxpohzg2cSQttlXAPjFwoBuN+XpGLhUN3kLutG/dI3GCLC+DUorqiJt7Naetw==} + + '@types/d3-scale-chromatic@3.0.3': + resolution: {integrity: sha512-laXM4+1o5ImZv3RpFAsTRn3TEkzqkytiOY0Dz0sq5cnd1dtNlk6sHLon4OvqaiJb28T0S/TdsBI3Sjsy+keJrw==} + + '@types/d3-scale@4.0.8': + resolution: {integrity: sha512-gkK1VVTr5iNiYJ7vWDI+yUFFlszhNMtVeneJ6lUTKPjprsvLLI9/tgEGiXJOnlINJA8FyA88gfnQsHbybVZrYQ==} + + '@types/d3-selection@3.0.10': + resolution: {integrity: sha512-cuHoUgS/V3hLdjJOLTT691+G2QoqAjCVLmr4kJXR4ha56w1Zdu8UUQ5TxLRqudgNjwXeQxKMq4j+lyf9sWuslg==} + + '@types/d3-shape@1.3.12': + resolution: {integrity: sha512-8oMzcd4+poSLGgV0R1Q1rOlx/xdmozS4Xab7np0eamFFUYq71AU9pOCJEFnkXW2aI/oXdVYJzw6pssbSut7Z9Q==} + + '@types/d3-shape@3.1.6': + resolution: {integrity: sha512-5KKk5aKGu2I+O6SONMYSNflgiP0WfZIQvVUMan50wHsLG1G94JlxEVnCpQARfTtzytuY0p/9PXXZb3I7giofIA==} + + '@types/d3-time-format@4.0.3': + resolution: {integrity: sha512-5xg9rC+wWL8kdDj153qZcsJ0FWiFt0J5RB6LYUNZjwSnesfblqrI/bJ1wBdJ8OQfncgbJG5+2F+qfqnqyzYxyg==} + + '@types/d3-time@3.0.3': + resolution: {integrity: sha512-2p6olUZ4w3s+07q3Tm2dbiMZy5pCDfYwtLXXHUnVzXgQlZ/OyPtUz6OL382BkOuGlLXqfT+wqv8Fw2v8/0geBw==} + + '@types/d3-timer@3.0.2': + resolution: {integrity: sha512-Ps3T8E8dZDam6fUyNiMkekK3XUsaUEik+idO9/YjPtfj2qruF8tFBXS7XhtE4iIXBLxhmLjP3SXpLhVf21I9Lw==} + + '@types/d3-transition@3.0.8': + resolution: {integrity: sha512-ew63aJfQ/ms7QQ4X7pk5NxQ9fZH/z+i24ZfJ6tJSfqxJMrYLiK01EAs2/Rtw/JreGUsS3pLPNV644qXFGnoZNQ==} + + '@types/d3-zoom@3.0.8': + resolution: {integrity: sha512-iqMC4/YlFCSlO8+2Ii1GGGliCAY4XdeG748w5vQUbevlbDu0zSjH/+jojorQVBK/se0j6DUFNPBGSqD3YWYnDw==} + + '@types/d3@7.4.3': + resolution: {integrity: sha512-lZXZ9ckh5R8uiFVt8ogUNf+pIrK4EsWrx2Np75WvF/eTpJ0FMHNhjXk8CKEx/+gpHbNQyJWehbFaTvqmHWB3ww==} + + '@types/debug@4.1.12': + resolution: {integrity: sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==} + + '@types/dompurify@3.0.5': + resolution: {integrity: sha512-1Wg0g3BtQF7sSb27fJQAKck1HECM6zV1EB66j8JH9i3LCjYabJa0FSdiSgsD5K/RbrsR0SiraKacLB+T8ZVYAg==} + + '@types/eslint-scope@3.7.7': + resolution: {integrity: sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg==} + + '@types/eslint@8.56.10': + resolution: {integrity: sha512-Shavhk87gCtY2fhXDctcfS3e6FdxWkCx1iUZ9eEUbh7rTqlZT0/IzOkCOVt0fCjcFuZ9FPYfuezTBImfHCDBGQ==} + + '@types/estree@0.0.39': + resolution: {integrity: sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==} + + '@types/estree@1.0.5': + resolution: {integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==} + + '@types/express-serve-static-core@4.19.3': + resolution: {integrity: sha512-KOzM7MhcBFlmnlr/fzISFF5vGWVSvN6fTd4T+ExOt08bA/dA5kpSzY52nMsI1KDFmUREpJelPYyuslLRSjjgCg==} + + '@types/express@4.17.21': + resolution: {integrity: sha512-ejlPM315qwLpaQlQDTjPdsUFSc6ZsP4AN6AlWnogPjQ7CVi7PYF3YVz+CY3jE2pwYf7E/7HlDAN0rV2GxTG0HQ==} + + '@types/flexsearch@0.7.6': + resolution: {integrity: sha512-H5IXcRn96/gaDmo+rDl2aJuIJsob8dgOXDqf8K0t8rWZd1AFNaaspmRsElESiU+EWE33qfbFPgI0OC/B1g9FCA==} + + '@types/geojson@7946.0.14': + resolution: {integrity: sha512-WCfD5Ht3ZesJUsONdhvm84dmzWOiOzOAqOncN0++w0lBw1o8OuDNJF2McvvCef/yBqb/HYRahp1BYtODFQ8bRg==} + + '@types/glob@7.2.0': + resolution: {integrity: sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA==} + + '@types/glob@8.1.0': + resolution: {integrity: sha512-IO+MJPVhoqz+28h1qLAcBEH2+xHMK6MTyHJc7MTnnYb6wsoLR29POVGJ7LycmVXIqyy/4/2ShP5sUwTXuOwb/w==} + + '@types/graceful-fs@4.1.9': + resolution: {integrity: sha512-olP3sd1qOEe5dXTSaFvQG+02VdRXcdytWLAZsAq1PecU8uqQAhkrnbli7DagjtXKW/Bl7YJbUsa8MPcuc8LHEQ==} + + '@types/http-cache-semantics@4.0.4': + resolution: {integrity: sha512-1m0bIFVc7eJWyve9S0RnuRgcQqF/Xd5QsUZAZeQFr1Q3/p9JWoQQEqmVy+DPTNpGXwhgIetAoYF8JSc33q29QA==} + + '@types/http-errors@2.0.4': + resolution: {integrity: sha512-D0CFMMtydbJAegzOyHjtiKPLlvnm3iTZyZRSZoLq2mRhDdmLfIWOCYPfQJ4cu2erKghU++QvjcUjp/5h7hESpA==} + + '@types/http-proxy@1.17.14': + resolution: {integrity: sha512-SSrD0c1OQzlFX7pGu1eXxSEjemej64aaNPRhhVYUGqXh0BtldAAx37MG8btcumvpgKyZp1F5Gn3JkktdxiFv6w==} + + '@types/istanbul-lib-coverage@2.0.6': + resolution: {integrity: sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==} + + '@types/istanbul-lib-report@3.0.3': + resolution: {integrity: sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA==} + + '@types/istanbul-reports@3.0.4': + resolution: {integrity: sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==} + + '@types/js-yaml@4.0.9': + resolution: {integrity: sha512-k4MGaQl5TGo/iipqb2UDG2UwjXziSWkh0uysQelTlJpX1qGlpUZYm8PnO4DxG1qBomtJUdYJ6qR6xdIah10JLg==} + + '@types/jsdom@21.1.7': + resolution: {integrity: sha512-yOriVnggzrnQ3a9OKOCxaVuSug3w3/SbOj5i7VwXWZEyUNl3bLF9V3MfxGbZKuwqJOQyRfqXyROBB1CoZLFWzA==} + + '@types/json-schema@7.0.15': + resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==} + + '@types/katex@0.16.7': + resolution: {integrity: sha512-HMwFiRujE5PjrgwHQ25+bsLJgowjGjm5Z8FVSf0N6PwgJrwxH0QxzHYDcKsTfV3wva0vzrpqMTJS2jXPr5BMEQ==} + + '@types/keyv@3.1.4': + resolution: {integrity: sha512-BQ5aZNSCpj7D6K2ksrRCTmKRLEpnPvWDiLPfoGyhZ++8YtiK9d/3DBKPJgry359X/P1PfruyYwvnvwFjuEiEIg==} + + '@types/linkify-it@5.0.0': + resolution: {integrity: sha512-sVDA58zAw4eWAffKOaQH5/5j3XeayukzDk+ewSsnv3p4yJEZHCCzMDiZM8e0OUrRvmpGZ85jf4yDHkHsgBNr9Q==} + + '@types/lodash-es@4.17.12': + resolution: {integrity: sha512-0NgftHUcV4v34VhXm8QBSftKVXtbkBG3ViCjs6+eJ5a6y6Mi/jiFGPc1sC7QK+9BFhWrURE3EOggmWaSxL9OzQ==} + + '@types/lodash@4.17.5': + resolution: {integrity: sha512-MBIOHVZqVqgfro1euRDWX7OO0fBVUUMrN6Pwm8LQsz8cWhEpihlvR70ENj3f40j58TNxZaWv2ndSkInykNBBJw==} + + '@types/markdown-it@12.2.3': + resolution: {integrity: sha512-GKMHFfv3458yYy+v/N8gjufHO6MSZKCOXpZc5GXIWWy8uldwfmPn98vp81gZ5f9SVw8YYBctgfJ22a2d7AOMeQ==} + + '@types/markdown-it@14.1.1': + resolution: {integrity: sha512-4NpsnpYl2Gt1ljyBGrKMxFYAYvpqbnnkgP/i/g+NLpjEUa3obn1XJCur9YbEXKDAkaXqsR1LbDnGEJ0MmKFxfg==} + + '@types/mdast@3.0.15': + resolution: {integrity: sha512-LnwD+mUEfxWMa1QpDraczIn6k0Ee3SMicuYSSzS6ZYl2gKS09EClnJYGd8Du6rfc5r/GZEk5o1mRb8TaTj03sQ==} + + '@types/mdast@4.0.4': + resolution: {integrity: sha512-kGaNbPh1k7AFzgpud/gMdvIm5xuECykRR+JnWKQno9TAXVa6WIVCGTPvYGekIDL4uwCZQSYbUxNBSb1aUo79oA==} + + '@types/mdurl@2.0.0': + resolution: {integrity: sha512-RGdgjQUZba5p6QEFAVx2OGb8rQDL/cPRG7GiedRzMcJ1tYnUANBncjbSB1NRGwbvjcPeikRABz2nshyPk1bhWg==} + + '@types/micromatch@4.0.7': + resolution: {integrity: sha512-C/FMQ8HJAZhTsDpl4wDKZdMeeW5USjgzOczUwTGbRc1ZopPgOhIEnxY2ZgUrsuyy4DwK1JVOJZKFakv3TbCKiA==} + + '@types/mime@1.3.5': + resolution: {integrity: sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w==} + + '@types/minimatch@5.1.2': + resolution: {integrity: sha512-K0VQKziLUWkVKiRVrx4a40iPaxTUefQmjtkQofBkYRcoaaL/8rhwDWww9qWbrgicNOgnpIsMxyNIUM4+n6dUIA==} + + '@types/ms@0.7.34': + resolution: {integrity: sha512-nG96G3Wp6acyAgJqGasjODb+acrI7KltPiRxzHPXnP3NgI28bpQDRv53olbqGXbfcgF5aiiHmO3xpwEpS5Ld9g==} + + '@types/node-forge@1.3.11': + resolution: {integrity: sha512-FQx220y22OKNTqaByeBGqHWYz4cl94tpcxeFdvBo3wjG6XPBuZ0BNgNZRV5J5TFmmcsJ4IzsLkmGRiQbnYsBEQ==} + + '@types/node@18.19.34': + resolution: {integrity: sha512-eXF4pfBNV5DAMKGbI02NnDtWrQ40hAN558/2vvS4gMpMIxaf6JmD7YjnZbq0Q9TDSSkKBamime8ewRoomHdt4g==} + + '@types/node@20.14.2': + resolution: {integrity: sha512-xyu6WAMVwv6AKFLB+e/7ySZVr/0zLCzOa7rSpq6jNwpqOrUbcACDWC+53d4n2QHOnDou0fbIsg8wZu/sxrnI4Q==} + + '@types/normalize-package-data@2.4.4': + resolution: {integrity: sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==} + + '@types/prettier@2.7.3': + resolution: {integrity: sha512-+68kP9yzs4LMp7VNh8gdzMSPZFL44MLGqiHWvttYJe+6qnuVr4Ek9wSBQoveqY/r+LwjCcU29kNVkidwim+kYA==} + + '@types/prettier@3.0.0': + resolution: {integrity: sha512-mFMBfMOz8QxhYVbuINtswBp9VL2b4Y0QqYHwqLz3YbgtfAcat2Dl6Y1o4e22S/OVE6Ebl9m7wWiMT2lSbAs1wA==} + deprecated: This is a stub types definition. prettier provides its own type definitions, so you do not need this installed. + + '@types/qs@6.9.15': + resolution: {integrity: sha512-uXHQKES6DQKKCLh441Xv/dwxOq1TVS3JPUMlEqoEglvlhR6Mxnlew/Xq/LRVHpLyk7iK3zODe1qYHIMltO7XGg==} + + '@types/ramda@0.28.25': + resolution: {integrity: sha512-HrQNqQAGcITpn9HAJFamDxm7iZeeXiP/95pN5OMbNniDjzCCeOHbBKNGmUy8NRi0fhYS+/cXeo91MFC+06gbow==} + + '@types/range-parser@1.2.7': + resolution: {integrity: sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ==} + + '@types/resolve@1.20.2': + resolution: {integrity: sha512-60BCwRFOZCQhDncwQdxxeOEEkbc5dIMccYLwbxsS4TUNeVECQ/pBJ0j09mrHOl/JJvpRPGwO9SvE4nR2Nb/a4Q==} + + '@types/responselike@1.0.3': + resolution: {integrity: sha512-H/+L+UkTV33uf49PH5pCAUBVPNj2nDBXTN+qS1dOwyyg24l3CcicicCA7ca+HMvJBZcFgl5r8e+RR6elsb4Lyw==} + + '@types/retry@0.12.0': + resolution: {integrity: sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA==} + + '@types/rollup-plugin-visualizer@4.2.4': + resolution: {integrity: sha512-BW4Q6D1Qy5gno5qHWrnMDC2dOe/TAKXvqCpckOggCCu+XpS+ZZJJ1lq1+K3bvYccoO3Y7f5kglbFAgYGqCgULg==} + + '@types/semver@7.5.8': + resolution: {integrity: sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==} + + '@types/send@0.17.4': + resolution: {integrity: sha512-x2EM6TJOybec7c52BX0ZspPodMsQUd5L6PRwOunVyVUhXiBSKf3AezDL8Dgvgt5o0UfKNfuA0eMLr2wLT4AiBA==} + + '@types/serve-index@1.9.4': + resolution: {integrity: sha512-qLpGZ/c2fhSs5gnYsQxtDEq3Oy8SXPClIXkW5ghvAvsNuVSA8k+gCONcUCS/UjLEYvYps+e8uBtfgXgvhwfNug==} + + '@types/serve-static@1.15.7': + resolution: {integrity: sha512-W8Ym+h8nhuRwaKPaDw34QUkwsGi6Rc4yYqvKFo5rm2FUEhCFbzVWrxXUxuKK8TASjWsysJY0nsmNCGhCOIsrOw==} + + '@types/sinonjs__fake-timers@8.1.1': + resolution: {integrity: sha512-0kSuKjAS0TrGLJ0M/+8MaFkGsQhZpB6pxOmvS3K8FYI72K//YmdfoW9X2qPsAKh1mkwxGD5zib9s1FIFed6E8g==} + + '@types/sizzle@2.3.8': + resolution: {integrity: sha512-0vWLNK2D5MT9dg0iOo8GlKguPAU02QjmZitPEsXRuJXU/OGIOt9vT9Fc26wtYuavLxtO45v9PGleoL9Z0k1LHg==} + + '@types/sockjs@0.3.36': + resolution: {integrity: sha512-MK9V6NzAS1+Ud7JV9lJLFqW85VbC9dq3LmwZCuBe4wBDgKC0Kj/jd8Xl+nSviU+Qc3+m7umHHyHg//2KSa0a0Q==} + + '@types/stack-utils@2.0.3': + resolution: {integrity: sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw==} + + '@types/stylis@4.2.6': + resolution: {integrity: sha512-4nebF2ZJGzQk0ka0O6+FZUWceyFv4vWq/0dXBMmrSeAwzOuOd/GxE5Pa64d/ndeNLG73dXoBsRzvtsVsYUv6Uw==} + + '@types/tough-cookie@4.0.5': + resolution: {integrity: sha512-/Ad8+nIOV7Rl++6f1BdKxFSMgmoqEoYbHRpPcx3JEfv8VRsQe9Z4mCXeJBzxs7mbHY/XOZZuXlRNfhpVPbs6ZA==} + + '@types/trusted-types@2.0.7': + resolution: {integrity: sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw==} + + '@types/unist@2.0.10': + resolution: {integrity: sha512-IfYcSBWE3hLpBg8+X2SEa8LVkJdJEkT2Ese2aaLs3ptGdVtABxndrMaxuFlQ1qdFf9Q5rDvDpxI3WwgvKFAsQA==} + + '@types/unist@3.0.2': + resolution: {integrity: sha512-dqId9J8K/vGi5Zr7oo212BGii5m3q5Hxlkwy3WpYuKPklmBEvsbMYYyLxAQpSffdLl/gdW0XUpKWFvYmyoWCoQ==} + + '@types/uuid@9.0.8': + resolution: {integrity: sha512-jg+97EGIcY9AGHJJRaaPVgetKDsrTgbRjQ5Msgjh/DQKEFl0DtyRr/VCOyD1T2R1MNeWPK/u7JoGhlDZnKBAfA==} + + '@types/web-bluetooth@0.0.20': + resolution: {integrity: sha512-g9gZnnXVq7gM7v3tJCWV/qw7w+KeOlSHAhgF9RytFyifW6AF61hdT2ucrYhPq9hLs5JIryeupHV3qGk95dH9ow==} + + '@types/ws@8.5.10': + resolution: {integrity: sha512-vmQSUcfalpIq0R9q7uTo2lXs6eGIpt9wtnLdMv9LVpIjCA/+ufZRozlVoVelIYixx1ugCBKDhn89vnsEGOCx9A==} + + '@types/ws@8.5.5': + resolution: {integrity: sha512-lwhs8hktwxSjf9UaZ9tG5M03PGogvFaH8gUgLNbN9HKIg0dvv6q+gkSuJ8HN4/VbyxkuLzCjlN7GquQ0gUJfIg==} + + '@types/yargs-parser@21.0.3': + resolution: {integrity: sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==} + + '@types/yargs@17.0.32': + resolution: {integrity: sha512-xQ67Yc/laOG5uMfX/093MRlGGCIBzZMarVa+gfNKJxWAIgykYpVGkBdbqEzGDDfCrVUj6Hiff4mTZ5BA6TmAog==} + + '@types/yauzl@2.10.3': + resolution: {integrity: sha512-oJoftv0LSuaDZE3Le4DbKX+KS9G36NzOeSap90UIK0yMA/NhKJhqlSGtNDORNRaIbQfzjXDrQa0ytJ6mNRGz/Q==} + + '@typescript-eslint/eslint-plugin@7.13.0': + resolution: {integrity: sha512-FX1X6AF0w8MdVFLSdqwqN/me2hyhuQg4ykN6ZpVhh1ij/80pTvDKclX1sZB9iqex8SjQfVhwMKs3JtnnMLzG9w==} + engines: {node: ^18.18.0 || >=20.0.0} + peerDependencies: + '@typescript-eslint/parser': ^7.0.0 + eslint: ^8.56.0 + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + + '@typescript-eslint/parser@7.13.0': + resolution: {integrity: sha512-EjMfl69KOS9awXXe83iRN7oIEXy9yYdqWfqdrFAYAAr6syP8eLEFI7ZE4939antx2mNgPRW/o1ybm2SFYkbTVA==} + engines: {node: ^18.18.0 || >=20.0.0} + peerDependencies: + eslint: ^8.56.0 + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + + '@typescript-eslint/scope-manager@5.62.0': + resolution: {integrity: sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + + '@typescript-eslint/scope-manager@7.13.0': + resolution: {integrity: sha512-ZrMCe1R6a01T94ilV13egvcnvVJ1pxShkE0+NDjDzH4nvG1wXpwsVI5bZCvE7AEDH1mXEx5tJSVR68bLgG7Dng==} + engines: {node: ^18.18.0 || >=20.0.0} + + '@typescript-eslint/type-utils@7.13.0': + resolution: {integrity: sha512-xMEtMzxq9eRkZy48XuxlBFzpVMDurUAfDu5Rz16GouAtXm0TaAoTFzqWUFPPuQYXI/CDaH/Bgx/fk/84t/Bc9A==} + engines: {node: ^18.18.0 || >=20.0.0} + peerDependencies: + eslint: ^8.56.0 + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + + '@typescript-eslint/types@5.62.0': + resolution: {integrity: sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + + '@typescript-eslint/types@7.13.0': + resolution: {integrity: sha512-QWuwm9wcGMAuTsxP+qz6LBBd3Uq8I5Nv8xb0mk54jmNoCyDspnMvVsOxI6IsMmway5d1S9Su2+sCKv1st2l6eA==} + engines: {node: ^18.18.0 || >=20.0.0} + + '@typescript-eslint/typescript-estree@5.62.0': + resolution: {integrity: sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + + '@typescript-eslint/typescript-estree@7.13.0': + resolution: {integrity: sha512-cAvBvUoobaoIcoqox1YatXOnSl3gx92rCZoMRPzMNisDiM12siGilSM4+dJAekuuHTibI2hVC2fYK79iSFvWjw==} + engines: {node: ^18.18.0 || >=20.0.0} + peerDependencies: + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + + '@typescript-eslint/utils@5.62.0': + resolution: {integrity: sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 + + '@typescript-eslint/utils@7.13.0': + resolution: {integrity: sha512-jceD8RgdKORVnB4Y6BqasfIkFhl4pajB1wVxrF4akxD2QPM8GNYjgGwEzYS+437ewlqqrg7Dw+6dhdpjMpeBFQ==} + engines: {node: ^18.18.0 || >=20.0.0} + peerDependencies: + eslint: ^8.56.0 + + '@typescript-eslint/visitor-keys@5.62.0': + resolution: {integrity: sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + + '@typescript-eslint/visitor-keys@7.13.0': + resolution: {integrity: sha512-nxn+dozQx+MK61nn/JP+M4eCkHDSxSLDpgE3WcQo0+fkjEolnaB5jswvIKC4K56By8MMgIho7f1PVxERHEo8rw==} + engines: {node: ^18.18.0 || >=20.0.0} + + '@ungap/structured-clone@1.2.0': + resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==} + + '@unocss/astro@0.59.4': + resolution: {integrity: sha512-DU3OR5MMR1Uvvec4/wB9EetDASHRg19Moy6z/MiIhn8JWJ0QzWYgSeJcfUX8exomMYv6WUEQJL+CyLI34Wmn8w==} + peerDependencies: + vite: ^2.9.0 || ^3.0.0-0 || ^4.0.0 || ^5.0.0-0 + peerDependenciesMeta: + vite: + optional: true + + '@unocss/cli@0.59.4': + resolution: {integrity: sha512-TT+WKedSifhsRqnpoYD2LfyYipVzEbzIU4DDGIaDNeDxGXYOGpb876zzkPDcvZSpI37IJ/efkkV7PGYpPBcQBQ==} + engines: {node: '>=14'} + hasBin: true + + '@unocss/config@0.59.4': + resolution: {integrity: sha512-h3yhj+D5Ygn5R7gbK4wMrtXZX6FF5DF6YD517sSSb0XB3lxHD9PhhT4HaV1hpHknvu0cMFU3460M45+TN1TI0Q==} + engines: {node: '>=14'} + + '@unocss/core@0.59.4': + resolution: {integrity: sha512-bBZ1sgcAtezQVZ1BST9IS3jqcsTLyqKNjiIf7FTnX3DHpfpYuMDFzSOtmkZDzBleOLO/CtcRWjT0HwTSQAmV0A==} + + '@unocss/extractor-arbitrary-variants@0.59.4': + resolution: {integrity: sha512-RDe4FgMGJQ+tp9GLvhPHni7Cc2O0lHBRMElVlN8LoXJAdODMICdbrEPGJlEfrc+7x/QgVFoR895KpYJh3hIgGA==} + + '@unocss/inspector@0.59.4': + resolution: {integrity: sha512-QczJFNDiggmekkJyNcbcZIUVwlhvxz7ZwjnSf0w7K4znxfjKkZ1hNUbqLviM1HumkTKOdT27VISW7saN/ysO4w==} + + '@unocss/postcss@0.59.4': + resolution: {integrity: sha512-KVz+AD7McHKp7VEWHbFahhyyVEo0oP/e1vnuNSuPlHthe+1V2zfH6lps+iJcvfL2072r5J+0PvD/1kOp5ryUSg==} + engines: {node: '>=14'} + peerDependencies: + postcss: ^8.4.21 + + '@unocss/preset-attributify@0.59.4': + resolution: {integrity: sha512-BeogWuYaIakC1gmOZFFCjFVWmu/m3AqEX8UYQS6tY6lAaK2L4Qf4AstYBlT2zAMxy9LNxPDxFQrvfSfFk5Klsg==} + + '@unocss/preset-icons@0.59.4': + resolution: {integrity: sha512-Afjwh5oC4KRE8TNZDUkRK6hvvV1wKLrS1e5trniE0B0AM9HK3PBolQaIU7QmzPv6WQrog+MZgIwafg1eqsPUCA==} + + '@unocss/preset-mini@0.59.4': + resolution: {integrity: sha512-ZLywGrXi1OCr4My5vX2rLUb5Xgx6ufR9WTQOvpQJGBdIV/jnZn/pyE5avCs476SnOq2K172lnd8mFmTK7/zArA==} + + '@unocss/preset-tagify@0.59.4': + resolution: {integrity: sha512-vWMdTUoghOSmTbdmZtERssffmdUdOuhh4vUdl0R8Kv6KxB0PkvEFCu2FItn97nRJdSPlZSFxxDkaOIg9w+STNQ==} + + '@unocss/preset-typography@0.59.4': + resolution: {integrity: sha512-ZX9bxZUqlXK1qEDzO5lkK96ICt9itR/oNyn/7mMc1JPqwj263LumQMn5silocgzoLSUXEeq//L6GylqYjkL8GA==} + + '@unocss/preset-uno@0.59.4': + resolution: {integrity: sha512-G1f8ZluplvXZ3bERj+sM/8zzY//XD++nNOlAQNKOANSVht3qEoJebrfEiMClNpA5qW5VWOZhEhPkh0M7GsXtnA==} + + '@unocss/preset-web-fonts@0.59.4': + resolution: {integrity: sha512-ehutTjKHnf2KPmdatN42N9a8+y+glKSU3UlcBRNsVIIXVIlaBQuPVGZSPhnMtrKD17IgWylXq2K6RJK+ab0hZA==} + + '@unocss/preset-wind@0.59.4': + resolution: {integrity: sha512-CNX6w0ZpSQg/i1oF0/WKWzto8PtLqoknC5h8JmmcGb7VsyBQeV0oNnhbURxpbuMEhbv1MWVIGvk8a+P6y0rFkQ==} + + '@unocss/reset@0.59.4': + resolution: {integrity: sha512-Upy4xzdWl4RChbLAXBq1BoR4WqxXMoIfjvtcwSZcZK2sylXCFAseSWnyzJFdSiXPqNfmMuNgPXgiSxiQB+cmNA==} + + '@unocss/rule-utils@0.59.4': + resolution: {integrity: sha512-1qoLJlBWAkS4D4sg73990S1MT7E8E5md/YhopKjTQuEC9SyeVmEg+5pR/Xd8xhPKMqbcuBPl/DS8b6l/GQO56A==} + engines: {node: '>=14'} + + '@unocss/scope@0.59.4': + resolution: {integrity: sha512-wBQJ39kw4Tfj4km7AoGvSIobPKVnRZVsgc0bema5Y0PL3g1NeVQ/LopBI2zEJWdpxGXUWxSDsXm7BZo6qVlD/A==} + + '@unocss/transformer-attributify-jsx-babel@0.59.4': + resolution: {integrity: sha512-xtCRSgeTaDBiNJLVX7oOSFe63JiFB5nrdK23PHn3IlZM9O7Bxx4ZxI3MQJtFZFQNE+INFko+DVyY1WiFEm1p/Q==} + + '@unocss/transformer-attributify-jsx@0.59.4': + resolution: {integrity: sha512-m4b83utzKMfUQH/45V2QkjJoXd8Tu2pRP1nic91Xf7QRceyKDD+BxoTneo2JNC2K274cQu7HqqotnCm2aFfEGw==} + + '@unocss/transformer-compile-class@0.59.4': + resolution: {integrity: sha512-Vgk2OCLPW0pU+Uzr1IgDtHVspSBb+gPrQFkV+5gxHk9ZdKi3oYKxLuufVWYDSwv7o9yfQGbYrMH9YLsjRsnA7Q==} + + '@unocss/transformer-directives@0.59.4': + resolution: {integrity: sha512-nXUTEclUbs0vQ4KfLhKt4J/5SLSEq1az2FNlJmiXMmqmn75X89OrtCu2OJu9sGXhn+YyBApxgcSSdxmtpqMi1Q==} + + '@unocss/transformer-variant-group@0.59.4': + resolution: {integrity: sha512-9XLixxn1NRgP62Kj4R/NC/rpqhql5F2s6ulJ8CAMTEbd/NylVhEANluPGDVUGcLJ4cj6E02hFa8C1PLGSm7/xw==} + + '@unocss/vite@0.59.4': + resolution: {integrity: sha512-q7GN7vkQYn79n7vYIUlaa7gXGwc7pk0Qo3z3ZFwWGE43/DtZnn2Hwl5UjgBAgi9McA+xqHJEHRsJnI7HJPHUYA==} + peerDependencies: + vite: ^2.9.0 || ^3.0.0-0 || ^4.0.0 || ^5.0.0-0 + + '@vite-pwa/vitepress@0.4.0': + resolution: {integrity: sha512-MrsSCK5EBCzQAQgq5/3XHaFIjkypda58Wzy6PkDwZoRHnWexik0C2GUxMOe+RA+qdpGxB0mEkhqajeOmuYMvhw==} + peerDependencies: + '@vite-pwa/assets-generator': ^0.2.4 + vite-plugin-pwa: '>=0.19.0 <1' + peerDependenciesMeta: + '@vite-pwa/assets-generator': + optional: true + + '@vitejs/plugin-vue@5.0.5': + resolution: {integrity: sha512-LOjm7XeIimLBZyzinBQ6OSm3UBCNVCpLkxGC0oWmm2YPzVZoxMsdvNVimLTBzpAnR9hl/yn1SHGuRfe6/Td9rQ==} + engines: {node: ^18.0.0 || >=20.0.0} + peerDependencies: + vite: ^5.0.0 + vue: ^3.2.25 + + '@vitest/coverage-v8@1.6.0': + resolution: {integrity: sha512-KvapcbMY/8GYIG0rlwwOKCVNRc0OL20rrhFkg/CHNzncV03TE2XWvO5w9uZYoxNiMEBacAJt3unSOiZ7svePew==} + peerDependencies: + vitest: 1.6.0 + + '@vitest/expect@1.6.0': + resolution: {integrity: sha512-ixEvFVQjycy/oNgHjqsL6AZCDduC+tflRluaHIzKIsdbzkLn2U/iBnVeJwB6HsIjQBdfMR8Z0tRxKUsvFJEeWQ==} + + '@vitest/runner@1.6.0': + resolution: {integrity: sha512-P4xgwPjwesuBiHisAVz/LSSZtDjOTPYZVmNAnpHHSR6ONrf8eCJOFRvUwdHn30F5M1fxhqtl7QZQUk2dprIXAg==} + + '@vitest/snapshot@1.6.0': + resolution: {integrity: sha512-+Hx43f8Chus+DCmygqqfetcAZrDJwvTj0ymqjQq4CvmpKFSTVteEOBzCusu1x2tt4OJcvBflyHUE0DZSLgEMtQ==} + + '@vitest/spy@1.6.0': + resolution: {integrity: sha512-leUTap6B/cqi/bQkXUu6bQV5TZPx7pmMBKBQiI0rJA8c3pB56ZsaTbREnF7CJfmvAS4V2cXIBAh/3rVwrrCYgw==} + + '@vitest/ui@1.6.0': + resolution: {integrity: sha512-k3Lyo+ONLOgylctiGovRKy7V4+dIN2yxstX3eY5cWFXH6WP+ooVX79YSyi0GagdTQzLmT43BF27T0s6dOIPBXA==} + peerDependencies: + vitest: 1.6.0 + + '@vitest/utils@1.6.0': + resolution: {integrity: sha512-21cPiuGMoMZwiOHa2i4LXkMkMkCGzA+MVFV70jRwHo95dL4x/ts5GZhML1QWuy7yfp3WzK3lRvZi3JnXTYqrBw==} + + '@vue/compat@3.4.27': + resolution: {integrity: sha512-H2W93cPe9WXXkHiYEeX7f2Z8/znElm44fxgj8uBhgC6cxvjDUOLIcIJySs+FZvv6JM+Re/SBUnlcr4LJMaQZzw==} + peerDependencies: + vue: 3.4.27 + + '@vue/compiler-core@3.4.27': + resolution: {integrity: sha512-E+RyqY24KnyDXsCuQrI+mlcdW3ALND6U7Gqa/+bVwbcpcR3BRRIckFoz7Qyd4TTlnugtwuI7YgjbvsLmxb+yvg==} + + '@vue/compiler-dom@3.4.27': + resolution: {integrity: sha512-kUTvochG/oVgE1w5ViSr3KUBh9X7CWirebA3bezTbB5ZKBQZwR2Mwj9uoSKRMFcz4gSMzzLXBPD6KpCLb9nvWw==} + + '@vue/compiler-sfc@3.4.27': + resolution: {integrity: sha512-nDwntUEADssW8e0rrmE0+OrONwmRlegDA1pD6QhVeXxjIytV03yDqTey9SBDiALsvAd5U4ZrEKbMyVXhX6mCGA==} + + '@vue/compiler-ssr@3.4.27': + resolution: {integrity: sha512-CVRzSJIltzMG5FcidsW0jKNQnNRYC8bT21VegyMMtHmhW3UOI7knmUehzswXLrExDLE6lQCZdrhD4ogI7c+vuw==} + + '@vue/devtools-api@6.6.3': + resolution: {integrity: sha512-0MiMsFma/HqA6g3KLKn+AGpL1kgKhFWszC9U29NfpWK5LE7bjeXxySWJrOJ77hBz+TBrBQ7o4QJqbPbqbs8rJw==} + + '@vue/devtools-api@7.2.1': + resolution: {integrity: sha512-6oNCtyFOrNdqm6GUkFujsCgFlpbsHLnZqq7edeM/+cxAbMyCWvsaCsIMUaz7AiluKLccCGEM8fhOsjaKgBvb7g==} + + '@vue/devtools-kit@7.2.1': + resolution: {integrity: sha512-Wak/fin1X0Q8LLIfCAHBrdaaB+R6IdpSXsDByPHbQ3BmkCP0/cIo/oEGp9i0U2+gEqD4L3V9RDjNf1S34DTzQQ==} + peerDependencies: + vue: ^3.0.0 + + '@vue/devtools-shared@7.2.1': + resolution: {integrity: sha512-PCJF4UknJmOal68+X9XHyVeQ+idv0LFujkTOIW30+GaMJqwFVN9LkQKX4gLqn61KkGMdJTzQ1bt7EJag3TI6AA==} + + '@vue/reactivity@3.4.27': + resolution: {integrity: sha512-kK0g4NknW6JX2yySLpsm2jlunZJl2/RJGZ0H9ddHdfBVHcNzxmQ0sS0b09ipmBoQpY8JM2KmUw+a6sO8Zo+zIA==} + + '@vue/runtime-core@3.4.27': + resolution: {integrity: sha512-7aYA9GEbOOdviqVvcuweTLe5Za4qBZkUY7SvET6vE8kyypxVgaT1ixHLg4urtOlrApdgcdgHoTZCUuTGap/5WA==} + + '@vue/runtime-dom@3.4.27': + resolution: {integrity: sha512-ScOmP70/3NPM+TW9hvVAz6VWWtZJqkbdf7w6ySsws+EsqtHvkhxaWLecrTorFxsawelM5Ys9FnDEMt6BPBDS0Q==} + + '@vue/server-renderer@3.4.27': + resolution: {integrity: sha512-dlAMEuvmeA3rJsOMJ2J1kXU7o7pOxgsNHVr9K8hB3ImIkSuBrIdy0vF66h8gf8Tuinf1TK3mPAz2+2sqyf3KzA==} + peerDependencies: + vue: 3.4.27 + + '@vue/shared@3.4.27': + resolution: {integrity: sha512-DL3NmY2OFlqmYYrzp39yi3LDkKxa5vZVwxWdQ3rG0ekuWscHraeIbnI8t+aZK7qhYqEqWKTUdijadunb9pnrgA==} + + '@vueuse/core@10.11.0': + resolution: {integrity: sha512-x3sD4Mkm7PJ+pcq3HX8PLPBadXCAlSDR/waK87dz0gQE+qJnaaFhc/dZVfJz+IUYzTMVGum2QlR7ImiJQN4s6g==} + + '@vueuse/integrations@10.11.0': + resolution: {integrity: sha512-Pp6MtWEIr+NDOccWd8j59Kpjy5YDXogXI61Kb1JxvSfVBO8NzFQkmrKmSZz47i+ZqHnIzxaT38L358yDHTncZg==} + peerDependencies: + async-validator: ^4 + axios: ^1 + change-case: ^4 + drauu: ^0.3 + focus-trap: ^7 + fuse.js: ^6 + idb-keyval: ^6 + jwt-decode: ^3 + nprogress: ^0.2 + qrcode: ^1.5 + sortablejs: ^1 + universal-cookie: ^6 + peerDependenciesMeta: + async-validator: + optional: true + axios: + optional: true + change-case: + optional: true + drauu: + optional: true + focus-trap: + optional: true + fuse.js: + optional: true + idb-keyval: + optional: true + jwt-decode: + optional: true + nprogress: + optional: true + qrcode: + optional: true + sortablejs: + optional: true + universal-cookie: + optional: true + + '@vueuse/metadata@10.11.0': + resolution: {integrity: sha512-kQX7l6l8dVWNqlqyN3ePW3KmjCQO3ZMgXuBMddIu83CmucrsBfXlH+JoviYyRBws/yLTQO8g3Pbw+bdIoVm4oQ==} + + '@vueuse/shared@10.11.0': + resolution: {integrity: sha512-fyNoIXEq3PfX1L3NkNhtVQUSRtqYwJtJg+Bp9rIzculIZWHTkKSysujrOk2J+NrRulLTQH9+3gGSfYLWSEWU1A==} + + '@wdio/config@7.31.1': + resolution: {integrity: sha512-WAfswbCatwiaDVqy6kfF/5T8/WS/US/SRhBGUFrfBuGMIe+RRoHgy7jURFWSvUIE7CNHj8yvs46fLUcxhXjzcQ==} + engines: {node: '>=12.0.0'} + + '@wdio/logger@7.26.0': + resolution: {integrity: sha512-kQj9s5JudAG9qB+zAAcYGPHVfATl2oqKgqj47yjehOQ1zzG33xmtL1ArFbQKWhDG32y1A8sN6b0pIqBEIwgg8Q==} + engines: {node: '>=12.0.0'} + + '@wdio/protocols@7.27.0': + resolution: {integrity: sha512-hT/U22R5i3HhwPjkaKAG0yd59eaOaZB0eibRj2+esCImkb5Y6rg8FirrlYRxIGFVBl0+xZV0jKHzR5+o097nvg==} + engines: {node: '>=12.0.0'} + + '@wdio/types@7.30.2': + resolution: {integrity: sha512-uZ8o7FX8RyBsaXiOWa59UKTCHTtADNvOArYTcHNEIzt+rh4JdB/uwqfc8y4TCNA2kYm7PWaQpUFwpStLeg0H1Q==} + engines: {node: '>=12.0.0'} + peerDependencies: + typescript: ^4.6.2 + peerDependenciesMeta: + typescript: + optional: true + + '@wdio/utils@7.30.2': + resolution: {integrity: sha512-np7I+smszFUennbQKdzbMN/zUL3s3EZq9pCCUcTRjjs9TE4tnn0wfmGdoz2o7REYu6kn9NfFFJyVIM2VtBbKEA==} + engines: {node: '>=12.0.0'} + + '@webassemblyjs/ast@1.12.1': + resolution: {integrity: sha512-EKfMUOPRRUTy5UII4qJDGPpqfwjOmZ5jeGFwid9mnoqIFK+e0vqoi1qH56JpmZSzEL53jKnNzScdmftJyG5xWg==} + + '@webassemblyjs/floating-point-hex-parser@1.11.6': + resolution: {integrity: sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw==} + + '@webassemblyjs/helper-api-error@1.11.6': + resolution: {integrity: sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q==} + + '@webassemblyjs/helper-buffer@1.12.1': + resolution: {integrity: sha512-nzJwQw99DNDKr9BVCOZcLuJJUlqkJh+kVzVl6Fmq/tI5ZtEyWT1KZMyOXltXLZJmDtvLCDgwsyrkohEtopTXCw==} + + '@webassemblyjs/helper-numbers@1.11.6': + resolution: {integrity: sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g==} + + '@webassemblyjs/helper-wasm-bytecode@1.11.6': + resolution: {integrity: sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA==} + + '@webassemblyjs/helper-wasm-section@1.12.1': + resolution: {integrity: sha512-Jif4vfB6FJlUlSbgEMHUyk1j234GTNG9dBJ4XJdOySoj518Xj0oGsNi59cUQF4RRMS9ouBUxDDdyBVfPTypa5g==} + + '@webassemblyjs/ieee754@1.11.6': + resolution: {integrity: sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg==} + + '@webassemblyjs/leb128@1.11.6': + resolution: {integrity: sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ==} + + '@webassemblyjs/utf8@1.11.6': + resolution: {integrity: sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA==} + + '@webassemblyjs/wasm-edit@1.12.1': + resolution: {integrity: sha512-1DuwbVvADvS5mGnXbE+c9NfA8QRcZ6iKquqjjmR10k6o+zzsRVesil54DKexiowcFCPdr/Q0qaMgB01+SQ1u6g==} + + '@webassemblyjs/wasm-gen@1.12.1': + resolution: {integrity: sha512-TDq4Ojh9fcohAw6OIMXqiIcTq5KUXTGRkVxbSo1hQnSy6lAM5GSdfwWeSxpAo0YzgsgF182E/U0mDNhuA0tW7w==} + + '@webassemblyjs/wasm-opt@1.12.1': + resolution: {integrity: sha512-Jg99j/2gG2iaz3hijw857AVYekZe2SAskcqlWIZXjji5WStnOpVoat3gQfT/Q5tb2djnCjBtMocY/Su1GfxPBg==} + + '@webassemblyjs/wasm-parser@1.12.1': + resolution: {integrity: sha512-xikIi7c2FHXysxXe3COrVUPSheuBtpcfhbpFj4gmu7KRLYOzANztwUU0IbsqvMqzuNK2+glRGWCEqZo1WCLyAQ==} + + '@webassemblyjs/wast-printer@1.12.1': + resolution: {integrity: sha512-+X4WAlOisVWQMikjbcvY2e0rwPsKQ9F688lksZhBcPycBBuii3O7m8FACbDMWDojpAqvjIncrG8J0XHKyQfVeA==} + + '@webpack-cli/configtest@1.2.0': + resolution: {integrity: sha512-4FB8Tj6xyVkyqjj1OaTqCjXYULB9FMkqQ8yGrZjRDrYh0nOE+7Lhs45WioWQQMV+ceFlE368Ukhe6xdvJM9Egg==} + peerDependencies: + webpack: 4.x.x || 5.x.x + webpack-cli: 4.x.x + + '@webpack-cli/info@1.5.0': + resolution: {integrity: sha512-e8tSXZpw2hPl2uMJY6fsMswaok5FdlGNRTktvFk2sD8RjH0hE2+XistawJx1vmKteh4NmGmNUrp+Tb2w+udPcQ==} + peerDependencies: + webpack-cli: 4.x.x + + '@webpack-cli/serve@1.7.0': + resolution: {integrity: sha512-oxnCNGj88fL+xzV+dacXs44HcDwf1ovs3AuEzvP7mqXw7fQntqIhQ1BRmynh4qEKQSSSRSWVyXRjmTbZIX9V2Q==} + peerDependencies: + webpack-cli: 4.x.x + webpack-dev-server: '*' + peerDependenciesMeta: + webpack-dev-server: + optional: true + + '@xmldom/xmldom@0.8.10': + resolution: {integrity: sha512-2WALfTl4xo2SkGCYRt6rDTFfk9R1czmBvUQy12gK2KuRKIpWEhcbbzy8EZXtz/jkRqHX8bFEc6FC1HjX4TUWYw==} + engines: {node: '>=10.0.0'} + + '@xtuc/ieee754@1.2.0': + resolution: {integrity: sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==} + + '@xtuc/long@4.2.2': + resolution: {integrity: sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==} + + '@zenuml/core@3.23.22': + resolution: {integrity: sha512-2bdAP2Mwtc7J7wfVrmbDYChmWXS+nZZIH4pdhXvADykeAmlCTDMin67dbNpjiTp4BUFtY7dUmM6nXK2+ZWB/yg==} + engines: {node: '>=12.0.0'} + + JSONSelect@0.4.0: + resolution: {integrity: sha512-VRLR3Su35MH+XV2lrvh9O7qWoug/TUyj9tLDjn9rtpUCNnILLrHjgd/tB0KrhugCxUpj3UqoLqfYb3fLJdIQQQ==} + engines: {node: '>=0.4.7'} + + JSV@4.0.2: + resolution: {integrity: sha512-ZJ6wx9xaKJ3yFUhq5/sk82PJMuUyLk277I8mQeyDgCTjGdjWJIvPfaU5LIXaMuaN2UO1X3kZH4+lgphublZUHw==} + + abort-controller@3.0.0: + resolution: {integrity: sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==} + engines: {node: '>=6.5'} + + abstract-logging@2.0.1: + resolution: {integrity: sha512-2BjRTZxTPvheOvGbBslFSYOUkr+SjPtOnrLP33f+VIWLzezQpZcqVg7ja3L4dBXmzzgwT+a029jRx5PCi3JuiA==} + + accepts@1.3.8: + resolution: {integrity: sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==} + engines: {node: '>= 0.6'} + + acorn-import-attributes@1.9.5: + resolution: {integrity: sha512-n02Vykv5uA3eHGM/Z2dQrcD56kL8TyDb2p1+0P83PClMnC/nc+anbQRhIOWnSq4Ke/KvDPrY3C9hDtC/A3eHnQ==} + peerDependencies: + acorn: ^8 + + acorn-jsx@5.3.2: + resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} + peerDependencies: + acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 + + acorn-walk@8.3.2: + resolution: {integrity: sha512-cjkyv4OtNCIeqhHrfS81QWXoCBPExR/J62oyEqepVw8WaQeSqpW2uhuLPh1m9eWhDuOo/jUXVTlifvesOWp/4A==} + engines: {node: '>=0.4.0'} + + acorn@8.11.3: + resolution: {integrity: sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==} + engines: {node: '>=0.4.0'} + hasBin: true + + agent-base@6.0.2: + resolution: {integrity: sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==} + engines: {node: '>= 6.0.0'} + + agent-base@7.1.1: + resolution: {integrity: sha512-H0TSyFNDMomMNJQBn8wFV5YC/2eJ+VXECwOadZJT554xP6cODZHPX3H9QMQECxvrgiSOP1pHjy1sMWQVYJOUOA==} + engines: {node: '>= 14'} + + aggregate-error@3.1.0: + resolution: {integrity: sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==} + engines: {node: '>=8'} + + aggregate-error@4.0.1: + resolution: {integrity: sha512-0poP0T7el6Vq3rstR8Mn4V/IQrpBLO6POkUSrN7RhyY+GF/InCFShQzsQ39T25gkHhLgSLByyAz+Kjb+c2L98w==} + engines: {node: '>=12'} + + ajv-formats@2.1.1: + resolution: {integrity: sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==} + peerDependencies: + ajv: ^8.0.0 + peerDependenciesMeta: + ajv: + optional: true + + ajv-keywords@3.5.2: + resolution: {integrity: sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==} + peerDependencies: + ajv: ^6.9.1 + + ajv-keywords@5.1.0: + resolution: {integrity: sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==} + peerDependencies: + ajv: ^8.8.2 + + ajv@6.12.6: + resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} + + ajv@8.16.0: + resolution: {integrity: sha512-F0twR8U1ZU67JIEtekUcLkXkoO5mMMmgGD8sK/xUFzJ805jxHQl92hImFAqqXMyMYjSPOyUPAwHYhB72g5sTXw==} + + algoliasearch@4.23.3: + resolution: {integrity: sha512-Le/3YgNvjW9zxIQMRhUHuhiUjAlKY/zsdZpfq4dlLqg6mEm0nL6yk+7f2hDOtLpxsgE4jSzDmvHL7nXdBp5feg==} + + amdefine@1.0.1: + resolution: {integrity: sha512-S2Hw0TtNkMJhIabBwIojKL9YHO5T0n5eNqWJ7Lrlel/zDbftQpxpapi8tZs3X1HWa+u+QeydGmzzNU0m09+Rcg==} + engines: {node: '>=0.4.2'} + + ansi-align@3.0.1: + resolution: {integrity: sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==} + + ansi-colors@4.1.3: + resolution: {integrity: sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==} + engines: {node: '>=6'} + + ansi-escapes@4.3.2: + resolution: {integrity: sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==} + engines: {node: '>=8'} + + ansi-escapes@6.2.1: + resolution: {integrity: sha512-4nJ3yixlEthEJ9Rk4vPcdBRkZvQZlYyu8j4/Mqz5sgIkddmEnH2Yj2ZrnP9S3tQOvSNRUIgVNF/1yPpRAGNRig==} + engines: {node: '>=14.16'} + + ansi-html-community@0.0.8: + resolution: {integrity: sha512-1APHAyr3+PCamwNw3bXCPp4HFLONZt/yIH0sZp0/469KWNTEy+qN5jQ3GVX6DMZ1UXAi34yVwtTeaG/HpBuuzw==} + engines: {'0': node >= 0.8.0} + hasBin: true + + ansi-regex@2.1.1: + resolution: {integrity: sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==} + engines: {node: '>=0.10.0'} + + ansi-regex@5.0.1: + resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} + engines: {node: '>=8'} + + ansi-regex@6.0.1: + resolution: {integrity: sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==} + engines: {node: '>=12'} + + ansi-sequence-parser@1.1.1: + resolution: {integrity: sha512-vJXt3yiaUL4UU546s3rPXlsry/RnM730G1+HkpKE012AN0sx1eOrxSu95oKDIonskeLTijMgqWZ3uDEe3NFvyg==} + + ansi-styles@2.2.1: + resolution: {integrity: sha512-kmCevFghRiWM7HB5zTPULl4r9bVFSWjz62MhqizDGUrq2NWuNMQyuv4tHHoKJHs69M/MF64lEcHdYIocrdWQYA==} + engines: {node: '>=0.10.0'} + + ansi-styles@3.2.1: + resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==} + engines: {node: '>=4'} + + ansi-styles@4.3.0: + resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} + engines: {node: '>=8'} + + ansi-styles@5.2.0: + resolution: {integrity: sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==} + engines: {node: '>=10'} + + ansi-styles@6.2.1: + resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==} + engines: {node: '>=12'} + + antlr4@4.11.0: + resolution: {integrity: sha512-GUGlpE2JUjAN+G8G5vY+nOoeyNhHsXoIJwP1XF1oRw89vifA1K46T6SEkwLwr7drihN7I/lf0DIjKc4OZvBX8w==} + engines: {node: '>=14'} + + any-promise@1.3.0: + resolution: {integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==} + + anymatch@3.1.3: + resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} + engines: {node: '>= 8'} + + app-path@3.3.0: + resolution: {integrity: sha512-EAgEXkdcxH1cgEePOSsmUtw9ItPl0KTxnh/pj9ZbhvbKbij9x0oX6PWpGnorDr0DS5AosLgoa5n3T/hZmKQpYA==} + engines: {node: '>=8'} + + appdata-path@1.0.0: + resolution: {integrity: sha512-ZbH3ezXfnT/YE3NdqduIt4lBV+H0ybvA2Qx3K76gIjQvh8gROpDFdDLpx6B1QJtW7zxisCbpTlCLhKqoR8cDBw==} + + append-transform@2.0.0: + resolution: {integrity: sha512-7yeyCEurROLQJFv5Xj4lEGTy0borxepjFv1g22oAdqFu//SrAlDl1O1Nxx15SH1RoliUml6p8dwJW9jvZughhg==} + engines: {node: '>=8'} + + arch@2.2.0: + resolution: {integrity: sha512-Of/R0wqp83cgHozfIYLbBMnej79U/SVGOOyuB3VVFv1NRM/PSFMK12x9KVtiYzJqmnU5WR2qp0Z5rHb7sWGnFQ==} + + archy@1.0.0: + resolution: {integrity: sha512-Xg+9RwCg/0p32teKdGMPTPnVXKD0w3DfHnFTficozsAgsvq2XenPJq/MYpzzQ/v8zrOyJn6Ds39VA4JIDwFfqw==} + + are-docs-informative@0.0.2: + resolution: {integrity: sha512-ixiS0nLNNG5jNQzgZJNoUpBKdo9yTYZMGJ+QgT2jmjR7G7+QHRCc4v6LQ3NgE7EBJq+o0ams3waJwkrlBom8Ig==} + engines: {node: '>=14'} + + arg@5.0.2: + resolution: {integrity: sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==} + + argparse@1.0.10: + resolution: {integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==} + + argparse@2.0.1: + resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} + + array-buffer-byte-length@1.0.1: + resolution: {integrity: sha512-ahC5W1xgou+KTXix4sAO8Ki12Q+jf4i0+tmk3sC+zgcynshkHxzpXdImBehiUYKKKDwvfFiJl1tZt6ewscS1Mg==} + engines: {node: '>= 0.4'} + + array-flatten@1.1.1: + resolution: {integrity: sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==} + + array-timsort@1.0.3: + resolution: {integrity: sha512-/+3GRL7dDAGEfM6TseQk/U+mi18TU2Ms9I3UlLdUMhz2hbvGNTKdj9xniwXfUqgYhHxRx0+8UnKkvlNwVU+cWQ==} + + array-union@2.1.0: + resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==} + engines: {node: '>=8'} + + arraybuffer.prototype.slice@1.0.3: + resolution: {integrity: sha512-bMxMKAjg13EBSVscxTaYA4mRc5t1UAXa2kXiGTNfZ079HIWXEkKmkgFrh/nJqamaLSrXO5H4WFFkPEaLJWbs3A==} + engines: {node: '>= 0.4'} + + arrify@3.0.0: + resolution: {integrity: sha512-tLkvA81vQG/XqE2mjDkGQHoOINtMHtysSnemrmoGe6PydDPMRbVugqyk4A6V/WDWEfm3l+0d8anA9r8cv/5Jaw==} + engines: {node: '>=12'} + + asn1@0.2.6: + resolution: {integrity: sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==} + + assert-plus@1.0.0: + resolution: {integrity: sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==} + engines: {node: '>=0.8'} + + assertion-error@1.1.0: + resolution: {integrity: sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==} + + astral-regex@2.0.0: + resolution: {integrity: sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==} + engines: {node: '>=8'} + + async@3.2.5: + resolution: {integrity: sha512-baNZyqaaLhyLVKm/DlvdW051MSgO6b8eVfIezl9E5PqWxFgzLm/wQntEW4zOytVburDEr0JlALEpdOFwvErLsg==} + + asynckit@0.4.0: + resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==} + + at-least-node@1.0.0: + resolution: {integrity: sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==} + engines: {node: '>= 4.0.0'} + + atomic-sleep@1.0.0: + resolution: {integrity: sha512-kNOjDqAh7px0XWNI+4QbzoiR/nTkHAWNud2uvnJquD1/x5a7EQZMJT0AczqK0Qn67oY/TTQ1LbUKajZpp3I9tQ==} + engines: {node: '>=8.0.0'} + + available-typed-arrays@1.0.7: + resolution: {integrity: sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==} + engines: {node: '>= 0.4'} + + avvio@7.2.5: + resolution: {integrity: sha512-AOhBxyLVdpOad3TujtC9kL/9r3HnTkxwQ5ggOsYrvvZP1cCFvzHWJd5XxZDFuTn+IN8vkKSG5SEJrd27vCSbeA==} + + aws-sign2@0.7.0: + resolution: {integrity: sha512-08kcGqnYf/YmjoRhfxyu+CLxBjUtHLXLXX/vUfx9l2LYzG3c1m61nrpyFUZI6zeS+Li/wWMMidD9KgrqtGq3mA==} + + aws4@1.13.0: + resolution: {integrity: sha512-3AungXC4I8kKsS9PuS4JH2nc+0bVY/mjgrephHTIi8fpEeGsTHBUJeosp0Wc1myYMElmD0B3Oc4XL/HVJ4PV2g==} + + axios@1.7.2: + resolution: {integrity: sha512-2A8QhOMrbomlDuiLeK9XibIBzuHeRcqqNOHp0Cyp5EoJ1IFDh+XZH3A6BkXtv0K4gFGCI0Y4BM7B1wOEi0Rmgw==} + + babel-jest@29.7.0: + resolution: {integrity: sha512-BrvGY3xZSwEcCzKvKsCi2GgHqDqsYkOP4/by5xCgIwGXQxIEh+8ew3gmrE1y7XRR6LHZIj6yLYnUi/mm2KXKBg==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + peerDependencies: + '@babel/core': ^7.8.0 + + babel-loader@9.1.3: + resolution: {integrity: sha512-xG3ST4DglodGf8qSwv0MdeWLhrDsw/32QMdTO5T1ZIp9gQur0HkCyFs7Awskr10JKXFXwpAhiCuYX5oGXnRGbw==} + engines: {node: '>= 14.15.0'} + peerDependencies: + '@babel/core': ^7.12.0 + webpack: '>=5' + + babel-plugin-istanbul@6.1.1: + resolution: {integrity: sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==} + engines: {node: '>=8'} + + babel-plugin-jest-hoist@29.6.3: + resolution: {integrity: sha512-ESAc/RJvGTFEzRwOTT4+lNDk/GNHMkKbNzsvT0qKRfDyyYTskxB5rnU2njIDYVxXCBHHEI1c0YwHob3WaYujOg==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + babel-plugin-polyfill-corejs2@0.4.11: + resolution: {integrity: sha512-sMEJ27L0gRHShOh5G54uAAPaiCOygY/5ratXuiyb2G46FmlSpc9eFCzYVyDiPxfNbwzA7mYahmjQc5q+CZQ09Q==} + peerDependencies: + '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 + + babel-plugin-polyfill-corejs3@0.10.4: + resolution: {integrity: sha512-25J6I8NGfa5YkCDogHRID3fVCadIR8/pGl1/spvCkzb6lVn6SR3ojpx9nOn9iEBcUsjY24AmdKm5khcfKdylcg==} + peerDependencies: + '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 + + babel-plugin-polyfill-regenerator@0.6.2: + resolution: {integrity: sha512-2R25rQZWP63nGwaAswvDazbPXfrM3HwVoBXK6HcqeKrSrL/JqcC/rDcf95l4r7LXLyxDXc8uQDa064GubtCABg==} + peerDependencies: + '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 + + babel-preset-current-node-syntax@1.0.1: + resolution: {integrity: sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==} + peerDependencies: + '@babel/core': ^7.0.0 + + babel-preset-jest@29.6.3: + resolution: {integrity: sha512-0B3bhxR6snWXJZtR/RliHTDPRgn1sNHOR0yVtq/IiQFyuOVjFS+wuio/R4gSNkyYmKmJB4wGZv2NZanmKmTnNA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + peerDependencies: + '@babel/core': ^7.0.0 + + bail@2.0.2: + resolution: {integrity: sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw==} + + balanced-match@1.0.2: + resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} + + base64-js@1.5.1: + resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} + + batch@0.6.1: + resolution: {integrity: sha512-x+VAiMRL6UPkx+kudNvxTl6hB2XNNCG2r+7wixVfIYwu/2HKRXimwQyaumLjMveWvT2Hkd/cAJw+QBMfJ/EKVw==} + + bcrypt-pbkdf@1.0.2: + resolution: {integrity: sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w==} + + binary-extensions@2.3.0: + resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==} + engines: {node: '>=8'} + + binary-searching@2.0.5: + resolution: {integrity: sha512-v4N2l3RxL+m4zDxyxz3Ne2aTmiPn8ZUpKFpdPtO+ItW1NcTCXA7JeHG5GMBSvoKSkQZ9ycS+EouDVxYB9ufKWA==} + + binary@0.3.0: + resolution: {integrity: sha512-D4H1y5KYwpJgK8wk1Cue5LLPgmwHKYSChkbspQg5JtVuR5ulGckxfR62H3AE9UDkdMC8yyXlqYihuz3Aqg2XZg==} + + blob-util@2.0.2: + resolution: {integrity: sha512-T7JQa+zsXXEa6/8ZhHcQEW1UFfVM49Ts65uBkFL6fz2QmrElqmbajIDJvuA0tEhRe5eIjpV9ZF+0RfZR9voJFQ==} + + bluebird@3.7.1: + resolution: {integrity: sha512-DdmyoGCleJnkbp3nkbxTLJ18rjDsE4yCggEwKNXkeV123sPNfOCYeDoeuOY+F2FrSjO1YXcTU+dsy96KMy+gcg==} + + bluebird@3.7.2: + resolution: {integrity: sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==} + + bmpimagejs@1.0.4: + resolution: {integrity: sha512-21oKU7kbRt2OgOOj7rdiNr/yznDNUQ585plxR00rsmECcZr+6O1oCwB8OIoSHk/bDhbG8mFXIdeQuCPHgZ6QBw==} + + body-parser@1.20.2: + resolution: {integrity: sha512-ml9pReCu3M61kGlqoTm2umSXTlRTuGTx0bfYj+uIUKKYycG5NtSbeetV3faSU6R7ajOPw0g/J1PvK4qNy7s5bA==} + engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} + + bonjour-service@1.2.1: + resolution: {integrity: sha512-oSzCS2zV14bh2kji6vNe7vrpJYCHGvcZnlffFQ1MEoX/WOeQ/teD8SYWKR942OI3INjq8OMNJlbPK5LLLUxFDw==} + + boxen@5.1.2: + resolution: {integrity: sha512-9gYgQKXx+1nP8mP7CzFyaUARhg7D3n1dF/FnErWmu9l6JvGpNUN278h0aSb+QjoiKSWG+iZ3uHrcqk0qrY9RQQ==} + engines: {node: '>=10'} + + brace-expansion@1.1.11: + resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} + + brace-expansion@2.0.1: + resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==} + + braces@3.0.3: + resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} + engines: {node: '>=8'} + + browserslist@4.23.1: + resolution: {integrity: sha512-TUfofFo/KsK/bWZ9TWQ5O26tsWW4Uhmt8IYklbnUa70udB6P2wA7w7o4PY4muaEPBQaAX+CEnmmIA41NVHtPVw==} + engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} + hasBin: true + + bser@2.1.1: + resolution: {integrity: sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==} + + buffer-crc32@0.2.13: + resolution: {integrity: sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==} + + buffer-from@1.1.2: + resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} + + buffer@5.7.1: + resolution: {integrity: sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==} + + buffer@6.0.3: + resolution: {integrity: sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==} + + buffers@0.1.1: + resolution: {integrity: sha512-9q/rDEGSb/Qsvv2qvzIzdluL5k7AaJOTrw23z9reQthrbF7is4CtlT0DXyO1oei2DCp4uojjzQ7igaSHp1kAEQ==} + engines: {node: '>=0.2.0'} + + builtin-modules@3.3.0: + resolution: {integrity: sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==} + engines: {node: '>=6'} + + bytes@3.0.0: + resolution: {integrity: sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw==} + engines: {node: '>= 0.8'} + + bytes@3.1.2: + resolution: {integrity: sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==} + engines: {node: '>= 0.8'} + + cac@6.7.14: + resolution: {integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==} + engines: {node: '>=8'} + + cacheable-lookup@5.0.4: + resolution: {integrity: sha512-2/kNscPhpcxrOigMZzbiWF7dz8ilhb/nIHU3EyZiXWXpeq/au8qJ8VhdftMkty3n7Gj6HIGalQG8oiBNB3AJgA==} + engines: {node: '>=10.6.0'} + + cacheable-request@7.0.4: + resolution: {integrity: sha512-v+p6ongsrp0yTGbJXjgxPow2+DL93DASP4kXCDKb8/bwRtt9OEF3whggkkDkGNzgcWy2XaF4a8nZglC7uElscg==} + engines: {node: '>=8'} + + cachedir@2.4.0: + resolution: {integrity: sha512-9EtFOZR8g22CL7BWjJ9BUx1+A/djkofnyW3aOXZORNW2kxoUpx2h+uN2cOqwPmFhnpVmxg+KW2OjOSgChTEvsQ==} + engines: {node: '>=6'} + + caching-transform@4.0.0: + resolution: {integrity: sha512-kpqOvwXnjjN44D89K5ccQC+RUrsy7jB/XLlRrx0D7/2HNcTPqzsb6XgYoErwko6QsV184CA2YgS1fxDiiDZMWA==} + engines: {node: '>=8'} + + call-bind@1.0.7: + resolution: {integrity: sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==} + engines: {node: '>= 0.4'} + + call-me-maybe@1.0.2: + resolution: {integrity: sha512-HpX65o1Hnr9HH25ojC1YGs7HCQLq0GCOibSaWER0eNpgJ/Z1MZv2mTc7+xh6WOPxbRVcmgbv4hGU+uSQ/2xFZQ==} + + callsites@3.1.0: + resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} + engines: {node: '>=6'} + + camelcase-css@2.0.1: + resolution: {integrity: sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==} + engines: {node: '>= 6'} + + camelcase@5.3.1: + resolution: {integrity: sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==} + engines: {node: '>=6'} + + camelcase@6.3.0: + resolution: {integrity: sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==} + engines: {node: '>=10'} + + caniuse-lite@1.0.30001633: + resolution: {integrity: sha512-6sT0yf/z5jqf8tISAgpJDrmwOpLsrpnyCdD/lOZKvKkkJK4Dn0X5i7KF7THEZhOq+30bmhwBlNEaqPUiHiKtZg==} + + caseless@0.12.0: + resolution: {integrity: sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==} + + ccount@2.0.1: + resolution: {integrity: sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==} + + chai@4.4.1: + resolution: {integrity: sha512-13sOfMv2+DWduEU+/xbun3LScLoqN17nBeTLUsmDfKdoiC1fr0n9PU4guu4AhRcOVFk/sW8LyZWHuhWtQZiF+g==} + engines: {node: '>=4'} + + chainsaw@0.1.0: + resolution: {integrity: sha512-75kWfWt6MEKNC8xYXIdRpDehRYY/tNSgwKaJq+dbbDcxORuVrrQ+SEHoWsniVn9XPYfP4gmdWIeDk/4YNp1rNQ==} + + chalk-template@1.1.0: + resolution: {integrity: sha512-T2VJbcDuZQ0Tb2EWwSotMPJjgpy1/tGee1BTpUNsGZ/qgNjV2t7Mvu+d4600U564nbLesN1x2dPL+xii174Ekg==} + engines: {node: '>=14.16'} + + chalk@1.1.3: + resolution: {integrity: sha512-U3lRVLMSlsCfjqYPbLyVv11M9CPW4I728d6TCKMAOJueEeB9/8o+eSsMnxPJD+Q+K909sdESg7C+tIkoH6on1A==} + engines: {node: '>=0.10.0'} + + chalk@2.4.2: + resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==} + engines: {node: '>=4'} + + chalk@3.0.0: + resolution: {integrity: sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==} + engines: {node: '>=8'} + + chalk@4.1.2: + resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} + engines: {node: '>=10'} + + chalk@5.3.0: + resolution: {integrity: sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==} + engines: {node: ^12.17.0 || ^14.13 || >=16.0.0} + + char-regex@1.0.2: + resolution: {integrity: sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==} + engines: {node: '>=10'} + + character-entities-legacy@1.1.4: + resolution: {integrity: sha512-3Xnr+7ZFS1uxeiUDvV02wQ+QDbc55o97tIV5zHScSPJpcLm/r0DFPcoY3tYRp+VZukxuMeKgXYmsXQHO05zQeA==} + + character-entities@1.2.4: + resolution: {integrity: sha512-iBMyeEHxfVnIakwOuDXpVkc54HijNgCyQB2w0VfGQThle6NXn50zU6V/u+LDhxHcDUPojn6Kpga3PTAD8W1bQw==} + + character-entities@2.0.2: + resolution: {integrity: sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ==} + + character-reference-invalid@1.1.4: + resolution: {integrity: sha512-mKKUkUbhPpQlCOfIuZkvSEgktjPFIsZKRRbC6KWVEMvlzblj3i3asQv5ODsrwt0N3pHAEvjP8KTQPHkp0+6jOg==} + + check-error@1.0.3: + resolution: {integrity: sha512-iKEoDYaRmd1mxM90a2OEfWhjsjPpYPuQ+lMYsoxB126+t8fw7ySEO48nmDg5COTjxDI65/Y2OWpeEHk3ZOe8zg==} + + check-more-types@2.24.0: + resolution: {integrity: sha512-Pj779qHxV2tuapviy1bSZNEL1maXr13bPYpsvSDB68HlYcYuhlDrmGd63i0JHMCLKzc7rUSNIrpdJlhVlNwrxA==} + engines: {node: '>= 0.8.0'} + + chevrotain-allstar@0.3.1: + resolution: {integrity: sha512-b7g+y9A0v4mxCW1qUhf3BSVPg+/NvGErk/dOkrDaHA0nQIQGAtrOjlX//9OQtRlSCy+x9rfB5N8yC71lH1nvMw==} + peerDependencies: + chevrotain: ^11.0.0 + + chevrotain@11.0.3: + resolution: {integrity: sha512-ci2iJH6LeIkvP9eJW6gpueU8cnZhv85ELY8w8WiFtNjMHA5ad6pQLaJo9mEly/9qUyCpvqX8/POVUTf18/HFdw==} + + chokidar@3.6.0: + resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==} + engines: {node: '>= 8.10.0'} + + chrome-trace-event@1.0.4: + resolution: {integrity: sha512-rNjApaLzuwaOTjCiT8lSDdGN1APCiqkChLMJxJPWLunPAt5fy8xgU9/jNOchV84wfIxrA0lRQB7oCT8jrn/wrQ==} + engines: {node: '>=6.0'} + + ci-info@3.9.0: + resolution: {integrity: sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==} + engines: {node: '>=8'} + + ci-info@4.0.0: + resolution: {integrity: sha512-TdHqgGf9odd8SXNuxtUBVx8Nv+qZOejE6qyqiy5NtbYYQOeFa6zmHkxlPzmaLxWWHsU6nJmB7AETdVPi+2NBUg==} + engines: {node: '>=8'} + + cjs-module-lexer@1.3.1: + resolution: {integrity: sha512-a3KdPAANPbNE4ZUv9h6LckSl9zLsYOP4MBmhIPkRaeyybt+r4UghLvq+xw/YwUcC1gqylCkL4rdVs3Lwupjm4Q==} + + cjson@0.3.0: + resolution: {integrity: sha512-bBRQcCIHzI1IVH59fR0bwGrFmi3Btb/JNwM/n401i1DnYgWndpsUBiQRAddLflkZage20A2d25OAWZZk0vBRlA==} + engines: {node: '>= 0.3.0'} + + clap@3.1.1: + resolution: {integrity: sha512-vp42956Ax06WwaaheYEqEOgXZ3VKJxgccZ0gJL0HpyiupkIS9RVJFo5eDU1BPeQAOqz+cclndZg4DCqG1sJReQ==} + engines: {node: ^12.20.0 || ^14.13.0 || >=15.0.0, npm: '>=7.0.0'} + + clean-regexp@1.0.0: + resolution: {integrity: sha512-GfisEZEJvzKrmGWkvfhgzcz/BllN1USeqD2V6tg14OAOgaCD2Z/PUEuxnAZ/nPvmaHRG7a8y77p1T/IRQ4D1Hw==} + engines: {node: '>=4'} + + clean-stack@2.2.0: + resolution: {integrity: sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==} + engines: {node: '>=6'} + + clean-stack@4.2.0: + resolution: {integrity: sha512-LYv6XPxoyODi36Dp976riBtSY27VmFo+MKqEU9QCCWyTrdEPDog+RWA7xQWHi6Vbp61j5c4cdzzX1NidnwtUWg==} + engines: {node: '>=12'} + + clear-module@4.1.2: + resolution: {integrity: sha512-LWAxzHqdHsAZlPlEyJ2Poz6AIs384mPeqLVCru2p0BrP9G/kVGuhNyZYClLO6cXlnuJjzC8xtsJIuMjKqLXoAw==} + engines: {node: '>=8'} + + cli-boxes@2.2.1: + resolution: {integrity: sha512-y4coMcylgSCdVinjiDBuR8PCC2bLjyGTwEmPb9NHR/QaNU6EUOXcTY/s6VjGMD6ENSEaeQYHCY0GNGS5jfMwPw==} + engines: {node: '>=6'} + + cli-color@2.0.4: + resolution: {integrity: sha512-zlnpg0jNcibNrO7GG9IeHH7maWFeCz+Ja1wx/7tZNU5ASSSSZ+/qZciM0/LHCYxSdqv5h2sdbQ/PXYdOuetXvA==} + engines: {node: '>=0.10'} + + cli-cursor@3.1.0: + resolution: {integrity: sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==} + engines: {node: '>=8'} + + cli-cursor@4.0.0: + resolution: {integrity: sha512-VGtlMu3x/4DOtIUwEkRezxUZ2lBacNJCHash0N0WeZDBS+7Ux1dm3XWAgWYxLJFMMdOeXMHXorshEFhbMSGelg==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + cli-table3@0.6.5: + resolution: {integrity: sha512-+W/5efTR7y5HRD7gACw9yQjqMVvEMLBHmboM/kPWam+H+Hmyrgjh6YncVKK122YZkXrLudzTuAukUw9FnMf7IQ==} + engines: {node: 10.* || >= 12.*} + + cli-truncate@2.1.0: + resolution: {integrity: sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg==} + engines: {node: '>=8'} + + cli-truncate@4.0.0: + resolution: {integrity: sha512-nPdaFdQ0h/GEigbPClz11D0v/ZJEwxmeVZGeMo3Z5StPtUTkA9o1lD6QwoirYiSDzbcwn2XcjwmCp68W1IS4TA==} + engines: {node: '>=18'} + + cliui@6.0.0: + resolution: {integrity: sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==} + + cliui@8.0.1: + resolution: {integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==} + engines: {node: '>=12'} + + clone-deep@4.0.1: + resolution: {integrity: sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==} + engines: {node: '>=6'} + + clone-response@1.0.3: + resolution: {integrity: sha512-ROoL94jJH2dUVML2Y/5PEDNaSHgeOdSDicUyS7izcF63G6sTc/FTjLub4b8Il9S8S0beOfYt0TaA5qvFK+w0wA==} + + co@4.6.0: + resolution: {integrity: sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==} + engines: {iojs: '>= 1.0.0', node: '>= 0.12.0'} + + collect-v8-coverage@1.0.2: + resolution: {integrity: sha512-lHl4d5/ONEbLlJvaJNtsF/Lz+WvB07u2ycqTYbdrq7UypDXailES4valYb2eWiJFxZlVmpGekfqoxQhzyFdT4Q==} + + color-convert@1.9.3: + resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} + + color-convert@2.0.1: + resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} + engines: {node: '>=7.0.0'} + + color-name@1.1.3: + resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==} + + color-name@1.1.4: + resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} + + color-string@1.9.1: + resolution: {integrity: sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==} + + colorette@2.0.20: + resolution: {integrity: sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==} + + colors@0.5.1: + resolution: {integrity: sha512-XjsuUwpDeY98+yz959OlUK6m7mLBM+1MEG5oaenfuQnNnrQk1WvtcvFgN3FNDP3f2NmZ211t0mNEfSEN1h0eIg==} + engines: {node: '>=0.1.90'} + + combined-stream@1.0.8: + resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==} + engines: {node: '>= 0.8'} + + commander@11.0.0: + resolution: {integrity: sha512-9HMlXtt/BNoYr8ooyjjNRdIilOTkVJXB+GhxMTtOKwk0R4j4lS4NpjuqmRxroBfnfTSHQIHQB7wryHhXarNjmQ==} + engines: {node: '>=16'} + + commander@12.1.0: + resolution: {integrity: sha512-Vw8qHK3bZM9y/P10u3Vib8o/DdkvA2OtPtZvD871QKjy74Wj1WSKFILMPRPSdUSx5RFK1arlJzEtA4PkFgnbuA==} + engines: {node: '>=18'} + + commander@2.20.3: + resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==} + + commander@4.1.1: + resolution: {integrity: sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==} + engines: {node: '>= 6'} + + commander@5.1.0: + resolution: {integrity: sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg==} + engines: {node: '>= 6'} + + commander@6.2.1: + resolution: {integrity: sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA==} + engines: {node: '>= 6'} + + commander@7.2.0: + resolution: {integrity: sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==} + engines: {node: '>= 10'} + + commander@8.3.0: + resolution: {integrity: sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==} + engines: {node: '>= 12'} + + comment-json@4.2.3: + resolution: {integrity: sha512-SsxdiOf064DWoZLH799Ata6u7iV658A11PlWtZATDlXPpKGJnbJZ5Z24ybixAi+LUUqJ/GKowAejtC5GFUG7Tw==} + engines: {node: '>= 6'} + + comment-parser@1.4.1: + resolution: {integrity: sha512-buhp5kePrmda3vhc5B9t7pUQXAb2Tnd0qgpkIhPhkHXxJpiPJ11H0ZEU0oBpJ2QztSbzG/ZxMj/CHsYJqRHmyg==} + engines: {node: '>= 12.0.0'} + + common-path-prefix@3.0.0: + resolution: {integrity: sha512-QE33hToZseCH3jS0qN96O/bSh3kaw/h+Tq7ngyY9eWDUnTlTNUyqfqvCXioLe5Na5jFsL78ra/wuBU4iuEgd4w==} + + common-tags@1.8.2: + resolution: {integrity: sha512-gk/Z852D2Wtb//0I+kRFNKKE9dIIVirjoqPoA1wJU+XePVXZfGeBpk45+A1rKO4Q43prqWBNY/MiIeRLbPWUaA==} + engines: {node: '>=4.0.0'} + + commondir@1.0.1: + resolution: {integrity: sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==} + + compressible@2.0.18: + resolution: {integrity: sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==} + engines: {node: '>= 0.6'} + + compression@1.7.4: + resolution: {integrity: sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==} + engines: {node: '>= 0.8.0'} + + concat-map@0.0.1: + resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} + + concurrently@8.2.2: + resolution: {integrity: sha512-1dP4gpXFhei8IOtlXRE/T/4H88ElHgTiUzh71YUmtjTEHMSRS2Z/fgOxHSxxusGHogsRfxNq1vyAwxSC+EVyDg==} + engines: {node: ^14.13.0 || >=16.0.0} + hasBin: true + + confbox@0.1.7: + resolution: {integrity: sha512-uJcB/FKZtBMCJpK8MQji6bJHgu1tixKPxRLeGkNzBoOZzpnZUJm0jm2/sBDWcuBx1dYgxV4JU+g5hmNxCyAmdA==} + + connect-history-api-fallback@2.0.0: + resolution: {integrity: sha512-U73+6lQFmfiNPrYbXqr6kZ1i1wiRqXnp2nhMsINseWXO8lDau0LGEffJ8kQi4EjLZympVgRdvqjAgiZ1tgzDDA==} + engines: {node: '>=0.8'} + + consola@3.2.3: + resolution: {integrity: sha512-I5qxpzLv+sJhTVEoLYNcTW+bThDCPsit0vLNKShZx6rLtpilNpmmeTPaeqJb9ZE9dV3DGaeby6Vuhrw38WjeyQ==} + engines: {node: ^14.18.0 || >=16.10.0} + + content-disposition@0.5.4: + resolution: {integrity: sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==} + engines: {node: '>= 0.6'} + + content-type@1.0.5: + resolution: {integrity: sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==} + engines: {node: '>= 0.6'} + + convert-source-map@1.9.0: + resolution: {integrity: sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==} + + convert-source-map@2.0.0: + resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==} + + cookie-signature@1.0.6: + resolution: {integrity: sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==} + + cookie@0.5.0: + resolution: {integrity: sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==} + engines: {node: '>= 0.6'} + + cookie@0.6.0: + resolution: {integrity: sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==} + engines: {node: '>= 0.6'} + + core-js-compat@3.37.1: + resolution: {integrity: sha512-9TNiImhKvQqSUkOvk/mMRZzOANTiEVC7WaBNhHcKM7x+/5E1l5NvsysR19zuDQScE8k+kfQXWRN3AtS/eOSHpg==} + + core-util-is@1.0.2: + resolution: {integrity: sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==} + + core-util-is@1.0.3: + resolution: {integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==} + + cors@2.8.5: + resolution: {integrity: sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==} + engines: {node: '>= 0.10'} + + cose-base@1.0.3: + resolution: {integrity: sha512-s9whTXInMSgAp/NVXVNuVxVKzGH2qck3aQlVHxDCdAEPgtMKwc4Wq6/QKhgdEdgbLSi9rBTAcPoRa6JpiG4ksg==} + + cp-file@10.0.0: + resolution: {integrity: sha512-vy2Vi1r2epK5WqxOLnskeKeZkdZvTKfFZQCplE3XWsP+SUJyd5XAUFC9lFgTjjXJF2GMne/UML14iEmkAaDfFg==} + engines: {node: '>=14.16'} + + cpy-cli@5.0.0: + resolution: {integrity: sha512-fb+DZYbL9KHc0BC4NYqGRrDIJZPXUmjjtqdw4XRRg8iV8dIfghUX/WiL+q4/B/KFTy3sK6jsbUhBaz0/Hxg7IQ==} + engines: {node: '>=16'} + hasBin: true + + cpy@10.1.0: + resolution: {integrity: sha512-VC2Gs20JcTyeQob6UViBLnyP0bYHkBh6EiKzot9vi2DmeGlFT9Wd7VG3NBrkNx/jYvFBeyDOMMHdHQhbtKLgHQ==} + engines: {node: '>=16'} + + create-jest@29.7.0: + resolution: {integrity: sha512-Adz2bdH0Vq3F53KEMJOoftQFutWCukm6J24wbPWRO4k1kMY7gS7ds/uoJkNuV8wDCtWWnuwGcJwpWcih+zEW1Q==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + hasBin: true + + cross-env@7.0.3: + resolution: {integrity: sha512-+/HKd6EgcQCJGh2PSjZuUitQBQynKor4wrFbRg4DtAgS1aWO+gU52xpH7M9ScGgXSYmAVS9bIJ8EzuaGw0oNAw==} + engines: {node: '>=10.14', npm: '>=6', yarn: '>=1'} + hasBin: true + + cross-spawn@6.0.5: + resolution: {integrity: sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==} + engines: {node: '>=4.8'} + + cross-spawn@7.0.3: + resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} + engines: {node: '>= 8'} + + crypto-random-string@2.0.0: + resolution: {integrity: sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==} + engines: {node: '>=8'} + + cspell-config-lib@8.8.4: + resolution: {integrity: sha512-Xf+aL669Cm+MYZTZULVWRQXB7sRWx9qs0hPrgqxeaWabLUISK57/qwcI24TPVdYakUCoud9Nv+woGi5FcqV5ZQ==} + engines: {node: '>=18'} + + cspell-dictionary@8.8.4: + resolution: {integrity: sha512-eDi61MDDZycS5EASz5FiYKJykLEyBT0mCvkYEUCsGVoqw8T9gWuWybwwqde3CMq9TOwns5pxGcFs2v9RYgtN5A==} + engines: {node: '>=18'} + + cspell-gitignore@8.8.4: + resolution: {integrity: sha512-rLdxpBh0kp0scwqNBZaWVnxEVmSK3UWyVSZmyEL4jmmjusHYM9IggfedOhO4EfGCIdQ32j21TevE0tTslyc4iA==} + engines: {node: '>=18'} + hasBin: true + + cspell-glob@8.8.4: + resolution: {integrity: sha512-+tRrOfTSbF/44uNl4idMZVPNfNM6WTmra4ZL44nx23iw1ikNhqZ+m0PC1oCVSlURNBEn8faFXjC/oT2BfgxoUQ==} + engines: {node: '>=18'} + + cspell-grammar@8.8.4: + resolution: {integrity: sha512-UxDO517iW6vs/8l4OhLpdMR7Bp+tkquvtld1gWz8WYQiDwORyf0v5a3nMh4ILYZGoolOSnDuI9UjWOLI6L/vvQ==} + engines: {node: '>=18'} + hasBin: true + + cspell-io@8.8.4: + resolution: {integrity: sha512-aqB/QMx+xns46QSyPEqi05uguCSxvqRnh2S/ZOhhjPlKma/7hK9niPRcwKwJXJEtNzdiZZkkC1uZt9aJe/7FTA==} + engines: {node: '>=18'} + + cspell-lib@8.8.4: + resolution: {integrity: sha512-hK8gYtdQ9Lh86c8cEHITt5SaoJbfvXoY/wtpR4k393YR+eAxKziyv8ihQyFE/Z/FwuqtNvDrSntP9NLwTivd3g==} + engines: {node: '>=18'} + + cspell-trie-lib@8.8.4: + resolution: {integrity: sha512-yCld4ZL+pFa5DL+Arfvmkv3cCQUOfdRlxElOzdkRZqWyO6h/UmO8xZb21ixVYHiqhJGZmwc3BG9Xuw4go+RLig==} + engines: {node: '>=18'} + + cspell@8.8.4: + resolution: {integrity: sha512-eRUHiXvh4iRapw3lqE1nGOEAyYVfa/0lgK/e34SpcM/ECm4QuvbfY7Yl0ozCbiYywecog0RVbeJJUEYJTN5/Mg==} + engines: {node: '>=18'} + hasBin: true + + css-tree@2.3.1: + resolution: {integrity: sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw==} + engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0} + + cssesc@3.0.0: + resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==} + engines: {node: '>=4'} + hasBin: true + + cssstyle@4.0.1: + resolution: {integrity: sha512-8ZYiJ3A/3OkDd093CBT/0UKDWry7ak4BdPTFP2+QEP7cmhouyq/Up709ASSj2cK02BbZiMgk7kYjZNS4QP5qrQ==} + engines: {node: '>=18'} + + csstree-validator@3.0.0: + resolution: {integrity: sha512-Y5OSq3wI0Xz6L7DCgJQtQ97U+v99SkX9r663VjpvUMJPhEr0A149OxiAGqcnokB5bt81irgnMudspBzujzqn0w==} + engines: {node: ^12.20.0 || ^14.13.0 || >=15.0.0, npm: '>=7.0.0'} + hasBin: true + + csstype@3.1.3: + resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==} + + cuint@0.2.2: + resolution: {integrity: sha512-d4ZVpCW31eWwCMe1YT3ur7mUDnTXbgwyzaL320DrcRT45rfjYxkt5QWLrmOJ+/UEAI2+fQgKe/fCjR8l4TpRgw==} + + cypress-image-snapshot@4.0.1: + resolution: {integrity: sha512-PBpnhX/XItlx3/DAk5ozsXQHUi72exybBNH5Mpqj1DVmjq+S5Jd9WE5CRa4q5q0zuMZb2V2VpXHth6MjFpgj9Q==} + engines: {node: '>=8'} + peerDependencies: + cypress: ^4.5.0 + + cypress@13.11.0: + resolution: {integrity: sha512-NXXogbAxVlVje4XHX+Cx5eMFZv4Dho/2rIcdBHg9CNPFUGZdM4cRdgIgM7USmNYsC12XY0bZENEQ+KBk72fl+A==} + engines: {node: ^16.0.0 || ^18.0.0 || >=20.0.0} + hasBin: true + + cytoscape-cose-bilkent@4.1.0: + resolution: {integrity: sha512-wgQlVIUJF13Quxiv5e1gstZ08rnZj2XaLHGoFMYXz7SkNfCDOOteKBE6SYRfA9WxxI/iBc3ajfDoc6hb/MRAHQ==} + peerDependencies: + cytoscape: ^3.2.0 + + cytoscape@3.29.2: + resolution: {integrity: sha512-2G1ycU28Nh7OHT9rkXRLpCDP30MKH1dXJORZuBhtEhEW7pKwgPi77ImqlCWinouyE1PNepIOGZBOrE84DG7LyQ==} + engines: {node: '>=0.10'} + + d3-array@2.12.1: + resolution: {integrity: sha512-B0ErZK/66mHtEsR1TkPEEkwdy+WDesimkM5gpZr5Dsg54BiTA5RXtYW5qTLIAcekaS9xfZrzBLF/OAkB3Qn1YQ==} + + d3-array@3.2.4: + resolution: {integrity: sha512-tdQAmyA18i4J7wprpYq8ClcxZy3SC31QMeByyCFyRt7BVHdREQZ5lpzoe5mFEYZUWe+oq8HBvk9JjpibyEV4Jg==} + engines: {node: '>=12'} + + d3-axis@3.0.0: + resolution: {integrity: sha512-IH5tgjV4jE/GhHkRV0HiVYPDtvfjHQlQfJHs0usq7M30XcSBvOotpmH1IgkcXsO/5gEQZD43B//fc7SRT5S+xw==} + engines: {node: '>=12'} + + d3-brush@3.0.0: + resolution: {integrity: sha512-ALnjWlVYkXsVIGlOsuWH1+3udkYFI48Ljihfnh8FZPF2QS9o+PzGLBslO0PjzVoHLZ2KCVgAM8NVkXPJB2aNnQ==} + engines: {node: '>=12'} + + d3-chord@3.0.1: + resolution: {integrity: sha512-VE5S6TNa+j8msksl7HwjxMHDM2yNK3XCkusIlpX5kwauBfXuyLAtNg9jCp/iHH61tgI4sb6R/EIMWCqEIdjT/g==} + engines: {node: '>=12'} + + d3-color@3.1.0: + resolution: {integrity: sha512-zg/chbXyeBtMQ1LbD/WSoW2DpC3I0mpmPdW+ynRTj/x2DAWYrIY7qeZIHidozwV24m4iavr15lNwIwLxRmOxhA==} + engines: {node: '>=12'} + + d3-contour@4.0.2: + resolution: {integrity: sha512-4EzFTRIikzs47RGmdxbeUvLWtGedDUNkTcmzoeyg4sP/dvCexO47AaQL7VKy/gul85TOxw+IBgA8US2xwbToNA==} + engines: {node: '>=12'} + + d3-delaunay@6.0.4: + resolution: {integrity: sha512-mdjtIZ1XLAM8bm/hx3WwjfHt6Sggek7qH043O8KEjDXN40xi3vx/6pYSVTwLjEgiXQTbvaouWKynLBiUZ6SK6A==} + engines: {node: '>=12'} + + d3-dispatch@3.0.1: + resolution: {integrity: sha512-rzUyPU/S7rwUflMyLc1ETDeBj0NRuHKKAcvukozwhshr6g6c5d8zh4c2gQjY2bZ0dXeGLWc1PF174P2tVvKhfg==} + engines: {node: '>=12'} + + d3-drag@3.0.0: + resolution: {integrity: sha512-pWbUJLdETVA8lQNJecMxoXfH6x+mO2UQo8rSmZ+QqxcbyA3hfeprFgIT//HW2nlHChWeIIMwS2Fq+gEARkhTkg==} + engines: {node: '>=12'} + + d3-dsv@3.0.1: + resolution: {integrity: sha512-UG6OvdI5afDIFP9w4G0mNq50dSOsXHJaRE8arAS5o9ApWnIElp8GZw1Dun8vP8OyHOZ/QJUKUJwxiiCCnUwm+Q==} + engines: {node: '>=12'} + hasBin: true + + d3-ease@3.0.1: + resolution: {integrity: sha512-wR/XK3D3XcLIZwpbvQwQ5fK+8Ykds1ip7A2Txe0yxncXSdq1L9skcG7blcedkOX+ZcgxGAmLX1FrRGbADwzi0w==} + engines: {node: '>=12'} + + d3-fetch@3.0.1: + resolution: {integrity: sha512-kpkQIM20n3oLVBKGg6oHrUchHM3xODkTzjMoj7aWQFq5QEM+R6E4WkzT5+tojDY7yjez8KgCBRoj4aEr99Fdqw==} + engines: {node: '>=12'} + + d3-force@3.0.0: + resolution: {integrity: sha512-zxV/SsA+U4yte8051P4ECydjD/S+qeYtnaIyAs9tgHCqfguma/aAQDjo85A9Z6EKhBirHRJHXIgJUlffT4wdLg==} + engines: {node: '>=12'} + + d3-format@3.1.0: + resolution: {integrity: sha512-YyUI6AEuY/Wpt8KWLgZHsIU86atmikuoOmCfommt0LYHiQSPjvX2AcFc38PX0CBpr2RCyZhjex+NS/LPOv6YqA==} + engines: {node: '>=12'} + + d3-geo@3.1.1: + resolution: {integrity: sha512-637ln3gXKXOwhalDzinUgY83KzNWZRKbYubaG+fGVuc/dxO64RRljtCTnf5ecMyE1RIdtqpkVcq0IbtU2S8j2Q==} + engines: {node: '>=12'} + + d3-hierarchy@3.1.2: + resolution: {integrity: sha512-FX/9frcub54beBdugHjDCdikxThEqjnR93Qt7PvQTOHxyiNCAlvMrHhclk3cD5VeAaq9fxmfRp+CnWw9rEMBuA==} + engines: {node: '>=12'} + + d3-interpolate@3.0.1: + resolution: {integrity: sha512-3bYs1rOD33uo8aqJfKP3JWPAibgw8Zm2+L9vBKEHJ2Rg+viTR7o5Mmv5mZcieN+FRYaAOWX5SJATX6k1PWz72g==} + engines: {node: '>=12'} + + d3-path@1.0.9: + resolution: {integrity: sha512-VLaYcn81dtHVTjEHd8B+pbe9yHWpXKZUC87PzoFmsFrJqgFwDe/qxfp5MlfsfM1V5E/iVt0MmEbWQ7FVIXh/bg==} + + d3-path@3.1.0: + resolution: {integrity: sha512-p3KP5HCf/bvjBSSKuXid6Zqijx7wIfNW+J/maPs+iwR35at5JCbLUT0LzF1cnjbCHWhqzQTIN2Jpe8pRebIEFQ==} + engines: {node: '>=12'} + + d3-polygon@3.0.1: + resolution: {integrity: sha512-3vbA7vXYwfe1SYhED++fPUQlWSYTTGmFmQiany/gdbiWgU/iEyQzyymwL9SkJjFFuCS4902BSzewVGsHHmHtXg==} + engines: {node: '>=12'} + + d3-quadtree@3.0.1: + resolution: {integrity: sha512-04xDrxQTDTCFwP5H6hRhsRcb9xxv2RzkcsygFzmkSIOJy3PeRJP7sNk3VRIbKXcog561P9oU0/rVH6vDROAgUw==} + engines: {node: '>=12'} + + d3-random@3.0.1: + resolution: {integrity: sha512-FXMe9GfxTxqd5D6jFsQ+DJ8BJS4E/fT5mqqdjovykEB2oFbTMDVdg1MGFxfQW+FBOGoB++k8swBrgwSHT1cUXQ==} + engines: {node: '>=12'} + + d3-sankey@0.12.3: + resolution: {integrity: sha512-nQhsBRmM19Ax5xEIPLMY9ZmJ/cDvd1BG3UVvt5h3WRxKg5zGRbvnteTyWAbzeSvlh3tW7ZEmq4VwR5mB3tutmQ==} + + d3-scale-chromatic@3.1.0: + resolution: {integrity: sha512-A3s5PWiZ9YCXFye1o246KoscMWqf8BsD9eRiJ3He7C9OBaxKhAd5TFCdEx/7VbKtxxTsu//1mMJFrEt572cEyQ==} + engines: {node: '>=12'} + + d3-scale@4.0.2: + resolution: {integrity: sha512-GZW464g1SH7ag3Y7hXjf8RoUuAFIqklOAq3MRl4OaWabTFJY9PN/E1YklhXLh+OQ3fM9yS2nOkCoS+WLZ6kvxQ==} + engines: {node: '>=12'} + + d3-selection@3.0.0: + resolution: {integrity: sha512-fmTRWbNMmsmWq6xJV8D19U/gw/bwrHfNXxrIN+HfZgnzqTHp9jOmKMhsTUjXOJnZOdZY9Q28y4yebKzqDKlxlQ==} + engines: {node: '>=12'} + + d3-shape@1.3.7: + resolution: {integrity: sha512-EUkvKjqPFUAZyOlhY5gzCxCeI0Aep04LwIRpsZ/mLFelJiUfnK56jo5JMDSE7yyP2kLSb6LtF+S5chMk7uqPqw==} + + d3-shape@3.2.0: + resolution: {integrity: sha512-SaLBuwGm3MOViRq2ABk3eLoxwZELpH6zhl3FbAoJ7Vm1gofKx6El1Ib5z23NUEhF9AsGl7y+dzLe5Cw2AArGTA==} + engines: {node: '>=12'} + + d3-time-format@4.1.0: + resolution: {integrity: sha512-dJxPBlzC7NugB2PDLwo9Q8JiTR3M3e4/XANkreKSUxF8vvXKqm1Yfq4Q5dl8budlunRVlUUaDUgFt7eA8D6NLg==} + engines: {node: '>=12'} + + d3-time@3.1.0: + resolution: {integrity: sha512-VqKjzBLejbSMT4IgbmVgDjpkYrNWUYJnbCGo874u7MMKIWsILRX+OpX/gTk8MqjpT1A/c6HY2dCA77ZN0lkQ2Q==} + engines: {node: '>=12'} + + d3-timer@3.0.1: + resolution: {integrity: sha512-ndfJ/JxxMd3nw31uyKoY2naivF+r29V+Lc0svZxe1JvvIRmi8hUsrMvdOwgS1o6uBHmiz91geQ0ylPP0aj1VUA==} + engines: {node: '>=12'} + + d3-transition@3.0.1: + resolution: {integrity: sha512-ApKvfjsSR6tg06xrL434C0WydLr7JewBB3V+/39RMHsaXTOG0zmt/OAXeng5M5LBm0ojmxJrpomQVZ1aPvBL4w==} + engines: {node: '>=12'} + peerDependencies: + d3-selection: 2 - 3 + + d3-zoom@3.0.0: + resolution: {integrity: sha512-b8AmV3kfQaqWAuacbPuNbL6vahnOJflOhexLzMMNLga62+/nh0JzvJ0aO/5a5MVgUFGS7Hu1P9P03o3fJkDCyw==} + engines: {node: '>=12'} + + d3@7.9.0: + resolution: {integrity: sha512-e1U46jVP+w7Iut8Jt8ri1YsPOvFpg46k+K8TpCb0P+zjCkjkPnV7WzfDJzMHy1LnA+wj5pLT1wjO901gLXeEhA==} + engines: {node: '>=12'} + + d@1.0.2: + resolution: {integrity: sha512-MOqHvMWF9/9MX6nza0KgvFH4HpMU0EF5uUDXqX/BtxtU8NfB0QzRtJ8Oe/6SuS4kbhyzVJwjd97EA4PKrzJ8bw==} + engines: {node: '>=0.12'} + + dagre-d3-es@7.0.10: + resolution: {integrity: sha512-qTCQmEhcynucuaZgY5/+ti3X/rnszKZhEQH/ZdWdtP1tA/y3VoHJzcVrO9pjjJCNpigfscAtoUB5ONcd2wNn0A==} + + dashdash@1.14.1: + resolution: {integrity: sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g==} + engines: {node: '>=0.10'} + + data-uri-to-buffer@4.0.1: + resolution: {integrity: sha512-0R9ikRb668HB7QDxT1vkpuUBtqc53YyAwMwGeUFKRojY/NWKvdZ+9UYtRfGmhqNbRkTSVpMbmyhXipFFv2cb/A==} + engines: {node: '>= 12'} + + data-urls@5.0.0: + resolution: {integrity: sha512-ZYP5VBHshaDAiVZxjbRVcFJpc+4xGgT0bK3vzy1HLN8jTO975HEbuYzZJcHoQEY5K1a0z8YayJkyVETa08eNTg==} + engines: {node: '>=18'} + + data-view-buffer@1.0.1: + resolution: {integrity: sha512-0lht7OugA5x3iJLOWFhWK/5ehONdprk0ISXqVFn/NFrDu+cuc8iADFrGQz5BnRK7LLU3JmkbXSxaqX+/mXYtUA==} + engines: {node: '>= 0.4'} + + data-view-byte-length@1.0.1: + resolution: {integrity: sha512-4J7wRJD3ABAzr8wP+OcIcqq2dlUKp4DVflx++hs5h5ZKydWMI6/D/fAot+yh6g2tHh8fLFTvNOaVN357NvSrOQ==} + engines: {node: '>= 0.4'} + + data-view-byte-offset@1.0.0: + resolution: {integrity: sha512-t/Ygsytq+R995EJ5PZlD4Cu56sWa8InXySaViRzw9apusqsOO2bQP+SbYzAhR0pFKoB+43lYy8rWban9JSuXnA==} + engines: {node: '>= 0.4'} + + date-fns@2.30.0: + resolution: {integrity: sha512-fnULvOpxnC5/Vg3NCiWelDsLiUc9bRwAPs/+LfTLNvetFCtCTN+yQz15C/fs4AwX1R9K5GLtLfn8QW+dWisaAw==} + engines: {node: '>=0.11'} + + dayjs@1.11.10: + resolution: {integrity: sha512-vjAczensTgRcqDERK0SR2XMwsF/tSvnvlv6VcF2GIhg6Sx4yOIt/irsr1RDJsKiIyBzJDpCoXiWWq28MqH2cnQ==} + + dayjs@1.11.11: + resolution: {integrity: sha512-okzr3f11N6WuqYtZSvm+F776mB41wRZMhKP+hc34YdW+KmtYYK9iqvHSwo2k9FEH3fhGXvOPV6yz2IcSrfRUDg==} + + debug@2.6.9: + resolution: {integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + + debug@3.2.7: + resolution: {integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + + debug@4.3.3: + resolution: {integrity: sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==} + engines: {node: '>=6.0'} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + + debug@4.3.4: + resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} + engines: {node: '>=6.0'} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + + debug@4.3.5: + resolution: {integrity: sha512-pt0bNEmneDIvdL1Xsd9oDQ/wrQRkXDT4AUWlNZNPKvW5x/jyO9VFXkJUP07vQ2upmw5PlaITaPKc31jK13V+jg==} + engines: {node: '>=6.0'} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + + decamelize@1.2.0: + resolution: {integrity: sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==} + engines: {node: '>=0.10.0'} + + decimal.js@10.4.3: + resolution: {integrity: sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA==} + + decode-named-character-reference@1.0.2: + resolution: {integrity: sha512-O8x12RzrUF8xyVcY0KJowWsmaJxQbmy0/EtnNtHRpsOcT7dFk5W598coHqBVpmWo1oQQfsCqfCmkZN5DJrZVdg==} + + decompress-response@6.0.0: + resolution: {integrity: sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==} + engines: {node: '>=10'} + + dedent@1.5.3: + resolution: {integrity: sha512-NHQtfOOW68WD8lgypbLA5oT+Bt0xXJhiYvoR6SmmNXZfpzOGXwdKWmcwG8N7PwVVWV3eF/68nmD9BaJSsTBhyQ==} + peerDependencies: + babel-plugin-macros: ^3.1.0 + peerDependenciesMeta: + babel-plugin-macros: + optional: true + + deep-eql@4.1.4: + resolution: {integrity: sha512-SUwdGfqdKOwxCPeVYjwSyRpJ7Z+fhpwIAtmCUdZIWZ/YP5R9WAsyuSgpLVDi9bjWoN2LXHNss/dk3urXtdQxGg==} + engines: {node: '>=6'} + + deep-is@0.1.4: + resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} + + deepmerge@4.3.1: + resolution: {integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==} + engines: {node: '>=0.10.0'} + + default-gateway@6.0.3: + resolution: {integrity: sha512-fwSOJsbbNzZ/CUFpqFBqYfYNLj1NbMPm8MMCIzHjC83iSJRBEGmDUxU+WP661BaBQImeC2yHwXtz+P/O9o+XEg==} + engines: {node: '>= 10'} + + default-require-extensions@3.0.1: + resolution: {integrity: sha512-eXTJmRbm2TIt9MgWTsOH1wEuhew6XGZcMeGKCtLedIg/NCsg1iBePXkceTdK4Fii7pzmN9tGsZhKzZ4h7O/fxw==} + engines: {node: '>=8'} + + defer-to-connect@2.0.1: + resolution: {integrity: sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg==} + engines: {node: '>=10'} + + define-data-property@1.1.4: + resolution: {integrity: sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==} + engines: {node: '>= 0.4'} + + define-lazy-prop@2.0.0: + resolution: {integrity: sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==} + engines: {node: '>=8'} + + define-properties@1.2.1: + resolution: {integrity: sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==} + engines: {node: '>= 0.4'} + + defu@6.1.4: + resolution: {integrity: sha512-mEQCMmwJu317oSz8CwdIOdwf3xMif1ttiM8LTufzc3g6kR+9Pe236twL8j3IYT1F7GfRgGcW6MWxzZjLIkuHIg==} + + delaunator@5.0.1: + resolution: {integrity: sha512-8nvh+XBe96aCESrGOqMp/84b13H9cdKbG5P2ejQCh4d4sK9RL4371qou9drQjMhvnPmhWl5hnmqbEE0fXr9Xnw==} + + delayed-stream@1.0.0: + resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==} + engines: {node: '>=0.4.0'} + + depd@1.1.2: + resolution: {integrity: sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==} + engines: {node: '>= 0.6'} + + depd@2.0.0: + resolution: {integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==} + engines: {node: '>= 0.8'} + + dequal@2.0.3: + resolution: {integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==} + engines: {node: '>=6'} + + destr@2.0.3: + resolution: {integrity: sha512-2N3BOUU4gYMpTP24s5rF5iP7BDr7uNTCs4ozw3kf/eKfvWSIu93GEBi5m427YoyJoeOzQ5smuu4nNAPGb8idSQ==} + + destroy@1.2.0: + resolution: {integrity: sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==} + engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} + + detect-newline@3.1.0: + resolution: {integrity: sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==} + engines: {node: '>=8'} + + detect-node@2.1.0: + resolution: {integrity: sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==} + + devlop@1.1.0: + resolution: {integrity: sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA==} + + didyoumean@1.2.2: + resolution: {integrity: sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==} + + diff-sequences@29.6.3: + resolution: {integrity: sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + dir-glob@3.0.1: + resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} + engines: {node: '>=8'} + + dlv@1.1.3: + resolution: {integrity: sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==} + + dns-packet@5.6.1: + resolution: {integrity: sha512-l4gcSouhcgIKRvyy99RNVOgxXiicE+2jZoNmaNmZ6JXiGajBOJAesk1OBlJuM5k2c+eudGdLxDqXuPCKIj6kpw==} + engines: {node: '>=6'} + + doctrine@3.0.0: + resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==} + engines: {node: '>=6.0.0'} + + dom-serializer@2.0.0: + resolution: {integrity: sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==} + + dom-to-image-more@2.16.0: + resolution: {integrity: sha512-RyjtkaM/zVy90uJ20lT+/G7MwBZx6l/ePliq5CQOeAnPeew7aUGS6IqRWBkHpstU+POmhaKA8A9H9qf476gisQ==} + + domelementtype@2.3.0: + resolution: {integrity: sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==} + + domhandler@5.0.3: + resolution: {integrity: sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==} + engines: {node: '>= 4'} + + dompurify@3.1.5: + resolution: {integrity: sha512-lwG+n5h8QNpxtyrJW/gJWckL+1/DQiYMX8f7t8Z2AZTPw1esVrqjI63i7Zc2Gz0aKzLVMYC1V1PL/ky+aY/NgA==} + + domutils@3.1.0: + resolution: {integrity: sha512-H78uMmQtI2AhgDJjWeQmHwJJ2bLPD3GMmO7Zja/ZZh84wkm+4ut+IUnUdRa8uCGX88DiVx1j6FRe1XfxEgjEZA==} + + dotenv@16.4.5: + resolution: {integrity: sha512-ZmdL2rui+eB2YwhsWzjInR8LldtZHGDoQ1ugH85ppHKwpUHL7j7rN0Ti9NCnGiQbhaZ11FpR+7ao1dNsmduNUg==} + engines: {node: '>=12'} + + duplexer@0.1.2: + resolution: {integrity: sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==} + + eastasianwidth@0.2.0: + resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} + + ebnf-parser@0.1.10: + resolution: {integrity: sha512-urvSxVQ6XJcoTpc+/x2pWhhuOX4aljCNQpwzw+ifZvV1andZkAmiJc3Rq1oGEAQmcjiLceyMXOy1l8ms8qs2fQ==} + + ecc-jsbn@0.1.2: + resolution: {integrity: sha512-eh9O+hwRHNbG4BLTjEl3nw044CkGm5X6LoaCf7LPp7UU8Qrt47JYNi6nPX8xjW97TKGKm1ouctg0QSpZe9qrnw==} + + ee-first@1.1.1: + resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==} + + ejs@3.1.10: + resolution: {integrity: sha512-UeJmFfOrAQS8OJWPZ4qtgHyWExa088/MtK5UEyoJGFH67cDEXkZSviOiKRCZ4Xij0zxI3JECgYs3oKx+AizQBA==} + engines: {node: '>=0.10.0'} + hasBin: true + + electron-to-chromium@1.4.801: + resolution: {integrity: sha512-PnlUz15ii38MZMD2/CEsAzyee8tv9vFntX5nhtd2/4tv4HqY7C5q2faUAjmkXS/UFpVooJ/5H6kayRKYWoGMXQ==} + + elkjs@0.9.3: + resolution: {integrity: sha512-f/ZeWvW/BCXbhGEf1Ujp29EASo/lk1FDnETgNKwJrsVvGZhUWCZyg3xLJjAsxfOmt8KjswHmI5EwCQcPMpOYhQ==} + + emittery@0.13.1: + resolution: {integrity: sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==} + engines: {node: '>=12'} + + emoji-regex@10.3.0: + resolution: {integrity: sha512-QpLs9D9v9kArv4lfDEgg1X/gN5XLnf/A6l9cs8SPZLRZR3ZkY9+kwIQTxm+fsSej5UMYGE8fdoaZVIBlqG0XTw==} + + emoji-regex@8.0.0: + resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} + + emoji-regex@9.2.2: + resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==} + + encodeurl@1.0.2: + resolution: {integrity: sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==} + engines: {node: '>= 0.8'} + + encoding@0.1.13: + resolution: {integrity: sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==} + + end-of-stream@1.4.4: + resolution: {integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==} + + enhanced-resolve@5.17.0: + resolution: {integrity: sha512-dwDPwZL0dmye8Txp2gzFmA6sxALaSvdRDjPH0viLcKrtlOL3tw62nWWweVD1SdILDTJrbrL6tdWVN58Wo6U3eA==} + engines: {node: '>=10.13.0'} + + enquirer@2.4.1: + resolution: {integrity: sha512-rRqJg/6gd538VHvR3PSrdRBb/1Vy2YfzHqzvbhGIQpDRKIa4FgV/54b5Q1xYSxOOwKvjXweS26E0Q+nAMwp2pQ==} + engines: {node: '>=8.6'} + + entities@3.0.1: + resolution: {integrity: sha512-WiyBqoomrwMdFG1e0kqvASYfnlb0lp8M5o5Fw2OFq1hNZxxcNk8Ik0Xm7LxzBhuidnZB/UtBqVCgUz3kBOP51Q==} + engines: {node: '>=0.12'} + + entities@4.5.0: + resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==} + engines: {node: '>=0.12'} + + env-paths@3.0.0: + resolution: {integrity: sha512-dtJUTepzMW3Lm/NPxRf3wP4642UWhjL2sQxc+ym2YMj1m/H2zDNQOlezafzkHwn6sMstjHTwG6iQQsctDW/b1A==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + envinfo@7.13.0: + resolution: {integrity: sha512-cvcaMr7KqXVh4nyzGTVqTum+gAiL265x5jUWQIDLq//zOGbW+gSW/C+OWLleY/rs9Qole6AZLMXPbtIFQbqu+Q==} + engines: {node: '>=4'} + hasBin: true + + error-ex@1.3.2: + resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==} + + es-abstract@1.23.3: + resolution: {integrity: sha512-e+HfNH61Bj1X9/jLc5v1owaLYuHdeHHSQlkhCBiTK8rBvKaULl/beGMxwrMXjpYrv4pz22BlY570vVePA2ho4A==} + engines: {node: '>= 0.4'} + + es-define-property@1.0.0: + resolution: {integrity: sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==} + engines: {node: '>= 0.4'} + + es-errors@1.3.0: + resolution: {integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==} + engines: {node: '>= 0.4'} + + es-module-lexer@1.5.3: + resolution: {integrity: sha512-i1gCgmR9dCl6Vil6UKPI/trA69s08g/syhiDK9TG0Nf1RJjjFI+AzoWW7sPufzkgYAn861skuCwJa0pIIHYxvg==} + + es-object-atoms@1.0.0: + resolution: {integrity: sha512-MZ4iQ6JwHOBQjahnjwaC1ZtIBH+2ohjamzAO3oaHcXYup7qxjF2fixyH+Q71voWHeOkI2q/TnJao/KfXYIZWbw==} + engines: {node: '>= 0.4'} + + es-set-tostringtag@2.0.3: + resolution: {integrity: sha512-3T8uNMC3OQTHkFUsFq8r/BwAXLHvU/9O9mE0fBc/MY5iq/8H7ncvO947LmYA6ldWw9Uh8Yhf25zu6n7nML5QWQ==} + engines: {node: '>= 0.4'} + + es-to-primitive@1.2.1: + resolution: {integrity: sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==} + engines: {node: '>= 0.4'} + + es2015-i18n-tag@1.6.1: + resolution: {integrity: sha512-MYoh9p+JTkgnzBh0MEBON6xUyzdmwT6wzsmmFJvZujGSXiI2kM+3XvFl6+AcIO2eeL6VWgtX9szSiDTMwDxyYA==} + engines: {node: '>= 4.0.0'} + + es5-ext@0.10.64: + resolution: {integrity: sha512-p2snDhiLaXe6dahss1LddxqEm+SkuDvV8dnIQG0MWjyHpcMNfXKPE+/Cc0y+PhxJX3A4xGNeFCj5oc0BUh6deg==} + engines: {node: '>=0.10'} + + es6-error@4.1.1: + resolution: {integrity: sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg==} + + es6-iterator@2.0.3: + resolution: {integrity: sha512-zw4SRzoUkd+cl+ZoE15A9o1oQd920Bb0iOJMQkQhl3jNc03YqVjAhG7scf9C5KWRU/R13Orf588uCC6525o02g==} + + es6-symbol@3.1.4: + resolution: {integrity: sha512-U9bFFjX8tFiATgtkJ1zg25+KviIXpgRvRHS8sau3GfhVzThRQrOeksPeT0BWW2MNZs1OEWJ1DPXOQMn0KKRkvg==} + engines: {node: '>=0.12'} + + es6-weak-map@2.0.3: + resolution: {integrity: sha512-p5um32HOTO1kP+w7PRnB+5lQ43Z6muuMuIMffvDN8ZB4GcnjLBV6zGStpbASIMk4DCAvEaamhe2zhyCb/QXXsA==} + + esbuild@0.20.2: + resolution: {integrity: sha512-WdOOppmUNU+IbZ0PaDiTst80zjnrOkyJNHoKupIcVyU8Lvla3Ugx94VzkQ32Ijqd7UhHJy75gNWDMUekcrSJ6g==} + engines: {node: '>=12'} + hasBin: true + + esbuild@0.21.5: + resolution: {integrity: sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==} + engines: {node: '>=12'} + hasBin: true + + escalade@3.1.2: + resolution: {integrity: sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==} + engines: {node: '>=6'} + + escape-html@1.0.3: + resolution: {integrity: sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==} + + escape-string-regexp@1.0.5: + resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} + engines: {node: '>=0.8.0'} + + escape-string-regexp@2.0.0: + resolution: {integrity: sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==} + engines: {node: '>=8'} + + escape-string-regexp@4.0.0: + resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} + engines: {node: '>=10'} + + escape-string-regexp@5.0.0: + resolution: {integrity: sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==} + engines: {node: '>=12'} + + escodegen@1.3.3: + resolution: {integrity: sha512-z9FWgKc48wjMlpzF5ymKS1AF8OIgnKLp9VyN7KbdtyrP/9lndwUFqCtMm+TAJmJf7KJFFYc4cFJfVTTGkKEwsA==} + engines: {node: '>=0.10.0'} + hasBin: true + + eslint-config-prettier@9.1.0: + resolution: {integrity: sha512-NSWl5BFQWEPi1j4TjVNItzYV7dZXZ+wP6I6ZhrBGpChQhZRUaElihE9uRRkcbRnNb76UMKDF3r+WTmNcGPKsqw==} + hasBin: true + peerDependencies: + eslint: '>=7.0.0' + + eslint-plugin-cypress@2.15.2: + resolution: {integrity: sha512-CtcFEQTDKyftpI22FVGpx8bkpKyYXBlNge6zSo0pl5/qJvBAnzaD76Vu2AsP16d6mTj478Ldn2mhgrWV+Xr0vQ==} + peerDependencies: + eslint: '>= 3.2.1' + + eslint-plugin-html@8.1.1: + resolution: {integrity: sha512-6qmlJsc40D2m3Dn9oEH+0PAOkJhxVu0f5sVItqpCE0YWgYnyP4xCjBc3UWTHaJcY9ARkWOLIIuXLq0ndRnQOHw==} + engines: {node: '>=16.0.0'} + + eslint-plugin-jest@27.9.0: + resolution: {integrity: sha512-QIT7FH7fNmd9n4se7FFKHbsLKGQiw885Ds6Y/sxKgCZ6natwCsXdgPOADnYVxN2QrRweF0FZWbJ6S7Rsn7llug==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + peerDependencies: + '@typescript-eslint/eslint-plugin': ^5.0.0 || ^6.0.0 || ^7.0.0 + eslint: ^7.0.0 || ^8.0.0 + jest: '*' + peerDependenciesMeta: + '@typescript-eslint/eslint-plugin': + optional: true + jest: + optional: true + + eslint-plugin-jsdoc@48.2.9: + resolution: {integrity: sha512-ErpKyr2mEUEkcdZ4nwW/cvDjClvAcvJMEXkGGll0wf8sro8h6qeQ3qlZyp1vM1dRk8Ap6rMdke8FnP94QBIaVQ==} + engines: {node: '>=18'} + peerDependencies: + eslint: ^7.0.0 || ^8.0.0 || ^9.0.0 + + eslint-plugin-json@3.1.0: + resolution: {integrity: sha512-MrlG2ynFEHe7wDGwbUuFPsaT2b1uhuEFhJ+W1f1u+1C2EkXmTYJp4B1aAdQQ8M+CC3t//N/oRKiIVw14L2HR1g==} + engines: {node: '>=12.0'} + + eslint-plugin-lodash@7.4.0: + resolution: {integrity: sha512-Tl83UwVXqe1OVeBRKUeWcfg6/pCW1GTRObbdnbEJgYwjxp5Q92MEWQaH9+dmzbRt6kvYU1Mp893E79nJiCSM8A==} + engines: {node: '>=10'} + peerDependencies: + eslint: '>=2' + + eslint-plugin-markdown@4.0.1: + resolution: {integrity: sha512-5/MnGvYU0i8MbHH5cg8S+Vl3DL+bqRNYshk1xUO86DilNBaxtTkhH+5FD0/yO03AmlI6+lfNFdk2yOw72EPzpA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + eslint: '>=8' + + eslint-plugin-no-only-tests@3.1.0: + resolution: {integrity: sha512-Lf4YW/bL6Un1R6A76pRZyE1dl1vr31G/ev8UzIc/geCgFWyrKil8hVjYqWVKGB/UIGmb6Slzs9T0wNezdSVegw==} + engines: {node: '>=5.0.0'} + + eslint-plugin-tsdoc@0.2.17: + resolution: {integrity: sha512-xRmVi7Zx44lOBuYqG8vzTXuL6IdGOeF9nHX17bjJ8+VE6fsxpdGem0/SBTmAwgYMKYB1WBkqRJVQ+n8GK041pA==} + + eslint-plugin-unicorn@51.0.1: + resolution: {integrity: sha512-MuR/+9VuB0fydoI0nIn2RDA5WISRn4AsJyNSaNKLVwie9/ONvQhxOBbkfSICBPnzKrB77Fh6CZZXjgTt/4Latw==} + engines: {node: '>=16'} + peerDependencies: + eslint: '>=8.56.0' + + eslint-scope@5.1.1: + resolution: {integrity: sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==} + engines: {node: '>=8.0.0'} + + eslint-scope@7.2.2: + resolution: {integrity: sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + + eslint-visitor-keys@3.4.3: + resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + + eslint-visitor-keys@4.0.0: + resolution: {integrity: sha512-OtIRv/2GyiF6o/d8K7MYKKbXrOUBIK6SfkIRM4Z0dY3w+LiQ0vy3F57m0Z71bjbyeiWFiHJ8brqnmE6H6/jEuw==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + eslint@8.57.0: + resolution: {integrity: sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + hasBin: true + + esniff@2.0.1: + resolution: {integrity: sha512-kTUIGKQ/mDPFoJ0oVfcmyJn4iBDRptjNVIzwIFR7tqWXdVI9xfA2RMwY/gbSpJG3lkdWNEjLap/NqVHZiJsdfg==} + engines: {node: '>=0.10'} + + espree@10.0.1: + resolution: {integrity: sha512-MWkrWZbJsL2UwnjxTX3gG8FneachS/Mwg7tdGXce011sJd5b0JG54vat5KHnfSBODZ3Wvzd2WnjxyzsRoVv+ww==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + espree@9.6.1: + resolution: {integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + + esprima@1.1.1: + resolution: {integrity: sha512-qxxB994/7NtERxgXdFgLHIs9M6bhLXc6qtUmWZ3L8+gTQ9qaoyki2887P2IqAYsoENyr8SUbTutStDniOHSDHg==} + engines: {node: '>=0.4.0'} + hasBin: true + + esprima@4.0.1: + resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==} + engines: {node: '>=4'} + hasBin: true + + esquery@1.5.0: + resolution: {integrity: sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==} + engines: {node: '>=0.10'} + + esrecurse@4.3.0: + resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==} + engines: {node: '>=4.0'} + + estraverse@1.5.1: + resolution: {integrity: sha512-FpCjJDfmo3vsc/1zKSeqR5k42tcIhxFIlvq+h9j0fO2q/h2uLKyweq7rYJ+0CoVvrGQOxIS5wyBrW/+vF58BUQ==} + engines: {node: '>=0.4.0'} + + estraverse@4.3.0: + resolution: {integrity: sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==} + engines: {node: '>=4.0'} + + estraverse@5.3.0: + resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} + engines: {node: '>=4.0'} + + estree-walker@1.0.1: + resolution: {integrity: sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg==} + + estree-walker@2.0.2: + resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==} + + estree-walker@3.0.3: + resolution: {integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==} + + esutils@1.0.0: + resolution: {integrity: sha512-x/iYH53X3quDwfHRz4y8rn4XcEwwCJeWsul9pF1zldMbGtgOtMNBEOuYWwB1EQlK2LRa1fev3YAgym/RElp5Cg==} + engines: {node: '>=0.10.0'} + + esutils@2.0.3: + resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} + engines: {node: '>=0.10.0'} + + etag@1.8.1: + resolution: {integrity: sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==} + engines: {node: '>= 0.6'} + + event-emitter@0.3.5: + resolution: {integrity: sha512-D9rRn9y7kLPnJ+hMq7S/nhvoKwwvVJahBi2BPmx3bvbsEdK3W9ii8cBSGjP+72/LnM4n6fo3+dkCX5FeTQruXA==} + + event-stream@3.3.4: + resolution: {integrity: sha512-QHpkERcGsR0T7Qm3HNJSyXKEEj8AHNxkY3PK8TS2KJvQ7NiSHe3DDpwVKKtoYprL/AreyzFBeIkBIWChAqn60g==} + + event-target-shim@5.0.1: + resolution: {integrity: sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==} + engines: {node: '>=6'} + + eventemitter2@6.4.7: + resolution: {integrity: sha512-tYUSVOGeQPKt/eC1ABfhHy5Xd96N3oIijJvN3O9+TsC28T5V9yX9oEfEK5faP0EFSNVOG97qtAS68GBrQB2hDg==} + + eventemitter3@4.0.7: + resolution: {integrity: sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==} + + eventemitter3@5.0.1: + resolution: {integrity: sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA==} + + events@3.3.0: + resolution: {integrity: sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==} + engines: {node: '>=0.8.x'} + + execa@1.0.0: + resolution: {integrity: sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==} + engines: {node: '>=6'} + + execa@4.1.0: + resolution: {integrity: sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA==} + engines: {node: '>=10'} + + execa@5.1.1: + resolution: {integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==} + engines: {node: '>=10'} + + execa@8.0.1: + resolution: {integrity: sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==} + engines: {node: '>=16.17'} + + executable@4.1.1: + resolution: {integrity: sha512-8iA79xD3uAch729dUG8xaaBBFGaEa0wdD2VkYLFHwlqosEj/jT66AzcreRDSgV7ehnNLBW2WR5jIXwGKjVdTLg==} + engines: {node: '>=4'} + + exit@0.1.2: + resolution: {integrity: sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==} + engines: {node: '>= 0.8.0'} + + expect@29.7.0: + resolution: {integrity: sha512-2Zks0hf1VLFYI1kbh0I5jP3KHHyCHpkfyHBzsSXRFgl/Bg9mWYfMW8oD+PdMPlEwy5HNsR9JutYy6pMeOh61nw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + express@4.19.2: + resolution: {integrity: sha512-5T6nhjsT+EOMzuck8JjBHARTHfMht0POzlA60WV2pMD3gyXw2LZnZ+ueGdNxG+0calOJcWKbpFcuzLZ91YWq9Q==} + engines: {node: '>= 0.10.0'} + + ext@1.7.0: + resolution: {integrity: sha512-6hxeJYaL110a9b5TEJSj0gojyHQAmA2ch5Os+ySCiA1QGdS697XWY1pzsrSjqA9LDEEgdB/KypIlR59RcLuHYw==} + + extend@3.0.2: + resolution: {integrity: sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==} + + extract-zip@2.0.1: + resolution: {integrity: sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg==} + engines: {node: '>= 10.17.0'} + hasBin: true + + extsprintf@1.3.0: + resolution: {integrity: sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g==} + engines: {'0': node >=0.6.0} + + fast-content-type-parse@1.1.0: + resolution: {integrity: sha512-fBHHqSTFLVnR61C+gltJuE5GkVQMV0S2nqUO8TJ+5Z3qAKG8vAx4FKai1s5jq/inV1+sREynIWSuQ6HgoSXpDQ==} + + fast-decode-uri-component@1.0.1: + resolution: {integrity: sha512-WKgKWg5eUxvRZGwW8FvfbaH7AXSh2cL+3j5fMGzUMCxWBJ3dV3a7Wz8y2f/uQ0e3B6WmodD3oS54jTQ9HVTIIg==} + + fast-deep-equal@3.1.3: + resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} + + fast-equals@5.0.1: + resolution: {integrity: sha512-WF1Wi8PwwSY7/6Kx0vKXtw8RwuSGoM1bvDaJbu7MxDlR1vovZjIAKrnzyrThgAjm6JDTu0fVgWXDlMGspodfoQ==} + engines: {node: '>=6.0.0'} + + fast-glob@3.3.2: + resolution: {integrity: sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==} + engines: {node: '>=8.6.0'} + + fast-json-stable-stringify@2.1.0: + resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} + + fast-json-stringify@2.7.13: + resolution: {integrity: sha512-ar+hQ4+OIurUGjSJD1anvYSDcUflywhKjfxnsW4TBTD7+u0tJufv6DKRWoQk3vI6YBOWMoz0TQtfbe7dxbQmvA==} + engines: {node: '>= 10.0.0'} + + fast-levenshtein@2.0.6: + resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==} + + fast-redact@3.5.0: + resolution: {integrity: sha512-dwsoQlS7h9hMeYUq1W++23NDcBLV4KqONnITDV9DjfS3q1SgDGVrBdvvTLUotWtPSD7asWDV9/CmsZPy8Hf70A==} + engines: {node: '>=6'} + + fast-safe-stringify@2.1.1: + resolution: {integrity: sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==} + + fastest-levenshtein@1.0.16: + resolution: {integrity: sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg==} + engines: {node: '>= 4.9.1'} + + fastestsmallesttextencoderdecoder@1.0.22: + resolution: {integrity: sha512-Pb8d48e+oIuY4MaM64Cd7OW1gt4nxCHs7/ddPPZ/Ic3sg8yVGM7O9wDvZ7us6ScaUupzM+pfBolwtYhN1IxBIw==} + + fastify-plugin@3.0.1: + resolution: {integrity: sha512-qKcDXmuZadJqdTm6vlCqioEbyewF60b/0LOFCcYN1B6BIZGlYJumWWOYs70SFYLDAH4YqdE1cxH/RKMG7rFxgA==} + + fastify@3.29.5: + resolution: {integrity: sha512-FBDgb1gkenZxxh4sTD6AdI6mFnZnsgckpjIXzIvfLSYCa4isfQeD8QWGPib63dxq6btnY0l1j8I0xYhMvUb+sw==} + + fastq@1.17.1: + resolution: {integrity: sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==} + + fault@2.0.1: + resolution: {integrity: sha512-WtySTkS4OKev5JtpHXnib4Gxiurzh5NCGvWrFaZ34m6JehfTUhKZvn9njTfw48t6JumVQOmrKqpmGcdwxnhqBQ==} + + faye-websocket@0.11.4: + resolution: {integrity: sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g==} + engines: {node: '>=0.8.0'} + + fb-watchman@2.0.2: + resolution: {integrity: sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==} + + fd-slicer@1.1.0: + resolution: {integrity: sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==} + + ferrum@1.9.4: + resolution: {integrity: sha512-ooNerLoIht/dK4CQJux93z/hnt9JysrXniJCI3r6YRgmHeXC57EJ8XaTCT1Gm8LfhIAeWxyJA0O7d/W3pqDYRg==} + + fetch-blob@3.2.0: + resolution: {integrity: sha512-7yAQpD2UMJzLi1Dqv7qFYnPbaPx7ZfFK6PiIxQ4PfkGPyNyl2Ugx+a/umUonmKqjhM4DnfbMvdX6otXq83soQQ==} + engines: {node: ^12.20 || >= 14.13} + + fflate@0.8.2: + resolution: {integrity: sha512-cPJU47OaAoCbg0pBvzsgpTPhmhqI5eJjh/JIu8tPj5q+T7iLvW/JAYUqmE7KOB4R1ZyEhzBaIQpQpardBF5z8A==} + + figures@3.2.0: + resolution: {integrity: sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==} + engines: {node: '>=8'} + + file-entry-cache@6.0.1: + resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==} + engines: {node: ^10.12.0 || >=12.0.0} + + file-entry-cache@8.0.0: + resolution: {integrity: sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==} + engines: {node: '>=16.0.0'} + + file-saver@2.0.5: + resolution: {integrity: sha512-P9bmyZ3h/PRG+Nzga+rbdI4OEpNDzAVyy74uVO9ATgzLK6VtAsYybF/+TOCvrc0MO793d6+42lLyZTw7/ArVzA==} + + filelist@1.0.4: + resolution: {integrity: sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==} + + fill-range@7.1.1: + resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==} + engines: {node: '>=8'} + + finalhandler@1.2.0: + resolution: {integrity: sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==} + engines: {node: '>= 0.8'} + + find-cache-dir@3.3.2: + resolution: {integrity: sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==} + engines: {node: '>=8'} + + find-cache-dir@4.0.0: + resolution: {integrity: sha512-9ZonPT4ZAK4a+1pUPVPZJapbi7O5qbbJPdYw/NOQWZZbVLdDTYM3A4R9z/DpAM08IDaFGsvPgiGZ82WEwUDWjg==} + engines: {node: '>=14.16'} + + find-my-way@4.5.1: + resolution: {integrity: sha512-kE0u7sGoUFbMXcOG/xpkmz4sRLCklERnBcg7Ftuu1iAxsfEt2S46RLJ3Sq7vshsEy2wJT2hZxE58XZK27qa8kg==} + engines: {node: '>=10'} + + find-process@1.4.7: + resolution: {integrity: sha512-/U4CYp1214Xrp3u3Fqr9yNynUrr5Le4y0SsJh2lMDDSbpwYSz3M2SMWQC+wqcx79cN8PQtHQIL8KnuY9M66fdg==} + hasBin: true + + find-up-simple@1.0.0: + resolution: {integrity: sha512-q7Us7kcjj2VMePAa02hDAF6d+MzsdsAWEwYyOpwUtlerRBkOEPBCRZrAV4XfcSN8fHAgaD0hP7miwoay6DCprw==} + engines: {node: '>=18'} + + find-up@3.0.0: + resolution: {integrity: sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==} + engines: {node: '>=6'} + + find-up@4.1.0: + resolution: {integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==} + engines: {node: '>=8'} + + find-up@5.0.0: + resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} + engines: {node: '>=10'} + + find-up@6.3.0: + resolution: {integrity: sha512-v2ZsoEuVHYy8ZIlYqwPe/39Cy+cFDzp4dXPaxNvkEuouymu+2Jbz0PxpKarJHYJTmv2HWT3O382qY8l4jMWthw==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + flat-cache@3.2.0: + resolution: {integrity: sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==} + engines: {node: ^10.12.0 || >=12.0.0} + + flat-cache@4.0.1: + resolution: {integrity: sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==} + engines: {node: '>=16'} + + flat@5.0.2: + resolution: {integrity: sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==} + hasBin: true + + flatstr@1.0.12: + resolution: {integrity: sha512-4zPxDyhCyiN2wIAtSLI6gc82/EjqZc1onI4Mz/l0pWrAlsSfYH/2ZIcU+e3oA2wDwbzIWNKwa23F8rh6+DRWkw==} + + flatted@3.3.1: + resolution: {integrity: sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==} + + flexsearch@0.7.43: + resolution: {integrity: sha512-c5o/+Um8aqCSOXGcZoqZOm+NqtVwNsvVpWv6lfmSclU954O3wvQKxxK8zj74fPaSJbXpSLTs4PRhh+wnoCXnKg==} + + focus-trap@7.5.4: + resolution: {integrity: sha512-N7kHdlgsO/v+iD/dMoJKtsSqs5Dz/dXZVebRgJw23LDk+jMi/974zyiOYDziY2JPp8xivq9BmUGwIJMiuSBi7w==} + + follow-redirects@1.15.6: + resolution: {integrity: sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA==} + engines: {node: '>=4.0'} + peerDependencies: + debug: '*' + peerDependenciesMeta: + debug: + optional: true + + font-awesome@4.7.0: + resolution: {integrity: sha512-U6kGnykA/6bFmg1M/oT9EkFeIYv7JlX3bozwQJWiiLz6L0w3F5vBVPxHlwyX/vtNq1ckcpRKOB9f2Qal/VtFpg==} + engines: {node: '>=0.10.3'} + + for-each@0.3.3: + resolution: {integrity: sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==} + + foreground-child@2.0.0: + resolution: {integrity: sha512-dCIq9FpEcyQyXKCkyzmlPTFNgrCzPudOe+mhvJU5zAtlBnGVy2yKxtfsxK2tQBThwq225jcvBjpw1Gr40uzZCA==} + engines: {node: '>=8.0.0'} + + foreground-child@3.2.0: + resolution: {integrity: sha512-CrWQNaEl1/6WeZoarcM9LHupTo3RpZO2Pdk1vktwzPiQTsJnAKJmm3TACKeG5UZbWDfaH2AbvYxzP96y0MT7fA==} + engines: {node: '>=14'} + + forever-agent@0.6.1: + resolution: {integrity: sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw==} + + form-data@2.3.3: + resolution: {integrity: sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==} + engines: {node: '>= 0.12'} + + form-data@4.0.0: + resolution: {integrity: sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==} + engines: {node: '>= 6'} + + format@0.2.2: + resolution: {integrity: sha512-wzsgA6WOq+09wrU1tsJ09udeR/YZRaeArL9e1wPbFg3GG2yDnC2ldKpxs4xunpFF9DgqCqOIra3bc1HWrJ37Ww==} + engines: {node: '>=0.4.x'} + + formdata-polyfill@4.0.10: + resolution: {integrity: sha512-buewHzMvYL29jdeQTVILecSaZKnt/RJWjoZCF5OW60Z67/GmSLBkOFM7qh1PI3zFNtJbaZL5eQu1vLfazOwj4g==} + engines: {node: '>=12.20.0'} + + forwarded@0.2.0: + resolution: {integrity: sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==} + engines: {node: '>= 0.6'} + + fresh@0.5.2: + resolution: {integrity: sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==} + engines: {node: '>= 0.6'} + + from@0.1.7: + resolution: {integrity: sha512-twe20eF1OxVxp/ML/kq2p1uc6KvFK/+vs8WjEbeKmV2He22MKm7YF2ANIt+EOqhJ5L3K/SuuPhk0hWQDjOM23g==} + + fromentries@1.3.2: + resolution: {integrity: sha512-cHEpEQHUg0f8XdtZCc2ZAhrHzKzT0MrFUTcvx+hfxYu7rGMDc5SKoXFh+n4YigxsHXRzc6OrCshdR1bWH6HHyg==} + + fs-extra@11.1.1: + resolution: {integrity: sha512-MGIE4HOvQCeUCzmlHs0vXpih4ysz4wg9qiSAu6cd42lVwPbTM1TjV7RusoyQqMmk/95gdQZX72u+YW+c3eEpFQ==} + engines: {node: '>=14.14'} + + fs-extra@11.2.0: + resolution: {integrity: sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw==} + engines: {node: '>=14.14'} + + fs-extra@7.0.1: + resolution: {integrity: sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==} + engines: {node: '>=6 <7 || >=8'} + + fs-extra@9.1.0: + resolution: {integrity: sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==} + engines: {node: '>=10'} + + fs-monkey@1.0.6: + resolution: {integrity: sha512-b1FMfwetIKymC0eioW7mTywihSQE4oLzQn1dB6rZB5fx/3NpNEdAWeCSMB+60/AeT0TCXsxzAlcYVEFCTAksWg==} + + fs.realpath@1.0.0: + resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} + + fsevents@2.3.3: + resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} + engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} + os: [darwin] + + function-bind@1.1.2: + resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} + + function.prototype.name@1.1.6: + resolution: {integrity: sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==} + engines: {node: '>= 0.4'} + + functions-have-names@1.2.3: + resolution: {integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==} + + gensequence@7.0.0: + resolution: {integrity: sha512-47Frx13aZh01afHJTB3zTtKIlFI6vWY+MYCN9Qpew6i52rfKjnhCF/l1YlC8UmEMvvntZZ6z4PiCcmyuedR2aQ==} + engines: {node: '>=18'} + + gensync@1.0.0-beta.2: + resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==} + engines: {node: '>=6.9.0'} + + get-caller-file@2.0.5: + resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} + engines: {node: 6.* || 8.* || >= 10.*} + + get-east-asian-width@1.2.0: + resolution: {integrity: sha512-2nk+7SIVb14QrgXFHcm84tD4bKQz0RxPuMT8Ag5KPOq7J5fEmAg0UbXdTOSHqNuHSU28k55qnceesxXRZGzKWA==} + engines: {node: '>=18'} + + get-func-name@2.0.2: + resolution: {integrity: sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ==} + + get-intrinsic@1.2.4: + resolution: {integrity: sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==} + engines: {node: '>= 0.4'} + + get-own-enumerable-property-symbols@3.0.2: + resolution: {integrity: sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g==} + + get-package-type@0.1.0: + resolution: {integrity: sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==} + engines: {node: '>=8.0.0'} + + get-stdin@5.0.1: + resolution: {integrity: sha512-jZV7n6jGE3Gt7fgSTJoz91Ak5MuTLwMwkoYdjxuJ/AmjIsE1UC03y/IWkZCQGEvVNS9qoRNwy5BCqxImv0FVeA==} + engines: {node: '>=0.12.0'} + + get-stdin@8.0.0: + resolution: {integrity: sha512-sY22aA6xchAzprjyqmSEQv4UbAAzRN0L2dQB0NlN5acTTK9Don6nhoc3eAbUnpZiCANAMfd/+40kVdKfFygohg==} + engines: {node: '>=10'} + + get-stdin@9.0.0: + resolution: {integrity: sha512-dVKBjfWisLAicarI2Sf+JuBE/DghV4UzNAVe9yhEJuzeREd3JhOTE9cUaJTeSa77fsbQUK3pcOpJfM59+VKZaA==} + engines: {node: '>=12'} + + get-stream@4.1.0: + resolution: {integrity: sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==} + engines: {node: '>=6'} + + get-stream@5.2.0: + resolution: {integrity: sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==} + engines: {node: '>=8'} + + get-stream@6.0.1: + resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==} + engines: {node: '>=10'} + + get-stream@8.0.1: + resolution: {integrity: sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==} + engines: {node: '>=16'} + + get-symbol-description@1.0.2: + resolution: {integrity: sha512-g0QYk1dZBxGwk+Ngc+ltRH2IBp2f7zBkBMBJZCDerh6EhlhSR6+9irMCuT/09zD6qkarHUSn529sK/yL4S27mg==} + engines: {node: '>= 0.4'} + + get-tsconfig@4.7.5: + resolution: {integrity: sha512-ZCuZCnlqNzjb4QprAzXKdpp/gh6KTxSJuw3IBsPnV/7fV4NxC9ckB+vPTt8w7fJA0TaSD7c55BR47JD6MEDyDw==} + + getos@3.2.1: + resolution: {integrity: sha512-U56CfOK17OKgTVqozZjUKNdkfEv6jk5WISBJ8SHoagjE6L69zOwl3Z+O8myjY9MEW3i2HPWQBt/LTbCgcC973Q==} + + getpass@0.1.7: + resolution: {integrity: sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng==} + + github-slugger@2.0.0: + resolution: {integrity: sha512-IaOQ9puYtjrkq7Y0Ygl9KDZnrf/aiUJYUpVf89y8kyaxbRG7Y1SrX/jaumrv81vc61+kiMempujsM3Yw7w5qcw==} + + glob-parent@5.1.2: + resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} + engines: {node: '>= 6'} + + glob-parent@6.0.2: + resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} + engines: {node: '>=10.13.0'} + + glob-promise@4.2.2: + resolution: {integrity: sha512-xcUzJ8NWN5bktoTIX7eOclO1Npxd/dyVqUJxlLIDasT4C7KZyqlPIwkdJ0Ypiy3p2ZKahTjK4M9uC3sNSfNMzw==} + engines: {node: '>=12'} + peerDependencies: + glob: ^7.1.6 + + glob-to-regexp@0.4.1: + resolution: {integrity: sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==} + + glob@10.4.1: + resolution: {integrity: sha512-2jelhlq3E4ho74ZyVLN03oKdAZVUa6UDZzFLVH1H7dnoax+y9qyaq8zBkfDIggjniU19z0wU18y16jMB2eyVIw==} + engines: {node: '>=16 || 14 >=14.18'} + hasBin: true + + glob@7.2.3: + resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} + deprecated: Glob versions prior to v9 are no longer supported + + glob@8.1.0: + resolution: {integrity: sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==} + engines: {node: '>=12'} + deprecated: Glob versions prior to v9 are no longer supported + + global-directory@4.0.1: + resolution: {integrity: sha512-wHTUcDUoZ1H5/0iVqEudYW4/kAlN5cZ3j/bXn0Dpbizl9iaUVeWSHqiOjsgk6OW2bkLclbBjzewBz6weQ1zA2Q==} + engines: {node: '>=18'} + + global-dirs@3.0.1: + resolution: {integrity: sha512-NBcGGFbBA9s1VzD41QXDG+3++t9Mn5t1FpLdhESY6oKY4gYTFpX4wO3sqGUa0Srjtbfj3szX0RnemmrVRUdULA==} + engines: {node: '>=10'} + + globals@11.12.0: + resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==} + engines: {node: '>=4'} + + globals@13.24.0: + resolution: {integrity: sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==} + engines: {node: '>=8'} + + globalthis@1.0.4: + resolution: {integrity: sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==} + engines: {node: '>= 0.4'} + + globby@11.1.0: + resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==} + engines: {node: '>=10'} + + globby@13.2.2: + resolution: {integrity: sha512-Y1zNGV+pzQdh7H39l9zgB4PJqjRNqydvdYCDG4HFXM4XuvSaQQlEc91IU1yALL8gUTDomgBAfz3XJdmUS+oo0w==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + globby@14.0.1: + resolution: {integrity: sha512-jOMLD2Z7MAhyG8aJpNOpmziMOP4rPLcc95oQPKXBazW82z+CEgPFBQvEpRUa1KeIMUJo4Wsm+q6uzO/Q/4BksQ==} + engines: {node: '>=18'} + + glur@1.1.2: + resolution: {integrity: sha512-l+8esYHTKOx2G/Aao4lEQ0bnHWg4fWtJbVoZZT9Knxi01pB8C80BR85nONLFwkkQoFRCmXY+BUcGZN3yZ2QsRA==} + + gopd@1.0.1: + resolution: {integrity: sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==} + + got@11.8.6: + resolution: {integrity: sha512-6tfZ91bOr7bOXnK7PRDCGBLa1H4U080YHNaAQ2KsMGlLEzRbk44nsZF2E1IeRc3vtJHPVbKCYgdFbaGO2ljd8g==} + engines: {node: '>=10.19.0'} + + graceful-fs@4.2.11: + resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} + + graphemer@1.4.0: + resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==} + + gzip-size@6.0.0: + resolution: {integrity: sha512-ax7ZYomf6jqPTQ4+XCpUGyXKHk5WweS+e05MBO4/y3WJ5RkmPXNKvX+bx1behVILVwr6JSQvZAku021CHPXG3Q==} + engines: {node: '>=10'} + + hachure-fill@0.5.2: + resolution: {integrity: sha512-3GKBOn+m2LX9iq+JC1064cSFprJY4jL1jCXTcpnfER5HYE2l/4EfWSGzkPa/ZDBmYI0ZOEj5VHV/eKnPGkHuOg==} + + handle-thing@2.0.1: + resolution: {integrity: sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg==} + + handlebars@4.7.8: + resolution: {integrity: sha512-vafaFqs8MZkRrSX7sFVUdo3ap/eNiLnb4IakshzvP56X5Nr1iGKAIqdX6tMlm6HcNRIkr6AxO5jFEoJzzpT8aQ==} + engines: {node: '>=0.4.7'} + hasBin: true + + has-ansi@2.0.0: + resolution: {integrity: sha512-C8vBJ8DwUCx19vhm7urhTuUsr4/IyP6l4VzNQDv+ryHQObW3TTTp9yB68WpYgRe2bbaGuZ/se74IqFeVnMnLZg==} + engines: {node: '>=0.10.0'} + + has-bigints@1.0.2: + resolution: {integrity: sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==} + + has-flag@3.0.0: + resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==} + engines: {node: '>=4'} + + has-flag@4.0.0: + resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} + engines: {node: '>=8'} + + has-own-prop@2.0.0: + resolution: {integrity: sha512-Pq0h+hvsVm6dDEa8x82GnLSYHOzNDt7f0ddFa3FqcQlgzEiptPqL+XrOJNavjOzSYiYWIrgeVYYgGlLmnxwilQ==} + engines: {node: '>=8'} + + has-property-descriptors@1.0.2: + resolution: {integrity: sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==} + + has-proto@1.0.3: + resolution: {integrity: sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==} + engines: {node: '>= 0.4'} + + has-symbols@1.0.3: + resolution: {integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==} + engines: {node: '>= 0.4'} + + has-tostringtag@1.0.2: + resolution: {integrity: sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==} + engines: {node: '>= 0.4'} + + hasha@5.2.2: + resolution: {integrity: sha512-Hrp5vIK/xr5SkeN2onO32H0MgNZ0f17HRNH39WfL0SYUNOTZ5Lz1TJ8Pajo/87dYGEFlLMm7mIc/k/s6Bvz9HQ==} + engines: {node: '>=8'} + + hasown@2.0.2: + resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==} + engines: {node: '>= 0.4'} + + highlight.js@10.7.3: + resolution: {integrity: sha512-tzcUFauisWKNHaRkN4Wjl/ZA07gENAjFl3J/c480dprkGTg5EQstgaNFqBfUqCq54kZRIEcreTsAgF/m2quD7A==} + + hookable@5.5.3: + resolution: {integrity: sha512-Yc+BQe8SvoXH1643Qez1zqLRmbA5rCL+sSmk6TVos0LWVfNIB7PGncdlId77WzLGSIB5KaWgTaNTs2lNVEI6VQ==} + + hosted-git-info@2.8.9: + resolution: {integrity: sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==} + + hpack.js@2.1.6: + resolution: {integrity: sha512-zJxVehUdMGIKsRaNt7apO2Gqp0BdqW5yaiGHXXmbpvxgBYVZnAql+BJb4RO5ad2MgpbZKn5G6nMnegrH1FcNYQ==} + + html-encoding-sniffer@4.0.0: + resolution: {integrity: sha512-Y22oTqIU4uuPgEemfz7NDJz6OeKf12Lsu+QC+s3BVpda64lTiMYCyGwg5ki4vFxkMwQdeZDl2adZoqUgdFuTgQ==} + engines: {node: '>=18'} + + html-entities@2.5.2: + resolution: {integrity: sha512-K//PSRMQk4FZ78Kyau+mZurHn3FH0Vwr+H36eE0rPbeYkRRi9YxceYPhuN60UwWorxyKHhqoAJl2OFKa4BVtaA==} + + html-escaper@2.0.2: + resolution: {integrity: sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==} + + html-to-image@1.11.11: + resolution: {integrity: sha512-9gux8QhvjRO/erSnDPv28noDZcPZmYE7e1vFsBLKLlRlKDSqNJYebj6Qz1TGd5lsRV+X+xYyjCKjuZdABinWjA==} + + htmlparser2@9.1.0: + resolution: {integrity: sha512-5zfg6mHUoaer/97TxnGpxmbR7zJtPwIYFMZ/H5ucTlPZhKvtum05yiPK3Mgai3a0DyVxv7qYqoweaEd2nrYQzQ==} + + http-cache-semantics@4.1.1: + resolution: {integrity: sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==} + + http-deceiver@1.2.7: + resolution: {integrity: sha512-LmpOGxTfbpgtGVxJrj5k7asXHCgNZp5nLfp+hWc8QQRqtb7fUy6kRY3BO1h9ddF6yIPYUARgxGOwB42DnxIaNw==} + + http-errors@1.6.3: + resolution: {integrity: sha512-lks+lVC8dgGyh97jxvxeYTWQFvh4uw4yC12gVl63Cg30sjPX4wuGcdkICVXDAESr6OJGjqGA8Iz5mkeN6zlD7A==} + engines: {node: '>= 0.6'} + + http-errors@2.0.0: + resolution: {integrity: sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==} + engines: {node: '>= 0.8'} + + http-parser-js@0.5.8: + resolution: {integrity: sha512-SGeBX54F94Wgu5RH3X5jsDtf4eHyRogWX1XGT3b4HuW3tQPM4AaBzoUji/4AAJNXCEOWZ5O0DgZmJw1947gD5Q==} + + http-proxy-agent@5.0.0: + resolution: {integrity: sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==} + engines: {node: '>= 6'} + + http-proxy-agent@7.0.2: + resolution: {integrity: sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==} + engines: {node: '>= 14'} + + http-proxy-middleware@2.0.6: + resolution: {integrity: sha512-ya/UeJ6HVBYxrgYotAZo1KvPWlgB48kUJLDePFeneHsVujFaW5WNj2NgWCAE//B1Dl02BIfYlpNgBy8Kf8Rjmw==} + engines: {node: '>=12.0.0'} + peerDependencies: + '@types/express': ^4.17.13 + peerDependenciesMeta: + '@types/express': + optional: true + + http-proxy@1.18.1: + resolution: {integrity: sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==} + engines: {node: '>=8.0.0'} + + http-signature@1.3.6: + resolution: {integrity: sha512-3adrsD6zqo4GsTqtO7FyrejHNv+NgiIfAfv68+jVlFmSr9OGy7zrxONceFRLKvnnZA5jbxQBX1u9PpB6Wi32Gw==} + engines: {node: '>=0.10'} + + http2-wrapper@1.0.3: + resolution: {integrity: sha512-V+23sDMr12Wnz7iTcDeJr3O6AIxlnvT/bmaAAAP/Xda35C90p9599p0F1eHR/N1KILWSoWVAiOMFjBBXaXSMxg==} + engines: {node: '>=10.19.0'} + + https-localhost@4.7.1: + resolution: {integrity: sha512-rl+NFV0l67/0W7fZwk4LB5gS6HdhtSFLpCpf1N+KD5WQAXtPXX1QE8H0cP8VNJii18rtpTkE9eAHdUfJ0goAnQ==} + hasBin: true + + https-proxy-agent@5.0.1: + resolution: {integrity: sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==} + engines: {node: '>= 6'} + + https-proxy-agent@7.0.4: + resolution: {integrity: sha512-wlwpilI7YdjSkWaQ/7omYBMTliDcmCN8OLihO6I9B86g06lMyAoqgoDpV0XqoaPOKj+0DIdAvnsWfyAAhmimcg==} + engines: {node: '>= 14'} + + human-signals@1.1.1: + resolution: {integrity: sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==} + engines: {node: '>=8.12.0'} + + human-signals@2.1.0: + resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==} + engines: {node: '>=10.17.0'} + + human-signals@5.0.0: + resolution: {integrity: sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==} + engines: {node: '>=16.17.0'} + + husky@9.0.11: + resolution: {integrity: sha512-AB6lFlbwwyIqMdHYhwPe+kjOC3Oc5P3nThEoW/AaO2BX3vJDjWPFxYLxokUZOo6RNX20He3AaT8sESs9NJcmEw==} + engines: {node: '>=18'} + hasBin: true + + iconv-lite@0.4.24: + resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==} + engines: {node: '>=0.10.0'} + + iconv-lite@0.6.3: + resolution: {integrity: sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==} + engines: {node: '>=0.10.0'} + + idb@7.1.1: + resolution: {integrity: sha512-gchesWBzyvGHRO9W8tzUWFDycow5gwjvFKfyV9FF32Y7F50yZMp7mP+T2mJIWFx49zicqyC4uefHM17o6xKIVQ==} + + ieee754@1.2.1: + resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==} + + ignore@5.3.1: + resolution: {integrity: sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==} + engines: {node: '>= 4'} + + import-fresh@3.3.0: + resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==} + engines: {node: '>=6'} + + import-local@3.1.0: + resolution: {integrity: sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==} + engines: {node: '>=8'} + hasBin: true + + import-meta-resolve@4.1.0: + resolution: {integrity: sha512-I6fiaX09Xivtk+THaMfAwnA3MVA5Big1WHF1Dfx9hFuvNIWpXnorlkzhcQf6ehrqQiiZECRt1poOAkPmer3ruw==} + + imurmurhash@0.1.4: + resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} + engines: {node: '>=0.8.19'} + + indent-string@4.0.0: + resolution: {integrity: sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==} + engines: {node: '>=8'} + + indent-string@5.0.0: + resolution: {integrity: sha512-m6FAo/spmsW2Ab2fU35JTYwtOKa2yAwXSwgjSv1TJzh4Mh7mC3lzAOVLBprb72XsTrgkEIsl7YrFNAiDiRhIGg==} + engines: {node: '>=12'} + + inflight@1.0.6: + resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} + deprecated: This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful. + + inherits@2.0.3: + resolution: {integrity: sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==} + + inherits@2.0.4: + resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} + + ini@2.0.0: + resolution: {integrity: sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA==} + engines: {node: '>=10'} + + ini@3.0.1: + resolution: {integrity: sha512-it4HyVAUTKBc6m8e1iXWvXSTdndF7HbdN713+kvLrymxTaU4AUBWrJ4vEooP+V7fexnVD3LKcBshjGGPefSMUQ==} + engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} + + ini@4.1.1: + resolution: {integrity: sha512-QQnnxNyfvmHFIsj7gkPcYymR8Jdw/o7mp5ZFihxn6h8Ci6fh3Dx4E1gPjpQEpIuPo9XVNY/ZUwh4BPMjGyL01g==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + + internal-slot@1.0.7: + resolution: {integrity: sha512-NGnrKwXzSms2qUUih/ILZ5JBqNTSa1+ZmP6flaIp6KmSElgE9qdndzS3cqjrDovwFdmwsGsLdeFgB6suw+1e9g==} + engines: {node: '>= 0.4'} + + internmap@1.0.1: + resolution: {integrity: sha512-lDB5YccMydFBtasVtxnZ3MRBHuaoE8GKsppq+EchKL2U4nK/DmEpPHNH8MZe5HkMtpSiTSOZwfN0tzYjO/lJEw==} + + internmap@2.0.3: + resolution: {integrity: sha512-5Hh7Y1wQbvY5ooGgPbDaL5iYLAPzMTUrjMulskHLH6wnv/A+1q5rgEaiuqEjB+oxGXIVZs1FF+R/KPN3ZSQYYg==} + engines: {node: '>=12'} + + interpret@2.2.0: + resolution: {integrity: sha512-Ju0Bz/cEia55xDwUWEa8+olFpCiQoypjnQySseKtmjNrnps3P+xfpUmGr90T7yjlVJmOtybRvPXhKMbHr+fWnw==} + engines: {node: '>= 0.10'} + + ipaddr.js@1.9.1: + resolution: {integrity: sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==} + engines: {node: '>= 0.10'} + + ipaddr.js@2.2.0: + resolution: {integrity: sha512-Ag3wB2o37wslZS19hZqorUnrnzSkpOVy+IiiDEiTqNubEYpYuHWIf6K4psgN2ZWKExS4xhVCrRVfb/wfW8fWJA==} + engines: {node: '>= 10'} + + is-alphabetical@1.0.4: + resolution: {integrity: sha512-DwzsA04LQ10FHTZuL0/grVDk4rFoVH1pjAToYwBrHSxcrBIGQuXrQMtD5U1b0U2XVgKZCTLLP8u2Qxqhy3l2Vg==} + + is-alphanumerical@1.0.4: + resolution: {integrity: sha512-UzoZUr+XfVz3t3v4KyGEniVL9BDRoQtY7tOyrRybkVNjDFWyo1yhXNGrrBTQxp3ib9BLAWs7k2YKBQsFRkZG9A==} + + is-array-buffer@3.0.4: + resolution: {integrity: sha512-wcjaerHw0ydZwfhiKbXJWLDY8A7yV7KhjQOpb83hGgGfId/aQa4TOvwyzn2PuswW2gPCYEL/nEAiSVpdOj1lXw==} + engines: {node: '>= 0.4'} + + is-arrayish@0.2.1: + resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==} + + is-arrayish@0.3.2: + resolution: {integrity: sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==} + + is-bigint@1.0.4: + resolution: {integrity: sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==} + + is-binary-path@2.1.0: + resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} + engines: {node: '>=8'} + + is-boolean-object@1.1.2: + resolution: {integrity: sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==} + engines: {node: '>= 0.4'} + + is-builtin-module@3.2.1: + resolution: {integrity: sha512-BSLE3HnV2syZ0FK0iMA/yUGplUeMmNz4AW5fnTunbCIqZi4vG3WjJT9FHMy5D69xmAYBHXQhJdALdpwVxV501A==} + engines: {node: '>=6'} + + is-callable@1.2.7: + resolution: {integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==} + engines: {node: '>= 0.4'} + + is-ci@3.0.1: + resolution: {integrity: sha512-ZYvCgrefwqoQ6yTyYUbQu64HsITZ3NfKX1lzaEYdkTDcfKzzCI/wthRRYKkdjHKFVgNiXKAKm65Zo1pk2as/QQ==} + hasBin: true + + is-core-module@2.13.1: + resolution: {integrity: sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==} + + is-data-view@1.0.1: + resolution: {integrity: sha512-AHkaJrsUVW6wq6JS8y3JnM/GJF/9cf+k20+iDzlSaJrinEo5+7vRiteOSwBhHRiAyQATN1AmY4hwzxJKPmYf+w==} + engines: {node: '>= 0.4'} + + is-date-object@1.0.5: + resolution: {integrity: sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==} + engines: {node: '>= 0.4'} + + is-decimal@1.0.4: + resolution: {integrity: sha512-RGdriMmQQvZ2aqaQq3awNA6dCGtKpiDFcOzrTWrDAT2MiWrKQVPmxLGHl7Y2nNu6led0kEyoX0enY0qXYsv9zw==} + + is-docker@2.2.1: + resolution: {integrity: sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==} + engines: {node: '>=8'} + hasBin: true + + is-extglob@2.1.1: + resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} + engines: {node: '>=0.10.0'} + + is-fullwidth-code-point@3.0.0: + resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} + engines: {node: '>=8'} + + is-fullwidth-code-point@4.0.0: + resolution: {integrity: sha512-O4L094N2/dZ7xqVdrXhh9r1KODPJpFms8B5sGdJLPy664AgvXsreZUyCQQNItZRDlYug4xStLjNp/sz3HvBowQ==} + engines: {node: '>=12'} + + is-fullwidth-code-point@5.0.0: + resolution: {integrity: sha512-OVa3u9kkBbw7b8Xw5F9P+D/T9X+Z4+JruYVNapTjPYZYUznQ5YfWeFkOj606XYYW8yugTfC8Pj0hYqvi4ryAhA==} + engines: {node: '>=18'} + + is-generator-fn@2.1.0: + resolution: {integrity: sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==} + engines: {node: '>=6'} + + is-glob@4.0.3: + resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} + engines: {node: '>=0.10.0'} + + is-hexadecimal@1.0.4: + resolution: {integrity: sha512-gyPJuv83bHMpocVYoqof5VDiZveEoGoFL8m3BXNb2VW8Xs+rz9kqO8LOQ5DH6EsuvilT1ApazU0pyl+ytbPtlw==} + + is-installed-globally@0.4.0: + resolution: {integrity: sha512-iwGqO3J21aaSkC7jWnHP/difazwS7SFeIqxv6wEtLU8Y5KlzFTjyqcSIT0d8s4+dDhKytsk9PJZ2BkS5eZwQRQ==} + engines: {node: '>=10'} + + is-localhost-ip@2.0.0: + resolution: {integrity: sha512-vlgs2cSgMOfnKU8c1ewgKPyum9rVrjjLLW2HBdL5i0iAJjOs8NY55ZBd/hqUTaYR0EO9CKZd3hVSC2HlIbygTQ==} + engines: {node: '>=12'} + + is-module@1.0.0: + resolution: {integrity: sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g==} + + is-negative-zero@2.0.3: + resolution: {integrity: sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==} + engines: {node: '>= 0.4'} + + is-number-object@1.0.7: + resolution: {integrity: sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==} + engines: {node: '>= 0.4'} + + is-number@7.0.0: + resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} + engines: {node: '>=0.12.0'} + + is-obj@1.0.1: + resolution: {integrity: sha512-l4RyHgRqGN4Y3+9JHVrNqO+tN0rV5My76uW5/nuO4K1b6vw5G8d/cmFjP9tRfEsdhZNt0IFdZuK/c2Vr4Nb+Qg==} + engines: {node: '>=0.10.0'} + + is-path-inside@3.0.3: + resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==} + engines: {node: '>=8'} + + is-plain-obj@3.0.0: + resolution: {integrity: sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA==} + engines: {node: '>=10'} + + is-plain-obj@4.1.0: + resolution: {integrity: sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==} + engines: {node: '>=12'} + + is-plain-object@2.0.4: + resolution: {integrity: sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==} + engines: {node: '>=0.10.0'} + + is-potential-custom-element-name@1.0.1: + resolution: {integrity: sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==} + + is-promise@2.2.2: + resolution: {integrity: sha512-+lP4/6lKUBfQjZ2pdxThZvLUAafmZb8OAxFb8XXtiQmS35INgr85hdOGoEs124ez1FCnZJt6jau/T+alh58QFQ==} + + is-regex@1.1.4: + resolution: {integrity: sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==} + engines: {node: '>= 0.4'} + + is-regexp@1.0.0: + resolution: {integrity: sha512-7zjFAPO4/gwyQAAgRRmqeEeyIICSdmCqa3tsVHMdBzaXXRiqopZL4Cyghg/XulGWrtABTpbnYYzzIRffLkP4oA==} + engines: {node: '>=0.10.0'} + + is-shared-array-buffer@1.0.3: + resolution: {integrity: sha512-nA2hv5XIhLR3uVzDDfCIknerhx8XUKnstuOERPNNIinXG7v9u+ohXF67vxm4TPTEPU6lm61ZkwP3c9PCB97rhg==} + engines: {node: '>= 0.4'} + + is-stream@1.1.0: + resolution: {integrity: sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==} + engines: {node: '>=0.10.0'} + + is-stream@2.0.1: + resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==} + engines: {node: '>=8'} + + is-stream@3.0.0: + resolution: {integrity: sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + is-string@1.0.7: + resolution: {integrity: sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==} + engines: {node: '>= 0.4'} + + is-symbol@1.0.4: + resolution: {integrity: sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==} + engines: {node: '>= 0.4'} + + is-typed-array@1.1.13: + resolution: {integrity: sha512-uZ25/bUAlUY5fR4OKT4rZQEBrzQWYV9ZJYGGsUmEJ6thodVJ1HX64ePQ6Z0qPWP+m+Uq6e9UugrE38jeYsDSMw==} + engines: {node: '>= 0.4'} + + is-typedarray@1.0.0: + resolution: {integrity: sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==} + + is-unicode-supported@0.1.0: + resolution: {integrity: sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==} + engines: {node: '>=10'} + + is-weakref@1.0.2: + resolution: {integrity: sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==} + + is-windows@1.0.2: + resolution: {integrity: sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==} + engines: {node: '>=0.10.0'} + + is-wsl@2.2.0: + resolution: {integrity: sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==} + engines: {node: '>=8'} + + isarray@1.0.0: + resolution: {integrity: sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==} + + isarray@2.0.5: + resolution: {integrity: sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==} + + isexe@2.0.0: + resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} + + isobject@3.0.1: + resolution: {integrity: sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==} + engines: {node: '>=0.10.0'} + + isstream@0.1.2: + resolution: {integrity: sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g==} + + istanbul-lib-coverage@3.2.2: + resolution: {integrity: sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==} + engines: {node: '>=8'} + + istanbul-lib-hook@3.0.0: + resolution: {integrity: sha512-Pt/uge1Q9s+5VAZ+pCo16TYMWPBIl+oaNIjgLQxcX0itS6ueeaA+pEfThZpH8WxhFgCiEb8sAJY6MdUKgiIWaQ==} + engines: {node: '>=8'} + + istanbul-lib-instrument@4.0.3: + resolution: {integrity: sha512-BXgQl9kf4WTCPCCpmFGoJkz/+uhvm7h7PFKUYxh7qarQd3ER33vHG//qaE8eN25l07YqZPpHXU9I09l/RD5aGQ==} + engines: {node: '>=8'} + + istanbul-lib-instrument@5.2.1: + resolution: {integrity: sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==} + engines: {node: '>=8'} + + istanbul-lib-instrument@6.0.2: + resolution: {integrity: sha512-1WUsZ9R1lA0HtBSohTkm39WTPlNKSJ5iFk7UwqXkBLoHQT+hfqPsfsTDVuZdKGaBwn7din9bS7SsnoAr943hvw==} + engines: {node: '>=10'} + + istanbul-lib-processinfo@2.0.3: + resolution: {integrity: sha512-NkwHbo3E00oybX6NGJi6ar0B29vxyvNwoC7eJ4G4Yq28UfY758Hgn/heV8VRFhevPED4LXfFz0DQ8z/0kw9zMg==} + engines: {node: '>=8'} + + istanbul-lib-report@3.0.1: + resolution: {integrity: sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==} + engines: {node: '>=10'} + + istanbul-lib-source-maps@4.0.1: + resolution: {integrity: sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==} + engines: {node: '>=10'} + + istanbul-lib-source-maps@5.0.4: + resolution: {integrity: sha512-wHOoEsNJTVltaJp8eVkm8w+GVkVNHT2YDYo53YdzQEL2gWm1hBX5cGFR9hQJtuGLebidVX7et3+dmDZrmclduw==} + engines: {node: '>=10'} + + istanbul-reports@3.1.7: + resolution: {integrity: sha512-BewmUXImeuRk2YY0PVbxgKAysvhRPUQE0h5QRM++nVWyubKGV0l8qQ5op8+B2DOmwSe63Jivj0BjkPQVf8fP5g==} + engines: {node: '>=8'} + + iterm2-version@4.2.0: + resolution: {integrity: sha512-IoiNVk4SMPu6uTcK+1nA5QaHNok2BMDLjSl5UomrOixe5g4GkylhPwuiGdw00ysSCrXAKNMfFTu+u/Lk5f6OLQ==} + engines: {node: '>=8'} + + jackspeak@3.4.0: + resolution: {integrity: sha512-JVYhQnN59LVPFCEcVa2C3CrEKYacvjRfqIQl+h8oi91aLYQVWRYbxjPcv1bUiUy/kLmQaANrYfNMCO3kuEDHfw==} + engines: {node: '>=14'} + + jake@10.9.1: + resolution: {integrity: sha512-61btcOHNnLnsOdtLgA5efqQWjnSi/vow5HbI7HMdKKWqvrKR1bLK3BPlJn9gcSaP2ewuamUSMB5XEy76KUIS2w==} + engines: {node: '>=10'} + hasBin: true + + jest-changed-files@29.7.0: + resolution: {integrity: sha512-fEArFiwf1BpQ+4bXSprcDc3/x4HSzL4al2tozwVpDFpsxALjLYdyiIK4e5Vz66GQJIbXJ82+35PtysofptNX2w==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-circus@29.7.0: + resolution: {integrity: sha512-3E1nCMgipcTkCocFwM90XXQab9bS+GMsjdpmPrlelaxwD93Ad8iVEjX/vvHPdLPnFf+L40u+5+iutRdA1N9myw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-cli@29.7.0: + resolution: {integrity: sha512-OVVobw2IubN/GSYsxETi+gOe7Ka59EFMR/twOU3Jb2GnKKeMGJB5SGUUrEz3SFVmJASUdZUzy83sLNNQ2gZslg==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + hasBin: true + peerDependencies: + node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 + peerDependenciesMeta: + node-notifier: + optional: true + + jest-config@29.7.0: + resolution: {integrity: sha512-uXbpfeQ7R6TZBqI3/TxCU4q4ttk3u0PJeC+E0zbfSoSjq6bJ7buBPxzQPL0ifrkY4DNu4JUdk0ImlBUYi840eQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + peerDependencies: + '@types/node': '*' + ts-node: '>=9.0.0' + peerDependenciesMeta: + '@types/node': + optional: true + ts-node: + optional: true + + jest-diff@29.7.0: + resolution: {integrity: sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-docblock@29.7.0: + resolution: {integrity: sha512-q617Auw3A612guyaFgsbFeYpNP5t2aoUNLwBUbc/0kD1R4t9ixDbyFTHd1nok4epoVFpr7PmeWHrhvuV3XaJ4g==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-each@29.7.0: + resolution: {integrity: sha512-gns+Er14+ZrEoC5fhOfYCY1LOHHr0TI+rQUHZS8Ttw2l7gl+80eHc/gFf2Ktkw0+SIACDTeWvpFcv3B04VembQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-environment-node@29.7.0: + resolution: {integrity: sha512-DOSwCRqXirTOyheM+4d5YZOrWcdu0LNZ87ewUoywbcb2XR4wKgqiG8vNeYwhjFMbEkfju7wx2GYH0P2gevGvFw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-get-type@29.6.3: + resolution: {integrity: sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-haste-map@29.7.0: + resolution: {integrity: sha512-fP8u2pyfqx0K1rGn1R9pyE0/KTn+G7PxktWidOBTqFPLYX0b9ksaMFkhK5vrS3DVun09pckLdlx90QthlW7AmA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-image-snapshot@4.2.0: + resolution: {integrity: sha512-6aAqv2wtfOgxiJeBayBCqHo1zX+A12SUNNzo7rIxiXh6W6xYVu8QyHWkada8HeRi+QUTHddp0O0Xa6kmQr+xbQ==} + engines: {node: '>= 10.14.2'} + peerDependencies: + jest: '>=20 <=26' + + jest-leak-detector@29.7.0: + resolution: {integrity: sha512-kYA8IJcSYtST2BY9I+SMC32nDpBT3J2NvWJx8+JCuCdl/CR1I4EKUJROiP8XtCcxqgTTBGJNdbB1A8XRKbTetw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-matcher-utils@29.7.0: + resolution: {integrity: sha512-sBkD+Xi9DtcChsI3L3u0+N0opgPYnCRPtGcQYrgXmR+hmt/fYfWAL0xRXYU8eWOdfuLgBe0YCW3AFtnRLagq/g==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-message-util@29.7.0: + resolution: {integrity: sha512-GBEV4GRADeP+qtB2+6u61stea8mGcOT4mCtrYISZwfu9/ISHFJ/5zOMXYbpBE9RsS5+Gb63DW4FgmnKJ79Kf6w==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-mock@29.7.0: + resolution: {integrity: sha512-ITOMZn+UkYS4ZFh83xYAOzWStloNzJFO2s8DWrE4lhtGD+AorgnbkiKERe4wQVBydIGPx059g6riW5Btp6Llnw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-pnp-resolver@1.2.3: + resolution: {integrity: sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==} + engines: {node: '>=6'} + peerDependencies: + jest-resolve: '*' + peerDependenciesMeta: + jest-resolve: + optional: true + + jest-regex-util@29.6.3: + resolution: {integrity: sha512-KJJBsRCyyLNWCNBOvZyRDnAIfUiRJ8v+hOBQYGn8gDyF3UegwiP4gwRR3/SDa42g1YbVycTidUF3rKjyLFDWbg==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-resolve-dependencies@29.7.0: + resolution: {integrity: sha512-un0zD/6qxJ+S0et7WxeI3H5XSe9lTBBR7bOHCHXkKR6luG5mwDDlIzVQ0V5cZCuoTgEdcdwzTghYkTWfubi+nA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-resolve@29.7.0: + resolution: {integrity: sha512-IOVhZSrg+UvVAshDSDtHyFCCBUl/Q3AAJv8iZ6ZjnZ74xzvwuzLXid9IIIPgTnY62SJjfuupMKZsZQRsCvxEgA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-runner@29.7.0: + resolution: {integrity: sha512-fsc4N6cPCAahybGBfTRcq5wFR6fpLznMg47sY5aDpsoejOcVYFb07AHuSnR0liMcPTgBsA3ZJL6kFOjPdoNipQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-runtime@29.7.0: + resolution: {integrity: sha512-gUnLjgwdGqW7B4LvOIkbKs9WGbn+QLqRQQ9juC6HndeDiezIwhDP+mhMwHWCEcfQ5RUXa6OPnFF8BJh5xegwwQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-snapshot@29.7.0: + resolution: {integrity: sha512-Rm0BMWtxBcioHr1/OX5YCP8Uov4riHvKPknOGs804Zg9JGZgmIBkbtlxJC/7Z4msKYVbIJtfU+tKb8xlYNfdkw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-util@29.7.0: + resolution: {integrity: sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-validate@29.7.0: + resolution: {integrity: sha512-ZB7wHqaRGVw/9hST/OuFUReG7M8vKeq0/J2egIGLdvjHCmYqGARhzXmtgi+gVeZ5uXFF219aOc3Ls2yLg27tkw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-watcher@29.7.0: + resolution: {integrity: sha512-49Fg7WXkU3Vl2h6LbLtMQ/HyB6rXSIX7SqvBLQmssRBGN9I0PNvPmAmCWSOY6SOvrjhI/F7/bGAv9RtnsPA03g==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-worker@27.5.1: + resolution: {integrity: sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==} + engines: {node: '>= 10.13.0'} + + jest-worker@29.7.0: + resolution: {integrity: sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest@29.7.0: + resolution: {integrity: sha512-NIy3oAFp9shda19hy4HK0HRTWKtPJmGdnvywu01nOqNC2vZg+Z+fvJDxpMQA88eb2I9EcafcdjYgsDthnYTvGw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + hasBin: true + peerDependencies: + node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 + peerDependenciesMeta: + node-notifier: + optional: true + + jison-lex@0.3.4: + resolution: {integrity: sha512-EBh5wrXhls1cUwROd5DcDHR1sG7CdsCFSqY1027+YA1RGxz+BX2TDLAhdsQf40YEtFDGoiO0Qm8PpnBl2EzDJw==} + engines: {node: '>=0.4'} + hasBin: true + + jison@0.4.18: + resolution: {integrity: sha512-FKkCiJvozgC7VTHhMJ00a0/IApSxhlGsFIshLW6trWJ8ONX2TQJBBz6DlcO1Gffy4w9LT+uL+PA+CVnUSJMF7w==} + engines: {node: '>=0.4'} + hasBin: true + + jiti@1.21.6: + resolution: {integrity: sha512-2yTgeWTWzMWkHu6Jp9NKgePDaYHbntiwvYuuJLbbN9vl7DC9DvXKOB2BC3ZZ92D3cvV/aflH0osDfwpHepQ53w==} + hasBin: true + + jju@1.4.0: + resolution: {integrity: sha512-8wb9Yw966OSxApiCt0K3yNJL8pnNeIv+OEq2YMidz4FKP6nonSRoOXc80iXY4JaN2FC11B9qsNmDsm+ZOfMROA==} + + joi@17.13.1: + resolution: {integrity: sha512-vaBlIKCyo4FCUtCm7Eu4QZd/q02bWcxfUO6YSXAZOWF6gzcLBeba8kwotUdYJjDLW8Cz8RywsSOqiNJZW0mNvg==} + + jpeg-js@0.4.4: + resolution: {integrity: sha512-WZzeDOEtTOBK4Mdsar0IqEU5sMr3vSV2RqkAIzUEV2BHnUfKGyswWFPFwK5EeDo93K3FohSHbLAjj0s1Wzd+dg==} + + js-base64@3.7.7: + resolution: {integrity: sha512-7rCnleh0z2CkXhH67J8K1Ytz0b2Y+yxTPL+/KOJoa20hfnVQ/3/T6W/KflYI4bRHRagNeXeU2bkNGI3v1oS/lw==} + + js-tokens@4.0.0: + resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} + + js-tokens@9.0.0: + resolution: {integrity: sha512-WriZw1luRMlmV3LGJaR6QOJjWwgLUTf89OwT2lUOyjX2dJGBwgmIkbcz+7WFZjrZM635JOIR517++e/67CP9dQ==} + + js-yaml@3.14.1: + resolution: {integrity: sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==} + hasBin: true + + js-yaml@4.1.0: + resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} + hasBin: true + + jsbn@0.1.1: + resolution: {integrity: sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg==} + + jsdoc-type-pratt-parser@4.0.0: + resolution: {integrity: sha512-YtOli5Cmzy3q4dP26GraSOeAhqecewG04hoO8DY56CH4KJ9Fvv5qKWUCCo3HZob7esJQHCv6/+bnTy72xZZaVQ==} + engines: {node: '>=12.0.0'} + + jsdom@24.1.0: + resolution: {integrity: sha512-6gpM7pRXCwIOKxX47cgOyvyQDN/Eh0f1MeKySBV2xGdKtqJBLj8P25eY3EVCWo2mglDDzozR2r2MW4T+JiNUZA==} + engines: {node: '>=18'} + peerDependencies: + canvas: ^2.11.2 + peerDependenciesMeta: + canvas: + optional: true + + jsesc@0.5.0: + resolution: {integrity: sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==} + hasBin: true + + jsesc@2.5.2: + resolution: {integrity: sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==} + engines: {node: '>=4'} + hasBin: true + + jsesc@3.0.2: + resolution: {integrity: sha512-xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g==} + engines: {node: '>=6'} + hasBin: true + + json-buffer@3.0.1: + resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==} + + json-parse-even-better-errors@2.3.1: + resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==} + + json-schema-to-typescript@13.1.2: + resolution: {integrity: sha512-17G+mjx4nunvOpkPvcz7fdwUwYCEwyH8vR3Ym3rFiQ8uzAL3go+c1306Kk7iGRk8HuXBXqy+JJJmpYl0cvOllw==} + engines: {node: '>=12.0.0'} + hasBin: true + + json-schema-traverse@0.4.1: + resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} + + json-schema-traverse@1.0.0: + resolution: {integrity: sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==} + + json-schema@0.4.0: + resolution: {integrity: sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==} + + json-stable-stringify-without-jsonify@1.0.1: + resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==} + + json-stringify-safe@5.0.1: + resolution: {integrity: sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==} + + json5@2.2.3: + resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==} + engines: {node: '>=6'} + hasBin: true + + jsonc-parser@3.2.1: + resolution: {integrity: sha512-AilxAyFOAcK5wA1+LeaySVBrHsGQvUFCDWXKpZjzaL0PqW+xfBOttn8GNtWKFWqneyMZj41MWF9Kl6iPWLwgOA==} + + jsonfile@4.0.0: + resolution: {integrity: sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==} + + jsonfile@6.1.0: + resolution: {integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==} + + jsonlint@1.6.0: + resolution: {integrity: sha512-x6YLBe6NjdpmIeiklwQOxsZuYj/SOWkT33GlTpaG1UdFGjdWjPcxJ1CWZAX3wA7tarz8E2YHF6KiW5HTapPlXw==} + engines: {node: '>= 0.6'} + hasBin: true + + jsonpointer@5.0.1: + resolution: {integrity: sha512-p/nXbhSEcu3pZRdkW1OfJhpsVtW1gd4Wa1fnQc9YLiTfAjn0312eMKimbdIQzuZl9aa9xUGaRlP9T/CJE/ditQ==} + engines: {node: '>=0.10.0'} + + jsonschema@1.4.1: + resolution: {integrity: sha512-S6cATIPVv1z0IlxdN+zUk5EPjkGCdnhN4wVSBlvoUO1tOLJootbo9CquNJmbIh4yikWHiUedhRYrNPn1arpEmQ==} + + jsprim@2.0.2: + resolution: {integrity: sha512-gqXddjPqQ6G40VdnI6T6yObEC+pDNvyP95wdQhkWkg7crHH3km5qP1FsOXEkzEQwnz6gz5qGTn1c2Y52wP3OyQ==} + engines: {'0': node >=0.6.0} + + junk@4.0.1: + resolution: {integrity: sha512-Qush0uP+G8ZScpGMZvHUiRfI0YBWuB3gVBYlI0v0vvOJt5FLicco+IkP0a50LqTTQhmts/m6tP5SWE+USyIvcQ==} + engines: {node: '>=12.20'} + + katex@0.16.10: + resolution: {integrity: sha512-ZiqaC04tp2O5utMsl2TEZTXxa6WSC4yo0fv5ML++D3QZv/vx2Mct0mTlRx3O+uUkjfuAgOkzsCmq5MiUEsDDdA==} + hasBin: true + + keyv@4.5.4: + resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==} + + khroma@2.1.0: + resolution: {integrity: sha512-Ls993zuzfayK269Svk9hzpeGUKob/sIgZzyHYdjQoAdQetRKpOLj+k/QQQ/6Qi0Yz65mlROrfd+Ev+1+7dz9Kw==} + + kind-of@6.0.3: + resolution: {integrity: sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==} + engines: {node: '>=0.10.0'} + + kleur@3.0.3: + resolution: {integrity: sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==} + engines: {node: '>=6'} + + kolorist@1.8.0: + resolution: {integrity: sha512-Y+60/zizpJ3HRH8DCss+q95yr6145JXZo46OTpFvDZWLfRCE4qChOyk1b26nMaNpfHHgxagk9dXT5OP0Tfe+dQ==} + + ky@0.30.0: + resolution: {integrity: sha512-X/u76z4JtDVq10u1JA5UQfatPxgPaVDMYTrgHyiTpGN2z4TMEJkIHsoSBBSg9SWZEIXTKsi9kHgiQ9o3Y/4yog==} + engines: {node: '>=12'} + + langium-cli@3.0.3: + resolution: {integrity: sha512-g6PdhEq5IiYWK/oiySILglPvFdK6ofQdzC+U7PJmFH++bDKu0DGdxjWzDauUN5WUDyVQETWKgtYDmmbcxPzN0w==} + engines: {node: '>=16.0.0'} + hasBin: true + + langium-railroad@3.0.0: + resolution: {integrity: sha512-GQOnQBGl5gJqzgK/4bKvJO5QhJGNnprpYH6Fghbl4FviVLHwP6yzyqiouDelLSoCadChCr2JqKaBp5HXv7CgWw==} + + langium@3.0.0: + resolution: {integrity: sha512-+Ez9EoiByeoTu/2BXmEaZ06iPNXM6thWJp02KfBO/raSMyCJ4jw7AkWWa+zBCTm0+Tw1Fj9FOxdqSskyN5nAwg==} + engines: {node: '>=16.0.0'} + + launch-editor@2.6.1: + resolution: {integrity: sha512-eB/uXmFVpY4zezmGp5XtU21kwo7GBbKB+EQ+UZeWtGb9yAM5xt/Evk+lYH3eRNAtId+ej4u7TYPFZ07w4s7rRw==} + + layout-base@1.0.2: + resolution: {integrity: sha512-8h2oVEZNktL4BH2JCOI90iD1yXwL6iNW7KcCKT2QZgQJR2vbqDsldCTPRU9NifTCqHZci57XvQQ15YTu+sTYPg==} + + lazy-ass@1.6.0: + resolution: {integrity: sha512-cc8oEVoctTvsFZ/Oje/kGnHbpWHYBe8IAJe4C0QNc3t8uM/0Y8+erSz/7Y1ALuXTEZTMvxXwO6YbX1ey3ujiZw==} + engines: {node: '> 0.8'} + + leven@3.1.0: + resolution: {integrity: sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==} + engines: {node: '>=6'} + + levn@0.4.1: + resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} + engines: {node: '>= 0.8.0'} + + lex-parser@0.1.4: + resolution: {integrity: sha512-DuAEISsr1H4LOpmFLkyMc8YStiRWZCO8hMsoXAXSbgyfvs2WQhSt0+/FBv3ZU/JBFZMGcE+FWzEBSzwUU7U27w==} + + light-my-request@4.12.0: + resolution: {integrity: sha512-0y+9VIfJEsPVzK5ArSIJ8Dkxp8QMP7/aCuxCUtG/tr9a2NoOf/snATE/OUc05XUplJCEnRh6gTkH7xh9POt1DQ==} + + lilconfig@2.1.0: + resolution: {integrity: sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==} + engines: {node: '>=10'} + + lilconfig@3.1.2: + resolution: {integrity: sha512-eop+wDAvpItUys0FWkHIKeC9ybYrTGbU41U5K7+bttZZeohvnY7M9dZ5kB21GNWiFT2q1OoPTvncPCgSOVO5ow==} + engines: {node: '>=14'} + + lines-and-columns@1.2.4: + resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} + + linkify-it@4.0.1: + resolution: {integrity: sha512-C7bfi1UZmoj8+PQx22XyeXCuBlokoyWQL5pWSP+EI6nzRylyThouddufc2c1NDIcP9k5agmN9fLpA7VNJfIiqw==} + + lint-staged@15.2.7: + resolution: {integrity: sha512-+FdVbbCZ+yoh7E/RosSdqKJyUM2OEjTciH0TFNkawKgvFp1zbGlEC39RADg+xKBG1R4mhoH2j85myBQZ5wR+lw==} + engines: {node: '>=18.12.0'} + hasBin: true + + listr2@3.14.0: + resolution: {integrity: sha512-TyWI8G99GX9GjE54cJ+RrNMcIFBfwMPxc3XTFiAYGN4s10hWROGtOg7+O6u6LE3mNkyld7RSLE6nrKBvTfcs3g==} + engines: {node: '>=10.0.0'} + peerDependencies: + enquirer: '>= 2.3.0 < 3' + peerDependenciesMeta: + enquirer: + optional: true + + listr2@8.2.1: + resolution: {integrity: sha512-irTfvpib/rNiD637xeevjO2l3Z5loZmuaRi0L0YE5LfijwVY96oyVn0DFD3o/teAok7nfobMG1THvvcHh/BP6g==} + engines: {node: '>=18.0.0'} + + loader-runner@4.3.0: + resolution: {integrity: sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==} + engines: {node: '>=6.11.5'} + + local-pkg@0.4.3: + resolution: {integrity: sha512-SFppqq5p42fe2qcZQqqEOiVRXl+WCP1MdT6k7BDEW1j++sp5fIY+/fdRQitvKgB5BrBcmrs5m/L0v2FrU5MY1g==} + engines: {node: '>=14'} + + local-pkg@0.5.0: + resolution: {integrity: sha512-ok6z3qlYyCDS4ZEU27HaU6x/xZa9Whf8jD4ptH5UZTQYZVYeb9bnZ3ojVhiJNLiXK1Hfc0GNbLXcmZ5plLDDBg==} + engines: {node: '>=14'} + + locate-path@3.0.0: + resolution: {integrity: sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==} + engines: {node: '>=6'} + + locate-path@5.0.0: + resolution: {integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==} + engines: {node: '>=8'} + + locate-path@6.0.0: + resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} + engines: {node: '>=10'} + + locate-path@7.2.0: + resolution: {integrity: sha512-gvVijfZvn7R+2qyPX8mAuKcFGDf6Nc61GdvGafQsHL0sBIxfKzA+usWn4GFC/bk+QdwPUD4kWFJLhElipq+0VA==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + lodash-es@4.17.21: + resolution: {integrity: sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==} + + lodash.debounce@4.0.8: + resolution: {integrity: sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==} + + lodash.flattendeep@4.4.0: + resolution: {integrity: sha512-uHaJFihxmJcEX3kT4I23ABqKKalJ/zDrDg0lsFtc1h+3uw49SIJ5beyhx5ExVRti3AvKoOJngIj7xz3oylPdWQ==} + + lodash.isplainobject@4.0.6: + resolution: {integrity: sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==} + + lodash.merge@4.6.2: + resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} + + lodash.once@4.1.1: + resolution: {integrity: sha512-Sb487aTOCr9drQVL8pIxOzVhafOjZN9UU54hiN8PU3uAiSV7lx1yYNpbNmex2PK6dSJoNTSJUUswT651yww3Mg==} + + lodash.sortby@4.7.0: + resolution: {integrity: sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA==} + + lodash@4.17.21: + resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} + + log-symbols@4.1.0: + resolution: {integrity: sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==} + engines: {node: '>=10'} + + log-update@4.0.0: + resolution: {integrity: sha512-9fkkDevMefjg0mmzWFBW8YkFP91OrizzkW3diF7CpG+S2EYdy4+TVfGwz1zeF8x7hCx1ovSPTOE9Ngib74qqUg==} + engines: {node: '>=10'} + + log-update@6.0.0: + resolution: {integrity: sha512-niTvB4gqvtof056rRIrTZvjNYE4rCUzO6X/X+kYjd7WFxXeJ0NwEFnRxX6ehkvv3jTwrXnNdtAak5XYZuIyPFw==} + engines: {node: '>=18'} + + loglevel-plugin-prefix@0.8.4: + resolution: {integrity: sha512-WpG9CcFAOjz/FtNht+QJeGpvVl/cdR6P0z6OcXSkr8wFJOsV2GRj2j10JLfjuA4aYkcKCNIEqRGCyTife9R8/g==} + + loglevel@1.9.1: + resolution: {integrity: sha512-hP3I3kCrDIMuRwAwHltphhDM1r8i55H33GgqjXbrisuJhF4kRhW1dNuxsRklp4bXl8DSdLaNLuiL4A/LWRfxvg==} + engines: {node: '>= 0.6.0'} + + longest-streak@3.1.0: + resolution: {integrity: sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g==} + + loupe@2.3.7: + resolution: {integrity: sha512-zSMINGVYkdpYSOBmLi0D1Uo7JU9nVdQKrHxC8eYlV+9YKK9WePqAlL7lSlorG/U2Fw1w0hTBmaa/jrQ3UbPHtA==} + + lowercase-keys@2.0.0: + resolution: {integrity: sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==} + engines: {node: '>=8'} + + lru-cache@10.2.2: + resolution: {integrity: sha512-9hp3Vp2/hFQUiIwKo8XCeFVnrg8Pk3TYNPIR7tJADKi5YfcF7vEaK7avFHTlSy3kOKYaJQaalfEo6YuXdceBOQ==} + engines: {node: 14 || >=16.14} + + lru-cache@5.1.1: + resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==} + + lru-cache@6.0.0: + resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==} + engines: {node: '>=10'} + + lru-queue@0.1.0: + resolution: {integrity: sha512-BpdYkt9EvGl8OfWHDQPISVpcl5xZthb+XPsbELj5AQXxIC8IriDZIQYjBJPEm5rS420sjZ0TLEzRcq5KdBhYrQ==} + + lunr@2.3.9: + resolution: {integrity: sha512-zTU3DaZaF3Rt9rhN3uBMGQD3dD2/vFQqnvZCDv4dl5iOzq2IZQqTxu90r4E5J+nP70J3ilqVCrbho2eWaeW8Ow==} + + magic-string@0.25.9: + resolution: {integrity: sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==} + + magic-string@0.30.10: + resolution: {integrity: sha512-iIRwTIf0QKV3UAnYK4PU8uiEc4SRh5jX0mwpIwETPpHdhVM4f53RSwS/vXvN1JhGX+Cs7B8qIq3d6AH49O5fAQ==} + + magicast@0.3.4: + resolution: {integrity: sha512-TyDF/Pn36bBji9rWKHlZe+PZb6Mx5V8IHCSxk7X4aljM4e/vyDvZZYwHewdVaqiA0nb3ghfHU/6AUpDxWoER2Q==} + + make-dir@3.1.0: + resolution: {integrity: sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==} + engines: {node: '>=8'} + + make-dir@4.0.0: + resolution: {integrity: sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==} + engines: {node: '>=10'} + + makeerror@1.0.12: + resolution: {integrity: sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==} + + map-stream@0.1.0: + resolution: {integrity: sha512-CkYQrPYZfWnu/DAmVCpTSX/xHpKZ80eKh2lAkyA6AJTef6bW+6JpbQZN5rofum7da+SyN1bi5ctTm+lTfcCW3g==} + + mark.js@8.11.1: + resolution: {integrity: sha512-1I+1qpDt4idfgLQG+BNWmrqku+7/2bi5nLf4YwF8y8zXvmfiTBY3PV3ZibfrjBueCByROpuBjLLFCajqkgYoLQ==} + + markdown-it@13.0.2: + resolution: {integrity: sha512-FtwnEuuK+2yVU7goGn/MJ0WBZMM9ZPgU9spqlFs7/A/pDIUNSOQZhUgOqYCficIuR2QaFnrt8LHqBWsbTAoI5w==} + hasBin: true + + markdown-table@3.0.3: + resolution: {integrity: sha512-Z1NL3Tb1M9wH4XESsCDEksWoKTdlUafKc4pt0GRwjUyXaCFZ+dc3g2erqB6zm3szA2IUSi7VnPI+o/9jnxh9hw==} + + marked@4.3.0: + resolution: {integrity: sha512-PRsaiG84bK+AMvxziE/lCFss8juXjNaWzVbN5tXAm4XjeaS9NAHhop+PjQxz2A9h8Q4M/xGmzP8vqNwy6JeK0A==} + engines: {node: '>= 12'} + hasBin: true + + mdast-builder@1.1.1: + resolution: {integrity: sha512-a3KBk/LmYD6wKsWi8WJrGU/rXR4yuF4Men0JO0z6dSZCm5FrXXWTRDjqK0vGSqa+1M6p9edeuypZAZAzSehTUw==} + + mdast-util-find-and-replace@3.0.1: + resolution: {integrity: sha512-SG21kZHGC3XRTSUhtofZkBzZTJNM5ecCi0SK2IMKmSXR8vO3peL+kb1O0z7Zl83jKtutG4k5Wv/W7V3/YHvzPA==} + + mdast-util-from-markdown@0.8.5: + resolution: {integrity: sha512-2hkTXtYYnr+NubD/g6KGBS/0mFmBcifAsI0yIWRiRo0PjVs6SSOSOdtzbp6kSGnShDN6G5aWZpKQ2lWRy27mWQ==} + + mdast-util-from-markdown@2.0.1: + resolution: {integrity: sha512-aJEUyzZ6TzlsX2s5B4Of7lN7EQtAxvtradMMglCQDyaTFgse6CmtmdJ15ElnVRlCg1vpNyVtbem0PWzlNieZsA==} + + mdast-util-frontmatter@2.0.1: + resolution: {integrity: sha512-LRqI9+wdgC25P0URIJY9vwocIzCcksduHQ9OF2joxQoyTNVduwLAFUzjoopuRJbJAReaKrNQKAZKL3uCMugWJA==} + + mdast-util-gfm-autolink-literal@2.0.0: + resolution: {integrity: sha512-FyzMsduZZHSc3i0Px3PQcBT4WJY/X/RCtEJKuybiC6sjPqLv7h1yqAkmILZtuxMSsUyaLUWNp71+vQH2zqp5cg==} + + mdast-util-gfm-footnote@2.0.0: + resolution: {integrity: sha512-5jOT2boTSVkMnQ7LTrd6n/18kqwjmuYqo7JUPe+tRCY6O7dAuTFMtTPauYYrMPpox9hlN0uOx/FL8XvEfG9/mQ==} + + mdast-util-gfm-strikethrough@2.0.0: + resolution: {integrity: sha512-mKKb915TF+OC5ptj5bJ7WFRPdYtuHv0yTRxK2tJvi+BDqbkiG7h7u/9SI89nRAYcmap2xHQL9D+QG/6wSrTtXg==} + + mdast-util-gfm-table@2.0.0: + resolution: {integrity: sha512-78UEvebzz/rJIxLvE7ZtDd/vIQ0RHv+3Mh5DR96p7cS7HsBhYIICDBCu8csTNWNO6tBWfqXPWekRuj2FNOGOZg==} + + mdast-util-gfm-task-list-item@2.0.0: + resolution: {integrity: sha512-IrtvNvjxC1o06taBAVJznEnkiHxLFTzgonUdy8hzFVeDun0uTjxxrRGVaNFqkU1wJR3RBPEfsxmU6jDWPofrTQ==} + + mdast-util-gfm@3.0.0: + resolution: {integrity: sha512-dgQEX5Amaq+DuUqf26jJqSK9qgixgd6rYDHAv4aTBuA92cTknZlKpPfa86Z/s8Dj8xsAQpFfBmPUHWJBWqS4Bw==} + + mdast-util-phrasing@4.1.0: + resolution: {integrity: sha512-TqICwyvJJpBwvGAMZjj4J2n0X8QWp21b9l0o7eXyVJ25YNWYbJDVIyD1bZXE6WtV6RmKJVYmQAKWa0zWOABz2w==} + + mdast-util-to-markdown@2.1.0: + resolution: {integrity: sha512-SR2VnIEdVNCJbP6y7kVTJgPLifdr8WEU440fQec7qHoHOUz/oJ2jmNRqdDQ3rbiStOXb2mCDGTuwsK5OPUgYlQ==} + + mdast-util-to-string@2.0.0: + resolution: {integrity: sha512-AW4DRS3QbBayY/jJmD8437V1Gombjf8RSOUCMFBuo5iHi58AGEgVCKQ+ezHkZZDpAQS75hcBMpLqjpJTjtUL7w==} + + mdast-util-to-string@4.0.0: + resolution: {integrity: sha512-0H44vDimn51F0YwvxSJSm0eCDOJTRlmN0R1yBh4HLj9wiV1Dn0QoXGbvFAWj2hSItVTlCmBF1hqKlIyUBVFLPg==} + + mdn-data@2.0.30: + resolution: {integrity: sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==} + + mdn-data@2.1.0: + resolution: {integrity: sha512-dbAWH6A+2NGuVJlQFrTKHJc07Vqn5frnhyTOGz+7BsK7V2hHdoBcwoiyV3QVhLHYpM/zqe2OSUn5ZWbVXLBB8A==} + + mdurl@1.0.1: + resolution: {integrity: sha512-/sKlQJCBYVY9Ers9hqzKou4H6V5UWc/M59TH2dvkt+84itfnq7uFOMLpOiOS4ujvHP4etln18fmIxA5R5fll0g==} + + media-typer@0.3.0: + resolution: {integrity: sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==} + engines: {node: '>= 0.6'} + + memfs@3.5.3: + resolution: {integrity: sha512-UERzLsxzllchadvbPs5aolHh65ISpKpM+ccLbOJ8/vvpBKmAWf+la7dXFy7Mr0ySHbdHrFv5kGFCUHHe6GFEmw==} + engines: {node: '>= 4.0.0'} + + memoizee@0.4.17: + resolution: {integrity: sha512-DGqD7Hjpi/1or4F/aYAspXKNm5Yili0QDAFAY4QYvpqpgiY6+1jOfqpmByzjxbWd/T9mChbCArXAbDAsTm5oXA==} + engines: {node: '>=0.12'} + + meow@12.1.1: + resolution: {integrity: sha512-BhXM0Au22RwUneMPwSCnyhTOizdWoIEPU9sp0Aqa1PnDMR5Wv2FGXYDjuzJEIX+Eo2Rb8xuYe5jrnm5QowQFkw==} + engines: {node: '>=16.10'} + + merge-descriptors@1.0.1: + resolution: {integrity: sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==} + + merge-stream@2.0.0: + resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} + + merge2@1.4.1: + resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} + engines: {node: '>= 8'} + + methods@1.1.2: + resolution: {integrity: sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==} + engines: {node: '>= 0.6'} + + micromark-core-commonmark@2.0.1: + resolution: {integrity: sha512-CUQyKr1e///ZODyD1U3xit6zXwy1a8q2a1S1HKtIlmgvurrEpaw/Y9y6KSIbF8P59cn/NjzHyO+Q2fAyYLQrAA==} + + micromark-extension-frontmatter@2.0.0: + resolution: {integrity: sha512-C4AkuM3dA58cgZha7zVnuVxBhDsbttIMiytjgsM2XbHAB2faRVaHRle40558FBN+DJcrLNCoqG5mlrpdU4cRtg==} + + micromark-extension-gfm-autolink-literal@2.0.0: + resolution: {integrity: sha512-rTHfnpt/Q7dEAK1Y5ii0W8bhfJlVJFnJMHIPisfPK3gpVNuOP0VnRl96+YJ3RYWV/P4gFeQoGKNlT3RhuvpqAg==} + + micromark-extension-gfm-footnote@2.0.0: + resolution: {integrity: sha512-6Rzu0CYRKDv3BfLAUnZsSlzx3ak6HAoI85KTiijuKIz5UxZxbUI+pD6oHgw+6UtQuiRwnGRhzMmPRv4smcz0fg==} + + micromark-extension-gfm-strikethrough@2.0.0: + resolution: {integrity: sha512-c3BR1ClMp5fxxmwP6AoOY2fXO9U8uFMKs4ADD66ahLTNcwzSCyRVU4k7LPV5Nxo/VJiR4TdzxRQY2v3qIUceCw==} + + micromark-extension-gfm-table@2.0.0: + resolution: {integrity: sha512-PoHlhypg1ItIucOaHmKE8fbin3vTLpDOUg8KAr8gRCF1MOZI9Nquq2i/44wFvviM4WuxJzc3demT8Y3dkfvYrw==} + + micromark-extension-gfm-tagfilter@2.0.0: + resolution: {integrity: sha512-xHlTOmuCSotIA8TW1mDIM6X2O1SiX5P9IuDtqGonFhEK0qgRI4yeC6vMxEV2dgyr2TiD+2PQ10o+cOhdVAcwfg==} + + micromark-extension-gfm-task-list-item@2.0.1: + resolution: {integrity: sha512-cY5PzGcnULaN5O7T+cOzfMoHjBW7j+T9D2sucA5d/KbsBTPcYdebm9zUd9zzdgJGCwahV+/W78Z3nbulBYVbTw==} + + micromark-extension-gfm@3.0.0: + resolution: {integrity: sha512-vsKArQsicm7t0z2GugkCKtZehqUm31oeGBV/KVSorWSy8ZlNAv7ytjFhvaryUiCUJYqs+NoE6AFhpQvBTM6Q4w==} + + micromark-factory-destination@2.0.0: + resolution: {integrity: sha512-j9DGrQLm/Uhl2tCzcbLhy5kXsgkHUrjJHg4fFAeoMRwJmJerT9aw4FEhIbZStWN8A3qMwOp1uzHr4UL8AInxtA==} + + micromark-factory-label@2.0.0: + resolution: {integrity: sha512-RR3i96ohZGde//4WSe/dJsxOX6vxIg9TimLAS3i4EhBAFx8Sm5SmqVfR8E87DPSR31nEAjZfbt91OMZWcNgdZw==} + + micromark-factory-space@2.0.0: + resolution: {integrity: sha512-TKr+LIDX2pkBJXFLzpyPyljzYK3MtmllMUMODTQJIUfDGncESaqB90db9IAUcz4AZAJFdd8U9zOp9ty1458rxg==} + + micromark-factory-title@2.0.0: + resolution: {integrity: sha512-jY8CSxmpWLOxS+t8W+FG3Xigc0RDQA9bKMY/EwILvsesiRniiVMejYTE4wumNc2f4UbAa4WsHqe3J1QS1sli+A==} + + micromark-factory-whitespace@2.0.0: + resolution: {integrity: sha512-28kbwaBjc5yAI1XadbdPYHX/eDnqaUFVikLwrO7FDnKG7lpgxnvk/XGRhX/PN0mOZ+dBSZ+LgunHS+6tYQAzhA==} + + micromark-util-character@2.1.0: + resolution: {integrity: sha512-KvOVV+X1yLBfs9dCBSopq/+G1PcgT3lAK07mC4BzXi5E7ahzMAF8oIupDDJ6mievI6F+lAATkbQQlQixJfT3aQ==} + + micromark-util-chunked@2.0.0: + resolution: {integrity: sha512-anK8SWmNphkXdaKgz5hJvGa7l00qmcaUQoMYsBwDlSKFKjc6gjGXPDw3FNL3Nbwq5L8gE+RCbGqTw49FK5Qyvg==} + + micromark-util-classify-character@2.0.0: + resolution: {integrity: sha512-S0ze2R9GH+fu41FA7pbSqNWObo/kzwf8rN/+IGlW/4tC6oACOs8B++bh+i9bVyNnwCcuksbFwsBme5OCKXCwIw==} + + micromark-util-combine-extensions@2.0.0: + resolution: {integrity: sha512-vZZio48k7ON0fVS3CUgFatWHoKbbLTK/rT7pzpJ4Bjp5JjkZeasRfrS9wsBdDJK2cJLHMckXZdzPSSr1B8a4oQ==} + + micromark-util-decode-numeric-character-reference@2.0.1: + resolution: {integrity: sha512-bmkNc7z8Wn6kgjZmVHOX3SowGmVdhYS7yBpMnuMnPzDq/6xwVA604DuOXMZTO1lvq01g+Adfa0pE2UKGlxL1XQ==} + + micromark-util-decode-string@2.0.0: + resolution: {integrity: sha512-r4Sc6leeUTn3P6gk20aFMj2ntPwn6qpDZqWvYmAG6NgvFTIlj4WtrAudLi65qYoaGdXYViXYw2pkmn7QnIFasA==} + + micromark-util-encode@2.0.0: + resolution: {integrity: sha512-pS+ROfCXAGLWCOc8egcBvT0kf27GoWMqtdarNfDcjb6YLuV5cM3ioG45Ys2qOVqeqSbjaKg72vU+Wby3eddPsA==} + + micromark-util-html-tag-name@2.0.0: + resolution: {integrity: sha512-xNn4Pqkj2puRhKdKTm8t1YHC/BAjx6CEwRFXntTaRf/x16aqka6ouVoutm+QdkISTlT7e2zU7U4ZdlDLJd2Mcw==} + + micromark-util-normalize-identifier@2.0.0: + resolution: {integrity: sha512-2xhYT0sfo85FMrUPtHcPo2rrp1lwbDEEzpx7jiH2xXJLqBuy4H0GgXk5ToU8IEwoROtXuL8ND0ttVa4rNqYK3w==} + + micromark-util-resolve-all@2.0.0: + resolution: {integrity: sha512-6KU6qO7DZ7GJkaCgwBNtplXCvGkJToU86ybBAUdavvgsCiG8lSSvYxr9MhwmQ+udpzywHsl4RpGJsYWG1pDOcA==} + + micromark-util-sanitize-uri@2.0.0: + resolution: {integrity: sha512-WhYv5UEcZrbAtlsnPuChHUAsu/iBPOVaEVsntLBIdpibO0ddy8OzavZz3iL2xVvBZOpolujSliP65Kq0/7KIYw==} + + micromark-util-subtokenize@2.0.1: + resolution: {integrity: sha512-jZNtiFl/1aY73yS3UGQkutD0UbhTt68qnRpw2Pifmz5wV9h8gOVsN70v+Lq/f1rKaU/W8pxRe8y8Q9FX1AOe1Q==} + + micromark-util-symbol@2.0.0: + resolution: {integrity: sha512-8JZt9ElZ5kyTnO94muPxIGS8oyElRJaiJO8EzV6ZSyGQ1Is8xwl4Q45qU5UOg+bGH4AikWziz0iN4sFLWs8PGw==} + + micromark-util-types@2.0.0: + resolution: {integrity: sha512-oNh6S2WMHWRZrmutsRmDDfkzKtxF+bc2VxLC9dvtrDIRFln627VsFP6fLMgTryGDljgLPjkrzQSDcPrjPyDJ5w==} + + micromark@2.11.4: + resolution: {integrity: sha512-+WoovN/ppKolQOFIAajxi7Lu9kInbPxFuTBVEavFcL8eAfVstoc5MocPmqBeAdBOJV00uaVjegzH4+MA0DN/uA==} + + micromark@4.0.0: + resolution: {integrity: sha512-o/sd0nMof8kYff+TqcDx3VSrgBTcZpSvYcAHIfHhv5VAuNmisCxjhx6YmxS8PFEpb9z5WKWKPdzf0jM23ro3RQ==} + + micromatch@4.0.7: + resolution: {integrity: sha512-LPP/3KorzCwBxfeUuZmaR6bG2kdeHSbe0P2tY3FLRU4vYrjYz5hI4QZwV0njUx3jeuKe67YukQ1LSPZBKDqO/Q==} + engines: {node: '>=8.6'} + + mime-db@1.52.0: + resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==} + engines: {node: '>= 0.6'} + + mime-types@2.1.35: + resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==} + engines: {node: '>= 0.6'} + + mime@1.6.0: + resolution: {integrity: sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==} + engines: {node: '>=4'} + hasBin: true + + mimic-fn@2.1.0: + resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==} + engines: {node: '>=6'} + + mimic-fn@4.0.0: + resolution: {integrity: sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==} + engines: {node: '>=12'} + + mimic-response@1.0.1: + resolution: {integrity: sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==} + engines: {node: '>=4'} + + mimic-response@3.1.0: + resolution: {integrity: sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==} + engines: {node: '>=10'} + + min-indent@1.0.1: + resolution: {integrity: sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==} + engines: {node: '>=4'} + + minimalistic-assert@1.0.1: + resolution: {integrity: sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==} + + minimatch@3.1.2: + resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} + + minimatch@5.1.6: + resolution: {integrity: sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==} + engines: {node: '>=10'} + + minimatch@9.0.4: + resolution: {integrity: sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw==} + engines: {node: '>=16 || 14 >=14.17'} + + minimist@1.2.8: + resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} + + minipass@7.1.2: + resolution: {integrity: sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==} + engines: {node: '>=16 || 14 >=14.17'} + + minisearch@6.3.0: + resolution: {integrity: sha512-ihFnidEeU8iXzcVHy74dhkxh/dn8Dc08ERl0xwoMMGqp4+LvRSCgicb+zGqWthVokQKvCSxITlh3P08OzdTYCQ==} + + mitt@3.0.1: + resolution: {integrity: sha512-vKivATfr97l2/QBCYAkXYDbrIWPM2IIKEl7YPhjCvKlG3kE2gm+uBo6nEXK3M5/Ffh/FLpKExzOQ3JJoJGFKBw==} + + mkdirp@0.5.6: + resolution: {integrity: sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==} + hasBin: true + + mkdirp@1.0.4: + resolution: {integrity: sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==} + engines: {node: '>=10'} + hasBin: true + + mlly@1.7.1: + resolution: {integrity: sha512-rrVRZRELyQzrIUAVMHxP97kv+G786pHmOKzuFII8zDYahFBS7qnHh2AlYSl1GAHhaMPCz6/oHjVMcfFYgFYHgA==} + + mrmime@2.0.0: + resolution: {integrity: sha512-eu38+hdgojoyq63s+yTpN4XMBdt5l8HhMhc4VKLO9KM5caLIBvUm4thi7fFaxyTmCKeNnXZ5pAlBwCUnhA09uw==} + engines: {node: '>=10'} + + ms@2.0.0: + resolution: {integrity: sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==} + + ms@2.1.2: + resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} + + ms@2.1.3: + resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} + + multicast-dns@7.2.5: + resolution: {integrity: sha512-2eznPJP8z2BFLX50tf0LuODrpINqP1RVIm/CObbTcBRITQgmC/TjcREF1NeTBzIcR5XO/ukWo+YHOjBbFwIupg==} + hasBin: true + + mz@2.7.0: + resolution: {integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==} + + nanoid@3.3.7: + resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==} + engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} + hasBin: true + + natural-compare@1.4.0: + resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} + + negotiator@0.6.3: + resolution: {integrity: sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==} + engines: {node: '>= 0.6'} + + neo-async@2.6.2: + resolution: {integrity: sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==} + + nested-error-stacks@2.1.1: + resolution: {integrity: sha512-9iN1ka/9zmX1ZvLV9ewJYEk9h7RyRRtqdK0woXcqohu8EWIerfPUjYJPg0ULy0UqP7cslmdGc8xKDJcojlKiaw==} + + next-tick@1.1.0: + resolution: {integrity: sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ==} + + nice-try@1.0.5: + resolution: {integrity: sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==} + + node-cleanup@2.1.2: + resolution: {integrity: sha512-qN8v/s2PAJwGUtr1/hYTpNKlD6Y9rc4p8KSmJXyGdYGZsDGKXrGThikLFP9OCHFeLeEpQzPwiAtdIvBLqm//Hw==} + + node-domexception@1.0.0: + resolution: {integrity: sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==} + engines: {node: '>=10.5.0'} + + node-fetch-native@1.6.4: + resolution: {integrity: sha512-IhOigYzAKHd244OC0JIMIUrjzctirCmPkaIfhDeGcEETWof5zKYUW7e7MYvChGWh/4CJeXEgsRyGzuF334rOOQ==} + + node-fetch@2.6.7: + resolution: {integrity: sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==} + engines: {node: 4.x || >=6.0.0} + peerDependencies: + encoding: ^0.1.0 + peerDependenciesMeta: + encoding: + optional: true + + node-fetch@3.3.1: + resolution: {integrity: sha512-cRVc/kyto/7E5shrWca1Wsea4y6tL9iYJE5FBCius3JQfb/4P4I295PfhgbJQBLTx6lATE4z+wK0rPM4VS2uow==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + node-forge@1.3.1: + resolution: {integrity: sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==} + engines: {node: '>= 6.13.0'} + + node-int64@0.4.0: + resolution: {integrity: sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==} + + node-preload@0.2.1: + resolution: {integrity: sha512-RM5oyBy45cLEoHqCeh+MNuFAxO0vTFBLskvQbOKnEE7YTTSN4tbN8QWDIPQ6L+WvKsB/qLEGpYe2ZZ9d4W9OIQ==} + engines: {node: '>=8'} + + node-releases@2.0.14: + resolution: {integrity: sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==} + + nomnom@1.5.2: + resolution: {integrity: sha512-fiVbT7BqxiQqjlR9U3FDGOSERFCKoXVCdxV2FwZuNN7/cmJ42iQx35nUFOAFDcyvemu9Adp+IlsCGlKQYLmBKw==} + deprecated: Package no longer supported. Contact support@npmjs.com for more info. + + normalize-package-data@2.5.0: + resolution: {integrity: sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==} + + normalize-path@3.0.0: + resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} + engines: {node: '>=0.10.0'} + + normalize-url@6.1.0: + resolution: {integrity: sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==} + engines: {node: '>=10'} + + npm-run-path@2.0.2: + resolution: {integrity: sha512-lJxZYlT4DW/bRUtFh1MQIWqmLwQfAxnqWG4HhEdjMlkrJYnJn0Jrr2u3mgxqaWsdiBc76TYkTG/mhrnYTuzfHw==} + engines: {node: '>=4'} + + npm-run-path@4.0.1: + resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==} + engines: {node: '>=8'} + + npm-run-path@5.3.0: + resolution: {integrity: sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + nwsapi@2.2.10: + resolution: {integrity: sha512-QK0sRs7MKv0tKe1+5uZIQk/C8XGza4DAnztJG8iD+TpJIORARrCxczA738awHrZoHeTjSSoHqao2teO0dC/gFQ==} + + nyc@15.1.0: + resolution: {integrity: sha512-jMW04n9SxKdKi1ZMGhvUTHBN0EICCRkHemEoE5jm6mTYcqcdas0ATzgUgejlQUHMvpnOZqGB5Xxsv9KxJW1j8A==} + engines: {node: '>=8.9'} + hasBin: true + + object-assign@4.1.1: + resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} + engines: {node: '>=0.10.0'} + + object-hash@3.0.0: + resolution: {integrity: sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==} + engines: {node: '>= 6'} + + object-inspect@1.13.1: + resolution: {integrity: sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==} + + object-keys@1.1.1: + resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==} + engines: {node: '>= 0.4'} + + object.assign@4.1.5: + resolution: {integrity: sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ==} + engines: {node: '>= 0.4'} + + obuf@1.1.2: + resolution: {integrity: sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==} + + ofetch@1.3.4: + resolution: {integrity: sha512-KLIET85ik3vhEfS+3fDlc/BAZiAp+43QEC/yCo5zkNoY2YaKvNkOaFr/6wCFgFH1kuYQM5pMNi0Tg8koiIemtw==} + + omggif@1.0.10: + resolution: {integrity: sha512-LMJTtvgc/nugXj0Vcrrs68Mn2D1r0zf630VNtqtpI1FEO7e+O9FP4gqs9AcnBaSEeoHIPm28u6qgPR0oyEpGSw==} + + on-exit-leak-free@2.1.2: + resolution: {integrity: sha512-0eJJY6hXLGf1udHwfNftBqH+g73EU4B504nZeKpz1sYRKafAghwxEJunB2O7rDZkL4PGfsMVnTXZ2EjibbqcsA==} + engines: {node: '>=14.0.0'} + + on-finished@2.4.1: + resolution: {integrity: sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==} + engines: {node: '>= 0.8'} + + on-headers@1.0.2: + resolution: {integrity: sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==} + engines: {node: '>= 0.8'} + + once@1.4.0: + resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} + + onetime@5.1.2: + resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==} + engines: {node: '>=6'} + + onetime@6.0.0: + resolution: {integrity: sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==} + engines: {node: '>=12'} + + open@8.4.2: + resolution: {integrity: sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==} + engines: {node: '>=12'} + + optionator@0.9.4: + resolution: {integrity: sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==} + engines: {node: '>= 0.8.0'} + + ospath@1.2.2: + resolution: {integrity: sha512-o6E5qJV5zkAbIDNhGSIlyOhScKXgQrSRMilfph0clDfM0nEnBOlKlH4sWDmG95BW/CvwNz0vmm7dJVtU2KlMiA==} + + p-cancelable@2.1.1: + resolution: {integrity: sha512-BZOr3nRQHOntUjTrH8+Lh54smKHoHyur8We1V8DSMVrl5A2malOOwuJRnKRDjSnkoeBh4at6BwEnb5I7Jl31wg==} + engines: {node: '>=8'} + + p-event@5.0.1: + resolution: {integrity: sha512-dd589iCQ7m1L0bmC5NLlVYfy3TbBEsMUfWx9PyAgPeIcFZ/E2yaTZ4Rz4MiBmmJShviiftHVXOqfnfzJ6kyMrQ==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + p-filter@3.0.0: + resolution: {integrity: sha512-QtoWLjXAW++uTX67HZQz1dbTpqBfiidsB6VtQUC9iR85S120+s0T5sO6s+B5MLzFcZkrEd/DGMmCjR+f2Qpxwg==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + p-finally@1.0.0: + resolution: {integrity: sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow==} + engines: {node: '>=4'} + + p-iteration@1.1.8: + resolution: {integrity: sha512-IMFBSDIYcPNnW7uWYGrBqmvTiq7W0uB0fJn6shQZs7dlF3OvrHOre+JT9ikSZ7gZS3vWqclVgoQSvToJrns7uQ==} + engines: {node: '>=8.0.0'} + + p-limit@2.3.0: + resolution: {integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==} + engines: {node: '>=6'} + + p-limit@3.1.0: + resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} + engines: {node: '>=10'} + + p-limit@4.0.0: + resolution: {integrity: sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + p-limit@5.0.0: + resolution: {integrity: sha512-/Eaoq+QyLSiXQ4lyYV23f14mZRQcXnxfHrN0vCai+ak9G0pp9iEQukIIZq5NccEvwRB8PUnZT0KsOoDCINS1qQ==} + engines: {node: '>=18'} + + p-locate@3.0.0: + resolution: {integrity: sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==} + engines: {node: '>=6'} + + p-locate@4.1.0: + resolution: {integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==} + engines: {node: '>=8'} + + p-locate@5.0.0: + resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==} + engines: {node: '>=10'} + + p-locate@6.0.0: + resolution: {integrity: sha512-wPrq66Llhl7/4AGC6I+cqxT07LhXvWL08LNXz1fENOw0Ap4sRZZ/gZpTTJ5jpurzzzfS2W/Ge9BY3LgLjCShcw==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + p-map@3.0.0: + resolution: {integrity: sha512-d3qXVTF/s+W+CdJ5A29wywV2n8CQQYahlgz2bFiA+4eVNJbHJodPZ+/gXwPGh0bOqA+j8S+6+ckmvLGPk1QpxQ==} + engines: {node: '>=8'} + + p-map@4.0.0: + resolution: {integrity: sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==} + engines: {node: '>=10'} + + p-map@5.5.0: + resolution: {integrity: sha512-VFqfGDHlx87K66yZrNdI4YGtD70IRyd+zSvgks6mzHPRNkoKy+9EKP4SFC77/vTTQYmRmti7dvqC+m5jBrBAcg==} + engines: {node: '>=12'} + + p-map@6.0.0: + resolution: {integrity: sha512-T8BatKGY+k5rU+Q/GTYgrEf2r4xRMevAN5mtXc2aPc4rS1j3s+vWTaO2Wag94neXuCAUAs8cxBL9EeB5EA6diw==} + engines: {node: '>=16'} + + p-retry@4.6.2: + resolution: {integrity: sha512-312Id396EbJdvRONlngUx0NydfrIQ5lsYu0znKVUzVvArzEIt08V1qhtyESbGVd1FGX7UKtiFp5uwKZdM8wIuQ==} + engines: {node: '>=8'} + + p-timeout@5.1.0: + resolution: {integrity: sha512-auFDyzzzGZZZdHz3BtET9VEz0SE/uMEAx7uWfGPucfzEwwe/xH0iVeZibQmANYE/hp9T2+UUZT5m+BKyrDp3Ew==} + engines: {node: '>=12'} + + p-try@2.2.0: + resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==} + engines: {node: '>=6'} + + package-hash@4.0.0: + resolution: {integrity: sha512-whdkPIooSu/bASggZ96BWVvZTRMOFxnyUG5PnTSGKoJE2gd5mbVNmR2Nj20QFzxYYgAXpoqC+AiXzl+UMRh7zQ==} + engines: {node: '>=8'} + + pako@1.0.11: + resolution: {integrity: sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==} + + parent-module@1.0.1: + resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} + engines: {node: '>=6'} + + parent-module@2.0.0: + resolution: {integrity: sha512-uo0Z9JJeWzv8BG+tRcapBKNJ0dro9cLyczGzulS6EfeyAdeC9sbojtW6XwvYxJkEne9En+J2XEl4zyglVeIwFg==} + engines: {node: '>=8'} + + parse-entities@2.0.0: + resolution: {integrity: sha512-kkywGpCcRYhqQIchaWqZ875wzpS/bMKhz5HnN3p7wveJTkTtyAB/AlnS0f8DFSqYW1T82t6yEAkEcB+A1I3MbQ==} + + parse-json@5.2.0: + resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==} + engines: {node: '>=8'} + + parse5@7.1.2: + resolution: {integrity: sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==} + + parseurl@1.3.3: + resolution: {integrity: sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==} + engines: {node: '>= 0.8'} + + path-browserify@1.0.1: + resolution: {integrity: sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==} + + path-data-parser@0.1.0: + resolution: {integrity: sha512-NOnmBpt5Y2RWbuv0LMzsayp3lVylAHLPUTut412ZA3l+C4uw4ZVkQbjShYCQ8TCpUMdPapr4YjUqLYD6v68j+w==} + + path-exists@3.0.0: + resolution: {integrity: sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==} + engines: {node: '>=4'} + + path-exists@4.0.0: + resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} + engines: {node: '>=8'} + + path-exists@5.0.0: + resolution: {integrity: sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + path-is-absolute@1.0.1: + resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} + engines: {node: '>=0.10.0'} + + path-key@2.0.1: + resolution: {integrity: sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==} + engines: {node: '>=4'} + + path-key@3.1.1: + resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} + engines: {node: '>=8'} + + path-key@4.0.0: + resolution: {integrity: sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==} + engines: {node: '>=12'} + + path-parse@1.0.7: + resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} + + path-scurry@1.11.1: + resolution: {integrity: sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==} + engines: {node: '>=16 || 14 >=14.18'} + + path-to-regexp@0.1.7: + resolution: {integrity: sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==} + + path-type@4.0.0: + resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} + engines: {node: '>=8'} + + path-type@5.0.0: + resolution: {integrity: sha512-5HviZNaZcfqP95rwpv+1HDgUamezbqdSYTyzjTvwtJSnIH+3vnbmWsItli8OFEndS984VT55M3jduxZbX351gg==} + engines: {node: '>=12'} + + pathe@1.1.2: + resolution: {integrity: sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==} + + pathval@1.1.1: + resolution: {integrity: sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==} + + pause-stream@0.0.11: + resolution: {integrity: sha512-e3FBlXLmN/D1S+zHzanP4E/4Z60oFAa3O051qt1pxa7DEJWKAyil6upYVXCWadEnuoqa4Pkc9oUx9zsxYeRv8A==} + + pend@1.2.0: + resolution: {integrity: sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==} + + perfect-debounce@1.0.0: + resolution: {integrity: sha512-xCy9V055GLEqoFaHoC1SoLIaLmWctgCUaBaWxDZ7/Zx4CTyX7cJQLJOok/orfjZAh9kEYpjJa4d0KcJmCbctZA==} + + performance-now@2.1.0: + resolution: {integrity: sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==} + + picocolors@1.0.1: + resolution: {integrity: sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew==} + + picomatch@2.3.1: + resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} + engines: {node: '>=8.6'} + + pidtree@0.6.0: + resolution: {integrity: sha512-eG2dWTVw5bzqGRztnHExczNxt5VGsE6OwTeCG3fdUf9KBsZzO3R5OIIIzWR+iZA0NtZ+RDVdaoE2dK1cn6jH4g==} + engines: {node: '>=0.10'} + hasBin: true + + pify@2.3.0: + resolution: {integrity: sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==} + engines: {node: '>=0.10.0'} + + pino-abstract-transport@1.2.0: + resolution: {integrity: sha512-Guhh8EZfPCfH+PMXAb6rKOjGQEoy0xlAIn+irODG5kgfYV+BQ0rGYYWTIel3P5mmyXqkYkPmdIkywsn6QKUR1Q==} + + pino-std-serializers@3.2.0: + resolution: {integrity: sha512-EqX4pwDPrt3MuOAAUBMU0Tk5kR/YcCM5fNPEzgCO2zJ5HfX0vbiH9HbJglnyeQsN96Kznae6MWD47pZB5avTrg==} + + pino-std-serializers@6.2.2: + resolution: {integrity: sha512-cHjPPsE+vhj/tnhCy/wiMh3M3z3h/j15zHQX+S9GkTBgqJuTuJzYJ4gUyACLhDaJ7kk9ba9iRDmbH2tJU03OiA==} + + pino@6.14.0: + resolution: {integrity: sha512-iuhEDel3Z3hF9Jfe44DPXR8l07bhjuFY3GMHIXbjnY9XcafbyDDwl2sN2vw2GjMPf5Nkoe+OFao7ffn9SXaKDg==} + hasBin: true + + pino@8.21.0: + resolution: {integrity: sha512-ip4qdzjkAyDDZklUaZkcRFb2iA118H9SgRh8yzTkSQK8HilsOJF7rSY8HoW5+I0M46AZgX/pxbprf2vvzQCE0Q==} + hasBin: true + + pirates@4.0.6: + resolution: {integrity: sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==} + engines: {node: '>= 6'} + + pixelmatch@5.3.0: + resolution: {integrity: sha512-o8mkY4E/+LNUf6LzX96ht6k6CEDi65k9G2rjMtBe9Oo+VPKSvl+0GKHuH/AlG+GA5LPG/i5hrekkxUc3s2HU+Q==} + hasBin: true + + pkg-dir@3.0.0: + resolution: {integrity: sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==} + engines: {node: '>=6'} + + pkg-dir@4.2.0: + resolution: {integrity: sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==} + engines: {node: '>=8'} + + pkg-dir@7.0.0: + resolution: {integrity: sha512-Ie9z/WINcxxLp27BKOCHGde4ITq9UklYKDzVo1nhk5sqGEXU3FpkwP5GM2voTGJkGd9B3Otl+Q4uwSOeSUtOBA==} + engines: {node: '>=14.16'} + + pkg-types@1.1.1: + resolution: {integrity: sha512-ko14TjmDuQJ14zsotODv7dBlwxKhUKQEhuhmbqo1uCi9BB0Z2alo/wAXg6q1dTR5TyuqYyWhjtfe/Tsh+X28jQ==} + + plist@3.1.0: + resolution: {integrity: sha512-uysumyrvkUX0rX/dEVqt8gC3sTBzd4zoWfLeS29nb53imdaXVvLINYXTI2GNqzaMuvacNx4uJQ8+b3zXR0pkgQ==} + engines: {node: '>=10.4.0'} + + pluralize@8.0.0: + resolution: {integrity: sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA==} + engines: {node: '>=4'} + + png-async@0.9.4: + resolution: {integrity: sha512-B//AXX9TkneKfgtOpT1mdUnnhk2BImGD+a98vImsMU8uo1dBeHyW/kM2erWZ/CsYteTPU/xKG+t6T62heHkC3A==} + + pngjs@3.4.0: + resolution: {integrity: sha512-NCrCHhWmnQklfH4MtJMRjZ2a8c80qXeMlQMv2uVp9ISJMTt562SbGd6n2oq0PaPgKm7Z6pL9E2UlLIhC+SHL3w==} + engines: {node: '>=4.0.0'} + + pngjs@6.0.0: + resolution: {integrity: sha512-TRzzuFRRmEoSW/p1KVAmiOgPco2Irlah+bGFCeNfJXxxYGwSw7YwAOAcd7X28K/m5bjBWKsC29KyoMfHbypayg==} + engines: {node: '>=12.13.0'} + + pnpm@8.15.8: + resolution: {integrity: sha512-0aAp4aRHrZC8ls1YsPrUhtKZPVMYVjlve6vy2D6xgju4PFo9D8GPZ1stEDIdSesWH+zjb+gTSqWCPs0hX+7Tkg==} + engines: {node: '>=16.14'} + hasBin: true + + points-on-curve@0.2.0: + resolution: {integrity: sha512-0mYKnYYe9ZcqMCWhUjItv/oHjvgEsfKvnUTg8sAtnHr3GVy7rGkXCb6d5cSyqrWqL4k81b9CPg3urd+T7aop3A==} + + points-on-path@0.2.1: + resolution: {integrity: sha512-25ClnWWuw7JbWZcgqY/gJ4FQWadKxGWk+3kR/7kD0tCaDtPPMj7oHu2ToLaVhfpnHrZzYby2w6tUA0eOIuUg8g==} + + possible-typed-array-names@1.0.0: + resolution: {integrity: sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q==} + engines: {node: '>= 0.4'} + + postcss-import@15.1.0: + resolution: {integrity: sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==} + engines: {node: '>=14.0.0'} + peerDependencies: + postcss: ^8.0.0 + + postcss-js@4.0.1: + resolution: {integrity: sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==} + engines: {node: ^12 || ^14 || >= 16} + peerDependencies: + postcss: ^8.4.21 + + postcss-load-config@4.0.2: + resolution: {integrity: sha512-bSVhyJGL00wMVoPUzAVAnbEoWyqRxkjv64tUl427SKnPrENtq6hJwUojroMz2VB+Q1edmi4IfrAPpami5VVgMQ==} + engines: {node: '>= 14'} + peerDependencies: + postcss: '>=8.0.9' + ts-node: '>=9.0.0' + peerDependenciesMeta: + postcss: + optional: true + ts-node: + optional: true + + postcss-nested@6.0.1: + resolution: {integrity: sha512-mEp4xPMi5bSWiMbsgoPfcP74lsWLHkQbZc3sY+jWYd65CUwXrUaTp0fmNpa01ZcETKlIgUdFN/MpS2xZtqL9dQ==} + engines: {node: '>=12.0'} + peerDependencies: + postcss: ^8.2.14 + + postcss-selector-parser@6.1.0: + resolution: {integrity: sha512-UMz42UD0UY0EApS0ZL9o1XnLhSTtvvvLe5Dc2H2O56fvRZi+KulDyf5ctDhhtYJBGKStV2FL1fy6253cmLgqVQ==} + engines: {node: '>=4'} + + postcss-value-parser@4.2.0: + resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==} + + postcss@8.4.38: + resolution: {integrity: sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A==} + engines: {node: ^10 || ^12 || >=14} + + preact@10.22.0: + resolution: {integrity: sha512-RRurnSjJPj4rp5K6XoP45Ui33ncb7e4H7WiOHVpjbkvqvA3U+N8Z6Qbo0AE6leGYBV66n8EhEaFixvIu3SkxFw==} + + prelude-ls@1.2.1: + resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} + engines: {node: '>= 0.8.0'} + + prettier-plugin-jsdoc@1.3.0: + resolution: {integrity: sha512-cQm8xIa0fN9ieJFMXACQd6JPycl+8ouOijAqUqu44EF/s4fXL3Wi9sKXuEaodsEWgCN42Xby/bNhqgM1iWx4uw==} + engines: {node: '>=14.13.1 || >=16.0.0'} + peerDependencies: + prettier: ^3.0.0 + + prettier@2.8.8: + resolution: {integrity: sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==} + engines: {node: '>=10.13.0'} + hasBin: true + + prettier@3.3.2: + resolution: {integrity: sha512-rAVeHYMcv8ATV5d508CFdn+8/pHPpXeIid1DdrPwXnaAdH7cqjVbpJaT5eq4yRAFU/lsbwYwSF/n5iNrdJHPQA==} + engines: {node: '>=14'} + hasBin: true + + pretty-bytes@5.6.0: + resolution: {integrity: sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg==} + engines: {node: '>=6'} + + pretty-bytes@6.1.1: + resolution: {integrity: sha512-mQUvGU6aUFQ+rNvTIAcZuWGRT9a6f6Yrg9bHs4ImKF+HZCEK+plBvnAZYSIQztknZF2qnzNtr6F8s0+IuptdlQ==} + engines: {node: ^14.13.1 || >=16.0.0} + + pretty-format@29.7.0: + resolution: {integrity: sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + process-nextick-args@2.0.1: + resolution: {integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==} + + process-on-spawn@1.0.0: + resolution: {integrity: sha512-1WsPDsUSMmZH5LeMLegqkPDrsGgsWwk1Exipy2hvB0o/F0ASzbpIctSCcZIK1ykJvtTJULEH+20WOFjMvGnCTg==} + engines: {node: '>=8'} + + process-warning@1.0.0: + resolution: {integrity: sha512-du4wfLyj4yCZq1VupnVSZmRsPJsNuxoDQFdCFHLaYiEbFBD7QE0a+I4D7hOxrVnh78QE/YipFAj9lXHiXocV+Q==} + + process-warning@3.0.0: + resolution: {integrity: sha512-mqn0kFRl0EoqhnL0GQ0veqFHyIN1yig9RHh/InzORTUiZHFRAur+aMtRkELNwGs9aNwKS6tg/An4NYBPGwvtzQ==} + + process@0.11.10: + resolution: {integrity: sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==} + engines: {node: '>= 0.6.0'} + + prompts@2.4.2: + resolution: {integrity: sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==} + engines: {node: '>= 6'} + + proxy-addr@2.0.7: + resolution: {integrity: sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==} + engines: {node: '>= 0.10'} + + proxy-from-env@1.0.0: + resolution: {integrity: sha512-F2JHgJQ1iqwnHDcQjVBsq3n/uoaFL+iPW/eAeL7kVxy/2RrWaN4WroKjjvbsoRtv0ftelNyC01bjRhn/bhcf4A==} + + proxy-from-env@1.1.0: + resolution: {integrity: sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==} + + ps-tree@1.2.0: + resolution: {integrity: sha512-0VnamPPYHl4uaU/nSFeZZpR21QAWRz+sRv4iW9+v/GS/J5U5iZB5BNN6J0RMoOvdx2gWM2+ZFMIm58q24e4UYA==} + engines: {node: '>= 0.10'} + hasBin: true + + psl@1.9.0: + resolution: {integrity: sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==} + + pump@3.0.0: + resolution: {integrity: sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==} + + punycode@2.3.1: + resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} + engines: {node: '>=6'} + + pure-rand@6.1.0: + resolution: {integrity: sha512-bVWawvoZoBYpp6yIoQtQXHZjmz35RSVHnUOTefl8Vcjr8snTPY1wnpSPMWekcFwbxI6gtmT7rSYPFvz71ldiOA==} + + qs@6.10.4: + resolution: {integrity: sha512-OQiU+C+Ds5qiH91qh/mg0w+8nwQuLjM4F4M/PbmhDOoYehPh+Fb0bDjtR1sOvy7YKxvj28Y/M0PhP5uVX0kB+g==} + engines: {node: '>=0.6'} + + qs@6.11.0: + resolution: {integrity: sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==} + engines: {node: '>=0.6'} + + querystringify@2.2.0: + resolution: {integrity: sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==} + + queue-microtask@1.2.3: + resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} + + quick-format-unescaped@4.0.4: + resolution: {integrity: sha512-tYC1Q1hgyRuHgloV/YXs2w15unPVh8qfu/qCTfhTYamaw7fyhumKa2yGpdSo87vY32rIclj+4fWYQXUMs9EHvg==} + + quick-lru@5.1.1: + resolution: {integrity: sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==} + engines: {node: '>=10'} + + railroad-diagrams@1.0.0: + resolution: {integrity: sha512-cz93DjNeLY0idrCNOH6PviZGRN9GJhsdm9hpn1YCS879fj4W+x5IFJhhkRZcwVgMmFF7R82UA/7Oh+R8lLZg6A==} + + ramda@0.28.0: + resolution: {integrity: sha512-9QnLuG/kPVgWvMQ4aODhsBUFKOUmnbUnsSXACv+NCQZcHbeb+v8Lodp8OVxtRULN1/xOyYLLaL6npE6dMq5QTA==} + + randombytes@2.1.0: + resolution: {integrity: sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==} + + range-parser@1.2.1: + resolution: {integrity: sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==} + engines: {node: '>= 0.6'} + + raw-body@2.5.2: + resolution: {integrity: sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==} + engines: {node: '>= 0.8'} + + react-is@18.3.1: + resolution: {integrity: sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==} + + read-cache@1.0.0: + resolution: {integrity: sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==} + + read-pkg-up@7.0.1: + resolution: {integrity: sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==} + engines: {node: '>=8'} + + read-pkg@5.2.0: + resolution: {integrity: sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==} + engines: {node: '>=8'} + + readable-stream@2.3.8: + resolution: {integrity: sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==} + + readable-stream@3.6.2: + resolution: {integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==} + engines: {node: '>= 6'} + + readable-stream@4.5.2: + resolution: {integrity: sha512-yjavECdqeZ3GLXNgRXgeQEdz9fvDDkNKyHnbHRFtOr7/LcfgBcmct7t/ET+HaCTqfh06OzoAxrkN/IfjJBVe+g==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + + readdirp@3.6.0: + resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} + engines: {node: '>=8.10.0'} + + real-require@0.2.0: + resolution: {integrity: sha512-57frrGM/OCTLqLOAh0mhVA9VBMHd+9U7Zb2THMGdBUoZVOtGbJzjxsYGDJ3A9AYYCP4hn6y1TVbaOfzWtm5GFg==} + engines: {node: '>= 12.13.0'} + + rechoir@0.7.1: + resolution: {integrity: sha512-/njmZ8s1wVeR6pjTZ+0nCnv8SpZNRMT2D1RLOJQESlYFDBvwpTA4KWJpZ+sBJ4+vhjILRcK7JIFdGCdxEAAitg==} + engines: {node: '>= 0.10'} + + regenerate-unicode-properties@10.1.1: + resolution: {integrity: sha512-X007RyZLsCJVVrjgEFVpLUTZwyOZk3oiL75ZcuYjlIWd6rNJtOjkBwQc5AsRrpbKVkxN6sklw/k/9m2jJYOf8Q==} + engines: {node: '>=4'} + + regenerate@1.4.2: + resolution: {integrity: sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==} + + regenerator-runtime@0.14.1: + resolution: {integrity: sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==} + + regenerator-transform@0.15.2: + resolution: {integrity: sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg==} + + regexp-tree@0.1.27: + resolution: {integrity: sha512-iETxpjK6YoRWJG5o6hXLwvjYAoW+FEZn9os0PD/b6AP6xQwsa/Y7lCVgIixBbUPMfhu+i2LtdeAqVTgGlQarfA==} + hasBin: true + + regexp.prototype.flags@1.5.2: + resolution: {integrity: sha512-NcDiDkTLuPR+++OCKB0nWafEmhg/Da8aUPLPMQbK+bxKKCm1/S5he+AqYa4PlMCVBalb4/yxIRub6qkEx5yJbw==} + engines: {node: '>= 0.4'} + + regexpu-core@5.3.2: + resolution: {integrity: sha512-RAM5FlZz+Lhmo7db9L298p2vHP5ZywrVXmVXpmAD9GuL5MPH6t9ROw1iA/wfHkQ76Qe7AaPF0nGuim96/IrQMQ==} + engines: {node: '>=4'} + + regjsparser@0.10.0: + resolution: {integrity: sha512-qx+xQGZVsy55CH0a1hiVwHmqjLryfh7wQyF5HO07XJ9f7dQMY/gPQHhlyDkIzJKC+x2fUCpCcUODUUUFrm7SHA==} + hasBin: true + + regjsparser@0.9.1: + resolution: {integrity: sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==} + hasBin: true + + release-zalgo@1.0.0: + resolution: {integrity: sha512-gUAyHVHPPC5wdqX/LG4LWtRYtgjxyX78oanFNTMMyFEfOqdC54s3eE82imuWKbOeqYht2CrNf64Qb8vgmmtZGA==} + engines: {node: '>=4'} + + remark-frontmatter@5.0.0: + resolution: {integrity: sha512-XTFYvNASMe5iPN0719nPrdItC9aU0ssC4v14mH1BCi1u0n1gAocqcujWUrByftZTbLhRtiKRyjYTSIOcr69UVQ==} + + remark-gfm@4.0.0: + resolution: {integrity: sha512-U92vJgBPkbw4Zfu/IiW2oTZLSL3Zpv+uI7My2eq8JxKgqraFdU8YUGicEJCEgSbeaG+QDFqIcwwfMTOEelPxuA==} + + remark-parse@11.0.0: + resolution: {integrity: sha512-FCxlKLNGknS5ba/1lmpYijMUzX2esxW5xQqjWxw2eHFfS2MSdaHVINFmhjo+qN1WhZhNimq0dZATN9pH0IDrpA==} + + remark-stringify@11.0.0: + resolution: {integrity: sha512-1OSmLd3awB/t8qdoEOMazZkNsfVTeY4fTsgzcQFdXNq8ToTN4ZGwrMnlda4K6smTFKD+GRV6O48i6Z4iKgPPpw==} + + remark@15.0.1: + resolution: {integrity: sha512-Eht5w30ruCXgFmxVUSlNWQ9iiimq07URKeFS3hNc8cUWy1llX4KDWfyEDZRycMc+znsN9Ux5/tJ/BFdgdOwA3A==} + + repeat-string@1.6.1: + resolution: {integrity: sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w==} + engines: {node: '>=0.10'} + + request-progress@3.0.0: + resolution: {integrity: sha512-MnWzEHHaxHO2iWiQuHrUPBi/1WeBf5PkxQqNyNvLl9VAYSdXkP8tQ3pBSeCPD+yw0v0Aq1zosWLz0BdeXpWwZg==} + + require-directory@2.1.1: + resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==} + engines: {node: '>=0.10.0'} + + require-from-string@2.0.2: + resolution: {integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==} + engines: {node: '>=0.10.0'} + + require-main-filename@2.0.0: + resolution: {integrity: sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==} + + requires-port@1.0.0: + resolution: {integrity: sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==} + + resolve-alpn@1.2.1: + resolution: {integrity: sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g==} + + resolve-cwd@3.0.0: + resolution: {integrity: sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==} + engines: {node: '>=8'} + + resolve-from@4.0.0: + resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} + engines: {node: '>=4'} + + resolve-from@5.0.0: + resolution: {integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==} + engines: {node: '>=8'} + + resolve-pkg-maps@1.0.0: + resolution: {integrity: sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==} + + resolve.exports@2.0.2: + resolution: {integrity: sha512-X2UW6Nw3n/aMgDVy+0rSqgHlv39WZAlZrXCdnbyEiKm17DSqHX4MmQMaST3FbeWR5FTuRcUwYAziZajji0Y7mg==} + engines: {node: '>=10'} + + resolve@1.19.0: + resolution: {integrity: sha512-rArEXAgsBG4UgRGcynxWIWKFvh/XZCcS8UJdHhwy91zwAvCZIbcs+vAbflgBnNjYMs/i/i+/Ux6IZhML1yPvxg==} + + resolve@1.22.8: + resolution: {integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==} + hasBin: true + + responselike@2.0.1: + resolution: {integrity: sha512-4gl03wn3hj1HP3yzgdI7d3lCkF95F21Pz4BPGvKHinyQzALR5CapwC8yIi0Rh58DEMQ/SguC03wFj2k0M/mHhw==} + + restore-cursor@3.1.0: + resolution: {integrity: sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==} + engines: {node: '>=8'} + + restore-cursor@4.0.0: + resolution: {integrity: sha512-I9fPXU9geO9bHOt9pHHOhOkYerIMsmVaWB0rA2AI9ERh/+x/i7MV5HKBNrg+ljO5eoPVgCcnFuRjJ9uH6I/3eg==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + ret@0.2.2: + resolution: {integrity: sha512-M0b3YWQs7R3Z917WRQy1HHA7Ba7D8hvZg6UE5mLykJxQVE2ju0IXbGlaHPPlkY+WN7wFP+wUMXmBFA0aV6vYGQ==} + engines: {node: '>=4'} + + retry@0.13.1: + resolution: {integrity: sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==} + engines: {node: '>= 4'} + + reusify@1.0.4: + resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} + engines: {iojs: '>=1.0.0', node: '>=0.10.0'} + + rfdc@1.4.1: + resolution: {integrity: sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA==} + + rimraf@2.7.1: + resolution: {integrity: sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==} + deprecated: Rimraf versions prior to v4 are no longer supported + hasBin: true + + rimraf@3.0.2: + resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} + deprecated: Rimraf versions prior to v4 are no longer supported + hasBin: true + + rimraf@5.0.7: + resolution: {integrity: sha512-nV6YcJo5wbLW77m+8KjH8aB/7/rxQy9SZ0HY5shnwULfS+9nmTtVXAJET5NdZmCzA4fPI/Hm1wo/Po/4mopOdg==} + engines: {node: '>=14.18'} + hasBin: true + + robust-predicates@3.0.2: + resolution: {integrity: sha512-IXgzBWvWQwE6PrDI05OvmXUIruQTcoMDzRsOd5CDvHCVLcLHMTSYvOK5Cm46kWqlV3yAbuSpBZdJ5oP5OUoStg==} + + rollup-plugin-visualizer@5.12.0: + resolution: {integrity: sha512-8/NU9jXcHRs7Nnj07PF2o4gjxmm9lXIrZ8r175bT9dK8qoLlvKTwRMArRCMgpMGlq8CTLugRvEmyMeMXIU2pNQ==} + engines: {node: '>=14'} + hasBin: true + peerDependencies: + rollup: 2.x || 3.x || 4.x + peerDependenciesMeta: + rollup: + optional: true + + rollup@2.79.1: + resolution: {integrity: sha512-uKxbd0IhMZOhjAiD5oAFp7BqvkA4Dv47qpOCtaNvng4HBwdbWtdOh8f5nZNuk2rp51PMGk3bzfWu5oayNEuYnw==} + engines: {node: '>=10.0.0'} + hasBin: true + + rollup@4.18.0: + resolution: {integrity: sha512-QmJz14PX3rzbJCN1SG4Xe/bAAX2a6NpCP8ab2vfu2GiUr8AQcr2nCV/oEO3yneFarB67zk8ShlIyWb2LGTb3Sg==} + engines: {node: '>=18.0.0', npm: '>=8.0.0'} + hasBin: true + + roughjs@4.6.6: + resolution: {integrity: sha512-ZUz/69+SYpFN/g/lUlo2FXcIjRkSu3nDarreVdGGndHEBJ6cXPdKguS8JGxwj5HA5xIbVKSmLgr5b3AWxtRfvQ==} + + rrweb-cssom@0.6.0: + resolution: {integrity: sha512-APM0Gt1KoXBz0iIkkdB/kfvGOwC4UuJFeG/c+yV7wSc7q96cG/kJ0HiYCnzivD9SB53cLV1MlHFNfOuPaadYSw==} + + rrweb-cssom@0.7.1: + resolution: {integrity: sha512-TrEMa7JGdVm0UThDJSx7ddw5nVm3UJS9o9CCIZ72B1vSyEZoziDqBYP3XIoi/12lKrJR8rE3jeFHMok2F/Mnsg==} + + run-parallel@1.2.0: + resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} + + rw@1.3.3: + resolution: {integrity: sha512-PdhdWy89SiZogBLaw42zdeqtRJ//zFd2PgQavcICDUgJT5oW10QCRKbJ6bg4r0/UY2M6BWd5tkxuGFRvCkgfHQ==} + + rxjs@7.8.1: + resolution: {integrity: sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==} + + safe-array-concat@1.1.2: + resolution: {integrity: sha512-vj6RsCsWBCf19jIeHEfkRMw8DPiBb+DMXklQ/1SGDHOMlHdPUkZXFQ2YdplS23zESTijAcurb1aSgJA3AgMu1Q==} + engines: {node: '>=0.4'} + + safe-buffer@5.1.2: + resolution: {integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==} + + safe-buffer@5.2.1: + resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} + + safe-regex-test@1.0.3: + resolution: {integrity: sha512-CdASjNJPvRa7roO6Ra/gLYBTzYzzPyyBXxIMdGW3USQLyjWEls2RgW5UBTXaQVp+OrpeCK3bLem8smtmheoRuw==} + engines: {node: '>= 0.4'} + + safe-regex2@2.0.0: + resolution: {integrity: sha512-PaUSFsUaNNuKwkBijoAPHAK6/eM6VirvyPWlZ7BAQy4D+hCvh4B6lIG+nPdhbFfIbP+gTGBcrdsOaUs0F+ZBOQ==} + + safe-stable-stringify@2.4.3: + resolution: {integrity: sha512-e2bDA2WJT0wxseVd4lsDP4+3ONX6HpMXQa1ZhFQ7SU+GjvORCmShbCMltrtIDfkYhVHrOcPtj+KhmDBdPdZD1g==} + engines: {node: '>=10'} + + safer-buffer@2.1.2: + resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} + + saxes@6.0.0: + resolution: {integrity: sha512-xAg7SOnEhrm5zI3puOOKyy1OMcMlIJZYNJY7xLBwSze0UjhPLnWfj2GF2EpT0jmzaJKIWKHLsaSSajf35bcYnA==} + engines: {node: '>=v12.22.7'} + + schema-utils@3.3.0: + resolution: {integrity: sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==} + engines: {node: '>= 10.13.0'} + + schema-utils@4.2.0: + resolution: {integrity: sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw==} + engines: {node: '>= 12.13.0'} + + search-insights@2.14.0: + resolution: {integrity: sha512-OLN6MsPMCghDOqlCtsIsYgtsC0pnwVTyT9Mu6A3ewOj1DxvzZF6COrn2g86E/c05xbktB0XN04m/t1Z+n+fTGw==} + + secure-json-parse@2.7.0: + resolution: {integrity: sha512-6aU+Rwsezw7VR8/nyvKTx8QpWH9FrcYiXXlqC4z5d5XQBDRqtbfsRjnwGyqbi3gddNtWHuEk9OANUotL26qKUw==} + + select-hose@2.0.0: + resolution: {integrity: sha512-mEugaLK+YfkijB4fx0e6kImuJdCIt2LxCRcbEYPqRGCs4F2ogyfZU5IAZRdjCP8JPq2AtdNoC/Dux63d9Kiryg==} + + selfsigned@2.4.1: + resolution: {integrity: sha512-th5B4L2U+eGLq1TVh7zNRGBapioSORUeymIydxgFpwww9d2qyKvtuPU2jJuHvYAwwqi2Y596QBL3eEqcPEYL8Q==} + engines: {node: '>=10'} + + semver-store@0.3.0: + resolution: {integrity: sha512-TcZvGMMy9vodEFSse30lWinkj+JgOBvPn8wRItpQRSayhc+4ssDs335uklkfvQQJgL/WvmHLVj4Ycv2s7QCQMg==} + + semver@5.7.2: + resolution: {integrity: sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==} + hasBin: true + + semver@6.3.1: + resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} + hasBin: true + + semver@7.5.4: + resolution: {integrity: sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==} + engines: {node: '>=10'} + hasBin: true + + semver@7.6.2: + resolution: {integrity: sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==} + engines: {node: '>=10'} + hasBin: true + + send@0.18.0: + resolution: {integrity: sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==} + engines: {node: '>= 0.8.0'} + + serialize-javascript@6.0.2: + resolution: {integrity: sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==} + + serve-index@1.9.1: + resolution: {integrity: sha512-pXHfKNP4qujrtteMrSBb0rc8HJ9Ms/GrXwcUtUtD5s4ewDJI8bT3Cz2zTVRMKtri49pLx2e0Ya8ziP5Ya2pZZw==} + engines: {node: '>= 0.8.0'} + + serve-static@1.15.0: + resolution: {integrity: sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==} + engines: {node: '>= 0.8.0'} + + set-blocking@2.0.0: + resolution: {integrity: sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==} + + set-cookie-parser@2.6.0: + resolution: {integrity: sha512-RVnVQxTXuerk653XfuliOxBP81Sf0+qfQE73LIYKcyMYHG94AuH0kgrQpRDuTZnSmjpysHmzxJXKNfa6PjFhyQ==} + + set-function-length@1.2.2: + resolution: {integrity: sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==} + engines: {node: '>= 0.4'} + + set-function-name@2.0.2: + resolution: {integrity: sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==} + engines: {node: '>= 0.4'} + + setprototypeof@1.1.0: + resolution: {integrity: sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==} + + setprototypeof@1.2.0: + resolution: {integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==} + + shallow-clone@3.0.1: + resolution: {integrity: sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==} + engines: {node: '>=8'} + + shebang-command@1.2.0: + resolution: {integrity: sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==} + engines: {node: '>=0.10.0'} + + shebang-command@2.0.0: + resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} + engines: {node: '>=8'} + + shebang-regex@1.0.0: + resolution: {integrity: sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==} + engines: {node: '>=0.10.0'} + + shebang-regex@3.0.0: + resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} + engines: {node: '>=8'} + + shell-quote@1.8.1: + resolution: {integrity: sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA==} + + shiki@0.14.7: + resolution: {integrity: sha512-dNPAPrxSc87ua2sKJ3H5dQ/6ZaY8RNnaAqK+t0eG7p0Soi2ydiqbGOTaZCqaYvA/uZYfS1LJnemt3Q+mSfcPCg==} + + shiki@1.6.4: + resolution: {integrity: sha512-X88chM7w8jnadoZtjPTi5ahCJx9pc9f8GfEkZAEYUTlcUZIEw2D/RY86HI/LkkE7Nj8TQWkiBfaFTJ3VJT6ESg==} + + side-channel@1.0.6: + resolution: {integrity: sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==} + engines: {node: '>= 0.4'} + + siginfo@2.0.0: + resolution: {integrity: sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==} + + signal-exit@3.0.7: + resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} + + signal-exit@4.1.0: + resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} + engines: {node: '>=14'} + + simple-swizzle@0.2.2: + resolution: {integrity: sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg==} + + sirv@2.0.4: + resolution: {integrity: sha512-94Bdh3cC2PKrbgSOUqTiGPWVZeSiXfKOVZNJniWoqrWrRkB1CJzBU3NEbiTsPcYy1lDsANA/THzS+9WBiy5nfQ==} + engines: {node: '>= 10'} + + sisteransi@1.0.5: + resolution: {integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==} + + slash@3.0.0: + resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} + engines: {node: '>=8'} + + slash@4.0.0: + resolution: {integrity: sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==} + engines: {node: '>=12'} + + slash@5.1.0: + resolution: {integrity: sha512-ZA6oR3T/pEyuqwMgAKT0/hAv8oAXckzbkmR0UkUosQ+Mc4RxGoJkRmwHgHufaenlyAgE1Mxgpdcrf75y6XcnDg==} + engines: {node: '>=14.16'} + + slice-ansi@3.0.0: + resolution: {integrity: sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ==} + engines: {node: '>=8'} + + slice-ansi@4.0.0: + resolution: {integrity: sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==} + engines: {node: '>=10'} + + slice-ansi@5.0.0: + resolution: {integrity: sha512-FC+lgizVPfie0kkhqUScwRu1O/lF6NOgJmlCgK+/LYxDCTk8sGelYaHDhFcDN+Sn3Cv+3VSa4Byeo+IMCzpMgQ==} + engines: {node: '>=12'} + + slice-ansi@7.1.0: + resolution: {integrity: sha512-bSiSngZ/jWeX93BqeIAbImyTbEihizcwNjFoRUIY/T1wWQsfsm2Vw1agPKylXvQTU7iASGdHhyqRlqQzfz+Htg==} + engines: {node: '>=18'} + + smob@1.5.0: + resolution: {integrity: sha512-g6T+p7QO8npa+/hNx9ohv1E5pVCmWrVCUzUXJyLdMmftX6ER0oiWY/w9knEonLpnOp6b6FenKnMfR8gqwWdwig==} + + sockjs@0.3.24: + resolution: {integrity: sha512-GJgLTZ7vYb/JtPSSZ10hsOYIvEYsjbNU+zPdIHcUaWVNUEPivzxku31865sSSud0Da0W4lEeOPlmw93zLQchuQ==} + + sonic-boom@1.4.1: + resolution: {integrity: sha512-LRHh/A8tpW7ru89lrlkU4AszXt1dbwSjVWguGrmlxE7tawVmDBlI1PILMkXAxJTwqhgsEeTHzj36D5CmHgQmNg==} + + sonic-boom@3.8.1: + resolution: {integrity: sha512-y4Z8LCDBuum+PBP3lSV7RHrXscqksve/bi0as7mhwVnBW+/wUqKT/2Kb7um8yqcFy0duYbbPxzt89Zy2nOCaxg==} + + source-map-js@1.0.1: + resolution: {integrity: sha512-4+TN2b3tqOCd/kaGRJ/sTYA0tR0mdXx26ipdolxcwtJVqEnqNYvlCAt1q3ypy4QMlYus+Zh34RNtYLoq2oQ4IA==} + engines: {node: '>=0.10.0'} + + source-map-js@1.2.0: + resolution: {integrity: sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==} + engines: {node: '>=0.10.0'} + + source-map-support@0.5.13: + resolution: {integrity: sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==} + + source-map-support@0.5.21: + resolution: {integrity: sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==} + + source-map@0.1.43: + resolution: {integrity: sha512-VtCvB9SIQhk3aF6h+N85EaqIaBFIAfZ9Cu+NJHHVvc8BbEcnvDcFw6sqQ2dQrT6SlOrZq3tIvyD9+EGq/lJryQ==} + engines: {node: '>=0.8.0'} + + source-map@0.6.1: + resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} + engines: {node: '>=0.10.0'} + + source-map@0.7.4: + resolution: {integrity: sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==} + engines: {node: '>= 8'} + + source-map@0.8.0-beta.0: + resolution: {integrity: sha512-2ymg6oRBpebeZi9UUNsgQ89bhx01TcTkmNTGnNO88imTmbSgy4nfujrgVEFKWpMTEGA11EDkTt7mqObTPdigIA==} + engines: {node: '>= 8'} + + sourcemap-codec@1.4.8: + resolution: {integrity: sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==} + deprecated: Please use @jridgewell/sourcemap-codec instead + + spawn-command@0.0.2: + resolution: {integrity: sha512-zC8zGoGkmc8J9ndvml8Xksr1Amk9qBujgbF0JAIWO7kXr43w0h/0GJNM/Vustixu+YE8N/MTrQ7N31FvHUACxQ==} + + spawn-wrap@2.0.0: + resolution: {integrity: sha512-EeajNjfN9zMnULLwhZZQU3GWBoFNkbngTUPfaawT4RkMiviTxcX0qfhVbGey39mfctfDHkWtuecgQ8NJcyQWHg==} + engines: {node: '>=8'} + + spdx-correct@3.2.0: + resolution: {integrity: sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==} + + spdx-exceptions@2.5.0: + resolution: {integrity: sha512-PiU42r+xO4UbUS1buo3LPJkjlO7430Xn5SVAhdpzzsPHsjbYVflnnFdATgabnLude+Cqu25p6N+g2lw/PFsa4w==} + + spdx-expression-parse@3.0.1: + resolution: {integrity: sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==} + + spdx-expression-parse@4.0.0: + resolution: {integrity: sha512-Clya5JIij/7C6bRR22+tnGXbc4VKlibKSVj2iHvVeX5iMW7s1SIQlqu699JkODJJIhh/pUu8L0/VLh8xflD+LQ==} + + spdx-license-ids@3.0.18: + resolution: {integrity: sha512-xxRs31BqRYHwiMzudOrpSiHtZ8i/GeionCBDSilhYRj+9gIcI8wCZTlXZKu9vZIVqViP3dcp9qE5G6AlIaD+TQ==} + + spdy-transport@3.0.0: + resolution: {integrity: sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==} + + spdy@4.0.2: + resolution: {integrity: sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA==} + engines: {node: '>=6.0.0'} + + speakingurl@14.0.1: + resolution: {integrity: sha512-1POYv7uv2gXoyGFpBCmpDVSNV74IfsWlDW216UPjbWufNf+bSU6GdbDsxdcxtfwb4xlI3yxzOTKClUosxARYrQ==} + engines: {node: '>=0.10.0'} + + split2@4.2.0: + resolution: {integrity: sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg==} + engines: {node: '>= 10.x'} + + split@0.3.3: + resolution: {integrity: sha512-wD2AeVmxXRBoX44wAycgjVpMhvbwdI2aZjCkvfNcH1YqHQvJVa1duWc73OyVGJUc05fhFaTZeQ/PYsrmyH0JVA==} + + sprintf-js@1.0.3: + resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==} + + sshpk@1.18.0: + resolution: {integrity: sha512-2p2KJZTSqQ/I3+HX42EpYOa2l3f8Erv8MWKsy2I9uf4wA7yFIkXRffYdsx86y6z4vHtV8u7g+pPlr8/4ouAxsQ==} + engines: {node: '>=0.10.0'} + hasBin: true + + ssim.js@3.5.0: + resolution: {integrity: sha512-Aj6Jl2z6oDmgYFFbQqK7fght19bXdOxY7Tj03nF+03M9gCBAjeIiO8/PlEGMfKDwYpw4q6iBqVq2YuREorGg/g==} + + stack-utils@2.0.6: + resolution: {integrity: sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==} + engines: {node: '>=10'} + + stackback@0.0.2: + resolution: {integrity: sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==} + + start-server-and-test@2.0.4: + resolution: {integrity: sha512-CKNeBTcP0hVqIlNismHMudb9q3lLdAjcVPO13/7gfI66fcJpeIb/o4NzQd1JK/CD+lfWVqr10ZH9Y14+OwlJuw==} + engines: {node: '>=16'} + hasBin: true + + statuses@1.5.0: + resolution: {integrity: sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==} + engines: {node: '>= 0.6'} + + statuses@2.0.1: + resolution: {integrity: sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==} + engines: {node: '>= 0.8'} + + std-env@3.7.0: + resolution: {integrity: sha512-JPbdCEQLj1w5GilpiHAx3qJvFndqybBysA3qUOnznweH4QbNYUsW/ea8QzSrnh0vNsezMMw5bcVool8lM0gwzg==} + + stream-combiner@0.0.4: + resolution: {integrity: sha512-rT00SPnTVyRsaSz5zgSPma/aHSOic5U1prhYdRy5HS2kTZviFpmDgzilbtsJsxiroqACmayynDN/9VzIbX5DOw==} + + string-argv@0.3.2: + resolution: {integrity: sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q==} + engines: {node: '>=0.6.19'} + + string-length@4.0.2: + resolution: {integrity: sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==} + engines: {node: '>=10'} + + string-similarity@4.0.4: + resolution: {integrity: sha512-/q/8Q4Bl4ZKAPjj8WerIBJWALKkaPRfrvhfF8k/B23i4nzrlRj2/go1m90In7nG/3XDSbOo0+pu6RvCTM9RGMQ==} + deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info. + + string-width@4.2.3: + resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} + engines: {node: '>=8'} + + string-width@5.1.2: + resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==} + engines: {node: '>=12'} + + string-width@7.1.0: + resolution: {integrity: sha512-SEIJCWiX7Kg4c129n48aDRwLbFb2LJmXXFrWBG4NGaRtMQ3myKPKbwrD1BKqQn74oCoNMBVrfDEr5M9YxCsrkw==} + engines: {node: '>=18'} + + string.prototype.matchall@4.0.11: + resolution: {integrity: sha512-NUdh0aDavY2og7IbBPenWqR9exH+E26Sv8e0/eTe1tltDGZL+GtBkDAnnyBtmekfK6/Dq3MkcGtzXFEd1LQrtg==} + engines: {node: '>= 0.4'} + + string.prototype.trim@1.2.9: + resolution: {integrity: sha512-klHuCNxiMZ8MlsOihJhJEBJAiMVqU3Z2nEXWfWnIqjN0gEFS9J9+IxKozWWtQGcgoa1WUZzLjKPTr4ZHNFTFxw==} + engines: {node: '>= 0.4'} + + string.prototype.trimend@1.0.8: + resolution: {integrity: sha512-p73uL5VCHCO2BZZ6krwwQE3kCzM7NKmis8S//xEC6fQonchbum4eP6kR4DLEjQFO3Wnj3Fuo8NM0kOSjVdHjZQ==} + + string.prototype.trimstart@1.0.8: + resolution: {integrity: sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==} + engines: {node: '>= 0.4'} + + string_decoder@1.1.1: + resolution: {integrity: sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==} + + string_decoder@1.3.0: + resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==} + + stringify-object@3.3.0: + resolution: {integrity: sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw==} + engines: {node: '>=4'} + + strip-ansi@3.0.1: + resolution: {integrity: sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==} + engines: {node: '>=0.10.0'} + + strip-ansi@6.0.1: + resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} + engines: {node: '>=8'} + + strip-ansi@7.1.0: + resolution: {integrity: sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==} + engines: {node: '>=12'} + + strip-bom@4.0.0: + resolution: {integrity: sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==} + engines: {node: '>=8'} + + strip-comments@2.0.1: + resolution: {integrity: sha512-ZprKx+bBLXv067WTCALv8SSz5l2+XhpYCsVtSqlMnkAXMWDq+/ekVbl1ghqP9rUHTzv6sm/DwCOiYutU/yp1fw==} + engines: {node: '>=10'} + + strip-eof@1.0.0: + resolution: {integrity: sha512-7FCwGGmx8mD5xQd3RPUvnSpUXHM3BWuzjtpD4TXsfcZ9EL4azvVVUscFYwD9nx8Kh+uCBC00XBtAykoMHwTh8Q==} + engines: {node: '>=0.10.0'} + + strip-final-newline@2.0.0: + resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==} + engines: {node: '>=6'} + + strip-final-newline@3.0.0: + resolution: {integrity: sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==} + engines: {node: '>=12'} + + strip-indent@3.0.0: + resolution: {integrity: sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==} + engines: {node: '>=8'} + + strip-json-comments@3.1.1: + resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} + engines: {node: '>=8'} + + strip-literal@2.1.0: + resolution: {integrity: sha512-Op+UycaUt/8FbN/Z2TWPBLge3jWrP3xj10f3fnYxf052bKuS3EKs1ZQcVGjnEMdsNVAM+plXRdmjrZ/KgG3Skw==} + + stylis@4.3.2: + resolution: {integrity: sha512-bhtUjWd/z6ltJiQwg0dUfxEJ+W+jdqQd8TbWLWyeIJHlnsqmGLRFFd8e5mA0AZi/zx90smXRlN66YMTcaSFifg==} + + sucrase@3.35.0: + resolution: {integrity: sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA==} + engines: {node: '>=16 || 14 >=14.17'} + hasBin: true + + supports-color@2.0.0: + resolution: {integrity: sha512-KKNVtd6pCYgPIKU4cp2733HWYCpplQhddZLBUryaAHou723x+FRzQ5Df824Fj+IyyuiQTRoub4SnIFfIcrp70g==} + engines: {node: '>=0.8.0'} + + supports-color@5.5.0: + resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} + engines: {node: '>=4'} + + supports-color@7.2.0: + resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} + engines: {node: '>=8'} + + supports-color@8.1.1: + resolution: {integrity: sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==} + engines: {node: '>=10'} + + supports-preserve-symlinks-flag@1.0.0: + resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} + engines: {node: '>= 0.4'} + + symbol-tree@3.2.4: + resolution: {integrity: sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==} + + synckit@0.9.0: + resolution: {integrity: sha512-7RnqIMq572L8PeEzKeBINYEJDDxpcH8JEgLwUqBd3TkofhFRbkq4QLR0u+36avGAhCRbk2nnmjcW9SE531hPDg==} + engines: {node: ^14.18.0 || >=16.0.0} + + tabbable@6.2.0: + resolution: {integrity: sha512-Cat63mxsVJlzYvN51JmVXIgNoUokrIaT2zLclCXjRd8boZ0004U4KCs/sToJ75C6sdlByWxpYnb5Boif1VSFew==} + + tailwindcss@3.4.4: + resolution: {integrity: sha512-ZoyXOdJjISB7/BcLTR6SEsLgKtDStYyYZVLsUtWChO4Ps20CBad7lfJKVDiejocV4ME1hLmyY0WJE3hSDcmQ2A==} + engines: {node: '>=14.0.0'} + hasBin: true + + tapable@2.2.1: + resolution: {integrity: sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==} + engines: {node: '>=6'} + + teen_process@1.16.0: + resolution: {integrity: sha512-RnW7HHZD1XuhSTzD3djYOdIl1adE3oNEprE3HOFFxWs5m4FZsqYRhKJ4mDU2udtNGMLUS7jV7l8vVRLWAvmPDw==} + engines: {'0': node} + + temp-dir@2.0.0: + resolution: {integrity: sha512-aoBAniQmmwtcKp/7BzsH8Cxzv8OL736p7v1ihGb5e9DJ9kTwGWHrQrVB5+lfVDzfGrdRzXch+ig7LHaY1JTOrg==} + engines: {node: '>=8'} + + tempy@0.6.0: + resolution: {integrity: sha512-G13vtMYPT/J8A4X2SjdtBTphZlrp1gKv6hZiOjw14RCWg6GbHuQBGtjlx75xLbYV/wEc0D7G5K4rxKP/cXk8Bw==} + engines: {node: '>=10'} + + term-img@4.1.0: + resolution: {integrity: sha512-DFpBhaF5j+2f7kheKFc1ajsAUUDGOaNPpKPtiIMxlbfud6mvfFZuWGnTRpaujUa5J7yl6cIw/h6nyr4mSsENPg==} + engines: {node: '>=8'} + + terser-webpack-plugin@5.3.10: + resolution: {integrity: sha512-BKFPWlPDndPs+NGGCr1U59t0XScL5317Y0UReNrHaw9/FwhPENlq6bfgs+4yPfyP51vqC1bQ4rp1EfXW5ZSH9w==} + engines: {node: '>= 10.13.0'} + peerDependencies: + '@swc/core': '*' + esbuild: '*' + uglify-js: '*' + webpack: ^5.1.0 + peerDependenciesMeta: + '@swc/core': + optional: true + esbuild: + optional: true + uglify-js: + optional: true + + terser@5.31.1: + resolution: {integrity: sha512-37upzU1+viGvuFtBo9NPufCb9dwM0+l9hMxYyWfBA+fbwrPqNJAhbZ6W47bBFnZHKHTUBnMvi87434qq+qnxOg==} + engines: {node: '>=10'} + hasBin: true + + test-exclude@6.0.0: + resolution: {integrity: sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==} + engines: {node: '>=8'} + + text-table@0.2.0: + resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==} + + thenify-all@1.6.0: + resolution: {integrity: sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==} + engines: {node: '>=0.8'} + + thenify@3.3.1: + resolution: {integrity: sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==} + + thread-stream@2.7.0: + resolution: {integrity: sha512-qQiRWsU/wvNolI6tbbCKd9iKaTnCXsTwVxhhKM6nctPdujTyztjlbUkUTUymidWcMnZ5pWR0ej4a0tjsW021vw==} + + throat@6.0.2: + resolution: {integrity: sha512-WKexMoJj3vEuK0yFEapj8y64V0A6xcuPuK9Gt1d0R+dzCSJc0lHqQytAbSB4cDAK0dWh4T0E2ETkoLE2WZ41OQ==} + + throttleit@1.0.1: + resolution: {integrity: sha512-vDZpf9Chs9mAdfY046mcPt8fg5QSZr37hEH4TXYBnDF+izxgrbRGUAAaBvIk/fJm9aOFCGFd1EsNg5AZCbnQCQ==} + + through@2.3.8: + resolution: {integrity: sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==} + + thunky@1.1.0: + resolution: {integrity: sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==} + + timers-ext@0.1.8: + resolution: {integrity: sha512-wFH7+SEAcKfJpfLPkrgMPvvwnEtj8W4IurvEyrKsDleXnKLCDw71w8jltvfLa8Rm4qQxxT4jmDBYbJG/z7qoww==} + engines: {node: '>=0.12'} + + tiny-lru@8.0.2: + resolution: {integrity: sha512-ApGvZ6vVvTNdsmt676grvCkUCGwzG9IqXma5Z07xJgiC5L7akUMof5U8G2JTI9Rz/ovtVhJBlY6mNhEvtjzOIg==} + engines: {node: '>=6'} + + tinybench@2.8.0: + resolution: {integrity: sha512-1/eK7zUnIklz4JUUlL+658n58XO2hHLQfSk1Zf2LKieUjxidN16eKFEoDEfjHc3ohofSSqK3X5yO6VGb6iW8Lw==} + + tinypool@0.8.4: + resolution: {integrity: sha512-i11VH5gS6IFeLY3gMBQ00/MmLncVP7JLXOw1vlgkytLmJK7QnEr7NXf0LBdxfmNPAeyetukOk0bOYrJrFGjYJQ==} + engines: {node: '>=14.0.0'} + + tinyspy@2.2.1: + resolution: {integrity: sha512-KYad6Vy5VDWV4GH3fjpseMQ/XU2BhIYP7Vzd0LG44qRWm/Yt2WCOTicFdvmgo6gWaqooMQCawTtILVQJupKu7A==} + engines: {node: '>=14.0.0'} + + tmp@0.2.3: + resolution: {integrity: sha512-nZD7m9iCPC5g0pYmcaxogYKggSfLsdxl8of3Q/oIbqCqLLIO9IAF0GWjX1z9NZRHPiXv8Wex4yDCaZsgEw0Y8w==} + engines: {node: '>=14.14'} + + tmpl@1.0.5: + resolution: {integrity: sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==} + + to-fast-properties@2.0.0: + resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==} + engines: {node: '>=4'} + + to-regex-range@5.0.1: + resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} + engines: {node: '>=8.0'} + + toidentifier@1.0.1: + resolution: {integrity: sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==} + engines: {node: '>=0.6'} + + totalist@3.0.1: + resolution: {integrity: sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ==} + engines: {node: '>=6'} + + tough-cookie@4.1.4: + resolution: {integrity: sha512-Loo5UUvLD9ScZ6jh8beX1T6sO1w2/MpCRpEP7V280GKMVUQ0Jzar2U3UJPsrdbziLEMMhu3Ujnq//rhiFuIeag==} + engines: {node: '>=6'} + + tr46@0.0.3: + resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==} + + tr46@1.0.1: + resolution: {integrity: sha512-dTpowEjclQ7Kgx5SdBkqRzVhERQXov8/l9Ft9dVM9fmg0W0KQSVaXX9T4i6twCPNtYiZM53lpSSUAwJbFPOHxA==} + + tr46@5.0.0: + resolution: {integrity: sha512-tk2G5R2KRwBd+ZN0zaEXpmzdKyOYksXwywulIX95MBODjSzMIuQnQ3m8JxgbhnL1LeVo7lqQKsYa1O3Htl7K5g==} + engines: {node: '>=18'} + + traverse@0.3.9: + resolution: {integrity: sha512-iawgk0hLP3SxGKDfnDJf8wTz4p2qImnyihM5Hh/sGvQ3K37dPi/w8sRhdNIxYA1TwFwc5mDhIJq+O0RsvXBKdQ==} + + tree-kill@1.2.2: + resolution: {integrity: sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==} + hasBin: true + + trough@2.2.0: + resolution: {integrity: sha512-tmMpK00BjZiUyVyvrBK7knerNgmgvcV/KLVyuma/SC+TQN167GrMRciANTz09+k3zW8L8t60jWO1GpfkZdjTaw==} + + ts-api-utils@1.3.0: + resolution: {integrity: sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ==} + engines: {node: '>=16'} + peerDependencies: + typescript: '>=4.2.0' + + ts-dedent@2.2.0: + resolution: {integrity: sha512-q5W7tVM71e2xjHZTlgfTDoPF/SmqKG5hddq9SzR49CH2hayqRKJtQ4mtRlSxKaJlR/+9rEM+mnBHf7I2/BQcpQ==} + engines: {node: '>=6.10'} + + ts-interface-checker@0.1.13: + resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==} + + ts-toolbelt@6.15.5: + resolution: {integrity: sha512-FZIXf1ksVyLcfr7M317jbB67XFJhOO1YqdTcuGaq9q5jLUoTikukZ+98TPjKiP2jC5CgmYdWWYs0s2nLSU0/1A==} + + tslib@1.14.1: + resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==} + + tslib@2.6.3: + resolution: {integrity: sha512-xNvxJEOUiWPGhUuUdQgAJPKOOJfGnIyKySOc09XkKsgdUV/3E2zvwZYdejjmRgPCgcym1juLH3226yA7sEFJKQ==} + + tsutils@3.21.0: + resolution: {integrity: sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==} + engines: {node: '>= 6'} + peerDependencies: + typescript: '>=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta' + + tsx@4.15.4: + resolution: {integrity: sha512-d++FLCwJLrXaBFtRcqdPBzu6FiVOJ2j+UsvUZPtoTrnYtCGU5CEW7iHXtNZfA2fcRTvJFWPqA6SWBuB0GSva9w==} + engines: {node: '>=18.0.0'} + hasBin: true + + tunnel-agent@0.6.0: + resolution: {integrity: sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==} + + tweetnacl@0.14.5: + resolution: {integrity: sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==} + + type-check@0.4.0: + resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} + engines: {node: '>= 0.8.0'} + + type-detect@4.0.8: + resolution: {integrity: sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==} + engines: {node: '>=4'} + + type-fest@0.16.0: + resolution: {integrity: sha512-eaBzG6MxNzEn9kiwvtre90cXaNLkmadMWa1zQMs3XORCXNbsH/OewwbxC5ia9dCxIxnTAsSxXJaa/p5y8DlvJg==} + engines: {node: '>=10'} + + type-fest@0.20.2: + resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==} + engines: {node: '>=10'} + + type-fest@0.21.3: + resolution: {integrity: sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==} + engines: {node: '>=10'} + + type-fest@0.6.0: + resolution: {integrity: sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==} + engines: {node: '>=8'} + + type-fest@0.8.1: + resolution: {integrity: sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==} + engines: {node: '>=8'} + + type-fest@4.20.0: + resolution: {integrity: sha512-MBh+PHUHHisjXf4tlx0CFWoMdjx8zCMLJHOjnV1prABYZFHqtFOyauCIK2/7w4oIfwkF8iNhLtnJEfVY2vn3iw==} + engines: {node: '>=16'} + + type-is@1.6.18: + resolution: {integrity: sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==} + engines: {node: '>= 0.6'} + + type@2.7.3: + resolution: {integrity: sha512-8j+1QmAbPvLZow5Qpi6NCaN8FB60p/6x8/vfNqOk/hC+HuvFZhL4+WfekuhQLiqFZXOgQdrs3B+XxEmCc6b3FQ==} + + typed-array-buffer@1.0.2: + resolution: {integrity: sha512-gEymJYKZtKXzzBzM4jqa9w6Q1Jjm7x2d+sh19AdsD4wqnMPDYyvwpsIc2Q/835kHuo3BEQ7CjelGhfTsoBb2MQ==} + engines: {node: '>= 0.4'} + + typed-array-byte-length@1.0.1: + resolution: {integrity: sha512-3iMJ9q0ao7WE9tWcaYKIptkNBuOIcZCCT0d4MRvuuH88fEoEH62IuQe0OtraD3ebQEoTRk8XCBoknUNc1Y67pw==} + engines: {node: '>= 0.4'} + + typed-array-byte-offset@1.0.2: + resolution: {integrity: sha512-Ous0vodHa56FviZucS2E63zkgtgrACj7omjwd/8lTEMEPFFyjfixMZ1ZXenpgCFBBt4EC1J2XsyVS2gkG0eTFA==} + engines: {node: '>= 0.4'} + + typed-array-length@1.0.6: + resolution: {integrity: sha512-/OxDN6OtAk5KBpGb28T+HZc2M+ADtvRxXrKKbUwtsLgdoxgX13hyy7ek6bFRl5+aBs2yZzB0c4CnQfAtVypW/g==} + engines: {node: '>= 0.4'} + + typedarray-to-buffer@3.1.5: + resolution: {integrity: sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==} + + typedoc-plugin-markdown@3.17.1: + resolution: {integrity: sha512-QzdU3fj0Kzw2XSdoL15ExLASt2WPqD7FbLeaqwT70+XjKyTshBnUlQA5nNREO1C2P8Uen0CDjsBLMsCQ+zd0lw==} + peerDependencies: + typedoc: '>=0.24.0' + + typedoc@0.25.13: + resolution: {integrity: sha512-pQqiwiJ+Z4pigfOnnysObszLiU3mVLWAExSPf+Mu06G/qsc3wzbuM56SZQvONhHLncLUhYzOVkjFFpFfL5AzhQ==} + engines: {node: '>= 16'} + hasBin: true + peerDependencies: + typescript: 4.6.x || 4.7.x || 4.8.x || 4.9.x || 5.0.x || 5.1.x || 5.2.x || 5.3.x || 5.4.x + + typescript@5.4.5: + resolution: {integrity: sha512-vcI4UpRgg81oIRUFwR0WSIHKt11nJ7SAVlYNIu+QpqeyXP+gpQJy/Z4+F0aGxSE4MqwjyXvW/TzgkLAx2AGHwQ==} + engines: {node: '>=14.17'} + hasBin: true + + uc.micro@1.0.6: + resolution: {integrity: sha512-8Y75pvTYkLJW2hWQHXxoqRgV7qb9B+9vFEtidML+7koHUFapnVJAZ6cKs+Qjz5Aw3aZWHMC6u0wJE3At+nSGwA==} + + ufo@1.5.3: + resolution: {integrity: sha512-Y7HYmWaFwPUmkoQCUIAYpKqkOf+SbVj/2fJJZ4RJMCfZp0rTGwRbzQD+HghfnhKOjL9E01okqz+ncJskGYfBNw==} + + uglify-js@3.18.0: + resolution: {integrity: sha512-SyVVbcNBCk0dzr9XL/R/ySrmYf0s372K6/hFklzgcp2lBFyXtw4I7BOdDjlLhE1aVqaI/SHWXWmYdlZxuyF38A==} + engines: {node: '>=0.8.0'} + hasBin: true + + unbox-primitive@1.0.2: + resolution: {integrity: sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==} + + unconfig@0.3.13: + resolution: {integrity: sha512-N9Ph5NC4+sqtcOjPfHrRcHekBCadCXWTBzp2VYYbySOHW0PfD9XLCeXshTXjkPYwLrBr9AtSeU0CZmkYECJhng==} + + underscore@1.1.7: + resolution: {integrity: sha512-w4QtCHoLBXw1mjofIDoMyexaEdWGMedWNDhlWTtT1V1lCRqi65Pnoygkh6+WRdr+Bm8ldkBNkNeCsXGMlQS9HQ==} + + undici-types@5.26.5: + resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} + + unicode-canonical-property-names-ecmascript@2.0.0: + resolution: {integrity: sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==} + engines: {node: '>=4'} + + unicode-match-property-ecmascript@2.0.0: + resolution: {integrity: sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==} + engines: {node: '>=4'} + + unicode-match-property-value-ecmascript@2.1.0: + resolution: {integrity: sha512-qxkjQt6qjg/mYscYMC0XKRn3Rh0wFPlfxB0xkt9CfyTvpX1Ra0+rAmdX2QyAobptSEvuy4RtpPRui6XkV+8wjA==} + engines: {node: '>=4'} + + unicode-property-aliases-ecmascript@2.1.0: + resolution: {integrity: sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==} + engines: {node: '>=4'} + + unicorn-magic@0.1.0: + resolution: {integrity: sha512-lRfVq8fE8gz6QMBuDM6a+LO3IAzTi05H6gCVaUpir2E1Rwpo4ZUog45KpNXKC/Mn3Yb9UDuHumeFTo9iV/D9FQ==} + engines: {node: '>=18'} + + unified@11.0.4: + resolution: {integrity: sha512-apMPnyLjAX+ty4OrNap7yumyVAMlKx5IWU2wlzzUdYJO9A8f1p9m/gywF/GM2ZDFcjQPrx59Mc90KwmxsoklxQ==} + + unique-string@2.0.0: + resolution: {integrity: sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg==} + engines: {node: '>=8'} + + unist-util-flatmap@1.0.0: + resolution: {integrity: sha512-IG32jcKJlhARCYT2LsYPJWdoXYkzz3ESAdl1aa2hn9Auh+cgUmU6wgkII4yCc/1GgeWibRdELdCZh/p3QKQ1dQ==} + + unist-util-inspect@8.0.0: + resolution: {integrity: sha512-/3Wn/wU6/H6UEo4FoYUeo8KUePN8ERiZpQYFWYoihOsr1DoDuv80PeB0hobVZyYSvALa2e556bG1A1/AbwU4yg==} + + unist-util-is@6.0.0: + resolution: {integrity: sha512-2qCTHimwdxLfz+YzdGfkqNlH0tLi9xjTnHddPmJwtIG9MGsdbutfTc4P+haPD7l7Cjxf/WZj+we5qfVPvvxfYw==} + + unist-util-stringify-position@2.0.3: + resolution: {integrity: sha512-3faScn5I+hy9VleOq/qNbAd6pAx7iH5jYBMS9I1HgQVijz/4mv5Bvw5iw1sC/90CODiKo81G/ps8AJrISn687g==} + + unist-util-stringify-position@4.0.0: + resolution: {integrity: sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==} + + unist-util-visit-parents@6.0.1: + resolution: {integrity: sha512-L/PqWzfTP9lzzEa6CKs0k2nARxTdZduw3zyh8d2NVBnsyvHjSX4TWse388YrrQKbvI8w20fGjGlhgT96WwKykw==} + + unist-util-visit@5.0.0: + resolution: {integrity: sha512-MR04uvD+07cwl/yhVuVWAtw+3GOR/knlL55Nd/wAdblk27GCVt3lqpTivy/tkJcZoNPzTwS1Y+KMojlLDhoTzg==} + + universalify@0.1.2: + resolution: {integrity: sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==} + engines: {node: '>= 4.0.0'} + + universalify@0.2.0: + resolution: {integrity: sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==} + engines: {node: '>= 4.0.0'} + + universalify@2.0.1: + resolution: {integrity: sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==} + engines: {node: '>= 10.0.0'} + + unocss@0.59.4: + resolution: {integrity: sha512-QmCVjRObvVu/gsGrJGVt0NnrdhFFn314BUZn2WQyXV9rIvHLRmG5bIu0j5vibJkj7ZhFchTrnTM1pTFXP1xt5g==} + engines: {node: '>=14'} + peerDependencies: + '@unocss/webpack': 0.59.4 + vite: ^2.9.0 || ^3.0.0-0 || ^4.0.0 || ^5.0.0-0 + peerDependenciesMeta: + '@unocss/webpack': + optional: true + vite: + optional: true + + unpipe@1.0.0: + resolution: {integrity: sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==} + engines: {node: '>= 0.8'} + + unplugin-vue-components@0.26.0: + resolution: {integrity: sha512-s7IdPDlnOvPamjunVxw8kNgKNK8A5KM1YpK5j/p97jEKTjlPNrA0nZBiSfAKKlK1gWZuyWXlKL5dk3EDw874LQ==} + engines: {node: '>=14'} + peerDependencies: + '@babel/parser': ^7.15.8 + '@nuxt/kit': ^3.2.2 + vue: 2 || 3 + peerDependenciesMeta: + '@babel/parser': + optional: true + '@nuxt/kit': + optional: true + + unplugin@1.10.1: + resolution: {integrity: sha512-d6Mhq8RJeGA8UfKCu54Um4lFA0eSaRa3XxdAJg8tIdxbu1ubW0hBCZUL7yI2uGyYCRndvbK8FLHzqy2XKfeMsg==} + engines: {node: '>=14.0.0'} + + untildify@4.0.0: + resolution: {integrity: sha512-KK8xQ1mkzZeg9inewmFVDNkg3l5LUhoq9kN6iWYB/CC9YMG8HA+c1Q8HwDe6dEX7kErrEVNVBO3fWsVq5iDgtw==} + engines: {node: '>=8'} + + upath@1.2.0: + resolution: {integrity: sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==} + engines: {node: '>=4'} + + update-browserslist-db@1.0.16: + resolution: {integrity: sha512-KVbTxlBYlckhF5wgfyZXTWnMn7MMZjMu9XG8bPlliUOP9ThaF4QnhP8qrjrH7DRzHfSk0oQv1wToW+iA5GajEQ==} + hasBin: true + peerDependencies: + browserslist: '>= 4.21.0' + + uri-js@4.4.1: + resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} + + url-parse@1.5.10: + resolution: {integrity: sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==} + + util-deprecate@1.0.2: + resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} + + utils-merge@1.0.1: + resolution: {integrity: sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==} + engines: {node: '>= 0.4.0'} + + uuid@8.3.2: + resolution: {integrity: sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==} + hasBin: true + + uuid@9.0.1: + resolution: {integrity: sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==} + hasBin: true + + v8-to-istanbul@9.2.0: + resolution: {integrity: sha512-/EH/sDgxU2eGxajKdwLCDmQ4FWq+kpi3uCmBGpw1xJtnAxEjlD8j8PEiGWpCIMIs3ciNAgH0d3TTJiUkYzyZjA==} + engines: {node: '>=10.12.0'} + + validate-npm-package-license@3.0.4: + resolution: {integrity: sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==} + + vary@1.1.2: + resolution: {integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==} + engines: {node: '>= 0.8'} + + verror@1.10.0: + resolution: {integrity: sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw==} + engines: {'0': node >=0.6.0} + + vfile-message@4.0.2: + resolution: {integrity: sha512-jRDZ1IMLttGj41KcZvlrYAaI3CfqpLpfpf+Mfig13viT6NKvRzWZ+lXz0Y5D60w6uJIBAOGq9mSHf0gktF0duw==} + + vfile@6.0.1: + resolution: {integrity: sha512-1bYqc7pt6NIADBJ98UiG0Bn/CHIVOoZ/IyEkqIruLg0mE1BKzkOXY2D6CSqQIcKqgadppE5lrxgWXJmXd7zZJw==} + + vite-node@1.6.0: + resolution: {integrity: sha512-de6HJgzC+TFzOu0NTC4RAIsyf/DY/ibWDYQUcuEA84EMHhcefTUGkjFHKKEJhQN4A+6I0u++kr3l36ZF2d7XRw==} + engines: {node: ^18.0.0 || >=20.0.0} + hasBin: true + + vite-plugin-istanbul@6.0.2: + resolution: {integrity: sha512-0/sKwjEEIwbEyl43xX7onX3dIbMJAsigNsKyyVPalG1oRFo5jn3qkJbS2PUfp9wrr3piy1eT6qRoeeum2p4B2A==} + peerDependencies: + vite: '>=4 <=6' + + vite-plugin-pwa@0.19.8: + resolution: {integrity: sha512-e1oK0dfhzhDhY3VBuML6c0h8Xfx6EkOVYqolj7g+u8eRfdauZe5RLteCIA/c5gH0CBQ0CNFAuv/AFTx4Z7IXTw==} + engines: {node: '>=16.0.0'} + peerDependencies: + '@vite-pwa/assets-generator': ^0.2.4 + vite: ^3.1.0 || ^4.0.0 || ^5.0.0 + workbox-build: ^7.0.0 + workbox-window: ^7.0.0 + peerDependenciesMeta: + '@vite-pwa/assets-generator': + optional: true + + vite@5.2.13: + resolution: {integrity: sha512-SSq1noJfY9pR3I1TUENL3rQYDQCFqgD+lM6fTRAM8Nv6Lsg5hDLaXkjETVeBt+7vZBCMoibD+6IWnT2mJ+Zb/A==} + engines: {node: ^18.0.0 || >=20.0.0} + hasBin: true + peerDependencies: + '@types/node': ^18.0.0 || >=20.0.0 + less: '*' + lightningcss: ^1.21.0 + sass: '*' + stylus: '*' + sugarss: '*' + terser: ^5.4.0 + peerDependenciesMeta: + '@types/node': + optional: true + less: + optional: true + lightningcss: + optional: true + sass: + optional: true + stylus: + optional: true + sugarss: + optional: true + terser: + optional: true + + vitepress-plugin-search@1.0.4-alpha.22: + resolution: {integrity: sha512-IAOEJu+kjVY+0pb6/PeRjIbr175HFFbnMdLmLjqcy7VWxkabIRZbLoQL1VUYDZl804o/Or+GaX02gsiMOnVxFA==} + engines: {node: ^14.13.1 || ^16.7.0 || >=18} + peerDependencies: + flexsearch: ^0.7.31 + vitepress: ^1.0.0-rc.35 + vue: '3' + + vitepress@1.1.4: + resolution: {integrity: sha512-bWIzFZXpPB6NIDBuWnS20aMADH+FcFKDfQNYFvbOWij03PR29eImTceQHIzCKordjXYBhM/TjE5VKFTUJ3EheA==} + hasBin: true + peerDependencies: + markdown-it-mathjax3: ^4 + postcss: ^8 + peerDependenciesMeta: + markdown-it-mathjax3: + optional: true + postcss: + optional: true + + vitest@1.6.0: + resolution: {integrity: sha512-H5r/dN06swuFnzNFhq/dnz37bPXnq8xB2xB5JOVk8K09rUtoeNN+LHWkoQ0A/i3hvbUKKcCei9KpbxqHMLhLLA==} + engines: {node: ^18.0.0 || >=20.0.0} + hasBin: true + peerDependencies: + '@edge-runtime/vm': '*' + '@types/node': ^18.0.0 || >=20.0.0 + '@vitest/browser': 1.6.0 + '@vitest/ui': 1.6.0 + happy-dom: '*' + jsdom: '*' + peerDependenciesMeta: + '@edge-runtime/vm': + optional: true + '@types/node': + optional: true + '@vitest/browser': + optional: true + '@vitest/ui': + optional: true + happy-dom: + optional: true + jsdom: + optional: true + + vscode-json-languageservice@4.2.1: + resolution: {integrity: sha512-xGmv9QIWs2H8obGbWg+sIPI/3/pFgj/5OWBhNzs00BkYQ9UaB2F6JJaGB/2/YOZJ3BvLXQTC4Q7muqU25QgAhA==} + + vscode-jsonrpc@8.2.0: + resolution: {integrity: sha512-C+r0eKJUIfiDIfwJhria30+TYWPtuHJXHtI7J0YlOmKAo7ogxP20T0zxB7HZQIFhIyvoBPwWskjxrvAtfjyZfA==} + engines: {node: '>=14.0.0'} + + vscode-languageserver-protocol@3.17.5: + resolution: {integrity: sha512-mb1bvRJN8SVznADSGWM9u/b07H7Ecg0I3OgXDuLdn307rl/J3A9YD6/eYOssqhecL27hK1IPZAsaqh00i/Jljg==} + + vscode-languageserver-textdocument@1.0.11: + resolution: {integrity: sha512-X+8T3GoiwTVlJbicx/sIAF+yuJAqz8VvwJyoMVhwEMoEKE/fkDmrqUgDMyBECcM2A2frVZIUj5HI/ErRXCfOeA==} + + vscode-languageserver-types@3.17.5: + resolution: {integrity: sha512-Ld1VelNuX9pdF39h2Hgaeb5hEZM2Z3jUrrMgWQAu82jMtZp7p3vJT3BzToKtZI7NgQssZje5o0zryOrhQvzQAg==} + + vscode-languageserver@9.0.1: + resolution: {integrity: sha512-woByF3PDpkHFUreUa7Hos7+pUWdeWMXRd26+ZX2A8cFx6v/JPTtd4/uN0/jB6XQHYaOlHbio03NTHCqrgG5n7g==} + hasBin: true + + vscode-nls@5.2.0: + resolution: {integrity: sha512-RAaHx7B14ZU04EU31pT+rKz2/zSl7xMsfIZuo8pd+KZO6PXtQmpevpq3vxvWNcrGbdmhM/rr5Uw5Mz+NBfhVng==} + + vscode-oniguruma@1.7.0: + resolution: {integrity: sha512-L9WMGRfrjOhgHSdOYgCt/yRMsXzLDJSL7BPrOZt73gU0iWO4mpqzqQzOz5srxqTvMBaR0XZTSrVWo4j55Rc6cA==} + + vscode-textmate@8.0.0: + resolution: {integrity: sha512-AFbieoL7a5LMqcnOF04ji+rpXadgOXnZsxQr//r83kLPr7biP7am3g9zbaZIaBGwBRWeSvoMD4mgPdX3e4NWBg==} + + vscode-uri@3.0.8: + resolution: {integrity: sha512-AyFQ0EVmsOZOlAnxoFOGOq1SQDWAB7C6aqMGS23svWAllfOaxbuFvcT8D1i8z3Gyn8fraVeZNNmN6e9bxxXkKw==} + + vue-demi@0.13.11: + resolution: {integrity: sha512-IR8HoEEGM65YY3ZJYAjMlKygDQn25D5ajNFNoKh9RSDMQtlzCxtfQjdQgv9jjK+m3377SsJXY8ysq8kLCZL25A==} + engines: {node: '>=12'} + hasBin: true + peerDependencies: + '@vue/composition-api': ^1.0.0-rc.1 + vue: ^3.0.0-0 || ^2.6.0 + peerDependenciesMeta: + '@vue/composition-api': + optional: true + + vue-demi@0.14.8: + resolution: {integrity: sha512-Uuqnk9YE9SsWeReYqK2alDI5YzciATE0r2SkA6iMAtuXvNTMNACJLJEXNXaEy94ECuBe4Sk6RzRU80kjdbIo1Q==} + engines: {node: '>=12'} + hasBin: true + peerDependencies: + '@vue/composition-api': ^1.0.0-rc.1 + vue: ^3.0.0-0 || ^2.6.0 + peerDependenciesMeta: + '@vue/composition-api': + optional: true + + vue@3.4.27: + resolution: {integrity: sha512-8s/56uK6r01r1icG/aEOHqyMVxd1bkYcSe9j8HcKtr/xTOFWvnzIVTehNW+5Yt89f+DLBe4A569pnZLS5HzAMA==} + peerDependencies: + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + + vuex@4.1.0: + resolution: {integrity: sha512-hmV6UerDrPcgbSy9ORAtNXDr9M4wlNP4pEFKye4ujJF8oqgFFuxDCdOLS3eNoRTtq5O3hoBDh9Doj1bQMYHRbQ==} + peerDependencies: + vue: ^3.2.0 + + w3c-xmlserializer@5.0.0: + resolution: {integrity: sha512-o8qghlI8NZHU1lLPrpi2+Uq7abh4GGPpYANlalzWxyWteJOCsr/P+oPBA49TOLu5FTZO4d3F9MnWJfiMo4BkmA==} + engines: {node: '>=18'} + + wait-on@7.2.0: + resolution: {integrity: sha512-wCQcHkRazgjG5XoAq9jbTMLpNIjoSlZslrJ2+N9MxDsGEv1HnFoVjOCexL0ESva7Y9cu350j+DWADdk54s4AFQ==} + engines: {node: '>=12.0.0'} + hasBin: true + + walker@1.0.8: + resolution: {integrity: sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==} + + watchpack@2.4.1: + resolution: {integrity: sha512-8wrBCMtVhqcXP2Sup1ctSkga6uc2Bx0IIvKyT7yTFier5AXHooSI+QyQQAtTb7+E0IUCCKyTFmXqdqgum2XWGg==} + engines: {node: '>=10.13.0'} + + wbuf@1.7.3: + resolution: {integrity: sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==} + + web-streams-polyfill@3.3.3: + resolution: {integrity: sha512-d2JWLCivmZYTSIoge9MsgFCZrt571BikcWGYkjC1khllbTeDlGqZ2D8vD8E/lJa8WGWbb7Plm8/XJYV7IJHZZw==} + engines: {node: '>= 8'} + + webdriver@7.31.1: + resolution: {integrity: sha512-nCdJLxRnYvOMFqTEX7sqQtF/hV/Jgov0Y6ICeOm1DMTlZSRRDaUsBMlEAPkEwif9uBJYdM0znv8qzfX358AGqQ==} + engines: {node: '>=12.0.0'} + + webidl-conversions@3.0.1: + resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==} + + webidl-conversions@4.0.2: + resolution: {integrity: sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==} + + webidl-conversions@7.0.0: + resolution: {integrity: sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==} + engines: {node: '>=12'} + + webpack-cli@4.10.0: + resolution: {integrity: sha512-NLhDfH/h4O6UOy+0LSso42xvYypClINuMNBVVzX4vX98TmTaTUxwRbXdhucbFMd2qLaCTcLq/PdYrvi8onw90w==} + engines: {node: '>=10.13.0'} + hasBin: true + peerDependencies: + '@webpack-cli/generators': '*' + '@webpack-cli/migrate': '*' + webpack: 4.x.x || 5.x.x + webpack-bundle-analyzer: '*' + webpack-dev-server: '*' + peerDependenciesMeta: + '@webpack-cli/generators': + optional: true + '@webpack-cli/migrate': + optional: true + webpack-bundle-analyzer: + optional: true + webpack-dev-server: + optional: true + + webpack-dev-middleware@5.3.4: + resolution: {integrity: sha512-BVdTqhhs+0IfoeAf7EoH5WE+exCmqGerHfDM0IL096Px60Tq2Mn9MAbnaGUe6HiMa41KMCYF19gyzZmBcq/o4Q==} + engines: {node: '>= 12.13.0'} + peerDependencies: + webpack: ^4.0.0 || ^5.0.0 + + webpack-dev-server@4.15.2: + resolution: {integrity: sha512-0XavAZbNJ5sDrCbkpWL8mia0o5WPOd2YGtxrEiZkBK9FjLppIUK2TgxK6qGD2P3hUXTJNNPVibrerKcx5WkR1g==} + engines: {node: '>= 12.13.0'} + hasBin: true + peerDependencies: + webpack: ^4.37.0 || ^5.0.0 + webpack-cli: '*' + peerDependenciesMeta: + webpack: + optional: true + webpack-cli: + optional: true + + webpack-merge@5.10.0: + resolution: {integrity: sha512-+4zXKdx7UnO+1jaN4l2lHVD+mFvnlZQP/6ljaJVb4SZiwIKeUnrT5l0gkT8z+n4hKpC+jpOv6O9R+gLtag7pSA==} + engines: {node: '>=10.0.0'} + + webpack-sources@3.2.3: + resolution: {integrity: sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==} + engines: {node: '>=10.13.0'} + + webpack-virtual-modules@0.6.2: + resolution: {integrity: sha512-66/V2i5hQanC51vBQKPH4aI8NMAcBW59FVBs+rC7eGHupMyfn34q7rZIE+ETlJ+XTevqfUhVVBgSUNSW2flEUQ==} + + webpack@5.92.0: + resolution: {integrity: sha512-Bsw2X39MYIgxouNATyVpCNVWBCuUwDgWtN78g6lSdPJRLaQ/PUVm/oXcaRAyY/sMFoKFQrsPeqvTizWtq7QPCA==} + engines: {node: '>=10.13.0'} + hasBin: true + peerDependencies: + webpack-cli: '*' + peerDependenciesMeta: + webpack-cli: + optional: true + + websocket-driver@0.7.4: + resolution: {integrity: sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg==} + engines: {node: '>=0.8.0'} + + websocket-extensions@0.1.4: + resolution: {integrity: sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==} + engines: {node: '>=0.8.0'} + + whatwg-encoding@3.1.1: + resolution: {integrity: sha512-6qN4hJdMwfYBtE3YBTTHhoeuUrDBPZmbQaxWAqSALV/MeEnR5z1xd8UKud2RAkFoPkmB+hli1TZSnyi84xz1vQ==} + engines: {node: '>=18'} + + whatwg-mimetype@4.0.0: + resolution: {integrity: sha512-QaKxh0eNIi2mE9p2vEdzfagOKHCcj1pJ56EEHGQOVxp8r9/iszLUUV7v89x9O1p/T+NlTM5W7jW6+cz4Fq1YVg==} + engines: {node: '>=18'} + + whatwg-url@14.0.0: + resolution: {integrity: sha512-1lfMEm2IEr7RIV+f4lUNPOqfFL+pO+Xw3fJSqmjX9AbXcXcYOkCe1P6+9VBZB6n94af16NfZf+sSk0JCBZC9aw==} + engines: {node: '>=18'} + + whatwg-url@5.0.0: + resolution: {integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==} + + whatwg-url@7.1.0: + resolution: {integrity: sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==} + + which-boxed-primitive@1.0.2: + resolution: {integrity: sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==} + + which-module@2.0.1: + resolution: {integrity: sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ==} + + which-typed-array@1.1.15: + resolution: {integrity: sha512-oV0jmFtUky6CXfkqehVvBP/LSWJ2sy4vWMioiENyJLePrBO/yKyV9OyJySfAKosh+RYkIl5zJCNZ8/4JncrpdA==} + engines: {node: '>= 0.4'} + + which@1.3.1: + resolution: {integrity: sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==} + hasBin: true + + which@2.0.2: + resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} + engines: {node: '>= 8'} + hasBin: true + + why-is-node-running@2.2.2: + resolution: {integrity: sha512-6tSwToZxTOcotxHeA+qGCq1mVzKR3CwcJGmVcY+QE8SHy6TnpFnh8PAvPNHYr7EcuVeG0QSMxtYCuO1ta/G/oA==} + engines: {node: '>=8'} + hasBin: true + + widest-line@3.1.0: + resolution: {integrity: sha512-NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg==} + engines: {node: '>=8'} + + wildcard@2.0.1: + resolution: {integrity: sha512-CC1bOL87PIWSBhDcTrdeLo6eGT7mCFtrg0uIJtqJUFyK+eJnzl8A1niH56uu7KMa5XFrtiV+AQuHO3n7DsHnLQ==} + + word-wrap@1.2.5: + resolution: {integrity: sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==} + engines: {node: '>=0.10.0'} + + wordwrap@1.0.0: + resolution: {integrity: sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==} + + workbox-background-sync@7.1.0: + resolution: {integrity: sha512-rMbgrzueVWDFcEq1610YyDW71z0oAXLfdRHRQcKw4SGihkfOK0JUEvqWHFwA6rJ+6TClnMIn7KQI5PNN1XQXwQ==} + + workbox-broadcast-update@7.1.0: + resolution: {integrity: sha512-O36hIfhjej/c5ar95pO67k1GQw0/bw5tKP7CERNgK+JdxBANQhDmIuOXZTNvwb2IHBx9hj2kxvcDyRIh5nzOgQ==} + + workbox-build@7.1.1: + resolution: {integrity: sha512-WdkVdC70VMpf5NBCtNbiwdSZeKVuhTEd5PV3mAwpTQCGAB5XbOny1P9egEgNdetv4srAMmMKjvBk4RD58LpooA==} + engines: {node: '>=16.0.0'} + + workbox-cacheable-response@7.1.0: + resolution: {integrity: sha512-iwsLBll8Hvua3xCuBB9h92+/e0wdsmSVgR2ZlvcfjepZWwhd3osumQB3x9o7flj+FehtWM2VHbZn8UJeBXXo6Q==} + + workbox-core@7.1.0: + resolution: {integrity: sha512-5KB4KOY8rtL31nEF7BfvU7FMzKT4B5TkbYa2tzkS+Peqj0gayMT9SytSFtNzlrvMaWgv6y/yvP9C0IbpFjV30Q==} + + workbox-expiration@7.1.0: + resolution: {integrity: sha512-m5DcMY+A63rJlPTbbBNtpJ20i3enkyOtSgYfv/l8h+D6YbbNiA0zKEkCUaMsdDlxggla1oOfRkyqTvl5Ni5KQQ==} + + workbox-google-analytics@7.1.0: + resolution: {integrity: sha512-FvE53kBQHfVTcZyczeBVRexhh7JTkyQ8HAvbVY6mXd2n2A7Oyz/9fIwnY406ZcDhvE4NFfKGjW56N4gBiqkrew==} + + workbox-navigation-preload@7.1.0: + resolution: {integrity: sha512-4wyAbo0vNI/X0uWNJhCMKxnPanNyhybsReMGN9QUpaePLTiDpKxPqFxl4oUmBNddPwIXug01eTSLVIFXimRG/A==} + + workbox-precaching@7.1.0: + resolution: {integrity: sha512-LyxzQts+UEpgtmfnolo0hHdNjoB7EoRWcF7EDslt+lQGd0lW4iTvvSe3v5JiIckQSB5KTW5xiCqjFviRKPj1zA==} + + workbox-range-requests@7.1.0: + resolution: {integrity: sha512-m7+O4EHolNs5yb/79CrnwPR/g/PRzMFYEdo01LqwixVnc/sbzNSvKz0d04OE3aMRel1CwAAZQheRsqGDwATgPQ==} + + workbox-recipes@7.1.0: + resolution: {integrity: sha512-NRrk4ycFN9BHXJB6WrKiRX3W3w75YNrNrzSX9cEZgFB5ubeGoO8s/SDmOYVrFYp9HMw6sh1Pm3eAY/1gVS8YLg==} + + workbox-routing@7.1.0: + resolution: {integrity: sha512-oOYk+kLriUY2QyHkIilxUlVcFqwduLJB7oRZIENbqPGeBP/3TWHYNNdmGNhz1dvKuw7aqvJ7CQxn27/jprlTdg==} + + workbox-strategies@7.1.0: + resolution: {integrity: sha512-/UracPiGhUNehGjRm/tLUQ+9PtWmCbRufWtV0tNrALuf+HZ4F7cmObSEK+E4/Bx1p8Syx2tM+pkIrvtyetdlew==} + + workbox-streams@7.1.0: + resolution: {integrity: sha512-WyHAVxRXBMfysM8ORwiZnI98wvGWTVAq/lOyBjf00pXFvG0mNaVz4Ji+u+fKa/mf1i2SnTfikoYKto4ihHeS6w==} + + workbox-sw@7.1.0: + resolution: {integrity: sha512-Hml/9+/njUXBglv3dtZ9WBKHI235AQJyLBV1G7EFmh4/mUdSQuXui80RtjDeVRrXnm/6QWgRUEHG3/YBVbxtsA==} + + workbox-window@7.1.0: + resolution: {integrity: sha512-ZHeROyqR+AS5UPzholQRDttLFqGMwP0Np8MKWAdyxsDETxq3qOAyXvqessc3GniohG6e0mAqSQyKOHmT8zPF7g==} + + wrap-ansi@6.2.0: + resolution: {integrity: sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==} + engines: {node: '>=8'} + + wrap-ansi@7.0.0: + resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} + engines: {node: '>=10'} + + wrap-ansi@8.1.0: + resolution: {integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==} + engines: {node: '>=12'} + + wrap-ansi@9.0.0: + resolution: {integrity: sha512-G8ura3S+3Z2G+mkgNRq8dqaFZAuxfsxpBB8OCTGRTCtp+l/v9nbFNmCUP1BZMts3G1142MsZfn6eeUKrr4PD1Q==} + engines: {node: '>=18'} + + wrappy@1.0.2: + resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} + + write-file-atomic@3.0.3: + resolution: {integrity: sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==} + + write-file-atomic@4.0.2: + resolution: {integrity: sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==} + engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} + + ws@8.13.0: + resolution: {integrity: sha512-x9vcZYTrFPC7aSIbj7sRCYo7L/Xb8Iy+pW0ng0wt2vCJv7M9HOMy0UoN3rr+IFC7hb7vXoqS+P9ktyLLLhO+LA==} + engines: {node: '>=10.0.0'} + peerDependencies: + bufferutil: ^4.0.1 + utf-8-validate: '>=5.0.2' + peerDependenciesMeta: + bufferutil: + optional: true + utf-8-validate: + optional: true + + ws@8.17.0: + resolution: {integrity: sha512-uJq6108EgZMAl20KagGkzCKfMEjxmKvZHG7Tlq0Z6nOky7YF7aq4mOx6xK8TJ/i1LeK4Qus7INktacctDgY8Ow==} + engines: {node: '>=10.0.0'} + peerDependencies: + bufferutil: ^4.0.1 + utf-8-validate: '>=5.0.2' + peerDependenciesMeta: + bufferutil: + optional: true + utf-8-validate: + optional: true + + ws@8.5.0: + resolution: {integrity: sha512-BWX0SWVgLPzYwF8lTzEy1egjhS4S4OEAHfsO8o65WOVsrnSRGaSiUaa9e0ggGlkMTtBlmOpEXiie9RUcBO86qg==} + engines: {node: '>=10.0.0'} + peerDependencies: + bufferutil: ^4.0.1 + utf-8-validate: ^5.0.2 + peerDependenciesMeta: + bufferutil: + optional: true + utf-8-validate: + optional: true + + xdg-basedir@5.1.0: + resolution: {integrity: sha512-GCPAHLvrIH13+c0SuacwvRYj2SxJXQ4kaVTT5xgL3kPrz56XxkF21IGhjSE1+W0aw7gpBWRGXLCPnPby6lSpmQ==} + engines: {node: '>=12'} + + xml-name-validator@5.0.0: + resolution: {integrity: sha512-EvGK8EJ3DhaHfbRlETOWAS5pO9MZITeauHKJyb8wyajUfQUenkIg2MvLDTZ4T/TgIcm3HU0TFBgWWboAZ30UHg==} + engines: {node: '>=18'} + + xmlbuilder@15.1.1: + resolution: {integrity: sha512-yMqGBqtXyeN1e3TGYvgNgDVZ3j84W4cwkOXQswghol6APgZWaff9lnbvN7MHYJOiXsvGPXtjTYJEiC9J2wv9Eg==} + engines: {node: '>=8.0'} + + xmlchars@2.2.0: + resolution: {integrity: sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==} + + xxhashjs@0.2.2: + resolution: {integrity: sha512-AkTuIuVTET12tpsVIQo+ZU6f/qDmKuRUcjaqR+OIvm+aCBsZ95i7UVY5WJ9TMsSaZ0DA2WxoZ4acu0sPH+OKAw==} + + y18n@4.0.3: + resolution: {integrity: sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==} + + y18n@5.0.8: + resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==} + engines: {node: '>=10'} + + yallist@3.1.1: + resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==} + + yallist@4.0.0: + resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} + + yaml@2.4.5: + resolution: {integrity: sha512-aBx2bnqDzVOyNKfsysjA2ms5ZlnjSAW2eG3/L5G/CSujfjLJTJsEw1bGw8kCf04KodQWk1pxlGnZ56CRxiawmg==} + engines: {node: '>= 14'} + hasBin: true + + yargs-parser@18.1.3: + resolution: {integrity: sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==} + engines: {node: '>=6'} + + yargs-parser@21.1.1: + resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==} + engines: {node: '>=12'} + + yargs@15.4.1: + resolution: {integrity: sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==} + engines: {node: '>=8'} + + yargs@17.7.2: + resolution: {integrity: sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==} + engines: {node: '>=12'} + + yauzl@2.10.0: + resolution: {integrity: sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==} + + yocto-queue@0.1.0: + resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} + engines: {node: '>=10'} + + yocto-queue@1.0.0: + resolution: {integrity: sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==} + engines: {node: '>=12.20'} + + zwitch@2.0.4: + resolution: {integrity: sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==} + +snapshots: + + '@adobe/jsonschema2md@8.0.2': + dependencies: + '@types/json-schema': 7.0.15 + '@types/mdast': 4.0.4 + es2015-i18n-tag: 1.6.1 + ferrum: 1.9.4 + fs-extra: 11.2.0 + github-slugger: 2.0.0 + js-yaml: 4.1.0 + json-schema: 0.4.0 + mdast-builder: 1.1.1 + mdast-util-to-string: 4.0.0 + readdirp: 3.6.0 + remark-gfm: 4.0.0 + remark-parse: 11.0.0 + remark-stringify: 11.0.0 + unified: 11.0.4 + unist-util-inspect: 8.0.0 + yargs: 17.7.2 + transitivePeerDependencies: + - supports-color + + '@algolia/autocomplete-core@1.9.3(@algolia/client-search@4.23.3)(algoliasearch@4.23.3)(search-insights@2.14.0)': + dependencies: + '@algolia/autocomplete-plugin-algolia-insights': 1.9.3(@algolia/client-search@4.23.3)(algoliasearch@4.23.3)(search-insights@2.14.0) + '@algolia/autocomplete-shared': 1.9.3(@algolia/client-search@4.23.3)(algoliasearch@4.23.3) + transitivePeerDependencies: + - '@algolia/client-search' + - algoliasearch + - search-insights + + '@algolia/autocomplete-plugin-algolia-insights@1.9.3(@algolia/client-search@4.23.3)(algoliasearch@4.23.3)(search-insights@2.14.0)': + dependencies: + '@algolia/autocomplete-shared': 1.9.3(@algolia/client-search@4.23.3)(algoliasearch@4.23.3) + search-insights: 2.14.0 + transitivePeerDependencies: + - '@algolia/client-search' + - algoliasearch + + '@algolia/autocomplete-preset-algolia@1.9.3(@algolia/client-search@4.23.3)(algoliasearch@4.23.3)': + dependencies: + '@algolia/autocomplete-shared': 1.9.3(@algolia/client-search@4.23.3)(algoliasearch@4.23.3) + '@algolia/client-search': 4.23.3 + algoliasearch: 4.23.3 + + '@algolia/autocomplete-shared@1.9.3(@algolia/client-search@4.23.3)(algoliasearch@4.23.3)': + dependencies: + '@algolia/client-search': 4.23.3 + algoliasearch: 4.23.3 + + '@algolia/cache-browser-local-storage@4.23.3': + dependencies: + '@algolia/cache-common': 4.23.3 + + '@algolia/cache-common@4.23.3': {} + + '@algolia/cache-in-memory@4.23.3': + dependencies: + '@algolia/cache-common': 4.23.3 + + '@algolia/client-account@4.23.3': + dependencies: + '@algolia/client-common': 4.23.3 + '@algolia/client-search': 4.23.3 + '@algolia/transporter': 4.23.3 + + '@algolia/client-analytics@4.23.3': + dependencies: + '@algolia/client-common': 4.23.3 + '@algolia/client-search': 4.23.3 + '@algolia/requester-common': 4.23.3 + '@algolia/transporter': 4.23.3 + + '@algolia/client-common@4.23.3': + dependencies: + '@algolia/requester-common': 4.23.3 + '@algolia/transporter': 4.23.3 + + '@algolia/client-personalization@4.23.3': + dependencies: + '@algolia/client-common': 4.23.3 + '@algolia/requester-common': 4.23.3 + '@algolia/transporter': 4.23.3 + + '@algolia/client-search@4.23.3': + dependencies: + '@algolia/client-common': 4.23.3 + '@algolia/requester-common': 4.23.3 + '@algolia/transporter': 4.23.3 + + '@algolia/logger-common@4.23.3': {} + + '@algolia/logger-console@4.23.3': + dependencies: + '@algolia/logger-common': 4.23.3 + + '@algolia/recommend@4.23.3': + dependencies: + '@algolia/cache-browser-local-storage': 4.23.3 + '@algolia/cache-common': 4.23.3 + '@algolia/cache-in-memory': 4.23.3 + '@algolia/client-common': 4.23.3 + '@algolia/client-search': 4.23.3 + '@algolia/logger-common': 4.23.3 + '@algolia/logger-console': 4.23.3 + '@algolia/requester-browser-xhr': 4.23.3 + '@algolia/requester-common': 4.23.3 + '@algolia/requester-node-http': 4.23.3 + '@algolia/transporter': 4.23.3 + + '@algolia/requester-browser-xhr@4.23.3': + dependencies: + '@algolia/requester-common': 4.23.3 + + '@algolia/requester-common@4.23.3': {} + + '@algolia/requester-node-http@4.23.3': + dependencies: + '@algolia/requester-common': 4.23.3 + + '@algolia/transporter@4.23.3': + dependencies: + '@algolia/cache-common': 4.23.3 + '@algolia/logger-common': 4.23.3 + '@algolia/requester-common': 4.23.3 + + '@alloc/quick-lru@5.2.0': {} + + '@ampproject/remapping@2.3.0': + dependencies: + '@jridgewell/gen-mapping': 0.3.5 + '@jridgewell/trace-mapping': 0.3.25 + + '@antfu/install-pkg@0.1.1': + dependencies: + execa: 5.1.1 + find-up: 5.0.0 + + '@antfu/utils@0.7.8': {} + + '@apideck/better-ajv-errors@0.3.6(ajv@8.16.0)': + dependencies: + ajv: 8.16.0 + json-schema: 0.4.0 + jsonpointer: 5.0.1 + leven: 3.1.0 + + '@applitools/core-base@1.15.1': + dependencies: + '@applitools/image': 1.1.12 + '@applitools/logger': 2.0.17 + '@applitools/req': 1.7.1 + '@applitools/utils': 1.7.3 + abort-controller: 3.0.0 + throat: 6.0.2 + transitivePeerDependencies: + - supports-color + + '@applitools/core@4.16.1(encoding@0.1.13)(typescript@5.4.5)': + dependencies: + '@applitools/core-base': 1.15.1 + '@applitools/dom-capture': 11.2.8 + '@applitools/dom-snapshot': 4.11.2 + '@applitools/driver': 1.17.3 + '@applitools/ec-client': 1.8.7(typescript@5.4.5) + '@applitools/logger': 2.0.17 + '@applitools/nml-client': 1.8.6 + '@applitools/req': 1.7.1 + '@applitools/screenshoter': 3.8.32 + '@applitools/snippets': 2.4.26 + '@applitools/socket': 1.1.17 + '@applitools/spec-driver-webdriver': 1.1.8(webdriver@7.31.1(typescript@5.4.5)) + '@applitools/ufg-client': 1.12.1 + '@applitools/utils': 1.7.3 + '@types/ws': 8.5.5 + abort-controller: 3.0.0 + chalk: 4.1.2 + node-fetch: 2.6.7(encoding@0.1.13) + semver: 7.5.4 + webdriver: 7.31.1(typescript@5.4.5) + ws: 8.13.0 + yargs: 17.7.2 + transitivePeerDependencies: + - bufferutil + - encoding + - supports-color + - typescript + - utf-8-validate + + '@applitools/css-tree@1.1.3': + dependencies: + mdn-data: 2.1.0 + source-map-js: 1.0.1 + + '@applitools/dom-capture@11.2.8': + dependencies: + '@applitools/dom-shared': 1.0.14 + '@applitools/functional-commons': 1.6.0 + + '@applitools/dom-shared@1.0.14': {} + + '@applitools/dom-snapshot@4.11.2': + dependencies: + '@applitools/css-tree': 1.1.3 + '@applitools/dom-shared': 1.0.14 + '@applitools/functional-commons': 1.6.0 + pako: 1.0.11 + + '@applitools/driver@1.17.3': + dependencies: + '@applitools/logger': 2.0.17 + '@applitools/snippets': 2.4.26 + '@applitools/utils': 1.7.3 + semver: 7.5.4 + transitivePeerDependencies: + - supports-color + + '@applitools/ec-client@1.8.7(typescript@5.4.5)': + dependencies: + '@applitools/core-base': 1.15.1 + '@applitools/driver': 1.17.3 + '@applitools/logger': 2.0.17 + '@applitools/req': 1.7.1 + '@applitools/socket': 1.1.17 + '@applitools/spec-driver-webdriver': 1.1.8(webdriver@7.31.1(typescript@5.4.5)) + '@applitools/tunnel-client': 1.5.4 + '@applitools/utils': 1.7.3 + abort-controller: 3.0.0 + webdriver: 7.31.1(typescript@5.4.5) + yargs: 17.7.2 + transitivePeerDependencies: + - supports-color + - typescript + + '@applitools/eg-frpc@1.0.5': {} + + '@applitools/eg-socks5-proxy-server@0.5.6': + dependencies: + binary: 0.3.0 + is-localhost-ip: 2.0.0 + + '@applitools/execution-grid-tunnel@3.0.4': + dependencies: + '@applitools/eg-frpc': 1.0.5 + '@applitools/eg-socks5-proxy-server': 0.5.6 + '@applitools/logger': 1.1.53 + dotenv: 16.4.5 + encoding: 0.1.13 + fastify: 3.29.5 + fastify-plugin: 3.0.1 + find-process: 1.4.7 + ini: 3.0.1 + node-cleanup: 2.1.2 + node-fetch: 2.6.7(encoding@0.1.13) + p-retry: 4.6.2 + teen_process: 1.16.0 + uuid: 9.0.1 + transitivePeerDependencies: + - supports-color + + '@applitools/eyes-cypress@3.44.4(encoding@0.1.13)(typescript@5.4.5)': + dependencies: + '@applitools/core': 4.16.1(encoding@0.1.13)(typescript@5.4.5) + '@applitools/eyes': 1.20.1(encoding@0.1.13)(typescript@5.4.5) + '@applitools/functional-commons': 1.6.0 + '@applitools/logger': 2.0.17 + '@applitools/utils': 1.7.3 + boxen: 5.1.2 + chalk: 3.0.0 + semver: 7.5.4 + uuid: 8.3.2 + ws: 8.5.0 + transitivePeerDependencies: + - bufferutil + - encoding + - supports-color + - typescript + - utf-8-validate + + '@applitools/eyes@1.20.1(encoding@0.1.13)(typescript@5.4.5)': + dependencies: + '@applitools/core': 4.16.1(encoding@0.1.13)(typescript@5.4.5) + '@applitools/logger': 2.0.17 + '@applitools/utils': 1.7.3 + transitivePeerDependencies: + - bufferutil + - encoding + - supports-color + - typescript + - utf-8-validate + + '@applitools/functional-commons@1.6.0': {} + + '@applitools/image@1.1.12': + dependencies: + '@applitools/utils': 1.7.3 + bmpimagejs: 1.0.4 + jpeg-js: 0.4.4 + omggif: 1.0.10 + png-async: 0.9.4 + + '@applitools/logger@1.1.53': + dependencies: + '@applitools/utils': 1.3.36 + chalk: 4.1.2 + debug: 4.3.3 + transitivePeerDependencies: + - supports-color + + '@applitools/logger@2.0.17': + dependencies: + '@applitools/utils': 1.7.3 + chalk: 4.1.2 + debug: 4.3.4 + transitivePeerDependencies: + - supports-color + + '@applitools/nml-client@1.8.6': + dependencies: + '@applitools/logger': 2.0.17 + '@applitools/req': 1.7.1 + '@applitools/utils': 1.7.3 + transitivePeerDependencies: + - supports-color + + '@applitools/req@1.7.1': + dependencies: + '@applitools/utils': 1.7.3 + abort-controller: 3.0.0 + http-proxy-agent: 5.0.0 + https-proxy-agent: 5.0.1 + node-fetch: 3.3.1 + transitivePeerDependencies: + - supports-color + + '@applitools/screenshoter@3.8.32': + dependencies: + '@applitools/image': 1.1.12 + '@applitools/logger': 2.0.17 + '@applitools/snippets': 2.4.26 + '@applitools/utils': 1.7.3 + transitivePeerDependencies: + - supports-color + + '@applitools/snippets@2.4.26': {} + + '@applitools/socket@1.1.17': + dependencies: + '@applitools/logger': 2.0.17 + '@applitools/utils': 1.7.3 + transitivePeerDependencies: + - supports-color + + '@applitools/spec-driver-webdriver@1.1.8(webdriver@7.31.1(typescript@5.4.5))': + dependencies: + '@applitools/driver': 1.17.3 + '@applitools/utils': 1.7.3 + http-proxy-agent: 5.0.0 + https-proxy-agent: 5.0.1 + webdriver: 7.31.1(typescript@5.4.5) + transitivePeerDependencies: + - supports-color + + '@applitools/tunnel-client@1.5.4': + dependencies: + '@applitools/execution-grid-tunnel': 3.0.4 + '@applitools/logger': 2.0.17 + '@applitools/req': 1.7.1 + '@applitools/socket': 1.1.17 + '@applitools/utils': 1.7.3 + abort-controller: 3.0.0 + yargs: 17.7.2 + transitivePeerDependencies: + - supports-color + + '@applitools/ufg-client@1.12.1': + dependencies: + '@applitools/css-tree': 1.1.3 + '@applitools/image': 1.1.12 + '@applitools/logger': 2.0.17 + '@applitools/req': 1.7.1 + '@applitools/utils': 1.7.3 + '@xmldom/xmldom': 0.8.10 + abort-controller: 3.0.0 + throat: 6.0.2 + transitivePeerDependencies: + - supports-color + + '@applitools/utils@1.3.36': {} + + '@applitools/utils@1.7.3': {} + + '@babel/code-frame@7.24.7': + dependencies: + '@babel/highlight': 7.24.7 + picocolors: 1.0.1 + + '@babel/compat-data@7.24.7': {} + + '@babel/core@7.24.7': + dependencies: + '@ampproject/remapping': 2.3.0 + '@babel/code-frame': 7.24.7 + '@babel/generator': 7.24.7 + '@babel/helper-compilation-targets': 7.24.7 + '@babel/helper-module-transforms': 7.24.7(@babel/core@7.24.7) + '@babel/helpers': 7.24.7 + '@babel/parser': 7.24.7 + '@babel/template': 7.24.7 + '@babel/traverse': 7.24.7 + '@babel/types': 7.24.7 + convert-source-map: 2.0.0 + debug: 4.3.5(supports-color@8.1.1) + gensync: 1.0.0-beta.2 + json5: 2.2.3 + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + + '@babel/generator@7.24.7': + dependencies: + '@babel/types': 7.24.7 + '@jridgewell/gen-mapping': 0.3.5 + '@jridgewell/trace-mapping': 0.3.25 + jsesc: 2.5.2 + + '@babel/helper-annotate-as-pure@7.24.7': + dependencies: + '@babel/types': 7.24.7 + + '@babel/helper-builder-binary-assignment-operator-visitor@7.24.7': + dependencies: + '@babel/traverse': 7.24.7 + '@babel/types': 7.24.7 + transitivePeerDependencies: + - supports-color + + '@babel/helper-compilation-targets@7.24.7': + dependencies: + '@babel/compat-data': 7.24.7 + '@babel/helper-validator-option': 7.24.7 + browserslist: 4.23.1 + lru-cache: 5.1.1 + semver: 6.3.1 + + '@babel/helper-create-class-features-plugin@7.24.7(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-annotate-as-pure': 7.24.7 + '@babel/helper-environment-visitor': 7.24.7 + '@babel/helper-function-name': 7.24.7 + '@babel/helper-member-expression-to-functions': 7.24.7 + '@babel/helper-optimise-call-expression': 7.24.7 + '@babel/helper-replace-supers': 7.24.7(@babel/core@7.24.7) + '@babel/helper-skip-transparent-expression-wrappers': 7.24.7 + '@babel/helper-split-export-declaration': 7.24.7 + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + + '@babel/helper-create-regexp-features-plugin@7.24.7(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-annotate-as-pure': 7.24.7 + regexpu-core: 5.3.2 + semver: 6.3.1 + + '@babel/helper-define-polyfill-provider@0.6.2(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-compilation-targets': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + debug: 4.3.5(supports-color@8.1.1) + lodash.debounce: 4.0.8 + resolve: 1.22.8 + transitivePeerDependencies: + - supports-color + + '@babel/helper-environment-visitor@7.24.7': + dependencies: + '@babel/types': 7.24.7 + + '@babel/helper-function-name@7.24.7': + dependencies: + '@babel/template': 7.24.7 + '@babel/types': 7.24.7 + + '@babel/helper-hoist-variables@7.24.7': + dependencies: + '@babel/types': 7.24.7 + + '@babel/helper-member-expression-to-functions@7.24.7': + dependencies: + '@babel/traverse': 7.24.7 + '@babel/types': 7.24.7 + transitivePeerDependencies: + - supports-color + + '@babel/helper-module-imports@7.24.7': + dependencies: + '@babel/traverse': 7.24.7 + '@babel/types': 7.24.7 + transitivePeerDependencies: + - supports-color + + '@babel/helper-module-transforms@7.24.7(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-environment-visitor': 7.24.7 + '@babel/helper-module-imports': 7.24.7 + '@babel/helper-simple-access': 7.24.7 + '@babel/helper-split-export-declaration': 7.24.7 + '@babel/helper-validator-identifier': 7.24.7 + transitivePeerDependencies: + - supports-color + + '@babel/helper-optimise-call-expression@7.24.7': + dependencies: + '@babel/types': 7.24.7 + + '@babel/helper-plugin-utils@7.24.7': {} + + '@babel/helper-remap-async-to-generator@7.24.7(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-annotate-as-pure': 7.24.7 + '@babel/helper-environment-visitor': 7.24.7 + '@babel/helper-wrap-function': 7.24.7 + transitivePeerDependencies: + - supports-color + + '@babel/helper-replace-supers@7.24.7(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-environment-visitor': 7.24.7 + '@babel/helper-member-expression-to-functions': 7.24.7 + '@babel/helper-optimise-call-expression': 7.24.7 + transitivePeerDependencies: + - supports-color + + '@babel/helper-simple-access@7.24.7': + dependencies: + '@babel/traverse': 7.24.7 + '@babel/types': 7.24.7 + transitivePeerDependencies: + - supports-color + + '@babel/helper-skip-transparent-expression-wrappers@7.24.7': + dependencies: + '@babel/traverse': 7.24.7 + '@babel/types': 7.24.7 + transitivePeerDependencies: + - supports-color + + '@babel/helper-split-export-declaration@7.24.7': + dependencies: + '@babel/types': 7.24.7 + + '@babel/helper-string-parser@7.24.7': {} + + '@babel/helper-validator-identifier@7.24.7': {} + + '@babel/helper-validator-option@7.24.7': {} + + '@babel/helper-wrap-function@7.24.7': + dependencies: + '@babel/helper-function-name': 7.24.7 + '@babel/template': 7.24.7 + '@babel/traverse': 7.24.7 + '@babel/types': 7.24.7 + transitivePeerDependencies: + - supports-color + + '@babel/helpers@7.24.7': + dependencies: + '@babel/template': 7.24.7 + '@babel/types': 7.24.7 + + '@babel/highlight@7.24.7': + dependencies: + '@babel/helper-validator-identifier': 7.24.7 + chalk: 2.4.2 + js-tokens: 4.0.0 + picocolors: 1.0.1 + + '@babel/parser@7.24.7': + dependencies: + '@babel/types': 7.24.7 + + '@babel/plugin-bugfix-firefox-class-in-computed-class-key@7.24.7(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-environment-visitor': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + + '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.24.7(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + + '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.24.7(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + '@babel/helper-skip-transparent-expression-wrappers': 7.24.7 + '@babel/plugin-transform-optional-chaining': 7.24.7(@babel/core@7.24.7) + transitivePeerDependencies: + - supports-color + + '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.24.7(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-environment-visitor': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + + '@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + + '@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + + '@babel/plugin-syntax-bigint@7.8.3(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + + '@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + + '@babel/plugin-syntax-class-static-block@7.14.5(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + + '@babel/plugin-syntax-dynamic-import@7.8.3(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + + '@babel/plugin-syntax-export-namespace-from@7.8.3(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + + '@babel/plugin-syntax-import-assertions@7.24.7(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + + '@babel/plugin-syntax-import-attributes@7.24.7(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + + '@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + + '@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + + '@babel/plugin-syntax-jsx@7.24.7(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + + '@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + + '@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + + '@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + + '@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + + '@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + + '@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + + '@babel/plugin-syntax-private-property-in-object@7.14.5(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + + '@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + + '@babel/plugin-syntax-typescript@7.24.7(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + + '@babel/plugin-syntax-unicode-sets-regex@7.18.6(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-create-regexp-features-plugin': 7.24.7(@babel/core@7.24.7) + '@babel/helper-plugin-utils': 7.24.7 + + '@babel/plugin-transform-arrow-functions@7.24.7(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + + '@babel/plugin-transform-async-generator-functions@7.24.7(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-environment-visitor': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + '@babel/helper-remap-async-to-generator': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.24.7) + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-async-to-generator@7.24.7(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-module-imports': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + '@babel/helper-remap-async-to-generator': 7.24.7(@babel/core@7.24.7) + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-block-scoped-functions@7.24.7(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + + '@babel/plugin-transform-block-scoping@7.24.7(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + + '@babel/plugin-transform-class-properties@7.24.7(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-create-class-features-plugin': 7.24.7(@babel/core@7.24.7) + '@babel/helper-plugin-utils': 7.24.7 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-class-static-block@7.24.7(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-create-class-features-plugin': 7.24.7(@babel/core@7.24.7) + '@babel/helper-plugin-utils': 7.24.7 + '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.24.7) + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-classes@7.24.7(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-annotate-as-pure': 7.24.7 + '@babel/helper-compilation-targets': 7.24.7 + '@babel/helper-environment-visitor': 7.24.7 + '@babel/helper-function-name': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + '@babel/helper-replace-supers': 7.24.7(@babel/core@7.24.7) + '@babel/helper-split-export-declaration': 7.24.7 + globals: 11.12.0 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-computed-properties@7.24.7(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + '@babel/template': 7.24.7 + + '@babel/plugin-transform-destructuring@7.24.7(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + + '@babel/plugin-transform-dotall-regex@7.24.7(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-create-regexp-features-plugin': 7.24.7(@babel/core@7.24.7) + '@babel/helper-plugin-utils': 7.24.7 + + '@babel/plugin-transform-duplicate-keys@7.24.7(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + + '@babel/plugin-transform-dynamic-import@7.24.7(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.24.7) + + '@babel/plugin-transform-exponentiation-operator@7.24.7(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-builder-binary-assignment-operator-visitor': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-export-namespace-from@7.24.7(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.24.7) + + '@babel/plugin-transform-for-of@7.24.7(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + '@babel/helper-skip-transparent-expression-wrappers': 7.24.7 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-function-name@7.24.7(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-compilation-targets': 7.24.7 + '@babel/helper-function-name': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + + '@babel/plugin-transform-json-strings@7.24.7(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.24.7) + + '@babel/plugin-transform-literals@7.24.7(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + + '@babel/plugin-transform-logical-assignment-operators@7.24.7(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.24.7) + + '@babel/plugin-transform-member-expression-literals@7.24.7(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + + '@babel/plugin-transform-modules-amd@7.24.7(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-module-transforms': 7.24.7(@babel/core@7.24.7) + '@babel/helper-plugin-utils': 7.24.7 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-modules-commonjs@7.24.7(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-module-transforms': 7.24.7(@babel/core@7.24.7) + '@babel/helper-plugin-utils': 7.24.7 + '@babel/helper-simple-access': 7.24.7 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-modules-systemjs@7.24.7(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-hoist-variables': 7.24.7 + '@babel/helper-module-transforms': 7.24.7(@babel/core@7.24.7) + '@babel/helper-plugin-utils': 7.24.7 + '@babel/helper-validator-identifier': 7.24.7 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-modules-umd@7.24.7(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-module-transforms': 7.24.7(@babel/core@7.24.7) + '@babel/helper-plugin-utils': 7.24.7 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-named-capturing-groups-regex@7.24.7(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-create-regexp-features-plugin': 7.24.7(@babel/core@7.24.7) + '@babel/helper-plugin-utils': 7.24.7 + + '@babel/plugin-transform-new-target@7.24.7(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + + '@babel/plugin-transform-nullish-coalescing-operator@7.24.7(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.24.7) + + '@babel/plugin-transform-numeric-separator@7.24.7(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.24.7) + + '@babel/plugin-transform-object-rest-spread@7.24.7(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-compilation-targets': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.24.7) + '@babel/plugin-transform-parameters': 7.24.7(@babel/core@7.24.7) + + '@babel/plugin-transform-object-super@7.24.7(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + '@babel/helper-replace-supers': 7.24.7(@babel/core@7.24.7) + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-optional-catch-binding@7.24.7(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.24.7) + + '@babel/plugin-transform-optional-chaining@7.24.7(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + '@babel/helper-skip-transparent-expression-wrappers': 7.24.7 + '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.24.7) + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-parameters@7.24.7(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + + '@babel/plugin-transform-private-methods@7.24.7(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-create-class-features-plugin': 7.24.7(@babel/core@7.24.7) + '@babel/helper-plugin-utils': 7.24.7 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-private-property-in-object@7.24.7(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-annotate-as-pure': 7.24.7 + '@babel/helper-create-class-features-plugin': 7.24.7(@babel/core@7.24.7) + '@babel/helper-plugin-utils': 7.24.7 + '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.24.7) + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-property-literals@7.24.7(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + + '@babel/plugin-transform-regenerator@7.24.7(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + regenerator-transform: 0.15.2 + + '@babel/plugin-transform-reserved-words@7.24.7(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + + '@babel/plugin-transform-shorthand-properties@7.24.7(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + + '@babel/plugin-transform-spread@7.24.7(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + '@babel/helper-skip-transparent-expression-wrappers': 7.24.7 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-sticky-regex@7.24.7(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + + '@babel/plugin-transform-template-literals@7.24.7(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + + '@babel/plugin-transform-typeof-symbol@7.24.7(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + + '@babel/plugin-transform-typescript@7.24.7(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-annotate-as-pure': 7.24.7 + '@babel/helper-create-class-features-plugin': 7.24.7(@babel/core@7.24.7) + '@babel/helper-plugin-utils': 7.24.7 + '@babel/plugin-syntax-typescript': 7.24.7(@babel/core@7.24.7) + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-unicode-escapes@7.24.7(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + + '@babel/plugin-transform-unicode-property-regex@7.24.7(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-create-regexp-features-plugin': 7.24.7(@babel/core@7.24.7) + '@babel/helper-plugin-utils': 7.24.7 + + '@babel/plugin-transform-unicode-regex@7.24.7(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-create-regexp-features-plugin': 7.24.7(@babel/core@7.24.7) + '@babel/helper-plugin-utils': 7.24.7 + + '@babel/plugin-transform-unicode-sets-regex@7.24.7(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-create-regexp-features-plugin': 7.24.7(@babel/core@7.24.7) + '@babel/helper-plugin-utils': 7.24.7 + + '@babel/preset-env@7.24.7(@babel/core@7.24.7)': + dependencies: + '@babel/compat-data': 7.24.7 + '@babel/core': 7.24.7 + '@babel/helper-compilation-targets': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + '@babel/helper-validator-option': 7.24.7 + '@babel/plugin-bugfix-firefox-class-in-computed-class-key': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-proposal-private-property-in-object': 7.21.0-placeholder-for-preset-env.2(@babel/core@7.24.7) + '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.24.7) + '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.24.7) + '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.24.7) + '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.24.7) + '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.24.7) + '@babel/plugin-syntax-import-assertions': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-syntax-import-attributes': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.24.7) + '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.24.7) + '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.24.7) + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.24.7) + '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.24.7) + '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.24.7) + '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.24.7) + '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.24.7) + '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.24.7) + '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.24.7) + '@babel/plugin-syntax-unicode-sets-regex': 7.18.6(@babel/core@7.24.7) + '@babel/plugin-transform-arrow-functions': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-transform-async-generator-functions': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-transform-async-to-generator': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-transform-block-scoped-functions': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-transform-block-scoping': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-transform-class-properties': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-transform-class-static-block': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-transform-classes': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-transform-computed-properties': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-transform-destructuring': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-transform-dotall-regex': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-transform-duplicate-keys': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-transform-dynamic-import': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-transform-exponentiation-operator': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-transform-export-namespace-from': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-transform-for-of': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-transform-function-name': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-transform-json-strings': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-transform-literals': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-transform-logical-assignment-operators': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-transform-member-expression-literals': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-transform-modules-amd': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-transform-modules-commonjs': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-transform-modules-systemjs': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-transform-modules-umd': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-transform-named-capturing-groups-regex': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-transform-new-target': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-transform-nullish-coalescing-operator': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-transform-numeric-separator': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-transform-object-rest-spread': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-transform-object-super': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-transform-optional-catch-binding': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-transform-optional-chaining': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-transform-parameters': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-transform-private-methods': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-transform-private-property-in-object': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-transform-property-literals': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-transform-regenerator': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-transform-reserved-words': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-transform-shorthand-properties': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-transform-spread': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-transform-sticky-regex': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-transform-template-literals': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-transform-typeof-symbol': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-transform-unicode-escapes': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-transform-unicode-property-regex': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-transform-unicode-regex': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-transform-unicode-sets-regex': 7.24.7(@babel/core@7.24.7) + '@babel/preset-modules': 0.1.6-no-external-plugins(@babel/core@7.24.7) + babel-plugin-polyfill-corejs2: 0.4.11(@babel/core@7.24.7) + babel-plugin-polyfill-corejs3: 0.10.4(@babel/core@7.24.7) + babel-plugin-polyfill-regenerator: 0.6.2(@babel/core@7.24.7) + core-js-compat: 3.37.1 + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + + '@babel/preset-modules@0.1.6-no-external-plugins(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + '@babel/types': 7.24.7 + esutils: 2.0.3 + + '@babel/preset-typescript@7.24.7(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + '@babel/helper-validator-option': 7.24.7 + '@babel/plugin-syntax-jsx': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-transform-modules-commonjs': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-transform-typescript': 7.24.7(@babel/core@7.24.7) + transitivePeerDependencies: + - supports-color + + '@babel/regjsgen@0.8.0': {} + + '@babel/runtime@7.24.7': + dependencies: + regenerator-runtime: 0.14.1 + + '@babel/template@7.24.7': + dependencies: + '@babel/code-frame': 7.24.7 + '@babel/parser': 7.24.7 + '@babel/types': 7.24.7 + + '@babel/traverse@7.24.7': + dependencies: + '@babel/code-frame': 7.24.7 + '@babel/generator': 7.24.7 + '@babel/helper-environment-visitor': 7.24.7 + '@babel/helper-function-name': 7.24.7 + '@babel/helper-hoist-variables': 7.24.7 + '@babel/helper-split-export-declaration': 7.24.7 + '@babel/parser': 7.24.7 + '@babel/types': 7.24.7 + debug: 4.3.5(supports-color@8.1.1) + globals: 11.12.0 + transitivePeerDependencies: + - supports-color + + '@babel/types@7.24.7': + dependencies: + '@babel/helper-string-parser': 7.24.7 + '@babel/helper-validator-identifier': 7.24.7 + to-fast-properties: 2.0.0 + + '@bcherny/json-schema-ref-parser@10.0.5-fork': + dependencies: + '@jsdevtools/ono': 7.1.3 + '@types/json-schema': 7.0.15 + call-me-maybe: 1.0.2 + js-yaml: 4.1.0 + + '@bcoe/v8-coverage@0.2.3': {} + + '@braintree/sanitize-url@7.0.2': {} + + '@chevrotain/cst-dts-gen@11.0.3': + dependencies: + '@chevrotain/gast': 11.0.3 + '@chevrotain/types': 11.0.3 + lodash-es: 4.17.21 + + '@chevrotain/gast@11.0.3': + dependencies: + '@chevrotain/types': 11.0.3 + lodash-es: 4.17.21 + + '@chevrotain/regexp-to-ast@11.0.3': {} + + '@chevrotain/types@11.0.3': {} + + '@chevrotain/utils@11.0.3': {} + + '@colors/colors@1.5.0': + optional: true + + '@cspell/cspell-bundled-dicts@8.8.4': + dependencies: + '@cspell/dict-ada': 4.0.2 + '@cspell/dict-aws': 4.0.2 + '@cspell/dict-bash': 4.1.3 + '@cspell/dict-companies': 3.1.2 + '@cspell/dict-cpp': 5.1.9 + '@cspell/dict-cryptocurrencies': 5.0.0 + '@cspell/dict-csharp': 4.0.2 + '@cspell/dict-css': 4.0.12 + '@cspell/dict-dart': 2.0.3 + '@cspell/dict-django': 4.1.0 + '@cspell/dict-docker': 1.1.7 + '@cspell/dict-dotnet': 5.0.2 + '@cspell/dict-elixir': 4.0.3 + '@cspell/dict-en-common-misspellings': 2.0.1 + '@cspell/dict-en-gb': 1.1.33 + '@cspell/dict-en_us': 4.3.21 + '@cspell/dict-filetypes': 3.0.4 + '@cspell/dict-fonts': 4.0.0 + '@cspell/dict-fsharp': 1.0.1 + '@cspell/dict-fullstack': 3.1.8 + '@cspell/dict-gaming-terms': 1.0.5 + '@cspell/dict-git': 3.0.0 + '@cspell/dict-golang': 6.0.9 + '@cspell/dict-google': 1.0.1 + '@cspell/dict-haskell': 4.0.1 + '@cspell/dict-html': 4.0.5 + '@cspell/dict-html-symbol-entities': 4.0.0 + '@cspell/dict-java': 5.0.7 + '@cspell/dict-julia': 1.0.1 + '@cspell/dict-k8s': 1.0.5 + '@cspell/dict-latex': 4.0.0 + '@cspell/dict-lorem-ipsum': 4.0.0 + '@cspell/dict-lua': 4.0.3 + '@cspell/dict-makefile': 1.0.0 + '@cspell/dict-monkeyc': 1.0.6 + '@cspell/dict-node': 5.0.1 + '@cspell/dict-npm': 5.0.16 + '@cspell/dict-php': 4.0.8 + '@cspell/dict-powershell': 5.0.4 + '@cspell/dict-public-licenses': 2.0.7 + '@cspell/dict-python': 4.2.1 + '@cspell/dict-r': 2.0.1 + '@cspell/dict-ruby': 5.0.2 + '@cspell/dict-rust': 4.0.4 + '@cspell/dict-scala': 5.0.2 + '@cspell/dict-software-terms': 3.4.5 + '@cspell/dict-sql': 2.1.3 + '@cspell/dict-svelte': 1.0.2 + '@cspell/dict-swift': 2.0.1 + '@cspell/dict-terraform': 1.0.0 + '@cspell/dict-typescript': 3.1.5 + '@cspell/dict-vue': 3.0.0 + + '@cspell/cspell-json-reporter@8.8.4': + dependencies: + '@cspell/cspell-types': 8.8.4 + + '@cspell/cspell-pipe@8.8.4': {} + + '@cspell/cspell-resolver@8.8.4': + dependencies: + global-directory: 4.0.1 + + '@cspell/cspell-service-bus@8.8.4': {} + + '@cspell/cspell-types@8.8.4': {} + + '@cspell/dict-ada@4.0.2': {} + + '@cspell/dict-aws@4.0.2': {} + + '@cspell/dict-bash@4.1.3': {} + + '@cspell/dict-companies@3.1.2': {} + + '@cspell/dict-cpp@5.1.9': {} + + '@cspell/dict-cryptocurrencies@5.0.0': {} + + '@cspell/dict-csharp@4.0.2': {} + + '@cspell/dict-css@4.0.12': {} + + '@cspell/dict-dart@2.0.3': {} + + '@cspell/dict-data-science@2.0.1': {} + + '@cspell/dict-django@4.1.0': {} + + '@cspell/dict-docker@1.1.7': {} + + '@cspell/dict-dotnet@5.0.2': {} + + '@cspell/dict-elixir@4.0.3': {} + + '@cspell/dict-en-common-misspellings@2.0.1': {} + + '@cspell/dict-en-gb@1.1.33': {} + + '@cspell/dict-en_us@4.3.21': {} + + '@cspell/dict-filetypes@3.0.4': {} + + '@cspell/dict-fonts@4.0.0': {} + + '@cspell/dict-fsharp@1.0.1': {} + + '@cspell/dict-fullstack@3.1.8': {} + + '@cspell/dict-gaming-terms@1.0.5': {} + + '@cspell/dict-git@3.0.0': {} + + '@cspell/dict-golang@6.0.9': {} + + '@cspell/dict-google@1.0.1': {} + + '@cspell/dict-haskell@4.0.1': {} + + '@cspell/dict-html-symbol-entities@4.0.0': {} + + '@cspell/dict-html@4.0.5': {} + + '@cspell/dict-java@5.0.7': {} + + '@cspell/dict-julia@1.0.1': {} + + '@cspell/dict-k8s@1.0.5': {} + + '@cspell/dict-latex@4.0.0': {} + + '@cspell/dict-lorem-ipsum@4.0.0': {} + + '@cspell/dict-lua@4.0.3': {} + + '@cspell/dict-makefile@1.0.0': {} + + '@cspell/dict-monkeyc@1.0.6': {} + + '@cspell/dict-node@5.0.1': {} + + '@cspell/dict-npm@5.0.16': {} + + '@cspell/dict-php@4.0.8': {} + + '@cspell/dict-powershell@5.0.4': {} + + '@cspell/dict-public-licenses@2.0.7': {} + + '@cspell/dict-python@4.2.1': + dependencies: + '@cspell/dict-data-science': 2.0.1 + + '@cspell/dict-r@2.0.1': {} + + '@cspell/dict-ruby@5.0.2': {} + + '@cspell/dict-rust@4.0.4': {} + + '@cspell/dict-scala@5.0.2': {} + + '@cspell/dict-software-terms@3.4.5': {} + + '@cspell/dict-sql@2.1.3': {} + + '@cspell/dict-svelte@1.0.2': {} + + '@cspell/dict-swift@2.0.1': {} + + '@cspell/dict-terraform@1.0.0': {} + + '@cspell/dict-typescript@3.1.5': {} + + '@cspell/dict-vue@3.0.0': {} + + '@cspell/dynamic-import@8.8.4': + dependencies: + import-meta-resolve: 4.1.0 + + '@cspell/eslint-plugin@8.8.4(eslint@8.57.0)': + dependencies: + '@cspell/cspell-types': 8.8.4 + cspell-lib: 8.8.4 + eslint: 8.57.0 + estree-walker: 3.0.3 + synckit: 0.9.0 + + '@cspell/strong-weak-map@8.8.4': {} + + '@cypress/code-coverage@3.12.39(@babel/core@7.24.7)(@babel/preset-env@7.24.7(@babel/core@7.24.7))(babel-loader@9.1.3(@babel/core@7.24.7)(webpack@5.92.0(esbuild@0.20.2)))(cypress@13.11.0)(webpack@5.92.0(esbuild@0.20.2))': + dependencies: + '@babel/core': 7.24.7 + '@babel/preset-env': 7.24.7(@babel/core@7.24.7) + '@cypress/webpack-preprocessor': 6.0.2(@babel/core@7.24.7)(@babel/preset-env@7.24.7(@babel/core@7.24.7))(babel-loader@9.1.3(@babel/core@7.24.7)(webpack@5.92.0(esbuild@0.20.2)))(webpack@5.92.0(esbuild@0.20.2)) + babel-loader: 9.1.3(@babel/core@7.24.7)(webpack@5.92.0(esbuild@0.20.2)) + chalk: 4.1.2 + cypress: 13.11.0 + dayjs: 1.11.10 + debug: 4.3.4 + execa: 4.1.0 + globby: 11.1.0 + istanbul-lib-coverage: 3.2.2 + js-yaml: 4.1.0 + nyc: 15.1.0 + webpack: 5.92.0(esbuild@0.20.2) + transitivePeerDependencies: + - supports-color + + '@cypress/request@3.0.1': + dependencies: + aws-sign2: 0.7.0 + aws4: 1.13.0 + caseless: 0.12.0 + combined-stream: 1.0.8 + extend: 3.0.2 + forever-agent: 0.6.1 + form-data: 2.3.3 + http-signature: 1.3.6 + is-typedarray: 1.0.0 + isstream: 0.1.2 + json-stringify-safe: 5.0.1 + mime-types: 2.1.35 + performance-now: 2.1.0 + qs: 6.10.4 + safe-buffer: 5.2.1 + tough-cookie: 4.1.4 + tunnel-agent: 0.6.0 + uuid: 8.3.2 + + '@cypress/webpack-preprocessor@6.0.2(@babel/core@7.24.7)(@babel/preset-env@7.24.7(@babel/core@7.24.7))(babel-loader@9.1.3(@babel/core@7.24.7)(webpack@5.92.0(esbuild@0.20.2)))(webpack@5.92.0(esbuild@0.20.2))': + dependencies: + '@babel/core': 7.24.7 + '@babel/preset-env': 7.24.7(@babel/core@7.24.7) + babel-loader: 9.1.3(@babel/core@7.24.7)(webpack@5.92.0(esbuild@0.20.2)) + bluebird: 3.7.1 + debug: 4.3.4 + lodash: 4.17.21 + webpack: 5.92.0(esbuild@0.20.2) + transitivePeerDependencies: + - supports-color + + '@cypress/xvfb@1.2.4(supports-color@8.1.1)': + dependencies: + debug: 3.2.7(supports-color@8.1.1) + lodash.once: 4.1.1 + transitivePeerDependencies: + - supports-color + + '@discoveryjs/json-ext@0.5.7': {} + + '@docsearch/css@3.6.0': {} + + '@docsearch/js@3.6.0(@algolia/client-search@4.23.3)(search-insights@2.14.0)': + dependencies: + '@docsearch/react': 3.6.0(@algolia/client-search@4.23.3)(search-insights@2.14.0) + preact: 10.22.0 + transitivePeerDependencies: + - '@algolia/client-search' + - '@types/react' + - react + - react-dom + - search-insights + + '@docsearch/react@3.6.0(@algolia/client-search@4.23.3)(search-insights@2.14.0)': + dependencies: + '@algolia/autocomplete-core': 1.9.3(@algolia/client-search@4.23.3)(algoliasearch@4.23.3)(search-insights@2.14.0) + '@algolia/autocomplete-preset-algolia': 1.9.3(@algolia/client-search@4.23.3)(algoliasearch@4.23.3) + '@docsearch/css': 3.6.0 + algoliasearch: 4.23.3 + optionalDependencies: + search-insights: 2.14.0 + transitivePeerDependencies: + - '@algolia/client-search' + + '@es-joy/jsdoccomment@0.43.1': + dependencies: + '@types/eslint': 8.56.10 + '@types/estree': 1.0.5 + '@typescript-eslint/types': 7.13.0 + comment-parser: 1.4.1 + esquery: 1.5.0 + jsdoc-type-pratt-parser: 4.0.0 + + '@esbuild/aix-ppc64@0.20.2': + optional: true + + '@esbuild/aix-ppc64@0.21.5': + optional: true + + '@esbuild/android-arm64@0.20.2': + optional: true + + '@esbuild/android-arm64@0.21.5': + optional: true + + '@esbuild/android-arm@0.20.2': + optional: true + + '@esbuild/android-arm@0.21.5': + optional: true + + '@esbuild/android-x64@0.20.2': + optional: true + + '@esbuild/android-x64@0.21.5': + optional: true + + '@esbuild/darwin-arm64@0.20.2': + optional: true + + '@esbuild/darwin-arm64@0.21.5': + optional: true + + '@esbuild/darwin-x64@0.20.2': + optional: true + + '@esbuild/darwin-x64@0.21.5': + optional: true + + '@esbuild/freebsd-arm64@0.20.2': + optional: true + + '@esbuild/freebsd-arm64@0.21.5': + optional: true + + '@esbuild/freebsd-x64@0.20.2': + optional: true + + '@esbuild/freebsd-x64@0.21.5': + optional: true + + '@esbuild/linux-arm64@0.20.2': + optional: true + + '@esbuild/linux-arm64@0.21.5': + optional: true + + '@esbuild/linux-arm@0.20.2': + optional: true + + '@esbuild/linux-arm@0.21.5': + optional: true + + '@esbuild/linux-ia32@0.20.2': + optional: true + + '@esbuild/linux-ia32@0.21.5': + optional: true + + '@esbuild/linux-loong64@0.20.2': + optional: true + + '@esbuild/linux-loong64@0.21.5': + optional: true + + '@esbuild/linux-mips64el@0.20.2': + optional: true + + '@esbuild/linux-mips64el@0.21.5': + optional: true + + '@esbuild/linux-ppc64@0.20.2': + optional: true + + '@esbuild/linux-ppc64@0.21.5': + optional: true + + '@esbuild/linux-riscv64@0.20.2': + optional: true + + '@esbuild/linux-riscv64@0.21.5': + optional: true + + '@esbuild/linux-s390x@0.20.2': + optional: true + + '@esbuild/linux-s390x@0.21.5': + optional: true + + '@esbuild/linux-x64@0.20.2': + optional: true + + '@esbuild/linux-x64@0.21.5': + optional: true + + '@esbuild/netbsd-x64@0.20.2': + optional: true + + '@esbuild/netbsd-x64@0.21.5': + optional: true + + '@esbuild/openbsd-x64@0.20.2': + optional: true + + '@esbuild/openbsd-x64@0.21.5': + optional: true + + '@esbuild/sunos-x64@0.20.2': + optional: true + + '@esbuild/sunos-x64@0.21.5': + optional: true + + '@esbuild/win32-arm64@0.20.2': + optional: true + + '@esbuild/win32-arm64@0.21.5': + optional: true + + '@esbuild/win32-ia32@0.20.2': + optional: true + + '@esbuild/win32-ia32@0.21.5': + optional: true + + '@esbuild/win32-x64@0.20.2': + optional: true + + '@esbuild/win32-x64@0.21.5': + optional: true + + '@eslint-community/eslint-utils@4.4.0(eslint@8.57.0)': + dependencies: + eslint: 8.57.0 + eslint-visitor-keys: 3.4.3 + + '@eslint-community/regexpp@4.10.1': {} + + '@eslint/eslintrc@2.1.4': + dependencies: + ajv: 6.12.6 + debug: 4.3.5(supports-color@8.1.1) + espree: 9.6.1 + globals: 13.24.0 + ignore: 5.3.1 + import-fresh: 3.3.0 + js-yaml: 4.1.0 + minimatch: 3.1.2 + strip-json-comments: 3.1.1 + transitivePeerDependencies: + - supports-color + + '@eslint/js@8.57.0': {} + + '@fastify/ajv-compiler@1.1.0': + dependencies: + ajv: 6.12.6 + + '@fastify/error@2.0.0': {} + + '@floating-ui/core@1.6.2': + dependencies: + '@floating-ui/utils': 0.2.2 + + '@floating-ui/dom@1.6.5': + dependencies: + '@floating-ui/core': 1.6.2 + '@floating-ui/utils': 0.2.2 + + '@floating-ui/utils@0.2.2': {} + + '@floating-ui/vue@0.2.1(vue@3.4.27(typescript@5.4.5))': + dependencies: + '@floating-ui/dom': 1.6.5 + vue: 3.4.27(typescript@5.4.5) + vue-demi: 0.13.11(vue@3.4.27(typescript@5.4.5)) + + '@hapi/hoek@9.3.0': {} + + '@hapi/topo@5.1.0': + dependencies: + '@hapi/hoek': 9.3.0 + + '@headlessui-float/vue@0.11.4(vue@3.4.27(typescript@5.4.5))': + dependencies: + '@floating-ui/core': 1.6.2 + '@floating-ui/dom': 1.6.5 + '@floating-ui/vue': 0.2.1(vue@3.4.27(typescript@5.4.5)) + vue: 3.4.27(typescript@5.4.5) + transitivePeerDependencies: + - '@vue/composition-api' + + '@headlessui/tailwindcss@0.2.1(tailwindcss@3.4.4)': dependencies: tailwindcss: 3.4.4 - dev: false - /@headlessui/vue@1.7.22(vue@3.4.27): - resolution: {integrity: sha512-Hoffjoolq1rY+LOfJ+B/OvkhuBXXBFgd8oBlN+l1TApma2dB0En0ucFZrwQtb33SmcCqd32EQd0y07oziXWNYg==} - engines: {node: '>=10'} - peerDependencies: - vue: ^3.2.0 + '@headlessui/vue@1.7.22(vue@3.4.27(typescript@5.4.5))': dependencies: - '@tanstack/vue-virtual': 3.5.1(vue@3.4.27) + '@tanstack/vue-virtual': 3.5.1(vue@3.4.27(typescript@5.4.5)) vue: 3.4.27(typescript@5.4.5) - dev: false - /@humanwhocodes/config-array@0.11.14: - resolution: {integrity: sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==} - engines: {node: '>=10.10.0'} - deprecated: Use @eslint/config-array instead + '@humanwhocodes/config-array@0.11.14': dependencies: '@humanwhocodes/object-schema': 2.0.3 debug: 4.3.5(supports-color@8.1.1) minimatch: 3.1.2 transitivePeerDependencies: - supports-color - dev: true - /@humanwhocodes/module-importer@1.0.1: - resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==} - engines: {node: '>=12.22'} - dev: true + '@humanwhocodes/module-importer@1.0.1': {} - /@humanwhocodes/object-schema@2.0.3: - resolution: {integrity: sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==} - deprecated: Use @eslint/object-schema instead - dev: true + '@humanwhocodes/object-schema@2.0.3': {} - /@iconify-json/carbon@1.1.35: - resolution: {integrity: sha512-zKqioWceqFRiLJvxpjcCpVP3j2YcokYshlbwSAHBhOih5XNUymUS3hm1kpV4KljMI1xWH96UcozHaaf6x4YzdA==} + '@iconify-json/carbon@1.1.35': dependencies: '@iconify/types': 2.0.0 - dev: true - /@iconify/types@2.0.0: - resolution: {integrity: sha512-+wluvCrRhXrhyOmRDJ3q8mux9JkKy5SJ/v8ol2tu4FVjyYvtEzkc/3pK15ET6RKg4b4w4BmTk1+gsCUhf21Ykg==} - dev: true + '@iconify/types@2.0.0': {} - /@iconify/utils@2.1.24: - resolution: {integrity: sha512-H8r2KpL5uKyrkb3z9/3HD/22JcxqW3BJyjEWZhX2T7DehnYVZthEap1cNsEl/UtCDC3TlpNmwiPX8wg3y8E4dg==} + '@iconify/utils@2.1.24': dependencies: '@antfu/install-pkg': 0.1.1 '@antfu/utils': 0.7.8 @@ -3723,38 +10298,27 @@ packages: mlly: 1.7.1 transitivePeerDependencies: - supports-color - dev: true - /@isaacs/cliui@8.0.2: - resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==} - engines: {node: '>=12'} + '@isaacs/cliui@8.0.2': dependencies: string-width: 5.1.2 - string-width-cjs: /string-width@4.2.3 + string-width-cjs: string-width@4.2.3 strip-ansi: 7.1.0 - strip-ansi-cjs: /strip-ansi@6.0.1 + strip-ansi-cjs: strip-ansi@6.0.1 wrap-ansi: 8.1.0 - wrap-ansi-cjs: /wrap-ansi@7.0.0 + wrap-ansi-cjs: wrap-ansi@7.0.0 - /@istanbuljs/load-nyc-config@1.1.0: - resolution: {integrity: sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==} - engines: {node: '>=8'} + '@istanbuljs/load-nyc-config@1.1.0': dependencies: camelcase: 5.3.1 find-up: 4.1.0 get-package-type: 0.1.0 js-yaml: 3.14.1 resolve-from: 5.0.0 - dev: true - /@istanbuljs/schema@0.1.3: - resolution: {integrity: sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==} - engines: {node: '>=8'} - dev: true + '@istanbuljs/schema@0.1.3': {} - /@jest/console@29.7.0: - resolution: {integrity: sha512-5Ni4CU7XHQi32IJ398EEP4RrB8eV09sXP2ROqD4bksHrnTree52PsxvX8tpL8LvTZ3pFzXyPbNQReSN41CAhOg==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + '@jest/console@29.7.0': dependencies: '@jest/types': 29.6.3 '@types/node': 20.14.2 @@ -3762,16 +10326,8 @@ packages: jest-message-util: 29.7.0 jest-util: 29.7.0 slash: 3.0.0 - dev: true - /@jest/core@29.7.0: - resolution: {integrity: sha512-n7aeXWKMnGtDA48y8TLWJPJmLmmZ642Ceo78cYWEpiD7FzDgmNDV/GCVRorPABdXLJZ/9wzzgZAlHjXjxDHGsg==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - peerDependencies: - node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 - peerDependenciesMeta: - node-notifier: - optional: true + '@jest/core@29.7.0': dependencies: '@jest/console': 29.7.0 '@jest/reporters': 29.7.0 @@ -3805,38 +10361,26 @@ packages: - babel-plugin-macros - supports-color - ts-node - dev: true - /@jest/environment@29.7.0: - resolution: {integrity: sha512-aQIfHDq33ExsN4jP1NWGXhxgQ/wixs60gDiKO+XVMd8Mn0NWPWgc34ZQDTb2jKaUWQ7MuwoitXAsN2XVXNMpAw==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + '@jest/environment@29.7.0': dependencies: '@jest/fake-timers': 29.7.0 '@jest/types': 29.6.3 '@types/node': 20.14.2 jest-mock: 29.7.0 - dev: true - /@jest/expect-utils@29.7.0: - resolution: {integrity: sha512-GlsNBWiFQFCVi9QVSx7f5AgMeLxe9YCCs5PuP2O2LdjDAA8Jh9eX7lA1Jq/xdXw3Wb3hyvlFNfZIfcRetSzYcA==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + '@jest/expect-utils@29.7.0': dependencies: jest-get-type: 29.6.3 - dev: true - /@jest/expect@29.7.0: - resolution: {integrity: sha512-8uMeAMycttpva3P1lBHB8VciS9V0XAr3GymPpipdyQXbBcuhkLQOSe8E/p92RyAdToS6ZD1tFkX+CkhoECE0dQ==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + '@jest/expect@29.7.0': dependencies: expect: 29.7.0 jest-snapshot: 29.7.0 transitivePeerDependencies: - supports-color - dev: true - /@jest/fake-timers@29.7.0: - resolution: {integrity: sha512-q4DH1Ha4TTFPdxLsqDXK1d3+ioSL7yL5oCMJZgDYm6i+6CygW5E5xVr/D1HdsGxjt1ZWSfUAs9OxSB/BNelWrQ==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + '@jest/fake-timers@29.7.0': dependencies: '@jest/types': 29.6.3 '@sinonjs/fake-timers': 10.3.0 @@ -3844,11 +10388,8 @@ packages: jest-message-util: 29.7.0 jest-mock: 29.7.0 jest-util: 29.7.0 - dev: true - /@jest/globals@29.7.0: - resolution: {integrity: sha512-mpiz3dutLbkW2MNFubUGUEVLkTGiqW6yLVTA+JbP6fI6J5iL9Y0Nlg8k95pcF8ctKwCS7WVxteBs29hhfAotzQ==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + '@jest/globals@29.7.0': dependencies: '@jest/environment': 29.7.0 '@jest/expect': 29.7.0 @@ -3856,16 +10397,8 @@ packages: jest-mock: 29.7.0 transitivePeerDependencies: - supports-color - dev: true - /@jest/reporters@29.7.0: - resolution: {integrity: sha512-DApq0KJbJOEzAFYjHADNNxAE3KbhxQB1y5Kplb5Waqw6zVbuWatSnMjE5gs8FUgEPmNsnZA3NCWl9NG0ia04Pg==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - peerDependencies: - node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 - peerDependenciesMeta: - node-notifier: - optional: true + '@jest/reporters@29.7.0': dependencies: '@bcoe/v8-coverage': 0.2.3 '@jest/console': 29.7.0 @@ -3893,47 +10426,32 @@ packages: v8-to-istanbul: 9.2.0 transitivePeerDependencies: - supports-color - dev: true - /@jest/schemas@29.6.3: - resolution: {integrity: sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + '@jest/schemas@29.6.3': dependencies: '@sinclair/typebox': 0.27.8 - dev: true - /@jest/source-map@29.6.3: - resolution: {integrity: sha512-MHjT95QuipcPrpLM+8JMSzFx6eHp5Bm+4XeFDJlwsvVBjmKNiIAvasGK2fxz2WbGRlnvqehFbh07MMa7n3YJnw==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + '@jest/source-map@29.6.3': dependencies: '@jridgewell/trace-mapping': 0.3.25 callsites: 3.1.0 graceful-fs: 4.2.11 - dev: true - /@jest/test-result@29.7.0: - resolution: {integrity: sha512-Fdx+tv6x1zlkJPcWXmMDAG2HBnaR9XPSd5aDWQVsfrZmLVT3lU1cwyxLgRmXR9yrq4NBoEm9BMsfgFzTQAbJYA==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + '@jest/test-result@29.7.0': dependencies: '@jest/console': 29.7.0 '@jest/types': 29.6.3 '@types/istanbul-lib-coverage': 2.0.6 collect-v8-coverage: 1.0.2 - dev: true - /@jest/test-sequencer@29.7.0: - resolution: {integrity: sha512-GQwJ5WZVrKnOJuiYiAF52UNUJXgTZx1NHjFSEB0qEMmSZKAkdMoIzw/Cj6x6NF4AvV23AUqDpFzQkN/eYCYTxw==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + '@jest/test-sequencer@29.7.0': dependencies: '@jest/test-result': 29.7.0 graceful-fs: 4.2.11 jest-haste-map: 29.7.0 slash: 3.0.0 - dev: true - /@jest/transform@29.7.0: - resolution: {integrity: sha512-ok/BTPFzFKVMwO5eOHRrvnBVHdRy9IrsrW1GpMaQ9MCnilNLXQKmAX8s1YXDFaai9xJpac2ySzV0YeRRECr2Vw==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + '@jest/transform@29.7.0': dependencies: '@babel/core': 7.24.7 '@jest/types': 29.6.3 @@ -3952,11 +10470,8 @@ packages: write-file-atomic: 4.0.2 transitivePeerDependencies: - supports-color - dev: true - /@jest/types@29.6.3: - resolution: {integrity: sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + '@jest/types@29.6.3': dependencies: '@jest/schemas': 29.6.3 '@types/istanbul-lib-coverage': 2.0.6 @@ -3964,125 +10479,75 @@ packages: '@types/node': 20.14.2 '@types/yargs': 17.0.32 chalk: 4.1.2 - dev: true - /@jridgewell/gen-mapping@0.3.5: - resolution: {integrity: sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==} - engines: {node: '>=6.0.0'} + '@jridgewell/gen-mapping@0.3.5': dependencies: '@jridgewell/set-array': 1.2.1 '@jridgewell/sourcemap-codec': 1.4.15 '@jridgewell/trace-mapping': 0.3.25 - /@jridgewell/resolve-uri@3.1.2: - resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==} - engines: {node: '>=6.0.0'} + '@jridgewell/resolve-uri@3.1.2': {} - /@jridgewell/set-array@1.2.1: - resolution: {integrity: sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==} - engines: {node: '>=6.0.0'} + '@jridgewell/set-array@1.2.1': {} - /@jridgewell/source-map@0.3.6: - resolution: {integrity: sha512-1ZJTZebgqllO79ue2bm3rIGud/bOe0pP5BjSRCRxxYkEZS8STV7zN84UBbiYu7jy+eCKSnVIUgoWWE/tt+shMQ==} + '@jridgewell/source-map@0.3.6': dependencies: '@jridgewell/gen-mapping': 0.3.5 '@jridgewell/trace-mapping': 0.3.25 - dev: true - /@jridgewell/sourcemap-codec@1.4.15: - resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==} + '@jridgewell/sourcemap-codec@1.4.15': {} - /@jridgewell/trace-mapping@0.3.25: - resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==} + '@jridgewell/trace-mapping@0.3.25': dependencies: '@jridgewell/resolve-uri': 3.1.2 '@jridgewell/sourcemap-codec': 1.4.15 - /@jsdevtools/ono@7.1.3: - resolution: {integrity: sha512-4JQNk+3mVzK3xh2rqd6RB4J46qUR19azEHBneZyTZM+c456qOrbbM/5xcR8huNCCcbVt7+UmizG6GuUvPvKUYg==} - dev: true + '@jsdevtools/ono@7.1.3': {} - /@leichtgewicht/ip-codec@2.0.5: - resolution: {integrity: sha512-Vo+PSpZG2/fmgmiNzYK9qWRh8h/CHrwD0mo1h1DzL4yzHNSfWYujGTYsWGreD000gcgmZ7K4Ys6Tx9TxtsKdDw==} - dev: true + '@leichtgewicht/ip-codec@2.0.5': {} - /@mdi/font@7.4.47: - resolution: {integrity: sha512-43MtGpd585SNzHZPcYowu/84Vz2a2g31TvPMTm9uTiCSWzaheQySUcSyUH/46fPnuPQWof2yd0pGBtzee/IQWw==} - dev: false + '@mdi/font@7.4.47': {} - /@microsoft/tsdoc-config@0.16.2: - resolution: {integrity: sha512-OGiIzzoBLgWWR0UdRJX98oYO+XKGf7tiK4Zk6tQ/E4IJqGCe7dvkTvgDZV5cFJUzLGDOjeAXrnZoA6QkVySuxw==} + '@microsoft/tsdoc-config@0.16.2': dependencies: '@microsoft/tsdoc': 0.14.2 ajv: 6.12.6 jju: 1.4.0 resolve: 1.19.0 - dev: true - /@microsoft/tsdoc@0.14.2: - resolution: {integrity: sha512-9b8mPpKrfeGRuhFH5iO1iwCLeIIsV6+H1sRfxbkoGXIyQE2BTsPd9zqSqQJ+pv5sJ/hT5M1zvOFL02MnEezFug==} - dev: true + '@microsoft/tsdoc@0.14.2': {} - /@nodelib/fs.scandir@2.1.5: - resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} - engines: {node: '>= 8'} + '@nodelib/fs.scandir@2.1.5': dependencies: '@nodelib/fs.stat': 2.0.5 run-parallel: 1.2.0 - /@nodelib/fs.stat@2.0.5: - resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} - engines: {node: '>= 8'} + '@nodelib/fs.stat@2.0.5': {} - /@nodelib/fs.walk@1.2.8: - resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} - engines: {node: '>= 8'} + '@nodelib/fs.walk@1.2.8': dependencies: '@nodelib/fs.scandir': 2.1.5 fastq: 1.17.1 - /@pkgjs/parseargs@0.11.0: - resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==} - engines: {node: '>=14'} - requiresBuild: true + '@pkgjs/parseargs@0.11.0': optional: true - /@pkgr/core@0.1.1: - resolution: {integrity: sha512-cq8o4cWH0ibXh9VGi5P20Tu9XF/0fFXl9EUinr9QfTM7a7p0oTA4iJRCQWppXR1Pg8dSM0UCItCkPwsk9qWWYA==} - engines: {node: ^12.20.0 || ^14.18.0 || >=16.0.0} - dev: true + '@pkgr/core@0.1.1': {} - /@polka/url@1.0.0-next.25: - resolution: {integrity: sha512-j7P6Rgr3mmtdkeDGTe0E/aYyWEWVtc5yFXtHCRHs28/jptDEWfaVOc5T7cblqy1XKPPfCxJc/8DwQ5YgLOZOVQ==} - dev: true + '@polka/url@1.0.0-next.25': {} - /@rollup/plugin-babel@5.3.1(@babel/core@7.24.7)(rollup@2.79.1): - resolution: {integrity: sha512-WFfdLWU/xVWKeRQnKmIAQULUI7Il0gZnBIH/ZFO069wYIfPu+8zrfp/KMW0atmELoRDq8FbiP3VCss9MhCut7Q==} - engines: {node: '>= 10.0.0'} - peerDependencies: - '@babel/core': ^7.0.0 - '@types/babel__core': ^7.1.9 - rollup: ^1.20.0||^2.0.0 - peerDependenciesMeta: - '@types/babel__core': - optional: true + '@rollup/plugin-babel@5.3.1(@babel/core@7.24.7)(@types/babel__core@7.20.5)(rollup@2.79.1)': dependencies: '@babel/core': 7.24.7 '@babel/helper-module-imports': 7.24.7 '@rollup/pluginutils': 3.1.0(rollup@2.79.1) rollup: 2.79.1 + optionalDependencies: + '@types/babel__core': 7.20.5 transitivePeerDependencies: - supports-color - dev: true - /@rollup/plugin-node-resolve@15.2.3(rollup@2.79.1): - resolution: {integrity: sha512-j/lym8nf5E21LwBT4Df1VD6hRO2L2iwUeUmP7litikRsVp1H6NWx20NEp0Y7su+7XGc476GnXXc4kFeZNGmaSQ==} - engines: {node: '>=14.0.0'} - peerDependencies: - rollup: ^2.78.0||^3.0.0||^4.0.0 - peerDependenciesMeta: - rollup: - optional: true + '@rollup/plugin-node-resolve@15.2.3(rollup@2.79.1)': dependencies: '@rollup/pluginutils': 5.1.0(rollup@2.79.1) '@types/resolve': 1.20.2 @@ -4090,535 +10555,302 @@ packages: is-builtin-module: 3.2.1 is-module: 1.0.0 resolve: 1.22.8 + optionalDependencies: rollup: 2.79.1 - dev: true - /@rollup/plugin-replace@2.4.2(rollup@2.79.1): - resolution: {integrity: sha512-IGcu+cydlUMZ5En85jxHH4qj2hta/11BHq95iHEyb2sbgiN0eCdzvUcHw5gt9pBL5lTi4JDYJ1acCoMGpTvEZg==} - peerDependencies: - rollup: ^1.20.0 || ^2.0.0 + '@rollup/plugin-replace@2.4.2(rollup@2.79.1)': dependencies: '@rollup/pluginutils': 3.1.0(rollup@2.79.1) magic-string: 0.25.9 rollup: 2.79.1 - dev: true - /@rollup/plugin-terser@0.4.4(rollup@2.79.1): - resolution: {integrity: sha512-XHeJC5Bgvs8LfukDwWZp7yeqin6ns8RTl2B9avbejt6tZqsqvVoWI7ZTQrcNsfKEDWBTnTxM8nMDkO2IFFbd0A==} - engines: {node: '>=14.0.0'} - peerDependencies: - rollup: ^2.0.0||^3.0.0||^4.0.0 - peerDependenciesMeta: - rollup: - optional: true + '@rollup/plugin-terser@0.4.4(rollup@2.79.1)': dependencies: - rollup: 2.79.1 serialize-javascript: 6.0.2 smob: 1.5.0 terser: 5.31.1 - dev: true + optionalDependencies: + rollup: 2.79.1 - /@rollup/plugin-typescript@11.1.6(typescript@5.4.5): - resolution: {integrity: sha512-R92yOmIACgYdJ7dJ97p4K69I8gg6IEHt8M7dUBxN3W6nrO8uUxX5ixl0yU/N3aZTi8WhPuICvOHXQvF6FaykAA==} - engines: {node: '>=14.0.0'} - peerDependencies: - rollup: ^2.14.0||^3.0.0||^4.0.0 - tslib: '*' - typescript: '>=3.7.0' - peerDependenciesMeta: - rollup: - optional: true - tslib: - optional: true + '@rollup/plugin-typescript@11.1.6(rollup@4.18.0)(tslib@2.6.3)(typescript@5.4.5)': dependencies: - '@rollup/pluginutils': 5.1.0(rollup@2.79.1) + '@rollup/pluginutils': 5.1.0(rollup@4.18.0) resolve: 1.22.8 typescript: 5.4.5 - dev: true + optionalDependencies: + rollup: 4.18.0 + tslib: 2.6.3 - /@rollup/pluginutils@3.1.0(rollup@2.79.1): - resolution: {integrity: sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg==} - engines: {node: '>= 8.0.0'} - peerDependencies: - rollup: ^1.20.0||^2.0.0 + '@rollup/pluginutils@3.1.0(rollup@2.79.1)': dependencies: '@types/estree': 0.0.39 estree-walker: 1.0.1 picomatch: 2.3.1 rollup: 2.79.1 - dev: true - /@rollup/pluginutils@5.1.0(rollup@2.79.1): - resolution: {integrity: sha512-XTIWOPPcpvyKI6L1NHo0lFlCyznUEyPmPY1mc3KpPVDYulHSTvyeLNVW00QTLIAFNhR3kYnJTQHeGqU4M3n09g==} - engines: {node: '>=14.0.0'} - peerDependencies: - rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0 - peerDependenciesMeta: - rollup: - optional: true + '@rollup/pluginutils@5.1.0(rollup@2.79.1)': dependencies: '@types/estree': 1.0.5 estree-walker: 2.0.2 picomatch: 2.3.1 + optionalDependencies: rollup: 2.79.1 - dev: true - /@rollup/rollup-android-arm-eabi@4.18.0: - resolution: {integrity: sha512-Tya6xypR10giZV1XzxmH5wr25VcZSncG0pZIjfePT0OVBvqNEurzValetGNarVrGiq66EBVAFn15iYX4w6FKgQ==} - cpu: [arm] - os: [android] - requiresBuild: true - dev: true + '@rollup/pluginutils@5.1.0(rollup@4.18.0)': + dependencies: + '@types/estree': 1.0.5 + estree-walker: 2.0.2 + picomatch: 2.3.1 + optionalDependencies: + rollup: 4.18.0 + + '@rollup/rollup-android-arm-eabi@4.18.0': optional: true - /@rollup/rollup-android-arm64@4.18.0: - resolution: {integrity: sha512-avCea0RAP03lTsDhEyfy+hpfr85KfyTctMADqHVhLAF3MlIkq83CP8UfAHUssgXTYd+6er6PaAhx/QGv4L1EiA==} - cpu: [arm64] - os: [android] - requiresBuild: true - dev: true + '@rollup/rollup-android-arm64@4.18.0': optional: true - /@rollup/rollup-darwin-arm64@4.18.0: - resolution: {integrity: sha512-IWfdwU7KDSm07Ty0PuA/W2JYoZ4iTj3TUQjkVsO/6U+4I1jN5lcR71ZEvRh52sDOERdnNhhHU57UITXz5jC1/w==} - cpu: [arm64] - os: [darwin] - requiresBuild: true - dev: true + '@rollup/rollup-darwin-arm64@4.18.0': optional: true - /@rollup/rollup-darwin-x64@4.18.0: - resolution: {integrity: sha512-n2LMsUz7Ynu7DoQrSQkBf8iNrjOGyPLrdSg802vk6XT3FtsgX6JbE8IHRvposskFm9SNxzkLYGSq9QdpLYpRNA==} - cpu: [x64] - os: [darwin] - requiresBuild: true - dev: true + '@rollup/rollup-darwin-x64@4.18.0': optional: true - /@rollup/rollup-linux-arm-gnueabihf@4.18.0: - resolution: {integrity: sha512-C/zbRYRXFjWvz9Z4haRxcTdnkPt1BtCkz+7RtBSuNmKzMzp3ZxdM28Mpccn6pt28/UWUCTXa+b0Mx1k3g6NOMA==} - cpu: [arm] - os: [linux] - requiresBuild: true - dev: true + '@rollup/rollup-linux-arm-gnueabihf@4.18.0': optional: true - /@rollup/rollup-linux-arm-musleabihf@4.18.0: - resolution: {integrity: sha512-l3m9ewPgjQSXrUMHg93vt0hYCGnrMOcUpTz6FLtbwljo2HluS4zTXFy2571YQbisTnfTKPZ01u/ukJdQTLGh9A==} - cpu: [arm] - os: [linux] - requiresBuild: true - dev: true + '@rollup/rollup-linux-arm-musleabihf@4.18.0': optional: true - /@rollup/rollup-linux-arm64-gnu@4.18.0: - resolution: {integrity: sha512-rJ5D47d8WD7J+7STKdCUAgmQk49xuFrRi9pZkWoRD1UeSMakbcepWXPF8ycChBoAqs1pb2wzvbY6Q33WmN2ftw==} - cpu: [arm64] - os: [linux] - requiresBuild: true - dev: true + '@rollup/rollup-linux-arm64-gnu@4.18.0': optional: true - /@rollup/rollup-linux-arm64-musl@4.18.0: - resolution: {integrity: sha512-be6Yx37b24ZwxQ+wOQXXLZqpq4jTckJhtGlWGZs68TgdKXJgw54lUUoFYrg6Zs/kjzAQwEwYbp8JxZVzZLRepQ==} - cpu: [arm64] - os: [linux] - requiresBuild: true - dev: true + '@rollup/rollup-linux-arm64-musl@4.18.0': optional: true - /@rollup/rollup-linux-powerpc64le-gnu@4.18.0: - resolution: {integrity: sha512-hNVMQK+qrA9Todu9+wqrXOHxFiD5YmdEi3paj6vP02Kx1hjd2LLYR2eaN7DsEshg09+9uzWi2W18MJDlG0cxJA==} - cpu: [ppc64] - os: [linux] - requiresBuild: true - dev: true + '@rollup/rollup-linux-powerpc64le-gnu@4.18.0': optional: true - /@rollup/rollup-linux-riscv64-gnu@4.18.0: - resolution: {integrity: sha512-ROCM7i+m1NfdrsmvwSzoxp9HFtmKGHEqu5NNDiZWQtXLA8S5HBCkVvKAxJ8U+CVctHwV2Gb5VUaK7UAkzhDjlg==} - cpu: [riscv64] - os: [linux] - requiresBuild: true - dev: true + '@rollup/rollup-linux-riscv64-gnu@4.18.0': optional: true - /@rollup/rollup-linux-s390x-gnu@4.18.0: - resolution: {integrity: sha512-0UyyRHyDN42QL+NbqevXIIUnKA47A+45WyasO+y2bGJ1mhQrfrtXUpTxCOrfxCR4esV3/RLYyucGVPiUsO8xjg==} - cpu: [s390x] - os: [linux] - requiresBuild: true - dev: true + '@rollup/rollup-linux-s390x-gnu@4.18.0': optional: true - /@rollup/rollup-linux-x64-gnu@4.18.0: - resolution: {integrity: sha512-xuglR2rBVHA5UsI8h8UbX4VJ470PtGCf5Vpswh7p2ukaqBGFTnsfzxUBetoWBWymHMxbIG0Cmx7Y9qDZzr648w==} - cpu: [x64] - os: [linux] - requiresBuild: true - dev: true + '@rollup/rollup-linux-x64-gnu@4.18.0': optional: true - /@rollup/rollup-linux-x64-musl@4.18.0: - resolution: {integrity: sha512-LKaqQL9osY/ir2geuLVvRRs+utWUNilzdE90TpyoX0eNqPzWjRm14oMEE+YLve4k/NAqCdPkGYDaDF5Sw+xBfg==} - cpu: [x64] - os: [linux] - requiresBuild: true - dev: true + '@rollup/rollup-linux-x64-musl@4.18.0': optional: true - /@rollup/rollup-win32-arm64-msvc@4.18.0: - resolution: {integrity: sha512-7J6TkZQFGo9qBKH0pk2cEVSRhJbL6MtfWxth7Y5YmZs57Pi+4x6c2dStAUvaQkHQLnEQv1jzBUW43GvZW8OFqA==} - cpu: [arm64] - os: [win32] - requiresBuild: true - dev: true + '@rollup/rollup-win32-arm64-msvc@4.18.0': optional: true - /@rollup/rollup-win32-ia32-msvc@4.18.0: - resolution: {integrity: sha512-Txjh+IxBPbkUB9+SXZMpv+b/vnTEtFyfWZgJ6iyCmt2tdx0OF5WhFowLmnh8ENGNpfUlUZkdI//4IEmhwPieNg==} - cpu: [ia32] - os: [win32] - requiresBuild: true - dev: true + '@rollup/rollup-win32-ia32-msvc@4.18.0': optional: true - /@rollup/rollup-win32-x64-msvc@4.18.0: - resolution: {integrity: sha512-UOo5FdvOL0+eIVTgS4tIdbW+TtnBLWg1YBCcU2KWM7nuNwRz9bksDX1bekJJCpu25N1DVWaCwnT39dVQxzqS8g==} - cpu: [x64] - os: [win32] - requiresBuild: true - dev: true + '@rollup/rollup-win32-x64-msvc@4.18.0': optional: true - /@shikijs/core@1.6.4: - resolution: {integrity: sha512-WTU9rzZae1p2v6LOxMf6LhtmZOkIHYYW160IuahUyJy7YXPPjyWZLR1ag+SgD22ZMxZtz1gfU6Tccc8t0Il/XA==} - dev: true + '@shikijs/core@1.6.4': {} - /@shikijs/transformers@1.6.4: - resolution: {integrity: sha512-NqDt7gUg3ayVBnsipT/KoL1pqsVbsvT/2cB0pb5SG2q72qjAv9Lb5OP99pL//BMmI+sMTo+TeARntklyBu4mZQ==} + '@shikijs/transformers@1.6.4': dependencies: shiki: 1.6.4 - dev: true - /@sideway/address@4.1.5: - resolution: {integrity: sha512-IqO/DUQHUkPeixNQ8n0JA6102hT9CmaljNTPmQ1u8MEhBo/R4Q8eKLN/vGZxuebwOroDB4cbpjheD4+/sKFK4Q==} + '@sideway/address@4.1.5': dependencies: '@hapi/hoek': 9.3.0 - dev: true - /@sideway/formula@3.0.1: - resolution: {integrity: sha512-/poHZJJVjx3L+zVD6g9KgHfYnb443oi7wLu/XKojDviHy6HOEOA6z1Trk5aR1dGcmPenJEgb2sK2I80LeS3MIg==} - dev: true + '@sideway/formula@3.0.1': {} - /@sideway/pinpoint@2.0.0: - resolution: {integrity: sha512-RNiOoTPkptFtSVzQevY/yWtZwf/RxyVnPy/OcA9HBM3MlGDnBEYL5B41H0MTn0Uec8Hi+2qUtTfG2WWZBmMejQ==} - dev: true + '@sideway/pinpoint@2.0.0': {} - /@sinclair/typebox@0.27.8: - resolution: {integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==} - dev: true + '@sinclair/typebox@0.27.8': {} - /@sindresorhus/is@4.6.0: - resolution: {integrity: sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw==} - engines: {node: '>=10'} - dev: true + '@sindresorhus/is@4.6.0': {} - /@sindresorhus/merge-streams@2.3.0: - resolution: {integrity: sha512-LtoMMhxAlorcGhmFYI+LhPgbPZCkgP6ra1YL604EeF6U98pLlQ3iWIGMdWSC+vWmPBWBNgmDBAhnAobLROJmwg==} - engines: {node: '>=18'} - dev: true + '@sindresorhus/merge-streams@2.3.0': {} - /@sinonjs/commons@3.0.1: - resolution: {integrity: sha512-K3mCHKQ9sVh8o1C9cxkwxaOmXoAMlDxC1mYyHrjqOWEcBjYr76t96zL2zlj5dUGZ3HSw240X1qgH3Mjf1yJWpQ==} + '@sinonjs/commons@3.0.1': dependencies: type-detect: 4.0.8 - dev: true - /@sinonjs/fake-timers@10.3.0: - resolution: {integrity: sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA==} + '@sinonjs/fake-timers@10.3.0': dependencies: '@sinonjs/commons': 3.0.1 - dev: true - /@surma/rollup-plugin-off-main-thread@2.2.3: - resolution: {integrity: sha512-lR8q/9W7hZpMWweNiAKU7NQerBnzQQLvi8qnTDU/fxItPhtZVMbPV3lbCwjhIlNBe9Bbr5V+KHshvWmVSG9cxQ==} + '@surma/rollup-plugin-off-main-thread@2.2.3': dependencies: ejs: 3.1.10 json5: 2.2.3 magic-string: 0.25.9 string.prototype.matchall: 4.0.11 - dev: true - /@szmarczak/http-timer@4.0.6: - resolution: {integrity: sha512-4BAffykYOgO+5nzBWYwE3W90sBgLJoUPRWWcL8wlyiM8IB8ipJz3UMJ9KXQd1RKQXpKp8Tutn80HZtWsu2u76w==} - engines: {node: '>=10'} + '@szmarczak/http-timer@4.0.6': dependencies: defer-to-connect: 2.0.1 - dev: true - /@tanstack/virtual-core@3.5.1: - resolution: {integrity: sha512-046+AUSiDru/V9pajE1du8WayvBKeCvJ2NmKPy/mR8/SbKKrqmSbj7LJBfXE+nSq4f5TBXvnCzu0kcYebI9WdQ==} - dev: false + '@tanstack/virtual-core@3.5.1': {} - /@tanstack/vue-virtual@3.5.1(vue@3.4.27): - resolution: {integrity: sha512-6mc4HtDPieDVKD6GqzHiJkdzuqRNdQZuoIbkwE6af939WV+w62YmSF69jN+BOqClqh/ObiW+X1VOQx1Pftrx1A==} - peerDependencies: - vue: ^2.7.0 || ^3.0.0 + '@tanstack/vue-virtual@3.5.1(vue@3.4.27(typescript@5.4.5))': dependencies: '@tanstack/virtual-core': 3.5.1 vue: 3.4.27(typescript@5.4.5) - dev: false - /@tootallnate/once@2.0.0: - resolution: {integrity: sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==} - engines: {node: '>= 10'} - dev: true + '@tootallnate/once@2.0.0': {} - /@types/assert@1.5.10: - resolution: {integrity: sha512-qEO+AUgYab7GVbeDDgUNCU3o0aZUoIMpNAe+w5LDbRxfxQX7vQAdDgwj1AroX+i8KaV56FWg0srXlSZROnsrIQ==} - dev: false + '@types/assert@1.5.10': {} - /@types/babel__core@7.20.5: - resolution: {integrity: sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==} + '@types/babel__core@7.20.5': dependencies: '@babel/parser': 7.24.7 '@babel/types': 7.24.7 '@types/babel__generator': 7.6.8 '@types/babel__template': 7.4.4 '@types/babel__traverse': 7.20.6 - dev: true - /@types/babel__generator@7.6.8: - resolution: {integrity: sha512-ASsj+tpEDsEiFr1arWrlN6V3mdfjRMZt6LtK/Vp/kreFLnr5QH5+DhvD5nINYZXzwJvXeGq+05iUXcAzVrqWtw==} + '@types/babel__generator@7.6.8': dependencies: '@babel/types': 7.24.7 - dev: true - /@types/babel__template@7.4.4: - resolution: {integrity: sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==} + '@types/babel__template@7.4.4': dependencies: '@babel/parser': 7.24.7 '@babel/types': 7.24.7 - dev: true - /@types/babel__traverse@7.20.6: - resolution: {integrity: sha512-r1bzfrm0tomOI8g1SzvCaQHo6Lcv6zu0EA+W2kHrt8dyrHQxGzBBL4kdkzIS+jBMV+EYcMAEAqXqYaLJq5rOZg==} + '@types/babel__traverse@7.20.6': dependencies: '@babel/types': 7.24.7 - dev: true - /@types/body-parser@1.19.5: - resolution: {integrity: sha512-fB3Zu92ucau0iQ0JMCFQE7b/dv8Ot07NI3KaZIkIUNXq82k4eBAqUaneXfleGY9JWskeS9y+u0nXMyspcuQrCg==} + '@types/body-parser@1.19.5': dependencies: '@types/connect': 3.4.38 '@types/node': 20.14.2 - dev: true - /@types/bonjour@3.5.13: - resolution: {integrity: sha512-z9fJ5Im06zvUL548KvYNecEVlA7cVDkGUi6kZusb04mpyEFKCIZJvloCcmpmLaIahDpOQGHaHmG6imtPMmPXGQ==} + '@types/bonjour@3.5.13': dependencies: '@types/node': 20.14.2 - dev: true - /@types/braces@3.0.4: - resolution: {integrity: sha512-0WR3b8eaISjEW7RpZnclONaLFDf7buaowRHdqLp4vLj54AsSAYWfh3DRbfiYJY9XDxMgx1B4sE1Afw2PGpuHOA==} - dev: true + '@types/braces@3.0.4': {} - /@types/cacheable-request@6.0.3: - resolution: {integrity: sha512-IQ3EbTzGxIigb1I3qPZc1rWJnH0BmSKv5QYTalEwweFvyBDLSAe24zP0le/hyi7ecGfZVlIVAg4BZqb8WBwKqw==} + '@types/cacheable-request@6.0.3': dependencies: '@types/http-cache-semantics': 4.0.4 '@types/keyv': 3.1.4 '@types/node': 20.14.2 '@types/responselike': 1.0.3 - dev: true - /@types/connect-history-api-fallback@1.5.4: - resolution: {integrity: sha512-n6Cr2xS1h4uAulPRdlw6Jl6s1oG8KrVilPN2yUITEs+K48EzMJJ3W1xy8K5eWuFvjp3R74AOIGSmp2UfBJ8HFw==} + '@types/connect-history-api-fallback@1.5.4': dependencies: '@types/express-serve-static-core': 4.19.3 '@types/node': 20.14.2 - dev: true - /@types/connect@3.4.38: - resolution: {integrity: sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==} + '@types/connect@3.4.38': dependencies: '@types/node': 20.14.2 - dev: true - /@types/cors@2.8.17: - resolution: {integrity: sha512-8CGDvrBj1zgo2qE+oS3pOCyYNqCPryMWY2bGfwA0dcfopWGgxs+78df0Rs3rc9THP4JkOhLsAa+15VdpAqkcUA==} + '@types/cors@2.8.17': dependencies: '@types/node': 20.14.2 - dev: true - /@types/cytoscape@3.21.3: - resolution: {integrity: sha512-z8hhiKk8XAOh5uLPocxP06sp7ytI24F/tBSb6O72cDtUM85XLP2cQHCJtRO7vQWGWmUlAc3jnTIzWmviDngK6g==} - dev: true + '@types/cytoscape@3.21.3': {} - /@types/d3-array@3.2.1: - resolution: {integrity: sha512-Y2Jn2idRrLzUfAKV2LyRImR+y4oa2AntrgID95SHJxuMUrkNXmanDSed71sRNZysveJVt1hLLemQZIady0FpEg==} - dev: true + '@types/d3-array@3.2.1': {} - /@types/d3-axis@3.0.6: - resolution: {integrity: sha512-pYeijfZuBd87T0hGn0FO1vQ/cgLk6E1ALJjfkC0oJ8cbwkZl3TpgS8bVBLZN+2jjGgg38epgxb2zmoGtSfvgMw==} + '@types/d3-axis@3.0.6': dependencies: '@types/d3-selection': 3.0.10 - dev: true - /@types/d3-brush@3.0.6: - resolution: {integrity: sha512-nH60IZNNxEcrh6L1ZSMNA28rj27ut/2ZmI3r96Zd+1jrZD++zD3LsMIjWlvg4AYrHn/Pqz4CF3veCxGjtbqt7A==} + '@types/d3-brush@3.0.6': dependencies: '@types/d3-selection': 3.0.10 - dev: true - /@types/d3-chord@3.0.6: - resolution: {integrity: sha512-LFYWWd8nwfwEmTZG9PfQxd17HbNPksHBiJHaKuY1XeqscXacsS2tyoo6OdRsjf+NQYeB6XrNL3a25E3gH69lcg==} - dev: true + '@types/d3-chord@3.0.6': {} - /@types/d3-color@3.1.3: - resolution: {integrity: sha512-iO90scth9WAbmgv7ogoq57O9YpKmFBbmoEoCHDB2xMBY0+/KVrqAaCDyCE16dUspeOvIxFFRI+0sEtqDqy2b4A==} - dev: true + '@types/d3-color@3.1.3': {} - /@types/d3-contour@3.0.6: - resolution: {integrity: sha512-BjzLgXGnCWjUSYGfH1cpdo41/hgdWETu4YxpezoztawmqsvCeep+8QGfiY6YbDvfgHz/DkjeIkkZVJavB4a3rg==} + '@types/d3-contour@3.0.6': dependencies: '@types/d3-array': 3.2.1 '@types/geojson': 7946.0.14 - dev: true - /@types/d3-delaunay@6.0.4: - resolution: {integrity: sha512-ZMaSKu4THYCU6sV64Lhg6qjf1orxBthaC161plr5KuPHo3CNm8DTHiLw/5Eq2b6TsNP0W0iJrUOFscY6Q450Hw==} - dev: true + '@types/d3-delaunay@6.0.4': {} - /@types/d3-dispatch@3.0.6: - resolution: {integrity: sha512-4fvZhzMeeuBJYZXRXrRIQnvUYfyXwYmLsdiN7XXmVNQKKw1cM8a5WdID0g1hVFZDqT9ZqZEY5pD44p24VS7iZQ==} - dev: true + '@types/d3-dispatch@3.0.6': {} - /@types/d3-drag@3.0.7: - resolution: {integrity: sha512-HE3jVKlzU9AaMazNufooRJ5ZpWmLIoc90A37WU2JMmeq28w1FQqCZswHZ3xR+SuxYftzHq6WU6KJHvqxKzTxxQ==} + '@types/d3-drag@3.0.7': dependencies: '@types/d3-selection': 3.0.10 - dev: true - /@types/d3-dsv@3.0.7: - resolution: {integrity: sha512-n6QBF9/+XASqcKK6waudgL0pf/S5XHPPI8APyMLLUHd8NqouBGLsU8MgtO7NINGtPBtk9Kko/W4ea0oAspwh9g==} - dev: true + '@types/d3-dsv@3.0.7': {} - /@types/d3-ease@3.0.2: - resolution: {integrity: sha512-NcV1JjO5oDzoK26oMzbILE6HW7uVXOHLQvHshBUW4UMdZGfiY6v5BeQwh9a9tCzv+CeefZQHJt5SRgK154RtiA==} - dev: true + '@types/d3-ease@3.0.2': {} - /@types/d3-fetch@3.0.7: - resolution: {integrity: sha512-fTAfNmxSb9SOWNB9IoG5c8Hg6R+AzUHDRlsXsDZsNp6sxAEOP0tkP3gKkNSO/qmHPoBFTxNrjDprVHDQDvo5aA==} + '@types/d3-fetch@3.0.7': dependencies: '@types/d3-dsv': 3.0.7 - dev: true - /@types/d3-force@3.0.9: - resolution: {integrity: sha512-IKtvyFdb4Q0LWna6ymywQsEYjK/94SGhPrMfEr1TIc5OBeziTi+1jcCvttts8e0UWZIxpasjnQk9MNk/3iS+kA==} - dev: true + '@types/d3-force@3.0.9': {} - /@types/d3-format@3.0.4: - resolution: {integrity: sha512-fALi2aI6shfg7vM5KiR1wNJnZ7r6UuggVqtDA+xiEdPZQwy/trcQaHnwShLuLdta2rTymCNpxYTiMZX/e09F4g==} - dev: true + '@types/d3-format@3.0.4': {} - /@types/d3-geo@3.1.0: - resolution: {integrity: sha512-856sckF0oP/diXtS4jNsiQw/UuK5fQG8l/a9VVLeSouf1/PPbBE1i1W852zVwKwYCBkFJJB7nCFTbk6UMEXBOQ==} + '@types/d3-geo@3.1.0': dependencies: '@types/geojson': 7946.0.14 - dev: true - /@types/d3-hierarchy@3.1.7: - resolution: {integrity: sha512-tJFtNoYBtRtkNysX1Xq4sxtjK8YgoWUNpIiUee0/jHGRwqvzYxkq0hGVbbOGSz+JgFxxRu4K8nb3YpG3CMARtg==} - dev: true + '@types/d3-hierarchy@3.1.7': {} - /@types/d3-interpolate@3.0.4: - resolution: {integrity: sha512-mgLPETlrpVV1YRJIglr4Ez47g7Yxjl1lj7YKsiMCb27VJH9W8NVM6Bb9d8kkpG/uAQS5AmbA48q2IAolKKo1MA==} + '@types/d3-interpolate@3.0.4': dependencies: '@types/d3-color': 3.1.3 - dev: true - /@types/d3-path@1.0.11: - resolution: {integrity: sha512-4pQMp8ldf7UaB/gR8Fvvy69psNHkTpD/pVw3vmEi8iZAB9EPMBruB1JvHO4BIq9QkUUd2lV1F5YXpMNj7JPBpw==} - dev: true + '@types/d3-path@1.0.11': {} - /@types/d3-path@3.1.0: - resolution: {integrity: sha512-P2dlU/q51fkOc/Gfl3Ul9kicV7l+ra934qBFXCFhrZMOL6du1TM0pm1ThYvENukyOn5h9v+yMJ9Fn5JK4QozrQ==} - dev: true + '@types/d3-path@3.1.0': {} - /@types/d3-polygon@3.0.2: - resolution: {integrity: sha512-ZuWOtMaHCkN9xoeEMr1ubW2nGWsp4nIql+OPQRstu4ypeZ+zk3YKqQT0CXVe/PYqrKpZAi+J9mTs05TKwjXSRA==} - dev: true + '@types/d3-polygon@3.0.2': {} - /@types/d3-quadtree@3.0.6: - resolution: {integrity: sha512-oUzyO1/Zm6rsxKRHA1vH0NEDG58HrT5icx/azi9MF1TWdtttWl0UIUsjEQBBh+SIkrpd21ZjEv7ptxWys1ncsg==} - dev: true + '@types/d3-quadtree@3.0.6': {} - /@types/d3-random@3.0.3: - resolution: {integrity: sha512-Imagg1vJ3y76Y2ea0871wpabqp613+8/r0mCLEBfdtqC7xMSfj9idOnmBYyMoULfHePJyxMAw3nWhJxzc+LFwQ==} - dev: true + '@types/d3-random@3.0.3': {} - /@types/d3-sankey@0.12.4: - resolution: {integrity: sha512-YTicQNwioitIlvuvlfW2GfO6sKxpohzg2cSQttlXAPjFwoBuN+XpGLhUN3kLutG/dI3GCLC+DUorqiJt7Naetw==} + '@types/d3-sankey@0.12.4': dependencies: '@types/d3-shape': 1.3.12 - dev: true - /@types/d3-scale-chromatic@3.0.3: - resolution: {integrity: sha512-laXM4+1o5ImZv3RpFAsTRn3TEkzqkytiOY0Dz0sq5cnd1dtNlk6sHLon4OvqaiJb28T0S/TdsBI3Sjsy+keJrw==} - dev: true + '@types/d3-scale-chromatic@3.0.3': {} - /@types/d3-scale@4.0.8: - resolution: {integrity: sha512-gkK1VVTr5iNiYJ7vWDI+yUFFlszhNMtVeneJ6lUTKPjprsvLLI9/tgEGiXJOnlINJA8FyA88gfnQsHbybVZrYQ==} + '@types/d3-scale@4.0.8': dependencies: '@types/d3-time': 3.0.3 - dev: true - /@types/d3-selection@3.0.10: - resolution: {integrity: sha512-cuHoUgS/V3hLdjJOLTT691+G2QoqAjCVLmr4kJXR4ha56w1Zdu8UUQ5TxLRqudgNjwXeQxKMq4j+lyf9sWuslg==} - dev: true + '@types/d3-selection@3.0.10': {} - /@types/d3-shape@1.3.12: - resolution: {integrity: sha512-8oMzcd4+poSLGgV0R1Q1rOlx/xdmozS4Xab7np0eamFFUYq71AU9pOCJEFnkXW2aI/oXdVYJzw6pssbSut7Z9Q==} + '@types/d3-shape@1.3.12': dependencies: '@types/d3-path': 1.0.11 - dev: true - /@types/d3-shape@3.1.6: - resolution: {integrity: sha512-5KKk5aKGu2I+O6SONMYSNflgiP0WfZIQvVUMan50wHsLG1G94JlxEVnCpQARfTtzytuY0p/9PXXZb3I7giofIA==} + '@types/d3-shape@3.1.6': dependencies: '@types/d3-path': 3.1.0 - dev: true - /@types/d3-time-format@4.0.3: - resolution: {integrity: sha512-5xg9rC+wWL8kdDj153qZcsJ0FWiFt0J5RB6LYUNZjwSnesfblqrI/bJ1wBdJ8OQfncgbJG5+2F+qfqnqyzYxyg==} - dev: true + '@types/d3-time-format@4.0.3': {} - /@types/d3-time@3.0.3: - resolution: {integrity: sha512-2p6olUZ4w3s+07q3Tm2dbiMZy5pCDfYwtLXXHUnVzXgQlZ/OyPtUz6OL382BkOuGlLXqfT+wqv8Fw2v8/0geBw==} - dev: true + '@types/d3-time@3.0.3': {} - /@types/d3-timer@3.0.2: - resolution: {integrity: sha512-Ps3T8E8dZDam6fUyNiMkekK3XUsaUEik+idO9/YjPtfj2qruF8tFBXS7XhtE4iIXBLxhmLjP3SXpLhVf21I9Lw==} - dev: true + '@types/d3-timer@3.0.2': {} - /@types/d3-transition@3.0.8: - resolution: {integrity: sha512-ew63aJfQ/ms7QQ4X7pk5NxQ9fZH/z+i24ZfJ6tJSfqxJMrYLiK01EAs2/Rtw/JreGUsS3pLPNV644qXFGnoZNQ==} + '@types/d3-transition@3.0.8': dependencies: '@types/d3-selection': 3.0.10 - dev: true - /@types/d3-zoom@3.0.8: - resolution: {integrity: sha512-iqMC4/YlFCSlO8+2Ii1GGGliCAY4XdeG748w5vQUbevlbDu0zSjH/+jojorQVBK/se0j6DUFNPBGSqD3YWYnDw==} + '@types/d3-zoom@3.0.8': dependencies: '@types/d3-interpolate': 3.0.4 '@types/d3-selection': 3.0.10 - dev: true - /@types/d3@7.4.3: - resolution: {integrity: sha512-lZXZ9ckh5R8uiFVt8ogUNf+pIrK4EsWrx2Np75WvF/eTpJ0FMHNhjXk8CKEx/+gpHbNQyJWehbFaTvqmHWB3ww==} + '@types/d3@7.4.3': dependencies: '@types/d3-array': 3.2.1 '@types/d3-axis': 3.0.6 @@ -4650,394 +10882,234 @@ packages: '@types/d3-timer': 3.0.2 '@types/d3-transition': 3.0.8 '@types/d3-zoom': 3.0.8 - dev: true - /@types/debug@4.1.12: - resolution: {integrity: sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==} + '@types/debug@4.1.12': dependencies: '@types/ms': 0.7.34 - /@types/dompurify@3.0.5: - resolution: {integrity: sha512-1Wg0g3BtQF7sSb27fJQAKck1HECM6zV1EB66j8JH9i3LCjYabJa0FSdiSgsD5K/RbrsR0SiraKacLB+T8ZVYAg==} + '@types/dompurify@3.0.5': dependencies: '@types/trusted-types': 2.0.7 - dev: true - /@types/eslint-scope@3.7.7: - resolution: {integrity: sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg==} + '@types/eslint-scope@3.7.7': dependencies: '@types/eslint': 8.56.10 '@types/estree': 1.0.5 - dev: true - /@types/eslint@8.56.10: - resolution: {integrity: sha512-Shavhk87gCtY2fhXDctcfS3e6FdxWkCx1iUZ9eEUbh7rTqlZT0/IzOkCOVt0fCjcFuZ9FPYfuezTBImfHCDBGQ==} + '@types/eslint@8.56.10': dependencies: '@types/estree': 1.0.5 '@types/json-schema': 7.0.15 - dev: true - /@types/estree@0.0.39: - resolution: {integrity: sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==} - dev: true + '@types/estree@0.0.39': {} - /@types/estree@1.0.5: - resolution: {integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==} - dev: true + '@types/estree@1.0.5': {} - /@types/express-serve-static-core@4.19.3: - resolution: {integrity: sha512-KOzM7MhcBFlmnlr/fzISFF5vGWVSvN6fTd4T+ExOt08bA/dA5kpSzY52nMsI1KDFmUREpJelPYyuslLRSjjgCg==} + '@types/express-serve-static-core@4.19.3': dependencies: '@types/node': 20.14.2 '@types/qs': 6.9.15 '@types/range-parser': 1.2.7 '@types/send': 0.17.4 - dev: true - /@types/express@4.17.21: - resolution: {integrity: sha512-ejlPM315qwLpaQlQDTjPdsUFSc6ZsP4AN6AlWnogPjQ7CVi7PYF3YVz+CY3jE2pwYf7E/7HlDAN0rV2GxTG0HQ==} + '@types/express@4.17.21': dependencies: '@types/body-parser': 1.19.5 '@types/express-serve-static-core': 4.19.3 '@types/qs': 6.9.15 '@types/serve-static': 1.15.7 - dev: true - /@types/flexsearch@0.7.6: - resolution: {integrity: sha512-H5IXcRn96/gaDmo+rDl2aJuIJsob8dgOXDqf8K0t8rWZd1AFNaaspmRsElESiU+EWE33qfbFPgI0OC/B1g9FCA==} - dev: true + '@types/flexsearch@0.7.6': {} - /@types/geojson@7946.0.14: - resolution: {integrity: sha512-WCfD5Ht3ZesJUsONdhvm84dmzWOiOzOAqOncN0++w0lBw1o8OuDNJF2McvvCef/yBqb/HYRahp1BYtODFQ8bRg==} - dev: true + '@types/geojson@7946.0.14': {} - /@types/glob@7.2.0: - resolution: {integrity: sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA==} + '@types/glob@7.2.0': dependencies: '@types/minimatch': 5.1.2 '@types/node': 20.14.2 - dev: true - /@types/glob@8.1.0: - resolution: {integrity: sha512-IO+MJPVhoqz+28h1qLAcBEH2+xHMK6MTyHJc7MTnnYb6wsoLR29POVGJ7LycmVXIqyy/4/2ShP5sUwTXuOwb/w==} + '@types/glob@8.1.0': dependencies: '@types/minimatch': 5.1.2 '@types/node': 20.14.2 - dev: true - /@types/graceful-fs@4.1.9: - resolution: {integrity: sha512-olP3sd1qOEe5dXTSaFvQG+02VdRXcdytWLAZsAq1PecU8uqQAhkrnbli7DagjtXKW/Bl7YJbUsa8MPcuc8LHEQ==} + '@types/graceful-fs@4.1.9': dependencies: '@types/node': 20.14.2 - dev: true - /@types/http-cache-semantics@4.0.4: - resolution: {integrity: sha512-1m0bIFVc7eJWyve9S0RnuRgcQqF/Xd5QsUZAZeQFr1Q3/p9JWoQQEqmVy+DPTNpGXwhgIetAoYF8JSc33q29QA==} - dev: true + '@types/http-cache-semantics@4.0.4': {} - /@types/http-errors@2.0.4: - resolution: {integrity: sha512-D0CFMMtydbJAegzOyHjtiKPLlvnm3iTZyZRSZoLq2mRhDdmLfIWOCYPfQJ4cu2erKghU++QvjcUjp/5h7hESpA==} - dev: true + '@types/http-errors@2.0.4': {} - /@types/http-proxy@1.17.14: - resolution: {integrity: sha512-SSrD0c1OQzlFX7pGu1eXxSEjemej64aaNPRhhVYUGqXh0BtldAAx37MG8btcumvpgKyZp1F5Gn3JkktdxiFv6w==} + '@types/http-proxy@1.17.14': dependencies: '@types/node': 20.14.2 - dev: true - /@types/istanbul-lib-coverage@2.0.6: - resolution: {integrity: sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==} - dev: true + '@types/istanbul-lib-coverage@2.0.6': {} - /@types/istanbul-lib-report@3.0.3: - resolution: {integrity: sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA==} + '@types/istanbul-lib-report@3.0.3': dependencies: '@types/istanbul-lib-coverage': 2.0.6 - dev: true - /@types/istanbul-reports@3.0.4: - resolution: {integrity: sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==} + '@types/istanbul-reports@3.0.4': dependencies: '@types/istanbul-lib-report': 3.0.3 - dev: true - /@types/js-yaml@4.0.9: - resolution: {integrity: sha512-k4MGaQl5TGo/iipqb2UDG2UwjXziSWkh0uysQelTlJpX1qGlpUZYm8PnO4DxG1qBomtJUdYJ6qR6xdIah10JLg==} - dev: true + '@types/js-yaml@4.0.9': {} - /@types/jsdom@21.1.7: - resolution: {integrity: sha512-yOriVnggzrnQ3a9OKOCxaVuSug3w3/SbOj5i7VwXWZEyUNl3bLF9V3MfxGbZKuwqJOQyRfqXyROBB1CoZLFWzA==} + '@types/jsdom@21.1.7': dependencies: '@types/node': 20.14.2 '@types/tough-cookie': 4.0.5 parse5: 7.1.2 - dev: true - /@types/json-schema@7.0.15: - resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==} - dev: true + '@types/json-schema@7.0.15': {} - /@types/katex@0.16.7: - resolution: {integrity: sha512-HMwFiRujE5PjrgwHQ25+bsLJgowjGjm5Z8FVSf0N6PwgJrwxH0QxzHYDcKsTfV3wva0vzrpqMTJS2jXPr5BMEQ==} - dev: true + '@types/katex@0.16.7': {} - /@types/keyv@3.1.4: - resolution: {integrity: sha512-BQ5aZNSCpj7D6K2ksrRCTmKRLEpnPvWDiLPfoGyhZ++8YtiK9d/3DBKPJgry359X/P1PfruyYwvnvwFjuEiEIg==} + '@types/keyv@3.1.4': dependencies: '@types/node': 20.14.2 - dev: true - - /@types/linkify-it@3.0.5: - resolution: {integrity: sha512-yg6E+u0/+Zjva+buc3EIb+29XEg4wltq7cSmd4Uc2EE/1nUVmxyzpX6gUXD0V8jIrG0r7YeOGVIbYRkxeooCtw==} - dev: true - /@types/linkify-it@5.0.0: - resolution: {integrity: sha512-sVDA58zAw4eWAffKOaQH5/5j3XeayukzDk+ewSsnv3p4yJEZHCCzMDiZM8e0OUrRvmpGZ85jf4yDHkHsgBNr9Q==} - dev: true + '@types/linkify-it@5.0.0': {} - /@types/lodash-es@4.17.12: - resolution: {integrity: sha512-0NgftHUcV4v34VhXm8QBSftKVXtbkBG3ViCjs6+eJ5a6y6Mi/jiFGPc1sC7QK+9BFhWrURE3EOggmWaSxL9OzQ==} + '@types/lodash-es@4.17.12': dependencies: '@types/lodash': 4.17.5 - dev: true - /@types/lodash@4.17.5: - resolution: {integrity: sha512-MBIOHVZqVqgfro1euRDWX7OO0fBVUUMrN6Pwm8LQsz8cWhEpihlvR70ENj3f40j58TNxZaWv2ndSkInykNBBJw==} - dev: true + '@types/lodash@4.17.5': {} - /@types/markdown-it@12.2.3: - resolution: {integrity: sha512-GKMHFfv3458yYy+v/N8gjufHO6MSZKCOXpZc5GXIWWy8uldwfmPn98vp81gZ5f9SVw8YYBctgfJ22a2d7AOMeQ==} + '@types/markdown-it@12.2.3': dependencies: '@types/linkify-it': 5.0.0 '@types/mdurl': 2.0.0 - dev: true - - /@types/markdown-it@13.0.8: - resolution: {integrity: sha512-V+KmpgiipS+zoypeUSS9ojesWtY/0k4XfqcK2fnVrX/qInJhX7rsCxZ/rygiPH2zxlPPrhfuW0I6ddMcWTKLsg==} - dependencies: - '@types/linkify-it': 3.0.5 - '@types/mdurl': 1.0.5 - dev: true - /@types/markdown-it@14.1.1: - resolution: {integrity: sha512-4NpsnpYl2Gt1ljyBGrKMxFYAYvpqbnnkgP/i/g+NLpjEUa3obn1XJCur9YbEXKDAkaXqsR1LbDnGEJ0MmKFxfg==} + '@types/markdown-it@14.1.1': dependencies: '@types/linkify-it': 5.0.0 '@types/mdurl': 2.0.0 - dev: true - /@types/mdast@3.0.15: - resolution: {integrity: sha512-LnwD+mUEfxWMa1QpDraczIn6k0Ee3SMicuYSSzS6ZYl2gKS09EClnJYGd8Du6rfc5r/GZEk5o1mRb8TaTj03sQ==} + '@types/mdast@3.0.15': dependencies: '@types/unist': 2.0.10 - dev: true - /@types/mdast@4.0.4: - resolution: {integrity: sha512-kGaNbPh1k7AFzgpud/gMdvIm5xuECykRR+JnWKQno9TAXVa6WIVCGTPvYGekIDL4uwCZQSYbUxNBSb1aUo79oA==} + '@types/mdast@4.0.4': dependencies: '@types/unist': 3.0.2 - /@types/mdurl@1.0.5: - resolution: {integrity: sha512-6L6VymKTzYSrEf4Nev4Xa1LCHKrlTlYCBMTlQKFuddo1CvQcE52I0mwfOJayueUC7MJuXOeHTcIU683lzd0cUA==} - dev: true - - /@types/mdurl@2.0.0: - resolution: {integrity: sha512-RGdgjQUZba5p6QEFAVx2OGb8rQDL/cPRG7GiedRzMcJ1tYnUANBncjbSB1NRGwbvjcPeikRABz2nshyPk1bhWg==} - dev: true + '@types/mdurl@2.0.0': {} - /@types/micromatch@4.0.7: - resolution: {integrity: sha512-C/FMQ8HJAZhTsDpl4wDKZdMeeW5USjgzOczUwTGbRc1ZopPgOhIEnxY2ZgUrsuyy4DwK1JVOJZKFakv3TbCKiA==} + '@types/micromatch@4.0.7': dependencies: '@types/braces': 3.0.4 - dev: true - /@types/mime@1.3.5: - resolution: {integrity: sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w==} - dev: true + '@types/mime@1.3.5': {} - /@types/minimatch@5.1.2: - resolution: {integrity: sha512-K0VQKziLUWkVKiRVrx4a40iPaxTUefQmjtkQofBkYRcoaaL/8rhwDWww9qWbrgicNOgnpIsMxyNIUM4+n6dUIA==} - dev: true + '@types/minimatch@5.1.2': {} - /@types/ms@0.7.34: - resolution: {integrity: sha512-nG96G3Wp6acyAgJqGasjODb+acrI7KltPiRxzHPXnP3NgI28bpQDRv53olbqGXbfcgF5aiiHmO3xpwEpS5Ld9g==} + '@types/ms@0.7.34': {} - /@types/node-forge@1.3.11: - resolution: {integrity: sha512-FQx220y22OKNTqaByeBGqHWYz4cl94tpcxeFdvBo3wjG6XPBuZ0BNgNZRV5J5TFmmcsJ4IzsLkmGRiQbnYsBEQ==} + '@types/node-forge@1.3.11': dependencies: '@types/node': 20.14.2 - dev: true - /@types/node@18.19.34: - resolution: {integrity: sha512-eXF4pfBNV5DAMKGbI02NnDtWrQ40hAN558/2vvS4gMpMIxaf6JmD7YjnZbq0Q9TDSSkKBamime8ewRoomHdt4g==} + '@types/node@18.19.34': dependencies: undici-types: 5.26.5 - dev: true - /@types/node@20.14.2: - resolution: {integrity: sha512-xyu6WAMVwv6AKFLB+e/7ySZVr/0zLCzOa7rSpq6jNwpqOrUbcACDWC+53d4n2QHOnDou0fbIsg8wZu/sxrnI4Q==} + '@types/node@20.14.2': dependencies: undici-types: 5.26.5 - dev: true - /@types/normalize-package-data@2.4.4: - resolution: {integrity: sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==} - dev: true + '@types/normalize-package-data@2.4.4': {} - /@types/prettier@2.7.3: - resolution: {integrity: sha512-+68kP9yzs4LMp7VNh8gdzMSPZFL44MLGqiHWvttYJe+6qnuVr4Ek9wSBQoveqY/r+LwjCcU29kNVkidwim+kYA==} - dev: true + '@types/prettier@2.7.3': {} - /@types/prettier@3.0.0: - resolution: {integrity: sha512-mFMBfMOz8QxhYVbuINtswBp9VL2b4Y0QqYHwqLz3YbgtfAcat2Dl6Y1o4e22S/OVE6Ebl9m7wWiMT2lSbAs1wA==} - deprecated: This is a stub types definition. prettier provides its own type definitions, so you do not need this installed. + '@types/prettier@3.0.0': dependencies: prettier: 3.3.2 - dev: true - /@types/qs@6.9.15: - resolution: {integrity: sha512-uXHQKES6DQKKCLh441Xv/dwxOq1TVS3JPUMlEqoEglvlhR6Mxnlew/Xq/LRVHpLyk7iK3zODe1qYHIMltO7XGg==} - dev: true + '@types/qs@6.9.15': {} - /@types/ramda@0.28.25: - resolution: {integrity: sha512-HrQNqQAGcITpn9HAJFamDxm7iZeeXiP/95pN5OMbNniDjzCCeOHbBKNGmUy8NRi0fhYS+/cXeo91MFC+06gbow==} + '@types/ramda@0.28.25': dependencies: ts-toolbelt: 6.15.5 - dev: false - /@types/range-parser@1.2.7: - resolution: {integrity: sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ==} - dev: true + '@types/range-parser@1.2.7': {} - /@types/resolve@1.20.2: - resolution: {integrity: sha512-60BCwRFOZCQhDncwQdxxeOEEkbc5dIMccYLwbxsS4TUNeVECQ/pBJ0j09mrHOl/JJvpRPGwO9SvE4nR2Nb/a4Q==} - dev: true + '@types/resolve@1.20.2': {} - /@types/responselike@1.0.3: - resolution: {integrity: sha512-H/+L+UkTV33uf49PH5pCAUBVPNj2nDBXTN+qS1dOwyyg24l3CcicicCA7ca+HMvJBZcFgl5r8e+RR6elsb4Lyw==} + '@types/responselike@1.0.3': dependencies: '@types/node': 20.14.2 - dev: true - /@types/retry@0.12.0: - resolution: {integrity: sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA==} - dev: true + '@types/retry@0.12.0': {} - /@types/rollup-plugin-visualizer@4.2.4: - resolution: {integrity: sha512-BW4Q6D1Qy5gno5qHWrnMDC2dOe/TAKXvqCpckOggCCu+XpS+ZZJJ1lq1+K3bvYccoO3Y7f5kglbFAgYGqCgULg==} + '@types/rollup-plugin-visualizer@4.2.4': dependencies: rollup: 2.79.1 - dev: true - /@types/semver@7.5.8: - resolution: {integrity: sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==} - dev: true + '@types/semver@7.5.8': {} - /@types/send@0.17.4: - resolution: {integrity: sha512-x2EM6TJOybec7c52BX0ZspPodMsQUd5L6PRwOunVyVUhXiBSKf3AezDL8Dgvgt5o0UfKNfuA0eMLr2wLT4AiBA==} + '@types/send@0.17.4': dependencies: '@types/mime': 1.3.5 '@types/node': 20.14.2 - dev: true - /@types/serve-index@1.9.4: - resolution: {integrity: sha512-qLpGZ/c2fhSs5gnYsQxtDEq3Oy8SXPClIXkW5ghvAvsNuVSA8k+gCONcUCS/UjLEYvYps+e8uBtfgXgvhwfNug==} + '@types/serve-index@1.9.4': dependencies: '@types/express': 4.17.21 - dev: true - /@types/serve-static@1.15.7: - resolution: {integrity: sha512-W8Ym+h8nhuRwaKPaDw34QUkwsGi6Rc4yYqvKFo5rm2FUEhCFbzVWrxXUxuKK8TASjWsysJY0nsmNCGhCOIsrOw==} + '@types/serve-static@1.15.7': dependencies: '@types/http-errors': 2.0.4 '@types/node': 20.14.2 '@types/send': 0.17.4 - dev: true - /@types/sinonjs__fake-timers@8.1.1: - resolution: {integrity: sha512-0kSuKjAS0TrGLJ0M/+8MaFkGsQhZpB6pxOmvS3K8FYI72K//YmdfoW9X2qPsAKh1mkwxGD5zib9s1FIFed6E8g==} - dev: true + '@types/sinonjs__fake-timers@8.1.1': {} - /@types/sizzle@2.3.8: - resolution: {integrity: sha512-0vWLNK2D5MT9dg0iOo8GlKguPAU02QjmZitPEsXRuJXU/OGIOt9vT9Fc26wtYuavLxtO45v9PGleoL9Z0k1LHg==} - dev: true + '@types/sizzle@2.3.8': {} - /@types/sockjs@0.3.36: - resolution: {integrity: sha512-MK9V6NzAS1+Ud7JV9lJLFqW85VbC9dq3LmwZCuBe4wBDgKC0Kj/jd8Xl+nSviU+Qc3+m7umHHyHg//2KSa0a0Q==} + '@types/sockjs@0.3.36': dependencies: '@types/node': 20.14.2 - dev: true - /@types/stack-utils@2.0.3: - resolution: {integrity: sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw==} - dev: true + '@types/stack-utils@2.0.3': {} - /@types/stylis@4.2.6: - resolution: {integrity: sha512-4nebF2ZJGzQk0ka0O6+FZUWceyFv4vWq/0dXBMmrSeAwzOuOd/GxE5Pa64d/ndeNLG73dXoBsRzvtsVsYUv6Uw==} - dev: true + '@types/stylis@4.2.6': {} - /@types/tough-cookie@4.0.5: - resolution: {integrity: sha512-/Ad8+nIOV7Rl++6f1BdKxFSMgmoqEoYbHRpPcx3JEfv8VRsQe9Z4mCXeJBzxs7mbHY/XOZZuXlRNfhpVPbs6ZA==} - dev: true + '@types/tough-cookie@4.0.5': {} - /@types/trusted-types@2.0.7: - resolution: {integrity: sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw==} - dev: true + '@types/trusted-types@2.0.7': {} - /@types/unist@2.0.10: - resolution: {integrity: sha512-IfYcSBWE3hLpBg8+X2SEa8LVkJdJEkT2Ese2aaLs3ptGdVtABxndrMaxuFlQ1qdFf9Q5rDvDpxI3WwgvKFAsQA==} - dev: true + '@types/unist@2.0.10': {} - /@types/unist@3.0.2: - resolution: {integrity: sha512-dqId9J8K/vGi5Zr7oo212BGii5m3q5Hxlkwy3WpYuKPklmBEvsbMYYyLxAQpSffdLl/gdW0XUpKWFvYmyoWCoQ==} + '@types/unist@3.0.2': {} - /@types/uuid@9.0.8: - resolution: {integrity: sha512-jg+97EGIcY9AGHJJRaaPVgetKDsrTgbRjQ5Msgjh/DQKEFl0DtyRr/VCOyD1T2R1MNeWPK/u7JoGhlDZnKBAfA==} - dev: true + '@types/uuid@9.0.8': {} - /@types/web-bluetooth@0.0.20: - resolution: {integrity: sha512-g9gZnnXVq7gM7v3tJCWV/qw7w+KeOlSHAhgF9RytFyifW6AF61hdT2ucrYhPq9hLs5JIryeupHV3qGk95dH9ow==} + '@types/web-bluetooth@0.0.20': {} - /@types/ws@8.5.10: - resolution: {integrity: sha512-vmQSUcfalpIq0R9q7uTo2lXs6eGIpt9wtnLdMv9LVpIjCA/+ufZRozlVoVelIYixx1ugCBKDhn89vnsEGOCx9A==} + '@types/ws@8.5.10': dependencies: '@types/node': 20.14.2 - dev: true - /@types/ws@8.5.5: - resolution: {integrity: sha512-lwhs8hktwxSjf9UaZ9tG5M03PGogvFaH8gUgLNbN9HKIg0dvv6q+gkSuJ8HN4/VbyxkuLzCjlN7GquQ0gUJfIg==} + '@types/ws@8.5.5': dependencies: '@types/node': 20.14.2 - dev: true - /@types/yargs-parser@21.0.3: - resolution: {integrity: sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==} - dev: true + '@types/yargs-parser@21.0.3': {} - /@types/yargs@17.0.32: - resolution: {integrity: sha512-xQ67Yc/laOG5uMfX/093MRlGGCIBzZMarVa+gfNKJxWAIgykYpVGkBdbqEzGDDfCrVUj6Hiff4mTZ5BA6TmAog==} + '@types/yargs@17.0.32': dependencies: '@types/yargs-parser': 21.0.3 - dev: true - /@types/yauzl@2.10.3: - resolution: {integrity: sha512-oJoftv0LSuaDZE3Le4DbKX+KS9G36NzOeSap90UIK0yMA/NhKJhqlSGtNDORNRaIbQfzjXDrQa0ytJ6mNRGz/Q==} - requiresBuild: true + '@types/yauzl@2.10.3': dependencies: '@types/node': 20.14.2 - dev: true optional: true - /@typescript-eslint/eslint-plugin@7.13.0(@typescript-eslint/parser@7.13.0)(eslint@8.57.0)(typescript@5.4.5): - resolution: {integrity: sha512-FX1X6AF0w8MdVFLSdqwqN/me2hyhuQg4ykN6ZpVhh1ij/80pTvDKclX1sZB9iqex8SjQfVhwMKs3JtnnMLzG9w==} - engines: {node: ^18.18.0 || >=20.0.0} - peerDependencies: - '@typescript-eslint/parser': ^7.0.0 - eslint: ^8.56.0 - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true + '@typescript-eslint/eslint-plugin@7.13.0(@typescript-eslint/parser@7.13.0(eslint@8.57.0)(typescript@5.4.5))(eslint@8.57.0)(typescript@5.4.5)': dependencies: '@eslint-community/regexpp': 4.10.1 '@typescript-eslint/parser': 7.13.0(eslint@8.57.0)(typescript@5.4.5) @@ -5050,20 +11122,12 @@ packages: ignore: 5.3.1 natural-compare: 1.4.0 ts-api-utils: 1.3.0(typescript@5.4.5) + optionalDependencies: typescript: 5.4.5 transitivePeerDependencies: - supports-color - dev: true - /@typescript-eslint/parser@7.13.0(eslint@8.57.0)(typescript@5.4.5): - resolution: {integrity: sha512-EjMfl69KOS9awXXe83iRN7oIEXy9yYdqWfqdrFAYAAr6syP8eLEFI7ZE4939antx2mNgPRW/o1ybm2SFYkbTVA==} - engines: {node: ^18.18.0 || >=20.0.0} - peerDependencies: - eslint: ^8.56.0 - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true + '@typescript-eslint/parser@7.13.0(eslint@8.57.0)(typescript@5.4.5)': dependencies: '@typescript-eslint/scope-manager': 7.13.0 '@typescript-eslint/types': 7.13.0 @@ -5071,65 +11135,38 @@ packages: '@typescript-eslint/visitor-keys': 7.13.0 debug: 4.3.5(supports-color@8.1.1) eslint: 8.57.0 + optionalDependencies: typescript: 5.4.5 transitivePeerDependencies: - supports-color - dev: true - /@typescript-eslint/scope-manager@5.62.0: - resolution: {integrity: sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + '@typescript-eslint/scope-manager@5.62.0': dependencies: '@typescript-eslint/types': 5.62.0 '@typescript-eslint/visitor-keys': 5.62.0 - dev: true - /@typescript-eslint/scope-manager@7.13.0: - resolution: {integrity: sha512-ZrMCe1R6a01T94ilV13egvcnvVJ1pxShkE0+NDjDzH4nvG1wXpwsVI5bZCvE7AEDH1mXEx5tJSVR68bLgG7Dng==} - engines: {node: ^18.18.0 || >=20.0.0} + '@typescript-eslint/scope-manager@7.13.0': dependencies: '@typescript-eslint/types': 7.13.0 '@typescript-eslint/visitor-keys': 7.13.0 - dev: true - /@typescript-eslint/type-utils@7.13.0(eslint@8.57.0)(typescript@5.4.5): - resolution: {integrity: sha512-xMEtMzxq9eRkZy48XuxlBFzpVMDurUAfDu5Rz16GouAtXm0TaAoTFzqWUFPPuQYXI/CDaH/Bgx/fk/84t/Bc9A==} - engines: {node: ^18.18.0 || >=20.0.0} - peerDependencies: - eslint: ^8.56.0 - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true + '@typescript-eslint/type-utils@7.13.0(eslint@8.57.0)(typescript@5.4.5)': dependencies: '@typescript-eslint/typescript-estree': 7.13.0(typescript@5.4.5) '@typescript-eslint/utils': 7.13.0(eslint@8.57.0)(typescript@5.4.5) debug: 4.3.5(supports-color@8.1.1) eslint: 8.57.0 ts-api-utils: 1.3.0(typescript@5.4.5) + optionalDependencies: typescript: 5.4.5 transitivePeerDependencies: - supports-color - dev: true - /@typescript-eslint/types@5.62.0: - resolution: {integrity: sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - dev: true + '@typescript-eslint/types@5.62.0': {} - /@typescript-eslint/types@7.13.0: - resolution: {integrity: sha512-QWuwm9wcGMAuTsxP+qz6LBBd3Uq8I5Nv8xb0mk54jmNoCyDspnMvVsOxI6IsMmway5d1S9Su2+sCKv1st2l6eA==} - engines: {node: ^18.18.0 || >=20.0.0} - dev: true + '@typescript-eslint/types@7.13.0': {} - /@typescript-eslint/typescript-estree@5.62.0(typescript@5.4.5): - resolution: {integrity: sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - peerDependencies: - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true + '@typescript-eslint/typescript-estree@5.62.0(typescript@5.4.5)': dependencies: '@typescript-eslint/types': 5.62.0 '@typescript-eslint/visitor-keys': 5.62.0 @@ -5138,19 +11175,12 @@ packages: is-glob: 4.0.3 semver: 7.6.2 tsutils: 3.21.0(typescript@5.4.5) + optionalDependencies: typescript: 5.4.5 transitivePeerDependencies: - supports-color - dev: true - /@typescript-eslint/typescript-estree@7.13.0(typescript@5.4.5): - resolution: {integrity: sha512-cAvBvUoobaoIcoqox1YatXOnSl3gx92rCZoMRPzMNisDiM12siGilSM4+dJAekuuHTibI2hVC2fYK79iSFvWjw==} - engines: {node: ^18.18.0 || >=20.0.0} - peerDependencies: - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true + '@typescript-eslint/typescript-estree@7.13.0(typescript@5.4.5)': dependencies: '@typescript-eslint/types': 7.13.0 '@typescript-eslint/visitor-keys': 7.13.0 @@ -5160,16 +11190,12 @@ packages: minimatch: 9.0.4 semver: 7.6.2 ts-api-utils: 1.3.0(typescript@5.4.5) + optionalDependencies: typescript: 5.4.5 transitivePeerDependencies: - supports-color - dev: true - /@typescript-eslint/utils@5.62.0(eslint@8.57.0)(typescript@5.4.5): - resolution: {integrity: sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - peerDependencies: - eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 + '@typescript-eslint/utils@5.62.0(eslint@8.57.0)(typescript@5.4.5)': dependencies: '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) '@types/json-schema': 7.0.15 @@ -5183,13 +11209,8 @@ packages: transitivePeerDependencies: - supports-color - typescript - dev: true - /@typescript-eslint/utils@7.13.0(eslint@8.57.0)(typescript@5.4.5): - resolution: {integrity: sha512-jceD8RgdKORVnB4Y6BqasfIkFhl4pajB1wVxrF4akxD2QPM8GNYjgGwEzYS+437ewlqqrg7Dw+6dhdpjMpeBFQ==} - engines: {node: ^18.18.0 || >=20.0.0} - peerDependencies: - eslint: ^8.56.0 + '@typescript-eslint/utils@7.13.0(eslint@8.57.0)(typescript@5.4.5)': dependencies: '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) '@typescript-eslint/scope-manager': 7.13.0 @@ -5199,86 +11220,30 @@ packages: transitivePeerDependencies: - supports-color - typescript - dev: true - /@typescript-eslint/visitor-keys@5.62.0: - resolution: {integrity: sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + '@typescript-eslint/visitor-keys@5.62.0': dependencies: '@typescript-eslint/types': 5.62.0 eslint-visitor-keys: 3.4.3 - dev: true - /@typescript-eslint/visitor-keys@7.13.0: - resolution: {integrity: sha512-nxn+dozQx+MK61nn/JP+M4eCkHDSxSLDpgE3WcQo0+fkjEolnaB5jswvIKC4K56By8MMgIho7f1PVxERHEo8rw==} - engines: {node: ^18.18.0 || >=20.0.0} + '@typescript-eslint/visitor-keys@7.13.0': dependencies: '@typescript-eslint/types': 7.13.0 eslint-visitor-keys: 3.4.3 - dev: true - - /@ungap/structured-clone@1.2.0: - resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==} - dev: true - /@unocss/astro@0.58.9(rollup@2.79.1)(vite@4.5.3): - resolution: {integrity: sha512-VWfHNC0EfawFxLfb3uI+QcMGBN+ju+BYtutzeZTjilLKj31X2UpqIh8fepixL6ljgZzB3fweqg2xtUMC0gMnoQ==} - peerDependencies: - vite: ^2.9.0 || ^3.0.0-0 || ^4.0.0 || ^5.0.0-0 - peerDependenciesMeta: - vite: - optional: true - dependencies: - '@unocss/core': 0.58.9 - '@unocss/reset': 0.58.9 - '@unocss/vite': 0.58.9(rollup@2.79.1)(vite@4.5.3) - vite: 4.5.3(@types/node@20.14.2) - transitivePeerDependencies: - - rollup - dev: true + '@ungap/structured-clone@1.2.0': {} - /@unocss/astro@0.59.4(rollup@2.79.1)(vite@5.2.13): - resolution: {integrity: sha512-DU3OR5MMR1Uvvec4/wB9EetDASHRg19Moy6z/MiIhn8JWJ0QzWYgSeJcfUX8exomMYv6WUEQJL+CyLI34Wmn8w==} - peerDependencies: - vite: ^2.9.0 || ^3.0.0-0 || ^4.0.0 || ^5.0.0-0 - peerDependenciesMeta: - vite: - optional: true + '@unocss/astro@0.59.4(rollup@2.79.1)(vite@5.2.13(@types/node@20.14.2)(terser@5.31.1))': dependencies: '@unocss/core': 0.59.4 '@unocss/reset': 0.59.4 - '@unocss/vite': 0.59.4(rollup@2.79.1)(vite@5.2.13) - vite: 5.2.13(@types/node@20.14.2) - transitivePeerDependencies: - - rollup - dev: true - - /@unocss/cli@0.58.9(rollup@2.79.1): - resolution: {integrity: sha512-q7qlwX3V6UaqljWUQ5gMj36yTA9eLuuRywahdQWt1ioy4aPF/MEEfnMBZf/ntrqf5tIT5TO8fE11nvCco2Q/sA==} - engines: {node: '>=14'} - hasBin: true - dependencies: - '@ampproject/remapping': 2.3.0 - '@rollup/pluginutils': 5.1.0(rollup@2.79.1) - '@unocss/config': 0.58.9 - '@unocss/core': 0.58.9 - '@unocss/preset-uno': 0.58.9 - cac: 6.7.14 - chokidar: 3.6.0 - colorette: 2.0.20 - consola: 3.2.3 - fast-glob: 3.3.2 - magic-string: 0.30.10 - pathe: 1.1.2 - perfect-debounce: 1.0.0 + '@unocss/vite': 0.59.4(rollup@2.79.1)(vite@5.2.13(@types/node@20.14.2)(terser@5.31.1)) + optionalDependencies: + vite: 5.2.13(@types/node@20.14.2)(terser@5.31.1) transitivePeerDependencies: - rollup - dev: true - /@unocss/cli@0.59.4(rollup@2.79.1): - resolution: {integrity: sha512-TT+WKedSifhsRqnpoYD2LfyYipVzEbzIU4DDGIaDNeDxGXYOGpb876zzkPDcvZSpI37IJ/efkkV7PGYpPBcQBQ==} - engines: {node: '>=14'} - hasBin: true + '@unocss/cli@0.59.4(rollup@2.79.1)': dependencies: '@ampproject/remapping': 2.3.0 '@rollup/pluginutils': 5.1.0(rollup@2.79.1) @@ -5295,82 +11260,26 @@ packages: perfect-debounce: 1.0.0 transitivePeerDependencies: - rollup - dev: true - - /@unocss/config@0.58.9: - resolution: {integrity: sha512-90wRXIyGNI8UenWxvHUcH4l4rgq813MsTzYWsf6ZKyLLvkFjV2b2EfGXI27GPvZ7fVE1OAqx+wJNTw8CyQxwag==} - engines: {node: '>=14'} - dependencies: - '@unocss/core': 0.58.9 - unconfig: 0.3.13 - dev: true - /@unocss/config@0.59.4: - resolution: {integrity: sha512-h3yhj+D5Ygn5R7gbK4wMrtXZX6FF5DF6YD517sSSb0XB3lxHD9PhhT4HaV1hpHknvu0cMFU3460M45+TN1TI0Q==} - engines: {node: '>=14'} + '@unocss/config@0.59.4': dependencies: '@unocss/core': 0.59.4 unconfig: 0.3.13 - dev: true - - /@unocss/core@0.58.9: - resolution: {integrity: sha512-wYpPIPPsOIbIoMIDuH8ihehJk5pAZmyFKXIYO/Kro98GEOFhz6lJoLsy6/PZuitlgp2/TSlubUuWGjHWvp5osw==} - dev: true - - /@unocss/core@0.59.4: - resolution: {integrity: sha512-bBZ1sgcAtezQVZ1BST9IS3jqcsTLyqKNjiIf7FTnX3DHpfpYuMDFzSOtmkZDzBleOLO/CtcRWjT0HwTSQAmV0A==} - dev: true - /@unocss/extractor-arbitrary-variants@0.58.9: - resolution: {integrity: sha512-M/BvPdbEEMdhcFQh/z2Bf9gylO1Ky/ZnpIvKWS1YJPLt4KA7UWXSUf+ZNTFxX+X58Is5qAb5hNh/XBQmL3gbXg==} - dependencies: - '@unocss/core': 0.58.9 - dev: true + '@unocss/core@0.59.4': {} - /@unocss/extractor-arbitrary-variants@0.59.4: - resolution: {integrity: sha512-RDe4FgMGJQ+tp9GLvhPHni7Cc2O0lHBRMElVlN8LoXJAdODMICdbrEPGJlEfrc+7x/QgVFoR895KpYJh3hIgGA==} + '@unocss/extractor-arbitrary-variants@0.59.4': dependencies: '@unocss/core': 0.59.4 - dev: true - - /@unocss/inspector@0.58.9: - resolution: {integrity: sha512-uRzqkCNeBmEvFePXcfIFcQPMlCXd9/bLwa5OkBthiOILwQdH1uRIW3GWAa2SWspu+kZLP0Ly3SjZ9Wqi+5ZtTw==} - dependencies: - '@unocss/core': 0.58.9 - '@unocss/rule-utils': 0.58.9 - gzip-size: 6.0.0 - sirv: 2.0.4 - dev: true - /@unocss/inspector@0.59.4: - resolution: {integrity: sha512-QczJFNDiggmekkJyNcbcZIUVwlhvxz7ZwjnSf0w7K4znxfjKkZ1hNUbqLviM1HumkTKOdT27VISW7saN/ysO4w==} + '@unocss/inspector@0.59.4': dependencies: '@unocss/core': 0.59.4 '@unocss/rule-utils': 0.59.4 gzip-size: 6.0.0 sirv: 2.0.4 - dev: true - - /@unocss/postcss@0.58.9(postcss@8.4.38): - resolution: {integrity: sha512-PnKmH6Qhimw35yO6u6yx9SHaX2NmvbRNPDvMDHA/1xr3M8L0o8U88tgKbWfm65NEGF3R1zJ9A8rjtZn/LPkgPA==} - engines: {node: '>=14'} - peerDependencies: - postcss: ^8.4.21 - dependencies: - '@unocss/config': 0.58.9 - '@unocss/core': 0.58.9 - '@unocss/rule-utils': 0.58.9 - css-tree: 2.3.1 - fast-glob: 3.3.2 - magic-string: 0.30.10 - postcss: 8.4.38 - dev: true - /@unocss/postcss@0.59.4(postcss@8.4.38): - resolution: {integrity: sha512-KVz+AD7McHKp7VEWHbFahhyyVEo0oP/e1vnuNSuPlHthe+1V2zfH6lps+iJcvfL2072r5J+0PvD/1kOp5ryUSg==} - engines: {node: '>=14'} - peerDependencies: - postcss: ^8.4.21 + '@unocss/postcss@0.59.4(postcss@8.4.38)': dependencies: '@unocss/config': 0.59.4 '@unocss/core': 0.59.4 @@ -5379,175 +11288,62 @@ packages: fast-glob: 3.3.2 magic-string: 0.30.10 postcss: 8.4.38 - dev: true - /@unocss/preset-attributify@0.58.9: - resolution: {integrity: sha512-ucP+kXRFcwmBmHohUVv31bE/SejMAMo7Hjb0QcKVLyHlzRWUJsfNR+jTAIGIUSYxN7Q8MeigYsongGo3nIeJnQ==} - dependencies: - '@unocss/core': 0.58.9 - dev: true - - /@unocss/preset-attributify@0.59.4: - resolution: {integrity: sha512-BeogWuYaIakC1gmOZFFCjFVWmu/m3AqEX8UYQS6tY6lAaK2L4Qf4AstYBlT2zAMxy9LNxPDxFQrvfSfFk5Klsg==} + '@unocss/preset-attributify@0.59.4': dependencies: '@unocss/core': 0.59.4 - dev: true - - /@unocss/preset-icons@0.58.9: - resolution: {integrity: sha512-9dS48+yAunsbS0ylOW2Wisozwpn3nGY1CqTiidkUnrMnrZK3al579A7srUX9NyPWWDjprO7eU/JkWbdDQSmFFA==} - dependencies: - '@iconify/utils': 2.1.24 - '@unocss/core': 0.58.9 - ofetch: 1.3.4 - transitivePeerDependencies: - - supports-color - dev: true - /@unocss/preset-icons@0.59.4: - resolution: {integrity: sha512-Afjwh5oC4KRE8TNZDUkRK6hvvV1wKLrS1e5trniE0B0AM9HK3PBolQaIU7QmzPv6WQrog+MZgIwafg1eqsPUCA==} + '@unocss/preset-icons@0.59.4': dependencies: '@iconify/utils': 2.1.24 '@unocss/core': 0.59.4 ofetch: 1.3.4 transitivePeerDependencies: - supports-color - dev: true - - /@unocss/preset-mini@0.58.9: - resolution: {integrity: sha512-m4aDGYtueP8QGsU3FsyML63T/w5Mtr4htme2jXy6m50+tzC1PPHaIBstMTMQfLc6h8UOregPJyGHB5iYQZGEvQ==} - dependencies: - '@unocss/core': 0.58.9 - '@unocss/extractor-arbitrary-variants': 0.58.9 - '@unocss/rule-utils': 0.58.9 - dev: true - /@unocss/preset-mini@0.59.4: - resolution: {integrity: sha512-ZLywGrXi1OCr4My5vX2rLUb5Xgx6ufR9WTQOvpQJGBdIV/jnZn/pyE5avCs476SnOq2K172lnd8mFmTK7/zArA==} + '@unocss/preset-mini@0.59.4': dependencies: '@unocss/core': 0.59.4 '@unocss/extractor-arbitrary-variants': 0.59.4 '@unocss/rule-utils': 0.59.4 - dev: true - - /@unocss/preset-tagify@0.58.9: - resolution: {integrity: sha512-obh75XrRmxYwrQMflzvhQUMeHwd/R9bEDhTWUW9aBTolBy4eNypmQwOhHCKh5Xi4Dg6o0xj6GWC/jcCj1SPLog==} - dependencies: - '@unocss/core': 0.58.9 - dev: true - /@unocss/preset-tagify@0.59.4: - resolution: {integrity: sha512-vWMdTUoghOSmTbdmZtERssffmdUdOuhh4vUdl0R8Kv6KxB0PkvEFCu2FItn97nRJdSPlZSFxxDkaOIg9w+STNQ==} + '@unocss/preset-tagify@0.59.4': dependencies: '@unocss/core': 0.59.4 - dev: true - /@unocss/preset-typography@0.58.9: - resolution: {integrity: sha512-hrsaqKlcZni3Vh4fwXC+lP9e92FQYbqtmlZw2jpxlVwwH5aLzwk4d4MiFQGyhCfzuSDYm0Zd52putFVV02J7bA==} - dependencies: - '@unocss/core': 0.58.9 - '@unocss/preset-mini': 0.58.9 - dev: true - - /@unocss/preset-typography@0.59.4: - resolution: {integrity: sha512-ZX9bxZUqlXK1qEDzO5lkK96ICt9itR/oNyn/7mMc1JPqwj263LumQMn5silocgzoLSUXEeq//L6GylqYjkL8GA==} + '@unocss/preset-typography@0.59.4': dependencies: '@unocss/core': 0.59.4 '@unocss/preset-mini': 0.59.4 - dev: true - - /@unocss/preset-uno@0.58.9: - resolution: {integrity: sha512-Fze+X2Z/EegCkRdDRgwwvFBmXBenNR1AG8KxAyz8iPeWbhOBaRra2sn2ScryrfH6SbJHpw26ZyJXycAdS0Fq3A==} - dependencies: - '@unocss/core': 0.58.9 - '@unocss/preset-mini': 0.58.9 - '@unocss/preset-wind': 0.58.9 - '@unocss/rule-utils': 0.58.9 - dev: true - /@unocss/preset-uno@0.59.4: - resolution: {integrity: sha512-G1f8ZluplvXZ3bERj+sM/8zzY//XD++nNOlAQNKOANSVht3qEoJebrfEiMClNpA5qW5VWOZhEhPkh0M7GsXtnA==} + '@unocss/preset-uno@0.59.4': dependencies: '@unocss/core': 0.59.4 '@unocss/preset-mini': 0.59.4 '@unocss/preset-wind': 0.59.4 '@unocss/rule-utils': 0.59.4 - dev: true - - /@unocss/preset-web-fonts@0.58.9: - resolution: {integrity: sha512-XtiO+Z+RYnNYomNkS2XxaQiY++CrQZKOfNGw5htgIrb32QtYVQSkyYQ3jDw7JmMiCWlZ4E72cV/zUb++WrZLxg==} - dependencies: - '@unocss/core': 0.58.9 - ofetch: 1.3.4 - dev: true - /@unocss/preset-web-fonts@0.59.4: - resolution: {integrity: sha512-ehutTjKHnf2KPmdatN42N9a8+y+glKSU3UlcBRNsVIIXVIlaBQuPVGZSPhnMtrKD17IgWylXq2K6RJK+ab0hZA==} + '@unocss/preset-web-fonts@0.59.4': dependencies: '@unocss/core': 0.59.4 ofetch: 1.3.4 - dev: true - - /@unocss/preset-wind@0.58.9: - resolution: {integrity: sha512-7l+7Vx5UoN80BmJKiqDXaJJ6EUqrnUQYv8NxCThFi5lYuHzxsYWZPLU3k3XlWRUQt8XL+6rYx7mMBmD7EUSHyw==} - dependencies: - '@unocss/core': 0.58.9 - '@unocss/preset-mini': 0.58.9 - '@unocss/rule-utils': 0.58.9 - dev: true - /@unocss/preset-wind@0.59.4: - resolution: {integrity: sha512-CNX6w0ZpSQg/i1oF0/WKWzto8PtLqoknC5h8JmmcGb7VsyBQeV0oNnhbURxpbuMEhbv1MWVIGvk8a+P6y0rFkQ==} + '@unocss/preset-wind@0.59.4': dependencies: '@unocss/core': 0.59.4 '@unocss/preset-mini': 0.59.4 '@unocss/rule-utils': 0.59.4 - dev: true - - /@unocss/reset@0.58.9: - resolution: {integrity: sha512-nA2pg3tnwlquq+FDOHyKwZvs20A6iBsKPU7Yjb48JrNnzoaXqE+O9oN6782IG2yKVW4AcnsAnAnM4cxXhGzy1w==} - dev: true - - /@unocss/reset@0.59.4: - resolution: {integrity: sha512-Upy4xzdWl4RChbLAXBq1BoR4WqxXMoIfjvtcwSZcZK2sylXCFAseSWnyzJFdSiXPqNfmMuNgPXgiSxiQB+cmNA==} - dev: true - - /@unocss/rule-utils@0.58.9: - resolution: {integrity: sha512-45bDa+elmlFLthhJmKr2ltKMAB0yoXnDMQ6Zp5j3OiRB7dDMBkwYRPvHLvIe+34Ey7tDt/kvvDPtWMpPl2quUQ==} - engines: {node: '>=14'} - dependencies: - '@unocss/core': 0.58.9 - magic-string: 0.30.10 - dev: true - /@unocss/rule-utils@0.59.4: - resolution: {integrity: sha512-1qoLJlBWAkS4D4sg73990S1MT7E8E5md/YhopKjTQuEC9SyeVmEg+5pR/Xd8xhPKMqbcuBPl/DS8b6l/GQO56A==} - engines: {node: '>=14'} - dependencies: - '@unocss/core': 0.59.4 - magic-string: 0.30.10 - dev: true - - /@unocss/scope@0.58.9: - resolution: {integrity: sha512-BIwcpx0R3bE0rYa9JVDJTk0GX32EBvnbvufBpNkWfC5tb7g+B7nMkVq9ichanksYCCxrIQQo0mrIz5PNzu9sGA==} - dev: true - - /@unocss/scope@0.59.4: - resolution: {integrity: sha512-wBQJ39kw4Tfj4km7AoGvSIobPKVnRZVsgc0bema5Y0PL3g1NeVQ/LopBI2zEJWdpxGXUWxSDsXm7BZo6qVlD/A==} - dev: true + '@unocss/reset@0.59.4': {} - /@unocss/transformer-attributify-jsx-babel@0.58.9: - resolution: {integrity: sha512-UGaQoGZg+3QrsPtnGHPECmsGn4EQb2KSdZ4eGEn2YssjKv+CcQhzRvpEUgnuF/F+jGPkCkS/G/YEQBHRWBY54Q==} + '@unocss/rule-utils@0.59.4': dependencies: - '@babel/core': 7.24.7 - '@babel/plugin-syntax-jsx': 7.24.7(@babel/core@7.24.7) - '@babel/preset-typescript': 7.24.7(@babel/core@7.24.7) - '@unocss/core': 0.58.9 - transitivePeerDependencies: - - supports-color - dev: true + '@unocss/core': 0.59.4 + magic-string: 0.30.10 - /@unocss/transformer-attributify-jsx-babel@0.59.4: - resolution: {integrity: sha512-xtCRSgeTaDBiNJLVX7oOSFe63JiFB5nrdK23PHn3IlZM9O7Bxx4ZxI3MQJtFZFQNE+INFko+DVyY1WiFEm1p/Q==} + '@unocss/scope@0.59.4': {} + + '@unocss/transformer-attributify-jsx-babel@0.59.4': dependencies: '@babel/core': 7.24.7 '@babel/plugin-syntax-jsx': 7.24.7(@babel/core@7.24.7) @@ -5555,84 +11351,26 @@ packages: '@unocss/core': 0.59.4 transitivePeerDependencies: - supports-color - dev: true - - /@unocss/transformer-attributify-jsx@0.58.9: - resolution: {integrity: sha512-jpL3PRwf8t43v1agUdQn2EHGgfdWfvzsMxFtoybO88xzOikzAJaaouteNtojc/fQat2T9iBduDxVj5egdKmhdQ==} - dependencies: - '@unocss/core': 0.58.9 - dev: true - /@unocss/transformer-attributify-jsx@0.59.4: - resolution: {integrity: sha512-m4b83utzKMfUQH/45V2QkjJoXd8Tu2pRP1nic91Xf7QRceyKDD+BxoTneo2JNC2K274cQu7HqqotnCm2aFfEGw==} + '@unocss/transformer-attributify-jsx@0.59.4': dependencies: '@unocss/core': 0.59.4 - dev: true - /@unocss/transformer-compile-class@0.58.9: - resolution: {integrity: sha512-l2VpCqelJ6Tgc1kfSODxBtg7fCGPVRr2EUzTg1LrGYKa2McbKuc/wV/2DWKHGxL6+voWi7a2C9XflqGDXXutuQ==} - dependencies: - '@unocss/core': 0.58.9 - dev: true - - /@unocss/transformer-compile-class@0.59.4: - resolution: {integrity: sha512-Vgk2OCLPW0pU+Uzr1IgDtHVspSBb+gPrQFkV+5gxHk9ZdKi3oYKxLuufVWYDSwv7o9yfQGbYrMH9YLsjRsnA7Q==} + '@unocss/transformer-compile-class@0.59.4': dependencies: '@unocss/core': 0.59.4 - dev: true - - /@unocss/transformer-directives@0.58.9: - resolution: {integrity: sha512-pLOUsdoY2ugVntJXg0xuGjO9XZ2xCiMxTPRtpZ4TsEzUtdEzMswR06Y8VWvNciTB/Zqxcz9ta8rD0DKePOfSuw==} - dependencies: - '@unocss/core': 0.58.9 - '@unocss/rule-utils': 0.58.9 - css-tree: 2.3.1 - dev: true - /@unocss/transformer-directives@0.59.4: - resolution: {integrity: sha512-nXUTEclUbs0vQ4KfLhKt4J/5SLSEq1az2FNlJmiXMmqmn75X89OrtCu2OJu9sGXhn+YyBApxgcSSdxmtpqMi1Q==} + '@unocss/transformer-directives@0.59.4': dependencies: '@unocss/core': 0.59.4 '@unocss/rule-utils': 0.59.4 css-tree: 2.3.1 - dev: true - - /@unocss/transformer-variant-group@0.58.9: - resolution: {integrity: sha512-3A6voHSnFcyw6xpcZT6oxE+KN4SHRnG4z862tdtWvRGcN+jGyNr20ylEZtnbk4xj0VNMeGHHQRZ0WLvmrAwvOQ==} - dependencies: - '@unocss/core': 0.58.9 - dev: true - /@unocss/transformer-variant-group@0.59.4: - resolution: {integrity: sha512-9XLixxn1NRgP62Kj4R/NC/rpqhql5F2s6ulJ8CAMTEbd/NylVhEANluPGDVUGcLJ4cj6E02hFa8C1PLGSm7/xw==} + '@unocss/transformer-variant-group@0.59.4': dependencies: '@unocss/core': 0.59.4 - dev: true - - /@unocss/vite@0.58.9(rollup@2.79.1)(vite@4.5.3): - resolution: {integrity: sha512-mmppBuulAHCal+sC0Qz36Y99t0HicAmznpj70Kzwl7g/yvXwm58/DW2OnpCWw+uA8/JBft/+z3zE+XvrI+T1HA==} - peerDependencies: - vite: ^2.9.0 || ^3.0.0-0 || ^4.0.0 || ^5.0.0-0 - dependencies: - '@ampproject/remapping': 2.3.0 - '@rollup/pluginutils': 5.1.0(rollup@2.79.1) - '@unocss/config': 0.58.9 - '@unocss/core': 0.58.9 - '@unocss/inspector': 0.58.9 - '@unocss/scope': 0.58.9 - '@unocss/transformer-directives': 0.58.9 - chokidar: 3.6.0 - fast-glob: 3.3.2 - magic-string: 0.30.10 - vite: 4.5.3(@types/node@20.14.2) - transitivePeerDependencies: - - rollup - dev: true - /@unocss/vite@0.59.4(rollup@2.79.1)(vite@5.2.13): - resolution: {integrity: sha512-q7GN7vkQYn79n7vYIUlaa7gXGwc7pk0Qo3z3ZFwWGE43/DtZnn2Hwl5UjgBAgi9McA+xqHJEHRsJnI7HJPHUYA==} - peerDependencies: - vite: ^2.9.0 || ^3.0.0-0 || ^4.0.0 || ^5.0.0-0 + '@unocss/vite@0.59.4(rollup@2.79.1)(vite@5.2.13(@types/node@20.14.2)(terser@5.31.1))': dependencies: '@ampproject/remapping': 2.3.0 '@rollup/pluginutils': 5.1.0(rollup@2.79.1) @@ -5644,57 +11382,20 @@ packages: chokidar: 3.6.0 fast-glob: 3.3.2 magic-string: 0.30.10 - vite: 5.2.13(@types/node@20.14.2) + vite: 5.2.13(@types/node@20.14.2)(terser@5.31.1) transitivePeerDependencies: - rollup - dev: true - - /@vite-pwa/vitepress@0.3.1(vite-plugin-pwa@0.17.5): - resolution: {integrity: sha512-krgiYQCWXUkpQCx+IHdsanFFpAzfH5pY86MARDa6as5ZNmG18mb/gC6MEahFV67V0xfMfTaNL4B8dQNzzcikLw==} - peerDependencies: - vite-plugin-pwa: '>=0.17.2 <1' - dependencies: - vite-plugin-pwa: 0.17.5(vite@4.5.3)(workbox-build@7.1.1)(workbox-window@7.1.0) - dev: true - - /@vite-pwa/vitepress@0.4.0(vite-plugin-pwa@0.19.8): - resolution: {integrity: sha512-MrsSCK5EBCzQAQgq5/3XHaFIjkypda58Wzy6PkDwZoRHnWexik0C2GUxMOe+RA+qdpGxB0mEkhqajeOmuYMvhw==} - peerDependencies: - '@vite-pwa/assets-generator': ^0.2.4 - vite-plugin-pwa: '>=0.19.0 <1' - peerDependenciesMeta: - '@vite-pwa/assets-generator': - optional: true - dependencies: - vite-plugin-pwa: 0.19.8(vite@5.2.13)(workbox-build@7.1.1)(workbox-window@7.1.0) - dev: true - /@vitejs/plugin-vue@4.6.2(vite@4.5.3)(vue@3.4.27): - resolution: {integrity: sha512-kqf7SGFoG+80aZG6Pf+gsZIVvGSCKE98JbiWqcCV9cThtg91Jav0yvYFC9Zb+jKetNGF6ZKeoaxgZfND21fWKw==} - engines: {node: ^14.18.0 || >=16.0.0} - peerDependencies: - vite: ^4.0.0 || ^5.0.0 - vue: ^3.2.25 + '@vite-pwa/vitepress@0.4.0(vite-plugin-pwa@0.19.8(vite@5.2.13(@types/node@20.14.2)(terser@5.31.1))(workbox-build@7.1.1(@types/babel__core@7.20.5))(workbox-window@7.1.0))': dependencies: - vite: 4.5.3(@types/node@20.14.2) - vue: 3.4.27(typescript@5.4.5) - dev: true + vite-plugin-pwa: 0.19.8(vite@5.2.13(@types/node@20.14.2)(terser@5.31.1))(workbox-build@7.1.1(@types/babel__core@7.20.5))(workbox-window@7.1.0) - /@vitejs/plugin-vue@5.0.5(vite@5.2.13)(vue@3.4.27): - resolution: {integrity: sha512-LOjm7XeIimLBZyzinBQ6OSm3UBCNVCpLkxGC0oWmm2YPzVZoxMsdvNVimLTBzpAnR9hl/yn1SHGuRfe6/Td9rQ==} - engines: {node: ^18.0.0 || >=20.0.0} - peerDependencies: - vite: ^5.0.0 - vue: ^3.2.25 + '@vitejs/plugin-vue@5.0.5(vite@5.2.13(@types/node@20.14.2)(terser@5.31.1))(vue@3.4.27(typescript@5.4.5))': dependencies: - vite: 5.2.13(@types/node@20.14.2) + vite: 5.2.13(@types/node@20.14.2)(terser@5.31.1) vue: 3.4.27(typescript@5.4.5) - dev: true - /@vitest/coverage-v8@1.6.0(vitest@1.6.0): - resolution: {integrity: sha512-KvapcbMY/8GYIG0rlwwOKCVNRc0OL20rrhFkg/CHNzncV03TE2XWvO5w9uZYoxNiMEBacAJt3unSOiZ7svePew==} - peerDependencies: - vitest: 1.6.0 + '@vitest/coverage-v8@1.6.0(vitest@1.6.0(@types/node@20.14.2)(@vitest/ui@1.6.0)(jsdom@24.1.0)(terser@5.31.1))': dependencies: '@ampproject/remapping': 2.3.0 '@bcoe/v8-coverage': 0.2.3 @@ -5709,45 +11410,33 @@ packages: std-env: 3.7.0 strip-literal: 2.1.0 test-exclude: 6.0.0 - vitest: 1.6.0(@types/node@20.14.2)(@vitest/ui@1.6.0)(jsdom@24.1.0) + vitest: 1.6.0(@types/node@20.14.2)(@vitest/ui@1.6.0)(jsdom@24.1.0)(terser@5.31.1) transitivePeerDependencies: - supports-color - dev: true - /@vitest/expect@1.6.0: - resolution: {integrity: sha512-ixEvFVQjycy/oNgHjqsL6AZCDduC+tflRluaHIzKIsdbzkLn2U/iBnVeJwB6HsIjQBdfMR8Z0tRxKUsvFJEeWQ==} + '@vitest/expect@1.6.0': dependencies: '@vitest/spy': 1.6.0 '@vitest/utils': 1.6.0 chai: 4.4.1 - dev: true - /@vitest/runner@1.6.0: - resolution: {integrity: sha512-P4xgwPjwesuBiHisAVz/LSSZtDjOTPYZVmNAnpHHSR6ONrf8eCJOFRvUwdHn30F5M1fxhqtl7QZQUk2dprIXAg==} + '@vitest/runner@1.6.0': dependencies: '@vitest/utils': 1.6.0 p-limit: 5.0.0 pathe: 1.1.2 - dev: true - /@vitest/snapshot@1.6.0: - resolution: {integrity: sha512-+Hx43f8Chus+DCmygqqfetcAZrDJwvTj0ymqjQq4CvmpKFSTVteEOBzCusu1x2tt4OJcvBflyHUE0DZSLgEMtQ==} + '@vitest/snapshot@1.6.0': dependencies: magic-string: 0.30.10 pathe: 1.1.2 pretty-format: 29.7.0 - dev: true - /@vitest/spy@1.6.0: - resolution: {integrity: sha512-leUTap6B/cqi/bQkXUu6bQV5TZPx7pmMBKBQiI0rJA8c3pB56ZsaTbREnF7CJfmvAS4V2cXIBAh/3rVwrrCYgw==} + '@vitest/spy@1.6.0': dependencies: tinyspy: 2.2.1 - dev: true - /@vitest/ui@1.6.0(vitest@1.6.0): - resolution: {integrity: sha512-k3Lyo+ONLOgylctiGovRKy7V4+dIN2yxstX3eY5cWFXH6WP+ooVX79YSyi0GagdTQzLmT43BF27T0s6dOIPBXA==} - peerDependencies: - vitest: 1.6.0 + '@vitest/ui@1.6.0(vitest@1.6.0)': dependencies: '@vitest/utils': 1.6.0 fast-glob: 3.3.2 @@ -5756,31 +11445,23 @@ packages: pathe: 1.1.2 picocolors: 1.0.1 sirv: 2.0.4 - vitest: 1.6.0(@types/node@20.14.2)(@vitest/ui@1.6.0)(jsdom@24.1.0) - dev: true + vitest: 1.6.0(@types/node@20.14.2)(@vitest/ui@1.6.0)(jsdom@24.1.0)(terser@5.31.1) - /@vitest/utils@1.6.0: - resolution: {integrity: sha512-21cPiuGMoMZwiOHa2i4LXkMkMkCGzA+MVFV70jRwHo95dL4x/ts5GZhML1QWuy7yfp3WzK3lRvZi3JnXTYqrBw==} + '@vitest/utils@1.6.0': dependencies: diff-sequences: 29.6.3 estree-walker: 3.0.3 loupe: 2.3.7 pretty-format: 29.7.0 - dev: true - /@vue/compat@3.4.27(vue@3.4.27): - resolution: {integrity: sha512-H2W93cPe9WXXkHiYEeX7f2Z8/znElm44fxgj8uBhgC6cxvjDUOLIcIJySs+FZvv6JM+Re/SBUnlcr4LJMaQZzw==} - peerDependencies: - vue: 3.4.27 + '@vue/compat@3.4.27(vue@3.4.27(typescript@5.4.5))': dependencies: '@babel/parser': 7.24.7 estree-walker: 2.0.2 source-map-js: 1.2.0 vue: 3.4.27(typescript@5.4.5) - dev: false - /@vue/compiler-core@3.4.27: - resolution: {integrity: sha512-E+RyqY24KnyDXsCuQrI+mlcdW3ALND6U7Gqa/+bVwbcpcR3BRRIckFoz7Qyd4TTlnugtwuI7YgjbvsLmxb+yvg==} + '@vue/compiler-core@3.4.27': dependencies: '@babel/parser': 7.24.7 '@vue/shared': 3.4.27 @@ -5788,14 +11469,12 @@ packages: estree-walker: 2.0.2 source-map-js: 1.2.0 - /@vue/compiler-dom@3.4.27: - resolution: {integrity: sha512-kUTvochG/oVgE1w5ViSr3KUBh9X7CWirebA3bezTbB5ZKBQZwR2Mwj9uoSKRMFcz4gSMzzLXBPD6KpCLb9nvWw==} + '@vue/compiler-dom@3.4.27': dependencies: '@vue/compiler-core': 3.4.27 '@vue/shared': 3.4.27 - /@vue/compiler-sfc@3.4.27: - resolution: {integrity: sha512-nDwntUEADssW8e0rrmE0+OrONwmRlegDA1pD6QhVeXxjIytV03yDqTey9SBDiALsvAd5U4ZrEKbMyVXhX6mCGA==} + '@vue/compiler-sfc@3.4.27': dependencies: '@babel/parser': 7.24.7 '@vue/compiler-core': 3.4.27 @@ -5807,27 +11486,20 @@ packages: postcss: 8.4.38 source-map-js: 1.2.0 - /@vue/compiler-ssr@3.4.27: - resolution: {integrity: sha512-CVRzSJIltzMG5FcidsW0jKNQnNRYC8bT21VegyMMtHmhW3UOI7knmUehzswXLrExDLE6lQCZdrhD4ogI7c+vuw==} + '@vue/compiler-ssr@3.4.27': dependencies: '@vue/compiler-dom': 3.4.27 '@vue/shared': 3.4.27 - /@vue/devtools-api@6.6.3: - resolution: {integrity: sha512-0MiMsFma/HqA6g3KLKn+AGpL1kgKhFWszC9U29NfpWK5LE7bjeXxySWJrOJ77hBz+TBrBQ7o4QJqbPbqbs8rJw==} + '@vue/devtools-api@6.6.3': {} - /@vue/devtools-api@7.2.1(vue@3.4.27): - resolution: {integrity: sha512-6oNCtyFOrNdqm6GUkFujsCgFlpbsHLnZqq7edeM/+cxAbMyCWvsaCsIMUaz7AiluKLccCGEM8fhOsjaKgBvb7g==} + '@vue/devtools-api@7.2.1(vue@3.4.27(typescript@5.4.5))': dependencies: - '@vue/devtools-kit': 7.2.1(vue@3.4.27) + '@vue/devtools-kit': 7.2.1(vue@3.4.27(typescript@5.4.5)) transitivePeerDependencies: - vue - dev: true - /@vue/devtools-kit@7.2.1(vue@3.4.27): - resolution: {integrity: sha512-Wak/fin1X0Q8LLIfCAHBrdaaB+R6IdpSXsDByPHbQ3BmkCP0/cIo/oEGp9i0U2+gEqD4L3V9RDjNf1S34DTzQQ==} - peerDependencies: - vue: ^3.0.0 + '@vue/devtools-kit@7.2.1(vue@3.4.27(typescript@5.4.5))': dependencies: '@vue/devtools-shared': 7.2.1 hookable: 5.5.3 @@ -5835,119 +11507,66 @@ packages: perfect-debounce: 1.0.0 speakingurl: 14.0.1 vue: 3.4.27(typescript@5.4.5) - dev: true - /@vue/devtools-shared@7.2.1: - resolution: {integrity: sha512-PCJF4UknJmOal68+X9XHyVeQ+idv0LFujkTOIW30+GaMJqwFVN9LkQKX4gLqn61KkGMdJTzQ1bt7EJag3TI6AA==} + '@vue/devtools-shared@7.2.1': dependencies: rfdc: 1.4.1 - dev: true - /@vue/reactivity@3.4.27: - resolution: {integrity: sha512-kK0g4NknW6JX2yySLpsm2jlunZJl2/RJGZ0H9ddHdfBVHcNzxmQ0sS0b09ipmBoQpY8JM2KmUw+a6sO8Zo+zIA==} + '@vue/reactivity@3.4.27': dependencies: '@vue/shared': 3.4.27 - /@vue/runtime-core@3.4.27: - resolution: {integrity: sha512-7aYA9GEbOOdviqVvcuweTLe5Za4qBZkUY7SvET6vE8kyypxVgaT1ixHLg4urtOlrApdgcdgHoTZCUuTGap/5WA==} + '@vue/runtime-core@3.4.27': dependencies: '@vue/reactivity': 3.4.27 '@vue/shared': 3.4.27 - /@vue/runtime-dom@3.4.27: - resolution: {integrity: sha512-ScOmP70/3NPM+TW9hvVAz6VWWtZJqkbdf7w6ySsws+EsqtHvkhxaWLecrTorFxsawelM5Ys9FnDEMt6BPBDS0Q==} + '@vue/runtime-dom@3.4.27': dependencies: '@vue/runtime-core': 3.4.27 '@vue/shared': 3.4.27 csstype: 3.1.3 - /@vue/server-renderer@3.4.27(vue@3.4.27): - resolution: {integrity: sha512-dlAMEuvmeA3rJsOMJ2J1kXU7o7pOxgsNHVr9K8hB3ImIkSuBrIdy0vF66h8gf8Tuinf1TK3mPAz2+2sqyf3KzA==} - peerDependencies: - vue: 3.4.27 + '@vue/server-renderer@3.4.27(vue@3.4.27(typescript@5.4.5))': dependencies: '@vue/compiler-ssr': 3.4.27 '@vue/shared': 3.4.27 vue: 3.4.27(typescript@5.4.5) - /@vue/shared@3.4.27: - resolution: {integrity: sha512-DL3NmY2OFlqmYYrzp39yi3LDkKxa5vZVwxWdQ3rG0ekuWscHraeIbnI8t+aZK7qhYqEqWKTUdijadunb9pnrgA==} + '@vue/shared@3.4.27': {} - /@vueuse/core@10.11.0(vue@3.4.27): - resolution: {integrity: sha512-x3sD4Mkm7PJ+pcq3HX8PLPBadXCAlSDR/waK87dz0gQE+qJnaaFhc/dZVfJz+IUYzTMVGum2QlR7ImiJQN4s6g==} + '@vueuse/core@10.11.0(vue@3.4.27(typescript@5.4.5))': dependencies: '@types/web-bluetooth': 0.0.20 '@vueuse/metadata': 10.11.0 - '@vueuse/shared': 10.11.0(vue@3.4.27) - vue-demi: 0.14.8(vue@3.4.27) + '@vueuse/shared': 10.11.0(vue@3.4.27(typescript@5.4.5)) + vue-demi: 0.14.8(vue@3.4.27(typescript@5.4.5)) transitivePeerDependencies: - '@vue/composition-api' - vue - /@vueuse/integrations@10.11.0(focus-trap@7.5.4)(vue@3.4.27): - resolution: {integrity: sha512-Pp6MtWEIr+NDOccWd8j59Kpjy5YDXogXI61Kb1JxvSfVBO8NzFQkmrKmSZz47i+ZqHnIzxaT38L358yDHTncZg==} - peerDependencies: - async-validator: ^4 - axios: ^1 - change-case: ^4 - drauu: ^0.3 - focus-trap: ^7 - fuse.js: ^6 - idb-keyval: ^6 - jwt-decode: ^3 - nprogress: ^0.2 - qrcode: ^1.5 - sortablejs: ^1 - universal-cookie: ^6 - peerDependenciesMeta: - async-validator: - optional: true - axios: - optional: true - change-case: - optional: true - drauu: - optional: true - focus-trap: - optional: true - fuse.js: - optional: true - idb-keyval: - optional: true - jwt-decode: - optional: true - nprogress: - optional: true - qrcode: - optional: true - sortablejs: - optional: true - universal-cookie: - optional: true + '@vueuse/integrations@10.11.0(axios@1.7.2)(focus-trap@7.5.4)(vue@3.4.27(typescript@5.4.5))': dependencies: - '@vueuse/core': 10.11.0(vue@3.4.27) - '@vueuse/shared': 10.11.0(vue@3.4.27) + '@vueuse/core': 10.11.0(vue@3.4.27(typescript@5.4.5)) + '@vueuse/shared': 10.11.0(vue@3.4.27(typescript@5.4.5)) + vue-demi: 0.14.8(vue@3.4.27(typescript@5.4.5)) + optionalDependencies: + axios: 1.7.2(debug@4.3.5) focus-trap: 7.5.4 - vue-demi: 0.14.8(vue@3.4.27) transitivePeerDependencies: - '@vue/composition-api' - vue - dev: true - /@vueuse/metadata@10.11.0: - resolution: {integrity: sha512-kQX7l6l8dVWNqlqyN3ePW3KmjCQO3ZMgXuBMddIu83CmucrsBfXlH+JoviYyRBws/yLTQO8g3Pbw+bdIoVm4oQ==} + '@vueuse/metadata@10.11.0': {} - /@vueuse/shared@10.11.0(vue@3.4.27): - resolution: {integrity: sha512-fyNoIXEq3PfX1L3NkNhtVQUSRtqYwJtJg+Bp9rIzculIZWHTkKSysujrOk2J+NrRulLTQH9+3gGSfYLWSEWU1A==} + '@vueuse/shared@10.11.0(vue@3.4.27(typescript@5.4.5))': dependencies: - vue-demi: 0.14.8(vue@3.4.27) + vue-demi: 0.14.8(vue@3.4.27(typescript@5.4.5)) transitivePeerDependencies: - '@vue/composition-api' - vue - /@wdio/config@7.31.1(typescript@5.4.5): - resolution: {integrity: sha512-WAfswbCatwiaDVqy6kfF/5T8/WS/US/SRhBGUFrfBuGMIe+RRoHgy7jURFWSvUIE7CNHj8yvs46fLUcxhXjzcQ==} - engines: {node: '>=12.0.0'} + '@wdio/config@7.31.1(typescript@5.4.5)': dependencies: '@types/glob': 8.1.0 '@wdio/logger': 7.26.0 @@ -5957,106 +11576,68 @@ packages: glob: 8.1.0 transitivePeerDependencies: - typescript - dev: true - /@wdio/logger@7.26.0: - resolution: {integrity: sha512-kQj9s5JudAG9qB+zAAcYGPHVfATl2oqKgqj47yjehOQ1zzG33xmtL1ArFbQKWhDG32y1A8sN6b0pIqBEIwgg8Q==} - engines: {node: '>=12.0.0'} + '@wdio/logger@7.26.0': dependencies: chalk: 4.1.2 loglevel: 1.9.1 loglevel-plugin-prefix: 0.8.4 strip-ansi: 6.0.1 - dev: true - /@wdio/protocols@7.27.0: - resolution: {integrity: sha512-hT/U22R5i3HhwPjkaKAG0yd59eaOaZB0eibRj2+esCImkb5Y6rg8FirrlYRxIGFVBl0+xZV0jKHzR5+o097nvg==} - engines: {node: '>=12.0.0'} - dev: true + '@wdio/protocols@7.27.0': {} - /@wdio/types@7.30.2(typescript@5.4.5): - resolution: {integrity: sha512-uZ8o7FX8RyBsaXiOWa59UKTCHTtADNvOArYTcHNEIzt+rh4JdB/uwqfc8y4TCNA2kYm7PWaQpUFwpStLeg0H1Q==} - engines: {node: '>=12.0.0'} - peerDependencies: - typescript: ^4.6.2 - peerDependenciesMeta: - typescript: - optional: true + '@wdio/types@7.30.2(typescript@5.4.5)': dependencies: '@types/node': 18.19.34 got: 11.8.6 + optionalDependencies: typescript: 5.4.5 - dev: true - /@wdio/utils@7.30.2(typescript@5.4.5): - resolution: {integrity: sha512-np7I+smszFUennbQKdzbMN/zUL3s3EZq9pCCUcTRjjs9TE4tnn0wfmGdoz2o7REYu6kn9NfFFJyVIM2VtBbKEA==} - engines: {node: '>=12.0.0'} + '@wdio/utils@7.30.2(typescript@5.4.5)': dependencies: '@wdio/logger': 7.26.0 '@wdio/types': 7.30.2(typescript@5.4.5) p-iteration: 1.1.8 transitivePeerDependencies: - typescript - dev: true - /@webassemblyjs/ast@1.12.1: - resolution: {integrity: sha512-EKfMUOPRRUTy5UII4qJDGPpqfwjOmZ5jeGFwid9mnoqIFK+e0vqoi1qH56JpmZSzEL53jKnNzScdmftJyG5xWg==} + '@webassemblyjs/ast@1.12.1': dependencies: '@webassemblyjs/helper-numbers': 1.11.6 '@webassemblyjs/helper-wasm-bytecode': 1.11.6 - dev: true - /@webassemblyjs/floating-point-hex-parser@1.11.6: - resolution: {integrity: sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw==} - dev: true + '@webassemblyjs/floating-point-hex-parser@1.11.6': {} - /@webassemblyjs/helper-api-error@1.11.6: - resolution: {integrity: sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q==} - dev: true + '@webassemblyjs/helper-api-error@1.11.6': {} - /@webassemblyjs/helper-buffer@1.12.1: - resolution: {integrity: sha512-nzJwQw99DNDKr9BVCOZcLuJJUlqkJh+kVzVl6Fmq/tI5ZtEyWT1KZMyOXltXLZJmDtvLCDgwsyrkohEtopTXCw==} - dev: true + '@webassemblyjs/helper-buffer@1.12.1': {} - /@webassemblyjs/helper-numbers@1.11.6: - resolution: {integrity: sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g==} + '@webassemblyjs/helper-numbers@1.11.6': dependencies: '@webassemblyjs/floating-point-hex-parser': 1.11.6 '@webassemblyjs/helper-api-error': 1.11.6 '@xtuc/long': 4.2.2 - dev: true - /@webassemblyjs/helper-wasm-bytecode@1.11.6: - resolution: {integrity: sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA==} - dev: true + '@webassemblyjs/helper-wasm-bytecode@1.11.6': {} - /@webassemblyjs/helper-wasm-section@1.12.1: - resolution: {integrity: sha512-Jif4vfB6FJlUlSbgEMHUyk1j234GTNG9dBJ4XJdOySoj518Xj0oGsNi59cUQF4RRMS9ouBUxDDdyBVfPTypa5g==} + '@webassemblyjs/helper-wasm-section@1.12.1': dependencies: '@webassemblyjs/ast': 1.12.1 '@webassemblyjs/helper-buffer': 1.12.1 '@webassemblyjs/helper-wasm-bytecode': 1.11.6 '@webassemblyjs/wasm-gen': 1.12.1 - dev: true - /@webassemblyjs/ieee754@1.11.6: - resolution: {integrity: sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg==} + '@webassemblyjs/ieee754@1.11.6': dependencies: '@xtuc/ieee754': 1.2.0 - dev: true - /@webassemblyjs/leb128@1.11.6: - resolution: {integrity: sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ==} + '@webassemblyjs/leb128@1.11.6': dependencies: '@xtuc/long': 4.2.2 - dev: true - /@webassemblyjs/utf8@1.11.6: - resolution: {integrity: sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA==} - dev: true + '@webassemblyjs/utf8@1.11.6': {} - /@webassemblyjs/wasm-edit@1.12.1: - resolution: {integrity: sha512-1DuwbVvADvS5mGnXbE+c9NfA8QRcZ6iKquqjjmR10k6o+zzsRVesil54DKexiowcFCPdr/Q0qaMgB01+SQ1u6g==} + '@webassemblyjs/wasm-edit@1.12.1': dependencies: '@webassemblyjs/ast': 1.12.1 '@webassemblyjs/helper-buffer': 1.12.1 @@ -6066,29 +11647,23 @@ packages: '@webassemblyjs/wasm-opt': 1.12.1 '@webassemblyjs/wasm-parser': 1.12.1 '@webassemblyjs/wast-printer': 1.12.1 - dev: true - /@webassemblyjs/wasm-gen@1.12.1: - resolution: {integrity: sha512-TDq4Ojh9fcohAw6OIMXqiIcTq5KUXTGRkVxbSo1hQnSy6lAM5GSdfwWeSxpAo0YzgsgF182E/U0mDNhuA0tW7w==} + '@webassemblyjs/wasm-gen@1.12.1': dependencies: '@webassemblyjs/ast': 1.12.1 '@webassemblyjs/helper-wasm-bytecode': 1.11.6 '@webassemblyjs/ieee754': 1.11.6 '@webassemblyjs/leb128': 1.11.6 '@webassemblyjs/utf8': 1.11.6 - dev: true - /@webassemblyjs/wasm-opt@1.12.1: - resolution: {integrity: sha512-Jg99j/2gG2iaz3hijw857AVYekZe2SAskcqlWIZXjji5WStnOpVoat3gQfT/Q5tb2djnCjBtMocY/Su1GfxPBg==} + '@webassemblyjs/wasm-opt@1.12.1': dependencies: '@webassemblyjs/ast': 1.12.1 '@webassemblyjs/helper-buffer': 1.12.1 '@webassemblyjs/wasm-gen': 1.12.1 '@webassemblyjs/wasm-parser': 1.12.1 - dev: true - /@webassemblyjs/wasm-parser@1.12.1: - resolution: {integrity: sha512-xikIi7c2FHXysxXe3COrVUPSheuBtpcfhbpFj4gmu7KRLYOzANztwUU0IbsqvMqzuNK2+glRGWCEqZo1WCLyAQ==} + '@webassemblyjs/wasm-parser@1.12.1': dependencies: '@webassemblyjs/ast': 1.12.1 '@webassemblyjs/helper-api-error': 1.11.6 @@ -6096,70 +11671,42 @@ packages: '@webassemblyjs/ieee754': 1.11.6 '@webassemblyjs/leb128': 1.11.6 '@webassemblyjs/utf8': 1.11.6 - dev: true - /@webassemblyjs/wast-printer@1.12.1: - resolution: {integrity: sha512-+X4WAlOisVWQMikjbcvY2e0rwPsKQ9F688lksZhBcPycBBuii3O7m8FACbDMWDojpAqvjIncrG8J0XHKyQfVeA==} + '@webassemblyjs/wast-printer@1.12.1': dependencies: '@webassemblyjs/ast': 1.12.1 '@xtuc/long': 4.2.2 - dev: true - /@webpack-cli/configtest@1.2.0(webpack-cli@4.10.0)(webpack@5.92.0): - resolution: {integrity: sha512-4FB8Tj6xyVkyqjj1OaTqCjXYULB9FMkqQ8yGrZjRDrYh0nOE+7Lhs45WioWQQMV+ceFlE368Ukhe6xdvJM9Egg==} - peerDependencies: - webpack: 4.x.x || 5.x.x - webpack-cli: 4.x.x + '@webpack-cli/configtest@1.2.0(webpack-cli@4.10.0(webpack-dev-server@4.15.2)(webpack@5.92.0))(webpack@5.92.0(esbuild@0.20.2)(webpack-cli@4.10.0))': dependencies: webpack: 5.92.0(esbuild@0.20.2)(webpack-cli@4.10.0) webpack-cli: 4.10.0(webpack-dev-server@4.15.2)(webpack@5.92.0) - dev: true - /@webpack-cli/info@1.5.0(webpack-cli@4.10.0): - resolution: {integrity: sha512-e8tSXZpw2hPl2uMJY6fsMswaok5FdlGNRTktvFk2sD8RjH0hE2+XistawJx1vmKteh4NmGmNUrp+Tb2w+udPcQ==} - peerDependencies: - webpack-cli: 4.x.x + '@webpack-cli/info@1.5.0(webpack-cli@4.10.0(webpack-dev-server@4.15.2)(webpack@5.92.0))': dependencies: envinfo: 7.13.0 webpack-cli: 4.10.0(webpack-dev-server@4.15.2)(webpack@5.92.0) - dev: true - /@webpack-cli/serve@1.7.0(webpack-cli@4.10.0)(webpack-dev-server@4.15.2): - resolution: {integrity: sha512-oxnCNGj88fL+xzV+dacXs44HcDwf1ovs3AuEzvP7mqXw7fQntqIhQ1BRmynh4qEKQSSSRSWVyXRjmTbZIX9V2Q==} - peerDependencies: - webpack-cli: 4.x.x - webpack-dev-server: '*' - peerDependenciesMeta: - webpack-dev-server: - optional: true + '@webpack-cli/serve@1.7.0(webpack-cli@4.10.0(webpack-dev-server@4.15.2)(webpack@5.92.0))(webpack-dev-server@4.15.2(webpack-cli@4.10.0)(webpack@5.92.0))': dependencies: webpack-cli: 4.10.0(webpack-dev-server@4.15.2)(webpack@5.92.0) + optionalDependencies: webpack-dev-server: 4.15.2(webpack-cli@4.10.0)(webpack@5.92.0) - dev: true - /@xmldom/xmldom@0.8.10: - resolution: {integrity: sha512-2WALfTl4xo2SkGCYRt6rDTFfk9R1czmBvUQy12gK2KuRKIpWEhcbbzy8EZXtz/jkRqHX8bFEc6FC1HjX4TUWYw==} - engines: {node: '>=10.0.0'} - dev: true + '@xmldom/xmldom@0.8.10': {} - /@xtuc/ieee754@1.2.0: - resolution: {integrity: sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==} - dev: true + '@xtuc/ieee754@1.2.0': {} - /@xtuc/long@4.2.2: - resolution: {integrity: sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==} - dev: true + '@xtuc/long@4.2.2': {} - /@zenuml/core@3.23.22(typescript@5.4.5): - resolution: {integrity: sha512-2bdAP2Mwtc7J7wfVrmbDYChmWXS+nZZIH4pdhXvADykeAmlCTDMin67dbNpjiTp4BUFtY7dUmM6nXK2+ZWB/yg==} - engines: {node: '>=12.0.0'} + '@zenuml/core@3.23.22(typescript@5.4.5)': dependencies: - '@headlessui-float/vue': 0.11.4(vue@3.4.27) + '@headlessui-float/vue': 0.11.4(vue@3.4.27(typescript@5.4.5)) '@headlessui/tailwindcss': 0.2.1(tailwindcss@3.4.4) - '@headlessui/vue': 1.7.22(vue@3.4.27) + '@headlessui/vue': 1.7.22(vue@3.4.27(typescript@5.4.5)) '@types/assert': 1.5.10 '@types/ramda': 0.28.25 - '@vue/compat': 3.4.27(vue@3.4.27) + '@vue/compat': 3.4.27(vue@3.4.27(typescript@5.4.5)) antlr4: 4.11.0 color-string: 1.9.1 dom-to-image-more: 2.16.0 @@ -6173,149 +11720,89 @@ packages: ramda: 0.28.0 tailwindcss: 3.4.4 vue: 3.4.27(typescript@5.4.5) - vuex: 4.1.0(vue@3.4.27) + vuex: 4.1.0(vue@3.4.27(typescript@5.4.5)) transitivePeerDependencies: - '@vue/composition-api' - ts-node - typescript - dev: false - /JSONSelect@0.4.0: - resolution: {integrity: sha512-VRLR3Su35MH+XV2lrvh9O7qWoug/TUyj9tLDjn9rtpUCNnILLrHjgd/tB0KrhugCxUpj3UqoLqfYb3fLJdIQQQ==} - engines: {node: '>=0.4.7'} - dev: true + JSONSelect@0.4.0: {} - /JSV@4.0.2: - resolution: {integrity: sha512-ZJ6wx9xaKJ3yFUhq5/sk82PJMuUyLk277I8mQeyDgCTjGdjWJIvPfaU5LIXaMuaN2UO1X3kZH4+lgphublZUHw==} - dev: true + JSV@4.0.2: {} - /abort-controller@3.0.0: - resolution: {integrity: sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==} - engines: {node: '>=6.5'} + abort-controller@3.0.0: dependencies: event-target-shim: 5.0.1 - /abstract-logging@2.0.1: - resolution: {integrity: sha512-2BjRTZxTPvheOvGbBslFSYOUkr+SjPtOnrLP33f+VIWLzezQpZcqVg7ja3L4dBXmzzgwT+a029jRx5PCi3JuiA==} - dev: true + abstract-logging@2.0.1: {} - /accepts@1.3.8: - resolution: {integrity: sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==} - engines: {node: '>= 0.6'} + accepts@1.3.8: dependencies: mime-types: 2.1.35 negotiator: 0.6.3 - dev: true - /acorn-import-attributes@1.9.5(acorn@8.11.3): - resolution: {integrity: sha512-n02Vykv5uA3eHGM/Z2dQrcD56kL8TyDb2p1+0P83PClMnC/nc+anbQRhIOWnSq4Ke/KvDPrY3C9hDtC/A3eHnQ==} - peerDependencies: - acorn: ^8 + acorn-import-attributes@1.9.5(acorn@8.11.3): dependencies: acorn: 8.11.3 - dev: true - /acorn-jsx@5.3.2(acorn@8.11.3): - resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} - peerDependencies: - acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 + acorn-jsx@5.3.2(acorn@8.11.3): dependencies: acorn: 8.11.3 - dev: true - /acorn-walk@8.3.2: - resolution: {integrity: sha512-cjkyv4OtNCIeqhHrfS81QWXoCBPExR/J62oyEqepVw8WaQeSqpW2uhuLPh1m9eWhDuOo/jUXVTlifvesOWp/4A==} - engines: {node: '>=0.4.0'} - dev: true + acorn-walk@8.3.2: {} - /acorn@8.11.3: - resolution: {integrity: sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==} - engines: {node: '>=0.4.0'} - hasBin: true - dev: true + acorn@8.11.3: {} - /agent-base@6.0.2: - resolution: {integrity: sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==} - engines: {node: '>= 6.0.0'} + agent-base@6.0.2: dependencies: debug: 4.3.5(supports-color@8.1.1) transitivePeerDependencies: - supports-color - dev: true - /agent-base@7.1.1: - resolution: {integrity: sha512-H0TSyFNDMomMNJQBn8wFV5YC/2eJ+VXECwOadZJT554xP6cODZHPX3H9QMQECxvrgiSOP1pHjy1sMWQVYJOUOA==} - engines: {node: '>= 14'} + agent-base@7.1.1: dependencies: debug: 4.3.5(supports-color@8.1.1) transitivePeerDependencies: - supports-color - dev: true - /aggregate-error@3.1.0: - resolution: {integrity: sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==} - engines: {node: '>=8'} + aggregate-error@3.1.0: dependencies: clean-stack: 2.2.0 indent-string: 4.0.0 - dev: true - /aggregate-error@4.0.1: - resolution: {integrity: sha512-0poP0T7el6Vq3rstR8Mn4V/IQrpBLO6POkUSrN7RhyY+GF/InCFShQzsQ39T25gkHhLgSLByyAz+Kjb+c2L98w==} - engines: {node: '>=12'} + aggregate-error@4.0.1: dependencies: clean-stack: 4.2.0 indent-string: 5.0.0 - dev: true - /ajv-formats@2.1.1(ajv@8.16.0): - resolution: {integrity: sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==} - peerDependencies: - ajv: ^8.0.0 - peerDependenciesMeta: - ajv: - optional: true - dependencies: + ajv-formats@2.1.1(ajv@8.16.0): + optionalDependencies: ajv: 8.16.0 - dev: true - /ajv-keywords@3.5.2(ajv@6.12.6): - resolution: {integrity: sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==} - peerDependencies: - ajv: ^6.9.1 + ajv-keywords@3.5.2(ajv@6.12.6): dependencies: ajv: 6.12.6 - dev: true - /ajv-keywords@5.1.0(ajv@8.16.0): - resolution: {integrity: sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==} - peerDependencies: - ajv: ^8.8.2 + ajv-keywords@5.1.0(ajv@8.16.0): dependencies: ajv: 8.16.0 fast-deep-equal: 3.1.3 - dev: true - /ajv@6.12.6: - resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} + ajv@6.12.6: dependencies: fast-deep-equal: 3.1.3 fast-json-stable-stringify: 2.1.0 json-schema-traverse: 0.4.1 uri-js: 4.4.1 - dev: true - /ajv@8.16.0: - resolution: {integrity: sha512-F0twR8U1ZU67JIEtekUcLkXkoO5mMMmgGD8sK/xUFzJ805jxHQl92hImFAqqXMyMYjSPOyUPAwHYhB72g5sTXw==} + ajv@8.16.0: dependencies: fast-deep-equal: 3.1.3 json-schema-traverse: 1.0.0 require-from-string: 2.0.2 uri-js: 4.4.1 - dev: true - /algoliasearch@4.23.3: - resolution: {integrity: sha512-Le/3YgNvjW9zxIQMRhUHuhiUjAlKY/zsdZpfq4dlLqg6mEm0nL6yk+7f2hDOtLpxsgE4jSzDmvHL7nXdBp5feg==} + algoliasearch@4.23.3: dependencies: '@algolia/cache-browser-local-storage': 4.23.3 '@algolia/cache-common': 4.23.3 @@ -6332,171 +11819,91 @@ packages: '@algolia/requester-common': 4.23.3 '@algolia/requester-node-http': 4.23.3 '@algolia/transporter': 4.23.3 - dev: true - /amdefine@1.0.1: - resolution: {integrity: sha512-S2Hw0TtNkMJhIabBwIojKL9YHO5T0n5eNqWJ7Lrlel/zDbftQpxpapi8tZs3X1HWa+u+QeydGmzzNU0m09+Rcg==} - engines: {node: '>=0.4.2'} - requiresBuild: true - dev: true + amdefine@1.0.1: optional: true - /ansi-align@3.0.1: - resolution: {integrity: sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==} + ansi-align@3.0.1: dependencies: string-width: 4.2.3 - dev: true - /ansi-colors@4.1.3: - resolution: {integrity: sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==} - engines: {node: '>=6'} - dev: true + ansi-colors@4.1.3: {} - /ansi-escapes@4.3.2: - resolution: {integrity: sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==} - engines: {node: '>=8'} + ansi-escapes@4.3.2: dependencies: type-fest: 0.21.3 - dev: true - /ansi-escapes@6.2.1: - resolution: {integrity: sha512-4nJ3yixlEthEJ9Rk4vPcdBRkZvQZlYyu8j4/Mqz5sgIkddmEnH2Yj2ZrnP9S3tQOvSNRUIgVNF/1yPpRAGNRig==} - engines: {node: '>=14.16'} - dev: true + ansi-escapes@6.2.1: {} - /ansi-html-community@0.0.8: - resolution: {integrity: sha512-1APHAyr3+PCamwNw3bXCPp4HFLONZt/yIH0sZp0/469KWNTEy+qN5jQ3GVX6DMZ1UXAi34yVwtTeaG/HpBuuzw==} - engines: {'0': node >= 0.8.0} - hasBin: true - dev: true + ansi-html-community@0.0.8: {} - /ansi-regex@2.1.1: - resolution: {integrity: sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==} - engines: {node: '>=0.10.0'} - dev: true + ansi-regex@2.1.1: {} - /ansi-regex@5.0.1: - resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} - engines: {node: '>=8'} + ansi-regex@5.0.1: {} - /ansi-regex@6.0.1: - resolution: {integrity: sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==} - engines: {node: '>=12'} + ansi-regex@6.0.1: {} - /ansi-sequence-parser@1.1.1: - resolution: {integrity: sha512-vJXt3yiaUL4UU546s3rPXlsry/RnM730G1+HkpKE012AN0sx1eOrxSu95oKDIonskeLTijMgqWZ3uDEe3NFvyg==} - dev: true + ansi-sequence-parser@1.1.1: {} - /ansi-styles@2.2.1: - resolution: {integrity: sha512-kmCevFghRiWM7HB5zTPULl4r9bVFSWjz62MhqizDGUrq2NWuNMQyuv4tHHoKJHs69M/MF64lEcHdYIocrdWQYA==} - engines: {node: '>=0.10.0'} - dev: true + ansi-styles@2.2.1: {} - /ansi-styles@3.2.1: - resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==} - engines: {node: '>=4'} + ansi-styles@3.2.1: dependencies: color-convert: 1.9.3 - dev: true - /ansi-styles@4.3.0: - resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} - engines: {node: '>=8'} + ansi-styles@4.3.0: dependencies: color-convert: 2.0.1 - /ansi-styles@5.2.0: - resolution: {integrity: sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==} - engines: {node: '>=10'} - dev: true - - /ansi-styles@6.2.1: - resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==} - engines: {node: '>=12'} + ansi-styles@5.2.0: {} - /antlr4@4.11.0: - resolution: {integrity: sha512-GUGlpE2JUjAN+G8G5vY+nOoeyNhHsXoIJwP1XF1oRw89vifA1K46T6SEkwLwr7drihN7I/lf0DIjKc4OZvBX8w==} - engines: {node: '>=14'} - dev: false + ansi-styles@6.2.1: {} - /any-promise@1.3.0: - resolution: {integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==} + antlr4@4.11.0: {} - /anymatch@3.1.3: - resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} - engines: {node: '>= 8'} + any-promise@1.3.0: {} + + anymatch@3.1.3: dependencies: normalize-path: 3.0.0 picomatch: 2.3.1 - /app-path@3.3.0: - resolution: {integrity: sha512-EAgEXkdcxH1cgEePOSsmUtw9ItPl0KTxnh/pj9ZbhvbKbij9x0oX6PWpGnorDr0DS5AosLgoa5n3T/hZmKQpYA==} - engines: {node: '>=8'} + app-path@3.3.0: dependencies: execa: 1.0.0 - dev: true - /appdata-path@1.0.0: - resolution: {integrity: sha512-ZbH3ezXfnT/YE3NdqduIt4lBV+H0ybvA2Qx3K76gIjQvh8gROpDFdDLpx6B1QJtW7zxisCbpTlCLhKqoR8cDBw==} - dev: true + appdata-path@1.0.0: {} - /append-transform@2.0.0: - resolution: {integrity: sha512-7yeyCEurROLQJFv5Xj4lEGTy0borxepjFv1g22oAdqFu//SrAlDl1O1Nxx15SH1RoliUml6p8dwJW9jvZughhg==} - engines: {node: '>=8'} + append-transform@2.0.0: dependencies: default-require-extensions: 3.0.1 - dev: true - /arch@2.2.0: - resolution: {integrity: sha512-Of/R0wqp83cgHozfIYLbBMnej79U/SVGOOyuB3VVFv1NRM/PSFMK12x9KVtiYzJqmnU5WR2qp0Z5rHb7sWGnFQ==} - dev: true + arch@2.2.0: {} - /archy@1.0.0: - resolution: {integrity: sha512-Xg+9RwCg/0p32teKdGMPTPnVXKD0w3DfHnFTficozsAgsvq2XenPJq/MYpzzQ/v8zrOyJn6Ds39VA4JIDwFfqw==} - dev: true + archy@1.0.0: {} - /are-docs-informative@0.0.2: - resolution: {integrity: sha512-ixiS0nLNNG5jNQzgZJNoUpBKdo9yTYZMGJ+QgT2jmjR7G7+QHRCc4v6LQ3NgE7EBJq+o0ams3waJwkrlBom8Ig==} - engines: {node: '>=14'} - dev: true + are-docs-informative@0.0.2: {} - /arg@5.0.2: - resolution: {integrity: sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==} + arg@5.0.2: {} - /argparse@1.0.10: - resolution: {integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==} + argparse@1.0.10: dependencies: sprintf-js: 1.0.3 - dev: true - /argparse@2.0.1: - resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} - dev: true + argparse@2.0.1: {} - /array-buffer-byte-length@1.0.1: - resolution: {integrity: sha512-ahC5W1xgou+KTXix4sAO8Ki12Q+jf4i0+tmk3sC+zgcynshkHxzpXdImBehiUYKKKDwvfFiJl1tZt6ewscS1Mg==} - engines: {node: '>= 0.4'} + array-buffer-byte-length@1.0.1: dependencies: call-bind: 1.0.7 is-array-buffer: 3.0.4 - dev: true - /array-flatten@1.1.1: - resolution: {integrity: sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==} - dev: true + array-flatten@1.1.1: {} - /array-timsort@1.0.3: - resolution: {integrity: sha512-/+3GRL7dDAGEfM6TseQk/U+mi18TU2Ms9I3UlLdUMhz2hbvGNTKdj9xniwXfUqgYhHxRx0+8UnKkvlNwVU+cWQ==} - dev: true + array-timsort@1.0.3: {} - /array-union@2.1.0: - resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==} - engines: {node: '>=8'} - dev: true + array-union@2.1.0: {} - /arraybuffer.prototype.slice@1.0.3: - resolution: {integrity: sha512-bMxMKAjg13EBSVscxTaYA4mRc5t1UAXa2kXiGTNfZ079HIWXEkKmkgFrh/nJqamaLSrXO5H4WFFkPEaLJWbs3A==} - engines: {node: '>= 0.4'} + arraybuffer.prototype.slice@1.0.3: dependencies: array-buffer-byte-length: 1.0.1 call-bind: 1.0.7 @@ -6506,59 +11913,32 @@ packages: get-intrinsic: 1.2.4 is-array-buffer: 3.0.4 is-shared-array-buffer: 1.0.3 - dev: true - /arrify@3.0.0: - resolution: {integrity: sha512-tLkvA81vQG/XqE2mjDkGQHoOINtMHtysSnemrmoGe6PydDPMRbVugqyk4A6V/WDWEfm3l+0d8anA9r8cv/5Jaw==} - engines: {node: '>=12'} - dev: true + arrify@3.0.0: {} - /asn1@0.2.6: - resolution: {integrity: sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==} + asn1@0.2.6: dependencies: safer-buffer: 2.1.2 - dev: true - /assert-plus@1.0.0: - resolution: {integrity: sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==} - engines: {node: '>=0.8'} - dev: true + assert-plus@1.0.0: {} - /assertion-error@1.1.0: - resolution: {integrity: sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==} - dev: true + assertion-error@1.1.0: {} - /astral-regex@2.0.0: - resolution: {integrity: sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==} - engines: {node: '>=8'} - dev: true + astral-regex@2.0.0: {} - /async@3.2.5: - resolution: {integrity: sha512-baNZyqaaLhyLVKm/DlvdW051MSgO6b8eVfIezl9E5PqWxFgzLm/wQntEW4zOytVburDEr0JlALEpdOFwvErLsg==} - dev: true + async@3.2.5: {} - /asynckit@0.4.0: - resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==} - dev: true + asynckit@0.4.0: {} - /at-least-node@1.0.0: - resolution: {integrity: sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==} - engines: {node: '>= 4.0.0'} - dev: true + at-least-node@1.0.0: {} - /atomic-sleep@1.0.0: - resolution: {integrity: sha512-kNOjDqAh7px0XWNI+4QbzoiR/nTkHAWNud2uvnJquD1/x5a7EQZMJT0AczqK0Qn67oY/TTQ1LbUKajZpp3I9tQ==} - engines: {node: '>=8.0.0'} + atomic-sleep@1.0.0: {} - /available-typed-arrays@1.0.7: - resolution: {integrity: sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==} - engines: {node: '>= 0.4'} + available-typed-arrays@1.0.7: dependencies: possible-typed-array-names: 1.0.0 - dev: true - /avvio@7.2.5: - resolution: {integrity: sha512-AOhBxyLVdpOad3TujtC9kL/9r3HnTkxwQ5ggOsYrvvZP1cCFvzHWJd5XxZDFuTn+IN8vkKSG5SEJrd27vCSbeA==} + avvio@7.2.5: dependencies: archy: 1.0.0 debug: 4.3.5(supports-color@8.1.1) @@ -6566,31 +11946,20 @@ packages: queue-microtask: 1.2.3 transitivePeerDependencies: - supports-color - dev: true - /aws-sign2@0.7.0: - resolution: {integrity: sha512-08kcGqnYf/YmjoRhfxyu+CLxBjUtHLXLXX/vUfx9l2LYzG3c1m61nrpyFUZI6zeS+Li/wWMMidD9KgrqtGq3mA==} - dev: true + aws-sign2@0.7.0: {} - /aws4@1.13.0: - resolution: {integrity: sha512-3AungXC4I8kKsS9PuS4JH2nc+0bVY/mjgrephHTIi8fpEeGsTHBUJeosp0Wc1myYMElmD0B3Oc4XL/HVJ4PV2g==} - dev: true + aws4@1.13.0: {} - /axios@1.7.2(debug@4.3.5): - resolution: {integrity: sha512-2A8QhOMrbomlDuiLeK9XibIBzuHeRcqqNOHp0Cyp5EoJ1IFDh+XZH3A6BkXtv0K4gFGCI0Y4BM7B1wOEi0Rmgw==} + axios@1.7.2(debug@4.3.5): dependencies: follow-redirects: 1.15.6(debug@4.3.5) form-data: 4.0.0 proxy-from-env: 1.1.0 transitivePeerDependencies: - debug - dev: true - /babel-jest@29.7.0(@babel/core@7.24.7): - resolution: {integrity: sha512-BrvGY3xZSwEcCzKvKsCi2GgHqDqsYkOP4/by5xCgIwGXQxIEh+8ew3gmrE1y7XRR6LHZIj6yLYnUi/mm2KXKBg==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - peerDependencies: - '@babel/core': ^7.8.0 + babel-jest@29.7.0(@babel/core@7.24.7): dependencies: '@babel/core': 7.24.7 '@jest/transform': 29.7.0 @@ -6602,24 +11971,15 @@ packages: slash: 3.0.0 transitivePeerDependencies: - supports-color - dev: true - /babel-loader@9.1.3(@babel/core@7.24.7)(webpack@5.92.0): - resolution: {integrity: sha512-xG3ST4DglodGf8qSwv0MdeWLhrDsw/32QMdTO5T1ZIp9gQur0HkCyFs7Awskr10JKXFXwpAhiCuYX5oGXnRGbw==} - engines: {node: '>= 14.15.0'} - peerDependencies: - '@babel/core': ^7.12.0 - webpack: '>=5' + babel-loader@9.1.3(@babel/core@7.24.7)(webpack@5.92.0(esbuild@0.20.2)): dependencies: '@babel/core': 7.24.7 find-cache-dir: 4.0.0 schema-utils: 4.2.0 - webpack: 5.92.0(esbuild@0.20.2)(webpack-cli@4.10.0) - dev: true + webpack: 5.92.0(esbuild@0.20.2) - /babel-plugin-istanbul@6.1.1: - resolution: {integrity: sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==} - engines: {node: '>=8'} + babel-plugin-istanbul@6.1.1: dependencies: '@babel/helper-plugin-utils': 7.24.7 '@istanbuljs/load-nyc-config': 1.1.0 @@ -6628,22 +11988,15 @@ packages: test-exclude: 6.0.0 transitivePeerDependencies: - supports-color - dev: true - /babel-plugin-jest-hoist@29.6.3: - resolution: {integrity: sha512-ESAc/RJvGTFEzRwOTT4+lNDk/GNHMkKbNzsvT0qKRfDyyYTskxB5rnU2njIDYVxXCBHHEI1c0YwHob3WaYujOg==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + babel-plugin-jest-hoist@29.6.3: dependencies: '@babel/template': 7.24.7 '@babel/types': 7.24.7 '@types/babel__core': 7.20.5 '@types/babel__traverse': 7.20.6 - dev: true - /babel-plugin-polyfill-corejs2@0.4.11(@babel/core@7.24.7): - resolution: {integrity: sha512-sMEJ27L0gRHShOh5G54uAAPaiCOygY/5ratXuiyb2G46FmlSpc9eFCzYVyDiPxfNbwzA7mYahmjQc5q+CZQ09Q==} - peerDependencies: - '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 + babel-plugin-polyfill-corejs2@0.4.11(@babel/core@7.24.7): dependencies: '@babel/compat-data': 7.24.7 '@babel/core': 7.24.7 @@ -6651,35 +12004,23 @@ packages: semver: 6.3.1 transitivePeerDependencies: - supports-color - dev: true - /babel-plugin-polyfill-corejs3@0.10.4(@babel/core@7.24.7): - resolution: {integrity: sha512-25J6I8NGfa5YkCDogHRID3fVCadIR8/pGl1/spvCkzb6lVn6SR3ojpx9nOn9iEBcUsjY24AmdKm5khcfKdylcg==} - peerDependencies: - '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 + babel-plugin-polyfill-corejs3@0.10.4(@babel/core@7.24.7): dependencies: '@babel/core': 7.24.7 '@babel/helper-define-polyfill-provider': 0.6.2(@babel/core@7.24.7) core-js-compat: 3.37.1 transitivePeerDependencies: - supports-color - dev: true - /babel-plugin-polyfill-regenerator@0.6.2(@babel/core@7.24.7): - resolution: {integrity: sha512-2R25rQZWP63nGwaAswvDazbPXfrM3HwVoBXK6HcqeKrSrL/JqcC/rDcf95l4r7LXLyxDXc8uQDa064GubtCABg==} - peerDependencies: - '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 + babel-plugin-polyfill-regenerator@0.6.2(@babel/core@7.24.7): dependencies: '@babel/core': 7.24.7 '@babel/helper-define-polyfill-provider': 0.6.2(@babel/core@7.24.7) transitivePeerDependencies: - supports-color - dev: true - /babel-preset-current-node-syntax@1.0.1(@babel/core@7.24.7): - resolution: {integrity: sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==} - peerDependencies: - '@babel/core': ^7.0.0 + babel-preset-current-node-syntax@1.0.1(@babel/core@7.24.7): dependencies: '@babel/core': 7.24.7 '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.24.7) @@ -6694,73 +12035,43 @@ packages: '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.24.7) '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.24.7) '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.24.7) - dev: true - /babel-preset-jest@29.6.3(@babel/core@7.24.7): - resolution: {integrity: sha512-0B3bhxR6snWXJZtR/RliHTDPRgn1sNHOR0yVtq/IiQFyuOVjFS+wuio/R4gSNkyYmKmJB4wGZv2NZanmKmTnNA==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - peerDependencies: - '@babel/core': ^7.0.0 + babel-preset-jest@29.6.3(@babel/core@7.24.7): dependencies: '@babel/core': 7.24.7 babel-plugin-jest-hoist: 29.6.3 babel-preset-current-node-syntax: 1.0.1(@babel/core@7.24.7) - dev: true - /bail@2.0.2: - resolution: {integrity: sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw==} - dev: true + bail@2.0.2: {} - /balanced-match@1.0.2: - resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} + balanced-match@1.0.2: {} - /base64-js@1.5.1: - resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} + base64-js@1.5.1: {} - /batch@0.6.1: - resolution: {integrity: sha512-x+VAiMRL6UPkx+kudNvxTl6hB2XNNCG2r+7wixVfIYwu/2HKRXimwQyaumLjMveWvT2Hkd/cAJw+QBMfJ/EKVw==} - dev: true + batch@0.6.1: {} - /bcrypt-pbkdf@1.0.2: - resolution: {integrity: sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w==} + bcrypt-pbkdf@1.0.2: dependencies: tweetnacl: 0.14.5 - dev: true - /binary-extensions@2.3.0: - resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==} - engines: {node: '>=8'} + binary-extensions@2.3.0: {} - /binary-searching@2.0.5: - resolution: {integrity: sha512-v4N2l3RxL+m4zDxyxz3Ne2aTmiPn8ZUpKFpdPtO+ItW1NcTCXA7JeHG5GMBSvoKSkQZ9ycS+EouDVxYB9ufKWA==} - dev: true + binary-searching@2.0.5: {} - /binary@0.3.0: - resolution: {integrity: sha512-D4H1y5KYwpJgK8wk1Cue5LLPgmwHKYSChkbspQg5JtVuR5ulGckxfR62H3AE9UDkdMC8yyXlqYihuz3Aqg2XZg==} + binary@0.3.0: dependencies: buffers: 0.1.1 chainsaw: 0.1.0 - dev: true - /blob-util@2.0.2: - resolution: {integrity: sha512-T7JQa+zsXXEa6/8ZhHcQEW1UFfVM49Ts65uBkFL6fz2QmrElqmbajIDJvuA0tEhRe5eIjpV9ZF+0RfZR9voJFQ==} - dev: true + blob-util@2.0.2: {} - /bluebird@3.7.1: - resolution: {integrity: sha512-DdmyoGCleJnkbp3nkbxTLJ18rjDsE4yCggEwKNXkeV123sPNfOCYeDoeuOY+F2FrSjO1YXcTU+dsy96KMy+gcg==} - dev: true + bluebird@3.7.1: {} - /bluebird@3.7.2: - resolution: {integrity: sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==} - dev: true + bluebird@3.7.2: {} - /bmpimagejs@1.0.4: - resolution: {integrity: sha512-21oKU7kbRt2OgOOj7rdiNr/yznDNUQ585plxR00rsmECcZr+6O1oCwB8OIoSHk/bDhbG8mFXIdeQuCPHgZ6QBw==} - dev: true + bmpimagejs@1.0.4: {} - /body-parser@1.20.2: - resolution: {integrity: sha512-ml9pReCu3M61kGlqoTm2umSXTlRTuGTx0bfYj+uIUKKYycG5NtSbeetV3faSU6R7ajOPw0g/J1PvK4qNy7s5bA==} - engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} + body-parser@1.20.2: dependencies: bytes: 3.1.2 content-type: 1.0.5 @@ -6776,18 +12087,13 @@ packages: unpipe: 1.0.0 transitivePeerDependencies: - supports-color - dev: true - /bonjour-service@1.2.1: - resolution: {integrity: sha512-oSzCS2zV14bh2kji6vNe7vrpJYCHGvcZnlffFQ1MEoX/WOeQ/teD8SYWKR942OI3INjq8OMNJlbPK5LLLUxFDw==} + bonjour-service@1.2.1: dependencies: fast-deep-equal: 3.1.3 multicast-dns: 7.2.5 - dev: true - /boxen@5.1.2: - resolution: {integrity: sha512-9gYgQKXx+1nP8mP7CzFyaUARhg7D3n1dF/FnErWmu9l6JvGpNUN278h0aSb+QjoiKSWG+iZ3uHrcqk0qrY9RQQ==} - engines: {node: '>=10'} + boxen@5.1.2: dependencies: ansi-align: 3.0.1 camelcase: 6.3.0 @@ -6797,98 +12103,58 @@ packages: type-fest: 0.20.2 widest-line: 3.1.0 wrap-ansi: 7.0.0 - dev: true - /brace-expansion@1.1.11: - resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} + brace-expansion@1.1.11: dependencies: balanced-match: 1.0.2 concat-map: 0.0.1 - dev: true - /brace-expansion@2.0.1: - resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==} + brace-expansion@2.0.1: dependencies: balanced-match: 1.0.2 - /braces@3.0.3: - resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} - engines: {node: '>=8'} + braces@3.0.3: dependencies: fill-range: 7.1.1 - /browserslist@4.23.1: - resolution: {integrity: sha512-TUfofFo/KsK/bWZ9TWQ5O26tsWW4Uhmt8IYklbnUa70udB6P2wA7w7o4PY4muaEPBQaAX+CEnmmIA41NVHtPVw==} - engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} - hasBin: true + browserslist@4.23.1: dependencies: caniuse-lite: 1.0.30001633 electron-to-chromium: 1.4.801 node-releases: 2.0.14 update-browserslist-db: 1.0.16(browserslist@4.23.1) - dev: true - /bser@2.1.1: - resolution: {integrity: sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==} + bser@2.1.1: dependencies: node-int64: 0.4.0 - dev: true - /buffer-crc32@0.2.13: - resolution: {integrity: sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==} - dev: true + buffer-crc32@0.2.13: {} - /buffer-from@1.1.2: - resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} - dev: true + buffer-from@1.1.2: {} - /buffer@5.7.1: - resolution: {integrity: sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==} + buffer@5.7.1: dependencies: base64-js: 1.5.1 ieee754: 1.2.1 - dev: true - /buffer@6.0.3: - resolution: {integrity: sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==} + buffer@6.0.3: dependencies: base64-js: 1.5.1 ieee754: 1.2.1 - dev: false - /buffers@0.1.1: - resolution: {integrity: sha512-9q/rDEGSb/Qsvv2qvzIzdluL5k7AaJOTrw23z9reQthrbF7is4CtlT0DXyO1oei2DCp4uojjzQ7igaSHp1kAEQ==} - engines: {node: '>=0.2.0'} - dev: true + buffers@0.1.1: {} - /builtin-modules@3.3.0: - resolution: {integrity: sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==} - engines: {node: '>=6'} - dev: true + builtin-modules@3.3.0: {} - /bytes@3.0.0: - resolution: {integrity: sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw==} - engines: {node: '>= 0.8'} - dev: true + bytes@3.0.0: {} - /bytes@3.1.2: - resolution: {integrity: sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==} - engines: {node: '>= 0.8'} - dev: true + bytes@3.1.2: {} - /cac@6.7.14: - resolution: {integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==} - engines: {node: '>=8'} - dev: true + cac@6.7.14: {} - /cacheable-lookup@5.0.4: - resolution: {integrity: sha512-2/kNscPhpcxrOigMZzbiWF7dz8ilhb/nIHU3EyZiXWXpeq/au8qJ8VhdftMkty3n7Gj6HIGalQG8oiBNB3AJgA==} - engines: {node: '>=10.6.0'} - dev: true + cacheable-lookup@5.0.4: {} - /cacheable-request@7.0.4: - resolution: {integrity: sha512-v+p6ongsrp0yTGbJXjgxPow2+DL93DASP4kXCDKb8/bwRtt9OEF3whggkkDkGNzgcWy2XaF4a8nZglC7uElscg==} - engines: {node: '>=8'} + cacheable-request@7.0.4: dependencies: clone-response: 1.0.3 get-stream: 5.2.0 @@ -6897,73 +12163,41 @@ packages: lowercase-keys: 2.0.0 normalize-url: 6.1.0 responselike: 2.0.1 - dev: true - /cachedir@2.4.0: - resolution: {integrity: sha512-9EtFOZR8g22CL7BWjJ9BUx1+A/djkofnyW3aOXZORNW2kxoUpx2h+uN2cOqwPmFhnpVmxg+KW2OjOSgChTEvsQ==} - engines: {node: '>=6'} - dev: true + cachedir@2.4.0: {} - /caching-transform@4.0.0: - resolution: {integrity: sha512-kpqOvwXnjjN44D89K5ccQC+RUrsy7jB/XLlRrx0D7/2HNcTPqzsb6XgYoErwko6QsV184CA2YgS1fxDiiDZMWA==} - engines: {node: '>=8'} + caching-transform@4.0.0: dependencies: hasha: 5.2.2 make-dir: 3.1.0 package-hash: 4.0.0 write-file-atomic: 3.0.3 - dev: true - /call-bind@1.0.7: - resolution: {integrity: sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==} - engines: {node: '>= 0.4'} + call-bind@1.0.7: dependencies: es-define-property: 1.0.0 es-errors: 1.3.0 function-bind: 1.1.2 get-intrinsic: 1.2.4 set-function-length: 1.2.2 - dev: true - /call-me-maybe@1.0.2: - resolution: {integrity: sha512-HpX65o1Hnr9HH25ojC1YGs7HCQLq0GCOibSaWER0eNpgJ/Z1MZv2mTc7+xh6WOPxbRVcmgbv4hGU+uSQ/2xFZQ==} - dev: true + call-me-maybe@1.0.2: {} - /callsites@3.1.0: - resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} - engines: {node: '>=6'} - dev: true + callsites@3.1.0: {} - /camelcase-css@2.0.1: - resolution: {integrity: sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==} - engines: {node: '>= 6'} - dev: false + camelcase-css@2.0.1: {} - /camelcase@5.3.1: - resolution: {integrity: sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==} - engines: {node: '>=6'} - dev: true + camelcase@5.3.1: {} - /camelcase@6.3.0: - resolution: {integrity: sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==} - engines: {node: '>=10'} - dev: true + camelcase@6.3.0: {} - /caniuse-lite@1.0.30001633: - resolution: {integrity: sha512-6sT0yf/z5jqf8tISAgpJDrmwOpLsrpnyCdD/lOZKvKkkJK4Dn0X5i7KF7THEZhOq+30bmhwBlNEaqPUiHiKtZg==} - dev: true + caniuse-lite@1.0.30001633: {} - /caseless@0.12.0: - resolution: {integrity: sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==} - dev: true + caseless@0.12.0: {} - /ccount@2.0.1: - resolution: {integrity: sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==} - dev: true + ccount@2.0.1: {} - /chai@4.4.1: - resolution: {integrity: sha512-13sOfMv2+DWduEU+/xbun3LScLoqN17nBeTLUsmDfKdoiC1fr0n9PU4guu4AhRcOVFk/sW8LyZWHuhWtQZiF+g==} - engines: {node: '>=4'} + chai@4.4.1: dependencies: assertion-error: 1.1.0 check-error: 1.0.3 @@ -6972,103 +12206,63 @@ packages: loupe: 2.3.7 pathval: 1.1.1 type-detect: 4.0.8 - dev: true - /chainsaw@0.1.0: - resolution: {integrity: sha512-75kWfWt6MEKNC8xYXIdRpDehRYY/tNSgwKaJq+dbbDcxORuVrrQ+SEHoWsniVn9XPYfP4gmdWIeDk/4YNp1rNQ==} + chainsaw@0.1.0: dependencies: traverse: 0.3.9 - dev: true - /chalk-template@1.1.0: - resolution: {integrity: sha512-T2VJbcDuZQ0Tb2EWwSotMPJjgpy1/tGee1BTpUNsGZ/qgNjV2t7Mvu+d4600U564nbLesN1x2dPL+xii174Ekg==} - engines: {node: '>=14.16'} + chalk-template@1.1.0: dependencies: chalk: 5.3.0 - dev: true - /chalk@1.1.3: - resolution: {integrity: sha512-U3lRVLMSlsCfjqYPbLyVv11M9CPW4I728d6TCKMAOJueEeB9/8o+eSsMnxPJD+Q+K909sdESg7C+tIkoH6on1A==} - engines: {node: '>=0.10.0'} + chalk@1.1.3: dependencies: ansi-styles: 2.2.1 escape-string-regexp: 1.0.5 has-ansi: 2.0.0 strip-ansi: 3.0.1 supports-color: 2.0.0 - dev: true - /chalk@2.4.2: - resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==} - engines: {node: '>=4'} + chalk@2.4.2: dependencies: ansi-styles: 3.2.1 escape-string-regexp: 1.0.5 supports-color: 5.5.0 - dev: true - /chalk@3.0.0: - resolution: {integrity: sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==} - engines: {node: '>=8'} + chalk@3.0.0: dependencies: ansi-styles: 4.3.0 supports-color: 7.2.0 - dev: true - /chalk@4.1.2: - resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} - engines: {node: '>=10'} + chalk@4.1.2: dependencies: ansi-styles: 4.3.0 supports-color: 7.2.0 - dev: true - /chalk@5.3.0: - resolution: {integrity: sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==} - engines: {node: ^12.17.0 || ^14.13 || >=16.0.0} - dev: true + chalk@5.3.0: {} - /char-regex@1.0.2: - resolution: {integrity: sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==} - engines: {node: '>=10'} - dev: true + char-regex@1.0.2: {} - /character-entities-legacy@1.1.4: - resolution: {integrity: sha512-3Xnr+7ZFS1uxeiUDvV02wQ+QDbc55o97tIV5zHScSPJpcLm/r0DFPcoY3tYRp+VZukxuMeKgXYmsXQHO05zQeA==} - dev: true + character-entities-legacy@1.1.4: {} - /character-entities@1.2.4: - resolution: {integrity: sha512-iBMyeEHxfVnIakwOuDXpVkc54HijNgCyQB2w0VfGQThle6NXn50zU6V/u+LDhxHcDUPojn6Kpga3PTAD8W1bQw==} - dev: true + character-entities@1.2.4: {} - /character-entities@2.0.2: - resolution: {integrity: sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ==} + character-entities@2.0.2: {} - /character-reference-invalid@1.1.4: - resolution: {integrity: sha512-mKKUkUbhPpQlCOfIuZkvSEgktjPFIsZKRRbC6KWVEMvlzblj3i3asQv5ODsrwt0N3pHAEvjP8KTQPHkp0+6jOg==} - dev: true + character-reference-invalid@1.1.4: {} - /check-error@1.0.3: - resolution: {integrity: sha512-iKEoDYaRmd1mxM90a2OEfWhjsjPpYPuQ+lMYsoxB126+t8fw7ySEO48nmDg5COTjxDI65/Y2OWpeEHk3ZOe8zg==} + check-error@1.0.3: dependencies: get-func-name: 2.0.2 - dev: true - /check-more-types@2.24.0: - resolution: {integrity: sha512-Pj779qHxV2tuapviy1bSZNEL1maXr13bPYpsvSDB68HlYcYuhlDrmGd63i0JHMCLKzc7rUSNIrpdJlhVlNwrxA==} - engines: {node: '>= 0.8.0'} - dev: true + check-more-types@2.24.0: {} - /chevrotain-allstar@0.3.1(chevrotain@11.0.3): - resolution: {integrity: sha512-b7g+y9A0v4mxCW1qUhf3BSVPg+/NvGErk/dOkrDaHA0nQIQGAtrOjlX//9OQtRlSCy+x9rfB5N8yC71lH1nvMw==} - peerDependencies: - chevrotain: ^11.0.0 + chevrotain-allstar@0.3.1(chevrotain@11.0.3): dependencies: chevrotain: 11.0.3 lodash-es: 4.17.21 - /chevrotain@11.0.3: - resolution: {integrity: sha512-ci2iJH6LeIkvP9eJW6gpueU8cnZhv85ELY8w8WiFtNjMHA5ad6pQLaJo9mEly/9qUyCpvqX8/POVUTf18/HFdw==} + chevrotain@11.0.3: dependencies: '@chevrotain/cst-dts-gen': 11.0.3 '@chevrotain/gast': 11.0.3 @@ -7077,9 +12271,7 @@ packages: '@chevrotain/utils': 11.0.3 lodash-es: 4.17.21 - /chokidar@3.6.0: - resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==} - engines: {node: '>= 8.10.0'} + chokidar@3.6.0: dependencies: anymatch: 3.1.3 braces: 3.0.3 @@ -7091,281 +12283,159 @@ packages: optionalDependencies: fsevents: 2.3.3 - /chrome-trace-event@1.0.4: - resolution: {integrity: sha512-rNjApaLzuwaOTjCiT8lSDdGN1APCiqkChLMJxJPWLunPAt5fy8xgU9/jNOchV84wfIxrA0lRQB7oCT8jrn/wrQ==} - engines: {node: '>=6.0'} - dev: true + chrome-trace-event@1.0.4: {} - /ci-info@3.9.0: - resolution: {integrity: sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==} - engines: {node: '>=8'} - dev: true + ci-info@3.9.0: {} - /ci-info@4.0.0: - resolution: {integrity: sha512-TdHqgGf9odd8SXNuxtUBVx8Nv+qZOejE6qyqiy5NtbYYQOeFa6zmHkxlPzmaLxWWHsU6nJmB7AETdVPi+2NBUg==} - engines: {node: '>=8'} - dev: true + ci-info@4.0.0: {} - /cjs-module-lexer@1.3.1: - resolution: {integrity: sha512-a3KdPAANPbNE4ZUv9h6LckSl9zLsYOP4MBmhIPkRaeyybt+r4UghLvq+xw/YwUcC1gqylCkL4rdVs3Lwupjm4Q==} - dev: true + cjs-module-lexer@1.3.1: {} - /cjson@0.3.0: - resolution: {integrity: sha512-bBRQcCIHzI1IVH59fR0bwGrFmi3Btb/JNwM/n401i1DnYgWndpsUBiQRAddLflkZage20A2d25OAWZZk0vBRlA==} - engines: {node: '>= 0.3.0'} + cjson@0.3.0: dependencies: jsonlint: 1.6.0 - dev: true - /clap@3.1.1: - resolution: {integrity: sha512-vp42956Ax06WwaaheYEqEOgXZ3VKJxgccZ0gJL0HpyiupkIS9RVJFo5eDU1BPeQAOqz+cclndZg4DCqG1sJReQ==} - engines: {node: ^12.20.0 || ^14.13.0 || >=15.0.0, npm: '>=7.0.0'} + clap@3.1.1: dependencies: ansi-colors: 4.1.3 - dev: true - /clean-regexp@1.0.0: - resolution: {integrity: sha512-GfisEZEJvzKrmGWkvfhgzcz/BllN1USeqD2V6tg14OAOgaCD2Z/PUEuxnAZ/nPvmaHRG7a8y77p1T/IRQ4D1Hw==} - engines: {node: '>=4'} + clean-regexp@1.0.0: dependencies: escape-string-regexp: 1.0.5 - dev: true - /clean-stack@2.2.0: - resolution: {integrity: sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==} - engines: {node: '>=6'} - dev: true + clean-stack@2.2.0: {} - /clean-stack@4.2.0: - resolution: {integrity: sha512-LYv6XPxoyODi36Dp976riBtSY27VmFo+MKqEU9QCCWyTrdEPDog+RWA7xQWHi6Vbp61j5c4cdzzX1NidnwtUWg==} - engines: {node: '>=12'} + clean-stack@4.2.0: dependencies: escape-string-regexp: 5.0.0 - dev: true - /clear-module@4.1.2: - resolution: {integrity: sha512-LWAxzHqdHsAZlPlEyJ2Poz6AIs384mPeqLVCru2p0BrP9G/kVGuhNyZYClLO6cXlnuJjzC8xtsJIuMjKqLXoAw==} - engines: {node: '>=8'} + clear-module@4.1.2: dependencies: parent-module: 2.0.0 resolve-from: 5.0.0 - dev: true - /cli-boxes@2.2.1: - resolution: {integrity: sha512-y4coMcylgSCdVinjiDBuR8PCC2bLjyGTwEmPb9NHR/QaNU6EUOXcTY/s6VjGMD6ENSEaeQYHCY0GNGS5jfMwPw==} - engines: {node: '>=6'} - dev: true + cli-boxes@2.2.1: {} - /cli-color@2.0.4: - resolution: {integrity: sha512-zlnpg0jNcibNrO7GG9IeHH7maWFeCz+Ja1wx/7tZNU5ASSSSZ+/qZciM0/LHCYxSdqv5h2sdbQ/PXYdOuetXvA==} - engines: {node: '>=0.10'} + cli-color@2.0.4: dependencies: d: 1.0.2 es5-ext: 0.10.64 es6-iterator: 2.0.3 memoizee: 0.4.17 timers-ext: 0.1.8 - dev: true - /cli-cursor@3.1.0: - resolution: {integrity: sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==} - engines: {node: '>=8'} + cli-cursor@3.1.0: dependencies: restore-cursor: 3.1.0 - dev: true - /cli-cursor@4.0.0: - resolution: {integrity: sha512-VGtlMu3x/4DOtIUwEkRezxUZ2lBacNJCHash0N0WeZDBS+7Ux1dm3XWAgWYxLJFMMdOeXMHXorshEFhbMSGelg==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + cli-cursor@4.0.0: dependencies: restore-cursor: 4.0.0 - dev: true - /cli-table3@0.6.5: - resolution: {integrity: sha512-+W/5efTR7y5HRD7gACw9yQjqMVvEMLBHmboM/kPWam+H+Hmyrgjh6YncVKK122YZkXrLudzTuAukUw9FnMf7IQ==} - engines: {node: 10.* || >= 12.*} + cli-table3@0.6.5: dependencies: string-width: 4.2.3 optionalDependencies: '@colors/colors': 1.5.0 - dev: true - /cli-truncate@2.1.0: - resolution: {integrity: sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg==} - engines: {node: '>=8'} + cli-truncate@2.1.0: dependencies: slice-ansi: 3.0.0 string-width: 4.2.3 - dev: true - /cli-truncate@4.0.0: - resolution: {integrity: sha512-nPdaFdQ0h/GEigbPClz11D0v/ZJEwxmeVZGeMo3Z5StPtUTkA9o1lD6QwoirYiSDzbcwn2XcjwmCp68W1IS4TA==} - engines: {node: '>=18'} + cli-truncate@4.0.0: dependencies: slice-ansi: 5.0.0 string-width: 7.1.0 - dev: true - /cliui@6.0.0: - resolution: {integrity: sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==} + cliui@6.0.0: dependencies: string-width: 4.2.3 strip-ansi: 6.0.1 wrap-ansi: 6.2.0 - dev: true - /cliui@8.0.1: - resolution: {integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==} - engines: {node: '>=12'} + cliui@8.0.1: dependencies: string-width: 4.2.3 strip-ansi: 6.0.1 wrap-ansi: 7.0.0 - dev: true - /clone-deep@4.0.1: - resolution: {integrity: sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==} - engines: {node: '>=6'} + clone-deep@4.0.1: dependencies: is-plain-object: 2.0.4 kind-of: 6.0.3 shallow-clone: 3.0.1 - dev: true - /clone-response@1.0.3: - resolution: {integrity: sha512-ROoL94jJH2dUVML2Y/5PEDNaSHgeOdSDicUyS7izcF63G6sTc/FTjLub4b8Il9S8S0beOfYt0TaA5qvFK+w0wA==} + clone-response@1.0.3: dependencies: mimic-response: 1.0.1 - dev: true - /co@4.6.0: - resolution: {integrity: sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==} - engines: {iojs: '>= 1.0.0', node: '>= 0.12.0'} - dev: true + co@4.6.0: {} - /collect-v8-coverage@1.0.2: - resolution: {integrity: sha512-lHl4d5/ONEbLlJvaJNtsF/Lz+WvB07u2ycqTYbdrq7UypDXailES4valYb2eWiJFxZlVmpGekfqoxQhzyFdT4Q==} - dev: true + collect-v8-coverage@1.0.2: {} - /color-convert@1.9.3: - resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} + color-convert@1.9.3: dependencies: color-name: 1.1.3 - dev: true - /color-convert@2.0.1: - resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} - engines: {node: '>=7.0.0'} + color-convert@2.0.1: dependencies: color-name: 1.1.4 - /color-name@1.1.3: - resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==} - dev: true + color-name@1.1.3: {} - /color-name@1.1.4: - resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} + color-name@1.1.4: {} - /color-string@1.9.1: - resolution: {integrity: sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==} + color-string@1.9.1: dependencies: color-name: 1.1.4 simple-swizzle: 0.2.2 - dev: false - /colorette@2.0.20: - resolution: {integrity: sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==} - dev: true + colorette@2.0.20: {} - /colors@0.5.1: - resolution: {integrity: sha512-XjsuUwpDeY98+yz959OlUK6m7mLBM+1MEG5oaenfuQnNnrQk1WvtcvFgN3FNDP3f2NmZ211t0mNEfSEN1h0eIg==} - engines: {node: '>=0.1.90'} - dev: true + colors@0.5.1: {} - /combined-stream@1.0.8: - resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==} - engines: {node: '>= 0.8'} + combined-stream@1.0.8: dependencies: delayed-stream: 1.0.0 - dev: true - /commander@11.0.0: - resolution: {integrity: sha512-9HMlXtt/BNoYr8ooyjjNRdIilOTkVJXB+GhxMTtOKwk0R4j4lS4NpjuqmRxroBfnfTSHQIHQB7wryHhXarNjmQ==} - engines: {node: '>=16'} - dev: true + commander@11.0.0: {} - /commander@12.1.0: - resolution: {integrity: sha512-Vw8qHK3bZM9y/P10u3Vib8o/DdkvA2OtPtZvD871QKjy74Wj1WSKFILMPRPSdUSx5RFK1arlJzEtA4PkFgnbuA==} - engines: {node: '>=18'} - dev: true + commander@12.1.0: {} - /commander@2.20.3: - resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==} - dev: true + commander@2.20.3: {} - /commander@4.1.1: - resolution: {integrity: sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==} - engines: {node: '>= 6'} - dev: false + commander@4.1.1: {} - /commander@5.1.0: - resolution: {integrity: sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg==} - engines: {node: '>= 6'} - dev: true + commander@5.1.0: {} - /commander@6.2.1: - resolution: {integrity: sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA==} - engines: {node: '>= 6'} - dev: true + commander@6.2.1: {} - /commander@7.2.0: - resolution: {integrity: sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==} - engines: {node: '>= 10'} + commander@7.2.0: {} - /commander@8.3.0: - resolution: {integrity: sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==} - engines: {node: '>= 12'} - dev: false + commander@8.3.0: {} - /comment-json@4.2.3: - resolution: {integrity: sha512-SsxdiOf064DWoZLH799Ata6u7iV658A11PlWtZATDlXPpKGJnbJZ5Z24ybixAi+LUUqJ/GKowAejtC5GFUG7Tw==} - engines: {node: '>= 6'} + comment-json@4.2.3: dependencies: array-timsort: 1.0.3 core-util-is: 1.0.3 esprima: 4.0.1 has-own-prop: 2.0.0 repeat-string: 1.6.1 - dev: true - /comment-parser@1.4.1: - resolution: {integrity: sha512-buhp5kePrmda3vhc5B9t7pUQXAb2Tnd0qgpkIhPhkHXxJpiPJ11H0ZEU0oBpJ2QztSbzG/ZxMj/CHsYJqRHmyg==} - engines: {node: '>= 12.0.0'} - dev: true + comment-parser@1.4.1: {} - /common-path-prefix@3.0.0: - resolution: {integrity: sha512-QE33hToZseCH3jS0qN96O/bSh3kaw/h+Tq7ngyY9eWDUnTlTNUyqfqvCXioLe5Na5jFsL78ra/wuBU4iuEgd4w==} - dev: true + common-path-prefix@3.0.0: {} - /common-tags@1.8.2: - resolution: {integrity: sha512-gk/Z852D2Wtb//0I+kRFNKKE9dIIVirjoqPoA1wJU+XePVXZfGeBpk45+A1rKO4Q43prqWBNY/MiIeRLbPWUaA==} - engines: {node: '>=4.0.0'} - dev: true + common-tags@1.8.2: {} - /commondir@1.0.1: - resolution: {integrity: sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==} - dev: true + commondir@1.0.1: {} - /compressible@2.0.18: - resolution: {integrity: sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==} - engines: {node: '>= 0.6'} + compressible@2.0.18: dependencies: mime-db: 1.52.0 - dev: true - /compression@1.7.4: - resolution: {integrity: sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==} - engines: {node: '>= 0.8.0'} + compression@1.7.4: dependencies: accepts: 1.3.8 bytes: 3.0.0 @@ -7376,16 +12446,10 @@ packages: vary: 1.1.2 transitivePeerDependencies: - supports-color - dev: true - - /concat-map@0.0.1: - resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} - dev: true - - /concurrently@8.2.2: - resolution: {integrity: sha512-1dP4gpXFhei8IOtlXRE/T/4H88ElHgTiUzh71YUmtjTEHMSRS2Z/fgOxHSxxusGHogsRfxNq1vyAwxSC+EVyDg==} - engines: {node: ^14.13.0 || >=16.0.0} - hasBin: true + + concat-map@0.0.1: {} + + concurrently@8.2.2: dependencies: chalk: 4.1.2 date-fns: 2.30.0 @@ -7396,105 +12460,58 @@ packages: supports-color: 8.1.1 tree-kill: 1.2.2 yargs: 17.7.2 - dev: true - /confbox@0.1.7: - resolution: {integrity: sha512-uJcB/FKZtBMCJpK8MQji6bJHgu1tixKPxRLeGkNzBoOZzpnZUJm0jm2/sBDWcuBx1dYgxV4JU+g5hmNxCyAmdA==} - dev: true + confbox@0.1.7: {} - /connect-history-api-fallback@2.0.0: - resolution: {integrity: sha512-U73+6lQFmfiNPrYbXqr6kZ1i1wiRqXnp2nhMsINseWXO8lDau0LGEffJ8kQi4EjLZympVgRdvqjAgiZ1tgzDDA==} - engines: {node: '>=0.8'} - dev: true + connect-history-api-fallback@2.0.0: {} - /consola@3.2.3: - resolution: {integrity: sha512-I5qxpzLv+sJhTVEoLYNcTW+bThDCPsit0vLNKShZx6rLtpilNpmmeTPaeqJb9ZE9dV3DGaeby6Vuhrw38WjeyQ==} - engines: {node: ^14.18.0 || >=16.10.0} - dev: true + consola@3.2.3: {} - /content-disposition@0.5.4: - resolution: {integrity: sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==} - engines: {node: '>= 0.6'} + content-disposition@0.5.4: dependencies: safe-buffer: 5.2.1 - dev: true - /content-type@1.0.5: - resolution: {integrity: sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==} - engines: {node: '>= 0.6'} - dev: true + content-type@1.0.5: {} - /convert-source-map@1.9.0: - resolution: {integrity: sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==} - dev: true + convert-source-map@1.9.0: {} - /convert-source-map@2.0.0: - resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==} - dev: true + convert-source-map@2.0.0: {} - /cookie-signature@1.0.6: - resolution: {integrity: sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==} - dev: true + cookie-signature@1.0.6: {} - /cookie@0.5.0: - resolution: {integrity: sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==} - engines: {node: '>= 0.6'} - dev: true + cookie@0.5.0: {} - /cookie@0.6.0: - resolution: {integrity: sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==} - engines: {node: '>= 0.6'} - dev: true + cookie@0.6.0: {} - /core-js-compat@3.37.1: - resolution: {integrity: sha512-9TNiImhKvQqSUkOvk/mMRZzOANTiEVC7WaBNhHcKM7x+/5E1l5NvsysR19zuDQScE8k+kfQXWRN3AtS/eOSHpg==} + core-js-compat@3.37.1: dependencies: browserslist: 4.23.1 - dev: true - /core-util-is@1.0.2: - resolution: {integrity: sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==} - dev: true + core-util-is@1.0.2: {} - /core-util-is@1.0.3: - resolution: {integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==} - dev: true + core-util-is@1.0.3: {} - /cors@2.8.5: - resolution: {integrity: sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==} - engines: {node: '>= 0.10'} + cors@2.8.5: dependencies: object-assign: 4.1.1 vary: 1.1.2 - dev: true - /cose-base@1.0.3: - resolution: {integrity: sha512-s9whTXInMSgAp/NVXVNuVxVKzGH2qck3aQlVHxDCdAEPgtMKwc4Wq6/QKhgdEdgbLSi9rBTAcPoRa6JpiG4ksg==} + cose-base@1.0.3: dependencies: layout-base: 1.0.2 - dev: false - /cp-file@10.0.0: - resolution: {integrity: sha512-vy2Vi1r2epK5WqxOLnskeKeZkdZvTKfFZQCplE3XWsP+SUJyd5XAUFC9lFgTjjXJF2GMne/UML14iEmkAaDfFg==} - engines: {node: '>=14.16'} + cp-file@10.0.0: dependencies: graceful-fs: 4.2.11 nested-error-stacks: 2.1.1 p-event: 5.0.1 - dev: true - /cpy-cli@5.0.0: - resolution: {integrity: sha512-fb+DZYbL9KHc0BC4NYqGRrDIJZPXUmjjtqdw4XRRg8iV8dIfghUX/WiL+q4/B/KFTy3sK6jsbUhBaz0/Hxg7IQ==} - engines: {node: '>=16'} - hasBin: true + cpy-cli@5.0.0: dependencies: cpy: 10.1.0 meow: 12.1.1 - dev: true - /cpy@10.1.0: - resolution: {integrity: sha512-VC2Gs20JcTyeQob6UViBLnyP0bYHkBh6EiKzot9vi2DmeGlFT9Wd7VG3NBrkNx/jYvFBeyDOMMHdHQhbtKLgHQ==} - engines: {node: '>=16'} + cpy@10.1.0: dependencies: arrify: 3.0.0 cp-file: 10.0.0 @@ -7504,12 +12521,8 @@ packages: nested-error-stacks: 2.1.1 p-filter: 3.0.0 p-map: 6.0.0 - dev: true - /create-jest@29.7.0(@types/node@20.14.2): - resolution: {integrity: sha512-Adz2bdH0Vq3F53KEMJOoftQFutWCukm6J24wbPWRO4k1kMY7gS7ds/uoJkNuV8wDCtWWnuwGcJwpWcih+zEW1Q==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - hasBin: true + create-jest@29.7.0(@types/node@20.14.2): dependencies: '@jest/types': 29.6.3 chalk: 4.1.2 @@ -7523,95 +12536,60 @@ packages: - babel-plugin-macros - supports-color - ts-node - dev: true - /cross-env@7.0.3: - resolution: {integrity: sha512-+/HKd6EgcQCJGh2PSjZuUitQBQynKor4wrFbRg4DtAgS1aWO+gU52xpH7M9ScGgXSYmAVS9bIJ8EzuaGw0oNAw==} - engines: {node: '>=10.14', npm: '>=6', yarn: '>=1'} - hasBin: true + cross-env@7.0.3: dependencies: cross-spawn: 7.0.3 - dev: true - /cross-spawn@6.0.5: - resolution: {integrity: sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==} - engines: {node: '>=4.8'} + cross-spawn@6.0.5: dependencies: nice-try: 1.0.5 path-key: 2.0.1 semver: 5.7.2 shebang-command: 1.2.0 which: 1.3.1 - dev: true - /cross-spawn@7.0.3: - resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} - engines: {node: '>= 8'} + cross-spawn@7.0.3: dependencies: path-key: 3.1.1 shebang-command: 2.0.0 which: 2.0.2 - /crypto-random-string@2.0.0: - resolution: {integrity: sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==} - engines: {node: '>=8'} - dev: true + crypto-random-string@2.0.0: {} - /cspell-config-lib@8.8.4: - resolution: {integrity: sha512-Xf+aL669Cm+MYZTZULVWRQXB7sRWx9qs0hPrgqxeaWabLUISK57/qwcI24TPVdYakUCoud9Nv+woGi5FcqV5ZQ==} - engines: {node: '>=18'} + cspell-config-lib@8.8.4: dependencies: '@cspell/cspell-types': 8.8.4 comment-json: 4.2.3 yaml: 2.4.5 - dev: true - /cspell-dictionary@8.8.4: - resolution: {integrity: sha512-eDi61MDDZycS5EASz5FiYKJykLEyBT0mCvkYEUCsGVoqw8T9gWuWybwwqde3CMq9TOwns5pxGcFs2v9RYgtN5A==} - engines: {node: '>=18'} + cspell-dictionary@8.8.4: dependencies: '@cspell/cspell-pipe': 8.8.4 '@cspell/cspell-types': 8.8.4 cspell-trie-lib: 8.8.4 fast-equals: 5.0.1 gensequence: 7.0.0 - dev: true - /cspell-gitignore@8.8.4: - resolution: {integrity: sha512-rLdxpBh0kp0scwqNBZaWVnxEVmSK3UWyVSZmyEL4jmmjusHYM9IggfedOhO4EfGCIdQ32j21TevE0tTslyc4iA==} - engines: {node: '>=18'} - hasBin: true + cspell-gitignore@8.8.4: dependencies: cspell-glob: 8.8.4 find-up-simple: 1.0.0 - dev: true - /cspell-glob@8.8.4: - resolution: {integrity: sha512-+tRrOfTSbF/44uNl4idMZVPNfNM6WTmra4ZL44nx23iw1ikNhqZ+m0PC1oCVSlURNBEn8faFXjC/oT2BfgxoUQ==} - engines: {node: '>=18'} + cspell-glob@8.8.4: dependencies: micromatch: 4.0.7 - dev: true - /cspell-grammar@8.8.4: - resolution: {integrity: sha512-UxDO517iW6vs/8l4OhLpdMR7Bp+tkquvtld1gWz8WYQiDwORyf0v5a3nMh4ILYZGoolOSnDuI9UjWOLI6L/vvQ==} - engines: {node: '>=18'} - hasBin: true + cspell-grammar@8.8.4: dependencies: '@cspell/cspell-pipe': 8.8.4 '@cspell/cspell-types': 8.8.4 - dev: true - /cspell-io@8.8.4: - resolution: {integrity: sha512-aqB/QMx+xns46QSyPEqi05uguCSxvqRnh2S/ZOhhjPlKma/7hK9niPRcwKwJXJEtNzdiZZkkC1uZt9aJe/7FTA==} - engines: {node: '>=18'} + cspell-io@8.8.4: dependencies: '@cspell/cspell-service-bus': 8.8.4 - dev: true - /cspell-lib@8.8.4: - resolution: {integrity: sha512-hK8gYtdQ9Lh86c8cEHITt5SaoJbfvXoY/wtpR4k393YR+eAxKziyv8ihQyFE/Z/FwuqtNvDrSntP9NLwTivd3g==} - engines: {node: '>=18'} + cspell-lib@8.8.4: dependencies: '@cspell/cspell-bundled-dicts': 8.8.4 '@cspell/cspell-pipe': 8.8.4 @@ -7635,21 +12613,14 @@ packages: vscode-languageserver-textdocument: 1.0.11 vscode-uri: 3.0.8 xdg-basedir: 5.1.0 - dev: true - /cspell-trie-lib@8.8.4: - resolution: {integrity: sha512-yCld4ZL+pFa5DL+Arfvmkv3cCQUOfdRlxElOzdkRZqWyO6h/UmO8xZb21ixVYHiqhJGZmwc3BG9Xuw4go+RLig==} - engines: {node: '>=18'} + cspell-trie-lib@8.8.4: dependencies: '@cspell/cspell-pipe': 8.8.4 '@cspell/cspell-types': 8.8.4 gensequence: 7.0.0 - dev: true - /cspell@8.8.4: - resolution: {integrity: sha512-eRUHiXvh4iRapw3lqE1nGOEAyYVfa/0lgK/e34SpcM/ECm4QuvbfY7Yl0ozCbiYywecog0RVbeJJUEYJTN5/Mg==} - engines: {node: '>=18'} - hasBin: true + cspell@8.8.4: dependencies: '@cspell/cspell-json-reporter': 8.8.4 '@cspell/cspell-pipe': 8.8.4 @@ -7669,68 +12640,41 @@ packages: semver: 7.6.2 strip-ansi: 7.1.0 vscode-uri: 3.0.8 - dev: true - /css-tree@2.3.1: - resolution: {integrity: sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw==} - engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0} + css-tree@2.3.1: dependencies: mdn-data: 2.0.30 source-map-js: 1.2.0 - dev: true - /cssesc@3.0.0: - resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==} - engines: {node: '>=4'} - hasBin: true - dev: false + cssesc@3.0.0: {} - /cssstyle@4.0.1: - resolution: {integrity: sha512-8ZYiJ3A/3OkDd093CBT/0UKDWry7ak4BdPTFP2+QEP7cmhouyq/Up709ASSj2cK02BbZiMgk7kYjZNS4QP5qrQ==} - engines: {node: '>=18'} + cssstyle@4.0.1: dependencies: rrweb-cssom: 0.6.0 - dev: true - /csstree-validator@3.0.0: - resolution: {integrity: sha512-Y5OSq3wI0Xz6L7DCgJQtQ97U+v99SkX9r663VjpvUMJPhEr0A149OxiAGqcnokB5bt81irgnMudspBzujzqn0w==} - engines: {node: ^12.20.0 || ^14.13.0 || >=15.0.0, npm: '>=7.0.0'} - hasBin: true + csstree-validator@3.0.0: dependencies: clap: 3.1.1 css-tree: 2.3.1 resolve: 1.22.8 - dev: true - /csstype@3.1.3: - resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==} + csstype@3.1.3: {} - /cuint@0.2.2: - resolution: {integrity: sha512-d4ZVpCW31eWwCMe1YT3ur7mUDnTXbgwyzaL320DrcRT45rfjYxkt5QWLrmOJ+/UEAI2+fQgKe/fCjR8l4TpRgw==} - dev: true + cuint@0.2.2: {} - /cypress-image-snapshot@4.0.1(cypress@13.11.0)(jest@29.7.0): - resolution: {integrity: sha512-PBpnhX/XItlx3/DAk5ozsXQHUi72exybBNH5Mpqj1DVmjq+S5Jd9WE5CRa4q5q0zuMZb2V2VpXHth6MjFpgj9Q==} - engines: {node: '>=8'} - peerDependencies: - cypress: ^4.5.0 + cypress-image-snapshot@4.0.1(cypress@13.11.0)(jest@29.7.0(@types/node@20.14.2)): dependencies: chalk: 2.4.2 cypress: 13.11.0 fs-extra: 7.0.1 glob: 7.2.3 - jest-image-snapshot: 4.2.0(jest@29.7.0) + jest-image-snapshot: 4.2.0(jest@29.7.0(@types/node@20.14.2)) pkg-dir: 3.0.0 term-img: 4.1.0 transitivePeerDependencies: - jest - dev: true - /cypress@13.11.0: - resolution: {integrity: sha512-NXXogbAxVlVje4XHX+Cx5eMFZv4Dho/2rIcdBHg9CNPFUGZdM4cRdgIgM7USmNYsC12XY0bZENEQ+KBk72fl+A==} - engines: {node: ^16.0.0 || ^18.0.0 || >=20.0.0} - hasBin: true - requiresBuild: true + cypress@13.11.0: dependencies: '@cypress/request': 3.0.1 '@cypress/xvfb': 1.2.4(supports-color@8.1.1) @@ -7774,237 +12718,132 @@ packages: tmp: 0.2.3 untildify: 4.0.0 yauzl: 2.10.0 - dev: true - /cytoscape-cose-bilkent@4.1.0(cytoscape@3.29.2): - resolution: {integrity: sha512-wgQlVIUJF13Quxiv5e1gstZ08rnZj2XaLHGoFMYXz7SkNfCDOOteKBE6SYRfA9WxxI/iBc3ajfDoc6hb/MRAHQ==} - peerDependencies: - cytoscape: ^3.2.0 + cytoscape-cose-bilkent@4.1.0(cytoscape@3.29.2): dependencies: cose-base: 1.0.3 cytoscape: 3.29.2 - dev: false - /cytoscape@3.29.2: - resolution: {integrity: sha512-2G1ycU28Nh7OHT9rkXRLpCDP30MKH1dXJORZuBhtEhEW7pKwgPi77ImqlCWinouyE1PNepIOGZBOrE84DG7LyQ==} - engines: {node: '>=0.10'} - dev: false + cytoscape@3.29.2: {} - /d3-array@2.12.1: - resolution: {integrity: sha512-B0ErZK/66mHtEsR1TkPEEkwdy+WDesimkM5gpZr5Dsg54BiTA5RXtYW5qTLIAcekaS9xfZrzBLF/OAkB3Qn1YQ==} + d3-array@2.12.1: dependencies: internmap: 1.0.1 - dev: false - /d3-array@3.2.4: - resolution: {integrity: sha512-tdQAmyA18i4J7wprpYq8ClcxZy3SC31QMeByyCFyRt7BVHdREQZ5lpzoe5mFEYZUWe+oq8HBvk9JjpibyEV4Jg==} - engines: {node: '>=12'} + d3-array@3.2.4: dependencies: internmap: 2.0.3 - dev: false - /d3-axis@3.0.0: - resolution: {integrity: sha512-IH5tgjV4jE/GhHkRV0HiVYPDtvfjHQlQfJHs0usq7M30XcSBvOotpmH1IgkcXsO/5gEQZD43B//fc7SRT5S+xw==} - engines: {node: '>=12'} - dev: false + d3-axis@3.0.0: {} - /d3-brush@3.0.0: - resolution: {integrity: sha512-ALnjWlVYkXsVIGlOsuWH1+3udkYFI48Ljihfnh8FZPF2QS9o+PzGLBslO0PjzVoHLZ2KCVgAM8NVkXPJB2aNnQ==} - engines: {node: '>=12'} + d3-brush@3.0.0: dependencies: d3-dispatch: 3.0.1 d3-drag: 3.0.0 d3-interpolate: 3.0.1 d3-selection: 3.0.0 d3-transition: 3.0.1(d3-selection@3.0.0) - dev: false - /d3-chord@3.0.1: - resolution: {integrity: sha512-VE5S6TNa+j8msksl7HwjxMHDM2yNK3XCkusIlpX5kwauBfXuyLAtNg9jCp/iHH61tgI4sb6R/EIMWCqEIdjT/g==} - engines: {node: '>=12'} + d3-chord@3.0.1: dependencies: d3-path: 3.1.0 - dev: false - /d3-color@3.1.0: - resolution: {integrity: sha512-zg/chbXyeBtMQ1LbD/WSoW2DpC3I0mpmPdW+ynRTj/x2DAWYrIY7qeZIHidozwV24m4iavr15lNwIwLxRmOxhA==} - engines: {node: '>=12'} - dev: false + d3-color@3.1.0: {} - /d3-contour@4.0.2: - resolution: {integrity: sha512-4EzFTRIikzs47RGmdxbeUvLWtGedDUNkTcmzoeyg4sP/dvCexO47AaQL7VKy/gul85TOxw+IBgA8US2xwbToNA==} - engines: {node: '>=12'} + d3-contour@4.0.2: dependencies: d3-array: 3.2.4 - dev: false - /d3-delaunay@6.0.4: - resolution: {integrity: sha512-mdjtIZ1XLAM8bm/hx3WwjfHt6Sggek7qH043O8KEjDXN40xi3vx/6pYSVTwLjEgiXQTbvaouWKynLBiUZ6SK6A==} - engines: {node: '>=12'} + d3-delaunay@6.0.4: dependencies: delaunator: 5.0.1 - dev: false - /d3-dispatch@3.0.1: - resolution: {integrity: sha512-rzUyPU/S7rwUflMyLc1ETDeBj0NRuHKKAcvukozwhshr6g6c5d8zh4c2gQjY2bZ0dXeGLWc1PF174P2tVvKhfg==} - engines: {node: '>=12'} - dev: false + d3-dispatch@3.0.1: {} - /d3-drag@3.0.0: - resolution: {integrity: sha512-pWbUJLdETVA8lQNJecMxoXfH6x+mO2UQo8rSmZ+QqxcbyA3hfeprFgIT//HW2nlHChWeIIMwS2Fq+gEARkhTkg==} - engines: {node: '>=12'} + d3-drag@3.0.0: dependencies: d3-dispatch: 3.0.1 d3-selection: 3.0.0 - dev: false - /d3-dsv@3.0.1: - resolution: {integrity: sha512-UG6OvdI5afDIFP9w4G0mNq50dSOsXHJaRE8arAS5o9ApWnIElp8GZw1Dun8vP8OyHOZ/QJUKUJwxiiCCnUwm+Q==} - engines: {node: '>=12'} - hasBin: true + d3-dsv@3.0.1: dependencies: commander: 7.2.0 iconv-lite: 0.6.3 rw: 1.3.3 - dev: false - /d3-ease@3.0.1: - resolution: {integrity: sha512-wR/XK3D3XcLIZwpbvQwQ5fK+8Ykds1ip7A2Txe0yxncXSdq1L9skcG7blcedkOX+ZcgxGAmLX1FrRGbADwzi0w==} - engines: {node: '>=12'} - dev: false + d3-ease@3.0.1: {} - /d3-fetch@3.0.1: - resolution: {integrity: sha512-kpkQIM20n3oLVBKGg6oHrUchHM3xODkTzjMoj7aWQFq5QEM+R6E4WkzT5+tojDY7yjez8KgCBRoj4aEr99Fdqw==} - engines: {node: '>=12'} + d3-fetch@3.0.1: dependencies: d3-dsv: 3.0.1 - dev: false - /d3-force@3.0.0: - resolution: {integrity: sha512-zxV/SsA+U4yte8051P4ECydjD/S+qeYtnaIyAs9tgHCqfguma/aAQDjo85A9Z6EKhBirHRJHXIgJUlffT4wdLg==} - engines: {node: '>=12'} + d3-force@3.0.0: dependencies: d3-dispatch: 3.0.1 d3-quadtree: 3.0.1 d3-timer: 3.0.1 - dev: false - /d3-format@3.1.0: - resolution: {integrity: sha512-YyUI6AEuY/Wpt8KWLgZHsIU86atmikuoOmCfommt0LYHiQSPjvX2AcFc38PX0CBpr2RCyZhjex+NS/LPOv6YqA==} - engines: {node: '>=12'} - dev: false + d3-format@3.1.0: {} - /d3-geo@3.1.1: - resolution: {integrity: sha512-637ln3gXKXOwhalDzinUgY83KzNWZRKbYubaG+fGVuc/dxO64RRljtCTnf5ecMyE1RIdtqpkVcq0IbtU2S8j2Q==} - engines: {node: '>=12'} + d3-geo@3.1.1: dependencies: d3-array: 3.2.4 - dev: false - /d3-hierarchy@3.1.2: - resolution: {integrity: sha512-FX/9frcub54beBdugHjDCdikxThEqjnR93Qt7PvQTOHxyiNCAlvMrHhclk3cD5VeAaq9fxmfRp+CnWw9rEMBuA==} - engines: {node: '>=12'} - dev: false + d3-hierarchy@3.1.2: {} - /d3-interpolate@3.0.1: - resolution: {integrity: sha512-3bYs1rOD33uo8aqJfKP3JWPAibgw8Zm2+L9vBKEHJ2Rg+viTR7o5Mmv5mZcieN+FRYaAOWX5SJATX6k1PWz72g==} - engines: {node: '>=12'} + d3-interpolate@3.0.1: dependencies: d3-color: 3.1.0 - dev: false - /d3-path@1.0.9: - resolution: {integrity: sha512-VLaYcn81dtHVTjEHd8B+pbe9yHWpXKZUC87PzoFmsFrJqgFwDe/qxfp5MlfsfM1V5E/iVt0MmEbWQ7FVIXh/bg==} - dev: false + d3-path@1.0.9: {} - /d3-path@3.1.0: - resolution: {integrity: sha512-p3KP5HCf/bvjBSSKuXid6Zqijx7wIfNW+J/maPs+iwR35at5JCbLUT0LzF1cnjbCHWhqzQTIN2Jpe8pRebIEFQ==} - engines: {node: '>=12'} - dev: false + d3-path@3.1.0: {} - /d3-polygon@3.0.1: - resolution: {integrity: sha512-3vbA7vXYwfe1SYhED++fPUQlWSYTTGmFmQiany/gdbiWgU/iEyQzyymwL9SkJjFFuCS4902BSzewVGsHHmHtXg==} - engines: {node: '>=12'} - dev: false + d3-polygon@3.0.1: {} - /d3-quadtree@3.0.1: - resolution: {integrity: sha512-04xDrxQTDTCFwP5H6hRhsRcb9xxv2RzkcsygFzmkSIOJy3PeRJP7sNk3VRIbKXcog561P9oU0/rVH6vDROAgUw==} - engines: {node: '>=12'} - dev: false + d3-quadtree@3.0.1: {} - /d3-random@3.0.1: - resolution: {integrity: sha512-FXMe9GfxTxqd5D6jFsQ+DJ8BJS4E/fT5mqqdjovykEB2oFbTMDVdg1MGFxfQW+FBOGoB++k8swBrgwSHT1cUXQ==} - engines: {node: '>=12'} - dev: false + d3-random@3.0.1: {} - /d3-sankey@0.12.3: - resolution: {integrity: sha512-nQhsBRmM19Ax5xEIPLMY9ZmJ/cDvd1BG3UVvt5h3WRxKg5zGRbvnteTyWAbzeSvlh3tW7ZEmq4VwR5mB3tutmQ==} + d3-sankey@0.12.3: dependencies: d3-array: 2.12.1 d3-shape: 1.3.7 - dev: false - /d3-scale-chromatic@3.1.0: - resolution: {integrity: sha512-A3s5PWiZ9YCXFye1o246KoscMWqf8BsD9eRiJ3He7C9OBaxKhAd5TFCdEx/7VbKtxxTsu//1mMJFrEt572cEyQ==} - engines: {node: '>=12'} + d3-scale-chromatic@3.1.0: dependencies: d3-color: 3.1.0 d3-interpolate: 3.0.1 - dev: false - /d3-scale@4.0.2: - resolution: {integrity: sha512-GZW464g1SH7ag3Y7hXjf8RoUuAFIqklOAq3MRl4OaWabTFJY9PN/E1YklhXLh+OQ3fM9yS2nOkCoS+WLZ6kvxQ==} - engines: {node: '>=12'} + d3-scale@4.0.2: dependencies: d3-array: 3.2.4 d3-format: 3.1.0 d3-interpolate: 3.0.1 d3-time: 3.1.0 d3-time-format: 4.1.0 - dev: false - /d3-selection@3.0.0: - resolution: {integrity: sha512-fmTRWbNMmsmWq6xJV8D19U/gw/bwrHfNXxrIN+HfZgnzqTHp9jOmKMhsTUjXOJnZOdZY9Q28y4yebKzqDKlxlQ==} - engines: {node: '>=12'} - dev: false + d3-selection@3.0.0: {} - /d3-shape@1.3.7: - resolution: {integrity: sha512-EUkvKjqPFUAZyOlhY5gzCxCeI0Aep04LwIRpsZ/mLFelJiUfnK56jo5JMDSE7yyP2kLSb6LtF+S5chMk7uqPqw==} + d3-shape@1.3.7: dependencies: d3-path: 1.0.9 - dev: false - /d3-shape@3.2.0: - resolution: {integrity: sha512-SaLBuwGm3MOViRq2ABk3eLoxwZELpH6zhl3FbAoJ7Vm1gofKx6El1Ib5z23NUEhF9AsGl7y+dzLe5Cw2AArGTA==} - engines: {node: '>=12'} + d3-shape@3.2.0: dependencies: d3-path: 3.1.0 - dev: false - /d3-time-format@4.1.0: - resolution: {integrity: sha512-dJxPBlzC7NugB2PDLwo9Q8JiTR3M3e4/XANkreKSUxF8vvXKqm1Yfq4Q5dl8budlunRVlUUaDUgFt7eA8D6NLg==} - engines: {node: '>=12'} + d3-time-format@4.1.0: dependencies: d3-time: 3.1.0 - dev: false - /d3-time@3.1.0: - resolution: {integrity: sha512-VqKjzBLejbSMT4IgbmVgDjpkYrNWUYJnbCGo874u7MMKIWsILRX+OpX/gTk8MqjpT1A/c6HY2dCA77ZN0lkQ2Q==} - engines: {node: '>=12'} + d3-time@3.1.0: dependencies: d3-array: 3.2.4 - dev: false - /d3-timer@3.0.1: - resolution: {integrity: sha512-ndfJ/JxxMd3nw31uyKoY2naivF+r29V+Lc0svZxe1JvvIRmi8hUsrMvdOwgS1o6uBHmiz91geQ0ylPP0aj1VUA==} - engines: {node: '>=12'} - dev: false + d3-timer@3.0.1: {} - /d3-transition@3.0.1(d3-selection@3.0.0): - resolution: {integrity: sha512-ApKvfjsSR6tg06xrL434C0WydLr7JewBB3V+/39RMHsaXTOG0zmt/OAXeng5M5LBm0ojmxJrpomQVZ1aPvBL4w==} - engines: {node: '>=12'} - peerDependencies: - d3-selection: 2 - 3 + d3-transition@3.0.1(d3-selection@3.0.0): dependencies: d3-color: 3.1.0 d3-dispatch: 3.0.1 @@ -8012,22 +12851,16 @@ packages: d3-interpolate: 3.0.1 d3-selection: 3.0.0 d3-timer: 3.0.1 - dev: false - /d3-zoom@3.0.0: - resolution: {integrity: sha512-b8AmV3kfQaqWAuacbPuNbL6vahnOJflOhexLzMMNLga62+/nh0JzvJ0aO/5a5MVgUFGS7Hu1P9P03o3fJkDCyw==} - engines: {node: '>=12'} + d3-zoom@3.0.0: dependencies: d3-dispatch: 3.0.1 d3-drag: 3.0.0 d3-interpolate: 3.0.1 d3-selection: 3.0.0 d3-transition: 3.0.1(d3-selection@3.0.0) - dev: false - /d3@7.9.0: - resolution: {integrity: sha512-e1U46jVP+w7Iut8Jt8ri1YsPOvFpg46k+K8TpCb0P+zjCkjkPnV7WzfDJzMHy1LnA+wj5pLT1wjO901gLXeEhA==} - engines: {node: '>=12'} + d3@7.9.0: dependencies: d3-array: 3.2.4 d3-axis: 3.0.0 @@ -8059,472 +12892,254 @@ packages: d3-timer: 3.0.1 d3-transition: 3.0.1(d3-selection@3.0.0) d3-zoom: 3.0.0 - dev: false - /d@1.0.2: - resolution: {integrity: sha512-MOqHvMWF9/9MX6nza0KgvFH4HpMU0EF5uUDXqX/BtxtU8NfB0QzRtJ8Oe/6SuS4kbhyzVJwjd97EA4PKrzJ8bw==} - engines: {node: '>=0.12'} + d@1.0.2: dependencies: es5-ext: 0.10.64 type: 2.7.3 - dev: true - /dagre-d3-es@7.0.10: - resolution: {integrity: sha512-qTCQmEhcynucuaZgY5/+ti3X/rnszKZhEQH/ZdWdtP1tA/y3VoHJzcVrO9pjjJCNpigfscAtoUB5ONcd2wNn0A==} + dagre-d3-es@7.0.10: dependencies: d3: 7.9.0 lodash-es: 4.17.21 - dev: false - /dashdash@1.14.1: - resolution: {integrity: sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g==} - engines: {node: '>=0.10'} + dashdash@1.14.1: dependencies: assert-plus: 1.0.0 - dev: true - /data-uri-to-buffer@4.0.1: - resolution: {integrity: sha512-0R9ikRb668HB7QDxT1vkpuUBtqc53YyAwMwGeUFKRojY/NWKvdZ+9UYtRfGmhqNbRkTSVpMbmyhXipFFv2cb/A==} - engines: {node: '>= 12'} - dev: true + data-uri-to-buffer@4.0.1: {} - /data-urls@5.0.0: - resolution: {integrity: sha512-ZYP5VBHshaDAiVZxjbRVcFJpc+4xGgT0bK3vzy1HLN8jTO975HEbuYzZJcHoQEY5K1a0z8YayJkyVETa08eNTg==} - engines: {node: '>=18'} + data-urls@5.0.0: dependencies: whatwg-mimetype: 4.0.0 whatwg-url: 14.0.0 - dev: true - /data-view-buffer@1.0.1: - resolution: {integrity: sha512-0lht7OugA5x3iJLOWFhWK/5ehONdprk0ISXqVFn/NFrDu+cuc8iADFrGQz5BnRK7LLU3JmkbXSxaqX+/mXYtUA==} - engines: {node: '>= 0.4'} + data-view-buffer@1.0.1: dependencies: call-bind: 1.0.7 es-errors: 1.3.0 is-data-view: 1.0.1 - dev: true - /data-view-byte-length@1.0.1: - resolution: {integrity: sha512-4J7wRJD3ABAzr8wP+OcIcqq2dlUKp4DVflx++hs5h5ZKydWMI6/D/fAot+yh6g2tHh8fLFTvNOaVN357NvSrOQ==} - engines: {node: '>= 0.4'} + data-view-byte-length@1.0.1: dependencies: call-bind: 1.0.7 es-errors: 1.3.0 is-data-view: 1.0.1 - dev: true - /data-view-byte-offset@1.0.0: - resolution: {integrity: sha512-t/Ygsytq+R995EJ5PZlD4Cu56sWa8InXySaViRzw9apusqsOO2bQP+SbYzAhR0pFKoB+43lYy8rWban9JSuXnA==} - engines: {node: '>= 0.4'} + data-view-byte-offset@1.0.0: dependencies: call-bind: 1.0.7 es-errors: 1.3.0 is-data-view: 1.0.1 - dev: true - /date-fns@2.30.0: - resolution: {integrity: sha512-fnULvOpxnC5/Vg3NCiWelDsLiUc9bRwAPs/+LfTLNvetFCtCTN+yQz15C/fs4AwX1R9K5GLtLfn8QW+dWisaAw==} - engines: {node: '>=0.11'} + date-fns@2.30.0: dependencies: '@babel/runtime': 7.24.7 - dev: true - /dayjs@1.11.10: - resolution: {integrity: sha512-vjAczensTgRcqDERK0SR2XMwsF/tSvnvlv6VcF2GIhg6Sx4yOIt/irsr1RDJsKiIyBzJDpCoXiWWq28MqH2cnQ==} - dev: true + dayjs@1.11.10: {} - /dayjs@1.11.11: - resolution: {integrity: sha512-okzr3f11N6WuqYtZSvm+F776mB41wRZMhKP+hc34YdW+KmtYYK9iqvHSwo2k9FEH3fhGXvOPV6yz2IcSrfRUDg==} + dayjs@1.11.11: {} - /debug@2.6.9: - resolution: {integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==} - peerDependencies: - supports-color: '*' - peerDependenciesMeta: - supports-color: - optional: true + debug@2.6.9: dependencies: ms: 2.0.0 - dev: true - /debug@3.2.7(supports-color@8.1.1): - resolution: {integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==} - peerDependencies: - supports-color: '*' - peerDependenciesMeta: - supports-color: - optional: true + debug@3.2.7(supports-color@8.1.1): dependencies: ms: 2.1.3 + optionalDependencies: supports-color: 8.1.1 - dev: true - /debug@4.3.3: - resolution: {integrity: sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==} - engines: {node: '>=6.0'} - peerDependencies: - supports-color: '*' - peerDependenciesMeta: - supports-color: - optional: true + debug@4.3.3: dependencies: ms: 2.1.2 - dev: true - /debug@4.3.4: - resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} - engines: {node: '>=6.0'} - peerDependencies: - supports-color: '*' - peerDependenciesMeta: - supports-color: - optional: true + debug@4.3.4: dependencies: ms: 2.1.2 - dev: true - /debug@4.3.5(supports-color@8.1.1): - resolution: {integrity: sha512-pt0bNEmneDIvdL1Xsd9oDQ/wrQRkXDT4AUWlNZNPKvW5x/jyO9VFXkJUP07vQ2upmw5PlaITaPKc31jK13V+jg==} - engines: {node: '>=6.0'} - peerDependencies: - supports-color: '*' - peerDependenciesMeta: - supports-color: - optional: true + debug@4.3.5(supports-color@8.1.1): dependencies: ms: 2.1.2 + optionalDependencies: supports-color: 8.1.1 - /decamelize@1.2.0: - resolution: {integrity: sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==} - engines: {node: '>=0.10.0'} - dev: true + decamelize@1.2.0: {} - /decimal.js@10.4.3: - resolution: {integrity: sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA==} - dev: true + decimal.js@10.4.3: {} - /decode-named-character-reference@1.0.2: - resolution: {integrity: sha512-O8x12RzrUF8xyVcY0KJowWsmaJxQbmy0/EtnNtHRpsOcT7dFk5W598coHqBVpmWo1oQQfsCqfCmkZN5DJrZVdg==} + decode-named-character-reference@1.0.2: dependencies: character-entities: 2.0.2 - /decompress-response@6.0.0: - resolution: {integrity: sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==} - engines: {node: '>=10'} + decompress-response@6.0.0: dependencies: mimic-response: 3.1.0 - dev: true - /dedent@1.5.3: - resolution: {integrity: sha512-NHQtfOOW68WD8lgypbLA5oT+Bt0xXJhiYvoR6SmmNXZfpzOGXwdKWmcwG8N7PwVVWV3eF/68nmD9BaJSsTBhyQ==} - peerDependencies: - babel-plugin-macros: ^3.1.0 - peerDependenciesMeta: - babel-plugin-macros: - optional: true - dev: true + dedent@1.5.3: {} - /deep-eql@4.1.4: - resolution: {integrity: sha512-SUwdGfqdKOwxCPeVYjwSyRpJ7Z+fhpwIAtmCUdZIWZ/YP5R9WAsyuSgpLVDi9bjWoN2LXHNss/dk3urXtdQxGg==} - engines: {node: '>=6'} + deep-eql@4.1.4: dependencies: type-detect: 4.0.8 - dev: true - /deep-is@0.1.4: - resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} - dev: true + deep-is@0.1.4: {} - /deepmerge@4.3.1: - resolution: {integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==} - engines: {node: '>=0.10.0'} - dev: true + deepmerge@4.3.1: {} - /default-gateway@6.0.3: - resolution: {integrity: sha512-fwSOJsbbNzZ/CUFpqFBqYfYNLj1NbMPm8MMCIzHjC83iSJRBEGmDUxU+WP661BaBQImeC2yHwXtz+P/O9o+XEg==} - engines: {node: '>= 10'} + default-gateway@6.0.3: dependencies: execa: 5.1.1 - dev: true - /default-require-extensions@3.0.1: - resolution: {integrity: sha512-eXTJmRbm2TIt9MgWTsOH1wEuhew6XGZcMeGKCtLedIg/NCsg1iBePXkceTdK4Fii7pzmN9tGsZhKzZ4h7O/fxw==} - engines: {node: '>=8'} + default-require-extensions@3.0.1: dependencies: strip-bom: 4.0.0 - dev: true - /defer-to-connect@2.0.1: - resolution: {integrity: sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg==} - engines: {node: '>=10'} - dev: true + defer-to-connect@2.0.1: {} - /define-data-property@1.1.4: - resolution: {integrity: sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==} - engines: {node: '>= 0.4'} + define-data-property@1.1.4: dependencies: es-define-property: 1.0.0 es-errors: 1.3.0 gopd: 1.0.1 - dev: true - /define-lazy-prop@2.0.0: - resolution: {integrity: sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==} - engines: {node: '>=8'} - dev: true + define-lazy-prop@2.0.0: {} - /define-properties@1.2.1: - resolution: {integrity: sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==} - engines: {node: '>= 0.4'} + define-properties@1.2.1: dependencies: define-data-property: 1.1.4 has-property-descriptors: 1.0.2 object-keys: 1.1.1 - dev: true - /defu@6.1.4: - resolution: {integrity: sha512-mEQCMmwJu317oSz8CwdIOdwf3xMif1ttiM8LTufzc3g6kR+9Pe236twL8j3IYT1F7GfRgGcW6MWxzZjLIkuHIg==} - dev: true + defu@6.1.4: {} - /delaunator@5.0.1: - resolution: {integrity: sha512-8nvh+XBe96aCESrGOqMp/84b13H9cdKbG5P2ejQCh4d4sK9RL4371qou9drQjMhvnPmhWl5hnmqbEE0fXr9Xnw==} + delaunator@5.0.1: dependencies: robust-predicates: 3.0.2 - dev: false - /delayed-stream@1.0.0: - resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==} - engines: {node: '>=0.4.0'} - dev: true + delayed-stream@1.0.0: {} - /depd@1.1.2: - resolution: {integrity: sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==} - engines: {node: '>= 0.6'} - dev: true + depd@1.1.2: {} - /depd@2.0.0: - resolution: {integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==} - engines: {node: '>= 0.8'} - dev: true + depd@2.0.0: {} - /dequal@2.0.3: - resolution: {integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==} - engines: {node: '>=6'} + dequal@2.0.3: {} - /destr@2.0.3: - resolution: {integrity: sha512-2N3BOUU4gYMpTP24s5rF5iP7BDr7uNTCs4ozw3kf/eKfvWSIu93GEBi5m427YoyJoeOzQ5smuu4nNAPGb8idSQ==} - dev: true + destr@2.0.3: {} - /destroy@1.2.0: - resolution: {integrity: sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==} - engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} - dev: true + destroy@1.2.0: {} - /detect-newline@3.1.0: - resolution: {integrity: sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==} - engines: {node: '>=8'} - dev: true + detect-newline@3.1.0: {} - /detect-node@2.1.0: - resolution: {integrity: sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==} - dev: true + detect-node@2.1.0: {} - /devlop@1.1.0: - resolution: {integrity: sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA==} + devlop@1.1.0: dependencies: dequal: 2.0.3 - /didyoumean@1.2.2: - resolution: {integrity: sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==} - dev: false + didyoumean@1.2.2: {} - /diff-sequences@29.6.3: - resolution: {integrity: sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dev: true + diff-sequences@29.6.3: {} - /dir-glob@3.0.1: - resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} - engines: {node: '>=8'} + dir-glob@3.0.1: dependencies: path-type: 4.0.0 - dev: true - /dlv@1.1.3: - resolution: {integrity: sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==} - dev: false + dlv@1.1.3: {} - /dns-packet@5.6.1: - resolution: {integrity: sha512-l4gcSouhcgIKRvyy99RNVOgxXiicE+2jZoNmaNmZ6JXiGajBOJAesk1OBlJuM5k2c+eudGdLxDqXuPCKIj6kpw==} - engines: {node: '>=6'} + dns-packet@5.6.1: dependencies: '@leichtgewicht/ip-codec': 2.0.5 - dev: true - /doctrine@3.0.0: - resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==} - engines: {node: '>=6.0.0'} + doctrine@3.0.0: dependencies: esutils: 2.0.3 - dev: true - /dom-serializer@2.0.0: - resolution: {integrity: sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==} + dom-serializer@2.0.0: dependencies: domelementtype: 2.3.0 domhandler: 5.0.3 entities: 4.5.0 - dev: true - /dom-to-image-more@2.16.0: - resolution: {integrity: sha512-RyjtkaM/zVy90uJ20lT+/G7MwBZx6l/ePliq5CQOeAnPeew7aUGS6IqRWBkHpstU+POmhaKA8A9H9qf476gisQ==} - dev: false + dom-to-image-more@2.16.0: {} - /domelementtype@2.3.0: - resolution: {integrity: sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==} - dev: true + domelementtype@2.3.0: {} - /domhandler@5.0.3: - resolution: {integrity: sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==} - engines: {node: '>= 4'} + domhandler@5.0.3: dependencies: domelementtype: 2.3.0 - dev: true - /dompurify@3.1.5: - resolution: {integrity: sha512-lwG+n5h8QNpxtyrJW/gJWckL+1/DQiYMX8f7t8Z2AZTPw1esVrqjI63i7Zc2Gz0aKzLVMYC1V1PL/ky+aY/NgA==} - dev: false + dompurify@3.1.5: {} - /domutils@3.1.0: - resolution: {integrity: sha512-H78uMmQtI2AhgDJjWeQmHwJJ2bLPD3GMmO7Zja/ZZh84wkm+4ut+IUnUdRa8uCGX88DiVx1j6FRe1XfxEgjEZA==} + domutils@3.1.0: dependencies: dom-serializer: 2.0.0 domelementtype: 2.3.0 domhandler: 5.0.3 - dev: true - /dotenv@16.4.5: - resolution: {integrity: sha512-ZmdL2rui+eB2YwhsWzjInR8LldtZHGDoQ1ugH85ppHKwpUHL7j7rN0Ti9NCnGiQbhaZ11FpR+7ao1dNsmduNUg==} - engines: {node: '>=12'} - dev: true + dotenv@16.4.5: {} - /duplexer@0.1.2: - resolution: {integrity: sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==} - dev: true + duplexer@0.1.2: {} - /eastasianwidth@0.2.0: - resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} + eastasianwidth@0.2.0: {} - /ebnf-parser@0.1.10: - resolution: {integrity: sha512-urvSxVQ6XJcoTpc+/x2pWhhuOX4aljCNQpwzw+ifZvV1andZkAmiJc3Rq1oGEAQmcjiLceyMXOy1l8ms8qs2fQ==} - dev: true + ebnf-parser@0.1.10: {} - /ecc-jsbn@0.1.2: - resolution: {integrity: sha512-eh9O+hwRHNbG4BLTjEl3nw044CkGm5X6LoaCf7LPp7UU8Qrt47JYNi6nPX8xjW97TKGKm1ouctg0QSpZe9qrnw==} + ecc-jsbn@0.1.2: dependencies: jsbn: 0.1.1 safer-buffer: 2.1.2 - dev: true - /ee-first@1.1.1: - resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==} - dev: true + ee-first@1.1.1: {} - /ejs@3.1.10: - resolution: {integrity: sha512-UeJmFfOrAQS8OJWPZ4qtgHyWExa088/MtK5UEyoJGFH67cDEXkZSviOiKRCZ4Xij0zxI3JECgYs3oKx+AizQBA==} - engines: {node: '>=0.10.0'} - hasBin: true + ejs@3.1.10: dependencies: jake: 10.9.1 - dev: true - /electron-to-chromium@1.4.801: - resolution: {integrity: sha512-PnlUz15ii38MZMD2/CEsAzyee8tv9vFntX5nhtd2/4tv4HqY7C5q2faUAjmkXS/UFpVooJ/5H6kayRKYWoGMXQ==} - dev: true + electron-to-chromium@1.4.801: {} - /elkjs@0.9.3: - resolution: {integrity: sha512-f/ZeWvW/BCXbhGEf1Ujp29EASo/lk1FDnETgNKwJrsVvGZhUWCZyg3xLJjAsxfOmt8KjswHmI5EwCQcPMpOYhQ==} - dev: false + elkjs@0.9.3: {} - /emittery@0.13.1: - resolution: {integrity: sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==} - engines: {node: '>=12'} - dev: true + emittery@0.13.1: {} - /emoji-regex@10.3.0: - resolution: {integrity: sha512-QpLs9D9v9kArv4lfDEgg1X/gN5XLnf/A6l9cs8SPZLRZR3ZkY9+kwIQTxm+fsSej5UMYGE8fdoaZVIBlqG0XTw==} - dev: true + emoji-regex@10.3.0: {} - /emoji-regex@8.0.0: - resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} + emoji-regex@8.0.0: {} - /emoji-regex@9.2.2: - resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==} + emoji-regex@9.2.2: {} - /encodeurl@1.0.2: - resolution: {integrity: sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==} - engines: {node: '>= 0.8'} - dev: true + encodeurl@1.0.2: {} - /encoding@0.1.13: - resolution: {integrity: sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==} + encoding@0.1.13: dependencies: iconv-lite: 0.6.3 - dev: true - /end-of-stream@1.4.4: - resolution: {integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==} + end-of-stream@1.4.4: dependencies: once: 1.4.0 - dev: true - /enhanced-resolve@5.17.0: - resolution: {integrity: sha512-dwDPwZL0dmye8Txp2gzFmA6sxALaSvdRDjPH0viLcKrtlOL3tw62nWWweVD1SdILDTJrbrL6tdWVN58Wo6U3eA==} - engines: {node: '>=10.13.0'} + enhanced-resolve@5.17.0: dependencies: graceful-fs: 4.2.11 tapable: 2.2.1 - dev: true - /enquirer@2.4.1: - resolution: {integrity: sha512-rRqJg/6gd538VHvR3PSrdRBb/1Vy2YfzHqzvbhGIQpDRKIa4FgV/54b5Q1xYSxOOwKvjXweS26E0Q+nAMwp2pQ==} - engines: {node: '>=8.6'} + enquirer@2.4.1: dependencies: ansi-colors: 4.1.3 strip-ansi: 6.0.1 - dev: true - /entities@3.0.1: - resolution: {integrity: sha512-WiyBqoomrwMdFG1e0kqvASYfnlb0lp8M5o5Fw2OFq1hNZxxcNk8Ik0Xm7LxzBhuidnZB/UtBqVCgUz3kBOP51Q==} - engines: {node: '>=0.12'} - dev: true + entities@3.0.1: {} - /entities@4.5.0: - resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==} - engines: {node: '>=0.12'} + entities@4.5.0: {} - /env-paths@3.0.0: - resolution: {integrity: sha512-dtJUTepzMW3Lm/NPxRf3wP4642UWhjL2sQxc+ym2YMj1m/H2zDNQOlezafzkHwn6sMstjHTwG6iQQsctDW/b1A==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - dev: true + env-paths@3.0.0: {} - /envinfo@7.13.0: - resolution: {integrity: sha512-cvcaMr7KqXVh4nyzGTVqTum+gAiL265x5jUWQIDLq//zOGbW+gSW/C+OWLleY/rs9Qole6AZLMXPbtIFQbqu+Q==} - engines: {node: '>=4'} - hasBin: true - dev: true + envinfo@7.13.0: {} - /error-ex@1.3.2: - resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==} + error-ex@1.3.2: dependencies: is-arrayish: 0.2.1 - dev: true - /es-abstract@1.23.3: - resolution: {integrity: sha512-e+HfNH61Bj1X9/jLc5v1owaLYuHdeHHSQlkhCBiTK8rBvKaULl/beGMxwrMXjpYrv4pz22BlY570vVePA2ho4A==} - engines: {node: '>= 0.4'} + es-abstract@1.23.3: dependencies: array-buffer-byte-length: 1.0.1 arraybuffer.prototype.slice: 1.0.3 @@ -8572,129 +13187,61 @@ packages: typed-array-length: 1.0.6 unbox-primitive: 1.0.2 which-typed-array: 1.1.15 - dev: true - /es-define-property@1.0.0: - resolution: {integrity: sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==} - engines: {node: '>= 0.4'} + es-define-property@1.0.0: dependencies: get-intrinsic: 1.2.4 - dev: true - /es-errors@1.3.0: - resolution: {integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==} - engines: {node: '>= 0.4'} - dev: true + es-errors@1.3.0: {} - /es-module-lexer@1.5.3: - resolution: {integrity: sha512-i1gCgmR9dCl6Vil6UKPI/trA69s08g/syhiDK9TG0Nf1RJjjFI+AzoWW7sPufzkgYAn861skuCwJa0pIIHYxvg==} - dev: true + es-module-lexer@1.5.3: {} - /es-object-atoms@1.0.0: - resolution: {integrity: sha512-MZ4iQ6JwHOBQjahnjwaC1ZtIBH+2ohjamzAO3oaHcXYup7qxjF2fixyH+Q71voWHeOkI2q/TnJao/KfXYIZWbw==} - engines: {node: '>= 0.4'} + es-object-atoms@1.0.0: dependencies: es-errors: 1.3.0 - dev: true - /es-set-tostringtag@2.0.3: - resolution: {integrity: sha512-3T8uNMC3OQTHkFUsFq8r/BwAXLHvU/9O9mE0fBc/MY5iq/8H7ncvO947LmYA6ldWw9Uh8Yhf25zu6n7nML5QWQ==} - engines: {node: '>= 0.4'} + es-set-tostringtag@2.0.3: dependencies: get-intrinsic: 1.2.4 has-tostringtag: 1.0.2 hasown: 2.0.2 - dev: true - /es-to-primitive@1.2.1: - resolution: {integrity: sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==} - engines: {node: '>= 0.4'} + es-to-primitive@1.2.1: dependencies: is-callable: 1.2.7 is-date-object: 1.0.5 is-symbol: 1.0.4 - dev: true - /es2015-i18n-tag@1.6.1: - resolution: {integrity: sha512-MYoh9p+JTkgnzBh0MEBON6xUyzdmwT6wzsmmFJvZujGSXiI2kM+3XvFl6+AcIO2eeL6VWgtX9szSiDTMwDxyYA==} - engines: {node: '>= 4.0.0'} - dev: true + es2015-i18n-tag@1.6.1: {} - /es5-ext@0.10.64: - resolution: {integrity: sha512-p2snDhiLaXe6dahss1LddxqEm+SkuDvV8dnIQG0MWjyHpcMNfXKPE+/Cc0y+PhxJX3A4xGNeFCj5oc0BUh6deg==} - engines: {node: '>=0.10'} - requiresBuild: true + es5-ext@0.10.64: dependencies: es6-iterator: 2.0.3 es6-symbol: 3.1.4 esniff: 2.0.1 next-tick: 1.1.0 - dev: true - /es6-error@4.1.1: - resolution: {integrity: sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg==} - dev: true + es6-error@4.1.1: {} - /es6-iterator@2.0.3: - resolution: {integrity: sha512-zw4SRzoUkd+cl+ZoE15A9o1oQd920Bb0iOJMQkQhl3jNc03YqVjAhG7scf9C5KWRU/R13Orf588uCC6525o02g==} + es6-iterator@2.0.3: dependencies: d: 1.0.2 es5-ext: 0.10.64 es6-symbol: 3.1.4 - dev: true - /es6-symbol@3.1.4: - resolution: {integrity: sha512-U9bFFjX8tFiATgtkJ1zg25+KviIXpgRvRHS8sau3GfhVzThRQrOeksPeT0BWW2MNZs1OEWJ1DPXOQMn0KKRkvg==} - engines: {node: '>=0.12'} + es6-symbol@3.1.4: dependencies: d: 1.0.2 ext: 1.7.0 - dev: true - /es6-weak-map@2.0.3: - resolution: {integrity: sha512-p5um32HOTO1kP+w7PRnB+5lQ43Z6muuMuIMffvDN8ZB4GcnjLBV6zGStpbASIMk4DCAvEaamhe2zhyCb/QXXsA==} + es6-weak-map@2.0.3: dependencies: d: 1.0.2 es5-ext: 0.10.64 es6-iterator: 2.0.3 es6-symbol: 3.1.4 - dev: true - /esbuild@0.18.20: - resolution: {integrity: sha512-ceqxoedUrcayh7Y7ZX6NdbbDzGROiyVBgC4PriJThBKSVPWnnFHZAkfI1lJT8QFkOwH4qOS2SJkS4wvpGl8BpA==} - engines: {node: '>=12'} - hasBin: true - requiresBuild: true - optionalDependencies: - '@esbuild/android-arm': 0.18.20 - '@esbuild/android-arm64': 0.18.20 - '@esbuild/android-x64': 0.18.20 - '@esbuild/darwin-arm64': 0.18.20 - '@esbuild/darwin-x64': 0.18.20 - '@esbuild/freebsd-arm64': 0.18.20 - '@esbuild/freebsd-x64': 0.18.20 - '@esbuild/linux-arm': 0.18.20 - '@esbuild/linux-arm64': 0.18.20 - '@esbuild/linux-ia32': 0.18.20 - '@esbuild/linux-loong64': 0.18.20 - '@esbuild/linux-mips64el': 0.18.20 - '@esbuild/linux-ppc64': 0.18.20 - '@esbuild/linux-riscv64': 0.18.20 - '@esbuild/linux-s390x': 0.18.20 - '@esbuild/linux-x64': 0.18.20 - '@esbuild/netbsd-x64': 0.18.20 - '@esbuild/openbsd-x64': 0.18.20 - '@esbuild/sunos-x64': 0.18.20 - '@esbuild/win32-arm64': 0.18.20 - '@esbuild/win32-ia32': 0.18.20 - '@esbuild/win32-x64': 0.18.20 - dev: true - - /esbuild@0.20.2: - resolution: {integrity: sha512-WdOOppmUNU+IbZ0PaDiTst80zjnrOkyJNHoKupIcVyU8Lvla3Ugx94VzkQ32Ijqd7UhHJy75gNWDMUekcrSJ6g==} - engines: {node: '>=12'} - hasBin: true - requiresBuild: true + esbuild@0.20.2: optionalDependencies: '@esbuild/aix-ppc64': 0.20.2 '@esbuild/android-arm': 0.20.2 @@ -8719,13 +13266,8 @@ packages: '@esbuild/win32-arm64': 0.20.2 '@esbuild/win32-ia32': 0.20.2 '@esbuild/win32-x64': 0.20.2 - dev: true - /esbuild@0.21.5: - resolution: {integrity: sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==} - engines: {node: '>=12'} - hasBin: true - requiresBuild: true + esbuild@0.21.5: optionalDependencies: '@esbuild/aix-ppc64': 0.21.5 '@esbuild/android-arm': 0.21.5 @@ -8750,101 +13292,52 @@ packages: '@esbuild/win32-arm64': 0.21.5 '@esbuild/win32-ia32': 0.21.5 '@esbuild/win32-x64': 0.21.5 - dev: true - /escalade@3.1.2: - resolution: {integrity: sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==} - engines: {node: '>=6'} - dev: true + escalade@3.1.2: {} - /escape-html@1.0.3: - resolution: {integrity: sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==} - dev: true + escape-html@1.0.3: {} - /escape-string-regexp@1.0.5: - resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} - engines: {node: '>=0.8.0'} - dev: true + escape-string-regexp@1.0.5: {} - /escape-string-regexp@2.0.0: - resolution: {integrity: sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==} - engines: {node: '>=8'} - dev: true + escape-string-regexp@2.0.0: {} - /escape-string-regexp@4.0.0: - resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} - engines: {node: '>=10'} - dev: true + escape-string-regexp@4.0.0: {} - /escape-string-regexp@5.0.0: - resolution: {integrity: sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==} - engines: {node: '>=12'} - dev: true + escape-string-regexp@5.0.0: {} - /escodegen@1.3.3: - resolution: {integrity: sha512-z9FWgKc48wjMlpzF5ymKS1AF8OIgnKLp9VyN7KbdtyrP/9lndwUFqCtMm+TAJmJf7KJFFYc4cFJfVTTGkKEwsA==} - engines: {node: '>=0.10.0'} - hasBin: true + escodegen@1.3.3: dependencies: esprima: 1.1.1 estraverse: 1.5.1 esutils: 1.0.0 optionalDependencies: source-map: 0.1.43 - dev: true - /eslint-config-prettier@9.1.0(eslint@8.57.0): - resolution: {integrity: sha512-NSWl5BFQWEPi1j4TjVNItzYV7dZXZ+wP6I6ZhrBGpChQhZRUaElihE9uRRkcbRnNb76UMKDF3r+WTmNcGPKsqw==} - hasBin: true - peerDependencies: - eslint: '>=7.0.0' + eslint-config-prettier@9.1.0(eslint@8.57.0): dependencies: eslint: 8.57.0 - dev: true - /eslint-plugin-cypress@2.15.2(eslint@8.57.0): - resolution: {integrity: sha512-CtcFEQTDKyftpI22FVGpx8bkpKyYXBlNge6zSo0pl5/qJvBAnzaD76Vu2AsP16d6mTj478Ldn2mhgrWV+Xr0vQ==} - peerDependencies: - eslint: '>= 3.2.1' + eslint-plugin-cypress@2.15.2(eslint@8.57.0): dependencies: eslint: 8.57.0 globals: 13.24.0 - dev: true - /eslint-plugin-html@8.1.1: - resolution: {integrity: sha512-6qmlJsc40D2m3Dn9oEH+0PAOkJhxVu0f5sVItqpCE0YWgYnyP4xCjBc3UWTHaJcY9ARkWOLIIuXLq0ndRnQOHw==} - engines: {node: '>=16.0.0'} + eslint-plugin-html@8.1.1: dependencies: htmlparser2: 9.1.0 - dev: true - /eslint-plugin-jest@27.9.0(@typescript-eslint/eslint-plugin@7.13.0)(eslint@8.57.0)(jest@29.7.0)(typescript@5.4.5): - resolution: {integrity: sha512-QIT7FH7fNmd9n4se7FFKHbsLKGQiw885Ds6Y/sxKgCZ6natwCsXdgPOADnYVxN2QrRweF0FZWbJ6S7Rsn7llug==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - peerDependencies: - '@typescript-eslint/eslint-plugin': ^5.0.0 || ^6.0.0 || ^7.0.0 - eslint: ^7.0.0 || ^8.0.0 - jest: '*' - peerDependenciesMeta: - '@typescript-eslint/eslint-plugin': - optional: true - jest: - optional: true + eslint-plugin-jest@27.9.0(@typescript-eslint/eslint-plugin@7.13.0(@typescript-eslint/parser@7.13.0(eslint@8.57.0)(typescript@5.4.5))(eslint@8.57.0)(typescript@5.4.5))(eslint@8.57.0)(jest@29.7.0(@types/node@20.14.2))(typescript@5.4.5): dependencies: - '@typescript-eslint/eslint-plugin': 7.13.0(@typescript-eslint/parser@7.13.0)(eslint@8.57.0)(typescript@5.4.5) '@typescript-eslint/utils': 5.62.0(eslint@8.57.0)(typescript@5.4.5) eslint: 8.57.0 + optionalDependencies: + '@typescript-eslint/eslint-plugin': 7.13.0(@typescript-eslint/parser@7.13.0(eslint@8.57.0)(typescript@5.4.5))(eslint@8.57.0)(typescript@5.4.5) jest: 29.7.0(@types/node@20.14.2) transitivePeerDependencies: - supports-color - typescript - dev: true - /eslint-plugin-jsdoc@48.2.9(eslint@8.57.0): - resolution: {integrity: sha512-ErpKyr2mEUEkcdZ4nwW/cvDjClvAcvJMEXkGGll0wf8sro8h6qeQ3qlZyp1vM1dRk8Ap6rMdke8FnP94QBIaVQ==} - engines: {node: '>=18'} - peerDependencies: - eslint: ^7.0.0 || ^8.0.0 || ^9.0.0 + eslint-plugin-jsdoc@48.2.9(eslint@8.57.0): dependencies: '@es-joy/jsdoccomment': 0.43.1 are-docs-informative: 0.0.2 @@ -8857,55 +13350,32 @@ packages: spdx-expression-parse: 4.0.0 transitivePeerDependencies: - supports-color - dev: true - /eslint-plugin-json@3.1.0: - resolution: {integrity: sha512-MrlG2ynFEHe7wDGwbUuFPsaT2b1uhuEFhJ+W1f1u+1C2EkXmTYJp4B1aAdQQ8M+CC3t//N/oRKiIVw14L2HR1g==} - engines: {node: '>=12.0'} + eslint-plugin-json@3.1.0: dependencies: lodash: 4.17.21 vscode-json-languageservice: 4.2.1 - dev: true - /eslint-plugin-lodash@7.4.0(eslint@8.57.0): - resolution: {integrity: sha512-Tl83UwVXqe1OVeBRKUeWcfg6/pCW1GTRObbdnbEJgYwjxp5Q92MEWQaH9+dmzbRt6kvYU1Mp893E79nJiCSM8A==} - engines: {node: '>=10'} - peerDependencies: - eslint: '>=2' + eslint-plugin-lodash@7.4.0(eslint@8.57.0): dependencies: eslint: 8.57.0 lodash: 4.17.21 - dev: true - /eslint-plugin-markdown@4.0.1(eslint@8.57.0): - resolution: {integrity: sha512-5/MnGvYU0i8MbHH5cg8S+Vl3DL+bqRNYshk1xUO86DilNBaxtTkhH+5FD0/yO03AmlI6+lfNFdk2yOw72EPzpA==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - peerDependencies: - eslint: '>=8' + eslint-plugin-markdown@4.0.1(eslint@8.57.0): dependencies: eslint: 8.57.0 mdast-util-from-markdown: 0.8.5 transitivePeerDependencies: - supports-color - dev: true - /eslint-plugin-no-only-tests@3.1.0: - resolution: {integrity: sha512-Lf4YW/bL6Un1R6A76pRZyE1dl1vr31G/ev8UzIc/geCgFWyrKil8hVjYqWVKGB/UIGmb6Slzs9T0wNezdSVegw==} - engines: {node: '>=5.0.0'} - dev: true + eslint-plugin-no-only-tests@3.1.0: {} - /eslint-plugin-tsdoc@0.2.17: - resolution: {integrity: sha512-xRmVi7Zx44lOBuYqG8vzTXuL6IdGOeF9nHX17bjJ8+VE6fsxpdGem0/SBTmAwgYMKYB1WBkqRJVQ+n8GK041pA==} + eslint-plugin-tsdoc@0.2.17: dependencies: '@microsoft/tsdoc': 0.14.2 '@microsoft/tsdoc-config': 0.16.2 - dev: true - /eslint-plugin-unicorn@51.0.1(eslint@8.57.0): - resolution: {integrity: sha512-MuR/+9VuB0fydoI0nIn2RDA5WISRn4AsJyNSaNKLVwie9/ONvQhxOBbkfSICBPnzKrB77Fh6CZZXjgTt/4Latw==} - engines: {node: '>=16'} - peerDependencies: - eslint: '>=8.56.0' + eslint-plugin-unicorn@51.0.1(eslint@8.57.0): dependencies: '@babel/helper-validator-identifier': 7.24.7 '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) @@ -8926,38 +13396,22 @@ packages: strip-indent: 3.0.0 transitivePeerDependencies: - supports-color - dev: true - /eslint-scope@5.1.1: - resolution: {integrity: sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==} - engines: {node: '>=8.0.0'} + eslint-scope@5.1.1: dependencies: esrecurse: 4.3.0 estraverse: 4.3.0 - dev: true - /eslint-scope@7.2.2: - resolution: {integrity: sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + eslint-scope@7.2.2: dependencies: esrecurse: 4.3.0 estraverse: 5.3.0 - dev: true - /eslint-visitor-keys@3.4.3: - resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - dev: true + eslint-visitor-keys@3.4.3: {} - /eslint-visitor-keys@4.0.0: - resolution: {integrity: sha512-OtIRv/2GyiF6o/d8K7MYKKbXrOUBIK6SfkIRM4Z0dY3w+LiQ0vy3F57m0Z71bjbyeiWFiHJ8brqnmE6H6/jEuw==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - dev: true + eslint-visitor-keys@4.0.0: {} - /eslint@8.57.0: - resolution: {integrity: sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - hasBin: true + eslint@8.57.0: dependencies: '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) '@eslint-community/regexpp': 4.10.1 @@ -8999,114 +13453,64 @@ packages: text-table: 0.2.0 transitivePeerDependencies: - supports-color - dev: true - /esniff@2.0.1: - resolution: {integrity: sha512-kTUIGKQ/mDPFoJ0oVfcmyJn4iBDRptjNVIzwIFR7tqWXdVI9xfA2RMwY/gbSpJG3lkdWNEjLap/NqVHZiJsdfg==} - engines: {node: '>=0.10'} + esniff@2.0.1: dependencies: d: 1.0.2 es5-ext: 0.10.64 event-emitter: 0.3.5 type: 2.7.3 - dev: true - /espree@10.0.1: - resolution: {integrity: sha512-MWkrWZbJsL2UwnjxTX3gG8FneachS/Mwg7tdGXce011sJd5b0JG54vat5KHnfSBODZ3Wvzd2WnjxyzsRoVv+ww==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + espree@10.0.1: dependencies: acorn: 8.11.3 acorn-jsx: 5.3.2(acorn@8.11.3) eslint-visitor-keys: 4.0.0 - dev: true - /espree@9.6.1: - resolution: {integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + espree@9.6.1: dependencies: acorn: 8.11.3 acorn-jsx: 5.3.2(acorn@8.11.3) eslint-visitor-keys: 3.4.3 - dev: true - /esprima@1.1.1: - resolution: {integrity: sha512-qxxB994/7NtERxgXdFgLHIs9M6bhLXc6qtUmWZ3L8+gTQ9qaoyki2887P2IqAYsoENyr8SUbTutStDniOHSDHg==} - engines: {node: '>=0.4.0'} - hasBin: true - dev: true + esprima@1.1.1: {} - /esprima@4.0.1: - resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==} - engines: {node: '>=4'} - hasBin: true - dev: true + esprima@4.0.1: {} - /esquery@1.5.0: - resolution: {integrity: sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==} - engines: {node: '>=0.10'} + esquery@1.5.0: dependencies: estraverse: 5.3.0 - dev: true - /esrecurse@4.3.0: - resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==} - engines: {node: '>=4.0'} + esrecurse@4.3.0: dependencies: estraverse: 5.3.0 - dev: true - /estraverse@1.5.1: - resolution: {integrity: sha512-FpCjJDfmo3vsc/1zKSeqR5k42tcIhxFIlvq+h9j0fO2q/h2uLKyweq7rYJ+0CoVvrGQOxIS5wyBrW/+vF58BUQ==} - engines: {node: '>=0.4.0'} - dev: true + estraverse@1.5.1: {} - /estraverse@4.3.0: - resolution: {integrity: sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==} - engines: {node: '>=4.0'} - dev: true + estraverse@4.3.0: {} - /estraverse@5.3.0: - resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} - engines: {node: '>=4.0'} - dev: true + estraverse@5.3.0: {} - /estree-walker@1.0.1: - resolution: {integrity: sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg==} - dev: true + estree-walker@1.0.1: {} - /estree-walker@2.0.2: - resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==} + estree-walker@2.0.2: {} - /estree-walker@3.0.3: - resolution: {integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==} + estree-walker@3.0.3: dependencies: '@types/estree': 1.0.5 - dev: true - /esutils@1.0.0: - resolution: {integrity: sha512-x/iYH53X3quDwfHRz4y8rn4XcEwwCJeWsul9pF1zldMbGtgOtMNBEOuYWwB1EQlK2LRa1fev3YAgym/RElp5Cg==} - engines: {node: '>=0.10.0'} - dev: true + esutils@1.0.0: {} - /esutils@2.0.3: - resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} - engines: {node: '>=0.10.0'} - dev: true + esutils@2.0.3: {} - /etag@1.8.1: - resolution: {integrity: sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==} - engines: {node: '>= 0.6'} - dev: true + etag@1.8.1: {} - /event-emitter@0.3.5: - resolution: {integrity: sha512-D9rRn9y7kLPnJ+hMq7S/nhvoKwwvVJahBi2BPmx3bvbsEdK3W9ii8cBSGjP+72/LnM4n6fo3+dkCX5FeTQruXA==} + event-emitter@0.3.5: dependencies: d: 1.0.2 es5-ext: 0.10.64 - dev: true - /event-stream@3.3.4: - resolution: {integrity: sha512-QHpkERcGsR0T7Qm3HNJSyXKEEj8AHNxkY3PK8TS2KJvQ7NiSHe3DDpwVKKtoYprL/AreyzFBeIkBIWChAqn60g==} + event-stream@3.3.4: dependencies: duplexer: 0.1.2 from: 0.1.7 @@ -9115,31 +13519,18 @@ packages: split: 0.3.3 stream-combiner: 0.0.4 through: 2.3.8 - dev: true - /event-target-shim@5.0.1: - resolution: {integrity: sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==} - engines: {node: '>=6'} + event-target-shim@5.0.1: {} - /eventemitter2@6.4.7: - resolution: {integrity: sha512-tYUSVOGeQPKt/eC1ABfhHy5Xd96N3oIijJvN3O9+TsC28T5V9yX9oEfEK5faP0EFSNVOG97qtAS68GBrQB2hDg==} - dev: true + eventemitter2@6.4.7: {} - /eventemitter3@4.0.7: - resolution: {integrity: sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==} - dev: true + eventemitter3@4.0.7: {} - /eventemitter3@5.0.1: - resolution: {integrity: sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA==} - dev: true + eventemitter3@5.0.1: {} - /events@3.3.0: - resolution: {integrity: sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==} - engines: {node: '>=0.8.x'} + events@3.3.0: {} - /execa@1.0.0: - resolution: {integrity: sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==} - engines: {node: '>=6'} + execa@1.0.0: dependencies: cross-spawn: 6.0.5 get-stream: 4.1.0 @@ -9148,11 +13539,8 @@ packages: p-finally: 1.0.0 signal-exit: 3.0.7 strip-eof: 1.0.0 - dev: true - /execa@4.1.0: - resolution: {integrity: sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA==} - engines: {node: '>=10'} + execa@4.1.0: dependencies: cross-spawn: 7.0.3 get-stream: 5.2.0 @@ -9163,11 +13551,8 @@ packages: onetime: 5.1.2 signal-exit: 3.0.7 strip-final-newline: 2.0.0 - dev: true - /execa@5.1.1: - resolution: {integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==} - engines: {node: '>=10'} + execa@5.1.1: dependencies: cross-spawn: 7.0.3 get-stream: 6.0.1 @@ -9178,11 +13563,8 @@ packages: onetime: 5.1.2 signal-exit: 3.0.7 strip-final-newline: 2.0.0 - dev: true - /execa@8.0.1: - resolution: {integrity: sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==} - engines: {node: '>=16.17'} + execa@8.0.1: dependencies: cross-spawn: 7.0.3 get-stream: 8.0.1 @@ -9193,34 +13575,22 @@ packages: onetime: 6.0.0 signal-exit: 4.1.0 strip-final-newline: 3.0.0 - dev: true - /executable@4.1.1: - resolution: {integrity: sha512-8iA79xD3uAch729dUG8xaaBBFGaEa0wdD2VkYLFHwlqosEj/jT66AzcreRDSgV7ehnNLBW2WR5jIXwGKjVdTLg==} - engines: {node: '>=4'} + executable@4.1.1: dependencies: pify: 2.3.0 - dev: true - /exit@0.1.2: - resolution: {integrity: sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==} - engines: {node: '>= 0.8.0'} - dev: true + exit@0.1.2: {} - /expect@29.7.0: - resolution: {integrity: sha512-2Zks0hf1VLFYI1kbh0I5jP3KHHyCHpkfyHBzsSXRFgl/Bg9mWYfMW8oD+PdMPlEwy5HNsR9JutYy6pMeOh61nw==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + expect@29.7.0: dependencies: '@jest/expect-utils': 29.7.0 jest-get-type: 29.6.3 jest-matcher-utils: 29.7.0 jest-message-util: 29.7.0 jest-util: 29.7.0 - dev: true - /express@4.19.2: - resolution: {integrity: sha512-5T6nhjsT+EOMzuck8JjBHARTHfMht0POzlA60WV2pMD3gyXw2LZnZ+ueGdNxG+0calOJcWKbpFcuzLZ91YWq9Q==} - engines: {node: '>= 0.10.0'} + express@4.19.2: dependencies: accepts: 1.3.8 array-flatten: 1.1.1 @@ -9255,22 +13625,14 @@ packages: vary: 1.1.2 transitivePeerDependencies: - supports-color - dev: true - /ext@1.7.0: - resolution: {integrity: sha512-6hxeJYaL110a9b5TEJSj0gojyHQAmA2ch5Os+ySCiA1QGdS697XWY1pzsrSjqA9LDEEgdB/KypIlR59RcLuHYw==} + ext@1.7.0: dependencies: type: 2.7.3 - dev: true - /extend@3.0.2: - resolution: {integrity: sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==} - dev: true + extend@3.0.2: {} - /extract-zip@2.0.1(supports-color@8.1.1): - resolution: {integrity: sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg==} - engines: {node: '>= 10.17.0'} - hasBin: true + extract-zip@2.0.1(supports-color@8.1.1): dependencies: debug: 4.3.5(supports-color@8.1.1) get-stream: 5.2.0 @@ -9279,33 +13641,18 @@ packages: '@types/yauzl': 2.10.3 transitivePeerDependencies: - supports-color - dev: true - /extsprintf@1.3.0: - resolution: {integrity: sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g==} - engines: {'0': node >=0.6.0} - dev: true + extsprintf@1.3.0: {} - /fast-content-type-parse@1.1.0: - resolution: {integrity: sha512-fBHHqSTFLVnR61C+gltJuE5GkVQMV0S2nqUO8TJ+5Z3qAKG8vAx4FKai1s5jq/inV1+sREynIWSuQ6HgoSXpDQ==} - dev: true + fast-content-type-parse@1.1.0: {} - /fast-decode-uri-component@1.0.1: - resolution: {integrity: sha512-WKgKWg5eUxvRZGwW8FvfbaH7AXSh2cL+3j5fMGzUMCxWBJ3dV3a7Wz8y2f/uQ0e3B6WmodD3oS54jTQ9HVTIIg==} - dev: true + fast-decode-uri-component@1.0.1: {} - /fast-deep-equal@3.1.3: - resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} - dev: true + fast-deep-equal@3.1.3: {} - /fast-equals@5.0.1: - resolution: {integrity: sha512-WF1Wi8PwwSY7/6Kx0vKXtw8RwuSGoM1bvDaJbu7MxDlR1vovZjIAKrnzyrThgAjm6JDTu0fVgWXDlMGspodfoQ==} - engines: {node: '>=6.0.0'} - dev: true + fast-equals@5.0.1: {} - /fast-glob@3.3.2: - resolution: {integrity: sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==} - engines: {node: '>=8.6.0'} + fast-glob@3.3.2: dependencies: '@nodelib/fs.stat': 2.0.5 '@nodelib/fs.walk': 1.2.8 @@ -9313,47 +13660,28 @@ packages: merge2: 1.4.1 micromatch: 4.0.7 - /fast-json-stable-stringify@2.1.0: - resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} - dev: true + fast-json-stable-stringify@2.1.0: {} - /fast-json-stringify@2.7.13: - resolution: {integrity: sha512-ar+hQ4+OIurUGjSJD1anvYSDcUflywhKjfxnsW4TBTD7+u0tJufv6DKRWoQk3vI6YBOWMoz0TQtfbe7dxbQmvA==} - engines: {node: '>= 10.0.0'} + fast-json-stringify@2.7.13: dependencies: ajv: 6.12.6 deepmerge: 4.3.1 rfdc: 1.4.1 string-similarity: 4.0.4 - dev: true - /fast-levenshtein@2.0.6: - resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==} - dev: true + fast-levenshtein@2.0.6: {} - /fast-redact@3.5.0: - resolution: {integrity: sha512-dwsoQlS7h9hMeYUq1W++23NDcBLV4KqONnITDV9DjfS3q1SgDGVrBdvvTLUotWtPSD7asWDV9/CmsZPy8Hf70A==} - engines: {node: '>=6'} + fast-redact@3.5.0: {} - /fast-safe-stringify@2.1.1: - resolution: {integrity: sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==} - dev: true + fast-safe-stringify@2.1.1: {} - /fastest-levenshtein@1.0.16: - resolution: {integrity: sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg==} - engines: {node: '>= 4.9.1'} - dev: true + fastest-levenshtein@1.0.16: {} - /fastestsmallesttextencoderdecoder@1.0.22: - resolution: {integrity: sha512-Pb8d48e+oIuY4MaM64Cd7OW1gt4nxCHs7/ddPPZ/Ic3sg8yVGM7O9wDvZ7us6ScaUupzM+pfBolwtYhN1IxBIw==} - dev: true + fastestsmallesttextencoderdecoder@1.0.22: {} - /fastify-plugin@3.0.1: - resolution: {integrity: sha512-qKcDXmuZadJqdTm6vlCqioEbyewF60b/0LOFCcYN1B6BIZGlYJumWWOYs70SFYLDAH4YqdE1cxH/RKMG7rFxgA==} - dev: true + fastify-plugin@3.0.1: {} - /fastify@3.29.5: - resolution: {integrity: sha512-FBDgb1gkenZxxh4sTD6AdI6mFnZnsgckpjIXzIvfLSYCa4isfQeD8QWGPib63dxq6btnY0l1j8I0xYhMvUb+sw==} + fastify@3.29.5: dependencies: '@fastify/ajv-compiler': 1.1.0 '@fastify/error': 2.0.0 @@ -9373,98 +13701,63 @@ packages: tiny-lru: 8.0.2 transitivePeerDependencies: - supports-color - dev: true - /fastq@1.17.1: - resolution: {integrity: sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==} + fastq@1.17.1: dependencies: reusify: 1.0.4 - /fault@2.0.1: - resolution: {integrity: sha512-WtySTkS4OKev5JtpHXnib4Gxiurzh5NCGvWrFaZ34m6JehfTUhKZvn9njTfw48t6JumVQOmrKqpmGcdwxnhqBQ==} + fault@2.0.1: dependencies: format: 0.2.2 - dev: true - /faye-websocket@0.11.4: - resolution: {integrity: sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g==} - engines: {node: '>=0.8.0'} + faye-websocket@0.11.4: dependencies: websocket-driver: 0.7.4 - dev: true - /fb-watchman@2.0.2: - resolution: {integrity: sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==} + fb-watchman@2.0.2: dependencies: bser: 2.1.1 - dev: true - /fd-slicer@1.1.0: - resolution: {integrity: sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==} + fd-slicer@1.1.0: dependencies: pend: 1.2.0 - dev: true - /ferrum@1.9.4: - resolution: {integrity: sha512-ooNerLoIht/dK4CQJux93z/hnt9JysrXniJCI3r6YRgmHeXC57EJ8XaTCT1Gm8LfhIAeWxyJA0O7d/W3pqDYRg==} + ferrum@1.9.4: dependencies: fastestsmallesttextencoderdecoder: 1.0.22 lodash.isplainobject: 4.0.6 xxhashjs: 0.2.2 - dev: true - /fetch-blob@3.2.0: - resolution: {integrity: sha512-7yAQpD2UMJzLi1Dqv7qFYnPbaPx7ZfFK6PiIxQ4PfkGPyNyl2Ugx+a/umUonmKqjhM4DnfbMvdX6otXq83soQQ==} - engines: {node: ^12.20 || >= 14.13} + fetch-blob@3.2.0: dependencies: node-domexception: 1.0.0 web-streams-polyfill: 3.3.3 - dev: true - /fflate@0.8.2: - resolution: {integrity: sha512-cPJU47OaAoCbg0pBvzsgpTPhmhqI5eJjh/JIu8tPj5q+T7iLvW/JAYUqmE7KOB4R1ZyEhzBaIQpQpardBF5z8A==} - dev: true + fflate@0.8.2: {} - /figures@3.2.0: - resolution: {integrity: sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==} - engines: {node: '>=8'} + figures@3.2.0: dependencies: escape-string-regexp: 1.0.5 - dev: true - /file-entry-cache@6.0.1: - resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==} - engines: {node: ^10.12.0 || >=12.0.0} + file-entry-cache@6.0.1: dependencies: flat-cache: 3.2.0 - dev: true - /file-entry-cache@8.0.0: - resolution: {integrity: sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==} - engines: {node: '>=16.0.0'} + file-entry-cache@8.0.0: dependencies: flat-cache: 4.0.1 - dev: true - /file-saver@2.0.5: - resolution: {integrity: sha512-P9bmyZ3h/PRG+Nzga+rbdI4OEpNDzAVyy74uVO9ATgzLK6VtAsYybF/+TOCvrc0MO793d6+42lLyZTw7/ArVzA==} - dev: false + file-saver@2.0.5: {} - /filelist@1.0.4: - resolution: {integrity: sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==} + filelist@1.0.4: dependencies: minimatch: 5.1.6 - dev: true - /fill-range@7.1.1: - resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==} - engines: {node: '>=8'} + fill-range@7.1.1: dependencies: to-regex-range: 5.0.1 - - /finalhandler@1.2.0: - resolution: {integrity: sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==} - engines: {node: '>= 0.8'} + + finalhandler@1.2.0: dependencies: debug: 2.6.9 encodeurl: 1.0.2 @@ -9475,425 +13768,244 @@ packages: unpipe: 1.0.0 transitivePeerDependencies: - supports-color - dev: true - /find-cache-dir@3.3.2: - resolution: {integrity: sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==} - engines: {node: '>=8'} + find-cache-dir@3.3.2: dependencies: commondir: 1.0.1 make-dir: 3.1.0 pkg-dir: 4.2.0 - dev: true - /find-cache-dir@4.0.0: - resolution: {integrity: sha512-9ZonPT4ZAK4a+1pUPVPZJapbi7O5qbbJPdYw/NOQWZZbVLdDTYM3A4R9z/DpAM08IDaFGsvPgiGZ82WEwUDWjg==} - engines: {node: '>=14.16'} + find-cache-dir@4.0.0: dependencies: common-path-prefix: 3.0.0 pkg-dir: 7.0.0 - dev: true - /find-my-way@4.5.1: - resolution: {integrity: sha512-kE0u7sGoUFbMXcOG/xpkmz4sRLCklERnBcg7Ftuu1iAxsfEt2S46RLJ3Sq7vshsEy2wJT2hZxE58XZK27qa8kg==} - engines: {node: '>=10'} + find-my-way@4.5.1: dependencies: fast-decode-uri-component: 1.0.1 fast-deep-equal: 3.1.3 safe-regex2: 2.0.0 semver-store: 0.3.0 - dev: true - /find-process@1.4.7: - resolution: {integrity: sha512-/U4CYp1214Xrp3u3Fqr9yNynUrr5Le4y0SsJh2lMDDSbpwYSz3M2SMWQC+wqcx79cN8PQtHQIL8KnuY9M66fdg==} - hasBin: true + find-process@1.4.7: dependencies: chalk: 4.1.2 commander: 5.1.0 debug: 4.3.5(supports-color@8.1.1) transitivePeerDependencies: - supports-color - dev: true - /find-up-simple@1.0.0: - resolution: {integrity: sha512-q7Us7kcjj2VMePAa02hDAF6d+MzsdsAWEwYyOpwUtlerRBkOEPBCRZrAV4XfcSN8fHAgaD0hP7miwoay6DCprw==} - engines: {node: '>=18'} - dev: true + find-up-simple@1.0.0: {} - /find-up@3.0.0: - resolution: {integrity: sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==} - engines: {node: '>=6'} + find-up@3.0.0: dependencies: locate-path: 3.0.0 - dev: true - /find-up@4.1.0: - resolution: {integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==} - engines: {node: '>=8'} + find-up@4.1.0: dependencies: locate-path: 5.0.0 path-exists: 4.0.0 - dev: true - /find-up@5.0.0: - resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} - engines: {node: '>=10'} + find-up@5.0.0: dependencies: locate-path: 6.0.0 path-exists: 4.0.0 - dev: true - /find-up@6.3.0: - resolution: {integrity: sha512-v2ZsoEuVHYy8ZIlYqwPe/39Cy+cFDzp4dXPaxNvkEuouymu+2Jbz0PxpKarJHYJTmv2HWT3O382qY8l4jMWthw==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + find-up@6.3.0: dependencies: locate-path: 7.2.0 path-exists: 5.0.0 - dev: true - /flat-cache@3.2.0: - resolution: {integrity: sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==} - engines: {node: ^10.12.0 || >=12.0.0} + flat-cache@3.2.0: dependencies: flatted: 3.3.1 keyv: 4.5.4 rimraf: 3.0.2 - dev: true - /flat-cache@4.0.1: - resolution: {integrity: sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==} - engines: {node: '>=16'} + flat-cache@4.0.1: dependencies: flatted: 3.3.1 keyv: 4.5.4 - dev: true - /flat@5.0.2: - resolution: {integrity: sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==} - hasBin: true - dev: true + flat@5.0.2: {} - /flatstr@1.0.12: - resolution: {integrity: sha512-4zPxDyhCyiN2wIAtSLI6gc82/EjqZc1onI4Mz/l0pWrAlsSfYH/2ZIcU+e3oA2wDwbzIWNKwa23F8rh6+DRWkw==} - dev: true + flatstr@1.0.12: {} - /flatted@3.3.1: - resolution: {integrity: sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==} - dev: true + flatted@3.3.1: {} - /flexsearch@0.7.43: - resolution: {integrity: sha512-c5o/+Um8aqCSOXGcZoqZOm+NqtVwNsvVpWv6lfmSclU954O3wvQKxxK8zj74fPaSJbXpSLTs4PRhh+wnoCXnKg==} - dev: true + flexsearch@0.7.43: {} - /focus-trap@7.5.4: - resolution: {integrity: sha512-N7kHdlgsO/v+iD/dMoJKtsSqs5Dz/dXZVebRgJw23LDk+jMi/974zyiOYDziY2JPp8xivq9BmUGwIJMiuSBi7w==} + focus-trap@7.5.4: dependencies: tabbable: 6.2.0 - dev: true - /follow-redirects@1.15.6(debug@4.3.5): - resolution: {integrity: sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA==} - engines: {node: '>=4.0'} - peerDependencies: - debug: '*' - peerDependenciesMeta: - debug: - optional: true - dependencies: + follow-redirects@1.15.6(debug@4.3.5): + optionalDependencies: debug: 4.3.5(supports-color@8.1.1) - dev: true - /font-awesome@4.7.0: - resolution: {integrity: sha512-U6kGnykA/6bFmg1M/oT9EkFeIYv7JlX3bozwQJWiiLz6L0w3F5vBVPxHlwyX/vtNq1ckcpRKOB9f2Qal/VtFpg==} - engines: {node: '>=0.10.3'} - dev: false + font-awesome@4.7.0: {} - /for-each@0.3.3: - resolution: {integrity: sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==} + for-each@0.3.3: dependencies: is-callable: 1.2.7 - dev: true - /foreground-child@2.0.0: - resolution: {integrity: sha512-dCIq9FpEcyQyXKCkyzmlPTFNgrCzPudOe+mhvJU5zAtlBnGVy2yKxtfsxK2tQBThwq225jcvBjpw1Gr40uzZCA==} - engines: {node: '>=8.0.0'} + foreground-child@2.0.0: dependencies: cross-spawn: 7.0.3 signal-exit: 3.0.7 - dev: true - /foreground-child@3.2.0: - resolution: {integrity: sha512-CrWQNaEl1/6WeZoarcM9LHupTo3RpZO2Pdk1vktwzPiQTsJnAKJmm3TACKeG5UZbWDfaH2AbvYxzP96y0MT7fA==} - engines: {node: '>=14'} + foreground-child@3.2.0: dependencies: cross-spawn: 7.0.3 signal-exit: 4.1.0 - /forever-agent@0.6.1: - resolution: {integrity: sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw==} - dev: true + forever-agent@0.6.1: {} - /form-data@2.3.3: - resolution: {integrity: sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==} - engines: {node: '>= 0.12'} + form-data@2.3.3: dependencies: asynckit: 0.4.0 combined-stream: 1.0.8 mime-types: 2.1.35 - dev: true - /form-data@4.0.0: - resolution: {integrity: sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==} - engines: {node: '>= 6'} + form-data@4.0.0: dependencies: asynckit: 0.4.0 combined-stream: 1.0.8 mime-types: 2.1.35 - dev: true - /format@0.2.2: - resolution: {integrity: sha512-wzsgA6WOq+09wrU1tsJ09udeR/YZRaeArL9e1wPbFg3GG2yDnC2ldKpxs4xunpFF9DgqCqOIra3bc1HWrJ37Ww==} - engines: {node: '>=0.4.x'} - dev: true + format@0.2.2: {} - /formdata-polyfill@4.0.10: - resolution: {integrity: sha512-buewHzMvYL29jdeQTVILecSaZKnt/RJWjoZCF5OW60Z67/GmSLBkOFM7qh1PI3zFNtJbaZL5eQu1vLfazOwj4g==} - engines: {node: '>=12.20.0'} + formdata-polyfill@4.0.10: dependencies: fetch-blob: 3.2.0 - dev: true - /forwarded@0.2.0: - resolution: {integrity: sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==} - engines: {node: '>= 0.6'} - dev: true + forwarded@0.2.0: {} - /fresh@0.5.2: - resolution: {integrity: sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==} - engines: {node: '>= 0.6'} - dev: true + fresh@0.5.2: {} - /from@0.1.7: - resolution: {integrity: sha512-twe20eF1OxVxp/ML/kq2p1uc6KvFK/+vs8WjEbeKmV2He22MKm7YF2ANIt+EOqhJ5L3K/SuuPhk0hWQDjOM23g==} - dev: true + from@0.1.7: {} - /fromentries@1.3.2: - resolution: {integrity: sha512-cHEpEQHUg0f8XdtZCc2ZAhrHzKzT0MrFUTcvx+hfxYu7rGMDc5SKoXFh+n4YigxsHXRzc6OrCshdR1bWH6HHyg==} - dev: true + fromentries@1.3.2: {} - /fs-extra@11.1.1: - resolution: {integrity: sha512-MGIE4HOvQCeUCzmlHs0vXpih4ysz4wg9qiSAu6cd42lVwPbTM1TjV7RusoyQqMmk/95gdQZX72u+YW+c3eEpFQ==} - engines: {node: '>=14.14'} + fs-extra@11.1.1: dependencies: graceful-fs: 4.2.11 jsonfile: 6.1.0 universalify: 2.0.1 - dev: true - /fs-extra@11.2.0: - resolution: {integrity: sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw==} - engines: {node: '>=14.14'} + fs-extra@11.2.0: dependencies: graceful-fs: 4.2.11 jsonfile: 6.1.0 universalify: 2.0.1 - dev: true - /fs-extra@7.0.1: - resolution: {integrity: sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==} - engines: {node: '>=6 <7 || >=8'} + fs-extra@7.0.1: dependencies: graceful-fs: 4.2.11 jsonfile: 4.0.0 universalify: 0.1.2 - dev: true - /fs-extra@9.1.0: - resolution: {integrity: sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==} - engines: {node: '>=10'} + fs-extra@9.1.0: dependencies: at-least-node: 1.0.0 graceful-fs: 4.2.11 jsonfile: 6.1.0 universalify: 2.0.1 - dev: true - /fs-monkey@1.0.6: - resolution: {integrity: sha512-b1FMfwetIKymC0eioW7mTywihSQE4oLzQn1dB6rZB5fx/3NpNEdAWeCSMB+60/AeT0TCXsxzAlcYVEFCTAksWg==} - dev: true + fs-monkey@1.0.6: {} - /fs.realpath@1.0.0: - resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} - dev: true + fs.realpath@1.0.0: {} - /fsevents@2.3.3: - resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} - engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} - os: [darwin] - requiresBuild: true + fsevents@2.3.3: optional: true - /function-bind@1.1.2: - resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} + function-bind@1.1.2: {} - /function.prototype.name@1.1.6: - resolution: {integrity: sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==} - engines: {node: '>= 0.4'} + function.prototype.name@1.1.6: dependencies: call-bind: 1.0.7 define-properties: 1.2.1 es-abstract: 1.23.3 functions-have-names: 1.2.3 - dev: true - /functions-have-names@1.2.3: - resolution: {integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==} - dev: true + functions-have-names@1.2.3: {} - /gensequence@7.0.0: - resolution: {integrity: sha512-47Frx13aZh01afHJTB3zTtKIlFI6vWY+MYCN9Qpew6i52rfKjnhCF/l1YlC8UmEMvvntZZ6z4PiCcmyuedR2aQ==} - engines: {node: '>=18'} - dev: true + gensequence@7.0.0: {} - /gensync@1.0.0-beta.2: - resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==} - engines: {node: '>=6.9.0'} - dev: true + gensync@1.0.0-beta.2: {} - /get-caller-file@2.0.5: - resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} - engines: {node: 6.* || 8.* || >= 10.*} - dev: true + get-caller-file@2.0.5: {} - /get-east-asian-width@1.2.0: - resolution: {integrity: sha512-2nk+7SIVb14QrgXFHcm84tD4bKQz0RxPuMT8Ag5KPOq7J5fEmAg0UbXdTOSHqNuHSU28k55qnceesxXRZGzKWA==} - engines: {node: '>=18'} - dev: true + get-east-asian-width@1.2.0: {} - /get-func-name@2.0.2: - resolution: {integrity: sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ==} - dev: true + get-func-name@2.0.2: {} - /get-intrinsic@1.2.4: - resolution: {integrity: sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==} - engines: {node: '>= 0.4'} + get-intrinsic@1.2.4: dependencies: es-errors: 1.3.0 function-bind: 1.1.2 has-proto: 1.0.3 has-symbols: 1.0.3 hasown: 2.0.2 - dev: true - /get-own-enumerable-property-symbols@3.0.2: - resolution: {integrity: sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g==} - dev: true + get-own-enumerable-property-symbols@3.0.2: {} - /get-package-type@0.1.0: - resolution: {integrity: sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==} - engines: {node: '>=8.0.0'} - dev: true + get-package-type@0.1.0: {} - /get-stdin@5.0.1: - resolution: {integrity: sha512-jZV7n6jGE3Gt7fgSTJoz91Ak5MuTLwMwkoYdjxuJ/AmjIsE1UC03y/IWkZCQGEvVNS9qoRNwy5BCqxImv0FVeA==} - engines: {node: '>=0.12.0'} - dev: true + get-stdin@5.0.1: {} - /get-stdin@8.0.0: - resolution: {integrity: sha512-sY22aA6xchAzprjyqmSEQv4UbAAzRN0L2dQB0NlN5acTTK9Don6nhoc3eAbUnpZiCANAMfd/+40kVdKfFygohg==} - engines: {node: '>=10'} - dev: true + get-stdin@8.0.0: {} - /get-stdin@9.0.0: - resolution: {integrity: sha512-dVKBjfWisLAicarI2Sf+JuBE/DghV4UzNAVe9yhEJuzeREd3JhOTE9cUaJTeSa77fsbQUK3pcOpJfM59+VKZaA==} - engines: {node: '>=12'} - dev: true + get-stdin@9.0.0: {} - /get-stream@4.1.0: - resolution: {integrity: sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==} - engines: {node: '>=6'} + get-stream@4.1.0: dependencies: pump: 3.0.0 - dev: true - /get-stream@5.2.0: - resolution: {integrity: sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==} - engines: {node: '>=8'} + get-stream@5.2.0: dependencies: pump: 3.0.0 - dev: true - /get-stream@6.0.1: - resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==} - engines: {node: '>=10'} - dev: true + get-stream@6.0.1: {} - /get-stream@8.0.1: - resolution: {integrity: sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==} - engines: {node: '>=16'} - dev: true + get-stream@8.0.1: {} - /get-symbol-description@1.0.2: - resolution: {integrity: sha512-g0QYk1dZBxGwk+Ngc+ltRH2IBp2f7zBkBMBJZCDerh6EhlhSR6+9irMCuT/09zD6qkarHUSn529sK/yL4S27mg==} - engines: {node: '>= 0.4'} + get-symbol-description@1.0.2: dependencies: call-bind: 1.0.7 es-errors: 1.3.0 get-intrinsic: 1.2.4 - dev: true - /get-tsconfig@4.7.5: - resolution: {integrity: sha512-ZCuZCnlqNzjb4QprAzXKdpp/gh6KTxSJuw3IBsPnV/7fV4NxC9ckB+vPTt8w7fJA0TaSD7c55BR47JD6MEDyDw==} + get-tsconfig@4.7.5: dependencies: resolve-pkg-maps: 1.0.0 - dev: true - /getos@3.2.1: - resolution: {integrity: sha512-U56CfOK17OKgTVqozZjUKNdkfEv6jk5WISBJ8SHoagjE6L69zOwl3Z+O8myjY9MEW3i2HPWQBt/LTbCgcC973Q==} + getos@3.2.1: dependencies: async: 3.2.5 - dev: true - /getpass@0.1.7: - resolution: {integrity: sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng==} + getpass@0.1.7: dependencies: assert-plus: 1.0.0 - dev: true - /github-slugger@2.0.0: - resolution: {integrity: sha512-IaOQ9puYtjrkq7Y0Ygl9KDZnrf/aiUJYUpVf89y8kyaxbRG7Y1SrX/jaumrv81vc61+kiMempujsM3Yw7w5qcw==} - dev: true + github-slugger@2.0.0: {} - /glob-parent@5.1.2: - resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} - engines: {node: '>= 6'} + glob-parent@5.1.2: dependencies: is-glob: 4.0.3 - /glob-parent@6.0.2: - resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} - engines: {node: '>=10.13.0'} + glob-parent@6.0.2: dependencies: is-glob: 4.0.3 - /glob-promise@4.2.2(glob@7.2.3): - resolution: {integrity: sha512-xcUzJ8NWN5bktoTIX7eOclO1Npxd/dyVqUJxlLIDasT4C7KZyqlPIwkdJ0Ypiy3p2ZKahTjK4M9uC3sNSfNMzw==} - engines: {node: '>=12'} - peerDependencies: - glob: ^7.1.6 + glob-promise@4.2.2(glob@7.2.3): dependencies: '@types/glob': 7.2.0 glob: 7.2.3 - dev: true - /glob-to-regexp@0.4.1: - resolution: {integrity: sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==} - dev: true + glob-to-regexp@0.4.1: {} - /glob@10.4.1: - resolution: {integrity: sha512-2jelhlq3E4ho74ZyVLN03oKdAZVUa6UDZzFLVH1H7dnoax+y9qyaq8zBkfDIggjniU19z0wU18y16jMB2eyVIw==} - engines: {node: '>=16 || 14 >=14.18'} - hasBin: true + glob@10.4.1: dependencies: foreground-child: 3.2.0 jackspeak: 3.4.0 @@ -9901,9 +14013,7 @@ packages: minipass: 7.1.2 path-scurry: 1.11.1 - /glob@7.2.3: - resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} - deprecated: Glob versions prior to v9 are no longer supported + glob@7.2.3: dependencies: fs.realpath: 1.0.0 inflight: 1.0.6 @@ -9911,57 +14021,35 @@ packages: minimatch: 3.1.2 once: 1.4.0 path-is-absolute: 1.0.1 - dev: true - /glob@8.1.0: - resolution: {integrity: sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==} - engines: {node: '>=12'} - deprecated: Glob versions prior to v9 are no longer supported + glob@8.1.0: dependencies: fs.realpath: 1.0.0 inflight: 1.0.6 inherits: 2.0.4 minimatch: 5.1.6 once: 1.4.0 - dev: true - /global-directory@4.0.1: - resolution: {integrity: sha512-wHTUcDUoZ1H5/0iVqEudYW4/kAlN5cZ3j/bXn0Dpbizl9iaUVeWSHqiOjsgk6OW2bkLclbBjzewBz6weQ1zA2Q==} - engines: {node: '>=18'} + global-directory@4.0.1: dependencies: ini: 4.1.1 - dev: true - /global-dirs@3.0.1: - resolution: {integrity: sha512-NBcGGFbBA9s1VzD41QXDG+3++t9Mn5t1FpLdhESY6oKY4gYTFpX4wO3sqGUa0Srjtbfj3szX0RnemmrVRUdULA==} - engines: {node: '>=10'} + global-dirs@3.0.1: dependencies: ini: 2.0.0 - dev: true - /globals@11.12.0: - resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==} - engines: {node: '>=4'} - dev: true + globals@11.12.0: {} - /globals@13.24.0: - resolution: {integrity: sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==} - engines: {node: '>=8'} + globals@13.24.0: dependencies: type-fest: 0.20.2 - dev: true - /globalthis@1.0.4: - resolution: {integrity: sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==} - engines: {node: '>= 0.4'} + globalthis@1.0.4: dependencies: define-properties: 1.2.1 gopd: 1.0.1 - dev: true - /globby@11.1.0: - resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==} - engines: {node: '>=10'} + globby@11.1.0: dependencies: array-union: 2.1.0 dir-glob: 3.0.1 @@ -9969,22 +14057,16 @@ packages: ignore: 5.3.1 merge2: 1.4.1 slash: 3.0.0 - dev: true - /globby@13.2.2: - resolution: {integrity: sha512-Y1zNGV+pzQdh7H39l9zgB4PJqjRNqydvdYCDG4HFXM4XuvSaQQlEc91IU1yALL8gUTDomgBAfz3XJdmUS+oo0w==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + globby@13.2.2: dependencies: dir-glob: 3.0.1 fast-glob: 3.3.2 ignore: 5.3.1 merge2: 1.4.1 slash: 4.0.0 - dev: true - /globby@14.0.1: - resolution: {integrity: sha512-jOMLD2Z7MAhyG8aJpNOpmziMOP4rPLcc95oQPKXBazW82z+CEgPFBQvEpRUa1KeIMUJo4Wsm+q6uzO/Q/4BksQ==} - engines: {node: '>=18'} + globby@14.0.1: dependencies: '@sindresorhus/merge-streams': 2.3.0 fast-glob: 3.3.2 @@ -9992,21 +14074,14 @@ packages: path-type: 5.0.0 slash: 5.1.0 unicorn-magic: 0.1.0 - dev: true - /glur@1.1.2: - resolution: {integrity: sha512-l+8esYHTKOx2G/Aao4lEQ0bnHWg4fWtJbVoZZT9Knxi01pB8C80BR85nONLFwkkQoFRCmXY+BUcGZN3yZ2QsRA==} - dev: true + glur@1.1.2: {} - /gopd@1.0.1: - resolution: {integrity: sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==} + gopd@1.0.1: dependencies: get-intrinsic: 1.2.4 - dev: true - /got@11.8.6: - resolution: {integrity: sha512-6tfZ91bOr7bOXnK7PRDCGBLa1H4U080YHNaAQ2KsMGlLEzRbk44nsZF2E1IeRc3vtJHPVbKCYgdFbaGO2ljd8g==} - engines: {node: '>=10.19.0'} + got@11.8.6: dependencies: '@sindresorhus/is': 4.6.0 '@szmarczak/http-timer': 4.0.6 @@ -10019,35 +14094,20 @@ packages: lowercase-keys: 2.0.0 p-cancelable: 2.1.1 responselike: 2.0.1 - dev: true - /graceful-fs@4.2.11: - resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} - dev: true + graceful-fs@4.2.11: {} - /graphemer@1.4.0: - resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==} - dev: true + graphemer@1.4.0: {} - /gzip-size@6.0.0: - resolution: {integrity: sha512-ax7ZYomf6jqPTQ4+XCpUGyXKHk5WweS+e05MBO4/y3WJ5RkmPXNKvX+bx1behVILVwr6JSQvZAku021CHPXG3Q==} - engines: {node: '>=10'} + gzip-size@6.0.0: dependencies: duplexer: 0.1.2 - dev: true - /hachure-fill@0.5.2: - resolution: {integrity: sha512-3GKBOn+m2LX9iq+JC1064cSFprJY4jL1jCXTcpnfER5HYE2l/4EfWSGzkPa/ZDBmYI0ZOEj5VHV/eKnPGkHuOg==} - dev: false + hachure-fill@0.5.2: {} - /handle-thing@2.0.1: - resolution: {integrity: sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg==} - dev: true + handle-thing@2.0.1: {} - /handlebars@4.7.8: - resolution: {integrity: sha512-vafaFqs8MZkRrSX7sFVUdo3ap/eNiLnb4IakshzvP56X5Nr1iGKAIqdX6tMlm6HcNRIkr6AxO5jFEoJzzpT8aQ==} - engines: {node: '>=0.4.7'} - hasBin: true + handlebars@4.7.8: dependencies: minimist: 1.2.8 neo-async: 2.6.2 @@ -10055,223 +14115,138 @@ packages: wordwrap: 1.0.0 optionalDependencies: uglify-js: 3.18.0 - dev: true - /has-ansi@2.0.0: - resolution: {integrity: sha512-C8vBJ8DwUCx19vhm7urhTuUsr4/IyP6l4VzNQDv+ryHQObW3TTTp9yB68WpYgRe2bbaGuZ/se74IqFeVnMnLZg==} - engines: {node: '>=0.10.0'} + has-ansi@2.0.0: dependencies: ansi-regex: 2.1.1 - dev: true - /has-bigints@1.0.2: - resolution: {integrity: sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==} - dev: true + has-bigints@1.0.2: {} - /has-flag@3.0.0: - resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==} - engines: {node: '>=4'} - dev: true + has-flag@3.0.0: {} - /has-flag@4.0.0: - resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} - engines: {node: '>=8'} + has-flag@4.0.0: {} - /has-own-prop@2.0.0: - resolution: {integrity: sha512-Pq0h+hvsVm6dDEa8x82GnLSYHOzNDt7f0ddFa3FqcQlgzEiptPqL+XrOJNavjOzSYiYWIrgeVYYgGlLmnxwilQ==} - engines: {node: '>=8'} - dev: true + has-own-prop@2.0.0: {} - /has-property-descriptors@1.0.2: - resolution: {integrity: sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==} + has-property-descriptors@1.0.2: dependencies: es-define-property: 1.0.0 - dev: true - /has-proto@1.0.3: - resolution: {integrity: sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==} - engines: {node: '>= 0.4'} - dev: true + has-proto@1.0.3: {} - /has-symbols@1.0.3: - resolution: {integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==} - engines: {node: '>= 0.4'} - dev: true + has-symbols@1.0.3: {} - /has-tostringtag@1.0.2: - resolution: {integrity: sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==} - engines: {node: '>= 0.4'} + has-tostringtag@1.0.2: dependencies: has-symbols: 1.0.3 - dev: true - /hasha@5.2.2: - resolution: {integrity: sha512-Hrp5vIK/xr5SkeN2onO32H0MgNZ0f17HRNH39WfL0SYUNOTZ5Lz1TJ8Pajo/87dYGEFlLMm7mIc/k/s6Bvz9HQ==} - engines: {node: '>=8'} + hasha@5.2.2: dependencies: is-stream: 2.0.1 type-fest: 0.8.1 - dev: true - /hasown@2.0.2: - resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==} - engines: {node: '>= 0.4'} + hasown@2.0.2: dependencies: function-bind: 1.1.2 - /highlight.js@10.7.3: - resolution: {integrity: sha512-tzcUFauisWKNHaRkN4Wjl/ZA07gENAjFl3J/c480dprkGTg5EQstgaNFqBfUqCq54kZRIEcreTsAgF/m2quD7A==} - dev: false + highlight.js@10.7.3: {} - /hookable@5.5.3: - resolution: {integrity: sha512-Yc+BQe8SvoXH1643Qez1zqLRmbA5rCL+sSmk6TVos0LWVfNIB7PGncdlId77WzLGSIB5KaWgTaNTs2lNVEI6VQ==} - dev: true + hookable@5.5.3: {} - /hosted-git-info@2.8.9: - resolution: {integrity: sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==} - dev: true + hosted-git-info@2.8.9: {} - /hpack.js@2.1.6: - resolution: {integrity: sha512-zJxVehUdMGIKsRaNt7apO2Gqp0BdqW5yaiGHXXmbpvxgBYVZnAql+BJb4RO5ad2MgpbZKn5G6nMnegrH1FcNYQ==} + hpack.js@2.1.6: dependencies: inherits: 2.0.4 obuf: 1.1.2 readable-stream: 2.3.8 wbuf: 1.7.3 - dev: true - /html-encoding-sniffer@4.0.0: - resolution: {integrity: sha512-Y22oTqIU4uuPgEemfz7NDJz6OeKf12Lsu+QC+s3BVpda64lTiMYCyGwg5ki4vFxkMwQdeZDl2adZoqUgdFuTgQ==} - engines: {node: '>=18'} + html-encoding-sniffer@4.0.0: dependencies: whatwg-encoding: 3.1.1 - dev: true - /html-entities@2.5.2: - resolution: {integrity: sha512-K//PSRMQk4FZ78Kyau+mZurHn3FH0Vwr+H36eE0rPbeYkRRi9YxceYPhuN60UwWorxyKHhqoAJl2OFKa4BVtaA==} - dev: true + html-entities@2.5.2: {} - /html-escaper@2.0.2: - resolution: {integrity: sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==} - dev: true + html-escaper@2.0.2: {} - /html-to-image@1.11.11: - resolution: {integrity: sha512-9gux8QhvjRO/erSnDPv28noDZcPZmYE7e1vFsBLKLlRlKDSqNJYebj6Qz1TGd5lsRV+X+xYyjCKjuZdABinWjA==} - dev: false + html-to-image@1.11.11: {} - /htmlparser2@9.1.0: - resolution: {integrity: sha512-5zfg6mHUoaer/97TxnGpxmbR7zJtPwIYFMZ/H5ucTlPZhKvtum05yiPK3Mgai3a0DyVxv7qYqoweaEd2nrYQzQ==} + htmlparser2@9.1.0: dependencies: domelementtype: 2.3.0 domhandler: 5.0.3 domutils: 3.1.0 entities: 4.5.0 - dev: true - /http-cache-semantics@4.1.1: - resolution: {integrity: sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==} - dev: true + http-cache-semantics@4.1.1: {} - /http-deceiver@1.2.7: - resolution: {integrity: sha512-LmpOGxTfbpgtGVxJrj5k7asXHCgNZp5nLfp+hWc8QQRqtb7fUy6kRY3BO1h9ddF6yIPYUARgxGOwB42DnxIaNw==} - dev: true + http-deceiver@1.2.7: {} - /http-errors@1.6.3: - resolution: {integrity: sha512-lks+lVC8dgGyh97jxvxeYTWQFvh4uw4yC12gVl63Cg30sjPX4wuGcdkICVXDAESr6OJGjqGA8Iz5mkeN6zlD7A==} - engines: {node: '>= 0.6'} + http-errors@1.6.3: dependencies: depd: 1.1.2 inherits: 2.0.3 setprototypeof: 1.1.0 statuses: 1.5.0 - dev: true - /http-errors@2.0.0: - resolution: {integrity: sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==} - engines: {node: '>= 0.8'} + http-errors@2.0.0: dependencies: depd: 2.0.0 inherits: 2.0.4 setprototypeof: 1.2.0 statuses: 2.0.1 toidentifier: 1.0.1 - dev: true - /http-parser-js@0.5.8: - resolution: {integrity: sha512-SGeBX54F94Wgu5RH3X5jsDtf4eHyRogWX1XGT3b4HuW3tQPM4AaBzoUji/4AAJNXCEOWZ5O0DgZmJw1947gD5Q==} - dev: true + http-parser-js@0.5.8: {} - /http-proxy-agent@5.0.0: - resolution: {integrity: sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==} - engines: {node: '>= 6'} + http-proxy-agent@5.0.0: dependencies: '@tootallnate/once': 2.0.0 agent-base: 6.0.2 debug: 4.3.5(supports-color@8.1.1) transitivePeerDependencies: - supports-color - dev: true - /http-proxy-agent@7.0.2: - resolution: {integrity: sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==} - engines: {node: '>= 14'} + http-proxy-agent@7.0.2: dependencies: agent-base: 7.1.1 debug: 4.3.5(supports-color@8.1.1) transitivePeerDependencies: - supports-color - dev: true - /http-proxy-middleware@2.0.6(@types/express@4.17.21): - resolution: {integrity: sha512-ya/UeJ6HVBYxrgYotAZo1KvPWlgB48kUJLDePFeneHsVujFaW5WNj2NgWCAE//B1Dl02BIfYlpNgBy8Kf8Rjmw==} - engines: {node: '>=12.0.0'} - peerDependencies: - '@types/express': ^4.17.13 - peerDependenciesMeta: - '@types/express': - optional: true + http-proxy-middleware@2.0.6(@types/express@4.17.21): dependencies: - '@types/express': 4.17.21 '@types/http-proxy': 1.17.14 http-proxy: 1.18.1 is-glob: 4.0.3 is-plain-obj: 3.0.0 micromatch: 4.0.7 + optionalDependencies: + '@types/express': 4.17.21 transitivePeerDependencies: - debug - dev: true - /http-proxy@1.18.1: - resolution: {integrity: sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==} - engines: {node: '>=8.0.0'} + http-proxy@1.18.1: dependencies: eventemitter3: 4.0.7 follow-redirects: 1.15.6(debug@4.3.5) requires-port: 1.0.0 transitivePeerDependencies: - debug - dev: true - /http-signature@1.3.6: - resolution: {integrity: sha512-3adrsD6zqo4GsTqtO7FyrejHNv+NgiIfAfv68+jVlFmSr9OGy7zrxONceFRLKvnnZA5jbxQBX1u9PpB6Wi32Gw==} - engines: {node: '>=0.10'} + http-signature@1.3.6: dependencies: assert-plus: 1.0.0 jsprim: 2.0.2 sshpk: 1.18.0 - dev: true - /http2-wrapper@1.0.3: - resolution: {integrity: sha512-V+23sDMr12Wnz7iTcDeJr3O6AIxlnvT/bmaAAAP/Xda35C90p9599p0F1eHR/N1KILWSoWVAiOMFjBBXaXSMxg==} - engines: {node: '>=10.19.0'} + http2-wrapper@1.0.3: dependencies: quick-lru: 5.1.1 resolve-alpn: 1.2.1 - dev: true - /https-localhost@4.7.1: - resolution: {integrity: sha512-rl+NFV0l67/0W7fZwk4LB5gS6HdhtSFLpCpf1N+KD5WQAXtPXX1QE8H0cP8VNJii18rtpTkE9eAHdUfJ0goAnQ==} - hasBin: true + https-localhost@4.7.1: dependencies: appdata-path: 1.0.0 compression: 1.7.4 @@ -10281,490 +14256,258 @@ packages: uglify-js: 3.18.0 transitivePeerDependencies: - supports-color - dev: true - /https-proxy-agent@5.0.1: - resolution: {integrity: sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==} - engines: {node: '>= 6'} + https-proxy-agent@5.0.1: dependencies: agent-base: 6.0.2 debug: 4.3.5(supports-color@8.1.1) transitivePeerDependencies: - supports-color - dev: true - /https-proxy-agent@7.0.4: - resolution: {integrity: sha512-wlwpilI7YdjSkWaQ/7omYBMTliDcmCN8OLihO6I9B86g06lMyAoqgoDpV0XqoaPOKj+0DIdAvnsWfyAAhmimcg==} - engines: {node: '>= 14'} + https-proxy-agent@7.0.4: dependencies: agent-base: 7.1.1 debug: 4.3.5(supports-color@8.1.1) transitivePeerDependencies: - supports-color - dev: true - /human-signals@1.1.1: - resolution: {integrity: sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==} - engines: {node: '>=8.12.0'} - dev: true + human-signals@1.1.1: {} - /human-signals@2.1.0: - resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==} - engines: {node: '>=10.17.0'} - dev: true + human-signals@2.1.0: {} - /human-signals@5.0.0: - resolution: {integrity: sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==} - engines: {node: '>=16.17.0'} - dev: true + human-signals@5.0.0: {} - /husky@9.0.11: - resolution: {integrity: sha512-AB6lFlbwwyIqMdHYhwPe+kjOC3Oc5P3nThEoW/AaO2BX3vJDjWPFxYLxokUZOo6RNX20He3AaT8sESs9NJcmEw==} - engines: {node: '>=18'} - hasBin: true - dev: true + husky@9.0.11: {} - /iconv-lite@0.4.24: - resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==} - engines: {node: '>=0.10.0'} + iconv-lite@0.4.24: dependencies: safer-buffer: 2.1.2 - dev: true - /iconv-lite@0.6.3: - resolution: {integrity: sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==} - engines: {node: '>=0.10.0'} + iconv-lite@0.6.3: dependencies: safer-buffer: 2.1.2 - /idb@7.1.1: - resolution: {integrity: sha512-gchesWBzyvGHRO9W8tzUWFDycow5gwjvFKfyV9FF32Y7F50yZMp7mP+T2mJIWFx49zicqyC4uefHM17o6xKIVQ==} - dev: true + idb@7.1.1: {} - /ieee754@1.2.1: - resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==} + ieee754@1.2.1: {} - /ignore@5.3.1: - resolution: {integrity: sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==} - engines: {node: '>= 4'} - dev: true + ignore@5.3.1: {} - /import-fresh@3.3.0: - resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==} - engines: {node: '>=6'} + import-fresh@3.3.0: dependencies: parent-module: 1.0.1 resolve-from: 4.0.0 - dev: true - /import-local@3.1.0: - resolution: {integrity: sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==} - engines: {node: '>=8'} - hasBin: true + import-local@3.1.0: dependencies: pkg-dir: 4.2.0 resolve-cwd: 3.0.0 - dev: true - /import-meta-resolve@4.1.0: - resolution: {integrity: sha512-I6fiaX09Xivtk+THaMfAwnA3MVA5Big1WHF1Dfx9hFuvNIWpXnorlkzhcQf6ehrqQiiZECRt1poOAkPmer3ruw==} - dev: true + import-meta-resolve@4.1.0: {} - /imurmurhash@0.1.4: - resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} - engines: {node: '>=0.8.19'} - dev: true + imurmurhash@0.1.4: {} - /indent-string@4.0.0: - resolution: {integrity: sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==} - engines: {node: '>=8'} - dev: true + indent-string@4.0.0: {} - /indent-string@5.0.0: - resolution: {integrity: sha512-m6FAo/spmsW2Ab2fU35JTYwtOKa2yAwXSwgjSv1TJzh4Mh7mC3lzAOVLBprb72XsTrgkEIsl7YrFNAiDiRhIGg==} - engines: {node: '>=12'} - dev: true + indent-string@5.0.0: {} - /inflight@1.0.6: - resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} - deprecated: This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful. + inflight@1.0.6: dependencies: once: 1.4.0 wrappy: 1.0.2 - dev: true - - /inherits@2.0.3: - resolution: {integrity: sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==} - dev: true - /inherits@2.0.4: - resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} - dev: true + inherits@2.0.3: {} - /ini@2.0.0: - resolution: {integrity: sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA==} - engines: {node: '>=10'} - dev: true + inherits@2.0.4: {} - /ini@3.0.1: - resolution: {integrity: sha512-it4HyVAUTKBc6m8e1iXWvXSTdndF7HbdN713+kvLrymxTaU4AUBWrJ4vEooP+V7fexnVD3LKcBshjGGPefSMUQ==} - engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} - dev: true + ini@2.0.0: {} - /ini@4.1.1: - resolution: {integrity: sha512-QQnnxNyfvmHFIsj7gkPcYymR8Jdw/o7mp5ZFihxn6h8Ci6fh3Dx4E1gPjpQEpIuPo9XVNY/ZUwh4BPMjGyL01g==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - dev: true + ini@3.0.1: {} - /internal-slot@1.0.7: - resolution: {integrity: sha512-NGnrKwXzSms2qUUih/ILZ5JBqNTSa1+ZmP6flaIp6KmSElgE9qdndzS3cqjrDovwFdmwsGsLdeFgB6suw+1e9g==} - engines: {node: '>= 0.4'} + ini@4.1.1: {} + + internal-slot@1.0.7: dependencies: es-errors: 1.3.0 hasown: 2.0.2 side-channel: 1.0.6 - dev: true - /internmap@1.0.1: - resolution: {integrity: sha512-lDB5YccMydFBtasVtxnZ3MRBHuaoE8GKsppq+EchKL2U4nK/DmEpPHNH8MZe5HkMtpSiTSOZwfN0tzYjO/lJEw==} - dev: false + internmap@1.0.1: {} - /internmap@2.0.3: - resolution: {integrity: sha512-5Hh7Y1wQbvY5ooGgPbDaL5iYLAPzMTUrjMulskHLH6wnv/A+1q5rgEaiuqEjB+oxGXIVZs1FF+R/KPN3ZSQYYg==} - engines: {node: '>=12'} - dev: false + internmap@2.0.3: {} - /interpret@2.2.0: - resolution: {integrity: sha512-Ju0Bz/cEia55xDwUWEa8+olFpCiQoypjnQySseKtmjNrnps3P+xfpUmGr90T7yjlVJmOtybRvPXhKMbHr+fWnw==} - engines: {node: '>= 0.10'} - dev: true + interpret@2.2.0: {} - /ipaddr.js@1.9.1: - resolution: {integrity: sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==} - engines: {node: '>= 0.10'} - dev: true + ipaddr.js@1.9.1: {} - /ipaddr.js@2.2.0: - resolution: {integrity: sha512-Ag3wB2o37wslZS19hZqorUnrnzSkpOVy+IiiDEiTqNubEYpYuHWIf6K4psgN2ZWKExS4xhVCrRVfb/wfW8fWJA==} - engines: {node: '>= 10'} - dev: true + ipaddr.js@2.2.0: {} - /is-alphabetical@1.0.4: - resolution: {integrity: sha512-DwzsA04LQ10FHTZuL0/grVDk4rFoVH1pjAToYwBrHSxcrBIGQuXrQMtD5U1b0U2XVgKZCTLLP8u2Qxqhy3l2Vg==} - dev: true + is-alphabetical@1.0.4: {} - /is-alphanumerical@1.0.4: - resolution: {integrity: sha512-UzoZUr+XfVz3t3v4KyGEniVL9BDRoQtY7tOyrRybkVNjDFWyo1yhXNGrrBTQxp3ib9BLAWs7k2YKBQsFRkZG9A==} + is-alphanumerical@1.0.4: dependencies: is-alphabetical: 1.0.4 is-decimal: 1.0.4 - dev: true - /is-array-buffer@3.0.4: - resolution: {integrity: sha512-wcjaerHw0ydZwfhiKbXJWLDY8A7yV7KhjQOpb83hGgGfId/aQa4TOvwyzn2PuswW2gPCYEL/nEAiSVpdOj1lXw==} - engines: {node: '>= 0.4'} + is-array-buffer@3.0.4: dependencies: call-bind: 1.0.7 get-intrinsic: 1.2.4 - dev: true - /is-arrayish@0.2.1: - resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==} - dev: true + is-arrayish@0.2.1: {} - /is-arrayish@0.3.2: - resolution: {integrity: sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==} - dev: false + is-arrayish@0.3.2: {} - /is-bigint@1.0.4: - resolution: {integrity: sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==} + is-bigint@1.0.4: dependencies: has-bigints: 1.0.2 - dev: true - /is-binary-path@2.1.0: - resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} - engines: {node: '>=8'} + is-binary-path@2.1.0: dependencies: binary-extensions: 2.3.0 - /is-boolean-object@1.1.2: - resolution: {integrity: sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==} - engines: {node: '>= 0.4'} + is-boolean-object@1.1.2: dependencies: call-bind: 1.0.7 has-tostringtag: 1.0.2 - dev: true - /is-builtin-module@3.2.1: - resolution: {integrity: sha512-BSLE3HnV2syZ0FK0iMA/yUGplUeMmNz4AW5fnTunbCIqZi4vG3WjJT9FHMy5D69xmAYBHXQhJdALdpwVxV501A==} - engines: {node: '>=6'} + is-builtin-module@3.2.1: dependencies: builtin-modules: 3.3.0 - dev: true - /is-callable@1.2.7: - resolution: {integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==} - engines: {node: '>= 0.4'} - dev: true + is-callable@1.2.7: {} - /is-ci@3.0.1: - resolution: {integrity: sha512-ZYvCgrefwqoQ6yTyYUbQu64HsITZ3NfKX1lzaEYdkTDcfKzzCI/wthRRYKkdjHKFVgNiXKAKm65Zo1pk2as/QQ==} - hasBin: true + is-ci@3.0.1: dependencies: ci-info: 3.9.0 - dev: true - /is-core-module@2.13.1: - resolution: {integrity: sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==} + is-core-module@2.13.1: dependencies: hasown: 2.0.2 - /is-data-view@1.0.1: - resolution: {integrity: sha512-AHkaJrsUVW6wq6JS8y3JnM/GJF/9cf+k20+iDzlSaJrinEo5+7vRiteOSwBhHRiAyQATN1AmY4hwzxJKPmYf+w==} - engines: {node: '>= 0.4'} + is-data-view@1.0.1: dependencies: is-typed-array: 1.1.13 - dev: true - /is-date-object@1.0.5: - resolution: {integrity: sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==} - engines: {node: '>= 0.4'} + is-date-object@1.0.5: dependencies: has-tostringtag: 1.0.2 - dev: true - /is-decimal@1.0.4: - resolution: {integrity: sha512-RGdriMmQQvZ2aqaQq3awNA6dCGtKpiDFcOzrTWrDAT2MiWrKQVPmxLGHl7Y2nNu6led0kEyoX0enY0qXYsv9zw==} - dev: true + is-decimal@1.0.4: {} - /is-docker@2.2.1: - resolution: {integrity: sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==} - engines: {node: '>=8'} - hasBin: true - dev: true + is-docker@2.2.1: {} - /is-extglob@2.1.1: - resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} - engines: {node: '>=0.10.0'} + is-extglob@2.1.1: {} - /is-fullwidth-code-point@3.0.0: - resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} - engines: {node: '>=8'} + is-fullwidth-code-point@3.0.0: {} - /is-fullwidth-code-point@4.0.0: - resolution: {integrity: sha512-O4L094N2/dZ7xqVdrXhh9r1KODPJpFms8B5sGdJLPy664AgvXsreZUyCQQNItZRDlYug4xStLjNp/sz3HvBowQ==} - engines: {node: '>=12'} - dev: true + is-fullwidth-code-point@4.0.0: {} - /is-fullwidth-code-point@5.0.0: - resolution: {integrity: sha512-OVa3u9kkBbw7b8Xw5F9P+D/T9X+Z4+JruYVNapTjPYZYUznQ5YfWeFkOj606XYYW8yugTfC8Pj0hYqvi4ryAhA==} - engines: {node: '>=18'} + is-fullwidth-code-point@5.0.0: dependencies: get-east-asian-width: 1.2.0 - dev: true - /is-generator-fn@2.1.0: - resolution: {integrity: sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==} - engines: {node: '>=6'} - dev: true + is-generator-fn@2.1.0: {} - /is-glob@4.0.3: - resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} - engines: {node: '>=0.10.0'} + is-glob@4.0.3: dependencies: is-extglob: 2.1.1 - /is-hexadecimal@1.0.4: - resolution: {integrity: sha512-gyPJuv83bHMpocVYoqof5VDiZveEoGoFL8m3BXNb2VW8Xs+rz9kqO8LOQ5DH6EsuvilT1ApazU0pyl+ytbPtlw==} - dev: true + is-hexadecimal@1.0.4: {} - /is-installed-globally@0.4.0: - resolution: {integrity: sha512-iwGqO3J21aaSkC7jWnHP/difazwS7SFeIqxv6wEtLU8Y5KlzFTjyqcSIT0d8s4+dDhKytsk9PJZ2BkS5eZwQRQ==} - engines: {node: '>=10'} + is-installed-globally@0.4.0: dependencies: global-dirs: 3.0.1 is-path-inside: 3.0.3 - dev: true - /is-localhost-ip@2.0.0: - resolution: {integrity: sha512-vlgs2cSgMOfnKU8c1ewgKPyum9rVrjjLLW2HBdL5i0iAJjOs8NY55ZBd/hqUTaYR0EO9CKZd3hVSC2HlIbygTQ==} - engines: {node: '>=12'} - dev: true + is-localhost-ip@2.0.0: {} - /is-module@1.0.0: - resolution: {integrity: sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g==} - dev: true + is-module@1.0.0: {} - /is-negative-zero@2.0.3: - resolution: {integrity: sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==} - engines: {node: '>= 0.4'} - dev: true + is-negative-zero@2.0.3: {} - /is-number-object@1.0.7: - resolution: {integrity: sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==} - engines: {node: '>= 0.4'} + is-number-object@1.0.7: dependencies: has-tostringtag: 1.0.2 - dev: true - /is-number@7.0.0: - resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} - engines: {node: '>=0.12.0'} + is-number@7.0.0: {} - /is-obj@1.0.1: - resolution: {integrity: sha512-l4RyHgRqGN4Y3+9JHVrNqO+tN0rV5My76uW5/nuO4K1b6vw5G8d/cmFjP9tRfEsdhZNt0IFdZuK/c2Vr4Nb+Qg==} - engines: {node: '>=0.10.0'} - dev: true + is-obj@1.0.1: {} - /is-path-inside@3.0.3: - resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==} - engines: {node: '>=8'} - dev: true + is-path-inside@3.0.3: {} - /is-plain-obj@3.0.0: - resolution: {integrity: sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA==} - engines: {node: '>=10'} - dev: true + is-plain-obj@3.0.0: {} - /is-plain-obj@4.1.0: - resolution: {integrity: sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==} - engines: {node: '>=12'} - dev: true + is-plain-obj@4.1.0: {} - /is-plain-object@2.0.4: - resolution: {integrity: sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==} - engines: {node: '>=0.10.0'} + is-plain-object@2.0.4: dependencies: isobject: 3.0.1 - dev: true - /is-potential-custom-element-name@1.0.1: - resolution: {integrity: sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==} - dev: true + is-potential-custom-element-name@1.0.1: {} - /is-promise@2.2.2: - resolution: {integrity: sha512-+lP4/6lKUBfQjZ2pdxThZvLUAafmZb8OAxFb8XXtiQmS35INgr85hdOGoEs124ez1FCnZJt6jau/T+alh58QFQ==} - dev: true + is-promise@2.2.2: {} - /is-regex@1.1.4: - resolution: {integrity: sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==} - engines: {node: '>= 0.4'} + is-regex@1.1.4: dependencies: call-bind: 1.0.7 has-tostringtag: 1.0.2 - dev: true - /is-regexp@1.0.0: - resolution: {integrity: sha512-7zjFAPO4/gwyQAAgRRmqeEeyIICSdmCqa3tsVHMdBzaXXRiqopZL4Cyghg/XulGWrtABTpbnYYzzIRffLkP4oA==} - engines: {node: '>=0.10.0'} - dev: true + is-regexp@1.0.0: {} - /is-shared-array-buffer@1.0.3: - resolution: {integrity: sha512-nA2hv5XIhLR3uVzDDfCIknerhx8XUKnstuOERPNNIinXG7v9u+ohXF67vxm4TPTEPU6lm61ZkwP3c9PCB97rhg==} - engines: {node: '>= 0.4'} + is-shared-array-buffer@1.0.3: dependencies: call-bind: 1.0.7 - dev: true - /is-stream@1.1.0: - resolution: {integrity: sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==} - engines: {node: '>=0.10.0'} - dev: true + is-stream@1.1.0: {} - /is-stream@2.0.1: - resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==} - engines: {node: '>=8'} - dev: true + is-stream@2.0.1: {} - /is-stream@3.0.0: - resolution: {integrity: sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - dev: true + is-stream@3.0.0: {} - /is-string@1.0.7: - resolution: {integrity: sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==} - engines: {node: '>= 0.4'} + is-string@1.0.7: dependencies: has-tostringtag: 1.0.2 - dev: true - /is-symbol@1.0.4: - resolution: {integrity: sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==} - engines: {node: '>= 0.4'} + is-symbol@1.0.4: dependencies: has-symbols: 1.0.3 - dev: true - /is-typed-array@1.1.13: - resolution: {integrity: sha512-uZ25/bUAlUY5fR4OKT4rZQEBrzQWYV9ZJYGGsUmEJ6thodVJ1HX64ePQ6Z0qPWP+m+Uq6e9UugrE38jeYsDSMw==} - engines: {node: '>= 0.4'} + is-typed-array@1.1.13: dependencies: which-typed-array: 1.1.15 - dev: true - /is-typedarray@1.0.0: - resolution: {integrity: sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==} - dev: true + is-typedarray@1.0.0: {} - /is-unicode-supported@0.1.0: - resolution: {integrity: sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==} - engines: {node: '>=10'} - dev: true + is-unicode-supported@0.1.0: {} - /is-weakref@1.0.2: - resolution: {integrity: sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==} + is-weakref@1.0.2: dependencies: call-bind: 1.0.7 - dev: true - /is-windows@1.0.2: - resolution: {integrity: sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==} - engines: {node: '>=0.10.0'} - dev: true + is-windows@1.0.2: {} - /is-wsl@2.2.0: - resolution: {integrity: sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==} - engines: {node: '>=8'} + is-wsl@2.2.0: dependencies: is-docker: 2.2.1 - dev: true - /isarray@1.0.0: - resolution: {integrity: sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==} - dev: true + isarray@1.0.0: {} - /isarray@2.0.5: - resolution: {integrity: sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==} - dev: true + isarray@2.0.5: {} - /isexe@2.0.0: - resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} + isexe@2.0.0: {} - /isobject@3.0.1: - resolution: {integrity: sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==} - engines: {node: '>=0.10.0'} - dev: true + isobject@3.0.1: {} - /isstream@0.1.2: - resolution: {integrity: sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g==} - dev: true + isstream@0.1.2: {} - /istanbul-lib-coverage@3.2.2: - resolution: {integrity: sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==} - engines: {node: '>=8'} - dev: true + istanbul-lib-coverage@3.2.2: {} - /istanbul-lib-hook@3.0.0: - resolution: {integrity: sha512-Pt/uge1Q9s+5VAZ+pCo16TYMWPBIl+oaNIjgLQxcX0itS6ueeaA+pEfThZpH8WxhFgCiEb8sAJY6MdUKgiIWaQ==} - engines: {node: '>=8'} + istanbul-lib-hook@3.0.0: dependencies: append-transform: 2.0.0 - dev: true - /istanbul-lib-instrument@4.0.3: - resolution: {integrity: sha512-BXgQl9kf4WTCPCCpmFGoJkz/+uhvm7h7PFKUYxh7qarQd3ER33vHG//qaE8eN25l07YqZPpHXU9I09l/RD5aGQ==} - engines: {node: '>=8'} + istanbul-lib-instrument@4.0.3: dependencies: '@babel/core': 7.24.7 '@istanbuljs/schema': 0.1.3 @@ -10772,11 +14515,8 @@ packages: semver: 6.3.1 transitivePeerDependencies: - supports-color - dev: true - /istanbul-lib-instrument@5.2.1: - resolution: {integrity: sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==} - engines: {node: '>=8'} + istanbul-lib-instrument@5.2.1: dependencies: '@babel/core': 7.24.7 '@babel/parser': 7.24.7 @@ -10785,11 +14525,8 @@ packages: semver: 6.3.1 transitivePeerDependencies: - supports-color - dev: true - /istanbul-lib-instrument@6.0.2: - resolution: {integrity: sha512-1WUsZ9R1lA0HtBSohTkm39WTPlNKSJ5iFk7UwqXkBLoHQT+hfqPsfsTDVuZdKGaBwn7din9bS7SsnoAr943hvw==} - engines: {node: '>=10'} + istanbul-lib-instrument@6.0.2: dependencies: '@babel/core': 7.24.7 '@babel/parser': 7.24.7 @@ -10798,11 +14535,8 @@ packages: semver: 7.6.2 transitivePeerDependencies: - supports-color - dev: true - /istanbul-lib-processinfo@2.0.3: - resolution: {integrity: sha512-NkwHbo3E00oybX6NGJi6ar0B29vxyvNwoC7eJ4G4Yq28UfY758Hgn/heV8VRFhevPED4LXfFz0DQ8z/0kw9zMg==} - engines: {node: '>=8'} + istanbul-lib-processinfo@2.0.3: dependencies: archy: 1.0.0 cross-spawn: 7.0.3 @@ -10810,86 +14544,59 @@ packages: p-map: 3.0.0 rimraf: 3.0.2 uuid: 8.3.2 - dev: true - /istanbul-lib-report@3.0.1: - resolution: {integrity: sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==} - engines: {node: '>=10'} + istanbul-lib-report@3.0.1: dependencies: istanbul-lib-coverage: 3.2.2 make-dir: 4.0.0 supports-color: 7.2.0 - dev: true - /istanbul-lib-source-maps@4.0.1: - resolution: {integrity: sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==} - engines: {node: '>=10'} + istanbul-lib-source-maps@4.0.1: dependencies: debug: 4.3.5(supports-color@8.1.1) istanbul-lib-coverage: 3.2.2 source-map: 0.6.1 transitivePeerDependencies: - supports-color - dev: true - /istanbul-lib-source-maps@5.0.4: - resolution: {integrity: sha512-wHOoEsNJTVltaJp8eVkm8w+GVkVNHT2YDYo53YdzQEL2gWm1hBX5cGFR9hQJtuGLebidVX7et3+dmDZrmclduw==} - engines: {node: '>=10'} + istanbul-lib-source-maps@5.0.4: dependencies: '@jridgewell/trace-mapping': 0.3.25 debug: 4.3.5(supports-color@8.1.1) istanbul-lib-coverage: 3.2.2 transitivePeerDependencies: - supports-color - dev: true - /istanbul-reports@3.1.7: - resolution: {integrity: sha512-BewmUXImeuRk2YY0PVbxgKAysvhRPUQE0h5QRM++nVWyubKGV0l8qQ5op8+B2DOmwSe63Jivj0BjkPQVf8fP5g==} - engines: {node: '>=8'} + istanbul-reports@3.1.7: dependencies: html-escaper: 2.0.2 istanbul-lib-report: 3.0.1 - dev: true - /iterm2-version@4.2.0: - resolution: {integrity: sha512-IoiNVk4SMPu6uTcK+1nA5QaHNok2BMDLjSl5UomrOixe5g4GkylhPwuiGdw00ysSCrXAKNMfFTu+u/Lk5f6OLQ==} - engines: {node: '>=8'} + iterm2-version@4.2.0: dependencies: app-path: 3.3.0 plist: 3.1.0 - dev: true - /jackspeak@3.4.0: - resolution: {integrity: sha512-JVYhQnN59LVPFCEcVa2C3CrEKYacvjRfqIQl+h8oi91aLYQVWRYbxjPcv1bUiUy/kLmQaANrYfNMCO3kuEDHfw==} - engines: {node: '>=14'} + jackspeak@3.4.0: dependencies: '@isaacs/cliui': 8.0.2 optionalDependencies: '@pkgjs/parseargs': 0.11.0 - /jake@10.9.1: - resolution: {integrity: sha512-61btcOHNnLnsOdtLgA5efqQWjnSi/vow5HbI7HMdKKWqvrKR1bLK3BPlJn9gcSaP2ewuamUSMB5XEy76KUIS2w==} - engines: {node: '>=10'} - hasBin: true + jake@10.9.1: dependencies: async: 3.2.5 chalk: 4.1.2 filelist: 1.0.4 minimatch: 3.1.2 - dev: true - /jest-changed-files@29.7.0: - resolution: {integrity: sha512-fEArFiwf1BpQ+4bXSprcDc3/x4HSzL4al2tozwVpDFpsxALjLYdyiIK4e5Vz66GQJIbXJ82+35PtysofptNX2w==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + jest-changed-files@29.7.0: dependencies: execa: 5.1.1 jest-util: 29.7.0 p-limit: 3.1.0 - dev: true - /jest-circus@29.7.0: - resolution: {integrity: sha512-3E1nCMgipcTkCocFwM90XXQab9bS+GMsjdpmPrlelaxwD93Ad8iVEjX/vvHPdLPnFf+L40u+5+iutRdA1N9myw==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + jest-circus@29.7.0: dependencies: '@jest/environment': 29.7.0 '@jest/expect': 29.7.0 @@ -10914,17 +14621,8 @@ packages: transitivePeerDependencies: - babel-plugin-macros - supports-color - dev: true - /jest-cli@29.7.0(@types/node@20.14.2): - resolution: {integrity: sha512-OVVobw2IubN/GSYsxETi+gOe7Ka59EFMR/twOU3Jb2GnKKeMGJB5SGUUrEz3SFVmJASUdZUzy83sLNNQ2gZslg==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - hasBin: true - peerDependencies: - node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 - peerDependenciesMeta: - node-notifier: - optional: true + jest-cli@29.7.0(@types/node@20.14.2): dependencies: '@jest/core': 29.7.0 '@jest/test-result': 29.7.0 @@ -10942,24 +14640,12 @@ packages: - babel-plugin-macros - supports-color - ts-node - dev: true - /jest-config@29.7.0(@types/node@20.14.2): - resolution: {integrity: sha512-uXbpfeQ7R6TZBqI3/TxCU4q4ttk3u0PJeC+E0zbfSoSjq6bJ7buBPxzQPL0ifrkY4DNu4JUdk0ImlBUYi840eQ==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - peerDependencies: - '@types/node': '*' - ts-node: '>=9.0.0' - peerDependenciesMeta: - '@types/node': - optional: true - ts-node: - optional: true + jest-config@29.7.0(@types/node@20.14.2): dependencies: '@babel/core': 7.24.7 '@jest/test-sequencer': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 20.14.2 babel-jest: 29.7.0(@babel/core@7.24.7) chalk: 4.1.2 ci-info: 3.9.0 @@ -10979,42 +14665,32 @@ packages: pretty-format: 29.7.0 slash: 3.0.0 strip-json-comments: 3.1.1 + optionalDependencies: + '@types/node': 20.14.2 transitivePeerDependencies: - babel-plugin-macros - supports-color - dev: true - /jest-diff@29.7.0: - resolution: {integrity: sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + jest-diff@29.7.0: dependencies: chalk: 4.1.2 diff-sequences: 29.6.3 jest-get-type: 29.6.3 pretty-format: 29.7.0 - dev: true - /jest-docblock@29.7.0: - resolution: {integrity: sha512-q617Auw3A612guyaFgsbFeYpNP5t2aoUNLwBUbc/0kD1R4t9ixDbyFTHd1nok4epoVFpr7PmeWHrhvuV3XaJ4g==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + jest-docblock@29.7.0: dependencies: detect-newline: 3.1.0 - dev: true - /jest-each@29.7.0: - resolution: {integrity: sha512-gns+Er14+ZrEoC5fhOfYCY1LOHHr0TI+rQUHZS8Ttw2l7gl+80eHc/gFf2Ktkw0+SIACDTeWvpFcv3B04VembQ==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + jest-each@29.7.0: dependencies: '@jest/types': 29.6.3 chalk: 4.1.2 jest-get-type: 29.6.3 jest-util: 29.7.0 pretty-format: 29.7.0 - dev: true - /jest-environment-node@29.7.0: - resolution: {integrity: sha512-DOSwCRqXirTOyheM+4d5YZOrWcdu0LNZ87ewUoywbcb2XR4wKgqiG8vNeYwhjFMbEkfju7wx2GYH0P2gevGvFw==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + jest-environment-node@29.7.0: dependencies: '@jest/environment': 29.7.0 '@jest/fake-timers': 29.7.0 @@ -11022,16 +14698,10 @@ packages: '@types/node': 20.14.2 jest-mock: 29.7.0 jest-util: 29.7.0 - dev: true - /jest-get-type@29.6.3: - resolution: {integrity: sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dev: true + jest-get-type@29.6.3: {} - /jest-haste-map@29.7.0: - resolution: {integrity: sha512-fP8u2pyfqx0K1rGn1R9pyE0/KTn+G7PxktWidOBTqFPLYX0b9ksaMFkhK5vrS3DVun09pckLdlx90QthlW7AmA==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + jest-haste-map@29.7.0: dependencies: '@jest/types': 29.6.3 '@types/graceful-fs': 4.1.9 @@ -11046,13 +14716,8 @@ packages: walker: 1.0.8 optionalDependencies: fsevents: 2.3.3 - dev: true - /jest-image-snapshot@4.2.0(jest@29.7.0): - resolution: {integrity: sha512-6aAqv2wtfOgxiJeBayBCqHo1zX+A12SUNNzo7rIxiXh6W6xYVu8QyHWkada8HeRi+QUTHddp0O0Xa6kmQr+xbQ==} - engines: {node: '>= 10.14.2'} - peerDependencies: - jest: '>=20 <=26' + jest-image-snapshot@4.2.0(jest@29.7.0(@types/node@20.14.2)): dependencies: chalk: 1.1.3 get-stdin: 5.0.1 @@ -11064,29 +14729,20 @@ packages: pngjs: 3.4.0 rimraf: 2.7.1 ssim.js: 3.5.0 - dev: true - /jest-leak-detector@29.7.0: - resolution: {integrity: sha512-kYA8IJcSYtST2BY9I+SMC32nDpBT3J2NvWJx8+JCuCdl/CR1I4EKUJROiP8XtCcxqgTTBGJNdbB1A8XRKbTetw==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + jest-leak-detector@29.7.0: dependencies: jest-get-type: 29.6.3 pretty-format: 29.7.0 - dev: true - /jest-matcher-utils@29.7.0: - resolution: {integrity: sha512-sBkD+Xi9DtcChsI3L3u0+N0opgPYnCRPtGcQYrgXmR+hmt/fYfWAL0xRXYU8eWOdfuLgBe0YCW3AFtnRLagq/g==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + jest-matcher-utils@29.7.0: dependencies: chalk: 4.1.2 jest-diff: 29.7.0 jest-get-type: 29.6.3 pretty-format: 29.7.0 - dev: true - /jest-message-util@29.7.0: - resolution: {integrity: sha512-GBEV4GRADeP+qtB2+6u61stea8mGcOT4mCtrYISZwfu9/ISHFJ/5zOMXYbpBE9RsS5+Gb63DW4FgmnKJ79Kf6w==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + jest-message-util@29.7.0: dependencies: '@babel/code-frame': 7.24.7 '@jest/types': 29.6.3 @@ -11097,47 +14753,27 @@ packages: pretty-format: 29.7.0 slash: 3.0.0 stack-utils: 2.0.6 - dev: true - /jest-mock@29.7.0: - resolution: {integrity: sha512-ITOMZn+UkYS4ZFh83xYAOzWStloNzJFO2s8DWrE4lhtGD+AorgnbkiKERe4wQVBydIGPx059g6riW5Btp6Llnw==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + jest-mock@29.7.0: dependencies: '@jest/types': 29.6.3 '@types/node': 20.14.2 jest-util: 29.7.0 - dev: true - /jest-pnp-resolver@1.2.3(jest-resolve@29.7.0): - resolution: {integrity: sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==} - engines: {node: '>=6'} - peerDependencies: - jest-resolve: '*' - peerDependenciesMeta: - jest-resolve: - optional: true - dependencies: + jest-pnp-resolver@1.2.3(jest-resolve@29.7.0): + optionalDependencies: jest-resolve: 29.7.0 - dev: true - /jest-regex-util@29.6.3: - resolution: {integrity: sha512-KJJBsRCyyLNWCNBOvZyRDnAIfUiRJ8v+hOBQYGn8gDyF3UegwiP4gwRR3/SDa42g1YbVycTidUF3rKjyLFDWbg==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dev: true + jest-regex-util@29.6.3: {} - /jest-resolve-dependencies@29.7.0: - resolution: {integrity: sha512-un0zD/6qxJ+S0et7WxeI3H5XSe9lTBBR7bOHCHXkKR6luG5mwDDlIzVQ0V5cZCuoTgEdcdwzTghYkTWfubi+nA==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + jest-resolve-dependencies@29.7.0: dependencies: jest-regex-util: 29.6.3 jest-snapshot: 29.7.0 transitivePeerDependencies: - supports-color - dev: true - /jest-resolve@29.7.0: - resolution: {integrity: sha512-IOVhZSrg+UvVAshDSDtHyFCCBUl/Q3AAJv8iZ6ZjnZ74xzvwuzLXid9IIIPgTnY62SJjfuupMKZsZQRsCvxEgA==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + jest-resolve@29.7.0: dependencies: chalk: 4.1.2 graceful-fs: 4.2.11 @@ -11148,11 +14784,8 @@ packages: resolve: 1.22.8 resolve.exports: 2.0.2 slash: 3.0.0 - dev: true - /jest-runner@29.7.0: - resolution: {integrity: sha512-fsc4N6cPCAahybGBfTRcq5wFR6fpLznMg47sY5aDpsoejOcVYFb07AHuSnR0liMcPTgBsA3ZJL6kFOjPdoNipQ==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + jest-runner@29.7.0: dependencies: '@jest/console': 29.7.0 '@jest/environment': 29.7.0 @@ -11177,11 +14810,8 @@ packages: source-map-support: 0.5.13 transitivePeerDependencies: - supports-color - dev: true - /jest-runtime@29.7.0: - resolution: {integrity: sha512-gUnLjgwdGqW7B4LvOIkbKs9WGbn+QLqRQQ9juC6HndeDiezIwhDP+mhMwHWCEcfQ5RUXa6OPnFF8BJh5xegwwQ==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + jest-runtime@29.7.0: dependencies: '@jest/environment': 29.7.0 '@jest/fake-timers': 29.7.0 @@ -11207,11 +14837,8 @@ packages: strip-bom: 4.0.0 transitivePeerDependencies: - supports-color - dev: true - /jest-snapshot@29.7.0: - resolution: {integrity: sha512-Rm0BMWtxBcioHr1/OX5YCP8Uov4riHvKPknOGs804Zg9JGZgmIBkbtlxJC/7Z4msKYVbIJtfU+tKb8xlYNfdkw==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + jest-snapshot@29.7.0: dependencies: '@babel/core': 7.24.7 '@babel/generator': 7.24.7 @@ -11235,11 +14862,8 @@ packages: semver: 7.6.2 transitivePeerDependencies: - supports-color - dev: true - /jest-util@29.7.0: - resolution: {integrity: sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + jest-util@29.7.0: dependencies: '@jest/types': 29.6.3 '@types/node': 20.14.2 @@ -11247,11 +14871,8 @@ packages: ci-info: 3.9.0 graceful-fs: 4.2.11 picomatch: 2.3.1 - dev: true - /jest-validate@29.7.0: - resolution: {integrity: sha512-ZB7wHqaRGVw/9hST/OuFUReG7M8vKeq0/J2egIGLdvjHCmYqGARhzXmtgi+gVeZ5uXFF219aOc3Ls2yLg27tkw==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + jest-validate@29.7.0: dependencies: '@jest/types': 29.6.3 camelcase: 6.3.0 @@ -11259,11 +14880,8 @@ packages: jest-get-type: 29.6.3 leven: 3.1.0 pretty-format: 29.7.0 - dev: true - /jest-watcher@29.7.0: - resolution: {integrity: sha512-49Fg7WXkU3Vl2h6LbLtMQ/HyB6rXSIX7SqvBLQmssRBGN9I0PNvPmAmCWSOY6SOvrjhI/F7/bGAv9RtnsPA03g==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + jest-watcher@29.7.0: dependencies: '@jest/test-result': 29.7.0 '@jest/types': 29.6.3 @@ -11273,36 +14891,21 @@ packages: emittery: 0.13.1 jest-util: 29.7.0 string-length: 4.0.2 - dev: true - /jest-worker@27.5.1: - resolution: {integrity: sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==} - engines: {node: '>= 10.13.0'} + jest-worker@27.5.1: dependencies: '@types/node': 20.14.2 merge-stream: 2.0.0 supports-color: 8.1.1 - dev: true - /jest-worker@29.7.0: - resolution: {integrity: sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + jest-worker@29.7.0: dependencies: '@types/node': 20.14.2 jest-util: 29.7.0 merge-stream: 2.0.0 supports-color: 8.1.1 - dev: true - /jest@29.7.0(@types/node@20.14.2): - resolution: {integrity: sha512-NIy3oAFp9shda19hy4HK0HRTWKtPJmGdnvywu01nOqNC2vZg+Z+fvJDxpMQA88eb2I9EcafcdjYgsDthnYTvGw==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - hasBin: true - peerDependencies: - node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 - peerDependenciesMeta: - node-notifier: - optional: true + jest@29.7.0(@types/node@20.14.2): dependencies: '@jest/core': 29.7.0 '@jest/types': 29.6.3 @@ -11313,21 +14916,13 @@ packages: - babel-plugin-macros - supports-color - ts-node - dev: true - /jison-lex@0.3.4: - resolution: {integrity: sha512-EBh5wrXhls1cUwROd5DcDHR1sG7CdsCFSqY1027+YA1RGxz+BX2TDLAhdsQf40YEtFDGoiO0Qm8PpnBl2EzDJw==} - engines: {node: '>=0.4'} - hasBin: true + jison-lex@0.3.4: dependencies: lex-parser: 0.1.4 nomnom: 1.5.2 - dev: true - /jison@0.4.18: - resolution: {integrity: sha512-FKkCiJvozgC7VTHhMJ00a0/IApSxhlGsFIshLW6trWJ8ONX2TQJBBz6DlcO1Gffy4w9LT+uL+PA+CVnUSJMF7w==} - engines: {node: '>=0.4'} - hasBin: true + jison@0.4.18: dependencies: JSONSelect: 0.4.0 cjson: 0.3.0 @@ -11337,74 +14932,41 @@ packages: jison-lex: 0.3.4 lex-parser: 0.1.4 nomnom: 1.5.2 - dev: true - /jiti@1.21.6: - resolution: {integrity: sha512-2yTgeWTWzMWkHu6Jp9NKgePDaYHbntiwvYuuJLbbN9vl7DC9DvXKOB2BC3ZZ92D3cvV/aflH0osDfwpHepQ53w==} - hasBin: true + jiti@1.21.6: {} - /jju@1.4.0: - resolution: {integrity: sha512-8wb9Yw966OSxApiCt0K3yNJL8pnNeIv+OEq2YMidz4FKP6nonSRoOXc80iXY4JaN2FC11B9qsNmDsm+ZOfMROA==} - dev: true + jju@1.4.0: {} - /joi@17.13.1: - resolution: {integrity: sha512-vaBlIKCyo4FCUtCm7Eu4QZd/q02bWcxfUO6YSXAZOWF6gzcLBeba8kwotUdYJjDLW8Cz8RywsSOqiNJZW0mNvg==} + joi@17.13.1: dependencies: '@hapi/hoek': 9.3.0 '@hapi/topo': 5.1.0 '@sideway/address': 4.1.5 '@sideway/formula': 3.0.1 '@sideway/pinpoint': 2.0.0 - dev: true - /jpeg-js@0.4.4: - resolution: {integrity: sha512-WZzeDOEtTOBK4Mdsar0IqEU5sMr3vSV2RqkAIzUEV2BHnUfKGyswWFPFwK5EeDo93K3FohSHbLAjj0s1Wzd+dg==} - dev: true + jpeg-js@0.4.4: {} - /js-base64@3.7.7: - resolution: {integrity: sha512-7rCnleh0z2CkXhH67J8K1Ytz0b2Y+yxTPL+/KOJoa20hfnVQ/3/T6W/KflYI4bRHRagNeXeU2bkNGI3v1oS/lw==} - dev: true + js-base64@3.7.7: {} - /js-tokens@4.0.0: - resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} - dev: true + js-tokens@4.0.0: {} - /js-tokens@9.0.0: - resolution: {integrity: sha512-WriZw1luRMlmV3LGJaR6QOJjWwgLUTf89OwT2lUOyjX2dJGBwgmIkbcz+7WFZjrZM635JOIR517++e/67CP9dQ==} - dev: true + js-tokens@9.0.0: {} - /js-yaml@3.14.1: - resolution: {integrity: sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==} - hasBin: true + js-yaml@3.14.1: dependencies: argparse: 1.0.10 esprima: 4.0.1 - dev: true - /js-yaml@4.1.0: - resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} - hasBin: true + js-yaml@4.1.0: dependencies: argparse: 2.0.1 - dev: true - - /jsbn@0.1.1: - resolution: {integrity: sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg==} - dev: true - - /jsdoc-type-pratt-parser@4.0.0: - resolution: {integrity: sha512-YtOli5Cmzy3q4dP26GraSOeAhqecewG04hoO8DY56CH4KJ9Fvv5qKWUCCo3HZob7esJQHCv6/+bnTy72xZZaVQ==} - engines: {node: '>=12.0.0'} - dev: true - - /jsdom@24.1.0: - resolution: {integrity: sha512-6gpM7pRXCwIOKxX47cgOyvyQDN/Eh0f1MeKySBV2xGdKtqJBLj8P25eY3EVCWo2mglDDzozR2r2MW4T+JiNUZA==} - engines: {node: '>=18'} - peerDependencies: - canvas: ^2.11.2 - peerDependenciesMeta: - canvas: - optional: true + + jsbn@0.1.1: {} + + jsdoc-type-pratt-parser@4.0.0: {} + + jsdom@24.1.0: dependencies: cssstyle: 4.0.1 data-urls: 5.0.0 @@ -11431,37 +14993,18 @@ packages: - bufferutil - supports-color - utf-8-validate - dev: true - /jsesc@0.5.0: - resolution: {integrity: sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==} - hasBin: true - dev: true + jsesc@0.5.0: {} - /jsesc@2.5.2: - resolution: {integrity: sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==} - engines: {node: '>=4'} - hasBin: true - dev: true + jsesc@2.5.2: {} - /jsesc@3.0.2: - resolution: {integrity: sha512-xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g==} - engines: {node: '>=6'} - hasBin: true - dev: true + jsesc@3.0.2: {} - /json-buffer@3.0.1: - resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==} - dev: true + json-buffer@3.0.1: {} - /json-parse-even-better-errors@2.3.1: - resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==} - dev: true + json-parse-even-better-errors@2.3.1: {} - /json-schema-to-typescript@13.1.2: - resolution: {integrity: sha512-17G+mjx4nunvOpkPvcz7fdwUwYCEwyH8vR3Ym3rFiQ8uzAL3go+c1306Kk7iGRk8HuXBXqy+JJJmpYl0cvOllw==} - engines: {node: '>=12.0.0'} - hasBin: true + json-schema-to-typescript@13.1.2: dependencies: '@bcherny/json-schema-ref-parser': 10.0.5-fork '@types/json-schema': 7.0.15 @@ -11477,125 +15020,68 @@ packages: mkdirp: 1.0.4 mz: 2.7.0 prettier: 2.8.8 - dev: true - /json-schema-traverse@0.4.1: - resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} - dev: true + json-schema-traverse@0.4.1: {} - /json-schema-traverse@1.0.0: - resolution: {integrity: sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==} - dev: true + json-schema-traverse@1.0.0: {} - /json-schema@0.4.0: - resolution: {integrity: sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==} - dev: true + json-schema@0.4.0: {} - /json-stable-stringify-without-jsonify@1.0.1: - resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==} - dev: true + json-stable-stringify-without-jsonify@1.0.1: {} - /json-stringify-safe@5.0.1: - resolution: {integrity: sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==} - dev: true + json-stringify-safe@5.0.1: {} - /json5@2.2.3: - resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==} - engines: {node: '>=6'} - hasBin: true - dev: true + json5@2.2.3: {} - /jsonc-parser@3.2.1: - resolution: {integrity: sha512-AilxAyFOAcK5wA1+LeaySVBrHsGQvUFCDWXKpZjzaL0PqW+xfBOttn8GNtWKFWqneyMZj41MWF9Kl6iPWLwgOA==} - dev: true + jsonc-parser@3.2.1: {} - /jsonfile@4.0.0: - resolution: {integrity: sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==} + jsonfile@4.0.0: optionalDependencies: graceful-fs: 4.2.11 - dev: true - /jsonfile@6.1.0: - resolution: {integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==} + jsonfile@6.1.0: dependencies: universalify: 2.0.1 optionalDependencies: graceful-fs: 4.2.11 - dev: true - /jsonlint@1.6.0: - resolution: {integrity: sha512-x6YLBe6NjdpmIeiklwQOxsZuYj/SOWkT33GlTpaG1UdFGjdWjPcxJ1CWZAX3wA7tarz8E2YHF6KiW5HTapPlXw==} - engines: {node: '>= 0.6'} - hasBin: true + jsonlint@1.6.0: dependencies: JSV: 4.0.2 nomnom: 1.5.2 - dev: true - /jsonpointer@5.0.1: - resolution: {integrity: sha512-p/nXbhSEcu3pZRdkW1OfJhpsVtW1gd4Wa1fnQc9YLiTfAjn0312eMKimbdIQzuZl9aa9xUGaRlP9T/CJE/ditQ==} - engines: {node: '>=0.10.0'} - dev: true + jsonpointer@5.0.1: {} - /jsonschema@1.4.1: - resolution: {integrity: sha512-S6cATIPVv1z0IlxdN+zUk5EPjkGCdnhN4wVSBlvoUO1tOLJootbo9CquNJmbIh4yikWHiUedhRYrNPn1arpEmQ==} - dev: true + jsonschema@1.4.1: {} - /jsprim@2.0.2: - resolution: {integrity: sha512-gqXddjPqQ6G40VdnI6T6yObEC+pDNvyP95wdQhkWkg7crHH3km5qP1FsOXEkzEQwnz6gz5qGTn1c2Y52wP3OyQ==} - engines: {'0': node >=0.6.0} + jsprim@2.0.2: dependencies: assert-plus: 1.0.0 extsprintf: 1.3.0 json-schema: 0.4.0 verror: 1.10.0 - dev: true - /junk@4.0.1: - resolution: {integrity: sha512-Qush0uP+G8ZScpGMZvHUiRfI0YBWuB3gVBYlI0v0vvOJt5FLicco+IkP0a50LqTTQhmts/m6tP5SWE+USyIvcQ==} - engines: {node: '>=12.20'} - dev: true + junk@4.0.1: {} - /katex@0.16.10: - resolution: {integrity: sha512-ZiqaC04tp2O5utMsl2TEZTXxa6WSC4yo0fv5ML++D3QZv/vx2Mct0mTlRx3O+uUkjfuAgOkzsCmq5MiUEsDDdA==} - hasBin: true + katex@0.16.10: dependencies: commander: 8.3.0 - dev: false - /keyv@4.5.4: - resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==} + keyv@4.5.4: dependencies: json-buffer: 3.0.1 - dev: true - /khroma@2.1.0: - resolution: {integrity: sha512-Ls993zuzfayK269Svk9hzpeGUKob/sIgZzyHYdjQoAdQetRKpOLj+k/QQQ/6Qi0Yz65mlROrfd+Ev+1+7dz9Kw==} - dev: false + khroma@2.1.0: {} - /kind-of@6.0.3: - resolution: {integrity: sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==} - engines: {node: '>=0.10.0'} - dev: true + kind-of@6.0.3: {} - /kleur@3.0.3: - resolution: {integrity: sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==} - engines: {node: '>=6'} - dev: true + kleur@3.0.3: {} - /kolorist@1.8.0: - resolution: {integrity: sha512-Y+60/zizpJ3HRH8DCss+q95yr6145JXZo46OTpFvDZWLfRCE4qChOyk1b26nMaNpfHHgxagk9dXT5OP0Tfe+dQ==} - dev: true + kolorist@1.8.0: {} - /ky@0.30.0: - resolution: {integrity: sha512-X/u76z4JtDVq10u1JA5UQfatPxgPaVDMYTrgHyiTpGN2z4TMEJkIHsoSBBSg9SWZEIXTKsi9kHgiQ9o3Y/4yog==} - engines: {node: '>=12'} - dev: true + ky@0.30.0: {} - /langium-cli@3.0.3: - resolution: {integrity: sha512-g6PdhEq5IiYWK/oiySILglPvFdK6ofQdzC+U7PJmFH++bDKu0DGdxjWzDauUN5WUDyVQETWKgtYDmmbcxPzN0w==} - engines: {node: '>=16.0.0'} - hasBin: true + langium-cli@3.0.3: dependencies: chalk: 5.3.0 commander: 11.0.0 @@ -11604,18 +15090,13 @@ packages: langium: 3.0.0 langium-railroad: 3.0.0 lodash: 4.17.21 - dev: true - /langium-railroad@3.0.0: - resolution: {integrity: sha512-GQOnQBGl5gJqzgK/4bKvJO5QhJGNnprpYH6Fghbl4FviVLHwP6yzyqiouDelLSoCadChCr2JqKaBp5HXv7CgWw==} + langium-railroad@3.0.0: dependencies: langium: 3.0.0 railroad-diagrams: 1.0.0 - dev: true - /langium@3.0.0: - resolution: {integrity: sha512-+Ez9EoiByeoTu/2BXmEaZ06iPNXM6thWJp02KfBO/raSMyCJ4jw7AkWWa+zBCTm0+Tw1Fj9FOxdqSskyN5nAwg==} - engines: {node: '>=16.0.0'} + langium@3.0.0: dependencies: chevrotain: 11.0.3 chevrotain-allstar: 0.3.1(chevrotain@11.0.3) @@ -11623,70 +15104,42 @@ packages: vscode-languageserver-textdocument: 1.0.11 vscode-uri: 3.0.8 - /launch-editor@2.6.1: - resolution: {integrity: sha512-eB/uXmFVpY4zezmGp5XtU21kwo7GBbKB+EQ+UZeWtGb9yAM5xt/Evk+lYH3eRNAtId+ej4u7TYPFZ07w4s7rRw==} + launch-editor@2.6.1: dependencies: picocolors: 1.0.1 shell-quote: 1.8.1 - dev: true - /layout-base@1.0.2: - resolution: {integrity: sha512-8h2oVEZNktL4BH2JCOI90iD1yXwL6iNW7KcCKT2QZgQJR2vbqDsldCTPRU9NifTCqHZci57XvQQ15YTu+sTYPg==} - dev: false + layout-base@1.0.2: {} - /lazy-ass@1.6.0: - resolution: {integrity: sha512-cc8oEVoctTvsFZ/Oje/kGnHbpWHYBe8IAJe4C0QNc3t8uM/0Y8+erSz/7Y1ALuXTEZTMvxXwO6YbX1ey3ujiZw==} - engines: {node: '> 0.8'} - dev: true + lazy-ass@1.6.0: {} - /leven@3.1.0: - resolution: {integrity: sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==} - engines: {node: '>=6'} - dev: true + leven@3.1.0: {} - /levn@0.4.1: - resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} - engines: {node: '>= 0.8.0'} + levn@0.4.1: dependencies: prelude-ls: 1.2.1 type-check: 0.4.0 - dev: true - /lex-parser@0.1.4: - resolution: {integrity: sha512-DuAEISsr1H4LOpmFLkyMc8YStiRWZCO8hMsoXAXSbgyfvs2WQhSt0+/FBv3ZU/JBFZMGcE+FWzEBSzwUU7U27w==} - dev: true + lex-parser@0.1.4: {} - /light-my-request@4.12.0: - resolution: {integrity: sha512-0y+9VIfJEsPVzK5ArSIJ8Dkxp8QMP7/aCuxCUtG/tr9a2NoOf/snATE/OUc05XUplJCEnRh6gTkH7xh9POt1DQ==} + light-my-request@4.12.0: dependencies: ajv: 8.16.0 cookie: 0.5.0 process-warning: 1.0.0 set-cookie-parser: 2.6.0 - dev: true - /lilconfig@2.1.0: - resolution: {integrity: sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==} - engines: {node: '>=10'} - dev: false + lilconfig@2.1.0: {} - /lilconfig@3.1.2: - resolution: {integrity: sha512-eop+wDAvpItUys0FWkHIKeC9ybYrTGbU41U5K7+bttZZeohvnY7M9dZ5kB21GNWiFT2q1OoPTvncPCgSOVO5ow==} - engines: {node: '>=14'} + lilconfig@3.1.2: {} - /lines-and-columns@1.2.4: - resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} + lines-and-columns@1.2.4: {} - /linkify-it@4.0.1: - resolution: {integrity: sha512-C7bfi1UZmoj8+PQx22XyeXCuBlokoyWQL5pWSP+EI6nzRylyThouddufc2c1NDIcP9k5agmN9fLpA7VNJfIiqw==} + linkify-it@4.0.1: dependencies: uc.micro: 1.0.6 - dev: true - /lint-staged@15.2.7: - resolution: {integrity: sha512-+FdVbbCZ+yoh7E/RosSdqKJyUM2OEjTciH0TFNkawKgvFp1zbGlEC39RADg+xKBG1R4mhoH2j85myBQZ5wR+lw==} - engines: {node: '>=18.12.0'} - hasBin: true + lint-staged@15.2.7: dependencies: chalk: 5.3.0 commander: 12.1.0 @@ -11700,31 +15153,21 @@ packages: yaml: 2.4.5 transitivePeerDependencies: - supports-color - dev: true - /listr2@3.14.0(enquirer@2.4.1): - resolution: {integrity: sha512-TyWI8G99GX9GjE54cJ+RrNMcIFBfwMPxc3XTFiAYGN4s10hWROGtOg7+O6u6LE3mNkyld7RSLE6nrKBvTfcs3g==} - engines: {node: '>=10.0.0'} - peerDependencies: - enquirer: '>= 2.3.0 < 3' - peerDependenciesMeta: - enquirer: - optional: true + listr2@3.14.0(enquirer@2.4.1): dependencies: cli-truncate: 2.1.0 colorette: 2.0.20 - enquirer: 2.4.1 log-update: 4.0.0 p-map: 4.0.0 rfdc: 1.4.1 rxjs: 7.8.1 through: 2.3.8 wrap-ansi: 7.0.0 - dev: true + optionalDependencies: + enquirer: 2.4.1 - /listr2@8.2.1: - resolution: {integrity: sha512-irTfvpib/rNiD637xeevjO2l3Z5loZmuaRi0L0YE5LfijwVY96oyVn0DFD3o/teAok7nfobMG1THvvcHh/BP6g==} - engines: {node: '>=18.0.0'} + listr2@8.2.1: dependencies: cli-truncate: 4.0.0 colorette: 2.0.20 @@ -11732,249 +15175,151 @@ packages: log-update: 6.0.0 rfdc: 1.4.1 wrap-ansi: 9.0.0 - dev: true - /loader-runner@4.3.0: - resolution: {integrity: sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==} - engines: {node: '>=6.11.5'} - dev: true + loader-runner@4.3.0: {} - /local-pkg@0.4.3: - resolution: {integrity: sha512-SFppqq5p42fe2qcZQqqEOiVRXl+WCP1MdT6k7BDEW1j++sp5fIY+/fdRQitvKgB5BrBcmrs5m/L0v2FrU5MY1g==} - engines: {node: '>=14'} - dev: true + local-pkg@0.4.3: {} - /local-pkg@0.5.0: - resolution: {integrity: sha512-ok6z3qlYyCDS4ZEU27HaU6x/xZa9Whf8jD4ptH5UZTQYZVYeb9bnZ3ojVhiJNLiXK1Hfc0GNbLXcmZ5plLDDBg==} - engines: {node: '>=14'} + local-pkg@0.5.0: dependencies: mlly: 1.7.1 pkg-types: 1.1.1 - dev: true - /locate-path@3.0.0: - resolution: {integrity: sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==} - engines: {node: '>=6'} + locate-path@3.0.0: dependencies: p-locate: 3.0.0 path-exists: 3.0.0 - dev: true - /locate-path@5.0.0: - resolution: {integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==} - engines: {node: '>=8'} + locate-path@5.0.0: dependencies: p-locate: 4.1.0 - dev: true - /locate-path@6.0.0: - resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} - engines: {node: '>=10'} + locate-path@6.0.0: dependencies: p-locate: 5.0.0 - dev: true - /locate-path@7.2.0: - resolution: {integrity: sha512-gvVijfZvn7R+2qyPX8mAuKcFGDf6Nc61GdvGafQsHL0sBIxfKzA+usWn4GFC/bk+QdwPUD4kWFJLhElipq+0VA==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + locate-path@7.2.0: dependencies: p-locate: 6.0.0 - dev: true - /lodash-es@4.17.21: - resolution: {integrity: sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==} + lodash-es@4.17.21: {} - /lodash.debounce@4.0.8: - resolution: {integrity: sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==} - dev: true + lodash.debounce@4.0.8: {} - /lodash.flattendeep@4.4.0: - resolution: {integrity: sha512-uHaJFihxmJcEX3kT4I23ABqKKalJ/zDrDg0lsFtc1h+3uw49SIJ5beyhx5ExVRti3AvKoOJngIj7xz3oylPdWQ==} - dev: true + lodash.flattendeep@4.4.0: {} - /lodash.isplainobject@4.0.6: - resolution: {integrity: sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==} - dev: true + lodash.isplainobject@4.0.6: {} - /lodash.merge@4.6.2: - resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} - dev: true + lodash.merge@4.6.2: {} - /lodash.once@4.1.1: - resolution: {integrity: sha512-Sb487aTOCr9drQVL8pIxOzVhafOjZN9UU54hiN8PU3uAiSV7lx1yYNpbNmex2PK6dSJoNTSJUUswT651yww3Mg==} - dev: true + lodash.once@4.1.1: {} - /lodash.sortby@4.7.0: - resolution: {integrity: sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA==} - dev: true + lodash.sortby@4.7.0: {} - /lodash@4.17.21: - resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} + lodash@4.17.21: {} - /log-symbols@4.1.0: - resolution: {integrity: sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==} - engines: {node: '>=10'} + log-symbols@4.1.0: dependencies: chalk: 4.1.2 is-unicode-supported: 0.1.0 - dev: true - /log-update@4.0.0: - resolution: {integrity: sha512-9fkkDevMefjg0mmzWFBW8YkFP91OrizzkW3diF7CpG+S2EYdy4+TVfGwz1zeF8x7hCx1ovSPTOE9Ngib74qqUg==} - engines: {node: '>=10'} + log-update@4.0.0: dependencies: ansi-escapes: 4.3.2 cli-cursor: 3.1.0 slice-ansi: 4.0.0 wrap-ansi: 6.2.0 - dev: true - /log-update@6.0.0: - resolution: {integrity: sha512-niTvB4gqvtof056rRIrTZvjNYE4rCUzO6X/X+kYjd7WFxXeJ0NwEFnRxX6ehkvv3jTwrXnNdtAak5XYZuIyPFw==} - engines: {node: '>=18'} + log-update@6.0.0: dependencies: ansi-escapes: 6.2.1 cli-cursor: 4.0.0 slice-ansi: 7.1.0 strip-ansi: 7.1.0 wrap-ansi: 9.0.0 - dev: true - /loglevel-plugin-prefix@0.8.4: - resolution: {integrity: sha512-WpG9CcFAOjz/FtNht+QJeGpvVl/cdR6P0z6OcXSkr8wFJOsV2GRj2j10JLfjuA4aYkcKCNIEqRGCyTife9R8/g==} - dev: true + loglevel-plugin-prefix@0.8.4: {} - /loglevel@1.9.1: - resolution: {integrity: sha512-hP3I3kCrDIMuRwAwHltphhDM1r8i55H33GgqjXbrisuJhF4kRhW1dNuxsRklp4bXl8DSdLaNLuiL4A/LWRfxvg==} - engines: {node: '>= 0.6.0'} - dev: true + loglevel@1.9.1: {} - /longest-streak@3.1.0: - resolution: {integrity: sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g==} - dev: true + longest-streak@3.1.0: {} - /loupe@2.3.7: - resolution: {integrity: sha512-zSMINGVYkdpYSOBmLi0D1Uo7JU9nVdQKrHxC8eYlV+9YKK9WePqAlL7lSlorG/U2Fw1w0hTBmaa/jrQ3UbPHtA==} + loupe@2.3.7: dependencies: get-func-name: 2.0.2 - dev: true - /lowercase-keys@2.0.0: - resolution: {integrity: sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==} - engines: {node: '>=8'} - dev: true + lowercase-keys@2.0.0: {} - /lru-cache@10.2.2: - resolution: {integrity: sha512-9hp3Vp2/hFQUiIwKo8XCeFVnrg8Pk3TYNPIR7tJADKi5YfcF7vEaK7avFHTlSy3kOKYaJQaalfEo6YuXdceBOQ==} - engines: {node: 14 || >=16.14} + lru-cache@10.2.2: {} - /lru-cache@5.1.1: - resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==} + lru-cache@5.1.1: dependencies: yallist: 3.1.1 - dev: true - /lru-cache@6.0.0: - resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==} - engines: {node: '>=10'} + lru-cache@6.0.0: dependencies: yallist: 4.0.0 - dev: true - /lru-queue@0.1.0: - resolution: {integrity: sha512-BpdYkt9EvGl8OfWHDQPISVpcl5xZthb+XPsbELj5AQXxIC8IriDZIQYjBJPEm5rS420sjZ0TLEzRcq5KdBhYrQ==} + lru-queue@0.1.0: dependencies: es5-ext: 0.10.64 - dev: true - /lunr@2.3.9: - resolution: {integrity: sha512-zTU3DaZaF3Rt9rhN3uBMGQD3dD2/vFQqnvZCDv4dl5iOzq2IZQqTxu90r4E5J+nP70J3ilqVCrbho2eWaeW8Ow==} - dev: true + lunr@2.3.9: {} - /magic-string@0.25.9: - resolution: {integrity: sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==} + magic-string@0.25.9: dependencies: sourcemap-codec: 1.4.8 - dev: true - /magic-string@0.30.10: - resolution: {integrity: sha512-iIRwTIf0QKV3UAnYK4PU8uiEc4SRh5jX0mwpIwETPpHdhVM4f53RSwS/vXvN1JhGX+Cs7B8qIq3d6AH49O5fAQ==} + magic-string@0.30.10: dependencies: '@jridgewell/sourcemap-codec': 1.4.15 - /magicast@0.3.4: - resolution: {integrity: sha512-TyDF/Pn36bBji9rWKHlZe+PZb6Mx5V8IHCSxk7X4aljM4e/vyDvZZYwHewdVaqiA0nb3ghfHU/6AUpDxWoER2Q==} + magicast@0.3.4: dependencies: '@babel/parser': 7.24.7 '@babel/types': 7.24.7 source-map-js: 1.2.0 - dev: true - /make-dir@3.1.0: - resolution: {integrity: sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==} - engines: {node: '>=8'} + make-dir@3.1.0: dependencies: semver: 6.3.1 - dev: true - /make-dir@4.0.0: - resolution: {integrity: sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==} - engines: {node: '>=10'} + make-dir@4.0.0: dependencies: semver: 7.6.2 - dev: true - /makeerror@1.0.12: - resolution: {integrity: sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==} + makeerror@1.0.12: dependencies: tmpl: 1.0.5 - dev: true - /map-stream@0.1.0: - resolution: {integrity: sha512-CkYQrPYZfWnu/DAmVCpTSX/xHpKZ80eKh2lAkyA6AJTef6bW+6JpbQZN5rofum7da+SyN1bi5ctTm+lTfcCW3g==} - dev: true + map-stream@0.1.0: {} - /mark.js@8.11.1: - resolution: {integrity: sha512-1I+1qpDt4idfgLQG+BNWmrqku+7/2bi5nLf4YwF8y8zXvmfiTBY3PV3ZibfrjBueCByROpuBjLLFCajqkgYoLQ==} - dev: true + mark.js@8.11.1: {} - /markdown-it@13.0.2: - resolution: {integrity: sha512-FtwnEuuK+2yVU7goGn/MJ0WBZMM9ZPgU9spqlFs7/A/pDIUNSOQZhUgOqYCficIuR2QaFnrt8LHqBWsbTAoI5w==} - hasBin: true + markdown-it@13.0.2: dependencies: argparse: 2.0.1 entities: 3.0.1 linkify-it: 4.0.1 mdurl: 1.0.1 uc.micro: 1.0.6 - dev: true - /markdown-table@3.0.3: - resolution: {integrity: sha512-Z1NL3Tb1M9wH4XESsCDEksWoKTdlUafKc4pt0GRwjUyXaCFZ+dc3g2erqB6zm3szA2IUSi7VnPI+o/9jnxh9hw==} - dev: true + markdown-table@3.0.3: {} - /marked@4.3.0: - resolution: {integrity: sha512-PRsaiG84bK+AMvxziE/lCFss8juXjNaWzVbN5tXAm4XjeaS9NAHhop+PjQxz2A9h8Q4M/xGmzP8vqNwy6JeK0A==} - engines: {node: '>= 12'} - hasBin: true + marked@4.3.0: {} - /mdast-builder@1.1.1: - resolution: {integrity: sha512-a3KBk/LmYD6wKsWi8WJrGU/rXR4yuF4Men0JO0z6dSZCm5FrXXWTRDjqK0vGSqa+1M6p9edeuypZAZAzSehTUw==} + mdast-builder@1.1.1: dependencies: '@types/unist': 2.0.10 - dev: true - /mdast-util-find-and-replace@3.0.1: - resolution: {integrity: sha512-SG21kZHGC3XRTSUhtofZkBzZTJNM5ecCi0SK2IMKmSXR8vO3peL+kb1O0z7Zl83jKtutG4k5Wv/W7V3/YHvzPA==} + mdast-util-find-and-replace@3.0.1: dependencies: '@types/mdast': 4.0.4 escape-string-regexp: 5.0.0 unist-util-is: 6.0.0 unist-util-visit-parents: 6.0.1 - dev: true - /mdast-util-from-markdown@0.8.5: - resolution: {integrity: sha512-2hkTXtYYnr+NubD/g6KGBS/0mFmBcifAsI0yIWRiRo0PjVs6SSOSOdtzbp6kSGnShDN6G5aWZpKQ2lWRy27mWQ==} + mdast-util-from-markdown@0.8.5: dependencies: '@types/mdast': 3.0.15 mdast-util-to-string: 2.0.0 @@ -11983,10 +15328,8 @@ packages: unist-util-stringify-position: 2.0.3 transitivePeerDependencies: - supports-color - dev: true - /mdast-util-from-markdown@2.0.1: - resolution: {integrity: sha512-aJEUyzZ6TzlsX2s5B4Of7lN7EQtAxvtradMMglCQDyaTFgse6CmtmdJ15ElnVRlCg1vpNyVtbem0PWzlNieZsA==} + mdast-util-from-markdown@2.0.1: dependencies: '@types/mdast': 4.0.4 '@types/unist': 3.0.2 @@ -12003,8 +15346,7 @@ packages: transitivePeerDependencies: - supports-color - /mdast-util-frontmatter@2.0.1: - resolution: {integrity: sha512-LRqI9+wdgC25P0URIJY9vwocIzCcksduHQ9OF2joxQoyTNVduwLAFUzjoopuRJbJAReaKrNQKAZKL3uCMugWJA==} + mdast-util-frontmatter@2.0.1: dependencies: '@types/mdast': 4.0.4 devlop: 1.1.0 @@ -12014,20 +15356,16 @@ packages: micromark-extension-frontmatter: 2.0.0 transitivePeerDependencies: - supports-color - dev: true - /mdast-util-gfm-autolink-literal@2.0.0: - resolution: {integrity: sha512-FyzMsduZZHSc3i0Px3PQcBT4WJY/X/RCtEJKuybiC6sjPqLv7h1yqAkmILZtuxMSsUyaLUWNp71+vQH2zqp5cg==} + mdast-util-gfm-autolink-literal@2.0.0: dependencies: '@types/mdast': 4.0.4 ccount: 2.0.1 devlop: 1.1.0 mdast-util-find-and-replace: 3.0.1 micromark-util-character: 2.1.0 - dev: true - /mdast-util-gfm-footnote@2.0.0: - resolution: {integrity: sha512-5jOT2boTSVkMnQ7LTrd6n/18kqwjmuYqo7JUPe+tRCY6O7dAuTFMtTPauYYrMPpox9hlN0uOx/FL8XvEfG9/mQ==} + mdast-util-gfm-footnote@2.0.0: dependencies: '@types/mdast': 4.0.4 devlop: 1.1.0 @@ -12036,20 +15374,16 @@ packages: micromark-util-normalize-identifier: 2.0.0 transitivePeerDependencies: - supports-color - dev: true - /mdast-util-gfm-strikethrough@2.0.0: - resolution: {integrity: sha512-mKKb915TF+OC5ptj5bJ7WFRPdYtuHv0yTRxK2tJvi+BDqbkiG7h7u/9SI89nRAYcmap2xHQL9D+QG/6wSrTtXg==} + mdast-util-gfm-strikethrough@2.0.0: dependencies: '@types/mdast': 4.0.4 mdast-util-from-markdown: 2.0.1 mdast-util-to-markdown: 2.1.0 transitivePeerDependencies: - supports-color - dev: true - /mdast-util-gfm-table@2.0.0: - resolution: {integrity: sha512-78UEvebzz/rJIxLvE7ZtDd/vIQ0RHv+3Mh5DR96p7cS7HsBhYIICDBCu8csTNWNO6tBWfqXPWekRuj2FNOGOZg==} + mdast-util-gfm-table@2.0.0: dependencies: '@types/mdast': 4.0.4 devlop: 1.1.0 @@ -12058,10 +15392,8 @@ packages: mdast-util-to-markdown: 2.1.0 transitivePeerDependencies: - supports-color - dev: true - /mdast-util-gfm-task-list-item@2.0.0: - resolution: {integrity: sha512-IrtvNvjxC1o06taBAVJznEnkiHxLFTzgonUdy8hzFVeDun0uTjxxrRGVaNFqkU1wJR3RBPEfsxmU6jDWPofrTQ==} + mdast-util-gfm-task-list-item@2.0.0: dependencies: '@types/mdast': 4.0.4 devlop: 1.1.0 @@ -12069,10 +15401,8 @@ packages: mdast-util-to-markdown: 2.1.0 transitivePeerDependencies: - supports-color - dev: true - /mdast-util-gfm@3.0.0: - resolution: {integrity: sha512-dgQEX5Amaq+DuUqf26jJqSK9qgixgd6rYDHAv4aTBuA92cTknZlKpPfa86Z/s8Dj8xsAQpFfBmPUHWJBWqS4Bw==} + mdast-util-gfm@3.0.0: dependencies: mdast-util-from-markdown: 2.0.1 mdast-util-gfm-autolink-literal: 2.0.0 @@ -12083,17 +15413,13 @@ packages: mdast-util-to-markdown: 2.1.0 transitivePeerDependencies: - supports-color - dev: true - /mdast-util-phrasing@4.1.0: - resolution: {integrity: sha512-TqICwyvJJpBwvGAMZjj4J2n0X8QWp21b9l0o7eXyVJ25YNWYbJDVIyD1bZXE6WtV6RmKJVYmQAKWa0zWOABz2w==} + mdast-util-phrasing@4.1.0: dependencies: '@types/mdast': 4.0.4 unist-util-is: 6.0.0 - dev: true - /mdast-util-to-markdown@2.1.0: - resolution: {integrity: sha512-SR2VnIEdVNCJbP6y7kVTJgPLifdr8WEU440fQec7qHoHOUz/oJ2jmNRqdDQ3rbiStOXb2mCDGTuwsK5OPUgYlQ==} + mdast-util-to-markdown@2.1.0: dependencies: '@types/mdast': 4.0.4 '@types/unist': 3.0.2 @@ -12103,44 +15429,26 @@ packages: micromark-util-decode-string: 2.0.0 unist-util-visit: 5.0.0 zwitch: 2.0.4 - dev: true - /mdast-util-to-string@2.0.0: - resolution: {integrity: sha512-AW4DRS3QbBayY/jJmD8437V1Gombjf8RSOUCMFBuo5iHi58AGEgVCKQ+ezHkZZDpAQS75hcBMpLqjpJTjtUL7w==} - dev: true + mdast-util-to-string@2.0.0: {} - /mdast-util-to-string@4.0.0: - resolution: {integrity: sha512-0H44vDimn51F0YwvxSJSm0eCDOJTRlmN0R1yBh4HLj9wiV1Dn0QoXGbvFAWj2hSItVTlCmBF1hqKlIyUBVFLPg==} + mdast-util-to-string@4.0.0: dependencies: '@types/mdast': 4.0.4 - /mdn-data@2.0.30: - resolution: {integrity: sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==} - dev: true + mdn-data@2.0.30: {} - /mdn-data@2.1.0: - resolution: {integrity: sha512-dbAWH6A+2NGuVJlQFrTKHJc07Vqn5frnhyTOGz+7BsK7V2hHdoBcwoiyV3QVhLHYpM/zqe2OSUn5ZWbVXLBB8A==} - dev: true + mdn-data@2.1.0: {} - /mdurl@1.0.1: - resolution: {integrity: sha512-/sKlQJCBYVY9Ers9hqzKou4H6V5UWc/M59TH2dvkt+84itfnq7uFOMLpOiOS4ujvHP4etln18fmIxA5R5fll0g==} - dev: true + mdurl@1.0.1: {} - /media-typer@0.3.0: - resolution: {integrity: sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==} - engines: {node: '>= 0.6'} - dev: true + media-typer@0.3.0: {} - /memfs@3.5.3: - resolution: {integrity: sha512-UERzLsxzllchadvbPs5aolHh65ISpKpM+ccLbOJ8/vvpBKmAWf+la7dXFy7Mr0ySHbdHrFv5kGFCUHHe6GFEmw==} - engines: {node: '>= 4.0.0'} + memfs@3.5.3: dependencies: fs-monkey: 1.0.6 - dev: true - /memoizee@0.4.17: - resolution: {integrity: sha512-DGqD7Hjpi/1or4F/aYAspXKNm5Yili0QDAFAY4QYvpqpgiY6+1jOfqpmByzjxbWd/T9mChbCArXAbDAsTm5oXA==} - engines: {node: '>=0.12'} + memoizee@0.4.17: dependencies: d: 1.0.2 es5-ext: 0.10.64 @@ -12150,32 +15458,18 @@ packages: lru-queue: 0.1.0 next-tick: 1.1.0 timers-ext: 0.1.8 - dev: true - /meow@12.1.1: - resolution: {integrity: sha512-BhXM0Au22RwUneMPwSCnyhTOizdWoIEPU9sp0Aqa1PnDMR5Wv2FGXYDjuzJEIX+Eo2Rb8xuYe5jrnm5QowQFkw==} - engines: {node: '>=16.10'} - dev: true + meow@12.1.1: {} - /merge-descriptors@1.0.1: - resolution: {integrity: sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==} - dev: true + merge-descriptors@1.0.1: {} - /merge-stream@2.0.0: - resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} - dev: true + merge-stream@2.0.0: {} - /merge2@1.4.1: - resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} - engines: {node: '>= 8'} + merge2@1.4.1: {} - /methods@1.1.2: - resolution: {integrity: sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==} - engines: {node: '>= 0.6'} - dev: true + methods@1.1.2: {} - /micromark-core-commonmark@2.0.1: - resolution: {integrity: sha512-CUQyKr1e///ZODyD1U3xit6zXwy1a8q2a1S1HKtIlmgvurrEpaw/Y9y6KSIbF8P59cn/NjzHyO+Q2fAyYLQrAA==} + micromark-core-commonmark@2.0.1: dependencies: decode-named-character-reference: 1.0.2 devlop: 1.1.0 @@ -12194,26 +15488,21 @@ packages: micromark-util-symbol: 2.0.0 micromark-util-types: 2.0.0 - /micromark-extension-frontmatter@2.0.0: - resolution: {integrity: sha512-C4AkuM3dA58cgZha7zVnuVxBhDsbttIMiytjgsM2XbHAB2faRVaHRle40558FBN+DJcrLNCoqG5mlrpdU4cRtg==} + micromark-extension-frontmatter@2.0.0: dependencies: fault: 2.0.1 micromark-util-character: 2.1.0 micromark-util-symbol: 2.0.0 micromark-util-types: 2.0.0 - dev: true - /micromark-extension-gfm-autolink-literal@2.0.0: - resolution: {integrity: sha512-rTHfnpt/Q7dEAK1Y5ii0W8bhfJlVJFnJMHIPisfPK3gpVNuOP0VnRl96+YJ3RYWV/P4gFeQoGKNlT3RhuvpqAg==} + micromark-extension-gfm-autolink-literal@2.0.0: dependencies: micromark-util-character: 2.1.0 micromark-util-sanitize-uri: 2.0.0 micromark-util-symbol: 2.0.0 micromark-util-types: 2.0.0 - dev: true - /micromark-extension-gfm-footnote@2.0.0: - resolution: {integrity: sha512-6Rzu0CYRKDv3BfLAUnZsSlzx3ak6HAoI85KTiijuKIz5UxZxbUI+pD6oHgw+6UtQuiRwnGRhzMmPRv4smcz0fg==} + micromark-extension-gfm-footnote@2.0.0: dependencies: devlop: 1.1.0 micromark-core-commonmark: 2.0.1 @@ -12223,10 +15512,8 @@ packages: micromark-util-sanitize-uri: 2.0.0 micromark-util-symbol: 2.0.0 micromark-util-types: 2.0.0 - dev: true - /micromark-extension-gfm-strikethrough@2.0.0: - resolution: {integrity: sha512-c3BR1ClMp5fxxmwP6AoOY2fXO9U8uFMKs4ADD66ahLTNcwzSCyRVU4k7LPV5Nxo/VJiR4TdzxRQY2v3qIUceCw==} + micromark-extension-gfm-strikethrough@2.0.0: dependencies: devlop: 1.1.0 micromark-util-chunked: 2.0.0 @@ -12234,36 +15521,28 @@ packages: micromark-util-resolve-all: 2.0.0 micromark-util-symbol: 2.0.0 micromark-util-types: 2.0.0 - dev: true - /micromark-extension-gfm-table@2.0.0: - resolution: {integrity: sha512-PoHlhypg1ItIucOaHmKE8fbin3vTLpDOUg8KAr8gRCF1MOZI9Nquq2i/44wFvviM4WuxJzc3demT8Y3dkfvYrw==} + micromark-extension-gfm-table@2.0.0: dependencies: devlop: 1.1.0 micromark-factory-space: 2.0.0 micromark-util-character: 2.1.0 micromark-util-symbol: 2.0.0 micromark-util-types: 2.0.0 - dev: true - /micromark-extension-gfm-tagfilter@2.0.0: - resolution: {integrity: sha512-xHlTOmuCSotIA8TW1mDIM6X2O1SiX5P9IuDtqGonFhEK0qgRI4yeC6vMxEV2dgyr2TiD+2PQ10o+cOhdVAcwfg==} + micromark-extension-gfm-tagfilter@2.0.0: dependencies: micromark-util-types: 2.0.0 - dev: true - /micromark-extension-gfm-task-list-item@2.0.1: - resolution: {integrity: sha512-cY5PzGcnULaN5O7T+cOzfMoHjBW7j+T9D2sucA5d/KbsBTPcYdebm9zUd9zzdgJGCwahV+/W78Z3nbulBYVbTw==} + micromark-extension-gfm-task-list-item@2.0.1: dependencies: devlop: 1.1.0 micromark-factory-space: 2.0.0 micromark-util-character: 2.1.0 micromark-util-symbol: 2.0.0 micromark-util-types: 2.0.0 - dev: true - /micromark-extension-gfm@3.0.0: - resolution: {integrity: sha512-vsKArQsicm7t0z2GugkCKtZehqUm31oeGBV/KVSorWSy8ZlNAv7ytjFhvaryUiCUJYqs+NoE6AFhpQvBTM6Q4w==} + micromark-extension-gfm@3.0.0: dependencies: micromark-extension-gfm-autolink-literal: 2.0.0 micromark-extension-gfm-footnote: 2.0.0 @@ -12273,130 +15552,107 @@ packages: micromark-extension-gfm-task-list-item: 2.0.1 micromark-util-combine-extensions: 2.0.0 micromark-util-types: 2.0.0 - dev: true - /micromark-factory-destination@2.0.0: - resolution: {integrity: sha512-j9DGrQLm/Uhl2tCzcbLhy5kXsgkHUrjJHg4fFAeoMRwJmJerT9aw4FEhIbZStWN8A3qMwOp1uzHr4UL8AInxtA==} + micromark-factory-destination@2.0.0: dependencies: micromark-util-character: 2.1.0 micromark-util-symbol: 2.0.0 micromark-util-types: 2.0.0 - /micromark-factory-label@2.0.0: - resolution: {integrity: sha512-RR3i96ohZGde//4WSe/dJsxOX6vxIg9TimLAS3i4EhBAFx8Sm5SmqVfR8E87DPSR31nEAjZfbt91OMZWcNgdZw==} + micromark-factory-label@2.0.0: dependencies: devlop: 1.1.0 micromark-util-character: 2.1.0 micromark-util-symbol: 2.0.0 micromark-util-types: 2.0.0 - /micromark-factory-space@2.0.0: - resolution: {integrity: sha512-TKr+LIDX2pkBJXFLzpyPyljzYK3MtmllMUMODTQJIUfDGncESaqB90db9IAUcz4AZAJFdd8U9zOp9ty1458rxg==} + micromark-factory-space@2.0.0: dependencies: micromark-util-character: 2.1.0 micromark-util-types: 2.0.0 - /micromark-factory-title@2.0.0: - resolution: {integrity: sha512-jY8CSxmpWLOxS+t8W+FG3Xigc0RDQA9bKMY/EwILvsesiRniiVMejYTE4wumNc2f4UbAa4WsHqe3J1QS1sli+A==} + micromark-factory-title@2.0.0: dependencies: micromark-factory-space: 2.0.0 micromark-util-character: 2.1.0 micromark-util-symbol: 2.0.0 micromark-util-types: 2.0.0 - /micromark-factory-whitespace@2.0.0: - resolution: {integrity: sha512-28kbwaBjc5yAI1XadbdPYHX/eDnqaUFVikLwrO7FDnKG7lpgxnvk/XGRhX/PN0mOZ+dBSZ+LgunHS+6tYQAzhA==} + micromark-factory-whitespace@2.0.0: dependencies: micromark-factory-space: 2.0.0 micromark-util-character: 2.1.0 micromark-util-symbol: 2.0.0 micromark-util-types: 2.0.0 - /micromark-util-character@2.1.0: - resolution: {integrity: sha512-KvOVV+X1yLBfs9dCBSopq/+G1PcgT3lAK07mC4BzXi5E7ahzMAF8oIupDDJ6mievI6F+lAATkbQQlQixJfT3aQ==} + micromark-util-character@2.1.0: dependencies: micromark-util-symbol: 2.0.0 micromark-util-types: 2.0.0 - /micromark-util-chunked@2.0.0: - resolution: {integrity: sha512-anK8SWmNphkXdaKgz5hJvGa7l00qmcaUQoMYsBwDlSKFKjc6gjGXPDw3FNL3Nbwq5L8gE+RCbGqTw49FK5Qyvg==} + micromark-util-chunked@2.0.0: dependencies: micromark-util-symbol: 2.0.0 - /micromark-util-classify-character@2.0.0: - resolution: {integrity: sha512-S0ze2R9GH+fu41FA7pbSqNWObo/kzwf8rN/+IGlW/4tC6oACOs8B++bh+i9bVyNnwCcuksbFwsBme5OCKXCwIw==} + micromark-util-classify-character@2.0.0: dependencies: micromark-util-character: 2.1.0 micromark-util-symbol: 2.0.0 micromark-util-types: 2.0.0 - /micromark-util-combine-extensions@2.0.0: - resolution: {integrity: sha512-vZZio48k7ON0fVS3CUgFatWHoKbbLTK/rT7pzpJ4Bjp5JjkZeasRfrS9wsBdDJK2cJLHMckXZdzPSSr1B8a4oQ==} + micromark-util-combine-extensions@2.0.0: dependencies: micromark-util-chunked: 2.0.0 micromark-util-types: 2.0.0 - /micromark-util-decode-numeric-character-reference@2.0.1: - resolution: {integrity: sha512-bmkNc7z8Wn6kgjZmVHOX3SowGmVdhYS7yBpMnuMnPzDq/6xwVA604DuOXMZTO1lvq01g+Adfa0pE2UKGlxL1XQ==} + micromark-util-decode-numeric-character-reference@2.0.1: dependencies: micromark-util-symbol: 2.0.0 - /micromark-util-decode-string@2.0.0: - resolution: {integrity: sha512-r4Sc6leeUTn3P6gk20aFMj2ntPwn6qpDZqWvYmAG6NgvFTIlj4WtrAudLi65qYoaGdXYViXYw2pkmn7QnIFasA==} + micromark-util-decode-string@2.0.0: dependencies: decode-named-character-reference: 1.0.2 micromark-util-character: 2.1.0 micromark-util-decode-numeric-character-reference: 2.0.1 micromark-util-symbol: 2.0.0 - /micromark-util-encode@2.0.0: - resolution: {integrity: sha512-pS+ROfCXAGLWCOc8egcBvT0kf27GoWMqtdarNfDcjb6YLuV5cM3ioG45Ys2qOVqeqSbjaKg72vU+Wby3eddPsA==} + micromark-util-encode@2.0.0: {} - /micromark-util-html-tag-name@2.0.0: - resolution: {integrity: sha512-xNn4Pqkj2puRhKdKTm8t1YHC/BAjx6CEwRFXntTaRf/x16aqka6ouVoutm+QdkISTlT7e2zU7U4ZdlDLJd2Mcw==} + micromark-util-html-tag-name@2.0.0: {} - /micromark-util-normalize-identifier@2.0.0: - resolution: {integrity: sha512-2xhYT0sfo85FMrUPtHcPo2rrp1lwbDEEzpx7jiH2xXJLqBuy4H0GgXk5ToU8IEwoROtXuL8ND0ttVa4rNqYK3w==} + micromark-util-normalize-identifier@2.0.0: dependencies: micromark-util-symbol: 2.0.0 - /micromark-util-resolve-all@2.0.0: - resolution: {integrity: sha512-6KU6qO7DZ7GJkaCgwBNtplXCvGkJToU86ybBAUdavvgsCiG8lSSvYxr9MhwmQ+udpzywHsl4RpGJsYWG1pDOcA==} + micromark-util-resolve-all@2.0.0: dependencies: micromark-util-types: 2.0.0 - /micromark-util-sanitize-uri@2.0.0: - resolution: {integrity: sha512-WhYv5UEcZrbAtlsnPuChHUAsu/iBPOVaEVsntLBIdpibO0ddy8OzavZz3iL2xVvBZOpolujSliP65Kq0/7KIYw==} + micromark-util-sanitize-uri@2.0.0: dependencies: micromark-util-character: 2.1.0 micromark-util-encode: 2.0.0 micromark-util-symbol: 2.0.0 - /micromark-util-subtokenize@2.0.1: - resolution: {integrity: sha512-jZNtiFl/1aY73yS3UGQkutD0UbhTt68qnRpw2Pifmz5wV9h8gOVsN70v+Lq/f1rKaU/W8pxRe8y8Q9FX1AOe1Q==} + micromark-util-subtokenize@2.0.1: dependencies: devlop: 1.1.0 micromark-util-chunked: 2.0.0 micromark-util-symbol: 2.0.0 micromark-util-types: 2.0.0 - /micromark-util-symbol@2.0.0: - resolution: {integrity: sha512-8JZt9ElZ5kyTnO94muPxIGS8oyElRJaiJO8EzV6ZSyGQ1Is8xwl4Q45qU5UOg+bGH4AikWziz0iN4sFLWs8PGw==} + micromark-util-symbol@2.0.0: {} - /micromark-util-types@2.0.0: - resolution: {integrity: sha512-oNh6S2WMHWRZrmutsRmDDfkzKtxF+bc2VxLC9dvtrDIRFln627VsFP6fLMgTryGDljgLPjkrzQSDcPrjPyDJ5w==} + micromark-util-types@2.0.0: {} - /micromark@2.11.4: - resolution: {integrity: sha512-+WoovN/ppKolQOFIAajxi7Lu9kInbPxFuTBVEavFcL8eAfVstoc5MocPmqBeAdBOJV00uaVjegzH4+MA0DN/uA==} + micromark@2.11.4: dependencies: debug: 4.3.5(supports-color@8.1.1) parse-entities: 2.0.0 transitivePeerDependencies: - supports-color - dev: true - /micromark@4.0.0: - resolution: {integrity: sha512-o/sd0nMof8kYff+TqcDx3VSrgBTcZpSvYcAHIfHhv5VAuNmisCxjhx6YmxS8PFEpb9z5WKWKPdzf0jM23ro3RQ==} + micromark@4.0.0: dependencies: '@types/debug': 4.1.12 debug: 4.3.5(supports-color@8.1.1) @@ -12418,288 +15674,156 @@ packages: transitivePeerDependencies: - supports-color - /micromatch@4.0.7: - resolution: {integrity: sha512-LPP/3KorzCwBxfeUuZmaR6bG2kdeHSbe0P2tY3FLRU4vYrjYz5hI4QZwV0njUx3jeuKe67YukQ1LSPZBKDqO/Q==} - engines: {node: '>=8.6'} + micromatch@4.0.7: dependencies: braces: 3.0.3 picomatch: 2.3.1 - /mime-db@1.52.0: - resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==} - engines: {node: '>= 0.6'} - dev: true + mime-db@1.52.0: {} - /mime-types@2.1.35: - resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==} - engines: {node: '>= 0.6'} + mime-types@2.1.35: dependencies: mime-db: 1.52.0 - dev: true - /mime@1.6.0: - resolution: {integrity: sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==} - engines: {node: '>=4'} - hasBin: true - dev: true + mime@1.6.0: {} - /mimic-fn@2.1.0: - resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==} - engines: {node: '>=6'} - dev: true + mimic-fn@2.1.0: {} - /mimic-fn@4.0.0: - resolution: {integrity: sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==} - engines: {node: '>=12'} - dev: true + mimic-fn@4.0.0: {} - /mimic-response@1.0.1: - resolution: {integrity: sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==} - engines: {node: '>=4'} - dev: true + mimic-response@1.0.1: {} - /mimic-response@3.1.0: - resolution: {integrity: sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==} - engines: {node: '>=10'} - dev: true + mimic-response@3.1.0: {} - /min-indent@1.0.1: - resolution: {integrity: sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==} - engines: {node: '>=4'} - dev: true + min-indent@1.0.1: {} - /minimalistic-assert@1.0.1: - resolution: {integrity: sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==} - dev: true + minimalistic-assert@1.0.1: {} - /minimatch@3.1.2: - resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} + minimatch@3.1.2: dependencies: brace-expansion: 1.1.11 - dev: true - /minimatch@5.1.6: - resolution: {integrity: sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==} - engines: {node: '>=10'} + minimatch@5.1.6: dependencies: brace-expansion: 2.0.1 - dev: true - /minimatch@9.0.4: - resolution: {integrity: sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw==} - engines: {node: '>=16 || 14 >=14.17'} + minimatch@9.0.4: dependencies: brace-expansion: 2.0.1 - /minimist@1.2.8: - resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} - dev: true + minimist@1.2.8: {} - /minipass@7.1.2: - resolution: {integrity: sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==} - engines: {node: '>=16 || 14 >=14.17'} + minipass@7.1.2: {} - /minisearch@6.3.0: - resolution: {integrity: sha512-ihFnidEeU8iXzcVHy74dhkxh/dn8Dc08ERl0xwoMMGqp4+LvRSCgicb+zGqWthVokQKvCSxITlh3P08OzdTYCQ==} - dev: true + minisearch@6.3.0: {} - /mitt@3.0.1: - resolution: {integrity: sha512-vKivATfr97l2/QBCYAkXYDbrIWPM2IIKEl7YPhjCvKlG3kE2gm+uBo6nEXK3M5/Ffh/FLpKExzOQ3JJoJGFKBw==} - dev: true + mitt@3.0.1: {} - /mkdirp@0.5.6: - resolution: {integrity: sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==} - hasBin: true + mkdirp@0.5.6: dependencies: minimist: 1.2.8 - dev: true - /mkdirp@1.0.4: - resolution: {integrity: sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==} - engines: {node: '>=10'} - hasBin: true - dev: true + mkdirp@1.0.4: {} - /mlly@1.7.1: - resolution: {integrity: sha512-rrVRZRELyQzrIUAVMHxP97kv+G786pHmOKzuFII8zDYahFBS7qnHh2AlYSl1GAHhaMPCz6/oHjVMcfFYgFYHgA==} + mlly@1.7.1: dependencies: acorn: 8.11.3 pathe: 1.1.2 pkg-types: 1.1.1 ufo: 1.5.3 - dev: true - /mrmime@2.0.0: - resolution: {integrity: sha512-eu38+hdgojoyq63s+yTpN4XMBdt5l8HhMhc4VKLO9KM5caLIBvUm4thi7fFaxyTmCKeNnXZ5pAlBwCUnhA09uw==} - engines: {node: '>=10'} - dev: true + mrmime@2.0.0: {} - /ms@2.0.0: - resolution: {integrity: sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==} - dev: true + ms@2.0.0: {} - /ms@2.1.2: - resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} + ms@2.1.2: {} - /ms@2.1.3: - resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} - dev: true + ms@2.1.3: {} - /multicast-dns@7.2.5: - resolution: {integrity: sha512-2eznPJP8z2BFLX50tf0LuODrpINqP1RVIm/CObbTcBRITQgmC/TjcREF1NeTBzIcR5XO/ukWo+YHOjBbFwIupg==} - hasBin: true + multicast-dns@7.2.5: dependencies: dns-packet: 5.6.1 thunky: 1.1.0 - dev: true - /mz@2.7.0: - resolution: {integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==} + mz@2.7.0: dependencies: any-promise: 1.3.0 object-assign: 4.1.1 thenify-all: 1.6.0 - /nanoid@3.3.7: - resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==} - engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} - hasBin: true + nanoid@3.3.7: {} - /natural-compare@1.4.0: - resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} - dev: true + natural-compare@1.4.0: {} - /negotiator@0.6.3: - resolution: {integrity: sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==} - engines: {node: '>= 0.6'} - dev: true + negotiator@0.6.3: {} - /neo-async@2.6.2: - resolution: {integrity: sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==} - dev: true + neo-async@2.6.2: {} - /nested-error-stacks@2.1.1: - resolution: {integrity: sha512-9iN1ka/9zmX1ZvLV9ewJYEk9h7RyRRtqdK0woXcqohu8EWIerfPUjYJPg0ULy0UqP7cslmdGc8xKDJcojlKiaw==} - dev: true + nested-error-stacks@2.1.1: {} - /next-tick@1.1.0: - resolution: {integrity: sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ==} - dev: true + next-tick@1.1.0: {} - /nice-try@1.0.5: - resolution: {integrity: sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==} - dev: true + nice-try@1.0.5: {} - /node-cleanup@2.1.2: - resolution: {integrity: sha512-qN8v/s2PAJwGUtr1/hYTpNKlD6Y9rc4p8KSmJXyGdYGZsDGKXrGThikLFP9OCHFeLeEpQzPwiAtdIvBLqm//Hw==} - dev: true + node-cleanup@2.1.2: {} - /node-domexception@1.0.0: - resolution: {integrity: sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==} - engines: {node: '>=10.5.0'} - dev: true + node-domexception@1.0.0: {} - /node-fetch-native@1.6.4: - resolution: {integrity: sha512-IhOigYzAKHd244OC0JIMIUrjzctirCmPkaIfhDeGcEETWof5zKYUW7e7MYvChGWh/4CJeXEgsRyGzuF334rOOQ==} - dev: true + node-fetch-native@1.6.4: {} - /node-fetch@2.6.7(encoding@0.1.13): - resolution: {integrity: sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==} - engines: {node: 4.x || >=6.0.0} - peerDependencies: - encoding: ^0.1.0 - peerDependenciesMeta: - encoding: - optional: true + node-fetch@2.6.7(encoding@0.1.13): dependencies: - encoding: 0.1.13 whatwg-url: 5.0.0 - dev: true + optionalDependencies: + encoding: 0.1.13 - /node-fetch@3.3.1: - resolution: {integrity: sha512-cRVc/kyto/7E5shrWca1Wsea4y6tL9iYJE5FBCius3JQfb/4P4I295PfhgbJQBLTx6lATE4z+wK0rPM4VS2uow==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + node-fetch@3.3.1: dependencies: data-uri-to-buffer: 4.0.1 fetch-blob: 3.2.0 formdata-polyfill: 4.0.10 - dev: true - /node-forge@1.3.1: - resolution: {integrity: sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==} - engines: {node: '>= 6.13.0'} - dev: true + node-forge@1.3.1: {} - /node-int64@0.4.0: - resolution: {integrity: sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==} - dev: true + node-int64@0.4.0: {} - /node-preload@0.2.1: - resolution: {integrity: sha512-RM5oyBy45cLEoHqCeh+MNuFAxO0vTFBLskvQbOKnEE7YTTSN4tbN8QWDIPQ6L+WvKsB/qLEGpYe2ZZ9d4W9OIQ==} - engines: {node: '>=8'} + node-preload@0.2.1: dependencies: process-on-spawn: 1.0.0 - dev: true - /node-releases@2.0.14: - resolution: {integrity: sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==} - dev: true + node-releases@2.0.14: {} - /nomnom@1.5.2: - resolution: {integrity: sha512-fiVbT7BqxiQqjlR9U3FDGOSERFCKoXVCdxV2FwZuNN7/cmJ42iQx35nUFOAFDcyvemu9Adp+IlsCGlKQYLmBKw==} - deprecated: Package no longer supported. Contact support@npmjs.com for more info. + nomnom@1.5.2: dependencies: colors: 0.5.1 underscore: 1.1.7 - dev: true - /normalize-package-data@2.5.0: - resolution: {integrity: sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==} + normalize-package-data@2.5.0: dependencies: hosted-git-info: 2.8.9 resolve: 1.22.8 semver: 5.7.2 validate-npm-package-license: 3.0.4 - dev: true - /normalize-path@3.0.0: - resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} - engines: {node: '>=0.10.0'} + normalize-path@3.0.0: {} - /normalize-url@6.1.0: - resolution: {integrity: sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==} - engines: {node: '>=10'} - dev: true + normalize-url@6.1.0: {} - /npm-run-path@2.0.2: - resolution: {integrity: sha512-lJxZYlT4DW/bRUtFh1MQIWqmLwQfAxnqWG4HhEdjMlkrJYnJn0Jrr2u3mgxqaWsdiBc76TYkTG/mhrnYTuzfHw==} - engines: {node: '>=4'} + npm-run-path@2.0.2: dependencies: path-key: 2.0.1 - dev: true - /npm-run-path@4.0.1: - resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==} - engines: {node: '>=8'} + npm-run-path@4.0.1: dependencies: path-key: 3.1.1 - dev: true - /npm-run-path@5.3.0: - resolution: {integrity: sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + npm-run-path@5.3.0: dependencies: path-key: 4.0.0 - dev: true - /nwsapi@2.2.10: - resolution: {integrity: sha512-QK0sRs7MKv0tKe1+5uZIQk/C8XGza4DAnztJG8iD+TpJIORARrCxczA738awHrZoHeTjSSoHqao2teO0dC/gFQ==} - dev: true + nwsapi@2.2.10: {} - /nyc@15.1.0: - resolution: {integrity: sha512-jMW04n9SxKdKi1ZMGhvUTHBN0EICCRkHemEoE5jm6mTYcqcdas0ATzgUgejlQUHMvpnOZqGB5Xxsv9KxJW1j8A==} - engines: {node: '>=8.9'} - hasBin: true + nyc@15.1.0: dependencies: '@istanbuljs/load-nyc-config': 1.1.0 '@istanbuljs/schema': 0.1.3 @@ -12730,101 +15854,59 @@ packages: yargs: 15.4.1 transitivePeerDependencies: - supports-color - dev: true - /object-assign@4.1.1: - resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} - engines: {node: '>=0.10.0'} + object-assign@4.1.1: {} - /object-hash@3.0.0: - resolution: {integrity: sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==} - engines: {node: '>= 6'} - dev: false + object-hash@3.0.0: {} - /object-inspect@1.13.1: - resolution: {integrity: sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==} - dev: true + object-inspect@1.13.1: {} - /object-keys@1.1.1: - resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==} - engines: {node: '>= 0.4'} - dev: true + object-keys@1.1.1: {} - /object.assign@4.1.5: - resolution: {integrity: sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ==} - engines: {node: '>= 0.4'} + object.assign@4.1.5: dependencies: call-bind: 1.0.7 define-properties: 1.2.1 has-symbols: 1.0.3 object-keys: 1.1.1 - dev: true - /obuf@1.1.2: - resolution: {integrity: sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==} - dev: true + obuf@1.1.2: {} - /ofetch@1.3.4: - resolution: {integrity: sha512-KLIET85ik3vhEfS+3fDlc/BAZiAp+43QEC/yCo5zkNoY2YaKvNkOaFr/6wCFgFH1kuYQM5pMNi0Tg8koiIemtw==} + ofetch@1.3.4: dependencies: destr: 2.0.3 node-fetch-native: 1.6.4 ufo: 1.5.3 - dev: true - /omggif@1.0.10: - resolution: {integrity: sha512-LMJTtvgc/nugXj0Vcrrs68Mn2D1r0zf630VNtqtpI1FEO7e+O9FP4gqs9AcnBaSEeoHIPm28u6qgPR0oyEpGSw==} - dev: true + omggif@1.0.10: {} - /on-exit-leak-free@2.1.2: - resolution: {integrity: sha512-0eJJY6hXLGf1udHwfNftBqH+g73EU4B504nZeKpz1sYRKafAghwxEJunB2O7rDZkL4PGfsMVnTXZ2EjibbqcsA==} - engines: {node: '>=14.0.0'} - dev: false + on-exit-leak-free@2.1.2: {} - /on-finished@2.4.1: - resolution: {integrity: sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==} - engines: {node: '>= 0.8'} + on-finished@2.4.1: dependencies: ee-first: 1.1.1 - dev: true - /on-headers@1.0.2: - resolution: {integrity: sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==} - engines: {node: '>= 0.8'} - dev: true + on-headers@1.0.2: {} - /once@1.4.0: - resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} + once@1.4.0: dependencies: wrappy: 1.0.2 - dev: true - /onetime@5.1.2: - resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==} - engines: {node: '>=6'} + onetime@5.1.2: dependencies: mimic-fn: 2.1.0 - dev: true - /onetime@6.0.0: - resolution: {integrity: sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==} - engines: {node: '>=12'} + onetime@6.0.0: dependencies: mimic-fn: 4.0.0 - dev: true - /open@8.4.2: - resolution: {integrity: sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==} - engines: {node: '>=12'} + open@8.4.2: dependencies: define-lazy-prop: 2.0.0 is-docker: 2.2.1 is-wsl: 2.2.0 - dev: true - /optionator@0.9.4: - resolution: {integrity: sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==} - engines: {node: '>= 0.8.0'} + optionator@0.9.4: dependencies: deep-is: 0.1.4 fast-levenshtein: 2.0.6 @@ -12832,171 +15914,96 @@ packages: prelude-ls: 1.2.1 type-check: 0.4.0 word-wrap: 1.2.5 - dev: true - /ospath@1.2.2: - resolution: {integrity: sha512-o6E5qJV5zkAbIDNhGSIlyOhScKXgQrSRMilfph0clDfM0nEnBOlKlH4sWDmG95BW/CvwNz0vmm7dJVtU2KlMiA==} - dev: true + ospath@1.2.2: {} - /p-cancelable@2.1.1: - resolution: {integrity: sha512-BZOr3nRQHOntUjTrH8+Lh54smKHoHyur8We1V8DSMVrl5A2malOOwuJRnKRDjSnkoeBh4at6BwEnb5I7Jl31wg==} - engines: {node: '>=8'} - dev: true + p-cancelable@2.1.1: {} - /p-event@5.0.1: - resolution: {integrity: sha512-dd589iCQ7m1L0bmC5NLlVYfy3TbBEsMUfWx9PyAgPeIcFZ/E2yaTZ4Rz4MiBmmJShviiftHVXOqfnfzJ6kyMrQ==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + p-event@5.0.1: dependencies: p-timeout: 5.1.0 - dev: true - /p-filter@3.0.0: - resolution: {integrity: sha512-QtoWLjXAW++uTX67HZQz1dbTpqBfiidsB6VtQUC9iR85S120+s0T5sO6s+B5MLzFcZkrEd/DGMmCjR+f2Qpxwg==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + p-filter@3.0.0: dependencies: p-map: 5.5.0 - dev: true - /p-finally@1.0.0: - resolution: {integrity: sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow==} - engines: {node: '>=4'} - dev: true + p-finally@1.0.0: {} - /p-iteration@1.1.8: - resolution: {integrity: sha512-IMFBSDIYcPNnW7uWYGrBqmvTiq7W0uB0fJn6shQZs7dlF3OvrHOre+JT9ikSZ7gZS3vWqclVgoQSvToJrns7uQ==} - engines: {node: '>=8.0.0'} - dev: true + p-iteration@1.1.8: {} - /p-limit@2.3.0: - resolution: {integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==} - engines: {node: '>=6'} + p-limit@2.3.0: dependencies: p-try: 2.2.0 - dev: true - /p-limit@3.1.0: - resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} - engines: {node: '>=10'} + p-limit@3.1.0: dependencies: yocto-queue: 0.1.0 - dev: true - /p-limit@4.0.0: - resolution: {integrity: sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + p-limit@4.0.0: dependencies: yocto-queue: 1.0.0 - dev: true - /p-limit@5.0.0: - resolution: {integrity: sha512-/Eaoq+QyLSiXQ4lyYV23f14mZRQcXnxfHrN0vCai+ak9G0pp9iEQukIIZq5NccEvwRB8PUnZT0KsOoDCINS1qQ==} - engines: {node: '>=18'} + p-limit@5.0.0: dependencies: yocto-queue: 1.0.0 - dev: true - /p-locate@3.0.0: - resolution: {integrity: sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==} - engines: {node: '>=6'} + p-locate@3.0.0: dependencies: p-limit: 2.3.0 - dev: true - /p-locate@4.1.0: - resolution: {integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==} - engines: {node: '>=8'} + p-locate@4.1.0: dependencies: p-limit: 2.3.0 - dev: true - /p-locate@5.0.0: - resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==} - engines: {node: '>=10'} + p-locate@5.0.0: dependencies: p-limit: 3.1.0 - dev: true - /p-locate@6.0.0: - resolution: {integrity: sha512-wPrq66Llhl7/4AGC6I+cqxT07LhXvWL08LNXz1fENOw0Ap4sRZZ/gZpTTJ5jpurzzzfS2W/Ge9BY3LgLjCShcw==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + p-locate@6.0.0: dependencies: p-limit: 4.0.0 - dev: true - /p-map@3.0.0: - resolution: {integrity: sha512-d3qXVTF/s+W+CdJ5A29wywV2n8CQQYahlgz2bFiA+4eVNJbHJodPZ+/gXwPGh0bOqA+j8S+6+ckmvLGPk1QpxQ==} - engines: {node: '>=8'} + p-map@3.0.0: dependencies: aggregate-error: 3.1.0 - dev: true - /p-map@4.0.0: - resolution: {integrity: sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==} - engines: {node: '>=10'} + p-map@4.0.0: dependencies: aggregate-error: 3.1.0 - dev: true - /p-map@5.5.0: - resolution: {integrity: sha512-VFqfGDHlx87K66yZrNdI4YGtD70IRyd+zSvgks6mzHPRNkoKy+9EKP4SFC77/vTTQYmRmti7dvqC+m5jBrBAcg==} - engines: {node: '>=12'} + p-map@5.5.0: dependencies: aggregate-error: 4.0.1 - dev: true - /p-map@6.0.0: - resolution: {integrity: sha512-T8BatKGY+k5rU+Q/GTYgrEf2r4xRMevAN5mtXc2aPc4rS1j3s+vWTaO2Wag94neXuCAUAs8cxBL9EeB5EA6diw==} - engines: {node: '>=16'} - dev: true + p-map@6.0.0: {} - /p-retry@4.6.2: - resolution: {integrity: sha512-312Id396EbJdvRONlngUx0NydfrIQ5lsYu0znKVUzVvArzEIt08V1qhtyESbGVd1FGX7UKtiFp5uwKZdM8wIuQ==} - engines: {node: '>=8'} + p-retry@4.6.2: dependencies: '@types/retry': 0.12.0 retry: 0.13.1 - dev: true - /p-timeout@5.1.0: - resolution: {integrity: sha512-auFDyzzzGZZZdHz3BtET9VEz0SE/uMEAx7uWfGPucfzEwwe/xH0iVeZibQmANYE/hp9T2+UUZT5m+BKyrDp3Ew==} - engines: {node: '>=12'} - dev: true + p-timeout@5.1.0: {} - /p-try@2.2.0: - resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==} - engines: {node: '>=6'} - dev: true + p-try@2.2.0: {} - /package-hash@4.0.0: - resolution: {integrity: sha512-whdkPIooSu/bASggZ96BWVvZTRMOFxnyUG5PnTSGKoJE2gd5mbVNmR2Nj20QFzxYYgAXpoqC+AiXzl+UMRh7zQ==} - engines: {node: '>=8'} + package-hash@4.0.0: dependencies: graceful-fs: 4.2.11 hasha: 5.2.2 lodash.flattendeep: 4.4.0 release-zalgo: 1.0.0 - dev: true - /pako@1.0.11: - resolution: {integrity: sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==} - dev: true + pako@1.0.11: {} - /parent-module@1.0.1: - resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} - engines: {node: '>=6'} + parent-module@1.0.1: dependencies: callsites: 3.1.0 - dev: true - /parent-module@2.0.0: - resolution: {integrity: sha512-uo0Z9JJeWzv8BG+tRcapBKNJ0dro9cLyczGzulS6EfeyAdeC9sbojtW6XwvYxJkEne9En+J2XEl4zyglVeIwFg==} - engines: {node: '>=8'} + parent-module@2.0.0: dependencies: callsites: 3.1.0 - dev: true - /parse-entities@2.0.0: - resolution: {integrity: sha512-kkywGpCcRYhqQIchaWqZ875wzpS/bMKhz5HnN3p7wveJTkTtyAB/AlnS0f8DFSqYW1T82t6yEAkEcB+A1I3MbQ==} + parse-entities@2.0.0: dependencies: character-entities: 1.2.4 character-entities-legacy: 1.1.4 @@ -13004,156 +16011,83 @@ packages: is-alphanumerical: 1.0.4 is-decimal: 1.0.4 is-hexadecimal: 1.0.4 - dev: true - /parse-json@5.2.0: - resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==} - engines: {node: '>=8'} + parse-json@5.2.0: dependencies: '@babel/code-frame': 7.24.7 error-ex: 1.3.2 json-parse-even-better-errors: 2.3.1 lines-and-columns: 1.2.4 - dev: true - /parse5@7.1.2: - resolution: {integrity: sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==} + parse5@7.1.2: dependencies: entities: 4.5.0 - dev: true - /parseurl@1.3.3: - resolution: {integrity: sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==} - engines: {node: '>= 0.8'} - dev: true + parseurl@1.3.3: {} - /path-browserify@1.0.1: - resolution: {integrity: sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==} - dev: true + path-browserify@1.0.1: {} - /path-data-parser@0.1.0: - resolution: {integrity: sha512-NOnmBpt5Y2RWbuv0LMzsayp3lVylAHLPUTut412ZA3l+C4uw4ZVkQbjShYCQ8TCpUMdPapr4YjUqLYD6v68j+w==} - dev: false + path-data-parser@0.1.0: {} - /path-exists@3.0.0: - resolution: {integrity: sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==} - engines: {node: '>=4'} - dev: true + path-exists@3.0.0: {} - /path-exists@4.0.0: - resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} - engines: {node: '>=8'} - dev: true + path-exists@4.0.0: {} - /path-exists@5.0.0: - resolution: {integrity: sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - dev: true + path-exists@5.0.0: {} - /path-is-absolute@1.0.1: - resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} - engines: {node: '>=0.10.0'} - dev: true + path-is-absolute@1.0.1: {} - /path-key@2.0.1: - resolution: {integrity: sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==} - engines: {node: '>=4'} - dev: true + path-key@2.0.1: {} - /path-key@3.1.1: - resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} - engines: {node: '>=8'} + path-key@3.1.1: {} - /path-key@4.0.0: - resolution: {integrity: sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==} - engines: {node: '>=12'} - dev: true + path-key@4.0.0: {} - /path-parse@1.0.7: - resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} + path-parse@1.0.7: {} - /path-scurry@1.11.1: - resolution: {integrity: sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==} - engines: {node: '>=16 || 14 >=14.18'} + path-scurry@1.11.1: dependencies: lru-cache: 10.2.2 minipass: 7.1.2 - /path-to-regexp@0.1.7: - resolution: {integrity: sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==} - dev: true + path-to-regexp@0.1.7: {} - /path-type@4.0.0: - resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} - engines: {node: '>=8'} - dev: true + path-type@4.0.0: {} - /path-type@5.0.0: - resolution: {integrity: sha512-5HviZNaZcfqP95rwpv+1HDgUamezbqdSYTyzjTvwtJSnIH+3vnbmWsItli8OFEndS984VT55M3jduxZbX351gg==} - engines: {node: '>=12'} - dev: true + path-type@5.0.0: {} - /pathe@1.1.2: - resolution: {integrity: sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==} - dev: true + pathe@1.1.2: {} - /pathval@1.1.1: - resolution: {integrity: sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==} - dev: true + pathval@1.1.1: {} - /pause-stream@0.0.11: - resolution: {integrity: sha512-e3FBlXLmN/D1S+zHzanP4E/4Z60oFAa3O051qt1pxa7DEJWKAyil6upYVXCWadEnuoqa4Pkc9oUx9zsxYeRv8A==} + pause-stream@0.0.11: dependencies: through: 2.3.8 - dev: true - /pend@1.2.0: - resolution: {integrity: sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==} - dev: true + pend@1.2.0: {} - /perfect-debounce@1.0.0: - resolution: {integrity: sha512-xCy9V055GLEqoFaHoC1SoLIaLmWctgCUaBaWxDZ7/Zx4CTyX7cJQLJOok/orfjZAh9kEYpjJa4d0KcJmCbctZA==} - dev: true + perfect-debounce@1.0.0: {} - /performance-now@2.1.0: - resolution: {integrity: sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==} - dev: true + performance-now@2.1.0: {} - /picocolors@1.0.1: - resolution: {integrity: sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew==} + picocolors@1.0.1: {} - /picomatch@2.3.1: - resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} - engines: {node: '>=8.6'} + picomatch@2.3.1: {} - /pidtree@0.6.0: - resolution: {integrity: sha512-eG2dWTVw5bzqGRztnHExczNxt5VGsE6OwTeCG3fdUf9KBsZzO3R5OIIIzWR+iZA0NtZ+RDVdaoE2dK1cn6jH4g==} - engines: {node: '>=0.10'} - hasBin: true - dev: true + pidtree@0.6.0: {} - /pify@2.3.0: - resolution: {integrity: sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==} - engines: {node: '>=0.10.0'} + pify@2.3.0: {} - /pino-abstract-transport@1.2.0: - resolution: {integrity: sha512-Guhh8EZfPCfH+PMXAb6rKOjGQEoy0xlAIn+irODG5kgfYV+BQ0rGYYWTIel3P5mmyXqkYkPmdIkywsn6QKUR1Q==} + pino-abstract-transport@1.2.0: dependencies: readable-stream: 4.5.2 split2: 4.2.0 - dev: false - /pino-std-serializers@3.2.0: - resolution: {integrity: sha512-EqX4pwDPrt3MuOAAUBMU0Tk5kR/YcCM5fNPEzgCO2zJ5HfX0vbiH9HbJglnyeQsN96Kznae6MWD47pZB5avTrg==} - dev: true + pino-std-serializers@3.2.0: {} - /pino-std-serializers@6.2.2: - resolution: {integrity: sha512-cHjPPsE+vhj/tnhCy/wiMh3M3z3h/j15zHQX+S9GkTBgqJuTuJzYJ4gUyACLhDaJ7kk9ba9iRDmbH2tJU03OiA==} - dev: false + pino-std-serializers@6.2.2: {} - /pino@6.14.0: - resolution: {integrity: sha512-iuhEDel3Z3hF9Jfe44DPXR8l07bhjuFY3GMHIXbjnY9XcafbyDDwl2sN2vw2GjMPf5Nkoe+OFao7ffn9SXaKDg==} - hasBin: true + pino@6.14.0: dependencies: fast-redact: 3.5.0 fast-safe-stringify: 2.1.1 @@ -13162,11 +16096,8 @@ packages: process-warning: 1.0.0 quick-format-unescaped: 4.0.4 sonic-boom: 1.4.1 - dev: true - /pino@8.21.0: - resolution: {integrity: sha512-ip4qdzjkAyDDZklUaZkcRFb2iA118H9SgRh8yzTkSQK8HilsOJF7rSY8HoW5+I0M46AZgX/pxbprf2vvzQCE0Q==} - hasBin: true + pino@8.21.0: dependencies: atomic-sleep: 1.0.0 fast-redact: 3.5.0 @@ -13179,181 +16110,98 @@ packages: safe-stable-stringify: 2.4.3 sonic-boom: 3.8.1 thread-stream: 2.7.0 - dev: false - /pirates@4.0.6: - resolution: {integrity: sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==} - engines: {node: '>= 6'} + pirates@4.0.6: {} - /pixelmatch@5.3.0: - resolution: {integrity: sha512-o8mkY4E/+LNUf6LzX96ht6k6CEDi65k9G2rjMtBe9Oo+VPKSvl+0GKHuH/AlG+GA5LPG/i5hrekkxUc3s2HU+Q==} - hasBin: true + pixelmatch@5.3.0: dependencies: pngjs: 6.0.0 - dev: true - /pkg-dir@3.0.0: - resolution: {integrity: sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==} - engines: {node: '>=6'} + pkg-dir@3.0.0: dependencies: find-up: 3.0.0 - dev: true - /pkg-dir@4.2.0: - resolution: {integrity: sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==} - engines: {node: '>=8'} + pkg-dir@4.2.0: dependencies: find-up: 4.1.0 - dev: true - /pkg-dir@7.0.0: - resolution: {integrity: sha512-Ie9z/WINcxxLp27BKOCHGde4ITq9UklYKDzVo1nhk5sqGEXU3FpkwP5GM2voTGJkGd9B3Otl+Q4uwSOeSUtOBA==} - engines: {node: '>=14.16'} + pkg-dir@7.0.0: dependencies: find-up: 6.3.0 - dev: true - /pkg-types@1.1.1: - resolution: {integrity: sha512-ko14TjmDuQJ14zsotODv7dBlwxKhUKQEhuhmbqo1uCi9BB0Z2alo/wAXg6q1dTR5TyuqYyWhjtfe/Tsh+X28jQ==} + pkg-types@1.1.1: dependencies: confbox: 0.1.7 mlly: 1.7.1 pathe: 1.1.2 - dev: true - /plist@3.1.0: - resolution: {integrity: sha512-uysumyrvkUX0rX/dEVqt8gC3sTBzd4zoWfLeS29nb53imdaXVvLINYXTI2GNqzaMuvacNx4uJQ8+b3zXR0pkgQ==} - engines: {node: '>=10.4.0'} + plist@3.1.0: dependencies: '@xmldom/xmldom': 0.8.10 base64-js: 1.5.1 xmlbuilder: 15.1.1 - dev: true - /pluralize@8.0.0: - resolution: {integrity: sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA==} - engines: {node: '>=4'} - dev: true + pluralize@8.0.0: {} - /png-async@0.9.4: - resolution: {integrity: sha512-B//AXX9TkneKfgtOpT1mdUnnhk2BImGD+a98vImsMU8uo1dBeHyW/kM2erWZ/CsYteTPU/xKG+t6T62heHkC3A==} - dev: true + png-async@0.9.4: {} - /pngjs@3.4.0: - resolution: {integrity: sha512-NCrCHhWmnQklfH4MtJMRjZ2a8c80qXeMlQMv2uVp9ISJMTt562SbGd6n2oq0PaPgKm7Z6pL9E2UlLIhC+SHL3w==} - engines: {node: '>=4.0.0'} - dev: true + pngjs@3.4.0: {} - /pngjs@6.0.0: - resolution: {integrity: sha512-TRzzuFRRmEoSW/p1KVAmiOgPco2Irlah+bGFCeNfJXxxYGwSw7YwAOAcd7X28K/m5bjBWKsC29KyoMfHbypayg==} - engines: {node: '>=12.13.0'} - dev: true + pngjs@6.0.0: {} - /pnpm@8.15.8: - resolution: {integrity: sha512-0aAp4aRHrZC8ls1YsPrUhtKZPVMYVjlve6vy2D6xgju4PFo9D8GPZ1stEDIdSesWH+zjb+gTSqWCPs0hX+7Tkg==} - engines: {node: '>=16.14'} - hasBin: true - dev: true + pnpm@8.15.8: {} - /points-on-curve@0.2.0: - resolution: {integrity: sha512-0mYKnYYe9ZcqMCWhUjItv/oHjvgEsfKvnUTg8sAtnHr3GVy7rGkXCb6d5cSyqrWqL4k81b9CPg3urd+T7aop3A==} - dev: false + points-on-curve@0.2.0: {} - /points-on-path@0.2.1: - resolution: {integrity: sha512-25ClnWWuw7JbWZcgqY/gJ4FQWadKxGWk+3kR/7kD0tCaDtPPMj7oHu2ToLaVhfpnHrZzYby2w6tUA0eOIuUg8g==} + points-on-path@0.2.1: dependencies: path-data-parser: 0.1.0 points-on-curve: 0.2.0 - dev: false - /possible-typed-array-names@1.0.0: - resolution: {integrity: sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q==} - engines: {node: '>= 0.4'} - dev: true + possible-typed-array-names@1.0.0: {} - /postcss-import@15.1.0(postcss@8.4.38): - resolution: {integrity: sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==} - engines: {node: '>=14.0.0'} - peerDependencies: - postcss: ^8.0.0 + postcss-import@15.1.0(postcss@8.4.38): dependencies: postcss: 8.4.38 postcss-value-parser: 4.2.0 read-cache: 1.0.0 resolve: 1.22.8 - dev: false - /postcss-js@4.0.1(postcss@8.4.38): - resolution: {integrity: sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==} - engines: {node: ^12 || ^14 || >= 16} - peerDependencies: - postcss: ^8.4.21 + postcss-js@4.0.1(postcss@8.4.38): dependencies: camelcase-css: 2.0.1 postcss: 8.4.38 - dev: false - /postcss-load-config@4.0.2(postcss@8.4.38): - resolution: {integrity: sha512-bSVhyJGL00wMVoPUzAVAnbEoWyqRxkjv64tUl427SKnPrENtq6hJwUojroMz2VB+Q1edmi4IfrAPpami5VVgMQ==} - engines: {node: '>= 14'} - peerDependencies: - postcss: '>=8.0.9' - ts-node: '>=9.0.0' - peerDependenciesMeta: - postcss: - optional: true - ts-node: - optional: true + postcss-load-config@4.0.2(postcss@8.4.38): dependencies: lilconfig: 3.1.2 - postcss: 8.4.38 yaml: 2.4.5 - dev: false + optionalDependencies: + postcss: 8.4.38 - /postcss-nested@6.0.1(postcss@8.4.38): - resolution: {integrity: sha512-mEp4xPMi5bSWiMbsgoPfcP74lsWLHkQbZc3sY+jWYd65CUwXrUaTp0fmNpa01ZcETKlIgUdFN/MpS2xZtqL9dQ==} - engines: {node: '>=12.0'} - peerDependencies: - postcss: ^8.2.14 + postcss-nested@6.0.1(postcss@8.4.38): dependencies: postcss: 8.4.38 postcss-selector-parser: 6.1.0 - dev: false - /postcss-selector-parser@6.1.0: - resolution: {integrity: sha512-UMz42UD0UY0EApS0ZL9o1XnLhSTtvvvLe5Dc2H2O56fvRZi+KulDyf5ctDhhtYJBGKStV2FL1fy6253cmLgqVQ==} - engines: {node: '>=4'} + postcss-selector-parser@6.1.0: dependencies: cssesc: 3.0.0 util-deprecate: 1.0.2 - dev: false - /postcss-value-parser@4.2.0: - resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==} - dev: false + postcss-value-parser@4.2.0: {} - /postcss@8.4.38: - resolution: {integrity: sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A==} - engines: {node: ^10 || ^12 || >=14} + postcss@8.4.38: dependencies: nanoid: 3.3.7 picocolors: 1.0.1 source-map-js: 1.2.0 - /preact@10.22.0: - resolution: {integrity: sha512-RRurnSjJPj4rp5K6XoP45Ui33ncb7e4H7WiOHVpjbkvqvA3U+N8Z6Qbo0AE6leGYBV66n8EhEaFixvIu3SkxFw==} - dev: true + preact@10.22.0: {} - /prelude-ls@1.2.1: - resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} - engines: {node: '>= 0.8.0'} - dev: true + prelude-ls@1.2.1: {} - /prettier-plugin-jsdoc@1.3.0(prettier@3.3.2): - resolution: {integrity: sha512-cQm8xIa0fN9ieJFMXACQd6JPycl+8ouOijAqUqu44EF/s4fXL3Wi9sKXuEaodsEWgCN42Xby/bNhqgM1iWx4uw==} - engines: {node: '>=14.13.1 || >=16.0.0'} - peerDependencies: - prettier: ^3.0.0 + prettier-plugin-jsdoc@1.3.0(prettier@3.3.2): dependencies: binary-searching: 2.0.5 comment-parser: 1.4.1 @@ -13361,203 +16209,115 @@ packages: prettier: 3.3.2 transitivePeerDependencies: - supports-color - dev: true - /prettier@2.8.8: - resolution: {integrity: sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==} - engines: {node: '>=10.13.0'} - hasBin: true - dev: true + prettier@2.8.8: {} - /prettier@3.3.2: - resolution: {integrity: sha512-rAVeHYMcv8ATV5d508CFdn+8/pHPpXeIid1DdrPwXnaAdH7cqjVbpJaT5eq4yRAFU/lsbwYwSF/n5iNrdJHPQA==} - engines: {node: '>=14'} - hasBin: true - dev: true + prettier@3.3.2: {} - /pretty-bytes@5.6.0: - resolution: {integrity: sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg==} - engines: {node: '>=6'} - dev: true + pretty-bytes@5.6.0: {} - /pretty-bytes@6.1.1: - resolution: {integrity: sha512-mQUvGU6aUFQ+rNvTIAcZuWGRT9a6f6Yrg9bHs4ImKF+HZCEK+plBvnAZYSIQztknZF2qnzNtr6F8s0+IuptdlQ==} - engines: {node: ^14.13.1 || >=16.0.0} - dev: true + pretty-bytes@6.1.1: {} - /pretty-format@29.7.0: - resolution: {integrity: sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + pretty-format@29.7.0: dependencies: '@jest/schemas': 29.6.3 ansi-styles: 5.2.0 react-is: 18.3.1 - dev: true - /process-nextick-args@2.0.1: - resolution: {integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==} - dev: true + process-nextick-args@2.0.1: {} - /process-on-spawn@1.0.0: - resolution: {integrity: sha512-1WsPDsUSMmZH5LeMLegqkPDrsGgsWwk1Exipy2hvB0o/F0ASzbpIctSCcZIK1ykJvtTJULEH+20WOFjMvGnCTg==} - engines: {node: '>=8'} + process-on-spawn@1.0.0: dependencies: fromentries: 1.3.2 - dev: true - /process-warning@1.0.0: - resolution: {integrity: sha512-du4wfLyj4yCZq1VupnVSZmRsPJsNuxoDQFdCFHLaYiEbFBD7QE0a+I4D7hOxrVnh78QE/YipFAj9lXHiXocV+Q==} - dev: true + process-warning@1.0.0: {} - /process-warning@3.0.0: - resolution: {integrity: sha512-mqn0kFRl0EoqhnL0GQ0veqFHyIN1yig9RHh/InzORTUiZHFRAur+aMtRkELNwGs9aNwKS6tg/An4NYBPGwvtzQ==} - dev: false + process-warning@3.0.0: {} - /process@0.11.10: - resolution: {integrity: sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==} - engines: {node: '>= 0.6.0'} + process@0.11.10: {} - /prompts@2.4.2: - resolution: {integrity: sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==} - engines: {node: '>= 6'} + prompts@2.4.2: dependencies: kleur: 3.0.3 sisteransi: 1.0.5 - dev: true - - /proxy-addr@2.0.7: - resolution: {integrity: sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==} - engines: {node: '>= 0.10'} + + proxy-addr@2.0.7: dependencies: forwarded: 0.2.0 ipaddr.js: 1.9.1 - dev: true - /proxy-from-env@1.0.0: - resolution: {integrity: sha512-F2JHgJQ1iqwnHDcQjVBsq3n/uoaFL+iPW/eAeL7kVxy/2RrWaN4WroKjjvbsoRtv0ftelNyC01bjRhn/bhcf4A==} - dev: true + proxy-from-env@1.0.0: {} - /proxy-from-env@1.1.0: - resolution: {integrity: sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==} - dev: true + proxy-from-env@1.1.0: {} - /ps-tree@1.2.0: - resolution: {integrity: sha512-0VnamPPYHl4uaU/nSFeZZpR21QAWRz+sRv4iW9+v/GS/J5U5iZB5BNN6J0RMoOvdx2gWM2+ZFMIm58q24e4UYA==} - engines: {node: '>= 0.10'} - hasBin: true + ps-tree@1.2.0: dependencies: event-stream: 3.3.4 - dev: true - /psl@1.9.0: - resolution: {integrity: sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==} - dev: true + psl@1.9.0: {} - /pump@3.0.0: - resolution: {integrity: sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==} + pump@3.0.0: dependencies: end-of-stream: 1.4.4 once: 1.4.0 - dev: true - /punycode@2.3.1: - resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} - engines: {node: '>=6'} - dev: true + punycode@2.3.1: {} - /pure-rand@6.1.0: - resolution: {integrity: sha512-bVWawvoZoBYpp6yIoQtQXHZjmz35RSVHnUOTefl8Vcjr8snTPY1wnpSPMWekcFwbxI6gtmT7rSYPFvz71ldiOA==} - dev: true + pure-rand@6.1.0: {} - /qs@6.10.4: - resolution: {integrity: sha512-OQiU+C+Ds5qiH91qh/mg0w+8nwQuLjM4F4M/PbmhDOoYehPh+Fb0bDjtR1sOvy7YKxvj28Y/M0PhP5uVX0kB+g==} - engines: {node: '>=0.6'} + qs@6.10.4: dependencies: side-channel: 1.0.6 - dev: true - /qs@6.11.0: - resolution: {integrity: sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==} - engines: {node: '>=0.6'} + qs@6.11.0: dependencies: side-channel: 1.0.6 - dev: true - /querystringify@2.2.0: - resolution: {integrity: sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==} - dev: true + querystringify@2.2.0: {} - /queue-microtask@1.2.3: - resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} + queue-microtask@1.2.3: {} - /quick-format-unescaped@4.0.4: - resolution: {integrity: sha512-tYC1Q1hgyRuHgloV/YXs2w15unPVh8qfu/qCTfhTYamaw7fyhumKa2yGpdSo87vY32rIclj+4fWYQXUMs9EHvg==} + quick-format-unescaped@4.0.4: {} - /quick-lru@5.1.1: - resolution: {integrity: sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==} - engines: {node: '>=10'} - dev: true + quick-lru@5.1.1: {} - /railroad-diagrams@1.0.0: - resolution: {integrity: sha512-cz93DjNeLY0idrCNOH6PviZGRN9GJhsdm9hpn1YCS879fj4W+x5IFJhhkRZcwVgMmFF7R82UA/7Oh+R8lLZg6A==} - dev: true + railroad-diagrams@1.0.0: {} - /ramda@0.28.0: - resolution: {integrity: sha512-9QnLuG/kPVgWvMQ4aODhsBUFKOUmnbUnsSXACv+NCQZcHbeb+v8Lodp8OVxtRULN1/xOyYLLaL6npE6dMq5QTA==} - dev: false + ramda@0.28.0: {} - /randombytes@2.1.0: - resolution: {integrity: sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==} + randombytes@2.1.0: dependencies: safe-buffer: 5.2.1 - dev: true - /range-parser@1.2.1: - resolution: {integrity: sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==} - engines: {node: '>= 0.6'} - dev: true + range-parser@1.2.1: {} - /raw-body@2.5.2: - resolution: {integrity: sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==} - engines: {node: '>= 0.8'} + raw-body@2.5.2: dependencies: bytes: 3.1.2 http-errors: 2.0.0 iconv-lite: 0.4.24 unpipe: 1.0.0 - dev: true - /react-is@18.3.1: - resolution: {integrity: sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==} - dev: true + react-is@18.3.1: {} - /read-cache@1.0.0: - resolution: {integrity: sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==} + read-cache@1.0.0: dependencies: pify: 2.3.0 - dev: false - /read-pkg-up@7.0.1: - resolution: {integrity: sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==} - engines: {node: '>=8'} + read-pkg-up@7.0.1: dependencies: find-up: 4.1.0 read-pkg: 5.2.0 type-fest: 0.8.1 - dev: true - /read-pkg@5.2.0: - resolution: {integrity: sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==} - engines: {node: '>=8'} + read-pkg@5.2.0: dependencies: '@types/normalize-package-data': 2.4.4 normalize-package-data: 2.5.0 parse-json: 5.2.0 type-fest: 0.6.0 - dev: true - /readable-stream@2.3.8: - resolution: {integrity: sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==} + readable-stream@2.3.8: dependencies: core-util-is: 1.0.3 inherits: 2.0.4 @@ -13566,85 +16326,53 @@ packages: safe-buffer: 5.1.2 string_decoder: 1.1.1 util-deprecate: 1.0.2 - dev: true - /readable-stream@3.6.2: - resolution: {integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==} - engines: {node: '>= 6'} + readable-stream@3.6.2: dependencies: inherits: 2.0.4 string_decoder: 1.3.0 util-deprecate: 1.0.2 - dev: true - /readable-stream@4.5.2: - resolution: {integrity: sha512-yjavECdqeZ3GLXNgRXgeQEdz9fvDDkNKyHnbHRFtOr7/LcfgBcmct7t/ET+HaCTqfh06OzoAxrkN/IfjJBVe+g==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + readable-stream@4.5.2: dependencies: abort-controller: 3.0.0 buffer: 6.0.3 events: 3.3.0 process: 0.11.10 string_decoder: 1.3.0 - dev: false - /readdirp@3.6.0: - resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} - engines: {node: '>=8.10.0'} + readdirp@3.6.0: dependencies: picomatch: 2.3.1 - /real-require@0.2.0: - resolution: {integrity: sha512-57frrGM/OCTLqLOAh0mhVA9VBMHd+9U7Zb2THMGdBUoZVOtGbJzjxsYGDJ3A9AYYCP4hn6y1TVbaOfzWtm5GFg==} - engines: {node: '>= 12.13.0'} - dev: false + real-require@0.2.0: {} - /rechoir@0.7.1: - resolution: {integrity: sha512-/njmZ8s1wVeR6pjTZ+0nCnv8SpZNRMT2D1RLOJQESlYFDBvwpTA4KWJpZ+sBJ4+vhjILRcK7JIFdGCdxEAAitg==} - engines: {node: '>= 0.10'} + rechoir@0.7.1: dependencies: resolve: 1.22.8 - dev: true - /regenerate-unicode-properties@10.1.1: - resolution: {integrity: sha512-X007RyZLsCJVVrjgEFVpLUTZwyOZk3oiL75ZcuYjlIWd6rNJtOjkBwQc5AsRrpbKVkxN6sklw/k/9m2jJYOf8Q==} - engines: {node: '>=4'} + regenerate-unicode-properties@10.1.1: dependencies: regenerate: 1.4.2 - dev: true - /regenerate@1.4.2: - resolution: {integrity: sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==} - dev: true + regenerate@1.4.2: {} - /regenerator-runtime@0.14.1: - resolution: {integrity: sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==} - dev: true + regenerator-runtime@0.14.1: {} - /regenerator-transform@0.15.2: - resolution: {integrity: sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg==} + regenerator-transform@0.15.2: dependencies: '@babel/runtime': 7.24.7 - dev: true - /regexp-tree@0.1.27: - resolution: {integrity: sha512-iETxpjK6YoRWJG5o6hXLwvjYAoW+FEZn9os0PD/b6AP6xQwsa/Y7lCVgIixBbUPMfhu+i2LtdeAqVTgGlQarfA==} - hasBin: true - dev: true + regexp-tree@0.1.27: {} - /regexp.prototype.flags@1.5.2: - resolution: {integrity: sha512-NcDiDkTLuPR+++OCKB0nWafEmhg/Da8aUPLPMQbK+bxKKCm1/S5he+AqYa4PlMCVBalb4/yxIRub6qkEx5yJbw==} - engines: {node: '>= 0.4'} + regexp.prototype.flags@1.5.2: dependencies: call-bind: 1.0.7 define-properties: 1.2.1 es-errors: 1.3.0 set-function-name: 2.0.2 - dev: true - /regexpu-core@5.3.2: - resolution: {integrity: sha512-RAM5FlZz+Lhmo7db9L298p2vHP5ZywrVXmVXpmAD9GuL5MPH6t9ROw1iA/wfHkQ76Qe7AaPF0nGuim96/IrQMQ==} - engines: {node: '>=4'} + regexpu-core@5.3.2: dependencies: '@babel/regjsgen': 0.8.0 regenerate: 1.4.2 @@ -13652,31 +16380,20 @@ packages: regjsparser: 0.9.1 unicode-match-property-ecmascript: 2.0.0 unicode-match-property-value-ecmascript: 2.1.0 - dev: true - /regjsparser@0.10.0: - resolution: {integrity: sha512-qx+xQGZVsy55CH0a1hiVwHmqjLryfh7wQyF5HO07XJ9f7dQMY/gPQHhlyDkIzJKC+x2fUCpCcUODUUUFrm7SHA==} - hasBin: true + regjsparser@0.10.0: dependencies: jsesc: 0.5.0 - dev: true - /regjsparser@0.9.1: - resolution: {integrity: sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==} - hasBin: true + regjsparser@0.9.1: dependencies: jsesc: 0.5.0 - dev: true - /release-zalgo@1.0.0: - resolution: {integrity: sha512-gUAyHVHPPC5wdqX/LG4LWtRYtgjxyX78oanFNTMMyFEfOqdC54s3eE82imuWKbOeqYht2CrNf64Qb8vgmmtZGA==} - engines: {node: '>=4'} + release-zalgo@1.0.0: dependencies: es6-error: 4.1.1 - dev: true - /remark-frontmatter@5.0.0: - resolution: {integrity: sha512-XTFYvNASMe5iPN0719nPrdItC9aU0ssC4v14mH1BCi1u0n1gAocqcujWUrByftZTbLhRtiKRyjYTSIOcr69UVQ==} + remark-frontmatter@5.0.0: dependencies: '@types/mdast': 4.0.4 mdast-util-frontmatter: 2.0.1 @@ -13684,10 +16401,8 @@ packages: unified: 11.0.4 transitivePeerDependencies: - supports-color - dev: true - /remark-gfm@4.0.0: - resolution: {integrity: sha512-U92vJgBPkbw4Zfu/IiW2oTZLSL3Zpv+uI7My2eq8JxKgqraFdU8YUGicEJCEgSbeaG+QDFqIcwwfMTOEelPxuA==} + remark-gfm@4.0.0: dependencies: '@types/mdast': 4.0.4 mdast-util-gfm: 3.0.0 @@ -13697,10 +16412,8 @@ packages: unified: 11.0.4 transitivePeerDependencies: - supports-color - dev: true - /remark-parse@11.0.0: - resolution: {integrity: sha512-FCxlKLNGknS5ba/1lmpYijMUzX2esxW5xQqjWxw2eHFfS2MSdaHVINFmhjo+qN1WhZhNimq0dZATN9pH0IDrpA==} + remark-parse@11.0.0: dependencies: '@types/mdast': 4.0.4 mdast-util-from-markdown: 2.0.1 @@ -13708,18 +16421,14 @@ packages: unified: 11.0.4 transitivePeerDependencies: - supports-color - dev: true - /remark-stringify@11.0.0: - resolution: {integrity: sha512-1OSmLd3awB/t8qdoEOMazZkNsfVTeY4fTsgzcQFdXNq8ToTN4ZGwrMnlda4K6smTFKD+GRV6O48i6Z4iKgPPpw==} + remark-stringify@11.0.0: dependencies: '@types/mdast': 4.0.4 mdast-util-to-markdown: 2.1.0 unified: 11.0.4 - dev: true - /remark@15.0.1: - resolution: {integrity: sha512-Eht5w30ruCXgFmxVUSlNWQ9iiimq07URKeFS3hNc8cUWy1llX4KDWfyEDZRycMc+znsN9Ux5/tJ/BFdgdOwA3A==} + remark@15.0.1: dependencies: '@types/mdast': 4.0.4 remark-parse: 11.0.0 @@ -13727,186 +16436,96 @@ packages: unified: 11.0.4 transitivePeerDependencies: - supports-color - dev: true - /repeat-string@1.6.1: - resolution: {integrity: sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w==} - engines: {node: '>=0.10'} - dev: true + repeat-string@1.6.1: {} - /request-progress@3.0.0: - resolution: {integrity: sha512-MnWzEHHaxHO2iWiQuHrUPBi/1WeBf5PkxQqNyNvLl9VAYSdXkP8tQ3pBSeCPD+yw0v0Aq1zosWLz0BdeXpWwZg==} + request-progress@3.0.0: dependencies: throttleit: 1.0.1 - dev: true - /require-directory@2.1.1: - resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==} - engines: {node: '>=0.10.0'} - dev: true + require-directory@2.1.1: {} - /require-from-string@2.0.2: - resolution: {integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==} - engines: {node: '>=0.10.0'} - dev: true + require-from-string@2.0.2: {} - /require-main-filename@2.0.0: - resolution: {integrity: sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==} - dev: true + require-main-filename@2.0.0: {} - /requires-port@1.0.0: - resolution: {integrity: sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==} - dev: true + requires-port@1.0.0: {} - /resolve-alpn@1.2.1: - resolution: {integrity: sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g==} - dev: true + resolve-alpn@1.2.1: {} - /resolve-cwd@3.0.0: - resolution: {integrity: sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==} - engines: {node: '>=8'} + resolve-cwd@3.0.0: dependencies: resolve-from: 5.0.0 - dev: true - /resolve-from@4.0.0: - resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} - engines: {node: '>=4'} - dev: true + resolve-from@4.0.0: {} - /resolve-from@5.0.0: - resolution: {integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==} - engines: {node: '>=8'} - dev: true + resolve-from@5.0.0: {} - /resolve-pkg-maps@1.0.0: - resolution: {integrity: sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==} - dev: true + resolve-pkg-maps@1.0.0: {} - /resolve.exports@2.0.2: - resolution: {integrity: sha512-X2UW6Nw3n/aMgDVy+0rSqgHlv39WZAlZrXCdnbyEiKm17DSqHX4MmQMaST3FbeWR5FTuRcUwYAziZajji0Y7mg==} - engines: {node: '>=10'} - dev: true + resolve.exports@2.0.2: {} - /resolve@1.19.0: - resolution: {integrity: sha512-rArEXAgsBG4UgRGcynxWIWKFvh/XZCcS8UJdHhwy91zwAvCZIbcs+vAbflgBnNjYMs/i/i+/Ux6IZhML1yPvxg==} + resolve@1.19.0: dependencies: is-core-module: 2.13.1 path-parse: 1.0.7 - dev: true - /resolve@1.22.8: - resolution: {integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==} - hasBin: true + resolve@1.22.8: dependencies: is-core-module: 2.13.1 path-parse: 1.0.7 supports-preserve-symlinks-flag: 1.0.0 - /responselike@2.0.1: - resolution: {integrity: sha512-4gl03wn3hj1HP3yzgdI7d3lCkF95F21Pz4BPGvKHinyQzALR5CapwC8yIi0Rh58DEMQ/SguC03wFj2k0M/mHhw==} + responselike@2.0.1: dependencies: lowercase-keys: 2.0.0 - dev: true - /restore-cursor@3.1.0: - resolution: {integrity: sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==} - engines: {node: '>=8'} + restore-cursor@3.1.0: dependencies: onetime: 5.1.2 signal-exit: 3.0.7 - dev: true - /restore-cursor@4.0.0: - resolution: {integrity: sha512-I9fPXU9geO9bHOt9pHHOhOkYerIMsmVaWB0rA2AI9ERh/+x/i7MV5HKBNrg+ljO5eoPVgCcnFuRjJ9uH6I/3eg==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + restore-cursor@4.0.0: dependencies: onetime: 5.1.2 signal-exit: 3.0.7 - dev: true - /ret@0.2.2: - resolution: {integrity: sha512-M0b3YWQs7R3Z917WRQy1HHA7Ba7D8hvZg6UE5mLykJxQVE2ju0IXbGlaHPPlkY+WN7wFP+wUMXmBFA0aV6vYGQ==} - engines: {node: '>=4'} - dev: true + ret@0.2.2: {} - /retry@0.13.1: - resolution: {integrity: sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==} - engines: {node: '>= 4'} - dev: true + retry@0.13.1: {} - /reusify@1.0.4: - resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} - engines: {iojs: '>=1.0.0', node: '>=0.10.0'} + reusify@1.0.4: {} - /rfdc@1.4.1: - resolution: {integrity: sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA==} - dev: true + rfdc@1.4.1: {} - /rimraf@2.7.1: - resolution: {integrity: sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==} - deprecated: Rimraf versions prior to v4 are no longer supported - hasBin: true + rimraf@2.7.1: dependencies: glob: 7.2.3 - dev: true - /rimraf@3.0.2: - resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} - deprecated: Rimraf versions prior to v4 are no longer supported - hasBin: true + rimraf@3.0.2: dependencies: glob: 7.2.3 - dev: true - /rimraf@5.0.7: - resolution: {integrity: sha512-nV6YcJo5wbLW77m+8KjH8aB/7/rxQy9SZ0HY5shnwULfS+9nmTtVXAJET5NdZmCzA4fPI/Hm1wo/Po/4mopOdg==} - engines: {node: '>=14.18'} - hasBin: true + rimraf@5.0.7: dependencies: glob: 10.4.1 - dev: true - /robust-predicates@3.0.2: - resolution: {integrity: sha512-IXgzBWvWQwE6PrDI05OvmXUIruQTcoMDzRsOd5CDvHCVLcLHMTSYvOK5Cm46kWqlV3yAbuSpBZdJ5oP5OUoStg==} - dev: false + robust-predicates@3.0.2: {} - /rollup-plugin-visualizer@5.12.0: - resolution: {integrity: sha512-8/NU9jXcHRs7Nnj07PF2o4gjxmm9lXIrZ8r175bT9dK8qoLlvKTwRMArRCMgpMGlq8CTLugRvEmyMeMXIU2pNQ==} - engines: {node: '>=14'} - hasBin: true - peerDependencies: - rollup: 2.x || 3.x || 4.x - peerDependenciesMeta: - rollup: - optional: true + rollup-plugin-visualizer@5.12.0(rollup@4.18.0): dependencies: open: 8.4.2 picomatch: 2.3.1 source-map: 0.7.4 yargs: 17.7.2 - dev: true - - /rollup@2.79.1: - resolution: {integrity: sha512-uKxbd0IhMZOhjAiD5oAFp7BqvkA4Dv47qpOCtaNvng4HBwdbWtdOh8f5nZNuk2rp51PMGk3bzfWu5oayNEuYnw==} - engines: {node: '>=10.0.0'} - hasBin: true optionalDependencies: - fsevents: 2.3.3 - dev: true + rollup: 4.18.0 - /rollup@3.29.4: - resolution: {integrity: sha512-oWzmBZwvYrU0iJHtDmhsm662rC15FRXmcjCk1xD771dFDx5jJ02ufAQQTn0etB2emNk4J9EZg/yWKpsn9BWGRw==} - engines: {node: '>=14.18.0', npm: '>=8.0.0'} - hasBin: true + rollup@2.79.1: optionalDependencies: fsevents: 2.3.3 - dev: true - /rollup@4.18.0: - resolution: {integrity: sha512-QmJz14PX3rzbJCN1SG4Xe/bAAX2a6NpCP8ab2vfu2GiUr8AQcr2nCV/oEO3yneFarB67zk8ShlIyWb2LGTb3Sg==} - engines: {node: '>=18.0.0', npm: '>=8.0.0'} - hasBin: true + rollup@4.18.0: dependencies: '@types/estree': 1.0.5 optionalDependencies: @@ -13927,157 +16546,94 @@ packages: '@rollup/rollup-win32-ia32-msvc': 4.18.0 '@rollup/rollup-win32-x64-msvc': 4.18.0 fsevents: 2.3.3 - dev: true - /roughjs@4.6.6: - resolution: {integrity: sha512-ZUz/69+SYpFN/g/lUlo2FXcIjRkSu3nDarreVdGGndHEBJ6cXPdKguS8JGxwj5HA5xIbVKSmLgr5b3AWxtRfvQ==} + roughjs@4.6.6: dependencies: hachure-fill: 0.5.2 path-data-parser: 0.1.0 points-on-curve: 0.2.0 points-on-path: 0.2.1 - dev: false - /rrweb-cssom@0.6.0: - resolution: {integrity: sha512-APM0Gt1KoXBz0iIkkdB/kfvGOwC4UuJFeG/c+yV7wSc7q96cG/kJ0HiYCnzivD9SB53cLV1MlHFNfOuPaadYSw==} - dev: true + rrweb-cssom@0.6.0: {} - /rrweb-cssom@0.7.1: - resolution: {integrity: sha512-TrEMa7JGdVm0UThDJSx7ddw5nVm3UJS9o9CCIZ72B1vSyEZoziDqBYP3XIoi/12lKrJR8rE3jeFHMok2F/Mnsg==} - dev: true + rrweb-cssom@0.7.1: {} - /run-parallel@1.2.0: - resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} + run-parallel@1.2.0: dependencies: queue-microtask: 1.2.3 - /rw@1.3.3: - resolution: {integrity: sha512-PdhdWy89SiZogBLaw42zdeqtRJ//zFd2PgQavcICDUgJT5oW10QCRKbJ6bg4r0/UY2M6BWd5tkxuGFRvCkgfHQ==} - dev: false + rw@1.3.3: {} - /rxjs@7.8.1: - resolution: {integrity: sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==} + rxjs@7.8.1: dependencies: tslib: 2.6.3 - dev: true - /safe-array-concat@1.1.2: - resolution: {integrity: sha512-vj6RsCsWBCf19jIeHEfkRMw8DPiBb+DMXklQ/1SGDHOMlHdPUkZXFQ2YdplS23zESTijAcurb1aSgJA3AgMu1Q==} - engines: {node: '>=0.4'} + safe-array-concat@1.1.2: dependencies: call-bind: 1.0.7 get-intrinsic: 1.2.4 has-symbols: 1.0.3 isarray: 2.0.5 - dev: true - /safe-buffer@5.1.2: - resolution: {integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==} - dev: true + safe-buffer@5.1.2: {} - /safe-buffer@5.2.1: - resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} + safe-buffer@5.2.1: {} - /safe-regex-test@1.0.3: - resolution: {integrity: sha512-CdASjNJPvRa7roO6Ra/gLYBTzYzzPyyBXxIMdGW3USQLyjWEls2RgW5UBTXaQVp+OrpeCK3bLem8smtmheoRuw==} - engines: {node: '>= 0.4'} + safe-regex-test@1.0.3: dependencies: call-bind: 1.0.7 es-errors: 1.3.0 is-regex: 1.1.4 - dev: true - /safe-regex2@2.0.0: - resolution: {integrity: sha512-PaUSFsUaNNuKwkBijoAPHAK6/eM6VirvyPWlZ7BAQy4D+hCvh4B6lIG+nPdhbFfIbP+gTGBcrdsOaUs0F+ZBOQ==} + safe-regex2@2.0.0: dependencies: ret: 0.2.2 - dev: true - /safe-stable-stringify@2.4.3: - resolution: {integrity: sha512-e2bDA2WJT0wxseVd4lsDP4+3ONX6HpMXQa1ZhFQ7SU+GjvORCmShbCMltrtIDfkYhVHrOcPtj+KhmDBdPdZD1g==} - engines: {node: '>=10'} - dev: false + safe-stable-stringify@2.4.3: {} - /safer-buffer@2.1.2: - resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} + safer-buffer@2.1.2: {} - /saxes@6.0.0: - resolution: {integrity: sha512-xAg7SOnEhrm5zI3puOOKyy1OMcMlIJZYNJY7xLBwSze0UjhPLnWfj2GF2EpT0jmzaJKIWKHLsaSSajf35bcYnA==} - engines: {node: '>=v12.22.7'} + saxes@6.0.0: dependencies: xmlchars: 2.2.0 - dev: true - /schema-utils@3.3.0: - resolution: {integrity: sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==} - engines: {node: '>= 10.13.0'} + schema-utils@3.3.0: dependencies: '@types/json-schema': 7.0.15 ajv: 6.12.6 ajv-keywords: 3.5.2(ajv@6.12.6) - dev: true - /schema-utils@4.2.0: - resolution: {integrity: sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw==} - engines: {node: '>= 12.13.0'} + schema-utils@4.2.0: dependencies: '@types/json-schema': 7.0.15 ajv: 8.16.0 ajv-formats: 2.1.1(ajv@8.16.0) ajv-keywords: 5.1.0(ajv@8.16.0) - dev: true - /search-insights@2.14.0: - resolution: {integrity: sha512-OLN6MsPMCghDOqlCtsIsYgtsC0pnwVTyT9Mu6A3ewOj1DxvzZF6COrn2g86E/c05xbktB0XN04m/t1Z+n+fTGw==} - dev: true + search-insights@2.14.0: {} - /secure-json-parse@2.7.0: - resolution: {integrity: sha512-6aU+Rwsezw7VR8/nyvKTx8QpWH9FrcYiXXlqC4z5d5XQBDRqtbfsRjnwGyqbi3gddNtWHuEk9OANUotL26qKUw==} - dev: true + secure-json-parse@2.7.0: {} - /select-hose@2.0.0: - resolution: {integrity: sha512-mEugaLK+YfkijB4fx0e6kImuJdCIt2LxCRcbEYPqRGCs4F2ogyfZU5IAZRdjCP8JPq2AtdNoC/Dux63d9Kiryg==} - dev: true + select-hose@2.0.0: {} - /selfsigned@2.4.1: - resolution: {integrity: sha512-th5B4L2U+eGLq1TVh7zNRGBapioSORUeymIydxgFpwww9d2qyKvtuPU2jJuHvYAwwqi2Y596QBL3eEqcPEYL8Q==} - engines: {node: '>=10'} + selfsigned@2.4.1: dependencies: '@types/node-forge': 1.3.11 node-forge: 1.3.1 - dev: true - /semver-store@0.3.0: - resolution: {integrity: sha512-TcZvGMMy9vodEFSse30lWinkj+JgOBvPn8wRItpQRSayhc+4ssDs335uklkfvQQJgL/WvmHLVj4Ycv2s7QCQMg==} - dev: true + semver-store@0.3.0: {} - /semver@5.7.2: - resolution: {integrity: sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==} - hasBin: true - dev: true + semver@5.7.2: {} - /semver@6.3.1: - resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} - hasBin: true - dev: true + semver@6.3.1: {} - /semver@7.5.4: - resolution: {integrity: sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==} - engines: {node: '>=10'} - hasBin: true + semver@7.5.4: dependencies: lru-cache: 6.0.0 - dev: true - /semver@7.6.2: - resolution: {integrity: sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==} - engines: {node: '>=10'} - hasBin: true - dev: true + semver@7.6.2: {} - /send@0.18.0: - resolution: {integrity: sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==} - engines: {node: '>= 0.8.0'} + send@0.18.0: dependencies: debug: 2.6.9 depd: 2.0.0 @@ -14094,17 +16650,12 @@ packages: statuses: 2.0.1 transitivePeerDependencies: - supports-color - dev: true - /serialize-javascript@6.0.2: - resolution: {integrity: sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==} + serialize-javascript@6.0.2: dependencies: randombytes: 2.1.0 - dev: true - /serve-index@1.9.1: - resolution: {integrity: sha512-pXHfKNP4qujrtteMrSBb0rc8HJ9Ms/GrXwcUtUtD5s4ewDJI8bT3Cz2zTVRMKtri49pLx2e0Ya8ziP5Ya2pZZw==} - engines: {node: '>= 0.8.0'} + serve-index@1.9.1: dependencies: accepts: 1.3.8 batch: 0.6.1 @@ -14115,11 +16666,8 @@ packages: parseurl: 1.3.3 transitivePeerDependencies: - supports-color - dev: true - /serve-static@1.15.0: - resolution: {integrity: sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==} - engines: {node: '>= 0.8.0'} + serve-static@1.15.0: dependencies: encodeurl: 1.0.2 escape-html: 1.0.3 @@ -14127,19 +16675,12 @@ packages: send: 0.18.0 transitivePeerDependencies: - supports-color - dev: true - /set-blocking@2.0.0: - resolution: {integrity: sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==} - dev: true + set-blocking@2.0.0: {} - /set-cookie-parser@2.6.0: - resolution: {integrity: sha512-RVnVQxTXuerk653XfuliOxBP81Sf0+qfQE73LIYKcyMYHG94AuH0kgrQpRDuTZnSmjpysHmzxJXKNfa6PjFhyQ==} - dev: true + set-cookie-parser@2.6.0: {} - /set-function-length@1.2.2: - resolution: {integrity: sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==} - engines: {node: '>= 0.4'} + set-function-length@1.2.2: dependencies: define-data-property: 1.1.4 es-errors: 1.3.0 @@ -14147,266 +16688,149 @@ packages: get-intrinsic: 1.2.4 gopd: 1.0.1 has-property-descriptors: 1.0.2 - dev: true - /set-function-name@2.0.2: - resolution: {integrity: sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==} - engines: {node: '>= 0.4'} + set-function-name@2.0.2: dependencies: define-data-property: 1.1.4 es-errors: 1.3.0 functions-have-names: 1.2.3 has-property-descriptors: 1.0.2 - dev: true - /setprototypeof@1.1.0: - resolution: {integrity: sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==} - dev: true + setprototypeof@1.1.0: {} - /setprototypeof@1.2.0: - resolution: {integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==} - dev: true + setprototypeof@1.2.0: {} - /shallow-clone@3.0.1: - resolution: {integrity: sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==} - engines: {node: '>=8'} + shallow-clone@3.0.1: dependencies: kind-of: 6.0.3 - dev: true - /shebang-command@1.2.0: - resolution: {integrity: sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==} - engines: {node: '>=0.10.0'} + shebang-command@1.2.0: dependencies: shebang-regex: 1.0.0 - dev: true - /shebang-command@2.0.0: - resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} - engines: {node: '>=8'} + shebang-command@2.0.0: dependencies: shebang-regex: 3.0.0 - /shebang-regex@1.0.0: - resolution: {integrity: sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==} - engines: {node: '>=0.10.0'} - dev: true + shebang-regex@1.0.0: {} - /shebang-regex@3.0.0: - resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} - engines: {node: '>=8'} + shebang-regex@3.0.0: {} - /shell-quote@1.8.1: - resolution: {integrity: sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA==} - dev: true + shell-quote@1.8.1: {} - /shiki@0.14.7: - resolution: {integrity: sha512-dNPAPrxSc87ua2sKJ3H5dQ/6ZaY8RNnaAqK+t0eG7p0Soi2ydiqbGOTaZCqaYvA/uZYfS1LJnemt3Q+mSfcPCg==} + shiki@0.14.7: dependencies: ansi-sequence-parser: 1.1.1 jsonc-parser: 3.2.1 vscode-oniguruma: 1.7.0 vscode-textmate: 8.0.0 - dev: true - /shiki@1.6.4: - resolution: {integrity: sha512-X88chM7w8jnadoZtjPTi5ahCJx9pc9f8GfEkZAEYUTlcUZIEw2D/RY86HI/LkkE7Nj8TQWkiBfaFTJ3VJT6ESg==} + shiki@1.6.4: dependencies: '@shikijs/core': 1.6.4 - dev: true - - /shikiji-core@0.9.19: - resolution: {integrity: sha512-AFJu/vcNT21t0e6YrfadZ+9q86gvPum6iywRyt1OtIPjPFe25RQnYJyxHQPMLKCCWA992TPxmEmbNcOZCAJclw==} - dev: true - - /shikiji-transformers@0.9.19: - resolution: {integrity: sha512-lGLI7Z8frQrIBbhZ74/eiJtxMoCQRbpaHEB+gcfvdIy+ZFaAtXncJGnc52932/UET+Y4GyKtwwC/vjWUCp+c/Q==} - dependencies: - shikiji: 0.9.19 - dev: true - - /shikiji@0.9.19: - resolution: {integrity: sha512-Kw2NHWktdcdypCj1GkKpXH4o6Vxz8B8TykPlPuLHOGSV8VkhoCLcFOH4k19K4LXAQYRQmxg+0X/eM+m2sLhAkg==} - dependencies: - shikiji-core: 0.9.19 - dev: true - /side-channel@1.0.6: - resolution: {integrity: sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==} - engines: {node: '>= 0.4'} + side-channel@1.0.6: dependencies: call-bind: 1.0.7 es-errors: 1.3.0 get-intrinsic: 1.2.4 object-inspect: 1.13.1 - dev: true - /siginfo@2.0.0: - resolution: {integrity: sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==} - dev: true + siginfo@2.0.0: {} - /signal-exit@3.0.7: - resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} - dev: true + signal-exit@3.0.7: {} - /signal-exit@4.1.0: - resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} - engines: {node: '>=14'} + signal-exit@4.1.0: {} - /simple-swizzle@0.2.2: - resolution: {integrity: sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg==} + simple-swizzle@0.2.2: dependencies: is-arrayish: 0.3.2 - dev: false - /sirv@2.0.4: - resolution: {integrity: sha512-94Bdh3cC2PKrbgSOUqTiGPWVZeSiXfKOVZNJniWoqrWrRkB1CJzBU3NEbiTsPcYy1lDsANA/THzS+9WBiy5nfQ==} - engines: {node: '>= 10'} + sirv@2.0.4: dependencies: '@polka/url': 1.0.0-next.25 mrmime: 2.0.0 totalist: 3.0.1 - dev: true - /sisteransi@1.0.5: - resolution: {integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==} - dev: true + sisteransi@1.0.5: {} - /slash@3.0.0: - resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} - engines: {node: '>=8'} - dev: true + slash@3.0.0: {} - /slash@4.0.0: - resolution: {integrity: sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==} - engines: {node: '>=12'} - dev: true + slash@4.0.0: {} - /slash@5.1.0: - resolution: {integrity: sha512-ZA6oR3T/pEyuqwMgAKT0/hAv8oAXckzbkmR0UkUosQ+Mc4RxGoJkRmwHgHufaenlyAgE1Mxgpdcrf75y6XcnDg==} - engines: {node: '>=14.16'} - dev: true + slash@5.1.0: {} - /slice-ansi@3.0.0: - resolution: {integrity: sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ==} - engines: {node: '>=8'} + slice-ansi@3.0.0: dependencies: ansi-styles: 4.3.0 astral-regex: 2.0.0 is-fullwidth-code-point: 3.0.0 - dev: true - /slice-ansi@4.0.0: - resolution: {integrity: sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==} - engines: {node: '>=10'} + slice-ansi@4.0.0: dependencies: ansi-styles: 4.3.0 astral-regex: 2.0.0 is-fullwidth-code-point: 3.0.0 - dev: true - /slice-ansi@5.0.0: - resolution: {integrity: sha512-FC+lgizVPfie0kkhqUScwRu1O/lF6NOgJmlCgK+/LYxDCTk8sGelYaHDhFcDN+Sn3Cv+3VSa4Byeo+IMCzpMgQ==} - engines: {node: '>=12'} + slice-ansi@5.0.0: dependencies: ansi-styles: 6.2.1 is-fullwidth-code-point: 4.0.0 - dev: true - /slice-ansi@7.1.0: - resolution: {integrity: sha512-bSiSngZ/jWeX93BqeIAbImyTbEihizcwNjFoRUIY/T1wWQsfsm2Vw1agPKylXvQTU7iASGdHhyqRlqQzfz+Htg==} - engines: {node: '>=18'} + slice-ansi@7.1.0: dependencies: ansi-styles: 6.2.1 is-fullwidth-code-point: 5.0.0 - dev: true - /smob@1.5.0: - resolution: {integrity: sha512-g6T+p7QO8npa+/hNx9ohv1E5pVCmWrVCUzUXJyLdMmftX6ER0oiWY/w9knEonLpnOp6b6FenKnMfR8gqwWdwig==} - dev: true + smob@1.5.0: {} - /sockjs@0.3.24: - resolution: {integrity: sha512-GJgLTZ7vYb/JtPSSZ10hsOYIvEYsjbNU+zPdIHcUaWVNUEPivzxku31865sSSud0Da0W4lEeOPlmw93zLQchuQ==} + sockjs@0.3.24: dependencies: faye-websocket: 0.11.4 uuid: 8.3.2 websocket-driver: 0.7.4 - dev: true - /sonic-boom@1.4.1: - resolution: {integrity: sha512-LRHh/A8tpW7ru89lrlkU4AszXt1dbwSjVWguGrmlxE7tawVmDBlI1PILMkXAxJTwqhgsEeTHzj36D5CmHgQmNg==} + sonic-boom@1.4.1: dependencies: atomic-sleep: 1.0.0 flatstr: 1.0.12 - dev: true - /sonic-boom@3.8.1: - resolution: {integrity: sha512-y4Z8LCDBuum+PBP3lSV7RHrXscqksve/bi0as7mhwVnBW+/wUqKT/2Kb7um8yqcFy0duYbbPxzt89Zy2nOCaxg==} + sonic-boom@3.8.1: dependencies: atomic-sleep: 1.0.0 - dev: false - /source-map-js@1.0.1: - resolution: {integrity: sha512-4+TN2b3tqOCd/kaGRJ/sTYA0tR0mdXx26ipdolxcwtJVqEnqNYvlCAt1q3ypy4QMlYus+Zh34RNtYLoq2oQ4IA==} - engines: {node: '>=0.10.0'} - dev: true + source-map-js@1.0.1: {} - /source-map-js@1.2.0: - resolution: {integrity: sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==} - engines: {node: '>=0.10.0'} + source-map-js@1.2.0: {} - /source-map-support@0.5.13: - resolution: {integrity: sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==} + source-map-support@0.5.13: dependencies: buffer-from: 1.1.2 source-map: 0.6.1 - dev: true - /source-map-support@0.5.21: - resolution: {integrity: sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==} + source-map-support@0.5.21: dependencies: buffer-from: 1.1.2 source-map: 0.6.1 - dev: true - /source-map@0.1.43: - resolution: {integrity: sha512-VtCvB9SIQhk3aF6h+N85EaqIaBFIAfZ9Cu+NJHHVvc8BbEcnvDcFw6sqQ2dQrT6SlOrZq3tIvyD9+EGq/lJryQ==} - engines: {node: '>=0.8.0'} - requiresBuild: true + source-map@0.1.43: dependencies: amdefine: 1.0.1 - dev: true optional: true - /source-map@0.6.1: - resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} - engines: {node: '>=0.10.0'} - dev: true + source-map@0.6.1: {} - /source-map@0.7.4: - resolution: {integrity: sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==} - engines: {node: '>= 8'} - dev: true + source-map@0.7.4: {} - /source-map@0.8.0-beta.0: - resolution: {integrity: sha512-2ymg6oRBpebeZi9UUNsgQ89bhx01TcTkmNTGnNO88imTmbSgy4nfujrgVEFKWpMTEGA11EDkTt7mqObTPdigIA==} - engines: {node: '>= 8'} + source-map@0.8.0-beta.0: dependencies: whatwg-url: 7.1.0 - dev: true - /sourcemap-codec@1.4.8: - resolution: {integrity: sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==} - deprecated: Please use @jridgewell/sourcemap-codec instead - dev: true + sourcemap-codec@1.4.8: {} - /spawn-command@0.0.2: - resolution: {integrity: sha512-zC8zGoGkmc8J9ndvml8Xksr1Amk9qBujgbF0JAIWO7kXr43w0h/0GJNM/Vustixu+YE8N/MTrQ7N31FvHUACxQ==} - dev: true + spawn-command@0.0.2: {} - /spawn-wrap@2.0.0: - resolution: {integrity: sha512-EeajNjfN9zMnULLwhZZQU3GWBoFNkbngTUPfaawT4RkMiviTxcX0qfhVbGey39mfctfDHkWtuecgQ8NJcyQWHg==} - engines: {node: '>=8'} + spawn-wrap@2.0.0: dependencies: foreground-child: 2.0.0 is-windows: 1.0.2 @@ -14414,39 +16838,27 @@ packages: rimraf: 3.0.2 signal-exit: 3.0.7 which: 2.0.2 - dev: true - /spdx-correct@3.2.0: - resolution: {integrity: sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==} + spdx-correct@3.2.0: dependencies: spdx-expression-parse: 3.0.1 spdx-license-ids: 3.0.18 - dev: true - /spdx-exceptions@2.5.0: - resolution: {integrity: sha512-PiU42r+xO4UbUS1buo3LPJkjlO7430Xn5SVAhdpzzsPHsjbYVflnnFdATgabnLude+Cqu25p6N+g2lw/PFsa4w==} - dev: true + spdx-exceptions@2.5.0: {} - /spdx-expression-parse@3.0.1: - resolution: {integrity: sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==} + spdx-expression-parse@3.0.1: dependencies: spdx-exceptions: 2.5.0 spdx-license-ids: 3.0.18 - dev: true - /spdx-expression-parse@4.0.0: - resolution: {integrity: sha512-Clya5JIij/7C6bRR22+tnGXbc4VKlibKSVj2iHvVeX5iMW7s1SIQlqu699JkODJJIhh/pUu8L0/VLh8xflD+LQ==} + spdx-expression-parse@4.0.0: dependencies: spdx-exceptions: 2.5.0 spdx-license-ids: 3.0.18 - dev: true - /spdx-license-ids@3.0.18: - resolution: {integrity: sha512-xxRs31BqRYHwiMzudOrpSiHtZ8i/GeionCBDSilhYRj+9gIcI8wCZTlXZKu9vZIVqViP3dcp9qE5G6AlIaD+TQ==} - dev: true + spdx-license-ids@3.0.18: {} - /spdy-transport@3.0.0: - resolution: {integrity: sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==} + spdy-transport@3.0.0: dependencies: debug: 4.3.5(supports-color@8.1.1) detect-node: 2.1.0 @@ -14456,11 +16868,8 @@ packages: wbuf: 1.7.3 transitivePeerDependencies: - supports-color - dev: true - /spdy@4.0.2: - resolution: {integrity: sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA==} - engines: {node: '>=6.0.0'} + spdy@4.0.2: dependencies: debug: 4.3.5(supports-color@8.1.1) handle-thing: 2.0.1 @@ -14469,32 +16878,18 @@ packages: spdy-transport: 3.0.0 transitivePeerDependencies: - supports-color - dev: true - /speakingurl@14.0.1: - resolution: {integrity: sha512-1POYv7uv2gXoyGFpBCmpDVSNV74IfsWlDW216UPjbWufNf+bSU6GdbDsxdcxtfwb4xlI3yxzOTKClUosxARYrQ==} - engines: {node: '>=0.10.0'} - dev: true + speakingurl@14.0.1: {} - /split2@4.2.0: - resolution: {integrity: sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg==} - engines: {node: '>= 10.x'} - dev: false + split2@4.2.0: {} - /split@0.3.3: - resolution: {integrity: sha512-wD2AeVmxXRBoX44wAycgjVpMhvbwdI2aZjCkvfNcH1YqHQvJVa1duWc73OyVGJUc05fhFaTZeQ/PYsrmyH0JVA==} + split@0.3.3: dependencies: through: 2.3.8 - dev: true - /sprintf-js@1.0.3: - resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==} - dev: true + sprintf-js@1.0.3: {} - /sshpk@1.18.0: - resolution: {integrity: sha512-2p2KJZTSqQ/I3+HX42EpYOa2l3f8Erv8MWKsy2I9uf4wA7yFIkXRffYdsx86y6z4vHtV8u7g+pPlr8/4ouAxsQ==} - engines: {node: '>=0.10.0'} - hasBin: true + sshpk@1.18.0: dependencies: asn1: 0.2.6 assert-plus: 1.0.0 @@ -14505,27 +16900,16 @@ packages: jsbn: 0.1.1 safer-buffer: 2.1.2 tweetnacl: 0.14.5 - dev: true - /ssim.js@3.5.0: - resolution: {integrity: sha512-Aj6Jl2z6oDmgYFFbQqK7fght19bXdOxY7Tj03nF+03M9gCBAjeIiO8/PlEGMfKDwYpw4q6iBqVq2YuREorGg/g==} - dev: true + ssim.js@3.5.0: {} - /stack-utils@2.0.6: - resolution: {integrity: sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==} - engines: {node: '>=10'} + stack-utils@2.0.6: dependencies: escape-string-regexp: 2.0.0 - dev: true - /stackback@0.0.2: - resolution: {integrity: sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==} - dev: true + stackback@0.0.2: {} - /start-server-and-test@2.0.4: - resolution: {integrity: sha512-CKNeBTcP0hVqIlNismHMudb9q3lLdAjcVPO13/7gfI66fcJpeIb/o4NzQd1JK/CD+lfWVqr10ZH9Y14+OwlJuw==} - engines: {node: '>=16'} - hasBin: true + start-server-and-test@2.0.4: dependencies: arg: 5.0.2 bluebird: 3.7.2 @@ -14537,74 +16921,45 @@ packages: wait-on: 7.2.0(debug@4.3.5) transitivePeerDependencies: - supports-color - dev: true - /statuses@1.5.0: - resolution: {integrity: sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==} - engines: {node: '>= 0.6'} - dev: true + statuses@1.5.0: {} - /statuses@2.0.1: - resolution: {integrity: sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==} - engines: {node: '>= 0.8'} - dev: true + statuses@2.0.1: {} - /std-env@3.7.0: - resolution: {integrity: sha512-JPbdCEQLj1w5GilpiHAx3qJvFndqybBysA3qUOnznweH4QbNYUsW/ea8QzSrnh0vNsezMMw5bcVool8lM0gwzg==} - dev: true + std-env@3.7.0: {} - /stream-combiner@0.0.4: - resolution: {integrity: sha512-rT00SPnTVyRsaSz5zgSPma/aHSOic5U1prhYdRy5HS2kTZviFpmDgzilbtsJsxiroqACmayynDN/9VzIbX5DOw==} + stream-combiner@0.0.4: dependencies: duplexer: 0.1.2 - dev: true - /string-argv@0.3.2: - resolution: {integrity: sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q==} - engines: {node: '>=0.6.19'} - dev: true + string-argv@0.3.2: {} - /string-length@4.0.2: - resolution: {integrity: sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==} - engines: {node: '>=10'} + string-length@4.0.2: dependencies: char-regex: 1.0.2 strip-ansi: 6.0.1 - dev: true - /string-similarity@4.0.4: - resolution: {integrity: sha512-/q/8Q4Bl4ZKAPjj8WerIBJWALKkaPRfrvhfF8k/B23i4nzrlRj2/go1m90In7nG/3XDSbOo0+pu6RvCTM9RGMQ==} - deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info. - dev: true + string-similarity@4.0.4: {} - /string-width@4.2.3: - resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} - engines: {node: '>=8'} + string-width@4.2.3: dependencies: emoji-regex: 8.0.0 is-fullwidth-code-point: 3.0.0 strip-ansi: 6.0.1 - /string-width@5.1.2: - resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==} - engines: {node: '>=12'} + string-width@5.1.2: dependencies: eastasianwidth: 0.2.0 emoji-regex: 9.2.2 strip-ansi: 7.1.0 - /string-width@7.1.0: - resolution: {integrity: sha512-SEIJCWiX7Kg4c129n48aDRwLbFb2LJmXXFrWBG4NGaRtMQ3myKPKbwrD1BKqQn74oCoNMBVrfDEr5M9YxCsrkw==} - engines: {node: '>=18'} + string-width@7.1.0: dependencies: emoji-regex: 10.3.0 get-east-asian-width: 1.2.0 strip-ansi: 7.1.0 - dev: true - /string.prototype.matchall@4.0.11: - resolution: {integrity: sha512-NUdh0aDavY2og7IbBPenWqR9exH+E26Sv8e0/eTe1tltDGZL+GtBkDAnnyBtmekfK6/Dq3MkcGtzXFEd1LQrtg==} - engines: {node: '>= 0.4'} + string.prototype.matchall@4.0.11: dependencies: call-bind: 1.0.7 define-properties: 1.2.1 @@ -14618,125 +16973,75 @@ packages: regexp.prototype.flags: 1.5.2 set-function-name: 2.0.2 side-channel: 1.0.6 - dev: true - /string.prototype.trim@1.2.9: - resolution: {integrity: sha512-klHuCNxiMZ8MlsOihJhJEBJAiMVqU3Z2nEXWfWnIqjN0gEFS9J9+IxKozWWtQGcgoa1WUZzLjKPTr4ZHNFTFxw==} - engines: {node: '>= 0.4'} + string.prototype.trim@1.2.9: dependencies: call-bind: 1.0.7 define-properties: 1.2.1 es-abstract: 1.23.3 es-object-atoms: 1.0.0 - dev: true - /string.prototype.trimend@1.0.8: - resolution: {integrity: sha512-p73uL5VCHCO2BZZ6krwwQE3kCzM7NKmis8S//xEC6fQonchbum4eP6kR4DLEjQFO3Wnj3Fuo8NM0kOSjVdHjZQ==} + string.prototype.trimend@1.0.8: dependencies: call-bind: 1.0.7 define-properties: 1.2.1 es-object-atoms: 1.0.0 - dev: true - /string.prototype.trimstart@1.0.8: - resolution: {integrity: sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==} - engines: {node: '>= 0.4'} + string.prototype.trimstart@1.0.8: dependencies: call-bind: 1.0.7 define-properties: 1.2.1 es-object-atoms: 1.0.0 - dev: true - /string_decoder@1.1.1: - resolution: {integrity: sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==} + string_decoder@1.1.1: dependencies: safe-buffer: 5.1.2 - dev: true - /string_decoder@1.3.0: - resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==} + string_decoder@1.3.0: dependencies: safe-buffer: 5.2.1 - /stringify-object@3.3.0: - resolution: {integrity: sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw==} - engines: {node: '>=4'} + stringify-object@3.3.0: dependencies: get-own-enumerable-property-symbols: 3.0.2 is-obj: 1.0.1 is-regexp: 1.0.0 - dev: true - /strip-ansi@3.0.1: - resolution: {integrity: sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==} - engines: {node: '>=0.10.0'} + strip-ansi@3.0.1: dependencies: ansi-regex: 2.1.1 - dev: true - /strip-ansi@6.0.1: - resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} - engines: {node: '>=8'} + strip-ansi@6.0.1: dependencies: ansi-regex: 5.0.1 - /strip-ansi@7.1.0: - resolution: {integrity: sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==} - engines: {node: '>=12'} + strip-ansi@7.1.0: dependencies: ansi-regex: 6.0.1 - /strip-bom@4.0.0: - resolution: {integrity: sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==} - engines: {node: '>=8'} - dev: true + strip-bom@4.0.0: {} - /strip-comments@2.0.1: - resolution: {integrity: sha512-ZprKx+bBLXv067WTCALv8SSz5l2+XhpYCsVtSqlMnkAXMWDq+/ekVbl1ghqP9rUHTzv6sm/DwCOiYutU/yp1fw==} - engines: {node: '>=10'} - dev: true + strip-comments@2.0.1: {} - /strip-eof@1.0.0: - resolution: {integrity: sha512-7FCwGGmx8mD5xQd3RPUvnSpUXHM3BWuzjtpD4TXsfcZ9EL4azvVVUscFYwD9nx8Kh+uCBC00XBtAykoMHwTh8Q==} - engines: {node: '>=0.10.0'} - dev: true + strip-eof@1.0.0: {} - /strip-final-newline@2.0.0: - resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==} - engines: {node: '>=6'} - dev: true + strip-final-newline@2.0.0: {} - /strip-final-newline@3.0.0: - resolution: {integrity: sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==} - engines: {node: '>=12'} - dev: true + strip-final-newline@3.0.0: {} - /strip-indent@3.0.0: - resolution: {integrity: sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==} - engines: {node: '>=8'} + strip-indent@3.0.0: dependencies: min-indent: 1.0.1 - dev: true - /strip-json-comments@3.1.1: - resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} - engines: {node: '>=8'} - dev: true + strip-json-comments@3.1.1: {} - /strip-literal@2.1.0: - resolution: {integrity: sha512-Op+UycaUt/8FbN/Z2TWPBLge3jWrP3xj10f3fnYxf052bKuS3EKs1ZQcVGjnEMdsNVAM+plXRdmjrZ/KgG3Skw==} + strip-literal@2.1.0: dependencies: js-tokens: 9.0.0 - dev: true - /stylis@4.3.2: - resolution: {integrity: sha512-bhtUjWd/z6ltJiQwg0dUfxEJ+W+jdqQd8TbWLWyeIJHlnsqmGLRFFd8e5mA0AZi/zx90smXRlN66YMTcaSFifg==} - dev: false + stylis@4.3.2: {} - /sucrase@3.35.0: - resolution: {integrity: sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA==} - engines: {node: '>=16 || 14 >=14.17'} - hasBin: true + sucrase@3.35.0: dependencies: '@jridgewell/gen-mapping': 0.3.5 commander: 4.1.1 @@ -14745,57 +17050,33 @@ packages: mz: 2.7.0 pirates: 4.0.6 ts-interface-checker: 0.1.13 - dev: false - /supports-color@2.0.0: - resolution: {integrity: sha512-KKNVtd6pCYgPIKU4cp2733HWYCpplQhddZLBUryaAHou723x+FRzQ5Df824Fj+IyyuiQTRoub4SnIFfIcrp70g==} - engines: {node: '>=0.8.0'} - dev: true + supports-color@2.0.0: {} - /supports-color@5.5.0: - resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} - engines: {node: '>=4'} + supports-color@5.5.0: dependencies: has-flag: 3.0.0 - dev: true - /supports-color@7.2.0: - resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} - engines: {node: '>=8'} + supports-color@7.2.0: dependencies: has-flag: 4.0.0 - dev: true - /supports-color@8.1.1: - resolution: {integrity: sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==} - engines: {node: '>=10'} + supports-color@8.1.1: dependencies: has-flag: 4.0.0 - /supports-preserve-symlinks-flag@1.0.0: - resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} - engines: {node: '>= 0.4'} + supports-preserve-symlinks-flag@1.0.0: {} - /symbol-tree@3.2.4: - resolution: {integrity: sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==} - dev: true + symbol-tree@3.2.4: {} - /synckit@0.9.0: - resolution: {integrity: sha512-7RnqIMq572L8PeEzKeBINYEJDDxpcH8JEgLwUqBd3TkofhFRbkq4QLR0u+36avGAhCRbk2nnmjcW9SE531hPDg==} - engines: {node: ^14.18.0 || >=16.0.0} + synckit@0.9.0: dependencies: '@pkgr/core': 0.1.1 tslib: 2.6.3 - dev: true - /tabbable@6.2.0: - resolution: {integrity: sha512-Cat63mxsVJlzYvN51JmVXIgNoUokrIaT2zLclCXjRd8boZ0004U4KCs/sToJ75C6sdlByWxpYnb5Boif1VSFew==} - dev: true + tabbable@6.2.0: {} - /tailwindcss@3.4.4: - resolution: {integrity: sha512-ZoyXOdJjISB7/BcLTR6SEsLgKtDStYyYZVLsUtWChO4Ps20CBad7lfJKVDiejocV4ME1hLmyY0WJE3hSDcmQ2A==} - engines: {node: '>=14.0.0'} - hasBin: true + tailwindcss@3.4.4: dependencies: '@alloc/quick-lru': 5.2.0 arg: 5.0.2 @@ -14821,16 +17102,10 @@ packages: sucrase: 3.35.0 transitivePeerDependencies: - ts-node - dev: false - /tapable@2.2.1: - resolution: {integrity: sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==} - engines: {node: '>=6'} - dev: true + tapable@2.2.1: {} - /teen_process@1.16.0: - resolution: {integrity: sha512-RnW7HHZD1XuhSTzD3djYOdIl1adE3oNEprE3HOFFxWs5m4FZsqYRhKJ4mDU2udtNGMLUS7jV7l8vVRLWAvmPDw==} - engines: {'0': node} + teen_process@1.16.0: dependencies: '@babel/runtime': 7.24.7 bluebird: 3.7.2 @@ -14838,347 +17113,200 @@ packages: shell-quote: 1.8.1 source-map-support: 0.5.21 which: 2.0.2 - dev: true - /temp-dir@2.0.0: - resolution: {integrity: sha512-aoBAniQmmwtcKp/7BzsH8Cxzv8OL736p7v1ihGb5e9DJ9kTwGWHrQrVB5+lfVDzfGrdRzXch+ig7LHaY1JTOrg==} - engines: {node: '>=8'} - dev: true + temp-dir@2.0.0: {} - /tempy@0.6.0: - resolution: {integrity: sha512-G13vtMYPT/J8A4X2SjdtBTphZlrp1gKv6hZiOjw14RCWg6GbHuQBGtjlx75xLbYV/wEc0D7G5K4rxKP/cXk8Bw==} - engines: {node: '>=10'} + tempy@0.6.0: dependencies: is-stream: 2.0.1 temp-dir: 2.0.0 type-fest: 0.16.0 unique-string: 2.0.0 - dev: true - /term-img@4.1.0: - resolution: {integrity: sha512-DFpBhaF5j+2f7kheKFc1ajsAUUDGOaNPpKPtiIMxlbfud6mvfFZuWGnTRpaujUa5J7yl6cIw/h6nyr4mSsENPg==} - engines: {node: '>=8'} + term-img@4.1.0: dependencies: ansi-escapes: 4.3.2 iterm2-version: 4.2.0 - dev: true - /terser-webpack-plugin@5.3.10(esbuild@0.20.2)(webpack@5.92.0): - resolution: {integrity: sha512-BKFPWlPDndPs+NGGCr1U59t0XScL5317Y0UReNrHaw9/FwhPENlq6bfgs+4yPfyP51vqC1bQ4rp1EfXW5ZSH9w==} - engines: {node: '>= 10.13.0'} - peerDependencies: - '@swc/core': '*' - esbuild: '*' - uglify-js: '*' - webpack: ^5.1.0 - peerDependenciesMeta: - '@swc/core': - optional: true - esbuild: - optional: true - uglify-js: - optional: true + terser-webpack-plugin@5.3.10(esbuild@0.20.2)(webpack@5.92.0(esbuild@0.20.2)(webpack-cli@4.10.0)): dependencies: '@jridgewell/trace-mapping': 0.3.25 - esbuild: 0.20.2 jest-worker: 27.5.1 schema-utils: 3.3.0 serialize-javascript: 6.0.2 terser: 5.31.1 webpack: 5.92.0(esbuild@0.20.2)(webpack-cli@4.10.0) - dev: true + optionalDependencies: + esbuild: 0.20.2 - /terser@5.31.1: - resolution: {integrity: sha512-37upzU1+viGvuFtBo9NPufCb9dwM0+l9hMxYyWfBA+fbwrPqNJAhbZ6W47bBFnZHKHTUBnMvi87434qq+qnxOg==} - engines: {node: '>=10'} - hasBin: true + terser-webpack-plugin@5.3.10(esbuild@0.20.2)(webpack@5.92.0(esbuild@0.20.2)): + dependencies: + '@jridgewell/trace-mapping': 0.3.25 + jest-worker: 27.5.1 + schema-utils: 3.3.0 + serialize-javascript: 6.0.2 + terser: 5.31.1 + webpack: 5.92.0(esbuild@0.20.2) + optionalDependencies: + esbuild: 0.20.2 + + terser@5.31.1: dependencies: '@jridgewell/source-map': 0.3.6 acorn: 8.11.3 commander: 2.20.3 source-map-support: 0.5.21 - dev: true - /test-exclude@6.0.0: - resolution: {integrity: sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==} - engines: {node: '>=8'} + test-exclude@6.0.0: dependencies: '@istanbuljs/schema': 0.1.3 glob: 7.2.3 minimatch: 3.1.2 - dev: true - /text-table@0.2.0: - resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==} - dev: true + text-table@0.2.0: {} - /thenify-all@1.6.0: - resolution: {integrity: sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==} - engines: {node: '>=0.8'} + thenify-all@1.6.0: dependencies: thenify: 3.3.1 - /thenify@3.3.1: - resolution: {integrity: sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==} + thenify@3.3.1: dependencies: any-promise: 1.3.0 - /thread-stream@2.7.0: - resolution: {integrity: sha512-qQiRWsU/wvNolI6tbbCKd9iKaTnCXsTwVxhhKM6nctPdujTyztjlbUkUTUymidWcMnZ5pWR0ej4a0tjsW021vw==} + thread-stream@2.7.0: dependencies: real-require: 0.2.0 - dev: false - /throat@6.0.2: - resolution: {integrity: sha512-WKexMoJj3vEuK0yFEapj8y64V0A6xcuPuK9Gt1d0R+dzCSJc0lHqQytAbSB4cDAK0dWh4T0E2ETkoLE2WZ41OQ==} - dev: true + throat@6.0.2: {} - /throttleit@1.0.1: - resolution: {integrity: sha512-vDZpf9Chs9mAdfY046mcPt8fg5QSZr37hEH4TXYBnDF+izxgrbRGUAAaBvIk/fJm9aOFCGFd1EsNg5AZCbnQCQ==} - dev: true + throttleit@1.0.1: {} - /through@2.3.8: - resolution: {integrity: sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==} - dev: true + through@2.3.8: {} - /thunky@1.1.0: - resolution: {integrity: sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==} - dev: true + thunky@1.1.0: {} - /timers-ext@0.1.8: - resolution: {integrity: sha512-wFH7+SEAcKfJpfLPkrgMPvvwnEtj8W4IurvEyrKsDleXnKLCDw71w8jltvfLa8Rm4qQxxT4jmDBYbJG/z7qoww==} - engines: {node: '>=0.12'} + timers-ext@0.1.8: dependencies: es5-ext: 0.10.64 next-tick: 1.1.0 - dev: true - /tiny-lru@8.0.2: - resolution: {integrity: sha512-ApGvZ6vVvTNdsmt676grvCkUCGwzG9IqXma5Z07xJgiC5L7akUMof5U8G2JTI9Rz/ovtVhJBlY6mNhEvtjzOIg==} - engines: {node: '>=6'} - dev: true + tiny-lru@8.0.2: {} - /tinybench@2.8.0: - resolution: {integrity: sha512-1/eK7zUnIklz4JUUlL+658n58XO2hHLQfSk1Zf2LKieUjxidN16eKFEoDEfjHc3ohofSSqK3X5yO6VGb6iW8Lw==} - dev: true + tinybench@2.8.0: {} - /tinypool@0.8.4: - resolution: {integrity: sha512-i11VH5gS6IFeLY3gMBQ00/MmLncVP7JLXOw1vlgkytLmJK7QnEr7NXf0LBdxfmNPAeyetukOk0bOYrJrFGjYJQ==} - engines: {node: '>=14.0.0'} - dev: true + tinypool@0.8.4: {} - /tinyspy@2.2.1: - resolution: {integrity: sha512-KYad6Vy5VDWV4GH3fjpseMQ/XU2BhIYP7Vzd0LG44qRWm/Yt2WCOTicFdvmgo6gWaqooMQCawTtILVQJupKu7A==} - engines: {node: '>=14.0.0'} - dev: true + tinyspy@2.2.1: {} - /tmp@0.2.3: - resolution: {integrity: sha512-nZD7m9iCPC5g0pYmcaxogYKggSfLsdxl8of3Q/oIbqCqLLIO9IAF0GWjX1z9NZRHPiXv8Wex4yDCaZsgEw0Y8w==} - engines: {node: '>=14.14'} - dev: true + tmp@0.2.3: {} - /tmpl@1.0.5: - resolution: {integrity: sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==} - dev: true + tmpl@1.0.5: {} - /to-fast-properties@2.0.0: - resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==} - engines: {node: '>=4'} + to-fast-properties@2.0.0: {} - /to-regex-range@5.0.1: - resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} - engines: {node: '>=8.0'} + to-regex-range@5.0.1: dependencies: is-number: 7.0.0 - /toidentifier@1.0.1: - resolution: {integrity: sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==} - engines: {node: '>=0.6'} - dev: true + toidentifier@1.0.1: {} - /totalist@3.0.1: - resolution: {integrity: sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ==} - engines: {node: '>=6'} - dev: true + totalist@3.0.1: {} - /tough-cookie@4.1.4: - resolution: {integrity: sha512-Loo5UUvLD9ScZ6jh8beX1T6sO1w2/MpCRpEP7V280GKMVUQ0Jzar2U3UJPsrdbziLEMMhu3Ujnq//rhiFuIeag==} - engines: {node: '>=6'} + tough-cookie@4.1.4: dependencies: psl: 1.9.0 punycode: 2.3.1 universalify: 0.2.0 url-parse: 1.5.10 - dev: true - /tr46@0.0.3: - resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==} - dev: true + tr46@0.0.3: {} - /tr46@1.0.1: - resolution: {integrity: sha512-dTpowEjclQ7Kgx5SdBkqRzVhERQXov8/l9Ft9dVM9fmg0W0KQSVaXX9T4i6twCPNtYiZM53lpSSUAwJbFPOHxA==} + tr46@1.0.1: dependencies: punycode: 2.3.1 - dev: true - /tr46@5.0.0: - resolution: {integrity: sha512-tk2G5R2KRwBd+ZN0zaEXpmzdKyOYksXwywulIX95MBODjSzMIuQnQ3m8JxgbhnL1LeVo7lqQKsYa1O3Htl7K5g==} - engines: {node: '>=18'} + tr46@5.0.0: dependencies: punycode: 2.3.1 - dev: true - /traverse@0.3.9: - resolution: {integrity: sha512-iawgk0hLP3SxGKDfnDJf8wTz4p2qImnyihM5Hh/sGvQ3K37dPi/w8sRhdNIxYA1TwFwc5mDhIJq+O0RsvXBKdQ==} - dev: true + traverse@0.3.9: {} - /tree-kill@1.2.2: - resolution: {integrity: sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==} - hasBin: true - dev: true + tree-kill@1.2.2: {} - /trough@2.2.0: - resolution: {integrity: sha512-tmMpK00BjZiUyVyvrBK7knerNgmgvcV/KLVyuma/SC+TQN167GrMRciANTz09+k3zW8L8t60jWO1GpfkZdjTaw==} - dev: true + trough@2.2.0: {} - /ts-api-utils@1.3.0(typescript@5.4.5): - resolution: {integrity: sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ==} - engines: {node: '>=16'} - peerDependencies: - typescript: '>=4.2.0' + ts-api-utils@1.3.0(typescript@5.4.5): dependencies: typescript: 5.4.5 - dev: true - /ts-dedent@2.2.0: - resolution: {integrity: sha512-q5W7tVM71e2xjHZTlgfTDoPF/SmqKG5hddq9SzR49CH2hayqRKJtQ4mtRlSxKaJlR/+9rEM+mnBHf7I2/BQcpQ==} - engines: {node: '>=6.10'} - dev: false + ts-dedent@2.2.0: {} - /ts-interface-checker@0.1.13: - resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==} - dev: false + ts-interface-checker@0.1.13: {} - /ts-toolbelt@6.15.5: - resolution: {integrity: sha512-FZIXf1ksVyLcfr7M317jbB67XFJhOO1YqdTcuGaq9q5jLUoTikukZ+98TPjKiP2jC5CgmYdWWYs0s2nLSU0/1A==} - dev: false + ts-toolbelt@6.15.5: {} - /tslib@1.14.1: - resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==} - dev: true + tslib@1.14.1: {} - /tslib@2.6.3: - resolution: {integrity: sha512-xNvxJEOUiWPGhUuUdQgAJPKOOJfGnIyKySOc09XkKsgdUV/3E2zvwZYdejjmRgPCgcym1juLH3226yA7sEFJKQ==} - dev: true + tslib@2.6.3: {} - /tsutils@3.21.0(typescript@5.4.5): - resolution: {integrity: sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==} - engines: {node: '>= 6'} - peerDependencies: - typescript: '>=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta' + tsutils@3.21.0(typescript@5.4.5): dependencies: tslib: 1.14.1 typescript: 5.4.5 - dev: true - /tsx@4.15.4: - resolution: {integrity: sha512-d++FLCwJLrXaBFtRcqdPBzu6FiVOJ2j+UsvUZPtoTrnYtCGU5CEW7iHXtNZfA2fcRTvJFWPqA6SWBuB0GSva9w==} - engines: {node: '>=18.0.0'} - hasBin: true + tsx@4.15.4: dependencies: esbuild: 0.21.5 get-tsconfig: 4.7.5 optionalDependencies: fsevents: 2.3.3 - dev: true - /tunnel-agent@0.6.0: - resolution: {integrity: sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==} + tunnel-agent@0.6.0: dependencies: safe-buffer: 5.2.1 - dev: true - /tweetnacl@0.14.5: - resolution: {integrity: sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==} - dev: true + tweetnacl@0.14.5: {} - /type-check@0.4.0: - resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} - engines: {node: '>= 0.8.0'} + type-check@0.4.0: dependencies: prelude-ls: 1.2.1 - dev: true - /type-detect@4.0.8: - resolution: {integrity: sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==} - engines: {node: '>=4'} - dev: true + type-detect@4.0.8: {} - /type-fest@0.16.0: - resolution: {integrity: sha512-eaBzG6MxNzEn9kiwvtre90cXaNLkmadMWa1zQMs3XORCXNbsH/OewwbxC5ia9dCxIxnTAsSxXJaa/p5y8DlvJg==} - engines: {node: '>=10'} - dev: true + type-fest@0.16.0: {} - /type-fest@0.20.2: - resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==} - engines: {node: '>=10'} - dev: true + type-fest@0.20.2: {} - /type-fest@0.21.3: - resolution: {integrity: sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==} - engines: {node: '>=10'} - dev: true + type-fest@0.21.3: {} - /type-fest@0.6.0: - resolution: {integrity: sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==} - engines: {node: '>=8'} - dev: true + type-fest@0.6.0: {} - /type-fest@0.8.1: - resolution: {integrity: sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==} - engines: {node: '>=8'} - dev: true + type-fest@0.8.1: {} - /type-fest@4.20.0: - resolution: {integrity: sha512-MBh+PHUHHisjXf4tlx0CFWoMdjx8zCMLJHOjnV1prABYZFHqtFOyauCIK2/7w4oIfwkF8iNhLtnJEfVY2vn3iw==} - engines: {node: '>=16'} - dev: true + type-fest@4.20.0: {} - /type-is@1.6.18: - resolution: {integrity: sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==} - engines: {node: '>= 0.6'} + type-is@1.6.18: dependencies: media-typer: 0.3.0 mime-types: 2.1.35 - dev: true - /type@2.7.3: - resolution: {integrity: sha512-8j+1QmAbPvLZow5Qpi6NCaN8FB60p/6x8/vfNqOk/hC+HuvFZhL4+WfekuhQLiqFZXOgQdrs3B+XxEmCc6b3FQ==} - dev: true + type@2.7.3: {} - /typed-array-buffer@1.0.2: - resolution: {integrity: sha512-gEymJYKZtKXzzBzM4jqa9w6Q1Jjm7x2d+sh19AdsD4wqnMPDYyvwpsIc2Q/835kHuo3BEQ7CjelGhfTsoBb2MQ==} - engines: {node: '>= 0.4'} + typed-array-buffer@1.0.2: dependencies: call-bind: 1.0.7 es-errors: 1.3.0 is-typed-array: 1.1.13 - dev: true - /typed-array-byte-length@1.0.1: - resolution: {integrity: sha512-3iMJ9q0ao7WE9tWcaYKIptkNBuOIcZCCT0d4MRvuuH88fEoEH62IuQe0OtraD3ebQEoTRk8XCBoknUNc1Y67pw==} - engines: {node: '>= 0.4'} + typed-array-byte-length@1.0.1: dependencies: call-bind: 1.0.7 for-each: 0.3.3 gopd: 1.0.1 has-proto: 1.0.3 is-typed-array: 1.1.13 - dev: true - /typed-array-byte-offset@1.0.2: - resolution: {integrity: sha512-Ous0vodHa56FviZucS2E63zkgtgrACj7omjwd/8lTEMEPFFyjfixMZ1ZXenpgCFBBt4EC1J2XsyVS2gkG0eTFA==} - engines: {node: '>= 0.4'} + typed-array-byte-offset@1.0.2: dependencies: available-typed-arrays: 1.0.7 call-bind: 1.0.7 @@ -15186,11 +17314,8 @@ packages: gopd: 1.0.1 has-proto: 1.0.3 is-typed-array: 1.1.13 - dev: true - /typed-array-length@1.0.6: - resolution: {integrity: sha512-/OxDN6OtAk5KBpGb28T+HZc2M+ADtvRxXrKKbUwtsLgdoxgX13hyy7ek6bFRl5+aBs2yZzB0c4CnQfAtVypW/g==} - engines: {node: '>= 0.4'} + typed-array-length@1.0.6: dependencies: call-bind: 1.0.7 for-each: 0.3.3 @@ -15198,111 +17323,63 @@ packages: has-proto: 1.0.3 is-typed-array: 1.1.13 possible-typed-array-names: 1.0.0 - dev: true - /typedarray-to-buffer@3.1.5: - resolution: {integrity: sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==} + typedarray-to-buffer@3.1.5: dependencies: is-typedarray: 1.0.0 - dev: true - /typedoc-plugin-markdown@3.17.1(typedoc@0.25.13): - resolution: {integrity: sha512-QzdU3fj0Kzw2XSdoL15ExLASt2WPqD7FbLeaqwT70+XjKyTshBnUlQA5nNREO1C2P8Uen0CDjsBLMsCQ+zd0lw==} - peerDependencies: - typedoc: '>=0.24.0' + typedoc-plugin-markdown@3.17.1(typedoc@0.25.13(typescript@5.4.5)): dependencies: handlebars: 4.7.8 typedoc: 0.25.13(typescript@5.4.5) - dev: true - /typedoc@0.25.13(typescript@5.4.5): - resolution: {integrity: sha512-pQqiwiJ+Z4pigfOnnysObszLiU3mVLWAExSPf+Mu06G/qsc3wzbuM56SZQvONhHLncLUhYzOVkjFFpFfL5AzhQ==} - engines: {node: '>= 16'} - hasBin: true - peerDependencies: - typescript: 4.6.x || 4.7.x || 4.8.x || 4.9.x || 5.0.x || 5.1.x || 5.2.x || 5.3.x || 5.4.x + typedoc@0.25.13(typescript@5.4.5): dependencies: lunr: 2.3.9 marked: 4.3.0 minimatch: 9.0.4 shiki: 0.14.7 typescript: 5.4.5 - dev: true - /typescript@5.4.5: - resolution: {integrity: sha512-vcI4UpRgg81oIRUFwR0WSIHKt11nJ7SAVlYNIu+QpqeyXP+gpQJy/Z4+F0aGxSE4MqwjyXvW/TzgkLAx2AGHwQ==} - engines: {node: '>=14.17'} - hasBin: true + typescript@5.4.5: {} - /uc.micro@1.0.6: - resolution: {integrity: sha512-8Y75pvTYkLJW2hWQHXxoqRgV7qb9B+9vFEtidML+7koHUFapnVJAZ6cKs+Qjz5Aw3aZWHMC6u0wJE3At+nSGwA==} - dev: true + uc.micro@1.0.6: {} - /ufo@1.5.3: - resolution: {integrity: sha512-Y7HYmWaFwPUmkoQCUIAYpKqkOf+SbVj/2fJJZ4RJMCfZp0rTGwRbzQD+HghfnhKOjL9E01okqz+ncJskGYfBNw==} - dev: true + ufo@1.5.3: {} - /uglify-js@3.18.0: - resolution: {integrity: sha512-SyVVbcNBCk0dzr9XL/R/ySrmYf0s372K6/hFklzgcp2lBFyXtw4I7BOdDjlLhE1aVqaI/SHWXWmYdlZxuyF38A==} - engines: {node: '>=0.8.0'} - hasBin: true - dev: true + uglify-js@3.18.0: {} - /unbox-primitive@1.0.2: - resolution: {integrity: sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==} + unbox-primitive@1.0.2: dependencies: call-bind: 1.0.7 has-bigints: 1.0.2 has-symbols: 1.0.3 which-boxed-primitive: 1.0.2 - dev: true - /unconfig@0.3.13: - resolution: {integrity: sha512-N9Ph5NC4+sqtcOjPfHrRcHekBCadCXWTBzp2VYYbySOHW0PfD9XLCeXshTXjkPYwLrBr9AtSeU0CZmkYECJhng==} + unconfig@0.3.13: dependencies: '@antfu/utils': 0.7.8 defu: 6.1.4 jiti: 1.21.6 - dev: true - /underscore@1.1.7: - resolution: {integrity: sha512-w4QtCHoLBXw1mjofIDoMyexaEdWGMedWNDhlWTtT1V1lCRqi65Pnoygkh6+WRdr+Bm8ldkBNkNeCsXGMlQS9HQ==} - dev: true + underscore@1.1.7: {} - /undici-types@5.26.5: - resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} - dev: true + undici-types@5.26.5: {} - /unicode-canonical-property-names-ecmascript@2.0.0: - resolution: {integrity: sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==} - engines: {node: '>=4'} - dev: true + unicode-canonical-property-names-ecmascript@2.0.0: {} - /unicode-match-property-ecmascript@2.0.0: - resolution: {integrity: sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==} - engines: {node: '>=4'} + unicode-match-property-ecmascript@2.0.0: dependencies: unicode-canonical-property-names-ecmascript: 2.0.0 unicode-property-aliases-ecmascript: 2.1.0 - dev: true - /unicode-match-property-value-ecmascript@2.1.0: - resolution: {integrity: sha512-qxkjQt6qjg/mYscYMC0XKRn3Rh0wFPlfxB0xkt9CfyTvpX1Ra0+rAmdX2QyAobptSEvuy4RtpPRui6XkV+8wjA==} - engines: {node: '>=4'} - dev: true + unicode-match-property-value-ecmascript@2.1.0: {} - /unicode-property-aliases-ecmascript@2.1.0: - resolution: {integrity: sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==} - engines: {node: '>=4'} - dev: true + unicode-property-aliases-ecmascript@2.1.0: {} - /unicorn-magic@0.1.0: - resolution: {integrity: sha512-lRfVq8fE8gz6QMBuDM6a+LO3IAzTi05H6gCVaUpir2E1Rwpo4ZUog45KpNXKC/Mn3Yb9UDuHumeFTo9iV/D9FQ==} - engines: {node: '>=18'} - dev: true + unicorn-magic@0.1.0: {} - /unified@11.0.4: - resolution: {integrity: sha512-apMPnyLjAX+ty4OrNap7yumyVAMlKx5IWU2wlzzUdYJO9A8f1p9m/gywF/GM2ZDFcjQPrx59Mc90KwmxsoklxQ==} + unified@11.0.4: dependencies: '@types/unist': 3.0.2 bail: 2.0.2 @@ -15311,124 +17388,49 @@ packages: is-plain-obj: 4.1.0 trough: 2.2.0 vfile: 6.0.1 - dev: true - /unique-string@2.0.0: - resolution: {integrity: sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg==} - engines: {node: '>=8'} + unique-string@2.0.0: dependencies: crypto-random-string: 2.0.0 - dev: true - /unist-util-flatmap@1.0.0: - resolution: {integrity: sha512-IG32jcKJlhARCYT2LsYPJWdoXYkzz3ESAdl1aa2hn9Auh+cgUmU6wgkII4yCc/1GgeWibRdELdCZh/p3QKQ1dQ==} - dev: true + unist-util-flatmap@1.0.0: {} - /unist-util-inspect@8.0.0: - resolution: {integrity: sha512-/3Wn/wU6/H6UEo4FoYUeo8KUePN8ERiZpQYFWYoihOsr1DoDuv80PeB0hobVZyYSvALa2e556bG1A1/AbwU4yg==} + unist-util-inspect@8.0.0: dependencies: '@types/unist': 3.0.2 - dev: true - /unist-util-is@6.0.0: - resolution: {integrity: sha512-2qCTHimwdxLfz+YzdGfkqNlH0tLi9xjTnHddPmJwtIG9MGsdbutfTc4P+haPD7l7Cjxf/WZj+we5qfVPvvxfYw==} + unist-util-is@6.0.0: dependencies: '@types/unist': 3.0.2 - dev: true - /unist-util-stringify-position@2.0.3: - resolution: {integrity: sha512-3faScn5I+hy9VleOq/qNbAd6pAx7iH5jYBMS9I1HgQVijz/4mv5Bvw5iw1sC/90CODiKo81G/ps8AJrISn687g==} + unist-util-stringify-position@2.0.3: dependencies: '@types/unist': 2.0.10 - dev: true - /unist-util-stringify-position@4.0.0: - resolution: {integrity: sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==} + unist-util-stringify-position@4.0.0: dependencies: '@types/unist': 3.0.2 - /unist-util-visit-parents@6.0.1: - resolution: {integrity: sha512-L/PqWzfTP9lzzEa6CKs0k2nARxTdZduw3zyh8d2NVBnsyvHjSX4TWse388YrrQKbvI8w20fGjGlhgT96WwKykw==} + unist-util-visit-parents@6.0.1: dependencies: '@types/unist': 3.0.2 unist-util-is: 6.0.0 - dev: true - /unist-util-visit@5.0.0: - resolution: {integrity: sha512-MR04uvD+07cwl/yhVuVWAtw+3GOR/knlL55Nd/wAdblk27GCVt3lqpTivy/tkJcZoNPzTwS1Y+KMojlLDhoTzg==} + unist-util-visit@5.0.0: dependencies: '@types/unist': 3.0.2 unist-util-is: 6.0.0 - unist-util-visit-parents: 6.0.1 - dev: true - - /universalify@0.1.2: - resolution: {integrity: sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==} - engines: {node: '>= 4.0.0'} - dev: true + unist-util-visit-parents: 6.0.1 - /universalify@0.2.0: - resolution: {integrity: sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==} - engines: {node: '>= 4.0.0'} - dev: true + universalify@0.1.2: {} - /universalify@2.0.1: - resolution: {integrity: sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==} - engines: {node: '>= 10.0.0'} - dev: true + universalify@0.2.0: {} - /unocss@0.58.9(postcss@8.4.38)(rollup@2.79.1)(vite@4.5.3): - resolution: {integrity: sha512-aqANXXP0RrtN4kSaTLn/7I6wh8o45LUdVgPzGu7Fan2DfH2+wpIs6frlnlHlOymnb+52dp6kXluQinddaUKW1A==} - engines: {node: '>=14'} - peerDependencies: - '@unocss/webpack': 0.58.9 - vite: ^2.9.0 || ^3.0.0-0 || ^4.0.0 || ^5.0.0-0 - peerDependenciesMeta: - '@unocss/webpack': - optional: true - vite: - optional: true - dependencies: - '@unocss/astro': 0.58.9(rollup@2.79.1)(vite@4.5.3) - '@unocss/cli': 0.58.9(rollup@2.79.1) - '@unocss/core': 0.58.9 - '@unocss/extractor-arbitrary-variants': 0.58.9 - '@unocss/postcss': 0.58.9(postcss@8.4.38) - '@unocss/preset-attributify': 0.58.9 - '@unocss/preset-icons': 0.58.9 - '@unocss/preset-mini': 0.58.9 - '@unocss/preset-tagify': 0.58.9 - '@unocss/preset-typography': 0.58.9 - '@unocss/preset-uno': 0.58.9 - '@unocss/preset-web-fonts': 0.58.9 - '@unocss/preset-wind': 0.58.9 - '@unocss/reset': 0.58.9 - '@unocss/transformer-attributify-jsx': 0.58.9 - '@unocss/transformer-attributify-jsx-babel': 0.58.9 - '@unocss/transformer-compile-class': 0.58.9 - '@unocss/transformer-directives': 0.58.9 - '@unocss/transformer-variant-group': 0.58.9 - '@unocss/vite': 0.58.9(rollup@2.79.1)(vite@4.5.3) - vite: 4.5.3(@types/node@20.14.2) - transitivePeerDependencies: - - postcss - - rollup - - supports-color - dev: true + universalify@2.0.1: {} - /unocss@0.59.4(postcss@8.4.38)(rollup@2.79.1)(vite@5.2.13): - resolution: {integrity: sha512-QmCVjRObvVu/gsGrJGVt0NnrdhFFn314BUZn2WQyXV9rIvHLRmG5bIu0j5vibJkj7ZhFchTrnTM1pTFXP1xt5g==} - engines: {node: '>=14'} - peerDependencies: - '@unocss/webpack': 0.59.4 - vite: ^2.9.0 || ^3.0.0-0 || ^4.0.0 || ^5.0.0-0 - peerDependenciesMeta: - '@unocss/webpack': - optional: true - vite: - optional: true + unocss@0.59.4(postcss@8.4.38)(rollup@2.79.1)(vite@5.2.13(@types/node@20.14.2)(terser@5.31.1)): dependencies: - '@unocss/astro': 0.59.4(rollup@2.79.1)(vite@5.2.13) + '@unocss/astro': 0.59.4(rollup@2.79.1)(vite@5.2.13(@types/node@20.14.2)(terser@5.31.1)) '@unocss/cli': 0.59.4(rollup@2.79.1) '@unocss/core': 0.59.4 '@unocss/extractor-arbitrary-variants': 0.59.4 @@ -15447,31 +17449,17 @@ packages: '@unocss/transformer-compile-class': 0.59.4 '@unocss/transformer-directives': 0.59.4 '@unocss/transformer-variant-group': 0.59.4 - '@unocss/vite': 0.59.4(rollup@2.79.1)(vite@5.2.13) - vite: 5.2.13(@types/node@20.14.2) + '@unocss/vite': 0.59.4(rollup@2.79.1)(vite@5.2.13(@types/node@20.14.2)(terser@5.31.1)) + optionalDependencies: + vite: 5.2.13(@types/node@20.14.2)(terser@5.31.1) transitivePeerDependencies: - postcss - rollup - supports-color - dev: true - /unpipe@1.0.0: - resolution: {integrity: sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==} - engines: {node: '>= 0.8'} - dev: true + unpipe@1.0.0: {} - /unplugin-vue-components@0.26.0(rollup@2.79.1)(vue@3.4.27): - resolution: {integrity: sha512-s7IdPDlnOvPamjunVxw8kNgKNK8A5KM1YpK5j/p97jEKTjlPNrA0nZBiSfAKKlK1gWZuyWXlKL5dk3EDw874LQ==} - engines: {node: '>=14'} - peerDependencies: - '@babel/parser': ^7.15.8 - '@nuxt/kit': ^3.2.2 - vue: 2 || 3 - peerDependenciesMeta: - '@babel/parser': - optional: true - '@nuxt/kit': - optional: true + unplugin-vue-components@0.26.0(@babel/parser@7.24.7)(rollup@2.79.1)(vue@3.4.27(typescript@5.4.5)): dependencies: '@antfu/utils': 0.7.8 '@rollup/pluginutils': 5.1.0(rollup@2.79.1) @@ -15484,127 +17472,83 @@ packages: resolve: 1.22.8 unplugin: 1.10.1 vue: 3.4.27(typescript@5.4.5) + optionalDependencies: + '@babel/parser': 7.24.7 transitivePeerDependencies: - rollup - supports-color - dev: true - /unplugin@1.10.1: - resolution: {integrity: sha512-d6Mhq8RJeGA8UfKCu54Um4lFA0eSaRa3XxdAJg8tIdxbu1ubW0hBCZUL7yI2uGyYCRndvbK8FLHzqy2XKfeMsg==} - engines: {node: '>=14.0.0'} + unplugin@1.10.1: dependencies: acorn: 8.11.3 chokidar: 3.6.0 webpack-sources: 3.2.3 webpack-virtual-modules: 0.6.2 - dev: true - /untildify@4.0.0: - resolution: {integrity: sha512-KK8xQ1mkzZeg9inewmFVDNkg3l5LUhoq9kN6iWYB/CC9YMG8HA+c1Q8HwDe6dEX7kErrEVNVBO3fWsVq5iDgtw==} - engines: {node: '>=8'} - dev: true + untildify@4.0.0: {} - /upath@1.2.0: - resolution: {integrity: sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==} - engines: {node: '>=4'} - dev: true + upath@1.2.0: {} - /update-browserslist-db@1.0.16(browserslist@4.23.1): - resolution: {integrity: sha512-KVbTxlBYlckhF5wgfyZXTWnMn7MMZjMu9XG8bPlliUOP9ThaF4QnhP8qrjrH7DRzHfSk0oQv1wToW+iA5GajEQ==} - hasBin: true - peerDependencies: - browserslist: '>= 4.21.0' + update-browserslist-db@1.0.16(browserslist@4.23.1): dependencies: browserslist: 4.23.1 escalade: 3.1.2 picocolors: 1.0.1 - dev: true - /uri-js@4.4.1: - resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} + uri-js@4.4.1: dependencies: punycode: 2.3.1 - dev: true - /url-parse@1.5.10: - resolution: {integrity: sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==} + url-parse@1.5.10: dependencies: querystringify: 2.2.0 requires-port: 1.0.0 - dev: true - /util-deprecate@1.0.2: - resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} + util-deprecate@1.0.2: {} - /utils-merge@1.0.1: - resolution: {integrity: sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==} - engines: {node: '>= 0.4.0'} - dev: true + utils-merge@1.0.1: {} - /uuid@8.3.2: - resolution: {integrity: sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==} - hasBin: true - dev: true + uuid@8.3.2: {} - /uuid@9.0.1: - resolution: {integrity: sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==} - hasBin: true + uuid@9.0.1: {} - /v8-to-istanbul@9.2.0: - resolution: {integrity: sha512-/EH/sDgxU2eGxajKdwLCDmQ4FWq+kpi3uCmBGpw1xJtnAxEjlD8j8PEiGWpCIMIs3ciNAgH0d3TTJiUkYzyZjA==} - engines: {node: '>=10.12.0'} + v8-to-istanbul@9.2.0: dependencies: '@jridgewell/trace-mapping': 0.3.25 '@types/istanbul-lib-coverage': 2.0.6 convert-source-map: 2.0.0 - dev: true - /validate-npm-package-license@3.0.4: - resolution: {integrity: sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==} + validate-npm-package-license@3.0.4: dependencies: spdx-correct: 3.2.0 spdx-expression-parse: 3.0.1 - dev: true - /vary@1.1.2: - resolution: {integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==} - engines: {node: '>= 0.8'} - dev: true + vary@1.1.2: {} - /verror@1.10.0: - resolution: {integrity: sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw==} - engines: {'0': node >=0.6.0} + verror@1.10.0: dependencies: assert-plus: 1.0.0 core-util-is: 1.0.2 extsprintf: 1.3.0 - dev: true - /vfile-message@4.0.2: - resolution: {integrity: sha512-jRDZ1IMLttGj41KcZvlrYAaI3CfqpLpfpf+Mfig13viT6NKvRzWZ+lXz0Y5D60w6uJIBAOGq9mSHf0gktF0duw==} + vfile-message@4.0.2: dependencies: '@types/unist': 3.0.2 unist-util-stringify-position: 4.0.0 - dev: true - /vfile@6.0.1: - resolution: {integrity: sha512-1bYqc7pt6NIADBJ98UiG0Bn/CHIVOoZ/IyEkqIruLg0mE1BKzkOXY2D6CSqQIcKqgadppE5lrxgWXJmXd7zZJw==} + vfile@6.0.1: dependencies: '@types/unist': 3.0.2 unist-util-stringify-position: 4.0.0 vfile-message: 4.0.2 - dev: true - /vite-node@1.6.0(@types/node@20.14.2): - resolution: {integrity: sha512-de6HJgzC+TFzOu0NTC4RAIsyf/DY/ibWDYQUcuEA84EMHhcefTUGkjFHKKEJhQN4A+6I0u++kr3l36ZF2d7XRw==} - engines: {node: ^18.0.0 || >=20.0.0} - hasBin: true + vite-node@1.6.0(@types/node@20.14.2)(terser@5.31.1): dependencies: cac: 6.7.14 debug: 4.3.5(supports-color@8.1.1) pathe: 1.1.2 picocolors: 1.0.1 - vite: 5.2.13(@types/node@20.14.2) + vite: 5.2.13(@types/node@20.14.2)(terser@5.31.1) transitivePeerDependencies: - '@types/node' - less @@ -15614,12 +17558,8 @@ packages: - sugarss - supports-color - terser - dev: true - /vite-plugin-istanbul@6.0.2(vite@5.2.13): - resolution: {integrity: sha512-0/sKwjEEIwbEyl43xX7onX3dIbMJAsigNsKyyVPalG1oRFo5jn3qkJbS2PUfp9wrr3piy1eT6qRoeeum2p4B2A==} - peerDependencies: - vite: '>=4 <=6' + vite-plugin-istanbul@6.0.2(vite@5.2.13(@types/node@20.14.2)(terser@5.31.1)): dependencies: '@istanbuljs/load-nyc-config': 1.1.0 espree: 10.0.1 @@ -15627,224 +17567,60 @@ packages: picocolors: 1.0.1 source-map: 0.7.4 test-exclude: 6.0.0 - vite: 5.2.13(@types/node@20.14.2) - transitivePeerDependencies: - - supports-color - dev: true - - /vite-plugin-pwa@0.17.5(vite@4.5.3)(workbox-build@7.1.1)(workbox-window@7.1.0): - resolution: {integrity: sha512-UxRNPiJBzh4tqU/vc8G2TxmrUTzT6BqvSzhszLk62uKsf+npXdvLxGDz9C675f4BJi6MbD2tPnJhi5txlMzxbQ==} - engines: {node: '>=16.0.0'} - peerDependencies: - vite: ^3.1.0 || ^4.0.0 || ^5.0.0 - workbox-build: ^7.0.0 - workbox-window: ^7.0.0 - dependencies: - debug: 4.3.5(supports-color@8.1.1) - fast-glob: 3.3.2 - pretty-bytes: 6.1.1 - vite: 4.5.3(@types/node@20.14.2) - workbox-build: 7.1.1 - workbox-window: 7.1.0 + vite: 5.2.13(@types/node@20.14.2)(terser@5.31.1) transitivePeerDependencies: - supports-color - dev: true - /vite-plugin-pwa@0.19.8(vite@5.2.13)(workbox-build@7.1.1)(workbox-window@7.1.0): - resolution: {integrity: sha512-e1oK0dfhzhDhY3VBuML6c0h8Xfx6EkOVYqolj7g+u8eRfdauZe5RLteCIA/c5gH0CBQ0CNFAuv/AFTx4Z7IXTw==} - engines: {node: '>=16.0.0'} - peerDependencies: - '@vite-pwa/assets-generator': ^0.2.4 - vite: ^3.1.0 || ^4.0.0 || ^5.0.0 - workbox-build: ^7.0.0 - workbox-window: ^7.0.0 - peerDependenciesMeta: - '@vite-pwa/assets-generator': - optional: true + vite-plugin-pwa@0.19.8(vite@5.2.13(@types/node@20.14.2)(terser@5.31.1))(workbox-build@7.1.1(@types/babel__core@7.20.5))(workbox-window@7.1.0): dependencies: debug: 4.3.5(supports-color@8.1.1) fast-glob: 3.3.2 pretty-bytes: 6.1.1 - vite: 5.2.13(@types/node@20.14.2) - workbox-build: 7.1.1 + vite: 5.2.13(@types/node@20.14.2)(terser@5.31.1) + workbox-build: 7.1.1(@types/babel__core@7.20.5) workbox-window: 7.1.0 transitivePeerDependencies: - supports-color - dev: true - - /vite@4.5.3(@types/node@20.14.2): - resolution: {integrity: sha512-kQL23kMeX92v3ph7IauVkXkikdDRsYMGTVl5KY2E9OY4ONLvkHf04MDTbnfo6NKxZiDLWzVpP5oTa8hQD8U3dg==} - engines: {node: ^14.18.0 || >=16.0.0} - hasBin: true - peerDependencies: - '@types/node': '>= 14' - less: '*' - lightningcss: ^1.21.0 - sass: '*' - stylus: '*' - sugarss: '*' - terser: ^5.4.0 - peerDependenciesMeta: - '@types/node': - optional: true - less: - optional: true - lightningcss: - optional: true - sass: - optional: true - stylus: - optional: true - sugarss: - optional: true - terser: - optional: true - dependencies: - '@types/node': 20.14.2 - esbuild: 0.18.20 - postcss: 8.4.38 - rollup: 3.29.4 - optionalDependencies: - fsevents: 2.3.3 - dev: true - /vite@5.2.13(@types/node@20.14.2): - resolution: {integrity: sha512-SSq1noJfY9pR3I1TUENL3rQYDQCFqgD+lM6fTRAM8Nv6Lsg5hDLaXkjETVeBt+7vZBCMoibD+6IWnT2mJ+Zb/A==} - engines: {node: ^18.0.0 || >=20.0.0} - hasBin: true - peerDependencies: - '@types/node': ^18.0.0 || >=20.0.0 - less: '*' - lightningcss: ^1.21.0 - sass: '*' - stylus: '*' - sugarss: '*' - terser: ^5.4.0 - peerDependenciesMeta: - '@types/node': - optional: true - less: - optional: true - lightningcss: - optional: true - sass: - optional: true - stylus: - optional: true - sugarss: - optional: true - terser: - optional: true + vite@5.2.13(@types/node@20.14.2)(terser@5.31.1): dependencies: - '@types/node': 20.14.2 esbuild: 0.20.2 postcss: 8.4.38 rollup: 4.18.0 optionalDependencies: + '@types/node': 20.14.2 fsevents: 2.3.3 - dev: true + terser: 5.31.1 - /vitepress-plugin-search@1.0.4-alpha.22(flexsearch@0.7.43)(vitepress@1.1.4)(vue@3.4.27): - resolution: {integrity: sha512-IAOEJu+kjVY+0pb6/PeRjIbr175HFFbnMdLmLjqcy7VWxkabIRZbLoQL1VUYDZl804o/Or+GaX02gsiMOnVxFA==} - engines: {node: ^14.13.1 || ^16.7.0 || >=18} - peerDependencies: - flexsearch: ^0.7.31 - vitepress: ^1.0.0-rc.35 - vue: '3' + vitepress-plugin-search@1.0.4-alpha.22(flexsearch@0.7.43)(vitepress@1.1.4(@algolia/client-search@4.23.3)(@types/node@20.14.2)(axios@1.7.2)(postcss@8.4.38)(search-insights@2.14.0)(terser@5.31.1)(typescript@5.4.5))(vue@3.4.27(typescript@5.4.5)): dependencies: '@types/flexsearch': 0.7.6 '@types/markdown-it': 12.2.3 flexsearch: 0.7.43 glob-to-regexp: 0.4.1 markdown-it: 13.0.2 - vitepress: 1.1.4(@algolia/client-search@4.23.3)(@types/node@20.14.2)(postcss@8.4.38)(search-insights@2.14.0)(typescript@5.4.5) - vue: 3.4.27(typescript@5.4.5) - dev: true - - /vitepress@1.0.0-rc.39(@algolia/client-search@4.23.3)(@types/node@20.14.2)(postcss@8.4.38)(search-insights@2.14.0)(typescript@5.4.5): - resolution: {integrity: sha512-EcgoRlAAp37WOxUOYv45oxyhLrcy3Upey+mKpqW3ldsg6Ol4trPndRBk2GO0QiSvEKlb9BMerk49D/bFICN6kg==} - hasBin: true - peerDependencies: - markdown-it-mathjax3: ^4.3.2 - postcss: ^8.4.33 - peerDependenciesMeta: - markdown-it-mathjax3: - optional: true - postcss: - optional: true - dependencies: - '@docsearch/css': 3.6.0 - '@docsearch/js': 3.6.0(@algolia/client-search@4.23.3)(search-insights@2.14.0) - '@types/markdown-it': 13.0.8 - '@vitejs/plugin-vue': 5.0.5(vite@5.2.13)(vue@3.4.27) - '@vue/devtools-api': 6.6.3 - '@vueuse/core': 10.11.0(vue@3.4.27) - '@vueuse/integrations': 10.11.0(focus-trap@7.5.4)(vue@3.4.27) - focus-trap: 7.5.4 - mark.js: 8.11.1 - minisearch: 6.3.0 - postcss: 8.4.38 - shikiji: 0.9.19 - shikiji-core: 0.9.19 - shikiji-transformers: 0.9.19 - vite: 5.2.13(@types/node@20.14.2) + vitepress: 1.1.4(@algolia/client-search@4.23.3)(@types/node@20.14.2)(axios@1.7.2)(postcss@8.4.38)(search-insights@2.14.0)(terser@5.31.1)(typescript@5.4.5) vue: 3.4.27(typescript@5.4.5) - transitivePeerDependencies: - - '@algolia/client-search' - - '@types/node' - - '@types/react' - - '@vue/composition-api' - - async-validator - - axios - - change-case - - drauu - - fuse.js - - idb-keyval - - jwt-decode - - less - - lightningcss - - nprogress - - qrcode - - react - - react-dom - - sass - - search-insights - - sortablejs - - stylus - - sugarss - - terser - - typescript - - universal-cookie - dev: true - /vitepress@1.1.4(@algolia/client-search@4.23.3)(@types/node@20.14.2)(postcss@8.4.38)(search-insights@2.14.0)(typescript@5.4.5): - resolution: {integrity: sha512-bWIzFZXpPB6NIDBuWnS20aMADH+FcFKDfQNYFvbOWij03PR29eImTceQHIzCKordjXYBhM/TjE5VKFTUJ3EheA==} - hasBin: true - peerDependencies: - markdown-it-mathjax3: ^4 - postcss: ^8 - peerDependenciesMeta: - markdown-it-mathjax3: - optional: true - postcss: - optional: true + vitepress@1.1.4(@algolia/client-search@4.23.3)(@types/node@20.14.2)(axios@1.7.2)(postcss@8.4.38)(search-insights@2.14.0)(terser@5.31.1)(typescript@5.4.5): dependencies: '@docsearch/css': 3.6.0 '@docsearch/js': 3.6.0(@algolia/client-search@4.23.3)(search-insights@2.14.0) '@shikijs/core': 1.6.4 '@shikijs/transformers': 1.6.4 '@types/markdown-it': 14.1.1 - '@vitejs/plugin-vue': 5.0.5(vite@5.2.13)(vue@3.4.27) - '@vue/devtools-api': 7.2.1(vue@3.4.27) - '@vueuse/core': 10.11.0(vue@3.4.27) - '@vueuse/integrations': 10.11.0(focus-trap@7.5.4)(vue@3.4.27) + '@vitejs/plugin-vue': 5.0.5(vite@5.2.13(@types/node@20.14.2)(terser@5.31.1))(vue@3.4.27(typescript@5.4.5)) + '@vue/devtools-api': 7.2.1(vue@3.4.27(typescript@5.4.5)) + '@vueuse/core': 10.11.0(vue@3.4.27(typescript@5.4.5)) + '@vueuse/integrations': 10.11.0(axios@1.7.2)(focus-trap@7.5.4)(vue@3.4.27(typescript@5.4.5)) focus-trap: 7.5.4 mark.js: 8.11.1 minisearch: 6.3.0 - postcss: 8.4.38 shiki: 1.6.4 - vite: 5.2.13(@types/node@20.14.2) + vite: 5.2.13(@types/node@20.14.2)(terser@5.31.1) vue: 3.4.27(typescript@5.4.5) + optionalDependencies: + postcss: 8.4.38 transitivePeerDependencies: - '@algolia/client-search' - '@types/node' @@ -15871,45 +17647,18 @@ packages: - terser - typescript - universal-cookie - dev: true - /vitest@1.6.0(@types/node@20.14.2)(@vitest/ui@1.6.0)(jsdom@24.1.0): - resolution: {integrity: sha512-H5r/dN06swuFnzNFhq/dnz37bPXnq8xB2xB5JOVk8K09rUtoeNN+LHWkoQ0A/i3hvbUKKcCei9KpbxqHMLhLLA==} - engines: {node: ^18.0.0 || >=20.0.0} - hasBin: true - peerDependencies: - '@edge-runtime/vm': '*' - '@types/node': ^18.0.0 || >=20.0.0 - '@vitest/browser': 1.6.0 - '@vitest/ui': 1.6.0 - happy-dom: '*' - jsdom: '*' - peerDependenciesMeta: - '@edge-runtime/vm': - optional: true - '@types/node': - optional: true - '@vitest/browser': - optional: true - '@vitest/ui': - optional: true - happy-dom: - optional: true - jsdom: - optional: true + vitest@1.6.0(@types/node@20.14.2)(@vitest/ui@1.6.0)(jsdom@24.1.0)(terser@5.31.1): dependencies: - '@types/node': 20.14.2 '@vitest/expect': 1.6.0 '@vitest/runner': 1.6.0 '@vitest/snapshot': 1.6.0 '@vitest/spy': 1.6.0 - '@vitest/ui': 1.6.0(vitest@1.6.0) '@vitest/utils': 1.6.0 acorn-walk: 8.3.2 chai: 4.4.1 debug: 4.3.5(supports-color@8.1.1) execa: 8.0.1 - jsdom: 24.1.0 local-pkg: 0.5.0 magic-string: 0.30.10 pathe: 1.1.2 @@ -15918,9 +17667,13 @@ packages: strip-literal: 2.1.0 tinybench: 2.8.0 tinypool: 0.8.4 - vite: 5.2.13(@types/node@20.14.2) - vite-node: 1.6.0(@types/node@20.14.2) + vite: 5.2.13(@types/node@20.14.2)(terser@5.31.1) + vite-node: 1.6.0(@types/node@20.14.2)(terser@5.31.1) why-is-node-running: 2.2.2 + optionalDependencies: + '@types/node': 20.14.2 + '@vitest/ui': 1.6.0(vitest@1.6.0) + jsdom: 24.1.0 transitivePeerDependencies: - less - lightningcss @@ -15929,119 +17682,66 @@ packages: - sugarss - supports-color - terser - dev: true - /vscode-json-languageservice@4.2.1: - resolution: {integrity: sha512-xGmv9QIWs2H8obGbWg+sIPI/3/pFgj/5OWBhNzs00BkYQ9UaB2F6JJaGB/2/YOZJ3BvLXQTC4Q7muqU25QgAhA==} + vscode-json-languageservice@4.2.1: dependencies: jsonc-parser: 3.2.1 vscode-languageserver-textdocument: 1.0.11 vscode-languageserver-types: 3.17.5 vscode-nls: 5.2.0 vscode-uri: 3.0.8 - dev: true - /vscode-jsonrpc@8.2.0: - resolution: {integrity: sha512-C+r0eKJUIfiDIfwJhria30+TYWPtuHJXHtI7J0YlOmKAo7ogxP20T0zxB7HZQIFhIyvoBPwWskjxrvAtfjyZfA==} - engines: {node: '>=14.0.0'} + vscode-jsonrpc@8.2.0: {} - /vscode-languageserver-protocol@3.17.5: - resolution: {integrity: sha512-mb1bvRJN8SVznADSGWM9u/b07H7Ecg0I3OgXDuLdn307rl/J3A9YD6/eYOssqhecL27hK1IPZAsaqh00i/Jljg==} + vscode-languageserver-protocol@3.17.5: dependencies: vscode-jsonrpc: 8.2.0 vscode-languageserver-types: 3.17.5 - /vscode-languageserver-textdocument@1.0.11: - resolution: {integrity: sha512-X+8T3GoiwTVlJbicx/sIAF+yuJAqz8VvwJyoMVhwEMoEKE/fkDmrqUgDMyBECcM2A2frVZIUj5HI/ErRXCfOeA==} + vscode-languageserver-textdocument@1.0.11: {} - /vscode-languageserver-types@3.17.5: - resolution: {integrity: sha512-Ld1VelNuX9pdF39h2Hgaeb5hEZM2Z3jUrrMgWQAu82jMtZp7p3vJT3BzToKtZI7NgQssZje5o0zryOrhQvzQAg==} + vscode-languageserver-types@3.17.5: {} - /vscode-languageserver@9.0.1: - resolution: {integrity: sha512-woByF3PDpkHFUreUa7Hos7+pUWdeWMXRd26+ZX2A8cFx6v/JPTtd4/uN0/jB6XQHYaOlHbio03NTHCqrgG5n7g==} - hasBin: true + vscode-languageserver@9.0.1: dependencies: vscode-languageserver-protocol: 3.17.5 - /vscode-nls@5.2.0: - resolution: {integrity: sha512-RAaHx7B14ZU04EU31pT+rKz2/zSl7xMsfIZuo8pd+KZO6PXtQmpevpq3vxvWNcrGbdmhM/rr5Uw5Mz+NBfhVng==} - dev: true + vscode-nls@5.2.0: {} - /vscode-oniguruma@1.7.0: - resolution: {integrity: sha512-L9WMGRfrjOhgHSdOYgCt/yRMsXzLDJSL7BPrOZt73gU0iWO4mpqzqQzOz5srxqTvMBaR0XZTSrVWo4j55Rc6cA==} - dev: true + vscode-oniguruma@1.7.0: {} - /vscode-textmate@8.0.0: - resolution: {integrity: sha512-AFbieoL7a5LMqcnOF04ji+rpXadgOXnZsxQr//r83kLPr7biP7am3g9zbaZIaBGwBRWeSvoMD4mgPdX3e4NWBg==} - dev: true + vscode-textmate@8.0.0: {} - /vscode-uri@3.0.8: - resolution: {integrity: sha512-AyFQ0EVmsOZOlAnxoFOGOq1SQDWAB7C6aqMGS23svWAllfOaxbuFvcT8D1i8z3Gyn8fraVeZNNmN6e9bxxXkKw==} + vscode-uri@3.0.8: {} - /vue-demi@0.13.11(vue@3.4.27): - resolution: {integrity: sha512-IR8HoEEGM65YY3ZJYAjMlKygDQn25D5ajNFNoKh9RSDMQtlzCxtfQjdQgv9jjK+m3377SsJXY8ysq8kLCZL25A==} - engines: {node: '>=12'} - hasBin: true - requiresBuild: true - peerDependencies: - '@vue/composition-api': ^1.0.0-rc.1 - vue: ^3.0.0-0 || ^2.6.0 - peerDependenciesMeta: - '@vue/composition-api': - optional: true + vue-demi@0.13.11(vue@3.4.27(typescript@5.4.5)): dependencies: vue: 3.4.27(typescript@5.4.5) - dev: false - /vue-demi@0.14.8(vue@3.4.27): - resolution: {integrity: sha512-Uuqnk9YE9SsWeReYqK2alDI5YzciATE0r2SkA6iMAtuXvNTMNACJLJEXNXaEy94ECuBe4Sk6RzRU80kjdbIo1Q==} - engines: {node: '>=12'} - hasBin: true - requiresBuild: true - peerDependencies: - '@vue/composition-api': ^1.0.0-rc.1 - vue: ^3.0.0-0 || ^2.6.0 - peerDependenciesMeta: - '@vue/composition-api': - optional: true + vue-demi@0.14.8(vue@3.4.27(typescript@5.4.5)): dependencies: vue: 3.4.27(typescript@5.4.5) - /vue@3.4.27(typescript@5.4.5): - resolution: {integrity: sha512-8s/56uK6r01r1icG/aEOHqyMVxd1bkYcSe9j8HcKtr/xTOFWvnzIVTehNW+5Yt89f+DLBe4A569pnZLS5HzAMA==} - peerDependencies: - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true + vue@3.4.27(typescript@5.4.5): dependencies: '@vue/compiler-dom': 3.4.27 '@vue/compiler-sfc': 3.4.27 '@vue/runtime-dom': 3.4.27 - '@vue/server-renderer': 3.4.27(vue@3.4.27) + '@vue/server-renderer': 3.4.27(vue@3.4.27(typescript@5.4.5)) '@vue/shared': 3.4.27 + optionalDependencies: typescript: 5.4.5 - /vuex@4.1.0(vue@3.4.27): - resolution: {integrity: sha512-hmV6UerDrPcgbSy9ORAtNXDr9M4wlNP4pEFKye4ujJF8oqgFFuxDCdOLS3eNoRTtq5O3hoBDh9Doj1bQMYHRbQ==} - peerDependencies: - vue: ^3.2.0 + vuex@4.1.0(vue@3.4.27(typescript@5.4.5)): dependencies: '@vue/devtools-api': 6.6.3 vue: 3.4.27(typescript@5.4.5) - dev: false - /w3c-xmlserializer@5.0.0: - resolution: {integrity: sha512-o8qghlI8NZHU1lLPrpi2+Uq7abh4GGPpYANlalzWxyWteJOCsr/P+oPBA49TOLu5FTZO4d3F9MnWJfiMo4BkmA==} - engines: {node: '>=18'} + w3c-xmlserializer@5.0.0: dependencies: xml-name-validator: 5.0.0 - dev: true - /wait-on@7.2.0(debug@4.3.5): - resolution: {integrity: sha512-wCQcHkRazgjG5XoAq9jbTMLpNIjoSlZslrJ2+N9MxDsGEv1HnFoVjOCexL0ESva7Y9cu350j+DWADdk54s4AFQ==} - engines: {node: '>=12.0.0'} - hasBin: true + wait-on@7.2.0(debug@4.3.5): dependencies: axios: 1.7.2(debug@4.3.5) joi: 17.13.1 @@ -16050,36 +17750,23 @@ packages: rxjs: 7.8.1 transitivePeerDependencies: - debug - dev: true - /walker@1.0.8: - resolution: {integrity: sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==} + walker@1.0.8: dependencies: makeerror: 1.0.12 - dev: true - /watchpack@2.4.1: - resolution: {integrity: sha512-8wrBCMtVhqcXP2Sup1ctSkga6uc2Bx0IIvKyT7yTFier5AXHooSI+QyQQAtTb7+E0IUCCKyTFmXqdqgum2XWGg==} - engines: {node: '>=10.13.0'} + watchpack@2.4.1: dependencies: glob-to-regexp: 0.4.1 graceful-fs: 4.2.11 - dev: true - /wbuf@1.7.3: - resolution: {integrity: sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==} + wbuf@1.7.3: dependencies: minimalistic-assert: 1.0.1 - dev: true - /web-streams-polyfill@3.3.3: - resolution: {integrity: sha512-d2JWLCivmZYTSIoge9MsgFCZrt571BikcWGYkjC1khllbTeDlGqZ2D8vD8E/lJa8WGWbb7Plm8/XJYV7IJHZZw==} - engines: {node: '>= 8'} - dev: true + web-streams-polyfill@3.3.3: {} - /webdriver@7.31.1(typescript@5.4.5): - resolution: {integrity: sha512-nCdJLxRnYvOMFqTEX7sqQtF/hV/Jgov0Y6ICeOm1DMTlZSRRDaUsBMlEAPkEwif9uBJYdM0znv8qzfX358AGqQ==} - engines: {node: '>=12.0.0'} + webdriver@7.31.1(typescript@5.4.5): dependencies: '@types/node': 18.19.34 '@wdio/config': 7.31.1(typescript@5.4.5) @@ -16092,45 +17779,19 @@ packages: lodash.merge: 4.6.2 transitivePeerDependencies: - typescript - dev: true - /webidl-conversions@3.0.1: - resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==} - dev: true + webidl-conversions@3.0.1: {} - /webidl-conversions@4.0.2: - resolution: {integrity: sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==} - dev: true + webidl-conversions@4.0.2: {} - /webidl-conversions@7.0.0: - resolution: {integrity: sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==} - engines: {node: '>=12'} - dev: true + webidl-conversions@7.0.0: {} - /webpack-cli@4.10.0(webpack-dev-server@4.15.2)(webpack@5.92.0): - resolution: {integrity: sha512-NLhDfH/h4O6UOy+0LSso42xvYypClINuMNBVVzX4vX98TmTaTUxwRbXdhucbFMd2qLaCTcLq/PdYrvi8onw90w==} - engines: {node: '>=10.13.0'} - hasBin: true - peerDependencies: - '@webpack-cli/generators': '*' - '@webpack-cli/migrate': '*' - webpack: 4.x.x || 5.x.x - webpack-bundle-analyzer: '*' - webpack-dev-server: '*' - peerDependenciesMeta: - '@webpack-cli/generators': - optional: true - '@webpack-cli/migrate': - optional: true - webpack-bundle-analyzer: - optional: true - webpack-dev-server: - optional: true + webpack-cli@4.10.0(webpack-dev-server@4.15.2)(webpack@5.92.0): dependencies: '@discoveryjs/json-ext': 0.5.7 - '@webpack-cli/configtest': 1.2.0(webpack-cli@4.10.0)(webpack@5.92.0) - '@webpack-cli/info': 1.5.0(webpack-cli@4.10.0) - '@webpack-cli/serve': 1.7.0(webpack-cli@4.10.0)(webpack-dev-server@4.15.2) + '@webpack-cli/configtest': 1.2.0(webpack-cli@4.10.0(webpack-dev-server@4.15.2)(webpack@5.92.0))(webpack@5.92.0(esbuild@0.20.2)(webpack-cli@4.10.0)) + '@webpack-cli/info': 1.5.0(webpack-cli@4.10.0(webpack-dev-server@4.15.2)(webpack@5.92.0)) + '@webpack-cli/serve': 1.7.0(webpack-cli@4.10.0(webpack-dev-server@4.15.2)(webpack@5.92.0))(webpack-dev-server@4.15.2(webpack-cli@4.10.0)(webpack@5.92.0)) colorette: 2.0.20 commander: 7.2.0 cross-spawn: 7.0.3 @@ -16139,15 +17800,11 @@ packages: interpret: 2.2.0 rechoir: 0.7.1 webpack: 5.92.0(esbuild@0.20.2)(webpack-cli@4.10.0) - webpack-dev-server: 4.15.2(webpack-cli@4.10.0)(webpack@5.92.0) webpack-merge: 5.10.0 - dev: true + optionalDependencies: + webpack-dev-server: 4.15.2(webpack-cli@4.10.0)(webpack@5.92.0) - /webpack-dev-middleware@5.3.4(webpack@5.92.0): - resolution: {integrity: sha512-BVdTqhhs+0IfoeAf7EoH5WE+exCmqGerHfDM0IL096Px60Tq2Mn9MAbnaGUe6HiMa41KMCYF19gyzZmBcq/o4Q==} - engines: {node: '>= 12.13.0'} - peerDependencies: - webpack: ^4.0.0 || ^5.0.0 + webpack-dev-middleware@5.3.4(webpack@5.92.0(esbuild@0.20.2)(webpack-cli@4.10.0)): dependencies: colorette: 2.0.20 memfs: 3.5.3 @@ -16155,20 +17812,8 @@ packages: range-parser: 1.2.1 schema-utils: 4.2.0 webpack: 5.92.0(esbuild@0.20.2)(webpack-cli@4.10.0) - dev: true - /webpack-dev-server@4.15.2(webpack-cli@4.10.0)(webpack@5.92.0): - resolution: {integrity: sha512-0XavAZbNJ5sDrCbkpWL8mia0o5WPOd2YGtxrEiZkBK9FjLppIUK2TgxK6qGD2P3hUXTJNNPVibrerKcx5WkR1g==} - engines: {node: '>= 12.13.0'} - hasBin: true - peerDependencies: - webpack: ^4.37.0 || ^5.0.0 - webpack-cli: '*' - peerDependenciesMeta: - webpack: - optional: true - webpack-cli: - optional: true + webpack-dev-server@4.15.2(webpack-cli@4.10.0)(webpack@5.92.0): dependencies: '@types/bonjour': 3.5.13 '@types/connect-history-api-fallback': 1.5.4 @@ -16198,44 +17843,28 @@ packages: serve-index: 1.9.1 sockjs: 0.3.24 spdy: 4.0.2 + webpack-dev-middleware: 5.3.4(webpack@5.92.0(esbuild@0.20.2)(webpack-cli@4.10.0)) + ws: 8.17.0 + optionalDependencies: webpack: 5.92.0(esbuild@0.20.2)(webpack-cli@4.10.0) webpack-cli: 4.10.0(webpack-dev-server@4.15.2)(webpack@5.92.0) - webpack-dev-middleware: 5.3.4(webpack@5.92.0) - ws: 8.17.0 transitivePeerDependencies: - bufferutil - debug - supports-color - utf-8-validate - dev: true - /webpack-merge@5.10.0: - resolution: {integrity: sha512-+4zXKdx7UnO+1jaN4l2lHVD+mFvnlZQP/6ljaJVb4SZiwIKeUnrT5l0gkT8z+n4hKpC+jpOv6O9R+gLtag7pSA==} - engines: {node: '>=10.0.0'} + webpack-merge@5.10.0: dependencies: clone-deep: 4.0.1 flat: 5.0.2 wildcard: 2.0.1 - dev: true - /webpack-sources@3.2.3: - resolution: {integrity: sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==} - engines: {node: '>=10.13.0'} - dev: true + webpack-sources@3.2.3: {} - /webpack-virtual-modules@0.6.2: - resolution: {integrity: sha512-66/V2i5hQanC51vBQKPH4aI8NMAcBW59FVBs+rC7eGHupMyfn34q7rZIE+ETlJ+XTevqfUhVVBgSUNSW2flEUQ==} - dev: true + webpack-virtual-modules@0.6.2: {} - /webpack@5.92.0(esbuild@0.20.2)(webpack-cli@4.10.0): - resolution: {integrity: sha512-Bsw2X39MYIgxouNATyVpCNVWBCuUwDgWtN78g6lSdPJRLaQ/PUVm/oXcaRAyY/sMFoKFQrsPeqvTizWtq7QPCA==} - engines: {node: '>=10.13.0'} - hasBin: true - peerDependencies: - webpack-cli: '*' - peerDependenciesMeta: - webpack-cli: - optional: true + webpack@5.92.0(esbuild@0.20.2): dependencies: '@types/eslint-scope': 3.7.7 '@types/estree': 1.0.5 @@ -16258,155 +17887,134 @@ packages: neo-async: 2.6.2 schema-utils: 3.3.0 tapable: 2.2.1 - terser-webpack-plugin: 5.3.10(esbuild@0.20.2)(webpack@5.92.0) + terser-webpack-plugin: 5.3.10(esbuild@0.20.2)(webpack@5.92.0(esbuild@0.20.2)) watchpack: 2.4.1 - webpack-cli: 4.10.0(webpack-dev-server@4.15.2)(webpack@5.92.0) webpack-sources: 3.2.3 transitivePeerDependencies: - '@swc/core' - esbuild - uglify-js - dev: true - /websocket-driver@0.7.4: - resolution: {integrity: sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg==} - engines: {node: '>=0.8.0'} + webpack@5.92.0(esbuild@0.20.2)(webpack-cli@4.10.0): + dependencies: + '@types/eslint-scope': 3.7.7 + '@types/estree': 1.0.5 + '@webassemblyjs/ast': 1.12.1 + '@webassemblyjs/wasm-edit': 1.12.1 + '@webassemblyjs/wasm-parser': 1.12.1 + acorn: 8.11.3 + acorn-import-attributes: 1.9.5(acorn@8.11.3) + browserslist: 4.23.1 + chrome-trace-event: 1.0.4 + enhanced-resolve: 5.17.0 + es-module-lexer: 1.5.3 + eslint-scope: 5.1.1 + events: 3.3.0 + glob-to-regexp: 0.4.1 + graceful-fs: 4.2.11 + json-parse-even-better-errors: 2.3.1 + loader-runner: 4.3.0 + mime-types: 2.1.35 + neo-async: 2.6.2 + schema-utils: 3.3.0 + tapable: 2.2.1 + terser-webpack-plugin: 5.3.10(esbuild@0.20.2)(webpack@5.92.0(esbuild@0.20.2)(webpack-cli@4.10.0)) + watchpack: 2.4.1 + webpack-sources: 3.2.3 + optionalDependencies: + webpack-cli: 4.10.0(webpack-dev-server@4.15.2)(webpack@5.92.0) + transitivePeerDependencies: + - '@swc/core' + - esbuild + - uglify-js + + websocket-driver@0.7.4: dependencies: http-parser-js: 0.5.8 safe-buffer: 5.2.1 websocket-extensions: 0.1.4 - dev: true - /websocket-extensions@0.1.4: - resolution: {integrity: sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==} - engines: {node: '>=0.8.0'} - dev: true + websocket-extensions@0.1.4: {} - /whatwg-encoding@3.1.1: - resolution: {integrity: sha512-6qN4hJdMwfYBtE3YBTTHhoeuUrDBPZmbQaxWAqSALV/MeEnR5z1xd8UKud2RAkFoPkmB+hli1TZSnyi84xz1vQ==} - engines: {node: '>=18'} + whatwg-encoding@3.1.1: dependencies: iconv-lite: 0.6.3 - dev: true - /whatwg-mimetype@4.0.0: - resolution: {integrity: sha512-QaKxh0eNIi2mE9p2vEdzfagOKHCcj1pJ56EEHGQOVxp8r9/iszLUUV7v89x9O1p/T+NlTM5W7jW6+cz4Fq1YVg==} - engines: {node: '>=18'} - dev: true + whatwg-mimetype@4.0.0: {} - /whatwg-url@14.0.0: - resolution: {integrity: sha512-1lfMEm2IEr7RIV+f4lUNPOqfFL+pO+Xw3fJSqmjX9AbXcXcYOkCe1P6+9VBZB6n94af16NfZf+sSk0JCBZC9aw==} - engines: {node: '>=18'} + whatwg-url@14.0.0: dependencies: tr46: 5.0.0 webidl-conversions: 7.0.0 - dev: true - /whatwg-url@5.0.0: - resolution: {integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==} + whatwg-url@5.0.0: dependencies: tr46: 0.0.3 webidl-conversions: 3.0.1 - dev: true - /whatwg-url@7.1.0: - resolution: {integrity: sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==} + whatwg-url@7.1.0: dependencies: lodash.sortby: 4.7.0 tr46: 1.0.1 webidl-conversions: 4.0.2 - dev: true - /which-boxed-primitive@1.0.2: - resolution: {integrity: sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==} + which-boxed-primitive@1.0.2: dependencies: is-bigint: 1.0.4 is-boolean-object: 1.1.2 is-number-object: 1.0.7 is-string: 1.0.7 is-symbol: 1.0.4 - dev: true - /which-module@2.0.1: - resolution: {integrity: sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ==} - dev: true + which-module@2.0.1: {} - /which-typed-array@1.1.15: - resolution: {integrity: sha512-oV0jmFtUky6CXfkqehVvBP/LSWJ2sy4vWMioiENyJLePrBO/yKyV9OyJySfAKosh+RYkIl5zJCNZ8/4JncrpdA==} - engines: {node: '>= 0.4'} + which-typed-array@1.1.15: dependencies: available-typed-arrays: 1.0.7 call-bind: 1.0.7 for-each: 0.3.3 gopd: 1.0.1 has-tostringtag: 1.0.2 - dev: true - /which@1.3.1: - resolution: {integrity: sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==} - hasBin: true + which@1.3.1: dependencies: isexe: 2.0.0 - dev: true - /which@2.0.2: - resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} - engines: {node: '>= 8'} - hasBin: true + which@2.0.2: dependencies: isexe: 2.0.0 - /why-is-node-running@2.2.2: - resolution: {integrity: sha512-6tSwToZxTOcotxHeA+qGCq1mVzKR3CwcJGmVcY+QE8SHy6TnpFnh8PAvPNHYr7EcuVeG0QSMxtYCuO1ta/G/oA==} - engines: {node: '>=8'} - hasBin: true + why-is-node-running@2.2.2: dependencies: siginfo: 2.0.0 stackback: 0.0.2 - dev: true - /widest-line@3.1.0: - resolution: {integrity: sha512-NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg==} - engines: {node: '>=8'} + widest-line@3.1.0: dependencies: string-width: 4.2.3 - dev: true - /wildcard@2.0.1: - resolution: {integrity: sha512-CC1bOL87PIWSBhDcTrdeLo6eGT7mCFtrg0uIJtqJUFyK+eJnzl8A1niH56uu7KMa5XFrtiV+AQuHO3n7DsHnLQ==} - dev: true + wildcard@2.0.1: {} - /word-wrap@1.2.5: - resolution: {integrity: sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==} - engines: {node: '>=0.10.0'} - dev: true + word-wrap@1.2.5: {} - /wordwrap@1.0.0: - resolution: {integrity: sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==} - dev: true + wordwrap@1.0.0: {} - /workbox-background-sync@7.1.0: - resolution: {integrity: sha512-rMbgrzueVWDFcEq1610YyDW71z0oAXLfdRHRQcKw4SGihkfOK0JUEvqWHFwA6rJ+6TClnMIn7KQI5PNN1XQXwQ==} + workbox-background-sync@7.1.0: dependencies: idb: 7.1.1 workbox-core: 7.1.0 - dev: true - /workbox-broadcast-update@7.1.0: - resolution: {integrity: sha512-O36hIfhjej/c5ar95pO67k1GQw0/bw5tKP7CERNgK+JdxBANQhDmIuOXZTNvwb2IHBx9hj2kxvcDyRIh5nzOgQ==} + workbox-broadcast-update@7.1.0: dependencies: workbox-core: 7.1.0 - dev: true - /workbox-build@7.1.1: - resolution: {integrity: sha512-WdkVdC70VMpf5NBCtNbiwdSZeKVuhTEd5PV3mAwpTQCGAB5XbOny1P9egEgNdetv4srAMmMKjvBk4RD58LpooA==} - engines: {node: '>=16.0.0'} + workbox-build@7.1.1(@types/babel__core@7.20.5): dependencies: '@apideck/better-ajv-errors': 0.3.6(ajv@8.16.0) '@babel/core': 7.24.7 '@babel/preset-env': 7.24.7(@babel/core@7.24.7) '@babel/runtime': 7.24.7 - '@rollup/plugin-babel': 5.3.1(@babel/core@7.24.7)(rollup@2.79.1) + '@rollup/plugin-babel': 5.3.1(@babel/core@7.24.7)(@types/babel__core@7.20.5)(rollup@2.79.1) '@rollup/plugin-node-resolve': 15.2.3(rollup@2.79.1) '@rollup/plugin-replace': 2.4.2(rollup@2.79.1) '@rollup/plugin-terser': 0.4.4(rollup@2.79.1) @@ -16442,56 +18050,40 @@ packages: transitivePeerDependencies: - '@types/babel__core' - supports-color - dev: true - /workbox-cacheable-response@7.1.0: - resolution: {integrity: sha512-iwsLBll8Hvua3xCuBB9h92+/e0wdsmSVgR2ZlvcfjepZWwhd3osumQB3x9o7flj+FehtWM2VHbZn8UJeBXXo6Q==} + workbox-cacheable-response@7.1.0: dependencies: workbox-core: 7.1.0 - dev: true - /workbox-core@7.1.0: - resolution: {integrity: sha512-5KB4KOY8rtL31nEF7BfvU7FMzKT4B5TkbYa2tzkS+Peqj0gayMT9SytSFtNzlrvMaWgv6y/yvP9C0IbpFjV30Q==} - dev: true + workbox-core@7.1.0: {} - /workbox-expiration@7.1.0: - resolution: {integrity: sha512-m5DcMY+A63rJlPTbbBNtpJ20i3enkyOtSgYfv/l8h+D6YbbNiA0zKEkCUaMsdDlxggla1oOfRkyqTvl5Ni5KQQ==} + workbox-expiration@7.1.0: dependencies: idb: 7.1.1 workbox-core: 7.1.0 - dev: true - /workbox-google-analytics@7.1.0: - resolution: {integrity: sha512-FvE53kBQHfVTcZyczeBVRexhh7JTkyQ8HAvbVY6mXd2n2A7Oyz/9fIwnY406ZcDhvE4NFfKGjW56N4gBiqkrew==} + workbox-google-analytics@7.1.0: dependencies: workbox-background-sync: 7.1.0 workbox-core: 7.1.0 workbox-routing: 7.1.0 workbox-strategies: 7.1.0 - dev: true - /workbox-navigation-preload@7.1.0: - resolution: {integrity: sha512-4wyAbo0vNI/X0uWNJhCMKxnPanNyhybsReMGN9QUpaePLTiDpKxPqFxl4oUmBNddPwIXug01eTSLVIFXimRG/A==} + workbox-navigation-preload@7.1.0: dependencies: workbox-core: 7.1.0 - dev: true - /workbox-precaching@7.1.0: - resolution: {integrity: sha512-LyxzQts+UEpgtmfnolo0hHdNjoB7EoRWcF7EDslt+lQGd0lW4iTvvSe3v5JiIckQSB5KTW5xiCqjFviRKPj1zA==} + workbox-precaching@7.1.0: dependencies: workbox-core: 7.1.0 workbox-routing: 7.1.0 workbox-strategies: 7.1.0 - dev: true - /workbox-range-requests@7.1.0: - resolution: {integrity: sha512-m7+O4EHolNs5yb/79CrnwPR/g/PRzMFYEdo01LqwixVnc/sbzNSvKz0d04OE3aMRel1CwAAZQheRsqGDwATgPQ==} + workbox-range-requests@7.1.0: dependencies: workbox-core: 7.1.0 - dev: true - /workbox-recipes@7.1.0: - resolution: {integrity: sha512-NRrk4ycFN9BHXJB6WrKiRX3W3w75YNrNrzSX9cEZgFB5ubeGoO8s/SDmOYVrFYp9HMw6sh1Pm3eAY/1gVS8YLg==} + workbox-recipes@7.1.0: dependencies: workbox-cacheable-response: 7.1.0 workbox-core: 7.1.0 @@ -16499,195 +18091,101 @@ packages: workbox-precaching: 7.1.0 workbox-routing: 7.1.0 workbox-strategies: 7.1.0 - dev: true - /workbox-routing@7.1.0: - resolution: {integrity: sha512-oOYk+kLriUY2QyHkIilxUlVcFqwduLJB7oRZIENbqPGeBP/3TWHYNNdmGNhz1dvKuw7aqvJ7CQxn27/jprlTdg==} + workbox-routing@7.1.0: dependencies: workbox-core: 7.1.0 - dev: true - /workbox-strategies@7.1.0: - resolution: {integrity: sha512-/UracPiGhUNehGjRm/tLUQ+9PtWmCbRufWtV0tNrALuf+HZ4F7cmObSEK+E4/Bx1p8Syx2tM+pkIrvtyetdlew==} + workbox-strategies@7.1.0: dependencies: workbox-core: 7.1.0 - dev: true - /workbox-streams@7.1.0: - resolution: {integrity: sha512-WyHAVxRXBMfysM8ORwiZnI98wvGWTVAq/lOyBjf00pXFvG0mNaVz4Ji+u+fKa/mf1i2SnTfikoYKto4ihHeS6w==} + workbox-streams@7.1.0: dependencies: workbox-core: 7.1.0 workbox-routing: 7.1.0 - dev: true - /workbox-sw@7.1.0: - resolution: {integrity: sha512-Hml/9+/njUXBglv3dtZ9WBKHI235AQJyLBV1G7EFmh4/mUdSQuXui80RtjDeVRrXnm/6QWgRUEHG3/YBVbxtsA==} - dev: true + workbox-sw@7.1.0: {} - /workbox-window@7.1.0: - resolution: {integrity: sha512-ZHeROyqR+AS5UPzholQRDttLFqGMwP0Np8MKWAdyxsDETxq3qOAyXvqessc3GniohG6e0mAqSQyKOHmT8zPF7g==} + workbox-window@7.1.0: dependencies: '@types/trusted-types': 2.0.7 workbox-core: 7.1.0 - dev: true - /wrap-ansi@6.2.0: - resolution: {integrity: sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==} - engines: {node: '>=8'} + wrap-ansi@6.2.0: dependencies: ansi-styles: 4.3.0 string-width: 4.2.3 strip-ansi: 6.0.1 - dev: true - /wrap-ansi@7.0.0: - resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} - engines: {node: '>=10'} + wrap-ansi@7.0.0: dependencies: ansi-styles: 4.3.0 string-width: 4.2.3 strip-ansi: 6.0.1 - /wrap-ansi@8.1.0: - resolution: {integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==} - engines: {node: '>=12'} + wrap-ansi@8.1.0: dependencies: ansi-styles: 6.2.1 string-width: 5.1.2 strip-ansi: 7.1.0 - /wrap-ansi@9.0.0: - resolution: {integrity: sha512-G8ura3S+3Z2G+mkgNRq8dqaFZAuxfsxpBB8OCTGRTCtp+l/v9nbFNmCUP1BZMts3G1142MsZfn6eeUKrr4PD1Q==} - engines: {node: '>=18'} + wrap-ansi@9.0.0: dependencies: ansi-styles: 6.2.1 string-width: 7.1.0 strip-ansi: 7.1.0 - dev: true - /wrappy@1.0.2: - resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} - dev: true + wrappy@1.0.2: {} - /write-file-atomic@3.0.3: - resolution: {integrity: sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==} + write-file-atomic@3.0.3: dependencies: imurmurhash: 0.1.4 is-typedarray: 1.0.0 signal-exit: 3.0.7 typedarray-to-buffer: 3.1.5 - dev: true - /write-file-atomic@4.0.2: - resolution: {integrity: sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==} - engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} + write-file-atomic@4.0.2: dependencies: imurmurhash: 0.1.4 signal-exit: 3.0.7 - dev: true - /ws@8.13.0: - resolution: {integrity: sha512-x9vcZYTrFPC7aSIbj7sRCYo7L/Xb8Iy+pW0ng0wt2vCJv7M9HOMy0UoN3rr+IFC7hb7vXoqS+P9ktyLLLhO+LA==} - engines: {node: '>=10.0.0'} - peerDependencies: - bufferutil: ^4.0.1 - utf-8-validate: '>=5.0.2' - peerDependenciesMeta: - bufferutil: - optional: true - utf-8-validate: - optional: true - dev: true + ws@8.13.0: {} - /ws@8.17.0: - resolution: {integrity: sha512-uJq6108EgZMAl20KagGkzCKfMEjxmKvZHG7Tlq0Z6nOky7YF7aq4mOx6xK8TJ/i1LeK4Qus7INktacctDgY8Ow==} - engines: {node: '>=10.0.0'} - peerDependencies: - bufferutil: ^4.0.1 - utf-8-validate: '>=5.0.2' - peerDependenciesMeta: - bufferutil: - optional: true - utf-8-validate: - optional: true - dev: true + ws@8.17.0: {} - /ws@8.5.0: - resolution: {integrity: sha512-BWX0SWVgLPzYwF8lTzEy1egjhS4S4OEAHfsO8o65WOVsrnSRGaSiUaa9e0ggGlkMTtBlmOpEXiie9RUcBO86qg==} - engines: {node: '>=10.0.0'} - peerDependencies: - bufferutil: ^4.0.1 - utf-8-validate: ^5.0.2 - peerDependenciesMeta: - bufferutil: - optional: true - utf-8-validate: - optional: true - dev: true + ws@8.5.0: {} - /xdg-basedir@5.1.0: - resolution: {integrity: sha512-GCPAHLvrIH13+c0SuacwvRYj2SxJXQ4kaVTT5xgL3kPrz56XxkF21IGhjSE1+W0aw7gpBWRGXLCPnPby6lSpmQ==} - engines: {node: '>=12'} - dev: true + xdg-basedir@5.1.0: {} - /xml-name-validator@5.0.0: - resolution: {integrity: sha512-EvGK8EJ3DhaHfbRlETOWAS5pO9MZITeauHKJyb8wyajUfQUenkIg2MvLDTZ4T/TgIcm3HU0TFBgWWboAZ30UHg==} - engines: {node: '>=18'} - dev: true + xml-name-validator@5.0.0: {} - /xmlbuilder@15.1.1: - resolution: {integrity: sha512-yMqGBqtXyeN1e3TGYvgNgDVZ3j84W4cwkOXQswghol6APgZWaff9lnbvN7MHYJOiXsvGPXtjTYJEiC9J2wv9Eg==} - engines: {node: '>=8.0'} - dev: true + xmlbuilder@15.1.1: {} - /xmlchars@2.2.0: - resolution: {integrity: sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==} - dev: true + xmlchars@2.2.0: {} - /xxhashjs@0.2.2: - resolution: {integrity: sha512-AkTuIuVTET12tpsVIQo+ZU6f/qDmKuRUcjaqR+OIvm+aCBsZ95i7UVY5WJ9TMsSaZ0DA2WxoZ4acu0sPH+OKAw==} + xxhashjs@0.2.2: dependencies: cuint: 0.2.2 - dev: true - /y18n@4.0.3: - resolution: {integrity: sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==} - dev: true + y18n@4.0.3: {} - /y18n@5.0.8: - resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==} - engines: {node: '>=10'} - dev: true + y18n@5.0.8: {} - /yallist@3.1.1: - resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==} - dev: true + yallist@3.1.1: {} - /yallist@4.0.0: - resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} - dev: true + yallist@4.0.0: {} - /yaml@2.4.5: - resolution: {integrity: sha512-aBx2bnqDzVOyNKfsysjA2ms5ZlnjSAW2eG3/L5G/CSujfjLJTJsEw1bGw8kCf04KodQWk1pxlGnZ56CRxiawmg==} - engines: {node: '>= 14'} - hasBin: true + yaml@2.4.5: {} - /yargs-parser@18.1.3: - resolution: {integrity: sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==} - engines: {node: '>=6'} + yargs-parser@18.1.3: dependencies: camelcase: 5.3.1 decamelize: 1.2.0 - dev: true - /yargs-parser@21.1.1: - resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==} - engines: {node: '>=12'} - dev: true + yargs-parser@21.1.1: {} - /yargs@15.4.1: - resolution: {integrity: sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==} - engines: {node: '>=8'} + yargs@15.4.1: dependencies: cliui: 6.0.0 decamelize: 1.2.0 @@ -16700,11 +18198,8 @@ packages: which-module: 2.0.1 y18n: 4.0.3 yargs-parser: 18.1.3 - dev: true - /yargs@17.7.2: - resolution: {integrity: sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==} - engines: {node: '>=12'} + yargs@17.7.2: dependencies: cliui: 8.0.1 escalade: 3.1.2 @@ -16713,25 +18208,14 @@ packages: string-width: 4.2.3 y18n: 5.0.8 yargs-parser: 21.1.1 - dev: true - /yauzl@2.10.0: - resolution: {integrity: sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==} + yauzl@2.10.0: dependencies: buffer-crc32: 0.2.13 fd-slicer: 1.1.0 - dev: true - /yocto-queue@0.1.0: - resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} - engines: {node: '>=10'} - dev: true + yocto-queue@0.1.0: {} - /yocto-queue@1.0.0: - resolution: {integrity: sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==} - engines: {node: '>=12.20'} - dev: true + yocto-queue@1.0.0: {} - /zwitch@2.0.4: - resolution: {integrity: sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==} - dev: true + zwitch@2.0.4: {} From a5d24e5da51a754a0d9fc26f1618cc3b69ab86a9 Mon Sep 17 00:00:00 2001 From: Ashish Jain Date: Thu, 13 Jun 2024 14:57:36 +0200 Subject: [PATCH 494/789] Fix lint issues --- .../src/rendering-util/rendering-elements/shapes/state.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/mermaid/src/rendering-util/rendering-elements/shapes/state.ts b/packages/mermaid/src/rendering-util/rendering-elements/shapes/state.ts index 73d119045b..fac2557353 100644 --- a/packages/mermaid/src/rendering-util/rendering-elements/shapes/state.ts +++ b/packages/mermaid/src/rendering-util/rendering-elements/shapes/state.ts @@ -1,4 +1,4 @@ -import type { Node } from '$root/rendering-util/types.d.ts'; +import type { Node, RectOptions } from '$root/rendering-util/types.d.ts'; import { drawRect } from './drawRect.js'; export const state = async (parent: SVGAElement, node: Node) => { @@ -6,6 +6,6 @@ export const state = async (parent: SVGAElement, node: Node) => { rx: 5, ry: 5, classes: 'flowchart-node', - }; + } as RectOptions; return drawRect(parent, node, options); }; From e2e652ae0f707afd76f1cf93cbeff5308f23cffc Mon Sep 17 00:00:00 2001 From: Knut Sveidqvist Date: Thu, 13 Jun 2024 16:25:41 +0200 Subject: [PATCH 495/789] 5237 Adding rectWith title shape --- .../mermaid/src/diagrams/state/stateDb.js | 9 ++ .../rendering-elements/nodes.js | 5 +- .../shapes/rectWithTitle.ts | 146 ++++++++++++++++++ .../mermaid/src/rendering-util/types.d.ts | 1 + 4 files changed, 160 insertions(+), 1 deletion(-) create mode 100644 packages/mermaid/src/rendering-util/rendering-elements/shapes/rectWithTitle.ts diff --git a/packages/mermaid/src/diagrams/state/stateDb.js b/packages/mermaid/src/diagrams/state/stateDb.js index d4de328898..bd04e1268a 100644 --- a/packages/mermaid/src/diagrams/state/stateDb.js +++ b/packages/mermaid/src/diagrams/state/stateDb.js @@ -231,6 +231,15 @@ const extract = (_doc) => { const look = config.look; resetDataFetching(); dataFetcher(undefined, getRootDocV2(), diagramStates, nodes, edges, true, look); + nodes.forEach((node) => { + if (Array.isArray(node.label)) { + // add the rest as description + node.description = node.label.slice(1); + // add first description as label + node.label = node.label[0]; + } + }); + console.log('nodes after extract', nodes); }; /** diff --git a/packages/mermaid/src/rendering-util/rendering-elements/nodes.js b/packages/mermaid/src/rendering-util/rendering-elements/nodes.js index c9fb0c529a..c1caa697eb 100644 --- a/packages/mermaid/src/rendering-util/rendering-elements/nodes.js +++ b/packages/mermaid/src/rendering-util/rendering-elements/nodes.js @@ -8,6 +8,7 @@ import { forkJoin } from './shapes/forkJoin.ts'; import { choice } from './shapes/choice.ts'; import { note } from './shapes/note.ts'; import { stadium } from './shapes/stadium.js'; +import { rectWithTitle } from './shapes/rectWithTitle.js'; import { getConfig } from '$root/diagram-api/diagramAPI.js'; import { subroutine } from './shapes/subroutine.js'; import { cylinder } from './shapes/cylinder.js'; @@ -36,7 +37,7 @@ const shapes = { choice, note, roundedRect, - rectWithTitle: roundedRect, + rectWithTitle, squareRect, stadium, subroutine, @@ -58,6 +59,8 @@ export const insertNode = async (elem, node, dir) => { let newEl; let el; + console.log('node DDD', node); + //special check for rect shape (with or without rounded corners) if (node.shape === 'rect') { if (node.rx && node.ry) { diff --git a/packages/mermaid/src/rendering-util/rendering-elements/shapes/rectWithTitle.ts b/packages/mermaid/src/rendering-util/rendering-elements/shapes/rectWithTitle.ts new file mode 100644 index 0000000000..431c4ebcec --- /dev/null +++ b/packages/mermaid/src/rendering-util/rendering-elements/shapes/rectWithTitle.ts @@ -0,0 +1,146 @@ +import type { Node, RectOptions } from '$root/rendering-util/types.d.ts'; +import { select } from 'd3'; +import { evaluate } from '$root/diagrams/common/common.js'; +import { labelHelper, updateNodeBounds, getNodeClasses } from './util.js'; +import createLabel from '../createLabel.js'; +import intersect from '../intersect/index.js'; +import { userNodeOverrides } from '$root/rendering-util/rendering-elements/shapes/handdrawnStyles.js'; +import rough from 'roughjs'; +import { getConfig } from '$root/diagram-api/diagramAPI.js'; +import { createRoundedRectPathD } from './roundedRectPath.js'; +import { log } from '$root/logger.js'; + +export const rectWithTitle = async (parent: SVGElement, node: Node) => { + let classes; + if (!node.cssClasses) { + classes = 'node default'; + } else { + classes = 'node ' + node.cssClasses; + } + + // Add outer g element + const shapeSvg = parent + // @ts-ignore - d3 typings are not correct + .insert('g') + .attr('class', classes) + .attr('id', node.domId || node.id); + + // Create the title label and insert it after the rect + const g = shapeSvg.insert('g'); + + const label = shapeSvg.insert('g').attr('class', 'label'); + + const description = node.description; + + let title = node.label; + + const text = label.node().appendChild(createLabel(title, node.labelStyle, true, true)); + let bbox = { width: 0, height: 0 }; + if (evaluate(getConfig()?.flowchart?.htmlLabels)) { + const div = text.children[0]; + const dv = select(text); + bbox = div.getBoundingClientRect(); + dv.attr('width', bbox.width); + dv.attr('height', bbox.height); + } + log.info('Text 2', description); + const textRows = description || []; + let titleBox = text.getBBox(); + const descr = label + .node() + .appendChild( + createLabel(textRows.join ? textRows.join('
    ') : textRows, node.labelStyle, true, true) + ); + + if (evaluate(getConfig()?.flowchart?.htmlLabels)) { + const div = descr.children[0]; + const dv = select(descr); + bbox = div.getBoundingClientRect(); + dv.attr('width', bbox.width); + dv.attr('height', bbox.height); + } + + const halfPadding = (node.padding || 0) / 2; + select(descr).attr( + 'transform', + 'translate( ' + + (bbox.width > titleBox.width ? 0 : (titleBox.width - bbox.width) / 2) + + ', ' + + (titleBox.height + halfPadding + 5) + + ')' + ); + select(text).attr( + 'transform', + 'translate( ' + + (bbox.width < titleBox.width ? 0 : -(titleBox.width - bbox.width) / 2) + + ', ' + + 0 + + ')' + ); + // Get the size of the label + + // Bounding box for title and text + bbox = label.node().getBBox(); + + // Center the label + label.attr( + 'transform', + 'translate(' + -bbox.width / 2 + ', ' + (-bbox.height / 2 - halfPadding + 3) + ')' + ); + + const totalWidth = bbox.width + (node.padding || 0); + const totalHeight = bbox.height + (node.padding || 0); + const x = -bbox.width / 2 - halfPadding; + const y = -bbox.height / 2 - halfPadding; + let rect; + let innerLine; + if (node.look === 'handdrawn') { + // @ts-ignore No typings for rough + const rc = rough.svg(shapeSvg); + const options = userNodeOverrides(node, {}); + const roughNode = rc.path( + createRoundedRectPathD(x, y, totalWidth, totalHeight, node.rx || 0), + options + ); + + const roughLine = rc.line( + -bbox.width / 2 - halfPadding, + -bbox.height / 2 - halfPadding + titleBox.height + halfPadding, + bbox.width / 2 + halfPadding, + -bbox.height / 2 - halfPadding + titleBox.height + halfPadding, + options + ); + + innerLine = shapeSvg.insert(() => { + log.debug('Rough node insert CXC', roughNode); + return roughLine; + }, ':first-child'); + rect = shapeSvg.insert(() => { + log.debug('Rough node insert CXC', roughNode); + return roughNode; + }, ':first-child'); + } else { + rect = g.insert('rect', ':first-child'); + innerLine = g.insert('line'); + rect + .attr('class', 'outer title-state') + .attr('x', -bbox.width / 2 - halfPadding) + .attr('y', -bbox.height / 2 - halfPadding) + .attr('width', bbox.width + (node.padding || 0)) + .attr('height', bbox.height + (node.padding || 0)); + + innerLine + .attr('class', 'divider') + .attr('x1', -bbox.width / 2 - halfPadding) + .attr('x2', bbox.width / 2 + halfPadding) + .attr('y1', -bbox.height / 2 - halfPadding + titleBox.height + halfPadding) + .attr('y2', -bbox.height / 2 - halfPadding + titleBox.height + halfPadding); + } + updateNodeBounds(node, rect); + + node.intersect = function (point) { + return intersect.rect(node, point); + }; + + return shapeSvg; +}; diff --git a/packages/mermaid/src/rendering-util/types.d.ts b/packages/mermaid/src/rendering-util/types.d.ts index c7efdc5049..55aafd20a9 100644 --- a/packages/mermaid/src/rendering-util/types.d.ts +++ b/packages/mermaid/src/rendering-util/types.d.ts @@ -13,6 +13,7 @@ export type CheckFitFunction = (text: MarkdownLine) => boolean; interface Node { id: string; label?: string; + description?: string[]; parentId?: string; position?: string; // Keep, this is for notes 'left of', 'right of', etc. Move into nodeNode cssStyles?: string; // Renamed from `styles` to `cssStyles` From dd7f8ac81bed155f27d83d55a0b3ebf92dc2ecac Mon Sep 17 00:00:00 2001 From: Ashish Jain Date: Thu, 13 Jun 2024 17:00:08 +0200 Subject: [PATCH 496/789] lint fixes --- packages/mermaid/src/diagrams/state/stateDb.js | 1 - .../mermaid/src/rendering-util/rendering-elements/nodes.js | 2 -- .../rendering-util/rendering-elements/shapes/rectWithTitle.ts | 4 ++-- 3 files changed, 2 insertions(+), 5 deletions(-) diff --git a/packages/mermaid/src/diagrams/state/stateDb.js b/packages/mermaid/src/diagrams/state/stateDb.js index bd04e1268a..8abc45dde0 100644 --- a/packages/mermaid/src/diagrams/state/stateDb.js +++ b/packages/mermaid/src/diagrams/state/stateDb.js @@ -239,7 +239,6 @@ const extract = (_doc) => { node.label = node.label[0]; } }); - console.log('nodes after extract', nodes); }; /** diff --git a/packages/mermaid/src/rendering-util/rendering-elements/nodes.js b/packages/mermaid/src/rendering-util/rendering-elements/nodes.js index c1caa697eb..d9ce64cbbd 100644 --- a/packages/mermaid/src/rendering-util/rendering-elements/nodes.js +++ b/packages/mermaid/src/rendering-util/rendering-elements/nodes.js @@ -59,8 +59,6 @@ export const insertNode = async (elem, node, dir) => { let newEl; let el; - console.log('node DDD', node); - //special check for rect shape (with or without rounded corners) if (node.shape === 'rect') { if (node.rx && node.ry) { diff --git a/packages/mermaid/src/rendering-util/rendering-elements/shapes/rectWithTitle.ts b/packages/mermaid/src/rendering-util/rendering-elements/shapes/rectWithTitle.ts index 431c4ebcec..83eda40bbe 100644 --- a/packages/mermaid/src/rendering-util/rendering-elements/shapes/rectWithTitle.ts +++ b/packages/mermaid/src/rendering-util/rendering-elements/shapes/rectWithTitle.ts @@ -32,7 +32,7 @@ export const rectWithTitle = async (parent: SVGElement, node: Node) => { const description = node.description; - let title = node.label; + const title = node.label; const text = label.node().appendChild(createLabel(title, node.labelStyle, true, true)); let bbox = { width: 0, height: 0 }; @@ -45,7 +45,7 @@ export const rectWithTitle = async (parent: SVGElement, node: Node) => { } log.info('Text 2', description); const textRows = description || []; - let titleBox = text.getBBox(); + const titleBox = text.getBBox(); const descr = label .node() .appendChild( From 92c05b9138a5c50e39c7c2a7223589e96855b8a6 Mon Sep 17 00:00:00 2001 From: Knut Sveidqvist Date: Fri, 14 Jun 2024 14:12:55 +0200 Subject: [PATCH 497/789] #5237 Lint fixes --- .../mermaid/src/dagre-wrapper/blockArrowHelper.ts | 3 --- packages/mermaid/src/dagre-wrapper/index.js | 3 ++- .../mermaid/src/diagrams/block/blockRenderer.ts | 2 +- .../mermaid/src/diagrams/state/stateDiagram-v2.ts | 2 +- .../rendering-elements/shapes/circle.ts | 7 +------ .../rendering-elements/shapes/cylinder.ts | 2 +- .../rendering-elements/shapes/doubleCircle.ts | 7 +------ .../rendering-elements/shapes/drawRect.ts | 13 +++---------- .../rendering-elements/shapes/hexagon.ts | 7 +------ .../rendering-elements/shapes/invertedTrapezoid.ts | 2 +- .../rendering-elements/shapes/leanLeft.ts | 2 +- .../rendering-elements/shapes/leanRight.ts | 2 +- .../rendering-elements/shapes/note.ts | 3 +-- .../rendering-elements/shapes/question.ts | 2 +- .../rendering-elements/shapes/rectLeftInvArrow.ts | 2 +- .../rendering-elements/shapes/rectWithTitle.ts | 4 ++-- .../rendering-elements/shapes/stadium.ts | 3 +-- .../rendering-elements/shapes/subroutine.ts | 4 +--- .../rendering-elements/shapes/trapezoid.ts | 3 +-- .../rendering-elements/shapes/util.js | 3 +-- 20 files changed, 23 insertions(+), 53 deletions(-) diff --git a/packages/mermaid/src/dagre-wrapper/blockArrowHelper.ts b/packages/mermaid/src/dagre-wrapper/blockArrowHelper.ts index 3c5000a498..848dc9fccc 100644 --- a/packages/mermaid/src/dagre-wrapper/blockArrowHelper.ts +++ b/packages/mermaid/src/dagre-wrapper/blockArrowHelper.ts @@ -42,9 +42,6 @@ export const getArrowPoints = ( // Padding to use, half of the node padding. const padding = node.padding / 2; - // Initialize an empty array to store points for the arrow. - const points = []; - if ( directions.has('right') && directions.has('left') && diff --git a/packages/mermaid/src/dagre-wrapper/index.js b/packages/mermaid/src/dagre-wrapper/index.js index 70f1a862cd..9a056e3792 100644 --- a/packages/mermaid/src/dagre-wrapper/index.js +++ b/packages/mermaid/src/dagre-wrapper/index.js @@ -110,12 +110,13 @@ const recursiveRender = async (_elem, graph, diagramType, id, parentCluster, sit graph.edges().forEach(function (e) { log.info('Edge ' + e.v + ' -> ' + e.w + ': ' + JSON.stringify(e)); }); + log.info('Graph before layout:', JSON.stringify(graphlibJson.write(graph))); log.info('#############################################'); log.info('### Layout ###'); log.info('#############################################'); log.info(graph); dagreLayout(graph); - log.info('Graph after layout:', graphlibJson.write(graph)); + log.info('Graph after layout:', JSON.stringify(graphlibJson.write(graph))); // Move the nodes to the correct place let diff = 0; const { subGraphTitleTotalMargin } = getSubGraphTitleMargins(siteConfig); diff --git a/packages/mermaid/src/diagrams/block/blockRenderer.ts b/packages/mermaid/src/diagrams/block/blockRenderer.ts index e6289ad828..db9fc26995 100644 --- a/packages/mermaid/src/diagrams/block/blockRenderer.ts +++ b/packages/mermaid/src/diagrams/block/blockRenderer.ts @@ -85,7 +85,7 @@ export const draw = async function ( } // Get color scheme for the graph - const colorScheme = d3scaleOrdinal(d3schemeTableau10); + // const colorScheme = d3scaleOrdinal(d3schemeTableau10); }; export default { diff --git a/packages/mermaid/src/diagrams/state/stateDiagram-v2.ts b/packages/mermaid/src/diagrams/state/stateDiagram-v2.ts index 95c10c6169..9d0a82a871 100644 --- a/packages/mermaid/src/diagrams/state/stateDiagram-v2.ts +++ b/packages/mermaid/src/diagrams/state/stateDiagram-v2.ts @@ -3,7 +3,7 @@ import type { DiagramDefinition } from '../../diagram-api/types.js'; import parser from './parser/stateDiagram.jison'; import db from './stateDb.js'; import styles from './styles.js'; -//import renderer from './stateRenderer-v2.js'; +// import renderer from './stateRenderer-v2.js'; import renderer from './stateRenderer-v3-unified.js'; export const diagram: DiagramDefinition = { diff --git a/packages/mermaid/src/rendering-util/rendering-elements/shapes/circle.ts b/packages/mermaid/src/rendering-util/rendering-elements/shapes/circle.ts index 17b555bbe4..b88c8fb214 100644 --- a/packages/mermaid/src/rendering-util/rendering-elements/shapes/circle.ts +++ b/packages/mermaid/src/rendering-util/rendering-elements/shapes/circle.ts @@ -6,12 +6,7 @@ import { userNodeOverrides } from '$root/rendering-util/rendering-elements/shape import rough from 'roughjs'; export const circle = async (parent: SVGAElement, node: Node): Promise => { - const { shapeSvg, bbox, halfPadding } = await labelHelper( - parent, - node, - getNodeClasses(node), - true - ); + const { shapeSvg, bbox, halfPadding } = await labelHelper(parent, node, getNodeClasses(node)); const radius = bbox.width / 2 + halfPadding; let circleElem; diff --git a/packages/mermaid/src/rendering-util/rendering-elements/shapes/cylinder.ts b/packages/mermaid/src/rendering-util/rendering-elements/shapes/cylinder.ts index acd7c990d5..3d1411c1f4 100644 --- a/packages/mermaid/src/rendering-util/rendering-elements/shapes/cylinder.ts +++ b/packages/mermaid/src/rendering-util/rendering-elements/shapes/cylinder.ts @@ -50,7 +50,7 @@ export const createInnerCylinderPathD = ( return [`M${x - width / 2},${-height / 2}`, `a${rx},${ry} 0,0,0 ${width},0`].join(' '); }; export const cylinder = async (parent: SVGAElement, node: Node) => { - const { shapeSvg, bbox } = await labelHelper(parent, node, getNodeClasses(node), true); + const { shapeSvg, bbox } = await labelHelper(parent, node, getNodeClasses(node)); const w = bbox.width + node.padding; const rx = w / 2; diff --git a/packages/mermaid/src/rendering-util/rendering-elements/shapes/doubleCircle.ts b/packages/mermaid/src/rendering-util/rendering-elements/shapes/doubleCircle.ts index fa6182c323..77fa9cdf1d 100644 --- a/packages/mermaid/src/rendering-util/rendering-elements/shapes/doubleCircle.ts +++ b/packages/mermaid/src/rendering-util/rendering-elements/shapes/doubleCircle.ts @@ -7,12 +7,7 @@ import rough from 'roughjs'; //import d3 from 'd3'; export const doublecircle = async (parent: SVGAElement, node: Node): Promise => { - const { shapeSvg, bbox, halfPadding } = await labelHelper( - parent, - node, - getNodeClasses(node), - true - ); + const { shapeSvg, bbox, halfPadding } = await labelHelper(parent, node, getNodeClasses(node)); const gap = 5; const outerRadius = bbox.width / 2 + halfPadding + gap; const innerRadius = bbox.width / 2 + halfPadding; diff --git a/packages/mermaid/src/rendering-util/rendering-elements/shapes/drawRect.ts b/packages/mermaid/src/rendering-util/rendering-elements/shapes/drawRect.ts index 050e49b275..16d32e39d4 100644 --- a/packages/mermaid/src/rendering-util/rendering-elements/shapes/drawRect.ts +++ b/packages/mermaid/src/rendering-util/rendering-elements/shapes/drawRect.ts @@ -1,4 +1,3 @@ -import { log } from '$root/logger.js'; import { labelHelper, updateNodeBounds, getNodeClasses } from './util.js'; import intersect from '../intersect/index.js'; import type { Node, RectOptions } from '$root/rendering-util/types.d.ts'; @@ -8,15 +7,9 @@ import rough from 'roughjs'; import { getConfig } from '$root/diagram-api/diagramAPI.js'; export const drawRect = async (parent: SVGAElement, node: Node, options: RectOptions) => { - const { themeVariables, handdrawnSeed, look } = getConfig(); - const { nodeBorder, mainBkg } = themeVariables; + const { themeVariables, look } = getConfig(); - const { shapeSvg, bbox, halfPadding } = await labelHelper( - parent, - node, - getNodeClasses(node), - true - ); + const { shapeSvg, bbox } = await labelHelper(parent, node, getNodeClasses(node)); const totalWidth = Math.max(bbox.width + options.labelPaddingX * 2, node?.width || 0); const totalHeight = Math.max(bbox.height + options.labelPaddingY * 2, node?.height || 0); @@ -72,7 +65,7 @@ export const drawRect = async (parent: SVGAElement, node: Node, options: RectOpt }; export const labelRect = async (parent: SVGElement, node: Node) => { - const { shapeSvg } = await labelHelper(parent, node, 'label', true); + const { shapeSvg } = await labelHelper(parent, node, 'label'); // log.trace('Classes = ', node.class); // add the rect diff --git a/packages/mermaid/src/rendering-util/rendering-elements/shapes/hexagon.ts b/packages/mermaid/src/rendering-util/rendering-elements/shapes/hexagon.ts index 07f5e9c6a6..4433dddda3 100644 --- a/packages/mermaid/src/rendering-util/rendering-elements/shapes/hexagon.ts +++ b/packages/mermaid/src/rendering-util/rendering-elements/shapes/hexagon.ts @@ -26,12 +26,7 @@ export const createHexagonPathD = ( }; export const hexagon = async (parent: SVGAElement, node: Node): Promise => { - const { shapeSvg, bbox, halfPadding } = await labelHelper( - parent, - node, - getNodeClasses(node), - true - ); + const { shapeSvg, bbox, halfPadding } = await labelHelper(parent, node, getNodeClasses(node)); const f = 4; const h = bbox.height + node.padding; diff --git a/packages/mermaid/src/rendering-util/rendering-elements/shapes/invertedTrapezoid.ts b/packages/mermaid/src/rendering-util/rendering-elements/shapes/invertedTrapezoid.ts index f53fbf92c2..a11f144f60 100644 --- a/packages/mermaid/src/rendering-util/rendering-elements/shapes/invertedTrapezoid.ts +++ b/packages/mermaid/src/rendering-util/rendering-elements/shapes/invertedTrapezoid.ts @@ -23,7 +23,7 @@ export const createInvertedTrapezoidPathD = ( }; export const inv_trapezoid = async (parent: SVGAElement, node: Node): Promise => { - const { shapeSvg, bbox } = await labelHelper(parent, node, getNodeClasses(node), true); + const { shapeSvg, bbox } = await labelHelper(parent, node, getNodeClasses(node)); const w = bbox.width + node.padding; const h = bbox.height + node.padding; diff --git a/packages/mermaid/src/rendering-util/rendering-elements/shapes/leanLeft.ts b/packages/mermaid/src/rendering-util/rendering-elements/shapes/leanLeft.ts index 06a408a93f..541fb9e4a2 100644 --- a/packages/mermaid/src/rendering-util/rendering-elements/shapes/leanLeft.ts +++ b/packages/mermaid/src/rendering-util/rendering-elements/shapes/leanLeft.ts @@ -22,7 +22,7 @@ export const createLeanLeftPathD = ( }; export const lean_left = async (parent: SVGAElement, node: Node): Promise => { - const { shapeSvg, bbox } = await labelHelper(parent, node, getNodeClasses(node), true); + const { shapeSvg, bbox } = await labelHelper(parent, node, getNodeClasses(node)); const w = bbox.width + node.padding; const h = bbox.height + node.padding; diff --git a/packages/mermaid/src/rendering-util/rendering-elements/shapes/leanRight.ts b/packages/mermaid/src/rendering-util/rendering-elements/shapes/leanRight.ts index c2a5aac70b..00e49050e2 100644 --- a/packages/mermaid/src/rendering-util/rendering-elements/shapes/leanRight.ts +++ b/packages/mermaid/src/rendering-util/rendering-elements/shapes/leanRight.ts @@ -22,7 +22,7 @@ export const createLeanRightPathD = ( }; export const lean_right = async (parent: SVGAElement, node: Node): Promise => { - const { shapeSvg, bbox } = await labelHelper(parent, node, getNodeClasses(node), true); + const { shapeSvg, bbox } = await labelHelper(parent, node, getNodeClasses(node)); const w = bbox.width + node.padding; const h = bbox.height + node.padding; diff --git a/packages/mermaid/src/rendering-util/rendering-elements/shapes/note.ts b/packages/mermaid/src/rendering-util/rendering-elements/shapes/note.ts index 0c84ef59ee..a039e03859 100644 --- a/packages/mermaid/src/rendering-util/rendering-elements/shapes/note.ts +++ b/packages/mermaid/src/rendering-util/rendering-elements/shapes/note.ts @@ -16,8 +16,7 @@ export const note = async (parent: SVGAElement, node: Node) => { const { shapeSvg, bbox, halfPadding } = await labelHelper( parent, node, - 'node ' + node.cssClasses, - true + 'node ' + node.cssClasses ); log.info('Classes = ', node.cssClasses); diff --git a/packages/mermaid/src/rendering-util/rendering-elements/shapes/question.ts b/packages/mermaid/src/rendering-util/rendering-elements/shapes/question.ts index df87648c59..0bebb4e10f 100644 --- a/packages/mermaid/src/rendering-util/rendering-elements/shapes/question.ts +++ b/packages/mermaid/src/rendering-util/rendering-elements/shapes/question.ts @@ -17,7 +17,7 @@ export const createDecisionBoxPathD = (x: number, y: number, size: number): stri }; export const question = async (parent: SVGAElement, node: Node): Promise => { - const { shapeSvg, bbox } = await labelHelper(parent, node, getNodeClasses(node), true); + const { shapeSvg, bbox } = await labelHelper(parent, node, getNodeClasses(node)); const w = bbox.width + node.padding; const h = bbox.height + node.padding; diff --git a/packages/mermaid/src/rendering-util/rendering-elements/shapes/rectLeftInvArrow.ts b/packages/mermaid/src/rendering-util/rendering-elements/shapes/rectLeftInvArrow.ts index a5d0b733c4..e36efa028b 100644 --- a/packages/mermaid/src/rendering-util/rendering-elements/shapes/rectLeftInvArrow.ts +++ b/packages/mermaid/src/rendering-util/rendering-elements/shapes/rectLeftInvArrow.ts @@ -21,7 +21,7 @@ export const rect_left_inv_arrow = async ( parent: SVGAElement, node: Node ): Promise => { - const { shapeSvg, bbox } = await labelHelper(parent, node, getNodeClasses(node), true); + const { shapeSvg, bbox } = await labelHelper(parent, node, getNodeClasses(node)); const w = bbox.width + node.padding; const h = bbox.height + node.padding; diff --git a/packages/mermaid/src/rendering-util/rendering-elements/shapes/rectWithTitle.ts b/packages/mermaid/src/rendering-util/rendering-elements/shapes/rectWithTitle.ts index 83eda40bbe..9d244e8da8 100644 --- a/packages/mermaid/src/rendering-util/rendering-elements/shapes/rectWithTitle.ts +++ b/packages/mermaid/src/rendering-util/rendering-elements/shapes/rectWithTitle.ts @@ -1,7 +1,7 @@ -import type { Node, RectOptions } from '$root/rendering-util/types.d.ts'; +import type { Node } from '$root/rendering-util/types.d.ts'; import { select } from 'd3'; import { evaluate } from '$root/diagrams/common/common.js'; -import { labelHelper, updateNodeBounds, getNodeClasses } from './util.js'; +import { updateNodeBounds } from './util.js'; import createLabel from '../createLabel.js'; import intersect from '../intersect/index.js'; import { userNodeOverrides } from '$root/rendering-util/rendering-elements/shapes/handdrawnStyles.js'; diff --git a/packages/mermaid/src/rendering-util/rendering-elements/shapes/stadium.ts b/packages/mermaid/src/rendering-util/rendering-elements/shapes/stadium.ts index 4adf9d474d..c1039a30c3 100644 --- a/packages/mermaid/src/rendering-util/rendering-elements/shapes/stadium.ts +++ b/packages/mermaid/src/rendering-util/rendering-elements/shapes/stadium.ts @@ -1,4 +1,3 @@ -import { log } from '$root/logger.js'; import { labelHelper, updateNodeBounds, getNodeClasses } from './util.js'; import intersect from '../intersect/index.js'; import type { Node } from '$root/rendering-util/types.d.ts'; @@ -52,7 +51,7 @@ export const createStadiumPathD = ( }; export const stadium = async (parent: SVGAElement, node: Node) => { - const { shapeSvg, bbox } = await labelHelper(parent, node, getNodeClasses(node), true); + const { shapeSvg, bbox } = await labelHelper(parent, node, getNodeClasses(node)); const h = bbox.height + node.padding; const w = bbox.width + h / 4 + node.padding; diff --git a/packages/mermaid/src/rendering-util/rendering-elements/shapes/subroutine.ts b/packages/mermaid/src/rendering-util/rendering-elements/shapes/subroutine.ts index cecd0d8b6f..f004c4ff55 100644 --- a/packages/mermaid/src/rendering-util/rendering-elements/shapes/subroutine.ts +++ b/packages/mermaid/src/rendering-util/rendering-elements/shapes/subroutine.ts @@ -1,4 +1,3 @@ -import { log } from '$root/logger.js'; import { labelHelper, updateNodeBounds, getNodeClasses } from './util.js'; import intersect from '../intersect/index.js'; import type { Node } from '$root/rendering-util/types.d.ts'; @@ -33,7 +32,7 @@ export const createSubroutinePathD = ( }; export const subroutine = async (parent: SVGAElement, node: Node) => { - const { shapeSvg, bbox } = await labelHelper(parent, node, getNodeClasses(node), true); + const { shapeSvg, bbox } = await labelHelper(parent, node, getNodeClasses(node)); const halfPadding = (node?.padding || 0) / 2; const w = bbox.width + node.padding; const h = bbox.height + node.padding; @@ -58,7 +57,6 @@ export const subroutine = async (parent: SVGAElement, node: Node) => { // @ts-ignore - rough is not typed const rc = rough.svg(shapeSvg); const options = userNodeOverrides(node, {}); - const pathData = createSubroutinePathD(-w / 2, -h / 2, w, h); const roughNode = rc.rectangle(x - 8, y, w + 16, h, options); const l1 = rc.line(x, y, x, y + h, options); diff --git a/packages/mermaid/src/rendering-util/rendering-elements/shapes/trapezoid.ts b/packages/mermaid/src/rendering-util/rendering-elements/shapes/trapezoid.ts index eae0787e83..5fcd76d709 100644 --- a/packages/mermaid/src/rendering-util/rendering-elements/shapes/trapezoid.ts +++ b/packages/mermaid/src/rendering-util/rendering-elements/shapes/trapezoid.ts @@ -1,4 +1,3 @@ -import { log } from '$root/logger.js'; import { labelHelper, updateNodeBounds, getNodeClasses } from './util.js'; import intersect from '../intersect/index.js'; import type { Node } from '$root/rendering-util/types.d.ts'; @@ -22,7 +21,7 @@ export const createTrapezoidPathD = ( }; export const trapezoid = async (parent: SVGAElement, node: Node): Promise => { - const { shapeSvg, bbox } = await labelHelper(parent, node, getNodeClasses(node), true); + const { shapeSvg, bbox } = await labelHelper(parent, node, getNodeClasses(node)); const w = bbox.width + node.padding; const h = bbox.height + node.padding; diff --git a/packages/mermaid/src/rendering-util/rendering-elements/shapes/util.js b/packages/mermaid/src/rendering-util/rendering-elements/shapes/util.js index d81aee29d1..71b4581280 100644 --- a/packages/mermaid/src/rendering-util/rendering-elements/shapes/util.js +++ b/packages/mermaid/src/rendering-util/rendering-elements/shapes/util.js @@ -1,11 +1,10 @@ -import createLabel from '../createLabel.js'; import { createText } from '$root/rendering-util/createText.ts'; import { getConfig } from '$root/diagram-api/diagramAPI.js'; import { select } from 'd3'; import { evaluate, sanitizeText } from '$root/diagrams/common/common.js'; import { decodeEntities } from '$root/utils.js'; -export const labelHelper = async (parent, node, _classes, isNode) => { +export const labelHelper = async (parent, node, _classes) => { let cssClasses; const useHtmlLabels = node.useHtmlLabels || evaluate(getConfig().flowchart.htmlLabels); if (!_classes) { From 5731b72795540b74bc22b1261c22ad17c12e4bd9 Mon Sep 17 00:00:00 2001 From: Knut Sveidqvist Date: Fri, 14 Jun 2024 14:16:01 +0200 Subject: [PATCH 498/789] #5237 Dagre padding adjustments --- packages/mermaid/src/logger.ts | 3 + .../layout-algorithms/dagre/index.js | 69 +- .../rendering-elements/clusters.js | 2 +- .../rendering-elements/edges.js | 4 +- .../rendering-elements/nodes.js | 7 +- .../mermaid/src/rendering-util/types.d.ts | 1 - packages/mermaid/src/themes/theme-base.js | 2 +- pnpm-lock.yaml | 18773 +++++++--------- 8 files changed, 8365 insertions(+), 10496 deletions(-) diff --git a/packages/mermaid/src/logger.ts b/packages/mermaid/src/logger.ts index 44b98315ca..3d48bf82dc 100644 --- a/packages/mermaid/src/logger.ts +++ b/packages/mermaid/src/logger.ts @@ -15,6 +15,9 @@ export const LEVELS: Record = { fatal: 5, }; +console.log('apa'); +const apa = 1; + export const log: Record = { trace: (..._args: any[]) => {}, debug: (..._args: any[]) => {}, diff --git a/packages/mermaid/src/rendering-util/layout-algorithms/dagre/index.js b/packages/mermaid/src/rendering-util/layout-algorithms/dagre/index.js index e68c5864ec..eba90a5b4c 100644 --- a/packages/mermaid/src/rendering-util/layout-algorithms/dagre/index.js +++ b/packages/mermaid/src/rendering-util/layout-algorithms/dagre/index.js @@ -71,7 +71,7 @@ const recursiveRender = async (_elem, graph, diagramType, id, parentCluster, sit log.info('(Insert) Node XXX' + v + ': ' + JSON.stringify(graph.node(v))); if (node && node.clusterNode) { // const children = graph.children(v); - log.info('Cluster identified XXX', v, node.width, graph.node(v)); + log.info('Cluster identified XBX', v, node.width, graph.node(v)); // "o" will contain the full cluster not just the children const o = await recursiveRender( nodes, @@ -84,7 +84,7 @@ const recursiveRender = async (_elem, graph, diagramType, id, parentCluster, sit const newEl = o.elem; updateNodeBounds(node, newEl); node.diff = o.diff || 0; - log.trace( + log.info( 'New compound node after recursive render XAX', v, 'width', @@ -100,7 +100,15 @@ const recursiveRender = async (_elem, graph, diagramType, id, parentCluster, sit if (graph.children(v).length > 0) { // This is a cluster but not to be rendered recursively // Render as before - log.info('Cluster - the non recursive path XXX', v, node.id, node, graph); + log.info( + 'Cluster - the non recursive path XBX', + v, + node.id, + node, + node.width, + 'Graph:', + graph + ); log.info(findNonClusterChild(node.id, graph)); clusterDb[node.id] = { id: findNonClusterChild(node.id, graph), node }; // insertCluster(clusters, graph.node(v)); @@ -130,11 +138,38 @@ const recursiveRender = async (_elem, graph, diagramType, id, parentCluster, sit log.info('Edge ' + e.v + ' -> ' + e.w + ': ' + JSON.stringify(e)); }); + graph.nodes().map(async function (v) { + const node = graph.node(v); + log.info( + 'Position PRE XBX => ' + v + ': (' + node.x, + ',' + node.y, + ') width: ', + node.width, + ' height: ', + node.height + ); + }); + + log.info('Graph before layout:', JSON.stringify(graphlibJson.write(graph))); + log.info('############################################# XXX'); log.info('### Layout ### XXX'); log.info('############################################# XXX'); dagreLayout(graph); + log.info('Graph after layout:', JSON.stringify(graphlibJson.write(graph))); + + graph.nodes().map(async function (v) { + const node = graph.node(v); + log.info( + 'Position AFTER XBX => ' + v + ': (' + node.x, + ',' + node.y, + ') width: ', + node.width, + ' height: ', + node.height + ); + }); log.info('Graph after layout:', graphlibJson.write(graph)); // Move the nodes to the correct place @@ -148,7 +183,7 @@ const recursiveRender = async (_elem, graph, diagramType, id, parentCluster, sit subGraphTitleTotalMargin = p?.offsetY || subGraphTitleTotalMargin; log.info( - 'Position XAX' + v + ': (' + node.x, + 'Position XBX => ' + v + ': (' + node.x, ',' + node.y, ') width: ', node.width, @@ -158,11 +193,11 @@ const recursiveRender = async (_elem, graph, diagramType, id, parentCluster, sit if (node && node.clusterNode) { const parentId = graph.parent(v); // Adjust for padding when on root level - node.y = parentId ? node.y + 2 : node.y - 8; + node.y = parentId ? node.y - 8 : node.y - 8; node.x -= 8; log.info( - 'A pure cluster node XBX', + 'A tainted cluster node XBX1', v, node.id, node.width, @@ -174,10 +209,21 @@ const recursiveRender = async (_elem, graph, diagramType, id, parentCluster, sit clusterDb[node.id].node = node; // node.y += subGraphTitleTotalMargin - 10; node.y -= (node.offsetY || 0) / 2; + // node.y -= 10; positionNode(node); } else { - // Non cluster node + // A tainted cluster node if (graph.children(v).length > 0) { + log.info( + 'A pure cluster node XBX1', + v, + node.id, + node.x, + node.y, + node.width, + node.height, + graph.parent(v) + ); node.height += 0; const parent = graph.node(node.parentId); const halfPadding = node?.padding / 2 || 0; @@ -190,10 +236,11 @@ const recursiveRender = async (_elem, graph, diagramType, id, parentCluster, sit // A cluster in the non-recursive way clusterDb[node.id].node = node; } else { + // Regular node const parent = graph.node(node.parentId); node.y += (parent?.offsetY || 0) / 2; log.info( - 'A regular node XBX - using the padding', + 'A regular node XBX1 - using the padding', node.id, 'parent', node.parentId, @@ -219,7 +266,8 @@ const recursiveRender = async (_elem, graph, diagramType, id, parentCluster, sit const edge = graph.edge(e); log.info('Edge ' + e.v + ' -> ' + e.w + ': ' + JSON.stringify(edge), edge); - edge.points.forEach((point) => (point.y += subGraphTitleTotalMargin / 2)); + // OBS HERE + // edge.points.forEach((point) => (point.y += subGraphTitleTotalMargin / 2)); const startNode = graph.node(e.v); var endNode = graph.node(e.w); const paths = insertEdge(edgePaths, edge, clusterDb, diagramType, startNode, endNode, id); @@ -240,6 +288,9 @@ const recursiveRender = async (_elem, graph, diagramType, id, parentCluster, sit * ############################################################### * Render the graph * ############################################################### + * @param data4Layout + * @param svg + * @param element */ export const render = async (data4Layout, svg, element) => { // Create the input mermaid.graph diff --git a/packages/mermaid/src/rendering-util/rendering-elements/clusters.js b/packages/mermaid/src/rendering-util/rendering-elements/clusters.js index f636152e10..62ec0e75b9 100644 --- a/packages/mermaid/src/rendering-util/rendering-elements/clusters.js +++ b/packages/mermaid/src/rendering-util/rendering-elements/clusters.js @@ -368,7 +368,7 @@ export const clear = () => { }; export const positionCluster = (node) => { - log.info('Position cluster (' + node.id + ', ' + node.x + ', ' + node.y + ')'); + log.debug('Position cluster (' + node.id + ', ' + node.x + ', ' + node.y + ')'); const el = clusterElems[node.id]; el.attr('transform', 'translate(' + node.x + ', ' + node.y + ')'); diff --git a/packages/mermaid/src/rendering-util/rendering-elements/edges.js b/packages/mermaid/src/rendering-util/rendering-elements/edges.js index b802c2ca8d..6ff15b2f46 100644 --- a/packages/mermaid/src/rendering-util/rendering-elements/edges.js +++ b/packages/mermaid/src/rendering-util/rendering-elements/edges.js @@ -149,7 +149,7 @@ export const positionEdgeLabel = (edge, paths) => { // // debugger; const pos = utils.calcLabelPosition(path); log.info( - 'Moving label ' + edge.label + ' from (', + 'Moving label ' + edge?.id + ' from (', x, ',', y, @@ -499,7 +499,7 @@ export const insertEdge = function (elem, edge, clusterDb, diagramType, startNod const tail = startNode; var head = endNode; - // log.info('abc88 InsertEdge SPLIT: ', points, edge.start, id); + log.info('abc88 InsertEdge XBX: ', points, edge.start, id); if (head.intersect && tail.intersect) { // log.info('abc88 InsertEdge SPLIT: 0.5', points); points = points.slice(1, edge.points.length - 1); diff --git a/packages/mermaid/src/rendering-util/rendering-elements/nodes.js b/packages/mermaid/src/rendering-util/rendering-elements/nodes.js index d9ce64cbbd..a8eb4c9987 100644 --- a/packages/mermaid/src/rendering-util/rendering-elements/nodes.js +++ b/packages/mermaid/src/rendering-util/rendering-elements/nodes.js @@ -106,8 +106,9 @@ export const clear = () => { export const positionNode = (node) => { const el = nodeElems[node.id]; - log.trace( - 'Transforming node', + log.debug( + 'Position node', + node.id, node.diff, node, 'translate(' + (node.x - node.width / 2 - 5) + ', ' + node.width / 2 + ')' @@ -117,7 +118,7 @@ export const positionNode = (node) => { if (node.clusterNode) { el.attr( 'transform', - 'translate(' + (node.x + diff - node.width / 2) + ', ' + (node.y - node.height / 2) + ')' + 'translate(' + (node.x - node.width / 2) + ', ' + (node.y - node.height / 2) + ')' ); } else { el.attr('transform', 'translate(' + node.x + ', ' + node.y + ')'); diff --git a/packages/mermaid/src/rendering-util/types.d.ts b/packages/mermaid/src/rendering-util/types.d.ts index 55aafd20a9..7addc58487 100644 --- a/packages/mermaid/src/rendering-util/types.d.ts +++ b/packages/mermaid/src/rendering-util/types.d.ts @@ -1,4 +1,3 @@ -import config from '../../dist/defaultConfig'; import type { MermaidConfig } from '../../dist/config.type'; export type MarkdownWordType = 'normal' | 'strong' | 'emphasis'; export interface MarkdownWord { diff --git a/packages/mermaid/src/themes/theme-base.js b/packages/mermaid/src/themes/theme-base.js index dde3b9ecff..d626a0433f 100644 --- a/packages/mermaid/src/themes/theme-base.js +++ b/packages/mermaid/src/themes/theme-base.js @@ -1,4 +1,4 @@ -import { darken, lighten, adjust, invert, isDark, toRgba } from 'khroma'; +import { darken, lighten, adjust, invert, isDark } from 'khroma'; import { mkBorder } from './theme-helpers.js'; import { oldAttributeBackgroundColorEven, diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 03bf0223ee..07bab3cd26 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -1,4 +1,4 @@ -lockfileVersion: '9.0' +lockfileVersion: '6.0' settings: autoInstallPeers: true @@ -10,16 +10,16 @@ importers: devDependencies: '@applitools/eyes-cypress': specifier: ^3.44.4 - version: 3.44.4(encoding@0.1.13)(typescript@5.4.5) + version: 3.44.4(typescript@5.4.5) '@cspell/eslint-plugin': specifier: ^8.6.0 version: 8.8.4(eslint@8.57.0) '@cypress/code-coverage': specifier: ^3.12.30 - version: 3.12.39(@babel/core@7.24.7)(@babel/preset-env@7.24.7(@babel/core@7.24.7))(babel-loader@9.1.3(@babel/core@7.24.7)(webpack@5.92.0(esbuild@0.20.2)))(cypress@13.11.0)(webpack@5.92.0(esbuild@0.20.2)) + version: 3.12.39(@babel/core@7.24.7)(@babel/preset-env@7.24.7)(babel-loader@9.1.3)(cypress@13.11.0)(webpack@5.92.0) '@rollup/plugin-typescript': specifier: ^11.1.6 - version: 11.1.6(rollup@4.18.0)(tslib@2.6.3)(typescript@5.4.5) + version: 11.1.6(typescript@5.4.5) '@types/cors': specifier: ^2.8.17 version: 2.8.17 @@ -49,13 +49,13 @@ importers: version: 4.2.4 '@typescript-eslint/eslint-plugin': specifier: ^7.3.1 - version: 7.13.0(@typescript-eslint/parser@7.13.0(eslint@8.57.0)(typescript@5.4.5))(eslint@8.57.0)(typescript@5.4.5) + version: 7.13.0(@typescript-eslint/parser@7.13.0)(eslint@8.57.0)(typescript@5.4.5) '@typescript-eslint/parser': specifier: ^7.3.1 version: 7.13.0(eslint@8.57.0)(typescript@5.4.5) '@vitest/coverage-v8': specifier: ^1.4.0 - version: 1.6.0(vitest@1.6.0(@types/node@20.14.2)(@vitest/ui@1.6.0)(jsdom@24.1.0)(terser@5.31.1)) + version: 1.6.0(vitest@1.6.0) '@vitest/spy': specifier: ^1.4.0 version: 1.6.0 @@ -85,7 +85,7 @@ importers: version: 13.11.0 cypress-image-snapshot: specifier: ^4.0.1 - version: 4.0.1(cypress@13.11.0)(jest@29.7.0(@types/node@20.14.2)) + version: 4.0.1(cypress@13.11.0)(jest@29.7.0) esbuild: specifier: ^0.20.2 version: 0.20.2 @@ -103,10 +103,10 @@ importers: version: 8.1.1 eslint-plugin-jest: specifier: ^27.9.0 - version: 27.9.0(@typescript-eslint/eslint-plugin@7.13.0(@typescript-eslint/parser@7.13.0(eslint@8.57.0)(typescript@5.4.5))(eslint@8.57.0)(typescript@5.4.5))(eslint@8.57.0)(jest@29.7.0(@types/node@20.14.2))(typescript@5.4.5) + version: 27.9.0(@typescript-eslint/eslint-plugin@7.13.0)(eslint@8.57.0)(jest@29.7.0)(typescript@5.4.5) eslint-plugin-jsdoc: specifier: ^48.2.1 - version: 48.2.9(eslint@8.57.0) + version: 48.2.12(eslint@8.57.0) eslint-plugin-json: specifier: ^3.1.0 version: 3.1.0 @@ -175,7 +175,7 @@ importers: version: 5.0.7 rollup-plugin-visualizer: specifier: ^5.12.0 - version: 5.12.0(rollup@4.18.0) + version: 5.12.0 start-server-and-test: specifier: ^2.0.3 version: 2.0.4 @@ -187,13 +187,13 @@ importers: version: 5.4.5 vite: specifier: ^5.2.3 - version: 5.2.13(@types/node@20.14.2)(terser@5.31.1) + version: 5.3.0(@types/node@20.14.2) vite-plugin-istanbul: specifier: ^6.0.0 - version: 6.0.2(vite@5.2.13(@types/node@20.14.2)(terser@5.31.1)) + version: 6.0.2(vite@5.3.0) vitest: specifier: ^1.4.0 - version: 1.6.0(@types/node@20.14.2)(@vitest/ui@1.6.0)(jsdom@24.1.0)(terser@5.31.1) + version: 1.6.0(@types/node@20.14.2)(@vitest/ui@1.6.0)(jsdom@24.1.0) packages/mermaid: dependencies: @@ -299,7 +299,7 @@ importers: version: 9.0.8 '@typescript-eslint/eslint-plugin': specifier: ^7.3.1 - version: 7.13.0(@typescript-eslint/parser@7.13.0(eslint@8.57.0)(typescript@5.4.5))(eslint@8.57.0)(typescript@5.4.5) + version: 7.13.0(@typescript-eslint/parser@7.13.0)(eslint@8.57.0)(typescript@5.4.5) '@typescript-eslint/parser': specifier: ^7.3.1 version: 7.13.0(eslint@8.57.0)(typescript@5.4.5) @@ -365,7 +365,7 @@ importers: version: 0.25.13(typescript@5.4.5) typedoc-plugin-markdown: specifier: ^3.17.1 - version: 3.17.1(typedoc@0.25.13(typescript@5.4.5)) + version: 3.17.1(typedoc@0.25.13) typescript: specifier: ^5.4.3 version: 5.4.5 @@ -377,10 +377,10 @@ importers: version: 5.0.0 vitepress: specifier: ^1.0.1 - version: 1.1.4(@algolia/client-search@4.23.3)(@types/node@20.14.2)(axios@1.7.2)(postcss@8.4.38)(search-insights@2.14.0)(terser@5.31.1)(typescript@5.4.5) + version: 1.1.4(@algolia/client-search@4.23.3)(@types/node@20.14.2)(postcss@8.4.38)(search-insights@2.14.0)(typescript@5.4.5) vitepress-plugin-search: specifier: 1.0.4-alpha.22 - version: 1.0.4-alpha.22(flexsearch@0.7.43)(vitepress@1.1.4(@algolia/client-search@4.23.3)(@types/node@20.14.2)(axios@1.7.2)(postcss@8.4.38)(search-insights@2.14.0)(terser@5.31.1)(typescript@5.4.5))(vue@3.4.27(typescript@5.4.5)) + version: 1.0.4-alpha.22(flexsearch@0.7.43)(vitepress@1.1.4)(vue@3.4.27) packages/mermaid-example-diagram: dependencies: @@ -458,7 +458,7 @@ importers: version: 7.4.47 '@vueuse/core': specifier: ^10.9.0 - version: 10.11.0(vue@3.4.27(typescript@5.4.5)) + version: 10.11.0(vue@3.4.27) font-awesome: specifier: ^4.7.0 version: 4.7.0 @@ -480,10 +480,10 @@ importers: version: 0.59.4 '@vite-pwa/vitepress': specifier: ^0.4.0 - version: 0.4.0(vite-plugin-pwa@0.19.8(vite@5.2.13(@types/node@20.14.2)(terser@5.31.1))(workbox-build@7.1.1(@types/babel__core@7.20.5))(workbox-window@7.1.0)) + version: 0.4.0(vite-plugin-pwa@0.19.8) '@vitejs/plugin-vue': specifier: ^5.0.0 - version: 5.0.5(vite@5.2.13(@types/node@20.14.2)(terser@5.31.1))(vue@3.4.27(typescript@5.4.5)) + version: 5.0.5(vite@5.3.0)(vue@3.4.27) fast-glob: specifier: ^3.3.2 version: 3.3.2 @@ -495,19 +495,19 @@ importers: version: 1.1.2 unocss: specifier: ^0.59.0 - version: 0.59.4(postcss@8.4.38)(rollup@2.79.1)(vite@5.2.13(@types/node@20.14.2)(terser@5.31.1)) + version: 0.59.4(postcss@8.4.38)(rollup@2.79.1)(vite@5.3.0) unplugin-vue-components: specifier: ^0.26.0 - version: 0.26.0(@babel/parser@7.24.7)(rollup@2.79.1)(vue@3.4.27(typescript@5.4.5)) + version: 0.26.0(rollup@2.79.1)(vue@3.4.27) vite: specifier: ^5.0.0 - version: 5.2.13(@types/node@20.14.2)(terser@5.31.1) + version: 5.3.0(@types/node@20.14.2) vite-plugin-pwa: specifier: ^0.19.7 - version: 0.19.8(vite@5.2.13(@types/node@20.14.2)(terser@5.31.1))(workbox-build@7.1.1(@types/babel__core@7.20.5))(workbox-window@7.1.0) + version: 0.19.8(vite@5.3.0)(workbox-build@7.1.1)(workbox-window@7.1.0) vitepress: specifier: 1.1.4 - version: 1.1.4(@algolia/client-search@4.23.3)(@types/node@20.14.2)(axios@1.7.2)(postcss@8.4.38)(search-insights@2.14.0)(terser@5.31.1)(typescript@5.4.5) + version: 1.1.4(@algolia/client-search@4.23.3)(@types/node@20.14.2)(postcss@8.4.38)(search-insights@2.14.0)(typescript@5.4.5) workbox-window: specifier: ^7.0.0 version: 7.1.0 @@ -543,9071 +543,1683 @@ importers: packages: - '@adobe/jsonschema2md@8.0.2': + /@adobe/jsonschema2md@8.0.2: resolution: {integrity: sha512-g90Rtz1Xghp9HTfbtBH2Pf5IpuUY1Ry9Wps5NNuNmxucbtmnCY4/1KXmtwe0yKxnknPF7nt5/Y8TOekMh450tQ==} engines: {node: ^18.0.0 || >= 20.0.0} hasBin: true + dependencies: + '@types/json-schema': 7.0.15 + '@types/mdast': 4.0.4 + es2015-i18n-tag: 1.6.1 + ferrum: 1.9.4 + fs-extra: 11.2.0 + github-slugger: 2.0.0 + js-yaml: 4.1.0 + json-schema: 0.4.0 + mdast-builder: 1.1.1 + mdast-util-to-string: 4.0.0 + readdirp: 3.6.0 + remark-gfm: 4.0.0 + remark-parse: 11.0.0 + remark-stringify: 11.0.0 + unified: 11.0.4 + unist-util-inspect: 8.0.0 + yargs: 17.7.2 + transitivePeerDependencies: + - supports-color + dev: true - '@algolia/autocomplete-core@1.9.3': + /@algolia/autocomplete-core@1.9.3(@algolia/client-search@4.23.3)(algoliasearch@4.23.3)(search-insights@2.14.0): resolution: {integrity: sha512-009HdfugtGCdC4JdXUbVJClA0q0zh24yyePn+KUGk3rP7j8FEe/m5Yo/z65gn6nP/cM39PxpzqKrL7A6fP6PPw==} + dependencies: + '@algolia/autocomplete-plugin-algolia-insights': 1.9.3(@algolia/client-search@4.23.3)(algoliasearch@4.23.3)(search-insights@2.14.0) + '@algolia/autocomplete-shared': 1.9.3(@algolia/client-search@4.23.3)(algoliasearch@4.23.3) + transitivePeerDependencies: + - '@algolia/client-search' + - algoliasearch + - search-insights + dev: true - '@algolia/autocomplete-plugin-algolia-insights@1.9.3': + /@algolia/autocomplete-plugin-algolia-insights@1.9.3(@algolia/client-search@4.23.3)(algoliasearch@4.23.3)(search-insights@2.14.0): resolution: {integrity: sha512-a/yTUkcO/Vyy+JffmAnTWbr4/90cLzw+CC3bRbhnULr/EM0fGNvM13oQQ14f2moLMcVDyAx/leczLlAOovhSZg==} peerDependencies: search-insights: '>= 1 < 3' + dependencies: + '@algolia/autocomplete-shared': 1.9.3(@algolia/client-search@4.23.3)(algoliasearch@4.23.3) + search-insights: 2.14.0 + transitivePeerDependencies: + - '@algolia/client-search' + - algoliasearch + dev: true - '@algolia/autocomplete-preset-algolia@1.9.3': + /@algolia/autocomplete-preset-algolia@1.9.3(@algolia/client-search@4.23.3)(algoliasearch@4.23.3): resolution: {integrity: sha512-d4qlt6YmrLMYy95n5TB52wtNDr6EgAIPH81dvvvW8UmuWRgxEtY0NJiPwl/h95JtG2vmRM804M0DSwMCNZlzRA==} peerDependencies: '@algolia/client-search': '>= 4.9.1 < 6' algoliasearch: '>= 4.9.1 < 6' + dependencies: + '@algolia/autocomplete-shared': 1.9.3(@algolia/client-search@4.23.3)(algoliasearch@4.23.3) + '@algolia/client-search': 4.23.3 + algoliasearch: 4.23.3 + dev: true - '@algolia/autocomplete-shared@1.9.3': + /@algolia/autocomplete-shared@1.9.3(@algolia/client-search@4.23.3)(algoliasearch@4.23.3): resolution: {integrity: sha512-Wnm9E4Ye6Rl6sTTqjoymD+l8DjSTHsHboVRYrKgEt8Q7UHm9nYbqhN/i0fhUYA3OAEH7WA8x3jfpnmJm3rKvaQ==} peerDependencies: '@algolia/client-search': '>= 4.9.1 < 6' algoliasearch: '>= 4.9.1 < 6' + dependencies: + '@algolia/client-search': 4.23.3 + algoliasearch: 4.23.3 + dev: true - '@algolia/cache-browser-local-storage@4.23.3': + /@algolia/cache-browser-local-storage@4.23.3: resolution: {integrity: sha512-vRHXYCpPlTDE7i6UOy2xE03zHF2C8MEFjPN2v7fRbqVpcOvAUQK81x3Kc21xyb5aSIpYCjWCZbYZuz8Glyzyyg==} + dependencies: + '@algolia/cache-common': 4.23.3 + dev: true - '@algolia/cache-common@4.23.3': + /@algolia/cache-common@4.23.3: resolution: {integrity: sha512-h9XcNI6lxYStaw32pHpB1TMm0RuxphF+Ik4o7tcQiodEdpKK+wKufY6QXtba7t3k8eseirEMVB83uFFF3Nu54A==} + dev: true - '@algolia/cache-in-memory@4.23.3': + /@algolia/cache-in-memory@4.23.3: resolution: {integrity: sha512-yvpbuUXg/+0rbcagxNT7un0eo3czx2Uf0y4eiR4z4SD7SiptwYTpbuS0IHxcLHG3lq22ukx1T6Kjtk/rT+mqNg==} + dependencies: + '@algolia/cache-common': 4.23.3 + dev: true - '@algolia/client-account@4.23.3': + /@algolia/client-account@4.23.3: resolution: {integrity: sha512-hpa6S5d7iQmretHHF40QGq6hz0anWEHGlULcTIT9tbUssWUriN9AUXIFQ8Ei4w9azD0hc1rUok9/DeQQobhQMA==} + dependencies: + '@algolia/client-common': 4.23.3 + '@algolia/client-search': 4.23.3 + '@algolia/transporter': 4.23.3 + dev: true - '@algolia/client-analytics@4.23.3': + /@algolia/client-analytics@4.23.3: resolution: {integrity: sha512-LBsEARGS9cj8VkTAVEZphjxTjMVCci+zIIiRhpFun9jGDUlS1XmhCW7CTrnaWeIuCQS/2iPyRqSy1nXPjcBLRA==} + dependencies: + '@algolia/client-common': 4.23.3 + '@algolia/client-search': 4.23.3 + '@algolia/requester-common': 4.23.3 + '@algolia/transporter': 4.23.3 + dev: true - '@algolia/client-common@4.23.3': + /@algolia/client-common@4.23.3: resolution: {integrity: sha512-l6EiPxdAlg8CYhroqS5ybfIczsGUIAC47slLPOMDeKSVXYG1n0qGiz4RjAHLw2aD0xzh2EXZ7aRguPfz7UKDKw==} + dependencies: + '@algolia/requester-common': 4.23.3 + '@algolia/transporter': 4.23.3 + dev: true - '@algolia/client-personalization@4.23.3': + /@algolia/client-personalization@4.23.3: resolution: {integrity: sha512-3E3yF3Ocr1tB/xOZiuC3doHQBQ2zu2MPTYZ0d4lpfWads2WTKG7ZzmGnsHmm63RflvDeLK/UVx7j2b3QuwKQ2g==} + dependencies: + '@algolia/client-common': 4.23.3 + '@algolia/requester-common': 4.23.3 + '@algolia/transporter': 4.23.3 + dev: true - '@algolia/client-search@4.23.3': + /@algolia/client-search@4.23.3: resolution: {integrity: sha512-P4VAKFHqU0wx9O+q29Q8YVuaowaZ5EM77rxfmGnkHUJggh28useXQdopokgwMeYw2XUht49WX5RcTQ40rZIabw==} + dependencies: + '@algolia/client-common': 4.23.3 + '@algolia/requester-common': 4.23.3 + '@algolia/transporter': 4.23.3 + dev: true - '@algolia/logger-common@4.23.3': + /@algolia/logger-common@4.23.3: resolution: {integrity: sha512-y9kBtmJwiZ9ZZ+1Ek66P0M68mHQzKRxkW5kAAXYN/rdzgDN0d2COsViEFufxJ0pb45K4FRcfC7+33YB4BLrZ+g==} + dev: true - '@algolia/logger-console@4.23.3': + /@algolia/logger-console@4.23.3: resolution: {integrity: sha512-8xoiseoWDKuCVnWP8jHthgaeobDLolh00KJAdMe9XPrWPuf1by732jSpgy2BlsLTaT9m32pHI8CRfrOqQzHv3A==} + dependencies: + '@algolia/logger-common': 4.23.3 + dev: true - '@algolia/recommend@4.23.3': + /@algolia/recommend@4.23.3: resolution: {integrity: sha512-9fK4nXZF0bFkdcLBRDexsnGzVmu4TSYZqxdpgBW2tEyfuSSY54D4qSRkLmNkrrz4YFvdh2GM1gA8vSsnZPR73w==} + dependencies: + '@algolia/cache-browser-local-storage': 4.23.3 + '@algolia/cache-common': 4.23.3 + '@algolia/cache-in-memory': 4.23.3 + '@algolia/client-common': 4.23.3 + '@algolia/client-search': 4.23.3 + '@algolia/logger-common': 4.23.3 + '@algolia/logger-console': 4.23.3 + '@algolia/requester-browser-xhr': 4.23.3 + '@algolia/requester-common': 4.23.3 + '@algolia/requester-node-http': 4.23.3 + '@algolia/transporter': 4.23.3 + dev: true - '@algolia/requester-browser-xhr@4.23.3': + /@algolia/requester-browser-xhr@4.23.3: resolution: {integrity: sha512-jDWGIQ96BhXbmONAQsasIpTYWslyjkiGu0Quydjlowe+ciqySpiDUrJHERIRfELE5+wFc7hc1Q5hqjGoV7yghw==} + dependencies: + '@algolia/requester-common': 4.23.3 + dev: true - '@algolia/requester-common@4.23.3': + /@algolia/requester-common@4.23.3: resolution: {integrity: sha512-xloIdr/bedtYEGcXCiF2muajyvRhwop4cMZo+K2qzNht0CMzlRkm8YsDdj5IaBhshqfgmBb3rTg4sL4/PpvLYw==} + dev: true - '@algolia/requester-node-http@4.23.3': + /@algolia/requester-node-http@4.23.3: resolution: {integrity: sha512-zgu++8Uj03IWDEJM3fuNl34s746JnZOWn1Uz5taV1dFyJhVM/kTNw9Ik7YJWiUNHJQXcaD8IXD1eCb0nq/aByA==} + dependencies: + '@algolia/requester-common': 4.23.3 + dev: true - '@algolia/transporter@4.23.3': + /@algolia/transporter@4.23.3: resolution: {integrity: sha512-Wjl5gttqnf/gQKJA+dafnD0Y6Yw97yvfY8R9h0dQltX1GXTgNs1zWgvtWW0tHl1EgMdhAyw189uWiZMnL3QebQ==} + dependencies: + '@algolia/cache-common': 4.23.3 + '@algolia/logger-common': 4.23.3 + '@algolia/requester-common': 4.23.3 + dev: true - '@alloc/quick-lru@5.2.0': + /@alloc/quick-lru@5.2.0: resolution: {integrity: sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==} engines: {node: '>=10'} + dev: false - '@ampproject/remapping@2.3.0': + /@ampproject/remapping@2.3.0: resolution: {integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==} engines: {node: '>=6.0.0'} + dependencies: + '@jridgewell/gen-mapping': 0.3.5 + '@jridgewell/trace-mapping': 0.3.25 + dev: true - '@antfu/install-pkg@0.1.1': + /@antfu/install-pkg@0.1.1: resolution: {integrity: sha512-LyB/8+bSfa0DFGC06zpCEfs89/XoWZwws5ygEa5D+Xsm3OfI+aXQ86VgVG7Acyef+rSZ5HE7J8rrxzrQeM3PjQ==} + dependencies: + execa: 5.1.1 + find-up: 5.0.0 + dev: true - '@antfu/utils@0.7.8': + /@antfu/utils@0.7.8: resolution: {integrity: sha512-rWQkqXRESdjXtc+7NRfK9lASQjpXJu1ayp7qi1d23zZorY+wBHVLHHoVcMsEnkqEBWTFqbztO7/QdJFzyEcLTg==} + dev: true - '@apideck/better-ajv-errors@0.3.6': + /@apideck/better-ajv-errors@0.3.6(ajv@8.16.0): resolution: {integrity: sha512-P+ZygBLZtkp0qqOAJJVX4oX/sFo5JR3eBWwwuqHHhK0GIgQOKWrAfiAaWX0aArHkRWHMuggFEgAZNxVPwPZYaA==} engines: {node: '>=10'} peerDependencies: ajv: '>=8' + dependencies: + ajv: 8.16.0 + json-schema: 0.4.0 + jsonpointer: 5.0.1 + leven: 3.1.0 + dev: true - '@applitools/core-base@1.15.1': + /@applitools/core-base@1.15.1: resolution: {integrity: sha512-1oGrLAuEwGFjjMJRWtSMDO8H1sHCkTSl6H+lCULz2e8gN5KYKKO9CawR/mHUS41VgxOjub9QzMd4ppypAnMeBw==} engines: {node: '>=12.13.0'} + dependencies: + '@applitools/image': 1.1.12 + '@applitools/logger': 2.0.17 + '@applitools/req': 1.7.1 + '@applitools/utils': 1.7.3 + abort-controller: 3.0.0 + throat: 6.0.2 + transitivePeerDependencies: + - supports-color + dev: true - '@applitools/core@4.16.1': + /@applitools/core@4.16.1(typescript@5.4.5): resolution: {integrity: sha512-eMvX9gEch8rLZlJwvaFd8+1C/9vK7iTK7kanL41L9PANtHLnrfMKoxEZI/0g4d2+JBbM/e/6JIVL0KMrN4a1Qg==} engines: {node: '>=12.13.0'} hasBin: true + dependencies: + '@applitools/core-base': 1.15.1 + '@applitools/dom-capture': 11.2.8 + '@applitools/dom-snapshot': 4.11.2 + '@applitools/driver': 1.17.3 + '@applitools/ec-client': 1.8.7(typescript@5.4.5) + '@applitools/logger': 2.0.17 + '@applitools/nml-client': 1.8.6 + '@applitools/req': 1.7.1 + '@applitools/screenshoter': 3.8.32 + '@applitools/snippets': 2.4.26 + '@applitools/socket': 1.1.17 + '@applitools/spec-driver-webdriver': 1.1.8(webdriver@7.31.1) + '@applitools/ufg-client': 1.12.1 + '@applitools/utils': 1.7.3 + '@types/ws': 8.5.5 + abort-controller: 3.0.0 + chalk: 4.1.2 + node-fetch: 2.6.7(encoding@0.1.13) + semver: 7.5.4 + webdriver: 7.31.1(typescript@5.4.5) + ws: 8.13.0 + yargs: 17.7.2 + transitivePeerDependencies: + - bufferutil + - encoding + - supports-color + - typescript + - utf-8-validate + dev: true - '@applitools/css-tree@1.1.3': + /@applitools/css-tree@1.1.3: resolution: {integrity: sha512-Eb55KoqN8MbIPFENS1EK7mJ0FE7FCTz2WAHQXWTr6CXQ/OM48mqC7B3ZdICm3JqqW0gtyxIQwJt27MaYBJnA5w==} engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0} + dependencies: + mdn-data: 2.1.0 + source-map-js: 1.0.1 + dev: true - '@applitools/dom-capture@11.2.8': + /@applitools/dom-capture@11.2.8: resolution: {integrity: sha512-pfHGqYK1jWJFbeNoIzP0oqe7JKElDJhGy0oY3WbTQh0imqW0z32wHdt6C7a7lf0STMp/FsKXr5R2EwtxqVhslA==} engines: {node: '>=12.13.0'} + dependencies: + '@applitools/dom-shared': 1.0.14 + '@applitools/functional-commons': 1.6.0 + dev: true - '@applitools/dom-shared@1.0.14': + /@applitools/dom-shared@1.0.14: resolution: {integrity: sha512-k/hTQuoz6HjVdyLxrZM6RoBiIw8445dMJbgXXLnV2Sg+ylqr5SEf0YmRQivqOyxw8Vghgu4tcNmK05MYIwqAfQ==} engines: {node: '>=12.13.0'} + dev: true - '@applitools/dom-snapshot@4.11.2': + /@applitools/dom-snapshot@4.11.2: resolution: {integrity: sha512-RUCeqfsVBAubsO9LL9/fpKBrraATnnuiVtc7PXl5mAxPt22WU+vgisDV/zBINeLphcXV7KaW6iARcjsxyLsyuQ==} engines: {node: '>=12.13.0'} + dependencies: + '@applitools/css-tree': 1.1.3 + '@applitools/dom-shared': 1.0.14 + '@applitools/functional-commons': 1.6.0 + pako: 1.0.11 + dev: true - '@applitools/driver@1.17.3': + /@applitools/driver@1.17.3: resolution: {integrity: sha512-DNDEaX54TJ9vVxFCtdcJKGSS3R6UEUOo/nEe2ZybQhT+dw5lSlfIPih9SX+CzOwBW50HHhaboeq9PHCbBm1T5A==} engines: {node: '>=12.13.0'} + dependencies: + '@applitools/logger': 2.0.17 + '@applitools/snippets': 2.4.26 + '@applitools/utils': 1.7.3 + semver: 7.5.4 + transitivePeerDependencies: + - supports-color + dev: true - '@applitools/ec-client@1.8.7': + /@applitools/ec-client@1.8.7(typescript@5.4.5): resolution: {integrity: sha512-Gv4xqqV1tRmIItuKDFN45KXgHuUBJpvhev2MJwJTaRzSRty+DaMgJKkGWRxSC8GWmCXWx46vqc1kiZhJufexQg==} engines: {node: '>=12.13.0'} hasBin: true + dependencies: + '@applitools/core-base': 1.15.1 + '@applitools/driver': 1.17.3 + '@applitools/logger': 2.0.17 + '@applitools/req': 1.7.1 + '@applitools/socket': 1.1.17 + '@applitools/spec-driver-webdriver': 1.1.8(webdriver@7.31.1) + '@applitools/tunnel-client': 1.5.4 + '@applitools/utils': 1.7.3 + abort-controller: 3.0.0 + webdriver: 7.31.1(typescript@5.4.5) + yargs: 17.7.2 + transitivePeerDependencies: + - supports-color + - typescript + dev: true - '@applitools/eg-frpc@1.0.5': + /@applitools/eg-frpc@1.0.5: resolution: {integrity: sha512-9qUNiCK3R3VKxIAaLr5HO5QnUx6TioLFkJ2JcpU1ZqefApt1X2bdfS7eA4TGDXDWv/a0OIl2Lddzuo5/h3vbTw==} engines: {node: '>=12.13.0'} + dev: true - '@applitools/eg-socks5-proxy-server@0.5.6': + /@applitools/eg-socks5-proxy-server@0.5.6: resolution: {integrity: sha512-SjjDBFeiKspX3nHKOoSQ+l4JUiJK3xJiWAEaR8b+GuMvnGFLnrvAECHhuXXG00+LwBJM8WKmfxEe17nvZe+nhg==} engines: {node: '>=12'} + dependencies: + binary: 0.3.0 + is-localhost-ip: 2.0.0 + dev: true - '@applitools/execution-grid-tunnel@3.0.4': + /@applitools/execution-grid-tunnel@3.0.4: resolution: {integrity: sha512-4f4wUk9Ko4ZpG3ylnj/7acFid+kVR1oKvwWdRXmmUmKxJK5PECfHTQm3g/BvRuVWHmgQG55FGWpda0VSIXC4dg==} engines: {node: '>=14.0.0'} hasBin: true + dependencies: + '@applitools/eg-frpc': 1.0.5 + '@applitools/eg-socks5-proxy-server': 0.5.6 + '@applitools/logger': 1.1.53 + dotenv: 16.4.5 + encoding: 0.1.13 + fastify: 3.29.5 + fastify-plugin: 3.0.1 + find-process: 1.4.7 + ini: 3.0.1 + node-cleanup: 2.1.2 + node-fetch: 2.6.7(encoding@0.1.13) + p-retry: 4.6.2 + teen_process: 1.16.0 + uuid: 9.0.1 + transitivePeerDependencies: + - supports-color + dev: true - '@applitools/eyes-cypress@3.44.4': + /@applitools/eyes-cypress@3.44.4(typescript@5.4.5): resolution: {integrity: sha512-+ROcvMoILibPoCp2bnqLWpqeALYgzww09L/UFnA3UoKSMOaewhOXmLWzUrCk4Ol+dVlM6+Wx1Oe7bIr2nsE6PQ==} engines: {node: '>=12.13.0'} hasBin: true + dependencies: + '@applitools/core': 4.16.1(typescript@5.4.5) + '@applitools/eyes': 1.20.1(typescript@5.4.5) + '@applitools/functional-commons': 1.6.0 + '@applitools/logger': 2.0.17 + '@applitools/utils': 1.7.3 + boxen: 5.1.2 + chalk: 3.0.0 + semver: 7.5.4 + uuid: 8.3.2 + ws: 8.5.0 + transitivePeerDependencies: + - bufferutil + - encoding + - supports-color + - typescript + - utf-8-validate + dev: true - '@applitools/eyes@1.20.1': + /@applitools/eyes@1.20.1(typescript@5.4.5): resolution: {integrity: sha512-ancPuIyLzancnr0RKf55e8orbYRrd64tfN3PWL4JHADw9gKxJyLO5lhtnGO2P0mGaaztBNYOE3cn8HMPBhiPvg==} engines: {node: '>=12.13.0'} + dependencies: + '@applitools/core': 4.16.1(typescript@5.4.5) + '@applitools/logger': 2.0.17 + '@applitools/utils': 1.7.3 + transitivePeerDependencies: + - bufferutil + - encoding + - supports-color + - typescript + - utf-8-validate + dev: true - '@applitools/functional-commons@1.6.0': + /@applitools/functional-commons@1.6.0: resolution: {integrity: sha512-fwiF0CbeYHDEOTD/NKaFgaI8LvRcGYG2GaJJiRwcedKko16sQ8F3TK5wXfj2Ytjf+8gjwHwsEEX550z3yvDWxA==} engines: {node: '>=8.0.0'} + dev: true - '@applitools/image@1.1.12': + /@applitools/image@1.1.12: resolution: {integrity: sha512-BYee69EaTs68fDX+Nx09nYsaoX7eW+RB0Njtd8IlwG4dO3zOu4uSgOe+qTPhoY/+ezEV9e/Otli3K0uSgwQgqQ==} engines: {node: '>=12.13.0'} + dependencies: + '@applitools/utils': 1.7.3 + bmpimagejs: 1.0.4 + jpeg-js: 0.4.4 + omggif: 1.0.10 + png-async: 0.9.4 + dev: true - '@applitools/logger@1.1.53': + /@applitools/logger@1.1.53: resolution: {integrity: sha512-4mlzYxc0MgM3WIxEwKqIjn9W7G7kMtQc2bFRxozViKOXypTfr72j8iODs88wcetP0GsXtplhZQ5/6aZN5WY9ug==} engines: {node: '>=12.13.0'} + dependencies: + '@applitools/utils': 1.3.36 + chalk: 4.1.2 + debug: 4.3.3 + transitivePeerDependencies: + - supports-color + dev: true - '@applitools/logger@2.0.17': + /@applitools/logger@2.0.17: resolution: {integrity: sha512-Z8OZPkiA9h7bcxiwqVBZRB00aajYFYsb6FZq8pdGeln6ZxQCzw9+Cx/b2MbCWyE6i7dxnY6sUPWzUdMsBqgMPg==} engines: {node: '>=12.13.0'} + dependencies: + '@applitools/utils': 1.7.3 + chalk: 4.1.2 + debug: 4.3.4 + transitivePeerDependencies: + - supports-color + dev: true - '@applitools/nml-client@1.8.6': + /@applitools/nml-client@1.8.6: resolution: {integrity: sha512-VLL187YAJaE5NrfdzOQZAQdDaXroOzsWyE+OUCsA90lBR9PkJ0jNYzv0zKdT/pbihwmaFQ/tdwB0DkIFbtUmRQ==} engines: {node: '>=12.13.0'} + dependencies: + '@applitools/logger': 2.0.17 + '@applitools/req': 1.7.1 + '@applitools/utils': 1.7.3 + transitivePeerDependencies: + - supports-color + dev: true - '@applitools/req@1.7.1': + /@applitools/req@1.7.1: resolution: {integrity: sha512-Y2Hud6cw9bJForuC68iY+TFHgREknL16RUEfUfB+nsU7uVF0w35ppFDmstXI0KPeWXCIaTayJJzGVYcCJBrsjA==} engines: {node: '>=16.13.0'} + dependencies: + '@applitools/utils': 1.7.3 + abort-controller: 3.0.0 + http-proxy-agent: 5.0.0 + https-proxy-agent: 5.0.1 + node-fetch: 3.3.1 + transitivePeerDependencies: + - supports-color + dev: true - '@applitools/screenshoter@3.8.32': + /@applitools/screenshoter@3.8.32: resolution: {integrity: sha512-pqD4ULDujWLgomL33qKQhmol2VWo9wHRrjKmbjB45+MHbgaCFjgrSKQ4ASJ1lFzTnAcVi+5SKclqF990hTauXA==} engines: {node: '>=12.13.0'} + dependencies: + '@applitools/image': 1.1.12 + '@applitools/logger': 2.0.17 + '@applitools/snippets': 2.4.26 + '@applitools/utils': 1.7.3 + transitivePeerDependencies: + - supports-color + dev: true - '@applitools/snippets@2.4.26': + /@applitools/snippets@2.4.26: resolution: {integrity: sha512-ZUeKMavqMdfBpXoQgHHJAA0Sk0f4+rjfYJc5j5+DgiKolfhLRBQLODzcSJQdRq1PBye9sl8LbryZstTyBjWeEA==} engines: {node: '>=12.13.0'} + dev: true - '@applitools/socket@1.1.17': + /@applitools/socket@1.1.17: resolution: {integrity: sha512-9ygwIlQSukIhXTNTH++atBRMuTidP5MumG2cRujDxGkVrOTE+qbWVKGASZLJgjZ59hoSIHqCnJVnl3zId8Z5ig==} engines: {node: '>=12.13.0'} + dependencies: + '@applitools/logger': 2.0.17 + '@applitools/utils': 1.7.3 + transitivePeerDependencies: + - supports-color + dev: true - '@applitools/spec-driver-webdriver@1.1.8': + /@applitools/spec-driver-webdriver@1.1.8(webdriver@7.31.1): resolution: {integrity: sha512-xLl7YAfNYUpdnvu6bJ7138xYePPg3HepN1nWa9ptzLoq1ZHXkEfnO61pGxjYNHiT+c0YSuerMxk3VIwCw+fB0Q==} engines: {node: '>=12.13.0'} peerDependencies: webdriver: '>=6.0.0' - - '@applitools/tunnel-client@1.5.4': + dependencies: + '@applitools/driver': 1.17.3 + '@applitools/utils': 1.7.3 + http-proxy-agent: 5.0.0 + https-proxy-agent: 5.0.1 + webdriver: 7.31.1(typescript@5.4.5) + transitivePeerDependencies: + - supports-color + dev: true + + /@applitools/tunnel-client@1.5.4: resolution: {integrity: sha512-nERMZIT7YF7QnMdfPXsNZ2AwtcXoE6+iru3mmDXucrTP3PgF1cI1XRxbdSnFD3zyjoRtoEPFTA9LuB+6YrjflA==} engines: {node: '>=12.13.0'} hasBin: true + dependencies: + '@applitools/execution-grid-tunnel': 3.0.4 + '@applitools/logger': 2.0.17 + '@applitools/req': 1.7.1 + '@applitools/socket': 1.1.17 + '@applitools/utils': 1.7.3 + abort-controller: 3.0.0 + yargs: 17.7.2 + transitivePeerDependencies: + - supports-color + dev: true - '@applitools/ufg-client@1.12.1': + /@applitools/ufg-client@1.12.1: resolution: {integrity: sha512-vgtOgkXZcy70nc3AH30p6u6As5VdsvJNRHyz7/IqbKE7JynaIz/TCwsjPZR/GcOf7JixPbs37TPM2ffR4Idl0Q==} engines: {node: '>=12.13.0'} + dependencies: + '@applitools/css-tree': 1.1.3 + '@applitools/image': 1.1.12 + '@applitools/logger': 2.0.17 + '@applitools/req': 1.7.1 + '@applitools/utils': 1.7.3 + '@xmldom/xmldom': 0.8.10 + abort-controller: 3.0.0 + throat: 6.0.2 + transitivePeerDependencies: + - supports-color + dev: true - '@applitools/utils@1.3.36': + /@applitools/utils@1.3.36: resolution: {integrity: sha512-eROEssh7wIW+V87PvLiHI2hUPxqoBxXFMRx3+z5qOZqXUPSR1Uz7EMFwxZcDDR7T6C3O3UDckB2aVB5fJAg5JA==} engines: {node: '>=12.13.0'} + dev: true - '@applitools/utils@1.7.3': + /@applitools/utils@1.7.3: resolution: {integrity: sha512-zbW1ebQX8UuAt1vuDn+yBIsQ4+uzhzAKYXAYN7Zm4lyrEoIegpJtd3ivN1Q+xi4QXigpjRHWyCiCV+aVX970wA==} engines: {node: '>=12.13.0'} + dev: true - '@babel/code-frame@7.24.7': + /@babel/code-frame@7.24.7: resolution: {integrity: sha512-BcYH1CVJBO9tvyIZ2jVeXgSIMvGZ2FDRvDdOIVQyuklNKSsx+eppDEBq/g47Ayw+RqNFE+URvOShmf+f/qwAlA==} engines: {node: '>=6.9.0'} + dependencies: + '@babel/highlight': 7.24.7 + picocolors: 1.0.1 + dev: true - '@babel/compat-data@7.24.7': + /@babel/compat-data@7.24.7: resolution: {integrity: sha512-qJzAIcv03PyaWqxRgO4mSU3lihncDT296vnyuE2O8uA4w3UHWI4S3hgeZd1L8W1Bft40w9JxJ2b412iDUFFRhw==} engines: {node: '>=6.9.0'} + dev: true - '@babel/core@7.24.7': + /@babel/core@7.24.7: resolution: {integrity: sha512-nykK+LEK86ahTkX/3TgauT0ikKoNCfKHEaZYTUVupJdTLzGNvrblu4u6fa7DhZONAltdf8e662t/abY8idrd/g==} engines: {node: '>=6.9.0'} + dependencies: + '@ampproject/remapping': 2.3.0 + '@babel/code-frame': 7.24.7 + '@babel/generator': 7.24.7 + '@babel/helper-compilation-targets': 7.24.7 + '@babel/helper-module-transforms': 7.24.7(@babel/core@7.24.7) + '@babel/helpers': 7.24.7 + '@babel/parser': 7.24.7 + '@babel/template': 7.24.7 + '@babel/traverse': 7.24.7 + '@babel/types': 7.24.7 + convert-source-map: 2.0.0 + debug: 4.3.5(supports-color@8.1.1) + gensync: 1.0.0-beta.2 + json5: 2.2.3 + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + dev: true - '@babel/generator@7.24.7': + /@babel/generator@7.24.7: resolution: {integrity: sha512-oipXieGC3i45Y1A41t4tAqpnEZWgB/lC6Ehh6+rOviR5XWpTtMmLN+fGjz9vOiNRt0p6RtO6DtD0pdU3vpqdSA==} engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.24.7 + '@jridgewell/gen-mapping': 0.3.5 + '@jridgewell/trace-mapping': 0.3.25 + jsesc: 2.5.2 + dev: true - '@babel/helper-annotate-as-pure@7.24.7': + /@babel/helper-annotate-as-pure@7.24.7: resolution: {integrity: sha512-BaDeOonYvhdKw+JoMVkAixAAJzG2jVPIwWoKBPdYuY9b452e2rPuI9QPYh3KpofZ3pW2akOmwZLOiOsHMiqRAg==} engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.24.7 + dev: true - '@babel/helper-builder-binary-assignment-operator-visitor@7.24.7': + /@babel/helper-builder-binary-assignment-operator-visitor@7.24.7: resolution: {integrity: sha512-xZeCVVdwb4MsDBkkyZ64tReWYrLRHlMN72vP7Bdm3OUOuyFZExhsHUUnuWnm2/XOlAJzR0LfPpB56WXZn0X/lA==} engines: {node: '>=6.9.0'} + dependencies: + '@babel/traverse': 7.24.7 + '@babel/types': 7.24.7 + transitivePeerDependencies: + - supports-color + dev: true - '@babel/helper-compilation-targets@7.24.7': + /@babel/helper-compilation-targets@7.24.7: resolution: {integrity: sha512-ctSdRHBi20qWOfy27RUb4Fhp07KSJ3sXcuSvTrXrc4aG8NSYDo1ici3Vhg9bg69y5bj0Mr1lh0aeEgTvc12rMg==} engines: {node: '>=6.9.0'} + dependencies: + '@babel/compat-data': 7.24.7 + '@babel/helper-validator-option': 7.24.7 + browserslist: 4.23.1 + lru-cache: 5.1.1 + semver: 6.3.1 + dev: true - '@babel/helper-create-class-features-plugin@7.24.7': + /@babel/helper-create-class-features-plugin@7.24.7(@babel/core@7.24.7): resolution: {integrity: sha512-kTkaDl7c9vO80zeX1rJxnuRpEsD5tA81yh11X1gQo+PhSti3JS+7qeZo9U4RHobKRiFPKaGK3svUAeb8D0Q7eg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-annotate-as-pure': 7.24.7 + '@babel/helper-environment-visitor': 7.24.7 + '@babel/helper-function-name': 7.24.7 + '@babel/helper-member-expression-to-functions': 7.24.7 + '@babel/helper-optimise-call-expression': 7.24.7 + '@babel/helper-replace-supers': 7.24.7(@babel/core@7.24.7) + '@babel/helper-skip-transparent-expression-wrappers': 7.24.7 + '@babel/helper-split-export-declaration': 7.24.7 + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + dev: true - '@babel/helper-create-regexp-features-plugin@7.24.7': + /@babel/helper-create-regexp-features-plugin@7.24.7(@babel/core@7.24.7): resolution: {integrity: sha512-03TCmXy2FtXJEZfbXDTSqq1fRJArk7lX9DOFC/47VthYcxyIOx+eXQmdo6DOQvrbpIix+KfXwvuXdFDZHxt+rA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-annotate-as-pure': 7.24.7 + regexpu-core: 5.3.2 + semver: 6.3.1 + dev: true - '@babel/helper-define-polyfill-provider@0.6.2': + /@babel/helper-define-polyfill-provider@0.6.2(@babel/core@7.24.7): resolution: {integrity: sha512-LV76g+C502biUK6AyZ3LK10vDpDyCzZnhZFXkH1L75zHPj68+qc8Zfpx2th+gzwA2MzyK+1g/3EPl62yFnVttQ==} peerDependencies: '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-compilation-targets': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + debug: 4.3.5(supports-color@8.1.1) + lodash.debounce: 4.0.8 + resolve: 1.22.8 + transitivePeerDependencies: + - supports-color + dev: true - '@babel/helper-environment-visitor@7.24.7': + /@babel/helper-environment-visitor@7.24.7: resolution: {integrity: sha512-DoiN84+4Gnd0ncbBOM9AZENV4a5ZiL39HYMyZJGZ/AZEykHYdJw0wW3kdcsh9/Kn+BRXHLkkklZ51ecPKmI1CQ==} engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.24.7 + dev: true - '@babel/helper-function-name@7.24.7': + /@babel/helper-function-name@7.24.7: resolution: {integrity: sha512-FyoJTsj/PEUWu1/TYRiXTIHc8lbw+TDYkZuoE43opPS5TrI7MyONBE1oNvfguEXAD9yhQRrVBnXdXzSLQl9XnA==} engines: {node: '>=6.9.0'} + dependencies: + '@babel/template': 7.24.7 + '@babel/types': 7.24.7 + dev: true - '@babel/helper-hoist-variables@7.24.7': + /@babel/helper-hoist-variables@7.24.7: resolution: {integrity: sha512-MJJwhkoGy5c4ehfoRyrJ/owKeMl19U54h27YYftT0o2teQ3FJ3nQUf/I3LlJsX4l3qlw7WRXUmiyajvHXoTubQ==} engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.24.7 + dev: true - '@babel/helper-member-expression-to-functions@7.24.7': + /@babel/helper-member-expression-to-functions@7.24.7: resolution: {integrity: sha512-LGeMaf5JN4hAT471eJdBs/GK1DoYIJ5GCtZN/EsL6KUiiDZOvO/eKE11AMZJa2zP4zk4qe9V2O/hxAmkRc8p6w==} engines: {node: '>=6.9.0'} + dependencies: + '@babel/traverse': 7.24.7 + '@babel/types': 7.24.7 + transitivePeerDependencies: + - supports-color + dev: true - '@babel/helper-module-imports@7.24.7': + /@babel/helper-module-imports@7.24.7: resolution: {integrity: sha512-8AyH3C+74cgCVVXow/myrynrAGv+nTVg5vKu2nZph9x7RcRwzmh0VFallJuFTZ9mx6u4eSdXZfcOzSqTUm0HCA==} engines: {node: '>=6.9.0'} + dependencies: + '@babel/traverse': 7.24.7 + '@babel/types': 7.24.7 + transitivePeerDependencies: + - supports-color + dev: true - '@babel/helper-module-transforms@7.24.7': + /@babel/helper-module-transforms@7.24.7(@babel/core@7.24.7): resolution: {integrity: sha512-1fuJEwIrp+97rM4RWdO+qrRsZlAeL1lQJoPqtCYWv0NL115XM93hIH4CSRln2w52SqvmY5hqdtauB6QFCDiZNQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-environment-visitor': 7.24.7 + '@babel/helper-module-imports': 7.24.7 + '@babel/helper-simple-access': 7.24.7 + '@babel/helper-split-export-declaration': 7.24.7 + '@babel/helper-validator-identifier': 7.24.7 + transitivePeerDependencies: + - supports-color + dev: true - '@babel/helper-optimise-call-expression@7.24.7': + /@babel/helper-optimise-call-expression@7.24.7: resolution: {integrity: sha512-jKiTsW2xmWwxT1ixIdfXUZp+P5yURx2suzLZr5Hi64rURpDYdMW0pv+Uf17EYk2Rd428Lx4tLsnjGJzYKDM/6A==} engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.24.7 + dev: true - '@babel/helper-plugin-utils@7.24.7': + /@babel/helper-plugin-utils@7.24.7: resolution: {integrity: sha512-Rq76wjt7yz9AAc1KnlRKNAi/dMSVWgDRx43FHoJEbcYU6xOWaE2dVPwcdTukJrjxS65GITyfbvEYHvkirZ6uEg==} engines: {node: '>=6.9.0'} + dev: true - '@babel/helper-remap-async-to-generator@7.24.7': + /@babel/helper-remap-async-to-generator@7.24.7(@babel/core@7.24.7): resolution: {integrity: sha512-9pKLcTlZ92hNZMQfGCHImUpDOlAgkkpqalWEeftW5FBya75k8Li2ilerxkM/uBEj01iBZXcCIB/bwvDYgWyibA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-annotate-as-pure': 7.24.7 + '@babel/helper-environment-visitor': 7.24.7 + '@babel/helper-wrap-function': 7.24.7 + transitivePeerDependencies: + - supports-color + dev: true - '@babel/helper-replace-supers@7.24.7': + /@babel/helper-replace-supers@7.24.7(@babel/core@7.24.7): resolution: {integrity: sha512-qTAxxBM81VEyoAY0TtLrx1oAEJc09ZK67Q9ljQToqCnA+55eNwCORaxlKyu+rNfX86o8OXRUSNUnrtsAZXM9sg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-environment-visitor': 7.24.7 + '@babel/helper-member-expression-to-functions': 7.24.7 + '@babel/helper-optimise-call-expression': 7.24.7 + transitivePeerDependencies: + - supports-color + dev: true - '@babel/helper-simple-access@7.24.7': + /@babel/helper-simple-access@7.24.7: resolution: {integrity: sha512-zBAIvbCMh5Ts+b86r/CjU+4XGYIs+R1j951gxI3KmmxBMhCg4oQMsv6ZXQ64XOm/cvzfU1FmoCyt6+owc5QMYg==} engines: {node: '>=6.9.0'} + dependencies: + '@babel/traverse': 7.24.7 + '@babel/types': 7.24.7 + transitivePeerDependencies: + - supports-color + dev: true - '@babel/helper-skip-transparent-expression-wrappers@7.24.7': + /@babel/helper-skip-transparent-expression-wrappers@7.24.7: resolution: {integrity: sha512-IO+DLT3LQUElMbpzlatRASEyQtfhSE0+m465v++3jyyXeBTBUjtVZg28/gHeV5mrTJqvEKhKroBGAvhW+qPHiQ==} engines: {node: '>=6.9.0'} + dependencies: + '@babel/traverse': 7.24.7 + '@babel/types': 7.24.7 + transitivePeerDependencies: + - supports-color + dev: true - '@babel/helper-split-export-declaration@7.24.7': + /@babel/helper-split-export-declaration@7.24.7: resolution: {integrity: sha512-oy5V7pD+UvfkEATUKvIjvIAH/xCzfsFVw7ygW2SI6NClZzquT+mwdTfgfdbUiceh6iQO0CHtCPsyze/MZ2YbAA==} engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.24.7 + dev: true - '@babel/helper-string-parser@7.24.7': + /@babel/helper-string-parser@7.24.7: resolution: {integrity: sha512-7MbVt6xrwFQbunH2DNQsAP5sTGxfqQtErvBIvIMi6EQnbgUOuVYanvREcmFrOPhoXBrTtjhhP+lW+o5UfK+tDg==} engines: {node: '>=6.9.0'} - '@babel/helper-validator-identifier@7.24.7': + /@babel/helper-validator-identifier@7.24.7: resolution: {integrity: sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w==} engines: {node: '>=6.9.0'} - '@babel/helper-validator-option@7.24.7': + /@babel/helper-validator-option@7.24.7: resolution: {integrity: sha512-yy1/KvjhV/ZCL+SM7hBrvnZJ3ZuT9OuZgIJAGpPEToANvc3iM6iDvBnRjtElWibHU6n8/LPR/EjX9EtIEYO3pw==} engines: {node: '>=6.9.0'} + dev: true - '@babel/helper-wrap-function@7.24.7': + /@babel/helper-wrap-function@7.24.7: resolution: {integrity: sha512-N9JIYk3TD+1vq/wn77YnJOqMtfWhNewNE+DJV4puD2X7Ew9J4JvrzrFDfTfyv5EgEXVy9/Wt8QiOErzEmv5Ifw==} engines: {node: '>=6.9.0'} + dependencies: + '@babel/helper-function-name': 7.24.7 + '@babel/template': 7.24.7 + '@babel/traverse': 7.24.7 + '@babel/types': 7.24.7 + transitivePeerDependencies: + - supports-color + dev: true - '@babel/helpers@7.24.7': + /@babel/helpers@7.24.7: resolution: {integrity: sha512-NlmJJtvcw72yRJRcnCmGvSi+3jDEg8qFu3z0AFoymmzLx5ERVWyzd9kVXr7Th9/8yIJi2Zc6av4Tqz3wFs8QWg==} engines: {node: '>=6.9.0'} + dependencies: + '@babel/template': 7.24.7 + '@babel/types': 7.24.7 + dev: true - '@babel/highlight@7.24.7': + /@babel/highlight@7.24.7: resolution: {integrity: sha512-EStJpq4OuY8xYfhGVXngigBJRWxftKX9ksiGDnmlY3o7B/V7KIAc9X4oiK87uPJSc/vs5L869bem5fhZa8caZw==} engines: {node: '>=6.9.0'} + dependencies: + '@babel/helper-validator-identifier': 7.24.7 + chalk: 2.4.2 + js-tokens: 4.0.0 + picocolors: 1.0.1 + dev: true - '@babel/parser@7.24.7': + /@babel/parser@7.24.7: resolution: {integrity: sha512-9uUYRm6OqQrCqQdG1iCBwBPZgN8ciDBro2nIOFaiRz1/BCxaI7CNvQbDHvsArAC7Tw9Hda/B3U+6ui9u4HWXPw==} engines: {node: '>=6.0.0'} hasBin: true + dependencies: + '@babel/types': 7.24.7 - '@babel/plugin-bugfix-firefox-class-in-computed-class-key@7.24.7': + /@babel/plugin-bugfix-firefox-class-in-computed-class-key@7.24.7(@babel/core@7.24.7): resolution: {integrity: sha512-TiT1ss81W80eQsN+722OaeQMY/G4yTb4G9JrqeiDADs3N8lbPMGldWi9x8tyqCW5NLx1Jh2AvkE6r6QvEltMMQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-environment-visitor': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + dev: true - '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.24.7': + /@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.24.7(@babel/core@7.24.7): resolution: {integrity: sha512-unaQgZ/iRu/By6tsjMZzpeBZjChYfLYry6HrEXPoz3KmfF0sVBQ1l8zKMQ4xRGLWVsjuvB8nQfjNP/DcfEOCsg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + dev: true - '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.24.7': + /@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.24.7(@babel/core@7.24.7): resolution: {integrity: sha512-+izXIbke1T33mY4MSNnrqhPXDz01WYhEf3yF5NbnUtkiNnm+XBZJl3kNfoK6NKmYlz/D07+l2GWVK/QfDkNCuQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.13.0 + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + '@babel/helper-skip-transparent-expression-wrappers': 7.24.7 + '@babel/plugin-transform-optional-chaining': 7.24.7(@babel/core@7.24.7) + transitivePeerDependencies: + - supports-color + dev: true - '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.24.7': + /@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.24.7(@babel/core@7.24.7): resolution: {integrity: sha512-utA4HuR6F4Vvcr+o4DnjL8fCOlgRFGbeeBEGNg3ZTrLFw6VWG5XmUrvcQ0FjIYMU2ST4XcR2Wsp7t9qOAPnxMg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-environment-visitor': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + dev: true - '@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2': + /@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2(@babel/core@7.24.7): resolution: {integrity: sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.7 + dev: true - '@babel/plugin-syntax-async-generators@7.8.4': + /@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.24.7): resolution: {integrity: sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==} peerDependencies: '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + dev: true - '@babel/plugin-syntax-bigint@7.8.3': + /@babel/plugin-syntax-bigint@7.8.3(@babel/core@7.24.7): resolution: {integrity: sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==} peerDependencies: '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + dev: true - '@babel/plugin-syntax-class-properties@7.12.13': + /@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.24.7): resolution: {integrity: sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==} peerDependencies: '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + dev: true - '@babel/plugin-syntax-class-static-block@7.14.5': + /@babel/plugin-syntax-class-static-block@7.14.5(@babel/core@7.24.7): resolution: {integrity: sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + dev: true - '@babel/plugin-syntax-dynamic-import@7.8.3': + /@babel/plugin-syntax-dynamic-import@7.8.3(@babel/core@7.24.7): resolution: {integrity: sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==} peerDependencies: '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + dev: true - '@babel/plugin-syntax-export-namespace-from@7.8.3': + /@babel/plugin-syntax-export-namespace-from@7.8.3(@babel/core@7.24.7): resolution: {integrity: sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==} peerDependencies: '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + dev: true - '@babel/plugin-syntax-import-assertions@7.24.7': + /@babel/plugin-syntax-import-assertions@7.24.7(@babel/core@7.24.7): resolution: {integrity: sha512-Ec3NRUMoi8gskrkBe3fNmEQfxDvY8bgfQpz6jlk/41kX9eUjvpyqWU7PBP/pLAvMaSQjbMNKJmvX57jP+M6bPg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + dev: true - '@babel/plugin-syntax-import-attributes@7.24.7': + /@babel/plugin-syntax-import-attributes@7.24.7(@babel/core@7.24.7): resolution: {integrity: sha512-hbX+lKKeUMGihnK8nvKqmXBInriT3GVjzXKFriV3YC6APGxMbP8RZNFwy91+hocLXq90Mta+HshoB31802bb8A==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + dev: true - '@babel/plugin-syntax-import-meta@7.10.4': + /@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.24.7): resolution: {integrity: sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==} peerDependencies: '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + dev: true - '@babel/plugin-syntax-json-strings@7.8.3': + /@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.24.7): resolution: {integrity: sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==} peerDependencies: '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + dev: true - '@babel/plugin-syntax-jsx@7.24.7': + /@babel/plugin-syntax-jsx@7.24.7(@babel/core@7.24.7): resolution: {integrity: sha512-6ddciUPe/mpMnOKv/U+RSd2vvVy+Yw/JfBB0ZHYjEZt9NLHmCUylNYlsbqCCS1Bffjlb0fCwC9Vqz+sBz6PsiQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + dev: true - '@babel/plugin-syntax-logical-assignment-operators@7.10.4': + /@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.24.7): resolution: {integrity: sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==} peerDependencies: '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + dev: true - '@babel/plugin-syntax-nullish-coalescing-operator@7.8.3': + /@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.24.7): resolution: {integrity: sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==} peerDependencies: '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + dev: true - '@babel/plugin-syntax-numeric-separator@7.10.4': + /@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.24.7): resolution: {integrity: sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==} peerDependencies: '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + dev: true - '@babel/plugin-syntax-object-rest-spread@7.8.3': + /@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.24.7): resolution: {integrity: sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==} peerDependencies: '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + dev: true - '@babel/plugin-syntax-optional-catch-binding@7.8.3': + /@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.24.7): resolution: {integrity: sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==} peerDependencies: '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + dev: true - '@babel/plugin-syntax-optional-chaining@7.8.3': + /@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.24.7): resolution: {integrity: sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==} peerDependencies: '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + dev: true - '@babel/plugin-syntax-private-property-in-object@7.14.5': + /@babel/plugin-syntax-private-property-in-object@7.14.5(@babel/core@7.24.7): resolution: {integrity: sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + dev: true - '@babel/plugin-syntax-top-level-await@7.14.5': + /@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.24.7): resolution: {integrity: sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + dev: true - '@babel/plugin-syntax-typescript@7.24.7': + /@babel/plugin-syntax-typescript@7.24.7(@babel/core@7.24.7): resolution: {integrity: sha512-c/+fVeJBB0FeKsFvwytYiUD+LBvhHjGSI0g446PRGdSVGZLRNArBUno2PETbAly3tpiNAQR5XaZ+JslxkotsbA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + dev: true - '@babel/plugin-syntax-unicode-sets-regex@7.18.6': + /@babel/plugin-syntax-unicode-sets-regex@7.18.6(@babel/core@7.24.7): resolution: {integrity: sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-create-regexp-features-plugin': 7.24.7(@babel/core@7.24.7) + '@babel/helper-plugin-utils': 7.24.7 + dev: true - '@babel/plugin-transform-arrow-functions@7.24.7': + /@babel/plugin-transform-arrow-functions@7.24.7(@babel/core@7.24.7): resolution: {integrity: sha512-Dt9LQs6iEY++gXUwY03DNFat5C2NbO48jj+j/bSAz6b3HgPs39qcPiYt77fDObIcFwj3/C2ICX9YMwGflUoSHQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + dev: true - '@babel/plugin-transform-async-generator-functions@7.24.7': + /@babel/plugin-transform-async-generator-functions@7.24.7(@babel/core@7.24.7): resolution: {integrity: sha512-o+iF77e3u7ZS4AoAuJvapz9Fm001PuD2V3Lp6OSE4FYQke+cSewYtnek+THqGRWyQloRCyvWL1OkyfNEl9vr/g==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-async-to-generator@7.24.7': - resolution: {integrity: sha512-SQY01PcJfmQ+4Ash7NE+rpbLFbmqA2GPIgqzxfFTL4t1FKRq4zTms/7htKpoCUI9OcFYgzqfmCdH53s6/jn5fA==} + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-environment-visitor': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + '@babel/helper-remap-async-to-generator': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.24.7) + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/plugin-transform-async-to-generator@7.24.7(@babel/core@7.24.7): + resolution: {integrity: sha512-SQY01PcJfmQ+4Ash7NE+rpbLFbmqA2GPIgqzxfFTL4t1FKRq4zTms/7htKpoCUI9OcFYgzqfmCdH53s6/jn5fA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-module-imports': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + '@babel/helper-remap-async-to-generator': 7.24.7(@babel/core@7.24.7) + transitivePeerDependencies: + - supports-color + dev: true - '@babel/plugin-transform-block-scoped-functions@7.24.7': + /@babel/plugin-transform-block-scoped-functions@7.24.7(@babel/core@7.24.7): resolution: {integrity: sha512-yO7RAz6EsVQDaBH18IDJcMB1HnrUn2FJ/Jslc/WtPPWcjhpUJXU/rjbwmluzp7v/ZzWcEhTMXELnnsz8djWDwQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + dev: true - '@babel/plugin-transform-block-scoping@7.24.7': + /@babel/plugin-transform-block-scoping@7.24.7(@babel/core@7.24.7): resolution: {integrity: sha512-Nd5CvgMbWc+oWzBsuaMcbwjJWAcp5qzrbg69SZdHSP7AMY0AbWFqFO0WTFCA1jxhMCwodRwvRec8k0QUbZk7RQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + dev: true - '@babel/plugin-transform-class-properties@7.24.7': + /@babel/plugin-transform-class-properties@7.24.7(@babel/core@7.24.7): resolution: {integrity: sha512-vKbfawVYayKcSeSR5YYzzyXvsDFWU2mD8U5TFeXtbCPLFUqe7GyCgvO6XDHzje862ODrOwy6WCPmKeWHbCFJ4w==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-create-class-features-plugin': 7.24.7(@babel/core@7.24.7) + '@babel/helper-plugin-utils': 7.24.7 + transitivePeerDependencies: + - supports-color + dev: true - '@babel/plugin-transform-class-static-block@7.24.7': + /@babel/plugin-transform-class-static-block@7.24.7(@babel/core@7.24.7): resolution: {integrity: sha512-HMXK3WbBPpZQufbMG4B46A90PkuuhN9vBCb5T8+VAHqvAqvcLi+2cKoukcpmUYkszLhScU3l1iudhrks3DggRQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.12.0 + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-create-class-features-plugin': 7.24.7(@babel/core@7.24.7) + '@babel/helper-plugin-utils': 7.24.7 + '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.24.7) + transitivePeerDependencies: + - supports-color + dev: true - '@babel/plugin-transform-classes@7.24.7': + /@babel/plugin-transform-classes@7.24.7(@babel/core@7.24.7): resolution: {integrity: sha512-CFbbBigp8ln4FU6Bpy6g7sE8B/WmCmzvivzUC6xDAdWVsjYTXijpuuGJmYkAaoWAzcItGKT3IOAbxRItZ5HTjw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-annotate-as-pure': 7.24.7 + '@babel/helper-compilation-targets': 7.24.7 + '@babel/helper-environment-visitor': 7.24.7 + '@babel/helper-function-name': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + '@babel/helper-replace-supers': 7.24.7(@babel/core@7.24.7) + '@babel/helper-split-export-declaration': 7.24.7 + globals: 11.12.0 + transitivePeerDependencies: + - supports-color + dev: true - '@babel/plugin-transform-computed-properties@7.24.7': + /@babel/plugin-transform-computed-properties@7.24.7(@babel/core@7.24.7): resolution: {integrity: sha512-25cS7v+707Gu6Ds2oY6tCkUwsJ9YIDbggd9+cu9jzzDgiNq7hR/8dkzxWfKWnTic26vsI3EsCXNd4iEB6e8esQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + '@babel/template': 7.24.7 + dev: true - '@babel/plugin-transform-destructuring@7.24.7': + /@babel/plugin-transform-destructuring@7.24.7(@babel/core@7.24.7): resolution: {integrity: sha512-19eJO/8kdCQ9zISOf+SEUJM/bAUIsvY3YDnXZTupUCQ8LgrWnsG/gFB9dvXqdXnRXMAM8fvt7b0CBKQHNGy1mw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + dev: true - '@babel/plugin-transform-dotall-regex@7.24.7': + /@babel/plugin-transform-dotall-regex@7.24.7(@babel/core@7.24.7): resolution: {integrity: sha512-ZOA3W+1RRTSWvyqcMJDLqbchh7U4NRGqwRfFSVbOLS/ePIP4vHB5e8T8eXcuqyN1QkgKyj5wuW0lcS85v4CrSw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-create-regexp-features-plugin': 7.24.7(@babel/core@7.24.7) + '@babel/helper-plugin-utils': 7.24.7 + dev: true - '@babel/plugin-transform-duplicate-keys@7.24.7': + /@babel/plugin-transform-duplicate-keys@7.24.7(@babel/core@7.24.7): resolution: {integrity: sha512-JdYfXyCRihAe46jUIliuL2/s0x0wObgwwiGxw/UbgJBr20gQBThrokO4nYKgWkD7uBaqM7+9x5TU7NkExZJyzw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + dev: true - '@babel/plugin-transform-dynamic-import@7.24.7': + /@babel/plugin-transform-dynamic-import@7.24.7(@babel/core@7.24.7): resolution: {integrity: sha512-sc3X26PhZQDb3JhORmakcbvkeInvxz+A8oda99lj7J60QRuPZvNAk9wQlTBS1ZynelDrDmTU4pw1tyc5d5ZMUg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.24.7) + dev: true - '@babel/plugin-transform-exponentiation-operator@7.24.7': + /@babel/plugin-transform-exponentiation-operator@7.24.7(@babel/core@7.24.7): resolution: {integrity: sha512-Rqe/vSc9OYgDajNIK35u7ot+KeCoetqQYFXM4Epf7M7ez3lWlOjrDjrwMei6caCVhfdw+mIKD4cgdGNy5JQotQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-builder-binary-assignment-operator-visitor': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + transitivePeerDependencies: + - supports-color + dev: true - '@babel/plugin-transform-export-namespace-from@7.24.7': + /@babel/plugin-transform-export-namespace-from@7.24.7(@babel/core@7.24.7): resolution: {integrity: sha512-v0K9uNYsPL3oXZ/7F9NNIbAj2jv1whUEtyA6aujhekLs56R++JDQuzRcP2/z4WX5Vg/c5lE9uWZA0/iUoFhLTA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.24.7) + dev: true - '@babel/plugin-transform-for-of@7.24.7': + /@babel/plugin-transform-for-of@7.24.7(@babel/core@7.24.7): resolution: {integrity: sha512-wo9ogrDG1ITTTBsy46oGiN1dS9A7MROBTcYsfS8DtsImMkHk9JXJ3EWQM6X2SUw4x80uGPlwj0o00Uoc6nEE3g==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + '@babel/helper-skip-transparent-expression-wrappers': 7.24.7 + transitivePeerDependencies: + - supports-color + dev: true - '@babel/plugin-transform-function-name@7.24.7': + /@babel/plugin-transform-function-name@7.24.7(@babel/core@7.24.7): resolution: {integrity: sha512-U9FcnA821YoILngSmYkW6FjyQe2TyZD5pHt4EVIhmcTkrJw/3KqcrRSxuOo5tFZJi7TE19iDyI1u+weTI7bn2w==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-compilation-targets': 7.24.7 + '@babel/helper-function-name': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + dev: true - '@babel/plugin-transform-json-strings@7.24.7': + /@babel/plugin-transform-json-strings@7.24.7(@babel/core@7.24.7): resolution: {integrity: sha512-2yFnBGDvRuxAaE/f0vfBKvtnvvqU8tGpMHqMNpTN2oWMKIR3NqFkjaAgGwawhqK/pIN2T3XdjGPdaG0vDhOBGw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.24.7) + dev: true - '@babel/plugin-transform-literals@7.24.7': + /@babel/plugin-transform-literals@7.24.7(@babel/core@7.24.7): resolution: {integrity: sha512-vcwCbb4HDH+hWi8Pqenwnjy+UiklO4Kt1vfspcQYFhJdpthSnW8XvWGyDZWKNVrVbVViI/S7K9PDJZiUmP2fYQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + dev: true - '@babel/plugin-transform-logical-assignment-operators@7.24.7': + /@babel/plugin-transform-logical-assignment-operators@7.24.7(@babel/core@7.24.7): resolution: {integrity: sha512-4D2tpwlQ1odXmTEIFWy9ELJcZHqrStlzK/dAOWYyxX3zT0iXQB6banjgeOJQXzEc4S0E0a5A+hahxPaEFYftsw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.24.7) + dev: true - '@babel/plugin-transform-member-expression-literals@7.24.7': + /@babel/plugin-transform-member-expression-literals@7.24.7(@babel/core@7.24.7): resolution: {integrity: sha512-T/hRC1uqrzXMKLQ6UCwMT85S3EvqaBXDGf0FaMf4446Qx9vKwlghvee0+uuZcDUCZU5RuNi4781UQ7R308zzBw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + dev: true - '@babel/plugin-transform-modules-amd@7.24.7': + /@babel/plugin-transform-modules-amd@7.24.7(@babel/core@7.24.7): resolution: {integrity: sha512-9+pB1qxV3vs/8Hdmz/CulFB8w2tuu6EB94JZFsjdqxQokwGa9Unap7Bo2gGBGIvPmDIVvQrom7r5m/TCDMURhg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-module-transforms': 7.24.7(@babel/core@7.24.7) + '@babel/helper-plugin-utils': 7.24.7 + transitivePeerDependencies: + - supports-color + dev: true - '@babel/plugin-transform-modules-commonjs@7.24.7': + /@babel/plugin-transform-modules-commonjs@7.24.7(@babel/core@7.24.7): resolution: {integrity: sha512-iFI8GDxtevHJ/Z22J5xQpVqFLlMNstcLXh994xifFwxxGslr2ZXXLWgtBeLctOD63UFDArdvN6Tg8RFw+aEmjQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-module-transforms': 7.24.7(@babel/core@7.24.7) + '@babel/helper-plugin-utils': 7.24.7 + '@babel/helper-simple-access': 7.24.7 + transitivePeerDependencies: + - supports-color + dev: true - '@babel/plugin-transform-modules-systemjs@7.24.7': + /@babel/plugin-transform-modules-systemjs@7.24.7(@babel/core@7.24.7): resolution: {integrity: sha512-GYQE0tW7YoaN13qFh3O1NCY4MPkUiAH3fiF7UcV/I3ajmDKEdG3l+UOcbAm4zUE3gnvUU+Eni7XrVKo9eO9auw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-hoist-variables': 7.24.7 + '@babel/helper-module-transforms': 7.24.7(@babel/core@7.24.7) + '@babel/helper-plugin-utils': 7.24.7 + '@babel/helper-validator-identifier': 7.24.7 + transitivePeerDependencies: + - supports-color + dev: true - '@babel/plugin-transform-modules-umd@7.24.7': + /@babel/plugin-transform-modules-umd@7.24.7(@babel/core@7.24.7): resolution: {integrity: sha512-3aytQvqJ/h9z4g8AsKPLvD4Zqi2qT+L3j7XoFFu1XBlZWEl2/1kWnhmAbxpLgPrHSY0M6UA02jyTiwUVtiKR6A==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-module-transforms': 7.24.7(@babel/core@7.24.7) + '@babel/helper-plugin-utils': 7.24.7 + transitivePeerDependencies: + - supports-color + dev: true - '@babel/plugin-transform-named-capturing-groups-regex@7.24.7': + /@babel/plugin-transform-named-capturing-groups-regex@7.24.7(@babel/core@7.24.7): resolution: {integrity: sha512-/jr7h/EWeJtk1U/uz2jlsCioHkZk1JJZVcc8oQsJ1dUlaJD83f4/6Zeh2aHt9BIFokHIsSeDfhUmju0+1GPd6g==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-create-regexp-features-plugin': 7.24.7(@babel/core@7.24.7) + '@babel/helper-plugin-utils': 7.24.7 + dev: true - '@babel/plugin-transform-new-target@7.24.7': + /@babel/plugin-transform-new-target@7.24.7(@babel/core@7.24.7): resolution: {integrity: sha512-RNKwfRIXg4Ls/8mMTza5oPF5RkOW8Wy/WgMAp1/F1yZ8mMbtwXW+HDoJiOsagWrAhI5f57Vncrmr9XeT4CVapA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + dev: true - '@babel/plugin-transform-nullish-coalescing-operator@7.24.7': + /@babel/plugin-transform-nullish-coalescing-operator@7.24.7(@babel/core@7.24.7): resolution: {integrity: sha512-Ts7xQVk1OEocqzm8rHMXHlxvsfZ0cEF2yomUqpKENHWMF4zKk175Y4q8H5knJes6PgYad50uuRmt3UJuhBw8pQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.24.7) + dev: true - '@babel/plugin-transform-numeric-separator@7.24.7': + /@babel/plugin-transform-numeric-separator@7.24.7(@babel/core@7.24.7): resolution: {integrity: sha512-e6q1TiVUzvH9KRvicuxdBTUj4AdKSRwzIyFFnfnezpCfP2/7Qmbb8qbU2j7GODbl4JMkblitCQjKYUaX/qkkwA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.24.7) + dev: true - '@babel/plugin-transform-object-rest-spread@7.24.7': + /@babel/plugin-transform-object-rest-spread@7.24.7(@babel/core@7.24.7): resolution: {integrity: sha512-4QrHAr0aXQCEFni2q4DqKLD31n2DL+RxcwnNjDFkSG0eNQ/xCavnRkfCUjsyqGC2OviNJvZOF/mQqZBw7i2C5Q==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-compilation-targets': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.24.7) + '@babel/plugin-transform-parameters': 7.24.7(@babel/core@7.24.7) + dev: true - '@babel/plugin-transform-object-super@7.24.7': + /@babel/plugin-transform-object-super@7.24.7(@babel/core@7.24.7): resolution: {integrity: sha512-A/vVLwN6lBrMFmMDmPPz0jnE6ZGx7Jq7d6sT/Ev4H65RER6pZ+kczlf1DthF5N0qaPHBsI7UXiE8Zy66nmAovg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + '@babel/helper-replace-supers': 7.24.7(@babel/core@7.24.7) + transitivePeerDependencies: + - supports-color + dev: true - '@babel/plugin-transform-optional-catch-binding@7.24.7': + /@babel/plugin-transform-optional-catch-binding@7.24.7(@babel/core@7.24.7): resolution: {integrity: sha512-uLEndKqP5BfBbC/5jTwPxLh9kqPWWgzN/f8w6UwAIirAEqiIVJWWY312X72Eub09g5KF9+Zn7+hT7sDxmhRuKA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.24.7) + dev: true - '@babel/plugin-transform-optional-chaining@7.24.7': + /@babel/plugin-transform-optional-chaining@7.24.7(@babel/core@7.24.7): resolution: {integrity: sha512-tK+0N9yd4j+x/4hxF3F0e0fu/VdcxU18y5SevtyM/PCFlQvXbR0Zmlo2eBrKtVipGNFzpq56o8WsIIKcJFUCRQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + '@babel/helper-skip-transparent-expression-wrappers': 7.24.7 + '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.24.7) + transitivePeerDependencies: + - supports-color + dev: true - '@babel/plugin-transform-parameters@7.24.7': + /@babel/plugin-transform-parameters@7.24.7(@babel/core@7.24.7): resolution: {integrity: sha512-yGWW5Rr+sQOhK0Ot8hjDJuxU3XLRQGflvT4lhlSY0DFvdb3TwKaY26CJzHtYllU0vT9j58hc37ndFPsqT1SrzA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + dev: true - '@babel/plugin-transform-private-methods@7.24.7': + /@babel/plugin-transform-private-methods@7.24.7(@babel/core@7.24.7): resolution: {integrity: sha512-COTCOkG2hn4JKGEKBADkA8WNb35TGkkRbI5iT845dB+NyqgO8Hn+ajPbSnIQznneJTa3d30scb6iz/DhH8GsJQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-create-class-features-plugin': 7.24.7(@babel/core@7.24.7) + '@babel/helper-plugin-utils': 7.24.7 + transitivePeerDependencies: + - supports-color + dev: true - '@babel/plugin-transform-private-property-in-object@7.24.7': + /@babel/plugin-transform-private-property-in-object@7.24.7(@babel/core@7.24.7): resolution: {integrity: sha512-9z76mxwnwFxMyxZWEgdgECQglF2Q7cFLm0kMf8pGwt+GSJsY0cONKj/UuO4bOH0w/uAel3ekS4ra5CEAyJRmDA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-annotate-as-pure': 7.24.7 + '@babel/helper-create-class-features-plugin': 7.24.7(@babel/core@7.24.7) + '@babel/helper-plugin-utils': 7.24.7 + '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.24.7) + transitivePeerDependencies: + - supports-color + dev: true - '@babel/plugin-transform-property-literals@7.24.7': + /@babel/plugin-transform-property-literals@7.24.7(@babel/core@7.24.7): resolution: {integrity: sha512-EMi4MLQSHfd2nrCqQEWxFdha2gBCqU4ZcCng4WBGZ5CJL4bBRW0ptdqqDdeirGZcpALazVVNJqRmsO8/+oNCBA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + dev: true - '@babel/plugin-transform-regenerator@7.24.7': + /@babel/plugin-transform-regenerator@7.24.7(@babel/core@7.24.7): resolution: {integrity: sha512-lq3fvXPdimDrlg6LWBoqj+r/DEWgONuwjuOuQCSYgRroXDH/IdM1C0IZf59fL5cHLpjEH/O6opIRBbqv7ELnuA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + regenerator-transform: 0.15.2 + dev: true - '@babel/plugin-transform-reserved-words@7.24.7': + /@babel/plugin-transform-reserved-words@7.24.7(@babel/core@7.24.7): resolution: {integrity: sha512-0DUq0pHcPKbjFZCfTss/pGkYMfy3vFWydkUBd9r0GHpIyfs2eCDENvqadMycRS9wZCXR41wucAfJHJmwA0UmoQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + dev: true - '@babel/plugin-transform-shorthand-properties@7.24.7': + /@babel/plugin-transform-shorthand-properties@7.24.7(@babel/core@7.24.7): resolution: {integrity: sha512-KsDsevZMDsigzbA09+vacnLpmPH4aWjcZjXdyFKGzpplxhbeB4wYtury3vglQkg6KM/xEPKt73eCjPPf1PgXBA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + dev: true - '@babel/plugin-transform-spread@7.24.7': + /@babel/plugin-transform-spread@7.24.7(@babel/core@7.24.7): resolution: {integrity: sha512-x96oO0I09dgMDxJaANcRyD4ellXFLLiWhuwDxKZX5g2rWP1bTPkBSwCYv96VDXVT1bD9aPj8tppr5ITIh8hBng==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + '@babel/helper-skip-transparent-expression-wrappers': 7.24.7 + transitivePeerDependencies: + - supports-color + dev: true - '@babel/plugin-transform-sticky-regex@7.24.7': + /@babel/plugin-transform-sticky-regex@7.24.7(@babel/core@7.24.7): resolution: {integrity: sha512-kHPSIJc9v24zEml5geKg9Mjx5ULpfncj0wRpYtxbvKyTtHCYDkVE3aHQ03FrpEo4gEe2vrJJS1Y9CJTaThA52g==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + dev: true - '@babel/plugin-transform-template-literals@7.24.7': + /@babel/plugin-transform-template-literals@7.24.7(@babel/core@7.24.7): resolution: {integrity: sha512-AfDTQmClklHCOLxtGoP7HkeMw56k1/bTQjwsfhL6pppo/M4TOBSq+jjBUBLmV/4oeFg4GWMavIl44ZeCtmmZTw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + dev: true - '@babel/plugin-transform-typeof-symbol@7.24.7': + /@babel/plugin-transform-typeof-symbol@7.24.7(@babel/core@7.24.7): resolution: {integrity: sha512-VtR8hDy7YLB7+Pet9IarXjg/zgCMSF+1mNS/EQEiEaUPoFXCVsHG64SIxcaaI2zJgRiv+YmgaQESUfWAdbjzgg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + dev: true - '@babel/plugin-transform-typescript@7.24.7': + /@babel/plugin-transform-typescript@7.24.7(@babel/core@7.24.7): resolution: {integrity: sha512-iLD3UNkgx2n/HrjBesVbYX6j0yqn/sJktvbtKKgcaLIQ4bTTQ8obAypc1VpyHPD2y4Phh9zHOaAt8e/L14wCpw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-annotate-as-pure': 7.24.7 + '@babel/helper-create-class-features-plugin': 7.24.7(@babel/core@7.24.7) + '@babel/helper-plugin-utils': 7.24.7 + '@babel/plugin-syntax-typescript': 7.24.7(@babel/core@7.24.7) + transitivePeerDependencies: + - supports-color + dev: true - '@babel/plugin-transform-unicode-escapes@7.24.7': + /@babel/plugin-transform-unicode-escapes@7.24.7(@babel/core@7.24.7): resolution: {integrity: sha512-U3ap1gm5+4edc2Q/P+9VrBNhGkfnf+8ZqppY71Bo/pzZmXhhLdqgaUl6cuB07O1+AQJtCLfaOmswiNbSQ9ivhw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + dev: true - '@babel/plugin-transform-unicode-property-regex@7.24.7': + /@babel/plugin-transform-unicode-property-regex@7.24.7(@babel/core@7.24.7): resolution: {integrity: sha512-uH2O4OV5M9FZYQrwc7NdVmMxQJOCCzFeYudlZSzUAHRFeOujQefa92E74TQDVskNHCzOXoigEuoyzHDhaEaK5w==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-create-regexp-features-plugin': 7.24.7(@babel/core@7.24.7) + '@babel/helper-plugin-utils': 7.24.7 + dev: true - '@babel/plugin-transform-unicode-regex@7.24.7': + /@babel/plugin-transform-unicode-regex@7.24.7(@babel/core@7.24.7): resolution: {integrity: sha512-hlQ96MBZSAXUq7ltkjtu3FJCCSMx/j629ns3hA3pXnBXjanNP0LHi+JpPeA81zaWgVK1VGH95Xuy7u0RyQ8kMg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-create-regexp-features-plugin': 7.24.7(@babel/core@7.24.7) + '@babel/helper-plugin-utils': 7.24.7 + dev: true - '@babel/plugin-transform-unicode-sets-regex@7.24.7': + /@babel/plugin-transform-unicode-sets-regex@7.24.7(@babel/core@7.24.7): resolution: {integrity: sha512-2G8aAvF4wy1w/AGZkemprdGMRg5o6zPNhbHVImRz3lss55TYCBd6xStN19rt8XJHq20sqV0JbyWjOWwQRwV/wg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-create-regexp-features-plugin': 7.24.7(@babel/core@7.24.7) + '@babel/helper-plugin-utils': 7.24.7 + dev: true - '@babel/preset-env@7.24.7': + /@babel/preset-env@7.24.7(@babel/core@7.24.7): resolution: {integrity: sha512-1YZNsc+y6cTvWlDHidMBsQZrZfEFjRIo/BZCT906PMdzOyXtSLTgqGdrpcuTDCXyd11Am5uQULtDIcCfnTc8fQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - - '@babel/preset-modules@0.1.6-no-external-plugins': - resolution: {integrity: sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA==} - peerDependencies: - '@babel/core': ^7.0.0-0 || ^8.0.0-0 <8.0.0 - - '@babel/preset-typescript@7.24.7': - resolution: {integrity: sha512-SyXRe3OdWwIwalxDg5UtJnJQO+YPcTfwiIY2B0Xlddh9o7jpWLvv8X1RthIeDOxQ+O1ML5BLPCONToObyVQVuQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/regjsgen@0.8.0': - resolution: {integrity: sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA==} - - '@babel/runtime@7.24.7': - resolution: {integrity: sha512-UwgBRMjJP+xv857DCngvqXI3Iq6J4v0wXmwc6sapg+zyhbwmQX67LUEFrkK5tbyJ30jGuG3ZvWpBiB9LCy1kWw==} - engines: {node: '>=6.9.0'} - - '@babel/template@7.24.7': - resolution: {integrity: sha512-jYqfPrU9JTF0PmPy1tLYHW4Mp4KlgxJD9l2nP9fD6yT/ICi554DmrWBAEYpIelzjHf1msDP3PxJIRt/nFNfBig==} - engines: {node: '>=6.9.0'} - - '@babel/traverse@7.24.7': - resolution: {integrity: sha512-yb65Ed5S/QAcewNPh0nZczy9JdYXkkAbIsEo+P7BE7yO3txAY30Y/oPa3QkQ5It3xVG2kpKMg9MsdxZaO31uKA==} - engines: {node: '>=6.9.0'} - - '@babel/types@7.24.7': - resolution: {integrity: sha512-XEFXSlxiG5td2EJRe8vOmRbaXVgfcBlszKujvVmWIK/UpywWljQCfzAv3RQCGujWQ1RD4YYWEAqDXfuJiy8f5Q==} - engines: {node: '>=6.9.0'} - - '@bcherny/json-schema-ref-parser@10.0.5-fork': - resolution: {integrity: sha512-E/jKbPoca1tfUPj3iSbitDZTGnq6FUFjkH6L8U2oDwSuwK1WhnnVtCG7oFOTg/DDnyoXbQYUiUiGOibHqaGVnw==} - engines: {node: '>= 16'} - - '@bcoe/v8-coverage@0.2.3': - resolution: {integrity: sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==} - - '@braintree/sanitize-url@7.0.2': - resolution: {integrity: sha512-NVf/1YycDMs6+FxS0Tb/W8MjJRDQdXF+tBfDtZ5UZeiRUkTmwKc4vmYCKZTyymfJk1gnMsauvZSX/HiV9jOABw==} - - '@chevrotain/cst-dts-gen@11.0.3': - resolution: {integrity: sha512-BvIKpRLeS/8UbfxXxgC33xOumsacaeCKAjAeLyOn7Pcp95HiRbrpl14S+9vaZLolnbssPIUuiUd8IvgkRyt6NQ==} - - '@chevrotain/gast@11.0.3': - resolution: {integrity: sha512-+qNfcoNk70PyS/uxmj3li5NiECO+2YKZZQMbmjTqRI3Qchu8Hig/Q9vgkHpI3alNjr7M+a2St5pw5w5F6NL5/Q==} - - '@chevrotain/regexp-to-ast@11.0.3': - resolution: {integrity: sha512-1fMHaBZxLFvWI067AVbGJav1eRY7N8DDvYCTwGBiE/ytKBgP8azTdgyrKyWZ9Mfh09eHWb5PgTSO8wi7U824RA==} - - '@chevrotain/types@11.0.3': - resolution: {integrity: sha512-gsiM3G8b58kZC2HaWR50gu6Y1440cHiJ+i3JUvcp/35JchYejb2+5MVeJK0iKThYpAa/P2PYFV4hoi44HD+aHQ==} - - '@chevrotain/utils@11.0.3': - resolution: {integrity: sha512-YslZMgtJUyuMbZ+aKvfF3x1f5liK4mWNxghFRv7jqRR9C3R3fAOGTTKvxXDa2Y1s9zSbcpuO0cAxDYsc9SrXoQ==} - - '@colors/colors@1.5.0': - resolution: {integrity: sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==} - engines: {node: '>=0.1.90'} - - '@cspell/cspell-bundled-dicts@8.8.4': - resolution: {integrity: sha512-k9ZMO2kayQFXB3B45b1xXze3MceAMNy9U+D7NTnWB1i3S0y8LhN53U9JWWgqHGPQaHaLHzizL7/w1aGHTA149Q==} - engines: {node: '>=18'} - - '@cspell/cspell-json-reporter@8.8.4': - resolution: {integrity: sha512-ITpOeNyDHD+4B9QmLJx6YYtrB1saRsrCLluZ34YaICemNLuumVRP1vSjcdoBtefvGugCOn5nPK7igw0r/vdAvA==} - engines: {node: '>=18'} - - '@cspell/cspell-pipe@8.8.4': - resolution: {integrity: sha512-Uis9iIEcv1zOogXiDVSegm9nzo5NRmsRDsW8CteLRg6PhyZ0nnCY1PZIUy3SbGF0vIcb/M+XsdLSh2wOPqTXww==} - engines: {node: '>=18'} - - '@cspell/cspell-resolver@8.8.4': - resolution: {integrity: sha512-eZVw31nSeh6xKl7TzzkZVMTX/mgwhUw40/q1Sqo7CTPurIBg66oelEqKRclX898jzd2/qSK+ZFwBDxvV7QH38A==} - engines: {node: '>=18'} - - '@cspell/cspell-service-bus@8.8.4': - resolution: {integrity: sha512-KtwJ38uPLrm2Q8osmMIAl2NToA/CMyZCxck4msQJnskdo30IPSdA1Rh0w6zXinmh1eVe0zNEVCeJ2+x23HqW+g==} - engines: {node: '>=18'} - - '@cspell/cspell-types@8.8.4': - resolution: {integrity: sha512-ya9Jl4+lghx2eUuZNY6pcbbrnResgEAomvglhdbEGqy+B5MPEqY5Jt45APEmGqHzTNks7oFFaiTIbXYJAFBR7A==} - engines: {node: '>=18'} - - '@cspell/dict-ada@4.0.2': - resolution: {integrity: sha512-0kENOWQeHjUlfyId/aCM/mKXtkEgV0Zu2RhUXCBr4hHo9F9vph+Uu8Ww2b0i5a4ZixoIkudGA+eJvyxrG1jUpA==} - - '@cspell/dict-aws@4.0.2': - resolution: {integrity: sha512-aNGHWSV7dRLTIn8WJemzLoMF62qOaiUQlgnsCwH5fRCD/00gsWCwg106pnbkmK4AyabyxzneOV4dfecDJWkSxw==} - - '@cspell/dict-bash@4.1.3': - resolution: {integrity: sha512-tOdI3QVJDbQSwPjUkOiQFhYcu2eedmX/PtEpVWg0aFps/r6AyjUQINtTgpqMYnYuq8O1QUIQqnpx21aovcgZCw==} - - '@cspell/dict-companies@3.1.2': - resolution: {integrity: sha512-OwR5i1xbYuJX7FtHQySmTy3iJtPV1rZQ3jFCxFGwrA1xRQ4rtRcDQ+sTXBCIAoJHkXa84f9J3zsngOKmMGyS/w==} - - '@cspell/dict-cpp@5.1.9': - resolution: {integrity: sha512-lZmPKn3qfkWQ7tr+yw6JhuhscsyRgRHEOpOd0fhtPt0N154FNsGebGGLW0SOZUuGgW7Nk3lCCwHP85GIemnlqQ==} - - '@cspell/dict-cryptocurrencies@5.0.0': - resolution: {integrity: sha512-Z4ARIw5+bvmShL+4ZrhDzGhnc9znaAGHOEMaB/GURdS/jdoreEDY34wdN0NtdLHDO5KO7GduZnZyqGdRoiSmYA==} - - '@cspell/dict-csharp@4.0.2': - resolution: {integrity: sha512-1JMofhLK+4p4KairF75D3A924m5ERMgd1GvzhwK2geuYgd2ZKuGW72gvXpIV7aGf52E3Uu1kDXxxGAiZ5uVG7g==} - - '@cspell/dict-css@4.0.12': - resolution: {integrity: sha512-vGBgPM92MkHQF5/2jsWcnaahOZ+C6OE/fPvd5ScBP72oFY9tn5GLuomcyO0z8vWCr2e0nUSX1OGimPtcQAlvSw==} - - '@cspell/dict-dart@2.0.3': - resolution: {integrity: sha512-cLkwo1KT5CJY5N5RJVHks2genFkNCl/WLfj+0fFjqNR+tk3tBI1LY7ldr9piCtSFSm4x9pO1x6IV3kRUY1lLiw==} - - '@cspell/dict-data-science@2.0.1': - resolution: {integrity: sha512-xeutkzK0eBe+LFXOFU2kJeAYO6IuFUc1g7iRLr7HeCmlC4rsdGclwGHh61KmttL3+YHQytYStxaRBdGAXWC8Lw==} - - '@cspell/dict-django@4.1.0': - resolution: {integrity: sha512-bKJ4gPyrf+1c78Z0Oc4trEB9MuhcB+Yg+uTTWsvhY6O2ncFYbB/LbEZfqhfmmuK/XJJixXfI1laF2zicyf+l0w==} - - '@cspell/dict-docker@1.1.7': - resolution: {integrity: sha512-XlXHAr822euV36GGsl2J1CkBIVg3fZ6879ZOg5dxTIssuhUOCiV2BuzKZmt6aIFmcdPmR14+9i9Xq+3zuxeX0A==} - - '@cspell/dict-dotnet@5.0.2': - resolution: {integrity: sha512-UD/pO2A2zia/YZJ8Kck/F6YyDSpCMq0YvItpd4YbtDVzPREfTZ48FjZsbYi4Jhzwfvc6o8R56JusAE58P+4sNQ==} - - '@cspell/dict-elixir@4.0.3': - resolution: {integrity: sha512-g+uKLWvOp9IEZvrIvBPTr/oaO6619uH/wyqypqvwpmnmpjcfi8+/hqZH8YNKt15oviK8k4CkINIqNhyndG9d9Q==} - - '@cspell/dict-en-common-misspellings@2.0.1': - resolution: {integrity: sha512-uWaP8UG4uvcPyqaG0FzPKCm5kfmhsiiQ45Fs6b3/AEAqfq7Fj1JW0+S3qRt85FQA9SoU6gUJCz9wkK/Ylh7m5A==} - - '@cspell/dict-en-gb@1.1.33': - resolution: {integrity: sha512-tKSSUf9BJEV+GJQAYGw5e+ouhEe2ZXE620S7BLKe3ZmpnjlNG9JqlnaBhkIMxKnNFkLY2BP/EARzw31AZnOv4g==} - - '@cspell/dict-en_us@4.3.21': - resolution: {integrity: sha512-Bzoo2aS4Pej/MGIFlATpp0wMt9IzVHrhDjdV7FgkAIXbjrOn67ojbTxCgWs8AuCNVfK8lBYGEvs5+ElH1msF8w==} - - '@cspell/dict-filetypes@3.0.4': - resolution: {integrity: sha512-IBi8eIVdykoGgIv5wQhOURi5lmCNJq0we6DvqKoPQJHthXbgsuO1qrHSiUVydMiQl/XvcnUWTMeAlVUlUClnVg==} - - '@cspell/dict-fonts@4.0.0': - resolution: {integrity: sha512-t9V4GeN/m517UZn63kZPUYP3OQg5f0OBLSd3Md5CU3eH1IFogSvTzHHnz4Wqqbv8NNRiBZ3HfdY/pqREZ6br3Q==} - - '@cspell/dict-fsharp@1.0.1': - resolution: {integrity: sha512-23xyPcD+j+NnqOjRHgW3IU7Li912SX9wmeefcY0QxukbAxJ/vAN4rBpjSwwYZeQPAn3fxdfdNZs03fg+UM+4yQ==} - - '@cspell/dict-fullstack@3.1.8': - resolution: {integrity: sha512-YRlZupL7uqMCtEBK0bDP9BrcPnjDhz7m4GBqCc1EYqfXauHbLmDT8ELha7T/E7wsFKniHSjzwDZzhNXo2lusRQ==} - - '@cspell/dict-gaming-terms@1.0.5': - resolution: {integrity: sha512-C3riccZDD3d9caJQQs1+MPfrUrQ+0KHdlj9iUR1QD92FgTOF6UxoBpvHUUZ9YSezslcmpFQK4xQQ5FUGS7uWfw==} - - '@cspell/dict-git@3.0.0': - resolution: {integrity: sha512-simGS/lIiXbEaqJu9E2VPoYW1OTC2xrwPPXNXFMa2uo/50av56qOuaxDrZ5eH1LidFXwoc8HROCHYeKoNrDLSw==} - - '@cspell/dict-golang@6.0.9': - resolution: {integrity: sha512-etDt2WQauyEQDA+qPS5QtkYTb2I9l5IfQftAllVoB1aOrT6bxxpHvMEpJ0Hsn/vezxrCqa/BmtUbRxllIxIuSg==} - - '@cspell/dict-google@1.0.1': - resolution: {integrity: sha512-dQr4M3n95uOhtloNSgB9tYYGXGGEGEykkFyRtfcp5pFuEecYUa0BSgtlGKx9RXVtJtKgR+yFT/a5uQSlt8WjqQ==} - - '@cspell/dict-haskell@4.0.1': - resolution: {integrity: sha512-uRrl65mGrOmwT7NxspB4xKXFUenNC7IikmpRZW8Uzqbqcu7ZRCUfstuVH7T1rmjRgRkjcIjE4PC11luDou4wEQ==} - - '@cspell/dict-html-symbol-entities@4.0.0': - resolution: {integrity: sha512-HGRu+48ErJjoweR5IbcixxETRewrBb0uxQBd6xFGcxbEYCX8CnQFTAmKI5xNaIt2PKaZiJH3ijodGSqbKdsxhw==} - - '@cspell/dict-html@4.0.5': - resolution: {integrity: sha512-p0brEnRybzSSWi8sGbuVEf7jSTDmXPx7XhQUb5bgG6b54uj+Z0Qf0V2n8b/LWwIPJNd1GygaO9l8k3HTCy1h4w==} - - '@cspell/dict-java@5.0.7': - resolution: {integrity: sha512-ejQ9iJXYIq7R09BScU2y5OUGrSqwcD+J5mHFOKbduuQ5s/Eh/duz45KOzykeMLI6KHPVxhBKpUPBWIsfewECpQ==} - - '@cspell/dict-julia@1.0.1': - resolution: {integrity: sha512-4JsCLCRhhLMLiaHpmR7zHFjj1qOauzDI5ZzCNQS31TUMfsOo26jAKDfo0jljFAKgw5M2fEG7sKr8IlPpQAYrmQ==} - - '@cspell/dict-k8s@1.0.5': - resolution: {integrity: sha512-Cj+/ZV4S+MKlwfocSJZqe/2UAd/sY8YtlZjbK25VN1nCnrsKrBjfkX29vclwSj1U9aJg4Z9jw/uMjoaKu9ZrpQ==} - - '@cspell/dict-latex@4.0.0': - resolution: {integrity: sha512-LPY4y6D5oI7D3d+5JMJHK/wxYTQa2lJMSNxps2JtuF8hbAnBQb3igoWEjEbIbRRH1XBM0X8dQqemnjQNCiAtxQ==} - - '@cspell/dict-lorem-ipsum@4.0.0': - resolution: {integrity: sha512-1l3yjfNvMzZPibW8A7mQU4kTozwVZVw0AvFEdy+NcqtbxH+TvbSkNMqROOFWrkD2PjnKG0+Ea0tHI2Pi6Gchnw==} - - '@cspell/dict-lua@4.0.3': - resolution: {integrity: sha512-lDHKjsrrbqPaea13+G9s0rtXjMO06gPXPYRjRYawbNmo4E/e3XFfVzeci3OQDQNDmf2cPOwt9Ef5lu2lDmwfJg==} - - '@cspell/dict-makefile@1.0.0': - resolution: {integrity: sha512-3W9tHPcSbJa6s0bcqWo6VisEDTSN5zOtDbnPabF7rbyjRpNo0uHXHRJQF8gAbFzoTzBBhgkTmrfSiuyQm7vBUQ==} - - '@cspell/dict-monkeyc@1.0.6': - resolution: {integrity: sha512-oO8ZDu/FtZ55aq9Mb67HtaCnsLn59xvhO/t2mLLTHAp667hJFxpp7bCtr2zOrR1NELzFXmKln/2lw/PvxMSvrA==} - - '@cspell/dict-node@5.0.1': - resolution: {integrity: sha512-lax/jGz9h3Dv83v8LHa5G0bf6wm8YVRMzbjJPG/9rp7cAGPtdrga+XANFq+B7bY5+jiSA3zvj10LUFCFjnnCCg==} - - '@cspell/dict-npm@5.0.16': - resolution: {integrity: sha512-ZWPnLAziEcSCvV0c8k9Qj88pfMu+wZwM5Qks87ShsfBgI8uLZ9tGHravA7gmjH1Gd7Bgxy2ulvXtSqIWPh1lew==} - - '@cspell/dict-php@4.0.8': - resolution: {integrity: sha512-TBw3won4MCBQ2wdu7kvgOCR3dY2Tb+LJHgDUpuquy3WnzGiSDJ4AVelrZdE1xu7mjFJUr4q48aB21YT5uQqPZA==} - - '@cspell/dict-powershell@5.0.4': - resolution: {integrity: sha512-eosDShapDgBWN9ULF7+sRNdUtzRnUdsfEdBSchDm8FZA4HOqxUSZy3b/cX/Rdw0Fnw0AKgk0kzgXw7tS6vwJMQ==} - - '@cspell/dict-public-licenses@2.0.7': - resolution: {integrity: sha512-KlBXuGcN3LE7tQi/GEqKiDewWGGuopiAD0zRK1QilOx5Co8XAvs044gk4MNIQftc8r0nHeUI+irJKLGcR36DIQ==} - - '@cspell/dict-python@4.2.1': - resolution: {integrity: sha512-9X2jRgyM0cxBoFQRo4Zc8oacyWnXi+0/bMI5FGibZNZV4y/o9UoFEr6agjU260/cXHTjIdkX233nN7eb7dtyRg==} - - '@cspell/dict-r@2.0.1': - resolution: {integrity: sha512-KCmKaeYMLm2Ip79mlYPc8p+B2uzwBp4KMkzeLd5E6jUlCL93Y5Nvq68wV5fRLDRTf7N1LvofkVFWfDcednFOgA==} - - '@cspell/dict-ruby@5.0.2': - resolution: {integrity: sha512-cIh8KTjpldzFzKGgrqUX4bFyav5lC52hXDKo4LbRuMVncs3zg4hcSf4HtURY+f2AfEZzN6ZKzXafQpThq3dl2g==} - - '@cspell/dict-rust@4.0.4': - resolution: {integrity: sha512-v9/LcZknt/Xq7m1jdTWiQEtmkVVKdE1etAfGL2sgcWpZYewEa459HeWndNA0gfzQrpWX9sYay18mt7pqClJEdA==} - - '@cspell/dict-scala@5.0.2': - resolution: {integrity: sha512-v97ClgidZt99JUm7OjhQugDHmhx4U8fcgunHvD/BsXWjXNj4cTr0m0YjofyZoL44WpICsNuFV9F/sv9OM5HUEw==} - - '@cspell/dict-software-terms@3.4.5': - resolution: {integrity: sha512-CAOeZKvvj27bJTNKzPD7jYg/iK4LPwn3NmolAfoFnxtnCBxA6d20Car6IbPx9g4U6Ik3Vnk4CT3ziXeeBDB2Kw==} - - '@cspell/dict-sql@2.1.3': - resolution: {integrity: sha512-SEyTNKJrjqD6PAzZ9WpdSu6P7wgdNtGV2RV8Kpuw1x6bV+YsSptuClYG+JSdRExBTE6LwIe1bTklejUp3ZP8TQ==} - - '@cspell/dict-svelte@1.0.2': - resolution: {integrity: sha512-rPJmnn/GsDs0btNvrRBciOhngKV98yZ9SHmg8qI6HLS8hZKvcXc0LMsf9LLuMK1TmS2+WQFAan6qeqg6bBxL2Q==} - - '@cspell/dict-swift@2.0.1': - resolution: {integrity: sha512-gxrCMUOndOk7xZFmXNtkCEeroZRnS2VbeaIPiymGRHj5H+qfTAzAKxtv7jJbVA3YYvEzWcVE2oKDP4wcbhIERw==} - - '@cspell/dict-terraform@1.0.0': - resolution: {integrity: sha512-Ak+vy4HP/bOgzf06BAMC30+ZvL9mzv21xLM2XtfnBLTDJGdxlk/nK0U6QT8VfFLqJ0ZZSpyOxGsUebWDCTr/zQ==} - - '@cspell/dict-typescript@3.1.5': - resolution: {integrity: sha512-EkIwwNV/xqEoBPJml2S16RXj65h1kvly8dfDLgXerrKw6puybZdvAHerAph6/uPTYdtLcsPyJYkPt5ISOJYrtw==} - - '@cspell/dict-vue@3.0.0': - resolution: {integrity: sha512-niiEMPWPV9IeRBRzZ0TBZmNnkK3olkOPYxC1Ny2AX4TGlYRajcW0WUtoSHmvvjZNfWLSg2L6ruiBeuPSbjnG6A==} - - '@cspell/dynamic-import@8.8.4': - resolution: {integrity: sha512-tseSxrybznkmsmPaAB4aoHB9wr8Q2fOMIy3dm+yQv+U1xj+JHTN9OnUvy9sKiq0p3DQGWm/VylgSgsYaXrEHKQ==} - engines: {node: '>=18.0'} - - '@cspell/eslint-plugin@8.8.4': - resolution: {integrity: sha512-hZ85qj+ETrckfkJb0RvNZ5iZw5qXbLYhNb71nFPfTVp3/6uBOfx0EfN/ZXbkZg63BLpSx0y2dmb22zgJ2VJMgg==} - engines: {node: '>=18'} - peerDependencies: - eslint: ^7 || ^8 || ^9 - - '@cspell/strong-weak-map@8.8.4': - resolution: {integrity: sha512-gticEJGR6yyGeLjf+mJ0jZotWYRLVQ+J0v1VpsR1nKnXTRJY15BWXgEA/ifbU/+clpyCek79NiCIXCvmP1WT4A==} - engines: {node: '>=18'} - - '@cypress/code-coverage@3.12.39': - resolution: {integrity: sha512-ja7I/GRmkSAW9e3O7pideWcNUEHao0WT6sRyXQEURoxkJUASJssJ7Kb/bd3eMYmkUCiD5CRFqWR5BGF4mWVaUw==} - peerDependencies: - '@babel/core': ^7.0.1 - '@babel/preset-env': ^7.0.0 - babel-loader: ^8.3 || ^9 - cypress: '*' - webpack: ^4 || ^5 - - '@cypress/request@3.0.1': - resolution: {integrity: sha512-TWivJlJi8ZDx2wGOw1dbLuHJKUYX7bWySw377nlnGOW3hP9/MUKIsEdXT/YngWxVdgNCHRBmFlBipE+5/2ZZlQ==} - engines: {node: '>= 6'} - - '@cypress/webpack-preprocessor@6.0.2': - resolution: {integrity: sha512-0+1+4iy4W9PE6R5ywBNKAZoFp8Sf//w3UJ+CKTqkcAjA29b+dtsD0iFT70DsYE0BMqUM1PO7HXFGbXllQ+bRAA==} - peerDependencies: - '@babel/core': ^7.0.1 - '@babel/preset-env': ^7.0.0 - babel-loader: ^8.3 || ^9 - webpack: ^4 || ^5 - - '@cypress/xvfb@1.2.4': - resolution: {integrity: sha512-skbBzPggOVYCbnGgV+0dmBdW/s77ZkAOXIC1knS8NagwDjBrNC1LuXtQJeiN6l+m7lzmHtaoUw/ctJKdqkG57Q==} - - '@discoveryjs/json-ext@0.5.7': - resolution: {integrity: sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw==} - engines: {node: '>=10.0.0'} - - '@docsearch/css@3.6.0': - resolution: {integrity: sha512-+sbxb71sWre+PwDK7X2T8+bhS6clcVMLwBPznX45Qu6opJcgRjAp7gYSDzVFp187J+feSj5dNBN1mJoi6ckkUQ==} - - '@docsearch/js@3.6.0': - resolution: {integrity: sha512-QujhqINEElrkIfKwyyyTfbsfMAYCkylInLYMRqHy7PHc8xTBQCow73tlo/Kc7oIwBrCLf0P3YhjlOeV4v8hevQ==} - - '@docsearch/react@3.6.0': - resolution: {integrity: sha512-HUFut4ztcVNmqy9gp/wxNbC7pTOHhgVVkHVGCACTuLhUKUhKAF9KYHJtMiLUJxEqiFLQiuri1fWF8zqwM/cu1w==} - peerDependencies: - '@types/react': '>= 16.8.0 < 19.0.0' - react: '>= 16.8.0 < 19.0.0' - react-dom: '>= 16.8.0 < 19.0.0' - search-insights: '>= 1 < 3' - peerDependenciesMeta: - '@types/react': - optional: true - react: - optional: true - react-dom: - optional: true - search-insights: - optional: true - - '@es-joy/jsdoccomment@0.43.1': - resolution: {integrity: sha512-I238eDtOolvCuvtxrnqtlBaw0BwdQuYqK7eA6XIonicMdOOOb75mqdIzkGDUbS04+1Di007rgm9snFRNeVrOog==} - engines: {node: '>=16'} - - '@esbuild/aix-ppc64@0.20.2': - resolution: {integrity: sha512-D+EBOJHXdNZcLJRBkhENNG8Wji2kgc9AZ9KiPr1JuZjsNtyHzrsfLRrY0tk2H2aoFu6RANO1y1iPPUCDYWkb5g==} - engines: {node: '>=12'} - cpu: [ppc64] - os: [aix] - - '@esbuild/aix-ppc64@0.21.5': - resolution: {integrity: sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ==} - engines: {node: '>=12'} - cpu: [ppc64] - os: [aix] - - '@esbuild/android-arm64@0.20.2': - resolution: {integrity: sha512-mRzjLacRtl/tWU0SvD8lUEwb61yP9cqQo6noDZP/O8VkwafSYwZ4yWy24kan8jE/IMERpYncRt2dw438LP3Xmg==} - engines: {node: '>=12'} - cpu: [arm64] - os: [android] - - '@esbuild/android-arm64@0.21.5': - resolution: {integrity: sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A==} - engines: {node: '>=12'} - cpu: [arm64] - os: [android] - - '@esbuild/android-arm@0.20.2': - resolution: {integrity: sha512-t98Ra6pw2VaDhqNWO2Oph2LXbz/EJcnLmKLGBJwEwXX/JAN83Fym1rU8l0JUWK6HkIbWONCSSatf4sf2NBRx/w==} - engines: {node: '>=12'} - cpu: [arm] - os: [android] - - '@esbuild/android-arm@0.21.5': - resolution: {integrity: sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg==} - engines: {node: '>=12'} - cpu: [arm] - os: [android] - - '@esbuild/android-x64@0.20.2': - resolution: {integrity: sha512-btzExgV+/lMGDDa194CcUQm53ncxzeBrWJcncOBxuC6ndBkKxnHdFJn86mCIgTELsooUmwUm9FkhSp5HYu00Rg==} - engines: {node: '>=12'} - cpu: [x64] - os: [android] - - '@esbuild/android-x64@0.21.5': - resolution: {integrity: sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA==} - engines: {node: '>=12'} - cpu: [x64] - os: [android] - - '@esbuild/darwin-arm64@0.20.2': - resolution: {integrity: sha512-4J6IRT+10J3aJH3l1yzEg9y3wkTDgDk7TSDFX+wKFiWjqWp/iCfLIYzGyasx9l0SAFPT1HwSCR+0w/h1ES/MjA==} - engines: {node: '>=12'} - cpu: [arm64] - os: [darwin] - - '@esbuild/darwin-arm64@0.21.5': - resolution: {integrity: sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ==} - engines: {node: '>=12'} - cpu: [arm64] - os: [darwin] - - '@esbuild/darwin-x64@0.20.2': - resolution: {integrity: sha512-tBcXp9KNphnNH0dfhv8KYkZhjc+H3XBkF5DKtswJblV7KlT9EI2+jeA8DgBjp908WEuYll6pF+UStUCfEpdysA==} - engines: {node: '>=12'} - cpu: [x64] - os: [darwin] - - '@esbuild/darwin-x64@0.21.5': - resolution: {integrity: sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw==} - engines: {node: '>=12'} - cpu: [x64] - os: [darwin] - - '@esbuild/freebsd-arm64@0.20.2': - resolution: {integrity: sha512-d3qI41G4SuLiCGCFGUrKsSeTXyWG6yem1KcGZVS+3FYlYhtNoNgYrWcvkOoaqMhwXSMrZRl69ArHsGJ9mYdbbw==} - engines: {node: '>=12'} - cpu: [arm64] - os: [freebsd] - - '@esbuild/freebsd-arm64@0.21.5': - resolution: {integrity: sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g==} - engines: {node: '>=12'} - cpu: [arm64] - os: [freebsd] - - '@esbuild/freebsd-x64@0.20.2': - resolution: {integrity: sha512-d+DipyvHRuqEeM5zDivKV1KuXn9WeRX6vqSqIDgwIfPQtwMP4jaDsQsDncjTDDsExT4lR/91OLjRo8bmC1e+Cw==} - engines: {node: '>=12'} - cpu: [x64] - os: [freebsd] - - '@esbuild/freebsd-x64@0.21.5': - resolution: {integrity: sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ==} - engines: {node: '>=12'} - cpu: [x64] - os: [freebsd] - - '@esbuild/linux-arm64@0.20.2': - resolution: {integrity: sha512-9pb6rBjGvTFNira2FLIWqDk/uaf42sSyLE8j1rnUpuzsODBq7FvpwHYZxQ/It/8b+QOS1RYfqgGFNLRI+qlq2A==} - engines: {node: '>=12'} - cpu: [arm64] - os: [linux] - - '@esbuild/linux-arm64@0.21.5': - resolution: {integrity: sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q==} - engines: {node: '>=12'} - cpu: [arm64] - os: [linux] - - '@esbuild/linux-arm@0.20.2': - resolution: {integrity: sha512-VhLPeR8HTMPccbuWWcEUD1Az68TqaTYyj6nfE4QByZIQEQVWBB8vup8PpR7y1QHL3CpcF6xd5WVBU/+SBEvGTg==} - engines: {node: '>=12'} - cpu: [arm] - os: [linux] - - '@esbuild/linux-arm@0.21.5': - resolution: {integrity: sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA==} - engines: {node: '>=12'} - cpu: [arm] - os: [linux] - - '@esbuild/linux-ia32@0.20.2': - resolution: {integrity: sha512-o10utieEkNPFDZFQm9CoP7Tvb33UutoJqg3qKf1PWVeeJhJw0Q347PxMvBgVVFgouYLGIhFYG0UGdBumROyiig==} - engines: {node: '>=12'} - cpu: [ia32] - os: [linux] - - '@esbuild/linux-ia32@0.21.5': - resolution: {integrity: sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg==} - engines: {node: '>=12'} - cpu: [ia32] - os: [linux] - - '@esbuild/linux-loong64@0.20.2': - resolution: {integrity: sha512-PR7sp6R/UC4CFVomVINKJ80pMFlfDfMQMYynX7t1tNTeivQ6XdX5r2XovMmha/VjR1YN/HgHWsVcTRIMkymrgQ==} - engines: {node: '>=12'} - cpu: [loong64] - os: [linux] - - '@esbuild/linux-loong64@0.21.5': - resolution: {integrity: sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg==} - engines: {node: '>=12'} - cpu: [loong64] - os: [linux] - - '@esbuild/linux-mips64el@0.20.2': - resolution: {integrity: sha512-4BlTqeutE/KnOiTG5Y6Sb/Hw6hsBOZapOVF6njAESHInhlQAghVVZL1ZpIctBOoTFbQyGW+LsVYZ8lSSB3wkjA==} - engines: {node: '>=12'} - cpu: [mips64el] - os: [linux] - - '@esbuild/linux-mips64el@0.21.5': - resolution: {integrity: sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg==} - engines: {node: '>=12'} - cpu: [mips64el] - os: [linux] - - '@esbuild/linux-ppc64@0.20.2': - resolution: {integrity: sha512-rD3KsaDprDcfajSKdn25ooz5J5/fWBylaaXkuotBDGnMnDP1Uv5DLAN/45qfnf3JDYyJv/ytGHQaziHUdyzaAg==} - engines: {node: '>=12'} - cpu: [ppc64] - os: [linux] - - '@esbuild/linux-ppc64@0.21.5': - resolution: {integrity: sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w==} - engines: {node: '>=12'} - cpu: [ppc64] - os: [linux] - - '@esbuild/linux-riscv64@0.20.2': - resolution: {integrity: sha512-snwmBKacKmwTMmhLlz/3aH1Q9T8v45bKYGE3j26TsaOVtjIag4wLfWSiZykXzXuE1kbCE+zJRmwp+ZbIHinnVg==} - engines: {node: '>=12'} - cpu: [riscv64] - os: [linux] - - '@esbuild/linux-riscv64@0.21.5': - resolution: {integrity: sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA==} - engines: {node: '>=12'} - cpu: [riscv64] - os: [linux] - - '@esbuild/linux-s390x@0.20.2': - resolution: {integrity: sha512-wcWISOobRWNm3cezm5HOZcYz1sKoHLd8VL1dl309DiixxVFoFe/o8HnwuIwn6sXre88Nwj+VwZUvJf4AFxkyrQ==} - engines: {node: '>=12'} - cpu: [s390x] - os: [linux] - - '@esbuild/linux-s390x@0.21.5': - resolution: {integrity: sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A==} - engines: {node: '>=12'} - cpu: [s390x] - os: [linux] - - '@esbuild/linux-x64@0.20.2': - resolution: {integrity: sha512-1MdwI6OOTsfQfek8sLwgyjOXAu+wKhLEoaOLTjbijk6E2WONYpH9ZU2mNtR+lZ2B4uwr+usqGuVfFT9tMtGvGw==} - engines: {node: '>=12'} - cpu: [x64] - os: [linux] - - '@esbuild/linux-x64@0.21.5': - resolution: {integrity: sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ==} - engines: {node: '>=12'} - cpu: [x64] - os: [linux] - - '@esbuild/netbsd-x64@0.20.2': - resolution: {integrity: sha512-K8/DhBxcVQkzYc43yJXDSyjlFeHQJBiowJ0uVL6Tor3jGQfSGHNNJcWxNbOI8v5k82prYqzPuwkzHt3J1T1iZQ==} - engines: {node: '>=12'} - cpu: [x64] - os: [netbsd] - - '@esbuild/netbsd-x64@0.21.5': - resolution: {integrity: sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg==} - engines: {node: '>=12'} - cpu: [x64] - os: [netbsd] - - '@esbuild/openbsd-x64@0.20.2': - resolution: {integrity: sha512-eMpKlV0SThJmmJgiVyN9jTPJ2VBPquf6Kt/nAoo6DgHAoN57K15ZghiHaMvqjCye/uU4X5u3YSMgVBI1h3vKrQ==} - engines: {node: '>=12'} - cpu: [x64] - os: [openbsd] - - '@esbuild/openbsd-x64@0.21.5': - resolution: {integrity: sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow==} - engines: {node: '>=12'} - cpu: [x64] - os: [openbsd] - - '@esbuild/sunos-x64@0.20.2': - resolution: {integrity: sha512-2UyFtRC6cXLyejf/YEld4Hajo7UHILetzE1vsRcGL3earZEW77JxrFjH4Ez2qaTiEfMgAXxfAZCm1fvM/G/o8w==} - engines: {node: '>=12'} - cpu: [x64] - os: [sunos] - - '@esbuild/sunos-x64@0.21.5': - resolution: {integrity: sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg==} - engines: {node: '>=12'} - cpu: [x64] - os: [sunos] - - '@esbuild/win32-arm64@0.20.2': - resolution: {integrity: sha512-GRibxoawM9ZCnDxnP3usoUDO9vUkpAxIIZ6GQI+IlVmr5kP3zUq+l17xELTHMWTWzjxa2guPNyrpq1GWmPvcGQ==} - engines: {node: '>=12'} - cpu: [arm64] - os: [win32] - - '@esbuild/win32-arm64@0.21.5': - resolution: {integrity: sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A==} - engines: {node: '>=12'} - cpu: [arm64] - os: [win32] - - '@esbuild/win32-ia32@0.20.2': - resolution: {integrity: sha512-HfLOfn9YWmkSKRQqovpnITazdtquEW8/SoHW7pWpuEeguaZI4QnCRW6b+oZTztdBnZOS2hqJ6im/D5cPzBTTlQ==} - engines: {node: '>=12'} - cpu: [ia32] - os: [win32] - - '@esbuild/win32-ia32@0.21.5': - resolution: {integrity: sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA==} - engines: {node: '>=12'} - cpu: [ia32] - os: [win32] - - '@esbuild/win32-x64@0.20.2': - resolution: {integrity: sha512-N49X4lJX27+l9jbLKSqZ6bKNjzQvHaT8IIFUy+YIqmXQdjYCToGWwOItDrfby14c78aDd5NHQl29xingXfCdLQ==} - engines: {node: '>=12'} - cpu: [x64] - os: [win32] - - '@esbuild/win32-x64@0.21.5': - resolution: {integrity: sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw==} - engines: {node: '>=12'} - cpu: [x64] - os: [win32] - - '@eslint-community/eslint-utils@4.4.0': - resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - peerDependencies: - eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 - - '@eslint-community/regexpp@4.10.1': - resolution: {integrity: sha512-Zm2NGpWELsQAD1xsJzGQpYfvICSsFkEpU0jxBjfdC6uNEWXcHnfs9hScFWtXVDVl+rBQJGrl4g1vcKIejpH9dA==} - engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} - - '@eslint/eslintrc@2.1.4': - resolution: {integrity: sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - - '@eslint/js@8.57.0': - resolution: {integrity: sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - - '@fastify/ajv-compiler@1.1.0': - resolution: {integrity: sha512-gvCOUNpXsWrIQ3A4aXCLIdblL0tDq42BG/2Xw7oxbil9h11uow10ztS2GuFazNBfjbrsZ5nl+nPl5jDSjj5TSg==} - - '@fastify/error@2.0.0': - resolution: {integrity: sha512-wI3fpfDT0t7p8E6dA2eTECzzOd+bZsZCJ2Hcv+Onn2b7ZwK3RwD27uW2QDaMtQhAfWQQP+WNK7nKf0twLsBf9w==} - - '@floating-ui/core@1.6.2': - resolution: {integrity: sha512-+2XpQV9LLZeanU4ZevzRnGFg2neDeKHgFLjP6YLW+tly0IvrhqT4u8enLGjLH3qeh85g19xY5rsAusfwTdn5lg==} - - '@floating-ui/dom@1.6.5': - resolution: {integrity: sha512-Nsdud2X65Dz+1RHjAIP0t8z5e2ff/IRbei6BqFrl1urT8sDVzM1HMQ+R0XcU5ceRfyO3I6ayeqIfh+6Wb8LGTw==} - - '@floating-ui/utils@0.2.2': - resolution: {integrity: sha512-J4yDIIthosAsRZ5CPYP/jQvUAQtlZTTD/4suA08/FEnlxqW3sKS9iAhgsa9VYLZ6vDHn/ixJgIqRQPotoBjxIw==} - - '@floating-ui/vue@0.2.1': - resolution: {integrity: sha512-HE+EIeakID7wI6vUwF0yMpaW48bNaPj8QtnQaRMkaQFhQReVBA4bY6fmJ3J7X+dqVgDbMhyfCG0fBJfdQMdWxQ==} - peerDependencies: - '@vue/composition-api': ^1.0.0-rc.1 - vue: ^2.0.0 || >=3.0.0 - peerDependenciesMeta: - '@vue/composition-api': - optional: true - - '@hapi/hoek@9.3.0': - resolution: {integrity: sha512-/c6rf4UJlmHlC9b5BaNvzAcFv7HZ2QHaV0D4/HNlBdvFnvQq8RI4kYdhyPCl7Xj+oWvTWQ8ujhqS53LIgAe6KQ==} - - '@hapi/topo@5.1.0': - resolution: {integrity: sha512-foQZKJig7Ob0BMAYBfcJk8d77QtOe7Wo4ox7ff1lQYoNNAb6jwcY1ncdoy2e9wQZzvNy7ODZCYJkK8kzmcAnAg==} - - '@headlessui-float/vue@0.11.4': - resolution: {integrity: sha512-hNGQTT3trknSB78ZI3usvnJACLyEUmacvk5Q8JQizJ8k+8GYLvhKklGIhJVO1E3litEzW6yyjPgfg6aEJ+1p6g==} - peerDependencies: - vue: ^3.0.0 - - '@headlessui/tailwindcss@0.2.1': - resolution: {integrity: sha512-2+5+NZ+RzMyrVeCZOxdbvkUSssSxGvcUxphkIfSVLpRiKsj+/63T2TOL9dBYMXVfj/CGr6hMxSRInzXv6YY7sA==} - engines: {node: '>=10'} - peerDependencies: - tailwindcss: ^3.0 - - '@headlessui/vue@1.7.22': - resolution: {integrity: sha512-Hoffjoolq1rY+LOfJ+B/OvkhuBXXBFgd8oBlN+l1TApma2dB0En0ucFZrwQtb33SmcCqd32EQd0y07oziXWNYg==} - engines: {node: '>=10'} - peerDependencies: - vue: ^3.2.0 - - '@humanwhocodes/config-array@0.11.14': - resolution: {integrity: sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==} - engines: {node: '>=10.10.0'} - deprecated: Use @eslint/config-array instead - - '@humanwhocodes/module-importer@1.0.1': - resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==} - engines: {node: '>=12.22'} - - '@humanwhocodes/object-schema@2.0.3': - resolution: {integrity: sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==} - deprecated: Use @eslint/object-schema instead - - '@iconify-json/carbon@1.1.35': - resolution: {integrity: sha512-zKqioWceqFRiLJvxpjcCpVP3j2YcokYshlbwSAHBhOih5XNUymUS3hm1kpV4KljMI1xWH96UcozHaaf6x4YzdA==} - - '@iconify/types@2.0.0': - resolution: {integrity: sha512-+wluvCrRhXrhyOmRDJ3q8mux9JkKy5SJ/v8ol2tu4FVjyYvtEzkc/3pK15ET6RKg4b4w4BmTk1+gsCUhf21Ykg==} - - '@iconify/utils@2.1.24': - resolution: {integrity: sha512-H8r2KpL5uKyrkb3z9/3HD/22JcxqW3BJyjEWZhX2T7DehnYVZthEap1cNsEl/UtCDC3TlpNmwiPX8wg3y8E4dg==} - - '@isaacs/cliui@8.0.2': - resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==} - engines: {node: '>=12'} - - '@istanbuljs/load-nyc-config@1.1.0': - resolution: {integrity: sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==} - engines: {node: '>=8'} - - '@istanbuljs/schema@0.1.3': - resolution: {integrity: sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==} - engines: {node: '>=8'} - - '@jest/console@29.7.0': - resolution: {integrity: sha512-5Ni4CU7XHQi32IJ398EEP4RrB8eV09sXP2ROqD4bksHrnTree52PsxvX8tpL8LvTZ3pFzXyPbNQReSN41CAhOg==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - - '@jest/core@29.7.0': - resolution: {integrity: sha512-n7aeXWKMnGtDA48y8TLWJPJmLmmZ642Ceo78cYWEpiD7FzDgmNDV/GCVRorPABdXLJZ/9wzzgZAlHjXjxDHGsg==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - peerDependencies: - node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 - peerDependenciesMeta: - node-notifier: - optional: true - - '@jest/environment@29.7.0': - resolution: {integrity: sha512-aQIfHDq33ExsN4jP1NWGXhxgQ/wixs60gDiKO+XVMd8Mn0NWPWgc34ZQDTb2jKaUWQ7MuwoitXAsN2XVXNMpAw==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - - '@jest/expect-utils@29.7.0': - resolution: {integrity: sha512-GlsNBWiFQFCVi9QVSx7f5AgMeLxe9YCCs5PuP2O2LdjDAA8Jh9eX7lA1Jq/xdXw3Wb3hyvlFNfZIfcRetSzYcA==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - - '@jest/expect@29.7.0': - resolution: {integrity: sha512-8uMeAMycttpva3P1lBHB8VciS9V0XAr3GymPpipdyQXbBcuhkLQOSe8E/p92RyAdToS6ZD1tFkX+CkhoECE0dQ==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - - '@jest/fake-timers@29.7.0': - resolution: {integrity: sha512-q4DH1Ha4TTFPdxLsqDXK1d3+ioSL7yL5oCMJZgDYm6i+6CygW5E5xVr/D1HdsGxjt1ZWSfUAs9OxSB/BNelWrQ==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - - '@jest/globals@29.7.0': - resolution: {integrity: sha512-mpiz3dutLbkW2MNFubUGUEVLkTGiqW6yLVTA+JbP6fI6J5iL9Y0Nlg8k95pcF8ctKwCS7WVxteBs29hhfAotzQ==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - - '@jest/reporters@29.7.0': - resolution: {integrity: sha512-DApq0KJbJOEzAFYjHADNNxAE3KbhxQB1y5Kplb5Waqw6zVbuWatSnMjE5gs8FUgEPmNsnZA3NCWl9NG0ia04Pg==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - peerDependencies: - node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 - peerDependenciesMeta: - node-notifier: - optional: true - - '@jest/schemas@29.6.3': - resolution: {integrity: sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - - '@jest/source-map@29.6.3': - resolution: {integrity: sha512-MHjT95QuipcPrpLM+8JMSzFx6eHp5Bm+4XeFDJlwsvVBjmKNiIAvasGK2fxz2WbGRlnvqehFbh07MMa7n3YJnw==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - - '@jest/test-result@29.7.0': - resolution: {integrity: sha512-Fdx+tv6x1zlkJPcWXmMDAG2HBnaR9XPSd5aDWQVsfrZmLVT3lU1cwyxLgRmXR9yrq4NBoEm9BMsfgFzTQAbJYA==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - - '@jest/test-sequencer@29.7.0': - resolution: {integrity: sha512-GQwJ5WZVrKnOJuiYiAF52UNUJXgTZx1NHjFSEB0qEMmSZKAkdMoIzw/Cj6x6NF4AvV23AUqDpFzQkN/eYCYTxw==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - - '@jest/transform@29.7.0': - resolution: {integrity: sha512-ok/BTPFzFKVMwO5eOHRrvnBVHdRy9IrsrW1GpMaQ9MCnilNLXQKmAX8s1YXDFaai9xJpac2ySzV0YeRRECr2Vw==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - - '@jest/types@29.6.3': - resolution: {integrity: sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - - '@jridgewell/gen-mapping@0.3.5': - resolution: {integrity: sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==} - engines: {node: '>=6.0.0'} - - '@jridgewell/resolve-uri@3.1.2': - resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==} - engines: {node: '>=6.0.0'} - - '@jridgewell/set-array@1.2.1': - resolution: {integrity: sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==} - engines: {node: '>=6.0.0'} - - '@jridgewell/source-map@0.3.6': - resolution: {integrity: sha512-1ZJTZebgqllO79ue2bm3rIGud/bOe0pP5BjSRCRxxYkEZS8STV7zN84UBbiYu7jy+eCKSnVIUgoWWE/tt+shMQ==} - - '@jridgewell/sourcemap-codec@1.4.15': - resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==} - - '@jridgewell/trace-mapping@0.3.25': - resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==} - - '@jsdevtools/ono@7.1.3': - resolution: {integrity: sha512-4JQNk+3mVzK3xh2rqd6RB4J46qUR19azEHBneZyTZM+c456qOrbbM/5xcR8huNCCcbVt7+UmizG6GuUvPvKUYg==} - - '@leichtgewicht/ip-codec@2.0.5': - resolution: {integrity: sha512-Vo+PSpZG2/fmgmiNzYK9qWRh8h/CHrwD0mo1h1DzL4yzHNSfWYujGTYsWGreD000gcgmZ7K4Ys6Tx9TxtsKdDw==} - - '@mdi/font@7.4.47': - resolution: {integrity: sha512-43MtGpd585SNzHZPcYowu/84Vz2a2g31TvPMTm9uTiCSWzaheQySUcSyUH/46fPnuPQWof2yd0pGBtzee/IQWw==} - - '@microsoft/tsdoc-config@0.16.2': - resolution: {integrity: sha512-OGiIzzoBLgWWR0UdRJX98oYO+XKGf7tiK4Zk6tQ/E4IJqGCe7dvkTvgDZV5cFJUzLGDOjeAXrnZoA6QkVySuxw==} - - '@microsoft/tsdoc@0.14.2': - resolution: {integrity: sha512-9b8mPpKrfeGRuhFH5iO1iwCLeIIsV6+H1sRfxbkoGXIyQE2BTsPd9zqSqQJ+pv5sJ/hT5M1zvOFL02MnEezFug==} - - '@nodelib/fs.scandir@2.1.5': - resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} - engines: {node: '>= 8'} - - '@nodelib/fs.stat@2.0.5': - resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} - engines: {node: '>= 8'} - - '@nodelib/fs.walk@1.2.8': - resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} - engines: {node: '>= 8'} - - '@pkgjs/parseargs@0.11.0': - resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==} - engines: {node: '>=14'} - - '@pkgr/core@0.1.1': - resolution: {integrity: sha512-cq8o4cWH0ibXh9VGi5P20Tu9XF/0fFXl9EUinr9QfTM7a7p0oTA4iJRCQWppXR1Pg8dSM0UCItCkPwsk9qWWYA==} - engines: {node: ^12.20.0 || ^14.18.0 || >=16.0.0} - - '@polka/url@1.0.0-next.25': - resolution: {integrity: sha512-j7P6Rgr3mmtdkeDGTe0E/aYyWEWVtc5yFXtHCRHs28/jptDEWfaVOc5T7cblqy1XKPPfCxJc/8DwQ5YgLOZOVQ==} - - '@rollup/plugin-babel@5.3.1': - resolution: {integrity: sha512-WFfdLWU/xVWKeRQnKmIAQULUI7Il0gZnBIH/ZFO069wYIfPu+8zrfp/KMW0atmELoRDq8FbiP3VCss9MhCut7Q==} - engines: {node: '>= 10.0.0'} - peerDependencies: - '@babel/core': ^7.0.0 - '@types/babel__core': ^7.1.9 - rollup: ^1.20.0||^2.0.0 - peerDependenciesMeta: - '@types/babel__core': - optional: true - - '@rollup/plugin-node-resolve@15.2.3': - resolution: {integrity: sha512-j/lym8nf5E21LwBT4Df1VD6hRO2L2iwUeUmP7litikRsVp1H6NWx20NEp0Y7su+7XGc476GnXXc4kFeZNGmaSQ==} - engines: {node: '>=14.0.0'} - peerDependencies: - rollup: ^2.78.0||^3.0.0||^4.0.0 - peerDependenciesMeta: - rollup: - optional: true - - '@rollup/plugin-replace@2.4.2': - resolution: {integrity: sha512-IGcu+cydlUMZ5En85jxHH4qj2hta/11BHq95iHEyb2sbgiN0eCdzvUcHw5gt9pBL5lTi4JDYJ1acCoMGpTvEZg==} - peerDependencies: - rollup: ^1.20.0 || ^2.0.0 - - '@rollup/plugin-terser@0.4.4': - resolution: {integrity: sha512-XHeJC5Bgvs8LfukDwWZp7yeqin6ns8RTl2B9avbejt6tZqsqvVoWI7ZTQrcNsfKEDWBTnTxM8nMDkO2IFFbd0A==} - engines: {node: '>=14.0.0'} - peerDependencies: - rollup: ^2.0.0||^3.0.0||^4.0.0 - peerDependenciesMeta: - rollup: - optional: true - - '@rollup/plugin-typescript@11.1.6': - resolution: {integrity: sha512-R92yOmIACgYdJ7dJ97p4K69I8gg6IEHt8M7dUBxN3W6nrO8uUxX5ixl0yU/N3aZTi8WhPuICvOHXQvF6FaykAA==} - engines: {node: '>=14.0.0'} - peerDependencies: - rollup: ^2.14.0||^3.0.0||^4.0.0 - tslib: '*' - typescript: '>=3.7.0' - peerDependenciesMeta: - rollup: - optional: true - tslib: - optional: true - - '@rollup/pluginutils@3.1.0': - resolution: {integrity: sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg==} - engines: {node: '>= 8.0.0'} - peerDependencies: - rollup: ^1.20.0||^2.0.0 - - '@rollup/pluginutils@5.1.0': - resolution: {integrity: sha512-XTIWOPPcpvyKI6L1NHo0lFlCyznUEyPmPY1mc3KpPVDYulHSTvyeLNVW00QTLIAFNhR3kYnJTQHeGqU4M3n09g==} - engines: {node: '>=14.0.0'} - peerDependencies: - rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0 - peerDependenciesMeta: - rollup: - optional: true - - '@rollup/rollup-android-arm-eabi@4.18.0': - resolution: {integrity: sha512-Tya6xypR10giZV1XzxmH5wr25VcZSncG0pZIjfePT0OVBvqNEurzValetGNarVrGiq66EBVAFn15iYX4w6FKgQ==} - cpu: [arm] - os: [android] - - '@rollup/rollup-android-arm64@4.18.0': - resolution: {integrity: sha512-avCea0RAP03lTsDhEyfy+hpfr85KfyTctMADqHVhLAF3MlIkq83CP8UfAHUssgXTYd+6er6PaAhx/QGv4L1EiA==} - cpu: [arm64] - os: [android] - - '@rollup/rollup-darwin-arm64@4.18.0': - resolution: {integrity: sha512-IWfdwU7KDSm07Ty0PuA/W2JYoZ4iTj3TUQjkVsO/6U+4I1jN5lcR71ZEvRh52sDOERdnNhhHU57UITXz5jC1/w==} - cpu: [arm64] - os: [darwin] - - '@rollup/rollup-darwin-x64@4.18.0': - resolution: {integrity: sha512-n2LMsUz7Ynu7DoQrSQkBf8iNrjOGyPLrdSg802vk6XT3FtsgX6JbE8IHRvposskFm9SNxzkLYGSq9QdpLYpRNA==} - cpu: [x64] - os: [darwin] - - '@rollup/rollup-linux-arm-gnueabihf@4.18.0': - resolution: {integrity: sha512-C/zbRYRXFjWvz9Z4haRxcTdnkPt1BtCkz+7RtBSuNmKzMzp3ZxdM28Mpccn6pt28/UWUCTXa+b0Mx1k3g6NOMA==} - cpu: [arm] - os: [linux] - - '@rollup/rollup-linux-arm-musleabihf@4.18.0': - resolution: {integrity: sha512-l3m9ewPgjQSXrUMHg93vt0hYCGnrMOcUpTz6FLtbwljo2HluS4zTXFy2571YQbisTnfTKPZ01u/ukJdQTLGh9A==} - cpu: [arm] - os: [linux] - - '@rollup/rollup-linux-arm64-gnu@4.18.0': - resolution: {integrity: sha512-rJ5D47d8WD7J+7STKdCUAgmQk49xuFrRi9pZkWoRD1UeSMakbcepWXPF8ycChBoAqs1pb2wzvbY6Q33WmN2ftw==} - cpu: [arm64] - os: [linux] - - '@rollup/rollup-linux-arm64-musl@4.18.0': - resolution: {integrity: sha512-be6Yx37b24ZwxQ+wOQXXLZqpq4jTckJhtGlWGZs68TgdKXJgw54lUUoFYrg6Zs/kjzAQwEwYbp8JxZVzZLRepQ==} - cpu: [arm64] - os: [linux] - - '@rollup/rollup-linux-powerpc64le-gnu@4.18.0': - resolution: {integrity: sha512-hNVMQK+qrA9Todu9+wqrXOHxFiD5YmdEi3paj6vP02Kx1hjd2LLYR2eaN7DsEshg09+9uzWi2W18MJDlG0cxJA==} - cpu: [ppc64] - os: [linux] - - '@rollup/rollup-linux-riscv64-gnu@4.18.0': - resolution: {integrity: sha512-ROCM7i+m1NfdrsmvwSzoxp9HFtmKGHEqu5NNDiZWQtXLA8S5HBCkVvKAxJ8U+CVctHwV2Gb5VUaK7UAkzhDjlg==} - cpu: [riscv64] - os: [linux] - - '@rollup/rollup-linux-s390x-gnu@4.18.0': - resolution: {integrity: sha512-0UyyRHyDN42QL+NbqevXIIUnKA47A+45WyasO+y2bGJ1mhQrfrtXUpTxCOrfxCR4esV3/RLYyucGVPiUsO8xjg==} - cpu: [s390x] - os: [linux] - - '@rollup/rollup-linux-x64-gnu@4.18.0': - resolution: {integrity: sha512-xuglR2rBVHA5UsI8h8UbX4VJ470PtGCf5Vpswh7p2ukaqBGFTnsfzxUBetoWBWymHMxbIG0Cmx7Y9qDZzr648w==} - cpu: [x64] - os: [linux] - - '@rollup/rollup-linux-x64-musl@4.18.0': - resolution: {integrity: sha512-LKaqQL9osY/ir2geuLVvRRs+utWUNilzdE90TpyoX0eNqPzWjRm14oMEE+YLve4k/NAqCdPkGYDaDF5Sw+xBfg==} - cpu: [x64] - os: [linux] - - '@rollup/rollup-win32-arm64-msvc@4.18.0': - resolution: {integrity: sha512-7J6TkZQFGo9qBKH0pk2cEVSRhJbL6MtfWxth7Y5YmZs57Pi+4x6c2dStAUvaQkHQLnEQv1jzBUW43GvZW8OFqA==} - cpu: [arm64] - os: [win32] - - '@rollup/rollup-win32-ia32-msvc@4.18.0': - resolution: {integrity: sha512-Txjh+IxBPbkUB9+SXZMpv+b/vnTEtFyfWZgJ6iyCmt2tdx0OF5WhFowLmnh8ENGNpfUlUZkdI//4IEmhwPieNg==} - cpu: [ia32] - os: [win32] - - '@rollup/rollup-win32-x64-msvc@4.18.0': - resolution: {integrity: sha512-UOo5FdvOL0+eIVTgS4tIdbW+TtnBLWg1YBCcU2KWM7nuNwRz9bksDX1bekJJCpu25N1DVWaCwnT39dVQxzqS8g==} - cpu: [x64] - os: [win32] - - '@shikijs/core@1.6.4': - resolution: {integrity: sha512-WTU9rzZae1p2v6LOxMf6LhtmZOkIHYYW160IuahUyJy7YXPPjyWZLR1ag+SgD22ZMxZtz1gfU6Tccc8t0Il/XA==} - - '@shikijs/transformers@1.6.4': - resolution: {integrity: sha512-NqDt7gUg3ayVBnsipT/KoL1pqsVbsvT/2cB0pb5SG2q72qjAv9Lb5OP99pL//BMmI+sMTo+TeARntklyBu4mZQ==} - - '@sideway/address@4.1.5': - resolution: {integrity: sha512-IqO/DUQHUkPeixNQ8n0JA6102hT9CmaljNTPmQ1u8MEhBo/R4Q8eKLN/vGZxuebwOroDB4cbpjheD4+/sKFK4Q==} - - '@sideway/formula@3.0.1': - resolution: {integrity: sha512-/poHZJJVjx3L+zVD6g9KgHfYnb443oi7wLu/XKojDviHy6HOEOA6z1Trk5aR1dGcmPenJEgb2sK2I80LeS3MIg==} - - '@sideway/pinpoint@2.0.0': - resolution: {integrity: sha512-RNiOoTPkptFtSVzQevY/yWtZwf/RxyVnPy/OcA9HBM3MlGDnBEYL5B41H0MTn0Uec8Hi+2qUtTfG2WWZBmMejQ==} - - '@sinclair/typebox@0.27.8': - resolution: {integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==} - - '@sindresorhus/is@4.6.0': - resolution: {integrity: sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw==} - engines: {node: '>=10'} - - '@sindresorhus/merge-streams@2.3.0': - resolution: {integrity: sha512-LtoMMhxAlorcGhmFYI+LhPgbPZCkgP6ra1YL604EeF6U98pLlQ3iWIGMdWSC+vWmPBWBNgmDBAhnAobLROJmwg==} - engines: {node: '>=18'} - - '@sinonjs/commons@3.0.1': - resolution: {integrity: sha512-K3mCHKQ9sVh8o1C9cxkwxaOmXoAMlDxC1mYyHrjqOWEcBjYr76t96zL2zlj5dUGZ3HSw240X1qgH3Mjf1yJWpQ==} - - '@sinonjs/fake-timers@10.3.0': - resolution: {integrity: sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA==} - - '@surma/rollup-plugin-off-main-thread@2.2.3': - resolution: {integrity: sha512-lR8q/9W7hZpMWweNiAKU7NQerBnzQQLvi8qnTDU/fxItPhtZVMbPV3lbCwjhIlNBe9Bbr5V+KHshvWmVSG9cxQ==} - - '@szmarczak/http-timer@4.0.6': - resolution: {integrity: sha512-4BAffykYOgO+5nzBWYwE3W90sBgLJoUPRWWcL8wlyiM8IB8ipJz3UMJ9KXQd1RKQXpKp8Tutn80HZtWsu2u76w==} - engines: {node: '>=10'} - - '@tanstack/virtual-core@3.5.1': - resolution: {integrity: sha512-046+AUSiDru/V9pajE1du8WayvBKeCvJ2NmKPy/mR8/SbKKrqmSbj7LJBfXE+nSq4f5TBXvnCzu0kcYebI9WdQ==} - - '@tanstack/vue-virtual@3.5.1': - resolution: {integrity: sha512-6mc4HtDPieDVKD6GqzHiJkdzuqRNdQZuoIbkwE6af939WV+w62YmSF69jN+BOqClqh/ObiW+X1VOQx1Pftrx1A==} - peerDependencies: - vue: ^2.7.0 || ^3.0.0 - - '@tootallnate/once@2.0.0': - resolution: {integrity: sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==} - engines: {node: '>= 10'} - - '@types/assert@1.5.10': - resolution: {integrity: sha512-qEO+AUgYab7GVbeDDgUNCU3o0aZUoIMpNAe+w5LDbRxfxQX7vQAdDgwj1AroX+i8KaV56FWg0srXlSZROnsrIQ==} - - '@types/babel__core@7.20.5': - resolution: {integrity: sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==} - - '@types/babel__generator@7.6.8': - resolution: {integrity: sha512-ASsj+tpEDsEiFr1arWrlN6V3mdfjRMZt6LtK/Vp/kreFLnr5QH5+DhvD5nINYZXzwJvXeGq+05iUXcAzVrqWtw==} - - '@types/babel__template@7.4.4': - resolution: {integrity: sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==} - - '@types/babel__traverse@7.20.6': - resolution: {integrity: sha512-r1bzfrm0tomOI8g1SzvCaQHo6Lcv6zu0EA+W2kHrt8dyrHQxGzBBL4kdkzIS+jBMV+EYcMAEAqXqYaLJq5rOZg==} - - '@types/body-parser@1.19.5': - resolution: {integrity: sha512-fB3Zu92ucau0iQ0JMCFQE7b/dv8Ot07NI3KaZIkIUNXq82k4eBAqUaneXfleGY9JWskeS9y+u0nXMyspcuQrCg==} - - '@types/bonjour@3.5.13': - resolution: {integrity: sha512-z9fJ5Im06zvUL548KvYNecEVlA7cVDkGUi6kZusb04mpyEFKCIZJvloCcmpmLaIahDpOQGHaHmG6imtPMmPXGQ==} - - '@types/braces@3.0.4': - resolution: {integrity: sha512-0WR3b8eaISjEW7RpZnclONaLFDf7buaowRHdqLp4vLj54AsSAYWfh3DRbfiYJY9XDxMgx1B4sE1Afw2PGpuHOA==} - - '@types/cacheable-request@6.0.3': - resolution: {integrity: sha512-IQ3EbTzGxIigb1I3qPZc1rWJnH0BmSKv5QYTalEwweFvyBDLSAe24zP0le/hyi7ecGfZVlIVAg4BZqb8WBwKqw==} - - '@types/connect-history-api-fallback@1.5.4': - resolution: {integrity: sha512-n6Cr2xS1h4uAulPRdlw6Jl6s1oG8KrVilPN2yUITEs+K48EzMJJ3W1xy8K5eWuFvjp3R74AOIGSmp2UfBJ8HFw==} - - '@types/connect@3.4.38': - resolution: {integrity: sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==} - - '@types/cors@2.8.17': - resolution: {integrity: sha512-8CGDvrBj1zgo2qE+oS3pOCyYNqCPryMWY2bGfwA0dcfopWGgxs+78df0Rs3rc9THP4JkOhLsAa+15VdpAqkcUA==} - - '@types/cytoscape@3.21.3': - resolution: {integrity: sha512-z8hhiKk8XAOh5uLPocxP06sp7ytI24F/tBSb6O72cDtUM85XLP2cQHCJtRO7vQWGWmUlAc3jnTIzWmviDngK6g==} - - '@types/d3-array@3.2.1': - resolution: {integrity: sha512-Y2Jn2idRrLzUfAKV2LyRImR+y4oa2AntrgID95SHJxuMUrkNXmanDSed71sRNZysveJVt1hLLemQZIady0FpEg==} - - '@types/d3-axis@3.0.6': - resolution: {integrity: sha512-pYeijfZuBd87T0hGn0FO1vQ/cgLk6E1ALJjfkC0oJ8cbwkZl3TpgS8bVBLZN+2jjGgg38epgxb2zmoGtSfvgMw==} - - '@types/d3-brush@3.0.6': - resolution: {integrity: sha512-nH60IZNNxEcrh6L1ZSMNA28rj27ut/2ZmI3r96Zd+1jrZD++zD3LsMIjWlvg4AYrHn/Pqz4CF3veCxGjtbqt7A==} - - '@types/d3-chord@3.0.6': - resolution: {integrity: sha512-LFYWWd8nwfwEmTZG9PfQxd17HbNPksHBiJHaKuY1XeqscXacsS2tyoo6OdRsjf+NQYeB6XrNL3a25E3gH69lcg==} - - '@types/d3-color@3.1.3': - resolution: {integrity: sha512-iO90scth9WAbmgv7ogoq57O9YpKmFBbmoEoCHDB2xMBY0+/KVrqAaCDyCE16dUspeOvIxFFRI+0sEtqDqy2b4A==} - - '@types/d3-contour@3.0.6': - resolution: {integrity: sha512-BjzLgXGnCWjUSYGfH1cpdo41/hgdWETu4YxpezoztawmqsvCeep+8QGfiY6YbDvfgHz/DkjeIkkZVJavB4a3rg==} - - '@types/d3-delaunay@6.0.4': - resolution: {integrity: sha512-ZMaSKu4THYCU6sV64Lhg6qjf1orxBthaC161plr5KuPHo3CNm8DTHiLw/5Eq2b6TsNP0W0iJrUOFscY6Q450Hw==} - - '@types/d3-dispatch@3.0.6': - resolution: {integrity: sha512-4fvZhzMeeuBJYZXRXrRIQnvUYfyXwYmLsdiN7XXmVNQKKw1cM8a5WdID0g1hVFZDqT9ZqZEY5pD44p24VS7iZQ==} - - '@types/d3-drag@3.0.7': - resolution: {integrity: sha512-HE3jVKlzU9AaMazNufooRJ5ZpWmLIoc90A37WU2JMmeq28w1FQqCZswHZ3xR+SuxYftzHq6WU6KJHvqxKzTxxQ==} - - '@types/d3-dsv@3.0.7': - resolution: {integrity: sha512-n6QBF9/+XASqcKK6waudgL0pf/S5XHPPI8APyMLLUHd8NqouBGLsU8MgtO7NINGtPBtk9Kko/W4ea0oAspwh9g==} - - '@types/d3-ease@3.0.2': - resolution: {integrity: sha512-NcV1JjO5oDzoK26oMzbILE6HW7uVXOHLQvHshBUW4UMdZGfiY6v5BeQwh9a9tCzv+CeefZQHJt5SRgK154RtiA==} - - '@types/d3-fetch@3.0.7': - resolution: {integrity: sha512-fTAfNmxSb9SOWNB9IoG5c8Hg6R+AzUHDRlsXsDZsNp6sxAEOP0tkP3gKkNSO/qmHPoBFTxNrjDprVHDQDvo5aA==} - - '@types/d3-force@3.0.9': - resolution: {integrity: sha512-IKtvyFdb4Q0LWna6ymywQsEYjK/94SGhPrMfEr1TIc5OBeziTi+1jcCvttts8e0UWZIxpasjnQk9MNk/3iS+kA==} - - '@types/d3-format@3.0.4': - resolution: {integrity: sha512-fALi2aI6shfg7vM5KiR1wNJnZ7r6UuggVqtDA+xiEdPZQwy/trcQaHnwShLuLdta2rTymCNpxYTiMZX/e09F4g==} - - '@types/d3-geo@3.1.0': - resolution: {integrity: sha512-856sckF0oP/diXtS4jNsiQw/UuK5fQG8l/a9VVLeSouf1/PPbBE1i1W852zVwKwYCBkFJJB7nCFTbk6UMEXBOQ==} - - '@types/d3-hierarchy@3.1.7': - resolution: {integrity: sha512-tJFtNoYBtRtkNysX1Xq4sxtjK8YgoWUNpIiUee0/jHGRwqvzYxkq0hGVbbOGSz+JgFxxRu4K8nb3YpG3CMARtg==} - - '@types/d3-interpolate@3.0.4': - resolution: {integrity: sha512-mgLPETlrpVV1YRJIglr4Ez47g7Yxjl1lj7YKsiMCb27VJH9W8NVM6Bb9d8kkpG/uAQS5AmbA48q2IAolKKo1MA==} - - '@types/d3-path@1.0.11': - resolution: {integrity: sha512-4pQMp8ldf7UaB/gR8Fvvy69psNHkTpD/pVw3vmEi8iZAB9EPMBruB1JvHO4BIq9QkUUd2lV1F5YXpMNj7JPBpw==} - - '@types/d3-path@3.1.0': - resolution: {integrity: sha512-P2dlU/q51fkOc/Gfl3Ul9kicV7l+ra934qBFXCFhrZMOL6du1TM0pm1ThYvENukyOn5h9v+yMJ9Fn5JK4QozrQ==} - - '@types/d3-polygon@3.0.2': - resolution: {integrity: sha512-ZuWOtMaHCkN9xoeEMr1ubW2nGWsp4nIql+OPQRstu4ypeZ+zk3YKqQT0CXVe/PYqrKpZAi+J9mTs05TKwjXSRA==} - - '@types/d3-quadtree@3.0.6': - resolution: {integrity: sha512-oUzyO1/Zm6rsxKRHA1vH0NEDG58HrT5icx/azi9MF1TWdtttWl0UIUsjEQBBh+SIkrpd21ZjEv7ptxWys1ncsg==} - - '@types/d3-random@3.0.3': - resolution: {integrity: sha512-Imagg1vJ3y76Y2ea0871wpabqp613+8/r0mCLEBfdtqC7xMSfj9idOnmBYyMoULfHePJyxMAw3nWhJxzc+LFwQ==} - - '@types/d3-sankey@0.12.4': - resolution: {integrity: sha512-YTicQNwioitIlvuvlfW2GfO6sKxpohzg2cSQttlXAPjFwoBuN+XpGLhUN3kLutG/dI3GCLC+DUorqiJt7Naetw==} - - '@types/d3-scale-chromatic@3.0.3': - resolution: {integrity: sha512-laXM4+1o5ImZv3RpFAsTRn3TEkzqkytiOY0Dz0sq5cnd1dtNlk6sHLon4OvqaiJb28T0S/TdsBI3Sjsy+keJrw==} - - '@types/d3-scale@4.0.8': - resolution: {integrity: sha512-gkK1VVTr5iNiYJ7vWDI+yUFFlszhNMtVeneJ6lUTKPjprsvLLI9/tgEGiXJOnlINJA8FyA88gfnQsHbybVZrYQ==} - - '@types/d3-selection@3.0.10': - resolution: {integrity: sha512-cuHoUgS/V3hLdjJOLTT691+G2QoqAjCVLmr4kJXR4ha56w1Zdu8UUQ5TxLRqudgNjwXeQxKMq4j+lyf9sWuslg==} - - '@types/d3-shape@1.3.12': - resolution: {integrity: sha512-8oMzcd4+poSLGgV0R1Q1rOlx/xdmozS4Xab7np0eamFFUYq71AU9pOCJEFnkXW2aI/oXdVYJzw6pssbSut7Z9Q==} - - '@types/d3-shape@3.1.6': - resolution: {integrity: sha512-5KKk5aKGu2I+O6SONMYSNflgiP0WfZIQvVUMan50wHsLG1G94JlxEVnCpQARfTtzytuY0p/9PXXZb3I7giofIA==} - - '@types/d3-time-format@4.0.3': - resolution: {integrity: sha512-5xg9rC+wWL8kdDj153qZcsJ0FWiFt0J5RB6LYUNZjwSnesfblqrI/bJ1wBdJ8OQfncgbJG5+2F+qfqnqyzYxyg==} - - '@types/d3-time@3.0.3': - resolution: {integrity: sha512-2p6olUZ4w3s+07q3Tm2dbiMZy5pCDfYwtLXXHUnVzXgQlZ/OyPtUz6OL382BkOuGlLXqfT+wqv8Fw2v8/0geBw==} - - '@types/d3-timer@3.0.2': - resolution: {integrity: sha512-Ps3T8E8dZDam6fUyNiMkekK3XUsaUEik+idO9/YjPtfj2qruF8tFBXS7XhtE4iIXBLxhmLjP3SXpLhVf21I9Lw==} - - '@types/d3-transition@3.0.8': - resolution: {integrity: sha512-ew63aJfQ/ms7QQ4X7pk5NxQ9fZH/z+i24ZfJ6tJSfqxJMrYLiK01EAs2/Rtw/JreGUsS3pLPNV644qXFGnoZNQ==} - - '@types/d3-zoom@3.0.8': - resolution: {integrity: sha512-iqMC4/YlFCSlO8+2Ii1GGGliCAY4XdeG748w5vQUbevlbDu0zSjH/+jojorQVBK/se0j6DUFNPBGSqD3YWYnDw==} - - '@types/d3@7.4.3': - resolution: {integrity: sha512-lZXZ9ckh5R8uiFVt8ogUNf+pIrK4EsWrx2Np75WvF/eTpJ0FMHNhjXk8CKEx/+gpHbNQyJWehbFaTvqmHWB3ww==} - - '@types/debug@4.1.12': - resolution: {integrity: sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==} - - '@types/dompurify@3.0.5': - resolution: {integrity: sha512-1Wg0g3BtQF7sSb27fJQAKck1HECM6zV1EB66j8JH9i3LCjYabJa0FSdiSgsD5K/RbrsR0SiraKacLB+T8ZVYAg==} - - '@types/eslint-scope@3.7.7': - resolution: {integrity: sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg==} - - '@types/eslint@8.56.10': - resolution: {integrity: sha512-Shavhk87gCtY2fhXDctcfS3e6FdxWkCx1iUZ9eEUbh7rTqlZT0/IzOkCOVt0fCjcFuZ9FPYfuezTBImfHCDBGQ==} - - '@types/estree@0.0.39': - resolution: {integrity: sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==} - - '@types/estree@1.0.5': - resolution: {integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==} - - '@types/express-serve-static-core@4.19.3': - resolution: {integrity: sha512-KOzM7MhcBFlmnlr/fzISFF5vGWVSvN6fTd4T+ExOt08bA/dA5kpSzY52nMsI1KDFmUREpJelPYyuslLRSjjgCg==} - - '@types/express@4.17.21': - resolution: {integrity: sha512-ejlPM315qwLpaQlQDTjPdsUFSc6ZsP4AN6AlWnogPjQ7CVi7PYF3YVz+CY3jE2pwYf7E/7HlDAN0rV2GxTG0HQ==} - - '@types/flexsearch@0.7.6': - resolution: {integrity: sha512-H5IXcRn96/gaDmo+rDl2aJuIJsob8dgOXDqf8K0t8rWZd1AFNaaspmRsElESiU+EWE33qfbFPgI0OC/B1g9FCA==} - - '@types/geojson@7946.0.14': - resolution: {integrity: sha512-WCfD5Ht3ZesJUsONdhvm84dmzWOiOzOAqOncN0++w0lBw1o8OuDNJF2McvvCef/yBqb/HYRahp1BYtODFQ8bRg==} - - '@types/glob@7.2.0': - resolution: {integrity: sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA==} - - '@types/glob@8.1.0': - resolution: {integrity: sha512-IO+MJPVhoqz+28h1qLAcBEH2+xHMK6MTyHJc7MTnnYb6wsoLR29POVGJ7LycmVXIqyy/4/2ShP5sUwTXuOwb/w==} - - '@types/graceful-fs@4.1.9': - resolution: {integrity: sha512-olP3sd1qOEe5dXTSaFvQG+02VdRXcdytWLAZsAq1PecU8uqQAhkrnbli7DagjtXKW/Bl7YJbUsa8MPcuc8LHEQ==} - - '@types/http-cache-semantics@4.0.4': - resolution: {integrity: sha512-1m0bIFVc7eJWyve9S0RnuRgcQqF/Xd5QsUZAZeQFr1Q3/p9JWoQQEqmVy+DPTNpGXwhgIetAoYF8JSc33q29QA==} - - '@types/http-errors@2.0.4': - resolution: {integrity: sha512-D0CFMMtydbJAegzOyHjtiKPLlvnm3iTZyZRSZoLq2mRhDdmLfIWOCYPfQJ4cu2erKghU++QvjcUjp/5h7hESpA==} - - '@types/http-proxy@1.17.14': - resolution: {integrity: sha512-SSrD0c1OQzlFX7pGu1eXxSEjemej64aaNPRhhVYUGqXh0BtldAAx37MG8btcumvpgKyZp1F5Gn3JkktdxiFv6w==} - - '@types/istanbul-lib-coverage@2.0.6': - resolution: {integrity: sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==} - - '@types/istanbul-lib-report@3.0.3': - resolution: {integrity: sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA==} - - '@types/istanbul-reports@3.0.4': - resolution: {integrity: sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==} - - '@types/js-yaml@4.0.9': - resolution: {integrity: sha512-k4MGaQl5TGo/iipqb2UDG2UwjXziSWkh0uysQelTlJpX1qGlpUZYm8PnO4DxG1qBomtJUdYJ6qR6xdIah10JLg==} - - '@types/jsdom@21.1.7': - resolution: {integrity: sha512-yOriVnggzrnQ3a9OKOCxaVuSug3w3/SbOj5i7VwXWZEyUNl3bLF9V3MfxGbZKuwqJOQyRfqXyROBB1CoZLFWzA==} - - '@types/json-schema@7.0.15': - resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==} - - '@types/katex@0.16.7': - resolution: {integrity: sha512-HMwFiRujE5PjrgwHQ25+bsLJgowjGjm5Z8FVSf0N6PwgJrwxH0QxzHYDcKsTfV3wva0vzrpqMTJS2jXPr5BMEQ==} - - '@types/keyv@3.1.4': - resolution: {integrity: sha512-BQ5aZNSCpj7D6K2ksrRCTmKRLEpnPvWDiLPfoGyhZ++8YtiK9d/3DBKPJgry359X/P1PfruyYwvnvwFjuEiEIg==} - - '@types/linkify-it@5.0.0': - resolution: {integrity: sha512-sVDA58zAw4eWAffKOaQH5/5j3XeayukzDk+ewSsnv3p4yJEZHCCzMDiZM8e0OUrRvmpGZ85jf4yDHkHsgBNr9Q==} - - '@types/lodash-es@4.17.12': - resolution: {integrity: sha512-0NgftHUcV4v34VhXm8QBSftKVXtbkBG3ViCjs6+eJ5a6y6Mi/jiFGPc1sC7QK+9BFhWrURE3EOggmWaSxL9OzQ==} - - '@types/lodash@4.17.5': - resolution: {integrity: sha512-MBIOHVZqVqgfro1euRDWX7OO0fBVUUMrN6Pwm8LQsz8cWhEpihlvR70ENj3f40j58TNxZaWv2ndSkInykNBBJw==} - - '@types/markdown-it@12.2.3': - resolution: {integrity: sha512-GKMHFfv3458yYy+v/N8gjufHO6MSZKCOXpZc5GXIWWy8uldwfmPn98vp81gZ5f9SVw8YYBctgfJ22a2d7AOMeQ==} - - '@types/markdown-it@14.1.1': - resolution: {integrity: sha512-4NpsnpYl2Gt1ljyBGrKMxFYAYvpqbnnkgP/i/g+NLpjEUa3obn1XJCur9YbEXKDAkaXqsR1LbDnGEJ0MmKFxfg==} - - '@types/mdast@3.0.15': - resolution: {integrity: sha512-LnwD+mUEfxWMa1QpDraczIn6k0Ee3SMicuYSSzS6ZYl2gKS09EClnJYGd8Du6rfc5r/GZEk5o1mRb8TaTj03sQ==} - - '@types/mdast@4.0.4': - resolution: {integrity: sha512-kGaNbPh1k7AFzgpud/gMdvIm5xuECykRR+JnWKQno9TAXVa6WIVCGTPvYGekIDL4uwCZQSYbUxNBSb1aUo79oA==} - - '@types/mdurl@2.0.0': - resolution: {integrity: sha512-RGdgjQUZba5p6QEFAVx2OGb8rQDL/cPRG7GiedRzMcJ1tYnUANBncjbSB1NRGwbvjcPeikRABz2nshyPk1bhWg==} - - '@types/micromatch@4.0.7': - resolution: {integrity: sha512-C/FMQ8HJAZhTsDpl4wDKZdMeeW5USjgzOczUwTGbRc1ZopPgOhIEnxY2ZgUrsuyy4DwK1JVOJZKFakv3TbCKiA==} - - '@types/mime@1.3.5': - resolution: {integrity: sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w==} - - '@types/minimatch@5.1.2': - resolution: {integrity: sha512-K0VQKziLUWkVKiRVrx4a40iPaxTUefQmjtkQofBkYRcoaaL/8rhwDWww9qWbrgicNOgnpIsMxyNIUM4+n6dUIA==} - - '@types/ms@0.7.34': - resolution: {integrity: sha512-nG96G3Wp6acyAgJqGasjODb+acrI7KltPiRxzHPXnP3NgI28bpQDRv53olbqGXbfcgF5aiiHmO3xpwEpS5Ld9g==} - - '@types/node-forge@1.3.11': - resolution: {integrity: sha512-FQx220y22OKNTqaByeBGqHWYz4cl94tpcxeFdvBo3wjG6XPBuZ0BNgNZRV5J5TFmmcsJ4IzsLkmGRiQbnYsBEQ==} - - '@types/node@18.19.34': - resolution: {integrity: sha512-eXF4pfBNV5DAMKGbI02NnDtWrQ40hAN558/2vvS4gMpMIxaf6JmD7YjnZbq0Q9TDSSkKBamime8ewRoomHdt4g==} - - '@types/node@20.14.2': - resolution: {integrity: sha512-xyu6WAMVwv6AKFLB+e/7ySZVr/0zLCzOa7rSpq6jNwpqOrUbcACDWC+53d4n2QHOnDou0fbIsg8wZu/sxrnI4Q==} - - '@types/normalize-package-data@2.4.4': - resolution: {integrity: sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==} - - '@types/prettier@2.7.3': - resolution: {integrity: sha512-+68kP9yzs4LMp7VNh8gdzMSPZFL44MLGqiHWvttYJe+6qnuVr4Ek9wSBQoveqY/r+LwjCcU29kNVkidwim+kYA==} - - '@types/prettier@3.0.0': - resolution: {integrity: sha512-mFMBfMOz8QxhYVbuINtswBp9VL2b4Y0QqYHwqLz3YbgtfAcat2Dl6Y1o4e22S/OVE6Ebl9m7wWiMT2lSbAs1wA==} - deprecated: This is a stub types definition. prettier provides its own type definitions, so you do not need this installed. - - '@types/qs@6.9.15': - resolution: {integrity: sha512-uXHQKES6DQKKCLh441Xv/dwxOq1TVS3JPUMlEqoEglvlhR6Mxnlew/Xq/LRVHpLyk7iK3zODe1qYHIMltO7XGg==} - - '@types/ramda@0.28.25': - resolution: {integrity: sha512-HrQNqQAGcITpn9HAJFamDxm7iZeeXiP/95pN5OMbNniDjzCCeOHbBKNGmUy8NRi0fhYS+/cXeo91MFC+06gbow==} - - '@types/range-parser@1.2.7': - resolution: {integrity: sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ==} - - '@types/resolve@1.20.2': - resolution: {integrity: sha512-60BCwRFOZCQhDncwQdxxeOEEkbc5dIMccYLwbxsS4TUNeVECQ/pBJ0j09mrHOl/JJvpRPGwO9SvE4nR2Nb/a4Q==} - - '@types/responselike@1.0.3': - resolution: {integrity: sha512-H/+L+UkTV33uf49PH5pCAUBVPNj2nDBXTN+qS1dOwyyg24l3CcicicCA7ca+HMvJBZcFgl5r8e+RR6elsb4Lyw==} - - '@types/retry@0.12.0': - resolution: {integrity: sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA==} - - '@types/rollup-plugin-visualizer@4.2.4': - resolution: {integrity: sha512-BW4Q6D1Qy5gno5qHWrnMDC2dOe/TAKXvqCpckOggCCu+XpS+ZZJJ1lq1+K3bvYccoO3Y7f5kglbFAgYGqCgULg==} - - '@types/semver@7.5.8': - resolution: {integrity: sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==} - - '@types/send@0.17.4': - resolution: {integrity: sha512-x2EM6TJOybec7c52BX0ZspPodMsQUd5L6PRwOunVyVUhXiBSKf3AezDL8Dgvgt5o0UfKNfuA0eMLr2wLT4AiBA==} - - '@types/serve-index@1.9.4': - resolution: {integrity: sha512-qLpGZ/c2fhSs5gnYsQxtDEq3Oy8SXPClIXkW5ghvAvsNuVSA8k+gCONcUCS/UjLEYvYps+e8uBtfgXgvhwfNug==} - - '@types/serve-static@1.15.7': - resolution: {integrity: sha512-W8Ym+h8nhuRwaKPaDw34QUkwsGi6Rc4yYqvKFo5rm2FUEhCFbzVWrxXUxuKK8TASjWsysJY0nsmNCGhCOIsrOw==} - - '@types/sinonjs__fake-timers@8.1.1': - resolution: {integrity: sha512-0kSuKjAS0TrGLJ0M/+8MaFkGsQhZpB6pxOmvS3K8FYI72K//YmdfoW9X2qPsAKh1mkwxGD5zib9s1FIFed6E8g==} - - '@types/sizzle@2.3.8': - resolution: {integrity: sha512-0vWLNK2D5MT9dg0iOo8GlKguPAU02QjmZitPEsXRuJXU/OGIOt9vT9Fc26wtYuavLxtO45v9PGleoL9Z0k1LHg==} - - '@types/sockjs@0.3.36': - resolution: {integrity: sha512-MK9V6NzAS1+Ud7JV9lJLFqW85VbC9dq3LmwZCuBe4wBDgKC0Kj/jd8Xl+nSviU+Qc3+m7umHHyHg//2KSa0a0Q==} - - '@types/stack-utils@2.0.3': - resolution: {integrity: sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw==} - - '@types/stylis@4.2.6': - resolution: {integrity: sha512-4nebF2ZJGzQk0ka0O6+FZUWceyFv4vWq/0dXBMmrSeAwzOuOd/GxE5Pa64d/ndeNLG73dXoBsRzvtsVsYUv6Uw==} - - '@types/tough-cookie@4.0.5': - resolution: {integrity: sha512-/Ad8+nIOV7Rl++6f1BdKxFSMgmoqEoYbHRpPcx3JEfv8VRsQe9Z4mCXeJBzxs7mbHY/XOZZuXlRNfhpVPbs6ZA==} - - '@types/trusted-types@2.0.7': - resolution: {integrity: sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw==} - - '@types/unist@2.0.10': - resolution: {integrity: sha512-IfYcSBWE3hLpBg8+X2SEa8LVkJdJEkT2Ese2aaLs3ptGdVtABxndrMaxuFlQ1qdFf9Q5rDvDpxI3WwgvKFAsQA==} - - '@types/unist@3.0.2': - resolution: {integrity: sha512-dqId9J8K/vGi5Zr7oo212BGii5m3q5Hxlkwy3WpYuKPklmBEvsbMYYyLxAQpSffdLl/gdW0XUpKWFvYmyoWCoQ==} - - '@types/uuid@9.0.8': - resolution: {integrity: sha512-jg+97EGIcY9AGHJJRaaPVgetKDsrTgbRjQ5Msgjh/DQKEFl0DtyRr/VCOyD1T2R1MNeWPK/u7JoGhlDZnKBAfA==} - - '@types/web-bluetooth@0.0.20': - resolution: {integrity: sha512-g9gZnnXVq7gM7v3tJCWV/qw7w+KeOlSHAhgF9RytFyifW6AF61hdT2ucrYhPq9hLs5JIryeupHV3qGk95dH9ow==} - - '@types/ws@8.5.10': - resolution: {integrity: sha512-vmQSUcfalpIq0R9q7uTo2lXs6eGIpt9wtnLdMv9LVpIjCA/+ufZRozlVoVelIYixx1ugCBKDhn89vnsEGOCx9A==} - - '@types/ws@8.5.5': - resolution: {integrity: sha512-lwhs8hktwxSjf9UaZ9tG5M03PGogvFaH8gUgLNbN9HKIg0dvv6q+gkSuJ8HN4/VbyxkuLzCjlN7GquQ0gUJfIg==} - - '@types/yargs-parser@21.0.3': - resolution: {integrity: sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==} - - '@types/yargs@17.0.32': - resolution: {integrity: sha512-xQ67Yc/laOG5uMfX/093MRlGGCIBzZMarVa+gfNKJxWAIgykYpVGkBdbqEzGDDfCrVUj6Hiff4mTZ5BA6TmAog==} - - '@types/yauzl@2.10.3': - resolution: {integrity: sha512-oJoftv0LSuaDZE3Le4DbKX+KS9G36NzOeSap90UIK0yMA/NhKJhqlSGtNDORNRaIbQfzjXDrQa0ytJ6mNRGz/Q==} - - '@typescript-eslint/eslint-plugin@7.13.0': - resolution: {integrity: sha512-FX1X6AF0w8MdVFLSdqwqN/me2hyhuQg4ykN6ZpVhh1ij/80pTvDKclX1sZB9iqex8SjQfVhwMKs3JtnnMLzG9w==} - engines: {node: ^18.18.0 || >=20.0.0} - peerDependencies: - '@typescript-eslint/parser': ^7.0.0 - eslint: ^8.56.0 - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true - - '@typescript-eslint/parser@7.13.0': - resolution: {integrity: sha512-EjMfl69KOS9awXXe83iRN7oIEXy9yYdqWfqdrFAYAAr6syP8eLEFI7ZE4939antx2mNgPRW/o1ybm2SFYkbTVA==} - engines: {node: ^18.18.0 || >=20.0.0} - peerDependencies: - eslint: ^8.56.0 - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true - - '@typescript-eslint/scope-manager@5.62.0': - resolution: {integrity: sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - - '@typescript-eslint/scope-manager@7.13.0': - resolution: {integrity: sha512-ZrMCe1R6a01T94ilV13egvcnvVJ1pxShkE0+NDjDzH4nvG1wXpwsVI5bZCvE7AEDH1mXEx5tJSVR68bLgG7Dng==} - engines: {node: ^18.18.0 || >=20.0.0} - - '@typescript-eslint/type-utils@7.13.0': - resolution: {integrity: sha512-xMEtMzxq9eRkZy48XuxlBFzpVMDurUAfDu5Rz16GouAtXm0TaAoTFzqWUFPPuQYXI/CDaH/Bgx/fk/84t/Bc9A==} - engines: {node: ^18.18.0 || >=20.0.0} - peerDependencies: - eslint: ^8.56.0 - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true - - '@typescript-eslint/types@5.62.0': - resolution: {integrity: sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - - '@typescript-eslint/types@7.13.0': - resolution: {integrity: sha512-QWuwm9wcGMAuTsxP+qz6LBBd3Uq8I5Nv8xb0mk54jmNoCyDspnMvVsOxI6IsMmway5d1S9Su2+sCKv1st2l6eA==} - engines: {node: ^18.18.0 || >=20.0.0} - - '@typescript-eslint/typescript-estree@5.62.0': - resolution: {integrity: sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - peerDependencies: - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true - - '@typescript-eslint/typescript-estree@7.13.0': - resolution: {integrity: sha512-cAvBvUoobaoIcoqox1YatXOnSl3gx92rCZoMRPzMNisDiM12siGilSM4+dJAekuuHTibI2hVC2fYK79iSFvWjw==} - engines: {node: ^18.18.0 || >=20.0.0} - peerDependencies: - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true - - '@typescript-eslint/utils@5.62.0': - resolution: {integrity: sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - peerDependencies: - eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 - - '@typescript-eslint/utils@7.13.0': - resolution: {integrity: sha512-jceD8RgdKORVnB4Y6BqasfIkFhl4pajB1wVxrF4akxD2QPM8GNYjgGwEzYS+437ewlqqrg7Dw+6dhdpjMpeBFQ==} - engines: {node: ^18.18.0 || >=20.0.0} - peerDependencies: - eslint: ^8.56.0 - - '@typescript-eslint/visitor-keys@5.62.0': - resolution: {integrity: sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - - '@typescript-eslint/visitor-keys@7.13.0': - resolution: {integrity: sha512-nxn+dozQx+MK61nn/JP+M4eCkHDSxSLDpgE3WcQo0+fkjEolnaB5jswvIKC4K56By8MMgIho7f1PVxERHEo8rw==} - engines: {node: ^18.18.0 || >=20.0.0} - - '@ungap/structured-clone@1.2.0': - resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==} - - '@unocss/astro@0.59.4': - resolution: {integrity: sha512-DU3OR5MMR1Uvvec4/wB9EetDASHRg19Moy6z/MiIhn8JWJ0QzWYgSeJcfUX8exomMYv6WUEQJL+CyLI34Wmn8w==} - peerDependencies: - vite: ^2.9.0 || ^3.0.0-0 || ^4.0.0 || ^5.0.0-0 - peerDependenciesMeta: - vite: - optional: true - - '@unocss/cli@0.59.4': - resolution: {integrity: sha512-TT+WKedSifhsRqnpoYD2LfyYipVzEbzIU4DDGIaDNeDxGXYOGpb876zzkPDcvZSpI37IJ/efkkV7PGYpPBcQBQ==} - engines: {node: '>=14'} - hasBin: true - - '@unocss/config@0.59.4': - resolution: {integrity: sha512-h3yhj+D5Ygn5R7gbK4wMrtXZX6FF5DF6YD517sSSb0XB3lxHD9PhhT4HaV1hpHknvu0cMFU3460M45+TN1TI0Q==} - engines: {node: '>=14'} - - '@unocss/core@0.59.4': - resolution: {integrity: sha512-bBZ1sgcAtezQVZ1BST9IS3jqcsTLyqKNjiIf7FTnX3DHpfpYuMDFzSOtmkZDzBleOLO/CtcRWjT0HwTSQAmV0A==} - - '@unocss/extractor-arbitrary-variants@0.59.4': - resolution: {integrity: sha512-RDe4FgMGJQ+tp9GLvhPHni7Cc2O0lHBRMElVlN8LoXJAdODMICdbrEPGJlEfrc+7x/QgVFoR895KpYJh3hIgGA==} - - '@unocss/inspector@0.59.4': - resolution: {integrity: sha512-QczJFNDiggmekkJyNcbcZIUVwlhvxz7ZwjnSf0w7K4znxfjKkZ1hNUbqLviM1HumkTKOdT27VISW7saN/ysO4w==} - - '@unocss/postcss@0.59.4': - resolution: {integrity: sha512-KVz+AD7McHKp7VEWHbFahhyyVEo0oP/e1vnuNSuPlHthe+1V2zfH6lps+iJcvfL2072r5J+0PvD/1kOp5ryUSg==} - engines: {node: '>=14'} - peerDependencies: - postcss: ^8.4.21 - - '@unocss/preset-attributify@0.59.4': - resolution: {integrity: sha512-BeogWuYaIakC1gmOZFFCjFVWmu/m3AqEX8UYQS6tY6lAaK2L4Qf4AstYBlT2zAMxy9LNxPDxFQrvfSfFk5Klsg==} - - '@unocss/preset-icons@0.59.4': - resolution: {integrity: sha512-Afjwh5oC4KRE8TNZDUkRK6hvvV1wKLrS1e5trniE0B0AM9HK3PBolQaIU7QmzPv6WQrog+MZgIwafg1eqsPUCA==} - - '@unocss/preset-mini@0.59.4': - resolution: {integrity: sha512-ZLywGrXi1OCr4My5vX2rLUb5Xgx6ufR9WTQOvpQJGBdIV/jnZn/pyE5avCs476SnOq2K172lnd8mFmTK7/zArA==} - - '@unocss/preset-tagify@0.59.4': - resolution: {integrity: sha512-vWMdTUoghOSmTbdmZtERssffmdUdOuhh4vUdl0R8Kv6KxB0PkvEFCu2FItn97nRJdSPlZSFxxDkaOIg9w+STNQ==} - - '@unocss/preset-typography@0.59.4': - resolution: {integrity: sha512-ZX9bxZUqlXK1qEDzO5lkK96ICt9itR/oNyn/7mMc1JPqwj263LumQMn5silocgzoLSUXEeq//L6GylqYjkL8GA==} - - '@unocss/preset-uno@0.59.4': - resolution: {integrity: sha512-G1f8ZluplvXZ3bERj+sM/8zzY//XD++nNOlAQNKOANSVht3qEoJebrfEiMClNpA5qW5VWOZhEhPkh0M7GsXtnA==} - - '@unocss/preset-web-fonts@0.59.4': - resolution: {integrity: sha512-ehutTjKHnf2KPmdatN42N9a8+y+glKSU3UlcBRNsVIIXVIlaBQuPVGZSPhnMtrKD17IgWylXq2K6RJK+ab0hZA==} - - '@unocss/preset-wind@0.59.4': - resolution: {integrity: sha512-CNX6w0ZpSQg/i1oF0/WKWzto8PtLqoknC5h8JmmcGb7VsyBQeV0oNnhbURxpbuMEhbv1MWVIGvk8a+P6y0rFkQ==} - - '@unocss/reset@0.59.4': - resolution: {integrity: sha512-Upy4xzdWl4RChbLAXBq1BoR4WqxXMoIfjvtcwSZcZK2sylXCFAseSWnyzJFdSiXPqNfmMuNgPXgiSxiQB+cmNA==} - - '@unocss/rule-utils@0.59.4': - resolution: {integrity: sha512-1qoLJlBWAkS4D4sg73990S1MT7E8E5md/YhopKjTQuEC9SyeVmEg+5pR/Xd8xhPKMqbcuBPl/DS8b6l/GQO56A==} - engines: {node: '>=14'} - - '@unocss/scope@0.59.4': - resolution: {integrity: sha512-wBQJ39kw4Tfj4km7AoGvSIobPKVnRZVsgc0bema5Y0PL3g1NeVQ/LopBI2zEJWdpxGXUWxSDsXm7BZo6qVlD/A==} - - '@unocss/transformer-attributify-jsx-babel@0.59.4': - resolution: {integrity: sha512-xtCRSgeTaDBiNJLVX7oOSFe63JiFB5nrdK23PHn3IlZM9O7Bxx4ZxI3MQJtFZFQNE+INFko+DVyY1WiFEm1p/Q==} - - '@unocss/transformer-attributify-jsx@0.59.4': - resolution: {integrity: sha512-m4b83utzKMfUQH/45V2QkjJoXd8Tu2pRP1nic91Xf7QRceyKDD+BxoTneo2JNC2K274cQu7HqqotnCm2aFfEGw==} - - '@unocss/transformer-compile-class@0.59.4': - resolution: {integrity: sha512-Vgk2OCLPW0pU+Uzr1IgDtHVspSBb+gPrQFkV+5gxHk9ZdKi3oYKxLuufVWYDSwv7o9yfQGbYrMH9YLsjRsnA7Q==} - - '@unocss/transformer-directives@0.59.4': - resolution: {integrity: sha512-nXUTEclUbs0vQ4KfLhKt4J/5SLSEq1az2FNlJmiXMmqmn75X89OrtCu2OJu9sGXhn+YyBApxgcSSdxmtpqMi1Q==} - - '@unocss/transformer-variant-group@0.59.4': - resolution: {integrity: sha512-9XLixxn1NRgP62Kj4R/NC/rpqhql5F2s6ulJ8CAMTEbd/NylVhEANluPGDVUGcLJ4cj6E02hFa8C1PLGSm7/xw==} - - '@unocss/vite@0.59.4': - resolution: {integrity: sha512-q7GN7vkQYn79n7vYIUlaa7gXGwc7pk0Qo3z3ZFwWGE43/DtZnn2Hwl5UjgBAgi9McA+xqHJEHRsJnI7HJPHUYA==} - peerDependencies: - vite: ^2.9.0 || ^3.0.0-0 || ^4.0.0 || ^5.0.0-0 - - '@vite-pwa/vitepress@0.4.0': - resolution: {integrity: sha512-MrsSCK5EBCzQAQgq5/3XHaFIjkypda58Wzy6PkDwZoRHnWexik0C2GUxMOe+RA+qdpGxB0mEkhqajeOmuYMvhw==} - peerDependencies: - '@vite-pwa/assets-generator': ^0.2.4 - vite-plugin-pwa: '>=0.19.0 <1' - peerDependenciesMeta: - '@vite-pwa/assets-generator': - optional: true - - '@vitejs/plugin-vue@5.0.5': - resolution: {integrity: sha512-LOjm7XeIimLBZyzinBQ6OSm3UBCNVCpLkxGC0oWmm2YPzVZoxMsdvNVimLTBzpAnR9hl/yn1SHGuRfe6/Td9rQ==} - engines: {node: ^18.0.0 || >=20.0.0} - peerDependencies: - vite: ^5.0.0 - vue: ^3.2.25 - - '@vitest/coverage-v8@1.6.0': - resolution: {integrity: sha512-KvapcbMY/8GYIG0rlwwOKCVNRc0OL20rrhFkg/CHNzncV03TE2XWvO5w9uZYoxNiMEBacAJt3unSOiZ7svePew==} - peerDependencies: - vitest: 1.6.0 - - '@vitest/expect@1.6.0': - resolution: {integrity: sha512-ixEvFVQjycy/oNgHjqsL6AZCDduC+tflRluaHIzKIsdbzkLn2U/iBnVeJwB6HsIjQBdfMR8Z0tRxKUsvFJEeWQ==} - - '@vitest/runner@1.6.0': - resolution: {integrity: sha512-P4xgwPjwesuBiHisAVz/LSSZtDjOTPYZVmNAnpHHSR6ONrf8eCJOFRvUwdHn30F5M1fxhqtl7QZQUk2dprIXAg==} - - '@vitest/snapshot@1.6.0': - resolution: {integrity: sha512-+Hx43f8Chus+DCmygqqfetcAZrDJwvTj0ymqjQq4CvmpKFSTVteEOBzCusu1x2tt4OJcvBflyHUE0DZSLgEMtQ==} - - '@vitest/spy@1.6.0': - resolution: {integrity: sha512-leUTap6B/cqi/bQkXUu6bQV5TZPx7pmMBKBQiI0rJA8c3pB56ZsaTbREnF7CJfmvAS4V2cXIBAh/3rVwrrCYgw==} - - '@vitest/ui@1.6.0': - resolution: {integrity: sha512-k3Lyo+ONLOgylctiGovRKy7V4+dIN2yxstX3eY5cWFXH6WP+ooVX79YSyi0GagdTQzLmT43BF27T0s6dOIPBXA==} - peerDependencies: - vitest: 1.6.0 - - '@vitest/utils@1.6.0': - resolution: {integrity: sha512-21cPiuGMoMZwiOHa2i4LXkMkMkCGzA+MVFV70jRwHo95dL4x/ts5GZhML1QWuy7yfp3WzK3lRvZi3JnXTYqrBw==} - - '@vue/compat@3.4.27': - resolution: {integrity: sha512-H2W93cPe9WXXkHiYEeX7f2Z8/znElm44fxgj8uBhgC6cxvjDUOLIcIJySs+FZvv6JM+Re/SBUnlcr4LJMaQZzw==} - peerDependencies: - vue: 3.4.27 - - '@vue/compiler-core@3.4.27': - resolution: {integrity: sha512-E+RyqY24KnyDXsCuQrI+mlcdW3ALND6U7Gqa/+bVwbcpcR3BRRIckFoz7Qyd4TTlnugtwuI7YgjbvsLmxb+yvg==} - - '@vue/compiler-dom@3.4.27': - resolution: {integrity: sha512-kUTvochG/oVgE1w5ViSr3KUBh9X7CWirebA3bezTbB5ZKBQZwR2Mwj9uoSKRMFcz4gSMzzLXBPD6KpCLb9nvWw==} - - '@vue/compiler-sfc@3.4.27': - resolution: {integrity: sha512-nDwntUEADssW8e0rrmE0+OrONwmRlegDA1pD6QhVeXxjIytV03yDqTey9SBDiALsvAd5U4ZrEKbMyVXhX6mCGA==} - - '@vue/compiler-ssr@3.4.27': - resolution: {integrity: sha512-CVRzSJIltzMG5FcidsW0jKNQnNRYC8bT21VegyMMtHmhW3UOI7knmUehzswXLrExDLE6lQCZdrhD4ogI7c+vuw==} - - '@vue/devtools-api@6.6.3': - resolution: {integrity: sha512-0MiMsFma/HqA6g3KLKn+AGpL1kgKhFWszC9U29NfpWK5LE7bjeXxySWJrOJ77hBz+TBrBQ7o4QJqbPbqbs8rJw==} - - '@vue/devtools-api@7.2.1': - resolution: {integrity: sha512-6oNCtyFOrNdqm6GUkFujsCgFlpbsHLnZqq7edeM/+cxAbMyCWvsaCsIMUaz7AiluKLccCGEM8fhOsjaKgBvb7g==} - - '@vue/devtools-kit@7.2.1': - resolution: {integrity: sha512-Wak/fin1X0Q8LLIfCAHBrdaaB+R6IdpSXsDByPHbQ3BmkCP0/cIo/oEGp9i0U2+gEqD4L3V9RDjNf1S34DTzQQ==} - peerDependencies: - vue: ^3.0.0 - - '@vue/devtools-shared@7.2.1': - resolution: {integrity: sha512-PCJF4UknJmOal68+X9XHyVeQ+idv0LFujkTOIW30+GaMJqwFVN9LkQKX4gLqn61KkGMdJTzQ1bt7EJag3TI6AA==} - - '@vue/reactivity@3.4.27': - resolution: {integrity: sha512-kK0g4NknW6JX2yySLpsm2jlunZJl2/RJGZ0H9ddHdfBVHcNzxmQ0sS0b09ipmBoQpY8JM2KmUw+a6sO8Zo+zIA==} - - '@vue/runtime-core@3.4.27': - resolution: {integrity: sha512-7aYA9GEbOOdviqVvcuweTLe5Za4qBZkUY7SvET6vE8kyypxVgaT1ixHLg4urtOlrApdgcdgHoTZCUuTGap/5WA==} - - '@vue/runtime-dom@3.4.27': - resolution: {integrity: sha512-ScOmP70/3NPM+TW9hvVAz6VWWtZJqkbdf7w6ySsws+EsqtHvkhxaWLecrTorFxsawelM5Ys9FnDEMt6BPBDS0Q==} - - '@vue/server-renderer@3.4.27': - resolution: {integrity: sha512-dlAMEuvmeA3rJsOMJ2J1kXU7o7pOxgsNHVr9K8hB3ImIkSuBrIdy0vF66h8gf8Tuinf1TK3mPAz2+2sqyf3KzA==} - peerDependencies: - vue: 3.4.27 - - '@vue/shared@3.4.27': - resolution: {integrity: sha512-DL3NmY2OFlqmYYrzp39yi3LDkKxa5vZVwxWdQ3rG0ekuWscHraeIbnI8t+aZK7qhYqEqWKTUdijadunb9pnrgA==} - - '@vueuse/core@10.11.0': - resolution: {integrity: sha512-x3sD4Mkm7PJ+pcq3HX8PLPBadXCAlSDR/waK87dz0gQE+qJnaaFhc/dZVfJz+IUYzTMVGum2QlR7ImiJQN4s6g==} - - '@vueuse/integrations@10.11.0': - resolution: {integrity: sha512-Pp6MtWEIr+NDOccWd8j59Kpjy5YDXogXI61Kb1JxvSfVBO8NzFQkmrKmSZz47i+ZqHnIzxaT38L358yDHTncZg==} - peerDependencies: - async-validator: ^4 - axios: ^1 - change-case: ^4 - drauu: ^0.3 - focus-trap: ^7 - fuse.js: ^6 - idb-keyval: ^6 - jwt-decode: ^3 - nprogress: ^0.2 - qrcode: ^1.5 - sortablejs: ^1 - universal-cookie: ^6 - peerDependenciesMeta: - async-validator: - optional: true - axios: - optional: true - change-case: - optional: true - drauu: - optional: true - focus-trap: - optional: true - fuse.js: - optional: true - idb-keyval: - optional: true - jwt-decode: - optional: true - nprogress: - optional: true - qrcode: - optional: true - sortablejs: - optional: true - universal-cookie: - optional: true - - '@vueuse/metadata@10.11.0': - resolution: {integrity: sha512-kQX7l6l8dVWNqlqyN3ePW3KmjCQO3ZMgXuBMddIu83CmucrsBfXlH+JoviYyRBws/yLTQO8g3Pbw+bdIoVm4oQ==} - - '@vueuse/shared@10.11.0': - resolution: {integrity: sha512-fyNoIXEq3PfX1L3NkNhtVQUSRtqYwJtJg+Bp9rIzculIZWHTkKSysujrOk2J+NrRulLTQH9+3gGSfYLWSEWU1A==} - - '@wdio/config@7.31.1': - resolution: {integrity: sha512-WAfswbCatwiaDVqy6kfF/5T8/WS/US/SRhBGUFrfBuGMIe+RRoHgy7jURFWSvUIE7CNHj8yvs46fLUcxhXjzcQ==} - engines: {node: '>=12.0.0'} - - '@wdio/logger@7.26.0': - resolution: {integrity: sha512-kQj9s5JudAG9qB+zAAcYGPHVfATl2oqKgqj47yjehOQ1zzG33xmtL1ArFbQKWhDG32y1A8sN6b0pIqBEIwgg8Q==} - engines: {node: '>=12.0.0'} - - '@wdio/protocols@7.27.0': - resolution: {integrity: sha512-hT/U22R5i3HhwPjkaKAG0yd59eaOaZB0eibRj2+esCImkb5Y6rg8FirrlYRxIGFVBl0+xZV0jKHzR5+o097nvg==} - engines: {node: '>=12.0.0'} - - '@wdio/types@7.30.2': - resolution: {integrity: sha512-uZ8o7FX8RyBsaXiOWa59UKTCHTtADNvOArYTcHNEIzt+rh4JdB/uwqfc8y4TCNA2kYm7PWaQpUFwpStLeg0H1Q==} - engines: {node: '>=12.0.0'} - peerDependencies: - typescript: ^4.6.2 - peerDependenciesMeta: - typescript: - optional: true - - '@wdio/utils@7.30.2': - resolution: {integrity: sha512-np7I+smszFUennbQKdzbMN/zUL3s3EZq9pCCUcTRjjs9TE4tnn0wfmGdoz2o7REYu6kn9NfFFJyVIM2VtBbKEA==} - engines: {node: '>=12.0.0'} - - '@webassemblyjs/ast@1.12.1': - resolution: {integrity: sha512-EKfMUOPRRUTy5UII4qJDGPpqfwjOmZ5jeGFwid9mnoqIFK+e0vqoi1qH56JpmZSzEL53jKnNzScdmftJyG5xWg==} - - '@webassemblyjs/floating-point-hex-parser@1.11.6': - resolution: {integrity: sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw==} - - '@webassemblyjs/helper-api-error@1.11.6': - resolution: {integrity: sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q==} - - '@webassemblyjs/helper-buffer@1.12.1': - resolution: {integrity: sha512-nzJwQw99DNDKr9BVCOZcLuJJUlqkJh+kVzVl6Fmq/tI5ZtEyWT1KZMyOXltXLZJmDtvLCDgwsyrkohEtopTXCw==} - - '@webassemblyjs/helper-numbers@1.11.6': - resolution: {integrity: sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g==} - - '@webassemblyjs/helper-wasm-bytecode@1.11.6': - resolution: {integrity: sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA==} - - '@webassemblyjs/helper-wasm-section@1.12.1': - resolution: {integrity: sha512-Jif4vfB6FJlUlSbgEMHUyk1j234GTNG9dBJ4XJdOySoj518Xj0oGsNi59cUQF4RRMS9ouBUxDDdyBVfPTypa5g==} - - '@webassemblyjs/ieee754@1.11.6': - resolution: {integrity: sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg==} - - '@webassemblyjs/leb128@1.11.6': - resolution: {integrity: sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ==} - - '@webassemblyjs/utf8@1.11.6': - resolution: {integrity: sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA==} - - '@webassemblyjs/wasm-edit@1.12.1': - resolution: {integrity: sha512-1DuwbVvADvS5mGnXbE+c9NfA8QRcZ6iKquqjjmR10k6o+zzsRVesil54DKexiowcFCPdr/Q0qaMgB01+SQ1u6g==} - - '@webassemblyjs/wasm-gen@1.12.1': - resolution: {integrity: sha512-TDq4Ojh9fcohAw6OIMXqiIcTq5KUXTGRkVxbSo1hQnSy6lAM5GSdfwWeSxpAo0YzgsgF182E/U0mDNhuA0tW7w==} - - '@webassemblyjs/wasm-opt@1.12.1': - resolution: {integrity: sha512-Jg99j/2gG2iaz3hijw857AVYekZe2SAskcqlWIZXjji5WStnOpVoat3gQfT/Q5tb2djnCjBtMocY/Su1GfxPBg==} - - '@webassemblyjs/wasm-parser@1.12.1': - resolution: {integrity: sha512-xikIi7c2FHXysxXe3COrVUPSheuBtpcfhbpFj4gmu7KRLYOzANztwUU0IbsqvMqzuNK2+glRGWCEqZo1WCLyAQ==} - - '@webassemblyjs/wast-printer@1.12.1': - resolution: {integrity: sha512-+X4WAlOisVWQMikjbcvY2e0rwPsKQ9F688lksZhBcPycBBuii3O7m8FACbDMWDojpAqvjIncrG8J0XHKyQfVeA==} - - '@webpack-cli/configtest@1.2.0': - resolution: {integrity: sha512-4FB8Tj6xyVkyqjj1OaTqCjXYULB9FMkqQ8yGrZjRDrYh0nOE+7Lhs45WioWQQMV+ceFlE368Ukhe6xdvJM9Egg==} - peerDependencies: - webpack: 4.x.x || 5.x.x - webpack-cli: 4.x.x - - '@webpack-cli/info@1.5.0': - resolution: {integrity: sha512-e8tSXZpw2hPl2uMJY6fsMswaok5FdlGNRTktvFk2sD8RjH0hE2+XistawJx1vmKteh4NmGmNUrp+Tb2w+udPcQ==} - peerDependencies: - webpack-cli: 4.x.x - - '@webpack-cli/serve@1.7.0': - resolution: {integrity: sha512-oxnCNGj88fL+xzV+dacXs44HcDwf1ovs3AuEzvP7mqXw7fQntqIhQ1BRmynh4qEKQSSSRSWVyXRjmTbZIX9V2Q==} - peerDependencies: - webpack-cli: 4.x.x - webpack-dev-server: '*' - peerDependenciesMeta: - webpack-dev-server: - optional: true - - '@xmldom/xmldom@0.8.10': - resolution: {integrity: sha512-2WALfTl4xo2SkGCYRt6rDTFfk9R1czmBvUQy12gK2KuRKIpWEhcbbzy8EZXtz/jkRqHX8bFEc6FC1HjX4TUWYw==} - engines: {node: '>=10.0.0'} - - '@xtuc/ieee754@1.2.0': - resolution: {integrity: sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==} - - '@xtuc/long@4.2.2': - resolution: {integrity: sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==} - - '@zenuml/core@3.23.22': - resolution: {integrity: sha512-2bdAP2Mwtc7J7wfVrmbDYChmWXS+nZZIH4pdhXvADykeAmlCTDMin67dbNpjiTp4BUFtY7dUmM6nXK2+ZWB/yg==} - engines: {node: '>=12.0.0'} - - JSONSelect@0.4.0: - resolution: {integrity: sha512-VRLR3Su35MH+XV2lrvh9O7qWoug/TUyj9tLDjn9rtpUCNnILLrHjgd/tB0KrhugCxUpj3UqoLqfYb3fLJdIQQQ==} - engines: {node: '>=0.4.7'} - - JSV@4.0.2: - resolution: {integrity: sha512-ZJ6wx9xaKJ3yFUhq5/sk82PJMuUyLk277I8mQeyDgCTjGdjWJIvPfaU5LIXaMuaN2UO1X3kZH4+lgphublZUHw==} - - abort-controller@3.0.0: - resolution: {integrity: sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==} - engines: {node: '>=6.5'} - - abstract-logging@2.0.1: - resolution: {integrity: sha512-2BjRTZxTPvheOvGbBslFSYOUkr+SjPtOnrLP33f+VIWLzezQpZcqVg7ja3L4dBXmzzgwT+a029jRx5PCi3JuiA==} - - accepts@1.3.8: - resolution: {integrity: sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==} - engines: {node: '>= 0.6'} - - acorn-import-attributes@1.9.5: - resolution: {integrity: sha512-n02Vykv5uA3eHGM/Z2dQrcD56kL8TyDb2p1+0P83PClMnC/nc+anbQRhIOWnSq4Ke/KvDPrY3C9hDtC/A3eHnQ==} - peerDependencies: - acorn: ^8 - - acorn-jsx@5.3.2: - resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} - peerDependencies: - acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 - - acorn-walk@8.3.2: - resolution: {integrity: sha512-cjkyv4OtNCIeqhHrfS81QWXoCBPExR/J62oyEqepVw8WaQeSqpW2uhuLPh1m9eWhDuOo/jUXVTlifvesOWp/4A==} - engines: {node: '>=0.4.0'} - - acorn@8.11.3: - resolution: {integrity: sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==} - engines: {node: '>=0.4.0'} - hasBin: true - - agent-base@6.0.2: - resolution: {integrity: sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==} - engines: {node: '>= 6.0.0'} - - agent-base@7.1.1: - resolution: {integrity: sha512-H0TSyFNDMomMNJQBn8wFV5YC/2eJ+VXECwOadZJT554xP6cODZHPX3H9QMQECxvrgiSOP1pHjy1sMWQVYJOUOA==} - engines: {node: '>= 14'} - - aggregate-error@3.1.0: - resolution: {integrity: sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==} - engines: {node: '>=8'} - - aggregate-error@4.0.1: - resolution: {integrity: sha512-0poP0T7el6Vq3rstR8Mn4V/IQrpBLO6POkUSrN7RhyY+GF/InCFShQzsQ39T25gkHhLgSLByyAz+Kjb+c2L98w==} - engines: {node: '>=12'} - - ajv-formats@2.1.1: - resolution: {integrity: sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==} - peerDependencies: - ajv: ^8.0.0 - peerDependenciesMeta: - ajv: - optional: true - - ajv-keywords@3.5.2: - resolution: {integrity: sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==} - peerDependencies: - ajv: ^6.9.1 - - ajv-keywords@5.1.0: - resolution: {integrity: sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==} - peerDependencies: - ajv: ^8.8.2 - - ajv@6.12.6: - resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} - - ajv@8.16.0: - resolution: {integrity: sha512-F0twR8U1ZU67JIEtekUcLkXkoO5mMMmgGD8sK/xUFzJ805jxHQl92hImFAqqXMyMYjSPOyUPAwHYhB72g5sTXw==} - - algoliasearch@4.23.3: - resolution: {integrity: sha512-Le/3YgNvjW9zxIQMRhUHuhiUjAlKY/zsdZpfq4dlLqg6mEm0nL6yk+7f2hDOtLpxsgE4jSzDmvHL7nXdBp5feg==} - - amdefine@1.0.1: - resolution: {integrity: sha512-S2Hw0TtNkMJhIabBwIojKL9YHO5T0n5eNqWJ7Lrlel/zDbftQpxpapi8tZs3X1HWa+u+QeydGmzzNU0m09+Rcg==} - engines: {node: '>=0.4.2'} - - ansi-align@3.0.1: - resolution: {integrity: sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==} - - ansi-colors@4.1.3: - resolution: {integrity: sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==} - engines: {node: '>=6'} - - ansi-escapes@4.3.2: - resolution: {integrity: sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==} - engines: {node: '>=8'} - - ansi-escapes@6.2.1: - resolution: {integrity: sha512-4nJ3yixlEthEJ9Rk4vPcdBRkZvQZlYyu8j4/Mqz5sgIkddmEnH2Yj2ZrnP9S3tQOvSNRUIgVNF/1yPpRAGNRig==} - engines: {node: '>=14.16'} - - ansi-html-community@0.0.8: - resolution: {integrity: sha512-1APHAyr3+PCamwNw3bXCPp4HFLONZt/yIH0sZp0/469KWNTEy+qN5jQ3GVX6DMZ1UXAi34yVwtTeaG/HpBuuzw==} - engines: {'0': node >= 0.8.0} - hasBin: true - - ansi-regex@2.1.1: - resolution: {integrity: sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==} - engines: {node: '>=0.10.0'} - - ansi-regex@5.0.1: - resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} - engines: {node: '>=8'} - - ansi-regex@6.0.1: - resolution: {integrity: sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==} - engines: {node: '>=12'} - - ansi-sequence-parser@1.1.1: - resolution: {integrity: sha512-vJXt3yiaUL4UU546s3rPXlsry/RnM730G1+HkpKE012AN0sx1eOrxSu95oKDIonskeLTijMgqWZ3uDEe3NFvyg==} - - ansi-styles@2.2.1: - resolution: {integrity: sha512-kmCevFghRiWM7HB5zTPULl4r9bVFSWjz62MhqizDGUrq2NWuNMQyuv4tHHoKJHs69M/MF64lEcHdYIocrdWQYA==} - engines: {node: '>=0.10.0'} - - ansi-styles@3.2.1: - resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==} - engines: {node: '>=4'} - - ansi-styles@4.3.0: - resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} - engines: {node: '>=8'} - - ansi-styles@5.2.0: - resolution: {integrity: sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==} - engines: {node: '>=10'} - - ansi-styles@6.2.1: - resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==} - engines: {node: '>=12'} - - antlr4@4.11.0: - resolution: {integrity: sha512-GUGlpE2JUjAN+G8G5vY+nOoeyNhHsXoIJwP1XF1oRw89vifA1K46T6SEkwLwr7drihN7I/lf0DIjKc4OZvBX8w==} - engines: {node: '>=14'} - - any-promise@1.3.0: - resolution: {integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==} - - anymatch@3.1.3: - resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} - engines: {node: '>= 8'} - - app-path@3.3.0: - resolution: {integrity: sha512-EAgEXkdcxH1cgEePOSsmUtw9ItPl0KTxnh/pj9ZbhvbKbij9x0oX6PWpGnorDr0DS5AosLgoa5n3T/hZmKQpYA==} - engines: {node: '>=8'} - - appdata-path@1.0.0: - resolution: {integrity: sha512-ZbH3ezXfnT/YE3NdqduIt4lBV+H0ybvA2Qx3K76gIjQvh8gROpDFdDLpx6B1QJtW7zxisCbpTlCLhKqoR8cDBw==} - - append-transform@2.0.0: - resolution: {integrity: sha512-7yeyCEurROLQJFv5Xj4lEGTy0borxepjFv1g22oAdqFu//SrAlDl1O1Nxx15SH1RoliUml6p8dwJW9jvZughhg==} - engines: {node: '>=8'} - - arch@2.2.0: - resolution: {integrity: sha512-Of/R0wqp83cgHozfIYLbBMnej79U/SVGOOyuB3VVFv1NRM/PSFMK12x9KVtiYzJqmnU5WR2qp0Z5rHb7sWGnFQ==} - - archy@1.0.0: - resolution: {integrity: sha512-Xg+9RwCg/0p32teKdGMPTPnVXKD0w3DfHnFTficozsAgsvq2XenPJq/MYpzzQ/v8zrOyJn6Ds39VA4JIDwFfqw==} - - are-docs-informative@0.0.2: - resolution: {integrity: sha512-ixiS0nLNNG5jNQzgZJNoUpBKdo9yTYZMGJ+QgT2jmjR7G7+QHRCc4v6LQ3NgE7EBJq+o0ams3waJwkrlBom8Ig==} - engines: {node: '>=14'} - - arg@5.0.2: - resolution: {integrity: sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==} - - argparse@1.0.10: - resolution: {integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==} - - argparse@2.0.1: - resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} - - array-buffer-byte-length@1.0.1: - resolution: {integrity: sha512-ahC5W1xgou+KTXix4sAO8Ki12Q+jf4i0+tmk3sC+zgcynshkHxzpXdImBehiUYKKKDwvfFiJl1tZt6ewscS1Mg==} - engines: {node: '>= 0.4'} - - array-flatten@1.1.1: - resolution: {integrity: sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==} - - array-timsort@1.0.3: - resolution: {integrity: sha512-/+3GRL7dDAGEfM6TseQk/U+mi18TU2Ms9I3UlLdUMhz2hbvGNTKdj9xniwXfUqgYhHxRx0+8UnKkvlNwVU+cWQ==} - - array-union@2.1.0: - resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==} - engines: {node: '>=8'} - - arraybuffer.prototype.slice@1.0.3: - resolution: {integrity: sha512-bMxMKAjg13EBSVscxTaYA4mRc5t1UAXa2kXiGTNfZ079HIWXEkKmkgFrh/nJqamaLSrXO5H4WFFkPEaLJWbs3A==} - engines: {node: '>= 0.4'} - - arrify@3.0.0: - resolution: {integrity: sha512-tLkvA81vQG/XqE2mjDkGQHoOINtMHtysSnemrmoGe6PydDPMRbVugqyk4A6V/WDWEfm3l+0d8anA9r8cv/5Jaw==} - engines: {node: '>=12'} - - asn1@0.2.6: - resolution: {integrity: sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==} - - assert-plus@1.0.0: - resolution: {integrity: sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==} - engines: {node: '>=0.8'} - - assertion-error@1.1.0: - resolution: {integrity: sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==} - - astral-regex@2.0.0: - resolution: {integrity: sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==} - engines: {node: '>=8'} - - async@3.2.5: - resolution: {integrity: sha512-baNZyqaaLhyLVKm/DlvdW051MSgO6b8eVfIezl9E5PqWxFgzLm/wQntEW4zOytVburDEr0JlALEpdOFwvErLsg==} - - asynckit@0.4.0: - resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==} - - at-least-node@1.0.0: - resolution: {integrity: sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==} - engines: {node: '>= 4.0.0'} - - atomic-sleep@1.0.0: - resolution: {integrity: sha512-kNOjDqAh7px0XWNI+4QbzoiR/nTkHAWNud2uvnJquD1/x5a7EQZMJT0AczqK0Qn67oY/TTQ1LbUKajZpp3I9tQ==} - engines: {node: '>=8.0.0'} - - available-typed-arrays@1.0.7: - resolution: {integrity: sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==} - engines: {node: '>= 0.4'} - - avvio@7.2.5: - resolution: {integrity: sha512-AOhBxyLVdpOad3TujtC9kL/9r3HnTkxwQ5ggOsYrvvZP1cCFvzHWJd5XxZDFuTn+IN8vkKSG5SEJrd27vCSbeA==} - - aws-sign2@0.7.0: - resolution: {integrity: sha512-08kcGqnYf/YmjoRhfxyu+CLxBjUtHLXLXX/vUfx9l2LYzG3c1m61nrpyFUZI6zeS+Li/wWMMidD9KgrqtGq3mA==} - - aws4@1.13.0: - resolution: {integrity: sha512-3AungXC4I8kKsS9PuS4JH2nc+0bVY/mjgrephHTIi8fpEeGsTHBUJeosp0Wc1myYMElmD0B3Oc4XL/HVJ4PV2g==} - - axios@1.7.2: - resolution: {integrity: sha512-2A8QhOMrbomlDuiLeK9XibIBzuHeRcqqNOHp0Cyp5EoJ1IFDh+XZH3A6BkXtv0K4gFGCI0Y4BM7B1wOEi0Rmgw==} - - babel-jest@29.7.0: - resolution: {integrity: sha512-BrvGY3xZSwEcCzKvKsCi2GgHqDqsYkOP4/by5xCgIwGXQxIEh+8ew3gmrE1y7XRR6LHZIj6yLYnUi/mm2KXKBg==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - peerDependencies: - '@babel/core': ^7.8.0 - - babel-loader@9.1.3: - resolution: {integrity: sha512-xG3ST4DglodGf8qSwv0MdeWLhrDsw/32QMdTO5T1ZIp9gQur0HkCyFs7Awskr10JKXFXwpAhiCuYX5oGXnRGbw==} - engines: {node: '>= 14.15.0'} - peerDependencies: - '@babel/core': ^7.12.0 - webpack: '>=5' - - babel-plugin-istanbul@6.1.1: - resolution: {integrity: sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==} - engines: {node: '>=8'} - - babel-plugin-jest-hoist@29.6.3: - resolution: {integrity: sha512-ESAc/RJvGTFEzRwOTT4+lNDk/GNHMkKbNzsvT0qKRfDyyYTskxB5rnU2njIDYVxXCBHHEI1c0YwHob3WaYujOg==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - - babel-plugin-polyfill-corejs2@0.4.11: - resolution: {integrity: sha512-sMEJ27L0gRHShOh5G54uAAPaiCOygY/5ratXuiyb2G46FmlSpc9eFCzYVyDiPxfNbwzA7mYahmjQc5q+CZQ09Q==} - peerDependencies: - '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 - - babel-plugin-polyfill-corejs3@0.10.4: - resolution: {integrity: sha512-25J6I8NGfa5YkCDogHRID3fVCadIR8/pGl1/spvCkzb6lVn6SR3ojpx9nOn9iEBcUsjY24AmdKm5khcfKdylcg==} - peerDependencies: - '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 - - babel-plugin-polyfill-regenerator@0.6.2: - resolution: {integrity: sha512-2R25rQZWP63nGwaAswvDazbPXfrM3HwVoBXK6HcqeKrSrL/JqcC/rDcf95l4r7LXLyxDXc8uQDa064GubtCABg==} - peerDependencies: - '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 - - babel-preset-current-node-syntax@1.0.1: - resolution: {integrity: sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==} - peerDependencies: - '@babel/core': ^7.0.0 - - babel-preset-jest@29.6.3: - resolution: {integrity: sha512-0B3bhxR6snWXJZtR/RliHTDPRgn1sNHOR0yVtq/IiQFyuOVjFS+wuio/R4gSNkyYmKmJB4wGZv2NZanmKmTnNA==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - peerDependencies: - '@babel/core': ^7.0.0 - - bail@2.0.2: - resolution: {integrity: sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw==} - - balanced-match@1.0.2: - resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} - - base64-js@1.5.1: - resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} - - batch@0.6.1: - resolution: {integrity: sha512-x+VAiMRL6UPkx+kudNvxTl6hB2XNNCG2r+7wixVfIYwu/2HKRXimwQyaumLjMveWvT2Hkd/cAJw+QBMfJ/EKVw==} - - bcrypt-pbkdf@1.0.2: - resolution: {integrity: sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w==} - - binary-extensions@2.3.0: - resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==} - engines: {node: '>=8'} - - binary-searching@2.0.5: - resolution: {integrity: sha512-v4N2l3RxL+m4zDxyxz3Ne2aTmiPn8ZUpKFpdPtO+ItW1NcTCXA7JeHG5GMBSvoKSkQZ9ycS+EouDVxYB9ufKWA==} - - binary@0.3.0: - resolution: {integrity: sha512-D4H1y5KYwpJgK8wk1Cue5LLPgmwHKYSChkbspQg5JtVuR5ulGckxfR62H3AE9UDkdMC8yyXlqYihuz3Aqg2XZg==} - - blob-util@2.0.2: - resolution: {integrity: sha512-T7JQa+zsXXEa6/8ZhHcQEW1UFfVM49Ts65uBkFL6fz2QmrElqmbajIDJvuA0tEhRe5eIjpV9ZF+0RfZR9voJFQ==} - - bluebird@3.7.1: - resolution: {integrity: sha512-DdmyoGCleJnkbp3nkbxTLJ18rjDsE4yCggEwKNXkeV123sPNfOCYeDoeuOY+F2FrSjO1YXcTU+dsy96KMy+gcg==} - - bluebird@3.7.2: - resolution: {integrity: sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==} - - bmpimagejs@1.0.4: - resolution: {integrity: sha512-21oKU7kbRt2OgOOj7rdiNr/yznDNUQ585plxR00rsmECcZr+6O1oCwB8OIoSHk/bDhbG8mFXIdeQuCPHgZ6QBw==} - - body-parser@1.20.2: - resolution: {integrity: sha512-ml9pReCu3M61kGlqoTm2umSXTlRTuGTx0bfYj+uIUKKYycG5NtSbeetV3faSU6R7ajOPw0g/J1PvK4qNy7s5bA==} - engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} - - bonjour-service@1.2.1: - resolution: {integrity: sha512-oSzCS2zV14bh2kji6vNe7vrpJYCHGvcZnlffFQ1MEoX/WOeQ/teD8SYWKR942OI3INjq8OMNJlbPK5LLLUxFDw==} - - boxen@5.1.2: - resolution: {integrity: sha512-9gYgQKXx+1nP8mP7CzFyaUARhg7D3n1dF/FnErWmu9l6JvGpNUN278h0aSb+QjoiKSWG+iZ3uHrcqk0qrY9RQQ==} - engines: {node: '>=10'} - - brace-expansion@1.1.11: - resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} - - brace-expansion@2.0.1: - resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==} - - braces@3.0.3: - resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} - engines: {node: '>=8'} - - browserslist@4.23.1: - resolution: {integrity: sha512-TUfofFo/KsK/bWZ9TWQ5O26tsWW4Uhmt8IYklbnUa70udB6P2wA7w7o4PY4muaEPBQaAX+CEnmmIA41NVHtPVw==} - engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} - hasBin: true - - bser@2.1.1: - resolution: {integrity: sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==} - - buffer-crc32@0.2.13: - resolution: {integrity: sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==} - - buffer-from@1.1.2: - resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} - - buffer@5.7.1: - resolution: {integrity: sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==} - - buffer@6.0.3: - resolution: {integrity: sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==} - - buffers@0.1.1: - resolution: {integrity: sha512-9q/rDEGSb/Qsvv2qvzIzdluL5k7AaJOTrw23z9reQthrbF7is4CtlT0DXyO1oei2DCp4uojjzQ7igaSHp1kAEQ==} - engines: {node: '>=0.2.0'} - - builtin-modules@3.3.0: - resolution: {integrity: sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==} - engines: {node: '>=6'} - - bytes@3.0.0: - resolution: {integrity: sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw==} - engines: {node: '>= 0.8'} - - bytes@3.1.2: - resolution: {integrity: sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==} - engines: {node: '>= 0.8'} - - cac@6.7.14: - resolution: {integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==} - engines: {node: '>=8'} - - cacheable-lookup@5.0.4: - resolution: {integrity: sha512-2/kNscPhpcxrOigMZzbiWF7dz8ilhb/nIHU3EyZiXWXpeq/au8qJ8VhdftMkty3n7Gj6HIGalQG8oiBNB3AJgA==} - engines: {node: '>=10.6.0'} - - cacheable-request@7.0.4: - resolution: {integrity: sha512-v+p6ongsrp0yTGbJXjgxPow2+DL93DASP4kXCDKb8/bwRtt9OEF3whggkkDkGNzgcWy2XaF4a8nZglC7uElscg==} - engines: {node: '>=8'} - - cachedir@2.4.0: - resolution: {integrity: sha512-9EtFOZR8g22CL7BWjJ9BUx1+A/djkofnyW3aOXZORNW2kxoUpx2h+uN2cOqwPmFhnpVmxg+KW2OjOSgChTEvsQ==} - engines: {node: '>=6'} - - caching-transform@4.0.0: - resolution: {integrity: sha512-kpqOvwXnjjN44D89K5ccQC+RUrsy7jB/XLlRrx0D7/2HNcTPqzsb6XgYoErwko6QsV184CA2YgS1fxDiiDZMWA==} - engines: {node: '>=8'} - - call-bind@1.0.7: - resolution: {integrity: sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==} - engines: {node: '>= 0.4'} - - call-me-maybe@1.0.2: - resolution: {integrity: sha512-HpX65o1Hnr9HH25ojC1YGs7HCQLq0GCOibSaWER0eNpgJ/Z1MZv2mTc7+xh6WOPxbRVcmgbv4hGU+uSQ/2xFZQ==} - - callsites@3.1.0: - resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} - engines: {node: '>=6'} - - camelcase-css@2.0.1: - resolution: {integrity: sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==} - engines: {node: '>= 6'} - - camelcase@5.3.1: - resolution: {integrity: sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==} - engines: {node: '>=6'} - - camelcase@6.3.0: - resolution: {integrity: sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==} - engines: {node: '>=10'} - - caniuse-lite@1.0.30001633: - resolution: {integrity: sha512-6sT0yf/z5jqf8tISAgpJDrmwOpLsrpnyCdD/lOZKvKkkJK4Dn0X5i7KF7THEZhOq+30bmhwBlNEaqPUiHiKtZg==} - - caseless@0.12.0: - resolution: {integrity: sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==} - - ccount@2.0.1: - resolution: {integrity: sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==} - - chai@4.4.1: - resolution: {integrity: sha512-13sOfMv2+DWduEU+/xbun3LScLoqN17nBeTLUsmDfKdoiC1fr0n9PU4guu4AhRcOVFk/sW8LyZWHuhWtQZiF+g==} - engines: {node: '>=4'} - - chainsaw@0.1.0: - resolution: {integrity: sha512-75kWfWt6MEKNC8xYXIdRpDehRYY/tNSgwKaJq+dbbDcxORuVrrQ+SEHoWsniVn9XPYfP4gmdWIeDk/4YNp1rNQ==} - - chalk-template@1.1.0: - resolution: {integrity: sha512-T2VJbcDuZQ0Tb2EWwSotMPJjgpy1/tGee1BTpUNsGZ/qgNjV2t7Mvu+d4600U564nbLesN1x2dPL+xii174Ekg==} - engines: {node: '>=14.16'} - - chalk@1.1.3: - resolution: {integrity: sha512-U3lRVLMSlsCfjqYPbLyVv11M9CPW4I728d6TCKMAOJueEeB9/8o+eSsMnxPJD+Q+K909sdESg7C+tIkoH6on1A==} - engines: {node: '>=0.10.0'} - - chalk@2.4.2: - resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==} - engines: {node: '>=4'} - - chalk@3.0.0: - resolution: {integrity: sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==} - engines: {node: '>=8'} - - chalk@4.1.2: - resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} - engines: {node: '>=10'} - - chalk@5.3.0: - resolution: {integrity: sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==} - engines: {node: ^12.17.0 || ^14.13 || >=16.0.0} - - char-regex@1.0.2: - resolution: {integrity: sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==} - engines: {node: '>=10'} - - character-entities-legacy@1.1.4: - resolution: {integrity: sha512-3Xnr+7ZFS1uxeiUDvV02wQ+QDbc55o97tIV5zHScSPJpcLm/r0DFPcoY3tYRp+VZukxuMeKgXYmsXQHO05zQeA==} - - character-entities@1.2.4: - resolution: {integrity: sha512-iBMyeEHxfVnIakwOuDXpVkc54HijNgCyQB2w0VfGQThle6NXn50zU6V/u+LDhxHcDUPojn6Kpga3PTAD8W1bQw==} - - character-entities@2.0.2: - resolution: {integrity: sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ==} - - character-reference-invalid@1.1.4: - resolution: {integrity: sha512-mKKUkUbhPpQlCOfIuZkvSEgktjPFIsZKRRbC6KWVEMvlzblj3i3asQv5ODsrwt0N3pHAEvjP8KTQPHkp0+6jOg==} - - check-error@1.0.3: - resolution: {integrity: sha512-iKEoDYaRmd1mxM90a2OEfWhjsjPpYPuQ+lMYsoxB126+t8fw7ySEO48nmDg5COTjxDI65/Y2OWpeEHk3ZOe8zg==} - - check-more-types@2.24.0: - resolution: {integrity: sha512-Pj779qHxV2tuapviy1bSZNEL1maXr13bPYpsvSDB68HlYcYuhlDrmGd63i0JHMCLKzc7rUSNIrpdJlhVlNwrxA==} - engines: {node: '>= 0.8.0'} - - chevrotain-allstar@0.3.1: - resolution: {integrity: sha512-b7g+y9A0v4mxCW1qUhf3BSVPg+/NvGErk/dOkrDaHA0nQIQGAtrOjlX//9OQtRlSCy+x9rfB5N8yC71lH1nvMw==} - peerDependencies: - chevrotain: ^11.0.0 - - chevrotain@11.0.3: - resolution: {integrity: sha512-ci2iJH6LeIkvP9eJW6gpueU8cnZhv85ELY8w8WiFtNjMHA5ad6pQLaJo9mEly/9qUyCpvqX8/POVUTf18/HFdw==} - - chokidar@3.6.0: - resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==} - engines: {node: '>= 8.10.0'} - - chrome-trace-event@1.0.4: - resolution: {integrity: sha512-rNjApaLzuwaOTjCiT8lSDdGN1APCiqkChLMJxJPWLunPAt5fy8xgU9/jNOchV84wfIxrA0lRQB7oCT8jrn/wrQ==} - engines: {node: '>=6.0'} - - ci-info@3.9.0: - resolution: {integrity: sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==} - engines: {node: '>=8'} - - ci-info@4.0.0: - resolution: {integrity: sha512-TdHqgGf9odd8SXNuxtUBVx8Nv+qZOejE6qyqiy5NtbYYQOeFa6zmHkxlPzmaLxWWHsU6nJmB7AETdVPi+2NBUg==} - engines: {node: '>=8'} - - cjs-module-lexer@1.3.1: - resolution: {integrity: sha512-a3KdPAANPbNE4ZUv9h6LckSl9zLsYOP4MBmhIPkRaeyybt+r4UghLvq+xw/YwUcC1gqylCkL4rdVs3Lwupjm4Q==} - - cjson@0.3.0: - resolution: {integrity: sha512-bBRQcCIHzI1IVH59fR0bwGrFmi3Btb/JNwM/n401i1DnYgWndpsUBiQRAddLflkZage20A2d25OAWZZk0vBRlA==} - engines: {node: '>= 0.3.0'} - - clap@3.1.1: - resolution: {integrity: sha512-vp42956Ax06WwaaheYEqEOgXZ3VKJxgccZ0gJL0HpyiupkIS9RVJFo5eDU1BPeQAOqz+cclndZg4DCqG1sJReQ==} - engines: {node: ^12.20.0 || ^14.13.0 || >=15.0.0, npm: '>=7.0.0'} - - clean-regexp@1.0.0: - resolution: {integrity: sha512-GfisEZEJvzKrmGWkvfhgzcz/BllN1USeqD2V6tg14OAOgaCD2Z/PUEuxnAZ/nPvmaHRG7a8y77p1T/IRQ4D1Hw==} - engines: {node: '>=4'} - - clean-stack@2.2.0: - resolution: {integrity: sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==} - engines: {node: '>=6'} - - clean-stack@4.2.0: - resolution: {integrity: sha512-LYv6XPxoyODi36Dp976riBtSY27VmFo+MKqEU9QCCWyTrdEPDog+RWA7xQWHi6Vbp61j5c4cdzzX1NidnwtUWg==} - engines: {node: '>=12'} - - clear-module@4.1.2: - resolution: {integrity: sha512-LWAxzHqdHsAZlPlEyJ2Poz6AIs384mPeqLVCru2p0BrP9G/kVGuhNyZYClLO6cXlnuJjzC8xtsJIuMjKqLXoAw==} - engines: {node: '>=8'} - - cli-boxes@2.2.1: - resolution: {integrity: sha512-y4coMcylgSCdVinjiDBuR8PCC2bLjyGTwEmPb9NHR/QaNU6EUOXcTY/s6VjGMD6ENSEaeQYHCY0GNGS5jfMwPw==} - engines: {node: '>=6'} - - cli-color@2.0.4: - resolution: {integrity: sha512-zlnpg0jNcibNrO7GG9IeHH7maWFeCz+Ja1wx/7tZNU5ASSSSZ+/qZciM0/LHCYxSdqv5h2sdbQ/PXYdOuetXvA==} - engines: {node: '>=0.10'} - - cli-cursor@3.1.0: - resolution: {integrity: sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==} - engines: {node: '>=8'} - - cli-cursor@4.0.0: - resolution: {integrity: sha512-VGtlMu3x/4DOtIUwEkRezxUZ2lBacNJCHash0N0WeZDBS+7Ux1dm3XWAgWYxLJFMMdOeXMHXorshEFhbMSGelg==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - - cli-table3@0.6.5: - resolution: {integrity: sha512-+W/5efTR7y5HRD7gACw9yQjqMVvEMLBHmboM/kPWam+H+Hmyrgjh6YncVKK122YZkXrLudzTuAukUw9FnMf7IQ==} - engines: {node: 10.* || >= 12.*} - - cli-truncate@2.1.0: - resolution: {integrity: sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg==} - engines: {node: '>=8'} - - cli-truncate@4.0.0: - resolution: {integrity: sha512-nPdaFdQ0h/GEigbPClz11D0v/ZJEwxmeVZGeMo3Z5StPtUTkA9o1lD6QwoirYiSDzbcwn2XcjwmCp68W1IS4TA==} - engines: {node: '>=18'} - - cliui@6.0.0: - resolution: {integrity: sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==} - - cliui@8.0.1: - resolution: {integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==} - engines: {node: '>=12'} - - clone-deep@4.0.1: - resolution: {integrity: sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==} - engines: {node: '>=6'} - - clone-response@1.0.3: - resolution: {integrity: sha512-ROoL94jJH2dUVML2Y/5PEDNaSHgeOdSDicUyS7izcF63G6sTc/FTjLub4b8Il9S8S0beOfYt0TaA5qvFK+w0wA==} - - co@4.6.0: - resolution: {integrity: sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==} - engines: {iojs: '>= 1.0.0', node: '>= 0.12.0'} - - collect-v8-coverage@1.0.2: - resolution: {integrity: sha512-lHl4d5/ONEbLlJvaJNtsF/Lz+WvB07u2ycqTYbdrq7UypDXailES4valYb2eWiJFxZlVmpGekfqoxQhzyFdT4Q==} - - color-convert@1.9.3: - resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} - - color-convert@2.0.1: - resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} - engines: {node: '>=7.0.0'} - - color-name@1.1.3: - resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==} - - color-name@1.1.4: - resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} - - color-string@1.9.1: - resolution: {integrity: sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==} - - colorette@2.0.20: - resolution: {integrity: sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==} - - colors@0.5.1: - resolution: {integrity: sha512-XjsuUwpDeY98+yz959OlUK6m7mLBM+1MEG5oaenfuQnNnrQk1WvtcvFgN3FNDP3f2NmZ211t0mNEfSEN1h0eIg==} - engines: {node: '>=0.1.90'} - - combined-stream@1.0.8: - resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==} - engines: {node: '>= 0.8'} - - commander@11.0.0: - resolution: {integrity: sha512-9HMlXtt/BNoYr8ooyjjNRdIilOTkVJXB+GhxMTtOKwk0R4j4lS4NpjuqmRxroBfnfTSHQIHQB7wryHhXarNjmQ==} - engines: {node: '>=16'} - - commander@12.1.0: - resolution: {integrity: sha512-Vw8qHK3bZM9y/P10u3Vib8o/DdkvA2OtPtZvD871QKjy74Wj1WSKFILMPRPSdUSx5RFK1arlJzEtA4PkFgnbuA==} - engines: {node: '>=18'} - - commander@2.20.3: - resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==} - - commander@4.1.1: - resolution: {integrity: sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==} - engines: {node: '>= 6'} - - commander@5.1.0: - resolution: {integrity: sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg==} - engines: {node: '>= 6'} - - commander@6.2.1: - resolution: {integrity: sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA==} - engines: {node: '>= 6'} - - commander@7.2.0: - resolution: {integrity: sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==} - engines: {node: '>= 10'} - - commander@8.3.0: - resolution: {integrity: sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==} - engines: {node: '>= 12'} - - comment-json@4.2.3: - resolution: {integrity: sha512-SsxdiOf064DWoZLH799Ata6u7iV658A11PlWtZATDlXPpKGJnbJZ5Z24ybixAi+LUUqJ/GKowAejtC5GFUG7Tw==} - engines: {node: '>= 6'} - - comment-parser@1.4.1: - resolution: {integrity: sha512-buhp5kePrmda3vhc5B9t7pUQXAb2Tnd0qgpkIhPhkHXxJpiPJ11H0ZEU0oBpJ2QztSbzG/ZxMj/CHsYJqRHmyg==} - engines: {node: '>= 12.0.0'} - - common-path-prefix@3.0.0: - resolution: {integrity: sha512-QE33hToZseCH3jS0qN96O/bSh3kaw/h+Tq7ngyY9eWDUnTlTNUyqfqvCXioLe5Na5jFsL78ra/wuBU4iuEgd4w==} - - common-tags@1.8.2: - resolution: {integrity: sha512-gk/Z852D2Wtb//0I+kRFNKKE9dIIVirjoqPoA1wJU+XePVXZfGeBpk45+A1rKO4Q43prqWBNY/MiIeRLbPWUaA==} - engines: {node: '>=4.0.0'} - - commondir@1.0.1: - resolution: {integrity: sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==} - - compressible@2.0.18: - resolution: {integrity: sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==} - engines: {node: '>= 0.6'} - - compression@1.7.4: - resolution: {integrity: sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==} - engines: {node: '>= 0.8.0'} - - concat-map@0.0.1: - resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} - - concurrently@8.2.2: - resolution: {integrity: sha512-1dP4gpXFhei8IOtlXRE/T/4H88ElHgTiUzh71YUmtjTEHMSRS2Z/fgOxHSxxusGHogsRfxNq1vyAwxSC+EVyDg==} - engines: {node: ^14.13.0 || >=16.0.0} - hasBin: true - - confbox@0.1.7: - resolution: {integrity: sha512-uJcB/FKZtBMCJpK8MQji6bJHgu1tixKPxRLeGkNzBoOZzpnZUJm0jm2/sBDWcuBx1dYgxV4JU+g5hmNxCyAmdA==} - - connect-history-api-fallback@2.0.0: - resolution: {integrity: sha512-U73+6lQFmfiNPrYbXqr6kZ1i1wiRqXnp2nhMsINseWXO8lDau0LGEffJ8kQi4EjLZympVgRdvqjAgiZ1tgzDDA==} - engines: {node: '>=0.8'} - - consola@3.2.3: - resolution: {integrity: sha512-I5qxpzLv+sJhTVEoLYNcTW+bThDCPsit0vLNKShZx6rLtpilNpmmeTPaeqJb9ZE9dV3DGaeby6Vuhrw38WjeyQ==} - engines: {node: ^14.18.0 || >=16.10.0} - - content-disposition@0.5.4: - resolution: {integrity: sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==} - engines: {node: '>= 0.6'} - - content-type@1.0.5: - resolution: {integrity: sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==} - engines: {node: '>= 0.6'} - - convert-source-map@1.9.0: - resolution: {integrity: sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==} - - convert-source-map@2.0.0: - resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==} - - cookie-signature@1.0.6: - resolution: {integrity: sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==} - - cookie@0.5.0: - resolution: {integrity: sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==} - engines: {node: '>= 0.6'} - - cookie@0.6.0: - resolution: {integrity: sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==} - engines: {node: '>= 0.6'} - - core-js-compat@3.37.1: - resolution: {integrity: sha512-9TNiImhKvQqSUkOvk/mMRZzOANTiEVC7WaBNhHcKM7x+/5E1l5NvsysR19zuDQScE8k+kfQXWRN3AtS/eOSHpg==} - - core-util-is@1.0.2: - resolution: {integrity: sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==} - - core-util-is@1.0.3: - resolution: {integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==} - - cors@2.8.5: - resolution: {integrity: sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==} - engines: {node: '>= 0.10'} - - cose-base@1.0.3: - resolution: {integrity: sha512-s9whTXInMSgAp/NVXVNuVxVKzGH2qck3aQlVHxDCdAEPgtMKwc4Wq6/QKhgdEdgbLSi9rBTAcPoRa6JpiG4ksg==} - - cp-file@10.0.0: - resolution: {integrity: sha512-vy2Vi1r2epK5WqxOLnskeKeZkdZvTKfFZQCplE3XWsP+SUJyd5XAUFC9lFgTjjXJF2GMne/UML14iEmkAaDfFg==} - engines: {node: '>=14.16'} - - cpy-cli@5.0.0: - resolution: {integrity: sha512-fb+DZYbL9KHc0BC4NYqGRrDIJZPXUmjjtqdw4XRRg8iV8dIfghUX/WiL+q4/B/KFTy3sK6jsbUhBaz0/Hxg7IQ==} - engines: {node: '>=16'} - hasBin: true - - cpy@10.1.0: - resolution: {integrity: sha512-VC2Gs20JcTyeQob6UViBLnyP0bYHkBh6EiKzot9vi2DmeGlFT9Wd7VG3NBrkNx/jYvFBeyDOMMHdHQhbtKLgHQ==} - engines: {node: '>=16'} - - create-jest@29.7.0: - resolution: {integrity: sha512-Adz2bdH0Vq3F53KEMJOoftQFutWCukm6J24wbPWRO4k1kMY7gS7ds/uoJkNuV8wDCtWWnuwGcJwpWcih+zEW1Q==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - hasBin: true - - cross-env@7.0.3: - resolution: {integrity: sha512-+/HKd6EgcQCJGh2PSjZuUitQBQynKor4wrFbRg4DtAgS1aWO+gU52xpH7M9ScGgXSYmAVS9bIJ8EzuaGw0oNAw==} - engines: {node: '>=10.14', npm: '>=6', yarn: '>=1'} - hasBin: true - - cross-spawn@6.0.5: - resolution: {integrity: sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==} - engines: {node: '>=4.8'} - - cross-spawn@7.0.3: - resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} - engines: {node: '>= 8'} - - crypto-random-string@2.0.0: - resolution: {integrity: sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==} - engines: {node: '>=8'} - - cspell-config-lib@8.8.4: - resolution: {integrity: sha512-Xf+aL669Cm+MYZTZULVWRQXB7sRWx9qs0hPrgqxeaWabLUISK57/qwcI24TPVdYakUCoud9Nv+woGi5FcqV5ZQ==} - engines: {node: '>=18'} - - cspell-dictionary@8.8.4: - resolution: {integrity: sha512-eDi61MDDZycS5EASz5FiYKJykLEyBT0mCvkYEUCsGVoqw8T9gWuWybwwqde3CMq9TOwns5pxGcFs2v9RYgtN5A==} - engines: {node: '>=18'} - - cspell-gitignore@8.8.4: - resolution: {integrity: sha512-rLdxpBh0kp0scwqNBZaWVnxEVmSK3UWyVSZmyEL4jmmjusHYM9IggfedOhO4EfGCIdQ32j21TevE0tTslyc4iA==} - engines: {node: '>=18'} - hasBin: true - - cspell-glob@8.8.4: - resolution: {integrity: sha512-+tRrOfTSbF/44uNl4idMZVPNfNM6WTmra4ZL44nx23iw1ikNhqZ+m0PC1oCVSlURNBEn8faFXjC/oT2BfgxoUQ==} - engines: {node: '>=18'} - - cspell-grammar@8.8.4: - resolution: {integrity: sha512-UxDO517iW6vs/8l4OhLpdMR7Bp+tkquvtld1gWz8WYQiDwORyf0v5a3nMh4ILYZGoolOSnDuI9UjWOLI6L/vvQ==} - engines: {node: '>=18'} - hasBin: true - - cspell-io@8.8.4: - resolution: {integrity: sha512-aqB/QMx+xns46QSyPEqi05uguCSxvqRnh2S/ZOhhjPlKma/7hK9niPRcwKwJXJEtNzdiZZkkC1uZt9aJe/7FTA==} - engines: {node: '>=18'} - - cspell-lib@8.8.4: - resolution: {integrity: sha512-hK8gYtdQ9Lh86c8cEHITt5SaoJbfvXoY/wtpR4k393YR+eAxKziyv8ihQyFE/Z/FwuqtNvDrSntP9NLwTivd3g==} - engines: {node: '>=18'} - - cspell-trie-lib@8.8.4: - resolution: {integrity: sha512-yCld4ZL+pFa5DL+Arfvmkv3cCQUOfdRlxElOzdkRZqWyO6h/UmO8xZb21ixVYHiqhJGZmwc3BG9Xuw4go+RLig==} - engines: {node: '>=18'} - - cspell@8.8.4: - resolution: {integrity: sha512-eRUHiXvh4iRapw3lqE1nGOEAyYVfa/0lgK/e34SpcM/ECm4QuvbfY7Yl0ozCbiYywecog0RVbeJJUEYJTN5/Mg==} - engines: {node: '>=18'} - hasBin: true - - css-tree@2.3.1: - resolution: {integrity: sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw==} - engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0} - - cssesc@3.0.0: - resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==} - engines: {node: '>=4'} - hasBin: true - - cssstyle@4.0.1: - resolution: {integrity: sha512-8ZYiJ3A/3OkDd093CBT/0UKDWry7ak4BdPTFP2+QEP7cmhouyq/Up709ASSj2cK02BbZiMgk7kYjZNS4QP5qrQ==} - engines: {node: '>=18'} - - csstree-validator@3.0.0: - resolution: {integrity: sha512-Y5OSq3wI0Xz6L7DCgJQtQ97U+v99SkX9r663VjpvUMJPhEr0A149OxiAGqcnokB5bt81irgnMudspBzujzqn0w==} - engines: {node: ^12.20.0 || ^14.13.0 || >=15.0.0, npm: '>=7.0.0'} - hasBin: true - - csstype@3.1.3: - resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==} - - cuint@0.2.2: - resolution: {integrity: sha512-d4ZVpCW31eWwCMe1YT3ur7mUDnTXbgwyzaL320DrcRT45rfjYxkt5QWLrmOJ+/UEAI2+fQgKe/fCjR8l4TpRgw==} - - cypress-image-snapshot@4.0.1: - resolution: {integrity: sha512-PBpnhX/XItlx3/DAk5ozsXQHUi72exybBNH5Mpqj1DVmjq+S5Jd9WE5CRa4q5q0zuMZb2V2VpXHth6MjFpgj9Q==} - engines: {node: '>=8'} - peerDependencies: - cypress: ^4.5.0 - - cypress@13.11.0: - resolution: {integrity: sha512-NXXogbAxVlVje4XHX+Cx5eMFZv4Dho/2rIcdBHg9CNPFUGZdM4cRdgIgM7USmNYsC12XY0bZENEQ+KBk72fl+A==} - engines: {node: ^16.0.0 || ^18.0.0 || >=20.0.0} - hasBin: true - - cytoscape-cose-bilkent@4.1.0: - resolution: {integrity: sha512-wgQlVIUJF13Quxiv5e1gstZ08rnZj2XaLHGoFMYXz7SkNfCDOOteKBE6SYRfA9WxxI/iBc3ajfDoc6hb/MRAHQ==} - peerDependencies: - cytoscape: ^3.2.0 - - cytoscape@3.29.2: - resolution: {integrity: sha512-2G1ycU28Nh7OHT9rkXRLpCDP30MKH1dXJORZuBhtEhEW7pKwgPi77ImqlCWinouyE1PNepIOGZBOrE84DG7LyQ==} - engines: {node: '>=0.10'} - - d3-array@2.12.1: - resolution: {integrity: sha512-B0ErZK/66mHtEsR1TkPEEkwdy+WDesimkM5gpZr5Dsg54BiTA5RXtYW5qTLIAcekaS9xfZrzBLF/OAkB3Qn1YQ==} - - d3-array@3.2.4: - resolution: {integrity: sha512-tdQAmyA18i4J7wprpYq8ClcxZy3SC31QMeByyCFyRt7BVHdREQZ5lpzoe5mFEYZUWe+oq8HBvk9JjpibyEV4Jg==} - engines: {node: '>=12'} - - d3-axis@3.0.0: - resolution: {integrity: sha512-IH5tgjV4jE/GhHkRV0HiVYPDtvfjHQlQfJHs0usq7M30XcSBvOotpmH1IgkcXsO/5gEQZD43B//fc7SRT5S+xw==} - engines: {node: '>=12'} - - d3-brush@3.0.0: - resolution: {integrity: sha512-ALnjWlVYkXsVIGlOsuWH1+3udkYFI48Ljihfnh8FZPF2QS9o+PzGLBslO0PjzVoHLZ2KCVgAM8NVkXPJB2aNnQ==} - engines: {node: '>=12'} - - d3-chord@3.0.1: - resolution: {integrity: sha512-VE5S6TNa+j8msksl7HwjxMHDM2yNK3XCkusIlpX5kwauBfXuyLAtNg9jCp/iHH61tgI4sb6R/EIMWCqEIdjT/g==} - engines: {node: '>=12'} - - d3-color@3.1.0: - resolution: {integrity: sha512-zg/chbXyeBtMQ1LbD/WSoW2DpC3I0mpmPdW+ynRTj/x2DAWYrIY7qeZIHidozwV24m4iavr15lNwIwLxRmOxhA==} - engines: {node: '>=12'} - - d3-contour@4.0.2: - resolution: {integrity: sha512-4EzFTRIikzs47RGmdxbeUvLWtGedDUNkTcmzoeyg4sP/dvCexO47AaQL7VKy/gul85TOxw+IBgA8US2xwbToNA==} - engines: {node: '>=12'} - - d3-delaunay@6.0.4: - resolution: {integrity: sha512-mdjtIZ1XLAM8bm/hx3WwjfHt6Sggek7qH043O8KEjDXN40xi3vx/6pYSVTwLjEgiXQTbvaouWKynLBiUZ6SK6A==} - engines: {node: '>=12'} - - d3-dispatch@3.0.1: - resolution: {integrity: sha512-rzUyPU/S7rwUflMyLc1ETDeBj0NRuHKKAcvukozwhshr6g6c5d8zh4c2gQjY2bZ0dXeGLWc1PF174P2tVvKhfg==} - engines: {node: '>=12'} - - d3-drag@3.0.0: - resolution: {integrity: sha512-pWbUJLdETVA8lQNJecMxoXfH6x+mO2UQo8rSmZ+QqxcbyA3hfeprFgIT//HW2nlHChWeIIMwS2Fq+gEARkhTkg==} - engines: {node: '>=12'} - - d3-dsv@3.0.1: - resolution: {integrity: sha512-UG6OvdI5afDIFP9w4G0mNq50dSOsXHJaRE8arAS5o9ApWnIElp8GZw1Dun8vP8OyHOZ/QJUKUJwxiiCCnUwm+Q==} - engines: {node: '>=12'} - hasBin: true - - d3-ease@3.0.1: - resolution: {integrity: sha512-wR/XK3D3XcLIZwpbvQwQ5fK+8Ykds1ip7A2Txe0yxncXSdq1L9skcG7blcedkOX+ZcgxGAmLX1FrRGbADwzi0w==} - engines: {node: '>=12'} - - d3-fetch@3.0.1: - resolution: {integrity: sha512-kpkQIM20n3oLVBKGg6oHrUchHM3xODkTzjMoj7aWQFq5QEM+R6E4WkzT5+tojDY7yjez8KgCBRoj4aEr99Fdqw==} - engines: {node: '>=12'} - - d3-force@3.0.0: - resolution: {integrity: sha512-zxV/SsA+U4yte8051P4ECydjD/S+qeYtnaIyAs9tgHCqfguma/aAQDjo85A9Z6EKhBirHRJHXIgJUlffT4wdLg==} - engines: {node: '>=12'} - - d3-format@3.1.0: - resolution: {integrity: sha512-YyUI6AEuY/Wpt8KWLgZHsIU86atmikuoOmCfommt0LYHiQSPjvX2AcFc38PX0CBpr2RCyZhjex+NS/LPOv6YqA==} - engines: {node: '>=12'} - - d3-geo@3.1.1: - resolution: {integrity: sha512-637ln3gXKXOwhalDzinUgY83KzNWZRKbYubaG+fGVuc/dxO64RRljtCTnf5ecMyE1RIdtqpkVcq0IbtU2S8j2Q==} - engines: {node: '>=12'} - - d3-hierarchy@3.1.2: - resolution: {integrity: sha512-FX/9frcub54beBdugHjDCdikxThEqjnR93Qt7PvQTOHxyiNCAlvMrHhclk3cD5VeAaq9fxmfRp+CnWw9rEMBuA==} - engines: {node: '>=12'} - - d3-interpolate@3.0.1: - resolution: {integrity: sha512-3bYs1rOD33uo8aqJfKP3JWPAibgw8Zm2+L9vBKEHJ2Rg+viTR7o5Mmv5mZcieN+FRYaAOWX5SJATX6k1PWz72g==} - engines: {node: '>=12'} - - d3-path@1.0.9: - resolution: {integrity: sha512-VLaYcn81dtHVTjEHd8B+pbe9yHWpXKZUC87PzoFmsFrJqgFwDe/qxfp5MlfsfM1V5E/iVt0MmEbWQ7FVIXh/bg==} - - d3-path@3.1.0: - resolution: {integrity: sha512-p3KP5HCf/bvjBSSKuXid6Zqijx7wIfNW+J/maPs+iwR35at5JCbLUT0LzF1cnjbCHWhqzQTIN2Jpe8pRebIEFQ==} - engines: {node: '>=12'} - - d3-polygon@3.0.1: - resolution: {integrity: sha512-3vbA7vXYwfe1SYhED++fPUQlWSYTTGmFmQiany/gdbiWgU/iEyQzyymwL9SkJjFFuCS4902BSzewVGsHHmHtXg==} - engines: {node: '>=12'} - - d3-quadtree@3.0.1: - resolution: {integrity: sha512-04xDrxQTDTCFwP5H6hRhsRcb9xxv2RzkcsygFzmkSIOJy3PeRJP7sNk3VRIbKXcog561P9oU0/rVH6vDROAgUw==} - engines: {node: '>=12'} - - d3-random@3.0.1: - resolution: {integrity: sha512-FXMe9GfxTxqd5D6jFsQ+DJ8BJS4E/fT5mqqdjovykEB2oFbTMDVdg1MGFxfQW+FBOGoB++k8swBrgwSHT1cUXQ==} - engines: {node: '>=12'} - - d3-sankey@0.12.3: - resolution: {integrity: sha512-nQhsBRmM19Ax5xEIPLMY9ZmJ/cDvd1BG3UVvt5h3WRxKg5zGRbvnteTyWAbzeSvlh3tW7ZEmq4VwR5mB3tutmQ==} - - d3-scale-chromatic@3.1.0: - resolution: {integrity: sha512-A3s5PWiZ9YCXFye1o246KoscMWqf8BsD9eRiJ3He7C9OBaxKhAd5TFCdEx/7VbKtxxTsu//1mMJFrEt572cEyQ==} - engines: {node: '>=12'} - - d3-scale@4.0.2: - resolution: {integrity: sha512-GZW464g1SH7ag3Y7hXjf8RoUuAFIqklOAq3MRl4OaWabTFJY9PN/E1YklhXLh+OQ3fM9yS2nOkCoS+WLZ6kvxQ==} - engines: {node: '>=12'} - - d3-selection@3.0.0: - resolution: {integrity: sha512-fmTRWbNMmsmWq6xJV8D19U/gw/bwrHfNXxrIN+HfZgnzqTHp9jOmKMhsTUjXOJnZOdZY9Q28y4yebKzqDKlxlQ==} - engines: {node: '>=12'} - - d3-shape@1.3.7: - resolution: {integrity: sha512-EUkvKjqPFUAZyOlhY5gzCxCeI0Aep04LwIRpsZ/mLFelJiUfnK56jo5JMDSE7yyP2kLSb6LtF+S5chMk7uqPqw==} - - d3-shape@3.2.0: - resolution: {integrity: sha512-SaLBuwGm3MOViRq2ABk3eLoxwZELpH6zhl3FbAoJ7Vm1gofKx6El1Ib5z23NUEhF9AsGl7y+dzLe5Cw2AArGTA==} - engines: {node: '>=12'} - - d3-time-format@4.1.0: - resolution: {integrity: sha512-dJxPBlzC7NugB2PDLwo9Q8JiTR3M3e4/XANkreKSUxF8vvXKqm1Yfq4Q5dl8budlunRVlUUaDUgFt7eA8D6NLg==} - engines: {node: '>=12'} - - d3-time@3.1.0: - resolution: {integrity: sha512-VqKjzBLejbSMT4IgbmVgDjpkYrNWUYJnbCGo874u7MMKIWsILRX+OpX/gTk8MqjpT1A/c6HY2dCA77ZN0lkQ2Q==} - engines: {node: '>=12'} - - d3-timer@3.0.1: - resolution: {integrity: sha512-ndfJ/JxxMd3nw31uyKoY2naivF+r29V+Lc0svZxe1JvvIRmi8hUsrMvdOwgS1o6uBHmiz91geQ0ylPP0aj1VUA==} - engines: {node: '>=12'} - - d3-transition@3.0.1: - resolution: {integrity: sha512-ApKvfjsSR6tg06xrL434C0WydLr7JewBB3V+/39RMHsaXTOG0zmt/OAXeng5M5LBm0ojmxJrpomQVZ1aPvBL4w==} - engines: {node: '>=12'} - peerDependencies: - d3-selection: 2 - 3 - - d3-zoom@3.0.0: - resolution: {integrity: sha512-b8AmV3kfQaqWAuacbPuNbL6vahnOJflOhexLzMMNLga62+/nh0JzvJ0aO/5a5MVgUFGS7Hu1P9P03o3fJkDCyw==} - engines: {node: '>=12'} - - d3@7.9.0: - resolution: {integrity: sha512-e1U46jVP+w7Iut8Jt8ri1YsPOvFpg46k+K8TpCb0P+zjCkjkPnV7WzfDJzMHy1LnA+wj5pLT1wjO901gLXeEhA==} - engines: {node: '>=12'} - - d@1.0.2: - resolution: {integrity: sha512-MOqHvMWF9/9MX6nza0KgvFH4HpMU0EF5uUDXqX/BtxtU8NfB0QzRtJ8Oe/6SuS4kbhyzVJwjd97EA4PKrzJ8bw==} - engines: {node: '>=0.12'} - - dagre-d3-es@7.0.10: - resolution: {integrity: sha512-qTCQmEhcynucuaZgY5/+ti3X/rnszKZhEQH/ZdWdtP1tA/y3VoHJzcVrO9pjjJCNpigfscAtoUB5ONcd2wNn0A==} - - dashdash@1.14.1: - resolution: {integrity: sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g==} - engines: {node: '>=0.10'} - - data-uri-to-buffer@4.0.1: - resolution: {integrity: sha512-0R9ikRb668HB7QDxT1vkpuUBtqc53YyAwMwGeUFKRojY/NWKvdZ+9UYtRfGmhqNbRkTSVpMbmyhXipFFv2cb/A==} - engines: {node: '>= 12'} - - data-urls@5.0.0: - resolution: {integrity: sha512-ZYP5VBHshaDAiVZxjbRVcFJpc+4xGgT0bK3vzy1HLN8jTO975HEbuYzZJcHoQEY5K1a0z8YayJkyVETa08eNTg==} - engines: {node: '>=18'} - - data-view-buffer@1.0.1: - resolution: {integrity: sha512-0lht7OugA5x3iJLOWFhWK/5ehONdprk0ISXqVFn/NFrDu+cuc8iADFrGQz5BnRK7LLU3JmkbXSxaqX+/mXYtUA==} - engines: {node: '>= 0.4'} - - data-view-byte-length@1.0.1: - resolution: {integrity: sha512-4J7wRJD3ABAzr8wP+OcIcqq2dlUKp4DVflx++hs5h5ZKydWMI6/D/fAot+yh6g2tHh8fLFTvNOaVN357NvSrOQ==} - engines: {node: '>= 0.4'} - - data-view-byte-offset@1.0.0: - resolution: {integrity: sha512-t/Ygsytq+R995EJ5PZlD4Cu56sWa8InXySaViRzw9apusqsOO2bQP+SbYzAhR0pFKoB+43lYy8rWban9JSuXnA==} - engines: {node: '>= 0.4'} - - date-fns@2.30.0: - resolution: {integrity: sha512-fnULvOpxnC5/Vg3NCiWelDsLiUc9bRwAPs/+LfTLNvetFCtCTN+yQz15C/fs4AwX1R9K5GLtLfn8QW+dWisaAw==} - engines: {node: '>=0.11'} - - dayjs@1.11.10: - resolution: {integrity: sha512-vjAczensTgRcqDERK0SR2XMwsF/tSvnvlv6VcF2GIhg6Sx4yOIt/irsr1RDJsKiIyBzJDpCoXiWWq28MqH2cnQ==} - - dayjs@1.11.11: - resolution: {integrity: sha512-okzr3f11N6WuqYtZSvm+F776mB41wRZMhKP+hc34YdW+KmtYYK9iqvHSwo2k9FEH3fhGXvOPV6yz2IcSrfRUDg==} - - debug@2.6.9: - resolution: {integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==} - peerDependencies: - supports-color: '*' - peerDependenciesMeta: - supports-color: - optional: true - - debug@3.2.7: - resolution: {integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==} - peerDependencies: - supports-color: '*' - peerDependenciesMeta: - supports-color: - optional: true - - debug@4.3.3: - resolution: {integrity: sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==} - engines: {node: '>=6.0'} - peerDependencies: - supports-color: '*' - peerDependenciesMeta: - supports-color: - optional: true - - debug@4.3.4: - resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} - engines: {node: '>=6.0'} - peerDependencies: - supports-color: '*' - peerDependenciesMeta: - supports-color: - optional: true - - debug@4.3.5: - resolution: {integrity: sha512-pt0bNEmneDIvdL1Xsd9oDQ/wrQRkXDT4AUWlNZNPKvW5x/jyO9VFXkJUP07vQ2upmw5PlaITaPKc31jK13V+jg==} - engines: {node: '>=6.0'} - peerDependencies: - supports-color: '*' - peerDependenciesMeta: - supports-color: - optional: true - - decamelize@1.2.0: - resolution: {integrity: sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==} - engines: {node: '>=0.10.0'} - - decimal.js@10.4.3: - resolution: {integrity: sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA==} - - decode-named-character-reference@1.0.2: - resolution: {integrity: sha512-O8x12RzrUF8xyVcY0KJowWsmaJxQbmy0/EtnNtHRpsOcT7dFk5W598coHqBVpmWo1oQQfsCqfCmkZN5DJrZVdg==} - - decompress-response@6.0.0: - resolution: {integrity: sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==} - engines: {node: '>=10'} - - dedent@1.5.3: - resolution: {integrity: sha512-NHQtfOOW68WD8lgypbLA5oT+Bt0xXJhiYvoR6SmmNXZfpzOGXwdKWmcwG8N7PwVVWV3eF/68nmD9BaJSsTBhyQ==} - peerDependencies: - babel-plugin-macros: ^3.1.0 - peerDependenciesMeta: - babel-plugin-macros: - optional: true - - deep-eql@4.1.4: - resolution: {integrity: sha512-SUwdGfqdKOwxCPeVYjwSyRpJ7Z+fhpwIAtmCUdZIWZ/YP5R9WAsyuSgpLVDi9bjWoN2LXHNss/dk3urXtdQxGg==} - engines: {node: '>=6'} - - deep-is@0.1.4: - resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} - - deepmerge@4.3.1: - resolution: {integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==} - engines: {node: '>=0.10.0'} - - default-gateway@6.0.3: - resolution: {integrity: sha512-fwSOJsbbNzZ/CUFpqFBqYfYNLj1NbMPm8MMCIzHjC83iSJRBEGmDUxU+WP661BaBQImeC2yHwXtz+P/O9o+XEg==} - engines: {node: '>= 10'} - - default-require-extensions@3.0.1: - resolution: {integrity: sha512-eXTJmRbm2TIt9MgWTsOH1wEuhew6XGZcMeGKCtLedIg/NCsg1iBePXkceTdK4Fii7pzmN9tGsZhKzZ4h7O/fxw==} - engines: {node: '>=8'} - - defer-to-connect@2.0.1: - resolution: {integrity: sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg==} - engines: {node: '>=10'} - - define-data-property@1.1.4: - resolution: {integrity: sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==} - engines: {node: '>= 0.4'} - - define-lazy-prop@2.0.0: - resolution: {integrity: sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==} - engines: {node: '>=8'} - - define-properties@1.2.1: - resolution: {integrity: sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==} - engines: {node: '>= 0.4'} - - defu@6.1.4: - resolution: {integrity: sha512-mEQCMmwJu317oSz8CwdIOdwf3xMif1ttiM8LTufzc3g6kR+9Pe236twL8j3IYT1F7GfRgGcW6MWxzZjLIkuHIg==} - - delaunator@5.0.1: - resolution: {integrity: sha512-8nvh+XBe96aCESrGOqMp/84b13H9cdKbG5P2ejQCh4d4sK9RL4371qou9drQjMhvnPmhWl5hnmqbEE0fXr9Xnw==} - - delayed-stream@1.0.0: - resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==} - engines: {node: '>=0.4.0'} - - depd@1.1.2: - resolution: {integrity: sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==} - engines: {node: '>= 0.6'} - - depd@2.0.0: - resolution: {integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==} - engines: {node: '>= 0.8'} - - dequal@2.0.3: - resolution: {integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==} - engines: {node: '>=6'} - - destr@2.0.3: - resolution: {integrity: sha512-2N3BOUU4gYMpTP24s5rF5iP7BDr7uNTCs4ozw3kf/eKfvWSIu93GEBi5m427YoyJoeOzQ5smuu4nNAPGb8idSQ==} - - destroy@1.2.0: - resolution: {integrity: sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==} - engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} - - detect-newline@3.1.0: - resolution: {integrity: sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==} - engines: {node: '>=8'} - - detect-node@2.1.0: - resolution: {integrity: sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==} - - devlop@1.1.0: - resolution: {integrity: sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA==} - - didyoumean@1.2.2: - resolution: {integrity: sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==} - - diff-sequences@29.6.3: - resolution: {integrity: sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - - dir-glob@3.0.1: - resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} - engines: {node: '>=8'} - - dlv@1.1.3: - resolution: {integrity: sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==} - - dns-packet@5.6.1: - resolution: {integrity: sha512-l4gcSouhcgIKRvyy99RNVOgxXiicE+2jZoNmaNmZ6JXiGajBOJAesk1OBlJuM5k2c+eudGdLxDqXuPCKIj6kpw==} - engines: {node: '>=6'} - - doctrine@3.0.0: - resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==} - engines: {node: '>=6.0.0'} - - dom-serializer@2.0.0: - resolution: {integrity: sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==} - - dom-to-image-more@2.16.0: - resolution: {integrity: sha512-RyjtkaM/zVy90uJ20lT+/G7MwBZx6l/ePliq5CQOeAnPeew7aUGS6IqRWBkHpstU+POmhaKA8A9H9qf476gisQ==} - - domelementtype@2.3.0: - resolution: {integrity: sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==} - - domhandler@5.0.3: - resolution: {integrity: sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==} - engines: {node: '>= 4'} - - dompurify@3.1.5: - resolution: {integrity: sha512-lwG+n5h8QNpxtyrJW/gJWckL+1/DQiYMX8f7t8Z2AZTPw1esVrqjI63i7Zc2Gz0aKzLVMYC1V1PL/ky+aY/NgA==} - - domutils@3.1.0: - resolution: {integrity: sha512-H78uMmQtI2AhgDJjWeQmHwJJ2bLPD3GMmO7Zja/ZZh84wkm+4ut+IUnUdRa8uCGX88DiVx1j6FRe1XfxEgjEZA==} - - dotenv@16.4.5: - resolution: {integrity: sha512-ZmdL2rui+eB2YwhsWzjInR8LldtZHGDoQ1ugH85ppHKwpUHL7j7rN0Ti9NCnGiQbhaZ11FpR+7ao1dNsmduNUg==} - engines: {node: '>=12'} - - duplexer@0.1.2: - resolution: {integrity: sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==} - - eastasianwidth@0.2.0: - resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} - - ebnf-parser@0.1.10: - resolution: {integrity: sha512-urvSxVQ6XJcoTpc+/x2pWhhuOX4aljCNQpwzw+ifZvV1andZkAmiJc3Rq1oGEAQmcjiLceyMXOy1l8ms8qs2fQ==} - - ecc-jsbn@0.1.2: - resolution: {integrity: sha512-eh9O+hwRHNbG4BLTjEl3nw044CkGm5X6LoaCf7LPp7UU8Qrt47JYNi6nPX8xjW97TKGKm1ouctg0QSpZe9qrnw==} - - ee-first@1.1.1: - resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==} - - ejs@3.1.10: - resolution: {integrity: sha512-UeJmFfOrAQS8OJWPZ4qtgHyWExa088/MtK5UEyoJGFH67cDEXkZSviOiKRCZ4Xij0zxI3JECgYs3oKx+AizQBA==} - engines: {node: '>=0.10.0'} - hasBin: true - - electron-to-chromium@1.4.801: - resolution: {integrity: sha512-PnlUz15ii38MZMD2/CEsAzyee8tv9vFntX5nhtd2/4tv4HqY7C5q2faUAjmkXS/UFpVooJ/5H6kayRKYWoGMXQ==} - - elkjs@0.9.3: - resolution: {integrity: sha512-f/ZeWvW/BCXbhGEf1Ujp29EASo/lk1FDnETgNKwJrsVvGZhUWCZyg3xLJjAsxfOmt8KjswHmI5EwCQcPMpOYhQ==} - - emittery@0.13.1: - resolution: {integrity: sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==} - engines: {node: '>=12'} - - emoji-regex@10.3.0: - resolution: {integrity: sha512-QpLs9D9v9kArv4lfDEgg1X/gN5XLnf/A6l9cs8SPZLRZR3ZkY9+kwIQTxm+fsSej5UMYGE8fdoaZVIBlqG0XTw==} - - emoji-regex@8.0.0: - resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} - - emoji-regex@9.2.2: - resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==} - - encodeurl@1.0.2: - resolution: {integrity: sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==} - engines: {node: '>= 0.8'} - - encoding@0.1.13: - resolution: {integrity: sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==} - - end-of-stream@1.4.4: - resolution: {integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==} - - enhanced-resolve@5.17.0: - resolution: {integrity: sha512-dwDPwZL0dmye8Txp2gzFmA6sxALaSvdRDjPH0viLcKrtlOL3tw62nWWweVD1SdILDTJrbrL6tdWVN58Wo6U3eA==} - engines: {node: '>=10.13.0'} - - enquirer@2.4.1: - resolution: {integrity: sha512-rRqJg/6gd538VHvR3PSrdRBb/1Vy2YfzHqzvbhGIQpDRKIa4FgV/54b5Q1xYSxOOwKvjXweS26E0Q+nAMwp2pQ==} - engines: {node: '>=8.6'} - - entities@3.0.1: - resolution: {integrity: sha512-WiyBqoomrwMdFG1e0kqvASYfnlb0lp8M5o5Fw2OFq1hNZxxcNk8Ik0Xm7LxzBhuidnZB/UtBqVCgUz3kBOP51Q==} - engines: {node: '>=0.12'} - - entities@4.5.0: - resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==} - engines: {node: '>=0.12'} - - env-paths@3.0.0: - resolution: {integrity: sha512-dtJUTepzMW3Lm/NPxRf3wP4642UWhjL2sQxc+ym2YMj1m/H2zDNQOlezafzkHwn6sMstjHTwG6iQQsctDW/b1A==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - - envinfo@7.13.0: - resolution: {integrity: sha512-cvcaMr7KqXVh4nyzGTVqTum+gAiL265x5jUWQIDLq//zOGbW+gSW/C+OWLleY/rs9Qole6AZLMXPbtIFQbqu+Q==} - engines: {node: '>=4'} - hasBin: true - - error-ex@1.3.2: - resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==} - - es-abstract@1.23.3: - resolution: {integrity: sha512-e+HfNH61Bj1X9/jLc5v1owaLYuHdeHHSQlkhCBiTK8rBvKaULl/beGMxwrMXjpYrv4pz22BlY570vVePA2ho4A==} - engines: {node: '>= 0.4'} - - es-define-property@1.0.0: - resolution: {integrity: sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==} - engines: {node: '>= 0.4'} - - es-errors@1.3.0: - resolution: {integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==} - engines: {node: '>= 0.4'} - - es-module-lexer@1.5.3: - resolution: {integrity: sha512-i1gCgmR9dCl6Vil6UKPI/trA69s08g/syhiDK9TG0Nf1RJjjFI+AzoWW7sPufzkgYAn861skuCwJa0pIIHYxvg==} - - es-object-atoms@1.0.0: - resolution: {integrity: sha512-MZ4iQ6JwHOBQjahnjwaC1ZtIBH+2ohjamzAO3oaHcXYup7qxjF2fixyH+Q71voWHeOkI2q/TnJao/KfXYIZWbw==} - engines: {node: '>= 0.4'} - - es-set-tostringtag@2.0.3: - resolution: {integrity: sha512-3T8uNMC3OQTHkFUsFq8r/BwAXLHvU/9O9mE0fBc/MY5iq/8H7ncvO947LmYA6ldWw9Uh8Yhf25zu6n7nML5QWQ==} - engines: {node: '>= 0.4'} - - es-to-primitive@1.2.1: - resolution: {integrity: sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==} - engines: {node: '>= 0.4'} - - es2015-i18n-tag@1.6.1: - resolution: {integrity: sha512-MYoh9p+JTkgnzBh0MEBON6xUyzdmwT6wzsmmFJvZujGSXiI2kM+3XvFl6+AcIO2eeL6VWgtX9szSiDTMwDxyYA==} - engines: {node: '>= 4.0.0'} - - es5-ext@0.10.64: - resolution: {integrity: sha512-p2snDhiLaXe6dahss1LddxqEm+SkuDvV8dnIQG0MWjyHpcMNfXKPE+/Cc0y+PhxJX3A4xGNeFCj5oc0BUh6deg==} - engines: {node: '>=0.10'} - - es6-error@4.1.1: - resolution: {integrity: sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg==} - - es6-iterator@2.0.3: - resolution: {integrity: sha512-zw4SRzoUkd+cl+ZoE15A9o1oQd920Bb0iOJMQkQhl3jNc03YqVjAhG7scf9C5KWRU/R13Orf588uCC6525o02g==} - - es6-symbol@3.1.4: - resolution: {integrity: sha512-U9bFFjX8tFiATgtkJ1zg25+KviIXpgRvRHS8sau3GfhVzThRQrOeksPeT0BWW2MNZs1OEWJ1DPXOQMn0KKRkvg==} - engines: {node: '>=0.12'} - - es6-weak-map@2.0.3: - resolution: {integrity: sha512-p5um32HOTO1kP+w7PRnB+5lQ43Z6muuMuIMffvDN8ZB4GcnjLBV6zGStpbASIMk4DCAvEaamhe2zhyCb/QXXsA==} - - esbuild@0.20.2: - resolution: {integrity: sha512-WdOOppmUNU+IbZ0PaDiTst80zjnrOkyJNHoKupIcVyU8Lvla3Ugx94VzkQ32Ijqd7UhHJy75gNWDMUekcrSJ6g==} - engines: {node: '>=12'} - hasBin: true - - esbuild@0.21.5: - resolution: {integrity: sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==} - engines: {node: '>=12'} - hasBin: true - - escalade@3.1.2: - resolution: {integrity: sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==} - engines: {node: '>=6'} - - escape-html@1.0.3: - resolution: {integrity: sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==} - - escape-string-regexp@1.0.5: - resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} - engines: {node: '>=0.8.0'} - - escape-string-regexp@2.0.0: - resolution: {integrity: sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==} - engines: {node: '>=8'} - - escape-string-regexp@4.0.0: - resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} - engines: {node: '>=10'} - - escape-string-regexp@5.0.0: - resolution: {integrity: sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==} - engines: {node: '>=12'} - - escodegen@1.3.3: - resolution: {integrity: sha512-z9FWgKc48wjMlpzF5ymKS1AF8OIgnKLp9VyN7KbdtyrP/9lndwUFqCtMm+TAJmJf7KJFFYc4cFJfVTTGkKEwsA==} - engines: {node: '>=0.10.0'} - hasBin: true - - eslint-config-prettier@9.1.0: - resolution: {integrity: sha512-NSWl5BFQWEPi1j4TjVNItzYV7dZXZ+wP6I6ZhrBGpChQhZRUaElihE9uRRkcbRnNb76UMKDF3r+WTmNcGPKsqw==} - hasBin: true - peerDependencies: - eslint: '>=7.0.0' - - eslint-plugin-cypress@2.15.2: - resolution: {integrity: sha512-CtcFEQTDKyftpI22FVGpx8bkpKyYXBlNge6zSo0pl5/qJvBAnzaD76Vu2AsP16d6mTj478Ldn2mhgrWV+Xr0vQ==} - peerDependencies: - eslint: '>= 3.2.1' - - eslint-plugin-html@8.1.1: - resolution: {integrity: sha512-6qmlJsc40D2m3Dn9oEH+0PAOkJhxVu0f5sVItqpCE0YWgYnyP4xCjBc3UWTHaJcY9ARkWOLIIuXLq0ndRnQOHw==} - engines: {node: '>=16.0.0'} - - eslint-plugin-jest@27.9.0: - resolution: {integrity: sha512-QIT7FH7fNmd9n4se7FFKHbsLKGQiw885Ds6Y/sxKgCZ6natwCsXdgPOADnYVxN2QrRweF0FZWbJ6S7Rsn7llug==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - peerDependencies: - '@typescript-eslint/eslint-plugin': ^5.0.0 || ^6.0.0 || ^7.0.0 - eslint: ^7.0.0 || ^8.0.0 - jest: '*' - peerDependenciesMeta: - '@typescript-eslint/eslint-plugin': - optional: true - jest: - optional: true - - eslint-plugin-jsdoc@48.2.9: - resolution: {integrity: sha512-ErpKyr2mEUEkcdZ4nwW/cvDjClvAcvJMEXkGGll0wf8sro8h6qeQ3qlZyp1vM1dRk8Ap6rMdke8FnP94QBIaVQ==} - engines: {node: '>=18'} - peerDependencies: - eslint: ^7.0.0 || ^8.0.0 || ^9.0.0 - - eslint-plugin-json@3.1.0: - resolution: {integrity: sha512-MrlG2ynFEHe7wDGwbUuFPsaT2b1uhuEFhJ+W1f1u+1C2EkXmTYJp4B1aAdQQ8M+CC3t//N/oRKiIVw14L2HR1g==} - engines: {node: '>=12.0'} - - eslint-plugin-lodash@7.4.0: - resolution: {integrity: sha512-Tl83UwVXqe1OVeBRKUeWcfg6/pCW1GTRObbdnbEJgYwjxp5Q92MEWQaH9+dmzbRt6kvYU1Mp893E79nJiCSM8A==} - engines: {node: '>=10'} - peerDependencies: - eslint: '>=2' - - eslint-plugin-markdown@4.0.1: - resolution: {integrity: sha512-5/MnGvYU0i8MbHH5cg8S+Vl3DL+bqRNYshk1xUO86DilNBaxtTkhH+5FD0/yO03AmlI6+lfNFdk2yOw72EPzpA==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - peerDependencies: - eslint: '>=8' - - eslint-plugin-no-only-tests@3.1.0: - resolution: {integrity: sha512-Lf4YW/bL6Un1R6A76pRZyE1dl1vr31G/ev8UzIc/geCgFWyrKil8hVjYqWVKGB/UIGmb6Slzs9T0wNezdSVegw==} - engines: {node: '>=5.0.0'} - - eslint-plugin-tsdoc@0.2.17: - resolution: {integrity: sha512-xRmVi7Zx44lOBuYqG8vzTXuL6IdGOeF9nHX17bjJ8+VE6fsxpdGem0/SBTmAwgYMKYB1WBkqRJVQ+n8GK041pA==} - - eslint-plugin-unicorn@51.0.1: - resolution: {integrity: sha512-MuR/+9VuB0fydoI0nIn2RDA5WISRn4AsJyNSaNKLVwie9/ONvQhxOBbkfSICBPnzKrB77Fh6CZZXjgTt/4Latw==} - engines: {node: '>=16'} - peerDependencies: - eslint: '>=8.56.0' - - eslint-scope@5.1.1: - resolution: {integrity: sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==} - engines: {node: '>=8.0.0'} - - eslint-scope@7.2.2: - resolution: {integrity: sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - - eslint-visitor-keys@3.4.3: - resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - - eslint-visitor-keys@4.0.0: - resolution: {integrity: sha512-OtIRv/2GyiF6o/d8K7MYKKbXrOUBIK6SfkIRM4Z0dY3w+LiQ0vy3F57m0Z71bjbyeiWFiHJ8brqnmE6H6/jEuw==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - - eslint@8.57.0: - resolution: {integrity: sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - hasBin: true - - esniff@2.0.1: - resolution: {integrity: sha512-kTUIGKQ/mDPFoJ0oVfcmyJn4iBDRptjNVIzwIFR7tqWXdVI9xfA2RMwY/gbSpJG3lkdWNEjLap/NqVHZiJsdfg==} - engines: {node: '>=0.10'} - - espree@10.0.1: - resolution: {integrity: sha512-MWkrWZbJsL2UwnjxTX3gG8FneachS/Mwg7tdGXce011sJd5b0JG54vat5KHnfSBODZ3Wvzd2WnjxyzsRoVv+ww==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - - espree@9.6.1: - resolution: {integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - - esprima@1.1.1: - resolution: {integrity: sha512-qxxB994/7NtERxgXdFgLHIs9M6bhLXc6qtUmWZ3L8+gTQ9qaoyki2887P2IqAYsoENyr8SUbTutStDniOHSDHg==} - engines: {node: '>=0.4.0'} - hasBin: true - - esprima@4.0.1: - resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==} - engines: {node: '>=4'} - hasBin: true - - esquery@1.5.0: - resolution: {integrity: sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==} - engines: {node: '>=0.10'} - - esrecurse@4.3.0: - resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==} - engines: {node: '>=4.0'} - - estraverse@1.5.1: - resolution: {integrity: sha512-FpCjJDfmo3vsc/1zKSeqR5k42tcIhxFIlvq+h9j0fO2q/h2uLKyweq7rYJ+0CoVvrGQOxIS5wyBrW/+vF58BUQ==} - engines: {node: '>=0.4.0'} - - estraverse@4.3.0: - resolution: {integrity: sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==} - engines: {node: '>=4.0'} - - estraverse@5.3.0: - resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} - engines: {node: '>=4.0'} - - estree-walker@1.0.1: - resolution: {integrity: sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg==} - - estree-walker@2.0.2: - resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==} - - estree-walker@3.0.3: - resolution: {integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==} - - esutils@1.0.0: - resolution: {integrity: sha512-x/iYH53X3quDwfHRz4y8rn4XcEwwCJeWsul9pF1zldMbGtgOtMNBEOuYWwB1EQlK2LRa1fev3YAgym/RElp5Cg==} - engines: {node: '>=0.10.0'} - - esutils@2.0.3: - resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} - engines: {node: '>=0.10.0'} - - etag@1.8.1: - resolution: {integrity: sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==} - engines: {node: '>= 0.6'} - - event-emitter@0.3.5: - resolution: {integrity: sha512-D9rRn9y7kLPnJ+hMq7S/nhvoKwwvVJahBi2BPmx3bvbsEdK3W9ii8cBSGjP+72/LnM4n6fo3+dkCX5FeTQruXA==} - - event-stream@3.3.4: - resolution: {integrity: sha512-QHpkERcGsR0T7Qm3HNJSyXKEEj8AHNxkY3PK8TS2KJvQ7NiSHe3DDpwVKKtoYprL/AreyzFBeIkBIWChAqn60g==} - - event-target-shim@5.0.1: - resolution: {integrity: sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==} - engines: {node: '>=6'} - - eventemitter2@6.4.7: - resolution: {integrity: sha512-tYUSVOGeQPKt/eC1ABfhHy5Xd96N3oIijJvN3O9+TsC28T5V9yX9oEfEK5faP0EFSNVOG97qtAS68GBrQB2hDg==} - - eventemitter3@4.0.7: - resolution: {integrity: sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==} - - eventemitter3@5.0.1: - resolution: {integrity: sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA==} - - events@3.3.0: - resolution: {integrity: sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==} - engines: {node: '>=0.8.x'} - - execa@1.0.0: - resolution: {integrity: sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==} - engines: {node: '>=6'} - - execa@4.1.0: - resolution: {integrity: sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA==} - engines: {node: '>=10'} - - execa@5.1.1: - resolution: {integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==} - engines: {node: '>=10'} - - execa@8.0.1: - resolution: {integrity: sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==} - engines: {node: '>=16.17'} - - executable@4.1.1: - resolution: {integrity: sha512-8iA79xD3uAch729dUG8xaaBBFGaEa0wdD2VkYLFHwlqosEj/jT66AzcreRDSgV7ehnNLBW2WR5jIXwGKjVdTLg==} - engines: {node: '>=4'} - - exit@0.1.2: - resolution: {integrity: sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==} - engines: {node: '>= 0.8.0'} - - expect@29.7.0: - resolution: {integrity: sha512-2Zks0hf1VLFYI1kbh0I5jP3KHHyCHpkfyHBzsSXRFgl/Bg9mWYfMW8oD+PdMPlEwy5HNsR9JutYy6pMeOh61nw==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - - express@4.19.2: - resolution: {integrity: sha512-5T6nhjsT+EOMzuck8JjBHARTHfMht0POzlA60WV2pMD3gyXw2LZnZ+ueGdNxG+0calOJcWKbpFcuzLZ91YWq9Q==} - engines: {node: '>= 0.10.0'} - - ext@1.7.0: - resolution: {integrity: sha512-6hxeJYaL110a9b5TEJSj0gojyHQAmA2ch5Os+ySCiA1QGdS697XWY1pzsrSjqA9LDEEgdB/KypIlR59RcLuHYw==} - - extend@3.0.2: - resolution: {integrity: sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==} - - extract-zip@2.0.1: - resolution: {integrity: sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg==} - engines: {node: '>= 10.17.0'} - hasBin: true - - extsprintf@1.3.0: - resolution: {integrity: sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g==} - engines: {'0': node >=0.6.0} - - fast-content-type-parse@1.1.0: - resolution: {integrity: sha512-fBHHqSTFLVnR61C+gltJuE5GkVQMV0S2nqUO8TJ+5Z3qAKG8vAx4FKai1s5jq/inV1+sREynIWSuQ6HgoSXpDQ==} - - fast-decode-uri-component@1.0.1: - resolution: {integrity: sha512-WKgKWg5eUxvRZGwW8FvfbaH7AXSh2cL+3j5fMGzUMCxWBJ3dV3a7Wz8y2f/uQ0e3B6WmodD3oS54jTQ9HVTIIg==} - - fast-deep-equal@3.1.3: - resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} - - fast-equals@5.0.1: - resolution: {integrity: sha512-WF1Wi8PwwSY7/6Kx0vKXtw8RwuSGoM1bvDaJbu7MxDlR1vovZjIAKrnzyrThgAjm6JDTu0fVgWXDlMGspodfoQ==} - engines: {node: '>=6.0.0'} - - fast-glob@3.3.2: - resolution: {integrity: sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==} - engines: {node: '>=8.6.0'} - - fast-json-stable-stringify@2.1.0: - resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} - - fast-json-stringify@2.7.13: - resolution: {integrity: sha512-ar+hQ4+OIurUGjSJD1anvYSDcUflywhKjfxnsW4TBTD7+u0tJufv6DKRWoQk3vI6YBOWMoz0TQtfbe7dxbQmvA==} - engines: {node: '>= 10.0.0'} - - fast-levenshtein@2.0.6: - resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==} - - fast-redact@3.5.0: - resolution: {integrity: sha512-dwsoQlS7h9hMeYUq1W++23NDcBLV4KqONnITDV9DjfS3q1SgDGVrBdvvTLUotWtPSD7asWDV9/CmsZPy8Hf70A==} - engines: {node: '>=6'} - - fast-safe-stringify@2.1.1: - resolution: {integrity: sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==} - - fastest-levenshtein@1.0.16: - resolution: {integrity: sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg==} - engines: {node: '>= 4.9.1'} - - fastestsmallesttextencoderdecoder@1.0.22: - resolution: {integrity: sha512-Pb8d48e+oIuY4MaM64Cd7OW1gt4nxCHs7/ddPPZ/Ic3sg8yVGM7O9wDvZ7us6ScaUupzM+pfBolwtYhN1IxBIw==} - - fastify-plugin@3.0.1: - resolution: {integrity: sha512-qKcDXmuZadJqdTm6vlCqioEbyewF60b/0LOFCcYN1B6BIZGlYJumWWOYs70SFYLDAH4YqdE1cxH/RKMG7rFxgA==} - - fastify@3.29.5: - resolution: {integrity: sha512-FBDgb1gkenZxxh4sTD6AdI6mFnZnsgckpjIXzIvfLSYCa4isfQeD8QWGPib63dxq6btnY0l1j8I0xYhMvUb+sw==} - - fastq@1.17.1: - resolution: {integrity: sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==} - - fault@2.0.1: - resolution: {integrity: sha512-WtySTkS4OKev5JtpHXnib4Gxiurzh5NCGvWrFaZ34m6JehfTUhKZvn9njTfw48t6JumVQOmrKqpmGcdwxnhqBQ==} - - faye-websocket@0.11.4: - resolution: {integrity: sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g==} - engines: {node: '>=0.8.0'} - - fb-watchman@2.0.2: - resolution: {integrity: sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==} - - fd-slicer@1.1.0: - resolution: {integrity: sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==} - - ferrum@1.9.4: - resolution: {integrity: sha512-ooNerLoIht/dK4CQJux93z/hnt9JysrXniJCI3r6YRgmHeXC57EJ8XaTCT1Gm8LfhIAeWxyJA0O7d/W3pqDYRg==} - - fetch-blob@3.2.0: - resolution: {integrity: sha512-7yAQpD2UMJzLi1Dqv7qFYnPbaPx7ZfFK6PiIxQ4PfkGPyNyl2Ugx+a/umUonmKqjhM4DnfbMvdX6otXq83soQQ==} - engines: {node: ^12.20 || >= 14.13} - - fflate@0.8.2: - resolution: {integrity: sha512-cPJU47OaAoCbg0pBvzsgpTPhmhqI5eJjh/JIu8tPj5q+T7iLvW/JAYUqmE7KOB4R1ZyEhzBaIQpQpardBF5z8A==} - - figures@3.2.0: - resolution: {integrity: sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==} - engines: {node: '>=8'} - - file-entry-cache@6.0.1: - resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==} - engines: {node: ^10.12.0 || >=12.0.0} - - file-entry-cache@8.0.0: - resolution: {integrity: sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==} - engines: {node: '>=16.0.0'} - - file-saver@2.0.5: - resolution: {integrity: sha512-P9bmyZ3h/PRG+Nzga+rbdI4OEpNDzAVyy74uVO9ATgzLK6VtAsYybF/+TOCvrc0MO793d6+42lLyZTw7/ArVzA==} - - filelist@1.0.4: - resolution: {integrity: sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==} - - fill-range@7.1.1: - resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==} - engines: {node: '>=8'} - - finalhandler@1.2.0: - resolution: {integrity: sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==} - engines: {node: '>= 0.8'} - - find-cache-dir@3.3.2: - resolution: {integrity: sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==} - engines: {node: '>=8'} - - find-cache-dir@4.0.0: - resolution: {integrity: sha512-9ZonPT4ZAK4a+1pUPVPZJapbi7O5qbbJPdYw/NOQWZZbVLdDTYM3A4R9z/DpAM08IDaFGsvPgiGZ82WEwUDWjg==} - engines: {node: '>=14.16'} - - find-my-way@4.5.1: - resolution: {integrity: sha512-kE0u7sGoUFbMXcOG/xpkmz4sRLCklERnBcg7Ftuu1iAxsfEt2S46RLJ3Sq7vshsEy2wJT2hZxE58XZK27qa8kg==} - engines: {node: '>=10'} - - find-process@1.4.7: - resolution: {integrity: sha512-/U4CYp1214Xrp3u3Fqr9yNynUrr5Le4y0SsJh2lMDDSbpwYSz3M2SMWQC+wqcx79cN8PQtHQIL8KnuY9M66fdg==} - hasBin: true - - find-up-simple@1.0.0: - resolution: {integrity: sha512-q7Us7kcjj2VMePAa02hDAF6d+MzsdsAWEwYyOpwUtlerRBkOEPBCRZrAV4XfcSN8fHAgaD0hP7miwoay6DCprw==} - engines: {node: '>=18'} - - find-up@3.0.0: - resolution: {integrity: sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==} - engines: {node: '>=6'} - - find-up@4.1.0: - resolution: {integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==} - engines: {node: '>=8'} - - find-up@5.0.0: - resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} - engines: {node: '>=10'} - - find-up@6.3.0: - resolution: {integrity: sha512-v2ZsoEuVHYy8ZIlYqwPe/39Cy+cFDzp4dXPaxNvkEuouymu+2Jbz0PxpKarJHYJTmv2HWT3O382qY8l4jMWthw==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - - flat-cache@3.2.0: - resolution: {integrity: sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==} - engines: {node: ^10.12.0 || >=12.0.0} - - flat-cache@4.0.1: - resolution: {integrity: sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==} - engines: {node: '>=16'} - - flat@5.0.2: - resolution: {integrity: sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==} - hasBin: true - - flatstr@1.0.12: - resolution: {integrity: sha512-4zPxDyhCyiN2wIAtSLI6gc82/EjqZc1onI4Mz/l0pWrAlsSfYH/2ZIcU+e3oA2wDwbzIWNKwa23F8rh6+DRWkw==} - - flatted@3.3.1: - resolution: {integrity: sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==} - - flexsearch@0.7.43: - resolution: {integrity: sha512-c5o/+Um8aqCSOXGcZoqZOm+NqtVwNsvVpWv6lfmSclU954O3wvQKxxK8zj74fPaSJbXpSLTs4PRhh+wnoCXnKg==} - - focus-trap@7.5.4: - resolution: {integrity: sha512-N7kHdlgsO/v+iD/dMoJKtsSqs5Dz/dXZVebRgJw23LDk+jMi/974zyiOYDziY2JPp8xivq9BmUGwIJMiuSBi7w==} - - follow-redirects@1.15.6: - resolution: {integrity: sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA==} - engines: {node: '>=4.0'} - peerDependencies: - debug: '*' - peerDependenciesMeta: - debug: - optional: true - - font-awesome@4.7.0: - resolution: {integrity: sha512-U6kGnykA/6bFmg1M/oT9EkFeIYv7JlX3bozwQJWiiLz6L0w3F5vBVPxHlwyX/vtNq1ckcpRKOB9f2Qal/VtFpg==} - engines: {node: '>=0.10.3'} - - for-each@0.3.3: - resolution: {integrity: sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==} - - foreground-child@2.0.0: - resolution: {integrity: sha512-dCIq9FpEcyQyXKCkyzmlPTFNgrCzPudOe+mhvJU5zAtlBnGVy2yKxtfsxK2tQBThwq225jcvBjpw1Gr40uzZCA==} - engines: {node: '>=8.0.0'} - - foreground-child@3.2.0: - resolution: {integrity: sha512-CrWQNaEl1/6WeZoarcM9LHupTo3RpZO2Pdk1vktwzPiQTsJnAKJmm3TACKeG5UZbWDfaH2AbvYxzP96y0MT7fA==} - engines: {node: '>=14'} - - forever-agent@0.6.1: - resolution: {integrity: sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw==} - - form-data@2.3.3: - resolution: {integrity: sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==} - engines: {node: '>= 0.12'} - - form-data@4.0.0: - resolution: {integrity: sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==} - engines: {node: '>= 6'} - - format@0.2.2: - resolution: {integrity: sha512-wzsgA6WOq+09wrU1tsJ09udeR/YZRaeArL9e1wPbFg3GG2yDnC2ldKpxs4xunpFF9DgqCqOIra3bc1HWrJ37Ww==} - engines: {node: '>=0.4.x'} - - formdata-polyfill@4.0.10: - resolution: {integrity: sha512-buewHzMvYL29jdeQTVILecSaZKnt/RJWjoZCF5OW60Z67/GmSLBkOFM7qh1PI3zFNtJbaZL5eQu1vLfazOwj4g==} - engines: {node: '>=12.20.0'} - - forwarded@0.2.0: - resolution: {integrity: sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==} - engines: {node: '>= 0.6'} - - fresh@0.5.2: - resolution: {integrity: sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==} - engines: {node: '>= 0.6'} - - from@0.1.7: - resolution: {integrity: sha512-twe20eF1OxVxp/ML/kq2p1uc6KvFK/+vs8WjEbeKmV2He22MKm7YF2ANIt+EOqhJ5L3K/SuuPhk0hWQDjOM23g==} - - fromentries@1.3.2: - resolution: {integrity: sha512-cHEpEQHUg0f8XdtZCc2ZAhrHzKzT0MrFUTcvx+hfxYu7rGMDc5SKoXFh+n4YigxsHXRzc6OrCshdR1bWH6HHyg==} - - fs-extra@11.1.1: - resolution: {integrity: sha512-MGIE4HOvQCeUCzmlHs0vXpih4ysz4wg9qiSAu6cd42lVwPbTM1TjV7RusoyQqMmk/95gdQZX72u+YW+c3eEpFQ==} - engines: {node: '>=14.14'} - - fs-extra@11.2.0: - resolution: {integrity: sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw==} - engines: {node: '>=14.14'} - - fs-extra@7.0.1: - resolution: {integrity: sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==} - engines: {node: '>=6 <7 || >=8'} - - fs-extra@9.1.0: - resolution: {integrity: sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==} - engines: {node: '>=10'} - - fs-monkey@1.0.6: - resolution: {integrity: sha512-b1FMfwetIKymC0eioW7mTywihSQE4oLzQn1dB6rZB5fx/3NpNEdAWeCSMB+60/AeT0TCXsxzAlcYVEFCTAksWg==} - - fs.realpath@1.0.0: - resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} - - fsevents@2.3.3: - resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} - engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} - os: [darwin] - - function-bind@1.1.2: - resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} - - function.prototype.name@1.1.6: - resolution: {integrity: sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==} - engines: {node: '>= 0.4'} - - functions-have-names@1.2.3: - resolution: {integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==} - - gensequence@7.0.0: - resolution: {integrity: sha512-47Frx13aZh01afHJTB3zTtKIlFI6vWY+MYCN9Qpew6i52rfKjnhCF/l1YlC8UmEMvvntZZ6z4PiCcmyuedR2aQ==} - engines: {node: '>=18'} - - gensync@1.0.0-beta.2: - resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==} - engines: {node: '>=6.9.0'} - - get-caller-file@2.0.5: - resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} - engines: {node: 6.* || 8.* || >= 10.*} - - get-east-asian-width@1.2.0: - resolution: {integrity: sha512-2nk+7SIVb14QrgXFHcm84tD4bKQz0RxPuMT8Ag5KPOq7J5fEmAg0UbXdTOSHqNuHSU28k55qnceesxXRZGzKWA==} - engines: {node: '>=18'} - - get-func-name@2.0.2: - resolution: {integrity: sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ==} - - get-intrinsic@1.2.4: - resolution: {integrity: sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==} - engines: {node: '>= 0.4'} - - get-own-enumerable-property-symbols@3.0.2: - resolution: {integrity: sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g==} - - get-package-type@0.1.0: - resolution: {integrity: sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==} - engines: {node: '>=8.0.0'} - - get-stdin@5.0.1: - resolution: {integrity: sha512-jZV7n6jGE3Gt7fgSTJoz91Ak5MuTLwMwkoYdjxuJ/AmjIsE1UC03y/IWkZCQGEvVNS9qoRNwy5BCqxImv0FVeA==} - engines: {node: '>=0.12.0'} - - get-stdin@8.0.0: - resolution: {integrity: sha512-sY22aA6xchAzprjyqmSEQv4UbAAzRN0L2dQB0NlN5acTTK9Don6nhoc3eAbUnpZiCANAMfd/+40kVdKfFygohg==} - engines: {node: '>=10'} - - get-stdin@9.0.0: - resolution: {integrity: sha512-dVKBjfWisLAicarI2Sf+JuBE/DghV4UzNAVe9yhEJuzeREd3JhOTE9cUaJTeSa77fsbQUK3pcOpJfM59+VKZaA==} - engines: {node: '>=12'} - - get-stream@4.1.0: - resolution: {integrity: sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==} - engines: {node: '>=6'} - - get-stream@5.2.0: - resolution: {integrity: sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==} - engines: {node: '>=8'} - - get-stream@6.0.1: - resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==} - engines: {node: '>=10'} - - get-stream@8.0.1: - resolution: {integrity: sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==} - engines: {node: '>=16'} - - get-symbol-description@1.0.2: - resolution: {integrity: sha512-g0QYk1dZBxGwk+Ngc+ltRH2IBp2f7zBkBMBJZCDerh6EhlhSR6+9irMCuT/09zD6qkarHUSn529sK/yL4S27mg==} - engines: {node: '>= 0.4'} - - get-tsconfig@4.7.5: - resolution: {integrity: sha512-ZCuZCnlqNzjb4QprAzXKdpp/gh6KTxSJuw3IBsPnV/7fV4NxC9ckB+vPTt8w7fJA0TaSD7c55BR47JD6MEDyDw==} - - getos@3.2.1: - resolution: {integrity: sha512-U56CfOK17OKgTVqozZjUKNdkfEv6jk5WISBJ8SHoagjE6L69zOwl3Z+O8myjY9MEW3i2HPWQBt/LTbCgcC973Q==} - - getpass@0.1.7: - resolution: {integrity: sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng==} - - github-slugger@2.0.0: - resolution: {integrity: sha512-IaOQ9puYtjrkq7Y0Ygl9KDZnrf/aiUJYUpVf89y8kyaxbRG7Y1SrX/jaumrv81vc61+kiMempujsM3Yw7w5qcw==} - - glob-parent@5.1.2: - resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} - engines: {node: '>= 6'} - - glob-parent@6.0.2: - resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} - engines: {node: '>=10.13.0'} - - glob-promise@4.2.2: - resolution: {integrity: sha512-xcUzJ8NWN5bktoTIX7eOclO1Npxd/dyVqUJxlLIDasT4C7KZyqlPIwkdJ0Ypiy3p2ZKahTjK4M9uC3sNSfNMzw==} - engines: {node: '>=12'} - peerDependencies: - glob: ^7.1.6 - - glob-to-regexp@0.4.1: - resolution: {integrity: sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==} - - glob@10.4.1: - resolution: {integrity: sha512-2jelhlq3E4ho74ZyVLN03oKdAZVUa6UDZzFLVH1H7dnoax+y9qyaq8zBkfDIggjniU19z0wU18y16jMB2eyVIw==} - engines: {node: '>=16 || 14 >=14.18'} - hasBin: true - - glob@7.2.3: - resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} - deprecated: Glob versions prior to v9 are no longer supported - - glob@8.1.0: - resolution: {integrity: sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==} - engines: {node: '>=12'} - deprecated: Glob versions prior to v9 are no longer supported - - global-directory@4.0.1: - resolution: {integrity: sha512-wHTUcDUoZ1H5/0iVqEudYW4/kAlN5cZ3j/bXn0Dpbizl9iaUVeWSHqiOjsgk6OW2bkLclbBjzewBz6weQ1zA2Q==} - engines: {node: '>=18'} - - global-dirs@3.0.1: - resolution: {integrity: sha512-NBcGGFbBA9s1VzD41QXDG+3++t9Mn5t1FpLdhESY6oKY4gYTFpX4wO3sqGUa0Srjtbfj3szX0RnemmrVRUdULA==} - engines: {node: '>=10'} - - globals@11.12.0: - resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==} - engines: {node: '>=4'} - - globals@13.24.0: - resolution: {integrity: sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==} - engines: {node: '>=8'} - - globalthis@1.0.4: - resolution: {integrity: sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==} - engines: {node: '>= 0.4'} - - globby@11.1.0: - resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==} - engines: {node: '>=10'} - - globby@13.2.2: - resolution: {integrity: sha512-Y1zNGV+pzQdh7H39l9zgB4PJqjRNqydvdYCDG4HFXM4XuvSaQQlEc91IU1yALL8gUTDomgBAfz3XJdmUS+oo0w==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - - globby@14.0.1: - resolution: {integrity: sha512-jOMLD2Z7MAhyG8aJpNOpmziMOP4rPLcc95oQPKXBazW82z+CEgPFBQvEpRUa1KeIMUJo4Wsm+q6uzO/Q/4BksQ==} - engines: {node: '>=18'} - - glur@1.1.2: - resolution: {integrity: sha512-l+8esYHTKOx2G/Aao4lEQ0bnHWg4fWtJbVoZZT9Knxi01pB8C80BR85nONLFwkkQoFRCmXY+BUcGZN3yZ2QsRA==} - - gopd@1.0.1: - resolution: {integrity: sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==} - - got@11.8.6: - resolution: {integrity: sha512-6tfZ91bOr7bOXnK7PRDCGBLa1H4U080YHNaAQ2KsMGlLEzRbk44nsZF2E1IeRc3vtJHPVbKCYgdFbaGO2ljd8g==} - engines: {node: '>=10.19.0'} - - graceful-fs@4.2.11: - resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} - - graphemer@1.4.0: - resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==} - - gzip-size@6.0.0: - resolution: {integrity: sha512-ax7ZYomf6jqPTQ4+XCpUGyXKHk5WweS+e05MBO4/y3WJ5RkmPXNKvX+bx1behVILVwr6JSQvZAku021CHPXG3Q==} - engines: {node: '>=10'} - - hachure-fill@0.5.2: - resolution: {integrity: sha512-3GKBOn+m2LX9iq+JC1064cSFprJY4jL1jCXTcpnfER5HYE2l/4EfWSGzkPa/ZDBmYI0ZOEj5VHV/eKnPGkHuOg==} - - handle-thing@2.0.1: - resolution: {integrity: sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg==} - - handlebars@4.7.8: - resolution: {integrity: sha512-vafaFqs8MZkRrSX7sFVUdo3ap/eNiLnb4IakshzvP56X5Nr1iGKAIqdX6tMlm6HcNRIkr6AxO5jFEoJzzpT8aQ==} - engines: {node: '>=0.4.7'} - hasBin: true - - has-ansi@2.0.0: - resolution: {integrity: sha512-C8vBJ8DwUCx19vhm7urhTuUsr4/IyP6l4VzNQDv+ryHQObW3TTTp9yB68WpYgRe2bbaGuZ/se74IqFeVnMnLZg==} - engines: {node: '>=0.10.0'} - - has-bigints@1.0.2: - resolution: {integrity: sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==} - - has-flag@3.0.0: - resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==} - engines: {node: '>=4'} - - has-flag@4.0.0: - resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} - engines: {node: '>=8'} - - has-own-prop@2.0.0: - resolution: {integrity: sha512-Pq0h+hvsVm6dDEa8x82GnLSYHOzNDt7f0ddFa3FqcQlgzEiptPqL+XrOJNavjOzSYiYWIrgeVYYgGlLmnxwilQ==} - engines: {node: '>=8'} - - has-property-descriptors@1.0.2: - resolution: {integrity: sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==} - - has-proto@1.0.3: - resolution: {integrity: sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==} - engines: {node: '>= 0.4'} - - has-symbols@1.0.3: - resolution: {integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==} - engines: {node: '>= 0.4'} - - has-tostringtag@1.0.2: - resolution: {integrity: sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==} - engines: {node: '>= 0.4'} - - hasha@5.2.2: - resolution: {integrity: sha512-Hrp5vIK/xr5SkeN2onO32H0MgNZ0f17HRNH39WfL0SYUNOTZ5Lz1TJ8Pajo/87dYGEFlLMm7mIc/k/s6Bvz9HQ==} - engines: {node: '>=8'} - - hasown@2.0.2: - resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==} - engines: {node: '>= 0.4'} - - highlight.js@10.7.3: - resolution: {integrity: sha512-tzcUFauisWKNHaRkN4Wjl/ZA07gENAjFl3J/c480dprkGTg5EQstgaNFqBfUqCq54kZRIEcreTsAgF/m2quD7A==} - - hookable@5.5.3: - resolution: {integrity: sha512-Yc+BQe8SvoXH1643Qez1zqLRmbA5rCL+sSmk6TVos0LWVfNIB7PGncdlId77WzLGSIB5KaWgTaNTs2lNVEI6VQ==} - - hosted-git-info@2.8.9: - resolution: {integrity: sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==} - - hpack.js@2.1.6: - resolution: {integrity: sha512-zJxVehUdMGIKsRaNt7apO2Gqp0BdqW5yaiGHXXmbpvxgBYVZnAql+BJb4RO5ad2MgpbZKn5G6nMnegrH1FcNYQ==} - - html-encoding-sniffer@4.0.0: - resolution: {integrity: sha512-Y22oTqIU4uuPgEemfz7NDJz6OeKf12Lsu+QC+s3BVpda64lTiMYCyGwg5ki4vFxkMwQdeZDl2adZoqUgdFuTgQ==} - engines: {node: '>=18'} - - html-entities@2.5.2: - resolution: {integrity: sha512-K//PSRMQk4FZ78Kyau+mZurHn3FH0Vwr+H36eE0rPbeYkRRi9YxceYPhuN60UwWorxyKHhqoAJl2OFKa4BVtaA==} - - html-escaper@2.0.2: - resolution: {integrity: sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==} - - html-to-image@1.11.11: - resolution: {integrity: sha512-9gux8QhvjRO/erSnDPv28noDZcPZmYE7e1vFsBLKLlRlKDSqNJYebj6Qz1TGd5lsRV+X+xYyjCKjuZdABinWjA==} - - htmlparser2@9.1.0: - resolution: {integrity: sha512-5zfg6mHUoaer/97TxnGpxmbR7zJtPwIYFMZ/H5ucTlPZhKvtum05yiPK3Mgai3a0DyVxv7qYqoweaEd2nrYQzQ==} - - http-cache-semantics@4.1.1: - resolution: {integrity: sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==} - - http-deceiver@1.2.7: - resolution: {integrity: sha512-LmpOGxTfbpgtGVxJrj5k7asXHCgNZp5nLfp+hWc8QQRqtb7fUy6kRY3BO1h9ddF6yIPYUARgxGOwB42DnxIaNw==} - - http-errors@1.6.3: - resolution: {integrity: sha512-lks+lVC8dgGyh97jxvxeYTWQFvh4uw4yC12gVl63Cg30sjPX4wuGcdkICVXDAESr6OJGjqGA8Iz5mkeN6zlD7A==} - engines: {node: '>= 0.6'} - - http-errors@2.0.0: - resolution: {integrity: sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==} - engines: {node: '>= 0.8'} - - http-parser-js@0.5.8: - resolution: {integrity: sha512-SGeBX54F94Wgu5RH3X5jsDtf4eHyRogWX1XGT3b4HuW3tQPM4AaBzoUji/4AAJNXCEOWZ5O0DgZmJw1947gD5Q==} - - http-proxy-agent@5.0.0: - resolution: {integrity: sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==} - engines: {node: '>= 6'} - - http-proxy-agent@7.0.2: - resolution: {integrity: sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==} - engines: {node: '>= 14'} - - http-proxy-middleware@2.0.6: - resolution: {integrity: sha512-ya/UeJ6HVBYxrgYotAZo1KvPWlgB48kUJLDePFeneHsVujFaW5WNj2NgWCAE//B1Dl02BIfYlpNgBy8Kf8Rjmw==} - engines: {node: '>=12.0.0'} - peerDependencies: - '@types/express': ^4.17.13 - peerDependenciesMeta: - '@types/express': - optional: true - - http-proxy@1.18.1: - resolution: {integrity: sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==} - engines: {node: '>=8.0.0'} - - http-signature@1.3.6: - resolution: {integrity: sha512-3adrsD6zqo4GsTqtO7FyrejHNv+NgiIfAfv68+jVlFmSr9OGy7zrxONceFRLKvnnZA5jbxQBX1u9PpB6Wi32Gw==} - engines: {node: '>=0.10'} - - http2-wrapper@1.0.3: - resolution: {integrity: sha512-V+23sDMr12Wnz7iTcDeJr3O6AIxlnvT/bmaAAAP/Xda35C90p9599p0F1eHR/N1KILWSoWVAiOMFjBBXaXSMxg==} - engines: {node: '>=10.19.0'} - - https-localhost@4.7.1: - resolution: {integrity: sha512-rl+NFV0l67/0W7fZwk4LB5gS6HdhtSFLpCpf1N+KD5WQAXtPXX1QE8H0cP8VNJii18rtpTkE9eAHdUfJ0goAnQ==} - hasBin: true - - https-proxy-agent@5.0.1: - resolution: {integrity: sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==} - engines: {node: '>= 6'} - - https-proxy-agent@7.0.4: - resolution: {integrity: sha512-wlwpilI7YdjSkWaQ/7omYBMTliDcmCN8OLihO6I9B86g06lMyAoqgoDpV0XqoaPOKj+0DIdAvnsWfyAAhmimcg==} - engines: {node: '>= 14'} - - human-signals@1.1.1: - resolution: {integrity: sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==} - engines: {node: '>=8.12.0'} - - human-signals@2.1.0: - resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==} - engines: {node: '>=10.17.0'} - - human-signals@5.0.0: - resolution: {integrity: sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==} - engines: {node: '>=16.17.0'} - - husky@9.0.11: - resolution: {integrity: sha512-AB6lFlbwwyIqMdHYhwPe+kjOC3Oc5P3nThEoW/AaO2BX3vJDjWPFxYLxokUZOo6RNX20He3AaT8sESs9NJcmEw==} - engines: {node: '>=18'} - hasBin: true - - iconv-lite@0.4.24: - resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==} - engines: {node: '>=0.10.0'} - - iconv-lite@0.6.3: - resolution: {integrity: sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==} - engines: {node: '>=0.10.0'} - - idb@7.1.1: - resolution: {integrity: sha512-gchesWBzyvGHRO9W8tzUWFDycow5gwjvFKfyV9FF32Y7F50yZMp7mP+T2mJIWFx49zicqyC4uefHM17o6xKIVQ==} - - ieee754@1.2.1: - resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==} - - ignore@5.3.1: - resolution: {integrity: sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==} - engines: {node: '>= 4'} - - import-fresh@3.3.0: - resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==} - engines: {node: '>=6'} - - import-local@3.1.0: - resolution: {integrity: sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==} - engines: {node: '>=8'} - hasBin: true - - import-meta-resolve@4.1.0: - resolution: {integrity: sha512-I6fiaX09Xivtk+THaMfAwnA3MVA5Big1WHF1Dfx9hFuvNIWpXnorlkzhcQf6ehrqQiiZECRt1poOAkPmer3ruw==} - - imurmurhash@0.1.4: - resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} - engines: {node: '>=0.8.19'} - - indent-string@4.0.0: - resolution: {integrity: sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==} - engines: {node: '>=8'} - - indent-string@5.0.0: - resolution: {integrity: sha512-m6FAo/spmsW2Ab2fU35JTYwtOKa2yAwXSwgjSv1TJzh4Mh7mC3lzAOVLBprb72XsTrgkEIsl7YrFNAiDiRhIGg==} - engines: {node: '>=12'} - - inflight@1.0.6: - resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} - deprecated: This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful. - - inherits@2.0.3: - resolution: {integrity: sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==} - - inherits@2.0.4: - resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} - - ini@2.0.0: - resolution: {integrity: sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA==} - engines: {node: '>=10'} - - ini@3.0.1: - resolution: {integrity: sha512-it4HyVAUTKBc6m8e1iXWvXSTdndF7HbdN713+kvLrymxTaU4AUBWrJ4vEooP+V7fexnVD3LKcBshjGGPefSMUQ==} - engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} - - ini@4.1.1: - resolution: {integrity: sha512-QQnnxNyfvmHFIsj7gkPcYymR8Jdw/o7mp5ZFihxn6h8Ci6fh3Dx4E1gPjpQEpIuPo9XVNY/ZUwh4BPMjGyL01g==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - - internal-slot@1.0.7: - resolution: {integrity: sha512-NGnrKwXzSms2qUUih/ILZ5JBqNTSa1+ZmP6flaIp6KmSElgE9qdndzS3cqjrDovwFdmwsGsLdeFgB6suw+1e9g==} - engines: {node: '>= 0.4'} - - internmap@1.0.1: - resolution: {integrity: sha512-lDB5YccMydFBtasVtxnZ3MRBHuaoE8GKsppq+EchKL2U4nK/DmEpPHNH8MZe5HkMtpSiTSOZwfN0tzYjO/lJEw==} - - internmap@2.0.3: - resolution: {integrity: sha512-5Hh7Y1wQbvY5ooGgPbDaL5iYLAPzMTUrjMulskHLH6wnv/A+1q5rgEaiuqEjB+oxGXIVZs1FF+R/KPN3ZSQYYg==} - engines: {node: '>=12'} - - interpret@2.2.0: - resolution: {integrity: sha512-Ju0Bz/cEia55xDwUWEa8+olFpCiQoypjnQySseKtmjNrnps3P+xfpUmGr90T7yjlVJmOtybRvPXhKMbHr+fWnw==} - engines: {node: '>= 0.10'} - - ipaddr.js@1.9.1: - resolution: {integrity: sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==} - engines: {node: '>= 0.10'} - - ipaddr.js@2.2.0: - resolution: {integrity: sha512-Ag3wB2o37wslZS19hZqorUnrnzSkpOVy+IiiDEiTqNubEYpYuHWIf6K4psgN2ZWKExS4xhVCrRVfb/wfW8fWJA==} - engines: {node: '>= 10'} - - is-alphabetical@1.0.4: - resolution: {integrity: sha512-DwzsA04LQ10FHTZuL0/grVDk4rFoVH1pjAToYwBrHSxcrBIGQuXrQMtD5U1b0U2XVgKZCTLLP8u2Qxqhy3l2Vg==} - - is-alphanumerical@1.0.4: - resolution: {integrity: sha512-UzoZUr+XfVz3t3v4KyGEniVL9BDRoQtY7tOyrRybkVNjDFWyo1yhXNGrrBTQxp3ib9BLAWs7k2YKBQsFRkZG9A==} - - is-array-buffer@3.0.4: - resolution: {integrity: sha512-wcjaerHw0ydZwfhiKbXJWLDY8A7yV7KhjQOpb83hGgGfId/aQa4TOvwyzn2PuswW2gPCYEL/nEAiSVpdOj1lXw==} - engines: {node: '>= 0.4'} - - is-arrayish@0.2.1: - resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==} - - is-arrayish@0.3.2: - resolution: {integrity: sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==} - - is-bigint@1.0.4: - resolution: {integrity: sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==} - - is-binary-path@2.1.0: - resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} - engines: {node: '>=8'} - - is-boolean-object@1.1.2: - resolution: {integrity: sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==} - engines: {node: '>= 0.4'} - - is-builtin-module@3.2.1: - resolution: {integrity: sha512-BSLE3HnV2syZ0FK0iMA/yUGplUeMmNz4AW5fnTunbCIqZi4vG3WjJT9FHMy5D69xmAYBHXQhJdALdpwVxV501A==} - engines: {node: '>=6'} - - is-callable@1.2.7: - resolution: {integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==} - engines: {node: '>= 0.4'} - - is-ci@3.0.1: - resolution: {integrity: sha512-ZYvCgrefwqoQ6yTyYUbQu64HsITZ3NfKX1lzaEYdkTDcfKzzCI/wthRRYKkdjHKFVgNiXKAKm65Zo1pk2as/QQ==} - hasBin: true - - is-core-module@2.13.1: - resolution: {integrity: sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==} - - is-data-view@1.0.1: - resolution: {integrity: sha512-AHkaJrsUVW6wq6JS8y3JnM/GJF/9cf+k20+iDzlSaJrinEo5+7vRiteOSwBhHRiAyQATN1AmY4hwzxJKPmYf+w==} - engines: {node: '>= 0.4'} - - is-date-object@1.0.5: - resolution: {integrity: sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==} - engines: {node: '>= 0.4'} - - is-decimal@1.0.4: - resolution: {integrity: sha512-RGdriMmQQvZ2aqaQq3awNA6dCGtKpiDFcOzrTWrDAT2MiWrKQVPmxLGHl7Y2nNu6led0kEyoX0enY0qXYsv9zw==} - - is-docker@2.2.1: - resolution: {integrity: sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==} - engines: {node: '>=8'} - hasBin: true - - is-extglob@2.1.1: - resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} - engines: {node: '>=0.10.0'} - - is-fullwidth-code-point@3.0.0: - resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} - engines: {node: '>=8'} - - is-fullwidth-code-point@4.0.0: - resolution: {integrity: sha512-O4L094N2/dZ7xqVdrXhh9r1KODPJpFms8B5sGdJLPy664AgvXsreZUyCQQNItZRDlYug4xStLjNp/sz3HvBowQ==} - engines: {node: '>=12'} - - is-fullwidth-code-point@5.0.0: - resolution: {integrity: sha512-OVa3u9kkBbw7b8Xw5F9P+D/T9X+Z4+JruYVNapTjPYZYUznQ5YfWeFkOj606XYYW8yugTfC8Pj0hYqvi4ryAhA==} - engines: {node: '>=18'} - - is-generator-fn@2.1.0: - resolution: {integrity: sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==} - engines: {node: '>=6'} - - is-glob@4.0.3: - resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} - engines: {node: '>=0.10.0'} - - is-hexadecimal@1.0.4: - resolution: {integrity: sha512-gyPJuv83bHMpocVYoqof5VDiZveEoGoFL8m3BXNb2VW8Xs+rz9kqO8LOQ5DH6EsuvilT1ApazU0pyl+ytbPtlw==} - - is-installed-globally@0.4.0: - resolution: {integrity: sha512-iwGqO3J21aaSkC7jWnHP/difazwS7SFeIqxv6wEtLU8Y5KlzFTjyqcSIT0d8s4+dDhKytsk9PJZ2BkS5eZwQRQ==} - engines: {node: '>=10'} - - is-localhost-ip@2.0.0: - resolution: {integrity: sha512-vlgs2cSgMOfnKU8c1ewgKPyum9rVrjjLLW2HBdL5i0iAJjOs8NY55ZBd/hqUTaYR0EO9CKZd3hVSC2HlIbygTQ==} - engines: {node: '>=12'} - - is-module@1.0.0: - resolution: {integrity: sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g==} - - is-negative-zero@2.0.3: - resolution: {integrity: sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==} - engines: {node: '>= 0.4'} - - is-number-object@1.0.7: - resolution: {integrity: sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==} - engines: {node: '>= 0.4'} - - is-number@7.0.0: - resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} - engines: {node: '>=0.12.0'} - - is-obj@1.0.1: - resolution: {integrity: sha512-l4RyHgRqGN4Y3+9JHVrNqO+tN0rV5My76uW5/nuO4K1b6vw5G8d/cmFjP9tRfEsdhZNt0IFdZuK/c2Vr4Nb+Qg==} - engines: {node: '>=0.10.0'} - - is-path-inside@3.0.3: - resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==} - engines: {node: '>=8'} - - is-plain-obj@3.0.0: - resolution: {integrity: sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA==} - engines: {node: '>=10'} - - is-plain-obj@4.1.0: - resolution: {integrity: sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==} - engines: {node: '>=12'} - - is-plain-object@2.0.4: - resolution: {integrity: sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==} - engines: {node: '>=0.10.0'} - - is-potential-custom-element-name@1.0.1: - resolution: {integrity: sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==} - - is-promise@2.2.2: - resolution: {integrity: sha512-+lP4/6lKUBfQjZ2pdxThZvLUAafmZb8OAxFb8XXtiQmS35INgr85hdOGoEs124ez1FCnZJt6jau/T+alh58QFQ==} - - is-regex@1.1.4: - resolution: {integrity: sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==} - engines: {node: '>= 0.4'} - - is-regexp@1.0.0: - resolution: {integrity: sha512-7zjFAPO4/gwyQAAgRRmqeEeyIICSdmCqa3tsVHMdBzaXXRiqopZL4Cyghg/XulGWrtABTpbnYYzzIRffLkP4oA==} - engines: {node: '>=0.10.0'} - - is-shared-array-buffer@1.0.3: - resolution: {integrity: sha512-nA2hv5XIhLR3uVzDDfCIknerhx8XUKnstuOERPNNIinXG7v9u+ohXF67vxm4TPTEPU6lm61ZkwP3c9PCB97rhg==} - engines: {node: '>= 0.4'} - - is-stream@1.1.0: - resolution: {integrity: sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==} - engines: {node: '>=0.10.0'} - - is-stream@2.0.1: - resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==} - engines: {node: '>=8'} - - is-stream@3.0.0: - resolution: {integrity: sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - - is-string@1.0.7: - resolution: {integrity: sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==} - engines: {node: '>= 0.4'} - - is-symbol@1.0.4: - resolution: {integrity: sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==} - engines: {node: '>= 0.4'} - - is-typed-array@1.1.13: - resolution: {integrity: sha512-uZ25/bUAlUY5fR4OKT4rZQEBrzQWYV9ZJYGGsUmEJ6thodVJ1HX64ePQ6Z0qPWP+m+Uq6e9UugrE38jeYsDSMw==} - engines: {node: '>= 0.4'} - - is-typedarray@1.0.0: - resolution: {integrity: sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==} - - is-unicode-supported@0.1.0: - resolution: {integrity: sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==} - engines: {node: '>=10'} - - is-weakref@1.0.2: - resolution: {integrity: sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==} - - is-windows@1.0.2: - resolution: {integrity: sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==} - engines: {node: '>=0.10.0'} - - is-wsl@2.2.0: - resolution: {integrity: sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==} - engines: {node: '>=8'} - - isarray@1.0.0: - resolution: {integrity: sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==} - - isarray@2.0.5: - resolution: {integrity: sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==} - - isexe@2.0.0: - resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} - - isobject@3.0.1: - resolution: {integrity: sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==} - engines: {node: '>=0.10.0'} - - isstream@0.1.2: - resolution: {integrity: sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g==} - - istanbul-lib-coverage@3.2.2: - resolution: {integrity: sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==} - engines: {node: '>=8'} - - istanbul-lib-hook@3.0.0: - resolution: {integrity: sha512-Pt/uge1Q9s+5VAZ+pCo16TYMWPBIl+oaNIjgLQxcX0itS6ueeaA+pEfThZpH8WxhFgCiEb8sAJY6MdUKgiIWaQ==} - engines: {node: '>=8'} - - istanbul-lib-instrument@4.0.3: - resolution: {integrity: sha512-BXgQl9kf4WTCPCCpmFGoJkz/+uhvm7h7PFKUYxh7qarQd3ER33vHG//qaE8eN25l07YqZPpHXU9I09l/RD5aGQ==} - engines: {node: '>=8'} - - istanbul-lib-instrument@5.2.1: - resolution: {integrity: sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==} - engines: {node: '>=8'} - - istanbul-lib-instrument@6.0.2: - resolution: {integrity: sha512-1WUsZ9R1lA0HtBSohTkm39WTPlNKSJ5iFk7UwqXkBLoHQT+hfqPsfsTDVuZdKGaBwn7din9bS7SsnoAr943hvw==} - engines: {node: '>=10'} - - istanbul-lib-processinfo@2.0.3: - resolution: {integrity: sha512-NkwHbo3E00oybX6NGJi6ar0B29vxyvNwoC7eJ4G4Yq28UfY758Hgn/heV8VRFhevPED4LXfFz0DQ8z/0kw9zMg==} - engines: {node: '>=8'} - - istanbul-lib-report@3.0.1: - resolution: {integrity: sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==} - engines: {node: '>=10'} - - istanbul-lib-source-maps@4.0.1: - resolution: {integrity: sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==} - engines: {node: '>=10'} - - istanbul-lib-source-maps@5.0.4: - resolution: {integrity: sha512-wHOoEsNJTVltaJp8eVkm8w+GVkVNHT2YDYo53YdzQEL2gWm1hBX5cGFR9hQJtuGLebidVX7et3+dmDZrmclduw==} - engines: {node: '>=10'} - - istanbul-reports@3.1.7: - resolution: {integrity: sha512-BewmUXImeuRk2YY0PVbxgKAysvhRPUQE0h5QRM++nVWyubKGV0l8qQ5op8+B2DOmwSe63Jivj0BjkPQVf8fP5g==} - engines: {node: '>=8'} - - iterm2-version@4.2.0: - resolution: {integrity: sha512-IoiNVk4SMPu6uTcK+1nA5QaHNok2BMDLjSl5UomrOixe5g4GkylhPwuiGdw00ysSCrXAKNMfFTu+u/Lk5f6OLQ==} - engines: {node: '>=8'} - - jackspeak@3.4.0: - resolution: {integrity: sha512-JVYhQnN59LVPFCEcVa2C3CrEKYacvjRfqIQl+h8oi91aLYQVWRYbxjPcv1bUiUy/kLmQaANrYfNMCO3kuEDHfw==} - engines: {node: '>=14'} - - jake@10.9.1: - resolution: {integrity: sha512-61btcOHNnLnsOdtLgA5efqQWjnSi/vow5HbI7HMdKKWqvrKR1bLK3BPlJn9gcSaP2ewuamUSMB5XEy76KUIS2w==} - engines: {node: '>=10'} - hasBin: true - - jest-changed-files@29.7.0: - resolution: {integrity: sha512-fEArFiwf1BpQ+4bXSprcDc3/x4HSzL4al2tozwVpDFpsxALjLYdyiIK4e5Vz66GQJIbXJ82+35PtysofptNX2w==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - - jest-circus@29.7.0: - resolution: {integrity: sha512-3E1nCMgipcTkCocFwM90XXQab9bS+GMsjdpmPrlelaxwD93Ad8iVEjX/vvHPdLPnFf+L40u+5+iutRdA1N9myw==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - - jest-cli@29.7.0: - resolution: {integrity: sha512-OVVobw2IubN/GSYsxETi+gOe7Ka59EFMR/twOU3Jb2GnKKeMGJB5SGUUrEz3SFVmJASUdZUzy83sLNNQ2gZslg==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - hasBin: true - peerDependencies: - node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 - peerDependenciesMeta: - node-notifier: - optional: true - - jest-config@29.7.0: - resolution: {integrity: sha512-uXbpfeQ7R6TZBqI3/TxCU4q4ttk3u0PJeC+E0zbfSoSjq6bJ7buBPxzQPL0ifrkY4DNu4JUdk0ImlBUYi840eQ==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - peerDependencies: - '@types/node': '*' - ts-node: '>=9.0.0' - peerDependenciesMeta: - '@types/node': - optional: true - ts-node: - optional: true - - jest-diff@29.7.0: - resolution: {integrity: sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - - jest-docblock@29.7.0: - resolution: {integrity: sha512-q617Auw3A612guyaFgsbFeYpNP5t2aoUNLwBUbc/0kD1R4t9ixDbyFTHd1nok4epoVFpr7PmeWHrhvuV3XaJ4g==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - - jest-each@29.7.0: - resolution: {integrity: sha512-gns+Er14+ZrEoC5fhOfYCY1LOHHr0TI+rQUHZS8Ttw2l7gl+80eHc/gFf2Ktkw0+SIACDTeWvpFcv3B04VembQ==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - - jest-environment-node@29.7.0: - resolution: {integrity: sha512-DOSwCRqXirTOyheM+4d5YZOrWcdu0LNZ87ewUoywbcb2XR4wKgqiG8vNeYwhjFMbEkfju7wx2GYH0P2gevGvFw==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - - jest-get-type@29.6.3: - resolution: {integrity: sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - - jest-haste-map@29.7.0: - resolution: {integrity: sha512-fP8u2pyfqx0K1rGn1R9pyE0/KTn+G7PxktWidOBTqFPLYX0b9ksaMFkhK5vrS3DVun09pckLdlx90QthlW7AmA==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - - jest-image-snapshot@4.2.0: - resolution: {integrity: sha512-6aAqv2wtfOgxiJeBayBCqHo1zX+A12SUNNzo7rIxiXh6W6xYVu8QyHWkada8HeRi+QUTHddp0O0Xa6kmQr+xbQ==} - engines: {node: '>= 10.14.2'} - peerDependencies: - jest: '>=20 <=26' - - jest-leak-detector@29.7.0: - resolution: {integrity: sha512-kYA8IJcSYtST2BY9I+SMC32nDpBT3J2NvWJx8+JCuCdl/CR1I4EKUJROiP8XtCcxqgTTBGJNdbB1A8XRKbTetw==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - - jest-matcher-utils@29.7.0: - resolution: {integrity: sha512-sBkD+Xi9DtcChsI3L3u0+N0opgPYnCRPtGcQYrgXmR+hmt/fYfWAL0xRXYU8eWOdfuLgBe0YCW3AFtnRLagq/g==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - - jest-message-util@29.7.0: - resolution: {integrity: sha512-GBEV4GRADeP+qtB2+6u61stea8mGcOT4mCtrYISZwfu9/ISHFJ/5zOMXYbpBE9RsS5+Gb63DW4FgmnKJ79Kf6w==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - - jest-mock@29.7.0: - resolution: {integrity: sha512-ITOMZn+UkYS4ZFh83xYAOzWStloNzJFO2s8DWrE4lhtGD+AorgnbkiKERe4wQVBydIGPx059g6riW5Btp6Llnw==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - - jest-pnp-resolver@1.2.3: - resolution: {integrity: sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==} - engines: {node: '>=6'} - peerDependencies: - jest-resolve: '*' - peerDependenciesMeta: - jest-resolve: - optional: true - - jest-regex-util@29.6.3: - resolution: {integrity: sha512-KJJBsRCyyLNWCNBOvZyRDnAIfUiRJ8v+hOBQYGn8gDyF3UegwiP4gwRR3/SDa42g1YbVycTidUF3rKjyLFDWbg==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - - jest-resolve-dependencies@29.7.0: - resolution: {integrity: sha512-un0zD/6qxJ+S0et7WxeI3H5XSe9lTBBR7bOHCHXkKR6luG5mwDDlIzVQ0V5cZCuoTgEdcdwzTghYkTWfubi+nA==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - - jest-resolve@29.7.0: - resolution: {integrity: sha512-IOVhZSrg+UvVAshDSDtHyFCCBUl/Q3AAJv8iZ6ZjnZ74xzvwuzLXid9IIIPgTnY62SJjfuupMKZsZQRsCvxEgA==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - - jest-runner@29.7.0: - resolution: {integrity: sha512-fsc4N6cPCAahybGBfTRcq5wFR6fpLznMg47sY5aDpsoejOcVYFb07AHuSnR0liMcPTgBsA3ZJL6kFOjPdoNipQ==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - - jest-runtime@29.7.0: - resolution: {integrity: sha512-gUnLjgwdGqW7B4LvOIkbKs9WGbn+QLqRQQ9juC6HndeDiezIwhDP+mhMwHWCEcfQ5RUXa6OPnFF8BJh5xegwwQ==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - - jest-snapshot@29.7.0: - resolution: {integrity: sha512-Rm0BMWtxBcioHr1/OX5YCP8Uov4riHvKPknOGs804Zg9JGZgmIBkbtlxJC/7Z4msKYVbIJtfU+tKb8xlYNfdkw==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - - jest-util@29.7.0: - resolution: {integrity: sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - - jest-validate@29.7.0: - resolution: {integrity: sha512-ZB7wHqaRGVw/9hST/OuFUReG7M8vKeq0/J2egIGLdvjHCmYqGARhzXmtgi+gVeZ5uXFF219aOc3Ls2yLg27tkw==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - - jest-watcher@29.7.0: - resolution: {integrity: sha512-49Fg7WXkU3Vl2h6LbLtMQ/HyB6rXSIX7SqvBLQmssRBGN9I0PNvPmAmCWSOY6SOvrjhI/F7/bGAv9RtnsPA03g==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - - jest-worker@27.5.1: - resolution: {integrity: sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==} - engines: {node: '>= 10.13.0'} - - jest-worker@29.7.0: - resolution: {integrity: sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - - jest@29.7.0: - resolution: {integrity: sha512-NIy3oAFp9shda19hy4HK0HRTWKtPJmGdnvywu01nOqNC2vZg+Z+fvJDxpMQA88eb2I9EcafcdjYgsDthnYTvGw==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - hasBin: true - peerDependencies: - node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 - peerDependenciesMeta: - node-notifier: - optional: true - - jison-lex@0.3.4: - resolution: {integrity: sha512-EBh5wrXhls1cUwROd5DcDHR1sG7CdsCFSqY1027+YA1RGxz+BX2TDLAhdsQf40YEtFDGoiO0Qm8PpnBl2EzDJw==} - engines: {node: '>=0.4'} - hasBin: true - - jison@0.4.18: - resolution: {integrity: sha512-FKkCiJvozgC7VTHhMJ00a0/IApSxhlGsFIshLW6trWJ8ONX2TQJBBz6DlcO1Gffy4w9LT+uL+PA+CVnUSJMF7w==} - engines: {node: '>=0.4'} - hasBin: true - - jiti@1.21.6: - resolution: {integrity: sha512-2yTgeWTWzMWkHu6Jp9NKgePDaYHbntiwvYuuJLbbN9vl7DC9DvXKOB2BC3ZZ92D3cvV/aflH0osDfwpHepQ53w==} - hasBin: true - - jju@1.4.0: - resolution: {integrity: sha512-8wb9Yw966OSxApiCt0K3yNJL8pnNeIv+OEq2YMidz4FKP6nonSRoOXc80iXY4JaN2FC11B9qsNmDsm+ZOfMROA==} - - joi@17.13.1: - resolution: {integrity: sha512-vaBlIKCyo4FCUtCm7Eu4QZd/q02bWcxfUO6YSXAZOWF6gzcLBeba8kwotUdYJjDLW8Cz8RywsSOqiNJZW0mNvg==} - - jpeg-js@0.4.4: - resolution: {integrity: sha512-WZzeDOEtTOBK4Mdsar0IqEU5sMr3vSV2RqkAIzUEV2BHnUfKGyswWFPFwK5EeDo93K3FohSHbLAjj0s1Wzd+dg==} - - js-base64@3.7.7: - resolution: {integrity: sha512-7rCnleh0z2CkXhH67J8K1Ytz0b2Y+yxTPL+/KOJoa20hfnVQ/3/T6W/KflYI4bRHRagNeXeU2bkNGI3v1oS/lw==} - - js-tokens@4.0.0: - resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} - - js-tokens@9.0.0: - resolution: {integrity: sha512-WriZw1luRMlmV3LGJaR6QOJjWwgLUTf89OwT2lUOyjX2dJGBwgmIkbcz+7WFZjrZM635JOIR517++e/67CP9dQ==} - - js-yaml@3.14.1: - resolution: {integrity: sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==} - hasBin: true - - js-yaml@4.1.0: - resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} - hasBin: true - - jsbn@0.1.1: - resolution: {integrity: sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg==} - - jsdoc-type-pratt-parser@4.0.0: - resolution: {integrity: sha512-YtOli5Cmzy3q4dP26GraSOeAhqecewG04hoO8DY56CH4KJ9Fvv5qKWUCCo3HZob7esJQHCv6/+bnTy72xZZaVQ==} - engines: {node: '>=12.0.0'} - - jsdom@24.1.0: - resolution: {integrity: sha512-6gpM7pRXCwIOKxX47cgOyvyQDN/Eh0f1MeKySBV2xGdKtqJBLj8P25eY3EVCWo2mglDDzozR2r2MW4T+JiNUZA==} - engines: {node: '>=18'} - peerDependencies: - canvas: ^2.11.2 - peerDependenciesMeta: - canvas: - optional: true - - jsesc@0.5.0: - resolution: {integrity: sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==} - hasBin: true - - jsesc@2.5.2: - resolution: {integrity: sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==} - engines: {node: '>=4'} - hasBin: true - - jsesc@3.0.2: - resolution: {integrity: sha512-xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g==} - engines: {node: '>=6'} - hasBin: true - - json-buffer@3.0.1: - resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==} - - json-parse-even-better-errors@2.3.1: - resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==} - - json-schema-to-typescript@13.1.2: - resolution: {integrity: sha512-17G+mjx4nunvOpkPvcz7fdwUwYCEwyH8vR3Ym3rFiQ8uzAL3go+c1306Kk7iGRk8HuXBXqy+JJJmpYl0cvOllw==} - engines: {node: '>=12.0.0'} - hasBin: true - - json-schema-traverse@0.4.1: - resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} - - json-schema-traverse@1.0.0: - resolution: {integrity: sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==} - - json-schema@0.4.0: - resolution: {integrity: sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==} - - json-stable-stringify-without-jsonify@1.0.1: - resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==} - - json-stringify-safe@5.0.1: - resolution: {integrity: sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==} - - json5@2.2.3: - resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==} - engines: {node: '>=6'} - hasBin: true - - jsonc-parser@3.2.1: - resolution: {integrity: sha512-AilxAyFOAcK5wA1+LeaySVBrHsGQvUFCDWXKpZjzaL0PqW+xfBOttn8GNtWKFWqneyMZj41MWF9Kl6iPWLwgOA==} - - jsonfile@4.0.0: - resolution: {integrity: sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==} - - jsonfile@6.1.0: - resolution: {integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==} - - jsonlint@1.6.0: - resolution: {integrity: sha512-x6YLBe6NjdpmIeiklwQOxsZuYj/SOWkT33GlTpaG1UdFGjdWjPcxJ1CWZAX3wA7tarz8E2YHF6KiW5HTapPlXw==} - engines: {node: '>= 0.6'} - hasBin: true - - jsonpointer@5.0.1: - resolution: {integrity: sha512-p/nXbhSEcu3pZRdkW1OfJhpsVtW1gd4Wa1fnQc9YLiTfAjn0312eMKimbdIQzuZl9aa9xUGaRlP9T/CJE/ditQ==} - engines: {node: '>=0.10.0'} - - jsonschema@1.4.1: - resolution: {integrity: sha512-S6cATIPVv1z0IlxdN+zUk5EPjkGCdnhN4wVSBlvoUO1tOLJootbo9CquNJmbIh4yikWHiUedhRYrNPn1arpEmQ==} - - jsprim@2.0.2: - resolution: {integrity: sha512-gqXddjPqQ6G40VdnI6T6yObEC+pDNvyP95wdQhkWkg7crHH3km5qP1FsOXEkzEQwnz6gz5qGTn1c2Y52wP3OyQ==} - engines: {'0': node >=0.6.0} - - junk@4.0.1: - resolution: {integrity: sha512-Qush0uP+G8ZScpGMZvHUiRfI0YBWuB3gVBYlI0v0vvOJt5FLicco+IkP0a50LqTTQhmts/m6tP5SWE+USyIvcQ==} - engines: {node: '>=12.20'} - - katex@0.16.10: - resolution: {integrity: sha512-ZiqaC04tp2O5utMsl2TEZTXxa6WSC4yo0fv5ML++D3QZv/vx2Mct0mTlRx3O+uUkjfuAgOkzsCmq5MiUEsDDdA==} - hasBin: true - - keyv@4.5.4: - resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==} - - khroma@2.1.0: - resolution: {integrity: sha512-Ls993zuzfayK269Svk9hzpeGUKob/sIgZzyHYdjQoAdQetRKpOLj+k/QQQ/6Qi0Yz65mlROrfd+Ev+1+7dz9Kw==} - - kind-of@6.0.3: - resolution: {integrity: sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==} - engines: {node: '>=0.10.0'} - - kleur@3.0.3: - resolution: {integrity: sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==} - engines: {node: '>=6'} - - kolorist@1.8.0: - resolution: {integrity: sha512-Y+60/zizpJ3HRH8DCss+q95yr6145JXZo46OTpFvDZWLfRCE4qChOyk1b26nMaNpfHHgxagk9dXT5OP0Tfe+dQ==} - - ky@0.30.0: - resolution: {integrity: sha512-X/u76z4JtDVq10u1JA5UQfatPxgPaVDMYTrgHyiTpGN2z4TMEJkIHsoSBBSg9SWZEIXTKsi9kHgiQ9o3Y/4yog==} - engines: {node: '>=12'} - - langium-cli@3.0.3: - resolution: {integrity: sha512-g6PdhEq5IiYWK/oiySILglPvFdK6ofQdzC+U7PJmFH++bDKu0DGdxjWzDauUN5WUDyVQETWKgtYDmmbcxPzN0w==} - engines: {node: '>=16.0.0'} - hasBin: true - - langium-railroad@3.0.0: - resolution: {integrity: sha512-GQOnQBGl5gJqzgK/4bKvJO5QhJGNnprpYH6Fghbl4FviVLHwP6yzyqiouDelLSoCadChCr2JqKaBp5HXv7CgWw==} - - langium@3.0.0: - resolution: {integrity: sha512-+Ez9EoiByeoTu/2BXmEaZ06iPNXM6thWJp02KfBO/raSMyCJ4jw7AkWWa+zBCTm0+Tw1Fj9FOxdqSskyN5nAwg==} - engines: {node: '>=16.0.0'} - - launch-editor@2.6.1: - resolution: {integrity: sha512-eB/uXmFVpY4zezmGp5XtU21kwo7GBbKB+EQ+UZeWtGb9yAM5xt/Evk+lYH3eRNAtId+ej4u7TYPFZ07w4s7rRw==} - - layout-base@1.0.2: - resolution: {integrity: sha512-8h2oVEZNktL4BH2JCOI90iD1yXwL6iNW7KcCKT2QZgQJR2vbqDsldCTPRU9NifTCqHZci57XvQQ15YTu+sTYPg==} - - lazy-ass@1.6.0: - resolution: {integrity: sha512-cc8oEVoctTvsFZ/Oje/kGnHbpWHYBe8IAJe4C0QNc3t8uM/0Y8+erSz/7Y1ALuXTEZTMvxXwO6YbX1ey3ujiZw==} - engines: {node: '> 0.8'} - - leven@3.1.0: - resolution: {integrity: sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==} - engines: {node: '>=6'} - - levn@0.4.1: - resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} - engines: {node: '>= 0.8.0'} - - lex-parser@0.1.4: - resolution: {integrity: sha512-DuAEISsr1H4LOpmFLkyMc8YStiRWZCO8hMsoXAXSbgyfvs2WQhSt0+/FBv3ZU/JBFZMGcE+FWzEBSzwUU7U27w==} - - light-my-request@4.12.0: - resolution: {integrity: sha512-0y+9VIfJEsPVzK5ArSIJ8Dkxp8QMP7/aCuxCUtG/tr9a2NoOf/snATE/OUc05XUplJCEnRh6gTkH7xh9POt1DQ==} - - lilconfig@2.1.0: - resolution: {integrity: sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==} - engines: {node: '>=10'} - - lilconfig@3.1.2: - resolution: {integrity: sha512-eop+wDAvpItUys0FWkHIKeC9ybYrTGbU41U5K7+bttZZeohvnY7M9dZ5kB21GNWiFT2q1OoPTvncPCgSOVO5ow==} - engines: {node: '>=14'} - - lines-and-columns@1.2.4: - resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} - - linkify-it@4.0.1: - resolution: {integrity: sha512-C7bfi1UZmoj8+PQx22XyeXCuBlokoyWQL5pWSP+EI6nzRylyThouddufc2c1NDIcP9k5agmN9fLpA7VNJfIiqw==} - - lint-staged@15.2.7: - resolution: {integrity: sha512-+FdVbbCZ+yoh7E/RosSdqKJyUM2OEjTciH0TFNkawKgvFp1zbGlEC39RADg+xKBG1R4mhoH2j85myBQZ5wR+lw==} - engines: {node: '>=18.12.0'} - hasBin: true - - listr2@3.14.0: - resolution: {integrity: sha512-TyWI8G99GX9GjE54cJ+RrNMcIFBfwMPxc3XTFiAYGN4s10hWROGtOg7+O6u6LE3mNkyld7RSLE6nrKBvTfcs3g==} - engines: {node: '>=10.0.0'} - peerDependencies: - enquirer: '>= 2.3.0 < 3' - peerDependenciesMeta: - enquirer: - optional: true - - listr2@8.2.1: - resolution: {integrity: sha512-irTfvpib/rNiD637xeevjO2l3Z5loZmuaRi0L0YE5LfijwVY96oyVn0DFD3o/teAok7nfobMG1THvvcHh/BP6g==} - engines: {node: '>=18.0.0'} - - loader-runner@4.3.0: - resolution: {integrity: sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==} - engines: {node: '>=6.11.5'} - - local-pkg@0.4.3: - resolution: {integrity: sha512-SFppqq5p42fe2qcZQqqEOiVRXl+WCP1MdT6k7BDEW1j++sp5fIY+/fdRQitvKgB5BrBcmrs5m/L0v2FrU5MY1g==} - engines: {node: '>=14'} - - local-pkg@0.5.0: - resolution: {integrity: sha512-ok6z3qlYyCDS4ZEU27HaU6x/xZa9Whf8jD4ptH5UZTQYZVYeb9bnZ3ojVhiJNLiXK1Hfc0GNbLXcmZ5plLDDBg==} - engines: {node: '>=14'} - - locate-path@3.0.0: - resolution: {integrity: sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==} - engines: {node: '>=6'} - - locate-path@5.0.0: - resolution: {integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==} - engines: {node: '>=8'} - - locate-path@6.0.0: - resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} - engines: {node: '>=10'} - - locate-path@7.2.0: - resolution: {integrity: sha512-gvVijfZvn7R+2qyPX8mAuKcFGDf6Nc61GdvGafQsHL0sBIxfKzA+usWn4GFC/bk+QdwPUD4kWFJLhElipq+0VA==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - - lodash-es@4.17.21: - resolution: {integrity: sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==} - - lodash.debounce@4.0.8: - resolution: {integrity: sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==} - - lodash.flattendeep@4.4.0: - resolution: {integrity: sha512-uHaJFihxmJcEX3kT4I23ABqKKalJ/zDrDg0lsFtc1h+3uw49SIJ5beyhx5ExVRti3AvKoOJngIj7xz3oylPdWQ==} - - lodash.isplainobject@4.0.6: - resolution: {integrity: sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==} - - lodash.merge@4.6.2: - resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} - - lodash.once@4.1.1: - resolution: {integrity: sha512-Sb487aTOCr9drQVL8pIxOzVhafOjZN9UU54hiN8PU3uAiSV7lx1yYNpbNmex2PK6dSJoNTSJUUswT651yww3Mg==} - - lodash.sortby@4.7.0: - resolution: {integrity: sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA==} - - lodash@4.17.21: - resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} - - log-symbols@4.1.0: - resolution: {integrity: sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==} - engines: {node: '>=10'} - - log-update@4.0.0: - resolution: {integrity: sha512-9fkkDevMefjg0mmzWFBW8YkFP91OrizzkW3diF7CpG+S2EYdy4+TVfGwz1zeF8x7hCx1ovSPTOE9Ngib74qqUg==} - engines: {node: '>=10'} - - log-update@6.0.0: - resolution: {integrity: sha512-niTvB4gqvtof056rRIrTZvjNYE4rCUzO6X/X+kYjd7WFxXeJ0NwEFnRxX6ehkvv3jTwrXnNdtAak5XYZuIyPFw==} - engines: {node: '>=18'} - - loglevel-plugin-prefix@0.8.4: - resolution: {integrity: sha512-WpG9CcFAOjz/FtNht+QJeGpvVl/cdR6P0z6OcXSkr8wFJOsV2GRj2j10JLfjuA4aYkcKCNIEqRGCyTife9R8/g==} - - loglevel@1.9.1: - resolution: {integrity: sha512-hP3I3kCrDIMuRwAwHltphhDM1r8i55H33GgqjXbrisuJhF4kRhW1dNuxsRklp4bXl8DSdLaNLuiL4A/LWRfxvg==} - engines: {node: '>= 0.6.0'} - - longest-streak@3.1.0: - resolution: {integrity: sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g==} - - loupe@2.3.7: - resolution: {integrity: sha512-zSMINGVYkdpYSOBmLi0D1Uo7JU9nVdQKrHxC8eYlV+9YKK9WePqAlL7lSlorG/U2Fw1w0hTBmaa/jrQ3UbPHtA==} - - lowercase-keys@2.0.0: - resolution: {integrity: sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==} - engines: {node: '>=8'} - - lru-cache@10.2.2: - resolution: {integrity: sha512-9hp3Vp2/hFQUiIwKo8XCeFVnrg8Pk3TYNPIR7tJADKi5YfcF7vEaK7avFHTlSy3kOKYaJQaalfEo6YuXdceBOQ==} - engines: {node: 14 || >=16.14} - - lru-cache@5.1.1: - resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==} - - lru-cache@6.0.0: - resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==} - engines: {node: '>=10'} - - lru-queue@0.1.0: - resolution: {integrity: sha512-BpdYkt9EvGl8OfWHDQPISVpcl5xZthb+XPsbELj5AQXxIC8IriDZIQYjBJPEm5rS420sjZ0TLEzRcq5KdBhYrQ==} - - lunr@2.3.9: - resolution: {integrity: sha512-zTU3DaZaF3Rt9rhN3uBMGQD3dD2/vFQqnvZCDv4dl5iOzq2IZQqTxu90r4E5J+nP70J3ilqVCrbho2eWaeW8Ow==} - - magic-string@0.25.9: - resolution: {integrity: sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==} - - magic-string@0.30.10: - resolution: {integrity: sha512-iIRwTIf0QKV3UAnYK4PU8uiEc4SRh5jX0mwpIwETPpHdhVM4f53RSwS/vXvN1JhGX+Cs7B8qIq3d6AH49O5fAQ==} - - magicast@0.3.4: - resolution: {integrity: sha512-TyDF/Pn36bBji9rWKHlZe+PZb6Mx5V8IHCSxk7X4aljM4e/vyDvZZYwHewdVaqiA0nb3ghfHU/6AUpDxWoER2Q==} - - make-dir@3.1.0: - resolution: {integrity: sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==} - engines: {node: '>=8'} - - make-dir@4.0.0: - resolution: {integrity: sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==} - engines: {node: '>=10'} - - makeerror@1.0.12: - resolution: {integrity: sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==} - - map-stream@0.1.0: - resolution: {integrity: sha512-CkYQrPYZfWnu/DAmVCpTSX/xHpKZ80eKh2lAkyA6AJTef6bW+6JpbQZN5rofum7da+SyN1bi5ctTm+lTfcCW3g==} - - mark.js@8.11.1: - resolution: {integrity: sha512-1I+1qpDt4idfgLQG+BNWmrqku+7/2bi5nLf4YwF8y8zXvmfiTBY3PV3ZibfrjBueCByROpuBjLLFCajqkgYoLQ==} - - markdown-it@13.0.2: - resolution: {integrity: sha512-FtwnEuuK+2yVU7goGn/MJ0WBZMM9ZPgU9spqlFs7/A/pDIUNSOQZhUgOqYCficIuR2QaFnrt8LHqBWsbTAoI5w==} - hasBin: true - - markdown-table@3.0.3: - resolution: {integrity: sha512-Z1NL3Tb1M9wH4XESsCDEksWoKTdlUafKc4pt0GRwjUyXaCFZ+dc3g2erqB6zm3szA2IUSi7VnPI+o/9jnxh9hw==} - - marked@4.3.0: - resolution: {integrity: sha512-PRsaiG84bK+AMvxziE/lCFss8juXjNaWzVbN5tXAm4XjeaS9NAHhop+PjQxz2A9h8Q4M/xGmzP8vqNwy6JeK0A==} - engines: {node: '>= 12'} - hasBin: true - - mdast-builder@1.1.1: - resolution: {integrity: sha512-a3KBk/LmYD6wKsWi8WJrGU/rXR4yuF4Men0JO0z6dSZCm5FrXXWTRDjqK0vGSqa+1M6p9edeuypZAZAzSehTUw==} - - mdast-util-find-and-replace@3.0.1: - resolution: {integrity: sha512-SG21kZHGC3XRTSUhtofZkBzZTJNM5ecCi0SK2IMKmSXR8vO3peL+kb1O0z7Zl83jKtutG4k5Wv/W7V3/YHvzPA==} - - mdast-util-from-markdown@0.8.5: - resolution: {integrity: sha512-2hkTXtYYnr+NubD/g6KGBS/0mFmBcifAsI0yIWRiRo0PjVs6SSOSOdtzbp6kSGnShDN6G5aWZpKQ2lWRy27mWQ==} - - mdast-util-from-markdown@2.0.1: - resolution: {integrity: sha512-aJEUyzZ6TzlsX2s5B4Of7lN7EQtAxvtradMMglCQDyaTFgse6CmtmdJ15ElnVRlCg1vpNyVtbem0PWzlNieZsA==} - - mdast-util-frontmatter@2.0.1: - resolution: {integrity: sha512-LRqI9+wdgC25P0URIJY9vwocIzCcksduHQ9OF2joxQoyTNVduwLAFUzjoopuRJbJAReaKrNQKAZKL3uCMugWJA==} - - mdast-util-gfm-autolink-literal@2.0.0: - resolution: {integrity: sha512-FyzMsduZZHSc3i0Px3PQcBT4WJY/X/RCtEJKuybiC6sjPqLv7h1yqAkmILZtuxMSsUyaLUWNp71+vQH2zqp5cg==} - - mdast-util-gfm-footnote@2.0.0: - resolution: {integrity: sha512-5jOT2boTSVkMnQ7LTrd6n/18kqwjmuYqo7JUPe+tRCY6O7dAuTFMtTPauYYrMPpox9hlN0uOx/FL8XvEfG9/mQ==} - - mdast-util-gfm-strikethrough@2.0.0: - resolution: {integrity: sha512-mKKb915TF+OC5ptj5bJ7WFRPdYtuHv0yTRxK2tJvi+BDqbkiG7h7u/9SI89nRAYcmap2xHQL9D+QG/6wSrTtXg==} - - mdast-util-gfm-table@2.0.0: - resolution: {integrity: sha512-78UEvebzz/rJIxLvE7ZtDd/vIQ0RHv+3Mh5DR96p7cS7HsBhYIICDBCu8csTNWNO6tBWfqXPWekRuj2FNOGOZg==} - - mdast-util-gfm-task-list-item@2.0.0: - resolution: {integrity: sha512-IrtvNvjxC1o06taBAVJznEnkiHxLFTzgonUdy8hzFVeDun0uTjxxrRGVaNFqkU1wJR3RBPEfsxmU6jDWPofrTQ==} - - mdast-util-gfm@3.0.0: - resolution: {integrity: sha512-dgQEX5Amaq+DuUqf26jJqSK9qgixgd6rYDHAv4aTBuA92cTknZlKpPfa86Z/s8Dj8xsAQpFfBmPUHWJBWqS4Bw==} - - mdast-util-phrasing@4.1.0: - resolution: {integrity: sha512-TqICwyvJJpBwvGAMZjj4J2n0X8QWp21b9l0o7eXyVJ25YNWYbJDVIyD1bZXE6WtV6RmKJVYmQAKWa0zWOABz2w==} - - mdast-util-to-markdown@2.1.0: - resolution: {integrity: sha512-SR2VnIEdVNCJbP6y7kVTJgPLifdr8WEU440fQec7qHoHOUz/oJ2jmNRqdDQ3rbiStOXb2mCDGTuwsK5OPUgYlQ==} - - mdast-util-to-string@2.0.0: - resolution: {integrity: sha512-AW4DRS3QbBayY/jJmD8437V1Gombjf8RSOUCMFBuo5iHi58AGEgVCKQ+ezHkZZDpAQS75hcBMpLqjpJTjtUL7w==} - - mdast-util-to-string@4.0.0: - resolution: {integrity: sha512-0H44vDimn51F0YwvxSJSm0eCDOJTRlmN0R1yBh4HLj9wiV1Dn0QoXGbvFAWj2hSItVTlCmBF1hqKlIyUBVFLPg==} - - mdn-data@2.0.30: - resolution: {integrity: sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==} - - mdn-data@2.1.0: - resolution: {integrity: sha512-dbAWH6A+2NGuVJlQFrTKHJc07Vqn5frnhyTOGz+7BsK7V2hHdoBcwoiyV3QVhLHYpM/zqe2OSUn5ZWbVXLBB8A==} - - mdurl@1.0.1: - resolution: {integrity: sha512-/sKlQJCBYVY9Ers9hqzKou4H6V5UWc/M59TH2dvkt+84itfnq7uFOMLpOiOS4ujvHP4etln18fmIxA5R5fll0g==} - - media-typer@0.3.0: - resolution: {integrity: sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==} - engines: {node: '>= 0.6'} - - memfs@3.5.3: - resolution: {integrity: sha512-UERzLsxzllchadvbPs5aolHh65ISpKpM+ccLbOJ8/vvpBKmAWf+la7dXFy7Mr0ySHbdHrFv5kGFCUHHe6GFEmw==} - engines: {node: '>= 4.0.0'} - - memoizee@0.4.17: - resolution: {integrity: sha512-DGqD7Hjpi/1or4F/aYAspXKNm5Yili0QDAFAY4QYvpqpgiY6+1jOfqpmByzjxbWd/T9mChbCArXAbDAsTm5oXA==} - engines: {node: '>=0.12'} - - meow@12.1.1: - resolution: {integrity: sha512-BhXM0Au22RwUneMPwSCnyhTOizdWoIEPU9sp0Aqa1PnDMR5Wv2FGXYDjuzJEIX+Eo2Rb8xuYe5jrnm5QowQFkw==} - engines: {node: '>=16.10'} - - merge-descriptors@1.0.1: - resolution: {integrity: sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==} - - merge-stream@2.0.0: - resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} - - merge2@1.4.1: - resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} - engines: {node: '>= 8'} - - methods@1.1.2: - resolution: {integrity: sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==} - engines: {node: '>= 0.6'} - - micromark-core-commonmark@2.0.1: - resolution: {integrity: sha512-CUQyKr1e///ZODyD1U3xit6zXwy1a8q2a1S1HKtIlmgvurrEpaw/Y9y6KSIbF8P59cn/NjzHyO+Q2fAyYLQrAA==} - - micromark-extension-frontmatter@2.0.0: - resolution: {integrity: sha512-C4AkuM3dA58cgZha7zVnuVxBhDsbttIMiytjgsM2XbHAB2faRVaHRle40558FBN+DJcrLNCoqG5mlrpdU4cRtg==} - - micromark-extension-gfm-autolink-literal@2.0.0: - resolution: {integrity: sha512-rTHfnpt/Q7dEAK1Y5ii0W8bhfJlVJFnJMHIPisfPK3gpVNuOP0VnRl96+YJ3RYWV/P4gFeQoGKNlT3RhuvpqAg==} - - micromark-extension-gfm-footnote@2.0.0: - resolution: {integrity: sha512-6Rzu0CYRKDv3BfLAUnZsSlzx3ak6HAoI85KTiijuKIz5UxZxbUI+pD6oHgw+6UtQuiRwnGRhzMmPRv4smcz0fg==} - - micromark-extension-gfm-strikethrough@2.0.0: - resolution: {integrity: sha512-c3BR1ClMp5fxxmwP6AoOY2fXO9U8uFMKs4ADD66ahLTNcwzSCyRVU4k7LPV5Nxo/VJiR4TdzxRQY2v3qIUceCw==} - - micromark-extension-gfm-table@2.0.0: - resolution: {integrity: sha512-PoHlhypg1ItIucOaHmKE8fbin3vTLpDOUg8KAr8gRCF1MOZI9Nquq2i/44wFvviM4WuxJzc3demT8Y3dkfvYrw==} - - micromark-extension-gfm-tagfilter@2.0.0: - resolution: {integrity: sha512-xHlTOmuCSotIA8TW1mDIM6X2O1SiX5P9IuDtqGonFhEK0qgRI4yeC6vMxEV2dgyr2TiD+2PQ10o+cOhdVAcwfg==} - - micromark-extension-gfm-task-list-item@2.0.1: - resolution: {integrity: sha512-cY5PzGcnULaN5O7T+cOzfMoHjBW7j+T9D2sucA5d/KbsBTPcYdebm9zUd9zzdgJGCwahV+/W78Z3nbulBYVbTw==} - - micromark-extension-gfm@3.0.0: - resolution: {integrity: sha512-vsKArQsicm7t0z2GugkCKtZehqUm31oeGBV/KVSorWSy8ZlNAv7ytjFhvaryUiCUJYqs+NoE6AFhpQvBTM6Q4w==} - - micromark-factory-destination@2.0.0: - resolution: {integrity: sha512-j9DGrQLm/Uhl2tCzcbLhy5kXsgkHUrjJHg4fFAeoMRwJmJerT9aw4FEhIbZStWN8A3qMwOp1uzHr4UL8AInxtA==} - - micromark-factory-label@2.0.0: - resolution: {integrity: sha512-RR3i96ohZGde//4WSe/dJsxOX6vxIg9TimLAS3i4EhBAFx8Sm5SmqVfR8E87DPSR31nEAjZfbt91OMZWcNgdZw==} - - micromark-factory-space@2.0.0: - resolution: {integrity: sha512-TKr+LIDX2pkBJXFLzpyPyljzYK3MtmllMUMODTQJIUfDGncESaqB90db9IAUcz4AZAJFdd8U9zOp9ty1458rxg==} - - micromark-factory-title@2.0.0: - resolution: {integrity: sha512-jY8CSxmpWLOxS+t8W+FG3Xigc0RDQA9bKMY/EwILvsesiRniiVMejYTE4wumNc2f4UbAa4WsHqe3J1QS1sli+A==} - - micromark-factory-whitespace@2.0.0: - resolution: {integrity: sha512-28kbwaBjc5yAI1XadbdPYHX/eDnqaUFVikLwrO7FDnKG7lpgxnvk/XGRhX/PN0mOZ+dBSZ+LgunHS+6tYQAzhA==} - - micromark-util-character@2.1.0: - resolution: {integrity: sha512-KvOVV+X1yLBfs9dCBSopq/+G1PcgT3lAK07mC4BzXi5E7ahzMAF8oIupDDJ6mievI6F+lAATkbQQlQixJfT3aQ==} - - micromark-util-chunked@2.0.0: - resolution: {integrity: sha512-anK8SWmNphkXdaKgz5hJvGa7l00qmcaUQoMYsBwDlSKFKjc6gjGXPDw3FNL3Nbwq5L8gE+RCbGqTw49FK5Qyvg==} - - micromark-util-classify-character@2.0.0: - resolution: {integrity: sha512-S0ze2R9GH+fu41FA7pbSqNWObo/kzwf8rN/+IGlW/4tC6oACOs8B++bh+i9bVyNnwCcuksbFwsBme5OCKXCwIw==} - - micromark-util-combine-extensions@2.0.0: - resolution: {integrity: sha512-vZZio48k7ON0fVS3CUgFatWHoKbbLTK/rT7pzpJ4Bjp5JjkZeasRfrS9wsBdDJK2cJLHMckXZdzPSSr1B8a4oQ==} - - micromark-util-decode-numeric-character-reference@2.0.1: - resolution: {integrity: sha512-bmkNc7z8Wn6kgjZmVHOX3SowGmVdhYS7yBpMnuMnPzDq/6xwVA604DuOXMZTO1lvq01g+Adfa0pE2UKGlxL1XQ==} - - micromark-util-decode-string@2.0.0: - resolution: {integrity: sha512-r4Sc6leeUTn3P6gk20aFMj2ntPwn6qpDZqWvYmAG6NgvFTIlj4WtrAudLi65qYoaGdXYViXYw2pkmn7QnIFasA==} - - micromark-util-encode@2.0.0: - resolution: {integrity: sha512-pS+ROfCXAGLWCOc8egcBvT0kf27GoWMqtdarNfDcjb6YLuV5cM3ioG45Ys2qOVqeqSbjaKg72vU+Wby3eddPsA==} - - micromark-util-html-tag-name@2.0.0: - resolution: {integrity: sha512-xNn4Pqkj2puRhKdKTm8t1YHC/BAjx6CEwRFXntTaRf/x16aqka6ouVoutm+QdkISTlT7e2zU7U4ZdlDLJd2Mcw==} - - micromark-util-normalize-identifier@2.0.0: - resolution: {integrity: sha512-2xhYT0sfo85FMrUPtHcPo2rrp1lwbDEEzpx7jiH2xXJLqBuy4H0GgXk5ToU8IEwoROtXuL8ND0ttVa4rNqYK3w==} - - micromark-util-resolve-all@2.0.0: - resolution: {integrity: sha512-6KU6qO7DZ7GJkaCgwBNtplXCvGkJToU86ybBAUdavvgsCiG8lSSvYxr9MhwmQ+udpzywHsl4RpGJsYWG1pDOcA==} - - micromark-util-sanitize-uri@2.0.0: - resolution: {integrity: sha512-WhYv5UEcZrbAtlsnPuChHUAsu/iBPOVaEVsntLBIdpibO0ddy8OzavZz3iL2xVvBZOpolujSliP65Kq0/7KIYw==} - - micromark-util-subtokenize@2.0.1: - resolution: {integrity: sha512-jZNtiFl/1aY73yS3UGQkutD0UbhTt68qnRpw2Pifmz5wV9h8gOVsN70v+Lq/f1rKaU/W8pxRe8y8Q9FX1AOe1Q==} - - micromark-util-symbol@2.0.0: - resolution: {integrity: sha512-8JZt9ElZ5kyTnO94muPxIGS8oyElRJaiJO8EzV6ZSyGQ1Is8xwl4Q45qU5UOg+bGH4AikWziz0iN4sFLWs8PGw==} - - micromark-util-types@2.0.0: - resolution: {integrity: sha512-oNh6S2WMHWRZrmutsRmDDfkzKtxF+bc2VxLC9dvtrDIRFln627VsFP6fLMgTryGDljgLPjkrzQSDcPrjPyDJ5w==} - - micromark@2.11.4: - resolution: {integrity: sha512-+WoovN/ppKolQOFIAajxi7Lu9kInbPxFuTBVEavFcL8eAfVstoc5MocPmqBeAdBOJV00uaVjegzH4+MA0DN/uA==} - - micromark@4.0.0: - resolution: {integrity: sha512-o/sd0nMof8kYff+TqcDx3VSrgBTcZpSvYcAHIfHhv5VAuNmisCxjhx6YmxS8PFEpb9z5WKWKPdzf0jM23ro3RQ==} - - micromatch@4.0.7: - resolution: {integrity: sha512-LPP/3KorzCwBxfeUuZmaR6bG2kdeHSbe0P2tY3FLRU4vYrjYz5hI4QZwV0njUx3jeuKe67YukQ1LSPZBKDqO/Q==} - engines: {node: '>=8.6'} - - mime-db@1.52.0: - resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==} - engines: {node: '>= 0.6'} - - mime-types@2.1.35: - resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==} - engines: {node: '>= 0.6'} - - mime@1.6.0: - resolution: {integrity: sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==} - engines: {node: '>=4'} - hasBin: true - - mimic-fn@2.1.0: - resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==} - engines: {node: '>=6'} - - mimic-fn@4.0.0: - resolution: {integrity: sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==} - engines: {node: '>=12'} - - mimic-response@1.0.1: - resolution: {integrity: sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==} - engines: {node: '>=4'} - - mimic-response@3.1.0: - resolution: {integrity: sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==} - engines: {node: '>=10'} - - min-indent@1.0.1: - resolution: {integrity: sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==} - engines: {node: '>=4'} - - minimalistic-assert@1.0.1: - resolution: {integrity: sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==} - - minimatch@3.1.2: - resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} - - minimatch@5.1.6: - resolution: {integrity: sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==} - engines: {node: '>=10'} - - minimatch@9.0.4: - resolution: {integrity: sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw==} - engines: {node: '>=16 || 14 >=14.17'} - - minimist@1.2.8: - resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} - - minipass@7.1.2: - resolution: {integrity: sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==} - engines: {node: '>=16 || 14 >=14.17'} - - minisearch@6.3.0: - resolution: {integrity: sha512-ihFnidEeU8iXzcVHy74dhkxh/dn8Dc08ERl0xwoMMGqp4+LvRSCgicb+zGqWthVokQKvCSxITlh3P08OzdTYCQ==} - - mitt@3.0.1: - resolution: {integrity: sha512-vKivATfr97l2/QBCYAkXYDbrIWPM2IIKEl7YPhjCvKlG3kE2gm+uBo6nEXK3M5/Ffh/FLpKExzOQ3JJoJGFKBw==} - - mkdirp@0.5.6: - resolution: {integrity: sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==} - hasBin: true - - mkdirp@1.0.4: - resolution: {integrity: sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==} - engines: {node: '>=10'} - hasBin: true - - mlly@1.7.1: - resolution: {integrity: sha512-rrVRZRELyQzrIUAVMHxP97kv+G786pHmOKzuFII8zDYahFBS7qnHh2AlYSl1GAHhaMPCz6/oHjVMcfFYgFYHgA==} - - mrmime@2.0.0: - resolution: {integrity: sha512-eu38+hdgojoyq63s+yTpN4XMBdt5l8HhMhc4VKLO9KM5caLIBvUm4thi7fFaxyTmCKeNnXZ5pAlBwCUnhA09uw==} - engines: {node: '>=10'} - - ms@2.0.0: - resolution: {integrity: sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==} - - ms@2.1.2: - resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} - - ms@2.1.3: - resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} - - multicast-dns@7.2.5: - resolution: {integrity: sha512-2eznPJP8z2BFLX50tf0LuODrpINqP1RVIm/CObbTcBRITQgmC/TjcREF1NeTBzIcR5XO/ukWo+YHOjBbFwIupg==} - hasBin: true - - mz@2.7.0: - resolution: {integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==} - - nanoid@3.3.7: - resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==} - engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} - hasBin: true - - natural-compare@1.4.0: - resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} - - negotiator@0.6.3: - resolution: {integrity: sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==} - engines: {node: '>= 0.6'} - - neo-async@2.6.2: - resolution: {integrity: sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==} - - nested-error-stacks@2.1.1: - resolution: {integrity: sha512-9iN1ka/9zmX1ZvLV9ewJYEk9h7RyRRtqdK0woXcqohu8EWIerfPUjYJPg0ULy0UqP7cslmdGc8xKDJcojlKiaw==} - - next-tick@1.1.0: - resolution: {integrity: sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ==} - - nice-try@1.0.5: - resolution: {integrity: sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==} - - node-cleanup@2.1.2: - resolution: {integrity: sha512-qN8v/s2PAJwGUtr1/hYTpNKlD6Y9rc4p8KSmJXyGdYGZsDGKXrGThikLFP9OCHFeLeEpQzPwiAtdIvBLqm//Hw==} - - node-domexception@1.0.0: - resolution: {integrity: sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==} - engines: {node: '>=10.5.0'} - - node-fetch-native@1.6.4: - resolution: {integrity: sha512-IhOigYzAKHd244OC0JIMIUrjzctirCmPkaIfhDeGcEETWof5zKYUW7e7MYvChGWh/4CJeXEgsRyGzuF334rOOQ==} - - node-fetch@2.6.7: - resolution: {integrity: sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==} - engines: {node: 4.x || >=6.0.0} - peerDependencies: - encoding: ^0.1.0 - peerDependenciesMeta: - encoding: - optional: true - - node-fetch@3.3.1: - resolution: {integrity: sha512-cRVc/kyto/7E5shrWca1Wsea4y6tL9iYJE5FBCius3JQfb/4P4I295PfhgbJQBLTx6lATE4z+wK0rPM4VS2uow==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - - node-forge@1.3.1: - resolution: {integrity: sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==} - engines: {node: '>= 6.13.0'} - - node-int64@0.4.0: - resolution: {integrity: sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==} - - node-preload@0.2.1: - resolution: {integrity: sha512-RM5oyBy45cLEoHqCeh+MNuFAxO0vTFBLskvQbOKnEE7YTTSN4tbN8QWDIPQ6L+WvKsB/qLEGpYe2ZZ9d4W9OIQ==} - engines: {node: '>=8'} - - node-releases@2.0.14: - resolution: {integrity: sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==} - - nomnom@1.5.2: - resolution: {integrity: sha512-fiVbT7BqxiQqjlR9U3FDGOSERFCKoXVCdxV2FwZuNN7/cmJ42iQx35nUFOAFDcyvemu9Adp+IlsCGlKQYLmBKw==} - deprecated: Package no longer supported. Contact support@npmjs.com for more info. - - normalize-package-data@2.5.0: - resolution: {integrity: sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==} - - normalize-path@3.0.0: - resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} - engines: {node: '>=0.10.0'} - - normalize-url@6.1.0: - resolution: {integrity: sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==} - engines: {node: '>=10'} - - npm-run-path@2.0.2: - resolution: {integrity: sha512-lJxZYlT4DW/bRUtFh1MQIWqmLwQfAxnqWG4HhEdjMlkrJYnJn0Jrr2u3mgxqaWsdiBc76TYkTG/mhrnYTuzfHw==} - engines: {node: '>=4'} - - npm-run-path@4.0.1: - resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==} - engines: {node: '>=8'} - - npm-run-path@5.3.0: - resolution: {integrity: sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - - nwsapi@2.2.10: - resolution: {integrity: sha512-QK0sRs7MKv0tKe1+5uZIQk/C8XGza4DAnztJG8iD+TpJIORARrCxczA738awHrZoHeTjSSoHqao2teO0dC/gFQ==} - - nyc@15.1.0: - resolution: {integrity: sha512-jMW04n9SxKdKi1ZMGhvUTHBN0EICCRkHemEoE5jm6mTYcqcdas0ATzgUgejlQUHMvpnOZqGB5Xxsv9KxJW1j8A==} - engines: {node: '>=8.9'} - hasBin: true - - object-assign@4.1.1: - resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} - engines: {node: '>=0.10.0'} - - object-hash@3.0.0: - resolution: {integrity: sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==} - engines: {node: '>= 6'} - - object-inspect@1.13.1: - resolution: {integrity: sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==} - - object-keys@1.1.1: - resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==} - engines: {node: '>= 0.4'} - - object.assign@4.1.5: - resolution: {integrity: sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ==} - engines: {node: '>= 0.4'} - - obuf@1.1.2: - resolution: {integrity: sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==} - - ofetch@1.3.4: - resolution: {integrity: sha512-KLIET85ik3vhEfS+3fDlc/BAZiAp+43QEC/yCo5zkNoY2YaKvNkOaFr/6wCFgFH1kuYQM5pMNi0Tg8koiIemtw==} - - omggif@1.0.10: - resolution: {integrity: sha512-LMJTtvgc/nugXj0Vcrrs68Mn2D1r0zf630VNtqtpI1FEO7e+O9FP4gqs9AcnBaSEeoHIPm28u6qgPR0oyEpGSw==} - - on-exit-leak-free@2.1.2: - resolution: {integrity: sha512-0eJJY6hXLGf1udHwfNftBqH+g73EU4B504nZeKpz1sYRKafAghwxEJunB2O7rDZkL4PGfsMVnTXZ2EjibbqcsA==} - engines: {node: '>=14.0.0'} - - on-finished@2.4.1: - resolution: {integrity: sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==} - engines: {node: '>= 0.8'} - - on-headers@1.0.2: - resolution: {integrity: sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==} - engines: {node: '>= 0.8'} - - once@1.4.0: - resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} - - onetime@5.1.2: - resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==} - engines: {node: '>=6'} - - onetime@6.0.0: - resolution: {integrity: sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==} - engines: {node: '>=12'} - - open@8.4.2: - resolution: {integrity: sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==} - engines: {node: '>=12'} - - optionator@0.9.4: - resolution: {integrity: sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==} - engines: {node: '>= 0.8.0'} - - ospath@1.2.2: - resolution: {integrity: sha512-o6E5qJV5zkAbIDNhGSIlyOhScKXgQrSRMilfph0clDfM0nEnBOlKlH4sWDmG95BW/CvwNz0vmm7dJVtU2KlMiA==} - - p-cancelable@2.1.1: - resolution: {integrity: sha512-BZOr3nRQHOntUjTrH8+Lh54smKHoHyur8We1V8DSMVrl5A2malOOwuJRnKRDjSnkoeBh4at6BwEnb5I7Jl31wg==} - engines: {node: '>=8'} - - p-event@5.0.1: - resolution: {integrity: sha512-dd589iCQ7m1L0bmC5NLlVYfy3TbBEsMUfWx9PyAgPeIcFZ/E2yaTZ4Rz4MiBmmJShviiftHVXOqfnfzJ6kyMrQ==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - - p-filter@3.0.0: - resolution: {integrity: sha512-QtoWLjXAW++uTX67HZQz1dbTpqBfiidsB6VtQUC9iR85S120+s0T5sO6s+B5MLzFcZkrEd/DGMmCjR+f2Qpxwg==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - - p-finally@1.0.0: - resolution: {integrity: sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow==} - engines: {node: '>=4'} - - p-iteration@1.1.8: - resolution: {integrity: sha512-IMFBSDIYcPNnW7uWYGrBqmvTiq7W0uB0fJn6shQZs7dlF3OvrHOre+JT9ikSZ7gZS3vWqclVgoQSvToJrns7uQ==} - engines: {node: '>=8.0.0'} - - p-limit@2.3.0: - resolution: {integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==} - engines: {node: '>=6'} - - p-limit@3.1.0: - resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} - engines: {node: '>=10'} - - p-limit@4.0.0: - resolution: {integrity: sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - - p-limit@5.0.0: - resolution: {integrity: sha512-/Eaoq+QyLSiXQ4lyYV23f14mZRQcXnxfHrN0vCai+ak9G0pp9iEQukIIZq5NccEvwRB8PUnZT0KsOoDCINS1qQ==} - engines: {node: '>=18'} - - p-locate@3.0.0: - resolution: {integrity: sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==} - engines: {node: '>=6'} - - p-locate@4.1.0: - resolution: {integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==} - engines: {node: '>=8'} - - p-locate@5.0.0: - resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==} - engines: {node: '>=10'} - - p-locate@6.0.0: - resolution: {integrity: sha512-wPrq66Llhl7/4AGC6I+cqxT07LhXvWL08LNXz1fENOw0Ap4sRZZ/gZpTTJ5jpurzzzfS2W/Ge9BY3LgLjCShcw==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - - p-map@3.0.0: - resolution: {integrity: sha512-d3qXVTF/s+W+CdJ5A29wywV2n8CQQYahlgz2bFiA+4eVNJbHJodPZ+/gXwPGh0bOqA+j8S+6+ckmvLGPk1QpxQ==} - engines: {node: '>=8'} - - p-map@4.0.0: - resolution: {integrity: sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==} - engines: {node: '>=10'} - - p-map@5.5.0: - resolution: {integrity: sha512-VFqfGDHlx87K66yZrNdI4YGtD70IRyd+zSvgks6mzHPRNkoKy+9EKP4SFC77/vTTQYmRmti7dvqC+m5jBrBAcg==} - engines: {node: '>=12'} - - p-map@6.0.0: - resolution: {integrity: sha512-T8BatKGY+k5rU+Q/GTYgrEf2r4xRMevAN5mtXc2aPc4rS1j3s+vWTaO2Wag94neXuCAUAs8cxBL9EeB5EA6diw==} - engines: {node: '>=16'} - - p-retry@4.6.2: - resolution: {integrity: sha512-312Id396EbJdvRONlngUx0NydfrIQ5lsYu0znKVUzVvArzEIt08V1qhtyESbGVd1FGX7UKtiFp5uwKZdM8wIuQ==} - engines: {node: '>=8'} - - p-timeout@5.1.0: - resolution: {integrity: sha512-auFDyzzzGZZZdHz3BtET9VEz0SE/uMEAx7uWfGPucfzEwwe/xH0iVeZibQmANYE/hp9T2+UUZT5m+BKyrDp3Ew==} - engines: {node: '>=12'} - - p-try@2.2.0: - resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==} - engines: {node: '>=6'} - - package-hash@4.0.0: - resolution: {integrity: sha512-whdkPIooSu/bASggZ96BWVvZTRMOFxnyUG5PnTSGKoJE2gd5mbVNmR2Nj20QFzxYYgAXpoqC+AiXzl+UMRh7zQ==} - engines: {node: '>=8'} - - pako@1.0.11: - resolution: {integrity: sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==} - - parent-module@1.0.1: - resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} - engines: {node: '>=6'} - - parent-module@2.0.0: - resolution: {integrity: sha512-uo0Z9JJeWzv8BG+tRcapBKNJ0dro9cLyczGzulS6EfeyAdeC9sbojtW6XwvYxJkEne9En+J2XEl4zyglVeIwFg==} - engines: {node: '>=8'} - - parse-entities@2.0.0: - resolution: {integrity: sha512-kkywGpCcRYhqQIchaWqZ875wzpS/bMKhz5HnN3p7wveJTkTtyAB/AlnS0f8DFSqYW1T82t6yEAkEcB+A1I3MbQ==} - - parse-json@5.2.0: - resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==} - engines: {node: '>=8'} - - parse5@7.1.2: - resolution: {integrity: sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==} - - parseurl@1.3.3: - resolution: {integrity: sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==} - engines: {node: '>= 0.8'} - - path-browserify@1.0.1: - resolution: {integrity: sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==} - - path-data-parser@0.1.0: - resolution: {integrity: sha512-NOnmBpt5Y2RWbuv0LMzsayp3lVylAHLPUTut412ZA3l+C4uw4ZVkQbjShYCQ8TCpUMdPapr4YjUqLYD6v68j+w==} - - path-exists@3.0.0: - resolution: {integrity: sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==} - engines: {node: '>=4'} - - path-exists@4.0.0: - resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} - engines: {node: '>=8'} - - path-exists@5.0.0: - resolution: {integrity: sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - - path-is-absolute@1.0.1: - resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} - engines: {node: '>=0.10.0'} - - path-key@2.0.1: - resolution: {integrity: sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==} - engines: {node: '>=4'} - - path-key@3.1.1: - resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} - engines: {node: '>=8'} - - path-key@4.0.0: - resolution: {integrity: sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==} - engines: {node: '>=12'} - - path-parse@1.0.7: - resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} - - path-scurry@1.11.1: - resolution: {integrity: sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==} - engines: {node: '>=16 || 14 >=14.18'} - - path-to-regexp@0.1.7: - resolution: {integrity: sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==} - - path-type@4.0.0: - resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} - engines: {node: '>=8'} - - path-type@5.0.0: - resolution: {integrity: sha512-5HviZNaZcfqP95rwpv+1HDgUamezbqdSYTyzjTvwtJSnIH+3vnbmWsItli8OFEndS984VT55M3jduxZbX351gg==} - engines: {node: '>=12'} - - pathe@1.1.2: - resolution: {integrity: sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==} - - pathval@1.1.1: - resolution: {integrity: sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==} - - pause-stream@0.0.11: - resolution: {integrity: sha512-e3FBlXLmN/D1S+zHzanP4E/4Z60oFAa3O051qt1pxa7DEJWKAyil6upYVXCWadEnuoqa4Pkc9oUx9zsxYeRv8A==} - - pend@1.2.0: - resolution: {integrity: sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==} - - perfect-debounce@1.0.0: - resolution: {integrity: sha512-xCy9V055GLEqoFaHoC1SoLIaLmWctgCUaBaWxDZ7/Zx4CTyX7cJQLJOok/orfjZAh9kEYpjJa4d0KcJmCbctZA==} - - performance-now@2.1.0: - resolution: {integrity: sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==} - - picocolors@1.0.1: - resolution: {integrity: sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew==} - - picomatch@2.3.1: - resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} - engines: {node: '>=8.6'} - - pidtree@0.6.0: - resolution: {integrity: sha512-eG2dWTVw5bzqGRztnHExczNxt5VGsE6OwTeCG3fdUf9KBsZzO3R5OIIIzWR+iZA0NtZ+RDVdaoE2dK1cn6jH4g==} - engines: {node: '>=0.10'} - hasBin: true - - pify@2.3.0: - resolution: {integrity: sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==} - engines: {node: '>=0.10.0'} - - pino-abstract-transport@1.2.0: - resolution: {integrity: sha512-Guhh8EZfPCfH+PMXAb6rKOjGQEoy0xlAIn+irODG5kgfYV+BQ0rGYYWTIel3P5mmyXqkYkPmdIkywsn6QKUR1Q==} - - pino-std-serializers@3.2.0: - resolution: {integrity: sha512-EqX4pwDPrt3MuOAAUBMU0Tk5kR/YcCM5fNPEzgCO2zJ5HfX0vbiH9HbJglnyeQsN96Kznae6MWD47pZB5avTrg==} - - pino-std-serializers@6.2.2: - resolution: {integrity: sha512-cHjPPsE+vhj/tnhCy/wiMh3M3z3h/j15zHQX+S9GkTBgqJuTuJzYJ4gUyACLhDaJ7kk9ba9iRDmbH2tJU03OiA==} - - pino@6.14.0: - resolution: {integrity: sha512-iuhEDel3Z3hF9Jfe44DPXR8l07bhjuFY3GMHIXbjnY9XcafbyDDwl2sN2vw2GjMPf5Nkoe+OFao7ffn9SXaKDg==} - hasBin: true - - pino@8.21.0: - resolution: {integrity: sha512-ip4qdzjkAyDDZklUaZkcRFb2iA118H9SgRh8yzTkSQK8HilsOJF7rSY8HoW5+I0M46AZgX/pxbprf2vvzQCE0Q==} - hasBin: true - - pirates@4.0.6: - resolution: {integrity: sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==} - engines: {node: '>= 6'} - - pixelmatch@5.3.0: - resolution: {integrity: sha512-o8mkY4E/+LNUf6LzX96ht6k6CEDi65k9G2rjMtBe9Oo+VPKSvl+0GKHuH/AlG+GA5LPG/i5hrekkxUc3s2HU+Q==} - hasBin: true - - pkg-dir@3.0.0: - resolution: {integrity: sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==} - engines: {node: '>=6'} - - pkg-dir@4.2.0: - resolution: {integrity: sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==} - engines: {node: '>=8'} - - pkg-dir@7.0.0: - resolution: {integrity: sha512-Ie9z/WINcxxLp27BKOCHGde4ITq9UklYKDzVo1nhk5sqGEXU3FpkwP5GM2voTGJkGd9B3Otl+Q4uwSOeSUtOBA==} - engines: {node: '>=14.16'} - - pkg-types@1.1.1: - resolution: {integrity: sha512-ko14TjmDuQJ14zsotODv7dBlwxKhUKQEhuhmbqo1uCi9BB0Z2alo/wAXg6q1dTR5TyuqYyWhjtfe/Tsh+X28jQ==} - - plist@3.1.0: - resolution: {integrity: sha512-uysumyrvkUX0rX/dEVqt8gC3sTBzd4zoWfLeS29nb53imdaXVvLINYXTI2GNqzaMuvacNx4uJQ8+b3zXR0pkgQ==} - engines: {node: '>=10.4.0'} - - pluralize@8.0.0: - resolution: {integrity: sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA==} - engines: {node: '>=4'} - - png-async@0.9.4: - resolution: {integrity: sha512-B//AXX9TkneKfgtOpT1mdUnnhk2BImGD+a98vImsMU8uo1dBeHyW/kM2erWZ/CsYteTPU/xKG+t6T62heHkC3A==} - - pngjs@3.4.0: - resolution: {integrity: sha512-NCrCHhWmnQklfH4MtJMRjZ2a8c80qXeMlQMv2uVp9ISJMTt562SbGd6n2oq0PaPgKm7Z6pL9E2UlLIhC+SHL3w==} - engines: {node: '>=4.0.0'} - - pngjs@6.0.0: - resolution: {integrity: sha512-TRzzuFRRmEoSW/p1KVAmiOgPco2Irlah+bGFCeNfJXxxYGwSw7YwAOAcd7X28K/m5bjBWKsC29KyoMfHbypayg==} - engines: {node: '>=12.13.0'} - - pnpm@8.15.8: - resolution: {integrity: sha512-0aAp4aRHrZC8ls1YsPrUhtKZPVMYVjlve6vy2D6xgju4PFo9D8GPZ1stEDIdSesWH+zjb+gTSqWCPs0hX+7Tkg==} - engines: {node: '>=16.14'} - hasBin: true - - points-on-curve@0.2.0: - resolution: {integrity: sha512-0mYKnYYe9ZcqMCWhUjItv/oHjvgEsfKvnUTg8sAtnHr3GVy7rGkXCb6d5cSyqrWqL4k81b9CPg3urd+T7aop3A==} - - points-on-path@0.2.1: - resolution: {integrity: sha512-25ClnWWuw7JbWZcgqY/gJ4FQWadKxGWk+3kR/7kD0tCaDtPPMj7oHu2ToLaVhfpnHrZzYby2w6tUA0eOIuUg8g==} - - possible-typed-array-names@1.0.0: - resolution: {integrity: sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q==} - engines: {node: '>= 0.4'} - - postcss-import@15.1.0: - resolution: {integrity: sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==} - engines: {node: '>=14.0.0'} - peerDependencies: - postcss: ^8.0.0 - - postcss-js@4.0.1: - resolution: {integrity: sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==} - engines: {node: ^12 || ^14 || >= 16} - peerDependencies: - postcss: ^8.4.21 - - postcss-load-config@4.0.2: - resolution: {integrity: sha512-bSVhyJGL00wMVoPUzAVAnbEoWyqRxkjv64tUl427SKnPrENtq6hJwUojroMz2VB+Q1edmi4IfrAPpami5VVgMQ==} - engines: {node: '>= 14'} - peerDependencies: - postcss: '>=8.0.9' - ts-node: '>=9.0.0' - peerDependenciesMeta: - postcss: - optional: true - ts-node: - optional: true - - postcss-nested@6.0.1: - resolution: {integrity: sha512-mEp4xPMi5bSWiMbsgoPfcP74lsWLHkQbZc3sY+jWYd65CUwXrUaTp0fmNpa01ZcETKlIgUdFN/MpS2xZtqL9dQ==} - engines: {node: '>=12.0'} - peerDependencies: - postcss: ^8.2.14 - - postcss-selector-parser@6.1.0: - resolution: {integrity: sha512-UMz42UD0UY0EApS0ZL9o1XnLhSTtvvvLe5Dc2H2O56fvRZi+KulDyf5ctDhhtYJBGKStV2FL1fy6253cmLgqVQ==} - engines: {node: '>=4'} - - postcss-value-parser@4.2.0: - resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==} - - postcss@8.4.38: - resolution: {integrity: sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A==} - engines: {node: ^10 || ^12 || >=14} - - preact@10.22.0: - resolution: {integrity: sha512-RRurnSjJPj4rp5K6XoP45Ui33ncb7e4H7WiOHVpjbkvqvA3U+N8Z6Qbo0AE6leGYBV66n8EhEaFixvIu3SkxFw==} - - prelude-ls@1.2.1: - resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} - engines: {node: '>= 0.8.0'} - - prettier-plugin-jsdoc@1.3.0: - resolution: {integrity: sha512-cQm8xIa0fN9ieJFMXACQd6JPycl+8ouOijAqUqu44EF/s4fXL3Wi9sKXuEaodsEWgCN42Xby/bNhqgM1iWx4uw==} - engines: {node: '>=14.13.1 || >=16.0.0'} - peerDependencies: - prettier: ^3.0.0 - - prettier@2.8.8: - resolution: {integrity: sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==} - engines: {node: '>=10.13.0'} - hasBin: true - - prettier@3.3.2: - resolution: {integrity: sha512-rAVeHYMcv8ATV5d508CFdn+8/pHPpXeIid1DdrPwXnaAdH7cqjVbpJaT5eq4yRAFU/lsbwYwSF/n5iNrdJHPQA==} - engines: {node: '>=14'} - hasBin: true - - pretty-bytes@5.6.0: - resolution: {integrity: sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg==} - engines: {node: '>=6'} - - pretty-bytes@6.1.1: - resolution: {integrity: sha512-mQUvGU6aUFQ+rNvTIAcZuWGRT9a6f6Yrg9bHs4ImKF+HZCEK+plBvnAZYSIQztknZF2qnzNtr6F8s0+IuptdlQ==} - engines: {node: ^14.13.1 || >=16.0.0} - - pretty-format@29.7.0: - resolution: {integrity: sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - - process-nextick-args@2.0.1: - resolution: {integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==} - - process-on-spawn@1.0.0: - resolution: {integrity: sha512-1WsPDsUSMmZH5LeMLegqkPDrsGgsWwk1Exipy2hvB0o/F0ASzbpIctSCcZIK1ykJvtTJULEH+20WOFjMvGnCTg==} - engines: {node: '>=8'} - - process-warning@1.0.0: - resolution: {integrity: sha512-du4wfLyj4yCZq1VupnVSZmRsPJsNuxoDQFdCFHLaYiEbFBD7QE0a+I4D7hOxrVnh78QE/YipFAj9lXHiXocV+Q==} - - process-warning@3.0.0: - resolution: {integrity: sha512-mqn0kFRl0EoqhnL0GQ0veqFHyIN1yig9RHh/InzORTUiZHFRAur+aMtRkELNwGs9aNwKS6tg/An4NYBPGwvtzQ==} - - process@0.11.10: - resolution: {integrity: sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==} - engines: {node: '>= 0.6.0'} - - prompts@2.4.2: - resolution: {integrity: sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==} - engines: {node: '>= 6'} - - proxy-addr@2.0.7: - resolution: {integrity: sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==} - engines: {node: '>= 0.10'} - - proxy-from-env@1.0.0: - resolution: {integrity: sha512-F2JHgJQ1iqwnHDcQjVBsq3n/uoaFL+iPW/eAeL7kVxy/2RrWaN4WroKjjvbsoRtv0ftelNyC01bjRhn/bhcf4A==} - - proxy-from-env@1.1.0: - resolution: {integrity: sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==} - - ps-tree@1.2.0: - resolution: {integrity: sha512-0VnamPPYHl4uaU/nSFeZZpR21QAWRz+sRv4iW9+v/GS/J5U5iZB5BNN6J0RMoOvdx2gWM2+ZFMIm58q24e4UYA==} - engines: {node: '>= 0.10'} - hasBin: true - - psl@1.9.0: - resolution: {integrity: sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==} - - pump@3.0.0: - resolution: {integrity: sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==} - - punycode@2.3.1: - resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} - engines: {node: '>=6'} - - pure-rand@6.1.0: - resolution: {integrity: sha512-bVWawvoZoBYpp6yIoQtQXHZjmz35RSVHnUOTefl8Vcjr8snTPY1wnpSPMWekcFwbxI6gtmT7rSYPFvz71ldiOA==} - - qs@6.10.4: - resolution: {integrity: sha512-OQiU+C+Ds5qiH91qh/mg0w+8nwQuLjM4F4M/PbmhDOoYehPh+Fb0bDjtR1sOvy7YKxvj28Y/M0PhP5uVX0kB+g==} - engines: {node: '>=0.6'} - - qs@6.11.0: - resolution: {integrity: sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==} - engines: {node: '>=0.6'} - - querystringify@2.2.0: - resolution: {integrity: sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==} - - queue-microtask@1.2.3: - resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} - - quick-format-unescaped@4.0.4: - resolution: {integrity: sha512-tYC1Q1hgyRuHgloV/YXs2w15unPVh8qfu/qCTfhTYamaw7fyhumKa2yGpdSo87vY32rIclj+4fWYQXUMs9EHvg==} - - quick-lru@5.1.1: - resolution: {integrity: sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==} - engines: {node: '>=10'} - - railroad-diagrams@1.0.0: - resolution: {integrity: sha512-cz93DjNeLY0idrCNOH6PviZGRN9GJhsdm9hpn1YCS879fj4W+x5IFJhhkRZcwVgMmFF7R82UA/7Oh+R8lLZg6A==} - - ramda@0.28.0: - resolution: {integrity: sha512-9QnLuG/kPVgWvMQ4aODhsBUFKOUmnbUnsSXACv+NCQZcHbeb+v8Lodp8OVxtRULN1/xOyYLLaL6npE6dMq5QTA==} - - randombytes@2.1.0: - resolution: {integrity: sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==} - - range-parser@1.2.1: - resolution: {integrity: sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==} - engines: {node: '>= 0.6'} - - raw-body@2.5.2: - resolution: {integrity: sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==} - engines: {node: '>= 0.8'} - - react-is@18.3.1: - resolution: {integrity: sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==} - - read-cache@1.0.0: - resolution: {integrity: sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==} - - read-pkg-up@7.0.1: - resolution: {integrity: sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==} - engines: {node: '>=8'} - - read-pkg@5.2.0: - resolution: {integrity: sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==} - engines: {node: '>=8'} - - readable-stream@2.3.8: - resolution: {integrity: sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==} - - readable-stream@3.6.2: - resolution: {integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==} - engines: {node: '>= 6'} - - readable-stream@4.5.2: - resolution: {integrity: sha512-yjavECdqeZ3GLXNgRXgeQEdz9fvDDkNKyHnbHRFtOr7/LcfgBcmct7t/ET+HaCTqfh06OzoAxrkN/IfjJBVe+g==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - - readdirp@3.6.0: - resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} - engines: {node: '>=8.10.0'} - - real-require@0.2.0: - resolution: {integrity: sha512-57frrGM/OCTLqLOAh0mhVA9VBMHd+9U7Zb2THMGdBUoZVOtGbJzjxsYGDJ3A9AYYCP4hn6y1TVbaOfzWtm5GFg==} - engines: {node: '>= 12.13.0'} - - rechoir@0.7.1: - resolution: {integrity: sha512-/njmZ8s1wVeR6pjTZ+0nCnv8SpZNRMT2D1RLOJQESlYFDBvwpTA4KWJpZ+sBJ4+vhjILRcK7JIFdGCdxEAAitg==} - engines: {node: '>= 0.10'} - - regenerate-unicode-properties@10.1.1: - resolution: {integrity: sha512-X007RyZLsCJVVrjgEFVpLUTZwyOZk3oiL75ZcuYjlIWd6rNJtOjkBwQc5AsRrpbKVkxN6sklw/k/9m2jJYOf8Q==} - engines: {node: '>=4'} - - regenerate@1.4.2: - resolution: {integrity: sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==} - - regenerator-runtime@0.14.1: - resolution: {integrity: sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==} - - regenerator-transform@0.15.2: - resolution: {integrity: sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg==} - - regexp-tree@0.1.27: - resolution: {integrity: sha512-iETxpjK6YoRWJG5o6hXLwvjYAoW+FEZn9os0PD/b6AP6xQwsa/Y7lCVgIixBbUPMfhu+i2LtdeAqVTgGlQarfA==} - hasBin: true - - regexp.prototype.flags@1.5.2: - resolution: {integrity: sha512-NcDiDkTLuPR+++OCKB0nWafEmhg/Da8aUPLPMQbK+bxKKCm1/S5he+AqYa4PlMCVBalb4/yxIRub6qkEx5yJbw==} - engines: {node: '>= 0.4'} - - regexpu-core@5.3.2: - resolution: {integrity: sha512-RAM5FlZz+Lhmo7db9L298p2vHP5ZywrVXmVXpmAD9GuL5MPH6t9ROw1iA/wfHkQ76Qe7AaPF0nGuim96/IrQMQ==} - engines: {node: '>=4'} - - regjsparser@0.10.0: - resolution: {integrity: sha512-qx+xQGZVsy55CH0a1hiVwHmqjLryfh7wQyF5HO07XJ9f7dQMY/gPQHhlyDkIzJKC+x2fUCpCcUODUUUFrm7SHA==} - hasBin: true - - regjsparser@0.9.1: - resolution: {integrity: sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==} - hasBin: true - - release-zalgo@1.0.0: - resolution: {integrity: sha512-gUAyHVHPPC5wdqX/LG4LWtRYtgjxyX78oanFNTMMyFEfOqdC54s3eE82imuWKbOeqYht2CrNf64Qb8vgmmtZGA==} - engines: {node: '>=4'} - - remark-frontmatter@5.0.0: - resolution: {integrity: sha512-XTFYvNASMe5iPN0719nPrdItC9aU0ssC4v14mH1BCi1u0n1gAocqcujWUrByftZTbLhRtiKRyjYTSIOcr69UVQ==} - - remark-gfm@4.0.0: - resolution: {integrity: sha512-U92vJgBPkbw4Zfu/IiW2oTZLSL3Zpv+uI7My2eq8JxKgqraFdU8YUGicEJCEgSbeaG+QDFqIcwwfMTOEelPxuA==} - - remark-parse@11.0.0: - resolution: {integrity: sha512-FCxlKLNGknS5ba/1lmpYijMUzX2esxW5xQqjWxw2eHFfS2MSdaHVINFmhjo+qN1WhZhNimq0dZATN9pH0IDrpA==} - - remark-stringify@11.0.0: - resolution: {integrity: sha512-1OSmLd3awB/t8qdoEOMazZkNsfVTeY4fTsgzcQFdXNq8ToTN4ZGwrMnlda4K6smTFKD+GRV6O48i6Z4iKgPPpw==} - - remark@15.0.1: - resolution: {integrity: sha512-Eht5w30ruCXgFmxVUSlNWQ9iiimq07URKeFS3hNc8cUWy1llX4KDWfyEDZRycMc+znsN9Ux5/tJ/BFdgdOwA3A==} - - repeat-string@1.6.1: - resolution: {integrity: sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w==} - engines: {node: '>=0.10'} - - request-progress@3.0.0: - resolution: {integrity: sha512-MnWzEHHaxHO2iWiQuHrUPBi/1WeBf5PkxQqNyNvLl9VAYSdXkP8tQ3pBSeCPD+yw0v0Aq1zosWLz0BdeXpWwZg==} - - require-directory@2.1.1: - resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==} - engines: {node: '>=0.10.0'} - - require-from-string@2.0.2: - resolution: {integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==} - engines: {node: '>=0.10.0'} - - require-main-filename@2.0.0: - resolution: {integrity: sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==} - - requires-port@1.0.0: - resolution: {integrity: sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==} - - resolve-alpn@1.2.1: - resolution: {integrity: sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g==} - - resolve-cwd@3.0.0: - resolution: {integrity: sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==} - engines: {node: '>=8'} - - resolve-from@4.0.0: - resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} - engines: {node: '>=4'} - - resolve-from@5.0.0: - resolution: {integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==} - engines: {node: '>=8'} - - resolve-pkg-maps@1.0.0: - resolution: {integrity: sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==} - - resolve.exports@2.0.2: - resolution: {integrity: sha512-X2UW6Nw3n/aMgDVy+0rSqgHlv39WZAlZrXCdnbyEiKm17DSqHX4MmQMaST3FbeWR5FTuRcUwYAziZajji0Y7mg==} - engines: {node: '>=10'} - - resolve@1.19.0: - resolution: {integrity: sha512-rArEXAgsBG4UgRGcynxWIWKFvh/XZCcS8UJdHhwy91zwAvCZIbcs+vAbflgBnNjYMs/i/i+/Ux6IZhML1yPvxg==} - - resolve@1.22.8: - resolution: {integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==} - hasBin: true - - responselike@2.0.1: - resolution: {integrity: sha512-4gl03wn3hj1HP3yzgdI7d3lCkF95F21Pz4BPGvKHinyQzALR5CapwC8yIi0Rh58DEMQ/SguC03wFj2k0M/mHhw==} - - restore-cursor@3.1.0: - resolution: {integrity: sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==} - engines: {node: '>=8'} - - restore-cursor@4.0.0: - resolution: {integrity: sha512-I9fPXU9geO9bHOt9pHHOhOkYerIMsmVaWB0rA2AI9ERh/+x/i7MV5HKBNrg+ljO5eoPVgCcnFuRjJ9uH6I/3eg==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - - ret@0.2.2: - resolution: {integrity: sha512-M0b3YWQs7R3Z917WRQy1HHA7Ba7D8hvZg6UE5mLykJxQVE2ju0IXbGlaHPPlkY+WN7wFP+wUMXmBFA0aV6vYGQ==} - engines: {node: '>=4'} - - retry@0.13.1: - resolution: {integrity: sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==} - engines: {node: '>= 4'} - - reusify@1.0.4: - resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} - engines: {iojs: '>=1.0.0', node: '>=0.10.0'} - - rfdc@1.4.1: - resolution: {integrity: sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA==} - - rimraf@2.7.1: - resolution: {integrity: sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==} - deprecated: Rimraf versions prior to v4 are no longer supported - hasBin: true - - rimraf@3.0.2: - resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} - deprecated: Rimraf versions prior to v4 are no longer supported - hasBin: true - - rimraf@5.0.7: - resolution: {integrity: sha512-nV6YcJo5wbLW77m+8KjH8aB/7/rxQy9SZ0HY5shnwULfS+9nmTtVXAJET5NdZmCzA4fPI/Hm1wo/Po/4mopOdg==} - engines: {node: '>=14.18'} - hasBin: true - - robust-predicates@3.0.2: - resolution: {integrity: sha512-IXgzBWvWQwE6PrDI05OvmXUIruQTcoMDzRsOd5CDvHCVLcLHMTSYvOK5Cm46kWqlV3yAbuSpBZdJ5oP5OUoStg==} - - rollup-plugin-visualizer@5.12.0: - resolution: {integrity: sha512-8/NU9jXcHRs7Nnj07PF2o4gjxmm9lXIrZ8r175bT9dK8qoLlvKTwRMArRCMgpMGlq8CTLugRvEmyMeMXIU2pNQ==} - engines: {node: '>=14'} - hasBin: true - peerDependencies: - rollup: 2.x || 3.x || 4.x - peerDependenciesMeta: - rollup: - optional: true - - rollup@2.79.1: - resolution: {integrity: sha512-uKxbd0IhMZOhjAiD5oAFp7BqvkA4Dv47qpOCtaNvng4HBwdbWtdOh8f5nZNuk2rp51PMGk3bzfWu5oayNEuYnw==} - engines: {node: '>=10.0.0'} - hasBin: true - - rollup@4.18.0: - resolution: {integrity: sha512-QmJz14PX3rzbJCN1SG4Xe/bAAX2a6NpCP8ab2vfu2GiUr8AQcr2nCV/oEO3yneFarB67zk8ShlIyWb2LGTb3Sg==} - engines: {node: '>=18.0.0', npm: '>=8.0.0'} - hasBin: true - - roughjs@4.6.6: - resolution: {integrity: sha512-ZUz/69+SYpFN/g/lUlo2FXcIjRkSu3nDarreVdGGndHEBJ6cXPdKguS8JGxwj5HA5xIbVKSmLgr5b3AWxtRfvQ==} - - rrweb-cssom@0.6.0: - resolution: {integrity: sha512-APM0Gt1KoXBz0iIkkdB/kfvGOwC4UuJFeG/c+yV7wSc7q96cG/kJ0HiYCnzivD9SB53cLV1MlHFNfOuPaadYSw==} - - rrweb-cssom@0.7.1: - resolution: {integrity: sha512-TrEMa7JGdVm0UThDJSx7ddw5nVm3UJS9o9CCIZ72B1vSyEZoziDqBYP3XIoi/12lKrJR8rE3jeFHMok2F/Mnsg==} - - run-parallel@1.2.0: - resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} - - rw@1.3.3: - resolution: {integrity: sha512-PdhdWy89SiZogBLaw42zdeqtRJ//zFd2PgQavcICDUgJT5oW10QCRKbJ6bg4r0/UY2M6BWd5tkxuGFRvCkgfHQ==} - - rxjs@7.8.1: - resolution: {integrity: sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==} - - safe-array-concat@1.1.2: - resolution: {integrity: sha512-vj6RsCsWBCf19jIeHEfkRMw8DPiBb+DMXklQ/1SGDHOMlHdPUkZXFQ2YdplS23zESTijAcurb1aSgJA3AgMu1Q==} - engines: {node: '>=0.4'} - - safe-buffer@5.1.2: - resolution: {integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==} - - safe-buffer@5.2.1: - resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} - - safe-regex-test@1.0.3: - resolution: {integrity: sha512-CdASjNJPvRa7roO6Ra/gLYBTzYzzPyyBXxIMdGW3USQLyjWEls2RgW5UBTXaQVp+OrpeCK3bLem8smtmheoRuw==} - engines: {node: '>= 0.4'} - - safe-regex2@2.0.0: - resolution: {integrity: sha512-PaUSFsUaNNuKwkBijoAPHAK6/eM6VirvyPWlZ7BAQy4D+hCvh4B6lIG+nPdhbFfIbP+gTGBcrdsOaUs0F+ZBOQ==} - - safe-stable-stringify@2.4.3: - resolution: {integrity: sha512-e2bDA2WJT0wxseVd4lsDP4+3ONX6HpMXQa1ZhFQ7SU+GjvORCmShbCMltrtIDfkYhVHrOcPtj+KhmDBdPdZD1g==} - engines: {node: '>=10'} - - safer-buffer@2.1.2: - resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} - - saxes@6.0.0: - resolution: {integrity: sha512-xAg7SOnEhrm5zI3puOOKyy1OMcMlIJZYNJY7xLBwSze0UjhPLnWfj2GF2EpT0jmzaJKIWKHLsaSSajf35bcYnA==} - engines: {node: '>=v12.22.7'} - - schema-utils@3.3.0: - resolution: {integrity: sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==} - engines: {node: '>= 10.13.0'} - - schema-utils@4.2.0: - resolution: {integrity: sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw==} - engines: {node: '>= 12.13.0'} - - search-insights@2.14.0: - resolution: {integrity: sha512-OLN6MsPMCghDOqlCtsIsYgtsC0pnwVTyT9Mu6A3ewOj1DxvzZF6COrn2g86E/c05xbktB0XN04m/t1Z+n+fTGw==} - - secure-json-parse@2.7.0: - resolution: {integrity: sha512-6aU+Rwsezw7VR8/nyvKTx8QpWH9FrcYiXXlqC4z5d5XQBDRqtbfsRjnwGyqbi3gddNtWHuEk9OANUotL26qKUw==} - - select-hose@2.0.0: - resolution: {integrity: sha512-mEugaLK+YfkijB4fx0e6kImuJdCIt2LxCRcbEYPqRGCs4F2ogyfZU5IAZRdjCP8JPq2AtdNoC/Dux63d9Kiryg==} - - selfsigned@2.4.1: - resolution: {integrity: sha512-th5B4L2U+eGLq1TVh7zNRGBapioSORUeymIydxgFpwww9d2qyKvtuPU2jJuHvYAwwqi2Y596QBL3eEqcPEYL8Q==} - engines: {node: '>=10'} - - semver-store@0.3.0: - resolution: {integrity: sha512-TcZvGMMy9vodEFSse30lWinkj+JgOBvPn8wRItpQRSayhc+4ssDs335uklkfvQQJgL/WvmHLVj4Ycv2s7QCQMg==} - - semver@5.7.2: - resolution: {integrity: sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==} - hasBin: true - - semver@6.3.1: - resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} - hasBin: true - - semver@7.5.4: - resolution: {integrity: sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==} - engines: {node: '>=10'} - hasBin: true - - semver@7.6.2: - resolution: {integrity: sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==} - engines: {node: '>=10'} - hasBin: true - - send@0.18.0: - resolution: {integrity: sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==} - engines: {node: '>= 0.8.0'} - - serialize-javascript@6.0.2: - resolution: {integrity: sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==} - - serve-index@1.9.1: - resolution: {integrity: sha512-pXHfKNP4qujrtteMrSBb0rc8HJ9Ms/GrXwcUtUtD5s4ewDJI8bT3Cz2zTVRMKtri49pLx2e0Ya8ziP5Ya2pZZw==} - engines: {node: '>= 0.8.0'} - - serve-static@1.15.0: - resolution: {integrity: sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==} - engines: {node: '>= 0.8.0'} - - set-blocking@2.0.0: - resolution: {integrity: sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==} - - set-cookie-parser@2.6.0: - resolution: {integrity: sha512-RVnVQxTXuerk653XfuliOxBP81Sf0+qfQE73LIYKcyMYHG94AuH0kgrQpRDuTZnSmjpysHmzxJXKNfa6PjFhyQ==} - - set-function-length@1.2.2: - resolution: {integrity: sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==} - engines: {node: '>= 0.4'} - - set-function-name@2.0.2: - resolution: {integrity: sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==} - engines: {node: '>= 0.4'} - - setprototypeof@1.1.0: - resolution: {integrity: sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==} - - setprototypeof@1.2.0: - resolution: {integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==} - - shallow-clone@3.0.1: - resolution: {integrity: sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==} - engines: {node: '>=8'} - - shebang-command@1.2.0: - resolution: {integrity: sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==} - engines: {node: '>=0.10.0'} - - shebang-command@2.0.0: - resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} - engines: {node: '>=8'} - - shebang-regex@1.0.0: - resolution: {integrity: sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==} - engines: {node: '>=0.10.0'} - - shebang-regex@3.0.0: - resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} - engines: {node: '>=8'} - - shell-quote@1.8.1: - resolution: {integrity: sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA==} - - shiki@0.14.7: - resolution: {integrity: sha512-dNPAPrxSc87ua2sKJ3H5dQ/6ZaY8RNnaAqK+t0eG7p0Soi2ydiqbGOTaZCqaYvA/uZYfS1LJnemt3Q+mSfcPCg==} - - shiki@1.6.4: - resolution: {integrity: sha512-X88chM7w8jnadoZtjPTi5ahCJx9pc9f8GfEkZAEYUTlcUZIEw2D/RY86HI/LkkE7Nj8TQWkiBfaFTJ3VJT6ESg==} - - side-channel@1.0.6: - resolution: {integrity: sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==} - engines: {node: '>= 0.4'} - - siginfo@2.0.0: - resolution: {integrity: sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==} - - signal-exit@3.0.7: - resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} - - signal-exit@4.1.0: - resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} - engines: {node: '>=14'} - - simple-swizzle@0.2.2: - resolution: {integrity: sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg==} - - sirv@2.0.4: - resolution: {integrity: sha512-94Bdh3cC2PKrbgSOUqTiGPWVZeSiXfKOVZNJniWoqrWrRkB1CJzBU3NEbiTsPcYy1lDsANA/THzS+9WBiy5nfQ==} - engines: {node: '>= 10'} - - sisteransi@1.0.5: - resolution: {integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==} - - slash@3.0.0: - resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} - engines: {node: '>=8'} - - slash@4.0.0: - resolution: {integrity: sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==} - engines: {node: '>=12'} - - slash@5.1.0: - resolution: {integrity: sha512-ZA6oR3T/pEyuqwMgAKT0/hAv8oAXckzbkmR0UkUosQ+Mc4RxGoJkRmwHgHufaenlyAgE1Mxgpdcrf75y6XcnDg==} - engines: {node: '>=14.16'} - - slice-ansi@3.0.0: - resolution: {integrity: sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ==} - engines: {node: '>=8'} - - slice-ansi@4.0.0: - resolution: {integrity: sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==} - engines: {node: '>=10'} - - slice-ansi@5.0.0: - resolution: {integrity: sha512-FC+lgizVPfie0kkhqUScwRu1O/lF6NOgJmlCgK+/LYxDCTk8sGelYaHDhFcDN+Sn3Cv+3VSa4Byeo+IMCzpMgQ==} - engines: {node: '>=12'} - - slice-ansi@7.1.0: - resolution: {integrity: sha512-bSiSngZ/jWeX93BqeIAbImyTbEihizcwNjFoRUIY/T1wWQsfsm2Vw1agPKylXvQTU7iASGdHhyqRlqQzfz+Htg==} - engines: {node: '>=18'} - - smob@1.5.0: - resolution: {integrity: sha512-g6T+p7QO8npa+/hNx9ohv1E5pVCmWrVCUzUXJyLdMmftX6ER0oiWY/w9knEonLpnOp6b6FenKnMfR8gqwWdwig==} - - sockjs@0.3.24: - resolution: {integrity: sha512-GJgLTZ7vYb/JtPSSZ10hsOYIvEYsjbNU+zPdIHcUaWVNUEPivzxku31865sSSud0Da0W4lEeOPlmw93zLQchuQ==} - - sonic-boom@1.4.1: - resolution: {integrity: sha512-LRHh/A8tpW7ru89lrlkU4AszXt1dbwSjVWguGrmlxE7tawVmDBlI1PILMkXAxJTwqhgsEeTHzj36D5CmHgQmNg==} - - sonic-boom@3.8.1: - resolution: {integrity: sha512-y4Z8LCDBuum+PBP3lSV7RHrXscqksve/bi0as7mhwVnBW+/wUqKT/2Kb7um8yqcFy0duYbbPxzt89Zy2nOCaxg==} - - source-map-js@1.0.1: - resolution: {integrity: sha512-4+TN2b3tqOCd/kaGRJ/sTYA0tR0mdXx26ipdolxcwtJVqEnqNYvlCAt1q3ypy4QMlYus+Zh34RNtYLoq2oQ4IA==} - engines: {node: '>=0.10.0'} - - source-map-js@1.2.0: - resolution: {integrity: sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==} - engines: {node: '>=0.10.0'} - - source-map-support@0.5.13: - resolution: {integrity: sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==} - - source-map-support@0.5.21: - resolution: {integrity: sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==} - - source-map@0.1.43: - resolution: {integrity: sha512-VtCvB9SIQhk3aF6h+N85EaqIaBFIAfZ9Cu+NJHHVvc8BbEcnvDcFw6sqQ2dQrT6SlOrZq3tIvyD9+EGq/lJryQ==} - engines: {node: '>=0.8.0'} - - source-map@0.6.1: - resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} - engines: {node: '>=0.10.0'} - - source-map@0.7.4: - resolution: {integrity: sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==} - engines: {node: '>= 8'} - - source-map@0.8.0-beta.0: - resolution: {integrity: sha512-2ymg6oRBpebeZi9UUNsgQ89bhx01TcTkmNTGnNO88imTmbSgy4nfujrgVEFKWpMTEGA11EDkTt7mqObTPdigIA==} - engines: {node: '>= 8'} - - sourcemap-codec@1.4.8: - resolution: {integrity: sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==} - deprecated: Please use @jridgewell/sourcemap-codec instead - - spawn-command@0.0.2: - resolution: {integrity: sha512-zC8zGoGkmc8J9ndvml8Xksr1Amk9qBujgbF0JAIWO7kXr43w0h/0GJNM/Vustixu+YE8N/MTrQ7N31FvHUACxQ==} - - spawn-wrap@2.0.0: - resolution: {integrity: sha512-EeajNjfN9zMnULLwhZZQU3GWBoFNkbngTUPfaawT4RkMiviTxcX0qfhVbGey39mfctfDHkWtuecgQ8NJcyQWHg==} - engines: {node: '>=8'} - - spdx-correct@3.2.0: - resolution: {integrity: sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==} - - spdx-exceptions@2.5.0: - resolution: {integrity: sha512-PiU42r+xO4UbUS1buo3LPJkjlO7430Xn5SVAhdpzzsPHsjbYVflnnFdATgabnLude+Cqu25p6N+g2lw/PFsa4w==} - - spdx-expression-parse@3.0.1: - resolution: {integrity: sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==} - - spdx-expression-parse@4.0.0: - resolution: {integrity: sha512-Clya5JIij/7C6bRR22+tnGXbc4VKlibKSVj2iHvVeX5iMW7s1SIQlqu699JkODJJIhh/pUu8L0/VLh8xflD+LQ==} - - spdx-license-ids@3.0.18: - resolution: {integrity: sha512-xxRs31BqRYHwiMzudOrpSiHtZ8i/GeionCBDSilhYRj+9gIcI8wCZTlXZKu9vZIVqViP3dcp9qE5G6AlIaD+TQ==} - - spdy-transport@3.0.0: - resolution: {integrity: sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==} - - spdy@4.0.2: - resolution: {integrity: sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA==} - engines: {node: '>=6.0.0'} - - speakingurl@14.0.1: - resolution: {integrity: sha512-1POYv7uv2gXoyGFpBCmpDVSNV74IfsWlDW216UPjbWufNf+bSU6GdbDsxdcxtfwb4xlI3yxzOTKClUosxARYrQ==} - engines: {node: '>=0.10.0'} - - split2@4.2.0: - resolution: {integrity: sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg==} - engines: {node: '>= 10.x'} - - split@0.3.3: - resolution: {integrity: sha512-wD2AeVmxXRBoX44wAycgjVpMhvbwdI2aZjCkvfNcH1YqHQvJVa1duWc73OyVGJUc05fhFaTZeQ/PYsrmyH0JVA==} - - sprintf-js@1.0.3: - resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==} - - sshpk@1.18.0: - resolution: {integrity: sha512-2p2KJZTSqQ/I3+HX42EpYOa2l3f8Erv8MWKsy2I9uf4wA7yFIkXRffYdsx86y6z4vHtV8u7g+pPlr8/4ouAxsQ==} - engines: {node: '>=0.10.0'} - hasBin: true - - ssim.js@3.5.0: - resolution: {integrity: sha512-Aj6Jl2z6oDmgYFFbQqK7fght19bXdOxY7Tj03nF+03M9gCBAjeIiO8/PlEGMfKDwYpw4q6iBqVq2YuREorGg/g==} - - stack-utils@2.0.6: - resolution: {integrity: sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==} - engines: {node: '>=10'} - - stackback@0.0.2: - resolution: {integrity: sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==} - - start-server-and-test@2.0.4: - resolution: {integrity: sha512-CKNeBTcP0hVqIlNismHMudb9q3lLdAjcVPO13/7gfI66fcJpeIb/o4NzQd1JK/CD+lfWVqr10ZH9Y14+OwlJuw==} - engines: {node: '>=16'} - hasBin: true - - statuses@1.5.0: - resolution: {integrity: sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==} - engines: {node: '>= 0.6'} - - statuses@2.0.1: - resolution: {integrity: sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==} - engines: {node: '>= 0.8'} - - std-env@3.7.0: - resolution: {integrity: sha512-JPbdCEQLj1w5GilpiHAx3qJvFndqybBysA3qUOnznweH4QbNYUsW/ea8QzSrnh0vNsezMMw5bcVool8lM0gwzg==} - - stream-combiner@0.0.4: - resolution: {integrity: sha512-rT00SPnTVyRsaSz5zgSPma/aHSOic5U1prhYdRy5HS2kTZviFpmDgzilbtsJsxiroqACmayynDN/9VzIbX5DOw==} - - string-argv@0.3.2: - resolution: {integrity: sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q==} - engines: {node: '>=0.6.19'} - - string-length@4.0.2: - resolution: {integrity: sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==} - engines: {node: '>=10'} - - string-similarity@4.0.4: - resolution: {integrity: sha512-/q/8Q4Bl4ZKAPjj8WerIBJWALKkaPRfrvhfF8k/B23i4nzrlRj2/go1m90In7nG/3XDSbOo0+pu6RvCTM9RGMQ==} - deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info. - - string-width@4.2.3: - resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} - engines: {node: '>=8'} - - string-width@5.1.2: - resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==} - engines: {node: '>=12'} - - string-width@7.1.0: - resolution: {integrity: sha512-SEIJCWiX7Kg4c129n48aDRwLbFb2LJmXXFrWBG4NGaRtMQ3myKPKbwrD1BKqQn74oCoNMBVrfDEr5M9YxCsrkw==} - engines: {node: '>=18'} - - string.prototype.matchall@4.0.11: - resolution: {integrity: sha512-NUdh0aDavY2og7IbBPenWqR9exH+E26Sv8e0/eTe1tltDGZL+GtBkDAnnyBtmekfK6/Dq3MkcGtzXFEd1LQrtg==} - engines: {node: '>= 0.4'} - - string.prototype.trim@1.2.9: - resolution: {integrity: sha512-klHuCNxiMZ8MlsOihJhJEBJAiMVqU3Z2nEXWfWnIqjN0gEFS9J9+IxKozWWtQGcgoa1WUZzLjKPTr4ZHNFTFxw==} - engines: {node: '>= 0.4'} - - string.prototype.trimend@1.0.8: - resolution: {integrity: sha512-p73uL5VCHCO2BZZ6krwwQE3kCzM7NKmis8S//xEC6fQonchbum4eP6kR4DLEjQFO3Wnj3Fuo8NM0kOSjVdHjZQ==} - - string.prototype.trimstart@1.0.8: - resolution: {integrity: sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==} - engines: {node: '>= 0.4'} - - string_decoder@1.1.1: - resolution: {integrity: sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==} - - string_decoder@1.3.0: - resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==} - - stringify-object@3.3.0: - resolution: {integrity: sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw==} - engines: {node: '>=4'} - - strip-ansi@3.0.1: - resolution: {integrity: sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==} - engines: {node: '>=0.10.0'} - - strip-ansi@6.0.1: - resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} - engines: {node: '>=8'} - - strip-ansi@7.1.0: - resolution: {integrity: sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==} - engines: {node: '>=12'} - - strip-bom@4.0.0: - resolution: {integrity: sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==} - engines: {node: '>=8'} - - strip-comments@2.0.1: - resolution: {integrity: sha512-ZprKx+bBLXv067WTCALv8SSz5l2+XhpYCsVtSqlMnkAXMWDq+/ekVbl1ghqP9rUHTzv6sm/DwCOiYutU/yp1fw==} - engines: {node: '>=10'} - - strip-eof@1.0.0: - resolution: {integrity: sha512-7FCwGGmx8mD5xQd3RPUvnSpUXHM3BWuzjtpD4TXsfcZ9EL4azvVVUscFYwD9nx8Kh+uCBC00XBtAykoMHwTh8Q==} - engines: {node: '>=0.10.0'} - - strip-final-newline@2.0.0: - resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==} - engines: {node: '>=6'} - - strip-final-newline@3.0.0: - resolution: {integrity: sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==} - engines: {node: '>=12'} - - strip-indent@3.0.0: - resolution: {integrity: sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==} - engines: {node: '>=8'} - - strip-json-comments@3.1.1: - resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} - engines: {node: '>=8'} - - strip-literal@2.1.0: - resolution: {integrity: sha512-Op+UycaUt/8FbN/Z2TWPBLge3jWrP3xj10f3fnYxf052bKuS3EKs1ZQcVGjnEMdsNVAM+plXRdmjrZ/KgG3Skw==} - - stylis@4.3.2: - resolution: {integrity: sha512-bhtUjWd/z6ltJiQwg0dUfxEJ+W+jdqQd8TbWLWyeIJHlnsqmGLRFFd8e5mA0AZi/zx90smXRlN66YMTcaSFifg==} - - sucrase@3.35.0: - resolution: {integrity: sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA==} - engines: {node: '>=16 || 14 >=14.17'} - hasBin: true - - supports-color@2.0.0: - resolution: {integrity: sha512-KKNVtd6pCYgPIKU4cp2733HWYCpplQhddZLBUryaAHou723x+FRzQ5Df824Fj+IyyuiQTRoub4SnIFfIcrp70g==} - engines: {node: '>=0.8.0'} - - supports-color@5.5.0: - resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} - engines: {node: '>=4'} - - supports-color@7.2.0: - resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} - engines: {node: '>=8'} - - supports-color@8.1.1: - resolution: {integrity: sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==} - engines: {node: '>=10'} - - supports-preserve-symlinks-flag@1.0.0: - resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} - engines: {node: '>= 0.4'} - - symbol-tree@3.2.4: - resolution: {integrity: sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==} - - synckit@0.9.0: - resolution: {integrity: sha512-7RnqIMq572L8PeEzKeBINYEJDDxpcH8JEgLwUqBd3TkofhFRbkq4QLR0u+36avGAhCRbk2nnmjcW9SE531hPDg==} - engines: {node: ^14.18.0 || >=16.0.0} - - tabbable@6.2.0: - resolution: {integrity: sha512-Cat63mxsVJlzYvN51JmVXIgNoUokrIaT2zLclCXjRd8boZ0004U4KCs/sToJ75C6sdlByWxpYnb5Boif1VSFew==} - - tailwindcss@3.4.4: - resolution: {integrity: sha512-ZoyXOdJjISB7/BcLTR6SEsLgKtDStYyYZVLsUtWChO4Ps20CBad7lfJKVDiejocV4ME1hLmyY0WJE3hSDcmQ2A==} - engines: {node: '>=14.0.0'} - hasBin: true - - tapable@2.2.1: - resolution: {integrity: sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==} - engines: {node: '>=6'} - - teen_process@1.16.0: - resolution: {integrity: sha512-RnW7HHZD1XuhSTzD3djYOdIl1adE3oNEprE3HOFFxWs5m4FZsqYRhKJ4mDU2udtNGMLUS7jV7l8vVRLWAvmPDw==} - engines: {'0': node} - - temp-dir@2.0.0: - resolution: {integrity: sha512-aoBAniQmmwtcKp/7BzsH8Cxzv8OL736p7v1ihGb5e9DJ9kTwGWHrQrVB5+lfVDzfGrdRzXch+ig7LHaY1JTOrg==} - engines: {node: '>=8'} - - tempy@0.6.0: - resolution: {integrity: sha512-G13vtMYPT/J8A4X2SjdtBTphZlrp1gKv6hZiOjw14RCWg6GbHuQBGtjlx75xLbYV/wEc0D7G5K4rxKP/cXk8Bw==} - engines: {node: '>=10'} - - term-img@4.1.0: - resolution: {integrity: sha512-DFpBhaF5j+2f7kheKFc1ajsAUUDGOaNPpKPtiIMxlbfud6mvfFZuWGnTRpaujUa5J7yl6cIw/h6nyr4mSsENPg==} - engines: {node: '>=8'} - - terser-webpack-plugin@5.3.10: - resolution: {integrity: sha512-BKFPWlPDndPs+NGGCr1U59t0XScL5317Y0UReNrHaw9/FwhPENlq6bfgs+4yPfyP51vqC1bQ4rp1EfXW5ZSH9w==} - engines: {node: '>= 10.13.0'} - peerDependencies: - '@swc/core': '*' - esbuild: '*' - uglify-js: '*' - webpack: ^5.1.0 - peerDependenciesMeta: - '@swc/core': - optional: true - esbuild: - optional: true - uglify-js: - optional: true - - terser@5.31.1: - resolution: {integrity: sha512-37upzU1+viGvuFtBo9NPufCb9dwM0+l9hMxYyWfBA+fbwrPqNJAhbZ6W47bBFnZHKHTUBnMvi87434qq+qnxOg==} - engines: {node: '>=10'} - hasBin: true - - test-exclude@6.0.0: - resolution: {integrity: sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==} - engines: {node: '>=8'} - - text-table@0.2.0: - resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==} - - thenify-all@1.6.0: - resolution: {integrity: sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==} - engines: {node: '>=0.8'} - - thenify@3.3.1: - resolution: {integrity: sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==} - - thread-stream@2.7.0: - resolution: {integrity: sha512-qQiRWsU/wvNolI6tbbCKd9iKaTnCXsTwVxhhKM6nctPdujTyztjlbUkUTUymidWcMnZ5pWR0ej4a0tjsW021vw==} - - throat@6.0.2: - resolution: {integrity: sha512-WKexMoJj3vEuK0yFEapj8y64V0A6xcuPuK9Gt1d0R+dzCSJc0lHqQytAbSB4cDAK0dWh4T0E2ETkoLE2WZ41OQ==} - - throttleit@1.0.1: - resolution: {integrity: sha512-vDZpf9Chs9mAdfY046mcPt8fg5QSZr37hEH4TXYBnDF+izxgrbRGUAAaBvIk/fJm9aOFCGFd1EsNg5AZCbnQCQ==} - - through@2.3.8: - resolution: {integrity: sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==} - - thunky@1.1.0: - resolution: {integrity: sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==} - - timers-ext@0.1.8: - resolution: {integrity: sha512-wFH7+SEAcKfJpfLPkrgMPvvwnEtj8W4IurvEyrKsDleXnKLCDw71w8jltvfLa8Rm4qQxxT4jmDBYbJG/z7qoww==} - engines: {node: '>=0.12'} - - tiny-lru@8.0.2: - resolution: {integrity: sha512-ApGvZ6vVvTNdsmt676grvCkUCGwzG9IqXma5Z07xJgiC5L7akUMof5U8G2JTI9Rz/ovtVhJBlY6mNhEvtjzOIg==} - engines: {node: '>=6'} - - tinybench@2.8.0: - resolution: {integrity: sha512-1/eK7zUnIklz4JUUlL+658n58XO2hHLQfSk1Zf2LKieUjxidN16eKFEoDEfjHc3ohofSSqK3X5yO6VGb6iW8Lw==} - - tinypool@0.8.4: - resolution: {integrity: sha512-i11VH5gS6IFeLY3gMBQ00/MmLncVP7JLXOw1vlgkytLmJK7QnEr7NXf0LBdxfmNPAeyetukOk0bOYrJrFGjYJQ==} - engines: {node: '>=14.0.0'} - - tinyspy@2.2.1: - resolution: {integrity: sha512-KYad6Vy5VDWV4GH3fjpseMQ/XU2BhIYP7Vzd0LG44qRWm/Yt2WCOTicFdvmgo6gWaqooMQCawTtILVQJupKu7A==} - engines: {node: '>=14.0.0'} - - tmp@0.2.3: - resolution: {integrity: sha512-nZD7m9iCPC5g0pYmcaxogYKggSfLsdxl8of3Q/oIbqCqLLIO9IAF0GWjX1z9NZRHPiXv8Wex4yDCaZsgEw0Y8w==} - engines: {node: '>=14.14'} - - tmpl@1.0.5: - resolution: {integrity: sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==} - - to-fast-properties@2.0.0: - resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==} - engines: {node: '>=4'} - - to-regex-range@5.0.1: - resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} - engines: {node: '>=8.0'} - - toidentifier@1.0.1: - resolution: {integrity: sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==} - engines: {node: '>=0.6'} - - totalist@3.0.1: - resolution: {integrity: sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ==} - engines: {node: '>=6'} - - tough-cookie@4.1.4: - resolution: {integrity: sha512-Loo5UUvLD9ScZ6jh8beX1T6sO1w2/MpCRpEP7V280GKMVUQ0Jzar2U3UJPsrdbziLEMMhu3Ujnq//rhiFuIeag==} - engines: {node: '>=6'} - - tr46@0.0.3: - resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==} - - tr46@1.0.1: - resolution: {integrity: sha512-dTpowEjclQ7Kgx5SdBkqRzVhERQXov8/l9Ft9dVM9fmg0W0KQSVaXX9T4i6twCPNtYiZM53lpSSUAwJbFPOHxA==} - - tr46@5.0.0: - resolution: {integrity: sha512-tk2G5R2KRwBd+ZN0zaEXpmzdKyOYksXwywulIX95MBODjSzMIuQnQ3m8JxgbhnL1LeVo7lqQKsYa1O3Htl7K5g==} - engines: {node: '>=18'} - - traverse@0.3.9: - resolution: {integrity: sha512-iawgk0hLP3SxGKDfnDJf8wTz4p2qImnyihM5Hh/sGvQ3K37dPi/w8sRhdNIxYA1TwFwc5mDhIJq+O0RsvXBKdQ==} - - tree-kill@1.2.2: - resolution: {integrity: sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==} - hasBin: true - - trough@2.2.0: - resolution: {integrity: sha512-tmMpK00BjZiUyVyvrBK7knerNgmgvcV/KLVyuma/SC+TQN167GrMRciANTz09+k3zW8L8t60jWO1GpfkZdjTaw==} - - ts-api-utils@1.3.0: - resolution: {integrity: sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ==} - engines: {node: '>=16'} - peerDependencies: - typescript: '>=4.2.0' - - ts-dedent@2.2.0: - resolution: {integrity: sha512-q5W7tVM71e2xjHZTlgfTDoPF/SmqKG5hddq9SzR49CH2hayqRKJtQ4mtRlSxKaJlR/+9rEM+mnBHf7I2/BQcpQ==} - engines: {node: '>=6.10'} - - ts-interface-checker@0.1.13: - resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==} - - ts-toolbelt@6.15.5: - resolution: {integrity: sha512-FZIXf1ksVyLcfr7M317jbB67XFJhOO1YqdTcuGaq9q5jLUoTikukZ+98TPjKiP2jC5CgmYdWWYs0s2nLSU0/1A==} - - tslib@1.14.1: - resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==} - - tslib@2.6.3: - resolution: {integrity: sha512-xNvxJEOUiWPGhUuUdQgAJPKOOJfGnIyKySOc09XkKsgdUV/3E2zvwZYdejjmRgPCgcym1juLH3226yA7sEFJKQ==} - - tsutils@3.21.0: - resolution: {integrity: sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==} - engines: {node: '>= 6'} - peerDependencies: - typescript: '>=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta' - - tsx@4.15.4: - resolution: {integrity: sha512-d++FLCwJLrXaBFtRcqdPBzu6FiVOJ2j+UsvUZPtoTrnYtCGU5CEW7iHXtNZfA2fcRTvJFWPqA6SWBuB0GSva9w==} - engines: {node: '>=18.0.0'} - hasBin: true - - tunnel-agent@0.6.0: - resolution: {integrity: sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==} - - tweetnacl@0.14.5: - resolution: {integrity: sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==} - - type-check@0.4.0: - resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} - engines: {node: '>= 0.8.0'} - - type-detect@4.0.8: - resolution: {integrity: sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==} - engines: {node: '>=4'} - - type-fest@0.16.0: - resolution: {integrity: sha512-eaBzG6MxNzEn9kiwvtre90cXaNLkmadMWa1zQMs3XORCXNbsH/OewwbxC5ia9dCxIxnTAsSxXJaa/p5y8DlvJg==} - engines: {node: '>=10'} - - type-fest@0.20.2: - resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==} - engines: {node: '>=10'} - - type-fest@0.21.3: - resolution: {integrity: sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==} - engines: {node: '>=10'} - - type-fest@0.6.0: - resolution: {integrity: sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==} - engines: {node: '>=8'} - - type-fest@0.8.1: - resolution: {integrity: sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==} - engines: {node: '>=8'} - - type-fest@4.20.0: - resolution: {integrity: sha512-MBh+PHUHHisjXf4tlx0CFWoMdjx8zCMLJHOjnV1prABYZFHqtFOyauCIK2/7w4oIfwkF8iNhLtnJEfVY2vn3iw==} - engines: {node: '>=16'} - - type-is@1.6.18: - resolution: {integrity: sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==} - engines: {node: '>= 0.6'} - - type@2.7.3: - resolution: {integrity: sha512-8j+1QmAbPvLZow5Qpi6NCaN8FB60p/6x8/vfNqOk/hC+HuvFZhL4+WfekuhQLiqFZXOgQdrs3B+XxEmCc6b3FQ==} - - typed-array-buffer@1.0.2: - resolution: {integrity: sha512-gEymJYKZtKXzzBzM4jqa9w6Q1Jjm7x2d+sh19AdsD4wqnMPDYyvwpsIc2Q/835kHuo3BEQ7CjelGhfTsoBb2MQ==} - engines: {node: '>= 0.4'} - - typed-array-byte-length@1.0.1: - resolution: {integrity: sha512-3iMJ9q0ao7WE9tWcaYKIptkNBuOIcZCCT0d4MRvuuH88fEoEH62IuQe0OtraD3ebQEoTRk8XCBoknUNc1Y67pw==} - engines: {node: '>= 0.4'} - - typed-array-byte-offset@1.0.2: - resolution: {integrity: sha512-Ous0vodHa56FviZucS2E63zkgtgrACj7omjwd/8lTEMEPFFyjfixMZ1ZXenpgCFBBt4EC1J2XsyVS2gkG0eTFA==} - engines: {node: '>= 0.4'} - - typed-array-length@1.0.6: - resolution: {integrity: sha512-/OxDN6OtAk5KBpGb28T+HZc2M+ADtvRxXrKKbUwtsLgdoxgX13hyy7ek6bFRl5+aBs2yZzB0c4CnQfAtVypW/g==} - engines: {node: '>= 0.4'} - - typedarray-to-buffer@3.1.5: - resolution: {integrity: sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==} - - typedoc-plugin-markdown@3.17.1: - resolution: {integrity: sha512-QzdU3fj0Kzw2XSdoL15ExLASt2WPqD7FbLeaqwT70+XjKyTshBnUlQA5nNREO1C2P8Uen0CDjsBLMsCQ+zd0lw==} - peerDependencies: - typedoc: '>=0.24.0' - - typedoc@0.25.13: - resolution: {integrity: sha512-pQqiwiJ+Z4pigfOnnysObszLiU3mVLWAExSPf+Mu06G/qsc3wzbuM56SZQvONhHLncLUhYzOVkjFFpFfL5AzhQ==} - engines: {node: '>= 16'} - hasBin: true - peerDependencies: - typescript: 4.6.x || 4.7.x || 4.8.x || 4.9.x || 5.0.x || 5.1.x || 5.2.x || 5.3.x || 5.4.x - - typescript@5.4.5: - resolution: {integrity: sha512-vcI4UpRgg81oIRUFwR0WSIHKt11nJ7SAVlYNIu+QpqeyXP+gpQJy/Z4+F0aGxSE4MqwjyXvW/TzgkLAx2AGHwQ==} - engines: {node: '>=14.17'} - hasBin: true - - uc.micro@1.0.6: - resolution: {integrity: sha512-8Y75pvTYkLJW2hWQHXxoqRgV7qb9B+9vFEtidML+7koHUFapnVJAZ6cKs+Qjz5Aw3aZWHMC6u0wJE3At+nSGwA==} - - ufo@1.5.3: - resolution: {integrity: sha512-Y7HYmWaFwPUmkoQCUIAYpKqkOf+SbVj/2fJJZ4RJMCfZp0rTGwRbzQD+HghfnhKOjL9E01okqz+ncJskGYfBNw==} - - uglify-js@3.18.0: - resolution: {integrity: sha512-SyVVbcNBCk0dzr9XL/R/ySrmYf0s372K6/hFklzgcp2lBFyXtw4I7BOdDjlLhE1aVqaI/SHWXWmYdlZxuyF38A==} - engines: {node: '>=0.8.0'} - hasBin: true - - unbox-primitive@1.0.2: - resolution: {integrity: sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==} - - unconfig@0.3.13: - resolution: {integrity: sha512-N9Ph5NC4+sqtcOjPfHrRcHekBCadCXWTBzp2VYYbySOHW0PfD9XLCeXshTXjkPYwLrBr9AtSeU0CZmkYECJhng==} - - underscore@1.1.7: - resolution: {integrity: sha512-w4QtCHoLBXw1mjofIDoMyexaEdWGMedWNDhlWTtT1V1lCRqi65Pnoygkh6+WRdr+Bm8ldkBNkNeCsXGMlQS9HQ==} - - undici-types@5.26.5: - resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} - - unicode-canonical-property-names-ecmascript@2.0.0: - resolution: {integrity: sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==} - engines: {node: '>=4'} - - unicode-match-property-ecmascript@2.0.0: - resolution: {integrity: sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==} - engines: {node: '>=4'} - - unicode-match-property-value-ecmascript@2.1.0: - resolution: {integrity: sha512-qxkjQt6qjg/mYscYMC0XKRn3Rh0wFPlfxB0xkt9CfyTvpX1Ra0+rAmdX2QyAobptSEvuy4RtpPRui6XkV+8wjA==} - engines: {node: '>=4'} - - unicode-property-aliases-ecmascript@2.1.0: - resolution: {integrity: sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==} - engines: {node: '>=4'} - - unicorn-magic@0.1.0: - resolution: {integrity: sha512-lRfVq8fE8gz6QMBuDM6a+LO3IAzTi05H6gCVaUpir2E1Rwpo4ZUog45KpNXKC/Mn3Yb9UDuHumeFTo9iV/D9FQ==} - engines: {node: '>=18'} - - unified@11.0.4: - resolution: {integrity: sha512-apMPnyLjAX+ty4OrNap7yumyVAMlKx5IWU2wlzzUdYJO9A8f1p9m/gywF/GM2ZDFcjQPrx59Mc90KwmxsoklxQ==} - - unique-string@2.0.0: - resolution: {integrity: sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg==} - engines: {node: '>=8'} - - unist-util-flatmap@1.0.0: - resolution: {integrity: sha512-IG32jcKJlhARCYT2LsYPJWdoXYkzz3ESAdl1aa2hn9Auh+cgUmU6wgkII4yCc/1GgeWibRdELdCZh/p3QKQ1dQ==} - - unist-util-inspect@8.0.0: - resolution: {integrity: sha512-/3Wn/wU6/H6UEo4FoYUeo8KUePN8ERiZpQYFWYoihOsr1DoDuv80PeB0hobVZyYSvALa2e556bG1A1/AbwU4yg==} - - unist-util-is@6.0.0: - resolution: {integrity: sha512-2qCTHimwdxLfz+YzdGfkqNlH0tLi9xjTnHddPmJwtIG9MGsdbutfTc4P+haPD7l7Cjxf/WZj+we5qfVPvvxfYw==} - - unist-util-stringify-position@2.0.3: - resolution: {integrity: sha512-3faScn5I+hy9VleOq/qNbAd6pAx7iH5jYBMS9I1HgQVijz/4mv5Bvw5iw1sC/90CODiKo81G/ps8AJrISn687g==} - - unist-util-stringify-position@4.0.0: - resolution: {integrity: sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==} - - unist-util-visit-parents@6.0.1: - resolution: {integrity: sha512-L/PqWzfTP9lzzEa6CKs0k2nARxTdZduw3zyh8d2NVBnsyvHjSX4TWse388YrrQKbvI8w20fGjGlhgT96WwKykw==} - - unist-util-visit@5.0.0: - resolution: {integrity: sha512-MR04uvD+07cwl/yhVuVWAtw+3GOR/knlL55Nd/wAdblk27GCVt3lqpTivy/tkJcZoNPzTwS1Y+KMojlLDhoTzg==} - - universalify@0.1.2: - resolution: {integrity: sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==} - engines: {node: '>= 4.0.0'} - - universalify@0.2.0: - resolution: {integrity: sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==} - engines: {node: '>= 4.0.0'} - - universalify@2.0.1: - resolution: {integrity: sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==} - engines: {node: '>= 10.0.0'} - - unocss@0.59.4: - resolution: {integrity: sha512-QmCVjRObvVu/gsGrJGVt0NnrdhFFn314BUZn2WQyXV9rIvHLRmG5bIu0j5vibJkj7ZhFchTrnTM1pTFXP1xt5g==} - engines: {node: '>=14'} - peerDependencies: - '@unocss/webpack': 0.59.4 - vite: ^2.9.0 || ^3.0.0-0 || ^4.0.0 || ^5.0.0-0 - peerDependenciesMeta: - '@unocss/webpack': - optional: true - vite: - optional: true - - unpipe@1.0.0: - resolution: {integrity: sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==} - engines: {node: '>= 0.8'} - - unplugin-vue-components@0.26.0: - resolution: {integrity: sha512-s7IdPDlnOvPamjunVxw8kNgKNK8A5KM1YpK5j/p97jEKTjlPNrA0nZBiSfAKKlK1gWZuyWXlKL5dk3EDw874LQ==} - engines: {node: '>=14'} - peerDependencies: - '@babel/parser': ^7.15.8 - '@nuxt/kit': ^3.2.2 - vue: 2 || 3 - peerDependenciesMeta: - '@babel/parser': - optional: true - '@nuxt/kit': - optional: true - - unplugin@1.10.1: - resolution: {integrity: sha512-d6Mhq8RJeGA8UfKCu54Um4lFA0eSaRa3XxdAJg8tIdxbu1ubW0hBCZUL7yI2uGyYCRndvbK8FLHzqy2XKfeMsg==} - engines: {node: '>=14.0.0'} - - untildify@4.0.0: - resolution: {integrity: sha512-KK8xQ1mkzZeg9inewmFVDNkg3l5LUhoq9kN6iWYB/CC9YMG8HA+c1Q8HwDe6dEX7kErrEVNVBO3fWsVq5iDgtw==} - engines: {node: '>=8'} - - upath@1.2.0: - resolution: {integrity: sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==} - engines: {node: '>=4'} - - update-browserslist-db@1.0.16: - resolution: {integrity: sha512-KVbTxlBYlckhF5wgfyZXTWnMn7MMZjMu9XG8bPlliUOP9ThaF4QnhP8qrjrH7DRzHfSk0oQv1wToW+iA5GajEQ==} - hasBin: true - peerDependencies: - browserslist: '>= 4.21.0' - - uri-js@4.4.1: - resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} - - url-parse@1.5.10: - resolution: {integrity: sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==} - - util-deprecate@1.0.2: - resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} - - utils-merge@1.0.1: - resolution: {integrity: sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==} - engines: {node: '>= 0.4.0'} - - uuid@8.3.2: - resolution: {integrity: sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==} - hasBin: true - - uuid@9.0.1: - resolution: {integrity: sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==} - hasBin: true - - v8-to-istanbul@9.2.0: - resolution: {integrity: sha512-/EH/sDgxU2eGxajKdwLCDmQ4FWq+kpi3uCmBGpw1xJtnAxEjlD8j8PEiGWpCIMIs3ciNAgH0d3TTJiUkYzyZjA==} - engines: {node: '>=10.12.0'} - - validate-npm-package-license@3.0.4: - resolution: {integrity: sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==} - - vary@1.1.2: - resolution: {integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==} - engines: {node: '>= 0.8'} - - verror@1.10.0: - resolution: {integrity: sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw==} - engines: {'0': node >=0.6.0} - - vfile-message@4.0.2: - resolution: {integrity: sha512-jRDZ1IMLttGj41KcZvlrYAaI3CfqpLpfpf+Mfig13viT6NKvRzWZ+lXz0Y5D60w6uJIBAOGq9mSHf0gktF0duw==} - - vfile@6.0.1: - resolution: {integrity: sha512-1bYqc7pt6NIADBJ98UiG0Bn/CHIVOoZ/IyEkqIruLg0mE1BKzkOXY2D6CSqQIcKqgadppE5lrxgWXJmXd7zZJw==} - - vite-node@1.6.0: - resolution: {integrity: sha512-de6HJgzC+TFzOu0NTC4RAIsyf/DY/ibWDYQUcuEA84EMHhcefTUGkjFHKKEJhQN4A+6I0u++kr3l36ZF2d7XRw==} - engines: {node: ^18.0.0 || >=20.0.0} - hasBin: true - - vite-plugin-istanbul@6.0.2: - resolution: {integrity: sha512-0/sKwjEEIwbEyl43xX7onX3dIbMJAsigNsKyyVPalG1oRFo5jn3qkJbS2PUfp9wrr3piy1eT6qRoeeum2p4B2A==} - peerDependencies: - vite: '>=4 <=6' - - vite-plugin-pwa@0.19.8: - resolution: {integrity: sha512-e1oK0dfhzhDhY3VBuML6c0h8Xfx6EkOVYqolj7g+u8eRfdauZe5RLteCIA/c5gH0CBQ0CNFAuv/AFTx4Z7IXTw==} - engines: {node: '>=16.0.0'} - peerDependencies: - '@vite-pwa/assets-generator': ^0.2.4 - vite: ^3.1.0 || ^4.0.0 || ^5.0.0 - workbox-build: ^7.0.0 - workbox-window: ^7.0.0 - peerDependenciesMeta: - '@vite-pwa/assets-generator': - optional: true - - vite@5.2.13: - resolution: {integrity: sha512-SSq1noJfY9pR3I1TUENL3rQYDQCFqgD+lM6fTRAM8Nv6Lsg5hDLaXkjETVeBt+7vZBCMoibD+6IWnT2mJ+Zb/A==} - engines: {node: ^18.0.0 || >=20.0.0} - hasBin: true - peerDependencies: - '@types/node': ^18.0.0 || >=20.0.0 - less: '*' - lightningcss: ^1.21.0 - sass: '*' - stylus: '*' - sugarss: '*' - terser: ^5.4.0 - peerDependenciesMeta: - '@types/node': - optional: true - less: - optional: true - lightningcss: - optional: true - sass: - optional: true - stylus: - optional: true - sugarss: - optional: true - terser: - optional: true - - vitepress-plugin-search@1.0.4-alpha.22: - resolution: {integrity: sha512-IAOEJu+kjVY+0pb6/PeRjIbr175HFFbnMdLmLjqcy7VWxkabIRZbLoQL1VUYDZl804o/Or+GaX02gsiMOnVxFA==} - engines: {node: ^14.13.1 || ^16.7.0 || >=18} - peerDependencies: - flexsearch: ^0.7.31 - vitepress: ^1.0.0-rc.35 - vue: '3' - - vitepress@1.1.4: - resolution: {integrity: sha512-bWIzFZXpPB6NIDBuWnS20aMADH+FcFKDfQNYFvbOWij03PR29eImTceQHIzCKordjXYBhM/TjE5VKFTUJ3EheA==} - hasBin: true - peerDependencies: - markdown-it-mathjax3: ^4 - postcss: ^8 - peerDependenciesMeta: - markdown-it-mathjax3: - optional: true - postcss: - optional: true - - vitest@1.6.0: - resolution: {integrity: sha512-H5r/dN06swuFnzNFhq/dnz37bPXnq8xB2xB5JOVk8K09rUtoeNN+LHWkoQ0A/i3hvbUKKcCei9KpbxqHMLhLLA==} - engines: {node: ^18.0.0 || >=20.0.0} - hasBin: true - peerDependencies: - '@edge-runtime/vm': '*' - '@types/node': ^18.0.0 || >=20.0.0 - '@vitest/browser': 1.6.0 - '@vitest/ui': 1.6.0 - happy-dom: '*' - jsdom: '*' - peerDependenciesMeta: - '@edge-runtime/vm': - optional: true - '@types/node': - optional: true - '@vitest/browser': - optional: true - '@vitest/ui': - optional: true - happy-dom: - optional: true - jsdom: - optional: true - - vscode-json-languageservice@4.2.1: - resolution: {integrity: sha512-xGmv9QIWs2H8obGbWg+sIPI/3/pFgj/5OWBhNzs00BkYQ9UaB2F6JJaGB/2/YOZJ3BvLXQTC4Q7muqU25QgAhA==} - - vscode-jsonrpc@8.2.0: - resolution: {integrity: sha512-C+r0eKJUIfiDIfwJhria30+TYWPtuHJXHtI7J0YlOmKAo7ogxP20T0zxB7HZQIFhIyvoBPwWskjxrvAtfjyZfA==} - engines: {node: '>=14.0.0'} - - vscode-languageserver-protocol@3.17.5: - resolution: {integrity: sha512-mb1bvRJN8SVznADSGWM9u/b07H7Ecg0I3OgXDuLdn307rl/J3A9YD6/eYOssqhecL27hK1IPZAsaqh00i/Jljg==} - - vscode-languageserver-textdocument@1.0.11: - resolution: {integrity: sha512-X+8T3GoiwTVlJbicx/sIAF+yuJAqz8VvwJyoMVhwEMoEKE/fkDmrqUgDMyBECcM2A2frVZIUj5HI/ErRXCfOeA==} - - vscode-languageserver-types@3.17.5: - resolution: {integrity: sha512-Ld1VelNuX9pdF39h2Hgaeb5hEZM2Z3jUrrMgWQAu82jMtZp7p3vJT3BzToKtZI7NgQssZje5o0zryOrhQvzQAg==} - - vscode-languageserver@9.0.1: - resolution: {integrity: sha512-woByF3PDpkHFUreUa7Hos7+pUWdeWMXRd26+ZX2A8cFx6v/JPTtd4/uN0/jB6XQHYaOlHbio03NTHCqrgG5n7g==} - hasBin: true - - vscode-nls@5.2.0: - resolution: {integrity: sha512-RAaHx7B14ZU04EU31pT+rKz2/zSl7xMsfIZuo8pd+KZO6PXtQmpevpq3vxvWNcrGbdmhM/rr5Uw5Mz+NBfhVng==} - - vscode-oniguruma@1.7.0: - resolution: {integrity: sha512-L9WMGRfrjOhgHSdOYgCt/yRMsXzLDJSL7BPrOZt73gU0iWO4mpqzqQzOz5srxqTvMBaR0XZTSrVWo4j55Rc6cA==} - - vscode-textmate@8.0.0: - resolution: {integrity: sha512-AFbieoL7a5LMqcnOF04ji+rpXadgOXnZsxQr//r83kLPr7biP7am3g9zbaZIaBGwBRWeSvoMD4mgPdX3e4NWBg==} - - vscode-uri@3.0.8: - resolution: {integrity: sha512-AyFQ0EVmsOZOlAnxoFOGOq1SQDWAB7C6aqMGS23svWAllfOaxbuFvcT8D1i8z3Gyn8fraVeZNNmN6e9bxxXkKw==} - - vue-demi@0.13.11: - resolution: {integrity: sha512-IR8HoEEGM65YY3ZJYAjMlKygDQn25D5ajNFNoKh9RSDMQtlzCxtfQjdQgv9jjK+m3377SsJXY8ysq8kLCZL25A==} - engines: {node: '>=12'} - hasBin: true - peerDependencies: - '@vue/composition-api': ^1.0.0-rc.1 - vue: ^3.0.0-0 || ^2.6.0 - peerDependenciesMeta: - '@vue/composition-api': - optional: true - - vue-demi@0.14.8: - resolution: {integrity: sha512-Uuqnk9YE9SsWeReYqK2alDI5YzciATE0r2SkA6iMAtuXvNTMNACJLJEXNXaEy94ECuBe4Sk6RzRU80kjdbIo1Q==} - engines: {node: '>=12'} - hasBin: true - peerDependencies: - '@vue/composition-api': ^1.0.0-rc.1 - vue: ^3.0.0-0 || ^2.6.0 - peerDependenciesMeta: - '@vue/composition-api': - optional: true - - vue@3.4.27: - resolution: {integrity: sha512-8s/56uK6r01r1icG/aEOHqyMVxd1bkYcSe9j8HcKtr/xTOFWvnzIVTehNW+5Yt89f+DLBe4A569pnZLS5HzAMA==} - peerDependencies: - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true - - vuex@4.1.0: - resolution: {integrity: sha512-hmV6UerDrPcgbSy9ORAtNXDr9M4wlNP4pEFKye4ujJF8oqgFFuxDCdOLS3eNoRTtq5O3hoBDh9Doj1bQMYHRbQ==} - peerDependencies: - vue: ^3.2.0 - - w3c-xmlserializer@5.0.0: - resolution: {integrity: sha512-o8qghlI8NZHU1lLPrpi2+Uq7abh4GGPpYANlalzWxyWteJOCsr/P+oPBA49TOLu5FTZO4d3F9MnWJfiMo4BkmA==} - engines: {node: '>=18'} - - wait-on@7.2.0: - resolution: {integrity: sha512-wCQcHkRazgjG5XoAq9jbTMLpNIjoSlZslrJ2+N9MxDsGEv1HnFoVjOCexL0ESva7Y9cu350j+DWADdk54s4AFQ==} - engines: {node: '>=12.0.0'} - hasBin: true - - walker@1.0.8: - resolution: {integrity: sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==} - - watchpack@2.4.1: - resolution: {integrity: sha512-8wrBCMtVhqcXP2Sup1ctSkga6uc2Bx0IIvKyT7yTFier5AXHooSI+QyQQAtTb7+E0IUCCKyTFmXqdqgum2XWGg==} - engines: {node: '>=10.13.0'} - - wbuf@1.7.3: - resolution: {integrity: sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==} - - web-streams-polyfill@3.3.3: - resolution: {integrity: sha512-d2JWLCivmZYTSIoge9MsgFCZrt571BikcWGYkjC1khllbTeDlGqZ2D8vD8E/lJa8WGWbb7Plm8/XJYV7IJHZZw==} - engines: {node: '>= 8'} - - webdriver@7.31.1: - resolution: {integrity: sha512-nCdJLxRnYvOMFqTEX7sqQtF/hV/Jgov0Y6ICeOm1DMTlZSRRDaUsBMlEAPkEwif9uBJYdM0znv8qzfX358AGqQ==} - engines: {node: '>=12.0.0'} - - webidl-conversions@3.0.1: - resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==} - - webidl-conversions@4.0.2: - resolution: {integrity: sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==} - - webidl-conversions@7.0.0: - resolution: {integrity: sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==} - engines: {node: '>=12'} - - webpack-cli@4.10.0: - resolution: {integrity: sha512-NLhDfH/h4O6UOy+0LSso42xvYypClINuMNBVVzX4vX98TmTaTUxwRbXdhucbFMd2qLaCTcLq/PdYrvi8onw90w==} - engines: {node: '>=10.13.0'} - hasBin: true - peerDependencies: - '@webpack-cli/generators': '*' - '@webpack-cli/migrate': '*' - webpack: 4.x.x || 5.x.x - webpack-bundle-analyzer: '*' - webpack-dev-server: '*' - peerDependenciesMeta: - '@webpack-cli/generators': - optional: true - '@webpack-cli/migrate': - optional: true - webpack-bundle-analyzer: - optional: true - webpack-dev-server: - optional: true - - webpack-dev-middleware@5.3.4: - resolution: {integrity: sha512-BVdTqhhs+0IfoeAf7EoH5WE+exCmqGerHfDM0IL096Px60Tq2Mn9MAbnaGUe6HiMa41KMCYF19gyzZmBcq/o4Q==} - engines: {node: '>= 12.13.0'} - peerDependencies: - webpack: ^4.0.0 || ^5.0.0 - - webpack-dev-server@4.15.2: - resolution: {integrity: sha512-0XavAZbNJ5sDrCbkpWL8mia0o5WPOd2YGtxrEiZkBK9FjLppIUK2TgxK6qGD2P3hUXTJNNPVibrerKcx5WkR1g==} - engines: {node: '>= 12.13.0'} - hasBin: true - peerDependencies: - webpack: ^4.37.0 || ^5.0.0 - webpack-cli: '*' - peerDependenciesMeta: - webpack: - optional: true - webpack-cli: - optional: true - - webpack-merge@5.10.0: - resolution: {integrity: sha512-+4zXKdx7UnO+1jaN4l2lHVD+mFvnlZQP/6ljaJVb4SZiwIKeUnrT5l0gkT8z+n4hKpC+jpOv6O9R+gLtag7pSA==} - engines: {node: '>=10.0.0'} - - webpack-sources@3.2.3: - resolution: {integrity: sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==} - engines: {node: '>=10.13.0'} - - webpack-virtual-modules@0.6.2: - resolution: {integrity: sha512-66/V2i5hQanC51vBQKPH4aI8NMAcBW59FVBs+rC7eGHupMyfn34q7rZIE+ETlJ+XTevqfUhVVBgSUNSW2flEUQ==} - - webpack@5.92.0: - resolution: {integrity: sha512-Bsw2X39MYIgxouNATyVpCNVWBCuUwDgWtN78g6lSdPJRLaQ/PUVm/oXcaRAyY/sMFoKFQrsPeqvTizWtq7QPCA==} - engines: {node: '>=10.13.0'} - hasBin: true - peerDependencies: - webpack-cli: '*' - peerDependenciesMeta: - webpack-cli: - optional: true - - websocket-driver@0.7.4: - resolution: {integrity: sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg==} - engines: {node: '>=0.8.0'} - - websocket-extensions@0.1.4: - resolution: {integrity: sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==} - engines: {node: '>=0.8.0'} - - whatwg-encoding@3.1.1: - resolution: {integrity: sha512-6qN4hJdMwfYBtE3YBTTHhoeuUrDBPZmbQaxWAqSALV/MeEnR5z1xd8UKud2RAkFoPkmB+hli1TZSnyi84xz1vQ==} - engines: {node: '>=18'} - - whatwg-mimetype@4.0.0: - resolution: {integrity: sha512-QaKxh0eNIi2mE9p2vEdzfagOKHCcj1pJ56EEHGQOVxp8r9/iszLUUV7v89x9O1p/T+NlTM5W7jW6+cz4Fq1YVg==} - engines: {node: '>=18'} - - whatwg-url@14.0.0: - resolution: {integrity: sha512-1lfMEm2IEr7RIV+f4lUNPOqfFL+pO+Xw3fJSqmjX9AbXcXcYOkCe1P6+9VBZB6n94af16NfZf+sSk0JCBZC9aw==} - engines: {node: '>=18'} - - whatwg-url@5.0.0: - resolution: {integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==} - - whatwg-url@7.1.0: - resolution: {integrity: sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==} - - which-boxed-primitive@1.0.2: - resolution: {integrity: sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==} - - which-module@2.0.1: - resolution: {integrity: sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ==} - - which-typed-array@1.1.15: - resolution: {integrity: sha512-oV0jmFtUky6CXfkqehVvBP/LSWJ2sy4vWMioiENyJLePrBO/yKyV9OyJySfAKosh+RYkIl5zJCNZ8/4JncrpdA==} - engines: {node: '>= 0.4'} - - which@1.3.1: - resolution: {integrity: sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==} - hasBin: true - - which@2.0.2: - resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} - engines: {node: '>= 8'} - hasBin: true - - why-is-node-running@2.2.2: - resolution: {integrity: sha512-6tSwToZxTOcotxHeA+qGCq1mVzKR3CwcJGmVcY+QE8SHy6TnpFnh8PAvPNHYr7EcuVeG0QSMxtYCuO1ta/G/oA==} - engines: {node: '>=8'} - hasBin: true - - widest-line@3.1.0: - resolution: {integrity: sha512-NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg==} - engines: {node: '>=8'} - - wildcard@2.0.1: - resolution: {integrity: sha512-CC1bOL87PIWSBhDcTrdeLo6eGT7mCFtrg0uIJtqJUFyK+eJnzl8A1niH56uu7KMa5XFrtiV+AQuHO3n7DsHnLQ==} - - word-wrap@1.2.5: - resolution: {integrity: sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==} - engines: {node: '>=0.10.0'} - - wordwrap@1.0.0: - resolution: {integrity: sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==} - - workbox-background-sync@7.1.0: - resolution: {integrity: sha512-rMbgrzueVWDFcEq1610YyDW71z0oAXLfdRHRQcKw4SGihkfOK0JUEvqWHFwA6rJ+6TClnMIn7KQI5PNN1XQXwQ==} - - workbox-broadcast-update@7.1.0: - resolution: {integrity: sha512-O36hIfhjej/c5ar95pO67k1GQw0/bw5tKP7CERNgK+JdxBANQhDmIuOXZTNvwb2IHBx9hj2kxvcDyRIh5nzOgQ==} - - workbox-build@7.1.1: - resolution: {integrity: sha512-WdkVdC70VMpf5NBCtNbiwdSZeKVuhTEd5PV3mAwpTQCGAB5XbOny1P9egEgNdetv4srAMmMKjvBk4RD58LpooA==} - engines: {node: '>=16.0.0'} - - workbox-cacheable-response@7.1.0: - resolution: {integrity: sha512-iwsLBll8Hvua3xCuBB9h92+/e0wdsmSVgR2ZlvcfjepZWwhd3osumQB3x9o7flj+FehtWM2VHbZn8UJeBXXo6Q==} - - workbox-core@7.1.0: - resolution: {integrity: sha512-5KB4KOY8rtL31nEF7BfvU7FMzKT4B5TkbYa2tzkS+Peqj0gayMT9SytSFtNzlrvMaWgv6y/yvP9C0IbpFjV30Q==} - - workbox-expiration@7.1.0: - resolution: {integrity: sha512-m5DcMY+A63rJlPTbbBNtpJ20i3enkyOtSgYfv/l8h+D6YbbNiA0zKEkCUaMsdDlxggla1oOfRkyqTvl5Ni5KQQ==} - - workbox-google-analytics@7.1.0: - resolution: {integrity: sha512-FvE53kBQHfVTcZyczeBVRexhh7JTkyQ8HAvbVY6mXd2n2A7Oyz/9fIwnY406ZcDhvE4NFfKGjW56N4gBiqkrew==} - - workbox-navigation-preload@7.1.0: - resolution: {integrity: sha512-4wyAbo0vNI/X0uWNJhCMKxnPanNyhybsReMGN9QUpaePLTiDpKxPqFxl4oUmBNddPwIXug01eTSLVIFXimRG/A==} - - workbox-precaching@7.1.0: - resolution: {integrity: sha512-LyxzQts+UEpgtmfnolo0hHdNjoB7EoRWcF7EDslt+lQGd0lW4iTvvSe3v5JiIckQSB5KTW5xiCqjFviRKPj1zA==} - - workbox-range-requests@7.1.0: - resolution: {integrity: sha512-m7+O4EHolNs5yb/79CrnwPR/g/PRzMFYEdo01LqwixVnc/sbzNSvKz0d04OE3aMRel1CwAAZQheRsqGDwATgPQ==} - - workbox-recipes@7.1.0: - resolution: {integrity: sha512-NRrk4ycFN9BHXJB6WrKiRX3W3w75YNrNrzSX9cEZgFB5ubeGoO8s/SDmOYVrFYp9HMw6sh1Pm3eAY/1gVS8YLg==} - - workbox-routing@7.1.0: - resolution: {integrity: sha512-oOYk+kLriUY2QyHkIilxUlVcFqwduLJB7oRZIENbqPGeBP/3TWHYNNdmGNhz1dvKuw7aqvJ7CQxn27/jprlTdg==} - - workbox-strategies@7.1.0: - resolution: {integrity: sha512-/UracPiGhUNehGjRm/tLUQ+9PtWmCbRufWtV0tNrALuf+HZ4F7cmObSEK+E4/Bx1p8Syx2tM+pkIrvtyetdlew==} - - workbox-streams@7.1.0: - resolution: {integrity: sha512-WyHAVxRXBMfysM8ORwiZnI98wvGWTVAq/lOyBjf00pXFvG0mNaVz4Ji+u+fKa/mf1i2SnTfikoYKto4ihHeS6w==} - - workbox-sw@7.1.0: - resolution: {integrity: sha512-Hml/9+/njUXBglv3dtZ9WBKHI235AQJyLBV1G7EFmh4/mUdSQuXui80RtjDeVRrXnm/6QWgRUEHG3/YBVbxtsA==} - - workbox-window@7.1.0: - resolution: {integrity: sha512-ZHeROyqR+AS5UPzholQRDttLFqGMwP0Np8MKWAdyxsDETxq3qOAyXvqessc3GniohG6e0mAqSQyKOHmT8zPF7g==} - - wrap-ansi@6.2.0: - resolution: {integrity: sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==} - engines: {node: '>=8'} - - wrap-ansi@7.0.0: - resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} - engines: {node: '>=10'} - - wrap-ansi@8.1.0: - resolution: {integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==} - engines: {node: '>=12'} - - wrap-ansi@9.0.0: - resolution: {integrity: sha512-G8ura3S+3Z2G+mkgNRq8dqaFZAuxfsxpBB8OCTGRTCtp+l/v9nbFNmCUP1BZMts3G1142MsZfn6eeUKrr4PD1Q==} - engines: {node: '>=18'} - - wrappy@1.0.2: - resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} - - write-file-atomic@3.0.3: - resolution: {integrity: sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==} - - write-file-atomic@4.0.2: - resolution: {integrity: sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==} - engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} - - ws@8.13.0: - resolution: {integrity: sha512-x9vcZYTrFPC7aSIbj7sRCYo7L/Xb8Iy+pW0ng0wt2vCJv7M9HOMy0UoN3rr+IFC7hb7vXoqS+P9ktyLLLhO+LA==} - engines: {node: '>=10.0.0'} - peerDependencies: - bufferutil: ^4.0.1 - utf-8-validate: '>=5.0.2' - peerDependenciesMeta: - bufferutil: - optional: true - utf-8-validate: - optional: true - - ws@8.17.0: - resolution: {integrity: sha512-uJq6108EgZMAl20KagGkzCKfMEjxmKvZHG7Tlq0Z6nOky7YF7aq4mOx6xK8TJ/i1LeK4Qus7INktacctDgY8Ow==} - engines: {node: '>=10.0.0'} - peerDependencies: - bufferutil: ^4.0.1 - utf-8-validate: '>=5.0.2' - peerDependenciesMeta: - bufferutil: - optional: true - utf-8-validate: - optional: true - - ws@8.5.0: - resolution: {integrity: sha512-BWX0SWVgLPzYwF8lTzEy1egjhS4S4OEAHfsO8o65WOVsrnSRGaSiUaa9e0ggGlkMTtBlmOpEXiie9RUcBO86qg==} - engines: {node: '>=10.0.0'} - peerDependencies: - bufferutil: ^4.0.1 - utf-8-validate: ^5.0.2 - peerDependenciesMeta: - bufferutil: - optional: true - utf-8-validate: - optional: true - - xdg-basedir@5.1.0: - resolution: {integrity: sha512-GCPAHLvrIH13+c0SuacwvRYj2SxJXQ4kaVTT5xgL3kPrz56XxkF21IGhjSE1+W0aw7gpBWRGXLCPnPby6lSpmQ==} - engines: {node: '>=12'} - - xml-name-validator@5.0.0: - resolution: {integrity: sha512-EvGK8EJ3DhaHfbRlETOWAS5pO9MZITeauHKJyb8wyajUfQUenkIg2MvLDTZ4T/TgIcm3HU0TFBgWWboAZ30UHg==} - engines: {node: '>=18'} - - xmlbuilder@15.1.1: - resolution: {integrity: sha512-yMqGBqtXyeN1e3TGYvgNgDVZ3j84W4cwkOXQswghol6APgZWaff9lnbvN7MHYJOiXsvGPXtjTYJEiC9J2wv9Eg==} - engines: {node: '>=8.0'} - - xmlchars@2.2.0: - resolution: {integrity: sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==} - - xxhashjs@0.2.2: - resolution: {integrity: sha512-AkTuIuVTET12tpsVIQo+ZU6f/qDmKuRUcjaqR+OIvm+aCBsZ95i7UVY5WJ9TMsSaZ0DA2WxoZ4acu0sPH+OKAw==} - - y18n@4.0.3: - resolution: {integrity: sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==} - - y18n@5.0.8: - resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==} - engines: {node: '>=10'} - - yallist@3.1.1: - resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==} - - yallist@4.0.0: - resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} - - yaml@2.4.5: - resolution: {integrity: sha512-aBx2bnqDzVOyNKfsysjA2ms5ZlnjSAW2eG3/L5G/CSujfjLJTJsEw1bGw8kCf04KodQWk1pxlGnZ56CRxiawmg==} - engines: {node: '>= 14'} - hasBin: true - - yargs-parser@18.1.3: - resolution: {integrity: sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==} - engines: {node: '>=6'} - - yargs-parser@21.1.1: - resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==} - engines: {node: '>=12'} - - yargs@15.4.1: - resolution: {integrity: sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==} - engines: {node: '>=8'} - - yargs@17.7.2: - resolution: {integrity: sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==} - engines: {node: '>=12'} - - yauzl@2.10.0: - resolution: {integrity: sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==} - - yocto-queue@0.1.0: - resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} - engines: {node: '>=10'} - - yocto-queue@1.0.0: - resolution: {integrity: sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==} - engines: {node: '>=12.20'} - - zwitch@2.0.4: - resolution: {integrity: sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==} - -snapshots: - - '@adobe/jsonschema2md@8.0.2': - dependencies: - '@types/json-schema': 7.0.15 - '@types/mdast': 4.0.4 - es2015-i18n-tag: 1.6.1 - ferrum: 1.9.4 - fs-extra: 11.2.0 - github-slugger: 2.0.0 - js-yaml: 4.1.0 - json-schema: 0.4.0 - mdast-builder: 1.1.1 - mdast-util-to-string: 4.0.0 - readdirp: 3.6.0 - remark-gfm: 4.0.0 - remark-parse: 11.0.0 - remark-stringify: 11.0.0 - unified: 11.0.4 - unist-util-inspect: 8.0.0 - yargs: 17.7.2 - transitivePeerDependencies: - - supports-color - - '@algolia/autocomplete-core@1.9.3(@algolia/client-search@4.23.3)(algoliasearch@4.23.3)(search-insights@2.14.0)': - dependencies: - '@algolia/autocomplete-plugin-algolia-insights': 1.9.3(@algolia/client-search@4.23.3)(algoliasearch@4.23.3)(search-insights@2.14.0) - '@algolia/autocomplete-shared': 1.9.3(@algolia/client-search@4.23.3)(algoliasearch@4.23.3) - transitivePeerDependencies: - - '@algolia/client-search' - - algoliasearch - - search-insights - - '@algolia/autocomplete-plugin-algolia-insights@1.9.3(@algolia/client-search@4.23.3)(algoliasearch@4.23.3)(search-insights@2.14.0)': - dependencies: - '@algolia/autocomplete-shared': 1.9.3(@algolia/client-search@4.23.3)(algoliasearch@4.23.3) - search-insights: 2.14.0 - transitivePeerDependencies: - - '@algolia/client-search' - - algoliasearch - - '@algolia/autocomplete-preset-algolia@1.9.3(@algolia/client-search@4.23.3)(algoliasearch@4.23.3)': - dependencies: - '@algolia/autocomplete-shared': 1.9.3(@algolia/client-search@4.23.3)(algoliasearch@4.23.3) - '@algolia/client-search': 4.23.3 - algoliasearch: 4.23.3 - - '@algolia/autocomplete-shared@1.9.3(@algolia/client-search@4.23.3)(algoliasearch@4.23.3)': - dependencies: - '@algolia/client-search': 4.23.3 - algoliasearch: 4.23.3 - - '@algolia/cache-browser-local-storage@4.23.3': - dependencies: - '@algolia/cache-common': 4.23.3 - - '@algolia/cache-common@4.23.3': {} - - '@algolia/cache-in-memory@4.23.3': - dependencies: - '@algolia/cache-common': 4.23.3 - - '@algolia/client-account@4.23.3': - dependencies: - '@algolia/client-common': 4.23.3 - '@algolia/client-search': 4.23.3 - '@algolia/transporter': 4.23.3 - - '@algolia/client-analytics@4.23.3': - dependencies: - '@algolia/client-common': 4.23.3 - '@algolia/client-search': 4.23.3 - '@algolia/requester-common': 4.23.3 - '@algolia/transporter': 4.23.3 - - '@algolia/client-common@4.23.3': - dependencies: - '@algolia/requester-common': 4.23.3 - '@algolia/transporter': 4.23.3 - - '@algolia/client-personalization@4.23.3': - dependencies: - '@algolia/client-common': 4.23.3 - '@algolia/requester-common': 4.23.3 - '@algolia/transporter': 4.23.3 - - '@algolia/client-search@4.23.3': - dependencies: - '@algolia/client-common': 4.23.3 - '@algolia/requester-common': 4.23.3 - '@algolia/transporter': 4.23.3 - - '@algolia/logger-common@4.23.3': {} - - '@algolia/logger-console@4.23.3': - dependencies: - '@algolia/logger-common': 4.23.3 - - '@algolia/recommend@4.23.3': - dependencies: - '@algolia/cache-browser-local-storage': 4.23.3 - '@algolia/cache-common': 4.23.3 - '@algolia/cache-in-memory': 4.23.3 - '@algolia/client-common': 4.23.3 - '@algolia/client-search': 4.23.3 - '@algolia/logger-common': 4.23.3 - '@algolia/logger-console': 4.23.3 - '@algolia/requester-browser-xhr': 4.23.3 - '@algolia/requester-common': 4.23.3 - '@algolia/requester-node-http': 4.23.3 - '@algolia/transporter': 4.23.3 - - '@algolia/requester-browser-xhr@4.23.3': - dependencies: - '@algolia/requester-common': 4.23.3 - - '@algolia/requester-common@4.23.3': {} - - '@algolia/requester-node-http@4.23.3': - dependencies: - '@algolia/requester-common': 4.23.3 - - '@algolia/transporter@4.23.3': - dependencies: - '@algolia/cache-common': 4.23.3 - '@algolia/logger-common': 4.23.3 - '@algolia/requester-common': 4.23.3 - - '@alloc/quick-lru@5.2.0': {} - - '@ampproject/remapping@2.3.0': - dependencies: - '@jridgewell/gen-mapping': 0.3.5 - '@jridgewell/trace-mapping': 0.3.25 - - '@antfu/install-pkg@0.1.1': - dependencies: - execa: 5.1.1 - find-up: 5.0.0 - - '@antfu/utils@0.7.8': {} - - '@apideck/better-ajv-errors@0.3.6(ajv@8.16.0)': - dependencies: - ajv: 8.16.0 - json-schema: 0.4.0 - jsonpointer: 5.0.1 - leven: 3.1.0 - - '@applitools/core-base@1.15.1': - dependencies: - '@applitools/image': 1.1.12 - '@applitools/logger': 2.0.17 - '@applitools/req': 1.7.1 - '@applitools/utils': 1.7.3 - abort-controller: 3.0.0 - throat: 6.0.2 - transitivePeerDependencies: - - supports-color - - '@applitools/core@4.16.1(encoding@0.1.13)(typescript@5.4.5)': - dependencies: - '@applitools/core-base': 1.15.1 - '@applitools/dom-capture': 11.2.8 - '@applitools/dom-snapshot': 4.11.2 - '@applitools/driver': 1.17.3 - '@applitools/ec-client': 1.8.7(typescript@5.4.5) - '@applitools/logger': 2.0.17 - '@applitools/nml-client': 1.8.6 - '@applitools/req': 1.7.1 - '@applitools/screenshoter': 3.8.32 - '@applitools/snippets': 2.4.26 - '@applitools/socket': 1.1.17 - '@applitools/spec-driver-webdriver': 1.1.8(webdriver@7.31.1(typescript@5.4.5)) - '@applitools/ufg-client': 1.12.1 - '@applitools/utils': 1.7.3 - '@types/ws': 8.5.5 - abort-controller: 3.0.0 - chalk: 4.1.2 - node-fetch: 2.6.7(encoding@0.1.13) - semver: 7.5.4 - webdriver: 7.31.1(typescript@5.4.5) - ws: 8.13.0 - yargs: 17.7.2 - transitivePeerDependencies: - - bufferutil - - encoding - - supports-color - - typescript - - utf-8-validate - - '@applitools/css-tree@1.1.3': - dependencies: - mdn-data: 2.1.0 - source-map-js: 1.0.1 - - '@applitools/dom-capture@11.2.8': - dependencies: - '@applitools/dom-shared': 1.0.14 - '@applitools/functional-commons': 1.6.0 - - '@applitools/dom-shared@1.0.14': {} - - '@applitools/dom-snapshot@4.11.2': - dependencies: - '@applitools/css-tree': 1.1.3 - '@applitools/dom-shared': 1.0.14 - '@applitools/functional-commons': 1.6.0 - pako: 1.0.11 - - '@applitools/driver@1.17.3': - dependencies: - '@applitools/logger': 2.0.17 - '@applitools/snippets': 2.4.26 - '@applitools/utils': 1.7.3 - semver: 7.5.4 - transitivePeerDependencies: - - supports-color - - '@applitools/ec-client@1.8.7(typescript@5.4.5)': - dependencies: - '@applitools/core-base': 1.15.1 - '@applitools/driver': 1.17.3 - '@applitools/logger': 2.0.17 - '@applitools/req': 1.7.1 - '@applitools/socket': 1.1.17 - '@applitools/spec-driver-webdriver': 1.1.8(webdriver@7.31.1(typescript@5.4.5)) - '@applitools/tunnel-client': 1.5.4 - '@applitools/utils': 1.7.3 - abort-controller: 3.0.0 - webdriver: 7.31.1(typescript@5.4.5) - yargs: 17.7.2 - transitivePeerDependencies: - - supports-color - - typescript - - '@applitools/eg-frpc@1.0.5': {} - - '@applitools/eg-socks5-proxy-server@0.5.6': - dependencies: - binary: 0.3.0 - is-localhost-ip: 2.0.0 - - '@applitools/execution-grid-tunnel@3.0.4': - dependencies: - '@applitools/eg-frpc': 1.0.5 - '@applitools/eg-socks5-proxy-server': 0.5.6 - '@applitools/logger': 1.1.53 - dotenv: 16.4.5 - encoding: 0.1.13 - fastify: 3.29.5 - fastify-plugin: 3.0.1 - find-process: 1.4.7 - ini: 3.0.1 - node-cleanup: 2.1.2 - node-fetch: 2.6.7(encoding@0.1.13) - p-retry: 4.6.2 - teen_process: 1.16.0 - uuid: 9.0.1 - transitivePeerDependencies: - - supports-color - - '@applitools/eyes-cypress@3.44.4(encoding@0.1.13)(typescript@5.4.5)': - dependencies: - '@applitools/core': 4.16.1(encoding@0.1.13)(typescript@5.4.5) - '@applitools/eyes': 1.20.1(encoding@0.1.13)(typescript@5.4.5) - '@applitools/functional-commons': 1.6.0 - '@applitools/logger': 2.0.17 - '@applitools/utils': 1.7.3 - boxen: 5.1.2 - chalk: 3.0.0 - semver: 7.5.4 - uuid: 8.3.2 - ws: 8.5.0 - transitivePeerDependencies: - - bufferutil - - encoding - - supports-color - - typescript - - utf-8-validate - - '@applitools/eyes@1.20.1(encoding@0.1.13)(typescript@5.4.5)': - dependencies: - '@applitools/core': 4.16.1(encoding@0.1.13)(typescript@5.4.5) - '@applitools/logger': 2.0.17 - '@applitools/utils': 1.7.3 - transitivePeerDependencies: - - bufferutil - - encoding - - supports-color - - typescript - - utf-8-validate - - '@applitools/functional-commons@1.6.0': {} - - '@applitools/image@1.1.12': - dependencies: - '@applitools/utils': 1.7.3 - bmpimagejs: 1.0.4 - jpeg-js: 0.4.4 - omggif: 1.0.10 - png-async: 0.9.4 - - '@applitools/logger@1.1.53': - dependencies: - '@applitools/utils': 1.3.36 - chalk: 4.1.2 - debug: 4.3.3 - transitivePeerDependencies: - - supports-color - - '@applitools/logger@2.0.17': - dependencies: - '@applitools/utils': 1.7.3 - chalk: 4.1.2 - debug: 4.3.4 - transitivePeerDependencies: - - supports-color - - '@applitools/nml-client@1.8.6': - dependencies: - '@applitools/logger': 2.0.17 - '@applitools/req': 1.7.1 - '@applitools/utils': 1.7.3 - transitivePeerDependencies: - - supports-color - - '@applitools/req@1.7.1': - dependencies: - '@applitools/utils': 1.7.3 - abort-controller: 3.0.0 - http-proxy-agent: 5.0.0 - https-proxy-agent: 5.0.1 - node-fetch: 3.3.1 - transitivePeerDependencies: - - supports-color - - '@applitools/screenshoter@3.8.32': - dependencies: - '@applitools/image': 1.1.12 - '@applitools/logger': 2.0.17 - '@applitools/snippets': 2.4.26 - '@applitools/utils': 1.7.3 - transitivePeerDependencies: - - supports-color - - '@applitools/snippets@2.4.26': {} - - '@applitools/socket@1.1.17': - dependencies: - '@applitools/logger': 2.0.17 - '@applitools/utils': 1.7.3 - transitivePeerDependencies: - - supports-color - - '@applitools/spec-driver-webdriver@1.1.8(webdriver@7.31.1(typescript@5.4.5))': - dependencies: - '@applitools/driver': 1.17.3 - '@applitools/utils': 1.7.3 - http-proxy-agent: 5.0.0 - https-proxy-agent: 5.0.1 - webdriver: 7.31.1(typescript@5.4.5) - transitivePeerDependencies: - - supports-color - - '@applitools/tunnel-client@1.5.4': - dependencies: - '@applitools/execution-grid-tunnel': 3.0.4 - '@applitools/logger': 2.0.17 - '@applitools/req': 1.7.1 - '@applitools/socket': 1.1.17 - '@applitools/utils': 1.7.3 - abort-controller: 3.0.0 - yargs: 17.7.2 - transitivePeerDependencies: - - supports-color - - '@applitools/ufg-client@1.12.1': - dependencies: - '@applitools/css-tree': 1.1.3 - '@applitools/image': 1.1.12 - '@applitools/logger': 2.0.17 - '@applitools/req': 1.7.1 - '@applitools/utils': 1.7.3 - '@xmldom/xmldom': 0.8.10 - abort-controller: 3.0.0 - throat: 6.0.2 - transitivePeerDependencies: - - supports-color - - '@applitools/utils@1.3.36': {} - - '@applitools/utils@1.7.3': {} - - '@babel/code-frame@7.24.7': - dependencies: - '@babel/highlight': 7.24.7 - picocolors: 1.0.1 - - '@babel/compat-data@7.24.7': {} - - '@babel/core@7.24.7': - dependencies: - '@ampproject/remapping': 2.3.0 - '@babel/code-frame': 7.24.7 - '@babel/generator': 7.24.7 - '@babel/helper-compilation-targets': 7.24.7 - '@babel/helper-module-transforms': 7.24.7(@babel/core@7.24.7) - '@babel/helpers': 7.24.7 - '@babel/parser': 7.24.7 - '@babel/template': 7.24.7 - '@babel/traverse': 7.24.7 - '@babel/types': 7.24.7 - convert-source-map: 2.0.0 - debug: 4.3.5(supports-color@8.1.1) - gensync: 1.0.0-beta.2 - json5: 2.2.3 - semver: 6.3.1 - transitivePeerDependencies: - - supports-color - - '@babel/generator@7.24.7': - dependencies: - '@babel/types': 7.24.7 - '@jridgewell/gen-mapping': 0.3.5 - '@jridgewell/trace-mapping': 0.3.25 - jsesc: 2.5.2 - - '@babel/helper-annotate-as-pure@7.24.7': - dependencies: - '@babel/types': 7.24.7 - - '@babel/helper-builder-binary-assignment-operator-visitor@7.24.7': - dependencies: - '@babel/traverse': 7.24.7 - '@babel/types': 7.24.7 - transitivePeerDependencies: - - supports-color - - '@babel/helper-compilation-targets@7.24.7': - dependencies: - '@babel/compat-data': 7.24.7 - '@babel/helper-validator-option': 7.24.7 - browserslist: 4.23.1 - lru-cache: 5.1.1 - semver: 6.3.1 - - '@babel/helper-create-class-features-plugin@7.24.7(@babel/core@7.24.7)': - dependencies: - '@babel/core': 7.24.7 - '@babel/helper-annotate-as-pure': 7.24.7 - '@babel/helper-environment-visitor': 7.24.7 - '@babel/helper-function-name': 7.24.7 - '@babel/helper-member-expression-to-functions': 7.24.7 - '@babel/helper-optimise-call-expression': 7.24.7 - '@babel/helper-replace-supers': 7.24.7(@babel/core@7.24.7) - '@babel/helper-skip-transparent-expression-wrappers': 7.24.7 - '@babel/helper-split-export-declaration': 7.24.7 - semver: 6.3.1 - transitivePeerDependencies: - - supports-color - - '@babel/helper-create-regexp-features-plugin@7.24.7(@babel/core@7.24.7)': - dependencies: - '@babel/core': 7.24.7 - '@babel/helper-annotate-as-pure': 7.24.7 - regexpu-core: 5.3.2 - semver: 6.3.1 - - '@babel/helper-define-polyfill-provider@0.6.2(@babel/core@7.24.7)': - dependencies: - '@babel/core': 7.24.7 - '@babel/helper-compilation-targets': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 - debug: 4.3.5(supports-color@8.1.1) - lodash.debounce: 4.0.8 - resolve: 1.22.8 - transitivePeerDependencies: - - supports-color - - '@babel/helper-environment-visitor@7.24.7': - dependencies: - '@babel/types': 7.24.7 - - '@babel/helper-function-name@7.24.7': - dependencies: - '@babel/template': 7.24.7 - '@babel/types': 7.24.7 - - '@babel/helper-hoist-variables@7.24.7': - dependencies: - '@babel/types': 7.24.7 - - '@babel/helper-member-expression-to-functions@7.24.7': - dependencies: - '@babel/traverse': 7.24.7 - '@babel/types': 7.24.7 - transitivePeerDependencies: - - supports-color - - '@babel/helper-module-imports@7.24.7': - dependencies: - '@babel/traverse': 7.24.7 - '@babel/types': 7.24.7 - transitivePeerDependencies: - - supports-color - - '@babel/helper-module-transforms@7.24.7(@babel/core@7.24.7)': - dependencies: - '@babel/core': 7.24.7 - '@babel/helper-environment-visitor': 7.24.7 - '@babel/helper-module-imports': 7.24.7 - '@babel/helper-simple-access': 7.24.7 - '@babel/helper-split-export-declaration': 7.24.7 - '@babel/helper-validator-identifier': 7.24.7 - transitivePeerDependencies: - - supports-color - - '@babel/helper-optimise-call-expression@7.24.7': - dependencies: - '@babel/types': 7.24.7 - - '@babel/helper-plugin-utils@7.24.7': {} - - '@babel/helper-remap-async-to-generator@7.24.7(@babel/core@7.24.7)': - dependencies: - '@babel/core': 7.24.7 - '@babel/helper-annotate-as-pure': 7.24.7 - '@babel/helper-environment-visitor': 7.24.7 - '@babel/helper-wrap-function': 7.24.7 - transitivePeerDependencies: - - supports-color - - '@babel/helper-replace-supers@7.24.7(@babel/core@7.24.7)': - dependencies: - '@babel/core': 7.24.7 - '@babel/helper-environment-visitor': 7.24.7 - '@babel/helper-member-expression-to-functions': 7.24.7 - '@babel/helper-optimise-call-expression': 7.24.7 - transitivePeerDependencies: - - supports-color - - '@babel/helper-simple-access@7.24.7': - dependencies: - '@babel/traverse': 7.24.7 - '@babel/types': 7.24.7 - transitivePeerDependencies: - - supports-color - - '@babel/helper-skip-transparent-expression-wrappers@7.24.7': - dependencies: - '@babel/traverse': 7.24.7 - '@babel/types': 7.24.7 - transitivePeerDependencies: - - supports-color - - '@babel/helper-split-export-declaration@7.24.7': - dependencies: - '@babel/types': 7.24.7 - - '@babel/helper-string-parser@7.24.7': {} - - '@babel/helper-validator-identifier@7.24.7': {} - - '@babel/helper-validator-option@7.24.7': {} - - '@babel/helper-wrap-function@7.24.7': - dependencies: - '@babel/helper-function-name': 7.24.7 - '@babel/template': 7.24.7 - '@babel/traverse': 7.24.7 - '@babel/types': 7.24.7 - transitivePeerDependencies: - - supports-color - - '@babel/helpers@7.24.7': - dependencies: - '@babel/template': 7.24.7 - '@babel/types': 7.24.7 - - '@babel/highlight@7.24.7': - dependencies: - '@babel/helper-validator-identifier': 7.24.7 - chalk: 2.4.2 - js-tokens: 4.0.0 - picocolors: 1.0.1 - - '@babel/parser@7.24.7': - dependencies: - '@babel/types': 7.24.7 - - '@babel/plugin-bugfix-firefox-class-in-computed-class-key@7.24.7(@babel/core@7.24.7)': - dependencies: - '@babel/core': 7.24.7 - '@babel/helper-environment-visitor': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 - - '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.24.7(@babel/core@7.24.7)': - dependencies: - '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 - - '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.24.7(@babel/core@7.24.7)': - dependencies: - '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 - '@babel/helper-skip-transparent-expression-wrappers': 7.24.7 - '@babel/plugin-transform-optional-chaining': 7.24.7(@babel/core@7.24.7) - transitivePeerDependencies: - - supports-color - - '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.24.7(@babel/core@7.24.7)': - dependencies: - '@babel/core': 7.24.7 - '@babel/helper-environment-visitor': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 - - '@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2(@babel/core@7.24.7)': - dependencies: - '@babel/core': 7.24.7 - - '@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.24.7)': - dependencies: - '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 - - '@babel/plugin-syntax-bigint@7.8.3(@babel/core@7.24.7)': - dependencies: - '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 - - '@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.24.7)': - dependencies: - '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 - - '@babel/plugin-syntax-class-static-block@7.14.5(@babel/core@7.24.7)': - dependencies: - '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 - - '@babel/plugin-syntax-dynamic-import@7.8.3(@babel/core@7.24.7)': - dependencies: - '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 - - '@babel/plugin-syntax-export-namespace-from@7.8.3(@babel/core@7.24.7)': - dependencies: - '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 - - '@babel/plugin-syntax-import-assertions@7.24.7(@babel/core@7.24.7)': - dependencies: - '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 - - '@babel/plugin-syntax-import-attributes@7.24.7(@babel/core@7.24.7)': - dependencies: - '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 - - '@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.24.7)': - dependencies: - '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 - - '@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.24.7)': - dependencies: - '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 - - '@babel/plugin-syntax-jsx@7.24.7(@babel/core@7.24.7)': - dependencies: - '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 - - '@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.24.7)': - dependencies: - '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 - - '@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.24.7)': - dependencies: - '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 - - '@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.24.7)': - dependencies: - '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 - - '@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.24.7)': - dependencies: - '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 - - '@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.24.7)': - dependencies: - '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 - - '@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.24.7)': - dependencies: - '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 - - '@babel/plugin-syntax-private-property-in-object@7.14.5(@babel/core@7.24.7)': - dependencies: - '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 - - '@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.24.7)': - dependencies: - '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 - - '@babel/plugin-syntax-typescript@7.24.7(@babel/core@7.24.7)': - dependencies: - '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 - - '@babel/plugin-syntax-unicode-sets-regex@7.18.6(@babel/core@7.24.7)': - dependencies: - '@babel/core': 7.24.7 - '@babel/helper-create-regexp-features-plugin': 7.24.7(@babel/core@7.24.7) - '@babel/helper-plugin-utils': 7.24.7 - - '@babel/plugin-transform-arrow-functions@7.24.7(@babel/core@7.24.7)': - dependencies: - '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 - - '@babel/plugin-transform-async-generator-functions@7.24.7(@babel/core@7.24.7)': - dependencies: - '@babel/core': 7.24.7 - '@babel/helper-environment-visitor': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 - '@babel/helper-remap-async-to-generator': 7.24.7(@babel/core@7.24.7) - '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.24.7) - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-async-to-generator@7.24.7(@babel/core@7.24.7)': - dependencies: - '@babel/core': 7.24.7 - '@babel/helper-module-imports': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 - '@babel/helper-remap-async-to-generator': 7.24.7(@babel/core@7.24.7) - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-block-scoped-functions@7.24.7(@babel/core@7.24.7)': - dependencies: - '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 - - '@babel/plugin-transform-block-scoping@7.24.7(@babel/core@7.24.7)': - dependencies: - '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 - - '@babel/plugin-transform-class-properties@7.24.7(@babel/core@7.24.7)': - dependencies: - '@babel/core': 7.24.7 - '@babel/helper-create-class-features-plugin': 7.24.7(@babel/core@7.24.7) - '@babel/helper-plugin-utils': 7.24.7 - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-class-static-block@7.24.7(@babel/core@7.24.7)': - dependencies: - '@babel/core': 7.24.7 - '@babel/helper-create-class-features-plugin': 7.24.7(@babel/core@7.24.7) - '@babel/helper-plugin-utils': 7.24.7 - '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.24.7) - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-classes@7.24.7(@babel/core@7.24.7)': - dependencies: - '@babel/core': 7.24.7 - '@babel/helper-annotate-as-pure': 7.24.7 - '@babel/helper-compilation-targets': 7.24.7 - '@babel/helper-environment-visitor': 7.24.7 - '@babel/helper-function-name': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 - '@babel/helper-replace-supers': 7.24.7(@babel/core@7.24.7) - '@babel/helper-split-export-declaration': 7.24.7 - globals: 11.12.0 - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-computed-properties@7.24.7(@babel/core@7.24.7)': - dependencies: - '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 - '@babel/template': 7.24.7 - - '@babel/plugin-transform-destructuring@7.24.7(@babel/core@7.24.7)': - dependencies: - '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 - - '@babel/plugin-transform-dotall-regex@7.24.7(@babel/core@7.24.7)': - dependencies: - '@babel/core': 7.24.7 - '@babel/helper-create-regexp-features-plugin': 7.24.7(@babel/core@7.24.7) - '@babel/helper-plugin-utils': 7.24.7 - - '@babel/plugin-transform-duplicate-keys@7.24.7(@babel/core@7.24.7)': - dependencies: - '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 - - '@babel/plugin-transform-dynamic-import@7.24.7(@babel/core@7.24.7)': - dependencies: - '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 - '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.24.7) - - '@babel/plugin-transform-exponentiation-operator@7.24.7(@babel/core@7.24.7)': - dependencies: - '@babel/core': 7.24.7 - '@babel/helper-builder-binary-assignment-operator-visitor': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-export-namespace-from@7.24.7(@babel/core@7.24.7)': - dependencies: - '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 - '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.24.7) - - '@babel/plugin-transform-for-of@7.24.7(@babel/core@7.24.7)': - dependencies: - '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 - '@babel/helper-skip-transparent-expression-wrappers': 7.24.7 - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-function-name@7.24.7(@babel/core@7.24.7)': - dependencies: - '@babel/core': 7.24.7 - '@babel/helper-compilation-targets': 7.24.7 - '@babel/helper-function-name': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 - - '@babel/plugin-transform-json-strings@7.24.7(@babel/core@7.24.7)': - dependencies: - '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 - '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.24.7) - - '@babel/plugin-transform-literals@7.24.7(@babel/core@7.24.7)': - dependencies: - '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 - - '@babel/plugin-transform-logical-assignment-operators@7.24.7(@babel/core@7.24.7)': - dependencies: - '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 - '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.24.7) - - '@babel/plugin-transform-member-expression-literals@7.24.7(@babel/core@7.24.7)': - dependencies: - '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 - - '@babel/plugin-transform-modules-amd@7.24.7(@babel/core@7.24.7)': - dependencies: - '@babel/core': 7.24.7 - '@babel/helper-module-transforms': 7.24.7(@babel/core@7.24.7) - '@babel/helper-plugin-utils': 7.24.7 - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-modules-commonjs@7.24.7(@babel/core@7.24.7)': - dependencies: - '@babel/core': 7.24.7 - '@babel/helper-module-transforms': 7.24.7(@babel/core@7.24.7) - '@babel/helper-plugin-utils': 7.24.7 - '@babel/helper-simple-access': 7.24.7 - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-modules-systemjs@7.24.7(@babel/core@7.24.7)': - dependencies: - '@babel/core': 7.24.7 - '@babel/helper-hoist-variables': 7.24.7 - '@babel/helper-module-transforms': 7.24.7(@babel/core@7.24.7) - '@babel/helper-plugin-utils': 7.24.7 - '@babel/helper-validator-identifier': 7.24.7 - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-modules-umd@7.24.7(@babel/core@7.24.7)': - dependencies: - '@babel/core': 7.24.7 - '@babel/helper-module-transforms': 7.24.7(@babel/core@7.24.7) - '@babel/helper-plugin-utils': 7.24.7 - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-named-capturing-groups-regex@7.24.7(@babel/core@7.24.7)': - dependencies: - '@babel/core': 7.24.7 - '@babel/helper-create-regexp-features-plugin': 7.24.7(@babel/core@7.24.7) - '@babel/helper-plugin-utils': 7.24.7 - - '@babel/plugin-transform-new-target@7.24.7(@babel/core@7.24.7)': - dependencies: - '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 - - '@babel/plugin-transform-nullish-coalescing-operator@7.24.7(@babel/core@7.24.7)': - dependencies: - '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 - '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.24.7) - - '@babel/plugin-transform-numeric-separator@7.24.7(@babel/core@7.24.7)': - dependencies: - '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 - '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.24.7) - - '@babel/plugin-transform-object-rest-spread@7.24.7(@babel/core@7.24.7)': - dependencies: - '@babel/core': 7.24.7 - '@babel/helper-compilation-targets': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 - '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.24.7) - '@babel/plugin-transform-parameters': 7.24.7(@babel/core@7.24.7) - - '@babel/plugin-transform-object-super@7.24.7(@babel/core@7.24.7)': - dependencies: - '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 - '@babel/helper-replace-supers': 7.24.7(@babel/core@7.24.7) - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-optional-catch-binding@7.24.7(@babel/core@7.24.7)': - dependencies: - '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 - '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.24.7) - - '@babel/plugin-transform-optional-chaining@7.24.7(@babel/core@7.24.7)': - dependencies: - '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 - '@babel/helper-skip-transparent-expression-wrappers': 7.24.7 - '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.24.7) - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-parameters@7.24.7(@babel/core@7.24.7)': - dependencies: - '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 - - '@babel/plugin-transform-private-methods@7.24.7(@babel/core@7.24.7)': - dependencies: - '@babel/core': 7.24.7 - '@babel/helper-create-class-features-plugin': 7.24.7(@babel/core@7.24.7) - '@babel/helper-plugin-utils': 7.24.7 - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-private-property-in-object@7.24.7(@babel/core@7.24.7)': - dependencies: - '@babel/core': 7.24.7 - '@babel/helper-annotate-as-pure': 7.24.7 - '@babel/helper-create-class-features-plugin': 7.24.7(@babel/core@7.24.7) - '@babel/helper-plugin-utils': 7.24.7 - '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.24.7) - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-property-literals@7.24.7(@babel/core@7.24.7)': - dependencies: - '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 - - '@babel/plugin-transform-regenerator@7.24.7(@babel/core@7.24.7)': - dependencies: - '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 - regenerator-transform: 0.15.2 - - '@babel/plugin-transform-reserved-words@7.24.7(@babel/core@7.24.7)': - dependencies: - '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 - - '@babel/plugin-transform-shorthand-properties@7.24.7(@babel/core@7.24.7)': - dependencies: - '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 - - '@babel/plugin-transform-spread@7.24.7(@babel/core@7.24.7)': - dependencies: - '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 - '@babel/helper-skip-transparent-expression-wrappers': 7.24.7 - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-sticky-regex@7.24.7(@babel/core@7.24.7)': - dependencies: - '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 - - '@babel/plugin-transform-template-literals@7.24.7(@babel/core@7.24.7)': - dependencies: - '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 - - '@babel/plugin-transform-typeof-symbol@7.24.7(@babel/core@7.24.7)': - dependencies: - '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 - - '@babel/plugin-transform-typescript@7.24.7(@babel/core@7.24.7)': - dependencies: - '@babel/core': 7.24.7 - '@babel/helper-annotate-as-pure': 7.24.7 - '@babel/helper-create-class-features-plugin': 7.24.7(@babel/core@7.24.7) - '@babel/helper-plugin-utils': 7.24.7 - '@babel/plugin-syntax-typescript': 7.24.7(@babel/core@7.24.7) - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-unicode-escapes@7.24.7(@babel/core@7.24.7)': - dependencies: - '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 - - '@babel/plugin-transform-unicode-property-regex@7.24.7(@babel/core@7.24.7)': - dependencies: - '@babel/core': 7.24.7 - '@babel/helper-create-regexp-features-plugin': 7.24.7(@babel/core@7.24.7) - '@babel/helper-plugin-utils': 7.24.7 - - '@babel/plugin-transform-unicode-regex@7.24.7(@babel/core@7.24.7)': - dependencies: - '@babel/core': 7.24.7 - '@babel/helper-create-regexp-features-plugin': 7.24.7(@babel/core@7.24.7) - '@babel/helper-plugin-utils': 7.24.7 - - '@babel/plugin-transform-unicode-sets-regex@7.24.7(@babel/core@7.24.7)': - dependencies: - '@babel/core': 7.24.7 - '@babel/helper-create-regexp-features-plugin': 7.24.7(@babel/core@7.24.7) - '@babel/helper-plugin-utils': 7.24.7 - - '@babel/preset-env@7.24.7(@babel/core@7.24.7)': dependencies: '@babel/compat-data': 7.24.7 '@babel/core': 7.24.7 @@ -9693,15 +2305,24 @@ snapshots: semver: 6.3.1 transitivePeerDependencies: - supports-color + dev: true - '@babel/preset-modules@0.1.6-no-external-plugins(@babel/core@7.24.7)': + /@babel/preset-modules@0.1.6-no-external-plugins(@babel/core@7.24.7): + resolution: {integrity: sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA==} + peerDependencies: + '@babel/core': ^7.0.0-0 || ^8.0.0-0 <8.0.0 dependencies: '@babel/core': 7.24.7 '@babel/helper-plugin-utils': 7.24.7 '@babel/types': 7.24.7 esutils: 2.0.3 + dev: true - '@babel/preset-typescript@7.24.7(@babel/core@7.24.7)': + /@babel/preset-typescript@7.24.7(@babel/core@7.24.7): + resolution: {integrity: sha512-SyXRe3OdWwIwalxDg5UtJnJQO+YPcTfwiIY2B0Xlddh9o7jpWLvv8X1RthIeDOxQ+O1ML5BLPCONToObyVQVuQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.24.7 '@babel/helper-plugin-utils': 7.24.7 @@ -9711,20 +2332,31 @@ snapshots: '@babel/plugin-transform-typescript': 7.24.7(@babel/core@7.24.7) transitivePeerDependencies: - supports-color + dev: true - '@babel/regjsgen@0.8.0': {} + /@babel/regjsgen@0.8.0: + resolution: {integrity: sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA==} + dev: true - '@babel/runtime@7.24.7': + /@babel/runtime@7.24.7: + resolution: {integrity: sha512-UwgBRMjJP+xv857DCngvqXI3Iq6J4v0wXmwc6sapg+zyhbwmQX67LUEFrkK5tbyJ30jGuG3ZvWpBiB9LCy1kWw==} + engines: {node: '>=6.9.0'} dependencies: regenerator-runtime: 0.14.1 + dev: true - '@babel/template@7.24.7': + /@babel/template@7.24.7: + resolution: {integrity: sha512-jYqfPrU9JTF0PmPy1tLYHW4Mp4KlgxJD9l2nP9fD6yT/ICi554DmrWBAEYpIelzjHf1msDP3PxJIRt/nFNfBig==} + engines: {node: '>=6.9.0'} dependencies: '@babel/code-frame': 7.24.7 '@babel/parser': 7.24.7 '@babel/types': 7.24.7 + dev: true - '@babel/traverse@7.24.7': + /@babel/traverse@7.24.7: + resolution: {integrity: sha512-yb65Ed5S/QAcewNPh0nZczy9JdYXkkAbIsEo+P7BE7yO3txAY30Y/oPa3QkQ5It3xVG2kpKMg9MsdxZaO31uKA==} + engines: {node: '>=6.9.0'} dependencies: '@babel/code-frame': 7.24.7 '@babel/generator': 7.24.7 @@ -9738,45 +2370,66 @@ snapshots: globals: 11.12.0 transitivePeerDependencies: - supports-color + dev: true - '@babel/types@7.24.7': + /@babel/types@7.24.7: + resolution: {integrity: sha512-XEFXSlxiG5td2EJRe8vOmRbaXVgfcBlszKujvVmWIK/UpywWljQCfzAv3RQCGujWQ1RD4YYWEAqDXfuJiy8f5Q==} + engines: {node: '>=6.9.0'} dependencies: '@babel/helper-string-parser': 7.24.7 '@babel/helper-validator-identifier': 7.24.7 to-fast-properties: 2.0.0 - '@bcherny/json-schema-ref-parser@10.0.5-fork': + /@bcherny/json-schema-ref-parser@10.0.5-fork: + resolution: {integrity: sha512-E/jKbPoca1tfUPj3iSbitDZTGnq6FUFjkH6L8U2oDwSuwK1WhnnVtCG7oFOTg/DDnyoXbQYUiUiGOibHqaGVnw==} + engines: {node: '>= 16'} dependencies: '@jsdevtools/ono': 7.1.3 '@types/json-schema': 7.0.15 call-me-maybe: 1.0.2 js-yaml: 4.1.0 + dev: true - '@bcoe/v8-coverage@0.2.3': {} + /@bcoe/v8-coverage@0.2.3: + resolution: {integrity: sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==} + dev: true - '@braintree/sanitize-url@7.0.2': {} + /@braintree/sanitize-url@7.0.2: + resolution: {integrity: sha512-NVf/1YycDMs6+FxS0Tb/W8MjJRDQdXF+tBfDtZ5UZeiRUkTmwKc4vmYCKZTyymfJk1gnMsauvZSX/HiV9jOABw==} + dev: false - '@chevrotain/cst-dts-gen@11.0.3': + /@chevrotain/cst-dts-gen@11.0.3: + resolution: {integrity: sha512-BvIKpRLeS/8UbfxXxgC33xOumsacaeCKAjAeLyOn7Pcp95HiRbrpl14S+9vaZLolnbssPIUuiUd8IvgkRyt6NQ==} dependencies: '@chevrotain/gast': 11.0.3 '@chevrotain/types': 11.0.3 lodash-es: 4.17.21 - '@chevrotain/gast@11.0.3': + /@chevrotain/gast@11.0.3: + resolution: {integrity: sha512-+qNfcoNk70PyS/uxmj3li5NiECO+2YKZZQMbmjTqRI3Qchu8Hig/Q9vgkHpI3alNjr7M+a2St5pw5w5F6NL5/Q==} dependencies: '@chevrotain/types': 11.0.3 lodash-es: 4.17.21 - '@chevrotain/regexp-to-ast@11.0.3': {} + /@chevrotain/regexp-to-ast@11.0.3: + resolution: {integrity: sha512-1fMHaBZxLFvWI067AVbGJav1eRY7N8DDvYCTwGBiE/ytKBgP8azTdgyrKyWZ9Mfh09eHWb5PgTSO8wi7U824RA==} - '@chevrotain/types@11.0.3': {} + /@chevrotain/types@11.0.3: + resolution: {integrity: sha512-gsiM3G8b58kZC2HaWR50gu6Y1440cHiJ+i3JUvcp/35JchYejb2+5MVeJK0iKThYpAa/P2PYFV4hoi44HD+aHQ==} - '@chevrotain/utils@11.0.3': {} + /@chevrotain/utils@11.0.3: + resolution: {integrity: sha512-YslZMgtJUyuMbZ+aKvfF3x1f5liK4mWNxghFRv7jqRR9C3R3fAOGTTKvxXDa2Y1s9zSbcpuO0cAxDYsc9SrXoQ==} - '@colors/colors@1.5.0': + /@colors/colors@1.5.0: + resolution: {integrity: sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==} + engines: {node: '>=0.1.90'} + requiresBuild: true + dev: true optional: true - '@cspell/cspell-bundled-dicts@8.8.4': + /@cspell/cspell-bundled-dicts@8.8.4: + resolution: {integrity: sha512-k9ZMO2kayQFXB3B45b1xXze3MceAMNy9U+D7NTnWB1i3S0y8LhN53U9JWWgqHGPQaHaLHzizL7/w1aGHTA149Q==} + engines: {node: '>=18'} dependencies: '@cspell/dict-ada': 4.0.2 '@cspell/dict-aws': 4.0.2 @@ -9830,149 +2483,289 @@ snapshots: '@cspell/dict-terraform': 1.0.0 '@cspell/dict-typescript': 3.1.5 '@cspell/dict-vue': 3.0.0 + dev: true - '@cspell/cspell-json-reporter@8.8.4': + /@cspell/cspell-json-reporter@8.8.4: + resolution: {integrity: sha512-ITpOeNyDHD+4B9QmLJx6YYtrB1saRsrCLluZ34YaICemNLuumVRP1vSjcdoBtefvGugCOn5nPK7igw0r/vdAvA==} + engines: {node: '>=18'} dependencies: '@cspell/cspell-types': 8.8.4 + dev: true - '@cspell/cspell-pipe@8.8.4': {} + /@cspell/cspell-pipe@8.8.4: + resolution: {integrity: sha512-Uis9iIEcv1zOogXiDVSegm9nzo5NRmsRDsW8CteLRg6PhyZ0nnCY1PZIUy3SbGF0vIcb/M+XsdLSh2wOPqTXww==} + engines: {node: '>=18'} + dev: true - '@cspell/cspell-resolver@8.8.4': + /@cspell/cspell-resolver@8.8.4: + resolution: {integrity: sha512-eZVw31nSeh6xKl7TzzkZVMTX/mgwhUw40/q1Sqo7CTPurIBg66oelEqKRclX898jzd2/qSK+ZFwBDxvV7QH38A==} + engines: {node: '>=18'} dependencies: global-directory: 4.0.1 + dev: true - '@cspell/cspell-service-bus@8.8.4': {} + /@cspell/cspell-service-bus@8.8.4: + resolution: {integrity: sha512-KtwJ38uPLrm2Q8osmMIAl2NToA/CMyZCxck4msQJnskdo30IPSdA1Rh0w6zXinmh1eVe0zNEVCeJ2+x23HqW+g==} + engines: {node: '>=18'} + dev: true - '@cspell/cspell-types@8.8.4': {} + /@cspell/cspell-types@8.8.4: + resolution: {integrity: sha512-ya9Jl4+lghx2eUuZNY6pcbbrnResgEAomvglhdbEGqy+B5MPEqY5Jt45APEmGqHzTNks7oFFaiTIbXYJAFBR7A==} + engines: {node: '>=18'} + dev: true - '@cspell/dict-ada@4.0.2': {} + /@cspell/dict-ada@4.0.2: + resolution: {integrity: sha512-0kENOWQeHjUlfyId/aCM/mKXtkEgV0Zu2RhUXCBr4hHo9F9vph+Uu8Ww2b0i5a4ZixoIkudGA+eJvyxrG1jUpA==} + dev: true - '@cspell/dict-aws@4.0.2': {} + /@cspell/dict-aws@4.0.2: + resolution: {integrity: sha512-aNGHWSV7dRLTIn8WJemzLoMF62qOaiUQlgnsCwH5fRCD/00gsWCwg106pnbkmK4AyabyxzneOV4dfecDJWkSxw==} + dev: true - '@cspell/dict-bash@4.1.3': {} + /@cspell/dict-bash@4.1.3: + resolution: {integrity: sha512-tOdI3QVJDbQSwPjUkOiQFhYcu2eedmX/PtEpVWg0aFps/r6AyjUQINtTgpqMYnYuq8O1QUIQqnpx21aovcgZCw==} + dev: true - '@cspell/dict-companies@3.1.2': {} + /@cspell/dict-companies@3.1.2: + resolution: {integrity: sha512-OwR5i1xbYuJX7FtHQySmTy3iJtPV1rZQ3jFCxFGwrA1xRQ4rtRcDQ+sTXBCIAoJHkXa84f9J3zsngOKmMGyS/w==} + dev: true - '@cspell/dict-cpp@5.1.9': {} + /@cspell/dict-cpp@5.1.9: + resolution: {integrity: sha512-lZmPKn3qfkWQ7tr+yw6JhuhscsyRgRHEOpOd0fhtPt0N154FNsGebGGLW0SOZUuGgW7Nk3lCCwHP85GIemnlqQ==} + dev: true - '@cspell/dict-cryptocurrencies@5.0.0': {} + /@cspell/dict-cryptocurrencies@5.0.0: + resolution: {integrity: sha512-Z4ARIw5+bvmShL+4ZrhDzGhnc9znaAGHOEMaB/GURdS/jdoreEDY34wdN0NtdLHDO5KO7GduZnZyqGdRoiSmYA==} + dev: true - '@cspell/dict-csharp@4.0.2': {} + /@cspell/dict-csharp@4.0.2: + resolution: {integrity: sha512-1JMofhLK+4p4KairF75D3A924m5ERMgd1GvzhwK2geuYgd2ZKuGW72gvXpIV7aGf52E3Uu1kDXxxGAiZ5uVG7g==} + dev: true - '@cspell/dict-css@4.0.12': {} + /@cspell/dict-css@4.0.12: + resolution: {integrity: sha512-vGBgPM92MkHQF5/2jsWcnaahOZ+C6OE/fPvd5ScBP72oFY9tn5GLuomcyO0z8vWCr2e0nUSX1OGimPtcQAlvSw==} + dev: true - '@cspell/dict-dart@2.0.3': {} + /@cspell/dict-dart@2.0.3: + resolution: {integrity: sha512-cLkwo1KT5CJY5N5RJVHks2genFkNCl/WLfj+0fFjqNR+tk3tBI1LY7ldr9piCtSFSm4x9pO1x6IV3kRUY1lLiw==} + dev: true - '@cspell/dict-data-science@2.0.1': {} + /@cspell/dict-data-science@2.0.1: + resolution: {integrity: sha512-xeutkzK0eBe+LFXOFU2kJeAYO6IuFUc1g7iRLr7HeCmlC4rsdGclwGHh61KmttL3+YHQytYStxaRBdGAXWC8Lw==} + dev: true - '@cspell/dict-django@4.1.0': {} + /@cspell/dict-django@4.1.0: + resolution: {integrity: sha512-bKJ4gPyrf+1c78Z0Oc4trEB9MuhcB+Yg+uTTWsvhY6O2ncFYbB/LbEZfqhfmmuK/XJJixXfI1laF2zicyf+l0w==} + dev: true - '@cspell/dict-docker@1.1.7': {} + /@cspell/dict-docker@1.1.7: + resolution: {integrity: sha512-XlXHAr822euV36GGsl2J1CkBIVg3fZ6879ZOg5dxTIssuhUOCiV2BuzKZmt6aIFmcdPmR14+9i9Xq+3zuxeX0A==} + dev: true - '@cspell/dict-dotnet@5.0.2': {} + /@cspell/dict-dotnet@5.0.2: + resolution: {integrity: sha512-UD/pO2A2zia/YZJ8Kck/F6YyDSpCMq0YvItpd4YbtDVzPREfTZ48FjZsbYi4Jhzwfvc6o8R56JusAE58P+4sNQ==} + dev: true - '@cspell/dict-elixir@4.0.3': {} + /@cspell/dict-elixir@4.0.3: + resolution: {integrity: sha512-g+uKLWvOp9IEZvrIvBPTr/oaO6619uH/wyqypqvwpmnmpjcfi8+/hqZH8YNKt15oviK8k4CkINIqNhyndG9d9Q==} + dev: true - '@cspell/dict-en-common-misspellings@2.0.1': {} + /@cspell/dict-en-common-misspellings@2.0.1: + resolution: {integrity: sha512-uWaP8UG4uvcPyqaG0FzPKCm5kfmhsiiQ45Fs6b3/AEAqfq7Fj1JW0+S3qRt85FQA9SoU6gUJCz9wkK/Ylh7m5A==} + dev: true - '@cspell/dict-en-gb@1.1.33': {} + /@cspell/dict-en-gb@1.1.33: + resolution: {integrity: sha512-tKSSUf9BJEV+GJQAYGw5e+ouhEe2ZXE620S7BLKe3ZmpnjlNG9JqlnaBhkIMxKnNFkLY2BP/EARzw31AZnOv4g==} + dev: true - '@cspell/dict-en_us@4.3.21': {} + /@cspell/dict-en_us@4.3.21: + resolution: {integrity: sha512-Bzoo2aS4Pej/MGIFlATpp0wMt9IzVHrhDjdV7FgkAIXbjrOn67ojbTxCgWs8AuCNVfK8lBYGEvs5+ElH1msF8w==} + dev: true - '@cspell/dict-filetypes@3.0.4': {} + /@cspell/dict-filetypes@3.0.4: + resolution: {integrity: sha512-IBi8eIVdykoGgIv5wQhOURi5lmCNJq0we6DvqKoPQJHthXbgsuO1qrHSiUVydMiQl/XvcnUWTMeAlVUlUClnVg==} + dev: true - '@cspell/dict-fonts@4.0.0': {} + /@cspell/dict-fonts@4.0.0: + resolution: {integrity: sha512-t9V4GeN/m517UZn63kZPUYP3OQg5f0OBLSd3Md5CU3eH1IFogSvTzHHnz4Wqqbv8NNRiBZ3HfdY/pqREZ6br3Q==} + dev: true - '@cspell/dict-fsharp@1.0.1': {} + /@cspell/dict-fsharp@1.0.1: + resolution: {integrity: sha512-23xyPcD+j+NnqOjRHgW3IU7Li912SX9wmeefcY0QxukbAxJ/vAN4rBpjSwwYZeQPAn3fxdfdNZs03fg+UM+4yQ==} + dev: true - '@cspell/dict-fullstack@3.1.8': {} + /@cspell/dict-fullstack@3.1.8: + resolution: {integrity: sha512-YRlZupL7uqMCtEBK0bDP9BrcPnjDhz7m4GBqCc1EYqfXauHbLmDT8ELha7T/E7wsFKniHSjzwDZzhNXo2lusRQ==} + dev: true - '@cspell/dict-gaming-terms@1.0.5': {} + /@cspell/dict-gaming-terms@1.0.5: + resolution: {integrity: sha512-C3riccZDD3d9caJQQs1+MPfrUrQ+0KHdlj9iUR1QD92FgTOF6UxoBpvHUUZ9YSezslcmpFQK4xQQ5FUGS7uWfw==} + dev: true - '@cspell/dict-git@3.0.0': {} + /@cspell/dict-git@3.0.0: + resolution: {integrity: sha512-simGS/lIiXbEaqJu9E2VPoYW1OTC2xrwPPXNXFMa2uo/50av56qOuaxDrZ5eH1LidFXwoc8HROCHYeKoNrDLSw==} + dev: true - '@cspell/dict-golang@6.0.9': {} + /@cspell/dict-golang@6.0.9: + resolution: {integrity: sha512-etDt2WQauyEQDA+qPS5QtkYTb2I9l5IfQftAllVoB1aOrT6bxxpHvMEpJ0Hsn/vezxrCqa/BmtUbRxllIxIuSg==} + dev: true - '@cspell/dict-google@1.0.1': {} + /@cspell/dict-google@1.0.1: + resolution: {integrity: sha512-dQr4M3n95uOhtloNSgB9tYYGXGGEGEykkFyRtfcp5pFuEecYUa0BSgtlGKx9RXVtJtKgR+yFT/a5uQSlt8WjqQ==} + dev: true - '@cspell/dict-haskell@4.0.1': {} + /@cspell/dict-haskell@4.0.1: + resolution: {integrity: sha512-uRrl65mGrOmwT7NxspB4xKXFUenNC7IikmpRZW8Uzqbqcu7ZRCUfstuVH7T1rmjRgRkjcIjE4PC11luDou4wEQ==} + dev: true - '@cspell/dict-html-symbol-entities@4.0.0': {} + /@cspell/dict-html-symbol-entities@4.0.0: + resolution: {integrity: sha512-HGRu+48ErJjoweR5IbcixxETRewrBb0uxQBd6xFGcxbEYCX8CnQFTAmKI5xNaIt2PKaZiJH3ijodGSqbKdsxhw==} + dev: true - '@cspell/dict-html@4.0.5': {} + /@cspell/dict-html@4.0.5: + resolution: {integrity: sha512-p0brEnRybzSSWi8sGbuVEf7jSTDmXPx7XhQUb5bgG6b54uj+Z0Qf0V2n8b/LWwIPJNd1GygaO9l8k3HTCy1h4w==} + dev: true - '@cspell/dict-java@5.0.7': {} + /@cspell/dict-java@5.0.7: + resolution: {integrity: sha512-ejQ9iJXYIq7R09BScU2y5OUGrSqwcD+J5mHFOKbduuQ5s/Eh/duz45KOzykeMLI6KHPVxhBKpUPBWIsfewECpQ==} + dev: true - '@cspell/dict-julia@1.0.1': {} + /@cspell/dict-julia@1.0.1: + resolution: {integrity: sha512-4JsCLCRhhLMLiaHpmR7zHFjj1qOauzDI5ZzCNQS31TUMfsOo26jAKDfo0jljFAKgw5M2fEG7sKr8IlPpQAYrmQ==} + dev: true - '@cspell/dict-k8s@1.0.5': {} + /@cspell/dict-k8s@1.0.5: + resolution: {integrity: sha512-Cj+/ZV4S+MKlwfocSJZqe/2UAd/sY8YtlZjbK25VN1nCnrsKrBjfkX29vclwSj1U9aJg4Z9jw/uMjoaKu9ZrpQ==} + dev: true - '@cspell/dict-latex@4.0.0': {} + /@cspell/dict-latex@4.0.0: + resolution: {integrity: sha512-LPY4y6D5oI7D3d+5JMJHK/wxYTQa2lJMSNxps2JtuF8hbAnBQb3igoWEjEbIbRRH1XBM0X8dQqemnjQNCiAtxQ==} + dev: true - '@cspell/dict-lorem-ipsum@4.0.0': {} + /@cspell/dict-lorem-ipsum@4.0.0: + resolution: {integrity: sha512-1l3yjfNvMzZPibW8A7mQU4kTozwVZVw0AvFEdy+NcqtbxH+TvbSkNMqROOFWrkD2PjnKG0+Ea0tHI2Pi6Gchnw==} + dev: true - '@cspell/dict-lua@4.0.3': {} + /@cspell/dict-lua@4.0.3: + resolution: {integrity: sha512-lDHKjsrrbqPaea13+G9s0rtXjMO06gPXPYRjRYawbNmo4E/e3XFfVzeci3OQDQNDmf2cPOwt9Ef5lu2lDmwfJg==} + dev: true - '@cspell/dict-makefile@1.0.0': {} + /@cspell/dict-makefile@1.0.0: + resolution: {integrity: sha512-3W9tHPcSbJa6s0bcqWo6VisEDTSN5zOtDbnPabF7rbyjRpNo0uHXHRJQF8gAbFzoTzBBhgkTmrfSiuyQm7vBUQ==} + dev: true - '@cspell/dict-monkeyc@1.0.6': {} + /@cspell/dict-monkeyc@1.0.6: + resolution: {integrity: sha512-oO8ZDu/FtZ55aq9Mb67HtaCnsLn59xvhO/t2mLLTHAp667hJFxpp7bCtr2zOrR1NELzFXmKln/2lw/PvxMSvrA==} + dev: true - '@cspell/dict-node@5.0.1': {} + /@cspell/dict-node@5.0.1: + resolution: {integrity: sha512-lax/jGz9h3Dv83v8LHa5G0bf6wm8YVRMzbjJPG/9rp7cAGPtdrga+XANFq+B7bY5+jiSA3zvj10LUFCFjnnCCg==} + dev: true - '@cspell/dict-npm@5.0.16': {} + /@cspell/dict-npm@5.0.16: + resolution: {integrity: sha512-ZWPnLAziEcSCvV0c8k9Qj88pfMu+wZwM5Qks87ShsfBgI8uLZ9tGHravA7gmjH1Gd7Bgxy2ulvXtSqIWPh1lew==} + dev: true - '@cspell/dict-php@4.0.8': {} + /@cspell/dict-php@4.0.8: + resolution: {integrity: sha512-TBw3won4MCBQ2wdu7kvgOCR3dY2Tb+LJHgDUpuquy3WnzGiSDJ4AVelrZdE1xu7mjFJUr4q48aB21YT5uQqPZA==} + dev: true - '@cspell/dict-powershell@5.0.4': {} + /@cspell/dict-powershell@5.0.4: + resolution: {integrity: sha512-eosDShapDgBWN9ULF7+sRNdUtzRnUdsfEdBSchDm8FZA4HOqxUSZy3b/cX/Rdw0Fnw0AKgk0kzgXw7tS6vwJMQ==} + dev: true - '@cspell/dict-public-licenses@2.0.7': {} + /@cspell/dict-public-licenses@2.0.7: + resolution: {integrity: sha512-KlBXuGcN3LE7tQi/GEqKiDewWGGuopiAD0zRK1QilOx5Co8XAvs044gk4MNIQftc8r0nHeUI+irJKLGcR36DIQ==} + dev: true - '@cspell/dict-python@4.2.1': + /@cspell/dict-python@4.2.1: + resolution: {integrity: sha512-9X2jRgyM0cxBoFQRo4Zc8oacyWnXi+0/bMI5FGibZNZV4y/o9UoFEr6agjU260/cXHTjIdkX233nN7eb7dtyRg==} dependencies: '@cspell/dict-data-science': 2.0.1 + dev: true - '@cspell/dict-r@2.0.1': {} + /@cspell/dict-r@2.0.1: + resolution: {integrity: sha512-KCmKaeYMLm2Ip79mlYPc8p+B2uzwBp4KMkzeLd5E6jUlCL93Y5Nvq68wV5fRLDRTf7N1LvofkVFWfDcednFOgA==} + dev: true - '@cspell/dict-ruby@5.0.2': {} + /@cspell/dict-ruby@5.0.2: + resolution: {integrity: sha512-cIh8KTjpldzFzKGgrqUX4bFyav5lC52hXDKo4LbRuMVncs3zg4hcSf4HtURY+f2AfEZzN6ZKzXafQpThq3dl2g==} + dev: true - '@cspell/dict-rust@4.0.4': {} + /@cspell/dict-rust@4.0.4: + resolution: {integrity: sha512-v9/LcZknt/Xq7m1jdTWiQEtmkVVKdE1etAfGL2sgcWpZYewEa459HeWndNA0gfzQrpWX9sYay18mt7pqClJEdA==} + dev: true - '@cspell/dict-scala@5.0.2': {} + /@cspell/dict-scala@5.0.2: + resolution: {integrity: sha512-v97ClgidZt99JUm7OjhQugDHmhx4U8fcgunHvD/BsXWjXNj4cTr0m0YjofyZoL44WpICsNuFV9F/sv9OM5HUEw==} + dev: true - '@cspell/dict-software-terms@3.4.5': {} + /@cspell/dict-software-terms@3.4.5: + resolution: {integrity: sha512-CAOeZKvvj27bJTNKzPD7jYg/iK4LPwn3NmolAfoFnxtnCBxA6d20Car6IbPx9g4U6Ik3Vnk4CT3ziXeeBDB2Kw==} + dev: true - '@cspell/dict-sql@2.1.3': {} + /@cspell/dict-sql@2.1.3: + resolution: {integrity: sha512-SEyTNKJrjqD6PAzZ9WpdSu6P7wgdNtGV2RV8Kpuw1x6bV+YsSptuClYG+JSdRExBTE6LwIe1bTklejUp3ZP8TQ==} + dev: true - '@cspell/dict-svelte@1.0.2': {} + /@cspell/dict-svelte@1.0.2: + resolution: {integrity: sha512-rPJmnn/GsDs0btNvrRBciOhngKV98yZ9SHmg8qI6HLS8hZKvcXc0LMsf9LLuMK1TmS2+WQFAan6qeqg6bBxL2Q==} + dev: true - '@cspell/dict-swift@2.0.1': {} + /@cspell/dict-swift@2.0.1: + resolution: {integrity: sha512-gxrCMUOndOk7xZFmXNtkCEeroZRnS2VbeaIPiymGRHj5H+qfTAzAKxtv7jJbVA3YYvEzWcVE2oKDP4wcbhIERw==} + dev: true - '@cspell/dict-terraform@1.0.0': {} + /@cspell/dict-terraform@1.0.0: + resolution: {integrity: sha512-Ak+vy4HP/bOgzf06BAMC30+ZvL9mzv21xLM2XtfnBLTDJGdxlk/nK0U6QT8VfFLqJ0ZZSpyOxGsUebWDCTr/zQ==} + dev: true - '@cspell/dict-typescript@3.1.5': {} + /@cspell/dict-typescript@3.1.5: + resolution: {integrity: sha512-EkIwwNV/xqEoBPJml2S16RXj65h1kvly8dfDLgXerrKw6puybZdvAHerAph6/uPTYdtLcsPyJYkPt5ISOJYrtw==} + dev: true - '@cspell/dict-vue@3.0.0': {} + /@cspell/dict-vue@3.0.0: + resolution: {integrity: sha512-niiEMPWPV9IeRBRzZ0TBZmNnkK3olkOPYxC1Ny2AX4TGlYRajcW0WUtoSHmvvjZNfWLSg2L6ruiBeuPSbjnG6A==} + dev: true - '@cspell/dynamic-import@8.8.4': + /@cspell/dynamic-import@8.8.4: + resolution: {integrity: sha512-tseSxrybznkmsmPaAB4aoHB9wr8Q2fOMIy3dm+yQv+U1xj+JHTN9OnUvy9sKiq0p3DQGWm/VylgSgsYaXrEHKQ==} + engines: {node: '>=18.0'} dependencies: import-meta-resolve: 4.1.0 + dev: true - '@cspell/eslint-plugin@8.8.4(eslint@8.57.0)': + /@cspell/eslint-plugin@8.8.4(eslint@8.57.0): + resolution: {integrity: sha512-hZ85qj+ETrckfkJb0RvNZ5iZw5qXbLYhNb71nFPfTVp3/6uBOfx0EfN/ZXbkZg63BLpSx0y2dmb22zgJ2VJMgg==} + engines: {node: '>=18'} + peerDependencies: + eslint: ^7 || ^8 || ^9 dependencies: '@cspell/cspell-types': 8.8.4 cspell-lib: 8.8.4 eslint: 8.57.0 estree-walker: 3.0.3 synckit: 0.9.0 + dev: true - '@cspell/strong-weak-map@8.8.4': {} + /@cspell/strong-weak-map@8.8.4: + resolution: {integrity: sha512-gticEJGR6yyGeLjf+mJ0jZotWYRLVQ+J0v1VpsR1nKnXTRJY15BWXgEA/ifbU/+clpyCek79NiCIXCvmP1WT4A==} + engines: {node: '>=18'} + dev: true - '@cypress/code-coverage@3.12.39(@babel/core@7.24.7)(@babel/preset-env@7.24.7(@babel/core@7.24.7))(babel-loader@9.1.3(@babel/core@7.24.7)(webpack@5.92.0(esbuild@0.20.2)))(cypress@13.11.0)(webpack@5.92.0(esbuild@0.20.2))': + /@cypress/code-coverage@3.12.39(@babel/core@7.24.7)(@babel/preset-env@7.24.7)(babel-loader@9.1.3)(cypress@13.11.0)(webpack@5.92.0): + resolution: {integrity: sha512-ja7I/GRmkSAW9e3O7pideWcNUEHao0WT6sRyXQEURoxkJUASJssJ7Kb/bd3eMYmkUCiD5CRFqWR5BGF4mWVaUw==} + peerDependencies: + '@babel/core': ^7.0.1 + '@babel/preset-env': ^7.0.0 + babel-loader: ^8.3 || ^9 + cypress: '*' + webpack: ^4 || ^5 dependencies: '@babel/core': 7.24.7 '@babel/preset-env': 7.24.7(@babel/core@7.24.7) - '@cypress/webpack-preprocessor': 6.0.2(@babel/core@7.24.7)(@babel/preset-env@7.24.7(@babel/core@7.24.7))(babel-loader@9.1.3(@babel/core@7.24.7)(webpack@5.92.0(esbuild@0.20.2)))(webpack@5.92.0(esbuild@0.20.2)) - babel-loader: 9.1.3(@babel/core@7.24.7)(webpack@5.92.0(esbuild@0.20.2)) + '@cypress/webpack-preprocessor': 6.0.2(@babel/core@7.24.7)(@babel/preset-env@7.24.7)(babel-loader@9.1.3)(webpack@5.92.0) + babel-loader: 9.1.3(@babel/core@7.24.7)(webpack@5.92.0) chalk: 4.1.2 cypress: 13.11.0 dayjs: 1.11.10 @@ -9982,11 +2775,14 @@ snapshots: istanbul-lib-coverage: 3.2.2 js-yaml: 4.1.0 nyc: 15.1.0 - webpack: 5.92.0(esbuild@0.20.2) + webpack: 5.92.0(esbuild@0.20.2)(webpack-cli@4.10.0) transitivePeerDependencies: - supports-color + dev: true - '@cypress/request@3.0.1': + /@cypress/request@3.0.1: + resolution: {integrity: sha512-TWivJlJi8ZDx2wGOw1dbLuHJKUYX7bWySw377nlnGOW3hP9/MUKIsEdXT/YngWxVdgNCHRBmFlBipE+5/2ZZlQ==} + engines: {node: '>= 6'} dependencies: aws-sign2: 0.7.0 aws4: 1.13.0 @@ -10006,31 +2802,47 @@ snapshots: tough-cookie: 4.1.4 tunnel-agent: 0.6.0 uuid: 8.3.2 + dev: true - '@cypress/webpack-preprocessor@6.0.2(@babel/core@7.24.7)(@babel/preset-env@7.24.7(@babel/core@7.24.7))(babel-loader@9.1.3(@babel/core@7.24.7)(webpack@5.92.0(esbuild@0.20.2)))(webpack@5.92.0(esbuild@0.20.2))': + /@cypress/webpack-preprocessor@6.0.2(@babel/core@7.24.7)(@babel/preset-env@7.24.7)(babel-loader@9.1.3)(webpack@5.92.0): + resolution: {integrity: sha512-0+1+4iy4W9PE6R5ywBNKAZoFp8Sf//w3UJ+CKTqkcAjA29b+dtsD0iFT70DsYE0BMqUM1PO7HXFGbXllQ+bRAA==} + peerDependencies: + '@babel/core': ^7.0.1 + '@babel/preset-env': ^7.0.0 + babel-loader: ^8.3 || ^9 + webpack: ^4 || ^5 dependencies: '@babel/core': 7.24.7 '@babel/preset-env': 7.24.7(@babel/core@7.24.7) - babel-loader: 9.1.3(@babel/core@7.24.7)(webpack@5.92.0(esbuild@0.20.2)) + babel-loader: 9.1.3(@babel/core@7.24.7)(webpack@5.92.0) bluebird: 3.7.1 debug: 4.3.4 lodash: 4.17.21 - webpack: 5.92.0(esbuild@0.20.2) + webpack: 5.92.0(esbuild@0.20.2)(webpack-cli@4.10.0) transitivePeerDependencies: - supports-color + dev: true - '@cypress/xvfb@1.2.4(supports-color@8.1.1)': + /@cypress/xvfb@1.2.4(supports-color@8.1.1): + resolution: {integrity: sha512-skbBzPggOVYCbnGgV+0dmBdW/s77ZkAOXIC1knS8NagwDjBrNC1LuXtQJeiN6l+m7lzmHtaoUw/ctJKdqkG57Q==} dependencies: debug: 3.2.7(supports-color@8.1.1) lodash.once: 4.1.1 transitivePeerDependencies: - supports-color + dev: true - '@discoveryjs/json-ext@0.5.7': {} + /@discoveryjs/json-ext@0.5.7: + resolution: {integrity: sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw==} + engines: {node: '>=10.0.0'} + dev: true - '@docsearch/css@3.6.0': {} + /@docsearch/css@3.6.0: + resolution: {integrity: sha512-+sbxb71sWre+PwDK7X2T8+bhS6clcVMLwBPznX45Qu6opJcgRjAp7gYSDzVFp187J+feSj5dNBN1mJoi6ckkUQ==} + dev: true - '@docsearch/js@3.6.0(@algolia/client-search@4.23.3)(search-insights@2.14.0)': + /@docsearch/js@3.6.0(@algolia/client-search@4.23.3)(search-insights@2.14.0): + resolution: {integrity: sha512-QujhqINEElrkIfKwyyyTfbsfMAYCkylInLYMRqHy7PHc8xTBQCow73tlo/Kc7oIwBrCLf0P3YhjlOeV4v8hevQ==} dependencies: '@docsearch/react': 3.6.0(@algolia/client-search@4.23.3)(search-insights@2.14.0) preact: 10.22.0 @@ -10040,19 +2852,37 @@ snapshots: - react - react-dom - search-insights + dev: true - '@docsearch/react@3.6.0(@algolia/client-search@4.23.3)(search-insights@2.14.0)': + /@docsearch/react@3.6.0(@algolia/client-search@4.23.3)(search-insights@2.14.0): + resolution: {integrity: sha512-HUFut4ztcVNmqy9gp/wxNbC7pTOHhgVVkHVGCACTuLhUKUhKAF9KYHJtMiLUJxEqiFLQiuri1fWF8zqwM/cu1w==} + peerDependencies: + '@types/react': '>= 16.8.0 < 19.0.0' + react: '>= 16.8.0 < 19.0.0' + react-dom: '>= 16.8.0 < 19.0.0' + search-insights: '>= 1 < 3' + peerDependenciesMeta: + '@types/react': + optional: true + react: + optional: true + react-dom: + optional: true + search-insights: + optional: true dependencies: '@algolia/autocomplete-core': 1.9.3(@algolia/client-search@4.23.3)(algoliasearch@4.23.3)(search-insights@2.14.0) '@algolia/autocomplete-preset-algolia': 1.9.3(@algolia/client-search@4.23.3)(algoliasearch@4.23.3) '@docsearch/css': 3.6.0 algoliasearch: 4.23.3 - optionalDependencies: search-insights: 2.14.0 transitivePeerDependencies: - '@algolia/client-search' + dev: true - '@es-joy/jsdoccomment@0.43.1': + /@es-joy/jsdoccomment@0.43.1: + resolution: {integrity: sha512-I238eDtOolvCuvtxrnqtlBaw0BwdQuYqK7eA6XIonicMdOOOb75mqdIzkGDUbS04+1Di007rgm9snFRNeVrOog==} + engines: {node: '>=16'} dependencies: '@types/eslint': 8.56.10 '@types/estree': 1.0.5 @@ -10060,153 +2890,440 @@ snapshots: comment-parser: 1.4.1 esquery: 1.5.0 jsdoc-type-pratt-parser: 4.0.0 + dev: true - '@esbuild/aix-ppc64@0.20.2': + /@esbuild/aix-ppc64@0.20.2: + resolution: {integrity: sha512-D+EBOJHXdNZcLJRBkhENNG8Wji2kgc9AZ9KiPr1JuZjsNtyHzrsfLRrY0tk2H2aoFu6RANO1y1iPPUCDYWkb5g==} + engines: {node: '>=12'} + cpu: [ppc64] + os: [aix] + requiresBuild: true + dev: true optional: true - '@esbuild/aix-ppc64@0.21.5': + /@esbuild/aix-ppc64@0.21.5: + resolution: {integrity: sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ==} + engines: {node: '>=12'} + cpu: [ppc64] + os: [aix] + requiresBuild: true + dev: true optional: true - '@esbuild/android-arm64@0.20.2': + /@esbuild/android-arm64@0.20.2: + resolution: {integrity: sha512-mRzjLacRtl/tWU0SvD8lUEwb61yP9cqQo6noDZP/O8VkwafSYwZ4yWy24kan8jE/IMERpYncRt2dw438LP3Xmg==} + engines: {node: '>=12'} + cpu: [arm64] + os: [android] + requiresBuild: true + dev: true optional: true - '@esbuild/android-arm64@0.21.5': + /@esbuild/android-arm64@0.21.5: + resolution: {integrity: sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A==} + engines: {node: '>=12'} + cpu: [arm64] + os: [android] + requiresBuild: true + dev: true optional: true - '@esbuild/android-arm@0.20.2': + /@esbuild/android-arm@0.20.2: + resolution: {integrity: sha512-t98Ra6pw2VaDhqNWO2Oph2LXbz/EJcnLmKLGBJwEwXX/JAN83Fym1rU8l0JUWK6HkIbWONCSSatf4sf2NBRx/w==} + engines: {node: '>=12'} + cpu: [arm] + os: [android] + requiresBuild: true + dev: true optional: true - '@esbuild/android-arm@0.21.5': + /@esbuild/android-arm@0.21.5: + resolution: {integrity: sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg==} + engines: {node: '>=12'} + cpu: [arm] + os: [android] + requiresBuild: true + dev: true optional: true - '@esbuild/android-x64@0.20.2': + /@esbuild/android-x64@0.20.2: + resolution: {integrity: sha512-btzExgV+/lMGDDa194CcUQm53ncxzeBrWJcncOBxuC6ndBkKxnHdFJn86mCIgTELsooUmwUm9FkhSp5HYu00Rg==} + engines: {node: '>=12'} + cpu: [x64] + os: [android] + requiresBuild: true + dev: true optional: true - '@esbuild/android-x64@0.21.5': + /@esbuild/android-x64@0.21.5: + resolution: {integrity: sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA==} + engines: {node: '>=12'} + cpu: [x64] + os: [android] + requiresBuild: true + dev: true optional: true - '@esbuild/darwin-arm64@0.20.2': + /@esbuild/darwin-arm64@0.20.2: + resolution: {integrity: sha512-4J6IRT+10J3aJH3l1yzEg9y3wkTDgDk7TSDFX+wKFiWjqWp/iCfLIYzGyasx9l0SAFPT1HwSCR+0w/h1ES/MjA==} + engines: {node: '>=12'} + cpu: [arm64] + os: [darwin] + requiresBuild: true + dev: true optional: true - '@esbuild/darwin-arm64@0.21.5': + /@esbuild/darwin-arm64@0.21.5: + resolution: {integrity: sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ==} + engines: {node: '>=12'} + cpu: [arm64] + os: [darwin] + requiresBuild: true + dev: true optional: true - '@esbuild/darwin-x64@0.20.2': + /@esbuild/darwin-x64@0.20.2: + resolution: {integrity: sha512-tBcXp9KNphnNH0dfhv8KYkZhjc+H3XBkF5DKtswJblV7KlT9EI2+jeA8DgBjp908WEuYll6pF+UStUCfEpdysA==} + engines: {node: '>=12'} + cpu: [x64] + os: [darwin] + requiresBuild: true + dev: true optional: true - '@esbuild/darwin-x64@0.21.5': + /@esbuild/darwin-x64@0.21.5: + resolution: {integrity: sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw==} + engines: {node: '>=12'} + cpu: [x64] + os: [darwin] + requiresBuild: true + dev: true optional: true - '@esbuild/freebsd-arm64@0.20.2': + /@esbuild/freebsd-arm64@0.20.2: + resolution: {integrity: sha512-d3qI41G4SuLiCGCFGUrKsSeTXyWG6yem1KcGZVS+3FYlYhtNoNgYrWcvkOoaqMhwXSMrZRl69ArHsGJ9mYdbbw==} + engines: {node: '>=12'} + cpu: [arm64] + os: [freebsd] + requiresBuild: true + dev: true optional: true - '@esbuild/freebsd-arm64@0.21.5': + /@esbuild/freebsd-arm64@0.21.5: + resolution: {integrity: sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g==} + engines: {node: '>=12'} + cpu: [arm64] + os: [freebsd] + requiresBuild: true + dev: true optional: true - '@esbuild/freebsd-x64@0.20.2': + /@esbuild/freebsd-x64@0.20.2: + resolution: {integrity: sha512-d+DipyvHRuqEeM5zDivKV1KuXn9WeRX6vqSqIDgwIfPQtwMP4jaDsQsDncjTDDsExT4lR/91OLjRo8bmC1e+Cw==} + engines: {node: '>=12'} + cpu: [x64] + os: [freebsd] + requiresBuild: true + dev: true optional: true - '@esbuild/freebsd-x64@0.21.5': + /@esbuild/freebsd-x64@0.21.5: + resolution: {integrity: sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [freebsd] + requiresBuild: true + dev: true optional: true - '@esbuild/linux-arm64@0.20.2': + /@esbuild/linux-arm64@0.20.2: + resolution: {integrity: sha512-9pb6rBjGvTFNira2FLIWqDk/uaf42sSyLE8j1rnUpuzsODBq7FvpwHYZxQ/It/8b+QOS1RYfqgGFNLRI+qlq2A==} + engines: {node: '>=12'} + cpu: [arm64] + os: [linux] + requiresBuild: true + dev: true optional: true - '@esbuild/linux-arm64@0.21.5': + /@esbuild/linux-arm64@0.21.5: + resolution: {integrity: sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q==} + engines: {node: '>=12'} + cpu: [arm64] + os: [linux] + requiresBuild: true + dev: true optional: true - '@esbuild/linux-arm@0.20.2': + /@esbuild/linux-arm@0.20.2: + resolution: {integrity: sha512-VhLPeR8HTMPccbuWWcEUD1Az68TqaTYyj6nfE4QByZIQEQVWBB8vup8PpR7y1QHL3CpcF6xd5WVBU/+SBEvGTg==} + engines: {node: '>=12'} + cpu: [arm] + os: [linux] + requiresBuild: true + dev: true optional: true - '@esbuild/linux-arm@0.21.5': + /@esbuild/linux-arm@0.21.5: + resolution: {integrity: sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA==} + engines: {node: '>=12'} + cpu: [arm] + os: [linux] + requiresBuild: true + dev: true optional: true - '@esbuild/linux-ia32@0.20.2': + /@esbuild/linux-ia32@0.20.2: + resolution: {integrity: sha512-o10utieEkNPFDZFQm9CoP7Tvb33UutoJqg3qKf1PWVeeJhJw0Q347PxMvBgVVFgouYLGIhFYG0UGdBumROyiig==} + engines: {node: '>=12'} + cpu: [ia32] + os: [linux] + requiresBuild: true + dev: true optional: true - '@esbuild/linux-ia32@0.21.5': + /@esbuild/linux-ia32@0.21.5: + resolution: {integrity: sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg==} + engines: {node: '>=12'} + cpu: [ia32] + os: [linux] + requiresBuild: true + dev: true optional: true - '@esbuild/linux-loong64@0.20.2': + /@esbuild/linux-loong64@0.20.2: + resolution: {integrity: sha512-PR7sp6R/UC4CFVomVINKJ80pMFlfDfMQMYynX7t1tNTeivQ6XdX5r2XovMmha/VjR1YN/HgHWsVcTRIMkymrgQ==} + engines: {node: '>=12'} + cpu: [loong64] + os: [linux] + requiresBuild: true + dev: true optional: true - '@esbuild/linux-loong64@0.21.5': + /@esbuild/linux-loong64@0.21.5: + resolution: {integrity: sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg==} + engines: {node: '>=12'} + cpu: [loong64] + os: [linux] + requiresBuild: true + dev: true optional: true - '@esbuild/linux-mips64el@0.20.2': + /@esbuild/linux-mips64el@0.20.2: + resolution: {integrity: sha512-4BlTqeutE/KnOiTG5Y6Sb/Hw6hsBOZapOVF6njAESHInhlQAghVVZL1ZpIctBOoTFbQyGW+LsVYZ8lSSB3wkjA==} + engines: {node: '>=12'} + cpu: [mips64el] + os: [linux] + requiresBuild: true + dev: true optional: true - '@esbuild/linux-mips64el@0.21.5': + /@esbuild/linux-mips64el@0.21.5: + resolution: {integrity: sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg==} + engines: {node: '>=12'} + cpu: [mips64el] + os: [linux] + requiresBuild: true + dev: true optional: true - '@esbuild/linux-ppc64@0.20.2': + /@esbuild/linux-ppc64@0.20.2: + resolution: {integrity: sha512-rD3KsaDprDcfajSKdn25ooz5J5/fWBylaaXkuotBDGnMnDP1Uv5DLAN/45qfnf3JDYyJv/ytGHQaziHUdyzaAg==} + engines: {node: '>=12'} + cpu: [ppc64] + os: [linux] + requiresBuild: true + dev: true optional: true - '@esbuild/linux-ppc64@0.21.5': + /@esbuild/linux-ppc64@0.21.5: + resolution: {integrity: sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w==} + engines: {node: '>=12'} + cpu: [ppc64] + os: [linux] + requiresBuild: true + dev: true optional: true - '@esbuild/linux-riscv64@0.20.2': + /@esbuild/linux-riscv64@0.20.2: + resolution: {integrity: sha512-snwmBKacKmwTMmhLlz/3aH1Q9T8v45bKYGE3j26TsaOVtjIag4wLfWSiZykXzXuE1kbCE+zJRmwp+ZbIHinnVg==} + engines: {node: '>=12'} + cpu: [riscv64] + os: [linux] + requiresBuild: true + dev: true optional: true - '@esbuild/linux-riscv64@0.21.5': + /@esbuild/linux-riscv64@0.21.5: + resolution: {integrity: sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA==} + engines: {node: '>=12'} + cpu: [riscv64] + os: [linux] + requiresBuild: true + dev: true optional: true - '@esbuild/linux-s390x@0.20.2': + /@esbuild/linux-s390x@0.20.2: + resolution: {integrity: sha512-wcWISOobRWNm3cezm5HOZcYz1sKoHLd8VL1dl309DiixxVFoFe/o8HnwuIwn6sXre88Nwj+VwZUvJf4AFxkyrQ==} + engines: {node: '>=12'} + cpu: [s390x] + os: [linux] + requiresBuild: true + dev: true optional: true - '@esbuild/linux-s390x@0.21.5': + /@esbuild/linux-s390x@0.21.5: + resolution: {integrity: sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A==} + engines: {node: '>=12'} + cpu: [s390x] + os: [linux] + requiresBuild: true + dev: true optional: true - '@esbuild/linux-x64@0.20.2': + /@esbuild/linux-x64@0.20.2: + resolution: {integrity: sha512-1MdwI6OOTsfQfek8sLwgyjOXAu+wKhLEoaOLTjbijk6E2WONYpH9ZU2mNtR+lZ2B4uwr+usqGuVfFT9tMtGvGw==} + engines: {node: '>=12'} + cpu: [x64] + os: [linux] + requiresBuild: true + dev: true optional: true - '@esbuild/linux-x64@0.21.5': + /@esbuild/linux-x64@0.21.5: + resolution: {integrity: sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [linux] + requiresBuild: true + dev: true optional: true - '@esbuild/netbsd-x64@0.20.2': + /@esbuild/netbsd-x64@0.20.2: + resolution: {integrity: sha512-K8/DhBxcVQkzYc43yJXDSyjlFeHQJBiowJ0uVL6Tor3jGQfSGHNNJcWxNbOI8v5k82prYqzPuwkzHt3J1T1iZQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [netbsd] + requiresBuild: true + dev: true optional: true - '@esbuild/netbsd-x64@0.21.5': + /@esbuild/netbsd-x64@0.21.5: + resolution: {integrity: sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg==} + engines: {node: '>=12'} + cpu: [x64] + os: [netbsd] + requiresBuild: true + dev: true optional: true - '@esbuild/openbsd-x64@0.20.2': + /@esbuild/openbsd-x64@0.20.2: + resolution: {integrity: sha512-eMpKlV0SThJmmJgiVyN9jTPJ2VBPquf6Kt/nAoo6DgHAoN57K15ZghiHaMvqjCye/uU4X5u3YSMgVBI1h3vKrQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [openbsd] + requiresBuild: true + dev: true optional: true - '@esbuild/openbsd-x64@0.21.5': + /@esbuild/openbsd-x64@0.21.5: + resolution: {integrity: sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow==} + engines: {node: '>=12'} + cpu: [x64] + os: [openbsd] + requiresBuild: true + dev: true optional: true - '@esbuild/sunos-x64@0.20.2': + /@esbuild/sunos-x64@0.20.2: + resolution: {integrity: sha512-2UyFtRC6cXLyejf/YEld4Hajo7UHILetzE1vsRcGL3earZEW77JxrFjH4Ez2qaTiEfMgAXxfAZCm1fvM/G/o8w==} + engines: {node: '>=12'} + cpu: [x64] + os: [sunos] + requiresBuild: true + dev: true optional: true - '@esbuild/sunos-x64@0.21.5': + /@esbuild/sunos-x64@0.21.5: + resolution: {integrity: sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg==} + engines: {node: '>=12'} + cpu: [x64] + os: [sunos] + requiresBuild: true + dev: true optional: true - '@esbuild/win32-arm64@0.20.2': + /@esbuild/win32-arm64@0.20.2: + resolution: {integrity: sha512-GRibxoawM9ZCnDxnP3usoUDO9vUkpAxIIZ6GQI+IlVmr5kP3zUq+l17xELTHMWTWzjxa2guPNyrpq1GWmPvcGQ==} + engines: {node: '>=12'} + cpu: [arm64] + os: [win32] + requiresBuild: true + dev: true optional: true - '@esbuild/win32-arm64@0.21.5': + /@esbuild/win32-arm64@0.21.5: + resolution: {integrity: sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A==} + engines: {node: '>=12'} + cpu: [arm64] + os: [win32] + requiresBuild: true + dev: true optional: true - '@esbuild/win32-ia32@0.20.2': + /@esbuild/win32-ia32@0.20.2: + resolution: {integrity: sha512-HfLOfn9YWmkSKRQqovpnITazdtquEW8/SoHW7pWpuEeguaZI4QnCRW6b+oZTztdBnZOS2hqJ6im/D5cPzBTTlQ==} + engines: {node: '>=12'} + cpu: [ia32] + os: [win32] + requiresBuild: true + dev: true optional: true - '@esbuild/win32-ia32@0.21.5': + /@esbuild/win32-ia32@0.21.5: + resolution: {integrity: sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA==} + engines: {node: '>=12'} + cpu: [ia32] + os: [win32] + requiresBuild: true + dev: true optional: true - '@esbuild/win32-x64@0.20.2': + /@esbuild/win32-x64@0.20.2: + resolution: {integrity: sha512-N49X4lJX27+l9jbLKSqZ6bKNjzQvHaT8IIFUy+YIqmXQdjYCToGWwOItDrfby14c78aDd5NHQl29xingXfCdLQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [win32] + requiresBuild: true + dev: true optional: true - '@esbuild/win32-x64@0.21.5': + /@esbuild/win32-x64@0.21.5: + resolution: {integrity: sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw==} + engines: {node: '>=12'} + cpu: [x64] + os: [win32] + requiresBuild: true + dev: true optional: true - '@eslint-community/eslint-utils@4.4.0(eslint@8.57.0)': + /@eslint-community/eslint-utils@4.4.0(eslint@8.57.0): + resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 dependencies: eslint: 8.57.0 eslint-visitor-keys: 3.4.3 + dev: true - '@eslint-community/regexpp@4.10.1': {} + /@eslint-community/regexpp@4.10.1: + resolution: {integrity: sha512-Zm2NGpWELsQAD1xsJzGQpYfvICSsFkEpU0jxBjfdC6uNEWXcHnfs9hScFWtXVDVl+rBQJGrl4g1vcKIejpH9dA==} + engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} + dev: true - '@eslint/eslintrc@2.1.4': + /@eslint/eslintrc@2.1.4: + resolution: {integrity: sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: ajv: 6.12.6 debug: 4.3.5(supports-color@8.1.1) @@ -10219,75 +3336,130 @@ snapshots: strip-json-comments: 3.1.1 transitivePeerDependencies: - supports-color + dev: true - '@eslint/js@8.57.0': {} + /@eslint/js@8.57.0: + resolution: {integrity: sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dev: true - '@fastify/ajv-compiler@1.1.0': + /@fastify/ajv-compiler@1.1.0: + resolution: {integrity: sha512-gvCOUNpXsWrIQ3A4aXCLIdblL0tDq42BG/2Xw7oxbil9h11uow10ztS2GuFazNBfjbrsZ5nl+nPl5jDSjj5TSg==} dependencies: ajv: 6.12.6 + dev: true - '@fastify/error@2.0.0': {} + /@fastify/error@2.0.0: + resolution: {integrity: sha512-wI3fpfDT0t7p8E6dA2eTECzzOd+bZsZCJ2Hcv+Onn2b7ZwK3RwD27uW2QDaMtQhAfWQQP+WNK7nKf0twLsBf9w==} + dev: true - '@floating-ui/core@1.6.2': + /@floating-ui/core@1.6.2: + resolution: {integrity: sha512-+2XpQV9LLZeanU4ZevzRnGFg2neDeKHgFLjP6YLW+tly0IvrhqT4u8enLGjLH3qeh85g19xY5rsAusfwTdn5lg==} dependencies: '@floating-ui/utils': 0.2.2 + dev: false - '@floating-ui/dom@1.6.5': + /@floating-ui/dom@1.6.5: + resolution: {integrity: sha512-Nsdud2X65Dz+1RHjAIP0t8z5e2ff/IRbei6BqFrl1urT8sDVzM1HMQ+R0XcU5ceRfyO3I6ayeqIfh+6Wb8LGTw==} dependencies: '@floating-ui/core': 1.6.2 '@floating-ui/utils': 0.2.2 + dev: false - '@floating-ui/utils@0.2.2': {} + /@floating-ui/utils@0.2.2: + resolution: {integrity: sha512-J4yDIIthosAsRZ5CPYP/jQvUAQtlZTTD/4suA08/FEnlxqW3sKS9iAhgsa9VYLZ6vDHn/ixJgIqRQPotoBjxIw==} + dev: false - '@floating-ui/vue@0.2.1(vue@3.4.27(typescript@5.4.5))': + /@floating-ui/vue@0.2.1(vue@3.4.27): + resolution: {integrity: sha512-HE+EIeakID7wI6vUwF0yMpaW48bNaPj8QtnQaRMkaQFhQReVBA4bY6fmJ3J7X+dqVgDbMhyfCG0fBJfdQMdWxQ==} + peerDependencies: + '@vue/composition-api': ^1.0.0-rc.1 + vue: ^2.0.0 || >=3.0.0 + peerDependenciesMeta: + '@vue/composition-api': + optional: true dependencies: '@floating-ui/dom': 1.6.5 vue: 3.4.27(typescript@5.4.5) - vue-demi: 0.13.11(vue@3.4.27(typescript@5.4.5)) + vue-demi: 0.13.11(vue@3.4.27) + dev: false - '@hapi/hoek@9.3.0': {} + /@hapi/hoek@9.3.0: + resolution: {integrity: sha512-/c6rf4UJlmHlC9b5BaNvzAcFv7HZ2QHaV0D4/HNlBdvFnvQq8RI4kYdhyPCl7Xj+oWvTWQ8ujhqS53LIgAe6KQ==} + dev: true - '@hapi/topo@5.1.0': + /@hapi/topo@5.1.0: + resolution: {integrity: sha512-foQZKJig7Ob0BMAYBfcJk8d77QtOe7Wo4ox7ff1lQYoNNAb6jwcY1ncdoy2e9wQZzvNy7ODZCYJkK8kzmcAnAg==} dependencies: '@hapi/hoek': 9.3.0 + dev: true - '@headlessui-float/vue@0.11.4(vue@3.4.27(typescript@5.4.5))': + /@headlessui-float/vue@0.11.4(vue@3.4.27): + resolution: {integrity: sha512-hNGQTT3trknSB78ZI3usvnJACLyEUmacvk5Q8JQizJ8k+8GYLvhKklGIhJVO1E3litEzW6yyjPgfg6aEJ+1p6g==} + peerDependencies: + vue: ^3.0.0 dependencies: '@floating-ui/core': 1.6.2 '@floating-ui/dom': 1.6.5 - '@floating-ui/vue': 0.2.1(vue@3.4.27(typescript@5.4.5)) + '@floating-ui/vue': 0.2.1(vue@3.4.27) vue: 3.4.27(typescript@5.4.5) transitivePeerDependencies: - '@vue/composition-api' + dev: false - '@headlessui/tailwindcss@0.2.1(tailwindcss@3.4.4)': + /@headlessui/tailwindcss@0.2.1(tailwindcss@3.4.4): + resolution: {integrity: sha512-2+5+NZ+RzMyrVeCZOxdbvkUSssSxGvcUxphkIfSVLpRiKsj+/63T2TOL9dBYMXVfj/CGr6hMxSRInzXv6YY7sA==} + engines: {node: '>=10'} + peerDependencies: + tailwindcss: ^3.0 dependencies: tailwindcss: 3.4.4 + dev: false - '@headlessui/vue@1.7.22(vue@3.4.27(typescript@5.4.5))': + /@headlessui/vue@1.7.22(vue@3.4.27): + resolution: {integrity: sha512-Hoffjoolq1rY+LOfJ+B/OvkhuBXXBFgd8oBlN+l1TApma2dB0En0ucFZrwQtb33SmcCqd32EQd0y07oziXWNYg==} + engines: {node: '>=10'} + peerDependencies: + vue: ^3.2.0 dependencies: - '@tanstack/vue-virtual': 3.5.1(vue@3.4.27(typescript@5.4.5)) + '@tanstack/vue-virtual': 3.5.1(vue@3.4.27) vue: 3.4.27(typescript@5.4.5) + dev: false - '@humanwhocodes/config-array@0.11.14': + /@humanwhocodes/config-array@0.11.14: + resolution: {integrity: sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==} + engines: {node: '>=10.10.0'} + deprecated: Use @eslint/config-array instead dependencies: '@humanwhocodes/object-schema': 2.0.3 debug: 4.3.5(supports-color@8.1.1) minimatch: 3.1.2 transitivePeerDependencies: - supports-color + dev: true - '@humanwhocodes/module-importer@1.0.1': {} + /@humanwhocodes/module-importer@1.0.1: + resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==} + engines: {node: '>=12.22'} + dev: true - '@humanwhocodes/object-schema@2.0.3': {} + /@humanwhocodes/object-schema@2.0.3: + resolution: {integrity: sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==} + deprecated: Use @eslint/object-schema instead + dev: true - '@iconify-json/carbon@1.1.35': + /@iconify-json/carbon@1.1.35: + resolution: {integrity: sha512-zKqioWceqFRiLJvxpjcCpVP3j2YcokYshlbwSAHBhOih5XNUymUS3hm1kpV4KljMI1xWH96UcozHaaf6x4YzdA==} dependencies: '@iconify/types': 2.0.0 + dev: true - '@iconify/types@2.0.0': {} + /@iconify/types@2.0.0: + resolution: {integrity: sha512-+wluvCrRhXrhyOmRDJ3q8mux9JkKy5SJ/v8ol2tu4FVjyYvtEzkc/3pK15ET6RKg4b4w4BmTk1+gsCUhf21Ykg==} + dev: true - '@iconify/utils@2.1.24': + /@iconify/utils@2.1.24: + resolution: {integrity: sha512-H8r2KpL5uKyrkb3z9/3HD/22JcxqW3BJyjEWZhX2T7DehnYVZthEap1cNsEl/UtCDC3TlpNmwiPX8wg3y8E4dg==} dependencies: '@antfu/install-pkg': 0.1.1 '@antfu/utils': 0.7.8 @@ -10298,27 +3470,38 @@ snapshots: mlly: 1.7.1 transitivePeerDependencies: - supports-color + dev: true - '@isaacs/cliui@8.0.2': + /@isaacs/cliui@8.0.2: + resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==} + engines: {node: '>=12'} dependencies: string-width: 5.1.2 - string-width-cjs: string-width@4.2.3 + string-width-cjs: /string-width@4.2.3 strip-ansi: 7.1.0 - strip-ansi-cjs: strip-ansi@6.0.1 + strip-ansi-cjs: /strip-ansi@6.0.1 wrap-ansi: 8.1.0 - wrap-ansi-cjs: wrap-ansi@7.0.0 + wrap-ansi-cjs: /wrap-ansi@7.0.0 - '@istanbuljs/load-nyc-config@1.1.0': + /@istanbuljs/load-nyc-config@1.1.0: + resolution: {integrity: sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==} + engines: {node: '>=8'} dependencies: camelcase: 5.3.1 find-up: 4.1.0 get-package-type: 0.1.0 js-yaml: 3.14.1 resolve-from: 5.0.0 + dev: true - '@istanbuljs/schema@0.1.3': {} + /@istanbuljs/schema@0.1.3: + resolution: {integrity: sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==} + engines: {node: '>=8'} + dev: true - '@jest/console@29.7.0': + /@jest/console@29.7.0: + resolution: {integrity: sha512-5Ni4CU7XHQi32IJ398EEP4RrB8eV09sXP2ROqD4bksHrnTree52PsxvX8tpL8LvTZ3pFzXyPbNQReSN41CAhOg==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@jest/types': 29.6.3 '@types/node': 20.14.2 @@ -10326,8 +3509,16 @@ snapshots: jest-message-util: 29.7.0 jest-util: 29.7.0 slash: 3.0.0 + dev: true - '@jest/core@29.7.0': + /@jest/core@29.7.0: + resolution: {integrity: sha512-n7aeXWKMnGtDA48y8TLWJPJmLmmZ642Ceo78cYWEpiD7FzDgmNDV/GCVRorPABdXLJZ/9wzzgZAlHjXjxDHGsg==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + peerDependencies: + node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 + peerDependenciesMeta: + node-notifier: + optional: true dependencies: '@jest/console': 29.7.0 '@jest/reporters': 29.7.0 @@ -10361,26 +3552,38 @@ snapshots: - babel-plugin-macros - supports-color - ts-node + dev: true - '@jest/environment@29.7.0': + /@jest/environment@29.7.0: + resolution: {integrity: sha512-aQIfHDq33ExsN4jP1NWGXhxgQ/wixs60gDiKO+XVMd8Mn0NWPWgc34ZQDTb2jKaUWQ7MuwoitXAsN2XVXNMpAw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@jest/fake-timers': 29.7.0 '@jest/types': 29.6.3 '@types/node': 20.14.2 jest-mock: 29.7.0 + dev: true - '@jest/expect-utils@29.7.0': + /@jest/expect-utils@29.7.0: + resolution: {integrity: sha512-GlsNBWiFQFCVi9QVSx7f5AgMeLxe9YCCs5PuP2O2LdjDAA8Jh9eX7lA1Jq/xdXw3Wb3hyvlFNfZIfcRetSzYcA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: jest-get-type: 29.6.3 + dev: true - '@jest/expect@29.7.0': + /@jest/expect@29.7.0: + resolution: {integrity: sha512-8uMeAMycttpva3P1lBHB8VciS9V0XAr3GymPpipdyQXbBcuhkLQOSe8E/p92RyAdToS6ZD1tFkX+CkhoECE0dQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: expect: 29.7.0 jest-snapshot: 29.7.0 transitivePeerDependencies: - supports-color + dev: true - '@jest/fake-timers@29.7.0': + /@jest/fake-timers@29.7.0: + resolution: {integrity: sha512-q4DH1Ha4TTFPdxLsqDXK1d3+ioSL7yL5oCMJZgDYm6i+6CygW5E5xVr/D1HdsGxjt1ZWSfUAs9OxSB/BNelWrQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@jest/types': 29.6.3 '@sinonjs/fake-timers': 10.3.0 @@ -10388,8 +3591,11 @@ snapshots: jest-message-util: 29.7.0 jest-mock: 29.7.0 jest-util: 29.7.0 + dev: true - '@jest/globals@29.7.0': + /@jest/globals@29.7.0: + resolution: {integrity: sha512-mpiz3dutLbkW2MNFubUGUEVLkTGiqW6yLVTA+JbP6fI6J5iL9Y0Nlg8k95pcF8ctKwCS7WVxteBs29hhfAotzQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@jest/environment': 29.7.0 '@jest/expect': 29.7.0 @@ -10397,8 +3603,16 @@ snapshots: jest-mock: 29.7.0 transitivePeerDependencies: - supports-color + dev: true - '@jest/reporters@29.7.0': + /@jest/reporters@29.7.0: + resolution: {integrity: sha512-DApq0KJbJOEzAFYjHADNNxAE3KbhxQB1y5Kplb5Waqw6zVbuWatSnMjE5gs8FUgEPmNsnZA3NCWl9NG0ia04Pg==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + peerDependencies: + node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 + peerDependenciesMeta: + node-notifier: + optional: true dependencies: '@bcoe/v8-coverage': 0.2.3 '@jest/console': 29.7.0 @@ -10426,32 +3640,47 @@ snapshots: v8-to-istanbul: 9.2.0 transitivePeerDependencies: - supports-color + dev: true - '@jest/schemas@29.6.3': + /@jest/schemas@29.6.3: + resolution: {integrity: sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@sinclair/typebox': 0.27.8 + dev: true - '@jest/source-map@29.6.3': + /@jest/source-map@29.6.3: + resolution: {integrity: sha512-MHjT95QuipcPrpLM+8JMSzFx6eHp5Bm+4XeFDJlwsvVBjmKNiIAvasGK2fxz2WbGRlnvqehFbh07MMa7n3YJnw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@jridgewell/trace-mapping': 0.3.25 callsites: 3.1.0 graceful-fs: 4.2.11 + dev: true - '@jest/test-result@29.7.0': + /@jest/test-result@29.7.0: + resolution: {integrity: sha512-Fdx+tv6x1zlkJPcWXmMDAG2HBnaR9XPSd5aDWQVsfrZmLVT3lU1cwyxLgRmXR9yrq4NBoEm9BMsfgFzTQAbJYA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@jest/console': 29.7.0 '@jest/types': 29.6.3 '@types/istanbul-lib-coverage': 2.0.6 collect-v8-coverage: 1.0.2 + dev: true - '@jest/test-sequencer@29.7.0': + /@jest/test-sequencer@29.7.0: + resolution: {integrity: sha512-GQwJ5WZVrKnOJuiYiAF52UNUJXgTZx1NHjFSEB0qEMmSZKAkdMoIzw/Cj6x6NF4AvV23AUqDpFzQkN/eYCYTxw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@jest/test-result': 29.7.0 graceful-fs: 4.2.11 jest-haste-map: 29.7.0 slash: 3.0.0 + dev: true - '@jest/transform@29.7.0': + /@jest/transform@29.7.0: + resolution: {integrity: sha512-ok/BTPFzFKVMwO5eOHRrvnBVHdRy9IrsrW1GpMaQ9MCnilNLXQKmAX8s1YXDFaai9xJpac2ySzV0YeRRECr2Vw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@babel/core': 7.24.7 '@jest/types': 29.6.3 @@ -10470,8 +3699,11 @@ snapshots: write-file-atomic: 4.0.2 transitivePeerDependencies: - supports-color + dev: true - '@jest/types@29.6.3': + /@jest/types@29.6.3: + resolution: {integrity: sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@jest/schemas': 29.6.3 '@types/istanbul-lib-coverage': 2.0.6 @@ -10479,75 +3711,125 @@ snapshots: '@types/node': 20.14.2 '@types/yargs': 17.0.32 chalk: 4.1.2 + dev: true - '@jridgewell/gen-mapping@0.3.5': + /@jridgewell/gen-mapping@0.3.5: + resolution: {integrity: sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==} + engines: {node: '>=6.0.0'} dependencies: '@jridgewell/set-array': 1.2.1 '@jridgewell/sourcemap-codec': 1.4.15 '@jridgewell/trace-mapping': 0.3.25 - '@jridgewell/resolve-uri@3.1.2': {} + /@jridgewell/resolve-uri@3.1.2: + resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==} + engines: {node: '>=6.0.0'} - '@jridgewell/set-array@1.2.1': {} + /@jridgewell/set-array@1.2.1: + resolution: {integrity: sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==} + engines: {node: '>=6.0.0'} - '@jridgewell/source-map@0.3.6': + /@jridgewell/source-map@0.3.6: + resolution: {integrity: sha512-1ZJTZebgqllO79ue2bm3rIGud/bOe0pP5BjSRCRxxYkEZS8STV7zN84UBbiYu7jy+eCKSnVIUgoWWE/tt+shMQ==} dependencies: '@jridgewell/gen-mapping': 0.3.5 '@jridgewell/trace-mapping': 0.3.25 + dev: true - '@jridgewell/sourcemap-codec@1.4.15': {} + /@jridgewell/sourcemap-codec@1.4.15: + resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==} - '@jridgewell/trace-mapping@0.3.25': + /@jridgewell/trace-mapping@0.3.25: + resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==} dependencies: '@jridgewell/resolve-uri': 3.1.2 '@jridgewell/sourcemap-codec': 1.4.15 - '@jsdevtools/ono@7.1.3': {} + /@jsdevtools/ono@7.1.3: + resolution: {integrity: sha512-4JQNk+3mVzK3xh2rqd6RB4J46qUR19azEHBneZyTZM+c456qOrbbM/5xcR8huNCCcbVt7+UmizG6GuUvPvKUYg==} + dev: true - '@leichtgewicht/ip-codec@2.0.5': {} + /@leichtgewicht/ip-codec@2.0.5: + resolution: {integrity: sha512-Vo+PSpZG2/fmgmiNzYK9qWRh8h/CHrwD0mo1h1DzL4yzHNSfWYujGTYsWGreD000gcgmZ7K4Ys6Tx9TxtsKdDw==} + dev: true - '@mdi/font@7.4.47': {} + /@mdi/font@7.4.47: + resolution: {integrity: sha512-43MtGpd585SNzHZPcYowu/84Vz2a2g31TvPMTm9uTiCSWzaheQySUcSyUH/46fPnuPQWof2yd0pGBtzee/IQWw==} + dev: false - '@microsoft/tsdoc-config@0.16.2': + /@microsoft/tsdoc-config@0.16.2: + resolution: {integrity: sha512-OGiIzzoBLgWWR0UdRJX98oYO+XKGf7tiK4Zk6tQ/E4IJqGCe7dvkTvgDZV5cFJUzLGDOjeAXrnZoA6QkVySuxw==} dependencies: '@microsoft/tsdoc': 0.14.2 ajv: 6.12.6 jju: 1.4.0 resolve: 1.19.0 + dev: true - '@microsoft/tsdoc@0.14.2': {} + /@microsoft/tsdoc@0.14.2: + resolution: {integrity: sha512-9b8mPpKrfeGRuhFH5iO1iwCLeIIsV6+H1sRfxbkoGXIyQE2BTsPd9zqSqQJ+pv5sJ/hT5M1zvOFL02MnEezFug==} + dev: true - '@nodelib/fs.scandir@2.1.5': + /@nodelib/fs.scandir@2.1.5: + resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} + engines: {node: '>= 8'} dependencies: '@nodelib/fs.stat': 2.0.5 run-parallel: 1.2.0 - '@nodelib/fs.stat@2.0.5': {} + /@nodelib/fs.stat@2.0.5: + resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} + engines: {node: '>= 8'} - '@nodelib/fs.walk@1.2.8': + /@nodelib/fs.walk@1.2.8: + resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} + engines: {node: '>= 8'} dependencies: '@nodelib/fs.scandir': 2.1.5 fastq: 1.17.1 - '@pkgjs/parseargs@0.11.0': + /@pkgjs/parseargs@0.11.0: + resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==} + engines: {node: '>=14'} + requiresBuild: true optional: true - '@pkgr/core@0.1.1': {} + /@pkgr/core@0.1.1: + resolution: {integrity: sha512-cq8o4cWH0ibXh9VGi5P20Tu9XF/0fFXl9EUinr9QfTM7a7p0oTA4iJRCQWppXR1Pg8dSM0UCItCkPwsk9qWWYA==} + engines: {node: ^12.20.0 || ^14.18.0 || >=16.0.0} + dev: true - '@polka/url@1.0.0-next.25': {} + /@polka/url@1.0.0-next.25: + resolution: {integrity: sha512-j7P6Rgr3mmtdkeDGTe0E/aYyWEWVtc5yFXtHCRHs28/jptDEWfaVOc5T7cblqy1XKPPfCxJc/8DwQ5YgLOZOVQ==} + dev: true - '@rollup/plugin-babel@5.3.1(@babel/core@7.24.7)(@types/babel__core@7.20.5)(rollup@2.79.1)': + /@rollup/plugin-babel@5.3.1(@babel/core@7.24.7)(rollup@2.79.1): + resolution: {integrity: sha512-WFfdLWU/xVWKeRQnKmIAQULUI7Il0gZnBIH/ZFO069wYIfPu+8zrfp/KMW0atmELoRDq8FbiP3VCss9MhCut7Q==} + engines: {node: '>= 10.0.0'} + peerDependencies: + '@babel/core': ^7.0.0 + '@types/babel__core': ^7.1.9 + rollup: ^1.20.0||^2.0.0 + peerDependenciesMeta: + '@types/babel__core': + optional: true dependencies: '@babel/core': 7.24.7 '@babel/helper-module-imports': 7.24.7 '@rollup/pluginutils': 3.1.0(rollup@2.79.1) rollup: 2.79.1 - optionalDependencies: - '@types/babel__core': 7.20.5 transitivePeerDependencies: - supports-color + dev: true - '@rollup/plugin-node-resolve@15.2.3(rollup@2.79.1)': + /@rollup/plugin-node-resolve@15.2.3(rollup@2.79.1): + resolution: {integrity: sha512-j/lym8nf5E21LwBT4Df1VD6hRO2L2iwUeUmP7litikRsVp1H6NWx20NEp0Y7su+7XGc476GnXXc4kFeZNGmaSQ==} + engines: {node: '>=14.0.0'} + peerDependencies: + rollup: ^2.78.0||^3.0.0||^4.0.0 + peerDependenciesMeta: + rollup: + optional: true dependencies: '@rollup/pluginutils': 5.1.0(rollup@2.79.1) '@types/resolve': 1.20.2 @@ -10555,302 +3837,535 @@ snapshots: is-builtin-module: 3.2.1 is-module: 1.0.0 resolve: 1.22.8 - optionalDependencies: rollup: 2.79.1 + dev: true - '@rollup/plugin-replace@2.4.2(rollup@2.79.1)': + /@rollup/plugin-replace@2.4.2(rollup@2.79.1): + resolution: {integrity: sha512-IGcu+cydlUMZ5En85jxHH4qj2hta/11BHq95iHEyb2sbgiN0eCdzvUcHw5gt9pBL5lTi4JDYJ1acCoMGpTvEZg==} + peerDependencies: + rollup: ^1.20.0 || ^2.0.0 dependencies: '@rollup/pluginutils': 3.1.0(rollup@2.79.1) magic-string: 0.25.9 rollup: 2.79.1 + dev: true - '@rollup/plugin-terser@0.4.4(rollup@2.79.1)': + /@rollup/plugin-terser@0.4.4(rollup@2.79.1): + resolution: {integrity: sha512-XHeJC5Bgvs8LfukDwWZp7yeqin6ns8RTl2B9avbejt6tZqsqvVoWI7ZTQrcNsfKEDWBTnTxM8nMDkO2IFFbd0A==} + engines: {node: '>=14.0.0'} + peerDependencies: + rollup: ^2.0.0||^3.0.0||^4.0.0 + peerDependenciesMeta: + rollup: + optional: true dependencies: + rollup: 2.79.1 serialize-javascript: 6.0.2 smob: 1.5.0 terser: 5.31.1 - optionalDependencies: - rollup: 2.79.1 + dev: true - '@rollup/plugin-typescript@11.1.6(rollup@4.18.0)(tslib@2.6.3)(typescript@5.4.5)': + /@rollup/plugin-typescript@11.1.6(typescript@5.4.5): + resolution: {integrity: sha512-R92yOmIACgYdJ7dJ97p4K69I8gg6IEHt8M7dUBxN3W6nrO8uUxX5ixl0yU/N3aZTi8WhPuICvOHXQvF6FaykAA==} + engines: {node: '>=14.0.0'} + peerDependencies: + rollup: ^2.14.0||^3.0.0||^4.0.0 + tslib: '*' + typescript: '>=3.7.0' + peerDependenciesMeta: + rollup: + optional: true + tslib: + optional: true dependencies: - '@rollup/pluginutils': 5.1.0(rollup@4.18.0) + '@rollup/pluginutils': 5.1.0(rollup@2.79.1) resolve: 1.22.8 typescript: 5.4.5 - optionalDependencies: - rollup: 4.18.0 - tslib: 2.6.3 + dev: true - '@rollup/pluginutils@3.1.0(rollup@2.79.1)': + /@rollup/pluginutils@3.1.0(rollup@2.79.1): + resolution: {integrity: sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg==} + engines: {node: '>= 8.0.0'} + peerDependencies: + rollup: ^1.20.0||^2.0.0 dependencies: '@types/estree': 0.0.39 estree-walker: 1.0.1 picomatch: 2.3.1 rollup: 2.79.1 + dev: true - '@rollup/pluginutils@5.1.0(rollup@2.79.1)': + /@rollup/pluginutils@5.1.0(rollup@2.79.1): + resolution: {integrity: sha512-XTIWOPPcpvyKI6L1NHo0lFlCyznUEyPmPY1mc3KpPVDYulHSTvyeLNVW00QTLIAFNhR3kYnJTQHeGqU4M3n09g==} + engines: {node: '>=14.0.0'} + peerDependencies: + rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0 + peerDependenciesMeta: + rollup: + optional: true dependencies: '@types/estree': 1.0.5 estree-walker: 2.0.2 picomatch: 2.3.1 - optionalDependencies: rollup: 2.79.1 + dev: true - '@rollup/pluginutils@5.1.0(rollup@4.18.0)': - dependencies: - '@types/estree': 1.0.5 - estree-walker: 2.0.2 - picomatch: 2.3.1 - optionalDependencies: - rollup: 4.18.0 - - '@rollup/rollup-android-arm-eabi@4.18.0': + /@rollup/rollup-android-arm-eabi@4.18.0: + resolution: {integrity: sha512-Tya6xypR10giZV1XzxmH5wr25VcZSncG0pZIjfePT0OVBvqNEurzValetGNarVrGiq66EBVAFn15iYX4w6FKgQ==} + cpu: [arm] + os: [android] + requiresBuild: true + dev: true optional: true - '@rollup/rollup-android-arm64@4.18.0': + /@rollup/rollup-android-arm64@4.18.0: + resolution: {integrity: sha512-avCea0RAP03lTsDhEyfy+hpfr85KfyTctMADqHVhLAF3MlIkq83CP8UfAHUssgXTYd+6er6PaAhx/QGv4L1EiA==} + cpu: [arm64] + os: [android] + requiresBuild: true + dev: true optional: true - '@rollup/rollup-darwin-arm64@4.18.0': + /@rollup/rollup-darwin-arm64@4.18.0: + resolution: {integrity: sha512-IWfdwU7KDSm07Ty0PuA/W2JYoZ4iTj3TUQjkVsO/6U+4I1jN5lcR71ZEvRh52sDOERdnNhhHU57UITXz5jC1/w==} + cpu: [arm64] + os: [darwin] + requiresBuild: true + dev: true optional: true - '@rollup/rollup-darwin-x64@4.18.0': + /@rollup/rollup-darwin-x64@4.18.0: + resolution: {integrity: sha512-n2LMsUz7Ynu7DoQrSQkBf8iNrjOGyPLrdSg802vk6XT3FtsgX6JbE8IHRvposskFm9SNxzkLYGSq9QdpLYpRNA==} + cpu: [x64] + os: [darwin] + requiresBuild: true + dev: true optional: true - '@rollup/rollup-linux-arm-gnueabihf@4.18.0': + /@rollup/rollup-linux-arm-gnueabihf@4.18.0: + resolution: {integrity: sha512-C/zbRYRXFjWvz9Z4haRxcTdnkPt1BtCkz+7RtBSuNmKzMzp3ZxdM28Mpccn6pt28/UWUCTXa+b0Mx1k3g6NOMA==} + cpu: [arm] + os: [linux] + requiresBuild: true + dev: true optional: true - '@rollup/rollup-linux-arm-musleabihf@4.18.0': + /@rollup/rollup-linux-arm-musleabihf@4.18.0: + resolution: {integrity: sha512-l3m9ewPgjQSXrUMHg93vt0hYCGnrMOcUpTz6FLtbwljo2HluS4zTXFy2571YQbisTnfTKPZ01u/ukJdQTLGh9A==} + cpu: [arm] + os: [linux] + requiresBuild: true + dev: true optional: true - '@rollup/rollup-linux-arm64-gnu@4.18.0': + /@rollup/rollup-linux-arm64-gnu@4.18.0: + resolution: {integrity: sha512-rJ5D47d8WD7J+7STKdCUAgmQk49xuFrRi9pZkWoRD1UeSMakbcepWXPF8ycChBoAqs1pb2wzvbY6Q33WmN2ftw==} + cpu: [arm64] + os: [linux] + requiresBuild: true + dev: true optional: true - '@rollup/rollup-linux-arm64-musl@4.18.0': + /@rollup/rollup-linux-arm64-musl@4.18.0: + resolution: {integrity: sha512-be6Yx37b24ZwxQ+wOQXXLZqpq4jTckJhtGlWGZs68TgdKXJgw54lUUoFYrg6Zs/kjzAQwEwYbp8JxZVzZLRepQ==} + cpu: [arm64] + os: [linux] + requiresBuild: true + dev: true optional: true - '@rollup/rollup-linux-powerpc64le-gnu@4.18.0': + /@rollup/rollup-linux-powerpc64le-gnu@4.18.0: + resolution: {integrity: sha512-hNVMQK+qrA9Todu9+wqrXOHxFiD5YmdEi3paj6vP02Kx1hjd2LLYR2eaN7DsEshg09+9uzWi2W18MJDlG0cxJA==} + cpu: [ppc64] + os: [linux] + requiresBuild: true + dev: true optional: true - '@rollup/rollup-linux-riscv64-gnu@4.18.0': + /@rollup/rollup-linux-riscv64-gnu@4.18.0: + resolution: {integrity: sha512-ROCM7i+m1NfdrsmvwSzoxp9HFtmKGHEqu5NNDiZWQtXLA8S5HBCkVvKAxJ8U+CVctHwV2Gb5VUaK7UAkzhDjlg==} + cpu: [riscv64] + os: [linux] + requiresBuild: true + dev: true optional: true - '@rollup/rollup-linux-s390x-gnu@4.18.0': + /@rollup/rollup-linux-s390x-gnu@4.18.0: + resolution: {integrity: sha512-0UyyRHyDN42QL+NbqevXIIUnKA47A+45WyasO+y2bGJ1mhQrfrtXUpTxCOrfxCR4esV3/RLYyucGVPiUsO8xjg==} + cpu: [s390x] + os: [linux] + requiresBuild: true + dev: true optional: true - '@rollup/rollup-linux-x64-gnu@4.18.0': + /@rollup/rollup-linux-x64-gnu@4.18.0: + resolution: {integrity: sha512-xuglR2rBVHA5UsI8h8UbX4VJ470PtGCf5Vpswh7p2ukaqBGFTnsfzxUBetoWBWymHMxbIG0Cmx7Y9qDZzr648w==} + cpu: [x64] + os: [linux] + requiresBuild: true + dev: true optional: true - '@rollup/rollup-linux-x64-musl@4.18.0': + /@rollup/rollup-linux-x64-musl@4.18.0: + resolution: {integrity: sha512-LKaqQL9osY/ir2geuLVvRRs+utWUNilzdE90TpyoX0eNqPzWjRm14oMEE+YLve4k/NAqCdPkGYDaDF5Sw+xBfg==} + cpu: [x64] + os: [linux] + requiresBuild: true + dev: true optional: true - '@rollup/rollup-win32-arm64-msvc@4.18.0': + /@rollup/rollup-win32-arm64-msvc@4.18.0: + resolution: {integrity: sha512-7J6TkZQFGo9qBKH0pk2cEVSRhJbL6MtfWxth7Y5YmZs57Pi+4x6c2dStAUvaQkHQLnEQv1jzBUW43GvZW8OFqA==} + cpu: [arm64] + os: [win32] + requiresBuild: true + dev: true optional: true - '@rollup/rollup-win32-ia32-msvc@4.18.0': + /@rollup/rollup-win32-ia32-msvc@4.18.0: + resolution: {integrity: sha512-Txjh+IxBPbkUB9+SXZMpv+b/vnTEtFyfWZgJ6iyCmt2tdx0OF5WhFowLmnh8ENGNpfUlUZkdI//4IEmhwPieNg==} + cpu: [ia32] + os: [win32] + requiresBuild: true + dev: true optional: true - '@rollup/rollup-win32-x64-msvc@4.18.0': + /@rollup/rollup-win32-x64-msvc@4.18.0: + resolution: {integrity: sha512-UOo5FdvOL0+eIVTgS4tIdbW+TtnBLWg1YBCcU2KWM7nuNwRz9bksDX1bekJJCpu25N1DVWaCwnT39dVQxzqS8g==} + cpu: [x64] + os: [win32] + requiresBuild: true + dev: true optional: true - '@shikijs/core@1.6.4': {} + /@shikijs/core@1.6.4: + resolution: {integrity: sha512-WTU9rzZae1p2v6LOxMf6LhtmZOkIHYYW160IuahUyJy7YXPPjyWZLR1ag+SgD22ZMxZtz1gfU6Tccc8t0Il/XA==} + dev: true - '@shikijs/transformers@1.6.4': + /@shikijs/transformers@1.6.4: + resolution: {integrity: sha512-NqDt7gUg3ayVBnsipT/KoL1pqsVbsvT/2cB0pb5SG2q72qjAv9Lb5OP99pL//BMmI+sMTo+TeARntklyBu4mZQ==} dependencies: shiki: 1.6.4 + dev: true - '@sideway/address@4.1.5': + /@sideway/address@4.1.5: + resolution: {integrity: sha512-IqO/DUQHUkPeixNQ8n0JA6102hT9CmaljNTPmQ1u8MEhBo/R4Q8eKLN/vGZxuebwOroDB4cbpjheD4+/sKFK4Q==} dependencies: '@hapi/hoek': 9.3.0 + dev: true - '@sideway/formula@3.0.1': {} + /@sideway/formula@3.0.1: + resolution: {integrity: sha512-/poHZJJVjx3L+zVD6g9KgHfYnb443oi7wLu/XKojDviHy6HOEOA6z1Trk5aR1dGcmPenJEgb2sK2I80LeS3MIg==} + dev: true - '@sideway/pinpoint@2.0.0': {} + /@sideway/pinpoint@2.0.0: + resolution: {integrity: sha512-RNiOoTPkptFtSVzQevY/yWtZwf/RxyVnPy/OcA9HBM3MlGDnBEYL5B41H0MTn0Uec8Hi+2qUtTfG2WWZBmMejQ==} + dev: true - '@sinclair/typebox@0.27.8': {} + /@sinclair/typebox@0.27.8: + resolution: {integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==} + dev: true - '@sindresorhus/is@4.6.0': {} + /@sindresorhus/is@4.6.0: + resolution: {integrity: sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw==} + engines: {node: '>=10'} + dev: true - '@sindresorhus/merge-streams@2.3.0': {} + /@sindresorhus/merge-streams@2.3.0: + resolution: {integrity: sha512-LtoMMhxAlorcGhmFYI+LhPgbPZCkgP6ra1YL604EeF6U98pLlQ3iWIGMdWSC+vWmPBWBNgmDBAhnAobLROJmwg==} + engines: {node: '>=18'} + dev: true - '@sinonjs/commons@3.0.1': + /@sinonjs/commons@3.0.1: + resolution: {integrity: sha512-K3mCHKQ9sVh8o1C9cxkwxaOmXoAMlDxC1mYyHrjqOWEcBjYr76t96zL2zlj5dUGZ3HSw240X1qgH3Mjf1yJWpQ==} dependencies: type-detect: 4.0.8 + dev: true - '@sinonjs/fake-timers@10.3.0': + /@sinonjs/fake-timers@10.3.0: + resolution: {integrity: sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA==} dependencies: '@sinonjs/commons': 3.0.1 + dev: true - '@surma/rollup-plugin-off-main-thread@2.2.3': + /@surma/rollup-plugin-off-main-thread@2.2.3: + resolution: {integrity: sha512-lR8q/9W7hZpMWweNiAKU7NQerBnzQQLvi8qnTDU/fxItPhtZVMbPV3lbCwjhIlNBe9Bbr5V+KHshvWmVSG9cxQ==} dependencies: ejs: 3.1.10 json5: 2.2.3 magic-string: 0.25.9 string.prototype.matchall: 4.0.11 + dev: true - '@szmarczak/http-timer@4.0.6': + /@szmarczak/http-timer@4.0.6: + resolution: {integrity: sha512-4BAffykYOgO+5nzBWYwE3W90sBgLJoUPRWWcL8wlyiM8IB8ipJz3UMJ9KXQd1RKQXpKp8Tutn80HZtWsu2u76w==} + engines: {node: '>=10'} dependencies: defer-to-connect: 2.0.1 + dev: true - '@tanstack/virtual-core@3.5.1': {} + /@tanstack/virtual-core@3.5.1: + resolution: {integrity: sha512-046+AUSiDru/V9pajE1du8WayvBKeCvJ2NmKPy/mR8/SbKKrqmSbj7LJBfXE+nSq4f5TBXvnCzu0kcYebI9WdQ==} + dev: false - '@tanstack/vue-virtual@3.5.1(vue@3.4.27(typescript@5.4.5))': + /@tanstack/vue-virtual@3.5.1(vue@3.4.27): + resolution: {integrity: sha512-6mc4HtDPieDVKD6GqzHiJkdzuqRNdQZuoIbkwE6af939WV+w62YmSF69jN+BOqClqh/ObiW+X1VOQx1Pftrx1A==} + peerDependencies: + vue: ^2.7.0 || ^3.0.0 dependencies: '@tanstack/virtual-core': 3.5.1 vue: 3.4.27(typescript@5.4.5) + dev: false - '@tootallnate/once@2.0.0': {} + /@tootallnate/once@2.0.0: + resolution: {integrity: sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==} + engines: {node: '>= 10'} + dev: true - '@types/assert@1.5.10': {} + /@types/assert@1.5.10: + resolution: {integrity: sha512-qEO+AUgYab7GVbeDDgUNCU3o0aZUoIMpNAe+w5LDbRxfxQX7vQAdDgwj1AroX+i8KaV56FWg0srXlSZROnsrIQ==} + dev: false - '@types/babel__core@7.20.5': + /@types/babel__core@7.20.5: + resolution: {integrity: sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==} dependencies: '@babel/parser': 7.24.7 '@babel/types': 7.24.7 '@types/babel__generator': 7.6.8 '@types/babel__template': 7.4.4 '@types/babel__traverse': 7.20.6 + dev: true - '@types/babel__generator@7.6.8': + /@types/babel__generator@7.6.8: + resolution: {integrity: sha512-ASsj+tpEDsEiFr1arWrlN6V3mdfjRMZt6LtK/Vp/kreFLnr5QH5+DhvD5nINYZXzwJvXeGq+05iUXcAzVrqWtw==} dependencies: '@babel/types': 7.24.7 + dev: true - '@types/babel__template@7.4.4': + /@types/babel__template@7.4.4: + resolution: {integrity: sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==} dependencies: '@babel/parser': 7.24.7 '@babel/types': 7.24.7 + dev: true - '@types/babel__traverse@7.20.6': + /@types/babel__traverse@7.20.6: + resolution: {integrity: sha512-r1bzfrm0tomOI8g1SzvCaQHo6Lcv6zu0EA+W2kHrt8dyrHQxGzBBL4kdkzIS+jBMV+EYcMAEAqXqYaLJq5rOZg==} dependencies: '@babel/types': 7.24.7 + dev: true - '@types/body-parser@1.19.5': + /@types/body-parser@1.19.5: + resolution: {integrity: sha512-fB3Zu92ucau0iQ0JMCFQE7b/dv8Ot07NI3KaZIkIUNXq82k4eBAqUaneXfleGY9JWskeS9y+u0nXMyspcuQrCg==} dependencies: '@types/connect': 3.4.38 '@types/node': 20.14.2 + dev: true - '@types/bonjour@3.5.13': + /@types/bonjour@3.5.13: + resolution: {integrity: sha512-z9fJ5Im06zvUL548KvYNecEVlA7cVDkGUi6kZusb04mpyEFKCIZJvloCcmpmLaIahDpOQGHaHmG6imtPMmPXGQ==} dependencies: '@types/node': 20.14.2 + dev: true - '@types/braces@3.0.4': {} + /@types/braces@3.0.4: + resolution: {integrity: sha512-0WR3b8eaISjEW7RpZnclONaLFDf7buaowRHdqLp4vLj54AsSAYWfh3DRbfiYJY9XDxMgx1B4sE1Afw2PGpuHOA==} + dev: true - '@types/cacheable-request@6.0.3': + /@types/cacheable-request@6.0.3: + resolution: {integrity: sha512-IQ3EbTzGxIigb1I3qPZc1rWJnH0BmSKv5QYTalEwweFvyBDLSAe24zP0le/hyi7ecGfZVlIVAg4BZqb8WBwKqw==} dependencies: '@types/http-cache-semantics': 4.0.4 '@types/keyv': 3.1.4 '@types/node': 20.14.2 '@types/responselike': 1.0.3 + dev: true - '@types/connect-history-api-fallback@1.5.4': + /@types/connect-history-api-fallback@1.5.4: + resolution: {integrity: sha512-n6Cr2xS1h4uAulPRdlw6Jl6s1oG8KrVilPN2yUITEs+K48EzMJJ3W1xy8K5eWuFvjp3R74AOIGSmp2UfBJ8HFw==} dependencies: '@types/express-serve-static-core': 4.19.3 '@types/node': 20.14.2 + dev: true - '@types/connect@3.4.38': + /@types/connect@3.4.38: + resolution: {integrity: sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==} dependencies: '@types/node': 20.14.2 + dev: true - '@types/cors@2.8.17': + /@types/cors@2.8.17: + resolution: {integrity: sha512-8CGDvrBj1zgo2qE+oS3pOCyYNqCPryMWY2bGfwA0dcfopWGgxs+78df0Rs3rc9THP4JkOhLsAa+15VdpAqkcUA==} dependencies: '@types/node': 20.14.2 + dev: true - '@types/cytoscape@3.21.3': {} + /@types/cytoscape@3.21.3: + resolution: {integrity: sha512-z8hhiKk8XAOh5uLPocxP06sp7ytI24F/tBSb6O72cDtUM85XLP2cQHCJtRO7vQWGWmUlAc3jnTIzWmviDngK6g==} + dev: true - '@types/d3-array@3.2.1': {} + /@types/d3-array@3.2.1: + resolution: {integrity: sha512-Y2Jn2idRrLzUfAKV2LyRImR+y4oa2AntrgID95SHJxuMUrkNXmanDSed71sRNZysveJVt1hLLemQZIady0FpEg==} + dev: true - '@types/d3-axis@3.0.6': + /@types/d3-axis@3.0.6: + resolution: {integrity: sha512-pYeijfZuBd87T0hGn0FO1vQ/cgLk6E1ALJjfkC0oJ8cbwkZl3TpgS8bVBLZN+2jjGgg38epgxb2zmoGtSfvgMw==} dependencies: '@types/d3-selection': 3.0.10 + dev: true - '@types/d3-brush@3.0.6': + /@types/d3-brush@3.0.6: + resolution: {integrity: sha512-nH60IZNNxEcrh6L1ZSMNA28rj27ut/2ZmI3r96Zd+1jrZD++zD3LsMIjWlvg4AYrHn/Pqz4CF3veCxGjtbqt7A==} dependencies: '@types/d3-selection': 3.0.10 + dev: true - '@types/d3-chord@3.0.6': {} + /@types/d3-chord@3.0.6: + resolution: {integrity: sha512-LFYWWd8nwfwEmTZG9PfQxd17HbNPksHBiJHaKuY1XeqscXacsS2tyoo6OdRsjf+NQYeB6XrNL3a25E3gH69lcg==} + dev: true - '@types/d3-color@3.1.3': {} + /@types/d3-color@3.1.3: + resolution: {integrity: sha512-iO90scth9WAbmgv7ogoq57O9YpKmFBbmoEoCHDB2xMBY0+/KVrqAaCDyCE16dUspeOvIxFFRI+0sEtqDqy2b4A==} + dev: true - '@types/d3-contour@3.0.6': + /@types/d3-contour@3.0.6: + resolution: {integrity: sha512-BjzLgXGnCWjUSYGfH1cpdo41/hgdWETu4YxpezoztawmqsvCeep+8QGfiY6YbDvfgHz/DkjeIkkZVJavB4a3rg==} dependencies: '@types/d3-array': 3.2.1 '@types/geojson': 7946.0.14 + dev: true - '@types/d3-delaunay@6.0.4': {} + /@types/d3-delaunay@6.0.4: + resolution: {integrity: sha512-ZMaSKu4THYCU6sV64Lhg6qjf1orxBthaC161plr5KuPHo3CNm8DTHiLw/5Eq2b6TsNP0W0iJrUOFscY6Q450Hw==} + dev: true - '@types/d3-dispatch@3.0.6': {} + /@types/d3-dispatch@3.0.6: + resolution: {integrity: sha512-4fvZhzMeeuBJYZXRXrRIQnvUYfyXwYmLsdiN7XXmVNQKKw1cM8a5WdID0g1hVFZDqT9ZqZEY5pD44p24VS7iZQ==} + dev: true - '@types/d3-drag@3.0.7': + /@types/d3-drag@3.0.7: + resolution: {integrity: sha512-HE3jVKlzU9AaMazNufooRJ5ZpWmLIoc90A37WU2JMmeq28w1FQqCZswHZ3xR+SuxYftzHq6WU6KJHvqxKzTxxQ==} dependencies: '@types/d3-selection': 3.0.10 + dev: true - '@types/d3-dsv@3.0.7': {} + /@types/d3-dsv@3.0.7: + resolution: {integrity: sha512-n6QBF9/+XASqcKK6waudgL0pf/S5XHPPI8APyMLLUHd8NqouBGLsU8MgtO7NINGtPBtk9Kko/W4ea0oAspwh9g==} + dev: true - '@types/d3-ease@3.0.2': {} + /@types/d3-ease@3.0.2: + resolution: {integrity: sha512-NcV1JjO5oDzoK26oMzbILE6HW7uVXOHLQvHshBUW4UMdZGfiY6v5BeQwh9a9tCzv+CeefZQHJt5SRgK154RtiA==} + dev: true - '@types/d3-fetch@3.0.7': + /@types/d3-fetch@3.0.7: + resolution: {integrity: sha512-fTAfNmxSb9SOWNB9IoG5c8Hg6R+AzUHDRlsXsDZsNp6sxAEOP0tkP3gKkNSO/qmHPoBFTxNrjDprVHDQDvo5aA==} dependencies: '@types/d3-dsv': 3.0.7 + dev: true - '@types/d3-force@3.0.9': {} + /@types/d3-force@3.0.9: + resolution: {integrity: sha512-IKtvyFdb4Q0LWna6ymywQsEYjK/94SGhPrMfEr1TIc5OBeziTi+1jcCvttts8e0UWZIxpasjnQk9MNk/3iS+kA==} + dev: true - '@types/d3-format@3.0.4': {} + /@types/d3-format@3.0.4: + resolution: {integrity: sha512-fALi2aI6shfg7vM5KiR1wNJnZ7r6UuggVqtDA+xiEdPZQwy/trcQaHnwShLuLdta2rTymCNpxYTiMZX/e09F4g==} + dev: true - '@types/d3-geo@3.1.0': + /@types/d3-geo@3.1.0: + resolution: {integrity: sha512-856sckF0oP/diXtS4jNsiQw/UuK5fQG8l/a9VVLeSouf1/PPbBE1i1W852zVwKwYCBkFJJB7nCFTbk6UMEXBOQ==} dependencies: '@types/geojson': 7946.0.14 + dev: true - '@types/d3-hierarchy@3.1.7': {} + /@types/d3-hierarchy@3.1.7: + resolution: {integrity: sha512-tJFtNoYBtRtkNysX1Xq4sxtjK8YgoWUNpIiUee0/jHGRwqvzYxkq0hGVbbOGSz+JgFxxRu4K8nb3YpG3CMARtg==} + dev: true - '@types/d3-interpolate@3.0.4': + /@types/d3-interpolate@3.0.4: + resolution: {integrity: sha512-mgLPETlrpVV1YRJIglr4Ez47g7Yxjl1lj7YKsiMCb27VJH9W8NVM6Bb9d8kkpG/uAQS5AmbA48q2IAolKKo1MA==} dependencies: '@types/d3-color': 3.1.3 + dev: true - '@types/d3-path@1.0.11': {} + /@types/d3-path@1.0.11: + resolution: {integrity: sha512-4pQMp8ldf7UaB/gR8Fvvy69psNHkTpD/pVw3vmEi8iZAB9EPMBruB1JvHO4BIq9QkUUd2lV1F5YXpMNj7JPBpw==} + dev: true - '@types/d3-path@3.1.0': {} + /@types/d3-path@3.1.0: + resolution: {integrity: sha512-P2dlU/q51fkOc/Gfl3Ul9kicV7l+ra934qBFXCFhrZMOL6du1TM0pm1ThYvENukyOn5h9v+yMJ9Fn5JK4QozrQ==} + dev: true - '@types/d3-polygon@3.0.2': {} + /@types/d3-polygon@3.0.2: + resolution: {integrity: sha512-ZuWOtMaHCkN9xoeEMr1ubW2nGWsp4nIql+OPQRstu4ypeZ+zk3YKqQT0CXVe/PYqrKpZAi+J9mTs05TKwjXSRA==} + dev: true - '@types/d3-quadtree@3.0.6': {} + /@types/d3-quadtree@3.0.6: + resolution: {integrity: sha512-oUzyO1/Zm6rsxKRHA1vH0NEDG58HrT5icx/azi9MF1TWdtttWl0UIUsjEQBBh+SIkrpd21ZjEv7ptxWys1ncsg==} + dev: true - '@types/d3-random@3.0.3': {} + /@types/d3-random@3.0.3: + resolution: {integrity: sha512-Imagg1vJ3y76Y2ea0871wpabqp613+8/r0mCLEBfdtqC7xMSfj9idOnmBYyMoULfHePJyxMAw3nWhJxzc+LFwQ==} + dev: true - '@types/d3-sankey@0.12.4': + /@types/d3-sankey@0.12.4: + resolution: {integrity: sha512-YTicQNwioitIlvuvlfW2GfO6sKxpohzg2cSQttlXAPjFwoBuN+XpGLhUN3kLutG/dI3GCLC+DUorqiJt7Naetw==} dependencies: '@types/d3-shape': 1.3.12 + dev: true - '@types/d3-scale-chromatic@3.0.3': {} + /@types/d3-scale-chromatic@3.0.3: + resolution: {integrity: sha512-laXM4+1o5ImZv3RpFAsTRn3TEkzqkytiOY0Dz0sq5cnd1dtNlk6sHLon4OvqaiJb28T0S/TdsBI3Sjsy+keJrw==} + dev: true - '@types/d3-scale@4.0.8': + /@types/d3-scale@4.0.8: + resolution: {integrity: sha512-gkK1VVTr5iNiYJ7vWDI+yUFFlszhNMtVeneJ6lUTKPjprsvLLI9/tgEGiXJOnlINJA8FyA88gfnQsHbybVZrYQ==} dependencies: '@types/d3-time': 3.0.3 + dev: true - '@types/d3-selection@3.0.10': {} + /@types/d3-selection@3.0.10: + resolution: {integrity: sha512-cuHoUgS/V3hLdjJOLTT691+G2QoqAjCVLmr4kJXR4ha56w1Zdu8UUQ5TxLRqudgNjwXeQxKMq4j+lyf9sWuslg==} + dev: true - '@types/d3-shape@1.3.12': + /@types/d3-shape@1.3.12: + resolution: {integrity: sha512-8oMzcd4+poSLGgV0R1Q1rOlx/xdmozS4Xab7np0eamFFUYq71AU9pOCJEFnkXW2aI/oXdVYJzw6pssbSut7Z9Q==} dependencies: '@types/d3-path': 1.0.11 + dev: true - '@types/d3-shape@3.1.6': + /@types/d3-shape@3.1.6: + resolution: {integrity: sha512-5KKk5aKGu2I+O6SONMYSNflgiP0WfZIQvVUMan50wHsLG1G94JlxEVnCpQARfTtzytuY0p/9PXXZb3I7giofIA==} dependencies: '@types/d3-path': 3.1.0 + dev: true - '@types/d3-time-format@4.0.3': {} + /@types/d3-time-format@4.0.3: + resolution: {integrity: sha512-5xg9rC+wWL8kdDj153qZcsJ0FWiFt0J5RB6LYUNZjwSnesfblqrI/bJ1wBdJ8OQfncgbJG5+2F+qfqnqyzYxyg==} + dev: true - '@types/d3-time@3.0.3': {} + /@types/d3-time@3.0.3: + resolution: {integrity: sha512-2p6olUZ4w3s+07q3Tm2dbiMZy5pCDfYwtLXXHUnVzXgQlZ/OyPtUz6OL382BkOuGlLXqfT+wqv8Fw2v8/0geBw==} + dev: true - '@types/d3-timer@3.0.2': {} + /@types/d3-timer@3.0.2: + resolution: {integrity: sha512-Ps3T8E8dZDam6fUyNiMkekK3XUsaUEik+idO9/YjPtfj2qruF8tFBXS7XhtE4iIXBLxhmLjP3SXpLhVf21I9Lw==} + dev: true - '@types/d3-transition@3.0.8': + /@types/d3-transition@3.0.8: + resolution: {integrity: sha512-ew63aJfQ/ms7QQ4X7pk5NxQ9fZH/z+i24ZfJ6tJSfqxJMrYLiK01EAs2/Rtw/JreGUsS3pLPNV644qXFGnoZNQ==} dependencies: '@types/d3-selection': 3.0.10 + dev: true - '@types/d3-zoom@3.0.8': + /@types/d3-zoom@3.0.8: + resolution: {integrity: sha512-iqMC4/YlFCSlO8+2Ii1GGGliCAY4XdeG748w5vQUbevlbDu0zSjH/+jojorQVBK/se0j6DUFNPBGSqD3YWYnDw==} dependencies: '@types/d3-interpolate': 3.0.4 '@types/d3-selection': 3.0.10 + dev: true - '@types/d3@7.4.3': + /@types/d3@7.4.3: + resolution: {integrity: sha512-lZXZ9ckh5R8uiFVt8ogUNf+pIrK4EsWrx2Np75WvF/eTpJ0FMHNhjXk8CKEx/+gpHbNQyJWehbFaTvqmHWB3ww==} dependencies: '@types/d3-array': 3.2.1 '@types/d3-axis': 3.0.6 @@ -10882,234 +4397,379 @@ snapshots: '@types/d3-timer': 3.0.2 '@types/d3-transition': 3.0.8 '@types/d3-zoom': 3.0.8 + dev: true - '@types/debug@4.1.12': + /@types/debug@4.1.12: + resolution: {integrity: sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==} dependencies: '@types/ms': 0.7.34 - '@types/dompurify@3.0.5': + /@types/dompurify@3.0.5: + resolution: {integrity: sha512-1Wg0g3BtQF7sSb27fJQAKck1HECM6zV1EB66j8JH9i3LCjYabJa0FSdiSgsD5K/RbrsR0SiraKacLB+T8ZVYAg==} dependencies: '@types/trusted-types': 2.0.7 + dev: true - '@types/eslint-scope@3.7.7': + /@types/eslint-scope@3.7.7: + resolution: {integrity: sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg==} dependencies: '@types/eslint': 8.56.10 '@types/estree': 1.0.5 + dev: true - '@types/eslint@8.56.10': + /@types/eslint@8.56.10: + resolution: {integrity: sha512-Shavhk87gCtY2fhXDctcfS3e6FdxWkCx1iUZ9eEUbh7rTqlZT0/IzOkCOVt0fCjcFuZ9FPYfuezTBImfHCDBGQ==} dependencies: '@types/estree': 1.0.5 '@types/json-schema': 7.0.15 + dev: true - '@types/estree@0.0.39': {} + /@types/estree@0.0.39: + resolution: {integrity: sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==} + dev: true - '@types/estree@1.0.5': {} + /@types/estree@1.0.5: + resolution: {integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==} + dev: true - '@types/express-serve-static-core@4.19.3': + /@types/express-serve-static-core@4.19.3: + resolution: {integrity: sha512-KOzM7MhcBFlmnlr/fzISFF5vGWVSvN6fTd4T+ExOt08bA/dA5kpSzY52nMsI1KDFmUREpJelPYyuslLRSjjgCg==} dependencies: '@types/node': 20.14.2 '@types/qs': 6.9.15 '@types/range-parser': 1.2.7 '@types/send': 0.17.4 + dev: true - '@types/express@4.17.21': + /@types/express@4.17.21: + resolution: {integrity: sha512-ejlPM315qwLpaQlQDTjPdsUFSc6ZsP4AN6AlWnogPjQ7CVi7PYF3YVz+CY3jE2pwYf7E/7HlDAN0rV2GxTG0HQ==} dependencies: '@types/body-parser': 1.19.5 '@types/express-serve-static-core': 4.19.3 '@types/qs': 6.9.15 '@types/serve-static': 1.15.7 + dev: true - '@types/flexsearch@0.7.6': {} + /@types/flexsearch@0.7.6: + resolution: {integrity: sha512-H5IXcRn96/gaDmo+rDl2aJuIJsob8dgOXDqf8K0t8rWZd1AFNaaspmRsElESiU+EWE33qfbFPgI0OC/B1g9FCA==} + dev: true - '@types/geojson@7946.0.14': {} + /@types/geojson@7946.0.14: + resolution: {integrity: sha512-WCfD5Ht3ZesJUsONdhvm84dmzWOiOzOAqOncN0++w0lBw1o8OuDNJF2McvvCef/yBqb/HYRahp1BYtODFQ8bRg==} + dev: true - '@types/glob@7.2.0': + /@types/glob@7.2.0: + resolution: {integrity: sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA==} dependencies: '@types/minimatch': 5.1.2 '@types/node': 20.14.2 + dev: true - '@types/glob@8.1.0': + /@types/glob@8.1.0: + resolution: {integrity: sha512-IO+MJPVhoqz+28h1qLAcBEH2+xHMK6MTyHJc7MTnnYb6wsoLR29POVGJ7LycmVXIqyy/4/2ShP5sUwTXuOwb/w==} dependencies: '@types/minimatch': 5.1.2 '@types/node': 20.14.2 + dev: true - '@types/graceful-fs@4.1.9': + /@types/graceful-fs@4.1.9: + resolution: {integrity: sha512-olP3sd1qOEe5dXTSaFvQG+02VdRXcdytWLAZsAq1PecU8uqQAhkrnbli7DagjtXKW/Bl7YJbUsa8MPcuc8LHEQ==} dependencies: '@types/node': 20.14.2 + dev: true - '@types/http-cache-semantics@4.0.4': {} + /@types/http-cache-semantics@4.0.4: + resolution: {integrity: sha512-1m0bIFVc7eJWyve9S0RnuRgcQqF/Xd5QsUZAZeQFr1Q3/p9JWoQQEqmVy+DPTNpGXwhgIetAoYF8JSc33q29QA==} + dev: true - '@types/http-errors@2.0.4': {} + /@types/http-errors@2.0.4: + resolution: {integrity: sha512-D0CFMMtydbJAegzOyHjtiKPLlvnm3iTZyZRSZoLq2mRhDdmLfIWOCYPfQJ4cu2erKghU++QvjcUjp/5h7hESpA==} + dev: true - '@types/http-proxy@1.17.14': + /@types/http-proxy@1.17.14: + resolution: {integrity: sha512-SSrD0c1OQzlFX7pGu1eXxSEjemej64aaNPRhhVYUGqXh0BtldAAx37MG8btcumvpgKyZp1F5Gn3JkktdxiFv6w==} dependencies: '@types/node': 20.14.2 + dev: true - '@types/istanbul-lib-coverage@2.0.6': {} + /@types/istanbul-lib-coverage@2.0.6: + resolution: {integrity: sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==} + dev: true - '@types/istanbul-lib-report@3.0.3': + /@types/istanbul-lib-report@3.0.3: + resolution: {integrity: sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA==} dependencies: '@types/istanbul-lib-coverage': 2.0.6 + dev: true - '@types/istanbul-reports@3.0.4': + /@types/istanbul-reports@3.0.4: + resolution: {integrity: sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==} dependencies: '@types/istanbul-lib-report': 3.0.3 + dev: true - '@types/js-yaml@4.0.9': {} + /@types/js-yaml@4.0.9: + resolution: {integrity: sha512-k4MGaQl5TGo/iipqb2UDG2UwjXziSWkh0uysQelTlJpX1qGlpUZYm8PnO4DxG1qBomtJUdYJ6qR6xdIah10JLg==} + dev: true - '@types/jsdom@21.1.7': + /@types/jsdom@21.1.7: + resolution: {integrity: sha512-yOriVnggzrnQ3a9OKOCxaVuSug3w3/SbOj5i7VwXWZEyUNl3bLF9V3MfxGbZKuwqJOQyRfqXyROBB1CoZLFWzA==} dependencies: '@types/node': 20.14.2 '@types/tough-cookie': 4.0.5 parse5: 7.1.2 + dev: true - '@types/json-schema@7.0.15': {} + /@types/json-schema@7.0.15: + resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==} + dev: true - '@types/katex@0.16.7': {} + /@types/katex@0.16.7: + resolution: {integrity: sha512-HMwFiRujE5PjrgwHQ25+bsLJgowjGjm5Z8FVSf0N6PwgJrwxH0QxzHYDcKsTfV3wva0vzrpqMTJS2jXPr5BMEQ==} + dev: true - '@types/keyv@3.1.4': + /@types/keyv@3.1.4: + resolution: {integrity: sha512-BQ5aZNSCpj7D6K2ksrRCTmKRLEpnPvWDiLPfoGyhZ++8YtiK9d/3DBKPJgry359X/P1PfruyYwvnvwFjuEiEIg==} dependencies: '@types/node': 20.14.2 + dev: true - '@types/linkify-it@5.0.0': {} + /@types/linkify-it@5.0.0: + resolution: {integrity: sha512-sVDA58zAw4eWAffKOaQH5/5j3XeayukzDk+ewSsnv3p4yJEZHCCzMDiZM8e0OUrRvmpGZ85jf4yDHkHsgBNr9Q==} + dev: true - '@types/lodash-es@4.17.12': + /@types/lodash-es@4.17.12: + resolution: {integrity: sha512-0NgftHUcV4v34VhXm8QBSftKVXtbkBG3ViCjs6+eJ5a6y6Mi/jiFGPc1sC7QK+9BFhWrURE3EOggmWaSxL9OzQ==} dependencies: '@types/lodash': 4.17.5 + dev: true - '@types/lodash@4.17.5': {} + /@types/lodash@4.17.5: + resolution: {integrity: sha512-MBIOHVZqVqgfro1euRDWX7OO0fBVUUMrN6Pwm8LQsz8cWhEpihlvR70ENj3f40j58TNxZaWv2ndSkInykNBBJw==} + dev: true - '@types/markdown-it@12.2.3': + /@types/markdown-it@12.2.3: + resolution: {integrity: sha512-GKMHFfv3458yYy+v/N8gjufHO6MSZKCOXpZc5GXIWWy8uldwfmPn98vp81gZ5f9SVw8YYBctgfJ22a2d7AOMeQ==} dependencies: '@types/linkify-it': 5.0.0 '@types/mdurl': 2.0.0 + dev: true - '@types/markdown-it@14.1.1': + /@types/markdown-it@14.1.1: + resolution: {integrity: sha512-4NpsnpYl2Gt1ljyBGrKMxFYAYvpqbnnkgP/i/g+NLpjEUa3obn1XJCur9YbEXKDAkaXqsR1LbDnGEJ0MmKFxfg==} dependencies: '@types/linkify-it': 5.0.0 '@types/mdurl': 2.0.0 + dev: true - '@types/mdast@3.0.15': + /@types/mdast@3.0.15: + resolution: {integrity: sha512-LnwD+mUEfxWMa1QpDraczIn6k0Ee3SMicuYSSzS6ZYl2gKS09EClnJYGd8Du6rfc5r/GZEk5o1mRb8TaTj03sQ==} dependencies: '@types/unist': 2.0.10 + dev: true - '@types/mdast@4.0.4': + /@types/mdast@4.0.4: + resolution: {integrity: sha512-kGaNbPh1k7AFzgpud/gMdvIm5xuECykRR+JnWKQno9TAXVa6WIVCGTPvYGekIDL4uwCZQSYbUxNBSb1aUo79oA==} dependencies: '@types/unist': 3.0.2 - '@types/mdurl@2.0.0': {} + /@types/mdurl@2.0.0: + resolution: {integrity: sha512-RGdgjQUZba5p6QEFAVx2OGb8rQDL/cPRG7GiedRzMcJ1tYnUANBncjbSB1NRGwbvjcPeikRABz2nshyPk1bhWg==} + dev: true - '@types/micromatch@4.0.7': + /@types/micromatch@4.0.7: + resolution: {integrity: sha512-C/FMQ8HJAZhTsDpl4wDKZdMeeW5USjgzOczUwTGbRc1ZopPgOhIEnxY2ZgUrsuyy4DwK1JVOJZKFakv3TbCKiA==} dependencies: '@types/braces': 3.0.4 + dev: true - '@types/mime@1.3.5': {} + /@types/mime@1.3.5: + resolution: {integrity: sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w==} + dev: true - '@types/minimatch@5.1.2': {} + /@types/minimatch@5.1.2: + resolution: {integrity: sha512-K0VQKziLUWkVKiRVrx4a40iPaxTUefQmjtkQofBkYRcoaaL/8rhwDWww9qWbrgicNOgnpIsMxyNIUM4+n6dUIA==} + dev: true - '@types/ms@0.7.34': {} + /@types/ms@0.7.34: + resolution: {integrity: sha512-nG96G3Wp6acyAgJqGasjODb+acrI7KltPiRxzHPXnP3NgI28bpQDRv53olbqGXbfcgF5aiiHmO3xpwEpS5Ld9g==} - '@types/node-forge@1.3.11': + /@types/node-forge@1.3.11: + resolution: {integrity: sha512-FQx220y22OKNTqaByeBGqHWYz4cl94tpcxeFdvBo3wjG6XPBuZ0BNgNZRV5J5TFmmcsJ4IzsLkmGRiQbnYsBEQ==} dependencies: '@types/node': 20.14.2 + dev: true - '@types/node@18.19.34': + /@types/node@18.19.34: + resolution: {integrity: sha512-eXF4pfBNV5DAMKGbI02NnDtWrQ40hAN558/2vvS4gMpMIxaf6JmD7YjnZbq0Q9TDSSkKBamime8ewRoomHdt4g==} dependencies: undici-types: 5.26.5 + dev: true - '@types/node@20.14.2': + /@types/node@20.14.2: + resolution: {integrity: sha512-xyu6WAMVwv6AKFLB+e/7ySZVr/0zLCzOa7rSpq6jNwpqOrUbcACDWC+53d4n2QHOnDou0fbIsg8wZu/sxrnI4Q==} dependencies: undici-types: 5.26.5 + dev: true - '@types/normalize-package-data@2.4.4': {} + /@types/normalize-package-data@2.4.4: + resolution: {integrity: sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==} + dev: true - '@types/prettier@2.7.3': {} + /@types/prettier@2.7.3: + resolution: {integrity: sha512-+68kP9yzs4LMp7VNh8gdzMSPZFL44MLGqiHWvttYJe+6qnuVr4Ek9wSBQoveqY/r+LwjCcU29kNVkidwim+kYA==} + dev: true - '@types/prettier@3.0.0': + /@types/prettier@3.0.0: + resolution: {integrity: sha512-mFMBfMOz8QxhYVbuINtswBp9VL2b4Y0QqYHwqLz3YbgtfAcat2Dl6Y1o4e22S/OVE6Ebl9m7wWiMT2lSbAs1wA==} + deprecated: This is a stub types definition. prettier provides its own type definitions, so you do not need this installed. dependencies: prettier: 3.3.2 + dev: true - '@types/qs@6.9.15': {} + /@types/qs@6.9.15: + resolution: {integrity: sha512-uXHQKES6DQKKCLh441Xv/dwxOq1TVS3JPUMlEqoEglvlhR6Mxnlew/Xq/LRVHpLyk7iK3zODe1qYHIMltO7XGg==} + dev: true - '@types/ramda@0.28.25': + /@types/ramda@0.28.25: + resolution: {integrity: sha512-HrQNqQAGcITpn9HAJFamDxm7iZeeXiP/95pN5OMbNniDjzCCeOHbBKNGmUy8NRi0fhYS+/cXeo91MFC+06gbow==} dependencies: ts-toolbelt: 6.15.5 + dev: false - '@types/range-parser@1.2.7': {} + /@types/range-parser@1.2.7: + resolution: {integrity: sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ==} + dev: true - '@types/resolve@1.20.2': {} + /@types/resolve@1.20.2: + resolution: {integrity: sha512-60BCwRFOZCQhDncwQdxxeOEEkbc5dIMccYLwbxsS4TUNeVECQ/pBJ0j09mrHOl/JJvpRPGwO9SvE4nR2Nb/a4Q==} + dev: true - '@types/responselike@1.0.3': + /@types/responselike@1.0.3: + resolution: {integrity: sha512-H/+L+UkTV33uf49PH5pCAUBVPNj2nDBXTN+qS1dOwyyg24l3CcicicCA7ca+HMvJBZcFgl5r8e+RR6elsb4Lyw==} dependencies: '@types/node': 20.14.2 + dev: true - '@types/retry@0.12.0': {} + /@types/retry@0.12.0: + resolution: {integrity: sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA==} + dev: true - '@types/rollup-plugin-visualizer@4.2.4': + /@types/rollup-plugin-visualizer@4.2.4: + resolution: {integrity: sha512-BW4Q6D1Qy5gno5qHWrnMDC2dOe/TAKXvqCpckOggCCu+XpS+ZZJJ1lq1+K3bvYccoO3Y7f5kglbFAgYGqCgULg==} dependencies: rollup: 2.79.1 + dev: true - '@types/semver@7.5.8': {} + /@types/semver@7.5.8: + resolution: {integrity: sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==} + dev: true - '@types/send@0.17.4': + /@types/send@0.17.4: + resolution: {integrity: sha512-x2EM6TJOybec7c52BX0ZspPodMsQUd5L6PRwOunVyVUhXiBSKf3AezDL8Dgvgt5o0UfKNfuA0eMLr2wLT4AiBA==} dependencies: '@types/mime': 1.3.5 '@types/node': 20.14.2 + dev: true - '@types/serve-index@1.9.4': + /@types/serve-index@1.9.4: + resolution: {integrity: sha512-qLpGZ/c2fhSs5gnYsQxtDEq3Oy8SXPClIXkW5ghvAvsNuVSA8k+gCONcUCS/UjLEYvYps+e8uBtfgXgvhwfNug==} dependencies: '@types/express': 4.17.21 + dev: true - '@types/serve-static@1.15.7': + /@types/serve-static@1.15.7: + resolution: {integrity: sha512-W8Ym+h8nhuRwaKPaDw34QUkwsGi6Rc4yYqvKFo5rm2FUEhCFbzVWrxXUxuKK8TASjWsysJY0nsmNCGhCOIsrOw==} dependencies: '@types/http-errors': 2.0.4 '@types/node': 20.14.2 '@types/send': 0.17.4 + dev: true - '@types/sinonjs__fake-timers@8.1.1': {} + /@types/sinonjs__fake-timers@8.1.1: + resolution: {integrity: sha512-0kSuKjAS0TrGLJ0M/+8MaFkGsQhZpB6pxOmvS3K8FYI72K//YmdfoW9X2qPsAKh1mkwxGD5zib9s1FIFed6E8g==} + dev: true - '@types/sizzle@2.3.8': {} + /@types/sizzle@2.3.8: + resolution: {integrity: sha512-0vWLNK2D5MT9dg0iOo8GlKguPAU02QjmZitPEsXRuJXU/OGIOt9vT9Fc26wtYuavLxtO45v9PGleoL9Z0k1LHg==} + dev: true - '@types/sockjs@0.3.36': + /@types/sockjs@0.3.36: + resolution: {integrity: sha512-MK9V6NzAS1+Ud7JV9lJLFqW85VbC9dq3LmwZCuBe4wBDgKC0Kj/jd8Xl+nSviU+Qc3+m7umHHyHg//2KSa0a0Q==} dependencies: '@types/node': 20.14.2 + dev: true - '@types/stack-utils@2.0.3': {} + /@types/stack-utils@2.0.3: + resolution: {integrity: sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw==} + dev: true - '@types/stylis@4.2.6': {} + /@types/stylis@4.2.6: + resolution: {integrity: sha512-4nebF2ZJGzQk0ka0O6+FZUWceyFv4vWq/0dXBMmrSeAwzOuOd/GxE5Pa64d/ndeNLG73dXoBsRzvtsVsYUv6Uw==} + dev: true - '@types/tough-cookie@4.0.5': {} + /@types/tough-cookie@4.0.5: + resolution: {integrity: sha512-/Ad8+nIOV7Rl++6f1BdKxFSMgmoqEoYbHRpPcx3JEfv8VRsQe9Z4mCXeJBzxs7mbHY/XOZZuXlRNfhpVPbs6ZA==} + dev: true - '@types/trusted-types@2.0.7': {} + /@types/trusted-types@2.0.7: + resolution: {integrity: sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw==} + dev: true - '@types/unist@2.0.10': {} + /@types/unist@2.0.10: + resolution: {integrity: sha512-IfYcSBWE3hLpBg8+X2SEa8LVkJdJEkT2Ese2aaLs3ptGdVtABxndrMaxuFlQ1qdFf9Q5rDvDpxI3WwgvKFAsQA==} + dev: true - '@types/unist@3.0.2': {} + /@types/unist@3.0.2: + resolution: {integrity: sha512-dqId9J8K/vGi5Zr7oo212BGii5m3q5Hxlkwy3WpYuKPklmBEvsbMYYyLxAQpSffdLl/gdW0XUpKWFvYmyoWCoQ==} - '@types/uuid@9.0.8': {} + /@types/uuid@9.0.8: + resolution: {integrity: sha512-jg+97EGIcY9AGHJJRaaPVgetKDsrTgbRjQ5Msgjh/DQKEFl0DtyRr/VCOyD1T2R1MNeWPK/u7JoGhlDZnKBAfA==} + dev: true - '@types/web-bluetooth@0.0.20': {} + /@types/web-bluetooth@0.0.20: + resolution: {integrity: sha512-g9gZnnXVq7gM7v3tJCWV/qw7w+KeOlSHAhgF9RytFyifW6AF61hdT2ucrYhPq9hLs5JIryeupHV3qGk95dH9ow==} - '@types/ws@8.5.10': + /@types/ws@8.5.10: + resolution: {integrity: sha512-vmQSUcfalpIq0R9q7uTo2lXs6eGIpt9wtnLdMv9LVpIjCA/+ufZRozlVoVelIYixx1ugCBKDhn89vnsEGOCx9A==} dependencies: '@types/node': 20.14.2 + dev: true - '@types/ws@8.5.5': + /@types/ws@8.5.5: + resolution: {integrity: sha512-lwhs8hktwxSjf9UaZ9tG5M03PGogvFaH8gUgLNbN9HKIg0dvv6q+gkSuJ8HN4/VbyxkuLzCjlN7GquQ0gUJfIg==} dependencies: '@types/node': 20.14.2 + dev: true - '@types/yargs-parser@21.0.3': {} + /@types/yargs-parser@21.0.3: + resolution: {integrity: sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==} + dev: true - '@types/yargs@17.0.32': + /@types/yargs@17.0.32: + resolution: {integrity: sha512-xQ67Yc/laOG5uMfX/093MRlGGCIBzZMarVa+gfNKJxWAIgykYpVGkBdbqEzGDDfCrVUj6Hiff4mTZ5BA6TmAog==} dependencies: '@types/yargs-parser': 21.0.3 + dev: true - '@types/yauzl@2.10.3': + /@types/yauzl@2.10.3: + resolution: {integrity: sha512-oJoftv0LSuaDZE3Le4DbKX+KS9G36NzOeSap90UIK0yMA/NhKJhqlSGtNDORNRaIbQfzjXDrQa0ytJ6mNRGz/Q==} + requiresBuild: true dependencies: '@types/node': 20.14.2 + dev: true optional: true - '@typescript-eslint/eslint-plugin@7.13.0(@typescript-eslint/parser@7.13.0(eslint@8.57.0)(typescript@5.4.5))(eslint@8.57.0)(typescript@5.4.5)': + /@typescript-eslint/eslint-plugin@7.13.0(@typescript-eslint/parser@7.13.0)(eslint@8.57.0)(typescript@5.4.5): + resolution: {integrity: sha512-FX1X6AF0w8MdVFLSdqwqN/me2hyhuQg4ykN6ZpVhh1ij/80pTvDKclX1sZB9iqex8SjQfVhwMKs3JtnnMLzG9w==} + engines: {node: ^18.18.0 || >=20.0.0} + peerDependencies: + '@typescript-eslint/parser': ^7.0.0 + eslint: ^8.56.0 + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true dependencies: '@eslint-community/regexpp': 4.10.1 '@typescript-eslint/parser': 7.13.0(eslint@8.57.0)(typescript@5.4.5) @@ -11122,12 +4782,20 @@ snapshots: ignore: 5.3.1 natural-compare: 1.4.0 ts-api-utils: 1.3.0(typescript@5.4.5) - optionalDependencies: typescript: 5.4.5 transitivePeerDependencies: - supports-color + dev: true - '@typescript-eslint/parser@7.13.0(eslint@8.57.0)(typescript@5.4.5)': + /@typescript-eslint/parser@7.13.0(eslint@8.57.0)(typescript@5.4.5): + resolution: {integrity: sha512-EjMfl69KOS9awXXe83iRN7oIEXy9yYdqWfqdrFAYAAr6syP8eLEFI7ZE4939antx2mNgPRW/o1ybm2SFYkbTVA==} + engines: {node: ^18.18.0 || >=20.0.0} + peerDependencies: + eslint: ^8.56.0 + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true dependencies: '@typescript-eslint/scope-manager': 7.13.0 '@typescript-eslint/types': 7.13.0 @@ -11135,38 +4803,65 @@ snapshots: '@typescript-eslint/visitor-keys': 7.13.0 debug: 4.3.5(supports-color@8.1.1) eslint: 8.57.0 - optionalDependencies: typescript: 5.4.5 transitivePeerDependencies: - supports-color + dev: true - '@typescript-eslint/scope-manager@5.62.0': + /@typescript-eslint/scope-manager@5.62.0: + resolution: {integrity: sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: '@typescript-eslint/types': 5.62.0 '@typescript-eslint/visitor-keys': 5.62.0 + dev: true - '@typescript-eslint/scope-manager@7.13.0': + /@typescript-eslint/scope-manager@7.13.0: + resolution: {integrity: sha512-ZrMCe1R6a01T94ilV13egvcnvVJ1pxShkE0+NDjDzH4nvG1wXpwsVI5bZCvE7AEDH1mXEx5tJSVR68bLgG7Dng==} + engines: {node: ^18.18.0 || >=20.0.0} dependencies: '@typescript-eslint/types': 7.13.0 '@typescript-eslint/visitor-keys': 7.13.0 + dev: true - '@typescript-eslint/type-utils@7.13.0(eslint@8.57.0)(typescript@5.4.5)': + /@typescript-eslint/type-utils@7.13.0(eslint@8.57.0)(typescript@5.4.5): + resolution: {integrity: sha512-xMEtMzxq9eRkZy48XuxlBFzpVMDurUAfDu5Rz16GouAtXm0TaAoTFzqWUFPPuQYXI/CDaH/Bgx/fk/84t/Bc9A==} + engines: {node: ^18.18.0 || >=20.0.0} + peerDependencies: + eslint: ^8.56.0 + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true dependencies: '@typescript-eslint/typescript-estree': 7.13.0(typescript@5.4.5) '@typescript-eslint/utils': 7.13.0(eslint@8.57.0)(typescript@5.4.5) debug: 4.3.5(supports-color@8.1.1) eslint: 8.57.0 ts-api-utils: 1.3.0(typescript@5.4.5) - optionalDependencies: typescript: 5.4.5 transitivePeerDependencies: - supports-color + dev: true - '@typescript-eslint/types@5.62.0': {} + /@typescript-eslint/types@5.62.0: + resolution: {integrity: sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dev: true - '@typescript-eslint/types@7.13.0': {} + /@typescript-eslint/types@7.13.0: + resolution: {integrity: sha512-QWuwm9wcGMAuTsxP+qz6LBBd3Uq8I5Nv8xb0mk54jmNoCyDspnMvVsOxI6IsMmway5d1S9Su2+sCKv1st2l6eA==} + engines: {node: ^18.18.0 || >=20.0.0} + dev: true - '@typescript-eslint/typescript-estree@5.62.0(typescript@5.4.5)': + /@typescript-eslint/typescript-estree@5.62.0(typescript@5.4.5): + resolution: {integrity: sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true dependencies: '@typescript-eslint/types': 5.62.0 '@typescript-eslint/visitor-keys': 5.62.0 @@ -11175,12 +4870,19 @@ snapshots: is-glob: 4.0.3 semver: 7.6.2 tsutils: 3.21.0(typescript@5.4.5) - optionalDependencies: typescript: 5.4.5 transitivePeerDependencies: - supports-color + dev: true - '@typescript-eslint/typescript-estree@7.13.0(typescript@5.4.5)': + /@typescript-eslint/typescript-estree@7.13.0(typescript@5.4.5): + resolution: {integrity: sha512-cAvBvUoobaoIcoqox1YatXOnSl3gx92rCZoMRPzMNisDiM12siGilSM4+dJAekuuHTibI2hVC2fYK79iSFvWjw==} + engines: {node: ^18.18.0 || >=20.0.0} + peerDependencies: + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true dependencies: '@typescript-eslint/types': 7.13.0 '@typescript-eslint/visitor-keys': 7.13.0 @@ -11190,12 +4892,16 @@ snapshots: minimatch: 9.0.4 semver: 7.6.2 ts-api-utils: 1.3.0(typescript@5.4.5) - optionalDependencies: typescript: 5.4.5 transitivePeerDependencies: - supports-color + dev: true - '@typescript-eslint/utils@5.62.0(eslint@8.57.0)(typescript@5.4.5)': + /@typescript-eslint/utils@5.62.0(eslint@8.57.0)(typescript@5.4.5): + resolution: {integrity: sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 dependencies: '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) '@types/json-schema': 7.0.15 @@ -11209,8 +4915,13 @@ snapshots: transitivePeerDependencies: - supports-color - typescript + dev: true - '@typescript-eslint/utils@7.13.0(eslint@8.57.0)(typescript@5.4.5)': + /@typescript-eslint/utils@7.13.0(eslint@8.57.0)(typescript@5.4.5): + resolution: {integrity: sha512-jceD8RgdKORVnB4Y6BqasfIkFhl4pajB1wVxrF4akxD2QPM8GNYjgGwEzYS+437ewlqqrg7Dw+6dhdpjMpeBFQ==} + engines: {node: ^18.18.0 || >=20.0.0} + peerDependencies: + eslint: ^8.56.0 dependencies: '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) '@typescript-eslint/scope-manager': 7.13.0 @@ -11220,30 +4931,48 @@ snapshots: transitivePeerDependencies: - supports-color - typescript + dev: true - '@typescript-eslint/visitor-keys@5.62.0': + /@typescript-eslint/visitor-keys@5.62.0: + resolution: {integrity: sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: '@typescript-eslint/types': 5.62.0 eslint-visitor-keys: 3.4.3 + dev: true - '@typescript-eslint/visitor-keys@7.13.0': + /@typescript-eslint/visitor-keys@7.13.0: + resolution: {integrity: sha512-nxn+dozQx+MK61nn/JP+M4eCkHDSxSLDpgE3WcQo0+fkjEolnaB5jswvIKC4K56By8MMgIho7f1PVxERHEo8rw==} + engines: {node: ^18.18.0 || >=20.0.0} dependencies: '@typescript-eslint/types': 7.13.0 eslint-visitor-keys: 3.4.3 + dev: true - '@ungap/structured-clone@1.2.0': {} + /@ungap/structured-clone@1.2.0: + resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==} + dev: true - '@unocss/astro@0.59.4(rollup@2.79.1)(vite@5.2.13(@types/node@20.14.2)(terser@5.31.1))': + /@unocss/astro@0.59.4(rollup@2.79.1)(vite@5.3.0): + resolution: {integrity: sha512-DU3OR5MMR1Uvvec4/wB9EetDASHRg19Moy6z/MiIhn8JWJ0QzWYgSeJcfUX8exomMYv6WUEQJL+CyLI34Wmn8w==} + peerDependencies: + vite: ^2.9.0 || ^3.0.0-0 || ^4.0.0 || ^5.0.0-0 + peerDependenciesMeta: + vite: + optional: true dependencies: '@unocss/core': 0.59.4 '@unocss/reset': 0.59.4 - '@unocss/vite': 0.59.4(rollup@2.79.1)(vite@5.2.13(@types/node@20.14.2)(terser@5.31.1)) - optionalDependencies: - vite: 5.2.13(@types/node@20.14.2)(terser@5.31.1) + '@unocss/vite': 0.59.4(rollup@2.79.1)(vite@5.3.0) + vite: 5.3.0(@types/node@20.14.2) transitivePeerDependencies: - rollup + dev: true - '@unocss/cli@0.59.4(rollup@2.79.1)': + /@unocss/cli@0.59.4(rollup@2.79.1): + resolution: {integrity: sha512-TT+WKedSifhsRqnpoYD2LfyYipVzEbzIU4DDGIaDNeDxGXYOGpb876zzkPDcvZSpI37IJ/efkkV7PGYpPBcQBQ==} + engines: {node: '>=14'} + hasBin: true dependencies: '@ampproject/remapping': 2.3.0 '@rollup/pluginutils': 5.1.0(rollup@2.79.1) @@ -11260,26 +4989,40 @@ snapshots: perfect-debounce: 1.0.0 transitivePeerDependencies: - rollup + dev: true - '@unocss/config@0.59.4': + /@unocss/config@0.59.4: + resolution: {integrity: sha512-h3yhj+D5Ygn5R7gbK4wMrtXZX6FF5DF6YD517sSSb0XB3lxHD9PhhT4HaV1hpHknvu0cMFU3460M45+TN1TI0Q==} + engines: {node: '>=14'} dependencies: '@unocss/core': 0.59.4 unconfig: 0.3.13 + dev: true - '@unocss/core@0.59.4': {} + /@unocss/core@0.59.4: + resolution: {integrity: sha512-bBZ1sgcAtezQVZ1BST9IS3jqcsTLyqKNjiIf7FTnX3DHpfpYuMDFzSOtmkZDzBleOLO/CtcRWjT0HwTSQAmV0A==} + dev: true - '@unocss/extractor-arbitrary-variants@0.59.4': + /@unocss/extractor-arbitrary-variants@0.59.4: + resolution: {integrity: sha512-RDe4FgMGJQ+tp9GLvhPHni7Cc2O0lHBRMElVlN8LoXJAdODMICdbrEPGJlEfrc+7x/QgVFoR895KpYJh3hIgGA==} dependencies: '@unocss/core': 0.59.4 + dev: true - '@unocss/inspector@0.59.4': + /@unocss/inspector@0.59.4: + resolution: {integrity: sha512-QczJFNDiggmekkJyNcbcZIUVwlhvxz7ZwjnSf0w7K4znxfjKkZ1hNUbqLviM1HumkTKOdT27VISW7saN/ysO4w==} dependencies: '@unocss/core': 0.59.4 '@unocss/rule-utils': 0.59.4 gzip-size: 6.0.0 sirv: 2.0.4 + dev: true - '@unocss/postcss@0.59.4(postcss@8.4.38)': + /@unocss/postcss@0.59.4(postcss@8.4.38): + resolution: {integrity: sha512-KVz+AD7McHKp7VEWHbFahhyyVEo0oP/e1vnuNSuPlHthe+1V2zfH6lps+iJcvfL2072r5J+0PvD/1kOp5ryUSg==} + engines: {node: '>=14'} + peerDependencies: + postcss: ^8.4.21 dependencies: '@unocss/config': 0.59.4 '@unocss/core': 0.59.4 @@ -11288,62 +5031,87 @@ snapshots: fast-glob: 3.3.2 magic-string: 0.30.10 postcss: 8.4.38 + dev: true - '@unocss/preset-attributify@0.59.4': + /@unocss/preset-attributify@0.59.4: + resolution: {integrity: sha512-BeogWuYaIakC1gmOZFFCjFVWmu/m3AqEX8UYQS6tY6lAaK2L4Qf4AstYBlT2zAMxy9LNxPDxFQrvfSfFk5Klsg==} dependencies: '@unocss/core': 0.59.4 + dev: true - '@unocss/preset-icons@0.59.4': + /@unocss/preset-icons@0.59.4: + resolution: {integrity: sha512-Afjwh5oC4KRE8TNZDUkRK6hvvV1wKLrS1e5trniE0B0AM9HK3PBolQaIU7QmzPv6WQrog+MZgIwafg1eqsPUCA==} dependencies: '@iconify/utils': 2.1.24 '@unocss/core': 0.59.4 ofetch: 1.3.4 transitivePeerDependencies: - supports-color + dev: true - '@unocss/preset-mini@0.59.4': + /@unocss/preset-mini@0.59.4: + resolution: {integrity: sha512-ZLywGrXi1OCr4My5vX2rLUb5Xgx6ufR9WTQOvpQJGBdIV/jnZn/pyE5avCs476SnOq2K172lnd8mFmTK7/zArA==} dependencies: '@unocss/core': 0.59.4 '@unocss/extractor-arbitrary-variants': 0.59.4 '@unocss/rule-utils': 0.59.4 + dev: true - '@unocss/preset-tagify@0.59.4': + /@unocss/preset-tagify@0.59.4: + resolution: {integrity: sha512-vWMdTUoghOSmTbdmZtERssffmdUdOuhh4vUdl0R8Kv6KxB0PkvEFCu2FItn97nRJdSPlZSFxxDkaOIg9w+STNQ==} dependencies: '@unocss/core': 0.59.4 + dev: true - '@unocss/preset-typography@0.59.4': + /@unocss/preset-typography@0.59.4: + resolution: {integrity: sha512-ZX9bxZUqlXK1qEDzO5lkK96ICt9itR/oNyn/7mMc1JPqwj263LumQMn5silocgzoLSUXEeq//L6GylqYjkL8GA==} dependencies: '@unocss/core': 0.59.4 '@unocss/preset-mini': 0.59.4 + dev: true - '@unocss/preset-uno@0.59.4': + /@unocss/preset-uno@0.59.4: + resolution: {integrity: sha512-G1f8ZluplvXZ3bERj+sM/8zzY//XD++nNOlAQNKOANSVht3qEoJebrfEiMClNpA5qW5VWOZhEhPkh0M7GsXtnA==} dependencies: '@unocss/core': 0.59.4 '@unocss/preset-mini': 0.59.4 '@unocss/preset-wind': 0.59.4 '@unocss/rule-utils': 0.59.4 + dev: true - '@unocss/preset-web-fonts@0.59.4': + /@unocss/preset-web-fonts@0.59.4: + resolution: {integrity: sha512-ehutTjKHnf2KPmdatN42N9a8+y+glKSU3UlcBRNsVIIXVIlaBQuPVGZSPhnMtrKD17IgWylXq2K6RJK+ab0hZA==} dependencies: '@unocss/core': 0.59.4 ofetch: 1.3.4 + dev: true - '@unocss/preset-wind@0.59.4': + /@unocss/preset-wind@0.59.4: + resolution: {integrity: sha512-CNX6w0ZpSQg/i1oF0/WKWzto8PtLqoknC5h8JmmcGb7VsyBQeV0oNnhbURxpbuMEhbv1MWVIGvk8a+P6y0rFkQ==} dependencies: '@unocss/core': 0.59.4 '@unocss/preset-mini': 0.59.4 '@unocss/rule-utils': 0.59.4 + dev: true - '@unocss/reset@0.59.4': {} + /@unocss/reset@0.59.4: + resolution: {integrity: sha512-Upy4xzdWl4RChbLAXBq1BoR4WqxXMoIfjvtcwSZcZK2sylXCFAseSWnyzJFdSiXPqNfmMuNgPXgiSxiQB+cmNA==} + dev: true - '@unocss/rule-utils@0.59.4': + /@unocss/rule-utils@0.59.4: + resolution: {integrity: sha512-1qoLJlBWAkS4D4sg73990S1MT7E8E5md/YhopKjTQuEC9SyeVmEg+5pR/Xd8xhPKMqbcuBPl/DS8b6l/GQO56A==} + engines: {node: '>=14'} dependencies: '@unocss/core': 0.59.4 magic-string: 0.30.10 + dev: true - '@unocss/scope@0.59.4': {} + /@unocss/scope@0.59.4: + resolution: {integrity: sha512-wBQJ39kw4Tfj4km7AoGvSIobPKVnRZVsgc0bema5Y0PL3g1NeVQ/LopBI2zEJWdpxGXUWxSDsXm7BZo6qVlD/A==} + dev: true - '@unocss/transformer-attributify-jsx-babel@0.59.4': + /@unocss/transformer-attributify-jsx-babel@0.59.4: + resolution: {integrity: sha512-xtCRSgeTaDBiNJLVX7oOSFe63JiFB5nrdK23PHn3IlZM9O7Bxx4ZxI3MQJtFZFQNE+INFko+DVyY1WiFEm1p/Q==} dependencies: '@babel/core': 7.24.7 '@babel/plugin-syntax-jsx': 7.24.7(@babel/core@7.24.7) @@ -11351,26 +5119,38 @@ snapshots: '@unocss/core': 0.59.4 transitivePeerDependencies: - supports-color + dev: true - '@unocss/transformer-attributify-jsx@0.59.4': + /@unocss/transformer-attributify-jsx@0.59.4: + resolution: {integrity: sha512-m4b83utzKMfUQH/45V2QkjJoXd8Tu2pRP1nic91Xf7QRceyKDD+BxoTneo2JNC2K274cQu7HqqotnCm2aFfEGw==} dependencies: '@unocss/core': 0.59.4 + dev: true - '@unocss/transformer-compile-class@0.59.4': + /@unocss/transformer-compile-class@0.59.4: + resolution: {integrity: sha512-Vgk2OCLPW0pU+Uzr1IgDtHVspSBb+gPrQFkV+5gxHk9ZdKi3oYKxLuufVWYDSwv7o9yfQGbYrMH9YLsjRsnA7Q==} dependencies: '@unocss/core': 0.59.4 + dev: true - '@unocss/transformer-directives@0.59.4': + /@unocss/transformer-directives@0.59.4: + resolution: {integrity: sha512-nXUTEclUbs0vQ4KfLhKt4J/5SLSEq1az2FNlJmiXMmqmn75X89OrtCu2OJu9sGXhn+YyBApxgcSSdxmtpqMi1Q==} dependencies: '@unocss/core': 0.59.4 '@unocss/rule-utils': 0.59.4 css-tree: 2.3.1 + dev: true - '@unocss/transformer-variant-group@0.59.4': + /@unocss/transformer-variant-group@0.59.4: + resolution: {integrity: sha512-9XLixxn1NRgP62Kj4R/NC/rpqhql5F2s6ulJ8CAMTEbd/NylVhEANluPGDVUGcLJ4cj6E02hFa8C1PLGSm7/xw==} dependencies: '@unocss/core': 0.59.4 + dev: true - '@unocss/vite@0.59.4(rollup@2.79.1)(vite@5.2.13(@types/node@20.14.2)(terser@5.31.1))': + /@unocss/vite@0.59.4(rollup@2.79.1)(vite@5.3.0): + resolution: {integrity: sha512-q7GN7vkQYn79n7vYIUlaa7gXGwc7pk0Qo3z3ZFwWGE43/DtZnn2Hwl5UjgBAgi9McA+xqHJEHRsJnI7HJPHUYA==} + peerDependencies: + vite: ^2.9.0 || ^3.0.0-0 || ^4.0.0 || ^5.0.0-0 dependencies: '@ampproject/remapping': 2.3.0 '@rollup/pluginutils': 5.1.0(rollup@2.79.1) @@ -11382,20 +5162,38 @@ snapshots: chokidar: 3.6.0 fast-glob: 3.3.2 magic-string: 0.30.10 - vite: 5.2.13(@types/node@20.14.2)(terser@5.31.1) + vite: 5.3.0(@types/node@20.14.2) transitivePeerDependencies: - rollup + dev: true - '@vite-pwa/vitepress@0.4.0(vite-plugin-pwa@0.19.8(vite@5.2.13(@types/node@20.14.2)(terser@5.31.1))(workbox-build@7.1.1(@types/babel__core@7.20.5))(workbox-window@7.1.0))': + /@vite-pwa/vitepress@0.4.0(vite-plugin-pwa@0.19.8): + resolution: {integrity: sha512-MrsSCK5EBCzQAQgq5/3XHaFIjkypda58Wzy6PkDwZoRHnWexik0C2GUxMOe+RA+qdpGxB0mEkhqajeOmuYMvhw==} + peerDependencies: + '@vite-pwa/assets-generator': ^0.2.4 + vite-plugin-pwa: '>=0.19.0 <1' + peerDependenciesMeta: + '@vite-pwa/assets-generator': + optional: true dependencies: - vite-plugin-pwa: 0.19.8(vite@5.2.13(@types/node@20.14.2)(terser@5.31.1))(workbox-build@7.1.1(@types/babel__core@7.20.5))(workbox-window@7.1.0) + vite-plugin-pwa: 0.19.8(vite@5.3.0)(workbox-build@7.1.1)(workbox-window@7.1.0) + dev: true - '@vitejs/plugin-vue@5.0.5(vite@5.2.13(@types/node@20.14.2)(terser@5.31.1))(vue@3.4.27(typescript@5.4.5))': + /@vitejs/plugin-vue@5.0.5(vite@5.3.0)(vue@3.4.27): + resolution: {integrity: sha512-LOjm7XeIimLBZyzinBQ6OSm3UBCNVCpLkxGC0oWmm2YPzVZoxMsdvNVimLTBzpAnR9hl/yn1SHGuRfe6/Td9rQ==} + engines: {node: ^18.0.0 || >=20.0.0} + peerDependencies: + vite: ^5.0.0 + vue: ^3.2.25 dependencies: - vite: 5.2.13(@types/node@20.14.2)(terser@5.31.1) + vite: 5.3.0(@types/node@20.14.2) vue: 3.4.27(typescript@5.4.5) + dev: true - '@vitest/coverage-v8@1.6.0(vitest@1.6.0(@types/node@20.14.2)(@vitest/ui@1.6.0)(jsdom@24.1.0)(terser@5.31.1))': + /@vitest/coverage-v8@1.6.0(vitest@1.6.0): + resolution: {integrity: sha512-KvapcbMY/8GYIG0rlwwOKCVNRc0OL20rrhFkg/CHNzncV03TE2XWvO5w9uZYoxNiMEBacAJt3unSOiZ7svePew==} + peerDependencies: + vitest: 1.6.0 dependencies: '@ampproject/remapping': 2.3.0 '@bcoe/v8-coverage': 0.2.3 @@ -11410,33 +5208,45 @@ snapshots: std-env: 3.7.0 strip-literal: 2.1.0 test-exclude: 6.0.0 - vitest: 1.6.0(@types/node@20.14.2)(@vitest/ui@1.6.0)(jsdom@24.1.0)(terser@5.31.1) + vitest: 1.6.0(@types/node@20.14.2)(@vitest/ui@1.6.0)(jsdom@24.1.0) transitivePeerDependencies: - supports-color + dev: true - '@vitest/expect@1.6.0': + /@vitest/expect@1.6.0: + resolution: {integrity: sha512-ixEvFVQjycy/oNgHjqsL6AZCDduC+tflRluaHIzKIsdbzkLn2U/iBnVeJwB6HsIjQBdfMR8Z0tRxKUsvFJEeWQ==} dependencies: '@vitest/spy': 1.6.0 '@vitest/utils': 1.6.0 chai: 4.4.1 + dev: true - '@vitest/runner@1.6.0': + /@vitest/runner@1.6.0: + resolution: {integrity: sha512-P4xgwPjwesuBiHisAVz/LSSZtDjOTPYZVmNAnpHHSR6ONrf8eCJOFRvUwdHn30F5M1fxhqtl7QZQUk2dprIXAg==} dependencies: '@vitest/utils': 1.6.0 p-limit: 5.0.0 pathe: 1.1.2 + dev: true - '@vitest/snapshot@1.6.0': + /@vitest/snapshot@1.6.0: + resolution: {integrity: sha512-+Hx43f8Chus+DCmygqqfetcAZrDJwvTj0ymqjQq4CvmpKFSTVteEOBzCusu1x2tt4OJcvBflyHUE0DZSLgEMtQ==} dependencies: magic-string: 0.30.10 pathe: 1.1.2 pretty-format: 29.7.0 + dev: true - '@vitest/spy@1.6.0': + /@vitest/spy@1.6.0: + resolution: {integrity: sha512-leUTap6B/cqi/bQkXUu6bQV5TZPx7pmMBKBQiI0rJA8c3pB56ZsaTbREnF7CJfmvAS4V2cXIBAh/3rVwrrCYgw==} dependencies: tinyspy: 2.2.1 + dev: true - '@vitest/ui@1.6.0(vitest@1.6.0)': + /@vitest/ui@1.6.0(vitest@1.6.0): + resolution: {integrity: sha512-k3Lyo+ONLOgylctiGovRKy7V4+dIN2yxstX3eY5cWFXH6WP+ooVX79YSyi0GagdTQzLmT43BF27T0s6dOIPBXA==} + peerDependencies: + vitest: 1.6.0 dependencies: '@vitest/utils': 1.6.0 fast-glob: 3.3.2 @@ -11445,23 +5255,31 @@ snapshots: pathe: 1.1.2 picocolors: 1.0.1 sirv: 2.0.4 - vitest: 1.6.0(@types/node@20.14.2)(@vitest/ui@1.6.0)(jsdom@24.1.0)(terser@5.31.1) + vitest: 1.6.0(@types/node@20.14.2)(@vitest/ui@1.6.0)(jsdom@24.1.0) + dev: true - '@vitest/utils@1.6.0': + /@vitest/utils@1.6.0: + resolution: {integrity: sha512-21cPiuGMoMZwiOHa2i4LXkMkMkCGzA+MVFV70jRwHo95dL4x/ts5GZhML1QWuy7yfp3WzK3lRvZi3JnXTYqrBw==} dependencies: diff-sequences: 29.6.3 estree-walker: 3.0.3 loupe: 2.3.7 pretty-format: 29.7.0 + dev: true - '@vue/compat@3.4.27(vue@3.4.27(typescript@5.4.5))': + /@vue/compat@3.4.27(vue@3.4.27): + resolution: {integrity: sha512-H2W93cPe9WXXkHiYEeX7f2Z8/znElm44fxgj8uBhgC6cxvjDUOLIcIJySs+FZvv6JM+Re/SBUnlcr4LJMaQZzw==} + peerDependencies: + vue: 3.4.27 dependencies: '@babel/parser': 7.24.7 estree-walker: 2.0.2 source-map-js: 1.2.0 vue: 3.4.27(typescript@5.4.5) + dev: false - '@vue/compiler-core@3.4.27': + /@vue/compiler-core@3.4.27: + resolution: {integrity: sha512-E+RyqY24KnyDXsCuQrI+mlcdW3ALND6U7Gqa/+bVwbcpcR3BRRIckFoz7Qyd4TTlnugtwuI7YgjbvsLmxb+yvg==} dependencies: '@babel/parser': 7.24.7 '@vue/shared': 3.4.27 @@ -11469,12 +5287,14 @@ snapshots: estree-walker: 2.0.2 source-map-js: 1.2.0 - '@vue/compiler-dom@3.4.27': + /@vue/compiler-dom@3.4.27: + resolution: {integrity: sha512-kUTvochG/oVgE1w5ViSr3KUBh9X7CWirebA3bezTbB5ZKBQZwR2Mwj9uoSKRMFcz4gSMzzLXBPD6KpCLb9nvWw==} dependencies: '@vue/compiler-core': 3.4.27 '@vue/shared': 3.4.27 - '@vue/compiler-sfc@3.4.27': + /@vue/compiler-sfc@3.4.27: + resolution: {integrity: sha512-nDwntUEADssW8e0rrmE0+OrONwmRlegDA1pD6QhVeXxjIytV03yDqTey9SBDiALsvAd5U4ZrEKbMyVXhX6mCGA==} dependencies: '@babel/parser': 7.24.7 '@vue/compiler-core': 3.4.27 @@ -11486,20 +5306,28 @@ snapshots: postcss: 8.4.38 source-map-js: 1.2.0 - '@vue/compiler-ssr@3.4.27': + /@vue/compiler-ssr@3.4.27: + resolution: {integrity: sha512-CVRzSJIltzMG5FcidsW0jKNQnNRYC8bT21VegyMMtHmhW3UOI7knmUehzswXLrExDLE6lQCZdrhD4ogI7c+vuw==} dependencies: '@vue/compiler-dom': 3.4.27 '@vue/shared': 3.4.27 - '@vue/devtools-api@6.6.3': {} + /@vue/devtools-api@6.6.3: + resolution: {integrity: sha512-0MiMsFma/HqA6g3KLKn+AGpL1kgKhFWszC9U29NfpWK5LE7bjeXxySWJrOJ77hBz+TBrBQ7o4QJqbPbqbs8rJw==} + dev: false - '@vue/devtools-api@7.2.1(vue@3.4.27(typescript@5.4.5))': + /@vue/devtools-api@7.2.1(vue@3.4.27): + resolution: {integrity: sha512-6oNCtyFOrNdqm6GUkFujsCgFlpbsHLnZqq7edeM/+cxAbMyCWvsaCsIMUaz7AiluKLccCGEM8fhOsjaKgBvb7g==} dependencies: - '@vue/devtools-kit': 7.2.1(vue@3.4.27(typescript@5.4.5)) + '@vue/devtools-kit': 7.2.1(vue@3.4.27) transitivePeerDependencies: - vue + dev: true - '@vue/devtools-kit@7.2.1(vue@3.4.27(typescript@5.4.5))': + /@vue/devtools-kit@7.2.1(vue@3.4.27): + resolution: {integrity: sha512-Wak/fin1X0Q8LLIfCAHBrdaaB+R6IdpSXsDByPHbQ3BmkCP0/cIo/oEGp9i0U2+gEqD4L3V9RDjNf1S34DTzQQ==} + peerDependencies: + vue: ^3.0.0 dependencies: '@vue/devtools-shared': 7.2.1 hookable: 5.5.3 @@ -11507,66 +5335,119 @@ snapshots: perfect-debounce: 1.0.0 speakingurl: 14.0.1 vue: 3.4.27(typescript@5.4.5) + dev: true - '@vue/devtools-shared@7.2.1': + /@vue/devtools-shared@7.2.1: + resolution: {integrity: sha512-PCJF4UknJmOal68+X9XHyVeQ+idv0LFujkTOIW30+GaMJqwFVN9LkQKX4gLqn61KkGMdJTzQ1bt7EJag3TI6AA==} dependencies: rfdc: 1.4.1 + dev: true - '@vue/reactivity@3.4.27': + /@vue/reactivity@3.4.27: + resolution: {integrity: sha512-kK0g4NknW6JX2yySLpsm2jlunZJl2/RJGZ0H9ddHdfBVHcNzxmQ0sS0b09ipmBoQpY8JM2KmUw+a6sO8Zo+zIA==} dependencies: '@vue/shared': 3.4.27 - '@vue/runtime-core@3.4.27': + /@vue/runtime-core@3.4.27: + resolution: {integrity: sha512-7aYA9GEbOOdviqVvcuweTLe5Za4qBZkUY7SvET6vE8kyypxVgaT1ixHLg4urtOlrApdgcdgHoTZCUuTGap/5WA==} dependencies: '@vue/reactivity': 3.4.27 '@vue/shared': 3.4.27 - '@vue/runtime-dom@3.4.27': + /@vue/runtime-dom@3.4.27: + resolution: {integrity: sha512-ScOmP70/3NPM+TW9hvVAz6VWWtZJqkbdf7w6ySsws+EsqtHvkhxaWLecrTorFxsawelM5Ys9FnDEMt6BPBDS0Q==} dependencies: '@vue/runtime-core': 3.4.27 '@vue/shared': 3.4.27 csstype: 3.1.3 - '@vue/server-renderer@3.4.27(vue@3.4.27(typescript@5.4.5))': + /@vue/server-renderer@3.4.27(vue@3.4.27): + resolution: {integrity: sha512-dlAMEuvmeA3rJsOMJ2J1kXU7o7pOxgsNHVr9K8hB3ImIkSuBrIdy0vF66h8gf8Tuinf1TK3mPAz2+2sqyf3KzA==} + peerDependencies: + vue: 3.4.27 dependencies: '@vue/compiler-ssr': 3.4.27 '@vue/shared': 3.4.27 vue: 3.4.27(typescript@5.4.5) - '@vue/shared@3.4.27': {} + /@vue/shared@3.4.27: + resolution: {integrity: sha512-DL3NmY2OFlqmYYrzp39yi3LDkKxa5vZVwxWdQ3rG0ekuWscHraeIbnI8t+aZK7qhYqEqWKTUdijadunb9pnrgA==} - '@vueuse/core@10.11.0(vue@3.4.27(typescript@5.4.5))': + /@vueuse/core@10.11.0(vue@3.4.27): + resolution: {integrity: sha512-x3sD4Mkm7PJ+pcq3HX8PLPBadXCAlSDR/waK87dz0gQE+qJnaaFhc/dZVfJz+IUYzTMVGum2QlR7ImiJQN4s6g==} dependencies: '@types/web-bluetooth': 0.0.20 '@vueuse/metadata': 10.11.0 - '@vueuse/shared': 10.11.0(vue@3.4.27(typescript@5.4.5)) - vue-demi: 0.14.8(vue@3.4.27(typescript@5.4.5)) + '@vueuse/shared': 10.11.0(vue@3.4.27) + vue-demi: 0.14.8(vue@3.4.27) transitivePeerDependencies: - '@vue/composition-api' - vue - '@vueuse/integrations@10.11.0(axios@1.7.2)(focus-trap@7.5.4)(vue@3.4.27(typescript@5.4.5))': + /@vueuse/integrations@10.11.0(focus-trap@7.5.4)(vue@3.4.27): + resolution: {integrity: sha512-Pp6MtWEIr+NDOccWd8j59Kpjy5YDXogXI61Kb1JxvSfVBO8NzFQkmrKmSZz47i+ZqHnIzxaT38L358yDHTncZg==} + peerDependencies: + async-validator: ^4 + axios: ^1 + change-case: ^4 + drauu: ^0.3 + focus-trap: ^7 + fuse.js: ^6 + idb-keyval: ^6 + jwt-decode: ^3 + nprogress: ^0.2 + qrcode: ^1.5 + sortablejs: ^1 + universal-cookie: ^6 + peerDependenciesMeta: + async-validator: + optional: true + axios: + optional: true + change-case: + optional: true + drauu: + optional: true + focus-trap: + optional: true + fuse.js: + optional: true + idb-keyval: + optional: true + jwt-decode: + optional: true + nprogress: + optional: true + qrcode: + optional: true + sortablejs: + optional: true + universal-cookie: + optional: true dependencies: - '@vueuse/core': 10.11.0(vue@3.4.27(typescript@5.4.5)) - '@vueuse/shared': 10.11.0(vue@3.4.27(typescript@5.4.5)) - vue-demi: 0.14.8(vue@3.4.27(typescript@5.4.5)) - optionalDependencies: - axios: 1.7.2(debug@4.3.5) + '@vueuse/core': 10.11.0(vue@3.4.27) + '@vueuse/shared': 10.11.0(vue@3.4.27) focus-trap: 7.5.4 + vue-demi: 0.14.8(vue@3.4.27) transitivePeerDependencies: - '@vue/composition-api' - vue + dev: true - '@vueuse/metadata@10.11.0': {} + /@vueuse/metadata@10.11.0: + resolution: {integrity: sha512-kQX7l6l8dVWNqlqyN3ePW3KmjCQO3ZMgXuBMddIu83CmucrsBfXlH+JoviYyRBws/yLTQO8g3Pbw+bdIoVm4oQ==} - '@vueuse/shared@10.11.0(vue@3.4.27(typescript@5.4.5))': + /@vueuse/shared@10.11.0(vue@3.4.27): + resolution: {integrity: sha512-fyNoIXEq3PfX1L3NkNhtVQUSRtqYwJtJg+Bp9rIzculIZWHTkKSysujrOk2J+NrRulLTQH9+3gGSfYLWSEWU1A==} dependencies: - vue-demi: 0.14.8(vue@3.4.27(typescript@5.4.5)) + vue-demi: 0.14.8(vue@3.4.27) transitivePeerDependencies: - '@vue/composition-api' - vue - '@wdio/config@7.31.1(typescript@5.4.5)': + /@wdio/config@7.31.1(typescript@5.4.5): + resolution: {integrity: sha512-WAfswbCatwiaDVqy6kfF/5T8/WS/US/SRhBGUFrfBuGMIe+RRoHgy7jURFWSvUIE7CNHj8yvs46fLUcxhXjzcQ==} + engines: {node: '>=12.0.0'} dependencies: '@types/glob': 8.1.0 '@wdio/logger': 7.26.0 @@ -11576,68 +5457,106 @@ snapshots: glob: 8.1.0 transitivePeerDependencies: - typescript + dev: true - '@wdio/logger@7.26.0': + /@wdio/logger@7.26.0: + resolution: {integrity: sha512-kQj9s5JudAG9qB+zAAcYGPHVfATl2oqKgqj47yjehOQ1zzG33xmtL1ArFbQKWhDG32y1A8sN6b0pIqBEIwgg8Q==} + engines: {node: '>=12.0.0'} dependencies: chalk: 4.1.2 loglevel: 1.9.1 loglevel-plugin-prefix: 0.8.4 strip-ansi: 6.0.1 + dev: true - '@wdio/protocols@7.27.0': {} + /@wdio/protocols@7.27.0: + resolution: {integrity: sha512-hT/U22R5i3HhwPjkaKAG0yd59eaOaZB0eibRj2+esCImkb5Y6rg8FirrlYRxIGFVBl0+xZV0jKHzR5+o097nvg==} + engines: {node: '>=12.0.0'} + dev: true - '@wdio/types@7.30.2(typescript@5.4.5)': + /@wdio/types@7.30.2(typescript@5.4.5): + resolution: {integrity: sha512-uZ8o7FX8RyBsaXiOWa59UKTCHTtADNvOArYTcHNEIzt+rh4JdB/uwqfc8y4TCNA2kYm7PWaQpUFwpStLeg0H1Q==} + engines: {node: '>=12.0.0'} + peerDependencies: + typescript: ^4.6.2 + peerDependenciesMeta: + typescript: + optional: true dependencies: '@types/node': 18.19.34 got: 11.8.6 - optionalDependencies: typescript: 5.4.5 + dev: true - '@wdio/utils@7.30.2(typescript@5.4.5)': + /@wdio/utils@7.30.2(typescript@5.4.5): + resolution: {integrity: sha512-np7I+smszFUennbQKdzbMN/zUL3s3EZq9pCCUcTRjjs9TE4tnn0wfmGdoz2o7REYu6kn9NfFFJyVIM2VtBbKEA==} + engines: {node: '>=12.0.0'} dependencies: '@wdio/logger': 7.26.0 '@wdio/types': 7.30.2(typescript@5.4.5) p-iteration: 1.1.8 transitivePeerDependencies: - typescript + dev: true - '@webassemblyjs/ast@1.12.1': + /@webassemblyjs/ast@1.12.1: + resolution: {integrity: sha512-EKfMUOPRRUTy5UII4qJDGPpqfwjOmZ5jeGFwid9mnoqIFK+e0vqoi1qH56JpmZSzEL53jKnNzScdmftJyG5xWg==} dependencies: '@webassemblyjs/helper-numbers': 1.11.6 '@webassemblyjs/helper-wasm-bytecode': 1.11.6 + dev: true - '@webassemblyjs/floating-point-hex-parser@1.11.6': {} + /@webassemblyjs/floating-point-hex-parser@1.11.6: + resolution: {integrity: sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw==} + dev: true - '@webassemblyjs/helper-api-error@1.11.6': {} + /@webassemblyjs/helper-api-error@1.11.6: + resolution: {integrity: sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q==} + dev: true - '@webassemblyjs/helper-buffer@1.12.1': {} + /@webassemblyjs/helper-buffer@1.12.1: + resolution: {integrity: sha512-nzJwQw99DNDKr9BVCOZcLuJJUlqkJh+kVzVl6Fmq/tI5ZtEyWT1KZMyOXltXLZJmDtvLCDgwsyrkohEtopTXCw==} + dev: true - '@webassemblyjs/helper-numbers@1.11.6': + /@webassemblyjs/helper-numbers@1.11.6: + resolution: {integrity: sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g==} dependencies: '@webassemblyjs/floating-point-hex-parser': 1.11.6 '@webassemblyjs/helper-api-error': 1.11.6 '@xtuc/long': 4.2.2 + dev: true - '@webassemblyjs/helper-wasm-bytecode@1.11.6': {} + /@webassemblyjs/helper-wasm-bytecode@1.11.6: + resolution: {integrity: sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA==} + dev: true - '@webassemblyjs/helper-wasm-section@1.12.1': + /@webassemblyjs/helper-wasm-section@1.12.1: + resolution: {integrity: sha512-Jif4vfB6FJlUlSbgEMHUyk1j234GTNG9dBJ4XJdOySoj518Xj0oGsNi59cUQF4RRMS9ouBUxDDdyBVfPTypa5g==} dependencies: '@webassemblyjs/ast': 1.12.1 '@webassemblyjs/helper-buffer': 1.12.1 '@webassemblyjs/helper-wasm-bytecode': 1.11.6 '@webassemblyjs/wasm-gen': 1.12.1 + dev: true - '@webassemblyjs/ieee754@1.11.6': + /@webassemblyjs/ieee754@1.11.6: + resolution: {integrity: sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg==} dependencies: '@xtuc/ieee754': 1.2.0 + dev: true - '@webassemblyjs/leb128@1.11.6': + /@webassemblyjs/leb128@1.11.6: + resolution: {integrity: sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ==} dependencies: '@xtuc/long': 4.2.2 + dev: true - '@webassemblyjs/utf8@1.11.6': {} + /@webassemblyjs/utf8@1.11.6: + resolution: {integrity: sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA==} + dev: true - '@webassemblyjs/wasm-edit@1.12.1': + /@webassemblyjs/wasm-edit@1.12.1: + resolution: {integrity: sha512-1DuwbVvADvS5mGnXbE+c9NfA8QRcZ6iKquqjjmR10k6o+zzsRVesil54DKexiowcFCPdr/Q0qaMgB01+SQ1u6g==} dependencies: '@webassemblyjs/ast': 1.12.1 '@webassemblyjs/helper-buffer': 1.12.1 @@ -11647,23 +5566,29 @@ snapshots: '@webassemblyjs/wasm-opt': 1.12.1 '@webassemblyjs/wasm-parser': 1.12.1 '@webassemblyjs/wast-printer': 1.12.1 + dev: true - '@webassemblyjs/wasm-gen@1.12.1': + /@webassemblyjs/wasm-gen@1.12.1: + resolution: {integrity: sha512-TDq4Ojh9fcohAw6OIMXqiIcTq5KUXTGRkVxbSo1hQnSy6lAM5GSdfwWeSxpAo0YzgsgF182E/U0mDNhuA0tW7w==} dependencies: '@webassemblyjs/ast': 1.12.1 '@webassemblyjs/helper-wasm-bytecode': 1.11.6 '@webassemblyjs/ieee754': 1.11.6 '@webassemblyjs/leb128': 1.11.6 '@webassemblyjs/utf8': 1.11.6 + dev: true - '@webassemblyjs/wasm-opt@1.12.1': + /@webassemblyjs/wasm-opt@1.12.1: + resolution: {integrity: sha512-Jg99j/2gG2iaz3hijw857AVYekZe2SAskcqlWIZXjji5WStnOpVoat3gQfT/Q5tb2djnCjBtMocY/Su1GfxPBg==} dependencies: '@webassemblyjs/ast': 1.12.1 '@webassemblyjs/helper-buffer': 1.12.1 '@webassemblyjs/wasm-gen': 1.12.1 '@webassemblyjs/wasm-parser': 1.12.1 + dev: true - '@webassemblyjs/wasm-parser@1.12.1': + /@webassemblyjs/wasm-parser@1.12.1: + resolution: {integrity: sha512-xikIi7c2FHXysxXe3COrVUPSheuBtpcfhbpFj4gmu7KRLYOzANztwUU0IbsqvMqzuNK2+glRGWCEqZo1WCLyAQ==} dependencies: '@webassemblyjs/ast': 1.12.1 '@webassemblyjs/helper-api-error': 1.11.6 @@ -11671,42 +5596,70 @@ snapshots: '@webassemblyjs/ieee754': 1.11.6 '@webassemblyjs/leb128': 1.11.6 '@webassemblyjs/utf8': 1.11.6 + dev: true - '@webassemblyjs/wast-printer@1.12.1': + /@webassemblyjs/wast-printer@1.12.1: + resolution: {integrity: sha512-+X4WAlOisVWQMikjbcvY2e0rwPsKQ9F688lksZhBcPycBBuii3O7m8FACbDMWDojpAqvjIncrG8J0XHKyQfVeA==} dependencies: '@webassemblyjs/ast': 1.12.1 '@xtuc/long': 4.2.2 + dev: true - '@webpack-cli/configtest@1.2.0(webpack-cli@4.10.0(webpack-dev-server@4.15.2)(webpack@5.92.0))(webpack@5.92.0(esbuild@0.20.2)(webpack-cli@4.10.0))': + /@webpack-cli/configtest@1.2.0(webpack-cli@4.10.0)(webpack@5.92.0): + resolution: {integrity: sha512-4FB8Tj6xyVkyqjj1OaTqCjXYULB9FMkqQ8yGrZjRDrYh0nOE+7Lhs45WioWQQMV+ceFlE368Ukhe6xdvJM9Egg==} + peerDependencies: + webpack: 4.x.x || 5.x.x + webpack-cli: 4.x.x dependencies: webpack: 5.92.0(esbuild@0.20.2)(webpack-cli@4.10.0) webpack-cli: 4.10.0(webpack-dev-server@4.15.2)(webpack@5.92.0) + dev: true - '@webpack-cli/info@1.5.0(webpack-cli@4.10.0(webpack-dev-server@4.15.2)(webpack@5.92.0))': + /@webpack-cli/info@1.5.0(webpack-cli@4.10.0): + resolution: {integrity: sha512-e8tSXZpw2hPl2uMJY6fsMswaok5FdlGNRTktvFk2sD8RjH0hE2+XistawJx1vmKteh4NmGmNUrp+Tb2w+udPcQ==} + peerDependencies: + webpack-cli: 4.x.x dependencies: envinfo: 7.13.0 webpack-cli: 4.10.0(webpack-dev-server@4.15.2)(webpack@5.92.0) + dev: true - '@webpack-cli/serve@1.7.0(webpack-cli@4.10.0(webpack-dev-server@4.15.2)(webpack@5.92.0))(webpack-dev-server@4.15.2(webpack-cli@4.10.0)(webpack@5.92.0))': + /@webpack-cli/serve@1.7.0(webpack-cli@4.10.0)(webpack-dev-server@4.15.2): + resolution: {integrity: sha512-oxnCNGj88fL+xzV+dacXs44HcDwf1ovs3AuEzvP7mqXw7fQntqIhQ1BRmynh4qEKQSSSRSWVyXRjmTbZIX9V2Q==} + peerDependencies: + webpack-cli: 4.x.x + webpack-dev-server: '*' + peerDependenciesMeta: + webpack-dev-server: + optional: true dependencies: webpack-cli: 4.10.0(webpack-dev-server@4.15.2)(webpack@5.92.0) - optionalDependencies: webpack-dev-server: 4.15.2(webpack-cli@4.10.0)(webpack@5.92.0) + dev: true - '@xmldom/xmldom@0.8.10': {} + /@xmldom/xmldom@0.8.10: + resolution: {integrity: sha512-2WALfTl4xo2SkGCYRt6rDTFfk9R1czmBvUQy12gK2KuRKIpWEhcbbzy8EZXtz/jkRqHX8bFEc6FC1HjX4TUWYw==} + engines: {node: '>=10.0.0'} + dev: true - '@xtuc/ieee754@1.2.0': {} + /@xtuc/ieee754@1.2.0: + resolution: {integrity: sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==} + dev: true - '@xtuc/long@4.2.2': {} + /@xtuc/long@4.2.2: + resolution: {integrity: sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==} + dev: true - '@zenuml/core@3.23.22(typescript@5.4.5)': + /@zenuml/core@3.23.22(typescript@5.4.5): + resolution: {integrity: sha512-2bdAP2Mwtc7J7wfVrmbDYChmWXS+nZZIH4pdhXvADykeAmlCTDMin67dbNpjiTp4BUFtY7dUmM6nXK2+ZWB/yg==} + engines: {node: '>=12.0.0'} dependencies: - '@headlessui-float/vue': 0.11.4(vue@3.4.27(typescript@5.4.5)) + '@headlessui-float/vue': 0.11.4(vue@3.4.27) '@headlessui/tailwindcss': 0.2.1(tailwindcss@3.4.4) - '@headlessui/vue': 1.7.22(vue@3.4.27(typescript@5.4.5)) + '@headlessui/vue': 1.7.22(vue@3.4.27) '@types/assert': 1.5.10 '@types/ramda': 0.28.25 - '@vue/compat': 3.4.27(vue@3.4.27(typescript@5.4.5)) + '@vue/compat': 3.4.27(vue@3.4.27) antlr4: 4.11.0 color-string: 1.9.1 dom-to-image-more: 2.16.0 @@ -11720,89 +5673,151 @@ snapshots: ramda: 0.28.0 tailwindcss: 3.4.4 vue: 3.4.27(typescript@5.4.5) - vuex: 4.1.0(vue@3.4.27(typescript@5.4.5)) + vuex: 4.1.0(vue@3.4.27) transitivePeerDependencies: - '@vue/composition-api' - ts-node - typescript + dev: false - JSONSelect@0.4.0: {} + /JSONSelect@0.4.0: + resolution: {integrity: sha512-VRLR3Su35MH+XV2lrvh9O7qWoug/TUyj9tLDjn9rtpUCNnILLrHjgd/tB0KrhugCxUpj3UqoLqfYb3fLJdIQQQ==} + engines: {node: '>=0.4.7'} + dev: true - JSV@4.0.2: {} + /JSV@4.0.2: + resolution: {integrity: sha512-ZJ6wx9xaKJ3yFUhq5/sk82PJMuUyLk277I8mQeyDgCTjGdjWJIvPfaU5LIXaMuaN2UO1X3kZH4+lgphublZUHw==} + dev: true - abort-controller@3.0.0: + /abort-controller@3.0.0: + resolution: {integrity: sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==} + engines: {node: '>=6.5'} dependencies: event-target-shim: 5.0.1 - abstract-logging@2.0.1: {} + /abstract-logging@2.0.1: + resolution: {integrity: sha512-2BjRTZxTPvheOvGbBslFSYOUkr+SjPtOnrLP33f+VIWLzezQpZcqVg7ja3L4dBXmzzgwT+a029jRx5PCi3JuiA==} + dev: true - accepts@1.3.8: + /accepts@1.3.8: + resolution: {integrity: sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==} + engines: {node: '>= 0.6'} dependencies: mime-types: 2.1.35 negotiator: 0.6.3 + dev: true - acorn-import-attributes@1.9.5(acorn@8.11.3): + /acorn-import-attributes@1.9.5(acorn@8.12.0): + resolution: {integrity: sha512-n02Vykv5uA3eHGM/Z2dQrcD56kL8TyDb2p1+0P83PClMnC/nc+anbQRhIOWnSq4Ke/KvDPrY3C9hDtC/A3eHnQ==} + peerDependencies: + acorn: ^8 dependencies: - acorn: 8.11.3 + acorn: 8.12.0 + dev: true - acorn-jsx@5.3.2(acorn@8.11.3): + /acorn-jsx@5.3.2(acorn@8.12.0): + resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} + peerDependencies: + acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 dependencies: - acorn: 8.11.3 + acorn: 8.12.0 + dev: true - acorn-walk@8.3.2: {} + /acorn-walk@8.3.3: + resolution: {integrity: sha512-MxXdReSRhGO7VlFe1bRG/oI7/mdLV9B9JJT0N8vZOhF7gFRR5l3M8W9G8JxmKV+JC5mGqJ0QvqfSOLsCPa4nUw==} + engines: {node: '>=0.4.0'} + dependencies: + acorn: 8.12.0 + dev: true - acorn@8.11.3: {} + /acorn@8.12.0: + resolution: {integrity: sha512-RTvkC4w+KNXrM39/lWCUaG0IbRkWdCv7W/IOW9oU6SawyxulvkQy5HQPVTKxEjczcUvapcrw3cFx/60VN/NRNw==} + engines: {node: '>=0.4.0'} + hasBin: true + dev: true - agent-base@6.0.2: + /agent-base@6.0.2: + resolution: {integrity: sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==} + engines: {node: '>= 6.0.0'} dependencies: debug: 4.3.5(supports-color@8.1.1) transitivePeerDependencies: - supports-color + dev: true - agent-base@7.1.1: + /agent-base@7.1.1: + resolution: {integrity: sha512-H0TSyFNDMomMNJQBn8wFV5YC/2eJ+VXECwOadZJT554xP6cODZHPX3H9QMQECxvrgiSOP1pHjy1sMWQVYJOUOA==} + engines: {node: '>= 14'} dependencies: debug: 4.3.5(supports-color@8.1.1) transitivePeerDependencies: - supports-color + dev: true - aggregate-error@3.1.0: + /aggregate-error@3.1.0: + resolution: {integrity: sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==} + engines: {node: '>=8'} dependencies: clean-stack: 2.2.0 indent-string: 4.0.0 + dev: true - aggregate-error@4.0.1: + /aggregate-error@4.0.1: + resolution: {integrity: sha512-0poP0T7el6Vq3rstR8Mn4V/IQrpBLO6POkUSrN7RhyY+GF/InCFShQzsQ39T25gkHhLgSLByyAz+Kjb+c2L98w==} + engines: {node: '>=12'} dependencies: clean-stack: 4.2.0 indent-string: 5.0.0 + dev: true - ajv-formats@2.1.1(ajv@8.16.0): - optionalDependencies: + /ajv-formats@2.1.1(ajv@8.16.0): + resolution: {integrity: sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==} + peerDependencies: + ajv: ^8.0.0 + peerDependenciesMeta: + ajv: + optional: true + dependencies: ajv: 8.16.0 + dev: true - ajv-keywords@3.5.2(ajv@6.12.6): + /ajv-keywords@3.5.2(ajv@6.12.6): + resolution: {integrity: sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==} + peerDependencies: + ajv: ^6.9.1 dependencies: ajv: 6.12.6 + dev: true - ajv-keywords@5.1.0(ajv@8.16.0): + /ajv-keywords@5.1.0(ajv@8.16.0): + resolution: {integrity: sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==} + peerDependencies: + ajv: ^8.8.2 dependencies: ajv: 8.16.0 fast-deep-equal: 3.1.3 + dev: true - ajv@6.12.6: + /ajv@6.12.6: + resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} dependencies: fast-deep-equal: 3.1.3 fast-json-stable-stringify: 2.1.0 json-schema-traverse: 0.4.1 uri-js: 4.4.1 + dev: true - ajv@8.16.0: + /ajv@8.16.0: + resolution: {integrity: sha512-F0twR8U1ZU67JIEtekUcLkXkoO5mMMmgGD8sK/xUFzJ805jxHQl92hImFAqqXMyMYjSPOyUPAwHYhB72g5sTXw==} dependencies: fast-deep-equal: 3.1.3 json-schema-traverse: 1.0.0 require-from-string: 2.0.2 uri-js: 4.4.1 + dev: true - algoliasearch@4.23.3: + /algoliasearch@4.23.3: + resolution: {integrity: sha512-Le/3YgNvjW9zxIQMRhUHuhiUjAlKY/zsdZpfq4dlLqg6mEm0nL6yk+7f2hDOtLpxsgE4jSzDmvHL7nXdBp5feg==} dependencies: '@algolia/cache-browser-local-storage': 4.23.3 '@algolia/cache-common': 4.23.3 @@ -11819,91 +5834,171 @@ snapshots: '@algolia/requester-common': 4.23.3 '@algolia/requester-node-http': 4.23.3 '@algolia/transporter': 4.23.3 + dev: true - amdefine@1.0.1: + /amdefine@1.0.1: + resolution: {integrity: sha512-S2Hw0TtNkMJhIabBwIojKL9YHO5T0n5eNqWJ7Lrlel/zDbftQpxpapi8tZs3X1HWa+u+QeydGmzzNU0m09+Rcg==} + engines: {node: '>=0.4.2'} + requiresBuild: true + dev: true optional: true - ansi-align@3.0.1: + /ansi-align@3.0.1: + resolution: {integrity: sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==} dependencies: string-width: 4.2.3 + dev: true - ansi-colors@4.1.3: {} + /ansi-colors@4.1.3: + resolution: {integrity: sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==} + engines: {node: '>=6'} + dev: true - ansi-escapes@4.3.2: + /ansi-escapes@4.3.2: + resolution: {integrity: sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==} + engines: {node: '>=8'} dependencies: type-fest: 0.21.3 + dev: true - ansi-escapes@6.2.1: {} + /ansi-escapes@6.2.1: + resolution: {integrity: sha512-4nJ3yixlEthEJ9Rk4vPcdBRkZvQZlYyu8j4/Mqz5sgIkddmEnH2Yj2ZrnP9S3tQOvSNRUIgVNF/1yPpRAGNRig==} + engines: {node: '>=14.16'} + dev: true - ansi-html-community@0.0.8: {} + /ansi-html-community@0.0.8: + resolution: {integrity: sha512-1APHAyr3+PCamwNw3bXCPp4HFLONZt/yIH0sZp0/469KWNTEy+qN5jQ3GVX6DMZ1UXAi34yVwtTeaG/HpBuuzw==} + engines: {'0': node >= 0.8.0} + hasBin: true + dev: true - ansi-regex@2.1.1: {} + /ansi-regex@2.1.1: + resolution: {integrity: sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==} + engines: {node: '>=0.10.0'} + dev: true - ansi-regex@5.0.1: {} + /ansi-regex@5.0.1: + resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} + engines: {node: '>=8'} - ansi-regex@6.0.1: {} + /ansi-regex@6.0.1: + resolution: {integrity: sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==} + engines: {node: '>=12'} - ansi-sequence-parser@1.1.1: {} + /ansi-sequence-parser@1.1.1: + resolution: {integrity: sha512-vJXt3yiaUL4UU546s3rPXlsry/RnM730G1+HkpKE012AN0sx1eOrxSu95oKDIonskeLTijMgqWZ3uDEe3NFvyg==} + dev: true - ansi-styles@2.2.1: {} + /ansi-styles@2.2.1: + resolution: {integrity: sha512-kmCevFghRiWM7HB5zTPULl4r9bVFSWjz62MhqizDGUrq2NWuNMQyuv4tHHoKJHs69M/MF64lEcHdYIocrdWQYA==} + engines: {node: '>=0.10.0'} + dev: true - ansi-styles@3.2.1: + /ansi-styles@3.2.1: + resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==} + engines: {node: '>=4'} dependencies: color-convert: 1.9.3 + dev: true - ansi-styles@4.3.0: + /ansi-styles@4.3.0: + resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} + engines: {node: '>=8'} dependencies: color-convert: 2.0.1 - ansi-styles@5.2.0: {} + /ansi-styles@5.2.0: + resolution: {integrity: sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==} + engines: {node: '>=10'} + dev: true - ansi-styles@6.2.1: {} + /ansi-styles@6.2.1: + resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==} + engines: {node: '>=12'} - antlr4@4.11.0: {} + /antlr4@4.11.0: + resolution: {integrity: sha512-GUGlpE2JUjAN+G8G5vY+nOoeyNhHsXoIJwP1XF1oRw89vifA1K46T6SEkwLwr7drihN7I/lf0DIjKc4OZvBX8w==} + engines: {node: '>=14'} + dev: false - any-promise@1.3.0: {} + /any-promise@1.3.0: + resolution: {integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==} - anymatch@3.1.3: + /anymatch@3.1.3: + resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} + engines: {node: '>= 8'} dependencies: normalize-path: 3.0.0 picomatch: 2.3.1 - app-path@3.3.0: + /app-path@3.3.0: + resolution: {integrity: sha512-EAgEXkdcxH1cgEePOSsmUtw9ItPl0KTxnh/pj9ZbhvbKbij9x0oX6PWpGnorDr0DS5AosLgoa5n3T/hZmKQpYA==} + engines: {node: '>=8'} dependencies: execa: 1.0.0 + dev: true - appdata-path@1.0.0: {} + /appdata-path@1.0.0: + resolution: {integrity: sha512-ZbH3ezXfnT/YE3NdqduIt4lBV+H0ybvA2Qx3K76gIjQvh8gROpDFdDLpx6B1QJtW7zxisCbpTlCLhKqoR8cDBw==} + dev: true - append-transform@2.0.0: + /append-transform@2.0.0: + resolution: {integrity: sha512-7yeyCEurROLQJFv5Xj4lEGTy0borxepjFv1g22oAdqFu//SrAlDl1O1Nxx15SH1RoliUml6p8dwJW9jvZughhg==} + engines: {node: '>=8'} dependencies: default-require-extensions: 3.0.1 + dev: true - arch@2.2.0: {} + /arch@2.2.0: + resolution: {integrity: sha512-Of/R0wqp83cgHozfIYLbBMnej79U/SVGOOyuB3VVFv1NRM/PSFMK12x9KVtiYzJqmnU5WR2qp0Z5rHb7sWGnFQ==} + dev: true - archy@1.0.0: {} + /archy@1.0.0: + resolution: {integrity: sha512-Xg+9RwCg/0p32teKdGMPTPnVXKD0w3DfHnFTficozsAgsvq2XenPJq/MYpzzQ/v8zrOyJn6Ds39VA4JIDwFfqw==} + dev: true - are-docs-informative@0.0.2: {} + /are-docs-informative@0.0.2: + resolution: {integrity: sha512-ixiS0nLNNG5jNQzgZJNoUpBKdo9yTYZMGJ+QgT2jmjR7G7+QHRCc4v6LQ3NgE7EBJq+o0ams3waJwkrlBom8Ig==} + engines: {node: '>=14'} + dev: true - arg@5.0.2: {} + /arg@5.0.2: + resolution: {integrity: sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==} - argparse@1.0.10: + /argparse@1.0.10: + resolution: {integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==} dependencies: sprintf-js: 1.0.3 + dev: true - argparse@2.0.1: {} + /argparse@2.0.1: + resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} + dev: true - array-buffer-byte-length@1.0.1: + /array-buffer-byte-length@1.0.1: + resolution: {integrity: sha512-ahC5W1xgou+KTXix4sAO8Ki12Q+jf4i0+tmk3sC+zgcynshkHxzpXdImBehiUYKKKDwvfFiJl1tZt6ewscS1Mg==} + engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.7 is-array-buffer: 3.0.4 + dev: true - array-flatten@1.1.1: {} + /array-flatten@1.1.1: + resolution: {integrity: sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==} + dev: true - array-timsort@1.0.3: {} + /array-timsort@1.0.3: + resolution: {integrity: sha512-/+3GRL7dDAGEfM6TseQk/U+mi18TU2Ms9I3UlLdUMhz2hbvGNTKdj9xniwXfUqgYhHxRx0+8UnKkvlNwVU+cWQ==} + dev: true - array-union@2.1.0: {} + /array-union@2.1.0: + resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==} + engines: {node: '>=8'} + dev: true - arraybuffer.prototype.slice@1.0.3: + /arraybuffer.prototype.slice@1.0.3: + resolution: {integrity: sha512-bMxMKAjg13EBSVscxTaYA4mRc5t1UAXa2kXiGTNfZ079HIWXEkKmkgFrh/nJqamaLSrXO5H4WFFkPEaLJWbs3A==} + engines: {node: '>= 0.4'} dependencies: array-buffer-byte-length: 1.0.1 call-bind: 1.0.7 @@ -11913,32 +6008,59 @@ snapshots: get-intrinsic: 1.2.4 is-array-buffer: 3.0.4 is-shared-array-buffer: 1.0.3 + dev: true - arrify@3.0.0: {} + /arrify@3.0.0: + resolution: {integrity: sha512-tLkvA81vQG/XqE2mjDkGQHoOINtMHtysSnemrmoGe6PydDPMRbVugqyk4A6V/WDWEfm3l+0d8anA9r8cv/5Jaw==} + engines: {node: '>=12'} + dev: true - asn1@0.2.6: + /asn1@0.2.6: + resolution: {integrity: sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==} dependencies: safer-buffer: 2.1.2 + dev: true - assert-plus@1.0.0: {} + /assert-plus@1.0.0: + resolution: {integrity: sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==} + engines: {node: '>=0.8'} + dev: true - assertion-error@1.1.0: {} + /assertion-error@1.1.0: + resolution: {integrity: sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==} + dev: true - astral-regex@2.0.0: {} + /astral-regex@2.0.0: + resolution: {integrity: sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==} + engines: {node: '>=8'} + dev: true - async@3.2.5: {} + /async@3.2.5: + resolution: {integrity: sha512-baNZyqaaLhyLVKm/DlvdW051MSgO6b8eVfIezl9E5PqWxFgzLm/wQntEW4zOytVburDEr0JlALEpdOFwvErLsg==} + dev: true - asynckit@0.4.0: {} + /asynckit@0.4.0: + resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==} + dev: true - at-least-node@1.0.0: {} + /at-least-node@1.0.0: + resolution: {integrity: sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==} + engines: {node: '>= 4.0.0'} + dev: true - atomic-sleep@1.0.0: {} + /atomic-sleep@1.0.0: + resolution: {integrity: sha512-kNOjDqAh7px0XWNI+4QbzoiR/nTkHAWNud2uvnJquD1/x5a7EQZMJT0AczqK0Qn67oY/TTQ1LbUKajZpp3I9tQ==} + engines: {node: '>=8.0.0'} - available-typed-arrays@1.0.7: + /available-typed-arrays@1.0.7: + resolution: {integrity: sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==} + engines: {node: '>= 0.4'} dependencies: possible-typed-array-names: 1.0.0 + dev: true - avvio@7.2.5: + /avvio@7.2.5: + resolution: {integrity: sha512-AOhBxyLVdpOad3TujtC9kL/9r3HnTkxwQ5ggOsYrvvZP1cCFvzHWJd5XxZDFuTn+IN8vkKSG5SEJrd27vCSbeA==} dependencies: archy: 1.0.0 debug: 4.3.5(supports-color@8.1.1) @@ -11946,20 +6068,31 @@ snapshots: queue-microtask: 1.2.3 transitivePeerDependencies: - supports-color + dev: true - aws-sign2@0.7.0: {} + /aws-sign2@0.7.0: + resolution: {integrity: sha512-08kcGqnYf/YmjoRhfxyu+CLxBjUtHLXLXX/vUfx9l2LYzG3c1m61nrpyFUZI6zeS+Li/wWMMidD9KgrqtGq3mA==} + dev: true - aws4@1.13.0: {} + /aws4@1.13.0: + resolution: {integrity: sha512-3AungXC4I8kKsS9PuS4JH2nc+0bVY/mjgrephHTIi8fpEeGsTHBUJeosp0Wc1myYMElmD0B3Oc4XL/HVJ4PV2g==} + dev: true - axios@1.7.2(debug@4.3.5): + /axios@1.7.2(debug@4.3.5): + resolution: {integrity: sha512-2A8QhOMrbomlDuiLeK9XibIBzuHeRcqqNOHp0Cyp5EoJ1IFDh+XZH3A6BkXtv0K4gFGCI0Y4BM7B1wOEi0Rmgw==} dependencies: follow-redirects: 1.15.6(debug@4.3.5) form-data: 4.0.0 proxy-from-env: 1.1.0 transitivePeerDependencies: - debug + dev: true - babel-jest@29.7.0(@babel/core@7.24.7): + /babel-jest@29.7.0(@babel/core@7.24.7): + resolution: {integrity: sha512-BrvGY3xZSwEcCzKvKsCi2GgHqDqsYkOP4/by5xCgIwGXQxIEh+8ew3gmrE1y7XRR6LHZIj6yLYnUi/mm2KXKBg==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + peerDependencies: + '@babel/core': ^7.8.0 dependencies: '@babel/core': 7.24.7 '@jest/transform': 29.7.0 @@ -11971,15 +6104,24 @@ snapshots: slash: 3.0.0 transitivePeerDependencies: - supports-color + dev: true - babel-loader@9.1.3(@babel/core@7.24.7)(webpack@5.92.0(esbuild@0.20.2)): + /babel-loader@9.1.3(@babel/core@7.24.7)(webpack@5.92.0): + resolution: {integrity: sha512-xG3ST4DglodGf8qSwv0MdeWLhrDsw/32QMdTO5T1ZIp9gQur0HkCyFs7Awskr10JKXFXwpAhiCuYX5oGXnRGbw==} + engines: {node: '>= 14.15.0'} + peerDependencies: + '@babel/core': ^7.12.0 + webpack: '>=5' dependencies: '@babel/core': 7.24.7 find-cache-dir: 4.0.0 schema-utils: 4.2.0 - webpack: 5.92.0(esbuild@0.20.2) + webpack: 5.92.0(esbuild@0.20.2)(webpack-cli@4.10.0) + dev: true - babel-plugin-istanbul@6.1.1: + /babel-plugin-istanbul@6.1.1: + resolution: {integrity: sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==} + engines: {node: '>=8'} dependencies: '@babel/helper-plugin-utils': 7.24.7 '@istanbuljs/load-nyc-config': 1.1.0 @@ -11988,15 +6130,22 @@ snapshots: test-exclude: 6.0.0 transitivePeerDependencies: - supports-color + dev: true - babel-plugin-jest-hoist@29.6.3: + /babel-plugin-jest-hoist@29.6.3: + resolution: {integrity: sha512-ESAc/RJvGTFEzRwOTT4+lNDk/GNHMkKbNzsvT0qKRfDyyYTskxB5rnU2njIDYVxXCBHHEI1c0YwHob3WaYujOg==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@babel/template': 7.24.7 '@babel/types': 7.24.7 '@types/babel__core': 7.20.5 '@types/babel__traverse': 7.20.6 + dev: true - babel-plugin-polyfill-corejs2@0.4.11(@babel/core@7.24.7): + /babel-plugin-polyfill-corejs2@0.4.11(@babel/core@7.24.7): + resolution: {integrity: sha512-sMEJ27L0gRHShOh5G54uAAPaiCOygY/5ratXuiyb2G46FmlSpc9eFCzYVyDiPxfNbwzA7mYahmjQc5q+CZQ09Q==} + peerDependencies: + '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 dependencies: '@babel/compat-data': 7.24.7 '@babel/core': 7.24.7 @@ -12004,23 +6153,35 @@ snapshots: semver: 6.3.1 transitivePeerDependencies: - supports-color + dev: true - babel-plugin-polyfill-corejs3@0.10.4(@babel/core@7.24.7): + /babel-plugin-polyfill-corejs3@0.10.4(@babel/core@7.24.7): + resolution: {integrity: sha512-25J6I8NGfa5YkCDogHRID3fVCadIR8/pGl1/spvCkzb6lVn6SR3ojpx9nOn9iEBcUsjY24AmdKm5khcfKdylcg==} + peerDependencies: + '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 dependencies: '@babel/core': 7.24.7 '@babel/helper-define-polyfill-provider': 0.6.2(@babel/core@7.24.7) core-js-compat: 3.37.1 transitivePeerDependencies: - supports-color + dev: true - babel-plugin-polyfill-regenerator@0.6.2(@babel/core@7.24.7): + /babel-plugin-polyfill-regenerator@0.6.2(@babel/core@7.24.7): + resolution: {integrity: sha512-2R25rQZWP63nGwaAswvDazbPXfrM3HwVoBXK6HcqeKrSrL/JqcC/rDcf95l4r7LXLyxDXc8uQDa064GubtCABg==} + peerDependencies: + '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 dependencies: '@babel/core': 7.24.7 '@babel/helper-define-polyfill-provider': 0.6.2(@babel/core@7.24.7) transitivePeerDependencies: - supports-color + dev: true - babel-preset-current-node-syntax@1.0.1(@babel/core@7.24.7): + /babel-preset-current-node-syntax@1.0.1(@babel/core@7.24.7): + resolution: {integrity: sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==} + peerDependencies: + '@babel/core': ^7.0.0 dependencies: '@babel/core': 7.24.7 '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.24.7) @@ -12035,43 +6196,73 @@ snapshots: '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.24.7) '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.24.7) '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.24.7) + dev: true - babel-preset-jest@29.6.3(@babel/core@7.24.7): + /babel-preset-jest@29.6.3(@babel/core@7.24.7): + resolution: {integrity: sha512-0B3bhxR6snWXJZtR/RliHTDPRgn1sNHOR0yVtq/IiQFyuOVjFS+wuio/R4gSNkyYmKmJB4wGZv2NZanmKmTnNA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + peerDependencies: + '@babel/core': ^7.0.0 dependencies: '@babel/core': 7.24.7 babel-plugin-jest-hoist: 29.6.3 babel-preset-current-node-syntax: 1.0.1(@babel/core@7.24.7) + dev: true - bail@2.0.2: {} + /bail@2.0.2: + resolution: {integrity: sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw==} + dev: true - balanced-match@1.0.2: {} + /balanced-match@1.0.2: + resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} - base64-js@1.5.1: {} + /base64-js@1.5.1: + resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} - batch@0.6.1: {} + /batch@0.6.1: + resolution: {integrity: sha512-x+VAiMRL6UPkx+kudNvxTl6hB2XNNCG2r+7wixVfIYwu/2HKRXimwQyaumLjMveWvT2Hkd/cAJw+QBMfJ/EKVw==} + dev: true - bcrypt-pbkdf@1.0.2: + /bcrypt-pbkdf@1.0.2: + resolution: {integrity: sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w==} dependencies: tweetnacl: 0.14.5 + dev: true - binary-extensions@2.3.0: {} + /binary-extensions@2.3.0: + resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==} + engines: {node: '>=8'} - binary-searching@2.0.5: {} + /binary-searching@2.0.5: + resolution: {integrity: sha512-v4N2l3RxL+m4zDxyxz3Ne2aTmiPn8ZUpKFpdPtO+ItW1NcTCXA7JeHG5GMBSvoKSkQZ9ycS+EouDVxYB9ufKWA==} + dev: true - binary@0.3.0: + /binary@0.3.0: + resolution: {integrity: sha512-D4H1y5KYwpJgK8wk1Cue5LLPgmwHKYSChkbspQg5JtVuR5ulGckxfR62H3AE9UDkdMC8yyXlqYihuz3Aqg2XZg==} dependencies: buffers: 0.1.1 chainsaw: 0.1.0 + dev: true - blob-util@2.0.2: {} + /blob-util@2.0.2: + resolution: {integrity: sha512-T7JQa+zsXXEa6/8ZhHcQEW1UFfVM49Ts65uBkFL6fz2QmrElqmbajIDJvuA0tEhRe5eIjpV9ZF+0RfZR9voJFQ==} + dev: true - bluebird@3.7.1: {} + /bluebird@3.7.1: + resolution: {integrity: sha512-DdmyoGCleJnkbp3nkbxTLJ18rjDsE4yCggEwKNXkeV123sPNfOCYeDoeuOY+F2FrSjO1YXcTU+dsy96KMy+gcg==} + dev: true - bluebird@3.7.2: {} + /bluebird@3.7.2: + resolution: {integrity: sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==} + dev: true - bmpimagejs@1.0.4: {} + /bmpimagejs@1.0.4: + resolution: {integrity: sha512-21oKU7kbRt2OgOOj7rdiNr/yznDNUQ585plxR00rsmECcZr+6O1oCwB8OIoSHk/bDhbG8mFXIdeQuCPHgZ6QBw==} + dev: true - body-parser@1.20.2: + /body-parser@1.20.2: + resolution: {integrity: sha512-ml9pReCu3M61kGlqoTm2umSXTlRTuGTx0bfYj+uIUKKYycG5NtSbeetV3faSU6R7ajOPw0g/J1PvK4qNy7s5bA==} + engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} dependencies: bytes: 3.1.2 content-type: 1.0.5 @@ -12087,13 +6278,18 @@ snapshots: unpipe: 1.0.0 transitivePeerDependencies: - supports-color + dev: true - bonjour-service@1.2.1: + /bonjour-service@1.2.1: + resolution: {integrity: sha512-oSzCS2zV14bh2kji6vNe7vrpJYCHGvcZnlffFQ1MEoX/WOeQ/teD8SYWKR942OI3INjq8OMNJlbPK5LLLUxFDw==} dependencies: fast-deep-equal: 3.1.3 multicast-dns: 7.2.5 + dev: true - boxen@5.1.2: + /boxen@5.1.2: + resolution: {integrity: sha512-9gYgQKXx+1nP8mP7CzFyaUARhg7D3n1dF/FnErWmu9l6JvGpNUN278h0aSb+QjoiKSWG+iZ3uHrcqk0qrY9RQQ==} + engines: {node: '>=10'} dependencies: ansi-align: 3.0.1 camelcase: 6.3.0 @@ -12103,58 +6299,98 @@ snapshots: type-fest: 0.20.2 widest-line: 3.1.0 wrap-ansi: 7.0.0 + dev: true - brace-expansion@1.1.11: + /brace-expansion@1.1.11: + resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} dependencies: balanced-match: 1.0.2 concat-map: 0.0.1 + dev: true - brace-expansion@2.0.1: + /brace-expansion@2.0.1: + resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==} dependencies: balanced-match: 1.0.2 - braces@3.0.3: + /braces@3.0.3: + resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} + engines: {node: '>=8'} dependencies: fill-range: 7.1.1 - browserslist@4.23.1: + /browserslist@4.23.1: + resolution: {integrity: sha512-TUfofFo/KsK/bWZ9TWQ5O26tsWW4Uhmt8IYklbnUa70udB6P2wA7w7o4PY4muaEPBQaAX+CEnmmIA41NVHtPVw==} + engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} + hasBin: true dependencies: - caniuse-lite: 1.0.30001633 - electron-to-chromium: 1.4.801 + caniuse-lite: 1.0.30001634 + electron-to-chromium: 1.4.802 node-releases: 2.0.14 update-browserslist-db: 1.0.16(browserslist@4.23.1) + dev: true - bser@2.1.1: + /bser@2.1.1: + resolution: {integrity: sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==} dependencies: node-int64: 0.4.0 + dev: true - buffer-crc32@0.2.13: {} + /buffer-crc32@0.2.13: + resolution: {integrity: sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==} + dev: true - buffer-from@1.1.2: {} + /buffer-from@1.1.2: + resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} + dev: true - buffer@5.7.1: + /buffer@5.7.1: + resolution: {integrity: sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==} dependencies: base64-js: 1.5.1 ieee754: 1.2.1 + dev: true - buffer@6.0.3: + /buffer@6.0.3: + resolution: {integrity: sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==} dependencies: base64-js: 1.5.1 ieee754: 1.2.1 + dev: false - buffers@0.1.1: {} + /buffers@0.1.1: + resolution: {integrity: sha512-9q/rDEGSb/Qsvv2qvzIzdluL5k7AaJOTrw23z9reQthrbF7is4CtlT0DXyO1oei2DCp4uojjzQ7igaSHp1kAEQ==} + engines: {node: '>=0.2.0'} + dev: true - builtin-modules@3.3.0: {} + /builtin-modules@3.3.0: + resolution: {integrity: sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==} + engines: {node: '>=6'} + dev: true - bytes@3.0.0: {} + /bytes@3.0.0: + resolution: {integrity: sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw==} + engines: {node: '>= 0.8'} + dev: true - bytes@3.1.2: {} + /bytes@3.1.2: + resolution: {integrity: sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==} + engines: {node: '>= 0.8'} + dev: true - cac@6.7.14: {} + /cac@6.7.14: + resolution: {integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==} + engines: {node: '>=8'} + dev: true - cacheable-lookup@5.0.4: {} + /cacheable-lookup@5.0.4: + resolution: {integrity: sha512-2/kNscPhpcxrOigMZzbiWF7dz8ilhb/nIHU3EyZiXWXpeq/au8qJ8VhdftMkty3n7Gj6HIGalQG8oiBNB3AJgA==} + engines: {node: '>=10.6.0'} + dev: true - cacheable-request@7.0.4: + /cacheable-request@7.0.4: + resolution: {integrity: sha512-v+p6ongsrp0yTGbJXjgxPow2+DL93DASP4kXCDKb8/bwRtt9OEF3whggkkDkGNzgcWy2XaF4a8nZglC7uElscg==} + engines: {node: '>=8'} dependencies: clone-response: 1.0.3 get-stream: 5.2.0 @@ -12163,41 +6399,73 @@ snapshots: lowercase-keys: 2.0.0 normalize-url: 6.1.0 responselike: 2.0.1 + dev: true - cachedir@2.4.0: {} + /cachedir@2.4.0: + resolution: {integrity: sha512-9EtFOZR8g22CL7BWjJ9BUx1+A/djkofnyW3aOXZORNW2kxoUpx2h+uN2cOqwPmFhnpVmxg+KW2OjOSgChTEvsQ==} + engines: {node: '>=6'} + dev: true - caching-transform@4.0.0: + /caching-transform@4.0.0: + resolution: {integrity: sha512-kpqOvwXnjjN44D89K5ccQC+RUrsy7jB/XLlRrx0D7/2HNcTPqzsb6XgYoErwko6QsV184CA2YgS1fxDiiDZMWA==} + engines: {node: '>=8'} dependencies: hasha: 5.2.2 make-dir: 3.1.0 package-hash: 4.0.0 write-file-atomic: 3.0.3 + dev: true - call-bind@1.0.7: + /call-bind@1.0.7: + resolution: {integrity: sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==} + engines: {node: '>= 0.4'} dependencies: es-define-property: 1.0.0 es-errors: 1.3.0 function-bind: 1.1.2 get-intrinsic: 1.2.4 set-function-length: 1.2.2 + dev: true - call-me-maybe@1.0.2: {} + /call-me-maybe@1.0.2: + resolution: {integrity: sha512-HpX65o1Hnr9HH25ojC1YGs7HCQLq0GCOibSaWER0eNpgJ/Z1MZv2mTc7+xh6WOPxbRVcmgbv4hGU+uSQ/2xFZQ==} + dev: true - callsites@3.1.0: {} + /callsites@3.1.0: + resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} + engines: {node: '>=6'} + dev: true - camelcase-css@2.0.1: {} + /camelcase-css@2.0.1: + resolution: {integrity: sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==} + engines: {node: '>= 6'} + dev: false - camelcase@5.3.1: {} + /camelcase@5.3.1: + resolution: {integrity: sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==} + engines: {node: '>=6'} + dev: true - camelcase@6.3.0: {} + /camelcase@6.3.0: + resolution: {integrity: sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==} + engines: {node: '>=10'} + dev: true - caniuse-lite@1.0.30001633: {} + /caniuse-lite@1.0.30001634: + resolution: {integrity: sha512-fbBYXQ9q3+yp1q1gBk86tOFs4pyn/yxFm5ZNP18OXJDfA3txImOY9PhfxVggZ4vRHDqoU8NrKU81eN0OtzOgRA==} + dev: true - caseless@0.12.0: {} + /caseless@0.12.0: + resolution: {integrity: sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==} + dev: true - ccount@2.0.1: {} + /ccount@2.0.1: + resolution: {integrity: sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==} + dev: true - chai@4.4.1: + /chai@4.4.1: + resolution: {integrity: sha512-13sOfMv2+DWduEU+/xbun3LScLoqN17nBeTLUsmDfKdoiC1fr0n9PU4guu4AhRcOVFk/sW8LyZWHuhWtQZiF+g==} + engines: {node: '>=4'} dependencies: assertion-error: 1.1.0 check-error: 1.0.3 @@ -12206,63 +6474,103 @@ snapshots: loupe: 2.3.7 pathval: 1.1.1 type-detect: 4.0.8 + dev: true - chainsaw@0.1.0: + /chainsaw@0.1.0: + resolution: {integrity: sha512-75kWfWt6MEKNC8xYXIdRpDehRYY/tNSgwKaJq+dbbDcxORuVrrQ+SEHoWsniVn9XPYfP4gmdWIeDk/4YNp1rNQ==} dependencies: traverse: 0.3.9 + dev: true - chalk-template@1.1.0: + /chalk-template@1.1.0: + resolution: {integrity: sha512-T2VJbcDuZQ0Tb2EWwSotMPJjgpy1/tGee1BTpUNsGZ/qgNjV2t7Mvu+d4600U564nbLesN1x2dPL+xii174Ekg==} + engines: {node: '>=14.16'} dependencies: chalk: 5.3.0 + dev: true - chalk@1.1.3: + /chalk@1.1.3: + resolution: {integrity: sha512-U3lRVLMSlsCfjqYPbLyVv11M9CPW4I728d6TCKMAOJueEeB9/8o+eSsMnxPJD+Q+K909sdESg7C+tIkoH6on1A==} + engines: {node: '>=0.10.0'} dependencies: ansi-styles: 2.2.1 escape-string-regexp: 1.0.5 has-ansi: 2.0.0 strip-ansi: 3.0.1 supports-color: 2.0.0 + dev: true - chalk@2.4.2: + /chalk@2.4.2: + resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==} + engines: {node: '>=4'} dependencies: ansi-styles: 3.2.1 escape-string-regexp: 1.0.5 supports-color: 5.5.0 + dev: true - chalk@3.0.0: + /chalk@3.0.0: + resolution: {integrity: sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==} + engines: {node: '>=8'} dependencies: ansi-styles: 4.3.0 supports-color: 7.2.0 + dev: true - chalk@4.1.2: + /chalk@4.1.2: + resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} + engines: {node: '>=10'} dependencies: ansi-styles: 4.3.0 supports-color: 7.2.0 + dev: true - chalk@5.3.0: {} + /chalk@5.3.0: + resolution: {integrity: sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==} + engines: {node: ^12.17.0 || ^14.13 || >=16.0.0} + dev: true - char-regex@1.0.2: {} + /char-regex@1.0.2: + resolution: {integrity: sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==} + engines: {node: '>=10'} + dev: true - character-entities-legacy@1.1.4: {} + /character-entities-legacy@1.1.4: + resolution: {integrity: sha512-3Xnr+7ZFS1uxeiUDvV02wQ+QDbc55o97tIV5zHScSPJpcLm/r0DFPcoY3tYRp+VZukxuMeKgXYmsXQHO05zQeA==} + dev: true - character-entities@1.2.4: {} + /character-entities@1.2.4: + resolution: {integrity: sha512-iBMyeEHxfVnIakwOuDXpVkc54HijNgCyQB2w0VfGQThle6NXn50zU6V/u+LDhxHcDUPojn6Kpga3PTAD8W1bQw==} + dev: true - character-entities@2.0.2: {} + /character-entities@2.0.2: + resolution: {integrity: sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ==} - character-reference-invalid@1.1.4: {} + /character-reference-invalid@1.1.4: + resolution: {integrity: sha512-mKKUkUbhPpQlCOfIuZkvSEgktjPFIsZKRRbC6KWVEMvlzblj3i3asQv5ODsrwt0N3pHAEvjP8KTQPHkp0+6jOg==} + dev: true - check-error@1.0.3: + /check-error@1.0.3: + resolution: {integrity: sha512-iKEoDYaRmd1mxM90a2OEfWhjsjPpYPuQ+lMYsoxB126+t8fw7ySEO48nmDg5COTjxDI65/Y2OWpeEHk3ZOe8zg==} dependencies: get-func-name: 2.0.2 + dev: true - check-more-types@2.24.0: {} + /check-more-types@2.24.0: + resolution: {integrity: sha512-Pj779qHxV2tuapviy1bSZNEL1maXr13bPYpsvSDB68HlYcYuhlDrmGd63i0JHMCLKzc7rUSNIrpdJlhVlNwrxA==} + engines: {node: '>= 0.8.0'} + dev: true - chevrotain-allstar@0.3.1(chevrotain@11.0.3): + /chevrotain-allstar@0.3.1(chevrotain@11.0.3): + resolution: {integrity: sha512-b7g+y9A0v4mxCW1qUhf3BSVPg+/NvGErk/dOkrDaHA0nQIQGAtrOjlX//9OQtRlSCy+x9rfB5N8yC71lH1nvMw==} + peerDependencies: + chevrotain: ^11.0.0 dependencies: chevrotain: 11.0.3 lodash-es: 4.17.21 - chevrotain@11.0.3: + /chevrotain@11.0.3: + resolution: {integrity: sha512-ci2iJH6LeIkvP9eJW6gpueU8cnZhv85ELY8w8WiFtNjMHA5ad6pQLaJo9mEly/9qUyCpvqX8/POVUTf18/HFdw==} dependencies: '@chevrotain/cst-dts-gen': 11.0.3 '@chevrotain/gast': 11.0.3 @@ -12271,7 +6579,9 @@ snapshots: '@chevrotain/utils': 11.0.3 lodash-es: 4.17.21 - chokidar@3.6.0: + /chokidar@3.6.0: + resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==} + engines: {node: '>= 8.10.0'} dependencies: anymatch: 3.1.3 braces: 3.0.3 @@ -12283,159 +6593,281 @@ snapshots: optionalDependencies: fsevents: 2.3.3 - chrome-trace-event@1.0.4: {} + /chrome-trace-event@1.0.4: + resolution: {integrity: sha512-rNjApaLzuwaOTjCiT8lSDdGN1APCiqkChLMJxJPWLunPAt5fy8xgU9/jNOchV84wfIxrA0lRQB7oCT8jrn/wrQ==} + engines: {node: '>=6.0'} + dev: true - ci-info@3.9.0: {} + /ci-info@3.9.0: + resolution: {integrity: sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==} + engines: {node: '>=8'} + dev: true - ci-info@4.0.0: {} + /ci-info@4.0.0: + resolution: {integrity: sha512-TdHqgGf9odd8SXNuxtUBVx8Nv+qZOejE6qyqiy5NtbYYQOeFa6zmHkxlPzmaLxWWHsU6nJmB7AETdVPi+2NBUg==} + engines: {node: '>=8'} + dev: true - cjs-module-lexer@1.3.1: {} + /cjs-module-lexer@1.3.1: + resolution: {integrity: sha512-a3KdPAANPbNE4ZUv9h6LckSl9zLsYOP4MBmhIPkRaeyybt+r4UghLvq+xw/YwUcC1gqylCkL4rdVs3Lwupjm4Q==} + dev: true - cjson@0.3.0: + /cjson@0.3.0: + resolution: {integrity: sha512-bBRQcCIHzI1IVH59fR0bwGrFmi3Btb/JNwM/n401i1DnYgWndpsUBiQRAddLflkZage20A2d25OAWZZk0vBRlA==} + engines: {node: '>= 0.3.0'} dependencies: jsonlint: 1.6.0 + dev: true - clap@3.1.1: + /clap@3.1.1: + resolution: {integrity: sha512-vp42956Ax06WwaaheYEqEOgXZ3VKJxgccZ0gJL0HpyiupkIS9RVJFo5eDU1BPeQAOqz+cclndZg4DCqG1sJReQ==} + engines: {node: ^12.20.0 || ^14.13.0 || >=15.0.0, npm: '>=7.0.0'} dependencies: ansi-colors: 4.1.3 + dev: true - clean-regexp@1.0.0: + /clean-regexp@1.0.0: + resolution: {integrity: sha512-GfisEZEJvzKrmGWkvfhgzcz/BllN1USeqD2V6tg14OAOgaCD2Z/PUEuxnAZ/nPvmaHRG7a8y77p1T/IRQ4D1Hw==} + engines: {node: '>=4'} dependencies: escape-string-regexp: 1.0.5 + dev: true - clean-stack@2.2.0: {} + /clean-stack@2.2.0: + resolution: {integrity: sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==} + engines: {node: '>=6'} + dev: true - clean-stack@4.2.0: + /clean-stack@4.2.0: + resolution: {integrity: sha512-LYv6XPxoyODi36Dp976riBtSY27VmFo+MKqEU9QCCWyTrdEPDog+RWA7xQWHi6Vbp61j5c4cdzzX1NidnwtUWg==} + engines: {node: '>=12'} dependencies: escape-string-regexp: 5.0.0 + dev: true - clear-module@4.1.2: + /clear-module@4.1.2: + resolution: {integrity: sha512-LWAxzHqdHsAZlPlEyJ2Poz6AIs384mPeqLVCru2p0BrP9G/kVGuhNyZYClLO6cXlnuJjzC8xtsJIuMjKqLXoAw==} + engines: {node: '>=8'} dependencies: parent-module: 2.0.0 resolve-from: 5.0.0 + dev: true - cli-boxes@2.2.1: {} + /cli-boxes@2.2.1: + resolution: {integrity: sha512-y4coMcylgSCdVinjiDBuR8PCC2bLjyGTwEmPb9NHR/QaNU6EUOXcTY/s6VjGMD6ENSEaeQYHCY0GNGS5jfMwPw==} + engines: {node: '>=6'} + dev: true - cli-color@2.0.4: + /cli-color@2.0.4: + resolution: {integrity: sha512-zlnpg0jNcibNrO7GG9IeHH7maWFeCz+Ja1wx/7tZNU5ASSSSZ+/qZciM0/LHCYxSdqv5h2sdbQ/PXYdOuetXvA==} + engines: {node: '>=0.10'} dependencies: d: 1.0.2 es5-ext: 0.10.64 es6-iterator: 2.0.3 memoizee: 0.4.17 timers-ext: 0.1.8 + dev: true - cli-cursor@3.1.0: + /cli-cursor@3.1.0: + resolution: {integrity: sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==} + engines: {node: '>=8'} dependencies: restore-cursor: 3.1.0 + dev: true - cli-cursor@4.0.0: + /cli-cursor@4.0.0: + resolution: {integrity: sha512-VGtlMu3x/4DOtIUwEkRezxUZ2lBacNJCHash0N0WeZDBS+7Ux1dm3XWAgWYxLJFMMdOeXMHXorshEFhbMSGelg==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dependencies: restore-cursor: 4.0.0 + dev: true - cli-table3@0.6.5: + /cli-table3@0.6.5: + resolution: {integrity: sha512-+W/5efTR7y5HRD7gACw9yQjqMVvEMLBHmboM/kPWam+H+Hmyrgjh6YncVKK122YZkXrLudzTuAukUw9FnMf7IQ==} + engines: {node: 10.* || >= 12.*} dependencies: string-width: 4.2.3 optionalDependencies: '@colors/colors': 1.5.0 + dev: true - cli-truncate@2.1.0: + /cli-truncate@2.1.0: + resolution: {integrity: sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg==} + engines: {node: '>=8'} dependencies: slice-ansi: 3.0.0 string-width: 4.2.3 + dev: true - cli-truncate@4.0.0: + /cli-truncate@4.0.0: + resolution: {integrity: sha512-nPdaFdQ0h/GEigbPClz11D0v/ZJEwxmeVZGeMo3Z5StPtUTkA9o1lD6QwoirYiSDzbcwn2XcjwmCp68W1IS4TA==} + engines: {node: '>=18'} dependencies: slice-ansi: 5.0.0 string-width: 7.1.0 + dev: true - cliui@6.0.0: + /cliui@6.0.0: + resolution: {integrity: sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==} dependencies: string-width: 4.2.3 strip-ansi: 6.0.1 wrap-ansi: 6.2.0 + dev: true - cliui@8.0.1: + /cliui@8.0.1: + resolution: {integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==} + engines: {node: '>=12'} dependencies: string-width: 4.2.3 strip-ansi: 6.0.1 wrap-ansi: 7.0.0 + dev: true - clone-deep@4.0.1: + /clone-deep@4.0.1: + resolution: {integrity: sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==} + engines: {node: '>=6'} dependencies: is-plain-object: 2.0.4 kind-of: 6.0.3 shallow-clone: 3.0.1 + dev: true - clone-response@1.0.3: + /clone-response@1.0.3: + resolution: {integrity: sha512-ROoL94jJH2dUVML2Y/5PEDNaSHgeOdSDicUyS7izcF63G6sTc/FTjLub4b8Il9S8S0beOfYt0TaA5qvFK+w0wA==} dependencies: mimic-response: 1.0.1 + dev: true - co@4.6.0: {} + /co@4.6.0: + resolution: {integrity: sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==} + engines: {iojs: '>= 1.0.0', node: '>= 0.12.0'} + dev: true - collect-v8-coverage@1.0.2: {} + /collect-v8-coverage@1.0.2: + resolution: {integrity: sha512-lHl4d5/ONEbLlJvaJNtsF/Lz+WvB07u2ycqTYbdrq7UypDXailES4valYb2eWiJFxZlVmpGekfqoxQhzyFdT4Q==} + dev: true - color-convert@1.9.3: + /color-convert@1.9.3: + resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} dependencies: color-name: 1.1.3 + dev: true - color-convert@2.0.1: + /color-convert@2.0.1: + resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} + engines: {node: '>=7.0.0'} dependencies: color-name: 1.1.4 - color-name@1.1.3: {} + /color-name@1.1.3: + resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==} + dev: true - color-name@1.1.4: {} + /color-name@1.1.4: + resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} - color-string@1.9.1: + /color-string@1.9.1: + resolution: {integrity: sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==} dependencies: color-name: 1.1.4 simple-swizzle: 0.2.2 + dev: false - colorette@2.0.20: {} + /colorette@2.0.20: + resolution: {integrity: sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==} + dev: true - colors@0.5.1: {} + /colors@0.5.1: + resolution: {integrity: sha512-XjsuUwpDeY98+yz959OlUK6m7mLBM+1MEG5oaenfuQnNnrQk1WvtcvFgN3FNDP3f2NmZ211t0mNEfSEN1h0eIg==} + engines: {node: '>=0.1.90'} + dev: true - combined-stream@1.0.8: + /combined-stream@1.0.8: + resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==} + engines: {node: '>= 0.8'} dependencies: delayed-stream: 1.0.0 + dev: true - commander@11.0.0: {} + /commander@11.0.0: + resolution: {integrity: sha512-9HMlXtt/BNoYr8ooyjjNRdIilOTkVJXB+GhxMTtOKwk0R4j4lS4NpjuqmRxroBfnfTSHQIHQB7wryHhXarNjmQ==} + engines: {node: '>=16'} + dev: true - commander@12.1.0: {} + /commander@12.1.0: + resolution: {integrity: sha512-Vw8qHK3bZM9y/P10u3Vib8o/DdkvA2OtPtZvD871QKjy74Wj1WSKFILMPRPSdUSx5RFK1arlJzEtA4PkFgnbuA==} + engines: {node: '>=18'} + dev: true - commander@2.20.3: {} + /commander@2.20.3: + resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==} + dev: true - commander@4.1.1: {} + /commander@4.1.1: + resolution: {integrity: sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==} + engines: {node: '>= 6'} + dev: false - commander@5.1.0: {} + /commander@5.1.0: + resolution: {integrity: sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg==} + engines: {node: '>= 6'} + dev: true - commander@6.2.1: {} + /commander@6.2.1: + resolution: {integrity: sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA==} + engines: {node: '>= 6'} + dev: true - commander@7.2.0: {} + /commander@7.2.0: + resolution: {integrity: sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==} + engines: {node: '>= 10'} - commander@8.3.0: {} + /commander@8.3.0: + resolution: {integrity: sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==} + engines: {node: '>= 12'} + dev: false - comment-json@4.2.3: + /comment-json@4.2.3: + resolution: {integrity: sha512-SsxdiOf064DWoZLH799Ata6u7iV658A11PlWtZATDlXPpKGJnbJZ5Z24ybixAi+LUUqJ/GKowAejtC5GFUG7Tw==} + engines: {node: '>= 6'} dependencies: array-timsort: 1.0.3 core-util-is: 1.0.3 esprima: 4.0.1 has-own-prop: 2.0.0 repeat-string: 1.6.1 + dev: true - comment-parser@1.4.1: {} + /comment-parser@1.4.1: + resolution: {integrity: sha512-buhp5kePrmda3vhc5B9t7pUQXAb2Tnd0qgpkIhPhkHXxJpiPJ11H0ZEU0oBpJ2QztSbzG/ZxMj/CHsYJqRHmyg==} + engines: {node: '>= 12.0.0'} + dev: true - common-path-prefix@3.0.0: {} + /common-path-prefix@3.0.0: + resolution: {integrity: sha512-QE33hToZseCH3jS0qN96O/bSh3kaw/h+Tq7ngyY9eWDUnTlTNUyqfqvCXioLe5Na5jFsL78ra/wuBU4iuEgd4w==} + dev: true - common-tags@1.8.2: {} + /common-tags@1.8.2: + resolution: {integrity: sha512-gk/Z852D2Wtb//0I+kRFNKKE9dIIVirjoqPoA1wJU+XePVXZfGeBpk45+A1rKO4Q43prqWBNY/MiIeRLbPWUaA==} + engines: {node: '>=4.0.0'} + dev: true - commondir@1.0.1: {} + /commondir@1.0.1: + resolution: {integrity: sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==} + dev: true - compressible@2.0.18: + /compressible@2.0.18: + resolution: {integrity: sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==} + engines: {node: '>= 0.6'} dependencies: mime-db: 1.52.0 + dev: true - compression@1.7.4: + /compression@1.7.4: + resolution: {integrity: sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==} + engines: {node: '>= 0.8.0'} dependencies: accepts: 1.3.8 bytes: 3.0.0 @@ -12446,10 +6878,16 @@ snapshots: vary: 1.1.2 transitivePeerDependencies: - supports-color + dev: true - concat-map@0.0.1: {} + /concat-map@0.0.1: + resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} + dev: true - concurrently@8.2.2: + /concurrently@8.2.2: + resolution: {integrity: sha512-1dP4gpXFhei8IOtlXRE/T/4H88ElHgTiUzh71YUmtjTEHMSRS2Z/fgOxHSxxusGHogsRfxNq1vyAwxSC+EVyDg==} + engines: {node: ^14.13.0 || >=16.0.0} + hasBin: true dependencies: chalk: 4.1.2 date-fns: 2.30.0 @@ -12460,58 +6898,105 @@ snapshots: supports-color: 8.1.1 tree-kill: 1.2.2 yargs: 17.7.2 + dev: true - confbox@0.1.7: {} + /confbox@0.1.7: + resolution: {integrity: sha512-uJcB/FKZtBMCJpK8MQji6bJHgu1tixKPxRLeGkNzBoOZzpnZUJm0jm2/sBDWcuBx1dYgxV4JU+g5hmNxCyAmdA==} + dev: true - connect-history-api-fallback@2.0.0: {} + /connect-history-api-fallback@2.0.0: + resolution: {integrity: sha512-U73+6lQFmfiNPrYbXqr6kZ1i1wiRqXnp2nhMsINseWXO8lDau0LGEffJ8kQi4EjLZympVgRdvqjAgiZ1tgzDDA==} + engines: {node: '>=0.8'} + dev: true - consola@3.2.3: {} + /consola@3.2.3: + resolution: {integrity: sha512-I5qxpzLv+sJhTVEoLYNcTW+bThDCPsit0vLNKShZx6rLtpilNpmmeTPaeqJb9ZE9dV3DGaeby6Vuhrw38WjeyQ==} + engines: {node: ^14.18.0 || >=16.10.0} + dev: true - content-disposition@0.5.4: + /content-disposition@0.5.4: + resolution: {integrity: sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==} + engines: {node: '>= 0.6'} dependencies: safe-buffer: 5.2.1 + dev: true - content-type@1.0.5: {} + /content-type@1.0.5: + resolution: {integrity: sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==} + engines: {node: '>= 0.6'} + dev: true - convert-source-map@1.9.0: {} + /convert-source-map@1.9.0: + resolution: {integrity: sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==} + dev: true - convert-source-map@2.0.0: {} + /convert-source-map@2.0.0: + resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==} + dev: true - cookie-signature@1.0.6: {} + /cookie-signature@1.0.6: + resolution: {integrity: sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==} + dev: true - cookie@0.5.0: {} + /cookie@0.5.0: + resolution: {integrity: sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==} + engines: {node: '>= 0.6'} + dev: true - cookie@0.6.0: {} + /cookie@0.6.0: + resolution: {integrity: sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==} + engines: {node: '>= 0.6'} + dev: true - core-js-compat@3.37.1: + /core-js-compat@3.37.1: + resolution: {integrity: sha512-9TNiImhKvQqSUkOvk/mMRZzOANTiEVC7WaBNhHcKM7x+/5E1l5NvsysR19zuDQScE8k+kfQXWRN3AtS/eOSHpg==} dependencies: browserslist: 4.23.1 + dev: true - core-util-is@1.0.2: {} + /core-util-is@1.0.2: + resolution: {integrity: sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==} + dev: true - core-util-is@1.0.3: {} + /core-util-is@1.0.3: + resolution: {integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==} + dev: true - cors@2.8.5: + /cors@2.8.5: + resolution: {integrity: sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==} + engines: {node: '>= 0.10'} dependencies: object-assign: 4.1.1 vary: 1.1.2 + dev: true - cose-base@1.0.3: + /cose-base@1.0.3: + resolution: {integrity: sha512-s9whTXInMSgAp/NVXVNuVxVKzGH2qck3aQlVHxDCdAEPgtMKwc4Wq6/QKhgdEdgbLSi9rBTAcPoRa6JpiG4ksg==} dependencies: layout-base: 1.0.2 + dev: false - cp-file@10.0.0: + /cp-file@10.0.0: + resolution: {integrity: sha512-vy2Vi1r2epK5WqxOLnskeKeZkdZvTKfFZQCplE3XWsP+SUJyd5XAUFC9lFgTjjXJF2GMne/UML14iEmkAaDfFg==} + engines: {node: '>=14.16'} dependencies: graceful-fs: 4.2.11 nested-error-stacks: 2.1.1 p-event: 5.0.1 + dev: true - cpy-cli@5.0.0: + /cpy-cli@5.0.0: + resolution: {integrity: sha512-fb+DZYbL9KHc0BC4NYqGRrDIJZPXUmjjtqdw4XRRg8iV8dIfghUX/WiL+q4/B/KFTy3sK6jsbUhBaz0/Hxg7IQ==} + engines: {node: '>=16'} + hasBin: true dependencies: cpy: 10.1.0 meow: 12.1.1 + dev: true - cpy@10.1.0: + /cpy@10.1.0: + resolution: {integrity: sha512-VC2Gs20JcTyeQob6UViBLnyP0bYHkBh6EiKzot9vi2DmeGlFT9Wd7VG3NBrkNx/jYvFBeyDOMMHdHQhbtKLgHQ==} + engines: {node: '>=16'} dependencies: arrify: 3.0.0 cp-file: 10.0.0 @@ -12521,8 +7006,12 @@ snapshots: nested-error-stacks: 2.1.1 p-filter: 3.0.0 p-map: 6.0.0 + dev: true - create-jest@29.7.0(@types/node@20.14.2): + /create-jest@29.7.0(@types/node@20.14.2): + resolution: {integrity: sha512-Adz2bdH0Vq3F53KEMJOoftQFutWCukm6J24wbPWRO4k1kMY7gS7ds/uoJkNuV8wDCtWWnuwGcJwpWcih+zEW1Q==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + hasBin: true dependencies: '@jest/types': 29.6.3 chalk: 4.1.2 @@ -12536,60 +7025,95 @@ snapshots: - babel-plugin-macros - supports-color - ts-node + dev: true - cross-env@7.0.3: + /cross-env@7.0.3: + resolution: {integrity: sha512-+/HKd6EgcQCJGh2PSjZuUitQBQynKor4wrFbRg4DtAgS1aWO+gU52xpH7M9ScGgXSYmAVS9bIJ8EzuaGw0oNAw==} + engines: {node: '>=10.14', npm: '>=6', yarn: '>=1'} + hasBin: true dependencies: cross-spawn: 7.0.3 + dev: true - cross-spawn@6.0.5: + /cross-spawn@6.0.5: + resolution: {integrity: sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==} + engines: {node: '>=4.8'} dependencies: nice-try: 1.0.5 path-key: 2.0.1 semver: 5.7.2 shebang-command: 1.2.0 which: 1.3.1 + dev: true - cross-spawn@7.0.3: + /cross-spawn@7.0.3: + resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} + engines: {node: '>= 8'} dependencies: path-key: 3.1.1 shebang-command: 2.0.0 which: 2.0.2 - crypto-random-string@2.0.0: {} + /crypto-random-string@2.0.0: + resolution: {integrity: sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==} + engines: {node: '>=8'} + dev: true - cspell-config-lib@8.8.4: + /cspell-config-lib@8.8.4: + resolution: {integrity: sha512-Xf+aL669Cm+MYZTZULVWRQXB7sRWx9qs0hPrgqxeaWabLUISK57/qwcI24TPVdYakUCoud9Nv+woGi5FcqV5ZQ==} + engines: {node: '>=18'} dependencies: '@cspell/cspell-types': 8.8.4 comment-json: 4.2.3 yaml: 2.4.5 + dev: true - cspell-dictionary@8.8.4: + /cspell-dictionary@8.8.4: + resolution: {integrity: sha512-eDi61MDDZycS5EASz5FiYKJykLEyBT0mCvkYEUCsGVoqw8T9gWuWybwwqde3CMq9TOwns5pxGcFs2v9RYgtN5A==} + engines: {node: '>=18'} dependencies: '@cspell/cspell-pipe': 8.8.4 '@cspell/cspell-types': 8.8.4 cspell-trie-lib: 8.8.4 fast-equals: 5.0.1 gensequence: 7.0.0 + dev: true - cspell-gitignore@8.8.4: + /cspell-gitignore@8.8.4: + resolution: {integrity: sha512-rLdxpBh0kp0scwqNBZaWVnxEVmSK3UWyVSZmyEL4jmmjusHYM9IggfedOhO4EfGCIdQ32j21TevE0tTslyc4iA==} + engines: {node: '>=18'} + hasBin: true dependencies: cspell-glob: 8.8.4 find-up-simple: 1.0.0 + dev: true - cspell-glob@8.8.4: + /cspell-glob@8.8.4: + resolution: {integrity: sha512-+tRrOfTSbF/44uNl4idMZVPNfNM6WTmra4ZL44nx23iw1ikNhqZ+m0PC1oCVSlURNBEn8faFXjC/oT2BfgxoUQ==} + engines: {node: '>=18'} dependencies: micromatch: 4.0.7 + dev: true - cspell-grammar@8.8.4: + /cspell-grammar@8.8.4: + resolution: {integrity: sha512-UxDO517iW6vs/8l4OhLpdMR7Bp+tkquvtld1gWz8WYQiDwORyf0v5a3nMh4ILYZGoolOSnDuI9UjWOLI6L/vvQ==} + engines: {node: '>=18'} + hasBin: true dependencies: '@cspell/cspell-pipe': 8.8.4 '@cspell/cspell-types': 8.8.4 + dev: true - cspell-io@8.8.4: + /cspell-io@8.8.4: + resolution: {integrity: sha512-aqB/QMx+xns46QSyPEqi05uguCSxvqRnh2S/ZOhhjPlKma/7hK9niPRcwKwJXJEtNzdiZZkkC1uZt9aJe/7FTA==} + engines: {node: '>=18'} dependencies: '@cspell/cspell-service-bus': 8.8.4 + dev: true - cspell-lib@8.8.4: + /cspell-lib@8.8.4: + resolution: {integrity: sha512-hK8gYtdQ9Lh86c8cEHITt5SaoJbfvXoY/wtpR4k393YR+eAxKziyv8ihQyFE/Z/FwuqtNvDrSntP9NLwTivd3g==} + engines: {node: '>=18'} dependencies: '@cspell/cspell-bundled-dicts': 8.8.4 '@cspell/cspell-pipe': 8.8.4 @@ -12613,14 +7137,21 @@ snapshots: vscode-languageserver-textdocument: 1.0.11 vscode-uri: 3.0.8 xdg-basedir: 5.1.0 + dev: true - cspell-trie-lib@8.8.4: + /cspell-trie-lib@8.8.4: + resolution: {integrity: sha512-yCld4ZL+pFa5DL+Arfvmkv3cCQUOfdRlxElOzdkRZqWyO6h/UmO8xZb21ixVYHiqhJGZmwc3BG9Xuw4go+RLig==} + engines: {node: '>=18'} dependencies: '@cspell/cspell-pipe': 8.8.4 '@cspell/cspell-types': 8.8.4 gensequence: 7.0.0 + dev: true - cspell@8.8.4: + /cspell@8.8.4: + resolution: {integrity: sha512-eRUHiXvh4iRapw3lqE1nGOEAyYVfa/0lgK/e34SpcM/ECm4QuvbfY7Yl0ozCbiYywecog0RVbeJJUEYJTN5/Mg==} + engines: {node: '>=18'} + hasBin: true dependencies: '@cspell/cspell-json-reporter': 8.8.4 '@cspell/cspell-pipe': 8.8.4 @@ -12640,41 +7171,68 @@ snapshots: semver: 7.6.2 strip-ansi: 7.1.0 vscode-uri: 3.0.8 + dev: true - css-tree@2.3.1: + /css-tree@2.3.1: + resolution: {integrity: sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw==} + engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0} dependencies: mdn-data: 2.0.30 source-map-js: 1.2.0 + dev: true - cssesc@3.0.0: {} + /cssesc@3.0.0: + resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==} + engines: {node: '>=4'} + hasBin: true + dev: false - cssstyle@4.0.1: + /cssstyle@4.0.1: + resolution: {integrity: sha512-8ZYiJ3A/3OkDd093CBT/0UKDWry7ak4BdPTFP2+QEP7cmhouyq/Up709ASSj2cK02BbZiMgk7kYjZNS4QP5qrQ==} + engines: {node: '>=18'} dependencies: rrweb-cssom: 0.6.0 + dev: true - csstree-validator@3.0.0: + /csstree-validator@3.0.0: + resolution: {integrity: sha512-Y5OSq3wI0Xz6L7DCgJQtQ97U+v99SkX9r663VjpvUMJPhEr0A149OxiAGqcnokB5bt81irgnMudspBzujzqn0w==} + engines: {node: ^12.20.0 || ^14.13.0 || >=15.0.0, npm: '>=7.0.0'} + hasBin: true dependencies: clap: 3.1.1 css-tree: 2.3.1 resolve: 1.22.8 + dev: true - csstype@3.1.3: {} + /csstype@3.1.3: + resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==} - cuint@0.2.2: {} + /cuint@0.2.2: + resolution: {integrity: sha512-d4ZVpCW31eWwCMe1YT3ur7mUDnTXbgwyzaL320DrcRT45rfjYxkt5QWLrmOJ+/UEAI2+fQgKe/fCjR8l4TpRgw==} + dev: true - cypress-image-snapshot@4.0.1(cypress@13.11.0)(jest@29.7.0(@types/node@20.14.2)): + /cypress-image-snapshot@4.0.1(cypress@13.11.0)(jest@29.7.0): + resolution: {integrity: sha512-PBpnhX/XItlx3/DAk5ozsXQHUi72exybBNH5Mpqj1DVmjq+S5Jd9WE5CRa4q5q0zuMZb2V2VpXHth6MjFpgj9Q==} + engines: {node: '>=8'} + peerDependencies: + cypress: ^4.5.0 dependencies: chalk: 2.4.2 cypress: 13.11.0 fs-extra: 7.0.1 glob: 7.2.3 - jest-image-snapshot: 4.2.0(jest@29.7.0(@types/node@20.14.2)) + jest-image-snapshot: 4.2.0(jest@29.7.0) pkg-dir: 3.0.0 term-img: 4.1.0 transitivePeerDependencies: - jest + dev: true - cypress@13.11.0: + /cypress@13.11.0: + resolution: {integrity: sha512-NXXogbAxVlVje4XHX+Cx5eMFZv4Dho/2rIcdBHg9CNPFUGZdM4cRdgIgM7USmNYsC12XY0bZENEQ+KBk72fl+A==} + engines: {node: ^16.0.0 || ^18.0.0 || >=20.0.0} + hasBin: true + requiresBuild: true dependencies: '@cypress/request': 3.0.1 '@cypress/xvfb': 1.2.4(supports-color@8.1.1) @@ -12718,132 +7276,237 @@ snapshots: tmp: 0.2.3 untildify: 4.0.0 yauzl: 2.10.0 + dev: true - cytoscape-cose-bilkent@4.1.0(cytoscape@3.29.2): + /cytoscape-cose-bilkent@4.1.0(cytoscape@3.29.2): + resolution: {integrity: sha512-wgQlVIUJF13Quxiv5e1gstZ08rnZj2XaLHGoFMYXz7SkNfCDOOteKBE6SYRfA9WxxI/iBc3ajfDoc6hb/MRAHQ==} + peerDependencies: + cytoscape: ^3.2.0 dependencies: cose-base: 1.0.3 cytoscape: 3.29.2 + dev: false - cytoscape@3.29.2: {} + /cytoscape@3.29.2: + resolution: {integrity: sha512-2G1ycU28Nh7OHT9rkXRLpCDP30MKH1dXJORZuBhtEhEW7pKwgPi77ImqlCWinouyE1PNepIOGZBOrE84DG7LyQ==} + engines: {node: '>=0.10'} + dev: false - d3-array@2.12.1: + /d3-array@2.12.1: + resolution: {integrity: sha512-B0ErZK/66mHtEsR1TkPEEkwdy+WDesimkM5gpZr5Dsg54BiTA5RXtYW5qTLIAcekaS9xfZrzBLF/OAkB3Qn1YQ==} dependencies: internmap: 1.0.1 + dev: false - d3-array@3.2.4: + /d3-array@3.2.4: + resolution: {integrity: sha512-tdQAmyA18i4J7wprpYq8ClcxZy3SC31QMeByyCFyRt7BVHdREQZ5lpzoe5mFEYZUWe+oq8HBvk9JjpibyEV4Jg==} + engines: {node: '>=12'} dependencies: internmap: 2.0.3 + dev: false - d3-axis@3.0.0: {} + /d3-axis@3.0.0: + resolution: {integrity: sha512-IH5tgjV4jE/GhHkRV0HiVYPDtvfjHQlQfJHs0usq7M30XcSBvOotpmH1IgkcXsO/5gEQZD43B//fc7SRT5S+xw==} + engines: {node: '>=12'} + dev: false - d3-brush@3.0.0: + /d3-brush@3.0.0: + resolution: {integrity: sha512-ALnjWlVYkXsVIGlOsuWH1+3udkYFI48Ljihfnh8FZPF2QS9o+PzGLBslO0PjzVoHLZ2KCVgAM8NVkXPJB2aNnQ==} + engines: {node: '>=12'} dependencies: d3-dispatch: 3.0.1 d3-drag: 3.0.0 d3-interpolate: 3.0.1 d3-selection: 3.0.0 d3-transition: 3.0.1(d3-selection@3.0.0) + dev: false - d3-chord@3.0.1: + /d3-chord@3.0.1: + resolution: {integrity: sha512-VE5S6TNa+j8msksl7HwjxMHDM2yNK3XCkusIlpX5kwauBfXuyLAtNg9jCp/iHH61tgI4sb6R/EIMWCqEIdjT/g==} + engines: {node: '>=12'} dependencies: d3-path: 3.1.0 + dev: false - d3-color@3.1.0: {} + /d3-color@3.1.0: + resolution: {integrity: sha512-zg/chbXyeBtMQ1LbD/WSoW2DpC3I0mpmPdW+ynRTj/x2DAWYrIY7qeZIHidozwV24m4iavr15lNwIwLxRmOxhA==} + engines: {node: '>=12'} + dev: false - d3-contour@4.0.2: + /d3-contour@4.0.2: + resolution: {integrity: sha512-4EzFTRIikzs47RGmdxbeUvLWtGedDUNkTcmzoeyg4sP/dvCexO47AaQL7VKy/gul85TOxw+IBgA8US2xwbToNA==} + engines: {node: '>=12'} dependencies: d3-array: 3.2.4 + dev: false - d3-delaunay@6.0.4: + /d3-delaunay@6.0.4: + resolution: {integrity: sha512-mdjtIZ1XLAM8bm/hx3WwjfHt6Sggek7qH043O8KEjDXN40xi3vx/6pYSVTwLjEgiXQTbvaouWKynLBiUZ6SK6A==} + engines: {node: '>=12'} dependencies: delaunator: 5.0.1 + dev: false - d3-dispatch@3.0.1: {} + /d3-dispatch@3.0.1: + resolution: {integrity: sha512-rzUyPU/S7rwUflMyLc1ETDeBj0NRuHKKAcvukozwhshr6g6c5d8zh4c2gQjY2bZ0dXeGLWc1PF174P2tVvKhfg==} + engines: {node: '>=12'} + dev: false - d3-drag@3.0.0: + /d3-drag@3.0.0: + resolution: {integrity: sha512-pWbUJLdETVA8lQNJecMxoXfH6x+mO2UQo8rSmZ+QqxcbyA3hfeprFgIT//HW2nlHChWeIIMwS2Fq+gEARkhTkg==} + engines: {node: '>=12'} dependencies: d3-dispatch: 3.0.1 d3-selection: 3.0.0 + dev: false - d3-dsv@3.0.1: + /d3-dsv@3.0.1: + resolution: {integrity: sha512-UG6OvdI5afDIFP9w4G0mNq50dSOsXHJaRE8arAS5o9ApWnIElp8GZw1Dun8vP8OyHOZ/QJUKUJwxiiCCnUwm+Q==} + engines: {node: '>=12'} + hasBin: true dependencies: commander: 7.2.0 iconv-lite: 0.6.3 rw: 1.3.3 + dev: false - d3-ease@3.0.1: {} + /d3-ease@3.0.1: + resolution: {integrity: sha512-wR/XK3D3XcLIZwpbvQwQ5fK+8Ykds1ip7A2Txe0yxncXSdq1L9skcG7blcedkOX+ZcgxGAmLX1FrRGbADwzi0w==} + engines: {node: '>=12'} + dev: false - d3-fetch@3.0.1: + /d3-fetch@3.0.1: + resolution: {integrity: sha512-kpkQIM20n3oLVBKGg6oHrUchHM3xODkTzjMoj7aWQFq5QEM+R6E4WkzT5+tojDY7yjez8KgCBRoj4aEr99Fdqw==} + engines: {node: '>=12'} dependencies: d3-dsv: 3.0.1 + dev: false - d3-force@3.0.0: + /d3-force@3.0.0: + resolution: {integrity: sha512-zxV/SsA+U4yte8051P4ECydjD/S+qeYtnaIyAs9tgHCqfguma/aAQDjo85A9Z6EKhBirHRJHXIgJUlffT4wdLg==} + engines: {node: '>=12'} dependencies: d3-dispatch: 3.0.1 d3-quadtree: 3.0.1 d3-timer: 3.0.1 + dev: false - d3-format@3.1.0: {} + /d3-format@3.1.0: + resolution: {integrity: sha512-YyUI6AEuY/Wpt8KWLgZHsIU86atmikuoOmCfommt0LYHiQSPjvX2AcFc38PX0CBpr2RCyZhjex+NS/LPOv6YqA==} + engines: {node: '>=12'} + dev: false - d3-geo@3.1.1: + /d3-geo@3.1.1: + resolution: {integrity: sha512-637ln3gXKXOwhalDzinUgY83KzNWZRKbYubaG+fGVuc/dxO64RRljtCTnf5ecMyE1RIdtqpkVcq0IbtU2S8j2Q==} + engines: {node: '>=12'} dependencies: d3-array: 3.2.4 + dev: false - d3-hierarchy@3.1.2: {} + /d3-hierarchy@3.1.2: + resolution: {integrity: sha512-FX/9frcub54beBdugHjDCdikxThEqjnR93Qt7PvQTOHxyiNCAlvMrHhclk3cD5VeAaq9fxmfRp+CnWw9rEMBuA==} + engines: {node: '>=12'} + dev: false - d3-interpolate@3.0.1: + /d3-interpolate@3.0.1: + resolution: {integrity: sha512-3bYs1rOD33uo8aqJfKP3JWPAibgw8Zm2+L9vBKEHJ2Rg+viTR7o5Mmv5mZcieN+FRYaAOWX5SJATX6k1PWz72g==} + engines: {node: '>=12'} dependencies: d3-color: 3.1.0 + dev: false - d3-path@1.0.9: {} + /d3-path@1.0.9: + resolution: {integrity: sha512-VLaYcn81dtHVTjEHd8B+pbe9yHWpXKZUC87PzoFmsFrJqgFwDe/qxfp5MlfsfM1V5E/iVt0MmEbWQ7FVIXh/bg==} + dev: false - d3-path@3.1.0: {} + /d3-path@3.1.0: + resolution: {integrity: sha512-p3KP5HCf/bvjBSSKuXid6Zqijx7wIfNW+J/maPs+iwR35at5JCbLUT0LzF1cnjbCHWhqzQTIN2Jpe8pRebIEFQ==} + engines: {node: '>=12'} + dev: false - d3-polygon@3.0.1: {} + /d3-polygon@3.0.1: + resolution: {integrity: sha512-3vbA7vXYwfe1SYhED++fPUQlWSYTTGmFmQiany/gdbiWgU/iEyQzyymwL9SkJjFFuCS4902BSzewVGsHHmHtXg==} + engines: {node: '>=12'} + dev: false - d3-quadtree@3.0.1: {} + /d3-quadtree@3.0.1: + resolution: {integrity: sha512-04xDrxQTDTCFwP5H6hRhsRcb9xxv2RzkcsygFzmkSIOJy3PeRJP7sNk3VRIbKXcog561P9oU0/rVH6vDROAgUw==} + engines: {node: '>=12'} + dev: false - d3-random@3.0.1: {} + /d3-random@3.0.1: + resolution: {integrity: sha512-FXMe9GfxTxqd5D6jFsQ+DJ8BJS4E/fT5mqqdjovykEB2oFbTMDVdg1MGFxfQW+FBOGoB++k8swBrgwSHT1cUXQ==} + engines: {node: '>=12'} + dev: false - d3-sankey@0.12.3: + /d3-sankey@0.12.3: + resolution: {integrity: sha512-nQhsBRmM19Ax5xEIPLMY9ZmJ/cDvd1BG3UVvt5h3WRxKg5zGRbvnteTyWAbzeSvlh3tW7ZEmq4VwR5mB3tutmQ==} dependencies: d3-array: 2.12.1 d3-shape: 1.3.7 + dev: false - d3-scale-chromatic@3.1.0: + /d3-scale-chromatic@3.1.0: + resolution: {integrity: sha512-A3s5PWiZ9YCXFye1o246KoscMWqf8BsD9eRiJ3He7C9OBaxKhAd5TFCdEx/7VbKtxxTsu//1mMJFrEt572cEyQ==} + engines: {node: '>=12'} dependencies: d3-color: 3.1.0 d3-interpolate: 3.0.1 + dev: false - d3-scale@4.0.2: + /d3-scale@4.0.2: + resolution: {integrity: sha512-GZW464g1SH7ag3Y7hXjf8RoUuAFIqklOAq3MRl4OaWabTFJY9PN/E1YklhXLh+OQ3fM9yS2nOkCoS+WLZ6kvxQ==} + engines: {node: '>=12'} dependencies: d3-array: 3.2.4 d3-format: 3.1.0 d3-interpolate: 3.0.1 d3-time: 3.1.0 d3-time-format: 4.1.0 + dev: false - d3-selection@3.0.0: {} + /d3-selection@3.0.0: + resolution: {integrity: sha512-fmTRWbNMmsmWq6xJV8D19U/gw/bwrHfNXxrIN+HfZgnzqTHp9jOmKMhsTUjXOJnZOdZY9Q28y4yebKzqDKlxlQ==} + engines: {node: '>=12'} + dev: false - d3-shape@1.3.7: + /d3-shape@1.3.7: + resolution: {integrity: sha512-EUkvKjqPFUAZyOlhY5gzCxCeI0Aep04LwIRpsZ/mLFelJiUfnK56jo5JMDSE7yyP2kLSb6LtF+S5chMk7uqPqw==} dependencies: d3-path: 1.0.9 + dev: false - d3-shape@3.2.0: + /d3-shape@3.2.0: + resolution: {integrity: sha512-SaLBuwGm3MOViRq2ABk3eLoxwZELpH6zhl3FbAoJ7Vm1gofKx6El1Ib5z23NUEhF9AsGl7y+dzLe5Cw2AArGTA==} + engines: {node: '>=12'} dependencies: d3-path: 3.1.0 + dev: false - d3-time-format@4.1.0: + /d3-time-format@4.1.0: + resolution: {integrity: sha512-dJxPBlzC7NugB2PDLwo9Q8JiTR3M3e4/XANkreKSUxF8vvXKqm1Yfq4Q5dl8budlunRVlUUaDUgFt7eA8D6NLg==} + engines: {node: '>=12'} dependencies: d3-time: 3.1.0 + dev: false - d3-time@3.1.0: + /d3-time@3.1.0: + resolution: {integrity: sha512-VqKjzBLejbSMT4IgbmVgDjpkYrNWUYJnbCGo874u7MMKIWsILRX+OpX/gTk8MqjpT1A/c6HY2dCA77ZN0lkQ2Q==} + engines: {node: '>=12'} dependencies: d3-array: 3.2.4 + dev: false - d3-timer@3.0.1: {} + /d3-timer@3.0.1: + resolution: {integrity: sha512-ndfJ/JxxMd3nw31uyKoY2naivF+r29V+Lc0svZxe1JvvIRmi8hUsrMvdOwgS1o6uBHmiz91geQ0ylPP0aj1VUA==} + engines: {node: '>=12'} + dev: false - d3-transition@3.0.1(d3-selection@3.0.0): + /d3-transition@3.0.1(d3-selection@3.0.0): + resolution: {integrity: sha512-ApKvfjsSR6tg06xrL434C0WydLr7JewBB3V+/39RMHsaXTOG0zmt/OAXeng5M5LBm0ojmxJrpomQVZ1aPvBL4w==} + engines: {node: '>=12'} + peerDependencies: + d3-selection: 2 - 3 dependencies: d3-color: 3.1.0 d3-dispatch: 3.0.1 @@ -12851,16 +7514,22 @@ snapshots: d3-interpolate: 3.0.1 d3-selection: 3.0.0 d3-timer: 3.0.1 + dev: false - d3-zoom@3.0.0: + /d3-zoom@3.0.0: + resolution: {integrity: sha512-b8AmV3kfQaqWAuacbPuNbL6vahnOJflOhexLzMMNLga62+/nh0JzvJ0aO/5a5MVgUFGS7Hu1P9P03o3fJkDCyw==} + engines: {node: '>=12'} dependencies: d3-dispatch: 3.0.1 d3-drag: 3.0.0 d3-interpolate: 3.0.1 d3-selection: 3.0.0 d3-transition: 3.0.1(d3-selection@3.0.0) + dev: false - d3@7.9.0: + /d3@7.9.0: + resolution: {integrity: sha512-e1U46jVP+w7Iut8Jt8ri1YsPOvFpg46k+K8TpCb0P+zjCkjkPnV7WzfDJzMHy1LnA+wj5pLT1wjO901gLXeEhA==} + engines: {node: '>=12'} dependencies: d3-array: 3.2.4 d3-axis: 3.0.0 @@ -12892,254 +7561,472 @@ snapshots: d3-timer: 3.0.1 d3-transition: 3.0.1(d3-selection@3.0.0) d3-zoom: 3.0.0 + dev: false - d@1.0.2: + /d@1.0.2: + resolution: {integrity: sha512-MOqHvMWF9/9MX6nza0KgvFH4HpMU0EF5uUDXqX/BtxtU8NfB0QzRtJ8Oe/6SuS4kbhyzVJwjd97EA4PKrzJ8bw==} + engines: {node: '>=0.12'} dependencies: es5-ext: 0.10.64 type: 2.7.3 + dev: true - dagre-d3-es@7.0.10: + /dagre-d3-es@7.0.10: + resolution: {integrity: sha512-qTCQmEhcynucuaZgY5/+ti3X/rnszKZhEQH/ZdWdtP1tA/y3VoHJzcVrO9pjjJCNpigfscAtoUB5ONcd2wNn0A==} dependencies: d3: 7.9.0 lodash-es: 4.17.21 + dev: false - dashdash@1.14.1: + /dashdash@1.14.1: + resolution: {integrity: sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g==} + engines: {node: '>=0.10'} dependencies: assert-plus: 1.0.0 + dev: true - data-uri-to-buffer@4.0.1: {} + /data-uri-to-buffer@4.0.1: + resolution: {integrity: sha512-0R9ikRb668HB7QDxT1vkpuUBtqc53YyAwMwGeUFKRojY/NWKvdZ+9UYtRfGmhqNbRkTSVpMbmyhXipFFv2cb/A==} + engines: {node: '>= 12'} + dev: true - data-urls@5.0.0: + /data-urls@5.0.0: + resolution: {integrity: sha512-ZYP5VBHshaDAiVZxjbRVcFJpc+4xGgT0bK3vzy1HLN8jTO975HEbuYzZJcHoQEY5K1a0z8YayJkyVETa08eNTg==} + engines: {node: '>=18'} dependencies: whatwg-mimetype: 4.0.0 whatwg-url: 14.0.0 + dev: true - data-view-buffer@1.0.1: + /data-view-buffer@1.0.1: + resolution: {integrity: sha512-0lht7OugA5x3iJLOWFhWK/5ehONdprk0ISXqVFn/NFrDu+cuc8iADFrGQz5BnRK7LLU3JmkbXSxaqX+/mXYtUA==} + engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.7 es-errors: 1.3.0 is-data-view: 1.0.1 + dev: true - data-view-byte-length@1.0.1: + /data-view-byte-length@1.0.1: + resolution: {integrity: sha512-4J7wRJD3ABAzr8wP+OcIcqq2dlUKp4DVflx++hs5h5ZKydWMI6/D/fAot+yh6g2tHh8fLFTvNOaVN357NvSrOQ==} + engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.7 es-errors: 1.3.0 is-data-view: 1.0.1 + dev: true - data-view-byte-offset@1.0.0: + /data-view-byte-offset@1.0.0: + resolution: {integrity: sha512-t/Ygsytq+R995EJ5PZlD4Cu56sWa8InXySaViRzw9apusqsOO2bQP+SbYzAhR0pFKoB+43lYy8rWban9JSuXnA==} + engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.7 es-errors: 1.3.0 is-data-view: 1.0.1 + dev: true - date-fns@2.30.0: + /date-fns@2.30.0: + resolution: {integrity: sha512-fnULvOpxnC5/Vg3NCiWelDsLiUc9bRwAPs/+LfTLNvetFCtCTN+yQz15C/fs4AwX1R9K5GLtLfn8QW+dWisaAw==} + engines: {node: '>=0.11'} dependencies: '@babel/runtime': 7.24.7 + dev: true - dayjs@1.11.10: {} + /dayjs@1.11.10: + resolution: {integrity: sha512-vjAczensTgRcqDERK0SR2XMwsF/tSvnvlv6VcF2GIhg6Sx4yOIt/irsr1RDJsKiIyBzJDpCoXiWWq28MqH2cnQ==} + dev: true - dayjs@1.11.11: {} + /dayjs@1.11.11: + resolution: {integrity: sha512-okzr3f11N6WuqYtZSvm+F776mB41wRZMhKP+hc34YdW+KmtYYK9iqvHSwo2k9FEH3fhGXvOPV6yz2IcSrfRUDg==} - debug@2.6.9: + /debug@2.6.9: + resolution: {integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true dependencies: ms: 2.0.0 + dev: true - debug@3.2.7(supports-color@8.1.1): + /debug@3.2.7(supports-color@8.1.1): + resolution: {integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true dependencies: ms: 2.1.3 - optionalDependencies: supports-color: 8.1.1 + dev: true - debug@4.3.3: + /debug@4.3.3: + resolution: {integrity: sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==} + engines: {node: '>=6.0'} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true dependencies: ms: 2.1.2 + dev: true - debug@4.3.4: + /debug@4.3.4: + resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} + engines: {node: '>=6.0'} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true dependencies: ms: 2.1.2 + dev: true - debug@4.3.5(supports-color@8.1.1): + /debug@4.3.5(supports-color@8.1.1): + resolution: {integrity: sha512-pt0bNEmneDIvdL1Xsd9oDQ/wrQRkXDT4AUWlNZNPKvW5x/jyO9VFXkJUP07vQ2upmw5PlaITaPKc31jK13V+jg==} + engines: {node: '>=6.0'} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true dependencies: ms: 2.1.2 - optionalDependencies: supports-color: 8.1.1 - decamelize@1.2.0: {} + /decamelize@1.2.0: + resolution: {integrity: sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==} + engines: {node: '>=0.10.0'} + dev: true - decimal.js@10.4.3: {} + /decimal.js@10.4.3: + resolution: {integrity: sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA==} + dev: true - decode-named-character-reference@1.0.2: + /decode-named-character-reference@1.0.2: + resolution: {integrity: sha512-O8x12RzrUF8xyVcY0KJowWsmaJxQbmy0/EtnNtHRpsOcT7dFk5W598coHqBVpmWo1oQQfsCqfCmkZN5DJrZVdg==} dependencies: character-entities: 2.0.2 - decompress-response@6.0.0: + /decompress-response@6.0.0: + resolution: {integrity: sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==} + engines: {node: '>=10'} dependencies: mimic-response: 3.1.0 + dev: true - dedent@1.5.3: {} + /dedent@1.5.3: + resolution: {integrity: sha512-NHQtfOOW68WD8lgypbLA5oT+Bt0xXJhiYvoR6SmmNXZfpzOGXwdKWmcwG8N7PwVVWV3eF/68nmD9BaJSsTBhyQ==} + peerDependencies: + babel-plugin-macros: ^3.1.0 + peerDependenciesMeta: + babel-plugin-macros: + optional: true + dev: true - deep-eql@4.1.4: + /deep-eql@4.1.4: + resolution: {integrity: sha512-SUwdGfqdKOwxCPeVYjwSyRpJ7Z+fhpwIAtmCUdZIWZ/YP5R9WAsyuSgpLVDi9bjWoN2LXHNss/dk3urXtdQxGg==} + engines: {node: '>=6'} dependencies: type-detect: 4.0.8 + dev: true - deep-is@0.1.4: {} + /deep-is@0.1.4: + resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} + dev: true - deepmerge@4.3.1: {} + /deepmerge@4.3.1: + resolution: {integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==} + engines: {node: '>=0.10.0'} + dev: true - default-gateway@6.0.3: + /default-gateway@6.0.3: + resolution: {integrity: sha512-fwSOJsbbNzZ/CUFpqFBqYfYNLj1NbMPm8MMCIzHjC83iSJRBEGmDUxU+WP661BaBQImeC2yHwXtz+P/O9o+XEg==} + engines: {node: '>= 10'} dependencies: execa: 5.1.1 + dev: true - default-require-extensions@3.0.1: + /default-require-extensions@3.0.1: + resolution: {integrity: sha512-eXTJmRbm2TIt9MgWTsOH1wEuhew6XGZcMeGKCtLedIg/NCsg1iBePXkceTdK4Fii7pzmN9tGsZhKzZ4h7O/fxw==} + engines: {node: '>=8'} dependencies: strip-bom: 4.0.0 + dev: true - defer-to-connect@2.0.1: {} + /defer-to-connect@2.0.1: + resolution: {integrity: sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg==} + engines: {node: '>=10'} + dev: true - define-data-property@1.1.4: + /define-data-property@1.1.4: + resolution: {integrity: sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==} + engines: {node: '>= 0.4'} dependencies: es-define-property: 1.0.0 es-errors: 1.3.0 gopd: 1.0.1 + dev: true - define-lazy-prop@2.0.0: {} + /define-lazy-prop@2.0.0: + resolution: {integrity: sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==} + engines: {node: '>=8'} + dev: true - define-properties@1.2.1: + /define-properties@1.2.1: + resolution: {integrity: sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==} + engines: {node: '>= 0.4'} dependencies: define-data-property: 1.1.4 has-property-descriptors: 1.0.2 object-keys: 1.1.1 + dev: true - defu@6.1.4: {} + /defu@6.1.4: + resolution: {integrity: sha512-mEQCMmwJu317oSz8CwdIOdwf3xMif1ttiM8LTufzc3g6kR+9Pe236twL8j3IYT1F7GfRgGcW6MWxzZjLIkuHIg==} + dev: true - delaunator@5.0.1: + /delaunator@5.0.1: + resolution: {integrity: sha512-8nvh+XBe96aCESrGOqMp/84b13H9cdKbG5P2ejQCh4d4sK9RL4371qou9drQjMhvnPmhWl5hnmqbEE0fXr9Xnw==} dependencies: robust-predicates: 3.0.2 + dev: false - delayed-stream@1.0.0: {} + /delayed-stream@1.0.0: + resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==} + engines: {node: '>=0.4.0'} + dev: true - depd@1.1.2: {} + /depd@1.1.2: + resolution: {integrity: sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==} + engines: {node: '>= 0.6'} + dev: true - depd@2.0.0: {} + /depd@2.0.0: + resolution: {integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==} + engines: {node: '>= 0.8'} + dev: true - dequal@2.0.3: {} + /dequal@2.0.3: + resolution: {integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==} + engines: {node: '>=6'} - destr@2.0.3: {} + /destr@2.0.3: + resolution: {integrity: sha512-2N3BOUU4gYMpTP24s5rF5iP7BDr7uNTCs4ozw3kf/eKfvWSIu93GEBi5m427YoyJoeOzQ5smuu4nNAPGb8idSQ==} + dev: true - destroy@1.2.0: {} + /destroy@1.2.0: + resolution: {integrity: sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==} + engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} + dev: true - detect-newline@3.1.0: {} + /detect-newline@3.1.0: + resolution: {integrity: sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==} + engines: {node: '>=8'} + dev: true - detect-node@2.1.0: {} + /detect-node@2.1.0: + resolution: {integrity: sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==} + dev: true - devlop@1.1.0: + /devlop@1.1.0: + resolution: {integrity: sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA==} dependencies: dequal: 2.0.3 - didyoumean@1.2.2: {} + /didyoumean@1.2.2: + resolution: {integrity: sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==} + dev: false - diff-sequences@29.6.3: {} + /diff-sequences@29.6.3: + resolution: {integrity: sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dev: true - dir-glob@3.0.1: + /dir-glob@3.0.1: + resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} + engines: {node: '>=8'} dependencies: path-type: 4.0.0 + dev: true - dlv@1.1.3: {} + /dlv@1.1.3: + resolution: {integrity: sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==} + dev: false - dns-packet@5.6.1: + /dns-packet@5.6.1: + resolution: {integrity: sha512-l4gcSouhcgIKRvyy99RNVOgxXiicE+2jZoNmaNmZ6JXiGajBOJAesk1OBlJuM5k2c+eudGdLxDqXuPCKIj6kpw==} + engines: {node: '>=6'} dependencies: '@leichtgewicht/ip-codec': 2.0.5 + dev: true - doctrine@3.0.0: + /doctrine@3.0.0: + resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==} + engines: {node: '>=6.0.0'} dependencies: esutils: 2.0.3 + dev: true - dom-serializer@2.0.0: + /dom-serializer@2.0.0: + resolution: {integrity: sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==} dependencies: domelementtype: 2.3.0 domhandler: 5.0.3 entities: 4.5.0 + dev: true - dom-to-image-more@2.16.0: {} + /dom-to-image-more@2.16.0: + resolution: {integrity: sha512-RyjtkaM/zVy90uJ20lT+/G7MwBZx6l/ePliq5CQOeAnPeew7aUGS6IqRWBkHpstU+POmhaKA8A9H9qf476gisQ==} + dev: false - domelementtype@2.3.0: {} + /domelementtype@2.3.0: + resolution: {integrity: sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==} + dev: true - domhandler@5.0.3: + /domhandler@5.0.3: + resolution: {integrity: sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==} + engines: {node: '>= 4'} dependencies: domelementtype: 2.3.0 + dev: true - dompurify@3.1.5: {} + /dompurify@3.1.5: + resolution: {integrity: sha512-lwG+n5h8QNpxtyrJW/gJWckL+1/DQiYMX8f7t8Z2AZTPw1esVrqjI63i7Zc2Gz0aKzLVMYC1V1PL/ky+aY/NgA==} + dev: false - domutils@3.1.0: + /domutils@3.1.0: + resolution: {integrity: sha512-H78uMmQtI2AhgDJjWeQmHwJJ2bLPD3GMmO7Zja/ZZh84wkm+4ut+IUnUdRa8uCGX88DiVx1j6FRe1XfxEgjEZA==} dependencies: dom-serializer: 2.0.0 domelementtype: 2.3.0 domhandler: 5.0.3 + dev: true - dotenv@16.4.5: {} + /dotenv@16.4.5: + resolution: {integrity: sha512-ZmdL2rui+eB2YwhsWzjInR8LldtZHGDoQ1ugH85ppHKwpUHL7j7rN0Ti9NCnGiQbhaZ11FpR+7ao1dNsmduNUg==} + engines: {node: '>=12'} + dev: true - duplexer@0.1.2: {} + /duplexer@0.1.2: + resolution: {integrity: sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==} + dev: true - eastasianwidth@0.2.0: {} + /eastasianwidth@0.2.0: + resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} - ebnf-parser@0.1.10: {} + /ebnf-parser@0.1.10: + resolution: {integrity: sha512-urvSxVQ6XJcoTpc+/x2pWhhuOX4aljCNQpwzw+ifZvV1andZkAmiJc3Rq1oGEAQmcjiLceyMXOy1l8ms8qs2fQ==} + dev: true - ecc-jsbn@0.1.2: + /ecc-jsbn@0.1.2: + resolution: {integrity: sha512-eh9O+hwRHNbG4BLTjEl3nw044CkGm5X6LoaCf7LPp7UU8Qrt47JYNi6nPX8xjW97TKGKm1ouctg0QSpZe9qrnw==} dependencies: jsbn: 0.1.1 safer-buffer: 2.1.2 + dev: true - ee-first@1.1.1: {} + /ee-first@1.1.1: + resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==} + dev: true - ejs@3.1.10: + /ejs@3.1.10: + resolution: {integrity: sha512-UeJmFfOrAQS8OJWPZ4qtgHyWExa088/MtK5UEyoJGFH67cDEXkZSviOiKRCZ4Xij0zxI3JECgYs3oKx+AizQBA==} + engines: {node: '>=0.10.0'} + hasBin: true dependencies: jake: 10.9.1 + dev: true - electron-to-chromium@1.4.801: {} + /electron-to-chromium@1.4.802: + resolution: {integrity: sha512-TnTMUATbgNdPXVSHsxvNVSG0uEd6cSZsANjm8c9HbvflZVVn1yTRcmVXYT1Ma95/ssB/Dcd30AHweH2TE+dNpA==} + dev: true - elkjs@0.9.3: {} + /elkjs@0.9.3: + resolution: {integrity: sha512-f/ZeWvW/BCXbhGEf1Ujp29EASo/lk1FDnETgNKwJrsVvGZhUWCZyg3xLJjAsxfOmt8KjswHmI5EwCQcPMpOYhQ==} + dev: false - emittery@0.13.1: {} + /emittery@0.13.1: + resolution: {integrity: sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==} + engines: {node: '>=12'} + dev: true - emoji-regex@10.3.0: {} + /emoji-regex@10.3.0: + resolution: {integrity: sha512-QpLs9D9v9kArv4lfDEgg1X/gN5XLnf/A6l9cs8SPZLRZR3ZkY9+kwIQTxm+fsSej5UMYGE8fdoaZVIBlqG0XTw==} + dev: true - emoji-regex@8.0.0: {} + /emoji-regex@8.0.0: + resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} - emoji-regex@9.2.2: {} + /emoji-regex@9.2.2: + resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==} - encodeurl@1.0.2: {} + /encodeurl@1.0.2: + resolution: {integrity: sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==} + engines: {node: '>= 0.8'} + dev: true - encoding@0.1.13: + /encoding@0.1.13: + resolution: {integrity: sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==} dependencies: iconv-lite: 0.6.3 + dev: true - end-of-stream@1.4.4: + /end-of-stream@1.4.4: + resolution: {integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==} dependencies: once: 1.4.0 + dev: true - enhanced-resolve@5.17.0: + /enhanced-resolve@5.17.0: + resolution: {integrity: sha512-dwDPwZL0dmye8Txp2gzFmA6sxALaSvdRDjPH0viLcKrtlOL3tw62nWWweVD1SdILDTJrbrL6tdWVN58Wo6U3eA==} + engines: {node: '>=10.13.0'} dependencies: graceful-fs: 4.2.11 tapable: 2.2.1 + dev: true - enquirer@2.4.1: + /enquirer@2.4.1: + resolution: {integrity: sha512-rRqJg/6gd538VHvR3PSrdRBb/1Vy2YfzHqzvbhGIQpDRKIa4FgV/54b5Q1xYSxOOwKvjXweS26E0Q+nAMwp2pQ==} + engines: {node: '>=8.6'} dependencies: ansi-colors: 4.1.3 strip-ansi: 6.0.1 + dev: true - entities@3.0.1: {} + /entities@3.0.1: + resolution: {integrity: sha512-WiyBqoomrwMdFG1e0kqvASYfnlb0lp8M5o5Fw2OFq1hNZxxcNk8Ik0Xm7LxzBhuidnZB/UtBqVCgUz3kBOP51Q==} + engines: {node: '>=0.12'} + dev: true - entities@4.5.0: {} + /entities@4.5.0: + resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==} + engines: {node: '>=0.12'} - env-paths@3.0.0: {} + /env-paths@3.0.0: + resolution: {integrity: sha512-dtJUTepzMW3Lm/NPxRf3wP4642UWhjL2sQxc+ym2YMj1m/H2zDNQOlezafzkHwn6sMstjHTwG6iQQsctDW/b1A==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + dev: true - envinfo@7.13.0: {} + /envinfo@7.13.0: + resolution: {integrity: sha512-cvcaMr7KqXVh4nyzGTVqTum+gAiL265x5jUWQIDLq//zOGbW+gSW/C+OWLleY/rs9Qole6AZLMXPbtIFQbqu+Q==} + engines: {node: '>=4'} + hasBin: true + dev: true - error-ex@1.3.2: + /error-ex@1.3.2: + resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==} dependencies: is-arrayish: 0.2.1 + dev: true - es-abstract@1.23.3: + /es-abstract@1.23.3: + resolution: {integrity: sha512-e+HfNH61Bj1X9/jLc5v1owaLYuHdeHHSQlkhCBiTK8rBvKaULl/beGMxwrMXjpYrv4pz22BlY570vVePA2ho4A==} + engines: {node: '>= 0.4'} dependencies: array-buffer-byte-length: 1.0.1 arraybuffer.prototype.slice: 1.0.3 @@ -13187,61 +8074,99 @@ snapshots: typed-array-length: 1.0.6 unbox-primitive: 1.0.2 which-typed-array: 1.1.15 + dev: true - es-define-property@1.0.0: + /es-define-property@1.0.0: + resolution: {integrity: sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==} + engines: {node: '>= 0.4'} dependencies: get-intrinsic: 1.2.4 + dev: true - es-errors@1.3.0: {} + /es-errors@1.3.0: + resolution: {integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==} + engines: {node: '>= 0.4'} + dev: true - es-module-lexer@1.5.3: {} + /es-module-lexer@1.5.3: + resolution: {integrity: sha512-i1gCgmR9dCl6Vil6UKPI/trA69s08g/syhiDK9TG0Nf1RJjjFI+AzoWW7sPufzkgYAn861skuCwJa0pIIHYxvg==} + dev: true - es-object-atoms@1.0.0: + /es-object-atoms@1.0.0: + resolution: {integrity: sha512-MZ4iQ6JwHOBQjahnjwaC1ZtIBH+2ohjamzAO3oaHcXYup7qxjF2fixyH+Q71voWHeOkI2q/TnJao/KfXYIZWbw==} + engines: {node: '>= 0.4'} dependencies: es-errors: 1.3.0 + dev: true - es-set-tostringtag@2.0.3: + /es-set-tostringtag@2.0.3: + resolution: {integrity: sha512-3T8uNMC3OQTHkFUsFq8r/BwAXLHvU/9O9mE0fBc/MY5iq/8H7ncvO947LmYA6ldWw9Uh8Yhf25zu6n7nML5QWQ==} + engines: {node: '>= 0.4'} dependencies: get-intrinsic: 1.2.4 has-tostringtag: 1.0.2 hasown: 2.0.2 + dev: true - es-to-primitive@1.2.1: + /es-to-primitive@1.2.1: + resolution: {integrity: sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==} + engines: {node: '>= 0.4'} dependencies: is-callable: 1.2.7 is-date-object: 1.0.5 is-symbol: 1.0.4 + dev: true - es2015-i18n-tag@1.6.1: {} + /es2015-i18n-tag@1.6.1: + resolution: {integrity: sha512-MYoh9p+JTkgnzBh0MEBON6xUyzdmwT6wzsmmFJvZujGSXiI2kM+3XvFl6+AcIO2eeL6VWgtX9szSiDTMwDxyYA==} + engines: {node: '>= 4.0.0'} + dev: true - es5-ext@0.10.64: + /es5-ext@0.10.64: + resolution: {integrity: sha512-p2snDhiLaXe6dahss1LddxqEm+SkuDvV8dnIQG0MWjyHpcMNfXKPE+/Cc0y+PhxJX3A4xGNeFCj5oc0BUh6deg==} + engines: {node: '>=0.10'} + requiresBuild: true dependencies: es6-iterator: 2.0.3 es6-symbol: 3.1.4 esniff: 2.0.1 next-tick: 1.1.0 + dev: true - es6-error@4.1.1: {} + /es6-error@4.1.1: + resolution: {integrity: sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg==} + dev: true - es6-iterator@2.0.3: + /es6-iterator@2.0.3: + resolution: {integrity: sha512-zw4SRzoUkd+cl+ZoE15A9o1oQd920Bb0iOJMQkQhl3jNc03YqVjAhG7scf9C5KWRU/R13Orf588uCC6525o02g==} dependencies: d: 1.0.2 es5-ext: 0.10.64 es6-symbol: 3.1.4 + dev: true - es6-symbol@3.1.4: + /es6-symbol@3.1.4: + resolution: {integrity: sha512-U9bFFjX8tFiATgtkJ1zg25+KviIXpgRvRHS8sau3GfhVzThRQrOeksPeT0BWW2MNZs1OEWJ1DPXOQMn0KKRkvg==} + engines: {node: '>=0.12'} dependencies: d: 1.0.2 ext: 1.7.0 + dev: true - es6-weak-map@2.0.3: + /es6-weak-map@2.0.3: + resolution: {integrity: sha512-p5um32HOTO1kP+w7PRnB+5lQ43Z6muuMuIMffvDN8ZB4GcnjLBV6zGStpbASIMk4DCAvEaamhe2zhyCb/QXXsA==} dependencies: d: 1.0.2 es5-ext: 0.10.64 es6-iterator: 2.0.3 es6-symbol: 3.1.4 + dev: true - esbuild@0.20.2: + /esbuild@0.20.2: + resolution: {integrity: sha512-WdOOppmUNU+IbZ0PaDiTst80zjnrOkyJNHoKupIcVyU8Lvla3Ugx94VzkQ32Ijqd7UhHJy75gNWDMUekcrSJ6g==} + engines: {node: '>=12'} + hasBin: true + requiresBuild: true optionalDependencies: '@esbuild/aix-ppc64': 0.20.2 '@esbuild/android-arm': 0.20.2 @@ -13266,8 +8191,13 @@ snapshots: '@esbuild/win32-arm64': 0.20.2 '@esbuild/win32-ia32': 0.20.2 '@esbuild/win32-x64': 0.20.2 + dev: true - esbuild@0.21.5: + /esbuild@0.21.5: + resolution: {integrity: sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==} + engines: {node: '>=12'} + hasBin: true + requiresBuild: true optionalDependencies: '@esbuild/aix-ppc64': 0.21.5 '@esbuild/android-arm': 0.21.5 @@ -13292,52 +8222,101 @@ snapshots: '@esbuild/win32-arm64': 0.21.5 '@esbuild/win32-ia32': 0.21.5 '@esbuild/win32-x64': 0.21.5 + dev: true - escalade@3.1.2: {} + /escalade@3.1.2: + resolution: {integrity: sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==} + engines: {node: '>=6'} + dev: true - escape-html@1.0.3: {} + /escape-html@1.0.3: + resolution: {integrity: sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==} + dev: true - escape-string-regexp@1.0.5: {} + /escape-string-regexp@1.0.5: + resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} + engines: {node: '>=0.8.0'} + dev: true - escape-string-regexp@2.0.0: {} + /escape-string-regexp@2.0.0: + resolution: {integrity: sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==} + engines: {node: '>=8'} + dev: true - escape-string-regexp@4.0.0: {} + /escape-string-regexp@4.0.0: + resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} + engines: {node: '>=10'} + dev: true - escape-string-regexp@5.0.0: {} + /escape-string-regexp@5.0.0: + resolution: {integrity: sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==} + engines: {node: '>=12'} + dev: true - escodegen@1.3.3: + /escodegen@1.3.3: + resolution: {integrity: sha512-z9FWgKc48wjMlpzF5ymKS1AF8OIgnKLp9VyN7KbdtyrP/9lndwUFqCtMm+TAJmJf7KJFFYc4cFJfVTTGkKEwsA==} + engines: {node: '>=0.10.0'} + hasBin: true dependencies: esprima: 1.1.1 estraverse: 1.5.1 esutils: 1.0.0 optionalDependencies: source-map: 0.1.43 + dev: true - eslint-config-prettier@9.1.0(eslint@8.57.0): + /eslint-config-prettier@9.1.0(eslint@8.57.0): + resolution: {integrity: sha512-NSWl5BFQWEPi1j4TjVNItzYV7dZXZ+wP6I6ZhrBGpChQhZRUaElihE9uRRkcbRnNb76UMKDF3r+WTmNcGPKsqw==} + hasBin: true + peerDependencies: + eslint: '>=7.0.0' dependencies: eslint: 8.57.0 + dev: true - eslint-plugin-cypress@2.15.2(eslint@8.57.0): + /eslint-plugin-cypress@2.15.2(eslint@8.57.0): + resolution: {integrity: sha512-CtcFEQTDKyftpI22FVGpx8bkpKyYXBlNge6zSo0pl5/qJvBAnzaD76Vu2AsP16d6mTj478Ldn2mhgrWV+Xr0vQ==} + peerDependencies: + eslint: '>= 3.2.1' dependencies: eslint: 8.57.0 globals: 13.24.0 + dev: true - eslint-plugin-html@8.1.1: + /eslint-plugin-html@8.1.1: + resolution: {integrity: sha512-6qmlJsc40D2m3Dn9oEH+0PAOkJhxVu0f5sVItqpCE0YWgYnyP4xCjBc3UWTHaJcY9ARkWOLIIuXLq0ndRnQOHw==} + engines: {node: '>=16.0.0'} dependencies: htmlparser2: 9.1.0 + dev: true - eslint-plugin-jest@27.9.0(@typescript-eslint/eslint-plugin@7.13.0(@typescript-eslint/parser@7.13.0(eslint@8.57.0)(typescript@5.4.5))(eslint@8.57.0)(typescript@5.4.5))(eslint@8.57.0)(jest@29.7.0(@types/node@20.14.2))(typescript@5.4.5): + /eslint-plugin-jest@27.9.0(@typescript-eslint/eslint-plugin@7.13.0)(eslint@8.57.0)(jest@29.7.0)(typescript@5.4.5): + resolution: {integrity: sha512-QIT7FH7fNmd9n4se7FFKHbsLKGQiw885Ds6Y/sxKgCZ6natwCsXdgPOADnYVxN2QrRweF0FZWbJ6S7Rsn7llug==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + peerDependencies: + '@typescript-eslint/eslint-plugin': ^5.0.0 || ^6.0.0 || ^7.0.0 + eslint: ^7.0.0 || ^8.0.0 + jest: '*' + peerDependenciesMeta: + '@typescript-eslint/eslint-plugin': + optional: true + jest: + optional: true dependencies: + '@typescript-eslint/eslint-plugin': 7.13.0(@typescript-eslint/parser@7.13.0)(eslint@8.57.0)(typescript@5.4.5) '@typescript-eslint/utils': 5.62.0(eslint@8.57.0)(typescript@5.4.5) eslint: 8.57.0 - optionalDependencies: - '@typescript-eslint/eslint-plugin': 7.13.0(@typescript-eslint/parser@7.13.0(eslint@8.57.0)(typescript@5.4.5))(eslint@8.57.0)(typescript@5.4.5) jest: 29.7.0(@types/node@20.14.2) transitivePeerDependencies: - supports-color - typescript + dev: true - eslint-plugin-jsdoc@48.2.9(eslint@8.57.0): + /eslint-plugin-jsdoc@48.2.12(eslint@8.57.0): + resolution: {integrity: sha512-sO9sKkJx5ovWoRk9hV0YiNzXQ4Z6j27CqE/po2E3wddZVuy9wvKPSTiIhpxMTrP/qURvKayJIDB2+o9kyCW1Fw==} + engines: {node: '>=18'} + peerDependencies: + eslint: ^7.0.0 || ^8.0.0 || ^9.0.0 dependencies: '@es-joy/jsdoccomment': 0.43.1 are-docs-informative: 0.0.2 @@ -13350,32 +8329,55 @@ snapshots: spdx-expression-parse: 4.0.0 transitivePeerDependencies: - supports-color + dev: true - eslint-plugin-json@3.1.0: + /eslint-plugin-json@3.1.0: + resolution: {integrity: sha512-MrlG2ynFEHe7wDGwbUuFPsaT2b1uhuEFhJ+W1f1u+1C2EkXmTYJp4B1aAdQQ8M+CC3t//N/oRKiIVw14L2HR1g==} + engines: {node: '>=12.0'} dependencies: lodash: 4.17.21 vscode-json-languageservice: 4.2.1 + dev: true - eslint-plugin-lodash@7.4.0(eslint@8.57.0): + /eslint-plugin-lodash@7.4.0(eslint@8.57.0): + resolution: {integrity: sha512-Tl83UwVXqe1OVeBRKUeWcfg6/pCW1GTRObbdnbEJgYwjxp5Q92MEWQaH9+dmzbRt6kvYU1Mp893E79nJiCSM8A==} + engines: {node: '>=10'} + peerDependencies: + eslint: '>=2' dependencies: eslint: 8.57.0 lodash: 4.17.21 + dev: true - eslint-plugin-markdown@4.0.1(eslint@8.57.0): + /eslint-plugin-markdown@4.0.1(eslint@8.57.0): + resolution: {integrity: sha512-5/MnGvYU0i8MbHH5cg8S+Vl3DL+bqRNYshk1xUO86DilNBaxtTkhH+5FD0/yO03AmlI6+lfNFdk2yOw72EPzpA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + eslint: '>=8' dependencies: eslint: 8.57.0 mdast-util-from-markdown: 0.8.5 transitivePeerDependencies: - supports-color + dev: true - eslint-plugin-no-only-tests@3.1.0: {} + /eslint-plugin-no-only-tests@3.1.0: + resolution: {integrity: sha512-Lf4YW/bL6Un1R6A76pRZyE1dl1vr31G/ev8UzIc/geCgFWyrKil8hVjYqWVKGB/UIGmb6Slzs9T0wNezdSVegw==} + engines: {node: '>=5.0.0'} + dev: true - eslint-plugin-tsdoc@0.2.17: + /eslint-plugin-tsdoc@0.2.17: + resolution: {integrity: sha512-xRmVi7Zx44lOBuYqG8vzTXuL6IdGOeF9nHX17bjJ8+VE6fsxpdGem0/SBTmAwgYMKYB1WBkqRJVQ+n8GK041pA==} dependencies: '@microsoft/tsdoc': 0.14.2 '@microsoft/tsdoc-config': 0.16.2 + dev: true - eslint-plugin-unicorn@51.0.1(eslint@8.57.0): + /eslint-plugin-unicorn@51.0.1(eslint@8.57.0): + resolution: {integrity: sha512-MuR/+9VuB0fydoI0nIn2RDA5WISRn4AsJyNSaNKLVwie9/ONvQhxOBbkfSICBPnzKrB77Fh6CZZXjgTt/4Latw==} + engines: {node: '>=16'} + peerDependencies: + eslint: '>=8.56.0' dependencies: '@babel/helper-validator-identifier': 7.24.7 '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) @@ -13396,22 +8398,38 @@ snapshots: strip-indent: 3.0.0 transitivePeerDependencies: - supports-color + dev: true - eslint-scope@5.1.1: + /eslint-scope@5.1.1: + resolution: {integrity: sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==} + engines: {node: '>=8.0.0'} dependencies: esrecurse: 4.3.0 estraverse: 4.3.0 + dev: true - eslint-scope@7.2.2: + /eslint-scope@7.2.2: + resolution: {integrity: sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: esrecurse: 4.3.0 estraverse: 5.3.0 + dev: true - eslint-visitor-keys@3.4.3: {} + /eslint-visitor-keys@3.4.3: + resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dev: true - eslint-visitor-keys@4.0.0: {} + /eslint-visitor-keys@4.0.0: + resolution: {integrity: sha512-OtIRv/2GyiF6o/d8K7MYKKbXrOUBIK6SfkIRM4Z0dY3w+LiQ0vy3F57m0Z71bjbyeiWFiHJ8brqnmE6H6/jEuw==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + dev: true - eslint@8.57.0: + /eslint@8.57.0: + resolution: {integrity: sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + hasBin: true dependencies: '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) '@eslint-community/regexpp': 4.10.1 @@ -13453,64 +8471,114 @@ snapshots: text-table: 0.2.0 transitivePeerDependencies: - supports-color + dev: true - esniff@2.0.1: + /esniff@2.0.1: + resolution: {integrity: sha512-kTUIGKQ/mDPFoJ0oVfcmyJn4iBDRptjNVIzwIFR7tqWXdVI9xfA2RMwY/gbSpJG3lkdWNEjLap/NqVHZiJsdfg==} + engines: {node: '>=0.10'} dependencies: d: 1.0.2 es5-ext: 0.10.64 event-emitter: 0.3.5 type: 2.7.3 + dev: true - espree@10.0.1: + /espree@10.0.1: + resolution: {integrity: sha512-MWkrWZbJsL2UwnjxTX3gG8FneachS/Mwg7tdGXce011sJd5b0JG54vat5KHnfSBODZ3Wvzd2WnjxyzsRoVv+ww==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} dependencies: - acorn: 8.11.3 - acorn-jsx: 5.3.2(acorn@8.11.3) + acorn: 8.12.0 + acorn-jsx: 5.3.2(acorn@8.12.0) eslint-visitor-keys: 4.0.0 + dev: true - espree@9.6.1: + /espree@9.6.1: + resolution: {integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: - acorn: 8.11.3 - acorn-jsx: 5.3.2(acorn@8.11.3) + acorn: 8.12.0 + acorn-jsx: 5.3.2(acorn@8.12.0) eslint-visitor-keys: 3.4.3 + dev: true - esprima@1.1.1: {} + /esprima@1.1.1: + resolution: {integrity: sha512-qxxB994/7NtERxgXdFgLHIs9M6bhLXc6qtUmWZ3L8+gTQ9qaoyki2887P2IqAYsoENyr8SUbTutStDniOHSDHg==} + engines: {node: '>=0.4.0'} + hasBin: true + dev: true - esprima@4.0.1: {} + /esprima@4.0.1: + resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==} + engines: {node: '>=4'} + hasBin: true + dev: true - esquery@1.5.0: + /esquery@1.5.0: + resolution: {integrity: sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==} + engines: {node: '>=0.10'} dependencies: estraverse: 5.3.0 + dev: true - esrecurse@4.3.0: + /esrecurse@4.3.0: + resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==} + engines: {node: '>=4.0'} dependencies: estraverse: 5.3.0 + dev: true - estraverse@1.5.1: {} + /estraverse@1.5.1: + resolution: {integrity: sha512-FpCjJDfmo3vsc/1zKSeqR5k42tcIhxFIlvq+h9j0fO2q/h2uLKyweq7rYJ+0CoVvrGQOxIS5wyBrW/+vF58BUQ==} + engines: {node: '>=0.4.0'} + dev: true - estraverse@4.3.0: {} + /estraverse@4.3.0: + resolution: {integrity: sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==} + engines: {node: '>=4.0'} + dev: true - estraverse@5.3.0: {} + /estraverse@5.3.0: + resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} + engines: {node: '>=4.0'} + dev: true - estree-walker@1.0.1: {} + /estree-walker@1.0.1: + resolution: {integrity: sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg==} + dev: true - estree-walker@2.0.2: {} + /estree-walker@2.0.2: + resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==} - estree-walker@3.0.3: + /estree-walker@3.0.3: + resolution: {integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==} dependencies: '@types/estree': 1.0.5 + dev: true - esutils@1.0.0: {} + /esutils@1.0.0: + resolution: {integrity: sha512-x/iYH53X3quDwfHRz4y8rn4XcEwwCJeWsul9pF1zldMbGtgOtMNBEOuYWwB1EQlK2LRa1fev3YAgym/RElp5Cg==} + engines: {node: '>=0.10.0'} + dev: true - esutils@2.0.3: {} + /esutils@2.0.3: + resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} + engines: {node: '>=0.10.0'} + dev: true - etag@1.8.1: {} + /etag@1.8.1: + resolution: {integrity: sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==} + engines: {node: '>= 0.6'} + dev: true - event-emitter@0.3.5: + /event-emitter@0.3.5: + resolution: {integrity: sha512-D9rRn9y7kLPnJ+hMq7S/nhvoKwwvVJahBi2BPmx3bvbsEdK3W9ii8cBSGjP+72/LnM4n6fo3+dkCX5FeTQruXA==} dependencies: d: 1.0.2 es5-ext: 0.10.64 + dev: true - event-stream@3.3.4: + /event-stream@3.3.4: + resolution: {integrity: sha512-QHpkERcGsR0T7Qm3HNJSyXKEEj8AHNxkY3PK8TS2KJvQ7NiSHe3DDpwVKKtoYprL/AreyzFBeIkBIWChAqn60g==} dependencies: duplexer: 0.1.2 from: 0.1.7 @@ -13519,18 +8587,31 @@ snapshots: split: 0.3.3 stream-combiner: 0.0.4 through: 2.3.8 + dev: true - event-target-shim@5.0.1: {} + /event-target-shim@5.0.1: + resolution: {integrity: sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==} + engines: {node: '>=6'} - eventemitter2@6.4.7: {} + /eventemitter2@6.4.7: + resolution: {integrity: sha512-tYUSVOGeQPKt/eC1ABfhHy5Xd96N3oIijJvN3O9+TsC28T5V9yX9oEfEK5faP0EFSNVOG97qtAS68GBrQB2hDg==} + dev: true - eventemitter3@4.0.7: {} + /eventemitter3@4.0.7: + resolution: {integrity: sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==} + dev: true - eventemitter3@5.0.1: {} + /eventemitter3@5.0.1: + resolution: {integrity: sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA==} + dev: true - events@3.3.0: {} + /events@3.3.0: + resolution: {integrity: sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==} + engines: {node: '>=0.8.x'} - execa@1.0.0: + /execa@1.0.0: + resolution: {integrity: sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==} + engines: {node: '>=6'} dependencies: cross-spawn: 6.0.5 get-stream: 4.1.0 @@ -13539,8 +8620,11 @@ snapshots: p-finally: 1.0.0 signal-exit: 3.0.7 strip-eof: 1.0.0 + dev: true - execa@4.1.0: + /execa@4.1.0: + resolution: {integrity: sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA==} + engines: {node: '>=10'} dependencies: cross-spawn: 7.0.3 get-stream: 5.2.0 @@ -13551,8 +8635,11 @@ snapshots: onetime: 5.1.2 signal-exit: 3.0.7 strip-final-newline: 2.0.0 + dev: true - execa@5.1.1: + /execa@5.1.1: + resolution: {integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==} + engines: {node: '>=10'} dependencies: cross-spawn: 7.0.3 get-stream: 6.0.1 @@ -13563,8 +8650,11 @@ snapshots: onetime: 5.1.2 signal-exit: 3.0.7 strip-final-newline: 2.0.0 + dev: true - execa@8.0.1: + /execa@8.0.1: + resolution: {integrity: sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==} + engines: {node: '>=16.17'} dependencies: cross-spawn: 7.0.3 get-stream: 8.0.1 @@ -13575,22 +8665,34 @@ snapshots: onetime: 6.0.0 signal-exit: 4.1.0 strip-final-newline: 3.0.0 + dev: true - executable@4.1.1: + /executable@4.1.1: + resolution: {integrity: sha512-8iA79xD3uAch729dUG8xaaBBFGaEa0wdD2VkYLFHwlqosEj/jT66AzcreRDSgV7ehnNLBW2WR5jIXwGKjVdTLg==} + engines: {node: '>=4'} dependencies: pify: 2.3.0 + dev: true - exit@0.1.2: {} + /exit@0.1.2: + resolution: {integrity: sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==} + engines: {node: '>= 0.8.0'} + dev: true - expect@29.7.0: + /expect@29.7.0: + resolution: {integrity: sha512-2Zks0hf1VLFYI1kbh0I5jP3KHHyCHpkfyHBzsSXRFgl/Bg9mWYfMW8oD+PdMPlEwy5HNsR9JutYy6pMeOh61nw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@jest/expect-utils': 29.7.0 jest-get-type: 29.6.3 jest-matcher-utils: 29.7.0 jest-message-util: 29.7.0 jest-util: 29.7.0 + dev: true - express@4.19.2: + /express@4.19.2: + resolution: {integrity: sha512-5T6nhjsT+EOMzuck8JjBHARTHfMht0POzlA60WV2pMD3gyXw2LZnZ+ueGdNxG+0calOJcWKbpFcuzLZ91YWq9Q==} + engines: {node: '>= 0.10.0'} dependencies: accepts: 1.3.8 array-flatten: 1.1.1 @@ -13625,14 +8727,22 @@ snapshots: vary: 1.1.2 transitivePeerDependencies: - supports-color + dev: true - ext@1.7.0: + /ext@1.7.0: + resolution: {integrity: sha512-6hxeJYaL110a9b5TEJSj0gojyHQAmA2ch5Os+ySCiA1QGdS697XWY1pzsrSjqA9LDEEgdB/KypIlR59RcLuHYw==} dependencies: type: 2.7.3 + dev: true - extend@3.0.2: {} + /extend@3.0.2: + resolution: {integrity: sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==} + dev: true - extract-zip@2.0.1(supports-color@8.1.1): + /extract-zip@2.0.1(supports-color@8.1.1): + resolution: {integrity: sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg==} + engines: {node: '>= 10.17.0'} + hasBin: true dependencies: debug: 4.3.5(supports-color@8.1.1) get-stream: 5.2.0 @@ -13641,18 +8751,33 @@ snapshots: '@types/yauzl': 2.10.3 transitivePeerDependencies: - supports-color + dev: true - extsprintf@1.3.0: {} + /extsprintf@1.3.0: + resolution: {integrity: sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g==} + engines: {'0': node >=0.6.0} + dev: true - fast-content-type-parse@1.1.0: {} + /fast-content-type-parse@1.1.0: + resolution: {integrity: sha512-fBHHqSTFLVnR61C+gltJuE5GkVQMV0S2nqUO8TJ+5Z3qAKG8vAx4FKai1s5jq/inV1+sREynIWSuQ6HgoSXpDQ==} + dev: true - fast-decode-uri-component@1.0.1: {} + /fast-decode-uri-component@1.0.1: + resolution: {integrity: sha512-WKgKWg5eUxvRZGwW8FvfbaH7AXSh2cL+3j5fMGzUMCxWBJ3dV3a7Wz8y2f/uQ0e3B6WmodD3oS54jTQ9HVTIIg==} + dev: true - fast-deep-equal@3.1.3: {} + /fast-deep-equal@3.1.3: + resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} + dev: true - fast-equals@5.0.1: {} + /fast-equals@5.0.1: + resolution: {integrity: sha512-WF1Wi8PwwSY7/6Kx0vKXtw8RwuSGoM1bvDaJbu7MxDlR1vovZjIAKrnzyrThgAjm6JDTu0fVgWXDlMGspodfoQ==} + engines: {node: '>=6.0.0'} + dev: true - fast-glob@3.3.2: + /fast-glob@3.3.2: + resolution: {integrity: sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==} + engines: {node: '>=8.6.0'} dependencies: '@nodelib/fs.stat': 2.0.5 '@nodelib/fs.walk': 1.2.8 @@ -13660,28 +8785,47 @@ snapshots: merge2: 1.4.1 micromatch: 4.0.7 - fast-json-stable-stringify@2.1.0: {} + /fast-json-stable-stringify@2.1.0: + resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} + dev: true - fast-json-stringify@2.7.13: + /fast-json-stringify@2.7.13: + resolution: {integrity: sha512-ar+hQ4+OIurUGjSJD1anvYSDcUflywhKjfxnsW4TBTD7+u0tJufv6DKRWoQk3vI6YBOWMoz0TQtfbe7dxbQmvA==} + engines: {node: '>= 10.0.0'} dependencies: ajv: 6.12.6 deepmerge: 4.3.1 rfdc: 1.4.1 string-similarity: 4.0.4 + dev: true - fast-levenshtein@2.0.6: {} + /fast-levenshtein@2.0.6: + resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==} + dev: true - fast-redact@3.5.0: {} + /fast-redact@3.5.0: + resolution: {integrity: sha512-dwsoQlS7h9hMeYUq1W++23NDcBLV4KqONnITDV9DjfS3q1SgDGVrBdvvTLUotWtPSD7asWDV9/CmsZPy8Hf70A==} + engines: {node: '>=6'} - fast-safe-stringify@2.1.1: {} + /fast-safe-stringify@2.1.1: + resolution: {integrity: sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==} + dev: true - fastest-levenshtein@1.0.16: {} + /fastest-levenshtein@1.0.16: + resolution: {integrity: sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg==} + engines: {node: '>= 4.9.1'} + dev: true - fastestsmallesttextencoderdecoder@1.0.22: {} + /fastestsmallesttextencoderdecoder@1.0.22: + resolution: {integrity: sha512-Pb8d48e+oIuY4MaM64Cd7OW1gt4nxCHs7/ddPPZ/Ic3sg8yVGM7O9wDvZ7us6ScaUupzM+pfBolwtYhN1IxBIw==} + dev: true - fastify-plugin@3.0.1: {} + /fastify-plugin@3.0.1: + resolution: {integrity: sha512-qKcDXmuZadJqdTm6vlCqioEbyewF60b/0LOFCcYN1B6BIZGlYJumWWOYs70SFYLDAH4YqdE1cxH/RKMG7rFxgA==} + dev: true - fastify@3.29.5: + /fastify@3.29.5: + resolution: {integrity: sha512-FBDgb1gkenZxxh4sTD6AdI6mFnZnsgckpjIXzIvfLSYCa4isfQeD8QWGPib63dxq6btnY0l1j8I0xYhMvUb+sw==} dependencies: '@fastify/ajv-compiler': 1.1.0 '@fastify/error': 2.0.0 @@ -13701,63 +8845,98 @@ snapshots: tiny-lru: 8.0.2 transitivePeerDependencies: - supports-color + dev: true - fastq@1.17.1: + /fastq@1.17.1: + resolution: {integrity: sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==} dependencies: reusify: 1.0.4 - fault@2.0.1: + /fault@2.0.1: + resolution: {integrity: sha512-WtySTkS4OKev5JtpHXnib4Gxiurzh5NCGvWrFaZ34m6JehfTUhKZvn9njTfw48t6JumVQOmrKqpmGcdwxnhqBQ==} dependencies: format: 0.2.2 + dev: true - faye-websocket@0.11.4: + /faye-websocket@0.11.4: + resolution: {integrity: sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g==} + engines: {node: '>=0.8.0'} dependencies: websocket-driver: 0.7.4 + dev: true - fb-watchman@2.0.2: + /fb-watchman@2.0.2: + resolution: {integrity: sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==} dependencies: bser: 2.1.1 + dev: true - fd-slicer@1.1.0: + /fd-slicer@1.1.0: + resolution: {integrity: sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==} dependencies: pend: 1.2.0 + dev: true - ferrum@1.9.4: + /ferrum@1.9.4: + resolution: {integrity: sha512-ooNerLoIht/dK4CQJux93z/hnt9JysrXniJCI3r6YRgmHeXC57EJ8XaTCT1Gm8LfhIAeWxyJA0O7d/W3pqDYRg==} dependencies: fastestsmallesttextencoderdecoder: 1.0.22 lodash.isplainobject: 4.0.6 xxhashjs: 0.2.2 + dev: true - fetch-blob@3.2.0: + /fetch-blob@3.2.0: + resolution: {integrity: sha512-7yAQpD2UMJzLi1Dqv7qFYnPbaPx7ZfFK6PiIxQ4PfkGPyNyl2Ugx+a/umUonmKqjhM4DnfbMvdX6otXq83soQQ==} + engines: {node: ^12.20 || >= 14.13} dependencies: node-domexception: 1.0.0 web-streams-polyfill: 3.3.3 + dev: true - fflate@0.8.2: {} + /fflate@0.8.2: + resolution: {integrity: sha512-cPJU47OaAoCbg0pBvzsgpTPhmhqI5eJjh/JIu8tPj5q+T7iLvW/JAYUqmE7KOB4R1ZyEhzBaIQpQpardBF5z8A==} + dev: true - figures@3.2.0: + /figures@3.2.0: + resolution: {integrity: sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==} + engines: {node: '>=8'} dependencies: escape-string-regexp: 1.0.5 + dev: true - file-entry-cache@6.0.1: + /file-entry-cache@6.0.1: + resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==} + engines: {node: ^10.12.0 || >=12.0.0} dependencies: flat-cache: 3.2.0 + dev: true - file-entry-cache@8.0.0: + /file-entry-cache@8.0.0: + resolution: {integrity: sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==} + engines: {node: '>=16.0.0'} dependencies: flat-cache: 4.0.1 + dev: true - file-saver@2.0.5: {} + /file-saver@2.0.5: + resolution: {integrity: sha512-P9bmyZ3h/PRG+Nzga+rbdI4OEpNDzAVyy74uVO9ATgzLK6VtAsYybF/+TOCvrc0MO793d6+42lLyZTw7/ArVzA==} + dev: false - filelist@1.0.4: + /filelist@1.0.4: + resolution: {integrity: sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==} dependencies: minimatch: 5.1.6 + dev: true - fill-range@7.1.1: + /fill-range@7.1.1: + resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==} + engines: {node: '>=8'} dependencies: to-regex-range: 5.0.1 - finalhandler@1.2.0: + /finalhandler@1.2.0: + resolution: {integrity: sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==} + engines: {node: '>= 0.8'} dependencies: debug: 2.6.9 encodeurl: 1.0.2 @@ -13768,244 +8947,425 @@ snapshots: unpipe: 1.0.0 transitivePeerDependencies: - supports-color + dev: true - find-cache-dir@3.3.2: + /find-cache-dir@3.3.2: + resolution: {integrity: sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==} + engines: {node: '>=8'} dependencies: commondir: 1.0.1 make-dir: 3.1.0 pkg-dir: 4.2.0 + dev: true - find-cache-dir@4.0.0: + /find-cache-dir@4.0.0: + resolution: {integrity: sha512-9ZonPT4ZAK4a+1pUPVPZJapbi7O5qbbJPdYw/NOQWZZbVLdDTYM3A4R9z/DpAM08IDaFGsvPgiGZ82WEwUDWjg==} + engines: {node: '>=14.16'} dependencies: common-path-prefix: 3.0.0 pkg-dir: 7.0.0 + dev: true - find-my-way@4.5.1: + /find-my-way@4.5.1: + resolution: {integrity: sha512-kE0u7sGoUFbMXcOG/xpkmz4sRLCklERnBcg7Ftuu1iAxsfEt2S46RLJ3Sq7vshsEy2wJT2hZxE58XZK27qa8kg==} + engines: {node: '>=10'} dependencies: fast-decode-uri-component: 1.0.1 fast-deep-equal: 3.1.3 safe-regex2: 2.0.0 semver-store: 0.3.0 + dev: true - find-process@1.4.7: + /find-process@1.4.7: + resolution: {integrity: sha512-/U4CYp1214Xrp3u3Fqr9yNynUrr5Le4y0SsJh2lMDDSbpwYSz3M2SMWQC+wqcx79cN8PQtHQIL8KnuY9M66fdg==} + hasBin: true dependencies: chalk: 4.1.2 commander: 5.1.0 debug: 4.3.5(supports-color@8.1.1) transitivePeerDependencies: - supports-color + dev: true - find-up-simple@1.0.0: {} + /find-up-simple@1.0.0: + resolution: {integrity: sha512-q7Us7kcjj2VMePAa02hDAF6d+MzsdsAWEwYyOpwUtlerRBkOEPBCRZrAV4XfcSN8fHAgaD0hP7miwoay6DCprw==} + engines: {node: '>=18'} + dev: true - find-up@3.0.0: + /find-up@3.0.0: + resolution: {integrity: sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==} + engines: {node: '>=6'} dependencies: locate-path: 3.0.0 + dev: true - find-up@4.1.0: + /find-up@4.1.0: + resolution: {integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==} + engines: {node: '>=8'} dependencies: locate-path: 5.0.0 path-exists: 4.0.0 + dev: true - find-up@5.0.0: + /find-up@5.0.0: + resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} + engines: {node: '>=10'} dependencies: locate-path: 6.0.0 path-exists: 4.0.0 + dev: true - find-up@6.3.0: + /find-up@6.3.0: + resolution: {integrity: sha512-v2ZsoEuVHYy8ZIlYqwPe/39Cy+cFDzp4dXPaxNvkEuouymu+2Jbz0PxpKarJHYJTmv2HWT3O382qY8l4jMWthw==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dependencies: locate-path: 7.2.0 path-exists: 5.0.0 + dev: true - flat-cache@3.2.0: + /flat-cache@3.2.0: + resolution: {integrity: sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==} + engines: {node: ^10.12.0 || >=12.0.0} dependencies: flatted: 3.3.1 keyv: 4.5.4 rimraf: 3.0.2 + dev: true - flat-cache@4.0.1: + /flat-cache@4.0.1: + resolution: {integrity: sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==} + engines: {node: '>=16'} dependencies: flatted: 3.3.1 keyv: 4.5.4 + dev: true - flat@5.0.2: {} + /flat@5.0.2: + resolution: {integrity: sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==} + hasBin: true + dev: true - flatstr@1.0.12: {} + /flatstr@1.0.12: + resolution: {integrity: sha512-4zPxDyhCyiN2wIAtSLI6gc82/EjqZc1onI4Mz/l0pWrAlsSfYH/2ZIcU+e3oA2wDwbzIWNKwa23F8rh6+DRWkw==} + dev: true - flatted@3.3.1: {} + /flatted@3.3.1: + resolution: {integrity: sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==} + dev: true - flexsearch@0.7.43: {} + /flexsearch@0.7.43: + resolution: {integrity: sha512-c5o/+Um8aqCSOXGcZoqZOm+NqtVwNsvVpWv6lfmSclU954O3wvQKxxK8zj74fPaSJbXpSLTs4PRhh+wnoCXnKg==} + dev: true - focus-trap@7.5.4: + /focus-trap@7.5.4: + resolution: {integrity: sha512-N7kHdlgsO/v+iD/dMoJKtsSqs5Dz/dXZVebRgJw23LDk+jMi/974zyiOYDziY2JPp8xivq9BmUGwIJMiuSBi7w==} dependencies: tabbable: 6.2.0 + dev: true - follow-redirects@1.15.6(debug@4.3.5): - optionalDependencies: + /follow-redirects@1.15.6(debug@4.3.5): + resolution: {integrity: sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA==} + engines: {node: '>=4.0'} + peerDependencies: + debug: '*' + peerDependenciesMeta: + debug: + optional: true + dependencies: debug: 4.3.5(supports-color@8.1.1) + dev: true - font-awesome@4.7.0: {} + /font-awesome@4.7.0: + resolution: {integrity: sha512-U6kGnykA/6bFmg1M/oT9EkFeIYv7JlX3bozwQJWiiLz6L0w3F5vBVPxHlwyX/vtNq1ckcpRKOB9f2Qal/VtFpg==} + engines: {node: '>=0.10.3'} + dev: false - for-each@0.3.3: + /for-each@0.3.3: + resolution: {integrity: sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==} dependencies: is-callable: 1.2.7 + dev: true - foreground-child@2.0.0: + /foreground-child@2.0.0: + resolution: {integrity: sha512-dCIq9FpEcyQyXKCkyzmlPTFNgrCzPudOe+mhvJU5zAtlBnGVy2yKxtfsxK2tQBThwq225jcvBjpw1Gr40uzZCA==} + engines: {node: '>=8.0.0'} dependencies: cross-spawn: 7.0.3 signal-exit: 3.0.7 + dev: true - foreground-child@3.2.0: + /foreground-child@3.2.0: + resolution: {integrity: sha512-CrWQNaEl1/6WeZoarcM9LHupTo3RpZO2Pdk1vktwzPiQTsJnAKJmm3TACKeG5UZbWDfaH2AbvYxzP96y0MT7fA==} + engines: {node: '>=14'} dependencies: cross-spawn: 7.0.3 signal-exit: 4.1.0 - forever-agent@0.6.1: {} + /forever-agent@0.6.1: + resolution: {integrity: sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw==} + dev: true - form-data@2.3.3: + /form-data@2.3.3: + resolution: {integrity: sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==} + engines: {node: '>= 0.12'} dependencies: asynckit: 0.4.0 combined-stream: 1.0.8 mime-types: 2.1.35 + dev: true - form-data@4.0.0: + /form-data@4.0.0: + resolution: {integrity: sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==} + engines: {node: '>= 6'} dependencies: asynckit: 0.4.0 combined-stream: 1.0.8 mime-types: 2.1.35 + dev: true - format@0.2.2: {} + /format@0.2.2: + resolution: {integrity: sha512-wzsgA6WOq+09wrU1tsJ09udeR/YZRaeArL9e1wPbFg3GG2yDnC2ldKpxs4xunpFF9DgqCqOIra3bc1HWrJ37Ww==} + engines: {node: '>=0.4.x'} + dev: true - formdata-polyfill@4.0.10: + /formdata-polyfill@4.0.10: + resolution: {integrity: sha512-buewHzMvYL29jdeQTVILecSaZKnt/RJWjoZCF5OW60Z67/GmSLBkOFM7qh1PI3zFNtJbaZL5eQu1vLfazOwj4g==} + engines: {node: '>=12.20.0'} dependencies: fetch-blob: 3.2.0 + dev: true - forwarded@0.2.0: {} + /forwarded@0.2.0: + resolution: {integrity: sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==} + engines: {node: '>= 0.6'} + dev: true - fresh@0.5.2: {} + /fresh@0.5.2: + resolution: {integrity: sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==} + engines: {node: '>= 0.6'} + dev: true - from@0.1.7: {} + /from@0.1.7: + resolution: {integrity: sha512-twe20eF1OxVxp/ML/kq2p1uc6KvFK/+vs8WjEbeKmV2He22MKm7YF2ANIt+EOqhJ5L3K/SuuPhk0hWQDjOM23g==} + dev: true - fromentries@1.3.2: {} + /fromentries@1.3.2: + resolution: {integrity: sha512-cHEpEQHUg0f8XdtZCc2ZAhrHzKzT0MrFUTcvx+hfxYu7rGMDc5SKoXFh+n4YigxsHXRzc6OrCshdR1bWH6HHyg==} + dev: true - fs-extra@11.1.1: + /fs-extra@11.1.1: + resolution: {integrity: sha512-MGIE4HOvQCeUCzmlHs0vXpih4ysz4wg9qiSAu6cd42lVwPbTM1TjV7RusoyQqMmk/95gdQZX72u+YW+c3eEpFQ==} + engines: {node: '>=14.14'} dependencies: graceful-fs: 4.2.11 jsonfile: 6.1.0 universalify: 2.0.1 + dev: true - fs-extra@11.2.0: + /fs-extra@11.2.0: + resolution: {integrity: sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw==} + engines: {node: '>=14.14'} dependencies: graceful-fs: 4.2.11 jsonfile: 6.1.0 universalify: 2.0.1 + dev: true - fs-extra@7.0.1: + /fs-extra@7.0.1: + resolution: {integrity: sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==} + engines: {node: '>=6 <7 || >=8'} dependencies: graceful-fs: 4.2.11 jsonfile: 4.0.0 universalify: 0.1.2 + dev: true - fs-extra@9.1.0: + /fs-extra@9.1.0: + resolution: {integrity: sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==} + engines: {node: '>=10'} dependencies: at-least-node: 1.0.0 graceful-fs: 4.2.11 jsonfile: 6.1.0 universalify: 2.0.1 + dev: true - fs-monkey@1.0.6: {} + /fs-monkey@1.0.6: + resolution: {integrity: sha512-b1FMfwetIKymC0eioW7mTywihSQE4oLzQn1dB6rZB5fx/3NpNEdAWeCSMB+60/AeT0TCXsxzAlcYVEFCTAksWg==} + dev: true - fs.realpath@1.0.0: {} + /fs.realpath@1.0.0: + resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} + dev: true - fsevents@2.3.3: + /fsevents@2.3.3: + resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} + engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} + os: [darwin] + requiresBuild: true optional: true - function-bind@1.1.2: {} + /function-bind@1.1.2: + resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} - function.prototype.name@1.1.6: + /function.prototype.name@1.1.6: + resolution: {integrity: sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==} + engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.7 define-properties: 1.2.1 es-abstract: 1.23.3 functions-have-names: 1.2.3 + dev: true - functions-have-names@1.2.3: {} + /functions-have-names@1.2.3: + resolution: {integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==} + dev: true - gensequence@7.0.0: {} + /gensequence@7.0.0: + resolution: {integrity: sha512-47Frx13aZh01afHJTB3zTtKIlFI6vWY+MYCN9Qpew6i52rfKjnhCF/l1YlC8UmEMvvntZZ6z4PiCcmyuedR2aQ==} + engines: {node: '>=18'} + dev: true - gensync@1.0.0-beta.2: {} + /gensync@1.0.0-beta.2: + resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==} + engines: {node: '>=6.9.0'} + dev: true - get-caller-file@2.0.5: {} + /get-caller-file@2.0.5: + resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} + engines: {node: 6.* || 8.* || >= 10.*} + dev: true - get-east-asian-width@1.2.0: {} + /get-east-asian-width@1.2.0: + resolution: {integrity: sha512-2nk+7SIVb14QrgXFHcm84tD4bKQz0RxPuMT8Ag5KPOq7J5fEmAg0UbXdTOSHqNuHSU28k55qnceesxXRZGzKWA==} + engines: {node: '>=18'} + dev: true - get-func-name@2.0.2: {} + /get-func-name@2.0.2: + resolution: {integrity: sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ==} + dev: true - get-intrinsic@1.2.4: + /get-intrinsic@1.2.4: + resolution: {integrity: sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==} + engines: {node: '>= 0.4'} dependencies: es-errors: 1.3.0 function-bind: 1.1.2 has-proto: 1.0.3 has-symbols: 1.0.3 hasown: 2.0.2 + dev: true - get-own-enumerable-property-symbols@3.0.2: {} + /get-own-enumerable-property-symbols@3.0.2: + resolution: {integrity: sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g==} + dev: true - get-package-type@0.1.0: {} + /get-package-type@0.1.0: + resolution: {integrity: sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==} + engines: {node: '>=8.0.0'} + dev: true - get-stdin@5.0.1: {} + /get-stdin@5.0.1: + resolution: {integrity: sha512-jZV7n6jGE3Gt7fgSTJoz91Ak5MuTLwMwkoYdjxuJ/AmjIsE1UC03y/IWkZCQGEvVNS9qoRNwy5BCqxImv0FVeA==} + engines: {node: '>=0.12.0'} + dev: true - get-stdin@8.0.0: {} + /get-stdin@8.0.0: + resolution: {integrity: sha512-sY22aA6xchAzprjyqmSEQv4UbAAzRN0L2dQB0NlN5acTTK9Don6nhoc3eAbUnpZiCANAMfd/+40kVdKfFygohg==} + engines: {node: '>=10'} + dev: true - get-stdin@9.0.0: {} + /get-stdin@9.0.0: + resolution: {integrity: sha512-dVKBjfWisLAicarI2Sf+JuBE/DghV4UzNAVe9yhEJuzeREd3JhOTE9cUaJTeSa77fsbQUK3pcOpJfM59+VKZaA==} + engines: {node: '>=12'} + dev: true - get-stream@4.1.0: + /get-stream@4.1.0: + resolution: {integrity: sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==} + engines: {node: '>=6'} dependencies: pump: 3.0.0 + dev: true - get-stream@5.2.0: + /get-stream@5.2.0: + resolution: {integrity: sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==} + engines: {node: '>=8'} dependencies: pump: 3.0.0 + dev: true - get-stream@6.0.1: {} + /get-stream@6.0.1: + resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==} + engines: {node: '>=10'} + dev: true - get-stream@8.0.1: {} + /get-stream@8.0.1: + resolution: {integrity: sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==} + engines: {node: '>=16'} + dev: true - get-symbol-description@1.0.2: + /get-symbol-description@1.0.2: + resolution: {integrity: sha512-g0QYk1dZBxGwk+Ngc+ltRH2IBp2f7zBkBMBJZCDerh6EhlhSR6+9irMCuT/09zD6qkarHUSn529sK/yL4S27mg==} + engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.7 es-errors: 1.3.0 get-intrinsic: 1.2.4 + dev: true - get-tsconfig@4.7.5: + /get-tsconfig@4.7.5: + resolution: {integrity: sha512-ZCuZCnlqNzjb4QprAzXKdpp/gh6KTxSJuw3IBsPnV/7fV4NxC9ckB+vPTt8w7fJA0TaSD7c55BR47JD6MEDyDw==} dependencies: resolve-pkg-maps: 1.0.0 + dev: true - getos@3.2.1: + /getos@3.2.1: + resolution: {integrity: sha512-U56CfOK17OKgTVqozZjUKNdkfEv6jk5WISBJ8SHoagjE6L69zOwl3Z+O8myjY9MEW3i2HPWQBt/LTbCgcC973Q==} dependencies: async: 3.2.5 + dev: true - getpass@0.1.7: + /getpass@0.1.7: + resolution: {integrity: sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng==} dependencies: assert-plus: 1.0.0 + dev: true - github-slugger@2.0.0: {} + /github-slugger@2.0.0: + resolution: {integrity: sha512-IaOQ9puYtjrkq7Y0Ygl9KDZnrf/aiUJYUpVf89y8kyaxbRG7Y1SrX/jaumrv81vc61+kiMempujsM3Yw7w5qcw==} + dev: true - glob-parent@5.1.2: + /glob-parent@5.1.2: + resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} + engines: {node: '>= 6'} dependencies: is-glob: 4.0.3 - glob-parent@6.0.2: + /glob-parent@6.0.2: + resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} + engines: {node: '>=10.13.0'} dependencies: is-glob: 4.0.3 - glob-promise@4.2.2(glob@7.2.3): + /glob-promise@4.2.2(glob@7.2.3): + resolution: {integrity: sha512-xcUzJ8NWN5bktoTIX7eOclO1Npxd/dyVqUJxlLIDasT4C7KZyqlPIwkdJ0Ypiy3p2ZKahTjK4M9uC3sNSfNMzw==} + engines: {node: '>=12'} + peerDependencies: + glob: ^7.1.6 dependencies: '@types/glob': 7.2.0 glob: 7.2.3 + dev: true - glob-to-regexp@0.4.1: {} + /glob-to-regexp@0.4.1: + resolution: {integrity: sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==} + dev: true - glob@10.4.1: + /glob@10.4.1: + resolution: {integrity: sha512-2jelhlq3E4ho74ZyVLN03oKdAZVUa6UDZzFLVH1H7dnoax+y9qyaq8zBkfDIggjniU19z0wU18y16jMB2eyVIw==} + engines: {node: '>=16 || 14 >=14.18'} + hasBin: true dependencies: foreground-child: 3.2.0 jackspeak: 3.4.0 @@ -14013,7 +9373,9 @@ snapshots: minipass: 7.1.2 path-scurry: 1.11.1 - glob@7.2.3: + /glob@7.2.3: + resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} + deprecated: Glob versions prior to v9 are no longer supported dependencies: fs.realpath: 1.0.0 inflight: 1.0.6 @@ -14021,35 +9383,57 @@ snapshots: minimatch: 3.1.2 once: 1.4.0 path-is-absolute: 1.0.1 + dev: true - glob@8.1.0: + /glob@8.1.0: + resolution: {integrity: sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==} + engines: {node: '>=12'} + deprecated: Glob versions prior to v9 are no longer supported dependencies: fs.realpath: 1.0.0 inflight: 1.0.6 inherits: 2.0.4 minimatch: 5.1.6 once: 1.4.0 + dev: true - global-directory@4.0.1: + /global-directory@4.0.1: + resolution: {integrity: sha512-wHTUcDUoZ1H5/0iVqEudYW4/kAlN5cZ3j/bXn0Dpbizl9iaUVeWSHqiOjsgk6OW2bkLclbBjzewBz6weQ1zA2Q==} + engines: {node: '>=18'} dependencies: ini: 4.1.1 + dev: true - global-dirs@3.0.1: + /global-dirs@3.0.1: + resolution: {integrity: sha512-NBcGGFbBA9s1VzD41QXDG+3++t9Mn5t1FpLdhESY6oKY4gYTFpX4wO3sqGUa0Srjtbfj3szX0RnemmrVRUdULA==} + engines: {node: '>=10'} dependencies: ini: 2.0.0 + dev: true - globals@11.12.0: {} + /globals@11.12.0: + resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==} + engines: {node: '>=4'} + dev: true - globals@13.24.0: + /globals@13.24.0: + resolution: {integrity: sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==} + engines: {node: '>=8'} dependencies: type-fest: 0.20.2 + dev: true - globalthis@1.0.4: + /globalthis@1.0.4: + resolution: {integrity: sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==} + engines: {node: '>= 0.4'} dependencies: define-properties: 1.2.1 gopd: 1.0.1 + dev: true - globby@11.1.0: + /globby@11.1.0: + resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==} + engines: {node: '>=10'} dependencies: array-union: 2.1.0 dir-glob: 3.0.1 @@ -14057,16 +9441,22 @@ snapshots: ignore: 5.3.1 merge2: 1.4.1 slash: 3.0.0 + dev: true - globby@13.2.2: + /globby@13.2.2: + resolution: {integrity: sha512-Y1zNGV+pzQdh7H39l9zgB4PJqjRNqydvdYCDG4HFXM4XuvSaQQlEc91IU1yALL8gUTDomgBAfz3XJdmUS+oo0w==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dependencies: dir-glob: 3.0.1 fast-glob: 3.3.2 ignore: 5.3.1 merge2: 1.4.1 slash: 4.0.0 + dev: true - globby@14.0.1: + /globby@14.0.1: + resolution: {integrity: sha512-jOMLD2Z7MAhyG8aJpNOpmziMOP4rPLcc95oQPKXBazW82z+CEgPFBQvEpRUa1KeIMUJo4Wsm+q6uzO/Q/4BksQ==} + engines: {node: '>=18'} dependencies: '@sindresorhus/merge-streams': 2.3.0 fast-glob: 3.3.2 @@ -14074,14 +9464,21 @@ snapshots: path-type: 5.0.0 slash: 5.1.0 unicorn-magic: 0.1.0 + dev: true - glur@1.1.2: {} + /glur@1.1.2: + resolution: {integrity: sha512-l+8esYHTKOx2G/Aao4lEQ0bnHWg4fWtJbVoZZT9Knxi01pB8C80BR85nONLFwkkQoFRCmXY+BUcGZN3yZ2QsRA==} + dev: true - gopd@1.0.1: + /gopd@1.0.1: + resolution: {integrity: sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==} dependencies: get-intrinsic: 1.2.4 + dev: true - got@11.8.6: + /got@11.8.6: + resolution: {integrity: sha512-6tfZ91bOr7bOXnK7PRDCGBLa1H4U080YHNaAQ2KsMGlLEzRbk44nsZF2E1IeRc3vtJHPVbKCYgdFbaGO2ljd8g==} + engines: {node: '>=10.19.0'} dependencies: '@sindresorhus/is': 4.6.0 '@szmarczak/http-timer': 4.0.6 @@ -14094,20 +9491,35 @@ snapshots: lowercase-keys: 2.0.0 p-cancelable: 2.1.1 responselike: 2.0.1 + dev: true - graceful-fs@4.2.11: {} + /graceful-fs@4.2.11: + resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} + dev: true - graphemer@1.4.0: {} + /graphemer@1.4.0: + resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==} + dev: true - gzip-size@6.0.0: + /gzip-size@6.0.0: + resolution: {integrity: sha512-ax7ZYomf6jqPTQ4+XCpUGyXKHk5WweS+e05MBO4/y3WJ5RkmPXNKvX+bx1behVILVwr6JSQvZAku021CHPXG3Q==} + engines: {node: '>=10'} dependencies: duplexer: 0.1.2 + dev: true - hachure-fill@0.5.2: {} + /hachure-fill@0.5.2: + resolution: {integrity: sha512-3GKBOn+m2LX9iq+JC1064cSFprJY4jL1jCXTcpnfER5HYE2l/4EfWSGzkPa/ZDBmYI0ZOEj5VHV/eKnPGkHuOg==} + dev: false - handle-thing@2.0.1: {} + /handle-thing@2.0.1: + resolution: {integrity: sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg==} + dev: true - handlebars@4.7.8: + /handlebars@4.7.8: + resolution: {integrity: sha512-vafaFqs8MZkRrSX7sFVUdo3ap/eNiLnb4IakshzvP56X5Nr1iGKAIqdX6tMlm6HcNRIkr6AxO5jFEoJzzpT8aQ==} + engines: {node: '>=0.4.7'} + hasBin: true dependencies: minimist: 1.2.8 neo-async: 2.6.2 @@ -14115,138 +9527,223 @@ snapshots: wordwrap: 1.0.0 optionalDependencies: uglify-js: 3.18.0 + dev: true - has-ansi@2.0.0: + /has-ansi@2.0.0: + resolution: {integrity: sha512-C8vBJ8DwUCx19vhm7urhTuUsr4/IyP6l4VzNQDv+ryHQObW3TTTp9yB68WpYgRe2bbaGuZ/se74IqFeVnMnLZg==} + engines: {node: '>=0.10.0'} dependencies: ansi-regex: 2.1.1 + dev: true - has-bigints@1.0.2: {} + /has-bigints@1.0.2: + resolution: {integrity: sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==} + dev: true - has-flag@3.0.0: {} + /has-flag@3.0.0: + resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==} + engines: {node: '>=4'} + dev: true - has-flag@4.0.0: {} + /has-flag@4.0.0: + resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} + engines: {node: '>=8'} - has-own-prop@2.0.0: {} + /has-own-prop@2.0.0: + resolution: {integrity: sha512-Pq0h+hvsVm6dDEa8x82GnLSYHOzNDt7f0ddFa3FqcQlgzEiptPqL+XrOJNavjOzSYiYWIrgeVYYgGlLmnxwilQ==} + engines: {node: '>=8'} + dev: true - has-property-descriptors@1.0.2: + /has-property-descriptors@1.0.2: + resolution: {integrity: sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==} dependencies: es-define-property: 1.0.0 + dev: true - has-proto@1.0.3: {} + /has-proto@1.0.3: + resolution: {integrity: sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==} + engines: {node: '>= 0.4'} + dev: true - has-symbols@1.0.3: {} + /has-symbols@1.0.3: + resolution: {integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==} + engines: {node: '>= 0.4'} + dev: true - has-tostringtag@1.0.2: + /has-tostringtag@1.0.2: + resolution: {integrity: sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==} + engines: {node: '>= 0.4'} dependencies: has-symbols: 1.0.3 + dev: true - hasha@5.2.2: + /hasha@5.2.2: + resolution: {integrity: sha512-Hrp5vIK/xr5SkeN2onO32H0MgNZ0f17HRNH39WfL0SYUNOTZ5Lz1TJ8Pajo/87dYGEFlLMm7mIc/k/s6Bvz9HQ==} + engines: {node: '>=8'} dependencies: is-stream: 2.0.1 type-fest: 0.8.1 + dev: true - hasown@2.0.2: + /hasown@2.0.2: + resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==} + engines: {node: '>= 0.4'} dependencies: function-bind: 1.1.2 - highlight.js@10.7.3: {} + /highlight.js@10.7.3: + resolution: {integrity: sha512-tzcUFauisWKNHaRkN4Wjl/ZA07gENAjFl3J/c480dprkGTg5EQstgaNFqBfUqCq54kZRIEcreTsAgF/m2quD7A==} + dev: false - hookable@5.5.3: {} + /hookable@5.5.3: + resolution: {integrity: sha512-Yc+BQe8SvoXH1643Qez1zqLRmbA5rCL+sSmk6TVos0LWVfNIB7PGncdlId77WzLGSIB5KaWgTaNTs2lNVEI6VQ==} + dev: true - hosted-git-info@2.8.9: {} + /hosted-git-info@2.8.9: + resolution: {integrity: sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==} + dev: true - hpack.js@2.1.6: + /hpack.js@2.1.6: + resolution: {integrity: sha512-zJxVehUdMGIKsRaNt7apO2Gqp0BdqW5yaiGHXXmbpvxgBYVZnAql+BJb4RO5ad2MgpbZKn5G6nMnegrH1FcNYQ==} dependencies: inherits: 2.0.4 obuf: 1.1.2 readable-stream: 2.3.8 wbuf: 1.7.3 + dev: true - html-encoding-sniffer@4.0.0: + /html-encoding-sniffer@4.0.0: + resolution: {integrity: sha512-Y22oTqIU4uuPgEemfz7NDJz6OeKf12Lsu+QC+s3BVpda64lTiMYCyGwg5ki4vFxkMwQdeZDl2adZoqUgdFuTgQ==} + engines: {node: '>=18'} dependencies: whatwg-encoding: 3.1.1 + dev: true - html-entities@2.5.2: {} + /html-entities@2.5.2: + resolution: {integrity: sha512-K//PSRMQk4FZ78Kyau+mZurHn3FH0Vwr+H36eE0rPbeYkRRi9YxceYPhuN60UwWorxyKHhqoAJl2OFKa4BVtaA==} + dev: true - html-escaper@2.0.2: {} + /html-escaper@2.0.2: + resolution: {integrity: sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==} + dev: true - html-to-image@1.11.11: {} + /html-to-image@1.11.11: + resolution: {integrity: sha512-9gux8QhvjRO/erSnDPv28noDZcPZmYE7e1vFsBLKLlRlKDSqNJYebj6Qz1TGd5lsRV+X+xYyjCKjuZdABinWjA==} + dev: false - htmlparser2@9.1.0: + /htmlparser2@9.1.0: + resolution: {integrity: sha512-5zfg6mHUoaer/97TxnGpxmbR7zJtPwIYFMZ/H5ucTlPZhKvtum05yiPK3Mgai3a0DyVxv7qYqoweaEd2nrYQzQ==} dependencies: domelementtype: 2.3.0 domhandler: 5.0.3 domutils: 3.1.0 entities: 4.5.0 + dev: true - http-cache-semantics@4.1.1: {} + /http-cache-semantics@4.1.1: + resolution: {integrity: sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==} + dev: true - http-deceiver@1.2.7: {} + /http-deceiver@1.2.7: + resolution: {integrity: sha512-LmpOGxTfbpgtGVxJrj5k7asXHCgNZp5nLfp+hWc8QQRqtb7fUy6kRY3BO1h9ddF6yIPYUARgxGOwB42DnxIaNw==} + dev: true - http-errors@1.6.3: + /http-errors@1.6.3: + resolution: {integrity: sha512-lks+lVC8dgGyh97jxvxeYTWQFvh4uw4yC12gVl63Cg30sjPX4wuGcdkICVXDAESr6OJGjqGA8Iz5mkeN6zlD7A==} + engines: {node: '>= 0.6'} dependencies: depd: 1.1.2 inherits: 2.0.3 setprototypeof: 1.1.0 statuses: 1.5.0 + dev: true - http-errors@2.0.0: + /http-errors@2.0.0: + resolution: {integrity: sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==} + engines: {node: '>= 0.8'} dependencies: depd: 2.0.0 inherits: 2.0.4 setprototypeof: 1.2.0 statuses: 2.0.1 toidentifier: 1.0.1 + dev: true - http-parser-js@0.5.8: {} + /http-parser-js@0.5.8: + resolution: {integrity: sha512-SGeBX54F94Wgu5RH3X5jsDtf4eHyRogWX1XGT3b4HuW3tQPM4AaBzoUji/4AAJNXCEOWZ5O0DgZmJw1947gD5Q==} + dev: true - http-proxy-agent@5.0.0: + /http-proxy-agent@5.0.0: + resolution: {integrity: sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==} + engines: {node: '>= 6'} dependencies: '@tootallnate/once': 2.0.0 agent-base: 6.0.2 debug: 4.3.5(supports-color@8.1.1) transitivePeerDependencies: - supports-color + dev: true - http-proxy-agent@7.0.2: + /http-proxy-agent@7.0.2: + resolution: {integrity: sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==} + engines: {node: '>= 14'} dependencies: agent-base: 7.1.1 debug: 4.3.5(supports-color@8.1.1) transitivePeerDependencies: - supports-color + dev: true - http-proxy-middleware@2.0.6(@types/express@4.17.21): + /http-proxy-middleware@2.0.6(@types/express@4.17.21): + resolution: {integrity: sha512-ya/UeJ6HVBYxrgYotAZo1KvPWlgB48kUJLDePFeneHsVujFaW5WNj2NgWCAE//B1Dl02BIfYlpNgBy8Kf8Rjmw==} + engines: {node: '>=12.0.0'} + peerDependencies: + '@types/express': ^4.17.13 + peerDependenciesMeta: + '@types/express': + optional: true dependencies: + '@types/express': 4.17.21 '@types/http-proxy': 1.17.14 http-proxy: 1.18.1 is-glob: 4.0.3 is-plain-obj: 3.0.0 micromatch: 4.0.7 - optionalDependencies: - '@types/express': 4.17.21 transitivePeerDependencies: - debug + dev: true - http-proxy@1.18.1: + /http-proxy@1.18.1: + resolution: {integrity: sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==} + engines: {node: '>=8.0.0'} dependencies: eventemitter3: 4.0.7 follow-redirects: 1.15.6(debug@4.3.5) requires-port: 1.0.0 transitivePeerDependencies: - debug + dev: true - http-signature@1.3.6: + /http-signature@1.3.6: + resolution: {integrity: sha512-3adrsD6zqo4GsTqtO7FyrejHNv+NgiIfAfv68+jVlFmSr9OGy7zrxONceFRLKvnnZA5jbxQBX1u9PpB6Wi32Gw==} + engines: {node: '>=0.10'} dependencies: assert-plus: 1.0.0 jsprim: 2.0.2 sshpk: 1.18.0 + dev: true - http2-wrapper@1.0.3: + /http2-wrapper@1.0.3: + resolution: {integrity: sha512-V+23sDMr12Wnz7iTcDeJr3O6AIxlnvT/bmaAAAP/Xda35C90p9599p0F1eHR/N1KILWSoWVAiOMFjBBXaXSMxg==} + engines: {node: '>=10.19.0'} dependencies: quick-lru: 5.1.1 resolve-alpn: 1.2.1 + dev: true - https-localhost@4.7.1: + /https-localhost@4.7.1: + resolution: {integrity: sha512-rl+NFV0l67/0W7fZwk4LB5gS6HdhtSFLpCpf1N+KD5WQAXtPXX1QE8H0cP8VNJii18rtpTkE9eAHdUfJ0goAnQ==} + hasBin: true dependencies: appdata-path: 1.0.0 compression: 1.7.4 @@ -14256,258 +9753,490 @@ snapshots: uglify-js: 3.18.0 transitivePeerDependencies: - supports-color + dev: true - https-proxy-agent@5.0.1: + /https-proxy-agent@5.0.1: + resolution: {integrity: sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==} + engines: {node: '>= 6'} dependencies: agent-base: 6.0.2 debug: 4.3.5(supports-color@8.1.1) transitivePeerDependencies: - supports-color + dev: true - https-proxy-agent@7.0.4: + /https-proxy-agent@7.0.4: + resolution: {integrity: sha512-wlwpilI7YdjSkWaQ/7omYBMTliDcmCN8OLihO6I9B86g06lMyAoqgoDpV0XqoaPOKj+0DIdAvnsWfyAAhmimcg==} + engines: {node: '>= 14'} dependencies: agent-base: 7.1.1 debug: 4.3.5(supports-color@8.1.1) transitivePeerDependencies: - supports-color + dev: true - human-signals@1.1.1: {} + /human-signals@1.1.1: + resolution: {integrity: sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==} + engines: {node: '>=8.12.0'} + dev: true - human-signals@2.1.0: {} + /human-signals@2.1.0: + resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==} + engines: {node: '>=10.17.0'} + dev: true - human-signals@5.0.0: {} + /human-signals@5.0.0: + resolution: {integrity: sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==} + engines: {node: '>=16.17.0'} + dev: true - husky@9.0.11: {} + /husky@9.0.11: + resolution: {integrity: sha512-AB6lFlbwwyIqMdHYhwPe+kjOC3Oc5P3nThEoW/AaO2BX3vJDjWPFxYLxokUZOo6RNX20He3AaT8sESs9NJcmEw==} + engines: {node: '>=18'} + hasBin: true + dev: true - iconv-lite@0.4.24: + /iconv-lite@0.4.24: + resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==} + engines: {node: '>=0.10.0'} dependencies: safer-buffer: 2.1.2 + dev: true - iconv-lite@0.6.3: + /iconv-lite@0.6.3: + resolution: {integrity: sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==} + engines: {node: '>=0.10.0'} dependencies: safer-buffer: 2.1.2 - idb@7.1.1: {} + /idb@7.1.1: + resolution: {integrity: sha512-gchesWBzyvGHRO9W8tzUWFDycow5gwjvFKfyV9FF32Y7F50yZMp7mP+T2mJIWFx49zicqyC4uefHM17o6xKIVQ==} + dev: true - ieee754@1.2.1: {} + /ieee754@1.2.1: + resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==} - ignore@5.3.1: {} + /ignore@5.3.1: + resolution: {integrity: sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==} + engines: {node: '>= 4'} + dev: true - import-fresh@3.3.0: + /import-fresh@3.3.0: + resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==} + engines: {node: '>=6'} dependencies: parent-module: 1.0.1 resolve-from: 4.0.0 + dev: true - import-local@3.1.0: + /import-local@3.1.0: + resolution: {integrity: sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==} + engines: {node: '>=8'} + hasBin: true dependencies: pkg-dir: 4.2.0 resolve-cwd: 3.0.0 + dev: true - import-meta-resolve@4.1.0: {} + /import-meta-resolve@4.1.0: + resolution: {integrity: sha512-I6fiaX09Xivtk+THaMfAwnA3MVA5Big1WHF1Dfx9hFuvNIWpXnorlkzhcQf6ehrqQiiZECRt1poOAkPmer3ruw==} + dev: true - imurmurhash@0.1.4: {} + /imurmurhash@0.1.4: + resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} + engines: {node: '>=0.8.19'} + dev: true - indent-string@4.0.0: {} + /indent-string@4.0.0: + resolution: {integrity: sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==} + engines: {node: '>=8'} + dev: true - indent-string@5.0.0: {} + /indent-string@5.0.0: + resolution: {integrity: sha512-m6FAo/spmsW2Ab2fU35JTYwtOKa2yAwXSwgjSv1TJzh4Mh7mC3lzAOVLBprb72XsTrgkEIsl7YrFNAiDiRhIGg==} + engines: {node: '>=12'} + dev: true - inflight@1.0.6: + /inflight@1.0.6: + resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} + deprecated: This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful. dependencies: once: 1.4.0 wrappy: 1.0.2 + dev: true - inherits@2.0.3: {} + /inherits@2.0.3: + resolution: {integrity: sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==} + dev: true - inherits@2.0.4: {} + /inherits@2.0.4: + resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} + dev: true - ini@2.0.0: {} + /ini@2.0.0: + resolution: {integrity: sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA==} + engines: {node: '>=10'} + dev: true - ini@3.0.1: {} + /ini@3.0.1: + resolution: {integrity: sha512-it4HyVAUTKBc6m8e1iXWvXSTdndF7HbdN713+kvLrymxTaU4AUBWrJ4vEooP+V7fexnVD3LKcBshjGGPefSMUQ==} + engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} + dev: true - ini@4.1.1: {} + /ini@4.1.1: + resolution: {integrity: sha512-QQnnxNyfvmHFIsj7gkPcYymR8Jdw/o7mp5ZFihxn6h8Ci6fh3Dx4E1gPjpQEpIuPo9XVNY/ZUwh4BPMjGyL01g==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + dev: true - internal-slot@1.0.7: + /internal-slot@1.0.7: + resolution: {integrity: sha512-NGnrKwXzSms2qUUih/ILZ5JBqNTSa1+ZmP6flaIp6KmSElgE9qdndzS3cqjrDovwFdmwsGsLdeFgB6suw+1e9g==} + engines: {node: '>= 0.4'} dependencies: es-errors: 1.3.0 hasown: 2.0.2 side-channel: 1.0.6 + dev: true - internmap@1.0.1: {} + /internmap@1.0.1: + resolution: {integrity: sha512-lDB5YccMydFBtasVtxnZ3MRBHuaoE8GKsppq+EchKL2U4nK/DmEpPHNH8MZe5HkMtpSiTSOZwfN0tzYjO/lJEw==} + dev: false - internmap@2.0.3: {} + /internmap@2.0.3: + resolution: {integrity: sha512-5Hh7Y1wQbvY5ooGgPbDaL5iYLAPzMTUrjMulskHLH6wnv/A+1q5rgEaiuqEjB+oxGXIVZs1FF+R/KPN3ZSQYYg==} + engines: {node: '>=12'} + dev: false - interpret@2.2.0: {} + /interpret@2.2.0: + resolution: {integrity: sha512-Ju0Bz/cEia55xDwUWEa8+olFpCiQoypjnQySseKtmjNrnps3P+xfpUmGr90T7yjlVJmOtybRvPXhKMbHr+fWnw==} + engines: {node: '>= 0.10'} + dev: true - ipaddr.js@1.9.1: {} + /ipaddr.js@1.9.1: + resolution: {integrity: sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==} + engines: {node: '>= 0.10'} + dev: true - ipaddr.js@2.2.0: {} + /ipaddr.js@2.2.0: + resolution: {integrity: sha512-Ag3wB2o37wslZS19hZqorUnrnzSkpOVy+IiiDEiTqNubEYpYuHWIf6K4psgN2ZWKExS4xhVCrRVfb/wfW8fWJA==} + engines: {node: '>= 10'} + dev: true - is-alphabetical@1.0.4: {} + /is-alphabetical@1.0.4: + resolution: {integrity: sha512-DwzsA04LQ10FHTZuL0/grVDk4rFoVH1pjAToYwBrHSxcrBIGQuXrQMtD5U1b0U2XVgKZCTLLP8u2Qxqhy3l2Vg==} + dev: true - is-alphanumerical@1.0.4: + /is-alphanumerical@1.0.4: + resolution: {integrity: sha512-UzoZUr+XfVz3t3v4KyGEniVL9BDRoQtY7tOyrRybkVNjDFWyo1yhXNGrrBTQxp3ib9BLAWs7k2YKBQsFRkZG9A==} dependencies: is-alphabetical: 1.0.4 is-decimal: 1.0.4 + dev: true - is-array-buffer@3.0.4: + /is-array-buffer@3.0.4: + resolution: {integrity: sha512-wcjaerHw0ydZwfhiKbXJWLDY8A7yV7KhjQOpb83hGgGfId/aQa4TOvwyzn2PuswW2gPCYEL/nEAiSVpdOj1lXw==} + engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.7 get-intrinsic: 1.2.4 + dev: true - is-arrayish@0.2.1: {} + /is-arrayish@0.2.1: + resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==} + dev: true - is-arrayish@0.3.2: {} + /is-arrayish@0.3.2: + resolution: {integrity: sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==} + dev: false - is-bigint@1.0.4: + /is-bigint@1.0.4: + resolution: {integrity: sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==} dependencies: has-bigints: 1.0.2 + dev: true - is-binary-path@2.1.0: + /is-binary-path@2.1.0: + resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} + engines: {node: '>=8'} dependencies: binary-extensions: 2.3.0 - is-boolean-object@1.1.2: + /is-boolean-object@1.1.2: + resolution: {integrity: sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==} + engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.7 has-tostringtag: 1.0.2 + dev: true - is-builtin-module@3.2.1: + /is-builtin-module@3.2.1: + resolution: {integrity: sha512-BSLE3HnV2syZ0FK0iMA/yUGplUeMmNz4AW5fnTunbCIqZi4vG3WjJT9FHMy5D69xmAYBHXQhJdALdpwVxV501A==} + engines: {node: '>=6'} dependencies: builtin-modules: 3.3.0 + dev: true - is-callable@1.2.7: {} + /is-callable@1.2.7: + resolution: {integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==} + engines: {node: '>= 0.4'} + dev: true - is-ci@3.0.1: + /is-ci@3.0.1: + resolution: {integrity: sha512-ZYvCgrefwqoQ6yTyYUbQu64HsITZ3NfKX1lzaEYdkTDcfKzzCI/wthRRYKkdjHKFVgNiXKAKm65Zo1pk2as/QQ==} + hasBin: true dependencies: ci-info: 3.9.0 + dev: true - is-core-module@2.13.1: + /is-core-module@2.13.1: + resolution: {integrity: sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==} dependencies: hasown: 2.0.2 - is-data-view@1.0.1: + /is-data-view@1.0.1: + resolution: {integrity: sha512-AHkaJrsUVW6wq6JS8y3JnM/GJF/9cf+k20+iDzlSaJrinEo5+7vRiteOSwBhHRiAyQATN1AmY4hwzxJKPmYf+w==} + engines: {node: '>= 0.4'} dependencies: is-typed-array: 1.1.13 + dev: true - is-date-object@1.0.5: + /is-date-object@1.0.5: + resolution: {integrity: sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==} + engines: {node: '>= 0.4'} dependencies: has-tostringtag: 1.0.2 + dev: true - is-decimal@1.0.4: {} + /is-decimal@1.0.4: + resolution: {integrity: sha512-RGdriMmQQvZ2aqaQq3awNA6dCGtKpiDFcOzrTWrDAT2MiWrKQVPmxLGHl7Y2nNu6led0kEyoX0enY0qXYsv9zw==} + dev: true - is-docker@2.2.1: {} + /is-docker@2.2.1: + resolution: {integrity: sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==} + engines: {node: '>=8'} + hasBin: true + dev: true - is-extglob@2.1.1: {} + /is-extglob@2.1.1: + resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} + engines: {node: '>=0.10.0'} - is-fullwidth-code-point@3.0.0: {} + /is-fullwidth-code-point@3.0.0: + resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} + engines: {node: '>=8'} - is-fullwidth-code-point@4.0.0: {} + /is-fullwidth-code-point@4.0.0: + resolution: {integrity: sha512-O4L094N2/dZ7xqVdrXhh9r1KODPJpFms8B5sGdJLPy664AgvXsreZUyCQQNItZRDlYug4xStLjNp/sz3HvBowQ==} + engines: {node: '>=12'} + dev: true - is-fullwidth-code-point@5.0.0: + /is-fullwidth-code-point@5.0.0: + resolution: {integrity: sha512-OVa3u9kkBbw7b8Xw5F9P+D/T9X+Z4+JruYVNapTjPYZYUznQ5YfWeFkOj606XYYW8yugTfC8Pj0hYqvi4ryAhA==} + engines: {node: '>=18'} dependencies: get-east-asian-width: 1.2.0 + dev: true - is-generator-fn@2.1.0: {} + /is-generator-fn@2.1.0: + resolution: {integrity: sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==} + engines: {node: '>=6'} + dev: true - is-glob@4.0.3: + /is-glob@4.0.3: + resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} + engines: {node: '>=0.10.0'} dependencies: is-extglob: 2.1.1 - is-hexadecimal@1.0.4: {} + /is-hexadecimal@1.0.4: + resolution: {integrity: sha512-gyPJuv83bHMpocVYoqof5VDiZveEoGoFL8m3BXNb2VW8Xs+rz9kqO8LOQ5DH6EsuvilT1ApazU0pyl+ytbPtlw==} + dev: true - is-installed-globally@0.4.0: + /is-installed-globally@0.4.0: + resolution: {integrity: sha512-iwGqO3J21aaSkC7jWnHP/difazwS7SFeIqxv6wEtLU8Y5KlzFTjyqcSIT0d8s4+dDhKytsk9PJZ2BkS5eZwQRQ==} + engines: {node: '>=10'} dependencies: global-dirs: 3.0.1 is-path-inside: 3.0.3 + dev: true - is-localhost-ip@2.0.0: {} + /is-localhost-ip@2.0.0: + resolution: {integrity: sha512-vlgs2cSgMOfnKU8c1ewgKPyum9rVrjjLLW2HBdL5i0iAJjOs8NY55ZBd/hqUTaYR0EO9CKZd3hVSC2HlIbygTQ==} + engines: {node: '>=12'} + dev: true - is-module@1.0.0: {} + /is-module@1.0.0: + resolution: {integrity: sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g==} + dev: true - is-negative-zero@2.0.3: {} + /is-negative-zero@2.0.3: + resolution: {integrity: sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==} + engines: {node: '>= 0.4'} + dev: true - is-number-object@1.0.7: + /is-number-object@1.0.7: + resolution: {integrity: sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==} + engines: {node: '>= 0.4'} dependencies: has-tostringtag: 1.0.2 + dev: true - is-number@7.0.0: {} + /is-number@7.0.0: + resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} + engines: {node: '>=0.12.0'} - is-obj@1.0.1: {} + /is-obj@1.0.1: + resolution: {integrity: sha512-l4RyHgRqGN4Y3+9JHVrNqO+tN0rV5My76uW5/nuO4K1b6vw5G8d/cmFjP9tRfEsdhZNt0IFdZuK/c2Vr4Nb+Qg==} + engines: {node: '>=0.10.0'} + dev: true - is-path-inside@3.0.3: {} + /is-path-inside@3.0.3: + resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==} + engines: {node: '>=8'} + dev: true - is-plain-obj@3.0.0: {} + /is-plain-obj@3.0.0: + resolution: {integrity: sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA==} + engines: {node: '>=10'} + dev: true - is-plain-obj@4.1.0: {} + /is-plain-obj@4.1.0: + resolution: {integrity: sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==} + engines: {node: '>=12'} + dev: true - is-plain-object@2.0.4: + /is-plain-object@2.0.4: + resolution: {integrity: sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==} + engines: {node: '>=0.10.0'} dependencies: isobject: 3.0.1 + dev: true - is-potential-custom-element-name@1.0.1: {} + /is-potential-custom-element-name@1.0.1: + resolution: {integrity: sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==} + dev: true - is-promise@2.2.2: {} + /is-promise@2.2.2: + resolution: {integrity: sha512-+lP4/6lKUBfQjZ2pdxThZvLUAafmZb8OAxFb8XXtiQmS35INgr85hdOGoEs124ez1FCnZJt6jau/T+alh58QFQ==} + dev: true - is-regex@1.1.4: + /is-regex@1.1.4: + resolution: {integrity: sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==} + engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.7 has-tostringtag: 1.0.2 + dev: true - is-regexp@1.0.0: {} + /is-regexp@1.0.0: + resolution: {integrity: sha512-7zjFAPO4/gwyQAAgRRmqeEeyIICSdmCqa3tsVHMdBzaXXRiqopZL4Cyghg/XulGWrtABTpbnYYzzIRffLkP4oA==} + engines: {node: '>=0.10.0'} + dev: true - is-shared-array-buffer@1.0.3: + /is-shared-array-buffer@1.0.3: + resolution: {integrity: sha512-nA2hv5XIhLR3uVzDDfCIknerhx8XUKnstuOERPNNIinXG7v9u+ohXF67vxm4TPTEPU6lm61ZkwP3c9PCB97rhg==} + engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.7 + dev: true - is-stream@1.1.0: {} + /is-stream@1.1.0: + resolution: {integrity: sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==} + engines: {node: '>=0.10.0'} + dev: true - is-stream@2.0.1: {} + /is-stream@2.0.1: + resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==} + engines: {node: '>=8'} + dev: true - is-stream@3.0.0: {} + /is-stream@3.0.0: + resolution: {integrity: sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + dev: true - is-string@1.0.7: + /is-string@1.0.7: + resolution: {integrity: sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==} + engines: {node: '>= 0.4'} dependencies: has-tostringtag: 1.0.2 + dev: true - is-symbol@1.0.4: + /is-symbol@1.0.4: + resolution: {integrity: sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==} + engines: {node: '>= 0.4'} dependencies: has-symbols: 1.0.3 + dev: true - is-typed-array@1.1.13: + /is-typed-array@1.1.13: + resolution: {integrity: sha512-uZ25/bUAlUY5fR4OKT4rZQEBrzQWYV9ZJYGGsUmEJ6thodVJ1HX64ePQ6Z0qPWP+m+Uq6e9UugrE38jeYsDSMw==} + engines: {node: '>= 0.4'} dependencies: which-typed-array: 1.1.15 + dev: true - is-typedarray@1.0.0: {} + /is-typedarray@1.0.0: + resolution: {integrity: sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==} + dev: true - is-unicode-supported@0.1.0: {} + /is-unicode-supported@0.1.0: + resolution: {integrity: sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==} + engines: {node: '>=10'} + dev: true - is-weakref@1.0.2: + /is-weakref@1.0.2: + resolution: {integrity: sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==} dependencies: call-bind: 1.0.7 + dev: true - is-windows@1.0.2: {} + /is-windows@1.0.2: + resolution: {integrity: sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==} + engines: {node: '>=0.10.0'} + dev: true - is-wsl@2.2.0: + /is-wsl@2.2.0: + resolution: {integrity: sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==} + engines: {node: '>=8'} dependencies: is-docker: 2.2.1 + dev: true - isarray@1.0.0: {} + /isarray@1.0.0: + resolution: {integrity: sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==} + dev: true - isarray@2.0.5: {} + /isarray@2.0.5: + resolution: {integrity: sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==} + dev: true - isexe@2.0.0: {} + /isexe@2.0.0: + resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} - isobject@3.0.1: {} + /isobject@3.0.1: + resolution: {integrity: sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==} + engines: {node: '>=0.10.0'} + dev: true - isstream@0.1.2: {} + /isstream@0.1.2: + resolution: {integrity: sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g==} + dev: true - istanbul-lib-coverage@3.2.2: {} + /istanbul-lib-coverage@3.2.2: + resolution: {integrity: sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==} + engines: {node: '>=8'} + dev: true - istanbul-lib-hook@3.0.0: + /istanbul-lib-hook@3.0.0: + resolution: {integrity: sha512-Pt/uge1Q9s+5VAZ+pCo16TYMWPBIl+oaNIjgLQxcX0itS6ueeaA+pEfThZpH8WxhFgCiEb8sAJY6MdUKgiIWaQ==} + engines: {node: '>=8'} dependencies: append-transform: 2.0.0 + dev: true - istanbul-lib-instrument@4.0.3: + /istanbul-lib-instrument@4.0.3: + resolution: {integrity: sha512-BXgQl9kf4WTCPCCpmFGoJkz/+uhvm7h7PFKUYxh7qarQd3ER33vHG//qaE8eN25l07YqZPpHXU9I09l/RD5aGQ==} + engines: {node: '>=8'} dependencies: '@babel/core': 7.24.7 '@istanbuljs/schema': 0.1.3 @@ -14515,8 +10244,11 @@ snapshots: semver: 6.3.1 transitivePeerDependencies: - supports-color + dev: true - istanbul-lib-instrument@5.2.1: + /istanbul-lib-instrument@5.2.1: + resolution: {integrity: sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==} + engines: {node: '>=8'} dependencies: '@babel/core': 7.24.7 '@babel/parser': 7.24.7 @@ -14525,8 +10257,11 @@ snapshots: semver: 6.3.1 transitivePeerDependencies: - supports-color + dev: true - istanbul-lib-instrument@6.0.2: + /istanbul-lib-instrument@6.0.2: + resolution: {integrity: sha512-1WUsZ9R1lA0HtBSohTkm39WTPlNKSJ5iFk7UwqXkBLoHQT+hfqPsfsTDVuZdKGaBwn7din9bS7SsnoAr943hvw==} + engines: {node: '>=10'} dependencies: '@babel/core': 7.24.7 '@babel/parser': 7.24.7 @@ -14535,8 +10270,11 @@ snapshots: semver: 7.6.2 transitivePeerDependencies: - supports-color + dev: true - istanbul-lib-processinfo@2.0.3: + /istanbul-lib-processinfo@2.0.3: + resolution: {integrity: sha512-NkwHbo3E00oybX6NGJi6ar0B29vxyvNwoC7eJ4G4Yq28UfY758Hgn/heV8VRFhevPED4LXfFz0DQ8z/0kw9zMg==} + engines: {node: '>=8'} dependencies: archy: 1.0.0 cross-spawn: 7.0.3 @@ -14544,59 +10282,86 @@ snapshots: p-map: 3.0.0 rimraf: 3.0.2 uuid: 8.3.2 + dev: true - istanbul-lib-report@3.0.1: + /istanbul-lib-report@3.0.1: + resolution: {integrity: sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==} + engines: {node: '>=10'} dependencies: istanbul-lib-coverage: 3.2.2 make-dir: 4.0.0 supports-color: 7.2.0 + dev: true - istanbul-lib-source-maps@4.0.1: + /istanbul-lib-source-maps@4.0.1: + resolution: {integrity: sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==} + engines: {node: '>=10'} dependencies: debug: 4.3.5(supports-color@8.1.1) istanbul-lib-coverage: 3.2.2 source-map: 0.6.1 transitivePeerDependencies: - supports-color + dev: true - istanbul-lib-source-maps@5.0.4: + /istanbul-lib-source-maps@5.0.4: + resolution: {integrity: sha512-wHOoEsNJTVltaJp8eVkm8w+GVkVNHT2YDYo53YdzQEL2gWm1hBX5cGFR9hQJtuGLebidVX7et3+dmDZrmclduw==} + engines: {node: '>=10'} dependencies: '@jridgewell/trace-mapping': 0.3.25 debug: 4.3.5(supports-color@8.1.1) istanbul-lib-coverage: 3.2.2 transitivePeerDependencies: - supports-color + dev: true - istanbul-reports@3.1.7: + /istanbul-reports@3.1.7: + resolution: {integrity: sha512-BewmUXImeuRk2YY0PVbxgKAysvhRPUQE0h5QRM++nVWyubKGV0l8qQ5op8+B2DOmwSe63Jivj0BjkPQVf8fP5g==} + engines: {node: '>=8'} dependencies: html-escaper: 2.0.2 istanbul-lib-report: 3.0.1 + dev: true - iterm2-version@4.2.0: + /iterm2-version@4.2.0: + resolution: {integrity: sha512-IoiNVk4SMPu6uTcK+1nA5QaHNok2BMDLjSl5UomrOixe5g4GkylhPwuiGdw00ysSCrXAKNMfFTu+u/Lk5f6OLQ==} + engines: {node: '>=8'} dependencies: app-path: 3.3.0 plist: 3.1.0 + dev: true - jackspeak@3.4.0: + /jackspeak@3.4.0: + resolution: {integrity: sha512-JVYhQnN59LVPFCEcVa2C3CrEKYacvjRfqIQl+h8oi91aLYQVWRYbxjPcv1bUiUy/kLmQaANrYfNMCO3kuEDHfw==} + engines: {node: '>=14'} dependencies: '@isaacs/cliui': 8.0.2 optionalDependencies: '@pkgjs/parseargs': 0.11.0 - jake@10.9.1: + /jake@10.9.1: + resolution: {integrity: sha512-61btcOHNnLnsOdtLgA5efqQWjnSi/vow5HbI7HMdKKWqvrKR1bLK3BPlJn9gcSaP2ewuamUSMB5XEy76KUIS2w==} + engines: {node: '>=10'} + hasBin: true dependencies: async: 3.2.5 chalk: 4.1.2 filelist: 1.0.4 minimatch: 3.1.2 + dev: true - jest-changed-files@29.7.0: + /jest-changed-files@29.7.0: + resolution: {integrity: sha512-fEArFiwf1BpQ+4bXSprcDc3/x4HSzL4al2tozwVpDFpsxALjLYdyiIK4e5Vz66GQJIbXJ82+35PtysofptNX2w==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: execa: 5.1.1 jest-util: 29.7.0 p-limit: 3.1.0 + dev: true - jest-circus@29.7.0: + /jest-circus@29.7.0: + resolution: {integrity: sha512-3E1nCMgipcTkCocFwM90XXQab9bS+GMsjdpmPrlelaxwD93Ad8iVEjX/vvHPdLPnFf+L40u+5+iutRdA1N9myw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@jest/environment': 29.7.0 '@jest/expect': 29.7.0 @@ -14621,8 +10386,17 @@ snapshots: transitivePeerDependencies: - babel-plugin-macros - supports-color + dev: true - jest-cli@29.7.0(@types/node@20.14.2): + /jest-cli@29.7.0(@types/node@20.14.2): + resolution: {integrity: sha512-OVVobw2IubN/GSYsxETi+gOe7Ka59EFMR/twOU3Jb2GnKKeMGJB5SGUUrEz3SFVmJASUdZUzy83sLNNQ2gZslg==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + hasBin: true + peerDependencies: + node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 + peerDependenciesMeta: + node-notifier: + optional: true dependencies: '@jest/core': 29.7.0 '@jest/test-result': 29.7.0 @@ -14640,12 +10414,24 @@ snapshots: - babel-plugin-macros - supports-color - ts-node + dev: true - jest-config@29.7.0(@types/node@20.14.2): + /jest-config@29.7.0(@types/node@20.14.2): + resolution: {integrity: sha512-uXbpfeQ7R6TZBqI3/TxCU4q4ttk3u0PJeC+E0zbfSoSjq6bJ7buBPxzQPL0ifrkY4DNu4JUdk0ImlBUYi840eQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + peerDependencies: + '@types/node': '*' + ts-node: '>=9.0.0' + peerDependenciesMeta: + '@types/node': + optional: true + ts-node: + optional: true dependencies: '@babel/core': 7.24.7 '@jest/test-sequencer': 29.7.0 '@jest/types': 29.6.3 + '@types/node': 20.14.2 babel-jest: 29.7.0(@babel/core@7.24.7) chalk: 4.1.2 ci-info: 3.9.0 @@ -14665,32 +10451,42 @@ snapshots: pretty-format: 29.7.0 slash: 3.0.0 strip-json-comments: 3.1.1 - optionalDependencies: - '@types/node': 20.14.2 transitivePeerDependencies: - babel-plugin-macros - supports-color + dev: true - jest-diff@29.7.0: + /jest-diff@29.7.0: + resolution: {integrity: sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: chalk: 4.1.2 diff-sequences: 29.6.3 jest-get-type: 29.6.3 pretty-format: 29.7.0 + dev: true - jest-docblock@29.7.0: + /jest-docblock@29.7.0: + resolution: {integrity: sha512-q617Auw3A612guyaFgsbFeYpNP5t2aoUNLwBUbc/0kD1R4t9ixDbyFTHd1nok4epoVFpr7PmeWHrhvuV3XaJ4g==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: detect-newline: 3.1.0 + dev: true - jest-each@29.7.0: + /jest-each@29.7.0: + resolution: {integrity: sha512-gns+Er14+ZrEoC5fhOfYCY1LOHHr0TI+rQUHZS8Ttw2l7gl+80eHc/gFf2Ktkw0+SIACDTeWvpFcv3B04VembQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@jest/types': 29.6.3 chalk: 4.1.2 jest-get-type: 29.6.3 jest-util: 29.7.0 pretty-format: 29.7.0 + dev: true - jest-environment-node@29.7.0: + /jest-environment-node@29.7.0: + resolution: {integrity: sha512-DOSwCRqXirTOyheM+4d5YZOrWcdu0LNZ87ewUoywbcb2XR4wKgqiG8vNeYwhjFMbEkfju7wx2GYH0P2gevGvFw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@jest/environment': 29.7.0 '@jest/fake-timers': 29.7.0 @@ -14698,10 +10494,16 @@ snapshots: '@types/node': 20.14.2 jest-mock: 29.7.0 jest-util: 29.7.0 + dev: true - jest-get-type@29.6.3: {} + /jest-get-type@29.6.3: + resolution: {integrity: sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dev: true - jest-haste-map@29.7.0: + /jest-haste-map@29.7.0: + resolution: {integrity: sha512-fP8u2pyfqx0K1rGn1R9pyE0/KTn+G7PxktWidOBTqFPLYX0b9ksaMFkhK5vrS3DVun09pckLdlx90QthlW7AmA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@jest/types': 29.6.3 '@types/graceful-fs': 4.1.9 @@ -14716,8 +10518,13 @@ snapshots: walker: 1.0.8 optionalDependencies: fsevents: 2.3.3 + dev: true - jest-image-snapshot@4.2.0(jest@29.7.0(@types/node@20.14.2)): + /jest-image-snapshot@4.2.0(jest@29.7.0): + resolution: {integrity: sha512-6aAqv2wtfOgxiJeBayBCqHo1zX+A12SUNNzo7rIxiXh6W6xYVu8QyHWkada8HeRi+QUTHddp0O0Xa6kmQr+xbQ==} + engines: {node: '>= 10.14.2'} + peerDependencies: + jest: '>=20 <=26' dependencies: chalk: 1.1.3 get-stdin: 5.0.1 @@ -14729,20 +10536,29 @@ snapshots: pngjs: 3.4.0 rimraf: 2.7.1 ssim.js: 3.5.0 + dev: true - jest-leak-detector@29.7.0: + /jest-leak-detector@29.7.0: + resolution: {integrity: sha512-kYA8IJcSYtST2BY9I+SMC32nDpBT3J2NvWJx8+JCuCdl/CR1I4EKUJROiP8XtCcxqgTTBGJNdbB1A8XRKbTetw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: jest-get-type: 29.6.3 pretty-format: 29.7.0 + dev: true - jest-matcher-utils@29.7.0: + /jest-matcher-utils@29.7.0: + resolution: {integrity: sha512-sBkD+Xi9DtcChsI3L3u0+N0opgPYnCRPtGcQYrgXmR+hmt/fYfWAL0xRXYU8eWOdfuLgBe0YCW3AFtnRLagq/g==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: chalk: 4.1.2 jest-diff: 29.7.0 jest-get-type: 29.6.3 pretty-format: 29.7.0 + dev: true - jest-message-util@29.7.0: + /jest-message-util@29.7.0: + resolution: {integrity: sha512-GBEV4GRADeP+qtB2+6u61stea8mGcOT4mCtrYISZwfu9/ISHFJ/5zOMXYbpBE9RsS5+Gb63DW4FgmnKJ79Kf6w==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@babel/code-frame': 7.24.7 '@jest/types': 29.6.3 @@ -14753,27 +10569,47 @@ snapshots: pretty-format: 29.7.0 slash: 3.0.0 stack-utils: 2.0.6 + dev: true - jest-mock@29.7.0: + /jest-mock@29.7.0: + resolution: {integrity: sha512-ITOMZn+UkYS4ZFh83xYAOzWStloNzJFO2s8DWrE4lhtGD+AorgnbkiKERe4wQVBydIGPx059g6riW5Btp6Llnw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@jest/types': 29.6.3 '@types/node': 20.14.2 jest-util: 29.7.0 + dev: true - jest-pnp-resolver@1.2.3(jest-resolve@29.7.0): - optionalDependencies: + /jest-pnp-resolver@1.2.3(jest-resolve@29.7.0): + resolution: {integrity: sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==} + engines: {node: '>=6'} + peerDependencies: + jest-resolve: '*' + peerDependenciesMeta: + jest-resolve: + optional: true + dependencies: jest-resolve: 29.7.0 + dev: true - jest-regex-util@29.6.3: {} + /jest-regex-util@29.6.3: + resolution: {integrity: sha512-KJJBsRCyyLNWCNBOvZyRDnAIfUiRJ8v+hOBQYGn8gDyF3UegwiP4gwRR3/SDa42g1YbVycTidUF3rKjyLFDWbg==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dev: true - jest-resolve-dependencies@29.7.0: + /jest-resolve-dependencies@29.7.0: + resolution: {integrity: sha512-un0zD/6qxJ+S0et7WxeI3H5XSe9lTBBR7bOHCHXkKR6luG5mwDDlIzVQ0V5cZCuoTgEdcdwzTghYkTWfubi+nA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: jest-regex-util: 29.6.3 jest-snapshot: 29.7.0 transitivePeerDependencies: - supports-color + dev: true - jest-resolve@29.7.0: + /jest-resolve@29.7.0: + resolution: {integrity: sha512-IOVhZSrg+UvVAshDSDtHyFCCBUl/Q3AAJv8iZ6ZjnZ74xzvwuzLXid9IIIPgTnY62SJjfuupMKZsZQRsCvxEgA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: chalk: 4.1.2 graceful-fs: 4.2.11 @@ -14784,8 +10620,11 @@ snapshots: resolve: 1.22.8 resolve.exports: 2.0.2 slash: 3.0.0 + dev: true - jest-runner@29.7.0: + /jest-runner@29.7.0: + resolution: {integrity: sha512-fsc4N6cPCAahybGBfTRcq5wFR6fpLznMg47sY5aDpsoejOcVYFb07AHuSnR0liMcPTgBsA3ZJL6kFOjPdoNipQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@jest/console': 29.7.0 '@jest/environment': 29.7.0 @@ -14810,8 +10649,11 @@ snapshots: source-map-support: 0.5.13 transitivePeerDependencies: - supports-color + dev: true - jest-runtime@29.7.0: + /jest-runtime@29.7.0: + resolution: {integrity: sha512-gUnLjgwdGqW7B4LvOIkbKs9WGbn+QLqRQQ9juC6HndeDiezIwhDP+mhMwHWCEcfQ5RUXa6OPnFF8BJh5xegwwQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@jest/environment': 29.7.0 '@jest/fake-timers': 29.7.0 @@ -14837,8 +10679,11 @@ snapshots: strip-bom: 4.0.0 transitivePeerDependencies: - supports-color + dev: true - jest-snapshot@29.7.0: + /jest-snapshot@29.7.0: + resolution: {integrity: sha512-Rm0BMWtxBcioHr1/OX5YCP8Uov4riHvKPknOGs804Zg9JGZgmIBkbtlxJC/7Z4msKYVbIJtfU+tKb8xlYNfdkw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@babel/core': 7.24.7 '@babel/generator': 7.24.7 @@ -14862,8 +10707,11 @@ snapshots: semver: 7.6.2 transitivePeerDependencies: - supports-color + dev: true - jest-util@29.7.0: + /jest-util@29.7.0: + resolution: {integrity: sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@jest/types': 29.6.3 '@types/node': 20.14.2 @@ -14871,8 +10719,11 @@ snapshots: ci-info: 3.9.0 graceful-fs: 4.2.11 picomatch: 2.3.1 + dev: true - jest-validate@29.7.0: + /jest-validate@29.7.0: + resolution: {integrity: sha512-ZB7wHqaRGVw/9hST/OuFUReG7M8vKeq0/J2egIGLdvjHCmYqGARhzXmtgi+gVeZ5uXFF219aOc3Ls2yLg27tkw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@jest/types': 29.6.3 camelcase: 6.3.0 @@ -14880,8 +10731,11 @@ snapshots: jest-get-type: 29.6.3 leven: 3.1.0 pretty-format: 29.7.0 + dev: true - jest-watcher@29.7.0: + /jest-watcher@29.7.0: + resolution: {integrity: sha512-49Fg7WXkU3Vl2h6LbLtMQ/HyB6rXSIX7SqvBLQmssRBGN9I0PNvPmAmCWSOY6SOvrjhI/F7/bGAv9RtnsPA03g==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@jest/test-result': 29.7.0 '@jest/types': 29.6.3 @@ -14891,21 +10745,36 @@ snapshots: emittery: 0.13.1 jest-util: 29.7.0 string-length: 4.0.2 + dev: true - jest-worker@27.5.1: + /jest-worker@27.5.1: + resolution: {integrity: sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==} + engines: {node: '>= 10.13.0'} dependencies: '@types/node': 20.14.2 merge-stream: 2.0.0 supports-color: 8.1.1 + dev: true - jest-worker@29.7.0: + /jest-worker@29.7.0: + resolution: {integrity: sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@types/node': 20.14.2 jest-util: 29.7.0 merge-stream: 2.0.0 supports-color: 8.1.1 + dev: true - jest@29.7.0(@types/node@20.14.2): + /jest@29.7.0(@types/node@20.14.2): + resolution: {integrity: sha512-NIy3oAFp9shda19hy4HK0HRTWKtPJmGdnvywu01nOqNC2vZg+Z+fvJDxpMQA88eb2I9EcafcdjYgsDthnYTvGw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + hasBin: true + peerDependencies: + node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 + peerDependenciesMeta: + node-notifier: + optional: true dependencies: '@jest/core': 29.7.0 '@jest/types': 29.6.3 @@ -14916,13 +10785,21 @@ snapshots: - babel-plugin-macros - supports-color - ts-node + dev: true - jison-lex@0.3.4: + /jison-lex@0.3.4: + resolution: {integrity: sha512-EBh5wrXhls1cUwROd5DcDHR1sG7CdsCFSqY1027+YA1RGxz+BX2TDLAhdsQf40YEtFDGoiO0Qm8PpnBl2EzDJw==} + engines: {node: '>=0.4'} + hasBin: true dependencies: lex-parser: 0.1.4 nomnom: 1.5.2 + dev: true - jison@0.4.18: + /jison@0.4.18: + resolution: {integrity: sha512-FKkCiJvozgC7VTHhMJ00a0/IApSxhlGsFIshLW6trWJ8ONX2TQJBBz6DlcO1Gffy4w9LT+uL+PA+CVnUSJMF7w==} + engines: {node: '>=0.4'} + hasBin: true dependencies: JSONSelect: 0.4.0 cjson: 0.3.0 @@ -14932,41 +10809,74 @@ snapshots: jison-lex: 0.3.4 lex-parser: 0.1.4 nomnom: 1.5.2 + dev: true - jiti@1.21.6: {} + /jiti@1.21.6: + resolution: {integrity: sha512-2yTgeWTWzMWkHu6Jp9NKgePDaYHbntiwvYuuJLbbN9vl7DC9DvXKOB2BC3ZZ92D3cvV/aflH0osDfwpHepQ53w==} + hasBin: true - jju@1.4.0: {} + /jju@1.4.0: + resolution: {integrity: sha512-8wb9Yw966OSxApiCt0K3yNJL8pnNeIv+OEq2YMidz4FKP6nonSRoOXc80iXY4JaN2FC11B9qsNmDsm+ZOfMROA==} + dev: true - joi@17.13.1: + /joi@17.13.1: + resolution: {integrity: sha512-vaBlIKCyo4FCUtCm7Eu4QZd/q02bWcxfUO6YSXAZOWF6gzcLBeba8kwotUdYJjDLW8Cz8RywsSOqiNJZW0mNvg==} dependencies: '@hapi/hoek': 9.3.0 '@hapi/topo': 5.1.0 '@sideway/address': 4.1.5 '@sideway/formula': 3.0.1 '@sideway/pinpoint': 2.0.0 + dev: true - jpeg-js@0.4.4: {} + /jpeg-js@0.4.4: + resolution: {integrity: sha512-WZzeDOEtTOBK4Mdsar0IqEU5sMr3vSV2RqkAIzUEV2BHnUfKGyswWFPFwK5EeDo93K3FohSHbLAjj0s1Wzd+dg==} + dev: true - js-base64@3.7.7: {} + /js-base64@3.7.7: + resolution: {integrity: sha512-7rCnleh0z2CkXhH67J8K1Ytz0b2Y+yxTPL+/KOJoa20hfnVQ/3/T6W/KflYI4bRHRagNeXeU2bkNGI3v1oS/lw==} + dev: true - js-tokens@4.0.0: {} + /js-tokens@4.0.0: + resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} + dev: true - js-tokens@9.0.0: {} + /js-tokens@9.0.0: + resolution: {integrity: sha512-WriZw1luRMlmV3LGJaR6QOJjWwgLUTf89OwT2lUOyjX2dJGBwgmIkbcz+7WFZjrZM635JOIR517++e/67CP9dQ==} + dev: true - js-yaml@3.14.1: + /js-yaml@3.14.1: + resolution: {integrity: sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==} + hasBin: true dependencies: argparse: 1.0.10 esprima: 4.0.1 + dev: true - js-yaml@4.1.0: + /js-yaml@4.1.0: + resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} + hasBin: true dependencies: argparse: 2.0.1 + dev: true - jsbn@0.1.1: {} + /jsbn@0.1.1: + resolution: {integrity: sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg==} + dev: true - jsdoc-type-pratt-parser@4.0.0: {} + /jsdoc-type-pratt-parser@4.0.0: + resolution: {integrity: sha512-YtOli5Cmzy3q4dP26GraSOeAhqecewG04hoO8DY56CH4KJ9Fvv5qKWUCCo3HZob7esJQHCv6/+bnTy72xZZaVQ==} + engines: {node: '>=12.0.0'} + dev: true - jsdom@24.1.0: + /jsdom@24.1.0: + resolution: {integrity: sha512-6gpM7pRXCwIOKxX47cgOyvyQDN/Eh0f1MeKySBV2xGdKtqJBLj8P25eY3EVCWo2mglDDzozR2r2MW4T+JiNUZA==} + engines: {node: '>=18'} + peerDependencies: + canvas: ^2.11.2 + peerDependenciesMeta: + canvas: + optional: true dependencies: cssstyle: 4.0.1 data-urls: 5.0.0 @@ -14993,18 +10903,37 @@ snapshots: - bufferutil - supports-color - utf-8-validate + dev: true - jsesc@0.5.0: {} + /jsesc@0.5.0: + resolution: {integrity: sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==} + hasBin: true + dev: true - jsesc@2.5.2: {} + /jsesc@2.5.2: + resolution: {integrity: sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==} + engines: {node: '>=4'} + hasBin: true + dev: true - jsesc@3.0.2: {} + /jsesc@3.0.2: + resolution: {integrity: sha512-xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g==} + engines: {node: '>=6'} + hasBin: true + dev: true - json-buffer@3.0.1: {} + /json-buffer@3.0.1: + resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==} + dev: true - json-parse-even-better-errors@2.3.1: {} + /json-parse-even-better-errors@2.3.1: + resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==} + dev: true - json-schema-to-typescript@13.1.2: + /json-schema-to-typescript@13.1.2: + resolution: {integrity: sha512-17G+mjx4nunvOpkPvcz7fdwUwYCEwyH8vR3Ym3rFiQ8uzAL3go+c1306Kk7iGRk8HuXBXqy+JJJmpYl0cvOllw==} + engines: {node: '>=12.0.0'} + hasBin: true dependencies: '@bcherny/json-schema-ref-parser': 10.0.5-fork '@types/json-schema': 7.0.15 @@ -15020,68 +10949,125 @@ snapshots: mkdirp: 1.0.4 mz: 2.7.0 prettier: 2.8.8 + dev: true - json-schema-traverse@0.4.1: {} + /json-schema-traverse@0.4.1: + resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} + dev: true - json-schema-traverse@1.0.0: {} + /json-schema-traverse@1.0.0: + resolution: {integrity: sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==} + dev: true - json-schema@0.4.0: {} + /json-schema@0.4.0: + resolution: {integrity: sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==} + dev: true - json-stable-stringify-without-jsonify@1.0.1: {} + /json-stable-stringify-without-jsonify@1.0.1: + resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==} + dev: true - json-stringify-safe@5.0.1: {} + /json-stringify-safe@5.0.1: + resolution: {integrity: sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==} + dev: true - json5@2.2.3: {} + /json5@2.2.3: + resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==} + engines: {node: '>=6'} + hasBin: true + dev: true - jsonc-parser@3.2.1: {} + /jsonc-parser@3.2.1: + resolution: {integrity: sha512-AilxAyFOAcK5wA1+LeaySVBrHsGQvUFCDWXKpZjzaL0PqW+xfBOttn8GNtWKFWqneyMZj41MWF9Kl6iPWLwgOA==} + dev: true - jsonfile@4.0.0: + /jsonfile@4.0.0: + resolution: {integrity: sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==} optionalDependencies: graceful-fs: 4.2.11 + dev: true - jsonfile@6.1.0: + /jsonfile@6.1.0: + resolution: {integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==} dependencies: universalify: 2.0.1 optionalDependencies: graceful-fs: 4.2.11 + dev: true - jsonlint@1.6.0: + /jsonlint@1.6.0: + resolution: {integrity: sha512-x6YLBe6NjdpmIeiklwQOxsZuYj/SOWkT33GlTpaG1UdFGjdWjPcxJ1CWZAX3wA7tarz8E2YHF6KiW5HTapPlXw==} + engines: {node: '>= 0.6'} + hasBin: true dependencies: JSV: 4.0.2 nomnom: 1.5.2 + dev: true - jsonpointer@5.0.1: {} + /jsonpointer@5.0.1: + resolution: {integrity: sha512-p/nXbhSEcu3pZRdkW1OfJhpsVtW1gd4Wa1fnQc9YLiTfAjn0312eMKimbdIQzuZl9aa9xUGaRlP9T/CJE/ditQ==} + engines: {node: '>=0.10.0'} + dev: true - jsonschema@1.4.1: {} + /jsonschema@1.4.1: + resolution: {integrity: sha512-S6cATIPVv1z0IlxdN+zUk5EPjkGCdnhN4wVSBlvoUO1tOLJootbo9CquNJmbIh4yikWHiUedhRYrNPn1arpEmQ==} + dev: true - jsprim@2.0.2: + /jsprim@2.0.2: + resolution: {integrity: sha512-gqXddjPqQ6G40VdnI6T6yObEC+pDNvyP95wdQhkWkg7crHH3km5qP1FsOXEkzEQwnz6gz5qGTn1c2Y52wP3OyQ==} + engines: {'0': node >=0.6.0} dependencies: assert-plus: 1.0.0 extsprintf: 1.3.0 json-schema: 0.4.0 verror: 1.10.0 + dev: true - junk@4.0.1: {} + /junk@4.0.1: + resolution: {integrity: sha512-Qush0uP+G8ZScpGMZvHUiRfI0YBWuB3gVBYlI0v0vvOJt5FLicco+IkP0a50LqTTQhmts/m6tP5SWE+USyIvcQ==} + engines: {node: '>=12.20'} + dev: true - katex@0.16.10: + /katex@0.16.10: + resolution: {integrity: sha512-ZiqaC04tp2O5utMsl2TEZTXxa6WSC4yo0fv5ML++D3QZv/vx2Mct0mTlRx3O+uUkjfuAgOkzsCmq5MiUEsDDdA==} + hasBin: true dependencies: commander: 8.3.0 + dev: false - keyv@4.5.4: + /keyv@4.5.4: + resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==} dependencies: json-buffer: 3.0.1 + dev: true - khroma@2.1.0: {} + /khroma@2.1.0: + resolution: {integrity: sha512-Ls993zuzfayK269Svk9hzpeGUKob/sIgZzyHYdjQoAdQetRKpOLj+k/QQQ/6Qi0Yz65mlROrfd+Ev+1+7dz9Kw==} + dev: false - kind-of@6.0.3: {} + /kind-of@6.0.3: + resolution: {integrity: sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==} + engines: {node: '>=0.10.0'} + dev: true - kleur@3.0.3: {} + /kleur@3.0.3: + resolution: {integrity: sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==} + engines: {node: '>=6'} + dev: true - kolorist@1.8.0: {} + /kolorist@1.8.0: + resolution: {integrity: sha512-Y+60/zizpJ3HRH8DCss+q95yr6145JXZo46OTpFvDZWLfRCE4qChOyk1b26nMaNpfHHgxagk9dXT5OP0Tfe+dQ==} + dev: true - ky@0.30.0: {} + /ky@0.30.0: + resolution: {integrity: sha512-X/u76z4JtDVq10u1JA5UQfatPxgPaVDMYTrgHyiTpGN2z4TMEJkIHsoSBBSg9SWZEIXTKsi9kHgiQ9o3Y/4yog==} + engines: {node: '>=12'} + dev: true - langium-cli@3.0.3: + /langium-cli@3.0.3: + resolution: {integrity: sha512-g6PdhEq5IiYWK/oiySILglPvFdK6ofQdzC+U7PJmFH++bDKu0DGdxjWzDauUN5WUDyVQETWKgtYDmmbcxPzN0w==} + engines: {node: '>=16.0.0'} + hasBin: true dependencies: chalk: 5.3.0 commander: 11.0.0 @@ -15090,13 +11076,18 @@ snapshots: langium: 3.0.0 langium-railroad: 3.0.0 lodash: 4.17.21 + dev: true - langium-railroad@3.0.0: + /langium-railroad@3.0.0: + resolution: {integrity: sha512-GQOnQBGl5gJqzgK/4bKvJO5QhJGNnprpYH6Fghbl4FviVLHwP6yzyqiouDelLSoCadChCr2JqKaBp5HXv7CgWw==} dependencies: langium: 3.0.0 railroad-diagrams: 1.0.0 + dev: true - langium@3.0.0: + /langium@3.0.0: + resolution: {integrity: sha512-+Ez9EoiByeoTu/2BXmEaZ06iPNXM6thWJp02KfBO/raSMyCJ4jw7AkWWa+zBCTm0+Tw1Fj9FOxdqSskyN5nAwg==} + engines: {node: '>=16.0.0'} dependencies: chevrotain: 11.0.3 chevrotain-allstar: 0.3.1(chevrotain@11.0.3) @@ -15104,42 +11095,70 @@ snapshots: vscode-languageserver-textdocument: 1.0.11 vscode-uri: 3.0.8 - launch-editor@2.6.1: + /launch-editor@2.6.1: + resolution: {integrity: sha512-eB/uXmFVpY4zezmGp5XtU21kwo7GBbKB+EQ+UZeWtGb9yAM5xt/Evk+lYH3eRNAtId+ej4u7TYPFZ07w4s7rRw==} dependencies: picocolors: 1.0.1 shell-quote: 1.8.1 + dev: true - layout-base@1.0.2: {} + /layout-base@1.0.2: + resolution: {integrity: sha512-8h2oVEZNktL4BH2JCOI90iD1yXwL6iNW7KcCKT2QZgQJR2vbqDsldCTPRU9NifTCqHZci57XvQQ15YTu+sTYPg==} + dev: false - lazy-ass@1.6.0: {} + /lazy-ass@1.6.0: + resolution: {integrity: sha512-cc8oEVoctTvsFZ/Oje/kGnHbpWHYBe8IAJe4C0QNc3t8uM/0Y8+erSz/7Y1ALuXTEZTMvxXwO6YbX1ey3ujiZw==} + engines: {node: '> 0.8'} + dev: true - leven@3.1.0: {} + /leven@3.1.0: + resolution: {integrity: sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==} + engines: {node: '>=6'} + dev: true - levn@0.4.1: + /levn@0.4.1: + resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} + engines: {node: '>= 0.8.0'} dependencies: prelude-ls: 1.2.1 type-check: 0.4.0 + dev: true - lex-parser@0.1.4: {} + /lex-parser@0.1.4: + resolution: {integrity: sha512-DuAEISsr1H4LOpmFLkyMc8YStiRWZCO8hMsoXAXSbgyfvs2WQhSt0+/FBv3ZU/JBFZMGcE+FWzEBSzwUU7U27w==} + dev: true - light-my-request@4.12.0: + /light-my-request@4.12.0: + resolution: {integrity: sha512-0y+9VIfJEsPVzK5ArSIJ8Dkxp8QMP7/aCuxCUtG/tr9a2NoOf/snATE/OUc05XUplJCEnRh6gTkH7xh9POt1DQ==} dependencies: ajv: 8.16.0 cookie: 0.5.0 process-warning: 1.0.0 set-cookie-parser: 2.6.0 + dev: true - lilconfig@2.1.0: {} + /lilconfig@2.1.0: + resolution: {integrity: sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==} + engines: {node: '>=10'} + dev: false - lilconfig@3.1.2: {} + /lilconfig@3.1.2: + resolution: {integrity: sha512-eop+wDAvpItUys0FWkHIKeC9ybYrTGbU41U5K7+bttZZeohvnY7M9dZ5kB21GNWiFT2q1OoPTvncPCgSOVO5ow==} + engines: {node: '>=14'} - lines-and-columns@1.2.4: {} + /lines-and-columns@1.2.4: + resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} - linkify-it@4.0.1: + /linkify-it@4.0.1: + resolution: {integrity: sha512-C7bfi1UZmoj8+PQx22XyeXCuBlokoyWQL5pWSP+EI6nzRylyThouddufc2c1NDIcP9k5agmN9fLpA7VNJfIiqw==} dependencies: uc.micro: 1.0.6 + dev: true - lint-staged@15.2.7: + /lint-staged@15.2.7: + resolution: {integrity: sha512-+FdVbbCZ+yoh7E/RosSdqKJyUM2OEjTciH0TFNkawKgvFp1zbGlEC39RADg+xKBG1R4mhoH2j85myBQZ5wR+lw==} + engines: {node: '>=18.12.0'} + hasBin: true dependencies: chalk: 5.3.0 commander: 12.1.0 @@ -15153,21 +11172,31 @@ snapshots: yaml: 2.4.5 transitivePeerDependencies: - supports-color + dev: true - listr2@3.14.0(enquirer@2.4.1): + /listr2@3.14.0(enquirer@2.4.1): + resolution: {integrity: sha512-TyWI8G99GX9GjE54cJ+RrNMcIFBfwMPxc3XTFiAYGN4s10hWROGtOg7+O6u6LE3mNkyld7RSLE6nrKBvTfcs3g==} + engines: {node: '>=10.0.0'} + peerDependencies: + enquirer: '>= 2.3.0 < 3' + peerDependenciesMeta: + enquirer: + optional: true dependencies: cli-truncate: 2.1.0 colorette: 2.0.20 + enquirer: 2.4.1 log-update: 4.0.0 p-map: 4.0.0 rfdc: 1.4.1 rxjs: 7.8.1 through: 2.3.8 wrap-ansi: 7.0.0 - optionalDependencies: - enquirer: 2.4.1 + dev: true - listr2@8.2.1: + /listr2@8.2.1: + resolution: {integrity: sha512-irTfvpib/rNiD637xeevjO2l3Z5loZmuaRi0L0YE5LfijwVY96oyVn0DFD3o/teAok7nfobMG1THvvcHh/BP6g==} + engines: {node: '>=18.0.0'} dependencies: cli-truncate: 4.0.0 colorette: 2.0.20 @@ -15175,151 +11204,249 @@ snapshots: log-update: 6.0.0 rfdc: 1.4.1 wrap-ansi: 9.0.0 + dev: true - loader-runner@4.3.0: {} + /loader-runner@4.3.0: + resolution: {integrity: sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==} + engines: {node: '>=6.11.5'} + dev: true - local-pkg@0.4.3: {} + /local-pkg@0.4.3: + resolution: {integrity: sha512-SFppqq5p42fe2qcZQqqEOiVRXl+WCP1MdT6k7BDEW1j++sp5fIY+/fdRQitvKgB5BrBcmrs5m/L0v2FrU5MY1g==} + engines: {node: '>=14'} + dev: true - local-pkg@0.5.0: + /local-pkg@0.5.0: + resolution: {integrity: sha512-ok6z3qlYyCDS4ZEU27HaU6x/xZa9Whf8jD4ptH5UZTQYZVYeb9bnZ3ojVhiJNLiXK1Hfc0GNbLXcmZ5plLDDBg==} + engines: {node: '>=14'} dependencies: mlly: 1.7.1 pkg-types: 1.1.1 + dev: true - locate-path@3.0.0: + /locate-path@3.0.0: + resolution: {integrity: sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==} + engines: {node: '>=6'} dependencies: p-locate: 3.0.0 path-exists: 3.0.0 + dev: true - locate-path@5.0.0: + /locate-path@5.0.0: + resolution: {integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==} + engines: {node: '>=8'} dependencies: p-locate: 4.1.0 + dev: true - locate-path@6.0.0: + /locate-path@6.0.0: + resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} + engines: {node: '>=10'} dependencies: p-locate: 5.0.0 + dev: true - locate-path@7.2.0: + /locate-path@7.2.0: + resolution: {integrity: sha512-gvVijfZvn7R+2qyPX8mAuKcFGDf6Nc61GdvGafQsHL0sBIxfKzA+usWn4GFC/bk+QdwPUD4kWFJLhElipq+0VA==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dependencies: p-locate: 6.0.0 + dev: true - lodash-es@4.17.21: {} + /lodash-es@4.17.21: + resolution: {integrity: sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==} - lodash.debounce@4.0.8: {} + /lodash.debounce@4.0.8: + resolution: {integrity: sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==} + dev: true - lodash.flattendeep@4.4.0: {} + /lodash.flattendeep@4.4.0: + resolution: {integrity: sha512-uHaJFihxmJcEX3kT4I23ABqKKalJ/zDrDg0lsFtc1h+3uw49SIJ5beyhx5ExVRti3AvKoOJngIj7xz3oylPdWQ==} + dev: true - lodash.isplainobject@4.0.6: {} + /lodash.isplainobject@4.0.6: + resolution: {integrity: sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==} + dev: true - lodash.merge@4.6.2: {} + /lodash.merge@4.6.2: + resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} + dev: true - lodash.once@4.1.1: {} + /lodash.once@4.1.1: + resolution: {integrity: sha512-Sb487aTOCr9drQVL8pIxOzVhafOjZN9UU54hiN8PU3uAiSV7lx1yYNpbNmex2PK6dSJoNTSJUUswT651yww3Mg==} + dev: true - lodash.sortby@4.7.0: {} + /lodash.sortby@4.7.0: + resolution: {integrity: sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA==} + dev: true - lodash@4.17.21: {} + /lodash@4.17.21: + resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} - log-symbols@4.1.0: + /log-symbols@4.1.0: + resolution: {integrity: sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==} + engines: {node: '>=10'} dependencies: chalk: 4.1.2 is-unicode-supported: 0.1.0 + dev: true - log-update@4.0.0: + /log-update@4.0.0: + resolution: {integrity: sha512-9fkkDevMefjg0mmzWFBW8YkFP91OrizzkW3diF7CpG+S2EYdy4+TVfGwz1zeF8x7hCx1ovSPTOE9Ngib74qqUg==} + engines: {node: '>=10'} dependencies: ansi-escapes: 4.3.2 cli-cursor: 3.1.0 slice-ansi: 4.0.0 wrap-ansi: 6.2.0 + dev: true - log-update@6.0.0: + /log-update@6.0.0: + resolution: {integrity: sha512-niTvB4gqvtof056rRIrTZvjNYE4rCUzO6X/X+kYjd7WFxXeJ0NwEFnRxX6ehkvv3jTwrXnNdtAak5XYZuIyPFw==} + engines: {node: '>=18'} dependencies: ansi-escapes: 6.2.1 cli-cursor: 4.0.0 slice-ansi: 7.1.0 strip-ansi: 7.1.0 wrap-ansi: 9.0.0 + dev: true - loglevel-plugin-prefix@0.8.4: {} + /loglevel-plugin-prefix@0.8.4: + resolution: {integrity: sha512-WpG9CcFAOjz/FtNht+QJeGpvVl/cdR6P0z6OcXSkr8wFJOsV2GRj2j10JLfjuA4aYkcKCNIEqRGCyTife9R8/g==} + dev: true - loglevel@1.9.1: {} + /loglevel@1.9.1: + resolution: {integrity: sha512-hP3I3kCrDIMuRwAwHltphhDM1r8i55H33GgqjXbrisuJhF4kRhW1dNuxsRklp4bXl8DSdLaNLuiL4A/LWRfxvg==} + engines: {node: '>= 0.6.0'} + dev: true - longest-streak@3.1.0: {} + /longest-streak@3.1.0: + resolution: {integrity: sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g==} + dev: true - loupe@2.3.7: + /loupe@2.3.7: + resolution: {integrity: sha512-zSMINGVYkdpYSOBmLi0D1Uo7JU9nVdQKrHxC8eYlV+9YKK9WePqAlL7lSlorG/U2Fw1w0hTBmaa/jrQ3UbPHtA==} dependencies: get-func-name: 2.0.2 + dev: true - lowercase-keys@2.0.0: {} + /lowercase-keys@2.0.0: + resolution: {integrity: sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==} + engines: {node: '>=8'} + dev: true - lru-cache@10.2.2: {} + /lru-cache@10.2.2: + resolution: {integrity: sha512-9hp3Vp2/hFQUiIwKo8XCeFVnrg8Pk3TYNPIR7tJADKi5YfcF7vEaK7avFHTlSy3kOKYaJQaalfEo6YuXdceBOQ==} + engines: {node: 14 || >=16.14} - lru-cache@5.1.1: + /lru-cache@5.1.1: + resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==} dependencies: yallist: 3.1.1 + dev: true - lru-cache@6.0.0: + /lru-cache@6.0.0: + resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==} + engines: {node: '>=10'} dependencies: yallist: 4.0.0 + dev: true - lru-queue@0.1.0: + /lru-queue@0.1.0: + resolution: {integrity: sha512-BpdYkt9EvGl8OfWHDQPISVpcl5xZthb+XPsbELj5AQXxIC8IriDZIQYjBJPEm5rS420sjZ0TLEzRcq5KdBhYrQ==} dependencies: es5-ext: 0.10.64 + dev: true - lunr@2.3.9: {} + /lunr@2.3.9: + resolution: {integrity: sha512-zTU3DaZaF3Rt9rhN3uBMGQD3dD2/vFQqnvZCDv4dl5iOzq2IZQqTxu90r4E5J+nP70J3ilqVCrbho2eWaeW8Ow==} + dev: true - magic-string@0.25.9: + /magic-string@0.25.9: + resolution: {integrity: sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==} dependencies: sourcemap-codec: 1.4.8 + dev: true - magic-string@0.30.10: + /magic-string@0.30.10: + resolution: {integrity: sha512-iIRwTIf0QKV3UAnYK4PU8uiEc4SRh5jX0mwpIwETPpHdhVM4f53RSwS/vXvN1JhGX+Cs7B8qIq3d6AH49O5fAQ==} dependencies: '@jridgewell/sourcemap-codec': 1.4.15 - magicast@0.3.4: + /magicast@0.3.4: + resolution: {integrity: sha512-TyDF/Pn36bBji9rWKHlZe+PZb6Mx5V8IHCSxk7X4aljM4e/vyDvZZYwHewdVaqiA0nb3ghfHU/6AUpDxWoER2Q==} dependencies: '@babel/parser': 7.24.7 '@babel/types': 7.24.7 source-map-js: 1.2.0 + dev: true - make-dir@3.1.0: + /make-dir@3.1.0: + resolution: {integrity: sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==} + engines: {node: '>=8'} dependencies: semver: 6.3.1 + dev: true - make-dir@4.0.0: + /make-dir@4.0.0: + resolution: {integrity: sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==} + engines: {node: '>=10'} dependencies: semver: 7.6.2 + dev: true - makeerror@1.0.12: + /makeerror@1.0.12: + resolution: {integrity: sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==} dependencies: tmpl: 1.0.5 + dev: true - map-stream@0.1.0: {} + /map-stream@0.1.0: + resolution: {integrity: sha512-CkYQrPYZfWnu/DAmVCpTSX/xHpKZ80eKh2lAkyA6AJTef6bW+6JpbQZN5rofum7da+SyN1bi5ctTm+lTfcCW3g==} + dev: true - mark.js@8.11.1: {} + /mark.js@8.11.1: + resolution: {integrity: sha512-1I+1qpDt4idfgLQG+BNWmrqku+7/2bi5nLf4YwF8y8zXvmfiTBY3PV3ZibfrjBueCByROpuBjLLFCajqkgYoLQ==} + dev: true - markdown-it@13.0.2: + /markdown-it@13.0.2: + resolution: {integrity: sha512-FtwnEuuK+2yVU7goGn/MJ0WBZMM9ZPgU9spqlFs7/A/pDIUNSOQZhUgOqYCficIuR2QaFnrt8LHqBWsbTAoI5w==} + hasBin: true dependencies: argparse: 2.0.1 entities: 3.0.1 linkify-it: 4.0.1 mdurl: 1.0.1 uc.micro: 1.0.6 + dev: true - markdown-table@3.0.3: {} + /markdown-table@3.0.3: + resolution: {integrity: sha512-Z1NL3Tb1M9wH4XESsCDEksWoKTdlUafKc4pt0GRwjUyXaCFZ+dc3g2erqB6zm3szA2IUSi7VnPI+o/9jnxh9hw==} + dev: true - marked@4.3.0: {} + /marked@4.3.0: + resolution: {integrity: sha512-PRsaiG84bK+AMvxziE/lCFss8juXjNaWzVbN5tXAm4XjeaS9NAHhop+PjQxz2A9h8Q4M/xGmzP8vqNwy6JeK0A==} + engines: {node: '>= 12'} + hasBin: true - mdast-builder@1.1.1: + /mdast-builder@1.1.1: + resolution: {integrity: sha512-a3KBk/LmYD6wKsWi8WJrGU/rXR4yuF4Men0JO0z6dSZCm5FrXXWTRDjqK0vGSqa+1M6p9edeuypZAZAzSehTUw==} dependencies: '@types/unist': 2.0.10 + dev: true - mdast-util-find-and-replace@3.0.1: + /mdast-util-find-and-replace@3.0.1: + resolution: {integrity: sha512-SG21kZHGC3XRTSUhtofZkBzZTJNM5ecCi0SK2IMKmSXR8vO3peL+kb1O0z7Zl83jKtutG4k5Wv/W7V3/YHvzPA==} dependencies: '@types/mdast': 4.0.4 escape-string-regexp: 5.0.0 unist-util-is: 6.0.0 unist-util-visit-parents: 6.0.1 + dev: true - mdast-util-from-markdown@0.8.5: + /mdast-util-from-markdown@0.8.5: + resolution: {integrity: sha512-2hkTXtYYnr+NubD/g6KGBS/0mFmBcifAsI0yIWRiRo0PjVs6SSOSOdtzbp6kSGnShDN6G5aWZpKQ2lWRy27mWQ==} dependencies: '@types/mdast': 3.0.15 mdast-util-to-string: 2.0.0 @@ -15328,8 +11455,10 @@ snapshots: unist-util-stringify-position: 2.0.3 transitivePeerDependencies: - supports-color + dev: true - mdast-util-from-markdown@2.0.1: + /mdast-util-from-markdown@2.0.1: + resolution: {integrity: sha512-aJEUyzZ6TzlsX2s5B4Of7lN7EQtAxvtradMMglCQDyaTFgse6CmtmdJ15ElnVRlCg1vpNyVtbem0PWzlNieZsA==} dependencies: '@types/mdast': 4.0.4 '@types/unist': 3.0.2 @@ -15346,7 +11475,8 @@ snapshots: transitivePeerDependencies: - supports-color - mdast-util-frontmatter@2.0.1: + /mdast-util-frontmatter@2.0.1: + resolution: {integrity: sha512-LRqI9+wdgC25P0URIJY9vwocIzCcksduHQ9OF2joxQoyTNVduwLAFUzjoopuRJbJAReaKrNQKAZKL3uCMugWJA==} dependencies: '@types/mdast': 4.0.4 devlop: 1.1.0 @@ -15356,16 +11486,20 @@ snapshots: micromark-extension-frontmatter: 2.0.0 transitivePeerDependencies: - supports-color + dev: true - mdast-util-gfm-autolink-literal@2.0.0: + /mdast-util-gfm-autolink-literal@2.0.0: + resolution: {integrity: sha512-FyzMsduZZHSc3i0Px3PQcBT4WJY/X/RCtEJKuybiC6sjPqLv7h1yqAkmILZtuxMSsUyaLUWNp71+vQH2zqp5cg==} dependencies: '@types/mdast': 4.0.4 ccount: 2.0.1 devlop: 1.1.0 mdast-util-find-and-replace: 3.0.1 micromark-util-character: 2.1.0 + dev: true - mdast-util-gfm-footnote@2.0.0: + /mdast-util-gfm-footnote@2.0.0: + resolution: {integrity: sha512-5jOT2boTSVkMnQ7LTrd6n/18kqwjmuYqo7JUPe+tRCY6O7dAuTFMtTPauYYrMPpox9hlN0uOx/FL8XvEfG9/mQ==} dependencies: '@types/mdast': 4.0.4 devlop: 1.1.0 @@ -15374,16 +11508,20 @@ snapshots: micromark-util-normalize-identifier: 2.0.0 transitivePeerDependencies: - supports-color + dev: true - mdast-util-gfm-strikethrough@2.0.0: + /mdast-util-gfm-strikethrough@2.0.0: + resolution: {integrity: sha512-mKKb915TF+OC5ptj5bJ7WFRPdYtuHv0yTRxK2tJvi+BDqbkiG7h7u/9SI89nRAYcmap2xHQL9D+QG/6wSrTtXg==} dependencies: '@types/mdast': 4.0.4 mdast-util-from-markdown: 2.0.1 mdast-util-to-markdown: 2.1.0 transitivePeerDependencies: - supports-color + dev: true - mdast-util-gfm-table@2.0.0: + /mdast-util-gfm-table@2.0.0: + resolution: {integrity: sha512-78UEvebzz/rJIxLvE7ZtDd/vIQ0RHv+3Mh5DR96p7cS7HsBhYIICDBCu8csTNWNO6tBWfqXPWekRuj2FNOGOZg==} dependencies: '@types/mdast': 4.0.4 devlop: 1.1.0 @@ -15392,8 +11530,10 @@ snapshots: mdast-util-to-markdown: 2.1.0 transitivePeerDependencies: - supports-color + dev: true - mdast-util-gfm-task-list-item@2.0.0: + /mdast-util-gfm-task-list-item@2.0.0: + resolution: {integrity: sha512-IrtvNvjxC1o06taBAVJznEnkiHxLFTzgonUdy8hzFVeDun0uTjxxrRGVaNFqkU1wJR3RBPEfsxmU6jDWPofrTQ==} dependencies: '@types/mdast': 4.0.4 devlop: 1.1.0 @@ -15401,8 +11541,10 @@ snapshots: mdast-util-to-markdown: 2.1.0 transitivePeerDependencies: - supports-color + dev: true - mdast-util-gfm@3.0.0: + /mdast-util-gfm@3.0.0: + resolution: {integrity: sha512-dgQEX5Amaq+DuUqf26jJqSK9qgixgd6rYDHAv4aTBuA92cTknZlKpPfa86Z/s8Dj8xsAQpFfBmPUHWJBWqS4Bw==} dependencies: mdast-util-from-markdown: 2.0.1 mdast-util-gfm-autolink-literal: 2.0.0 @@ -15413,13 +11555,17 @@ snapshots: mdast-util-to-markdown: 2.1.0 transitivePeerDependencies: - supports-color + dev: true - mdast-util-phrasing@4.1.0: + /mdast-util-phrasing@4.1.0: + resolution: {integrity: sha512-TqICwyvJJpBwvGAMZjj4J2n0X8QWp21b9l0o7eXyVJ25YNWYbJDVIyD1bZXE6WtV6RmKJVYmQAKWa0zWOABz2w==} dependencies: '@types/mdast': 4.0.4 unist-util-is: 6.0.0 + dev: true - mdast-util-to-markdown@2.1.0: + /mdast-util-to-markdown@2.1.0: + resolution: {integrity: sha512-SR2VnIEdVNCJbP6y7kVTJgPLifdr8WEU440fQec7qHoHOUz/oJ2jmNRqdDQ3rbiStOXb2mCDGTuwsK5OPUgYlQ==} dependencies: '@types/mdast': 4.0.4 '@types/unist': 3.0.2 @@ -15429,26 +11575,44 @@ snapshots: micromark-util-decode-string: 2.0.0 unist-util-visit: 5.0.0 zwitch: 2.0.4 + dev: true - mdast-util-to-string@2.0.0: {} + /mdast-util-to-string@2.0.0: + resolution: {integrity: sha512-AW4DRS3QbBayY/jJmD8437V1Gombjf8RSOUCMFBuo5iHi58AGEgVCKQ+ezHkZZDpAQS75hcBMpLqjpJTjtUL7w==} + dev: true - mdast-util-to-string@4.0.0: + /mdast-util-to-string@4.0.0: + resolution: {integrity: sha512-0H44vDimn51F0YwvxSJSm0eCDOJTRlmN0R1yBh4HLj9wiV1Dn0QoXGbvFAWj2hSItVTlCmBF1hqKlIyUBVFLPg==} dependencies: '@types/mdast': 4.0.4 - mdn-data@2.0.30: {} + /mdn-data@2.0.30: + resolution: {integrity: sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==} + dev: true - mdn-data@2.1.0: {} + /mdn-data@2.1.0: + resolution: {integrity: sha512-dbAWH6A+2NGuVJlQFrTKHJc07Vqn5frnhyTOGz+7BsK7V2hHdoBcwoiyV3QVhLHYpM/zqe2OSUn5ZWbVXLBB8A==} + dev: true - mdurl@1.0.1: {} + /mdurl@1.0.1: + resolution: {integrity: sha512-/sKlQJCBYVY9Ers9hqzKou4H6V5UWc/M59TH2dvkt+84itfnq7uFOMLpOiOS4ujvHP4etln18fmIxA5R5fll0g==} + dev: true - media-typer@0.3.0: {} + /media-typer@0.3.0: + resolution: {integrity: sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==} + engines: {node: '>= 0.6'} + dev: true - memfs@3.5.3: + /memfs@3.5.3: + resolution: {integrity: sha512-UERzLsxzllchadvbPs5aolHh65ISpKpM+ccLbOJ8/vvpBKmAWf+la7dXFy7Mr0ySHbdHrFv5kGFCUHHe6GFEmw==} + engines: {node: '>= 4.0.0'} dependencies: fs-monkey: 1.0.6 + dev: true - memoizee@0.4.17: + /memoizee@0.4.17: + resolution: {integrity: sha512-DGqD7Hjpi/1or4F/aYAspXKNm5Yili0QDAFAY4QYvpqpgiY6+1jOfqpmByzjxbWd/T9mChbCArXAbDAsTm5oXA==} + engines: {node: '>=0.12'} dependencies: d: 1.0.2 es5-ext: 0.10.64 @@ -15458,18 +11622,32 @@ snapshots: lru-queue: 0.1.0 next-tick: 1.1.0 timers-ext: 0.1.8 + dev: true - meow@12.1.1: {} + /meow@12.1.1: + resolution: {integrity: sha512-BhXM0Au22RwUneMPwSCnyhTOizdWoIEPU9sp0Aqa1PnDMR5Wv2FGXYDjuzJEIX+Eo2Rb8xuYe5jrnm5QowQFkw==} + engines: {node: '>=16.10'} + dev: true - merge-descriptors@1.0.1: {} + /merge-descriptors@1.0.1: + resolution: {integrity: sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==} + dev: true - merge-stream@2.0.0: {} + /merge-stream@2.0.0: + resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} + dev: true - merge2@1.4.1: {} + /merge2@1.4.1: + resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} + engines: {node: '>= 8'} - methods@1.1.2: {} + /methods@1.1.2: + resolution: {integrity: sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==} + engines: {node: '>= 0.6'} + dev: true - micromark-core-commonmark@2.0.1: + /micromark-core-commonmark@2.0.1: + resolution: {integrity: sha512-CUQyKr1e///ZODyD1U3xit6zXwy1a8q2a1S1HKtIlmgvurrEpaw/Y9y6KSIbF8P59cn/NjzHyO+Q2fAyYLQrAA==} dependencies: decode-named-character-reference: 1.0.2 devlop: 1.1.0 @@ -15488,21 +11666,26 @@ snapshots: micromark-util-symbol: 2.0.0 micromark-util-types: 2.0.0 - micromark-extension-frontmatter@2.0.0: + /micromark-extension-frontmatter@2.0.0: + resolution: {integrity: sha512-C4AkuM3dA58cgZha7zVnuVxBhDsbttIMiytjgsM2XbHAB2faRVaHRle40558FBN+DJcrLNCoqG5mlrpdU4cRtg==} dependencies: fault: 2.0.1 micromark-util-character: 2.1.0 micromark-util-symbol: 2.0.0 micromark-util-types: 2.0.0 + dev: true - micromark-extension-gfm-autolink-literal@2.0.0: + /micromark-extension-gfm-autolink-literal@2.0.0: + resolution: {integrity: sha512-rTHfnpt/Q7dEAK1Y5ii0W8bhfJlVJFnJMHIPisfPK3gpVNuOP0VnRl96+YJ3RYWV/P4gFeQoGKNlT3RhuvpqAg==} dependencies: micromark-util-character: 2.1.0 micromark-util-sanitize-uri: 2.0.0 micromark-util-symbol: 2.0.0 micromark-util-types: 2.0.0 + dev: true - micromark-extension-gfm-footnote@2.0.0: + /micromark-extension-gfm-footnote@2.0.0: + resolution: {integrity: sha512-6Rzu0CYRKDv3BfLAUnZsSlzx3ak6HAoI85KTiijuKIz5UxZxbUI+pD6oHgw+6UtQuiRwnGRhzMmPRv4smcz0fg==} dependencies: devlop: 1.1.0 micromark-core-commonmark: 2.0.1 @@ -15512,8 +11695,10 @@ snapshots: micromark-util-sanitize-uri: 2.0.0 micromark-util-symbol: 2.0.0 micromark-util-types: 2.0.0 + dev: true - micromark-extension-gfm-strikethrough@2.0.0: + /micromark-extension-gfm-strikethrough@2.0.0: + resolution: {integrity: sha512-c3BR1ClMp5fxxmwP6AoOY2fXO9U8uFMKs4ADD66ahLTNcwzSCyRVU4k7LPV5Nxo/VJiR4TdzxRQY2v3qIUceCw==} dependencies: devlop: 1.1.0 micromark-util-chunked: 2.0.0 @@ -15521,28 +11706,36 @@ snapshots: micromark-util-resolve-all: 2.0.0 micromark-util-symbol: 2.0.0 micromark-util-types: 2.0.0 + dev: true - micromark-extension-gfm-table@2.0.0: + /micromark-extension-gfm-table@2.0.0: + resolution: {integrity: sha512-PoHlhypg1ItIucOaHmKE8fbin3vTLpDOUg8KAr8gRCF1MOZI9Nquq2i/44wFvviM4WuxJzc3demT8Y3dkfvYrw==} dependencies: devlop: 1.1.0 micromark-factory-space: 2.0.0 micromark-util-character: 2.1.0 micromark-util-symbol: 2.0.0 micromark-util-types: 2.0.0 + dev: true - micromark-extension-gfm-tagfilter@2.0.0: + /micromark-extension-gfm-tagfilter@2.0.0: + resolution: {integrity: sha512-xHlTOmuCSotIA8TW1mDIM6X2O1SiX5P9IuDtqGonFhEK0qgRI4yeC6vMxEV2dgyr2TiD+2PQ10o+cOhdVAcwfg==} dependencies: micromark-util-types: 2.0.0 + dev: true - micromark-extension-gfm-task-list-item@2.0.1: + /micromark-extension-gfm-task-list-item@2.0.1: + resolution: {integrity: sha512-cY5PzGcnULaN5O7T+cOzfMoHjBW7j+T9D2sucA5d/KbsBTPcYdebm9zUd9zzdgJGCwahV+/W78Z3nbulBYVbTw==} dependencies: devlop: 1.1.0 micromark-factory-space: 2.0.0 micromark-util-character: 2.1.0 micromark-util-symbol: 2.0.0 micromark-util-types: 2.0.0 + dev: true - micromark-extension-gfm@3.0.0: + /micromark-extension-gfm@3.0.0: + resolution: {integrity: sha512-vsKArQsicm7t0z2GugkCKtZehqUm31oeGBV/KVSorWSy8ZlNAv7ytjFhvaryUiCUJYqs+NoE6AFhpQvBTM6Q4w==} dependencies: micromark-extension-gfm-autolink-literal: 2.0.0 micromark-extension-gfm-footnote: 2.0.0 @@ -15552,107 +11745,130 @@ snapshots: micromark-extension-gfm-task-list-item: 2.0.1 micromark-util-combine-extensions: 2.0.0 micromark-util-types: 2.0.0 + dev: true - micromark-factory-destination@2.0.0: + /micromark-factory-destination@2.0.0: + resolution: {integrity: sha512-j9DGrQLm/Uhl2tCzcbLhy5kXsgkHUrjJHg4fFAeoMRwJmJerT9aw4FEhIbZStWN8A3qMwOp1uzHr4UL8AInxtA==} dependencies: micromark-util-character: 2.1.0 micromark-util-symbol: 2.0.0 micromark-util-types: 2.0.0 - micromark-factory-label@2.0.0: + /micromark-factory-label@2.0.0: + resolution: {integrity: sha512-RR3i96ohZGde//4WSe/dJsxOX6vxIg9TimLAS3i4EhBAFx8Sm5SmqVfR8E87DPSR31nEAjZfbt91OMZWcNgdZw==} dependencies: devlop: 1.1.0 micromark-util-character: 2.1.0 micromark-util-symbol: 2.0.0 micromark-util-types: 2.0.0 - micromark-factory-space@2.0.0: + /micromark-factory-space@2.0.0: + resolution: {integrity: sha512-TKr+LIDX2pkBJXFLzpyPyljzYK3MtmllMUMODTQJIUfDGncESaqB90db9IAUcz4AZAJFdd8U9zOp9ty1458rxg==} dependencies: micromark-util-character: 2.1.0 micromark-util-types: 2.0.0 - micromark-factory-title@2.0.0: + /micromark-factory-title@2.0.0: + resolution: {integrity: sha512-jY8CSxmpWLOxS+t8W+FG3Xigc0RDQA9bKMY/EwILvsesiRniiVMejYTE4wumNc2f4UbAa4WsHqe3J1QS1sli+A==} dependencies: micromark-factory-space: 2.0.0 micromark-util-character: 2.1.0 micromark-util-symbol: 2.0.0 micromark-util-types: 2.0.0 - micromark-factory-whitespace@2.0.0: + /micromark-factory-whitespace@2.0.0: + resolution: {integrity: sha512-28kbwaBjc5yAI1XadbdPYHX/eDnqaUFVikLwrO7FDnKG7lpgxnvk/XGRhX/PN0mOZ+dBSZ+LgunHS+6tYQAzhA==} dependencies: micromark-factory-space: 2.0.0 micromark-util-character: 2.1.0 micromark-util-symbol: 2.0.0 micromark-util-types: 2.0.0 - micromark-util-character@2.1.0: + /micromark-util-character@2.1.0: + resolution: {integrity: sha512-KvOVV+X1yLBfs9dCBSopq/+G1PcgT3lAK07mC4BzXi5E7ahzMAF8oIupDDJ6mievI6F+lAATkbQQlQixJfT3aQ==} dependencies: micromark-util-symbol: 2.0.0 micromark-util-types: 2.0.0 - micromark-util-chunked@2.0.0: + /micromark-util-chunked@2.0.0: + resolution: {integrity: sha512-anK8SWmNphkXdaKgz5hJvGa7l00qmcaUQoMYsBwDlSKFKjc6gjGXPDw3FNL3Nbwq5L8gE+RCbGqTw49FK5Qyvg==} dependencies: micromark-util-symbol: 2.0.0 - micromark-util-classify-character@2.0.0: + /micromark-util-classify-character@2.0.0: + resolution: {integrity: sha512-S0ze2R9GH+fu41FA7pbSqNWObo/kzwf8rN/+IGlW/4tC6oACOs8B++bh+i9bVyNnwCcuksbFwsBme5OCKXCwIw==} dependencies: micromark-util-character: 2.1.0 micromark-util-symbol: 2.0.0 micromark-util-types: 2.0.0 - micromark-util-combine-extensions@2.0.0: + /micromark-util-combine-extensions@2.0.0: + resolution: {integrity: sha512-vZZio48k7ON0fVS3CUgFatWHoKbbLTK/rT7pzpJ4Bjp5JjkZeasRfrS9wsBdDJK2cJLHMckXZdzPSSr1B8a4oQ==} dependencies: micromark-util-chunked: 2.0.0 micromark-util-types: 2.0.0 - micromark-util-decode-numeric-character-reference@2.0.1: + /micromark-util-decode-numeric-character-reference@2.0.1: + resolution: {integrity: sha512-bmkNc7z8Wn6kgjZmVHOX3SowGmVdhYS7yBpMnuMnPzDq/6xwVA604DuOXMZTO1lvq01g+Adfa0pE2UKGlxL1XQ==} dependencies: micromark-util-symbol: 2.0.0 - micromark-util-decode-string@2.0.0: + /micromark-util-decode-string@2.0.0: + resolution: {integrity: sha512-r4Sc6leeUTn3P6gk20aFMj2ntPwn6qpDZqWvYmAG6NgvFTIlj4WtrAudLi65qYoaGdXYViXYw2pkmn7QnIFasA==} dependencies: decode-named-character-reference: 1.0.2 micromark-util-character: 2.1.0 micromark-util-decode-numeric-character-reference: 2.0.1 micromark-util-symbol: 2.0.0 - micromark-util-encode@2.0.0: {} + /micromark-util-encode@2.0.0: + resolution: {integrity: sha512-pS+ROfCXAGLWCOc8egcBvT0kf27GoWMqtdarNfDcjb6YLuV5cM3ioG45Ys2qOVqeqSbjaKg72vU+Wby3eddPsA==} - micromark-util-html-tag-name@2.0.0: {} + /micromark-util-html-tag-name@2.0.0: + resolution: {integrity: sha512-xNn4Pqkj2puRhKdKTm8t1YHC/BAjx6CEwRFXntTaRf/x16aqka6ouVoutm+QdkISTlT7e2zU7U4ZdlDLJd2Mcw==} - micromark-util-normalize-identifier@2.0.0: + /micromark-util-normalize-identifier@2.0.0: + resolution: {integrity: sha512-2xhYT0sfo85FMrUPtHcPo2rrp1lwbDEEzpx7jiH2xXJLqBuy4H0GgXk5ToU8IEwoROtXuL8ND0ttVa4rNqYK3w==} dependencies: micromark-util-symbol: 2.0.0 - micromark-util-resolve-all@2.0.0: + /micromark-util-resolve-all@2.0.0: + resolution: {integrity: sha512-6KU6qO7DZ7GJkaCgwBNtplXCvGkJToU86ybBAUdavvgsCiG8lSSvYxr9MhwmQ+udpzywHsl4RpGJsYWG1pDOcA==} dependencies: micromark-util-types: 2.0.0 - micromark-util-sanitize-uri@2.0.0: + /micromark-util-sanitize-uri@2.0.0: + resolution: {integrity: sha512-WhYv5UEcZrbAtlsnPuChHUAsu/iBPOVaEVsntLBIdpibO0ddy8OzavZz3iL2xVvBZOpolujSliP65Kq0/7KIYw==} dependencies: micromark-util-character: 2.1.0 micromark-util-encode: 2.0.0 micromark-util-symbol: 2.0.0 - micromark-util-subtokenize@2.0.1: + /micromark-util-subtokenize@2.0.1: + resolution: {integrity: sha512-jZNtiFl/1aY73yS3UGQkutD0UbhTt68qnRpw2Pifmz5wV9h8gOVsN70v+Lq/f1rKaU/W8pxRe8y8Q9FX1AOe1Q==} dependencies: devlop: 1.1.0 micromark-util-chunked: 2.0.0 micromark-util-symbol: 2.0.0 micromark-util-types: 2.0.0 - micromark-util-symbol@2.0.0: {} + /micromark-util-symbol@2.0.0: + resolution: {integrity: sha512-8JZt9ElZ5kyTnO94muPxIGS8oyElRJaiJO8EzV6ZSyGQ1Is8xwl4Q45qU5UOg+bGH4AikWziz0iN4sFLWs8PGw==} - micromark-util-types@2.0.0: {} + /micromark-util-types@2.0.0: + resolution: {integrity: sha512-oNh6S2WMHWRZrmutsRmDDfkzKtxF+bc2VxLC9dvtrDIRFln627VsFP6fLMgTryGDljgLPjkrzQSDcPrjPyDJ5w==} - micromark@2.11.4: + /micromark@2.11.4: + resolution: {integrity: sha512-+WoovN/ppKolQOFIAajxi7Lu9kInbPxFuTBVEavFcL8eAfVstoc5MocPmqBeAdBOJV00uaVjegzH4+MA0DN/uA==} dependencies: debug: 4.3.5(supports-color@8.1.1) parse-entities: 2.0.0 transitivePeerDependencies: - supports-color + dev: true - micromark@4.0.0: + /micromark@4.0.0: + resolution: {integrity: sha512-o/sd0nMof8kYff+TqcDx3VSrgBTcZpSvYcAHIfHhv5VAuNmisCxjhx6YmxS8PFEpb9z5WKWKPdzf0jM23ro3RQ==} dependencies: '@types/debug': 4.1.12 debug: 4.3.5(supports-color@8.1.1) @@ -15674,156 +11890,288 @@ snapshots: transitivePeerDependencies: - supports-color - micromatch@4.0.7: + /micromatch@4.0.7: + resolution: {integrity: sha512-LPP/3KorzCwBxfeUuZmaR6bG2kdeHSbe0P2tY3FLRU4vYrjYz5hI4QZwV0njUx3jeuKe67YukQ1LSPZBKDqO/Q==} + engines: {node: '>=8.6'} dependencies: braces: 3.0.3 picomatch: 2.3.1 - mime-db@1.52.0: {} + /mime-db@1.52.0: + resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==} + engines: {node: '>= 0.6'} + dev: true - mime-types@2.1.35: + /mime-types@2.1.35: + resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==} + engines: {node: '>= 0.6'} dependencies: mime-db: 1.52.0 + dev: true - mime@1.6.0: {} + /mime@1.6.0: + resolution: {integrity: sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==} + engines: {node: '>=4'} + hasBin: true + dev: true - mimic-fn@2.1.0: {} + /mimic-fn@2.1.0: + resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==} + engines: {node: '>=6'} + dev: true - mimic-fn@4.0.0: {} + /mimic-fn@4.0.0: + resolution: {integrity: sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==} + engines: {node: '>=12'} + dev: true - mimic-response@1.0.1: {} + /mimic-response@1.0.1: + resolution: {integrity: sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==} + engines: {node: '>=4'} + dev: true - mimic-response@3.1.0: {} + /mimic-response@3.1.0: + resolution: {integrity: sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==} + engines: {node: '>=10'} + dev: true - min-indent@1.0.1: {} + /min-indent@1.0.1: + resolution: {integrity: sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==} + engines: {node: '>=4'} + dev: true - minimalistic-assert@1.0.1: {} + /minimalistic-assert@1.0.1: + resolution: {integrity: sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==} + dev: true - minimatch@3.1.2: + /minimatch@3.1.2: + resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} dependencies: brace-expansion: 1.1.11 + dev: true - minimatch@5.1.6: + /minimatch@5.1.6: + resolution: {integrity: sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==} + engines: {node: '>=10'} dependencies: brace-expansion: 2.0.1 + dev: true - minimatch@9.0.4: + /minimatch@9.0.4: + resolution: {integrity: sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw==} + engines: {node: '>=16 || 14 >=14.17'} dependencies: brace-expansion: 2.0.1 - minimist@1.2.8: {} + /minimist@1.2.8: + resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} + dev: true - minipass@7.1.2: {} + /minipass@7.1.2: + resolution: {integrity: sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==} + engines: {node: '>=16 || 14 >=14.17'} - minisearch@6.3.0: {} + /minisearch@6.3.0: + resolution: {integrity: sha512-ihFnidEeU8iXzcVHy74dhkxh/dn8Dc08ERl0xwoMMGqp4+LvRSCgicb+zGqWthVokQKvCSxITlh3P08OzdTYCQ==} + dev: true - mitt@3.0.1: {} + /mitt@3.0.1: + resolution: {integrity: sha512-vKivATfr97l2/QBCYAkXYDbrIWPM2IIKEl7YPhjCvKlG3kE2gm+uBo6nEXK3M5/Ffh/FLpKExzOQ3JJoJGFKBw==} + dev: true - mkdirp@0.5.6: + /mkdirp@0.5.6: + resolution: {integrity: sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==} + hasBin: true dependencies: minimist: 1.2.8 + dev: true - mkdirp@1.0.4: {} + /mkdirp@1.0.4: + resolution: {integrity: sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==} + engines: {node: '>=10'} + hasBin: true + dev: true - mlly@1.7.1: + /mlly@1.7.1: + resolution: {integrity: sha512-rrVRZRELyQzrIUAVMHxP97kv+G786pHmOKzuFII8zDYahFBS7qnHh2AlYSl1GAHhaMPCz6/oHjVMcfFYgFYHgA==} dependencies: - acorn: 8.11.3 + acorn: 8.12.0 pathe: 1.1.2 pkg-types: 1.1.1 ufo: 1.5.3 + dev: true - mrmime@2.0.0: {} + /mrmime@2.0.0: + resolution: {integrity: sha512-eu38+hdgojoyq63s+yTpN4XMBdt5l8HhMhc4VKLO9KM5caLIBvUm4thi7fFaxyTmCKeNnXZ5pAlBwCUnhA09uw==} + engines: {node: '>=10'} + dev: true - ms@2.0.0: {} + /ms@2.0.0: + resolution: {integrity: sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==} + dev: true - ms@2.1.2: {} + /ms@2.1.2: + resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} - ms@2.1.3: {} + /ms@2.1.3: + resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} + dev: true - multicast-dns@7.2.5: + /multicast-dns@7.2.5: + resolution: {integrity: sha512-2eznPJP8z2BFLX50tf0LuODrpINqP1RVIm/CObbTcBRITQgmC/TjcREF1NeTBzIcR5XO/ukWo+YHOjBbFwIupg==} + hasBin: true dependencies: dns-packet: 5.6.1 thunky: 1.1.0 + dev: true - mz@2.7.0: + /mz@2.7.0: + resolution: {integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==} dependencies: any-promise: 1.3.0 object-assign: 4.1.1 thenify-all: 1.6.0 - nanoid@3.3.7: {} + /nanoid@3.3.7: + resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==} + engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} + hasBin: true - natural-compare@1.4.0: {} + /natural-compare@1.4.0: + resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} + dev: true - negotiator@0.6.3: {} + /negotiator@0.6.3: + resolution: {integrity: sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==} + engines: {node: '>= 0.6'} + dev: true - neo-async@2.6.2: {} + /neo-async@2.6.2: + resolution: {integrity: sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==} + dev: true - nested-error-stacks@2.1.1: {} + /nested-error-stacks@2.1.1: + resolution: {integrity: sha512-9iN1ka/9zmX1ZvLV9ewJYEk9h7RyRRtqdK0woXcqohu8EWIerfPUjYJPg0ULy0UqP7cslmdGc8xKDJcojlKiaw==} + dev: true - next-tick@1.1.0: {} + /next-tick@1.1.0: + resolution: {integrity: sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ==} + dev: true - nice-try@1.0.5: {} + /nice-try@1.0.5: + resolution: {integrity: sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==} + dev: true - node-cleanup@2.1.2: {} + /node-cleanup@2.1.2: + resolution: {integrity: sha512-qN8v/s2PAJwGUtr1/hYTpNKlD6Y9rc4p8KSmJXyGdYGZsDGKXrGThikLFP9OCHFeLeEpQzPwiAtdIvBLqm//Hw==} + dev: true - node-domexception@1.0.0: {} + /node-domexception@1.0.0: + resolution: {integrity: sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==} + engines: {node: '>=10.5.0'} + dev: true - node-fetch-native@1.6.4: {} + /node-fetch-native@1.6.4: + resolution: {integrity: sha512-IhOigYzAKHd244OC0JIMIUrjzctirCmPkaIfhDeGcEETWof5zKYUW7e7MYvChGWh/4CJeXEgsRyGzuF334rOOQ==} + dev: true - node-fetch@2.6.7(encoding@0.1.13): + /node-fetch@2.6.7(encoding@0.1.13): + resolution: {integrity: sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==} + engines: {node: 4.x || >=6.0.0} + peerDependencies: + encoding: ^0.1.0 + peerDependenciesMeta: + encoding: + optional: true dependencies: - whatwg-url: 5.0.0 - optionalDependencies: encoding: 0.1.13 + whatwg-url: 5.0.0 + dev: true - node-fetch@3.3.1: + /node-fetch@3.3.1: + resolution: {integrity: sha512-cRVc/kyto/7E5shrWca1Wsea4y6tL9iYJE5FBCius3JQfb/4P4I295PfhgbJQBLTx6lATE4z+wK0rPM4VS2uow==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dependencies: data-uri-to-buffer: 4.0.1 fetch-blob: 3.2.0 formdata-polyfill: 4.0.10 + dev: true - node-forge@1.3.1: {} + /node-forge@1.3.1: + resolution: {integrity: sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==} + engines: {node: '>= 6.13.0'} + dev: true - node-int64@0.4.0: {} + /node-int64@0.4.0: + resolution: {integrity: sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==} + dev: true - node-preload@0.2.1: + /node-preload@0.2.1: + resolution: {integrity: sha512-RM5oyBy45cLEoHqCeh+MNuFAxO0vTFBLskvQbOKnEE7YTTSN4tbN8QWDIPQ6L+WvKsB/qLEGpYe2ZZ9d4W9OIQ==} + engines: {node: '>=8'} dependencies: process-on-spawn: 1.0.0 + dev: true - node-releases@2.0.14: {} + /node-releases@2.0.14: + resolution: {integrity: sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==} + dev: true - nomnom@1.5.2: + /nomnom@1.5.2: + resolution: {integrity: sha512-fiVbT7BqxiQqjlR9U3FDGOSERFCKoXVCdxV2FwZuNN7/cmJ42iQx35nUFOAFDcyvemu9Adp+IlsCGlKQYLmBKw==} + deprecated: Package no longer supported. Contact support@npmjs.com for more info. dependencies: colors: 0.5.1 underscore: 1.1.7 + dev: true - normalize-package-data@2.5.0: + /normalize-package-data@2.5.0: + resolution: {integrity: sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==} dependencies: hosted-git-info: 2.8.9 resolve: 1.22.8 semver: 5.7.2 validate-npm-package-license: 3.0.4 + dev: true - normalize-path@3.0.0: {} + /normalize-path@3.0.0: + resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} + engines: {node: '>=0.10.0'} - normalize-url@6.1.0: {} + /normalize-url@6.1.0: + resolution: {integrity: sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==} + engines: {node: '>=10'} + dev: true - npm-run-path@2.0.2: + /npm-run-path@2.0.2: + resolution: {integrity: sha512-lJxZYlT4DW/bRUtFh1MQIWqmLwQfAxnqWG4HhEdjMlkrJYnJn0Jrr2u3mgxqaWsdiBc76TYkTG/mhrnYTuzfHw==} + engines: {node: '>=4'} dependencies: path-key: 2.0.1 + dev: true - npm-run-path@4.0.1: + /npm-run-path@4.0.1: + resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==} + engines: {node: '>=8'} dependencies: path-key: 3.1.1 + dev: true - npm-run-path@5.3.0: + /npm-run-path@5.3.0: + resolution: {integrity: sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dependencies: path-key: 4.0.0 + dev: true - nwsapi@2.2.10: {} + /nwsapi@2.2.10: + resolution: {integrity: sha512-QK0sRs7MKv0tKe1+5uZIQk/C8XGza4DAnztJG8iD+TpJIORARrCxczA738awHrZoHeTjSSoHqao2teO0dC/gFQ==} + dev: true - nyc@15.1.0: + /nyc@15.1.0: + resolution: {integrity: sha512-jMW04n9SxKdKi1ZMGhvUTHBN0EICCRkHemEoE5jm6mTYcqcdas0ATzgUgejlQUHMvpnOZqGB5Xxsv9KxJW1j8A==} + engines: {node: '>=8.9'} + hasBin: true dependencies: '@istanbuljs/load-nyc-config': 1.1.0 '@istanbuljs/schema': 0.1.3 @@ -15854,59 +12202,101 @@ snapshots: yargs: 15.4.1 transitivePeerDependencies: - supports-color + dev: true - object-assign@4.1.1: {} + /object-assign@4.1.1: + resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} + engines: {node: '>=0.10.0'} - object-hash@3.0.0: {} + /object-hash@3.0.0: + resolution: {integrity: sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==} + engines: {node: '>= 6'} + dev: false - object-inspect@1.13.1: {} + /object-inspect@1.13.1: + resolution: {integrity: sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==} + dev: true - object-keys@1.1.1: {} + /object-keys@1.1.1: + resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==} + engines: {node: '>= 0.4'} + dev: true - object.assign@4.1.5: + /object.assign@4.1.5: + resolution: {integrity: sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ==} + engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.7 define-properties: 1.2.1 has-symbols: 1.0.3 object-keys: 1.1.1 + dev: true - obuf@1.1.2: {} + /obuf@1.1.2: + resolution: {integrity: sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==} + dev: true - ofetch@1.3.4: + /ofetch@1.3.4: + resolution: {integrity: sha512-KLIET85ik3vhEfS+3fDlc/BAZiAp+43QEC/yCo5zkNoY2YaKvNkOaFr/6wCFgFH1kuYQM5pMNi0Tg8koiIemtw==} dependencies: destr: 2.0.3 node-fetch-native: 1.6.4 ufo: 1.5.3 + dev: true - omggif@1.0.10: {} + /omggif@1.0.10: + resolution: {integrity: sha512-LMJTtvgc/nugXj0Vcrrs68Mn2D1r0zf630VNtqtpI1FEO7e+O9FP4gqs9AcnBaSEeoHIPm28u6qgPR0oyEpGSw==} + dev: true - on-exit-leak-free@2.1.2: {} + /on-exit-leak-free@2.1.2: + resolution: {integrity: sha512-0eJJY6hXLGf1udHwfNftBqH+g73EU4B504nZeKpz1sYRKafAghwxEJunB2O7rDZkL4PGfsMVnTXZ2EjibbqcsA==} + engines: {node: '>=14.0.0'} + dev: false - on-finished@2.4.1: + /on-finished@2.4.1: + resolution: {integrity: sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==} + engines: {node: '>= 0.8'} dependencies: ee-first: 1.1.1 + dev: true - on-headers@1.0.2: {} + /on-headers@1.0.2: + resolution: {integrity: sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==} + engines: {node: '>= 0.8'} + dev: true - once@1.4.0: + /once@1.4.0: + resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} dependencies: wrappy: 1.0.2 + dev: true - onetime@5.1.2: + /onetime@5.1.2: + resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==} + engines: {node: '>=6'} dependencies: mimic-fn: 2.1.0 + dev: true - onetime@6.0.0: + /onetime@6.0.0: + resolution: {integrity: sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==} + engines: {node: '>=12'} dependencies: mimic-fn: 4.0.0 + dev: true - open@8.4.2: + /open@8.4.2: + resolution: {integrity: sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==} + engines: {node: '>=12'} dependencies: define-lazy-prop: 2.0.0 is-docker: 2.2.1 is-wsl: 2.2.0 + dev: true - optionator@0.9.4: + /optionator@0.9.4: + resolution: {integrity: sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==} + engines: {node: '>= 0.8.0'} dependencies: deep-is: 0.1.4 fast-levenshtein: 2.0.6 @@ -15914,96 +12304,171 @@ snapshots: prelude-ls: 1.2.1 type-check: 0.4.0 word-wrap: 1.2.5 + dev: true - ospath@1.2.2: {} + /ospath@1.2.2: + resolution: {integrity: sha512-o6E5qJV5zkAbIDNhGSIlyOhScKXgQrSRMilfph0clDfM0nEnBOlKlH4sWDmG95BW/CvwNz0vmm7dJVtU2KlMiA==} + dev: true - p-cancelable@2.1.1: {} + /p-cancelable@2.1.1: + resolution: {integrity: sha512-BZOr3nRQHOntUjTrH8+Lh54smKHoHyur8We1V8DSMVrl5A2malOOwuJRnKRDjSnkoeBh4at6BwEnb5I7Jl31wg==} + engines: {node: '>=8'} + dev: true - p-event@5.0.1: + /p-event@5.0.1: + resolution: {integrity: sha512-dd589iCQ7m1L0bmC5NLlVYfy3TbBEsMUfWx9PyAgPeIcFZ/E2yaTZ4Rz4MiBmmJShviiftHVXOqfnfzJ6kyMrQ==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dependencies: p-timeout: 5.1.0 + dev: true - p-filter@3.0.0: + /p-filter@3.0.0: + resolution: {integrity: sha512-QtoWLjXAW++uTX67HZQz1dbTpqBfiidsB6VtQUC9iR85S120+s0T5sO6s+B5MLzFcZkrEd/DGMmCjR+f2Qpxwg==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dependencies: p-map: 5.5.0 + dev: true - p-finally@1.0.0: {} + /p-finally@1.0.0: + resolution: {integrity: sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow==} + engines: {node: '>=4'} + dev: true - p-iteration@1.1.8: {} + /p-iteration@1.1.8: + resolution: {integrity: sha512-IMFBSDIYcPNnW7uWYGrBqmvTiq7W0uB0fJn6shQZs7dlF3OvrHOre+JT9ikSZ7gZS3vWqclVgoQSvToJrns7uQ==} + engines: {node: '>=8.0.0'} + dev: true - p-limit@2.3.0: + /p-limit@2.3.0: + resolution: {integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==} + engines: {node: '>=6'} dependencies: p-try: 2.2.0 + dev: true - p-limit@3.1.0: + /p-limit@3.1.0: + resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} + engines: {node: '>=10'} dependencies: yocto-queue: 0.1.0 + dev: true - p-limit@4.0.0: + /p-limit@4.0.0: + resolution: {integrity: sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dependencies: yocto-queue: 1.0.0 + dev: true - p-limit@5.0.0: + /p-limit@5.0.0: + resolution: {integrity: sha512-/Eaoq+QyLSiXQ4lyYV23f14mZRQcXnxfHrN0vCai+ak9G0pp9iEQukIIZq5NccEvwRB8PUnZT0KsOoDCINS1qQ==} + engines: {node: '>=18'} dependencies: yocto-queue: 1.0.0 + dev: true - p-locate@3.0.0: + /p-locate@3.0.0: + resolution: {integrity: sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==} + engines: {node: '>=6'} dependencies: p-limit: 2.3.0 + dev: true - p-locate@4.1.0: + /p-locate@4.1.0: + resolution: {integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==} + engines: {node: '>=8'} dependencies: p-limit: 2.3.0 + dev: true - p-locate@5.0.0: + /p-locate@5.0.0: + resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==} + engines: {node: '>=10'} dependencies: p-limit: 3.1.0 + dev: true - p-locate@6.0.0: + /p-locate@6.0.0: + resolution: {integrity: sha512-wPrq66Llhl7/4AGC6I+cqxT07LhXvWL08LNXz1fENOw0Ap4sRZZ/gZpTTJ5jpurzzzfS2W/Ge9BY3LgLjCShcw==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dependencies: p-limit: 4.0.0 + dev: true - p-map@3.0.0: + /p-map@3.0.0: + resolution: {integrity: sha512-d3qXVTF/s+W+CdJ5A29wywV2n8CQQYahlgz2bFiA+4eVNJbHJodPZ+/gXwPGh0bOqA+j8S+6+ckmvLGPk1QpxQ==} + engines: {node: '>=8'} dependencies: aggregate-error: 3.1.0 + dev: true - p-map@4.0.0: + /p-map@4.0.0: + resolution: {integrity: sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==} + engines: {node: '>=10'} dependencies: aggregate-error: 3.1.0 + dev: true - p-map@5.5.0: + /p-map@5.5.0: + resolution: {integrity: sha512-VFqfGDHlx87K66yZrNdI4YGtD70IRyd+zSvgks6mzHPRNkoKy+9EKP4SFC77/vTTQYmRmti7dvqC+m5jBrBAcg==} + engines: {node: '>=12'} dependencies: aggregate-error: 4.0.1 + dev: true - p-map@6.0.0: {} + /p-map@6.0.0: + resolution: {integrity: sha512-T8BatKGY+k5rU+Q/GTYgrEf2r4xRMevAN5mtXc2aPc4rS1j3s+vWTaO2Wag94neXuCAUAs8cxBL9EeB5EA6diw==} + engines: {node: '>=16'} + dev: true - p-retry@4.6.2: + /p-retry@4.6.2: + resolution: {integrity: sha512-312Id396EbJdvRONlngUx0NydfrIQ5lsYu0znKVUzVvArzEIt08V1qhtyESbGVd1FGX7UKtiFp5uwKZdM8wIuQ==} + engines: {node: '>=8'} dependencies: '@types/retry': 0.12.0 retry: 0.13.1 + dev: true - p-timeout@5.1.0: {} + /p-timeout@5.1.0: + resolution: {integrity: sha512-auFDyzzzGZZZdHz3BtET9VEz0SE/uMEAx7uWfGPucfzEwwe/xH0iVeZibQmANYE/hp9T2+UUZT5m+BKyrDp3Ew==} + engines: {node: '>=12'} + dev: true - p-try@2.2.0: {} + /p-try@2.2.0: + resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==} + engines: {node: '>=6'} + dev: true - package-hash@4.0.0: + /package-hash@4.0.0: + resolution: {integrity: sha512-whdkPIooSu/bASggZ96BWVvZTRMOFxnyUG5PnTSGKoJE2gd5mbVNmR2Nj20QFzxYYgAXpoqC+AiXzl+UMRh7zQ==} + engines: {node: '>=8'} dependencies: graceful-fs: 4.2.11 hasha: 5.2.2 lodash.flattendeep: 4.4.0 release-zalgo: 1.0.0 + dev: true - pako@1.0.11: {} + /pako@1.0.11: + resolution: {integrity: sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==} + dev: true - parent-module@1.0.1: + /parent-module@1.0.1: + resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} + engines: {node: '>=6'} dependencies: callsites: 3.1.0 + dev: true - parent-module@2.0.0: + /parent-module@2.0.0: + resolution: {integrity: sha512-uo0Z9JJeWzv8BG+tRcapBKNJ0dro9cLyczGzulS6EfeyAdeC9sbojtW6XwvYxJkEne9En+J2XEl4zyglVeIwFg==} + engines: {node: '>=8'} dependencies: callsites: 3.1.0 + dev: true - parse-entities@2.0.0: + /parse-entities@2.0.0: + resolution: {integrity: sha512-kkywGpCcRYhqQIchaWqZ875wzpS/bMKhz5HnN3p7wveJTkTtyAB/AlnS0f8DFSqYW1T82t6yEAkEcB+A1I3MbQ==} dependencies: character-entities: 1.2.4 character-entities-legacy: 1.1.4 @@ -16011,83 +12476,156 @@ snapshots: is-alphanumerical: 1.0.4 is-decimal: 1.0.4 is-hexadecimal: 1.0.4 + dev: true - parse-json@5.2.0: + /parse-json@5.2.0: + resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==} + engines: {node: '>=8'} dependencies: '@babel/code-frame': 7.24.7 error-ex: 1.3.2 json-parse-even-better-errors: 2.3.1 lines-and-columns: 1.2.4 + dev: true - parse5@7.1.2: + /parse5@7.1.2: + resolution: {integrity: sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==} dependencies: entities: 4.5.0 + dev: true - parseurl@1.3.3: {} + /parseurl@1.3.3: + resolution: {integrity: sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==} + engines: {node: '>= 0.8'} + dev: true - path-browserify@1.0.1: {} + /path-browserify@1.0.1: + resolution: {integrity: sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==} + dev: true - path-data-parser@0.1.0: {} + /path-data-parser@0.1.0: + resolution: {integrity: sha512-NOnmBpt5Y2RWbuv0LMzsayp3lVylAHLPUTut412ZA3l+C4uw4ZVkQbjShYCQ8TCpUMdPapr4YjUqLYD6v68j+w==} + dev: false - path-exists@3.0.0: {} + /path-exists@3.0.0: + resolution: {integrity: sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==} + engines: {node: '>=4'} + dev: true - path-exists@4.0.0: {} + /path-exists@4.0.0: + resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} + engines: {node: '>=8'} + dev: true - path-exists@5.0.0: {} + /path-exists@5.0.0: + resolution: {integrity: sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + dev: true - path-is-absolute@1.0.1: {} + /path-is-absolute@1.0.1: + resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} + engines: {node: '>=0.10.0'} + dev: true - path-key@2.0.1: {} + /path-key@2.0.1: + resolution: {integrity: sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==} + engines: {node: '>=4'} + dev: true - path-key@3.1.1: {} + /path-key@3.1.1: + resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} + engines: {node: '>=8'} - path-key@4.0.0: {} + /path-key@4.0.0: + resolution: {integrity: sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==} + engines: {node: '>=12'} + dev: true - path-parse@1.0.7: {} + /path-parse@1.0.7: + resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} - path-scurry@1.11.1: + /path-scurry@1.11.1: + resolution: {integrity: sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==} + engines: {node: '>=16 || 14 >=14.18'} dependencies: lru-cache: 10.2.2 minipass: 7.1.2 - path-to-regexp@0.1.7: {} + /path-to-regexp@0.1.7: + resolution: {integrity: sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==} + dev: true - path-type@4.0.0: {} + /path-type@4.0.0: + resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} + engines: {node: '>=8'} + dev: true - path-type@5.0.0: {} + /path-type@5.0.0: + resolution: {integrity: sha512-5HviZNaZcfqP95rwpv+1HDgUamezbqdSYTyzjTvwtJSnIH+3vnbmWsItli8OFEndS984VT55M3jduxZbX351gg==} + engines: {node: '>=12'} + dev: true - pathe@1.1.2: {} + /pathe@1.1.2: + resolution: {integrity: sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==} + dev: true - pathval@1.1.1: {} + /pathval@1.1.1: + resolution: {integrity: sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==} + dev: true - pause-stream@0.0.11: + /pause-stream@0.0.11: + resolution: {integrity: sha512-e3FBlXLmN/D1S+zHzanP4E/4Z60oFAa3O051qt1pxa7DEJWKAyil6upYVXCWadEnuoqa4Pkc9oUx9zsxYeRv8A==} dependencies: through: 2.3.8 + dev: true - pend@1.2.0: {} + /pend@1.2.0: + resolution: {integrity: sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==} + dev: true - perfect-debounce@1.0.0: {} + /perfect-debounce@1.0.0: + resolution: {integrity: sha512-xCy9V055GLEqoFaHoC1SoLIaLmWctgCUaBaWxDZ7/Zx4CTyX7cJQLJOok/orfjZAh9kEYpjJa4d0KcJmCbctZA==} + dev: true - performance-now@2.1.0: {} + /performance-now@2.1.0: + resolution: {integrity: sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==} + dev: true - picocolors@1.0.1: {} + /picocolors@1.0.1: + resolution: {integrity: sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew==} - picomatch@2.3.1: {} + /picomatch@2.3.1: + resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} + engines: {node: '>=8.6'} - pidtree@0.6.0: {} + /pidtree@0.6.0: + resolution: {integrity: sha512-eG2dWTVw5bzqGRztnHExczNxt5VGsE6OwTeCG3fdUf9KBsZzO3R5OIIIzWR+iZA0NtZ+RDVdaoE2dK1cn6jH4g==} + engines: {node: '>=0.10'} + hasBin: true + dev: true - pify@2.3.0: {} + /pify@2.3.0: + resolution: {integrity: sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==} + engines: {node: '>=0.10.0'} - pino-abstract-transport@1.2.0: + /pino-abstract-transport@1.2.0: + resolution: {integrity: sha512-Guhh8EZfPCfH+PMXAb6rKOjGQEoy0xlAIn+irODG5kgfYV+BQ0rGYYWTIel3P5mmyXqkYkPmdIkywsn6QKUR1Q==} dependencies: readable-stream: 4.5.2 split2: 4.2.0 + dev: false - pino-std-serializers@3.2.0: {} + /pino-std-serializers@3.2.0: + resolution: {integrity: sha512-EqX4pwDPrt3MuOAAUBMU0Tk5kR/YcCM5fNPEzgCO2zJ5HfX0vbiH9HbJglnyeQsN96Kznae6MWD47pZB5avTrg==} + dev: true - pino-std-serializers@6.2.2: {} + /pino-std-serializers@6.2.2: + resolution: {integrity: sha512-cHjPPsE+vhj/tnhCy/wiMh3M3z3h/j15zHQX+S9GkTBgqJuTuJzYJ4gUyACLhDaJ7kk9ba9iRDmbH2tJU03OiA==} + dev: false - pino@6.14.0: + /pino@6.14.0: + resolution: {integrity: sha512-iuhEDel3Z3hF9Jfe44DPXR8l07bhjuFY3GMHIXbjnY9XcafbyDDwl2sN2vw2GjMPf5Nkoe+OFao7ffn9SXaKDg==} + hasBin: true dependencies: fast-redact: 3.5.0 fast-safe-stringify: 2.1.1 @@ -16096,8 +12634,11 @@ snapshots: process-warning: 1.0.0 quick-format-unescaped: 4.0.4 sonic-boom: 1.4.1 + dev: true - pino@8.21.0: + /pino@8.21.0: + resolution: {integrity: sha512-ip4qdzjkAyDDZklUaZkcRFb2iA118H9SgRh8yzTkSQK8HilsOJF7rSY8HoW5+I0M46AZgX/pxbprf2vvzQCE0Q==} + hasBin: true dependencies: atomic-sleep: 1.0.0 fast-redact: 3.5.0 @@ -16110,98 +12651,181 @@ snapshots: safe-stable-stringify: 2.4.3 sonic-boom: 3.8.1 thread-stream: 2.7.0 + dev: false - pirates@4.0.6: {} + /pirates@4.0.6: + resolution: {integrity: sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==} + engines: {node: '>= 6'} - pixelmatch@5.3.0: + /pixelmatch@5.3.0: + resolution: {integrity: sha512-o8mkY4E/+LNUf6LzX96ht6k6CEDi65k9G2rjMtBe9Oo+VPKSvl+0GKHuH/AlG+GA5LPG/i5hrekkxUc3s2HU+Q==} + hasBin: true dependencies: pngjs: 6.0.0 + dev: true - pkg-dir@3.0.0: + /pkg-dir@3.0.0: + resolution: {integrity: sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==} + engines: {node: '>=6'} dependencies: find-up: 3.0.0 + dev: true - pkg-dir@4.2.0: + /pkg-dir@4.2.0: + resolution: {integrity: sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==} + engines: {node: '>=8'} dependencies: find-up: 4.1.0 + dev: true - pkg-dir@7.0.0: + /pkg-dir@7.0.0: + resolution: {integrity: sha512-Ie9z/WINcxxLp27BKOCHGde4ITq9UklYKDzVo1nhk5sqGEXU3FpkwP5GM2voTGJkGd9B3Otl+Q4uwSOeSUtOBA==} + engines: {node: '>=14.16'} dependencies: find-up: 6.3.0 + dev: true - pkg-types@1.1.1: + /pkg-types@1.1.1: + resolution: {integrity: sha512-ko14TjmDuQJ14zsotODv7dBlwxKhUKQEhuhmbqo1uCi9BB0Z2alo/wAXg6q1dTR5TyuqYyWhjtfe/Tsh+X28jQ==} dependencies: confbox: 0.1.7 mlly: 1.7.1 pathe: 1.1.2 + dev: true - plist@3.1.0: + /plist@3.1.0: + resolution: {integrity: sha512-uysumyrvkUX0rX/dEVqt8gC3sTBzd4zoWfLeS29nb53imdaXVvLINYXTI2GNqzaMuvacNx4uJQ8+b3zXR0pkgQ==} + engines: {node: '>=10.4.0'} dependencies: '@xmldom/xmldom': 0.8.10 base64-js: 1.5.1 xmlbuilder: 15.1.1 + dev: true - pluralize@8.0.0: {} + /pluralize@8.0.0: + resolution: {integrity: sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA==} + engines: {node: '>=4'} + dev: true - png-async@0.9.4: {} + /png-async@0.9.4: + resolution: {integrity: sha512-B//AXX9TkneKfgtOpT1mdUnnhk2BImGD+a98vImsMU8uo1dBeHyW/kM2erWZ/CsYteTPU/xKG+t6T62heHkC3A==} + dev: true - pngjs@3.4.0: {} + /pngjs@3.4.0: + resolution: {integrity: sha512-NCrCHhWmnQklfH4MtJMRjZ2a8c80qXeMlQMv2uVp9ISJMTt562SbGd6n2oq0PaPgKm7Z6pL9E2UlLIhC+SHL3w==} + engines: {node: '>=4.0.0'} + dev: true - pngjs@6.0.0: {} + /pngjs@6.0.0: + resolution: {integrity: sha512-TRzzuFRRmEoSW/p1KVAmiOgPco2Irlah+bGFCeNfJXxxYGwSw7YwAOAcd7X28K/m5bjBWKsC29KyoMfHbypayg==} + engines: {node: '>=12.13.0'} + dev: true - pnpm@8.15.8: {} + /pnpm@8.15.8: + resolution: {integrity: sha512-0aAp4aRHrZC8ls1YsPrUhtKZPVMYVjlve6vy2D6xgju4PFo9D8GPZ1stEDIdSesWH+zjb+gTSqWCPs0hX+7Tkg==} + engines: {node: '>=16.14'} + hasBin: true + dev: true - points-on-curve@0.2.0: {} + /points-on-curve@0.2.0: + resolution: {integrity: sha512-0mYKnYYe9ZcqMCWhUjItv/oHjvgEsfKvnUTg8sAtnHr3GVy7rGkXCb6d5cSyqrWqL4k81b9CPg3urd+T7aop3A==} + dev: false - points-on-path@0.2.1: + /points-on-path@0.2.1: + resolution: {integrity: sha512-25ClnWWuw7JbWZcgqY/gJ4FQWadKxGWk+3kR/7kD0tCaDtPPMj7oHu2ToLaVhfpnHrZzYby2w6tUA0eOIuUg8g==} dependencies: path-data-parser: 0.1.0 points-on-curve: 0.2.0 + dev: false - possible-typed-array-names@1.0.0: {} + /possible-typed-array-names@1.0.0: + resolution: {integrity: sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q==} + engines: {node: '>= 0.4'} + dev: true - postcss-import@15.1.0(postcss@8.4.38): + /postcss-import@15.1.0(postcss@8.4.38): + resolution: {integrity: sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==} + engines: {node: '>=14.0.0'} + peerDependencies: + postcss: ^8.0.0 dependencies: postcss: 8.4.38 postcss-value-parser: 4.2.0 read-cache: 1.0.0 resolve: 1.22.8 + dev: false - postcss-js@4.0.1(postcss@8.4.38): + /postcss-js@4.0.1(postcss@8.4.38): + resolution: {integrity: sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==} + engines: {node: ^12 || ^14 || >= 16} + peerDependencies: + postcss: ^8.4.21 dependencies: camelcase-css: 2.0.1 postcss: 8.4.38 + dev: false - postcss-load-config@4.0.2(postcss@8.4.38): + /postcss-load-config@4.0.2(postcss@8.4.38): + resolution: {integrity: sha512-bSVhyJGL00wMVoPUzAVAnbEoWyqRxkjv64tUl427SKnPrENtq6hJwUojroMz2VB+Q1edmi4IfrAPpami5VVgMQ==} + engines: {node: '>= 14'} + peerDependencies: + postcss: '>=8.0.9' + ts-node: '>=9.0.0' + peerDependenciesMeta: + postcss: + optional: true + ts-node: + optional: true dependencies: lilconfig: 3.1.2 - yaml: 2.4.5 - optionalDependencies: postcss: 8.4.38 + yaml: 2.4.5 + dev: false - postcss-nested@6.0.1(postcss@8.4.38): + /postcss-nested@6.0.1(postcss@8.4.38): + resolution: {integrity: sha512-mEp4xPMi5bSWiMbsgoPfcP74lsWLHkQbZc3sY+jWYd65CUwXrUaTp0fmNpa01ZcETKlIgUdFN/MpS2xZtqL9dQ==} + engines: {node: '>=12.0'} + peerDependencies: + postcss: ^8.2.14 dependencies: postcss: 8.4.38 postcss-selector-parser: 6.1.0 + dev: false - postcss-selector-parser@6.1.0: + /postcss-selector-parser@6.1.0: + resolution: {integrity: sha512-UMz42UD0UY0EApS0ZL9o1XnLhSTtvvvLe5Dc2H2O56fvRZi+KulDyf5ctDhhtYJBGKStV2FL1fy6253cmLgqVQ==} + engines: {node: '>=4'} dependencies: cssesc: 3.0.0 util-deprecate: 1.0.2 + dev: false - postcss-value-parser@4.2.0: {} + /postcss-value-parser@4.2.0: + resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==} + dev: false - postcss@8.4.38: + /postcss@8.4.38: + resolution: {integrity: sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A==} + engines: {node: ^10 || ^12 || >=14} dependencies: nanoid: 3.3.7 picocolors: 1.0.1 source-map-js: 1.2.0 - preact@10.22.0: {} + /preact@10.22.0: + resolution: {integrity: sha512-RRurnSjJPj4rp5K6XoP45Ui33ncb7e4H7WiOHVpjbkvqvA3U+N8Z6Qbo0AE6leGYBV66n8EhEaFixvIu3SkxFw==} + dev: true - prelude-ls@1.2.1: {} + /prelude-ls@1.2.1: + resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} + engines: {node: '>= 0.8.0'} + dev: true - prettier-plugin-jsdoc@1.3.0(prettier@3.3.2): + /prettier-plugin-jsdoc@1.3.0(prettier@3.3.2): + resolution: {integrity: sha512-cQm8xIa0fN9ieJFMXACQd6JPycl+8ouOijAqUqu44EF/s4fXL3Wi9sKXuEaodsEWgCN42Xby/bNhqgM1iWx4uw==} + engines: {node: '>=14.13.1 || >=16.0.0'} + peerDependencies: + prettier: ^3.0.0 dependencies: binary-searching: 2.0.5 comment-parser: 1.4.1 @@ -16209,115 +12833,203 @@ snapshots: prettier: 3.3.2 transitivePeerDependencies: - supports-color + dev: true - prettier@2.8.8: {} + /prettier@2.8.8: + resolution: {integrity: sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==} + engines: {node: '>=10.13.0'} + hasBin: true + dev: true - prettier@3.3.2: {} + /prettier@3.3.2: + resolution: {integrity: sha512-rAVeHYMcv8ATV5d508CFdn+8/pHPpXeIid1DdrPwXnaAdH7cqjVbpJaT5eq4yRAFU/lsbwYwSF/n5iNrdJHPQA==} + engines: {node: '>=14'} + hasBin: true + dev: true - pretty-bytes@5.6.0: {} + /pretty-bytes@5.6.0: + resolution: {integrity: sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg==} + engines: {node: '>=6'} + dev: true - pretty-bytes@6.1.1: {} + /pretty-bytes@6.1.1: + resolution: {integrity: sha512-mQUvGU6aUFQ+rNvTIAcZuWGRT9a6f6Yrg9bHs4ImKF+HZCEK+plBvnAZYSIQztknZF2qnzNtr6F8s0+IuptdlQ==} + engines: {node: ^14.13.1 || >=16.0.0} + dev: true - pretty-format@29.7.0: + /pretty-format@29.7.0: + resolution: {integrity: sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@jest/schemas': 29.6.3 ansi-styles: 5.2.0 react-is: 18.3.1 + dev: true - process-nextick-args@2.0.1: {} + /process-nextick-args@2.0.1: + resolution: {integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==} + dev: true - process-on-spawn@1.0.0: + /process-on-spawn@1.0.0: + resolution: {integrity: sha512-1WsPDsUSMmZH5LeMLegqkPDrsGgsWwk1Exipy2hvB0o/F0ASzbpIctSCcZIK1ykJvtTJULEH+20WOFjMvGnCTg==} + engines: {node: '>=8'} dependencies: fromentries: 1.3.2 + dev: true - process-warning@1.0.0: {} + /process-warning@1.0.0: + resolution: {integrity: sha512-du4wfLyj4yCZq1VupnVSZmRsPJsNuxoDQFdCFHLaYiEbFBD7QE0a+I4D7hOxrVnh78QE/YipFAj9lXHiXocV+Q==} + dev: true - process-warning@3.0.0: {} + /process-warning@3.0.0: + resolution: {integrity: sha512-mqn0kFRl0EoqhnL0GQ0veqFHyIN1yig9RHh/InzORTUiZHFRAur+aMtRkELNwGs9aNwKS6tg/An4NYBPGwvtzQ==} + dev: false - process@0.11.10: {} + /process@0.11.10: + resolution: {integrity: sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==} + engines: {node: '>= 0.6.0'} - prompts@2.4.2: + /prompts@2.4.2: + resolution: {integrity: sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==} + engines: {node: '>= 6'} dependencies: kleur: 3.0.3 sisteransi: 1.0.5 + dev: true - proxy-addr@2.0.7: + /proxy-addr@2.0.7: + resolution: {integrity: sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==} + engines: {node: '>= 0.10'} dependencies: forwarded: 0.2.0 ipaddr.js: 1.9.1 + dev: true - proxy-from-env@1.0.0: {} + /proxy-from-env@1.0.0: + resolution: {integrity: sha512-F2JHgJQ1iqwnHDcQjVBsq3n/uoaFL+iPW/eAeL7kVxy/2RrWaN4WroKjjvbsoRtv0ftelNyC01bjRhn/bhcf4A==} + dev: true - proxy-from-env@1.1.0: {} + /proxy-from-env@1.1.0: + resolution: {integrity: sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==} + dev: true - ps-tree@1.2.0: + /ps-tree@1.2.0: + resolution: {integrity: sha512-0VnamPPYHl4uaU/nSFeZZpR21QAWRz+sRv4iW9+v/GS/J5U5iZB5BNN6J0RMoOvdx2gWM2+ZFMIm58q24e4UYA==} + engines: {node: '>= 0.10'} + hasBin: true dependencies: event-stream: 3.3.4 + dev: true - psl@1.9.0: {} + /psl@1.9.0: + resolution: {integrity: sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==} + dev: true - pump@3.0.0: + /pump@3.0.0: + resolution: {integrity: sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==} dependencies: end-of-stream: 1.4.4 once: 1.4.0 + dev: true - punycode@2.3.1: {} + /punycode@2.3.1: + resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} + engines: {node: '>=6'} + dev: true - pure-rand@6.1.0: {} + /pure-rand@6.1.0: + resolution: {integrity: sha512-bVWawvoZoBYpp6yIoQtQXHZjmz35RSVHnUOTefl8Vcjr8snTPY1wnpSPMWekcFwbxI6gtmT7rSYPFvz71ldiOA==} + dev: true - qs@6.10.4: + /qs@6.10.4: + resolution: {integrity: sha512-OQiU+C+Ds5qiH91qh/mg0w+8nwQuLjM4F4M/PbmhDOoYehPh+Fb0bDjtR1sOvy7YKxvj28Y/M0PhP5uVX0kB+g==} + engines: {node: '>=0.6'} dependencies: side-channel: 1.0.6 + dev: true - qs@6.11.0: + /qs@6.11.0: + resolution: {integrity: sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==} + engines: {node: '>=0.6'} dependencies: side-channel: 1.0.6 + dev: true - querystringify@2.2.0: {} + /querystringify@2.2.0: + resolution: {integrity: sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==} + dev: true - queue-microtask@1.2.3: {} + /queue-microtask@1.2.3: + resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} - quick-format-unescaped@4.0.4: {} + /quick-format-unescaped@4.0.4: + resolution: {integrity: sha512-tYC1Q1hgyRuHgloV/YXs2w15unPVh8qfu/qCTfhTYamaw7fyhumKa2yGpdSo87vY32rIclj+4fWYQXUMs9EHvg==} - quick-lru@5.1.1: {} + /quick-lru@5.1.1: + resolution: {integrity: sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==} + engines: {node: '>=10'} + dev: true - railroad-diagrams@1.0.0: {} + /railroad-diagrams@1.0.0: + resolution: {integrity: sha512-cz93DjNeLY0idrCNOH6PviZGRN9GJhsdm9hpn1YCS879fj4W+x5IFJhhkRZcwVgMmFF7R82UA/7Oh+R8lLZg6A==} + dev: true - ramda@0.28.0: {} + /ramda@0.28.0: + resolution: {integrity: sha512-9QnLuG/kPVgWvMQ4aODhsBUFKOUmnbUnsSXACv+NCQZcHbeb+v8Lodp8OVxtRULN1/xOyYLLaL6npE6dMq5QTA==} + dev: false - randombytes@2.1.0: + /randombytes@2.1.0: + resolution: {integrity: sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==} dependencies: safe-buffer: 5.2.1 + dev: true - range-parser@1.2.1: {} + /range-parser@1.2.1: + resolution: {integrity: sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==} + engines: {node: '>= 0.6'} + dev: true - raw-body@2.5.2: + /raw-body@2.5.2: + resolution: {integrity: sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==} + engines: {node: '>= 0.8'} dependencies: bytes: 3.1.2 http-errors: 2.0.0 iconv-lite: 0.4.24 unpipe: 1.0.0 + dev: true - react-is@18.3.1: {} + /react-is@18.3.1: + resolution: {integrity: sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==} + dev: true - read-cache@1.0.0: + /read-cache@1.0.0: + resolution: {integrity: sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==} dependencies: pify: 2.3.0 + dev: false - read-pkg-up@7.0.1: + /read-pkg-up@7.0.1: + resolution: {integrity: sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==} + engines: {node: '>=8'} dependencies: find-up: 4.1.0 read-pkg: 5.2.0 type-fest: 0.8.1 + dev: true - read-pkg@5.2.0: + /read-pkg@5.2.0: + resolution: {integrity: sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==} + engines: {node: '>=8'} dependencies: '@types/normalize-package-data': 2.4.4 normalize-package-data: 2.5.0 parse-json: 5.2.0 type-fest: 0.6.0 + dev: true - readable-stream@2.3.8: + /readable-stream@2.3.8: + resolution: {integrity: sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==} dependencies: core-util-is: 1.0.3 inherits: 2.0.4 @@ -16326,53 +13038,85 @@ snapshots: safe-buffer: 5.1.2 string_decoder: 1.1.1 util-deprecate: 1.0.2 + dev: true - readable-stream@3.6.2: + /readable-stream@3.6.2: + resolution: {integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==} + engines: {node: '>= 6'} dependencies: inherits: 2.0.4 string_decoder: 1.3.0 util-deprecate: 1.0.2 + dev: true - readable-stream@4.5.2: + /readable-stream@4.5.2: + resolution: {integrity: sha512-yjavECdqeZ3GLXNgRXgeQEdz9fvDDkNKyHnbHRFtOr7/LcfgBcmct7t/ET+HaCTqfh06OzoAxrkN/IfjJBVe+g==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: abort-controller: 3.0.0 buffer: 6.0.3 events: 3.3.0 process: 0.11.10 string_decoder: 1.3.0 + dev: false - readdirp@3.6.0: + /readdirp@3.6.0: + resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} + engines: {node: '>=8.10.0'} dependencies: picomatch: 2.3.1 - real-require@0.2.0: {} + /real-require@0.2.0: + resolution: {integrity: sha512-57frrGM/OCTLqLOAh0mhVA9VBMHd+9U7Zb2THMGdBUoZVOtGbJzjxsYGDJ3A9AYYCP4hn6y1TVbaOfzWtm5GFg==} + engines: {node: '>= 12.13.0'} + dev: false - rechoir@0.7.1: + /rechoir@0.7.1: + resolution: {integrity: sha512-/njmZ8s1wVeR6pjTZ+0nCnv8SpZNRMT2D1RLOJQESlYFDBvwpTA4KWJpZ+sBJ4+vhjILRcK7JIFdGCdxEAAitg==} + engines: {node: '>= 0.10'} dependencies: resolve: 1.22.8 + dev: true - regenerate-unicode-properties@10.1.1: + /regenerate-unicode-properties@10.1.1: + resolution: {integrity: sha512-X007RyZLsCJVVrjgEFVpLUTZwyOZk3oiL75ZcuYjlIWd6rNJtOjkBwQc5AsRrpbKVkxN6sklw/k/9m2jJYOf8Q==} + engines: {node: '>=4'} dependencies: regenerate: 1.4.2 + dev: true - regenerate@1.4.2: {} + /regenerate@1.4.2: + resolution: {integrity: sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==} + dev: true - regenerator-runtime@0.14.1: {} + /regenerator-runtime@0.14.1: + resolution: {integrity: sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==} + dev: true - regenerator-transform@0.15.2: + /regenerator-transform@0.15.2: + resolution: {integrity: sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg==} dependencies: '@babel/runtime': 7.24.7 + dev: true - regexp-tree@0.1.27: {} + /regexp-tree@0.1.27: + resolution: {integrity: sha512-iETxpjK6YoRWJG5o6hXLwvjYAoW+FEZn9os0PD/b6AP6xQwsa/Y7lCVgIixBbUPMfhu+i2LtdeAqVTgGlQarfA==} + hasBin: true + dev: true - regexp.prototype.flags@1.5.2: + /regexp.prototype.flags@1.5.2: + resolution: {integrity: sha512-NcDiDkTLuPR+++OCKB0nWafEmhg/Da8aUPLPMQbK+bxKKCm1/S5he+AqYa4PlMCVBalb4/yxIRub6qkEx5yJbw==} + engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.7 define-properties: 1.2.1 es-errors: 1.3.0 set-function-name: 2.0.2 + dev: true - regexpu-core@5.3.2: + /regexpu-core@5.3.2: + resolution: {integrity: sha512-RAM5FlZz+Lhmo7db9L298p2vHP5ZywrVXmVXpmAD9GuL5MPH6t9ROw1iA/wfHkQ76Qe7AaPF0nGuim96/IrQMQ==} + engines: {node: '>=4'} dependencies: '@babel/regjsgen': 0.8.0 regenerate: 1.4.2 @@ -16380,20 +13124,31 @@ snapshots: regjsparser: 0.9.1 unicode-match-property-ecmascript: 2.0.0 unicode-match-property-value-ecmascript: 2.1.0 + dev: true - regjsparser@0.10.0: + /regjsparser@0.10.0: + resolution: {integrity: sha512-qx+xQGZVsy55CH0a1hiVwHmqjLryfh7wQyF5HO07XJ9f7dQMY/gPQHhlyDkIzJKC+x2fUCpCcUODUUUFrm7SHA==} + hasBin: true dependencies: jsesc: 0.5.0 + dev: true - regjsparser@0.9.1: + /regjsparser@0.9.1: + resolution: {integrity: sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==} + hasBin: true dependencies: jsesc: 0.5.0 + dev: true - release-zalgo@1.0.0: + /release-zalgo@1.0.0: + resolution: {integrity: sha512-gUAyHVHPPC5wdqX/LG4LWtRYtgjxyX78oanFNTMMyFEfOqdC54s3eE82imuWKbOeqYht2CrNf64Qb8vgmmtZGA==} + engines: {node: '>=4'} dependencies: es6-error: 4.1.1 + dev: true - remark-frontmatter@5.0.0: + /remark-frontmatter@5.0.0: + resolution: {integrity: sha512-XTFYvNASMe5iPN0719nPrdItC9aU0ssC4v14mH1BCi1u0n1gAocqcujWUrByftZTbLhRtiKRyjYTSIOcr69UVQ==} dependencies: '@types/mdast': 4.0.4 mdast-util-frontmatter: 2.0.1 @@ -16401,8 +13156,10 @@ snapshots: unified: 11.0.4 transitivePeerDependencies: - supports-color + dev: true - remark-gfm@4.0.0: + /remark-gfm@4.0.0: + resolution: {integrity: sha512-U92vJgBPkbw4Zfu/IiW2oTZLSL3Zpv+uI7My2eq8JxKgqraFdU8YUGicEJCEgSbeaG+QDFqIcwwfMTOEelPxuA==} dependencies: '@types/mdast': 4.0.4 mdast-util-gfm: 3.0.0 @@ -16412,8 +13169,10 @@ snapshots: unified: 11.0.4 transitivePeerDependencies: - supports-color + dev: true - remark-parse@11.0.0: + /remark-parse@11.0.0: + resolution: {integrity: sha512-FCxlKLNGknS5ba/1lmpYijMUzX2esxW5xQqjWxw2eHFfS2MSdaHVINFmhjo+qN1WhZhNimq0dZATN9pH0IDrpA==} dependencies: '@types/mdast': 4.0.4 mdast-util-from-markdown: 2.0.1 @@ -16421,14 +13180,18 @@ snapshots: unified: 11.0.4 transitivePeerDependencies: - supports-color + dev: true - remark-stringify@11.0.0: + /remark-stringify@11.0.0: + resolution: {integrity: sha512-1OSmLd3awB/t8qdoEOMazZkNsfVTeY4fTsgzcQFdXNq8ToTN4ZGwrMnlda4K6smTFKD+GRV6O48i6Z4iKgPPpw==} dependencies: '@types/mdast': 4.0.4 mdast-util-to-markdown: 2.1.0 unified: 11.0.4 + dev: true - remark@15.0.1: + /remark@15.0.1: + resolution: {integrity: sha512-Eht5w30ruCXgFmxVUSlNWQ9iiimq07URKeFS3hNc8cUWy1llX4KDWfyEDZRycMc+znsN9Ux5/tJ/BFdgdOwA3A==} dependencies: '@types/mdast': 4.0.4 remark-parse: 11.0.0 @@ -16436,96 +13199,178 @@ snapshots: unified: 11.0.4 transitivePeerDependencies: - supports-color + dev: true - repeat-string@1.6.1: {} + /repeat-string@1.6.1: + resolution: {integrity: sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w==} + engines: {node: '>=0.10'} + dev: true - request-progress@3.0.0: + /request-progress@3.0.0: + resolution: {integrity: sha512-MnWzEHHaxHO2iWiQuHrUPBi/1WeBf5PkxQqNyNvLl9VAYSdXkP8tQ3pBSeCPD+yw0v0Aq1zosWLz0BdeXpWwZg==} dependencies: throttleit: 1.0.1 + dev: true - require-directory@2.1.1: {} + /require-directory@2.1.1: + resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==} + engines: {node: '>=0.10.0'} + dev: true - require-from-string@2.0.2: {} + /require-from-string@2.0.2: + resolution: {integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==} + engines: {node: '>=0.10.0'} + dev: true - require-main-filename@2.0.0: {} + /require-main-filename@2.0.0: + resolution: {integrity: sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==} + dev: true - requires-port@1.0.0: {} + /requires-port@1.0.0: + resolution: {integrity: sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==} + dev: true - resolve-alpn@1.2.1: {} + /resolve-alpn@1.2.1: + resolution: {integrity: sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g==} + dev: true - resolve-cwd@3.0.0: + /resolve-cwd@3.0.0: + resolution: {integrity: sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==} + engines: {node: '>=8'} dependencies: resolve-from: 5.0.0 + dev: true - resolve-from@4.0.0: {} + /resolve-from@4.0.0: + resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} + engines: {node: '>=4'} + dev: true - resolve-from@5.0.0: {} + /resolve-from@5.0.0: + resolution: {integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==} + engines: {node: '>=8'} + dev: true - resolve-pkg-maps@1.0.0: {} + /resolve-pkg-maps@1.0.0: + resolution: {integrity: sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==} + dev: true - resolve.exports@2.0.2: {} + /resolve.exports@2.0.2: + resolution: {integrity: sha512-X2UW6Nw3n/aMgDVy+0rSqgHlv39WZAlZrXCdnbyEiKm17DSqHX4MmQMaST3FbeWR5FTuRcUwYAziZajji0Y7mg==} + engines: {node: '>=10'} + dev: true - resolve@1.19.0: + /resolve@1.19.0: + resolution: {integrity: sha512-rArEXAgsBG4UgRGcynxWIWKFvh/XZCcS8UJdHhwy91zwAvCZIbcs+vAbflgBnNjYMs/i/i+/Ux6IZhML1yPvxg==} dependencies: is-core-module: 2.13.1 path-parse: 1.0.7 + dev: true - resolve@1.22.8: + /resolve@1.22.8: + resolution: {integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==} + hasBin: true dependencies: is-core-module: 2.13.1 path-parse: 1.0.7 supports-preserve-symlinks-flag: 1.0.0 - responselike@2.0.1: + /responselike@2.0.1: + resolution: {integrity: sha512-4gl03wn3hj1HP3yzgdI7d3lCkF95F21Pz4BPGvKHinyQzALR5CapwC8yIi0Rh58DEMQ/SguC03wFj2k0M/mHhw==} dependencies: lowercase-keys: 2.0.0 + dev: true - restore-cursor@3.1.0: + /restore-cursor@3.1.0: + resolution: {integrity: sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==} + engines: {node: '>=8'} dependencies: onetime: 5.1.2 signal-exit: 3.0.7 + dev: true - restore-cursor@4.0.0: + /restore-cursor@4.0.0: + resolution: {integrity: sha512-I9fPXU9geO9bHOt9pHHOhOkYerIMsmVaWB0rA2AI9ERh/+x/i7MV5HKBNrg+ljO5eoPVgCcnFuRjJ9uH6I/3eg==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dependencies: onetime: 5.1.2 signal-exit: 3.0.7 + dev: true - ret@0.2.2: {} + /ret@0.2.2: + resolution: {integrity: sha512-M0b3YWQs7R3Z917WRQy1HHA7Ba7D8hvZg6UE5mLykJxQVE2ju0IXbGlaHPPlkY+WN7wFP+wUMXmBFA0aV6vYGQ==} + engines: {node: '>=4'} + dev: true - retry@0.13.1: {} + /retry@0.13.1: + resolution: {integrity: sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==} + engines: {node: '>= 4'} + dev: true - reusify@1.0.4: {} + /reusify@1.0.4: + resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} + engines: {iojs: '>=1.0.0', node: '>=0.10.0'} - rfdc@1.4.1: {} + /rfdc@1.4.1: + resolution: {integrity: sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA==} + dev: true - rimraf@2.7.1: + /rimraf@2.7.1: + resolution: {integrity: sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==} + deprecated: Rimraf versions prior to v4 are no longer supported + hasBin: true dependencies: glob: 7.2.3 + dev: true - rimraf@3.0.2: + /rimraf@3.0.2: + resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} + deprecated: Rimraf versions prior to v4 are no longer supported + hasBin: true dependencies: glob: 7.2.3 + dev: true - rimraf@5.0.7: + /rimraf@5.0.7: + resolution: {integrity: sha512-nV6YcJo5wbLW77m+8KjH8aB/7/rxQy9SZ0HY5shnwULfS+9nmTtVXAJET5NdZmCzA4fPI/Hm1wo/Po/4mopOdg==} + engines: {node: '>=14.18'} + hasBin: true dependencies: glob: 10.4.1 + dev: true - robust-predicates@3.0.2: {} + /robust-predicates@3.0.2: + resolution: {integrity: sha512-IXgzBWvWQwE6PrDI05OvmXUIruQTcoMDzRsOd5CDvHCVLcLHMTSYvOK5Cm46kWqlV3yAbuSpBZdJ5oP5OUoStg==} + dev: false - rollup-plugin-visualizer@5.12.0(rollup@4.18.0): + /rollup-plugin-visualizer@5.12.0: + resolution: {integrity: sha512-8/NU9jXcHRs7Nnj07PF2o4gjxmm9lXIrZ8r175bT9dK8qoLlvKTwRMArRCMgpMGlq8CTLugRvEmyMeMXIU2pNQ==} + engines: {node: '>=14'} + hasBin: true + peerDependencies: + rollup: 2.x || 3.x || 4.x + peerDependenciesMeta: + rollup: + optional: true dependencies: open: 8.4.2 picomatch: 2.3.1 source-map: 0.7.4 yargs: 17.7.2 - optionalDependencies: - rollup: 4.18.0 + dev: true - rollup@2.79.1: + /rollup@2.79.1: + resolution: {integrity: sha512-uKxbd0IhMZOhjAiD5oAFp7BqvkA4Dv47qpOCtaNvng4HBwdbWtdOh8f5nZNuk2rp51PMGk3bzfWu5oayNEuYnw==} + engines: {node: '>=10.0.0'} + hasBin: true optionalDependencies: fsevents: 2.3.3 + dev: true - rollup@4.18.0: + /rollup@4.18.0: + resolution: {integrity: sha512-QmJz14PX3rzbJCN1SG4Xe/bAAX2a6NpCP8ab2vfu2GiUr8AQcr2nCV/oEO3yneFarB67zk8ShlIyWb2LGTb3Sg==} + engines: {node: '>=18.0.0', npm: '>=8.0.0'} + hasBin: true dependencies: '@types/estree': 1.0.5 optionalDependencies: @@ -16546,94 +13391,157 @@ snapshots: '@rollup/rollup-win32-ia32-msvc': 4.18.0 '@rollup/rollup-win32-x64-msvc': 4.18.0 fsevents: 2.3.3 + dev: true - roughjs@4.6.6: + /roughjs@4.6.6: + resolution: {integrity: sha512-ZUz/69+SYpFN/g/lUlo2FXcIjRkSu3nDarreVdGGndHEBJ6cXPdKguS8JGxwj5HA5xIbVKSmLgr5b3AWxtRfvQ==} dependencies: hachure-fill: 0.5.2 path-data-parser: 0.1.0 points-on-curve: 0.2.0 points-on-path: 0.2.1 + dev: false - rrweb-cssom@0.6.0: {} + /rrweb-cssom@0.6.0: + resolution: {integrity: sha512-APM0Gt1KoXBz0iIkkdB/kfvGOwC4UuJFeG/c+yV7wSc7q96cG/kJ0HiYCnzivD9SB53cLV1MlHFNfOuPaadYSw==} + dev: true - rrweb-cssom@0.7.1: {} + /rrweb-cssom@0.7.1: + resolution: {integrity: sha512-TrEMa7JGdVm0UThDJSx7ddw5nVm3UJS9o9CCIZ72B1vSyEZoziDqBYP3XIoi/12lKrJR8rE3jeFHMok2F/Mnsg==} + dev: true - run-parallel@1.2.0: + /run-parallel@1.2.0: + resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} dependencies: queue-microtask: 1.2.3 - rw@1.3.3: {} + /rw@1.3.3: + resolution: {integrity: sha512-PdhdWy89SiZogBLaw42zdeqtRJ//zFd2PgQavcICDUgJT5oW10QCRKbJ6bg4r0/UY2M6BWd5tkxuGFRvCkgfHQ==} + dev: false - rxjs@7.8.1: + /rxjs@7.8.1: + resolution: {integrity: sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==} dependencies: tslib: 2.6.3 + dev: true - safe-array-concat@1.1.2: + /safe-array-concat@1.1.2: + resolution: {integrity: sha512-vj6RsCsWBCf19jIeHEfkRMw8DPiBb+DMXklQ/1SGDHOMlHdPUkZXFQ2YdplS23zESTijAcurb1aSgJA3AgMu1Q==} + engines: {node: '>=0.4'} dependencies: call-bind: 1.0.7 get-intrinsic: 1.2.4 has-symbols: 1.0.3 isarray: 2.0.5 + dev: true - safe-buffer@5.1.2: {} + /safe-buffer@5.1.2: + resolution: {integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==} + dev: true - safe-buffer@5.2.1: {} + /safe-buffer@5.2.1: + resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} - safe-regex-test@1.0.3: + /safe-regex-test@1.0.3: + resolution: {integrity: sha512-CdASjNJPvRa7roO6Ra/gLYBTzYzzPyyBXxIMdGW3USQLyjWEls2RgW5UBTXaQVp+OrpeCK3bLem8smtmheoRuw==} + engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.7 es-errors: 1.3.0 is-regex: 1.1.4 + dev: true - safe-regex2@2.0.0: + /safe-regex2@2.0.0: + resolution: {integrity: sha512-PaUSFsUaNNuKwkBijoAPHAK6/eM6VirvyPWlZ7BAQy4D+hCvh4B6lIG+nPdhbFfIbP+gTGBcrdsOaUs0F+ZBOQ==} dependencies: ret: 0.2.2 + dev: true - safe-stable-stringify@2.4.3: {} + /safe-stable-stringify@2.4.3: + resolution: {integrity: sha512-e2bDA2WJT0wxseVd4lsDP4+3ONX6HpMXQa1ZhFQ7SU+GjvORCmShbCMltrtIDfkYhVHrOcPtj+KhmDBdPdZD1g==} + engines: {node: '>=10'} + dev: false - safer-buffer@2.1.2: {} + /safer-buffer@2.1.2: + resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} - saxes@6.0.0: + /saxes@6.0.0: + resolution: {integrity: sha512-xAg7SOnEhrm5zI3puOOKyy1OMcMlIJZYNJY7xLBwSze0UjhPLnWfj2GF2EpT0jmzaJKIWKHLsaSSajf35bcYnA==} + engines: {node: '>=v12.22.7'} dependencies: xmlchars: 2.2.0 + dev: true - schema-utils@3.3.0: + /schema-utils@3.3.0: + resolution: {integrity: sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==} + engines: {node: '>= 10.13.0'} dependencies: '@types/json-schema': 7.0.15 ajv: 6.12.6 ajv-keywords: 3.5.2(ajv@6.12.6) + dev: true - schema-utils@4.2.0: + /schema-utils@4.2.0: + resolution: {integrity: sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw==} + engines: {node: '>= 12.13.0'} dependencies: '@types/json-schema': 7.0.15 ajv: 8.16.0 ajv-formats: 2.1.1(ajv@8.16.0) ajv-keywords: 5.1.0(ajv@8.16.0) + dev: true - search-insights@2.14.0: {} + /search-insights@2.14.0: + resolution: {integrity: sha512-OLN6MsPMCghDOqlCtsIsYgtsC0pnwVTyT9Mu6A3ewOj1DxvzZF6COrn2g86E/c05xbktB0XN04m/t1Z+n+fTGw==} + dev: true - secure-json-parse@2.7.0: {} + /secure-json-parse@2.7.0: + resolution: {integrity: sha512-6aU+Rwsezw7VR8/nyvKTx8QpWH9FrcYiXXlqC4z5d5XQBDRqtbfsRjnwGyqbi3gddNtWHuEk9OANUotL26qKUw==} + dev: true - select-hose@2.0.0: {} + /select-hose@2.0.0: + resolution: {integrity: sha512-mEugaLK+YfkijB4fx0e6kImuJdCIt2LxCRcbEYPqRGCs4F2ogyfZU5IAZRdjCP8JPq2AtdNoC/Dux63d9Kiryg==} + dev: true - selfsigned@2.4.1: + /selfsigned@2.4.1: + resolution: {integrity: sha512-th5B4L2U+eGLq1TVh7zNRGBapioSORUeymIydxgFpwww9d2qyKvtuPU2jJuHvYAwwqi2Y596QBL3eEqcPEYL8Q==} + engines: {node: '>=10'} dependencies: '@types/node-forge': 1.3.11 node-forge: 1.3.1 + dev: true - semver-store@0.3.0: {} + /semver-store@0.3.0: + resolution: {integrity: sha512-TcZvGMMy9vodEFSse30lWinkj+JgOBvPn8wRItpQRSayhc+4ssDs335uklkfvQQJgL/WvmHLVj4Ycv2s7QCQMg==} + dev: true - semver@5.7.2: {} + /semver@5.7.2: + resolution: {integrity: sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==} + hasBin: true + dev: true - semver@6.3.1: {} + /semver@6.3.1: + resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} + hasBin: true + dev: true - semver@7.5.4: + /semver@7.5.4: + resolution: {integrity: sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==} + engines: {node: '>=10'} + hasBin: true dependencies: lru-cache: 6.0.0 + dev: true - semver@7.6.2: {} + /semver@7.6.2: + resolution: {integrity: sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==} + engines: {node: '>=10'} + hasBin: true + dev: true - send@0.18.0: + /send@0.18.0: + resolution: {integrity: sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==} + engines: {node: '>= 0.8.0'} dependencies: debug: 2.6.9 depd: 2.0.0 @@ -16650,12 +13558,17 @@ snapshots: statuses: 2.0.1 transitivePeerDependencies: - supports-color + dev: true - serialize-javascript@6.0.2: + /serialize-javascript@6.0.2: + resolution: {integrity: sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==} dependencies: randombytes: 2.1.0 + dev: true - serve-index@1.9.1: + /serve-index@1.9.1: + resolution: {integrity: sha512-pXHfKNP4qujrtteMrSBb0rc8HJ9Ms/GrXwcUtUtD5s4ewDJI8bT3Cz2zTVRMKtri49pLx2e0Ya8ziP5Ya2pZZw==} + engines: {node: '>= 0.8.0'} dependencies: accepts: 1.3.8 batch: 0.6.1 @@ -16666,8 +13579,11 @@ snapshots: parseurl: 1.3.3 transitivePeerDependencies: - supports-color + dev: true - serve-static@1.15.0: + /serve-static@1.15.0: + resolution: {integrity: sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==} + engines: {node: '>= 0.8.0'} dependencies: encodeurl: 1.0.2 escape-html: 1.0.3 @@ -16675,12 +13591,19 @@ snapshots: send: 0.18.0 transitivePeerDependencies: - supports-color + dev: true - set-blocking@2.0.0: {} + /set-blocking@2.0.0: + resolution: {integrity: sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==} + dev: true - set-cookie-parser@2.6.0: {} + /set-cookie-parser@2.6.0: + resolution: {integrity: sha512-RVnVQxTXuerk653XfuliOxBP81Sf0+qfQE73LIYKcyMYHG94AuH0kgrQpRDuTZnSmjpysHmzxJXKNfa6PjFhyQ==} + dev: true - set-function-length@1.2.2: + /set-function-length@1.2.2: + resolution: {integrity: sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==} + engines: {node: '>= 0.4'} dependencies: define-data-property: 1.1.4 es-errors: 1.3.0 @@ -16688,149 +13611,250 @@ snapshots: get-intrinsic: 1.2.4 gopd: 1.0.1 has-property-descriptors: 1.0.2 + dev: true - set-function-name@2.0.2: + /set-function-name@2.0.2: + resolution: {integrity: sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==} + engines: {node: '>= 0.4'} dependencies: define-data-property: 1.1.4 es-errors: 1.3.0 functions-have-names: 1.2.3 has-property-descriptors: 1.0.2 + dev: true - setprototypeof@1.1.0: {} + /setprototypeof@1.1.0: + resolution: {integrity: sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==} + dev: true - setprototypeof@1.2.0: {} + /setprototypeof@1.2.0: + resolution: {integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==} + dev: true - shallow-clone@3.0.1: + /shallow-clone@3.0.1: + resolution: {integrity: sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==} + engines: {node: '>=8'} dependencies: kind-of: 6.0.3 + dev: true - shebang-command@1.2.0: + /shebang-command@1.2.0: + resolution: {integrity: sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==} + engines: {node: '>=0.10.0'} dependencies: shebang-regex: 1.0.0 + dev: true - shebang-command@2.0.0: + /shebang-command@2.0.0: + resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} + engines: {node: '>=8'} dependencies: shebang-regex: 3.0.0 - shebang-regex@1.0.0: {} + /shebang-regex@1.0.0: + resolution: {integrity: sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==} + engines: {node: '>=0.10.0'} + dev: true - shebang-regex@3.0.0: {} + /shebang-regex@3.0.0: + resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} + engines: {node: '>=8'} - shell-quote@1.8.1: {} + /shell-quote@1.8.1: + resolution: {integrity: sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA==} + dev: true - shiki@0.14.7: + /shiki@0.14.7: + resolution: {integrity: sha512-dNPAPrxSc87ua2sKJ3H5dQ/6ZaY8RNnaAqK+t0eG7p0Soi2ydiqbGOTaZCqaYvA/uZYfS1LJnemt3Q+mSfcPCg==} dependencies: ansi-sequence-parser: 1.1.1 jsonc-parser: 3.2.1 vscode-oniguruma: 1.7.0 vscode-textmate: 8.0.0 + dev: true - shiki@1.6.4: + /shiki@1.6.4: + resolution: {integrity: sha512-X88chM7w8jnadoZtjPTi5ahCJx9pc9f8GfEkZAEYUTlcUZIEw2D/RY86HI/LkkE7Nj8TQWkiBfaFTJ3VJT6ESg==} dependencies: '@shikijs/core': 1.6.4 + dev: true - side-channel@1.0.6: + /side-channel@1.0.6: + resolution: {integrity: sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==} + engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.7 es-errors: 1.3.0 get-intrinsic: 1.2.4 object-inspect: 1.13.1 + dev: true - siginfo@2.0.0: {} + /siginfo@2.0.0: + resolution: {integrity: sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==} + dev: true - signal-exit@3.0.7: {} + /signal-exit@3.0.7: + resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} + dev: true - signal-exit@4.1.0: {} + /signal-exit@4.1.0: + resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} + engines: {node: '>=14'} - simple-swizzle@0.2.2: + /simple-swizzle@0.2.2: + resolution: {integrity: sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg==} dependencies: is-arrayish: 0.3.2 + dev: false - sirv@2.0.4: + /sirv@2.0.4: + resolution: {integrity: sha512-94Bdh3cC2PKrbgSOUqTiGPWVZeSiXfKOVZNJniWoqrWrRkB1CJzBU3NEbiTsPcYy1lDsANA/THzS+9WBiy5nfQ==} + engines: {node: '>= 10'} dependencies: '@polka/url': 1.0.0-next.25 mrmime: 2.0.0 totalist: 3.0.1 + dev: true - sisteransi@1.0.5: {} + /sisteransi@1.0.5: + resolution: {integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==} + dev: true - slash@3.0.0: {} + /slash@3.0.0: + resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} + engines: {node: '>=8'} + dev: true - slash@4.0.0: {} + /slash@4.0.0: + resolution: {integrity: sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==} + engines: {node: '>=12'} + dev: true - slash@5.1.0: {} + /slash@5.1.0: + resolution: {integrity: sha512-ZA6oR3T/pEyuqwMgAKT0/hAv8oAXckzbkmR0UkUosQ+Mc4RxGoJkRmwHgHufaenlyAgE1Mxgpdcrf75y6XcnDg==} + engines: {node: '>=14.16'} + dev: true - slice-ansi@3.0.0: + /slice-ansi@3.0.0: + resolution: {integrity: sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ==} + engines: {node: '>=8'} dependencies: ansi-styles: 4.3.0 astral-regex: 2.0.0 is-fullwidth-code-point: 3.0.0 + dev: true - slice-ansi@4.0.0: + /slice-ansi@4.0.0: + resolution: {integrity: sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==} + engines: {node: '>=10'} dependencies: ansi-styles: 4.3.0 astral-regex: 2.0.0 is-fullwidth-code-point: 3.0.0 + dev: true - slice-ansi@5.0.0: + /slice-ansi@5.0.0: + resolution: {integrity: sha512-FC+lgizVPfie0kkhqUScwRu1O/lF6NOgJmlCgK+/LYxDCTk8sGelYaHDhFcDN+Sn3Cv+3VSa4Byeo+IMCzpMgQ==} + engines: {node: '>=12'} dependencies: ansi-styles: 6.2.1 is-fullwidth-code-point: 4.0.0 + dev: true - slice-ansi@7.1.0: + /slice-ansi@7.1.0: + resolution: {integrity: sha512-bSiSngZ/jWeX93BqeIAbImyTbEihizcwNjFoRUIY/T1wWQsfsm2Vw1agPKylXvQTU7iASGdHhyqRlqQzfz+Htg==} + engines: {node: '>=18'} dependencies: ansi-styles: 6.2.1 is-fullwidth-code-point: 5.0.0 + dev: true - smob@1.5.0: {} + /smob@1.5.0: + resolution: {integrity: sha512-g6T+p7QO8npa+/hNx9ohv1E5pVCmWrVCUzUXJyLdMmftX6ER0oiWY/w9knEonLpnOp6b6FenKnMfR8gqwWdwig==} + dev: true - sockjs@0.3.24: + /sockjs@0.3.24: + resolution: {integrity: sha512-GJgLTZ7vYb/JtPSSZ10hsOYIvEYsjbNU+zPdIHcUaWVNUEPivzxku31865sSSud0Da0W4lEeOPlmw93zLQchuQ==} dependencies: faye-websocket: 0.11.4 uuid: 8.3.2 websocket-driver: 0.7.4 + dev: true - sonic-boom@1.4.1: + /sonic-boom@1.4.1: + resolution: {integrity: sha512-LRHh/A8tpW7ru89lrlkU4AszXt1dbwSjVWguGrmlxE7tawVmDBlI1PILMkXAxJTwqhgsEeTHzj36D5CmHgQmNg==} dependencies: atomic-sleep: 1.0.0 flatstr: 1.0.12 + dev: true - sonic-boom@3.8.1: + /sonic-boom@3.8.1: + resolution: {integrity: sha512-y4Z8LCDBuum+PBP3lSV7RHrXscqksve/bi0as7mhwVnBW+/wUqKT/2Kb7um8yqcFy0duYbbPxzt89Zy2nOCaxg==} dependencies: atomic-sleep: 1.0.0 + dev: false - source-map-js@1.0.1: {} + /source-map-js@1.0.1: + resolution: {integrity: sha512-4+TN2b3tqOCd/kaGRJ/sTYA0tR0mdXx26ipdolxcwtJVqEnqNYvlCAt1q3ypy4QMlYus+Zh34RNtYLoq2oQ4IA==} + engines: {node: '>=0.10.0'} + dev: true - source-map-js@1.2.0: {} + /source-map-js@1.2.0: + resolution: {integrity: sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==} + engines: {node: '>=0.10.0'} - source-map-support@0.5.13: + /source-map-support@0.5.13: + resolution: {integrity: sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==} dependencies: buffer-from: 1.1.2 source-map: 0.6.1 + dev: true - source-map-support@0.5.21: + /source-map-support@0.5.21: + resolution: {integrity: sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==} dependencies: buffer-from: 1.1.2 source-map: 0.6.1 + dev: true - source-map@0.1.43: + /source-map@0.1.43: + resolution: {integrity: sha512-VtCvB9SIQhk3aF6h+N85EaqIaBFIAfZ9Cu+NJHHVvc8BbEcnvDcFw6sqQ2dQrT6SlOrZq3tIvyD9+EGq/lJryQ==} + engines: {node: '>=0.8.0'} + requiresBuild: true dependencies: amdefine: 1.0.1 + dev: true optional: true - source-map@0.6.1: {} + /source-map@0.6.1: + resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} + engines: {node: '>=0.10.0'} + dev: true - source-map@0.7.4: {} + /source-map@0.7.4: + resolution: {integrity: sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==} + engines: {node: '>= 8'} + dev: true - source-map@0.8.0-beta.0: + /source-map@0.8.0-beta.0: + resolution: {integrity: sha512-2ymg6oRBpebeZi9UUNsgQ89bhx01TcTkmNTGnNO88imTmbSgy4nfujrgVEFKWpMTEGA11EDkTt7mqObTPdigIA==} + engines: {node: '>= 8'} dependencies: whatwg-url: 7.1.0 + dev: true - sourcemap-codec@1.4.8: {} + /sourcemap-codec@1.4.8: + resolution: {integrity: sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==} + deprecated: Please use @jridgewell/sourcemap-codec instead + dev: true - spawn-command@0.0.2: {} + /spawn-command@0.0.2: + resolution: {integrity: sha512-zC8zGoGkmc8J9ndvml8Xksr1Amk9qBujgbF0JAIWO7kXr43w0h/0GJNM/Vustixu+YE8N/MTrQ7N31FvHUACxQ==} + dev: true - spawn-wrap@2.0.0: + /spawn-wrap@2.0.0: + resolution: {integrity: sha512-EeajNjfN9zMnULLwhZZQU3GWBoFNkbngTUPfaawT4RkMiviTxcX0qfhVbGey39mfctfDHkWtuecgQ8NJcyQWHg==} + engines: {node: '>=8'} dependencies: foreground-child: 2.0.0 is-windows: 1.0.2 @@ -16838,27 +13862,39 @@ snapshots: rimraf: 3.0.2 signal-exit: 3.0.7 which: 2.0.2 + dev: true - spdx-correct@3.2.0: + /spdx-correct@3.2.0: + resolution: {integrity: sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==} dependencies: spdx-expression-parse: 3.0.1 spdx-license-ids: 3.0.18 + dev: true - spdx-exceptions@2.5.0: {} + /spdx-exceptions@2.5.0: + resolution: {integrity: sha512-PiU42r+xO4UbUS1buo3LPJkjlO7430Xn5SVAhdpzzsPHsjbYVflnnFdATgabnLude+Cqu25p6N+g2lw/PFsa4w==} + dev: true - spdx-expression-parse@3.0.1: + /spdx-expression-parse@3.0.1: + resolution: {integrity: sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==} dependencies: spdx-exceptions: 2.5.0 spdx-license-ids: 3.0.18 + dev: true - spdx-expression-parse@4.0.0: + /spdx-expression-parse@4.0.0: + resolution: {integrity: sha512-Clya5JIij/7C6bRR22+tnGXbc4VKlibKSVj2iHvVeX5iMW7s1SIQlqu699JkODJJIhh/pUu8L0/VLh8xflD+LQ==} dependencies: spdx-exceptions: 2.5.0 spdx-license-ids: 3.0.18 + dev: true - spdx-license-ids@3.0.18: {} + /spdx-license-ids@3.0.18: + resolution: {integrity: sha512-xxRs31BqRYHwiMzudOrpSiHtZ8i/GeionCBDSilhYRj+9gIcI8wCZTlXZKu9vZIVqViP3dcp9qE5G6AlIaD+TQ==} + dev: true - spdy-transport@3.0.0: + /spdy-transport@3.0.0: + resolution: {integrity: sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==} dependencies: debug: 4.3.5(supports-color@8.1.1) detect-node: 2.1.0 @@ -16868,8 +13904,11 @@ snapshots: wbuf: 1.7.3 transitivePeerDependencies: - supports-color + dev: true - spdy@4.0.2: + /spdy@4.0.2: + resolution: {integrity: sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA==} + engines: {node: '>=6.0.0'} dependencies: debug: 4.3.5(supports-color@8.1.1) handle-thing: 2.0.1 @@ -16878,18 +13917,32 @@ snapshots: spdy-transport: 3.0.0 transitivePeerDependencies: - supports-color + dev: true - speakingurl@14.0.1: {} + /speakingurl@14.0.1: + resolution: {integrity: sha512-1POYv7uv2gXoyGFpBCmpDVSNV74IfsWlDW216UPjbWufNf+bSU6GdbDsxdcxtfwb4xlI3yxzOTKClUosxARYrQ==} + engines: {node: '>=0.10.0'} + dev: true - split2@4.2.0: {} + /split2@4.2.0: + resolution: {integrity: sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg==} + engines: {node: '>= 10.x'} + dev: false - split@0.3.3: + /split@0.3.3: + resolution: {integrity: sha512-wD2AeVmxXRBoX44wAycgjVpMhvbwdI2aZjCkvfNcH1YqHQvJVa1duWc73OyVGJUc05fhFaTZeQ/PYsrmyH0JVA==} dependencies: through: 2.3.8 + dev: true - sprintf-js@1.0.3: {} + /sprintf-js@1.0.3: + resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==} + dev: true - sshpk@1.18.0: + /sshpk@1.18.0: + resolution: {integrity: sha512-2p2KJZTSqQ/I3+HX42EpYOa2l3f8Erv8MWKsy2I9uf4wA7yFIkXRffYdsx86y6z4vHtV8u7g+pPlr8/4ouAxsQ==} + engines: {node: '>=0.10.0'} + hasBin: true dependencies: asn1: 0.2.6 assert-plus: 1.0.0 @@ -16900,16 +13953,27 @@ snapshots: jsbn: 0.1.1 safer-buffer: 2.1.2 tweetnacl: 0.14.5 + dev: true - ssim.js@3.5.0: {} + /ssim.js@3.5.0: + resolution: {integrity: sha512-Aj6Jl2z6oDmgYFFbQqK7fght19bXdOxY7Tj03nF+03M9gCBAjeIiO8/PlEGMfKDwYpw4q6iBqVq2YuREorGg/g==} + dev: true - stack-utils@2.0.6: + /stack-utils@2.0.6: + resolution: {integrity: sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==} + engines: {node: '>=10'} dependencies: escape-string-regexp: 2.0.0 + dev: true - stackback@0.0.2: {} + /stackback@0.0.2: + resolution: {integrity: sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==} + dev: true - start-server-and-test@2.0.4: + /start-server-and-test@2.0.4: + resolution: {integrity: sha512-CKNeBTcP0hVqIlNismHMudb9q3lLdAjcVPO13/7gfI66fcJpeIb/o4NzQd1JK/CD+lfWVqr10ZH9Y14+OwlJuw==} + engines: {node: '>=16'} + hasBin: true dependencies: arg: 5.0.2 bluebird: 3.7.2 @@ -16921,45 +13985,74 @@ snapshots: wait-on: 7.2.0(debug@4.3.5) transitivePeerDependencies: - supports-color + dev: true - statuses@1.5.0: {} + /statuses@1.5.0: + resolution: {integrity: sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==} + engines: {node: '>= 0.6'} + dev: true - statuses@2.0.1: {} + /statuses@2.0.1: + resolution: {integrity: sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==} + engines: {node: '>= 0.8'} + dev: true - std-env@3.7.0: {} + /std-env@3.7.0: + resolution: {integrity: sha512-JPbdCEQLj1w5GilpiHAx3qJvFndqybBysA3qUOnznweH4QbNYUsW/ea8QzSrnh0vNsezMMw5bcVool8lM0gwzg==} + dev: true - stream-combiner@0.0.4: + /stream-combiner@0.0.4: + resolution: {integrity: sha512-rT00SPnTVyRsaSz5zgSPma/aHSOic5U1prhYdRy5HS2kTZviFpmDgzilbtsJsxiroqACmayynDN/9VzIbX5DOw==} dependencies: duplexer: 0.1.2 + dev: true - string-argv@0.3.2: {} + /string-argv@0.3.2: + resolution: {integrity: sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q==} + engines: {node: '>=0.6.19'} + dev: true - string-length@4.0.2: + /string-length@4.0.2: + resolution: {integrity: sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==} + engines: {node: '>=10'} dependencies: char-regex: 1.0.2 strip-ansi: 6.0.1 + dev: true - string-similarity@4.0.4: {} + /string-similarity@4.0.4: + resolution: {integrity: sha512-/q/8Q4Bl4ZKAPjj8WerIBJWALKkaPRfrvhfF8k/B23i4nzrlRj2/go1m90In7nG/3XDSbOo0+pu6RvCTM9RGMQ==} + deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info. + dev: true - string-width@4.2.3: + /string-width@4.2.3: + resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} + engines: {node: '>=8'} dependencies: emoji-regex: 8.0.0 is-fullwidth-code-point: 3.0.0 strip-ansi: 6.0.1 - string-width@5.1.2: + /string-width@5.1.2: + resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==} + engines: {node: '>=12'} dependencies: eastasianwidth: 0.2.0 emoji-regex: 9.2.2 strip-ansi: 7.1.0 - string-width@7.1.0: + /string-width@7.1.0: + resolution: {integrity: sha512-SEIJCWiX7Kg4c129n48aDRwLbFb2LJmXXFrWBG4NGaRtMQ3myKPKbwrD1BKqQn74oCoNMBVrfDEr5M9YxCsrkw==} + engines: {node: '>=18'} dependencies: emoji-regex: 10.3.0 get-east-asian-width: 1.2.0 strip-ansi: 7.1.0 + dev: true - string.prototype.matchall@4.0.11: + /string.prototype.matchall@4.0.11: + resolution: {integrity: sha512-NUdh0aDavY2og7IbBPenWqR9exH+E26Sv8e0/eTe1tltDGZL+GtBkDAnnyBtmekfK6/Dq3MkcGtzXFEd1LQrtg==} + engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.7 define-properties: 1.2.1 @@ -16973,75 +14066,125 @@ snapshots: regexp.prototype.flags: 1.5.2 set-function-name: 2.0.2 side-channel: 1.0.6 + dev: true - string.prototype.trim@1.2.9: + /string.prototype.trim@1.2.9: + resolution: {integrity: sha512-klHuCNxiMZ8MlsOihJhJEBJAiMVqU3Z2nEXWfWnIqjN0gEFS9J9+IxKozWWtQGcgoa1WUZzLjKPTr4ZHNFTFxw==} + engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.7 define-properties: 1.2.1 es-abstract: 1.23.3 es-object-atoms: 1.0.0 + dev: true - string.prototype.trimend@1.0.8: + /string.prototype.trimend@1.0.8: + resolution: {integrity: sha512-p73uL5VCHCO2BZZ6krwwQE3kCzM7NKmis8S//xEC6fQonchbum4eP6kR4DLEjQFO3Wnj3Fuo8NM0kOSjVdHjZQ==} dependencies: call-bind: 1.0.7 define-properties: 1.2.1 es-object-atoms: 1.0.0 + dev: true - string.prototype.trimstart@1.0.8: + /string.prototype.trimstart@1.0.8: + resolution: {integrity: sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==} + engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.7 define-properties: 1.2.1 es-object-atoms: 1.0.0 + dev: true - string_decoder@1.1.1: + /string_decoder@1.1.1: + resolution: {integrity: sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==} dependencies: safe-buffer: 5.1.2 + dev: true - string_decoder@1.3.0: + /string_decoder@1.3.0: + resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==} dependencies: safe-buffer: 5.2.1 - stringify-object@3.3.0: + /stringify-object@3.3.0: + resolution: {integrity: sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw==} + engines: {node: '>=4'} dependencies: get-own-enumerable-property-symbols: 3.0.2 is-obj: 1.0.1 is-regexp: 1.0.0 + dev: true - strip-ansi@3.0.1: + /strip-ansi@3.0.1: + resolution: {integrity: sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==} + engines: {node: '>=0.10.0'} dependencies: ansi-regex: 2.1.1 + dev: true - strip-ansi@6.0.1: + /strip-ansi@6.0.1: + resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} + engines: {node: '>=8'} dependencies: ansi-regex: 5.0.1 - strip-ansi@7.1.0: + /strip-ansi@7.1.0: + resolution: {integrity: sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==} + engines: {node: '>=12'} dependencies: ansi-regex: 6.0.1 - strip-bom@4.0.0: {} + /strip-bom@4.0.0: + resolution: {integrity: sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==} + engines: {node: '>=8'} + dev: true - strip-comments@2.0.1: {} + /strip-comments@2.0.1: + resolution: {integrity: sha512-ZprKx+bBLXv067WTCALv8SSz5l2+XhpYCsVtSqlMnkAXMWDq+/ekVbl1ghqP9rUHTzv6sm/DwCOiYutU/yp1fw==} + engines: {node: '>=10'} + dev: true - strip-eof@1.0.0: {} + /strip-eof@1.0.0: + resolution: {integrity: sha512-7FCwGGmx8mD5xQd3RPUvnSpUXHM3BWuzjtpD4TXsfcZ9EL4azvVVUscFYwD9nx8Kh+uCBC00XBtAykoMHwTh8Q==} + engines: {node: '>=0.10.0'} + dev: true - strip-final-newline@2.0.0: {} + /strip-final-newline@2.0.0: + resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==} + engines: {node: '>=6'} + dev: true - strip-final-newline@3.0.0: {} + /strip-final-newline@3.0.0: + resolution: {integrity: sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==} + engines: {node: '>=12'} + dev: true - strip-indent@3.0.0: + /strip-indent@3.0.0: + resolution: {integrity: sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==} + engines: {node: '>=8'} dependencies: min-indent: 1.0.1 + dev: true - strip-json-comments@3.1.1: {} + /strip-json-comments@3.1.1: + resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} + engines: {node: '>=8'} + dev: true - strip-literal@2.1.0: + /strip-literal@2.1.0: + resolution: {integrity: sha512-Op+UycaUt/8FbN/Z2TWPBLge3jWrP3xj10f3fnYxf052bKuS3EKs1ZQcVGjnEMdsNVAM+plXRdmjrZ/KgG3Skw==} dependencies: js-tokens: 9.0.0 + dev: true - stylis@4.3.2: {} + /stylis@4.3.2: + resolution: {integrity: sha512-bhtUjWd/z6ltJiQwg0dUfxEJ+W+jdqQd8TbWLWyeIJHlnsqmGLRFFd8e5mA0AZi/zx90smXRlN66YMTcaSFifg==} + dev: false - sucrase@3.35.0: + /sucrase@3.35.0: + resolution: {integrity: sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA==} + engines: {node: '>=16 || 14 >=14.17'} + hasBin: true dependencies: '@jridgewell/gen-mapping': 0.3.5 commander: 4.1.1 @@ -17050,33 +14193,57 @@ snapshots: mz: 2.7.0 pirates: 4.0.6 ts-interface-checker: 0.1.13 + dev: false - supports-color@2.0.0: {} + /supports-color@2.0.0: + resolution: {integrity: sha512-KKNVtd6pCYgPIKU4cp2733HWYCpplQhddZLBUryaAHou723x+FRzQ5Df824Fj+IyyuiQTRoub4SnIFfIcrp70g==} + engines: {node: '>=0.8.0'} + dev: true - supports-color@5.5.0: + /supports-color@5.5.0: + resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} + engines: {node: '>=4'} dependencies: has-flag: 3.0.0 + dev: true - supports-color@7.2.0: + /supports-color@7.2.0: + resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} + engines: {node: '>=8'} dependencies: has-flag: 4.0.0 + dev: true - supports-color@8.1.1: + /supports-color@8.1.1: + resolution: {integrity: sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==} + engines: {node: '>=10'} dependencies: has-flag: 4.0.0 - supports-preserve-symlinks-flag@1.0.0: {} + /supports-preserve-symlinks-flag@1.0.0: + resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} + engines: {node: '>= 0.4'} - symbol-tree@3.2.4: {} + /symbol-tree@3.2.4: + resolution: {integrity: sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==} + dev: true - synckit@0.9.0: + /synckit@0.9.0: + resolution: {integrity: sha512-7RnqIMq572L8PeEzKeBINYEJDDxpcH8JEgLwUqBd3TkofhFRbkq4QLR0u+36avGAhCRbk2nnmjcW9SE531hPDg==} + engines: {node: ^14.18.0 || >=16.0.0} dependencies: '@pkgr/core': 0.1.1 tslib: 2.6.3 + dev: true - tabbable@6.2.0: {} + /tabbable@6.2.0: + resolution: {integrity: sha512-Cat63mxsVJlzYvN51JmVXIgNoUokrIaT2zLclCXjRd8boZ0004U4KCs/sToJ75C6sdlByWxpYnb5Boif1VSFew==} + dev: true - tailwindcss@3.4.4: + /tailwindcss@3.4.4: + resolution: {integrity: sha512-ZoyXOdJjISB7/BcLTR6SEsLgKtDStYyYZVLsUtWChO4Ps20CBad7lfJKVDiejocV4ME1hLmyY0WJE3hSDcmQ2A==} + engines: {node: '>=14.0.0'} + hasBin: true dependencies: '@alloc/quick-lru': 5.2.0 arg: 5.0.2 @@ -17102,10 +14269,16 @@ snapshots: sucrase: 3.35.0 transitivePeerDependencies: - ts-node + dev: false - tapable@2.2.1: {} + /tapable@2.2.1: + resolution: {integrity: sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==} + engines: {node: '>=6'} + dev: true - teen_process@1.16.0: + /teen_process@1.16.0: + resolution: {integrity: sha512-RnW7HHZD1XuhSTzD3djYOdIl1adE3oNEprE3HOFFxWs5m4FZsqYRhKJ4mDU2udtNGMLUS7jV7l8vVRLWAvmPDw==} + engines: {'0': node} dependencies: '@babel/runtime': 7.24.7 bluebird: 3.7.2 @@ -17113,200 +14286,347 @@ snapshots: shell-quote: 1.8.1 source-map-support: 0.5.21 which: 2.0.2 + dev: true - temp-dir@2.0.0: {} + /temp-dir@2.0.0: + resolution: {integrity: sha512-aoBAniQmmwtcKp/7BzsH8Cxzv8OL736p7v1ihGb5e9DJ9kTwGWHrQrVB5+lfVDzfGrdRzXch+ig7LHaY1JTOrg==} + engines: {node: '>=8'} + dev: true - tempy@0.6.0: + /tempy@0.6.0: + resolution: {integrity: sha512-G13vtMYPT/J8A4X2SjdtBTphZlrp1gKv6hZiOjw14RCWg6GbHuQBGtjlx75xLbYV/wEc0D7G5K4rxKP/cXk8Bw==} + engines: {node: '>=10'} dependencies: is-stream: 2.0.1 temp-dir: 2.0.0 type-fest: 0.16.0 unique-string: 2.0.0 + dev: true - term-img@4.1.0: + /term-img@4.1.0: + resolution: {integrity: sha512-DFpBhaF5j+2f7kheKFc1ajsAUUDGOaNPpKPtiIMxlbfud6mvfFZuWGnTRpaujUa5J7yl6cIw/h6nyr4mSsENPg==} + engines: {node: '>=8'} dependencies: ansi-escapes: 4.3.2 iterm2-version: 4.2.0 + dev: true - terser-webpack-plugin@5.3.10(esbuild@0.20.2)(webpack@5.92.0(esbuild@0.20.2)(webpack-cli@4.10.0)): + /terser-webpack-plugin@5.3.10(esbuild@0.20.2)(webpack@5.92.0): + resolution: {integrity: sha512-BKFPWlPDndPs+NGGCr1U59t0XScL5317Y0UReNrHaw9/FwhPENlq6bfgs+4yPfyP51vqC1bQ4rp1EfXW5ZSH9w==} + engines: {node: '>= 10.13.0'} + peerDependencies: + '@swc/core': '*' + esbuild: '*' + uglify-js: '*' + webpack: ^5.1.0 + peerDependenciesMeta: + '@swc/core': + optional: true + esbuild: + optional: true + uglify-js: + optional: true dependencies: '@jridgewell/trace-mapping': 0.3.25 - jest-worker: 27.5.1 - schema-utils: 3.3.0 - serialize-javascript: 6.0.2 - terser: 5.31.1 - webpack: 5.92.0(esbuild@0.20.2)(webpack-cli@4.10.0) - optionalDependencies: esbuild: 0.20.2 - - terser-webpack-plugin@5.3.10(esbuild@0.20.2)(webpack@5.92.0(esbuild@0.20.2)): - dependencies: - '@jridgewell/trace-mapping': 0.3.25 jest-worker: 27.5.1 schema-utils: 3.3.0 serialize-javascript: 6.0.2 terser: 5.31.1 - webpack: 5.92.0(esbuild@0.20.2) - optionalDependencies: - esbuild: 0.20.2 + webpack: 5.92.0(esbuild@0.20.2)(webpack-cli@4.10.0) + dev: true - terser@5.31.1: + /terser@5.31.1: + resolution: {integrity: sha512-37upzU1+viGvuFtBo9NPufCb9dwM0+l9hMxYyWfBA+fbwrPqNJAhbZ6W47bBFnZHKHTUBnMvi87434qq+qnxOg==} + engines: {node: '>=10'} + hasBin: true dependencies: '@jridgewell/source-map': 0.3.6 - acorn: 8.11.3 + acorn: 8.12.0 commander: 2.20.3 source-map-support: 0.5.21 + dev: true - test-exclude@6.0.0: + /test-exclude@6.0.0: + resolution: {integrity: sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==} + engines: {node: '>=8'} dependencies: '@istanbuljs/schema': 0.1.3 glob: 7.2.3 minimatch: 3.1.2 + dev: true - text-table@0.2.0: {} + /text-table@0.2.0: + resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==} + dev: true - thenify-all@1.6.0: + /thenify-all@1.6.0: + resolution: {integrity: sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==} + engines: {node: '>=0.8'} dependencies: thenify: 3.3.1 - thenify@3.3.1: + /thenify@3.3.1: + resolution: {integrity: sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==} dependencies: any-promise: 1.3.0 - thread-stream@2.7.0: + /thread-stream@2.7.0: + resolution: {integrity: sha512-qQiRWsU/wvNolI6tbbCKd9iKaTnCXsTwVxhhKM6nctPdujTyztjlbUkUTUymidWcMnZ5pWR0ej4a0tjsW021vw==} dependencies: real-require: 0.2.0 + dev: false - throat@6.0.2: {} + /throat@6.0.2: + resolution: {integrity: sha512-WKexMoJj3vEuK0yFEapj8y64V0A6xcuPuK9Gt1d0R+dzCSJc0lHqQytAbSB4cDAK0dWh4T0E2ETkoLE2WZ41OQ==} + dev: true - throttleit@1.0.1: {} + /throttleit@1.0.1: + resolution: {integrity: sha512-vDZpf9Chs9mAdfY046mcPt8fg5QSZr37hEH4TXYBnDF+izxgrbRGUAAaBvIk/fJm9aOFCGFd1EsNg5AZCbnQCQ==} + dev: true - through@2.3.8: {} + /through@2.3.8: + resolution: {integrity: sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==} + dev: true - thunky@1.1.0: {} + /thunky@1.1.0: + resolution: {integrity: sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==} + dev: true - timers-ext@0.1.8: + /timers-ext@0.1.8: + resolution: {integrity: sha512-wFH7+SEAcKfJpfLPkrgMPvvwnEtj8W4IurvEyrKsDleXnKLCDw71w8jltvfLa8Rm4qQxxT4jmDBYbJG/z7qoww==} + engines: {node: '>=0.12'} dependencies: es5-ext: 0.10.64 next-tick: 1.1.0 + dev: true - tiny-lru@8.0.2: {} + /tiny-lru@8.0.2: + resolution: {integrity: sha512-ApGvZ6vVvTNdsmt676grvCkUCGwzG9IqXma5Z07xJgiC5L7akUMof5U8G2JTI9Rz/ovtVhJBlY6mNhEvtjzOIg==} + engines: {node: '>=6'} + dev: true - tinybench@2.8.0: {} + /tinybench@2.8.0: + resolution: {integrity: sha512-1/eK7zUnIklz4JUUlL+658n58XO2hHLQfSk1Zf2LKieUjxidN16eKFEoDEfjHc3ohofSSqK3X5yO6VGb6iW8Lw==} + dev: true - tinypool@0.8.4: {} + /tinypool@0.8.4: + resolution: {integrity: sha512-i11VH5gS6IFeLY3gMBQ00/MmLncVP7JLXOw1vlgkytLmJK7QnEr7NXf0LBdxfmNPAeyetukOk0bOYrJrFGjYJQ==} + engines: {node: '>=14.0.0'} + dev: true - tinyspy@2.2.1: {} + /tinyspy@2.2.1: + resolution: {integrity: sha512-KYad6Vy5VDWV4GH3fjpseMQ/XU2BhIYP7Vzd0LG44qRWm/Yt2WCOTicFdvmgo6gWaqooMQCawTtILVQJupKu7A==} + engines: {node: '>=14.0.0'} + dev: true - tmp@0.2.3: {} + /tmp@0.2.3: + resolution: {integrity: sha512-nZD7m9iCPC5g0pYmcaxogYKggSfLsdxl8of3Q/oIbqCqLLIO9IAF0GWjX1z9NZRHPiXv8Wex4yDCaZsgEw0Y8w==} + engines: {node: '>=14.14'} + dev: true - tmpl@1.0.5: {} + /tmpl@1.0.5: + resolution: {integrity: sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==} + dev: true - to-fast-properties@2.0.0: {} + /to-fast-properties@2.0.0: + resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==} + engines: {node: '>=4'} - to-regex-range@5.0.1: + /to-regex-range@5.0.1: + resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} + engines: {node: '>=8.0'} dependencies: is-number: 7.0.0 - toidentifier@1.0.1: {} + /toidentifier@1.0.1: + resolution: {integrity: sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==} + engines: {node: '>=0.6'} + dev: true - totalist@3.0.1: {} + /totalist@3.0.1: + resolution: {integrity: sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ==} + engines: {node: '>=6'} + dev: true - tough-cookie@4.1.4: + /tough-cookie@4.1.4: + resolution: {integrity: sha512-Loo5UUvLD9ScZ6jh8beX1T6sO1w2/MpCRpEP7V280GKMVUQ0Jzar2U3UJPsrdbziLEMMhu3Ujnq//rhiFuIeag==} + engines: {node: '>=6'} dependencies: psl: 1.9.0 punycode: 2.3.1 universalify: 0.2.0 url-parse: 1.5.10 + dev: true - tr46@0.0.3: {} + /tr46@0.0.3: + resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==} + dev: true - tr46@1.0.1: + /tr46@1.0.1: + resolution: {integrity: sha512-dTpowEjclQ7Kgx5SdBkqRzVhERQXov8/l9Ft9dVM9fmg0W0KQSVaXX9T4i6twCPNtYiZM53lpSSUAwJbFPOHxA==} dependencies: punycode: 2.3.1 + dev: true - tr46@5.0.0: + /tr46@5.0.0: + resolution: {integrity: sha512-tk2G5R2KRwBd+ZN0zaEXpmzdKyOYksXwywulIX95MBODjSzMIuQnQ3m8JxgbhnL1LeVo7lqQKsYa1O3Htl7K5g==} + engines: {node: '>=18'} dependencies: punycode: 2.3.1 + dev: true - traverse@0.3.9: {} + /traverse@0.3.9: + resolution: {integrity: sha512-iawgk0hLP3SxGKDfnDJf8wTz4p2qImnyihM5Hh/sGvQ3K37dPi/w8sRhdNIxYA1TwFwc5mDhIJq+O0RsvXBKdQ==} + dev: true - tree-kill@1.2.2: {} + /tree-kill@1.2.2: + resolution: {integrity: sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==} + hasBin: true + dev: true - trough@2.2.0: {} + /trough@2.2.0: + resolution: {integrity: sha512-tmMpK00BjZiUyVyvrBK7knerNgmgvcV/KLVyuma/SC+TQN167GrMRciANTz09+k3zW8L8t60jWO1GpfkZdjTaw==} + dev: true - ts-api-utils@1.3.0(typescript@5.4.5): + /ts-api-utils@1.3.0(typescript@5.4.5): + resolution: {integrity: sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ==} + engines: {node: '>=16'} + peerDependencies: + typescript: '>=4.2.0' dependencies: typescript: 5.4.5 + dev: true - ts-dedent@2.2.0: {} + /ts-dedent@2.2.0: + resolution: {integrity: sha512-q5W7tVM71e2xjHZTlgfTDoPF/SmqKG5hddq9SzR49CH2hayqRKJtQ4mtRlSxKaJlR/+9rEM+mnBHf7I2/BQcpQ==} + engines: {node: '>=6.10'} + dev: false - ts-interface-checker@0.1.13: {} + /ts-interface-checker@0.1.13: + resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==} + dev: false - ts-toolbelt@6.15.5: {} + /ts-toolbelt@6.15.5: + resolution: {integrity: sha512-FZIXf1ksVyLcfr7M317jbB67XFJhOO1YqdTcuGaq9q5jLUoTikukZ+98TPjKiP2jC5CgmYdWWYs0s2nLSU0/1A==} + dev: false - tslib@1.14.1: {} + /tslib@1.14.1: + resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==} + dev: true - tslib@2.6.3: {} + /tslib@2.6.3: + resolution: {integrity: sha512-xNvxJEOUiWPGhUuUdQgAJPKOOJfGnIyKySOc09XkKsgdUV/3E2zvwZYdejjmRgPCgcym1juLH3226yA7sEFJKQ==} + dev: true - tsutils@3.21.0(typescript@5.4.5): + /tsutils@3.21.0(typescript@5.4.5): + resolution: {integrity: sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==} + engines: {node: '>= 6'} + peerDependencies: + typescript: '>=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta' dependencies: tslib: 1.14.1 typescript: 5.4.5 + dev: true - tsx@4.15.4: + /tsx@4.15.4: + resolution: {integrity: sha512-d++FLCwJLrXaBFtRcqdPBzu6FiVOJ2j+UsvUZPtoTrnYtCGU5CEW7iHXtNZfA2fcRTvJFWPqA6SWBuB0GSva9w==} + engines: {node: '>=18.0.0'} + hasBin: true dependencies: esbuild: 0.21.5 get-tsconfig: 4.7.5 optionalDependencies: fsevents: 2.3.3 + dev: true - tunnel-agent@0.6.0: + /tunnel-agent@0.6.0: + resolution: {integrity: sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==} dependencies: safe-buffer: 5.2.1 + dev: true - tweetnacl@0.14.5: {} + /tweetnacl@0.14.5: + resolution: {integrity: sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==} + dev: true - type-check@0.4.0: + /type-check@0.4.0: + resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} + engines: {node: '>= 0.8.0'} dependencies: prelude-ls: 1.2.1 + dev: true - type-detect@4.0.8: {} + /type-detect@4.0.8: + resolution: {integrity: sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==} + engines: {node: '>=4'} + dev: true - type-fest@0.16.0: {} + /type-fest@0.16.0: + resolution: {integrity: sha512-eaBzG6MxNzEn9kiwvtre90cXaNLkmadMWa1zQMs3XORCXNbsH/OewwbxC5ia9dCxIxnTAsSxXJaa/p5y8DlvJg==} + engines: {node: '>=10'} + dev: true - type-fest@0.20.2: {} + /type-fest@0.20.2: + resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==} + engines: {node: '>=10'} + dev: true - type-fest@0.21.3: {} + /type-fest@0.21.3: + resolution: {integrity: sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==} + engines: {node: '>=10'} + dev: true - type-fest@0.6.0: {} + /type-fest@0.6.0: + resolution: {integrity: sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==} + engines: {node: '>=8'} + dev: true - type-fest@0.8.1: {} + /type-fest@0.8.1: + resolution: {integrity: sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==} + engines: {node: '>=8'} + dev: true - type-fest@4.20.0: {} + /type-fest@4.20.0: + resolution: {integrity: sha512-MBh+PHUHHisjXf4tlx0CFWoMdjx8zCMLJHOjnV1prABYZFHqtFOyauCIK2/7w4oIfwkF8iNhLtnJEfVY2vn3iw==} + engines: {node: '>=16'} + dev: true - type-is@1.6.18: + /type-is@1.6.18: + resolution: {integrity: sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==} + engines: {node: '>= 0.6'} dependencies: media-typer: 0.3.0 mime-types: 2.1.35 + dev: true - type@2.7.3: {} + /type@2.7.3: + resolution: {integrity: sha512-8j+1QmAbPvLZow5Qpi6NCaN8FB60p/6x8/vfNqOk/hC+HuvFZhL4+WfekuhQLiqFZXOgQdrs3B+XxEmCc6b3FQ==} + dev: true - typed-array-buffer@1.0.2: + /typed-array-buffer@1.0.2: + resolution: {integrity: sha512-gEymJYKZtKXzzBzM4jqa9w6Q1Jjm7x2d+sh19AdsD4wqnMPDYyvwpsIc2Q/835kHuo3BEQ7CjelGhfTsoBb2MQ==} + engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.7 es-errors: 1.3.0 is-typed-array: 1.1.13 + dev: true - typed-array-byte-length@1.0.1: + /typed-array-byte-length@1.0.1: + resolution: {integrity: sha512-3iMJ9q0ao7WE9tWcaYKIptkNBuOIcZCCT0d4MRvuuH88fEoEH62IuQe0OtraD3ebQEoTRk8XCBoknUNc1Y67pw==} + engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.7 for-each: 0.3.3 gopd: 1.0.1 has-proto: 1.0.3 is-typed-array: 1.1.13 + dev: true - typed-array-byte-offset@1.0.2: + /typed-array-byte-offset@1.0.2: + resolution: {integrity: sha512-Ous0vodHa56FviZucS2E63zkgtgrACj7omjwd/8lTEMEPFFyjfixMZ1ZXenpgCFBBt4EC1J2XsyVS2gkG0eTFA==} + engines: {node: '>= 0.4'} dependencies: available-typed-arrays: 1.0.7 call-bind: 1.0.7 @@ -17314,8 +14634,11 @@ snapshots: gopd: 1.0.1 has-proto: 1.0.3 is-typed-array: 1.1.13 + dev: true - typed-array-length@1.0.6: + /typed-array-length@1.0.6: + resolution: {integrity: sha512-/OxDN6OtAk5KBpGb28T+HZc2M+ADtvRxXrKKbUwtsLgdoxgX13hyy7ek6bFRl5+aBs2yZzB0c4CnQfAtVypW/g==} + engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.7 for-each: 0.3.3 @@ -17323,63 +14646,111 @@ snapshots: has-proto: 1.0.3 is-typed-array: 1.1.13 possible-typed-array-names: 1.0.0 + dev: true - typedarray-to-buffer@3.1.5: + /typedarray-to-buffer@3.1.5: + resolution: {integrity: sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==} dependencies: is-typedarray: 1.0.0 + dev: true - typedoc-plugin-markdown@3.17.1(typedoc@0.25.13(typescript@5.4.5)): + /typedoc-plugin-markdown@3.17.1(typedoc@0.25.13): + resolution: {integrity: sha512-QzdU3fj0Kzw2XSdoL15ExLASt2WPqD7FbLeaqwT70+XjKyTshBnUlQA5nNREO1C2P8Uen0CDjsBLMsCQ+zd0lw==} + peerDependencies: + typedoc: '>=0.24.0' dependencies: handlebars: 4.7.8 typedoc: 0.25.13(typescript@5.4.5) + dev: true - typedoc@0.25.13(typescript@5.4.5): + /typedoc@0.25.13(typescript@5.4.5): + resolution: {integrity: sha512-pQqiwiJ+Z4pigfOnnysObszLiU3mVLWAExSPf+Mu06G/qsc3wzbuM56SZQvONhHLncLUhYzOVkjFFpFfL5AzhQ==} + engines: {node: '>= 16'} + hasBin: true + peerDependencies: + typescript: 4.6.x || 4.7.x || 4.8.x || 4.9.x || 5.0.x || 5.1.x || 5.2.x || 5.3.x || 5.4.x dependencies: lunr: 2.3.9 marked: 4.3.0 minimatch: 9.0.4 shiki: 0.14.7 typescript: 5.4.5 + dev: true - typescript@5.4.5: {} + /typescript@5.4.5: + resolution: {integrity: sha512-vcI4UpRgg81oIRUFwR0WSIHKt11nJ7SAVlYNIu+QpqeyXP+gpQJy/Z4+F0aGxSE4MqwjyXvW/TzgkLAx2AGHwQ==} + engines: {node: '>=14.17'} + hasBin: true - uc.micro@1.0.6: {} + /uc.micro@1.0.6: + resolution: {integrity: sha512-8Y75pvTYkLJW2hWQHXxoqRgV7qb9B+9vFEtidML+7koHUFapnVJAZ6cKs+Qjz5Aw3aZWHMC6u0wJE3At+nSGwA==} + dev: true - ufo@1.5.3: {} + /ufo@1.5.3: + resolution: {integrity: sha512-Y7HYmWaFwPUmkoQCUIAYpKqkOf+SbVj/2fJJZ4RJMCfZp0rTGwRbzQD+HghfnhKOjL9E01okqz+ncJskGYfBNw==} + dev: true - uglify-js@3.18.0: {} + /uglify-js@3.18.0: + resolution: {integrity: sha512-SyVVbcNBCk0dzr9XL/R/ySrmYf0s372K6/hFklzgcp2lBFyXtw4I7BOdDjlLhE1aVqaI/SHWXWmYdlZxuyF38A==} + engines: {node: '>=0.8.0'} + hasBin: true + dev: true - unbox-primitive@1.0.2: + /unbox-primitive@1.0.2: + resolution: {integrity: sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==} dependencies: call-bind: 1.0.7 has-bigints: 1.0.2 has-symbols: 1.0.3 which-boxed-primitive: 1.0.2 + dev: true - unconfig@0.3.13: + /unconfig@0.3.13: + resolution: {integrity: sha512-N9Ph5NC4+sqtcOjPfHrRcHekBCadCXWTBzp2VYYbySOHW0PfD9XLCeXshTXjkPYwLrBr9AtSeU0CZmkYECJhng==} dependencies: '@antfu/utils': 0.7.8 defu: 6.1.4 jiti: 1.21.6 + dev: true - underscore@1.1.7: {} + /underscore@1.1.7: + resolution: {integrity: sha512-w4QtCHoLBXw1mjofIDoMyexaEdWGMedWNDhlWTtT1V1lCRqi65Pnoygkh6+WRdr+Bm8ldkBNkNeCsXGMlQS9HQ==} + dev: true - undici-types@5.26.5: {} + /undici-types@5.26.5: + resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} + dev: true - unicode-canonical-property-names-ecmascript@2.0.0: {} + /unicode-canonical-property-names-ecmascript@2.0.0: + resolution: {integrity: sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==} + engines: {node: '>=4'} + dev: true - unicode-match-property-ecmascript@2.0.0: + /unicode-match-property-ecmascript@2.0.0: + resolution: {integrity: sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==} + engines: {node: '>=4'} dependencies: unicode-canonical-property-names-ecmascript: 2.0.0 unicode-property-aliases-ecmascript: 2.1.0 + dev: true - unicode-match-property-value-ecmascript@2.1.0: {} + /unicode-match-property-value-ecmascript@2.1.0: + resolution: {integrity: sha512-qxkjQt6qjg/mYscYMC0XKRn3Rh0wFPlfxB0xkt9CfyTvpX1Ra0+rAmdX2QyAobptSEvuy4RtpPRui6XkV+8wjA==} + engines: {node: '>=4'} + dev: true - unicode-property-aliases-ecmascript@2.1.0: {} + /unicode-property-aliases-ecmascript@2.1.0: + resolution: {integrity: sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==} + engines: {node: '>=4'} + dev: true - unicorn-magic@0.1.0: {} + /unicorn-magic@0.1.0: + resolution: {integrity: sha512-lRfVq8fE8gz6QMBuDM6a+LO3IAzTi05H6gCVaUpir2E1Rwpo4ZUog45KpNXKC/Mn3Yb9UDuHumeFTo9iV/D9FQ==} + engines: {node: '>=18'} + dev: true - unified@11.0.4: + /unified@11.0.4: + resolution: {integrity: sha512-apMPnyLjAX+ty4OrNap7yumyVAMlKx5IWU2wlzzUdYJO9A8f1p9m/gywF/GM2ZDFcjQPrx59Mc90KwmxsoklxQ==} dependencies: '@types/unist': 3.0.2 bail: 2.0.2 @@ -17388,49 +14759,85 @@ snapshots: is-plain-obj: 4.1.0 trough: 2.2.0 vfile: 6.0.1 + dev: true - unique-string@2.0.0: + /unique-string@2.0.0: + resolution: {integrity: sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg==} + engines: {node: '>=8'} dependencies: crypto-random-string: 2.0.0 + dev: true - unist-util-flatmap@1.0.0: {} + /unist-util-flatmap@1.0.0: + resolution: {integrity: sha512-IG32jcKJlhARCYT2LsYPJWdoXYkzz3ESAdl1aa2hn9Auh+cgUmU6wgkII4yCc/1GgeWibRdELdCZh/p3QKQ1dQ==} + dev: true - unist-util-inspect@8.0.0: + /unist-util-inspect@8.0.0: + resolution: {integrity: sha512-/3Wn/wU6/H6UEo4FoYUeo8KUePN8ERiZpQYFWYoihOsr1DoDuv80PeB0hobVZyYSvALa2e556bG1A1/AbwU4yg==} dependencies: '@types/unist': 3.0.2 + dev: true - unist-util-is@6.0.0: + /unist-util-is@6.0.0: + resolution: {integrity: sha512-2qCTHimwdxLfz+YzdGfkqNlH0tLi9xjTnHddPmJwtIG9MGsdbutfTc4P+haPD7l7Cjxf/WZj+we5qfVPvvxfYw==} dependencies: '@types/unist': 3.0.2 + dev: true - unist-util-stringify-position@2.0.3: + /unist-util-stringify-position@2.0.3: + resolution: {integrity: sha512-3faScn5I+hy9VleOq/qNbAd6pAx7iH5jYBMS9I1HgQVijz/4mv5Bvw5iw1sC/90CODiKo81G/ps8AJrISn687g==} dependencies: '@types/unist': 2.0.10 + dev: true - unist-util-stringify-position@4.0.0: + /unist-util-stringify-position@4.0.0: + resolution: {integrity: sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==} dependencies: '@types/unist': 3.0.2 - unist-util-visit-parents@6.0.1: + /unist-util-visit-parents@6.0.1: + resolution: {integrity: sha512-L/PqWzfTP9lzzEa6CKs0k2nARxTdZduw3zyh8d2NVBnsyvHjSX4TWse388YrrQKbvI8w20fGjGlhgT96WwKykw==} dependencies: '@types/unist': 3.0.2 unist-util-is: 6.0.0 + dev: true - unist-util-visit@5.0.0: + /unist-util-visit@5.0.0: + resolution: {integrity: sha512-MR04uvD+07cwl/yhVuVWAtw+3GOR/knlL55Nd/wAdblk27GCVt3lqpTivy/tkJcZoNPzTwS1Y+KMojlLDhoTzg==} dependencies: '@types/unist': 3.0.2 unist-util-is: 6.0.0 unist-util-visit-parents: 6.0.1 + dev: true - universalify@0.1.2: {} + /universalify@0.1.2: + resolution: {integrity: sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==} + engines: {node: '>= 4.0.0'} + dev: true - universalify@0.2.0: {} + /universalify@0.2.0: + resolution: {integrity: sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==} + engines: {node: '>= 4.0.0'} + dev: true - universalify@2.0.1: {} + /universalify@2.0.1: + resolution: {integrity: sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==} + engines: {node: '>= 10.0.0'} + dev: true - unocss@0.59.4(postcss@8.4.38)(rollup@2.79.1)(vite@5.2.13(@types/node@20.14.2)(terser@5.31.1)): + /unocss@0.59.4(postcss@8.4.38)(rollup@2.79.1)(vite@5.3.0): + resolution: {integrity: sha512-QmCVjRObvVu/gsGrJGVt0NnrdhFFn314BUZn2WQyXV9rIvHLRmG5bIu0j5vibJkj7ZhFchTrnTM1pTFXP1xt5g==} + engines: {node: '>=14'} + peerDependencies: + '@unocss/webpack': 0.59.4 + vite: ^2.9.0 || ^3.0.0-0 || ^4.0.0 || ^5.0.0-0 + peerDependenciesMeta: + '@unocss/webpack': + optional: true + vite: + optional: true dependencies: - '@unocss/astro': 0.59.4(rollup@2.79.1)(vite@5.2.13(@types/node@20.14.2)(terser@5.31.1)) + '@unocss/astro': 0.59.4(rollup@2.79.1)(vite@5.3.0) '@unocss/cli': 0.59.4(rollup@2.79.1) '@unocss/core': 0.59.4 '@unocss/extractor-arbitrary-variants': 0.59.4 @@ -17449,17 +14856,31 @@ snapshots: '@unocss/transformer-compile-class': 0.59.4 '@unocss/transformer-directives': 0.59.4 '@unocss/transformer-variant-group': 0.59.4 - '@unocss/vite': 0.59.4(rollup@2.79.1)(vite@5.2.13(@types/node@20.14.2)(terser@5.31.1)) - optionalDependencies: - vite: 5.2.13(@types/node@20.14.2)(terser@5.31.1) + '@unocss/vite': 0.59.4(rollup@2.79.1)(vite@5.3.0) + vite: 5.3.0(@types/node@20.14.2) transitivePeerDependencies: - postcss - rollup - supports-color + dev: true - unpipe@1.0.0: {} + /unpipe@1.0.0: + resolution: {integrity: sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==} + engines: {node: '>= 0.8'} + dev: true - unplugin-vue-components@0.26.0(@babel/parser@7.24.7)(rollup@2.79.1)(vue@3.4.27(typescript@5.4.5)): + /unplugin-vue-components@0.26.0(rollup@2.79.1)(vue@3.4.27): + resolution: {integrity: sha512-s7IdPDlnOvPamjunVxw8kNgKNK8A5KM1YpK5j/p97jEKTjlPNrA0nZBiSfAKKlK1gWZuyWXlKL5dk3EDw874LQ==} + engines: {node: '>=14'} + peerDependencies: + '@babel/parser': ^7.15.8 + '@nuxt/kit': ^3.2.2 + vue: 2 || 3 + peerDependenciesMeta: + '@babel/parser': + optional: true + '@nuxt/kit': + optional: true dependencies: '@antfu/utils': 0.7.8 '@rollup/pluginutils': 5.1.0(rollup@2.79.1) @@ -17472,83 +14893,127 @@ snapshots: resolve: 1.22.8 unplugin: 1.10.1 vue: 3.4.27(typescript@5.4.5) - optionalDependencies: - '@babel/parser': 7.24.7 transitivePeerDependencies: - rollup - supports-color + dev: true - unplugin@1.10.1: + /unplugin@1.10.1: + resolution: {integrity: sha512-d6Mhq8RJeGA8UfKCu54Um4lFA0eSaRa3XxdAJg8tIdxbu1ubW0hBCZUL7yI2uGyYCRndvbK8FLHzqy2XKfeMsg==} + engines: {node: '>=14.0.0'} dependencies: - acorn: 8.11.3 + acorn: 8.12.0 chokidar: 3.6.0 webpack-sources: 3.2.3 webpack-virtual-modules: 0.6.2 + dev: true - untildify@4.0.0: {} + /untildify@4.0.0: + resolution: {integrity: sha512-KK8xQ1mkzZeg9inewmFVDNkg3l5LUhoq9kN6iWYB/CC9YMG8HA+c1Q8HwDe6dEX7kErrEVNVBO3fWsVq5iDgtw==} + engines: {node: '>=8'} + dev: true - upath@1.2.0: {} + /upath@1.2.0: + resolution: {integrity: sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==} + engines: {node: '>=4'} + dev: true - update-browserslist-db@1.0.16(browserslist@4.23.1): + /update-browserslist-db@1.0.16(browserslist@4.23.1): + resolution: {integrity: sha512-KVbTxlBYlckhF5wgfyZXTWnMn7MMZjMu9XG8bPlliUOP9ThaF4QnhP8qrjrH7DRzHfSk0oQv1wToW+iA5GajEQ==} + hasBin: true + peerDependencies: + browserslist: '>= 4.21.0' dependencies: browserslist: 4.23.1 escalade: 3.1.2 picocolors: 1.0.1 + dev: true - uri-js@4.4.1: + /uri-js@4.4.1: + resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} dependencies: punycode: 2.3.1 + dev: true - url-parse@1.5.10: + /url-parse@1.5.10: + resolution: {integrity: sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==} dependencies: querystringify: 2.2.0 requires-port: 1.0.0 + dev: true - util-deprecate@1.0.2: {} + /util-deprecate@1.0.2: + resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} - utils-merge@1.0.1: {} + /utils-merge@1.0.1: + resolution: {integrity: sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==} + engines: {node: '>= 0.4.0'} + dev: true - uuid@8.3.2: {} + /uuid@8.3.2: + resolution: {integrity: sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==} + hasBin: true + dev: true - uuid@9.0.1: {} + /uuid@9.0.1: + resolution: {integrity: sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==} + hasBin: true - v8-to-istanbul@9.2.0: + /v8-to-istanbul@9.2.0: + resolution: {integrity: sha512-/EH/sDgxU2eGxajKdwLCDmQ4FWq+kpi3uCmBGpw1xJtnAxEjlD8j8PEiGWpCIMIs3ciNAgH0d3TTJiUkYzyZjA==} + engines: {node: '>=10.12.0'} dependencies: '@jridgewell/trace-mapping': 0.3.25 '@types/istanbul-lib-coverage': 2.0.6 convert-source-map: 2.0.0 + dev: true - validate-npm-package-license@3.0.4: + /validate-npm-package-license@3.0.4: + resolution: {integrity: sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==} dependencies: spdx-correct: 3.2.0 spdx-expression-parse: 3.0.1 + dev: true - vary@1.1.2: {} + /vary@1.1.2: + resolution: {integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==} + engines: {node: '>= 0.8'} + dev: true - verror@1.10.0: + /verror@1.10.0: + resolution: {integrity: sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw==} + engines: {'0': node >=0.6.0} dependencies: assert-plus: 1.0.0 core-util-is: 1.0.2 extsprintf: 1.3.0 + dev: true - vfile-message@4.0.2: + /vfile-message@4.0.2: + resolution: {integrity: sha512-jRDZ1IMLttGj41KcZvlrYAaI3CfqpLpfpf+Mfig13viT6NKvRzWZ+lXz0Y5D60w6uJIBAOGq9mSHf0gktF0duw==} dependencies: '@types/unist': 3.0.2 unist-util-stringify-position: 4.0.0 + dev: true - vfile@6.0.1: + /vfile@6.0.1: + resolution: {integrity: sha512-1bYqc7pt6NIADBJ98UiG0Bn/CHIVOoZ/IyEkqIruLg0mE1BKzkOXY2D6CSqQIcKqgadppE5lrxgWXJmXd7zZJw==} dependencies: '@types/unist': 3.0.2 unist-util-stringify-position: 4.0.0 vfile-message: 4.0.2 + dev: true - vite-node@1.6.0(@types/node@20.14.2)(terser@5.31.1): + /vite-node@1.6.0(@types/node@20.14.2): + resolution: {integrity: sha512-de6HJgzC+TFzOu0NTC4RAIsyf/DY/ibWDYQUcuEA84EMHhcefTUGkjFHKKEJhQN4A+6I0u++kr3l36ZF2d7XRw==} + engines: {node: ^18.0.0 || >=20.0.0} + hasBin: true dependencies: cac: 6.7.14 debug: 4.3.5(supports-color@8.1.1) pathe: 1.1.2 picocolors: 1.0.1 - vite: 5.2.13(@types/node@20.14.2)(terser@5.31.1) + vite: 5.3.0(@types/node@20.14.2) transitivePeerDependencies: - '@types/node' - less @@ -17558,8 +15023,12 @@ snapshots: - sugarss - supports-color - terser + dev: true - vite-plugin-istanbul@6.0.2(vite@5.2.13(@types/node@20.14.2)(terser@5.31.1)): + /vite-plugin-istanbul@6.0.2(vite@5.3.0): + resolution: {integrity: sha512-0/sKwjEEIwbEyl43xX7onX3dIbMJAsigNsKyyVPalG1oRFo5jn3qkJbS2PUfp9wrr3piy1eT6qRoeeum2p4B2A==} + peerDependencies: + vite: '>=4 <=6' dependencies: '@istanbuljs/load-nyc-config': 1.1.0 espree: 10.0.1 @@ -17567,60 +15036,114 @@ snapshots: picocolors: 1.0.1 source-map: 0.7.4 test-exclude: 6.0.0 - vite: 5.2.13(@types/node@20.14.2)(terser@5.31.1) + vite: 5.3.0(@types/node@20.14.2) transitivePeerDependencies: - supports-color + dev: true - vite-plugin-pwa@0.19.8(vite@5.2.13(@types/node@20.14.2)(terser@5.31.1))(workbox-build@7.1.1(@types/babel__core@7.20.5))(workbox-window@7.1.0): + /vite-plugin-pwa@0.19.8(vite@5.3.0)(workbox-build@7.1.1)(workbox-window@7.1.0): + resolution: {integrity: sha512-e1oK0dfhzhDhY3VBuML6c0h8Xfx6EkOVYqolj7g+u8eRfdauZe5RLteCIA/c5gH0CBQ0CNFAuv/AFTx4Z7IXTw==} + engines: {node: '>=16.0.0'} + peerDependencies: + '@vite-pwa/assets-generator': ^0.2.4 + vite: ^3.1.0 || ^4.0.0 || ^5.0.0 + workbox-build: ^7.0.0 + workbox-window: ^7.0.0 + peerDependenciesMeta: + '@vite-pwa/assets-generator': + optional: true dependencies: debug: 4.3.5(supports-color@8.1.1) fast-glob: 3.3.2 pretty-bytes: 6.1.1 - vite: 5.2.13(@types/node@20.14.2)(terser@5.31.1) - workbox-build: 7.1.1(@types/babel__core@7.20.5) + vite: 5.3.0(@types/node@20.14.2) + workbox-build: 7.1.1 workbox-window: 7.1.0 transitivePeerDependencies: - supports-color + dev: true - vite@5.2.13(@types/node@20.14.2)(terser@5.31.1): + /vite@5.3.0(@types/node@20.14.2): + resolution: {integrity: sha512-hA6vAVK977NyW1Qw+fLvqSo7xDPej7von7C3DwwqPRmnnnK36XEBC/J3j1V5lP8fbt7y0TgTKJbpNGSwM+Bdeg==} + engines: {node: ^18.0.0 || >=20.0.0} + hasBin: true + peerDependencies: + '@types/node': ^18.0.0 || >=20.0.0 + less: '*' + lightningcss: ^1.21.0 + sass: '*' + stylus: '*' + sugarss: '*' + terser: ^5.4.0 + peerDependenciesMeta: + '@types/node': + optional: true + less: + optional: true + lightningcss: + optional: true + sass: + optional: true + stylus: + optional: true + sugarss: + optional: true + terser: + optional: true dependencies: - esbuild: 0.20.2 + '@types/node': 20.14.2 + esbuild: 0.21.5 postcss: 8.4.38 rollup: 4.18.0 optionalDependencies: - '@types/node': 20.14.2 fsevents: 2.3.3 - terser: 5.31.1 + dev: true - vitepress-plugin-search@1.0.4-alpha.22(flexsearch@0.7.43)(vitepress@1.1.4(@algolia/client-search@4.23.3)(@types/node@20.14.2)(axios@1.7.2)(postcss@8.4.38)(search-insights@2.14.0)(terser@5.31.1)(typescript@5.4.5))(vue@3.4.27(typescript@5.4.5)): + /vitepress-plugin-search@1.0.4-alpha.22(flexsearch@0.7.43)(vitepress@1.1.4)(vue@3.4.27): + resolution: {integrity: sha512-IAOEJu+kjVY+0pb6/PeRjIbr175HFFbnMdLmLjqcy7VWxkabIRZbLoQL1VUYDZl804o/Or+GaX02gsiMOnVxFA==} + engines: {node: ^14.13.1 || ^16.7.0 || >=18} + peerDependencies: + flexsearch: ^0.7.31 + vitepress: ^1.0.0-rc.35 + vue: '3' dependencies: '@types/flexsearch': 0.7.6 '@types/markdown-it': 12.2.3 flexsearch: 0.7.43 glob-to-regexp: 0.4.1 markdown-it: 13.0.2 - vitepress: 1.1.4(@algolia/client-search@4.23.3)(@types/node@20.14.2)(axios@1.7.2)(postcss@8.4.38)(search-insights@2.14.0)(terser@5.31.1)(typescript@5.4.5) + vitepress: 1.1.4(@algolia/client-search@4.23.3)(@types/node@20.14.2)(postcss@8.4.38)(search-insights@2.14.0)(typescript@5.4.5) vue: 3.4.27(typescript@5.4.5) + dev: true - vitepress@1.1.4(@algolia/client-search@4.23.3)(@types/node@20.14.2)(axios@1.7.2)(postcss@8.4.38)(search-insights@2.14.0)(terser@5.31.1)(typescript@5.4.5): + /vitepress@1.1.4(@algolia/client-search@4.23.3)(@types/node@20.14.2)(postcss@8.4.38)(search-insights@2.14.0)(typescript@5.4.5): + resolution: {integrity: sha512-bWIzFZXpPB6NIDBuWnS20aMADH+FcFKDfQNYFvbOWij03PR29eImTceQHIzCKordjXYBhM/TjE5VKFTUJ3EheA==} + hasBin: true + peerDependencies: + markdown-it-mathjax3: ^4 + postcss: ^8 + peerDependenciesMeta: + markdown-it-mathjax3: + optional: true + postcss: + optional: true dependencies: '@docsearch/css': 3.6.0 '@docsearch/js': 3.6.0(@algolia/client-search@4.23.3)(search-insights@2.14.0) '@shikijs/core': 1.6.4 '@shikijs/transformers': 1.6.4 '@types/markdown-it': 14.1.1 - '@vitejs/plugin-vue': 5.0.5(vite@5.2.13(@types/node@20.14.2)(terser@5.31.1))(vue@3.4.27(typescript@5.4.5)) - '@vue/devtools-api': 7.2.1(vue@3.4.27(typescript@5.4.5)) - '@vueuse/core': 10.11.0(vue@3.4.27(typescript@5.4.5)) - '@vueuse/integrations': 10.11.0(axios@1.7.2)(focus-trap@7.5.4)(vue@3.4.27(typescript@5.4.5)) + '@vitejs/plugin-vue': 5.0.5(vite@5.3.0)(vue@3.4.27) + '@vue/devtools-api': 7.2.1(vue@3.4.27) + '@vueuse/core': 10.11.0(vue@3.4.27) + '@vueuse/integrations': 10.11.0(focus-trap@7.5.4)(vue@3.4.27) focus-trap: 7.5.4 mark.js: 8.11.1 minisearch: 6.3.0 + postcss: 8.4.38 shiki: 1.6.4 - vite: 5.2.13(@types/node@20.14.2)(terser@5.31.1) + vite: 5.3.0(@types/node@20.14.2) vue: 3.4.27(typescript@5.4.5) - optionalDependencies: - postcss: 8.4.38 transitivePeerDependencies: - '@algolia/client-search' - '@types/node' @@ -17647,18 +15170,45 @@ snapshots: - terser - typescript - universal-cookie + dev: true - vitest@1.6.0(@types/node@20.14.2)(@vitest/ui@1.6.0)(jsdom@24.1.0)(terser@5.31.1): + /vitest@1.6.0(@types/node@20.14.2)(@vitest/ui@1.6.0)(jsdom@24.1.0): + resolution: {integrity: sha512-H5r/dN06swuFnzNFhq/dnz37bPXnq8xB2xB5JOVk8K09rUtoeNN+LHWkoQ0A/i3hvbUKKcCei9KpbxqHMLhLLA==} + engines: {node: ^18.0.0 || >=20.0.0} + hasBin: true + peerDependencies: + '@edge-runtime/vm': '*' + '@types/node': ^18.0.0 || >=20.0.0 + '@vitest/browser': 1.6.0 + '@vitest/ui': 1.6.0 + happy-dom: '*' + jsdom: '*' + peerDependenciesMeta: + '@edge-runtime/vm': + optional: true + '@types/node': + optional: true + '@vitest/browser': + optional: true + '@vitest/ui': + optional: true + happy-dom: + optional: true + jsdom: + optional: true dependencies: + '@types/node': 20.14.2 '@vitest/expect': 1.6.0 '@vitest/runner': 1.6.0 '@vitest/snapshot': 1.6.0 '@vitest/spy': 1.6.0 + '@vitest/ui': 1.6.0(vitest@1.6.0) '@vitest/utils': 1.6.0 - acorn-walk: 8.3.2 + acorn-walk: 8.3.3 chai: 4.4.1 debug: 4.3.5(supports-color@8.1.1) execa: 8.0.1 + jsdom: 24.1.0 local-pkg: 0.5.0 magic-string: 0.30.10 pathe: 1.1.2 @@ -17667,13 +15217,9 @@ snapshots: strip-literal: 2.1.0 tinybench: 2.8.0 tinypool: 0.8.4 - vite: 5.2.13(@types/node@20.14.2)(terser@5.31.1) - vite-node: 1.6.0(@types/node@20.14.2)(terser@5.31.1) + vite: 5.3.0(@types/node@20.14.2) + vite-node: 1.6.0(@types/node@20.14.2) why-is-node-running: 2.2.2 - optionalDependencies: - '@types/node': 20.14.2 - '@vitest/ui': 1.6.0(vitest@1.6.0) - jsdom: 24.1.0 transitivePeerDependencies: - less - lightningcss @@ -17682,66 +15228,119 @@ snapshots: - sugarss - supports-color - terser + dev: true - vscode-json-languageservice@4.2.1: + /vscode-json-languageservice@4.2.1: + resolution: {integrity: sha512-xGmv9QIWs2H8obGbWg+sIPI/3/pFgj/5OWBhNzs00BkYQ9UaB2F6JJaGB/2/YOZJ3BvLXQTC4Q7muqU25QgAhA==} dependencies: jsonc-parser: 3.2.1 vscode-languageserver-textdocument: 1.0.11 vscode-languageserver-types: 3.17.5 vscode-nls: 5.2.0 vscode-uri: 3.0.8 + dev: true - vscode-jsonrpc@8.2.0: {} + /vscode-jsonrpc@8.2.0: + resolution: {integrity: sha512-C+r0eKJUIfiDIfwJhria30+TYWPtuHJXHtI7J0YlOmKAo7ogxP20T0zxB7HZQIFhIyvoBPwWskjxrvAtfjyZfA==} + engines: {node: '>=14.0.0'} - vscode-languageserver-protocol@3.17.5: + /vscode-languageserver-protocol@3.17.5: + resolution: {integrity: sha512-mb1bvRJN8SVznADSGWM9u/b07H7Ecg0I3OgXDuLdn307rl/J3A9YD6/eYOssqhecL27hK1IPZAsaqh00i/Jljg==} dependencies: vscode-jsonrpc: 8.2.0 vscode-languageserver-types: 3.17.5 - vscode-languageserver-textdocument@1.0.11: {} + /vscode-languageserver-textdocument@1.0.11: + resolution: {integrity: sha512-X+8T3GoiwTVlJbicx/sIAF+yuJAqz8VvwJyoMVhwEMoEKE/fkDmrqUgDMyBECcM2A2frVZIUj5HI/ErRXCfOeA==} - vscode-languageserver-types@3.17.5: {} + /vscode-languageserver-types@3.17.5: + resolution: {integrity: sha512-Ld1VelNuX9pdF39h2Hgaeb5hEZM2Z3jUrrMgWQAu82jMtZp7p3vJT3BzToKtZI7NgQssZje5o0zryOrhQvzQAg==} - vscode-languageserver@9.0.1: + /vscode-languageserver@9.0.1: + resolution: {integrity: sha512-woByF3PDpkHFUreUa7Hos7+pUWdeWMXRd26+ZX2A8cFx6v/JPTtd4/uN0/jB6XQHYaOlHbio03NTHCqrgG5n7g==} + hasBin: true dependencies: vscode-languageserver-protocol: 3.17.5 - vscode-nls@5.2.0: {} + /vscode-nls@5.2.0: + resolution: {integrity: sha512-RAaHx7B14ZU04EU31pT+rKz2/zSl7xMsfIZuo8pd+KZO6PXtQmpevpq3vxvWNcrGbdmhM/rr5Uw5Mz+NBfhVng==} + dev: true - vscode-oniguruma@1.7.0: {} + /vscode-oniguruma@1.7.0: + resolution: {integrity: sha512-L9WMGRfrjOhgHSdOYgCt/yRMsXzLDJSL7BPrOZt73gU0iWO4mpqzqQzOz5srxqTvMBaR0XZTSrVWo4j55Rc6cA==} + dev: true - vscode-textmate@8.0.0: {} + /vscode-textmate@8.0.0: + resolution: {integrity: sha512-AFbieoL7a5LMqcnOF04ji+rpXadgOXnZsxQr//r83kLPr7biP7am3g9zbaZIaBGwBRWeSvoMD4mgPdX3e4NWBg==} + dev: true - vscode-uri@3.0.8: {} + /vscode-uri@3.0.8: + resolution: {integrity: sha512-AyFQ0EVmsOZOlAnxoFOGOq1SQDWAB7C6aqMGS23svWAllfOaxbuFvcT8D1i8z3Gyn8fraVeZNNmN6e9bxxXkKw==} - vue-demi@0.13.11(vue@3.4.27(typescript@5.4.5)): + /vue-demi@0.13.11(vue@3.4.27): + resolution: {integrity: sha512-IR8HoEEGM65YY3ZJYAjMlKygDQn25D5ajNFNoKh9RSDMQtlzCxtfQjdQgv9jjK+m3377SsJXY8ysq8kLCZL25A==} + engines: {node: '>=12'} + hasBin: true + requiresBuild: true + peerDependencies: + '@vue/composition-api': ^1.0.0-rc.1 + vue: ^3.0.0-0 || ^2.6.0 + peerDependenciesMeta: + '@vue/composition-api': + optional: true dependencies: vue: 3.4.27(typescript@5.4.5) + dev: false - vue-demi@0.14.8(vue@3.4.27(typescript@5.4.5)): + /vue-demi@0.14.8(vue@3.4.27): + resolution: {integrity: sha512-Uuqnk9YE9SsWeReYqK2alDI5YzciATE0r2SkA6iMAtuXvNTMNACJLJEXNXaEy94ECuBe4Sk6RzRU80kjdbIo1Q==} + engines: {node: '>=12'} + hasBin: true + requiresBuild: true + peerDependencies: + '@vue/composition-api': ^1.0.0-rc.1 + vue: ^3.0.0-0 || ^2.6.0 + peerDependenciesMeta: + '@vue/composition-api': + optional: true dependencies: vue: 3.4.27(typescript@5.4.5) - vue@3.4.27(typescript@5.4.5): + /vue@3.4.27(typescript@5.4.5): + resolution: {integrity: sha512-8s/56uK6r01r1icG/aEOHqyMVxd1bkYcSe9j8HcKtr/xTOFWvnzIVTehNW+5Yt89f+DLBe4A569pnZLS5HzAMA==} + peerDependencies: + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true dependencies: '@vue/compiler-dom': 3.4.27 '@vue/compiler-sfc': 3.4.27 '@vue/runtime-dom': 3.4.27 - '@vue/server-renderer': 3.4.27(vue@3.4.27(typescript@5.4.5)) + '@vue/server-renderer': 3.4.27(vue@3.4.27) '@vue/shared': 3.4.27 - optionalDependencies: typescript: 5.4.5 - vuex@4.1.0(vue@3.4.27(typescript@5.4.5)): + /vuex@4.1.0(vue@3.4.27): + resolution: {integrity: sha512-hmV6UerDrPcgbSy9ORAtNXDr9M4wlNP4pEFKye4ujJF8oqgFFuxDCdOLS3eNoRTtq5O3hoBDh9Doj1bQMYHRbQ==} + peerDependencies: + vue: ^3.2.0 dependencies: '@vue/devtools-api': 6.6.3 vue: 3.4.27(typescript@5.4.5) + dev: false - w3c-xmlserializer@5.0.0: + /w3c-xmlserializer@5.0.0: + resolution: {integrity: sha512-o8qghlI8NZHU1lLPrpi2+Uq7abh4GGPpYANlalzWxyWteJOCsr/P+oPBA49TOLu5FTZO4d3F9MnWJfiMo4BkmA==} + engines: {node: '>=18'} dependencies: xml-name-validator: 5.0.0 + dev: true - wait-on@7.2.0(debug@4.3.5): + /wait-on@7.2.0(debug@4.3.5): + resolution: {integrity: sha512-wCQcHkRazgjG5XoAq9jbTMLpNIjoSlZslrJ2+N9MxDsGEv1HnFoVjOCexL0ESva7Y9cu350j+DWADdk54s4AFQ==} + engines: {node: '>=12.0.0'} + hasBin: true dependencies: axios: 1.7.2(debug@4.3.5) joi: 17.13.1 @@ -17750,23 +15349,36 @@ snapshots: rxjs: 7.8.1 transitivePeerDependencies: - debug + dev: true - walker@1.0.8: + /walker@1.0.8: + resolution: {integrity: sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==} dependencies: makeerror: 1.0.12 + dev: true - watchpack@2.4.1: + /watchpack@2.4.1: + resolution: {integrity: sha512-8wrBCMtVhqcXP2Sup1ctSkga6uc2Bx0IIvKyT7yTFier5AXHooSI+QyQQAtTb7+E0IUCCKyTFmXqdqgum2XWGg==} + engines: {node: '>=10.13.0'} dependencies: glob-to-regexp: 0.4.1 graceful-fs: 4.2.11 + dev: true - wbuf@1.7.3: + /wbuf@1.7.3: + resolution: {integrity: sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==} dependencies: minimalistic-assert: 1.0.1 + dev: true - web-streams-polyfill@3.3.3: {} + /web-streams-polyfill@3.3.3: + resolution: {integrity: sha512-d2JWLCivmZYTSIoge9MsgFCZrt571BikcWGYkjC1khllbTeDlGqZ2D8vD8E/lJa8WGWbb7Plm8/XJYV7IJHZZw==} + engines: {node: '>= 8'} + dev: true - webdriver@7.31.1(typescript@5.4.5): + /webdriver@7.31.1(typescript@5.4.5): + resolution: {integrity: sha512-nCdJLxRnYvOMFqTEX7sqQtF/hV/Jgov0Y6ICeOm1DMTlZSRRDaUsBMlEAPkEwif9uBJYdM0znv8qzfX358AGqQ==} + engines: {node: '>=12.0.0'} dependencies: '@types/node': 18.19.34 '@wdio/config': 7.31.1(typescript@5.4.5) @@ -17779,19 +15391,45 @@ snapshots: lodash.merge: 4.6.2 transitivePeerDependencies: - typescript + dev: true - webidl-conversions@3.0.1: {} + /webidl-conversions@3.0.1: + resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==} + dev: true - webidl-conversions@4.0.2: {} + /webidl-conversions@4.0.2: + resolution: {integrity: sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==} + dev: true - webidl-conversions@7.0.0: {} + /webidl-conversions@7.0.0: + resolution: {integrity: sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==} + engines: {node: '>=12'} + dev: true - webpack-cli@4.10.0(webpack-dev-server@4.15.2)(webpack@5.92.0): + /webpack-cli@4.10.0(webpack-dev-server@4.15.2)(webpack@5.92.0): + resolution: {integrity: sha512-NLhDfH/h4O6UOy+0LSso42xvYypClINuMNBVVzX4vX98TmTaTUxwRbXdhucbFMd2qLaCTcLq/PdYrvi8onw90w==} + engines: {node: '>=10.13.0'} + hasBin: true + peerDependencies: + '@webpack-cli/generators': '*' + '@webpack-cli/migrate': '*' + webpack: 4.x.x || 5.x.x + webpack-bundle-analyzer: '*' + webpack-dev-server: '*' + peerDependenciesMeta: + '@webpack-cli/generators': + optional: true + '@webpack-cli/migrate': + optional: true + webpack-bundle-analyzer: + optional: true + webpack-dev-server: + optional: true dependencies: '@discoveryjs/json-ext': 0.5.7 - '@webpack-cli/configtest': 1.2.0(webpack-cli@4.10.0(webpack-dev-server@4.15.2)(webpack@5.92.0))(webpack@5.92.0(esbuild@0.20.2)(webpack-cli@4.10.0)) - '@webpack-cli/info': 1.5.0(webpack-cli@4.10.0(webpack-dev-server@4.15.2)(webpack@5.92.0)) - '@webpack-cli/serve': 1.7.0(webpack-cli@4.10.0(webpack-dev-server@4.15.2)(webpack@5.92.0))(webpack-dev-server@4.15.2(webpack-cli@4.10.0)(webpack@5.92.0)) + '@webpack-cli/configtest': 1.2.0(webpack-cli@4.10.0)(webpack@5.92.0) + '@webpack-cli/info': 1.5.0(webpack-cli@4.10.0) + '@webpack-cli/serve': 1.7.0(webpack-cli@4.10.0)(webpack-dev-server@4.15.2) colorette: 2.0.20 commander: 7.2.0 cross-spawn: 7.0.3 @@ -17800,11 +15438,15 @@ snapshots: interpret: 2.2.0 rechoir: 0.7.1 webpack: 5.92.0(esbuild@0.20.2)(webpack-cli@4.10.0) - webpack-merge: 5.10.0 - optionalDependencies: webpack-dev-server: 4.15.2(webpack-cli@4.10.0)(webpack@5.92.0) + webpack-merge: 5.10.0 + dev: true - webpack-dev-middleware@5.3.4(webpack@5.92.0(esbuild@0.20.2)(webpack-cli@4.10.0)): + /webpack-dev-middleware@5.3.4(webpack@5.92.0): + resolution: {integrity: sha512-BVdTqhhs+0IfoeAf7EoH5WE+exCmqGerHfDM0IL096Px60Tq2Mn9MAbnaGUe6HiMa41KMCYF19gyzZmBcq/o4Q==} + engines: {node: '>= 12.13.0'} + peerDependencies: + webpack: ^4.0.0 || ^5.0.0 dependencies: colorette: 2.0.20 memfs: 3.5.3 @@ -17812,8 +15454,20 @@ snapshots: range-parser: 1.2.1 schema-utils: 4.2.0 webpack: 5.92.0(esbuild@0.20.2)(webpack-cli@4.10.0) + dev: true - webpack-dev-server@4.15.2(webpack-cli@4.10.0)(webpack@5.92.0): + /webpack-dev-server@4.15.2(webpack-cli@4.10.0)(webpack@5.92.0): + resolution: {integrity: sha512-0XavAZbNJ5sDrCbkpWL8mia0o5WPOd2YGtxrEiZkBK9FjLppIUK2TgxK6qGD2P3hUXTJNNPVibrerKcx5WkR1g==} + engines: {node: '>= 12.13.0'} + hasBin: true + peerDependencies: + webpack: ^4.37.0 || ^5.0.0 + webpack-cli: '*' + peerDependenciesMeta: + webpack: + optional: true + webpack-cli: + optional: true dependencies: '@types/bonjour': 3.5.13 '@types/connect-history-api-fallback': 1.5.4 @@ -17843,67 +15497,52 @@ snapshots: serve-index: 1.9.1 sockjs: 0.3.24 spdy: 4.0.2 - webpack-dev-middleware: 5.3.4(webpack@5.92.0(esbuild@0.20.2)(webpack-cli@4.10.0)) - ws: 8.17.0 - optionalDependencies: webpack: 5.92.0(esbuild@0.20.2)(webpack-cli@4.10.0) webpack-cli: 4.10.0(webpack-dev-server@4.15.2)(webpack@5.92.0) + webpack-dev-middleware: 5.3.4(webpack@5.92.0) + ws: 8.17.0 transitivePeerDependencies: - bufferutil - debug - supports-color - utf-8-validate + dev: true - webpack-merge@5.10.0: + /webpack-merge@5.10.0: + resolution: {integrity: sha512-+4zXKdx7UnO+1jaN4l2lHVD+mFvnlZQP/6ljaJVb4SZiwIKeUnrT5l0gkT8z+n4hKpC+jpOv6O9R+gLtag7pSA==} + engines: {node: '>=10.0.0'} dependencies: clone-deep: 4.0.1 flat: 5.0.2 wildcard: 2.0.1 + dev: true - webpack-sources@3.2.3: {} - - webpack-virtual-modules@0.6.2: {} + /webpack-sources@3.2.3: + resolution: {integrity: sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==} + engines: {node: '>=10.13.0'} + dev: true - webpack@5.92.0(esbuild@0.20.2): - dependencies: - '@types/eslint-scope': 3.7.7 - '@types/estree': 1.0.5 - '@webassemblyjs/ast': 1.12.1 - '@webassemblyjs/wasm-edit': 1.12.1 - '@webassemblyjs/wasm-parser': 1.12.1 - acorn: 8.11.3 - acorn-import-attributes: 1.9.5(acorn@8.11.3) - browserslist: 4.23.1 - chrome-trace-event: 1.0.4 - enhanced-resolve: 5.17.0 - es-module-lexer: 1.5.3 - eslint-scope: 5.1.1 - events: 3.3.0 - glob-to-regexp: 0.4.1 - graceful-fs: 4.2.11 - json-parse-even-better-errors: 2.3.1 - loader-runner: 4.3.0 - mime-types: 2.1.35 - neo-async: 2.6.2 - schema-utils: 3.3.0 - tapable: 2.2.1 - terser-webpack-plugin: 5.3.10(esbuild@0.20.2)(webpack@5.92.0(esbuild@0.20.2)) - watchpack: 2.4.1 - webpack-sources: 3.2.3 - transitivePeerDependencies: - - '@swc/core' - - esbuild - - uglify-js + /webpack-virtual-modules@0.6.2: + resolution: {integrity: sha512-66/V2i5hQanC51vBQKPH4aI8NMAcBW59FVBs+rC7eGHupMyfn34q7rZIE+ETlJ+XTevqfUhVVBgSUNSW2flEUQ==} + dev: true - webpack@5.92.0(esbuild@0.20.2)(webpack-cli@4.10.0): + /webpack@5.92.0(esbuild@0.20.2)(webpack-cli@4.10.0): + resolution: {integrity: sha512-Bsw2X39MYIgxouNATyVpCNVWBCuUwDgWtN78g6lSdPJRLaQ/PUVm/oXcaRAyY/sMFoKFQrsPeqvTizWtq7QPCA==} + engines: {node: '>=10.13.0'} + hasBin: true + peerDependencies: + webpack-cli: '*' + peerDependenciesMeta: + webpack-cli: + optional: true dependencies: '@types/eslint-scope': 3.7.7 '@types/estree': 1.0.5 '@webassemblyjs/ast': 1.12.1 '@webassemblyjs/wasm-edit': 1.12.1 '@webassemblyjs/wasm-parser': 1.12.1 - acorn: 8.11.3 - acorn-import-attributes: 1.9.5(acorn@8.11.3) + acorn: 8.12.0 + acorn-import-attributes: 1.9.5(acorn@8.12.0) browserslist: 4.23.1 chrome-trace-event: 1.0.4 enhanced-resolve: 5.17.0 @@ -17918,103 +15557,155 @@ snapshots: neo-async: 2.6.2 schema-utils: 3.3.0 tapable: 2.2.1 - terser-webpack-plugin: 5.3.10(esbuild@0.20.2)(webpack@5.92.0(esbuild@0.20.2)(webpack-cli@4.10.0)) + terser-webpack-plugin: 5.3.10(esbuild@0.20.2)(webpack@5.92.0) watchpack: 2.4.1 - webpack-sources: 3.2.3 - optionalDependencies: webpack-cli: 4.10.0(webpack-dev-server@4.15.2)(webpack@5.92.0) + webpack-sources: 3.2.3 transitivePeerDependencies: - '@swc/core' - esbuild - uglify-js + dev: true - websocket-driver@0.7.4: + /websocket-driver@0.7.4: + resolution: {integrity: sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg==} + engines: {node: '>=0.8.0'} dependencies: http-parser-js: 0.5.8 safe-buffer: 5.2.1 websocket-extensions: 0.1.4 + dev: true - websocket-extensions@0.1.4: {} + /websocket-extensions@0.1.4: + resolution: {integrity: sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==} + engines: {node: '>=0.8.0'} + dev: true - whatwg-encoding@3.1.1: + /whatwg-encoding@3.1.1: + resolution: {integrity: sha512-6qN4hJdMwfYBtE3YBTTHhoeuUrDBPZmbQaxWAqSALV/MeEnR5z1xd8UKud2RAkFoPkmB+hli1TZSnyi84xz1vQ==} + engines: {node: '>=18'} dependencies: iconv-lite: 0.6.3 + dev: true - whatwg-mimetype@4.0.0: {} + /whatwg-mimetype@4.0.0: + resolution: {integrity: sha512-QaKxh0eNIi2mE9p2vEdzfagOKHCcj1pJ56EEHGQOVxp8r9/iszLUUV7v89x9O1p/T+NlTM5W7jW6+cz4Fq1YVg==} + engines: {node: '>=18'} + dev: true - whatwg-url@14.0.0: + /whatwg-url@14.0.0: + resolution: {integrity: sha512-1lfMEm2IEr7RIV+f4lUNPOqfFL+pO+Xw3fJSqmjX9AbXcXcYOkCe1P6+9VBZB6n94af16NfZf+sSk0JCBZC9aw==} + engines: {node: '>=18'} dependencies: tr46: 5.0.0 webidl-conversions: 7.0.0 + dev: true - whatwg-url@5.0.0: + /whatwg-url@5.0.0: + resolution: {integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==} dependencies: tr46: 0.0.3 webidl-conversions: 3.0.1 + dev: true - whatwg-url@7.1.0: + /whatwg-url@7.1.0: + resolution: {integrity: sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==} dependencies: lodash.sortby: 4.7.0 tr46: 1.0.1 webidl-conversions: 4.0.2 + dev: true - which-boxed-primitive@1.0.2: + /which-boxed-primitive@1.0.2: + resolution: {integrity: sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==} dependencies: is-bigint: 1.0.4 is-boolean-object: 1.1.2 is-number-object: 1.0.7 is-string: 1.0.7 is-symbol: 1.0.4 + dev: true - which-module@2.0.1: {} + /which-module@2.0.1: + resolution: {integrity: sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ==} + dev: true - which-typed-array@1.1.15: + /which-typed-array@1.1.15: + resolution: {integrity: sha512-oV0jmFtUky6CXfkqehVvBP/LSWJ2sy4vWMioiENyJLePrBO/yKyV9OyJySfAKosh+RYkIl5zJCNZ8/4JncrpdA==} + engines: {node: '>= 0.4'} dependencies: available-typed-arrays: 1.0.7 call-bind: 1.0.7 for-each: 0.3.3 gopd: 1.0.1 has-tostringtag: 1.0.2 + dev: true - which@1.3.1: + /which@1.3.1: + resolution: {integrity: sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==} + hasBin: true dependencies: isexe: 2.0.0 + dev: true - which@2.0.2: + /which@2.0.2: + resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} + engines: {node: '>= 8'} + hasBin: true dependencies: isexe: 2.0.0 - why-is-node-running@2.2.2: + /why-is-node-running@2.2.2: + resolution: {integrity: sha512-6tSwToZxTOcotxHeA+qGCq1mVzKR3CwcJGmVcY+QE8SHy6TnpFnh8PAvPNHYr7EcuVeG0QSMxtYCuO1ta/G/oA==} + engines: {node: '>=8'} + hasBin: true dependencies: siginfo: 2.0.0 stackback: 0.0.2 + dev: true - widest-line@3.1.0: + /widest-line@3.1.0: + resolution: {integrity: sha512-NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg==} + engines: {node: '>=8'} dependencies: string-width: 4.2.3 + dev: true - wildcard@2.0.1: {} + /wildcard@2.0.1: + resolution: {integrity: sha512-CC1bOL87PIWSBhDcTrdeLo6eGT7mCFtrg0uIJtqJUFyK+eJnzl8A1niH56uu7KMa5XFrtiV+AQuHO3n7DsHnLQ==} + dev: true - word-wrap@1.2.5: {} + /word-wrap@1.2.5: + resolution: {integrity: sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==} + engines: {node: '>=0.10.0'} + dev: true - wordwrap@1.0.0: {} + /wordwrap@1.0.0: + resolution: {integrity: sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==} + dev: true - workbox-background-sync@7.1.0: + /workbox-background-sync@7.1.0: + resolution: {integrity: sha512-rMbgrzueVWDFcEq1610YyDW71z0oAXLfdRHRQcKw4SGihkfOK0JUEvqWHFwA6rJ+6TClnMIn7KQI5PNN1XQXwQ==} dependencies: idb: 7.1.1 workbox-core: 7.1.0 + dev: true - workbox-broadcast-update@7.1.0: + /workbox-broadcast-update@7.1.0: + resolution: {integrity: sha512-O36hIfhjej/c5ar95pO67k1GQw0/bw5tKP7CERNgK+JdxBANQhDmIuOXZTNvwb2IHBx9hj2kxvcDyRIh5nzOgQ==} dependencies: workbox-core: 7.1.0 + dev: true - workbox-build@7.1.1(@types/babel__core@7.20.5): + /workbox-build@7.1.1: + resolution: {integrity: sha512-WdkVdC70VMpf5NBCtNbiwdSZeKVuhTEd5PV3mAwpTQCGAB5XbOny1P9egEgNdetv4srAMmMKjvBk4RD58LpooA==} + engines: {node: '>=16.0.0'} dependencies: '@apideck/better-ajv-errors': 0.3.6(ajv@8.16.0) '@babel/core': 7.24.7 '@babel/preset-env': 7.24.7(@babel/core@7.24.7) '@babel/runtime': 7.24.7 - '@rollup/plugin-babel': 5.3.1(@babel/core@7.24.7)(@types/babel__core@7.20.5)(rollup@2.79.1) + '@rollup/plugin-babel': 5.3.1(@babel/core@7.24.7)(rollup@2.79.1) '@rollup/plugin-node-resolve': 15.2.3(rollup@2.79.1) '@rollup/plugin-replace': 2.4.2(rollup@2.79.1) '@rollup/plugin-terser': 0.4.4(rollup@2.79.1) @@ -18050,40 +15741,56 @@ snapshots: transitivePeerDependencies: - '@types/babel__core' - supports-color + dev: true - workbox-cacheable-response@7.1.0: + /workbox-cacheable-response@7.1.0: + resolution: {integrity: sha512-iwsLBll8Hvua3xCuBB9h92+/e0wdsmSVgR2ZlvcfjepZWwhd3osumQB3x9o7flj+FehtWM2VHbZn8UJeBXXo6Q==} dependencies: workbox-core: 7.1.0 + dev: true - workbox-core@7.1.0: {} + /workbox-core@7.1.0: + resolution: {integrity: sha512-5KB4KOY8rtL31nEF7BfvU7FMzKT4B5TkbYa2tzkS+Peqj0gayMT9SytSFtNzlrvMaWgv6y/yvP9C0IbpFjV30Q==} + dev: true - workbox-expiration@7.1.0: + /workbox-expiration@7.1.0: + resolution: {integrity: sha512-m5DcMY+A63rJlPTbbBNtpJ20i3enkyOtSgYfv/l8h+D6YbbNiA0zKEkCUaMsdDlxggla1oOfRkyqTvl5Ni5KQQ==} dependencies: idb: 7.1.1 workbox-core: 7.1.0 + dev: true - workbox-google-analytics@7.1.0: + /workbox-google-analytics@7.1.0: + resolution: {integrity: sha512-FvE53kBQHfVTcZyczeBVRexhh7JTkyQ8HAvbVY6mXd2n2A7Oyz/9fIwnY406ZcDhvE4NFfKGjW56N4gBiqkrew==} dependencies: workbox-background-sync: 7.1.0 workbox-core: 7.1.0 workbox-routing: 7.1.0 workbox-strategies: 7.1.0 + dev: true - workbox-navigation-preload@7.1.0: + /workbox-navigation-preload@7.1.0: + resolution: {integrity: sha512-4wyAbo0vNI/X0uWNJhCMKxnPanNyhybsReMGN9QUpaePLTiDpKxPqFxl4oUmBNddPwIXug01eTSLVIFXimRG/A==} dependencies: workbox-core: 7.1.0 + dev: true - workbox-precaching@7.1.0: + /workbox-precaching@7.1.0: + resolution: {integrity: sha512-LyxzQts+UEpgtmfnolo0hHdNjoB7EoRWcF7EDslt+lQGd0lW4iTvvSe3v5JiIckQSB5KTW5xiCqjFviRKPj1zA==} dependencies: workbox-core: 7.1.0 workbox-routing: 7.1.0 workbox-strategies: 7.1.0 + dev: true - workbox-range-requests@7.1.0: + /workbox-range-requests@7.1.0: + resolution: {integrity: sha512-m7+O4EHolNs5yb/79CrnwPR/g/PRzMFYEdo01LqwixVnc/sbzNSvKz0d04OE3aMRel1CwAAZQheRsqGDwATgPQ==} dependencies: workbox-core: 7.1.0 + dev: true - workbox-recipes@7.1.0: + /workbox-recipes@7.1.0: + resolution: {integrity: sha512-NRrk4ycFN9BHXJB6WrKiRX3W3w75YNrNrzSX9cEZgFB5ubeGoO8s/SDmOYVrFYp9HMw6sh1Pm3eAY/1gVS8YLg==} dependencies: workbox-cacheable-response: 7.1.0 workbox-core: 7.1.0 @@ -18091,101 +15798,195 @@ snapshots: workbox-precaching: 7.1.0 workbox-routing: 7.1.0 workbox-strategies: 7.1.0 + dev: true - workbox-routing@7.1.0: + /workbox-routing@7.1.0: + resolution: {integrity: sha512-oOYk+kLriUY2QyHkIilxUlVcFqwduLJB7oRZIENbqPGeBP/3TWHYNNdmGNhz1dvKuw7aqvJ7CQxn27/jprlTdg==} dependencies: workbox-core: 7.1.0 + dev: true - workbox-strategies@7.1.0: + /workbox-strategies@7.1.0: + resolution: {integrity: sha512-/UracPiGhUNehGjRm/tLUQ+9PtWmCbRufWtV0tNrALuf+HZ4F7cmObSEK+E4/Bx1p8Syx2tM+pkIrvtyetdlew==} dependencies: workbox-core: 7.1.0 + dev: true - workbox-streams@7.1.0: + /workbox-streams@7.1.0: + resolution: {integrity: sha512-WyHAVxRXBMfysM8ORwiZnI98wvGWTVAq/lOyBjf00pXFvG0mNaVz4Ji+u+fKa/mf1i2SnTfikoYKto4ihHeS6w==} dependencies: workbox-core: 7.1.0 workbox-routing: 7.1.0 + dev: true - workbox-sw@7.1.0: {} + /workbox-sw@7.1.0: + resolution: {integrity: sha512-Hml/9+/njUXBglv3dtZ9WBKHI235AQJyLBV1G7EFmh4/mUdSQuXui80RtjDeVRrXnm/6QWgRUEHG3/YBVbxtsA==} + dev: true - workbox-window@7.1.0: + /workbox-window@7.1.0: + resolution: {integrity: sha512-ZHeROyqR+AS5UPzholQRDttLFqGMwP0Np8MKWAdyxsDETxq3qOAyXvqessc3GniohG6e0mAqSQyKOHmT8zPF7g==} dependencies: '@types/trusted-types': 2.0.7 workbox-core: 7.1.0 + dev: true - wrap-ansi@6.2.0: + /wrap-ansi@6.2.0: + resolution: {integrity: sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==} + engines: {node: '>=8'} dependencies: ansi-styles: 4.3.0 string-width: 4.2.3 strip-ansi: 6.0.1 + dev: true - wrap-ansi@7.0.0: + /wrap-ansi@7.0.0: + resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} + engines: {node: '>=10'} dependencies: ansi-styles: 4.3.0 string-width: 4.2.3 strip-ansi: 6.0.1 - wrap-ansi@8.1.0: + /wrap-ansi@8.1.0: + resolution: {integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==} + engines: {node: '>=12'} dependencies: ansi-styles: 6.2.1 string-width: 5.1.2 strip-ansi: 7.1.0 - wrap-ansi@9.0.0: + /wrap-ansi@9.0.0: + resolution: {integrity: sha512-G8ura3S+3Z2G+mkgNRq8dqaFZAuxfsxpBB8OCTGRTCtp+l/v9nbFNmCUP1BZMts3G1142MsZfn6eeUKrr4PD1Q==} + engines: {node: '>=18'} dependencies: ansi-styles: 6.2.1 string-width: 7.1.0 strip-ansi: 7.1.0 + dev: true - wrappy@1.0.2: {} + /wrappy@1.0.2: + resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} + dev: true - write-file-atomic@3.0.3: + /write-file-atomic@3.0.3: + resolution: {integrity: sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==} dependencies: imurmurhash: 0.1.4 is-typedarray: 1.0.0 signal-exit: 3.0.7 typedarray-to-buffer: 3.1.5 + dev: true - write-file-atomic@4.0.2: + /write-file-atomic@4.0.2: + resolution: {integrity: sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==} + engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} dependencies: imurmurhash: 0.1.4 signal-exit: 3.0.7 + dev: true - ws@8.13.0: {} + /ws@8.13.0: + resolution: {integrity: sha512-x9vcZYTrFPC7aSIbj7sRCYo7L/Xb8Iy+pW0ng0wt2vCJv7M9HOMy0UoN3rr+IFC7hb7vXoqS+P9ktyLLLhO+LA==} + engines: {node: '>=10.0.0'} + peerDependencies: + bufferutil: ^4.0.1 + utf-8-validate: '>=5.0.2' + peerDependenciesMeta: + bufferutil: + optional: true + utf-8-validate: + optional: true + dev: true - ws@8.17.0: {} + /ws@8.17.0: + resolution: {integrity: sha512-uJq6108EgZMAl20KagGkzCKfMEjxmKvZHG7Tlq0Z6nOky7YF7aq4mOx6xK8TJ/i1LeK4Qus7INktacctDgY8Ow==} + engines: {node: '>=10.0.0'} + peerDependencies: + bufferutil: ^4.0.1 + utf-8-validate: '>=5.0.2' + peerDependenciesMeta: + bufferutil: + optional: true + utf-8-validate: + optional: true + dev: true - ws@8.5.0: {} + /ws@8.5.0: + resolution: {integrity: sha512-BWX0SWVgLPzYwF8lTzEy1egjhS4S4OEAHfsO8o65WOVsrnSRGaSiUaa9e0ggGlkMTtBlmOpEXiie9RUcBO86qg==} + engines: {node: '>=10.0.0'} + peerDependencies: + bufferutil: ^4.0.1 + utf-8-validate: ^5.0.2 + peerDependenciesMeta: + bufferutil: + optional: true + utf-8-validate: + optional: true + dev: true - xdg-basedir@5.1.0: {} + /xdg-basedir@5.1.0: + resolution: {integrity: sha512-GCPAHLvrIH13+c0SuacwvRYj2SxJXQ4kaVTT5xgL3kPrz56XxkF21IGhjSE1+W0aw7gpBWRGXLCPnPby6lSpmQ==} + engines: {node: '>=12'} + dev: true - xml-name-validator@5.0.0: {} + /xml-name-validator@5.0.0: + resolution: {integrity: sha512-EvGK8EJ3DhaHfbRlETOWAS5pO9MZITeauHKJyb8wyajUfQUenkIg2MvLDTZ4T/TgIcm3HU0TFBgWWboAZ30UHg==} + engines: {node: '>=18'} + dev: true - xmlbuilder@15.1.1: {} + /xmlbuilder@15.1.1: + resolution: {integrity: sha512-yMqGBqtXyeN1e3TGYvgNgDVZ3j84W4cwkOXQswghol6APgZWaff9lnbvN7MHYJOiXsvGPXtjTYJEiC9J2wv9Eg==} + engines: {node: '>=8.0'} + dev: true - xmlchars@2.2.0: {} + /xmlchars@2.2.0: + resolution: {integrity: sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==} + dev: true - xxhashjs@0.2.2: + /xxhashjs@0.2.2: + resolution: {integrity: sha512-AkTuIuVTET12tpsVIQo+ZU6f/qDmKuRUcjaqR+OIvm+aCBsZ95i7UVY5WJ9TMsSaZ0DA2WxoZ4acu0sPH+OKAw==} dependencies: cuint: 0.2.2 + dev: true - y18n@4.0.3: {} + /y18n@4.0.3: + resolution: {integrity: sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==} + dev: true - y18n@5.0.8: {} + /y18n@5.0.8: + resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==} + engines: {node: '>=10'} + dev: true - yallist@3.1.1: {} + /yallist@3.1.1: + resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==} + dev: true - yallist@4.0.0: {} + /yallist@4.0.0: + resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} + dev: true - yaml@2.4.5: {} + /yaml@2.4.5: + resolution: {integrity: sha512-aBx2bnqDzVOyNKfsysjA2ms5ZlnjSAW2eG3/L5G/CSujfjLJTJsEw1bGw8kCf04KodQWk1pxlGnZ56CRxiawmg==} + engines: {node: '>= 14'} + hasBin: true - yargs-parser@18.1.3: + /yargs-parser@18.1.3: + resolution: {integrity: sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==} + engines: {node: '>=6'} dependencies: camelcase: 5.3.1 decamelize: 1.2.0 + dev: true - yargs-parser@21.1.1: {} + /yargs-parser@21.1.1: + resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==} + engines: {node: '>=12'} + dev: true - yargs@15.4.1: + /yargs@15.4.1: + resolution: {integrity: sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==} + engines: {node: '>=8'} dependencies: cliui: 6.0.0 decamelize: 1.2.0 @@ -18198,8 +15999,11 @@ snapshots: which-module: 2.0.1 y18n: 4.0.3 yargs-parser: 18.1.3 + dev: true - yargs@17.7.2: + /yargs@17.7.2: + resolution: {integrity: sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==} + engines: {node: '>=12'} dependencies: cliui: 8.0.1 escalade: 3.1.2 @@ -18208,14 +16012,25 @@ snapshots: string-width: 4.2.3 y18n: 5.0.8 yargs-parser: 21.1.1 + dev: true - yauzl@2.10.0: + /yauzl@2.10.0: + resolution: {integrity: sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==} dependencies: buffer-crc32: 0.2.13 fd-slicer: 1.1.0 + dev: true - yocto-queue@0.1.0: {} + /yocto-queue@0.1.0: + resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} + engines: {node: '>=10'} + dev: true - yocto-queue@1.0.0: {} + /yocto-queue@1.0.0: + resolution: {integrity: sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==} + engines: {node: '>=12.20'} + dev: true - zwitch@2.0.4: {} + /zwitch@2.0.4: + resolution: {integrity: sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==} + dev: true From 481f8186e44f442c59b4661db726b5472051d547 Mon Sep 17 00:00:00 2001 From: Knut Sveidqvist Date: Fri, 14 Jun 2024 17:18:31 +0200 Subject: [PATCH 499/789] #5237 Fixes after visual testing. Handling multi-line notes and positioning of notes relative to the state --- packages/mermaid/src/diagrams/state/dataFetcher.js | 4 ++-- packages/mermaid/src/rendering-util/createText.ts | 11 +---------- .../src/rendering-util/handle-markdown-text.ts | 2 ++ 3 files changed, 5 insertions(+), 12 deletions(-) diff --git a/packages/mermaid/src/diagrams/state/dataFetcher.js b/packages/mermaid/src/diagrams/state/dataFetcher.js index e094d21686..a94fb681d6 100644 --- a/packages/mermaid/src/diagrams/state/dataFetcher.js +++ b/packages/mermaid/src/diagrams/state/dataFetcher.js @@ -328,6 +328,7 @@ export const dataFetcher = (parent, parsedItem, diagramStates, nodes, edges, alt look, position: parsedItem.note.position, }; + const parentNodeId = itemId + PARENT_ID; const groupData = { labelStyle: '', shape: SHAPE_NOTEGROUP, @@ -344,12 +345,11 @@ export const dataFetcher = (parent, parsedItem, diagramStates, nodes, edges, alt }; graphItemCount++; - const parentNodeId = itemId + PARENT_ID; - //add parent id to groupData groupData.id = parentNodeId; //add parent id to noteData noteData.parentId = parentNodeId; + nodeData.parentId = parentNodeId; //insert groupData insertOrUpdateNode(nodes, groupData); diff --git a/packages/mermaid/src/rendering-util/createText.ts b/packages/mermaid/src/rendering-util/createText.ts index 0985f47999..e8fb04fb97 100644 --- a/packages/mermaid/src/rendering-util/createText.ts +++ b/packages/mermaid/src/rendering-util/createText.ts @@ -198,16 +198,7 @@ export const createText = ( } = {}, config: MermaidConfig ) => { - log.info( - 'createText XEX', - text, - style, - isTitle, - classes, - useHtmlLabels, - isNode, - addSvgBackground - ); + log.info('createText', text, style, isTitle, classes, useHtmlLabels, isNode, addSvgBackground); if (useHtmlLabels) { // TODO: addHtmlLabel accepts a labelStyle. Do we possibly have that? diff --git a/packages/mermaid/src/rendering-util/handle-markdown-text.ts b/packages/mermaid/src/rendering-util/handle-markdown-text.ts index c539f72684..71c818c9bf 100644 --- a/packages/mermaid/src/rendering-util/handle-markdown-text.ts +++ b/packages/mermaid/src/rendering-util/handle-markdown-text.ts @@ -75,6 +75,8 @@ export function markdownToHTML(markdown: string, { markdownAutoWrap }: MermaidCo return `${node.children.map(output).join('')}`; } else if (node.type === 'paragraph') { return `

    ${node.children.map(output).join('')}

    `; + } else if (node.type === 'html' && /^$/i.test(node.value)) { + return `${node.value}`; } return `Unsupported markdown: ${node.type}`; } From 0d1ef9de0735197c9f5304060e03ace1298aad21 Mon Sep 17 00:00:00 2001 From: Knut Sveidqvist Date: Fri, 14 Jun 2024 17:39:42 +0200 Subject: [PATCH 500/789] #5237 Lint fixes --- .../src/flowRenderer-elk.js | 4 +-- packages/mermaid-layout-elk/src/render.ts | 3 +-- .../mermaid/src/diagrams/flowchart/flowDb.ts | 2 +- .../src/diagrams/flowchart/flowRenderer-v2.js | 3 +-- .../flowchart/flowRenderer-v3-unified.ts | 2 +- .../mermaid/src/diagrams/mindmap/svgDraw.ts | 2 +- .../mermaid/src/diagrams/state/stateDb.js | 27 ------------------- .../mermaid/src/diagrams/timeline/svgDraw.js | 1 - .../mermaid/src/rendering-util/doLayout.ts | 2 -- .../rendering-util/insertElementsForSize.js | 4 +-- .../layout-algorithms/dagre/index.js | 3 ++- .../dagre/mermaid-graphlib.js | 1 + .../rendering-elements/clusters.js | 15 ----------- .../rendering-elements/edges.js | 24 +++-------------- .../rendering-elements/nodes.js | 6 ----- .../rendering-elements/shapes/cylinder.ts | 1 - .../rendering-elements/shapes/drawRect.ts | 2 +- .../rendering-elements/shapes/hexagon.ts | 3 +-- .../shapes/invertedTrapezoid.ts | 2 -- .../rendering-elements/shapes/leanLeft.ts | 1 - .../rendering-elements/shapes/leanRight.ts | 1 - .../rendering-elements/shapes/note.ts | 6 +---- .../shapes/rectLeftInvArrow.ts | 1 - .../rendering-elements/shapes/stateEnd.ts | 1 - .../rendering-elements/shapes/stateStart.ts | 1 - 25 files changed, 17 insertions(+), 101 deletions(-) diff --git a/packages/mermaid-flowchart-elk/src/flowRenderer-elk.js b/packages/mermaid-flowchart-elk/src/flowRenderer-elk.js index c7bf41ce23..990a12dc6a 100644 --- a/packages/mermaid-flowchart-elk/src/flowRenderer-elk.js +++ b/packages/mermaid-flowchart-elk/src/flowRenderer-elk.js @@ -64,7 +64,6 @@ export const addVertices = async function (vert, svgId, root, doc, diagObj, pare let vertexText = vertex.text !== undefined ? vertex.text : vertex.id; // We create a SVG label, either by delegating to addHtmlLabel or manually - let vertexNode; const labelData = { width: 0, height: 0 }; const ports = [ @@ -188,7 +187,7 @@ export const addVertices = async function (vert, svgId, root, doc, diagObj, pare nodeEl = await insertNode(nodes, node, vertex.dir); boundingBox = nodeEl.node().getBBox(); } else { - const svgLabel = doc.createElementNS('http://www.w3.org/2000/svg', 'text'); + doc.createElementNS('http://www.w3.org/2000/svg', 'text'); // svgLabel.setAttribute('style', styles.labelStyle.replace('color:', 'fill:')); // const rows = vertexText.split(common.lineBreakRegex); // for (const row of rows) { @@ -677,7 +676,6 @@ const insertEdge = function (edgesEl, edge, edgeData, diagObj, parentLookupDb, i /** * Recursive function that iterates over an array of nodes and inserts the children of each node. * It also recursively populates the inserts the children of the children and so on. - * @param {*} graph * @param nodeArray * @param parentLookupDb */ diff --git a/packages/mermaid-layout-elk/src/render.ts b/packages/mermaid-layout-elk/src/render.ts index bb2e9559ca..b65e9755c8 100644 --- a/packages/mermaid-layout-elk/src/render.ts +++ b/packages/mermaid-layout-elk/src/render.ts @@ -3,7 +3,6 @@ import { curveLinear } from 'd3'; import ELK from 'elkjs/lib/elk.bundled.js'; import mermaid from 'mermaid'; import { findCommonAncestor } from './find-common-ancestor.js'; -import config from '../../mermaid/src/defaultConfig'; const { common, @@ -123,7 +122,7 @@ const drawNodes = (relX, relY, nodeArray, svg, subgraphsEl, depth) => { const clusterNode = JSON.parse(JSON.stringify(node)); clusterNode.x = node.offset.posX + node.width / 2; clusterNode.y = node.offset.posY + node.height / 2; - const cluster = insertCluster(subgraphEl, clusterNode); + insertCluster(subgraphEl, clusterNode); log.info('Id (UGH)= ', node.shape, node.labels); } else { diff --git a/packages/mermaid/src/diagrams/flowchart/flowDb.ts b/packages/mermaid/src/diagrams/flowchart/flowDb.ts index fe42b3c1ed..3f44fb9fe2 100644 --- a/packages/mermaid/src/diagrams/flowchart/flowDb.ts +++ b/packages/mermaid/src/diagrams/flowchart/flowDb.ts @@ -2,7 +2,7 @@ import { select } from 'd3'; import utils, { getEdgeId } from '../../utils.js'; import { getConfig, defaultConfig } from '../../diagram-api/diagramAPI.js'; import common from '../common/common.js'; -import type { LayoutData, LayoutMethod, Node, Edge } from '../../rendering-util/types.js'; +import type { Node, Edge } from '../../rendering-util/types.js'; import { log } from '../../logger.js'; import { setAccTitle, diff --git a/packages/mermaid/src/diagrams/flowchart/flowRenderer-v2.js b/packages/mermaid/src/diagrams/flowchart/flowRenderer-v2.js index badf9238c1..00db88f815 100644 --- a/packages/mermaid/src/diagrams/flowchart/flowRenderer-v2.js +++ b/packages/mermaid/src/diagrams/flowchart/flowRenderer-v2.js @@ -192,9 +192,8 @@ export const addVertices = async function (vert, g, svgId, root, doc, diagObj) { * * @param {object} edges The edges to add to the graph * @param {object} g The graph object - * @param diagObj */ -export const addEdges = async function (edges, g, diagObj) { +export const addEdges = async function (edges, g) { log.info('abc78 edges = ', edges); let cnt = 0; let linkIdCnt = {}; diff --git a/packages/mermaid/src/diagrams/flowchart/flowRenderer-v3-unified.ts b/packages/mermaid/src/diagrams/flowchart/flowRenderer-v3-unified.ts index 35d687f9b2..bf273f0e88 100644 --- a/packages/mermaid/src/diagrams/flowchart/flowRenderer-v3-unified.ts +++ b/packages/mermaid/src/diagrams/flowchart/flowRenderer-v3-unified.ts @@ -1,6 +1,6 @@ import { log } from '../../logger.js'; import type { DiagramStyleClassDef } from '../../diagram-api/types.js'; -import type { LayoutData, LayoutMethod } from '../../rendering-util/types.js'; +import type { LayoutData } from '../../rendering-util/types.js'; import { getConfig } from '../../diagram-api/diagramAPI.js'; import { render } from '../../rendering-util/render.js'; import { getDiagramElements } from '../../rendering-util/insertElementsForSize.js'; diff --git a/packages/mermaid/src/diagrams/mindmap/svgDraw.ts b/packages/mermaid/src/diagrams/mindmap/svgDraw.ts index c84a7b16c0..ee468bb992 100644 --- a/packages/mermaid/src/diagrams/mindmap/svgDraw.ts +++ b/packages/mermaid/src/diagrams/mindmap/svgDraw.ts @@ -196,7 +196,7 @@ export const drawNode = function ( // Create the wrapped text element const textElem = nodeElem.append('g'); const description = node.descr.replace(/()/g, '\n'); - const newEl = createText( + createText( textElem, description, { diff --git a/packages/mermaid/src/diagrams/state/stateDb.js b/packages/mermaid/src/diagrams/state/stateDb.js index 8abc45dde0..eedc18dd30 100644 --- a/packages/mermaid/src/diagrams/state/stateDb.js +++ b/packages/mermaid/src/diagrams/state/stateDb.js @@ -21,34 +21,7 @@ import { STMT_APPLYCLASS, DEFAULT_STATE_TYPE, DIVIDER_TYPE, - G_EDGE_STYLE, - G_EDGE_ARROWHEADSTYLE, - G_EDGE_LABELPOS, - G_EDGE_LABELTYPE, - G_EDGE_THICKNESS, - CSS_EDGE, - DEFAULT_NESTED_DOC_DIR, - SHAPE_DIVIDER, - SHAPE_GROUP, - CSS_DIAGRAM_CLUSTER, - CSS_DIAGRAM_CLUSTER_ALT, - CSS_DIAGRAM_STATE, - SHAPE_STATE_WITH_DESC, - SHAPE_STATE, - SHAPE_START, - SHAPE_END, - SHAPE_NOTE, - SHAPE_NOTEGROUP, - CSS_DIAGRAM_NOTE, - DOMID_TYPE_SPACER, - DOMID_STATE, - NOTE_ID, - PARENT_ID, - NOTE, - PARENT, - CSS_EDGE_NOTE_EDGE, } from './stateCommon.js'; -import { node } from 'stylis'; const START_NODE = '[*]'; const START_TYPE = 'start'; diff --git a/packages/mermaid/src/diagrams/timeline/svgDraw.js b/packages/mermaid/src/diagrams/timeline/svgDraw.js index 874ac62ef0..d4b04d0c46 100644 --- a/packages/mermaid/src/diagrams/timeline/svgDraw.js +++ b/packages/mermaid/src/diagrams/timeline/svgDraw.js @@ -258,7 +258,6 @@ export const drawTask = function (elem, task, conf) { rect.ry = 3; drawRect(g, rect); - let xPos = task.x + 14; // task.people.forEach((person) => { // const colour = task.actors[person].color; diff --git a/packages/mermaid/src/rendering-util/doLayout.ts b/packages/mermaid/src/rendering-util/doLayout.ts index b3798ca392..dabd13dd79 100644 --- a/packages/mermaid/src/rendering-util/doLayout.ts +++ b/packages/mermaid/src/rendering-util/doLayout.ts @@ -1,8 +1,6 @@ import { log } from '$root/logger.js'; import type { LayoutData, LayoutMethod, RenderData } from './types.js'; -const layoutAlgorithms = {} as Record; - const performLayout = ( layoutData: LayoutData, id: string, diff --git a/packages/mermaid/src/rendering-util/insertElementsForSize.js b/packages/mermaid/src/rendering-util/insertElementsForSize.js index b9b52949fb..136e9e31f9 100644 --- a/packages/mermaid/src/rendering-util/insertElementsForSize.js +++ b/packages/mermaid/src/rendering-util/insertElementsForSize.js @@ -30,10 +30,10 @@ export const getDiagramElements = (id, securityLevel) => { */ export function insertElementsForSize(el, data) { const nodesElem = el.insert('g').attr('class', 'nodes'); - const edgesElem = el.insert('g').attr('class', 'edges'); + el.insert('g').attr('class', 'edges'); data.nodes.forEach(async (item) => { item.shape = 'rect'; - const e = await insertNode(nodesElem, { + await insertNode(nodesElem, { ...item, class: 'default flowchart-label', labelStyle: '', diff --git a/packages/mermaid/src/rendering-util/layout-algorithms/dagre/index.js b/packages/mermaid/src/rendering-util/layout-algorithms/dagre/index.js index eba90a5b4c..d33a3523a0 100644 --- a/packages/mermaid/src/rendering-util/layout-algorithms/dagre/index.js +++ b/packages/mermaid/src/rendering-util/layout-algorithms/dagre/index.js @@ -225,10 +225,11 @@ const recursiveRender = async (_elem, graph, diagramType, id, parentCluster, sit graph.parent(v) ); node.height += 0; - const parent = graph.node(node.parentId); + graph.node(node.parentId); const halfPadding = node?.padding / 2 || 0; const labelHeight = node?.labelBBox?.height || 0; const offsetY = labelHeight - halfPadding || 0; + log.debug('OffsetY', offsetY, 'labelHeight', labelHeight, 'halfPadding', halfPadding); // node.y += offsetY + (parent?.offsetY / 2 || 0); // node.offsetY = offsetY; insertCluster(clusters, node); diff --git a/packages/mermaid/src/rendering-util/layout-algorithms/dagre/mermaid-graphlib.js b/packages/mermaid/src/rendering-util/layout-algorithms/dagre/mermaid-graphlib.js index 959bb0edd5..8de8316cbd 100644 --- a/packages/mermaid/src/rendering-util/layout-algorithms/dagre/mermaid-graphlib.js +++ b/packages/mermaid/src/rendering-util/layout-algorithms/dagre/mermaid-graphlib.js @@ -173,6 +173,7 @@ const findCommonEdges = (graph, id1, id2) => { * * @param id * @param {any} graph + * @param {string} clusterId */ export const findNonClusterChild = (id, graph, clusterId) => { const children = graph.children(id); diff --git a/packages/mermaid/src/rendering-util/rendering-elements/clusters.js b/packages/mermaid/src/rendering-util/rendering-elements/clusters.js index 62ec0e75b9..6baccfedf6 100644 --- a/packages/mermaid/src/rendering-util/rendering-elements/clusters.js +++ b/packages/mermaid/src/rendering-util/rendering-elements/clusters.js @@ -125,21 +125,6 @@ const rect = (parent, node) => { * @returns {any} ShapeSvg */ const noteGroup = (parent, node) => { - const { themeVariables } = getConfig(); - const { - textColor, - clusterTextColor, - altBackground, - compositeBackground, - compositeTitleBackground, - compositeBorder, - noteBorderColor, - noteBkgColor, - nodeBorder, - mainBkg, - stateBorder, - } = themeVariables; - // Add outer g element const shapeSvg = parent.insert('g').attr('class', 'note-cluster').attr('id', node.id); diff --git a/packages/mermaid/src/rendering-util/rendering-elements/edges.js b/packages/mermaid/src/rendering-util/rendering-elements/edges.js index 6ff15b2f46..996182bd51 100644 --- a/packages/mermaid/src/rendering-util/rendering-elements/edges.js +++ b/packages/mermaid/src/rendering-util/rendering-elements/edges.js @@ -474,24 +474,7 @@ const fixCorners = function (lineData) { } return newLineData; }; -/** - * Given a line, this function will return a new line where the corners are rounded. - * @param lineData - */ -function roundedCornersLine(lineData) { - const newLineData = fixCorners(lineData); - let path = ''; - for (let i = 0; i < newLineData.length; i++) { - if (i === 0) { - path += 'M' + newLineData[i].x + ',' + newLineData[i].y; - } else if (i === newLineData.length - 1) { - path += 'L' + newLineData[i].x + ',' + newLineData[i].y; - } else { - path += 'L' + newLineData[i].x + ',' + newLineData[i].y; - } - } - return path; -} + export const insertEdge = function (elem, edge, clusterDb, diagramType, startNode, endNode, id) { const { handdrawnSeed } = getConfig(); let points = edge.points; @@ -530,7 +513,7 @@ export const insertEdge = function (elem, edge, clusterDb, diagramType, startNod // The data for our line let lineData = points.filter((p) => !Number.isNaN(p.y)); - const { cornerPoints, cornerPointPositions } = extractCornerPoints(lineData); + // const { cornerPoints, cornerPointPositions } = extractCornerPoints(lineData); lineData = fixCorners(lineData); let lastPoint = lineData[lineData.length - 1]; if (lineData.length > 1) { @@ -593,11 +576,10 @@ export const insertEdge = function (elem, edge, clusterDb, diagramType, startNod strokeClasses += ' edge-pattern-solid'; } let svgPath; - let path = ''; let linePath = lineFunction(lineData); if (edge.look === 'handdrawn') { const rc = rough.svg(elem); - const ld = Object.assign([], lineData); + Object.assign([], lineData); // const svgPathNode = rc.path(lineFunction(ld.splice(0, ld.length-1)), { // const svgPathNode = rc.path(lineFunction(ld), { // roughness: 0.3, diff --git a/packages/mermaid/src/rendering-util/rendering-elements/nodes.js b/packages/mermaid/src/rendering-util/rendering-elements/nodes.js index a8eb4c9987..15fccb8672 100644 --- a/packages/mermaid/src/rendering-util/rendering-elements/nodes.js +++ b/packages/mermaid/src/rendering-util/rendering-elements/nodes.js @@ -21,12 +21,6 @@ import { lean_right } from './shapes/leanRight.js'; import { lean_left } from './shapes/leanLeft.js'; import { trapezoid } from './shapes/trapezoid.js'; import { inv_trapezoid } from './shapes/invertedTrapezoid.js'; -const formatClass = (str) => { - if (str) { - return ' ' + str; - } - return ''; -}; const shapes = { state, diff --git a/packages/mermaid/src/rendering-util/rendering-elements/shapes/cylinder.ts b/packages/mermaid/src/rendering-util/rendering-elements/shapes/cylinder.ts index 3d1411c1f4..1674b42459 100644 --- a/packages/mermaid/src/rendering-util/rendering-elements/shapes/cylinder.ts +++ b/packages/mermaid/src/rendering-util/rendering-elements/shapes/cylinder.ts @@ -1,4 +1,3 @@ -import { log } from '$root/logger.js'; import { labelHelper, updateNodeBounds, getNodeClasses } from './util.js'; import intersect from '../intersect/index.js'; import type { Node } from '$root/rendering-util/types.d.ts'; diff --git a/packages/mermaid/src/rendering-util/rendering-elements/shapes/drawRect.ts b/packages/mermaid/src/rendering-util/rendering-elements/shapes/drawRect.ts index 16d32e39d4..ddf6b10e0b 100644 --- a/packages/mermaid/src/rendering-util/rendering-elements/shapes/drawRect.ts +++ b/packages/mermaid/src/rendering-util/rendering-elements/shapes/drawRect.ts @@ -7,7 +7,7 @@ import rough from 'roughjs'; import { getConfig } from '$root/diagram-api/diagramAPI.js'; export const drawRect = async (parent: SVGAElement, node: Node, options: RectOptions) => { - const { themeVariables, look } = getConfig(); + const { look } = getConfig(); const { shapeSvg, bbox } = await labelHelper(parent, node, getNodeClasses(node)); diff --git a/packages/mermaid/src/rendering-util/rendering-elements/shapes/hexagon.ts b/packages/mermaid/src/rendering-util/rendering-elements/shapes/hexagon.ts index 4433dddda3..bac6d4489e 100644 --- a/packages/mermaid/src/rendering-util/rendering-elements/shapes/hexagon.ts +++ b/packages/mermaid/src/rendering-util/rendering-elements/shapes/hexagon.ts @@ -1,4 +1,3 @@ -import { log } from '$root/logger.js'; import { labelHelper, updateNodeBounds, getNodeClasses } from './util.js'; import intersect from '../intersect/index.js'; import type { Node } from '$root/rendering-util/types.d.ts'; @@ -26,7 +25,7 @@ export const createHexagonPathD = ( }; export const hexagon = async (parent: SVGAElement, node: Node): Promise => { - const { shapeSvg, bbox, halfPadding } = await labelHelper(parent, node, getNodeClasses(node)); + const { shapeSvg, bbox } = await labelHelper(parent, node, getNodeClasses(node)); const f = 4; const h = bbox.height + node.padding; diff --git a/packages/mermaid/src/rendering-util/rendering-elements/shapes/invertedTrapezoid.ts b/packages/mermaid/src/rendering-util/rendering-elements/shapes/invertedTrapezoid.ts index a11f144f60..4dd1a619aa 100644 --- a/packages/mermaid/src/rendering-util/rendering-elements/shapes/invertedTrapezoid.ts +++ b/packages/mermaid/src/rendering-util/rendering-elements/shapes/invertedTrapezoid.ts @@ -1,7 +1,5 @@ -import { log } from '$root/logger.js'; import { labelHelper, updateNodeBounds, getNodeClasses } from './util.js'; import intersect from '../intersect/index.js'; -import { getConfig } from '$root/diagram-api/diagramAPI.js'; import type { Node } from '$root/rendering-util/types.d.ts'; import { userNodeOverrides } from '$root/rendering-util/rendering-elements/shapes/handdrawnStyles.js'; import rough from 'roughjs'; diff --git a/packages/mermaid/src/rendering-util/rendering-elements/shapes/leanLeft.ts b/packages/mermaid/src/rendering-util/rendering-elements/shapes/leanLeft.ts index 541fb9e4a2..78b36ddb83 100644 --- a/packages/mermaid/src/rendering-util/rendering-elements/shapes/leanLeft.ts +++ b/packages/mermaid/src/rendering-util/rendering-elements/shapes/leanLeft.ts @@ -1,4 +1,3 @@ -import { log } from '$root/logger.js'; import { labelHelper, updateNodeBounds, getNodeClasses } from './util.js'; import intersect from '../intersect/index.js'; import type { Node } from '$root/rendering-util/types.d.ts'; diff --git a/packages/mermaid/src/rendering-util/rendering-elements/shapes/leanRight.ts b/packages/mermaid/src/rendering-util/rendering-elements/shapes/leanRight.ts index 00e49050e2..3b3a0b4656 100644 --- a/packages/mermaid/src/rendering-util/rendering-elements/shapes/leanRight.ts +++ b/packages/mermaid/src/rendering-util/rendering-elements/shapes/leanRight.ts @@ -1,4 +1,3 @@ -import { log } from '$root/logger.js'; import { labelHelper, updateNodeBounds, getNodeClasses } from './util.js'; import intersect from '../intersect/index.js'; import type { Node } from '$root/rendering-util/types.d.ts'; diff --git a/packages/mermaid/src/rendering-util/rendering-elements/shapes/note.ts b/packages/mermaid/src/rendering-util/rendering-elements/shapes/note.ts index a039e03859..ce3df9da8c 100644 --- a/packages/mermaid/src/rendering-util/rendering-elements/shapes/note.ts +++ b/packages/mermaid/src/rendering-util/rendering-elements/shapes/note.ts @@ -13,11 +13,7 @@ export const note = async (parent: SVGAElement, node: Node) => { if (!useHtmlLabels) { node.centerLabel = true; } - const { shapeSvg, bbox, halfPadding } = await labelHelper( - parent, - node, - 'node ' + node.cssClasses - ); + const { shapeSvg, bbox } = await labelHelper(parent, node, 'node ' + node.cssClasses); log.info('Classes = ', node.cssClasses); const { cssStyles } = node; diff --git a/packages/mermaid/src/rendering-util/rendering-elements/shapes/rectLeftInvArrow.ts b/packages/mermaid/src/rendering-util/rendering-elements/shapes/rectLeftInvArrow.ts index e36efa028b..37f20d42d2 100644 --- a/packages/mermaid/src/rendering-util/rendering-elements/shapes/rectLeftInvArrow.ts +++ b/packages/mermaid/src/rendering-util/rendering-elements/shapes/rectLeftInvArrow.ts @@ -1,4 +1,3 @@ -import { log } from '$root/logger.js'; import { labelHelper, updateNodeBounds, getNodeClasses } from './util.js'; import intersect from '../intersect/index.js'; import type { Node } from '$root/rendering-util/types.d.ts'; diff --git a/packages/mermaid/src/rendering-util/rendering-elements/shapes/stateEnd.ts b/packages/mermaid/src/rendering-util/rendering-elements/shapes/stateEnd.ts index 4d4d21d86f..5410d74db7 100644 --- a/packages/mermaid/src/rendering-util/rendering-elements/shapes/stateEnd.ts +++ b/packages/mermaid/src/rendering-util/rendering-elements/shapes/stateEnd.ts @@ -1,4 +1,3 @@ -import { log } from '$root/logger.js'; import { updateNodeBounds } from './util.js'; import intersect from '../intersect/index.js'; import type { Node } from '$root/rendering-util/types.d.ts'; diff --git a/packages/mermaid/src/rendering-util/rendering-elements/shapes/stateStart.ts b/packages/mermaid/src/rendering-util/rendering-elements/shapes/stateStart.ts index 575e7d2b0a..9fa0df6cfb 100644 --- a/packages/mermaid/src/rendering-util/rendering-elements/shapes/stateStart.ts +++ b/packages/mermaid/src/rendering-util/rendering-elements/shapes/stateStart.ts @@ -1,4 +1,3 @@ -import { log } from '$root/logger.js'; import { updateNodeBounds } from './util.js'; import intersect from '../intersect/index.js'; import type { Node } from '$root/rendering-util/types.d.ts'; From c904c7d21a57ac6ea50073ae885478c96d0a4932 Mon Sep 17 00:00:00 2001 From: Anatoli Babenia Date: Sat, 15 Jun 2024 12:29:30 +0300 Subject: [PATCH 501/789] Explain line breaks in `sequenceDiagram.md` Closes https://github.com/mermaid-js/mermaid/issues/4351 --- .../mermaid/src/docs/syntax/sequenceDiagram.md | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/packages/mermaid/src/docs/syntax/sequenceDiagram.md b/packages/mermaid/src/docs/syntax/sequenceDiagram.md index 4fc25bd12e..ae2c7fd023 100644 --- a/packages/mermaid/src/docs/syntax/sequenceDiagram.md +++ b/packages/mermaid/src/docs/syntax/sequenceDiagram.md @@ -205,11 +205,22 @@ sequenceDiagram Note over Alice,John: A typical interaction ``` -It is also possible to add a line break (applies to text input in general): +## Line breaks + +Line break can be added to Note and Message: ```mermaid-example sequenceDiagram - Alice->John: Hello John, how are you? + Alice->John: Hello John,
    how are you? + Note over Alice,John: A typical interaction
    But now in two lines +``` + +Line breaks in Actor names requires aliases: + +```mermaid-example +sequenceDiagram + participant Alice as Alice
    Johnson + Alice->John: Hello John,
    how are you? Note over Alice,John: A typical interaction
    But now in two lines ``` From 7ee22de5e29b168322bf13cc9d51b8b66126795f Mon Sep 17 00:00:00 2001 From: exoego Date: Sun, 16 Jun 2024 07:29:35 +0900 Subject: [PATCH 502/789] docs: fix node version in CONTRIBUTING.md --- docs/community/contributing.md | 2 +- packages/mermaid/src/docs/community/contributing.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/community/contributing.md b/docs/community/contributing.md index 9cbff4814f..c78a3cb40f 100644 --- a/docs/community/contributing.md +++ b/docs/community/contributing.md @@ -56,7 +56,7 @@ The following commands must be sufficient enough to start with: ```bash curl -fsSL https://get.pnpm.io/install.sh | sh - -pnpm env use --global 18 +pnpm env use --global 20 ``` You may also need to reload `.shrc` or `.bashrc` afterwards. diff --git a/packages/mermaid/src/docs/community/contributing.md b/packages/mermaid/src/docs/community/contributing.md index 195146a612..71048d0952 100644 --- a/packages/mermaid/src/docs/community/contributing.md +++ b/packages/mermaid/src/docs/community/contributing.md @@ -52,7 +52,7 @@ The following commands must be sufficient enough to start with: ```bash curl -fsSL https://get.pnpm.io/install.sh | sh - -pnpm env use --global 18 +pnpm env use --global 20 ``` You may also need to reload `.shrc` or `.bashrc` afterwards. From 618f7977efafdde785e60d0725610945acbf6ce9 Mon Sep 17 00:00:00 2001 From: Ashish Jain Date: Mon, 17 Jun 2024 13:25:54 +0200 Subject: [PATCH 503/789] Add support for interaction, tooltip, for refactored flowchart --- .../mermaid/src/diagrams/flowchart/flowDb.ts | 3 ++ .../flowchart/flowRenderer-v3-unified.ts | 45 +++++++++++++++++++ .../mermaid/src/rendering-util/types.d.ts | 1 + 3 files changed, 49 insertions(+) diff --git a/packages/mermaid/src/diagrams/flowchart/flowDb.ts b/packages/mermaid/src/diagrams/flowchart/flowDb.ts index 3f44fb9fe2..7fe2e3a73b 100644 --- a/packages/mermaid/src/diagrams/flowchart/flowDb.ts +++ b/packages/mermaid/src/diagrams/flowchart/flowDb.ts @@ -813,6 +813,9 @@ const addNodeFromVertex = ( domId: vertex.domId, isGroup, look, + link: vertex.link, + linkTarget: vertex.linkTarget, + tooltip: getTooltip(vertex.id), }); } }; diff --git a/packages/mermaid/src/diagrams/flowchart/flowRenderer-v3-unified.ts b/packages/mermaid/src/diagrams/flowchart/flowRenderer-v3-unified.ts index bf273f0e88..692c387e74 100644 --- a/packages/mermaid/src/diagrams/flowchart/flowRenderer-v3-unified.ts +++ b/packages/mermaid/src/diagrams/flowchart/flowRenderer-v3-unified.ts @@ -8,6 +8,7 @@ import { setupViewPortForSVG } from '../../rendering-util/setupViewPortForSVG.js import { getDirection } from './flowDb.js'; import utils from '../../utils.js'; +import { select } from 'd3'; // Configuration const conf: Record = {}; @@ -32,6 +33,15 @@ export const draw = async function (text: string, id: string, _version: string, log.info('Drawing state diagram (v2)', id); const { securityLevel, state: conf, layout } = getConfig(); + // Handle root and document for when rendering in sandbox mode + let sandboxElement; + if (securityLevel === 'sandbox') { + sandboxElement = select('#i' + id); + } + + // @ts-ignore - document is always available + const doc = securityLevel === 'sandbox' ? sandboxElement.nodes()[0].contentDocument : document; + const DIR = getDirection(); // The getData method provided in all supported diagrams is used to extract the data from the parsed structure @@ -60,6 +70,41 @@ export const draw = async function (text: string, id: string, _version: string, diag.db.getDiagramTitle() ); setupViewPortForSVG(svg, padding, 'flowchart', conf?.useMaxWidth || false); + + // If node has a link, wrap it in an anchor SVG object. + data4Layout.nodes.forEach((vertex) => { + if (vertex.link) { + const node = select('#' + id + ' [id="' + vertex.id + '"]'); + if (node) { + const link = doc.createElementNS('http://www.w3.org/2000/svg', 'a'); + link.setAttributeNS('http://www.w3.org/2000/svg', 'class', vertex.cssClasses); + link.setAttributeNS('http://www.w3.org/2000/svg', 'rel', 'noopener'); + if (securityLevel === 'sandbox') { + link.setAttributeNS('http://www.w3.org/2000/svg', 'target', '_top'); + } else if (vertex.linkTarget) { + link.setAttributeNS('http://www.w3.org/2000/svg', 'target', vertex.linkTarget); + } + + const linkNode = node.insert(function () { + return link; + }, ':first-child'); + + const shape = node.select('.label-container'); + if (shape) { + linkNode.append(function () { + return shape.node(); + }); + } + + const label = node.select('.label'); + if (label) { + linkNode.append(function () { + return label.node(); + }); + } + } + } + }); }; export default { diff --git a/packages/mermaid/src/rendering-util/types.d.ts b/packages/mermaid/src/rendering-util/types.d.ts index 7addc58487..f0cd289ef7 100644 --- a/packages/mermaid/src/rendering-util/types.d.ts +++ b/packages/mermaid/src/rendering-util/types.d.ts @@ -34,6 +34,7 @@ interface Node { haveCallback?: boolean; link?: string; linkTarget?: string; + tooltip?: string; padding?: number; //REMOVE?, use from LayoutData.config - Keep, this could be shape specific shape?: string; tooltip?: string; From d52f4724fe8a1fa0001f4f91b11a30300891492d Mon Sep 17 00:00:00 2001 From: Knut Sveidqvist Date: Mon, 17 Jun 2024 14:20:05 +0200 Subject: [PATCH 504/789] #5237 Updated type for classdefs and styles --- packages/mermaid/src/rendering-util/types.d.ts | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/packages/mermaid/src/rendering-util/types.d.ts b/packages/mermaid/src/rendering-util/types.d.ts index 7addc58487..5c9373cc7b 100644 --- a/packages/mermaid/src/rendering-util/types.d.ts +++ b/packages/mermaid/src/rendering-util/types.d.ts @@ -15,7 +15,8 @@ interface Node { description?: string[]; parentId?: string; position?: string; // Keep, this is for notes 'left of', 'right of', etc. Move into nodeNode - cssStyles?: string; // Renamed from `styles` to `cssStyles` + cssStyles?: string[]; // Renamed from `styles` to `cssStyles` + cssCompiledStyles?: string[]; cssClasses?: string; // Renamed from `classes` to `cssClasses` // style?: string; //REMOVE ✅ // class?: string; //REMOVE ✅ @@ -23,7 +24,7 @@ interface Node { // props?: Record; //REMOVE ✅ // type: string; // REMOVE, replace with isGroup: boolean, default false ✅ // borders?: string; //REMOVE ✅ - labelStyle?: string; + labelStyle?: string; // REMOVE - use cssStyles instead ✅ // Flowchart specific properties labelType?: string; // REMOVE? Always use markdown string, need to check for KaTeX - ⏳ wait with this one From 6ca640387822170fc6ed2d1acd6e66afe201b247 Mon Sep 17 00:00:00 2001 From: Ashish Jain Date: Mon, 17 Jun 2024 15:09:45 +0200 Subject: [PATCH 505/789] Add support for custom cssStyle and compiledStyles for custom classDefs --- packages/mermaid/src/diagrams/flowchart/flowDb.ts | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/packages/mermaid/src/diagrams/flowchart/flowDb.ts b/packages/mermaid/src/diagrams/flowchart/flowDb.ts index 7fe2e3a73b..c65c836770 100644 --- a/packages/mermaid/src/diagrams/flowchart/flowDb.ts +++ b/packages/mermaid/src/diagrams/flowchart/flowDb.ts @@ -806,7 +806,8 @@ const addNodeFromVertex = ( labelStyle: '', parentId, padding: config.flowchart?.padding || 8, - cssStyles: vertex.styles.join(' '), + cssStyles: vertex.styles, + cssCompiledStyles: getCompiledStyles(vertex.classes), cssClasses: vertex.classes.join(' '), shape: getTypeFromVertex(vertex), dir: vertex.dir, @@ -820,6 +821,16 @@ const addNodeFromVertex = ( } }; +function getCompiledStyles(classDefs: string[]) { + let compiledStyles: string[] = []; + for (const customClass of classDefs) { + if (classes.get(customClass)) { + compiledStyles = [...compiledStyles, ...(classes.get(customClass)?.styles ?? [])]; + } + } + return compiledStyles; +} + export const getData = () => { const config = getConfig(); const nodes: Node[] = []; @@ -844,7 +855,7 @@ export const getData = () => { labelStyle: '', parentId: parentDB.get(subGraph.id), padding: config.flowchart?.padding || 8, - cssStyles: '', + cssStyles: [], cssClasses: '', shape: 'rect', dir: subGraph.dir, From 4a8c24a633476a654fefc92db5aaf813cf451d68 Mon Sep 17 00:00:00 2001 From: Ashish Jain Date: Mon, 17 Jun 2024 15:19:03 +0200 Subject: [PATCH 506/789] Add support for custom cssStyle and compiledStyles for custom classDefs --- packages/mermaid/src/diagrams/flowchart/flowDb.ts | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/packages/mermaid/src/diagrams/flowchart/flowDb.ts b/packages/mermaid/src/diagrams/flowchart/flowDb.ts index c65c836770..66c852a149 100644 --- a/packages/mermaid/src/diagrams/flowchart/flowDb.ts +++ b/packages/mermaid/src/diagrams/flowchart/flowDb.ts @@ -824,8 +824,14 @@ const addNodeFromVertex = ( function getCompiledStyles(classDefs: string[]) { let compiledStyles: string[] = []; for (const customClass of classDefs) { - if (classes.get(customClass)) { - compiledStyles = [...compiledStyles, ...(classes.get(customClass)?.styles ?? [])]; + const cssClass = classes.get(customClass); + if (cssClass) { + if (cssClass.styles) { + compiledStyles = [...compiledStyles, ...(cssClass.styles ?? [])]; + } + if (cssClass.textStyles) { + compiledStyles = [...compiledStyles, ...(cssClass.textStyles ?? [])]; + } } } return compiledStyles; From a6f3316ddba5ba58266ac5d373325e5e9c4b550b Mon Sep 17 00:00:00 2001 From: Knut Sveidqvist Date: Mon, 17 Jun 2024 15:42:45 +0200 Subject: [PATCH 507/789] #5237 passing cssStyles and cssCompiled style arrays --- .../mermaid/src/diagrams/state/dataFetcher.js | 160 ++++++++++++++---- .../diagrams/state/parser/state-style.spec.js | 41 +++++ .../diagrams/state/parser/stateDiagram.jison | 18 ++ .../mermaid/src/diagrams/state/stateCommon.ts | 2 + .../mermaid/src/diagrams/state/stateDb.js | 22 ++- .../rendering-elements/shapes/drawRect.ts | 13 +- .../shapes/handdrawnStyles.ts | 50 +++++- .../rendering-elements/shapes/util.js | 1 + 8 files changed, 255 insertions(+), 52 deletions(-) diff --git a/packages/mermaid/src/diagrams/state/dataFetcher.js b/packages/mermaid/src/diagrams/state/dataFetcher.js index a94fb681d6..789deae700 100644 --- a/packages/mermaid/src/diagrams/state/dataFetcher.js +++ b/packages/mermaid/src/diagrams/state/dataFetcher.js @@ -54,21 +54,39 @@ export function stateDomId(itemId = '', counter = 0, type = '', typeSpacer = DOM return `${DOMID_STATE}-${itemId}${typeStr}-${counter}`; } -const setupDoc = (parentParsedItem, doc, diagramStates, nodes, edges, altFlag, look) => { +const setupDoc = (parentParsedItem, doc, diagramStates, nodes, edges, altFlag, look, classes) => { // graphItemCount = 0; log.trace('items', doc); doc.forEach((item) => { switch (item.stmt) { case STMT_STATE: - dataFetcher(parentParsedItem, item, diagramStates, nodes, edges, altFlag, look); + dataFetcher(parentParsedItem, item, diagramStates, nodes, edges, altFlag, look, classes); break; case DEFAULT_STATE_TYPE: - dataFetcher(parentParsedItem, item, diagramStates, nodes, edges, altFlag, look); + dataFetcher(parentParsedItem, item, diagramStates, nodes, edges, altFlag, look, classes); break; case STMT_RELATION: { - dataFetcher(parentParsedItem, item.state1, diagramStates, nodes, edges, altFlag, look); - dataFetcher(parentParsedItem, item.state2, diagramStates, nodes, edges, altFlag, look); + dataFetcher( + parentParsedItem, + item.state1, + diagramStates, + nodes, + edges, + altFlag, + look, + classes + ); + dataFetcher( + parentParsedItem, + item.state2, + diagramStates, + nodes, + edges, + altFlag, + look, + classes + ); const edgeData = { id: 'edge' + graphItemCount, start: item.state1.id, @@ -135,7 +153,7 @@ let cssClasses = newClassesList(); // style classes defined by a classDef * @param nodes * @param nodeData */ -function insertOrUpdateNode(nodes, nodeData) { +function insertOrUpdateNode(nodes, nodeData, classes) { if (!nodeData.id || nodeData.id === '' || nodeData.id === '') { return; } @@ -143,29 +161,62 @@ function insertOrUpdateNode(nodes, nodeData) { //Populate node style attributes if nodeData has classes defined if (nodeData.cssClasses) { nodeData.cssClasses.split(' ').forEach((cssClass) => { - if (cssClasses[cssClass]) { - cssClasses[cssClass].styles.forEach((style) => { - // Populate nodeData with style attributes specifically to be used by rough.js - if (style && style.startsWith('fill:')) { - nodeData.backgroundColor = style.replace('fill:', ''); - } - if (style && style.startsWith('stroke:')) { - nodeData.borderColor = style.replace('stroke:', ''); - } - if (style && style.startsWith('stroke-width:')) { - nodeData.borderWidth = style.replace('stroke-width:', ''); - } + if (classes.get(cssClass)) { + const classDef = classes.get(cssClass); + // classDef.styles.forEach((style) => { + // nodeData.cssCompiledStyles += style + ','; + // // Populate nodeData with style attributes specifically to be used by rough.js + // if (style && style.startsWith('fill:')) { + // nodeData.backgroundColor = style.replace('fill:', ''); + // } + // if (style && style.startsWith('stroke:')) { + // nodeData.borderColor = style.replace('stroke:', ''); + // } + // if (style && style.startsWith('stroke-width:')) { + // nodeData.borderWidth = style.replace('stroke-width:', ''); + // } - nodeData.cssStyles += style + ';'; - }); - cssClasses[cssClass].textStyles.forEach((style) => { - nodeData.labelStyle += style + ';'; - if (style && style.startsWith('fill:')) { - nodeData.labelTextColor = style.replace('fill:', ''); - } - }); + // nodeData.cssStyles += style + ';'; + // }); + + // classDef.textStyles.forEach((style) => { + // nodeData.labelStyle += style + ';'; + // if (style && style.startsWith('fill:')) { + // nodeData.labelTextColor = style.replace('fill:', ''); + // } + // }); + nodeData.cssCompiledStyles = [...nodeData.cssCompiledStyles, ...classDef.styles]; } }); + //Populate node style attributes if nodeData has classes defined + if (nodeData.cssStyles) { + // nodeData.cssStyles.split(' ').forEach((csStyle) => { + // if (classes[cssClass]) { + // classes[cssClass].styles.forEach((style) => { + // // Populate nodeData with style attributes specifically to be used by rough.js + // if (style && style.startsWith('fill:')) { + // nodeData.backgroundColor = style.replace('fill:', ''); + // } + // if (style && style.startsWith('stroke:')) { + // nodeData.borderColor = style.replace('stroke:', ''); + // } + // if (style && style.startsWith('stroke-width:')) { + // nodeData.borderWidth = style.replace('stroke-width:', ''); + // } + // nodeData.cssStyles += style + ';'; + // }); + // classes[cssClass].textStyles.forEach((style) => { + // nodeData.labelStyle += style + ';'; + // if (style && style.startsWith('fill:')) { + // nodeData.labelTextColor = style.replace('fill:', ''); + // } + // }); + // } + // }); + } + // nodeData.labelTextColor = '#ffffff'; + // nodeData.labelStyle = 'color:#ffffff'; + // nodeData.cssStyles = 'fill:#f77'; } const existingNodeData = nodes.find((node) => node.id === nodeData.id); if (existingNodeData) { @@ -197,7 +248,7 @@ function getClassesFromDbInfo(dbInfoItem) { } //add comma for all other classes else { - classStr += dbInfoItem.classes[i] + ' '; + classStr += dbInfoItem.classes[i] + ','; } } return classStr; @@ -206,9 +257,41 @@ function getClassesFromDbInfo(dbInfoItem) { } } } -export const dataFetcher = (parent, parsedItem, diagramStates, nodes, edges, altFlag, look) => { +/** + * Get classes from the db for the info item. + * If there aren't any or if dbInfoItem isn't defined, return an empty string. + * Else create 1 string from the list of classes found + * + * @param {undefined | null | object} dbInfoItem + * @returns {string} + */ +function getStylesFromDbInfo(dbInfoItem) { + if (dbInfoItem === undefined || dbInfoItem === null) { + return; + } else { + if (dbInfoItem.styles) { + return dbInfoItem.styles; + } else { + return []; + } + } +} +export const dataFetcher = ( + parent, + parsedItem, + diagramStates, + nodes, + edges, + altFlag, + look, + classes +) => { const itemId = parsedItem.id; - const classStr = getClassesFromDbInfo(diagramStates.get(itemId)); + const dbState = diagramStates.get(itemId); + const classStr = getClassesFromDbInfo(dbState); + const style = getStylesFromDbInfo(dbState); + + log.info('dataFetcher parsedItem', parsedItem, dbState, style); if (itemId !== 'root') { let shape = SHAPE_STATE; @@ -229,6 +312,7 @@ export const dataFetcher = (parent, parsedItem, diagramStates, nodes, edges, alt shape, description: common.sanitizeText(itemId, getConfig()), cssClasses: `${classStr} ${CSS_DIAGRAM_STATE}`, + cssStyles: style, }; } @@ -287,7 +371,8 @@ export const dataFetcher = (parent, parsedItem, diagramStates, nodes, edges, alt shape: newNode.shape, label: newNode.description, cssClasses: newNode.cssClasses, - cssStyles: '', + cssCompiledStyles: [], + cssStyles: newNode.cssStyles, id: itemId, dir: newNode.dir, domId: stateDomId(itemId, graphItemCount), @@ -319,7 +404,8 @@ export const dataFetcher = (parent, parsedItem, diagramStates, nodes, edges, alt label: parsedItem.note.text, cssClasses: CSS_DIAGRAM_NOTE, // useHtmlLabels: false, - cssStyles: '', // styles.style, + cssStyles: [], + cssCompilesStyles: [], id: itemId + NOTE_ID + '-' + graphItemCount, domId: stateDomId(itemId, graphItemCount, NOTE), type: newNode.type, @@ -334,7 +420,7 @@ export const dataFetcher = (parent, parsedItem, diagramStates, nodes, edges, alt shape: SHAPE_NOTEGROUP, label: parsedItem.note.text, cssClasses: newNode.cssClasses, - cssStyles: '', // styles.style, + cssStyles: [], id: itemId + PARENT_ID, domId: stateDomId(itemId, graphItemCount, PARENT), type: 'group', @@ -352,11 +438,11 @@ export const dataFetcher = (parent, parsedItem, diagramStates, nodes, edges, alt nodeData.parentId = parentNodeId; //insert groupData - insertOrUpdateNode(nodes, groupData); + insertOrUpdateNode(nodes, groupData, classes); //insert noteData - insertOrUpdateNode(nodes, noteData); + insertOrUpdateNode(nodes, noteData, classes); //insert nodeData - insertOrUpdateNode(nodes, nodeData); + insertOrUpdateNode(nodes, nodeData, classes); let from = itemId; let to = noteData.id; @@ -382,12 +468,12 @@ export const dataFetcher = (parent, parsedItem, diagramStates, nodes, edges, alt look, }); } else { - insertOrUpdateNode(nodes, nodeData); + insertOrUpdateNode(nodes, nodeData, classes); } } if (parsedItem.doc) { log.trace('Adding nodes children '); - setupDoc(parsedItem, parsedItem.doc, diagramStates, nodes, edges, !altFlag, look); + setupDoc(parsedItem, parsedItem.doc, diagramStates, nodes, edges, !altFlag, look, classes); } }; diff --git a/packages/mermaid/src/diagrams/state/parser/state-style.spec.js b/packages/mermaid/src/diagrams/state/parser/state-style.spec.js index 1be9148b8d..48a8b7e1b0 100644 --- a/packages/mermaid/src/diagrams/state/parser/state-style.spec.js +++ b/packages/mermaid/src/diagrams/state/parser/state-style.spec.js @@ -217,4 +217,45 @@ describe('ClassDefs and classes when parsing a State diagram', () => { }); }); }); + + describe('style statement for a state (style)', () => { + describe('defining (style)', () => { + it('has "style" as a keyword, an id, and can set a css style attribute', function () { + stateDiagram.parser.parse(` +stateDiagram-v2 + style id1 background:#bbb;`); + + stateDiagram.parser.yy.extract(stateDiagram.parser.yy.getRootDocV2()); + + // const styleClasses = stateDb.getClasses(); + // expect(styleClasses.get('exampleClass').styles.length).toEqual(1); + // expect(styleClasses.get('exampleClass').styles[0]).toEqual('background:#bbb'); + }); + + it('has handles multiple ids', function () { + stateDiagram.parser.parse(` +stateDiagram-v2 + style id1,id2 background:#bbb;`); + + stateDiagram.parser.yy.extract(stateDiagram.parser.yy.getRootDocV2()); + + // const styleClasses = stateDb.getClasses(); + // expect(styleClasses.get('exampleClass').styles.length).toEqual(1); + // expect(styleClasses.get('exampleClass').styles[0]).toEqual('background:#bbb'); + }); + + // it('can define multiple attributes separated by commas', function () { + // stateDiagram.parser.parse( + // 'stateDiagram-v2\n classDef exampleClass background:#bbb, font-weight:bold, font-style:italic;' + // ); + // stateDiagram.parser.yy.extract(stateDiagram.parser.yy.getRootDocV2()); + + // const styleClasses = stateDb.getClasses(); + // expect(styleClasses.get('exampleClass').styles.length).toEqual(3); + // expect(styleClasses.get('exampleClass').styles[0]).toEqual('background:#bbb'); + // expect(styleClasses.get('exampleClass').styles[1]).toEqual('font-weight:bold'); + // expect(styleClasses.get('exampleClass').styles[2]).toEqual('font-style:italic'); + // }); + }); + }); }); diff --git a/packages/mermaid/src/diagrams/state/parser/stateDiagram.jison b/packages/mermaid/src/diagrams/state/parser/stateDiagram.jison index 44235ecd40..e3bc512352 100644 --- a/packages/mermaid/src/diagrams/state/parser/stateDiagram.jison +++ b/packages/mermaid/src/diagrams/state/parser/stateDiagram.jison @@ -27,6 +27,13 @@ %x CLASSDEFID %x CLASS %x CLASS_STYLE + +// Style statement states +%x STYLE +%x STYLE_IDS +%x STYLEDEF_STYLES +%x STYLEDEF_STYLEOPTS + %x NOTE %x NOTE_ID %x NOTE_TEXT @@ -75,6 +82,10 @@ accDescr\s*"{"\s* { this.begin("acc_descr_multili (\w+)+((","\s*\w+)*) { this.popState(); this.pushState('CLASS_STYLE'); return 'CLASSENTITY_IDS' } [^\n]* { this.popState(); return 'STYLECLASS' } +"style"\s+ { this.pushState('STYLE'); return 'style'; } + -
    -flowchart LR
    +    

    Case 1

    +
    +
    +stateDiagram-v2
    +AState: Should NOT be white
    +BState
    +classDef exampleStyleClass fill:#fff,color: blue;
    +class AState,BState exampleStyleClass
    +style AState fill:#636,border:1px solid red,color:white;
    +      
    +
    +        %%{init: {"look": "classic"} }%%
    +stateDiagram-v2
    +AState: Should NOT be white
    +BState
    +classDef exampleStyleClass fill:#fff,color: blue;
    +class AState,BState exampleStyleClass
    +style AState fill:#636,border:1px solid red,color:white;
    +      
    +
    +stateDiagram-v2
     
    -    Apa --AA--> C
    -      
    +classDef exampleStyleClass background:#bbb,border:1px solid red; +a --> b +class a exampleStyleClass +%% a:::exampleStyleClass +
    +
    +stateDiagram
    +   direction TB
    +
    +   accTitle: This is the accessible title
    +   accDescr: This is an accessible description
    +
    +   classDef notMoving fill:white
    +   classDef movement font-style:italic;
    +   classDef badBadEvent fill:#f00,color:white,font-weight:bold,stroke-width:2px,stroke:yellow
    +
    +   [*] --> Still:::notMoving
    +   Still --> [*]
    +   Still --> Moving:::movement
    +   Moving --> Still
    +   Moving --> Crash:::movement
    +   Crash:::badBadEvent --> [*]
    +      
    +
    +stateDiagram-v2
    +    MyState
    +    note left of MyState : I am a leftie
    +    note right of MyState : I am a rightie
    +
    +      
    +
    +stateDiagram
    +%% direction LR
    +
    +        state C0 {
    +          A0 --> B0
    +        }
    +
    +      C0 --> Apa0
    +
    +      
    +
    +stateDiagram
    +direction LR
    +
    +
    +        state C1 {
    +          A1 --> B1
    +        }
    +
    +      C1 --> Apa1
    +
    +      
    + +

    Case 2

    +
    +
    +stateDiagram
    +direction LR
    +      state Gorilla0 {
    +        state Apa0 {
    +          A0 --> B0
    +        }
    +
    +      }
    +      Apa --> Gorilla0:Label
    +      A0 --> C0
    +      %% C1: "`This is C`"
    +      
    +
    +stateDiagram
    +direction LR
    +        state Apa1 {
    +          A1
    +        }
    +
    +      Apa11 --> Apa1
    +      A1 --> C1
    +      %% C1: "`This is C`"
    +      
    +
    +stateDiagram
    +    [*] --> Level1
    +
    +    state Level1 {
    +        [*] --> Level2
    +
    +        state Level2 {
    +            [*] --> level2
    +            level2 --> Level3
    +
    +            state Level3 {
    +                [*] --> level3
    +                level3 --> [*]
    +            }
    +        }
    +    }
    +      
    +
     flowchart LR
     subgraph Apa["Apa"]
    @@ -127,20 +242,7 @@
     A --> B & C["C"]
           
    -
    -stateDiagram
    -direction LR
    -      state Gorilla0 {
    -        state Apa0 {
    -          A0 --> B0
    -        }
     
    -      }
    -      Apa0 --> C0
    -      A0 --> C0
    -      C1: "`This is C`"
    -      
     flowchart LR
         subgraph Gorilla
    @@ -180,7 +282,7 @@
     
           
    -
    +    
     flowchart LR
         Apa --Hello--> C
     
    @@ -318,7 +420,7 @@
           mermaid.initialize({
             // theme: 'base',
             // handdrawnSeed: 12,
    -        // look: 'handdrawn',
    +        look: 'handdrawn',
             // 'elk.nodePlacement.strategy': 'NETWORK_SIMPLEX',
             // layout: 'dagre',
             // layout: 'elk',
    diff --git a/packages/mermaid/src/diagrams/state/parser/state-style.spec.js b/packages/mermaid/src/diagrams/state/parser/state-style.spec.js
    index 48a8b7e1b0..fed63c4448 100644
    --- a/packages/mermaid/src/diagrams/state/parser/state-style.spec.js
    +++ b/packages/mermaid/src/diagrams/state/parser/state-style.spec.js
    @@ -221,41 +221,46 @@ describe('ClassDefs and classes when parsing a State diagram', () => {
       describe('style statement for a state (style)', () => {
         describe('defining (style)', () => {
           it('has "style" as a keyword, an id, and can set a css style attribute', function () {
    -        stateDiagram.parser.parse(`
    -stateDiagram-v2
    -  style id1 background:#bbb;`);
    +        stateDiagram.parser.parse(`stateDiagram-v2
    +        id1
    +        style id1 background:#bbb`);
    +        stateDiagram.parser.yy.extract(stateDiagram.parser.yy.getRootDocV2());
    +        const data4Layout = stateDiagram.parser.yy.getData();
     
    +        expect(data4Layout.nodes[0].cssStyles).toEqual(['background:#bbb']);
    +      });
    +      it('has "style" as a keyword, an id, and can set a css style attribute', function () {
    +        stateDiagram.parser.parse(`stateDiagram-v2
    +        id1
    +        id2
    +        style id1,id2 background:#bbb`);
             stateDiagram.parser.yy.extract(stateDiagram.parser.yy.getRootDocV2());
    +        const data4Layout = stateDiagram.parser.yy.getData();
     
    -        // const styleClasses = stateDb.getClasses();
    -        // expect(styleClasses.get('exampleClass').styles.length).toEqual(1);
    -        // expect(styleClasses.get('exampleClass').styles[0]).toEqual('background:#bbb');
    +        expect(data4Layout.nodes[0].cssStyles).toEqual(['background:#bbb']);
    +        expect(data4Layout.nodes[1].cssStyles).toEqual(['background:#bbb']);
           });
     
    -      it('has handles multiple ids', function () {
    -        stateDiagram.parser.parse(`
    -stateDiagram-v2
    -  style id1,id2 background:#bbb;`);
    +      it('can define multiple attributes separated by commas', function () {
    +        stateDiagram.parser.parse(`stateDiagram-v2
    +        id1
    +        id2
    +        style id1,id2 background:#bbb, font-weight:bold, font-style:italic;`);
     
             stateDiagram.parser.yy.extract(stateDiagram.parser.yy.getRootDocV2());
    -
    -        // const styleClasses = stateDb.getClasses();
    -        // expect(styleClasses.get('exampleClass').styles.length).toEqual(1);
    -        // expect(styleClasses.get('exampleClass').styles[0]).toEqual('background:#bbb');
    +        const data4Layout = stateDiagram.parser.yy.getData();
    +
    +        expect(data4Layout.nodes[0].cssStyles).toEqual([
    +          'background:#bbb',
    +          'font-weight:bold',
    +          'font-style:italic',
    +        ]);
    +        expect(data4Layout.nodes[1].cssStyles).toEqual([
    +          'background:#bbb',
    +          'font-weight:bold',
    +          'font-style:italic',
    +        ]);
           });
    -
    -      // it('can define multiple attributes separated by commas', function () {
    -      //   stateDiagram.parser.parse(
    -      //     'stateDiagram-v2\n classDef exampleClass background:#bbb, font-weight:bold, font-style:italic;'
    -      //   );
    -      //   stateDiagram.parser.yy.extract(stateDiagram.parser.yy.getRootDocV2());
    -
    -      //   const styleClasses = stateDb.getClasses();
    -      //   expect(styleClasses.get('exampleClass').styles.length).toEqual(3);
    -      //   expect(styleClasses.get('exampleClass').styles[0]).toEqual('background:#bbb');
    -      //   expect(styleClasses.get('exampleClass').styles[1]).toEqual('font-weight:bold');
    -      //   expect(styleClasses.get('exampleClass').styles[2]).toEqual('font-style:italic');
    -      // });
         });
       });
     });
    diff --git a/packages/mermaid/src/diagrams/state/stateDb.js b/packages/mermaid/src/diagrams/state/stateDb.js
    index 012a64ebd2..4ecc1690c4 100644
    --- a/packages/mermaid/src/diagrams/state/stateDb.js
    +++ b/packages/mermaid/src/diagrams/state/stateDb.js
    @@ -202,13 +202,13 @@ const extract = (_doc) => {
               ids.forEach((id) => {
                 const state = getState(id);
                 if (state !== undefined) {
    -              state.styles = styles;
    +              state.styles = styles.map((s) => s.replace(/;/g, '')?.trim());
                 }
               });
             }
             break;
           case STMT_APPLYCLASS:
    -        setStyle(item.id.trim(), item.styleClass);
    +        setCssClass(item.id.trim(), item.styleClass);
             break;
         }
       });
    diff --git a/packages/mermaid/src/rendering-util/createText.ts b/packages/mermaid/src/rendering-util/createText.ts
    index e8fb04fb97..a7ccad6508 100644
    --- a/packages/mermaid/src/rendering-util/createText.ts
    +++ b/packages/mermaid/src/rendering-util/createText.ts
    @@ -198,7 +198,16 @@ export const createText = (
       } = {},
       config: MermaidConfig
     ) => {
    -  log.info('createText', text, style, isTitle, classes, useHtmlLabels, isNode, addSvgBackground);
    +  log.info(
    +    'IPI createText',
    +    text,
    +    style,
    +    isTitle,
    +    classes,
    +    useHtmlLabels,
    +    isNode,
    +    addSvgBackground
    +  );
       if (useHtmlLabels) {
         // TODO: addHtmlLabel accepts a labelStyle. Do we possibly have that?
     
    diff --git a/packages/mermaid/src/rendering-util/rendering-elements/shapes/handdrawnStyles.ts b/packages/mermaid/src/rendering-util/rendering-elements/shapes/handdrawnStyles.ts
    index b14db3fffa..5f81625663 100644
    --- a/packages/mermaid/src/rendering-util/rendering-elements/shapes/handdrawnStyles.ts
    +++ b/packages/mermaid/src/rendering-util/rendering-elements/shapes/handdrawnStyles.ts
    @@ -1,6 +1,5 @@
     import { getConfig } from '$root/diagram-api/diagramAPI.js';
     import type { Node } from '$root/rendering-util/types.d.ts';
    -import styles from '../../../../dist/diagrams/packet/styles';
     
     // Striped fill like start or fork nodes in state diagrams
     export const solidStateFill = (color: string) => {
    @@ -22,31 +21,33 @@ export const compileStyles = (node: Node) => {
       // node.cssStyles is an array of styles directly set on the node
     
       // concat the arrays and remove duplicates such that the values from node.cssStyles are used if there are duplicates
    -  return [...(node.cssCompiledStyles || []), ...(node.cssStyles || [])];
    +  const stylesMap = styles2Map([...(node.cssCompiledStyles || []), ...(node.cssStyles || [])]);
    +  return { stylesMap, stylesArray: [...stylesMap] };
     };
     
     export const styles2Map = (styles: string[]) => {
    -  const styleMap = new Map();
    +  const styleMap = new Map();
       styles.forEach((style) => {
         const [key, value] = style.split(':');
    -    styleMap.set(key.trim(), value.trim());
    +    styleMap.set(key.trim(), value?.trim());
       });
       return styleMap;
     };
     
     export const styles2String = (node: Node) => {
    -  const styles = compileStyles(node);
    +  const { stylesArray } = compileStyles(node);
       const labelStyles: string[] = [];
       const nodeStyles: string[] = [];
     
    -  styles.forEach((style) => {
    -    const [key, value] = style.split(':');
    +  stylesArray.forEach((style) => {
    +    const key = style[0];
         if (key === 'color') {
    -      labelStyles.push(style);
    +      labelStyles.push(style.join(':') + ' !important');
         } else {
    -      nodeStyles.push(style);
    +      nodeStyles.push(style.join(':') + ' !important');
         }
       });
    +
       return { labelStyles: labelStyles.join(';'), nodeStyles: nodeStyles.join(';') };
     };
     
    @@ -55,18 +56,16 @@ export const styles2String = (node: Node) => {
     export const userNodeOverrides = (node: Node, options: any) => {
       const { themeVariables, handdrawnSeed } = getConfig();
       const { nodeBorder, mainBkg } = themeVariables;
    -  const styles = compileStyles(node);
    +  const { stylesArray: styles, stylesMap } = compileStyles(node);
     
       // index the style array to a map object
    -  const styleMap = styles2Map(styles);
    -
       const result = Object.assign(
         {
           roughness: 0.7,
    -      fill: styleMap.get('fill') || mainBkg,
    +      fill: stylesMap.get('fill') || mainBkg,
           fillStyle: 'hachure', // solid fill
           fillWeight: 3.5,
    -      stroke: styleMap.get('stroke') || nodeBorder,
    +      stroke: stylesMap.get('stroke') || nodeBorder,
           seed: handdrawnSeed,
           strokeWidth: 1.3,
         },
    
    From 406c0d869b28227c382d9cff2845ccad2d279557 Mon Sep 17 00:00:00 2001
    From: Ashish Jain 
    Date: Tue, 18 Jun 2024 11:48:24 +0200
    Subject: [PATCH 509/789] Add support for custom cssStyle and compiledStyles
     for custom classDefs for flowchart
    
    ---
     cypress/platform/knsv2.html                   |   359 +-
     .../src/diagrams/flowchart/flowDiagram-v2.ts  |    12 +-
     .../mermaid/src/diagrams/flowchart/styles.ts  |     6 +-
     .../state/stateRenderer-v3-unified.ts         |     1 +
     pnpm-lock.yaml                                | 17915 +++++++++-------
     5 files changed, 10050 insertions(+), 8243 deletions(-)
    
    diff --git a/cypress/platform/knsv2.html b/cypress/platform/knsv2.html
    index 268495be34..f4a3571699 100644
    --- a/cypress/platform/knsv2.html
    +++ b/cypress/platform/knsv2.html
    @@ -75,340 +75,45 @@
         
       
       
    -    

    Case 1

    -
    -
    -stateDiagram-v2
    -AState: Should NOT be white
    -BState
    -classDef exampleStyleClass fill:#fff,color: blue;
    -class AState,BState exampleStyleClass
    -style AState fill:#636,border:1px solid red,color:white;
    -      
    -
    -        %%{init: {"look": "classic"} }%%
    -stateDiagram-v2
    -AState: Should NOT be white
    -BState
    -classDef exampleStyleClass fill:#fff,color: blue;
    -class AState,BState exampleStyleClass
    -style AState fill:#636,border:1px solid red,color:white;
    -      
    -
    -stateDiagram-v2
    -
    -classDef exampleStyleClass background:#bbb,border:1px solid red;
    -a --> b
    -class a exampleStyleClass
    -%% a:::exampleStyleClass
    -      
    -
    -stateDiagram
    -   direction TB
    -
    -   accTitle: This is the accessible title
    -   accDescr: This is an accessible description
    -
    -   classDef notMoving fill:white
    -   classDef movement font-style:italic;
    -   classDef badBadEvent fill:#f00,color:white,font-weight:bold,stroke-width:2px,stroke:yellow
    -
    -   [*] --> Still:::notMoving
    -   Still --> [*]
    -   Still --> Moving:::movement
    -   Moving --> Still
    -   Moving --> Crash:::movement
    -   Crash:::badBadEvent --> [*]
    -      
    -
    -stateDiagram-v2
    -    MyState
    -    note left of MyState : I am a leftie
    -    note right of MyState : I am a rightie
    -
    -      
    -
    -stateDiagram
    -%% direction LR
    -
    -        state C0 {
    -          A0 --> B0
    -        }
    -
    -      C0 --> Apa0
    -
    -      
    -
    -stateDiagram
    -direction LR
    -
    -
    -        state C1 {
    -          A1 --> B1
    -        }
    -
    -      C1 --> Apa1
    -
    -      
    -
    -

    Case 2

    -
    -
    -stateDiagram
    -direction LR
    -      state Gorilla0 {
    -        state Apa0 {
    -          A0 --> B0
    -        }
    -
    -      }
    -      Apa --> Gorilla0:Label
    -      A0 --> C0
    -      %% C1: "`This is C`"
    -      
    -
    -stateDiagram
    -direction LR
    -        state Apa1 {
    -          A1
    -        }
    -
    -      Apa11 --> Apa1
    -      A1 --> C1
    -      %% C1: "`This is C`"
    -      
    -
    -stateDiagram
    -    [*] --> Level1
    -
    -    state Level1 {
    -        [*] --> Level2
    -
    -        state Level2 {
    -            [*] --> level2
    -            level2 --> Level3
    -
    -            state Level3 {
    -                [*] --> level3
    -                level3 --> [*]
    -            }
    -        }
    -    }
    -      
    -
    -
    -flowchart LR
    -subgraph Apa["Apa"]
    -    B["This is B"]
    -    A["Start"]
    -end
    -    A --> B & C["C"]
    -    Apa --> C
    -      
    -
    -flowchart RL
    -subgraph Apa["Apa"]
    -  subgraph Gorilla
    -    A["Start"]
    -    B["This is B"]
    -  end
    -end
    -    A --> B & C["C"]
    -    Gorilla --> C
    -      
    -
    -flowchart LR
    -subgraph Apa["Apa"]
    -  subgraph Gorilla
    -    A["Start"]
    -    B["This is B"]
    -  end
    -end
    -    A --> B & C["C"]
    -    Apa --> C
    +    
    +flowchart
    +   a_a(Aftonbladet) --> b_b[gorilla]:::apa --> c_c{chimp}:::apa -->a_a
    +        a_a --> c --> d_d --> c_c
    +        classDef apa fill:#f9f,stroke:#333,stroke-width:4px;
    +        class a_a apa;
    +        click a_a "http://www.aftonbladet.se" "bookmark"
    +        click c_c callback "new tooltip"
           
    -
    +    
     flowchart LR
    -subgraph Apa["Apa"]
    -  subgraph Gorilla
    -    B["This is B"]
    -    A["Start"]
    -  end
    -end
    -Apa --> C
    -A --> B & C["C"]
    -      
    + id1(Start)-->id2(Stop) + style id1 fill:#f9f,stroke:#333,stroke-width:4px + style id2 fill:#bbf,stroke:#f66,stroke-width:2px,color:#fff,stroke-dasharray: 5 5 -
    -flowchart LR
    -    subgraph Gorilla
    -      subgraph Apa
    -        A[A] --- B
    -      end
    -    end
    -    Apa --- C
    -    A --x C
    +      
         
    -
    ----
    -config:
    -  look: neo
    -  theme: neo
    -  layout: elk
    -  elk.mergeEdges: true
    -  themeVariables: {}
    ----
    -%% 'elk.stress',
    -%% 'elk.force'
    -%%'elk.mrtree'
    -%% 'elk.sporeOverlap
    -stateDiagram
    -  direction TB
    -  A --> B
    -  A --> C
    -  A --> D
    -  A --> E
    -  A --> F
    -  state F {
    -    Another
    -  }
    -  Another --> A
    -
    -
    -      
    -
    -flowchart LR
    -    Apa --Hello--> C
    -
    -      
    -
    -      %%{init: {"layout": "dagre", "mergeEdges": false} }%%
    -flowchart LR
    -      A ==> B(This is B)
    -    A[Start] --> B(Is it?)
    -    B -- Yes --> C[OK]
    -    C --> D[Rethink]
    -    D --> B
    -    B -. No ...-> E[End]
    +    
    +      flowchart LR
    +    A:::foo & B:::bar --> C:::foobar
    +    classDef foo stroke:#f00
    +    classDef bar stroke:#0f0
    +    classDef ash color:red
    +    class C ash
    +    style C stroke:#00f, fill:black
     
    +    
    -
    -
    -      %%{init: {"layout": "elk", "mergeEdges": true} }%%
    -flowchart
    -      A --> B(This is B)
    -      
    -
    -      %%{init: {"layout": "elk", "mergeEdges": false, "elk.nodePlacement.strategy": "SIMPLE"} }%%
    +    
           stateDiagram
    -    state if_state <<choice>>
    -    [*] --> IsPositive
    -    IsPositive --> if_state
    -    if_state --> False: if n < 0
    -    if_state --> True : if n >= 0
    -      
    -
    -      %%{init: {"layout": "elk", "mergeEdges": false, "elk.nodePlacement.strategy": "SIMPLE"} }%%
    -      stateDiagram
    -    state if_state <<choice>>
    -    [*] --> IsPositive
    -    IsPositive --> if_state
    -    if_state --> False: if n < 0
    -    if_state --> True : if n >= 0
    -      
    -
    -      %%{init: {"layout": "dagre", "mergeEdges": true} }%%
    -stateDiagram
    -  direction TB
    -  State T1 {
    -    T12--> T11
    -  }
    -  T1 --> T2
    -  T11 --> T2
    -      
    -
    -      %%{init: {"layout": "dagre", "mergeEdges": true} }%%
    -stateDiagram
    -State T1 {
    -    T21
    -    --
    -    T22
    -    }
    -      
    -
    -      %%{init: {"layouts": "elk2", "mergeEdges": true} }%%
    -      stateDiagram
    -      State S1 {
    -    direction TB
    -    S11
    -  }
    -  S1 --> S2
    -      
    -
    -      %%{init: {"layout": "elk", "mergeEdges": true} }%%
    -stateDiagram
    -State T1 {
    -    T21
    -    --
    -    T22
    -    }
    -      
    -
    -      %%{init: {"layout": "elk", "mergeEdges": true} }%%
    -stateDiagram
    -  [*] --> T1
    -  T1 --> T2
    -  T1 --> T3
    -  T1 --> T4
    -      
    -
    -      %%{init: {"layout": "elk"} }%%
    -stateDiagram
    -  [*] --> T1
    -  T1 --> T2
    -  T2 --> T3
    -  T3 --> T1
    -  T1 --> T3
    -      
    -
    -stateDiagram
    -  State1: The state with a note
    -  note right of State1
    -      Important information! You can write
    -      notes.
    -  end note
    -      
    -
    -stateDiagram-v2
    -    direction LR
    -    [*] --> Active
    +    A:::foo 
    +    B:::bar --> C:::foobar
    +    classDef foo stroke:#f00
    +    classDef bar stroke:#0f0
    +    style C stroke:#00f, fill:black, color:white
     
    -    state Active {
    -      direction BT
    -        [*] --> Inner
    -        Inner --> NumLockOn : EvNumLockPressed
    -    }
    -    %% Outer --> Inner
    -      
    +
    - \ No newline at end of file + diff --git a/cypress/platform/viewer.js b/cypress/platform/viewer.js index 0b480b8bc3..77da253c27 100644 --- a/cypress/platform/viewer.js +++ b/cypress/platform/viewer.js @@ -1,7 +1,7 @@ -import mermaid from './mermaid.esm.mjs'; -import { layouts } from './mermaid-layout-elk.esm.mjs'; import externalExample from './mermaid-example-diagram.esm.mjs'; +import layouts from './mermaid-layout-elk.esm.mjs'; import zenUml from './mermaid-zenuml.esm.mjs'; +import mermaid from './mermaid.esm.mjs'; function b64ToUtf8(str) { return decodeURIComponent(escape(window.atob(str))); diff --git a/packages/mermaid-layout-elk/src/layouts.ts b/packages/mermaid-layout-elk/src/layouts.ts index a6075386b3..dc48ccbfae 100644 --- a/packages/mermaid-layout-elk/src/layouts.ts +++ b/packages/mermaid-layout-elk/src/layouts.ts @@ -3,7 +3,7 @@ import type { LayoutLoaderDefinition } from 'mermaid'; const loader = async () => await import(`./render.js`); const algos = ['elk.stress', 'elk.force', 'elk.mrtree', 'elk.sporeOverlap']; -export const layouts: LayoutLoaderDefinition[] = [ +const layouts: LayoutLoaderDefinition[] = [ { name: 'elk', loader, @@ -15,3 +15,5 @@ export const layouts: LayoutLoaderDefinition[] = [ algorithm: algo, })), ]; + +export default layouts; From db8a0028a69ceae63635d0e4911183d0fc64d270 Mon Sep 17 00:00:00 2001 From: Sidharth Vinod Date: Wed, 21 Aug 2024 16:22:10 +0530 Subject: [PATCH 761/789] docs: Add Readme --- packages/mermaid-layout-elk/README.md | 72 +++++++++++++++++++++++++++ 1 file changed, 72 insertions(+) create mode 100644 packages/mermaid-layout-elk/README.md diff --git a/packages/mermaid-layout-elk/README.md b/packages/mermaid-layout-elk/README.md new file mode 100644 index 0000000000..65ad96c3d9 --- /dev/null +++ b/packages/mermaid-layout-elk/README.md @@ -0,0 +1,72 @@ +# @mermaid-js/layout-elk + +This package provides a layout engine for Mermaid based on the [ELK](https://www.eclipse.org/elk/) layout engine. + +> [!NOTE] +> The ELK Layout engine will not be available in all providers that support mermaid by default. +> The websites will have to install the `@mermaid-js/layout-elk` package to use the ELK layout engine. + +## Usage + +``` +flowchart-elk TD + A --> B + A --> C +``` + +``` +--- +config: + layout: elk +--- + +flowchart TD + A --> B + A --> C +``` + +``` +--- +config: + layout: elk.stress +--- + +flowchart TD + A --> B + A --> C +``` + +### With bundlers + +```sh +npm install @mermaid-js/layout-elk +``` + +```ts +import mermaid from 'mermaid'; +import elkLayouts from '@mermaid-js/layout-elk'; + +mermaid.registerLayoutLoaders(elkLayouts); +``` + +### With CDN + +```html + +``` + +## Supported layouts + +- `elk`: The default layout, which is `elk.layered`. +- `elk.layered`: Layered layout +- `elk.stress`: Stress layout +- `elk.force`: Force layout +- `elk.mrtree`: Multi-root tree layout +- `elk.sporeOverlap`: Spore overlap layout + + From 797877bcbfc48d3f29c6ab4ac445bd9e8ad63eb1 Mon Sep 17 00:00:00 2001 From: Sidharth Vinod Date: Wed, 21 Aug 2024 16:23:56 +0530 Subject: [PATCH 762/789] chore: Use spaces --- packages/mermaid-layout-elk/README.md | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/packages/mermaid-layout-elk/README.md b/packages/mermaid-layout-elk/README.md index 65ad96c3d9..c328032922 100644 --- a/packages/mermaid-layout-elk/README.md +++ b/packages/mermaid-layout-elk/README.md @@ -10,30 +10,30 @@ This package provides a layout engine for Mermaid based on the [ELK](https://www ``` flowchart-elk TD - A --> B - A --> C + A --> B + A --> C ``` ``` --- config: - layout: elk + layout: elk --- flowchart TD - A --> B - A --> C + A --> B + A --> C ``` ``` --- config: - layout: elk.stress + layout: elk.stress --- flowchart TD - A --> B - A --> C + A --> B + A --> C ``` ### With bundlers From 01b5935a4eee5a91059e122135770da1db8ae2fb Mon Sep 17 00:00:00 2001 From: Sidharth Vinod Date: Wed, 21 Aug 2024 17:12:03 +0530 Subject: [PATCH 763/789] chore: ts-ignore errors --- packages/mermaid-layout-elk/src/render.ts | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/packages/mermaid-layout-elk/src/render.ts b/packages/mermaid-layout-elk/src/render.ts index 2494d4ccdd..a9e02b5a40 100644 --- a/packages/mermaid-layout-elk/src/render.ts +++ b/packages/mermaid-layout-elk/src/render.ts @@ -71,6 +71,7 @@ const addVertex = async (nodeEl: any, graph: { children: any[] }, nodeArr: any, await addVertices(nodeEl, nodeArr, child, node.id); if (node.label) { + // @ts-ignore TODO: fix this const { shapeSvg, bbox } = await labelHelper(nodeEl, node, undefined, true); labelData.width = bbox.width; labelData.wrappingWidth = getConfig().flowchart!.wrappingWidth; @@ -230,12 +231,14 @@ const getNextPort = (node: string | number, edgeDirection: string, graphDirectio const result = edgeDirection === 'in' ? portPos[node].inPosition : portPos[node].outPosition; if (edgeDirection === 'in') { + // @ts-ignore TODO: fix this portPos[node].inPosition = getNextPosition( portPos[node].inPosition, edgeDirection, graphDirection ); } else { + // @ts-ignore TODO: fix this portPos[node].outPosition = getNextPosition( portPos[node].outPosition, edgeDirection, @@ -439,6 +442,7 @@ const addEdges = async function ( } else if (edges.defaultInterpolate !== undefined) { edgeData.curve = interpolateToCurve(edges.defaultInterpolate, curveLinear); } else { + // @ts-ignore TODO: fix this edgeData.curve = interpolateToCurve(conf.curve, curveLinear); } @@ -471,6 +475,7 @@ const addEdges = async function ( log.debug('abc78 source and target', source, target); // Add the edge to the graph graph.edges.push({ + // @ts-ignore TODO: fix this id: 'e' + edge.start + edge.end, ...edge, sources: [source], From c5be9fd8825b31da1722267643c551326b06a375 Mon Sep 17 00:00:00 2001 From: Sidharth Vinod Date: Wed, 21 Aug 2024 17:12:59 +0530 Subject: [PATCH 764/789] chore: Move render function to bottom --- packages/mermaid-layout-elk/src/render.ts | 732 +++++++++++----------- 1 file changed, 366 insertions(+), 366 deletions(-) diff --git a/packages/mermaid-layout-elk/src/render.ts b/packages/mermaid-layout-elk/src/render.ts index a9e02b5a40..694a061aa7 100644 --- a/packages/mermaid-layout-elk/src/render.ts +++ b/packages/mermaid-layout-elk/src/render.ts @@ -16,7 +16,7 @@ const { log, positionEdgeLabel, } = mermaid.internalHelpers; -// import { insertEdge } from '../../mermaid/src/rendering-util/rendering-elements/edges.js'; + const nodeDb: Record = {}; const portPos: Record = {}; const clusterDb: Record = {}; @@ -533,387 +533,102 @@ function setIncludeChildrenPolicy(nodeId: string, ancestorId: string) { } } -export const render = async ( - data4Layout: LayoutData, - svg: { - insert: (arg0: string) => { - (): any; - new (): any; - attr: { (arg0: string, arg1: string): any; new (): any }; - }; - }, - element: any, - algorithm: any -) => { - // @ts-ignore - ELK is not typed - const elk = new ELK(); - - // Add the arrowheads to the svg - insertMarkers(element, data4Layout.markers, data4Layout.type, data4Layout.diagramId); +function intersectLine( + p1: { y: number; x: number }, + p2: { y: number; x: number }, + q1: { x: any; y: any }, + q2: { x: any; y: any } +) { + log.debug('UIO intersectLine', p1, p2, q1, q2); + // Algorithm from J. Avro, (ed.) Graphics Gems, No 2, Morgan Kaufmann, 1994, + // p7 and p473. - // Setup the graph with the layout options and the data for the layout - let elkGraph: any = { - id: 'root', - layoutOptions: { - 'elk.hierarchyHandling': 'INCLUDE_CHILDREN', - 'elk.algorithm': algorithm, - 'nodePlacement.strategy': data4Layout.config.elk.nodePlacementStrategy, - 'elk.layered.mergeEdges': data4Layout.config.elk.mergeEdges, - 'elk.direction': 'DOWN', - 'spacing.baseValue': 30, - // 'spacing.nodeNode': 40, - // 'spacing.nodeNodeBetweenLayers': 45, - // 'spacing.edgeNode': 40, - // 'spacing.edgeNodeBetweenLayers': 30, - // 'spacing.edgeEdge': 30, - // 'spacing.edgeEdgeBetweenLayers': 40, - // 'spacing.nodeSelfLoop': 50, - }, - children: [], - edges: [], - }; + // let a1, a2, b1, b2, c1, c2; + // let r1, r2, r3, r4; + // let denom, offset, num; + // let x, y; - log.info('Drawing flowchart using v4 renderer', elk); + // Compute a1, b1, c1, where line joining points 1 and 2 is F(x,y) = a1 x + + // b1 y + c1 = 0. + const a1 = p2.y - p1.y; + const b1 = p1.x - p2.x; + const c1 = p2.x * p1.y - p1.x * p2.y; - // Set the direction of the graph based on the parsed information - const dir = data4Layout.direction || 'DOWN'; - elkGraph.layoutOptions['elk.direction'] = dir2ElkDirection(dir); + // Compute r3 and r4. + const r3 = a1 * q1.x + b1 * q1.y + c1; + const r4 = a1 * q2.x + b1 * q2.y + c1; - // Create the lookup db for the subgraphs and their children to used when creating - // the tree structured graph - const parentLookupDb: any = addSubGraphs(data4Layout.nodes); + // Check signs of r3 and r4. If both point 3 and point 4 lie on + // same side of line 1, the line segments do not intersect. + if (r3 !== 0 && r4 !== 0 && sameSign(r3, r4)) { + return /*DON'T_INTERSECT*/; + } - // Add elements in the svg to be used to hold the subgraphs container - // elements and the nodes - const subGraphsEl = svg.insert('g').attr('class', 'subgraphs'); + // Compute a2, b2, c2 where line joining points 3 and 4 is G(x,y) = a2 x + b2 y + c2 = 0 + const a2 = q2.y - q1.y; + const b2 = q1.x - q2.x; + const c2 = q2.x * q1.y - q1.x * q2.y; - const nodeEl = svg.insert('g').attr('class', 'nodes'); + // Compute r1 and r2 + const r1 = a2 * p1.x + b2 * p1.y + c2; + const r2 = a2 * p2.x + b2 * p2.y + c2; - // Add the nodes to the graph, this will entail creating the actual nodes - // in order to get the size of the node. You can't get the size of a node - // that is not in the dom so we need to add it to the dom, get the size - // we will position the nodes when we get the layout from elkjs - elkGraph = await addVertices(nodeEl, data4Layout.nodes, elkGraph); - // Time for the edges, we start with adding an element in the node to hold the edges - const edgesEl = svg.insert('g').attr('class', 'edges edgePaths'); + // Check signs of r1 and r2. If both point 1 and point 2 lie + // on same side of second line segment, the line segments do + // not intersect. + if (r1 !== 0 && r2 !== 0 && sameSign(r1, r2)) { + return /*DON'T_INTERSECT*/; + } - // Add the edges to the elk graph, this will entail creating the actual edges - elkGraph = await addEdges(data4Layout, elkGraph, svg); + // Line segments intersect: compute intersection point. + const denom = a1 * b2 - a2 * b1; + if (denom === 0) { + return /*COLLINEAR*/; + } - // Iterate through all nodes and add the top level nodes to the graph - const nodes = data4Layout.nodes; - nodes.forEach((n: { id: string | number }) => { - const node = nodeDb[n.id]; + const offset = Math.abs(denom / 2); - // Subgraph - if (parentLookupDb.childrenById[node.id] !== undefined) { - node.labels = [ - { - text: node.label, - width: node?.labelData?.width || 50, - height: node?.labelData?.height || 50, - }, - (node.width = node.width + 2 * node.padding), - log.debug('UIO node label', node?.labelData?.width, node.padding), - ]; - node.layoutOptions = { - 'spacing.baseValue': 30, - 'nodeLabels.placement': '[H_CENTER V_TOP, INSIDE]', - }; - if (node.dir) { - node.layoutOptions = { - ...node.layoutOptions, - 'elk.algorithm': algorithm, - 'elk.direction': dir2ElkDirection(node.dir), - 'nodePlacement.strategy': data4Layout.config['elk.nodePlacement.strategy'], - 'elk.layered.mergeEdges': data4Layout.config['elk.mergeEdges'], - 'elk.hierarchyHandling': 'SEPARATE_CHILDREN', - }; - } - delete node.x; - delete node.y; - delete node.width; - delete node.height; - } - }); - elkGraph.edges.forEach((edge: any) => { - const source = edge.sources[0]; - const target = edge.targets[0]; + // The denom/2 is to get rounding instead of truncating. It + // is added or subtracted to the numerator, depending upon the + // sign of the numerator. + let num = b1 * c2 - b2 * c1; + const x = num < 0 ? (num - offset) / denom : (num + offset) / denom; - if (nodeDb[source].parentId !== nodeDb[target].parentId) { - const ancestorId = findCommonAncestor(source, target, parentLookupDb); - // an edge that breaks a subgraph has been identified, set configuration accordingly - setIncludeChildrenPolicy(source, ancestorId); - setIncludeChildrenPolicy(target, ancestorId); - } - }); + num = a2 * c1 - a1 * c2; + const y = num < 0 ? (num - offset) / denom : (num + offset) / denom; - const g = await elk.layout(elkGraph); + return { x: x, y: y }; +} - // debugger; - await drawNodes(0, 0, g.children, svg, subGraphsEl, 0); - g.edges?.map( - (edge: { - sources: (string | number)[]; - targets: (string | number)[]; - start: any; - end: any; - sections: { startPoint: any; endPoint: any; bendPoints: any }[]; - points: any[]; - x: any; - labels: { height: number; width: number; x: number; y: number }[]; - y: any; - }) => { - // (elem, edge, clusterDb, diagramType, graph, id) - const startNode = nodeDb[edge.sources[0]]; - const startCluster = parentLookupDb[edge.sources[0]]; - const endNode = nodeDb[edge.targets[0]]; - const sourceId = edge.start; - const targetId = edge.end; +function sameSign(r1: number, r2: number) { + return r1 * r2 > 0; +} +const diamondIntersection = ( + bounds: { x: any; y: any; width: any; height: any }, + outsidePoint: { x: number; y: number }, + insidePoint: any +) => { + const x1 = bounds.x; + const y1 = bounds.y; - const offset = calcOffset(sourceId, targetId, parentLookupDb); - log.debug( - 'offset', - offset, - sourceId, - ' ==> ', - targetId, - 'edge:', - edge, - 'cluster:', - startCluster, - startNode - ); - if (edge.sections) { - const src = edge.sections[0].startPoint; - const dest = edge.sections[0].endPoint; - const segments = edge.sections[0].bendPoints ? edge.sections[0].bendPoints : []; + const w = bounds.width; //+ bounds.padding; + const h = bounds.height; // + bounds.padding; - const segPoints = segments.map((segment: { x: any; y: any }) => { - return { x: segment.x + offset.x, y: segment.y + offset.y }; - }); - edge.points = [ - { x: src.x + offset.x, y: src.y + offset.y }, - ...segPoints, - { x: dest.x + offset.x, y: dest.y + offset.y }, - ]; + const polyPoints = [ + { x: x1, y: y1 - h / 2 }, + { x: x1 + w / 2, y: y1 }, + { x: x1, y: y1 + h / 2 }, + { x: x1 - w / 2, y: y1 }, + ]; + log.debug( + `UIO diamondIntersection calc abc89: + outsidePoint: ${JSON.stringify(outsidePoint)} + insidePoint : ${JSON.stringify(insidePoint)} + node : x:${bounds.x} y:${bounds.y} w:${bounds.width} h:${bounds.height}`, + polyPoints + ); - let sw = startNode.width; - let ew = endNode.width; - if (startNode.isGroup) { - const bbox = startNode.domId.node().getBBox(); - // sw = Math.max(bbox.width, startNode.width, startNode.labels[0].width); - sw = Math.max(startNode.width, startNode.labels[0].width + startNode.padding); - // sw = startNode.width; - log.debug( - 'UIO width', - startNode.id, - startNode.with, - 'bbox.width=', - bbox.width, - 'lw=', - startNode.labels[0].width, - 'node:', - startNode.width, - 'SW = ', - sw - // 'HTML:', - // startNode.domId.node().innerHTML - ); - } - if (endNode.isGroup) { - const bbox = endNode.domId.node().getBBox(); - ew = Math.max(endNode.width, endNode.labels[0].width + endNode.padding); - - log.debug( - 'UIO width', - startNode.id, - startNode.with, - bbox.width, - 'EW = ', - ew, - 'HTML:', - startNode.innerHTML - ); - } - if (startNode.shape === 'diamond') { - edge.points.unshift({ - x: startNode.x + startNode.width / 2 + offset.x, - y: startNode.y + startNode.height / 2 + offset.y, - }); - } - if (endNode.shape === 'diamond') { - edge.points.push({ - x: endNode.x + endNode.width / 2 + offset.x, - y: endNode.y + endNode.height / 2 + offset.y, - }); - } - - edge.points = cutPathAtIntersect( - edge.points.reverse(), - { - x: startNode.x + startNode.width / 2 + offset.x, - y: startNode.y + startNode.height / 2 + offset.y, - width: sw, - height: startNode.height, - padding: startNode.padding, - }, - startNode.shape === 'diamond' - ).reverse(); - - edge.points = cutPathAtIntersect( - edge.points, - { - x: endNode.x + ew / 2 + endNode.offset.x, - y: endNode.y + endNode.height / 2 + endNode.offset.y, - width: ew, - height: endNode.height, - padding: endNode.padding, - }, - endNode.shape === 'diamond' - ); - - const paths = insertEdge( - edgesEl, - edge, - clusterDb, - data4Layout.type, - startNode, - endNode, - data4Layout.diagramId - ); - log.info('APA12 edge points after insert', JSON.stringify(edge.points)); - - edge.x = edge.labels[0].x + offset.x + edge.labels[0].width / 2; - edge.y = edge.labels[0].y + offset.y + edge.labels[0].height / 2; - positionEdgeLabel(edge, paths); - } - // const src = edge.sections[0].startPoint; - // const dest = edge.sections[0].endPoint; - // const segments = edge.sections[0].bendPoints ? edge.sections[0].bendPoints : []; - - // const segPoints = segments.map((segment) => { - // return { x: segment.x + offset.x, y: segment.y + offset.y }; - // }); - // edge.points = [ - // { x: src.x + offset.x, y: src.y + offset.y }, - // ...segPoints, - // { x: dest.x + offset.x, y: dest.y + offset.y }, - // ]; - // const paths = insertEdge( - // edgesEl, - // edge, - // clusterDb, - // data4Layout.type, - // startNode, - // endNode, - // data4Layout.diagramId - // ); - // log.info('APA12 edge points after insert', JSON.stringify(edge.points)); - - // edge.x = edge.labels[0].x + offset.x + edge.labels[0].width / 2; - // edge.y = edge.labels[0].y + offset.y + edge.labels[0].height / 2; - // positionEdgeLabel(edge, paths); - } - ); -}; - -function intersectLine( - p1: { y: number; x: number }, - p2: { y: number; x: number }, - q1: { x: any; y: any }, - q2: { x: any; y: any } -) { - log.debug('UIO intersectLine', p1, p2, q1, q2); - // Algorithm from J. Avro, (ed.) Graphics Gems, No 2, Morgan Kaufmann, 1994, - // p7 and p473. - - // let a1, a2, b1, b2, c1, c2; - // let r1, r2, r3, r4; - // let denom, offset, num; - // let x, y; - - // Compute a1, b1, c1, where line joining points 1 and 2 is F(x,y) = a1 x + - // b1 y + c1 = 0. - const a1 = p2.y - p1.y; - const b1 = p1.x - p2.x; - const c1 = p2.x * p1.y - p1.x * p2.y; - - // Compute r3 and r4. - const r3 = a1 * q1.x + b1 * q1.y + c1; - const r4 = a1 * q2.x + b1 * q2.y + c1; - - // Check signs of r3 and r4. If both point 3 and point 4 lie on - // same side of line 1, the line segments do not intersect. - if (r3 !== 0 && r4 !== 0 && sameSign(r3, r4)) { - return /*DON'T_INTERSECT*/; - } - - // Compute a2, b2, c2 where line joining points 3 and 4 is G(x,y) = a2 x + b2 y + c2 = 0 - const a2 = q2.y - q1.y; - const b2 = q1.x - q2.x; - const c2 = q2.x * q1.y - q1.x * q2.y; - - // Compute r1 and r2 - const r1 = a2 * p1.x + b2 * p1.y + c2; - const r2 = a2 * p2.x + b2 * p2.y + c2; - - // Check signs of r1 and r2. If both point 1 and point 2 lie - // on same side of second line segment, the line segments do - // not intersect. - if (r1 !== 0 && r2 !== 0 && sameSign(r1, r2)) { - return /*DON'T_INTERSECT*/; - } - - // Line segments intersect: compute intersection point. - const denom = a1 * b2 - a2 * b1; - if (denom === 0) { - return /*COLLINEAR*/; - } - - const offset = Math.abs(denom / 2); - - // The denom/2 is to get rounding instead of truncating. It - // is added or subtracted to the numerator, depending upon the - // sign of the numerator. - let num = b1 * c2 - b2 * c1; - const x = num < 0 ? (num - offset) / denom : (num + offset) / denom; - - num = a2 * c1 - a1 * c2; - const y = num < 0 ? (num - offset) / denom : (num + offset) / denom; - - return { x: x, y: y }; -} - -function sameSign(r1: number, r2: number) { - return r1 * r2 > 0; -} -const diamondIntersection = ( - bounds: { x: any; y: any; width: any; height: any }, - outsidePoint: { x: number; y: number }, - insidePoint: any -) => { - const x1 = bounds.x; - const y1 = bounds.y; - - const w = bounds.width; //+ bounds.padding; - const h = bounds.height; // + bounds.padding; - - const polyPoints = [ - { x: x1, y: y1 - h / 2 }, - { x: x1 + w / 2, y: y1 }, - { x: x1, y: y1 + h / 2 }, - { x: x1 - w / 2, y: y1 }, - ]; - log.debug( - `UIO diamondIntersection calc abc89: - outsidePoint: ${JSON.stringify(outsidePoint)} - insidePoint : ${JSON.stringify(insidePoint)} - node : x:${bounds.x} y:${bounds.y} w:${bounds.width} h:${bounds.height}`, - polyPoints - ); - - const intersections = []; + const intersections = []; let minX = Number.POSITIVE_INFINITY; let minY = Number.POSITIVE_INFINITY; @@ -1115,3 +830,288 @@ const cutPathAtIntersect = ( log.debug('returning points', points); return points; }; + +export const render = async ( + data4Layout: LayoutData, + svg: { + insert: (arg0: string) => { + (): any; + new (): any; + attr: { (arg0: string, arg1: string): any; new (): any }; + }; + }, + element: any, + algorithm: any +) => { + // @ts-ignore - ELK is not typed + const elk = new ELK(); + + // Add the arrowheads to the svg + insertMarkers(element, data4Layout.markers, data4Layout.type, data4Layout.diagramId); + + // Setup the graph with the layout options and the data for the layout + let elkGraph: any = { + id: 'root', + layoutOptions: { + 'elk.hierarchyHandling': 'INCLUDE_CHILDREN', + 'elk.algorithm': algorithm, + 'nodePlacement.strategy': data4Layout.config.elk.nodePlacementStrategy, + 'elk.layered.mergeEdges': data4Layout.config.elk.mergeEdges, + 'elk.direction': 'DOWN', + 'spacing.baseValue': 30, + // 'spacing.nodeNode': 40, + // 'spacing.nodeNodeBetweenLayers': 45, + // 'spacing.edgeNode': 40, + // 'spacing.edgeNodeBetweenLayers': 30, + // 'spacing.edgeEdge': 30, + // 'spacing.edgeEdgeBetweenLayers': 40, + // 'spacing.nodeSelfLoop': 50, + }, + children: [], + edges: [], + }; + + log.info('Drawing flowchart using v4 renderer', elk); + + // Set the direction of the graph based on the parsed information + const dir = data4Layout.direction || 'DOWN'; + elkGraph.layoutOptions['elk.direction'] = dir2ElkDirection(dir); + + // Create the lookup db for the subgraphs and their children to used when creating + // the tree structured graph + const parentLookupDb: any = addSubGraphs(data4Layout.nodes); + + // Add elements in the svg to be used to hold the subgraphs container + // elements and the nodes + const subGraphsEl = svg.insert('g').attr('class', 'subgraphs'); + + const nodeEl = svg.insert('g').attr('class', 'nodes'); + + // Add the nodes to the graph, this will entail creating the actual nodes + // in order to get the size of the node. You can't get the size of a node + // that is not in the dom so we need to add it to the dom, get the size + // we will position the nodes when we get the layout from elkjs + elkGraph = await addVertices(nodeEl, data4Layout.nodes, elkGraph); + // Time for the edges, we start with adding an element in the node to hold the edges + const edgesEl = svg.insert('g').attr('class', 'edges edgePaths'); + + // Add the edges to the elk graph, this will entail creating the actual edges + elkGraph = await addEdges(data4Layout, elkGraph, svg); + + // Iterate through all nodes and add the top level nodes to the graph + const nodes = data4Layout.nodes; + nodes.forEach((n: { id: string | number }) => { + const node = nodeDb[n.id]; + + // Subgraph + if (parentLookupDb.childrenById[node.id] !== undefined) { + node.labels = [ + { + text: node.label, + width: node?.labelData?.width || 50, + height: node?.labelData?.height || 50, + }, + (node.width = node.width + 2 * node.padding), + log.debug('UIO node label', node?.labelData?.width, node.padding), + ]; + node.layoutOptions = { + 'spacing.baseValue': 30, + 'nodeLabels.placement': '[H_CENTER V_TOP, INSIDE]', + }; + if (node.dir) { + node.layoutOptions = { + ...node.layoutOptions, + 'elk.algorithm': algorithm, + 'elk.direction': dir2ElkDirection(node.dir), + 'nodePlacement.strategy': data4Layout.config['elk.nodePlacement.strategy'], + 'elk.layered.mergeEdges': data4Layout.config['elk.mergeEdges'], + 'elk.hierarchyHandling': 'SEPARATE_CHILDREN', + }; + } + delete node.x; + delete node.y; + delete node.width; + delete node.height; + } + }); + elkGraph.edges.forEach((edge: any) => { + const source = edge.sources[0]; + const target = edge.targets[0]; + + if (nodeDb[source].parentId !== nodeDb[target].parentId) { + const ancestorId = findCommonAncestor(source, target, parentLookupDb); + // an edge that breaks a subgraph has been identified, set configuration accordingly + setIncludeChildrenPolicy(source, ancestorId); + setIncludeChildrenPolicy(target, ancestorId); + } + }); + + const g = await elk.layout(elkGraph); + + // debugger; + await drawNodes(0, 0, g.children, svg, subGraphsEl, 0); + g.edges?.map( + (edge: { + sources: (string | number)[]; + targets: (string | number)[]; + start: any; + end: any; + sections: { startPoint: any; endPoint: any; bendPoints: any }[]; + points: any[]; + x: any; + labels: { height: number; width: number; x: number; y: number }[]; + y: any; + }) => { + // (elem, edge, clusterDb, diagramType, graph, id) + const startNode = nodeDb[edge.sources[0]]; + const startCluster = parentLookupDb[edge.sources[0]]; + const endNode = nodeDb[edge.targets[0]]; + const sourceId = edge.start; + const targetId = edge.end; + + const offset = calcOffset(sourceId, targetId, parentLookupDb); + log.debug( + 'offset', + offset, + sourceId, + ' ==> ', + targetId, + 'edge:', + edge, + 'cluster:', + startCluster, + startNode + ); + if (edge.sections) { + const src = edge.sections[0].startPoint; + const dest = edge.sections[0].endPoint; + const segments = edge.sections[0].bendPoints ? edge.sections[0].bendPoints : []; + + const segPoints = segments.map((segment: { x: any; y: any }) => { + return { x: segment.x + offset.x, y: segment.y + offset.y }; + }); + edge.points = [ + { x: src.x + offset.x, y: src.y + offset.y }, + ...segPoints, + { x: dest.x + offset.x, y: dest.y + offset.y }, + ]; + + let sw = startNode.width; + let ew = endNode.width; + if (startNode.isGroup) { + const bbox = startNode.domId.node().getBBox(); + // sw = Math.max(bbox.width, startNode.width, startNode.labels[0].width); + sw = Math.max(startNode.width, startNode.labels[0].width + startNode.padding); + // sw = startNode.width; + log.debug( + 'UIO width', + startNode.id, + startNode.with, + 'bbox.width=', + bbox.width, + 'lw=', + startNode.labels[0].width, + 'node:', + startNode.width, + 'SW = ', + sw + // 'HTML:', + // startNode.domId.node().innerHTML + ); + } + if (endNode.isGroup) { + const bbox = endNode.domId.node().getBBox(); + ew = Math.max(endNode.width, endNode.labels[0].width + endNode.padding); + + log.debug( + 'UIO width', + startNode.id, + startNode.with, + bbox.width, + 'EW = ', + ew, + 'HTML:', + startNode.innerHTML + ); + } + if (startNode.shape === 'diamond') { + edge.points.unshift({ + x: startNode.x + startNode.width / 2 + offset.x, + y: startNode.y + startNode.height / 2 + offset.y, + }); + } + if (endNode.shape === 'diamond') { + edge.points.push({ + x: endNode.x + endNode.width / 2 + offset.x, + y: endNode.y + endNode.height / 2 + offset.y, + }); + } + + edge.points = cutPathAtIntersect( + edge.points.reverse(), + { + x: startNode.x + startNode.width / 2 + offset.x, + y: startNode.y + startNode.height / 2 + offset.y, + width: sw, + height: startNode.height, + padding: startNode.padding, + }, + startNode.shape === 'diamond' + ).reverse(); + + edge.points = cutPathAtIntersect( + edge.points, + { + x: endNode.x + ew / 2 + endNode.offset.x, + y: endNode.y + endNode.height / 2 + endNode.offset.y, + width: ew, + height: endNode.height, + padding: endNode.padding, + }, + endNode.shape === 'diamond' + ); + + const paths = insertEdge( + edgesEl, + edge, + clusterDb, + data4Layout.type, + startNode, + endNode, + data4Layout.diagramId + ); + log.info('APA12 edge points after insert', JSON.stringify(edge.points)); + + edge.x = edge.labels[0].x + offset.x + edge.labels[0].width / 2; + edge.y = edge.labels[0].y + offset.y + edge.labels[0].height / 2; + positionEdgeLabel(edge, paths); + } + // const src = edge.sections[0].startPoint; + // const dest = edge.sections[0].endPoint; + // const segments = edge.sections[0].bendPoints ? edge.sections[0].bendPoints : []; + + // const segPoints = segments.map((segment) => { + // return { x: segment.x + offset.x, y: segment.y + offset.y }; + // }); + // edge.points = [ + // { x: src.x + offset.x, y: src.y + offset.y }, + // ...segPoints, + // { x: dest.x + offset.x, y: dest.y + offset.y }, + // ]; + // const paths = insertEdge( + // edgesEl, + // edge, + // clusterDb, + // data4Layout.type, + // startNode, + // endNode, + // data4Layout.diagramId + // ); + // log.info('APA12 edge points after insert', JSON.stringify(edge.points)); + + // edge.x = edge.labels[0].x + offset.x + edge.labels[0].width / 2; + // edge.y = edge.labels[0].y + offset.y + edge.labels[0].height / 2; + // positionEdgeLabel(edge, paths); + } + ); +}; From f6e1515f66587422428a63d59273b04f79263308 Mon Sep 17 00:00:00 2001 From: Sidharth Vinod Date: Wed, 21 Aug 2024 17:22:21 +0530 Subject: [PATCH 765/789] feat: Inject internal helpers into render function --- packages/mermaid-layout-elk/src/render.ts | 1515 ++++++++--------- packages/mermaid/src/mermaid.ts | 37 +- packages/mermaid/src/rendering-util/render.ts | 17 +- 3 files changed, 788 insertions(+), 781 deletions(-) diff --git a/packages/mermaid-layout-elk/src/render.ts b/packages/mermaid-layout-elk/src/render.ts index 694a061aa7..533a72ddb8 100644 --- a/packages/mermaid-layout-elk/src/render.ts +++ b/packages/mermaid-layout-elk/src/render.ts @@ -1,848 +1,847 @@ import { curveLinear } from 'd3'; import ELK from 'elkjs/lib/elk.bundled.js'; -import mermaid, { type LayoutData } from 'mermaid'; +import type { InternalHelpers, LayoutData } from 'mermaid'; import { type TreeData, findCommonAncestor } from './find-common-ancestor.js'; -const { - common, - getConfig, - insertCluster, - insertEdge, - insertEdgeLabel, - insertMarkers, - insertNode, - interpolateToCurve, - labelHelper, - log, - positionEdgeLabel, -} = mermaid.internalHelpers; - -const nodeDb: Record = {}; -const portPos: Record = {}; -const clusterDb: Record = {}; - -const addVertex = async (nodeEl: any, graph: { children: any[] }, nodeArr: any, node: any) => { - const labelData: any = { width: 0, height: 0 }; - // const ports = [ - // { - // id: node.id + '-west', - // layoutOptions: { - // 'port.side': 'WEST', - // }, - // }, - // { - // id: node.id + '-east', - // layoutOptions: { - // 'port.side': 'EAST', - // }, - // }, - // { - // id: node.id + '-south', - // layoutOptions: { - // 'port.side': 'SOUTH', - // }, - // }, - // { - // id: node.id + '-north', - // layoutOptions: { - // 'port.side': 'NORTH', - // }, - // }, - // ]; - - let boundingBox; - const child = { - ...node, - // ports: node.shape === 'diamond' ? ports : [], - }; - graph.children.push(child); - nodeDb[node.id] = child; - - // Add the element to the DOM - if (!node.isGroup) { - const childNodeEl = await insertNode(nodeEl, node, node.dir); - boundingBox = childNodeEl.node().getBBox(); - child.domId = childNodeEl; - child.width = boundingBox.width; - child.height = boundingBox.height; - } else { - // A subgraph - child.children = []; - await addVertices(nodeEl, nodeArr, child, node.id); - - if (node.label) { - // @ts-ignore TODO: fix this - const { shapeSvg, bbox } = await labelHelper(nodeEl, node, undefined, true); - labelData.width = bbox.width; - labelData.wrappingWidth = getConfig().flowchart!.wrappingWidth; - // Give some padding for elk - labelData.height = bbox.height - 2; - labelData.labelNode = shapeSvg.node(); - // We need the label hight to be able to size the subgraph; - shapeSvg.remove(); - } else { - // Subgraph without label - labelData.width = 0; - labelData.height = 0; - } - child.labelData = labelData; - child.domId = nodeEl; - } -}; - -const addVertices = async function ( - nodeEl: any, - nodeArr: any[], - graph: { - id: string; - layoutOptions: { - 'elk.hierarchyHandling': string; - 'elk.algorithm': any; - 'nodePlacement.strategy': any; - 'elk.layered.mergeEdges': any; - 'elk.direction': string; - 'spacing.baseValue': number; - }; - children: never[]; - edges: never[]; - }, - parentId?: undefined -) { - const siblings = nodeArr.filter((node: { parentId: any }) => node.parentId === parentId); - log.info('addVertices APA12', siblings, parentId); - // Iterate through each item in the vertex object (containing all the vertices found) in the graph definition - await Promise.all( - siblings.map(async (node: any) => { - await addVertex(nodeEl, graph, nodeArr, node); - }) - ); - return graph; -}; - -const drawNodes = async ( - relX: number, - relY: number, - nodeArray: any[], - svg: any, - subgraphsEl: { +export const render = async ( + data4Layout: LayoutData, + svg: { insert: (arg0: string) => { (): any; new (): any; attr: { (arg0: string, arg1: string): any; new (): any }; }; }, - depth: number + element: any, + { + common, + getConfig, + insertCluster, + insertEdge, + insertEdgeLabel, + insertMarkers, + insertNode, + interpolateToCurve, + labelHelper, + log, + positionEdgeLabel, + }: InternalHelpers, + algorithm: any ) => { - await Promise.all( - nodeArray.map(async function (node: { - id: string | number; - x: any; - y: any; - width: number; - labels: { width: any }[]; - height: number; - isGroup: any; - labelData: any; - offset: { posX: number; posY: number }; - shape: any; - domId: { node: () => any; attr: (arg0: string, arg1: string) => void }; - }) { - if (node) { - nodeDb[node.id] = node; - nodeDb[node.id].offset = { - posX: node.x + relX, - posY: node.y + relY, - x: relX, - y: relY, - depth, - width: Math.max(node.width, node.labels ? node.labels[0]?.width || 0 : 0), - height: node.height, - }; - if (node.isGroup) { - log.debug('Id abc88 subgraph = ', node.id, node.x, node.y, node.labelData); - const subgraphEl = subgraphsEl.insert('g').attr('class', 'subgraph'); - // TODO use faster way of cloning - const clusterNode = JSON.parse(JSON.stringify(node)); - clusterNode.x = node.offset.posX + node.width / 2; - clusterNode.y = node.offset.posY + node.height / 2; - await insertCluster(subgraphEl, clusterNode); - - log.debug('Id (UIO)= ', node.id, node.width, node.shape, node.labels); - } else { - log.info( - 'Id NODE = ', - node.id, - node.x, - node.y, - relX, - relY, - node.domId.node(), - `translate(${node.x + relX + node.width / 2}, ${node.y + relY + node.height / 2})` - ); - node.domId.attr( - 'transform', - `translate(${node.x + relX + node.width / 2}, ${node.y + relY + node.height / 2})` - ); - } - } - }) - ); + const nodeDb: Record = {}; + const portPos: Record = {}; + const clusterDb: Record = {}; + + const addVertex = async (nodeEl: any, graph: { children: any[] }, nodeArr: any, node: any) => { + const labelData: any = { width: 0, height: 0 }; + // const ports = [ + // { + // id: node.id + '-west', + // layoutOptions: { + // 'port.side': 'WEST', + // }, + // }, + // { + // id: node.id + '-east', + // layoutOptions: { + // 'port.side': 'EAST', + // }, + // }, + // { + // id: node.id + '-south', + // layoutOptions: { + // 'port.side': 'SOUTH', + // }, + // }, + // { + // id: node.id + '-north', + // layoutOptions: { + // 'port.side': 'NORTH', + // }, + // }, + // ]; + + let boundingBox; + const child = { + ...node, + // ports: node.shape === 'diamond' ? ports : [], + }; + graph.children.push(child); + nodeDb[node.id] = child; + + // Add the element to the DOM + if (!node.isGroup) { + const childNodeEl = await insertNode(nodeEl, node, node.dir); + boundingBox = childNodeEl.node().getBBox(); + child.domId = childNodeEl; + child.width = boundingBox.width; + child.height = boundingBox.height; + } else { + // A subgraph + child.children = []; + await addVertices(nodeEl, nodeArr, child, node.id); - await Promise.all( - nodeArray.map(async function (node: { isGroup: any; x: any; y: any; children: any }) { - if (node?.isGroup) { - await drawNodes(relX + node.x, relY + node.y, node.children, svg, subgraphsEl, depth + 1); + if (node.label) { + // @ts-ignore TODO: fix this + const { shapeSvg, bbox } = await labelHelper(nodeEl, node, undefined, true); + labelData.width = bbox.width; + labelData.wrappingWidth = getConfig().flowchart!.wrappingWidth; + // Give some padding for elk + labelData.height = bbox.height - 2; + labelData.labelNode = shapeSvg.node(); + // We need the label hight to be able to size the subgraph; + shapeSvg.remove(); + } else { + // Subgraph without label + labelData.width = 0; + labelData.height = 0; } - }) - ); -}; - -const getNextPort = (node: string | number, edgeDirection: string, graphDirection: any) => { - log.info('getNextPort abc88', { node, edgeDirection, graphDirection }); - if (!portPos[node]) { - switch (graphDirection) { - case 'TB': - case 'TD': - portPos[node] = { - inPosition: 'north', - outPosition: 'south', - }; - break; - case 'BT': - portPos[node] = { - inPosition: 'south', - outPosition: 'north', - }; - break; - case 'RL': - portPos[node] = { - inPosition: 'east', - outPosition: 'west', - }; - break; - case 'LR': - portPos[node] = { - inPosition: 'west', - outPosition: 'east', - }; - break; + child.labelData = labelData; + child.domId = nodeEl; } - } - const result = edgeDirection === 'in' ? portPos[node].inPosition : portPos[node].outPosition; - - if (edgeDirection === 'in') { - // @ts-ignore TODO: fix this - portPos[node].inPosition = getNextPosition( - portPos[node].inPosition, - edgeDirection, - graphDirection + }; + + const addVertices = async function ( + nodeEl: any, + nodeArr: any[], + graph: { + id: string; + layoutOptions: { + 'elk.hierarchyHandling': string; + 'elk.algorithm': any; + 'nodePlacement.strategy': any; + 'elk.layered.mergeEdges': any; + 'elk.direction': string; + 'spacing.baseValue': number; + }; + children: never[]; + edges: never[]; + }, + parentId?: undefined + ) { + const siblings = nodeArr.filter((node: { parentId: any }) => node.parentId === parentId); + log.info('addVertices APA12', siblings, parentId); + // Iterate through each item in the vertex object (containing all the vertices found) in the graph definition + await Promise.all( + siblings.map(async (node: any) => { + await addVertex(nodeEl, graph, nodeArr, node); + }) ); - } else { - // @ts-ignore TODO: fix this - portPos[node].outPosition = getNextPosition( - portPos[node].outPosition, - edgeDirection, - graphDirection + return graph; + }; + + const drawNodes = async ( + relX: number, + relY: number, + nodeArray: any[], + svg: any, + subgraphsEl: { + insert: (arg0: string) => { + (): any; + new (): any; + attr: { (arg0: string, arg1: string): any; new (): any }; + }; + }, + depth: number + ) => { + await Promise.all( + nodeArray.map(async function (node: { + id: string | number; + x: any; + y: any; + width: number; + labels: { width: any }[]; + height: number; + isGroup: any; + labelData: any; + offset: { posX: number; posY: number }; + shape: any; + domId: { node: () => any; attr: (arg0: string, arg1: string) => void }; + }) { + if (node) { + nodeDb[node.id] = node; + nodeDb[node.id].offset = { + posX: node.x + relX, + posY: node.y + relY, + x: relX, + y: relY, + depth, + width: Math.max(node.width, node.labels ? node.labels[0]?.width || 0 : 0), + height: node.height, + }; + if (node.isGroup) { + log.debug('Id abc88 subgraph = ', node.id, node.x, node.y, node.labelData); + const subgraphEl = subgraphsEl.insert('g').attr('class', 'subgraph'); + // TODO use faster way of cloning + const clusterNode = JSON.parse(JSON.stringify(node)); + clusterNode.x = node.offset.posX + node.width / 2; + clusterNode.y = node.offset.posY + node.height / 2; + await insertCluster(subgraphEl, clusterNode); + + log.debug('Id (UIO)= ', node.id, node.width, node.shape, node.labels); + } else { + log.info( + 'Id NODE = ', + node.id, + node.x, + node.y, + relX, + relY, + node.domId.node(), + `translate(${node.x + relX + node.width / 2}, ${node.y + relY + node.height / 2})` + ); + node.domId.attr( + 'transform', + `translate(${node.x + relX + node.width / 2}, ${node.y + relY + node.height / 2})` + ); + } + } + }) ); - } - return result; -}; -const addSubGraphs = (nodeArr: any[]): TreeData => { - const parentLookupDb: TreeData = { parentById: {}, childrenById: {} }; - const subgraphs = nodeArr.filter((node: { isGroup: any }) => node.isGroup); - log.info('Subgraphs - ', subgraphs); - subgraphs.forEach((subgraph: { id: string }) => { - const children = nodeArr.filter((node: { parentId: any }) => node.parentId === subgraph.id); - children.forEach((node: any) => { - parentLookupDb.parentById[node.id] = subgraph.id; - if (parentLookupDb.childrenById[subgraph.id] === undefined) { - parentLookupDb.childrenById[subgraph.id] = []; + await Promise.all( + nodeArray.map(async function (node: { isGroup: any; x: any; y: any; children: any }) { + if (node?.isGroup) { + await drawNodes(relX + node.x, relY + node.y, node.children, svg, subgraphsEl, depth + 1); + } + }) + ); + }; + + const getNextPort = (node: string | number, edgeDirection: string, graphDirection: any) => { + log.info('getNextPort abc88', { node, edgeDirection, graphDirection }); + if (!portPos[node]) { + switch (graphDirection) { + case 'TB': + case 'TD': + portPos[node] = { + inPosition: 'north', + outPosition: 'south', + }; + break; + case 'BT': + portPos[node] = { + inPosition: 'south', + outPosition: 'north', + }; + break; + case 'RL': + portPos[node] = { + inPosition: 'east', + outPosition: 'west', + }; + break; + case 'LR': + portPos[node] = { + inPosition: 'west', + outPosition: 'east', + }; + break; } - parentLookupDb.childrenById[subgraph.id].push(node); - }); - }); + } + const result = edgeDirection === 'in' ? portPos[node].inPosition : portPos[node].outPosition; - subgraphs.forEach(function (subgraph: { id: string | number }) { - const data: any = { id: subgraph.id }; - if (parentLookupDb.parentById[subgraph.id] !== undefined) { - data.parent = parentLookupDb.parentById[subgraph.id]; + if (edgeDirection === 'in') { + // @ts-ignore TODO: fix this + portPos[node].inPosition = getNextPosition( + portPos[node].inPosition, + edgeDirection, + graphDirection + ); + } else { + // @ts-ignore TODO: fix this + portPos[node].outPosition = getNextPosition( + portPos[node].outPosition, + edgeDirection, + graphDirection + ); } - }); - return parentLookupDb; -}; + return result; + }; -const getEdgeStartEndPoint = (edge: any, dir: any) => { - let source: any = edge.start; - let target: any = edge.end; + const addSubGraphs = (nodeArr: any[]): TreeData => { + const parentLookupDb: TreeData = { parentById: {}, childrenById: {} }; + const subgraphs = nodeArr.filter((node: { isGroup: any }) => node.isGroup); + log.info('Subgraphs - ', subgraphs); + subgraphs.forEach((subgraph: { id: string }) => { + const children = nodeArr.filter((node: { parentId: any }) => node.parentId === subgraph.id); + children.forEach((node: any) => { + parentLookupDb.parentById[node.id] = subgraph.id; + if (parentLookupDb.childrenById[subgraph.id] === undefined) { + parentLookupDb.childrenById[subgraph.id] = []; + } + parentLookupDb.childrenById[subgraph.id].push(node); + }); + }); - // Save the original source and target - const sourceId = source; - const targetId = target; + subgraphs.forEach(function (subgraph: { id: string | number }) { + const data: any = { id: subgraph.id }; + if (parentLookupDb.parentById[subgraph.id] !== undefined) { + data.parent = parentLookupDb.parentById[subgraph.id]; + } + }); + return parentLookupDb; + }; - const startNode = nodeDb[edge.start.id]; - const endNode = nodeDb[edge.end.id]; + const getEdgeStartEndPoint = (edge: any, dir: any) => { + let source: any = edge.start; + let target: any = edge.end; - if (!startNode || !endNode) { - return { source, target }; - } + // Save the original source and target + const sourceId = source; + const targetId = target; - if (startNode.shape === 'diamond') { - source = `${source}-${getNextPort(source, 'out', dir)}`; - } + const startNode = nodeDb[edge.start.id]; + const endNode = nodeDb[edge.end.id]; - if (endNode.shape === 'diamond') { - target = `${target}-${getNextPort(target, 'in', dir)}`; - } + if (!startNode || !endNode) { + return { source, target }; + } - // Add the edge to the graph - return { source, target, sourceId, targetId }; -}; + if (startNode.shape === 'diamond') { + source = `${source}-${getNextPort(source, 'out', dir)}`; + } -const calcOffset = function (src: string, dest: string, parentLookupDb: TreeData) { - const ancestor = findCommonAncestor(src, dest, parentLookupDb); - if (ancestor === undefined || ancestor === 'root') { - return { x: 0, y: 0 }; - } + if (endNode.shape === 'diamond') { + target = `${target}-${getNextPort(target, 'in', dir)}`; + } - const ancestorOffset = nodeDb[ancestor].offset; - return { x: ancestorOffset.posX, y: ancestorOffset.posY }; -}; + // Add the edge to the graph + return { source, target, sourceId, targetId }; + }; -/** - * Add edges to graph based on parsed graph definition - */ -const addEdges = async function ( - dataForLayout: { edges: any; direction: string }, - graph: { - id?: string; - layoutOptions?: { - 'elk.hierarchyHandling': string; - 'elk.algorithm': any; - 'nodePlacement.strategy': any; - 'elk.layered.mergeEdges': any; - 'elk.direction': string; - 'spacing.baseValue': number; - }; - children?: never[]; - edges: any; - }, - svg: { - insert: (arg0: string) => { - (): any; - new (): any; - attr: { (arg0: string, arg1: string): any; new (): any }; - }; - } -) { - log.info('abc78 DAGA edges = ', dataForLayout); - const edges = dataForLayout.edges; - const labelsEl = svg.insert('g').attr('class', 'edgeLabels'); - const linkIdCnt: any = {}; - const dir = dataForLayout.direction || 'DOWN'; - let defaultStyle: string | undefined; - let defaultLabelStyle: string | undefined; - - await Promise.all( - edges.map(async function (edge: { - id: string; - start: string; - end: string; - length: number; - text: undefined; - label: any; - type: string; - stroke: any; - interpolate: undefined; - style: undefined; - labelType: any; - }) { - // Identify Link - const linkIdBase = edge.id; // 'L-' + edge.start + '-' + edge.end; - // count the links from+to the same node to give unique id - if (linkIdCnt[linkIdBase] === undefined) { - linkIdCnt[linkIdBase] = 0; - log.info('abc78 new entry', linkIdBase, linkIdCnt[linkIdBase]); - } else { - linkIdCnt[linkIdBase]++; - log.info('abc78 new entry', linkIdBase, linkIdCnt[linkIdBase]); - } - const linkId = linkIdBase + '_' + linkIdCnt[linkIdBase]; - edge.id = linkId; - log.info('abc78 new link id to be used is', linkIdBase, linkId, linkIdCnt[linkIdBase]); - const linkNameStart = 'LS_' + edge.start; - const linkNameEnd = 'LE_' + edge.end; - - const edgeData: any = { style: '', labelStyle: '' }; - edgeData.minlen = edge.length || 1; - edge.text = edge.label; - // Set link type for rendering - if (edge.type === 'arrow_open') { - edgeData.arrowhead = 'none'; - } else { - edgeData.arrowhead = 'normal'; - } + const calcOffset = function (src: string, dest: string, parentLookupDb: TreeData) { + const ancestor = findCommonAncestor(src, dest, parentLookupDb); + if (ancestor === undefined || ancestor === 'root') { + return { x: 0, y: 0 }; + } - // Check of arrow types, placed here in order not to break old rendering - edgeData.arrowTypeStart = 'arrow_open'; - edgeData.arrowTypeEnd = 'arrow_open'; + const ancestorOffset = nodeDb[ancestor].offset; + return { x: ancestorOffset.posX, y: ancestorOffset.posY }; + }; - /* eslint-disable no-fallthrough */ - switch (edge.type) { - case 'double_arrow_cross': - edgeData.arrowTypeStart = 'arrow_cross'; - case 'arrow_cross': - edgeData.arrowTypeEnd = 'arrow_cross'; - break; - case 'double_arrow_point': - edgeData.arrowTypeStart = 'arrow_point'; - case 'arrow_point': - edgeData.arrowTypeEnd = 'arrow_point'; - break; - case 'double_arrow_circle': - edgeData.arrowTypeStart = 'arrow_circle'; - case 'arrow_circle': - edgeData.arrowTypeEnd = 'arrow_circle'; - break; - } + /** + * Add edges to graph based on parsed graph definition + */ + const addEdges = async function ( + dataForLayout: { edges: any; direction: string }, + graph: { + id?: string; + layoutOptions?: { + 'elk.hierarchyHandling': string; + 'elk.algorithm': any; + 'nodePlacement.strategy': any; + 'elk.layered.mergeEdges': any; + 'elk.direction': string; + 'spacing.baseValue': number; + }; + children?: never[]; + edges: any; + }, + svg: { + insert: (arg0: string) => { + (): any; + new (): any; + attr: { (arg0: string, arg1: string): any; new (): any }; + }; + } + ) { + log.info('abc78 DAGA edges = ', dataForLayout); + const edges = dataForLayout.edges; + const labelsEl = svg.insert('g').attr('class', 'edgeLabels'); + const linkIdCnt: any = {}; + const dir = dataForLayout.direction || 'DOWN'; + let defaultStyle: string | undefined; + let defaultLabelStyle: string | undefined; + + await Promise.all( + edges.map(async function (edge: { + id: string; + start: string; + end: string; + length: number; + text: undefined; + label: any; + type: string; + stroke: any; + interpolate: undefined; + style: undefined; + labelType: any; + }) { + // Identify Link + const linkIdBase = edge.id; // 'L-' + edge.start + '-' + edge.end; + // count the links from+to the same node to give unique id + if (linkIdCnt[linkIdBase] === undefined) { + linkIdCnt[linkIdBase] = 0; + log.info('abc78 new entry', linkIdBase, linkIdCnt[linkIdBase]); + } else { + linkIdCnt[linkIdBase]++; + log.info('abc78 new entry', linkIdBase, linkIdCnt[linkIdBase]); + } + const linkId = linkIdBase + '_' + linkIdCnt[linkIdBase]; + edge.id = linkId; + log.info('abc78 new link id to be used is', linkIdBase, linkId, linkIdCnt[linkIdBase]); + const linkNameStart = 'LS_' + edge.start; + const linkNameEnd = 'LE_' + edge.end; + + const edgeData: any = { style: '', labelStyle: '' }; + edgeData.minlen = edge.length || 1; + edge.text = edge.label; + // Set link type for rendering + if (edge.type === 'arrow_open') { + edgeData.arrowhead = 'none'; + } else { + edgeData.arrowhead = 'normal'; + } - let style = ''; - let labelStyle = ''; + // Check of arrow types, placed here in order not to break old rendering + edgeData.arrowTypeStart = 'arrow_open'; + edgeData.arrowTypeEnd = 'arrow_open'; + + /* eslint-disable no-fallthrough */ + switch (edge.type) { + case 'double_arrow_cross': + edgeData.arrowTypeStart = 'arrow_cross'; + case 'arrow_cross': + edgeData.arrowTypeEnd = 'arrow_cross'; + break; + case 'double_arrow_point': + edgeData.arrowTypeStart = 'arrow_point'; + case 'arrow_point': + edgeData.arrowTypeEnd = 'arrow_point'; + break; + case 'double_arrow_circle': + edgeData.arrowTypeStart = 'arrow_circle'; + case 'arrow_circle': + edgeData.arrowTypeEnd = 'arrow_circle'; + break; + } - switch (edge.stroke) { - case 'normal': - style = 'fill:none;'; - if (defaultStyle !== undefined) { - style = defaultStyle; - } - if (defaultLabelStyle !== undefined) { - labelStyle = defaultLabelStyle; - } - edgeData.thickness = 'normal'; - edgeData.pattern = 'solid'; - break; - case 'dotted': - edgeData.thickness = 'normal'; - edgeData.pattern = 'dotted'; - edgeData.style = 'fill:none;stroke-width:2px;stroke-dasharray:3;'; - break; - case 'thick': - edgeData.thickness = 'thick'; - edgeData.pattern = 'solid'; - edgeData.style = 'stroke-width: 3.5px;fill:none;'; - break; - } + let style = ''; + let labelStyle = ''; + + switch (edge.stroke) { + case 'normal': + style = 'fill:none;'; + if (defaultStyle !== undefined) { + style = defaultStyle; + } + if (defaultLabelStyle !== undefined) { + labelStyle = defaultLabelStyle; + } + edgeData.thickness = 'normal'; + edgeData.pattern = 'solid'; + break; + case 'dotted': + edgeData.thickness = 'normal'; + edgeData.pattern = 'dotted'; + edgeData.style = 'fill:none;stroke-width:2px;stroke-dasharray:3;'; + break; + case 'thick': + edgeData.thickness = 'thick'; + edgeData.pattern = 'solid'; + edgeData.style = 'stroke-width: 3.5px;fill:none;'; + break; + } - edgeData.style = edgeData.style += style; - edgeData.labelStyle = edgeData.labelStyle += labelStyle; + edgeData.style = edgeData.style += style; + edgeData.labelStyle = edgeData.labelStyle += labelStyle; - const conf = getConfig(); - if (edge.interpolate !== undefined) { - edgeData.curve = interpolateToCurve(edge.interpolate, curveLinear); - } else if (edges.defaultInterpolate !== undefined) { - edgeData.curve = interpolateToCurve(edges.defaultInterpolate, curveLinear); - } else { - // @ts-ignore TODO: fix this - edgeData.curve = interpolateToCurve(conf.curve, curveLinear); - } + const conf = getConfig(); + if (edge.interpolate !== undefined) { + edgeData.curve = interpolateToCurve(edge.interpolate, curveLinear); + } else if (edges.defaultInterpolate !== undefined) { + edgeData.curve = interpolateToCurve(edges.defaultInterpolate, curveLinear); + } else { + // @ts-ignore TODO: fix this + edgeData.curve = interpolateToCurve(conf.curve, curveLinear); + } - if (edge.text === undefined) { - if (edge.style !== undefined) { + if (edge.text === undefined) { + if (edge.style !== undefined) { + edgeData.arrowheadStyle = 'fill: #333'; + } + } else { edgeData.arrowheadStyle = 'fill: #333'; + edgeData.labelpos = 'c'; } - } else { - edgeData.arrowheadStyle = 'fill: #333'; - edgeData.labelpos = 'c'; - } - edgeData.labelType = edge.labelType; - edgeData.label = (edge?.text || '').replace(common.lineBreakRegex, '\n'); - - if (edge.style === undefined) { - edgeData.style = edgeData.style || 'stroke: #333; stroke-width: 1.5px;fill:none;'; - } + edgeData.labelType = edge.labelType; + edgeData.label = (edge?.text || '').replace(common.lineBreakRegex, '\n'); - edgeData.labelStyle = edgeData.labelStyle.replace('color:', 'fill:'); - - edgeData.id = linkId; - edgeData.classes = 'flowchart-link ' + linkNameStart + ' ' + linkNameEnd; - - const labelEl = await insertEdgeLabel(labelsEl, edgeData); + if (edge.style === undefined) { + edgeData.style = edgeData.style || 'stroke: #333; stroke-width: 1.5px;fill:none;'; + } - // calculate start and end points of the edge, note that the source and target - // can be modified for shapes that have ports - const { source, target, sourceId, targetId } = getEdgeStartEndPoint(edge, dir); - log.debug('abc78 source and target', source, target); - // Add the edge to the graph - graph.edges.push({ - // @ts-ignore TODO: fix this - id: 'e' + edge.start + edge.end, - ...edge, - sources: [source], - targets: [target], - sourceId, - targetId, - labelEl: labelEl, - labels: [ - { - width: edgeData.width, - height: edgeData.height, - orgWidth: edgeData.width, - orgHeight: edgeData.height, - text: edgeData.label, - layoutOptions: { - 'edgeLabels.inline': 'true', - 'edgeLabels.placement': 'CENTER', + edgeData.labelStyle = edgeData.labelStyle.replace('color:', 'fill:'); + + edgeData.id = linkId; + edgeData.classes = 'flowchart-link ' + linkNameStart + ' ' + linkNameEnd; + + const labelEl = await insertEdgeLabel(labelsEl, edgeData); + + // calculate start and end points of the edge, note that the source and target + // can be modified for shapes that have ports + const { source, target, sourceId, targetId } = getEdgeStartEndPoint(edge, dir); + log.debug('abc78 source and target', source, target); + // Add the edge to the graph + graph.edges.push({ + // @ts-ignore TODO: fix this + id: 'e' + edge.start + edge.end, + ...edge, + sources: [source], + targets: [target], + sourceId, + targetId, + labelEl: labelEl, + labels: [ + { + width: edgeData.width, + height: edgeData.height, + orgWidth: edgeData.width, + orgHeight: edgeData.height, + text: edgeData.label, + layoutOptions: { + 'edgeLabels.inline': 'true', + 'edgeLabels.placement': 'CENTER', + }, }, - }, - ], - edgeData, - }); - }) - ); - return graph; -}; + ], + edgeData, + }); + }) + ); + return graph; + }; -function dir2ElkDirection(dir: any) { - switch (dir) { - case 'LR': - return 'RIGHT'; - case 'RL': - return 'LEFT'; - case 'TB': - return 'DOWN'; - case 'BT': - return 'UP'; - default: - return 'DOWN'; + function dir2ElkDirection(dir: any) { + switch (dir) { + case 'LR': + return 'RIGHT'; + case 'RL': + return 'LEFT'; + case 'TB': + return 'DOWN'; + case 'BT': + return 'UP'; + default: + return 'DOWN'; + } } -} -function setIncludeChildrenPolicy(nodeId: string, ancestorId: string) { - const node = nodeDb[nodeId]; + function setIncludeChildrenPolicy(nodeId: string, ancestorId: string) { + const node = nodeDb[nodeId]; - if (!node) { - return; - } - if (node?.layoutOptions === undefined) { - node.layoutOptions = {}; - } - node.layoutOptions['elk.hierarchyHandling'] = 'INCLUDE_CHILDREN'; - if (node.id !== ancestorId) { - setIncludeChildrenPolicy(node.parentId, ancestorId); - } -} - -function intersectLine( - p1: { y: number; x: number }, - p2: { y: number; x: number }, - q1: { x: any; y: any }, - q2: { x: any; y: any } -) { - log.debug('UIO intersectLine', p1, p2, q1, q2); - // Algorithm from J. Avro, (ed.) Graphics Gems, No 2, Morgan Kaufmann, 1994, - // p7 and p473. - - // let a1, a2, b1, b2, c1, c2; - // let r1, r2, r3, r4; - // let denom, offset, num; - // let x, y; - - // Compute a1, b1, c1, where line joining points 1 and 2 is F(x,y) = a1 x + - // b1 y + c1 = 0. - const a1 = p2.y - p1.y; - const b1 = p1.x - p2.x; - const c1 = p2.x * p1.y - p1.x * p2.y; - - // Compute r3 and r4. - const r3 = a1 * q1.x + b1 * q1.y + c1; - const r4 = a1 * q2.x + b1 * q2.y + c1; - - // Check signs of r3 and r4. If both point 3 and point 4 lie on - // same side of line 1, the line segments do not intersect. - if (r3 !== 0 && r4 !== 0 && sameSign(r3, r4)) { - return /*DON'T_INTERSECT*/; + if (!node) { + return; + } + if (node?.layoutOptions === undefined) { + node.layoutOptions = {}; + } + node.layoutOptions['elk.hierarchyHandling'] = 'INCLUDE_CHILDREN'; + if (node.id !== ancestorId) { + setIncludeChildrenPolicy(node.parentId, ancestorId); + } } - // Compute a2, b2, c2 where line joining points 3 and 4 is G(x,y) = a2 x + b2 y + c2 = 0 - const a2 = q2.y - q1.y; - const b2 = q1.x - q2.x; - const c2 = q2.x * q1.y - q1.x * q2.y; + function intersectLine( + p1: { y: number; x: number }, + p2: { y: number; x: number }, + q1: { x: any; y: any }, + q2: { x: any; y: any } + ) { + log.debug('UIO intersectLine', p1, p2, q1, q2); + // Algorithm from J. Avro, (ed.) Graphics Gems, No 2, Morgan Kaufmann, 1994, + // p7 and p473. + + // let a1, a2, b1, b2, c1, c2; + // let r1, r2, r3, r4; + // let denom, offset, num; + // let x, y; + + // Compute a1, b1, c1, where line joining points 1 and 2 is F(x,y) = a1 x + + // b1 y + c1 = 0. + const a1 = p2.y - p1.y; + const b1 = p1.x - p2.x; + const c1 = p2.x * p1.y - p1.x * p2.y; + + // Compute r3 and r4. + const r3 = a1 * q1.x + b1 * q1.y + c1; + const r4 = a1 * q2.x + b1 * q2.y + c1; + + // Check signs of r3 and r4. If both point 3 and point 4 lie on + // same side of line 1, the line segments do not intersect. + if (r3 !== 0 && r4 !== 0 && sameSign(r3, r4)) { + return /*DON'T_INTERSECT*/; + } - // Compute r1 and r2 - const r1 = a2 * p1.x + b2 * p1.y + c2; - const r2 = a2 * p2.x + b2 * p2.y + c2; + // Compute a2, b2, c2 where line joining points 3 and 4 is G(x,y) = a2 x + b2 y + c2 = 0 + const a2 = q2.y - q1.y; + const b2 = q1.x - q2.x; + const c2 = q2.x * q1.y - q1.x * q2.y; - // Check signs of r1 and r2. If both point 1 and point 2 lie - // on same side of second line segment, the line segments do - // not intersect. - if (r1 !== 0 && r2 !== 0 && sameSign(r1, r2)) { - return /*DON'T_INTERSECT*/; - } + // Compute r1 and r2 + const r1 = a2 * p1.x + b2 * p1.y + c2; + const r2 = a2 * p2.x + b2 * p2.y + c2; - // Line segments intersect: compute intersection point. - const denom = a1 * b2 - a2 * b1; - if (denom === 0) { - return /*COLLINEAR*/; - } + // Check signs of r1 and r2. If both point 1 and point 2 lie + // on same side of second line segment, the line segments do + // not intersect. + if (r1 !== 0 && r2 !== 0 && sameSign(r1, r2)) { + return /*DON'T_INTERSECT*/; + } + + // Line segments intersect: compute intersection point. + const denom = a1 * b2 - a2 * b1; + if (denom === 0) { + return /*COLLINEAR*/; + } - const offset = Math.abs(denom / 2); + const offset = Math.abs(denom / 2); - // The denom/2 is to get rounding instead of truncating. It - // is added or subtracted to the numerator, depending upon the - // sign of the numerator. - let num = b1 * c2 - b2 * c1; - const x = num < 0 ? (num - offset) / denom : (num + offset) / denom; + // The denom/2 is to get rounding instead of truncating. It + // is added or subtracted to the numerator, depending upon the + // sign of the numerator. + let num = b1 * c2 - b2 * c1; + const x = num < 0 ? (num - offset) / denom : (num + offset) / denom; - num = a2 * c1 - a1 * c2; - const y = num < 0 ? (num - offset) / denom : (num + offset) / denom; + num = a2 * c1 - a1 * c2; + const y = num < 0 ? (num - offset) / denom : (num + offset) / denom; - return { x: x, y: y }; -} + return { x: x, y: y }; + } -function sameSign(r1: number, r2: number) { - return r1 * r2 > 0; -} -const diamondIntersection = ( - bounds: { x: any; y: any; width: any; height: any }, - outsidePoint: { x: number; y: number }, - insidePoint: any -) => { - const x1 = bounds.x; - const y1 = bounds.y; - - const w = bounds.width; //+ bounds.padding; - const h = bounds.height; // + bounds.padding; - - const polyPoints = [ - { x: x1, y: y1 - h / 2 }, - { x: x1 + w / 2, y: y1 }, - { x: x1, y: y1 + h / 2 }, - { x: x1 - w / 2, y: y1 }, - ]; - log.debug( - `UIO diamondIntersection calc abc89: + function sameSign(r1: number, r2: number) { + return r1 * r2 > 0; + } + const diamondIntersection = ( + bounds: { x: any; y: any; width: any; height: any }, + outsidePoint: { x: number; y: number }, + insidePoint: any + ) => { + const x1 = bounds.x; + const y1 = bounds.y; + + const w = bounds.width; //+ bounds.padding; + const h = bounds.height; // + bounds.padding; + + const polyPoints = [ + { x: x1, y: y1 - h / 2 }, + { x: x1 + w / 2, y: y1 }, + { x: x1, y: y1 + h / 2 }, + { x: x1 - w / 2, y: y1 }, + ]; + log.debug( + `UIO diamondIntersection calc abc89: outsidePoint: ${JSON.stringify(outsidePoint)} insidePoint : ${JSON.stringify(insidePoint)} node : x:${bounds.x} y:${bounds.y} w:${bounds.width} h:${bounds.height}`, - polyPoints - ); + polyPoints + ); - const intersections = []; + const intersections = []; - let minX = Number.POSITIVE_INFINITY; - let minY = Number.POSITIVE_INFINITY; + let minX = Number.POSITIVE_INFINITY; + let minY = Number.POSITIVE_INFINITY; - polyPoints.forEach(function (entry) { - minX = Math.min(minX, entry.x); - minY = Math.min(minY, entry.y); - }); + polyPoints.forEach(function (entry) { + minX = Math.min(minX, entry.x); + minY = Math.min(minY, entry.y); + }); - // const left = x1 - w / 2; - // const top = y1 + h / 2; - - for (let i = 0; i < polyPoints.length; i++) { - const p1 = polyPoints[i]; - const p2 = polyPoints[i < polyPoints.length - 1 ? i + 1 : 0]; - const intersect = intersectLine( - bounds, - outsidePoint, - { x: p1.x, y: p1.y }, - { x: p2.x, y: p2.y } - ); + // const left = x1 - w / 2; + // const top = y1 + h / 2; + + for (let i = 0; i < polyPoints.length; i++) { + const p1 = polyPoints[i]; + const p2 = polyPoints[i < polyPoints.length - 1 ? i + 1 : 0]; + const intersect = intersectLine( + bounds, + outsidePoint, + { x: p1.x, y: p1.y }, + { x: p2.x, y: p2.y } + ); - if (intersect) { - intersections.push(intersect); + if (intersect) { + intersections.push(intersect); + } } - } - if (!intersections.length) { - return bounds; - } + if (!intersections.length) { + return bounds; + } - log.debug('UIO intersections', intersections); + log.debug('UIO intersections', intersections); - if (intersections.length > 1) { - // More intersections, find the one nearest to edge end point - intersections.sort(function (p, q) { - const pdx = p.x - outsidePoint.x; - const pdy = p.y - outsidePoint.y; - const distp = Math.sqrt(pdx * pdx + pdy * pdy); + if (intersections.length > 1) { + // More intersections, find the one nearest to edge end point + intersections.sort(function (p, q) { + const pdx = p.x - outsidePoint.x; + const pdy = p.y - outsidePoint.y; + const distp = Math.sqrt(pdx * pdx + pdy * pdy); - const qdx = q.x - outsidePoint.x; - const qdy = q.y - outsidePoint.y; - const distq = Math.sqrt(qdx * qdx + qdy * qdy); + const qdx = q.x - outsidePoint.x; + const qdy = q.y - outsidePoint.y; + const distq = Math.sqrt(qdx * qdx + qdy * qdy); - return distp < distq ? -1 : distp === distq ? 0 : 1; - }); - } + return distp < distq ? -1 : distp === distq ? 0 : 1; + }); + } - return intersections[0]; -}; + return intersections[0]; + }; -const intersection = ( - node: { x: any; y: any; width: number; height: number }, - outsidePoint: { x: number; y: number }, - insidePoint: { x: number; y: number } -) => { - log.debug(`intersection calc abc89: + const intersection = ( + node: { x: any; y: any; width: number; height: number }, + outsidePoint: { x: number; y: number }, + insidePoint: { x: number; y: number } + ) => { + log.debug(`intersection calc abc89: outsidePoint: ${JSON.stringify(outsidePoint)} insidePoint : ${JSON.stringify(insidePoint)} node : x:${node.x} y:${node.y} w:${node.width} h:${node.height}`); - const x = node.x; - const y = node.y; - - const dx = Math.abs(x - insidePoint.x); - // const dy = Math.abs(y - insidePoint.y); - const w = node.width / 2; - let r = insidePoint.x < outsidePoint.x ? w - dx : w + dx; - const h = node.height / 2; - - const Q = Math.abs(outsidePoint.y - insidePoint.y); - const R = Math.abs(outsidePoint.x - insidePoint.x); - - if (Math.abs(y - outsidePoint.y) * w > Math.abs(x - outsidePoint.x) * h) { - // Intersection is top or bottom of rect. - const q = insidePoint.y < outsidePoint.y ? outsidePoint.y - h - y : y - h - outsidePoint.y; - r = (R * q) / Q; - const res = { - x: insidePoint.x < outsidePoint.x ? insidePoint.x + r : insidePoint.x - R + r, - y: insidePoint.y < outsidePoint.y ? insidePoint.y + Q - q : insidePoint.y - Q + q, - }; + const x = node.x; + const y = node.y; + + const dx = Math.abs(x - insidePoint.x); + // const dy = Math.abs(y - insidePoint.y); + const w = node.width / 2; + let r = insidePoint.x < outsidePoint.x ? w - dx : w + dx; + const h = node.height / 2; + + const Q = Math.abs(outsidePoint.y - insidePoint.y); + const R = Math.abs(outsidePoint.x - insidePoint.x); + + if (Math.abs(y - outsidePoint.y) * w > Math.abs(x - outsidePoint.x) * h) { + // Intersection is top or bottom of rect. + const q = insidePoint.y < outsidePoint.y ? outsidePoint.y - h - y : y - h - outsidePoint.y; + r = (R * q) / Q; + const res = { + x: insidePoint.x < outsidePoint.x ? insidePoint.x + r : insidePoint.x - R + r, + y: insidePoint.y < outsidePoint.y ? insidePoint.y + Q - q : insidePoint.y - Q + q, + }; - if (r === 0) { - res.x = outsidePoint.x; - res.y = outsidePoint.y; - } - if (R === 0) { - res.x = outsidePoint.x; - } - if (Q === 0) { - res.y = outsidePoint.y; - } + if (r === 0) { + res.x = outsidePoint.x; + res.y = outsidePoint.y; + } + if (R === 0) { + res.x = outsidePoint.x; + } + if (Q === 0) { + res.y = outsidePoint.y; + } - log.debug(`abc89 topp/bott calc, Q ${Q}, q ${q}, R ${R}, r ${r}`, res); // cspell: disable-line + log.debug(`abc89 topp/bott calc, Q ${Q}, q ${q}, R ${R}, r ${r}`, res); // cspell: disable-line - return res; - } else { - // Intersection onn sides of rect - if (insidePoint.x < outsidePoint.x) { - r = outsidePoint.x - w - x; + return res; } else { - // r = outsidePoint.x - w - x; - r = x - w - outsidePoint.x; - } - const q = (Q * r) / R; - // OK let _x = insidePoint.x < outsidePoint.x ? insidePoint.x + R - r : insidePoint.x + dx - w; - // OK let _x = insidePoint.x < outsidePoint.x ? insidePoint.x + R - r : outsidePoint.x + r; - let _x = insidePoint.x < outsidePoint.x ? insidePoint.x + R - r : insidePoint.x - R + r; - // let _x = insidePoint.x < outsidePoint.x ? insidePoint.x + R - r : outsidePoint.x + r; - let _y = insidePoint.y < outsidePoint.y ? insidePoint.y + q : insidePoint.y - q; - log.debug(`sides calc abc89, Q ${Q}, q ${q}, R ${R}, r ${r}`, { _x, _y }); - if (r === 0) { - _x = outsidePoint.x; - _y = outsidePoint.y; - } - if (R === 0) { - _x = outsidePoint.x; + // Intersection onn sides of rect + if (insidePoint.x < outsidePoint.x) { + r = outsidePoint.x - w - x; + } else { + // r = outsidePoint.x - w - x; + r = x - w - outsidePoint.x; + } + const q = (Q * r) / R; + // OK let _x = insidePoint.x < outsidePoint.x ? insidePoint.x + R - r : insidePoint.x + dx - w; + // OK let _x = insidePoint.x < outsidePoint.x ? insidePoint.x + R - r : outsidePoint.x + r; + let _x = insidePoint.x < outsidePoint.x ? insidePoint.x + R - r : insidePoint.x - R + r; + // let _x = insidePoint.x < outsidePoint.x ? insidePoint.x + R - r : outsidePoint.x + r; + let _y = insidePoint.y < outsidePoint.y ? insidePoint.y + q : insidePoint.y - q; + log.debug(`sides calc abc89, Q ${Q}, q ${q}, R ${R}, r ${r}`, { _x, _y }); + if (r === 0) { + _x = outsidePoint.x; + _y = outsidePoint.y; + } + if (R === 0) { + _x = outsidePoint.x; + } + if (Q === 0) { + _y = outsidePoint.y; + } + + return { x: _x, y: _y }; } - if (Q === 0) { - _y = outsidePoint.y; + }; + const outsideNode = ( + node: { x: any; y: any; width: number; height: number }, + point: { x: number; y: number } + ) => { + const x = node.x; + const y = node.y; + const dx = Math.abs(point.x - x); + const dy = Math.abs(point.y - y); + const w = node.width / 2; + const h = node.height / 2; + if (dx >= w || dy >= h) { + return true; } - - return { x: _x, y: _y }; - } -}; -const outsideNode = ( - node: { x: any; y: any; width: number; height: number }, - point: { x: number; y: number } -) => { - const x = node.x; - const y = node.y; - const dx = Math.abs(point.x - x); - const dy = Math.abs(point.y - y); - const w = node.width / 2; - const h = node.height / 2; - if (dx >= w || dy >= h) { - return true; - } - return false; -}; -/** - * This function will page a path and node where the last point(s) in the path is inside the node - * and return an update path ending by the border of the node. - */ -const cutPathAtIntersect = ( - _points: any[], - bounds: { x: any; y: any; width: any; height: any; padding: any }, - isDiamond: boolean -) => { - log.debug('UIO cutPathAtIntersect Points:', _points, 'node:', bounds, 'isDiamond', isDiamond); - const points: any[] = []; - let lastPointOutside = _points[0]; - let isInside = false; - _points.forEach((point: any) => { - // const node = clusterDb[edge.toCluster].node; - log.debug(' checking point', point, bounds); - - // check if point is inside the boundary rect - if (!outsideNode(bounds, point) && !isInside) { - // First point inside the rect found - // Calc the intersection coord between the point anf the last point outside the rect - let inter; - - if (isDiamond) { - const inter2 = diamondIntersection(bounds, lastPointOutside, point); - const distance = Math.sqrt( - (lastPointOutside.x - inter2.x) ** 2 + (lastPointOutside.y - inter2.y) ** 2 - ); - if (distance > 1) { - inter = inter2; + return false; + }; + /** + * This function will page a path and node where the last point(s) in the path is inside the node + * and return an update path ending by the border of the node. + */ + const cutPathAtIntersect = ( + _points: any[], + bounds: { x: any; y: any; width: any; height: any; padding: any }, + isDiamond: boolean + ) => { + log.debug('UIO cutPathAtIntersect Points:', _points, 'node:', bounds, 'isDiamond', isDiamond); + const points: any[] = []; + let lastPointOutside = _points[0]; + let isInside = false; + _points.forEach((point: any) => { + // const node = clusterDb[edge.toCluster].node; + log.debug(' checking point', point, bounds); + + // check if point is inside the boundary rect + if (!outsideNode(bounds, point) && !isInside) { + // First point inside the rect found + // Calc the intersection coord between the point anf the last point outside the rect + let inter; + + if (isDiamond) { + const inter2 = diamondIntersection(bounds, lastPointOutside, point); + const distance = Math.sqrt( + (lastPointOutside.x - inter2.x) ** 2 + (lastPointOutside.y - inter2.y) ** 2 + ); + if (distance > 1) { + inter = inter2; + } + } + if (!inter) { + inter = intersection(bounds, lastPointOutside, point); } - } - if (!inter) { - inter = intersection(bounds, lastPointOutside, point); - } - // Check case where the intersection is the same as the last point - let pointPresent = false; - points.forEach((p) => { - pointPresent = pointPresent || (p.x === inter.x && p.y === inter.y); - }); - // if (!pointPresent) { - if (!points.some((e) => e.x === inter.x && e.y === inter.y)) { - points.push(inter); + // Check case where the intersection is the same as the last point + let pointPresent = false; + points.forEach((p) => { + pointPresent = pointPresent || (p.x === inter.x && p.y === inter.y); + }); + // if (!pointPresent) { + if (!points.some((e) => e.x === inter.x && e.y === inter.y)) { + points.push(inter); + } else { + log.debug('abc88 no intersect', inter, points); + } + // points.push(inter); + isInside = true; } else { - log.debug('abc88 no intersect', inter, points); - } - // points.push(inter); - isInside = true; - } else { - // Outside - log.debug('abc88 outside', point, lastPointOutside, points); - lastPointOutside = point; - // points.push(point); - if (!isInside) { - points.push(point); + // Outside + log.debug('abc88 outside', point, lastPointOutside, points); + lastPointOutside = point; + // points.push(point); + if (!isInside) { + points.push(point); + } } - } - }); - log.debug('returning points', points); - return points; -}; + }); + log.debug('returning points', points); + return points; + }; -export const render = async ( - data4Layout: LayoutData, - svg: { - insert: (arg0: string) => { - (): any; - new (): any; - attr: { (arg0: string, arg1: string): any; new (): any }; - }; - }, - element: any, - algorithm: any -) => { // @ts-ignore - ELK is not typed const elk = new ELK(); diff --git a/packages/mermaid/src/mermaid.ts b/packages/mermaid/src/mermaid.ts index aa07375927..90b3b74b81 100644 --- a/packages/mermaid/src/mermaid.ts +++ b/packages/mermaid/src/mermaid.ts @@ -4,34 +4,35 @@ */ import { dedent } from 'ts-dedent'; import type { MermaidConfig } from './config.type.js'; -import { log } from './logger.js'; -import utils from './utils.js'; -import type { ParseOptions, ParseResult, RenderResult } from './types.js'; -import { mermaidAPI } from './mermaidAPI.js'; -import { registerLazyLoadedDiagrams, detectType } from './diagram-api/detectType.js'; +import { detectType, registerLazyLoadedDiagrams } from './diagram-api/detectType.js'; +import { addDiagrams } from './diagram-api/diagram-orchestration.js'; import { loadRegisteredDiagrams } from './diagram-api/loadDiagram.js'; -import type { ParseErrorFunction } from './Diagram.js'; -import { isDetailedError } from './utils.js'; -import type { DetailedError } from './utils.js'; import type { ExternalDiagramDefinition } from './diagram-api/types.js'; +import type { ParseErrorFunction } from './Diagram.js'; import type { UnknownDiagramError } from './errors.js'; -import { addDiagrams } from './diagram-api/diagram-orchestration.js'; -import { registerLayoutLoaders } from './rendering-util/render.js'; +import type { internalHelpers } from './internals.js'; +import { log } from './logger.js'; +import { mermaidAPI } from './mermaidAPI.js'; import type { LayoutLoaderDefinition } from './rendering-util/render.js'; -import { internalHelpers } from './internals.js'; +import { registerLayoutLoaders } from './rendering-util/render.js'; import type { LayoutData } from './rendering-util/types.js'; +import type { ParseOptions, ParseResult, RenderResult } from './types.js'; +import type { DetailedError } from './utils.js'; +import utils, { isDetailedError } from './utils.js'; +type InternalHelpers = typeof internalHelpers; export type { - MermaidConfig, DetailedError, ExternalDiagramDefinition, + InternalHelpers, + LayoutData, + LayoutLoaderDefinition, + MermaidConfig, ParseErrorFunction, - RenderResult, ParseOptions, ParseResult, + RenderResult, UnknownDiagramError, - LayoutLoaderDefinition, - LayoutData, }; export interface RunOptions { @@ -432,11 +433,6 @@ export interface Mermaid { contentLoaded: typeof contentLoaded; setParseErrorHandler: typeof setParseErrorHandler; detectType: typeof detectType; - /** - * Internal helpers for mermaid - * @deprecated - This should not be used by external packages, as the definitions will change without notice. - */ - internalHelpers: typeof internalHelpers; } const mermaid: Mermaid = { @@ -453,7 +449,6 @@ const mermaid: Mermaid = { contentLoaded, setParseErrorHandler, detectType, - internalHelpers, }; export default mermaid; diff --git a/packages/mermaid/src/rendering-util/render.ts b/packages/mermaid/src/rendering-util/render.ts index 4c08b5d27e..c2cbc994cf 100644 --- a/packages/mermaid/src/rendering-util/render.ts +++ b/packages/mermaid/src/rendering-util/render.ts @@ -1,7 +1,14 @@ +import { internalHelpers } from '$root/internals.js'; import { log } from '$root/logger.js'; export interface LayoutAlgorithm { - render(data4Layout: any, svg: any, element: any, algorithm?: string): any; + render( + data4Layout: any, + svg: any, + element: any, + helpers: typeof internalHelpers, + algorithm?: string + ): any; } export type LayoutLoader = () => Promise; @@ -38,7 +45,13 @@ export const render = async (data4Layout: any, svg: any, element: any) => { const layoutDefinition = layoutAlgorithms[data4Layout.layoutAlgorithm]; const layoutRenderer = await layoutDefinition.loader(); - return layoutRenderer.render(data4Layout, svg, element, layoutDefinition.algorithm); + return layoutRenderer.render( + data4Layout, + svg, + element, + internalHelpers, + layoutDefinition.algorithm + ); }; /** From 4d7b1e8eaf993fb47a61b53bc31cfd342d74aa62 Mon Sep 17 00:00:00 2001 From: "autofix-ci[bot]" <114827586+autofix-ci[bot]@users.noreply.github.com> Date: Wed, 21 Aug 2024 11:57:36 +0000 Subject: [PATCH 766/789] [autofix.ci] apply automated fixes --- .../mermaid.LayoutLoaderDefinition.md | 6 +- .../setup/interfaces/mermaid.Mermaid.md | 69 ++++--------------- .../setup/interfaces/mermaid.RunOptions.md | 8 +-- docs/config/setup/modules/mermaid.md | 12 +++- 4 files changed, 31 insertions(+), 64 deletions(-) diff --git a/docs/config/setup/interfaces/mermaid.LayoutLoaderDefinition.md b/docs/config/setup/interfaces/mermaid.LayoutLoaderDefinition.md index 498aee75d1..111d1cbc28 100644 --- a/docs/config/setup/interfaces/mermaid.LayoutLoaderDefinition.md +++ b/docs/config/setup/interfaces/mermaid.LayoutLoaderDefinition.md @@ -16,7 +16,7 @@ #### Defined in -[packages/mermaid/src/rendering-util/render.ts:11](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/rendering-util/render.ts#L11) +[packages/mermaid/src/rendering-util/render.ts:18](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/rendering-util/render.ts#L18) --- @@ -26,7 +26,7 @@ #### Defined in -[packages/mermaid/src/rendering-util/render.ts:10](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/rendering-util/render.ts#L10) +[packages/mermaid/src/rendering-util/render.ts:17](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/rendering-util/render.ts#L17) --- @@ -36,4 +36,4 @@ #### Defined in -[packages/mermaid/src/rendering-util/render.ts:9](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/rendering-util/render.ts#L9) +[packages/mermaid/src/rendering-util/render.ts:16](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/rendering-util/render.ts#L16) diff --git a/docs/config/setup/interfaces/mermaid.Mermaid.md b/docs/config/setup/interfaces/mermaid.Mermaid.md index c139125f9e..cd700ee2e0 100644 --- a/docs/config/setup/interfaces/mermaid.Mermaid.md +++ b/docs/config/setup/interfaces/mermaid.Mermaid.md @@ -28,7 +28,7 @@ page. #### Defined in -[packages/mermaid/src/mermaid.ts:432](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/mermaid.ts#L432) +[packages/mermaid/src/mermaid.ts:433](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/mermaid.ts#L433) --- @@ -59,7 +59,7 @@ A graph definition key #### Defined in -[packages/mermaid/src/mermaid.ts:434](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/mermaid.ts#L434) +[packages/mermaid/src/mermaid.ts:435](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/mermaid.ts#L435) --- @@ -89,7 +89,7 @@ Use [initialize](mermaid.Mermaid.md#initialize) and [run](mermaid.Mermaid.md#run #### Defined in -[packages/mermaid/src/mermaid.ts:427](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/mermaid.ts#L427) +[packages/mermaid/src/mermaid.ts:428](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/mermaid.ts#L428) --- @@ -116,50 +116,7 @@ This function should be called before the run function. #### Defined in -[packages/mermaid/src/mermaid.ts:431](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/mermaid.ts#L431) - ---- - -### internalHelpers - -• **internalHelpers**: `Object` - -Internal helpers for mermaid - -**`Deprecated`** - -- This should not be used by external packages, as the definitions will change without notice. - -#### Type declaration - -| Name | Type | -| :--------------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `common` | { `evaluate`: (`val?`: `string` \| `boolean`) => `boolean` ; `getMax`: (...`values`: `number`\[]) => `number` ; `getMin`: (...`values`: `number`\[]) => `number` ; `getRows`: (`s?`: `string`) => `string`\[] ; `getUrl`: (`useAbsolute`: `boolean`) => `string` ; `hasBreaks`: (`text`: `string`) => `boolean` ; `lineBreakRegex`: `RegExp` ; `removeScript`: (`txt`: `string`) => `string` ; `sanitizeText`: (`text`: `string`, `config`: [`MermaidConfig`](mermaid.MermaidConfig.md)) => `string` ; `sanitizeTextOrArray`: (`a`: `string` \| `string`\[] \| `string`\[]\[], `config`: [`MermaidConfig`](mermaid.MermaidConfig.md)) => `string` \| `string`\[] ; `splitBreaks`: (`text`: `string`) => `string`\[] } | -| `common.evaluate` | (`val?`: `string` \| `boolean`) => `boolean` | -| `common.getMax` | (...`values`: `number`\[]) => `number` | -| `common.getMin` | (...`values`: `number`\[]) => `number` | -| `common.getRows` | (`s?`: `string`) => `string`\[] | -| `common.getUrl` | (`useAbsolute`: `boolean`) => `string` | -| `common.hasBreaks` | (`text`: `string`) => `boolean` | -| `common.lineBreakRegex` | `RegExp` | -| `common.removeScript` | (`txt`: `string`) => `string` | -| `common.sanitizeText` | (`text`: `string`, `config`: [`MermaidConfig`](mermaid.MermaidConfig.md)) => `string` | -| `common.sanitizeTextOrArray` | (`a`: `string` \| `string`\[] \| `string`\[]\[], `config`: [`MermaidConfig`](mermaid.MermaidConfig.md)) => `string` \| `string`\[] | -| `common.splitBreaks` | (`text`: `string`) => `string`\[] | -| `getConfig` | () => [`MermaidConfig`](mermaid.MermaidConfig.md) | -| `insertCluster` | (`elem`: `any`, `node`: `any`) => `Promise`<`any`> | -| `insertEdge` | (`elem`: `any`, `edge`: `any`, `clusterDb`: `any`, `diagramType`: `any`, `startNode`: `any`, `endNode`: `any`, `id`: `any`) => { `originalPath`: `any` ; `updatedPath`: `any` } | -| `insertEdgeLabel` | (`elem`: `any`, `edge`: `any`) => `Promise`<`any`> | -| `insertMarkers` | (`elem`: `any`, `markerArray`: `any`, `type`: `any`, `id`: `any`) => `void` | -| `insertNode` | (`elem`: `any`, `node`: `any`, `dir`: `any`) => `Promise`<`any`> | -| `interpolateToCurve` | (`interpolate`: `undefined` \| `string`, `defaultCurve`: `CurveFactory`) => `CurveFactory` | -| `labelHelper` | (`parent`: `any`, `node`: `any`, `_classes`: `any`) => `Promise`<{ `bbox`: `any` ; `halfPadding`: `number` ; `label`: `any` = labelEl; `shapeSvg`: `any` }> | -| `log` | `Record`<`LogLevel`, (...`data`: `any`\[]) => `void`(`message?`: `any`, ...`optionalParams`: `any`\[]) => `void`> | -| `positionEdgeLabel` | (`edge`: `any`, `paths`: `any`) => `void` | - -#### Defined in - -[packages/mermaid/src/mermaid.ts:439](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/mermaid.ts#L439) +[packages/mermaid/src/mermaid.ts:432](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/mermaid.ts#L432) --- @@ -173,7 +130,7 @@ Use [parse](mermaid.Mermaid.md#parse) and [render](mermaid.Mermaid.md#render) in #### Defined in -[packages/mermaid/src/mermaid.ts:421](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/mermaid.ts#L421) +[packages/mermaid/src/mermaid.ts:422](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/mermaid.ts#L422) --- @@ -223,7 +180,7 @@ Error if the diagram is invalid and parseOptions.suppressErrors is false or not #### Defined in -[packages/mermaid/src/mermaid.ts:422](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/mermaid.ts#L422) +[packages/mermaid/src/mermaid.ts:423](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/mermaid.ts#L423) --- @@ -233,7 +190,7 @@ Error if the diagram is invalid and parseOptions.suppressErrors is false or not #### Defined in -[packages/mermaid/src/mermaid.ts:416](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/mermaid.ts#L416) +[packages/mermaid/src/mermaid.ts:417](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/mermaid.ts#L417) --- @@ -261,7 +218,7 @@ Used to register external diagram types. #### Defined in -[packages/mermaid/src/mermaid.ts:430](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/mermaid.ts#L430) +[packages/mermaid/src/mermaid.ts:431](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/mermaid.ts#L431) --- @@ -285,7 +242,7 @@ Used to register external diagram types. #### Defined in -[packages/mermaid/src/mermaid.ts:429](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/mermaid.ts#L429) +[packages/mermaid/src/mermaid.ts:430](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/mermaid.ts#L430) --- @@ -311,7 +268,7 @@ Used to register external diagram types. #### Defined in -[packages/mermaid/src/mermaid.ts:423](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/mermaid.ts#L423) +[packages/mermaid/src/mermaid.ts:424](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/mermaid.ts#L424) --- @@ -359,7 +316,7 @@ Renders the mermaid diagrams #### Defined in -[packages/mermaid/src/mermaid.ts:428](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/mermaid.ts#L428) +[packages/mermaid/src/mermaid.ts:429](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/mermaid.ts#L429) --- @@ -394,7 +351,7 @@ to it (eg. dart interop wrapper). (Initially there is no parseError member of me #### Defined in -[packages/mermaid/src/mermaid.ts:433](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/mermaid.ts#L433) +[packages/mermaid/src/mermaid.ts:434](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/mermaid.ts#L434) --- @@ -404,4 +361,4 @@ to it (eg. dart interop wrapper). (Initially there is no parseError member of me #### Defined in -[packages/mermaid/src/mermaid.ts:415](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/mermaid.ts#L415) +[packages/mermaid/src/mermaid.ts:416](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/mermaid.ts#L416) diff --git a/docs/config/setup/interfaces/mermaid.RunOptions.md b/docs/config/setup/interfaces/mermaid.RunOptions.md index 6fccdc4545..10ad6e63c1 100644 --- a/docs/config/setup/interfaces/mermaid.RunOptions.md +++ b/docs/config/setup/interfaces/mermaid.RunOptions.md @@ -18,7 +18,7 @@ The nodes to render. If this is set, `querySelector` will be ignored. #### Defined in -[packages/mermaid/src/mermaid.ts:45](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/mermaid.ts#L45) +[packages/mermaid/src/mermaid.ts:46](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/mermaid.ts#L46) --- @@ -44,7 +44,7 @@ A callback to call after each diagram is rendered. #### Defined in -[packages/mermaid/src/mermaid.ts:49](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/mermaid.ts#L49) +[packages/mermaid/src/mermaid.ts:50](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/mermaid.ts#L50) --- @@ -56,7 +56,7 @@ The query selector to use when finding elements to render. Default: `".mermaid"` #### Defined in -[packages/mermaid/src/mermaid.ts:41](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/mermaid.ts#L41) +[packages/mermaid/src/mermaid.ts:42](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/mermaid.ts#L42) --- @@ -68,4 +68,4 @@ If `true`, errors will be logged to the console, but not thrown. Default: `false #### Defined in -[packages/mermaid/src/mermaid.ts:53](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/mermaid.ts#L53) +[packages/mermaid/src/mermaid.ts:54](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/mermaid.ts#L54) diff --git a/docs/config/setup/modules/mermaid.md b/docs/config/setup/modules/mermaid.md index ac1bbece02..c4d071a7eb 100644 --- a/docs/config/setup/modules/mermaid.md +++ b/docs/config/setup/modules/mermaid.md @@ -25,6 +25,16 @@ ## Type Aliases +### InternalHelpers + +Ƭ **InternalHelpers**: typeof `internalHelpers` + +#### Defined in + +[packages/mermaid/src/mermaid.ts:23](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/mermaid.ts#L23) + +--- + ### ParseErrorFunction Ƭ **ParseErrorFunction**: (`err`: `string` | [`DetailedError`](../interfaces/mermaid.DetailedError.md) | `unknown`, `hash?`: `any`) => `void` @@ -56,4 +66,4 @@ #### Defined in -[packages/mermaid/src/mermaid.ts:442](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/mermaid.ts#L442) +[packages/mermaid/src/mermaid.ts:438](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/mermaid.ts#L438) From 037ba2fa9cf40905bd1c35b1a450c5218a698f0f Mon Sep 17 00:00:00 2001 From: Sidharth Vinod Date: Wed, 21 Aug 2024 17:39:01 +0530 Subject: [PATCH 767/789] chore: Rename Group to SVGGroup --- packages/mermaid/src/diagram-api/types.ts | 2 +- .../mermaid/src/diagrams/common/svgDrawCommon.ts | 14 +++++++------- .../mermaid/src/diagrams/error/errorRenderer.ts | 4 ++-- .../mermaid/src/diagrams/info/infoRenderer.ts | 6 +++--- packages/mermaid/src/diagrams/packet/renderer.ts | 4 ++-- packages/mermaid/src/diagrams/pie/pieRenderer.ts | 12 ++++++------ .../chartBuilder/components/axis/index.ts | 4 ++-- .../chartBuilder/components/chartTitle.ts | 6 +++--- .../src/diagrams/xychart/chartBuilder/index.ts | 4 ++-- .../xychart/chartBuilder/orchestrator.ts | 14 +++++++------- .../chartBuilder/textDimensionCalculator.ts | 6 +++--- .../mermaid/src/diagrams/xychart/xychartDb.ts | 16 ++++++++-------- packages/mermaid/src/internals.ts | 2 ++ packages/mermaid/src/mermaid.ts | 10 ++++++---- .../mermaid/src/rendering-util/createText.ts | 10 +++++----- 15 files changed, 59 insertions(+), 55 deletions(-) diff --git a/packages/mermaid/src/diagram-api/types.ts b/packages/mermaid/src/diagram-api/types.ts index 4556c1d6eb..fdb175e520 100644 --- a/packages/mermaid/src/diagram-api/types.ts +++ b/packages/mermaid/src/diagram-api/types.ts @@ -129,6 +129,6 @@ export type HTML = d3.Selection; -export type Group = d3.Selection; +export type SVGGroup = d3.Selection; export type DiagramStylesProvider = (options?: any) => string; diff --git a/packages/mermaid/src/diagrams/common/svgDrawCommon.ts b/packages/mermaid/src/diagrams/common/svgDrawCommon.ts index 8d5ba3b7ca..59c6d43cfe 100644 --- a/packages/mermaid/src/diagrams/common/svgDrawCommon.ts +++ b/packages/mermaid/src/diagrams/common/svgDrawCommon.ts @@ -1,5 +1,6 @@ import { sanitizeUrl } from '@braintree/sanitize-url'; -import type { Group, SVG } from '../../diagram-api/types.js'; +import type { SVG, SVGGroup } from '../../diagram-api/types.js'; +import { lineBreakRegex } from './common.js'; import type { Bound, D3ImageElement, @@ -11,9 +12,8 @@ import type { TextData, TextObject, } from './commonTypes.js'; -import { lineBreakRegex } from './common.js'; -export const drawRect = (element: SVG | Group, rectData: RectData): D3RectElement => { +export const drawRect = (element: SVG | SVGGroup, rectData: RectData): D3RectElement => { const rectElement: D3RectElement = element.append('rect'); rectElement.attr('x', rectData.x); rectElement.attr('y', rectData.y); @@ -50,7 +50,7 @@ export const drawRect = (element: SVG | Group, rectData: RectData): D3RectElemen * @param element - Diagram (reference for bounds) * @param bounds - Shape of the rectangle */ -export const drawBackgroundRect = (element: SVG | Group, bounds: Bound): void => { +export const drawBackgroundRect = (element: SVG | SVGGroup, bounds: Bound): void => { const rectData: RectData = { x: bounds.startx, y: bounds.starty, @@ -64,7 +64,7 @@ export const drawBackgroundRect = (element: SVG | Group, bounds: Bound): void => rectElement.lower(); }; -export const drawText = (element: SVG | Group, textData: TextData): D3TextElement => { +export const drawText = (element: SVG | SVGGroup, textData: TextData): D3TextElement => { const nText: string = textData.text.replace(lineBreakRegex, ' '); const textElem: D3TextElement = element.append('text'); @@ -84,7 +84,7 @@ export const drawText = (element: SVG | Group, textData: TextData): D3TextElemen return textElem; }; -export const drawImage = (elem: SVG | Group, x: number, y: number, link: string): void => { +export const drawImage = (elem: SVG | SVGGroup, x: number, y: number, link: string): void => { const imageElement: D3ImageElement = elem.append('image'); imageElement.attr('x', x); imageElement.attr('y', y); @@ -93,7 +93,7 @@ export const drawImage = (elem: SVG | Group, x: number, y: number, link: string) }; export const drawEmbeddedImage = ( - element: SVG | Group, + element: SVG | SVGGroup, x: number, y: number, link: string diff --git a/packages/mermaid/src/diagrams/error/errorRenderer.ts b/packages/mermaid/src/diagrams/error/errorRenderer.ts index 1b3622c6dc..a5f10acefc 100644 --- a/packages/mermaid/src/diagrams/error/errorRenderer.ts +++ b/packages/mermaid/src/diagrams/error/errorRenderer.ts @@ -1,5 +1,5 @@ +import type { SVG, SVGGroup } from '../../diagram-api/types.js'; import { log } from '../../logger.js'; -import type { Group, SVG } from '../../diagram-api/types.js'; import { selectSvgElement } from '../../rendering-util/selectSvgElement.js'; import { configureSvgSize } from '../../setupGraphViewbox.js'; @@ -13,7 +13,7 @@ import { configureSvgSize } from '../../setupGraphViewbox.js'; export const draw = (_text: string, id: string, version: string) => { log.debug('rendering svg for syntax error\n'); const svg: SVG = selectSvgElement(id); - const g: Group = svg.append('g'); + const g: SVGGroup = svg.append('g'); svg.attr('viewBox', '0 0 2412 512'); configureSvgSize(svg, 100, 512, true); diff --git a/packages/mermaid/src/diagrams/info/infoRenderer.ts b/packages/mermaid/src/diagrams/info/infoRenderer.ts index 25ae72fce0..a8314eb728 100644 --- a/packages/mermaid/src/diagrams/info/infoRenderer.ts +++ b/packages/mermaid/src/diagrams/info/infoRenderer.ts @@ -1,7 +1,7 @@ +import type { DrawDefinition, SVG, SVGGroup } from '../../diagram-api/types.js'; import { log } from '../../logger.js'; -import { configureSvgSize } from '../../setupGraphViewbox.js'; -import type { DrawDefinition, Group, SVG } from '../../diagram-api/types.js'; import { selectSvgElement } from '../../rendering-util/selectSvgElement.js'; +import { configureSvgSize } from '../../setupGraphViewbox.js'; /** * Draws a an info picture in the tag with id: id based on the graph definition in text. @@ -16,7 +16,7 @@ const draw: DrawDefinition = (text, id, version) => { const svg: SVG = selectSvgElement(id); configureSvgSize(svg, 100, 400, true); - const group: Group = svg.append('g'); + const group: SVGGroup = svg.append('g'); group .append('text') .attr('x', 100) diff --git a/packages/mermaid/src/diagrams/packet/renderer.ts b/packages/mermaid/src/diagrams/packet/renderer.ts index c89e055cce..25445a2284 100644 --- a/packages/mermaid/src/diagrams/packet/renderer.ts +++ b/packages/mermaid/src/diagrams/packet/renderer.ts @@ -1,6 +1,6 @@ import type { Diagram } from '../../Diagram.js'; import type { PacketDiagramConfig } from '../../config.type.js'; -import type { DiagramRenderer, DrawDefinition, Group, SVG } from '../../diagram-api/types.js'; +import type { DiagramRenderer, DrawDefinition, SVG, SVGGroup } from '../../diagram-api/types.js'; import { selectSvgElement } from '../../rendering-util/selectSvgElement.js'; import { configureSvgSize } from '../../setupGraphViewbox.js'; import type { PacketDB, PacketWord } from './types.js'; @@ -39,7 +39,7 @@ const drawWord = ( rowNumber: number, { rowHeight, paddingX, paddingY, bitWidth, bitsPerRow, showBits }: Required ) => { - const group: Group = svg.append('g'); + const group: SVGGroup = svg.append('g'); const wordY = rowNumber * (rowHeight + paddingY) + paddingY; for (const block of word) { const blockX = (block.start % bitsPerRow) * bitWidth + 1; diff --git a/packages/mermaid/src/diagrams/pie/pieRenderer.ts b/packages/mermaid/src/diagrams/pie/pieRenderer.ts index 8f3b9cc5b3..a0cdce3df7 100644 --- a/packages/mermaid/src/diagrams/pie/pieRenderer.ts +++ b/packages/mermaid/src/diagrams/pie/pieRenderer.ts @@ -1,13 +1,13 @@ import type d3 from 'd3'; -import { scaleOrdinal, pie as d3pie, arc } from 'd3'; +import { arc, pie as d3pie, scaleOrdinal } from 'd3'; +import type { MermaidConfig, PieDiagramConfig } from '../../config.type.js'; +import { getConfig } from '../../diagram-api/diagramAPI.js'; +import type { DrawDefinition, SVG, SVGGroup } from '../../diagram-api/types.js'; import { log } from '../../logger.js'; +import { selectSvgElement } from '../../rendering-util/selectSvgElement.js'; import { configureSvgSize } from '../../setupGraphViewbox.js'; -import { getConfig } from '../../diagram-api/diagramAPI.js'; import { cleanAndMerge, parseFontSize } from '../../utils.js'; -import type { DrawDefinition, Group, SVG } from '../../diagram-api/types.js'; import type { D3Section, PieDB, Sections } from './pieTypes.js'; -import type { MermaidConfig, PieDiagramConfig } from '../../config.type.js'; -import { selectSvgElement } from '../../rendering-util/selectSvgElement.js'; const createPieArcs = (sections: Sections): d3.PieArcDatum[] => { // Compute the position of each group on the pie: @@ -46,7 +46,7 @@ export const draw: DrawDefinition = (text, id, _version, diagObj) => { const height = 450; const pieWidth: number = height; const svg: SVG = selectSvgElement(id); - const group: Group = svg.append('g'); + const group: SVGGroup = svg.append('g'); group.attr('transform', 'translate(' + pieWidth / 2 + ',' + height / 2 + ')'); const { themeVariables } = globalConfig; diff --git a/packages/mermaid/src/diagrams/xychart/chartBuilder/components/axis/index.ts b/packages/mermaid/src/diagrams/xychart/chartBuilder/components/axis/index.ts index cde0d6a93c..a1ec492f61 100644 --- a/packages/mermaid/src/diagrams/xychart/chartBuilder/components/axis/index.ts +++ b/packages/mermaid/src/diagrams/xychart/chartBuilder/components/axis/index.ts @@ -1,4 +1,4 @@ -import type { Group } from '../../../../../diagram-api/types.js'; +import type { SVGGroup } from '../../../../../diagram-api/types.js'; import type { AxisDataType, ChartComponent, @@ -25,7 +25,7 @@ export function getAxis( data: AxisDataType, axisConfig: XYChartAxisConfig, axisThemeConfig: XYChartAxisThemeConfig, - tmpSVGGroup: Group + tmpSVGGroup: SVGGroup ): Axis { const textDimensionCalculator = new TextDimensionCalculatorWithFont(tmpSVGGroup); if (isBandAxisData(data)) { diff --git a/packages/mermaid/src/diagrams/xychart/chartBuilder/components/chartTitle.ts b/packages/mermaid/src/diagrams/xychart/chartBuilder/components/chartTitle.ts index bbab56bdc1..5512df9883 100644 --- a/packages/mermaid/src/diagrams/xychart/chartBuilder/components/chartTitle.ts +++ b/packages/mermaid/src/diagrams/xychart/chartBuilder/components/chartTitle.ts @@ -1,13 +1,13 @@ -import type { Group } from '../../../../diagram-api/types.js'; +import type { SVGGroup } from '../../../../diagram-api/types.js'; import type { BoundingRect, ChartComponent, Dimension, DrawableElem, Point, + XYChartConfig, XYChartData, XYChartThemeConfig, - XYChartConfig, } from '../interfaces.js'; import type { TextDimensionCalculator } from '../textDimensionCalculator.js'; import { TextDimensionCalculatorWithFont } from '../textDimensionCalculator.js'; @@ -84,7 +84,7 @@ export function getChartTitleComponent( chartConfig: XYChartConfig, chartData: XYChartData, chartThemeConfig: XYChartThemeConfig, - tmpSVGGroup: Group + tmpSVGGroup: SVGGroup ): ChartComponent { const textDimensionCalculator = new TextDimensionCalculatorWithFont(tmpSVGGroup); return new ChartTitle(textDimensionCalculator, chartConfig, chartData, chartThemeConfig); diff --git a/packages/mermaid/src/diagrams/xychart/chartBuilder/index.ts b/packages/mermaid/src/diagrams/xychart/chartBuilder/index.ts index 192eb47f62..6a1b6ec3a8 100644 --- a/packages/mermaid/src/diagrams/xychart/chartBuilder/index.ts +++ b/packages/mermaid/src/diagrams/xychart/chartBuilder/index.ts @@ -1,4 +1,4 @@ -import type { Group } from '../../../diagram-api/types.js'; +import type { SVGGroup } from '../../../diagram-api/types.js'; import type { DrawableElem, XYChartConfig, XYChartData, XYChartThemeConfig } from './interfaces.js'; import { Orchestrator } from './orchestrator.js'; @@ -7,7 +7,7 @@ export class XYChartBuilder { config: XYChartConfig, chartData: XYChartData, chartThemeConfig: XYChartThemeConfig, - tmpSVGGroup: Group + tmpSVGGroup: SVGGroup ): DrawableElem[] { const orchestrator = new Orchestrator(config, chartData, chartThemeConfig, tmpSVGGroup); return orchestrator.getDrawableElement(); diff --git a/packages/mermaid/src/diagrams/xychart/chartBuilder/orchestrator.ts b/packages/mermaid/src/diagrams/xychart/chartBuilder/orchestrator.ts index 8160d15007..8809efe265 100644 --- a/packages/mermaid/src/diagrams/xychart/chartBuilder/orchestrator.ts +++ b/packages/mermaid/src/diagrams/xychart/chartBuilder/orchestrator.ts @@ -1,3 +1,9 @@ +import type { SVGGroup } from '../../../diagram-api/types.js'; +import type { Axis } from './components/axis/index.js'; +import { getAxis } from './components/axis/index.js'; +import { getChartTitleComponent } from './components/chartTitle.js'; +import type { Plot } from './components/plot/index.js'; +import { getPlotComponent } from './components/plot/index.js'; import type { ChartComponent, DrawableElem, @@ -6,12 +12,6 @@ import type { XYChartThemeConfig, } from './interfaces.js'; import { isBarPlot } from './interfaces.js'; -import type { Axis } from './components/axis/index.js'; -import { getAxis } from './components/axis/index.js'; -import { getChartTitleComponent } from './components/chartTitle.js'; -import type { Plot } from './components/plot/index.js'; -import { getPlotComponent } from './components/plot/index.js'; -import type { Group } from '../../../diagram-api/types.js'; export class Orchestrator { private componentStore: { @@ -24,7 +24,7 @@ export class Orchestrator { private chartConfig: XYChartConfig, private chartData: XYChartData, chartThemeConfig: XYChartThemeConfig, - tmpSVGGroup: Group + tmpSVGGroup: SVGGroup ) { this.componentStore = { title: getChartTitleComponent(chartConfig, chartData, chartThemeConfig, tmpSVGGroup), diff --git a/packages/mermaid/src/diagrams/xychart/chartBuilder/textDimensionCalculator.ts b/packages/mermaid/src/diagrams/xychart/chartBuilder/textDimensionCalculator.ts index 8049bf5272..0f118fc92d 100644 --- a/packages/mermaid/src/diagrams/xychart/chartBuilder/textDimensionCalculator.ts +++ b/packages/mermaid/src/diagrams/xychart/chartBuilder/textDimensionCalculator.ts @@ -1,13 +1,13 @@ -import type { Dimension } from './interfaces.js'; +import type { SVGGroup } from '../../../diagram-api/types.js'; import { computeDimensionOfText } from '../../../rendering-util/createText.js'; -import type { Group } from '../../../diagram-api/types.js'; +import type { Dimension } from './interfaces.js'; export interface TextDimensionCalculator { getMaxDimension(texts: string[], fontSize: number): Dimension; } export class TextDimensionCalculatorWithFont implements TextDimensionCalculator { - constructor(private parentGroup: Group) {} + constructor(private parentGroup: SVGGroup) {} getMaxDimension(texts: string[], fontSize: number): Dimension { if (!this.parentGroup) { return { diff --git a/packages/mermaid/src/diagrams/xychart/xychartDb.ts b/packages/mermaid/src/diagrams/xychart/xychartDb.ts index 23b90724cd..fb2435df2d 100644 --- a/packages/mermaid/src/diagrams/xychart/xychartDb.ts +++ b/packages/mermaid/src/diagrams/xychart/xychartDb.ts @@ -1,3 +1,9 @@ +import * as configApi from '../../config.js'; +import defaultConfig from '../../defaultConfig.js'; +import type { SVGGroup } from '../../diagram-api/types.js'; +import { getThemeVariables } from '../../themes/theme-default.js'; +import { cleanAndMerge } from '../../utils.js'; +import { sanitizeText } from '../common/common.js'; import { clear as commonClear, getAccDescription, @@ -7,11 +13,6 @@ import { setAccTitle, setDiagramTitle, } from '../common/commonDb.js'; -import * as configApi from '../../config.js'; -import defaultConfig from '../../defaultConfig.js'; -import { getThemeVariables } from '../../themes/theme-default.js'; -import { cleanAndMerge } from '../../utils.js'; -import { sanitizeText } from '../common/common.js'; import { XYChartBuilder } from './chartBuilder/index.js'; import type { DrawableElem, @@ -21,11 +22,10 @@ import type { XYChartThemeConfig, } from './chartBuilder/interfaces.js'; import { isBandAxisData, isLinearAxisData } from './chartBuilder/interfaces.js'; -import type { Group } from '../../diagram-api/types.js'; let plotIndex = 0; -let tmpSVGGroup: Group; +let tmpSVGGroup: SVGGroup; let xyChartConfig: XYChartConfig = getChartDefaultConfig(); let xyChartThemeConfig: XYChartThemeConfig = getChartDefaultThemeConfig(); @@ -75,7 +75,7 @@ function textSanitizer(text: string) { return sanitizeText(text.trim(), config); } -function setTmpSVGG(SVGG: Group) { +function setTmpSVGG(SVGG: SVGGroup) { tmpSVGGroup = SVGG; } function setOrientation(orientation: string) { diff --git a/packages/mermaid/src/internals.ts b/packages/mermaid/src/internals.ts index cebcd4ace6..7cc058cb3a 100644 --- a/packages/mermaid/src/internals.ts +++ b/packages/mermaid/src/internals.ts @@ -29,3 +29,5 @@ export const internalHelpers = { log, positionEdgeLabel, }; + +export type InternalHelpers = typeof internalHelpers; diff --git a/packages/mermaid/src/mermaid.ts b/packages/mermaid/src/mermaid.ts index 90b3b74b81..43fc5bd31b 100644 --- a/packages/mermaid/src/mermaid.ts +++ b/packages/mermaid/src/mermaid.ts @@ -7,20 +7,19 @@ import type { MermaidConfig } from './config.type.js'; import { detectType, registerLazyLoadedDiagrams } from './diagram-api/detectType.js'; import { addDiagrams } from './diagram-api/diagram-orchestration.js'; import { loadRegisteredDiagrams } from './diagram-api/loadDiagram.js'; -import type { ExternalDiagramDefinition } from './diagram-api/types.js'; +import type { ExternalDiagramDefinition, SVG, SVGGroup } from './diagram-api/types.js'; import type { ParseErrorFunction } from './Diagram.js'; import type { UnknownDiagramError } from './errors.js'; -import type { internalHelpers } from './internals.js'; +import type { InternalHelpers } from './internals.js'; import { log } from './logger.js'; import { mermaidAPI } from './mermaidAPI.js'; -import type { LayoutLoaderDefinition } from './rendering-util/render.js'; +import type { LayoutLoaderDefinition, RenderOptions } from './rendering-util/render.js'; import { registerLayoutLoaders } from './rendering-util/render.js'; import type { LayoutData } from './rendering-util/types.js'; import type { ParseOptions, ParseResult, RenderResult } from './types.js'; import type { DetailedError } from './utils.js'; import utils, { isDetailedError } from './utils.js'; -type InternalHelpers = typeof internalHelpers; export type { DetailedError, ExternalDiagramDefinition, @@ -31,7 +30,10 @@ export type { ParseErrorFunction, ParseOptions, ParseResult, + RenderOptions, RenderResult, + SVG, + SVGGroup, UnknownDiagramError, }; diff --git a/packages/mermaid/src/rendering-util/createText.ts b/packages/mermaid/src/rendering-util/createText.ts index 12d81715ff..c6ce204ba2 100644 --- a/packages/mermaid/src/rendering-util/createText.ts +++ b/packages/mermaid/src/rendering-util/createText.ts @@ -1,16 +1,16 @@ /* eslint-disable @typescript-eslint/no-explicit-any */ // @ts-nocheck TODO: Fix types -import type { MermaidConfig } from '../config.type.js'; -import type { Group } from '../diagram-api/types.js'; +import { getConfig } from '$root/diagram-api/diagramAPI.js'; +import common, { hasKatex, renderKatex } from '$root/diagrams/common/common.js'; import { select } from 'd3'; +import type { MermaidConfig } from '../config.type.js'; +import type { SVGGroup } from '../diagram-api/types.js'; import type { D3TSpanElement, D3TextElement } from '../diagrams/common/commonTypes.js'; import { log } from '../logger.js'; import { markdownToHTML, markdownToLines } from '../rendering-util/handle-markdown-text.js'; import { decodeEntities } from '../utils.js'; import { splitLineToFitWidth } from './splitText.js'; import type { MarkdownLine, MarkdownWord } from './types.js'; -import common, { hasKatex, renderKatex } from '$root/diagrams/common/common.js'; -import { getConfig } from '$root/diagram-api/diagramAPI.js'; function applyStyle(dom, styleFn) { if (styleFn) { @@ -82,7 +82,7 @@ function computeWidthOfText(parentNode: any, lineHeight: number, line: MarkdownL } export function computeDimensionOfText( - parentNode: Group, + parentNode: SVGGroup, lineHeight: number, text: string ): DOMRect | undefined { From 3593fa63dbc456f2adb285129006a000d531415a Mon Sep 17 00:00:00 2001 From: Sidharth Vinod Date: Wed, 21 Aug 2024 17:41:11 +0530 Subject: [PATCH 768/789] fix: Type of render Make optional parameter an object --- packages/mermaid-layout-elk/src/render.ts | 28 ++++-------------- packages/mermaid/src/rendering-util/render.ts | 29 ++++++++++--------- 2 files changed, 21 insertions(+), 36 deletions(-) diff --git a/packages/mermaid-layout-elk/src/render.ts b/packages/mermaid-layout-elk/src/render.ts index 533a72ddb8..3705c975b1 100644 --- a/packages/mermaid-layout-elk/src/render.ts +++ b/packages/mermaid-layout-elk/src/render.ts @@ -1,17 +1,11 @@ import { curveLinear } from 'd3'; import ELK from 'elkjs/lib/elk.bundled.js'; -import type { InternalHelpers, LayoutData } from 'mermaid'; +import type { InternalHelpers, LayoutData, RenderOptions, SVG, SVGGroup } from 'mermaid'; import { type TreeData, findCommonAncestor } from './find-common-ancestor.js'; export const render = async ( data4Layout: LayoutData, - svg: { - insert: (arg0: string) => { - (): any; - new (): any; - attr: { (arg0: string, arg1: string): any; new (): any }; - }; - }, + svg: SVG, element: any, { common, @@ -26,7 +20,7 @@ export const render = async ( log, positionEdgeLabel, }: InternalHelpers, - algorithm: any + { algorithm }: RenderOptions ) => { const nodeDb: Record = {}; const portPos: Record = {}; @@ -135,13 +129,7 @@ export const render = async ( relY: number, nodeArray: any[], svg: any, - subgraphsEl: { - insert: (arg0: string) => { - (): any; - new (): any; - attr: { (arg0: string, arg1: string): any; new (): any }; - }; - }, + subgraphsEl: SVGGroup, depth: number ) => { await Promise.all( @@ -338,13 +326,7 @@ export const render = async ( children?: never[]; edges: any; }, - svg: { - insert: (arg0: string) => { - (): any; - new (): any; - attr: { (arg0: string, arg1: string): any; new (): any }; - }; - } + svg: SVG ) { log.info('abc78 DAGA edges = ', dataForLayout); const edges = dataForLayout.edges; diff --git a/packages/mermaid/src/rendering-util/render.ts b/packages/mermaid/src/rendering-util/render.ts index c2cbc994cf..8b28fe82b8 100644 --- a/packages/mermaid/src/rendering-util/render.ts +++ b/packages/mermaid/src/rendering-util/render.ts @@ -1,14 +1,21 @@ +import type { SVG } from '$root/diagram-api/types.js'; +import type { InternalHelpers } from '$root/internals.js'; import { internalHelpers } from '$root/internals.js'; import { log } from '$root/logger.js'; +import type { LayoutData } from './types.js'; + +export interface RenderOptions { + algorithm?: string; +} export interface LayoutAlgorithm { render( - data4Layout: any, - svg: any, + layoutData: LayoutData, + svg: SVG, element: any, - helpers: typeof internalHelpers, - algorithm?: string - ): any; + helpers: InternalHelpers, + options?: RenderOptions + ): Promise; } export type LayoutLoader = () => Promise; @@ -38,20 +45,16 @@ const registerDefaultLayoutLoaders = () => { registerDefaultLayoutLoaders(); -export const render = async (data4Layout: any, svg: any, element: any) => { +export const render = async (data4Layout: LayoutData, svg: SVG, element: any) => { if (!(data4Layout.layoutAlgorithm in layoutAlgorithms)) { throw new Error(`Unknown layout algorithm: ${data4Layout.layoutAlgorithm}`); } const layoutDefinition = layoutAlgorithms[data4Layout.layoutAlgorithm]; const layoutRenderer = await layoutDefinition.loader(); - return layoutRenderer.render( - data4Layout, - svg, - element, - internalHelpers, - layoutDefinition.algorithm - ); + return layoutRenderer.render(data4Layout, svg, element, internalHelpers, { + algorithm: layoutDefinition.algorithm, + }); }; /** From 8ffd198d8bff3a1f8e6decb9e787d32f596db5dc Mon Sep 17 00:00:00 2001 From: "autofix-ci[bot]" <114827586+autofix-ci[bot]@users.noreply.github.com> Date: Wed, 21 Aug 2024 12:16:35 +0000 Subject: [PATCH 769/789] [autofix.ci] apply automated fixes --- .../mermaid.LayoutLoaderDefinition.md | 6 ++--- .../setup/interfaces/mermaid.Mermaid.md | 26 +++++++++---------- .../setup/interfaces/mermaid.RenderOptions.md | 19 ++++++++++++++ .../setup/interfaces/mermaid.RunOptions.md | 8 +++--- docs/config/setup/modules/mermaid.md | 25 ++++++++++++++++-- 5 files changed, 62 insertions(+), 22 deletions(-) create mode 100644 docs/config/setup/interfaces/mermaid.RenderOptions.md diff --git a/docs/config/setup/interfaces/mermaid.LayoutLoaderDefinition.md b/docs/config/setup/interfaces/mermaid.LayoutLoaderDefinition.md index 111d1cbc28..441eb9209f 100644 --- a/docs/config/setup/interfaces/mermaid.LayoutLoaderDefinition.md +++ b/docs/config/setup/interfaces/mermaid.LayoutLoaderDefinition.md @@ -16,7 +16,7 @@ #### Defined in -[packages/mermaid/src/rendering-util/render.ts:18](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/rendering-util/render.ts#L18) +[packages/mermaid/src/rendering-util/render.ts:25](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/rendering-util/render.ts#L25) --- @@ -26,7 +26,7 @@ #### Defined in -[packages/mermaid/src/rendering-util/render.ts:17](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/rendering-util/render.ts#L17) +[packages/mermaid/src/rendering-util/render.ts:24](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/rendering-util/render.ts#L24) --- @@ -36,4 +36,4 @@ #### Defined in -[packages/mermaid/src/rendering-util/render.ts:16](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/rendering-util/render.ts#L16) +[packages/mermaid/src/rendering-util/render.ts:23](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/rendering-util/render.ts#L23) diff --git a/docs/config/setup/interfaces/mermaid.Mermaid.md b/docs/config/setup/interfaces/mermaid.Mermaid.md index cd700ee2e0..09fab149cd 100644 --- a/docs/config/setup/interfaces/mermaid.Mermaid.md +++ b/docs/config/setup/interfaces/mermaid.Mermaid.md @@ -28,7 +28,7 @@ page. #### Defined in -[packages/mermaid/src/mermaid.ts:433](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/mermaid.ts#L433) +[packages/mermaid/src/mermaid.ts:435](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/mermaid.ts#L435) --- @@ -59,7 +59,7 @@ A graph definition key #### Defined in -[packages/mermaid/src/mermaid.ts:435](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/mermaid.ts#L435) +[packages/mermaid/src/mermaid.ts:437](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/mermaid.ts#L437) --- @@ -89,7 +89,7 @@ Use [initialize](mermaid.Mermaid.md#initialize) and [run](mermaid.Mermaid.md#run #### Defined in -[packages/mermaid/src/mermaid.ts:428](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/mermaid.ts#L428) +[packages/mermaid/src/mermaid.ts:430](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/mermaid.ts#L430) --- @@ -116,7 +116,7 @@ This function should be called before the run function. #### Defined in -[packages/mermaid/src/mermaid.ts:432](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/mermaid.ts#L432) +[packages/mermaid/src/mermaid.ts:434](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/mermaid.ts#L434) --- @@ -130,7 +130,7 @@ Use [parse](mermaid.Mermaid.md#parse) and [render](mermaid.Mermaid.md#render) in #### Defined in -[packages/mermaid/src/mermaid.ts:422](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/mermaid.ts#L422) +[packages/mermaid/src/mermaid.ts:424](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/mermaid.ts#L424) --- @@ -180,7 +180,7 @@ Error if the diagram is invalid and parseOptions.suppressErrors is false or not #### Defined in -[packages/mermaid/src/mermaid.ts:423](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/mermaid.ts#L423) +[packages/mermaid/src/mermaid.ts:425](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/mermaid.ts#L425) --- @@ -190,7 +190,7 @@ Error if the diagram is invalid and parseOptions.suppressErrors is false or not #### Defined in -[packages/mermaid/src/mermaid.ts:417](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/mermaid.ts#L417) +[packages/mermaid/src/mermaid.ts:419](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/mermaid.ts#L419) --- @@ -218,7 +218,7 @@ Used to register external diagram types. #### Defined in -[packages/mermaid/src/mermaid.ts:431](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/mermaid.ts#L431) +[packages/mermaid/src/mermaid.ts:433](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/mermaid.ts#L433) --- @@ -242,7 +242,7 @@ Used to register external diagram types. #### Defined in -[packages/mermaid/src/mermaid.ts:430](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/mermaid.ts#L430) +[packages/mermaid/src/mermaid.ts:432](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/mermaid.ts#L432) --- @@ -268,7 +268,7 @@ Used to register external diagram types. #### Defined in -[packages/mermaid/src/mermaid.ts:424](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/mermaid.ts#L424) +[packages/mermaid/src/mermaid.ts:426](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/mermaid.ts#L426) --- @@ -316,7 +316,7 @@ Renders the mermaid diagrams #### Defined in -[packages/mermaid/src/mermaid.ts:429](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/mermaid.ts#L429) +[packages/mermaid/src/mermaid.ts:431](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/mermaid.ts#L431) --- @@ -351,7 +351,7 @@ to it (eg. dart interop wrapper). (Initially there is no parseError member of me #### Defined in -[packages/mermaid/src/mermaid.ts:434](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/mermaid.ts#L434) +[packages/mermaid/src/mermaid.ts:436](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/mermaid.ts#L436) --- @@ -361,4 +361,4 @@ to it (eg. dart interop wrapper). (Initially there is no parseError member of me #### Defined in -[packages/mermaid/src/mermaid.ts:416](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/mermaid.ts#L416) +[packages/mermaid/src/mermaid.ts:418](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/mermaid.ts#L418) diff --git a/docs/config/setup/interfaces/mermaid.RenderOptions.md b/docs/config/setup/interfaces/mermaid.RenderOptions.md new file mode 100644 index 0000000000..9319cb3b1f --- /dev/null +++ b/docs/config/setup/interfaces/mermaid.RenderOptions.md @@ -0,0 +1,19 @@ +> **Warning** +> +> ## THIS IS AN AUTOGENERATED FILE. DO NOT EDIT. +> +> ## Please edit the corresponding file in [/packages/mermaid/src/docs/config/setup/interfaces/mermaid.RenderOptions.md](../../../../packages/mermaid/src/docs/config/setup/interfaces/mermaid.RenderOptions.md). + +# Interface: RenderOptions + +[mermaid](../modules/mermaid.md).RenderOptions + +## Properties + +### algorithm + +• `Optional` **algorithm**: `string` + +#### Defined in + +[packages/mermaid/src/rendering-util/render.ts:8](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/rendering-util/render.ts#L8) diff --git a/docs/config/setup/interfaces/mermaid.RunOptions.md b/docs/config/setup/interfaces/mermaid.RunOptions.md index 10ad6e63c1..aae004d6d5 100644 --- a/docs/config/setup/interfaces/mermaid.RunOptions.md +++ b/docs/config/setup/interfaces/mermaid.RunOptions.md @@ -18,7 +18,7 @@ The nodes to render. If this is set, `querySelector` will be ignored. #### Defined in -[packages/mermaid/src/mermaid.ts:46](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/mermaid.ts#L46) +[packages/mermaid/src/mermaid.ts:48](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/mermaid.ts#L48) --- @@ -44,7 +44,7 @@ A callback to call after each diagram is rendered. #### Defined in -[packages/mermaid/src/mermaid.ts:50](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/mermaid.ts#L50) +[packages/mermaid/src/mermaid.ts:52](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/mermaid.ts#L52) --- @@ -56,7 +56,7 @@ The query selector to use when finding elements to render. Default: `".mermaid"` #### Defined in -[packages/mermaid/src/mermaid.ts:42](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/mermaid.ts#L42) +[packages/mermaid/src/mermaid.ts:44](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/mermaid.ts#L44) --- @@ -68,4 +68,4 @@ If `true`, errors will be logged to the console, but not thrown. Default: `false #### Defined in -[packages/mermaid/src/mermaid.ts:54](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/mermaid.ts#L54) +[packages/mermaid/src/mermaid.ts:56](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/mermaid.ts#L56) diff --git a/docs/config/setup/modules/mermaid.md b/docs/config/setup/modules/mermaid.md index c4d071a7eb..bdaeb05e1e 100644 --- a/docs/config/setup/modules/mermaid.md +++ b/docs/config/setup/modules/mermaid.md @@ -20,6 +20,7 @@ - [MermaidConfig](../interfaces/mermaid.MermaidConfig.md) - [ParseOptions](../interfaces/mermaid.ParseOptions.md) - [ParseResult](../interfaces/mermaid.ParseResult.md) +- [RenderOptions](../interfaces/mermaid.RenderOptions.md) - [RenderResult](../interfaces/mermaid.RenderResult.md) - [RunOptions](../interfaces/mermaid.RunOptions.md) @@ -31,7 +32,7 @@ #### Defined in -[packages/mermaid/src/mermaid.ts:23](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/mermaid.ts#L23) +[packages/mermaid/src/internals.ts:33](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/internals.ts#L33) --- @@ -58,6 +59,26 @@ [packages/mermaid/src/Diagram.ts:10](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/Diagram.ts#L10) +--- + +### SVG + +Ƭ **SVG**: `d3.Selection`<`SVGSVGElement`, `unknown`, `Element` | `null`, `unknown`> + +#### Defined in + +[packages/mermaid/src/diagram-api/types.ts:130](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/diagram-api/types.ts#L130) + +--- + +### SVGGroup + +Ƭ **SVGGroup**: `d3.Selection`<`SVGGElement`, `unknown`, `Element` | `null`, `unknown`> + +#### Defined in + +[packages/mermaid/src/diagram-api/types.ts:132](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/diagram-api/types.ts#L132) + ## Variables ### default @@ -66,4 +87,4 @@ #### Defined in -[packages/mermaid/src/mermaid.ts:438](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/mermaid.ts#L438) +[packages/mermaid/src/mermaid.ts:440](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/mermaid.ts#L440) From 10c25348f3e972ce29847b40f12e1c33bc68d661 Mon Sep 17 00:00:00 2001 From: Knut Sveidqvist Date: Wed, 21 Aug 2024 14:42:44 +0200 Subject: [PATCH 770/789] #5237 Removing unused code --- packages/mermaid-layout-elk/src/render.ts | 68 ----------------------- 1 file changed, 68 deletions(-) diff --git a/packages/mermaid-layout-elk/src/render.ts b/packages/mermaid-layout-elk/src/render.ts index 3705c975b1..aaae7d9779 100644 --- a/packages/mermaid-layout-elk/src/render.ts +++ b/packages/mermaid-layout-elk/src/render.ts @@ -28,37 +28,10 @@ export const render = async ( const addVertex = async (nodeEl: any, graph: { children: any[] }, nodeArr: any, node: any) => { const labelData: any = { width: 0, height: 0 }; - // const ports = [ - // { - // id: node.id + '-west', - // layoutOptions: { - // 'port.side': 'WEST', - // }, - // }, - // { - // id: node.id + '-east', - // layoutOptions: { - // 'port.side': 'EAST', - // }, - // }, - // { - // id: node.id + '-south', - // layoutOptions: { - // 'port.side': 'SOUTH', - // }, - // }, - // { - // id: node.id + '-north', - // layoutOptions: { - // 'port.side': 'NORTH', - // }, - // }, - // ]; let boundingBox; const child = { ...node, - // ports: node.shape === 'diamond' ? ports : [], }; graph.children.push(child); nodeDb[node.id] = child; @@ -229,21 +202,6 @@ export const render = async ( } const result = edgeDirection === 'in' ? portPos[node].inPosition : portPos[node].outPosition; - if (edgeDirection === 'in') { - // @ts-ignore TODO: fix this - portPos[node].inPosition = getNextPosition( - portPos[node].inPosition, - edgeDirection, - graphDirection - ); - } else { - // @ts-ignore TODO: fix this - portPos[node].outPosition = getNextPosition( - portPos[node].outPosition, - edgeDirection, - graphDirection - ); - } return result; }; @@ -1067,32 +1025,6 @@ export const render = async ( edge.y = edge.labels[0].y + offset.y + edge.labels[0].height / 2; positionEdgeLabel(edge, paths); } - // const src = edge.sections[0].startPoint; - // const dest = edge.sections[0].endPoint; - // const segments = edge.sections[0].bendPoints ? edge.sections[0].bendPoints : []; - - // const segPoints = segments.map((segment) => { - // return { x: segment.x + offset.x, y: segment.y + offset.y }; - // }); - // edge.points = [ - // { x: src.x + offset.x, y: src.y + offset.y }, - // ...segPoints, - // { x: dest.x + offset.x, y: dest.y + offset.y }, - // ]; - // const paths = insertEdge( - // edgesEl, - // edge, - // clusterDb, - // data4Layout.type, - // startNode, - // endNode, - // data4Layout.diagramId - // ); - // log.info('APA12 edge points after insert', JSON.stringify(edge.points)); - - // edge.x = edge.labels[0].x + offset.x + edge.labels[0].width / 2; - // edge.y = edge.labels[0].y + offset.y + edge.labels[0].height / 2; - // positionEdgeLabel(edge, paths); } ); }; From 9134e1c837f5b8a0731caf06c5557b8af3b401ee Mon Sep 17 00:00:00 2001 From: Knut Sveidqvist Date: Wed, 21 Aug 2024 16:11:59 +0200 Subject: [PATCH 771/789] #5237 Clean and fix for issue with edges to the diamond shape --- cypress/platform/knsv2.html | 24 ++++--- packages/mermaid-layout-elk/src/render.ts | 66 ++++--------------- .../rendering-elements/edges.js | 21 ++++++ .../mermaid/src/schemas/config.schema.yaml | 2 +- 4 files changed, 51 insertions(+), 62 deletions(-) diff --git a/cypress/platform/knsv2.html b/cypress/platform/knsv2.html index 4cd42bd247..269ee0f0e7 100644 --- a/cypress/platform/knsv2.html +++ b/cypress/platform/knsv2.html @@ -86,14 +86,20 @@ --- config: look: handDrawn - flowchart: - htmlLabels: false + layout: elk + elk: + nodePlacementStrategy: BRANDES_KOEPF --- -flowchart - A[I am a long text, where do I go??? handdrawn - false] +flowchart TB + %% A --> C + B -- sdf sdf --> C{"Evaluate"} + C --> n4["salkdfjh akljd lkasdjf lkashj lksjadf klasdh"] + C --> F + +
    -
    +      
     ---
     config:
       look: handdrawn
    @@ -106,7 +112,7 @@
           >
         
         
    -
    +      
     ---
     config:
       flowchart:
    @@ -116,7 +122,7 @@
           A[I am a long text, where do I go??? classic - false]
     
    -
    +      
     ---
     config:
       flowchart:
    @@ -159,8 +165,8 @@